]>
Commit | Line | Data |
---|---|---|
9d0fc811 DB |
1 | /* |
2 | * Configuration settings for the Gumstix Overo board. | |
3 | * | |
1a459660 | 4 | * SPDX-License-Identifier: GPL-2.0+ |
9d0fc811 DB |
5 | */ |
6 | ||
7 | #ifndef __CONFIG_H | |
8 | #define __CONFIG_H | |
9d0fc811 | 9 | |
29cc1d8e AC |
10 | #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ |
11 | #define CONFIG_NAND | |
cae377b5 | 12 | |
29cc1d8e | 13 | #include <configs/ti_omap3_common.h> |
fa2f81b0 TR |
14 | /* |
15 | * We are only ever GP parts and will utilize all of the "downloaded image" | |
16 | * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB). | |
17 | */ | |
ce170a1c | 18 | #undef CONFIG_SPL_TEXT_BASE |
fa2f81b0 | 19 | #define CONFIG_SPL_TEXT_BASE 0x40200000 |
ce170a1c AC |
20 | |
21 | #define CONFIG_BCH | |
9d0fc811 | 22 | |
29cc1d8e | 23 | /* call misc_init_r */ |
9d0fc811 DB |
24 | #define CONFIG_MISC_INIT_R |
25 | ||
29cc1d8e | 26 | /* pass the revision tag */ |
0f8d3eb9 | 27 | #define CONFIG_REVISION_TAG |
9d0fc811 | 28 | |
29cc1d8e AC |
29 | /* override size of malloc() pool */ |
30 | #undef CONFIG_SYS_MALLOC_LEN | |
dbba3daf | 31 | #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB sector */ |
dbba3daf AC |
32 | /* Shift 128 << 15 provides 4 MiB heap to support UBI commands. |
33 | * Shift 128 << 10 provides 128 KiB heap for limited-memory devices. */ | |
34 | #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 15)) | |
9d0fc811 | 35 | |
29cc1d8e | 36 | /* I2C Support */ |
9d0fc811 | 37 | |
29cc1d8e AC |
38 | /* TWL4030 LED */ |
39 | #define CONFIG_TWL4030_LED | |
9d0fc811 | 40 | |
f5c30c1b | 41 | /* USB EHCI */ |
f5c30c1b | 42 | #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 183 |
f5c30c1b | 43 | |
9d0fc811 | 44 | /* commands to include */ |
dbba3daf | 45 | |
29cc1d8e | 46 | #ifdef CONFIG_NAND |
dbba3daf AC |
47 | #define CONFIG_MTD_PARTITIONS /* required for UBI partition support */ |
48 | ||
49 | /* NAND block size is 128 KiB. Synchronize these values with | |
50 | * overo_nand_partitions in mach-omap2/board-overo.c in Linux: | |
51 | * xloader 4 * NAND_BLOCK_SIZE = 512 KiB | |
52 | * uboot 14 * NAND_BLOCK_SIZE = 1792 KiB | |
53 | * uboot environtment 2 * NAND_BLOCK_SIZE = 256 KiB | |
e5c809d7 | 54 | * linux 64 * NAND_BLOCK_SIZE = 8 MiB |
dbba3daf AC |
55 | * rootfs remainder |
56 | */ | |
57 | #define MTDIDS_DEFAULT "nand0=omap2-nand.0" | |
58 | #define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:" \ | |
59 | "512k(xloader)," \ | |
60 | "1792k(u-boot)," \ | |
61 | "256k(environ)," \ | |
e5c809d7 | 62 | "8m(linux)," \ |
dbba3daf | 63 | "-(rootfs)" |
29cc1d8e | 64 | #else /* CONFIG_NAND */ |
dbba3daf | 65 | #define MTDPARTS_DEFAULT |
29cc1d8e | 66 | #endif /* CONFIG_NAND */ |
dbba3daf | 67 | |
29cc1d8e | 68 | /* Board NAND Info. */ |
9d0fc811 DB |
69 | #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ |
70 | /* to access nand */ | |
9d0fc811 | 71 | /* Environment information */ |
9d0fc811 | 72 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
29cc1d8e | 73 | DEFAULT_LINUX_BOOT_ENV \ |
3c92c323 AC |
74 | "bootdir=/boot\0" \ |
75 | "bootfile=zImage\0" \ | |
76 | "usbtty=cdc_acm\0" \ | |
75b988a2 | 77 | "console=ttyO2,115200n8\0" \ |
3c92c323 | 78 | "mpurate=auto\0" \ |
e6847dba | 79 | "optargs=\0" \ |
13d2cb98 SS |
80 | "vram=12M\0" \ |
81 | "dvimode=1024x768MR-16@60\0" \ | |
82 | "defaultdisplay=dvi\0" \ | |
cd7c5726 | 83 | "mmcdev=0\0" \ |
13d2cb98 | 84 | "mmcroot=/dev/mmcblk0p2 rw\0" \ |
1584e4f4 | 85 | "mmcrootfstype=ext4 rootwait\0" \ |
254973e6 SS |
86 | "nandroot=ubi0:rootfs ubi.mtd=4\0" \ |
87 | "nandrootfstype=ubifs\0" \ | |
dbba3daf | 88 | "mtdparts=" MTDPARTS_DEFAULT "\0" \ |
9d0fc811 | 89 | "mmcargs=setenv bootargs console=${console} " \ |
e6847dba | 90 | "${optargs} " \ |
5af32460 | 91 | "mpurate=${mpurate} " \ |
13d2cb98 SS |
92 | "vram=${vram} " \ |
93 | "omapfb.mode=dvi:${dvimode} " \ | |
13d2cb98 SS |
94 | "omapdss.def_disp=${defaultdisplay} " \ |
95 | "root=${mmcroot} " \ | |
96 | "rootfstype=${mmcrootfstype}\0" \ | |
9d0fc811 | 97 | "nandargs=setenv bootargs console=${console} " \ |
e6847dba | 98 | "${optargs} " \ |
5af32460 | 99 | "mpurate=${mpurate} " \ |
13d2cb98 SS |
100 | "vram=${vram} " \ |
101 | "omapfb.mode=dvi:${dvimode} " \ | |
13d2cb98 SS |
102 | "omapdss.def_disp=${defaultdisplay} " \ |
103 | "root=${nandroot} " \ | |
104 | "rootfstype=${nandrootfstype}\0" \ | |
3c92c323 AC |
105 | "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ |
106 | "bootscript=echo Running boot script from mmc ...; " \ | |
74de7aef | 107 | "source ${loadaddr}\0" \ |
3c92c323 AC |
108 | "loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ |
109 | "importbootenv=echo Importing environment from mmc ...; " \ | |
0b3fde11 | 110 | "env import -t ${loadaddr} ${filesize}\0" \ |
3c92c323 AC |
111 | "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \ |
112 | "mmcboot=echo Booting from mmc...; " \ | |
9d0fc811 DB |
113 | "run mmcargs; " \ |
114 | "bootm ${loadaddr}\0" \ | |
3c92c323 | 115 | "loadzimage=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}\0" \ |
29cc1d8e | 116 | "loadfdt=load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${fdtfile}\0" \ |
88d89668 AC |
117 | "loadubizimage=ubifsload ${loadaddr} ${bootdir}/${bootfile}\0" \ |
118 | "loadubifdt=ubifsload ${fdtaddr} ${bootdir}/${fdtfile}\0" \ | |
3c92c323 AC |
119 | "mmcbootfdt=echo Booting with DT from mmc ...; " \ |
120 | "run mmcargs; " \ | |
29cc1d8e | 121 | "bootz ${loadaddr} - ${fdtaddr}\0" \ |
9d0fc811 DB |
122 | "nandboot=echo Booting from nand ...; " \ |
123 | "run nandargs; " \ | |
f2565a55 SH |
124 | "if nand read ${loadaddr} linux; then " \ |
125 | "bootm ${loadaddr};" \ | |
126 | "fi;\0" \ | |
88d89668 AC |
127 | "nanddtsboot=echo Booting from nand with DTS...; " \ |
128 | "run nandargs; " \ | |
129 | "ubi part rootfs; "\ | |
130 | "ubifsmount ubi0:rootfs; "\ | |
131 | "run loadubifdt; "\ | |
132 | "run loadubizimage; "\ | |
133 | "bootz ${loadaddr} - ${fdtaddr}\0" \ | |
9d0fc811 DB |
134 | |
135 | #define CONFIG_BOOTCOMMAND \ | |
66968110 | 136 | "mmc dev ${mmcdev}; if mmc rescan; then " \ |
9d0fc811 DB |
137 | "if run loadbootscript; then " \ |
138 | "run bootscript; " \ | |
3c92c323 AC |
139 | "fi;" \ |
140 | "if run loadbootenv; then " \ | |
141 | "echo Loaded environment from ${bootenv};" \ | |
142 | "run importbootenv;" \ | |
143 | "fi;" \ | |
144 | "if test -n $uenvcmd; then " \ | |
145 | "echo Running uenvcmd ...;" \ | |
146 | "run uenvcmd;" \ | |
147 | "fi;" \ | |
148 | "if run loaduimage; then " \ | |
149 | "run mmcboot;" \ | |
150 | "fi;" \ | |
151 | "if run loadzimage; then " \ | |
115e71f7 | 152 | "if test -z \"${fdtfile}\"; then " \ |
12cc5437 AC |
153 | "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \ |
154 | "fi;" \ | |
155 | "if run loadfdt; then " \ | |
156 | "run mmcbootfdt;" \ | |
0b3fde11 | 157 | "fi;" \ |
3c92c323 AC |
158 | "fi;" \ |
159 | "fi;" \ | |
160 | "run nandboot; " \ | |
88d89668 AC |
161 | "if test -z \"${fdtfile}\"; then "\ |
162 | "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \ | |
163 | "fi;" \ | |
164 | "run nanddtsboot; " \ | |
9d0fc811 | 165 | |
9d0fc811 DB |
166 | /* memtest works on */ |
167 | #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) | |
168 | #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ | |
169 | 0x01F00000) /* 31MB */ | |
170 | ||
29cc1d8e | 171 | /* FLASH and environment organization */ |
29cc1d8e | 172 | #if defined(CONFIG_NAND) |
222a3113 | 173 | #define CONFIG_SYS_FLASH_BASE NAND_BASE |
6cbec7b3 | 174 | #endif |
9d0fc811 DB |
175 | |
176 | /* Monitor at start of flash */ | |
177 | #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE | |
178 | #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP | |
179 | ||
9d0fc811 DB |
180 | #define ONENAND_ENV_OFFSET 0x240000 /* environment starts here */ |
181 | #define SMNAND_ENV_OFFSET 0x240000 /* environment starts here */ | |
182 | ||
6cbec7b3 LC |
183 | #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ |
184 | #define CONFIG_ENV_OFFSET SMNAND_ENV_OFFSET | |
9d0fc811 DB |
185 | #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET |
186 | ||
29cc1d8e | 187 | /* Configure SMSC9211 ethernet */ |
df382626 | 188 | #if defined(CONFIG_CMD_NET) |
0f8d3eb9 | 189 | #define CONFIG_SMC911X |
df382626 | 190 | #define CONFIG_SMC911X_32_BIT |
0f8d3eb9 | 191 | #define CONFIG_SMC911X_BASE 0x2C000000 |
df382626 OJ |
192 | #endif /* (CONFIG_CMD_NET) */ |
193 | ||
29cc1d8e | 194 | /* Initial RAM setup */ |
31bfcf1c SS |
195 | #define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800 |
196 | #define CONFIG_SYS_INIT_RAM_SIZE 0x800 | |
8e40852f | 197 | |
137703b8 | 198 | /* NAND boot config */ |
55f1b39f | 199 | #define CONFIG_SYS_NAND_BUSWIDTH_16BIT |
ce170a1c | 200 | #define CONFIG_SYS_NAND_MAX_ECCPOS 56 |
137703b8 AM |
201 | #define CONFIG_SYS_NAND_5_ADDR_CYCLE |
202 | #define CONFIG_SYS_NAND_PAGE_COUNT 64 | |
203 | #define CONFIG_SYS_NAND_PAGE_SIZE 2048 | |
204 | #define CONFIG_SYS_NAND_OOBSIZE 64 | |
205 | #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) | |
206 | #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS | |
ce170a1c AC |
207 | #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \ |
208 | 13, 14, 16, 17, 18, 19, 20, 21, 22, \ | |
209 | 23, 24, 25, 26, 27, 28, 30, 31, 32, \ | |
210 | 33, 34, 35, 36, 37, 38, 39, 40, 41, \ | |
211 | 42, 44, 45, 46, 47, 48, 49, 50, 51, \ | |
212 | 52, 53, 54, 55, 56} | |
137703b8 | 213 | #define CONFIG_SYS_NAND_ECCSIZE 512 |
ce170a1c AC |
214 | #define CONFIG_SYS_NAND_ECCBYTES 13 |
215 | #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW | |
137703b8 AM |
216 | #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE |
217 | #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000 | |
434f2cfc | 218 | /* NAND: SPL falcon mode configs */ |
219 | #ifdef CONFIG_SPL_OS_BOOT | |
434f2cfc | 220 | #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 |
221 | #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 | |
222 | #endif | |
137703b8 | 223 | |
9d0fc811 | 224 | #endif /* __CONFIG_H */ |