diff mbox series

[v4,03/10] dt-bindings: gpio: gpio-axp209: add pinctrl features

Message ID 7fdc42fd2d3572069292ebe1376bb446beb4d8a9.1512135804.git-series.quentin.schulz@free-electrons.com
State New
Headers show
Series add pinmuxing support for pins in AXP209 and AXP813 PMICs | expand

Commit Message

Quentin Schulz Dec. 1, 2017, 1:44 p.m. UTC
The X-Powers AXP209 has 3 GPIOs. GPIO0/1 can each act either as a GPIO,
an ADC or a LDO regulator. GPIO2 can only act as a GPIO.

This adds the pinctrl features to the driver so GPIO0/1 can be used as
ADC or LDO regulator.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>

Acked-by: Rob Herring <robh@kernel.org>

---
 Documentation/devicetree/bindings/gpio/gpio-axp209.txt | 28 ++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

-- 
git-series 0.9.1

Comments

Linus Walleij Dec. 2, 2017, 3:55 p.m. UTC | #1
On Fri, Dec 1, 2017 at 2:44 PM, Quentin Schulz
<quentin.schulz@free-electrons.com> wrote:

> The X-Powers AXP209 has 3 GPIOs. GPIO0/1 can each act either as a GPIO,

> an ADC or a LDO regulator. GPIO2 can only act as a GPIO.

>

> This adds the pinctrl features to the driver so GPIO0/1 can be used as

> ADC or LDO regulator.

>

> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>

> Acked-by: Rob Herring <robh@kernel.org>


Please add a reference to the generic pinctrl bindings and state that you
use them and how.

pinctrl/pinctrl-bindings.txt

> +The GPIOs can be muxed to other functions and therefore, must be a subnode of

> +axp_gpio.

> +

> +Example:

> +

> +&axp_gpio {

> +       gpio0_adc: gpio0-adc {

> +               pins = "GPIO0";

> +               function = "adc";

> +       };

> +};


So write explicitly that this driver employs the per-pin muxing pattern.

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
index a661130..4705020 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
@@ -1,4 +1,4 @@ 
-AXP209 GPIO controller
+AXP209 GPIO & pinctrl controller
 
 This driver follows the usual GPIO bindings found in
 Documentation/devicetree/bindings/gpio/gpio.txt
@@ -28,3 +28,29 @@  axp209: pmic@34 {
 		#gpio-cells = <2>;
 	};
 };
+
+The GPIOs can be muxed to other functions and therefore, must be a subnode of
+axp_gpio.
+
+Example:
+
+&axp_gpio {
+	gpio0_adc: gpio0-adc {
+		pins = "GPIO0";
+		function = "adc";
+	};
+};
+
+&example_node {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gpio0_adc>;
+};
+
+GPIOs and their functions
+-------------------------
+
+GPIO	|	Functions
+------------------------
+GPIO0	|	gpio_in, gpio_out, ldo, adc
+GPIO1	|	gpio_in, gpio_out, ldo, adc
+GPIO2	|	gpio_in, gpio_out