When we first added ARM support to coreboot, it was clear that the bootblock would need to do vastly different tasks than on x86, so we moved its main logic under arch/. Now that we have several more architectures, it turns out (as with so many things lately) that x86 is really the odd one out, and all the others are trying to do pretty much the same thing. This has already caused maintenance issues as the ARM32 bootblock developed and less-mature architectures were left behind with old cruft. This patch tries to address that problem by centralizing that logic under lib/ for use by all architectures/SoCs that don't explicitly opt-out (with the slightly adapted existing BOOTBLOCK_CUSTOM option). This works great out of the box for ARM32 and ARM64. It could probably be easily applied to MIPS and RISCV as well, but I don't have any of those boards to test so I'll mark them as BOOTBLOCK_CUSTOM for now and leave that for later cleanup. BRANCH=None BUG=None TEST=Built Jerry and Falco, booted Oak. Change-Id: Ibbf727ad93651e388aef20e76f03f5567f9860cb Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: http://review.coreboot.org/12076 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins)
41 lines
819 B
Plaintext
41 lines
819 B
Plaintext
config SOC_NVIDIA_TEGRA124
|
|
bool
|
|
default n
|
|
select ARCH_BOOTBLOCK_ARMV4
|
|
select BOOTBLOCK_CUSTOM
|
|
select ARCH_VERSTAGE_ARMV7
|
|
select ARCH_ROMSTAGE_ARMV7
|
|
select ARCH_RAMSTAGE_ARMV7
|
|
select HAVE_UART_SPECIAL
|
|
select HAVE_HARD_RESET
|
|
select HAVE_MONOTONIC_TIMER
|
|
select GENERIC_UDELAY
|
|
select BOOTBLOCK_CONSOLE
|
|
select ARM_LPAE
|
|
select GENERIC_GPIO_LIB
|
|
|
|
if SOC_NVIDIA_TEGRA124
|
|
|
|
config TEGRA124_MODEL_TD570D
|
|
bool "TD570D"
|
|
|
|
config TEGRA124_MODEL_TD580D
|
|
bool "TD580D"
|
|
|
|
config TEGRA124_MODEL_CD570M
|
|
bool "CD570M"
|
|
|
|
config TEGRA124_MODEL_CD580M
|
|
bool "CD580M"
|
|
|
|
# Default to 2GHz, the lowest maximum frequency.
|
|
config PLLX_KHZ
|
|
int
|
|
default 2000000 if TEGRA124_MODEL_TD570D
|
|
default 2300000 if TEGRA124_MODEL_TD580D
|
|
default 2100000 if TEGRA124_MODEL_CD570M
|
|
default 2300000 if TEGRA124_MODEL_CD580M
|
|
default 2000000
|
|
|
|
endif
|