Re: [U-Boot] [PATCH v1 2/2] ti814x_evm: enable support for NAND

On Tue, Aug 06, 2013 at 01:45:08PM +0530, Pekon Gupta wrote:
ti814x_evm has on-board socket for using Micron (MT29Fxx) family of NAND devices to GPMC interface. This patch
- adds NAND related pin-mux configuration for same
- adds #defines for NAND partitions to TI814x configs
- enables support for NAND in TI814x configs
[snip]
@@ -186,6 +193,14 @@ #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */ #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
+#ifdef CONFIG_SPL_OS_BOOT +/* nand */ +#define CONFIG_CMD_SPL_NAND_OFS 0x000000 /*
end of u-boot */
+#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 +#define CONFIG_CMD_SPL_WRITE_SIZE 0x1000 +#endif
Since you aren't adding the SD/MMC defines as well, nor setting SPL_OS_BOOT, lets drop these.
Sorry but dint get your feedback. Following are used in SPL boot for loading env and kernel in falcon mode. Referring: $UBOOT/common/spl/spl_nand.c - CONFIG_SYS_NAND_SPL_KERNEL_OFFS - CONFIG_CMD_SPL_WRITE_SIZE - CONFIG_CMD_SPL_NAND_OFS May be I put them in wrong place in include/configs/ti814x.h but these are required for NAND SPL boot. Please confirm ?
@@ -242,5 +283,32 @@ #define CONFIG_PHY_ADDR 1 #define CONFIG_PHY_ET1011C #define CONFIG_PHY_ET1011C_TX_CLK_FIX +#define CONFIG_NAND +/* NAND support */ +#ifdef CONFIG_NAND +#define CONFIG_MTD_NAND_OMAP_BCH +#define CONFIG_CMD_NAND +#define CONFIG_CMD_MTDPARTS +#define MTDIDS_DEFAULT "nand0=omap2-nand.0" +#define MTDPARTS_DEFAULT "mtdparts=omap2-
nand.0:128k(SPL)," \
"128k(u-boot-spl)," \
"2M(u-boot-main)," \
"128k(u-boot-env),4M(kernel),-
(rootfs)"
Lets get the partition tables right, we've still got 4 locations where ROM checks for something, so lets use those for SPL, then U-Boot, then U-Boot Env (redundant as well, please), and a block saved off for device tree/SPL OS "args" support, then kernel, rootfs.
I think TI814x ROM use different NAND layout than AM33xx devices. I used following NAND layout given in link below as reference: http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#EVM_Swit... These devices belong to omap3 family, but now are merged with am33xx.
+#define CONFIG_NAND_OMAP_GPMC +#define GPMC_NAND_ECC_LP_x16_LAYOUT 1 +#define NAND_BASE (0x08000000)
Don't need NAND_BASE.
Ok thanks.
- Also removing GPMC_NAND_ECC_LP_x16_LAYOUT as predefined nand_ecclayouts in omap_gpmc.h are not used anymore. - Trying to remove dependency on CONFIG_NAND_OMAP_GPMC as except legacy devices all new platform support ELM based ECC schemes.
+#define CONFIG_SYS_NAND_BASE (0x08000000) /* physical
address */
/* to access nand at> */
/* CS0 */
+#define CONFIG_SYS_MAX_NAND_DEVICE 1 +/* Max number of NAND devices */ +#define CONFIG_SYS_NAND_BOOT +#if !defined(CONFIG_SPI_BOOT) +#undef CONFIG_ENV_IS_NOWHERE +#define CONFIG_ENV_IS_IN_NAND +#define CONFIG_ENV_OFFSET 0x260000 /* environment
starts here */
+#define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ +#endif +#endif
And we don't support SPI boot or anything here, so lets just always do env on NAND until we have support for other things as well. Thanks!
Ok. yes I'll remove them..
with regards, pekon

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/16/2013 05:51 AM, Gupta, Pekon wrote:
On Tue, Aug 06, 2013 at 01:45:08PM +0530, Pekon Gupta wrote:
ti814x_evm has on-board socket for using Micron (MT29Fxx) family of NAND devices to GPMC interface. This patch
- adds NAND related pin-mux configuration for same
- adds #defines for NAND partitions to TI814x configs
- enables support for NAND in TI814x configs
[snip]
@@ -186,6 +193,14 @@ #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */ #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1 #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
+#ifdef CONFIG_SPL_OS_BOOT +/* nand */ +#define CONFIG_CMD_SPL_NAND_OFS 0x000000 /*
end of u-boot */
+#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 +#define CONFIG_CMD_SPL_WRITE_SIZE 0x1000 +#endif
Since you aren't adding the SD/MMC defines as well, nor setting SPL_OS_BOOT, lets drop these.
Sorry but dint get your feedback. Following are used in SPL boot for loading env and kernel in falcon mode. Referring: $UBOOT/common/spl/spl_nand.c
- CONFIG_SYS_NAND_SPL_KERNEL_OFFS
- CONFIG_CMD_SPL_WRITE_SIZE
- CONFIG_CMD_SPL_NAND_OFS
May be I put them in wrong place in include/configs/ti814x.h but these are required for NAND SPL boot. Please confirm ?
They are required for falcon mode yes, but only for falcon mode. And you don't set CONFIG_SPL_OS_BOOT to turn it on :)
@@ -242,5 +283,32 @@ #define CONFIG_PHY_ADDR 1 #define CONFIG_PHY_ET1011C #define CONFIG_PHY_ET1011C_TX_CLK_FIX +#define CONFIG_NAND +/* NAND support */ +#ifdef CONFIG_NAND +#define CONFIG_MTD_NAND_OMAP_BCH +#define CONFIG_CMD_NAND +#define CONFIG_CMD_MTDPARTS +#define MTDIDS_DEFAULT "nand0=omap2-nand.0" +#define MTDPARTS_DEFAULT "mtdparts=omap2-
nand.0:128k(SPL)," \
"128k(u-boot-spl)," \
"2M(u-boot-main)," \
"128k(u-boot-env),4M(kernel),-
(rootfs)"
Lets get the partition tables right, we've still got 4 locations where ROM checks for something, so lets use those for SPL, then U-Boot, then U-Boot Env (redundant as well, please), and a block saved off for device tree/SPL OS "args" support, then kernel, rootfs.
I think TI814x ROM use different NAND layout than AM33xx devices. I used following NAND layout given in link below as reference: http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#EVM_Swit... These devices belong to omap3 family, but now are merged with am33xx.
Yeah. OMAP3 and AM33xx (and am43xx) share the same redundancy locations. The PSP layout here is sub-optimal is all.
- -- Tom
participants (2)
-
Gupta, Pekon
-
Tom Rini