summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra.c
diff options
context:
space:
mode:
authorChris Zankel <chris@zankel.net>2014-04-10 01:49:29 +0400
committerChris Zankel <chris@zankel.net>2014-04-10 01:49:29 +0400
commite86c4b67feb2c984314eef71314f26cfe39fef36 (patch)
tree3c5a7e2216cdcd1d06b8729bf94eba6dc74a7959 /arch/arm/mach-tegra/tegra.c
parentb3fdfc1b4b641d372e35ced98814289bc60bc5d1 (diff)
parent9c602629e34bad88a464e08de08118e80beee0d8 (diff)
downloadlinux-e86c4b67feb2c984314eef71314f26cfe39fef36.tar.xz
Merge tag 'xtensa-for-next-20140406' of git://github.com/jcmvbkbc/linux-xtensa into for_next
Merging from Max' tree. Xtensa fixes for 3.15: - add missing cache manipulation symbol exports to fix build failures; - sort extable at build time; - clean up sysmem code, support memmap boot parameter; - add highmem support for cores with non-aliasing caches; - add DTS for xtfpga on KC705. Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/arm/mach-tegra/tegra.c')
-rw-r--r--arch/arm/mach-tegra/tegra.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 303a285d80fd..6191603379e1 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -73,10 +73,20 @@ u32 tegra_uart_config[3] = {
static void __init tegra_init_cache(void)
{
#ifdef CONFIG_CACHE_L2X0
+ static const struct of_device_id pl310_ids[] __initconst = {
+ { .compatible = "arm,pl310-cache", },
+ {}
+ };
+
+ struct device_node *np;
int ret;
void __iomem *p = IO_ADDRESS(TEGRA_ARM_PERIF_BASE) + 0x3000;
u32 aux_ctrl, cache_type;
+ np = of_find_matching_node(NULL, pl310_ids);
+ if (!np)
+ return;
+
cache_type = readl(p + L2X0_CACHE_TYPE);
aux_ctrl = (cache_type & 0x700) << (17-8);
aux_ctrl |= 0x7C400001;