blob: f84ed80050b34c6ac6e27bcc1cbc982432912ea3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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