From 828562a5ee0acb263fa7788d11e53ad92d007ab1 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Fri, 22 Jun 2001 09:01:22 +0000 Subject: [PATCH] Added missing iec958.conf. Added defaults for iec958. Fixed slave type in IEC1712.conf. Corrected config file for CMI8738. --- src/conf/alsa.conf | 4 ++ src/conf/cards/{CMIPCI.conf => CMI8738.conf} | 41 +++++++---- src/conf/cards/ICE1712.conf | 2 +- src/conf/pcm/iec958.conf | 72 ++++++++++++++++++++ 4 files changed, 103 insertions(+), 16 deletions(-) rename src/conf/cards/{CMIPCI.conf => CMI8738.conf} (69%) create mode 100644 src/conf/pcm/iec958.conf diff --git a/src/conf/alsa.conf b/src/conf/alsa.conf index 8ff480eb..ce2323c7 100644 --- a/src/conf/alsa.conf +++ b/src/conf/alsa.conf @@ -49,6 +49,8 @@ defaults.pcm.surround40.card defaults.pcm.card defaults.pcm.surround40.device defaults.pcm.device defaults.pcm.surround51.card defaults.pcm.card defaults.pcm.surround51.device defaults.pcm.device +defaults.pcm.iec958.card defaults.pcm.card +defaults.pcm.iec958.device defaults.pcm.device defaults.rawmidi.card 0 defaults.rawmidi.device 0 defaults.rawmidi.subdevice -1 @@ -243,6 +245,8 @@ pcm.rear cards.pcm.rear pcm.center_lfe cards.pcm.center_lfe pcm.surround40 cards.pcm.surround40 pcm.surround51 cards.pcm.surround51 +pcm.iec958 cards.pcm.iec958 +pcm.spdif cards.pcm.iec958 # # Control interface diff --git a/src/conf/cards/CMIPCI.conf b/src/conf/cards/CMI8738.conf similarity index 69% rename from src/conf/cards/CMIPCI.conf rename to src/conf/cards/CMI8738.conf index 60596c39..090dbf2d 100644 --- a/src/conf/cards/CMIPCI.conf +++ b/src/conf/cards/CMI8738.conf @@ -2,7 +2,9 @@ # Configuration for the CMIPCI chip # -CMIPCI.pcm.front.0 { + + +CMI8738.pcm.front.0 { @args [ CARD ] @args.CARD { type string @@ -12,9 +14,11 @@ CMIPCI.pcm.front.0 { device 0 } + + # 2nd DAC # FIXME: we need a volume attenuator for rear channel. -CMIPCI.pcm.rear.0 { +CMI8738.pcm.rear.0 { @args [ CARD ] @args.CARD { type string @@ -24,12 +28,10 @@ CMIPCI.pcm.rear.0 { device 1 } -# for the recent CM8738 chips -# cards.CMIPCI.pcm.surround40.0 "cards.CMIPCI.pcm.front.0" -CMIPCI.pcm.surround51.0 "cards.CMIPCI.pcm.front.0" + # for the old CM8738 with 2nd DAC for rear -CMIPCI.pcm.surround40.0 { +CMI8738.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string @@ -41,7 +43,7 @@ CMIPCI.pcm.surround40.0 { pcm { @func concat strings [ - "cards.CMIPCI.pcm.front.0:CARD=" $CARD + "cards.CMI8738.pcm.front.0:CARD=" $CARD ] } channels 2 @@ -50,7 +52,7 @@ CMIPCI.pcm.surround40.0 { pcm { @func concat strings [ - "cards.CMIPCI.pcm.rear.0:CARD=" $CARD + "cards.CMI8738.pcm.rear.0:CARD=" $CARD ] } channels 2 @@ -64,8 +66,17 @@ CMIPCI.pcm.surround40.0 { ] } +# for the recent CM8738 chips +# cards.CMI8738.pcm.surround40.0 "cards.CMI8738.pcm.front.0" + + + + +CMI8738.pcm.surround51.0 "cards.CMI8738.pcm.front.0" -CMIPCI.pcm.iec958.0 { + + +CMI8738.pcm.iec958.0 { @args [ CARD DEV AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -86,18 +97,18 @@ CMIPCI.pcm.iec958.0 { type integer } type hooks + slave.pcm { + type hw + card $CARD + device 2 + } hooks.0 { type ctl_elems hook_args [ - { - name "IEC958 Enable" - value 1 - lock true - preserve true - } { interface PCM name "IEC958 Playback PCM Stream" + device 2 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] diff --git a/src/conf/cards/ICE1712.conf b/src/conf/cards/ICE1712.conf index efc30f2e..7c46e9b3 100644 --- a/src/conf/cards/ICE1712.conf +++ b/src/conf/cards/ICE1712.conf @@ -80,7 +80,7 @@ ICE1712.pcm.iec958.0 { } type hooks slave.pcm { - type plug + type route ttable.0.8 1 ttable.1.9 1 card $CARD diff --git a/src/conf/pcm/iec958.conf b/src/conf/pcm/iec958.conf new file mode 100644 index 00000000..85c5bc11 --- /dev/null +++ b/src/conf/pcm/iec958.conf @@ -0,0 +1,72 @@ +# +# Hardware output from iec958 +# + +pcm.!iec958 { + @args [ CARD DEV AES0 AES1 AES2 AES3 ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_IEC958_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.iec958.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_IEC958_DEVICE + ] + default { + @func refer + name defaults.pcm.iec958.device + } + } + } + @args.AES0 { + type integer + # consumer, not-copyright, emphasis-none, mode=0 + default 0x04 + } + @args.AES1 { + type integer + # original, PCM coder + default 0x82 + } + @args.AES2 { + type integer + # source and channel + default 0x00 + } + @args.AES3 { + type integer + # fs=48000Hz, clock accuracy=1000ppm + default 0x02 + } + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_strtype + card $CARD + } + ".pcm.iec958." $DEV ":" + "CARD=" $CARD "," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } +} -- 2.47.1