arm: kirkwood: mplcec4: use Device Tree to probe SDIO
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 21 Dec 2012 14:49:12 +0000 (15:49 +0100)
committerArnd Bergmann <arnd@arndb.de>
Thu, 28 Feb 2013 17:57:11 +0000 (18:57 +0100)
Now that the mvsdio driver has a Device Tree binding, and the SDIO
controller is declared in kirkwood.dtsi, migrate the mplcec4 board to
use the Device Tree to probe the SDIO controller and to mux the pins
of the SDIO interface correctly.

This patch has not been tested, it remains to be tested by a person
having access to the hardware.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Stefan Peter <s.peter@mpl.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/kirkwood-mplcec4.dts
arch/arm/mach-kirkwood/board-mplcec4.c

index 262c654..662dfd8 100644 (file)
                pinctrl: pinctrl@10000 {
 
                        pinctrl-0 = < &pmx_nand &pmx_uart0
-                                     &pmx_led_health &pmx_sdio
+                                     &pmx_led_health
                                      &pmx_sata0 &pmx_sata1
                                      &pmx_led_user1o
                                      &pmx_led_user1g &pmx_led_user0o
                                      &pmx_led_user0g &pmx_led_misc
-                                     &pmx_sdio_cd
                                    >;
                        pinctrl-names = "default";
 
                        status = "okay";
 
                };
+
+               mvsdio@90000 {
+                       pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
+                       pinctrl-names = "default";
+                       status = "okay";
+                       cd-gpios = <&gpio1 15 0>;
+                       /* No WP GPIO */
+               };
        };
 
        gpio-leds {
index 3264925..7d6dc66 100644 (file)
@@ -12,7 +12,6 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/mv643xx_eth.h>
-#include <linux/platform_data/mmc-mvsdio.h>
 #include "common.h"
 
 static struct mv643xx_eth_platform_data mplcec4_ge00_data = {
@@ -23,11 +22,6 @@ static struct mv643xx_eth_platform_data mplcec4_ge01_data = {
        .phy_addr       = MV643XX_ETH_PHY_ADDR(2),
 };
 
-static struct mvsdio_platform_data mplcec4_mvsdio_data = {
-       .gpio_card_detect = 47, /* MPP47 used as SD card detect */
-};
-
-
 void __init mplcec4_init(void)
 {
        /*
@@ -35,7 +29,6 @@ void __init mplcec4_init(void)
         */
        kirkwood_ge00_init(&mplcec4_ge00_data);
        kirkwood_ge01_init(&mplcec4_ge01_data);
-       kirkwood_sdio_init(&mplcec4_mvsdio_data);
        kirkwood_pcie_init(KW_PCIE0);
 }