# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/ingenic,tcu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ingenic SoCs Timer/Counter Unit (TCU) devicetree bindings

description: |
  For a description of the TCU hardware and drivers, have a look at
  Documentation/mips/ingenic-tcu.rst.

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

select:
  properties:
    compatible:
      contains:
        enum:
          - ingenic,jz4740-tcu
          - ingenic,jz4725b-tcu
          - ingenic,jz4760-tcu
          - ingenic,jz4760b-tcu
          - ingenic,jz4770-tcu
          - ingenic,jz4780-tcu
          - ingenic,x1000-tcu
  required:
    - compatible

properties:
  $nodename:
    pattern: "^timer@[0-9a-f]+$"

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

  "#clock-cells":
    const: 1

  "#interrupt-cells":
    const: 1

  interrupt-controller: true

  ranges: true

  compatible:
    oneOf:
      - items:
          - enum:
              - ingenic,jz4740-tcu
              - ingenic,jz4725b-tcu
              - ingenic,jz4760-tcu
              - ingenic,x1000-tcu
          - const: simple-mfd
      - items:
          - enum:
              - ingenic,jz4780-tcu
              - ingenic,jz4770-tcu
              - ingenic,jz4760b-tcu
          - const: ingenic,jz4760-tcu
          - const: simple-mfd

  reg:
    maxItems: 1

  clocks:
    items:
      - description: RTC clock
      - description: EXT clock
      - description: PCLK clock
      - description: TCU clock
    minItems: 3

  clock-names:
    items:
      - const: rtc
      - const: ext
      - const: pclk
      - const: tcu
    minItems: 3

  interrupts:
    items:
      - description: TCU0 interrupt
      - description: TCU1 interrupt
      - description: TCU2 interrupt
    minItems: 1

  assigned-clocks:
    minItems: 1
    maxItems: 8

  assigned-clock-parents:
    minItems: 1
    maxItems: 8

  assigned-clock-rates:
    minItems: 1
    maxItems: 8

  ingenic,pwm-channels-mask:
    description: Bitmask of TCU channels reserved for PWM use.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0x00
    maximum: 0xff
    default: 0xfc

patternProperties:
  "^watchdog@[a-f0-9]+$":
    type: object
    $ref: ../watchdog/watchdog.yaml#
    properties:
      compatible:
        oneOf:
          - enum:
              - ingenic,jz4740-watchdog
              - ingenic,jz4780-watchdog
          - items:
              - enum:
                  - ingenic,jz4770-watchdog
                  - ingenic,jz4760b-watchdog
                  - ingenic,jz4760-watchdog
                  - ingenic,jz4725b-watchdog
              - const: ingenic,jz4740-watchdog

      reg:
        maxItems: 1

      clocks:
        maxItems: 1

      clock-names:
        const: wdt

    required:
      - compatible
      - reg
      - clocks
      - clock-names

  "^pwm@[a-f0-9]+$":
    type: object
    $ref: ../pwm/pwm.yaml#
    properties:
      compatible:
        oneOf:
          - enum:
              - ingenic,jz4740-pwm
              - ingenic,jz4725b-pwm
          - items:
              - enum:
                  - ingenic,jz4760-pwm
                  - ingenic,jz4760b-pwm
                  - ingenic,jz4770-pwm
                  - ingenic,jz4780-pwm
              - const: ingenic,jz4740-pwm

      reg:
        maxItems: 1

      clocks:
        minItems: 6
        maxItems: 8

      clock-names:
        items:
          - const: timer0
          - const: timer1
          - const: timer2
          - const: timer3
          - const: timer4
          - const: timer5
          - const: timer6
          - const: timer7
        minItems: 6

    required:
      - compatible
      - reg
      - clocks
      - clock-names

  "^timer@[a-f0-9]+$":
    type: object
    properties:
      compatible:
        oneOf:
          - enum:
              - ingenic,jz4725b-ost
              - ingenic,jz4760b-ost
          - items:
              - const: ingenic,jz4760-ost
              - const: ingenic,jz4725b-ost
          - items:
              - enum:
                  - ingenic,jz4780-ost
                  - ingenic,jz4770-ost
              - const: ingenic,jz4760b-ost

      reg:
        maxItems: 1

      clocks:
        maxItems: 1

      clock-names:
        const: ost

      interrupts:
        maxItems: 1

    required:
      - compatible
      - reg
      - clocks
      - clock-names
      - interrupts

    additionalProperties: false

required:
  - "#clock-cells"
  - "#interrupt-cells"
  - interrupt-controller
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/ingenic,jz4770-cgu.h>
    #include <dt-bindings/clock/ingenic,tcu.h>
    tcu: timer@10002000 {
      compatible = "ingenic,jz4770-tcu", "ingenic,jz4760-tcu", "simple-mfd";
      reg = <0x10002000 0x1000>;
      #address-cells = <1>;
      #size-cells = <1>;
      ranges = <0x0 0x10002000 0x1000>;

      #clock-cells = <1>;

      clocks = <&cgu JZ4770_CLK_RTC>,
               <&cgu JZ4770_CLK_EXT>,
               <&cgu JZ4770_CLK_PCLK>;
      clock-names = "rtc", "ext", "pclk";

      interrupt-controller;
      #interrupt-cells = <1>;

      interrupt-parent = <&intc>;
      interrupts = <27 26 25>;

      watchdog: watchdog@0 {
        compatible = "ingenic,jz4770-watchdog", "ingenic,jz4740-watchdog";
        reg = <0x0 0xc>;

        clocks = <&tcu TCU_CLK_WDT>;
        clock-names = "wdt";
      };

      pwm: pwm@40 {
        compatible = "ingenic,jz4770-pwm", "ingenic,jz4740-pwm";
        reg = <0x40 0x80>;

        #pwm-cells = <3>;

        clocks = <&tcu TCU_CLK_TIMER0>,
                 <&tcu TCU_CLK_TIMER1>,
                 <&tcu TCU_CLK_TIMER2>,
                 <&tcu TCU_CLK_TIMER3>,
                 <&tcu TCU_CLK_TIMER4>,
                 <&tcu TCU_CLK_TIMER5>,
                 <&tcu TCU_CLK_TIMER6>,
                 <&tcu TCU_CLK_TIMER7>;
        clock-names = "timer0", "timer1", "timer2", "timer3",
                "timer4", "timer5", "timer6", "timer7";
      };

      ost: timer@e0 {
        compatible = "ingenic,jz4770-ost", "ingenic,jz4760b-ost";
        reg = <0xe0 0x20>;

        clocks = <&tcu TCU_CLK_OST>;
        clock-names = "ost";

        interrupts = <15>;
      };
    };
