dt-bindings: sc16is7xx: Add property to change GPIO function
commit 4cf478dc5d
upstream.
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.
Cc: stable@vger.kernel.org # 6.1.x
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Lech Perczak <lech.perczak@camlingroup.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230807214556.540627-4-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
dca7c99651
commit
689561db68
|
@ -23,6 +23,9 @@ Optional properties:
|
||||||
1 = active low.
|
1 = active low.
|
||||||
- irda-mode-ports: An array that lists the indices of the port that
|
- irda-mode-ports: An array that lists the indices of the port that
|
||||||
should operate in IrDA mode.
|
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:
|
Example:
|
||||||
sc16is750: sc16is750@51 {
|
sc16is750: sc16is750@51 {
|
||||||
|
@ -35,6 +38,26 @@ Example:
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sc16is752: sc16is752@53 {
|
||||||
|
compatible = "nxp,sc16is752";
|
||||||
|
reg = <0x53>;
|
||||||
|
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
|
* spi as bus
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
@ -59,6 +82,9 @@ Optional properties:
|
||||||
1 = active low.
|
1 = active low.
|
||||||
- irda-mode-ports: An array that lists the indices of the port that
|
- irda-mode-ports: An array that lists the indices of the port that
|
||||||
should operate in IrDA mode.
|
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:
|
Example:
|
||||||
sc16is750: sc16is750@0 {
|
sc16is750: sc16is750@0 {
|
||||||
|
@ -70,3 +96,23 @@ Example:
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sc16is752: sc16is752@1 {
|
||||||
|
compatible = "nxp,sc16is752";
|
||||||
|
reg = <1>;
|
||||||
|
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@2 {
|
||||||
|
compatible = "nxp,sc16is752";
|
||||||
|
reg = <2>;
|
||||||
|
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 */
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in New Issue