~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/i2c-id.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* ------------------------------------------------------------------------- */
  2 /*                                                                           */
  3 /* i2c.h - definitions for the i2c-bus interface                             */
  4 /*                                                                           */
  5 /* ------------------------------------------------------------------------- */
  6 /*   Copyright (C) 1995-1999 Simon G. Vogl
  7 
  8     This program is free software; you can redistribute it and/or modify
  9     it under the terms of the GNU General Public License as published by
 10     the Free Software Foundation; either version 2 of the License, or
 11     (at your option) any later version.
 12 
 13     This program is distributed in the hope that it will be useful,
 14     but WITHOUT ANY WARRANTY; without even the implied warranty of
 15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 16     GNU General Public License for more details.
 17 
 18     You should have received a copy of the GNU General Public License
 19     along with this program; if not, write to the Free Software
 20     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                */
 21 /* ------------------------------------------------------------------------- */
 22 
 23 /* $Id: i2c-id.h,v 1.25 2000/10/12 07:27:29 simon Exp $ */
 24 
 25 #ifndef I2C_ID_H
 26 #define I2C_ID_H
 27 /*
 28  * This file is part of the i2c-bus package and contains the identifier
 29  * values for drivers, adapters and other folk populating these serial
 30  * worlds. 
 31  *
 32  * These will change often (i.e. additions) , therefore this has been 
 33  * separated from the functional interface definitions of the i2c api.
 34  *
 35  */
 36 
 37 /*
 38  * ---- Driver types -----------------------------------------------------
 39  *       device id name + number        function description, i2c address(es)
 40  *
 41  *  Range 1000-1999 range is defined in sensors/sensors.h 
 42  *  Range 0x100 - 0x1ff is for V4L2 Common Components 
 43  *  Range 0xf000 - 0xffff is reserved for local experimentation, and should
 44  *        never be used in official drivers 
 45  */
 46 
 47 #define I2C_DRIVERID_MSP3400     1
 48 #define I2C_DRIVERID_TUNER       2
 49 #define I2C_DRIVERID_VIDEOTEX    3      /* please rename                */
 50 #define I2C_DRIVERID_TDA8425     4      /* stereo sound processor       */
 51 #define I2C_DRIVERID_TEA6420     5      /* audio matrix switch          */
 52 #define I2C_DRIVERID_TEA6415C    6      /* video matrix switch          */
 53 #define I2C_DRIVERID_TDA9840     7      /* stereo sound processor       */
 54 #define I2C_DRIVERID_SAA7111A    8      /* video input processor        */
 55 #define I2C_DRIVERID_SAA5281     9      /* videotext decoder            */
 56 #define I2C_DRIVERID_SAA7112    10      /* video decoder, image scaler  */
 57 #define I2C_DRIVERID_SAA7120    11      /* video encoder                */
 58 #define I2C_DRIVERID_SAA7121    12      /* video encoder                */
 59 #define I2C_DRIVERID_SAA7185B   13      /* video encoder                */
 60 #define I2C_DRIVERID_CH7003     14      /* digital pc to tv encoder     */
 61 #define I2C_DRIVERID_PCF8574A   15      /* i2c expander - 8 bit in/out  */
 62 #define I2C_DRIVERID_PCF8582C   16      /* eeprom                       */
 63 #define I2C_DRIVERID_AT24Cxx    17      /* eeprom 1/2/4/8/16 K          */
 64 #define I2C_DRIVERID_TEA6300    18      /* audio mixer                  */
 65 #define I2C_DRIVERID_BT829      19      /* pc to tv encoder             */
 66 #define I2C_DRIVERID_TDA9850    20      /* audio mixer                  */
 67 #define I2C_DRIVERID_TDA9855    21      /* audio mixer                  */
 68 #define I2C_DRIVERID_SAA7110    22      /*                              */
 69 #define I2C_DRIVERID_MGATVO     23      /* Matrox TVOut                 */
 70 #define I2C_DRIVERID_SAA5249    24      /* SAA5249 and compatibles      */
 71 #define I2C_DRIVERID_PCF8583    25      /* real time clock              */
 72 #define I2C_DRIVERID_SAB3036    26      /* SAB3036 tuner                */
 73 #define I2C_DRIVERID_TDA7432    27      /* Stereo sound processor       */
 74 #define I2C_DRIVERID_TVMIXER    28      /* Mixer driver for tv cards    */
 75 #define I2C_DRIVERID_TVAUDIO    29      /* Generic TV sound driver      */
 76 #define I2C_DRIVERID_DPL3518    30      /* Dolby decoder chip           */
 77 #define I2C_DRIVERID_TDA9873    31      /* TV sound decoder chip        */
 78 #define I2C_DRIVERID_TDA9875    32      /* TV sound decoder chip        */
 79 #define I2C_DRIVERID_PIC16C54_PV9 33    /* Audio mux/ir receiver        */
 80 
 81 #define I2C_DRIVERID_SBATT      34     /* Smart Battery Device          */
 82 #define I2C_DRIVERID_SBS        35     /* SB System Manager             */
 83 #define I2C_DRIVERID_VES1893    36     /* VLSI DVB-S decoder            */
 84 #define I2C_DRIVERID_VES1820    37     /* VLSI DVB-C decoder            */
 85 #define I2C_DRIVERID_SAA7113    38     /* video decoder                 */
 86 #define I2C_DRIVERID_TDA8444    39     /* octuple 6-bit DAC             */
 87 
 88 
 89 #define I2C_DRIVERID_EXP0       0xF0    /* experimental use id's        */
 90 #define I2C_DRIVERID_EXP1       0xF1
 91 #define I2C_DRIVERID_EXP2       0xF2
 92 #define I2C_DRIVERID_EXP3       0xF3
 93 
 94 #define I2C_DRIVERID_I2CDEV     900
 95 #define I2C_DRIVERID_I2CPROC    901
 96 
 97 /*
 98  * ---- Adapter types ----------------------------------------------------
 99  *
100  * First, we distinguish between several algorithms to access the hardware
101  * interface types, as a PCF 8584 needs other care than a bit adapter.
102  */
103 
104 #define I2C_ALGO_NONE   0x000000
105 #define I2C_ALGO_BIT    0x010000        /* bit style adapters           */
106 #define I2C_ALGO_PCF    0x020000        /* PCF 8584 style adapters      */
107 #define I2C_ALGO_ATI    0x030000        /* ATI video card               */
108 #define I2C_ALGO_SMBUS  0x040000
109 #define I2C_ALGO_ISA    0x050000        /* lm_sensors ISA pseudo-adapter */
110 #define I2C_ALGO_SAA7146 0x060000       /* SAA 7146 video decoder bus   */
111 #define I2C_ALGO_ACB    0x070000        /* ACCESS.bus algorithm         */
112 
113 #define I2C_ALGO_EC     0x100000        /* ACPI embedded controller     */
114 
115 #define I2C_ALGO_MPC8XX 0x110000        /* MPC8xx PowerPC I2C algorithm */
116 
117 #define I2C_ALGO_EXP    0x800000        /* experimental                 */
118 
119 #define I2C_ALGO_MASK   0xff0000        /* Mask for algorithms          */
120 #define I2C_ALGO_SHIFT  0x10    /* right shift to get index values      */
121 
122 #define I2C_HW_ADAPS    0x10000         /* # adapter types              */
123 #define I2C_HW_MASK     0xffff          
124 
125 
126 /* hw specific modules that are defined per algorithm layer
127  */
128 
129 /* --- Bit algorithm adapters                                           */
130 #define I2C_HW_B_LP     0x00    /* Parallel port Philips style adapter  */
131 #define I2C_HW_B_LPC    0x01    /* Parallel port, over control reg.     */
132 #define I2C_HW_B_SER    0x02    /* Serial line interface                */
133 #define I2C_HW_B_ELV    0x03    /* ELV Card                             */
134 #define I2C_HW_B_VELLE  0x04    /* Vellemann K8000                      */
135 #define I2C_HW_B_BT848  0x05    /* BT848 video boards                   */
136 #define I2C_HW_B_WNV    0x06    /* Winnov Videums                       */
137 #define I2C_HW_B_VIA    0x07    /* Via vt82c586b                        */
138 #define I2C_HW_B_HYDRA  0x08    /* Apple Hydra Mac I/O                  */
139 #define I2C_HW_B_G400   0x09    /* Matrox G400                          */
140 #define I2C_HW_B_I810   0x0a    /* Intel I810                           */
141 #define I2C_HW_B_VOO    0x0b    /* 3dfx Voodoo 3 / Banshee              */
142 #define I2C_HW_B_RIVA   0x10    /* Riva based graphics cards            */
143 #define I2C_HW_B_IOC    0x11    /* IOC bit-wiggling                     */
144 
145 /* --- PCF 8584 based algorithms                                        */
146 #define I2C_HW_P_LP     0x00    /* Parallel port interface              */
147 #define I2C_HW_P_ISA    0x01    /* generic ISA Bus inteface card        */
148 #define I2C_HW_P_ELEK   0x02    /* Elektor ISA Bus inteface card        */
149 
150 /* --- ACPI Embedded controller algorithms                              */
151 #define I2C_HW_ACPI_EC          0x00
152 
153 /* --- MPC8xx PowerPC adapters                                          */
154 #define I2C_HW_MPC8XX_EPON 0x00 /* Eponymous MPC8xx I2C adapter         */
155 
156 /* --- SMBus only adapters                                              */
157 #define I2C_HW_SMBUS_PIIX4      0x00
158 #define I2C_HW_SMBUS_ALI15X3    0x01
159 #define I2C_HW_SMBUS_VIA2       0x02
160 #define I2C_HW_SMBUS_VOODOO3    0x03
161 #define I2C_HW_SMBUS_I801       0x04
162 #define I2C_HW_SMBUS_AMD756     0x05
163 #define I2C_HW_SMBUS_SIS5595    0x06
164 #define I2C_HW_SMBUS_ALI1535    0x07
165 
166 /* --- ISA pseudo-adapter                                               */
167 #define I2C_HW_ISA 0x00
168 
169 #endif /* I2C_ID_H */
170 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.