Commit b33aaf5c authored by Serge Semin's avatar Serge Semin Committed by Daniel Lezcano
Browse files

dt-bindings: rtc: Convert snps,dw-apb-timer to DT schema



Modern device tree bindings are supposed to be created as YAML-files
in accordance with DT schema. This commit replaces Synopsys DW Timer
legacy bare text binding with YAML file. As before the binding file
states that the corresponding dts node is supposed to be compatible
with generic DW APB Timer indicated by the "snps,dw-apb-timer"
compatible string and to provide a mandatory registers memory range,
one timer interrupt, either reference clock source or a fixed clock
rate value. It may also have an optional APB bus reference clock
phandle specified.

Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-mips@vger.kernel.org
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200521204818.25436-2-Sergey.Semin@baikalelectronics.ru
parent 264418e2
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
* Designware APB timer

Required properties:
- compatible: One of:
 	"snps,dw-apb-timer"
	"snps,dw-apb-timer-sp" <DEPRECATED>
	"snps,dw-apb-timer-osc" <DEPRECATED>
- reg: physical base address of the controller and length of memory mapped
  region.
- interrupts: IRQ line for the timer.
- either clocks+clock-names or clock-frequency properties

Optional properties:
- clocks	: list of clock specifiers, corresponding to entries in
		  the clock-names property;
- clock-names	: should contain "timer" and "pclk" entries, matching entries
		  in the clocks property.
- clock-frequency: The frequency in HZ of the timer.
- clock-freq: For backwards compatibility with picoxcell

If using the clock specifiers, the pclk clock is optional, as not all
systems may use one.


Example:
	timer@ffe00000 {
		compatible = "snps,dw-apb-timer";
		interrupts = <0 170 4>;
		reg = <0xffe00000 0x1000>;
		clocks = <&timer_clk>, <&timer_pclk>;
		clock-names = "timer", "pclk";
	};
+88 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc/snps,dw-apb-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Synopsys DesignWare APB Timer

maintainers:
  - Daniel Lezcano <daniel.lezcano@linaro.org>

properties:
  compatible:
    oneOf:
      - const: snps,dw-apb-timer
      - enum:
          - snps,dw-apb-timer-sp
          - snps,dw-apb-timer-osc
        deprecated: true

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    items:
       - description: Timer ticks reference clock source
       - description: APB interface clock source

  clock-names:
    minItems: 1
    items:
      - const: timer
      - const: pclk

  clock-frequency: true

  clock-freq:
    $ref: "/schemas/types.yaml#/definitions/uint32"
    description: |
      Has the same meaning as the 'clock-frequency' property - timer clock
      frequency in HZ, but is defined only for the backwards compatibility
      with the picoxcell platform.

unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts

oneOf:
  - required:
      - clocks
      - clock-names
  - required:
      - clock-frequency
  - required:
      - clock-freq

examples:
  - |
    timer@ffe00000 {
      compatible = "snps,dw-apb-timer";
      interrupts = <0 170 4>;
      reg = <0xffe00000 0x1000>;
      clocks = <&timer_clk>, <&timer_pclk>;
      clock-names = "timer", "pclk";
    };
  - |
    timer@ffe00000 {
      compatible = "snps,dw-apb-timer";
      interrupts = <0 170 4>;
      reg = <0xffe00000 0x1000>;
      clocks = <&timer_clk>;
      clock-names = "timer";
    };
  - |
    timer@ffe00000 {
      compatible = "snps,dw-apb-timer";
      interrupts = <0 170 4>;
      reg = <0xffe00000 0x1000>;
      clock-frequency = <25000000>;
    };
...