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/arm,sp804.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
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/timer/arm,sp804.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: ARM sp804 Dual Timers
    8 
    9 maintainers:
   10   - Haojian Zhuang <haojian.zhuang@linaro.org>
   11 
   12 description: |+
   13   The Arm SP804 IP implements two independent timers, configurable for
   14   16 or 32 bit operation and capable of running in one-shot, periodic, or
   15   free-running mode. The input clock is shared, but can be gated and prescaled
   16   independently for each timer.
   17 
   18   There is a viriant of Arm SP804: Hisilicon 64-bit SP804 timer. Some Hisilicon
   19   SoCs, such as Hi1212, should use the dedicated compatible: "hisilicon,sp804".
   20 
   21 # Need a custom select here or 'arm,primecell' will match on lots of nodes
   22 select:
   23   properties:
   24     compatible:
   25       contains:
   26         enum:
   27           - arm,sp804
   28           - hisilicon,sp804
   29   required:
   30     - compatible
   31 
   32 properties:
   33   compatible:
   34     items:
   35       - enum:
   36           - arm,sp804
   37           - hisilicon,sp804
   38       - const: arm,primecell
   39 
   40   interrupts:
   41     description: |
   42       If two interrupts are listed, those are the interrupts for timer
   43       1 and 2, respectively. If there is only a single interrupt, it is
   44       either a combined interrupt or the sole interrupt of one timer, as
   45       specified by the "arm,sp804-has-irq" property.
   46     minItems: 1
   47     maxItems: 2
   48 
   49   reg:
   50     description: The physical base address of the SP804 IP.
   51     maxItems: 1
   52 
   53   clocks:
   54     description: |
   55       Clocks driving the dual timer hardware. This list should
   56       be 1 or 3 clocks. With 3 clocks, the order is timer0 clock, timer1
   57       clock, apb_pclk. A single clock can also be specified if the same
   58       clock is used for all clock inputs.
   59     oneOf:
   60       - items:
   61           - description: clock for timer 1
   62           - description: clock for timer 2
   63           - description: bus clock
   64       - items:
   65           - description: unified clock for both timers and the bus
   66 
   67   clock-names: true
   68     # The original binding did not specify any clock names, and there is no
   69     # consistent naming used in the existing DTs. The primecell binding
   70     # requires the "apb_pclk" name, so we need this property.
   71     # Use "timer0clk", "timer1clk", "apb_pclk" for new DTs.
   72 
   73   arm,sp804-has-irq:
   74     description: If only one interrupt line is connected to the interrupt
   75       controller, this property specifies which timer is connected to this
   76       line.
   77     $ref: /schemas/types.yaml#/definitions/uint32
   78     minimum: 1
   79     maximum: 2
   80 
   81 required:
   82   - compatible
   83   - interrupts
   84   - reg
   85   - clocks
   86 
   87 additionalProperties: false
   88 
   89 examples:
   90   - |
   91     timer0: timer@fc800000 {
   92         compatible = "arm,sp804", "arm,primecell";
   93         reg = <0xfc800000 0x1000>;
   94         interrupts = <0 0 4>, <0 1 4>;
   95         clocks = <&timclk1>, <&timclk2>, <&pclk>;
   96         clock-names = "timer1", "timer2", "apb_pclk";
   97     };

Cache object: 9362cf6ddfbd22c9c98370a793262747


[ 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.