]>
Commit | Line | Data |
---|---|---|
16dc702f A |
1 | /* |
2 | * (C) Copyright 2010 | |
3 | * Texas Instruments Incorporated. | |
4 | * Aneesh V <aneesh@ti.com> | |
5 | * Steve Sakoman <steve@sakoman.com> | |
6 | * | |
7 | * TI OMAP4 common configuration settings | |
8 | * | |
1a459660 | 9 | * SPDX-License-Identifier: GPL-2.0+ |
16dc702f A |
10 | */ |
11 | ||
6c0a032a EBS |
12 | #ifndef __CONFIG_TI_OMAP4_COMMON_H |
13 | #define __CONFIG_TI_OMAP4_COMMON_H | |
16dc702f A |
14 | |
15 | /* | |
16 | * High Level Configuration Options | |
17 | */ | |
16dc702f | 18 | #define CONFIG_OMAP4430 1 /* which is in a 4430 */ |
1d7b289c LV |
19 | #define CONFIG_MISC_INIT_R |
20 | #define CONFIG_ARCH_CPU_INIT | |
21 | #define CONFIG_DISPLAY_CPUINFO 1 | |
22 | #define CONFIG_DISPLAY_BOARDINFO 1 | |
23 | ||
24 | #define CONFIG_SYS_THUMB_BUILD | |
25 | ||
26 | #ifndef CONFIG_SYS_L2CACHE_OFF | |
27 | #define CONFIG_SYS_L2_PL310 1 | |
28 | #define CONFIG_SYS_PL310_BASE 0x48242000 | |
29 | #endif | |
30 | #define CONFIG_SYS_CACHELINE_SIZE 32 | |
16dc702f A |
31 | |
32 | /* Get CPU defs */ | |
33 | #include <asm/arch/cpu.h> | |
508a58fa | 34 | #include <asm/arch/omap.h> |
16dc702f | 35 | |
1d7b289c LV |
36 | /* Use General purpose timer 1 */ |
37 | #define CONFIG_SYS_TIMERBASE GPT2_BASE | |
16dc702f A |
38 | |
39 | /* | |
16dc702f | 40 | * Total Size Environment - 128k |
16dc702f A |
41 | */ |
42 | #define CONFIG_ENV_SIZE (128 << 10) | |
16dc702f A |
43 | |
44 | /* | |
1d7b289c LV |
45 | * For the DDR timing information we can either dynamically determine |
46 | * the timings to use or use pre-determined timings (based on using the | |
47 | * dynamic method. Default to the static timing infomation. | |
16dc702f | 48 | */ |
1d7b289c LV |
49 | #define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS |
50 | #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS | |
51 | #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION | |
52 | #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS | |
53 | #endif | |
54 | ||
55 | #include <configs/ti_armv7_common.h> | |
16dc702f A |
56 | |
57 | /* | |
1d7b289c | 58 | * Hardware drivers |
16dc702f | 59 | */ |
16dc702f A |
60 | #define CONFIG_SYS_NS16550 |
61 | #define CONFIG_SYS_NS16550_SERIAL | |
62 | #define CONFIG_SYS_NS16550_REG_SIZE (-4) | |
1d7b289c | 63 | #define CONFIG_SYS_NS16550_CLK 48000000 |
16dc702f A |
64 | #define CONFIG_CONS_INDEX 3 |
65 | #define CONFIG_SYS_NS16550_COM3 UART3_BASE | |
66 | ||
16dc702f | 67 | /* TWL6030 */ |
14fa2dd0 | 68 | #ifndef CONFIG_SPL_BUILD |
16dc702f | 69 | #define CONFIG_TWL6030_POWER 1 |
14fa2dd0 | 70 | #endif |
16dc702f | 71 | |
16dc702f A |
72 | /* USB */ |
73 | #define CONFIG_MUSB_UDC 1 | |
74 | #define CONFIG_USB_OMAP3 1 | |
75 | ||
76 | /* USB device configuration */ | |
77 | #define CONFIG_USB_DEVICE 1 | |
78 | #define CONFIG_USB_TTY 1 | |
79 | #define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 | |
80 | ||
16dc702f A |
81 | /* |
82 | * Environment setup | |
83 | */ | |
16dc702f | 84 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
fb3ad9bd | 85 | DEFAULT_LINUX_BOOT_ENV \ |
d71a4916 | 86 | "console=ttyO2,115200n8\0" \ |
a7143215 | 87 | "fdtfile=undefined\0" \ |
143070df S |
88 | "bootpart=0:2\0" \ |
89 | "bootdir=/boot\0" \ | |
aaed0a23 | 90 | "bootfile=zImage\0" \ |
16dc702f A |
91 | "usbtty=cdc_acm\0" \ |
92 | "vram=16M\0" \ | |
93 | "mmcdev=0\0" \ | |
94 | "mmcroot=/dev/mmcblk0p2 rw\0" \ | |
95 | "mmcrootfstype=ext3 rootwait\0" \ | |
96 | "mmcargs=setenv bootargs console=${console} " \ | |
97 | "vram=${vram} " \ | |
98 | "root=${mmcroot} " \ | |
99 | "rootfstype=${mmcrootfstype}\0" \ | |
10226f29 | 100 | "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ |
16dc702f A |
101 | "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ |
102 | "source ${loadaddr}\0" \ | |
10226f29 | 103 | "loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ |
d70f5480 JMC |
104 | "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ |
105 | "env import -t ${loadaddr} ${filesize}\0" \ | |
143070df | 106 | "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ |
ffe16911 | 107 | "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \ |
16dc702f A |
108 | "mmcboot=echo Booting from mmc${mmcdev} ...; " \ |
109 | "run mmcargs; " \ | |
aaed0a23 | 110 | "bootz ${loadaddr} - ${fdtaddr}\0" \ |
ffe16911 AC |
111 | "uimageboot=echo Booting from mmc${mmcdev} ...; " \ |
112 | "run mmcargs; " \ | |
113 | "bootm ${loadaddr}\0" \ | |
143070df S |
114 | "findfdt="\ |
115 | "if test $board_name = sdp4430; then " \ | |
116 | "setenv fdtfile omap4-sdp.dtb; fi; " \ | |
117 | "if test $board_name = panda; then " \ | |
34f667bb | 118 | "setenv fdtfile omap4-panda.dtb; fi;" \ |
7d47d1ca DM |
119 | "if test $board_name = panda-a4; then " \ |
120 | "setenv fdtfile omap4-panda-a4.dtb; fi;" \ | |
34f667bb | 121 | "if test $board_name = panda-es; then " \ |
a7143215 | 122 | "setenv fdtfile omap4-panda-es.dtb; fi;" \ |
ffe16911 | 123 | "if test $board_name = duovero; then " \ |
99907176 | 124 | "setenv fdtfile omap4-duovero-parlor.dtb; fi;" \ |
a7143215 DM |
125 | "if test $fdtfile = undefined; then " \ |
126 | "echo WARNING: Could not determine device tree to use; fi; \0" \ | |
143070df | 127 | "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ |
16dc702f A |
128 | |
129 | #define CONFIG_BOOTCOMMAND \ | |
143070df | 130 | "run findfdt; " \ |
66968110 | 131 | "mmc dev ${mmcdev}; if mmc rescan; then " \ |
d70f5480 | 132 | "echo SD/MMC found on device ${mmcdev};" \ |
16dc702f A |
133 | "if run loadbootscript; then " \ |
134 | "run bootscript; " \ | |
135 | "else " \ | |
d70f5480 JMC |
136 | "if run loadbootenv; then " \ |
137 | "run importbootenv; " \ | |
138 | "fi;" \ | |
139 | "if test -n ${uenvcmd}; then " \ | |
140 | "echo Running uenvcmd ...;" \ | |
141 | "run uenvcmd;" \ | |
142 | "fi;" \ | |
143 | "fi;" \ | |
143070df S |
144 | "if run loadimage; then " \ |
145 | "run loadfdt;" \ | |
d70f5480 | 146 | "run mmcboot; " \ |
16dc702f | 147 | "fi; " \ |
ffe16911 AC |
148 | "if run loaduimage; then " \ |
149 | "run uimageboot;" \ | |
150 | "fi; " \ | |
16dc702f A |
151 | "fi" |
152 | ||
dcc23576 LV |
153 | /* |
154 | * Defines for SPL | |
155 | * It is known that this will break HS devices. Since the current size of | |
156 | * SPL is overlapped with public stack and breaking non HS devices to boot. | |
157 | * So moving TEXT_BASE down to non-HS limit. | |
158 | */ | |
159 | #define CONFIG_SPL_TEXT_BASE 0x40300000 | |
160 | #define CONFIG_SPL_MAX_SIZE (0x4030C000 - CONFIG_SPL_TEXT_BASE) | |
861a86f4 | 161 | #define CONFIG_SPL_DISPLAY_PRINT |
d1df0fd3 | 162 | #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds" |
d3289aac TR |
163 | #define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \ |
164 | (128 << 20)) | |
16dc702f | 165 | |
70e71b61 EBS |
166 | #ifdef CONFIG_NAND |
167 | #define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ | |
168 | #endif | |
169 | ||
4f80d5ba NM |
170 | #ifdef CONFIG_SPL_BUILD |
171 | /* No need for i2c in SPL mode as we will use SRI2C for PMIC access on OMAP4 */ | |
172 | #undef CONFIG_SYS_I2C | |
173 | #undef CONFIG_SYS_I2C_OMAP24XX | |
174 | #endif | |
175 | ||
6c0a032a | 176 | #endif /* __CONFIG_TI_OMAP4_COMMON_H */ |