| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* ------------------------------------------------------------------------- */ | 
| David Brownell | 438d6c2 | 2006-12-10 21:21:31 +0100 | [diff] [blame] | 2 | /*									     */ | 
| Jean Delvare | c2459cf | 2005-08-11 23:52:35 +0200 | [diff] [blame] | 3 | /* i2c-id.h - identifier values for i2c drivers and adapters		     */ | 
| David Brownell | 438d6c2 | 2006-12-10 21:21:31 +0100 | [diff] [blame] | 4 | /*									     */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Jean Delvare | f9dd019 | 2008-01-14 21:53:31 +0100 | [diff] [blame] | 26 | /* Please note that I2C driver IDs are optional. They are only needed if a | 
|  | 27 | legacy chip driver needs to identify a bus or a bus driver needs to | 
|  | 28 | identify a legacy client. If you don't need them, just don't set them. */ | 
|  | 29 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 30 | /* | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | * ---- Driver types ----------------------------------------------------- | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | */ | 
|  | 33 |  | 
|  | 34 | #define I2C_DRIVERID_MSP3400	 1 | 
|  | 35 | #define I2C_DRIVERID_TUNER	 2 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | #define I2C_DRIVERID_TEA6420	 5	/* audio matrix switch		*/ | 
|  | 37 | #define I2C_DRIVERID_TEA6415C	 6	/* video matrix switch		*/ | 
|  | 38 | #define I2C_DRIVERID_TDA9840	 7	/* stereo sound processor	*/ | 
|  | 39 | #define I2C_DRIVERID_SAA7111A	 8	/* video input processor	*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | #define I2C_DRIVERID_SAA7185B	13	/* video encoder		*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 | #define I2C_DRIVERID_SAA7110	22	/* video decoder		*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | #define I2C_DRIVERID_SAA5249	24	/* SAA5249 and compatibles	*/ | 
|  | 43 | #define I2C_DRIVERID_PCF8583	25	/* real time clock		*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 | #define I2C_DRIVERID_TDA7432	27	/* Stereo sound processor	*/ | 
|  | 45 | #define I2C_DRIVERID_TVMIXER    28      /* Mixer driver for tv cards    */ | 
|  | 46 | #define I2C_DRIVERID_TVAUDIO    29      /* Generic TV sound driver      */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 47 | #define I2C_DRIVERID_TDA9875    32      /* TV sound decoder chip        */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 48 | #define I2C_DRIVERID_BT819	40     /* video decoder			*/ | 
|  | 49 | #define I2C_DRIVERID_BT856	41     /* video encoder			*/ | 
|  | 50 | #define I2C_DRIVERID_VPX3220	42     /* video decoder+vbi/vtxt	*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 51 | #define I2C_DRIVERID_ADV7175	48     /* ADV 7175/7176 video encoder	*/ | 
|  | 52 | #define I2C_DRIVERID_SAA7114	49	/* video decoder		*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 53 | #define I2C_DRIVERID_ADV7170	54	/* video encoder		*/ | 
| Jean Delvare | 36cfb5c | 2006-12-10 21:21:28 +0100 | [diff] [blame] | 54 | #define I2C_DRIVERID_SAA7191	57	/* video decoder		*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 55 | #define I2C_DRIVERID_INDYCAM	58	/* SGI IndyCam			*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 56 | #define I2C_DRIVERID_OVCAMCHIP	61	/* OmniVision CMOS image sens.	*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 57 | #define I2C_DRIVERID_MAX6900	63	/* MAX6900 real-time clock	*/ | 
| Jean Delvare | e0ec29b | 2005-11-08 21:38:26 -0800 | [diff] [blame] | 58 | #define I2C_DRIVERID_SAA6752HS	67	/* MPEG2 encoder		*/ | 
|  | 59 | #define I2C_DRIVERID_TVEEPROM	68	/* TV EEPROM			*/ | 
| Mauro Carvalho Chehab | c3b3924 | 2005-11-08 21:38:29 -0800 | [diff] [blame] | 60 | #define I2C_DRIVERID_WM8775	69	/* wm8775 audio processor	*/ | 
|  | 61 | #define I2C_DRIVERID_CS53L32A	70	/* cs53l32a audio processor	*/ | 
|  | 62 | #define I2C_DRIVERID_CX25840	71	/* cx2584x video encoder	*/ | 
| Jean Delvare | 2a1d245 | 2008-10-15 14:47:36 -0300 | [diff] [blame] | 63 | #define I2C_DRIVERID_SAA7127	72	/* saa7127 video encoder	*/ | 
| Mauro Carvalho Chehab | c3b3924 | 2005-11-08 21:38:29 -0800 | [diff] [blame] | 64 | #define I2C_DRIVERID_SAA711X	73	/* saa711x video encoders	*/ | 
| Richard Purdie | bd5d080 | 2005-11-13 10:07:48 +0000 | [diff] [blame] | 65 | #define I2C_DRIVERID_AKITAIOEXP	74	/* IO Expander on Sharp SL-C1000 */ | 
| Mauro Carvalho Chehab | dd81540 | 2005-12-12 00:37:31 -0800 | [diff] [blame] | 66 | #define I2C_DRIVERID_INFRARED	75	/* I2C InfraRed on Video boards */ | 
| Mauro Carvalho Chehab | 21dcd8c | 2006-01-09 15:25:37 -0200 | [diff] [blame] | 67 | #define I2C_DRIVERID_TVP5150	76	/* TVP5150 video decoder        */ | 
| Tyler Trafford | 436eddd | 2006-01-13 14:38:18 -0200 | [diff] [blame] | 68 | #define I2C_DRIVERID_WM8739	77	/* wm8739 audio processor	*/ | 
|  | 69 | #define I2C_DRIVERID_UPD64083	78	/* upd64083 video processor	*/ | 
|  | 70 | #define I2C_DRIVERID_UPD64031A	79	/* upd64031a video processor	*/ | 
|  | 71 | #define I2C_DRIVERID_SAA717X	80	/* saa717x video encoder	*/ | 
| Alessandro Zummo | f7f3682 | 2006-03-27 01:16:38 -0800 | [diff] [blame] | 72 | #define I2C_DRIVERID_DS1672	81	/* Dallas/Maxim DS1672 RTC	*/ | 
| Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 73 | #define I2C_DRIVERID_BT866	85	/* Conexant bt866 video encoder */ | 
|  | 74 | #define I2C_DRIVERID_KS0127	86	/* Samsung ks0127 video decoder */ | 
| Scott Alfter | 88ca8ed | 2006-05-20 16:04:31 -0300 | [diff] [blame] | 75 | #define I2C_DRIVERID_TLV320AIC23B 87	/* TI TLV320AIC23B audio codec  */ | 
| Liam Girdwood | 7a05f06 | 2007-05-14 11:05:09 +0200 | [diff] [blame] | 76 | #define I2C_DRIVERID_WM8731	89	/* Wolfson WM8731 audio codec */ | 
|  | 77 | #define I2C_DRIVERID_WM8750	90	/* Wolfson WM8750 audio codec */ | 
|  | 78 | #define I2C_DRIVERID_WM8753	91	/* Wolfson WM8753 audio codec */ | 
|  | 79 | #define I2C_DRIVERID_LM4857 	92 	/* LM4857 Audio Amplifier */ | 
| Hans Verkuil | ac24743 | 2007-07-27 06:56:50 -0300 | [diff] [blame] | 80 | #define I2C_DRIVERID_VP27SMPX	93	/* Panasonic VP27s tuner internal MPX */ | 
| Timur Tabi | b0c813c | 2007-07-31 18:18:44 +0200 | [diff] [blame] | 81 | #define I2C_DRIVERID_CS4270	94	/* Cirrus Logic 4270 audio codec */ | 
| Hans Verkuil | 05e9971 | 2007-10-30 05:41:54 -0300 | [diff] [blame] | 82 | #define I2C_DRIVERID_M52790 	95      /* Mitsubishi M52790SP/FP AV switch */ | 
| Hans Verkuil | 0b394de | 2007-12-18 19:27:31 -0300 | [diff] [blame] | 83 | #define I2C_DRIVERID_CS5345	96	/* cs5345 audio processor	*/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 84 |  | 
| Jonathan Corbet | 111f335 | 2006-11-04 09:26:00 -0300 | [diff] [blame] | 85 | #define I2C_DRIVERID_OV7670 1048	/* Omnivision 7670 camera */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 86 |  | 
|  | 87 | /* | 
|  | 88 | * ---- Adapter types ---------------------------------------------------- | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 89 | */ | 
|  | 90 |  | 
| David Brownell | 438d6c2 | 2006-12-10 21:21:31 +0100 | [diff] [blame] | 91 | /* --- Bit algorithm adapters						*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 92 | #define I2C_HW_B_LP		0x010000 /* Parallel port Philips style */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 93 | #define I2C_HW_B_BT848		0x010005 /* BT848 video boards */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 94 | #define I2C_HW_B_VIA		0x010007 /* Via vt82c586b */ | 
|  | 95 | #define I2C_HW_B_HYDRA		0x010008 /* Apple Hydra Mac I/O */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 96 | #define I2C_HW_B_I810		0x01000a /* Intel I810 */ | 
|  | 97 | #define I2C_HW_B_VOO		0x01000b /* 3dfx Voodoo 3 / Banshee */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 98 | #define I2C_HW_B_SCX200		0x01000e /* Nat'l Semi SCx200 I2C */ | 
|  | 99 | #define I2C_HW_B_RIVA		0x010010 /* Riva based graphics cards */ | 
|  | 100 | #define I2C_HW_B_IOC		0x010011 /* IOC bit-wiggling */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 101 | #define I2C_HW_B_IXP2000	0x010016 /* GPIO on IXP2000 systems */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 102 | #define I2C_HW_B_ZR36067	0x010019 /* Zoran-36057/36067 based boards */ | 
|  | 103 | #define I2C_HW_B_PCILYNX	0x01001a /* TI PCILynx I2C adapter */ | 
|  | 104 | #define I2C_HW_B_CX2388x	0x01001b /* connexant 2388x based tv cards */ | 
| Jean Delvare | 1684a984 | 2005-08-11 23:51:10 +0200 | [diff] [blame] | 105 | #define I2C_HW_B_NVIDIA		0x01001c /* nvidia framebuffer driver */ | 
|  | 106 | #define I2C_HW_B_SAVAGE		0x01001d /* savage framebuffer driver */ | 
|  | 107 | #define I2C_HW_B_RADEON		0x01001e /* radeon framebuffer driver */ | 
| Mauro Carvalho Chehab | c3b3924 | 2005-11-08 21:38:29 -0800 | [diff] [blame] | 108 | #define I2C_HW_B_EM28XX		0x01001f /* em28xx video capture cards */ | 
| Hans Verkuil | a20c522 | 2006-03-23 19:37:58 -0300 | [diff] [blame] | 109 | #define I2C_HW_B_CX2341X	0x010020 /* Conexant CX2341X MPEG encoder cards */ | 
| Dennis Munsie | c37bb26 | 2006-06-20 14:55:55 -0400 | [diff] [blame] | 110 | #define I2C_HW_B_INTELFB	0x010021 /* intel framebuffer driver */ | 
| Steven Toth | 275511a | 2007-03-11 20:44:05 -0300 | [diff] [blame] | 111 | #define I2C_HW_B_CX23885	0x010022 /* conexant 23885 based tv cards (bus1) */ | 
| Steven Toth | c8234ea | 2008-03-29 18:15:33 -0300 | [diff] [blame] | 112 | #define I2C_HW_B_AU0828		0x010023 /* auvitek au0828 usb bridge */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 113 |  | 
|  | 114 | /* --- PCF 8584 based algorithms					*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 115 | #define I2C_HW_P_ELEK		0x020002 /* Elektor ISA Bus inteface card */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 116 |  | 
|  | 117 | /* --- PCA 9564 based algorithms */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 118 | #define I2C_HW_A_ISA		0x1a0000 /* generic ISA Bus interface card */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 119 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 120 | /* --- PowerPC on-chip adapters						*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 121 | #define I2C_HW_OCP		0x120000 /* IBM on-chip I2C adapter */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 122 |  | 
|  | 123 | /* --- Broadcom SiByte adapters						*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 124 | #define I2C_HW_SIBYTE		0x150000 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 125 |  | 
|  | 126 | /* --- SGI adapters							*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 127 | #define I2C_HW_SGI_VINO		0x160000 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 128 |  | 
|  | 129 | /* --- XSCALE on-chip adapters                          */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 130 | #define I2C_HW_IOP3XX		0x140000 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 131 |  | 
|  | 132 | /* --- Au1550 PSC adapters adapters					*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 133 | #define I2C_HW_AU1550_PSC	0x1b0000 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 134 |  | 
|  | 135 | /* --- SMBus only adapters						*/ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 136 | #define I2C_HW_SMBUS_PIIX4	0x040000 | 
|  | 137 | #define I2C_HW_SMBUS_ALI15X3	0x040001 | 
|  | 138 | #define I2C_HW_SMBUS_VIA2	0x040002 | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 139 | #define I2C_HW_SMBUS_I801	0x040004 | 
|  | 140 | #define I2C_HW_SMBUS_AMD756	0x040005 | 
|  | 141 | #define I2C_HW_SMBUS_SIS5595	0x040006 | 
|  | 142 | #define I2C_HW_SMBUS_ALI1535	0x040007 | 
|  | 143 | #define I2C_HW_SMBUS_SIS630	0x040008 | 
|  | 144 | #define I2C_HW_SMBUS_SIS96X	0x040009 | 
|  | 145 | #define I2C_HW_SMBUS_AMD8111	0x04000a | 
|  | 146 | #define I2C_HW_SMBUS_SCX200	0x04000b | 
|  | 147 | #define I2C_HW_SMBUS_NFORCE2	0x04000c | 
|  | 148 | #define I2C_HW_SMBUS_W9968CF	0x04000d | 
|  | 149 | #define I2C_HW_SMBUS_OV511	0x04000e /* OV511(+) USB 1.1 webcam ICs */ | 
|  | 150 | #define I2C_HW_SMBUS_OV518	0x04000f /* OV518(+) USB 1.1 webcam ICs */ | 
| Jonathan Corbet | d905b38 | 2006-11-04 09:25:53 -0300 | [diff] [blame] | 151 | #define I2C_HW_SMBUS_CAFE	0x040012 /* Marvell 88ALP01 "CAFE" cam  */ | 
| Stephen Hemminger | 9ace555 | 2007-02-13 22:09:01 +0100 | [diff] [blame] | 152 | #define I2C_HW_SMBUS_ALI1563	0x040013 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 153 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 154 | /* --- MCP107 adapter */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 155 | #define I2C_HW_MPC107		0x0d0000 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 156 |  | 
| Bryan Wu | d24ecfc | 2007-05-01 23:26:32 +0200 | [diff] [blame] | 157 | /* --- Embedded adapters */ | 
| Jean Delvare | c7a4653 | 2005-08-11 23:41:56 +0200 | [diff] [blame] | 158 | #define I2C_HW_MV64XXX		0x190000 | 
| Bryan Wu | d24ecfc | 2007-05-01 23:26:32 +0200 | [diff] [blame] | 159 | #define I2C_HW_BLACKFIN		0x190001 /* ADI Blackfin I2C TWI driver */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 160 |  | 
| Jean Delvare | 1684a984 | 2005-08-11 23:51:10 +0200 | [diff] [blame] | 161 | /* --- Miscellaneous adapters */ | 
|  | 162 | #define I2C_HW_SAA7146		0x060000 /* SAA7146 video decoder bus */ | 
|  | 163 | #define I2C_HW_SAA7134		0x090000 /* SAA7134 video decoder bus */ | 
|  | 164 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 165 | #endif /* LINUX_I2C_ID_H */ |