]>
Commit | Line | Data |
---|---|---|
64a93860 MV |
1 | /* |
2 | * Copyright (C) 2013 Marek Vasut <[email protected]> | |
3 | * | |
3765b3e7 | 4 | * SPDX-License-Identifier: GPL-2.0+ |
64a93860 | 5 | */ |
5434caf5 MV |
6 | #ifndef __CONFIGS_MX23_OLINUXINO_H__ |
7 | #define __CONFIGS_MX23_OLINUXINO_H__ | |
64a93860 | 8 | |
5434caf5 | 9 | /* System configurations */ |
2feae93a | 10 | #define CONFIG_MX23 /* i.MX23 SoC */ |
2feae93a | 11 | #define CONFIG_MACH_TYPE 4105 |
64a93860 | 12 | |
5434caf5 | 13 | /* U-Boot Commands */ |
2feae93a | 14 | #define CONFIG_SYS_NO_FLASH |
2feae93a OS |
15 | #define CONFIG_DISPLAY_CPUINFO |
16 | #define CONFIG_DOS_PARTITION | |
17 | ||
18 | #define CONFIG_CMD_CACHE | |
19 | #define CONFIG_CMD_DHCP | |
20 | #define CONFIG_CMD_EXT2 | |
21 | #define CONFIG_CMD_FAT | |
2feae93a OS |
22 | #define CONFIG_CMD_LED |
23 | #define CONFIG_CMD_MMC | |
2feae93a | 24 | #define CONFIG_CMD_USB |
64a93860 | 25 | |
5434caf5 | 26 | /* Memory configuration */ |
2feae93a OS |
27 | #define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ |
28 | #define PHYS_SDRAM_1 0x40000000 /* Base address */ | |
29 | #define PHYS_SDRAM_1_SIZE 0x08000000 /* Max 128 MB RAM */ | |
2feae93a | 30 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 |
64a93860 | 31 | |
5434caf5 MV |
32 | /* Environment */ |
33 | #define CONFIG_ENV_IS_IN_MMC | |
34 | #define CONFIG_ENV_OVERWRITE | |
64a93860 | 35 | |
5434caf5 MV |
36 | /* Environment is in MMC */ |
37 | #if defined(CONFIG_CMD_MMC) && defined(CONFIG_ENV_IS_IN_MMC) | |
38 | #define CONFIG_ENV_OFFSET (256 * 1024) | |
39 | #define CONFIG_ENV_SIZE (16 * 1024) | |
40 | #define CONFIG_SYS_MMC_ENV_DEV 0 | |
41 | #endif | |
64a93860 | 42 | |
5434caf5 | 43 | /* Status LED */ |
2feae93a OS |
44 | #define CONFIG_STATUS_LED |
45 | #define CONFIG_GPIO_LED | |
46 | #define CONFIG_BOARD_SPECIFIC_LED | |
5434caf5 MV |
47 | #define STATUS_LED_BOOT 0 |
48 | #define STATUS_LED_BIT MX23_PAD_SSP1_DETECT__GPIO_2_1 | |
2feae93a OS |
49 | #define STATUS_LED_STATE STATUS_LED_ON |
50 | #define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) | |
36c7c925 | 51 | |
ebe1d170 | 52 | /* USB */ |
2feae93a | 53 | #ifdef CONFIG_CMD_USB |
2feae93a OS |
54 | #define CONFIG_EHCI_MXS_PORT0 |
55 | #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 | |
2feae93a | 56 | #define CONFIG_USB_STORAGE |
ebe1d170 OS |
57 | #endif |
58 | ||
b8bd75af | 59 | /* Ethernet */ |
2feae93a OS |
60 | #ifdef CONFIG_CMD_NET |
61 | #define CONFIG_USB_HOST_ETHER | |
62 | #define CONFIG_USB_ETHER_SMSC95XX | |
b8bd75af OS |
63 | #endif |
64 | ||
5434caf5 | 65 | /* Booting Linux */ |
2feae93a OS |
66 | #define CONFIG_BOOTDELAY 3 |
67 | #define CONFIG_BOOTFILE "uImage" | |
68 | #define CONFIG_LOADADDR 0x42000000 | |
69 | #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR | |
64a93860 | 70 | |
5434caf5 | 71 | /* Extra Environment */ |
38fc15d8 OS |
72 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
73 | "update_sd_firmware_filename=u-boot.sd\0" \ | |
74 | "update_sd_firmware=" /* Update the SD firmware partition */ \ | |
75 | "if mmc rescan ; then " \ | |
76 | "if tftp ${update_sd_firmware_filename} ; then " \ | |
77 | "setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \ | |
78 | "setexpr fw_sz ${fw_sz} + 1 ; " \ | |
79 | "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \ | |
80 | "fi ; " \ | |
81 | "fi\0" \ | |
82 | "script=boot.scr\0" \ | |
83 | "uimage=uImage\0" \ | |
84 | "console=ttyAMA0\0" \ | |
85 | "fdt_file=imx23-olinuxino.dtb\0" \ | |
86 | "fdt_addr=0x41000000\0" \ | |
87 | "boot_fdt=try\0" \ | |
b8bd75af | 88 | "ip_dyn=yes\0" \ |
38fc15d8 OS |
89 | "mmcdev=0\0" \ |
90 | "mmcpart=2\0" \ | |
91 | "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \ | |
92 | "mmcargs=setenv bootargs console=${console},${baudrate} " \ | |
93 | "root=${mmcroot}\0" \ | |
94 | "loadbootscript=" \ | |
95 | "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ | |
96 | "bootscript=echo Running bootscript from mmc ...; " \ | |
97 | "source\0" \ | |
98 | "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ | |
99 | "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ | |
100 | "mmcboot=echo Booting from mmc ...; " \ | |
101 | "run mmcargs; " \ | |
102 | "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ | |
103 | "if run loadfdt; then " \ | |
104 | "bootm ${loadaddr} - ${fdt_addr}; " \ | |
105 | "else " \ | |
106 | "if test ${boot_fdt} = try; then " \ | |
107 | "bootm; " \ | |
108 | "else " \ | |
109 | "echo WARN: Cannot load the DT; " \ | |
110 | "fi; " \ | |
111 | "fi; " \ | |
112 | "else " \ | |
113 | "bootm; " \ | |
b8bd75af | 114 | "fi;\0" \ |
50cea244 | 115 | "netargs=setenv bootargs console=${console},${baudrate} " \ |
b8bd75af OS |
116 | "root=/dev/nfs " \ |
117 | "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ | |
118 | "netboot=echo Booting from net ...; " \ | |
119 | "usb start; " \ | |
120 | "run netargs; " \ | |
121 | "if test ${ip_dyn} = yes; then " \ | |
122 | "setenv get_cmd dhcp; " \ | |
123 | "else " \ | |
124 | "setenv get_cmd tftp; " \ | |
125 | "fi; " \ | |
126 | "${get_cmd} ${uimage}; " \ | |
127 | "if test ${boot_fdt} = yes; then " \ | |
128 | "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ | |
129 | "bootm ${loadaddr} - ${fdt_addr}; " \ | |
130 | "else " \ | |
131 | "if test ${boot_fdt} = try; then " \ | |
132 | "bootm; " \ | |
133 | "else " \ | |
134 | "echo WARN: Cannot load the DT; " \ | |
135 | "fi;" \ | |
136 | "fi; " \ | |
137 | "else " \ | |
138 | "bootm; " \ | |
38fc15d8 OS |
139 | "fi;\0" |
140 | ||
141 | #define CONFIG_BOOTCOMMAND \ | |
142 | "mmc dev ${mmcdev}; if mmc rescan; then " \ | |
143 | "if run loadbootscript; then " \ | |
144 | "run bootscript; " \ | |
145 | "else " \ | |
146 | "if run loaduimage; then " \ | |
147 | "run mmcboot; " \ | |
b8bd75af | 148 | "else run netboot; " \ |
38fc15d8 OS |
149 | "fi; " \ |
150 | "fi; " \ | |
b8bd75af | 151 | "else run netboot; fi" |
38fc15d8 | 152 | |
5434caf5 MV |
153 | /* The rest of the configuration is shared */ |
154 | #include <configs/mxs.h> | |
155 | ||
156 | #endif /* __CONFIGS_MX23_OLINUXINO_H__ */ |