# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/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.

additionalProperties: 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>;
    };
...
