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