[U-Boot] [PATCH] warp7: Adjust CONFIG_MMCROOT for booting a mainline kernel

When booting a mainline kernel on warp7 we have: - mmc0: Wifi SDIO chip - mmc1: eMMC
, so point CONFIG_MMCROOT to use mmcblk1 instead.
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com --- include/configs/warp7.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/warp7.h b/include/configs/warp7.h index e59b16c..eaea4e6 100644 --- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -113,7 +113,7 @@
#define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 0 -#define CONFIG_MMCROOT "/dev/mmcblk2p2" +#define CONFIG_MMCROOT "/dev/mmcblk1p2"
/* USB Configs */ #define CONFIG_USB_STORAGE

On Thu, Aug 25, 2016 at 3:27 PM, Fabio Estevam fabio.estevam@nxp.com wrote:
When booting a mainline kernel on warp7 we have:
- mmc0: Wifi SDIO chip
- mmc1: eMMC
, so point CONFIG_MMCROOT to use mmcblk1 instead.
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com
As far as I know, the sold WaRP7 boards are shipped with the NXP kernel so if this patch is applied, the U-Boot won't work out of box for most of users.
From me, this is a NACK.

Hi Otavio,
On Thu, Aug 25, 2016 at 5:13 PM, Otavio Salvador otavio.salvador@ossystems.com.br wrote:
On Thu, Aug 25, 2016 at 3:27 PM, Fabio Estevam fabio.estevam@nxp.com wrote:
When booting a mainline kernel on warp7 we have:
- mmc0: Wifi SDIO chip
- mmc1: eMMC
, so point CONFIG_MMCROOT to use mmcblk1 instead.
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com
As far as I know, the sold WaRP7 boards are shipped with the NXP kernel so if this patch is applied, the U-Boot won't work out of box for most of users
Currently U-Boot mainline does not boot NXP kernel, so I am not breaking anything here.
To better handle NXP kernel I can add a 'warp7_secure_defconfig' and then do like this to handle the mmcroot:
--- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -113,7 +113,11 @@
#define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 0 -#define CONFIG_MMCROOT "/dev/mmcblk2p2" +#ifdef CONFIG_ARMV7_BOOT_SEC_DEFAULT +#define CONFIG_MMCROOT "/dev/mmcblk2p2" /* NXP kernel */ +#else +#define CONFIG_MMCROOT "/dev/mmcblk1p2" /* Mainline kernel */ +#endif

On Thu, Aug 25, 2016 at 5:26 PM, Fabio Estevam festevam@gmail.com wrote:
On Thu, Aug 25, 2016 at 5:13 PM, Otavio Salvador otavio.salvador@ossystems.com.br wrote:
On Thu, Aug 25, 2016 at 3:27 PM, Fabio Estevam fabio.estevam@nxp.com wrote:
When booting a mainline kernel on warp7 we have:
- mmc0: Wifi SDIO chip
- mmc1: eMMC
, so point CONFIG_MMCROOT to use mmcblk1 instead.
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com
As far as I know, the sold WaRP7 boards are shipped with the NXP kernel so if this patch is applied, the U-Boot won't work out of box for most of users
Currently U-Boot mainline does not boot NXP kernel, so I am not breaking anything here.
Well ...
warp7: Select secure boot
In order to boot NXP 4.1.15 we need to boot in secure mode.
So enable the variable CONFIG_ARMV7_BOOT_SEC_DEFAULT by default.
Signed-off-by: Breno Lima breno.lima@nxp.com
From Breno, sent to the mailing list, does fix this and so it does work.
To better handle NXP kernel I can add a 'warp7_secure_defconfig' and then do like this to handle the mmcroot:
--- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -113,7 +113,11 @@
#define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 0 -#define CONFIG_MMCROOT "/dev/mmcblk2p2" +#ifdef CONFIG_ARMV7_BOOT_SEC_DEFAULT +#define CONFIG_MMCROOT "/dev/mmcblk2p2" /* NXP kernel */ +#else +#define CONFIG_MMCROOT "/dev/mmcblk1p2" /* Mainline kernel */ +#endif
Someone using mainline kernel is expected to know how to set mmcroot variable or so. I would not include this patch at all.

On Thu, Aug 25, 2016 at 5:56 PM, Otavio Salvador otavio.salvador@ossystems.com.br wrote:
Well ...
warp7: Select secure boot
In order to boot NXP 4.1.15 we need to boot in secure mode.
So enable the variable CONFIG_ARMV7_BOOT_SEC_DEFAULT by default.
Signed-off-by: Breno Lima breno.lima@nxp.com
From Breno, sent to the mailing list, does fix this and so it does work.
No, this is only available in u-boot-fslc.
To better handle NXP kernel I can add a 'warp7_secure_defconfig' and then do like this to handle the mmcroot:
--- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -113,7 +113,11 @@
#define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 0 -#define CONFIG_MMCROOT "/dev/mmcblk2p2" +#ifdef CONFIG_ARMV7_BOOT_SEC_DEFAULT +#define CONFIG_MMCROOT "/dev/mmcblk2p2" /* NXP kernel */ +#else +#define CONFIG_MMCROOT "/dev/mmcblk1p2" /* Mainline kernel */ +#endif
Someone using mainline kernel is expected to know how to set mmcroot variable or so. I would not include this patch at all.
This would be a bad customer experience. Much better when things work out of the box.

On Thu, Aug 25, 2016 at 6:01 PM, Fabio Estevam festevam@gmail.com wrote:
On Thu, Aug 25, 2016 at 5:56 PM, Otavio Salvador otavio.salvador@ossystems.com.br wrote:
...
Someone using mainline kernel is expected to know how to set mmcroot variable or so. I would not include this patch at all.
This would be a bad customer experience. Much better when things work out of the box.
Mangling the mmcroot depending of secure boot is hidden things from user, in my point of view.
I am not the i.MX or WaRP7 maintainer so it is not my call but if I were to decide I prefer default to be kept working with NXP kernel. To accept this change, I would prefer if NXP kernel was changed in a way it uses same mmcroot as will be used in mainline so if user upgrades it, he/she has a consistent behaviour.

Hi Otavio,
On Thu, Aug 25, 2016 at 6:06 PM, Otavio Salvador otavio.salvador@ossystems.com.br wrote:
Mangling the mmcroot depending of secure boot is hidden things from user, in my point of view.
Yes, I agree.
It seems like a more elegant solution is to use UUID to specify the rootfs location.
Will prepare a v2.
Thanks
participants (3)
-
Fabio Estevam
-
Fabio Estevam
-
Otavio Salvador