xref: /OK3568_Linux_fs/u-boot/arch/arm/mach-rockchip/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunif ARCH_ROCKCHIP
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunconfig ROCKCHIP_PX30
4*4882a593Smuzhiyun	bool "Support Rockchip PX30"
5*4882a593Smuzhiyun	select ARM64 if !ARM64_BOOT_AARCH32
6*4882a593Smuzhiyun	select GICV2
7*4882a593Smuzhiyun	select ARM_SMCCC
8*4882a593Smuzhiyun	select SUPPORT_SPL
9*4882a593Smuzhiyun	select SUPPORT_TPL
10*4882a593Smuzhiyun	select SPL if !ARM64_BOOT_AARCH32
11*4882a593Smuzhiyun	select TPL if !ARM64_BOOT_AARCH32
12*4882a593Smuzhiyun	select TPL_TINY_FRAMEWORK if TPL
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	imply SPL_SEPARATE_BSS
15*4882a593Smuzhiyun	imply SPL_SERIAL_SUPPORT
16*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
17*4882a593Smuzhiyun	help
18*4882a593Smuzhiyun	  The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
19*4882a593Smuzhiyun	  including NEON and GPU, Mali-400 graphics, several DDR3 options
20*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
21*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunif ROCKCHIP_PX30
24*4882a593Smuzhiyun
25*4882a593Smuzhiyunconfig TPL_LDSCRIPT
26*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunconfig TPL_TEXT_BASE
29*4882a593Smuzhiyun	default 0xff0e1000
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunconfig TPL_MAX_SIZE
32*4882a593Smuzhiyun	default 10240
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunconfig ROCKCHIP_RK3326
35*4882a593Smuzhiyun	bool "Support Rockchip RK3326 "
36*4882a593Smuzhiyun	help
37*4882a593Smuzhiyun	  RK3326 can use most code from PX30, but at some situations we have
38*4882a593Smuzhiyun	  to distinguish between RK3326 and PX30, so this macro gives help.
39*4882a593Smuzhiyun	  It is usually selected in rk3326 board defconfig.
40*4882a593Smuzhiyunendif
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunconfig ROCKCHIP_RK3036
43*4882a593Smuzhiyun	bool "Support Rockchip RK3036"
44*4882a593Smuzhiyun	select CPU_V7
45*4882a593Smuzhiyun	select SUPPORT_SPL
46*4882a593Smuzhiyun	select SUPPORT_TPL
47*4882a593Smuzhiyun	select SPL
48*4882a593Smuzhiyun	select TPL
49*4882a593Smuzhiyun	select BOARD_LATE_INIT
50*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
51*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
52*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_STACK if TPL
53*4882a593Smuzhiyun	select ARM_SMCCC
54*4882a593Smuzhiyun	help
55*4882a593Smuzhiyun	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
56*4882a593Smuzhiyun	  including NEON and GPU, Mali-400 graphics, several DDR3 options
57*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
58*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunconfig ROCKCHIP_RK3128
61*4882a593Smuzhiyun	bool "Support Rockchip RK3128"
62*4882a593Smuzhiyun	select CPU_V7
63*4882a593Smuzhiyun	select GICV2
64*4882a593Smuzhiyun	select ARM_SMCCC
65*4882a593Smuzhiyun	help
66*4882a593Smuzhiyun	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
67*4882a593Smuzhiyun	  including NEON and GPU, Mali-400 graphics, several DDR3 options
68*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
69*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
70*4882a593Smuzhiyun
71*4882a593Smuzhiyunif ROCKCHIP_RK3128
72*4882a593Smuzhiyun
73*4882a593Smuzhiyunconfig ROCKCHIP_RK3126
74*4882a593Smuzhiyun	bool "Support Rockchip RK3126 "
75*4882a593Smuzhiyun	help
76*4882a593Smuzhiyun	  RK3126 can use most code from RK3128, but at some situations we have
77*4882a593Smuzhiyun	  to distinguish between RK3126 and RK3128, so this macro gives help.
78*4882a593Smuzhiyun	  It is usually selected in rk3126 board defconfig.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig ROCKCHIP_PX3SE
81*4882a593Smuzhiyun	bool "Support Rockchip PX3SE"
82*4882a593Smuzhiyun	help
83*4882a593Smuzhiyun	  PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
84*4882a593Smuzhiyun	  need this macro to distinguish PX3SE and RK3128.
85*4882a593Smuzhiyunendif
86*4882a593Smuzhiyun
87*4882a593Smuzhiyunconfig ROCKCHIP_RK3066
88*4882a593Smuzhiyun	bool "Support Rockchip RK3066"
89*4882a593Smuzhiyun	select CPU_V7
90*4882a593Smuzhiyun	select SUPPORT_SPL
91*4882a593Smuzhiyun	select SUPPORT_TPL
92*4882a593Smuzhiyun	select SPL
93*4882a593Smuzhiyun	select TPL
94*4882a593Smuzhiyun	select BOARD_LATE_INIT
95*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
96*4882a593Smuzhiyun	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
97*4882a593Smuzhiyun	help
98*4882a593Smuzhiyun	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
99*4882a593Smuzhiyun	  including NEON and GPU, Mali-400 graphics, several DDR3 options
100*4882a593Smuzhiyun	  and video codec support. Peripherals include ethernet, USB2 host
101*4882a593Smuzhiyun	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunconfig ROCKCHIP_RK3188
104*4882a593Smuzhiyun	bool "Support Rockchip RK3188"
105*4882a593Smuzhiyun	select CPU_V7
106*4882a593Smuzhiyun	select SPL_BOARD_INIT if SPL
107*4882a593Smuzhiyun	select SUPPORT_SPL
108*4882a593Smuzhiyun	select SPL
109*4882a593Smuzhiyun	select SPL_CLK
110*4882a593Smuzhiyun	select SPL_REGMAP
111*4882a593Smuzhiyun	select SPL_SYSCON
112*4882a593Smuzhiyun	select SPL_RAM
113*4882a593Smuzhiyun	select SPL_DRIVERS_MISC_SUPPORT
114*4882a593Smuzhiyun	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
115*4882a593Smuzhiyun	select BOARD_LATE_INIT
116*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
117*4882a593Smuzhiyun	help
118*4882a593Smuzhiyun	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
119*4882a593Smuzhiyun	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
120*4882a593Smuzhiyun	  video interfaces, several memory options and video codec support.
121*4882a593Smuzhiyun	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
122*4882a593Smuzhiyun	  UART, SPI, I2C and PWMs.
123*4882a593Smuzhiyun
124*4882a593Smuzhiyunconfig ROCKCHIP_RK322X
125*4882a593Smuzhiyun	bool "Support Rockchip RK3228/RK3229"
126*4882a593Smuzhiyun	select CPU_V7
127*4882a593Smuzhiyun	select SUPPORT_SPL
128*4882a593Smuzhiyun	select SUPPORT_TPL
129*4882a593Smuzhiyun	select SPL
130*4882a593Smuzhiyun	select TPL
131*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
132*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_STACK if TPL
133*4882a593Smuzhiyun	select SPL_DRIVERS_MISC_SUPPORT
134*4882a593Smuzhiyun	imply SPL_SERIAL_SUPPORT
135*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
136*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
137*4882a593Smuzhiyun	select TPL_LIBCOMMON_SUPPORT
138*4882a593Smuzhiyun	select TPL_LIBGENERIC_SUPPORT
139*4882a593Smuzhiyun	select GICV2
140*4882a593Smuzhiyun	select ARM_SMCCC
141*4882a593Smuzhiyun	help
142*4882a593Smuzhiyun	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
143*4882a593Smuzhiyun	  including NEON and GPU, Mali-400 graphics, several DDR3 options
144*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
145*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
146*4882a593Smuzhiyun
147*4882a593Smuzhiyunif ROCKCHIP_RK322X
148*4882a593Smuzhiyun
149*4882a593Smuzhiyunconfig ROCKCHIP_RK3128X
150*4882a593Smuzhiyun	bool "Support Rockchip RK3128X "
151*4882a593Smuzhiyun	help
152*4882a593Smuzhiyun	  RK3128X can use most code from RK322X, but at some situations we have
153*4882a593Smuzhiyun	  to distinguish between RK3128X and RK322X, so this macro gives help.
154*4882a593Smuzhiyun	  It is usually selected in RK3128X board defconfig.
155*4882a593Smuzhiyunendif
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunconfig ROCKCHIP_RK3288
158*4882a593Smuzhiyun	bool "Support Rockchip RK3288"
159*4882a593Smuzhiyun	select CPU_V7
160*4882a593Smuzhiyun	select SPL_BOARD_INIT if SPL
161*4882a593Smuzhiyun	select SUPPORT_SPL
162*4882a593Smuzhiyun	select SUPPORT_TPL
163*4882a593Smuzhiyun	select SPL
164*4882a593Smuzhiyun	select TPL
165*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
166*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_STACK if TPL
167*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
168*4882a593Smuzhiyun	select GICV2
169*4882a593Smuzhiyun	select ARM_SMCCC
170*4882a593Smuzhiyun	select SPL_OPTEE
171*4882a593Smuzhiyun	select FIT
172*4882a593Smuzhiyun	select SPL_LOAD_FIT
173*4882a593Smuzhiyun	select TPL_LIBCOMMON_SUPPORT
174*4882a593Smuzhiyun	select TPL_LIBGENERIC_SUPPORT
175*4882a593Smuzhiyun	select TPL_SYS_MALLOC_SIMPLE
176*4882a593Smuzhiyun	select TPL_BOOTROM_SUPPORT
177*4882a593Smuzhiyun	select TPL_DRIVERS_MISC_SUPPORT
178*4882a593Smuzhiyun	select TPL_OF_CONTROL
179*4882a593Smuzhiyun	select TPL_DM
180*4882a593Smuzhiyun	select TPL_REGMAP
181*4882a593Smuzhiyun	select TPL_SYSCON
182*4882a593Smuzhiyun	select TPL_RAM
183*4882a593Smuzhiyun	select TPL_CLK
184*4882a593Smuzhiyun	select TPL_TINY_MEMSET
185*4882a593Smuzhiyun	help
186*4882a593Smuzhiyun	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
187*4882a593Smuzhiyun	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
188*4882a593Smuzhiyun	  video interfaces supporting HDMI and eDP, several DDR3 options
189*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
190*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
191*4882a593Smuzhiyun
192*4882a593Smuzhiyunif ROCKCHIP_RK3288
193*4882a593Smuzhiyunconfig SPL_FIT_GENERATOR
194*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/make_fit_optee.sh"
195*4882a593Smuzhiyun
196*4882a593Smuzhiyunconfig TPL_LDSCRIPT
197*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
198*4882a593Smuzhiyun
199*4882a593Smuzhiyunconfig TPL_TEXT_BASE
200*4882a593Smuzhiyun	default 0xff704000
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunconfig TPL_MAX_SIZE
203*4882a593Smuzhiyun	default 32768
204*4882a593Smuzhiyun
205*4882a593Smuzhiyunconfig TPL_STACK
206*4882a593Smuzhiyun	default 0xff718000
207*4882a593Smuzhiyun
208*4882a593Smuzhiyunendif
209*4882a593Smuzhiyun
210*4882a593Smuzhiyunconfig ROCKCHIP_RK3308
211*4882a593Smuzhiyun	bool "Support Rockchip RK3308"
212*4882a593Smuzhiyun	select ARM64 if !ARM64_BOOT_AARCH32
213*4882a593Smuzhiyun	select ARM_SMCCC
214*4882a593Smuzhiyun	imply GICV2
215*4882a593Smuzhiyun	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
216*4882a593Smuzhiyun	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
217*4882a593Smuzhiyun	select SPL if !ARM64_BOOT_AARCH32
218*4882a593Smuzhiyun	select TPL if !ARM64_BOOT_AARCH32
219*4882a593Smuzhiyun	imply SPL_CLK
220*4882a593Smuzhiyun	imply SPL_REGMAP
221*4882a593Smuzhiyun	imply SPL_SYSCON
222*4882a593Smuzhiyun	imply SPL_RAM
223*4882a593Smuzhiyun	imply SPL_SERIAL_SUPPORT
224*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
225*4882a593Smuzhiyun	imply SPL_SEPARATE_BSS
226*4882a593Smuzhiyun	help
227*4882a593Smuzhiyun	  The Rockchip RK3308 is a ARM-based Soc which embeded with quad
228*4882a593Smuzhiyun	  Cortex-A35 and highly integrated audio interfaces.
229*4882a593Smuzhiyun
230*4882a593Smuzhiyunif ROCKCHIP_RK3308
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunconfig TPL_LDSCRIPT
233*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
234*4882a593Smuzhiyun
235*4882a593Smuzhiyunconfig TPL_TEXT_BASE
236*4882a593Smuzhiyun	default 0xfff81000
237*4882a593Smuzhiyun
238*4882a593Smuzhiyunconfig TPL_MAX_SIZE
239*4882a593Smuzhiyun	default 10240
240*4882a593Smuzhiyun
241*4882a593Smuzhiyunconfig TPL_STACK
242*4882a593Smuzhiyun	default 0xfff84000
243*4882a593Smuzhiyun
244*4882a593Smuzhiyunendif
245*4882a593Smuzhiyun
246*4882a593Smuzhiyunconfig ROCKCHIP_RK3328
247*4882a593Smuzhiyun	bool "Support Rockchip RK3328"
248*4882a593Smuzhiyun	select ARM64
249*4882a593Smuzhiyun	select GICV2
250*4882a593Smuzhiyun	select SUPPORT_SPL
251*4882a593Smuzhiyun	select SUPPORT_TPL
252*4882a593Smuzhiyun	select SPL
253*4882a593Smuzhiyun	select TPL
254*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
255*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_STACK if TPL
256*4882a593Smuzhiyun	imply SPL_SERIAL_SUPPORT
257*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
258*4882a593Smuzhiyun	imply SPL_SEPARATE_BSS
259*4882a593Smuzhiyun	select ARM_SMCCC
260*4882a593Smuzhiyun	help
261*4882a593Smuzhiyun	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
262*4882a593Smuzhiyun	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
263*4882a593Smuzhiyun	  video interfaces supporting HDMI and eDP, several DDR3 options
264*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
265*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
266*4882a593Smuzhiyun
267*4882a593Smuzhiyunif ROCKCHIP_RK3328
268*4882a593Smuzhiyun
269*4882a593Smuzhiyunconfig TPL_LDSCRIPT
270*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
271*4882a593Smuzhiyun
272*4882a593Smuzhiyunconfig TPL_TEXT_BASE
273*4882a593Smuzhiyun        default 0xff091000
274*4882a593Smuzhiyun
275*4882a593Smuzhiyunconfig TPL_MAX_SIZE
276*4882a593Smuzhiyun        default 28672
277*4882a593Smuzhiyun
278*4882a593Smuzhiyunconfig TPL_STACK
279*4882a593Smuzhiyun        default 0xff098000
280*4882a593Smuzhiyun
281*4882a593Smuzhiyunendif
282*4882a593Smuzhiyun
283*4882a593Smuzhiyunconfig ROCKCHIP_RK3368
284*4882a593Smuzhiyun	bool "Support Rockchip RK3368"
285*4882a593Smuzhiyun	select ARM64
286*4882a593Smuzhiyun	select SUPPORT_SPL
287*4882a593Smuzhiyun	select SUPPORT_TPL
288*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
289*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_STACK if TPL
290*4882a593Smuzhiyun	imply SPL_SEPARATE_BSS
291*4882a593Smuzhiyun	imply SPL_SERIAL_SUPPORT
292*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
293*4882a593Smuzhiyun	select GICV2
294*4882a593Smuzhiyun	select ARM_SMCCC
295*4882a593Smuzhiyun	help
296*4882a593Smuzhiyun	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
297*4882a593Smuzhiyun	  into a big and little cluster with 4 cores each) Cortex-A53 including
298*4882a593Smuzhiyun	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
299*4882a593Smuzhiyun	  (for the little cluster), PowerVR G6110 based graphics, one video
300*4882a593Smuzhiyun	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
301*4882a593Smuzhiyun	  video codec support.
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
304*4882a593Smuzhiyun	  I2S, UARTs, SPI, I2C and PWMs.
305*4882a593Smuzhiyun
306*4882a593Smuzhiyunif ROCKCHIP_RK3368
307*4882a593Smuzhiyun
308*4882a593Smuzhiyunconfig ROCKCHIP_PX5
309*4882a593Smuzhiyun	bool "Support Rockchip PX5"
310*4882a593Smuzhiyun	help
311*4882a593Smuzhiyun	  PX5 is a variant of RK3368, it shares codes with RK3368, but we still
312*4882a593Smuzhiyun	  need this macro to distinguish PX5 and RK3368.
313*4882a593Smuzhiyun
314*4882a593Smuzhiyunconfig TPL_LDSCRIPT
315*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
316*4882a593Smuzhiyun
317*4882a593Smuzhiyunconfig TPL_TEXT_BASE
318*4882a593Smuzhiyun        default 0xff8c1000
319*4882a593Smuzhiyun
320*4882a593Smuzhiyunconfig TPL_MAX_SIZE
321*4882a593Smuzhiyun        default 28672
322*4882a593Smuzhiyun
323*4882a593Smuzhiyunconfig TPL_STACK
324*4882a593Smuzhiyun        default 0xff8cffff
325*4882a593Smuzhiyun
326*4882a593Smuzhiyunendif
327*4882a593Smuzhiyun
328*4882a593Smuzhiyunconfig ROCKCHIP_RK3399
329*4882a593Smuzhiyun	bool "Support Rockchip RK3399"
330*4882a593Smuzhiyun	select ARM64
331*4882a593Smuzhiyun	select SUPPORT_SPL
332*4882a593Smuzhiyun	select SUPPORT_TPL
333*4882a593Smuzhiyun	select SPL
334*4882a593Smuzhiyun	select TPL
335*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
336*4882a593Smuzhiyun	select TPL_NEEDS_SEPARATE_STACK if TPL
337*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
338*4882a593Smuzhiyun	select SPL_SEPARATE_BSS
339*4882a593Smuzhiyun	select SPL_SERIAL_SUPPORT
340*4882a593Smuzhiyun	select SPL_DRIVERS_MISC_SUPPORT
341*4882a593Smuzhiyun	select GICV3
342*4882a593Smuzhiyun	select BOARD_LATE_INIT
343*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
344*4882a593Smuzhiyun	select ARM_SMCCC
345*4882a593Smuzhiyun	select TPL_LIBCOMMON_SUPPORT
346*4882a593Smuzhiyun	select TPL_LIBGENERIC_SUPPORT
347*4882a593Smuzhiyun	select TPL_SYS_MALLOC_SIMPLE
348*4882a593Smuzhiyun	select TPL_BOOTROM_SUPPORT
349*4882a593Smuzhiyun	select TPL_DRIVERS_MISC_SUPPORT
350*4882a593Smuzhiyun	select TPL_OF_CONTROL
351*4882a593Smuzhiyun	select TPL_DM
352*4882a593Smuzhiyun	select TPL_REGMAP
353*4882a593Smuzhiyun	select TPL_SYSCON
354*4882a593Smuzhiyun	select TPL_RAM
355*4882a593Smuzhiyun	select TPL_CLK
356*4882a593Smuzhiyun	select TPL_TINY_MEMSET
357*4882a593Smuzhiyun	help
358*4882a593Smuzhiyun	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
359*4882a593Smuzhiyun	  and quad-core Cortex-A53.
360*4882a593Smuzhiyun	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
361*4882a593Smuzhiyun	  video interfaces supporting HDMI and eDP, several DDR3 options
362*4882a593Smuzhiyun	  and video codec support. Peripherals include Gigabit Ethernet,
363*4882a593Smuzhiyun	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
364*4882a593Smuzhiyun
365*4882a593Smuzhiyunif ROCKCHIP_RK3399
366*4882a593Smuzhiyun
367*4882a593Smuzhiyunconfig ROCKCHIP_RK3399PRO
368*4882a593Smuzhiyun	bool "Support Rockchip RK3399Pro"
369*4882a593Smuzhiyun
370*4882a593Smuzhiyunconfig TPL_LDSCRIPT
371*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
372*4882a593Smuzhiyun
373*4882a593Smuzhiyunconfig TPL_TEXT_BASE
374*4882a593Smuzhiyun        default 0xff8c2000
375*4882a593Smuzhiyun
376*4882a593Smuzhiyunconfig TPL_MAX_SIZE
377*4882a593Smuzhiyun        default 188416
378*4882a593Smuzhiyun
379*4882a593Smuzhiyunconfig TPL_STACK
380*4882a593Smuzhiyun        default 0xff8effff
381*4882a593Smuzhiyun
382*4882a593Smuzhiyunendif
383*4882a593Smuzhiyun
384*4882a593Smuzhiyunconfig ROCKCHIP_RK3528
385*4882a593Smuzhiyun	bool "Support Rockchip RK3528"
386*4882a593Smuzhiyun	select ARM64 if !ARM64_BOOT_AARCH32
387*4882a593Smuzhiyun	select GICV2 if !ARM64_BOOT_AARCH32
388*4882a593Smuzhiyun	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
389*4882a593Smuzhiyun	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
390*4882a593Smuzhiyun	select TPL_TINY_FRAMEWORK if TPL
391*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
392*4882a593Smuzhiyun	imply TPL if !ARM64_BOOT_AARCH32
393*4882a593Smuzhiyun	imply SPL if !ARM64_BOOT_AARCH32
394*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
395*4882a593Smuzhiyun	help
396*4882a593Smuzhiyun	  The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53.
397*4882a593Smuzhiyun
398*4882a593Smuzhiyunif ROCKCHIP_RK3528
399*4882a593Smuzhiyun
400*4882a593Smuzhiyunconfig TPL_LDSCRIPT
401*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
402*4882a593Smuzhiyun
403*4882a593Smuzhiyunconfig TPL_TEXT_BASE
404*4882a593Smuzhiyun	default 0xfe481000
405*4882a593Smuzhiyun
406*4882a593Smuzhiyunconfig TPL_MAX_SIZE
407*4882a593Smuzhiyun	default 61440
408*4882a593Smuzhiyun
409*4882a593Smuzhiyunendif
410*4882a593Smuzhiyun
411*4882a593Smuzhiyunconfig ROCKCHIP_RK3562
412*4882a593Smuzhiyun	bool "Support Rockchip RK3562"
413*4882a593Smuzhiyun	select GICV2
414*4882a593Smuzhiyun	select ARM64
415*4882a593Smuzhiyun	select ARM_SMCCC
416*4882a593Smuzhiyun	select SUPPORT_TPL
417*4882a593Smuzhiyun	select SUPPORT_SPL
418*4882a593Smuzhiyun	select TPL_TINY_FRAMEWORK if TPL
419*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
420*4882a593Smuzhiyun	imply TPL
421*4882a593Smuzhiyun	imply SPL
422*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
423*4882a593Smuzhiyun	help
424*4882a593Smuzhiyun	  The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53.
425*4882a593Smuzhiyun
426*4882a593Smuzhiyunif ROCKCHIP_RK3562
427*4882a593Smuzhiyun
428*4882a593Smuzhiyunconfig TPL_LDSCRIPT
429*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
430*4882a593Smuzhiyun
431*4882a593Smuzhiyunconfig TPL_TEXT_BASE
432*4882a593Smuzhiyun	default 0xfe481000
433*4882a593Smuzhiyun
434*4882a593Smuzhiyunconfig TPL_MAX_SIZE
435*4882a593Smuzhiyun	default 61440
436*4882a593Smuzhiyun
437*4882a593Smuzhiyunendif
438*4882a593Smuzhiyun
439*4882a593Smuzhiyunconfig ROCKCHIP_RK3568
440*4882a593Smuzhiyun	bool "Support Rockchip RK3568"
441*4882a593Smuzhiyun	select ARM64 if !ARM64_BOOT_AARCH32
442*4882a593Smuzhiyun	select ARM_SMCCC
443*4882a593Smuzhiyun	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
444*4882a593Smuzhiyun	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
445*4882a593Smuzhiyun	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
446*4882a593Smuzhiyun	select TPL_TINY_FRAMEWORK if TPL
447*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
448*4882a593Smuzhiyun	imply TPL if !ARM64_BOOT_AARCH32
449*4882a593Smuzhiyun	imply SPL if !ARM64_BOOT_AARCH32
450*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
451*4882a593Smuzhiyun	help
452*4882a593Smuzhiyun	  The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
453*4882a593Smuzhiyun
454*4882a593Smuzhiyunif ROCKCHIP_RK3568
455*4882a593Smuzhiyun
456*4882a593Smuzhiyunconfig TPL_LDSCRIPT
457*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
458*4882a593Smuzhiyun
459*4882a593Smuzhiyunconfig TPL_TEXT_BASE
460*4882a593Smuzhiyun	default 0xfdcc1000
461*4882a593Smuzhiyun
462*4882a593Smuzhiyunconfig TPL_MAX_SIZE
463*4882a593Smuzhiyun	default 61440
464*4882a593Smuzhiyun
465*4882a593Smuzhiyunendif
466*4882a593Smuzhiyun
467*4882a593Smuzhiyunconfig ROCKCHIP_RK3588
468*4882a593Smuzhiyun	bool "Support Rockchip RK3588"
469*4882a593Smuzhiyun	select ARM64 if !ARM64_BOOT_AARCH32
470*4882a593Smuzhiyun	select ARM_SMCCC
471*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
472*4882a593Smuzhiyun	select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
473*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
474*4882a593Smuzhiyun	select SUPPORT_SPL if !ARM64_BOOT_AARCH32
475*4882a593Smuzhiyun	select SUPPORT_TPL if !ARM64_BOOT_AARCH32
476*4882a593Smuzhiyun	select TPL_TINY_FRAMEWORK if TPL
477*4882a593Smuzhiyun	imply TPL if !ARM64_BOOT_AARCH32
478*4882a593Smuzhiyun	imply SPL if !ARM64_BOOT_AARCH32
479*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
480*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
481*4882a593Smuzhiyun	help
482*4882a593Smuzhiyun	  The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55.
483*4882a593Smuzhiyun
484*4882a593Smuzhiyunif ROCKCHIP_RK3588
485*4882a593Smuzhiyun
486*4882a593Smuzhiyunconfig TPL_LDSCRIPT
487*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
488*4882a593Smuzhiyun
489*4882a593Smuzhiyunconfig TPL_TEXT_BASE
490*4882a593Smuzhiyun	default 0xfdcc1000
491*4882a593Smuzhiyun
492*4882a593Smuzhiyunconfig TPL_MAX_SIZE
493*4882a593Smuzhiyun	default 61440
494*4882a593Smuzhiyunendif
495*4882a593Smuzhiyun
496*4882a593Smuzhiyunconfig ROCKCHIP_RK1808
497*4882a593Smuzhiyun	bool "Support Rockchip RK1808"
498*4882a593Smuzhiyun	select ARM64
499*4882a593Smuzhiyun	select ARM_SMCCC
500*4882a593Smuzhiyun	select GICV3 if !COPROCESSOR_RK1808
501*4882a593Smuzhiyun	select SUPPORT_SPL if !COPROCESSOR_RK1808
502*4882a593Smuzhiyun	select SUPPORT_TPL if !COPROCESSOR_RK1808
503*4882a593Smuzhiyun	help
504*4882a593Smuzhiyun	  The Rockchip RK1808 is a ARM-based Soc which embedded with dual
505*4882a593Smuzhiyun	  Cortex-A35.
506*4882a593Smuzhiyun
507*4882a593Smuzhiyunif ROCKCHIP_RK1808
508*4882a593Smuzhiyun
509*4882a593Smuzhiyunconfig ROCKCHIP_RK1806
510*4882a593Smuzhiyun	bool "Support Rockchip RK1806"
511*4882a593Smuzhiyun	help
512*4882a593Smuzhiyun	  The Rockchip RK1806 is a ARM-based Soc which embedded with dual
513*4882a593Smuzhiyun	  Cortex-A35.
514*4882a593Smuzhiyun
515*4882a593Smuzhiyunconfig COPROCESSOR_RK1808
516*4882a593Smuzhiyun	bool "RK1808 coprocessor"
517*4882a593Smuzhiyun	help
518*4882a593Smuzhiyun	  This indicates the RK1808 is working as a coprocessor for another
519*4882a593Smuzhiyun	  more powerful SoC.
520*4882a593Smuzhiyun
521*4882a593Smuzhiyunendif
522*4882a593Smuzhiyun
523*4882a593Smuzhiyunconfig ROCKCHIP_RV1106
524*4882a593Smuzhiyun	bool "Support Rockchip RV1106"
525*4882a593Smuzhiyun	select CPU_V7
526*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
527*4882a593Smuzhiyun	imply SUPPORT_SPL
528*4882a593Smuzhiyun	imply SUPPORT_TPL
529*4882a593Smuzhiyun	imply SPL
530*4882a593Smuzhiyun	imply TPL
531*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
532*4882a593Smuzhiyun	imply TPL_TINY_FRAMEWORK if TPL
533*4882a593Smuzhiyun	imply BOARD_LATE_INIT
534*4882a593Smuzhiyun	imply ROCKCHIP_GPIO_V2
535*4882a593Smuzhiyun	help
536*4882a593Smuzhiyun	  The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and
537*4882a593Smuzhiyun	  other modules.
538*4882a593Smuzhiyun
539*4882a593Smuzhiyunif ROCKCHIP_RV1106
540*4882a593Smuzhiyun
541*4882a593Smuzhiyunconfig TPL_LDSCRIPT
542*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
543*4882a593Smuzhiyun
544*4882a593Smuzhiyunconfig TPL_TEXT_BASE
545*4882a593Smuzhiyun	default 0xff701000
546*4882a593Smuzhiyun
547*4882a593Smuzhiyunconfig TPL_MAX_SIZE
548*4882a593Smuzhiyun	default 32768
549*4882a593Smuzhiyunendif
550*4882a593Smuzhiyun
551*4882a593Smuzhiyunconfig ROCKCHIP_RV1108
552*4882a593Smuzhiyun	bool "Support Rockchip RV1108"
553*4882a593Smuzhiyun	select CPU_V7
554*4882a593Smuzhiyun	select SUPPORT_SPL
555*4882a593Smuzhiyun	select SUPPORT_TPL
556*4882a593Smuzhiyun	select SPL
557*4882a593Smuzhiyun	select TPL
558*4882a593Smuzhiyun	select BOARD_LATE_INIT
559*4882a593Smuzhiyun	help
560*4882a593Smuzhiyun	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
561*4882a593Smuzhiyun	  and a DSP.
562*4882a593Smuzhiyun
563*4882a593Smuzhiyunif ROCKCHIP_RV1108
564*4882a593Smuzhiyun
565*4882a593Smuzhiyunconfig TPL_LDSCRIPT
566*4882a593Smuzhiyun        default "arch/arm/mach-rockchip/u-boot-tpl.lds"
567*4882a593Smuzhiyun
568*4882a593Smuzhiyunconfig TPL_TEXT_BASE
569*4882a593Smuzhiyun        default 0x10080800
570*4882a593Smuzhiyun
571*4882a593Smuzhiyunconfig TPL_MAX_SIZE
572*4882a593Smuzhiyun        default 6144
573*4882a593Smuzhiyun
574*4882a593Smuzhiyunconfig TPL_STACK
575*4882a593Smuzhiyun        default 0x10082000
576*4882a593Smuzhiyun
577*4882a593Smuzhiyunendif
578*4882a593Smuzhiyun
579*4882a593Smuzhiyunconfig ROCKCHIP_RV1126
580*4882a593Smuzhiyun	bool "Support Rockchip RV1126"
581*4882a593Smuzhiyun	select CPU_V7
582*4882a593Smuzhiyun	imply SUPPORT_TPL
583*4882a593Smuzhiyun	imply SUPPORT_SPL
584*4882a593Smuzhiyun	imply TPL_TINY_FRAMEWORK if TPL
585*4882a593Smuzhiyun	select DEBUG_UART_BOARD_INIT
586*4882a593Smuzhiyun	imply TPL
587*4882a593Smuzhiyun	imply SPL
588*4882a593Smuzhiyun	imply GICV2
589*4882a593Smuzhiyun	imply ARM_SMCCC
590*4882a593Smuzhiyun	imply BOARD_LATE_INIT
591*4882a593Smuzhiyun	imply ROCKCHIP_GPIO_V2
592*4882a593Smuzhiyun	imply TPL_SERIAL_SUPPORT
593*4882a593Smuzhiyun	help
594*4882a593Smuzhiyun	  The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
595*4882a593Smuzhiyun	  and a risc-v core.
596*4882a593Smuzhiyun
597*4882a593Smuzhiyunif ROCKCHIP_RV1126
598*4882a593Smuzhiyun
599*4882a593Smuzhiyunconfig TPL_LDSCRIPT
600*4882a593Smuzhiyun	default "arch/arm/mach-rockchip/u-boot-tpl.lds"
601*4882a593Smuzhiyun
602*4882a593Smuzhiyunconfig TPL_TEXT_BASE
603*4882a593Smuzhiyun	default 0xff701000
604*4882a593Smuzhiyun
605*4882a593Smuzhiyunconfig TPL_MAX_SIZE
606*4882a593Smuzhiyun	default 32768
607*4882a593Smuzhiyunendif
608*4882a593Smuzhiyun
609*4882a593Smuzhiyunconfig SPL_ROCKCHIP_BACK_TO_BROM
610*4882a593Smuzhiyun	bool "SPL returns to bootrom"
611*4882a593Smuzhiyun	default y if ROCKCHIP_RK3036
612*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
613*4882a593Smuzhiyun	depends on SPL
614*4882a593Smuzhiyun	help
615*4882a593Smuzhiyun	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
616*4882a593Smuzhiyun          SPL will return to the boot rom, which will then load the U-Boot
617*4882a593Smuzhiyun          binary to keep going on.
618*4882a593Smuzhiyun
619*4882a593Smuzhiyunconfig TPL_ROCKCHIP_BACK_TO_BROM
620*4882a593Smuzhiyun	bool "TPL returns to bootrom"
621*4882a593Smuzhiyun	default y
622*4882a593Smuzhiyun	select ROCKCHIP_BROM_HELPER
623*4882a593Smuzhiyun	depends on TPL
624*4882a593Smuzhiyun	help
625*4882a593Smuzhiyun	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
626*4882a593Smuzhiyun          SPL will return to the boot rom, which will then load the U-Boot
627*4882a593Smuzhiyun          binary to keep going on.
628*4882a593Smuzhiyun
629*4882a593Smuzhiyunconfig ARM64_BOOT_AARCH32
630*4882a593Smuzhiyun	bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32"
631*4882a593Smuzhiyun	select CPU_V7
632*4882a593Smuzhiyun	default n
633*4882a593Smuzhiyun	help
634*4882a593Smuzhiyun	  If you want to boot an ARM64 processor on 32-bit mode, say y here.
635*4882a593Smuzhiyun
636*4882a593Smuzhiyunconfig ARM64_SWITCH_TO_AARCH32
637*4882a593Smuzhiyun	bool "Support AArch64 U-Boot boot AArch32 kernel"
638*4882a593Smuzhiyun	default n
639*4882a593Smuzhiyun	help
640*4882a593Smuzhiyun	  If you want AArch64 U-Boot to boot AArch32 kernel, say y here.
641*4882a593Smuzhiyun	  This feature needs ATF to help switch the PE state.
642*4882a593Smuzhiyun
643*4882a593Smuzhiyunconfig ROCKCHIP_BOOT_MODE_REG
644*4882a593Smuzhiyun	hex "Rockchip boot mode flag register address"
645*4882a593Smuzhiyun	default 0xff010200 if ROCKCHIP_PX30
646*4882a593Smuzhiyun	default 0x200081c8 if ROCKCHIP_RK3036
647*4882a593Smuzhiyun	default 0x100a0038 if ROCKCHIP_RK3128
648*4882a593Smuzhiyun	default 0x20004040 if ROCKCHIP_RK3188
649*4882a593Smuzhiyun	default 0x110005c8 if ROCKCHIP_RK322X
650*4882a593Smuzhiyun	default 0xff730094 if ROCKCHIP_RK3288
651*4882a593Smuzhiyun	default 0xff000500 if ROCKCHIP_RK3308
652*4882a593Smuzhiyun	default 0xff1005c8 if ROCKCHIP_RK3328
653*4882a593Smuzhiyun	default 0xff738200 if ROCKCHIP_RK3368
654*4882a593Smuzhiyun	default 0xff320300 if ROCKCHIP_RK3399
655*4882a593Smuzhiyun	default 0xff370200 if ROCKCHIP_RK3528
656*4882a593Smuzhiyun	default 0xff010220 if ROCKCHIP_RK3562
657*4882a593Smuzhiyun	default 0xfdc20200 if ROCKCHIP_RK3568
658*4882a593Smuzhiyun	default 0xfd588080 if ROCKCHIP_RK3588
659*4882a593Smuzhiyun	default 0xfe020200 if ROCKCHIP_RK1808
660*4882a593Smuzhiyun	default 0xff020200 if ROCKCHIP_RV1106
661*4882a593Smuzhiyun	default 0x10300580 if ROCKCHIP_RV1108
662*4882a593Smuzhiyun	default 0xfe020200 if ROCKCHIP_RV1126
663*4882a593Smuzhiyun	default 0
664*4882a593Smuzhiyun	help
665*4882a593Smuzhiyun	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
666*4882a593Smuzhiyun	  according to the value from this register.
667*4882a593Smuzhiyun
668*4882a593Smuzhiyunconfig ROCKCHIP_STIMER_BASE
669*4882a593Smuzhiyun	hex "Rockchip Secure timer base address"
670*4882a593Smuzhiyun	default 0xff220020 if ROCKCHIP_PX30
671*4882a593Smuzhiyun	default 0x200440a0 if ROCKCHIP_RK3036
672*4882a593Smuzhiyun	default 0x2000e000 if ROCKCHIP_RK3066
673*4882a593Smuzhiyun	default 0x20018020 if ROCKCHIP_RK3126
674*4882a593Smuzhiyun	default 0x200440a0 if ROCKCHIP_RK3128
675*4882a593Smuzhiyun	default 0x2000e000 if ROCKCHIP_RK3188
676*4882a593Smuzhiyun	default 0x110d0020 if ROCKCHIP_RK322X
677*4882a593Smuzhiyun	default 0xff810020 if ROCKCHIP_RK3288
678*4882a593Smuzhiyun	default 0xff1b00a0 if ROCKCHIP_RK3308
679*4882a593Smuzhiyun	default 0xff1d0020 if ROCKCHIP_RK3328
680*4882a593Smuzhiyun	default 0xff830020 if ROCKCHIP_RK3368
681*4882a593Smuzhiyun	default 0xff8680a0 if ROCKCHIP_RK3399
682*4882a593Smuzhiyun	default 0xff620000 if ROCKCHIP_RK3528
683*4882a593Smuzhiyun	default 0xffa90020 if ROCKCHIP_RK3562
684*4882a593Smuzhiyun	default 0xfdd1c020 if ROCKCHIP_RK3568
685*4882a593Smuzhiyun	default 0xfd8c8000 if ROCKCHIP_RK3588
686*4882a593Smuzhiyun	default 0xff590020 if ROCKCHIP_RV1106
687*4882a593Smuzhiyun	default 0x10350020 if ROCKCHIP_RV1108
688*4882a593Smuzhiyun	default 0xff670020 if ROCKCHIP_RV1126
689*4882a593Smuzhiyun	default 0
690*4882a593Smuzhiyun	help
691*4882a593Smuzhiyun	  The secure timer inited in SPL/TPL in secure word, ARM generic timer
692*4882a593Smuzhiyun	  works after this timer work.
693*4882a593Smuzhiyun
694*4882a593Smuzhiyunconfig ROCKCHIP_IRAM_START_ADDR
695*4882a593Smuzhiyun	hex "Rockchip Secure timer base address"
696*4882a593Smuzhiyun	default 0xff0e0000 if ROCKCHIP_PX30
697*4882a593Smuzhiyun	default 0x10080000 if ROCKCHIP_RK3036
698*4882a593Smuzhiyun	default 0x10080000 if ROCKCHIP_RK3128
699*4882a593Smuzhiyun	default 0x10080000 if ROCKCHIP_RK3188
700*4882a593Smuzhiyun	default 0x10080000 if ROCKCHIP_RK322X
701*4882a593Smuzhiyun	default 0xff700000 if ROCKCHIP_RK3288
702*4882a593Smuzhiyun	default 0xfff80000 if ROCKCHIP_RK3308
703*4882a593Smuzhiyun	default 0xff091000 if ROCKCHIP_RK3328
704*4882a593Smuzhiyun	default 0xff8c0000 if ROCKCHIP_RK3368
705*4882a593Smuzhiyun	default 0xff8c0000 if ROCKCHIP_RK3399
706*4882a593Smuzhiyun	default 0xfe480000 if ROCKCHIP_RK3528
707*4882a593Smuzhiyun	default 0xfe480000 if ROCKCHIP_RK3562
708*4882a593Smuzhiyun	default 0xfdcc0000 if ROCKCHIP_RK3568
709*4882a593Smuzhiyun	default 0xff000000 if ROCKCHIP_RK3588
710*4882a593Smuzhiyun	default 0xff6c0000 if ROCKCHIP_RV1106
711*4882a593Smuzhiyun	default 0x10080000 if ROCKCHIP_RV1108
712*4882a593Smuzhiyun	default 0xff700000 if ROCKCHIP_RV1126
713*4882a593Smuzhiyun	default 0
714*4882a593Smuzhiyun	help
715*4882a593Smuzhiyun	  The IRAM start addr is to locate variant of the boot device from
716*4882a593Smuzhiyun	  bootrom.
717*4882a593Smuzhiyun
718*4882a593Smuzhiyunconfig ROCKCHIP_SPL_RESERVE_IRAM
719*4882a593Smuzhiyun	hex "Size of IRAM reserved in SPL"
720*4882a593Smuzhiyun	default 0
721*4882a593Smuzhiyun	help
722*4882a593Smuzhiyun	  SPL may need reserve memory for firmware loaded by SPL, whose load
723*4882a593Smuzhiyun	  address is in IRAM and may overlay with SPL text area if not
724*4882a593Smuzhiyun	  reserved.
725*4882a593Smuzhiyun
726*4882a593Smuzhiyunconfig ROCKCHIP_BROM_HELPER
727*4882a593Smuzhiyun	bool
728*4882a593Smuzhiyun
729*4882a593Smuzhiyunconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
730*4882a593Smuzhiyun        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
731*4882a593Smuzhiyun	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
732*4882a593Smuzhiyun	help
733*4882a593Smuzhiyun	  Some Rockchip BROM variants (e.g. on the RK3188) load the
734*4882a593Smuzhiyun	  first stage in segments and enter multiple times. E.g. on
735*4882a593Smuzhiyun	  the RK3188, the first 1KB of the first stage are loaded
736*4882a593Smuzhiyun	  first and entered; after returning to the BROM, the
737*4882a593Smuzhiyun	  remainder of the first stage is loaded, but the BROM
738*4882a593Smuzhiyun	  re-enters at the same address/to the same code as previously.
739*4882a593Smuzhiyun
740*4882a593Smuzhiyun	  This enables support code in the BOOT0 hook for the SPL stage
741*4882a593Smuzhiyun	  to allow multiple entries.
742*4882a593Smuzhiyun
743*4882a593Smuzhiyunconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
744*4882a593Smuzhiyun        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
745*4882a593Smuzhiyun	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
746*4882a593Smuzhiyun	help
747*4882a593Smuzhiyun	  Some Rockchip BROM variants (e.g. on the RK3188) load the
748*4882a593Smuzhiyun	  first stage in segments and enter multiple times. E.g. on
749*4882a593Smuzhiyun	  the RK3188, the first 1KB of the first stage are loaded
750*4882a593Smuzhiyun	  first and entered; after returning to the BROM, the
751*4882a593Smuzhiyun	  remainder of the first stage is loaded, but the BROM
752*4882a593Smuzhiyun	  re-enters at the same address/to the same code as previously.
753*4882a593Smuzhiyun
754*4882a593Smuzhiyun	  This enables support code in the BOOT0 hook for the TPL stage
755*4882a593Smuzhiyun	  to allow multiple entries.
756*4882a593Smuzhiyun
757*4882a593Smuzhiyunconfig SPL_MMC_SUPPORT
758*4882a593Smuzhiyun	default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC
759*4882a593Smuzhiyun
760*4882a593Smuzhiyunconfig RKIMG_BOOTLOADER
761*4882a593Smuzhiyun	bool "Support for Rockchip platform features"
762*4882a593Smuzhiyun	default y
763*4882a593Smuzhiyun	help
764*4882a593Smuzhiyun	  Actually this is a compatible configure for code compilation.
765*4882a593Smuzhiyun
766*4882a593Smuzhiyunconfig RKIMG_ANDROID_BOOTMODE_LEGACY
767*4882a593Smuzhiyun	bool "Support set androidboot.mode with legacy rule"
768*4882a593Smuzhiyun	depends on RKIMG_BOOTLOADER
769*4882a593Smuzhiyun	default n
770*4882a593Smuzhiyun	help
771*4882a593Smuzhiyun	  Rockchip set "androidboot.mode=" as "charger" or boot media for android,
772*4882a593Smuzhiyun	  which is a rockchip private solution(SDK < 8.1) and deprecated.
773*4882a593Smuzhiyun
774*4882a593Smuzhiyunconfig ROCKCHIP_BOOTDEV
775*4882a593Smuzhiyun	string "Set the boot device for multiple storage board"
776*4882a593Smuzhiyun	default ""
777*4882a593Smuzhiyun	help
778*4882a593Smuzhiyun	  On the multiple storage on board, set this to determine what we really
779*4882a593Smuzhiyun	  want to be the boot device, which contains kernel, rootfs and etc.
780*4882a593Smuzhiyun	  Fall through to get from preloader or scan list when it's NULL.
781*4882a593Smuzhiyun
782*4882a593Smuzhiyunconfig ROCKCHIP_RESOURCE_IMAGE
783*4882a593Smuzhiyun	bool "Enable support for rockchip resource image"
784*4882a593Smuzhiyun	depends on RKIMG_BOOTLOADER
785*4882a593Smuzhiyun	default y
786*4882a593Smuzhiyun	help
787*4882a593Smuzhiyun	  This enables support to get dtb or logo files from
788*4882a593Smuzhiyun	  rockchip resource image format partition.
789*4882a593Smuzhiyun
790*4882a593Smuzhiyunconfig ROCKCHIP_DTB_VERIFY
791*4882a593Smuzhiyun	bool "Enable hash verify for DTB in the resource file"
792*4882a593Smuzhiyun	depends on ROCKCHIP_RESOURCE_IMAGE
793*4882a593Smuzhiyun	select SHA1 if !DM_CRYPTO
794*4882a593Smuzhiyun	select SHA256 if !DM_CRYPTO
795*4882a593Smuzhiyun	default y
796*4882a593Smuzhiyun	help
797*4882a593Smuzhiyun	  This enables the hash verify for DTB in the resource file, it means we
798*4882a593Smuzhiyun	  always read DTB from second position even the DTB position is present.
799*4882a593Smuzhiyun
800*4882a593Smuzhiyunconfig ROCKCHIP_USB_BOOT
801*4882a593Smuzhiyun	bool "Enable support for rockchip U-disk boot"
802*4882a593Smuzhiyun	depends on USB
803*4882a593Smuzhiyun	default n
804*4882a593Smuzhiyun	help
805*4882a593Smuzhiyun	  This enables support for rockchip U-disk boot.
806*4882a593Smuzhiyun
807*4882a593Smuzhiyunconfig ROCKCHIP_FIT_IMAGE
808*4882a593Smuzhiyun	bool "Enable support for FIT image"
809*4882a593Smuzhiyun	depends on FIT
810*4882a593Smuzhiyun	select CMD_BOOT_FIT
811*4882a593Smuzhiyun	default n
812*4882a593Smuzhiyun	help
813*4882a593Smuzhiyun	  This enables loading dtb from fit image.
814*4882a593Smuzhiyun
815*4882a593Smuzhiyunconfig ROCKCHIP_UIMAGE
816*4882a593Smuzhiyun	bool "Enable support for legacy uImage"
817*4882a593Smuzhiyun	depends on !FIT_SIGNATURE && USING_KERNEL_DTB
818*4882a593Smuzhiyun	select CMD_BOOT_UIMAGE
819*4882a593Smuzhiyun	default n
820*4882a593Smuzhiyun	help
821*4882a593Smuzhiyun	  This enables loading dtb from uImage image.
822*4882a593Smuzhiyun
823*4882a593Smuzhiyunconfig ROCKCHIP_EARLY_DISTRO_DTB
824*4882a593Smuzhiyun	bool "Enable support for distro dtb early"
825*4882a593Smuzhiyun	depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
826*4882a593Smuzhiyun	default n
827*4882a593Smuzhiyun	help
828*4882a593Smuzhiyun	  This enables loading dtb from distro bootable partition when there
829*4882a593Smuzhiyun	  is no valid dtb in android boot.img and rockchip resource.img.
830*4882a593Smuzhiyun
831*4882a593Smuzhiyunif ROCKCHIP_EARLY_DISTRO_DTB
832*4882a593Smuzhiyun
833*4882a593Smuzhiyunconfig ROCKCHIP_EARLY_DISTRO_DTB_PATH
834*4882a593Smuzhiyun	string "/rk-kernel.dtb"
835*4882a593Smuzhiyun	help
836*4882a593Smuzhiyun	  "DTB file path in the bootable partition image"
837*4882a593Smuzhiyunendif
838*4882a593Smuzhiyun
839*4882a593Smuzhiyunconfig ROCKCHIP_HWID_DTB
840*4882a593Smuzhiyun	bool "Enable support for selecting DTB by hardware id"
841*4882a593Smuzhiyun	depends on ROCKCHIP_RESOURCE_IMAGE
842*4882a593Smuzhiyun	default n
843*4882a593Smuzhiyun	help
844*4882a593Smuzhiyun	  This enables select the expected DTB from sets by hardware id,
845*4882a593Smuzhiyun	  i.e. GPIO or ADC value.
846*4882a593Smuzhiyun
847*4882a593Smuzhiyunconfig ROCKCHIP_VENDOR_PARTITION
848*4882a593Smuzhiyun	bool "Rockchip vendor storage partition support"
849*4882a593Smuzhiyun	depends on RKIMG_BOOTLOADER
850*4882a593Smuzhiyun	help
851*4882a593Smuzhiyun	  This enable support to read/write vendor configuration data from/to
852*4882a593Smuzhiyun	  this partition.
853*4882a593Smuzhiyun
854*4882a593Smuzhiyunconfig USING_KERNEL_DTB
855*4882a593Smuzhiyun	bool "Using dtb from Kernel/resource for U-Boot"
856*4882a593Smuzhiyun	depends on RKIMG_BOOTLOADER && OF_LIVE
857*4882a593Smuzhiyun	default y
858*4882a593Smuzhiyun	help
859*4882a593Smuzhiyun	  This enable support to read dtb from resource and use it for U-Boot,
860*4882a593Smuzhiyun	  the uart and emmc will still using U-Boot dtb, but other devices like
861*4882a593Smuzhiyun	  regulator/pmic, display, usb will use dts node from kernel.
862*4882a593Smuzhiyun
863*4882a593Smuzhiyunconfig USING_KERNEL_DTB_V2
864*4882a593Smuzhiyun	bool "Version 2 of kernel dtb mechanism"
865*4882a593Smuzhiyun	depends on USING_KERNEL_DTB
866*4882a593Smuzhiyun	default n
867*4882a593Smuzhiyun	help
868*4882a593Smuzhiyun	  The V2 mechanism:
869*4882a593Smuzhiyun	    - both of U-Boot and kernel's *ALL* devices are exist in dm tree.
870*4882a593Smuzhiyun	    - put the necessary U-Boot devices in the head of device uclass list.
871*4882a593Smuzhiyun	    - the both existence policy don't require phandle fixup any more.
872*4882a593Smuzhiyun	    - it is for the next generation(rk3588 ...) or necessary platforms.
873*4882a593Smuzhiyun	  The V1 mechanism(legacy):
874*4882a593Smuzhiyun	    - U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree.
875*4882a593Smuzhiyun	    - kernel: all the devices(except the U-Boot only) in dm tree.
876*4882a593Smuzhiyun
877*4882a593Smuzhiyunconfig EMBED_KERNEL_DTB
878*4882a593Smuzhiyun	bool "Enable embedded dtb support"
879*4882a593Smuzhiyun	default n
880*4882a593Smuzhiyun	help
881*4882a593Smuzhiyun	  Enable embedded dtb support.
882*4882a593Smuzhiyun
883*4882a593Smuzhiyunconfig EMBED_KERNEL_DTB_PATH
884*4882a593Smuzhiyun	string "Embedded kernel dtb file path"
885*4882a593Smuzhiyun	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
886*4882a593Smuzhiyun	default "dts/kern.dtb"
887*4882a593Smuzhiyun	help
888*4882a593Smuzhiyun	  This file will auto be appended to the u-boot.bin.
889*4882a593Smuzhiyun
890*4882a593Smuzhiyunconfig EMBED_KERNEL_DTB_ALWAYS
891*4882a593Smuzhiyun	bool "Always using embedded kernel dtb"
892*4882a593Smuzhiyun	depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
893*4882a593Smuzhiyun	default n
894*4882a593Smuzhiyun	help
895*4882a593Smuzhiyun	  Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB
896*4882a593Smuzhiyun	  is set. This makes U-Boot stage more stable but not flexible any more to
897*4882a593Smuzhiyun	  compatible different boards.
898*4882a593Smuzhiyun
899*4882a593Smuzhiyunconfig ROCKCHIP_CRC
900*4882a593Smuzhiyun	bool "Rockchip CRC verify images"
901*4882a593Smuzhiyun	help
902*4882a593Smuzhiyun	  This enable support Rockchip CRC verify images. It takes a lot of time,
903*4882a593Smuzhiyun	  so it is better only used for debug.
904*4882a593Smuzhiyun
905*4882a593Smuzhiyunconfig ROCKCHIP_SMCCC
906*4882a593Smuzhiyun	bool "Rockchip SMCCC"
907*4882a593Smuzhiyun	default y if ARM_SMCCC
908*4882a593Smuzhiyun	help
909*4882a593Smuzhiyun	  This enable support for Rockchip SMC calls
910*4882a593Smuzhiyun
911*4882a593Smuzhiyunconfig ROCKCHIP_DEBUGGER
912*4882a593Smuzhiyun	bool "Rockchip debugger"
913*4882a593Smuzhiyun	depends on IRQ
914*4882a593Smuzhiyun	help
915*4882a593Smuzhiyun	  This enable support for Rockchip debugger. Now we install a timer interrupt
916*4882a593Smuzhiyun	  and dump pt_regs when the timeout event trigger. This helps us to know cpu
917*4882a593Smuzhiyun	  state when system hang.
918*4882a593Smuzhiyun
919*4882a593Smuzhiyunconfig ROCKCHIP_CRASH_DUMP
920*4882a593Smuzhiyun	bool "Rockchip crash dump registers"
921*4882a593Smuzhiyun	help
922*4882a593Smuzhiyun	  This enable dump registers when system crash, the registers you would like
923*4882a593Smuzhiyun	  to dump can be added in show_regs().
924*4882a593Smuzhiyun
925*4882a593Smuzhiyunconfig ROCKCHIP_PRELOADER_ATAGS
926*4882a593Smuzhiyun	bool "Rockchip pre-loader atags"
927*4882a593Smuzhiyun	default y if ARCH_ROCKCHIP
928*4882a593Smuzhiyun	help
929*4882a593Smuzhiyun	  This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
930*4882a593Smuzhiyun	  tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
931*4882a593Smuzhiyun	  and finally ends with U-Boot.
932*4882a593Smuzhiyun
933*4882a593Smuzhiyunconfig ROCKCHIP_META
934*4882a593Smuzhiyun	bool "Rockchip Meta"
935*4882a593Smuzhiyun	depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT
936*4882a593Smuzhiyun	help
937*4882a593Smuzhiyun	  This support to load Rockchip meta data which like isp parameter, peripheral
938*4882a593Smuzhiyun	  parameters, etc.
939*4882a593Smuzhiyun
940*4882a593Smuzhiyunconfig ROCKCHIP_PRELOADER_SERIAL
941*4882a593Smuzhiyun	bool "Rockchip pre-loader serial"
942*4882a593Smuzhiyun	default y if ROCKCHIP_PRELOADER_ATAGS
943*4882a593Smuzhiyun	help
944*4882a593Smuzhiyun	  This enable U-Boot using pre-loader atags serial configure to initialize console.
945*4882a593Smuzhiyun	  It denpends on serial aliases to find pre-loader serial number.
946*4882a593Smuzhiyun
947*4882a593Smuzhiyunconfig ROCKCHIP_IMAGE_TINY
948*4882a593Smuzhiyun	bool "Rockchip tiny Image generation"
949*4882a593Smuzhiyun	default n
950*4882a593Smuzhiyun	help
951*4882a593Smuzhiyun	  This enable tiny image generation
952*4882a593Smuzhiyun
953*4882a593Smuzhiyunconfig ROCKCHIP_FIT_IMAGE_PACK
954*4882a593Smuzhiyun	bool "Rockchip fit image pack of U-Boot and TEE"
955*4882a593Smuzhiyun	depends on ROCKCHIP_FIT_IMAGE
956*4882a593Smuzhiyun	default n
957*4882a593Smuzhiyun	help
958*4882a593Smuzhiyun	  This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
959*4882a593Smuzhiyun
960*4882a593Smuzhiyunconfig ROCKCHIP_UART_MUX_SEL_M
961*4882a593Smuzhiyun	int "UART mux select"
962*4882a593Smuzhiyun	default 0
963*4882a593Smuzhiyun	depends on TPL
964*4882a593Smuzhiyun	help
965*4882a593Smuzhiyun	  This select uart multiplexer for debug uart iomux in board_debug_uart_init.
966*4882a593Smuzhiyun
967*4882a593Smuzhiyunconfig ROCKCHIP_REBOOT_TEST
968*4882a593Smuzhiyun	bool "Rockchip reboot stress test before kernel"
969*4882a593Smuzhiyun	default n
970*4882a593Smuzhiyun	help
971*4882a593Smuzhiyun	  It's a reboot stress test before kernel stages.
972*4882a593Smuzhiyun
973*4882a593Smuzhiyunconfig ROCKCHIP_NEW_IDB
974*4882a593Smuzhiyun	bool "Rockchip new IDB header"
975*4882a593Smuzhiyun	default n
976*4882a593Smuzhiyun	help
977*4882a593Smuzhiyun	  The new IDB header was introduced from RK356X.
978*4882a593Smuzhiyun
979*4882a593Smuzhiyunconfig ROCKCHIP_HOTKEY
980*4882a593Smuzhiyun	bool "Rockchip hotkey"
981*4882a593Smuzhiyun	default y
982*4882a593Smuzhiyun	help
983*4882a593Smuzhiyun	  Define a lot of hotkeys for debug.
984*4882a593Smuzhiyun
985*4882a593Smuzhiyunconfig ROCKCHIP_CMD
986*4882a593Smuzhiyun	string "Rockchip specific command"
987*4882a593Smuzhiyun	default ""
988*4882a593Smuzhiyun	help
989*4882a593Smuzhiyun	  It defines a command to be run when the key is pressed if assigned.
990*4882a593Smuzhiyun	  String format: "cmd key".
991*4882a593Smuzhiyun	  @cmd: any U-Boot cmd.
992*4882a593Smuzhiyun	  @key: any key map id, '-' standard for ignore.
993*4882a593Smuzhiyun	  e.g. "sd_update 115", 115 is KEY_VOLUMEUP.
994*4882a593Smuzhiyun
995*4882a593Smuzhiyunconfig GICV2
996*4882a593Smuzhiyun	bool "ARM GICv2"
997*4882a593Smuzhiyun
998*4882a593Smuzhiyunconfig GICV3
999*4882a593Smuzhiyun	bool "ARM GICv3"
1000*4882a593Smuzhiyun
1001*4882a593Smuzhiyunconfig ROCKCHIP_EMMC_IOMUX
1002*4882a593Smuzhiyun	bool "ROCKCHIP EMMC IOMUX"
1003*4882a593Smuzhiyun	default n
1004*4882a593Smuzhiyun	help
1005*4882a593Smuzhiyun	  This enable U-Boot to config EMMC iomux.
1006*4882a593Smuzhiyun
1007*4882a593Smuzhiyunconfig ROCKCHIP_NAND_IOMUX
1008*4882a593Smuzhiyun	bool "ROCKCHIP NAND IOMUX"
1009*4882a593Smuzhiyun	default n
1010*4882a593Smuzhiyun	help
1011*4882a593Smuzhiyun	  This enable U-Boot to config NAND iomux.
1012*4882a593Smuzhiyun
1013*4882a593Smuzhiyunconfig ROCKCHIP_SFC_IOMUX
1014*4882a593Smuzhiyun	bool "ROCKCHIP SFC IOMUX"
1015*4882a593Smuzhiyun	default n
1016*4882a593Smuzhiyun	help
1017*4882a593Smuzhiyun	  This enable U-Boot to config SFC iomux.
1018*4882a593Smuzhiyun
1019*4882a593Smuzhiyunconfig ROCKCHIP_SET_SN
1020*4882a593Smuzhiyun	bool "Rockchip set serial number"
1021*4882a593Smuzhiyun	default y
1022*4882a593Smuzhiyun
1023*4882a593Smuzhiyunconfig ROCKCHIP_SET_ETHADDR
1024*4882a593Smuzhiyun	bool "Rockchip set eth address"
1025*4882a593Smuzhiyun	default y
1026*4882a593Smuzhiyun
1027*4882a593Smuzhiyunconfig BASE_DEFCONFIG
1028*4882a593Smuzhiyun	string "Base defconfig of config fragment"
1029*4882a593Smuzhiyun	default ""
1030*4882a593Smuzhiyun	help
1031*4882a593Smuzhiyun	  Indicate the base defconfig of config fragment.
1032*4882a593Smuzhiyun
1033*4882a593Smuzhiyunconfig CHIP_NAME
1034*4882a593Smuzhiyun	string "Chip label name"
1035*4882a593Smuzhiyun	default ""
1036*4882a593Smuzhiyun
1037*4882a593Smuzhiyunconfig LOADER_INI
1038*4882a593Smuzhiyun	string "Name of Loader ini file in rkbin repository"
1039*4882a593Smuzhiyun	default ""
1040*4882a593Smuzhiyun	help
1041*4882a593Smuzhiyun	  The ini file is used to pack loader image.
1042*4882a593Smuzhiyun
1043*4882a593Smuzhiyunconfig TRUST_INI
1044*4882a593Smuzhiyun	string "Name of Trust ini file in rkbin repository"
1045*4882a593Smuzhiyun	default ""
1046*4882a593Smuzhiyun	help
1047*4882a593Smuzhiyun	  The ini file is used to pack trust image.
1048*4882a593Smuzhiyun
1049*4882a593Smuzhiyunif !ROCKCHIP_FIT_IMAGE_PACK
1050*4882a593Smuzhiyunconfig UBOOT_SIZE_KB
1051*4882a593Smuzhiyun	int "Per u-boot.bin Image size, unit: KB"
1052*4882a593Smuzhiyun	default 1024
1053*4882a593Smuzhiyun
1054*4882a593Smuzhiyunconfig UBOOT_NUM
1055*4882a593Smuzhiyun	int "Number of u-boot.bin image being packed into trust.img"
1056*4882a593Smuzhiyun	default 4
1057*4882a593Smuzhiyun
1058*4882a593Smuzhiyunconfig TRUST_SIZE_KB
1059*4882a593Smuzhiyun	int "Per trust Image size, unit: KB"
1060*4882a593Smuzhiyun	default 2048
1061*4882a593Smuzhiyun
1062*4882a593Smuzhiyunconfig TRUST_NUM
1063*4882a593Smuzhiyun	int "Number of trust image being packed into trust.img"
1064*4882a593Smuzhiyun	default 2
1065*4882a593Smuzhiyun
1066*4882a593Smuzhiyunconfig TRUST_RSA_MODE
1067*4882a593Smuzhiyun	int "RSA mode of trust.img on ARM64"
1068*4882a593Smuzhiyun	default 2
1069*4882a593Smuzhiyun	help
1070*4882a593Smuzhiyun	  The RSA mode for tools to pack, the mode id can be:
1071*4882a593Smuzhiyun	  0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss.
1072*4882a593Smuzhiyun
1073*4882a593Smuzhiyunconfig TRUST_SHA_MODE
1074*4882a593Smuzhiyun	int "SHA mode of trust.img on ARM64"
1075*4882a593Smuzhiyun	default 3
1076*4882a593Smuzhiyun	help
1077*4882a593Smuzhiyun	  The SHA mode for tools to pack, the mode id can be:
1078*4882a593Smuzhiyun	  0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian.
1079*4882a593Smuzhiyunendif
1080*4882a593Smuzhiyun
1081*4882a593Smuzhiyunconfig PSTORE
1082*4882a593Smuzhiyun	bool "Print log to linux pstore buffer"
1083*4882a593Smuzhiyun	default n
1084*4882a593Smuzhiyun	help
1085*4882a593Smuzhiyun	  This enable Print uboot log to linux pstore buffer which address
1086*4882a593Smuzhiyun	  is default 0x110000 for most soc.
1087*4882a593Smuzhiyun
1088*4882a593Smuzhiyunconfig PERSISTENT_RAM_ADDR
1089*4882a593Smuzhiyun	hex "Linux pstore buffer address"
1090*4882a593Smuzhiyun	default 0x0
1091*4882a593Smuzhiyun	depends on PSTORE
1092*4882a593Smuzhiyun	help
1093*4882a593Smuzhiyun	  This select linux pstore buffer address for U-Boot. When value is
1094*4882a593Smuzhiyun	  0, U-Boot auto gets this address from preloader atags.
1095*4882a593Smuzhiyun
1096*4882a593Smuzhiyunconfig PERSISTENT_RAM_SIZE
1097*4882a593Smuzhiyun	hex "Linux pstore buffer size"
1098*4882a593Smuzhiyun	default 0x0
1099*4882a593Smuzhiyun	depends on (PERSISTENT_RAM_ADDR != 0)
1100*4882a593Smuzhiyun	help
1101*4882a593Smuzhiyun	  This select linux pstore buffer size for U-Boot, the value must be
1102*4882a593Smuzhiyun	  set if PERSISTENT_RAM_ADDR != 0.
1103*4882a593Smuzhiyun
1104*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/px30/Kconfig"
1105*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3036/Kconfig"
1106*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3066/Kconfig"
1107*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3128/Kconfig"
1108*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3188/Kconfig"
1109*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk322x/Kconfig"
1110*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3288/Kconfig"
1111*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3308/Kconfig"
1112*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3328/Kconfig"
1113*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3368/Kconfig"
1114*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3399/Kconfig"
1115*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3528/Kconfig"
1116*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3562/Kconfig"
1117*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3568/Kconfig"
1118*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk3588/Kconfig"
1119*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rk1808/Kconfig"
1120*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rv1106/Kconfig"
1121*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rv1108/Kconfig"
1122*4882a593Smuzhiyunsource "arch/arm/mach-rockchip/rv1126/Kconfig"
1123*4882a593Smuzhiyun
1124*4882a593Smuzhiyunendif
1125