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

Sebastian Hesselbarth sebastian.hesselbarth at gmail.com
Mon May 19 10:36:35 PDT 2014


From: Antoine Tenart <antoine.tenart at free-electrons.com>

Add pinctrl bindings and system control nodes to what we currently know
about Berlin SoCs. Where available, also set default pinctrl property
for uarts, when there is only one pinmux option for it.

Signed-off-by: Antoine Tenart <antoine.tenart at free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
---
Changelog:
v3->v4:
- remove "marvell," prefix from pinctrl function/groups property

Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Antoine Tenart <antoine.tenart at free-electrons.com>
Cc: Alexandre Belloni <alexandre.belloni at free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Cc: zmxu at marvell.com
Cc: jszhang at marvell.com
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
---
 arch/arm/boot/dts/berlin2.dtsi   | 26 ++++++++++++++++++++++++++
 arch/arm/boot/dts/berlin2cd.dtsi | 12 ++++++++++++
 arch/arm/boot/dts/berlin2q.dtsi  | 19 +++++++++++++++++++
 3 files changed, 57 insertions(+)

diff --git a/arch/arm/boot/dts/berlin2.dtsi b/arch/arm/boot/dts/berlin2.dtsi
index 591d4b8c1c2b..2477dac4d643 100644
--- a/arch/arm/boot/dts/berlin2.dtsi
+++ b/arch/arm/boot/dts/berlin2.dtsi
@@ -296,6 +296,8 @@
 				reg-io-width = <1>;
 				interrupts = <8>;
 				clocks = <&refclk>;
+				pinctrl-0 = <&uart0_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -306,6 +308,8 @@
 				reg-io-width = <1>;
 				interrupts = <9>;
 				clocks = <&refclk>;
+				pinctrl-0 = <&uart1_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -316,9 +320,31 @@
 				reg-io-width = <1>;
 				interrupts = <10>;
 				clocks = <&refclk>;
+				pinctrl-0 = <&uart2_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
+			sysctrl: system-controller at d000 {
+				compatible = "marvell,berlin2-system-ctrl";
+				reg = <0xd000 0x100>;
+
+				uart0_pmux: uart0-pmux {
+					groups = "GSM4";
+					function = "uart0";
+				};
+
+				uart1_pmux: uart1-pmux {
+					groups = "GSM5";
+					function = "uart1";
+				};
+
+				uart2_pmux: uart2-pmux {
+					groups = "GSM3";
+					function = "uart2";
+				};
+			};
+
 			sic: interrupt-controller at e000 {
 				compatible = "snps,dw-apb-ictl";
 				reg = <0xe000 0x400>;
diff --git a/arch/arm/boot/dts/berlin2cd.dtsi b/arch/arm/boot/dts/berlin2cd.dtsi
index 1385caa6d029..cc1df65da504 100644
--- a/arch/arm/boot/dts/berlin2cd.dtsi
+++ b/arch/arm/boot/dts/berlin2cd.dtsi
@@ -234,6 +234,11 @@
 			reg = <0xea0000 0x400>;
 			clocks = <&refclk>;
 			clock-names = "refclk";
+
+			uart0_pmux: uart0-pmux {
+				groups = "G6";
+				function = "uart0";
+			};
 		};
 
 		apb at fc0000 {
@@ -281,6 +286,8 @@
 				reg-io-width = <1>;
 				interrupts = <8>;
 				clocks = <&refclk>;
+				pinctrl-0 = <&uart0_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -294,6 +301,11 @@
 				status = "disabled";
 			};
 
+			sysctrl: system-controller at d000 {
+				compatible = "marvell,berlin2cd-system-ctrl";
+				reg = <0xd000 0x100>;
+			};
+
 			sic: interrupt-controller at e000 {
 				compatible = "snps,dw-apb-ictl";
 				reg = <0xe000 0x400>;
diff --git a/arch/arm/boot/dts/berlin2q.dtsi b/arch/arm/boot/dts/berlin2q.dtsi
index cd3287c95f1a..81712f5954ef 100644
--- a/arch/arm/boot/dts/berlin2q.dtsi
+++ b/arch/arm/boot/dts/berlin2q.dtsi
@@ -294,6 +294,8 @@
 				interrupts = <8>;
 				clocks = <&refclk>;
 				reg-shift = <2>;
+				pinctrl-0 = <&uart0_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
@@ -304,9 +306,26 @@
 				interrupts = <9>;
 				clocks = <&refclk>;
 				reg-shift = <2>;
+				pinctrl-0 = <&uart1_pmux>;
+				pinctrl-names = "default";
 				status = "disabled";
 			};
 
+			sysctrl: pin-controller at d000 {
+				compatible = "marvell,berlin2q-system-ctrl";
+				reg = <0xd000 0x100>;
+
+				uart0_pmux: uart0-pmux {
+					groups = "GSM12";
+					function = "uart0";
+				};
+
+				uart1_pmux: uart1-pmux {
+					groups = "GSM14";
+					function = "uart1";
+				};
+			};
+
 			sic: interrupt-controller at e000 {
 				compatible = "snps,dw-apb-ictl";
 				reg = <0xe000 0x30>;
-- 
1.9.1




More information about the linux-arm-kernel mailing list