board: rockchip: Add rk3568 evb support
[platform/kernel/u-boot.git] / arch / arm / mach-rockchip / Kconfig
index 3497920..35bdef2 100644 (file)
@@ -1,5 +1,27 @@
 if ARCH_ROCKCHIP
 
+config ROCKCHIP_PX30
+       bool "Support Rockchip PX30"
+       select ARM64
+       select SUPPORT_SPL
+       select SUPPORT_TPL
+       select SPL
+       select TPL
+       select TPL_TINY_FRAMEWORK if TPL
+       select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
+       select TPL_NEEDS_SEPARATE_STACK if TPL
+       imply SPL_SEPARATE_BSS
+       select SPL_SERIAL_SUPPORT
+       select TPL_SERIAL_SUPPORT
+       select DEBUG_UART_BOARD_INIT
+       imply ROCKCHIP_COMMON_BOARD
+       imply SPL_ROCKCHIP_COMMON_BOARD
+       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.
+
 config ROCKCHIP_RK3036
        bool "Support Rockchip RK3036"
        select CPU_V7A
@@ -7,6 +29,7 @@ config ROCKCHIP_RK3036
        select SPL
        imply USB_FUNCTION_ROCKUSB
        imply CMD_ROCKUSB
+       imply ROCKCHIP_COMMON_BOARD
        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
@@ -16,6 +39,7 @@ config ROCKCHIP_RK3036
 config ROCKCHIP_RK3128
        bool "Support Rockchip RK3128"
        select CPU_V7A
+       imply ROCKCHIP_COMMON_BOARD
        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
@@ -36,6 +60,7 @@ config ROCKCHIP_RK3188
        select SPL_ROCKCHIP_EARLYRETURN_TO_BROM
        select SPL_ROCKCHIP_BACK_TO_BROM
        select BOARD_LATE_INIT
+       imply ROCKCHIP_COMMON_BOARD
        imply SPL_ROCKCHIP_COMMON_BOARD
        help
          The Rockchip RK3188 is a ARM-based SoC with a quad-core Cortex-A9
@@ -58,6 +83,7 @@ config ROCKCHIP_RK322X
        select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
        select TPL_NEEDS_SEPARATE_STACK if TPL
        select SPL_DRIVERS_MISC_SUPPORT
+       imply ROCKCHIP_COMMON_BOARD
        imply SPL_SERIAL_SUPPORT
        imply SPL_ROCKCHIP_COMMON_BOARD
        imply TPL_SERIAL_SUPPORT
@@ -73,9 +99,12 @@ config ROCKCHIP_RK322X
 config ROCKCHIP_RK3288
        bool "Support Rockchip RK3288"
        select CPU_V7A
+       select OF_BOARD_SETUP
        select SUPPORT_SPL
        select SPL
        select SUPPORT_TPL
+       imply PRE_CONSOLE_BUFFER
+       imply ROCKCHIP_COMMON_BOARD
        imply SPL_ROCKCHIP_COMMON_BOARD
        imply TPL_CLK
        imply TPL_DM
@@ -100,12 +129,43 @@ config ROCKCHIP_RK3288
          and video codec support. Peripherals include Gigabit Ethernet,
          USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
 
+config ROCKCHIP_RK3308
+       bool "Support Rockchip RK3308"
+       select ARM64
+       select DEBUG_UART_BOARD_INIT
+       select SUPPORT_SPL
+       select SUPPORT_TPL
+       select SPL
+       select SPL_ATF
+       select SPL_ATF_NO_PLATFORM_PARAM
+       select SPL_LOAD_FIT
+       imply ROCKCHIP_COMMON_BOARD
+       imply SPL_ROCKCHIP_COMMON_BOARD
+       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 embedded with quad
+         Cortex-A35 and highly integrated audio interfaces.
+
 config ROCKCHIP_RK3328
        bool "Support Rockchip RK3328"
        select ARM64
        select SUPPORT_SPL
        select SPL
+       select SUPPORT_TPL
+       select TPL
+       select TPL_NEEDS_SEPARATE_TEXT_BASE if TPL
+       select TPL_NEEDS_SEPARATE_STACK if TPL
+       imply ROCKCHIP_COMMON_BOARD
+       imply ROCKCHIP_SDRAM_COMMON
+       imply SPL_ROCKCHIP_COMMON_BOARD
        imply SPL_SERIAL_SUPPORT
+       imply TPL_SERIAL_SUPPORT
        imply SPL_SEPARATE_BSS
        select ENABLE_ARM_SOC_BOOT0_HOOK
        select DEBUG_UART_BOARD_INIT
