renesas,rsnd.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. Renesas R-Car sound
  2. Required properties:
  3. - compatible : "renesas,rcar_sound-gen1" if generation1
  4. "renesas,rcar_sound-gen2" if generation2
  5. - reg : Should contain the register physical address.
  6. required register is
  7. SRU/ADG/SSI if generation1
  8. SRU/ADG/SSIU/SSI if generation2
  9. - rcar_sound,ssi : Should contain SSI feature.
  10. The number of SSI subnode should be same as HW.
  11. see below for detail.
  12. - rcar_sound,src : Should contain SRC feature.
  13. The number of SRC subnode should be same as HW.
  14. see below for detail.
  15. - rcar_sound,dvc : Should contain DVC feature.
  16. The number of DVC subnode should be same as HW.
  17. see below for detail.
  18. - rcar_sound,dai : DAI contents.
  19. The number of DAI subnode should be same as HW.
  20. see below for detail.
  21. SSI subnode properties:
  22. - interrupts : Should contain SSI interrupt for PIO transfer
  23. - shared-pin : if shared clock pin
  24. - pio-transfer : use PIO transfer mode
  25. - no-busif : BUSIF is not ussed when [mem -> SSI] via DMA case
  26. SRC subnode properties:
  27. no properties at this point
  28. DAI subnode properties:
  29. - playback : list of playback modules
  30. - capture : list of capture modules
  31. Example:
  32. rcar_sound: rcar_sound@0xffd90000 {
  33. #sound-dai-cells = <1>;
  34. compatible = "renesas,rcar_sound-gen2";
  35. reg = <0 0xec500000 0 0x1000>, /* SCU */
  36. <0 0xec5a0000 0 0x100>, /* ADG */
  37. <0 0xec540000 0 0x1000>, /* SSIU */
  38. <0 0xec541000 0 0x1280>; /* SSI */
  39. rcar_sound,dvc {
  40. dvc0: dvc@0 { };
  41. dvc1: dvc@1 { };
  42. };
  43. rcar_sound,src {
  44. src0: src@0 { };
  45. src1: src@1 { };
  46. src2: src@2 { };
  47. src3: src@3 { };
  48. src4: src@4 { };
  49. src5: src@5 { };
  50. src6: src@6 { };
  51. src7: src@7 { };
  52. src8: src@8 { };
  53. src9: src@9 { };
  54. };
  55. rcar_sound,ssi {
  56. ssi0: ssi@0 {
  57. interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
  58. };
  59. ssi1: ssi@1 {
  60. interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
  61. };
  62. ssi2: ssi@2 {
  63. interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
  64. };
  65. ssi3: ssi@3 {
  66. interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
  67. };
  68. ssi4: ssi@4 {
  69. interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
  70. };
  71. ssi5: ssi@5 {
  72. interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
  73. };
  74. ssi6: ssi@6 {
  75. interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
  76. };
  77. ssi7: ssi@7 {
  78. interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
  79. };
  80. ssi8: ssi@8 {
  81. interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
  82. };
  83. ssi9: ssi@9 {
  84. interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
  85. };
  86. };
  87. rcar_sound,dai {
  88. dai0 {
  89. playback = <&ssi5 &src5>;
  90. capture = <&ssi6>;
  91. };
  92. dai1 {
  93. playback = <&ssi3>;
  94. };
  95. dai2 {
  96. capture = <&ssi4>;
  97. };
  98. dai3 {
  99. playback = <&ssi7>;
  100. };
  101. dai4 {
  102. capture = <&ssi8>;
  103. };
  104. };
  105. };