1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Amazon Kindle Fire (first generation) codename kc1 config
4  *
5  * Copyright (C) 2016 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  * Build
16  */
17 
18 /*
19  * CPU
20  */
21 
22 #define CONFIG_SYS_L2_PL310		1
23 #define CONFIG_SYS_PL310_BASE		0x48242000
24 
25 /*
26  * Board
27  */
28 
29 /*
30  * Clocks
31  */
32 
33 #define CONFIG_SYS_TIMERBASE	GPT2_BASE
34 #define CONFIG_SYS_PTV		2
35 
36 /*
37  * DRAM
38  */
39 
40 /*
41  * Memory
42  */
43 
44 #define CONFIG_SYS_SDRAM_BASE		0x80000000
45 #define CONFIG_SYS_INIT_SP_ADDR		(NON_SECURE_SRAM_END - \
46 					 GENERATED_GBL_DATA_SIZE)
47 
48 #define CONFIG_SYS_MALLOC_LEN		(1024 * 1024 + CONFIG_ENV_SIZE)
49 
50 /*
51  * I2C
52  */
53 
54 #define CONFIG_SYS_I2C
55 #define CONFIG_I2C_MULTI_BUS
56 
57 /*
58  * Power
59  */
60 
61 #define CONFIG_TWL6030_POWER
62 
63 /*
64  * Input
65  */
66 
67 #define CONFIG_TWL6030_INPUT
68 
69 /*
70  * SPL
71  */
72 
73 #define CONFIG_SPL_MAX_SIZE		(SRAM_SCRATCH_SPACE_ADDR - \
74 					 CONFIG_SPL_TEXT_BASE)
75 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
76 #define CONFIG_SPL_BSS_MAX_SIZE		(512 * 1024)
77 #define CONFIG_SYS_SPL_MALLOC_START	0x80208000
78 #define CONFIG_SYS_SPL_MALLOC_SIZE	(1024 * 1024)
79 
80 /*
81  * Console
82  */
83 
84 #define CONFIG_SYS_CBSIZE	512
85 
86 /*
87  * Serial
88  */
89 
90 #define CONFIG_SYS_NS16550_SERIAL
91 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
92 #define CONFIG_SYS_NS16550_CLK		48000000
93 #define CONFIG_SYS_NS16550_COM3		UART3_BASE
94 
95 #define CONFIG_SYS_BAUDRATE_TABLE	{ 4800, 9600, 19200, 38400, 57600, \
96 					  115200 }
97 
98 /*
99  * USB gadget
100  */
101 
102 /*
103  * Environment
104  */
105 
106 #define CONFIG_EXTRA_ENV_SETTINGS \
107 	"kernel_addr_r=0x82000000\0" \
108 	"loadaddr=0x82000000\0" \
109 	"fdt_addr_r=0x88000000\0" \
110 	"fdtaddr=0x88000000\0" \
111 	"ramdisk_addr_r=0x88080000\0" \
112 	"pxefile_addr_r=0x80100000\0" \
113 	"scriptaddr=0x80000000\0" \
114 	"bootm_size=0x10000000\0" \
115 	"boot_mmc_dev=0\0" \
116 	"kernel_mmc_part=7\0" \
117 	"recovery_mmc_part=5\0" \
118 	"fdtfile=omap4-kc1.dtb\0" \
119 	"bootfile=/boot/extlinux/extlinux.conf\0" \
120 	"bootargs=console=ttyO2,115200 mem=512M\0"
121 
122 /*
123  * ATAGs
124  */
125 
126 #define CONFIG_SETUP_MEMORY_TAGS
127 #define CONFIG_CMDLINE_TAG
128 #define CONFIG_INITRD_TAG
129 #define CONFIG_REVISION_TAG
130 #define CONFIG_SERIAL_TAG
131 
132 /*
133  * Boot
134  */
135 
136 #define CONFIG_SYS_LOAD_ADDR	0x82000000
137 
138 #define CONFIG_BOOTCOMMAND \
139 	"setenv boot_mmc_part ${kernel_mmc_part}; " \
140 	"if test reboot-${reboot-mode} = reboot-r; then " \
141 	"echo recovery; setenv boot_mmc_part ${recovery_mmc_part}; fi; " \
142 	"if test reboot-${reboot-mode} = reboot-b; then " \
143 	"echo fastboot; fastboot 0; fi; " \
144 	"part start mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_start; " \
145 	"part size mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_size; " \
146 	"mmc dev ${boot_mmc_dev}; " \
147 	"mmc read ${kernel_addr_r} ${boot_mmc_start} ${boot_mmc_size} && " \
148 	"bootm ${kernel_addr_r};"
149 
150 #endif
151