1# SPDX-License-Identifier: GPL-2.0-only 2if ARCH_TEGRA 3 4# 32-bit ARM SoCs 5if ARM 6 7config ARCH_TEGRA_2x_SOC 8 bool "Enable support for Tegra20 family" 9 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP 10 select ARM_ERRATA_720789 11 select ARM_ERRATA_754327 if SMP 12 select ARM_ERRATA_764369 if SMP 13 select PINCTRL_TEGRA20 14 select PL310_ERRATA_727915 if CACHE_L2X0 15 select PL310_ERRATA_769419 if CACHE_L2X0 16 select SOC_TEGRA_FLOWCTRL 17 select SOC_TEGRA_PMC 18 select SOC_TEGRA20_VOLTAGE_COUPLER if REGULATOR 19 select TEGRA_TIMER 20 help 21 Support for NVIDIA Tegra AP20 and T20 processors, based on the 22 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller 23 24config ARCH_TEGRA_3x_SOC 25 bool "Enable support for Tegra30 family" 26 select ARM_ERRATA_754322 27 select ARM_ERRATA_764369 if SMP 28 select PINCTRL_TEGRA30 29 select PL310_ERRATA_769419 if CACHE_L2X0 30 select SOC_TEGRA_FLOWCTRL 31 select SOC_TEGRA_PMC 32 select SOC_TEGRA30_VOLTAGE_COUPLER if REGULATOR 33 select TEGRA_TIMER 34 help 35 Support for NVIDIA Tegra T30 processor family, based on the 36 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller 37 38config ARCH_TEGRA_114_SOC 39 bool "Enable support for Tegra114 family" 40 select ARM_ERRATA_798181 if SMP 41 select HAVE_ARM_ARCH_TIMER 42 select PINCTRL_TEGRA114 43 select SOC_TEGRA_FLOWCTRL 44 select SOC_TEGRA_PMC 45 select TEGRA_TIMER 46 help 47 Support for NVIDIA Tegra T114 processor family, based on the 48 ARM CortexA15MP CPU 49 50config ARCH_TEGRA_124_SOC 51 bool "Enable support for Tegra124 family" 52 select HAVE_ARM_ARCH_TIMER 53 select PINCTRL_TEGRA124 54 select SOC_TEGRA_FLOWCTRL 55 select SOC_TEGRA_PMC 56 select TEGRA_TIMER 57 help 58 Support for NVIDIA Tegra T124 processor family, based on the 59 ARM CortexA15MP CPU 60 61endif 62 63# 64-bit ARM SoCs 64if ARM64 65 66config ARCH_TEGRA_132_SOC 67 bool "NVIDIA Tegra132 SoC" 68 select PINCTRL_TEGRA124 69 select SOC_TEGRA_FLOWCTRL 70 select SOC_TEGRA_PMC 71 help 72 Enable support for NVIDIA Tegra132 SoC, based on the Denver 73 ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC, 74 but contains an NVIDIA Denver CPU complex in place of 75 Tegra124's "4+1" Cortex-A15 CPU complex. 76 77config ARCH_TEGRA_210_SOC 78 bool "NVIDIA Tegra210 SoC" 79 select PINCTRL_TEGRA210 80 select SOC_TEGRA_FLOWCTRL 81 select SOC_TEGRA_PMC 82 select TEGRA_TIMER 83 help 84 Enable support for the NVIDIA Tegra210 SoC. Also known as Tegra X1, 85 the Tegra210 has four Cortex-A57 cores paired with four Cortex-A53 86 cores in a switched configuration. It features a GPU of the Maxwell 87 architecture with support for DX11, SM4, OpenGL 4.5, OpenGL ES 3.1 88 and providing 256 CUDA cores. It supports hardware-accelerated en- 89 and decoding of various video standards including H.265, H.264 and 90 VP8 at 4K resolution and up to 60 fps. 91 92 Besides the multimedia features it also comes with a variety of I/O 93 controllers, such as GPIO, I2C, SPI, SDHCI, PCIe, SATA and XHCI, to 94 name only a few. 95 96config ARCH_TEGRA_186_SOC 97 bool "NVIDIA Tegra186 SoC" 98 depends on !CPU_BIG_ENDIAN 99 select MAILBOX 100 select TEGRA_BPMP 101 select TEGRA_HSP_MBOX 102 select TEGRA_IVC 103 select SOC_TEGRA_PMC 104 help 105 Enable support for the NVIDIA Tegar186 SoC. The Tegra186 features a 106 combination of Denver and Cortex-A57 CPU cores and a GPU based on 107 the Pascal architecture. It contains an ADSP with a Cortex-A9 CPU 108 used for audio processing, hardware video encoders/decoders with 109 multi-format support, ISP for image capture processing and BPMP for 110 power management. 111 112config ARCH_TEGRA_194_SOC 113 bool "NVIDIA Tegra194 SoC" 114 depends on !CPU_BIG_ENDIAN 115 select MAILBOX 116 select PINCTRL_TEGRA194 117 select TEGRA_BPMP 118 select TEGRA_HSP_MBOX 119 select TEGRA_IVC 120 select SOC_TEGRA_PMC 121 help 122 Enable support for the NVIDIA Tegra194 SoC. 123 124config ARCH_TEGRA_234_SOC 125 bool "NVIDIA Tegra234 SoC" 126 depends on !CPU_BIG_ENDIAN 127 select MAILBOX 128 select PINCTRL_TEGRA234 129 select TEGRA_BPMP 130 select TEGRA_HSP_MBOX 131 select TEGRA_IVC 132 select SOC_TEGRA_PMC 133 help 134 Enable support for the NVIDIA Tegra234 SoC. 135 136endif 137endif 138 139config SOC_TEGRA_FUSE 140 def_bool y 141 depends on ARCH_TEGRA 142 select SOC_BUS 143 144config SOC_TEGRA_FLOWCTRL 145 bool 146 147config SOC_TEGRA_PMC 148 bool 149 select GENERIC_PINCONF 150 select IRQ_DOMAIN_HIERARCHY 151 select PM_OPP 152 select PM_GENERIC_DOMAINS 153 select REGMAP 154 155config SOC_TEGRA_POWERGATE_BPMP 156 def_bool y 157 depends on PM_GENERIC_DOMAINS 158 depends on TEGRA_BPMP 159 160config SOC_TEGRA20_VOLTAGE_COUPLER 161 bool "Voltage scaling support for Tegra20 SoCs" 162 depends on ARCH_TEGRA_2x_SOC || COMPILE_TEST 163 depends on REGULATOR 164 165config SOC_TEGRA30_VOLTAGE_COUPLER 166 bool "Voltage scaling support for Tegra30 SoCs" 167 depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST 168 depends on REGULATOR 169 170config SOC_TEGRA_CBB 171 tristate "Tegra driver to handle error from CBB" 172 depends on ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC 173 default y 174 help 175 Support for handling error from Tegra Control Backbone(CBB). 176 This driver handles the errors from CBB and prints debug 177 information about the failed transactions. 178