Commit 81bedcc7 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Rob Herring
Browse files

dt-bindings: rtc: s3c: Convert S3C/Exynos RTC bindings to json-schema



Convert Samsung S3C/Exynos Real Time Clock bindings to DT schema format
using json-schema.

Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent daa629cd
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
* Samsung's S3C Real Time Clock controller

Required properties:
- compatible: should be one of the following.
    * "samsung,s3c2410-rtc" - for controllers compatible with s3c2410 rtc.
    * "samsung,s3c2416-rtc" - for controllers compatible with s3c2416 rtc.
    * "samsung,s3c2443-rtc" - for controllers compatible with s3c2443 rtc.
    * "samsung,s3c6410-rtc" - for controllers compatible with s3c6410 rtc.
    * "samsung,exynos3250-rtc" - (deprecated) for controllers compatible with
                                 exynos3250 rtc (use "samsung,s3c6410-rtc").
- reg: physical base address of the controller and length of memory mapped
  region.
- interrupts: Two interrupt numbers to the cpu should be specified. First
  interrupt number is the rtc alarm interrupt and second interrupt number
  is the rtc tick interrupt. The number of cells representing a interrupt
  depends on the parent interrupt controller.
- clocks: Must contain a list of phandle and clock specifier for the rtc
          clock and in the case of a s3c6410 compatible controller, also
          a source clock.
- clock-names: Must contain "rtc" and for a s3c6410 compatible controller,
               a "rtc_src" sorted in the same order as the clocks property.

Example:

	rtc@10070000 {
		compatible = "samsung,s3c6410-rtc";
		reg = <0x10070000 0x100>;
		interrupts = <44 0 45 0>;
		clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
		clock-names = "rtc", "rtc_src";
	};
+85 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc/s3c-rtc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S3C, S5P and Exynos Real Time Clock controller

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

properties:
  compatible:
    oneOf:
      - enum:
          - samsung,s3c2410-rtc
          - samsung,s3c2416-rtc
          - samsung,s3c2443-rtc
          - samsung,s3c6410-rtc
      - const: samsung,exynos3250-rtc
        deprecated: true

  reg:
    maxItems: 1

  clocks:
    description:
      Must contain a list of phandle and clock specifier for the rtc
      clock and in the case of a s3c6410 compatible controller, also
      a source clock.
    minItems: 1
    maxItems: 2

  clock-names:
    description:
      Must contain "rtc" and for a s3c6410 compatible controller
      also "rtc_src".
    minItems: 1
    maxItems: 2

  interrupts:
    description:
      Two interrupt numbers to the cpu should be specified. First
      interrupt number is the rtc alarm interrupt and second interrupt number
      is the rtc tick interrupt. The number of cells representing a interrupt
      depends on the parent interrupt controller.
    minItems: 2
    maxItems: 2

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,s3c6410-rtc
              - samsung,exynos3250-rtc
    then:
      properties:
        clocks:
          minItems: 2
          maxItems: 2
        clock-names:
          items:
            - const: rtc
            - const: rtc_src
    else:
      properties:
        clocks:
          minItems: 1
          maxItems: 1
        clock-names:
          items:
            - const: rtc

examples:
  - |
    rtc@10070000 {
      compatible = "samsung,s3c6410-rtc";
      reg = <0x10070000 0x100>;
      interrupts = <0 44 4>, <0 45 4>;
      clocks = <&clock 0>, // CLK_RTC
               <&s2mps11_osc 0>; // S2MPS11_CLK_AP
      clock-names = "rtc", "rtc_src";
    };