xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision b2dae9bd9403401d39334379a6dcd91daa8a92d8)
1if ARCH_ROCKCHIP
2
3config ROCKCHIP_RK3036
4	bool "Support Rockchip RK3036"
5	select CPU_V7
6	select SUPPORT_SPL
7	select SPL
8	help
9	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
10	  including NEON and GPU, Mali-400 graphics, several DDR3 options
11	  and video codec support. Peripherals include Gigabit Ethernet,
12	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
13
14config ROCKCHIP_RK3128
15	bool "Support Rockchip RK3128"
16	select CPU_V7
17	select GICV2
18	help
19	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
20	  including NEON and GPU, Mali-400 graphics, several DDR3 options
21	  and video codec support. Peripherals include Gigabit Ethernet,
22	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
23
24config ROCKCHIP_RK3066
25	bool "Support Rockchip RK3066"
26	select CPU_V7
27	select SUPPORT_SPL
28	select SUPPORT_TPL
29	select SPL
30	select TPL
31	select BOARD_LATE_INIT
32	select ROCKCHIP_BROM_HELPER
33	help
34	  The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
35	  including NEON and GPU, Mali-400 graphics, several DDR3 options
36	  and video codec support. Peripherals include ethernet, USB2 host
37	  and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
38
39config ROCKCHIP_RK3188
40	bool "Support Rockchip RK3188"
41	select CPU_V7
42	select SPL_BOARD_INIT if SPL
43	select SUPPORT_SPL
44	select SUPPORT_TPL
45	select SPL
46	select TPL
47	select BOARD_LATE_INIT
48	select ROCKCHIP_BROM_HELPER
49	help
50	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
51	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
52	  video interfaces, several memory options and video codec support.
53	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
54	  UART, SPI, I2C and PWMs.
55
56config ROCKCHIP_RK322X
57	bool "Support Rockchip RK3228/RK3229"
58	select CPU_V7
59	select SUPPORT_SPL
60	select SUPPORT_TPL
61	select SPL
62	select TPL
63	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
64	select TPL_NEEDS_SEPARATE_STACK if TPL
65	select SPL_DRIVERS_MISC_SUPPORT
66	imply SPL_SERIAL_SUPPORT
67	imply TPL_SERIAL_SUPPORT
68	select ROCKCHIP_BROM_HELPER
69	select DEBUG_UART_BOARD_INIT
70	select TPL_LIBCOMMON_SUPPORT
71	select TPL_LIBGENERIC_SUPPORT
72	select GICV2
73	help
74	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
75	  including NEON and GPU, Mali-400 graphics, several DDR3 options
76	  and video codec support. Peripherals include Gigabit Ethernet,
77	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
78
79config ROCKCHIP_RK3288
80	bool "Support Rockchip RK3288"
81	select CPU_V7
82	select SPL_BOARD_INIT if SPL
83	select SUPPORT_SPL
84	select SPL
85	select GICV2
86	help
87	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
88	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
89	  video interfaces supporting HDMI and eDP, several DDR3 options
90	  and video codec support. Peripherals include Gigabit Ethernet,
91	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
92
93config ROCKCHIP_RK3328
94	bool "Support Rockchip RK3328"
95	select ARM64
96	select GICV2
97	select SUPPORT_SPL
98	select SUPPORT_TPL
99	select SPL
100	select TPL
101	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
102	select TPL_NEEDS_SEPARATE_STACK if TPL
103	imply SPL_SERIAL_SUPPORT
104	imply TPL_SERIAL_SUPPORT
105	imply SPL_SEPARATE_BSS
106	select ENABLE_ARM_SOC_BOOT0_HOOK
107	select DEBUG_UART_BOARD_INIT
108	select SYS_NS16550
109	help
110	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
111	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
112	  video interfaces supporting HDMI and eDP, several DDR3 options
113	  and video codec support. Peripherals include Gigabit Ethernet,
114	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
115
116if ROCKCHIP_RK3328
117
118config TPL_LDSCRIPT
119	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
120
121config TPL_TEXT_BASE
122        default 0xff091000
123
124config TPL_MAX_SIZE
125        default 28672
126
127config TPL_STACK
128        default 0xff098000
129
130endif
131
132config ROCKCHIP_RK3368
133	bool "Support Rockchip RK3368"
134	select ARM64
135	select SUPPORT_SPL
136	select SUPPORT_TPL
137	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
138	select TPL_NEEDS_SEPARATE_STACK if TPL
139	imply SPL_SEPARATE_BSS
140	imply SPL_SERIAL_SUPPORT
141	imply TPL_SERIAL_SUPPORT
142	select ENABLE_ARM_SOC_BOOT0_HOOK
143	select DEBUG_UART_BOARD_INIT
144	select SYS_NS16550
145	select GICV2
146	help
147	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
148	  into a big and little cluster with 4 cores each) Cortex-A53 including
149	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
150	  (for the little cluster), PowerVR G6110 based graphics, one video
151	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
152	  video codec support.
153
154	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
155	  I2S, UARTs, SPI, I2C and PWMs.
156
157if ROCKCHIP_RK3368
158
159config TPL_LDSCRIPT
160	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
161
162config TPL_TEXT_BASE
163        default 0xff8c1000
164
165config TPL_MAX_SIZE
166        default 28672
167
168config TPL_STACK
169        default 0xff8cffff
170
171endif
172
173config ROCKCHIP_RK3399
174	bool "Support Rockchip RK3399"
175	select ARM64
176	select SUPPORT_SPL
177	select SPL
178	select SPL_SEPARATE_BSS
179	select SPL_SERIAL_SUPPORT
180	select SPL_DRIVERS_MISC_SUPPORT
181	select ENABLE_ARM_SOC_BOOT0_HOOK
182	select DEBUG_UART_BOARD_INIT
183	select GICV3
184	help
185	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
186	  and quad-core Cortex-A53.
187	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
188	  video interfaces supporting HDMI and eDP, several DDR3 options
189	  and video codec support. Peripherals include Gigabit Ethernet,
190	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
191
192config ROCKCHIP_RV1108
193	bool "Support Rockchip RV1108"
194	select CPU_V7
195	help
196	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
197	  and a DSP.
198
199config SPL_ROCKCHIP_BACK_TO_BROM
200	bool "SPL returns to bootrom"
201	default y if ROCKCHIP_RK3036
202	select ROCKCHIP_BROM_HELPER
203	depends on SPL
204	help
205	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
206          SPL will return to the boot rom, which will then load the U-Boot
207          binary to keep going on.
208
209config TPL_ROCKCHIP_BACK_TO_BROM
210	bool "TPL returns to bootrom"
211	default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328
212	select ROCKCHIP_BROM_HELPER
213	depends on TPL
214	help
215	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
216          SPL will return to the boot rom, which will then load the U-Boot
217          binary to keep going on.
218
219config ROCKCHIP_SPL_RESERVE_IRAM
220	hex "Size of IRAM reserved in SPL"
221	default 0x4000
222	help
223	  SPL may need reserve memory for firmware loaded by SPL, whose load
224	  address is in IRAM and may overlay with SPL text area if not
225	  reserved.
226
227config ROCKCHIP_BROM_HELPER
228	bool
229
230config SPL_MMC_SUPPORT
231	default y if !SPL_ROCKCHIP_BACK_TO_BROM
232
233config ROCKCHIP_BLOCK_API
234	bool "Rockchip block device api support"
235	help
236	  This enable read access to block device on
237	  rockchip platform.
238
239config ROCKCHIP_PARAM
240	bool "Rockchip parameter support"
241	depends on ROCKCHIP_BLOCK_API
242	help
243	  This enable support to get partition from rockchip
244	  parameter
245
246config ROCKCHIP_RESOURCE_IMAGE
247	bool "Enable support for rockchip resource image"
248	depends on ROCKCHIP_PARAM
249	help
250	  This enables support to get dtb or logo files from
251	  rockchip resource image format partition.
252
253config ROCKCHIP_PARTITION_BOOT
254	bool "Enable support for booting system from rockchip format partition"
255	depends on ROCKCHIP_RESOURCE_IMAGE
256	help
257	  This enables support for bootimg system from rockchip format partition
258
259config ROCKCHIP_VENDOR_PARTITION
260        bool "Rockchip vendor partition support"
261        depends on ROCKCHIP_BLOCK_API
262        help
263          This enable support to read/write vendor configuration data from/to
264	  this partition
265
266config GICV2
267	bool "ARM GICv2"
268
269config GICV3
270	bool "ARM GICv3"
271
272source "arch/arm/mach-rockchip/rk3036/Kconfig"
273source "arch/arm/mach-rockchip/rk3066/Kconfig"
274source "arch/arm/mach-rockchip/rk3128/Kconfig"
275source "arch/arm/mach-rockchip/rk3188/Kconfig"
276source "arch/arm/mach-rockchip/rk322x/Kconfig"
277source "arch/arm/mach-rockchip/rk3288/Kconfig"
278source "arch/arm/mach-rockchip/rk3328/Kconfig"
279source "arch/arm/mach-rockchip/rk3368/Kconfig"
280source "arch/arm/mach-rockchip/rk3399/Kconfig"
281source "arch/arm/mach-rockchip/rv1108/Kconfig"
282endif
283