mx6ull_alientek_nand.h文件是 开发板的 uboot的一个配置文件。每个开发板都有一个 .h的配置文件。
mx6ull_alientek_nand.h 文件其实是 之前针对正点原子ALPHA开发板移植的 Uboot配置文件。
本文继上一篇文章的学习,地址如下:
uboot移植之mx6ull_alientek_nand.h文件详解二-CSDN博客
本文继续分析针对正点原子ALPHA开发板的 配置文件: mx6ull_alientek_nand.h。
继续分析 mx6ull_alientek_nand.h 文件的内容。
- #define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */
- #define CONFIG_SYS_MMC_ENV_PART 0 /* user area */
- #define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */
- /* NAND stuff */
- #ifdef CONFIG_SYS_USE_NAND
- #define CONFIG_CMD_NAND
- #define CONFIG_CMD_NAND_TRIMFFS
-
- #define CONFIG_NAND_MXS
- #define CONFIG_SYS_MAX_NAND_DEVICE 1
- #define CONFIG_SYS_NAND_BASE 0x40000000
- #define CONFIG_SYS_NAND_5_ADDR_CYCLE
- #define CONFIG_SYS_NAND_ONFI_DETECTION
-
- /* DMA stuff, needed for GPMI/MXS NAND support */
- #define CONFIG_APBH_DMA
- #define CONFIG_APBH_DMA_BURST
- #define CONFIG_APBH_DMA_BURST8
- #endif
与 NAND 有关的宏定义,如果使用 NAND 的话。
- #define CONFIG_ENV_SIZE SZ_8K
- #if defined(CONFIG_ENV_IS_IN_MMC)
- #define CONFIG_ENV_OFFSET (12 * SZ_64K)
- #elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)
- #define CONFIG_ENV_OFFSET (768 * 1024)
- #define CONFIG_ENV_SECT_SIZE (64 * 1024)
- #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS
- #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS
- #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE
- #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
- #elif defined(CONFIG_ENV_IS_IN_NAND)
- #undef CONFIG_ENV_SIZE
- #define CONFIG_ENV_OFFSET (60 << 20)
- #define CONFIG_ENV_SECT_SIZE (128 << 10)
- #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
- #endif
但是我们在做 uboot移植时,并没有使用到 usb。
- /* USB Configs */
- #define CONFIG_CMD_USB
- ............
- #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
- #endif
- #ifdef CONFIG_CMD_NET
- #define CONFIG_CMD_PING
- #define CONFIG_CMD_DHCP
- #define CONFIG_CMD_MII
- #define CONFIG_FEC_MXC
- #define CONFIG_MII
- #define CONFIG_FEC_ENET_DEV 1
-
- #if (CONFIG_FEC_ENET_DEV == 0)
- #define IMX_FEC_BASE ENET_BASE_ADDR
- #define CONFIG_FEC_MXC_PHYADDR 0x2
- #define CONFIG_FEC_XCV_TYPE RMII
- #elif (CONFIG_FEC_ENET_DEV == 1)
- #define IMX_FEC_BASE ENET2_BASE_ADDR
- #define CONFIG_FEC_MXC_PHYADDR 0x1
- #define CONFIG_FEC_XCV_TYPE RMII
- #endif
- #define CONFIG_ETHPRIME "FEC"
-
- #define CONFIG_PHYLIB
- #define CONFIG_PHY_MICREL
- #endif
例如,开启LCD,屏幕上显示 LOG图片等。
- #define CONFIG_IMX_THERMAL
-
- #ifndef CONFIG_SPL_BUILD
- #define CONFIG_VIDEO
- #ifdef CONFIG_VIDEO
- #define CONFIG_CFB_CONSOLE
- #define CONFIG_VIDEO_MXS
- #define CONFIG_VIDEO_LOGO
- #define CONFIG_VIDEO_SW_CURSOR
- #define CONFIG_VGA_AS_SINGLE_DEVICE
- #define CONFIG_SYS_CONSOLE_IS_IN_ENV
- #define CONFIG_SPLASH_SCREEN
- #define CONFIG_SPLASH_SCREEN_ALIGN
- #define CONFIG_CMD_BMP
- #define CONFIG_BMP_16BPP
- #define CONFIG_VIDEO_BMP_RLE8
- #define CONFIG_VIDEO_BMP_LOGO
- #define CONFIG_IMX_VIDEO_SKIP
- #endif
- #endif
-
- #define CONFIG_IOMUX_LPSR
-
- #if defined(CONFIG_ANDROID_SUPPORT)
- #include "mx6ullevk_android.h"
- #endif
-
- #endif
针对 uboot 的裁剪,其实通过 mx6ull_alientek_nand.h 头文件的更改可以完成。
mx6ull_alientek_nand.h头文件中,使用了很多功能。如果使能了某个功能,则这个功能对应的源码就会编译进 uboot里面。