This introduces the CBB driver that is used to provide (a lot of) information about SErrors when things go wrong, instead of the kernel just crashing or hanging. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmMkSigTHHRyZWRpbmdA bnZpZGlhLmNvbQAKCRDdI6zXfz6zodLGD/0aQM06B2yTV7v5YTbV7euqVf9R2Ury NvDksvJ2wQ7Y+BR6acO2SBY6+sW4aqwqZ/COkVNFeTr2LcCVQQ0V8uh4zo3tEE34 CBLwtmQUNqQmaI8FFJAz89rDtVaApSmQgBFswvk0AdNMfihUul1bSujs808A1jA8 kk081qqlFN1liSF7g2BL6+x2ijthrRYP3ySIY/sViXht7caxVd5xaWDrBugacXv+ DbXHZnV5SRZ1pZM0MXzXVXMFzvjlvyAZJEWOUU/+DRO4I0xBTYHpFwf+Gh+4nVxa BoRRvh/reuLr9y6H0RxG4c/7mZXQK9g1s+Of8YqE5+B8wAJRyeWrcRc7X3B8/92G q0OzE9Tz8TdTqeQtyyYjDYRlbctpwW7TrvaeFyvB3O9A7Vy9saq1OIq1gBLJY3bT GQXu4i5DG/LkvVbS7ADE76YCGPbFLgsQbGEIhTInleZ+mRU3nrb1yFX4OVW05Bks Ew1g5sjCSq7elLrWuC0juq5Cmac+kvUceoEiWcJjSoLKh3lYp6iI5HHgOW9IsFFd GVB8qfmikay5fUbrD6pKgWhYsPKkptixnTnEqgOi3rYy7+YxuA/Nu6IOGh3VwUzP 9QeUwxwkm1aVfb0Ngeu5OxmsBEt8OXBi6KEdrjSieEY9Vt0herWaSzl6A9TG0sWl zu5NY+9FkSwEMg== =2g7+ -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmMt2Q0ACgkQmmx57+YA GNmLdg/+O1H8Fe9hL+6BIAbOmwxBqgFrplIelxbDQ12dw6pQlpMxBrbZwfjfpaM1 4F4UCYrJs4DTlhrB8DHOfSPSV2RXEyjGxAL73ZhKbwPlM7GjUaTqgmR6DNSA6RRS KPKDAEyWBapoavo50dEUAkZbK+Uye/cimldnKC9jx8pVLIRhR/A9fai38NHyqnDZ uT1K6XmVxo1iooSOq4xvkwFkDIp2+S7kMxLLxkWkD4gAoSWOij8ZgZu50dKbErDD epT49dYbbh5MTFioF27fHD2IT995Jp1trRdoHz4oSuaGEf2nrFE5TrD37rDIqB+e SoIQl8EXImiZD3+bQXi8olPTJ3Cy5az7BWuWTlXjWd+BpQ1O/ahE5X6Z7IRNEsXO J9k4txkj2q/5m0vCp+wFmJbfVaT6HJkfZOc563IP98gI1UZYcMsjdPLP1/vIW58Z 7CceGBhvWmq2PsUTFh/2BgDxkDVxF+sdd0iqONfv8WwgAe98tzVwK0VAwHvRTimM R8ZcyjAX13NQnqmh1q5WpxdS/6H8bozvV6UeLsrNyIOoSgddwf+KbEjzRTqC82vy v7GrmVYqC8lyChq/LcRDY2cJW89JN/AJU2ZJBSuokUtNP7aRp+bLrgcp8yrRNoLA GXnH8FjuhJb8dsWU19iyddoRSkGBkEpGoPKoK8BNKaAbiUE2nME= =LUSQ -----END PGP SIGNATURE----- Merge tag 'tegra-for-6.1-cbb' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers soc/tegra: cbb: Changes for v6.1-rc1 This introduces the CBB driver that is used to provide (a lot of) information about SErrors when things go wrong, instead of the kernel just crashing or hanging. * tag 'tegra-for-6.1-cbb' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: soc/tegra: cbb: Add support for Tegra241 (Grace) soc/tegra: cbb: Add driver for Tegra234 CBB 2.0 soc/tegra: cbb: Add CBB 1.0 driver for Tegra194 soc/tegra: Set ERD bit to mask inband errors Link: https://lore.kernel.org/r/20220916101957.1635854-2-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
173 lines
4.7 KiB
Plaintext
173 lines
4.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
if ARCH_TEGRA
|
|
|
|
# 32-bit ARM SoCs
|
|
if ARM
|
|
|
|
config ARCH_TEGRA_2x_SOC
|
|
bool "Enable support for Tegra20 family"
|
|
select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
|
|
select ARM_ERRATA_720789
|
|
select ARM_ERRATA_754327 if SMP
|
|
select ARM_ERRATA_764369 if SMP
|
|
select PINCTRL_TEGRA20
|
|
select PL310_ERRATA_727915 if CACHE_L2X0
|
|
select PL310_ERRATA_769419 if CACHE_L2X0
|
|
select SOC_TEGRA_FLOWCTRL
|
|
select SOC_TEGRA_PMC
|
|
select SOC_TEGRA20_VOLTAGE_COUPLER if REGULATOR
|
|
select TEGRA_TIMER
|
|
help
|
|
Support for NVIDIA Tegra AP20 and T20 processors, based on the
|
|
ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
|
|
|
|
config ARCH_TEGRA_3x_SOC
|
|
bool "Enable support for Tegra30 family"
|
|
select ARM_ERRATA_754322
|
|
select ARM_ERRATA_764369 if SMP
|
|
select PINCTRL_TEGRA30
|
|
select PL310_ERRATA_769419 if CACHE_L2X0
|
|
select SOC_TEGRA_FLOWCTRL
|
|
select SOC_TEGRA_PMC
|
|
select SOC_TEGRA30_VOLTAGE_COUPLER if REGULATOR
|
|
select TEGRA_TIMER
|
|
help
|
|
Support for NVIDIA Tegra T30 processor family, based on the
|
|
ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
|
|
|
|
config ARCH_TEGRA_114_SOC
|
|
bool "Enable support for Tegra114 family"
|
|
select ARM_ERRATA_798181 if SMP
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select PINCTRL_TEGRA114
|
|
select SOC_TEGRA_FLOWCTRL
|
|
select SOC_TEGRA_PMC
|
|
select TEGRA_TIMER
|
|
help
|
|
Support for NVIDIA Tegra T114 processor family, based on the
|
|
ARM CortexA15MP CPU
|
|
|
|
config ARCH_TEGRA_124_SOC
|
|
bool "Enable support for Tegra124 family"
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select PINCTRL_TEGRA124
|
|
select SOC_TEGRA_FLOWCTRL
|
|
select SOC_TEGRA_PMC
|
|
select TEGRA_TIMER
|
|
help
|
|
Support for NVIDIA Tegra T124 processor family, based on the
|
|
ARM CortexA15MP CPU
|
|
|
|
endif
|
|
|
|
# 64-bit ARM SoCs
|
|
if ARM64
|
|
|
|
config ARCH_TEGRA_132_SOC
|
|
bool "NVIDIA Tegra132 SoC"
|
|
select PINCTRL_TEGRA124
|
|
select SOC_TEGRA_FLOWCTRL
|
|
select SOC_TEGRA_PMC
|
|
help
|
|
Enable support for NVIDIA Tegra132 SoC, based on the Denver
|
|
ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC,
|
|
but contains an NVIDIA Denver CPU complex in place of
|
|
Tegra124's "4+1" Cortex-A15 CPU complex.
|
|
|
|
config ARCH_TEGRA_210_SOC
|
|
bool "NVIDIA Tegra210 SoC"
|
|
select PINCTRL_TEGRA210
|
|
select SOC_TEGRA_FLOWCTRL
|
|
select SOC_TEGRA_PMC
|
|
select TEGRA_TIMER
|
|
help
|
|
Enable support for the NVIDIA Tegra210 SoC. Also known as Tegra X1,
|
|
the Tegra210 has four Cortex-A57 cores paired with four Cortex-A53
|
|
cores in a switched configuration. It features a GPU of the Maxwell
|
|
architecture with support for DX11, SM4, OpenGL 4.5, OpenGL ES 3.1
|
|
and providing 256 CUDA cores. It supports hardware-accelerated en-
|
|
and decoding of various video standards including H.265, H.264 and
|
|
VP8 at 4K resolution and up to 60 fps.
|
|
|
|
Besides the multimedia features it also comes with a variety of I/O
|
|
controllers, such as GPIO, I2C, SPI, SDHCI, PCIe, SATA and XHCI, to
|
|
name only a few.
|
|
|
|
config ARCH_TEGRA_186_SOC
|
|
bool "NVIDIA Tegra186 SoC"
|
|
select MAILBOX
|
|
select TEGRA_BPMP
|
|
select TEGRA_HSP_MBOX
|
|
select TEGRA_IVC
|
|
select SOC_TEGRA_PMC
|
|
help
|
|
Enable support for the NVIDIA Tegar186 SoC. The Tegra186 features a
|
|
combination of Denver and Cortex-A57 CPU cores and a GPU based on
|
|
the Pascal architecture. It contains an ADSP with a Cortex-A9 CPU
|
|
used for audio processing, hardware video encoders/decoders with
|
|
multi-format support, ISP for image capture processing and BPMP for
|
|
power management.
|
|
|
|
config ARCH_TEGRA_194_SOC
|
|
bool "NVIDIA Tegra194 SoC"
|
|
select MAILBOX
|
|
select PINCTRL_TEGRA194
|
|
select TEGRA_BPMP
|
|
select TEGRA_HSP_MBOX
|
|
select TEGRA_IVC
|
|
select SOC_TEGRA_PMC
|
|
help
|
|
Enable support for the NVIDIA Tegra194 SoC.
|
|
|
|
config ARCH_TEGRA_234_SOC
|
|
bool "NVIDIA Tegra234 SoC"
|
|
select MAILBOX
|
|
select TEGRA_BPMP
|
|
select TEGRA_HSP_MBOX
|
|
select TEGRA_IVC
|
|
select SOC_TEGRA_PMC
|
|
help
|
|
Enable support for the NVIDIA Tegra234 SoC.
|
|
|
|
endif
|
|
endif
|
|
|
|
config SOC_TEGRA_FUSE
|
|
def_bool y
|
|
depends on ARCH_TEGRA
|
|
select SOC_BUS
|
|
|
|
config SOC_TEGRA_FLOWCTRL
|
|
bool
|
|
|
|
config SOC_TEGRA_PMC
|
|
bool
|
|
select GENERIC_PINCONF
|
|
select PM_OPP
|
|
select PM_GENERIC_DOMAINS
|
|
select REGMAP
|
|
|
|
config SOC_TEGRA_POWERGATE_BPMP
|
|
def_bool y
|
|
depends on PM_GENERIC_DOMAINS
|
|
depends on TEGRA_BPMP
|
|
|
|
config SOC_TEGRA20_VOLTAGE_COUPLER
|
|
bool "Voltage scaling support for Tegra20 SoCs"
|
|
depends on ARCH_TEGRA_2x_SOC || COMPILE_TEST
|
|
depends on REGULATOR
|
|
|
|
config SOC_TEGRA30_VOLTAGE_COUPLER
|
|
bool "Voltage scaling support for Tegra30 SoCs"
|
|
depends on ARCH_TEGRA_3x_SOC || COMPILE_TEST
|
|
depends on REGULATOR
|
|
|
|
config SOC_TEGRA_CBB
|
|
tristate "Tegra driver to handle error from CBB"
|
|
depends on ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC
|
|
default y
|
|
help
|
|
Support for handling error from Tegra Control Backbone(CBB).
|
|
This driver handles the errors from CBB and prints debug
|
|
information about the failed transactions.
|