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/surround21.conf> 83<confdir:pcm/surround41.conf> 84<confdir:pcm/surround50.conf> 85<confdir:pcm/surround51.conf> 86 87VIA8237.pcm.surround51.0 { 88 @args [ CARD ] 89 @args.CARD { 90 type string 91 } 92 type route 93 ttable.0.0 1 94 ttable.1.1 1 95 ttable.2.4 1 96 ttable.3.5 1 97 ttable.4.2 1 98 ttable.5.3 1 99 slave.pcm { 100 type hooks 101 slave.pcm { 102 type hw 103 card $CARD 104 device 1 105 channels 6 106 } 107 hooks.0 { 108 type ctl_elems 109 hook_args [ 110 { 111 name "Channel Mode" 112 preserve true 113 value "6ch" 114 lock true 115 optional true 116 } 117 { 118 name "Surround Down Mix" 119 preserve true 120 value off 121 lock true 122 optional true 123 } 124 { 125 name "Center/LFE Down Mix" 126 preserve true 127 value off 128 lock true 129 optional true 130 } 131 ] 132 } 133 } 134 slave.channels 6 135} 136 137<confdir:pcm/iec958.conf> 138 139VIA8237.pcm.iec958.0 { 140 @args [ CARD AES0 AES1 AES2 AES3 ] 141 @args.CARD { 142 type string 143 } 144 @args.AES0 { 145 type integer 146 } 147 @args.AES1 { 148 type integer 149 } 150 @args.AES2 { 151 type integer 152 } 153 @args.AES3 { 154 type integer 155 } 156 type hooks 157 slave.pcm { 158 type hw 159 card $CARD 160 subdevice 3 161 } 162 hooks.0 { 163 type ctl_elems 164 hook_args [ 165 { 166 name "IEC958 Playback AC97-SPSA" 167 lock true 168 preserve true 169 value 3 170 } 171 { 172 name "IEC958 Playback Default" 173 lock true 174 preserve true 175 value [ $AES0 $AES1 $AES2 $AES3 ] 176 } 177 { 178 name "IEC958 Playback Switch" 179 lock true 180 preserve true 181 value true 182 } 183 { 184 name "IEC958 Output Switch" 185 lock true 186 preserve true 187 value true 188 } 189 ] 190 } 191} 192