# # Configuration for the CMI8788 chip # CMI8788.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix & dsnoop CMI8788.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] } } } CMI8788.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 4 } CMI8788.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 6 } CMI8788.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 8 } CMI8788.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM device 1 name "IEC958 Playback PCM Stream" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } capture.pcm { type hw card $CARD device 1 } } # vim: ft=alsaconf