0068-ASoC-dt-bindings-Add-TDM-controller-bindings-for-Sta.patch 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. From 3b90e0fb53c31c50e64d2039e30ec25c1d8a8d5c Mon Sep 17 00:00:00 2001
  2. From: Walker Chen <[email protected]>
  3. Date: Fri, 26 May 2023 22:54:00 +0800
  4. Subject: [PATCH 068/122] ASoC: dt-bindings: Add TDM controller bindings for
  5. StarFive JH7110
  6. Add bindings for TDM driver which supports multi-channel audio playback
  7. and capture on JH7110 platform.
  8. Reviewed-by: Krzysztof Kozlowski <[email protected]>
  9. Signed-off-by: Walker Chen <[email protected]>
  10. ---
  11. .../bindings/sound/starfive,jh7110-tdm.yaml | 98 +++++++++++++++++++
  12. 1 file changed, 98 insertions(+)
  13. create mode 100644 Documentation/devicetree/bindings/sound/starfive,jh7110-tdm.yaml
  14. --- /dev/null
  15. +++ b/Documentation/devicetree/bindings/sound/starfive,jh7110-tdm.yaml
  16. @@ -0,0 +1,98 @@
  17. +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  18. +%YAML 1.2
  19. +---
  20. +$id: http://devicetree.org/schemas/sound/starfive,jh7110-tdm.yaml#
  21. +$schema: http://devicetree.org/meta-schemas/core.yaml#
  22. +
  23. +title: StarFive JH7110 TDM Controller
  24. +
  25. +description: |
  26. + The TDM Controller is a Time Division Multiplexed audio interface
  27. + integrated in StarFive JH7110 SoC, allowing up to 8 channels of
  28. + audio over a serial interface. The TDM controller can operate both
  29. + in master and slave mode.
  30. +
  31. +maintainers:
  32. + - Walker Chen <[email protected]>
  33. +
  34. +allOf:
  35. + - $ref: dai-common.yaml#
  36. +
  37. +properties:
  38. + compatible:
  39. + enum:
  40. + - starfive,jh7110-tdm
  41. +
  42. + reg:
  43. + maxItems: 1
  44. +
  45. + clocks:
  46. + items:
  47. + - description: TDM AHB Clock
  48. + - description: TDM APB Clock
  49. + - description: TDM Internal Clock
  50. + - description: TDM Clock
  51. + - description: Inner MCLK
  52. + - description: TDM External Clock
  53. +
  54. + clock-names:
  55. + items:
  56. + - const: tdm_ahb
  57. + - const: tdm_apb
  58. + - const: tdm_internal
  59. + - const: tdm
  60. + - const: mclk_inner
  61. + - const: tdm_ext
  62. +
  63. + resets:
  64. + items:
  65. + - description: tdm ahb reset line
  66. + - description: tdm apb reset line
  67. + - description: tdm core reset line
  68. +
  69. + dmas:
  70. + items:
  71. + - description: RX DMA Channel
  72. + - description: TX DMA Channel
  73. +
  74. + dma-names:
  75. + items:
  76. + - const: rx
  77. + - const: tx
  78. +
  79. + "#sound-dai-cells":
  80. + const: 0
  81. +
  82. +required:
  83. + - compatible
  84. + - reg
  85. + - clocks
  86. + - clock-names
  87. + - resets
  88. + - dmas
  89. + - dma-names
  90. + - "#sound-dai-cells"
  91. +
  92. +additionalProperties: false
  93. +
  94. +examples:
  95. + - |
  96. + tdm@10090000 {
  97. + compatible = "starfive,jh7110-tdm";
  98. + reg = <0x10090000 0x1000>;
  99. + clocks = <&syscrg 184>,
  100. + <&syscrg 185>,
  101. + <&syscrg 186>,
  102. + <&syscrg 187>,
  103. + <&syscrg 17>,
  104. + <&tdm_ext>;
  105. + clock-names = "tdm_ahb", "tdm_apb",
  106. + "tdm_internal", "tdm",
  107. + "mclk_inner", "tdm_ext";
  108. + resets = <&syscrg 105>,
  109. + <&syscrg 107>,
  110. + <&syscrg 106>;
  111. + dmas = <&dma 20>, <&dma 21>;
  112. + dma-names = "rx","tx";
  113. + #sound-dai-cells = <0>;
  114. + };