# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc/rtc-ds1307.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Dallas DS1307 and compatible RTC

maintainers:
  - Alexandre Belloni <alexandre.belloni@bootlin.com>

properties:
  compatible:
    oneOf:
      - enum:
          - dallas,ds1307
          - dallas,ds1308
          - dallas,ds1337
          - dallas,ds1338
          - dallas,ds1339
          - dallas,ds1388
          - dallas,ds1340
          - dallas,ds1341
          - maxim,ds3231
          - st,m41t0
          - st,m41t00
          - st,m41t11
          - microchip,mcp7940x
          - microchip,mcp7941x
          - pericom,pt7c4338
          - epson,rx8025
          - isil,isl12057
          - epson,rx8130

      - items:
          - enum:
              - st,m41t00
          - const: dallas,ds1338

  reg:
    maxItems: 1

  interrupts:
    minItems: 1
    maxItems: 2

  interrupt-names:
    maxItems: 2

  "#clock-cells":
    const: 1

  clock-output-names:
    description: From common clock binding to override the default output clock name.

  wakeup-source:
    description: Enables wake up of host system on alarm.

  vcc-supply: true

allOf:
  - $ref: rtc.yaml
  - if:
      properties:
        compatible:
          contains:
            enum:
              - dallas,ds1339
              - dallas,ds1340
              - dallas,ds1388
    then:
      properties:
        trickle-resistor-ohms:
          description: Selected resistor for trickle charger. Should be specified if trickle
            charger should be enabled.
          enum: [ 250, 2000, 4000 ]

        trickle-diode-disable:
          description: Do not use internal trickle charger diode. Should be given if internal
            trickle charger diode should be disabled (superseded by aux-voltage-chargeable)
          deprecated: true

unevaluatedProperties: false

required:
  - compatible
  - reg

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      rtc@68 {
        compatible = "dallas,ds1337";
        reg = <0x68>;
        interrupt-parent = <&gpio4>;
        interrupts = <20 0>;
        trickle-resistor-ohms = <250>;
      };
    };