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