CMI8738-MC6.conf 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. #
  2. # Configuration for the CMI8738 chip with 4/6 multi-channel support
  3. #
  4. <confdir:pcm/front.conf>
  5. CMI8738-MC6.pcm.front.0 {
  6. @args [ CARD ]
  7. @args.CARD {
  8. type string
  9. }
  10. type hw
  11. card $CARD
  12. }
  13. # default with dmix/dsnoop
  14. CMI8738-MC6.pcm.default {
  15. @args [ CARD ]
  16. @args.CARD {
  17. type string
  18. }
  19. type asym
  20. playback.pcm {
  21. type plug
  22. slave.pcm {
  23. @func concat
  24. strings [ "dmix:" $CARD ]
  25. }
  26. }
  27. capture.pcm {
  28. type plug
  29. slave.pcm {
  30. @func concat
  31. strings [ "dsnoop:" $CARD ]
  32. }
  33. }
  34. }
  35. <confdir:pcm/rear.conf>
  36. # 2nd DAC
  37. # FIXME: we need a volume attenuator for rear channel.
  38. CMI8738-MC6.pcm.rear.0 {
  39. @args [ CARD ]
  40. @args.CARD {
  41. type string
  42. }
  43. type hw
  44. card $CARD
  45. device 1
  46. }
  47. <confdir:pcm/surround40.conf>
  48. CMI8738-MC6.pcm.surround40.0 {
  49. @args [ CARD ]
  50. @args.CARD {
  51. type string
  52. }
  53. type hooks
  54. slave.pcm {
  55. type hw
  56. card $CARD
  57. device 1
  58. channels 4
  59. }
  60. hooks.0 {
  61. type ctl_elems
  62. hook_args [
  63. {
  64. name "Four Channel Mode"
  65. lock true
  66. preserve true
  67. value false
  68. }
  69. ]
  70. }
  71. }
  72. <confdir:pcm/surround21.conf>
  73. <confdir:pcm/surround41.conf>
  74. <confdir:pcm/surround50.conf>
  75. <confdir:pcm/surround51.conf>
  76. CMI8738-MC6.pcm.surround51.0 {
  77. @args [ CARD ]
  78. @args.CARD {
  79. type string
  80. }
  81. type hooks
  82. slave.pcm {
  83. type hw
  84. card $CARD
  85. device 1
  86. channels 6
  87. }
  88. hooks.0 {
  89. type ctl_elems
  90. hook_args [
  91. {
  92. name "Four Channel Mode"
  93. lock true
  94. preserve true
  95. value false
  96. }
  97. ]
  98. }
  99. }
  100. <confdir:pcm/iec958.conf>
  101. CMI8738-MC6.pcm.iec958.0 {
  102. @args [ CARD AES0 AES1 AES2 AES3 ]
  103. @args.CARD {
  104. type string
  105. }
  106. @args.AES0 {
  107. type integer
  108. }
  109. @args.AES1 {
  110. type integer
  111. }
  112. @args.AES2 {
  113. type integer
  114. }
  115. @args.AES3 {
  116. type integer
  117. }
  118. type asym
  119. playback.pcm {
  120. type hooks
  121. slave.pcm {
  122. type hw
  123. card $CARD
  124. device 2
  125. }
  126. hooks.0 {
  127. type ctl_elems
  128. hook_args [
  129. {
  130. interface PCM
  131. name "IEC958 Playback PCM Stream"
  132. device 2
  133. lock true
  134. preserve true
  135. value [ $AES0 $AES1 $AES2 $AES3 ]
  136. }
  137. {
  138. name "IEC958 Loop"
  139. lock true
  140. preserve true
  141. value off
  142. }
  143. ]
  144. }
  145. }
  146. capture.pcm {
  147. type hw
  148. card $CARD
  149. device 2
  150. }
  151. }