CMI8338.conf 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #
  2. # Configuration for the CMI8338/8738 chip (w/o multi-channel support)
  3. #
  4. <confdir:pcm/front.conf>
  5. CMI8338.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. CMI8338.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. CMI8338.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. # for the old CM8738 with 2nd DAC for rear
  49. CMI8338.pcm.surround40.0 {
  50. @args [ CARD ]
  51. @args.CARD {
  52. type string
  53. }
  54. type multi
  55. master 1
  56. slaves [
  57. {
  58. pcm {
  59. @func concat
  60. strings [
  61. "cards.CMI8338.pcm.front.0:CARD=" $CARD
  62. ]
  63. }
  64. channels 2
  65. }
  66. {
  67. pcm {
  68. @func concat
  69. strings [
  70. "cards.CMI8338.pcm.rear.0:CARD=" $CARD
  71. ]
  72. }
  73. channels 2
  74. }
  75. ]
  76. bindings [
  77. { slave 0 channel 0 }
  78. { slave 0 channel 1 }
  79. { slave 1 channel 0 }
  80. { slave 1 channel 1 }
  81. ]
  82. }
  83. <confdir:pcm/iec958.conf>
  84. CMI8338.pcm.iec958.0 {
  85. @args [ CARD AES0 AES1 AES2 AES3 ]
  86. @args.CARD {
  87. type string
  88. }
  89. @args.AES0 {
  90. type integer
  91. }
  92. @args.AES1 {
  93. type integer
  94. }
  95. @args.AES2 {
  96. type integer
  97. }
  98. @args.AES3 {
  99. type integer
  100. }
  101. type asym
  102. playback.pcm {
  103. type hooks
  104. slave.pcm {
  105. type hw
  106. card $CARD
  107. device 2
  108. }
  109. hooks.0 {
  110. type ctl_elems
  111. hook_args [
  112. {
  113. interface PCM
  114. name "IEC958 Playback PCM Stream"
  115. device 2
  116. lock true
  117. preserve true
  118. value [ $AES0 $AES1 $AES2 $AES3 ]
  119. }
  120. {
  121. name "IEC958 Loop"
  122. lock true
  123. preserve true
  124. value off
  125. }
  126. ]
  127. }
  128. }
  129. capture.pcm {
  130. type hw
  131. card $CARD
  132. device 2
  133. }
  134. }