uboot/arch/arm/mach-tegra/Kconfig
<<
>>
Prefs
   1if ARCH_TEGRA
   2
   3config SPL_GPIO
   4        default y
   5
   6config SPL_LIBCOMMON_SUPPORT
   7        default y
   8
   9config SPL_LIBGENERIC_SUPPORT
  10        default y
  11
  12config SPL_SERIAL
  13        default y
  14
  15config TEGRA_CLKRST
  16        bool
  17
  18config TEGRA_GP_PADCTRL
  19        bool
  20
  21config TEGRA_IVC
  22        bool "Tegra IVC protocol"
  23        help
  24          IVC (Inter-VM Communication) protocol is a Tegra-specific IPC
  25          (Inter Processor Communication) framework. Within the context of
  26          U-Boot, it is typically used for communication between the main CPU
  27          and various auxiliary processors.
  28
  29config TEGRA_MC
  30        bool
  31
  32config TEGRA_PINCTRL
  33        bool
  34
  35config TEGRA_PMC
  36        bool
  37
  38config TEGRA_PMC_SECURE
  39        bool
  40        depends on TEGRA_PMC
  41
  42config TEGRA_COMMON
  43        bool "Tegra common options"
  44        select BOARD_EARLY_INIT_F
  45        select CLK
  46        select DM
  47        select DM_ETH
  48        select DM_GPIO
  49        select DM_I2C
  50        select DM_KEYBOARD
  51        select DM_MMC
  52        select DM_PWM
  53        select DM_RESET
  54        select DM_SERIAL
  55        select DM_SPI
  56        select DM_SPI_FLASH
  57        select MISC
  58        select OF_CONTROL
  59        select SPI
  60        imply CMD_DM
  61        imply CRC32_VERIFY
  62
  63config TEGRA_NO_BPMP
  64        bool "Tegra common options for SoCs without BPMP"
  65        select TEGRA_CAR
  66        select TEGRA_CAR_CLOCK
  67        select TEGRA_CAR_RESET
  68
  69config TEGRA_ARMV7_COMMON
  70        bool "Tegra 32-bit common options"
  71        select BINMAN
  72        select CPU_V7A
  73        select SPL
  74        select SPL_BOARD_INIT if SPL
  75        select SPL_SKIP_LOWLEVEL_INIT_ONLY if SPL
  76        select SUPPORT_SPL
  77        select TEGRA_CLKRST
  78        select TEGRA_COMMON
  79        select TEGRA_GPIO
  80        select TEGRA_GP_PADCTRL
  81        select TEGRA_MC
  82        select TEGRA_NO_BPMP
  83        select TEGRA_PINCTRL
  84        select TEGRA_PMC
  85
  86config TEGRA_ARMV8_COMMON
  87        bool "Tegra 64-bit common options"
  88        select ARM64
  89        select INIT_SP_RELATIVE
  90        select LINUX_KERNEL_IMAGE_HEADER
  91        select POSITION_INDEPENDENT
  92        select TEGRA_COMMON
  93
  94if TEGRA_ARMV8_COMMON
  95config LNX_KRNL_IMG_TEXT_OFFSET_BASE
  96        default 0x80000000
  97endif
  98
  99choice
 100        prompt "Tegra SoC select"
 101        optional
 102
 103config TEGRA20
 104        bool "Tegra20 family"
 105        select ARM_ERRATA_716044
 106        select ARM_ERRATA_742230
 107        select ARM_ERRATA_751472
 108        select TEGRA_ARMV7_COMMON
 109
 110config TEGRA30
 111        bool "Tegra30 family"
 112        select ARM_ERRATA_743622
 113        select ARM_ERRATA_751472
 114        select TEGRA_ARMV7_COMMON
 115
 116config TEGRA114
 117        bool "Tegra114 family"
 118        select TEGRA_ARMV7_COMMON
 119
 120config TEGRA124
 121        bool "Tegra124 family"
 122        select TEGRA_ARMV7_COMMON
 123        imply REGMAP
 124        imply SYSCON
 125
 126config TEGRA210
 127        bool "Tegra210 family"
 128        select GICV2
 129        select TEGRA_ARMV8_COMMON
 130        select TEGRA_CLKRST
 131        select TEGRA_GPIO
 132        select TEGRA_GP_PADCTRL
 133        select TEGRA_MC
 134        select TEGRA_NO_BPMP
 135        select TEGRA_PINCTRL
 136        select TEGRA_PMC
 137        select TEGRA_PMC_SECURE
 138
 139config TEGRA186
 140        bool "Tegra186 family"
 141        select DM_MAILBOX
 142        select GICV2
 143        select TEGRA186_BPMP
 144        select TEGRA186_CLOCK
 145        select TEGRA186_GPIO
 146        select TEGRA186_RESET
 147        select TEGRA_ARMV8_COMMON
 148        select TEGRA_HSP
 149        select TEGRA_IVC
 150
 151endchoice
 152
 153config TEGRA_DISCONNECT_UDC_ON_BOOT
 154        bool "Disconnect USB device mode controller on boot"
 155        depends on CI_UDC
 156        default y
 157        help
 158          When loading U-Boot into RAM over USB protocols using tools such as
 159          tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
 160          mode controller is initialized and enumerated by the host PC running
 161          the tool. Unfortunately, these tools do not shut down the USB
 162          controller before executing the downloaded code, and so the host PC
 163          does not "de-enumerate" the USB device. This option shuts down the
 164          USB controller when U-Boot boots to avoid leaving a stale USB device
 165          present.
 166
 167config SYS_MALLOC_F_LEN
 168        default 0x1800
 169
 170source "arch/arm/mach-tegra/tegra20/Kconfig"
 171source "arch/arm/mach-tegra/tegra30/Kconfig"
 172source "arch/arm/mach-tegra/tegra114/Kconfig"
 173source "arch/arm/mach-tegra/tegra124/Kconfig"
 174source "arch/arm/mach-tegra/tegra210/Kconfig"
 175source "arch/arm/mach-tegra/tegra186/Kconfig"
 176
 177config CMD_ENTERRCM
 178        bool "Enable 'enterrcm' command"
 179        default y
 180        help
 181          Tegra's boot ROM supports a mode whereby code may be downloaded and
 182          flash-programmed over a USB connection. On dev boards, this is
 183          typically entered by holding down a "force recovery" button and
 184          resetting the CPU. However, not all boards have such a button (one
 185          example is the Compulab Trimslice), so a method to enter RCM from
 186          software is useful.
 187
 188          Even on boards other than Trimslice, controlling this over a UART
 189          may be useful, e.g. to allow simple remote control without the need
 190          for mechanical button actuators, or hooking up relays/... to the
 191          button.
 192
 193endif
 194