xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/Kconfig (revision 05b25c8bf30a77beb555abb8f65e78bd2f21b5de)
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 DEBUG_UART_BOARD_INIT
107	select SYS_NS16550
108	help
109	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
110	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
111	  video interfaces supporting HDMI and eDP, several DDR3 options
112	  and video codec support. Peripherals include Gigabit Ethernet,
113	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
114
115if ROCKCHIP_RK3328
116
117config TPL_LDSCRIPT
118	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
119
120config TPL_TEXT_BASE
121        default 0xff091000
122
123config TPL_MAX_SIZE
124        default 28672
125
126config TPL_STACK
127        default 0xff098000
128
129endif
130
131config ROCKCHIP_RK3368
132	bool "Support Rockchip RK3368"
133	select ARM64
134	select SUPPORT_SPL
135	select SUPPORT_TPL
136	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
137	select TPL_NEEDS_SEPARATE_STACK if TPL
138	imply SPL_SEPARATE_BSS
139	imply SPL_SERIAL_SUPPORT
140	imply TPL_SERIAL_SUPPORT
141	select DEBUG_UART_BOARD_INIT
142	select SYS_NS16550
143	select GICV2
144	help
145	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
146	  into a big and little cluster with 4 cores each) Cortex-A53 including
147	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
148	  (for the little cluster), PowerVR G6110 based graphics, one video
149	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
150	  video codec support.
151
152	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
153	  I2S, UARTs, SPI, I2C and PWMs.
154
155if ROCKCHIP_RK3368
156
157config TPL_LDSCRIPT
158	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
159
160config TPL_TEXT_BASE
161        default 0xff8c1000
162
163config TPL_MAX_SIZE
164        default 28672
165
166config TPL_STACK
167        default 0xff8cffff
168
169endif
170
171config ROCKCHIP_RK3399
172	bool "Support Rockchip RK3399"
173	select ARM64
174	select SUPPORT_SPL
175	select SPL
176	select SPL_SEPARATE_BSS
177	select SPL_SERIAL_SUPPORT
178	select SPL_DRIVERS_MISC_SUPPORT
179	select DEBUG_UART_BOARD_INIT
180	select GICV3
181	help
182	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
183	  and quad-core Cortex-A53.
184	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
185	  video interfaces supporting HDMI and eDP, several DDR3 options
186	  and video codec support. Peripherals include Gigabit Ethernet,
187	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
188
189config ROCKCHIP_RV1108
190	bool "Support Rockchip RV1108"
191	select CPU_V7
192	help
193	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
194	  and a DSP.
195
196config SPL_ROCKCHIP_BACK_TO_BROM
197	bool "SPL returns to bootrom"
198	default y if ROCKCHIP_RK3036
199	select ROCKCHIP_BROM_HELPER
200	depends on SPL
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
206config TPL_ROCKCHIP_BACK_TO_BROM
207	bool "TPL returns to bootrom"
208	default y if ROCKCHIP_RK3368 || ROCKCHIP_RK3328
209	select ROCKCHIP_BROM_HELPER
210	depends on TPL
211	help
212	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
213          SPL will return to the boot rom, which will then load the U-Boot
214          binary to keep going on.
215
216config ROCKCHIP_SPL_RESERVE_IRAM
217	hex "Size of IRAM reserved in SPL"
218	default 0x4000
219	help
220	  SPL may need reserve memory for firmware loaded by SPL, whose load
221	  address is in IRAM and may overlay with SPL text area if not
222	  reserved.
223
224config ROCKCHIP_BROM_HELPER
225	bool
226
227config SPL_MMC_SUPPORT
228	default y if !SPL_ROCKCHIP_BACK_TO_BROM
229
230config ROCKCHIP_BLOCK_API
231	bool "Rockchip block device api support"
232	help
233	  This enable read access to block device on
234	  rockchip platform.
235
236config ROCKCHIP_PARAM
237	bool "Rockchip parameter support"
238	depends on ROCKCHIP_BLOCK_API
239	help
240	  This enable support to get partition from rockchip
241	  parameter
242
243config ROCKCHIP_RESOURCE_IMAGE
244	bool "Enable support for rockchip resource image"
245	depends on ROCKCHIP_PARAM
246	help
247	  This enables support to get dtb or logo files from
248	  rockchip resource image format partition.
249
250config ROCKCHIP_PARTITION_BOOT
251	bool "Enable support for booting system from rockchip format partition"
252	depends on ROCKCHIP_RESOURCE_IMAGE
253	help
254	  This enables support for bootimg system from rockchip format partition
255
256config ROCKCHIP_VENDOR_PARTITION
257        bool "Rockchip vendor partition support"
258        depends on ROCKCHIP_BLOCK_API
259        help
260          This enable support to read/write vendor configuration data from/to
261	  this partition
262
263config GICV2
264	bool "ARM GICv2"
265
266config GICV3
267	bool "ARM GICv3"
268
269source "arch/arm/mach-rockchip/rk3036/Kconfig"
270source "arch/arm/mach-rockchip/rk3066/Kconfig"
271source "arch/arm/mach-rockchip/rk3128/Kconfig"
272source "arch/arm/mach-rockchip/rk3188/Kconfig"
273source "arch/arm/mach-rockchip/rk322x/Kconfig"
274source "arch/arm/mach-rockchip/rk3288/Kconfig"
275source "arch/arm/mach-rockchip/rk3328/Kconfig"
276source "arch/arm/mach-rockchip/rk3368/Kconfig"
277source "arch/arm/mach-rockchip/rk3399/Kconfig"
278source "arch/arm/mach-rockchip/rv1108/Kconfig"
279endif
280