]>
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 | 19 | #define CONFIG_MISC_INIT_R |
1d7b289c LV |
20 | |
21 | #define CONFIG_SYS_THUMB_BUILD | |
22 | ||
23 | #ifndef CONFIG_SYS_L2CACHE_OFF | |
24 | #define CONFIG_SYS_L2_PL310 1 | |
25 | #define CONFIG_SYS_PL310_BASE 0x48242000 | |
26 | #endif | |
16dc702f A |
27 | |
28 | /* Get CPU defs */ | |
29 | #include <asm/arch/cpu.h> | |
508a58fa | 30 | #include <asm/arch/omap.h> |
16dc702f | 31 | |
1d7b289c LV |
32 | /* Use General purpose timer 1 */ |
33 | #define CONFIG_SYS_TIMERBASE GPT2_BASE | |
16dc702f A |
34 | |
35 | /* | |
16dc702f | 36 | * Total Size Environment - 128k |
16dc702f A |
37 | */ |
38 | #define CONFIG_ENV_SIZE (128 << 10) | |
16dc702f A |
39 | |
40 | /* | |
1d7b289c LV |
41 | * For the DDR timing information we can either dynamically determine |
42 | * the timings to use or use pre-determined timings (based on using the | |
43 | * dynamic method. Default to the static timing infomation. | |
16dc702f | 44 | */ |
1d7b289c LV |
45 | #define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS |
46 | #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS | |
47 | #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION | |
48 | #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS | |
49 | #endif | |
50 | ||
9a0f4004 | 51 | #include <configs/ti_armv7_omap.h> |
16dc702f A |
52 | |
53 | /* | |
1d7b289c | 54 | * Hardware drivers |
16dc702f | 55 | */ |
c7b9686d | 56 | #define CONFIG_SYS_NS16550_CLK 48000000 |
53ee6342 | 57 | #if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL) |
16dc702f A |
58 | #define CONFIG_SYS_NS16550_SERIAL |
59 | #define CONFIG_SYS_NS16550_REG_SIZE (-4) | |
16dc702f | 60 | #define CONFIG_SYS_NS16550_COM3 UART3_BASE |
53ee6342 TR |
61 | #endif |
62 | #define CONFIG_CONS_INDEX 3 | |
16dc702f | 63 | |
16dc702f | 64 | /* TWL6030 */ |
14fa2dd0 | 65 | #ifndef CONFIG_SPL_BUILD |
16dc702f | 66 | #define CONFIG_TWL6030_POWER 1 |
14fa2dd0 | 67 | #endif |
16dc702f | 68 | |
16dc702f | 69 | /* USB */ |
95de1e2f | 70 | #define CONFIG_USB_MUSB_UDC 1 |
16dc702f A |
71 | #define CONFIG_USB_OMAP3 1 |
72 | ||
73 | /* USB device configuration */ | |
74 | #define CONFIG_USB_DEVICE 1 | |
75 | #define CONFIG_USB_TTY 1 | |
16dc702f | 76 | |
16dc702f A |
77 | /* |
78 | * Environment setup | |
79 | */ | |
2a1a29c5 TR |
80 | #define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \ |
81 | "bootcmd_" #devtypel #instance "=" \ | |
82 | "setenv mmcdev " #instance"; "\ | |
83 | "setenv bootpart " #instance":2 ; "\ | |
84 | "run mmcboot\0" | |
85 | ||
86 | #define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \ | |
87 | #devtypel #instance " " | |
88 | ||
89 | #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \ | |
90 | #devtypel #instance " " | |
91 | ||
92 | #define BOOT_TARGET_DEVICES(func) \ | |
93 | func(MMC, mmc, 0) \ | |
94 | func(LEGACY_MMC, legacy_mmc, 0) \ | |
95 | func(MMC, mmc, 1) \ | |
96 | func(LEGACY_MMC, legacy_mmc, 1) \ | |
97 | func(PXE, pxe, na) \ | |
98 | func(DHCP, dhcp, na) | |
99 | ||
100 | #define CONFIG_BOOTCOMMAND \ | |
1e93cc84 LV |
101 | "if test ${boot_fit} -eq 1; then " \ |
102 | "run update_to_fit;" \ | |
103 | "fi;" \ | |
2a1a29c5 | 104 | "run findfdt; " \ |
18c534bb | 105 | "run envboot; " \ |
2a1a29c5 TR |
106 | "run distro_bootcmd" |
107 | ||
108 | #include <config_distro_bootcmd.h> | |
109 | ||
16dc702f | 110 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
fb3ad9bd | 111 | DEFAULT_LINUX_BOOT_ENV \ |
85d17be3 | 112 | DEFAULT_MMC_TI_ARGS \ |
1e93cc84 | 113 | DEFAULT_FIT_TI_ARGS \ |
d71a4916 | 114 | "console=ttyO2,115200n8\0" \ |
a7143215 | 115 | "fdtfile=undefined\0" \ |
143070df S |
116 | "bootpart=0:2\0" \ |
117 | "bootdir=/boot\0" \ | |
aaed0a23 | 118 | "bootfile=zImage\0" \ |
16dc702f A |
119 | "usbtty=cdc_acm\0" \ |
120 | "vram=16M\0" \ | |
ffe16911 | 121 | "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \ |
ffe16911 | 122 | "uimageboot=echo Booting from mmc${mmcdev} ...; " \ |
85d17be3 | 123 | "run args_mmc; " \ |
ffe16911 | 124 | "bootm ${loadaddr}\0" \ |
143070df S |
125 | "findfdt="\ |
126 | "if test $board_name = sdp4430; then " \ | |
127 | "setenv fdtfile omap4-sdp.dtb; fi; " \ | |
128 | "if test $board_name = panda; then " \ | |
34f667bb | 129 | "setenv fdtfile omap4-panda.dtb; fi;" \ |
7d47d1ca DM |
130 | "if test $board_name = panda-a4; then " \ |
131 | "setenv fdtfile omap4-panda-a4.dtb; fi;" \ | |
34f667bb | 132 | "if test $board_name = panda-es; then " \ |
a7143215 | 133 | "setenv fdtfile omap4-panda-es.dtb; fi;" \ |
ffe16911 | 134 | "if test $board_name = duovero; then " \ |
99907176 | 135 | "setenv fdtfile omap4-duovero-parlor.dtb; fi;" \ |
a7143215 DM |
136 | "if test $fdtfile = undefined; then " \ |
137 | "echo WARNING: Could not determine device tree to use; fi; \0" \ | |
2a1a29c5 | 138 | BOOTENV |
16dc702f | 139 | |
dcc23576 LV |
140 | /* |
141 | * Defines for SPL | |
142 | * It is known that this will break HS devices. Since the current size of | |
143 | * SPL is overlapped with public stack and breaking non HS devices to boot. | |
144 | * So moving TEXT_BASE down to non-HS limit. | |
145 | */ | |
146 | #define CONFIG_SPL_TEXT_BASE 0x40300000 | |
983e3700 | 147 | #define CONFIG_SPL_LDSCRIPT "arch/arm/mach-omap2/u-boot-spl.lds" |
d3289aac TR |
148 | #define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \ |
149 | (128 << 20)) | |
16dc702f | 150 | |
70e71b61 EBS |
151 | #ifdef CONFIG_NAND |
152 | #define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ | |
153 | #endif | |
154 | ||
4f80d5ba NM |
155 | #ifdef CONFIG_SPL_BUILD |
156 | /* No need for i2c in SPL mode as we will use SRI2C for PMIC access on OMAP4 */ | |
157 | #undef CONFIG_SYS_I2C | |
158 | #undef CONFIG_SYS_I2C_OMAP24XX | |
159 | #endif | |
160 | ||
6c0a032a | 161 | #endif /* __CONFIG_TI_OMAP4_COMMON_H */ |