xref: /linux/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml (revision 70de5572a82b3d510df31d2c572c15cd53a00870)
1*ef0e000cSRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*ef0e000cSRob Herring (Arm)%YAML 1.2
3*ef0e000cSRob Herring (Arm)---
4*ef0e000cSRob Herring (Arm)$id: http://devicetree.org/schemas/timer/faraday,fttmr010.yaml#
5*ef0e000cSRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ef0e000cSRob Herring (Arm)
7*ef0e000cSRob Herring (Arm)title: Faraday FTTMR010 timer
8*ef0e000cSRob Herring (Arm)
9*ef0e000cSRob Herring (Arm)maintainers:
10*ef0e000cSRob Herring (Arm)  - Joel Stanley <joel@jms.id.au>
11*ef0e000cSRob Herring (Arm)  - Linus Walleij <linus.walleij@linaro.org>
12*ef0e000cSRob Herring (Arm)
13*ef0e000cSRob Herring (Arm)description:
14*ef0e000cSRob Herring (Arm)  This timer is a generic IP block from Faraday Technology, embedded in the
15*ef0e000cSRob Herring (Arm)  Cortina Systems Gemini SoCs and other designs.
16*ef0e000cSRob Herring (Arm)
17*ef0e000cSRob Herring (Arm)properties:
18*ef0e000cSRob Herring (Arm)  compatible:
19*ef0e000cSRob Herring (Arm)    oneOf:
20*ef0e000cSRob Herring (Arm)      - items:
21*ef0e000cSRob Herring (Arm)          - const: moxa,moxart-timer
22*ef0e000cSRob Herring (Arm)          - const: faraday,fttmr010
23*ef0e000cSRob Herring (Arm)      - enum:
24*ef0e000cSRob Herring (Arm)          - aspeed,ast2400-timer
25*ef0e000cSRob Herring (Arm)          - aspeed,ast2500-timer
26*ef0e000cSRob Herring (Arm)          - aspeed,ast2600-timer
27*ef0e000cSRob Herring (Arm)          - cortina,gemini-timer
28*ef0e000cSRob Herring (Arm)          - faraday,fttmr010
29*ef0e000cSRob Herring (Arm)
30*ef0e000cSRob Herring (Arm)  reg:
31*ef0e000cSRob Herring (Arm)    maxItems: 1
32*ef0e000cSRob Herring (Arm)
33*ef0e000cSRob Herring (Arm)  interrupts:
34*ef0e000cSRob Herring (Arm)    minItems: 1
35*ef0e000cSRob Herring (Arm)    maxItems: 8
36*ef0e000cSRob Herring (Arm)    description: One interrupt per timer
37*ef0e000cSRob Herring (Arm)
38*ef0e000cSRob Herring (Arm)  clocks:
39*ef0e000cSRob Herring (Arm)    minItems: 1
40*ef0e000cSRob Herring (Arm)    items:
41*ef0e000cSRob Herring (Arm)      - description: Peripheral clock
42*ef0e000cSRob Herring (Arm)      - description: External tick clock
43*ef0e000cSRob Herring (Arm)
44*ef0e000cSRob Herring (Arm)  clock-names:
45*ef0e000cSRob Herring (Arm)    minItems: 1
46*ef0e000cSRob Herring (Arm)    items:
47*ef0e000cSRob Herring (Arm)      - const: PCLK
48*ef0e000cSRob Herring (Arm)      - const: EXTCLK
49*ef0e000cSRob Herring (Arm)
50*ef0e000cSRob Herring (Arm)  resets:
51*ef0e000cSRob Herring (Arm)    maxItems: 1
52*ef0e000cSRob Herring (Arm)
53*ef0e000cSRob Herring (Arm)  syscon:
54*ef0e000cSRob Herring (Arm)    description: System controller phandle for Gemini systems
55*ef0e000cSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/phandle
56*ef0e000cSRob Herring (Arm)
57*ef0e000cSRob Herring (Arm)required:
58*ef0e000cSRob Herring (Arm)  - compatible
59*ef0e000cSRob Herring (Arm)  - reg
60*ef0e000cSRob Herring (Arm)  - interrupts
61*ef0e000cSRob Herring (Arm)
62*ef0e000cSRob Herring (Arm)allOf:
63*ef0e000cSRob Herring (Arm)  - if:
64*ef0e000cSRob Herring (Arm)      properties:
65*ef0e000cSRob Herring (Arm)        compatible:
66*ef0e000cSRob Herring (Arm)          contains:
67*ef0e000cSRob Herring (Arm)            const: cortina,gemini-timer
68*ef0e000cSRob Herring (Arm)    then:
69*ef0e000cSRob Herring (Arm)      required:
70*ef0e000cSRob Herring (Arm)        - syscon
71*ef0e000cSRob Herring (Arm)    else:
72*ef0e000cSRob Herring (Arm)      properties:
73*ef0e000cSRob Herring (Arm)        syscon: false
74*ef0e000cSRob Herring (Arm)
75*ef0e000cSRob Herring (Arm)additionalProperties: false
76*ef0e000cSRob Herring (Arm)
77*ef0e000cSRob Herring (Arm)examples:
78*ef0e000cSRob Herring (Arm)  - |
79*ef0e000cSRob Herring (Arm)    #include <dt-bindings/interrupt-controller/irq.h>
80*ef0e000cSRob Herring (Arm)
81*ef0e000cSRob Herring (Arm)    timer@43000000 {
82*ef0e000cSRob Herring (Arm)        compatible = "faraday,fttmr010";
83*ef0e000cSRob Herring (Arm)        reg = <0x43000000 0x1000>;
84*ef0e000cSRob Herring (Arm)        interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
85*ef0e000cSRob Herring (Arm)                    <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
86*ef0e000cSRob Herring (Arm)                    <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
87*ef0e000cSRob Herring (Arm)        clocks = <&pclk>, <&extclk>;
88*ef0e000cSRob Herring (Arm)        clock-names = "PCLK", "EXTCLK";
89*ef0e000cSRob Herring (Arm)    };
90