--- /dev/null
+
+
+next/cleanup
+ shark/removal
+ git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git tags/del-shark-for-v3.13
+ cleanup/dt-clock
+ https://github.com/shesselba/linux-dove.git clk-of-init-v2_for-3.13
+ patch
+ ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP
+ reneasas/initdata-cleanup
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-fixes5-for-v3.12
+ renesas/cleanup
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-cleanup-for-v3.13
+ patch
+ clk: nomadik: fix missing __init on nomadik_src_init
+ renesas/cleanup2
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-cleanup2-for-v3.13
+ patch
+ ARM: clps711x: Use linux/sched_clock.h
+ ARM: Remove temporary sched_clock.h header
+ qcom/cleanup
+ git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/msm-cleanup-for-3.13
+
+next/soc
+ samsung/s3c64xx-clk
+ http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git tags/samsung-clk-s3c64xx
+ patch
+ ARM: davinci: remove deprecated IRQF_DISABLED
+ renesas/soc
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-soc-for-v3.13
+ renesas/smp
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-smp-for-v3.13
+ renesas/soc2
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-soc2-for-v3.13
+ keystone/soc
+ git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git tags/keystone-soc-for-arm-soc
+ patch
+ ARM: keystone: fix PM domain initcall to be keystone only
+ omap/hwmod
+ git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v3.13/hwmod-signed
+ omap/soc
+ git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v3.13/soc-take2
+ davinci/soc
+ git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git tags/davinci-for-v3.13/soc-2 # rebased from -v3.12-rc5 to -rc3
+ integrator/soc
+ git fetch git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git tags/integrator-for-v3.13-2
+ mvebu/soc
+ git fetch git://git.infradead.org/linux-mvebu.git tags/soc-3.13-2
++ highbank/soc
++ git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git tags/highbank-for-3.13
+
+next/drivers
+ davinci/gpio
+ git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git tags/davinci-for-v3.13/gpio
+ mvebu/drivers
+ git://git.infradead.org/linux-mvebu.git tags/drivers-3.13
+ arm/drivers
+ git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-perf-3.13
+ mvebu/drivers2
+ git://git.infradead.org/linux-mvebu.git tags/drivers-3.13-2
+
+next/boards
+ renesas/boards
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git renesas-boards-for-v3.13
+ renesas/defconfig
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-defconfig-for-v3.13
+ renesas/boards2
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-boards2-for-v3.13
+ omap/boards
+ git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v3.13/board-signed
+
+next/dt
+ samsung/s3c64xx-dt
+ http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git tags/samsung-dt-s3c64xx
+ ux500/dt
+ git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git tags/ux500-dt-for-v3.13-2
+ patch "ARM: ux500: enable appended dtb in u8500_defconfig"
+ ux500/dt2
+ git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git tags/ux500-devicetree-2
+ renesas/dt
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-dt-for-v3.13
+ mvebu/dt
+ git://git.infradead.org/linux-mvebu.git tags/dt-3.13
+ mvebu/dt2
+ git://git.infradead.org/linux-mvebu.git tags/dt-3.13-2
+ renesas/dt2
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-dt2-for-v3.13
+ socfpga/dt
+ git://git.rocketboards.org/linux-socfpga-next.git tags/socfpga-dts-updates-for-v3.13
+ omap/pdata-quirks
+ git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v3.13/quirk-signed
+ omap/dt
+ git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v3.13/dt-signed
+ mvebu/dt3
+ git fetch git://git.infradead.org/linux-mvebu.git tags/dt-3.13-3
#include <linux/of_platform.h>
#include <linux/of_address.h>
#include <linux/amba/bus.h>
-#include <linux/clk-provider.h>
+ #include <linux/platform_device.h>
- #include <asm/cacheflush.h>
- #include <asm/cputype.h>
- #include <asm/smp_plat.h>
+ #include <asm/psci.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
scu_base_addr = ioremap(base, SZ_4K);
}
- #define HB_JUMP_TABLE_PHYS(cpu) (0x40 + (0x10 * (cpu)))
- #define HB_JUMP_TABLE_VIRT(cpu) phys_to_virt(HB_JUMP_TABLE_PHYS(cpu))
-
- void highbank_set_cpu_jump(int cpu, void *jump_addr)
- {
- cpu = MPIDR_AFFINITY_LEVEL(cpu_logical_map(cpu), 0);
- writel(virt_to_phys(jump_addr), HB_JUMP_TABLE_VIRT(cpu));
- __cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
- outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
- HB_JUMP_TABLE_PHYS(cpu) + 15);
- }
static void highbank_l2x0_disable(void)
{
}
}
-static void __init highbank_timer_init(void)
-{
- struct device_node *np;
-
- /* Map system registers */
- np = of_find_compatible_node(NULL, NULL, "calxeda,hb-sregs");
- sregs_base = of_iomap(np, 0);
- WARN_ON(!sregs_base);
-
- of_clk_init(NULL);
-
- clocksource_of_init();
-}
-
static void highbank_power_off(void)
{
highbank_set_pwr_shutdown();
.notifier_call = highbank_platform_notifier,
};
+ static struct platform_device highbank_cpuidle_device = {
+ .name = "cpuidle-calxeda",
+ };
+
static void __init highbank_init(void)
{
+ struct device_node *np;
+
+ /* Map system registers */
+ np = of_find_compatible_node(NULL, NULL, "calxeda,hb-sregs");
+ sregs_base = of_iomap(np, 0);
+ WARN_ON(!sregs_base);
+
pm_power_off = highbank_power_off;
highbank_pm_init();
bus_register_notifier(&amba_bustype, &highbank_amba_nb);
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+
+ if (psci_ops.cpu_suspend)
+ platform_device_register(&highbank_cpuidle_device);
}
static const char *highbank_match[] __initconst = {
#if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
.dma_zone_size = (4ULL * SZ_1G),
#endif
- .smp = smp_ops(highbank_smp_ops),
.init_irq = highbank_init_irq,
- .init_time = highbank_timer_init,
.init_machine = highbank_init,
.dt_compat = highbank_match,
.restart = highbank_restart,