1*ae4705e1SIvaylo Ivanov# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*ae4705e1SIvaylo Ivanov%YAML 1.2 3*ae4705e1SIvaylo Ivanov--- 4*ae4705e1SIvaylo Ivanov$id: http://devicetree.org/schemas/timer/actions,owl-timer.yaml# 5*ae4705e1SIvaylo Ivanov$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae4705e1SIvaylo Ivanov 7*ae4705e1SIvaylo Ivanovtitle: Actions Semi Owl timer 8*ae4705e1SIvaylo Ivanov 9*ae4705e1SIvaylo Ivanovmaintainers: 10*ae4705e1SIvaylo Ivanov - Andreas Färber <afaerber@suse.de> 11*ae4705e1SIvaylo Ivanov 12*ae4705e1SIvaylo Ivanovdescription: 13*ae4705e1SIvaylo Ivanov Actions Semi Owl SoCs provide 32bit and 2Hz timers. 14*ae4705e1SIvaylo Ivanov The 32bit timers support dynamic irq, as well as one-shot mode. 15*ae4705e1SIvaylo Ivanov 16*ae4705e1SIvaylo Ivanovproperties: 17*ae4705e1SIvaylo Ivanov compatible: 18*ae4705e1SIvaylo Ivanov enum: 19*ae4705e1SIvaylo Ivanov - actions,s500-timer 20*ae4705e1SIvaylo Ivanov - actions,s700-timer 21*ae4705e1SIvaylo Ivanov - actions,s900-timer 22*ae4705e1SIvaylo Ivanov 23*ae4705e1SIvaylo Ivanov clocks: 24*ae4705e1SIvaylo Ivanov maxItems: 1 25*ae4705e1SIvaylo Ivanov 26*ae4705e1SIvaylo Ivanov interrupts: 27*ae4705e1SIvaylo Ivanov minItems: 1 28*ae4705e1SIvaylo Ivanov maxItems: 6 29*ae4705e1SIvaylo Ivanov 30*ae4705e1SIvaylo Ivanov interrupt-names: 31*ae4705e1SIvaylo Ivanov minItems: 1 32*ae4705e1SIvaylo Ivanov maxItems: 6 33*ae4705e1SIvaylo Ivanov items: 34*ae4705e1SIvaylo Ivanov enum: 35*ae4705e1SIvaylo Ivanov - 2hz0 36*ae4705e1SIvaylo Ivanov - 2hz1 37*ae4705e1SIvaylo Ivanov - timer0 38*ae4705e1SIvaylo Ivanov - timer1 39*ae4705e1SIvaylo Ivanov - timer2 40*ae4705e1SIvaylo Ivanov - timer3 41*ae4705e1SIvaylo Ivanov 42*ae4705e1SIvaylo Ivanov reg: 43*ae4705e1SIvaylo Ivanov maxItems: 1 44*ae4705e1SIvaylo Ivanov 45*ae4705e1SIvaylo Ivanovrequired: 46*ae4705e1SIvaylo Ivanov - compatible 47*ae4705e1SIvaylo Ivanov - clocks 48*ae4705e1SIvaylo Ivanov - interrupts 49*ae4705e1SIvaylo Ivanov - interrupt-names 50*ae4705e1SIvaylo Ivanov - reg 51*ae4705e1SIvaylo Ivanov 52*ae4705e1SIvaylo IvanovallOf: 53*ae4705e1SIvaylo Ivanov - if: 54*ae4705e1SIvaylo Ivanov properties: 55*ae4705e1SIvaylo Ivanov compatible: 56*ae4705e1SIvaylo Ivanov contains: 57*ae4705e1SIvaylo Ivanov enum: 58*ae4705e1SIvaylo Ivanov - actions,s500-timer 59*ae4705e1SIvaylo Ivanov then: 60*ae4705e1SIvaylo Ivanov properties: 61*ae4705e1SIvaylo Ivanov interrupts: 62*ae4705e1SIvaylo Ivanov minItems: 4 63*ae4705e1SIvaylo Ivanov maxItems: 4 64*ae4705e1SIvaylo Ivanov interrupt-names: 65*ae4705e1SIvaylo Ivanov items: 66*ae4705e1SIvaylo Ivanov - const: 2hz0 67*ae4705e1SIvaylo Ivanov - const: 2hz1 68*ae4705e1SIvaylo Ivanov - const: timer0 69*ae4705e1SIvaylo Ivanov - const: timer1 70*ae4705e1SIvaylo Ivanov 71*ae4705e1SIvaylo Ivanov - if: 72*ae4705e1SIvaylo Ivanov properties: 73*ae4705e1SIvaylo Ivanov compatible: 74*ae4705e1SIvaylo Ivanov contains: 75*ae4705e1SIvaylo Ivanov enum: 76*ae4705e1SIvaylo Ivanov - actions,s700-timer 77*ae4705e1SIvaylo Ivanov - actions,s900-timer 78*ae4705e1SIvaylo Ivanov then: 79*ae4705e1SIvaylo Ivanov properties: 80*ae4705e1SIvaylo Ivanov interrupts: 81*ae4705e1SIvaylo Ivanov minItems: 1 82*ae4705e1SIvaylo Ivanov maxItems: 1 83*ae4705e1SIvaylo Ivanov interrupt-names: 84*ae4705e1SIvaylo Ivanov items: 85*ae4705e1SIvaylo Ivanov - const: timer1 86*ae4705e1SIvaylo Ivanov 87*ae4705e1SIvaylo IvanovadditionalProperties: false 88*ae4705e1SIvaylo Ivanov 89*ae4705e1SIvaylo Ivanovexamples: 90*ae4705e1SIvaylo Ivanov - | 91*ae4705e1SIvaylo Ivanov #include <dt-bindings/interrupt-controller/arm-gic.h> 92*ae4705e1SIvaylo Ivanov #include <dt-bindings/interrupt-controller/irq.h> 93*ae4705e1SIvaylo Ivanov soc { 94*ae4705e1SIvaylo Ivanov #address-cells = <1>; 95*ae4705e1SIvaylo Ivanov #size-cells = <1>; 96*ae4705e1SIvaylo Ivanov timer@b0168000 { 97*ae4705e1SIvaylo Ivanov compatible = "actions,s500-timer"; 98*ae4705e1SIvaylo Ivanov reg = <0xb0168000 0x100>; 99*ae4705e1SIvaylo Ivanov clocks = <&hosc>; 100*ae4705e1SIvaylo Ivanov interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 101*ae4705e1SIvaylo Ivanov <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 102*ae4705e1SIvaylo Ivanov <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 103*ae4705e1SIvaylo Ivanov <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 104*ae4705e1SIvaylo Ivanov interrupt-names = "2hz0", "2hz1", "timer0", "timer1"; 105*ae4705e1SIvaylo Ivanov }; 106*ae4705e1SIvaylo Ivanov }; 107*ae4705e1SIvaylo Ivanov... 108