diff mbox series

Nokia RX-51: Convert to CONFIG_DM_MMC

Message ID 20201121223317.14347-1-pali@kernel.org
State Accepted
Delegated to: Lokesh Vutla
Headers show
Series Nokia RX-51: Convert to CONFIG_DM_MMC | expand

Commit Message

Pali Rohár Nov. 21, 2020, 10:33 p.m. UTC
Move twl4030_power_mmc_init() from board_mmc_power_init() to misc_init_r()
and disable CONFIG_SYS_MALLOC_F. Otherwise U-Boot cannot initialize MMC.
Also disable CONFIG_CMD_SLEEP and CONFIG_DM_DEVICE_REMOVE to free some
space.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 board/nokia/rx51/rx51.c      | 32 ++++++++++++++++----------------
 configs/nokia_rx51_defconfig |  4 ++++
 2 files changed, 20 insertions(+), 16 deletions(-)

Comments

Lokesh Vutla Dec. 22, 2020, 1:56 p.m. UTC | #1
Hi Pali,

[...snip...]

> +++ b/configs/nokia_rx51_defconfig
> @@ -29,6 +29,7 @@ CONFIG_CMD_BOOTMENU=y
>  # CONFIG_CMD_SAVEENV is not set
>  # CONFIG_CMD_ENV_EXISTS is not set
>  # CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_SLEEP is not set
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
> @@ -62,3 +63,6 @@ CONFIG_SPLASH_SCREEN=y
>  # CONFIG_GZIP is not set
>  CONFIG_DM=y
>  CONFIG_DM_I2C=y
> +CONFIG_DM_MMC=y
> +# CONFIG_DM_DEVICE_REMOVE is not set
> +# CONFIG_SYS_MALLOC_F is not set

I am not able to apply this hunk. Is there any dependency on this patch?

Thanks and regards,
Lokesh

>
Pali Rohár Dec. 22, 2020, 2 p.m. UTC | #2
On Tuesday 22 December 2020 19:26:21 Lokesh Vutla wrote:
> Hi Pali,
> 
> [...snip...]
> 
> > +++ b/configs/nokia_rx51_defconfig
> > @@ -29,6 +29,7 @@ CONFIG_CMD_BOOTMENU=y
> >  # CONFIG_CMD_SAVEENV is not set
> >  # CONFIG_CMD_ENV_EXISTS is not set
> >  # CONFIG_CMD_FLASH is not set
> > +# CONFIG_CMD_SLEEP is not set
> >  CONFIG_CMD_GPIO=y
> >  CONFIG_CMD_I2C=y
> >  CONFIG_CMD_MMC=y
> > @@ -62,3 +63,6 @@ CONFIG_SPLASH_SCREEN=y
> >  # CONFIG_GZIP is not set
> >  CONFIG_DM=y
> >  CONFIG_DM_I2C=y
> > +CONFIG_DM_MMC=y
> > +# CONFIG_DM_DEVICE_REMOVE is not set
> > +# CONFIG_SYS_MALLOC_F is not set
> 
> I am not able to apply this hunk. Is there any dependency on this patch?

Hello! In this git branch are applied all patches in the correct order:
https://github.com/pali/u-boot/commits/nokia-rx51

So this patch has dependency on "Nokia RX-51: Decrease i2c speed to
100000" patch.

