• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if ARCH_ROCKCHIP
2
3config ROCKCHIP_PX30
4	bool "Support Rockchip PX30"
5	select ARM64
6	select SUPPORT_SPL
7	select SUPPORT_TPL
8	select SPL
9	select TPL
10	select TPL_TINY_FRAMEWORK if TPL
11	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
12	select TPL_NEEDS_SEPARATE_STACK if TPL
13	imply SPL_SEPARATE_BSS
14	select SPL_SERIAL_SUPPORT
15	select TPL_SERIAL_SUPPORT
16	select DEBUG_UART_BOARD_INIT
17	imply ROCKCHIP_COMMON_BOARD
18	imply SPL_ROCKCHIP_COMMON_BOARD
19	help
20	  The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
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
25config ROCKCHIP_RK3036
26	bool "Support Rockchip RK3036"
27	select CPU_V7A
28	select SUPPORT_SPL
29	select SPL
30	imply USB_FUNCTION_ROCKUSB
31	imply CMD_ROCKUSB
32	imply ROCKCHIP_COMMON_BOARD
33	help
34	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
35	  including NEON and GPU, Mali-400 graphics, several DDR3 options
36	  and video codec support. Peripherals include Gigabit Ethernet,
37	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
38
39config ROCKCHIP_RK3128
40	bool "Support Rockchip RK3128"
41	select CPU_V7A
42	imply ROCKCHIP_COMMON_BOARD
43	help
44	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
45	  including NEON and GPU, Mali-400 graphics, several DDR3 options
46	  and video codec support. Peripherals include Gigabit Ethernet,
47	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
48
49config ROCKCHIP_RK3188
50	bool "Support Rockchip RK3188"
51	select CPU_V7A
52	select SPL_BOARD_INIT if SPL
53	select SUPPORT_SPL
54	select SPL
55	select SPL_CLK
56	select SPL_REGMAP
57	select SPL_SYSCON
58	select SPL_RAM
59	select SPL_DRIVERS_MISC_SUPPORT
60	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
61	select SPL_ROCKCHIP_BACK_TO_BROM
62	select BOARD_LATE_INIT
63	imply ROCKCHIP_COMMON_BOARD
64	imply SPL_ROCKCHIP_COMMON_BOARD
65	help
66	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
67	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
68	  video interfaces, several memory options and video codec support.
69	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
70	  UART, SPI, I2C and PWMs.
71
72config ROCKCHIP_RK322X
73	bool "Support Rockchip RK3228/RK3229"
74	select CPU_V7A
75	select SUPPORT_SPL
76	select SUPPORT_TPL
77	select SPL
78	select SPL_DM
79	select SPL_OF_LIBFDT
80	select TPL
81	select TPL_DM
82	select TPL_OF_LIBFDT
83	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
84	select TPL_NEEDS_SEPARATE_STACK if TPL
85	select SPL_DRIVERS_MISC_SUPPORT
86	imply ROCKCHIP_COMMON_BOARD
87	imply SPL_SERIAL_SUPPORT
88	imply SPL_ROCKCHIP_COMMON_BOARD
89	imply TPL_SERIAL_SUPPORT
90	imply TPL_ROCKCHIP_COMMON_BOARD
91	select TPL_LIBCOMMON_SUPPORT
92	select TPL_LIBGENERIC_SUPPORT
93	help
94	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
95	  including NEON and GPU, Mali-400 graphics, several DDR3 options
96	  and video codec support. Peripherals include Gigabit Ethernet,
97	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
98
99config ROCKCHIP_RK3288
100	bool "Support Rockchip RK3288"
101	select CPU_V7A
102	select SUPPORT_SPL
103	select SPL
104	select SUPPORT_TPL
105	imply ROCKCHIP_COMMON_BOARD
106	imply SPL_ROCKCHIP_COMMON_BOARD
107	imply TPL_CLK
108	imply TPL_DM
109	imply TPL_DRIVERS_MISC_SUPPORT
110	imply TPL_LIBCOMMON_SUPPORT
111	imply TPL_LIBGENERIC_SUPPORT
112	imply TPL_NEEDS_SEPARATE_TEXT_BASE
113	imply TPL_NEEDS_SEPARATE_STACK
114	imply TPL_OF_CONTROL
115	imply TPL_OF_PLATDATA
116	imply TPL_RAM
117	imply TPL_REGMAP
118	imply TPL_ROCKCHIP_COMMON_BOARD
119	imply TPL_SERIAL_SUPPORT
120	imply TPL_SYSCON
121	imply USB_FUNCTION_ROCKUSB
122	imply CMD_ROCKUSB
123	help
124	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
125	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
126	  video interfaces supporting HDMI and eDP, several DDR3 options
127	  and video codec support. Peripherals include Gigabit Ethernet,
128	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
129
130config ROCKCHIP_RK3308
131	bool "Support Rockchip RK3308"
132	select ARM64
133	select DEBUG_UART_BOARD_INIT
134	select SUPPORT_SPL
135	select SUPPORT_TPL
136	select SPL
137	select SPL_ATF
138	select SPL_ATF_NO_PLATFORM_PARAM
139	select SPL_LOAD_FIT
140	imply ROCKCHIP_COMMON_BOARD
141	imply SPL_ROCKCHIP_COMMON_BOARD
142	imply SPL_CLK
143	imply SPL_REGMAP
144	imply SPL_SYSCON
145	imply SPL_RAM
146	imply SPL_SERIAL_SUPPORT
147	imply TPL_SERIAL_SUPPORT
148	imply SPL_SEPARATE_BSS
149	help
150	  The Rockchip RK3308 is a ARM-based Soc which embedded with quad
151	  Cortex-A35 and highly integrated audio interfaces.
152
153config ROCKCHIP_RK3328
154	bool "Support Rockchip RK3328"
155	select ARM64
156	select SUPPORT_SPL
157	select SPL
158	select SUPPORT_TPL
159	select TPL
160	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
161	select TPL_NEEDS_SEPARATE_STACK if TPL
162	imply ROCKCHIP_COMMON_BOARD
163	imply ROCKCHIP_SDRAM_COMMON
164	imply SPL_ROCKCHIP_COMMON_BOARD
165	imply SPL_SERIAL_SUPPORT
166	imply TPL_SERIAL_SUPPORT
167	imply SPL_SEPARATE_BSS
168	select ENABLE_ARM_SOC_BOOT0_HOOK
169	select DEBUG_UART_BOARD_INIT
170	select SYS_NS16550
171	help
172	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
173	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
174	  video interfaces supporting HDMI and eDP, several DDR3 options
175	  and video codec support. Peripherals include Gigabit Ethernet,
176	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
177
178config ROCKCHIP_RK3368
179	bool "Support Rockchip RK3368"
180	select ARM64
181	select SUPPORT_SPL
182	select SUPPORT_TPL
183	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
184	select TPL_NEEDS_SEPARATE_STACK if TPL
185	imply ROCKCHIP_COMMON_BOARD
186	imply SPL_ROCKCHIP_COMMON_BOARD
187	imply SPL_SEPARATE_BSS
188	imply SPL_SERIAL_SUPPORT
189	imply TPL_SERIAL_SUPPORT
190	imply TPL_ROCKCHIP_COMMON_BOARD
191	help
192	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
193	  into a big and little cluster with 4 cores each) Cortex-A53 including
194	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
195	  (for the little cluster), PowerVR G6110 based graphics, one video
196	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
197	  video codec support.
198
199	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
200	  I2S, UARTs, SPI, I2C and PWMs.
201
202config ROCKCHIP_RK3399
203	bool "Support Rockchip RK3399"
204	select ARM64
205	select SUPPORT_SPL
206	select SUPPORT_TPL
207	select SPL
208	select SPL_ATF
209	select SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
210	select SPL_BOARD_INIT if SPL
211	select SPL_LOAD_FIT
212	select SPL_CLK if SPL
213	select SPL_PINCTRL if SPL
214	select SPL_RAM if SPL
215	select SPL_REGMAP if SPL
216	select SPL_SYSCON if SPL
217	select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
218	select TPL_NEEDS_SEPARATE_STACK if TPL
219	select SPL_SEPARATE_BSS
220	select SPL_SERIAL_SUPPORT
221	select SPL_DRIVERS_MISC_SUPPORT
222	select CLK
223	select FIT
224	select PINCTRL
225	select RAM
226	select REGMAP
227	select SYSCON
228	select DM_PMIC
229	select DM_REGULATOR_FIXED
230	select BOARD_LATE_INIT
231	imply ROCKCHIP_COMMON_BOARD
232	imply ROCKCHIP_SDRAM_COMMON
233	imply SPL_ROCKCHIP_COMMON_BOARD
234	imply TPL_SERIAL_SUPPORT
235	imply TPL_LIBCOMMON_SUPPORT
236	imply TPL_LIBGENERIC_SUPPORT
237	imply TPL_SYS_MALLOC_SIMPLE
238	imply TPL_DRIVERS_MISC_SUPPORT
239	imply TPL_OF_CONTROL
240	imply TPL_DM
241	imply TPL_REGMAP
242	imply TPL_SYSCON
243	imply TPL_RAM
244	imply TPL_CLK
245	imply TPL_TINY_MEMSET
246	imply TPL_ROCKCHIP_COMMON_BOARD
247	help
248	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
249	  and quad-core Cortex-A53.
250	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
251	  video interfaces supporting HDMI and eDP, several DDR3 options
252	  and video codec support. Peripherals include Gigabit Ethernet,
253	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
254
255config ROCKCHIP_RV1108
256	bool "Support Rockchip RV1108"
257	select CPU_V7A
258	imply ROCKCHIP_COMMON_BOARD
259	help
260	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
261	  and a DSP.
262
263config ROCKCHIP_USB_UART
264	bool "Route uart output to usb pins"
265	help
266	  Rockchip SoCs have the ability to route the signals of the debug
267	  uart through the d+ and d- pins of a specific usb phy to enable
268	  some form of closed-case debugging. With this option supported
269	  SoCs will enable this routing as a debug measure.
270
271config SPL_ROCKCHIP_BACK_TO_BROM
272	bool "SPL returns to bootrom"
273	default y if ROCKCHIP_RK3036
274	select ROCKCHIP_BROM_HELPER
275	select SPL_BOOTROM_SUPPORT
276	depends on SPL
277	help
278	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
279          SPL will return to the boot rom, which will then load the U-Boot
280          binary to keep going on.
281
282config TPL_ROCKCHIP_BACK_TO_BROM
283	bool "TPL returns to bootrom"
284	default y
285	select ROCKCHIP_BROM_HELPER
286	select TPL_BOOTROM_SUPPORT
287	depends on TPL
288	help
289	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
290          SPL will return to the boot rom, which will then load the U-Boot
291          binary to keep going on.
292
293config ROCKCHIP_COMMON_BOARD
294	bool "Rockchip common board file"
295	help
296	  Rockchip SoCs have similar boot process, Common board file is mainly
297	  in charge of common process of board_init() and board_late_init() for
298	  U-Boot proper.
299
300config SPL_ROCKCHIP_COMMON_BOARD
301	bool "Rockchip SPL common board file"
302	depends on SPL
303	help
304	  Rockchip SoCs have similar boot process, SPL is mainly in charge of
305	  load and boot Trust ATF/U-Boot firmware, and DRAM init if there is
306	  no TPL for the board.
307
308config TPL_ROCKCHIP_COMMON_BOARD
309	bool "Rockchip TPL common board file"
310	depends on TPL
311	help
312	  Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
313	  init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
314	  common board is a basic TPL board init which can be shared for most
315	  of SoCs to avoid copy-paste for different SoCs.
316
317config ROCKCHIP_BOOT_MODE_REG
318	hex "Rockchip boot mode flag register address"
319	help
320	  The Soc will enter to different boot mode(defined in asm/arch-rockchip/boot_mode.h)
321	  according to the value from this register.
322
323config ROCKCHIP_SPL_RESERVE_IRAM
324	hex "Size of IRAM reserved in SPL"
325	default 0
326	help
327	  SPL may need reserve memory for firmware loaded by SPL, whose load
328	  address is in IRAM and may overlay with SPL text area if not
329	  reserved.
330
331config ROCKCHIP_BROM_HELPER
332	bool
333
334config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
335        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
336	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
337	help
338	  Some Rockchip BROM variants (e.g. on the RK3188) load the
339	  first stage in segments and enter multiple times. E.g. on
340	  the RK3188, the first 1KB of the first stage are loaded
341	  first and entered; after returning to the BROM, the
342	  remainder of the first stage is loaded, but the BROM
343	  re-enters at the same address/to the same code as previously.
344
345	  This enables support code in the BOOT0 hook for the SPL stage
346	  to allow multiple entries.
347
348config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
349        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
350	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
351	help
352	  Some Rockchip BROM variants (e.g. on the RK3188) load the
353	  first stage in segments and enter multiple times. E.g. on
354	  the RK3188, the first 1KB of the first stage are loaded
355	  first and entered; after returning to the BROM, the
356	  remainder of the first stage is loaded, but the BROM
357	  re-enters at the same address/to the same code as previously.
358
359	  This enables support code in the BOOT0 hook for the TPL stage
360	  to allow multiple entries.
361
362config SPL_MMC_SUPPORT
363	default y if !SPL_ROCKCHIP_BACK_TO_BROM
364
365source "arch/arm/mach-rockchip/px30/Kconfig"
366source "arch/arm/mach-rockchip/rk3036/Kconfig"
367source "arch/arm/mach-rockchip/rk3128/Kconfig"
368source "arch/arm/mach-rockchip/rk3188/Kconfig"
369source "arch/arm/mach-rockchip/rk322x/Kconfig"
370source "arch/arm/mach-rockchip/rk3288/Kconfig"
371source "arch/arm/mach-rockchip/rk3308/Kconfig"
372source "arch/arm/mach-rockchip/rk3328/Kconfig"
373source "arch/arm/mach-rockchip/rk3368/Kconfig"
374source "arch/arm/mach-rockchip/rk3399/Kconfig"
375source "arch/arm/mach-rockchip/rv1108/Kconfig"
376endif
377