Commit 7d536ce6aa004ca8963abdc9568a6799952c17b0

Authored by Eric Lee
1 parent 79bc910696

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