map-exec;
};
-/*
timer {
compatible = "arm,armv7-timer";
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
clock-frequency = <24000000>;
};
-*/
-
- timer@ff6b0000 {
- compatible = "rockchip,timer";
- reg = <0xff6b0000 0x20>;
- interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
- rockchip,percpu = <0>;
- };
-
- timer@ff6b0020 {
- compatible = "rockchip,timer";
- reg = <0xff6b0020 0x20>;
- interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
- rockchip,percpu = <1>;
- };
-
- timer@ff6b0040 {
- compatible = "rockchip,timer";
- reg = <0xff6b0040 0x20>;
- interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
- rockchip,percpu = <2>;
- };
-
- timer@ff6b0060 {
- compatible = "rockchip,timer";
- reg = <0xff6b0060 0x20>;
- interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
- rockchip,percpu = <3>;
- };
timer@ff810000 {
compatible = "rockchip,timer";
rockchip,broadcast = <1>;
};
- timer@ff810020 {
- compatible = "rockchip,timer";
- reg = <0xff810020 0x20>;
- interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
- rockchip,clocksource = <1>;
- rockchip,count-up = <1>;
- };
-
watchdog:wdt@2004c000 {
compatible = "rockchip,watch dog";
reg = <0xff800000 0x100>;
RK_DEVICE(RK3288_SERVICE_##name##_VIRT, RK3288_SERVICE_##name##_PHYS, RK3288_SERVICE_##name##_SIZE)
#define RK3288_IMEM_VIRT (RK_BOOTRAM_VIRT + SZ_32K)
+#define RK3288_TIMER7_VIRT (RK_TIMER_VIRT + 0x20)
static struct map_desc rk3288_io_desc[] __initdata = {
RK3288_DEVICE(CRU),
RK_DEVICE(RK_GIC_VIRT + RK3288_GIC_DIST_SIZE, RK3288_GIC_CPU_PHYS, RK3288_GIC_CPU_SIZE),
RK_DEVICE(RK_BOOTRAM_VIRT, RK3288_BOOTRAM_PHYS, RK3288_BOOTRAM_SIZE),
RK_DEVICE(RK3288_IMEM_VIRT, RK3288_IMEM_PHYS, SZ_4K),
+ RK_DEVICE(RK_TIMER_VIRT, RK3288_TIMER6_PHYS, RK3288_TIMER_SIZE),
};
static void __init rk3288_boot_mode_init(void)
/* disable address remap */
writel_relaxed(0x08000000, RK_SGRF_VIRT + RK3288_SGRF_SOC_CON0);
+ /* enable timer7 for core */
+ writel_relaxed(0, RK3288_TIMER7_VIRT + 0x10);
+ dsb();
+ writel_relaxed(0xFFFFFFFF, RK3288_TIMER7_VIRT + 0x00);
+ writel_relaxed(0xFFFFFFFF, RK3288_TIMER7_VIRT + 0x04);
+ dsb();
+ writel_relaxed(1, RK3288_TIMER7_VIRT + 0x10);
+ dsb();
+
rk3288_boot_mode_init();
}