1/* ------------------------------------------------------------------------- */
2/*									     */
3/* i2c-id.h - identifier values for i2c drivers and adapters		     */
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#ifndef LINUX_I2C_ID_H
24#define LINUX_I2C_ID_H
25
26/*
27 * ---- Driver types -----------------------------------------------------
28 */
29
30#define I2C_DRIVERID_MSP3400	 1
31#define I2C_DRIVERID_TUNER	 2
32#define I2C_DRIVERID_VIDEOTEX	 3	/* please rename		*/
33#define I2C_DRIVERID_TDA8425	 4	/* stereo sound processor	*/
34#define I2C_DRIVERID_TEA6420	 5	/* audio matrix switch		*/
35#define I2C_DRIVERID_TEA6415C	 6	/* video matrix switch		*/
36#define I2C_DRIVERID_TDA9840	 7	/* stereo sound processor	*/
37#define I2C_DRIVERID_SAA7111A	 8	/* video input processor	*/
38#define I2C_DRIVERID_SAA5281	 9	/* videotext decoder		*/
39#define I2C_DRIVERID_SAA7112	10	/* video decoder, image scaler	*/
40#define I2C_DRIVERID_SAA7120	11	/* video encoder		*/
41#define I2C_DRIVERID_SAA7121	12	/* video encoder		*/
42#define I2C_DRIVERID_SAA7185B	13	/* video encoder		*/
43#define I2C_DRIVERID_CH7003	14	/* digital pc to tv encoder	*/
44#define I2C_DRIVERID_PCF8574A	15	/* i2c expander - 8 bit in/out	*/
45#define I2C_DRIVERID_PCF8582C	16	/* eeprom			*/
46#define I2C_DRIVERID_AT24Cxx	17	/* eeprom 1/2/4/8/16 K		*/
47#define I2C_DRIVERID_TEA6300	18	/* audio mixer			*/
48#define I2C_DRIVERID_BT829	19	/* pc to tv encoder		*/
49#define I2C_DRIVERID_TDA9850	20	/* audio mixer			*/
50#define I2C_DRIVERID_TDA9855	21	/* audio mixer			*/
51#define I2C_DRIVERID_SAA7110	22	/* video decoder		*/
52#define I2C_DRIVERID_MGATVO	23	/* Matrox TVOut			*/
53#define I2C_DRIVERID_SAA5249	24	/* SAA5249 and compatibles	*/
54#define I2C_DRIVERID_PCF8583	25	/* real time clock		*/
55#define I2C_DRIVERID_SAB3036	26	/* SAB3036 tuner		*/
56#define I2C_DRIVERID_TDA7432	27	/* Stereo sound processor	*/
57#define I2C_DRIVERID_TVMIXER    28      /* Mixer driver for tv cards    */
58#define I2C_DRIVERID_TVAUDIO    29      /* Generic TV sound driver      */
59#define I2C_DRIVERID_DPL3518    30      /* Dolby decoder chip           */
60#define I2C_DRIVERID_TDA9873    31      /* TV sound decoder chip        */
61#define I2C_DRIVERID_TDA9875    32      /* TV sound decoder chip        */
62#define I2C_DRIVERID_PIC16C54_PV9 33    /* Audio mux/ir receiver        */
63
64#define I2C_DRIVERID_SBATT      34     /* Smart Battery Device		*/
65#define I2C_DRIVERID_SBS        35     /* SB System Manager		*/
66#define I2C_DRIVERID_VES1893	36     /* VLSI DVB-S decoder		*/
67#define I2C_DRIVERID_VES1820	37     /* VLSI DVB-C decoder		*/
68#define I2C_DRIVERID_SAA7113	38     /* video decoder			*/
69#define I2C_DRIVERID_TDA8444	39     /* octuple 6-bit DAC             */
70#define I2C_DRIVERID_BT819	40     /* video decoder			*/
71#define I2C_DRIVERID_BT856	41     /* video encoder			*/
72#define I2C_DRIVERID_VPX3220	42     /* video decoder+vbi/vtxt	*/
73#define I2C_DRIVERID_DRP3510	43     /* ADR decoder (Astra Radio)	*/
74#define I2C_DRIVERID_SP5055	44     /* Satellite tuner		*/
75#define I2C_DRIVERID_STV0030	45     /* Multipurpose switch		*/
76#define I2C_DRIVERID_SAA7108	46     /* video decoder, image scaler   */
77#define I2C_DRIVERID_DS1307	47     /* DS1307 real time clock	*/
78#define I2C_DRIVERID_ADV7175	48     /* ADV 7175/7176 video encoder	*/
79#define I2C_DRIVERID_SAA7114	49	/* video decoder		*/
80#define I2C_DRIVERID_ZR36120	50     /* Zoran 36120 video encoder	*/
81#define I2C_DRIVERID_24LC32A	51	/* Microchip 24LC32A 32k EEPROM	*/
82#define I2C_DRIVERID_STM41T00	52	/* real time clock		*/
83#define I2C_DRIVERID_UDA1342	53	/* UDA1342 audio codec		*/
84#define I2C_DRIVERID_ADV7170	54	/* video encoder		*/
85#define I2C_DRIVERID_MAX1617	56	/* temp sensor			*/
86#define I2C_DRIVERID_SAA7191	57	/* video decoder		*/
87#define I2C_DRIVERID_INDYCAM	58	/* SGI IndyCam			*/
88#define I2C_DRIVERID_BT832	59	/* CMOS camera video processor	*/
89#define I2C_DRIVERID_TDA9887	60	/* TDA988x IF-PLL demodulator	*/
90#define I2C_DRIVERID_OVCAMCHIP	61	/* OmniVision CMOS image sens.	*/
91#define I2C_DRIVERID_TDA7313	62	/* TDA7313 audio processor	*/
92#define I2C_DRIVERID_MAX6900	63	/* MAX6900 real-time clock	*/
93#define I2C_DRIVERID_SAA7114H	64	/* video decoder		*/
94#define I2C_DRIVERID_DS1374	65	/* DS1374 real time clock	*/
95#define I2C_DRIVERID_TDA9874	66	/* TV sound decoder		*/
96#define I2C_DRIVERID_SAA6752HS	67	/* MPEG2 encoder		*/
97#define I2C_DRIVERID_TVEEPROM	68	/* TV EEPROM			*/
98#define I2C_DRIVERID_WM8775	69	/* wm8775 audio processor	*/
99#define I2C_DRIVERID_CS53L32A	70	/* cs53l32a audio processor	*/
100#define I2C_DRIVERID_CX25840	71	/* cx2584x video encoder	*/
101#define I2C_DRIVERID_SAA7127	72	/* saa7124 video encoder	*/
102#define I2C_DRIVERID_SAA711X	73	/* saa711x video encoders	*/
103#define I2C_DRIVERID_AKITAIOEXP	74	/* IO Expander on Sharp SL-C1000 */
104#define I2C_DRIVERID_INFRARED	75	/* I2C InfraRed on Video boards */
105#define I2C_DRIVERID_TVP5150	76	/* TVP5150 video decoder        */
106#define I2C_DRIVERID_WM8739	77	/* wm8739 audio processor	*/
107#define I2C_DRIVERID_UPD64083	78	/* upd64083 video processor	*/
108#define I2C_DRIVERID_UPD64031A	79	/* upd64031a video processor	*/
109#define I2C_DRIVERID_SAA717X	80	/* saa717x video encoder	*/
110#define I2C_DRIVERID_DS1672	81	/* Dallas/Maxim DS1672 RTC	*/
111#define I2C_DRIVERID_X1205	82	/* Xicor/Intersil X1205 RTC	*/
112#define I2C_DRIVERID_PCF8563	83	/* Philips PCF8563 RTC		*/
113#define I2C_DRIVERID_RS5C372	84	/* Ricoh RS5C372 RTC		*/
114#define I2C_DRIVERID_BT866	85	/* Conexant bt866 video encoder */
115#define I2C_DRIVERID_KS0127	86	/* Samsung ks0127 video decoder */
116#define I2C_DRIVERID_TLV320AIC23B 87	/* TI TLV320AIC23B audio codec  */
117#define I2C_DRIVERID_ISL1208	88	/* Intersil ISL1208 RTC		*/
118#define I2C_DRIVERID_WM8731		89	/* Wolfson WM8731 audio codec */
119#define I2C_DRIVERID_WM8750		90	/* Wolfson WM8750 audio codec */
120#define I2C_DRIVERID_WM8753		91	/* Wolfson WM8753 audio codec */
121#define I2C_DRIVERID_WM8955		92	/* Wolfson WM8955 audio codec */
122
123#define I2C_DRIVERID_I2CDEV	900
124#define I2C_DRIVERID_ARP        902    /* SMBus ARP Client              */
125#define I2C_DRIVERID_ALERT      903    /* SMBus Alert Responder Client  */
126
127/* IDs --   Use DRIVERIDs 1000-1999 for sensors.
128   These were originally in sensors.h in the lm_sensors package */
129#define I2C_DRIVERID_LM78 1002
130#define I2C_DRIVERID_LM75 1003
131#define I2C_DRIVERID_GL518 1004
132#define I2C_DRIVERID_EEPROM 1005
133#define I2C_DRIVERID_W83781D 1006
134#define I2C_DRIVERID_LM80 1007
135#define I2C_DRIVERID_ADM1021 1008
136#define I2C_DRIVERID_ADM9240 1009
137#define I2C_DRIVERID_LTC1710 1010
138#define I2C_DRIVERID_BT869 1013
139#define I2C_DRIVERID_MAXILIFE 1014
140#define I2C_DRIVERID_MATORB 1015
141#define I2C_DRIVERID_GL520 1016
142#define I2C_DRIVERID_THMC50 1017
143#define I2C_DRIVERID_ADM1025 1020
144#define I2C_DRIVERID_LM87 1021
145#define I2C_DRIVERID_PCF8574 1022
146#define I2C_DRIVERID_MTP008 1023
147#define I2C_DRIVERID_DS1621 1024
148#define I2C_DRIVERID_ADM1024 1025
149#define I2C_DRIVERID_CH700X 1027 /* single driver for CH7003-7009 digital pc to tv encoders */
150#define I2C_DRIVERID_FSCPOS 1028
151#define I2C_DRIVERID_FSCSCY 1029
152#define I2C_DRIVERID_PCF8591 1030
153#define I2C_DRIVERID_LM92 1033
154#define I2C_DRIVERID_SMARTBATT 1035
155#define I2C_DRIVERID_BMCSENSORS 1036
156#define I2C_DRIVERID_FS451 1037
157#define I2C_DRIVERID_LM85 1039
158#define I2C_DRIVERID_LM83 1040
159#define I2C_DRIVERID_LM90 1042
160#define I2C_DRIVERID_ASB100 1043
161#define I2C_DRIVERID_FSCHER 1046
162#define I2C_DRIVERID_W83L785TS 1047
163#define I2C_DRIVERID_OV7670 1048	/* Omnivision 7670 camera */
164
165/*
166 * ---- Adapter types ----------------------------------------------------
167 */
168
169/* --- Bit algorithm adapters						*/
170#define I2C_HW_B_LP		0x010000 /* Parallel port Philips style */
171#define I2C_HW_B_SER		0x010002 /* Serial line interface */
172#define I2C_HW_B_BT848		0x010005 /* BT848 video boards */
173#define I2C_HW_B_WNV		0x010006 /* Winnov Videums */
174#define I2C_HW_B_VIA		0x010007 /* Via vt82c586b */
175#define I2C_HW_B_HYDRA		0x010008 /* Apple Hydra Mac I/O */
176#define I2C_HW_B_G400		0x010009 /* Matrox G400 */
177#define I2C_HW_B_I810		0x01000a /* Intel I810 */
178#define I2C_HW_B_VOO		0x01000b /* 3dfx Voodoo 3 / Banshee */
179#define I2C_HW_B_PPORT		0x01000c /* Primitive parallel port adapter */
180#define I2C_HW_B_SAVG		0x01000d /* Savage 4 */
181#define I2C_HW_B_SCX200		0x01000e /* Nat'l Semi SCx200 I2C */
182#define I2C_HW_B_RIVA		0x010010 /* Riva based graphics cards */
183#define I2C_HW_B_IOC		0x010011 /* IOC bit-wiggling */
184#define I2C_HW_B_TSUNA		0x010012 /* DEC Tsunami chipset */
185#define I2C_HW_B_OMAHA		0x010014 /* Omaha I2C interface (ARM) */
186#define I2C_HW_B_GUIDE		0x010015 /* Guide bit-basher */
187#define I2C_HW_B_IXP2000	0x010016 /* GPIO on IXP2000 systems */
188#define I2C_HW_B_IXP4XX		0x010017 /* GPIO on IXP4XX systems */
189#define I2C_HW_B_S3VIA		0x010018 /* S3Via ProSavage adapter */
190#define I2C_HW_B_ZR36067	0x010019 /* Zoran-36057/36067 based boards */
191#define I2C_HW_B_PCILYNX	0x01001a /* TI PCILynx I2C adapter */
192#define I2C_HW_B_CX2388x	0x01001b /* connexant 2388x based tv cards */
193#define I2C_HW_B_NVIDIA		0x01001c /* nvidia framebuffer driver */
194#define I2C_HW_B_SAVAGE		0x01001d /* savage framebuffer driver */
195#define I2C_HW_B_RADEON		0x01001e /* radeon framebuffer driver */
196#define I2C_HW_B_EM28XX		0x01001f /* em28xx video capture cards */
197#define I2C_HW_B_CX2341X	0x010020 /* Conexant CX2341X MPEG encoder cards */
198#define I2C_HW_B_INTELFB	0x010021 /* intel framebuffer driver */
199
200/* --- PCF 8584 based algorithms					*/
201#define I2C_HW_P_LP		0x020000 /* Parallel port interface */
202#define I2C_HW_P_ISA		0x020001 /* generic ISA Bus inteface card */
203#define I2C_HW_P_ELEK		0x020002 /* Elektor ISA Bus inteface card */
204
205/* --- PCA 9564 based algorithms */
206#define I2C_HW_A_ISA		0x1a0000 /* generic ISA Bus interface card */
207
208/* --- ACPI Embedded controller algorithms                              */
209#define I2C_HW_ACPI_EC          0x1f0000
210
211/* --- MPC824x PowerPC adapters						*/
212#define I2C_HW_MPC824X		0x100001 /* Motorola 8240 / 8245 */
213
214/* --- MPC8xx PowerPC adapters						*/
215#define I2C_HW_MPC8XX_EPON	0x110000 /* Eponymous MPC8xx I2C adapter */
216
217/* --- PowerPC on-chip adapters						*/
218#define I2C_HW_OCP		0x120000 /* IBM on-chip I2C adapter */
219
220/* --- Broadcom SiByte adapters						*/
221#define I2C_HW_SIBYTE		0x150000
222
223/* --- SGI adapters							*/
224#define I2C_HW_SGI_VINO		0x160000
225#define I2C_HW_SGI_MACE		0x160001
226
227/* --- XSCALE on-chip adapters                          */
228#define I2C_HW_IOP3XX		0x140000
229
230/* --- Au1550 PSC adapters adapters					*/
231#define I2C_HW_AU1550_PSC	0x1b0000
232
233/* --- SMBus only adapters						*/
234#define I2C_HW_SMBUS_PIIX4	0x040000
235#define I2C_HW_SMBUS_ALI15X3	0x040001
236#define I2C_HW_SMBUS_VIA2	0x040002
237#define I2C_HW_SMBUS_I801	0x040004
238#define I2C_HW_SMBUS_AMD756	0x040005
239#define I2C_HW_SMBUS_SIS5595	0x040006
240#define I2C_HW_SMBUS_ALI1535	0x040007
241#define I2C_HW_SMBUS_SIS630	0x040008
242#define I2C_HW_SMBUS_SIS96X	0x040009
243#define I2C_HW_SMBUS_AMD8111	0x04000a
244#define I2C_HW_SMBUS_SCX200	0x04000b
245#define I2C_HW_SMBUS_NFORCE2	0x04000c
246#define I2C_HW_SMBUS_W9968CF	0x04000d
247#define I2C_HW_SMBUS_OV511	0x04000e /* OV511(+) USB 1.1 webcam ICs */
248#define I2C_HW_SMBUS_OV518	0x04000f /* OV518(+) USB 1.1 webcam ICs */
249#define I2C_HW_SMBUS_OV519	0x040010 /* OV519 USB 1.1 webcam IC */
250#define I2C_HW_SMBUS_OVFX2	0x040011 /* Cypress/OmniVision FX2 webcam */
251#define I2C_HW_SMBUS_CAFE	0x040012 /* Marvell 88ALP01 "CAFE" cam  */
252#define I2C_HW_SMBUS_ALI1563	0x040013
253
254/* --- ISA pseudo-adapter						*/
255#define I2C_HW_ISA		0x050000
256
257/* --- IPMB adapter						*/
258#define I2C_HW_IPMB		0x0c0000
259
260/* --- MCP107 adapter */
261#define I2C_HW_MPC107		0x0d0000
262
263/* --- Embedded adapters */
264#define I2C_HW_MV64XXX		0x190000
265#define I2C_HW_BLACKFIN		0x190001 /* ADI Blackfin I2C TWI driver */
266
267/* --- Miscellaneous adapters */
268#define I2C_HW_SAA7146		0x060000 /* SAA7146 video decoder bus */
269#define I2C_HW_SAA7134		0x090000 /* SAA7134 video decoder bus */
270
271#endif /* LINUX_I2C_ID_H */
272