Home
last modified time | relevance | path

Searched refs:scu_base (Results 1 – 19 of 19) sorted by relevance

/arch/arm/kernel/
Dsmp_scu.c29 unsigned int __init scu_get_core_count(void __iomem *scu_base) in scu_get_core_count() argument
31 unsigned int ncores = readl_relaxed(scu_base + SCU_CONFIG); in scu_get_core_count()
38 void scu_enable(void __iomem *scu_base) in scu_enable() argument
45 scu_ctrl = readl_relaxed(scu_base + 0x30); in scu_enable()
47 writel_relaxed(scu_ctrl | 0x1, scu_base + 0x30); in scu_enable()
51 scu_ctrl = readl_relaxed(scu_base + SCU_CTRL); in scu_enable()
63 writel_relaxed(scu_ctrl, scu_base + SCU_CTRL); in scu_enable()
73 static int scu_set_power_mode_internal(void __iomem *scu_base, in scu_set_power_mode_internal() argument
83 val = readb_relaxed(scu_base + SCU_CPU_STATUS + cpu); in scu_set_power_mode_internal()
86 writeb_relaxed(val, scu_base + SCU_CPU_STATUS + cpu); in scu_set_power_mode_internal()
[all …]
/arch/arm/include/asm/
Dsmp_scu.h32 int scu_get_cpu_power_mode(void __iomem *scu_base, unsigned int logical_cpu);
34 static inline unsigned int scu_get_core_count(void __iomem *scu_base) in scu_get_core_count() argument
38 static inline int scu_power_mode(void __iomem *scu_base, unsigned int mode) in scu_power_mode() argument
42 static inline int scu_cpu_power_enable(void __iomem *scu_base, in scu_cpu_power_enable() argument
47 static inline int scu_get_cpu_power_mode(void __iomem *scu_base, in scu_get_cpu_power_mode() argument
55 void scu_enable(void __iomem *scu_base);
57 static inline void scu_enable(void __iomem *scu_base) {} in scu_enable() argument
/arch/arm/mach-ux500/
Dplatsmp.c34 static void __iomem *scu_base; in ux500_smp_prepare_cpus() local
55 scu_base = of_iomap(np, 0); in ux500_smp_prepare_cpus()
57 if (!scu_base) { in ux500_smp_prepare_cpus()
62 scu_enable(scu_base); in ux500_smp_prepare_cpus()
63 ncores = scu_get_core_count(scu_base); in ux500_smp_prepare_cpus()
66 iounmap(scu_base); in ux500_smp_prepare_cpus()
/arch/arm/mach-realview/
Dplatsmp-dt.c38 void __iomem *scu_base; in realview_smp_prepare_cpus() local
48 scu_base = of_iomap(np, 0); in realview_smp_prepare_cpus()
50 if (!scu_base) { in realview_smp_prepare_cpus()
55 scu_enable(scu_base); in realview_smp_prepare_cpus()
56 ncores = scu_get_core_count(scu_base); in realview_smp_prepare_cpus()
60 iounmap(scu_base); in realview_smp_prepare_cpus()
/arch/arm/mach-bcm/
Dbcm63xx_smp.c38 void __iomem *scu_base; in scu_a9_enable() local
53 scu_base = ioremap((phys_addr_t)config_base, CORTEX_A9_SCU_SIZE); in scu_a9_enable()
54 if (!scu_base) { in scu_a9_enable()
60 scu_enable(scu_base); in scu_a9_enable()
62 ncores = scu_base ? scu_get_core_count(scu_base) : 1; in scu_a9_enable()
94 iounmap(scu_base); /* That's the last we'll need of this */ in scu_a9_enable()
Dplatsmp.c48 void __iomem *scu_base; in scu_a9_enable() local
62 scu_base = ioremap((phys_addr_t)config_base, CORTEX_A9_SCU_SIZE); in scu_a9_enable()
63 if (!scu_base) { in scu_a9_enable()
69 scu_enable(scu_base); in scu_a9_enable()
71 iounmap(scu_base); /* That's the last we'll need of this */ in scu_a9_enable()
/arch/arm/mach-npcm/
Dplatsmp.c58 void __iomem *scu_base; in npcm7xx_smp_prepare_cpus() local
65 scu_base = of_iomap(scu_np, 0); in npcm7xx_smp_prepare_cpus()
66 if (!scu_base) { in npcm7xx_smp_prepare_cpus()
71 scu_enable(scu_base); in npcm7xx_smp_prepare_cpus()
73 iounmap(scu_base); in npcm7xx_smp_prepare_cpus()
/arch/arm/mach-oxnas/
Dplatsmp.c62 void __iomem *scu_base; in ox820_smp_prepare_cpus() local
65 scu_base = of_iomap(np, 0); in ox820_smp_prepare_cpus()
67 if (!scu_base) in ox820_smp_prepare_cpus()
83 scu_enable(scu_base); in ox820_smp_prepare_cpus()
87 iounmap(scu_base); in ox820_smp_prepare_cpus()
/arch/arm/mach-zx/
Dplatsmp.c39 static void __iomem *scu_base; variable
49 scu_base = ioremap(base, SZ_256); in zx_smp_prepare_cpus()
50 if (!scu_base) { in zx_smp_prepare_cpus()
55 scu_enable(scu_base); in zx_smp_prepare_cpus()
163 scu_power_mode(scu_base, SCU_PM_POWEROFF); in zx_cpu_die()
173 scu_power_mode(scu_base, SCU_PM_NORMAL); in zx_secondary_init()
/arch/arm/mach-berlin/
Dplatsmp.c61 void __iomem *scu_base; in berlin_smp_prepare_cpus() local
65 scu_base = of_iomap(np, 0); in berlin_smp_prepare_cpus()
67 if (!scu_base) in berlin_smp_prepare_cpus()
80 scu_enable(scu_base); in berlin_smp_prepare_cpus()
96 iounmap(scu_base); in berlin_smp_prepare_cpus()
/arch/arm/mach-imx/
Dplatsmp.c21 static void __iomem *scu_base; variable
40 scu_base = IMX_IO_ADDRESS(base); in imx_scu_map_io()
58 ncores = scu_get_core_count(scu_base); in imx_smp_init_cpus()
66 scu_enable(scu_base); in imx_smp_prepare()
/arch/arm/mach-omap2/
Domap-smp.c47 void __iomem *scu_base; member
71 return cfg.scu_base; in omap4_get_scu_base()
270 cfg.scu_base = OMAP2_L4_IO_ADDRESS(scu_a9_get_base()); in omap4_smp_init_cpus()
271 BUG_ON(!cfg.scu_base); in omap4_smp_init_cpus()
272 ncores = scu_get_core_count(cfg.scu_base); in omap4_smp_init_cpus()
390 if (cfg.scu_base) in omap4_smp_prepare_cpus()
391 scu_enable(cfg.scu_base); in omap4_smp_prepare_cpus()
Dpm33xx-core.c34 static void __iomem *scu_base; variable
39 scu_base = ioremap(scu_a9_get_base(), SZ_256); in am43xx_map_scu()
41 if (!scu_base) in am43xx_map_scu()
170 scu_power_mode(scu_base, SCU_PM_POWEROFF); in am43xx_suspend()
172 scu_power_mode(scu_base, SCU_PM_NORMAL); in am43xx_suspend()
/arch/arm/mach-sti/
Dplatsmp.c52 void __iomem *scu_base; in sti_smp_prepare_cpus() local
59 scu_base = of_iomap(np, 0); in sti_smp_prepare_cpus()
60 scu_enable(scu_base); in sti_smp_prepare_cpus()
/arch/arm/mach-hisi/
Dplatsmp.c42 void __iomem *scu_base = NULL; in hisi_enable_scu_a9() local
46 scu_base = ioremap(base, SZ_4K); in hisi_enable_scu_a9()
47 if (!scu_base) { in hisi_enable_scu_a9()
51 scu_enable(scu_base); in hisi_enable_scu_a9()
52 iounmap(scu_base); in hisi_enable_scu_a9()
/arch/arm/mach-spear/
Dplatsmp.c39 static void __iomem *scu_base = IOMEM(VA_SCU_BASE); variable
100 unsigned int i, ncores = scu_get_core_count(scu_base); in spear13xx_smp_init_cpus()
115 scu_enable(scu_base); in spear13xx_smp_prepare_cpus()
/arch/arm/mach-meson/
Dplatsmp.c35 static void __iomem *scu_base; variable
94 scu_base = of_iomap(node, 0); in meson_smp_prepare_cpus()
96 if (!scu_base) { in meson_smp_prepare_cpus()
101 scu_enable(scu_base); in meson_smp_prepare_cpus()
131 scu_cpu_power_enable(scu_base, cpu); in meson_smp_begin_secondary_boot()
301 scu_power_mode(scu_base, SCU_PM_POWEROFF); in meson8_smp_cpu_die()
317 power_mode = scu_get_cpu_power_mode(scu_base, cpu); in meson8_smp_cpu_kill()
359 power_mode = scu_get_cpu_power_mode(scu_base, cpu); in meson8b_smp_cpu_kill()
/arch/arm/mach-mvebu/
Dboard-v7.c36 static void __iomem *scu_base; variable
47 scu_base = of_iomap(np, 0); in mvebu_scu_enable()
48 scu_enable(scu_base); in mvebu_scu_enable()
55 return scu_base; in mvebu_get_scu_base()
/arch/arm/mach-exynos/
Dplatsmp.c175 static void __iomem *scu_base; in exynos_scu_enable() local
177 if (!scu_base) { in exynos_scu_enable()
180 scu_base = of_iomap(np, 0); in exynos_scu_enable()
183 scu_base = ioremap(scu_a9_get_base(), SZ_4K); in exynos_scu_enable()
186 scu_enable(scu_base); in exynos_scu_enable()