mx6ull_alientek_nand.h文件是 开发板的 uboot的一个配置文件。每个开发板都有一个 .h的配置文件。
mx6ull_alientek_nand.h文件其实是 之前针对正点原子ALPHA开发板移植的 Uboot配置文件。
本文简单分析一下 针对正点原子ALPHA开发板的 配置文件: mx6ull_alientek_nand.h。
mx6ull_alientek_nand.h文件所在目录:uboot根目录下的 /include/configs
下面简单分析 mx6ull_alientek_nand.h文件内容。
mx6ull_alientek_nand.h文件调用的头文件如下:
- #include
- #include
- #include "mx6_common.h"
- #include
下面一个重要的代码是 设置 DDR容量,如下:
- #ifdef CONFIG_TARGET_MX6ULL_9X9_EVK
- #define PHYS_SDRAM_SIZE SZ_256M
- #define CONFIG_BOOTARGS_CMA_SIZE "cma=96M "
- #else
- #define PHYS_SDRAM_SIZE SZ_256M
- #define CONFIG_BOOTARGS_CMA_SIZE ""
- /* DCDC used on 14x14 EVK, no PMIC */
- #undef CONFIG_LDO_BYPASS_CHECK
- #endif
这里的 ALPHA开发板所使用的 IMX6ULL芯片,不是 9x9封装的,所以,就执行了else的代码: 正点原子ALPHA开发板 的 DDR容量是 256MB。
代码如下:
- #define CONFIG_DISPLAY_CPUINFO
- #define CONFIG_DISPLAY_BOARDINFO
-
- /* Size of malloc() pool */
- #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M)
-
- #define CONFIG_BOARD_EARLY_INIT_F
- #define CONFIG_BOARD_LATE_INIT
- #define CONFIG_MXC_UART
- #define CONFIG_MXC_UART_BASE UART1_BASE
-
- /* MMC Configs */
- #ifdef CONFIG_FSL_USDHC
- #define CONFIG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR
-
- /* NAND pin conflicts with usdhc2 */
- #ifdef CONFIG_SYS_USE_NAND
- #define CONFIG_SYS_FSL_USDHC_NUM 1
- #else
- #define CONFIG_SYS_FSL_USDHC_NUM 2
- #endif
- #endif
-
- /* I2C configs */
- #define CONFIG_CMD_I2C
- #ifdef CONFIG_CMD_I2C
- #define CONFIG_SYS_I2C
- #define CONFIG_SYS_I2C_MXC
- #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */
- #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */
- #define CONFIG_SYS_I2C_SPEED 100000
这里使用的 NAND,所以,只能使用一个 USDHC设备。
- #ifdef CONFIG_SYS_BOOT_NAND
- #define CONFIG_MFG_NAND_PARTITION "mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs) "
- #else
- #define CONFIG_MFG_NAND_PARTITION ""
- #endif
如下图所示:

- #define CONFIG_MFG_ENV_SETTINGS \
- "mfgtool_args=setenv bootargs console=${console},${baudrate} " \
- CONFIG_BOOTARGS_CMA_SIZE \
- "rdinit=/linuxrc " \
- "g_mass_storage.stall=0 g_mass_storage.removable=1 " \
- "g_mass_storage.file=/fat g_mass_storage.ro=1 " \
- "g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
- "g_mass_storage.iSerialNumber=\"\" "\
- CONFIG_MFG_NAND_PARTITION \
- "clk_ignore_unused "\
- "\0" \
- "initrd_addr=0x83800000\0" \
- "initrd_high=0xffffffff\0" \
- "bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \