[PATCH v2 13/20] arm: kirkwood: mplcec4: use Device Tree to probe SDIO

Stefan Peter s.peter at mpl.ch
Thu Dec 27 07:32:00 EST 2012


on 21.12.2012 15:49, Thomas Petazzoni wrote:
> 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 at free-electrons.com>
> Cc: Stefan Peter <s.peter at mpl.ch>
> ---
> Changes since v1:
>  * Remove the useless header inclusion from board-mplcec4.c, now
>    that the SDIO interface is probed from the Device Tree.
>  * Reference the pmx_sdio muxing option from the DT node describing
>    the SDIO interface, in order to get proper muxing of this
>    interface.
> ---
>  arch/arm/boot/dts/kirkwood-mplcec4.dts |   11 +++++++++--
>  arch/arm/mach-kirkwood/board-mplcec4.c |    7 -------
>  2 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts
> index 262c654..662dfd8 100644
> --- a/arch/arm/boot/dts/kirkwood-mplcec4.dts
> +++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts
> @@ -20,12 +20,11 @@
>  		pinctrl: pinctrl at 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";
>  
> @@ -133,6 +132,14 @@
>  			status = "okay";
>  
>  		};
> +
> +		mvsdio at 90000 {
> +			pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
> +			pinctrl-names = "default";
> +			status = "okay";
> +			cd-gpios = <&gpio1 15 0>;
> +			/* No WP GPIO */
> +		};
>  	};
>  
>  	gpio-leds {
> diff --git a/arch/arm/mach-kirkwood/board-mplcec4.c b/arch/arm/mach-kirkwood/board-mplcec4.c
> index 56bfe5a..73a0332 100644
> --- a/arch/arm/mach-kirkwood/board-mplcec4.c
> +++ b/arch/arm/mach-kirkwood/board-mplcec4.c
> @@ -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"
>  #include "mpp.h"
>  
> @@ -24,11 +23,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)
>  {
>  	/*
> @@ -36,7 +30,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);
>  }
>  
> 

After applying "Fixes for 3.8-rc1" and"ARM: Kirkwood: Fix missing clk
for USB device" from Andrew to 3.8-rc1, I was able to test these patches
on the MPL CEC4 under 3.8-rc1. The mvsdio was fully functional.


Regards

Stefan Peter

-- 
MPL AG, Switzerland                     http://www.mpl.ch
Tel. +41 (0)56 483 34 34          Fax: +41(0)56 493 30 20



More information about the linux-arm-kernel mailing list