[3/8] arm: imx7s-warp: Convert to DM MMC initialization

Message ID 20190103014444.11134-4-bryan.odonoghue@linaro.org
State Superseded
Headers show
Series
  • Convert i.MX7 WaRP7 ports to DM
Related show

Commit Message

Bryan O'Donoghue Jan. 3, 2019, 1:44 a.m.
Converts from fixed initialization of MMC to DM initialization of MMC.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
---
 arch/arm/dts/imx7s-warp.dts  | 11 -----------
 board/warp7/warp7.c          | 34 ----------------------------------
 configs/warp7_bl33_defconfig |  1 +
 configs/warp7_defconfig      |  1 +
 4 files changed, 2 insertions(+), 45 deletions(-)

Comments

Peng Fan Jan. 8, 2019, 1:22 p.m. | #1
Hi Bryan,

> -----Original Message-----

> From: Bryan O'Donoghue [mailto:bryan.odonoghue@linaro.org]

> Sent: 2019年1月3日 9:45

> To: u-boot@lists.denx.de

> Cc: Fabio Estevam <fabio.estevam@nxp.com>; Peng Fan

> <peng.fan@nxp.com>; Bryan O'Donoghue <bryan.odonoghue@linaro.org>;

> Albert Aribaud <albert.u.boot@aribaud.net>; Stefano Babic

> <sbabic@denx.de>

> Subject: [PATCH 3/8] arm: imx7s-warp: Convert to DM MMC initialization

> 

> Converts from fixed initialization of MMC to DM initialization of MMC.

> 

> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

> Cc: Albert Aribaud <albert.u.boot@aribaud.net>

> Cc: Peng Fan <peng.fan@nxp.com>

> Cc: Fabio Estevam <fabio.estevam@nxp.com>

> Cc: Stefano Babic <sbabic@denx.de>

> ---

>  arch/arm/dts/imx7s-warp.dts  | 11 -----------

>  board/warp7/warp7.c          | 34 ----------------------------------

>  configs/warp7_bl33_defconfig |  1 +

>  configs/warp7_defconfig      |  1 +

>  4 files changed, 2 insertions(+), 45 deletions(-)

> 

> diff --git a/arch/arm/dts/imx7s-warp.dts b/arch/arm/dts/imx7s-warp.dts

> index c44db20734..615ed7ed80 100644

> --- a/arch/arm/dts/imx7s-warp.dts

> +++ b/arch/arm/dts/imx7s-warp.dts

> @@ -251,17 +251,6 @@

>  	status = "okay";

>  };

> 

> -&usdhc1 {

> -	pinctrl-names = "default";

> -	pinctrl-0 = <&pinctrl_usdhc1>;

> -	bus-width = <4>;

> -	keep-power-in-suspend;

> -	no-1-8-v;

> -	non-removable;

> -	vmmc-supply = <&reg_brcm>;

> -	status = "okay";

> -};

> -


Why drop this node? Seems this is for SDIO wifi, Is there any issue if keep this node?

Regards,
Peng.

>  &usdhc3 {

>  	pinctrl-names = "default", "state_100mhz", "state_200mhz";

>  	pinctrl-0 = <&pinctrl_usdhc3>;

> diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c index

> 3d32b3eb52..146d722b15 100644

> --- a/board/warp7/warp7.c

> +++ b/board/warp7/warp7.c

> @@ -30,8 +30,6 @@ DECLARE_GLOBAL_DATA_PTR;

> 

>  #define UART_PAD_CTRL  (PAD_CTL_DSE_3P3V_49OHM |

> PAD_CTL_PUS_PU100KOHM | \

>  			PAD_CTL_HYS)

> -#define USDHC_PAD_CTRL (PAD_CTL_DSE_3P3V_32OHM |

> PAD_CTL_SRE_SLOW |	\

> -			PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU47KOHM)

> 

>  #define I2C_PAD_CTRL	(PAD_CTL_DSE_3P3V_32OHM |

> PAD_CTL_SRE_SLOW | \

>  	PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU100KOHM) @@

> -74,43 +72,11 @@ static iomux_v3_cfg_t const uart1_pads[] = {

>  	MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX |

> MUX_PAD_CTRL(UART_PAD_CTRL),  };

> 

