jpayne@68: # jpayne@68: # Configuration for the CS46xx chip jpayne@68: # jpayne@68: jpayne@68: jpayne@68: jpayne@68: CS46xx.pcm.front.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type hw jpayne@68: card $CARD jpayne@68: } jpayne@68: jpayne@68: # default with plughw jpayne@68: # CS46xx supports multi-playback jpayne@68: CS46xx.pcm.default { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type asym jpayne@68: playback.pcm { jpayne@68: type plug jpayne@68: slave.pcm { jpayne@68: @func concat jpayne@68: strings [ "hw:" $CARD ] jpayne@68: } jpayne@68: } jpayne@68: capture.pcm { jpayne@68: type plug jpayne@68: slave.pcm { jpayne@68: @func concat jpayne@68: strings [ "hw:" $CARD ] jpayne@68: } jpayne@68: } jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: CS46xx.pcm.rear.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type hooks jpayne@68: slave.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: device 1 jpayne@68: } jpayne@68: hooks.0 { jpayne@68: type ctl_elems jpayne@68: hook_args [ jpayne@68: { jpayne@68: name "Duplicate Front" jpayne@68: lock true jpayne@68: preserve true jpayne@68: value 0 jpayne@68: optional true jpayne@68: } jpayne@68: ] jpayne@68: } jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: CS46xx.pcm.center_lfe.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type hw jpayne@68: card $CARD jpayne@68: device 3 jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: CS46xx.pcm.surround40.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type multi jpayne@68: slaves [ jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.CS46xx.pcm.front.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.CS46xx.pcm.rear.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: ] jpayne@68: bindings [ jpayne@68: { slave 0 channel 0 } jpayne@68: { slave 0 channel 1 } jpayne@68: { slave 1 channel 0 } jpayne@68: { slave 1 channel 1 } jpayne@68: ] jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: CS46xx.pcm.surround51.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type multi jpayne@68: slaves [ jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.CS46xx.pcm.front.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.CS46xx.pcm.rear.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.CS46xx.pcm.center_lfe.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: ] jpayne@68: bindings [ jpayne@68: { slave 0 channel 0 } jpayne@68: { slave 0 channel 1 } jpayne@68: { slave 1 channel 0 } jpayne@68: { slave 1 channel 1 } jpayne@68: { slave 2 channel 0 } jpayne@68: { slave 2 channel 1 } jpayne@68: ] jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: CS46xx.pcm.iec958.0 { jpayne@68: @args [ CARD AES0 AES1 AES2 AES3 ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: @args.AES0 { jpayne@68: type integer jpayne@68: } jpayne@68: @args.AES1 { jpayne@68: type integer jpayne@68: } jpayne@68: @args.AES2 { jpayne@68: type integer jpayne@68: } jpayne@68: @args.AES3 { jpayne@68: type integer jpayne@68: } jpayne@68: type hooks jpayne@68: slave.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: device 2 jpayne@68: } jpayne@68: hooks.0 { jpayne@68: type ctl_elems jpayne@68: hook_args [ jpayne@68: { jpayne@68: name "IEC958 Output Switch" jpayne@68: lock true jpayne@68: preserve true jpayne@68: value 1 jpayne@68: } jpayne@68: { jpayne@68: interface PCM jpayne@68: name "IEC958 Playback PCM Stream" jpayne@68: device 2 jpayne@68: lock true jpayne@68: preserve true jpayne@68: optional true jpayne@68: value [ $AES0 $AES1 $AES2 $AES3 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: interface PCM jpayne@68: name "IEC958 Playback PCM Stream" jpayne@68: lock true jpayne@68: preserve true jpayne@68: optional true jpayne@68: value [ $AES0 $AES1 $AES2 $AES3 ] jpayne@68: } jpayne@68: ] jpayne@68: } jpayne@68: }