Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1519530

[PATCH v2 1/3] pinctrl: sunxi: Fix PIN_CONFIG_BIAS_PULL_{DOWN,UP} argument

From Chen-Yu Tsai <wens@csie.org>
Newsgroups linux.kernel
Subject [PATCH v2 1/3] pinctrl: sunxi: Fix PIN_CONFIG_BIAS_PULL_{DOWN,UP} argument
Date 2016-11-11 03:50 +0100
Message-ID <sCa4F-6Jf-11@gated-at.bofh.it> (permalink)
References <sCa4F-6Jf-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


According to pinconf-generic.h, the argument for
PIN_CONFIG_BIAS_PULL_{DOWN,UP} is non-zero if the bias is enabled
with a pull up/down resistor, zero if it is directly connected
to VDD or ground.

Since Allwinner hardware uses a weak pull resistor internally,
the argument should be 1.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 drivers/pinctrl/sunxi/pinctrl-sunxi.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index e199d95af8c0..e04edda8629d 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -291,12 +291,16 @@ static unsigned long *sunxi_pctrl_build_pin_config(struct device_node *node,
 
 	if (sunxi_pctrl_has_bias_prop(node)) {
 		int pull = sunxi_pctrl_parse_bias_prop(node);
+		int arg = 0;
 		if (pull < 0) {
 			ret = pull;
 			goto err_free;
 		}
 
-		pinconfig[idx++] = pinconf_to_config_packed(pull, 0);
+		if (pull != PIN_CONFIG_BIAS_DISABLE)
+			arg = 1; /* hardware uses weak pull resistors */
+
+		pinconfig[idx++] = pinconf_to_config_packed(pull, arg);
 	}
 
 
-- 
2.10.2

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/3] pinctrl: sunxi: Support generic pinconf functions Chen-Yu Tsai <wens@csie.org> - 2016-11-11 03:50 +0100
  [PATCH v2 3/3] pinctrl: sunxi: Make sunxi_pconf_group_set use sunxi_pconf_reg helper Chen-Yu Tsai <wens@csie.org> - 2016-11-11 03:50 +0100
    Re: [PATCH v2 3/3] pinctrl: sunxi: Make sunxi_pconf_group_set use  sunxi_pconf_reg helper Maxime Ripard <maxime.ripard@free-electrons.com> - 2016-11-11 09:40 +0100
      Re: [PATCH v2 3/3] pinctrl: sunxi: Make sunxi_pconf_group_set use  sunxi_pconf_reg helper Chen-Yu Tsai <wens@csie.org> - 2016-11-11 09:50 +0100
  [PATCH v2 2/3] pinctrl: sunxi: Add support for fetching pinconf settings from hardware Chen-Yu Tsai <wens@csie.org> - 2016-11-11 03:50 +0100
    Re: [PATCH v2 2/3] pinctrl: sunxi: Add support for fetching pinconf  settings from hardware Maxime Ripard <maxime.ripard@free-electrons.com> - 2016-11-11 09:40 +0100
      Re: [PATCH v2 2/3] pinctrl: sunxi: Add support for fetching pinconf  settings from hardware Chen-Yu Tsai <wens@csie.org> - 2016-11-11 09:40 +0100
  [PATCH v2 1/3] pinctrl: sunxi: Fix PIN_CONFIG_BIAS_PULL_{DOWN,UP} argument Chen-Yu Tsai <wens@csie.org> - 2016-11-11 03:50 +0100
    Re: [PATCH v2 1/3] pinctrl: sunxi: Fix  PIN_CONFIG_BIAS_PULL_{DOWN,UP} argument Maxime Ripard <maxime.ripard@free-electrons.com> - 2016-11-11 09:40 +0100
    Re: [PATCH v2 1/3] pinctrl: sunxi: Fix PIN_CONFIG_BIAS_PULL_{DOWN,UP} argument Linus Walleij <linus.walleij@linaro.org> - 2016-11-15 10:20 +0100

csiph-web