1d5ac70f0Sopenharmony_ci# 2d5ac70f0Sopenharmony_ci# Configuration for the VC4-HDMI sound card using software IEC958 3d5ac70f0Sopenharmony_ci# subframe conversion 4d5ac70f0Sopenharmony_ci# 5d5ac70f0Sopenharmony_ci 6d5ac70f0Sopenharmony_ci<confdir:pcm/hdmi.conf> 7d5ac70f0Sopenharmony_ci 8d5ac70f0Sopenharmony_civc4-hdmi.pcm.hdmi.0 { 9d5ac70f0Sopenharmony_ci @args [ CARD AES0 AES1 AES2 AES3 ] 10d5ac70f0Sopenharmony_ci @args.CARD { 11d5ac70f0Sopenharmony_ci type string 12d5ac70f0Sopenharmony_ci } 13d5ac70f0Sopenharmony_ci @args.AES0 { 14d5ac70f0Sopenharmony_ci type integer 15d5ac70f0Sopenharmony_ci } 16d5ac70f0Sopenharmony_ci @args.AES1 { 17d5ac70f0Sopenharmony_ci type integer 18d5ac70f0Sopenharmony_ci } 19d5ac70f0Sopenharmony_ci @args.AES2 { 20d5ac70f0Sopenharmony_ci type integer 21d5ac70f0Sopenharmony_ci } 22d5ac70f0Sopenharmony_ci @args.AES3 { 23d5ac70f0Sopenharmony_ci type integer 24d5ac70f0Sopenharmony_ci } 25d5ac70f0Sopenharmony_ci type iec958 26d5ac70f0Sopenharmony_ci slave { 27d5ac70f0Sopenharmony_ci format IEC958_SUBFRAME_LE 28d5ac70f0Sopenharmony_ci pcm { 29d5ac70f0Sopenharmony_ci type hooks 30d5ac70f0Sopenharmony_ci slave.pcm { 31d5ac70f0Sopenharmony_ci type hw 32d5ac70f0Sopenharmony_ci card $CARD 33d5ac70f0Sopenharmony_ci device 0 34d5ac70f0Sopenharmony_ci } 35d5ac70f0Sopenharmony_ci hooks.0 { 36d5ac70f0Sopenharmony_ci type ctl_elems 37d5ac70f0Sopenharmony_ci hook_args [ 38d5ac70f0Sopenharmony_ci { 39d5ac70f0Sopenharmony_ci name "IEC958 Playback Default" 40d5ac70f0Sopenharmony_ci interface PCM 41d5ac70f0Sopenharmony_ci optional true 42d5ac70f0Sopenharmony_ci lock true 43d5ac70f0Sopenharmony_ci preserve true 44d5ac70f0Sopenharmony_ci value [ $AES0 $AES1 $AES2 $AES3 ] 45d5ac70f0Sopenharmony_ci } 46d5ac70f0Sopenharmony_ci ] 47d5ac70f0Sopenharmony_ci } 48d5ac70f0Sopenharmony_ci } 49d5ac70f0Sopenharmony_ci } 50d5ac70f0Sopenharmony_ci status [ $AES0 $AES1 $AES2 $AES3 ] 51d5ac70f0Sopenharmony_ci hdmi_mode true 52d5ac70f0Sopenharmony_ci} 53d5ac70f0Sopenharmony_ci 54d5ac70f0Sopenharmony_ci# default with plug and softvol 55d5ac70f0Sopenharmony_civc4-hdmi.pcm.default { 56d5ac70f0Sopenharmony_ci @args [ CARD ] 57d5ac70f0Sopenharmony_ci @args.CARD { 58d5ac70f0Sopenharmony_ci type string 59d5ac70f0Sopenharmony_ci } 60d5ac70f0Sopenharmony_ci type asym 61d5ac70f0Sopenharmony_ci playback.pcm { 62d5ac70f0Sopenharmony_ci type plug 63d5ac70f0Sopenharmony_ci slave.pcm { 64d5ac70f0Sopenharmony_ci type softvol 65d5ac70f0Sopenharmony_ci slave.pcm { 66d5ac70f0Sopenharmony_ci @func concat 67d5ac70f0Sopenharmony_ci strings [ 68d5ac70f0Sopenharmony_ci "cards.vc4-hdmi.pcm.hdmi.0:" 69d5ac70f0Sopenharmony_ci "CARD=" $CARD "," 70d5ac70f0Sopenharmony_ci "AES0=0x04," # IEC958_AES0_CON_NOT_COPYRIGHT | IEC958_AES0_CON_EMPHASIS_NONE 71d5ac70f0Sopenharmony_ci "AES1=0x82," # IEC958_AES1_CON_ORIGINAL | IEC958_AES1_CON_PCM_CODER 72d5ac70f0Sopenharmony_ci "AES2=0x00," # IEC958_AES2_CON_SOURCE_UNSPEC | IEC958_AES2_CON_CHANNEL_UNSPEC 73d5ac70f0Sopenharmony_ci "AES3=0x01" # IEC958_AES3_CON_FS_NOTID (iec958 plugin will fill in actual rate) 74d5ac70f0Sopenharmony_ci ] 75d5ac70f0Sopenharmony_ci } 76d5ac70f0Sopenharmony_ci control { 77d5ac70f0Sopenharmony_ci name "PCM Playback Volume" 78d5ac70f0Sopenharmony_ci card $CARD 79d5ac70f0Sopenharmony_ci } 80d5ac70f0Sopenharmony_ci } 81d5ac70f0Sopenharmony_ci } 82d5ac70f0Sopenharmony_ci} 83