forked from Minki/linux
b3205dea8f
Instead of hardcoding the SYSRAM details for each SoC, pass this information through device tree (DT) and make the code SoC agnostic. Generic DT SRAM bindings are used for achieving this. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
68 lines
1.6 KiB
C
68 lines
1.6 KiB
C
/*
|
|
* Copyright (c) 2011 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*
|
|
* Common Header for EXYNOS machines
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H
|
|
#define __ARCH_ARM_MACH_EXYNOS_COMMON_H
|
|
|
|
#include <linux/reboot.h>
|
|
#include <linux/of.h>
|
|
|
|
void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
|
|
|
|
struct map_desc;
|
|
extern void __iomem *sysram_ns_base_addr;
|
|
void exynos_init_io(void);
|
|
void exynos_restart(enum reboot_mode mode, const char *cmd);
|
|
void exynos_cpuidle_init(void);
|
|
void exynos_cpufreq_init(void);
|
|
void exynos_init_late(void);
|
|
|
|
void exynos_firmware_init(void);
|
|
|
|
#ifdef CONFIG_PINCTRL_EXYNOS
|
|
extern u32 exynos_get_eint_wake_mask(void);
|
|
#else
|
|
static inline u32 exynos_get_eint_wake_mask(void) { return 0xffffffff; }
|
|
#endif
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
extern void __init exynos_pm_init(void);
|
|
#else
|
|
static inline void exynos_pm_init(void) {}
|
|
#endif
|
|
|
|
extern void exynos_cpu_resume(void);
|
|
|
|
extern struct smp_operations exynos_smp_ops;
|
|
|
|
extern void exynos_cpu_die(unsigned int cpu);
|
|
|
|
/* PMU(Power Management Unit) support */
|
|
|
|
#define PMU_TABLE_END NULL
|
|
|
|
enum sys_powerdown {
|
|
SYS_AFTR,
|
|
SYS_LPA,
|
|
SYS_SLEEP,
|
|
NUM_SYS_POWERDOWN,
|
|
};
|
|
|
|
extern unsigned long l2x0_regs_phys;
|
|
struct exynos_pmu_conf {
|
|
void __iomem *reg;
|
|
unsigned int val[NUM_SYS_POWERDOWN];
|
|
};
|
|
|
|
extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
|
|
|
|
#endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */
|