CA0106.conf 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. #
  2. # Configuration for the CA0106 chip
  3. #
  4. # default with dmix & dsnoop
  5. CA0106.pcm.default {
  6. @args [ CARD ]
  7. @args.CARD {
  8. type string
  9. }
  10. type asym
  11. playback.pcm {
  12. type plug
  13. slave.pcm {
  14. @func concat
  15. strings [ "dmix:" $CARD ]
  16. }
  17. }
  18. capture.pcm {
  19. type plug
  20. slave.pcm {
  21. @func concat
  22. strings [ "dsnoop:" $CARD ]
  23. }
  24. }
  25. }
  26. <confdir:pcm/front.conf>
  27. CA0106.pcm.front.0 {
  28. @args [ CARD ]
  29. @args.CARD {
  30. type string
  31. }
  32. type hw
  33. card $CARD
  34. }
  35. <confdir:pcm/rear.conf>
  36. CA0106.pcm.rear.0 {
  37. @args [ CARD ]
  38. @args.CARD {
  39. type string
  40. }
  41. type hw
  42. card $CARD
  43. device 1
  44. }
  45. <confdir:pcm/center_lfe.conf>
  46. CA0106.pcm.center_lfe.0 {
  47. @args [ CARD ]
  48. @args.CARD {
  49. type string
  50. }
  51. type hw
  52. card $CARD
  53. device 2
  54. }
  55. <confdir:pcm/side.conf>
  56. CA0106.pcm.side.0 {
  57. @args [ CARD ]
  58. @args.CARD {
  59. type string
  60. }
  61. type hw
  62. card $CARD
  63. device 3
  64. }
  65. <confdir:pcm/surround40.conf>
  66. CA0106.pcm.surround40.0 {
  67. @args [ CARD ]
  68. @args.CARD {
  69. type string
  70. }
  71. type multi
  72. slaves [
  73. {
  74. pcm {
  75. @func concat
  76. strings [
  77. "cards.CA0106.pcm.front.0:CARD=" $CARD
  78. ]
  79. }
  80. channels 2
  81. }
  82. {
  83. pcm {
  84. @func concat
  85. strings [
  86. "cards.CA0106.pcm.rear.0:CARD=" $CARD
  87. ]
  88. }
  89. channels 2
  90. }
  91. ]
  92. bindings [
  93. { slave 0 channel 0 }
  94. { slave 0 channel 1 }
  95. { slave 1 channel 0 }
  96. { slave 1 channel 1 }
  97. ]
  98. }
  99. <confdir:pcm/surround21.conf>
  100. <confdir:pcm/surround41.conf>
  101. <confdir:pcm/surround50.conf>
  102. <confdir:pcm/surround51.conf>
  103. <confdir:pcm/surround71.conf>
  104. CA0106.pcm.surround51.0 {
  105. @args [ CARD ]
  106. @args.CARD {
  107. type string
  108. }
  109. type multi
  110. slaves [
  111. {
  112. pcm {
  113. @func concat
  114. strings [
  115. "cards.CA0106.pcm.front.0:CARD=" $CARD
  116. ]
  117. }
  118. channels 2
  119. }
  120. {
  121. pcm {
  122. @func concat
  123. strings [
  124. "cards.CA0106.pcm.rear.0:CARD=" $CARD
  125. ]
  126. }
  127. channels 2
  128. }
  129. {
  130. pcm {
  131. @func concat
  132. strings [
  133. "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD
  134. ]
  135. }
  136. channels 2
  137. }
  138. ]
  139. bindings [
  140. { slave 0 channel 0 }
  141. { slave 0 channel 1 }
  142. { slave 1 channel 0 }
  143. { slave 1 channel 1 }
  144. { slave 2 channel 0 }
  145. { slave 2 channel 1 }
  146. ]
  147. }
  148. CA0106.pcm.surround71.0 {
  149. @args [ CARD ]
  150. @args.CARD {
  151. type string
  152. }
  153. type multi
  154. slaves [
  155. {
  156. pcm {
  157. @func concat
  158. strings [
  159. "cards.CA0106.pcm.front.0:CARD=" $CARD
  160. ]
  161. }
  162. channels 2
  163. }
  164. {
  165. pcm {
  166. @func concat
  167. strings [
  168. "cards.CA0106.pcm.rear.0:CARD=" $CARD
  169. ]
  170. }
  171. channels 2
  172. }
  173. {
  174. pcm {
  175. @func concat
  176. strings [
  177. "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD
  178. ]
  179. }
  180. channels 2
  181. }
  182. {
  183. pcm {
  184. @func concat
  185. strings [
  186. "cards.CA0106.pcm.side.0:CARD=" $CARD
  187. ]
  188. }
  189. channels 2
  190. }
  191. ]
  192. bindings [
  193. { slave 0 channel 0 }
  194. { slave 0 channel 1 }
  195. { slave 1 channel 0 }
  196. { slave 1 channel 1 }
  197. { slave 2 channel 0 }
  198. { slave 2 channel 1 }
  199. { slave 3 channel 0 }
  200. { slave 3 channel 1 }
  201. ]
  202. }
  203. <confdir:pcm/iec958.conf>
  204. CA0106.pcm.iec958.0 {
  205. @args [ CARD AES0 AES1 AES2 AES3 ]
  206. @args.CARD {
  207. type string
  208. }
  209. @args.AES0 {
  210. type integer
  211. }
  212. @args.AES1 {
  213. type integer
  214. }
  215. @args.AES2 {
  216. type integer
  217. }
  218. @args.AES3 {
  219. type integer
  220. }
  221. type hooks
  222. slave.pcm {
  223. type hw
  224. card $CARD
  225. }
  226. hooks.0 {
  227. type ctl_elems
  228. hook_args [
  229. {
  230. name "IEC958 Front Playback Volume"
  231. index 0
  232. lock true
  233. preserve true
  234. value [ 207 207 ] # Puts 0x30303030 in the Volume register. 0xff - 0x30 = 0xcf = 207
  235. }
  236. {
  237. name "IEC958 Playback Switch"
  238. lock true
  239. preserve true
  240. value 1
  241. }
  242. {
  243. interface PCM
  244. name "IEC958 Playback Default"
  245. index 1
  246. lock true
  247. preserve true
  248. optional true
  249. value [ $AES0 $AES1 $AES2 $AES3 ]
  250. }
  251. {
  252. # for compatibility with older drivers
  253. name "IEC958 Playback Default"
  254. index 1
  255. lock true
  256. preserve true
  257. optional true
  258. value [ $AES0 $AES1 $AES2 $AES3 ]
  259. }
  260. ]
  261. }
  262. }