uboot/arch/arm/mach-tegra/Kconfig
<<
>>
Prefs
   1if TEGRA
   2
   3config SPL_GPIO_SUPPORT
   4        default y
   5
   6config SPL_LIBCOMMON_SUPPORT
   7        default y
   8
   9config SPL_LIBGENERIC_SUPPORT
  10        default y
  11
  12config SPL_SERIAL_SUPPORT
  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 BINMAN
  45        select BOARD_EARLY_INIT_F
  46        select CLK
  47        select DM
  48        select DM_ETH
  49        select DM_GPIO
  50        select DM_I2C
  51        select DM_KEYBOARD
  52        select DM_MMC
  53        select DM_PWM
  54        select DM_RESET
  55        select DM_SERIAL
  56        select DM_SPI
  57        select DM_SPI_FLASH
  58        select MISC
  59        select OF_CONTROL
  60        select SPI
  61        select VIDCONSOLE_AS_LCD if DM_VIDEO
  62        imply CMD_DM
  63        imply CRC32_VERIFY
  64
  65config TEGRA_NO_BPMP
  66        bool "Tegra common options for SoCs without BPMP"
  67        select TEGRA_CAR
  68        select TEGRA_CAR_CLOCK
  69        select TEGRA_CAR_RESET
  70
  71config TEGRA_ARMV7_COMMON
  72        bool "Tegra 32-bit common options"
  73        select CPU_V7A
  74        select SPL
  75        select SPL_BOARD_INIT 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 TEGRA_ARMV8_COMMON
 129        select TEGRA_CLKRST
 130        select TEGRA_GPIO
 131        select TEGRA_GP_PADCTRL
 132        select TEGRA_MC
 133        select TEGRA_NO_BPMP
 134        select TEGRA_PINCTRL
 135        select TEGRA_PMC
 136        select TEGRA_PMC_SECURE
 137
 138config TEGRA186
 139        bool "Tegra186 family"
 140        select DM_MAILBOX
 141        select TEGRA186_BPMP
 142        select TEGRA186_CLOCK
 143        select TEGRA186_GPIO
 144        select TEGRA186_RESET
 145        select TEGRA_ARMV8_COMMON
 146        select TEGRA_HSP
 147        select TEGRA_IVC
 148
 149endchoice
 150
 151config TEGRA_DISCONNECT_UDC_ON_BOOT
 152        bool "Disconnect USB device mode controller on boot"
 153        depends on CI_UDC
 154        default y
 155        help
 156          When loading U-Boot into RAM over USB protocols using tools such as
 157          tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
 158          mode controller is initialized and enumerated by the host PC running
 159          the tool. Unfortunately, these tools do not shut down the USB
 160          controller before executing the downloaded code, and so the host PC
 161          does not "de-enumerate" the USB device. This option shuts down the
 162          USB controller when U-Boot boots to avoid leaving a stale USB device
 163          present.
 164
 165config SYS_MALLOC_F_LEN
 166        default 0x1800
 167
 168source "arch/arm/mach-tegra/tegra20/Kconfig"
 169source "arch/arm/mach-tegra/tegra30/Kconfig"
 170source "arch/arm/mach-tegra/tegra114/Kconfig"
 171source "arch/arm/mach-tegra/tegra124/Kconfig"
 172source "arch/arm/mach-tegra/tegra210/Kconfig"
 173source "arch/arm/mach-tegra/tegra186/Kconfig"
 174
 175config CMD_ENTERRCM
 176        bool "Enable 'enterrcm' command"
 177        default y
 178        help
 179          Tegra's boot ROM supports a mode whereby code may be downloaded and
 180          flash-programmed over a USB connection. On dev boards, this is
 181          typically entered by holding down a "force recovery" button and
 182          resetting the CPU. However, not all boards have such a button (one
 183          example is the Compulab Trimslice), so a method to enter RCM from
 184          software is useful.
 185
 186          Even on boards other than Trimslice, controlling this over a UART
 187          may be useful, e.g. to allow simple remote control without the need
 188          for mechanical button actuators, or hooking up relays/... to the
 189          button.
 190
 191endif
 192