1#ifndef __INCLUDED_TEA6415C__ 2#define __INCLUDED_TEA6415C__ 3 4/* possible i2c-addresses */ 5#define I2C_TEA6415C_1 0x03 6#define I2C_TEA6415C_2 0x43 7 8/* the tea6415c's design is quite brain-dead. although there are 9 8 inputs and 6 outputs, these aren't enumerated in any way. because 10 I don't want to say "connect input pin 20 to output pin 17", I define 11 a "virtual" pin-order. */ 12 13/* input pins */ 14#define TEA6415C_OUTPUT1 18 15#define TEA6415C_OUTPUT2 14 16#define TEA6415C_OUTPUT3 16 17#define TEA6415C_OUTPUT4 17 18#define TEA6415C_OUTPUT5 13 19#define TEA6415C_OUTPUT6 15 20 21/* output pins */ 22#define TEA6415C_INPUT1 5 23#define TEA6415C_INPUT2 8 24#define TEA6415C_INPUT3 3 25#define TEA6415C_INPUT4 20 26#define TEA6415C_INPUT5 6 27#define TEA6415C_INPUT6 10 28#define TEA6415C_INPUT7 1 29#define TEA6415C_INPUT8 11 30 31struct tea6415c_multiplex 32{ 33 int in; /* input-pin */ 34 int out; /* output-pin */ 35}; 36 37#define TEA6415C_SWITCH _IOW('v',1,struct tea6415c_multiplex) 38 39#endif 40