diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 13:47:41 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 13:47:41 -0400 |
| commit | 4e455c6782bd6bf6a0135c1e1c9f018ec191979e (patch) | |
| tree | b26d342b454b4829344985c968adf16d092dc534 /include/linux | |
| parent | 105a048a4f35f7a74c7cc20b36dd83658b6ec232 (diff) | |
| parent | dce80a56268fffd6b5ea57b3f6ba3d027a68f05e (diff) | |
Merge branch 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6
* 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:
SFI: add sysfs interface for SFI tables.
SFI: add support for v0.81 spec
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sfi.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/include/linux/sfi.h b/include/linux/sfi.h index 9a6f7607174e..0299b4ce63db 100644 --- a/include/linux/sfi.h +++ b/include/linux/sfi.h | |||
| @@ -73,6 +73,8 @@ | |||
| 73 | #define SFI_SIG_SPIB "SPIB" | 73 | #define SFI_SIG_SPIB "SPIB" |
| 74 | #define SFI_SIG_I2CB "I2CB" | 74 | #define SFI_SIG_I2CB "I2CB" |
| 75 | #define SFI_SIG_GPEM "GPEM" | 75 | #define SFI_SIG_GPEM "GPEM" |
| 76 | #define SFI_SIG_DEVS "DEVS" | ||
| 77 | #define SFI_SIG_GPIO "GPIO" | ||
| 76 | 78 | ||
| 77 | #define SFI_SIGNATURE_SIZE 4 | 79 | #define SFI_SIGNATURE_SIZE 4 |
| 78 | #define SFI_OEM_ID_SIZE 6 | 80 | #define SFI_OEM_ID_SIZE 6 |
| @@ -145,6 +147,27 @@ struct sfi_rtc_table_entry { | |||
| 145 | u32 irq; | 147 | u32 irq; |
| 146 | } __packed; | 148 | } __packed; |
| 147 | 149 | ||
| 150 | struct sfi_device_table_entry { | ||
| 151 | u8 type; /* bus type, I2C, SPI or ...*/ | ||
| 152 | #define SFI_DEV_TYPE_SPI 0 | ||
| 153 | #define SFI_DEV_TYPE_I2C 1 | ||
| 154 | #define SFI_DEV_TYPE_UART 2 | ||
| 155 | #define SFI_DEV_TYPE_HSI 3 | ||
| 156 | #define SFI_DEV_TYPE_IPC 4 | ||
| 157 | |||
| 158 | u8 host_num; /* attached to host 0, 1...*/ | ||
| 159 | u16 addr; | ||
| 160 | u8 irq; | ||
| 161 | u32 max_freq; | ||
| 162 | char name[16]; | ||
| 163 | } __packed; | ||
| 164 | |||
| 165 | struct sfi_gpio_table_entry { | ||
| 166 | char controller_name[16]; | ||
| 167 | u16 pin_no; | ||
| 168 | char pin_name[16]; | ||
| 169 | } __packed; | ||
| 170 | |||
| 148 | struct sfi_spi_table_entry { | 171 | struct sfi_spi_table_entry { |
| 149 | u16 host_num; /* attached to host 0, 1...*/ | 172 | u16 host_num; /* attached to host 0, 1...*/ |
| 150 | u16 cs; /* chip select */ | 173 | u16 cs; /* chip select */ |
| @@ -166,7 +189,6 @@ struct sfi_gpe_table_entry { | |||
| 166 | u16 phys_id; /* physical GPE id */ | 189 | u16 phys_id; /* physical GPE id */ |
| 167 | } __packed; | 190 | } __packed; |
| 168 | 191 | ||
| 169 | |||
| 170 | typedef int (*sfi_table_handler) (struct sfi_table_header *table); | 192 | typedef int (*sfi_table_handler) (struct sfi_table_header *table); |
| 171 | 193 | ||
| 172 | #ifdef CONFIG_SFI | 194 | #ifdef CONFIG_SFI |
