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