rockchip: rk3368: support UART2/4 in board_debug_uart_init()
[oweals/u-boot.git] / arch / arm / mach-rockchip / Kconfig
1 if ARCH_ROCKCHIP
2
3 config ROCKCHIP_RK3036
4         bool "Support Rockchip RK3036"
5         select CPU_V7A
6         select SUPPORT_SPL
7         select SPL
8         imply USB_FUNCTION_ROCKUSB
9         imply CMD_ROCKUSB
10         help
11           The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
12           including NEON and GPU, Mali-400 graphics, several DDR3 options
13           and video codec support. Peripherals include Gigabit Ethernet,
14           USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
15
16 config ROCKCHIP_RK3128
17         bool "Support Rockchip RK3128"
18         select CPU_V7A
19         help
20           The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
21           including NEON and GPU, Mali-400 graphics, several DDR3 options
22           and video codec support. Peripherals include Gigabit Ethernet,
23           USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
24
25 config ROCKCHIP_RK3188
26         bool "Support Rockchip RK3188"
27         select CPU_V7A
28         select SPL_BOARD_INIT if SPL
29         select SUPPORT_SPL
30         select SPL
31         select SPL_CLK
32         select SPL_REGMAP
33         select SPL_SYSCON
34         select SPL_RAM
35         select SPL_DRIVERS_MISC_SUPPORT
36         select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
37         select BOARD_LATE_INIT
38         select ROCKCHIP_BROM_HELPER
39         help
40           The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
41           including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
42           video interfaces, several memory options and video codec support.
43           Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
44           UART, SPI, I2C and PWMs.
45
46 config ROCKCHIP_RK322X
47         bool "Support Rockchip RK3228/RK3229"
48         select CPU_V7A
49         select SUPPORT_SPL
50         select SUPPORT_TPL
51         select SPL
52         select SPL_DM
53         select SPL_OF_LIBFDT
54         select TPL
55         select TPL_DM
56         select TPL_OF_LIBFDT
57         select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
58         select TPL_NEEDS_SEPARATE_STACK if TPL
59         select SPL_DRIVERS_MISC_SUPPORT
60         imply SPL_SERIAL_SUPPORT
61         imply TPL_SERIAL_SUPPORT
62         select ROCKCHIP_BROM_HELPER
63         select TPL_LIBCOMMON_SUPPORT
64         select TPL_LIBGENERIC_SUPPORT
65         help
66           The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
67           including NEON and GPU, Mali-400 graphics, several DDR3 options
68           and video codec support. Peripherals include Gigabit Ethernet,
69           USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
70
71 if ROCKCHIP_RK322X
72
73 config TPL_TEXT_BASE
74         default 0x10081000
75
76 config TPL_MAX_SIZE
77         default 28672
78
79 config TPL_STACK
80         default 0x10088000
81
82 endif
83
84 config ROCKCHIP_RK3288
85         bool "Support Rockchip RK3288"
86         select CPU_V7A
87         select SPL_BOARD_INIT if SPL
88         select SUPPORT_SPL
89         select SPL
90         imply USB_FUNCTION_ROCKUSB
91         imply CMD_ROCKUSB
92         help
93           The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
94           including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
95           video interfaces supporting HDMI and eDP, several DDR3 options
96           and video codec support. Peripherals include Gigabit Ethernet,
97           USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
98
99 if ROCKCHIP_RK3288
100
101 config TPL_TEXT_BASE
102         default 0xff704000
103
104 config TPL_MAX_SIZE
105         default 32768
106
107 endif
108
109 config ROCKCHIP_RK3328
110         bool "Support Rockchip RK3328"
111         select ARM64
112         help
113           The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
114           including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
115           video interfaces supporting HDMI and eDP, several DDR3 options
116           and video codec support. Peripherals include Gigabit Ethernet,
117           USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
118
119 config ROCKCHIP_RK3368
120         bool "Support Rockchip RK3368"
121         select ARM64
122         select SUPPORT_SPL
123         select SUPPORT_TPL
124         select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
125         select TPL_NEEDS_SEPARATE_STACK if TPL
126         imply SPL_SEPARATE_BSS
127         imply SPL_SERIAL_SUPPORT
128         imply TPL_SERIAL_SUPPORT
129         help
130           The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
131           into a big and little cluster with 4 cores each) Cortex-A53 including
132           AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
133           (for the little cluster), PowerVR G6110 based graphics, one video
134           output processor supporting LVDS/HDMI/eDP, several DDR3 options and
135           video codec support.
136
137           On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
138           I2S, UARTs, SPI, I2C and PWMs.
139
140 if ROCKCHIP_RK3368
141
142 config TPL_TEXT_BASE
143         default 0xff8c1000
144
145 config TPL_MAX_SIZE
146         default 28672
147
148 config TPL_STACK
149         default 0xff8cffff
150
151 endif
152
153 config ROCKCHIP_RK3399
154         bool "Support Rockchip RK3399"
155         select ARM64
156         select SUPPORT_SPL
157         select SPL
158         select SPL_SEPARATE_BSS
159         select SPL_SERIAL_SUPPORT
160         select SPL_DRIVERS_MISC_SUPPORT
161         select BOARD_LATE_INIT
162         select ROCKCHIP_BROM_HELPER
163         help
164           The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
165           and quad-core Cortex-A53.
166           including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
167           video interfaces supporting HDMI and eDP, several DDR3 options
168           and video codec support. Peripherals include Gigabit Ethernet,
169           USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
170
171 config ROCKCHIP_RV1108
172         bool "Support Rockchip RV1108"
173         select CPU_V7A
174         help
175           The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
176           and a DSP.
177
178 config ROCKCHIP_USB_UART
179         bool "Route uart output to usb pins"
180         help
181           Rockchip SoCs have the ability to route the signals of the debug
182           uart through the d+ and d- pins of a specific usb phy to enable
183           some form of closed-case debugging. With this option supported
184           SoCs will enable this routing as a debug measure.
185
186 config SPL_ROCKCHIP_BACK_TO_BROM
187         bool "SPL returns to bootrom"
188         default y if ROCKCHIP_RK3036
189         select ROCKCHIP_BROM_HELPER
190         depends on SPL
191         help
192           Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
193           SPL will return to the boot rom, which will then load the U-Boot
194           binary to keep going on.
195
196 config TPL_ROCKCHIP_BACK_TO_BROM
197         bool "TPL returns to bootrom"
198         default y if ROCKCHIP_RK3368
199         select ROCKCHIP_BROM_HELPER
200         depends on TPL
201         help
202           Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
203           SPL will return to the boot rom, which will then load the U-Boot
204           binary to keep going on.
205
206 config ROCKCHIP_BOOT_MODE_REG
207         hex "Rockchip boot mode flag register address"
208         default 0x200081c8 if ROCKCHIP_RK3036
209         default 0x20004040 if ROCKCHIP_RK3188
210         default 0x110005c8 if ROCKCHIP_RK322X
211         default 0xff730094 if ROCKCHIP_RK3288
212         default 0xff738200 if ROCKCHIP_RK3368
213         default 0xff320300 if ROCKCHIP_RK3399
214         default 0x10300580 if ROCKCHIP_RV1108
215         default 0
216         help
217           The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
218           according to the value from this register.
219
220 config ROCKCHIP_SPL_RESERVE_IRAM
221         hex "Size of IRAM reserved in SPL"
222         default 0
223         help
224           SPL may need reserve memory for firmware loaded by SPL, whose load
225           address is in IRAM and may overlay with SPL text area if not
226           reserved.
227
228 config ROCKCHIP_BROM_HELPER
229         bool
230
231 config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
232         bool "SPL requires early-return (for RK3188-style BROM) to BROM"
233         depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
234         help
235           Some Rockchip BROM variants (e.g. on the RK3188) load the
236           first stage in segments and enter multiple times. E.g. on
237           the RK3188, the first 1KB of the first stage are loaded
238           first and entered; after returning to the BROM, the
239           remainder of the first stage is loaded, but the BROM
240           re-enters at the same address/to the same code as previously.
241
242           This enables support code in the BOOT0 hook for the SPL stage
243           to allow multiple entries.
244
245 config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
246         bool "TPL requires early-return (for RK3188-style BROM) to BROM"
247         depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
248         help
249           Some Rockchip BROM variants (e.g. on the RK3188) load the
250           first stage in segments and enter multiple times. E.g. on
251           the RK3188, the first 1KB of the first stage are loaded
252           first and entered; after returning to the BROM, the
253           remainder of the first stage is loaded, but the BROM
254           re-enters at the same address/to the same code as previously.
255
256           This enables support code in the BOOT0 hook for the TPL stage
257           to allow multiple entries.
258
259 config SPL_MMC_SUPPORT
260         default y if !SPL_ROCKCHIP_BACK_TO_BROM
261
262 source "arch/arm/mach-rockchip/rk3036/Kconfig"
263 source "arch/arm/mach-rockchip/rk3128/Kconfig"
264 source "arch/arm/mach-rockchip/rk3188/Kconfig"
265 source "arch/arm/mach-rockchip/rk322x/Kconfig"
266 source "arch/arm/mach-rockchip/rk3288/Kconfig"
267 source "arch/arm/mach-rockchip/rk3328/Kconfig"
268 source "arch/arm/mach-rockchip/rk3368/Kconfig"
269 source "arch/arm/mach-rockchip/rk3399/Kconfig"
270 source "arch/arm/mach-rockchip/rv1108/Kconfig"
271 endif