1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2099a6644SThierry Redingif ARCH_TEGRA 3099a6644SThierry Reding 4099a6644SThierry Reding# 32-bit ARM SoCs 5099a6644SThierry Redingif ARM 6099a6644SThierry Reding 7099a6644SThierry Redingconfig ARCH_TEGRA_2x_SOC 8099a6644SThierry Reding bool "Enable support for Tegra20 family" 9099a6644SThierry Reding select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP 10099a6644SThierry Reding select ARM_ERRATA_720789 11099a6644SThierry Reding select ARM_ERRATA_754327 if SMP 12099a6644SThierry Reding select ARM_ERRATA_764369 if SMP 13099a6644SThierry Reding select PINCTRL_TEGRA20 14099a6644SThierry Reding select PL310_ERRATA_727915 if CACHE_L2X0 15099a6644SThierry Reding select PL310_ERRATA_769419 if CACHE_L2X0 167e10cf74SJon Hunter select SOC_TEGRA_FLOWCTRL 175e7d4c65SThierry Reding select SOC_TEGRA_PMC 18a4282f66SDmitry Osipenko select SOC_TEGRA20_VOLTAGE_COUPLER if REGULATOR 19099a6644SThierry Reding select TEGRA_TIMER 20099a6644SThierry Reding help 21099a6644SThierry Reding Support for NVIDIA Tegra AP20 and T20 processors, based on the 22099a6644SThierry Reding ARM CortexA9MP CPU and the ARM PL310 L2 cache controller 23099a6644SThierry Reding 24099a6644SThierry Redingconfig ARCH_TEGRA_3x_SOC 25099a6644SThierry Reding bool "Enable support for Tegra30 family" 26099a6644SThierry Reding select ARM_ERRATA_754322 27099a6644SThierry Reding select ARM_ERRATA_764369 if SMP 28099a6644SThierry Reding select PINCTRL_TEGRA30 29099a6644SThierry Reding select PL310_ERRATA_769419 if CACHE_L2X0 307e10cf74SJon Hunter select SOC_TEGRA_FLOWCTRL 315e7d4c65SThierry Reding select SOC_TEGRA_PMC 32a4282f66SDmitry Osipenko select SOC_TEGRA30_VOLTAGE_COUPLER if REGULATOR 33099a6644SThierry Reding select TEGRA_TIMER 34099a6644SThierry Reding help 35099a6644SThierry Reding Support for NVIDIA Tegra T30 processor family, based on the 36099a6644SThierry Reding ARM CortexA9MP CPU and the ARM PL310 L2 cache controller 37099a6644SThierry Reding 38099a6644SThierry Redingconfig ARCH_TEGRA_114_SOC 39099a6644SThierry Reding bool "Enable support for Tegra114 family" 40099a6644SThierry Reding select ARM_ERRATA_798181 if SMP 41099a6644SThierry Reding select HAVE_ARM_ARCH_TIMER 42099a6644SThierry Reding select PINCTRL_TEGRA114 437e10cf74SJon Hunter select SOC_TEGRA_FLOWCTRL 445e7d4c65SThierry Reding select SOC_TEGRA_PMC 45099a6644SThierry Reding select TEGRA_TIMER 46099a6644SThierry Reding help 47099a6644SThierry Reding Support for NVIDIA Tegra T114 processor family, based on the 48099a6644SThierry Reding ARM CortexA15MP CPU 49099a6644SThierry Reding 50099a6644SThierry Redingconfig ARCH_TEGRA_124_SOC 51099a6644SThierry Reding bool "Enable support for Tegra124 family" 52099a6644SThierry Reding select HAVE_ARM_ARCH_TIMER 53099a6644SThierry Reding select PINCTRL_TEGRA124 547e10cf74SJon Hunter select SOC_TEGRA_FLOWCTRL 555e7d4c65SThierry Reding select SOC_TEGRA_PMC 56099a6644SThierry Reding select TEGRA_TIMER 57099a6644SThierry Reding help 58099a6644SThierry Reding Support for NVIDIA Tegra T124 processor family, based on the 59099a6644SThierry Reding ARM CortexA15MP CPU 60099a6644SThierry Reding 61099a6644SThierry Redingendif 62099a6644SThierry Reding 63099a6644SThierry Reding# 64-bit ARM SoCs 64099a6644SThierry Redingif ARM64 65099a6644SThierry Reding 66099a6644SThierry Redingconfig ARCH_TEGRA_132_SOC 67099a6644SThierry Reding bool "NVIDIA Tegra132 SoC" 68099a6644SThierry Reding select PINCTRL_TEGRA124 691fd09e5dSJon Hunter select SOC_TEGRA_FLOWCTRL 705e7d4c65SThierry Reding select SOC_TEGRA_PMC 71099a6644SThierry Reding help 72099a6644SThierry Reding Enable support for NVIDIA Tegra132 SoC, based on the Denver 73099a6644SThierry Reding ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC, 74099a6644SThierry Reding but contains an NVIDIA Denver CPU complex in place of 75099a6644SThierry Reding Tegra124's "4+1" Cortex-A15 CPU complex. 76099a6644SThierry Reding 7795445952SThierry Redingconfig ARCH_TEGRA_210_SOC 7895445952SThierry Reding bool "NVIDIA Tegra210 SoC" 7995445952SThierry Reding select PINCTRL_TEGRA210 801fd09e5dSJon Hunter select SOC_TEGRA_FLOWCTRL 815e7d4c65SThierry Reding select SOC_TEGRA_PMC 82f40f4fc9SJoseph Lo select TEGRA_TIMER 8395445952SThierry Reding help 8495445952SThierry Reding Enable support for the NVIDIA Tegra210 SoC. Also known as Tegra X1, 8595445952SThierry Reding the Tegra210 has four Cortex-A57 cores paired with four Cortex-A53 8695445952SThierry Reding cores in a switched configuration. It features a GPU of the Maxwell 8795445952SThierry Reding architecture with support for DX11, SM4, OpenGL 4.5, OpenGL ES 3.1 8895445952SThierry Reding and providing 256 CUDA cores. It supports hardware-accelerated en- 8995445952SThierry Reding and decoding of various video standards including H.265, H.264 and 9095445952SThierry Reding VP8 at 4K resolution and up to 60 fps. 9195445952SThierry Reding 9295445952SThierry Reding Besides the multimedia features it also comes with a variety of I/O 9395445952SThierry Reding controllers, such as GPIO, I2C, SPI, SDHCI, PCIe, SATA and XHCI, to 9495445952SThierry Reding name only a few. 9595445952SThierry Reding 9625a06442SJoseph Loconfig ARCH_TEGRA_186_SOC 9725a06442SJoseph Lo bool "NVIDIA Tegra186 SoC" 98ba4b4d02SArnd Bergmann depends on !CPU_BIG_ENDIAN 9925a06442SJoseph Lo select MAILBOX 10025a06442SJoseph Lo select TEGRA_BPMP 10125a06442SJoseph Lo select TEGRA_HSP_MBOX 10225a06442SJoseph Lo select TEGRA_IVC 103c641ec6eSThierry Reding select SOC_TEGRA_PMC 10425a06442SJoseph Lo help 10525a06442SJoseph Lo Enable support for the NVIDIA Tegar186 SoC. The Tegra186 features a 10625a06442SJoseph Lo combination of Denver and Cortex-A57 CPU cores and a GPU based on 10725a06442SJoseph Lo the Pascal architecture. It contains an ADSP with a Cortex-A9 CPU 10825a06442SJoseph Lo used for audio processing, hardware video encoders/decoders with 10925a06442SJoseph Lo multi-format support, ISP for image capture processing and BPMP for 11025a06442SJoseph Lo power management. 11125a06442SJoseph Lo 1126f9ed07fSMikko Perttunenconfig ARCH_TEGRA_194_SOC 1136f9ed07fSMikko Perttunen bool "NVIDIA Tegra194 SoC" 114ba4b4d02SArnd Bergmann depends on !CPU_BIG_ENDIAN 1156f9ed07fSMikko Perttunen select MAILBOX 1167ac13f6dSKrishna Yarlagadda select PINCTRL_TEGRA194 1176f9ed07fSMikko Perttunen select TEGRA_BPMP 1186f9ed07fSMikko Perttunen select TEGRA_HSP_MBOX 1196f9ed07fSMikko Perttunen select TEGRA_IVC 1206f9ed07fSMikko Perttunen select SOC_TEGRA_PMC 1216f9ed07fSMikko Perttunen help 1226f9ed07fSMikko Perttunen Enable support for the NVIDIA Tegra194 SoC. 1236f9ed07fSMikko Perttunen 12463944891SThierry Redingconfig ARCH_TEGRA_234_SOC 12563944891SThierry Reding bool "NVIDIA Tegra234 SoC" 126ba4b4d02SArnd Bergmann depends on !CPU_BIG_ENDIAN 12763944891SThierry Reding select MAILBOX 1286d8257caSPrathamesh Shete select PINCTRL_TEGRA234 12963944891SThierry Reding select TEGRA_BPMP 13063944891SThierry Reding select TEGRA_HSP_MBOX 13163944891SThierry Reding select TEGRA_IVC 13263944891SThierry Reding select SOC_TEGRA_PMC 13363944891SThierry Reding help 13463944891SThierry Reding Enable support for the NVIDIA Tegra234 SoC. 13563944891SThierry Reding 136*8402074fSKartikconfig ARCH_TEGRA_241_SOC 137*8402074fSKartik bool "NVIDIA Tegra241 SoC" 138*8402074fSKartik help 139*8402074fSKartik Enable support for the NVIDIA Tegra241 SoC. 140*8402074fSKartik 141099a6644SThierry Redingendif 142099a6644SThierry Redingendif 1435e7d4c65SThierry Reding 14427a0342aSThierry Redingconfig SOC_TEGRA_FUSE 14527a0342aSThierry Reding def_bool y 14627a0342aSThierry Reding depends on ARCH_TEGRA 14727a0342aSThierry Reding select SOC_BUS 14827a0342aSThierry Reding 1497e10cf74SJon Hunterconfig SOC_TEGRA_FLOWCTRL 1507e10cf74SJon Hunter bool 1517e10cf74SJon Hunter 1525e7d4c65SThierry Redingconfig SOC_TEGRA_PMC 1535e7d4c65SThierry Reding bool 1545098e2b9SCorentin Labbe select GENERIC_PINCONF 15528dbe823SPetlozu Pravareshwar select IRQ_DOMAIN_HIERARCHY 156f880ee9eSDmitry Osipenko select PM_OPP 157f880ee9eSDmitry Osipenko select PM_GENERIC_DOMAINS 1589767d1beSThierry Reding select REGMAP 1595e7d4c65SThierry Reding 160496747e7SDmitry Osipenkoconfig SOC_TEGRA20_VOLTAGE_COUPLER 161496747e7SDmitry Osipenko bool "Voltage scaling support for Tegra20 SoCs" 162496747e7SDmitry Osipenko depends on ARCH_TEGRA_2x_SOC || COMPILE_TEST 163a4282f66SDmitry Osipenko depends on REGULATOR 16478380743SDmitry Osipenko 16578380743SDmitry Osipenkoconfig SOC_TEGRA30_VOLTAGE_COUPLER 16678380743SDmitry Osipenko bool "Voltage scaling support for Tegra30 SoCs" 16778380743SDmitry Osipenko depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST 168a4282f66SDmitry Osipenko depends on REGULATOR 169b7134422SSumit Gupta 170b7134422SSumit Guptaconfig SOC_TEGRA_CBB 171b7134422SSumit Gupta tristate "Tegra driver to handle error from CBB" 172fc2f151dSSumit Gupta depends on ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC 173b7134422SSumit Gupta default y 174b7134422SSumit Gupta help 175b7134422SSumit Gupta Support for handling error from Tegra Control Backbone(CBB). 176b7134422SSumit Gupta This driver handles the errors from CBB and prints debug 177b7134422SSumit Gupta information about the failed transactions. 178