Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 1 | if TEGRA |
| 2 | |
Simon Glass | 53b5bf3 | 2016-09-12 23:18:39 -0600 | [diff] [blame] | 3 | config SPL_GPIO_SUPPORT |
| 4 | default y |
| 5 | |
Simon Glass | 77d2f7f | 2016-09-12 23:18:41 -0600 | [diff] [blame] | 6 | config SPL_LIBCOMMON_SUPPORT |
| 7 | default y |
| 8 | |
Simon Glass | cc4288e | 2016-09-12 23:18:43 -0600 | [diff] [blame] | 9 | config SPL_LIBGENERIC_SUPPORT |
| 10 | default y |
| 11 | |
Simon Glass | e00f76c | 2016-09-12 23:18:56 -0600 | [diff] [blame] | 12 | config SPL_SERIAL_SUPPORT |
| 13 | default y |
| 14 | |
Stephen Warren | 49626ea | 2016-07-18 12:17:11 -0600 | [diff] [blame] | 15 | config TEGRA_IVC |
| 16 | bool "Tegra IVC protocol" |
| 17 | help |
| 18 | IVC (Inter-VM Communication) protocol is a Tegra-specific IPC |
| 19 | (Inter Processor Communication) framework. Within the context of |
| 20 | U-Boot, it is typically used for communication between the main CPU |
| 21 | and various auxiliary processors. |
| 22 | |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 23 | config TEGRA_COMMON |
| 24 | bool "Tegra common options" |
Stephen Warren | 140a9ea | 2016-09-13 10:46:00 -0600 | [diff] [blame] | 25 | select CLK |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 26 | select DM |
Simon Glass | 96350f7 | 2015-11-29 13:18:01 -0700 | [diff] [blame] | 27 | select DM_ETH |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 28 | select DM_GPIO |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 29 | select DM_I2C |
Simon Glass | f77f5e9 | 2015-10-18 21:17:16 -0600 | [diff] [blame] | 30 | select DM_KEYBOARD |
Tom Warren | 6a474db | 2016-09-13 10:45:48 -0600 | [diff] [blame] | 31 | select DM_MMC |
Simon Glass | 91c08af | 2016-01-30 16:38:01 -0700 | [diff] [blame] | 32 | select DM_PWM |
Stephen Warren | 140a9ea | 2016-09-13 10:46:00 -0600 | [diff] [blame] | 33 | select DM_RESET |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 34 | select DM_SERIAL |
| 35 | select DM_SPI |
| 36 | select DM_SPI_FLASH |
Stephen Warren | 140a9ea | 2016-09-13 10:46:00 -0600 | [diff] [blame] | 37 | select MISC |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 38 | select OF_CONTROL |
Simon Glass | d6ef8a6 | 2016-02-16 18:09:19 -0700 | [diff] [blame] | 39 | select VIDCONSOLE_AS_LCD if DM_VIDEO |
Simon Glass | a5d6754 | 2017-01-23 13:31:20 -0700 | [diff] [blame] | 40 | select BOARD_EARLY_INIT_F |
Daniel Thompson | 221a949 | 2017-05-19 17:26:58 +0100 | [diff] [blame] | 41 | imply CRC32_VERIFY |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 42 | |
Stephen Warren | 140a9ea | 2016-09-13 10:46:00 -0600 | [diff] [blame] | 43 | config TEGRA_NO_BPMP |
| 44 | bool "Tegra common options for SoCs without BPMP" |
| 45 | select TEGRA_CAR |
| 46 | select TEGRA_CAR_CLOCK |
| 47 | select TEGRA_CAR_RESET |
| 48 | |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 49 | config TEGRA_ARMV7_COMMON |
| 50 | bool "Tegra 32-bit common options" |
| 51 | select CPU_V7 |
| 52 | select SPL |
Ley Foon Tan | 0680f1b | 2017-05-03 17:13:32 +0800 | [diff] [blame] | 53 | select SPL_BOARD_INIT if SPL |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 54 | select SUPPORT_SPL |
| 55 | select TEGRA_COMMON |
Stephen Warren | 601800b | 2016-05-12 12:07:41 -0600 | [diff] [blame] | 56 | select TEGRA_GPIO |
Stephen Warren | 140a9ea | 2016-09-13 10:46:00 -0600 | [diff] [blame] | 57 | select TEGRA_NO_BPMP |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 58 | |
| 59 | config TEGRA_ARMV8_COMMON |
| 60 | bool "Tegra 64-bit common options" |
| 61 | select ARM64 |
| 62 | select TEGRA_COMMON |
Simon Glass | 2be2965 | 2017-07-23 21:19:39 -0600 | [diff] [blame] | 63 | imply ENV_IS_IN_MMC |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 64 | |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 65 | choice |
| 66 | prompt "Tegra SoC select" |
Joe Hershberger | a26cd04 | 2015-05-12 14:46:23 -0500 | [diff] [blame] | 67 | optional |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 68 | |
| 69 | config TEGRA20 |
| 70 | bool "Tegra20 family" |
Tom Rini | 8dda2e2 | 2017-03-07 07:13:42 -0500 | [diff] [blame] | 71 | select ARM_ERRATA_716044 |
| 72 | select ARM_ERRATA_742230 |
| 73 | select ARM_ERRATA_751472 |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 74 | select TEGRA_ARMV7_COMMON |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 75 | |
| 76 | config TEGRA30 |
| 77 | bool "Tegra30 family" |
Tom Rini | 8dda2e2 | 2017-03-07 07:13:42 -0500 | [diff] [blame] | 78 | select ARM_ERRATA_743622 |
| 79 | select ARM_ERRATA_751472 |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 80 | select TEGRA_ARMV7_COMMON |
Simon Glass | 2be2965 | 2017-07-23 21:19:39 -0600 | [diff] [blame] | 81 | imply ENV_IS_IN_MMC |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 82 | |
| 83 | config TEGRA114 |
| 84 | bool "Tegra114 family" |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 85 | select TEGRA_ARMV7_COMMON |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 86 | |
| 87 | config TEGRA124 |
| 88 | bool "Tegra124 family" |
Tom Warren | 56079ec | 2015-07-17 08:12:51 -0700 | [diff] [blame] | 89 | select TEGRA_ARMV7_COMMON |
Simon Glass | 2be2965 | 2017-07-23 21:19:39 -0600 | [diff] [blame] | 90 | imply ENV_IS_IN_MMC |
Simon Glass | 66de3ee | 2017-07-25 08:29:58 -0600 | [diff] [blame^] | 91 | imply REGMAP |
| 92 | imply SYSCON |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 93 | |
Tom Warren | 7aaa5a6 | 2015-03-04 16:36:00 -0700 | [diff] [blame] | 94 | config TEGRA210 |
| 95 | bool "Tegra210 family" |
Stephen Warren | 601800b | 2016-05-12 12:07:41 -0600 | [diff] [blame] | 96 | select TEGRA_GPIO |
Stephen Warren | 15bcc62 | 2015-11-23 10:32:01 -0700 | [diff] [blame] | 97 | select TEGRA_ARMV8_COMMON |
Stephen Warren | 140a9ea | 2016-09-13 10:46:00 -0600 | [diff] [blame] | 98 | select TEGRA_NO_BPMP |
Tom Warren | 7aaa5a6 | 2015-03-04 16:36:00 -0700 | [diff] [blame] | 99 | |
Stephen Warren | c7ba99c | 2016-05-12 13:32:55 -0600 | [diff] [blame] | 100 | config TEGRA186 |
| 101 | bool "Tegra186 family" |
Stephen Warren | 0f67e23 | 2016-06-17 09:43:57 -0600 | [diff] [blame] | 102 | select DM_MAILBOX |
Stephen Warren | 73dd5c4 | 2016-08-08 09:41:34 -0600 | [diff] [blame] | 103 | select TEGRA186_BPMP |
Stephen Warren | d9fd700 | 2016-08-08 11:28:24 -0600 | [diff] [blame] | 104 | select TEGRA186_CLOCK |
Stephen Warren | c7ba99c | 2016-05-12 13:32:55 -0600 | [diff] [blame] | 105 | select TEGRA186_GPIO |
Stephen Warren | 4dd99d1 | 2016-08-08 11:28:25 -0600 | [diff] [blame] | 106 | select TEGRA186_RESET |
Stephen Warren | c7ba99c | 2016-05-12 13:32:55 -0600 | [diff] [blame] | 107 | select TEGRA_ARMV8_COMMON |
Stephen Warren | 0f67e23 | 2016-06-17 09:43:57 -0600 | [diff] [blame] | 108 | select TEGRA_HSP |
Stephen Warren | 49626ea | 2016-07-18 12:17:11 -0600 | [diff] [blame] | 109 | select TEGRA_IVC |
Stephen Warren | c7ba99c | 2016-05-12 13:32:55 -0600 | [diff] [blame] | 110 | |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 111 | endchoice |
| 112 | |
Stephen Warren | dd8204d | 2016-01-26 10:59:42 -0700 | [diff] [blame] | 113 | config TEGRA_DISCONNECT_UDC_ON_BOOT |
| 114 | bool "Disconnect USB device mode controller on boot" |
| 115 | default y |
| 116 | help |
| 117 | When loading U-Boot into RAM over USB protocols using tools such as |
| 118 | tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device |
| 119 | mode controller is initialized and enumerated by the host PC running |
| 120 | the tool. Unfortunately, these tools do not shut down the USB |
| 121 | controller before executing the downloaded code, and so the host PC |
| 122 | does not "de-enumerate" the USB device. This option shuts down the |
| 123 | USB controller when U-Boot boots to avoid leaving a stale USB device |
| 124 | present. |
| 125 | |
Simon Glass | b724bd7 | 2015-02-11 16:32:59 -0700 | [diff] [blame] | 126 | config SYS_MALLOC_F_LEN |
| 127 | default 0x1800 |
| 128 | |
Masahiro Yamada | 09f455d | 2015-02-20 17:04:04 +0900 | [diff] [blame] | 129 | source "arch/arm/mach-tegra/tegra20/Kconfig" |
| 130 | source "arch/arm/mach-tegra/tegra30/Kconfig" |
| 131 | source "arch/arm/mach-tegra/tegra114/Kconfig" |
| 132 | source "arch/arm/mach-tegra/tegra124/Kconfig" |
Tom Warren | 7aaa5a6 | 2015-03-04 16:36:00 -0700 | [diff] [blame] | 133 | source "arch/arm/mach-tegra/tegra210/Kconfig" |
Stephen Warren | c7ba99c | 2016-05-12 13:32:55 -0600 | [diff] [blame] | 134 | source "arch/arm/mach-tegra/tegra186/Kconfig" |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 135 | |
Simon Glass | 42e6f85 | 2017-05-17 03:25:11 -0600 | [diff] [blame] | 136 | config CMD_ENTERRCM |
| 137 | bool "Enable 'enterrcm' command" |
| 138 | default y |
| 139 | help |
| 140 | Tegra's boot ROM supports a mode whereby code may be downloaded and |
| 141 | flash-programmed over a USB connection. On dev boards, this is |
| 142 | typically entered by holding down a "force recovery" button and |
| 143 | resetting the CPU. However, not all boards have such a button (one |
| 144 | example is the Compulab Trimslice), so a method to enter RCM from |
| 145 | software is useful. |
| 146 | |
| 147 | Even on boards other than Trimslice, controlling this over a UART |
| 148 | may be useful, e.g. to allow simple remote control without the need |
| 149 | for mechanical button actuators, or hooking up relays/... to the |
| 150 | button. |
| 151 | |
Masahiro Yamada | ddd960e | 2014-08-31 07:10:56 +0900 | [diff] [blame] | 152 | endif |