Commit 7d536ce6aa004ca8963abdc9568a6799952c17b0
1 parent
79bc910696
Exists in
smarc-imx_v2014.04_3.14.28_1.0.0_ga
Move u-boot to SPI flash
Showing 2 changed files with 49 additions and 19 deletions Side-by-side Diff
board/embedian/smarcfimx6/smarcfimx6.c
... | ... | @@ -1276,37 +1276,67 @@ |
1276 | 1276 | #ifdef CONFIG_ENV_IS_IN_MMC |
1277 | 1277 | board_late_mmc_env_init(); |
1278 | 1278 | #endif |
1279 | - return 0; | |
1280 | -} | |
1281 | 1279 | |
1282 | -int checkboard(void) | |
1283 | -{ | |
1280 | +/* Check Board Revision */ | |
1284 | 1281 | setup_i2c(0, CONFIG_SYS_I2C_SPEED, |
1285 | 1282 | 0x50, &i2c_pad_info1); |
1286 | 1283 | |
1287 | 1284 | struct smarcfimx6_id header; |
1288 | 1285 | |
1289 | 1286 | if (read_eeprom(&header) < 0) |
1290 | - puts("Could not get board ID.\n"); | |
1287 | + puts("Could not get board ID.\n"); | |
1291 | 1288 | |
1292 | - if (revision_is_00a0(&header)) { | |
1293 | - puts("Board: SMARC-FiMX6 Rev.00A0\n"); | |
1289 | + if (revision_is_00a0(&header)) { | |
1290 | + puts("Board: SMARC-FiMX6 Rev.00A0\n"); | |
1294 | 1291 | |
1295 | - return 0; | |
1296 | - } else if (revision_is_00b0(&header)) { | |
1292 | + } else if (revision_is_00b0(&header)) { | |
1297 | 1293 | puts("Board: SMARC-FiMX6 Rev.00B0\n"); |
1298 | 1294 | |
1299 | - return 0; | |
1300 | - } else if (revision_is_00c0(&header)) { | |
1301 | - puts("Board: SMARC-FiMX6 Rev.00C0\n"); | |
1295 | + } else if (revision_is_00c0(&header)) { | |
1296 | + puts("Board: SMARC-FiMX6 Rev.00C0\n"); | |
1302 | 1297 | |
1303 | - return 0; | |
1304 | - } else { | |
1305 | - puts("Board: SMARC-FiMX6, Cannot find Revision number from EEPROM\n"); | |
1298 | + } else { | |
1299 | + puts("Board: SMARC-FiMX6, Cannot find Revision number from EEPROM\n"); | |
1306 | 1300 | |
1307 | - return 0; | |
1308 | - } | |
1309 | - | |
1301 | + return 0; | |
1302 | + } | |
1303 | + | |
1304 | +/* SMARC BOOT_SEL*/ | |
1305 | + if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 0)) { | |
1306 | + puts("BOOT_SEL Detected: OFF OFF OFF, Load zImage from Carrier SATA...\n"); | |
1307 | + setenv("root", "/dev/sda1 rootwait rw "); | |
1308 | + setenv("bootcmd", "sata init; sata read 0x12000000 0x800 0x4000; sata read 0x18000000 0x8000 0x800; bootz 0x12000000 - 0x18000000;"); | |
1309 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 1)) { | |
1310 | + puts("BOOT_SEL Detected: OFF OFF ON, USB Boot Up Not Defined...Carrier SPI Boot Not Supported...\n"); | |
1311 | + hang(); | |
1312 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 0)) { | |
1313 | + puts("BOOT_SEL Detected: OFF ON OFF, Load zImage from Carrier SDMMC...\n"); | |
1314 | + setenv_ulong("mmcdev", 1); | |
1315 | + setenv("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run loadzimage; run loadfdt; run mmcboot;"); | |
1316 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 0)) { | |
1317 | + puts("BOOT_SEL Detected: ON OFF OFF, Load zImage from Carrier SD Card...\n"); | |
1318 | + setenv_ulong("mmcdev", 0); | |
1319 | + setenv("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run loadzimage; run loadfdt; run mmcboot;"); | |
1320 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 1)) { | |
1321 | + puts("BOOT_SEL Detected: OFF ON ON, Load zImage from Module eMMC Flash...\n"); | |
1322 | + setenv_ulong("mmcdev", 2); | |
1323 | + setenv("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run loadzimage; run loadfdt; run mmcboot;"); | |
1324 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 0)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 1)) { | |
1325 | + puts("BOOT_SEL Detected: ON OFF ON, Load zImage from GBE...\n"); | |
1326 | + setenv("bootcmd", "run netboot;"); | |
1327 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 0)) { | |
1328 | + puts("Carrier SPI Boot 110\n"); | |
1329 | + hang(); | |
1330 | + } else if ((gpio_get_value(IMX_GPIO_NR(1, 4)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 5)) == 1)&&(gpio_get_value(IMX_GPIO_NR(1, 6)) == 1)) { | |
1331 | + puts("BOOT_SEL Detected: ON ON ON, MOdule SPI Boot up is Default, Load zImage from Module eMMC...\n"); | |
1332 | + setenv_ulong("mmcdev", 2); | |
1333 | + setenv("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run loadzimage; run loadfdt; run mmcboot;"); | |
1334 | + } else { | |
1335 | + puts("unsupported boot devices\n"); | |
1336 | + hang(); | |
1337 | + } | |
1338 | + | |
1339 | + return 0; | |
1310 | 1340 | } |
1311 | 1341 | |
1312 | 1342 | #ifdef CONFIG_FASTBOOT |
include/configs/smarcfimx6_common.h
... | ... | @@ -26,7 +26,6 @@ |
26 | 26 | |
27 | 27 | #define CONFIG_SYS_GENERIC_BOARD |
28 | 28 | #define CONFIG_DISPLAY_CPUINFO |
29 | -#define CONFIG_DISPLAY_BOARDINFO | |
30 | 29 | |
31 | 30 | #include <asm/arch/imx-regs.h> |
32 | 31 | #include <asm/imx-common/gpio.h> |
... | ... | @@ -337,6 +336,7 @@ |
337 | 336 | #define CONFIG_ENV_IS_IN_MMC |
338 | 337 | #endif |
339 | 338 | |
339 | +#define CONFIG_CMD_SATA | |
340 | 340 | #ifdef CONFIG_CMD_SATA |
341 | 341 | #define CONFIG_DWC_AHSATA |
342 | 342 | #define CONFIG_SYS_SATA_MAX_DEVICE 1 |