162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/starfive,jh7110-tdm.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: StarFive JH7110 TDM Controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  The TDM Controller is a Time Division Multiplexed audio interface
1162306a36Sopenharmony_ci  integrated in StarFive JH7110 SoC, allowing up to 8 channels of
1262306a36Sopenharmony_ci  audio over a serial interface. The TDM controller can operate both
1362306a36Sopenharmony_ci  in master and slave mode.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cimaintainers:
1662306a36Sopenharmony_ci  - Walker Chen <walker.chen@starfivetech.com>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciallOf:
1962306a36Sopenharmony_ci  - $ref: dai-common.yaml#
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciproperties:
2262306a36Sopenharmony_ci  compatible:
2362306a36Sopenharmony_ci    enum:
2462306a36Sopenharmony_ci      - starfive,jh7110-tdm
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  reg:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clocks:
3062306a36Sopenharmony_ci    items:
3162306a36Sopenharmony_ci      - description: TDM AHB Clock
3262306a36Sopenharmony_ci      - description: TDM APB Clock
3362306a36Sopenharmony_ci      - description: TDM Internal Clock
3462306a36Sopenharmony_ci      - description: TDM Clock
3562306a36Sopenharmony_ci      - description: Inner MCLK
3662306a36Sopenharmony_ci      - description: TDM External Clock
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  clock-names:
3962306a36Sopenharmony_ci    items:
4062306a36Sopenharmony_ci      - const: tdm_ahb
4162306a36Sopenharmony_ci      - const: tdm_apb
4262306a36Sopenharmony_ci      - const: tdm_internal
4362306a36Sopenharmony_ci      - const: tdm
4462306a36Sopenharmony_ci      - const: mclk_inner
4562306a36Sopenharmony_ci      - const: tdm_ext
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  resets:
4862306a36Sopenharmony_ci    items:
4962306a36Sopenharmony_ci      - description: tdm ahb reset line
5062306a36Sopenharmony_ci      - description: tdm apb reset line
5162306a36Sopenharmony_ci      - description: tdm core reset line
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  dmas:
5462306a36Sopenharmony_ci    items:
5562306a36Sopenharmony_ci      - description: RX DMA Channel
5662306a36Sopenharmony_ci      - description: TX DMA Channel
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci  dma-names:
5962306a36Sopenharmony_ci    items:
6062306a36Sopenharmony_ci      - const: rx
6162306a36Sopenharmony_ci      - const: tx
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci  "#sound-dai-cells":
6462306a36Sopenharmony_ci    const: 0
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cirequired:
6762306a36Sopenharmony_ci  - compatible
6862306a36Sopenharmony_ci  - reg
6962306a36Sopenharmony_ci  - clocks
7062306a36Sopenharmony_ci  - clock-names
7162306a36Sopenharmony_ci  - resets
7262306a36Sopenharmony_ci  - dmas
7362306a36Sopenharmony_ci  - dma-names
7462306a36Sopenharmony_ci  - "#sound-dai-cells"
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciadditionalProperties: false
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciexamples:
7962306a36Sopenharmony_ci  - |
8062306a36Sopenharmony_ci    tdm@10090000 {
8162306a36Sopenharmony_ci        compatible = "starfive,jh7110-tdm";
8262306a36Sopenharmony_ci        reg = <0x10090000 0x1000>;
8362306a36Sopenharmony_ci        clocks = <&syscrg 184>,
8462306a36Sopenharmony_ci                 <&syscrg 185>,
8562306a36Sopenharmony_ci                 <&syscrg 186>,
8662306a36Sopenharmony_ci                 <&syscrg 187>,
8762306a36Sopenharmony_ci                 <&syscrg 17>,
8862306a36Sopenharmony_ci                 <&tdm_ext>;
8962306a36Sopenharmony_ci        clock-names = "tdm_ahb", "tdm_apb",
9062306a36Sopenharmony_ci                      "tdm_internal", "tdm",
9162306a36Sopenharmony_ci                      "mclk_inner", "tdm_ext";
9262306a36Sopenharmony_ci        resets = <&syscrg 105>,
9362306a36Sopenharmony_ci                 <&syscrg 107>,
9462306a36Sopenharmony_ci                 <&syscrg 106>;
9562306a36Sopenharmony_ci        dmas = <&dma 20>, <&dma 21>;
9662306a36Sopenharmony_ci        dma-names = "rx","tx";
9762306a36Sopenharmony_ci        #sound-dai-cells = <0>;
9862306a36Sopenharmony_ci    };
99