diff options
author | Olof Johansson <olof@lixom.net> | 2014-07-07 02:15:48 +0200 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-07-07 02:16:16 +0200 |
commit | 21760aedabc795a6758bf15fafcd59fe0799cd9f (patch) | |
tree | d63b61d178d8a11a085fc3a6497137d85f45b34c /arch/arm/mach-shmobile/common.h | |
parent | Merge tag 'renesas-cpufreq-for-v3.17' of git://git.kernel.org/pub/scm/linux/k... (diff) | |
parent | ARM: shmobile: marzen: Do not use workaround for scif devices (diff) | |
download | linux-21760aedabc795a6758bf15fafcd59fe0799cd9f.tar.xz linux-21760aedabc795a6758bf15fafcd59fe0799cd9f.zip |
Merge tag 'renesas-r8a7779-multiplatform-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Pull "Renesas ARM Based SoC r8a7779-multiplatform Updates for v3.17" from
Simon Horman:
Move r8a7779 SoC and its Marzen board to use common clocks,
multiplatform and initialise SCIF (serial) devices using DT.
* tag 'renesas-r8a7779-multiplatform-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (32 commits)
ARM: shmobile: marzen: Do not use workaround for scif devices
ARM: shmobile: marzen: Initialise SCIF devices using DT
ARM: shmobile: marzen: Remove early_printk from command line
ARM: shmobile: r8a7779: Add scif nodes to dtsi
ARM: shmobile: r8a7779 dtsi: Correct #address-cells/#size-cells for clocks
ARM: shmobile: r8a7779 dtsi: Update unit-addresses for clocks
ARM: shmobile: r8a7779: Remove unused r8a7779_init_delay()
ARM: shmobile: marzen-reference: Use DT CPU Frequency
ARM: shmobile: r8a7779: Use DT CPU Frequency in common case
ARM: shmobile: r8a7779: Add Maximum CPU Frequency to DTS
ARM: shmobile: marzen-reference: Remove legacy clock support
ARM: shmobile: Remove Marzen reference DTS
ARM: shmobile: Let Marzen multiplatform boot with Marzen DTB
ARM: shmobile: Remove non-multiplatform Marzen reference support
ARM: shmobile: marzen-reference: Instantiate clkdevs for SCIF and TMU
ARM: shmobile: marzen-reference: Initialize CPG device
ARM: shmobile: r8a7779: Initial multiplatform support
ARM: shmobile: marzen-reference: Move clock and OF device initialisation into board code
ARM: shmobile: r8a7779: Move r8a7779_earlytimer_init to clock-r8a7779.c
ARM: shmobile: r8a7779: Add helper to read mode pins
...
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-shmobile/common.h')
-rw-r--r-- | arch/arm/mach-shmobile/common.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/common.h b/arch/arm/mach-shmobile/common.h new file mode 100644 index 000000000000..921a18ef4dfe --- /dev/null +++ b/arch/arm/mach-shmobile/common.h @@ -0,0 +1,63 @@ +#ifndef __ARCH_MACH_COMMON_H +#define __ARCH_MACH_COMMON_H + +extern void shmobile_earlytimer_init(void); +extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz, + unsigned int mult, unsigned int div); +extern void shmobile_init_delay(void); +struct twd_local_timer; +extern void shmobile_setup_console(void); +extern void shmobile_boot_vector(void); +extern unsigned long shmobile_boot_fn; +extern unsigned long shmobile_boot_arg; +extern unsigned long shmobile_boot_size; +extern void shmobile_smp_boot(void); +extern void shmobile_smp_sleep(void); +extern void shmobile_smp_hook(unsigned int cpu, unsigned long fn, + unsigned long arg); +extern int shmobile_smp_cpu_disable(unsigned int cpu); +extern void shmobile_invalidate_start(void); +extern void shmobile_boot_scu(void); +extern void shmobile_smp_scu_prepare_cpus(unsigned int max_cpus); +extern void shmobile_smp_scu_cpu_die(unsigned int cpu); +extern int shmobile_smp_scu_cpu_kill(unsigned int cpu); +extern void shmobile_smp_apmu_prepare_cpus(unsigned int max_cpus); +extern int shmobile_smp_apmu_boot_secondary(unsigned int cpu, + struct task_struct *idle); +extern void shmobile_smp_apmu_cpu_die(unsigned int cpu); +extern int shmobile_smp_apmu_cpu_kill(unsigned int cpu); +struct clk; +extern int shmobile_clk_init(void); +extern void shmobile_handle_irq_intc(struct pt_regs *); +extern struct platform_suspend_ops shmobile_suspend_ops; +struct cpuidle_driver; +extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv); + +#ifdef CONFIG_SUSPEND +int shmobile_suspend_init(void); +#else +static inline int shmobile_suspend_init(void) { return 0; } +#endif + +#ifdef CONFIG_CPU_IDLE +int shmobile_cpuidle_init(void); +#else +static inline int shmobile_cpuidle_init(void) { return 0; } +#endif + +#ifdef CONFIG_CPU_FREQ +int shmobile_cpufreq_init(void); +#else +static inline int shmobile_cpufreq_init(void) { return 0; } +#endif + +extern void __iomem *shmobile_scu_base; + +static inline void __init shmobile_init_late(void) +{ + shmobile_suspend_init(); + shmobile_cpuidle_init(); + shmobile_cpufreq_init(); +} + +#endif /* __ARCH_MACH_COMMON_H */ |