# # Configuration for the CMI8738 chip with 4/6 multi-channel support # CMI8738-MC6.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop CMI8738-MC6.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } # 2nd DAC # FIXME: we need a volume attenuator for rear channel. CMI8738-MC6.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } CMI8738-MC6.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } CMI8738-MC6.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } CMI8738-MC6.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 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" device 2 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Loop" lock true preserve true value off } ] } } capture.pcm { type hw card $CARD device 2 } }