Skip to content

Commit f3c75e7

Browse files
committed
pinctrl: intel: Set default bias in case no particular value given
When GPIO library asks pin control to set the bias, it doesn't pass any value of it and argument is considered boolean (and this is true for ACPI GpioIo() / GpioInt() resources, by the way). Thus, individual drivers must behave well, when they got the resistance value of 1 Ohm, i.e. transforming it to sane default. In case of Intel pin control hardware the 5 kOhm sounds plausible because on one hand it's a minimum of resistors present in all hardware generations and at the same time it's high enough to minimize leakage current (will be only 200 uA with the above choice). Fixes: e57725e ("pinctrl: intel: Add support for hardware debouncer") Reported-by: Jamie McClymont <jamie@kwiius.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
1 parent dd26209 commit f3c75e7

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

drivers/pinctrl/intel/pinctrl-intel.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,10 @@ static int intel_config_set_pull(struct intel_pinctrl *pctrl, unsigned int pin,
683683

684684
value |= PADCFG1_TERM_UP;
685685

686+
/* Set default strength value in case none is given */
687+
if (arg == 1)
688+
arg = 5000;
689+
686690
switch (arg) {
687691
case 20000:
688692
value |= PADCFG1_TERM_20K << PADCFG1_TERM_SHIFT;
@@ -705,6 +709,10 @@ static int intel_config_set_pull(struct intel_pinctrl *pctrl, unsigned int pin,
705709
case PIN_CONFIG_BIAS_PULL_DOWN:
706710
value &= ~(PADCFG1_TERM_UP | PADCFG1_TERM_MASK);
707711

712+
/* Set default strength value in case none is given */
713+
if (arg == 1)
714+
arg = 5000;
715+
708716
switch (arg) {
709717
case 20000:
710718
value |= PADCFG1_TERM_20K << PADCFG1_TERM_SHIFT;

0 commit comments

Comments
 (0)