sniper: OMAP3 reboot mode support
[karo-tx-uboot.git] / include / configs / sniper.h
1 /*
2  * LG Optimus Black (P970) codename sniper config
3  *
4  * Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7  */
8
9 #ifndef __CONFIG_H
10 #define __CONFIG_H
11
12 #include <asm/arch/cpu.h>
13 #include <asm/arch/omap.h>
14
15 /*
16  * CPU
17  */
18
19 #define CONFIG_SYS_CACHELINE_SIZE       64
20
21 #define CONFIG_ARM_ARCH_CP15_ERRATA
22 #define CONFIG_ARM_ERRATA_454179
23 #define CONFIG_ARM_ERRATA_430973
24 #define CONFIG_ARM_ERRATA_621766
25
26 /*
27  * Platform
28  */
29
30 #define CONFIG_OMAP
31 #define CONFIG_OMAP_COMMON
32
33 /*
34  * Board
35  */
36
37 #define CONFIG_SYS_GENERIC_BOARD
38 #define CONFIG_MISC_INIT_R
39
40 /*
41  * Clocks
42  */
43
44 #define CONFIG_SYS_TIMERBASE    OMAP34XX_GPT2
45 #define CONFIG_SYS_PTV          2
46
47 #define V_NS16550_CLK           48000000
48 #define V_OSCK                  26000000
49 #define V_SCLK                  (V_OSCK >> 1)
50
51 /*
52  * DRAM
53  */
54
55 #define CONFIG_SDRC
56 #define CONFIG_NR_DRAM_BANKS    2
57 #define PHYS_SDRAM_1            OMAP34XX_SDRC_CS0
58 #define PHYS_SDRAM_2            OMAP34XX_SDRC_CS1
59
60 /*
61  * Memory
62  */
63
64 #define CONFIG_SYS_TEXT_BASE            0x80100000
65 #define CONFIG_SYS_SDRAM_BASE           OMAP34XX_SDRC_CS0
66 #define CONFIG_SYS_INIT_RAM_ADDR        0x4020F800
67 #define CONFIG_SYS_INIT_RAM_SIZE        0x800
68 #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_INIT_RAM_ADDR + \
69                                          CONFIG_SYS_INIT_RAM_SIZE - \
70                                          GENERATED_GBL_DATA_SIZE)
71
72 #define CONFIG_SYS_MALLOC_LEN           (1024 * 1024 + CONFIG_ENV_SIZE)
73
74 /*
75  * GPIO
76  */
77
78 #define CONFIG_OMAP_GPIO
79 #define CONFIG_OMAP3_GPIO_2
80 #define CONFIG_OMAP3_GPIO_3
81 #define CONFIG_OMAP3_GPIO_4
82 #define CONFIG_OMAP3_GPIO_5
83 #define CONFIG_OMAP3_GPIO_6
84
85 /*
86  * I2C
87  */
88
89 #define CONFIG_SYS_I2C
90 #define CONFIG_SYS_OMAP24_I2C_SPEED     400000
91 #define CONFIG_SYS_OMAP24_I2C_SLAVE     1
92 #define CONFIG_SYS_I2C_OMAP34XX
93 #define CONFIG_I2C_MULTI_BUS
94
95 #define CONFIG_CMD_I2C
96
97 /*
98  * Flash
99  */
100
101 #define CONFIG_SYS_NO_FLASH
102
103 /*
104  * MMC
105  */
106
107 #define CONFIG_GENERIC_MMC
108 #define CONFIG_MMC
109 #define CONFIG_OMAP_HSMMC
110
111 #define CONFIG_CMD_MMC
112
113 /*
114  * Power
115  */
116
117 #define CONFIG_TWL4030_POWER
118
119 /*
120  * Input
121  */
122
123 #define CONFIG_TWL4030_INPUT
124
125 /*
126  * Partitions
127  */
128
129 #define CONFIG_PARTITION_UUIDS
130 #define CONFIG_DOS_PARTITION
131 #define CONFIG_EFI_PARTITION
132
133 #define CONFIG_CMD_PART
134
135 /*
136  * Filesystems
137  */
138
139 #define CONFIG_CMD_FS_GENERIC
140 #define CONFIG_CMD_EXT2
141 #define CONFIG_CMD_EXT4
142 #define CONFIG_CMD_FAT
143
144 /*
145  * SPL
146  */
147
148 #define CONFIG_SPL_FRAMEWORK
149
150 #define CONFIG_SPL_TEXT_BASE            0x40200000
151 #define CONFIG_SPL_MAX_SIZE             (54 * 1024)
152 #define CONFIG_SPL_BSS_START_ADDR       0x80000000
153 #define CONFIG_SPL_BSS_MAX_SIZE         (512 * 1024)
154 #define CONFIG_SYS_SPL_MALLOC_START     0x80208000
155 #define CONFIG_SYS_SPL_MALLOC_SIZE      (1024 * 1024)
156 #define CONFIG_SPL_STACK                LOW_LEVEL_SRAM_STACK
157
158 #define CONFIG_SPL_LDSCRIPT             "$(CPUDIR)/omap-common/u-boot-spl.lds"
159 #define CONFIG_SPL_BOARD_INIT
160
161 #define CONFIG_SPL_LIBGENERIC_SUPPORT
162 #define CONFIG_SPL_LIBCOMMON_SUPPORT
163 #define CONFIG_SPL_LIBDISK_SUPPORT
164 #define CONFIG_SPL_SERIAL_SUPPORT
165 #define CONFIG_SPL_POWER_SUPPORT
166 #define CONFIG_SPL_GPIO_SUPPORT
167 #define CONFIG_SPL_I2C_SUPPORT
168 #define CONFIG_SPL_MMC_SUPPORT
169 #define CONFIG_SPL_FAT_SUPPORT
170
171 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION      2
172
173 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION              1
174 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME                 "u-boot.img"
175
176 /*
177  * Console
178  */
179
180 #define CONFIG_SYS_CONSOLE_IS_IN_ENV
181
182 #define CONFIG_DISPLAY_CPUINFO
183 #define CONFIG_DISPLAY_BOARDINFO
184
185 #define CONFIG_AUTO_COMPLETE
186
187 #define CONFIG_SYS_PROMPT       "Sniper # "
188 #define CONFIG_SYS_LONGHELP
189 #define CONFIG_SYS_HUSH_PARSER
190
191 #define CONFIG_SYS_MAXARGS      16
192 #define CONFIG_SYS_CBSIZE       512
193 #define CONFIG_SYS_PBSIZE       (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) \
194                                  + 16)
195
196 /*
197  * Serial
198  */
199
200
201 #ifndef CONFIG_SPL_BUILD
202 #define CONFIG_OMAP_SERIAL
203 #else
204 #define CONFIG_SYS_NS16550_SERIAL
205 #define CONFIG_SYS_NS16550_REG_SIZE     (-4)
206 #define CONFIG_SYS_NS16550_CLK          V_NS16550_CLK
207 #endif
208
209 #define CONFIG_SYS_NS16550
210 #define CONFIG_SYS_NS16550_COM3         OMAP34XX_UART3
211 #define CONFIG_CONS_INDEX               3
212 #define CONFIG_SERIAL3                  3
213
214 #define CONFIG_BAUDRATE                 115200
215 #define CONFIG_SYS_BAUDRATE_TABLE       { 4800, 9600, 19200, 38400, 57600, \
216                                           115200 }
217
218 /*
219  * Environment
220  */
221
222 #define CONFIG_ENV_SIZE         (128 * 1024)
223 #define CONFIG_ENV_IS_NOWHERE
224
225 #define CONFIG_ENV_OVERWRITE
226
227 #define CONFIG_EXTRA_ENV_SETTINGS \
228         "kernel_addr_r=0x82000000\0" \
229         "boot_mmc_dev=0\0" \
230         "kernel_mmc_part=3\0" \
231         "recovery_mmc_part=4\0" \
232         "bootargs=console=ttyO2 vram=5M,0x9FA00000 omapfb.vram=0:5M\0"
233
234 /*
235  * ATAGs / Device Tree
236  */
237
238 #define CONFIG_OF_LIBFDT
239 #define CONFIG_SETUP_MEMORY_TAGS
240 #define CONFIG_CMDLINE_TAG
241 #define CONFIG_INITRD_TAG
242 #define CONFIG_REVISION_TAG
243
244 /*
245  * Boot
246  */
247
248 #define CONFIG_SYS_LOAD_ADDR    0x82000000
249 #define CONFIG_BOOTDELAY        1
250
251 #define CONFIG_ANDROID_BOOT_IMAGE
252
253 #define CONFIG_BOOTCOMMAND \
254         "setenv boot_mmc_part ${kernel_mmc_part}; " \
255         "if test reboot-${reboot-mode} = reboot-r; then " \
256         "echo recovery; setenv boot_mmc_part ${recovery_mmc_part}; fi; " \
257         "part start mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_start; " \
258         "part size mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_size; " \
259         "mmc dev ${boot_mmc_dev}; " \
260         "mmc read ${kernel_addr_r} ${boot_mmc_start} ${boot_mmc_size} && " \
261         "bootm ${kernel_addr_r};"
262
263 /*
264  * Defaults
265  */
266
267 #include <config_defaults.h>
268
269 #endif