xref: /openbmc/linux/drivers/soc/tegra/Kconfig (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
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
128*6d8257caSPrathamesh 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
136099a6644SThierry Redingendif
137099a6644SThierry Redingendif
1385e7d4c65SThierry Reding
13927a0342aSThierry Redingconfig SOC_TEGRA_FUSE
14027a0342aSThierry Reding	def_bool y
14127a0342aSThierry Reding	depends on ARCH_TEGRA
14227a0342aSThierry Reding	select SOC_BUS
14327a0342aSThierry Reding
1447e10cf74SJon Hunterconfig SOC_TEGRA_FLOWCTRL
1457e10cf74SJon Hunter	bool
1467e10cf74SJon Hunter
1475e7d4c65SThierry Redingconfig SOC_TEGRA_PMC
1485e7d4c65SThierry Reding	bool
1495098e2b9SCorentin Labbe	select GENERIC_PINCONF
15028dbe823SPetlozu Pravareshwar	select IRQ_DOMAIN_HIERARCHY
151f880ee9eSDmitry Osipenko	select PM_OPP
152f880ee9eSDmitry Osipenko	select PM_GENERIC_DOMAINS
1539767d1beSThierry Reding	select REGMAP
1545e7d4c65SThierry Reding
155e7149a7aSThierry Redingconfig SOC_TEGRA_POWERGATE_BPMP
156e7149a7aSThierry Reding	def_bool y
157e7149a7aSThierry Reding	depends on PM_GENERIC_DOMAINS
158e7149a7aSThierry Reding	depends on TEGRA_BPMP
159496747e7SDmitry Osipenko
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