diff mbox series

[3/3] MIPS: DTS: img: marduk: Add NXP SC16IS752IPW

Message ID 20200815163514.11631-3-hauke@hauke-m.de (mailing list archive)
State New
Headers show
Series [1/3] MIPS: DTS: img: marduk: Add SPI NAND flash | expand

Commit Message

Hauke Mehrtens Aug. 15, 2020, 4:35 p.m. UTC
Add NXP SC16IS752IPW SPI-UART controller to device tree.

This controller drives 2 UARTs and 7 LEDs on the board.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 arch/mips/boot/dts/img/pistachio_marduk.dts | 51 +++++++++++++++++++++
 1 file changed, 51 insertions(+)

Comments

Zhou Yanjie Sept. 12, 2020, 6:46 a.m. UTC | #1
Hello Hauke,

I would like to ask how to write UART nodes of SC16IS752, our CU1000-Neo 
board also uses SC16IS752 to expand GPIOs and UARTs, and the bluetooth 
module (from AP6212A) is connected to UART expanded by SC16IS752, but I 
don't know how to write UART node, so bluetooth cannot be used normally 
at present.

Thanks and best regards!

在 2020/8/16 上午12:35, Hauke Mehrtens 写道:
> Add NXP SC16IS752IPW SPI-UART controller to device tree.
>
> This controller drives 2 UARTs and 7 LEDs on the board.
>
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
> ---
>   arch/mips/boot/dts/img/pistachio_marduk.dts | 51 +++++++++++++++++++++
>   1 file changed, 51 insertions(+)
>
> diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
> index 633a41954cc0..f4965a484b72 100644
> --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
> +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
> @@ -46,6 +46,46 @@
>   		regulator-max-microvolt = <1800000>;
>   	};
>   
> +	/* EXT clock from ca8210 is fed to sc16is752 */
> +	ca8210_ext_clk: ca8210-ext-clk {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <16000000>;
> +		clock-output-names = "ca8210_ext_clock";
> +	};
> +
> +	gpioleds {
> +		compatible = "gpio-leds";
> +		user1 {
> +			label = "marduk:red:user1";
> +			gpios = <&sc16is752 0 GPIO_ACTIVE_LOW>;
> +		};
> +		user2 {
> +			label = "marduk:red:user2";
> +			gpios = <&sc16is752 1 GPIO_ACTIVE_LOW>;
> +		};
> +		user3 {
> +			label = "marduk:red:user3";
> +			gpios = <&sc16is752 2 GPIO_ACTIVE_LOW>;
> +		};
> +		user4 {
> +			label = "marduk:red:user4";
> +			gpios = <&sc16is752 3 GPIO_ACTIVE_LOW>;
> +		};
> +		user5 {
> +			label = "marduk:red:user5";
> +			gpios = <&sc16is752 4 GPIO_ACTIVE_LOW>;
> +		};
> +		user6 {
> +			label = "marduk:red:user6";
> +			gpios = <&sc16is752 5 GPIO_ACTIVE_LOW>;
> +		};
> +		user7 {
> +			label = "marduk:red:user7";
> +			gpios = <&sc16is752 6 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
>   	leds {
>   		compatible = "pwm-leds";
>   		heartbeat {
> @@ -95,6 +135,17 @@
>   		extclock-freq = <16000000>;
>   		extclock-gpio = <2>;
>   	};
> +
> +	sc16is752: sc16is752@1 {
> +		compatible = "nxp,sc16is752";
> +		reg = <1>;
> +		clocks = <&ca8210_ext_clk>;
> +		spi-max-frequency = <4000000>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +	};
>   };
>   
>   &spfi1 {
diff mbox series

Patch

diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
index 633a41954cc0..f4965a484b72 100644
--- a/arch/mips/boot/dts/img/pistachio_marduk.dts
+++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
@@ -46,6 +46,46 @@ 
 		regulator-max-microvolt = <1800000>;
 	};
 
+	/* EXT clock from ca8210 is fed to sc16is752 */
+	ca8210_ext_clk: ca8210-ext-clk {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <16000000>;
+		clock-output-names = "ca8210_ext_clock";
+	};
+
+	gpioleds {
+		compatible = "gpio-leds";
+		user1 {
+			label = "marduk:red:user1";
+			gpios = <&sc16is752 0 GPIO_ACTIVE_LOW>;
+		};
+		user2 {
+			label = "marduk:red:user2";
+			gpios = <&sc16is752 1 GPIO_ACTIVE_LOW>;
+		};
+		user3 {
+			label = "marduk:red:user3";
+			gpios = <&sc16is752 2 GPIO_ACTIVE_LOW>;
+		};
+		user4 {
+			label = "marduk:red:user4";
+			gpios = <&sc16is752 3 GPIO_ACTIVE_LOW>;
+		};
+		user5 {
+			label = "marduk:red:user5";
+			gpios = <&sc16is752 4 GPIO_ACTIVE_LOW>;
+		};
+		user6 {
+			label = "marduk:red:user6";
+			gpios = <&sc16is752 5 GPIO_ACTIVE_LOW>;
+		};
+		user7 {
+			label = "marduk:red:user7";
+			gpios = <&sc16is752 6 GPIO_ACTIVE_LOW>;
+		};
+	};
+
 	leds {
 		compatible = "pwm-leds";
 		heartbeat {
@@ -95,6 +135,17 @@ 
 		extclock-freq = <16000000>;
 		extclock-gpio = <2>;
 	};
+
+	sc16is752: sc16is752@1 {
+		compatible = "nxp,sc16is752";
+		reg = <1>;
+		clocks = <&ca8210_ext_clk>;
+		spi-max-frequency = <4000000>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
 };
 
 &spfi1 {