@@ -124,6 +184,8 @@ config ROCKCHIP_RK3368
        select SUPPORT_TPL
        select TPL_NEEDS_SEPARATE_TEXT_BASE if SPL
        select TPL_NEEDS_SEPARATE_STACK if TPL
+       imply ROCKCHIP_COMMON_BOARD
+       imply SPL_ROCKCHIP_COMMON_BOARD
        imply SPL_SEPARATE_BSS
        imply SPL_SERIAL_SUPPORT
        imply TPL_SERIAL_SUPPORT
@@ -146,7 +208,6 @@ config ROCKCHIP_RK3399
        select SUPPORT_TPL
        select SPL
        select SPL_ATF
-       select SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
        select SPL_BOARD_INIT if SPL
        select SPL_LOAD_FIT
        select SPL_CLK if SPL
@@ -168,6 +229,11 @@ config ROCKCHIP_RK3399
        select DM_PMIC
        select DM_REGULATOR_FIXED
        select BOARD_LATE_INIT
+       imply PRE_CONSOLE_BUFFER
+       imply ROCKCHIP_COMMON_BOARD
+       imply ROCKCHIP_SDRAM_COMMON
+       imply SPL_ATF_NO_PLATFORM_PARAM if SPL_ATF
+       imply SPL_ROCKCHIP_COMMON_BOARD
        imply TPL_SERIAL_SUPPORT
        imply TPL_LIBCOMMON_SUPPORT
        imply TPL_LIBGENERIC_SUPPORT
@@ -181,6 +247,8 @@ config ROCKCHIP_RK3399
        imply TPL_CLK
        imply TPL_TINY_MEMSET
        imply TPL_ROCKCHIP_COMMON_BOARD
+       imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT
+       imply CMD_BOOTCOUNT if BOOTCOUNT_LIMIT
        help
          The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
          and quad-core Cortex-A53.
@@ -189,9 +257,27 @@ config ROCKCHIP_RK3399
          and video codec support. Peripherals include Gigabit Ethernet,
          USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
 
+config ROCKCHIP_RK3568
+       bool "Support Rockchip RK3568"
+       select ARM64
+       select CLK
+       select PINCTRL
+       select RAM
+       select REGMAP
+       select SYSCON
+       select BOARD_LATE_INIT
+       imply ROCKCHIP_COMMON_BOARD
+       help
+         The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
+         including NEON and GPU, 512K L3 cache, Mali-G52 based 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.
+
 config ROCKCHIP_RV1108
        bool "Support Rockchip RV1108"
        select CPU_V7A
+       imply ROCKCHIP_COMMON_BOARD
        help
          The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
          and a DSP.
@@ -226,6 +312,13 @@ config TPL_ROCKCHIP_BACK_TO_BROM
           SPL will return to the boot rom, which will then load the U-Boot
           binary to keep going on.
 
+config ROCKCHIP_COMMON_BOARD
+       bool "Rockchip common board file"
+       help
+         Rockchip SoCs have similar boot process, Common board file is mainly
+         in charge of common process of board_init() and board_late_init() for
+         U-Boot proper.
+
 config SPL_ROCKCHIP_COMMON_BOARD
        bool "Rockchip SPL common board file"
        depends on SPL
@@ -235,13 +328,13 @@ config SPL_ROCKCHIP_COMMON_BOARD
          no TPL for the board.
 
 config TPL_ROCKCHIP_COMMON_BOARD
-       bool ""
+       bool "Rockchip TPL common board file"
        depends on TPL
        help
          Rockchip SoCs have similar boot process, prefer to use TPL for DRAM
          init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL
          common board is a basic TPL board init which can be shared for most
-         of SoCs to avoid copy-pase for different SoCs.
+         of SoCs to avoid copy-paste for different SoCs.
 
 config ROCKCHIP_BOOT_MODE_REG
        hex "Rockchip boot mode flag register address"
@@ -291,13 +384,25 @@ config TPL_ROCKCHIP_EARLYRETURN_TO_BROM
 config SPL_MMC_SUPPORT
        default y if !SPL_ROCKCHIP_BACK_TO_BROM
 
+config ROCKCHIP_SPI_IMAGE
+       bool "Build a SPI image for rockchip"
+       depends on HAS_ROM
+       help
+         Some Rockchip SoCs support booting from SPI flash. Enable this
+         option to produce a 4MB SPI-flash image (called u-boot.rom)
+         containing U-Boot. The image is built by binman. U-Boot sits near
+         the start of the image.
+
+source "arch/arm/mach-rockchip/px30/Kconfig"
 source "arch/arm/mach-rockchip/rk3036/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/rk3568/Kconfig"
 source "arch/arm/mach-rockchip/rv1108/Kconfig"
 endif