blob: e9f2383f7c8116e59f3fea69742cd12bdd90c1b0 [file] [log] [blame]
Aneesh V16dc7022011-09-08 11:05:49 -04001/*
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 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02009 * SPDX-License-Identifier: GPL-2.0+
Aneesh V16dc7022011-09-08 11:05:49 -040010 */
11
12#ifndef __CONFIG_OMAP4_COMMON_H
13#define __CONFIG_OMAP4_COMMON_H
14
15/*
16 * High Level Configuration Options
17 */
18#define CONFIG_ARMV7 1 /* This is an ARM V7 CPU core */
19#define CONFIG_OMAP 1 /* in a TI OMAP core */
20#define CONFIG_OMAP44XX 1 /* which is a 44XX */
21#define CONFIG_OMAP4430 1 /* which is in a 4430 */
Marek Vasut308252a2012-07-21 05:02:23 +000022#define CONFIG_OMAP_GPIO
Lokesh Vutla806d2792013-07-30 11:36:30 +053023#define CONFIG_OMAP_COMMON
Aneesh V16dc7022011-09-08 11:05:49 -040024
25/* Get CPU defs */
26#include <asm/arch/cpu.h>
Sricharan508a58f2011-11-15 09:49:55 -050027#include <asm/arch/omap.h>
Aneesh V16dc7022011-09-08 11:05:49 -040028
29/* Display CPU and Board Info */
30#define CONFIG_DISPLAY_CPUINFO 1
31#define CONFIG_DISPLAY_BOARDINFO 1
32
Aneesh V16dc7022011-09-08 11:05:49 -040033#define CONFIG_MISC_INIT_R
34
35#define CONFIG_OF_LIBFDT 1
Tom Rinif0617d42013-02-19 11:18:18 +000036#define CONFIG_CMD_BOOTZ
Aneesh V16dc7022011-09-08 11:05:49 -040037#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
38#define CONFIG_SETUP_MEMORY_TAGS 1
39#define CONFIG_INITRD_TAG 1
40#define CONFIG_REVISION_TAG 1
41
42/*
43 * Size of malloc() pool
44 * Total Size Environment - 128k
45 * Malloc - add 256k
46 */
47#define CONFIG_ENV_SIZE (128 << 10)
48#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (256 << 10))
49/* Vector Base */
50#define CONFIG_SYS_CA9_VECTOR_BASE SRAM_ROM_VECT_BASE
51
52/*
53 * Hardware drivers
54 */
55
56/*
57 * serial port - NS16550 compatible
58 */
59#define V_NS16550_CLK 48000000
60
61#define CONFIG_SYS_NS16550
62#define CONFIG_SYS_NS16550_SERIAL
63#define CONFIG_SYS_NS16550_REG_SIZE (-4)
64#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
65#define CONFIG_CONS_INDEX 3
66#define CONFIG_SYS_NS16550_COM3 UART3_BASE
67
68#define CONFIG_BAUDRATE 115200
69#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\
70 115200}
SRICHARAN R47c6ea02013-04-24 00:41:25 +000071
72/* CPU */
73#define CONFIG_ARCH_CPU_INIT
74
Aneesh V16dc7022011-09-08 11:05:49 -040075/* I2C */
76#define CONFIG_HARD_I2C 1
77#define CONFIG_SYS_I2C_SPEED 100000
78#define CONFIG_SYS_I2C_SLAVE 1
Aneesh V16dc7022011-09-08 11:05:49 -040079#define CONFIG_DRIVER_OMAP34XX_I2C 1
80#define CONFIG_I2C_MULTI_BUS 1
81
82/* TWL6030 */
Balaji T K14fa2dd2011-09-08 06:34:57 +000083#ifndef CONFIG_SPL_BUILD
Aneesh V16dc7022011-09-08 11:05:49 -040084#define CONFIG_TWL6030_POWER 1
Balaji T K14fa2dd2011-09-08 06:34:57 +000085#endif
Aneesh V16dc7022011-09-08 11:05:49 -040086
87/* MMC */
88#define CONFIG_GENERIC_MMC 1
89#define CONFIG_MMC 1
90#define CONFIG_OMAP_HSMMC 1
Aneesh V16dc7022011-09-08 11:05:49 -040091#define CONFIG_DOS_PARTITION 1
92
93
94/* USB */
95#define CONFIG_MUSB_UDC 1
96#define CONFIG_USB_OMAP3 1
97
98/* USB device configuration */
99#define CONFIG_USB_DEVICE 1
100#define CONFIG_USB_TTY 1
101#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
102
103/* Flash */
104#define CONFIG_SYS_NO_FLASH 1
105
106/* commands to include */
107#include <config_cmd_default.h>
108
109/* Enabled commands */
110#define CONFIG_CMD_EXT2 /* EXT2 Support */
111#define CONFIG_CMD_FAT /* FAT support */
112#define CONFIG_CMD_I2C /* I2C serial bus support */
113#define CONFIG_CMD_MMC /* MMC support */
114
115/* Disabled commands */
116#undef CONFIG_CMD_NET
117#undef CONFIG_CMD_NFS
118#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
119#undef CONFIG_CMD_IMLS /* List all found images */
120
121/*
122 * Environment setup
123 */
124
125#define CONFIG_BOOTDELAY 3
SRICHARAN R143070d2013-04-04 23:39:27 +0000126#define CONFIG_ENV_VARS_UBOOT_CONFIG
127#define CONFIG_CMD_FS_GENERIC
128#define CONFIG_CMD_EXT2
129#define CONFIG_CMD_EXT4
Aneesh V16dc7022011-09-08 11:05:49 -0400130
131#define CONFIG_ENV_OVERWRITE
132
133#define CONFIG_EXTRA_ENV_SETTINGS \
134 "loadaddr=0x82000000\0" \
Aneesh Vd71a4912011-11-21 23:38:58 +0000135 "console=ttyO2,115200n8\0" \
Jon Hunterc176dd02012-05-01 10:05:08 +0000136 "fdt_high=0xffffffff\0" \
SRICHARAN R143070d2013-04-04 23:39:27 +0000137 "fdtaddr=0x80f80000\0" \
Dan Murphya7143212013-06-06 13:27:06 -0500138 "fdtfile=undefined\0" \
SRICHARAN R143070d2013-04-04 23:39:27 +0000139 "bootpart=0:2\0" \
140 "bootdir=/boot\0" \
SRICHARAN Raaed0a22013-04-04 23:39:47 +0000141 "bootfile=zImage\0" \
Aneesh V16dc7022011-09-08 11:05:49 -0400142 "usbtty=cdc_acm\0" \
143 "vram=16M\0" \
144 "mmcdev=0\0" \
145 "mmcroot=/dev/mmcblk0p2 rw\0" \
146 "mmcrootfstype=ext3 rootwait\0" \
147 "mmcargs=setenv bootargs console=${console} " \
148 "vram=${vram} " \
149 "root=${mmcroot} " \
150 "rootfstype=${mmcrootfstype}\0" \
151 "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
152 "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
153 "source ${loadaddr}\0" \
Javier Martinez Canillasd70f5482013-01-07 03:51:20 +0000154 "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
155 "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \
156 "env import -t ${loadaddr} ${filesize}\0" \
SRICHARAN R143070d2013-04-04 23:39:27 +0000157 "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
Aneesh V16dc7022011-09-08 11:05:49 -0400158 "mmcboot=echo Booting from mmc${mmcdev} ...; " \
159 "run mmcargs; " \
SRICHARAN Raaed0a22013-04-04 23:39:47 +0000160 "bootz ${loadaddr} - ${fdtaddr}\0" \
SRICHARAN R143070d2013-04-04 23:39:27 +0000161 "findfdt="\
162 "if test $board_name = sdp4430; then " \
163 "setenv fdtfile omap4-sdp.dtb; fi; " \
164 "if test $board_name = panda; then " \
Dan Murphy34f667b2013-04-18 06:29:53 +0000165 "setenv fdtfile omap4-panda.dtb; fi;" \
Dan Murphy7d47d1c2013-06-13 11:21:13 -0500166 "if test $board_name = panda-a4; then " \
167 "setenv fdtfile omap4-panda-a4.dtb; fi;" \
Dan Murphy34f667b2013-04-18 06:29:53 +0000168 "if test $board_name = panda-es; then " \
Dan Murphya7143212013-06-06 13:27:06 -0500169 "setenv fdtfile omap4-panda-es.dtb; fi;" \
170 "if test $fdtfile = undefined; then " \
171 "echo WARNING: Could not determine device tree to use; fi; \0" \
SRICHARAN R143070d2013-04-04 23:39:27 +0000172 "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
Aneesh V16dc7022011-09-08 11:05:49 -0400173
174#define CONFIG_BOOTCOMMAND \
SRICHARAN R143070d2013-04-04 23:39:27 +0000175 "run findfdt; " \
Andrew Bradford66968112012-10-01 05:06:52 +0000176 "mmc dev ${mmcdev}; if mmc rescan; then " \
Javier Martinez Canillasd70f5482013-01-07 03:51:20 +0000177 "echo SD/MMC found on device ${mmcdev};" \
Aneesh V16dc7022011-09-08 11:05:49 -0400178 "if run loadbootscript; then " \
179 "run bootscript; " \
180 "else " \
Javier Martinez Canillasd70f5482013-01-07 03:51:20 +0000181 "if run loadbootenv; then " \
182 "run importbootenv; " \
183 "fi;" \
184 "if test -n ${uenvcmd}; then " \
185 "echo Running uenvcmd ...;" \
186 "run uenvcmd;" \
187 "fi;" \
188 "fi;" \
SRICHARAN R143070d2013-04-04 23:39:27 +0000189 "if run loadimage; then " \
190 "run loadfdt;" \
Javier Martinez Canillasd70f5482013-01-07 03:51:20 +0000191 "run mmcboot; " \
Aneesh V16dc7022011-09-08 11:05:49 -0400192 "fi; " \
193 "fi"
194
195#define CONFIG_AUTO_COMPLETE 1
196
197/*
198 * Miscellaneous configurable options
199 */
200
201#define CONFIG_SYS_LONGHELP /* undef to save memory */
202#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
Aneesh V16dc7022011-09-08 11:05:49 -0400203#define CONFIG_SYS_CBSIZE 512
204/* Print Buffer Size */
205#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
206 sizeof(CONFIG_SYS_PROMPT) + 16)
207#define CONFIG_SYS_MAXARGS 16
208/* Boot Argument Buffer Size */
209#define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE)
210
211/*
212 * memtest setup
213 */
214#define CONFIG_SYS_MEMTEST_START 0x80000000
215#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + (32 << 20))
216
217/* Default load address */
218#define CONFIG_SYS_LOAD_ADDR 0x80000000
219
220/* Use General purpose timer 1 */
221#define CONFIG_SYS_TIMERBASE GPT2_BASE
222#define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */
223#define CONFIG_SYS_HZ 1000
224
225/*
Aneesh V16dc7022011-09-08 11:05:49 -0400226 * SDRAM Memory Map
227 * Even though we use two CS all the memory
228 * is mapped to one contiguous block
229 */
230#define CONFIG_NR_DRAM_BANKS 1
231
232#define CONFIG_SYS_SDRAM_BASE 0x80000000
Tom Rini41aebf82012-08-08 17:03:10 -0700233#define CONFIG_SYS_INIT_SP_ADDR (NON_SECURE_SRAM_END - \
Aneesh V16dc7022011-09-08 11:05:49 -0400234 GENERATED_GBL_DATA_SIZE)
235
236#ifndef CONFIG_SYS_L2CACHE_OFF
237#define CONFIG_SYS_L2_PL310 1
238#define CONFIG_SYS_PL310_BASE 0x48242000
239#endif
Aneesh V8e408522011-11-21 23:38:59 +0000240#define CONFIG_SYS_CACHELINE_SIZE 32
Aneesh V16dc7022011-09-08 11:05:49 -0400241
242/* Defines for SDRAM init */
SRICHARAN R8e706912011-09-27 01:43:18 +0000243#define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
244
Aneesh V16dc7022011-09-08 11:05:49 -0400245#ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
246#define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
247#define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
248#endif
249
250/* Defines for SPL */
251#define CONFIG_SPL
Tom Rini47f7bca2012-08-13 12:03:19 -0700252#define CONFIG_SPL_FRAMEWORK
Aneesh V16dc7022011-09-08 11:05:49 -0400253#define CONFIG_SPL_TEXT_BASE 0x40304350
254#define CONFIG_SPL_MAX_SIZE (38 * 1024)
Tom Rini41aebf82012-08-08 17:03:10 -0700255#define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR
Tom Rini861a86f2012-08-13 11:37:56 -0700256#define CONFIG_SPL_DISPLAY_PRINT
Aneesh V16dc7022011-09-08 11:05:49 -0400257
Aneesh V2d01dd92011-10-21 12:29:34 -0400258/*
Aneesh V2d01dd92011-10-21 12:29:34 -0400259 * 64 bytes before this address should be set aside for u-boot.img's
Aneesh Vf6ddfdd2011-11-21 23:39:04 +0000260 * header. That is 80E7FFC0--0x80E80000 should not be used for any
Aneesh V2d01dd92011-10-21 12:29:34 -0400261 * other needs.
262 */
Aneesh Vf6ddfdd2011-11-21 23:39:04 +0000263#define CONFIG_SYS_TEXT_BASE 0x80E80000
Aneesh V2d01dd92011-10-21 12:29:34 -0400264
Aneesh Vf6ddfdd2011-11-21 23:39:04 +0000265/*
266 * BSS and malloc area 64MB into memory to allow enough
267 * space for the kernel at the beginning of memory
268 */
269#define CONFIG_SPL_BSS_START_ADDR 0x84000000
270#define CONFIG_SPL_BSS_MAX_SIZE 0x100000 /* 1 MB */
271#define CONFIG_SYS_SPL_MALLOC_START 0x84100000
272#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */
Aneesh V16dc7022011-09-08 11:05:49 -0400273
274#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
275#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
276#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
277#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
278
279#define CONFIG_SPL_LIBCOMMON_SUPPORT
280#define CONFIG_SPL_LIBDISK_SUPPORT
281#define CONFIG_SPL_I2C_SUPPORT
282#define CONFIG_SPL_MMC_SUPPORT
283#define CONFIG_SPL_FAT_SUPPORT
284#define CONFIG_SPL_LIBGENERIC_SUPPORT
285#define CONFIG_SPL_SERIAL_SUPPORT
Marek Vasut16e41c82012-07-21 05:02:27 +0000286#define CONFIG_SPL_GPIO_SUPPORT
Thomas Weberd1df0fd2012-05-14 10:28:54 +0000287#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
Aneesh V16dc7022011-09-08 11:05:49 -0400288
Aneesh V20c63122012-03-08 07:20:22 +0000289#define CONFIG_SYS_THUMB_BUILD
290
Aneesh V16dc7022011-09-08 11:05:49 -0400291#endif /* __CONFIG_OMAP4_COMMON_H */