xref: /freebsd/sys/contrib/device-tree/Bindings/rtc/ingenic,rtc.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/rtc/ingenic,rtc.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Ingenic SoCs Real-Time Clock
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Paul Cercueil <paul@crapouillou.net>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel VadotallOf:
13c66ec88fSEmmanuel Vadot  - $ref: rtc.yaml#
14*cb7aa33aSEmmanuel Vadot  - if:
15*cb7aa33aSEmmanuel Vadot      not:
16*cb7aa33aSEmmanuel Vadot        properties:
17*cb7aa33aSEmmanuel Vadot          compatible:
18*cb7aa33aSEmmanuel Vadot            contains:
19*cb7aa33aSEmmanuel Vadot              enum:
20*cb7aa33aSEmmanuel Vadot                - ingenic,jz4770-rtc
21*cb7aa33aSEmmanuel Vadot                - ingenic,jz4780-rtc
22*cb7aa33aSEmmanuel Vadot    then:
23*cb7aa33aSEmmanuel Vadot      properties:
24*cb7aa33aSEmmanuel Vadot        "#clock-cells": false
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadotproperties:
27c66ec88fSEmmanuel Vadot  compatible:
28c66ec88fSEmmanuel Vadot    oneOf:
29c66ec88fSEmmanuel Vadot      - enum:
30c66ec88fSEmmanuel Vadot          - ingenic,jz4740-rtc
31c66ec88fSEmmanuel Vadot          - ingenic,jz4760-rtc
32c66ec88fSEmmanuel Vadot      - items:
33c66ec88fSEmmanuel Vadot          - const: ingenic,jz4725b-rtc
34c66ec88fSEmmanuel Vadot          - const: ingenic,jz4740-rtc
35c66ec88fSEmmanuel Vadot      - items:
36c66ec88fSEmmanuel Vadot          - enum:
37c66ec88fSEmmanuel Vadot              - ingenic,jz4770-rtc
38c66ec88fSEmmanuel Vadot              - ingenic,jz4780-rtc
39c66ec88fSEmmanuel Vadot          - const: ingenic,jz4760-rtc
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  reg:
42c66ec88fSEmmanuel Vadot    maxItems: 1
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  interrupts:
45c66ec88fSEmmanuel Vadot    maxItems: 1
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  clocks:
48c66ec88fSEmmanuel Vadot    maxItems: 1
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  clock-names:
51c66ec88fSEmmanuel Vadot    const: rtc
52c66ec88fSEmmanuel Vadot
53*cb7aa33aSEmmanuel Vadot  "#clock-cells":
54*cb7aa33aSEmmanuel Vadot    const: 0
55*cb7aa33aSEmmanuel Vadot
56c66ec88fSEmmanuel Vadot  system-power-controller:
57c66ec88fSEmmanuel Vadot    description: |
58c66ec88fSEmmanuel Vadot      Indicates that the RTC is responsible for powering OFF
59c66ec88fSEmmanuel Vadot      the system.
60c66ec88fSEmmanuel Vadot    type: boolean
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot  ingenic,reset-pin-assert-time-ms:
63c66ec88fSEmmanuel Vadot    minimum: 0
64c66ec88fSEmmanuel Vadot    maximum: 125
65c66ec88fSEmmanuel Vadot    default: 60
66c66ec88fSEmmanuel Vadot    description: |
67c66ec88fSEmmanuel Vadot      Reset pin low-level assertion time after wakeup
68c66ec88fSEmmanuel Vadot      (assuming RTC clock at 32 kHz)
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadot  ingenic,min-wakeup-pin-assert-time-ms:
71c66ec88fSEmmanuel Vadot    minimum: 0
72c66ec88fSEmmanuel Vadot    maximum: 2000
73c66ec88fSEmmanuel Vadot    default: 100
74c66ec88fSEmmanuel Vadot    description: |
75c66ec88fSEmmanuel Vadot      Minimum wakeup pin assertion time
76c66ec88fSEmmanuel Vadot      (assuming RTC clock at 32 kHz)
77c66ec88fSEmmanuel Vadot
78c66ec88fSEmmanuel Vadotrequired:
79c66ec88fSEmmanuel Vadot  - compatible
80c66ec88fSEmmanuel Vadot  - reg
81c66ec88fSEmmanuel Vadot  - interrupts
82c66ec88fSEmmanuel Vadot  - clocks
83c66ec88fSEmmanuel Vadot  - clock-names
84c66ec88fSEmmanuel Vadot
856be33864SEmmanuel VadotunevaluatedProperties: false
866be33864SEmmanuel Vadot
87c66ec88fSEmmanuel Vadotexamples:
88c66ec88fSEmmanuel Vadot  - |
898cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
90c66ec88fSEmmanuel Vadot    rtc_dev: rtc@10003000 {
91c66ec88fSEmmanuel Vadot      compatible = "ingenic,jz4740-rtc";
92c66ec88fSEmmanuel Vadot      reg = <0x10003000 0x40>;
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot      interrupt-parent = <&intc>;
95c66ec88fSEmmanuel Vadot      interrupts = <15>;
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot      clocks = <&cgu JZ4740_CLK_RTC>;
98c66ec88fSEmmanuel Vadot      clock-names = "rtc";
99c66ec88fSEmmanuel Vadot    };
100*cb7aa33aSEmmanuel Vadot
101*cb7aa33aSEmmanuel Vadot  - |
102*cb7aa33aSEmmanuel Vadot    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
103*cb7aa33aSEmmanuel Vadot    rtc: rtc@10003000 {
104*cb7aa33aSEmmanuel Vadot      compatible = "ingenic,jz4780-rtc", "ingenic,jz4760-rtc";
105*cb7aa33aSEmmanuel Vadot      reg = <0x10003000 0x4c>;
106*cb7aa33aSEmmanuel Vadot
107*cb7aa33aSEmmanuel Vadot      interrupt-parent = <&intc>;
108*cb7aa33aSEmmanuel Vadot      interrupts = <32>;
109*cb7aa33aSEmmanuel Vadot
110*cb7aa33aSEmmanuel Vadot      clocks = <&cgu JZ4780_CLK_RTCLK>;
111*cb7aa33aSEmmanuel Vadot      clock-names = "rtc";
112*cb7aa33aSEmmanuel Vadot
113*cb7aa33aSEmmanuel Vadot      #clock-cells = <0>;
114*cb7aa33aSEmmanuel Vadot    };
115