aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/arch/arm/mach-tegra/Kconfig
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot/arch/arm/mach-tegra/Kconfig
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot/arch/arm/mach-tegra/Kconfig')
-rw-r--r--roms/u-boot/arch/arm/mach-tegra/Kconfig190
1 files changed, 190 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/mach-tegra/Kconfig b/roms/u-boot/arch/arm/mach-tegra/Kconfig
new file mode 100644
index 000000000..a397748b7
--- /dev/null
+++ b/roms/u-boot/arch/arm/mach-tegra/Kconfig
@@ -0,0 +1,190 @@
+if ARCH_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 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
+ 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 BINMAN
+ 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