mirror_ubuntu-kernels/Documentation/devicetree/bindings/sound/starfive,jh7110-tdm.yaml

99 lines
2.1 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/starfive,jh7110-tdm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: StarFive JH7110 TDM Controller
description: |
The TDM Controller is a Time Division Multiplexed audio interface
integrated in StarFive JH7110 SoC, allowing up to 8 channels of
audio over a serial interface. The TDM controller can operate both
in master and slave mode.
maintainers:
- Walker Chen <walker.chen@starfivetech.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
- starfive,jh7110-tdm
reg:
maxItems: 1
clocks:
items:
- description: TDM AHB Clock
- description: TDM APB Clock
- description: TDM Internal Clock
- description: TDM Clock
- description: Inner MCLK
- description: TDM External Clock
clock-names:
items:
- const: tdm_ahb
- const: tdm_apb
- const: tdm_internal
- const: tdm
- const: mclk_inner
- const: tdm_ext
resets:
items:
- description: tdm ahb reset line
- description: tdm apb reset line
- description: tdm core reset line
dmas:
items:
- description: RX DMA Channel
- description: TX DMA Channel
dma-names:
items:
- const: rx
- const: tx
"#sound-dai-cells":
const: 0
required:
- compatible
- reg
- clocks
- clock-names
- resets
- dmas
- dma-names
- "#sound-dai-cells"
additionalProperties: false
examples:
- |
tdm@10090000 {
compatible = "starfive,jh7110-tdm";
reg = <0x10090000 0x1000>;
clocks = <&syscrg 184>,
<&syscrg 185>,
<&syscrg 186>,
<&syscrg 187>,
<&syscrg 17>,
<&tdm_ext>;
clock-names = "tdm_ahb", "tdm_apb",
"tdm_internal", "tdm",
"mclk_inner", "tdm_ext";
resets = <&syscrg 105>,
<&syscrg 107>,
<&syscrg 106>;
dmas = <&dma 20>, <&dma 21>;
dma-names = "rx","tx";
#sound-dai-cells = <0>;
};