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

title: StarFive JH7110 PWM-DAC Controller

description:
  The PWM-DAC Controller uses PWM square wave generators plus RC filters to
  form a DAC for audio play in StarFive JH7110 SoC. This audio play controller
  supports 16 bit audio format, up to 48K sampling frequency, up to left and
  right dual channels.

maintainers:
  - Hal Feng <hal.feng@starfivetech.com>

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    const: starfive,jh7110-pwmdac

  reg:
    maxItems: 1

  clocks:
    items:
      - description: PWMDAC APB
      - description: PWMDAC CORE

  clock-names:
    items:
      - const: apb
      - const: core

  resets:
    maxItems: 1
    description: PWMDAC APB

  dmas:
    maxItems: 1
    description: TX DMA Channel

  dma-names:
    const: tx

  "#sound-dai-cells":
    const: 0

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - resets
  - dmas
  - dma-names
  - "#sound-dai-cells"

additionalProperties: false

examples:
  - |
    pwmdac@100b0000 {
        compatible = "starfive,jh7110-pwmdac";
        reg = <0x100b0000 0x1000>;
        clocks = <&syscrg 157>,
                 <&syscrg 158>;
        clock-names = "apb", "core";
        resets = <&syscrg 96>;
        dmas = <&dma 22>;
        dma-names = "tx";
        #sound-dai-cells = <0>;
    };
