Skip to content
Snippets Groups Projects
Commit f0180f22 authored by Hugo Villeneuve's avatar Hugo Villeneuve Committed by Frieder Schrempf
Browse files

dt-bindings: sc16is7xx: Add property to change GPIO function


commit 4cf478dc 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: default avatarHugo Villeneuve <hvilleneuve@dimonoff.com>
Acked-by: default avatarConor Dooley <conor.dooley@microchip.com>
Reviewed-by: default avatarLech Perczak <lech.perczak@camlingroup.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230807214556.540627-4-hugo@hugovil.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a8df72f9
No related branches found
No related tags found
1 merge request!100🤖 Sync Bot: Update v6.1-ktn to Latest Stable Kernel (v6.1.52)
...@@ -23,6 +23,9 @@ Optional properties: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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 */
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment