Message ID | 20230518132905.4182265-1-hugo@hugovil.com |
---|---|
State | New |
Headers | show |
Series | [RFC,v2,1/2] dt-bindings: sc16is7xx: Add property to change GPIO function | expand |
Hello Hugo, W dniu 18.05.2023 o 15:29, Hugo Villeneuve pisze: > 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> > --- > v1 -> v2: Add nxp vendor prefix > Add git base-commit > > .../bindings/serial/nxp,sc16is7xx.txt | 28 +++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt > index 0fa8e3e43bf8..23a81c83f012 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,17 @@ 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>; > + }; > + > * spi as bus > > Required properties: > @@ -59,6 +73,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 +87,14 @@ 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 */ Just a minor nitpick: an example showing syntax for both ports would be great. This can be included here, leaving the previous example intact. Otherwise, LGTM. > + gpio-controller; /* Port 0 as GPIOs */ > + #gpio-cells = <2>; > + }; > > base-commit: 4d6d4c7f541d7027beed4fb86eb2c451bd8d6fff > -- > 2.30.2
On Fri, 19 May 2023 15:03:37 +0200 Lech Perczak <lech.perczak@camlingroup.com> wrote: > Hello Hugo, > > W dniu 18.05.2023 o 15:29, Hugo Villeneuve pisze: > > 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> > > --- > > v1 -> v2: Add nxp vendor prefix > > Add git base-commit > > > > .../bindings/serial/nxp,sc16is7xx.txt | 28 +++++++++++++++++++ > > 1 file changed, 28 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt > > index 0fa8e3e43bf8..23a81c83f012 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,17 @@ 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>; > > + }; > > + > > * spi as bus > > > > Required properties: > > @@ -59,6 +73,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 +87,14 @@ 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 */ > Just a minor nitpick: an example showing syntax for both ports would be great. > This can be included here, leaving the previous example intact. Otherwise, LGTM. > > + gpio-controller; /* Port 0 as GPIOs */ > > + #gpio-cells = <2>; Hi, I have decided to add a separate example, because adding an example for both ports also means that the gpio-controller property should be removed. Hugo. > > + }; > > > > base-commit: 4d6d4c7f541d7027beed4fb86eb2c451bd8d6fff > > -- > > 2.30.2 > > -- > Pozdrawiam/With kind regards, > Lech Perczak > > Sr. Software Engineer > Camlin Technologies Poland Limited Sp. z o.o. > Strzegomska 54, > 53-611 Wroclaw > Tel: (+48) 71 75 000 16 > Email: lech.perczak@camlingroup.com > Website: http://www.camlingroup.com > >
diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt index 0fa8e3e43bf8..23a81c83f012 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,17 @@ 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>; + }; + * spi as bus Required properties: @@ -59,6 +73,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 +87,14 @@ 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>; + };