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