• Home
  • Raw
  • Download

Lines Matching +full:p +full:- +full:256

1 // SPDX-License-Identifier: GPL-2.0
3 * R-Car Generation 2 Power management support
5 * Copyright (C) 2013 - 2015 Renesas Electronics Corporation
18 #include "rcar-gen2.h"
33 #define CA15RESCNT_CPUS 0xf /* CPU0-3 */
35 #define CA7RESCNT_CPUS 0xf /* CPU0-3 */
37 /* On-chip RAM */
47 void __iomem *p; in rcar_gen2_pm_init() local
60 if (of_device_is_compatible(np, "arm,cortex-a15")) in rcar_gen2_pm_init()
62 else if (of_device_is_compatible(np, "arm,cortex-a7")) in rcar_gen2_pm_init()
66 np = of_find_compatible_node(NULL, NULL, "renesas,smp-sram"); in rcar_gen2_pm_init()
68 /* No smp-sram in DT, fall back to hardcoded address */ in rcar_gen2_pm_init()
77 pr_err("Failed to get smp-sram address: %d\n", error); in rcar_gen2_pm_init()
82 /* RAM for jump stub, because BAR requires 256KB aligned address */ in rcar_gen2_pm_init()
83 if (res.start & (256 * 1024 - 1) || in rcar_gen2_pm_init()
85 pr_err("Invalid smp-sram region\n"); in rcar_gen2_pm_init()
89 p = ioremap(res.start, resource_size(&res)); in rcar_gen2_pm_init()
90 if (!p) in rcar_gen2_pm_init()
98 memcpy_toio(p, shmobile_boot_vector_gen2, in rcar_gen2_pm_init()
101 memcpy_toio(p, shmobile_boot_vector, shmobile_boot_size); in rcar_gen2_pm_init()
103 iounmap(p); in rcar_gen2_pm_init()
106 p = ioremap(RST, 0x63); in rcar_gen2_pm_init()
109 writel_relaxed(bar, p + CA15BAR); in rcar_gen2_pm_init()
110 writel_relaxed(bar | SBAR_BAREN, p + CA15BAR); in rcar_gen2_pm_init()
112 /* de-assert reset for CA15 CPUs */ in rcar_gen2_pm_init()
113 writel_relaxed((readl_relaxed(p + CA15RESCNT) & in rcar_gen2_pm_init()
115 p + CA15RESCNT); in rcar_gen2_pm_init()
118 writel_relaxed(bar, p + CA7BAR); in rcar_gen2_pm_init()
119 writel_relaxed(bar | SBAR_BAREN, p + CA7BAR); in rcar_gen2_pm_init()
121 /* de-assert reset for CA7 CPUs */ in rcar_gen2_pm_init()
122 writel_relaxed((readl_relaxed(p + CA7RESCNT) & in rcar_gen2_pm_init()
124 p + CA7RESCNT); in rcar_gen2_pm_init()
126 iounmap(p); in rcar_gen2_pm_init()