if ROCKCHIP_RK3399

choice
	prompt "RK3399 board select"

config TARGET_CHROMEBOOK_BOB
	bool "Asus Flip C101PA Chromebook (RK3399)"
	help
	  Bob is a small RK3299-based device similar in apperance to Minnie.
	  It has two USB 3.0 type-C ports, 4GB of SDRAM, WiFi and a 10.1",
	  1280x800 display. It uses its USB ports for both power and external
	  display. It includes a Chrome OS EC (Cortex-M3) to provide access to
	  the keyboard and battery functions.

config TARGET_EVB_RK3399
	bool "RK3399 evaluation board"
	help
	  RK3399evb is a evaluation board for Rockchip RK3399,
	  with full function and physical connectors support like Type-C ports,
	  USB.0 host ports, LVDS, JTAG, MAC, SD card, HDMI, USB-to-serial...

config TARGET_PUMA_RK3399
	bool "Theobroma Systems RK3399-Q7 (Puma)"
	help
	  The RK3399-Q7 (Puma) is a system-on-module (designed and
	  marketed by Theobroma Systems) featuring the Rockchip RK3399
	  in a Qseven-compatible form-factor (running of a single 5V
	  supply and exposing its external interfaces on a MXM-230
	  connector).

	  Key features of the RK3399-Q7 include:
	   * on-module USB 3.0 hub (2x USB 3.0 host + 1x USB 2.0 host)
	   * USB 3.0 dual-role
	   * on-module Micrel KSZ9031 GbE PHY
	   * on-module eMMC (up to 256GB configurations available)
	   * on-module DDR3 (1GB, 2GB and 4GB configurations available)
	   * HDMI, eDP, MIPI-DSI, MIPI-DSI/CSI and MIPI-CSI
	   * SPI, I2C, I2S, UART, GPIO, ...

config TARGET_ROCK960_RK3399
	bool "Vamrs Limited Rock960 board family"
	help
	  Support for Rock960 board family by Vamrs Limited. This board
	  family consists of Rock960 (Consumer Edition) and Ficus
	  (Enterprise Edition) 96Boards.

	  Common features implemented on both boards:
	   * Rockchip RK3399 SoC (2xCortex A72, 4xCortex A53, ARM Mali T860MP4)
	   * 16/32GB eMMC, uSD slot
	   * HDMI/DP/MIPI
	   * 20-pin low speed and 40-pin high speed expanders, 6 LED, 3 buttons

	  Additional features of Rock960:
	   * 2GiB/4GiB LPDDR3 RAM
	   * 1x USB 3.0 type A, 1x USB 2.0 type A (host mode only),
	     1x USB 3.0 type C OTG

	  Additional features of Ficus:
	   * 2GiB/4GiB DDR3 RAM
	   * Ethernet
	   * Dual SATA
	   * 2x USB 3.0 type A, 2x USB 2.0 type A (host mode only),
	     1x USB 3.0 type C OTG

config TARGET_ROCKPRO64_RK3399
	bool "Pine64 Rockpro64 board"
	help
	  Rockro64 is SBC produced by Pine64. Key features:

	   * Rockchip RK3399
	   * 2/4GB Dual-Channel LPDDR3
	   * SD card slot
	   * eMMC socket
	   * 128Mb SPI Flash
	   * Gigabit ethernet
	   * PCIe 4X slot
	   * WiFI/BT module socket
	   * HDMI In/Out, DP, MIPI DSI/CSI, eDP
	   * USB 3.0, 2.0
	   * USB Type C power and data
	   * GPIO expansion ports
	   * DC 12V/2A

config TARGET_ROC_PC_RK3399
	bool "Firefly ROC-RK3399-PC board"
	help
	  ROC-RK3399-PC is SBC produced by Firefly. Key features:

	   * Rockchip RK3399
	   * 4GB Dual-Channel LPDDR4 64-bit
	   * SD card slot
	   * eMMC socket
	   * 16MB SPI Flash
	   * Gigabit ethernet
	   * PCIe
	   * HDMI In/Out, DP, MIPI DSI/CSI, eDP
	   * USB 3.0, 2.0
	   * USB Type C power and data
	   * GPIO expansion ports
	   * wide voltage input(5V-15V), dual cell battery
	   * Wifi/BT accessible via expansion board M.2

endchoice

config ROCKCHIP_BOOT_MODE_REG
	default 0xff320300

config SYS_SOC
	default "rk3399"

config SYS_MALLOC_F_LEN
	default 0x4000

config SPL_LIBCOMMON_SUPPORT
	default y

config SPL_LIBGENERIC_SUPPORT
	default y

config TPL_LDSCRIPT
	default "arch/arm/mach-rockchip/u-boot-tpl-v8.lds"

config TPL_MAX_SIZE
        default 188416

config TPL_STACK
        default 0xff8effff

config TPL_TEXT_BASE
        default 0xff8c2000

config SPL_STACK_R_ADDR
	default 0x04000000

if BOOTCOUNT_LIMIT

config BOOTCOUNT_BOOTLIMIT
	default 3

config SYS_BOOTCOUNT_ADDR
	default 0xff3100f0	# PMU_SYS_REG0

endif # BOOTCOUNT_LIMIT

source "board/firefly/roc-pc-rk3399/Kconfig"
source "board/google/gru/Kconfig"
source "board/pine64/rockpro64_rk3399/Kconfig"
source "board/rockchip/evb_rk3399/Kconfig"
source "board/theobroma-systems/puma_rk3399/Kconfig"
source "board/vamrs/rock960_rk3399/Kconfig"

endif
