pinctrl: qcom: ipq4019: add open drain support
Subsystems (6)
PATCH 1/2 pinctrl: qcom: ipq4019: add open drain support
From: Jaiganesh Narayanan <[email protected]>
[ Brian: adapted from from the Chromium OS kernel used on IPQ4019-based
WiFi APs. ]
--- drivers/pinctrl/qcom/pinctrl-ipq4019.c | 1 + drivers/pinctrl/qcom/pinctrl-msm.c | 13 +++++++++++++ drivers/pinctrl/qcom/pinctrl-msm.h | 2 ++ 3 files changed, 16 insertions(+)
drivers/pinctrl/qcom/pinctrl-ipq4019.c +1 -0
@@ -254,6 +254,7 @@ DECLARE_QCA_GPIO_PINS(99); .mux_bit = 2, \ .pull_bit = 0, \ .drv_bit = 6, \ + .od_bit = 12, \ .oe_bit = 9, \ .in_bit = 0, \ .out_bit = 1, \
drivers/pinctrl/qcom/pinctrl-msm.c +13 -0
@@ -233,6 +233,10 @@ static int msm_config_reg(struct msm_pinctrl *pctrl, *bit = g->pull_bit; *mask =3 ;break ; +case PIN_CONFIG_DRIVE_OPEN_DRAIN : + *bit = g->od_bit; + *mask =1 ; +break ;case PIN_CONFIG_DRIVE_STRENGTH : *bit = g->drv_bit; *mask =7 ;
@@ -310,6 +314,12 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,if (!arg)return -EINVAL ;break ; +case PIN_CONFIG_DRIVE_OPEN_DRAIN : +/* Pin is not open-drain */ +if (!arg) +return -EINVAL ; + arg =1 ; +break ;case PIN_CONFIG_DRIVE_STRENGTH : arg =msm_regval_to_drive (arg);break ;
@@ -382,6 +392,9 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,else arg =MSM_PULL_UP ;break ; +case PIN_CONFIG_DRIVE_OPEN_DRAIN : + arg =1 ; +break ;case PIN_CONFIG_DRIVE_STRENGTH :/* Check for invalid values */ if (arg >16 || arg <2 || (arg %2 ) !=0 )
drivers/pinctrl/qcom/pinctrl-msm.h +2 -0
@@ -38,6 +38,7 @@ struct msm_function {* @mux_bit: Offset in @ctl_reg for the pinmux function selection. * @pull_bit: Offset in @ctl_reg for the bias configuration. * @drv_bit: Offset in @ctl_reg for the drive strength configuration. +* @od_bit: Offset in @ctl_reg for controlling open drain. * @oe_bit: Offset in @ctl_reg for controlling output enable. * @in_bit: Offset in @io_reg for the input bit value. * @out_bit: Offset in @io_reg for the output bit value.
@@ -75,6 +76,7 @@ struct msm_pingroup { unsigned pull_bit:5; unsigned drv_bit:5; + unsigned od_bit:5; unsigned oe_bit:5; unsigned in_bit:5; unsigned out_bit:5;
Signature · 1 line
2.17.1
PATCH 2/2 dt-bindings: pinctrl: qcom: add drive-open-drain to ipq4019
We've added drive-open-drain support, so note it in the DT binding.
--- .../devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt +2 -1
@@ -44,7 +44,8 @@ information about e.g. the mux function. The following generic properties as defined in pinctrl-bindings.txt are valid to specify in a pin configuration subnode: - pins, function, bias-disable, bias-pull-down, bias-pull-up, drive-strength. + pins, function, bias-disable, bias-pull-down, bias-pull-up, drive-open-drain, + drive-strength. Non-empty subnodes must specify the 'pins' property. Note that not all properties are valid for all pins.
Signature · 1 line
2.17.1
Re: [PATCH 2/2] dt-bindings: pinctrl: qcom: add drive-open-drain to ipq4019
Quoted 7 lines · Brian Norris
We've added drive-open-drain support, so note it in the DT binding.
Signed-off-by Brian Norris <[email protected]>--- .../devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Quoted 6 lines · Brian Norris
From: Jaiganesh Narayanan <[email protected]>
Signed-off-by Jaiganesh Narayanan <[email protected]>[ Brian: adapted from from the Chromium OS kernel used on IPQ4019-based
WiFi APs. ]Signed-off-by Brian Norris <[email protected]>
Patch applied because this looks innocent and Rob
ACKed the binding.
If Bjorn opposes, I will simply pull the patch out again.
Yours,
Linus Walleij
+ Bjorn for real
- Bjorn @mistyped-domain
Quoted 5 lines · Linus Walleij
Quoted 2 lines · Brian Norris
From: Jaiganesh Narayanan <[email protected]>
Quoted 7 lines
Quoted 4 lines
Signed-off-by Jaiganesh Narayanan <[email protected]>[ Brian: adapted from from the Chromium OS kernel used on IPQ4019-based
WiFi APs. ]Signed-off-by Brian Norris <[email protected]>Patch applied because this looks innocent and Rob
ACKed the binding.
Thanks!
Quoted 1 line
If Bjorn opposes, I will simply pull the patch out again.
Unfortunately, depending on his mail subscriptions and filters, Bjorn may not have had much of a chance there. I failed to notice that I deleted the "g" in ".org", so my mail didn't deliver to him.
Bjorn: for reference, here are archive links to the entire patch set:
https://lore.kernel.org/linux-gpio/[email protected]/
https://lore.kernel.org/linux-gpio/[email protected]/
Brian