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
61 if (of_device_is_compatible(np, "arm,cortex-a15")) in rcar_gen2_pm_init()
63 else if (of_device_is_compatible(np, "arm,cortex-a7")) in rcar_gen2_pm_init()
67 np = of_find_compatible_node(NULL, NULL, "renesas,smp-sram"); in rcar_gen2_pm_init()
69 /* No smp-sram in DT, fall back to hardcoded address */ in rcar_gen2_pm_init()
78 pr_err("Failed to get smp-sram address: %d\n", error); in rcar_gen2_pm_init()
83 /* RAM for jump stub, because BAR requires 256KB aligned address */ in rcar_gen2_pm_init()
84 if (res.start & (256 * 1024 - 1) || in rcar_gen2_pm_init()
86 pr_err("Invalid smp-sram region\n"); in rcar_gen2_pm_init()
90 p = ioremap(res.start, resource_size(&res)); in rcar_gen2_pm_init()
91 if (!p) in rcar_gen2_pm_init()
99 memcpy_toio(p, shmobile_boot_vector_gen2, in rcar_gen2_pm_init()
102 memcpy_toio(p, shmobile_boot_vector, shmobile_boot_size); in rcar_gen2_pm_init()
104 iounmap(p); in rcar_gen2_pm_init()
107 p = ioremap(RST, 0x63); in rcar_gen2_pm_init()
110 writel_relaxed(bar, p + CA15BAR); in rcar_gen2_pm_init()
111 writel_relaxed(bar | SBAR_BAREN, p + CA15BAR); in rcar_gen2_pm_init()
113 /* de-assert reset for CA15 CPUs */ in rcar_gen2_pm_init()
114 writel_relaxed((readl_relaxed(p + CA15RESCNT) & in rcar_gen2_pm_init()
116 p + CA15RESCNT); in rcar_gen2_pm_init()
119 writel_relaxed(bar, p + CA7BAR); in rcar_gen2_pm_init()
120 writel_relaxed(bar | SBAR_BAREN, p + CA7BAR); in rcar_gen2_pm_init()
122 /* de-assert reset for CA7 CPUs */ in rcar_gen2_pm_init()
123 writel_relaxed((readl_relaxed(p + CA7RESCNT) & in rcar_gen2_pm_init()
125 p + CA7RESCNT); in rcar_gen2_pm_init()
127 iounmap(p); in rcar_gen2_pm_init()