[PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function

Hugo Villeneuve posted 11 patches 2 years, 8 months ago
There is a newer version of this series
[PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function
Posted by Hugo Villeneuve 2 years, 8 months ago
From: Hugo Villeneuve <hvilleneuve@dimonoff.com>

Some variants in this series of uart controllers have GPIO pins that
are shared between GPIO and modem control lines.

The pin mux mode (GPIO or modem control lines) can be set for each
ports (channels) supported by the variant.

This adds a property to the device tree to set the GPIO pin mux to
modem control lines on selected ports if needed.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
---
 .../bindings/serial/nxp,sc16is7xx.txt         | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
index 0fa8e3e43bf8..74dfbbf7b2cb 100644
--- a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
+++ b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
@@ -23,6 +23,9 @@ Optional properties:
     1 = active low.
 - irda-mode-ports: An array that lists the indices of the port that
 		   should operate in IrDA mode.
+- nxp,modem-control-line-ports: An array that lists the indices of the port that
+				should have shared GPIO lines configured as
+				modem control lines.
 
 Example:
         sc16is750: sc16is750@51 {
@@ -35,6 +38,26 @@ Example:
                 #gpio-cells = <2>;
         };
 
+	sc16is752: sc16is752@54 {
+		compatible = "nxp,sc16is752";
+		reg = <0x54>;
+		clocks = <&clk20m>;
+		interrupt-parent = <&gpio3>;
+		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
+		nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
+		gpio-controller; /* Port 0 as GPIOs */
+		#gpio-cells = <2>;
+	};
+
+	sc16is752: sc16is752@54 {
+		compatible = "nxp,sc16is752";
+		reg = <0x54>;
+		clocks = <&clk20m>;
+		interrupt-parent = <&gpio3>;
+		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
+		nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
+	};
+
 * spi as bus
 
 Required properties:
@@ -59,6 +82,9 @@ Optional properties:
     1 = active low.
 - irda-mode-ports: An array that lists the indices of the port that
 		   should operate in IrDA mode.
+- nxp,modem-control-line-ports: An array that lists the indices of the port that
+				should have shared GPIO lines configured as
+				modem control lines.
 
 Example:
 	sc16is750: sc16is750@0 {
@@ -70,3 +96,23 @@ Example:
 		gpio-controller;
 		#gpio-cells = <2>;
 	};
+
+	sc16is752: sc16is752@0 {
+		compatible = "nxp,sc16is752";
+		reg = <0>;
+		clocks = <&clk20m>;
+		interrupt-parent = <&gpio3>;
+		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
+		nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
+		gpio-controller; /* Port 0 as GPIOs */
+		#gpio-cells = <2>;
+	};
+
+	sc16is752: sc16is752@0 {
+		compatible = "nxp,sc16is752";
+		reg = <0>;
+		clocks = <&clk20m>;
+		interrupt-parent = <&gpio3>;
+		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
+		nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
+	};
-- 
2.30.2
Re: [PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function
Posted by andy.shevchenko@gmail.com 2 years, 8 months ago
Thu, May 25, 2023 at 12:03:21AM -0400, Hugo Villeneuve kirjoitti:
> From: Hugo Villeneuve <hvilleneuve@dimonoff.com>
> 
> Some variants in this series of uart controllers have GPIO pins that

UART

> are shared between GPIO and modem control lines.
> 
> The pin mux mode (GPIO or modem control lines) can be set for each
> ports (channels) supported by the variant.
> 
> This adds a property to the device tree to set the GPIO pin mux to
> modem control lines on selected ports if needed.

I'm wondering if we can convert this to YAML first and then add a new property.

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function
Posted by Hugo Villeneuve 2 years, 8 months ago
On Thu, 25 May 2023 14:11:22 +0300
andy.shevchenko@gmail.com wrote:

> Thu, May 25, 2023 at 12:03:21AM -0400, Hugo Villeneuve kirjoitti:
> > From: Hugo Villeneuve <hvilleneuve@dimonoff.com>
> > 
> > Some variants in this series of uart controllers have GPIO pins that
> 
> UART

Hi,
fixed.

> > are shared between GPIO and modem control lines.
> > 
> > The pin mux mode (GPIO or modem control lines) can be set for each
> > ports (channels) supported by the variant.
> > 
> > This adds a property to the device tree to set the GPIO pin mux to
> > modem control lines on selected ports if needed.
> 
> I'm wondering if we can convert this to YAML first and then add a new property.

Hi,
I also thought about it, then decided to focus on simply adding the new property first since I am not an expert in YAML.

I think it would be best to do it after this patch series. Keep in mind that the original intent of this patch series, and this new property, was to fix a regression related to the GPIOs, and I think that converting to YAML would simply delay and add much noise to the discussion at this point.

If someone wants to do it as a separate patch after this, fine. If not, I an willing to give it a go.

Hugo.
Re: [PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function
Posted by andy.shevchenko@gmail.com 2 years, 8 months ago
Thu, May 25, 2023 at 10:34:43AM -0400, Hugo Villeneuve kirjoitti:
> On Thu, 25 May 2023 14:11:22 +0300
> andy.shevchenko@gmail.com wrote:
> > Thu, May 25, 2023 at 12:03:21AM -0400, Hugo Villeneuve kirjoitti:

...

> > I'm wondering if we can convert this to YAML first and then add a new
> > property.
> 
> I also thought about it, then decided to focus on simply adding the new
> property first since I am not an expert in YAML.
> 
> I think it would be best to do it after this patch series. Keep in mind that
> the original intent of this patch series, and this new property, was to fix a
> regression related to the GPIOs, and I think that converting to YAML would
> simply delay and add much noise to the discussion at this point.

The patch doesn't have Fixes tag, so it's definitely not a fix. Also new
property can fix a regression, it's impossible to fix the users' DTBs.

> If someone wants to do it as a separate patch after this, fine. If not, I an
> willing to give it a go.

Not a DT maintainer here, I'm fine with either way.

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v3 07/11] dt-bindings: sc16is7xx: Add property to change GPIO function
Posted by Conor Dooley 2 years, 8 months ago
On Thu, May 25, 2023 at 10:34:43AM -0400, Hugo Villeneuve wrote:
> On Thu, 25 May 2023 14:11:22 +0300
> andy.shevchenko@gmail.com wrote:

> > I'm wondering if we can convert this to YAML first and then add a new property.

> I think it would be best to do it after this patch series.
> Keep in mind that the original intent of this patch series,
> and this new property, was to fix a regression related to the
> GPIOs, and I think that converting to YAML would simply delay
> and add much noise to the discussion at this point.

I think that that is reasonable.