0001 # SPDX-License-Identifier: GPL-2.0-only
0002 if ARCH_TEGRA
0003
0004 # 32-bit ARM SoCs
0005 if ARM
0006
0007 config ARCH_TEGRA_2x_SOC
0008 bool "Enable support for Tegra20 family"
0009 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
0010 select ARM_ERRATA_720789
0011 select ARM_ERRATA_754327 if SMP
0012 select ARM_ERRATA_764369 if SMP
0013 select PINCTRL_TEGRA20
0014 select PL310_ERRATA_727915 if CACHE_L2X0
0015 select PL310_ERRATA_769419 if CACHE_L2X0
0016 select SOC_TEGRA_FLOWCTRL
0017 select SOC_TEGRA_PMC
0018 select SOC_TEGRA20_VOLTAGE_COUPLER if REGULATOR
0019 select TEGRA_TIMER
0020 help
0021 Support for NVIDIA Tegra AP20 and T20 processors, based on the
0022 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
0023
0024 config ARCH_TEGRA_3x_SOC
0025 bool "Enable support for Tegra30 family"
0026 select ARM_ERRATA_754322
0027 select ARM_ERRATA_764369 if SMP
0028 select PINCTRL_TEGRA30
0029 select PL310_ERRATA_769419 if CACHE_L2X0
0030 select SOC_TEGRA_FLOWCTRL
0031 select SOC_TEGRA_PMC
0032 select SOC_TEGRA30_VOLTAGE_COUPLER if REGULATOR
0033 select TEGRA_TIMER
0034 help
0035 Support for NVIDIA Tegra T30 processor family, based on the
0036 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
0037
0038 config ARCH_TEGRA_114_SOC
0039 bool "Enable support for Tegra114 family"
0040 select ARM_ERRATA_798181 if SMP
0041 select HAVE_ARM_ARCH_TIMER
0042 select PINCTRL_TEGRA114
0043 select SOC_TEGRA_FLOWCTRL
0044 select SOC_TEGRA_PMC
0045 select TEGRA_TIMER
0046 help
0047 Support for NVIDIA Tegra T114 processor family, based on the
0048 ARM CortexA15MP CPU
0049
0050 config ARCH_TEGRA_124_SOC
0051 bool "Enable support for Tegra124 family"
0052 select HAVE_ARM_ARCH_TIMER
0053 select PINCTRL_TEGRA124
0054 select SOC_TEGRA_FLOWCTRL
0055 select SOC_TEGRA_PMC
0056 select TEGRA_TIMER
0057 help
0058 Support for NVIDIA Tegra T124 processor family, based on the
0059 ARM CortexA15MP CPU
0060
0061 endif
0062
0063 # 64-bit ARM SoCs
0064 if ARM64
0065
0066 config ARCH_TEGRA_132_SOC
0067 bool "NVIDIA Tegra132 SoC"
0068 select PINCTRL_TEGRA124
0069 select SOC_TEGRA_FLOWCTRL
0070 select SOC_TEGRA_PMC
0071 help
0072 Enable support for NVIDIA Tegra132 SoC, based on the Denver
0073 ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC,
0074 but contains an NVIDIA Denver CPU complex in place of
0075 Tegra124's "4+1" Cortex-A15 CPU complex.
0076
0077 config ARCH_TEGRA_210_SOC
0078 bool "NVIDIA Tegra210 SoC"
0079 select PINCTRL_TEGRA210
0080 select SOC_TEGRA_FLOWCTRL
0081 select SOC_TEGRA_PMC
0082 select TEGRA_TIMER
0083 help
0084 Enable support for the NVIDIA Tegra210 SoC. Also known as Tegra X1,
0085 the Tegra210 has four Cortex-A57 cores paired with four Cortex-A53
0086 cores in a switched configuration. It features a GPU of the Maxwell
0087 architecture with support for DX11, SM4, OpenGL 4.5, OpenGL ES 3.1
0088 and providing 256 CUDA cores. It supports hardware-accelerated en-
0089 and decoding of various video standards including H.265, H.264 and
0090 VP8 at 4K resolution and up to 60 fps.
0091
0092 Besides the multimedia features it also comes with a variety of I/O
0093 controllers, such as GPIO, I2C, SPI, SDHCI, PCIe, SATA and XHCI, to
0094 name only a few.
0095
0096 config ARCH_TEGRA_186_SOC
0097 bool "NVIDIA Tegra186 SoC"
0098 select MAILBOX
0099 select TEGRA_BPMP
0100 select TEGRA_HSP_MBOX
0101 select TEGRA_IVC
0102 select SOC_TEGRA_PMC
0103 help
0104 Enable support for the NVIDIA Tegar186 SoC. The Tegra186 features a
0105 combination of Denver and Cortex-A57 CPU cores and a GPU based on
0106 the Pascal architecture. It contains an ADSP with a Cortex-A9 CPU
0107 used for audio processing, hardware video encoders/decoders with
0108 multi-format support, ISP for image capture processing and BPMP for
0109 power management.
0110
0111 config ARCH_TEGRA_194_SOC
0112 bool "NVIDIA Tegra194 SoC"
0113 select MAILBOX
0114 select PINCTRL_TEGRA194
0115 select TEGRA_BPMP
0116 select TEGRA_HSP_MBOX
0117 select TEGRA_IVC
0118 select SOC_TEGRA_PMC
0119 help
0120 Enable support for the NVIDIA Tegra194 SoC.
0121
0122 config ARCH_TEGRA_234_SOC
0123 bool "NVIDIA Tegra234 SoC"
0124 select MAILBOX
0125 select TEGRA_BPMP
0126 select TEGRA_HSP_MBOX
0127 select TEGRA_IVC
0128 select SOC_TEGRA_PMC
0129 help
0130 Enable support for the NVIDIA Tegra234 SoC.
0131
0132 endif
0133 endif
0134
0135 config SOC_TEGRA_FUSE
0136 def_bool y
0137 depends on ARCH_TEGRA
0138 select SOC_BUS
0139 select TEGRA20_APB_DMA if ARCH_TEGRA_2x_SOC
0140
0141 config SOC_TEGRA_FLOWCTRL
0142 bool
0143
0144 config SOC_TEGRA_PMC
0145 bool
0146 select GENERIC_PINCONF
0147 select PM_OPP
0148 select PM_GENERIC_DOMAINS
0149 select REGMAP
0150
0151 config SOC_TEGRA_POWERGATE_BPMP
0152 def_bool y
0153 depends on PM_GENERIC_DOMAINS
0154 depends on TEGRA_BPMP
0155
0156 config SOC_TEGRA20_VOLTAGE_COUPLER
0157 bool "Voltage scaling support for Tegra20 SoCs"
0158 depends on ARCH_TEGRA_2x_SOC || COMPILE_TEST
0159 depends on REGULATOR
0160
0161 config SOC_TEGRA30_VOLTAGE_COUPLER
0162 bool "Voltage scaling support for Tegra30 SoCs"
0163 depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST
0164 depends on REGULATOR