arm: mvebu: define and use common Armada 370 SPI pinctrl settings
authorArnaud Ebalard <arno@natisbad.org>
Fri, 21 Nov 2014 23:46:10 +0000 (00:46 +0100)
committerJason Cooper <jason@lakedaemon.net>
Sat, 22 Nov 2014 04:32:11 +0000 (04:32 +0000)
This patch defines common Armada 370 pinctrl settings for spi0 and spi1
interfaces:

 spi0: MPP33-36 as default, MPP32,63-65 as available alternate config
 spi1: MPP49-52 as default

Currently, the Armada 370 DB .dts file has no explicit pinctrl info
for the spi0 interface used to access the flash on the board. The
patch fixes that by also adding explicit pinctrl info (MPP32,63-65)
for this SPI interface.

Note: this patch has the potential to break out-of-tree users w/o
specific pinctrl settings for their spi interfaces if the default
above does not match their config.

Suggested-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
Link: https://lkml.kernel.org/r/1e812eb63b37718e273463e22e4d7512f8f0b624.1416613429.git.arno@natisbad.org
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/armada-370-db.dts
arch/arm/boot/dts/armada-370.dtsi

index 472b743..1466580 100644 (file)
                        };
 
                        spi0: spi@10600 {
+                               pinctrl-0 = <&spi0_pins2>;
+                               pinctrl-names = "default";
                                status = "okay";
 
                                spi-flash@0 {
index ecf0bf1..49ac064 100644 (file)
                                wt-override;
                        };
 
+                       /*
+                        * Default SPI pinctrl setting, can be overwritten on
+                        * board level if a different configuration is used.
+                        */
+                       spi0: spi@10600 {
+                               pinctrl-0 = <&spi0_pins1>;
+                               pinctrl-names = "default";
+                       };
+
+                       spi1: spi@10680 {
+                               pinctrl-0 = <&spi1_pins>;
+                               pinctrl-names = "default";
+                       };
+
                        i2c0: i2c@11000 {
                                reg = <0x11000 0x20>;
                        };
 &pinctrl {
        compatible = "marvell,mv88f6710-pinctrl";
 
+       spi0_pins1: spi0-pins1 {
+               marvell,pins = "mpp33", "mpp34",
+                              "mpp35", "mpp36";
+               marvell,function = "spi0";
+       };
+
+       spi0_pins2: spi0_pins2 {
+               marvell,pins = "mpp32", "mpp63",
+                              "mpp64", "mpp65";
+               marvell,function = "spi0";
+       };
+
+       spi1_pins: spi1-pins {
+               marvell,pins = "mpp49", "mpp50",
+                              "mpp51", "mpp52";
+               marvell,function = "spi1";
+       };
+
        sdio_pins1: sdio-pins1 {
                marvell,pins = "mpp9",  "mpp11", "mpp12",
                                "mpp13", "mpp14", "mpp15";