diff mbox

[1/2] ARM: mx28: Add SPI pinmux into imx28.dtsi

Message ID 1345778742-20994-1-git-send-email-marex@denx.de (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Marek Vasut Aug. 24, 2012, 3:25 a.m. UTC
Add this SSP pin multiplexing configuration into the imx28.dtsi file.
This covers pinmux for all four SSP ports available on the i.MX28.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chris Ball <cjb@laptop.org>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
---
 arch/arm/boot/dts/imx28.dtsi |   61 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

NOTE: Shawn, I'd like to add this altogether. I have a board scheduled in my
      queue that uses other SSP ports, so I consider it pointless to split this.
      Fabio, what does MX28EVK use?

Comments

Shawn Guo Aug. 24, 2012, 8 a.m. UTC | #1
On Fri, Aug 24, 2012 at 05:25:41AM +0200, Marek Vasut wrote:
> Add this SSP pin multiplexing configuration into the imx28.dtsi file.
> This covers pinmux for all four SSP ports available on the i.MX28.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Chris Ball <cjb@laptop.org>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> ---
>  arch/arm/boot/dts/imx28.dtsi |   61 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 61 insertions(+)
> 
> NOTE: Shawn, I'd like to add this altogether. I have a board scheduled in my
>       queue that uses other SSP ports, so I consider it pointless to split this.

No.  Please only add the one you're using and testing with.  I do not
want to have any unneeded and untested settings there.

>       Fabio, what does MX28EVK use?
> 
> diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
> index 91b43e9..327a33f 100644
> --- a/arch/arm/boot/dts/imx28.dtsi
> +++ b/arch/arm/boot/dts/imx28.dtsi
> @@ -507,6 +507,67 @@
>  					fsl,voltage = <1>;
>  					fsl,pull-up = <0>;
>  				};
> +
> +				spi0_pins_a: spi0@0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
> +						0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
> +						0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
> +						0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
> +						0x2040 /* MX28_PAD_SSP0_DATA4__SSP0_D4 */
> +						0x2050 /* MX28_PAD_SSP0_DATA5__SSP0_D5 */
> +						0x2060 /* MX28_PAD_SSP0_DATA6__SSP0_D6 */
> +						0x2070 /* MX28_PAD_SSP0_DATA7__SSP0_D7 */
> +						0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
> +						0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
> +						0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
> +					>;

You have a SPI connection that needs so many pins?  Please note that
we already have mmc pins setup in place.

> +					fsl,drive-strength = <1>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <1>;
> +				};
> +
> +				spi1_pins_a: spi1@0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						0x20c0 /* MX28_PAD_SSP1_SCK__SSP1_SCK */
> +						0x20d0 /* MX28_PAD_SSP1_CMD__SSP1_CMD */
> +						0x20e0 /* MX28_PAD_SSP1_DATA0__SSP1_D0 */
> +						0x20f0 /* MX28_PAD_SSP1_DATA3__SSP1_D3 */
> +					>;
> +					fsl,drive-strength = <1>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <1>;
> +				};
> +
> +				spi2_pins_a: spi2@0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						0x2100 /* MX28_PAD_SSP2_SCK__SSP2_SCK */
> +						0x2110 /* MX28_PAD_SSP2_MOSI__SSP2_CMD */
> +						0x2120 /* MX28_PAD_SSP2_MISO__SSP2_D0 */
> +						0x2130 /* MX28_PAD_SSP2_SS0__SSP2_D3 */
> +						0x2140 /* MX28_PAD_SSP2_SS1__SSP2_D4 */
> +						0x2150 /* MX28_PAD_SSP2_SS2__SSP2_D5 */
> +					>;

The SPI flash on imx28-evk uses this one but with only SS0.  So we will
probably need to have the group only define SS0 and set up the extra SS
in board's hog node, so that the group can be shared across more boards.
Or, we name the group spi2_3cs_pins_a and leave the name spi2_pins_a to
the more general case, one SS?

Regards,
Shawn

> +					fsl,drive-strength = <1>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <1>;
> +				};
> +
> +				spi3_pins_a: spi3@0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						0x2180 /* MX28_PAD_SSP3_SCK__SSP3_SCK */
> +						0x2190 /* MX28_PAD_SSP3_MOSI__SSP3_CMD */
> +						0x21a0 /* MX28_PAD_SSP3_MISO__SSP3_D0 */
> +						0x21b0 /* MX28_PAD_SSP3_SS0__SSP3_D3 */
> +					>;
> +					fsl,drive-strength = <1>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <1>;
> +				};
>  			};
>  
>  			digctl@8001c000 {
> -- 
> 1.7.10.4
> 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
diff mbox

Patch

diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 91b43e9..327a33f 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -507,6 +507,67 @@ 
 					fsl,voltage = <1>;
 					fsl,pull-up = <0>;
 				};
+
+				spi0_pins_a: spi0@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <
+						0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
+						0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
+						0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
+						0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
+						0x2040 /* MX28_PAD_SSP0_DATA4__SSP0_D4 */
+						0x2050 /* MX28_PAD_SSP0_DATA5__SSP0_D5 */
+						0x2060 /* MX28_PAD_SSP0_DATA6__SSP0_D6 */
+						0x2070 /* MX28_PAD_SSP0_DATA7__SSP0_D7 */
+						0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
+						0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
+						0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
+					>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
+
+				spi1_pins_a: spi1@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <
+						0x20c0 /* MX28_PAD_SSP1_SCK__SSP1_SCK */
+						0x20d0 /* MX28_PAD_SSP1_CMD__SSP1_CMD */
+						0x20e0 /* MX28_PAD_SSP1_DATA0__SSP1_D0 */
+						0x20f0 /* MX28_PAD_SSP1_DATA3__SSP1_D3 */
+					>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
+
+				spi2_pins_a: spi2@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <
+						0x2100 /* MX28_PAD_SSP2_SCK__SSP2_SCK */
+						0x2110 /* MX28_PAD_SSP2_MOSI__SSP2_CMD */
+						0x2120 /* MX28_PAD_SSP2_MISO__SSP2_D0 */
+						0x2130 /* MX28_PAD_SSP2_SS0__SSP2_D3 */
+						0x2140 /* MX28_PAD_SSP2_SS1__SSP2_D4 */
+						0x2150 /* MX28_PAD_SSP2_SS2__SSP2_D5 */
+					>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
+
+				spi3_pins_a: spi3@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <
+						0x2180 /* MX28_PAD_SSP3_SCK__SSP3_SCK */
+						0x2190 /* MX28_PAD_SSP3_MOSI__SSP3_CMD */
+						0x21a0 /* MX28_PAD_SSP3_MISO__SSP3_D0 */
+						0x21b0 /* MX28_PAD_SSP3_SS0__SSP3_D3 */
+					>;
+					fsl,drive-strength = <1>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <1>;
+				};
 			};
 
 			digctl@8001c000 {