]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
59189a8b TH |
2 | /* |
3 | * Copyright (C) 2013 Gateworks Corporation | |
59189a8b TH |
4 | */ |
5 | ||
6 | #ifndef __CONFIG_H | |
7 | #define __CONFIG_H | |
8 | ||
0cc11dea | 9 | /* SPL */ |
0cc11dea | 10 | /* Location in NAND to read U-Boot from */ |
55ff55e9 | 11 | #define CONFIG_SYS_NAND_U_BOOT_OFFS (14 * SZ_1M) |
0cc11dea | 12 | |
53940a50 | 13 | /* Falcon Mode */ |
53940a50 | 14 | #define CONFIG_SYS_SPL_ARGS_ADDR 0x18000000 |
53940a50 TH |
15 | |
16 | /* Falcon Mode - NAND support: args@17MB kernel@18MB */ | |
53940a50 TH |
17 | #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS (18 * SZ_1M) |
18 | ||
19 | /* Falcon Mode - MMC support: args@1MB kernel@2MB */ | |
20 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 0x800 /* 1MB */ | |
21 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (CONFIG_CMD_SPL_WRITE_SIZE / 512) | |
22 | #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 0x1000 /* 2MB */ | |
23 | ||
0cc11dea | 24 | #include "imx6_spl.h" /* common IMX6 SPL configuration */ |
59189a8b | 25 | #include "mx6_common.h" |
59189a8b TH |
26 | |
27 | #define CONFIG_MACH_TYPE 4520 /* Gateworks Ventana Platform */ | |
28 | ||
59189a8b | 29 | /* Serial */ |
59189a8b TH |
30 | #define CONFIG_MXC_UART_BASE UART2_BASE |
31 | ||
777f333c TH |
32 | /* NAND */ |
33 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 | |
59189a8b | 34 | |
32328065 TH |
35 | #undef CONFIG_SYS_BOOTM_LEN |
36 | #define CONFIG_SYS_BOOTM_LEN (64 << 20) | |
37 | ||
59189a8b | 38 | /* I2C Configs */ |
9c0fe83e | 39 | #define CONFIG_I2C_GSC 0 |
f6747cda | 40 | #define CONFIG_I2C_EDID |
59189a8b TH |
41 | |
42 | /* MMC Configs */ | |
59189a8b | 43 | #define CONFIG_SYS_FSL_ESDHC_ADDR 0 |
59189a8b | 44 | |
59189a8b TH |
45 | /* |
46 | * SATA Configs | |
47 | */ | |
59189a8b | 48 | #ifdef CONFIG_CMD_SATA |
59189a8b TH |
49 | #define CONFIG_SYS_SATA_MAX_DEVICE 1 |
50 | #define CONFIG_DWC_AHSATA_PORT_ID 0 | |
51 | #define CONFIG_DWC_AHSATA_BASE_ADDR SATA_ARB_BASE_ADDR | |
52 | #define CONFIG_LBA48 | |
59189a8b TH |
53 | #endif |
54 | ||
55 | /* | |
56 | * PCI express | |
57 | */ | |
59189a8b | 58 | #ifdef CONFIG_CMD_PCI |
59189a8b TH |
59 | #define CONFIG_PCIE_IMX |
60 | #endif | |
61 | ||
62 | /* | |
63 | * PMIC | |
64 | */ | |
59189a8b TH |
65 | #define CONFIG_POWER_PFUZE100 |
66 | #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 | |
234d89da TH |
67 | #define CONFIG_POWER_LTC3676 |
68 | #define CONFIG_POWER_LTC3676_I2C_ADDR 0x3c | |
59189a8b TH |
69 | |
70 | /* Various command support */ | |
59189a8b | 71 | |
59189a8b | 72 | /* USB Configs */ |
59189a8b TH |
73 | #define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */ |
74 | #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) | |
75 | #define CONFIG_MXC_USB_FLAGS 0 | |
59189a8b | 76 | #define CONFIG_USBD_HS |
59189a8b | 77 | |
7a278f9f | 78 | /* Framebuffer and LCD */ |
7a278f9f | 79 | #define CONFIG_VIDEO_LOGO |
7a278f9f TH |
80 | #define CONFIG_IMX_HDMI |
81 | #define CONFIG_IMX_VIDEO_SKIP | |
0a22c7f0 | 82 | #define CONFIG_VIDEO_BMP_LOGO |
0a22c7f0 | 83 | #define CONFIG_HIDE_LOGO_VERSION /* Custom config to hide U-boot version */ |
7a278f9f | 84 | |
59189a8b | 85 | /* Miscellaneous configurable options */ |
59189a8b TH |
86 | #define CONFIG_HWCONFIG |
87 | ||
59189a8b | 88 | /* Memory configuration */ |
59189a8b TH |
89 | |
90 | /* Physical Memory Map */ | |
59189a8b TH |
91 | #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR |
92 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM | |
93 | #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR | |
94 | #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE | |
95 | ||
96 | #define CONFIG_SYS_INIT_SP_OFFSET \ | |
97 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
98 | #define CONFIG_SYS_INIT_SP_ADDR \ | |
99 | (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) | |
100 | ||
59189a8b TH |
101 | /* |
102 | * MTD Command for mtdparts | |
103 | */ | |
59189a8b TH |
104 | |
105 | /* Persistent Environment Config */ | |
59189a8b TH |
106 | |
107 | /* Environment */ | |
59189a8b TH |
108 | #define CONFIG_IPADDR 192.168.1.1 |
109 | #define CONFIG_SERVERIP 192.168.1.146 | |
59189a8b TH |
110 | |
111 | #define CONFIG_EXTRA_ENV_SETTINGS_COMMON \ | |
0a22c7f0 | 112 | "splashpos=m,m\0" \ |
04171690 | 113 | "usb_pgood_delay=2000\0" \ |
59189a8b TH |
114 | "console=ttymxc1\0" \ |
115 | "bootdevs=usb mmc sata flash\0" \ | |
5911c092 | 116 | "hwconfig=_UNKNOWN_\0" \ |
59189a8b TH |
117 | "video=\0" \ |
118 | \ | |
43ede0bc TR |
119 | "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ |
120 | "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \ | |
7698cdfd TH |
121 | "disk=0\0" \ |
122 | "part=1\0" \ | |
59189a8b TH |
123 | \ |
124 | "fdt_high=0xffffffff\0" \ | |
125 | "fdt_addr=0x18000000\0" \ | |
8cc25eb8 | 126 | "initrd_high=0xffffffff\0" \ |
4df0bff3 TH |
127 | "fixfdt=" \ |
128 | "fdt addr ${fdt_addr}\0" \ | |
e2801a96 | 129 | "bootdir=boot\0" \ |
59189a8b | 130 | "loadfdt=" \ |
1b740001 TH |
131 | "if ${fsload} ${fdt_addr} ${bootdir}/${fdt_file}; then " \ |
132 | "echo Loaded DTB from ${bootdir}/${fdt_file}; " \ | |
4df0bff3 | 133 | "run fixfdt; " \ |
1b740001 TH |
134 | "elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file1}; then " \ |
135 | "echo Loaded DTB from ${bootdir}/${fdt_file1}; " \ | |
4df0bff3 | 136 | "run fixfdt; " \ |
1b740001 TH |
137 | "elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file2}; then " \ |
138 | "echo Loaded DTB from ${bootdir}/${fdt_file2}; " \ | |
4df0bff3 | 139 | "run fixfdt; " \ |
59189a8b TH |
140 | "fi\0" \ |
141 | \ | |
543a4aba | 142 | "fs=ext4\0" \ |
e2801a96 | 143 | "script=6x_bootscript-ventana\0" \ |
59189a8b | 144 | "loadscript=" \ |
e2801a96 | 145 | "if ${fsload} ${loadaddr} ${bootdir}/${script}; then " \ |
50987095 | 146 | "source ${loadaddr}; " \ |
59189a8b TH |
147 | "fi\0" \ |
148 | \ | |
e2801a96 | 149 | "uimage=uImage\0" \ |
79942c4f | 150 | "mmc_root=mmcblk0p1\0" \ |
59189a8b | 151 | "mmc_boot=" \ |
543a4aba | 152 | "setenv fsload \"${fs}load mmc ${disk}:${part}\"; " \ |
7698cdfd | 153 | "mmc dev ${disk} && mmc rescan && " \ |
560e8b3f | 154 | "setenv dtype mmc; run loadscript; " \ |
e2801a96 | 155 | "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \ |
59189a8b | 156 | "setenv bootargs console=${console},${baudrate} " \ |
79942c4f | 157 | "root=/dev/${mmc_root} rootfstype=${fs} " \ |
59189a8b | 158 | "rootwait rw ${video} ${extra}; " \ |
4df0bff3 | 159 | "if run loadfdt; then " \ |
59189a8b TH |
160 | "bootm ${loadaddr} - ${fdt_addr}; " \ |
161 | "else " \ | |
162 | "bootm; " \ | |
163 | "fi; " \ | |
164 | "fi\0" \ | |
165 | \ | |
166 | "sata_boot=" \ | |
543a4aba | 167 | "setenv fsload \"${fs}load sata ${disk}:${part}\"; " \ |
7698cdfd | 168 | "sata init && " \ |
560e8b3f | 169 | "setenv dtype sata; run loadscript; " \ |
e2801a96 | 170 | "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \ |
59189a8b | 171 | "setenv bootargs console=${console},${baudrate} " \ |
543a4aba | 172 | "root=/dev/sda1 rootfstype=${fs} " \ |
59189a8b | 173 | "rootwait rw ${video} ${extra}; " \ |
4df0bff3 | 174 | "if run loadfdt; then " \ |
59189a8b TH |
175 | "bootm ${loadaddr} - ${fdt_addr}; " \ |
176 | "else " \ | |
177 | "bootm; " \ | |
178 | "fi; " \ | |
179 | "fi\0" \ | |
180 | "usb_boot=" \ | |
543a4aba | 181 | "setenv fsload \"${fs}load usb ${disk}:${part}\"; " \ |
7698cdfd | 182 | "usb start && usb dev ${disk} && " \ |
560e8b3f | 183 | "setenv dtype usb; run loadscript; " \ |
e2801a96 | 184 | "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \ |
59189a8b | 185 | "setenv bootargs console=${console},${baudrate} " \ |
543a4aba | 186 | "root=/dev/sda1 rootfstype=${fs} " \ |
59189a8b | 187 | "rootwait rw ${video} ${extra}; " \ |
4df0bff3 | 188 | "if run loadfdt; then " \ |
59189a8b TH |
189 | "bootm ${loadaddr} - ${fdt_addr}; " \ |
190 | "else " \ | |
191 | "bootm; " \ | |
192 | "fi; " \ | |
193 | "fi\0" | |
194 | ||
195 | #ifdef CONFIG_SPI_FLASH | |
196 | #define CONFIG_EXTRA_ENV_SETTINGS \ | |
197 | CONFIG_EXTRA_ENV_SETTINGS_COMMON \ | |
198 | "image_os=ventana/openwrt-imx6-imx6q-gw5400-a-squashfs.bin\0" \ | |
199 | "image_uboot=ventana/u-boot_spi.imx\0" \ | |
200 | \ | |
201 | "spi_koffset=0x90000\0" \ | |
202 | "spi_klen=0x200000\0" \ | |
203 | \ | |
204 | "spi_updateuboot=echo Updating uboot from " \ | |
205 | "${serverip}:${image_uboot}...; " \ | |
206 | "tftpboot ${loadaddr} ${image_uboot} && " \ | |
207 | "sf probe && sf erase 0 80000 && " \ | |
208 | "sf write ${loadaddr} 400 ${filesize}\0" \ | |
209 | "spi_update=echo Updating OS from ${serverip}:${image_os} " \ | |
210 | "to ${spi_koffset} ...; " \ | |
211 | "tftp ${loadaddr} ${image_os} && " \ | |
212 | "sf probe && " \ | |
213 | "sf update ${loadaddr} ${spi_koffset} ${filesize}\0" \ | |
214 | \ | |
215 | "flash_boot=" \ | |
216 | "if sf probe && " \ | |
217 | "sf read ${loadaddr} ${spi_koffset} ${spi_klen}; then " \ | |
218 | "setenv bootargs console=${console},${baudrate} " \ | |
219 | "root=/dev/mtdblock3 " \ | |
220 | "rootfstype=squashfs,jffs2 " \ | |
221 | "${video} ${extra}; " \ | |
222 | "bootm; " \ | |
223 | "fi\0" | |
224 | #else | |
225 | #define CONFIG_EXTRA_ENV_SETTINGS \ | |
226 | CONFIG_EXTRA_ENV_SETTINGS_COMMON \ | |
59189a8b | 227 | \ |
e2801a96 | 228 | "image_rootfs=openwrt-imx6-ventana-rootfs.ubi\0" \ |
59189a8b TH |
229 | "nand_update=echo Updating NAND from ${serverip}:${image_rootfs}...; " \ |
230 | "tftp ${loadaddr} ${image_rootfs} && " \ | |
231 | "nand erase.part rootfs && " \ | |
232 | "nand write ${loadaddr} rootfs ${filesize}\0" \ | |
233 | \ | |
234 | "flash_boot=" \ | |
235 | "setenv fsload 'ubifsload'; " \ | |
e2801a96 TH |
236 | "ubi part rootfs; " \ |
237 | "if ubi check boot; then " \ | |
238 | "ubifsmount ubi0:boot; " \ | |
239 | "setenv root ubi0:rootfs ubi.mtd=2 " \ | |
240 | "rootfstype=squashfs,ubifs; " \ | |
241 | "setenv bootdir; " \ | |
242 | "elif ubi check rootfs; then " \ | |
243 | "ubifsmount ubi0:rootfs; " \ | |
244 | "setenv root ubi0:rootfs ubi.mtd=2 " \ | |
245 | "rootfstype=ubifs; " \ | |
246 | "fi; " \ | |
560e8b3f | 247 | "setenv dtype nand; run loadscript; " \ |
e2801a96 | 248 | "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \ |
59189a8b | 249 | "setenv bootargs console=${console},${baudrate} " \ |
e2801a96 | 250 | "root=${root} ${video} ${extra}; " \ |
4df0bff3 | 251 | "if run loadfdt; then " \ |
59189a8b TH |
252 | "ubifsumount; " \ |
253 | "bootm ${loadaddr} - ${fdt_addr}; " \ | |
254 | "else " \ | |
255 | "ubifsumount; bootm; " \ | |
256 | "fi; " \ | |
257 | "fi\0" | |
258 | #endif | |
259 | ||
260 | #define CONFIG_BOOTCOMMAND \ | |
261 | "for btype in ${bootdevs}; do " \ | |
262 | "echo; echo Attempting ${btype} boot...; " \ | |
263 | "if run ${btype}_boot; then; fi; " \ | |
264 | "done" | |
265 | ||
59189a8b | 266 | #endif /* __CONFIG_H */ |