1# 2# Configuration for the VIA8237 chip with 4/6 multi-channel support 3# 4 5<confdir:pcm/front.conf> 6 7VIA8237.pcm.front.0 { 8 @args [ CARD ] 9 @args.CARD { 10 type string 11 } 12 type hw 13 card $CARD 14} 15 16# default with softvol/dsnoop 17# VIA8237 supports multi-playback 18VIA8237.pcm.default { 19 @args [ CARD ] 20 @args.CARD { 21 type string 22 } 23 type asym 24 playback.pcm { 25 type plug 26 slave.pcm { 27 type softvol 28 slave.pcm { 29 type hw 30 card $CARD 31 } 32 control { 33 name "PCM Playback Volume" 34 card $CARD 35 } 36 } 37 } 38 capture.pcm { 39 type plug 40 slave.pcm { 41 @func concat 42 strings [ "dsnoop:" $CARD ] 43 } 44 } 45} 46 47<confdir:pcm/surround40.conf> 48 49VIA8237.pcm.surround40.0 { 50 @args [ CARD ] 51 @args.CARD { 52 type string 53 } 54 type hooks 55 slave.pcm { 56 type hw 57 card $CARD 58 device 1 59 channels 4 60 } 61 hooks.0 { 62 type ctl_elems 63 hook_args [ 64 { 65 name "Channel Mode" 66 preserve true 67 value "4ch" 68 lock true 69 optional true 70 } 71 { 72 name "Surround Down Mix" 73 preserve true 74 value off 75 lock true 76 optional true 77 } 78 ] 79 } 80} 81 82<confdir:pcm/surround41.conf> 83<confdir:pcm/surround50.conf> 84<confdir:pcm/surround51.conf> 85 86VIA8237.pcm.surround51.0 { 87 @args [ CARD ] 88 @args.CARD { 89 type string 90 } 91 type route 92 ttable.0.0 1 93 ttable.1.1 1 94 ttable.2.4 1 95 ttable.3.5 1 96 ttable.4.2 1 97 ttable.5.3 1 98 slave.pcm { 99 type hooks 100 slave.pcm { 101 type hw 102 card $CARD 103 device 1 104 channels 6 105 } 106 hooks.0 { 107 type ctl_elems 108 hook_args [ 109 { 110 name "Channel Mode" 111 preserve true 112 value "6ch" 113 lock true 114 optional true 115 } 116 { 117 name "Surround Down Mix" 118 preserve true 119 value off 120 lock true 121 optional true 122 } 123 { 124 name "Center/LFE Down Mix" 125 preserve true 126 value off 127 lock true 128 optional true 129 } 130 ] 131 } 132 } 133 slave.channels 6 134} 135 136<confdir:pcm/iec958.conf> 137 138VIA8237.pcm.iec958.0 { 139 @args [ CARD AES0 AES1 AES2 AES3 ] 140 @args.CARD { 141 type string 142 } 143 @args.AES0 { 144 type integer 145 } 146 @args.AES1 { 147 type integer 148 } 149 @args.AES2 { 150 type integer 151 } 152 @args.AES3 { 153 type integer 154 } 155 type hooks 156 slave.pcm { 157 type hw 158 card $CARD 159 subdevice 3 160 } 161 hooks.0 { 162 type ctl_elems 163 hook_args [ 164 { 165 name "IEC958 Playback AC97-SPSA" 166 lock true 167 preserve true 168 value 3 169 } 170 { 171 name "IEC958 Playback Default" 172 lock true 173 preserve true 174 value [ $AES0 $AES1 $AES2 $AES3 ] 175 } 176 { 177 name "IEC958 Playback Switch" 178 lock true 179 preserve true 180 value true 181 } 182 { 183 name "IEC958 Output Switch" 184 lock true 185 preserve true 186 value true 187 } 188 ] 189 } 190} 191