> -static iomux_v3_cfg_t const usdhc3_pads[] = {

> -	MX7D_PAD_SD3_CLK__SD3_CLK     |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_CMD__SD3_CMD     |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA0__SD3_DATA0 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA1__SD3_DATA1 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA2__SD3_DATA2 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA3__SD3_DATA3 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA4__SD3_DATA4 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA5__SD3_DATA5 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA6__SD3_DATA6 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_DATA7__SD3_DATA7 |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -	MX7D_PAD_SD3_RESET_B__SD3_RESET_B |

> MUX_PAD_CTRL(USDHC_PAD_CTRL),

> -};

> -

>  static void setup_iomux_uart(void)

>  {

>  	imx_iomux_v3_setup_multiple_pads(uart1_pads,

> ARRAY_SIZE(uart1_pads));  };

> 

> -static struct fsl_esdhc_cfg usdhc_cfg[1] = {

> -	{USDHC3_BASE_ADDR},

> -};

> -

> -int board_mmc_getcd(struct mmc *mmc)

> -{

> -		/* Assume uSDHC3 emmc is always present */

> -		return 1;

> -}

> -

> -int board_mmc_init(bd_t *bis)

> -{

> -	imx_iomux_v3_setup_multiple_pads(usdhc3_pads,

> ARRAY_SIZE(usdhc3_pads));

> -	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);

> -

> -	return fsl_esdhc_initialize(bis, &usdhc_cfg[0]);

> -}

> -

>  int board_early_init_f(void)

>  {

>  	setup_iomux_uart();

> diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig

> index 12141fedd3..b2f943c775 100644

> --- a/configs/warp7_bl33_defconfig

> +++ b/configs/warp7_bl33_defconfig

> @@ -24,6 +24,7 @@ CONFIG_OF_CONTROL=y

>  CONFIG_CMD_FS_GENERIC=y

>  CONFIG_NET_RANDOM_ETHADDR=y

>  CONFIG_DFU_MMC=y

> +CONFIG_DM_MMC=y

>  CONFIG_FSL_ESDHC=y

>  CONFIG_USB=y

>  CONFIG_USB_EHCI_HCD=y

> diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index

> fee98dfbbe..65d801ffe2 100644

> --- a/configs/warp7_defconfig

> +++ b/configs/warp7_defconfig

> @@ -33,6 +33,7 @@ CONFIG_OF_CONTROL=y

>  CONFIG_CMD_FS_GENERIC=y

>  CONFIG_NET_RANDOM_ETHADDR=y

>  CONFIG_DFU_MMC=y

> +CONFIG_DM_MMC=y

>  CONFIG_FSL_ESDHC=y

>  CONFIG_OPTEE=y

>  CONFIG_USB=y

> --

> 2.20.0
Bryan O'Donoghue Jan. 9, 2019, 11:19 a.m. | #2
On 08/01/2019 13:22, Peng Fan wrote:
> Hi Bryan,
> 
>> -----Original Message-----
>> From: Bryan O'Donoghue [mailto:bryan.odonoghue@linaro.org]
>> Sent: 2019年1月3日 9:45
>> To: u-boot@lists.denx.de
>> Cc: Fabio Estevam <fabio.estevam@nxp.com>; Peng Fan
>> <peng.fan@nxp.com>; Bryan O'Donoghue <bryan.odonoghue@linaro.org>;
>> Albert Aribaud <albert.u.boot@aribaud.net>; Stefano Babic
>> <sbabic@denx.de>
>> Subject: [PATCH 3/8] arm: imx7s-warp: Convert to DM MMC initialization
>>
>> Converts from fixed initialization of MMC to DM initialization of MMC.
>>
>> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
>> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
>> Cc: Peng Fan <peng.fan@nxp.com>
>> Cc: Fabio Estevam <fabio.estevam@nxp.com>
>> Cc: Stefano Babic <sbabic@denx.de>
>> ---
>>   arch/arm/dts/imx7s-warp.dts  | 11 -----------
>>   board/warp7/warp7.c          | 34 ----------------------------------
>>   configs/warp7_bl33_defconfig |  1 +
>>   configs/warp7_defconfig      |  1 +
>>   4 files changed, 2 insertions(+), 45 deletions(-)
>>
>> diff --git a/arch/arm/dts/imx7s-warp.dts b/arch/arm/dts/imx7s-warp.dts
>> index c44db20734..615ed7ed80 100644
>> --- a/arch/arm/dts/imx7s-warp.dts
>> +++ b/arch/arm/dts/imx7s-warp.dts
>> @@ -251,17 +251,6 @@
>>   	status = "okay";
>>   };
>>
>> -&usdhc1 {
>> -	pinctrl-names = "default";
>> -	pinctrl-0 = <&pinctrl_usdhc1>;
>> -	bus-width = <4>;
>> -	keep-power-in-suspend;
>> -	no-1-8-v;
>> -	non-removable;
>> -	vmmc-supply = <&reg_brcm>;
>> -	status = "okay";
>> -};
>> -
> 
> Why drop this node? Seems this is for SDIO wifi, Is there any issue if keep this node?


