patch-2.3.34 linux/include/linux/i2c-id.h

Next file: linux/include/linux/i2c-old.h
Previous file: linux/include/linux/i2c-elektor.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.33/linux/include/linux/i2c-id.h linux/include/linux/i2c-id.h
@@ -0,0 +1,134 @@
+/* ------------------------------------------------------------------------- */
+/* 									     */
+/* i2c.h - definitions for the i2c-bus interface			     */
+/* 									     */
+/* ------------------------------------------------------------------------- */
+/*   Copyright (C) 1995-1999 Simon G. Vogl
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.		     */
+/* ------------------------------------------------------------------------- */
+/* $Revision: 1.4 $ $Date: 1999/12/02 02:05:34 $*/
+/* ------------------------------------------------------------------------- */
+
+#ifndef I2C_ID_H
+#define I2C_ID_H
+/*
+ * This file is part of the i2c-bus package and contains the identifier
+ * values for drivers, adapters and other folk populating these serial
+ * worlds. 
+ *
+ * These will change often (i.e. additions) , therefore this has been 
+ * separated from the functional interface definitions of the i2c api.
+ *
+ */
+
+/*
+ * ---- Driver types -----------------------------------------------------
+ *       device id name + number        function description, i2c address(es)
+ *
+ *  Range 1000-1999 range is defined in sensors/sensors.h 
+ *  Range 0x100 - 0x1ff is for V4L2 Common Components 
+ *  Range 0xf000 - 0xffff is reserved for local experimentation, and should
+ *        never be used in official drivers 
+ */
+
+#define I2C_DRIVERID_MSP3400     1
+#define I2C_DRIVERID_TUNER       2
+#define I2C_DRIVERID_VIDEOTEXT   3	/* please rename		*/
+#define I2C_DRIVERID_TDA8425	 4	/* stereo sound processor	*/
+#define I2C_DRIVERID_TEA6420	 5	/* audio matrix switch		*/
+#define I2C_DRIVERID_TEA6415C	 6	/* video matrix switch		*/
+#define I2C_DRIVERID_TDA9840	 7	/* stereo sound processor	*/
+#define I2C_DRIVERID_SAA7111A	 8	/* video input processor	*/
+#define I2C_DRIVERID_SAA5281	 9	/* videotext decoder		*/
+#define I2C_DRIVERID_SAA7112    10      /* video decoder, image scaler	*/
+#define I2C_DRIVERID_SAA7120    11      /* video encoder		*/
+#define I2C_DRIVERID_SAA7121    12      /* video encoder		*/
+#define I2C_DRIVERID_SAA7185B   13      /* video encoder		*/
+#define I2C_DRIVERID_CH7003     14      /* digital pc to tv encoder 	*/
+#define I2C_DRIVERID_PCF8574A   15      /* i2c expander - 8 bit in/out	*/
+#define I2C_DRIVERID_PCF8582C   16      /* eeprom   			*/
+#define I2C_DRIVERID_AT24Cxx    17      /* eeprom 1/2/4/8/16 K 		*/
+#define I2C_DRIVERID_TEA6300	18	/* audio mixer			*/
+#define I2C_DRIVERID_BT829      19      /* pc to tv encoder		*/
+#define I2C_DRIVERID_TDA9850	20	/* audio mixer			*/
+#define I2C_DRIVERID_TDA9855	21	/* audio mixer			*/
+
+#define I2C_DRIVERID_EXP0	0xF0	/* experimental use id's	*/
+#define I2C_DRIVERID_EXP1	0xF1
+#define I2C_DRIVERID_EXP2	0xF2
+#define I2C_DRIVERID_EXP3	0xF3
+
+#define I2C_DRIVERID_I2CDEV	900
+#define I2C_DRIVERID_I2CPROC	901
+
+/*
+ * ---- Adapter types ----------------------------------------------------
+ *
+ * First, we distinguish between several algorithms to access the hardware
+ * interface types, as a PCF 8584 needs other care than a bit adapter.
+ */
+
+#define I2C_ALGO_NONE	0x000000
+#define I2C_ALGO_BIT	0x010000	/* bit style adapters		*/
+#define I2C_ALGO_PCF	0x020000	/* PCF 8584 style adapters	*/
+#define I2C_ALGO_ATI	0x030000	/* ATI video card		*/
+#define I2C_ALGO_SMBUS	0x040000
+#define I2C_ALGO_ISA 	0x050000        /* lm_sensors ISA pseudo-adapter */
+#define I2C_ALGO_SAA7146  0x060000	/* SAA 7146 video decoder bus	*/
+#define I2C_ALGO_SAA7146A 0x060001	/* SAA 7146A - enhanced version	*/
+
+
+#define I2C_ALGO_EXP	0x800000	/* experimental			*/
+
+#define I2C_ALGO_MASK	0xff0000	/* Mask for algorithms		*/
+#define I2C_ALGO_SHIFT	0x10	/* right shift to get index values 	*/
+
+#define I2C_HW_ADAPS	0x10000		/* # adapter types		*/
+#define I2C_HW_MASK	0xffff		
+
+
+/* hw specific modules that are defined per algorithm layer
+ */
+
+/* --- Bit algorithm adapters 						*/
+#define I2C_HW_B_LP	0x00	/* Parallel port Philips style adapter	*/
+#define I2C_HW_B_LPC	0x01	/* Parallel port, over control reg.	*/
+#define I2C_HW_B_SER	0x02	/* Serial line interface		*/
+#define I2C_HW_B_ELV	0x03	/* ELV Card				*/
+#define I2C_HW_B_VELLE	0x04	/* Vellemann K8000			*/
+#define I2C_HW_B_BT848	0x05	/* BT848 video boards			*/
+#define I2C_HW_B_WNV	0x06	/* Winnov Videums			*/
+#define I2C_HW_B_VIA    0x07    /* Via vt82c586b			*/
+#define I2C_HW_B_HYDRA  0x08    /* Apple Hydra Mac I/O                  */
+
+/* --- PCF 8584 based algorithms					*/
+#define I2C_HW_P_LP	0x00	/* Parallel port interface		*/
+#define I2C_HW_P_ISA	0x01	/* generic ISA Bus inteface card	*/
+#define I2C_HW_P_ELEK	0x02	/* Elektor ISA Bus inteface card	*/
+
+/* --- SMBus only adapters						*/
+#define I2C_HW_SMBUS_PIIX4	0x00
+#define I2C_HW_SMBUS_ALI15X3	0x01
+#define I2C_HW_SMBUS_VIA2	0x02
+#define I2C_HW_SMBUS_VOODOO3	0x03
+#define I2C_HW_SMBUS_I801   	0x04
+#define I2C_HW_SMBUS_AMD756	0x05
+#define I2C_HW_SMBUS_SIS5595	0x06
+
+/* --- ISA pseudo-adapter                                               */
+#define I2C_HW_ISA 0x00
+
+#endif /* I2C_ID_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)