1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * LG Optimus Black codename sniper config
4  *
5  * Copyright (C) 2015 Paul Kocialkowski <contact@paulk.fr>
6  */
7 
8 #ifndef __CONFIG_H
9 #define __CONFIG_H
10 
11 #include <asm/arch/cpu.h>
12 #include <asm/arch/omap.h>
13 
14 /*
15  * CPU
16  */
17 
18 #define CONFIG_ARM_ARCH_CP15_ERRATA
19 
20 /*
21  * Board
22  */
23 
24 /*
25  * Clocks
26  */
27 
28 #define CONFIG_SYS_TIMERBASE	OMAP34XX_GPT2
29 #define CONFIG_SYS_PTV		2
30 
31 #define V_NS16550_CLK		48000000
32 #define V_OSCK			26000000
33 #define V_SCLK			(V_OSCK >> 1)
34 
35 /*
36  * DRAM
37  */
38 
39 #define PHYS_SDRAM_1		OMAP34XX_SDRC_CS0
40 #define PHYS_SDRAM_2		OMAP34XX_SDRC_CS1
41 
42 /*
43  * Memory
44  */
45 
46 #define CONFIG_SYS_SDRAM_BASE		0x80000000
47 #define CONFIG_SYS_INIT_SP_ADDR		(NON_SECURE_SRAM_END - \
48 					 GENERATED_GBL_DATA_SIZE)
49 
50 #define CONFIG_SYS_MALLOC_LEN		(1024 * 1024 + CONFIG_ENV_SIZE)
51 
52 /*
53  * I2C
54  */
55 
56 #define CONFIG_SYS_I2C
57 #define CONFIG_I2C_MULTI_BUS
58 
59 /*
60  * Input
61  */
62 
63 /*
64  * SPL
65  */
66 
67 #define CONFIG_SPL_MAX_SIZE		(SRAM_SCRATCH_SPACE_ADDR - \
68 					 CONFIG_SPL_TEXT_BASE)
69 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
70 #define CONFIG_SPL_BSS_MAX_SIZE		(512 * 1024)
71 #define CONFIG_SYS_SPL_MALLOC_START	0x80208000
72 #define CONFIG_SYS_SPL_MALLOC_SIZE	(1024 * 1024)
73 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
74 
75 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME			"u-boot.img"
76 
77 #define CONFIG_SYS_CBSIZE	512
78 
79 /*
80  * Serial
81  */
82 
83 #ifdef CONFIG_SPL_BUILD
84 #define CONFIG_SYS_NS16550_SERIAL
85 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
86 #endif
87 
88 #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
89 #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
90 
91 #define CONFIG_SYS_BAUDRATE_TABLE	{ 4800, 9600, 19200, 38400, 57600, \
92 					  115200 }
93 
94 /*
95  * Environment
96  */
97 
98 #define CONFIG_EXTRA_ENV_SETTINGS \
99 	"kernel_addr_r=0x82000000\0" \
100 	"loadaddr=0x82000000\0" \
101 	"fdt_addr_r=0x88000000\0" \
102 	"fdtaddr=0x88000000\0" \
103 	"ramdisk_addr_r=0x88080000\0" \
104 	"pxefile_addr_r=0x80100000\0" \
105 	"scriptaddr=0x80000000\0" \
106 	"bootm_size=0x10000000\0" \
107 	"boot_mmc_dev=0\0" \
108 	"kernel_mmc_part=3\0" \
109 	"recovery_mmc_part=4\0" \
110 	"fdtfile=omap3-sniper.dtb\0" \
111 	"bootfile=/boot/extlinux/extlinux.conf\0" \
112 	"bootargs=console=ttyO2,115200 vram=5M,0x9FA00000 omapfb.vram=0:5M\0"
113 
114 /*
115  * ATAGs
116  */
117 
118 #define CONFIG_SETUP_MEMORY_TAGS
119 #define CONFIG_CMDLINE_TAG
120 #define CONFIG_INITRD_TAG
121 #define CONFIG_REVISION_TAG
122 #define CONFIG_SERIAL_TAG
123 
124 /*
125  * Boot
126  */
127 
128 #define CONFIG_SYS_LOAD_ADDR	0x82000000
129 
130 #define CONFIG_BOOTCOMMAND \
131 	"setenv boot_mmc_part ${kernel_mmc_part}; " \
132 	"if test reboot-${reboot-mode} = reboot-r; then " \
133 	"echo recovery; setenv boot_mmc_part ${recovery_mmc_part}; fi; " \
134 	"if test reboot-${reboot-mode} = reboot-b; then " \
135 	"echo fastboot; fastboot 0; fi; " \
136 	"part start mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_start; " \
137 	"part size mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_size; " \
138 	"mmc dev ${boot_mmc_dev}; " \
139 	"mmc read ${kernel_addr_r} ${boot_mmc_start} ${boot_mmc_size} && " \
140 	"bootm ${kernel_addr_r};"
141 
142 #endif
143