mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 17:12:55 +00:00
468b8c4cf3
The rk3288 board uses the architected timers and these ones are shutdown when the cpu is powered down. There is a need of a broadcast timer in this case to ensure proper wakeup when the cpus are in sleep mode and a timer expires. This driver provides the basic timer functionnality as a backup for the local timers at sleep time. The timer belongs to the alive subsystem. It includes two programmables 64 bits timer channels but the driver only uses 32bits. It works with two operations mode: free running and user defined count. Programing sequence: 1. Timer initialization: * Disable the timer by writing '0' to the CONTROLREG register * Program the timer mode by writing the mode to the CONTROLREG register * Set the interrupt mask 2. Setting the count value: * Load the count value to the registers COUNT0 and COUNT1 (not used). 3. Enable the timer * Write '1' to the CONTROLREG register with the mode (free running or user) Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Heiko Stuebner <heiko@sntech.de>
19 lines
588 B
Plaintext
19 lines
588 B
Plaintext
Rockchip rk3288 timer
|
|
|
|
Required properties:
|
|
- compatible: shall be "rockchip,rk3288-timer"
|
|
- reg: base address of the timer register starting with TIMERS CONTROL register
|
|
- interrupts: should contain the interrupts for Timer0
|
|
- clocks : must contain an entry for each entry in clock-names
|
|
- clock-names : must include the following entries:
|
|
"timer", "pclk"
|
|
|
|
Example:
|
|
timer: timer@ff810000 {
|
|
compatible = "rockchip,rk3288-timer";
|
|
reg = <0xff810000 0x20>;
|
|
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&xin24m>, <&cru PCLK_TIMER>;
|
|
clock-names = "timer", "pclk";
|
|
};
|