Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: dt-bindings: Add TDM controller bindings for StarFive JH7110

Add bindings for TDM driver which supports multi-channel audio playback
and capture on JH7110 platform.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
Link: https://lore.kernel.org/r/20230526145402.450-2-walker.chen@starfivetech.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Walker Chen and committed by
Mark Brown
d9afe0d3 d0c76d94

+98
+98
Documentation/devicetree/bindings/sound/starfive,jh7110-tdm.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/sound/starfive,jh7110-tdm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: StarFive JH7110 TDM Controller 8 + 9 + description: | 10 + The TDM Controller is a Time Division Multiplexed audio interface 11 + integrated in StarFive JH7110 SoC, allowing up to 8 channels of 12 + audio over a serial interface. The TDM controller can operate both 13 + in master and slave mode. 14 + 15 + maintainers: 16 + - Walker Chen <walker.chen@starfivetech.com> 17 + 18 + allOf: 19 + - $ref: dai-common.yaml# 20 + 21 + properties: 22 + compatible: 23 + enum: 24 + - starfive,jh7110-tdm 25 + 26 + reg: 27 + maxItems: 1 28 + 29 + clocks: 30 + items: 31 + - description: TDM AHB Clock 32 + - description: TDM APB Clock 33 + - description: TDM Internal Clock 34 + - description: TDM Clock 35 + - description: Inner MCLK 36 + - description: TDM External Clock 37 + 38 + clock-names: 39 + items: 40 + - const: tdm_ahb 41 + - const: tdm_apb 42 + - const: tdm_internal 43 + - const: tdm 44 + - const: mclk_inner 45 + - const: tdm_ext 46 + 47 + resets: 48 + items: 49 + - description: tdm ahb reset line 50 + - description: tdm apb reset line 51 + - description: tdm core reset line 52 + 53 + dmas: 54 + items: 55 + - description: RX DMA Channel 56 + - description: TX DMA Channel 57 + 58 + dma-names: 59 + items: 60 + - const: rx 61 + - const: tx 62 + 63 + "#sound-dai-cells": 64 + const: 0 65 + 66 + required: 67 + - compatible 68 + - reg 69 + - clocks 70 + - clock-names 71 + - resets 72 + - dmas 73 + - dma-names 74 + - "#sound-dai-cells" 75 + 76 + additionalProperties: false 77 + 78 + examples: 79 + - | 80 + tdm@10090000 { 81 + compatible = "starfive,jh7110-tdm"; 82 + reg = <0x10090000 0x1000>; 83 + clocks = <&syscrg 184>, 84 + <&syscrg 185>, 85 + <&syscrg 186>, 86 + <&syscrg 187>, 87 + <&syscrg 17>, 88 + <&tdm_ext>; 89 + clock-names = "tdm_ahb", "tdm_apb", 90 + "tdm_internal", "tdm", 91 + "mclk_inner", "tdm_ext"; 92 + resets = <&syscrg 105>, 93 + <&syscrg 107>, 94 + <&syscrg 106>; 95 + dmas = <&dma 20>, <&dma 21>; 96 + dma-names = "rx","tx"; 97 + #sound-dai-cells = <0>; 98 + };