xref: /linux/Documentation/devicetree/bindings/rtc/ti,omap-rtc.yaml (revision 49bda4826843be0ef97a162009a29ea3a63f3935)
1*315d11a8SBhargav Joshi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*315d11a8SBhargav Joshi%YAML 1.2
3*315d11a8SBhargav Joshi---
4*315d11a8SBhargav Joshi$id: http://devicetree.org/schemas/rtc/ti,omap-rtc.yaml#
5*315d11a8SBhargav Joshi$schema: http://devicetree.org/meta-schemas/core.yaml#
6*315d11a8SBhargav Joshi
7*315d11a8SBhargav Joshititle: Texas Instruments OMAP Real Time Clock
8*315d11a8SBhargav Joshi
9*315d11a8SBhargav Joshimaintainers:
10*315d11a8SBhargav Joshi  - Keerthy <j-keerthy@ti.com>
11*315d11a8SBhargav Joshi  - Afzal Mohammed <afzal@ti.com>
12*315d11a8SBhargav Joshi
13*315d11a8SBhargav Joshidescription:
14*315d11a8SBhargav Joshi  The OMAP RTC is a year/month/day/hours/minutes/seconds BCD clock with
15*315d11a8SBhargav Joshi  century-range alarm matching, driven by the 32kHz clock.
16*315d11a8SBhargav Joshi
17*315d11a8SBhargav Joshiproperties:
18*315d11a8SBhargav Joshi  compatible:
19*315d11a8SBhargav Joshi    oneOf:
20*315d11a8SBhargav Joshi      - const: ti,da830-rtc
21*315d11a8SBhargav Joshi      - items:
22*315d11a8SBhargav Joshi          - const: ti,am3352-rtc
23*315d11a8SBhargav Joshi          - const: ti,da830-rtc
24*315d11a8SBhargav Joshi      - items:
25*315d11a8SBhargav Joshi          - const: ti,am4372-rtc
26*315d11a8SBhargav Joshi          - const: ti,am3352-rtc
27*315d11a8SBhargav Joshi          - const: ti,da830-rtc
28*315d11a8SBhargav Joshi
29*315d11a8SBhargav Joshi  reg:
30*315d11a8SBhargav Joshi    maxItems: 1
31*315d11a8SBhargav Joshi
32*315d11a8SBhargav Joshi  interrupts:
33*315d11a8SBhargav Joshi    minItems: 2
34*315d11a8SBhargav Joshi    maxItems: 2
35*315d11a8SBhargav Joshi
36*315d11a8SBhargav Joshi  system-power-controller:
37*315d11a8SBhargav Joshi    type: boolean
38*315d11a8SBhargav Joshi    description:
39*315d11a8SBhargav Joshi      Indicates that this RTC controls system power via the pmic_power_en pin.
40*315d11a8SBhargav Joshi
41*315d11a8SBhargav Joshi  clocks:
42*315d11a8SBhargav Joshi    minItems: 1
43*315d11a8SBhargav Joshi    maxItems: 2
44*315d11a8SBhargav Joshi
45*315d11a8SBhargav Joshi  clock-names:
46*315d11a8SBhargav Joshi    minItems: 1
47*315d11a8SBhargav Joshi    items:
48*315d11a8SBhargav Joshi      - enum: [ext-clk, int-clk]
49*315d11a8SBhargav Joshi      - const: int-clk
50*315d11a8SBhargav Joshi
51*315d11a8SBhargav Joshi  pinctrl-0:
52*315d11a8SBhargav Joshi    description:
53*315d11a8SBhargav Joshi      Phandle to pin configuration for the external wakeup pins.
54*315d11a8SBhargav Joshi
55*315d11a8SBhargav Joshi  pinctrl-names:
56*315d11a8SBhargav Joshi    minItems: 1
57*315d11a8SBhargav Joshi
58*315d11a8SBhargav Joshi  ti,hwmods:
59*315d11a8SBhargav Joshi    $ref: /schemas/types.yaml#/definitions/string
60*315d11a8SBhargav Joshi    description:
61*315d11a8SBhargav Joshi      Name of the hwmod associated with the RTC.
62*315d11a8SBhargav Joshi    const: rtc
63*315d11a8SBhargav Joshi    deprecated: true
64*315d11a8SBhargav Joshi
65*315d11a8SBhargav JoshipatternProperties:
66*315d11a8SBhargav Joshi  "^ext-wakeup(-[0-9]+)?$":
67*315d11a8SBhargav Joshi    type: object
68*315d11a8SBhargav Joshi
69*315d11a8SBhargav Joshi    description:
70*315d11a8SBhargav Joshi      Child node describing external wakeup pin configuration.
71*315d11a8SBhargav Joshi
72*315d11a8SBhargav Joshi    properties:
73*315d11a8SBhargav Joshi      pins:
74*315d11a8SBhargav Joshi        pattern: '^ext_wakeup[0-3]$'
75*315d11a8SBhargav Joshi
76*315d11a8SBhargav Joshi      input-enable:
77*315d11a8SBhargav Joshi        type: boolean
78*315d11a8SBhargav Joshi        description:
79*315d11a8SBhargav Joshi          Enables the external wakeup input on the selected pin.
80*315d11a8SBhargav Joshi
81*315d11a8SBhargav Joshi      ti,active-high:
82*315d11a8SBhargav Joshi        type: boolean
83*315d11a8SBhargav Joshi        description:
84*315d11a8SBhargav Joshi          Sets the wakeup input polarity to active high. By default the
85*315d11a8SBhargav Joshi          input is active low.
86*315d11a8SBhargav Joshi
87*315d11a8SBhargav Joshi    required:
88*315d11a8SBhargav Joshi      - pins
89*315d11a8SBhargav Joshi
90*315d11a8SBhargav Joshi    additionalProperties: false
91*315d11a8SBhargav Joshi
92*315d11a8SBhargav Joshirequired:
93*315d11a8SBhargav Joshi  - compatible
94*315d11a8SBhargav Joshi  - reg
95*315d11a8SBhargav Joshi  - interrupts
96*315d11a8SBhargav Joshi
97*315d11a8SBhargav JoshiallOf:
98*315d11a8SBhargav Joshi  - $ref: rtc.yaml#
99*315d11a8SBhargav Joshi  - if:
100*315d11a8SBhargav Joshi      not:
101*315d11a8SBhargav Joshi        properties:
102*315d11a8SBhargav Joshi          compatible:
103*315d11a8SBhargav Joshi            contains:
104*315d11a8SBhargav Joshi              const: ti,am3352-rtc
105*315d11a8SBhargav Joshi    then:
106*315d11a8SBhargav Joshi      properties:
107*315d11a8SBhargav Joshi        system-power-controller: false
108*315d11a8SBhargav Joshi      patternProperties:
109*315d11a8SBhargav Joshi        "^ext-wakeup(-[0-9]+)?$": false
110*315d11a8SBhargav Joshi
111*315d11a8SBhargav JoshiunevaluatedProperties: false
112*315d11a8SBhargav Joshi
113*315d11a8SBhargav Joshiexamples:
114*315d11a8SBhargav Joshi  - |
115*315d11a8SBhargav Joshi    rtc@23000 {
116*315d11a8SBhargav Joshi        compatible = "ti,da830-rtc";
117*315d11a8SBhargav Joshi        reg = <0x23000 0x1000>;
118*315d11a8SBhargav Joshi        interrupts = <19>, <19>;
119*315d11a8SBhargav Joshi        clocks = <&clk_32768_ck>;
120*315d11a8SBhargav Joshi        clock-names = "int-clk";
121*315d11a8SBhargav Joshi    };
122*315d11a8SBhargav Joshi
123*315d11a8SBhargav Joshi  - |
124*315d11a8SBhargav Joshi    rtc@0 {
125*315d11a8SBhargav Joshi        compatible = "ti,am3352-rtc", "ti,da830-rtc";
126*315d11a8SBhargav Joshi        reg = <0x0 0x1000>;
127*315d11a8SBhargav Joshi        interrupts = <75>, <76>;
128*315d11a8SBhargav Joshi        system-power-controller;
129*315d11a8SBhargav Joshi        clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
130*315d11a8SBhargav Joshi        clock-names = "ext-clk", "int-clk";
131*315d11a8SBhargav Joshi
132*315d11a8SBhargav Joshi        pinctrl-0 = <&ext_wakeup>;
133*315d11a8SBhargav Joshi        pinctrl-names = "default";
134*315d11a8SBhargav Joshi
135*315d11a8SBhargav Joshi        ext-wakeup {
136*315d11a8SBhargav Joshi            pins = "ext_wakeup0";
137*315d11a8SBhargav Joshi            input-enable;
138*315d11a8SBhargav Joshi            ti,active-high;
139*315d11a8SBhargav Joshi        };
140*315d11a8SBhargav Joshi    };
141