xref: /openbmc/u-boot/arch/arm/mach-rockchip/Kconfig (revision 8a8106f0)
12444dae5SSimon Glassif ARCH_ROCKCHIP
22444dae5SSimon Glass
3041cdb5fSHeiko Stübnerconfig ROCKCHIP_RK3036
4041cdb5fSHeiko Stübner	bool "Support Rockchip RK3036"
5041cdb5fSHeiko Stübner	select CPU_V7
6a381bcf5SKever Yang	select SUPPORT_SPL
7a381bcf5SKever Yang	select SPL
8041cdb5fSHeiko Stübner	help
9041cdb5fSHeiko Stübner	  The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
10041cdb5fSHeiko Stübner	  including NEON and GPU, Mali-400 graphics, several DDR3 options
11041cdb5fSHeiko Stübner	  and video codec support. Peripherals include Gigabit Ethernet,
12041cdb5fSHeiko Stübner	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
13041cdb5fSHeiko Stübner
14daeed1dbSKever Yangconfig ROCKCHIP_RK3128
15daeed1dbSKever Yang	bool "Support Rockchip RK3128"
16daeed1dbSKever Yang	select CPU_V7
17daeed1dbSKever Yang	help
18daeed1dbSKever Yang	  The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
19daeed1dbSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
20daeed1dbSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
21daeed1dbSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
22daeed1dbSKever Yang
230a2be69fSHeiko Stübnerconfig ROCKCHIP_RK3188
240a2be69fSHeiko Stübner	bool "Support Rockchip RK3188"
250a2be69fSHeiko Stübner	select CPU_V7
260680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
270a2be69fSHeiko Stübner	select SUPPORT_SPL
280a2be69fSHeiko Stübner	select SPL
294bbb05bcSPhilipp Tomsich	select SPL_CLK
304bbb05bcSPhilipp Tomsich	select SPL_PINCTRL
314bbb05bcSPhilipp Tomsich	select SPL_REGMAP
324bbb05bcSPhilipp Tomsich	select SPL_SYSCON
334bbb05bcSPhilipp Tomsich	select SPL_RAM
344bbb05bcSPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
354d9253fbSPhilipp Tomsich	select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
36008a610bSHeiko Stübner	select BOARD_LATE_INIT
370a2be69fSHeiko Stübner	select ROCKCHIP_BROM_HELPER
380a2be69fSHeiko Stübner	help
390a2be69fSHeiko Stübner	  The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
400a2be69fSHeiko Stübner	  including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
410a2be69fSHeiko Stübner	  video interfaces, several memory options and video codec support.
420a2be69fSHeiko Stübner	  Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
430a2be69fSHeiko Stübner	  UART, SPI, I2C and PWMs.
440a2be69fSHeiko Stübner
45168eef7aSKever Yangconfig ROCKCHIP_RK322X
46168eef7aSKever Yang	bool "Support Rockchip RK3228/RK3229"
47168eef7aSKever Yang	select CPU_V7
48168eef7aSKever Yang	select SUPPORT_SPL
49168eef7aSKever Yang	select SPL
50168eef7aSKever Yang	select ROCKCHIP_BROM_HELPER
51168eef7aSKever Yang	select DEBUG_UART_BOARD_INIT
52168eef7aSKever Yang	help
53168eef7aSKever Yang	  The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
54168eef7aSKever Yang	  including NEON and GPU, Mali-400 graphics, several DDR3 options
55168eef7aSKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
56168eef7aSKever Yang	  USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
57168eef7aSKever Yang
582444dae5SSimon Glassconfig ROCKCHIP_RK3288
592444dae5SSimon Glass	bool "Support Rockchip RK3288"
60e0f5dbcbSAndreas Färber	select CPU_V7
610680f1b1SLey Foon Tan	select SPL_BOARD_INIT if SPL
62a381bcf5SKever Yang	select SUPPORT_SPL
63a381bcf5SKever Yang	select SPL
642444dae5SSimon Glass	help
652444dae5SSimon Glass	  The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
662444dae5SSimon Glass	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
672444dae5SSimon Glass	  video interfaces supporting HDMI and eDP, several DDR3 options
682444dae5SSimon Glass	  and video codec support. Peripherals include Gigabit Ethernet,
69ef904bf2SAndreas Färber	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
702444dae5SSimon Glass
7185a3cfb8SKever Yangconfig ROCKCHIP_RK3328
7285a3cfb8SKever Yang	bool "Support Rockchip RK3328"
7385a3cfb8SKever Yang	select ARM64
7485a3cfb8SKever Yang	help
7585a3cfb8SKever Yang	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
7685a3cfb8SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
7785a3cfb8SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
7885a3cfb8SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
7985a3cfb8SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
8085a3cfb8SKever Yang
8137a0c600SAndreas Färberconfig ROCKCHIP_RK3368
8237a0c600SAndreas Färber	bool "Support Rockchip RK3368"
8337a0c600SAndreas Färber	select ARM64
845071457eSPhilipp Tomsich	select SUPPORT_SPL
855071457eSPhilipp Tomsich	select SUPPORT_TPL
864cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
874cf4378eSPhilipp Tomsich	select TPL_NEEDS_SEPARATE_STACK if TPL
885071457eSPhilipp Tomsich	imply SPL_SEPARATE_BSS
895071457eSPhilipp Tomsich	imply SPL_SERIAL_SUPPORT
905071457eSPhilipp Tomsich	imply TPL_SERIAL_SUPPORT
915071457eSPhilipp Tomsich	select DEBUG_UART_BOARD_INIT
9237a0c600SAndreas Färber	select SYS_NS16550
9337a0c600SAndreas Färber	help
949a8f009fSPhilipp Tomsich	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
959a8f009fSPhilipp Tomsich	  into a big and little cluster with 4 cores each) Cortex-A53 including
969a8f009fSPhilipp Tomsich	  AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
979a8f009fSPhilipp Tomsich	  (for the little cluster), PowerVR G6110 based graphics, one video
989a8f009fSPhilipp Tomsich	  output processor supporting LVDS/HDMI/eDP, several DDR3 options and
999a8f009fSPhilipp Tomsich	  video codec support.
1009a8f009fSPhilipp Tomsich
1019a8f009fSPhilipp Tomsich	  On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
1029a8f009fSPhilipp Tomsich	  I2S, UARTs, SPI, I2C and PWMs.
10337a0c600SAndreas Färber
104d9d1242bSPhilipp Tomsichif ROCKCHIP_RK3368
105d9d1242bSPhilipp Tomsich
106d9d1242bSPhilipp Tomsichconfig TPL_LDSCRIPT
107d9d1242bSPhilipp Tomsich	default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
108d9d1242bSPhilipp Tomsich
1095aa49af3SPhilipp Tomsichconfig TPL_TEXT_BASE
1105aa49af3SPhilipp Tomsich        default 0xff8c1000
1115aa49af3SPhilipp Tomsich
1125aa49af3SPhilipp Tomsichconfig TPL_MAX_SIZE
1135aa49af3SPhilipp Tomsich        default 28672
1145aa49af3SPhilipp Tomsich
1155aa49af3SPhilipp Tomsichconfig TPL_STACK
1165aa49af3SPhilipp Tomsich        default 0xff8cffff
1175aa49af3SPhilipp Tomsich
118d9d1242bSPhilipp Tomsichendif
119d9d1242bSPhilipp Tomsich
120a381bcf5SKever Yangconfig ROCKCHIP_RK3399
121a381bcf5SKever Yang	bool "Support Rockchip RK3399"
122a381bcf5SKever Yang	select ARM64
12366e87cc8SKever Yang	select SUPPORT_SPL
12466e87cc8SKever Yang	select SPL
12566e87cc8SKever Yang	select SPL_SEPARATE_BSS
126c0508e42SPhilipp Tomsich	select SPL_SERIAL_SUPPORT
127c0508e42SPhilipp Tomsich	select SPL_DRIVERS_MISC_SUPPORT
1287ee16de5SPhilipp Tomsich	select DEBUG_UART_BOARD_INIT
129e3067793SAndy Yan	select BOARD_LATE_INIT
130b4d23f76SAndy Yan	select ROCKCHIP_BROM_HELPER
131a381bcf5SKever Yang	help
132a381bcf5SKever Yang	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
133a381bcf5SKever Yang	  and quad-core Cortex-A53.
134a381bcf5SKever Yang	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
135a381bcf5SKever Yang	  video interfaces supporting HDMI and eDP, several DDR3 options
136a381bcf5SKever Yang	  and video codec support. Peripherals include Gigabit Ethernet,
137a381bcf5SKever Yang	  USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
138a381bcf5SKever Yang
1392c1e11ddSAndy Yanconfig ROCKCHIP_RV1108
1402c1e11ddSAndy Yan	bool "Support Rockchip RV1108"
1412c1e11ddSAndy Yan	select CPU_V7
1422c1e11ddSAndy Yan	help
1432c1e11ddSAndy Yan	  The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
1442c1e11ddSAndy Yan	  and a DSP.
1452c1e11ddSAndy Yan
146ee14d29dSPhilipp Tomsichconfig SPL_ROCKCHIP_BACK_TO_BROM
147b47ea792SXu Ziyuan	bool "SPL returns to bootrom"
148b47ea792SXu Ziyuan	default y if ROCKCHIP_RK3036
1491d845947SHeiko Stübner	select ROCKCHIP_BROM_HELPER
150ee14d29dSPhilipp Tomsich	depends on SPL
151ee14d29dSPhilipp Tomsich	help
152ee14d29dSPhilipp Tomsich	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
153ee14d29dSPhilipp Tomsich          SPL will return to the boot rom, which will then load the U-Boot
154ee14d29dSPhilipp Tomsich          binary to keep going on.
155ee14d29dSPhilipp Tomsich
156ee14d29dSPhilipp Tomsichconfig TPL_ROCKCHIP_BACK_TO_BROM
157ee14d29dSPhilipp Tomsich	bool "TPL returns to bootrom"
158ee14d29dSPhilipp Tomsich	default y if ROCKCHIP_RK3368
159ee14d29dSPhilipp Tomsich	select ROCKCHIP_BROM_HELPER
160ee14d29dSPhilipp Tomsich	depends on TPL
161b47ea792SXu Ziyuan	help
162b47ea792SXu Ziyuan	  Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
163b47ea792SXu Ziyuan          SPL will return to the boot rom, which will then load the U-Boot
164b47ea792SXu Ziyuan          binary to keep going on.
165b47ea792SXu Ziyuan
166e3067793SAndy Yanconfig ROCKCHIP_BOOT_MODE_REG
167e3067793SAndy Yan	hex "Rockchip boot mode flag register address"
168e3067793SAndy Yan	default 0x200081c8 if ROCKCHIP_RK3036
169e3067793SAndy Yan	default 0x20004040 if ROCKCHIP_RK3188
170e3067793SAndy Yan	default 0x110005c8 if ROCKCHIP_RK322X
171e3067793SAndy Yan	default 0xff730094 if ROCKCHIP_RK3288
172e3067793SAndy Yan	default 0xff738200 if ROCKCHIP_RK3368
173e3067793SAndy Yan	default 0xff320300 if ROCKCHIP_RK3399
174e3067793SAndy Yan	default 0x10300580 if ROCKCHIP_RV1108
175e3067793SAndy Yan	default 0
176e3067793SAndy Yan	help
177e3067793SAndy Yan	  The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
178e3067793SAndy Yan	  according to the value from this register.
179e3067793SAndy Yan
180fa1392a2SKever Yangconfig ROCKCHIP_SPL_RESERVE_IRAM
181fa1392a2SKever Yang	hex "Size of IRAM reserved in SPL"
182*8a8106f0SKever Yang	default 0
183fa1392a2SKever Yang	help
184fa1392a2SKever Yang	  SPL may need reserve memory for firmware loaded by SPL, whose load
185fa1392a2SKever Yang	  address is in IRAM and may overlay with SPL text area if not
186fa1392a2SKever Yang	  reserved.
187fa1392a2SKever Yang
1881d845947SHeiko Stübnerconfig ROCKCHIP_BROM_HELPER
1891d845947SHeiko Stübner	bool
1901d845947SHeiko Stübner
191b377d222SPhilipp Tomsichconfig SPL_ROCKCHIP_EARLYRETURN_TO_BROM
192b377d222SPhilipp Tomsich        bool "SPL requires early-return (for RK3188-style BROM) to BROM"
193b377d222SPhilipp Tomsich	depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
194b377d222SPhilipp Tomsich	help
195b377d222SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
196b377d222SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
197b377d222SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
198b377d222SPhilipp Tomsich	  first and entered; after returning to the BROM, the
199b377d222SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
200b377d222SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
201b377d222SPhilipp Tomsich
202b377d222SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the SPL stage
203b377d222SPhilipp Tomsich	  to allow multiple entries.
204b377d222SPhilipp Tomsich
205b377d222SPhilipp Tomsichconfig TPL_ROCKCHIP_EARLYRETURN_TO_BROM
206b377d222SPhilipp Tomsich        bool "TPL requires early-return (for RK3188-style BROM) to BROM"
207b377d222SPhilipp Tomsich	depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
208b377d222SPhilipp Tomsich	help
209b377d222SPhilipp Tomsich	  Some Rockchip BROM variants (e.g. on the RK3188) load the
210b377d222SPhilipp Tomsich	  first stage in segments and enter multiple times. E.g. on
211b377d222SPhilipp Tomsich	  the RK3188, the first 1KB of the first stage are loaded
212b377d222SPhilipp Tomsich	  first and entered; after returning to the BROM, the
213b377d222SPhilipp Tomsich	  remainder of the first stage is loaded, but the BROM
214b377d222SPhilipp Tomsich	  re-enters at the same address/to the same code as previously.
215b377d222SPhilipp Tomsich
216b377d222SPhilipp Tomsich	  This enables support code in the BOOT0 hook for the TPL stage
217b377d222SPhilipp Tomsich	  to allow multiple entries.
218b377d222SPhilipp Tomsich
219230e0e09SSandy Pattersonconfig SPL_MMC_SUPPORT
220ee14d29dSPhilipp Tomsich	default y if !SPL_ROCKCHIP_BACK_TO_BROM
221230e0e09SSandy Patterson
222be1d5e03Shuang linsource "arch/arm/mach-rockchip/rk3036/Kconfig"
223daeed1dbSKever Yangsource "arch/arm/mach-rockchip/rk3128/Kconfig"
2240a2be69fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3188/Kconfig"
225b24a8ec1SKever Yangsource "arch/arm/mach-rockchip/rk322x/Kconfig"
226041cdb5fSHeiko Stübnersource "arch/arm/mach-rockchip/rk3288/Kconfig"
22785a3cfb8SKever Yangsource "arch/arm/mach-rockchip/rk3328/Kconfig"
22837a0c600SAndreas Färbersource "arch/arm/mach-rockchip/rk3368/Kconfig"
229a381bcf5SKever Yangsource "arch/arm/mach-rockchip/rk3399/Kconfig"
2302c1e11ddSAndy Yansource "arch/arm/mach-rockchip/rv1108/Kconfig"
2312444dae5SSimon Glassendif
232