> Thanks and regards,
> Lokesh
> 
> >
Lokesh Vutla Dec. 22, 2020, 2:50 p.m. UTC | #3
On 22/12/20 7:30 pm, Pali Rohár wrote:
> On Tuesday 22 December 2020 19:26:21 Lokesh Vutla wrote:
>> Hi Pali,
>>
>> [...snip...]
>>
>>> +++ b/configs/nokia_rx51_defconfig
>>> @@ -29,6 +29,7 @@ CONFIG_CMD_BOOTMENU=y
>>>  # CONFIG_CMD_SAVEENV is not set
>>>  # CONFIG_CMD_ENV_EXISTS is not set
>>>  # CONFIG_CMD_FLASH is not set
>>> +# CONFIG_CMD_SLEEP is not set
>>>  CONFIG_CMD_GPIO=y
>>>  CONFIG_CMD_I2C=y
>>>  CONFIG_CMD_MMC=y
>>> @@ -62,3 +63,6 @@ CONFIG_SPLASH_SCREEN=y
>>>  # CONFIG_GZIP is not set
>>>  CONFIG_DM=y
>>>  CONFIG_DM_I2C=y
>>> +CONFIG_DM_MMC=y
>>> +# CONFIG_DM_DEVICE_REMOVE is not set
>>> +# CONFIG_SYS_MALLOC_F is not set
>>
>> I am not able to apply this hunk. Is there any dependency on this patch?
> 
> Hello! In this git branch are applied all patches in the correct order:
> https://github.com/pali/u-boot/commits/nokia-rx51

One of the patch caused Gitlab pipeline failure. Can you check
https://pastebin.ubuntu.com/p/fjQKyBYQdj/?

> 
> So this patch has dependency on "Nokia RX-51: Decrease i2c speed to
> 100000" patch.
> 
>> Thanks and regards,
>> Lokesh
>>
>>>
Pali Rohár Dec. 22, 2020, 3:01 p.m. UTC | #4
On Tuesday 22 December 2020 20:20:26 Lokesh Vutla wrote:
> 
> 
> On 22/12/20 7:30 pm, Pali Rohár wrote:
> > On Tuesday 22 December 2020 19:26:21 Lokesh Vutla wrote:
> >> Hi Pali,
> >>
> >> [...snip...]
> >>
> >>> +++ b/configs/nokia_rx51_defconfig
> >>> @@ -29,6 +29,7 @@ CONFIG_CMD_BOOTMENU=y
> >>>  # CONFIG_CMD_SAVEENV is not set
> >>>  # CONFIG_CMD_ENV_EXISTS is not set
> >>>  # CONFIG_CMD_FLASH is not set
> >>> +# CONFIG_CMD_SLEEP is not set
> >>>  CONFIG_CMD_GPIO=y
> >>>  CONFIG_CMD_I2C=y
> >>>  CONFIG_CMD_MMC=y
> >>> @@ -62,3 +63,6 @@ CONFIG_SPLASH_SCREEN=y
> >>>  # CONFIG_GZIP is not set
> >>>  CONFIG_DM=y
> >>>  CONFIG_DM_I2C=y
> >>> +CONFIG_DM_MMC=y
> >>> +# CONFIG_DM_DEVICE_REMOVE is not set
> >>> +# CONFIG_SYS_MALLOC_F is not set
> >>
> >> I am not able to apply this hunk. Is there any dependency on this patch?
> > 
> > Hello! In this git branch are applied all patches in the correct order:
> > https://github.com/pali/u-boot/commits/nokia-rx51
> 
> One of the patch caused Gitlab pipeline failure. Can you check
> https://pastebin.ubuntu.com/p/fjQKyBYQdj/?

Have you used patches in the correct order?

Because I put my above branch to github testing pipeline and all tests
passed. See results:

https://github.com/u-boot/u-boot/pull/40
https://travis-ci.org/github/u-boot/u-boot/builds/746775905
https://github.com/u-boot/u-boot/runs/1474847620

