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