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

From: [email-masked] (Sebastian Hesselbarth)
Date: Sat, 26 Apr 2014 11:51:44 +0200

On 04/23/2014 05:51 PM, Antoine T?nart wrote:
> The uart0 pinmux configuration is in the dtsi because uart0 will always
> use uart0-pmux to work, no other possibility. Same thing for uart1.
> 
> Signed-off-by: Antoine T?nart <[email-masked]>
> ---
>  arch/arm/boot/dts/berlin2.dtsi   | 24 ++++++++++++++++++++++++
>  arch/arm/boot/dts/berlin2cd.dtsi | 17 +++++++++++++++++
>  arch/arm/boot/dts/berlin2q.dtsi  | 24 ++++++++++++++++++++++++
>  3 files changed, 65 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/berlin2.dtsi b/arch/arm/boot/dts/berlin2.dtsi
> index 56a1af2f1052..9a13891c38a3 100644
> --- a/arch/arm/boot/dts/berlin2.dtsi
> +++ b/arch/arm/boot/dts/berlin2.dtsi
> @@ -176,6 +176,11 @@
>  			};
>  		};
>  
> +		soc_pinctrl: pin-controller at ea0000 {
> +			compatible = "marvell,berlin2-soc-pinctrl";
> +			reg = <0xea0000 0x4c>;
> +		};
> +
>  		apb at fc0000 {
>  			compatible = "simple-bus";
>  			#address-cells = <1>;
> @@ -184,6 +189,21 @@
>  			ranges = <0 0xfc0000 0x10000>;
>  			interrupt-parent = <&sic>;
>  
> +			sm_pinctrl: pin-controller at 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";
> +				};

There is three uarts in BG2, we have the node already. Please add

uart2_pmux: uart2-pmux {
	marvell,groups = "GSM3";
	marvell,function = "uart2";
};

here and in the corresponding node:

pinctrl-0 = <&uart2_pmux>;
pinctrl-names = "default";

Sebastian

> +			};
> +
>  			uart0: serial at 9000 {
>  				compatible = "snps,dw-apb-uart";
>  				reg = <0x9000 0x100>;
> @@ -191,6 +211,8 @@
>  				reg-io-width = <1>;
>  				interrupts = <8>;
>  				clocks = <&smclk>;
> +				pinctrl-0 = <&uart0_pmux>;
> +				pinctrl-names = "default";
>  				status = "disabled";
>  			};
>  
> @@ -201,6 +223,8 @@
>  				reg-io-width = <1>;
>  				interrupts = <9>;
>  				clocks = <&smclk>;
> +				pinctrl-0 = <&uart1_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 at ae0000 {
> +			compatible = "marvell,berlin2cd-soc-pinctrl";
> +			reg = <0xea0000 0x4c>;
> +		};
> +
>  		apb at fc0000 {
>  			compatible = "simple-bus";
>  			#address-cells = <1>;
> @@ -177,6 +182,16 @@
>  			ranges = <0 0xfc0000 0x10000>;
>  			interrupt-parent = <&sic>;
>  
> +			sm_pinctrl: pin-controller at 0000 {
> +				compatible = "marvell,berlin2cd-sysmgr-pinctrl";
> +				reg = <0x0000 0x44>;
> +
> +				uart0_pmux: uart0-pmux {
> +					marvell,groups = "G6";
> +					marvell,function = "uart0";
> +				};
> +			};
> +
>  			uart0: serial at 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 at ea0000 {
> +			compatible = "marvell,berlin2q-soc-pinctrl";
> +			reg = <0xea0000 0x4c>;
> +		};
> +
>  		apb at 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 at 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 at e000 {
>  				compatible = "snps,dw-apb-ictl";
>  				reg = <0xe000 0x30>;
>