mirror of
https://github.com/Evolution-X-Devices/kernel_xiaomi_sm8450-devicetrees
synced 2026-02-01 08:51:30 +00:00
dt-bindings: Add devicetree bindings to devicetree project
Add devicetree bindings snapshot to the devicetree project Change-Id: I20b46d194bd3b107ddcb3e35283e6dafa27adec1
This commit is contained in:
21
bindings/timer/actions,owl-timer.txt
Normal file
21
bindings/timer/actions,owl-timer.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
Actions Semi Owl Timer
|
||||
|
||||
Required properties:
|
||||
- compatible : "actions,s500-timer" for S500
|
||||
"actions,s700-timer" for S700
|
||||
"actions,s900-timer" for S900
|
||||
- reg : Offset and length of the register set for the device.
|
||||
- interrupts : Should contain the interrupts.
|
||||
- interrupt-names : Valid names are: "2hz0", "2hz1",
|
||||
"timer0", "timer1", "timer2", "timer3"
|
||||
See ../resource-names.txt
|
||||
|
||||
Example:
|
||||
|
||||
timer@b0168000 {
|
||||
compatible = "actions,s500-timer";
|
||||
reg = <0xb0168000 0x100>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "timer0", "timer1";
|
||||
};
|
||||
19
bindings/timer/allwinner,sun4i-timer.txt
Normal file
19
bindings/timer/allwinner,sun4i-timer.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
Allwinner A1X SoCs Timer Controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be one of the following:
|
||||
"allwinner,sun4i-a10-timer"
|
||||
"allwinner,suniv-f1c100s-timer"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : The interrupt of the first timer
|
||||
- clocks: phandle to the source clock (usually a 24 MHz fixed clock)
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "allwinner,sun4i-a10-timer";
|
||||
reg = <0x01c20c00 0x400>;
|
||||
interrupts = <22>;
|
||||
clocks = <&osc>;
|
||||
};
|
||||
26
bindings/timer/allwinner,sun5i-a13-hstimer.txt
Normal file
26
bindings/timer/allwinner,sun5i-a13-hstimer.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
Allwinner SoCs High Speed Timer Controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "allwinner,sun5i-a13-hstimer" or
|
||||
"allwinner,sun7i-a20-hstimer"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : The interrupts of these timers (2 for the sun5i IP, 4 for the sun7i
|
||||
one)
|
||||
- clocks: phandle to the source clock (usually the AHB clock)
|
||||
|
||||
Optional properties:
|
||||
- resets: phandle to a reset controller asserting the timer
|
||||
|
||||
Example:
|
||||
|
||||
timer@1c60000 {
|
||||
compatible = "allwinner,sun7i-a20-hstimer";
|
||||
reg = <0x01c60000 0x1000>;
|
||||
interrupts = <0 51 1>,
|
||||
<0 52 1>,
|
||||
<0 53 1>,
|
||||
<0 54 1>;
|
||||
clocks = <&ahb1_gates 19>;
|
||||
resets = <&ahb1rst 19>;
|
||||
};
|
||||
18
bindings/timer/altr,timer-1.0.txt
Normal file
18
bindings/timer/altr,timer-1.0.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Altera Timer
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "altr,timer-1.0"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : Should contain the timer interrupt number
|
||||
- clock-frequency : The frequency of the clock that drives the counter, in Hz.
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "altr,timer-1.0";
|
||||
reg = <0x00400000 0x00000020>;
|
||||
interrupt-parent = <&cpu>;
|
||||
interrupts = <11>;
|
||||
clock-frequency = <125000000>;
|
||||
};
|
||||
22
bindings/timer/amlogic,meson6-timer.txt
Normal file
22
bindings/timer/amlogic,meson6-timer.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
Amlogic Meson6 SoCs Timer Controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "amlogic,meson6-timer"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : The four interrupts, one for each timer event
|
||||
- clocks : phandles to the pclk (system clock) and XTAL clocks
|
||||
- clock-names : must contain "pclk" and "xtal"
|
||||
|
||||
Example:
|
||||
|
||||
timer@c1109940 {
|
||||
compatible = "amlogic,meson6-timer";
|
||||
reg = <0xc1109940 0x14>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 11 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 6 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&xtal>, <&clk81>;
|
||||
clock-names = "xtal", "pclk";
|
||||
};
|
||||
33
bindings/timer/andestech,atcpit100-timer.txt
Normal file
33
bindings/timer/andestech,atcpit100-timer.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
Andestech ATCPIT100 timer
|
||||
------------------------------------------------------------------
|
||||
ATCPIT100 is a generic IP block from Andes Technology, embedded in
|
||||
Andestech AE3XX platforms and other designs.
|
||||
|
||||
This timer is a set of compact multi-function timers, which can be
|
||||
used as pulse width modulators (PWM) as well as simple timers.
|
||||
|
||||
It supports up to 4 PIT channels. Each PIT channel is a
|
||||
multi-function timer and provide the following usage scenarios:
|
||||
One 32-bit timer
|
||||
Two 16-bit timers
|
||||
Four 8-bit timers
|
||||
One 16-bit PWM
|
||||
One 16-bit timer and one 8-bit PWM
|
||||
Two 8-bit timer and one 8-bit PWM
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "andestech,atcpit100"
|
||||
- reg : Address and length of the register set
|
||||
- interrupts : Reference to the timer interrupt
|
||||
- clocks : a clock to provide the tick rate for "andestech,atcpit100"
|
||||
- clock-names : should be "PCLK" for the peripheral clock source.
|
||||
|
||||
Examples:
|
||||
|
||||
timer0: timer@f0400000 {
|
||||
compatible = "andestech,atcpit100";
|
||||
reg = <0xf0400000 0x1000>;
|
||||
interrupts = <2>;
|
||||
clocks = <&apb>;
|
||||
clock-names = "PCLK";
|
||||
};
|
||||
26
bindings/timer/arm,armv7m-systick.txt
Normal file
26
bindings/timer/arm,armv7m-systick.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
* ARMv7M System Timer
|
||||
|
||||
ARMv7-M includes a system timer, known as SysTick. Current driver only
|
||||
implements the clocksource feature.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "arm,armv7m-systick"
|
||||
- reg : The address range of the timer
|
||||
|
||||
Required clocking property, have to be one of:
|
||||
- clocks : The input clock of the timer
|
||||
- clock-frequency : The rate in HZ in input of the ARM SysTick
|
||||
|
||||
Examples:
|
||||
|
||||
systick: timer@e000e010 {
|
||||
compatible = "arm,armv7m-systick";
|
||||
reg = <0xe000e010 0x10>;
|
||||
clocks = <&clk_systick>;
|
||||
};
|
||||
|
||||
systick: timer@e000e010 {
|
||||
compatible = "arm,armv7m-systick";
|
||||
reg = <0xe000e010 0x10>;
|
||||
clock-frequency = <90000000>;
|
||||
};
|
||||
28
bindings/timer/arm,mps2-timer.txt
Normal file
28
bindings/timer/arm,mps2-timer.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
ARM MPS2 timer
|
||||
|
||||
The MPS2 platform has simple general-purpose 32 bits timers.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "arm,mps2-timer"
|
||||
- reg : Address and length of the register set
|
||||
- interrupts : Reference to the timer interrupt
|
||||
|
||||
Required clocking property, have to be one of:
|
||||
- clocks : The input clock of the timer
|
||||
- clock-frequency : The rate in HZ in input of the ARM MPS2 timer
|
||||
|
||||
Examples:
|
||||
|
||||
timer1: mps2-timer@40000000 {
|
||||
compatible = "arm,mps2-timer";
|
||||
reg = <0x40000000 0x1000>;
|
||||
interrupts = <8>;
|
||||
clocks = <&sysclk>;
|
||||
};
|
||||
|
||||
timer2: mps2-timer@40001000 {
|
||||
compatible = "arm,mps2-timer";
|
||||
reg = <0x40001000 0x1000>;
|
||||
interrupts = <9>;
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
29
bindings/timer/arm,sp804.txt
Normal file
29
bindings/timer/arm,sp804.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
ARM sp804 Dual Timers
|
||||
---------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "arm,sp804" & "arm,primecell"
|
||||
- interrupts: Should contain the list of Dual Timer interrupts. This is the
|
||||
interrupt for timer 1 and timer 2. In the case of a single entry, it is
|
||||
the combined interrupt or if "arm,sp804-has-irq" is present that
|
||||
specifies which timer interrupt is connected.
|
||||
- reg: Should contain location and length for dual timer register.
|
||||
- clocks: clocks driving the dual timer hardware. This list should be 1 or 3
|
||||
clocks. With 3 clocks, the order is timer0 clock, timer1 clock,
|
||||
apb_pclk. A single clock can also be specified if the same clock is
|
||||
used for all clock inputs.
|
||||
|
||||
Optional properties:
|
||||
- arm,sp804-has-irq = <#>: In the case of only 1 timer irq line connected, this
|
||||
specifies if the irq connection is for timer 1 or timer 2. A value of 1
|
||||
or 2 should be used.
|
||||
|
||||
Example:
|
||||
|
||||
timer0: timer@fc800000 {
|
||||
compatible = "arm,sp804", "arm,primecell";
|
||||
reg = <0xfc800000 0x1000>;
|
||||
interrupts = <0 0 4>, <0 1 4>;
|
||||
clocks = <&timclk1 &timclk2 &pclk>;
|
||||
clock-names = "timer1", "timer2", "apb_pclk";
|
||||
};
|
||||
53
bindings/timer/arm,twd.txt
Normal file
53
bindings/timer/arm,twd.txt
Normal file
@@ -0,0 +1,53 @@
|
||||
* ARM Timer Watchdog
|
||||
|
||||
ARM 11MP, Cortex-A5 and Cortex-A9 are often associated with a per-core
|
||||
Timer-Watchdog (aka TWD), which provides both a per-cpu local timer
|
||||
and watchdog.
|
||||
|
||||
The TWD is usually attached to a GIC to deliver its two per-processor
|
||||
interrupts.
|
||||
|
||||
** Timer node required properties:
|
||||
|
||||
- compatible : Should be one of:
|
||||
"arm,cortex-a9-twd-timer"
|
||||
"arm,cortex-a5-twd-timer"
|
||||
"arm,arm11mp-twd-timer"
|
||||
|
||||
- interrupts : One interrupt to each core
|
||||
|
||||
- reg : Specify the base address and the size of the TWD timer
|
||||
register window.
|
||||
|
||||
Optional
|
||||
|
||||
- always-on : a boolean property. If present, the timer is powered through
|
||||
an always-on power domain, therefore it never loses context.
|
||||
|
||||
Example:
|
||||
|
||||
twd-timer@2c000600 {
|
||||
compatible = "arm,arm11mp-twd-timer"";
|
||||
reg = <0x2c000600 0x20>;
|
||||
interrupts = <1 13 0xf01>;
|
||||
};
|
||||
|
||||
** Watchdog node properties:
|
||||
|
||||
- compatible : Should be one of:
|
||||
"arm,cortex-a9-twd-wdt"
|
||||
"arm,cortex-a5-twd-wdt"
|
||||
"arm,arm11mp-twd-wdt"
|
||||
|
||||
- interrupts : One interrupt to each core
|
||||
|
||||
- reg : Specify the base address and the size of the TWD watchdog
|
||||
register window.
|
||||
|
||||
Example:
|
||||
|
||||
twd-watchdog@2c000620 {
|
||||
compatible = "arm,arm11mp-twd-wdt";
|
||||
reg = <0x2c000620 0x20>;
|
||||
interrupts = <1 14 0xf01>;
|
||||
};
|
||||
22
bindings/timer/brcm,bcm2835-system-timer.txt
Normal file
22
bindings/timer/brcm,bcm2835-system-timer.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
BCM2835 System Timer
|
||||
|
||||
The System Timer peripheral provides four 32-bit timer channels and a
|
||||
single 64-bit free running counter. Each channel has an output compare
|
||||
register, which is compared against the 32 least significant bits of the
|
||||
free running counter values, and generates an interrupt.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "brcm,bcm2835-system-timer"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : A list of 4 interrupt sinks; one per timer channel.
|
||||
- clock-frequency : The frequency of the clock that drives the counter, in Hz.
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "brcm,bcm2835-system-timer";
|
||||
reg = <0x7e003000 0x1000>;
|
||||
interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
|
||||
clock-frequency = <1000000>;
|
||||
};
|
||||
25
bindings/timer/brcm,kona-timer.txt
Normal file
25
bindings/timer/brcm,kona-timer.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
Broadcom Kona Family timer
|
||||
-----------------------------------------------------
|
||||
This timer is used in the following Broadcom SoCs:
|
||||
BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
|
||||
|
||||
Required properties:
|
||||
- compatible : "brcm,kona-timer"
|
||||
- DEPRECATED: compatible : "bcm,kona-timer"
|
||||
- reg : Register range for the timer
|
||||
- interrupts : interrupt for the timer
|
||||
- clocks: phandle + clock specifier pair of the external clock
|
||||
- clock-frequency: frequency that the clock operates
|
||||
|
||||
Only one of clocks or clock-frequency should be specified.
|
||||
|
||||
Refer to clocks/clock-bindings.txt for generic clock consumer properties.
|
||||
|
||||
Example:
|
||||
timer@35006000 {
|
||||
compatible = "brcm,kona-timer";
|
||||
reg = <0x35006000 0x1000>;
|
||||
interrupts = <0x0 7 0x4>;
|
||||
clocks = <&hub_timer_clk>;
|
||||
};
|
||||
|
||||
21
bindings/timer/cadence,ttc-timer.txt
Normal file
21
bindings/timer/cadence,ttc-timer.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
Cadence TTC - Triple Timer Counter
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "cdns,ttc".
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : A list of 3 interrupts; one per timer channel.
|
||||
- clocks: phandle to the source clock
|
||||
|
||||
Optional properties:
|
||||
- timer-width: Bit width of the timer, necessary if not 16.
|
||||
|
||||
Example:
|
||||
|
||||
ttc0: ttc0@f8001000 {
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = < 0 10 4 0 11 4 0 12 4 >;
|
||||
compatible = "cdns,ttc";
|
||||
reg = <0xF8001000 0x1000>;
|
||||
clocks = <&cpu_clk 3>;
|
||||
timer-width = <32>;
|
||||
};
|
||||
29
bindings/timer/cirrus,clps711x-timer.txt
Normal file
29
bindings/timer/cirrus,clps711x-timer.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
* Cirrus Logic CLPS711X Timer Counter
|
||||
|
||||
Required properties:
|
||||
- compatible: Shall contain "cirrus,ep7209-timer".
|
||||
- reg : Address and length of the register set.
|
||||
- interrupts: The interrupt number of the timer.
|
||||
- clocks : phandle of timer reference clock.
|
||||
|
||||
Note: Each timer should have an alias correctly numbered in "aliases" node.
|
||||
|
||||
Example:
|
||||
aliases {
|
||||
timer0 = &timer1;
|
||||
timer1 = &timer2;
|
||||
};
|
||||
|
||||
timer1: timer@80000300 {
|
||||
compatible = "cirrus,ep7312-timer", "cirrus,ep7209-timer";
|
||||
reg = <0x80000300 0x4>;
|
||||
interrupts = <8>;
|
||||
clocks = <&clks 5>;
|
||||
};
|
||||
|
||||
timer2: timer@80000340 {
|
||||
compatible = "cirrus,ep7312-timer", "cirrus,ep7209-timer";
|
||||
reg = <0x80000340 0x4>;
|
||||
interrupts = <9>;
|
||||
clocks = <&clks 6>;
|
||||
};
|
||||
42
bindings/timer/csky,gx6605s-timer.txt
Normal file
42
bindings/timer/csky,gx6605s-timer.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
=================
|
||||
gx6605s SOC Timer
|
||||
=================
|
||||
|
||||
The timer is used in gx6605s soc as system timer and the driver
|
||||
contain clk event and clk source.
|
||||
|
||||
==============================
|
||||
timer node bindings definition
|
||||
==============================
|
||||
|
||||
Description: Describes gx6605s SOC timer
|
||||
|
||||
PROPERTIES
|
||||
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be "csky,gx6605s-timer"
|
||||
- reg
|
||||
Usage: required
|
||||
Value type: <u32 u32>
|
||||
Definition: <phyaddr size> in soc from cpu view
|
||||
- clocks
|
||||
Usage: required
|
||||
Value type: phandle + clock specifier cells
|
||||
Definition: must be input clk node
|
||||
- interrupt
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be timer irq num defined by soc
|
||||
|
||||
Examples:
|
||||
---------
|
||||
|
||||
timer0: timer@20a000 {
|
||||
compatible = "csky,gx6605s-timer";
|
||||
reg = <0x0020a000 0x400>;
|
||||
clocks = <&dummy_apb_clk>;
|
||||
interrupts = <10>;
|
||||
interrupt-parent = <&intc>;
|
||||
};
|
||||
42
bindings/timer/csky,mptimer.txt
Normal file
42
bindings/timer/csky,mptimer.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
============================
|
||||
C-SKY Multi-processors Timer
|
||||
============================
|
||||
|
||||
C-SKY multi-processors timer is designed for C-SKY SMP system and the
|
||||
regs is accessed by cpu co-processor 4 registers with mtcr/mfcr.
|
||||
|
||||
- PTIM_CTLR "cr<0, 14>" Control reg to start reset timer.
|
||||
- PTIM_TSR "cr<1, 14>" Interrupt cleanup status reg.
|
||||
- PTIM_CCVR "cr<3, 14>" Current counter value reg.
|
||||
- PTIM_LVR "cr<6, 14>" Window value reg to triger next event.
|
||||
|
||||
==============================
|
||||
timer node bindings definition
|
||||
==============================
|
||||
|
||||
Description: Describes SMP timer
|
||||
|
||||
PROPERTIES
|
||||
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be "csky,mptimer"
|
||||
- clocks
|
||||
Usage: required
|
||||
Value type: <node>
|
||||
Definition: must be input clk node
|
||||
- interrupts
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: must be timer irq num defined by soc
|
||||
|
||||
Examples:
|
||||
---------
|
||||
|
||||
timer: timer {
|
||||
compatible = "csky,mptimer";
|
||||
clocks = <&dummy_apb_clk>;
|
||||
interrupts = <16>;
|
||||
interrupt-parent = <&intc>;
|
||||
};
|
||||
18
bindings/timer/digicolor-timer.txt
Normal file
18
bindings/timer/digicolor-timer.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Conexant Digicolor SoCs Timer Controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "cnxt,cx92755-timer"
|
||||
- reg : Specifies base physical address and size of the "Agent Communication"
|
||||
timer registers
|
||||
- interrupts : Contains 8 interrupts, one for each timer
|
||||
- clocks: phandle to the main clock
|
||||
|
||||
Example:
|
||||
|
||||
timer@f0000fc0 {
|
||||
compatible = "cnxt,cx92755-timer";
|
||||
reg = <0xf0000fc0 0x40>;
|
||||
interrupts = <19>, <31>, <34>, <35>, <52>, <53>, <54>, <55>;
|
||||
clocks = <&main_clk>;
|
||||
};
|
||||
23
bindings/timer/energymicro,efm32-timer.txt
Normal file
23
bindings/timer/energymicro,efm32-timer.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
* EFM32 timer hardware
|
||||
|
||||
The efm32 Giant Gecko SoCs come with four 16 bit timers. Two counters can be
|
||||
connected to form a 32 bit counter. Each timer has three Compare/Capture
|
||||
channels and can be used as PWM or Quadrature Decoder. Available clock sources
|
||||
are the cpu's HFPERCLK (with a 10-bit prescaler) or an external pin.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "energymicro,efm32-timer"
|
||||
- reg : Address and length of the register set
|
||||
- clocks : Should contain a reference to the HFPERCLK
|
||||
|
||||
Optional properties:
|
||||
- interrupts : Reference to the timer interrupt
|
||||
|
||||
Example:
|
||||
|
||||
timer@40010c00 {
|
||||
compatible = "energymicro,efm32-timer";
|
||||
reg = <0x40010c00 0x400>;
|
||||
interrupts = <14>;
|
||||
clocks = <&cmu clk_HFPERCLKTIMER3>;
|
||||
};
|
||||
17
bindings/timer/ezchip,nps400-timer0.txt
Normal file
17
bindings/timer/ezchip,nps400-timer0.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
NPS Network Processor
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "ezchip,nps400-timer0"
|
||||
|
||||
Clocks required for compatible = "ezchip,nps400-timer0":
|
||||
- interrupts : The interrupt of the first timer
|
||||
- clocks : Must contain a single entry describing the clock input
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "ezchip,nps400-timer0";
|
||||
interrupts = <3>;
|
||||
clocks = <&sysclk>;
|
||||
};
|
||||
15
bindings/timer/ezchip,nps400-timer1.txt
Normal file
15
bindings/timer/ezchip,nps400-timer1.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
NPS Network Processor
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "ezchip,nps400-timer1"
|
||||
|
||||
Clocks required for compatible = "ezchip,nps400-timer1":
|
||||
- clocks : Must contain a single entry describing the clock input
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "ezchip,nps400-timer1";
|
||||
clocks = <&sysclk>;
|
||||
};
|
||||
37
bindings/timer/faraday,fttmr010.txt
Normal file
37
bindings/timer/faraday,fttmr010.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Faraday Technology timer
|
||||
|
||||
This timer is a generic IP block from Faraday Technology, embedded in the
|
||||
Cortina Systems Gemini SoCs and other designs.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Must be one of
|
||||
"faraday,fttmr010"
|
||||
"cortina,gemini-timer", "faraday,fttmr010"
|
||||
"moxa,moxart-timer", "faraday,fttmr010"
|
||||
"aspeed,ast2400-timer"
|
||||
"aspeed,ast2500-timer"
|
||||
|
||||
- reg : Should contain registers location and length
|
||||
- interrupts : Should contain the three timer interrupts usually with
|
||||
flags for falling edge
|
||||
|
||||
Optionally required properties:
|
||||
|
||||
- clocks : a clock to provide the tick rate for "faraday,fttmr010"
|
||||
- clock-names : should be "EXTCLK" and "PCLK" for the external tick timer
|
||||
and peripheral clock respectively, for "faraday,fttmr010"
|
||||
- syscon : a phandle to the global Gemini system controller if the compatible
|
||||
type is "cortina,gemini-timer"
|
||||
|
||||
Example:
|
||||
|
||||
timer@43000000 {
|
||||
compatible = "faraday,fttmr010";
|
||||
reg = <0x43000000 0x1000>;
|
||||
interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
|
||||
<15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
|
||||
<16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
|
||||
clocks = <&extclk>, <&pclk>;
|
||||
clock-names = "EXTCLK", "PCLK";
|
||||
};
|
||||
31
bindings/timer/fsl,ftm-timer.txt
Normal file
31
bindings/timer/fsl,ftm-timer.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
Freescale FlexTimer Module (FTM) Timer
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "fsl,ftm-timer"
|
||||
- reg : Specifies base physical address and size of the register sets for the
|
||||
clock event device and clock source device.
|
||||
- interrupts : Should be the clock event device interrupt.
|
||||
- clocks : The clocks provided by the SoC to drive the timer, must contain an
|
||||
entry for each entry in clock-names.
|
||||
- clock-names : Must include the following entries:
|
||||
o "ftm-evt"
|
||||
o "ftm-src"
|
||||
o "ftm-evt-counter-en"
|
||||
o "ftm-src-counter-en"
|
||||
- big-endian: One boolean property, the big endian mode will be in use if it is
|
||||
present, or the little endian mode will be in use for all the device registers.
|
||||
|
||||
Example:
|
||||
ftm: ftm@400b8000 {
|
||||
compatible = "fsl,ftm-timer";
|
||||
reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
|
||||
interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "ftm-evt", "ftm-src",
|
||||
"ftm-evt-counter-en", "ftm-src-counter-en";
|
||||
clocks = <&clks VF610_CLK_FTM2>,
|
||||
<&clks VF610_CLK_FTM3>,
|
||||
<&clks VF610_CLK_FTM2_EXT_FIX_EN>,
|
||||
<&clks VF610_CLK_FTM3_EXT_FIX_EN>;
|
||||
big-endian;
|
||||
};
|
||||
30
bindings/timer/fsl,gtm.txt
Normal file
30
bindings/timer/fsl,gtm.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
* Freescale General-purpose Timers Module
|
||||
|
||||
Required properties:
|
||||
- compatible : should be
|
||||
"fsl,<chip>-gtm", "fsl,gtm" for SOC GTMs
|
||||
"fsl,<chip>-qe-gtm", "fsl,qe-gtm", "fsl,gtm" for QE GTMs
|
||||
"fsl,<chip>-cpm2-gtm", "fsl,cpm2-gtm", "fsl,gtm" for CPM2 GTMs
|
||||
- reg : should contain gtm registers location and length (0x40).
|
||||
- interrupts : should contain four interrupts.
|
||||
- clock-frequency : specifies the frequency driving the timer.
|
||||
|
||||
Example:
|
||||
|
||||
timer@500 {
|
||||
compatible = "fsl,mpc8360-gtm", "fsl,gtm";
|
||||
reg = <0x500 0x40>;
|
||||
interrupts = <90 8 78 8 84 8 72 8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
/* filled by u-boot */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
timer@440 {
|
||||
compatible = "fsl,mpc8360-qe-gtm", "fsl,qe-gtm", "fsl,gtm";
|
||||
reg = <0x440 0x40>;
|
||||
interrupts = <12 13 14 15>;
|
||||
interrupt-parent = <&qeic>;
|
||||
/* filled by u-boot */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
45
bindings/timer/fsl,imxgpt.txt
Normal file
45
bindings/timer/fsl,imxgpt.txt
Normal file
@@ -0,0 +1,45 @@
|
||||
Freescale i.MX General Purpose Timer (GPT)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be one of following:
|
||||
for i.MX1:
|
||||
- "fsl,imx1-gpt";
|
||||
for i.MX21:
|
||||
- "fsl,imx21-gpt";
|
||||
for i.MX27:
|
||||
- "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
for i.MX31:
|
||||
- "fsl,imx31-gpt";
|
||||
for i.MX25:
|
||||
- "fsl,imx25-gpt", "fsl,imx31-gpt";
|
||||
for i.MX50:
|
||||
- "fsl,imx50-gpt", "fsl,imx31-gpt";
|
||||
for i.MX51:
|
||||
- "fsl,imx51-gpt", "fsl,imx31-gpt";
|
||||
for i.MX53:
|
||||
- "fsl,imx53-gpt", "fsl,imx31-gpt";
|
||||
for i.MX6Q:
|
||||
- "fsl,imx6q-gpt", "fsl,imx31-gpt";
|
||||
for i.MX6DL:
|
||||
- "fsl,imx6dl-gpt";
|
||||
for i.MX6SL:
|
||||
- "fsl,imx6sl-gpt", "fsl,imx6dl-gpt";
|
||||
for i.MX6SX:
|
||||
- "fsl,imx6sx-gpt", "fsl,imx6dl-gpt";
|
||||
- reg : specifies base physical address and size of the registers.
|
||||
- interrupts : should be the gpt interrupt.
|
||||
- clocks : the clocks provided by the SoC to drive the timer, must contain
|
||||
an entry for each entry in clock-names.
|
||||
- clock-names : must include "ipg" entry first, then "per" entry.
|
||||
|
||||
Example:
|
||||
|
||||
gpt1: timer@10003000 {
|
||||
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
|
||||
reg = <0x10003000 0x1000>;
|
||||
interrupts = <26>;
|
||||
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
|
||||
<&clks IMX27_CLK_PER1_GATE>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
28
bindings/timer/img,pistachio-gptimer.txt
Normal file
28
bindings/timer/img,pistachio-gptimer.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
* Pistachio general-purpose timer based clocksource
|
||||
|
||||
Required properties:
|
||||
- compatible: "img,pistachio-gptimer".
|
||||
- reg: Address range of the timer registers.
|
||||
- interrupts: An interrupt for each of the four timers
|
||||
- clocks: Should contain a clock specifier for each entry in clock-names
|
||||
- clock-names: Should contain the following entries:
|
||||
"sys", interface clock
|
||||
"slow", slow counter clock
|
||||
"fast", fast counter clock
|
||||
- img,cr-periph: Must contain a phandle to the peripheral control
|
||||
syscon node.
|
||||
|
||||
Example:
|
||||
timer: timer@18102000 {
|
||||
compatible = "img,pistachio-gptimer";
|
||||
reg = <0x18102000 0x100>;
|
||||
interrupts = <GIC_SHARED 60 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SHARED 61 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SHARED 62 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SHARED 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk_periph PERIPH_CLK_COUNTER_FAST>,
|
||||
<&clk_periph PERIPH_CLK_COUNTER_SLOW>,
|
||||
<&cr_periph SYS_CLK_TIMER>;
|
||||
clock-names = "fast", "slow", "sys";
|
||||
img,cr-periph = <&cr_periph>;
|
||||
};
|
||||
24
bindings/timer/jcore,pit.txt
Normal file
24
bindings/timer/jcore,pit.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
J-Core Programmable Interval Timer and Clocksource
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Must be "jcore,pit".
|
||||
|
||||
- reg: Memory region(s) for timer/clocksource registers. For SMP,
|
||||
there should be one region per cpu, indexed by the sequential,
|
||||
zero-based hardware cpu number.
|
||||
|
||||
- interrupts: An interrupt to assign for the timer. The actual pit
|
||||
core is integrated with the aic and allows the timer interrupt
|
||||
assignment to be programmed by software, but this property is
|
||||
required in order to reserve an interrupt number that doesn't
|
||||
conflict with other devices.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
timer@200 {
|
||||
compatible = "jcore,pit";
|
||||
reg = < 0x200 0x30 0x500 0x30 >;
|
||||
interrupts = < 0x48 >;
|
||||
};
|
||||
33
bindings/timer/lsi,zevio-timer.txt
Normal file
33
bindings/timer/lsi,zevio-timer.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
TI-NSPIRE timer
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "lsi,zevio-timer".
|
||||
- reg : The physical base address and size of the timer (always first).
|
||||
- clocks: phandle to the source clock.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- interrupts : The interrupt number of the first timer.
|
||||
- reg : The interrupt acknowledgement registers
|
||||
(always after timer base address)
|
||||
|
||||
If any of the optional properties are not given, the timer is added as a
|
||||
clock-source only.
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "lsi,zevio-timer";
|
||||
reg = <0x900D0000 0x1000>, <0x900A0020 0x8>;
|
||||
interrupts = <19>;
|
||||
clocks = <&timer_clk>;
|
||||
};
|
||||
|
||||
Example (no clock-events):
|
||||
|
||||
timer {
|
||||
compatible = "lsi,zevio-timer";
|
||||
reg = <0x900D0000 0x1000>;
|
||||
clocks = <&timer_clk>;
|
||||
};
|
||||
44
bindings/timer/marvell,armada-370-xp-timer.txt
Normal file
44
bindings/timer/marvell,armada-370-xp-timer.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
Marvell Armada 370 and Armada XP Timers
|
||||
---------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of the following
|
||||
"marvell,armada-370-timer",
|
||||
"marvell,armada-375-timer",
|
||||
"marvell,armada-xp-timer".
|
||||
- interrupts: Should contain the list of Global Timer interrupts and
|
||||
then local timer interrupts
|
||||
- reg: Should contain location and length for timers register. First
|
||||
pair for the Global Timer registers, second pair for the
|
||||
local/private timers.
|
||||
|
||||
Clocks required for compatible = "marvell,armada-370-timer":
|
||||
- clocks : Must contain a single entry describing the clock input
|
||||
|
||||
Clocks required for compatibles = "marvell,armada-xp-timer",
|
||||
"marvell,armada-375-timer":
|
||||
- clocks : Must contain an entry for each entry in clock-names.
|
||||
- clock-names : Must include the following entries:
|
||||
"nbclk" (L2/coherency fabric clock),
|
||||
"fixed" (Reference 25 MHz fixed-clock).
|
||||
|
||||
Examples:
|
||||
|
||||
- Armada 370:
|
||||
|
||||
timer {
|
||||
compatible = "marvell,armada-370-timer";
|
||||
reg = <0x20300 0x30>, <0x21040 0x30>;
|
||||
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
|
||||
clocks = <&coreclk 2>;
|
||||
};
|
||||
|
||||
- Armada XP:
|
||||
|
||||
timer {
|
||||
compatible = "marvell,armada-xp-timer";
|
||||
reg = <0x20300 0x30>, <0x21040 0x30>;
|
||||
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
|
||||
clocks = <&coreclk 2>, <&refclk>;
|
||||
clock-names = "nbclk", "fixed";
|
||||
};
|
||||
16
bindings/timer/marvell,orion-timer.txt
Normal file
16
bindings/timer/marvell,orion-timer.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
Marvell Orion SoC timer
|
||||
|
||||
Required properties:
|
||||
- compatible: shall be "marvell,orion-timer"
|
||||
- reg: base address of the timer register starting with TIMERS CONTROL register
|
||||
- interrupts: should contain the interrupts for Timer0 and Timer1
|
||||
- clocks: phandle of timer reference clock (tclk)
|
||||
|
||||
Example:
|
||||
timer: timer {
|
||||
compatible = "marvell,orion-timer";
|
||||
reg = <0x20300 0x20>;
|
||||
interrupt-parent = <&bridge_intc>;
|
||||
interrupts = <1>, <2>;
|
||||
clocks = <&core_clk 0>;
|
||||
};
|
||||
37
bindings/timer/mediatek,mtk-timer.txt
Normal file
37
bindings/timer/mediatek,mtk-timer.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
MediaTek Timers
|
||||
---------------
|
||||
|
||||
MediaTek SoCs have two different timers on different platforms,
|
||||
- GPT (General Purpose Timer)
|
||||
- SYST (System Timer)
|
||||
|
||||
The proper timer will be selected automatically by driver.
|
||||
|
||||
Required properties:
|
||||
- compatible should contain:
|
||||
For those SoCs that use GPT
|
||||
* "mediatek,mt2701-timer" for MT2701 compatible timers (GPT)
|
||||
* "mediatek,mt6580-timer" for MT6580 compatible timers (GPT)
|
||||
* "mediatek,mt6589-timer" for MT6589 compatible timers (GPT)
|
||||
* "mediatek,mt7623-timer" for MT7623 compatible timers (GPT)
|
||||
* "mediatek,mt8127-timer" for MT8127 compatible timers (GPT)
|
||||
* "mediatek,mt8135-timer" for MT8135 compatible timers (GPT)
|
||||
* "mediatek,mt8173-timer" for MT8173 compatible timers (GPT)
|
||||
* "mediatek,mt8516-timer" for MT8516 compatible timers (GPT)
|
||||
* "mediatek,mt6577-timer" for MT6577 and all above compatible timers (GPT)
|
||||
|
||||
For those SoCs that use SYST
|
||||
* "mediatek,mt7629-timer" for MT7629 compatible timers (SYST)
|
||||
* "mediatek,mt6765-timer" for MT6765 and all above compatible timers (SYST)
|
||||
|
||||
- reg: Should contain location and length for timer register.
|
||||
- clocks: Should contain system clock.
|
||||
|
||||
Examples:
|
||||
|
||||
timer@10008000 {
|
||||
compatible = "mediatek,mt6577-timer";
|
||||
reg = <0x10008000 0x80>;
|
||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&system_clk>;
|
||||
};
|
||||
17
bindings/timer/mrvl,mmp-timer.txt
Normal file
17
bindings/timer/mrvl,mmp-timer.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
* Marvell MMP Timer controller
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "mrvl,mmp-timer".
|
||||
- reg : Address and length of the register set of timer controller.
|
||||
- interrupts : Should be the interrupt number.
|
||||
|
||||
Optional properties:
|
||||
- clocks : Should contain a single entry describing the clock input.
|
||||
|
||||
Example:
|
||||
timer0: timer@d4014000 {
|
||||
compatible = "mrvl,mmp-timer";
|
||||
reg = <0xd4014000 0x100>;
|
||||
interrupts = <13>;
|
||||
clocks = <&coreclk 2>;
|
||||
};
|
||||
21
bindings/timer/nuvoton,npcm7xx-timer.txt
Normal file
21
bindings/timer/nuvoton,npcm7xx-timer.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
Nuvoton NPCM7xx timer
|
||||
|
||||
Nuvoton NPCM7xx have three timer modules, each timer module provides five 24-bit
|
||||
timer counters.
|
||||
|
||||
Required properties:
|
||||
- compatible : "nuvoton,npcm750-timer" for Poleg NPCM750.
|
||||
- reg : Offset and length of the register set for the device.
|
||||
- interrupts : Contain the timer interrupt with flags for
|
||||
falling edge.
|
||||
- clocks : phandle of timer reference clock (usually a 25 MHz clock).
|
||||
|
||||
Example:
|
||||
|
||||
timer@f0008000 {
|
||||
compatible = "nuvoton,npcm750-timer";
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0xf0008000 0x50>;
|
||||
clocks = <&clk NPCM7XX_CLK_TIMER>;
|
||||
};
|
||||
|
||||
24
bindings/timer/nvidia,tegra20-timer.txt
Normal file
24
bindings/timer/nvidia,tegra20-timer.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
NVIDIA Tegra20 timer
|
||||
|
||||
The Tegra20 timer provides four 29-bit timer channels and a single 32-bit free
|
||||
running counter. The first two channels may also trigger a watchdog reset.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "nvidia,tegra20-timer".
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : A list of 4 interrupts; one per timer channel.
|
||||
- clocks : Must contain one entry, for the module clock.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "nvidia,tegra20-timer";
|
||||
reg = <0x60005000 0x60>;
|
||||
interrupts = <0 0 0x04
|
||||
0 1 0x04
|
||||
0 41 0x04
|
||||
0 42 0x04>;
|
||||
clocks = <&tegra_car 132>;
|
||||
};
|
||||
36
bindings/timer/nvidia,tegra210-timer.txt
Normal file
36
bindings/timer/nvidia,tegra210-timer.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
NVIDIA Tegra210 timer
|
||||
|
||||
The Tegra210 timer provides fourteen 29-bit timer counters and one 32-bit
|
||||
timestamp counter. The TMRs run at either a fixed 1 MHz clock rate derived
|
||||
from the oscillator clock (TMR0-TMR9) or directly at the oscillator clock
|
||||
(TMR10-TMR13). Each TMR can be programmed to generate one-shot, periodic,
|
||||
or watchdog interrupts.
|
||||
|
||||
Required properties:
|
||||
- compatible : "nvidia,tegra210-timer".
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : A list of 14 interrupts; one per each timer channels 0 through
|
||||
13.
|
||||
- clocks : Must contain one entry, for the module clock.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
|
||||
timer@60005000 {
|
||||
compatible = "nvidia,tegra210-timer";
|
||||
reg = <0x0 0x60005000 0x0 0x400>;
|
||||
interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_TIMER>;
|
||||
clock-names = "timer";
|
||||
};
|
||||
28
bindings/timer/nvidia,tegra30-timer.txt
Normal file
28
bindings/timer/nvidia,tegra30-timer.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
NVIDIA Tegra30 timer
|
||||
|
||||
The Tegra30 timer provides ten 29-bit timer channels, a single 32-bit free
|
||||
running counter, and 5 watchdog modules. The first two channels may also
|
||||
trigger a legacy watchdog reset.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : For Tegra30, must contain "nvidia,tegra30-timer". Otherwise,
|
||||
must contain '"nvidia,<chip>-timer", "nvidia,tegra30-timer"' where
|
||||
<chip> is tegra124 or tegra132.
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : A list of 6 interrupts; one per each of timer channels 1
|
||||
through 5, and one for the shared interrupt for the remaining channels.
|
||||
- clocks : Must contain one entry, for the module clock.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
|
||||
timer {
|
||||
compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
|
||||
reg = <0x60005000 0x400>;
|
||||
interrupts = <0 0 0x04
|
||||
0 1 0x04
|
||||
0 41 0x04
|
||||
0 42 0x04
|
||||
0 121 0x04
|
||||
0 122 0x04>;
|
||||
clocks = <&tegra_car 214>;
|
||||
};
|
||||
26
bindings/timer/nxp,lpc3220-timer.txt
Normal file
26
bindings/timer/nxp,lpc3220-timer.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
* NXP LPC3220 timer
|
||||
|
||||
The NXP LPC3220 timer is used on a wide range of NXP SoCs. This
|
||||
includes LPC32xx, LPC178x, LPC18xx and LPC43xx parts.
|
||||
|
||||
Required properties:
|
||||
- compatible:
|
||||
Should be "nxp,lpc3220-timer".
|
||||
- reg:
|
||||
Address and length of the register set.
|
||||
- interrupts:
|
||||
Reference to the timer interrupt
|
||||
- clocks:
|
||||
Should contain a reference to timer clock.
|
||||
- clock-names:
|
||||
Should contain "timerclk".
|
||||
|
||||
Example:
|
||||
|
||||
timer1: timer@40085000 {
|
||||
compatible = "nxp,lpc3220-timer";
|
||||
reg = <0x40085000 0x1000>;
|
||||
interrupts = <13>;
|
||||
clocks = <&ccu1 CLK_CPU_TIMER1>;
|
||||
clock-names = "timerclk";
|
||||
};
|
||||
28
bindings/timer/nxp,tpm-timer.txt
Normal file
28
bindings/timer/nxp,tpm-timer.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
NXP Low Power Timer/Pulse Width Modulation Module (TPM)
|
||||
|
||||
The Timer/PWM Module (TPM) supports input capture, output compare,
|
||||
and the generation of PWM signals to control electric motor and power
|
||||
management applications. The counter, compare and capture registers
|
||||
are clocked by an asynchronous clock that can remain enabled in low
|
||||
power modes. TPM can support global counter bus where one TPM drives
|
||||
the counter bus for the others, provided bit width is the same.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "fsl,imx7ulp-tpm"
|
||||
- reg : Specifies base physical address and size of the register sets
|
||||
for the clock event device and clock source device.
|
||||
- interrupts : Should be the clock event device interrupt.
|
||||
- clocks : The clocks provided by the SoC to drive the timer, must contain
|
||||
an entry for each entry in clock-names.
|
||||
- clock-names : Must include the following entries: "ipg" and "per".
|
||||
|
||||
Example:
|
||||
tpm5: tpm@40260000 {
|
||||
compatible = "fsl,imx7ulp-tpm";
|
||||
reg = <0x40260000 0x1000>;
|
||||
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks IMX7ULP_CLK_NIC1_BUS_DIV>,
|
||||
<&clks IMX7ULP_CLK_LPTPM5>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
17
bindings/timer/oxsemi,rps-timer.txt
Normal file
17
bindings/timer/oxsemi,rps-timer.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
Oxford Semiconductor OXNAS SoCs Family RPS Timer
|
||||
================================================
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "oxsemi,ox810se-rps-timer" or "oxsemi,ox820-rps-timer"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : The interrupts of the two timers
|
||||
- clocks : The phandle of the timer clock source
|
||||
|
||||
example:
|
||||
|
||||
timer0: timer@200 {
|
||||
compatible = "oxsemi,ox810se-rps-timer";
|
||||
reg = <0x200 0x40>;
|
||||
clocks = <&rpsclk>;
|
||||
interrupts = <4 5>;
|
||||
};
|
||||
47
bindings/timer/qcom,msm-timer.txt
Normal file
47
bindings/timer/qcom,msm-timer.txt
Normal file
@@ -0,0 +1,47 @@
|
||||
* MSM Timer
|
||||
|
||||
Properties:
|
||||
|
||||
- compatible : Should at least contain "qcom,msm-timer". More specific
|
||||
properties specify which subsystem the timers are paired with.
|
||||
|
||||
"qcom,kpss-timer" - krait subsystem
|
||||
"qcom,scss-timer" - scorpion subsystem
|
||||
|
||||
- interrupts : Interrupts for the debug timer, the first general purpose
|
||||
timer, and optionally a second general purpose timer, and
|
||||
optionally as well, 2 watchdog interrupts, in that order.
|
||||
|
||||
- reg : Specifies the base address of the timer registers.
|
||||
|
||||
- clocks: Reference to the parent clocks, one per output clock. The parents
|
||||
must appear in the same order as the clock names.
|
||||
|
||||
- clock-names: The name of the clocks as free-form strings. They should be in
|
||||
the same order as the clocks.
|
||||
|
||||
- clock-frequency : The frequency of the debug timer and the general purpose
|
||||
timer(s) in Hz in that order.
|
||||
|
||||
Optional:
|
||||
|
||||
- cpu-offset : per-cpu offset used when the timer is accessed without the
|
||||
CPU remapping facilities. The offset is
|
||||
cpu-offset + (0x10000 * cpu-nr).
|
||||
|
||||
Example:
|
||||
|
||||
timer@200a000 {
|
||||
compatible = "qcom,scss-timer", "qcom,msm-timer";
|
||||
interrupts = <1 1 0x301>,
|
||||
<1 2 0x301>,
|
||||
<1 3 0x301>,
|
||||
<1 4 0x301>,
|
||||
<1 5 0x301>;
|
||||
reg = <0x0200a000 0x100>;
|
||||
clock-frequency = <19200000>,
|
||||
<32768>;
|
||||
clocks = <&sleep_clk>;
|
||||
clock-names = "sleep";
|
||||
cpu-offset = <0x40000>;
|
||||
};
|
||||
20
bindings/timer/rda,8810pl-timer.txt
Normal file
20
bindings/timer/rda,8810pl-timer.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
RDA Micro RDA8810PL Timer
|
||||
|
||||
Required properties:
|
||||
- compatible : "rda,8810pl-timer"
|
||||
- reg : Offset and length of the register set for the device.
|
||||
- interrupts : Should contain two interrupts.
|
||||
- interrupt-names : Should be "hwtimer", "ostimer".
|
||||
|
||||
Example:
|
||||
|
||||
apb@20900000 {
|
||||
compatible = "simple-bus";
|
||||
...
|
||||
timer@10000 {
|
||||
compatible = "rda,8810pl-timer";
|
||||
reg = <0x10000 0x1000>;
|
||||
interrupts = <16 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "hwtimer", "ostimer";
|
||||
};
|
||||
25
bindings/timer/renesas,16bit-timer.txt
Normal file
25
bindings/timer/renesas,16bit-timer.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
* Renesas H8/300 16bit timer
|
||||
|
||||
The 16bit timer is a 16bit timer/counter with configurable clock inputs and
|
||||
programmable compare match.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must contain "renesas,16bit-timer"
|
||||
- reg: base address and length of the registers block for the timer module.
|
||||
- interrupts: interrupt-specifier for the timer, IMIA
|
||||
- clocks: a list of phandle, one for each entry in clock-names.
|
||||
- clock-names: must contain "peripheral_clk" for the functional clock.
|
||||
- renesas,channel: timer channel number.
|
||||
|
||||
Example:
|
||||
|
||||
timer16: timer@ffff68 {
|
||||
compatible = "reneas,16bit-timer";
|
||||
reg = <0xffff68 8>, <0xffff60 8>;
|
||||
interrupts = <24>;
|
||||
renesas,channel = <0>;
|
||||
clocks = <&pclk>;
|
||||
clock-names = "peripheral_clk";
|
||||
};
|
||||
|
||||
25
bindings/timer/renesas,8bit-timer.txt
Normal file
25
bindings/timer/renesas,8bit-timer.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
* Renesas H8/300 8bit timer
|
||||
|
||||
The 8bit timer is a 8bit timer/counter with configurable clock inputs and
|
||||
programmable compare match.
|
||||
|
||||
This implement only supported cascade mode.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must contain "renesas,8bit-timer"
|
||||
- reg: base address and length of the registers block for the timer module.
|
||||
- interrupts: interrupt-specifier for the timer, CMIA and TOVI
|
||||
- clocks: a list of phandle, one for each entry in clock-names.
|
||||
- clock-names: must contain "fck" for the functional clock.
|
||||
|
||||
Example:
|
||||
|
||||
timer8_0: timer@ffff80 {
|
||||
compatible = "renesas,8bit-timer";
|
||||
reg = <0xffff80 10>;
|
||||
interrupts = <36>;
|
||||
clocks = <&fclk>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
|
||||
96
bindings/timer/renesas,cmt.txt
Normal file
96
bindings/timer/renesas,cmt.txt
Normal file
@@ -0,0 +1,96 @@
|
||||
* Renesas R-Car Compare Match Timer (CMT)
|
||||
|
||||
The CMT is a multi-channel 16/32/48-bit timer/counter with configurable clock
|
||||
inputs and programmable compare match.
|
||||
|
||||
Channels share hardware resources but their counter and compare match value
|
||||
are independent. A particular CMT instance can implement only a subset of the
|
||||
channels supported by the CMT model. Channel indices represent the hardware
|
||||
position of the channel in the CMT and don't match the channel numbers in the
|
||||
datasheets.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must contain one or more of the following:
|
||||
- "renesas,cmt-48-sh73a0" for the sh73A0 48-bit CMT
|
||||
(CMT1)
|
||||
- "renesas,cmt-48-r8a7740" for the r8a7740 48-bit CMT
|
||||
(CMT1)
|
||||
- "renesas,cmt-48" for all non-second generation 48-bit CMT
|
||||
(CMT1 on sh73a0 and r8a7740)
|
||||
This is a fallback for the above renesas,cmt-48-* entries.
|
||||
|
||||
- "renesas,r8a73a4-cmt0" for the 32-bit CMT0 device included in r8a73a4.
|
||||
- "renesas,r8a73a4-cmt1" for the 48-bit CMT1 device included in r8a73a4.
|
||||
- "renesas,r8a7743-cmt0" for the 32-bit CMT0 device included in r8a7743.
|
||||
- "renesas,r8a7743-cmt1" for the 48-bit CMT1 device included in r8a7743.
|
||||
- "renesas,r8a7744-cmt0" for the 32-bit CMT0 device included in r8a7744.
|
||||
- "renesas,r8a7744-cmt1" for the 48-bit CMT1 device included in r8a7744.
|
||||
- "renesas,r8a7745-cmt0" for the 32-bit CMT0 device included in r8a7745.
|
||||
- "renesas,r8a7745-cmt1" for the 48-bit CMT1 device included in r8a7745.
|
||||
- "renesas,r8a77470-cmt0" for the 32-bit CMT0 device included in r8a77470.
|
||||
- "renesas,r8a77470-cmt1" for the 48-bit CMT1 device included in r8a77470.
|
||||
- "renesas,r8a774a1-cmt0" for the 32-bit CMT0 device included in r8a774a1.
|
||||
- "renesas,r8a774a1-cmt1" for the 48-bit CMT1 device included in r8a774a1.
|
||||
- "renesas,r8a774c0-cmt0" for the 32-bit CMT0 device included in r8a774c0.
|
||||
- "renesas,r8a774c0-cmt1" for the 48-bit CMT1 device included in r8a774c0.
|
||||
- "renesas,r8a7790-cmt0" for the 32-bit CMT0 device included in r8a7790.
|
||||
- "renesas,r8a7790-cmt1" for the 48-bit CMT1 device included in r8a7790.
|
||||
- "renesas,r8a7791-cmt0" for the 32-bit CMT0 device included in r8a7791.
|
||||
- "renesas,r8a7791-cmt1" for the 48-bit CMT1 device included in r8a7791.
|
||||
- "renesas,r8a7793-cmt0" for the 32-bit CMT0 device included in r8a7793.
|
||||
- "renesas,r8a7793-cmt1" for the 48-bit CMT1 device included in r8a7793.
|
||||
- "renesas,r8a7794-cmt0" for the 32-bit CMT0 device included in r8a7794.
|
||||
- "renesas,r8a7794-cmt1" for the 48-bit CMT1 device included in r8a7794.
|
||||
- "renesas,r8a7796-cmt0" for the 32-bit CMT0 device included in r8a7796.
|
||||
- "renesas,r8a7796-cmt1" for the 48-bit CMT1 device included in r8a7796.
|
||||
- "renesas,r8a77970-cmt0" for the 32-bit CMT0 device included in r8a77970.
|
||||
- "renesas,r8a77970-cmt1" for the 48-bit CMT1 device included in r8a77970.
|
||||
- "renesas,r8a77980-cmt0" for the 32-bit CMT0 device included in r8a77980.
|
||||
- "renesas,r8a77980-cmt1" for the 48-bit CMT1 device included in r8a77980.
|
||||
|
||||
- "renesas,rcar-gen2-cmt0" for 32-bit CMT0 devices included in R-Car Gen2
|
||||
and RZ/G1.
|
||||
- "renesas,rcar-gen2-cmt1" for 48-bit CMT1 devices included in R-Car Gen2
|
||||
and RZ/G1.
|
||||
These are fallbacks for r8a73a4, R-Car Gen2 and RZ/G1 entries
|
||||
listed above.
|
||||
- "renesas,rcar-gen3-cmt0" for 32-bit CMT0 devices included in R-Car Gen3
|
||||
and RZ/G2.
|
||||
- "renesas,rcar-gen3-cmt1" for 48-bit CMT1 devices included in R-Car Gen3
|
||||
and RZ/G2.
|
||||
These are fallbacks for R-Car Gen3 and RZ/G2 entries listed
|
||||
above.
|
||||
|
||||
- reg: base address and length of the registers block for the timer module.
|
||||
- interrupts: interrupt-specifier for the timer, one per channel.
|
||||
- clocks: a list of phandle + clock-specifier pairs, one for each entry
|
||||
in clock-names.
|
||||
- clock-names: must contain "fck" for the functional clock.
|
||||
|
||||
|
||||
Example: R8A7790 (R-Car H2) CMT0 and CMT1 nodes
|
||||
|
||||
cmt0: timer@ffca0000 {
|
||||
compatible = "renesas,r8a7790-cmt0", "renesas,rcar-gen2-cmt0";
|
||||
reg = <0 0xffca0000 0 0x1004>;
|
||||
interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 142 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
|
||||
cmt1: timer@e6130000 {
|
||||
compatible = "renesas,r8a7790-cmt1", "renesas,rcar-gen2-cmt1";
|
||||
reg = <0 0xe6130000 0 0x1004>;
|
||||
interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 121 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 122 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 123 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 124 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 125 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 126 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
42
bindings/timer/renesas,mtu2.txt
Normal file
42
bindings/timer/renesas,mtu2.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
* Renesas Multi-Function Timer Pulse Unit 2 (MTU2)
|
||||
|
||||
The MTU2 is a multi-purpose, multi-channel timer/counter with configurable
|
||||
clock inputs and programmable compare match.
|
||||
|
||||
Channels share hardware resources but their counter and compare match value
|
||||
are independent. The MTU2 hardware supports five channels indexed from 0 to 4.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must be one or more of the following:
|
||||
- "renesas,mtu2-r7s72100" for the r7s72100 MTU2
|
||||
- "renesas,mtu2" for any MTU2
|
||||
This is a fallback for the above renesas,mtu2-* entries
|
||||
|
||||
- reg: base address and length of the registers block for the timer module.
|
||||
|
||||
- interrupts: interrupt specifiers for the timer, one for each entry in
|
||||
interrupt-names.
|
||||
- interrupt-names: must contain one entry named "tgi?a" for each enabled
|
||||
channel, where "?" is the channel index expressed as one digit from "0" to
|
||||
"4".
|
||||
|
||||
- clocks: a list of phandle + clock-specifier pairs, one for each entry
|
||||
in clock-names.
|
||||
- clock-names: must contain "fck" for the functional clock.
|
||||
|
||||
|
||||
Example: R7S72100 (RZ/A1H) MTU2 node
|
||||
|
||||
mtu2: timer@fcff0000 {
|
||||
compatible = "renesas,mtu2-r7s72100", "renesas,mtu2";
|
||||
reg = <0xfcff0000 0x400>;
|
||||
interrupts = <0 139 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 146 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 150 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 154 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 159 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tgi0a", "tgi1a", "tgi2a", "tgi3a", "tgi4a";
|
||||
clocks = <&mstp3_clks R7S72100_CLK_MTU2>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
31
bindings/timer/renesas,ostm.txt
Normal file
31
bindings/timer/renesas,ostm.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
* Renesas OS Timer (OSTM)
|
||||
|
||||
The OSTM is a multi-channel 32-bit timer/counter with fixed clock
|
||||
source that can operate in either interval count down timer or free-running
|
||||
compare match mode.
|
||||
|
||||
Channels are independent from each other.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must be one or more of the following:
|
||||
- "renesas,r7s72100-ostm" for the R7S72100 (RZ/A1) OSTM
|
||||
- "renesas,r7s9210-ostm" for the R7S9210 (RZ/A2) OSTM
|
||||
- "renesas,ostm" for any OSTM
|
||||
This is a fallback for the above renesas,*-ostm entries
|
||||
|
||||
- reg: base address and length of the register block for a timer channel.
|
||||
|
||||
- interrupts: interrupt specifier for the timer channel.
|
||||
|
||||
- clocks: clock specifier for the timer channel.
|
||||
|
||||
Example: R7S72100 (RZ/A1H) OSTM node
|
||||
|
||||
ostm0: timer@fcfec000 {
|
||||
compatible = "renesas,r7s72100-ostm", "renesas,ostm";
|
||||
reg = <0xfcfec000 0x30>;
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&mstp5_clks R7S72100_CLK_OSTM0>;
|
||||
power-domains = <&cpg_clocks>;
|
||||
};
|
||||
47
bindings/timer/renesas,tmu.txt
Normal file
47
bindings/timer/renesas,tmu.txt
Normal file
@@ -0,0 +1,47 @@
|
||||
* Renesas R-Mobile/R-Car Timer Unit (TMU)
|
||||
|
||||
The TMU is a 32-bit timer/counter with configurable clock inputs and
|
||||
programmable compare match.
|
||||
|
||||
Channels share hardware resources but their counter and compare match value
|
||||
are independent. The TMU hardware supports up to three channels.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must contain one or more of the following:
|
||||
- "renesas,tmu-r8a7740" for the r8a7740 TMU
|
||||
- "renesas,tmu-r8a774c0" for the r8a774C0 TMU
|
||||
- "renesas,tmu-r8a7778" for the r8a7778 TMU
|
||||
- "renesas,tmu-r8a7779" for the r8a7779 TMU
|
||||
- "renesas,tmu-r8a77970" for the r8a77970 TMU
|
||||
- "renesas,tmu-r8a77980" for the r8a77980 TMU
|
||||
- "renesas,tmu" for any TMU.
|
||||
This is a fallback for the above renesas,tmu-* entries
|
||||
|
||||
- reg: base address and length of the registers block for the timer module.
|
||||
|
||||
- interrupts: interrupt-specifier for the timer, one per channel.
|
||||
|
||||
- clocks: a list of phandle + clock-specifier pairs, one for each entry
|
||||
in clock-names.
|
||||
- clock-names: must contain "fck" for the functional clock.
|
||||
|
||||
Optional Properties:
|
||||
|
||||
- #renesas,channels: number of channels implemented by the timer, must be 2
|
||||
or 3 (if not specified the value defaults to 3).
|
||||
|
||||
|
||||
Example: R8A7779 (R-Car H1) TMU0 node
|
||||
|
||||
tmu0: timer@ffd80000 {
|
||||
compatible = "renesas,tmu-r8a7779", "renesas,tmu";
|
||||
reg = <0xffd80000 0x30>;
|
||||
interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 33 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
|
||||
clock-names = "fck";
|
||||
|
||||
#renesas,channels = <3>;
|
||||
};
|
||||
21
bindings/timer/renesas,tpu.txt
Normal file
21
bindings/timer/renesas,tpu.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
* Renesas H8/300 Timer Pulse Unit
|
||||
|
||||
The TPU is a 16bit timer/counter with configurable clock inputs and
|
||||
programmable compare match.
|
||||
This implementation support only cascade mode.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: must contain "renesas,tpu"
|
||||
- reg: base address and length of the registers block in 2 channel.
|
||||
- clocks: a list of phandle, one for each entry in clock-names.
|
||||
- clock-names: must contain "peripheral_clk" for the functional clock.
|
||||
|
||||
|
||||
Example:
|
||||
tpu: tpu@ffffe0 {
|
||||
compatible = "renesas,tpu";
|
||||
reg = <0xffffe0 16>, <0xfffff0 12>;
|
||||
clocks = <&pclk>;
|
||||
clock-names = "peripheral_clk";
|
||||
};
|
||||
27
bindings/timer/rockchip,rk-timer.txt
Normal file
27
bindings/timer/rockchip,rk-timer.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
Rockchip rk timer
|
||||
|
||||
Required properties:
|
||||
- compatible: should be:
|
||||
"rockchip,rv1108-timer", "rockchip,rk3288-timer": for Rockchip RV1108
|
||||
"rockchip,rk3036-timer", "rockchip,rk3288-timer": for Rockchip RK3036
|
||||
"rockchip,rk3066-timer", "rockchip,rk3288-timer": for Rockchip RK3066
|
||||
"rockchip,rk3188-timer", "rockchip,rk3288-timer": for Rockchip RK3188
|
||||
"rockchip,rk3228-timer", "rockchip,rk3288-timer": for Rockchip RK3228
|
||||
"rockchip,rk3229-timer", "rockchip,rk3288-timer": for Rockchip RK3229
|
||||
"rockchip,rk3288-timer": for Rockchip RK3288
|
||||
"rockchip,rk3368-timer", "rockchip,rk3288-timer": for Rockchip RK3368
|
||||
"rockchip,rk3399-timer": for Rockchip RK3399
|
||||
- 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";
|
||||
};
|
||||
88
bindings/timer/samsung,exynos4210-mct.txt
Normal file
88
bindings/timer/samsung,exynos4210-mct.txt
Normal file
@@ -0,0 +1,88 @@
|
||||
Samsung's Multi Core Timer (MCT)
|
||||
|
||||
The Samsung's Multi Core Timer (MCT) module includes two main blocks, the
|
||||
global timer and CPU local timers. The global timer is a 64-bit free running
|
||||
up-counter and can generate 4 interrupts when the counter reaches one of the
|
||||
four preset counter values. The CPU local timers are 32-bit free running
|
||||
down-counters and generate an interrupt when the counter expires. There is
|
||||
one CPU local timer instantiated in MCT for every CPU in the system.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be "samsung,exynos4210-mct".
|
||||
(a) "samsung,exynos4210-mct", for mct compatible with Exynos4210 mct.
|
||||
(b) "samsung,exynos4412-mct", for mct compatible with Exynos4412 mct.
|
||||
|
||||
- reg: base address of the mct controller and length of the address space
|
||||
it occupies.
|
||||
|
||||
- interrupts: the list of interrupts generated by the controller. The following
|
||||
should be the order of the interrupts specified. The local timer interrupts
|
||||
should be specified after the four global timer interrupts have been
|
||||
specified.
|
||||
|
||||
0: Global Timer Interrupt 0
|
||||
1: Global Timer Interrupt 1
|
||||
2: Global Timer Interrupt 2
|
||||
3: Global Timer Interrupt 3
|
||||
4: Local Timer Interrupt 0
|
||||
5: Local Timer Interrupt 1
|
||||
6: ..
|
||||
7: ..
|
||||
i: Local Timer Interrupt n
|
||||
|
||||
For MCT block that uses a per-processor interrupt for local timers, such
|
||||
as ones compatible with "samsung,exynos4412-mct", only one local timer
|
||||
interrupt might be specified, meaning that all local timers use the same
|
||||
per processor interrupt.
|
||||
|
||||
Example 1: In this example, the IP contains two local timers, using separate
|
||||
interrupts, so two local timer interrupts have been specified,
|
||||
in addition to four global timer interrupts.
|
||||
|
||||
mct@10050000 {
|
||||
compatible = "samsung,exynos4210-mct";
|
||||
reg = <0x10050000 0x800>;
|
||||
interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
|
||||
<0 42 0>, <0 48 0>;
|
||||
};
|
||||
|
||||
Example 2: In this example, the timer interrupts are connected to two separate
|
||||
interrupt controllers. Hence, an interrupt-map is created to map
|
||||
the interrupts to the respective interrupt controllers.
|
||||
|
||||
mct@101c0000 {
|
||||
compatible = "samsung,exynos4210-mct";
|
||||
reg = <0x101C0000 0x800>;
|
||||
interrupt-parent = <&mct_map>;
|
||||
interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
|
||||
|
||||
mct_map: mct-map {
|
||||
#interrupt-cells = <1>;
|
||||
#address-cells = <0>;
|
||||
#size-cells = <0>;
|
||||
interrupt-map = <0 &gic 0 57 0>,
|
||||
<1 &gic 0 69 0>,
|
||||
<2 &combiner 12 6>,
|
||||
<3 &combiner 12 7>,
|
||||
<4 &gic 0 42 0>,
|
||||
<5 &gic 0 48 0>;
|
||||
};
|
||||
};
|
||||
|
||||
Example 3: In this example, the IP contains four local timers, but using
|
||||
a per-processor interrupt to handle them. Either all the local
|
||||
timer interrupts can be specified, with the same interrupt specifier
|
||||
value or just the first one.
|
||||
|
||||
mct@10050000 {
|
||||
compatible = "samsung,exynos4412-mct";
|
||||
reg = <0x10050000 0x800>;
|
||||
|
||||
/* Both ways are possible in this case. Either: */
|
||||
interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
|
||||
<0 42 0>;
|
||||
/* or: */
|
||||
interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
|
||||
<0 42 0>, <0 42 0>, <0 42 0>, <0 42 0>;
|
||||
};
|
||||
27
bindings/timer/snps,arc-timer.txt
Normal file
27
bindings/timer/snps,arc-timer.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
Synopsys ARC Local Timer with Interrupt Capabilities
|
||||
- Found on all ARC CPUs (ARC700/ARCHS)
|
||||
- Can be optionally programmed to interrupt on Limit
|
||||
- Two idential copies TIMER0 and TIMER1 exist in ARC cores and historically
|
||||
TIMER0 used as clockevent provider (true for all ARC cores)
|
||||
TIMER1 used for clocksource (mandatory for ARC700, optional for ARC HS)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "snps,arc-timer"
|
||||
- interrupts : single Interrupt going into parent intc
|
||||
(16 for ARCHS cores, 3 for ARC700 cores)
|
||||
- clocks : phandle to the source clock
|
||||
|
||||
Example:
|
||||
|
||||
timer0 {
|
||||
compatible = "snps,arc-timer";
|
||||
interrupts = <3>;
|
||||
interrupt-parent = <&core_intc>;
|
||||
clocks = <&core_clk>;
|
||||
};
|
||||
|
||||
timer1 {
|
||||
compatible = "snps,arc-timer";
|
||||
clocks = <&core_clk>;
|
||||
};
|
||||
14
bindings/timer/snps,archs-gfrc.txt
Normal file
14
bindings/timer/snps,archs-gfrc.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Synopsys ARC Free Running 64-bit Global Timer for ARC HS CPUs
|
||||
- clocksource provider for SMP SoC
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "snps,archs-gfrc"
|
||||
- clocks : phandle to the source clock
|
||||
|
||||
Example:
|
||||
|
||||
gfrc {
|
||||
compatible = "snps,archs-gfrc";
|
||||
clocks = <&core_clk>;
|
||||
};
|
||||
14
bindings/timer/snps,archs-rtc.txt
Normal file
14
bindings/timer/snps,archs-rtc.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Synopsys ARC Free Running 64-bit Local Timer for ARC HS CPUs
|
||||
- clocksource provider for UP SoC
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "snps,archs-rtc"
|
||||
- clocks : phandle to the source clock
|
||||
|
||||
Example:
|
||||
|
||||
rtc {
|
||||
compatible = "snps,arc-rtc";
|
||||
clocks = <&core_clk>;
|
||||
};
|
||||
17
bindings/timer/socionext,milbeaut-timer.txt
Normal file
17
bindings/timer/socionext,milbeaut-timer.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
Milbeaut SoCs Timer Controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "socionext,milbeaut-timer".
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : The interrupt of the first timer.
|
||||
- clocks: phandle to the input clk.
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "socionext,milbeaut-timer";
|
||||
reg = <0x1e000050 0x20>
|
||||
interrupts = <0 91 4>;
|
||||
clocks = <&clk 4>;
|
||||
};
|
||||
20
bindings/timer/spreadtrum,sprd-timer.txt
Normal file
20
bindings/timer/spreadtrum,sprd-timer.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
Spreadtrum timers
|
||||
|
||||
The Spreadtrum SC9860 platform provides 3 general-purpose timers.
|
||||
These timers can support 32bit or 64bit counter, as well as supporting
|
||||
period mode or one-shot mode, and they are can be wakeup source
|
||||
during deep sleep.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "sprd,sc9860-timer" for SC9860 platform.
|
||||
- reg: The register address of the timer device.
|
||||
- interrupts: Should contain the interrupt for the timer device.
|
||||
- clocks: The phandle to the source clock (usually a 32.768 KHz fixed clock).
|
||||
|
||||
Example:
|
||||
timer@40050000 {
|
||||
compatible = "sprd,sc9860-timer";
|
||||
reg = <0 0x40050000 0 0x20>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ext_32k>;
|
||||
};
|
||||
16
bindings/timer/st,spear-timer.txt
Normal file
16
bindings/timer/st,spear-timer.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
* SPEAr ARM Timer
|
||||
|
||||
** Timer node required properties:
|
||||
|
||||
- compatible : Should be:
|
||||
"st,spear-timer"
|
||||
- reg: Address range of the timer registers
|
||||
- interrupt: Should contain the timer interrupt number
|
||||
|
||||
Example:
|
||||
|
||||
timer@f0000000 {
|
||||
compatible = "st,spear-timer";
|
||||
reg = <0xf0000000 0x400>;
|
||||
interrupts = <2>;
|
||||
};
|
||||
28
bindings/timer/st,stih407-lpc
Normal file
28
bindings/timer/st,stih407-lpc
Normal file
@@ -0,0 +1,28 @@
|
||||
STMicroelectronics Low Power Controller (LPC) - Clocksource
|
||||
===========================================================
|
||||
|
||||
LPC currently supports Watchdog OR Real Time Clock OR Clocksource
|
||||
functionality.
|
||||
|
||||
[See: ../watchdog/st_lpc_wdt.txt for Watchdog options]
|
||||
[See: ../rtc/rtc-st-lpc.txt for RTC options]
|
||||
|
||||
Required properties
|
||||
|
||||
- compatible : Must be: "st,stih407-lpc"
|
||||
- reg : LPC registers base address + size
|
||||
- interrupts : LPC interrupt line number and associated flags
|
||||
- clocks : Clock used by LPC device (See: ../clock/clock-bindings.txt)
|
||||
- st,lpc-mode : The LPC can run either one of three modes:
|
||||
ST_LPC_MODE_RTC [0]
|
||||
ST_LPC_MODE_WDT [1]
|
||||
ST_LPC_MODE_CLKSRC [2]
|
||||
One (and only one) mode must be selected.
|
||||
|
||||
Example:
|
||||
lpc@fde05000 {
|
||||
compatible = "st,stih407-lpc";
|
||||
reg = <0xfde05000 0x1000>;
|
||||
clocks = <&clk_s_d3_flexgen CLK_LPC_0>;
|
||||
st,lpc-mode = <ST_LPC_MODE_CLKSRC>;
|
||||
};
|
||||
22
bindings/timer/st,stm32-timer.txt
Normal file
22
bindings/timer/st,stm32-timer.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
. STMicroelectronics STM32 timer
|
||||
|
||||
The STM32 MCUs family has several general-purpose 16 and 32 bits timers.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "st,stm32-timer"
|
||||
- reg : Address and length of the register set
|
||||
- clocks : Reference on the timer input clock
|
||||
- interrupts : Reference to the timer interrupt
|
||||
|
||||
Optional properties:
|
||||
- resets: Reference to a reset controller asserting the timer
|
||||
|
||||
Example:
|
||||
|
||||
timer5: timer@40000c00 {
|
||||
compatible = "st,stm32-timer";
|
||||
reg = <0x40000c00 0x400>;
|
||||
interrupts = <50>;
|
||||
resets = <&rrc 259>;
|
||||
clocks = <&clk_pmtr1>;
|
||||
};
|
||||
18
bindings/timer/stericsson-u300-apptimer.txt
Normal file
18
bindings/timer/stericsson-u300-apptimer.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
ST-Ericsson U300 apptimer
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "stericsson,u300-apptimer"
|
||||
- reg : Specifies base physical address and size of the registers.
|
||||
- interrupts : A list of 4 interrupts; one for each subtimer. These
|
||||
are, in order: OS (operating system), DD (device driver) both
|
||||
adopted for EPOC/Symbian with two specific IRQs for these tasks,
|
||||
then GP1 and GP2, which are general-purpose timers.
|
||||
|
||||
Example:
|
||||
|
||||
timer {
|
||||
compatible = "stericsson,u300-apptimer";
|
||||
reg = <0xc0014000 0x1000>;
|
||||
interrupts = <24 25 26 27>;
|
||||
};
|
||||
25
bindings/timer/ti,c64x+timer64.txt
Normal file
25
bindings/timer/ti,c64x+timer64.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
Timer64
|
||||
-------
|
||||
|
||||
The timer64 node describes C6X event timers.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: must be "ti,c64x+timer64"
|
||||
- reg: base address and size of register region
|
||||
- interrupts: interrupt id
|
||||
|
||||
Optional properties:
|
||||
|
||||
- ti,dscr-dev-enable: Device ID used to enable timer IP through DSCR interface.
|
||||
|
||||
- ti,core-mask: on multi-core SoCs, bitmask of cores allowed to use this timer.
|
||||
|
||||
Example:
|
||||
timer0: timer@25e0000 {
|
||||
compatible = "ti,c64x+timer64";
|
||||
ti,core-mask = < 0x01 >;
|
||||
reg = <0x25e0000 0x40>;
|
||||
interrupt-parent = <&megamod_pic>;
|
||||
interrupts = < 16 >;
|
||||
};
|
||||
37
bindings/timer/ti,davinci-timer.txt
Normal file
37
bindings/timer/ti,davinci-timer.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
* Device tree bindings for Texas Instruments DaVinci timer
|
||||
|
||||
This document provides bindings for the 64-bit timer in the DaVinci
|
||||
architecture devices. The timer can be configured as a general-purpose 64-bit
|
||||
timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
|
||||
timers, each half can operate in conjunction (chain mode) or independently
|
||||
(unchained mode) of each other.
|
||||
|
||||
The timer is a free running up-counter and can generate interrupts when the
|
||||
counter reaches preset counter values.
|
||||
|
||||
Also see ../watchdog/davinci-wdt.txt for timers that are configurable as
|
||||
watchdog timers.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "ti,da830-timer".
|
||||
- reg : specifies base physical address and count of the registers.
|
||||
- interrupts : interrupts generated by the timer.
|
||||
- interrupt-names: should be "tint12", "tint34", "cmpint0", "cmpint1",
|
||||
"cmpint2", "cmpint3", "cmpint4", "cmpint5", "cmpint6",
|
||||
"cmpint7" ("cmpintX" may be omitted if not present in the
|
||||
hardware).
|
||||
- clocks : the clock feeding the timer clock.
|
||||
|
||||
Example:
|
||||
|
||||
clocksource: timer@20000 {
|
||||
compatible = "ti,da830-timer";
|
||||
reg = <0x20000 0x1000>;
|
||||
interrupts = <21>, <22>, <74>, <75>, <76>, <77>, <78>, <79>,
|
||||
<80>, <81>;
|
||||
interrupt-names = "tint12", "tint34", "cmpint0", "cmpint1",
|
||||
"cmpint2", "cmpint3", "cmpint4", "cmpint5",
|
||||
"cmpint6", "cmpint7";
|
||||
clocks = <&pll0_auxclk>;
|
||||
};
|
||||
29
bindings/timer/ti,keystone-timer.txt
Normal file
29
bindings/timer/ti,keystone-timer.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
* Device tree bindings for Texas instruments Keystone timer
|
||||
|
||||
This document provides bindings for the 64-bit timer in the KeyStone
|
||||
architecture devices. The timer can be configured as a general-purpose 64-bit
|
||||
timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
|
||||
timers, each half can operate in conjunction (chain mode) or independently
|
||||
(unchained mode) of each other.
|
||||
|
||||
It is global timer is a free running up-counter and can generate interrupt
|
||||
when the counter reaches preset counter values.
|
||||
|
||||
Documentation:
|
||||
http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "ti,keystone-timer".
|
||||
- reg : specifies base physical address and count of the registers.
|
||||
- interrupts : interrupt generated by the timer.
|
||||
- clocks : the clock feeding the timer clock.
|
||||
|
||||
Example:
|
||||
|
||||
timer@22f0000 {
|
||||
compatible = "ti,keystone-timer";
|
||||
reg = <0x022f0000 0x80>;
|
||||
interrupts = <GIC_SPI 110 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clktimer15>;
|
||||
};
|
||||
44
bindings/timer/ti,timer.txt
Normal file
44
bindings/timer/ti,timer.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
OMAP Timer bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be set to one of the below. Please note that
|
||||
OMAP44xx devices have timer instances that are 100%
|
||||
register compatible with OMAP3xxx devices as well as
|
||||
newer timers that are not 100% register compatible.
|
||||
So for OMAP44xx devices timer instances may use
|
||||
different compatible strings.
|
||||
|
||||
ti,omap2420-timer (applicable to OMAP24xx devices)
|
||||
ti,omap3430-timer (applicable to OMAP3xxx/44xx devices)
|
||||
ti,omap4430-timer (applicable to OMAP44xx devices)
|
||||
ti,omap5430-timer (applicable to OMAP543x devices)
|
||||
ti,am335x-timer (applicable to AM335x devices)
|
||||
ti,am335x-timer-1ms (applicable to AM335x devices)
|
||||
|
||||
- reg: Contains timer register address range (base address and
|
||||
length).
|
||||
- interrupts: Contains the interrupt information for the timer. The
|
||||
format is being dependent on which interrupt controller
|
||||
the OMAP device uses.
|
||||
- ti,hwmods: Name of the hwmod associated to the timer, "timer<X>",
|
||||
where <X> is the instance number of the timer from the
|
||||
HW spec.
|
||||
|
||||
Optional properties:
|
||||
- ti,timer-alwon: Indicates the timer is in an alway-on power domain.
|
||||
- ti,timer-dsp: Indicates the timer can interrupt the on-chip DSP in
|
||||
addition to the ARM CPU.
|
||||
- ti,timer-pwm: Indicates the timer can generate a PWM output.
|
||||
- ti,timer-secure: Indicates the timer is reserved on a secure OMAP device
|
||||
and therefore cannot be used by the kernel.
|
||||
|
||||
Example:
|
||||
|
||||
timer12: timer@48304000 {
|
||||
compatible = "ti,omap3430-timer";
|
||||
reg = <0x48304000 0x400>;
|
||||
interrupts = <95>;
|
||||
ti,hwmods = "timer12"
|
||||
ti,timer-alwon;
|
||||
ti,timer-secure;
|
||||
};
|
||||
15
bindings/timer/via,vt8500-timer.txt
Normal file
15
bindings/timer/via,vt8500-timer.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
VIA/Wondermedia VT8500 Timer
|
||||
-----------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : "via,vt8500-timer"
|
||||
- reg : Should contain 1 register ranges(address and length)
|
||||
- interrupts : interrupt for the timer
|
||||
|
||||
Example:
|
||||
|
||||
timer@d8130100 {
|
||||
compatible = "via,vt8500-timer";
|
||||
reg = <0xd8130100 0x28>;
|
||||
interrupts = <36>;
|
||||
};
|
||||
Reference in New Issue
Block a user