mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-25 03:18:51 +09:00
![Masahiro Yamada](/assets/img/avatar_default.png)
By default, CONFIG_SYS_INIT_SP_BSS_OFFSET was made invisible by not giving a prompt to it. The only way to define it is to hard-code an extra entry in SoC/board Kconfig, like arch/arm/mach-tegra/tegra{186,210}/Kconfig. Add a prompt to it in order to allow defconfig files to specify the value of CONFIG_SYS_INIT_SP_BSS_OFFSET. With this, CONFIG_SYS_INIT_SP_BSS_OFFSET would become always visible. So, we need a new bool option to turn it off by default. I move the 'default 524288' to the common place. This value is not too big, but is big enough to avoid the overwrap of DT in most platforms. If 512KB is not a suitable choice for your platform, you can change it from your defconfig or menuconfig etc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Stephen Warren <swarren@nvidia.com>
192 lines
4.2 KiB
Plaintext
192 lines
4.2 KiB
Plaintext
if TEGRA
|
|
|
|
config SPL_GPIO_SUPPORT
|
|
default y
|
|
|
|
config SPL_LIBCOMMON_SUPPORT
|
|
default y
|
|
|
|
config SPL_LIBGENERIC_SUPPORT
|
|
default y
|
|
|
|
config SPL_SERIAL_SUPPORT
|
|
default y
|
|
|
|
config TEGRA_CLKRST
|
|
bool
|
|
|
|
config TEGRA_GP_PADCTRL
|
|
bool
|
|
|
|
config TEGRA_IVC
|
|
bool "Tegra IVC protocol"
|
|
help
|
|
IVC (Inter-VM Communication) protocol is a Tegra-specific IPC
|
|
(Inter Processor Communication) framework. Within the context of
|
|
U-Boot, it is typically used for communication between the main CPU
|
|
and various auxiliary processors.
|
|
|
|
config TEGRA_MC
|
|
bool
|
|
|
|
config TEGRA_PINCTRL
|
|
bool
|
|
|
|
config TEGRA_PMC
|
|
bool
|
|
|
|
config TEGRA_PMC_SECURE
|
|
bool
|
|
depends on TEGRA_PMC
|
|
|
|
config TEGRA_COMMON
|
|
bool "Tegra common options"
|
|
select BINMAN
|
|
select BOARD_EARLY_INIT_F
|
|
select CLK
|
|
select DM
|
|
select DM_ETH
|
|
select DM_GPIO
|
|
select DM_I2C
|
|
select DM_KEYBOARD
|
|
select DM_MMC
|
|
select DM_PWM
|
|
select DM_RESET
|
|
select DM_SERIAL
|
|
select DM_SPI
|
|
select DM_SPI_FLASH
|
|
select MISC
|
|
select OF_CONTROL
|
|
select SPI
|
|
select VIDCONSOLE_AS_LCD if DM_VIDEO
|
|
imply CMD_DM
|
|
imply CRC32_VERIFY
|
|
|
|
config TEGRA_NO_BPMP
|
|
bool "Tegra common options for SoCs without BPMP"
|
|
select TEGRA_CAR
|
|
select TEGRA_CAR_CLOCK
|
|
select TEGRA_CAR_RESET
|
|
|
|
config TEGRA_ARMV7_COMMON
|
|
bool "Tegra 32-bit common options"
|
|
select CPU_V7A
|
|
select SPL
|
|
select SPL_BOARD_INIT if SPL
|
|
select SUPPORT_SPL
|
|
select TEGRA_CLKRST
|
|
select TEGRA_COMMON
|
|
select TEGRA_GPIO
|
|
select TEGRA_GP_PADCTRL
|
|
select TEGRA_MC
|
|
select TEGRA_NO_BPMP
|
|
select TEGRA_PINCTRL
|
|
select TEGRA_PMC
|
|
|
|
config TEGRA_ARMV8_COMMON
|
|
bool "Tegra 64-bit common options"
|
|
select ARM64
|
|
select INIT_SP_RELATIVE
|
|
select LINUX_KERNEL_IMAGE_HEADER
|
|
select POSITION_INDEPENDENT
|
|
select TEGRA_COMMON
|
|
|
|
if TEGRA_ARMV8_COMMON
|
|
config LNX_KRNL_IMG_TEXT_OFFSET_BASE
|
|
default 0x80000000
|
|
endif
|
|
|
|
choice
|
|
prompt "Tegra SoC select"
|
|
optional
|
|
|
|
config TEGRA20
|
|
bool "Tegra20 family"
|
|
select ARM_ERRATA_716044
|
|
select ARM_ERRATA_742230
|
|
select ARM_ERRATA_751472
|
|
select TEGRA_ARMV7_COMMON
|
|
|
|
config TEGRA30
|
|
bool "Tegra30 family"
|
|
select ARM_ERRATA_743622
|
|
select ARM_ERRATA_751472
|
|
select TEGRA_ARMV7_COMMON
|
|
|
|
config TEGRA114
|
|
bool "Tegra114 family"
|
|
select TEGRA_ARMV7_COMMON
|
|
|
|
config TEGRA124
|
|
bool "Tegra124 family"
|
|
select TEGRA_ARMV7_COMMON
|
|
imply REGMAP
|
|
imply SYSCON
|
|
|
|
config TEGRA210
|
|
bool "Tegra210 family"
|
|
select TEGRA_ARMV8_COMMON
|
|
select TEGRA_CLKRST
|
|
select TEGRA_GPIO
|
|
select TEGRA_GP_PADCTRL
|
|
select TEGRA_MC
|
|
select TEGRA_NO_BPMP
|
|
select TEGRA_PINCTRL
|
|
select TEGRA_PMC
|
|
select TEGRA_PMC_SECURE
|
|
|
|
config TEGRA186
|
|
bool "Tegra186 family"
|
|
select DM_MAILBOX
|
|
select TEGRA186_BPMP
|
|
select TEGRA186_CLOCK
|
|
select TEGRA186_GPIO
|
|
select TEGRA186_RESET
|
|
select TEGRA_ARMV8_COMMON
|
|
select TEGRA_HSP
|
|
select TEGRA_IVC
|
|
|
|
endchoice
|
|
|
|
config TEGRA_DISCONNECT_UDC_ON_BOOT
|
|
bool "Disconnect USB device mode controller on boot"
|
|
depends on CI_UDC
|
|
default y
|
|
help
|
|
When loading U-Boot into RAM over USB protocols using tools such as
|
|
tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
|
|
mode controller is initialized and enumerated by the host PC running
|
|
the tool. Unfortunately, these tools do not shut down the USB
|
|
controller before executing the downloaded code, and so the host PC
|
|
does not "de-enumerate" the USB device. This option shuts down the
|
|
USB controller when U-Boot boots to avoid leaving a stale USB device
|
|
present.
|
|
|
|
config SYS_MALLOC_F_LEN
|
|
default 0x1800
|
|
|
|
source "arch/arm/mach-tegra/tegra20/Kconfig"
|
|
source "arch/arm/mach-tegra/tegra30/Kconfig"
|
|
source "arch/arm/mach-tegra/tegra114/Kconfig"
|
|
source "arch/arm/mach-tegra/tegra124/Kconfig"
|
|
source "arch/arm/mach-tegra/tegra210/Kconfig"
|
|
source "arch/arm/mach-tegra/tegra186/Kconfig"
|
|
|
|
config CMD_ENTERRCM
|
|
bool "Enable 'enterrcm' command"
|
|
default y
|
|
help
|
|
Tegra's boot ROM supports a mode whereby code may be downloaded and
|
|
flash-programmed over a USB connection. On dev boards, this is
|
|
typically entered by holding down a "force recovery" button and
|
|
resetting the CPU. However, not all boards have such a button (one
|
|
example is the Compulab Trimslice), so a method to enter RCM from
|
|
software is useful.
|
|
|
|
Even on boards other than Trimslice, controlling this over a UART
|
|
may be useful, e.g. to allow simple remote control without the need
|
|
for mechanical button actuators, or hooking up relays/... to the
|
|
button.
|
|
|
|
endif
|