Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
i2c-amd8111.c File Reference
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/stddef.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/acpi.h>
#include <linux/slab.h>
#include <linux/io.h>

Go to the source code of this file.

Data Structures

struct  amd_smbus
 

Macros

#define AMD_PCI_MISC   0x48
 
#define AMD_PCI_MISC_SCI   0x04 /* deliver SCI */
 
#define AMD_PCI_MISC_INT   0x02 /* deliver PCI IRQ */
 
#define AMD_PCI_MISC_SPEEDUP   0x01 /* 16x clock speedup */
 
#define AMD_EC_DATA   0x00 /* data register */
 
#define AMD_EC_SC   0x04 /* status of controller */
 
#define AMD_EC_CMD   0x04 /* command register */
 
#define AMD_EC_ICR   0x08 /* interrupt control register */
 
#define AMD_EC_SC_SMI   0x04 /* smi event pending */
 
#define AMD_EC_SC_SCI   0x02 /* sci event pending */
 
#define AMD_EC_SC_BURST   0x01 /* burst mode enabled */
 
#define AMD_EC_SC_CMD   0x08 /* byte in data reg is command */
 
#define AMD_EC_SC_IBF   0x02 /* data ready for embedded controller */
 
#define AMD_EC_SC_OBF   0x01 /* data ready for host */
 
#define AMD_EC_CMD_RD   0x80 /* read EC */
 
#define AMD_EC_CMD_WR   0x81 /* write EC */
 
#define AMD_EC_CMD_BE   0x82 /* enable burst mode */
 
#define AMD_EC_CMD_BD   0x83 /* disable burst mode */
 
#define AMD_EC_CMD_QR   0x84 /* query EC */
 
#define AMD_SMB_PRTCL   0x00 /* protocol, PEC */
 
#define AMD_SMB_STS   0x01 /* status */
 
#define AMD_SMB_ADDR   0x02 /* address */
 
#define AMD_SMB_CMD   0x03 /* command */
 
#define AMD_SMB_DATA   0x04 /* 32 data registers */
 
#define AMD_SMB_BCNT   0x24 /* number of data bytes */
 
#define AMD_SMB_ALRM_A   0x25 /* alarm address */
 
#define AMD_SMB_ALRM_D   0x26 /* 2 bytes alarm data */
 
#define AMD_SMB_STS_DONE   0x80
 
#define AMD_SMB_STS_ALRM   0x40
 
#define AMD_SMB_STS_RES   0x20
 
#define AMD_SMB_STS_STATUS   0x1f
 
#define AMD_SMB_STATUS_OK   0x00
 
#define AMD_SMB_STATUS_FAIL   0x07
 
#define AMD_SMB_STATUS_DNAK   0x10
 
#define AMD_SMB_STATUS_DERR   0x11
 
#define AMD_SMB_STATUS_CMD_DENY   0x12
 
#define AMD_SMB_STATUS_UNKNOWN   0x13
 
#define AMD_SMB_STATUS_ACC_DENY   0x17
 
#define AMD_SMB_STATUS_TIMEOUT   0x18
 
#define AMD_SMB_STATUS_NOTSUP   0x19
 
#define AMD_SMB_STATUS_BUSY   0x1A
 
#define AMD_SMB_STATUS_PEC   0x1F
 
#define AMD_SMB_PRTCL_WRITE   0x00
 
#define AMD_SMB_PRTCL_READ   0x01
 
#define AMD_SMB_PRTCL_QUICK   0x02
 
#define AMD_SMB_PRTCL_BYTE   0x04
 
#define AMD_SMB_PRTCL_BYTE_DATA   0x06
 
#define AMD_SMB_PRTCL_WORD_DATA   0x08
 
#define AMD_SMB_PRTCL_BLOCK_DATA   0x0a
 
#define AMD_SMB_PRTCL_PROC_CALL   0x0c
 
#define AMD_SMB_PRTCL_BLOCK_PROC_CALL   0x0d
 
#define AMD_SMB_PRTCL_I2C_BLOCK_DATA   0x4a
 
#define AMD_SMB_PRTCL_PEC   0x80
 

Functions

 MODULE_LICENSE ("GPL")
 
 MODULE_AUTHOR ("Vojtech Pavlik <[email protected]>")
 
 MODULE_DESCRIPTION ("AMD8111 SMBus 2.0 driver")
 
 MODULE_DEVICE_TABLE (pci, amd8111_ids)
 
 module_pci_driver (amd8111_driver)
 

Macro Definition Documentation

#define AMD_EC_CMD   0x04 /* command register */

Definition at line 52 of file i2c-amd8111.c.

#define AMD_EC_CMD_BD   0x83 /* disable burst mode */

Definition at line 65 of file i2c-amd8111.c.

#define AMD_EC_CMD_BE   0x82 /* enable burst mode */

Definition at line 64 of file i2c-amd8111.c.

#define AMD_EC_CMD_QR   0x84 /* query EC */

Definition at line 66 of file i2c-amd8111.c.

