Commit 5769f671a9e5b21ed38cc98618235dac899bd401

Authored by Eric Lee
1 parent 89054a546f

Minor bugs fixed

Showing 18 changed files with 40 additions and 43 deletions Inline Diff

board/embedian/smarcfimx6/smarcfimx6.c
1 /* 1 /*
2 * Copyright (C) 2012-2016 Freescale Semiconductor, Inc. 2 * Copyright (C) 2012-2016 Freescale Semiconductor, Inc.
3 * Copyright 2017-2018 NXP 3 * Copyright 2017-2018 NXP
4 * 4 *
5 * Author: Fabio Estevam <fabio.estevam@freescale.com> 5 * Author: Fabio Estevam <fabio.estevam@freescale.com>
6 * 6 *
7 * SPDX-License-Identifier: GPL-2.0+ 7 * SPDX-License-Identifier: GPL-2.0+
8 */ 8 */
9 9
10 #include <asm/arch/clock.h> 10 #include <asm/arch/clock.h>
11 #include <asm/arch/imx-regs.h> 11 #include <asm/arch/imx-regs.h>
12 #include <asm/arch/iomux.h> 12 #include <asm/arch/iomux.h>
13 #include <asm/arch/mx6-pins.h> 13 #include <asm/arch/mx6-pins.h>
14 #include <asm/mach-imx/spi.h> 14 #include <asm/mach-imx/spi.h>
15 #include <linux/errno.h> 15 #include <linux/errno.h>
16 #include <asm/gpio.h> 16 #include <asm/gpio.h>
17 #include <asm/mach-imx/mxc_i2c.h> 17 #include <asm/mach-imx/mxc_i2c.h>
18 #include <asm/mach-imx/iomux-v3.h> 18 #include <asm/mach-imx/iomux-v3.h>
19 #include <asm/mach-imx/boot_mode.h> 19 #include <asm/mach-imx/boot_mode.h>
20 #include <asm/mach-imx/video.h> 20 #include <asm/mach-imx/video.h>
21 #include <mmc.h> 21 #include <mmc.h>
22 #include <fsl_esdhc.h> 22 #include <fsl_esdhc.h>
23 #include <miiphy.h> 23 #include <miiphy.h>
24 #include <netdev.h> 24 #include <netdev.h>
25 #include <asm/arch/mxc_hdmi.h> 25 #include <asm/arch/mxc_hdmi.h>
26 #include <asm/arch/crm_regs.h> 26 #include <asm/arch/crm_regs.h>
27 #include <asm/io.h> 27 #include <asm/io.h>
28 #include <asm/arch/sys_proto.h> 28 #include <asm/arch/sys_proto.h>
29 #include <pwm.h> 29 #include <pwm.h>
30 #include <i2c.h> 30 #include <i2c.h>
31 #include <input.h> 31 #include <input.h>
32 #include <usb.h> 32 #include <usb.h>
33 #include <usb/ehci-ci.h> 33 #include <usb/ehci-ci.h>
34 #include <asm/arch/mx6-ddr.h> 34 #include <asm/arch/mx6-ddr.h>
35 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC) 35 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC)
36 #include <lcd.h> 36 #include <lcd.h>
37 #include <mxc_epdc_fb.h> 37 #include <mxc_epdc_fb.h>
38 #endif 38 #endif
39 #ifdef CONFIG_SATA 39 #ifdef CONFIG_SATA
40 #include <asm/mach-imx/sata.h> 40 #include <asm/mach-imx/sata.h>
41 #endif 41 #endif
42 #ifdef CONFIG_FSL_FASTBOOT 42 #ifdef CONFIG_FSL_FASTBOOT
43 #include <fsl_fastboot.h> 43 #include <fsl_fastboot.h>
44 #ifdef CONFIG_ANDROID_RECOVERY 44 #ifdef CONFIG_ANDROID_RECOVERY
45 #include <recovery.h> 45 #include <recovery.h>
46 #endif 46 #endif
47 #endif /*CONFIG_FSL_FASTBOOT*/ 47 #endif /*CONFIG_FSL_FASTBOOT*/
48 48
49 DECLARE_GLOBAL_DATA_PTR; 49 DECLARE_GLOBAL_DATA_PTR;
50 50
51 #define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | \ 51 #define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
52 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \ 52 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
53 PAD_CTL_SRE_FAST | PAD_CTL_HYS) 53 PAD_CTL_SRE_FAST | PAD_CTL_HYS)
54 54
55 #define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP | \ 55 #define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP | \
56 PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm | \ 56 PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm | \
57 PAD_CTL_SRE_FAST | PAD_CTL_HYS) 57 PAD_CTL_SRE_FAST | PAD_CTL_HYS)
58 58
59 #define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | \ 59 #define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
60 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS) 60 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
61 61
62 #define SPI_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_SPEED_MED | \ 62 #define SPI_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_SPEED_MED | \
63 PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST) 63 PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
64 64
65 #define WEAK_PULLUP (PAD_CTL_PUS_100K_UP | \ 65 #define WEAK_PULLUP (PAD_CTL_PUS_100K_UP | \
66 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ 66 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
67 PAD_CTL_SRE_SLOW) 67 PAD_CTL_SRE_SLOW)
68 68
69 #define I2C_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ 69 #define I2C_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
70 PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ 70 PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
71 PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ 71 PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
72 PAD_CTL_ODE | PAD_CTL_SRE_FAST) 72 PAD_CTL_ODE | PAD_CTL_SRE_FAST)
73 73
74 #define LCD_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_SPEED_HIGH | \ 74 #define LCD_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_SPEED_HIGH | \
75 PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST) 75 PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
76 76
77 #define EPDC_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_SPEED_MED | \ 77 #define EPDC_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_SPEED_MED | \
78 PAD_CTL_DSE_40ohm | PAD_CTL_HYS) 78 PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
79 79
80 #define OTG_ID_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ 80 #define OTG_ID_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
81 PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | \ 81 PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | \
82 PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS) 82 PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS)
83 83
84 84
85 #define WEAK_PULLUP (PAD_CTL_PUS_100K_UP | \ 85 #define WEAK_PULLUP (PAD_CTL_PUS_100K_UP | \
86 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ 86 PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
87 PAD_CTL_SRE_SLOW) 87 PAD_CTL_SRE_SLOW)
88 88
89 #define I2C_PAD MUX_PAD_CTRL(I2C_PAD_CTRL) 89 #define I2C_PAD MUX_PAD_CTRL(I2C_PAD_CTRL)
90 90
91 #define DISP0_PWR_EN IMX_GPIO_NR(1, 02) 91 #define DISP0_PWR_EN IMX_GPIO_NR(1, 02)
92 92
93 #define OUTPUT_40OHM (PAD_CTL_SPEED_MED|PAD_CTL_DSE_40ohm) 93 #define OUTPUT_40OHM (PAD_CTL_SPEED_MED|PAD_CTL_DSE_40ohm)
94 94
95 int dram_init(void) 95 int dram_init(void)
96 { 96 {
97 gd->ram_size = imx_ddr_size(); 97 gd->ram_size = imx_ddr_size();
98 return 0; 98 return 0;
99 } 99 }
100 100
101 /* SER0/UART1 */ 101 /* SER0/UART1 */
102 iomux_v3_cfg_t const uart1_pads[] = { 102 iomux_v3_cfg_t const uart1_pads[] = {
103 IOMUX_PADS(PAD_SD3_DAT7__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 103 IOMUX_PADS(PAD_SD3_DAT7__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
104 IOMUX_PADS(PAD_SD3_DAT6__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 104 IOMUX_PADS(PAD_SD3_DAT6__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
105 IOMUX_PADS(PAD_EIM_D20__UART1_CTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)), 105 IOMUX_PADS(PAD_EIM_D20__UART1_CTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)),
106 IOMUX_PADS(PAD_EIM_D19__UART1_RTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)), 106 IOMUX_PADS(PAD_EIM_D19__UART1_RTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)),
107 }; 107 };
108 108
109 /* SER1/UART2 */ 109 /* SER1/UART2 */
110 iomux_v3_cfg_t const uart2_pads[] = { 110 iomux_v3_cfg_t const uart2_pads[] = {
111 IOMUX_PADS(PAD_EIM_D26__UART2_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 111 IOMUX_PADS(PAD_EIM_D26__UART2_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
112 IOMUX_PADS(PAD_EIM_D27__UART2_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 112 IOMUX_PADS(PAD_EIM_D27__UART2_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
113 }; 113 };
114 114
115 /* SER2/UART4 */ 115 /* SER2/UART4 */
116 iomux_v3_cfg_t const uart4_pads[] = { 116 iomux_v3_cfg_t const uart4_pads[] = {
117 IOMUX_PADS(PAD_CSI0_DAT12__UART4_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 117 IOMUX_PADS(PAD_CSI0_DAT12__UART4_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
118 IOMUX_PADS(PAD_CSI0_DAT13__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 118 IOMUX_PADS(PAD_CSI0_DAT13__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
119 IOMUX_PADS(PAD_CSI0_DAT16__UART4_CTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)), 119 IOMUX_PADS(PAD_CSI0_DAT16__UART4_CTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)),
120 IOMUX_PADS(PAD_CSI0_DAT17__UART4_RTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)), 120 IOMUX_PADS(PAD_CSI0_DAT17__UART4_RTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)),
121 }; 121 };
122 122
123 /* SER3/UART5 Default Debug Port */ 123 /* SER3/UART5 Default Debug Port */
124 iomux_v3_cfg_t const uart5_pads[] = { 124 iomux_v3_cfg_t const uart5_pads[] = {
125 IOMUX_PADS(PAD_CSI0_DAT14__UART5_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 125 IOMUX_PADS(PAD_CSI0_DAT14__UART5_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
126 IOMUX_PADS(PAD_CSI0_DAT15__UART5_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), 126 IOMUX_PADS(PAD_CSI0_DAT15__UART5_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
127 }; 127 };
128 128
129 iomux_v3_cfg_t const wdt_pads[] = { 129 iomux_v3_cfg_t const wdt_pads[] = {
130 IOMUX_PADS(PAD_EIM_D16__GPIO3_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)), 130 IOMUX_PADS(PAD_EIM_D16__GPIO3_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)),
131 }; 131 };
132 132
133 iomux_v3_cfg_t const reset_out_pads[] = { 133 iomux_v3_cfg_t const reset_out_pads[] = {
134 IOMUX_PADS(PAD_NANDF_CS3__GPIO6_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)), 134 IOMUX_PADS(PAD_NANDF_CS3__GPIO6_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)),
135 }; 135 };
136 136
137 static iomux_v3_cfg_t const enet_pads[] = { 137 static iomux_v3_cfg_t const enet_pads[] = {
138 IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)), 138 IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)),
139 IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)), 139 IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
140 IOMUX_PADS(PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(ENET_PAD_CTRL)), 140 IOMUX_PADS(PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
141 IOMUX_PADS(PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 141 IOMUX_PADS(PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
142 IOMUX_PADS(PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 142 IOMUX_PADS(PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
143 IOMUX_PADS(PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 143 IOMUX_PADS(PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
144 IOMUX_PADS(PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 144 IOMUX_PADS(PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
145 IOMUX_PADS(PAD_RGMII_TX_CTL__RGMII_TX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL)), 145 IOMUX_PADS(PAD_RGMII_TX_CTL__RGMII_TX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL)),
146 IOMUX_PADS(PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL)), 146 IOMUX_PADS(PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL)),
147 IOMUX_PADS(PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL)), 147 IOMUX_PADS(PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
148 IOMUX_PADS(PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 148 IOMUX_PADS(PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
149 IOMUX_PADS(PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 149 IOMUX_PADS(PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
150 IOMUX_PADS(PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 150 IOMUX_PADS(PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
151 IOMUX_PADS(PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)), 151 IOMUX_PADS(PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
152 IOMUX_PADS(PAD_RGMII_RX_CTL__RGMII_RX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL)), 152 IOMUX_PADS(PAD_RGMII_RX_CTL__RGMII_RX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL)),
153 }; 153 };
154 154
155 static void setup_iomux_enet(void) 155 static void setup_iomux_enet(void)
156 { 156 {
157 SETUP_IOMUX_PADS(enet_pads); 157 SETUP_IOMUX_PADS(enet_pads);
158 gpio_request(IMX_GPIO_NR(4, 11), "ETH0_IRQ"); 158 gpio_request(IMX_GPIO_NR(4, 11), "ETH0_IRQ");
159 gpio_direction_input(IMX_GPIO_NR(4, 11)); 159 gpio_direction_input(IMX_GPIO_NR(4, 11));
160 } 160 }
161 161
162 /* SDIO */ 162 /* SDIO */
163 static iomux_v3_cfg_t const usdhc2_pads[] = { 163 static iomux_v3_cfg_t const usdhc2_pads[] = {
164 IOMUX_PADS(PAD_SD2_CLK__SD2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 164 IOMUX_PADS(PAD_SD2_CLK__SD2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
165 IOMUX_PADS(PAD_SD2_CMD__SD2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 165 IOMUX_PADS(PAD_SD2_CMD__SD2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
166 IOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 166 IOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
167 IOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 167 IOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
168 IOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 168 IOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
169 IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 169 IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
170 IOMUX_PADS(PAD_ENET_TX_EN__GPIO1_IO28 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */ 170 IOMUX_PADS(PAD_ENET_TX_EN__GPIO1_IO28 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */
171 IOMUX_PADS(PAD_ENET_CRS_DV__GPIO1_IO25 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* WP */ 171 IOMUX_PADS(PAD_ENET_CRS_DV__GPIO1_IO25 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* WP */
172 IOMUX_PADS(PAD_SD1_CMD__GPIO1_IO18 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* SDIO_PWR_EN */ 172 IOMUX_PADS(PAD_SD1_CMD__GPIO1_IO18 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* SDIO_PWR_EN */
173 }; 173 };
174 174
175 /* SDMMC */ 175 /* SDMMC */
176 iomux_v3_cfg_t const usdhc3_pads[] = { 176 iomux_v3_cfg_t const usdhc3_pads[] = {
177 IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 177 IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
178 IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 178 IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
179 IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 179 IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
180 IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 180 IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
181 IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 181 IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
182 IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 182 IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
183 IOMUX_PADS(PAD_SD3_RST__SD3_RESET | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 183 IOMUX_PADS(PAD_SD3_RST__SD3_RESET | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
184 }; 184 };
185 185
186 /* eMMC */ 186 /* eMMC */
187 static iomux_v3_cfg_t const usdhc4_pads[] = { 187 static iomux_v3_cfg_t const usdhc4_pads[] = {
188 IOMUX_PADS(PAD_SD4_CLK__SD4_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 188 IOMUX_PADS(PAD_SD4_CLK__SD4_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
189 IOMUX_PADS(PAD_SD4_CMD__SD4_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 189 IOMUX_PADS(PAD_SD4_CMD__SD4_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
190 IOMUX_PADS(PAD_SD4_DAT0__SD4_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 190 IOMUX_PADS(PAD_SD4_DAT0__SD4_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
191 IOMUX_PADS(PAD_SD4_DAT1__SD4_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 191 IOMUX_PADS(PAD_SD4_DAT1__SD4_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
192 IOMUX_PADS(PAD_SD4_DAT2__SD4_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 192 IOMUX_PADS(PAD_SD4_DAT2__SD4_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
193 IOMUX_PADS(PAD_SD4_DAT3__SD4_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 193 IOMUX_PADS(PAD_SD4_DAT3__SD4_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
194 IOMUX_PADS(PAD_SD4_DAT4__SD4_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 194 IOMUX_PADS(PAD_SD4_DAT4__SD4_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
195 IOMUX_PADS(PAD_SD4_DAT5__SD4_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 195 IOMUX_PADS(PAD_SD4_DAT5__SD4_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
196 IOMUX_PADS(PAD_SD4_DAT6__SD4_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 196 IOMUX_PADS(PAD_SD4_DAT6__SD4_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
197 IOMUX_PADS(PAD_SD4_DAT7__SD4_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), 197 IOMUX_PADS(PAD_SD4_DAT7__SD4_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
198 }; 198 };
199 199
200 #ifdef CONFIG_MXC_SPI 200 #ifdef CONFIG_MXC_SPI
201 /* SPI0 */ 201 /* SPI0 */
202 iomux_v3_cfg_t const ecspi2_pads[] = { 202 iomux_v3_cfg_t const ecspi2_pads[] = {
203 IOMUX_PADS(PAD_CSI0_DAT8__ECSPI2_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)), 203 IOMUX_PADS(PAD_CSI0_DAT8__ECSPI2_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)),
204 IOMUX_PADS(PAD_CSI0_DAT10__ECSPI2_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL)), 204 IOMUX_PADS(PAD_CSI0_DAT10__ECSPI2_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL)),
205 IOMUX_PADS(PAD_CSI0_DAT9__ECSPI2_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL)), 205 IOMUX_PADS(PAD_CSI0_DAT9__ECSPI2_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL)),
206 IOMUX_PADS(PAD_CSI0_DAT11__GPIO5_IO29 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS0#*/ 206 IOMUX_PADS(PAD_CSI0_DAT11__GPIO5_IO29 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS0#*/
207 IOMUX_PADS(PAD_EIM_D24__GPIO3_IO24 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS2#*/ 207 IOMUX_PADS(PAD_EIM_D24__GPIO3_IO24 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS2#*/
208 IOMUX_PADS(PAD_EIM_D25__GPIO3_IO25 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS3#*/ 208 IOMUX_PADS(PAD_EIM_D25__GPIO3_IO25 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS3#*/
209 }; 209 };
210 210
211 static void setup_spinor(void) 211 static void setup_spinor(void)
212 { 212 {
213 SETUP_IOMUX_PADS(ecspi2_pads); 213 SETUP_IOMUX_PADS(ecspi2_pads);
214 gpio_request(IMX_GPIO_NR(5, 29), "ECSPI2 SS0"); 214 gpio_request(IMX_GPIO_NR(5, 29), "ECSPI2 SS0");
215 gpio_request(IMX_GPIO_NR(3, 24), "ECSPI2 SS2"); 215 gpio_request(IMX_GPIO_NR(3, 24), "ECSPI2 SS2");
216 gpio_request(IMX_GPIO_NR(3, 25), "ECSPI2 SS3"); 216 gpio_request(IMX_GPIO_NR(3, 25), "ECSPI2 SS3");
217 } 217 }
218 218
219 int board_spi_cs_gpio(unsigned bus, unsigned cs) 219 int board_spi_cs_gpio(unsigned bus, unsigned cs)
220 { 220 {
221 return (bus == 1 && cs == 0) ? (IMX_GPIO_NR(5, 29)) : -1; 221 return (bus == 1 && cs == 0) ? (IMX_GPIO_NR(5, 29)) : -1;
222 return (bus == 1 && cs == 2) ? (IMX_GPIO_NR(3, 24)) : -1; 222 return (bus == 1 && cs == 2) ? (IMX_GPIO_NR(3, 24)) : -1;
223 return (bus == 1 && cs == 3) ? (IMX_GPIO_NR(3, 25)) : -1; 223 return (bus == 1 && cs == 3) ? (IMX_GPIO_NR(3, 25)) : -1;
224 } 224 }
225 #endif 225 #endif
226 226
227 /* SPI1 */ 227 /* SPI1 */
228 iomux_v3_cfg_t const ecspi1_pads[] = { 228 iomux_v3_cfg_t const ecspi1_pads[] = {
229 IOMUX_PADS(PAD_KEY_COL0__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)), 229 IOMUX_PADS(PAD_KEY_COL0__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)),
230 IOMUX_PADS(PAD_KEY_COL1__ECSPI1_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL)), 230 IOMUX_PADS(PAD_KEY_COL1__ECSPI1_MISO | MUX_PAD_CTRL(SPI_PAD_CTRL)),
231 IOMUX_PADS(PAD_KEY_ROW0__ECSPI1_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL)), 231 IOMUX_PADS(PAD_KEY_ROW0__ECSPI1_MOSI | MUX_PAD_CTRL(SPI_PAD_CTRL)),
232 IOMUX_PADS(PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS0#*/ 232 IOMUX_PADS(PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS0#*/
233 IOMUX_PADS(PAD_KEY_COL2__GPIO4_IO10 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS1#*/ 233 IOMUX_PADS(PAD_KEY_COL2__GPIO4_IO10 | MUX_PAD_CTRL(NO_PAD_CTRL)), /*SS1#*/
234 }; 234 };
235 235
236 static iomux_v3_cfg_t const rgb_pads[] = { 236 static iomux_v3_cfg_t const rgb_pads[] = {
237 IOMUX_PADS(PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL)), 237 IOMUX_PADS(PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL)),
238 IOMUX_PADS(PAD_DI0_PIN15__IPU1_DI0_PIN15 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 238 IOMUX_PADS(PAD_DI0_PIN15__IPU1_DI0_PIN15 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
239 IOMUX_PADS(PAD_DI0_PIN2__IPU1_DI0_PIN02 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 239 IOMUX_PADS(PAD_DI0_PIN2__IPU1_DI0_PIN02 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
240 IOMUX_PADS(PAD_DI0_PIN3__IPU1_DI0_PIN03 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 240 IOMUX_PADS(PAD_DI0_PIN3__IPU1_DI0_PIN03 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
241 IOMUX_PADS(PAD_DI0_PIN15__IPU1_DI0_PIN15 | MUX_PAD_CTRL(LCD_PAD_CTRL)), /* DISP0_DRDY */ 241 IOMUX_PADS(PAD_DI0_PIN15__IPU1_DI0_PIN15 | MUX_PAD_CTRL(LCD_PAD_CTRL)), /* DISP0_DRDY */
242 IOMUX_PADS(PAD_DISP0_DAT1__IPU1_DISP0_DATA01 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 242 IOMUX_PADS(PAD_DISP0_DAT1__IPU1_DISP0_DATA01 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
243 IOMUX_PADS(PAD_DISP0_DAT2__IPU1_DISP0_DATA02 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 243 IOMUX_PADS(PAD_DISP0_DAT2__IPU1_DISP0_DATA02 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
244 IOMUX_PADS(PAD_DISP0_DAT3__IPU1_DISP0_DATA03 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 244 IOMUX_PADS(PAD_DISP0_DAT3__IPU1_DISP0_DATA03 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
245 IOMUX_PADS(PAD_DISP0_DAT4__IPU1_DISP0_DATA04 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 245 IOMUX_PADS(PAD_DISP0_DAT4__IPU1_DISP0_DATA04 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
246 IOMUX_PADS(PAD_DISP0_DAT5__IPU1_DISP0_DATA05 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 246 IOMUX_PADS(PAD_DISP0_DAT5__IPU1_DISP0_DATA05 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
247 IOMUX_PADS(PAD_DISP0_DAT6__IPU1_DISP0_DATA06 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 247 IOMUX_PADS(PAD_DISP0_DAT6__IPU1_DISP0_DATA06 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
248 IOMUX_PADS(PAD_DISP0_DAT7__IPU1_DISP0_DATA07 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 248 IOMUX_PADS(PAD_DISP0_DAT7__IPU1_DISP0_DATA07 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
249 IOMUX_PADS(PAD_DISP0_DAT8__IPU1_DISP0_DATA08 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 249 IOMUX_PADS(PAD_DISP0_DAT8__IPU1_DISP0_DATA08 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
250 IOMUX_PADS(PAD_DISP0_DAT9__IPU1_DISP0_DATA09 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 250 IOMUX_PADS(PAD_DISP0_DAT9__IPU1_DISP0_DATA09 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
251 IOMUX_PADS(PAD_DISP0_DAT10__IPU1_DISP0_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 251 IOMUX_PADS(PAD_DISP0_DAT10__IPU1_DISP0_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
252 IOMUX_PADS(PAD_DISP0_DAT11__IPU1_DISP0_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 252 IOMUX_PADS(PAD_DISP0_DAT11__IPU1_DISP0_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
253 IOMUX_PADS(PAD_DISP0_DAT12__IPU1_DISP0_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 253 IOMUX_PADS(PAD_DISP0_DAT12__IPU1_DISP0_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
254 IOMUX_PADS(PAD_DISP0_DAT13__IPU1_DISP0_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 254 IOMUX_PADS(PAD_DISP0_DAT13__IPU1_DISP0_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
255 IOMUX_PADS(PAD_DISP0_DAT14__IPU1_DISP0_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 255 IOMUX_PADS(PAD_DISP0_DAT14__IPU1_DISP0_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
256 IOMUX_PADS(PAD_DISP0_DAT15__IPU1_DISP0_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 256 IOMUX_PADS(PAD_DISP0_DAT15__IPU1_DISP0_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
257 IOMUX_PADS(PAD_DISP0_DAT16__IPU1_DISP0_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 257 IOMUX_PADS(PAD_DISP0_DAT16__IPU1_DISP0_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
258 IOMUX_PADS(PAD_DISP0_DAT17__IPU1_DISP0_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 258 IOMUX_PADS(PAD_DISP0_DAT17__IPU1_DISP0_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
259 IOMUX_PADS(PAD_DISP0_DAT18__IPU1_DISP0_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 259 IOMUX_PADS(PAD_DISP0_DAT18__IPU1_DISP0_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
260 IOMUX_PADS(PAD_DISP0_DAT19__IPU1_DISP0_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 260 IOMUX_PADS(PAD_DISP0_DAT19__IPU1_DISP0_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
261 IOMUX_PADS(PAD_DISP0_DAT20__IPU1_DISP0_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 261 IOMUX_PADS(PAD_DISP0_DAT20__IPU1_DISP0_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
262 IOMUX_PADS(PAD_DISP0_DAT21__IPU1_DISP0_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 262 IOMUX_PADS(PAD_DISP0_DAT21__IPU1_DISP0_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
263 IOMUX_PADS(PAD_DISP0_DAT22__IPU1_DISP0_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 263 IOMUX_PADS(PAD_DISP0_DAT22__IPU1_DISP0_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
264 IOMUX_PADS(PAD_DISP0_DAT23__IPU1_DISP0_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL)), 264 IOMUX_PADS(PAD_DISP0_DAT23__IPU1_DISP0_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL)),
265 /* LCD VDD Enable(for parallel LCD): S133 */ 265 /* LCD VDD Enable(for parallel LCD): S133 */
266 IOMUX_PADS(PAD_GPIO_2__GPIO1_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL)), 266 IOMUX_PADS(PAD_GPIO_2__GPIO1_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL)),
267 }; 267 };
268 268
269 static iomux_v3_cfg_t const backlight_pads[] = { 269 static iomux_v3_cfg_t const backlight_pads[] = {
270 /* Backlight Enable for RGB: S127 */ 270 /* Backlight Enable for RGB: S127 */
271 #define BACKLIGHT_EN IMX_GPIO_NR(1, 00) 271 #define BACKLIGHT_EN IMX_GPIO_NR(1, 00)
272 IOMUX_PADS(PAD_GPIO_0__GPIO1_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL)), 272 IOMUX_PADS(PAD_GPIO_0__GPIO1_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL)),
273 /* PWM Backlight Control: S141 */ 273 /* PWM Backlight Control: S141 */
274 IOMUX_PADS(PAD_GPIO_1__PWM2_OUT | MUX_PAD_CTRL(NO_PAD_CTRL)), 274 IOMUX_PADS(PAD_GPIO_1__PWM2_OUT | MUX_PAD_CTRL(NO_PAD_CTRL)),
275 }; 275 };
276 276
277 static void enable_backlight(void) 277 static void enable_backlight(void)
278 { 278 {
279 SETUP_IOMUX_PADS(backlight_pads); 279 SETUP_IOMUX_PADS(backlight_pads);
280 gpio_request(DISP0_PWR_EN, "Display Power Enable"); 280 gpio_request(DISP0_PWR_EN, "Display Power Enable");
281 gpio_direction_output(DISP0_PWR_EN, 1); 281 gpio_direction_output(DISP0_PWR_EN, 1);
282 /* enable backlight PWM 2 */ 282 /* enable backlight PWM 2 */
283 if (pwm_init(1, 0, 0)) 283 if (pwm_init(1, 0, 0))
284 goto error; 284 goto error;
285 /* duty cycle 500ns, period: 3000ns */ 285 /* duty cycle 500ns, period: 3000ns */
286 if (pwm_config(1, 1000, 3000)) 286 if (pwm_config(1, 1000, 3000))
287 goto error; 287 goto error;
288 if (pwm_enable(1)) 288 if (pwm_enable(1))
289 goto error; 289 goto error;
290 return; 290 return;
291 291
292 error: 292 error:
293 puts("error init pwm for backlight\n"); 293 puts("error init pwm for backlight\n");
294 return; 294 return;
295 } 295 }
296 296
297 static void enable_rgb(struct display_info_t const *dev) 297 static void enable_rgb(struct display_info_t const *dev)
298 { 298 {
299 SETUP_IOMUX_PADS(rgb_pads); 299 SETUP_IOMUX_PADS(rgb_pads);
300 300
301 gpio_request(DISP0_PWR_EN, "Display Power Enable"); 301 gpio_request(DISP0_PWR_EN, "Display Power Enable");
302 gpio_direction_output(DISP0_PWR_EN, 1); 302 gpio_direction_output(DISP0_PWR_EN, 1);
303 enable_backlight(); 303 enable_backlight();
304 } 304 }
305 305
306 static void enable_lvds(struct display_info_t const *dev) 306 static void enable_lvds(struct display_info_t const *dev)
307 { 307 {
308 struct iomuxc *iomux = (struct iomuxc *) 308 struct iomuxc *iomux = (struct iomuxc *)
309 IOMUXC_BASE_ADDR; 309 IOMUXC_BASE_ADDR;
310 u32 reg = readl(&iomux->gpr[2]); 310 u32 reg = readl(&iomux->gpr[2]);
311 reg |= IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT; 311 reg |= IOMUXC_GPR2_DATA_WIDTH_CH0_24BIT;
312 writel(reg, &iomux->gpr[2]); 312 writel(reg, &iomux->gpr[2]);
313 313
314 enable_backlight(); 314 enable_backlight();
315 } 315 }
316 316
317 #ifdef CONFIG_SYS_I2C 317 #ifdef CONFIG_SYS_I2C
318 /*I2C1 I2C_PM*/ 318 /*I2C1 I2C_PM*/
319 struct i2c_pads_info i2c_pad_info1 = { 319 struct i2c_pads_info i2c_pad_info1 = {
320 .scl = { 320 .scl = {
321 .i2c_mode = MX6_PAD_EIM_D21__I2C1_SCL | I2C_PAD, 321 .i2c_mode = MX6_PAD_EIM_D21__I2C1_SCL | I2C_PAD,
322 .gpio_mode = MX6_PAD_EIM_D21__GPIO3_IO21 | I2C_PAD, 322 .gpio_mode = MX6_PAD_EIM_D21__GPIO3_IO21 | I2C_PAD,
323 .gp = IMX_GPIO_NR(3, 21) 323 .gp = IMX_GPIO_NR(3, 21)
324 }, 324 },
325 .sda = { 325 .sda = {
326 .i2c_mode = MX6_PAD_EIM_D28__I2C1_SDA | I2C_PAD, 326 .i2c_mode = MX6_PAD_EIM_D28__I2C1_SDA | I2C_PAD,
327 .gpio_mode = MX6_PAD_EIM_D28__GPIO3_IO28 | I2C_PAD, 327 .gpio_mode = MX6_PAD_EIM_D28__GPIO3_IO28 | I2C_PAD,
328 .gp = IMX_GPIO_NR(3, 28) 328 .gp = IMX_GPIO_NR(3, 28)
329 } 329 }
330 }; 330 };
331 331
332 /* I2C2 HDMI */ 332 /* I2C2 HDMI */
333 struct i2c_pads_info i2c_pad_info2 = { 333 struct i2c_pads_info i2c_pad_info2 = {
334 .scl = { 334 .scl = {
335 .i2c_mode = MX6_PAD_KEY_COL3__I2C2_SCL | I2C_PAD, 335 .i2c_mode = MX6_PAD_KEY_COL3__I2C2_SCL | I2C_PAD,
336 .gpio_mode = MX6_PAD_KEY_COL3__GPIO4_IO12 | I2C_PAD, 336 .gpio_mode = MX6_PAD_KEY_COL3__GPIO4_IO12 | I2C_PAD,
337 .gp = IMX_GPIO_NR(4, 12) 337 .gp = IMX_GPIO_NR(4, 12)
338 }, 338 },
339 .sda = { 339 .sda = {
340 .i2c_mode = MX6_PAD_KEY_ROW3__I2C2_SDA | I2C_PAD, 340 .i2c_mode = MX6_PAD_KEY_ROW3__I2C2_SDA | I2C_PAD,
341 .gpio_mode = MX6_PAD_KEY_ROW3__GPIO4_IO13 | I2C_PAD, 341 .gpio_mode = MX6_PAD_KEY_ROW3__GPIO4_IO13 | I2C_PAD,
342 .gp = IMX_GPIO_NR(4, 13) 342 .gp = IMX_GPIO_NR(4, 13)
343 } 343 }
344 }; 344 };
345 345
346 /* I2C3 TCA9546APWR */ 346 /* I2C3 TCA9546APWR */
347 struct i2c_pads_info i2c_pad_info3 = { 347 struct i2c_pads_info i2c_pad_info3 = {
348 .scl = { 348 .scl = {
349 .i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | I2C_PAD, 349 .i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | I2C_PAD,
350 .gpio_mode = MX6_PAD_EIM_D17__GPIO3_IO17 | I2C_PAD, 350 .gpio_mode = MX6_PAD_EIM_D17__GPIO3_IO17 | I2C_PAD,
351 .gp = IMX_GPIO_NR(3, 17) 351 .gp = IMX_GPIO_NR(3, 17)
352 }, 352 },
353 .sda = { 353 .sda = {
354 .i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | I2C_PAD, 354 .i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | I2C_PAD,
355 .gpio_mode = MX6_PAD_EIM_D18__GPIO3_IO18 | I2C_PAD, 355 .gpio_mode = MX6_PAD_EIM_D18__GPIO3_IO18 | I2C_PAD,
356 .gp = IMX_GPIO_NR(3, 18) 356 .gp = IMX_GPIO_NR(3, 18)
357 } 357 }
358 }; 358 };
359 #endif 359 #endif
360 360
361 #ifdef CONFIG_PCIE_IMX 361 #ifdef CONFIG_PCIE_IMX
362 iomux_v3_cfg_t const pcie_pads[] = { 362 iomux_v3_cfg_t const pcie_pads[] = {
363 IOMUX_PADS(PAD_SD1_DAT1__GPIO1_IO17 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* PCIe Present */ 363 IOMUX_PADS(PAD_SD1_DAT1__GPIO1_IO17 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* PCIe Present */
364 IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19 | MUX_PAD_CTRL(WEAK_PULLUP)), /* PCIe_WAKE# */ 364 IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19 | MUX_PAD_CTRL(WEAK_PULLUP)), /* PCIe_WAKE# */
365 IOMUX_PADS(PAD_SD1_CLK__GPIO1_IO20 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* RESET */ 365 IOMUX_PADS(PAD_SD1_CLK__GPIO1_IO20 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* RESET */
366 IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* PCIe Clock Request */ 366 IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* PCIe Clock Request */
367 }; 367 };
368 368
369 static void setup_pcie(void) 369 static void setup_pcie(void)
370 { 370 {
371 SETUP_IOMUX_PADS(pcie_pads); 371 SETUP_IOMUX_PADS(pcie_pads);
372 gpio_request(IMX_GPIO_NR(1, 16), "PCIE_A_CLK_REQ"); 372 gpio_request(IMX_GPIO_NR(1, 16), "PCIE_A_CLK_REQ");
373 gpio_direction_input(IMX_GPIO_NR(1, 16)); 373 gpio_direction_input(IMX_GPIO_NR(1, 16));
374 gpio_request(IMX_GPIO_NR(1, 17), "PCIE_A_PRSNT"); 374 gpio_request(IMX_GPIO_NR(1, 17), "PCIE_A_PRSNT");
375 gpio_direction_input(IMX_GPIO_NR(1, 17)); 375 gpio_direction_input(IMX_GPIO_NR(1, 17));
376 gpio_request(IMX_GPIO_NR(1, 19), "PCIE_A_WAKE"); 376 gpio_request(IMX_GPIO_NR(1, 19), "PCIE_A_WAKE");
377 gpio_direction_input(IMX_GPIO_NR(1, 19)); 377 gpio_direction_input(IMX_GPIO_NR(1, 19));
378 gpio_request(IMX_GPIO_NR(1, 20), "PCIE_RST#"); 378 gpio_request(IMX_GPIO_NR(1, 20), "PCIE_RST#");
379 gpio_direction_output(IMX_GPIO_NR(1, 20), 0); 379 gpio_direction_output(IMX_GPIO_NR(1, 20), 0);
380 udelay(500); 380 udelay(500);
381 gpio_direction_output(IMX_GPIO_NR(1, 20), 1); 381 gpio_direction_output(IMX_GPIO_NR(1, 20), 1);
382 } 382 }
383 #endif 383 #endif
384 384
385 iomux_v3_cfg_t const di0_pads[] = { 385 iomux_v3_cfg_t const di0_pads[] = {
386 IOMUX_PADS(PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK), /* DISP0_CLK */ 386 IOMUX_PADS(PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK), /* DISP0_CLK */
387 IOMUX_PADS(PAD_DI0_PIN2__IPU1_DI0_PIN02), /* DISP0_HSYNC */ 387 IOMUX_PADS(PAD_DI0_PIN2__IPU1_DI0_PIN02), /* DISP0_HSYNC */
388 IOMUX_PADS(PAD_DI0_PIN3__IPU1_DI0_PIN03), /* DISP0_VSYNC */ 388 IOMUX_PADS(PAD_DI0_PIN3__IPU1_DI0_PIN03), /* DISP0_VSYNC */
389 }; 389 };
390 390
391 /* CAN0/FLEXCAN1 */ 391 /* CAN0/FLEXCAN1 */
392 iomux_v3_cfg_t const flexcan1_pads[] = { 392 iomux_v3_cfg_t const flexcan1_pads[] = {
393 393
394 IOMUX_PADS(PAD_GPIO_7__FLEXCAN1_TX | MUX_PAD_CTRL(WEAK_PULLUP)), 394 IOMUX_PADS(PAD_GPIO_7__FLEXCAN1_TX | MUX_PAD_CTRL(WEAK_PULLUP)),
395 IOMUX_PADS(PAD_GPIO_8__FLEXCAN1_RX | MUX_PAD_CTRL(WEAK_PULLUP)), 395 IOMUX_PADS(PAD_GPIO_8__FLEXCAN1_RX | MUX_PAD_CTRL(WEAK_PULLUP)),
396 }; 396 };
397 397
398 /* CAN1/FLEXCAN2 */ 398 /* CAN1/FLEXCAN2 */
399 iomux_v3_cfg_t const flexcan2_pads[] = { 399 iomux_v3_cfg_t const flexcan2_pads[] = {
400 IOMUX_PADS(PAD_KEY_COL4__FLEXCAN2_TX | MUX_PAD_CTRL(WEAK_PULLUP)), 400 IOMUX_PADS(PAD_KEY_COL4__FLEXCAN2_TX | MUX_PAD_CTRL(WEAK_PULLUP)),
401 IOMUX_PADS(PAD_KEY_ROW4__FLEXCAN2_RX | MUX_PAD_CTRL(WEAK_PULLUP)), 401 IOMUX_PADS(PAD_KEY_ROW4__FLEXCAN2_RX | MUX_PAD_CTRL(WEAK_PULLUP)),
402 }; 402 };
403 403
404 /* GPIOs */ 404 /* GPIOs */
405 iomux_v3_cfg_t const gpios_pads[] = { 405 iomux_v3_cfg_t const gpios_pads[] = {
406 IOMUX_PADS(PAD_NANDF_CS0__GPIO6_IO11 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO0 */ 406 IOMUX_PADS(PAD_NANDF_CS0__GPIO6_IO11 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO0 */
407 IOMUX_PADS(PAD_NANDF_D2__GPIO2_IO02 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO1 */ 407 IOMUX_PADS(PAD_NANDF_D2__GPIO2_IO02 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO1 */
408 IOMUX_PADS(PAD_NANDF_D6__GPIO2_IO06 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO2 */ 408 IOMUX_PADS(PAD_NANDF_D6__GPIO2_IO06 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO2 */
409 IOMUX_PADS(PAD_NANDF_D3__GPIO2_IO03 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO3 */ 409 IOMUX_PADS(PAD_NANDF_D3__GPIO2_IO03 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO3 */
410 IOMUX_PADS(PAD_NANDF_D7__GPIO2_IO07 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO4 */ 410 IOMUX_PADS(PAD_NANDF_D7__GPIO2_IO07 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO4 */
411 IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO6 */ 411 IOMUX_PADS(PAD_NANDF_CS1__GPIO6_IO14 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO6 */
412 IOMUX_PADS(PAD_NANDF_CLE__GPIO6_IO07 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO7 */ 412 IOMUX_PADS(PAD_NANDF_CLE__GPIO6_IO07 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO7 */
413 IOMUX_PADS(PAD_NANDF_D4__GPIO2_IO04 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO8 */ 413 IOMUX_PADS(PAD_NANDF_D4__GPIO2_IO04 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO8 */
414 IOMUX_PADS(PAD_NANDF_D0__GPIO2_IO00 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO9 */ 414 IOMUX_PADS(PAD_NANDF_D0__GPIO2_IO00 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO9 */
415 IOMUX_PADS(PAD_NANDF_D5__GPIO2_IO05 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO10 */ 415 IOMUX_PADS(PAD_NANDF_D5__GPIO2_IO05 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO10 */
416 IOMUX_PADS(PAD_NANDF_ALE__GPIO6_IO08 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO11 */ 416 IOMUX_PADS(PAD_NANDF_ALE__GPIO6_IO08 | MUX_PAD_CTRL(WEAK_PULLUP)), /* GPIO11 */
417 }; 417 };
418 418
419 /* Misc. pins */ 419 /* Misc. pins */
420 static iomux_v3_cfg_t const misc_pads[] = { 420 static iomux_v3_cfg_t const misc_pads[] = {
421 IOMUX_PADS(PAD_EIM_CS0__GPIO2_IO23 | MUX_PAD_CTRL(WEAK_PULLUP)), /* SLEEP# */ 421 IOMUX_PADS(PAD_EIM_CS0__GPIO2_IO23 | MUX_PAD_CTRL(WEAK_PULLUP)), /* SLEEP# */
422 IOMUX_PADS(PAD_EIM_D22__GPIO3_IO22 | MUX_PAD_CTRL(WEAK_PULLUP)), /* CHARGER_PRSNT# */ 422 IOMUX_PADS(PAD_EIM_D22__GPIO3_IO22 | MUX_PAD_CTRL(WEAK_PULLUP)), /* CHARGER_PRSNT# */
423 IOMUX_PADS(PAD_EIM_CS1__GPIO2_IO24 | MUX_PAD_CTRL(WEAK_PULLUP)), /* CHARGING# */ 423 IOMUX_PADS(PAD_EIM_CS1__GPIO2_IO24 | MUX_PAD_CTRL(WEAK_PULLUP)), /* CHARGING# */
424 IOMUX_PADS(PAD_GPIO_18__GPIO7_IO13 | MUX_PAD_CTRL(WEAK_PULLUP)), /* CARRIER_STBY# */ 424 IOMUX_PADS(PAD_GPIO_18__GPIO7_IO13 | MUX_PAD_CTRL(WEAK_PULLUP)), /* CARRIER_STBY# */
425 IOMUX_PADS(PAD_EIM_D29__GPIO3_IO29 | MUX_PAD_CTRL(WEAK_PULLUP)), /* BATLOW# */ 425 IOMUX_PADS(PAD_EIM_D29__GPIO3_IO29 | MUX_PAD_CTRL(WEAK_PULLUP)), /* BATLOW# */
426 }; 426 };
427 427
428 static void setup_iomux_uart1(void) 428 static void setup_iomux_uart1(void)
429 { 429 {
430 SETUP_IOMUX_PADS(uart1_pads); 430 SETUP_IOMUX_PADS(uart1_pads);
431 } 431 }
432 432
433 static void setup_iomux_uart2(void) 433 static void setup_iomux_uart2(void)
434 { 434 {
435 SETUP_IOMUX_PADS(uart2_pads); 435 SETUP_IOMUX_PADS(uart2_pads);
436 } 436 }
437 437
438 static void setup_iomux_uart4(void) 438 static void setup_iomux_uart4(void)
439 { 439 {
440 SETUP_IOMUX_PADS(uart4_pads); 440 SETUP_IOMUX_PADS(uart4_pads);
441 } 441 }
442 442
443 static void setup_iomux_uart5(void) 443 static void setup_iomux_uart5(void)
444 { 444 {
445 SETUP_IOMUX_PADS(uart5_pads); 445 SETUP_IOMUX_PADS(uart5_pads);
446 } 446 }
447 447
448 static void setup_iomux_wdt(void) 448 static void setup_iomux_wdt(void)
449 { 449 {
450 SETUP_IOMUX_PADS(wdt_pads); 450 SETUP_IOMUX_PADS(wdt_pads);
451 /* Set HW_WDT as Output High*/ 451 /* Set HW_WDT as Output High*/
452 gpio_request(IMX_GPIO_NR(3, 16), "WDT_ENABLE"); 452 gpio_request(IMX_GPIO_NR(3, 16), "WDT_ENABLE");
453 gpio_direction_output(IMX_GPIO_NR(3, 16) , 1); 453 gpio_direction_output(IMX_GPIO_NR(3, 16) , 1);
454 } 454 }
455 455
456 static void setup_iomux_reset_out(void) 456 static void setup_iomux_reset_out(void)
457 { 457 {
458 SETUP_IOMUX_PADS(reset_out_pads); 458 SETUP_IOMUX_PADS(reset_out_pads);
459 /* Set CPU RESET_OUT as Output */ 459 /* Set CPU RESET_OUT as Output */
460 gpio_request(IMX_GPIO_NR(6, 16), "CPU_RESET"); 460 gpio_request(IMX_GPIO_NR(6, 16), "CPU_RESET");
461 gpio_direction_output(IMX_GPIO_NR(6, 16) , 0); 461 gpio_direction_output(IMX_GPIO_NR(6, 16) , 0);
462 } 462 }
463 463
464 static void setup_spi1(void) 464 static void setup_spi1(void)
465 { 465 {
466 SETUP_IOMUX_PADS(ecspi1_pads); 466 SETUP_IOMUX_PADS(ecspi1_pads);
467 gpio_request(IMX_GPIO_NR(4, 9), "EXSPI1_SS0"); 467 gpio_request(IMX_GPIO_NR(4, 9), "EXSPI1_SS0");
468 gpio_request(IMX_GPIO_NR(4, 10), "ECSPI1_SS1"); 468 gpio_request(IMX_GPIO_NR(4, 10), "ECSPI1_SS1");
469 } 469 }
470 470
471 int board_spi1_cs_gpio(unsigned bus, unsigned cs) 471 int board_spi1_cs_gpio(unsigned bus, unsigned cs)
472 { 472 {
473 return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 9)) : -1; 473 return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 9)) : -1;
474 return (bus == 0 && cs == 1) ? (IMX_GPIO_NR(4, 10)) : -1; 474 return (bus == 0 && cs == 1) ? (IMX_GPIO_NR(4, 10)) : -1;
475 } 475 }
476 476
477 static void setup_flexcan1(void) 477 static void setup_flexcan1(void)
478 { 478 {
479 SETUP_IOMUX_PADS(flexcan1_pads); 479 SETUP_IOMUX_PADS(flexcan1_pads);
480 } 480 }
481 481
482 static void setup_flexcan2(void) 482 static void setup_flexcan2(void)
483 { 483 {
484 SETUP_IOMUX_PADS(flexcan2_pads); 484 SETUP_IOMUX_PADS(flexcan2_pads);
485 } 485 }
486 486
487 static void setup_gpios(void) 487 static void setup_gpios(void)
488 { 488 {
489 SETUP_IOMUX_PADS(gpios_pads); 489 SETUP_IOMUX_PADS(gpios_pads);
490 gpio_request(IMX_GPIO_NR(6, 11), "GPIO0"); 490 gpio_request(IMX_GPIO_NR(6, 11), "GPIO0");
491 gpio_direction_output(IMX_GPIO_NR(6, 11), 0); 491 gpio_direction_output(IMX_GPIO_NR(6, 11), 0);
492 gpio_request(IMX_GPIO_NR(2, 02), "GPIO1"); 492 gpio_request(IMX_GPIO_NR(2, 02), "GPIO1");
493 gpio_direction_output(IMX_GPIO_NR(2, 02), 0); 493 gpio_direction_output(IMX_GPIO_NR(2, 02), 0);
494 gpio_request(IMX_GPIO_NR(2, 06), "GPIO2"); 494 gpio_request(IMX_GPIO_NR(2, 06), "GPIO2");
495 gpio_direction_output(IMX_GPIO_NR(2, 06), 0); 495 gpio_direction_output(IMX_GPIO_NR(2, 06), 0);
496 gpio_request(IMX_GPIO_NR(2, 03), "GPIO3"); 496 gpio_request(IMX_GPIO_NR(2, 03), "GPIO3");
497 gpio_direction_output(IMX_GPIO_NR(2, 03), 0); 497 gpio_direction_output(IMX_GPIO_NR(2, 03), 0);
498 gpio_request(IMX_GPIO_NR(2, 07), "GPIO4"); 498 gpio_request(IMX_GPIO_NR(2, 07), "GPIO4");
499 gpio_direction_output(IMX_GPIO_NR(2, 07), 0); 499 gpio_direction_output(IMX_GPIO_NR(2, 07), 0);
500 gpio_request(IMX_GPIO_NR(6, 14), "GPIO6"); 500 gpio_request(IMX_GPIO_NR(6, 14), "GPIO6");
501 gpio_direction_input(IMX_GPIO_NR(6, 14)); 501 gpio_direction_input(IMX_GPIO_NR(6, 14));
502 gpio_request(IMX_GPIO_NR(6, 07), "GPIO7"); 502 gpio_request(IMX_GPIO_NR(6, 07), "GPIO7");
503 gpio_direction_input(IMX_GPIO_NR(6, 07)); 503 gpio_direction_input(IMX_GPIO_NR(6, 07));
504 gpio_request(IMX_GPIO_NR(2, 04), "GPIO8"); 504 gpio_request(IMX_GPIO_NR(2, 04), "GPIO8");
505 gpio_direction_input(IMX_GPIO_NR(2, 04)); 505 gpio_direction_input(IMX_GPIO_NR(2, 04));
506 gpio_request(IMX_GPIO_NR(2, 00), "GPIO9"); 506 gpio_request(IMX_GPIO_NR(2, 00), "GPIO9");
507 gpio_direction_input(IMX_GPIO_NR(2, 00)); 507 gpio_direction_input(IMX_GPIO_NR(2, 00));
508 gpio_request(IMX_GPIO_NR(2, 05), "GPIO10"); 508 gpio_request(IMX_GPIO_NR(2, 05), "GPIO10");
509 gpio_direction_input(IMX_GPIO_NR(2, 05)); 509 gpio_direction_input(IMX_GPIO_NR(2, 05));
510 gpio_request(IMX_GPIO_NR(6, 8), "GPIO11"); 510 gpio_request(IMX_GPIO_NR(6, 8), "GPIO11");
511 gpio_direction_input(IMX_GPIO_NR(6, 8)); 511 gpio_direction_input(IMX_GPIO_NR(6, 8));
512 } 512 }
513 513
514 static void setup_misc(void) 514 static void setup_misc(void)
515 { 515 {
516 SETUP_IOMUX_PADS(misc_pads); 516 SETUP_IOMUX_PADS(misc_pads);
517 gpio_request(IMX_GPIO_NR(2, 23), "SLEEP#"); 517 gpio_request(IMX_GPIO_NR(2, 23), "SLEEP#");
518 gpio_direction_input(IMX_GPIO_NR(2, 23)); 518 gpio_direction_input(IMX_GPIO_NR(2, 23));
519 gpio_request(IMX_GPIO_NR(2, 24), "CHARGING#"); 519 gpio_request(IMX_GPIO_NR(2, 24), "CHARGING#");
520 gpio_direction_input(IMX_GPIO_NR(2, 24)); 520 gpio_direction_input(IMX_GPIO_NR(2, 24));
521 gpio_request(IMX_GPIO_NR(3, 22), "CHARGER_PRSNT#"); 521 gpio_request(IMX_GPIO_NR(3, 22), "CHARGER_PRSNT#");
522 gpio_direction_input(IMX_GPIO_NR(3, 22)); 522 gpio_direction_input(IMX_GPIO_NR(3, 22));
523 gpio_request(IMX_GPIO_NR(3, 29), "BATLOW#"); 523 gpio_request(IMX_GPIO_NR(3, 29), "BATLOW#");
524 gpio_direction_input(IMX_GPIO_NR(3, 29)); 524 gpio_direction_input(IMX_GPIO_NR(3, 29));
525 gpio_request(IMX_GPIO_NR(7, 13), "CARRIER_STBY#"); 525 gpio_request(IMX_GPIO_NR(7, 13), "CARRIER_STBY#");
526 gpio_direction_output(IMX_GPIO_NR(7, 13), 1); 526 gpio_direction_output(IMX_GPIO_NR(7, 13), 1);
527 } 527 }
528 528
529 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC) 529 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC)
530 static iomux_v3_cfg_t const epdc_enable_pads[] = { 530 static iomux_v3_cfg_t const epdc_enable_pads[] = {
531 IOMUX_PADS(PAD_EIM_A16__EPDC_DATA00 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 531 IOMUX_PADS(PAD_EIM_A16__EPDC_DATA00 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
532 IOMUX_PADS(PAD_EIM_DA10__EPDC_DATA01 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 532 IOMUX_PADS(PAD_EIM_DA10__EPDC_DATA01 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
533 IOMUX_PADS(PAD_EIM_DA12__EPDC_DATA02 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 533 IOMUX_PADS(PAD_EIM_DA12__EPDC_DATA02 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
534 IOMUX_PADS(PAD_EIM_DA11__EPDC_DATA03 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 534 IOMUX_PADS(PAD_EIM_DA11__EPDC_DATA03 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
535 IOMUX_PADS(PAD_EIM_LBA__EPDC_DATA04 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 535 IOMUX_PADS(PAD_EIM_LBA__EPDC_DATA04 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
536 IOMUX_PADS(PAD_EIM_EB2__EPDC_DATA05 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 536 IOMUX_PADS(PAD_EIM_EB2__EPDC_DATA05 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
537 IOMUX_PADS(PAD_EIM_CS0__EPDC_DATA06 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 537 IOMUX_PADS(PAD_EIM_CS0__EPDC_DATA06 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
538 IOMUX_PADS(PAD_EIM_RW__EPDC_DATA07 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 538 IOMUX_PADS(PAD_EIM_RW__EPDC_DATA07 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
539 IOMUX_PADS(PAD_EIM_A21__EPDC_GDCLK | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 539 IOMUX_PADS(PAD_EIM_A21__EPDC_GDCLK | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
540 IOMUX_PADS(PAD_EIM_A22__EPDC_GDSP | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 540 IOMUX_PADS(PAD_EIM_A22__EPDC_GDSP | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
541 IOMUX_PADS(PAD_EIM_A23__EPDC_GDOE | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 541 IOMUX_PADS(PAD_EIM_A23__EPDC_GDOE | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
542 IOMUX_PADS(PAD_EIM_A24__EPDC_GDRL | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 542 IOMUX_PADS(PAD_EIM_A24__EPDC_GDRL | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
543 IOMUX_PADS(PAD_EIM_D31__EPDC_SDCLK_P | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 543 IOMUX_PADS(PAD_EIM_D31__EPDC_SDCLK_P | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
544 IOMUX_PADS(PAD_EIM_D27__EPDC_SDOE | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 544 IOMUX_PADS(PAD_EIM_D27__EPDC_SDOE | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
545 IOMUX_PADS(PAD_EIM_DA1__EPDC_SDLE | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 545 IOMUX_PADS(PAD_EIM_DA1__EPDC_SDLE | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
546 IOMUX_PADS(PAD_EIM_EB1__EPDC_SDSHR | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 546 IOMUX_PADS(PAD_EIM_EB1__EPDC_SDSHR | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
547 IOMUX_PADS(PAD_EIM_DA2__EPDC_BDR0 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 547 IOMUX_PADS(PAD_EIM_DA2__EPDC_BDR0 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
548 IOMUX_PADS(PAD_EIM_DA4__EPDC_SDCE0 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 548 IOMUX_PADS(PAD_EIM_DA4__EPDC_SDCE0 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
549 IOMUX_PADS(PAD_EIM_DA5__EPDC_SDCE1 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 549 IOMUX_PADS(PAD_EIM_DA5__EPDC_SDCE1 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
550 IOMUX_PADS(PAD_EIM_DA6__EPDC_SDCE2 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 550 IOMUX_PADS(PAD_EIM_DA6__EPDC_SDCE2 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
551 }; 551 };
552 552
553 static iomux_v3_cfg_t const epdc_disable_pads[] = { 553 static iomux_v3_cfg_t const epdc_disable_pads[] = {
554 IOMUX_PADS(PAD_EIM_A16__GPIO2_IO22), 554 IOMUX_PADS(PAD_EIM_A16__GPIO2_IO22),
555 IOMUX_PADS(PAD_EIM_DA10__GPIO3_IO10), 555 IOMUX_PADS(PAD_EIM_DA10__GPIO3_IO10),
556 IOMUX_PADS(PAD_EIM_DA12__GPIO3_IO12), 556 IOMUX_PADS(PAD_EIM_DA12__GPIO3_IO12),
557 IOMUX_PADS(PAD_EIM_DA11__GPIO3_IO11), 557 IOMUX_PADS(PAD_EIM_DA11__GPIO3_IO11),
558 IOMUX_PADS(PAD_EIM_LBA__GPIO2_IO27), 558 IOMUX_PADS(PAD_EIM_LBA__GPIO2_IO27),
559 IOMUX_PADS(PAD_EIM_EB2__GPIO2_IO30), 559 IOMUX_PADS(PAD_EIM_EB2__GPIO2_IO30),
560 IOMUX_PADS(PAD_EIM_CS0__GPIO2_IO23), 560 IOMUX_PADS(PAD_EIM_CS0__GPIO2_IO23),
561 IOMUX_PADS(PAD_EIM_RW__GPIO2_IO26), 561 IOMUX_PADS(PAD_EIM_RW__GPIO2_IO26),
562 IOMUX_PADS(PAD_EIM_A21__GPIO2_IO17), 562 IOMUX_PADS(PAD_EIM_A21__GPIO2_IO17),
563 IOMUX_PADS(PAD_EIM_A22__GPIO2_IO16), 563 IOMUX_PADS(PAD_EIM_A22__GPIO2_IO16),
564 IOMUX_PADS(PAD_EIM_A23__GPIO6_IO06), 564 IOMUX_PADS(PAD_EIM_A23__GPIO6_IO06),
565 IOMUX_PADS(PAD_EIM_A24__GPIO5_IO04), 565 IOMUX_PADS(PAD_EIM_A24__GPIO5_IO04),
566 IOMUX_PADS(PAD_EIM_D31__GPIO3_IO31), 566 IOMUX_PADS(PAD_EIM_D31__GPIO3_IO31),
567 IOMUX_PADS(PAD_EIM_D27__GPIO3_IO27), 567 IOMUX_PADS(PAD_EIM_D27__GPIO3_IO27),
568 IOMUX_PADS(PAD_EIM_DA1__GPIO3_IO01), 568 IOMUX_PADS(PAD_EIM_DA1__GPIO3_IO01),
569 IOMUX_PADS(PAD_EIM_EB1__GPIO2_IO29), 569 IOMUX_PADS(PAD_EIM_EB1__GPIO2_IO29),
570 IOMUX_PADS(PAD_EIM_DA2__GPIO3_IO02), 570 IOMUX_PADS(PAD_EIM_DA2__GPIO3_IO02),
571 IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04), 571 IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04),
572 IOMUX_PADS(PAD_EIM_DA5__GPIO3_IO05), 572 IOMUX_PADS(PAD_EIM_DA5__GPIO3_IO05),
573 IOMUX_PADS(PAD_EIM_DA6__GPIO3_IO06), 573 IOMUX_PADS(PAD_EIM_DA6__GPIO3_IO06),
574 }; 574 };
575 #endif 575 #endif
576 576
577 #ifdef CONFIG_FSL_ESDHC 577 #ifdef CONFIG_FSL_ESDHC
578 struct fsl_esdhc_cfg usdhc_cfg[3] = { 578 struct fsl_esdhc_cfg usdhc_cfg[3] = {
579 {USDHC2_BASE_ADDR}, 579 {USDHC2_BASE_ADDR},
580 {USDHC3_BASE_ADDR}, 580 {USDHC3_BASE_ADDR},
581 {USDHC4_BASE_ADDR}, 581 {USDHC4_BASE_ADDR},
582 }; 582 };
583 583
584 #define USDHC2_CD_GPIO IMX_GPIO_NR(1, 28) 584 #define USDHC2_CD_GPIO IMX_GPIO_NR(1, 28)
585 585
586 int board_mmc_get_env_dev(int devno) 586 int board_mmc_get_env_dev(int devno)
587 { 587 {
588 return devno - 1; 588 return devno - 1;
589 } 589 }
590 590
591 int mmc_map_to_kernel_blk(int devno) 591 int mmc_map_to_kernel_blk(int devno)
592 { 592 {
593 return devno + 1; 593 return devno + 1;
594 } 594 }
595 595
596 int board_mmc_getcd(struct mmc *mmc) 596 int board_mmc_getcd(struct mmc *mmc)
597 { 597 {
598 struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv; 598 struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
599 int ret = 0; 599 int ret = 0;
600 600
601 switch (cfg->esdhc_base) { 601 switch (cfg->esdhc_base) {
602 case USDHC2_BASE_ADDR: 602 case USDHC2_BASE_ADDR:
603 ret = !gpio_get_value(USDHC2_CD_GPIO); 603 ret = !gpio_get_value(USDHC2_CD_GPIO);
604 break; 604 break;
605 case USDHC3_BASE_ADDR: 605 case USDHC3_BASE_ADDR:
606 /*ret = !gpio_get_value(USDHC3_CD_GPIO);*/ 606 /*ret = !gpio_get_value(USDHC3_CD_GPIO);*/
607 break; 607 break;
608 case USDHC4_BASE_ADDR: 608 case USDHC4_BASE_ADDR:
609 ret = 1; /* eMMC/uSDHC4 is always present */ 609 ret = 1; /* eMMC/uSDHC4 is always present */
610 break; 610 break;
611 } 611 }
612 612
613 return ret; 613 return ret;
614 } 614 }
615 615
616 int board_mmc_init(bd_t *bis) 616 int board_mmc_init(bd_t *bis)
617 { 617 {
618 #ifndef CONFIG_SPL_BUILD 618 #ifndef CONFIG_SPL_BUILD
619 int ret; 619 int ret;
620 int i; 620 int i;
621 621
622 /* 622 /*
623 * According to the board_mmc_init() the following map is done: 623 * According to the board_mmc_init() the following map is done:
624 * (U-Boot device node) (Physical Port) 624 * (U-Boot device node) (Physical Port)
625 * mmc0 SDIO 625 * mmc0 SDIO
626 * mmc1 SDMMC 626 * mmc1 SDMMC
627 * mmc2 eMMC 627 * mmc2 eMMC
628 */ 628 */
629 for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) { 629 for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
630 switch (i) { 630 switch (i) {
631 case 0: 631 case 0:
632 SETUP_IOMUX_PADS(usdhc2_pads); 632 SETUP_IOMUX_PADS(usdhc2_pads);
633 gpio_request(USDHC2_CD_GPIO, "USDHC2 CD"); 633 gpio_request(USDHC2_CD_GPIO, "USDHC2 CD");
634 gpio_direction_input(USDHC2_CD_GPIO); 634 gpio_direction_input(USDHC2_CD_GPIO);
635 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); 635 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
636 break; 636 break;
637 case 1: 637 case 1:
638 SETUP_IOMUX_PADS(usdhc3_pads); 638 SETUP_IOMUX_PADS(usdhc3_pads);
639 /*gpio_request(USDHC3_CD_GPIO, "USDHC3 CD"); 639 /*gpio_request(USDHC3_CD_GPIO, "USDHC3 CD");
640 gpio_direction_input(USDHC3_CD_GPIO);*/ 640 gpio_direction_input(USDHC3_CD_GPIO);*/
641 usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); 641 usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
642 break; 642 break;
643 case 2: 643 case 2:
644 SETUP_IOMUX_PADS(usdhc4_pads); 644 SETUP_IOMUX_PADS(usdhc4_pads);
645 usdhc_cfg[2].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK); 645 usdhc_cfg[2].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
646 break; 646 break;
647 default: 647 default:
648 printf("Warning: you configured more USDHC controllers" 648 printf("Warning: you configured more USDHC controllers"
649 "(%d) then supported by the board (%d)\n", 649 "(%d) then supported by the board (%d)\n",
650 i + 1, CONFIG_SYS_FSL_USDHC_NUM); 650 i + 1, CONFIG_SYS_FSL_USDHC_NUM);
651 return -EINVAL; 651 return -EINVAL;
652 } 652 }
653 653
654 ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]); 654 ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
655 if (ret) 655 if (ret)
656 return ret; 656 return ret;
657 } 657 }
658 658
659 return 0; 659 return 0;
660 #else 660 #else
661 struct src *psrc = (struct src *)SRC_BASE_ADDR; 661 struct src *psrc = (struct src *)SRC_BASE_ADDR;
662 unsigned reg = readl(&psrc->sbmr1) >> 11; 662 unsigned reg = readl(&psrc->sbmr1) >> 11;
663 /* 663 /*
664 * Upon reading BOOT_CFG register the following map is done: 664 * Upon reading BOOT_CFG register the following map is done:
665 * Bit 11 and 12 of BOOT_CFG register can determine the current 665 * Bit 11 and 12 of BOOT_CFG register can determine the current
666 * mmc port 666 * mmc port
667 * 0x1 SD1 667 * 0x1 SD1
668 * 0x2 SD2 668 * 0x2 SD2
669 * 0x3 SD4 669 * 0x3 SD4
670 */ 670 */
671 671
672 switch (reg & 0x3) { 672 switch (reg & 0x3) {
673 case 0x1: 673 case 0x1:
674 SETUP_IOMUX_PADS(usdhc2_pads); 674 SETUP_IOMUX_PADS(usdhc2_pads);
675 usdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR; 675 usdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR;
676 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); 676 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
677 gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk; 677 gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;
678 break; 678 break;
679 case 0x2: 679 case 0x2:
680 SETUP_IOMUX_PADS(usdhc3_pads); 680 SETUP_IOMUX_PADS(usdhc3_pads);
681 usdhc_cfg[0].esdhc_base = USDHC3_BASE_ADDR; 681 usdhc_cfg[0].esdhc_base = USDHC3_BASE_ADDR;
682 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); 682 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
683 gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk; 683 gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;
684 break; 684 break;
685 case 0x3: 685 case 0x3:
686 SETUP_IOMUX_PADS(usdhc4_pads); 686 SETUP_IOMUX_PADS(usdhc4_pads);
687 usdhc_cfg[0].esdhc_base = USDHC4_BASE_ADDR; 687 usdhc_cfg[0].esdhc_base = USDHC4_BASE_ADDR;
688 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK); 688 usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
689 gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk; 689 gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk;
690 break; 690 break;
691 } 691 }
692 692
693 return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); 693 return fsl_esdhc_initialize(bis, &usdhc_cfg[0]);
694 #endif 694 #endif
695 } 695 }
696 #endif 696 #endif
697 697
698 static int ar8031_phy_fixup(struct phy_device *phydev) 698 static int ar8031_phy_fixup(struct phy_device *phydev)
699 { 699 {
700 unsigned short val; 700 unsigned short val;
701 701
702 /* To enable AR8031 ouput a 125MHz clk from CLK_25M */ 702 /* To enable AR8031 ouput a 125MHz clk from CLK_25M */
703 if (!is_mx6dqp()) { 703 if (!is_mx6dqp()) {
704 phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7); 704 phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7);
705 phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016); 705 phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016);
706 phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007); 706 phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007);
707 707
708 val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe); 708 val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
709 val &= 0xffe3; 709 val &= 0xffe3;
710 val |= 0x18; 710 val |= 0x18;
711 phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val); 711 phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
712 } 712 }
713 713
714 /* set the IO voltage to 1.8v */ 714 /* set the IO voltage to 1.8v */
715 phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f); 715 phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
716 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8); 716 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
717 717
718 /* introduce tx clock delay */ 718 /* introduce tx clock delay */
719 phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5); 719 phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
720 val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e); 720 val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
721 val |= 0x0100; 721 val |= 0x0100;
722 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val); 722 phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
723 723
724 return 0; 724 return 0;
725 } 725 }
726 726
727 int board_phy_config(struct phy_device *phydev) 727 int board_phy_config(struct phy_device *phydev)
728 { 728 {
729 ar8031_phy_fixup(phydev); 729 ar8031_phy_fixup(phydev);
730 730
731 if (phydev->drv->config) 731 if (phydev->drv->config)
732 phydev->drv->config(phydev); 732 phydev->drv->config(phydev);
733 733
734 return 0; 734 return 0;
735 } 735 }
736 736
737 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC) 737 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC)
738 vidinfo_t panel_info = { 738 vidinfo_t panel_info = {
739 .vl_refresh = 85, 739 .vl_refresh = 85,
740 .vl_col = 800, 740 .vl_col = 800,
741 .vl_row = 600, 741 .vl_row = 600,
742 .vl_pixclock = 26666667, 742 .vl_pixclock = 26666667,
743 .vl_left_margin = 8, 743 .vl_left_margin = 8,
744 .vl_right_margin = 100, 744 .vl_right_margin = 100,
745 .vl_upper_margin = 4, 745 .vl_upper_margin = 4,
746 .vl_lower_margin = 8, 746 .vl_lower_margin = 8,
747 .vl_hsync = 4, 747 .vl_hsync = 4,
748 .vl_vsync = 1, 748 .vl_vsync = 1,
749 .vl_sync = 0, 749 .vl_sync = 0,
750 .vl_mode = 0, 750 .vl_mode = 0,
751 .vl_flag = 0, 751 .vl_flag = 0,
752 .vl_bpix = 3, 752 .vl_bpix = 3,
753 .cmap = 0, 753 .cmap = 0,
754 }; 754 };
755 755
756 struct epdc_timing_params panel_timings = { 756 struct epdc_timing_params panel_timings = {
757 .vscan_holdoff = 4, 757 .vscan_holdoff = 4,
758 .sdoed_width = 10, 758 .sdoed_width = 10,
759 .sdoed_delay = 20, 759 .sdoed_delay = 20,
760 .sdoez_width = 10, 760 .sdoez_width = 10,
761 .sdoez_delay = 20, 761 .sdoez_delay = 20,
762 .gdclk_hp_offs = 419, 762 .gdclk_hp_offs = 419,
763 .gdsp_offs = 20, 763 .gdsp_offs = 20,
764 .gdoe_offs = 0, 764 .gdoe_offs = 0,
765 .gdclk_offs = 5, 765 .gdclk_offs = 5,
766 .num_ce = 1, 766 .num_ce = 1,
767 }; 767 };
768 768
769 static iomux_v3_cfg_t const epdc_pwr_ctrl_pads[] = { 769 static iomux_v3_cfg_t const epdc_pwr_ctrl_pads[] = {
770 IOMUX_PADS(PAD_EIM_A17__GPIO2_IO21 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 770 IOMUX_PADS(PAD_EIM_A17__GPIO2_IO21 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
771 IOMUX_PADS(PAD_EIM_D17__GPIO3_IO17 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 771 IOMUX_PADS(PAD_EIM_D17__GPIO3_IO17 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
772 IOMUX_PADS(PAD_EIM_D20__GPIO3_IO20 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 772 IOMUX_PADS(PAD_EIM_D20__GPIO3_IO20 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
773 IOMUX_PADS(PAD_EIM_A18__GPIO2_IO20 | MUX_PAD_CTRL(EPDC_PAD_CTRL)), 773 IOMUX_PADS(PAD_EIM_A18__GPIO2_IO20 | MUX_PAD_CTRL(EPDC_PAD_CTRL)),
774 }; 774 };
775 775
776 static void setup_epdc_power(void) 776 static void setup_epdc_power(void)
777 { 777 {
778 SETUP_IOMUX_PADS(epdc_pwr_ctrl_pads); 778 SETUP_IOMUX_PADS(epdc_pwr_ctrl_pads);
779 779
780 /* Setup epdc voltage */ 780 /* Setup epdc voltage */
781 781
782 /* EIM_A17 - GPIO2[21] for PWR_GOOD status */ 782 /* EIM_A17 - GPIO2[21] for PWR_GOOD status */
783 /* Set as input */ 783 /* Set as input */
784 gpio_request(IMX_GPIO_NR(2, 21), "EPDC PWRSTAT"); 784 gpio_request(IMX_GPIO_NR(2, 21), "EPDC PWRSTAT");
785 gpio_direction_input(IMX_GPIO_NR(2, 21)); 785 gpio_direction_input(IMX_GPIO_NR(2, 21));
786 786
787 /* EIM_D17 - GPIO3[17] for VCOM control */ 787 /* EIM_D17 - GPIO3[17] for VCOM control */
788 /* Set as output */ 788 /* Set as output */
789 gpio_request(IMX_GPIO_NR(3, 17), "EPDC VCOM0"); 789 gpio_request(IMX_GPIO_NR(3, 17), "EPDC VCOM0");
790 gpio_direction_output(IMX_GPIO_NR(3, 17), 1); 790 gpio_direction_output(IMX_GPIO_NR(3, 17), 1);
791 791
792 /* EIM_D20 - GPIO3[20] for EPD PMIC WAKEUP */ 792 /* EIM_D20 - GPIO3[20] for EPD PMIC WAKEUP */
793 /* Set as output */ 793 /* Set as output */
794 gpio_request(IMX_GPIO_NR(3, 20), "EPDC PWR WAKEUP"); 794 gpio_request(IMX_GPIO_NR(3, 20), "EPDC PWR WAKEUP");
795 gpio_direction_output(IMX_GPIO_NR(3, 20), 1); 795 gpio_direction_output(IMX_GPIO_NR(3, 20), 1);
796 796
797 /* EIM_A18 - GPIO2[20] for EPD PWR CTL0 */ 797 /* EIM_A18 - GPIO2[20] for EPD PWR CTL0 */
798 /* Set as output */ 798 /* Set as output */
799 gpio_request(IMX_GPIO_NR(2, 20), "EPDC PWR CTRL0"); 799 gpio_request(IMX_GPIO_NR(2, 20), "EPDC PWR CTRL0");
800 gpio_direction_output(IMX_GPIO_NR(2, 20), 1); 800 gpio_direction_output(IMX_GPIO_NR(2, 20), 1);
801 } 801 }
802 802
803 static void epdc_enable_pins(void) 803 static void epdc_enable_pins(void)
804 { 804 {
805 /* epdc iomux settings */ 805 /* epdc iomux settings */
806 SETUP_IOMUX_PADS(epdc_enable_pads); 806 SETUP_IOMUX_PADS(epdc_enable_pads);
807 } 807 }
808 808
809 static void epdc_disable_pins(void) 809 static void epdc_disable_pins(void)
810 { 810 {
811 /* Configure MUX settings for EPDC pins to GPIO */ 811 /* Configure MUX settings for EPDC pins to GPIO */
812 SETUP_IOMUX_PADS(epdc_disable_pads); 812 SETUP_IOMUX_PADS(epdc_disable_pads);
813 } 813 }
814 814
815 static void setup_epdc(void) 815 static void setup_epdc(void)
816 { 816 {
817 unsigned int reg; 817 unsigned int reg;
818 struct mxc_ccm_reg *ccm_regs = (struct mxc_ccm_reg *)CCM_BASE_ADDR; 818 struct mxc_ccm_reg *ccm_regs = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
819 819
820 /*** Set pixel clock rates for EPDC ***/ 820 /*** Set pixel clock rates for EPDC ***/
821 821
822 /* EPDC AXI clk (IPU2_CLK) from PFD_400M, set to 396/2 = 198MHz */ 822 /* EPDC AXI clk (IPU2_CLK) from PFD_400M, set to 396/2 = 198MHz */
823 reg = readl(&ccm_regs->cscdr3); 823 reg = readl(&ccm_regs->cscdr3);
824 reg &= ~0x7C000; 824 reg &= ~0x7C000;
825 reg |= (1 << 16) | (1 << 14); 825 reg |= (1 << 16) | (1 << 14);
826 writel(reg, &ccm_regs->cscdr3); 826 writel(reg, &ccm_regs->cscdr3);
827 827
828 /* EPDC AXI clk enable */ 828 /* EPDC AXI clk enable */
829 reg = readl(&ccm_regs->CCGR3); 829 reg = readl(&ccm_regs->CCGR3);
830 reg |= 0x00C0; 830 reg |= 0x00C0;
831 writel(reg, &ccm_regs->CCGR3); 831 writel(reg, &ccm_regs->CCGR3);
832 832
833 /* EPDC PIX clk (IPU2_DI1_CLK) from PLL5, set to 650/4/6 = ~27MHz */ 833 /* EPDC PIX clk (IPU2_DI1_CLK) from PLL5, set to 650/4/6 = ~27MHz */
834 reg = readl(&ccm_regs->cscdr2); 834 reg = readl(&ccm_regs->cscdr2);
835 reg &= ~0x3FE00; 835 reg &= ~0x3FE00;
836 reg |= (2 << 15) | (5 << 12); 836 reg |= (2 << 15) | (5 << 12);
837 writel(reg, &ccm_regs->cscdr2); 837 writel(reg, &ccm_regs->cscdr2);
838 838
839 /* PLL5 enable (defaults to 650) */ 839 /* PLL5 enable (defaults to 650) */
840 reg = readl(&ccm_regs->analog_pll_video); 840 reg = readl(&ccm_regs->analog_pll_video);
841 reg &= ~((1 << 16) | (1 << 12)); 841 reg &= ~((1 << 16) | (1 << 12));
842 reg |= (1 << 13); 842 reg |= (1 << 13);
843 writel(reg, &ccm_regs->analog_pll_video); 843 writel(reg, &ccm_regs->analog_pll_video);
844 844
845 /* EPDC PIX clk enable */ 845 /* EPDC PIX clk enable */
846 reg = readl(&ccm_regs->CCGR3); 846 reg = readl(&ccm_regs->CCGR3);
847 reg |= 0x0C00; 847 reg |= 0x0C00;
848 writel(reg, &ccm_regs->CCGR3); 848 writel(reg, &ccm_regs->CCGR3);
849 849
850 panel_info.epdc_data.wv_modes.mode_init = 0; 850 panel_info.epdc_data.wv_modes.mode_init = 0;
851 panel_info.epdc_data.wv_modes.mode_du = 1; 851 panel_info.epdc_data.wv_modes.mode_du = 1;
852 panel_info.epdc_data.wv_modes.mode_gc4 = 3; 852 panel_info.epdc_data.wv_modes.mode_gc4 = 3;
853 panel_info.epdc_data.wv_modes.mode_gc8 = 2; 853 panel_info.epdc_data.wv_modes.mode_gc8 = 2;
854 panel_info.epdc_data.wv_modes.mode_gc16 = 2; 854 panel_info.epdc_data.wv_modes.mode_gc16 = 2;
855 panel_info.epdc_data.wv_modes.mode_gc32 = 2; 855 panel_info.epdc_data.wv_modes.mode_gc32 = 2;
856 856
857 panel_info.epdc_data.epdc_timings = panel_timings; 857 panel_info.epdc_data.epdc_timings = panel_timings;
858 858
859 setup_epdc_power(); 859 setup_epdc_power();
860 } 860 }
861 861
862 void epdc_power_on(void) 862 void epdc_power_on(void)
863 { 863 {
864 unsigned int reg; 864 unsigned int reg;
865 struct gpio_regs *gpio_regs = (struct gpio_regs *)GPIO2_BASE_ADDR; 865 struct gpio_regs *gpio_regs = (struct gpio_regs *)GPIO2_BASE_ADDR;
866 866
867 /* Set EPD_PWR_CTL0 to high - enable EINK_VDD (3.15) */ 867 /* Set EPD_PWR_CTL0 to high - enable EINK_VDD (3.15) */
868 gpio_set_value(IMX_GPIO_NR(2, 20), 1); 868 gpio_set_value(IMX_GPIO_NR(2, 20), 1);
869 udelay(1000); 869 udelay(1000);
870 870
871 /* Enable epdc signal pin */ 871 /* Enable epdc signal pin */
872 epdc_enable_pins(); 872 epdc_enable_pins();
873 873
874 /* Set PMIC Wakeup to high - enable Display power */ 874 /* Set PMIC Wakeup to high - enable Display power */
875 gpio_set_value(IMX_GPIO_NR(3, 20), 1); 875 gpio_set_value(IMX_GPIO_NR(3, 20), 1);
876 876
877 /* Wait for PWRGOOD == 1 */ 877 /* Wait for PWRGOOD == 1 */
878 while (1) { 878 while (1) {
879 reg = readl(&gpio_regs->gpio_psr); 879 reg = readl(&gpio_regs->gpio_psr);
880 if (!(reg & (1 << 21))) 880 if (!(reg & (1 << 21)))
881 break; 881 break;
882 882
883 udelay(100); 883 udelay(100);
884 } 884 }
885 885
886 /* Enable VCOM */ 886 /* Enable VCOM */
887 gpio_set_value(IMX_GPIO_NR(3, 17), 1); 887 gpio_set_value(IMX_GPIO_NR(3, 17), 1);
888 888
889 udelay(500); 889 udelay(500);
890 } 890 }
891 891
892 void epdc_power_off(void) 892 void epdc_power_off(void)
893 { 893 {
894 /* Set PMIC Wakeup to low - disable Display power */ 894 /* Set PMIC Wakeup to low - disable Display power */
895 gpio_set_value(IMX_GPIO_NR(3, 20), 0); 895 gpio_set_value(IMX_GPIO_NR(3, 20), 0);
896 896
897 /* Disable VCOM */ 897 /* Disable VCOM */
898 gpio_set_value(IMX_GPIO_NR(3, 17), 0); 898 gpio_set_value(IMX_GPIO_NR(3, 17), 0);
899 899
900 epdc_disable_pins(); 900 epdc_disable_pins();
901 901
902 /* Set EPD_PWR_CTL0 to low - disable EINK_VDD (3.15) */ 902 /* Set EPD_PWR_CTL0 to low - disable EINK_VDD (3.15) */
903 gpio_set_value(IMX_GPIO_NR(2, 20), 0); 903 gpio_set_value(IMX_GPIO_NR(2, 20), 0);
904 } 904 }
905 #endif 905 #endif
906 906
907 #if defined(CONFIG_VIDEO_IPUV3) 907 #if defined(CONFIG_VIDEO_IPUV3)
908 static void disable_lvds(struct display_info_t const *dev) 908 static void disable_lvds(struct display_info_t const *dev)
909 { 909 {
910 struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR; 910 struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
911 911
912 int reg = readl(&iomux->gpr[2]); 912 int reg = readl(&iomux->gpr[2]);
913 913
914 reg &= ~(IOMUXC_GPR2_LVDS_CH0_MODE_MASK | 914 reg &= ~(IOMUXC_GPR2_LVDS_CH0_MODE_MASK |
915 IOMUXC_GPR2_LVDS_CH1_MODE_MASK); 915 IOMUXC_GPR2_LVDS_CH1_MODE_MASK);
916 916
917 writel(reg, &iomux->gpr[2]); 917 writel(reg, &iomux->gpr[2]);
918 } 918 }
919 919
920 static void do_enable_hdmi(struct display_info_t const *dev) 920 static void do_enable_hdmi(struct display_info_t const *dev)
921 { 921 {
922 disable_lvds(dev); 922 disable_lvds(dev);
923 imx_enable_hdmi_phy(); 923 imx_enable_hdmi_phy();
924 } 924 }
925 925
926 struct display_info_t const displays[] = {{ 926 struct display_info_t const displays[] = {{
927 .bus = -1, 927 .bus = -1,
928 .addr = 0, 928 .addr = 0,
929 .pixfmt = IPU_PIX_FMT_RGB666, 929 .pixfmt = IPU_PIX_FMT_RGB666,
930 .detect = NULL, 930 .detect = NULL,
931 .enable = enable_lvds, 931 .enable = enable_lvds,
932 .mode = { 932 .mode = {
933 .name = "Hannstar-XGA", 933 .name = "Hannstar-XGA",
934 .refresh = 60, 934 .refresh = 60,
935 .xres = 1024, 935 .xres = 1024,
936 .yres = 768, 936 .yres = 768,
937 .pixclock = 15384, 937 .pixclock = 15384,
938 .left_margin = 160, 938 .left_margin = 160,
939 .right_margin = 24, 939 .right_margin = 24,
940 .upper_margin = 29, 940 .upper_margin = 29,
941 .lower_margin = 3, 941 .lower_margin = 3,
942 .hsync_len = 136, 942 .hsync_len = 136,
943 .vsync_len = 6, 943 .vsync_len = 6,
944 .sync = FB_SYNC_EXT, 944 .sync = FB_SYNC_EXT,
945 .vmode = FB_VMODE_NONINTERLACED 945 .vmode = FB_VMODE_NONINTERLACED
946 } }, { 946 } }, {
947 .bus = -1, 947 .bus = -1,
948 .addr = 0, 948 .addr = 0,
949 .pixfmt = IPU_PIX_FMT_RGB24, 949 .pixfmt = IPU_PIX_FMT_RGB24,
950 .detect = NULL, 950 .detect = NULL,
951 .enable = do_enable_hdmi, 951 .enable = do_enable_hdmi,
952 .mode = { 952 .mode = {
953 .name = "HDMI", 953 .name = "HDMI",
954 .refresh = 60, 954 .refresh = 60,
955 .xres = 640, 955 .xres = 640,
956 .yres = 480, 956 .yres = 480,
957 .pixclock = 39721, 957 .pixclock = 39721,
958 .left_margin = 48, 958 .left_margin = 48,
959 .right_margin = 16, 959 .right_margin = 16,
960 .upper_margin = 33, 960 .upper_margin = 33,
961 .lower_margin = 10, 961 .lower_margin = 10,
962 .hsync_len = 96, 962 .hsync_len = 96,
963 .vsync_len = 2, 963 .vsync_len = 2,
964 .sync = 0, 964 .sync = 0,
965 .vmode = FB_VMODE_NONINTERLACED 965 .vmode = FB_VMODE_NONINTERLACED
966 } }, { 966 } }, {
967 .bus = -1, 967 .bus = -1,
968 .addr = 0, 968 .addr = 0,
969 .pixfmt = IPU_PIX_FMT_RGB24, 969 .pixfmt = IPU_PIX_FMT_RGB24,
970 .detect = NULL, 970 .detect = NULL,
971 .enable = enable_rgb, 971 .enable = enable_rgb,
972 .mode = { 972 .mode = {
973 .name = "SEIKO-WVGA", 973 .name = "SEIKO-WVGA",
974 .refresh = 60, 974 .refresh = 60,
975 .xres = 800, 975 .xres = 800,
976 .yres = 480, 976 .yres = 480,
977 .pixclock = 29850, 977 .pixclock = 29850,
978 .left_margin = 89, 978 .left_margin = 89,
979 .right_margin = 164, 979 .right_margin = 164,
980 .upper_margin = 23, 980 .upper_margin = 23,
981 .lower_margin = 10, 981 .lower_margin = 10,
982 .hsync_len = 10, 982 .hsync_len = 10,
983 .vsync_len = 10, 983 .vsync_len = 10,
984 .sync = 0, 984 .sync = 0,
985 .vmode = FB_VMODE_NONINTERLACED 985 .vmode = FB_VMODE_NONINTERLACED
986 } } }; 986 } } };
987 size_t display_count = ARRAY_SIZE(displays); 987 size_t display_count = ARRAY_SIZE(displays);
988 988
989 static void setup_display(void) 989 static void setup_display(void)
990 { 990 {
991 struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; 991 struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
992 struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR; 992 struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
993 int reg; 993 int reg;
994 994
995 /* Setup HSYNC, VSYNC, DISP_CLK for debugging purposes */ 995 /* Setup HSYNC, VSYNC, DISP_CLK for debugging purposes */
996 SETUP_IOMUX_PADS(di0_pads); 996 SETUP_IOMUX_PADS(di0_pads);
997 997
998 enable_ipu_clock(); 998 enable_ipu_clock();
999 imx_setup_hdmi(); 999 imx_setup_hdmi();
1000 1000
1001 /* Turn on LDB0, LDB1, IPU,IPU DI0 clocks */ 1001 /* Turn on LDB0, LDB1, IPU,IPU DI0 clocks */
1002 reg = readl(&mxc_ccm->CCGR3); 1002 reg = readl(&mxc_ccm->CCGR3);
1003 reg |= MXC_CCM_CCGR3_LDB_DI0_MASK | MXC_CCM_CCGR3_LDB_DI1_MASK; 1003 reg |= MXC_CCM_CCGR3_LDB_DI0_MASK | MXC_CCM_CCGR3_LDB_DI1_MASK;
1004 writel(reg, &mxc_ccm->CCGR3); 1004 writel(reg, &mxc_ccm->CCGR3);
1005 1005
1006 /* set LDB0, LDB1 clk select to 011/011 */ 1006 /* set LDB0, LDB1 clk select to 011/011 */
1007 reg = readl(&mxc_ccm->cs2cdr); 1007 reg = readl(&mxc_ccm->cs2cdr);
1008 reg &= ~(MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_MASK 1008 reg &= ~(MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_MASK
1009 | MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_MASK); 1009 | MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_MASK);
1010 reg |= (3 << MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET) 1010 reg |= (3 << MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET)
1011 | (3 << MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_OFFSET); 1011 | (3 << MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_OFFSET);
1012 writel(reg, &mxc_ccm->cs2cdr); 1012 writel(reg, &mxc_ccm->cs2cdr);
1013 1013
1014 reg = readl(&mxc_ccm->cscmr2); 1014 reg = readl(&mxc_ccm->cscmr2);
1015 reg |= MXC_CCM_CSCMR2_LDB_DI0_IPU_DIV | MXC_CCM_CSCMR2_LDB_DI1_IPU_DIV; 1015 reg |= MXC_CCM_CSCMR2_LDB_DI0_IPU_DIV | MXC_CCM_CSCMR2_LDB_DI1_IPU_DIV;
1016 writel(reg, &mxc_ccm->cscmr2); 1016 writel(reg, &mxc_ccm->cscmr2);
1017 1017
1018 reg = readl(&mxc_ccm->chsccdr); 1018 reg = readl(&mxc_ccm->chsccdr);
1019 reg |= (CHSCCDR_CLK_SEL_LDB_DI0 1019 reg |= (CHSCCDR_CLK_SEL_LDB_DI0
1020 << MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_OFFSET); 1020 << MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_OFFSET);
1021 reg |= (CHSCCDR_CLK_SEL_LDB_DI0 1021 reg |= (CHSCCDR_CLK_SEL_LDB_DI0
1022 << MXC_CCM_CHSCCDR_IPU1_DI1_CLK_SEL_OFFSET); 1022 << MXC_CCM_CHSCCDR_IPU1_DI1_CLK_SEL_OFFSET);
1023 writel(reg, &mxc_ccm->chsccdr); 1023 writel(reg, &mxc_ccm->chsccdr);
1024 1024
1025 reg = IOMUXC_GPR2_BGREF_RRMODE_EXTERNAL_RES 1025 reg = IOMUXC_GPR2_BGREF_RRMODE_EXTERNAL_RES
1026 | IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_LOW 1026 | IOMUXC_GPR2_DI1_VS_POLARITY_ACTIVE_LOW
1027 | IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_LOW 1027 | IOMUXC_GPR2_DI0_VS_POLARITY_ACTIVE_LOW
1028 | IOMUXC_GPR2_BIT_MAPPING_CH1_SPWG 1028 | IOMUXC_GPR2_BIT_MAPPING_CH1_SPWG
1029 | IOMUXC_GPR2_DATA_WIDTH_CH1_18BIT 1029 | IOMUXC_GPR2_DATA_WIDTH_CH1_18BIT
1030 | IOMUXC_GPR2_BIT_MAPPING_CH0_SPWG 1030 | IOMUXC_GPR2_BIT_MAPPING_CH0_SPWG
1031 | IOMUXC_GPR2_DATA_WIDTH_CH0_18BIT 1031 | IOMUXC_GPR2_DATA_WIDTH_CH0_18BIT
1032 | IOMUXC_GPR2_LVDS_CH0_MODE_DISABLED 1032 | IOMUXC_GPR2_LVDS_CH0_MODE_DISABLED
1033 | IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0; 1033 | IOMUXC_GPR2_LVDS_CH1_MODE_ENABLED_DI0;
1034 writel(reg, &iomux->gpr[2]); 1034 writel(reg, &iomux->gpr[2]);
1035 1035
1036 reg = readl(&iomux->gpr[3]); 1036 reg = readl(&iomux->gpr[3]);
1037 reg = (reg & ~(IOMUXC_GPR3_LVDS1_MUX_CTL_MASK 1037 reg = (reg & ~(IOMUXC_GPR3_LVDS1_MUX_CTL_MASK
1038 | IOMUXC_GPR3_HDMI_MUX_CTL_MASK)) 1038 | IOMUXC_GPR3_HDMI_MUX_CTL_MASK))
1039 | (IOMUXC_GPR3_MUX_SRC_IPU1_DI0 1039 | (IOMUXC_GPR3_MUX_SRC_IPU1_DI0
1040 << IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET); 1040 << IOMUXC_GPR3_LVDS1_MUX_CTL_OFFSET);
1041 writel(reg, &iomux->gpr[3]); 1041 writel(reg, &iomux->gpr[3]);
1042 } 1042 }
1043 #endif /* CONFIG_VIDEO_IPUV3 */ 1043 #endif /* CONFIG_VIDEO_IPUV3 */
1044 1044
1045 /* 1045 /*
1046 * Do not overwrite the console 1046 * Do not overwrite the console
1047 * Use always serial for U-Boot console 1047 * Use always serial for U-Boot console
1048 */ 1048 */
1049 int overwrite_console(void) 1049 int overwrite_console(void)
1050 { 1050 {
1051 return 1; 1051 return 1;
1052 } 1052 }
1053 1053
1054 static void setup_fec(void) 1054 static void setup_fec(void)
1055 { 1055 {
1056 if (is_mx6dqp()) { 1056 if (is_mx6dqp()) {
1057 int ret; 1057 int ret;
1058 1058
1059 /* select ENET MAC0 TX clock from PLL */ 1059 /* select ENET MAC0 TX clock from PLL */
1060 imx_iomux_set_gpr_register(5, 9, 1, 1); 1060 imx_iomux_set_gpr_register(5, 9, 1, 1);
1061 ret = enable_fec_anatop_clock(0, ENET_125MHZ); 1061 ret = enable_fec_anatop_clock(0, ENET_125MHZ);
1062 if (ret) 1062 if (ret)
1063 printf("Error fec anatop clock settings!\n"); 1063 printf("Error fec anatop clock settings!\n");
1064 } 1064 }
1065 } 1065 }
1066 1066
1067 int board_eth_init(bd_t *bis) 1067 int board_eth_init(bd_t *bis)
1068 { 1068 {
1069 setup_iomux_enet(); 1069 setup_iomux_enet();
1070 return cpu_eth_init(bis); 1070 return cpu_eth_init(bis);
1071 } 1071 }
1072 1072
1073 #ifdef CONFIG_USB_EHCI_MX6 1073 #ifdef CONFIG_USB_EHCI_MX6
1074 #ifdef CONFIG_DM_USB 1074 #ifdef CONFIG_DM_USB
1075 int board_ehci_hcd_init(int port) 1075 int board_ehci_hcd_init(int port)
1076 { 1076 {
1077 switch (port) { 1077 switch (port) {
1078 case 0: 1078 case 0:
1079 /* 1079 /*
1080 * Set daisy chain for otg_pin_id on 6q. 1080 * Set daisy chain for otg_pin_id on 6q.
1081 * For 6dl, this bit is reserved. 1081 * For 6dl, this bit is reserved.
1082 */ 1082 */
1083 imx_iomux_set_gpr_register(1, 13, 1, 0); 1083 imx_iomux_set_gpr_register(1, 13, 1, 0);
1084 break; 1084 break;
1085 case 1: 1085 case 1:
1086 break; 1086 break;
1087 default: 1087 default:
1088 printf("MXC USB port %d not yet supported\n", port); 1088 printf("MXC USB port %d not yet supported\n", port);
1089 return -EINVAL; 1089 return -EINVAL;
1090 } 1090 }
1091 return 0; 1091 return 0;
1092 } 1092 }
1093 #else 1093 #else
1094 #define USB_OTHERREGS_OFFSET 0x800 1094 #define USB_OTHERREGS_OFFSET 0x800
1095 #define UCTRL_PWR_POL (1 << 9) 1095 #define UCTRL_PWR_POL (1 << 9)
1096 1096
1097 static iomux_v3_cfg_t const usb_otg_pads[] = { 1097 static iomux_v3_cfg_t const usb_otg_pads[] = {
1098 /* OTG Over Current */ 1098 /* OTG Over Current */
1099 IOMUX_PADS(PAD_ENET_TXD0__GPIO1_IO30 | MUX_PAD_CTRL(WEAK_PULLUP)), 1099 IOMUX_PADS(PAD_ENET_TXD0__GPIO1_IO30 | MUX_PAD_CTRL(WEAK_PULLUP)),
1100 /* OTG ID */ 1100 /* OTG ID */
1101 IOMUX_PADS(PAD_ENET_RX_ER__USB_OTG_ID | MUX_PAD_CTRL(WEAK_PULLUP)), 1101 IOMUX_PADS(PAD_ENET_RX_ER__USB_OTG_ID | MUX_PAD_CTRL(WEAK_PULLUP)),
1102 /* OTG Power enable */ 1102 /* OTG Power enable */
1103 IOMUX_PADS(PAD_ENET_TXD1__GPIO1_IO29 | MUX_PAD_CTRL(OUTPUT_40OHM)), 1103 IOMUX_PADS(PAD_ENET_TXD1__GPIO1_IO29 | MUX_PAD_CTRL(OUTPUT_40OHM)),
1104 }; 1104 };
1105 1105
1106 static iomux_v3_cfg_t const usb_hc1_pads[] = { 1106 static iomux_v3_cfg_t const usb_hc1_pads[] = {
1107 /* USB1 Over Current */ 1107 /* USB1 Over Current */
1108 IOMUX_PADS(PAD_ENET_RXD0__GPIO1_IO27 | MUX_PAD_CTRL(WEAK_PULLUP)), 1108 IOMUX_PADS(PAD_ENET_RXD0__GPIO1_IO27 | MUX_PAD_CTRL(WEAK_PULLUP)),
1109 /* USB1 Power enable */ 1109 /* USB1 Power enable */
1110 IOMUX_PADS(MX6_PAD_ENET_RXD1__GPIO1_IO26 | MUX_PAD_CTRL(OUTPUT_40OHM)), 1110 IOMUX_PADS(MX6_PAD_ENET_RXD1__GPIO1_IO26 | MUX_PAD_CTRL(OUTPUT_40OHM)),
1111 }; 1111 };
1112 1112
1113 int board_ehci_hcd_init(int port) 1113 int board_ehci_hcd_init(int port)
1114 { 1114 {
1115 u32 *usbnc_usb_ctrl; 1115 u32 *usbnc_usb_ctrl;
1116 1116
1117 switch (port) { 1117 switch (port) {
1118 case 0: 1118 case 0:
1119 SETUP_IOMUX_PADS(usb_otg_pads); 1119 SETUP_IOMUX_PADS(usb_otg_pads);
1120 gpio_request(IMX_GPIO_NR(1, 29), "USB OTG Power Enable") 1120 gpio_request(IMX_GPIO_NR(1, 29), "USB OTG Power Enable")
1121 gpio_request(IMX_GPIO_NR(1, 30), "USB OTG Over Current") 1121 gpio_request(IMX_GPIO_NR(1, 30), "USB OTG Over Current")
1122 1122
1123 /* 1123 /*
1124 * Set daisy chain for otg_pin_id on 6q. 1124 * Set daisy chain for otg_pin_id on 6q.
1125 * For 6dl, this bit is reserved. 1125 * For 6dl, this bit is reserved.
1126 */ 1126 */
1127 imx_iomux_set_gpr_register(1, 13, 1, 0); 1127 imx_iomux_set_gpr_register(1, 13, 1, 0);
1128 1128
1129 usbnc_usb_ctrl = (u32 *)(USB_BASE_ADDR + USB_OTHERREGS_OFFSET + 1129 usbnc_usb_ctrl = (u32 *)(USB_BASE_ADDR + USB_OTHERREGS_OFFSET +
1130 port * 4); 1130 port * 4);
1131 1131
1132 setbits_le32(usbnc_usb_ctrl, UCTRL_PWR_POL); 1132 setbits_le32(usbnc_usb_ctrl, UCTRL_PWR_POL);
1133 break; 1133 break;
1134 case 1: 1134 case 1:
1135 SETUP_IOMUX_PADS(usb_hc1_pads); 1135 SETUP_IOMUX_PADS(usb_hc1_pads);
1136 gpio_request(IMX_GPIO_NR(1, 26), "USB HC1 Power Enable"); 1136 gpio_request(IMX_GPIO_NR(1, 26), "USB HC1 Power Enable");
1137 gpio_request(IMX_GPIO_NR(1, 27), "USB HC1 Over Current"); 1137 gpio_request(IMX_GPIO_NR(1, 27), "USB HC1 Over Current");
1138 break; 1138 break;
1139 default: 1139 default:
1140 printf("MXC USB port %d not yet supported\n", port); 1140 printf("MXC USB port %d not yet supported\n", port);
1141 return -EINVAL; 1141 return -EINVAL;
1142 } 1142 }
1143 1143
1144 return 0; 1144 return 0;
1145 } 1145 }
1146 1146
1147 int board_ehci_power(int port, int on) 1147 int board_ehci_power(int port, int on)
1148 { 1148 {
1149 switch (port) { 1149 switch (port) {
1150 case 0: 1150 case 0:
1151 if (on) 1151 if (on)
1152 gpio_direction_output(IMX_GPIO_NR(1, 29), 1); 1152 gpio_direction_output(IMX_GPIO_NR(1, 29), 1);
1153 gpio_direction_input(IMX_GPIO_NR(1, 30)); 1153 gpio_direction_input(IMX_GPIO_NR(1, 30));
1154 else 1154 else
1155 gpio_direction_output(IMX_GPIO_NR(1, 29), 0); 1155 gpio_direction_output(IMX_GPIO_NR(1, 29), 0);
1156 break; 1156 break;
1157 break; 1157 break;
1158 case 1: 1158 case 1:
1159 if (on) 1159 if (on)
1160 gpio_direction_output(IMX_GPIO_NR(1, 26), 1); 1160 gpio_direction_output(IMX_GPIO_NR(1, 26), 1);
1161 gpio_direction_input(IMX_GPIO_NR(1, 27)); 1161 gpio_direction_input(IMX_GPIO_NR(1, 27));
1162 else 1162 else
1163 gpio_direction_output(IMX_GPIO_NR(1, 26), 0); 1163 gpio_direction_output(IMX_GPIO_NR(1, 26), 0);
1164 break; 1164 break;
1165 default: 1165 default:
1166 printf("MXC USB port %d not yet supported\n", port); 1166 printf("MXC USB port %d not yet supported\n", port);
1167 return -EINVAL; 1167 return -EINVAL;
1168 } 1168 }
1169 1169
1170 return 0; 1170 return 0;
1171 } 1171 }
1172 #endif 1172 #endif
1173 #endif 1173 #endif
1174 1174
1175 int board_early_init_f(void) 1175 int board_early_init_f(void)
1176 { 1176 {
1177 setup_iomux_wdt(); 1177 setup_iomux_wdt();
1178 setup_iomux_reset_out(); 1178 setup_iomux_reset_out();
1179 setup_iomux_uart1(); 1179 setup_iomux_uart1();
1180 setup_iomux_uart2(); 1180 setup_iomux_uart2();
1181 setup_iomux_uart4(); 1181 setup_iomux_uart4();
1182 setup_iomux_uart5(); 1182 setup_iomux_uart5();
1183 #if defined(CONFIG_VIDEO_IPUV3) 1183 #if defined(CONFIG_VIDEO_IPUV3)
1184 setup_display(); 1184 setup_display();
1185 #endif 1185 #endif
1186 setup_spi1(); 1186 setup_spi1();
1187 setup_flexcan1(); 1187 setup_flexcan1();
1188 setup_flexcan2(); 1188 setup_flexcan2();
1189 setup_gpios(); 1189 setup_gpios();
1190 setup_misc(); 1190 setup_misc();
1191 1191
1192 return 0; 1192 return 0;
1193 } 1193 }
1194 1194
1195 int board_init(void) 1195 int board_init(void)
1196 { 1196 {
1197 /* address of boot parameters */ 1197 /* address of boot parameters */
1198 gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; 1198 gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
1199 1199
1200 #ifdef CONFIG_MXC_SPI 1200 #ifdef CONFIG_MXC_SPI
1201 // Make sure we enable ECSPI2 clock 1201 // Make sure we enable ECSPI2 clock
1202 int reg; 1202 int reg;
1203 struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; 1203 struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
1204 reg = readl(&mxc_ccm->CCGR1); 1204 reg = readl(&mxc_ccm->CCGR1);
1205 reg |= MXC_CCM_CCGR1_ECSPI2S_MASK; 1205 reg |= MXC_CCM_CCGR1_ECSPI2S_MASK;
1206 writel(reg, &mxc_ccm->CCGR1); 1206 writel(reg, &mxc_ccm->CCGR1);
1207 1207
1208 gpio_request(IMX_GPIO_NR(4, 20), "SPI_LOCK_PIN"); 1208 gpio_request(IMX_GPIO_NR(4, 20), "SPI_LOCK_PIN");
1209 /*Unlock SPI Flash*/ 1209 /*Unlock SPI Flash*/
1210 gpio_direction_output(IMX_GPIO_NR(4,20), 1); 1210 gpio_direction_output(IMX_GPIO_NR(4,20), 1);
1211 setup_spinor(); 1211 setup_spinor();
1212 #endif 1212 #endif
1213 1213
1214 #ifdef CONFIG_SYS_I2C 1214 #ifdef CONFIG_SYS_I2C
1215 setup_i2c(2, CONFIG_SYS_I2C_SPEED, 1215 setup_i2c(2, CONFIG_SYS_I2C_SPEED,
1216 0x70, &i2c_pad_info3); 1216 0x70, &i2c_pad_info3);
1217 1217
1218 /* Configure I2C switch (PCA9546) to enable channel 0. */ 1218 /* Configure I2C switch (PCA9546) to enable channel 0. */
1219 i2c_set_bus_num(2); 1219 i2c_set_bus_num(2);
1220 uint8_t i2cbuf; 1220 uint8_t i2cbuf;
1221 i2cbuf = 0x07; /* Enable channel 0, 1, 2. */ 1221 i2cbuf = 0x07; /* Enable channel 0, 1, 2. */
1222 if (i2c_write(0x70, 0, 1222 if (i2c_write(0x70, 0,
1223 0, &i2cbuf, 1)) { 1223 0, &i2cbuf, 1)) {
1224 printf("Write to MUX @ 0x%02x failed\n", 0x70); 1224 printf("Write to MUX @ 0x%02x failed\n", 0x70);
1225 return 1; 1225 return 1;
1226 } 1226 }
1227 #endif 1227 #endif
1228 1228
1229 #ifdef CONFIG_PCIE_IMX 1229 #ifdef CONFIG_PCIE_IMX
1230 setup_pcie(); 1230 setup_pcie();
1231 #endif 1231 #endif
1232 1232
1233 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC) 1233 #if defined(CONFIG_MX6DL) && defined(CONFIG_MXC_EPDC)
1234 setup_epdc(); 1234 setup_epdc();
1235 #endif 1235 #endif
1236 1236
1237 #ifdef CONFIG_SATA 1237 #ifdef CONFIG_SATA
1238 setup_sata(); 1238 setup_sata();
1239 #endif 1239 #endif
1240 1240
1241 #ifdef CONFIG_FEC_MXC 1241 #ifdef CONFIG_FEC_MXC
1242 setup_fec(); 1242 setup_fec();
1243 #endif 1243 #endif
1244 1244
1245 return 0; 1245 return 0;
1246 } 1246 }
1247 1247
1248 #ifdef CONFIG_CMD_BMODE 1248 #ifdef CONFIG_CMD_BMODE
1249 static const struct boot_mode board_boot_modes[] = { 1249 static const struct boot_mode board_boot_modes[] = {
1250 /* 4 bit bus width */ 1250 /* 4 bit bus width */
1251 {"sd2", MAKE_CFGVAL(0x40, 0x28, 0x00, 0x00)}, 1251 {"sd2", MAKE_CFGVAL(0x40, 0x28, 0x00, 0x00)},
1252 {"sd3", MAKE_CFGVAL(0x40, 0x30, 0x00, 0x00)}, 1252 {"sd3", MAKE_CFGVAL(0x40, 0x30, 0x00, 0x00)},
1253 /* 8 bit bus width */ 1253 /* 8 bit bus width */
1254 {"emmc", MAKE_CFGVAL(0x60, 0x58, 0x00, 0x00)}, 1254 {"emmc", MAKE_CFGVAL(0x60, 0x58, 0x00, 0x00)},
1255 {NULL, 0}, 1255 {NULL, 0},
1256 }; 1256 };
1257 #endif 1257 #endif
1258 1258
1259 int board_late_init(void) 1259 int board_late_init(void)
1260 { 1260 {
1261 #ifdef CONFIG_CMD_BMODE 1261 #ifdef CONFIG_CMD_BMODE
1262 add_board_boot_modes(board_boot_modes); 1262 add_board_boot_modes(board_boot_modes);
1263 #endif 1263 #endif
1264 1264
1265 env_set("tee", "no"); 1265 env_set("tee", "no");
1266 #ifdef CONFIG_IMX_OPTEE 1266 #ifdef CONFIG_IMX_OPTEE
1267 env_set("tee", "yes"); 1267 env_set("tee", "yes");
1268 #endif 1268 #endif
1269 1269
1270 #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 1270 #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
1271 if (is_mx6dqp()) 1271 if (is_mx6dqp())
1272 env_set("board_rev", "MX6QP"); 1272 env_set("board_rev", "MX6QP");
1273 else if (is_mx6dq()) 1273 else if (is_mx6dq())
1274 env_set("board_rev", "MX6Q"); 1274 env_set("board_rev", "MX6Q");
1275 else if (is_mx6sdl()) 1275 else if (is_mx6sdl())
1276 env_set("board_rev", "MX6DL"); 1276 env_set("board_rev", "MX6DL");
1277 #endif 1277 #endif
1278 1278
1279 #ifdef CONFIG_ENV_IS_IN_MMC 1279 #ifdef CONFIG_ENV_IS_IN_MMC
1280 board_late_mmc_env_init(); 1280 board_late_mmc_env_init();
1281 #endif 1281 #endif
1282 1282
1283 puts("---------Embedian SMARC-FiMX6------------\n"); 1283 puts("---------Embedian SMARC-FiMX6------------\n");
1284 /* Read Module Information from on module EEPROM and pass 1284 /* Read Module Information from on module EEPROM and pass
1285 * mac address to kernel 1285 * mac address to kernel
1286 */ 1286 */
1287 struct udevice *dev; 1287 struct udevice *dev;
1288 int ret; 1288 int ret;
1289 u8 name[8]; 1289 u8 name[8];
1290 u8 serial[12]; 1290 u8 serial[12];
1291 u8 revision[4]; 1291 u8 revision[4];
1292 u8 mac[6]; 1292 u8 mac[6];
1293 1293
1294 ret = i2c_get_chip_for_busnum(0, 0x50, 2, &dev); 1294 ret = i2c_get_chip_for_busnum(0, 0x50, 2, &dev);
1295 if (ret) { 1295 if (ret) {
1296 debug("failed to get eeprom\n"); 1296 debug("failed to get eeprom\n");
1297 return 0; 1297 return 0;
1298 } 1298 }
1299 1299
1300 /* Board ID */ 1300 /* Board ID */
1301 ret = dm_i2c_read(dev, 0x4, name, 8); 1301 ret = dm_i2c_read(dev, 0x4, name, 8);
1302 if (ret) { 1302 if (ret) {
1303 debug("failed to read board ID from EEPROM\n"); 1303 debug("failed to read board ID from EEPROM\n");
1304 return 0; 1304 return 0;
1305 } 1305 }
1306 printf(" Board ID: %c%c%c%c%c%c%c%c\n", 1306 printf(" Board ID: %c%c%c%c%c%c%c%c\n",
1307 name[0], name[1], name[2], name[3], name[4], name[5], name[6], name[7]); 1307 name[0], name[1], name[2], name[3], name[4], name[5], name[6], name[7]);
1308 1308
1309 /* Board Hardware Revision */ 1309 /* Board Hardware Revision */
1310 ret = dm_i2c_read(dev, 0xc, revision, 4); 1310 ret = dm_i2c_read(dev, 0xc, revision, 4);
1311 if (ret) { 1311 if (ret) {
1312 debug("failed to read hardware revison from EEPROM\n"); 1312 debug("failed to read hardware revison from EEPROM\n");
1313 return 0; 1313 return 0;
1314 } 1314 }
1315 printf(" Hardware Revision: %c%c%c%c\n", 1315 printf(" Hardware Revision: %c%c%c%c\n",
1316 revision[0], revision[1], revision[2], revision[3]); 1316 revision[0], revision[1], revision[2], revision[3]);
1317 1317
1318 /* Serial number */ 1318 /* Serial number */
1319 ret = dm_i2c_read(dev, 0x10, serial, 12); 1319 ret = dm_i2c_read(dev, 0x10, serial, 12);
1320 if (ret) { 1320 if (ret) {
1321 debug("failed to read srial number from EEPROM\n"); 1321 debug("failed to read srial number from EEPROM\n");
1322 return 0; 1322 return 0;
1323 } 1323 }
1324 printf(" Serial Number#: %c%c%c%c%c%c%c%c%c%c%c%c\n", 1324 printf(" Serial Number#: %c%c%c%c%c%c%c%c%c%c%c%c\n",
1325 serial[0], serial[1], serial[2], serial[3], serial[4], serial[5], serial[6], serial[7], serial[8], serial[9], serial[10], serial[11]); 1325 serial[0], serial[1], serial[2], serial[3], serial[4], serial[5], serial[6], serial[7], serial[8], serial[9], serial[10], serial[11]);
1326 1326
1327 /*MAC address*/ 1327 /*MAC address*/
1328 ret = dm_i2c_read(dev, 0x3c, mac, 6); 1328 ret = dm_i2c_read(dev, 0x3c, mac, 6);
1329 if (ret) { 1329 if (ret) {
1330 debug("failed to read eth0 mac address from EEPROM\n"); 1330 debug("failed to read eth0 mac address from EEPROM\n");
1331 return 0; 1331 return 0;
1332 } 1332 }
1333 1333
1334 if (is_valid_ethaddr(mac)) 1334 if (is_valid_ethaddr(mac))
1335 printf(" MAC Address: %02x:%02x:%02x:%02x:%02x:%02x\n", 1335 printf(" MAC Address: %02x:%02x:%02x:%02x:%02x:%02x\n",
1336 mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); 1336 mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
1337 eth_env_set_enetaddr("ethaddr", mac); 1337 eth_env_set_enetaddr("ethaddr", mac);
1338 puts("-----------------------------------------\n"); 1338 puts("-----------------------------------------\n");
1339 1339
1340 /* Lock Up SPI NOR First to Free ECSPI2 Bus */ 1340 /* Lock Up SPI NOR First to Free ECSPI2 Bus */
1341 gpio_direction_output(IMX_GPIO_NR(4,20), 0); 1341 gpio_direction_output(IMX_GPIO_NR(4,20), 0);
1342 /* SMARC BOOT_SEL*/ 1342 /* SMARC BOOT_SEL*/
1343 gpio_request(IMX_GPIO_NR(1, 4), "BOOT_SEL_1"); 1343 gpio_request(IMX_GPIO_NR(1, 4), "BOOT_SEL_1");
1344 gpio_request(IMX_GPIO_NR(1, 5), "BOOT_SEL_2"); 1344 gpio_request(IMX_GPIO_NR(1, 5), "BOOT_SEL_2");
1345 gpio_request(IMX_GPIO_NR(1, 6), "BOOT_SEL_3"); 1345 gpio_request(IMX_GPIO_NR(1, 6), "BOOT_SEL_3");
1346 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)) { 1346 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)) {
1347 puts("BOOT_SEL Detected: OFF OFF OFF, Load zImage from Carrier SATA...\n"); 1347 puts("BOOT_SEL Detected: OFF OFF OFF, Load zImage from Carrier SATA...\n");
1348 env_set("root", "/dev/sda1 rootwait rw "); 1348 env_set("root", "/dev/sda1 rootwait rw ");
1349 env_set("bootcmd", "sata init; run findfdt; run loadsataenv; run importbootenv; run uenvcmd; run loadsatazimage; run loadsatafdt; run sataboot;"); 1349 env_set("bootcmd", "sata init; run loadsataenv; run importbootenv; run uenvcmd; run loadsatazimage; run loadsatafdt; run sataboot;");
1350 } 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)) { 1350 } 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)) {
1351 puts("BOOT_SEL Detected: OFF OFF ON, USB Boot Up Not Defined...Carrier SPI Boot Not Supported...\n"); 1351 puts("BOOT_SEL Detected: OFF OFF ON, USB Boot Up Not Defined...Carrier SPI Boot Not Supported...\n");
1352 hang(); 1352 hang();
1353 } 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)) { 1353 } 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)) {
1354 puts("BOOT_SEL Detected: OFF ON OFF, Load zImage from Carrier SDMMC...\n"); 1354 puts("BOOT_SEL Detected: OFF ON OFF, Load zImage from Carrier SDMMC...\n");
1355 env_set_ulong("mmcdev", 1); 1355 env_set_ulong("mmcdev", 1);
1356 env_set("bootcmd", "mmc rescan; run findfdt; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); 1356 env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;");
1357 } 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)) { 1357 } 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)) {
1358 puts("BOOT_SEL Detected: ON OFF OFF, Load zImage from Carrier SD Card...\n"); 1358 puts("BOOT_SEL Detected: ON OFF OFF, Load zImage from Carrier SD Card...\n");
1359 env_set_ulong("mmcdev", 0); 1359 env_set_ulong("mmcdev", 0);
1360 env_set("bootcmd", "mmc rescan; run findfdt; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); 1360 env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;");
1361 } 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)) { 1361 } 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)) {
1362 puts("BOOT_SEL Detected: OFF ON ON, Load zImage from Module eMMC Flash...\n"); 1362 puts("BOOT_SEL Detected: OFF ON ON, Load zImage from Module eMMC Flash...\n");
1363 env_set_ulong("mmcdev", 2); 1363 env_set_ulong("mmcdev", 2);
1364 env_set("bootcmd", "mmc rescan; run findfdt; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); 1364 env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;");
1365 } 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)) { 1365 } 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)) {
1366 puts("BOOT_SEL Detected: ON OFF ON, Load zImage from GBE...\n"); 1366 puts("BOOT_SEL Detected: ON OFF ON, Load zImage from GBE...\n");
1367 env_set("bootcmd", "run netboot;"); 1367 env_set("bootcmd", "run netboot;");
1368 } 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)) { 1368 } 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)) {
1369 puts("Carrier SPI Boot is not supported...\n"); 1369 puts("Carrier SPI Boot is not supported...\n");
1370 hang(); 1370 hang();
1371 } 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)) { 1371 } 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)) {
1372 puts("BOOT_SEL Detected: ON ON ON, MOdule SPI Boot up is Default, Load zImage from Module eMMC...\n"); 1372 puts("BOOT_SEL Detected: ON ON ON, MOdule SPI Boot up is Default, Load zImage from Module eMMC...\n");
1373 env_set_ulong("mmcdev", 2); 1373 env_set_ulong("mmcdev", 2);
1374 env_set("bootcmd", "mmc rescan; run findfdt; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;"); 1374 env_set("bootcmd", "mmc rescan; run loadbootenv; run importbootenv; run uenvcmd; run loadzimage; run loadfdt; run mmcboot;");
1375 } else { 1375 } else {
1376 puts("unsupported boot devices\n"); 1376 puts("unsupported boot devices\n");
1377 hang(); 1377 hang();
1378 } 1378 }
1379 1379
1380 return 0; 1380 return 0;
1381 } 1381 }
1382 1382
1383 #ifdef CONFIG_FSL_FASTBOOT 1383 #ifdef CONFIG_FSL_FASTBOOT
1384 #ifdef CONFIG_ANDROID_RECOVERY 1384 #ifdef CONFIG_ANDROID_RECOVERY
1385 1385
1386 #define GPIO_VOL_DN_KEY IMX_GPIO_NR(1, 5) 1386 #define GPIO_VOL_DN_KEY IMX_GPIO_NR(1, 5)
1387 iomux_v3_cfg_t const recovery_key_pads[] = { 1387 iomux_v3_cfg_t const recovery_key_pads[] = {
1388 IOMUX_PADS(PAD_GPIO_5__GPIO1_IO05 | MUX_PAD_CTRL(NO_PAD_CTRL)), 1388 IOMUX_PADS(PAD_GPIO_5__GPIO1_IO05 | MUX_PAD_CTRL(NO_PAD_CTRL)),
1389 }; 1389 };
1390 1390
1391 int is_recovery_key_pressing(void) 1391 int is_recovery_key_pressing(void)
1392 { 1392 {
1393 int button_pressed = 0; 1393 int button_pressed = 0;
1394 1394
1395 /* Check Recovery Combo Button press or not. */ 1395 /* Check Recovery Combo Button press or not. */
1396 SETUP_IOMUX_PADS(recovery_key_pads); 1396 SETUP_IOMUX_PADS(recovery_key_pads);
1397 1397
1398 gpio_request(GPIO_VOL_DN_KEY, "volume_dn_key"); 1398 gpio_request(GPIO_VOL_DN_KEY, "volume_dn_key");
1399 gpio_direction_input(GPIO_VOL_DN_KEY); 1399 gpio_direction_input(GPIO_VOL_DN_KEY);
1400 1400
1401 if (gpio_get_value(GPIO_VOL_DN_KEY) == 0) { /* VOL_DN key is low assert */ 1401 if (gpio_get_value(GPIO_VOL_DN_KEY) == 0) { /* VOL_DN key is low assert */
1402 button_pressed = 1; 1402 button_pressed = 1;
1403 printf("Recovery key pressed\n"); 1403 printf("Recovery key pressed\n");
1404 } 1404 }
1405 1405
1406 return button_pressed; 1406 return button_pressed;
1407 } 1407 }
1408 1408
1409 #endif /*CONFIG_ANDROID_RECOVERY*/ 1409 #endif /*CONFIG_ANDROID_RECOVERY*/
1410 1410
1411 #endif /*CONFIG_FSL_FASTBOOT*/ 1411 #endif /*CONFIG_FSL_FASTBOOT*/
1412 1412
1413 #ifdef CONFIG_SPL_BUILD 1413 #ifdef CONFIG_SPL_BUILD
1414 #include <asm/arch/mx6-ddr.h> 1414 #include <asm/arch/mx6-ddr.h>
1415 #include <spl.h> 1415 #include <spl.h>
1416 #include <linux/libfdt.h> 1416 #include <linux/libfdt.h>
1417 1417
1418 #ifdef CONFIG_SPL_OS_BOOT 1418 #ifdef CONFIG_SPL_OS_BOOT
1419 int spl_start_uboot(void) 1419 int spl_start_uboot(void)
1420 { 1420 {
1421 gpio_request(KEY_VOL_UP, "KEY Volume UP"); 1421 gpio_request(KEY_VOL_UP, "KEY Volume UP");
1422 gpio_direction_input(KEY_VOL_UP); 1422 gpio_direction_input(KEY_VOL_UP);
1423 1423
1424 /* Only enter in Falcon mode if KEY_VOL_UP is pressed */ 1424 /* Only enter in Falcon mode if KEY_VOL_UP is pressed */
1425 return gpio_get_value(KEY_VOL_UP); 1425 return gpio_get_value(KEY_VOL_UP);
1426 } 1426 }
1427 #endif 1427 #endif
1428 1428
1429 static void ccgr_init(void) 1429 static void ccgr_init(void)
1430 { 1430 {
1431 struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; 1431 struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
1432 1432
1433 writel(0x00C03F3F, &ccm->CCGR0); 1433 writel(0x00C03F3F, &ccm->CCGR0);
1434 writel(0x0030FC03, &ccm->CCGR1); 1434 writel(0x0030FC03, &ccm->CCGR1);
1435 writel(0x0FFFC000, &ccm->CCGR2); 1435 writel(0x0FFFC000, &ccm->CCGR2);
1436 writel(0x3FF00000, &ccm->CCGR3); 1436 writel(0x3FF00000, &ccm->CCGR3);
1437 writel(0x00FFF300, &ccm->CCGR4); 1437 writel(0x00FFF300, &ccm->CCGR4);
1438 writel(0x0F0000C3, &ccm->CCGR5); 1438 writel(0x0F0000C3, &ccm->CCGR5);
1439 writel(0x000003FF, &ccm->CCGR6); 1439 writel(0x000003FF, &ccm->CCGR6);
1440 } 1440 }
1441 1441
1442 static int mx6q_dcd_table[] = { 1442 static int mx6q_dcd_table[] = {
1443 0x020e0798, 0x000C0000, 1443 0x020e0798, 0x000C0000,
1444 0x020e0758, 0x00000000, 1444 0x020e0758, 0x00000000,
1445 0x020e0588, 0x00000030, 1445 0x020e0588, 0x00000030,
1446 0x020e0594, 0x00000030, 1446 0x020e0594, 0x00000030,
1447 0x020e056c, 0x00000030, 1447 0x020e056c, 0x00000030,
1448 0x020e0578, 0x00000030, 1448 0x020e0578, 0x00000030,
1449 0x020e074c, 0x00000030, 1449 0x020e074c, 0x00000030,
1450 0x020e057c, 0x00000030, 1450 0x020e057c, 0x00000030,
1451 0x020e058c, 0x00000000, 1451 0x020e058c, 0x00000000,
1452 0x020e059c, 0x00000030, 1452 0x020e059c, 0x00000030,
1453 0x020e05a0, 0x00000030, 1453 0x020e05a0, 0x00000030,
1454 0x020e078c, 0x00000030, 1454 0x020e078c, 0x00000030,
1455 0x020e0750, 0x00020000, 1455 0x020e0750, 0x00020000,
1456 0x020e05a8, 0x00000030, 1456 0x020e05a8, 0x00000030,
1457 0x020e05b0, 0x00000030, 1457 0x020e05b0, 0x00000030,
1458 0x020e0524, 0x00000030, 1458 0x020e0524, 0x00000030,
1459 0x020e051c, 0x00000030, 1459 0x020e051c, 0x00000030,
1460 0x020e0518, 0x00000030, 1460 0x020e0518, 0x00000030,
1461 0x020e050c, 0x00000030, 1461 0x020e050c, 0x00000030,
1462 0x020e05b8, 0x00000030, 1462 0x020e05b8, 0x00000030,
1463 0x020e05c0, 0x00000030, 1463 0x020e05c0, 0x00000030,
1464 0x020e0774, 0x00020000, 1464 0x020e0774, 0x00020000,
1465 0x020e0784, 0x00000030, 1465 0x020e0784, 0x00000030,
1466 0x020e0788, 0x00000030, 1466 0x020e0788, 0x00000030,
1467 0x020e0794, 0x00000030, 1467 0x020e0794, 0x00000030,
1468 0x020e079c, 0x00000030, 1468 0x020e079c, 0x00000030,
1469 0x020e07a0, 0x00000030, 1469 0x020e07a0, 0x00000030,
1470 0x020e07a4, 0x00000030, 1470 0x020e07a4, 0x00000030,
1471 0x020e07a8, 0x00000030, 1471 0x020e07a8, 0x00000030,
1472 0x020e0748, 0x00000030, 1472 0x020e0748, 0x00000030,
1473 0x020e05ac, 0x00000030, 1473 0x020e05ac, 0x00000030,
1474 0x020e05b4, 0x00000030, 1474 0x020e05b4, 0x00000030,
1475 0x020e0528, 0x00000030, 1475 0x020e0528, 0x00000030,
1476 0x020e0520, 0x00000030, 1476 0x020e0520, 0x00000030,
1477 0x020e0514, 0x00000030, 1477 0x020e0514, 0x00000030,
1478 0x020e0510, 0x00000030, 1478 0x020e0510, 0x00000030,
1479 0x020e05bc, 0x00000030, 1479 0x020e05bc, 0x00000030,
1480 0x020e05c4, 0x00000030, 1480 0x020e05c4, 0x00000030,
1481 0x021b0800, 0xa1390003, 1481 0x021b0800, 0xa1390003,
1482 0x021b080c, 0x001F001F, 1482 0x021b080c, 0x001F001F,
1483 0x021b0810, 0x001F001F, 1483 0x021b0810, 0x001F001F,
1484 0x021b480c, 0x001F001F, 1484 0x021b480c, 0x001F001F,
1485 0x021b4810, 0x001F001F, 1485 0x021b4810, 0x001F001F,
1486 0x021b083c, 0x43270338, 1486 0x021b083c, 0x43270338,
1487 0x021b0840, 0x03200314, 1487 0x021b0840, 0x03200314,
1488 0x021b483c, 0x431A032F, 1488 0x021b483c, 0x431A032F,
1489 0x021b4840, 0x03200263, 1489 0x021b4840, 0x03200263,
1490 0x021b0848, 0x4B434748, 1490 0x021b0848, 0x4B434748,
1491 0x021b4848, 0x4445404C, 1491 0x021b4848, 0x4445404C,
1492 0x021b0850, 0x38444542, 1492 0x021b0850, 0x38444542,
1493 0x021b4850, 0x4935493A, 1493 0x021b4850, 0x4935493A,
1494 0x021b081c, 0x33333333, 1494 0x021b081c, 0x33333333,
1495 0x021b0820, 0x33333333, 1495 0x021b0820, 0x33333333,
1496 0x021b0824, 0x33333333, 1496 0x021b0824, 0x33333333,
1497 0x021b0828, 0x33333333, 1497 0x021b0828, 0x33333333,
1498 0x021b481c, 0x33333333, 1498 0x021b481c, 0x33333333,
1499 0x021b4820, 0x33333333, 1499 0x021b4820, 0x33333333,
1500 0x021b4824, 0x33333333, 1500 0x021b4824, 0x33333333,
1501 0x021b4828, 0x33333333, 1501 0x021b4828, 0x33333333,
1502 0x021b08b8, 0x00000800, 1502 0x021b08b8, 0x00000800,
1503 0x021b48b8, 0x00000800, 1503 0x021b48b8, 0x00000800,
1504 0x021b0004, 0x00020036, 1504 0x021b0004, 0x00020036,
1505 0x021b0008, 0x09444040, 1505 0x021b0008, 0x09444040,
1506 0x021b000c, 0x555A7975, 1506 0x021b000c, 0x555A7975,
1507 0x021b0010, 0xFF538F64, 1507 0x021b0010, 0xFF538F64,
1508 0x021b0014, 0x01FF00DB, 1508 0x021b0014, 0x01FF00DB,
1509 0x021b0018, 0x00001740, 1509 0x021b0018, 0x00001740,
1510 0x021b001c, 0x00008000, 1510 0x021b001c, 0x00008000,
1511 0x021b002c, 0x000026d2, 1511 0x021b002c, 0x000026d2,
1512 0x021b0030, 0x005A1023, 1512 0x021b0030, 0x005A1023,
1513 0x021b0040, 0x00000027, 1513 0x021b0040, 0x00000027,
1514 0x021b0000, 0x831A0000, 1514 0x021b0000, 0x831A0000,
1515 0x021b001c, 0x04088032, 1515 0x021b001c, 0x04088032,
1516 0x021b001c, 0x00008033, 1516 0x021b001c, 0x00008033,
1517 0x021b001c, 0x00048031, 1517 0x021b001c, 0x00048031,
1518 0x021b001c, 0x09408030, 1518 0x021b001c, 0x09408030,
1519 0x021b001c, 0x04008040, 1519 0x021b001c, 0x04008040,
1520 0x021b0020, 0x00005800, 1520 0x021b0020, 0x00005800,
1521 0x021b0818, 0x00011117, 1521 0x021b0818, 0x00011117,
1522 0x021b4818, 0x00011117, 1522 0x021b4818, 0x00011117,
1523 0x021b0004, 0x00025576, 1523 0x021b0004, 0x00025576,
1524 0x021b0404, 0x00011006, 1524 0x021b0404, 0x00011006,
1525 0x021b001c, 0x00000000, 1525 0x021b001c, 0x00000000,
1526 }; 1526 };
1527 1527
1528 static int mx6qp_dcd_table[] = { 1528 static int mx6qp_dcd_table[] = {
1529 0x020e0798, 0x000c0000, 1529 0x020e0798, 0x000c0000,
1530 0x020e0758, 0x00000000, 1530 0x020e0758, 0x00000000,
1531 0x020e0588, 0x00000030, 1531 0x020e0588, 0x00000030,
1532 0x020e0594, 0x00000030, 1532 0x020e0594, 0x00000030,
1533 0x020e056c, 0x00000030, 1533 0x020e056c, 0x00000030,
1534 0x020e0578, 0x00000030, 1534 0x020e0578, 0x00000030,
1535 0x020e074c, 0x00000030, 1535 0x020e074c, 0x00000030,
1536 0x020e057c, 0x00000030, 1536 0x020e057c, 0x00000030,
1537 0x020e058c, 0x00000000, 1537 0x020e058c, 0x00000000,
1538 0x020e059c, 0x00000030, 1538 0x020e059c, 0x00000030,
1539 0x020e05a0, 0x00000030, 1539 0x020e05a0, 0x00000030,
1540 0x020e078c, 0x00000030, 1540 0x020e078c, 0x00000030,
1541 0x020e0750, 0x00020000, 1541 0x020e0750, 0x00020000,
1542 0x020e05a8, 0x00000030, 1542 0x020e05a8, 0x00000030,
1543 0x020e05b0, 0x00000030, 1543 0x020e05b0, 0x00000030,
1544 0x020e0524, 0x00000030, 1544 0x020e0524, 0x00000030,
1545 0x020e051c, 0x00000030, 1545 0x020e051c, 0x00000030,
1546 0x020e0518, 0x00000030, 1546 0x020e0518, 0x00000030,
1547 0x020e050c, 0x00000030, 1547 0x020e050c, 0x00000030,
1548 0x020e05b8, 0x00000030, 1548 0x020e05b8, 0x00000030,
1549 0x020e05c0, 0x00000030, 1549 0x020e05c0, 0x00000030,
1550 0x020e0774, 0x00020000, 1550 0x020e0774, 0x00020000,
1551 0x020e0784, 0x00000030, 1551 0x020e0784, 0x00000030,
1552 0x020e0788, 0x00000030, 1552 0x020e0788, 0x00000030,
1553 0x020e0794, 0x00000030, 1553 0x020e0794, 0x00000030,
1554 0x020e079c, 0x00000030, 1554 0x020e079c, 0x00000030,
1555 0x020e07a0, 0x00000030, 1555 0x020e07a0, 0x00000030,
1556 0x020e07a4, 0x00000030, 1556 0x020e07a4, 0x00000030,
1557 0x020e07a8, 0x00000030, 1557 0x020e07a8, 0x00000030,
1558 0x020e0748, 0x00000030, 1558 0x020e0748, 0x00000030,
1559 0x020e05ac, 0x00000030, 1559 0x020e05ac, 0x00000030,
1560 0x020e05b4, 0x00000030, 1560 0x020e05b4, 0x00000030,
1561 0x020e0528, 0x00000030, 1561 0x020e0528, 0x00000030,
1562 0x020e0520, 0x00000030, 1562 0x020e0520, 0x00000030,
1563 0x020e0514, 0x00000030, 1563 0x020e0514, 0x00000030,
1564 0x020e0510, 0x00000030, 1564 0x020e0510, 0x00000030,
1565 0x020e05bc, 0x00000030, 1565 0x020e05bc, 0x00000030,
1566 0x020e05c4, 0x00000030, 1566 0x020e05c4, 0x00000030,
1567 0x021b0800, 0xa1390003, 1567 0x021b0800, 0xa1390003,
1568 0x021b080c, 0x001b001e, 1568 0x021b080c, 0x001b001e,
1569 0x021b0810, 0x002e0029, 1569 0x021b0810, 0x002e0029,
1570 0x021b480c, 0x001b002a, 1570 0x021b480c, 0x001b002a,
1571 0x021b4810, 0x0019002c, 1571 0x021b4810, 0x0019002c,
1572 0x021b083c, 0x43240334, 1572 0x021b083c, 0x43240334,
1573 0x021b0840, 0x0324031a, 1573 0x021b0840, 0x0324031a,
1574 0x021b483c, 0x43340344, 1574 0x021b483c, 0x43340344,
1575 0x021b4840, 0x03280276, 1575 0x021b4840, 0x03280276,
1576 0x021b0848, 0x44383A3E, 1576 0x021b0848, 0x44383A3E,
1577 0x021b4848, 0x3C3C3846, 1577 0x021b4848, 0x3C3C3846,
1578 0x021b0850, 0x2e303230, 1578 0x021b0850, 0x2e303230,
1579 0x021b4850, 0x38283E34, 1579 0x021b4850, 0x38283E34,
1580 0x021b081c, 0x33333333, 1580 0x021b081c, 0x33333333,
1581 0x021b0820, 0x33333333, 1581 0x021b0820, 0x33333333,
1582 0x021b0824, 0x33333333, 1582 0x021b0824, 0x33333333,
1583 0x021b0828, 0x33333333, 1583 0x021b0828, 0x33333333,
1584 0x021b481c, 0x33333333, 1584 0x021b481c, 0x33333333,
1585 0x021b4820, 0x33333333, 1585 0x021b4820, 0x33333333,
1586 0x021b4824, 0x33333333, 1586 0x021b4824, 0x33333333,
1587 0x021b4828, 0x33333333, 1587 0x021b4828, 0x33333333,
1588 0x021b08c0, 0x24912249, 1588 0x021b08c0, 0x24912249,
1589 0x021b48c0, 0x24914289, 1589 0x021b48c0, 0x24914289,
1590 0x021b08b8, 0x00000800, 1590 0x021b08b8, 0x00000800,
1591 0x021b48b8, 0x00000800, 1591 0x021b48b8, 0x00000800,
1592 0x021b0004, 0x00020036, 1592 0x021b0004, 0x00020036,
1593 0x021b0008, 0x24444040, 1593 0x021b0008, 0x24444040,
1594 0x021b000c, 0x555A7955, 1594 0x021b000c, 0x555A7955,
1595 0x021b0010, 0xFF320F64, 1595 0x021b0010, 0xFF320F64,
1596 0x021b0014, 0x01ff00db, 1596 0x021b0014, 0x01ff00db,
1597 0x021b0018, 0x00001740, 1597 0x021b0018, 0x00001740,
1598 0x021b001c, 0x00008000, 1598 0x021b001c, 0x00008000,
1599 0x021b002c, 0x000026d2, 1599 0x021b002c, 0x000026d2,
1600 0x021b0030, 0x005A1023, 1600 0x021b0030, 0x005A1023,
1601 0x021b0040, 0x00000027, 1601 0x021b0040, 0x00000027,
1602 0x021b0400, 0x14420000, 1602 0x021b0400, 0x14420000,
1603 0x021b0000, 0x831A0000, 1603 0x021b0000, 0x831A0000,
1604 0x021b0890, 0x00400C58, 1604 0x021b0890, 0x00400C58,
1605 0x00bb0008, 0x00000000, 1605 0x00bb0008, 0x00000000,
1606 0x00bb000c, 0x2891E41A, 1606 0x00bb000c, 0x2891E41A,
1607 0x00bb0038, 0x00000564, 1607 0x00bb0038, 0x00000564,
1608 0x00bb0014, 0x00000040, 1608 0x00bb0014, 0x00000040,
1609 0x00bb0028, 0x00000020, 1609 0x00bb0028, 0x00000020,
1610 0x00bb002c, 0x00000020, 1610 0x00bb002c, 0x00000020,
1611 0x021b001c, 0x04088032, 1611 0x021b001c, 0x04088032,
1612 0x021b001c, 0x00008033, 1612 0x021b001c, 0x00008033,
1613 0x021b001c, 0x00048031, 1613 0x021b001c, 0x00048031,
1614 0x021b001c, 0x09408030, 1614 0x021b001c, 0x09408030,
1615 0x021b001c, 0x04008040, 1615 0x021b001c, 0x04008040,
1616 0x021b0020, 0x00005800, 1616 0x021b0020, 0x00005800,
1617 0x021b0818, 0x00011117, 1617 0x021b0818, 0x00011117,
1618 0x021b4818, 0x00011117, 1618 0x021b4818, 0x00011117,
1619 0x021b0004, 0x00025576, 1619 0x021b0004, 0x00025576,
1620 0x021b0404, 0x00011006, 1620 0x021b0404, 0x00011006,
1621 0x021b001c, 0x00000000, 1621 0x021b001c, 0x00000000,
1622 }; 1622 };
1623 1623
1624 static int mx6dl_dcd_table[] = { 1624 static int mx6dl_dcd_table[] = {
1625 0x020e0774, 0x000C0000, 1625 0x020e0774, 0x000C0000,
1626 0x020e0754, 0x00000000, 1626 0x020e0754, 0x00000000,
1627 0x020e04ac, 0x00000030, 1627 0x020e04ac, 0x00000030,
1628 0x020e04b0, 0x00000030, 1628 0x020e04b0, 0x00000030,
1629 0x020e0464, 0x00000030, 1629 0x020e0464, 0x00000030,
1630 0x020e0490, 0x00000030, 1630 0x020e0490, 0x00000030,
1631 0x020e074c, 0x00000030, 1631 0x020e074c, 0x00000030,
1632 0x020e0494, 0x00000030, 1632 0x020e0494, 0x00000030,
1633 0x020e04a0, 0x00000000, 1633 0x020e04a0, 0x00000000,
1634 0x020e04b4, 0x00000030, 1634 0x020e04b4, 0x00000030,
1635 0x020e04b8, 0x00000030, 1635 0x020e04b8, 0x00000030,
1636 0x020e076c, 0x00000030, 1636 0x020e076c, 0x00000030,
1637 0x020e0750, 0x00020000, 1637 0x020e0750, 0x00020000,
1638 0x020e04bc, 0x00000030, 1638 0x020e04bc, 0x00000030,
1639 0x020e04c0, 0x00000030, 1639 0x020e04c0, 0x00000030,
1640 0x020e04c4, 0x00000030, 1640 0x020e04c4, 0x00000030,
1641 0x020e04c8, 0x00000030, 1641 0x020e04c8, 0x00000030,
1642 0x020e04cc, 0x00000030, 1642 0x020e04cc, 0x00000030,
1643 0x020e04d0, 0x00000030, 1643 0x020e04d0, 0x00000030,
1644 0x020e04d4, 0x00000030, 1644 0x020e04d4, 0x00000030,
1645 0x020e04d8, 0x00000030, 1645 0x020e04d8, 0x00000030,
1646 0x020e0760, 0x00020000, 1646 0x020e0760, 0x00020000,
1647 0x020e0764, 0x00000030, 1647 0x020e0764, 0x00000030,
1648 0x020e0770, 0x00000030, 1648 0x020e0770, 0x00000030,
1649 0x020e0778, 0x00000030, 1649 0x020e0778, 0x00000030,
1650 0x020e077c, 0x00000030, 1650 0x020e077c, 0x00000030,
1651 0x020e0780, 0x00000030, 1651 0x020e0780, 0x00000030,
1652 0x020e0784, 0x00000030, 1652 0x020e0784, 0x00000030,
1653 0x020e078c, 0x00000030, 1653 0x020e078c, 0x00000030,
1654 0x020e0748, 0x00000030, 1654 0x020e0748, 0x00000030,
1655 0x020e0470, 0x00000030, 1655 0x020e0470, 0x00000030,
1656 0x020e0474, 0x00000030, 1656 0x020e0474, 0x00000030,
1657 0x020e0478, 0x00000030, 1657 0x020e0478, 0x00000030,
1658 0x020e047c, 0x00000030, 1658 0x020e047c, 0x00000030,
1659 0x020e0480, 0x00000030, 1659 0x020e0480, 0x00000030,
1660 0x020e0484, 0x00000030, 1660 0x020e0484, 0x00000030,
1661 0x020e0488, 0x00000030, 1661 0x020e0488, 0x00000030,
1662 0x020e048c, 0x00000030, 1662 0x020e048c, 0x00000030,
1663 0x021b0800, 0xa1390003, 1663 0x021b0800, 0xa1390003,
1664 0x021b080c, 0x001F001F, 1664 0x021b080c, 0x001F001F,
1665 0x021b0810, 0x001F001F, 1665 0x021b0810, 0x001F001F,
1666 0x021b480c, 0x001F001F, 1666 0x021b480c, 0x001F001F,
1667 0x021b4810, 0x001F001F, 1667 0x021b4810, 0x001F001F,
1668 0x021b083c, 0x4220021F, 1668 0x021b083c, 0x4220021F,
1669 0x021b0840, 0x0207017E, 1669 0x021b0840, 0x0207017E,
1670 0x021b483c, 0x4201020C, 1670 0x021b483c, 0x4201020C,
1671 0x021b4840, 0x01660172, 1671 0x021b4840, 0x01660172,
1672 0x021b0848, 0x4A4D4E4D, 1672 0x021b0848, 0x4A4D4E4D,
1673 0x021b4848, 0x4A4F5049, 1673 0x021b4848, 0x4A4F5049,
1674 0x021b0850, 0x3F3C3D31, 1674 0x021b0850, 0x3F3C3D31,
1675 0x021b4850, 0x3238372B, 1675 0x021b4850, 0x3238372B,
1676 0x021b081c, 0x33333333, 1676 0x021b081c, 0x33333333,
1677 0x021b0820, 0x33333333, 1677 0x021b0820, 0x33333333,
1678 0x021b0824, 0x33333333, 1678 0x021b0824, 0x33333333,
1679 0x021b0828, 0x33333333, 1679 0x021b0828, 0x33333333,
1680 0x021b481c, 0x33333333, 1680 0x021b481c, 0x33333333,
1681 0x021b4820, 0x33333333, 1681 0x021b4820, 0x33333333,
1682 0x021b4824, 0x33333333, 1682 0x021b4824, 0x33333333,
1683 0x021b4828, 0x33333333, 1683 0x021b4828, 0x33333333,
1684 0x021b08b8, 0x00000800, 1684 0x021b08b8, 0x00000800,
1685 0x021b48b8, 0x00000800, 1685 0x021b48b8, 0x00000800,
1686 0x021b0004, 0x0002002D, 1686 0x021b0004, 0x0002002D,
1687 0x021b0008, 0x00333030, 1687 0x021b0008, 0x00333030,
1688 0x021b000c, 0x3F435313, 1688 0x021b000c, 0x3F435313,
1689 0x021b0010, 0xB66E8B63, 1689 0x021b0010, 0xB66E8B63,
1690 0x021b0014, 0x01FF00DB, 1690 0x021b0014, 0x01FF00DB,
1691 0x021b0018, 0x00001740, 1691 0x021b0018, 0x00001740,
1692 0x021b001c, 0x00008000, 1692 0x021b001c, 0x00008000,
1693 0x021b002c, 0x000026d2, 1693 0x021b002c, 0x000026d2,
1694 0x021b0030, 0x00431023, 1694 0x021b0030, 0x00431023,
1695 0x021b0040, 0x00000027, 1695 0x021b0040, 0x00000027,
1696 0x021b0000, 0x831A0000, 1696 0x021b0000, 0x831A0000,
1697 0x021b001c, 0x04008032, 1697 0x021b001c, 0x04008032,
1698 0x021b001c, 0x00008033, 1698 0x021b001c, 0x00008033,
1699 0x021b001c, 0x00048031, 1699 0x021b001c, 0x00048031,
1700 0x021b001c, 0x05208030, 1700 0x021b001c, 0x05208030,
1701 0x021b001c, 0x04008040, 1701 0x021b001c, 0x04008040,
1702 0x021b0020, 0x00005800, 1702 0x021b0020, 0x00005800,
1703 0x021b0818, 0x00011117, 1703 0x021b0818, 0x00011117,
1704 0x021b4818, 0x00011117, 1704 0x021b4818, 0x00011117,
1705 0x021b0004, 0x0002556D, 1705 0x021b0004, 0x0002556D,
1706 0x021b0404, 0x00011006, 1706 0x021b0404, 0x00011006,
1707 0x021b001c, 0x00000000, 1707 0x021b001c, 0x00000000,
1708 }; 1708 };
1709 1709
1710 static void ddr_init(int *table, int size) 1710 static void ddr_init(int *table, int size)
1711 { 1711 {
1712 int i; 1712 int i;
1713 1713
1714 for (i = 0; i < size / 2 ; i++) 1714 for (i = 0; i < size / 2 ; i++)
1715 writel(table[2 * i + 1], table[2 * i]); 1715 writel(table[2 * i + 1], table[2 * i]);
1716 } 1716 }
1717 1717
1718 static void spl_dram_init(void) 1718 static void spl_dram_init(void)
1719 { 1719 {
1720 if (is_mx6dq()) 1720 if (is_mx6dq())
1721 ddr_init(mx6q_dcd_table, ARRAY_SIZE(mx6q_dcd_table)); 1721 ddr_init(mx6q_dcd_table, ARRAY_SIZE(mx6q_dcd_table));
1722 else if (is_mx6dqp()) 1722 else if (is_mx6dqp())
1723 ddr_init(mx6qp_dcd_table, ARRAY_SIZE(mx6qp_dcd_table)); 1723 ddr_init(mx6qp_dcd_table, ARRAY_SIZE(mx6qp_dcd_table));
1724 else if (is_mx6sdl()) 1724 else if (is_mx6sdl())
1725 ddr_init(mx6dl_dcd_table, ARRAY_SIZE(mx6dl_dcd_table)); 1725 ddr_init(mx6dl_dcd_table, ARRAY_SIZE(mx6dl_dcd_table));
1726 } 1726 }
1727 1727
1728 void board_init_f(ulong dummy) 1728 void board_init_f(ulong dummy)
1729 { 1729 {
1730 /* DDR initialization */ 1730 /* DDR initialization */
1731 spl_dram_init(); 1731 spl_dram_init();
1732 1732
1733 /* setup AIPS and disable watchdog */ 1733 /* setup AIPS and disable watchdog */
1734 arch_cpu_init(); 1734 arch_cpu_init();
1735 1735
1736 ccgr_init(); 1736 ccgr_init();
1737 gpr_init(); 1737 gpr_init();
1738 1738
1739 /* iomux and setup of i2c */ 1739 /* iomux and setup of i2c */
1740 board_early_init_f(); 1740 board_early_init_f();
1741 1741
1742 /* setup GP timer */ 1742 /* setup GP timer */
1743 timer_init(); 1743 timer_init();
1744 1744
1745 /* UART clocks enabled and gd valid - init serial console */ 1745 /* UART clocks enabled and gd valid - init serial console */
1746 preloader_console_init(); 1746 preloader_console_init();
1747 1747
1748 /* Clear the BSS. */ 1748 /* Clear the BSS. */
1749 memset(__bss_start, 0, __bss_end - __bss_start); 1749 memset(__bss_start, 0, __bss_end - __bss_start);
1750 1750
1751 /* load/boot image from boot device */ 1751 /* load/boot image from boot device */
1752 board_init_r(NULL, 0); 1752 board_init_r(NULL, 0);
1753 } 1753 }
1754 #endif 1754 #endif
1755 1755
configs/smarcfimx6_dl_1g_ser0_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER0=y 6 CONFIG_CONSOLE_SER0=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser0_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL"
6 CONFIG_CONSOLE_SER0=y 6 CONFIG_CONSOLE_SER0=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser1_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER1=y 6 CONFIG_CONSOLE_SER1=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser1_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL"
6 CONFIG_CONSOLE_SER1=y 6 CONFIG_CONSOLE_SER1=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser2_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER2=y 6 CONFIG_CONSOLE_SER2=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser2_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL"
6 CONFIG_CONSOLE_SER2=y 6 CONFIG_CONSOLE_SER2=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser3_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER3=y 6 CONFIG_CONSOLE_SER3=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_dl_1g_ser3_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6dl_4x_k4b2g1646q.cfg,MX6DL"
6 CONFIG_CONSOLE_SER3=y 6 CONFIG_CONSOLE_SER3=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser0_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER0=y 6 CONFIG_CONSOLE_SER0=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser0_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S"
6 CONFIG_CONSOLE_SER0=y 6 CONFIG_CONSOLE_SER0=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser1_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER1=y 6 CONFIG_CONSOLE_SER1=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser1_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S"
6 CONFIG_CONSOLE_SER1=y 6 CONFIG_CONSOLE_SER1=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser2_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER2=y 6 CONFIG_CONSOLE_SER2=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser2_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S"
6 CONFIG_CONSOLE_SER2=y 6 CONFIG_CONSOLE_SER2=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser3_android_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S,ANDROID_SUPPORT"
6 CONFIG_CONSOLE_SER3=y 6 CONFIG_CONSOLE_SER3=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
configs/smarcfimx6_solo_ser3_defconfig
1 CONFIG_ARM=y 1 CONFIG_ARM=y
2 CONFIG_ARCH_MX6=y 2 CONFIG_ARCH_MX6=y
3 CONFIG_TARGET_SMARCFIMX6=y 3 CONFIG_TARGET_SMARCFIMX6=y
4 CONFIG_VIDEO=y 4 CONFIG_VIDEO=y
5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S" 5 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/embedian/smarcfimx6/ddr3/mx6solo_2x_k4b2g1646q.cfg,MX6S"
6 CONFIG_CONSOLE_SER3=y 6 CONFIG_CONSOLE_SER3=y
7 CONFIG_SPI_BOOT=y 7 CONFIG_SPI_BOOT=y
8 CONFIG_BOOTDELAY=1 8 CONFIG_BOOTDELAY=1
9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y 9 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y 10 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
11 CONFIG_HUSH_PARSER=y 11 CONFIG_HUSH_PARSER=y
12 CONFIG_CMD_BOOTZ=y 12 CONFIG_CMD_BOOTZ=y
13 CONFIG_SYS_PROMPT="U-Boot# " 13 CONFIG_SYS_PROMPT="U-Boot# "
14 CONFIG_SYS_HUSH_PARSER=y 14 CONFIG_SYS_HUSH_PARSER=y
15 # CONFIG_CMD_IMLS is not set 15 # CONFIG_CMD_IMLS is not set
16 # CONFIG_CMD_FLASH is not set 16 # CONFIG_CMD_FLASH is not set
17 CONFIG_CMD_MEMTEST=y 17 CONFIG_CMD_MEMTEST=y
18 CONFIG_CMD_MMC=y 18 CONFIG_CMD_MMC=y
19 CONFIG_CMD_SF=y 19 CONFIG_CMD_SF=y
20 CONFIG_CMD_I2C=y 20 CONFIG_CMD_I2C=y
21 CONFIG_CMD_USB=y 21 CONFIG_CMD_USB=y
22 CONFIG_CMD_DFU=y 22 CONFIG_CMD_DFU=y
23 CONFIG_CMD_USB_MASS_STORAGE=y 23 CONFIG_CMD_USB_MASS_STORAGE=y
24 CONFIG_CMD_GPIO=y 24 CONFIG_CMD_GPIO=y
25 CONFIG_CMD_DHCP=y 25 CONFIG_CMD_DHCP=y
26 CONFIG_CMD_MII=y 26 CONFIG_CMD_MII=y
27 CONFIG_CMD_PING=y 27 CONFIG_CMD_PING=y
28 CONFIG_CMD_CACHE=y 28 CONFIG_CMD_CACHE=y
29 CONFIG_CMD_EXT2=y 29 CONFIG_CMD_EXT2=y
30 CONFIG_CMD_EXT4=y 30 CONFIG_CMD_EXT4=y
31 CONFIG_CMD_EXT4_WRITE=y 31 CONFIG_CMD_EXT4_WRITE=y
32 CONFIG_CMD_FAT=y 32 CONFIG_CMD_FAT=y
33 CONFIG_CMD_FS_GENERIC=y 33 CONFIG_CMD_FS_GENERIC=y
34 CONFIG_CMD_PART=y 34 CONFIG_CMD_PART=y
35 CONFIG_DFU_MMC=y 35 CONFIG_DFU_MMC=y
36 CONFIG_DFU_SF=y 36 CONFIG_DFU_SF=y
37 CONFIG_USB=y 37 CONFIG_USB=y
38 CONFIG_USB_STORAGE=y 38 CONFIG_USB_STORAGE=y
39 CONFIG_USB_GADGET=y 39 CONFIG_USB_GADGET=y
40 CONFIG_CI_UDC=y 40 CONFIG_CI_UDC=y
41 CONFIG_USB_GADGET_DOWNLOAD=y 41 CONFIG_USB_GADGET_DOWNLOAD=y
42 CONFIG_USB_GADGET_MANUFACTURER="FSL" 42 CONFIG_USB_GADGET_MANUFACTURER="FSL"
43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525 43 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 44 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
45 # CONFIG_VIDEO_SW_CURSOR is not set 45 # CONFIG_VIDEO_SW_CURSOR is not set
46 CONFIG_OF_LIBFDT=y 46 CONFIG_OF_LIBFDT=y
47 47
48 CONFIG_DEFAULT_DEVICE_TREE="imx6q-smarcfimx6" 48 CONFIG_DEFAULT_DEVICE_TREE="imx6dl-smarcfimx6"
49 CONFIG_DEFAULT_FDT_FILE="imx6q-smarcfimx6.dtb" 49 CONFIG_DEFAULT_FDT_FILE="imx6dl-smarcfimx6.dtb"
50 CONFIG_OF_CONTROL=y 50 CONFIG_OF_CONTROL=y
51 CONFIG_DM_GPIO=y 51 CONFIG_DM_GPIO=y
52 CONFIG_DM_I2C=y 52 CONFIG_DM_I2C=y
53 CONFIG_DM_MMC=y 53 CONFIG_DM_MMC=y
54 CONFIG_PINCTRL=y 54 CONFIG_PINCTRL=y
55 CONFIG_PINCTRL_IMX6=y 55 CONFIG_PINCTRL_IMX6=y
56 CONFIG_DM_REGULATOR=y 56 CONFIG_DM_REGULATOR=y
57 CONFIG_DM_REGULATOR_FIXED=y 57 CONFIG_DM_REGULATOR_FIXED=y
58 CONFIG_DM_REGULATOR_GPIO=y 58 CONFIG_DM_REGULATOR_GPIO=y
59 CONFIG_DM_ETH=y 59 CONFIG_DM_ETH=y
60 CONFIG_DM_USB=y 60 CONFIG_DM_USB=y
61 61
62 CONFIG_CMD_FASTBOOT=y 62 CONFIG_CMD_FASTBOOT=y
63 CONFIG_USB_FUNCTION_FASTBOOT=y 63 CONFIG_USB_FUNCTION_FASTBOOT=y
64 CONFIG_FSL_FASTBOOT=y 64 CONFIG_FSL_FASTBOOT=y
65 CONFIG_FASTBOOT=y 65 CONFIG_FASTBOOT=y
66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000 66 CONFIG_FASTBOOT_BUF_ADDR=0x12C00000
67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 67 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
68 CONFIG_FASTBOOT_FLASH=y 68 CONFIG_FASTBOOT_FLASH=y
69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2 69 CONFIG_FASTBOOT_FLASH_MMC_DEV=2
70 CONFIG_EFI_PARTITION=y 70 CONFIG_EFI_PARTITION=y
71 71
include/configs/smarcfimx6_common.h
1 /* 1 /*
2 * Copyright (C) 2012 Freescale Semiconductor, Inc. 2 * Copyright (C) 2012 Freescale Semiconductor, Inc.
3 * Copyright 2018 NXP 3 * Copyright 2018 NXP
4 * 4 *
5 * Configuration settings for the Freescale i.MX6Q SabreSD board. 5 * Configuration settings for the Freescale i.MX6Q SabreSD board.
6 * 6 *
7 * SPDX-License-Identifier: GPL-2.0+ 7 * SPDX-License-Identifier: GPL-2.0+
8 */ 8 */
9 9
10 #ifndef __SMARCFIMX6_COMMON_CONFIG_H 10 #ifndef __SMARCFIMX6_COMMON_CONFIG_H
11 #define __SMARCFIMX6_COMMON_CONFIG_H 11 #define __SMARCFIMX6_COMMON_CONFIG_H
12 12
13 #include "mx6_common.h" 13 #include "mx6_common.h"
14 #include "imx_env.h" 14 #include "imx_env.h"
15 15
16 #define CONFIG_IMX_THERMAL 16 #define CONFIG_IMX_THERMAL
17 17
18 /* Size of malloc() pool */ 18 /* Size of malloc() pool */
19 #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M) 19 #define CONFIG_SYS_MALLOC_LEN (16 * SZ_1M)
20 20
21 #define CONFIG_MXC_UART 21 #define CONFIG_MXC_UART
22 22
23 /* MMC Configs */ 23 /* MMC Configs */
24 #define CONFIG_SYS_FSL_ESDHC_ADDR 0 24 #define CONFIG_SYS_FSL_ESDHC_ADDR 0
25 25
26 #define CONFIG_FEC_MXC 26 #define CONFIG_FEC_MXC
27 #define CONFIG_MII 27 #define CONFIG_MII
28 #define IMX_FEC_BASE ENET_BASE_ADDR 28 #define IMX_FEC_BASE ENET_BASE_ADDR
29 #define CONFIG_FEC_XCV_TYPE RGMII 29 #define CONFIG_FEC_XCV_TYPE RGMII
30 #ifdef CONFIG_DM_ETH 30 #ifdef CONFIG_DM_ETH
31 #define CONFIG_ETHPRIME "eth0" 31 #define CONFIG_ETHPRIME "eth0"
32 #else 32 #else
33 #define CONFIG_ETHPRIME "FEC" 33 #define CONFIG_ETHPRIME "FEC"
34 #endif 34 #endif
35 #define CONFIG_FEC_MXC_PHYADDR 6 35 #define CONFIG_FEC_MXC_PHYADDR 6
36 36
37 #define CONFIG_PHYLIB 37 #define CONFIG_PHYLIB
38 #define CONFIG_PHY_ATHEROS 38 #define CONFIG_PHY_ATHEROS
39 39
40 #ifdef CONFIG_MX6S 40 #ifdef CONFIG_MX6S
41 #define SYS_NOSMP "nosmp" 41 #define SYS_NOSMP "nosmp"
42 #else 42 #else
43 #define SYS_NOSMP 43 #define SYS_NOSMP
44 #endif 44 #endif
45 45
46 #ifdef CONFIG_NAND_BOOT 46 #ifdef CONFIG_NAND_BOOT
47 #define MFG_NAND_PARTITION "mtdparts=8000000.nor:1m(boot),-(rootfs)\\;gpmi-nand:64m(nandboot),16m(nandkernel),16m(nanddtb),16m(nandtee),-(nandrootfs) " 47 #define MFG_NAND_PARTITION "mtdparts=8000000.nor:1m(boot),-(rootfs)\\;gpmi-nand:64m(nandboot),16m(nandkernel),16m(nanddtb),16m(nandtee),-(nandrootfs) "
48 #else 48 #else
49 #define MFG_NAND_PARTITION "" 49 #define MFG_NAND_PARTITION ""
50 #endif 50 #endif
51 51
52 #define CONFIG_CMD_READ 52 #define CONFIG_CMD_READ
53 #define CONFIG_SERIAL_TAG 53 #define CONFIG_SERIAL_TAG
54 #define CONFIG_FASTBOOT_USB_DEV 0 54 #define CONFIG_FASTBOOT_USB_DEV 0
55 55
56 #define CONFIG_MFG_ENV_SETTINGS \ 56 #define CONFIG_MFG_ENV_SETTINGS \
57 CONFIG_MFG_ENV_SETTINGS_DEFAULT \ 57 CONFIG_MFG_ENV_SETTINGS_DEFAULT \
58 "initrd_addr=0x12C00000\0" \ 58 "initrd_addr=0x12C00000\0" \
59 "initrd_high=0xffffffff\0" \ 59 "initrd_high=0xffffffff\0" \
60 "emmc_dev=2\0"\ 60 "emmc_dev=2\0"\
61 "sd_dev=1\0" \ 61 "sd_dev=1\0" \
62 "weim_uboot=0x08001000\0"\ 62 "weim_uboot=0x08001000\0"\
63 "weim_base=0x08000000\0"\ 63 "weim_base=0x08000000\0"\
64 "spi_bus=1\0"\ 64 "spi_bus=1\0"\
65 "spi_uboot=0x400\0" \ 65 "spi_uboot=0x400\0" \
66 "mtdparts=" MFG_NAND_PARTITION \ 66 "mtdparts=" MFG_NAND_PARTITION \
67 "\0"\ 67 "\0"\
68 68
69 #ifdef CONFIG_SUPPORT_EMMC_BOOT 69 #ifdef CONFIG_SUPPORT_EMMC_BOOT
70 #define EMMC_ENV \ 70 #define EMMC_ENV \
71 "emmcdev=2\0" \ 71 "emmcdev=2\0" \
72 "update_emmc_firmware=" \ 72 "update_emmc_firmware=" \
73 "if test ${ip_dyn} = yes; then " \ 73 "if test ${ip_dyn} = yes; then " \
74 "setenv get_cmd dhcp; " \ 74 "setenv get_cmd dhcp; " \
75 "else " \ 75 "else " \
76 "setenv get_cmd tftp; " \ 76 "setenv get_cmd tftp; " \
77 "fi; " \ 77 "fi; " \
78 "if ${get_cmd} ${update_sd_firmware_filename}; then " \ 78 "if ${get_cmd} ${update_sd_firmware_filename}; then " \
79 "if mmc dev ${emmcdev} 1; then " \ 79 "if mmc dev ${emmcdev} 1; then " \
80 "setexpr fw_sz ${filesize} / 0x200; " \ 80 "setexpr fw_sz ${filesize} / 0x200; " \
81 "setexpr fw_sz ${fw_sz} + 1; " \ 81 "setexpr fw_sz ${fw_sz} + 1; " \
82 "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ 82 "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
83 "fi; " \ 83 "fi; " \
84 "fi\0" 84 "fi\0"
85 #else 85 #else
86 #define EMMC_ENV "" 86 #define EMMC_ENV ""
87 #endif 87 #endif
88 88
89 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 89 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
90 90
91 #if defined(CONFIG_NAND_BOOT) 91 #if defined(CONFIG_NAND_BOOT)
92 /* 92 /*
93 * The dts also enables the WEIN NOR which is mtd0. 93 * The dts also enables the WEIN NOR which is mtd0.
94 * So the partions' layout for NAND is: 94 * So the partions' layout for NAND is:
95 * mtd1: 16M (uboot) 95 * mtd1: 16M (uboot)
96 * mtd2: 16M (kernel) 96 * mtd2: 16M (kernel)
97 * mtd3: 16M (dtb) 97 * mtd3: 16M (dtb)
98 * mtd4: left (rootfs) 98 * mtd4: left (rootfs)
99 */ 99 */
100 #define CONFIG_EXTRA_ENV_SETTINGS \ 100 #define CONFIG_EXTRA_ENV_SETTINGS \
101 CONFIG_MFG_ENV_SETTINGS \ 101 CONFIG_MFG_ENV_SETTINGS \
102 TEE_ENV \ 102 TEE_ENV \
103 "fdt_addr=0x18000000\0" \ 103 "fdt_addr=0x18000000\0" \
104 "fdt_high=0xffffffff\0" \ 104 "fdt_high=0xffffffff\0" \
105 "console=" CONSOLE_DEV "\0" \ 105 "console=" CONSOLE_DEV "\0" \
106 "bootargs=console=" CONSOLE_DEV ",115200 ubi.mtd=6 " \ 106 "bootargs=console=" CONSOLE_DEV ",115200 ubi.mtd=6 " \
107 "root=ubi0:nandrootfs rootfstype=ubifs " \ 107 "root=ubi0:nandrootfs rootfstype=ubifs " \
108 MFG_NAND_PARTITION \ 108 MFG_NAND_PARTITION \
109 "\0" \ 109 "\0" \
110 "bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\ 110 "bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\
111 "nand read ${fdt_addr} 0x5000000 0x100000;"\ 111 "nand read ${fdt_addr} 0x5000000 0x100000;"\
112 "if test ${tee} = yes; then " \ 112 "if test ${tee} = yes; then " \
113 "nand read ${tee_addr} 0x4000000 0x400000;"\ 113 "nand read ${tee_addr} 0x4000000 0x400000;"\
114 "bootm ${teeaddr} - ${fdt_addr};" \ 114 "bootm ${teeaddr} - ${fdt_addr};" \
115 "else " \ 115 "else " \
116 "bootz ${loadaddr} - ${fdt_addr};" \ 116 "bootz ${loadaddr} - ${fdt_addr};" \
117 "fi\0" 117 "fi\0"
118 118
119 #elif defined(CONFIG_SATA_BOOT) 119 #elif defined(CONFIG_SATA_BOOT)
120 120
121 #define CONFIG_EXTRA_ENV_SETTINGS \ 121 #define CONFIG_EXTRA_ENV_SETTINGS \
122 CONFIG_MFG_ENV_SETTINGS \ 122 CONFIG_MFG_ENV_SETTINGS \
123 TEE_ENV \ 123 TEE_ENV \
124 "image=zImage\0" \ 124 "image=zImage\0" \
125 "fdt_file=undefined\0" \ 125 "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
126 "fdt_addr=0x18000000\0" \ 126 "fdt_addr=0x18000000\0" \
127 "fdt_high=0xffffffff\0" \ 127 "fdt_high=0xffffffff\0" \
128 "tee_addr=0x20000000\0" \ 128 "tee_addr=0x20000000\0" \
129 "tee_file=undefined\0" \ 129 "tee_file=undefined\0" \
130 "findfdt="\ 130 "findfdt="\
131 "if test $fdt_file = undefined; then " \ 131 "if test $fdt_file = undefined; then " \
132 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ 132 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \
133 "setenv fdt_file imx6qp-sabreauto.dtb; fi; " \ 133 "setenv fdt_file imx6qp-sabreauto.dtb; fi; " \
134 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \ 134 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \
135 "setenv fdt_file imx6q-sabreauto.dtb; fi; " \ 135 "setenv fdt_file imx6q-sabreauto.dtb; fi; " \
136 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \ 136 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \
137 "setenv fdt_file imx6dl-sabreauto.dtb; fi; " \ 137 "setenv fdt_file imx6dl-sabreauto.dtb; fi; " \
138 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \ 138 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \
139 "setenv fdt_file imx6qp-sabresd.dtb; fi; " \ 139 "setenv fdt_file imx6qp-sabresd.dtb; fi; " \
140 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \ 140 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \
141 "setenv fdt_file imx6q-sabresd.dtb; fi; " \ 141 "setenv fdt_file imx6q-sabresd.dtb; fi; " \
142 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \ 142 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \
143 "setenv fdt_file imx6dl-sabresd.dtb; fi; " \ 143 "setenv fdt_file imx6dl-sabresd.dtb; fi; " \
144 "if test $fdt_file = undefined; then " \ 144 "if test $fdt_file = undefined; then " \
145 "echo WARNING: Could not determine dtb to use; " \ 145 "echo WARNING: Could not determine dtb to use; " \
146 "fi; " \ 146 "fi; " \
147 "fi;\0" \ 147 "fi;\0" \
148 "findtee="\ 148 "findtee="\
149 "if test $tee_file = undefined; then " \ 149 "if test $tee_file = undefined; then " \
150 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ 150 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \
151 "setenv tee_file uTee-6qpauto; fi; " \ 151 "setenv tee_file uTee-6qpauto; fi; " \
152 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \ 152 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \
153 "setenv tee_file uTee-6qauto; fi; " \ 153 "setenv tee_file uTee-6qauto; fi; " \
154 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \ 154 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \
155 "setenv tee_file uTee-6dlauto; fi; " \ 155 "setenv tee_file uTee-6dlauto; fi; " \
156 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \ 156 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \
157 "setenv tee_file uTee-6qpsdb; fi; " \ 157 "setenv tee_file uTee-6qpsdb; fi; " \
158 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \ 158 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \
159 "setenv tee_file uTee-6qsdb; fi; " \ 159 "setenv tee_file uTee-6qsdb; fi; " \
160 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \ 160 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \
161 "setenv tee_file uTee-6dlsdb; fi; " \ 161 "setenv tee_file uTee-6dlsdb; fi; " \
162 "if test $tee_file = undefined; then " \ 162 "if test $tee_file = undefined; then " \
163 "echo WARNING: Could not determine tee to use; fi; " \ 163 "echo WARNING: Could not determine tee to use; fi; " \
164 "fi;\0" \ 164 "fi;\0" \
165 "bootargs=console=" CONSOLE_DEV ",115200 \0"\ 165 "bootargs=console=" CONSOLE_DEV ",115200 \0"\
166 "bootargs_sata=setenv bootargs ${bootargs} " \ 166 "bootargs_sata=setenv bootargs ${bootargs} " \
167 "root=/dev/sda2 rootwait rw \0" \ 167 "root=/dev/sda2 rootwait rw \0" \
168 "bootcmd_sata=run bootargs_sata; sata init; " \ 168 "bootcmd_sata=run bootargs_sata; sata init; " \
169 "run findfdt; run findtee;" \
170 "fatload sata 0:1 ${loadaddr} ${image}; " \ 169 "fatload sata 0:1 ${loadaddr} ${image}; " \
171 "fatload sata 0:1 ${fdt_addr} ${fdt_file}; " \ 170 "fatload sata 0:1 ${fdt_addr} /dtbs/${fdt_file}; " \
172 "if test ${tee} = yes; then " \ 171 "if test ${tee} = yes; then " \
173 "fatload sata 0:1 ${tee_addr} ${tee_file}; " \ 172 "fatload sata 0:1 ${tee_addr} ${tee_file}; " \
174 "bootm ${tee_addr} - ${fdt_addr}; " \ 173 "bootm ${tee_addr} - ${fdt_addr}; " \
175 "else " \ 174 "else " \
176 "bootz ${loadaddr} - ${fdt_addr}; " \ 175 "bootz ${loadaddr} - ${fdt_addr}; " \
177 "fi \0"\ 176 "fi \0"\
178 "bootcmd=run bootcmd_sata \0" 177 "bootcmd=run bootcmd_sata \0"
179 178
180 #else 179 #else
181 180
182 #define CONFIG_EXTRA_ENV_SETTINGS \ 181 #define CONFIG_EXTRA_ENV_SETTINGS \
183 CONFIG_MFG_ENV_SETTINGS \ 182 CONFIG_MFG_ENV_SETTINGS \
184 TEE_ENV \ 183 TEE_ENV \
185 "epdc_waveform=epdc_splash.bin\0" \ 184 "epdc_waveform=epdc_splash.bin\0" \
186 "script=boot.scr\0" \ 185 "script=boot.scr\0" \
187 "image=zImage\0" \ 186 "image=zImage\0" \
188 "fdt_file=undefined\0" \ 187 "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
189 "fdt_addr=0x18000000\0" \ 188 "fdt_addr=0x18000000\0" \
190 "tee_addr=0x20000000\0" \ 189 "tee_addr=0x20000000\0" \
191 "tee_file=undefined\0" \ 190 "tee_file=undefined\0" \
192 "fec.macaddr=${ethaddr}\0" \ 191 "fec.macaddr=${ethaddr}\0" \
193 "ipaddr=192.168.1.60\0" \ 192 "ipaddr=192.168.1.60\0" \
194 "boot_fdt=try\0" \ 193 "boot_fdt=try\0" \
195 "ip_dyn=yes\0" \ 194 "ip_dyn=yes\0" \
196 "console=" CONSOLE_DEV "\0" \ 195 "console=" CONSOLE_DEV "\0" \
197 "dfuspi=dfu 1 sf 0:0:10000000:0\0" \ 196 "dfuspi=dfu 1 sf 0:0:10000000:0\0" \
198 "dfu_alt_info_spl=spl raw 0x400\0" \ 197 "dfu_alt_info_spl=spl raw 0x400\0" \
199 "dfu_alt_info_img=u-boot raw 0x10000\0" \ 198 "dfu_alt_info_img=u-boot raw 0x10000\0" \
200 "dfu_alt_info=spl raw 0x400\0" \ 199 "dfu_alt_info=spl raw 0x400\0" \
201 "fdt_high=0xffffffff\0" \ 200 "fdt_high=0xffffffff\0" \
202 "initrd_high=0xffffffff\0" \ 201 "initrd_high=0xffffffff\0" \
203 "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ 202 "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
204 "mmcpart=1\0" \ 203 "mmcpart=1\0" \
205 "finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \ 204 "finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \
206 "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ 205 "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
207 "sataroot=/dev/sda2 rootwait rw\0" \ 206 "sataroot=/dev/sda2 rootwait rw\0" \
208 "mmcrootfstype=ext4 rootwait\0" \ 207 "mmcrootfstype=ext4 rootwait\0" \
209 "satarootfstype=ext4 rootwait\0" \ 208 "satarootfstype=ext4 rootwait\0" \
210 "mmcautodetect=yes\0" \ 209 "mmcautodetect=yes\0" \
211 "update_sd_firmware=" \ 210 "update_sd_firmware=" \
212 "if test ${ip_dyn} = yes; then " \ 211 "if test ${ip_dyn} = yes; then " \
213 "setenv get_cmd dhcp; " \ 212 "setenv get_cmd dhcp; " \
214 "else " \ 213 "else " \
215 "setenv get_cmd tftp; " \ 214 "setenv get_cmd tftp; " \
216 "fi; " \ 215 "fi; " \
217 "if mmc dev ${mmcdev}; then " \ 216 "if mmc dev ${mmcdev}; then " \
218 "if ${get_cmd} ${update_sd_firmware_filename}; then " \ 217 "if ${get_cmd} ${update_sd_firmware_filename}; then " \
219 "setexpr fw_sz ${filesize} / 0x200; " \ 218 "setexpr fw_sz ${filesize} / 0x200; " \
220 "setexpr fw_sz ${fw_sz} + 1; " \ 219 "setexpr fw_sz ${fw_sz} + 1; " \
221 "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ 220 "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
222 "fi; " \ 221 "fi; " \
223 "fi\0" \ 222 "fi\0" \
224 EMMC_ENV \ 223 EMMC_ENV \
225 "smp=" SYS_NOSMP "\0"\ 224 "smp=" SYS_NOSMP "\0"\
226 "mmcargs=setenv bootargs console=${console},${baudrate} ${smp} " \ 225 "mmcargs=setenv bootargs console=${console},${baudrate} ${smp} " \
227 "root=${mmcroot}\0" \ 226 "root=${mmcroot}\0" \
228 "rootfstype=${mmcrootfstype} " \ 227 "rootfstype=${mmcrootfstype} " \
229 "video=${video}\0" \ 228 "video=${video}\0" \
230 "sataargs=setenv bootargs console=${console},${baudrate} ${smp} " \ 229 "sataargs=setenv bootargs console=${console},${baudrate} ${smp} " \
231 "${optargs} " \ 230 "${optargs} " \
232 "root=${sataroot}\0" \ 231 "root=${sataroot}\0" \
233 "rootfstype=${satarootfstype} " \ 232 "rootfstype=${satarootfstype} " \
234 "video=${video}\0" \ 233 "video=${video}\0" \
235 "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ 234 "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \
236 "loadsataenv=load sata 0:1 ${loadaddr} uEnv.txt\0" \ 235 "loadsataenv=load sata 0:1 ${loadaddr} uEnv.txt\0" \
237 "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ 236 "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \
238 "env import -t $loadaddr $filesize\0" \ 237 "env import -t $loadaddr $filesize\0" \
239 "loadbootscript=" \ 238 "loadbootscript=" \
240 "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ 239 "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
241 "bootscript=echo Running bootscript from mmc ...; " \ 240 "bootscript=echo Running bootscript from mmc ...; " \
242 "source\0" \ 241 "source\0" \
243 "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 242 "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
244 "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ 243 "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
245 "loadsatazimage=load sata 0:1 ${loadaddr} ${image}\0" \ 244 "loadsatazimage=load sata 0:1 ${loadaddr} ${image}\0" \
246 "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} /dtbs/${fdt_file}\0" \ 245 "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} /dtbs/${fdt_file}\0" \
247 "loadsatafdt=load sata 0:1 ${fdt_addr} /dtbs/${fdt_file}\0" \ 246 "loadsatafdt=load sata 0:1 ${fdt_addr} /dtbs/${fdt_file}\0" \
248 "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \ 247 "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \
249 "mmcboot=echo Booting from mmc ...; " \ 248 "mmcboot=echo Booting from mmc ...; " \
250 "run mmcargs; " \ 249 "run mmcargs; " \
251 "if test ${tee} = yes; then " \ 250 "if test ${tee} = yes; then " \
252 "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \ 251 "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \
253 "else " \ 252 "else " \
254 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 253 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
255 "if run loadfdt; then " \ 254 "if run loadfdt; then " \
256 "bootz ${loadaddr} - ${fdt_addr}; " \ 255 "bootz ${loadaddr} - ${fdt_addr}; " \
257 "else " \ 256 "else " \
258 "if test ${boot_fdt} = try; then " \ 257 "if test ${boot_fdt} = try; then " \
259 "bootz; " \ 258 "bootz; " \
260 "else " \ 259 "else " \
261 "echo WARN: Cannot load the DT; " \ 260 "echo WARN: Cannot load the DT; " \
262 "fi; " \ 261 "fi; " \
263 "fi; " \ 262 "fi; " \
264 "else " \ 263 "else " \
265 "bootz; " \ 264 "bootz; " \
266 "fi;" \ 265 "fi;" \
267 "fi;\0" \ 266 "fi;\0" \
268 "sataboot=echo Booting from sata ...; " \ 267 "sataboot=echo Booting from sata ...; " \
269 "run sataargs; " \ 268 "run sataargs; " \
270 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 269 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
271 "if run loadsatafdt; then " \ 270 "if run loadsatafdt; then " \
272 "bootz ${loadaddr} - ${fdt_addr}; " \ 271 "bootz ${loadaddr} - ${fdt_addr}; " \
273 "else " \ 272 "else " \
274 "if test ${boot_fdt} = try; then " \ 273 "if test ${boot_fdt} = try; then " \
275 "bootz; " \ 274 "bootz; " \
276 "else " \ 275 "else " \
277 "echo WARN: Cannot load the DT; " \ 276 "echo WARN: Cannot load the DT; " \
278 "fi; " \ 277 "fi; " \
279 "fi; " \ 278 "fi; " \
280 "else " \ 279 "else " \
281 "bootz; " \ 280 "bootz; " \
282 "fi;\0" \ 281 "fi;\0" \
283 "netargs=setenv bootargs console=${console},${baudrate} ${smp} " \ 282 "netargs=setenv bootargs console=${console},${baudrate} ${smp} " \
284 "root=/dev/nfs " \ 283 "root=/dev/nfs " \
285 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ 284 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
286 "netboot=echo Booting from net ...; " \ 285 "netboot=echo Booting from net ...; " \
287 "run netargs; " \ 286 "run netargs; " \
288 "if test ${ip_dyn} = yes; then " \ 287 "if test ${ip_dyn} = yes; then " \
289 "setenv get_cmd dhcp; " \ 288 "setenv get_cmd dhcp; " \
290 "else " \ 289 "else " \
291 "setenv get_cmd tftp; " \ 290 "setenv get_cmd tftp; " \
292 "fi; " \ 291 "fi; " \
293 "${get_cmd} ${image}; " \ 292 "${get_cmd} ${image}; " \
294 "if test ${tee} = yes; then " \ 293 "if test ${tee} = yes; then " \
295 "${get_cmd} ${tee_addr} ${tee_file}; " \ 294 "${get_cmd} ${tee_addr} ${tee_file}; " \
296 "${get_cmd} ${fdt_addr} ${fdt_file}; " \ 295 "${get_cmd} ${fdt_addr} ${fdt_file}; " \
297 "bootm ${tee_addr} - ${fdt_addr}; " \ 296 "bootm ${tee_addr} - ${fdt_addr}; " \
298 "else " \ 297 "else " \
299 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 298 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
300 "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ 299 "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
301 "bootz ${loadaddr} - ${fdt_addr}; " \ 300 "bootz ${loadaddr} - ${fdt_addr}; " \
302 "else " \ 301 "else " \
303 "if test ${boot_fdt} = try; then " \ 302 "if test ${boot_fdt} = try; then " \
304 "bootz; " \ 303 "bootz; " \
305 "else " \ 304 "else " \
306 "echo WARN: Cannot load the DT; " \ 305 "echo WARN: Cannot load the DT; " \
307 "fi; " \ 306 "fi; " \
308 "fi; " \ 307 "fi; " \
309 "else " \ 308 "else " \
310 "bootz; " \ 309 "bootz; " \
311 "fi; " \ 310 "fi; " \
312 "fi;\0" \ 311 "fi;\0" \
313 "findfdt="\ 312 "findfdt="\
314 "if test $fdt_file = undefined; then " \ 313 "if test $fdt_file = undefined; then " \
315 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ 314 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \
316 "setenv fdt_file imx6qp-sabreauto.dtb; fi; " \ 315 "setenv fdt_file imx6qp-sabreauto.dtb; fi; " \
317 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \ 316 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \
318 "setenv fdt_file imx6q-sabreauto.dtb; fi; " \ 317 "setenv fdt_file imx6q-sabreauto.dtb; fi; " \
319 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \ 318 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \
320 "setenv fdt_file imx6dl-sabreauto.dtb; fi; " \ 319 "setenv fdt_file imx6dl-sabreauto.dtb; fi; " \
321 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \ 320 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \
322 "setenv fdt_file imx6qp-sabresd.dtb; fi; " \ 321 "setenv fdt_file imx6qp-sabresd.dtb; fi; " \
323 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \ 322 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \
324 "setenv fdt_file imx6q-sabresd.dtb; fi; " \ 323 "setenv fdt_file imx6q-sabresd.dtb; fi; " \
325 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \ 324 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \
326 "setenv fdt_file imx6dl-sabresd.dtb; fi; " \ 325 "setenv fdt_file imx6dl-sabresd.dtb; fi; " \
327 "if test $board_name = SMCMX1QP || test $board_name = SMCMX2QP && test $board_rev = MX6QP; then " \ 326 "if test $board_name = SMCMX1QP || test $board_name = SMCMX2QP && test $board_rev = MX6QP; then " \
328 "setenv fdt_file imx6qp-smarcfimx6.dtb; fi; " \ 327 "setenv fdt_file imx6qp-smarcfimx6.dtb; fi; " \
329 "if test $board_name = SMCMXQ1G || test $board_name = SMCMXQ2G || test $board_name = SMCMXD1G || test $board_name = SMCMXD2G && test $board_rev = MX6Q; then " \ 328 "if test $board_name = SMCMXQ1G || test $board_name = SMCMXQ2G || test $board_name = SMCMXD1G || test $board_name = SMCMXD2G && test $board_rev = MX6Q; then " \
330 "setenv fdt_file imx6q-smarcfimx6.dtb; fi; " \ 329 "setenv fdt_file imx6q-smarcfimx6.dtb; fi; " \
331 "if test $board_name = SMCMXU1G || test $board_name = SMCMXSLO && test $board_rev = MX6DL; then " \ 330 "if test $board_name = SMCMXU1G || test $board_name = SMCMXSLO && test $board_rev = MX6DL; then " \
332 "setenv fdt_file imx6dl-smarcfimx6.dtb; fi; " \ 331 "setenv fdt_file imx6dl-smarcfimx6.dtb; fi; " \
333 "if test $fdt_file = undefined; then " \ 332 "if test $fdt_file = undefined; then " \
334 "echo WARNING: Could not determine dtb to use; " \ 333 "echo WARNING: Could not determine dtb to use; " \
335 "fi; " \ 334 "fi; " \
336 "fi;\0" \ 335 "fi;\0" \
337 "findtee="\ 336 "findtee="\
338 "if test $tee_file = undefined; then " \ 337 "if test $tee_file = undefined; then " \
339 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \ 338 "if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \
340 "setenv tee_file uTee-6qpauto; fi; " \ 339 "setenv tee_file uTee-6qpauto; fi; " \
341 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \ 340 "if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \
342 "setenv tee_file uTee-6qauto; fi; " \ 341 "setenv tee_file uTee-6qauto; fi; " \
343 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \ 342 "if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \
344 "setenv tee_file uTee-6dlauto; fi; " \ 343 "setenv tee_file uTee-6dlauto; fi; " \
345 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \ 344 "if test $board_name = SABRESD && test $board_rev = MX6QP; then " \
346 "setenv tee_file uTee-6qpsdb; fi; " \ 345 "setenv tee_file uTee-6qpsdb; fi; " \
347 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \ 346 "if test $board_name = SABRESD && test $board_rev = MX6Q; then " \
348 "setenv tee_file uTee-6qsdb; fi; " \ 347 "setenv tee_file uTee-6qsdb; fi; " \
349 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \ 348 "if test $board_name = SABRESD && test $board_rev = MX6DL; then " \
350 "setenv tee_file uTee-6dlsdb; fi; " \ 349 "setenv tee_file uTee-6dlsdb; fi; " \
351 "if test $tee_file = undefined; then " \ 350 "if test $tee_file = undefined; then " \
352 "echo WARNING: Could not determine tee to use; fi; " \ 351 "echo WARNING: Could not determine tee to use; fi; " \
353 "fi;\0" \ 352 "fi;\0" \
354 353
355 #define CONFIG_BOOTCOMMAND \ 354 #define CONFIG_BOOTCOMMAND \
356 "run findfdt;" \
357 "run findtee;" \
358 "if mmc rescan; then " \ 355 "if mmc rescan; then " \
359 "echo SD/MMC found on device ${mmcdev};" \ 356 "echo SD/MMC found on device ${mmcdev};" \
360 "if run loadbootenv; then " \ 357 "if run loadbootenv; then " \
361 "run importbootenv;" \ 358 "run importbootenv;" \
362 "fi;" \ 359 "fi;" \
363 "echo Checking if uenvcmd is set ...;" \ 360 "echo Checking if uenvcmd is set ...;" \
364 "if test -n $uenvcmd; then " \ 361 "if test -n $uenvcmd; then " \
365 "echo Running uenvcmd ...;" \ 362 "echo Running uenvcmd ...;" \
366 "run uenvcmd;" \ 363 "run uenvcmd;" \
367 "fi;" \ 364 "fi;" \
368 "echo Running default loadzimage ...;" \ 365 "echo Running default loadzimage ...;" \
369 "if run loadzimage; then " \ 366 "if run loadzimage; then " \
370 "run loadfdt;" \ 367 "run loadfdt;" \
371 "run mmcboot;" \ 368 "run mmcboot;" \
372 "fi;" \ 369 "fi;" \
373 "else run netboot; fi" 370 "else run netboot; fi"
374 #endif 371 #endif
375 372
376 #define CONFIG_ARP_TIMEOUT 200UL 373 #define CONFIG_ARP_TIMEOUT 200UL
377 374
378 #define CONFIG_SYS_MEMTEST_START 0x10000000 375 #define CONFIG_SYS_MEMTEST_START 0x10000000
379 #define CONFIG_SYS_MEMTEST_END 0x10010000 376 #define CONFIG_SYS_MEMTEST_END 0x10010000
380 #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 377 #define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000
381 378
382 /* Physical Memory Map */ 379 /* Physical Memory Map */
383 #define CONFIG_NR_DRAM_BANKS 1 380 #define CONFIG_NR_DRAM_BANKS 1
384 #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 381 #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
385 382
386 #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM 383 #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
387 #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 384 #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
388 #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE 385 #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
389 386
390 #define CONFIG_SYS_INIT_SP_OFFSET \ 387 #define CONFIG_SYS_INIT_SP_OFFSET \
391 (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 388 (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
392 #define CONFIG_SYS_INIT_SP_ADDR \ 389 #define CONFIG_SYS_INIT_SP_ADDR \
393 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) 390 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
394 391
395 /* Environment organization */ 392 /* Environment organization */
396 #define CONFIG_ENV_SIZE (8 * 1024) 393 #define CONFIG_ENV_SIZE (8 * 1024)
397 394
398 #if defined CONFIG_SPI_BOOT 395 #if defined CONFIG_SPI_BOOT
399 #define CONFIG_ENV_IS_IN_SPI_FLASH 396 #define CONFIG_ENV_IS_IN_SPI_FLASH
400 #elif defined CONFIG_NOR_BOOT 397 #elif defined CONFIG_NOR_BOOT
401 #define CONFIG_MTD_NOR_FLASH 398 #define CONFIG_MTD_NOR_FLASH
402 #define CONFIG_ENV_IS_IN_FLASH 399 #define CONFIG_ENV_IS_IN_FLASH
403 #elif defined CONFIG_NAND_BOOT 400 #elif defined CONFIG_NAND_BOOT
404 #define CONFIG_CMD_NAND 401 #define CONFIG_CMD_NAND
405 #define CONFIG_ENV_IS_IN_NAND 402 #define CONFIG_ENV_IS_IN_NAND
406 #elif defined CONFIG_SATA_BOOT 403 #elif defined CONFIG_SATA_BOOT
407 #define CONFIG_ENV_IS_IN_SATA 404 #define CONFIG_ENV_IS_IN_SATA
408 #define CONFIG_CMD_SATA 405 #define CONFIG_CMD_SATA
409 #else 406 #else
410 #define CONFIG_ENV_IS_IN_MMC 407 #define CONFIG_ENV_IS_IN_MMC
411 #endif 408 #endif
412 409
413 #ifdef CONFIG_SATA 410 #ifdef CONFIG_SATA
414 #define CONFIG_DWC_AHSATA 411 #define CONFIG_DWC_AHSATA
415 #define CONFIG_SYS_SATA_MAX_DEVICE 1 412 #define CONFIG_SYS_SATA_MAX_DEVICE 1
416 #define CONFIG_DWC_AHSATA_PORT_ID 0 413 #define CONFIG_DWC_AHSATA_PORT_ID 0
417 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR 414 #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR
418 #define CONFIG_LBA48 415 #define CONFIG_LBA48
419 #define CONFIG_LIBATA 416 #define CONFIG_LIBATA
420 #endif 417 #endif
421 418
422 #ifdef CONFIG_CMD_SF 419 #ifdef CONFIG_CMD_SF
423 #define CONFIG_SPI_FLASH 420 #define CONFIG_SPI_FLASH
424 #define CONFIG_SPI_FLASH_MACRONIX 421 #define CONFIG_SPI_FLASH_MACRONIX
425 #define CONFIG_MXC_SPI 422 #define CONFIG_MXC_SPI
426 #define CONFIG_SF_DEFAULT_BUS 1 423 #define CONFIG_SF_DEFAULT_BUS 1
427 #define CONFIG_SF_DEFAULT_SPEED 20000000 424 #define CONFIG_SF_DEFAULT_SPEED 20000000
428 #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0) 425 #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0)
429 #endif 426 #endif
430 427
431 #ifdef CONFIG_MTD_NOR_FLASH 428 #ifdef CONFIG_MTD_NOR_FLASH
432 #define CONFIG_SYS_FLASH_BASE WEIM_ARB_BASE_ADDR 429 #define CONFIG_SYS_FLASH_BASE WEIM_ARB_BASE_ADDR
433 #define CONFIG_SYS_FLASH_SECT_SIZE (128 * 1024) 430 #define CONFIG_SYS_FLASH_SECT_SIZE (128 * 1024)
434 #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 431 #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
435 #define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */ 432 #define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
436 #define CONFIG_SYS_FLASH_CFI /* Flash memory is CFI compliant */ 433 #define CONFIG_SYS_FLASH_CFI /* Flash memory is CFI compliant */
437 #define CONFIG_FLASH_CFI_DRIVER /* Use drivers/cfi_flash.c */ 434 #define CONFIG_FLASH_CFI_DRIVER /* Use drivers/cfi_flash.c */
438 #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* Use buffered writes*/ 435 #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* Use buffered writes*/
439 #define CONFIG_SYS_FLASH_EMPTY_INFO 436 #define CONFIG_SYS_FLASH_EMPTY_INFO
440 #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 437 #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
441 #endif 438 #endif
442 439
443 #ifdef CONFIG_CMD_NAND 440 #ifdef CONFIG_CMD_NAND
444 /* NAND flash command */ 441 /* NAND flash command */
445 #define CONFIG_CMD_NAND_TRIMFFS 442 #define CONFIG_CMD_NAND_TRIMFFS
446 443
447 /* NAND stuff */ 444 /* NAND stuff */
448 #define CONFIG_NAND_MXS 445 #define CONFIG_NAND_MXS
449 #define CONFIG_SYS_MAX_NAND_DEVICE 1 446 #define CONFIG_SYS_MAX_NAND_DEVICE 1
450 #define CONFIG_SYS_NAND_BASE 0x40000000 447 #define CONFIG_SYS_NAND_BASE 0x40000000
451 #define CONFIG_SYS_NAND_5_ADDR_CYCLE 448 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
452 #define CONFIG_SYS_NAND_ONFI_DETECTION 449 #define CONFIG_SYS_NAND_ONFI_DETECTION
453 450
454 /* DMA stuff, needed for GPMI/MXS NAND support */ 451 /* DMA stuff, needed for GPMI/MXS NAND support */
455 #define CONFIG_APBH_DMA 452 #define CONFIG_APBH_DMA
456 #define CONFIG_APBH_DMA_BURST 453 #define CONFIG_APBH_DMA_BURST
457 #define CONFIG_APBH_DMA_BURST8 454 #define CONFIG_APBH_DMA_BURST8
458 #endif 455 #endif
459 456
460 #if defined(CONFIG_ENV_IS_IN_MMC) 457 #if defined(CONFIG_ENV_IS_IN_MMC)
461 #define CONFIG_ENV_OFFSET (896 * 1024) 458 #define CONFIG_ENV_OFFSET (896 * 1024)
462 #elif defined(CONFIG_ENV_IS_IN_SPI_FLASH) 459 #elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)
463 #define CONFIG_ENV_OFFSET (896 * 1024) 460 #define CONFIG_ENV_OFFSET (896 * 1024)
464 #define CONFIG_ENV_SECT_SIZE (64 * 1024) 461 #define CONFIG_ENV_SECT_SIZE (64 * 1024)
465 #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS 462 #define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS
466 #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS 463 #define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS
467 #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE 464 #define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE
468 #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 465 #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
469 #elif defined(CONFIG_ENV_IS_IN_FLASH) 466 #elif defined(CONFIG_ENV_IS_IN_FLASH)
470 #undef CONFIG_ENV_SIZE 467 #undef CONFIG_ENV_SIZE
471 #define CONFIG_ENV_SIZE CONFIG_SYS_FLASH_SECT_SIZE 468 #define CONFIG_ENV_SIZE CONFIG_SYS_FLASH_SECT_SIZE
472 #define CONFIG_ENV_SECT_SIZE CONFIG_SYS_FLASH_SECT_SIZE 469 #define CONFIG_ENV_SECT_SIZE CONFIG_SYS_FLASH_SECT_SIZE
473 #define CONFIG_ENV_OFFSET (7 * CONFIG_SYS_FLASH_SECT_SIZE) 470 #define CONFIG_ENV_OFFSET (7 * CONFIG_SYS_FLASH_SECT_SIZE)
474 #elif defined(CONFIG_ENV_IS_IN_NAND) 471 #elif defined(CONFIG_ENV_IS_IN_NAND)
475 #undef CONFIG_ENV_SIZE 472 #undef CONFIG_ENV_SIZE
476 #define CONFIG_ENV_OFFSET (60 << 20) 473 #define CONFIG_ENV_OFFSET (60 << 20)
477 #define CONFIG_ENV_SECT_SIZE (128 << 10) 474 #define CONFIG_ENV_SECT_SIZE (128 << 10)
478 #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 475 #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
479 #elif defined(CONFIG_ENV_IS_IN_SATA) 476 #elif defined(CONFIG_ENV_IS_IN_SATA)
480 #define CONFIG_ENV_OFFSET (896 * 1024) 477 #define CONFIG_ENV_OFFSET (896 * 1024)
481 #define CONFIG_SYS_SATA_ENV_DEV 0 478 #define CONFIG_SYS_SATA_ENV_DEV 0
482 #define CONFIG_SYS_DCACHE_OFF /* remove when sata driver support cache */ 479 #define CONFIG_SYS_DCACHE_OFF /* remove when sata driver support cache */
483 #endif 480 #endif
484 481
485 /* I2C Configs */ 482 /* I2C Configs */
486 #ifndef CONFIG_DM_I2C 483 #ifndef CONFIG_DM_I2C
487 #define CONFIG_SYS_I2C 484 #define CONFIG_SYS_I2C
488 #endif 485 #endif
489 #ifdef CONFIG_CMD_I2C 486 #ifdef CONFIG_CMD_I2C
490 #define CONFIG_SYS_I2C_MXC 487 #define CONFIG_SYS_I2C_MXC
491 #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ 488 #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */
492 #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ 489 #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */
493 #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ 490 #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */
494 #define CONFIG_SYS_I2C_SPEED 100000 491 #define CONFIG_SYS_I2C_SPEED 100000
495 #endif 492 #endif
496 493
497 /* I2C switch definitions for PCA9546 chip */ 494 /* I2C switch definitions for PCA9546 chip */
498 #define CONFIG_SYS_NUM_I2C_BUSES 5 495 #define CONFIG_SYS_NUM_I2C_BUSES 5
499 #define CONFIG_SYS_I2C_MAX_HOPS 2 496 #define CONFIG_SYS_I2C_MAX_HOPS 2
500 #define CONFIG_SYS_I2C_BUSES { {0, {I2C_NULL_HOP}}, \ 497 #define CONFIG_SYS_I2C_BUSES { {0, {I2C_NULL_HOP}}, \
501 {1, {I2C_NULL_HOP}}, \ 498 {1, {I2C_NULL_HOP}}, \
502 {2, {{I2C_MUX_PCA9546, 0x70, 1}}}, \ 499 {2, {{I2C_MUX_PCA9546, 0x70, 1}}}, \
503 {2, {{I2C_MUX_PCA9546, 0x70, 2}}}, \ 500 {2, {{I2C_MUX_PCA9546, 0x70, 2}}}, \
504 {2, {{I2C_MUX_PCA9546, 0x70, 3}}}, \ 501 {2, {{I2C_MUX_PCA9546, 0x70, 3}}}, \
505 } 502 }
506 503
507 504
508 /* Framebuffer */ 505 /* Framebuffer */
509 #define CONFIG_VIDEO_IPUV3 506 #define CONFIG_VIDEO_IPUV3
510 #define CONFIG_VIDEO_BMP_RLE8 507 #define CONFIG_VIDEO_BMP_RLE8
511 #define CONFIG_SPLASH_SCREEN 508 #define CONFIG_SPLASH_SCREEN
512 #define CONFIG_SPLASH_SCREEN_ALIGN 509 #define CONFIG_SPLASH_SCREEN_ALIGN
513 #define CONFIG_BMP_16BPP 510 #define CONFIG_BMP_16BPP
514 #define CONFIG_VIDEO_LOGO 511 #define CONFIG_VIDEO_LOGO
515 #define CONFIG_VIDEO_BMP_LOGO 512 #define CONFIG_VIDEO_BMP_LOGO
516 #define CONFIG_IMX_HDMI 513 #define CONFIG_IMX_HDMI
517 #define CONFIG_IMX_VIDEO_SKIP 514 #define CONFIG_IMX_VIDEO_SKIP
518 515
519 #if defined(CONFIG_ANDROID_SUPPORT) 516 #if defined(CONFIG_ANDROID_SUPPORT)
520 #include "smarcfimx6android_common.h" 517 #include "smarcfimx6android_common.h"
521 #else 518 #else
522 #define CONFIG_USBD_HS 519 #define CONFIG_USBD_HS
523 520
524 #endif /* CONFIG_ANDROID_SUPPORT */ 521 #endif /* CONFIG_ANDROID_SUPPORT */
525 #endif /* __SMARCFIMX6_COMMON_CONFIG_H */ 522 #endif /* __SMARCFIMX6_COMMON_CONFIG_H */
526 523