Commit 8d1a6ff825a42d28fc4031d4f111b05b6898d7e8
Committed by
Stefano Babic
1 parent
b4f4b0f54b
Exists in
smarc_8mq_lf_v2020.04
and in
17 other branches
imx: ventana: add GW5904 support
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Showing 10 changed files with 340 additions and 16 deletions Side-by-side Diff
- board/gateworks/gw_ventana/common.c
- board/gateworks/gw_ventana/common.h
- board/gateworks/gw_ventana/eeprom.c
- board/gateworks/gw_ventana/gw_ventana.c
- board/gateworks/gw_ventana/gw_ventana_spl.c
- board/gateworks/gw_ventana/ventana_eeprom.h
- configs/gwventana_emmc_defconfig
- configs/gwventana_gw5904_defconfig
- configs/gwventana_nand_defconfig
- include/configs/gw_ventana.h
board/gateworks/gw_ventana/common.c
... | ... | @@ -38,6 +38,19 @@ |
38 | 38 | } |
39 | 39 | |
40 | 40 | /* MMC */ |
41 | +static iomux_v3_cfg_t const gw5904_emmc_pads[] = { | |
42 | + IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
43 | + IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
44 | + IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
45 | + IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
46 | + IOMUX_PADS(PAD_SD3_DAT4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
47 | + IOMUX_PADS(PAD_SD3_DAT5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
48 | + IOMUX_PADS(PAD_SD3_DAT6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
49 | + IOMUX_PADS(PAD_SD3_DAT7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
50 | + IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
51 | + IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
52 | + IOMUX_PADS(PAD_SD3_RST__SD3_RESET | MUX_PAD_CTRL(USDHC_PAD_CTRL)), | |
53 | +}; | |
41 | 54 | static iomux_v3_cfg_t const usdhc3_pads[] = { |
42 | 55 | IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), |
43 | 56 | IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), |
... | ... | @@ -352,6 +365,41 @@ |
352 | 365 | IOMUX_PADS(PAD_GPIO_17__GPIO7_IO12 | DIO_PAD_CFG), |
353 | 366 | }; |
354 | 367 | |
368 | +static iomux_v3_cfg_t const gw5904_gpio_pads[] = { | |
369 | + /* USB_HUBRST# */ | |
370 | + IOMUX_PADS(PAD_GPIO_9__GPIO1_IO09 | DIO_PAD_CFG), | |
371 | + /* PANLEDG# */ | |
372 | + IOMUX_PADS(PAD_KEY_COL0__GPIO4_IO06 | DIO_PAD_CFG), | |
373 | + /* PANLEDR# */ | |
374 | + IOMUX_PADS(PAD_KEY_ROW0__GPIO4_IO07 | DIO_PAD_CFG), | |
375 | + /* MX6_LOCLED# */ | |
376 | + IOMUX_PADS(PAD_KEY_ROW4__GPIO4_IO15 | DIO_PAD_CFG), | |
377 | + /* IOEXP_PWREN# */ | |
378 | + IOMUX_PADS(PAD_EIM_A19__GPIO2_IO19 | DIO_PAD_CFG), | |
379 | + /* IOEXP_IRQ# */ | |
380 | + IOMUX_PADS(PAD_EIM_A20__GPIO2_IO18 | MUX_PAD_CTRL(IRQ_PAD_CTRL)), | |
381 | + /* DIOI2C_DIS# */ | |
382 | + IOMUX_PADS(PAD_GPIO_19__GPIO4_IO05 | DIO_PAD_CFG), | |
383 | + /* UART_RS485 */ | |
384 | + IOMUX_PADS(PAD_DISP0_DAT2__GPIO4_IO23 | DIO_PAD_CFG), | |
385 | + /* UART_HALF */ | |
386 | + IOMUX_PADS(PAD_DISP0_DAT3__GPIO4_IO24 | DIO_PAD_CFG), | |
387 | + /* SKT1_WDIS# */ | |
388 | + IOMUX_PADS(PAD_DISP0_DAT17__GPIO5_IO11 | DIO_PAD_CFG), | |
389 | + /* SKT1_RST# */ | |
390 | + IOMUX_PADS(PAD_DISP0_DAT18__GPIO5_IO12 | DIO_PAD_CFG), | |
391 | + /* SKT2_WDIS# */ | |
392 | + IOMUX_PADS(PAD_DISP0_DAT19__GPIO5_IO13 | DIO_PAD_CFG), | |
393 | + /* SKT2_RST# */ | |
394 | + IOMUX_PADS(PAD_GPIO_0__GPIO1_IO00 | DIO_PAD_CFG), | |
395 | + /* M2_OFF# */ | |
396 | + IOMUX_PADS(PAD_SD2_DAT0__GPIO1_IO15 | DIO_PAD_CFG), | |
397 | + /* M2_WDIS# */ | |
398 | + IOMUX_PADS(PAD_SD2_DAT1__GPIO1_IO14 | DIO_PAD_CFG), | |
399 | + /* M2_RST# */ | |
400 | + IOMUX_PADS(PAD_SD2_DAT2__GPIO1_IO13 | DIO_PAD_CFG), | |
401 | +}; | |
402 | + | |
355 | 403 | /* Digital I/O */ |
356 | 404 | struct dio_cfg gw51xx_dio[] = { |
357 | 405 | { |
... | ... | @@ -566,6 +614,81 @@ |
566 | 614 | }, |
567 | 615 | }; |
568 | 616 | |
617 | +struct dio_cfg gw5904_dio[] = { | |
618 | + { | |
619 | + { IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) }, | |
620 | + IMX_GPIO_NR(1, 16), | |
621 | + { 0, 0 }, | |
622 | + 0 | |
623 | + }, | |
624 | + { | |
625 | + { IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19) }, | |
626 | + IMX_GPIO_NR(1, 19), | |
627 | + { IOMUX_PADS(PAD_SD1_DAT2__PWM2_OUT) }, | |
628 | + 2 | |
629 | + }, | |
630 | + { | |
631 | + { IOMUX_PADS(PAD_SD1_DAT1__GPIO1_IO17) }, | |
632 | + IMX_GPIO_NR(1, 17), | |
633 | + { IOMUX_PADS(PAD_SD1_DAT1__PWM3_OUT) }, | |
634 | + 3 | |
635 | + }, | |
636 | + { | |
637 | + {IOMUX_PADS(PAD_SD1_CLK__GPIO1_IO20) }, | |
638 | + IMX_GPIO_NR(1, 20), | |
639 | + { 0, 0 }, | |
640 | + 0 | |
641 | + }, | |
642 | + { | |
643 | + {IOMUX_PADS(PAD_NANDF_D0__GPIO2_IO00) }, | |
644 | + IMX_GPIO_NR(2, 0), | |
645 | + { 0, 0 }, | |
646 | + 0 | |
647 | + }, | |
648 | + { | |
649 | + {IOMUX_PADS(PAD_NANDF_D1__GPIO2_IO01) }, | |
650 | + IMX_GPIO_NR(2, 1), | |
651 | + { 0, 0 }, | |
652 | + 0 | |
653 | + }, | |
654 | + { | |
655 | + {IOMUX_PADS(PAD_NANDF_D2__GPIO2_IO02) }, | |
656 | + IMX_GPIO_NR(2, 2), | |
657 | + { 0, 0 }, | |
658 | + 0 | |
659 | + }, | |
660 | + { | |
661 | + {IOMUX_PADS(PAD_NANDF_D3__GPIO2_IO03) }, | |
662 | + IMX_GPIO_NR(2, 3), | |
663 | + { 0, 0 }, | |
664 | + 0 | |
665 | + }, | |
666 | + { | |
667 | + {IOMUX_PADS(PAD_NANDF_D4__GPIO2_IO04) }, | |
668 | + IMX_GPIO_NR(2, 4), | |
669 | + { 0, 0 }, | |
670 | + 0 | |
671 | + }, | |
672 | + { | |
673 | + {IOMUX_PADS(PAD_NANDF_D5__GPIO2_IO05) }, | |
674 | + IMX_GPIO_NR(2, 5), | |
675 | + { 0, 0 }, | |
676 | + 0 | |
677 | + }, | |
678 | + { | |
679 | + {IOMUX_PADS(PAD_NANDF_D6__GPIO2_IO06) }, | |
680 | + IMX_GPIO_NR(2, 6), | |
681 | + { 0, 0 }, | |
682 | + 0 | |
683 | + }, | |
684 | + { | |
685 | + {IOMUX_PADS(PAD_NANDF_D7__GPIO2_IO07) }, | |
686 | + IMX_GPIO_NR(2, 7), | |
687 | + { 0, 0 }, | |
688 | + 0 | |
689 | + }, | |
690 | +}; | |
691 | + | |
569 | 692 | /* |
570 | 693 | * Board Specific GPIO |
571 | 694 | */ |
... | ... | @@ -588,6 +711,7 @@ |
588 | 711 | .dioi2c_en = IMX_GPIO_NR(4, 5), |
589 | 712 | .pcie_sson = IMX_GPIO_NR(1, 20), |
590 | 713 | .otgpwr_en = IMX_GPIO_NR(3, 22), |
714 | + .mmc_cd = IMX_GPIO_NR(7, 0), | |
591 | 715 | }, |
592 | 716 | |
593 | 717 | /* GW51xx */ |
... | ... | @@ -631,6 +755,7 @@ |
631 | 755 | .rs232_en = GP_RS232_EN, |
632 | 756 | .otgpwr_en = IMX_GPIO_NR(3, 22), |
633 | 757 | .vsel_pin = IMX_GPIO_NR(6, 14), |
758 | + .mmc_cd = IMX_GPIO_NR(7, 0), | |
634 | 759 | }, |
635 | 760 | |
636 | 761 | /* GW53xx */ |
... | ... | @@ -654,6 +779,7 @@ |
654 | 779 | .rs232_en = GP_RS232_EN, |
655 | 780 | .otgpwr_en = IMX_GPIO_NR(3, 22), |
656 | 781 | .vsel_pin = IMX_GPIO_NR(6, 14), |
782 | + .mmc_cd = IMX_GPIO_NR(7, 0), | |
657 | 783 | }, |
658 | 784 | |
659 | 785 | /* GW54xx */ |
... | ... | @@ -679,6 +805,7 @@ |
679 | 805 | .rs232_en = GP_RS232_EN, |
680 | 806 | .otgpwr_en = IMX_GPIO_NR(3, 22), |
681 | 807 | .vsel_pin = IMX_GPIO_NR(6, 14), |
808 | + .mmc_cd = IMX_GPIO_NR(7, 0), | |
682 | 809 | }, |
683 | 810 | |
684 | 811 | /* GW551x */ |
685 | 812 | |
... | ... | @@ -726,7 +853,25 @@ |
726 | 853 | .wdis = IMX_GPIO_NR(7, 12), |
727 | 854 | .otgpwr_en = IMX_GPIO_NR(3, 22), |
728 | 855 | .vsel_pin = IMX_GPIO_NR(6, 14), |
856 | + .mmc_cd = IMX_GPIO_NR(7, 0), | |
729 | 857 | }, |
858 | + | |
859 | + /* GW5904 */ | |
860 | + { | |
861 | + .gpio_pads = gw5904_gpio_pads, | |
862 | + .num_pads = ARRAY_SIZE(gw5904_gpio_pads)/2, | |
863 | + .dio_cfg = gw5904_dio, | |
864 | + .dio_num = ARRAY_SIZE(gw5904_dio), | |
865 | + .leds = { | |
866 | + IMX_GPIO_NR(4, 6), | |
867 | + IMX_GPIO_NR(4, 7), | |
868 | + IMX_GPIO_NR(4, 15), | |
869 | + }, | |
870 | + .pcie_rst = IMX_GPIO_NR(1, 0), | |
871 | + .mezz_pwren = IMX_GPIO_NR(2, 19), | |
872 | + .mezz_irq = IMX_GPIO_NR(2, 18), | |
873 | + .otgpwr_en = IMX_GPIO_NR(3, 22), | |
874 | + }, | |
730 | 875 | }; |
731 | 876 | |
732 | 877 | void setup_iomux_gpio(int board, struct ventana_board_info *info) |
... | ... | @@ -834,6 +979,30 @@ |
834 | 979 | gpio_direction_input(gpio_cfg[board].vsel_pin); |
835 | 980 | gpio_cfg[board].usd_vsel = !gpio_get_value(gpio_cfg[board].vsel_pin); |
836 | 981 | } |
982 | + | |
983 | + /* microSD CD */ | |
984 | + if (gpio_cfg[board].mmc_cd) { | |
985 | + gpio_request(gpio_cfg[board].mmc_cd, "sd_cd"); | |
986 | + gpio_direction_input(gpio_cfg[board].mmc_cd); | |
987 | + } | |
988 | + | |
989 | + /* Anything else board specific */ | |
990 | + switch(board) { | |
991 | + case GW5904: | |
992 | + gpio_request(IMX_GPIO_NR(5, 11), "skt1_wdis#"); | |
993 | + gpio_direction_output(IMX_GPIO_NR(5, 11), 1); | |
994 | + gpio_request(IMX_GPIO_NR(5, 12), "skt1_rst#"); | |
995 | + gpio_direction_output(IMX_GPIO_NR(5, 12), 1); | |
996 | + gpio_request(IMX_GPIO_NR(5, 13), "skt2_wdis#"); | |
997 | + gpio_direction_output(IMX_GPIO_NR(5, 13), 1); | |
998 | + gpio_request(IMX_GPIO_NR(1, 15), "m2_off#"); | |
999 | + gpio_direction_output(IMX_GPIO_NR(1, 15), 1); | |
1000 | + gpio_request(IMX_GPIO_NR(1, 14), "m2_wdis#"); | |
1001 | + gpio_direction_output(IMX_GPIO_NR(1, 14), 1); | |
1002 | + gpio_request(IMX_GPIO_NR(1, 13), "m2_rst#"); | |
1003 | + gpio_direction_output(IMX_GPIO_NR(1, 13), 1); | |
1004 | + break; | |
1005 | + } | |
837 | 1006 | } |
838 | 1007 | |
839 | 1008 | /* setup GPIO pinmux and default configuration per baseboard and env */ |
840 | 1009 | |
841 | 1010 | |
842 | 1011 | |
843 | 1012 | |
... | ... | @@ -995,20 +1164,57 @@ |
995 | 1164 | |
996 | 1165 | int board_mmc_init(bd_t *bis) |
997 | 1166 | { |
998 | - /* Only one USDHC controller on Ventana */ | |
999 | - SETUP_IOMUX_PADS(usdhc3_pads); | |
1000 | - usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); | |
1001 | - usdhc_cfg.max_bus_width = 4; | |
1167 | + struct ventana_board_info ventana_info; | |
1168 | + int board_type = read_eeprom(CONFIG_I2C_GSC, &ventana_info); | |
1169 | + int ret; | |
1002 | 1170 | |
1003 | - return fsl_esdhc_initialize(bis, &usdhc_cfg); | |
1171 | + switch (board_type) { | |
1172 | + case GW52xx: | |
1173 | + case GW53xx: | |
1174 | + case GW54xx: | |
1175 | + case GW553x: | |
1176 | + /* usdhc3: 4bit microSD */ | |
1177 | + SETUP_IOMUX_PADS(usdhc3_pads); | |
1178 | + usdhc_cfg.esdhc_base = USDHC3_BASE_ADDR; | |
1179 | + usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); | |
1180 | + usdhc_cfg.max_bus_width = 4; | |
1181 | + return fsl_esdhc_initialize(bis, &usdhc_cfg); | |
1182 | + case GW5904: | |
1183 | + /* usdhc3: 8bit eMMC */ | |
1184 | + SETUP_IOMUX_PADS(gw5904_emmc_pads); | |
1185 | + usdhc_cfg.esdhc_base = USDHC3_BASE_ADDR; | |
1186 | + usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); | |
1187 | + usdhc_cfg.max_bus_width = 8; | |
1188 | + return fsl_esdhc_initialize(bis, &usdhc_cfg); | |
1189 | + default: | |
1190 | + /* doesn't have MMC */ | |
1191 | + return -1; | |
1192 | + } | |
1004 | 1193 | } |
1005 | 1194 | |
1006 | 1195 | int board_mmc_getcd(struct mmc *mmc) |
1007 | 1196 | { |
1197 | + struct ventana_board_info ventana_info; | |
1198 | + struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv; | |
1199 | + int board = read_eeprom(CONFIG_I2C_GSC, &ventana_info); | |
1200 | + int gpio = gpio_cfg[board].mmc_cd; | |
1201 | + | |
1008 | 1202 | /* Card Detect */ |
1009 | - gpio_request(GP_SD3_CD, "sd_cd"); | |
1010 | - gpio_direction_input(GP_SD3_CD); | |
1011 | - return !gpio_get_value(GP_SD3_CD); | |
1203 | + switch (board) { | |
1204 | + case GW5904: | |
1205 | + /* emmc is always present */ | |
1206 | + if (cfg->esdhc_base == USDHC3_BASE_ADDR) | |
1207 | + return 1; | |
1208 | + break; | |
1209 | + } | |
1210 | + | |
1211 | + if (gpio) { | |
1212 | + debug("%s: gpio%d=%d\n", __func__, gpio, gpio_get_value(gpio)); | |
1213 | + return !gpio_get_value(gpio); | |
1214 | + } | |
1215 | + | |
1216 | + return -1; | |
1012 | 1217 | } |
1218 | + | |
1013 | 1219 | #endif /* CONFIG_FSL_ESDHC */ |
board/gateworks/gw_ventana/common.h
... | ... | @@ -13,7 +13,6 @@ |
13 | 13 | |
14 | 14 | /* GPIO's common to all baseboards */ |
15 | 15 | #define GP_PHY_RST IMX_GPIO_NR(1, 30) |
16 | -#define GP_SD3_CD IMX_GPIO_NR(7, 0) | |
17 | 16 | #define GP_RS232_EN IMX_GPIO_NR(2, 11) |
18 | 17 | #define GP_MSATA_SEL IMX_GPIO_NR(2, 8) |
19 | 18 | |
... | ... | @@ -79,6 +78,7 @@ |
79 | 78 | int rs232_en; |
80 | 79 | int otgpwr_en; |
81 | 80 | int vsel_pin; |
81 | + int mmc_cd; | |
82 | 82 | /* various features */ |
83 | 83 | bool usd_vsel; |
84 | 84 | }; |
board/gateworks/gw_ventana/eeprom.c
... | ... | @@ -64,6 +64,7 @@ |
64 | 64 | if (strncasecmp((const char *)info->model, "GW5400-A", 8) == 0) |
65 | 65 | baseboard = '0'; |
66 | 66 | |
67 | + type = GW_UNKNOWN; | |
67 | 68 | switch (baseboard) { |
68 | 69 | case '0': /* original GW5400-A prototype */ |
69 | 70 | type = GW54proto; |
... | ... | @@ -91,10 +92,10 @@ |
91 | 92 | type = GW553x; |
92 | 93 | break; |
93 | 94 | } |
94 | - /* fall through */ | |
95 | - default: | |
96 | - printf("EEPROM: Unknown model in EEPROM: %s\n", info->model); | |
97 | - type = GW_UNKNOWN; | |
95 | + break; | |
96 | + case '9': | |
97 | + if (info->model[4] == '0' && info->model[5] == '4') | |
98 | + type = GW5904; | |
98 | 99 | break; |
99 | 100 | } |
100 | 101 | return type; |
board/gateworks/gw_ventana/gw_ventana.c
... | ... | @@ -132,8 +132,9 @@ |
132 | 132 | /* toggle PHY_RST# */ |
133 | 133 | gpio_request(gpio, "phy_rst#"); |
134 | 134 | gpio_direction_output(gpio, 0); |
135 | - mdelay(2); | |
135 | + mdelay(10); | |
136 | 136 | gpio_set_value(gpio, 1); |
137 | + mdelay(100); | |
137 | 138 | } |
138 | 139 | |
139 | 140 | #ifdef CONFIG_USB_EHCI_MX6 |
... | ... | @@ -231,6 +232,38 @@ |
231 | 232 | |
232 | 233 | return 0; |
233 | 234 | } |
235 | + | |
236 | +#ifdef CONFIG_MV88E61XX_SWITCH | |
237 | +int mv88e61xx_hw_reset(struct phy_device *phydev) | |
238 | +{ | |
239 | + struct mii_dev *bus = phydev->bus; | |
240 | + | |
241 | + /* GPIO[0] output, CLK125 */ | |
242 | + debug("enabling RGMII_REFCLK\n"); | |
243 | + bus->write(bus, 0x1c /*MV_GLOBAL2*/, 0, | |
244 | + 0x1a /*MV_SCRATCH_MISC*/, | |
245 | + (1 << 15) | (0x62 /*MV_GPIO_DIR*/ << 8) | 0xfe); | |
246 | + bus->write(bus, 0x1c /*MV_GLOBAL2*/, 0, | |
247 | + 0x1a /*MV_SCRATCH_MISC*/, | |
248 | + (1 << 15) | (0x68 /*MV_GPIO01_CNTL*/ << 8) | 7); | |
249 | + | |
250 | + /* RGMII delay - Physical Control register bit[15:14] */ | |
251 | + debug("setting port%d RGMII rx/tx delay\n", CONFIG_MV88E61XX_CPU_PORT); | |
252 | + /* forced 1000mbps full-duplex link */ | |
253 | + bus->write(bus, 0x10 + CONFIG_MV88E61XX_CPU_PORT, 0, 1, 0xc0fe); | |
254 | + phydev->autoneg = AUTONEG_DISABLE; | |
255 | + phydev->speed = SPEED_1000; | |
256 | + phydev->duplex = DUPLEX_FULL; | |
257 | + | |
258 | + /* LED configuration: 7:4-green (8=Activity) 3:0 amber (9=10Link) */ | |
259 | + bus->write(bus, 0x10, 0, 0x16, 0x8089); | |
260 | + bus->write(bus, 0x11, 0, 0x16, 0x8089); | |
261 | + bus->write(bus, 0x12, 0, 0x16, 0x8089); | |
262 | + bus->write(bus, 0x13, 0, 0x16, 0x8089); | |
263 | + | |
264 | + return 0; | |
265 | +} | |
266 | +#endif // CONFIG_MV88E61XX_SWITCH | |
234 | 267 | |
235 | 268 | int board_eth_init(bd_t *bis) |
236 | 269 | { |
board/gateworks/gw_ventana/gw_ventana_spl.c
... | ... | @@ -608,6 +608,20 @@ |
608 | 608 | memset(__bss_start, 0, __bss_end - __bss_start); |
609 | 609 | } |
610 | 610 | |
611 | +void board_boot_order(u32 *spl_boot_list) | |
612 | +{ | |
613 | + spl_boot_list[0] = spl_boot_device(); | |
614 | + switch (spl_boot_list[0]) { | |
615 | + case BOOT_DEVICE_NAND: | |
616 | + spl_boot_list[1] = BOOT_DEVICE_MMC1; | |
617 | + spl_boot_list[2] = BOOT_DEVICE_UART; | |
618 | + break; | |
619 | + case BOOT_DEVICE_MMC1: | |
620 | + spl_boot_list[1] = BOOT_DEVICE_UART; | |
621 | + break; | |
622 | + } | |
623 | +} | |
624 | + | |
611 | 625 | /* called from board_init_r after gd setup if CONFIG_SPL_BOARD_INIT defined */ |
612 | 626 | /* its our chance to print info about boot device */ |
613 | 627 | void spl_board_init(void) |
board/gateworks/gw_ventana/ventana_eeprom.h
configs/gwventana_emmc_defconfig
configs/gwventana_gw5904_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_MX6=y | |
3 | +CONFIG_SPL_GPIO_SUPPORT=y | |
4 | +CONFIG_SPL_LIBCOMMON_SUPPORT=y | |
5 | +CONFIG_SPL_LIBGENERIC_SUPPORT=y | |
6 | +CONFIG_TARGET_GW_VENTANA=y | |
7 | +CONFIG_SPL_I2C_SUPPORT=y | |
8 | +CONFIG_SPL_MMC_SUPPORT=y | |
9 | +CONFIG_SPL_POWER_SUPPORT=y | |
10 | +CONFIG_SPL_SERIAL_SUPPORT=y | |
11 | +CONFIG_SPL_WATCHDOG_SUPPORT=y | |
12 | +CONFIG_VIDEO=y | |
13 | +CONFIG_SPL_STACK_R_ADDR=0x18000000 | |
14 | +CONFIG_FIT=y | |
15 | +CONFIG_FIT_VERBOSE=y | |
16 | +CONFIG_OF_BOARD_SETUP=y | |
17 | +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL" | |
18 | +CONFIG_BOOTDELAY=3 | |
19 | +# CONFIG_SYS_STDIO_DEREGISTER is not set | |
20 | +# CONFIG_DISPLAY_BOARDINFO is not set | |
21 | +CONFIG_BOARD_EARLY_INIT_F=y | |
22 | +CONFIG_SPL=y | |
23 | +CONFIG_SPL_STACK_R=y | |
24 | +CONFIG_SPL_DMA_SUPPORT=y | |
25 | +CONFIG_SPL_OS_BOOT=y | |
26 | +CONFIG_HUSH_PARSER=y | |
27 | +CONFIG_SYS_PROMPT="Ventana > " | |
28 | +CONFIG_CMD_BOOTZ=y | |
29 | +# CONFIG_CMD_IMLS is not set | |
30 | +# CONFIG_CMD_FLASH is not set | |
31 | +CONFIG_CMD_MMC=y | |
32 | +CONFIG_CMD_I2C=y | |
33 | +CONFIG_CMD_USB=y | |
34 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
35 | +CONFIG_CMD_GPIO=y | |
36 | +CONFIG_CMD_DHCP=y | |
37 | +CONFIG_CMD_MII=y | |
38 | +CONFIG_CMD_PING=y | |
39 | +CONFIG_CMD_CACHE=y | |
40 | +CONFIG_CMD_TIME=y | |
41 | +CONFIG_CMD_EXT2=y | |
42 | +CONFIG_CMD_EXT4=y | |
43 | +CONFIG_CMD_EXT4_WRITE=y | |
44 | +CONFIG_CMD_FAT=y | |
45 | +CONFIG_CMD_FS_GENERIC=y | |
46 | +CONFIG_CMD_UBI=y | |
47 | +CONFIG_DM=y | |
48 | +CONFIG_PHYLIB=y | |
49 | +CONFIG_MV88E61XX_SWITCH=y | |
50 | +CONFIG_MV88E61XX_CPU_PORT=5 | |
51 | +CONFIG_MV88E61XX_PHY_PORTS=0xf | |
52 | +CONFIG_MV88E61XX_FIXED_PORTS=0x0 | |
53 | +CONFIG_NETDEVICES=y | |
54 | +CONFIG_E1000=y | |
55 | +CONFIG_PCI=y | |
56 | +CONFIG_DM_SERIAL=y | |
57 | +CONFIG_USB=y | |
58 | +CONFIG_USB_STORAGE=y | |
59 | +CONFIG_USB_KEYBOARD=y | |
60 | +CONFIG_USB_GADGET=y | |
61 | +CONFIG_CI_UDC=y | |
62 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
63 | +CONFIG_G_DNL_MANUFACTURER="Gateworks" | |
64 | +CONFIG_G_DNL_VENDOR_NUM=0x0525 | |
65 | +CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 | |
66 | +# CONFIG_VIDEO_SW_CURSOR is not set | |
67 | +CONFIG_OF_LIBFDT=y | |
68 | +CONFIG_FDT_FIXUP_PARTITIONS=y |
configs/gwventana_nand_defconfig
include/configs/gw_ventana.h