From: Amelie DELAUNAY <amelie.delaunay@st.com> To: Rob Herring <robh@kernel.org> Cc: Linus Walleij <linus.walleij@linaro.org>, Mark Rutland <mark.rutland@arm.com>, Russell King <linux@armlinux.org.uk>, Alexandre TORGUE <alexandre.torgue@st.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, "linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, Lee Jones <lee.jones@linaro.org> Subject: Re: [PATCH 1/5] dt-bindings: pinctrl: document the STMFX pinctrl bindings Date: Wed, 9 May 2018 07:31:31 +0000 [thread overview] Message-ID: <124c557b-d6c0-5734-5992-af15b527cbe4@st.com> (raw) In-Reply-To: <20180416181940.4b5z4svbde3ompij@rob-hp-laptop> On 04/16/2018 08:19 PM, Rob Herring wrote: > On Wed, Apr 11, 2018 at 11:47:01AM +0200, Amelie Delaunay wrote: >> This patch adds documentation of device tree bindings for the >> STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander. >> >> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> >> --- >> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 118 +++++++++++++++++++++ >> 1 file changed, 118 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt >> >> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt >> new file mode 100644 >> index 0000000..4d8941de >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt >> @@ -0,0 +1,118 @@ >> +STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander bindings >> + >> +ST Multi-Function eXpander (STMFX) is a slave controller using I2C for >> +communication with the main MCU. It offers up to 24 GPIOs expansion. >> + >> +Required properties: >> +- compatible: should be "st,stmfx-0300". >> +- reg: I2C slave address of the device. >> +- interrupt-parent: phandle of the STMFX parent interrupt controller. >> +- interrutps: interrupt specifier triggered by MFX_IRQ_OUT signal. >> + >> +Optional property: > > s/property/properties/ > >> +- drive-open-drain: configure MFX_IRQ_OUT as open drain. >> +- vdd-supply: phandle of the regulator supplying STMFX. >> + >> +Required properties for gpio controller sub-node: >> +- #gpio-cells: should be <2>, the first cell is the GPIO number and the second >> + cell is the gpio flags in accordance with <dt-bindings/gpio/gpio.h>. >> +- gpio-controller: marks the device as a GPIO controller. >> +Please refer to ../gpio/gpio.txt. >> + >> +Optional properties for gpio controller sub-node: >> +- #interrupt-cells: should be <2>, the first cell is the GPIO number and the >> + second cell is the interrupt flags in accordance with >> + <dt-bindings/interrupt-controller/irq.h>. >> +- interrupt-controller: marks the device as an interrupt controller. >> + >> +Please refer to pinctrl-bindings.txt for pin configuration. >> + >> +Required properties for pin configuration sub-nodes: >> +- pins: list of pins to which the configuration applies. >> + >> +Optional properties for pin configuration sub-nodes (pinconf-generic ones): >> +- bias-disable: disable any bias on the pin. >> +- bias-pull-up: the pin will be pulled up. >> +- bias-pull-pin-default: use the pin-default pull state. >> +- bias-pull-down: the pin will be pulled down. >> +- drive-open-drain: the pin will be driven with open drain. >> +- drive-push-pull: the pin will be driven actively high and low. >> +- output-high: the pin will be configured as an output driving high level. >> +- output-low: the pin will be configured as an output driving low level. >> + >> +Note that STMFX pins[15:0] are called "gpio[15:0]", and STMFX pins[23:16] are >> +called "agpio[7:0]". Example, to refer to pin 18 of STMFX, use "agpio2". >> + >> +Example: >> + >> + stmfxpinctrl: stmfx@42 { >> + compatible = "st,stmfx-0300"; >> + reg = <0x42>; >> + interrupt-parent = <&gpioi>; >> + interrupts = <8 IRQ_TYPE_EDGE_RISING>; >> + vdd-supply = <&v3v3>; >> + status = "okay"; > > Don't show status in examples. > I'll fix it. >> + >> + stmfxgpio: gpio { > > Why does this need to be a sub node? Are there functions beyond GPIO? > I'll address this point in my response to Linus. >> + #gpio-cells = <2>; >> + #interrupt-cells = <2>; >> + gpio-controller; >> + interrupt-controller; >> + status = "okay"; >> + }; >> + >> + joystick_pins: joystick@0 { > > A unit-address without a reg prop is not valid. > OK, I'll replace it by 'joystick_pins: joystick-0'. >> + pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4"; >> + drive-push-pull; >> + bias-pull-down; >> + }; >> + }; >> + >> + joystick { >> + compatible = "gpio-keys"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + pinctrl-0 = <&joystick_pins>; >> + pinctrl-names = "default"; >> + button@0 { >> + label = "JoySel"; >> + linux,code = <KEY_ENTER>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <0 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button@1 { >> + label = "JoyDown"; >> + linux,code = <KEY_DOWN>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <1 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button@2 { >> + label = "JoyLeft"; >> + linux,code = <KEY_LEFT>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <2 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button@3 { >> + label = "JoyRight"; >> + linux,code = <KEY_RIGHT>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <3 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button@4 { >> + label = "JoyUp"; >> + linux,code = <KEY_UP>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <4 IRQ_TYPE_EDGE_RISING>; >> + }; >> + }; >> + >> + leds { >> + compatible = "gpio-leds"; >> + orange { >> + gpios = <&stmfxgpio 17 1>; >> + }; >> + >> + blue { >> + gpios = <&stmfxgpio 19 1>; >> + }; >> + } >> -- >> 2.7.4 >> Thanks, Amelie
WARNING: multiple messages have this Message-ID (diff)
From: amelie.delaunay@st.com (Amelie DELAUNAY) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/5] dt-bindings: pinctrl: document the STMFX pinctrl bindings Date: Wed, 9 May 2018 07:31:31 +0000 [thread overview] Message-ID: <124c557b-d6c0-5734-5992-af15b527cbe4@st.com> (raw) In-Reply-To: <20180416181940.4b5z4svbde3ompij@rob-hp-laptop> On 04/16/2018 08:19 PM, Rob Herring wrote: > On Wed, Apr 11, 2018 at 11:47:01AM +0200, Amelie Delaunay wrote: >> This patch adds documentation of device tree bindings for the >> STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander. >> >> Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> >> --- >> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 118 +++++++++++++++++++++ >> 1 file changed, 118 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt >> >> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt >> new file mode 100644 >> index 0000000..4d8941de >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt >> @@ -0,0 +1,118 @@ >> +STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander bindings >> + >> +ST Multi-Function eXpander (STMFX) is a slave controller using I2C for >> +communication with the main MCU. It offers up to 24 GPIOs expansion. >> + >> +Required properties: >> +- compatible: should be "st,stmfx-0300". >> +- reg: I2C slave address of the device. >> +- interrupt-parent: phandle of the STMFX parent interrupt controller. >> +- interrutps: interrupt specifier triggered by MFX_IRQ_OUT signal. >> + >> +Optional property: > > s/property/properties/ > >> +- drive-open-drain: configure MFX_IRQ_OUT as open drain. >> +- vdd-supply: phandle of the regulator supplying STMFX. >> + >> +Required properties for gpio controller sub-node: >> +- #gpio-cells: should be <2>, the first cell is the GPIO number and the second >> + cell is the gpio flags in accordance with <dt-bindings/gpio/gpio.h>. >> +- gpio-controller: marks the device as a GPIO controller. >> +Please refer to ../gpio/gpio.txt. >> + >> +Optional properties for gpio controller sub-node: >> +- #interrupt-cells: should be <2>, the first cell is the GPIO number and the >> + second cell is the interrupt flags in accordance with >> + <dt-bindings/interrupt-controller/irq.h>. >> +- interrupt-controller: marks the device as an interrupt controller. >> + >> +Please refer to pinctrl-bindings.txt for pin configuration. >> + >> +Required properties for pin configuration sub-nodes: >> +- pins: list of pins to which the configuration applies. >> + >> +Optional properties for pin configuration sub-nodes (pinconf-generic ones): >> +- bias-disable: disable any bias on the pin. >> +- bias-pull-up: the pin will be pulled up. >> +- bias-pull-pin-default: use the pin-default pull state. >> +- bias-pull-down: the pin will be pulled down. >> +- drive-open-drain: the pin will be driven with open drain. >> +- drive-push-pull: the pin will be driven actively high and low. >> +- output-high: the pin will be configured as an output driving high level. >> +- output-low: the pin will be configured as an output driving low level. >> + >> +Note that STMFX pins[15:0] are called "gpio[15:0]", and STMFX pins[23:16] are >> +called "agpio[7:0]". Example, to refer to pin 18 of STMFX, use "agpio2". >> + >> +Example: >> + >> + stmfxpinctrl: stmfx at 42 { >> + compatible = "st,stmfx-0300"; >> + reg = <0x42>; >> + interrupt-parent = <&gpioi>; >> + interrupts = <8 IRQ_TYPE_EDGE_RISING>; >> + vdd-supply = <&v3v3>; >> + status = "okay"; > > Don't show status in examples. > I'll fix it. >> + >> + stmfxgpio: gpio { > > Why does this need to be a sub node? Are there functions beyond GPIO? > I'll address this point in my response to Linus. >> + #gpio-cells = <2>; >> + #interrupt-cells = <2>; >> + gpio-controller; >> + interrupt-controller; >> + status = "okay"; >> + }; >> + >> + joystick_pins: joystick at 0 { > > A unit-address without a reg prop is not valid. > OK, I'll replace it by 'joystick_pins: joystick-0'. >> + pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4"; >> + drive-push-pull; >> + bias-pull-down; >> + }; >> + }; >> + >> + joystick { >> + compatible = "gpio-keys"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + pinctrl-0 = <&joystick_pins>; >> + pinctrl-names = "default"; >> + button at 0 { >> + label = "JoySel"; >> + linux,code = <KEY_ENTER>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <0 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button at 1 { >> + label = "JoyDown"; >> + linux,code = <KEY_DOWN>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <1 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button at 2 { >> + label = "JoyLeft"; >> + linux,code = <KEY_LEFT>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <2 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button at 3 { >> + label = "JoyRight"; >> + linux,code = <KEY_RIGHT>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <3 IRQ_TYPE_EDGE_RISING>; >> + }; >> + button at 4 { >> + label = "JoyUp"; >> + linux,code = <KEY_UP>; >> + interrupt-parent = <&stmfxgpio>; >> + interrupts = <4 IRQ_TYPE_EDGE_RISING>; >> + }; >> + }; >> + >> + leds { >> + compatible = "gpio-leds"; >> + orange { >> + gpios = <&stmfxgpio 17 1>; >> + }; >> + >> + blue { >> + gpios = <&stmfxgpio 19 1>; >> + }; >> + } >> -- >> 2.7.4 >> Thanks, Amelie
next prev parent reply other threads:[~2018-05-09 7:31 UTC|newest] Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-11 9:47 [PATCH 0/5] Introduce STMFX I2C GPIO expander Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` [PATCH 1/5] dt-bindings: pinctrl: document the STMFX pinctrl bindings Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-16 18:19 ` Rob Herring 2018-04-16 18:19 ` Rob Herring 2018-04-26 12:49 ` Linus Walleij 2018-04-26 12:49 ` Linus Walleij 2018-05-09 7:56 ` Amelie DELAUNAY 2018-05-09 7:56 ` Amelie DELAUNAY 2018-05-16 14:20 ` Linus Walleij 2018-05-16 14:20 ` Linus Walleij 2018-05-16 15:01 ` Amelie DELAUNAY 2018-05-16 15:01 ` Amelie DELAUNAY 2018-05-17 6:36 ` Lee Jones 2018-05-17 6:36 ` Lee Jones 2018-05-18 7:29 ` Amelie DELAUNAY 2018-05-18 7:29 ` Amelie DELAUNAY 2018-05-18 7:29 ` Amelie DELAUNAY 2018-05-18 13:52 ` Lee Jones 2018-05-18 13:52 ` Lee Jones 2018-05-18 15:13 ` Amelie DELAUNAY 2018-05-18 15:13 ` Amelie DELAUNAY 2018-05-18 15:13 ` Amelie DELAUNAY 2018-05-24 7:13 ` Linus Walleij 2018-05-24 7:13 ` Linus Walleij 2018-05-28 11:39 ` Amelie DELAUNAY 2018-05-28 11:39 ` Amelie DELAUNAY 2018-05-28 11:39 ` Amelie DELAUNAY 2018-05-29 7:36 ` Lee Jones 2018-05-29 7:36 ` Lee Jones 2018-05-09 7:31 ` Amelie DELAUNAY [this message] 2018-05-09 7:31 ` Amelie DELAUNAY 2018-04-11 9:47 ` [PATCH 2/5] pinctrl: Add STMFX GPIO expander Pinctrl/GPIO driver Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-12 3:11 ` kbuild test robot 2018-04-12 3:11 ` kbuild test robot 2018-04-12 3:11 ` kbuild test robot 2018-04-26 12:48 ` Linus Walleij 2018-04-26 12:48 ` Linus Walleij 2018-05-09 9:13 ` Amelie DELAUNAY 2018-05-09 9:13 ` Amelie DELAUNAY 2018-04-11 9:47 ` [PATCH 3/5] ARM: dts: stm32: add STMFX pinctrl/gpio expander support on stm32746g-eval Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` [PATCH 4/5] ARM: dts: stm32: add orange and blue leds " Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` [PATCH 5/5] ARM: dts: stm32: add joystick support " Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay 2018-04-11 9:47 ` Amelie Delaunay
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=124c557b-d6c0-5734-5992-af15b527cbe4@st.com \ --to=amelie.delaunay@st.com \ --cc=alexandre.torgue@st.com \ --cc=devicetree@vger.kernel.org \ --cc=lee.jones@linaro.org \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=robh@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.