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