if ARCH_MESON

config MESON64_COMMON
	bool
	select ARM64
	select CLK
	select DM
	select DM_SERIAL
	select SYSCON
	select REGMAP
	select PWRSEQ
	select MMC_PWRSEQ
	select BOARD_LATE_INIT
	select MESON_SM
	imply CMD_DM

config MESON_GX
	bool
	select MESON64_COMMON

choice
	prompt "Platform select"
	default MESON_GXBB

config MESON_GXBB
	bool "GXBB"
	select MESON_GX
	imply OF_UPSTREAM
	help
	  Select this if your SoC is an S905

config MESON_GXL
	bool "GXL"
	select MESON_GX
	help
	  Select this if your SoC is an S905X/D or S805X

config MESON_GXM
	bool "GXM"
	select MESON_GX
	help
	  Select this if your SoC is an S912

config MESON_AXG
	bool "AXG"
	select MESON64_COMMON
	help
	  Select this if your SoC is an A113X/D

config MESON_G12A
	bool "G12A"
	select MESON64_COMMON
	help
	  Select this if your SoC is an S905X/D2

config MESON_A1
	bool "A1"
	select MESON64_COMMON
	help
	  Select this if your SoC is an A113L

endchoice

config SYS_SOC
	default "meson"

config SYS_MALLOC_F_LEN
	default 0x1000

config SYS_VENDOR
	string "Vendor name"
	default "amlogic"
	help
	  This option contains information about board name.
	  Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
	  be used.

config SYS_BOARD
	string "Board name"
	default "ad401" if MESON_A1
	default "p200" if MESON_GXBB
	default "p212" if MESON_GXL
	default "q200" if MESON_GXM
	default "s400" if MESON_AXG
	default "u200" if MESON_G12A
	default ""
	help
	  This option contains information about board name.
	  Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
	  be used.

endif
