1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/nvidia,tegra186-timer.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: NVIDIA Tegra186 timer 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Thierry Reding <treding@nvidia.com> 11b97ee269SEmmanuel Vadot 12b97ee269SEmmanuel Vadotdescription: > 13b97ee269SEmmanuel Vadot The Tegra timer provides 29-bit timer counters and a 32-bit timestamp 14b97ee269SEmmanuel Vadot counter. Each NV timer selects its timing reference signal from the 1 MHz 15b97ee269SEmmanuel Vadot reference generated by USEC, TSC or either clk_m or OSC. Each TMR can be 16b97ee269SEmmanuel Vadot programmed to generate one-shot, periodic, or watchdog interrupts. 17b97ee269SEmmanuel Vadot 18b97ee269SEmmanuel Vadot 19b97ee269SEmmanuel Vadotproperties: 20b97ee269SEmmanuel Vadot compatible: 21b97ee269SEmmanuel Vadot oneOf: 22b97ee269SEmmanuel Vadot - const: nvidia,tegra186-timer 23b97ee269SEmmanuel Vadot description: > 24b97ee269SEmmanuel Vadot The Tegra186 timer provides ten 29-bit timer counters. 25b97ee269SEmmanuel Vadot - const: nvidia,tegra234-timer 26b97ee269SEmmanuel Vadot description: > 27b97ee269SEmmanuel Vadot The Tegra234 timer provides sixteen 29-bit timer counters. 28b97ee269SEmmanuel Vadot 29b97ee269SEmmanuel Vadot reg: 30b97ee269SEmmanuel Vadot maxItems: 1 31b97ee269SEmmanuel Vadot 32b97ee269SEmmanuel Vadot interrupts: true 33b97ee269SEmmanuel Vadot 34b97ee269SEmmanuel VadotallOf: 35b97ee269SEmmanuel Vadot - if: 36b97ee269SEmmanuel Vadot properties: 37b97ee269SEmmanuel Vadot compatible: 38b97ee269SEmmanuel Vadot contains: 39b97ee269SEmmanuel Vadot const: nvidia,tegra186-timer 40b97ee269SEmmanuel Vadot then: 41b97ee269SEmmanuel Vadot properties: 42b97ee269SEmmanuel Vadot interrupts: 43b97ee269SEmmanuel Vadot maxItems: 10 44b97ee269SEmmanuel Vadot description: > 45b97ee269SEmmanuel Vadot One per each timer channels 0 through 9. 46b97ee269SEmmanuel Vadot 47b97ee269SEmmanuel Vadot - if: 48b97ee269SEmmanuel Vadot properties: 49b97ee269SEmmanuel Vadot compatible: 50b97ee269SEmmanuel Vadot contains: 51b97ee269SEmmanuel Vadot const: nvidia,tegra234-timer 52b97ee269SEmmanuel Vadot then: 53b97ee269SEmmanuel Vadot properties: 54b97ee269SEmmanuel Vadot interrupts: 55b97ee269SEmmanuel Vadot maxItems: 16 56b97ee269SEmmanuel Vadot description: > 57b97ee269SEmmanuel Vadot One per each timer channels 0 through 15. 58b97ee269SEmmanuel Vadot 59b97ee269SEmmanuel Vadotrequired: 60b97ee269SEmmanuel Vadot - compatible 61b97ee269SEmmanuel Vadot - reg 62b97ee269SEmmanuel Vadot - interrupts 63b97ee269SEmmanuel Vadot 64b97ee269SEmmanuel VadotadditionalProperties: false 65b97ee269SEmmanuel Vadot 66b97ee269SEmmanuel Vadotexamples: 67b97ee269SEmmanuel Vadot - | 68b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 69b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 70b97ee269SEmmanuel Vadot 71b97ee269SEmmanuel Vadot timer@3010000 { 72b97ee269SEmmanuel Vadot compatible = "nvidia,tegra186-timer"; 73b97ee269SEmmanuel Vadot reg = <0x03010000 0x000e0000>; 74b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 75b97ee269SEmmanuel Vadot <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 76b97ee269SEmmanuel Vadot <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 77b97ee269SEmmanuel Vadot <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 78b97ee269SEmmanuel Vadot <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 79b97ee269SEmmanuel Vadot <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 80b97ee269SEmmanuel Vadot <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 81b97ee269SEmmanuel Vadot <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 82b97ee269SEmmanuel Vadot <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 83b97ee269SEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 84b97ee269SEmmanuel Vadot }; 85b97ee269SEmmanuel Vadot 86b97ee269SEmmanuel Vadot - | 87b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 88b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 89b97ee269SEmmanuel Vadot 90b97ee269SEmmanuel Vadot timer@2080000 { 91b97ee269SEmmanuel Vadot compatible = "nvidia,tegra234-timer"; 92b97ee269SEmmanuel Vadot reg = <0x02080000 0x00121000>; 93b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 94b97ee269SEmmanuel Vadot <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 95b97ee269SEmmanuel Vadot <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 96b97ee269SEmmanuel Vadot <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 97b97ee269SEmmanuel Vadot <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 98b97ee269SEmmanuel Vadot <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 99b97ee269SEmmanuel Vadot <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 100b97ee269SEmmanuel Vadot <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 101b97ee269SEmmanuel Vadot <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 102b97ee269SEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 103b97ee269SEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 104b97ee269SEmmanuel Vadot <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 105b97ee269SEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 106b97ee269SEmmanuel Vadot <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 107b97ee269SEmmanuel Vadot <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 108b97ee269SEmmanuel Vadot <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 109b97ee269SEmmanuel Vadot }; 110