The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/timer/nvidia,tegra-timer.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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     };

Cache object: c0d64f1e2d010846ce86025e884ca624


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.