[U-Boot] [PATCH 0/3] OMAP5: Improve uEVM support

Today, the eMMC on the omap5_uevm cannot be booted from, due to a bug in the save_boot_params function that tests for a range of XIP to MMC2. But in the case of OMAP5, MMC2 is eMMC boot partition and MMC2_2 is eMMC (main), and uEVM can only boot from MMC2_2. We cannot just update the test as-is because other platforms define away MMC2_2 to 0xFF as they cannot be passed that value. I've fixed this by making it clearer in the comments what we do, and use a platform definable variable to say where we must check the range for. This part has been tested on some relevant platforms for each case. While doing this, the question arose of how to partition eMMC (since u-boot must be written RAW and not put on FAT), so I've added GPT support for this. Finally, while in here I see we weren't using the fallbacks baud rate table, so I changed to that. This series will mildly conflict (mainly over the rename) with Sricharan's current series of fixes, so I shall resolve that.

In the case of booting from certain peripherals, such as UART, we must not see what the device descriptor says for RAW or FAT mode because in addition to being nonsensical, it leads to a hang. This is why we have a test currently for the boot mode being within range. The problem however is that on some platforms we get MMC2_2 as the boot mode and not the defined value for MMC2, and in others we get the value for MMC2_2. This is required to fix eMMC booting on omap5_uevm.
Tested on am335x_evm (UART, NAND, SD), omap3_beagle (NAND, SD on classic, SD only on xM rev C5) and omap5_uevm (SD, eMMC).
Signed-off-by: Tom Rini trini@ti.com --- arch/arm/cpu/armv7/omap-common/lowlevel_init.S | 10 +++++++--- arch/arm/include/asm/arch-am33xx/spl.h | 3 +++ arch/arm/include/asm/arch-omap3/spl.h | 3 +++ arch/arm/include/asm/arch-omap4/spl.h | 2 ++ arch/arm/include/asm/arch-omap5/spl.h | 2 ++ 5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S index b933fe8..90b3c8a 100644 --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S @@ -60,10 +60,14 @@ ENTRY(save_boot_params) ldr r3, =boot_params strb r2, [r3, #BOOT_DEVICE_OFFSET] @ spl_boot_device <- r1
- /* boot mode is passed only for devices that can raw/fat mode */ - cmp r2, #BOOT_DEVICE_XIP + /* + * boot mode is only valid for device that can be raw or FAT booted. + * in other cases it may be fatal to look. While platforms differ + * in the values used for each MMC slot, they are contiguous. + */ + cmp r2, #MMC_BOOT_DEVICES_START blt 2f - cmp r2, #BOOT_DEVICE_MMC2 + cmp r2, #MMC_BOOT_DEVICES_END bgt 2f /* Store the boot mode (raw/FAT) in omap_bootmode */ ldr r2, [r0, #DEV_DESC_PTR_OFFSET] @ get the device descriptor ptr diff --git a/arch/arm/include/asm/arch-am33xx/spl.h b/arch/arm/include/asm/arch-am33xx/spl.h index f60b086..14a2c7c 100644 --- a/arch/arm/include/asm/arch-am33xx/spl.h +++ b/arch/arm/include/asm/arch-am33xx/spl.h @@ -37,4 +37,7 @@ #define BOOT_DEVICE_USBETH 68 #define BOOT_DEVICE_CPGMAC 70 #define BOOT_DEVICE_MMC2_2 0xFF + +#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2 #endif diff --git a/arch/arm/include/asm/arch-omap3/spl.h b/arch/arm/include/asm/arch-omap3/spl.h index dec4dac..84e6d7b 100644 --- a/arch/arm/include/asm/arch-omap3/spl.h +++ b/arch/arm/include/asm/arch-omap3/spl.h @@ -31,4 +31,7 @@ #define BOOT_DEVICE_MMC1 6 #define BOOT_DEVICE_XIPWAIT 7 #define BOOT_DEVICE_MMC2_2 0xFF + +#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC2 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC1 #endif diff --git a/arch/arm/include/asm/arch-omap4/spl.h b/arch/arm/include/asm/arch-omap4/spl.h index 4e094f9..f61627f 100644 --- a/arch/arm/include/asm/arch-omap4/spl.h +++ b/arch/arm/include/asm/arch-omap4/spl.h @@ -32,4 +32,6 @@ #define BOOT_DEVICE_MMC2 6 #define BOOT_DEVICE_MMC2_2 0xFF
+#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2 #endif diff --git a/arch/arm/include/asm/arch-omap5/spl.h b/arch/arm/include/asm/arch-omap5/spl.h index 323cd63..d4d353c 100644 --- a/arch/arm/include/asm/arch-omap5/spl.h +++ b/arch/arm/include/asm/arch-omap5/spl.h @@ -32,4 +32,6 @@ #define BOOT_DEVICE_MMC2 6 #define BOOT_DEVICE_MMC2_2 7
+#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2_2 #endif

Hi Tom,
On Friday 05 April 2013 09:51 PM, Tom Rini wrote:
In the case of booting from certain peripherals, such as UART, we must not see what the device descriptor says for RAW or FAT mode because in addition to being nonsensical, it leads to a hang. This is why we have a test currently for the boot mode being within range. The problem however is that on some platforms we get MMC2_2 as the boot mode and not the defined value for MMC2, and in others we get the value for MMC2_2. This is required to fix eMMC booting on omap5_uevm.
Tested on am335x_evm (UART, NAND, SD), omap3_beagle (NAND, SD on classic, SD only on xM rev C5) and omap5_uevm (SD, eMMC).
Signed-off-by: Tom Rini trini@ti.com
arch/arm/cpu/armv7/omap-common/lowlevel_init.S | 10 +++++++--- arch/arm/include/asm/arch-am33xx/spl.h | 3 +++ arch/arm/include/asm/arch-omap3/spl.h | 3 +++ arch/arm/include/asm/arch-omap4/spl.h | 2 ++ arch/arm/include/asm/arch-omap5/spl.h | 2 ++ 5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S index b933fe8..90b3c8a 100644 --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S @@ -60,10 +60,14 @@ ENTRY(save_boot_params) ldr r3, =boot_params strb r2, [r3, #BOOT_DEVICE_OFFSET] @ spl_boot_device <- r1
- /* boot mode is passed only for devices that can raw/fat mode */
- cmp r2, #BOOT_DEVICE_XIP
- /*
* boot mode is only valid for device that can be raw or FAT booted.
* in other cases it may be fatal to look. While platforms differ
* in the values used for each MMC slot, they are contiguous.
*/
- cmp r2, #MMC_BOOT_DEVICES_START blt 2f
- cmp r2, #BOOT_DEVICE_MMC2
- cmp r2, #MMC_BOOT_DEVICES_END bgt 2f /* Store the boot mode (raw/FAT) in omap_bootmode */ ldr r2, [r0, #DEV_DESC_PTR_OFFSET] @ get the device descriptor ptr
diff --git a/arch/arm/include/asm/arch-am33xx/spl.h b/arch/arm/include/asm/arch-am33xx/spl.h index f60b086..14a2c7c 100644 --- a/arch/arm/include/asm/arch-am33xx/spl.h +++ b/arch/arm/include/asm/arch-am33xx/spl.h @@ -37,4 +37,7 @@ #define BOOT_DEVICE_USBETH 68 #define BOOT_DEVICE_CPGMAC 70 #define BOOT_DEVICE_MMC2_2 0xFF
+#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2 #endif diff --git a/arch/arm/include/asm/arch-omap3/spl.h b/arch/arm/include/asm/arch-omap3/spl.h index dec4dac..84e6d7b 100644 --- a/arch/arm/include/asm/arch-omap3/spl.h +++ b/arch/arm/include/asm/arch-omap3/spl.h @@ -31,4 +31,7 @@ #define BOOT_DEVICE_MMC1 6 #define BOOT_DEVICE_XIPWAIT 7 #define BOOT_DEVICE_MMC2_2 0xFF
+#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC2 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC1 #endif diff --git a/arch/arm/include/asm/arch-omap4/spl.h b/arch/arm/include/asm/arch-omap4/spl.h index 4e094f9..f61627f 100644 --- a/arch/arm/include/asm/arch-omap4/spl.h +++ b/arch/arm/include/asm/arch-omap4/spl.h @@ -32,4 +32,6 @@ #define BOOT_DEVICE_MMC2 6 #define BOOT_DEVICE_MMC2_2 0xFF
+#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2 #endif diff --git a/arch/arm/include/asm/arch-omap5/spl.h b/arch/arm/include/asm/arch-omap5/spl.h index 323cd63..d4d353c 100644 --- a/arch/arm/include/asm/arch-omap5/spl.h +++ b/arch/arm/include/asm/arch-omap5/spl.h @@ -32,4 +32,6 @@ #define BOOT_DEVICE_MMC2 6 #define BOOT_DEVICE_MMC2_2 7
+#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2_2 #endif
Acked-by: R Sricharan r.sricharan@ti.com

"Tom" == Tom Rini trini@ti.com writes:
Tom> In the case of booting from certain peripherals, such as UART, we must Tom> not see what the device descriptor says for RAW or FAT mode because in Tom> addition to being nonsensical, it leads to a hang. This is why we have Tom> a test currently for the boot mode being within range. The problem Tom> however is that on some platforms we get MMC2_2 as the boot mode and not Tom> the defined value for MMC2, and in others we get the value for MMC2_2. Tom> This is required to fix eMMC booting on omap5_uevm.
Tom> Tested on am335x_evm (UART, NAND, SD), omap3_beagle (NAND, SD on Tom> classic, SD only on xM rev C5) and omap5_uevm (SD, eMMC).
Tom> Signed-off-by: Tom Rini trini@ti.com Tom> --- Tom> arch/arm/cpu/armv7/omap-common/lowlevel_init.S | 10 +++++++--- Tom> arch/arm/include/asm/arch-am33xx/spl.h | 3 +++ Tom> arch/arm/include/asm/arch-omap3/spl.h | 3 +++ Tom> arch/arm/include/asm/arch-omap4/spl.h | 2 ++ Tom> arch/arm/include/asm/arch-omap5/spl.h | 2 ++ Tom> 5 files changed, 17 insertions(+), 3 deletions(-)
Tom> diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S Tom> index b933fe8..90b3c8a 100644 Tom> --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S Tom> +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S Tom> @@ -60,10 +60,14 @@ ENTRY(save_boot_params) Tom> ldr r3, =boot_params Tom> strb r2, [r3, #BOOT_DEVICE_OFFSET] @ spl_boot_device <- r1
Tom> - /* boot mode is passed only for devices that can raw/fat mode */ Tom> - cmp r2, #BOOT_DEVICE_XIP Tom> + /* Tom> + * boot mode is only valid for device that can be raw or FAT booted. Tom> + * in other cases it may be fatal to look. While platforms differ Tom> + * in the values used for each MMC slot, they are contiguous. Tom> + */ Tom> + cmp r2, #MMC_BOOT_DEVICES_START Tom> blt 2f Tom> - cmp r2, #BOOT_DEVICE_MMC2 Tom> + cmp r2, #MMC_BOOT_DEVICES_END Tom> bgt 2f Tom> /* Store the boot mode (raw/FAT) in omap_bootmode */ Tom> ldr r2, [r0, #DEV_DESC_PTR_OFFSET] @ get the device descriptor ptr Tom> diff --git a/arch/arm/include/asm/arch-am33xx/spl.h b/arch/arm/include/asm/arch-am33xx/spl.h Tom> index f60b086..14a2c7c 100644 Tom> --- a/arch/arm/include/asm/arch-am33xx/spl.h Tom> +++ b/arch/arm/include/asm/arch-am33xx/spl.h Tom> @@ -37,4 +37,7 @@ Tom> #define BOOT_DEVICE_USBETH 68 Tom> #define BOOT_DEVICE_CPGMAC 70 Tom> #define BOOT_DEVICE_MMC2_2 0xFF Tom> + Tom> +#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 Tom> +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2
Doesn't this break ti814x with the funky inverted mmc1/mmc2?

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 04/09/2013 10:52 AM, Peter Korsgaard wrote:
"Tom" == Tom Rini trini@ti.com writes:
Tom> In the case of booting from certain peripherals, such as UART, we must Tom> not see what the device descriptor says for RAW or FAT mode because in Tom> addition to being nonsensical, it leads to a hang. This is why we have Tom> a test currently for the boot mode being within range. The problem Tom> however is that on some platforms we get MMC2_2 as the boot mode and not Tom> the defined value for MMC2, and in others we get the value for MMC2_2. Tom> This is required to fix eMMC booting on omap5_uevm.
Tom> Tested on am335x_evm (UART, NAND, SD), omap3_beagle (NAND, SD on Tom> classic, SD only on xM rev C5) and omap5_uevm (SD, eMMC).
Tom> Signed-off-by: Tom Rini trini@ti.com Tom> --- Tom> arch/arm/cpu/armv7/omap-common/lowlevel_init.S | 10 +++++++--- Tom> arch/arm/include/asm/arch-am33xx/spl.h | 3 +++ Tom> arch/arm/include/asm/arch-omap3/spl.h | 3 +++ Tom> arch/arm/include/asm/arch-omap4/spl.h | 2 ++ Tom> arch/arm/include/asm/arch-omap5/spl.h | 2 ++ Tom> 5 files changed, 17 insertions(+), 3 deletions(-)
Tom> diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S Tom> index b933fe8..90b3c8a 100644 Tom> --- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S Tom> +++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S Tom> @@ -60,10 +60,14 @@ ENTRY(save_boot_params) Tom> ldr r3, =boot_params Tom> strb r2, [r3, #BOOT_DEVICE_OFFSET] @ spl_boot_device <- r1
Tom> - /* boot mode is passed only for devices that can raw/fat mode */ Tom> - cmp r2, #BOOT_DEVICE_XIP Tom> + /* Tom> + * boot mode is only valid for device that can be raw or FAT booted. Tom> +
- in other cases it may be fatal to look. While platforms differ
Tom> + * in the values used for each MMC slot, they are contiguous. Tom> + */ Tom> + cmp r2, #MMC_BOOT_DEVICES_START Tom> blt 2f Tom> - cmp r2, #BOOT_DEVICE_MMC2 Tom> + cmp r2, #MMC_BOOT_DEVICES_END Tom> bgt 2f Tom> /* Store the boot mode (raw/FAT) in omap_bootmode */ Tom> ldr r2, [r0, #DEV_DESC_PTR_OFFSET] @ get the device descriptor ptr Tom> diff --git a/arch/arm/include/asm/arch-am33xx/spl.h b/arch/arm/include/asm/arch-am33xx/spl.h Tom> index f60b086..14a2c7c 100644 Tom> --- a/arch/arm/include/asm/arch-am33xx/spl.h Tom> +++ b/arch/arm/include/asm/arch-am33xx/spl.h Tom> @@ -37,4 +37,7 @@ Tom> #define BOOT_DEVICE_USBETH 68 Tom> #define BOOT_DEVICE_CPGMAC 70 Tom> #define BOOT_DEVICE_MMC2_2 0xFF Tom> + Tom> +#define MMC_BOOT_DEVICES_START BOOT_DEVICE_MMC1 Tom> +#define MMC_BOOT_DEVICES_END BOOT_DEVICE_MMC2
Doesn't this break ti814x with the funky inverted mmc1/mmc2?
That's probably true, dang. I knew OMAP3 also had them swapped, number-wise but didn't recall until you said this that it doesn't use that code at all. I'll V2 this part. Thanks!
- -- Tom

The omap5_uevm platform has eMMC, and it makes sense to say that our default env storage shall reside there. Other platforms may not, so move this choice to the EVM config. In addition, we should provide some way to partition the flash for later usage, so take advantage of the GPT partition table support code and allow that to be setup with some reasonable defaults.
Cc: Sricharan R r.sricharan@ti.com Signed-off-by: Tom Rini trini@ti.com --- include/configs/omap5_common.h | 13 +++++-------- include/configs/omap5_evm.h | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index af97564..6ba5022 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -94,19 +94,12 @@ #define CONFIG_DRIVER_OMAP34XX_I2C #define CONFIG_I2C_MULTI_BUS
- /* MMC */ #define CONFIG_GENERIC_MMC #define CONFIG_MMC #define CONFIG_OMAP_HSMMC #define CONFIG_DOS_PARTITION
-/* MMC ENV related defines */ -#define CONFIG_ENV_IS_IN_MMC -#define CONFIG_SYS_MMC_ENV_DEV 1 /* SLOT2: eMMC(1) */ -#define CONFIG_ENV_OFFSET 0xE0000 -#define CONFIG_CMD_SAVEENV - #define CONFIG_SYS_CONSOLE_IS_IN_ENV
/* Flash */ @@ -124,7 +117,6 @@ #define CONFIG_CMD_FAT /* FAT support */ #define CONFIG_CMD_I2C /* I2C serial bus support */ #define CONFIG_CMD_MMC /* MMC support */ -#define CONFIG_CMD_SAVEENV
/* Disabled commands */ #undef CONFIG_CMD_NET @@ -140,11 +132,16 @@
#define CONFIG_ENV_OVERWRITE
+#ifndef PARTS_DEFAULT +#define PARTS_DEFAULT +#endif + #define CONFIG_EXTRA_ENV_SETTINGS \ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ + "partitions=" PARTS_DEFAULT "\0" \ "mmcdev=0\0" \ "mmcroot=/dev/mmcblk0p2 rw\0" \ "mmcrootfstype=ext3 rootwait\0" \ diff --git a/include/configs/omap5_evm.h b/include/configs/omap5_evm.h index 22a8e13..e490523 100644 --- a/include/configs/omap5_evm.h +++ b/include/configs/omap5_evm.h @@ -28,6 +28,12 @@ #ifndef __CONFIG_OMAP5_EVM_H #define __CONFIG_OMAP5_EVM_H
+/* Define the default GPT table for eMMC */ +#define PARTS_DEFAULT \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=u-boot,size=1792KiB,uuid=${uuid_gpt_u-boot};" \ + "name=rootfs,size=-,uuid=${uuid_gpt_rootfs}" + #include <configs/omap5_common.h>
/* TWL6035 */ @@ -35,6 +41,18 @@ #define CONFIG_TWL6035_POWER #endif
+/* MMC ENV related defines */ +#define CONFIG_ENV_IS_IN_MMC +#define CONFIG_SYS_MMC_ENV_DEV 1 /* SLOT2: eMMC(1) */ +#define CONFIG_ENV_OFFSET 0xE0000 +#define CONFIG_CMD_SAVEENV + +/* Enhance our eMMC support / experience. */ +#define CONFIG_CMD_GPT +#define CONFIG_EFI_PARTITION +#define CONFIG_PARTITION_UUIDS +#define CONFIG_CMD_PART + #define CONFIG_SYS_PROMPT "OMAP5430 EVM # "
#endif /* __CONFIG_OMAP5_EVM_H */

On Fri, Apr 05, 2013 at 12:21:45PM -0400, Tom Rini wrote:
The omap5_uevm platform has eMMC, and it makes sense to say that our default env storage shall reside there. Other platforms may not, so move this choice to the EVM config. In addition, we should provide some way to partition the flash for later usage, so take advantage of the GPT partition table support code and allow that to be setup with some reasonable defaults.
Cc: Sricharan R r.sricharan@ti.com Signed-off-by: Tom Rini trini@ti.com
With the following change (in addition to _evm.h -> _uevm.h):
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index 10a4939..28a306b 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -28,6 +28,8 @@ #ifndef __CONFIG_DRA7XX_EVM_H #define __CONFIG_DRA7XX_EVM_H
+#define CONFIG_ENV_IS_NOWHERE /* For now. */ + #include <configs/omap5_common.h>
#define CONFIG_DRA7XX /* in a TI DRA7XX core */
Applied to u-boot-ti/master. And the "for now" comment is about waiting until the platform is in some peoples hands and we can better evaluate defaults and so forth for it.

Cc: Sricharan R r.sricharan@ti.com Signed-off-by: Tom Rini trini@ti.com --- include/configs/omap5_common.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 6ba5022..a6348a6 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -85,8 +85,7 @@ #define CONFIG_SYS_NS16550_COM3 UART3_BASE
#define CONFIG_BAUDRATE 115200 -#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ - 115200} + /* I2C */ #define CONFIG_HARD_I2C #define CONFIG_SYS_I2C_SPEED 100000

On Fri, Apr 05, 2013 at 12:21:43PM -0400, Tom Rini wrote:
Today, the eMMC on the omap5_uevm cannot be booted from, due to a bug in the save_boot_params function that tests for a range of XIP to MMC2. But in the case of OMAP5, MMC2 is eMMC boot partition and MMC2_2 is eMMC (main), and uEVM can only boot from MMC2_2. We cannot just update the test as-is because other platforms define away MMC2_2 to 0xFF as they cannot be passed that value. I've fixed this by making it clearer in the comments what we do, and use a platform definable variable to say where we must check the range for. This part has been tested on some relevant platforms for each case. While doing this, the question arose of how to partition eMMC (since u-boot must be written RAW and not put on FAT), so I've added GPT support for this. Finally, while in here I see we weren't using the fallbacks baud rate table, so I changed to that. This series will mildly conflict (mainly over the rename) with Sricharan's current series of fixes, so I shall resolve that.
With the small change to 2/3, applied to u-boot-ti/master.

On Fri, Apr 05, 2013 at 12:21:43PM -0400, Tom Rini wrote:
Today, the eMMC on the omap5_uevm cannot be booted from, due to a bug in the save_boot_params function that tests for a range of XIP to MMC2. But in the case of OMAP5, MMC2 is eMMC boot partition and MMC2_2 is eMMC (main), and uEVM can only boot from MMC2_2. We cannot just update the test as-is because other platforms define away MMC2_2 to 0xFF as they cannot be passed that value. I've fixed this by making it clearer in the comments what we do, and use a platform definable variable to say where we must check the range for. This part has been tested on some relevant platforms for each case. While doing this, the question arose of how to partition eMMC (since u-boot must be written RAW and not put on FAT), so I've added GPT support for this. Finally, while in here I see we weren't using the fallbacks baud rate table, so I changed to that. This series will mildly conflict (mainly over the rename) with Sricharan's current series of fixes, so I shall resolve that.
With the change to 2/3, applied to u-boot-ti/master, thanks!
participants (3)
-
Peter Korsgaard
-
Sricharan R
-
Tom Rini