1d5ac70f0Sopenharmony_ci# 2d5ac70f0Sopenharmony_ci# Configuration for the CA0106 chip 3d5ac70f0Sopenharmony_ci# 4d5ac70f0Sopenharmony_ci 5d5ac70f0Sopenharmony_ci# default with dmix & dsnoop 6d5ac70f0Sopenharmony_ciCA0106.pcm.default { 7d5ac70f0Sopenharmony_ci @args [ CARD ] 8d5ac70f0Sopenharmony_ci @args.CARD { 9d5ac70f0Sopenharmony_ci type string 10d5ac70f0Sopenharmony_ci } 11d5ac70f0Sopenharmony_ci type asym 12d5ac70f0Sopenharmony_ci playback.pcm { 13d5ac70f0Sopenharmony_ci type plug 14d5ac70f0Sopenharmony_ci slave.pcm { 15d5ac70f0Sopenharmony_ci @func concat 16d5ac70f0Sopenharmony_ci strings [ "dmix:" $CARD ] 17d5ac70f0Sopenharmony_ci } 18d5ac70f0Sopenharmony_ci } 19d5ac70f0Sopenharmony_ci capture.pcm { 20d5ac70f0Sopenharmony_ci type plug 21d5ac70f0Sopenharmony_ci slave.pcm { 22d5ac70f0Sopenharmony_ci @func concat 23d5ac70f0Sopenharmony_ci strings [ "dsnoop:" $CARD ] 24d5ac70f0Sopenharmony_ci } 25d5ac70f0Sopenharmony_ci } 26d5ac70f0Sopenharmony_ci} 27d5ac70f0Sopenharmony_ci 28d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf> 29d5ac70f0Sopenharmony_ci 30d5ac70f0Sopenharmony_ciCA0106.pcm.front.0 { 31d5ac70f0Sopenharmony_ci @args [ CARD ] 32d5ac70f0Sopenharmony_ci @args.CARD { 33d5ac70f0Sopenharmony_ci type string 34d5ac70f0Sopenharmony_ci } 35d5ac70f0Sopenharmony_ci type hw 36d5ac70f0Sopenharmony_ci card $CARD 37d5ac70f0Sopenharmony_ci} 38d5ac70f0Sopenharmony_ci 39d5ac70f0Sopenharmony_ci<confdir:pcm/rear.conf> 40d5ac70f0Sopenharmony_ci 41d5ac70f0Sopenharmony_ciCA0106.pcm.rear.0 { 42d5ac70f0Sopenharmony_ci @args [ CARD ] 43d5ac70f0Sopenharmony_ci @args.CARD { 44d5ac70f0Sopenharmony_ci type string 45d5ac70f0Sopenharmony_ci } 46d5ac70f0Sopenharmony_ci type hw 47d5ac70f0Sopenharmony_ci card $CARD 48d5ac70f0Sopenharmony_ci device 1 49d5ac70f0Sopenharmony_ci} 50d5ac70f0Sopenharmony_ci 51d5ac70f0Sopenharmony_ci<confdir:pcm/center_lfe.conf> 52d5ac70f0Sopenharmony_ci 53d5ac70f0Sopenharmony_ciCA0106.pcm.center_lfe.0 { 54d5ac70f0Sopenharmony_ci @args [ CARD ] 55d5ac70f0Sopenharmony_ci @args.CARD { 56d5ac70f0Sopenharmony_ci type string 57d5ac70f0Sopenharmony_ci } 58d5ac70f0Sopenharmony_ci type hw 59d5ac70f0Sopenharmony_ci card $CARD 60d5ac70f0Sopenharmony_ci device 2 61d5ac70f0Sopenharmony_ci} 62d5ac70f0Sopenharmony_ci 63d5ac70f0Sopenharmony_ci<confdir:pcm/side.conf> 64d5ac70f0Sopenharmony_ci 65d5ac70f0Sopenharmony_ciCA0106.pcm.side.0 { 66d5ac70f0Sopenharmony_ci @args [ CARD ] 67d5ac70f0Sopenharmony_ci @args.CARD { 68d5ac70f0Sopenharmony_ci type string 69d5ac70f0Sopenharmony_ci } 70d5ac70f0Sopenharmony_ci type hw 71d5ac70f0Sopenharmony_ci card $CARD 72d5ac70f0Sopenharmony_ci device 3 73d5ac70f0Sopenharmony_ci} 74d5ac70f0Sopenharmony_ci 75d5ac70f0Sopenharmony_ci<confdir:pcm/surround40.conf> 76d5ac70f0Sopenharmony_ci 77d5ac70f0Sopenharmony_ciCA0106.pcm.surround40.0 { 78d5ac70f0Sopenharmony_ci @args [ CARD ] 79d5ac70f0Sopenharmony_ci @args.CARD { 80d5ac70f0Sopenharmony_ci type string 81d5ac70f0Sopenharmony_ci } 82d5ac70f0Sopenharmony_ci type multi 83d5ac70f0Sopenharmony_ci slaves [ 84d5ac70f0Sopenharmony_ci { 85d5ac70f0Sopenharmony_ci pcm { 86d5ac70f0Sopenharmony_ci @func concat 87d5ac70f0Sopenharmony_ci strings [ 88d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.front.0:CARD=" $CARD 89d5ac70f0Sopenharmony_ci ] 90d5ac70f0Sopenharmony_ci } 91d5ac70f0Sopenharmony_ci channels 2 92d5ac70f0Sopenharmony_ci } 93d5ac70f0Sopenharmony_ci { 94d5ac70f0Sopenharmony_ci pcm { 95d5ac70f0Sopenharmony_ci @func concat 96d5ac70f0Sopenharmony_ci strings [ 97d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.rear.0:CARD=" $CARD 98d5ac70f0Sopenharmony_ci ] 99d5ac70f0Sopenharmony_ci } 100d5ac70f0Sopenharmony_ci channels 2 101d5ac70f0Sopenharmony_ci } 102d5ac70f0Sopenharmony_ci ] 103d5ac70f0Sopenharmony_ci bindings [ 104d5ac70f0Sopenharmony_ci { slave 0 channel 0 } 105d5ac70f0Sopenharmony_ci { slave 0 channel 1 } 106d5ac70f0Sopenharmony_ci { slave 1 channel 0 } 107d5ac70f0Sopenharmony_ci { slave 1 channel 1 } 108d5ac70f0Sopenharmony_ci ] 109d5ac70f0Sopenharmony_ci} 110d5ac70f0Sopenharmony_ci 111d5ac70f0Sopenharmony_ci<confdir:pcm/surround21.conf> 112d5ac70f0Sopenharmony_ci<confdir:pcm/surround41.conf> 113d5ac70f0Sopenharmony_ci<confdir:pcm/surround50.conf> 114d5ac70f0Sopenharmony_ci<confdir:pcm/surround51.conf> 115d5ac70f0Sopenharmony_ci<confdir:pcm/surround71.conf> 116d5ac70f0Sopenharmony_ci 117d5ac70f0Sopenharmony_ciCA0106.pcm.surround51.0 { 118d5ac70f0Sopenharmony_ci @args [ CARD ] 119d5ac70f0Sopenharmony_ci @args.CARD { 120d5ac70f0Sopenharmony_ci type string 121d5ac70f0Sopenharmony_ci } 122d5ac70f0Sopenharmony_ci type multi 123d5ac70f0Sopenharmony_ci slaves [ 124d5ac70f0Sopenharmony_ci { 125d5ac70f0Sopenharmony_ci pcm { 126d5ac70f0Sopenharmony_ci @func concat 127d5ac70f0Sopenharmony_ci strings [ 128d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.front.0:CARD=" $CARD 129d5ac70f0Sopenharmony_ci ] 130d5ac70f0Sopenharmony_ci } 131d5ac70f0Sopenharmony_ci channels 2 132d5ac70f0Sopenharmony_ci } 133d5ac70f0Sopenharmony_ci { 134d5ac70f0Sopenharmony_ci pcm { 135d5ac70f0Sopenharmony_ci @func concat 136d5ac70f0Sopenharmony_ci strings [ 137d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.rear.0:CARD=" $CARD 138d5ac70f0Sopenharmony_ci ] 139d5ac70f0Sopenharmony_ci } 140d5ac70f0Sopenharmony_ci channels 2 141d5ac70f0Sopenharmony_ci } 142d5ac70f0Sopenharmony_ci { 143d5ac70f0Sopenharmony_ci pcm { 144d5ac70f0Sopenharmony_ci @func concat 145d5ac70f0Sopenharmony_ci strings [ 146d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD 147d5ac70f0Sopenharmony_ci ] 148d5ac70f0Sopenharmony_ci } 149d5ac70f0Sopenharmony_ci channels 2 150d5ac70f0Sopenharmony_ci } 151d5ac70f0Sopenharmony_ci ] 152d5ac70f0Sopenharmony_ci bindings [ 153d5ac70f0Sopenharmony_ci { slave 0 channel 0 } 154d5ac70f0Sopenharmony_ci { slave 0 channel 1 } 155d5ac70f0Sopenharmony_ci { slave 1 channel 0 } 156d5ac70f0Sopenharmony_ci { slave 1 channel 1 } 157d5ac70f0Sopenharmony_ci { slave 2 channel 0 } 158d5ac70f0Sopenharmony_ci { slave 2 channel 1 } 159d5ac70f0Sopenharmony_ci ] 160d5ac70f0Sopenharmony_ci} 161d5ac70f0Sopenharmony_ci 162d5ac70f0Sopenharmony_ciCA0106.pcm.surround71.0 { 163d5ac70f0Sopenharmony_ci @args [ CARD ] 164d5ac70f0Sopenharmony_ci @args.CARD { 165d5ac70f0Sopenharmony_ci type string 166d5ac70f0Sopenharmony_ci } 167d5ac70f0Sopenharmony_ci type multi 168d5ac70f0Sopenharmony_ci slaves [ 169d5ac70f0Sopenharmony_ci { 170d5ac70f0Sopenharmony_ci pcm { 171d5ac70f0Sopenharmony_ci @func concat 172d5ac70f0Sopenharmony_ci strings [ 173d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.front.0:CARD=" $CARD 174d5ac70f0Sopenharmony_ci ] 175d5ac70f0Sopenharmony_ci } 176d5ac70f0Sopenharmony_ci channels 2 177d5ac70f0Sopenharmony_ci } 178d5ac70f0Sopenharmony_ci { 179d5ac70f0Sopenharmony_ci pcm { 180d5ac70f0Sopenharmony_ci @func concat 181d5ac70f0Sopenharmony_ci strings [ 182d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.rear.0:CARD=" $CARD 183d5ac70f0Sopenharmony_ci ] 184d5ac70f0Sopenharmony_ci } 185d5ac70f0Sopenharmony_ci channels 2 186d5ac70f0Sopenharmony_ci } 187d5ac70f0Sopenharmony_ci { 188d5ac70f0Sopenharmony_ci pcm { 189d5ac70f0Sopenharmony_ci @func concat 190d5ac70f0Sopenharmony_ci strings [ 191d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD 192d5ac70f0Sopenharmony_ci ] 193d5ac70f0Sopenharmony_ci } 194d5ac70f0Sopenharmony_ci channels 2 195d5ac70f0Sopenharmony_ci } 196d5ac70f0Sopenharmony_ci { 197d5ac70f0Sopenharmony_ci pcm { 198d5ac70f0Sopenharmony_ci @func concat 199d5ac70f0Sopenharmony_ci strings [ 200d5ac70f0Sopenharmony_ci "cards.CA0106.pcm.side.0:CARD=" $CARD 201d5ac70f0Sopenharmony_ci ] 202d5ac70f0Sopenharmony_ci } 203d5ac70f0Sopenharmony_ci channels 2 204d5ac70f0Sopenharmony_ci } 205d5ac70f0Sopenharmony_ci ] 206d5ac70f0Sopenharmony_ci bindings [ 207d5ac70f0Sopenharmony_ci { slave 0 channel 0 } 208d5ac70f0Sopenharmony_ci { slave 0 channel 1 } 209d5ac70f0Sopenharmony_ci { slave 1 channel 0 } 210d5ac70f0Sopenharmony_ci { slave 1 channel 1 } 211d5ac70f0Sopenharmony_ci { slave 2 channel 0 } 212d5ac70f0Sopenharmony_ci { slave 2 channel 1 } 213d5ac70f0Sopenharmony_ci { slave 3 channel 0 } 214d5ac70f0Sopenharmony_ci { slave 3 channel 1 } 215d5ac70f0Sopenharmony_ci ] 216d5ac70f0Sopenharmony_ci} 217d5ac70f0Sopenharmony_ci 218d5ac70f0Sopenharmony_ci 219d5ac70f0Sopenharmony_ci 220d5ac70f0Sopenharmony_ci 221d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf> 222d5ac70f0Sopenharmony_ci 223d5ac70f0Sopenharmony_ciCA0106.pcm.iec958.0 { 224d5ac70f0Sopenharmony_ci @args [ CARD AES0 AES1 AES2 AES3 ] 225d5ac70f0Sopenharmony_ci @args.CARD { 226d5ac70f0Sopenharmony_ci type string 227d5ac70f0Sopenharmony_ci } 228d5ac70f0Sopenharmony_ci @args.AES0 { 229d5ac70f0Sopenharmony_ci type integer 230d5ac70f0Sopenharmony_ci } 231d5ac70f0Sopenharmony_ci @args.AES1 { 232d5ac70f0Sopenharmony_ci type integer 233d5ac70f0Sopenharmony_ci } 234d5ac70f0Sopenharmony_ci @args.AES2 { 235d5ac70f0Sopenharmony_ci type integer 236d5ac70f0Sopenharmony_ci } 237d5ac70f0Sopenharmony_ci @args.AES3 { 238d5ac70f0Sopenharmony_ci type integer 239d5ac70f0Sopenharmony_ci } 240d5ac70f0Sopenharmony_ci type hooks 241d5ac70f0Sopenharmony_ci slave.pcm { 242d5ac70f0Sopenharmony_ci type hw 243d5ac70f0Sopenharmony_ci card $CARD 244d5ac70f0Sopenharmony_ci } 245d5ac70f0Sopenharmony_ci hooks.0 { 246d5ac70f0Sopenharmony_ci type ctl_elems 247d5ac70f0Sopenharmony_ci hook_args [ 248d5ac70f0Sopenharmony_ci { 249d5ac70f0Sopenharmony_ci name "IEC958 Front Playback Volume" 250d5ac70f0Sopenharmony_ci index 0 251d5ac70f0Sopenharmony_ci lock true 252d5ac70f0Sopenharmony_ci preserve true 253d5ac70f0Sopenharmony_ci value [ 207 207 ] # Puts 0x30303030 in the Volume register. 0xff - 0x30 = 0xcf = 207 254d5ac70f0Sopenharmony_ci } 255d5ac70f0Sopenharmony_ci { 256d5ac70f0Sopenharmony_ci name "IEC958 Playback Switch" 257d5ac70f0Sopenharmony_ci lock true 258d5ac70f0Sopenharmony_ci preserve true 259d5ac70f0Sopenharmony_ci value 1 260d5ac70f0Sopenharmony_ci } 261d5ac70f0Sopenharmony_ci { 262d5ac70f0Sopenharmony_ci interface PCM 263d5ac70f0Sopenharmony_ci name "IEC958 Playback Default" 264d5ac70f0Sopenharmony_ci index 1 265d5ac70f0Sopenharmony_ci lock true 266d5ac70f0Sopenharmony_ci preserve true 267d5ac70f0Sopenharmony_ci optional true 268d5ac70f0Sopenharmony_ci value [ $AES0 $AES1 $AES2 $AES3 ] 269d5ac70f0Sopenharmony_ci } 270d5ac70f0Sopenharmony_ci { 271d5ac70f0Sopenharmony_ci # for compatibility with older drivers 272d5ac70f0Sopenharmony_ci name "IEC958 Playback Default" 273d5ac70f0Sopenharmony_ci index 1 274d5ac70f0Sopenharmony_ci lock true 275d5ac70f0Sopenharmony_ci preserve true 276d5ac70f0Sopenharmony_ci optional true 277d5ac70f0Sopenharmony_ci value [ $AES0 $AES1 $AES2 $AES3 ] 278d5ac70f0Sopenharmony_ci } 279d5ac70f0Sopenharmony_ci ] 280d5ac70f0Sopenharmony_ci } 281d5ac70f0Sopenharmony_ci} 282