~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/timer/nvidia,tegra-timer.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/timer/nvidia,tegra-timer.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: NVIDIA Tegra timer
  8 
  9 maintainers:
 10   - Stephen Warren <swarren@nvidia.com>
 11 
 12 allOf:
 13   - if:
 14       properties:
 15         compatible:
 16           contains:
 17             const: nvidia,tegra210-timer
 18     then:
 19       properties:
 20         interrupts:
 21           # Either a single combined interrupt or up to 14 individual interrupts
 22           minItems: 1
 23           maxItems: 14
 24           description: >
 25             A list of 14 interrupts; one per each timer channels 0 through 13
 26 
 27   - if:
 28       properties:
 29         compatible:
 30           oneOf:
 31             - items:
 32                 - enum:
 33                     - nvidia,tegra114-timer
 34                     - nvidia,tegra124-timer
 35                     - nvidia,tegra132-timer
 36                 - const: nvidia,tegra30-timer
 37             - items:
 38                 - const: nvidia,tegra30-timer
 39                 - const: nvidia,tegra20-timer
 40     then:
 41       properties:
 42         interrupts:
 43           # Either a single combined interrupt or up to 6 individual interrupts
 44           minItems: 1
 45           maxItems: 6
 46           description: >
 47             A list of 6 interrupts; one per each of timer channels 1 through 5,
 48             and one for the shared interrupt for the remaining channels.
 49 
 50   - if:
 51       properties:
 52         compatible:
 53           const: nvidia,tegra20-timer
 54     then:
 55       properties:
 56         interrupts:
 57           # Either a single combined interrupt or up to 4 individual interrupts
 58           minItems: 1
 59           maxItems: 4
 60           description: |
 61             A list of 4 interrupts; one per timer channel.
 62 
 63 properties:
 64   compatible:
 65     oneOf:
 66       - const: nvidia,tegra210-timer
 67         description: >
 68           The Tegra210 timer provides fourteen 29-bit timer counters and one 32-bit
 69           timestamp counter. The TMRs run at either a fixed 1 MHz clock rate derived
 70           from the oscillator clock (TMR0-TMR9) or directly at the oscillator clock
 71           (TMR10-TMR13). Each TMR can be programmed to generate one-shot, periodic,
 72           or watchdog interrupts.
 73       - items:
 74           - enum:
 75               - nvidia,tegra114-timer
 76               - nvidia,tegra124-timer
 77               - nvidia,tegra132-timer
 78           - const: nvidia,tegra30-timer
 79       - items:
 80           - const: nvidia,tegra30-timer
 81           - const: nvidia,tegra20-timer
 82         description: >
 83           The Tegra30 timer provides ten 29-bit timer channels, a single 32-bit free
 84           running counter, and 5 watchdog modules. The first two channels may also
 85           trigger a legacy watchdog reset.
 86       - const: nvidia,tegra20-timer
 87         description: >
 88           The Tegra20 timer provides four 29-bit timer channels and a single 32-bit free
 89           running counter. The first two channels may also trigger a watchdog reset.
 90 
 91   reg:
 92     maxItems: 1
 93 
 94   interrupts: true
 95 
 96   clocks:
 97     maxItems: 1
 98 
 99   clock-names:
100     items:
101       - const: timer
102 
103 
104 required:
105   - compatible
106   - reg
107   - interrupts
108   - clocks
109 
110 additionalProperties: false
111 
112 examples:
113   - |
114     #include <dt-bindings/interrupt-controller/irq.h>
115     timer@60005000 {
116         compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
117         reg = <0x60005000 0x400>;
118         interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
119                      <0 1 IRQ_TYPE_LEVEL_HIGH>,
120                      <0 41 IRQ_TYPE_LEVEL_HIGH>,
121                      <0 42 IRQ_TYPE_LEVEL_HIGH>,
122                      <0 121 IRQ_TYPE_LEVEL_HIGH>,
123                      <0 122 IRQ_TYPE_LEVEL_HIGH>;
124         clocks = <&tegra_car 214>;
125     };
126   - |
127     #include <dt-bindings/clock/tegra210-car.h>
128     #include <dt-bindings/interrupt-controller/arm-gic.h>
129     #include <dt-bindings/interrupt-controller/irq.h>
130 
131     timer@60005000 {
132         compatible = "nvidia,tegra210-timer";
133         reg = <0x60005000 0x400>;
134         interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
135                      <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
136                      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
137                      <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
138                      <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
139                      <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
140                      <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
141                      <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
142                      <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
143                      <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
144                      <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
145                      <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
146                      <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
147                      <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
148         clocks = <&tegra_car TEGRA210_CLK_TIMER>;
149         clock-names = "timer";
150     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php