Samuel Holland a759def05c sunxi: Move PRE_CON_BUF_ADDR to the board Kconfig
This provides a default value for RISC-V when that is added, and it
makes sense to put this option next to the other DRAM layout options.

While at it, provide sensible values for platforms with less DRAM.

Signed-off-by: Samuel Holland <samuel@sholland.org>
2022-10-31 22:34:53 -05:00

155 lines
3.8 KiB
Plaintext

config BOARD_SUNXI
bool
select BINMAN
select CLK
select CMD_GPIO if GPIO
select CMD_MMC if MMC
select CMD_USB if DISTRO_DEFAULTS && USB_HOST
select DM
select DM_ETH if NET
select DM_GPIO if GPIO
select DM_I2C if I2C
select DM_SCSI if BLK && SCSI
select DM_SERIAL if SERIAL
select DM_SPI if SPI
select DM_SPI_FLASH if SPI
select OF_BOARD_SETUP
select PINCTRL
select SPL_SEPARATE_BSS if SPL
select SUPPORT_SPL
select SYS_RELOC_GD_ENV_ADDR
select USB if DISTRO_DEFAULTS
select USB_KEYBOARD if DISTRO_DEFAULTS && USB_HOST
select USE_PREBOOT
imply BOARD_LATE_INIT
imply CMD_DM
imply CMD_GPT
imply CMD_UBI if MTD_RAW_NAND
imply DISTRO_DEFAULTS
imply FAT_WRITE
imply FIT
imply OF_LIBFDT_OVERLAY
imply PRE_CONSOLE_BUFFER
imply SPL
imply SPL_GPIO
imply SPL_LIBCOMMON_SUPPORT
imply SPL_LIBGENERIC_SUPPORT
imply SPL_MMC if MMC
imply SPL_POWER
imply SPL_SERIAL
imply SUNXI_GPIO
imply SYS_I2C_MVTWSI
imply SYS_NS16550
imply SYSRESET
imply SYSRESET_WATCHDOG
imply SYSRESET_WATCHDOG_AUTO
imply USB_EHCI_GENERIC
imply USB_EHCI_HCD
imply USB_GADGET
imply USB_OHCI_GENERIC
imply USB_OHCI_HCD
imply WDT
if BOARD_SUNXI
config IDENT_STRING
default " Allwinner Technology"
config PRE_CON_BUF_ADDR
default 0x81000000 if MACH_SUNIV
default 0x2f000000 if MACH_SUN9I
default 0x4f000000 if SUNXI_MINIMUM_DRAM_MB >= 256
default 0x43000000 if SUNXI_MINIMUM_DRAM_MB >= 64
config SPL_STACK_R_ADDR
default 0x81e00000 if MACH_SUNIV
default 0x2fe00000 if MACH_SUN9I
default 0x4fe00000 if SUNXI_MINIMUM_DRAM_MB >= 256
default 0x43e00000 if SUNXI_MINIMUM_DRAM_MB >= 64
config SUNXI_MINIMUM_DRAM_MB
int
default 32 if MACH_SUNIV
default 64 if MACH_SUN8I_V3S
default 256
help
Minimum DRAM size expected on the board. Traditionally we
assumed 256 MB, so that U-Boot would load at 160MB. With
co-packaged DRAM we have smaller sizes, though, so U-Boot's
own load address and the default payload addresses must be
shifted down. This is expected to be fixed by the SoC
selection.
config SUNXI_SRAM_ADDRESS
hex
default 0x10000 if MACH_SUN9I || MACH_SUN50I || MACH_SUN50I_H5
default 0x20000 if SUN50I_GEN_H6
default 0x0
help
Older Allwinner SoCs have their boot mask ROM mapped just
below 4GB, with the first SRAM region located at address 0.
Newer SoCs map the boot ROM at address 0 instead and move the
SRAM to a different address.
config SYS_BOARD
default "sunxi"
config SYS_CLK_FREQ
default 408000000 if MACH_SUNIV
default 1008000000 if MACH_SUN4I
default 1008000000 if MACH_SUN5I
default 1008000000 if MACH_SUN6I
default 912000000 if MACH_SUN7I
default 1008000000 if MACH_SUN8I
default 1008000000 if MACH_SUN9I
default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
default 888000000 if MACH_SUN50I_H6
default 1008000000 if MACH_SUN50I_H616
config SYS_CONFIG_NAME
default "suniv" if MACH_SUNIV
default "sun4i" if MACH_SUN4I
default "sun5i" if MACH_SUN5I
default "sun6i" if MACH_SUN6I
default "sun7i" if MACH_SUN7I
default "sun8i" if MACH_SUN8I
default "sun9i" if MACH_SUN9I
default "sun50i" if MACH_SUN50I
default "sun50i" if MACH_SUN50I_H6
default "sun50i" if MACH_SUN50I_H616
config SYS_SOC
default "sunxi"
menu "sunxi board options"
choice
prompt "SPL Image Type"
depends on SPL
default SPL_IMAGE_TYPE_SUNXI_EGON
config SPL_IMAGE_TYPE_SUNXI_EGON
bool "eGON (normal)"
help
Select this option to embed the SPL binary in an eGON.BT0 image,
which is compatible with the normal boot ROM (NBROM).
This is usually the correct option to choose.
config SPL_IMAGE_TYPE_SUNXI_TOC0
bool "TOC0 (secure)"
help
Select this option to embed the SPL binary in a TOC0 image,
which is compatible with the secure boot ROM (SBROM).
endchoice
config SPL_IMAGE_TYPE
string
default "sunxi_egon" if SPL_IMAGE_TYPE_SUNXI_EGON
default "sunxi_toc0" if SPL_IMAGE_TYPE_SUNXI_TOC0
endmenu
endif