> > 
> > So this patch has dependency on "Nokia RX-51: Decrease i2c speed to
> > 100000" patch.
> > 
> >> Thanks and regards,
> >> Lokesh
> >>
> >>>
Lokesh Vutla Jan. 5, 2021, 6:22 a.m. UTC | #5
On 22/11/20 4:03 am, Pali Rohár wrote:
> Move twl4030_power_mmc_init() from board_mmc_power_init() to misc_init_r()
> and disable CONFIG_SYS_MALLOC_F. Otherwise U-Boot cannot initialize MMC.
> Also disable CONFIG_CMD_SLEEP and CONFIG_DM_DEVICE_REMOVE to free some
> space.
> 
> Signed-off-by: Pali Rohár <pali@kernel.org>
> ---
>  board/nokia/rx51/rx51.c      | 32 ++++++++++++++++----------------
>  configs/nokia_rx51_defconfig |  4 ++++
>  2 files changed, 20 insertions(+), 16 deletions(-)
> 
> diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
> index 2dd41604c9..7390e5be65 100644
> --- a/board/nokia/rx51/rx51.c
> +++ b/board/nokia/rx51/rx51.c
> @@ -415,6 +415,8 @@ int misc_init_r(void)
>  
>  	/* initialize twl4030 power managment */
>  	twl4030_power_init();
> +	twl4030_power_mmc_init(0);
> +	twl4030_power_mmc_init(1);
>  
>  	/* set VSIM to 1.8V */
>  	twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VSIM_DEDICATED,
> @@ -686,22 +688,18 @@ int rx51_kp_getc(struct stdio_dev *sdev)
>  	return keybuf[keybuf_head++];
>  }
>  
> -/*
> - * Routine: board_mmc_init
> - * Description: Initialize mmc devices.
> - */
> -int board_mmc_init(struct bd_info *bis)
> -{
> -	omap_mmc_init(0, 0, 0, -1, -1);
> -	omap_mmc_init(1, 0, 0, -1, -1);
> -	return 0;
> -}
> +static const struct mmc_config rx51_mmc_cfg = {
> +	.host_caps = MMC_MODE_4BIT | MMC_MODE_HS_52MHz | MMC_MODE_HS,
> +	.f_min = 400000,
> +	.f_max = 52000000,
> +	.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT,
> +	.voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195,
> +};
>  
> -void board_mmc_power_init(void)
> -{
> -	twl4030_power_mmc_init(0);
> -	twl4030_power_mmc_init(1);
> -}
> +static const struct omap_hsmmc_plat rx51_mmc[] = {
> +	{ rx51_mmc_cfg, (struct hsmmc *)OMAP_HSMMC1_BASE },
> +	{ rx51_mmc_cfg, (struct hsmmc *)OMAP_HSMMC2_BASE },
> +};
>  
>  static const struct omap_i2c_platdata rx51_i2c[] = {
>  	{ I2C_BASE1, 100000, OMAP_I2C_REV_V1 },
> @@ -709,7 +707,9 @@ static const struct omap_i2c_platdata rx51_i2c[] = {
>  	{ I2C_BASE3, 100000, OMAP_I2C_REV_V1 },
>  };
>  
> -U_BOOT_DEVICES(rx51_i2c) = {
> +U_BOOT_DEVICES(rx51) = {
> +	{ "omap_hsmmc", &rx51_mmc[0] },
> +	{ "omap_hsmmc", &rx51_mmc[1] },
>  	{ "i2c_omap", &rx51_i2c[0] },
>  	{ "i2c_omap", &rx51_i2c[1] },
>  	{ "i2c_omap", &rx51_i2c[2] },
> diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
> index 6310a12aaa..0f05fe6fc3 100644
> --- a/configs/nokia_rx51_defconfig
> +++ b/configs/nokia_rx51_defconfig
> @@ -29,6 +29,7 @@ CONFIG_CMD_BOOTMENU=y
>  # CONFIG_CMD_SAVEENV is not set
>  # CONFIG_CMD_ENV_EXISTS is not set
>  # CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_SLEEP is not set
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
> @@ -62,3 +63,6 @@ CONFIG_SPLASH_SCREEN=y
>  # CONFIG_GZIP is not set
>  CONFIG_DM=y
>  CONFIG_DM_I2C=y
> +CONFIG_DM_MMC=y
> +# CONFIG_DM_DEVICE_REMOVE is not set
> +# CONFIG_SYS_MALLOC_F is not set

As you suggested disabled MMC_VERBOSE and applied to u-boot-ti/for-next branch.

Thanks and regards,
Lokesh

>
Lokesh Vutla Jan. 11, 2021, 11:12 a.m. UTC | #6
Hi Pali,

On 22/11/20 4:03 am, Pali Rohár wrote:
> Move twl4030_power_mmc_init() from board_mmc_power_init() to misc_init_r()
> and disable CONFIG_SYS_MALLOC_F. Otherwise U-Boot cannot initialize MMC.
> Also disable CONFIG_CMD_SLEEP and CONFIG_DM_DEVICE_REMOVE to free some
> space.
> 
> Signed-off-by: Pali Rohár <pali@kernel.org>
> ---
>  board/nokia/rx51/rx51.c      | 32 ++++++++++++++++----------------
>  configs/nokia_rx51_defconfig |  4 ++++
>  2 files changed, 20 insertions(+), 16 deletions(-)
> 
> diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
> index 2dd41604c9..7390e5be65 100644
> --- a/board/nokia/rx51/rx51.c
> +++ b/board/nokia/rx51/rx51.c
> @@ -415,6 +415,8 @@ int misc_init_r(void)
>  
>  	/* initialize twl4030 power managment */
>  	twl4030_power_init();
> +	twl4030_power_mmc_init(0);
> +	twl4030_power_mmc_init(1);
>  
>  	/* set VSIM to 1.8V */
>  	twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VSIM_DEDICATED,
> @@ -686,22 +688,18 @@ int rx51_kp_getc(struct stdio_dev *sdev)
>  	return keybuf[keybuf_head++];
>  }
>  
> -/*
> - * Routine: board_mmc_init
> - * Description: Initialize mmc devices.
> - */
> -int board_mmc_init(struct bd_info *bis)
> -{
> -	omap_mmc_init(0, 0, 0, -1, -1);
> -	omap_mmc_init(1, 0, 0, -1, -1);
> -	return 0;
> -}
> +static const struct mmc_config rx51_mmc_cfg = {
> +	.host_caps = MMC_MODE_4BIT | MMC_MODE_HS_52MHz | MMC_MODE_HS,
> +	.f_min = 400000,
> +	.f_max = 52000000,
> +	.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT,
> +	.voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195,
> +};
>  
> -void board_mmc_power_init(void)
> -{
> -	twl4030_power_mmc_init(0);
> -	twl4030_power_mmc_init(1);
> -}
> +static const struct omap_hsmmc_plat rx51_mmc[] = {
> +	{ rx51_mmc_cfg, (struct hsmmc *)OMAP_HSMMC1_BASE },
> +	{ rx51_mmc_cfg, (struct hsmmc *)OMAP_HSMMC2_BASE },
> +};
>  
>  static const struct omap_i2c_platdata rx51_i2c[] = {
>  	{ I2C_BASE1, 100000, OMAP_I2C_REV_V1 },
> @@ -709,7 +707,9 @@ static const struct omap_i2c_platdata rx51_i2c[] = {
>  	{ I2C_BASE3, 100000, OMAP_I2C_REV_V1 },
>  };
>  
> -U_BOOT_DEVICES(rx51_i2c) = {
> +U_BOOT_DEVICES(rx51) = {

Tom has raised few questions on this when sending the PR, can you please clarify?

Thanks and regards,
Lokesh

> +	{ "omap_hsmmc", &rx51_mmc[0] },
> +	{ "omap_hsmmc", &rx51_mmc[1] },
>  	{ "i2c_omap", &rx51_i2c[0] },
>  	{ "i2c_omap", &rx51_i2c[1] },
>  	{ "i2c_omap", &rx51_i2c[2] },
> diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
> index 6310a12aaa..0f05fe6fc3 100644
> --- a/configs/nokia_rx51_defconfig
> +++ b/configs/nokia_rx51_defconfig
> @@ -29,6 +29,7 @@ CONFIG_CMD_BOOTMENU=y
>  # CONFIG_CMD_SAVEENV is not set
>  # CONFIG_CMD_ENV_EXISTS is not set
>  # CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_SLEEP is not set
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
> @@ -62,3 +63,6 @@ CONFIG_SPLASH_SCREEN=y
>  # CONFIG_GZIP is not set
>  CONFIG_DM=y
>  CONFIG_DM_I2C=y
> +CONFIG_DM_MMC=y
> +# CONFIG_DM_DEVICE_REMOVE is not set
> +# CONFIG_SYS_MALLOC_F is not set
>
diff mbox series

Patch

diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c
index 2dd41604c9..7390e5be65 100644
--- a/board/nokia/rx51/rx51.c
+++ b/board/nokia/rx51/rx51.c
@@ -415,6 +415,8 @@  int misc_init_r(void)
 
 	/* initialize twl4030 power managment */
 	twl4030_power_init();
+	twl4030_power_mmc_init(0);
+	twl4030_power_mmc_init(1);
 
 	/* set VSIM to 1.8V */
 	twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VSIM_DEDICATED,
@@ -686,22 +688,18 @@  int rx51_kp_getc(struct stdio_dev *sdev)
 	return keybuf[keybuf_head++];
 }
 
-/*
- * Routine: board_mmc_init
- * Description: Initialize mmc devices.
- */
-int board_mmc_init(struct bd_info *bis)
-{
-	omap_mmc_init(0, 0, 0, -1, -1);
-	omap_mmc_init(1, 0, 0, -1, -1);
-	return 0;
-}
+static const struct mmc_config rx51_mmc_cfg = {
+	.host_caps = MMC_MODE_4BIT | MMC_MODE_HS_52MHz | MMC_MODE_HS,
+	.f_min = 400000,
+	.f_max = 52000000,
+	.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT,
+	.voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195,
+};
 
-void board_mmc_power_init(void)
-{
-	twl4030_power_mmc_init(0);
-	twl4030_power_mmc_init(1);
-}
+static const struct omap_hsmmc_plat rx51_mmc[] = {
+	{ rx51_mmc_cfg, (struct hsmmc *)OMAP_HSMMC1_BASE },
+	{ rx51_mmc_cfg, (struct hsmmc *)OMAP_HSMMC2_BASE },
+};
 
 static const struct omap_i2c_platdata rx51_i2c[] = {
 	{ I2C_BASE1, 100000, OMAP_I2C_REV_V1 },
@@ -709,7 +707,9 @@  static const struct omap_i2c_platdata rx51_i2c[] = {
 	{ I2C_BASE3, 100000, OMAP_I2C_REV_V1 },
 };
 
-U_BOOT_DEVICES(rx51_i2c) = {
+U_BOOT_DEVICES(rx51) = {
+	{ "omap_hsmmc", &rx51_mmc[0] },
+	{ "omap_hsmmc", &rx51_mmc[1] },
 	{ "i2c_omap", &rx51_i2c[0] },
 	{ "i2c_omap", &rx51_i2c[1] },
 	{ "i2c_omap", &rx51_i2c[2] },
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index 6310a12aaa..0f05fe6fc3 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -29,6 +29,7 @@  CONFIG_CMD_BOOTMENU=y
 # CONFIG_CMD_SAVEENV is not set
 # CONFIG_CMD_ENV_EXISTS is not set
 # CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_SLEEP is not set
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
@@ -62,3 +63,6 @@  CONFIG_SPLASH_SCREEN=y
 # CONFIG_GZIP is not set
 CONFIG_DM=y
 CONFIG_DM_I2C=y
+CONFIG_DM_MMC=y
+# CONFIG_DM_DEVICE_REMOVE is not set
+# CONFIG_SYS_MALLOC_F is not set