Commit 4cf478dc authored by Hugo Villeneuve's avatar Hugo Villeneuve Committed by Greg Kroah-Hartman
Browse files

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



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 dabc54a4
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -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@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

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@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 */
	};