Commit 8487614a authored by Samuel Holland's avatar Samuel Holland Committed by Alexandre Belloni
Browse files

dt-bindings: rtc: sun6i: Add H616, R329, and D1 support



These new RTC variants all have a single alarm, like the R40 variant.

For the new SoCs, start requiring a complete list of input clocks. The
H616 has three required clocks. The R329 also has three required clocks
(but one is different), plus an optional crystal oscillator input. The
D1 RTC is identical to the one in the R329.

And since these new SoCs will have a well-defined output clock order as
well, they do not need the clock-output-names property.

Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarMaxime Ripard <maxime@cerno.tech>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20220203021736.13434-3-samuel@sholland.org
parent f720002d
Loading
Loading
Loading
Loading
+73 −3
Original line number Diff line number Diff line
@@ -24,9 +24,14 @@ properties:
          - allwinner,sun8i-v3-rtc
          - allwinner,sun50i-h5-rtc
          - allwinner,sun50i-h6-rtc
          - allwinner,sun50i-h616-rtc
          - allwinner,sun50i-r329-rtc
      - items:
          - const: allwinner,sun50i-a64-rtc
          - const: allwinner,sun8i-h3-rtc
      - items:
          - const: allwinner,sun20i-d1-rtc
          - const: allwinner,sun50i-r329-rtc

  reg:
    maxItems: 1
@@ -38,7 +43,12 @@ properties:
      - description: RTC Alarm 1

  clocks:
    maxItems: 1
    minItems: 1
    maxItems: 4

  clock-names:
    minItems: 1
    maxItems: 4

  clock-output-names:
    minItems: 1
@@ -98,7 +108,68 @@ allOf:
      properties:
        compatible:
          contains:
            const: allwinner,sun8i-r40-rtc
            const: allwinner,sun50i-h616-rtc

    then:
      properties:
        clocks:
          minItems: 3
          maxItems: 3
          items:
            - description: Bus clock for register access
            - description: 24 MHz oscillator
            - description: 32 kHz clock from the CCU

        clock-names:
          minItems: 3
          maxItems: 3
          items:
            - const: bus
            - const: hosc
            - const: pll-32k

      required:
        - clocks
        - clock-names

  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun50i-r329-rtc

    then:
      properties:
        clocks:
          minItems: 3
          maxItems: 4
          items:
            - description: Bus clock for register access
            - description: 24 MHz oscillator
            - description: AHB parent for internal SPI clock
            - description: External 32768 Hz oscillator

        clock-names:
          minItems: 3
          maxItems: 4
          items:
            - const: bus
            - const: hosc
            - const: ahb
            - const: ext-osc32k

      required:
        - clocks
        - clock-names

  - if:
      properties:
        compatible:
          contains:
            enum:
              - allwinner,sun8i-r40-rtc
              - allwinner,sun50i-h616-rtc
              - allwinner,sun50i-r329-rtc

    then:
      properties:
@@ -117,7 +188,6 @@ required:
  - compatible
  - reg
  - interrupts
  - clock-output-names

additionalProperties: false

+10 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: (GPL-2.0+ or MIT) */

#ifndef _DT_BINDINGS_CLK_SUN6I_RTC_H_
#define _DT_BINDINGS_CLK_SUN6I_RTC_H_

#define CLK_OSC32K		0
#define CLK_OSC32K_FANOUT	1
#define CLK_IOSC		2

#endif /* _DT_BINDINGS_CLK_SUN6I_RTC_H_ */