From: Olof Johansson Date: Mon, 7 Jul 2014 00:15:48 +0000 (-0700) Subject: Merge tag 'renesas-r8a7779-multiplatform-for-v3.17' of git://git.kernel.org/pub/scm... X-Git-Tag: firefly_0821_release~176^2~3447^2~35 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=21760aedabc795a6758bf15fafcd59fe0799cd9f;p=firefly-linux-kernel-4.4.55.git Merge tag 'renesas-r8a7779-multiplatform-for-v3.17' of git://git./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 --- 21760aedabc795a6758bf15fafcd59fe0799cd9f diff --cc arch/arm/mach-shmobile/common.h index 000000000000,f7a360edcc35..921a18ef4dfe mode 000000,100644..100644 --- a/arch/arm/mach-shmobile/common.h +++ b/arch/arm/mach-shmobile/common.h @@@ -1,0 -1,56 +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 */