Update of /cvsroot/alsa/alsa-kernel/pci/ice1712
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30411

Modified Files:
        hoontech.c hoontech.h 
Log Message:
<[EMAIL PROTECTED]>
ice1712 patch for dsp24 value cards
Without this patch in envy24control no controls for DAC and ADC
available because no number of dacs and adcs is given.


Index: hoontech.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/hoontech.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- hoontech.c  7 May 2004 10:18:59 -0000       1.6
+++ hoontech.c  16 May 2004 13:40:00 -0000      1.7
@@ -216,6 +216,73 @@
        return 0;
 }
 
+/*
+ * AK4524 access
+ */
+
+/* start callback for STDSP24 with modified hardware */
+static void stdsp24_ak4524_lock(akm4xxx_t *ak, int chip)
+{
+       ice1712_t *ice = ak->private_data[0];
+       unsigned char tmp;
+       snd_ice1712_save_gpio_status(ice);
+       tmp =   ICE1712_STDSP24_SERIAL_DATA |
+               ICE1712_STDSP24_SERIAL_CLOCK |
+               ICE1712_STDSP24_AK4524_CS;
+       snd_ice1712_write(ice, ICE1712_IREG_GPIO_DIRECTION,
+                         ice->gpio.direction | tmp);
+       snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK, ~tmp);
+}
+
+static int __devinit snd_ice1712_value_init(ice1712_t *ice)
+{
+       /* Hoontech STDSP24 with modified hardware */
+       static akm4xxx_t akm_stdsp24_mv __devinitdata = {
+               .num_adcs = 2,
+               .num_dacs = 2,
+               .type = SND_AK4524,
+               .ops = {
+                       .lock = stdsp24_ak4524_lock
+               }
+       };
+
+       static struct snd_ak4xxx_private akm_stdsp24_mv_priv __devinitdata = {
+               .caddr = 2,
+               .cif = 1, /* CIF high */
+               .data_mask = ICE1712_STDSP24_SERIAL_DATA,
+               .clk_mask = ICE1712_STDSP24_SERIAL_CLOCK,
+               .cs_mask = ICE1712_STDSP24_AK4524_CS,
+               .cs_addr = ICE1712_STDSP24_AK4524_CS,
+               .cs_none = 0,
+               .add_flags = 0,
+       };
+
+       int err;
+       akm4xxx_t *ak;
+
+       /* set the analog DACs */
+       ice->num_total_dacs = 2;
+
+       /* set the analog ADCs */
+       ice->num_total_adcs = 2;
+       
+       /* analog section */
+       ak = ice->akm = kmalloc(sizeof(akm4xxx_t), GFP_KERNEL);
+       if (! ak)
+               return -ENOMEM;
+       ice->akm_codecs = 1;
+
+       err = snd_ice1712_akm4xxx_init(ak, &akm_stdsp24_mv, &akm_stdsp24_mv_priv, ice);
+       if (err < 0)
+               return err;
+
+       /* ak4524 controls */
+       err = snd_ice1712_akm4xxx_build_controls(ice);
+       if (err < 0)
+               return err;
+
+       return 0;
+}
 
 static int __devinit snd_ice1712_ez8_init(ice1712_t *ice)
 {
@@ -237,6 +304,12 @@
                .chip_init = snd_ice1712_hoontech_init,
        },
        {
+               .subvendor = ICE1712_SUBDEVICE_STDSP24_VALUE,   /* a dummy id */
+               .name = "Hoontech SoundTrack Audio DSP24 Value",
+               .model = "dsp24_value",
+               .chip_init = snd_ice1712_value_init,
+       },
+       {
                .subvendor = ICE1712_SUBDEVICE_STDSP24_MEDIA7_1,
                .name = "Hoontech STA DSP24 Media 7.1",
                .model = "dsp24_71",

Index: hoontech.h
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/hoontech.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- hoontech.h  7 May 2004 10:18:59 -0000       1.4
+++ hoontech.h  16 May 2004 13:40:00 -0000      1.5
@@ -31,6 +31,7 @@
        "{Event Electronics,EZ8},"
 
 #define ICE1712_SUBDEVICE_STDSP24              0x12141217      /* Hoontech SoundTrack 
Audio DSP 24 */
+#define ICE1712_SUBDEVICE_STDSP24_VALUE                0x00010010      /* A dummy id 
for Hoontech SoundTrack Audio DSP 24 Value */
 #define ICE1712_SUBDEVICE_STDSP24_MEDIA7_1     0x16141217      /* Hoontech ST Audio 
DSP24 Media 7.1 */
 #define ICE1712_SUBDEVICE_EVENT_EZ8            0x00010001      /* A dummy id for EZ8 
*/
 
@@ -67,4 +68,10 @@
 #define ICE1712_STDSP24_BOX_MIDI1      (1<<8)
 #define ICE1712_STDSP24_BOX_MIDI2      (1<<9)
 
+/* Hoontech SoundTrack Audio DSP 24 Value definitions for modified hardware */
+
+#define ICE1712_STDSP24_AK4524_CS      0x03    /* AK4524 chip select; low = active */
+#define ICE1712_STDSP24_SERIAL_DATA    0x0c    /* ak4524 data */
+#define ICE1712_STDSP24_SERIAL_CLOCK   0x30    /* ak4524 clock */
+
 #endif /* __SOUND_HOONTECH_H */



-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to