#define AMD_EC_CMD_RD   0x80 /* read EC */

Definition at line 62 of file i2c-amd8111.c.

#define AMD_EC_CMD_WR   0x81 /* write EC */

Definition at line 63 of file i2c-amd8111.c.

#define AMD_EC_DATA   0x00 /* data register */

Definition at line 50 of file i2c-amd8111.c.

#define AMD_EC_ICR   0x08 /* interrupt control register */

Definition at line 53 of file i2c-amd8111.c.

#define AMD_EC_SC   0x04 /* status of controller */

Definition at line 51 of file i2c-amd8111.c.

#define AMD_EC_SC_BURST   0x01 /* burst mode enabled */

Definition at line 57 of file i2c-amd8111.c.

#define AMD_EC_SC_CMD   0x08 /* byte in data reg is command */

Definition at line 58 of file i2c-amd8111.c.

#define AMD_EC_SC_IBF   0x02 /* data ready for embedded controller */

Definition at line 59 of file i2c-amd8111.c.

#define AMD_EC_SC_OBF   0x01 /* data ready for host */

Definition at line 60 of file i2c-amd8111.c.

#define AMD_EC_SC_SCI   0x02 /* sci event pending */

Definition at line 56 of file i2c-amd8111.c.

#define AMD_EC_SC_SMI   0x04 /* smi event pending */

Definition at line 55 of file i2c-amd8111.c.

#define AMD_PCI_MISC   0x48

Definition at line 40 of file i2c-amd8111.c.

#define AMD_PCI_MISC_INT   0x02 /* deliver PCI IRQ */

Definition at line 43 of file i2c-amd8111.c.

#define AMD_PCI_MISC_SCI   0x04 /* deliver SCI */

Definition at line 42 of file i2c-amd8111.c.

#define AMD_PCI_MISC_SPEEDUP   0x01 /* 16x clock speedup */

Definition at line 44 of file i2c-amd8111.c.

#define AMD_SMB_ADDR   0x02 /* address */

Definition at line 156 of file i2c-amd8111.c.

#define AMD_SMB_ALRM_A   0x25 /* alarm address */

Definition at line 160 of file i2c-amd8111.c.

#define AMD_SMB_ALRM_D   0x26 /* 2 bytes alarm data */

Definition at line 161 of file i2c-amd8111.c.

#define AMD_SMB_BCNT   0x24 /* number of data bytes */

Definition at line 159 of file i2c-amd8111.c.

#define AMD_SMB_CMD   0x03 /* command */

Definition at line 157 of file i2c-amd8111.c.

#define AMD_SMB_DATA   0x04 /* 32 data registers */

Definition at line 158 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL   0x00 /* protocol, PEC */

Definition at line 154 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_BLOCK_DATA   0x0a

Definition at line 186 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_BLOCK_PROC_CALL   0x0d

Definition at line 188 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_BYTE   0x04

Definition at line 183 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_BYTE_DATA   0x06

Definition at line 184 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_I2C_BLOCK_DATA   0x4a

Definition at line 189 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_PEC   0x80

Definition at line 190 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_PROC_CALL   0x0c

Definition at line 187 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_QUICK   0x02

Definition at line 182 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_READ   0x01

Definition at line 181 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_WORD_DATA   0x08

Definition at line 185 of file i2c-amd8111.c.

#define AMD_SMB_PRTCL_WRITE   0x00

Definition at line 180 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_ACC_DENY   0x17

Definition at line 174 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_BUSY   0x1A

Definition at line 177 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_CMD_DENY   0x12

Definition at line 172 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_DERR   0x11

Definition at line 171 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_DNAK   0x10

Definition at line 170 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_FAIL   0x07

Definition at line 169 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_NOTSUP   0x19

Definition at line 176 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_OK   0x00

Definition at line 168 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_PEC   0x1F

Definition at line 178 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_TIMEOUT   0x18

Definition at line 175 of file i2c-amd8111.c.

#define AMD_SMB_STATUS_UNKNOWN   0x13

Definition at line 173 of file i2c-amd8111.c.

#define AMD_SMB_STS   0x01 /* status */

Definition at line 155 of file i2c-amd8111.c.

#define AMD_SMB_STS_ALRM   0x40

Definition at line 164 of file i2c-amd8111.c.

#define AMD_SMB_STS_DONE   0x80

Definition at line 163 of file i2c-amd8111.c.

#define AMD_SMB_STS_RES   0x20

Definition at line 165 of file i2c-amd8111.c.

#define AMD_SMB_STS_STATUS   0x1f

Definition at line 166 of file i2c-amd8111.c.

Function Documentation

MODULE_AUTHOR ( "Vojtech Pavlik <[email protected]>"  )
MODULE_DESCRIPTION ( "AMD8111 SMBus 2.0 driver )
MODULE_DEVICE_TABLE ( pci  ,
amd8111_ids   
)
MODULE_LICENSE ( "GPL"  )
module_pci_driver ( amd8111_driver  )