@ -21,25 +21,34 @@
*/
/*
SUPPORTED DEVICES PCI ID
82801 AA 2413
82801 AB 2423
82801 BA 2443
82801 CA / CAM 2483
82801 DB 24 C3 ( HW PEC supported )
82801 EB 24 D3 ( HW PEC supported )
6300 ESB 25 A4
ICH6 266 A
ICH7 27 DA
ESB2 269 B
ICH8 283 E
ICH9 2930
Tolapai 5032
This driver supports several versions of Intel ' s I / O Controller Hubs ( ICH ) .
For SMBus support , they are similar to the PIIX4 and are part
of Intel ' s ' 810 ' and other chipsets .
See the file Documentation / i2c / busses / i2c - i801 for details .
I2C Block Read and Process Call are not supported .
Supports the following Intel I / O Controller Hubs ( ICH ) :
I / O Block I2C
region SMBus Block proc . block
Chip name PCI ID size PEC buffer call read
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
82801 AA ( ICH ) 0x2413 16 no no no no
82801 AB ( ICH0 ) 0x2423 16 no no no no
82801 BA ( ICH2 ) 0x2443 16 no no no no
82801 CA ( ICH3 ) 0x2483 32 soft no no no
82801 DB ( ICH4 ) 0x24c3 32 hard yes no no
82801 E ( ICH5 ) 0x24d3 32 hard yes yes yes
6300 ESB 0x25a4 32 hard yes yes yes
82801F ( ICH6 ) 0x266a 32 hard yes yes yes
6310 ESB / 6320 ESB 0x269b 32 hard yes yes yes
82801 G ( ICH7 ) 0x27da 32 hard yes yes yes
82801 H ( ICH8 ) 0x283e 32 hard yes yes yes
82801 I ( ICH9 ) 0x2930 32 hard yes yes yes
Tolapai 0x5032 32 hard yes ? ?
Features supported by this driver :
Software PEC no
Hardware PEC yes
Block buffer yes
Block process call transaction no
I2C block read transaction no
See the file Documentation / i2c / busses / i2c - i801 for details .
*/
/* Note: we assume there can only be one I801, with one SMBus interface */
@ -62,9 +71,9 @@
# define SMBHSTDAT0 (5 + i801_smba)
# define SMBHSTDAT1 (6 + i801_smba)
# define SMBBLKDAT (7 + i801_smba)
# define SMBPEC (8 + i801_smba) /* ICH4 only */
# define SMBAUXSTS (12 + i801_smba) /* ICH4 only */
# define SMBAUXCTL (13 + i801_smba) /* ICH4 only */
# define SMBPEC (8 + i801_smba) /* ICH3 and later */
# define SMBAUXSTS (12 + i801_smba) /* ICH4 and later */
# define SMBAUXCTL (13 + i801_smba) /* ICH4 and later */
/* PCI Address Constants */
# define SMBBAR 4
@ -91,13 +100,13 @@
# define I801_BYTE 0x04
# define I801_BYTE_DATA 0x08
# define I801_WORD_DATA 0x0C
# define I801_PROC_CALL 0x10 /* later chips only, unimplemented */
# define I801_PROC_CALL 0x10 /* unimplemented */
# define I801_BLOCK_DATA 0x14
# define I801_I2C_BLOCK_DATA 0x18 /* unimplemented */
# define I801_BLOCK_LAST 0x34
# define I801_I2C_BLOCK_LAST 0x38 /* unimplemented */
# define I801_START 0x40
# define I801_PEC_EN 0x80 /* ICH4 only */
# define I801_PEC_EN 0x80 /* ICH3 and later */
/* I801 Hosts Status register bits */
# define SMBHSTSTS_BYTE_DONE 0x80