1d5ac70f0Sopenharmony_ci# 2d5ac70f0Sopenharmony_ci# Configuration for the CMI8738 chip with 4/6 multi-channel support 3d5ac70f0Sopenharmony_ci# 4d5ac70f0Sopenharmony_ci 5d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf> 6d5ac70f0Sopenharmony_ci 7d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.front.0 { 8d5ac70f0Sopenharmony_ci @args [ CARD ] 9d5ac70f0Sopenharmony_ci @args.CARD { 10d5ac70f0Sopenharmony_ci type string 11d5ac70f0Sopenharmony_ci } 12d5ac70f0Sopenharmony_ci type hw 13d5ac70f0Sopenharmony_ci card $CARD 14d5ac70f0Sopenharmony_ci} 15d5ac70f0Sopenharmony_ci 16d5ac70f0Sopenharmony_ci# default with dmix/dsnoop 17d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.default { 18d5ac70f0Sopenharmony_ci @args [ CARD ] 19d5ac70f0Sopenharmony_ci @args.CARD { 20d5ac70f0Sopenharmony_ci type string 21d5ac70f0Sopenharmony_ci } 22d5ac70f0Sopenharmony_ci type asym 23d5ac70f0Sopenharmony_ci playback.pcm { 24d5ac70f0Sopenharmony_ci type plug 25d5ac70f0Sopenharmony_ci slave.pcm { 26d5ac70f0Sopenharmony_ci @func concat 27d5ac70f0Sopenharmony_ci strings [ "dmix:" $CARD ] 28d5ac70f0Sopenharmony_ci } 29d5ac70f0Sopenharmony_ci } 30d5ac70f0Sopenharmony_ci capture.pcm { 31d5ac70f0Sopenharmony_ci type plug 32d5ac70f0Sopenharmony_ci slave.pcm { 33d5ac70f0Sopenharmony_ci @func concat 34d5ac70f0Sopenharmony_ci strings [ "dsnoop:" $CARD ] 35d5ac70f0Sopenharmony_ci } 36d5ac70f0Sopenharmony_ci } 37d5ac70f0Sopenharmony_ci} 38d5ac70f0Sopenharmony_ci 39d5ac70f0Sopenharmony_ci<confdir:pcm/rear.conf> 40d5ac70f0Sopenharmony_ci 41d5ac70f0Sopenharmony_ci# 2nd DAC 42d5ac70f0Sopenharmony_ci# FIXME: we need a volume attenuator for rear channel. 43d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.rear.0 { 44d5ac70f0Sopenharmony_ci @args [ CARD ] 45d5ac70f0Sopenharmony_ci @args.CARD { 46d5ac70f0Sopenharmony_ci type string 47d5ac70f0Sopenharmony_ci } 48d5ac70f0Sopenharmony_ci type hw 49d5ac70f0Sopenharmony_ci card $CARD 50d5ac70f0Sopenharmony_ci device 1 51d5ac70f0Sopenharmony_ci} 52d5ac70f0Sopenharmony_ci 53d5ac70f0Sopenharmony_ci<confdir:pcm/surround40.conf> 54d5ac70f0Sopenharmony_ci 55d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.surround40.0 { 56d5ac70f0Sopenharmony_ci @args [ CARD ] 57d5ac70f0Sopenharmony_ci @args.CARD { 58d5ac70f0Sopenharmony_ci type string 59d5ac70f0Sopenharmony_ci } 60d5ac70f0Sopenharmony_ci type hooks 61d5ac70f0Sopenharmony_ci slave.pcm { 62d5ac70f0Sopenharmony_ci type hw 63d5ac70f0Sopenharmony_ci card $CARD 64d5ac70f0Sopenharmony_ci device 1 65d5ac70f0Sopenharmony_ci channels 4 66d5ac70f0Sopenharmony_ci } 67d5ac70f0Sopenharmony_ci hooks.0 { 68d5ac70f0Sopenharmony_ci type ctl_elems 69d5ac70f0Sopenharmony_ci hook_args [ 70d5ac70f0Sopenharmony_ci { 71d5ac70f0Sopenharmony_ci name "Four Channel Mode" 72d5ac70f0Sopenharmony_ci lock true 73d5ac70f0Sopenharmony_ci preserve true 74d5ac70f0Sopenharmony_ci value false 75d5ac70f0Sopenharmony_ci } 76d5ac70f0Sopenharmony_ci ] 77d5ac70f0Sopenharmony_ci } 78d5ac70f0Sopenharmony_ci} 79d5ac70f0Sopenharmony_ci 80d5ac70f0Sopenharmony_ci<confdir:pcm/surround21.conf> 81d5ac70f0Sopenharmony_ci<confdir:pcm/surround41.conf> 82d5ac70f0Sopenharmony_ci<confdir:pcm/surround50.conf> 83d5ac70f0Sopenharmony_ci<confdir:pcm/surround51.conf> 84d5ac70f0Sopenharmony_ci 85d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.surround51.0 { 86d5ac70f0Sopenharmony_ci @args [ CARD ] 87d5ac70f0Sopenharmony_ci @args.CARD { 88d5ac70f0Sopenharmony_ci type string 89d5ac70f0Sopenharmony_ci } 90d5ac70f0Sopenharmony_ci type hooks 91d5ac70f0Sopenharmony_ci slave.pcm { 92d5ac70f0Sopenharmony_ci type hw 93d5ac70f0Sopenharmony_ci card $CARD 94d5ac70f0Sopenharmony_ci device 1 95d5ac70f0Sopenharmony_ci channels 6 96d5ac70f0Sopenharmony_ci } 97d5ac70f0Sopenharmony_ci hooks.0 { 98d5ac70f0Sopenharmony_ci type ctl_elems 99d5ac70f0Sopenharmony_ci hook_args [ 100d5ac70f0Sopenharmony_ci { 101d5ac70f0Sopenharmony_ci name "Four Channel Mode" 102d5ac70f0Sopenharmony_ci lock true 103d5ac70f0Sopenharmony_ci preserve true 104d5ac70f0Sopenharmony_ci value false 105d5ac70f0Sopenharmony_ci } 106d5ac70f0Sopenharmony_ci ] 107d5ac70f0Sopenharmony_ci } 108d5ac70f0Sopenharmony_ci} 109d5ac70f0Sopenharmony_ci 110d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf> 111d5ac70f0Sopenharmony_ci 112d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.iec958.0 { 113d5ac70f0Sopenharmony_ci @args [ CARD AES0 AES1 AES2 AES3 ] 114d5ac70f0Sopenharmony_ci @args.CARD { 115d5ac70f0Sopenharmony_ci type string 116d5ac70f0Sopenharmony_ci } 117d5ac70f0Sopenharmony_ci @args.AES0 { 118d5ac70f0Sopenharmony_ci type integer 119d5ac70f0Sopenharmony_ci } 120d5ac70f0Sopenharmony_ci @args.AES1 { 121d5ac70f0Sopenharmony_ci type integer 122d5ac70f0Sopenharmony_ci } 123d5ac70f0Sopenharmony_ci @args.AES2 { 124d5ac70f0Sopenharmony_ci type integer 125d5ac70f0Sopenharmony_ci } 126d5ac70f0Sopenharmony_ci @args.AES3 { 127d5ac70f0Sopenharmony_ci type integer 128d5ac70f0Sopenharmony_ci } 129d5ac70f0Sopenharmony_ci type asym 130d5ac70f0Sopenharmony_ci playback.pcm { 131d5ac70f0Sopenharmony_ci type hooks 132d5ac70f0Sopenharmony_ci slave.pcm { 133d5ac70f0Sopenharmony_ci type hw 134d5ac70f0Sopenharmony_ci card $CARD 135d5ac70f0Sopenharmony_ci device 2 136d5ac70f0Sopenharmony_ci } 137d5ac70f0Sopenharmony_ci hooks.0 { 138d5ac70f0Sopenharmony_ci type ctl_elems 139d5ac70f0Sopenharmony_ci hook_args [ 140d5ac70f0Sopenharmony_ci { 141d5ac70f0Sopenharmony_ci interface PCM 142d5ac70f0Sopenharmony_ci name "IEC958 Playback PCM Stream" 143d5ac70f0Sopenharmony_ci device 2 144d5ac70f0Sopenharmony_ci lock true 145d5ac70f0Sopenharmony_ci preserve true 146d5ac70f0Sopenharmony_ci value [ $AES0 $AES1 $AES2 $AES3 ] 147d5ac70f0Sopenharmony_ci } 148d5ac70f0Sopenharmony_ci { 149d5ac70f0Sopenharmony_ci name "IEC958 Loop" 150d5ac70f0Sopenharmony_ci lock true 151d5ac70f0Sopenharmony_ci preserve true 152d5ac70f0Sopenharmony_ci value off 153d5ac70f0Sopenharmony_ci } 154d5ac70f0Sopenharmony_ci ] 155d5ac70f0Sopenharmony_ci } 156d5ac70f0Sopenharmony_ci } 157d5ac70f0Sopenharmony_ci capture.pcm { 158d5ac70f0Sopenharmony_ci type hw 159d5ac70f0Sopenharmony_ci card $CARD 160d5ac70f0Sopenharmony_ci device 2 161d5ac70f0Sopenharmony_ci } 162d5ac70f0Sopenharmony_ci} 163