Actually no, we can keep it since we use an alias to conjoin usdhc3 to 
mmc0 later on.

I'll do that.

Patch

diff --git a/arch/arm/dts/imx7s-warp.dts b/arch/arm/dts/imx7s-warp.dts
index c44db20734..615ed7ed80 100644
--- a/arch/arm/dts/imx7s-warp.dts
+++ b/arch/arm/dts/imx7s-warp.dts
@@ -251,17 +251,6 @@ 
 	status = "okay";
 };
 
-&usdhc1 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_usdhc1>;
-	bus-width = <4>;
-	keep-power-in-suspend;
-	no-1-8-v;
-	non-removable;
-	vmmc-supply = <&reg_brcm>;
-	status = "okay";
-};
-
 &usdhc3 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 	pinctrl-0 = <&pinctrl_usdhc3>;
diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c
index 3d32b3eb52..146d722b15 100644
--- a/board/warp7/warp7.c
+++ b/board/warp7/warp7.c
@@ -30,8 +30,6 @@  DECLARE_GLOBAL_DATA_PTR;
 
 #define UART_PAD_CTRL  (PAD_CTL_DSE_3P3V_49OHM | PAD_CTL_PUS_PU100KOHM | \
 			PAD_CTL_HYS)
-#define USDHC_PAD_CTRL (PAD_CTL_DSE_3P3V_32OHM | PAD_CTL_SRE_SLOW |	\
-			PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU47KOHM)
 
 #define I2C_PAD_CTRL	(PAD_CTL_DSE_3P3V_32OHM | PAD_CTL_SRE_SLOW | \
 	PAD_CTL_HYS | PAD_CTL_PUE | PAD_CTL_PUS_PU100KOHM)
@@ -74,43 +72,11 @@  static iomux_v3_cfg_t const uart1_pads[] = {
 	MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
 };
 
-static iomux_v3_cfg_t const usdhc3_pads[] = {
-	MX7D_PAD_SD3_CLK__SD3_CLK     | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_CMD__SD3_CMD     | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_DATA7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-	MX7D_PAD_SD3_RESET_B__SD3_RESET_B | MUX_PAD_CTRL(USDHC_PAD_CTRL),
-};
-
 static void setup_iomux_uart(void)
 {
 	imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
 };
 
-static struct fsl_esdhc_cfg usdhc_cfg[1] = {
-	{USDHC3_BASE_ADDR},
-};
-
-int board_mmc_getcd(struct mmc *mmc)
-{
-		/* Assume uSDHC3 emmc is always present */
-		return 1;
-}
-
-int board_mmc_init(bd_t *bis)
-{
-	imx_iomux_v3_setup_multiple_pads(usdhc3_pads, ARRAY_SIZE(usdhc3_pads));
-	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
-
-	return fsl_esdhc_initialize(bis, &usdhc_cfg[0]);
-}
-
 int board_early_init_f(void)
 {
 	setup_iomux_uart();
diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig
index 12141fedd3..b2f943c775 100644
--- a/configs/warp7_bl33_defconfig
+++ b/configs/warp7_bl33_defconfig
@@ -24,6 +24,7 @@  CONFIG_OF_CONTROL=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DFU_MMC=y
+CONFIG_DM_MMC=y
 CONFIG_FSL_ESDHC=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
index fee98dfbbe..65d801ffe2 100644
--- a/configs/warp7_defconfig
+++ b/configs/warp7_defconfig
@@ -33,6 +33,7 @@  CONFIG_OF_CONTROL=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DFU_MMC=y
+CONFIG_DM_MMC=y
 CONFIG_FSL_ESDHC=y
 CONFIG_OPTEE=y
 CONFIG_USB=y