aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2016-01-12 13:14:52 -0500
committerOlof Johansson <olof@lixom.net>2016-01-12 13:14:52 -0500
commitd0ac6119aaae419baf824b996d1690fbe926971e (patch)
treee502b68de00024cd4ba74edf202ef55773ba912c
parent3e9121950c92a65e33e0163d2ba111b4d9293d4c (diff)
parenta262e87ff354f12447bb6268bd63edf7ba1c20e0 (diff)
Merge tag 'tegra-for-4.5-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into late/tegra
ARM: tegra: Core SoC changes for v4.5-rc1 The big thing here is Tegra210 support, which is really only the Kconfig symbol. Other than that there's a few miscellaneous fixes. * tag 'tegra-for-4.5-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: select USB_ULPI from EHCI rather than platform ARM: tegra: Ensure entire dcache is flushed on entering LP0/1 amba: Hide TEGRA_AHB symbol soc/tegra: Add Tegra210 support soc/tegra: Provide per-SoC Kconfig symbols Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/mach-tegra/Kconfig52
-rw-r--r--arch/arm/mach-tegra/sleep-tegra20.S3
-rw-r--r--arch/arm/mach-tegra/sleep-tegra30.S3
-rw-r--r--arch/arm64/Kconfig.platforms12
-rw-r--r--drivers/amba/Kconfig2
-rw-r--r--drivers/soc/Kconfig1
-rw-r--r--drivers/soc/tegra/Kconfig83
-rw-r--r--drivers/usb/host/Kconfig2
8 files changed, 93 insertions, 65 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index a90f3556017f..0fa8b84ed657 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -13,57 +13,5 @@ menuconfig ARCH_TEGRA
13 select ARCH_HAS_RESET_CONTROLLER 13 select ARCH_HAS_RESET_CONTROLLER
14 select RESET_CONTROLLER 14 select RESET_CONTROLLER
15 select SOC_BUS 15 select SOC_BUS
16 select USB_ULPI if USB_PHY
17 select USB_ULPI_VIEWPORT if USB_PHY
18 help 16 help
19 This enables support for NVIDIA Tegra based systems. 17 This enables support for NVIDIA Tegra based systems.
20
21if ARCH_TEGRA
22
23config ARCH_TEGRA_2x_SOC
24 bool "Enable support for Tegra20 family"
25 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
26 select ARM_ERRATA_720789
27 select ARM_ERRATA_754327 if SMP
28 select ARM_ERRATA_764369 if SMP
29 select PINCTRL_TEGRA20
30 select PL310_ERRATA_727915 if CACHE_L2X0
31 select PL310_ERRATA_769419 if CACHE_L2X0
32 select TEGRA_TIMER
33 help
34 Support for NVIDIA Tegra AP20 and T20 processors, based on the
35 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
36
37config ARCH_TEGRA_3x_SOC
38 bool "Enable support for Tegra30 family"
39 select ARM_ERRATA_754322
40 select ARM_ERRATA_764369 if SMP
41 select PINCTRL_TEGRA30
42 select PL310_ERRATA_769419 if CACHE_L2X0
43 select TEGRA_TIMER
44 help
45 Support for NVIDIA Tegra T30 processor family, based on the
46 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
47
48config ARCH_TEGRA_114_SOC
49 bool "Enable support for Tegra114 family"
50 select ARM_ERRATA_798181 if SMP
51 select ARM_L1_CACHE_SHIFT_6
52 select HAVE_ARM_ARCH_TIMER
53 select PINCTRL_TEGRA114
54 select TEGRA_TIMER
55 help
56 Support for NVIDIA Tegra T114 processor family, based on the
57 ARM CortexA15MP CPU
58
59config ARCH_TEGRA_124_SOC
60 bool "Enable support for Tegra124 family"
61 select ARM_L1_CACHE_SHIFT_6
62 select HAVE_ARM_ARCH_TIMER
63 select PINCTRL_TEGRA124
64 select TEGRA_TIMER
65 help
66 Support for NVIDIA Tegra T124 processor family, based on the
67 ARM CortexA15MP CPU
68
69endif
diff --git a/arch/arm/mach-tegra/sleep-tegra20.S b/arch/arm/mach-tegra/sleep-tegra20.S
index e6b684e14322..f5d19667484e 100644
--- a/arch/arm/mach-tegra/sleep-tegra20.S
+++ b/arch/arm/mach-tegra/sleep-tegra20.S
@@ -231,8 +231,11 @@ ENDPROC(tegra20_cpu_is_resettable_soon)
231 * tegra20_tear_down_core in IRAM 231 * tegra20_tear_down_core in IRAM
232 */ 232 */
233ENTRY(tegra20_sleep_core_finish) 233ENTRY(tegra20_sleep_core_finish)
234 mov r4, r0
234 /* Flush, disable the L1 data cache and exit SMP */ 235 /* Flush, disable the L1 data cache and exit SMP */
236 mov r0, #TEGRA_FLUSH_CACHE_ALL
235 bl tegra_disable_clean_inv_dcache 237 bl tegra_disable_clean_inv_dcache
238 mov r0, r4
236 239
237 mov32 r3, tegra_shut_off_mmu 240 mov32 r3, tegra_shut_off_mmu
238 add r3, r3, r0 241 add r3, r3, r0
diff --git a/arch/arm/mach-tegra/sleep-tegra30.S b/arch/arm/mach-tegra/sleep-tegra30.S
index 9a2f0b051e10..16e5ff03383c 100644
--- a/arch/arm/mach-tegra/sleep-tegra30.S
+++ b/arch/arm/mach-tegra/sleep-tegra30.S
@@ -242,8 +242,11 @@ ENDPROC(tegra30_cpu_shutdown)
242 * tegra30_tear_down_core in IRAM 242 * tegra30_tear_down_core in IRAM
243 */ 243 */
244ENTRY(tegra30_sleep_core_finish) 244ENTRY(tegra30_sleep_core_finish)
245 mov r4, r0
245 /* Flush, disable the L1 data cache and exit SMP */ 246 /* Flush, disable the L1 data cache and exit SMP */
247 mov r0, #TEGRA_FLUSH_CACHE_ALL
246 bl tegra_disable_clean_inv_dcache 248 bl tegra_disable_clean_inv_dcache
249 mov r0, r4
247 250
248 /* 251 /*
249 * Preload all the address literals that are needed for the 252 * Preload all the address literals that are needed for the
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 4043c35962cc..2c0411670f82 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -86,18 +86,6 @@ config ARCH_TEGRA
86 help 86 help
87 This enables support for the NVIDIA Tegra SoC family. 87 This enables support for the NVIDIA Tegra SoC family.
88 88
89config ARCH_TEGRA_132_SOC
90 bool "NVIDIA Tegra132 SoC"
91 depends on ARCH_TEGRA
92 select PINCTRL_TEGRA124
93 select USB_ULPI if USB_PHY
94 select USB_ULPI_VIEWPORT if USB_PHY
95 help
96 Enable support for NVIDIA Tegra132 SoC, based on the Denver
97 ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC,
98 but contains an NVIDIA Denver CPU complex in place of
99 Tegra124's "4+1" Cortex-A15 CPU complex.
100
101config ARCH_SPRD 89config ARCH_SPRD
102 bool "Spreadtrum SoC platform" 90 bool "Spreadtrum SoC platform"
103 help 91 help
diff --git a/drivers/amba/Kconfig b/drivers/amba/Kconfig
index 4a5c9d279059..294ba6f36396 100644
--- a/drivers/amba/Kconfig
+++ b/drivers/amba/Kconfig
@@ -4,7 +4,7 @@ config ARM_AMBA
4if ARM_AMBA 4if ARM_AMBA
5 5
6config TEGRA_AHB 6config TEGRA_AHB
7 bool "Enable AHB driver for NVIDIA Tegra SoCs" 7 bool
8 default y if ARCH_TEGRA 8 default y if ARCH_TEGRA
9 help 9 help
10 Adds AHB configuration functionality for NVIDIA Tegra SoCs, 10 Adds AHB configuration functionality for NVIDIA Tegra SoCs,
diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
index 4e853ed2c82b..a8d72baf16ea 100644
--- a/drivers/soc/Kconfig
+++ b/drivers/soc/Kconfig
@@ -5,6 +5,7 @@ source "drivers/soc/mediatek/Kconfig"
5source "drivers/soc/qcom/Kconfig" 5source "drivers/soc/qcom/Kconfig"
6source "drivers/soc/rockchip/Kconfig" 6source "drivers/soc/rockchip/Kconfig"
7source "drivers/soc/sunxi/Kconfig" 7source "drivers/soc/sunxi/Kconfig"
8source "drivers/soc/tegra/Kconfig"
8source "drivers/soc/ti/Kconfig" 9source "drivers/soc/ti/Kconfig"
9source "drivers/soc/versatile/Kconfig" 10source "drivers/soc/versatile/Kconfig"
10 11
diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig
new file mode 100644
index 000000000000..d0c3c3e085e3
--- /dev/null
+++ b/drivers/soc/tegra/Kconfig
@@ -0,0 +1,83 @@
1if ARCH_TEGRA
2
3# 32-bit ARM SoCs
4if ARM
5
6config ARCH_TEGRA_2x_SOC
7 bool "Enable support for Tegra20 family"
8 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
9 select ARM_ERRATA_720789
10 select ARM_ERRATA_754327 if SMP
11 select ARM_ERRATA_764369 if SMP
12 select PINCTRL_TEGRA20
13 select PL310_ERRATA_727915 if CACHE_L2X0
14 select PL310_ERRATA_769419 if CACHE_L2X0
15 select TEGRA_TIMER
16 help
17 Support for NVIDIA Tegra AP20 and T20 processors, based on the
18 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
19
20config ARCH_TEGRA_3x_SOC
21 bool "Enable support for Tegra30 family"
22 select ARM_ERRATA_754322
23 select ARM_ERRATA_764369 if SMP
24 select PINCTRL_TEGRA30
25 select PL310_ERRATA_769419 if CACHE_L2X0
26 select TEGRA_TIMER
27 help
28 Support for NVIDIA Tegra T30 processor family, based on the
29 ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
30
31config ARCH_TEGRA_114_SOC
32 bool "Enable support for Tegra114 family"
33 select ARM_ERRATA_798181 if SMP
34 select ARM_L1_CACHE_SHIFT_6
35 select HAVE_ARM_ARCH_TIMER
36 select PINCTRL_TEGRA114
37 select TEGRA_TIMER
38 help
39 Support for NVIDIA Tegra T114 processor family, based on the
40 ARM CortexA15MP CPU
41
42config ARCH_TEGRA_124_SOC
43 bool "Enable support for Tegra124 family"
44 select ARM_L1_CACHE_SHIFT_6
45 select HAVE_ARM_ARCH_TIMER
46 select PINCTRL_TEGRA124
47 select TEGRA_TIMER
48 help
49 Support for NVIDIA Tegra T124 processor family, based on the
50 ARM CortexA15MP CPU
51
52endif
53
54# 64-bit ARM SoCs
55if ARM64
56
57config ARCH_TEGRA_132_SOC
58 bool "NVIDIA Tegra132 SoC"
59 select PINCTRL_TEGRA124
60 help
61 Enable support for NVIDIA Tegra132 SoC, based on the Denver
62 ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC,
63 but contains an NVIDIA Denver CPU complex in place of
64 Tegra124's "4+1" Cortex-A15 CPU complex.
65
66config ARCH_TEGRA_210_SOC
67 bool "NVIDIA Tegra210 SoC"
68 select PINCTRL_TEGRA210
69 help
70 Enable support for the NVIDIA Tegra210 SoC. Also known as Tegra X1,
71 the Tegra210 has four Cortex-A57 cores paired with four Cortex-A53
72 cores in a switched configuration. It features a GPU of the Maxwell
73 architecture with support for DX11, SM4, OpenGL 4.5, OpenGL ES 3.1
74 and providing 256 CUDA cores. It supports hardware-accelerated en-
75 and decoding of various video standards including H.265, H.264 and
76 VP8 at 4K resolution and up to 60 fps.
77
78 Besides the multimedia features it also comes with a variety of I/O
79 controllers, such as GPIO, I2C, SPI, SDHCI, PCIe, SATA and XHCI, to
80 name only a few.
81
82endif
83endif
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 3bb08870148f..95e72d75e0a0 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -220,6 +220,8 @@ config USB_EHCI_TEGRA
220 depends on ARCH_TEGRA 220 depends on ARCH_TEGRA
221 select USB_EHCI_ROOT_HUB_TT 221 select USB_EHCI_ROOT_HUB_TT
222 select USB_PHY 222 select USB_PHY
223 select USB_ULPI
224 select USB_ULPI_VIEWPORT
223 help 225 help
224 This driver enables support for the internal USB Host Controllers 226 This driver enables support for the internal USB Host Controllers
225 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. 227 found in NVIDIA Tegra SoCs. The controllers are EHCI compliant.