Re: [PATCH] pinctrl: rza1: Switch to using "output-enable"
From: Jacopo Mondi <jacopo@jmondi.org>
Date: 2020-08-24 08:26:26
Also in:
linux-gpio, linux-renesas-soc
Hi Geert, On Fri, Aug 21, 2020 at 01:14:01PM +0200, Geert Uytterhoeven wrote:
For pins requiring software driven IO output operations, the RZ/A1 Pin
Controller uses either the "output-high" or "output-low" DT property to
enable the corresponding output buffer. The actual line value doesn't
matter, as it is ignored.
Commit 425562429d4f3b13 ("pinctrl: generic: Add output-enable property")
introduced a new DT property for this specific use case.
Update the RZ/A1 Pin Controller DT bindings and driver to use this new
property instead. Preserve backwards compatibility with old DTBs in the
driver, as this comes at a very small cost.
Notes:
- The DT binding examples already used the new property,
- There are no upstream users of the old properties.Did we introduce output-enable after the rza1 pinctrl and forgot to update ? Good catch anyway
quoted hunk ↗ jump to hunk
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- To be queued in sh-pfc for v5.10. .../devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt | 5 ++--- drivers/pinctrl/pinctrl-rza1.c | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-)diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt index fd3696eb36bf307e..38cdd23d3498e74a 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt@@ -117,10 +117,9 @@ function or a GPIO controller alternatively. - input-enable: enable input bufer for pins requiring software driven IO input operations. - - output-high: + - output-enable: enable output buffer for pins requiring software driven IO output - operations. output-low can be used alternatively, as line value is - ignored by the driver. + operations.
Seems like no upstream DTS uses any output-* property for the pinctrl.
quoted hunk ↗ jump to hunk
The hardware reference manual specifies when a pin has to be configured to work in bi-directional mode and when the IO direction has to be specifieddiff --git a/drivers/pinctrl/pinctrl-rza1.c b/drivers/pinctrl/pinctrl-rza1.c index 511f232ab7bc290c..944466ef34d33f51 100644 --- a/drivers/pinctrl/pinctrl-rza1.c +++ b/drivers/pinctrl/pinctrl-rza1.c@@ -928,7 +928,8 @@ static int rza1_parse_pinmux_node(struct rza1_pinctrl *rza1_pctl, case PIN_CONFIG_INPUT_ENABLE: pinmux_flags |= MUX_FLAGS_SWIO_INPUT; break; - case PIN_CONFIG_OUTPUT: + case PIN_CONFIG_OUTPUT: /* for DT backwards compatibility */ + case PIN_CONFIG_OUTPUT_ENABLE: pinmux_flags |= MUX_FLAGS_SWIO_OUTPUT; default: break;
Great! For both parts: Acked-by: Jacopo Mondi <jacopo@jmondi.org> Thanks j
-- 2.17.1