mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-22 18:09:03 +09:00
![Simon Glass](/assets/img/avatar_default.png)
This converts the following to Kconfig: CONFIG_ENV_IS_IN_MMC CONFIG_ENV_IS_IN_NAND CONFIG_ENV_IS_IN_UBI CONFIG_ENV_IS_NOWHERE In fact this already exists for sunxi as a 'choice' config. However not all the choices are available in Kconfig yet so we cannot use that. It would lead to more than one option being set. In addition, one purpose of this series is to allow the environment to be stored in more than one place. So the existing choice is converted to a normal config allowing each option to be set independently. There are not many opportunities for Kconfig updates to reduce the size of this patch. This was tested with ./tools/moveconfig.py -i CONFIG_ENV_IS_IN_MMC And then manual updates. This is because for CHAIN_OF_TRUST boards they can only have ENV_IS_NOWHERE set, so we enforce that via Kconfig logic now. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
151 lines
3.6 KiB
Plaintext
151 lines
3.6 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_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_COMMON
|
|
bool "Tegra common options"
|
|
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 VIDCONSOLE_AS_LCD if DM_VIDEO
|
|
select BOARD_EARLY_INIT_F
|
|
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_V7
|
|
select SPL
|
|
select SPL_BOARD_INIT if SPL
|
|
select SUPPORT_SPL
|
|
select TEGRA_COMMON
|
|
select TEGRA_GPIO
|
|
select TEGRA_NO_BPMP
|
|
|
|
config TEGRA_ARMV8_COMMON
|
|
bool "Tegra 64-bit common options"
|
|
select ARM64
|
|
select TEGRA_COMMON
|
|
imply ENV_IS_IN_MMC
|
|
|
|
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
|
|
imply ENV_IS_IN_MMC
|
|
|
|
config TEGRA114
|
|
bool "Tegra114 family"
|
|
select TEGRA_ARMV7_COMMON
|
|
|
|
config TEGRA124
|
|
bool "Tegra124 family"
|
|
select TEGRA_ARMV7_COMMON
|
|
imply ENV_IS_IN_MMC
|
|
|
|
config TEGRA210
|
|
bool "Tegra210 family"
|
|
select TEGRA_GPIO
|
|
select TEGRA_ARMV8_COMMON
|
|
select TEGRA_NO_BPMP
|
|
|
|
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"
|
|
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
|