[PATCH v3 7/7] ARM: dts: berlin: add the pinctrl node and muxing setup for uarts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




The uart0 pinmux configuration is in the dtsi because uart0 will always
use uart0-pmux to work, no other possibility. Same thing for uart1 and
uart2 (BG2).

Signed-off-by: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx>
---
 arch/arm/boot/dts/berlin2.dtsi   | 31 +++++++++++++++++++++++++++++++
 arch/arm/boot/dts/berlin2cd.dtsi | 17 +++++++++++++++++
 arch/arm/boot/dts/berlin2q.dtsi  | 24 ++++++++++++++++++++++++
 3 files changed, 72 insertions(+)

diff --git a/arch/arm/boot/dts/berlin2.dtsi b/arch/arm/boot/dts/berlin2.dtsi
index 56a1af2f1052..fb58f43eab52 100644
--- a/arch/arm/boot/dts/berlin2.dtsi
+++ b/arch/arm/boot/dts/berlin2.dtsi
@@ -176,6 +176,11 @@
 			};
 		};
 
+		soc_pinctrl: pin-controller@ea0000 {
+			compatible = "marvell,berlin2-soc-pinctrl";
+			reg = <0xea0000 0x4c>;
+		};
+
 		apb@fc0000 {
 			compatible = "simple-bus";
 			#address-cells = <1>;
@@ -184,6 +189,26 @@
 			ranges = <0 0xfc0000 0x10000>;
 			interrupt-parent = <&sic>;
 
+			sm_pinctrl: pin-controller@0000 {
+				compatible = "marvell,berlin2-sysmgr-pinctrl";
+				reg = <0x0000 0x44>;
+
+				uart0_pmux: uart0-pmux {
+					marvell,groups = "GSM4";
+					marvell,function = "uart0";
+				};
+
+				uart1_pmux: uart1-pmux {
+					marvell,groups = "GSM5";
+					marvell,function = "uart1";
+				};
+
+				uart2_pmux: uart2-pmux {
+					marvell,groups = "GSM3";
+					marvell,function = "uart2";
+				};
+			};
+
 			uart0: serial@9000 {
 				compatible = "snps,dw-apb-uart";
 				reg = <0x9000 0x100>;
@@ -191,6 +216,8 @@
 				reg-io-width = <1>;
 				interrupts = <8>;
 				clocks = <&smclk>;
+				pinctrl-0 = <&uart0_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -201,6 +228,8 @@
 				reg-io-width = <1>;
 				interrupts = <9>;
 				clocks = <&smclk>;
+				pinctrl-0 = <&uart1_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -211,6 +240,8 @@
 				reg-io-width = <1>;
 				interrupts = <10>;
 				clocks = <&smclk>;
+				pinctrl-0 = <&uart2_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/berlin2cd.dtsi b/arch/arm/boot/dts/berlin2cd.dtsi
index 094968c27533..a802d3fe5da6 100644
--- a/arch/arm/boot/dts/berlin2cd.dtsi
+++ b/arch/arm/boot/dts/berlin2cd.dtsi
@@ -169,6 +169,11 @@
 			};
 		};
 
+		soc_pinctrl: pin-controller@ae0000 {
+			compatible = "marvell,berlin2cd-soc-pinctrl";
+			reg = <0xea0000 0x4c>;
+		};
+
 		apb@fc0000 {
 			compatible = "simple-bus";
 			#address-cells = <1>;
@@ -177,6 +182,16 @@
 			ranges = <0 0xfc0000 0x10000>;
 			interrupt-parent = <&sic>;
 
+			sm_pinctrl: pin-controller@0000 {
+				compatible = "marvell,berlin2cd-sysmgr-pinctrl";
+				reg = <0x0000 0x44>;
+
+				uart0_pmux: uart0-pmux {
+					marvell,groups = "G6";
+					marvell,function = "uart0";
+				};
+			};
+
 			uart0: serial@9000 {
 				compatible = "snps,dw-apb-uart";
 				reg = <0x9000 0x100>;
@@ -184,6 +199,8 @@
 				reg-io-width = <1>;
 				interrupts = <8>;
 				clocks = <&smclk>;
+				pinctrl-0 = <&uart0_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/berlin2q.dtsi b/arch/arm/boot/dts/berlin2q.dtsi
index 07452a7483fa..734debbf072f 100644
--- a/arch/arm/boot/dts/berlin2q.dtsi
+++ b/arch/arm/boot/dts/berlin2q.dtsi
@@ -183,6 +183,11 @@
 			};
 		};
 
+		soc_pinctrl: pin-controller@ea0000 {
+			compatible = "marvell,berlin2q-soc-pinctrl";
+			reg = <0xea0000 0x4c>;
+		};
+
 		apb@fc0000 {
 			compatible = "simple-bus";
 			#address-cells = <1>;
@@ -198,6 +203,8 @@
 				interrupts = <8>;
 				clocks = <&smclk>;
 				reg-shift = <2>;
+				pinctrl-0 = <&uart0_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -208,9 +215,26 @@
 				interrupts = <9>;
 				clocks = <&smclk>;
 				reg-shift = <2>;
+				pinctrl-0 = <&uart1_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
+			sm_pinctrl: pin-controller@d000 {
+				compatible = "marvell,berlin2q-sysmgr-pinctrl";
+				reg = <0xd000 0x44>;
+
+				uart0_pmux: uart0-pmux {
+					marvell,groups = "GSM12";
+					marvell,function = "uart0";
+				};
+
+				uart1_pmux: uart1-pmux {
+					marvell,groups = "GSM14";
+					marvell,function = "uart1";
+				};
+			};
+
 			sic: interrupt-controller@e000 {
 				compatible = "snps,dw-apb-ictl";
 				reg = <0xe000 0x30>;
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux