unsigned int force_rdma1: 1; /* VT1720/4 - RDMA1 as non-spdif */
unsigned int num_total_dacs; /* total DACs */
unsigned int num_total_adcs; /* total ADCs */
- unsigned char hoontech_boxbits[4];
- unsigned int hoontech_config;
- unsigned short hoontech_boxconfig[4];
unsigned int cur_rate; /* current rate */
struct semaphore open_mutex;
struct snd_ice1712_spdif spdif;
snd_i2c_bus_t *i2c; /* I2C bus */
- snd_i2c_device_t *cs8404; /* CS8404A I2C device */
snd_i2c_device_t *cs8427; /* CS8427 I2C device */
unsigned int cs8427_timeout; /* CS8427 reset timeout in HZ/100 */
- snd_i2c_device_t *i2cdevs[2]; /* additional i2c devices */
struct ice1712_gpio {
unsigned int direction; /* current direction bits */
void (*set_pro_rate)(ice1712_t *ice, unsigned int rate);
} gpio;
struct semaphore gpio_mutex;
+
+ /* other board-specific data */
+ union {
+ /* additional i2c devices for EWS boards*/
+ snd_i2c_device_t *i2cdevs[3];
+ /* AC97 register cache for Aureon */
+ struct aureon_spec {
+ unsigned short stac9744[64];
+ unsigned int cs8415_mux;
+ unsigned short master[2];
+ unsigned short vol[8];
+ } aureon;
+ /* Hoontech-specific setting */
+ struct hoontech_spec {
+ unsigned char boxbits[4];
+ unsigned int config;
+ unsigned short boxconfig[4];
+ } hoontech;
+ } spec;
+
};