You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1129 lines
30 KiB
1129 lines
30 KiB
if ARCH_ROCKCHIP
|
|
|
|
config ROCKCHIP_PX30
|
|
bool "Support Rockchip PX30"
|
|
select ARM64 if !ARM64_BOOT_AARCH32
|
|
select GICV2
|
|
select ARM_SMCCC
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL if !ARM64_BOOT_AARCH32
|
|
select TPL if !ARM64_BOOT_AARCH32
|
|
select TPL_TINY_FRAMEWORK if TPL
|
|
|
|
imply SPL_SEPARATE_BSS
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply TPL_SERIAL_SUPPORT
|
|
help
|
|
The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
|
|
including NEON and GPU, Mali-400 graphics, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_PX30
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff0e1000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 10240
|
|
|
|
config ROCKCHIP_RK3326
|
|
bool "Support Rockchip RK3326 "
|
|
help
|
|
RK3326 can use most code from PX30, but at some situations we have
|
|
to distinguish between RK3326 and PX30, so this macro gives help.
|
|
It is usually selected in rk3326 board defconfig.
|
|
endif
|
|
|
|
config ROCKCHIP_RK3036
|
|
bool "Support Rockchip RK3036"
|
|
select CPU_V7
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select BOARD_LATE_INIT
|
|
select ROCKCHIP_BROM_HELPER
|
|
select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
|
|
select TPL_NEEDS_SEPARATE_STACK if TPL
|
|
select ARM_SMCCC
|
|
help
|
|
The Rockchip RK3036 is a ARM-based SoC with a dual-core Cortex-A7
|
|
including NEON and GPU, Mali-400 graphics, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
|
|
|
|
config ROCKCHIP_RK3128
|
|
bool "Support Rockchip RK3128"
|
|
select CPU_V7
|
|
select GICV2
|
|
select ARM_SMCCC
|
|
help
|
|
The Rockchip RK3128 is a ARM-based SoC with a quad-core Cortex-A7
|
|
including NEON and GPU, Mali-400 graphics, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_RK3128
|
|
|
|
config ROCKCHIP_RK3126
|
|
bool "Support Rockchip RK3126 "
|
|
help
|
|
RK3126 can use most code from RK3128, but at some situations we have
|
|
to distinguish between RK3126 and RK3128, so this macro gives help.
|
|
It is usually selected in rk3126 board defconfig.
|
|
|
|
config ROCKCHIP_PX3SE
|
|
bool "Support Rockchip PX3SE"
|
|
help
|
|
PX3SE is a variant of RK3128, it shares codes with RK3128, but we still
|
|
need this macro to distinguish PX3SE and RK3128.
|
|
endif
|
|
|
|
config ROCKCHIP_RK3066
|
|
bool "Support Rockchip RK3066"
|
|
select CPU_V7
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select BOARD_LATE_INIT
|
|
select ROCKCHIP_BROM_HELPER
|
|
select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
|
|
help
|
|
The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A9
|
|
including NEON and GPU, Mali-400 graphics, several DDR3 options
|
|
and video codec support. Peripherals include ethernet, USB2 host
|
|
and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
|
|
|
|
config ROCKCHIP_RK3188
|
|
bool "Support Rockchip RK3188"
|
|
select CPU_V7
|
|
select SPL_BOARD_INIT if SPL
|
|
select SUPPORT_SPL
|
|
select SPL
|
|
select SPL_CLK
|
|
select SPL_REGMAP
|
|
select SPL_SYSCON
|
|
select SPL_RAM
|
|
select SPL_DRIVERS_MISC_SUPPORT
|
|
select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
|
|
select BOARD_LATE_INIT
|
|
select ROCKCHIP_BROM_HELPER
|
|
help
|
|
The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
|
|
including NEON and GPU, 512KB L2 cache, Mali-400 graphics, two
|
|
video interfaces, several memory options and video codec support.
|
|
Peripherals include Fast Ethernet, USB2 host and OTG, SDIO, I2S,
|
|
UART, SPI, I2C and PWMs.
|
|
|
|
config ROCKCHIP_RK322X
|
|
bool "Support Rockchip RK3228/RK3229"
|
|
select CPU_V7
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
|
|
select TPL_NEEDS_SEPARATE_STACK if TPL
|
|
select SPL_DRIVERS_MISC_SUPPORT
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply TPL_SERIAL_SUPPORT
|
|
select ROCKCHIP_BROM_HELPER
|
|
select TPL_LIBCOMMON_SUPPORT
|
|
select TPL_LIBGENERIC_SUPPORT
|
|
select GICV2
|
|
select ARM_SMCCC
|
|
help
|
|
The Rockchip RK3229 is a ARM-based SoC with a dual-core Cortex-A7
|
|
including NEON and GPU, Mali-400 graphics, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_RK322X
|
|
|
|
config ROCKCHIP_RK3128X
|
|
bool "Support Rockchip RK3128X "
|
|
help
|
|
RK3128X can use most code from RK322X, but at some situations we have
|
|
to distinguish between RK3128X and RK322X, so this macro gives help.
|
|
It is usually selected in RK3128X board defconfig.
|
|
endif
|
|
|
|
config ROCKCHIP_RK3288
|
|
bool "Support Rockchip RK3288"
|
|
select CPU_V7
|
|
select SPL_BOARD_INIT if SPL
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
|
|
select TPL_NEEDS_SEPARATE_STACK if TPL
|
|
imply TPL_SERIAL_SUPPORT
|
|
select GICV2
|
|
select ARM_SMCCC
|
|
select SPL_OPTEE
|
|
select FIT
|
|
select SPL_LOAD_FIT
|
|
select TPL_LIBCOMMON_SUPPORT
|
|
select TPL_LIBGENERIC_SUPPORT
|
|
select TPL_SYS_MALLOC_SIMPLE
|
|
select TPL_BOOTROM_SUPPORT
|
|
select TPL_DRIVERS_MISC_SUPPORT
|
|
select TPL_OF_CONTROL
|
|
select TPL_DM
|
|
select TPL_REGMAP
|
|
select TPL_SYSCON
|
|
select TPL_RAM
|
|
select TPL_CLK
|
|
select TPL_TINY_MEMSET
|
|
help
|
|
The Rockchip RK3288 is a ARM-based SoC with a quad-core Cortex-A17
|
|
including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
|
|
video interfaces supporting HDMI and eDP, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_RK3288
|
|
config SPL_FIT_GENERATOR
|
|
default "arch/arm/mach-rockchip/make_fit_optee.sh"
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff704000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 32768
|
|
|
|
config TPL_STACK
|
|
default 0xff718000
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3308
|
|
bool "Support Rockchip RK3308"
|
|
select ARM64 if !ARM64_BOOT_AARCH32
|
|
select ARM_SMCCC
|
|
imply GICV2
|
|
select SUPPORT_SPL if !ARM64_BOOT_AARCH32
|
|
select SUPPORT_TPL if !ARM64_BOOT_AARCH32
|
|
select SPL if !ARM64_BOOT_AARCH32
|
|
select TPL if !ARM64_BOOT_AARCH32
|
|
imply SPL_CLK
|
|
imply SPL_REGMAP
|
|
imply SPL_SYSCON
|
|
imply SPL_RAM
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply TPL_SERIAL_SUPPORT
|
|
imply SPL_SEPARATE_BSS
|
|
help
|
|
The Rockchip RK3308 is a ARM-based Soc which embeded with quad
|
|
Cortex-A35 and highly integrated audio interfaces.
|
|
|
|
if ROCKCHIP_RK3308
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xfff81000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 10240
|
|
|
|
config TPL_STACK
|
|
default 0xfff84000
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3328
|
|
bool "Support Rockchip RK3328"
|
|
select ARM64
|
|
select GICV2
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
|
|
select TPL_NEEDS_SEPARATE_STACK if TPL
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply TPL_SERIAL_SUPPORT
|
|
imply SPL_SEPARATE_BSS
|
|
select ARM_SMCCC
|
|
help
|
|
The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
|
|
including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
|
|
video interfaces supporting HDMI and eDP, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_RK3328
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff091000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 28672
|
|
|
|
config TPL_STACK
|
|
default 0xff098000
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3368
|
|
bool "Support Rockchip RK3368"
|
|
select ARM64
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
|
|
select TPL_NEEDS_SEPARATE_STACK if TPL
|
|
imply SPL_SEPARATE_BSS
|
|
imply SPL_SERIAL_SUPPORT
|
|
imply TPL_SERIAL_SUPPORT
|
|
select GICV2
|
|
select ARM_SMCCC
|
|
help
|
|
The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
|
|
into a big and little cluster with 4 cores each) Cortex-A53 including
|
|
AdvSIMD, 512KB L2 cache (for the big cluster) and 256 KB L2 cache
|
|
(for the little cluster), PowerVR G6110 based graphics, one video
|
|
output processor supporting LVDS/HDMI/eDP, several DDR3 options and
|
|
video codec support.
|
|
|
|
On-chip peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO,
|
|
I2S, UARTs, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_RK3368
|
|
|
|
config ROCKCHIP_PX5
|
|
bool "Support Rockchip PX5"
|
|
help
|
|
PX5 is a variant of RK3368, it shares codes with RK3368, but we still
|
|
need this macro to distinguish PX5 and RK3368.
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff8c1000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 28672
|
|
|
|
config TPL_STACK
|
|
default 0xff8cffff
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3399
|
|
bool "Support Rockchip RK3399"
|
|
select ARM64
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
|
|
select TPL_NEEDS_SEPARATE_STACK if TPL
|
|
imply TPL_SERIAL_SUPPORT
|
|
select SPL_SEPARATE_BSS
|
|
select SPL_SERIAL_SUPPORT
|
|
select SPL_DRIVERS_MISC_SUPPORT
|
|
select GICV3
|
|
select BOARD_LATE_INIT
|
|
select ROCKCHIP_BROM_HELPER
|
|
select ARM_SMCCC
|
|
select TPL_LIBCOMMON_SUPPORT
|
|
select TPL_LIBGENERIC_SUPPORT
|
|
select TPL_SYS_MALLOC_SIMPLE
|
|
select TPL_BOOTROM_SUPPORT
|
|
select TPL_DRIVERS_MISC_SUPPORT
|
|
select TPL_OF_CONTROL
|
|
select TPL_DM
|
|
select TPL_REGMAP
|
|
select TPL_SYSCON
|
|
select TPL_RAM
|
|
select TPL_CLK
|
|
select TPL_TINY_MEMSET
|
|
help
|
|
The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
|
|
and quad-core Cortex-A53.
|
|
including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
|
|
video interfaces supporting HDMI and eDP, several DDR3 options
|
|
and video codec support. Peripherals include Gigabit Ethernet,
|
|
USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
|
|
|
|
if ROCKCHIP_RK3399
|
|
|
|
config ROCKCHIP_RK3399PRO
|
|
bool "Support Rockchip RK3399Pro"
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff8c2000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 188416
|
|
|
|
config TPL_STACK
|
|
default 0xff8effff
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3528
|
|
bool "Support Rockchip RK3528"
|
|
select ARM64 if !ARM64_BOOT_AARCH32
|
|
select GICV2 if !ARM64_BOOT_AARCH32
|
|
select SUPPORT_TPL if !ARM64_BOOT_AARCH32
|
|
select SUPPORT_SPL if !ARM64_BOOT_AARCH32
|
|
select TPL_TINY_FRAMEWORK if TPL
|
|
select DEBUG_UART_BOARD_INIT
|
|
imply TPL if !ARM64_BOOT_AARCH32
|
|
imply SPL if !ARM64_BOOT_AARCH32
|
|
imply TPL_SERIAL_SUPPORT
|
|
help
|
|
The Rockchip RK3528 is a ARM-based SoC with a quad-core Cortex-A53.
|
|
|
|
if ROCKCHIP_RK3528
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xfe481000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 61440
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3562
|
|
bool "Support Rockchip RK3562"
|
|
select GICV2
|
|
select ARM64
|
|
select ARM_SMCCC
|
|
select SUPPORT_TPL
|
|
select SUPPORT_SPL
|
|
select TPL_TINY_FRAMEWORK if TPL
|
|
select DEBUG_UART_BOARD_INIT
|
|
imply TPL
|
|
imply SPL
|
|
imply TPL_SERIAL_SUPPORT
|
|
help
|
|
The Rockchip RK3562 is a ARM-based SoC with a quad-core Cortex-A53.
|
|
|
|
if ROCKCHIP_RK3562
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xfe481000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 61440
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3568
|
|
bool "Support Rockchip RK3568"
|
|
select ARM64 if !ARM64_BOOT_AARCH32
|
|
select ARM_SMCCC
|
|
select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
|
|
select SUPPORT_TPL if !ARM64_BOOT_AARCH32
|
|
select SUPPORT_SPL if !ARM64_BOOT_AARCH32
|
|
select TPL_TINY_FRAMEWORK if TPL
|
|
select DEBUG_UART_BOARD_INIT
|
|
imply TPL if !ARM64_BOOT_AARCH32
|
|
imply SPL if !ARM64_BOOT_AARCH32
|
|
imply TPL_SERIAL_SUPPORT
|
|
help
|
|
The Rockchip RK3568 is a ARM-based SoC with a quad-core Cortex-A55.
|
|
|
|
if ROCKCHIP_RK3568
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xfdcc1000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 61440
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RK3588
|
|
bool "Support Rockchip RK3588"
|
|
select ARM64 if !ARM64_BOOT_AARCH32
|
|
select ARM_SMCCC
|
|
select DEBUG_UART_BOARD_INIT
|
|
select GICV3 if !ARM64_BOOT_AARCH32 && !SUPPORT_USBPLUG
|
|
select ROCKCHIP_BROM_HELPER
|
|
select SUPPORT_SPL if !ARM64_BOOT_AARCH32
|
|
select SUPPORT_TPL if !ARM64_BOOT_AARCH32
|
|
select TPL_TINY_FRAMEWORK if TPL
|
|
imply TPL if !ARM64_BOOT_AARCH32
|
|
imply SPL if !ARM64_BOOT_AARCH32
|
|
imply TPL_SERIAL_SUPPORT
|
|
select DEBUG_UART_BOARD_INIT
|
|
help
|
|
The Rockchip RK3588 is a ARM-based SoC with a quad-core Cortex-A55.
|
|
|
|
if ROCKCHIP_RK3588
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xfdcc1000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 61440
|
|
endif
|
|
|
|
config ROCKCHIP_RK1808
|
|
bool "Support Rockchip RK1808"
|
|
select ARM64
|
|
select ARM_SMCCC
|
|
select GICV3 if !COPROCESSOR_RK1808
|
|
select SUPPORT_SPL if !COPROCESSOR_RK1808
|
|
select SUPPORT_TPL if !COPROCESSOR_RK1808
|
|
help
|
|
The Rockchip RK1808 is a ARM-based Soc which embedded with dual
|
|
Cortex-A35.
|
|
|
|
if ROCKCHIP_RK1808
|
|
|
|
config ROCKCHIP_RK1806
|
|
bool "Support Rockchip RK1806"
|
|
help
|
|
The Rockchip RK1806 is a ARM-based Soc which embedded with dual
|
|
Cortex-A35.
|
|
|
|
config COPROCESSOR_RK1808
|
|
bool "RK1808 coprocessor"
|
|
help
|
|
This indicates the RK1808 is working as a coprocessor for another
|
|
more powerful SoC.
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RV1106
|
|
bool "Support Rockchip RV1106"
|
|
select CPU_V7
|
|
select DEBUG_UART_BOARD_INIT
|
|
imply SUPPORT_SPL
|
|
imply SUPPORT_TPL
|
|
imply SPL
|
|
imply TPL
|
|
imply TPL_SERIAL_SUPPORT
|
|
imply TPL_TINY_FRAMEWORK if TPL
|
|
imply BOARD_LATE_INIT
|
|
imply ROCKCHIP_GPIO_V2
|
|
help
|
|
The Rockchip RV1106 is a ARM-based SoC with a Cortex-A7 and
|
|
other modules.
|
|
|
|
if ROCKCHIP_RV1106
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff701000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 32768
|
|
endif
|
|
|
|
config ROCKCHIP_RV1108
|
|
bool "Support Rockchip RV1108"
|
|
select CPU_V7
|
|
select SUPPORT_SPL
|
|
select SUPPORT_TPL
|
|
select SPL
|
|
select TPL
|
|
select BOARD_LATE_INIT
|
|
help
|
|
The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
|
|
and a DSP.
|
|
|
|
if ROCKCHIP_RV1108
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0x10080800
|
|
|
|
config TPL_MAX_SIZE
|
|
default 6144
|
|
|
|
config TPL_STACK
|
|
default 0x10082000
|
|
|
|
endif
|
|
|
|
config ROCKCHIP_RV1126
|
|
bool "Support Rockchip RV1126"
|
|
select CPU_V7
|
|
imply SUPPORT_TPL
|
|
imply SUPPORT_SPL
|
|
imply TPL_TINY_FRAMEWORK if TPL
|
|
select DEBUG_UART_BOARD_INIT
|
|
imply TPL
|
|
imply SPL
|
|
imply GICV2
|
|
imply ARM_SMCCC
|
|
imply BOARD_LATE_INIT
|
|
imply ROCKCHIP_GPIO_V2
|
|
imply TPL_SERIAL_SUPPORT
|
|
help
|
|
The Rockchip RV1126 is a ARM-based SoC with a quad-core Cortex-A7
|
|
and a risc-v core.
|
|
|
|
if ROCKCHIP_RV1126
|
|
|
|
config TPL_LDSCRIPT
|
|
default "arch/arm/mach-rockchip/u-boot-tpl.lds"
|
|
|
|
config TPL_TEXT_BASE
|
|
default 0xff701000
|
|
|
|
config TPL_MAX_SIZE
|
|
default 32768
|
|
endif
|
|
|
|
config SPL_ROCKCHIP_BACK_TO_BROM
|
|
bool "SPL returns to bootrom"
|
|
default y if ROCKCHIP_RK3036
|
|
select ROCKCHIP_BROM_HELPER
|
|
depends on SPL
|
|
help
|
|
Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
|
|
SPL will return to the boot rom, which will then load the U-Boot
|
|
binary to keep going on.
|
|
|
|
config TPL_ROCKCHIP_BACK_TO_BROM
|
|
bool "TPL returns to bootrom"
|
|
default y
|
|
select ROCKCHIP_BROM_HELPER
|
|
depends on TPL
|
|
help
|
|
Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
|
|
SPL will return to the boot rom, which will then load the U-Boot
|
|
binary to keep going on.
|
|
|
|
config ARM64_BOOT_AARCH32
|
|
bool "Support Boot an ARM64 on AArch32 execution state, ie. U-Boot is in AArch32"
|
|
select CPU_V7
|
|
default n
|
|
help
|
|
If you want to boot an ARM64 processor on 32-bit mode, say y here.
|
|
|
|
config ARM64_SWITCH_TO_AARCH32
|
|
bool "Support AArch64 U-Boot boot AArch32 kernel"
|
|
default n
|
|
help
|
|
If you want AArch64 U-Boot to boot AArch32 kernel, say y here.
|
|
This feature needs ATF to help switch the PE state.
|
|
|
|
config ROCKCHIP_BOOT_MODE_REG
|
|
hex "Rockchip boot mode flag register address"
|
|
default 0xff010200 if ROCKCHIP_PX30
|
|
default 0x200081c8 if ROCKCHIP_RK3036
|
|
default 0x100a0038 if ROCKCHIP_RK3128
|
|
default 0x20004040 if ROCKCHIP_RK3188
|
|
default 0x110005c8 if ROCKCHIP_RK322X
|
|
default 0xff730094 if ROCKCHIP_RK3288
|
|
default 0xff000500 if ROCKCHIP_RK3308
|
|
default 0xff1005c8 if ROCKCHIP_RK3328
|
|
default 0xff738200 if ROCKCHIP_RK3368
|
|
default 0xff320300 if ROCKCHIP_RK3399
|
|
default 0xff370200 if ROCKCHIP_RK3528
|
|
default 0xff010220 if ROCKCHIP_RK3562
|
|
default 0xfdc20200 if ROCKCHIP_RK3568
|
|
default 0xfd588080 if ROCKCHIP_RK3588
|
|
default 0xfe020200 if ROCKCHIP_RK1808
|
|
default 0xff020200 if ROCKCHIP_RV1106
|
|
default 0x10300580 if ROCKCHIP_RV1108
|
|
default 0xfe020200 if ROCKCHIP_RV1126
|
|
default 0
|
|
help
|
|
The Soc will enter to different boot mode(defined in asm/arch/boot_mode.h)
|
|
according to the value from this register.
|
|
|
|
config ROCKCHIP_STIMER_BASE
|
|
hex "Rockchip Secure timer base address"
|
|
default 0xff220020 if ROCKCHIP_PX30
|
|
default 0x200440a0 if ROCKCHIP_RK3036
|
|
default 0x2000e000 if ROCKCHIP_RK3066
|
|
default 0x20018020 if ROCKCHIP_RK3126
|
|
default 0x200440a0 if ROCKCHIP_RK3128
|
|
default 0x2000e000 if ROCKCHIP_RK3188
|
|
default 0x110d0020 if ROCKCHIP_RK322X
|
|
default 0xff810020 if ROCKCHIP_RK3288
|
|
default 0xff1b00a0 if ROCKCHIP_RK3308
|
|
default 0xff1d0020 if ROCKCHIP_RK3328
|
|
default 0xff830020 if ROCKCHIP_RK3368
|
|
default 0xff8680a0 if ROCKCHIP_RK3399
|
|
default 0xff620000 if ROCKCHIP_RK3528
|
|
default 0xffa90020 if ROCKCHIP_RK3562
|
|
default 0xfdd1c020 if ROCKCHIP_RK3568
|
|
default 0xfd8c8000 if ROCKCHIP_RK3588
|
|
default 0xff590020 if ROCKCHIP_RV1106
|
|
default 0x10350020 if ROCKCHIP_RV1108
|
|
default 0xff670020 if ROCKCHIP_RV1126
|
|
default 0
|
|
help
|
|
The secure timer inited in SPL/TPL in secure word, ARM generic timer
|
|
works after this timer work.
|
|
|
|
config ROCKCHIP_IRAM_START_ADDR
|
|
hex "Rockchip Secure timer base address"
|
|
default 0xff0e0000 if ROCKCHIP_PX30
|
|
default 0x10080000 if ROCKCHIP_RK3036
|
|
default 0x10080000 if ROCKCHIP_RK3128
|
|
default 0x10080000 if ROCKCHIP_RK3188
|
|
default 0x10080000 if ROCKCHIP_RK322X
|
|
default 0xff700000 if ROCKCHIP_RK3288
|
|
default 0xfff80000 if ROCKCHIP_RK3308
|
|
default 0xff091000 if ROCKCHIP_RK3328
|
|
default 0xff8c0000 if ROCKCHIP_RK3368
|
|
default 0xff8c0000 if ROCKCHIP_RK3399
|
|
default 0xfe480000 if ROCKCHIP_RK3528
|
|
default 0xfe480000 if ROCKCHIP_RK3562
|
|
default 0xfdcc0000 if ROCKCHIP_RK3568
|
|
default 0xff000000 if ROCKCHIP_RK3588
|
|
default 0xff6c0000 if ROCKCHIP_RV1106
|
|
default 0x10080000 if ROCKCHIP_RV1108
|
|
default 0xff700000 if ROCKCHIP_RV1126
|
|
default 0
|
|
help
|
|
The IRAM start addr is to locate variant of the boot device from
|
|
bootrom.
|
|
|
|
config ROCKCHIP_SPL_RESERVE_IRAM
|
|
hex "Size of IRAM reserved in SPL"
|
|
default 0
|
|
help
|
|
SPL may need reserve memory for firmware loaded by SPL, whose load
|
|
address is in IRAM and may overlay with SPL text area if not
|
|
reserved.
|
|
|
|
config ROCKCHIP_BROM_HELPER
|
|
bool
|
|
|
|
config SPL_ROCKCHIP_EARLYRETURN_TO_BROM
|
|
bool "SPL requires early-return (for RK3188-style BROM) to BROM"
|
|
depends on SPL && ENABLE_ARM_SOC_BOOT0_HOOK
|
|
help
|
|
Some Rockchip BROM variants (e.g. on the RK3188) load the
|
|
first stage in segments and enter multiple times. E.g. on
|
|
the RK3188, the first 1KB of the first stage are loaded
|
|
first and entered; after returning to the BROM, the
|
|
remainder of the first stage is loaded, but the BROM
|
|
re-enters at the same address/to the same code as previously.
|
|
|
|
This enables support code in the BOOT0 hook for the SPL stage
|
|
to allow multiple entries.
|
|
|
|
config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
|
|
bool "TPL requires early-return (for RK3188-style BROM) to BROM"
|
|
depends on TPL && ENABLE_ARM_SOC_BOOT0_HOOK
|
|
help
|
|
Some Rockchip BROM variants (e.g. on the RK3188) load the
|
|
first stage in segments and enter multiple times. E.g. on
|
|
the RK3188, the first 1KB of the first stage are loaded
|
|
first and entered; after returning to the BROM, the
|
|
remainder of the first stage is loaded, but the BROM
|
|
re-enters at the same address/to the same code as previously.
|
|
|
|
This enables support code in the BOOT0 hook for the TPL stage
|
|
to allow multiple entries.
|
|
|
|
config SPL_MMC_SUPPORT
|
|
default y if !SPL_ROCKCHIP_BACK_TO_BROM && MMC
|
|
|
|
config RKIMG_BOOTLOADER
|
|
bool "Support for Rockchip platform features"
|
|
default y
|
|
help
|
|
Actually this is a compatible configure for code compilation.
|
|
|
|
config RKIMG_ANDROID_BOOTMODE_LEGACY
|
|
bool "Support set androidboot.mode with legacy rule"
|
|
depends on RKIMG_BOOTLOADER
|
|
default n
|
|
help
|
|
Rockchip set "androidboot.mode=" as "charger" or boot media for android,
|
|
which is a rockchip private solution(SDK < 8.1) and deprecated.
|
|
|
|
config ROCKCHIP_BOOTDEV
|
|
string "Set the boot device for multiple storage board"
|
|
default ""
|
|
help
|
|
On the multiple storage on board, set this to determine what we really
|
|
want to be the boot device, which contains kernel, rootfs and etc.
|
|
Fall through to get from preloader or scan list when it's NULL.
|
|
|
|
config ROCKCHIP_RESOURCE_IMAGE
|
|
bool "Enable support for rockchip resource image"
|
|
depends on RKIMG_BOOTLOADER
|
|
default y
|
|
help
|
|
This enables support to get dtb or logo files from
|
|
rockchip resource image format partition.
|
|
|
|
config ROCKCHIP_DTB_VERIFY
|
|
bool "Enable hash verify for DTB in the resource file"
|
|
depends on ROCKCHIP_RESOURCE_IMAGE
|
|
select SHA1 if !DM_CRYPTO
|
|
select SHA256 if !DM_CRYPTO
|
|
default y
|
|
help
|
|
This enables the hash verify for DTB in the resource file, it means we
|
|
always read DTB from second position even the DTB position is present.
|
|
|
|
config ROCKCHIP_USB_BOOT
|
|
bool "Enable support for rockchip U-disk boot"
|
|
depends on USB
|
|
default n
|
|
help
|
|
This enables support for rockchip U-disk boot.
|
|
|
|
config ROCKCHIP_FIT_IMAGE
|
|
bool "Enable support for FIT image"
|
|
depends on FIT
|
|
select CMD_BOOT_FIT
|
|
default n
|
|
help
|
|
This enables loading dtb from fit image.
|
|
|
|
config ROCKCHIP_UIMAGE
|
|
bool "Enable support for legacy uImage"
|
|
depends on !FIT_SIGNATURE && USING_KERNEL_DTB
|
|
select CMD_BOOT_UIMAGE
|
|
default n
|
|
help
|
|
This enables loading dtb from uImage image.
|
|
|
|
config ROCKCHIP_EARLY_DISTRO_DTB
|
|
bool "Enable support for distro dtb early"
|
|
depends on DISTRO_DEFAULTS && USING_KERNEL_DTB && CMD_FS_GENERIC
|
|
default n
|
|
help
|
|
This enables loading dtb from distro bootable partition when there
|
|
is no valid dtb in android boot.img and rockchip resource.img.
|
|
|
|
if ROCKCHIP_EARLY_DISTRO_DTB
|
|
|
|
config ROCKCHIP_EARLY_DISTRO_DTB_PATH
|
|
string "/rk-kernel.dtb"
|
|
help
|
|
"DTB file path in the bootable partition image"
|
|
endif
|
|
|
|
config ROCKCHIP_HWID_DTB
|
|
bool "Enable support for selecting DTB by hardware id"
|
|
depends on ROCKCHIP_RESOURCE_IMAGE
|
|
default n
|
|
help
|
|
This enables select the expected DTB from sets by hardware id,
|
|
i.e. GPIO or ADC value.
|
|
|
|
config ROCKCHIP_VENDOR_PARTITION
|
|
bool "Rockchip vendor storage partition support"
|
|
depends on RKIMG_BOOTLOADER
|
|
help
|
|
This enable support to read/write vendor configuration data from/to
|
|
this partition.
|
|
|
|
config USING_KERNEL_DTB
|
|
bool "Using dtb from Kernel/resource for U-Boot"
|
|
depends on RKIMG_BOOTLOADER && OF_LIVE
|
|
default y
|
|
help
|
|
This enable support to read dtb from resource and use it for U-Boot,
|
|
the uart and emmc will still using U-Boot dtb, but other devices like
|
|
regulator/pmic, display, usb will use dts node from kernel.
|
|
|
|
config USING_KERNEL_DTB_V2
|
|
bool "Version 2 of kernel dtb mechanism"
|
|
depends on USING_KERNEL_DTB
|
|
default n
|
|
help
|
|
The V2 mechanism:
|
|
- both of U-Boot and kernel's *ALL* devices are exist in dm tree.
|
|
- put the necessary U-Boot devices in the head of device uclass list.
|
|
- the both existence policy don't require phandle fixup any more.
|
|
- it is for the next generation(rk3588 ...) or necessary platforms.
|
|
The V1 mechanism(legacy):
|
|
- U-Boot: only some necessary U-Boot devices(storage, crypto...) in dm tree.
|
|
- kernel: all the devices(except the U-Boot only) in dm tree.
|
|
|
|
config EMBED_KERNEL_DTB
|
|
bool "Enable embedded dtb support"
|
|
default n
|
|
help
|
|
Enable embedded dtb support.
|
|
|
|
config EMBED_KERNEL_DTB_PATH
|
|
string "Embedded kernel dtb file path"
|
|
depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
|
|
default "dts/kern.dtb"
|
|
help
|
|
This file will auto be appended to the u-boot.bin.
|
|
|
|
config EMBED_KERNEL_DTB_ALWAYS
|
|
bool "Always using embedded kernel dtb"
|
|
depends on EMBED_KERNEL_DTB && USING_KERNEL_DTB
|
|
default n
|
|
help
|
|
Allow fallback to always use a prepared kernel dtb even USING_KERNEL_DTB
|
|
is set. This makes U-Boot stage more stable but not flexible any more to
|
|
compatible different boards.
|
|
|
|
config ROCKCHIP_CRC
|
|
bool "Rockchip CRC verify images"
|
|
help
|
|
This enable support Rockchip CRC verify images. It takes a lot of time,
|
|
so it is better only used for debug.
|
|
|
|
config ROCKCHIP_SMCCC
|
|
bool "Rockchip SMCCC"
|
|
default y if ARM_SMCCC
|
|
help
|
|
This enable support for Rockchip SMC calls
|
|
|
|
config ROCKCHIP_DEBUGGER
|
|
bool "Rockchip debugger"
|
|
depends on IRQ
|
|
help
|
|
This enable support for Rockchip debugger. Now we install a timer interrupt
|
|
and dump pt_regs when the timeout event trigger. This helps us to know cpu
|
|
state when system hang.
|
|
|
|
config ROCKCHIP_CRASH_DUMP
|
|
bool "Rockchip crash dump registers"
|
|
help
|
|
This enable dump registers when system crash, the registers you would like
|
|
to dump can be added in show_regs().
|
|
|
|
config ROCKCHIP_PRELOADER_ATAGS
|
|
bool "Rockchip pre-loader atags"
|
|
default y if ARCH_ROCKCHIP
|
|
help
|
|
This enable support Rockchip atags among pre-loaders, i.e. ddr, miniloader, ATF,
|
|
tos, U-Boot, etc. It delivers boot and configure information, shared with pre-loaders
|
|
and finally ends with U-Boot.
|
|
|
|
config ROCKCHIP_META
|
|
bool "Rockchip Meta"
|
|
depends on SPL_KERNEL_BOOT && SPL_LIBDISK_SUPPORT
|
|
help
|
|
This support to load Rockchip meta data which like isp parameter, peripheral
|
|
parameters, etc.
|
|
|
|
config ROCKCHIP_PRELOADER_SERIAL
|
|
bool "Rockchip pre-loader serial"
|
|
default y if ROCKCHIP_PRELOADER_ATAGS
|
|
help
|
|
This enable U-Boot using pre-loader atags serial configure to initialize console.
|
|
It denpends on serial aliases to find pre-loader serial number.
|
|
|
|
config ROCKCHIP_IMAGE_TINY
|
|
bool "Rockchip tiny Image generation"
|
|
default n
|
|
help
|
|
This enable tiny image generation
|
|
|
|
config ROCKCHIP_FIT_IMAGE_PACK
|
|
bool "Rockchip fit image pack of U-Boot and TEE"
|
|
depends on ROCKCHIP_FIT_IMAGE
|
|
default n
|
|
help
|
|
This enable fit image pack of U-Boot and TEE, it's used for make.sh script.
|
|
|
|
config ROCKCHIP_UART_MUX_SEL_M
|
|
int "UART mux select"
|
|
default 0
|
|
depends on TPL
|
|
help
|
|
This select uart multiplexer for debug uart iomux in board_debug_uart_init.
|
|
|
|
config ROCKCHIP_REBOOT_TEST
|
|
bool "Rockchip reboot stress test before kernel"
|
|
default n
|
|
help
|
|
It's a reboot stress test before kernel stages.
|
|
|
|
config ROCKCHIP_NEW_IDB
|
|
bool "Rockchip new IDB header"
|
|
default n
|
|
help
|
|
The new IDB header was introduced from RK356X.
|
|
|
|
config ROCKCHIP_HOTKEY
|
|
bool "Rockchip hotkey"
|
|
default y
|
|
help
|
|
Define a lot of hotkeys for debug.
|
|
|
|
config ROCKCHIP_CMD
|
|
string "Rockchip specific command"
|
|
default ""
|
|
help
|
|
It defines a command to be run when the key is pressed if assigned.
|
|
String format: "cmd key".
|
|
@cmd: any U-Boot cmd.
|
|
@key: any key map id, '-' standard for ignore.
|
|
e.g. "sd_update 115", 115 is KEY_VOLUMEUP.
|
|
|
|
config GICV2
|
|
bool "ARM GICv2"
|
|
|
|
config GICV3
|
|
bool "ARM GICv3"
|
|
|
|
config ROCKCHIP_EMMC_IOMUX
|
|
bool "ROCKCHIP EMMC IOMUX"
|
|
default n
|
|
help
|
|
This enable U-Boot to config EMMC iomux.
|
|
|
|
config ROCKCHIP_NAND_IOMUX
|
|
bool "ROCKCHIP NAND IOMUX"
|
|
default n
|
|
help
|
|
This enable U-Boot to config NAND iomux.
|
|
|
|
config ROCKCHIP_SFC_IOMUX
|
|
bool "ROCKCHIP SFC IOMUX"
|
|
default n
|
|
help
|
|
This enable U-Boot to config SFC iomux.
|
|
|
|
config ROCKCHIP_SET_SN
|
|
bool "Rockchip set serial number"
|
|
default y
|
|
|
|
config ROCKCHIP_SET_ETHADDR
|
|
bool "Rockchip set eth address"
|
|
default y
|
|
|
|
config BASE_DEFCONFIG
|
|
string "Base defconfig of config fragment"
|
|
default ""
|
|
help
|
|
Indicate the base defconfig of config fragment.
|
|
|
|
config CHIP_NAME
|
|
string "Chip label name"
|
|
default ""
|
|
|
|
config LOADER_INI
|
|
string "Name of Loader ini file in rkbin repository"
|
|
default ""
|
|
help
|
|
The ini file is used to pack loader image.
|
|
|
|
config TRUST_INI
|
|
string "Name of Trust ini file in rkbin repository"
|
|
default ""
|
|
help
|
|
The ini file is used to pack trust image.
|
|
|
|
if !ROCKCHIP_FIT_IMAGE_PACK
|
|
config UBOOT_SIZE_KB
|
|
int "Per u-boot.bin Image size, unit: KB"
|
|
default 1024
|
|
|
|
config UBOOT_NUM
|
|
int "Number of u-boot.bin image being packed into trust.img"
|
|
default 4
|
|
|
|
config TRUST_SIZE_KB
|
|
int "Per trust Image size, unit: KB"
|
|
default 2048
|
|
|
|
config TRUST_NUM
|
|
int "Number of trust image being packed into trust.img"
|
|
default 2
|
|
|
|
config TRUST_RSA_MODE
|
|
int "RSA mode of trust.img on ARM64"
|
|
default 2
|
|
help
|
|
The RSA mode for tools to pack, the mode id can be:
|
|
0: none; 1: RSA-1024; 2: RSA-2048; 3: RSA-2048-pss.
|
|
|
|
config TRUST_SHA_MODE
|
|
int "SHA mode of trust.img on ARM64"
|
|
default 3
|
|
help
|
|
The SHA mode for tools to pack, the mode id can be:
|
|
0: none; 1: sha1; 2: sha256 RK big endian; 3: sha256 little endian.
|
|
endif
|
|
|
|
config PSTORE
|
|
bool "Print log to linux pstore buffer"
|
|
default n
|
|
help
|
|
This enable Print uboot log to linux pstore buffer which address
|
|
is default 0x110000 for most soc.
|
|
|
|
config PERSISTENT_RAM_ADDR
|
|
hex "Linux pstore buffer address"
|
|
default 0x0
|
|
depends on PSTORE
|
|
help
|
|
This select linux pstore buffer address for U-Boot. When value is
|
|
0, U-Boot auto gets this address from preloader atags.
|
|
|
|
config PERSISTENT_RAM_SIZE
|
|
hex "Linux pstore buffer size"
|
|
default 0x0
|
|
depends on (PERSISTENT_RAM_ADDR != 0)
|
|
help
|
|
This select linux pstore buffer size for U-Boot, the value must be
|
|
set if PERSISTENT_RAM_ADDR != 0.
|
|
|
|
config VENDOR_FRIENDLYELEC
|
|
bool
|
|
default n
|
|
|
|
source "arch/arm/mach-rockchip/px30/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3036/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3066/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3128/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3188/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk322x/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3288/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3308/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3328/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3368/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3399/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3528/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3562/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3568/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk3588/Kconfig"
|
|
source "arch/arm/mach-rockchip/rk1808/Kconfig"
|
|
source "arch/arm/mach-rockchip/rv1106/Kconfig"
|
|
source "arch/arm/mach-rockchip/rv1108/Kconfig"
|
|
source "arch/arm/mach-rockchip/rv1126/Kconfig"
|
|
|
|
endif
|