389 |
* initialize the chip |
* initialize the chip |
390 |
*/ |
*/ |
391 |
|
|
392 |
|
/* 6fire specific */ |
393 |
|
#define PCF9554_REG_INPUT 0 |
394 |
|
#define PCF9554_REG_OUTPUT 1 |
395 |
|
#define PCF9554_REG_POLARITY 2 |
396 |
|
#define PCF9554_REG_CONFIG 3 |
397 |
|
|
398 |
|
static int snd_ice1712_6fire_write_pca(ice1712_t *ice, unsigned char reg, unsigned char data); |
399 |
|
|
400 |
static int __devinit snd_ice1712_ews_init(ice1712_t *ice) |
static int __devinit snd_ice1712_ews_init(ice1712_t *ice) |
401 |
{ |
{ |
402 |
int err; |
int err; |
433 |
snd_printk("PCF9554 initialization failed\n"); |
snd_printk("PCF9554 initialization failed\n"); |
434 |
return err; |
return err; |
435 |
} |
} |
436 |
|
snd_ice1712_6fire_write_pca(ice, PCF9554_REG_CONFIG, 0x80); |
437 |
break; |
break; |
438 |
case ICE1712_SUBDEVICE_EWS88MT: |
case ICE1712_SUBDEVICE_EWS88MT: |
439 |
case ICE1712_SUBDEVICE_EWS88MT_NEW: |
case ICE1712_SUBDEVICE_EWS88MT_NEW: |
458 |
case ICE1712_SUBDEVICE_EWX2496: |
case ICE1712_SUBDEVICE_EWX2496: |
459 |
if ((err = snd_ice1712_init_cs8427(ice, CS8427_BASE_ADDR)) < 0) |
if ((err = snd_ice1712_init_cs8427(ice, CS8427_BASE_ADDR)) < 0) |
460 |
return err; |
return err; |
461 |
|
snd_cs8427_reg_write(ice->cs8427, CS8427_REG_RECVERRMASK, CS8427_UNLOCK | CS8427_CONF | CS8427_BIP | CS8427_PAR); |
462 |
break; |
break; |
463 |
case ICE1712_SUBDEVICE_DMX6FIRE: |
case ICE1712_SUBDEVICE_DMX6FIRE: |
464 |
if ((err = snd_ice1712_init_cs8427(ice, ICE1712_6FIRE_CS8427_ADDR)) < 0) |
if ((err = snd_ice1712_init_cs8427(ice, ICE1712_6FIRE_CS8427_ADDR)) < 0) |
465 |
return err; |
return err; |
466 |
|
snd_cs8427_reg_write(ice->cs8427, CS8427_REG_RECVERRMASK, CS8427_UNLOCK | CS8427_CONF | CS8427_BIP | CS8427_PAR); |
467 |
break; |
break; |
468 |
case ICE1712_SUBDEVICE_EWS88MT: |
case ICE1712_SUBDEVICE_EWS88MT: |
469 |
case ICE1712_SUBDEVICE_EWS88MT_NEW: |
case ICE1712_SUBDEVICE_EWS88MT_NEW: |
761 |
* DMX 6Fire specific controls |
* DMX 6Fire specific controls |
762 |
*/ |
*/ |
763 |
|
|
|
#define PCF9554_REG_INPUT 0 |
|
|
#define PCF9554_REG_OUTPUT 1 |
|
|
#define PCF9554_REG_POLARITY 2 |
|
|
#define PCF9554_REG_CONFIG 3 |
|
|
|
|
764 |
static int snd_ice1712_6fire_read_pca(ice1712_t *ice, unsigned char reg) |
static int snd_ice1712_6fire_read_pca(ice1712_t *ice, unsigned char reg) |
765 |
{ |
{ |
766 |
unsigned char byte; |
unsigned char byte; |