diff options
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/Kbuild | 2 | ||||
| -rw-r--r-- | include/uapi/linux/genwqe/genwqe_card.h | 500 | ||||
| -rw-r--r-- | include/uapi/linux/gfs2_ondisk.h | 11 | ||||
| -rw-r--r-- | include/uapi/linux/input.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/kexec.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/pci_regs.h | 37 | ||||
| -rw-r--r-- | include/uapi/linux/perf_event.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/sched.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/zorro.h | 113 | ||||
| -rw-r--r-- | include/uapi/linux/zorro_ids.h | 552 |
10 files changed, 1219 insertions, 8 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 33d2b8fe166d..3ce25b5d75a9 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -426,3 +426,5 @@ header-y += x25.h | |||
| 426 | header-y += xattr.h | 426 | header-y += xattr.h |
| 427 | header-y += xfrm.h | 427 | header-y += xfrm.h |
| 428 | header-y += hw_breakpoint.h | 428 | header-y += hw_breakpoint.h |
| 429 | header-y += zorro.h | ||
| 430 | header-y += zorro_ids.h | ||
diff --git a/include/uapi/linux/genwqe/genwqe_card.h b/include/uapi/linux/genwqe/genwqe_card.h new file mode 100644 index 000000000000..795e957bb840 --- /dev/null +++ b/include/uapi/linux/genwqe/genwqe_card.h | |||
| @@ -0,0 +1,500 @@ | |||
| 1 | #ifndef __GENWQE_CARD_H__ | ||
| 2 | #define __GENWQE_CARD_H__ | ||
| 3 | |||
| 4 | /** | ||
| 5 | * IBM Accelerator Family 'GenWQE' | ||
| 6 | * | ||
| 7 | * (C) Copyright IBM Corp. 2013 | ||
| 8 | * | ||
| 9 | * Author: Frank Haverkamp <haver@linux.vnet.ibm.com> | ||
| 10 | * Author: Joerg-Stephan Vogt <jsvogt@de.ibm.com> | ||
| 11 | * Author: Michael Jung <mijung@de.ibm.com> | ||
| 12 | * Author: Michael Ruettger <michael@ibmra.de> | ||
| 13 | * | ||
| 14 | * This program is free software; you can redistribute it and/or modify | ||
| 15 | * it under the terms of the GNU General Public License (version 2 only) | ||
| 16 | * as published by the Free Software Foundation. | ||
| 17 | * | ||
| 18 | * This program is distributed in the hope that it will be useful, | ||
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 21 | * GNU General Public License for more details. | ||
| 22 | */ | ||
| 23 | |||
| 24 | /* | ||
| 25 | * User-space API for the GenWQE card. For debugging and test purposes | ||
| 26 | * the register addresses are included here too. | ||
| 27 | */ | ||
| 28 | |||
| 29 | #include <linux/types.h> | ||
| 30 | #include <linux/ioctl.h> | ||
| 31 | |||
| 32 | /* Basename of sysfs, debugfs and /dev interfaces */ | ||
| 33 | #define GENWQE_DEVNAME "genwqe" | ||
| 34 | |||
| 35 | #define GENWQE_TYPE_ALTERA_230 0x00 /* GenWQE4 Stratix-IV-230 */ | ||
| 36 | #define GENWQE_TYPE_ALTERA_530 0x01 /* GenWQE4 Stratix-IV-530 */ | ||
| 37 | #define GENWQE_TYPE_ALTERA_A4 0x02 /* GenWQE5 A4 Stratix-V-A4 */ | ||
| 38 | #define GENWQE_TYPE_ALTERA_A7 0x03 /* GenWQE5 A7 Stratix-V-A7 */ | ||
| 39 | |||
| 40 | /* MMIO Unit offsets: Each UnitID occupies a defined address range */ | ||
| 41 | #define GENWQE_UID_OFFS(uid) ((uid) << 24) | ||
| 42 | #define GENWQE_SLU_OFFS GENWQE_UID_OFFS(0) | ||
| 43 | #define GENWQE_HSU_OFFS GENWQE_UID_OFFS(1) | ||
| 44 | #define GENWQE_APP_OFFS GENWQE_UID_OFFS(2) | ||
| 45 | #define GENWQE_MAX_UNITS 3 | ||
| 46 | |||
| 47 | /* Common offsets per UnitID */ | ||
| 48 | #define IO_EXTENDED_ERROR_POINTER 0x00000048 | ||
| 49 | #define IO_ERROR_INJECT_SELECTOR 0x00000060 | ||
| 50 | #define IO_EXTENDED_DIAG_SELECTOR 0x00000070 | ||
| 51 | #define IO_EXTENDED_DIAG_READ_MBX 0x00000078 | ||
| 52 | #define IO_EXTENDED_DIAG_MAP(ring) (0x00000500 | ((ring) << 3)) | ||
| 53 | |||
| 54 | #define GENWQE_EXTENDED_DIAG_SELECTOR(ring, trace) (((ring) << 8) | (trace)) | ||
| 55 | |||
| 56 | /* UnitID 0: Service Layer Unit (SLU) */ | ||
| 57 | |||
| 58 | /* SLU: Unit Configuration Register */ | ||
| 59 | #define IO_SLU_UNITCFG 0x00000000 | ||
| 60 | #define IO_SLU_UNITCFG_TYPE_MASK 0x000000000ff00000 /* 27:20 */ | ||
| 61 | |||
| 62 | /* SLU: Fault Isolation Register (FIR) (ac_slu_fir) */ | ||
| 63 | #define IO_SLU_FIR 0x00000008 /* read only, wr direct */ | ||
| 64 | #define IO_SLU_FIR_CLR 0x00000010 /* read and clear */ | ||
| 65 | |||
| 66 | /* SLU: First Error Capture Register (FEC/WOF) */ | ||
| 67 | #define IO_SLU_FEC 0x00000018 | ||
| 68 | |||
| 69 | #define IO_SLU_ERR_ACT_MASK 0x00000020 | ||
| 70 | #define IO_SLU_ERR_ATTN_MASK 0x00000028 | ||
| 71 | #define IO_SLU_FIRX1_ACT_MASK 0x00000030 | ||
| 72 | #define IO_SLU_FIRX0_ACT_MASK 0x00000038 | ||
| 73 | #define IO_SLU_SEC_LEM_DEBUG_OVR 0x00000040 | ||
| 74 | #define IO_SLU_EXTENDED_ERR_PTR 0x00000048 | ||
| 75 | #define IO_SLU_COMMON_CONFIG 0x00000060 | ||
| 76 | |||
| 77 | #define IO_SLU_FLASH_FIR 0x00000108 | ||
| 78 | #define IO_SLU_SLC_FIR 0x00000110 | ||
| 79 | #define IO_SLU_RIU_TRAP 0x00000280 | ||
| 80 | #define IO_SLU_FLASH_FEC 0x00000308 | ||
| 81 | #define IO_SLU_SLC_FEC 0x00000310 | ||
| 82 | |||
| 83 | /* | ||
| 84 | * The Virtual Function's Access is from offset 0x00010000 | ||
| 85 | * The Physical Function's Access is from offset 0x00050000 | ||
| 86 | * Single Shared Registers exists only at offset 0x00060000 | ||
| 87 | * | ||
| 88 | * SLC: Queue Virtual Window Window for accessing into a specific VF | ||
| 89 | * queue. When accessing the 0x10000 space using the 0x50000 address | ||
| 90 | * segment, the value indicated here is used to specify which VF | ||
| 91 | * register is decoded. This register, and the 0x50000 register space | ||
| 92 | * can only be accessed by the PF. Example, if this register is set to | ||
| 93 | * 0x2, then a read from 0x50000 is the same as a read from 0x10000 | ||
| 94 | * from VF=2. | ||
| 95 | */ | ||
| 96 | |||
| 97 | /* SLC: Queue Segment */ | ||
| 98 | #define IO_SLC_QUEUE_SEGMENT 0x00010000 | ||
| 99 | #define IO_SLC_VF_QUEUE_SEGMENT 0x00050000 | ||
| 100 | |||
| 101 | /* SLC: Queue Offset */ | ||
| 102 | #define IO_SLC_QUEUE_OFFSET 0x00010008 | ||
| 103 | #define IO_SLC_VF_QUEUE_OFFSET 0x00050008 | ||
| 104 | |||
| 105 | /* SLC: Queue Configuration */ | ||
| 106 | #define IO_SLC_QUEUE_CONFIG 0x00010010 | ||
| 107 | #define IO_SLC_VF_QUEUE_CONFIG 0x00050010 | ||
| 108 | |||
| 109 | /* SLC: Job Timout/Only accessible for the PF */ | ||
| 110 | #define IO_SLC_APPJOB_TIMEOUT 0x00010018 | ||
| 111 | #define IO_SLC_VF_APPJOB_TIMEOUT 0x00050018 | ||
| 112 | #define TIMEOUT_250MS 0x0000000f | ||
| 113 | #define HEARTBEAT_DISABLE 0x0000ff00 | ||
| 114 | |||
| 115 | /* SLC: Queue InitSequence Register */ | ||
| 116 | #define IO_SLC_QUEUE_INITSQN 0x00010020 | ||
| 117 | #define IO_SLC_VF_QUEUE_INITSQN 0x00050020 | ||
| 118 | |||
| 119 | /* SLC: Queue Wrap */ | ||
| 120 | #define IO_SLC_QUEUE_WRAP 0x00010028 | ||
| 121 | #define IO_SLC_VF_QUEUE_WRAP 0x00050028 | ||
| 122 | |||
| 123 | /* SLC: Queue Status */ | ||
| 124 | #define IO_SLC_QUEUE_STATUS 0x00010100 | ||
| 125 | #define IO_SLC_VF_QUEUE_STATUS 0x00050100 | ||
| 126 | |||
| 127 | /* SLC: Queue Working Time */ | ||
| 128 | #define IO_SLC_QUEUE_WTIME 0x00010030 | ||
| 129 | #define IO_SLC_VF_QUEUE_WTIME 0x00050030 | ||
| 130 | |||
| 131 | /* SLC: Queue Error Counts */ | ||
| 132 | #define IO_SLC_QUEUE_ERRCNTS 0x00010038 | ||
| 133 | #define IO_SLC_VF_QUEUE_ERRCNTS 0x00050038 | ||
| 134 | |||
| 135 | /* SLC: Queue Loast Response Word */ | ||
| 136 | #define IO_SLC_QUEUE_LRW 0x00010040 | ||
| 137 | #define IO_SLC_VF_QUEUE_LRW 0x00050040 | ||
| 138 | |||
| 139 | /* SLC: Freerunning Timer */ | ||
| 140 | #define IO_SLC_FREE_RUNNING_TIMER 0x00010108 | ||
| 141 | #define IO_SLC_VF_FREE_RUNNING_TIMER 0x00050108 | ||
| 142 | |||
| 143 | /* SLC: Queue Virtual Access Region */ | ||
| 144 | #define IO_PF_SLC_VIRTUAL_REGION 0x00050000 | ||
| 145 | |||
| 146 | /* SLC: Queue Virtual Window */ | ||
| 147 | #define IO_PF_SLC_VIRTUAL_WINDOW 0x00060000 | ||
| 148 | |||
| 149 | /* SLC: DDCB Application Job Pending [n] (n=0:63) */ | ||
| 150 | #define IO_PF_SLC_JOBPEND(n) (0x00061000 + 8*(n)) | ||
| 151 | #define IO_SLC_JOBPEND(n) IO_PF_SLC_JOBPEND(n) | ||
| 152 | |||
| 153 | /* SLC: Parser Trap RAM [n] (n=0:31) */ | ||
| 154 | #define IO_SLU_SLC_PARSE_TRAP(n) (0x00011000 + 8*(n)) | ||
| 155 | |||
| 156 | /* SLC: Dispatcher Trap RAM [n] (n=0:31) */ | ||
| 157 | #define IO_SLU_SLC_DISP_TRAP(n) (0x00011200 + 8*(n)) | ||
| 158 | |||
| 159 | /* Global Fault Isolation Register (GFIR) */ | ||
| 160 | #define IO_SLC_CFGREG_GFIR 0x00020000 | ||
| 161 | #define GFIR_ERR_TRIGGER 0x0000ffff | ||
| 162 | |||
| 163 | /* SLU: Soft Reset Register */ | ||
| 164 | #define IO_SLC_CFGREG_SOFTRESET 0x00020018 | ||
| 165 | |||
| 166 | /* SLU: Misc Debug Register */ | ||
| 167 | #define IO_SLC_MISC_DEBUG 0x00020060 | ||
| 168 | #define IO_SLC_MISC_DEBUG_CLR 0x00020068 | ||
| 169 | #define IO_SLC_MISC_DEBUG_SET 0x00020070 | ||
| 170 | |||
| 171 | /* Temperature Sensor Reading */ | ||
| 172 | #define IO_SLU_TEMPERATURE_SENSOR 0x00030000 | ||
| 173 | #define IO_SLU_TEMPERATURE_CONFIG 0x00030008 | ||
| 174 | |||
| 175 | /* Voltage Margining Control */ | ||
| 176 | #define IO_SLU_VOLTAGE_CONTROL 0x00030080 | ||
| 177 | #define IO_SLU_VOLTAGE_NOMINAL 0x00000000 | ||
| 178 | #define IO_SLU_VOLTAGE_DOWN5 0x00000006 | ||
| 179 | #define IO_SLU_VOLTAGE_UP5 0x00000007 | ||
| 180 | |||
| 181 | /* Direct LED Control Register */ | ||
| 182 | #define IO_SLU_LEDCONTROL 0x00030100 | ||
| 183 | |||
| 184 | /* SLU: Flashbus Direct Access -A5 */ | ||
| 185 | #define IO_SLU_FLASH_DIRECTACCESS 0x00040010 | ||
| 186 | |||
| 187 | /* SLU: Flashbus Direct Access2 -A5 */ | ||
| 188 | #define IO_SLU_FLASH_DIRECTACCESS2 0x00040020 | ||
| 189 | |||
| 190 | /* SLU: Flashbus Command Interface -A5 */ | ||
| 191 | #define IO_SLU_FLASH_CMDINTF 0x00040030 | ||
| 192 | |||
| 193 | /* SLU: BitStream Loaded */ | ||
| 194 | #define IO_SLU_BITSTREAM 0x00040040 | ||
| 195 | |||
| 196 | /* This Register has a switch which will change the CAs to UR */ | ||
| 197 | #define IO_HSU_ERR_BEHAVIOR 0x01001010 | ||
| 198 | |||
| 199 | #define IO_SLC2_SQB_TRAP 0x00062000 | ||
| 200 | #define IO_SLC2_QUEUE_MANAGER_TRAP 0x00062008 | ||
| 201 | #define IO_SLC2_FLS_MASTER_TRAP 0x00062010 | ||
| 202 | |||
| 203 | /* UnitID 1: HSU Registers */ | ||
| 204 | #define IO_HSU_UNITCFG 0x01000000 | ||
| 205 | #define IO_HSU_FIR 0x01000008 | ||
| 206 | #define IO_HSU_FIR_CLR 0x01000010 | ||
| 207 | #define IO_HSU_FEC 0x01000018 | ||
| 208 | #define IO_HSU_ERR_ACT_MASK 0x01000020 | ||
| 209 | #define IO_HSU_ERR_ATTN_MASK 0x01000028 | ||
| 210 | #define IO_HSU_FIRX1_ACT_MASK 0x01000030 | ||
| 211 | #define IO_HSU_FIRX0_ACT_MASK 0x01000038 | ||
| 212 | #define IO_HSU_SEC_LEM_DEBUG_OVR 0x01000040 | ||
| 213 | #define IO_HSU_EXTENDED_ERR_PTR 0x01000048 | ||
| 214 | #define IO_HSU_COMMON_CONFIG 0x01000060 | ||
| 215 | |||
| 216 | /* UnitID 2: Application Unit (APP) */ | ||
| 217 | #define IO_APP_UNITCFG 0x02000000 | ||
| 218 | #define IO_APP_FIR 0x02000008 | ||
| 219 | #define IO_APP_FIR_CLR 0x02000010 | ||
| 220 | #define IO_APP_FEC 0x02000018 | ||
| 221 | #define IO_APP_ERR_ACT_MASK 0x02000020 | ||
| 222 | #define IO_APP_ERR_ATTN_MASK 0x02000028 | ||
| 223 | #define IO_APP_FIRX1_ACT_MASK 0x02000030 | ||
| 224 | #define IO_APP_FIRX0_ACT_MASK 0x02000038 | ||
| 225 | #define IO_APP_SEC_LEM_DEBUG_OVR 0x02000040 | ||
| 226 | #define IO_APP_EXTENDED_ERR_PTR 0x02000048 | ||
| 227 | #define IO_APP_COMMON_CONFIG 0x02000060 | ||
| 228 | |||
| 229 | #define IO_APP_DEBUG_REG_01 0x02010000 | ||
| 230 | #define IO_APP_DEBUG_REG_02 0x02010008 | ||
| 231 | #define IO_APP_DEBUG_REG_03 0x02010010 | ||
| 232 | #define IO_APP_DEBUG_REG_04 0x02010018 | ||
| 233 | #define IO_APP_DEBUG_REG_05 0x02010020 | ||
| 234 | #define IO_APP_DEBUG_REG_06 0x02010028 | ||
| 235 | #define IO_APP_DEBUG_REG_07 0x02010030 | ||
| 236 | #define IO_APP_DEBUG_REG_08 0x02010038 | ||
| 237 | #define IO_APP_DEBUG_REG_09 0x02010040 | ||
| 238 | #define IO_APP_DEBUG_REG_10 0x02010048 | ||
| 239 | #define IO_APP_DEBUG_REG_11 0x02010050 | ||
| 240 | #define IO_APP_DEBUG_REG_12 0x02010058 | ||
| 241 | #define IO_APP_DEBUG_REG_13 0x02010060 | ||
| 242 | #define IO_APP_DEBUG_REG_14 0x02010068 | ||
| 243 | #define IO_APP_DEBUG_REG_15 0x02010070 | ||
| 244 | #define IO_APP_DEBUG_REG_16 0x02010078 | ||
| 245 | #define IO_APP_DEBUG_REG_17 0x02010080 | ||
| 246 | #define IO_APP_DEBUG_REG_18 0x02010088 | ||
| 247 | |||
| 248 | /* Read/write from/to registers */ | ||
| 249 | struct genwqe_reg_io { | ||
| 250 | __u64 num; /* register offset/address */ | ||
| 251 | __u64 val64; | ||
| 252 | }; | ||
| 253 | |||
| 254 | /* | ||
| 255 | * All registers of our card will return values not equal this values. | ||
| 256 | * If we see IO_ILLEGAL_VALUE on any of our MMIO register reads, the | ||
| 257 | * card can be considered as unusable. It will need recovery. | ||
| 258 | */ | ||
| 259 | #define IO_ILLEGAL_VALUE 0xffffffffffffffffull | ||
| 260 | |||
| 261 | /* | ||
| 262 | * Generic DDCB execution interface. | ||
| 263 | * | ||
| 264 | * This interface is a first prototype resulting from discussions we | ||
| 265 | * had with other teams which wanted to use the Genwqe card. It allows | ||
| 266 | * to issue a DDCB request in a generic way. The request will block | ||
| 267 | * until it finishes or time out with error. | ||
| 268 | * | ||
| 269 | * Some DDCBs require DMA addresses to be specified in the ASIV | ||
| 270 | * block. The interface provies the capability to let the kernel | ||
| 271 | * driver know where those addresses are by specifying the ATS field, | ||
| 272 | * such that it can replace the user-space addresses with appropriate | ||
| 273 | * DMA addresses or DMA addresses of a scatter gather list which is | ||
| 274 | * dynamically created. | ||
| 275 | * | ||
| 276 | * Our hardware will refuse DDCB execution if the ATS field is not as | ||
| 277 | * expected. That means the DDCB execution engine in the chip knows | ||
| 278 | * where it expects DMA addresses within the ASIV part of the DDCB and | ||
| 279 | * will check that against the ATS field definition. Any invalid or | ||
| 280 | * unknown ATS content will lead to DDCB refusal. | ||
| 281 | */ | ||
| 282 | |||
| 283 | /* Genwqe chip Units */ | ||
| 284 | #define DDCB_ACFUNC_SLU 0x00 /* chip service layer unit */ | ||
| 285 | #define DDCB_ACFUNC_APP 0x01 /* chip application */ | ||
| 286 | |||
| 287 | /* DDCB return codes (RETC) */ | ||
| 288 | #define DDCB_RETC_IDLE 0x0000 /* Unexecuted/DDCB created */ | ||
| 289 | #define DDCB_RETC_PENDING 0x0101 /* Pending Execution */ | ||
| 290 | #define DDCB_RETC_COMPLETE 0x0102 /* Cmd complete. No error */ | ||
| 291 | #define DDCB_RETC_FAULT 0x0104 /* App Err, recoverable */ | ||
| 292 | #define DDCB_RETC_ERROR 0x0108 /* App Err, non-recoverable */ | ||
| 293 | #define DDCB_RETC_FORCED_ERROR 0x01ff /* overwritten by driver */ | ||
| 294 | |||
| 295 | #define DDCB_RETC_UNEXEC 0x0110 /* Unexe/Removed from queue */ | ||
| 296 | #define DDCB_RETC_TERM 0x0120 /* Terminated */ | ||
| 297 | #define DDCB_RETC_RES0 0x0140 /* Reserved */ | ||
| 298 | #define DDCB_RETC_RES1 0x0180 /* Reserved */ | ||
| 299 | |||
| 300 | /* DDCB Command Options (CMDOPT) */ | ||
| 301 | #define DDCB_OPT_ECHO_FORCE_NO 0x0000 /* ECHO DDCB */ | ||
| 302 | #define DDCB_OPT_ECHO_FORCE_102 0x0001 /* force return code */ | ||
| 303 | #define DDCB_OPT_ECHO_FORCE_104 0x0002 | ||
| 304 | #define DDCB_OPT_ECHO_FORCE_108 0x0003 | ||
| 305 | |||
| 306 | #define DDCB_OPT_ECHO_FORCE_110 0x0004 /* only on PF ! */ | ||
| 307 | #define DDCB_OPT_ECHO_FORCE_120 0x0005 | ||
| 308 | #define DDCB_OPT_ECHO_FORCE_140 0x0006 | ||
| 309 | #define DDCB_OPT_ECHO_FORCE_180 0x0007 | ||
| 310 | |||
| 311 | #define DDCB_OPT_ECHO_COPY_NONE (0 << 5) | ||
| 312 | #define DDCB_OPT_ECHO_COPY_ALL (1 << 5) | ||
| 313 | |||
| 314 | /* Definitions of Service Layer Commands */ | ||
| 315 | #define SLCMD_ECHO_SYNC 0x00 /* PF/VF */ | ||
| 316 | #define SLCMD_MOVE_FLASH 0x06 /* PF only */ | ||
| 317 | #define SLCMD_MOVE_FLASH_FLAGS_MODE 0x03 /* bit 0 and 1 used for mode */ | ||
| 318 | #define SLCMD_MOVE_FLASH_FLAGS_DLOAD 0 /* mode: download */ | ||
| 319 | #define SLCMD_MOVE_FLASH_FLAGS_EMUL 1 /* mode: emulation */ | ||
| 320 | #define SLCMD_MOVE_FLASH_FLAGS_UPLOAD 2 /* mode: upload */ | ||
| 321 | #define SLCMD_MOVE_FLASH_FLAGS_VERIFY 3 /* mode: verify */ | ||
| 322 | #define SLCMD_MOVE_FLASH_FLAG_NOTAP (1 << 2)/* just dump DDCB and exit */ | ||
| 323 | #define SLCMD_MOVE_FLASH_FLAG_POLL (1 << 3)/* wait for RETC >= 0102 */ | ||
| 324 | #define SLCMD_MOVE_FLASH_FLAG_PARTITION (1 << 4) | ||
| 325 | #define SLCMD_MOVE_FLASH_FLAG_ERASE (1 << 5) | ||
| 326 | |||
| 327 | enum genwqe_card_state { | ||
| 328 | GENWQE_CARD_UNUSED = 0, | ||
| 329 | GENWQE_CARD_USED = 1, | ||
| 330 | GENWQE_CARD_FATAL_ERROR = 2, | ||
| 331 | GENWQE_CARD_STATE_MAX, | ||
| 332 | }; | ||
| 333 | |||
| 334 | /* common struct for chip image exchange */ | ||
| 335 | struct genwqe_bitstream { | ||
| 336 | __u64 data_addr; /* pointer to image data */ | ||
| 337 | __u32 size; /* size of image file */ | ||
| 338 | __u32 crc; /* crc of this image */ | ||
| 339 | __u64 target_addr; /* starting address in Flash */ | ||
| 340 | __u32 partition; /* '0', '1', or 'v' */ | ||
| 341 | __u32 uid; /* 1=host/x=dram */ | ||
| 342 | |||
| 343 | __u64 slu_id; /* informational/sim: SluID */ | ||
| 344 | __u64 app_id; /* informational/sim: AppID */ | ||
| 345 | |||
| 346 | __u16 retc; /* returned from processing */ | ||
| 347 | __u16 attn; /* attention code from processing */ | ||
| 348 | __u32 progress; /* progress code from processing */ | ||
| 349 | }; | ||
| 350 | |||
| 351 | /* Issuing a specific DDCB command */ | ||
| 352 | #define DDCB_LENGTH 256 /* for debug data */ | ||
| 353 | #define DDCB_ASIV_LENGTH 104 /* len of the DDCB ASIV array */ | ||
| 354 | #define DDCB_ASIV_LENGTH_ATS 96 /* ASIV in ATS architecture */ | ||
| 355 | #define DDCB_ASV_LENGTH 64 /* len of the DDCB ASV array */ | ||
| 356 | #define DDCB_FIXUPS 12 /* maximum number of fixups */ | ||
| 357 | |||
| 358 | struct genwqe_debug_data { | ||
| 359 | char driver_version[64]; | ||
| 360 | __u64 slu_unitcfg; | ||
| 361 | __u64 app_unitcfg; | ||
| 362 | |||
| 363 | __u8 ddcb_before[DDCB_LENGTH]; | ||
| 364 | __u8 ddcb_prev[DDCB_LENGTH]; | ||
| 365 | __u8 ddcb_finished[DDCB_LENGTH]; | ||
| 366 | }; | ||
| 367 | |||
| 368 | /* | ||
| 369 | * Address Translation Specification (ATS) definitions | ||
| 370 | * | ||
| 371 | * Each 4 bit within the ATS 64-bit word specify the required address | ||
| 372 | * translation at the defined offset. | ||
| 373 | * | ||
| 374 | * 63 LSB | ||
| 375 | * 6666.5555.5555.5544.4444.4443.3333.3333 ... 11 | ||
| 376 | * 3210.9876.5432.1098.7654.3210.9876.5432 ... 1098.7654.3210 | ||
| 377 | * | ||
| 378 | * offset: 0x00 0x08 0x10 0x18 0x20 0x28 0x30 0x38 ... 0x68 0x70 0x78 | ||
| 379 | * res res res res ASIV ... | ||
| 380 | * The first 4 entries in the ATS word are reserved. The following nibbles | ||
| 381 | * each describe at an 8 byte offset the format of the required data. | ||
| 382 | */ | ||
| 383 | #define ATS_TYPE_DATA 0x0ull /* data */ | ||
| 384 | #define ATS_TYPE_FLAT_RD 0x4ull /* flat buffer read only */ | ||
| 385 | #define ATS_TYPE_FLAT_RDWR 0x5ull /* flat buffer read/write */ | ||
| 386 | #define ATS_TYPE_SGL_RD 0x6ull /* sgl read only */ | ||
| 387 | #define ATS_TYPE_SGL_RDWR 0x7ull /* sgl read/write */ | ||
| 388 | |||
| 389 | #define ATS_SET_FLAGS(_struct, _field, _flags) \ | ||
| 390 | (((_flags) & 0xf) << (44 - (4 * (offsetof(_struct, _field) / 8)))) | ||
| 391 | |||
| 392 | #define ATS_GET_FLAGS(_ats, _byte_offs) \ | ||
| 393 | (((_ats) >> (44 - (4 * ((_byte_offs) / 8)))) & 0xf) | ||
| 394 | |||
| 395 | /** | ||
| 396 | * struct genwqe_ddcb_cmd - User parameter for generic DDCB commands | ||
| 397 | * | ||
| 398 | * On the way into the kernel the driver will read the whole data | ||
| 399 | * structure. On the way out the driver will not copy the ASIV data | ||
| 400 | * back to user-space. | ||
| 401 | */ | ||
| 402 | struct genwqe_ddcb_cmd { | ||
| 403 | /* START of data copied to/from driver */ | ||
| 404 | __u64 next_addr; /* chaining genwqe_ddcb_cmd */ | ||
| 405 | __u64 flags; /* reserved */ | ||
| 406 | |||
| 407 | __u8 acfunc; /* accelerators functional unit */ | ||
| 408 | __u8 cmd; /* command to execute */ | ||
| 409 | __u8 asiv_length; /* used parameter length */ | ||
| 410 | __u8 asv_length; /* length of valid return values */ | ||
| 411 | __u16 cmdopts; /* command options */ | ||
| 412 | __u16 retc; /* return code from processing */ | ||
| 413 | |||
| 414 | __u16 attn; /* attention code from processing */ | ||
| 415 | __u16 vcrc; /* variant crc16 */ | ||
| 416 | __u32 progress; /* progress code from processing */ | ||
| 417 | |||
| 418 | __u64 deque_ts; /* dequeue time stamp */ | ||
| 419 | __u64 cmplt_ts; /* completion time stamp */ | ||
| 420 | __u64 disp_ts; /* SW processing start */ | ||
| 421 | |||
| 422 | /* move to end and avoid copy-back */ | ||
| 423 | __u64 ddata_addr; /* collect debug data */ | ||
| 424 | |||
| 425 | /* command specific values */ | ||
| 426 | __u8 asv[DDCB_ASV_LENGTH]; | ||
| 427 | |||
| 428 | /* END of data copied from driver */ | ||
| 429 | union { | ||
| 430 | struct { | ||
| 431 | __u64 ats; | ||
| 432 | __u8 asiv[DDCB_ASIV_LENGTH_ATS]; | ||
| 433 | }; | ||
| 434 | /* used for flash update to keep it backward compatible */ | ||
| 435 | __u8 __asiv[DDCB_ASIV_LENGTH]; | ||
| 436 | }; | ||
| 437 | /* END of data copied to driver */ | ||
| 438 | }; | ||
| 439 | |||
| 440 | #define GENWQE_IOC_CODE 0xa5 | ||
| 441 | |||
| 442 | /* Access functions */ | ||
| 443 | #define GENWQE_READ_REG64 _IOR(GENWQE_IOC_CODE, 30, struct genwqe_reg_io) | ||
| 444 | #define GENWQE_WRITE_REG64 _IOW(GENWQE_IOC_CODE, 31, struct genwqe_reg_io) | ||
| 445 | #define GENWQE_READ_REG32 _IOR(GENWQE_IOC_CODE, 32, struct genwqe_reg_io) | ||
| 446 | #define GENWQE_WRITE_REG32 _IOW(GENWQE_IOC_CODE, 33, struct genwqe_reg_io) | ||
| 447 | #define GENWQE_READ_REG16 _IOR(GENWQE_IOC_CODE, 34, struct genwqe_reg_io) | ||
| 448 | #define GENWQE_WRITE_REG16 _IOW(GENWQE_IOC_CODE, 35, struct genwqe_reg_io) | ||
| 449 | |||
| 450 | #define GENWQE_GET_CARD_STATE _IOR(GENWQE_IOC_CODE, 36, enum genwqe_card_state) | ||
| 451 | |||
| 452 | /** | ||
| 453 | * struct genwqe_mem - Memory pinning/unpinning information | ||
| 454 | * @addr: virtual user space address | ||
| 455 | * @size: size of the area pin/dma-map/unmap | ||
| 456 | * direction: 0: read/1: read and write | ||
| 457 | * | ||
| 458 | * Avoid pinning and unpinning of memory pages dynamically. Instead | ||
| 459 | * the idea is to pin the whole buffer space required for DDCB | ||
| 460 | * opertionas in advance. The driver will reuse this pinning and the | ||
| 461 | * memory associated with it to setup the sglists for the DDCB | ||
| 462 | * requests without the need to allocate and free memory or map and | ||
| 463 | * unmap to get the DMA addresses. | ||
| 464 | * | ||
| 465 | * The inverse operation needs to be called after the pinning is not | ||
| 466 | * needed anymore. The pinnings else the pinnings will get removed | ||
| 467 | * after the device is closed. Note that pinnings will required | ||
| 468 | * memory. | ||
| 469 | */ | ||
| 470 | struct genwqe_mem { | ||
| 471 | __u64 addr; | ||
| 472 | __u64 size; | ||
| 473 | __u64 direction; | ||
| 474 | __u64 flags; | ||
| 475 | }; | ||
| 476 | |||
| 477 | #define GENWQE_PIN_MEM _IOWR(GENWQE_IOC_CODE, 40, struct genwqe_mem) | ||
| 478 | #define GENWQE_UNPIN_MEM _IOWR(GENWQE_IOC_CODE, 41, struct genwqe_mem) | ||
| 479 | |||
| 480 | /* | ||
| 481 | * Generic synchronous DDCB execution interface. | ||
| 482 | * Synchronously execute a DDCB. | ||
| 483 | * | ||
| 484 | * Return: 0 on success or negative error code. | ||
| 485 | * -EINVAL: Invalid parameters (ASIV_LEN, ASV_LEN, illegal fixups | ||
| 486 | * no mappings found/could not create mappings | ||
| 487 | * -EFAULT: illegal addresses in fixups, purging failed | ||
| 488 | * -EBADMSG: enqueing failed, retc != DDCB_RETC_COMPLETE | ||
| 489 | */ | ||
| 490 | #define GENWQE_EXECUTE_DDCB \ | ||
| 491 | _IOWR(GENWQE_IOC_CODE, 50, struct genwqe_ddcb_cmd) | ||
| 492 | |||
| 493 | #define GENWQE_EXECUTE_RAW_DDCB \ | ||
| 494 | _IOWR(GENWQE_IOC_CODE, 51, struct genwqe_ddcb_cmd) | ||
| 495 | |||
| 496 | /* Service Layer functions (PF only) */ | ||
| 497 | #define GENWQE_SLU_UPDATE _IOWR(GENWQE_IOC_CODE, 80, struct genwqe_bitstream) | ||
| 498 | #define GENWQE_SLU_READ _IOWR(GENWQE_IOC_CODE, 81, struct genwqe_bitstream) | ||
| 499 | |||
| 500 | #endif /* __GENWQE_CARD_H__ */ | ||
diff --git a/include/uapi/linux/gfs2_ondisk.h b/include/uapi/linux/gfs2_ondisk.h index b2de1f9a88d6..0f24c07aed51 100644 --- a/include/uapi/linux/gfs2_ondisk.h +++ b/include/uapi/linux/gfs2_ondisk.h | |||
| @@ -319,7 +319,16 @@ struct gfs2_leaf { | |||
| 319 | __be32 lf_dirent_format; /* Format of the dirents */ | 319 | __be32 lf_dirent_format; /* Format of the dirents */ |
| 320 | __be64 lf_next; /* Next leaf, if overflow */ | 320 | __be64 lf_next; /* Next leaf, if overflow */ |
| 321 | 321 | ||
| 322 | __u8 lf_reserved[64]; | 322 | union { |
| 323 | __u8 lf_reserved[64]; | ||
| 324 | struct { | ||
| 325 | __be64 lf_inode; /* Dir inode number */ | ||
| 326 | __be32 lf_dist; /* Dist from inode on chain */ | ||
| 327 | __be32 lf_nsec; /* Last ins/del usecs */ | ||
| 328 | __be64 lf_sec; /* Last ins/del in secs */ | ||
| 329 | __u8 lf_reserved2[40]; | ||
| 330 | }; | ||
| 331 | }; | ||
| 323 | }; | 332 | }; |
| 324 | 333 | ||
| 325 | /* | 334 | /* |
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h index ecc88592ecbe..bd24470d24a2 100644 --- a/include/uapi/linux/input.h +++ b/include/uapi/linux/input.h | |||
| @@ -464,7 +464,8 @@ struct input_keymap_entry { | |||
| 464 | #define KEY_BRIGHTNESS_ZERO 244 /* brightness off, use ambient */ | 464 | #define KEY_BRIGHTNESS_ZERO 244 /* brightness off, use ambient */ |
| 465 | #define KEY_DISPLAY_OFF 245 /* display device to off state */ | 465 | #define KEY_DISPLAY_OFF 245 /* display device to off state */ |
| 466 | 466 | ||
| 467 | #define KEY_WIMAX 246 | 467 | #define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */ |
| 468 | #define KEY_WIMAX KEY_WWAN | ||
| 468 | #define KEY_RFKILL 247 /* Key that controls all radios */ | 469 | #define KEY_RFKILL 247 /* Key that controls all radios */ |
| 469 | 470 | ||
| 470 | #define KEY_MICMUTE 248 /* Mute / unmute the microphone */ | 471 | #define KEY_MICMUTE 248 /* Mute / unmute the microphone */ |
diff --git a/include/uapi/linux/kexec.h b/include/uapi/linux/kexec.h index 104838f65bc1..d6629d49a243 100644 --- a/include/uapi/linux/kexec.h +++ b/include/uapi/linux/kexec.h | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | */ | 18 | */ |
| 19 | #define KEXEC_ARCH_DEFAULT ( 0 << 16) | 19 | #define KEXEC_ARCH_DEFAULT ( 0 << 16) |
| 20 | #define KEXEC_ARCH_386 ( 3 << 16) | 20 | #define KEXEC_ARCH_386 ( 3 << 16) |
| 21 | #define KEXEC_ARCH_68K ( 4 << 16) | ||
| 21 | #define KEXEC_ARCH_X86_64 (62 << 16) | 22 | #define KEXEC_ARCH_X86_64 (62 << 16) |
| 22 | #define KEXEC_ARCH_PPC (20 << 16) | 23 | #define KEXEC_ARCH_PPC (20 << 16) |
| 23 | #define KEXEC_ARCH_PPC64 (21 << 16) | 24 | #define KEXEC_ARCH_PPC64 (21 << 16) |
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 4a98e85438a7..ab6b4e7f6657 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h | |||
| @@ -518,8 +518,16 @@ | |||
| 518 | #define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */ | 518 | #define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */ |
| 519 | #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ | 519 | #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ |
| 520 | #define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */ | 520 | #define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */ |
| 521 | #define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */ | ||
| 522 | #define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */ | ||
| 523 | #define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */ | ||
| 521 | #define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */ | 524 | #define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */ |
| 525 | #define PCI_EXP_SLTCTL_PWR_IND_ON 0x0100 /* Power Indicator on */ | ||
| 526 | #define PCI_EXP_SLTCTL_PWR_IND_BLINK 0x0200 /* Power Indicator blinking */ | ||
| 527 | #define PCI_EXP_SLTCTL_PWR_IND_OFF 0x0300 /* Power Indicator off */ | ||
| 522 | #define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */ | 528 | #define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */ |
| 529 | #define PCI_EXP_SLTCTL_PWR_ON 0x0000 /* Power On */ | ||
| 530 | #define PCI_EXP_SLTCTL_PWR_OFF 0x0400 /* Power Off */ | ||
| 523 | #define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */ | 531 | #define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */ |
| 524 | #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */ | 532 | #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */ |
| 525 | #define PCI_EXP_SLTSTA 26 /* Slot Status */ | 533 | #define PCI_EXP_SLTSTA 26 /* Slot Status */ |
| @@ -677,17 +685,34 @@ | |||
| 677 | #define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */ | 685 | #define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */ |
| 678 | 686 | ||
| 679 | /* Virtual Channel */ | 687 | /* Virtual Channel */ |
| 680 | #define PCI_VC_PORT_REG1 4 | 688 | #define PCI_VC_PORT_CAP1 4 |
| 681 | #define PCI_VC_REG1_EVCC 0x7 /* extended VC count */ | 689 | #define PCI_VC_CAP1_EVCC 0x00000007 /* extended VC count */ |
| 682 | #define PCI_VC_PORT_REG2 8 | 690 | #define PCI_VC_CAP1_LPEVCC 0x00000070 /* low prio extended VC count */ |
| 683 | #define PCI_VC_REG2_32_PHASE 0x2 | 691 | #define PCI_VC_CAP1_ARB_SIZE 0x00000c00 |
| 684 | #define PCI_VC_REG2_64_PHASE 0x4 | 692 | #define PCI_VC_PORT_CAP2 8 |
| 685 | #define PCI_VC_REG2_128_PHASE 0x8 | 693 | #define PCI_VC_CAP2_32_PHASE 0x00000002 |
| 694 | #define PCI_VC_CAP2_64_PHASE 0x00000004 | ||
| 695 | #define PCI_VC_CAP2_128_PHASE 0x00000008 | ||
| 696 | #define PCI_VC_CAP2_ARB_OFF 0xff000000 | ||
| 686 | #define PCI_VC_PORT_CTRL 12 | 697 | #define PCI_VC_PORT_CTRL 12 |
| 698 | #define PCI_VC_PORT_CTRL_LOAD_TABLE 0x00000001 | ||
| 687 | #define PCI_VC_PORT_STATUS 14 | 699 | #define PCI_VC_PORT_STATUS 14 |
| 700 | #define PCI_VC_PORT_STATUS_TABLE 0x00000001 | ||
| 688 | #define PCI_VC_RES_CAP 16 | 701 | #define PCI_VC_RES_CAP 16 |
| 702 | #define PCI_VC_RES_CAP_32_PHASE 0x00000002 | ||
| 703 | #define PCI_VC_RES_CAP_64_PHASE 0x00000004 | ||
| 704 | #define PCI_VC_RES_CAP_128_PHASE 0x00000008 | ||
| 705 | #define PCI_VC_RES_CAP_128_PHASE_TB 0x00000010 | ||
| 706 | #define PCI_VC_RES_CAP_256_PHASE 0x00000020 | ||
| 707 | #define PCI_VC_RES_CAP_ARB_OFF 0xff000000 | ||
| 689 | #define PCI_VC_RES_CTRL 20 | 708 | #define PCI_VC_RES_CTRL 20 |
| 709 | #define PCI_VC_RES_CTRL_LOAD_TABLE 0x00010000 | ||
| 710 | #define PCI_VC_RES_CTRL_ARB_SELECT 0x000e0000 | ||
| 711 | #define PCI_VC_RES_CTRL_ID 0x07000000 | ||
| 712 | #define PCI_VC_RES_CTRL_ENABLE 0x80000000 | ||
| 690 | #define PCI_VC_RES_STATUS 26 | 713 | #define PCI_VC_RES_STATUS 26 |
| 714 | #define PCI_VC_RES_STATUS_TABLE 0x00000001 | ||
| 715 | #define PCI_VC_RES_STATUS_NEGO 0x00000002 | ||
| 691 | #define PCI_CAP_VC_BASE_SIZEOF 0x10 | 716 | #define PCI_CAP_VC_BASE_SIZEOF 0x10 |
| 692 | #define PCI_CAP_VC_PER_VC_SIZEOF 0x0C | 717 | #define PCI_CAP_VC_PER_VC_SIZEOF 0x0C |
| 693 | 718 | ||
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index e1802d6153ae..e244ed412745 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
| @@ -679,6 +679,7 @@ enum perf_event_type { | |||
| 679 | * | 679 | * |
| 680 | * { u64 weight; } && PERF_SAMPLE_WEIGHT | 680 | * { u64 weight; } && PERF_SAMPLE_WEIGHT |
| 681 | * { u64 data_src; } && PERF_SAMPLE_DATA_SRC | 681 | * { u64 data_src; } && PERF_SAMPLE_DATA_SRC |
| 682 | * { u64 transaction; } && PERF_SAMPLE_TRANSACTION | ||
| 682 | * }; | 683 | * }; |
| 683 | */ | 684 | */ |
| 684 | PERF_RECORD_SAMPLE = 9, | 685 | PERF_RECORD_SAMPLE = 9, |
| @@ -724,6 +725,7 @@ enum perf_callchain_context { | |||
| 724 | #define PERF_FLAG_FD_NO_GROUP (1U << 0) | 725 | #define PERF_FLAG_FD_NO_GROUP (1U << 0) |
| 725 | #define PERF_FLAG_FD_OUTPUT (1U << 1) | 726 | #define PERF_FLAG_FD_OUTPUT (1U << 1) |
| 726 | #define PERF_FLAG_PID_CGROUP (1U << 2) /* pid=cgroup id, per-cpu mode only */ | 727 | #define PERF_FLAG_PID_CGROUP (1U << 2) /* pid=cgroup id, per-cpu mode only */ |
| 728 | #define PERF_FLAG_FD_CLOEXEC (1U << 3) /* O_CLOEXEC */ | ||
| 727 | 729 | ||
| 728 | union perf_mem_data_src { | 730 | union perf_mem_data_src { |
| 729 | __u64 val; | 731 | __u64 val; |
diff --git a/include/uapi/linux/sched.h b/include/uapi/linux/sched.h index 5a0f945927ac..34f9d7387d13 100644 --- a/include/uapi/linux/sched.h +++ b/include/uapi/linux/sched.h | |||
| @@ -39,8 +39,14 @@ | |||
| 39 | #define SCHED_BATCH 3 | 39 | #define SCHED_BATCH 3 |
| 40 | /* SCHED_ISO: reserved but not implemented yet */ | 40 | /* SCHED_ISO: reserved but not implemented yet */ |
| 41 | #define SCHED_IDLE 5 | 41 | #define SCHED_IDLE 5 |
| 42 | #define SCHED_DEADLINE 6 | ||
| 43 | |||
| 42 | /* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */ | 44 | /* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */ |
| 43 | #define SCHED_RESET_ON_FORK 0x40000000 | 45 | #define SCHED_RESET_ON_FORK 0x40000000 |
| 44 | 46 | ||
| 47 | /* | ||
| 48 | * For the sched_{set,get}attr() calls | ||
| 49 | */ | ||
| 50 | #define SCHED_FLAG_RESET_ON_FORK 0x01 | ||
| 45 | 51 | ||
| 46 | #endif /* _UAPI_LINUX_SCHED_H */ | 52 | #endif /* _UAPI_LINUX_SCHED_H */ |
diff --git a/include/uapi/linux/zorro.h b/include/uapi/linux/zorro.h new file mode 100644 index 000000000000..59d021b242ed --- /dev/null +++ b/include/uapi/linux/zorro.h | |||
| @@ -0,0 +1,113 @@ | |||
| 1 | /* | ||
| 2 | * linux/zorro.h -- Amiga AutoConfig (Zorro) Bus Definitions | ||
| 3 | * | ||
| 4 | * Copyright (C) 1995--2003 Geert Uytterhoeven | ||
| 5 | * | ||
| 6 | * This file is subject to the terms and conditions of the GNU General Public | ||
| 7 | * License. See the file COPYING in the main directory of this archive | ||
| 8 | * for more details. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef _UAPI_LINUX_ZORRO_H | ||
| 12 | #define _UAPI_LINUX_ZORRO_H | ||
| 13 | |||
| 14 | #include <linux/types.h> | ||
| 15 | |||
| 16 | |||
| 17 | /* | ||
| 18 | * Each Zorro board has a 32-bit ID of the form | ||
| 19 | * | ||
| 20 | * mmmmmmmmmmmmmmmmppppppppeeeeeeee | ||
| 21 | * | ||
| 22 | * with | ||
| 23 | * | ||
| 24 | * mmmmmmmmmmmmmmmm 16-bit Manufacturer ID (assigned by CBM (sigh)) | ||
| 25 | * pppppppp 8-bit Product ID (assigned by manufacturer) | ||
| 26 | * eeeeeeee 8-bit Extended Product ID (currently only used | ||
| 27 | * for some GVP boards) | ||
| 28 | */ | ||
| 29 | |||
| 30 | |||
| 31 | #define ZORRO_MANUF(id) ((id) >> 16) | ||
| 32 | #define ZORRO_PROD(id) (((id) >> 8) & 0xff) | ||
| 33 | #define ZORRO_EPC(id) ((id) & 0xff) | ||
| 34 | |||
| 35 | #define ZORRO_ID(manuf, prod, epc) \ | ||
| 36 | ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc)) | ||
| 37 | |||
| 38 | typedef __u32 zorro_id; | ||
| 39 | |||
| 40 | |||
| 41 | /* Include the ID list */ | ||
| 42 | #include <linux/zorro_ids.h> | ||
| 43 | |||
| 44 | |||
| 45 | /* | ||
| 46 | * GVP identifies most of its products through the 'extended product code' | ||
| 47 | * (epc). The epc has to be ANDed with the GVP_PRODMASK before the | ||
| 48 | * identification. | ||
| 49 | */ | ||
| 50 | |||
| 51 | #define GVP_PRODMASK (0xf8) | ||
| 52 | #define GVP_SCSICLKMASK (0x01) | ||
| 53 | |||
| 54 | enum GVP_flags { | ||
| 55 | GVP_IO = 0x01, | ||
| 56 | GVP_ACCEL = 0x02, | ||
| 57 | GVP_SCSI = 0x04, | ||
| 58 | GVP_24BITDMA = 0x08, | ||
| 59 | GVP_25BITDMA = 0x10, | ||
| 60 | GVP_NOBANK = 0x20, | ||
| 61 | GVP_14MHZ = 0x40, | ||
| 62 | }; | ||
| 63 | |||
| 64 | |||
| 65 | struct Node { | ||
| 66 | __be32 ln_Succ; /* Pointer to next (successor) */ | ||
| 67 | __be32 ln_Pred; /* Pointer to previous (predecessor) */ | ||
| 68 | __u8 ln_Type; | ||
| 69 | __s8 ln_Pri; /* Priority, for sorting */ | ||
| 70 | __be32 ln_Name; /* ID string, null terminated */ | ||
| 71 | } __packed; | ||
| 72 | |||
| 73 | struct ExpansionRom { | ||
| 74 | /* -First 16 bytes of the expansion ROM */ | ||
| 75 | __u8 er_Type; /* Board type, size and flags */ | ||
| 76 | __u8 er_Product; /* Product number, assigned by manufacturer */ | ||
| 77 | __u8 er_Flags; /* Flags */ | ||
| 78 | __u8 er_Reserved03; /* Must be zero ($ff inverted) */ | ||
| 79 | __be16 er_Manufacturer; /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */ | ||
| 80 | __be32 er_SerialNumber; /* Available for use by manufacturer */ | ||
| 81 | __be16 er_InitDiagVec; /* Offset to optional "DiagArea" structure */ | ||
| 82 | __u8 er_Reserved0c; | ||
| 83 | __u8 er_Reserved0d; | ||
| 84 | __u8 er_Reserved0e; | ||
| 85 | __u8 er_Reserved0f; | ||
| 86 | } __packed; | ||
| 87 | |||
| 88 | /* er_Type board type bits */ | ||
| 89 | #define ERT_TYPEMASK 0xc0 | ||
| 90 | #define ERT_ZORROII 0xc0 | ||
| 91 | #define ERT_ZORROIII 0x80 | ||
| 92 | |||
| 93 | /* other bits defined in er_Type */ | ||
| 94 | #define ERTB_MEMLIST 5 /* Link RAM into free memory list */ | ||
| 95 | #define ERTF_MEMLIST (1<<5) | ||
| 96 | |||
| 97 | struct ConfigDev { | ||
| 98 | struct Node cd_Node; | ||
| 99 | __u8 cd_Flags; /* (read/write) */ | ||
| 100 | __u8 cd_Pad; /* reserved */ | ||
| 101 | struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */ | ||
| 102 | __be32 cd_BoardAddr; /* where in memory the board was placed */ | ||
| 103 | __be32 cd_BoardSize; /* size of board in bytes */ | ||
| 104 | __be16 cd_SlotAddr; /* which slot number (PRIVATE) */ | ||
| 105 | __be16 cd_SlotSize; /* number of slots (PRIVATE) */ | ||
| 106 | __be32 cd_Driver; /* pointer to node of driver */ | ||
| 107 | __be32 cd_NextCD; /* linked list of drivers to config */ | ||
| 108 | __be32 cd_Unused[4]; /* for whatever the driver wants */ | ||
| 109 | } __packed; | ||
| 110 | |||
| 111 | #define ZORRO_NUM_AUTO 16 | ||
| 112 | |||
| 113 | #endif /* _UAPI_LINUX_ZORRO_H */ | ||
diff --git a/include/uapi/linux/zorro_ids.h b/include/uapi/linux/zorro_ids.h new file mode 100644 index 000000000000..74bc53bcfdcf --- /dev/null +++ b/include/uapi/linux/zorro_ids.h | |||
| @@ -0,0 +1,552 @@ | |||
| 1 | /* | ||
| 2 | * Zorro board IDs | ||
| 3 | * | ||
| 4 | * Please keep sorted. | ||
| 5 | */ | ||
| 6 | |||
| 7 | |||
| 8 | #define ZORRO_MANUF_PACIFIC_PERIPHERALS 0x00D3 | ||
| 9 | #define ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500 ZORRO_ID(PACIFIC_PERIPHERALS, 0x00, 0) | ||
| 10 | #define ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI ZORRO_ID(PACIFIC_PERIPHERALS, 0x0A, 0) | ||
| 11 | |||
| 12 | #define ZORRO_MANUF_MACROSYSTEMS_USA_2 0x0100 | ||
| 13 | #define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE ZORRO_ID(MACROSYSTEMS_USA_2, 0x13, 0) | ||
| 14 | |||
| 15 | #define ZORRO_MANUF_KUPKE_1 0x00DD | ||
| 16 | #define ZORRO_PROD_KUPKE_GOLEM_RAM_BOX_2MB ZORRO_ID(KUPKE_1, 0x00, 0) | ||
| 17 | |||
| 18 | #define ZORRO_MANUF_MEMPHIS 0x0100 | ||
| 19 | #define ZORRO_PROD_MEMPHIS_STORMBRINGER ZORRO_ID(MEMPHIS, 0x00, 0) | ||
| 20 | |||
| 21 | #define ZORRO_MANUF_3_STATE 0x0200 | ||
| 22 | #define ZORRO_PROD_3_STATE_MEGAMIX_2000 ZORRO_ID(3_STATE, 0x02, 0) | ||
| 23 | |||
| 24 | #define ZORRO_MANUF_COMMODORE_BRAUNSCHWEIG 0x0201 | ||
| 25 | #define ZORRO_PROD_CBM_A2088_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x01, 0) | ||
| 26 | #define ZORRO_PROD_CBM_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x02, 0) | ||
| 27 | #define ZORRO_PROD_CBM_A4091_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x54, 0) | ||
| 28 | #define ZORRO_PROD_CBM_A2386SX_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x67, 0) | ||
| 29 | |||
| 30 | #define ZORRO_MANUF_COMMODORE_WEST_CHESTER_1 0x0202 | ||
| 31 | #define ZORRO_PROD_CBM_A2090A ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x01, 0) | ||
| 32 | #define ZORRO_PROD_CBM_A590_A2091_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x02, 0) | ||
| 33 | #define ZORRO_PROD_CBM_A590_A2091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x03, 0) | ||
| 34 | #define ZORRO_PROD_CBM_A2090B ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x04, 0) | ||
| 35 | #define ZORRO_PROD_CBM_A2060 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x09, 0) | ||
| 36 | #define ZORRO_PROD_CBM_A590_A2052_A2058_A2091 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x0A, 0) | ||
| 37 | #define ZORRO_PROD_CBM_A560_RAM ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x20, 0) | ||
| 38 | #define ZORRO_PROD_CBM_A2232_PROTOTYPE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x45, 0) | ||
| 39 | #define ZORRO_PROD_CBM_A2232 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x46, 0) | ||
| 40 | #define ZORRO_PROD_CBM_A2620 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x50, 0) | ||
| 41 | #define ZORRO_PROD_CBM_A2630 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x51, 0) | ||
| 42 | #define ZORRO_PROD_CBM_A4091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x54, 0) | ||
| 43 | #define ZORRO_PROD_CBM_A2065_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x5A, 0) | ||
| 44 | #define ZORRO_PROD_CBM_ROMULATOR ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x60, 0) | ||
| 45 | #define ZORRO_PROD_CBM_A3000_TEST_FIXTURE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x61, 0) | ||
| 46 | #define ZORRO_PROD_CBM_A2386SX_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x67, 0) | ||
| 47 | #define ZORRO_PROD_CBM_A2065_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x70, 0) | ||
| 48 | |||
| 49 | #define ZORRO_MANUF_COMMODORE_WEST_CHESTER_2 0x0203 | ||
| 50 | #define ZORRO_PROD_CBM_A2090A_CM ZORRO_ID(COMMODORE_WEST_CHESTER_2, 0x03, 0) | ||
| 51 | |||
| 52 | #define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2 0x02F4 | ||
| 53 | #define ZORRO_PROD_PPS_EXP8000 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2, 0x02, 0) | ||
| 54 | |||
| 55 | #define ZORRO_MANUF_KOLFF_COMPUTER_SUPPLIES 0x02FF | ||
| 56 | #define ZORRO_PROD_KCS_POWER_PC_BOARD ZORRO_ID(KOLFF_COMPUTER_SUPPLIES, 0x00, 0) | ||
| 57 | |||
| 58 | #define ZORRO_MANUF_CARDCO_1 0x03EC | ||
| 59 | #define ZORRO_PROD_CARDCO_KRONOS_2000_1 ZORRO_ID(CARDCO_1, 0x04, 0) | ||
| 60 | #define ZORRO_PROD_CARDCO_A1000_1 ZORRO_ID(CARDCO_1, 0x0C, 0) | ||
| 61 | #define ZORRO_PROD_CARDCO_ESCORT ZORRO_ID(CARDCO_1, 0x0E, 0) | ||
| 62 | #define ZORRO_PROD_CARDCO_A2410 ZORRO_ID(CARDCO_1, 0xF5, 0) | ||
| 63 | |||
| 64 | #define ZORRO_MANUF_A_SQUARED 0x03ED | ||
| 65 | #define ZORRO_PROD_A_SQUARED_LIVE_2000 ZORRO_ID(A_SQUARED, 0x01, 0) | ||
| 66 | |||
| 67 | #define ZORRO_MANUF_COMSPEC_COMMUNICATIONS 0x03EE | ||
| 68 | #define ZORRO_PROD_COMSPEC_COMMUNICATIONS_AX2000 ZORRO_ID(COMSPEC_COMMUNICATIONS, 0x01, 0) | ||
| 69 | |||
| 70 | #define ZORRO_MANUF_ANAKIN_RESEARCH 0x03F1 | ||
| 71 | #define ZORRO_PROD_ANAKIN_RESEARCH_EASYL ZORRO_ID(ANAKIN_RESEARCH, 0x01, 0) | ||
| 72 | |||
| 73 | #define ZORRO_MANUF_MICROBOTICS 0x03F2 | ||
| 74 | #define ZORRO_PROD_MICROBOTICS_STARBOARD_II ZORRO_ID(MICROBOTICS, 0x00, 0) | ||
| 75 | #define ZORRO_PROD_MICROBOTICS_STARDRIVE ZORRO_ID(MICROBOTICS, 0x02, 0) | ||
| 76 | #define ZORRO_PROD_MICROBOTICS_8_UP_A ZORRO_ID(MICROBOTICS, 0x03, 0) | ||
| 77 | #define ZORRO_PROD_MICROBOTICS_8_UP_Z ZORRO_ID(MICROBOTICS, 0x04, 0) | ||
| 78 | #define ZORRO_PROD_MICROBOTICS_DELTA_RAM ZORRO_ID(MICROBOTICS, 0x20, 0) | ||
| 79 | #define ZORRO_PROD_MICROBOTICS_8_STAR_RAM ZORRO_ID(MICROBOTICS, 0x40, 0) | ||
| 80 | #define ZORRO_PROD_MICROBOTICS_8_STAR ZORRO_ID(MICROBOTICS, 0x41, 0) | ||
| 81 | #define ZORRO_PROD_MICROBOTICS_VXL_RAM_32 ZORRO_ID(MICROBOTICS, 0x44, 0) | ||
| 82 | #define ZORRO_PROD_MICROBOTICS_VXL_68030 ZORRO_ID(MICROBOTICS, 0x45, 0) | ||
| 83 | #define ZORRO_PROD_MICROBOTICS_DELTA ZORRO_ID(MICROBOTICS, 0x60, 0) | ||
| 84 | #define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z_RAM ZORRO_ID(MICROBOTICS, 0x81, 0) | ||
| 85 | #define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_1 ZORRO_ID(MICROBOTICS, 0x96, 0) | ||
| 86 | #define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_2 ZORRO_ID(MICROBOTICS, 0x9E, 0) | ||
| 87 | #define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z ZORRO_ID(MICROBOTICS, 0xC1, 0) | ||
| 88 | |||
| 89 | #define ZORRO_MANUF_ACCESS_ASSOCIATES_ALEGRA 0x03F4 | ||
| 90 | |||
| 91 | #define ZORRO_MANUF_EXPANSION_TECHNOLOGIES 0x03F6 | ||
| 92 | |||
| 93 | #define ZORRO_MANUF_ASDG 0x03FF | ||
| 94 | #define ZORRO_PROD_ASDG_MEMORY_1 ZORRO_ID(ASDG, 0x01, 0) | ||
| 95 | #define ZORRO_PROD_ASDG_MEMORY_2 ZORRO_ID(ASDG, 0x02, 0) | ||
| 96 | #define ZORRO_PROD_ASDG_EB920_LAN_ROVER ZORRO_ID(ASDG, 0xFE, 0) | ||
| 97 | #define ZORRO_PROD_ASDG_GPIB_DUALIEEE488_TWIN_X ZORRO_ID(ASDG, 0xFF, 0) | ||
| 98 | |||
| 99 | #define ZORRO_MANUF_IMTRONICS_1 0x0404 | ||
| 100 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_1 ZORRO_ID(IMTRONICS_1, 0x39, 0) | ||
| 101 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_2 ZORRO_ID(IMTRONICS_1, 0x57, 0) | ||
| 102 | |||
| 103 | #define ZORRO_MANUF_CBM_UNIVERSITY_OF_LOWELL 0x0406 | ||
| 104 | #define ZORRO_PROD_CBM_A2410 ZORRO_ID(CBM_UNIVERSITY_OF_LOWELL, 0x00, 0) | ||
| 105 | |||
| 106 | #define ZORRO_MANUF_AMERISTAR 0x041D | ||
| 107 | #define ZORRO_PROD_AMERISTAR_A2065 ZORRO_ID(AMERISTAR, 0x01, 0) | ||
| 108 | #define ZORRO_PROD_AMERISTAR_A560 ZORRO_ID(AMERISTAR, 0x09, 0) | ||
| 109 | #define ZORRO_PROD_AMERISTAR_A4066 ZORRO_ID(AMERISTAR, 0x0A, 0) | ||
| 110 | |||
| 111 | #define ZORRO_MANUF_SUPRA 0x0420 | ||
| 112 | #define ZORRO_PROD_SUPRA_SUPRADRIVE_4x4 ZORRO_ID(SUPRA, 0x01, 0) | ||
| 113 | #define ZORRO_PROD_SUPRA_1000_RAM ZORRO_ID(SUPRA, 0x02, 0) | ||
| 114 | #define ZORRO_PROD_SUPRA_2000_DMA ZORRO_ID(SUPRA, 0x03, 0) | ||
| 115 | #define ZORRO_PROD_SUPRA_500 ZORRO_ID(SUPRA, 0x05, 0) | ||
| 116 | #define ZORRO_PROD_SUPRA_500_SCSI ZORRO_ID(SUPRA, 0x08, 0) | ||
| 117 | #define ZORRO_PROD_SUPRA_500XP_2000_RAM ZORRO_ID(SUPRA, 0x09, 0) | ||
| 118 | #define ZORRO_PROD_SUPRA_500RX_2000_RAM ZORRO_ID(SUPRA, 0x0A, 0) | ||
| 119 | #define ZORRO_PROD_SUPRA_2400ZI ZORRO_ID(SUPRA, 0x0B, 0) | ||
| 120 | #define ZORRO_PROD_SUPRA_500XP_SUPRADRIVE_WORDSYNC ZORRO_ID(SUPRA, 0x0C, 0) | ||
| 121 | #define ZORRO_PROD_SUPRA_SUPRADRIVE_WORDSYNC_II ZORRO_ID(SUPRA, 0x0D, 0) | ||
| 122 | #define ZORRO_PROD_SUPRA_2400ZIPLUS ZORRO_ID(SUPRA, 0x10, 0) | ||
| 123 | |||
| 124 | #define ZORRO_MANUF_COMPUTER_SYSTEMS_ASSOCIATES 0x0422 | ||
| 125 | #define ZORRO_PROD_CSA_MAGNUM ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x11, 0) | ||
| 126 | #define ZORRO_PROD_CSA_12_GAUGE ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x15, 0) | ||
| 127 | |||
| 128 | #define ZORRO_MANUF_MARC_MICHAEL_GROTH 0x0439 | ||
| 129 | |||
| 130 | #define ZORRO_MANUF_M_TECH 0x0502 | ||
| 131 | #define ZORRO_PROD_MTEC_AT500_1 ZORRO_ID(M_TECH, 0x03, 0) | ||
| 132 | |||
| 133 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_1 0x06E1 | ||
| 134 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I ZORRO_ID(GREAT_VALLEY_PRODUCTS_1, 0x08, 0) | ||
| 135 | |||
| 136 | #define ZORRO_MANUF_BYTEBOX 0x07DA | ||
| 137 | #define ZORRO_PROD_BYTEBOX_A500 ZORRO_ID(BYTEBOX, 0x00, 0) | ||
| 138 | |||
| 139 | #define ZORRO_MANUF_DKB_POWER_COMPUTING 0x07DC | ||
| 140 | #define ZORRO_PROD_DKB_POWER_COMPUTING_SECUREKEY ZORRO_ID(DKB_POWER_COMPUTING, 0x09, 0) | ||
| 141 | #define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_3128 ZORRO_ID(DKB_POWER_COMPUTING, 0x0E, 0) | ||
| 142 | #define ZORRO_PROD_DKB_POWER_COMPUTING_RAPID_FIRE ZORRO_ID(DKB_POWER_COMPUTING, 0x0F, 0) | ||
| 143 | #define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_1202 ZORRO_ID(DKB_POWER_COMPUTING, 0x10, 0) | ||
| 144 | #define ZORRO_PROD_DKB_POWER_COMPUTING_COBRA_VIPER_II_68EC030 ZORRO_ID(DKB_POWER_COMPUTING, 0x12, 0) | ||
| 145 | #define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_1 ZORRO_ID(DKB_POWER_COMPUTING, 0x17, 0) | ||
| 146 | #define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_2 ZORRO_ID(DKB_POWER_COMPUTING, 0xFF, 0) | ||
| 147 | |||
| 148 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_2 0x07E1 | ||
| 149 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I_4K ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x01, 0) | ||
| 150 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x02, 0) | ||
| 151 | #define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x03, 0) | ||
| 152 | #define ZORRO_PROD_GVP_IMPACT_3001_IDE_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x08, 0) | ||
| 153 | #define ZORRO_PROD_GVP_IMPACT_3001_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x09, 0) | ||
| 154 | #define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0A, 0) | ||
| 155 | #define ZORRO_PROD_GVP_EPC_BASE ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0) | ||
| 156 | #define ZORRO_PROD_GVP_GFORCE_040_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x20) | ||
| 157 | #define ZORRO_PROD_GVP_GFORCE_040_SCSI_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x30) | ||
| 158 | #define ZORRO_PROD_GVP_A1291 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x40) | ||
| 159 | #define ZORRO_PROD_GVP_COMBO_030_R4 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x60) | ||
| 160 | #define ZORRO_PROD_GVP_COMBO_030_R4_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x70) | ||
| 161 | #define ZORRO_PROD_GVP_PHONEPAK ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x78) | ||
| 162 | #define ZORRO_PROD_GVP_IO_EXTENDER ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x98) | ||
| 163 | #define ZORRO_PROD_GVP_GFORCE_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xa0) | ||
| 164 | #define ZORRO_PROD_GVP_GFORCE_030_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xb0) | ||
| 165 | #define ZORRO_PROD_GVP_A530 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xc0) | ||
| 166 | #define ZORRO_PROD_GVP_A530_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xd0) | ||
| 167 | #define ZORRO_PROD_GVP_COMBO_030_R3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xe0) | ||
| 168 | #define ZORRO_PROD_GVP_COMBO_030_R3_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf0) | ||
| 169 | #define ZORRO_PROD_GVP_SERIES_II ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf8) | ||
| 170 | #define ZORRO_PROD_GVP_IMPACT_3001_IDE_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0) | ||
| 171 | /*#define ZORRO_PROD_GVP_A2000_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/ | ||
| 172 | /*#define ZORRO_PROD_GVP_GFORCE_040_SCSI_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/ | ||
| 173 | #define ZORRO_PROD_GVP_GFORCE_040_060 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x16, 0) | ||
| 174 | #define ZORRO_PROD_GVP_IMPACT_VISION_24 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x20, 0) | ||
| 175 | #define ZORRO_PROD_GVP_GFORCE_040_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0xFF, 0) | ||
| 176 | |||
| 177 | #define ZORRO_MANUF_CALIFORNIA_ACCESS_SYNERGY 0x07E5 | ||
| 178 | #define ZORRO_PROD_CALIFORNIA_ACCESS_SYNERGY_MALIBU ZORRO_ID(CALIFORNIA_ACCESS_SYNERGY, 0x01, 0) | ||
| 179 | |||
| 180 | #define ZORRO_MANUF_XETEC 0x07E6 | ||
| 181 | #define ZORRO_PROD_XETEC_FASTCARD ZORRO_ID(XETEC, 0x01, 0) | ||
| 182 | #define ZORRO_PROD_XETEC_FASTCARD_RAM ZORRO_ID(XETEC, 0x02, 0) | ||
| 183 | #define ZORRO_PROD_XETEC_FASTCARD_PLUS ZORRO_ID(XETEC, 0x03, 0) | ||
| 184 | |||
| 185 | #define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS 0x07EA | ||
| 186 | #define ZORRO_PROD_PPS_MERCURY ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x00, 0) | ||
| 187 | #define ZORRO_PROD_PPS_A3000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x01, 0) | ||
| 188 | #define ZORRO_PROD_PPS_A2000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x69, 0) | ||
| 189 | #define ZORRO_PROD_PPS_ZEUS ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x96, 0) | ||
| 190 | #define ZORRO_PROD_PPS_A500_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0xBB, 0) | ||
| 191 | |||
| 192 | #define ZORRO_MANUF_XEBEC 0x07EC | ||
| 193 | |||
| 194 | #define ZORRO_MANUF_SPIRIT_TECHNOLOGY 0x07F2 | ||
| 195 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN1000 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x01, 0) | ||
| 196 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x02, 0) | ||
| 197 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_SIN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x03, 0) | ||
| 198 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_HDA_506 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x04, 0) | ||
| 199 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_AX_S ZORRO_ID(SPIRIT_TECHNOLOGY, 0x05, 0) | ||
| 200 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_OCTABYTE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x06, 0) | ||
| 201 | #define ZORRO_PROD_SPIRIT_TECHNOLOGY_INMATE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x08, 0) | ||
| 202 | |||
| 203 | #define ZORRO_MANUF_SPIRIT_TECHNOLOGY_2 0x07F3 | ||
| 204 | |||
| 205 | #define ZORRO_MANUF_BSC_ALFADATA_1 0x07FE | ||
| 206 | #define ZORRO_PROD_BSC_ALF_3_1 ZORRO_ID(BSC_ALFADATA_1, 0x03, 0) | ||
| 207 | |||
| 208 | #define ZORRO_MANUF_BSC_ALFADATA_2 0x0801 | ||
| 209 | #define ZORRO_PROD_BSC_ALF_2_1 ZORRO_ID(BSC_ALFADATA_2, 0x01, 0) | ||
| 210 | #define ZORRO_PROD_BSC_ALF_2_2 ZORRO_ID(BSC_ALFADATA_2, 0x02, 0) | ||
| 211 | #define ZORRO_PROD_BSC_ALF_3_2 ZORRO_ID(BSC_ALFADATA_2, 0x03, 0) | ||
| 212 | |||
| 213 | #define ZORRO_MANUF_CARDCO_2 0x0802 | ||
| 214 | #define ZORRO_PROD_CARDCO_KRONOS_2000_2 ZORRO_ID(CARDCO_2, 0x04, 0) | ||
| 215 | #define ZORRO_PROD_CARDCO_A1000_2 ZORRO_ID(CARDCO_2, 0x0C, 0) | ||
| 216 | |||
| 217 | #define ZORRO_MANUF_JOCHHEIM 0x0804 | ||
| 218 | #define ZORRO_PROD_JOCHHEIM_RAM ZORRO_ID(JOCHHEIM, 0x01, 0) | ||
| 219 | |||
| 220 | #define ZORRO_MANUF_CHECKPOINT_TECHNOLOGIES 0x0807 | ||
| 221 | #define ZORRO_PROD_CHECKPOINT_TECHNOLOGIES_SERIAL_SOLUTION ZORRO_ID(CHECKPOINT_TECHNOLOGIES, 0x00, 0) | ||
| 222 | |||
| 223 | #define ZORRO_MANUF_EDOTRONIK 0x0810 | ||
| 224 | #define ZORRO_PROD_EDOTRONIK_IEEE_488 ZORRO_ID(EDOTRONIK, 0x01, 0) | ||
| 225 | #define ZORRO_PROD_EDOTRONIK_8032 ZORRO_ID(EDOTRONIK, 0x02, 0) | ||
| 226 | #define ZORRO_PROD_EDOTRONIK_MULTISERIAL ZORRO_ID(EDOTRONIK, 0x03, 0) | ||
| 227 | #define ZORRO_PROD_EDOTRONIK_VIDEODIGITIZER ZORRO_ID(EDOTRONIK, 0x04, 0) | ||
| 228 | #define ZORRO_PROD_EDOTRONIK_PARALLEL_IO ZORRO_ID(EDOTRONIK, 0x05, 0) | ||
| 229 | #define ZORRO_PROD_EDOTRONIK_PIC_PROTOYPING ZORRO_ID(EDOTRONIK, 0x06, 0) | ||
| 230 | #define ZORRO_PROD_EDOTRONIK_ADC ZORRO_ID(EDOTRONIK, 0x07, 0) | ||
| 231 | #define ZORRO_PROD_EDOTRONIK_VME ZORRO_ID(EDOTRONIK, 0x08, 0) | ||
| 232 | #define ZORRO_PROD_EDOTRONIK_DSP96000 ZORRO_ID(EDOTRONIK, 0x09, 0) | ||
| 233 | |||
| 234 | #define ZORRO_MANUF_NES_INC 0x0813 | ||
| 235 | #define ZORRO_PROD_NES_INC_RAM ZORRO_ID(NES_INC, 0x00, 0) | ||
| 236 | |||
| 237 | #define ZORRO_MANUF_ICD 0x0817 | ||
| 238 | #define ZORRO_PROD_ICD_ADVANTAGE_2000_SCSI ZORRO_ID(ICD, 0x01, 0) | ||
| 239 | #define ZORRO_PROD_ICD_ADVANTAGE_IDE ZORRO_ID(ICD, 0x03, 0) | ||
| 240 | #define ZORRO_PROD_ICD_ADVANTAGE_2080_RAM ZORRO_ID(ICD, 0x04, 0) | ||
| 241 | |||
| 242 | #define ZORRO_MANUF_KUPKE_2 0x0819 | ||
| 243 | #define ZORRO_PROD_KUPKE_OMTI ZORRO_ID(KUPKE_2, 0x01, 0) | ||
| 244 | #define ZORRO_PROD_KUPKE_SCSI_II ZORRO_ID(KUPKE_2, 0x02, 0) | ||
| 245 | #define ZORRO_PROD_KUPKE_GOLEM_BOX ZORRO_ID(KUPKE_2, 0x03, 0) | ||
| 246 | #define ZORRO_PROD_KUPKE_030_882 ZORRO_ID(KUPKE_2, 0x04, 0) | ||
| 247 | #define ZORRO_PROD_KUPKE_SCSI_AT ZORRO_ID(KUPKE_2, 0x05, 0) | ||
| 248 | |||
| 249 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_3 0x081D | ||
| 250 | #define ZORRO_PROD_GVP_A2000_RAM8 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x09, 0) | ||
| 251 | #define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x0A, 0) | ||
| 252 | |||
| 253 | #define ZORRO_MANUF_INTERWORKS_NETWORK 0x081E | ||
| 254 | |||
| 255 | #define ZORRO_MANUF_HARDITAL_SYNTHESIS 0x0820 | ||
| 256 | #define ZORRO_PROD_HARDITAL_SYNTHESIS_TQM_68030_68882 ZORRO_ID(HARDITAL_SYNTHESIS, 0x14, 0) | ||
| 257 | |||
| 258 | #define ZORRO_MANUF_APPLIED_ENGINEERING 0x0828 | ||
| 259 | #define ZORRO_PROD_APPLIED_ENGINEERING_DL2000 ZORRO_ID(APPLIED_ENGINEERING, 0x10, 0) | ||
| 260 | #define ZORRO_PROD_APPLIED_ENGINEERING_RAM_WORKS ZORRO_ID(APPLIED_ENGINEERING, 0xE0, 0) | ||
| 261 | |||
| 262 | #define ZORRO_MANUF_BSC_ALFADATA_3 0x082C | ||
| 263 | #define ZORRO_PROD_BSC_OKTAGON_2008 ZORRO_ID(BSC_ALFADATA_3, 0x05, 0) | ||
| 264 | #define ZORRO_PROD_BSC_TANDEM_AT_2008_508 ZORRO_ID(BSC_ALFADATA_3, 0x06, 0) | ||
| 265 | #define ZORRO_PROD_BSC_ALFA_RAM_1200 ZORRO_ID(BSC_ALFADATA_3, 0x07, 0) | ||
| 266 | #define ZORRO_PROD_BSC_OKTAGON_2008_RAM ZORRO_ID(BSC_ALFADATA_3, 0x08, 0) | ||
| 267 | #define ZORRO_PROD_BSC_MULTIFACE_I ZORRO_ID(BSC_ALFADATA_3, 0x10, 0) | ||
| 268 | #define ZORRO_PROD_BSC_MULTIFACE_II ZORRO_ID(BSC_ALFADATA_3, 0x11, 0) | ||
| 269 | #define ZORRO_PROD_BSC_MULTIFACE_III ZORRO_ID(BSC_ALFADATA_3, 0x12, 0) | ||
| 270 | #define ZORRO_PROD_BSC_FRAMEMASTER_II ZORRO_ID(BSC_ALFADATA_3, 0x20, 0) | ||
| 271 | #define ZORRO_PROD_BSC_GRAFFITI_RAM ZORRO_ID(BSC_ALFADATA_3, 0x21, 0) | ||
| 272 | #define ZORRO_PROD_BSC_GRAFFITI_REG ZORRO_ID(BSC_ALFADATA_3, 0x22, 0) | ||
| 273 | #define ZORRO_PROD_BSC_ISDN_MASTERCARD ZORRO_ID(BSC_ALFADATA_3, 0x40, 0) | ||
| 274 | #define ZORRO_PROD_BSC_ISDN_MASTERCARD_II ZORRO_ID(BSC_ALFADATA_3, 0x41, 0) | ||
| 275 | |||
| 276 | #define ZORRO_MANUF_PHOENIX 0x0835 | ||
| 277 | #define ZORRO_PROD_PHOENIX_ST506 ZORRO_ID(PHOENIX, 0x21, 0) | ||
| 278 | #define ZORRO_PROD_PHOENIX_SCSI ZORRO_ID(PHOENIX, 0x22, 0) | ||
| 279 | #define ZORRO_PROD_PHOENIX_RAM ZORRO_ID(PHOENIX, 0xBE, 0) | ||
| 280 | |||
| 281 | #define ZORRO_MANUF_ADVANCED_STORAGE_SYSTEMS 0x0836 | ||
| 282 | #define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x01, 0) | ||
| 283 | #define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS_RAM ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x08, 0) | ||
| 284 | |||
| 285 | #define ZORRO_MANUF_IMPULSE 0x0838 | ||
| 286 | #define ZORRO_PROD_IMPULSE_FIRECRACKER_24 ZORRO_ID(IMPULSE, 0x00, 0) | ||
| 287 | |||
| 288 | #define ZORRO_MANUF_IVS 0x0840 | ||
| 289 | #define ZORRO_PROD_IVS_GRANDSLAM_PIC_2 ZORRO_ID(IVS, 0x02, 0) | ||
| 290 | #define ZORRO_PROD_IVS_GRANDSLAM_PIC_1 ZORRO_ID(IVS, 0x04, 0) | ||
| 291 | #define ZORRO_PROD_IVS_OVERDRIVE ZORRO_ID(IVS, 0x10, 0) | ||
| 292 | #define ZORRO_PROD_IVS_TRUMPCARD_CLASSIC ZORRO_ID(IVS, 0x30, 0) | ||
| 293 | #define ZORRO_PROD_IVS_TRUMPCARD_PRO_GRANDSLAM ZORRO_ID(IVS, 0x34, 0) | ||
| 294 | #define ZORRO_PROD_IVS_META_4 ZORRO_ID(IVS, 0x40, 0) | ||
| 295 | #define ZORRO_PROD_IVS_WAVETOOLS ZORRO_ID(IVS, 0xBF, 0) | ||
| 296 | #define ZORRO_PROD_IVS_VECTOR_1 ZORRO_ID(IVS, 0xF3, 0) | ||
| 297 | #define ZORRO_PROD_IVS_VECTOR_2 ZORRO_ID(IVS, 0xF4, 0) | ||
| 298 | |||
| 299 | #define ZORRO_MANUF_VECTOR_1 0x0841 | ||
| 300 | #define ZORRO_PROD_VECTOR_CONNECTION_1 ZORRO_ID(VECTOR_1, 0xE3, 0) | ||
| 301 | |||
| 302 | #define ZORRO_MANUF_XPERT_PRODEV 0x0845 | ||
| 303 | #define ZORRO_PROD_XPERT_PRODEV_VISIONA_RAM ZORRO_ID(XPERT_PRODEV, 0x01, 0) | ||
| 304 | #define ZORRO_PROD_XPERT_PRODEV_VISIONA_REG ZORRO_ID(XPERT_PRODEV, 0x02, 0) | ||
| 305 | #define ZORRO_PROD_XPERT_PRODEV_MERLIN_RAM ZORRO_ID(XPERT_PRODEV, 0x03, 0) | ||
| 306 | #define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_1 ZORRO_ID(XPERT_PRODEV, 0x04, 0) | ||
| 307 | #define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_2 ZORRO_ID(XPERT_PRODEV, 0xC9, 0) | ||
| 308 | |||
| 309 | #define ZORRO_MANUF_HYDRA_SYSTEMS 0x0849 | ||
| 310 | #define ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET ZORRO_ID(HYDRA_SYSTEMS, 0x01, 0) | ||
| 311 | |||
| 312 | #define ZORRO_MANUF_SUNRIZE_INDUSTRIES 0x084F | ||
| 313 | #define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD1012 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x01, 0) | ||
| 314 | #define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD516 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x02, 0) | ||
| 315 | #define ZORRO_PROD_SUNRIZE_INDUSTRIES_DD512 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x03, 0) | ||
| 316 | |||
| 317 | #define ZORRO_MANUF_TRICERATOPS 0x0850 | ||
| 318 | #define ZORRO_PROD_TRICERATOPS_MULTI_IO ZORRO_ID(TRICERATOPS, 0x01, 0) | ||
| 319 | |||
| 320 | #define ZORRO_MANUF_APPLIED_MAGIC 0x0851 | ||
| 321 | #define ZORRO_PROD_APPLIED_MAGIC_DMI_RESOLVER ZORRO_ID(APPLIED_MAGIC, 0x01, 0) | ||
| 322 | #define ZORRO_PROD_APPLIED_MAGIC_DIGITAL_BROADCASTER ZORRO_ID(APPLIED_MAGIC, 0x06, 0) | ||
| 323 | |||
| 324 | #define ZORRO_MANUF_GFX_BASE 0x085E | ||
| 325 | #define ZORRO_PROD_GFX_BASE_GDA_1_VRAM ZORRO_ID(GFX_BASE, 0x00, 0) | ||
| 326 | #define ZORRO_PROD_GFX_BASE_GDA_1 ZORRO_ID(GFX_BASE, 0x01, 0) | ||
| 327 | |||
| 328 | #define ZORRO_MANUF_ROCTEC 0x0860 | ||
| 329 | #define ZORRO_PROD_ROCTEC_RH_800C ZORRO_ID(ROCTEC, 0x01, 0) | ||
| 330 | #define ZORRO_PROD_ROCTEC_RH_800C_RAM ZORRO_ID(ROCTEC, 0x01, 0) | ||
| 331 | |||
| 332 | #define ZORRO_MANUF_KATO 0x0861 | ||
| 333 | #define ZORRO_PROD_KATO_MELODY ZORRO_ID(KATO, 0x80, 0) | ||
| 334 | /* ID clash!! */ | ||
| 335 | #define ZORRO_MANUF_HELFRICH_1 0x0861 | ||
| 336 | #define ZORRO_PROD_HELFRICH_RAINBOW_II ZORRO_ID(HELFRICH_1, 0x20, 0) | ||
| 337 | #define ZORRO_PROD_HELFRICH_RAINBOW_III ZORRO_ID(HELFRICH_1, 0x21, 0) | ||
| 338 | |||
| 339 | #define ZORRO_MANUF_ATLANTIS 0x0862 | ||
| 340 | |||
| 341 | #define ZORRO_MANUF_PROTAR 0x0864 | ||
| 342 | |||
| 343 | #define ZORRO_MANUF_ACS 0x0865 | ||
| 344 | |||
| 345 | #define ZORRO_MANUF_SOFTWARE_RESULTS_ENTERPRISES 0x0866 | ||
| 346 | #define ZORRO_PROD_SOFTWARE_RESULTS_ENTERPRISES_GOLDEN_GATE_2_BUS_PLUS ZORRO_ID(SOFTWARE_RESULTS_ENTERPRISES, 0x01, 0) | ||
| 347 | |||
| 348 | #define ZORRO_MANUF_MASOBOSHI 0x086D | ||
| 349 | #define ZORRO_PROD_MASOBOSHI_MASTER_CARD_SC201 ZORRO_ID(MASOBOSHI, 0x03, 0) | ||
| 350 | #define ZORRO_PROD_MASOBOSHI_MASTER_CARD_MC702 ZORRO_ID(MASOBOSHI, 0x04, 0) | ||
| 351 | #define ZORRO_PROD_MASOBOSHI_MVD_819 ZORRO_ID(MASOBOSHI, 0x07, 0) | ||
| 352 | |||
| 353 | #define ZORRO_MANUF_MAINHATTAN_DATA 0x086F | ||
| 354 | #define ZORRO_PROD_MAINHATTAN_DATA_IDE ZORRO_ID(MAINHATTAN_DATA, 0x01, 0) | ||
| 355 | |||
| 356 | #define ZORRO_MANUF_VILLAGE_TRONIC 0x0877 | ||
| 357 | #define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_RAM ZORRO_ID(VILLAGE_TRONIC, 0x01, 0) | ||
| 358 | #define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_REG ZORRO_ID(VILLAGE_TRONIC, 0x02, 0) | ||
| 359 | #define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_16M_PROTOTYPE ZORRO_ID(VILLAGE_TRONIC, 0x03, 0) | ||
| 360 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_RAM ZORRO_ID(VILLAGE_TRONIC, 0x0B, 0) | ||
| 361 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_REG ZORRO_ID(VILLAGE_TRONIC, 0x0C, 0) | ||
| 362 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_SEGMENTED_MODE ZORRO_ID(VILLAGE_TRONIC, 0x0D, 0) | ||
| 363 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM1 ZORRO_ID(VILLAGE_TRONIC, 0x15, 0) | ||
| 364 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM2 ZORRO_ID(VILLAGE_TRONIC, 0x16, 0) | ||
| 365 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_REG ZORRO_ID(VILLAGE_TRONIC, 0x17, 0) | ||
| 366 | #define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z3 ZORRO_ID(VILLAGE_TRONIC, 0x18, 0) | ||
| 367 | #define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE ZORRO_ID(VILLAGE_TRONIC, 0xC9, 0) | ||
| 368 | #define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2 ZORRO_ID(VILLAGE_TRONIC, 0xCA, 0) | ||
| 369 | |||
| 370 | #define ZORRO_MANUF_UTILITIES_UNLIMITED 0x087B | ||
| 371 | #define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE ZORRO_ID(UTILITIES_UNLIMITED, 0x15, 0) | ||
| 372 | #define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE2 ZORRO_ID(UTILITIES_UNLIMITED, 0x20, 0) | ||
| 373 | |||
| 374 | #define ZORRO_MANUF_AMITRIX 0x0880 | ||
| 375 | #define ZORRO_PROD_AMITRIX_MULTI_IO ZORRO_ID(AMITRIX, 0x01, 0) | ||
| 376 | #define ZORRO_PROD_AMITRIX_CD_RAM ZORRO_ID(AMITRIX, 0x02, 0) | ||
| 377 | |||
| 378 | #define ZORRO_MANUF_ARMAX 0x0885 | ||
| 379 | #define ZORRO_PROD_ARMAX_OMNIBUS ZORRO_ID(ARMAX, 0x00, 0) | ||
| 380 | |||
| 381 | #define ZORRO_MANUF_ZEUS 0x088D | ||
| 382 | #define ZORRO_PROD_ZEUS_SPIDER ZORRO_ID(ZEUS, 0x04, 0) | ||
| 383 | |||
| 384 | #define ZORRO_MANUF_NEWTEK 0x088F | ||
| 385 | #define ZORRO_PROD_NEWTEK_VIDEOTOASTER ZORRO_ID(NEWTEK, 0x00, 0) | ||
| 386 | |||
| 387 | #define ZORRO_MANUF_M_TECH_GERMANY 0x0890 | ||
| 388 | #define ZORRO_PROD_MTEC_AT500_2 ZORRO_ID(M_TECH_GERMANY, 0x01, 0) | ||
| 389 | #define ZORRO_PROD_MTEC_68030 ZORRO_ID(M_TECH_GERMANY, 0x03, 0) | ||
| 390 | #define ZORRO_PROD_MTEC_68020I ZORRO_ID(M_TECH_GERMANY, 0x06, 0) | ||
| 391 | #define ZORRO_PROD_MTEC_A1200_T68030_RTC ZORRO_ID(M_TECH_GERMANY, 0x20, 0) | ||
| 392 | #define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530 ZORRO_ID(M_TECH_GERMANY, 0x21, 0) | ||
| 393 | #define ZORRO_PROD_MTEC_8_MB_RAM ZORRO_ID(M_TECH_GERMANY, 0x22, 0) | ||
| 394 | #define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE ZORRO_ID(M_TECH_GERMANY, 0x24, 0) | ||
| 395 | |||
| 396 | #define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_4 0x0891 | ||
| 397 | #define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x01, 0) | ||
| 398 | #define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_REG ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x02, 0) | ||
| 399 | |||
| 400 | #define ZORRO_MANUF_APOLLO_1 0x0892 | ||
| 401 | #define ZORRO_PROD_APOLLO_A1200 ZORRO_ID(APOLLO_1, 0x01, 0) | ||
| 402 | |||
| 403 | #define ZORRO_MANUF_HELFRICH_2 0x0893 | ||
| 404 | #define ZORRO_PROD_HELFRICH_PICCOLO_RAM ZORRO_ID(HELFRICH_2, 0x05, 0) | ||
| 405 | #define ZORRO_PROD_HELFRICH_PICCOLO_REG ZORRO_ID(HELFRICH_2, 0x06, 0) | ||
| 406 | #define ZORRO_PROD_HELFRICH_PEGGY_PLUS_MPEG ZORRO_ID(HELFRICH_2, 0x07, 0) | ||
| 407 | #define ZORRO_PROD_HELFRICH_VIDEOCRUNCHER ZORRO_ID(HELFRICH_2, 0x08, 0) | ||
| 408 | #define ZORRO_PROD_HELFRICH_SD64_RAM ZORRO_ID(HELFRICH_2, 0x0A, 0) | ||
| 409 | #define ZORRO_PROD_HELFRICH_SD64_REG ZORRO_ID(HELFRICH_2, 0x0B, 0) | ||
| 410 | |||
| 411 | #define ZORRO_MANUF_MACROSYSTEMS_USA 0x089B | ||
| 412 | #define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx ZORRO_ID(MACROSYSTEMS_USA, 0x13, 0) | ||
| 413 | |||
| 414 | #define ZORRO_MANUF_ELBOX_COMPUTER 0x089E | ||
| 415 | #define ZORRO_PROD_ELBOX_COMPUTER_1200_4 ZORRO_ID(ELBOX_COMPUTER, 0x06, 0) | ||
| 416 | |||
| 417 | #define ZORRO_MANUF_HARMS_PROFESSIONAL 0x0A00 | ||
| 418 | #define ZORRO_PROD_HARMS_PROFESSIONAL_030_PLUS ZORRO_ID(HARMS_PROFESSIONAL, 0x10, 0) | ||
| 419 | #define ZORRO_PROD_HARMS_PROFESSIONAL_3500 ZORRO_ID(HARMS_PROFESSIONAL, 0xD0, 0) | ||
| 420 | |||
| 421 | #define ZORRO_MANUF_MICRONIK 0x0A50 | ||
| 422 | #define ZORRO_PROD_MICRONIK_RCA_120 ZORRO_ID(MICRONIK, 0x0A, 0) | ||
| 423 | |||
| 424 | #define ZORRO_MANUF_MICRONIK2 0x0F0F | ||
| 425 | #define ZORRO_PROD_MICRONIK2_Z3I ZORRO_ID(MICRONIK2, 0x01, 0) | ||
| 426 | |||
| 427 | #define ZORRO_MANUF_MEGAMICRO 0x1000 | ||
| 428 | #define ZORRO_PROD_MEGAMICRO_SCRAM_500 ZORRO_ID(MEGAMICRO, 0x03, 0) | ||
| 429 | #define ZORRO_PROD_MEGAMICRO_SCRAM_500_RAM ZORRO_ID(MEGAMICRO, 0x04, 0) | ||
| 430 | |||
| 431 | #define ZORRO_MANUF_IMTRONICS_2 0x1028 | ||
| 432 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_3 ZORRO_ID(IMTRONICS_2, 0x39, 0) | ||
| 433 | #define ZORRO_PROD_IMTRONICS_HURRICANE_2800_4 ZORRO_ID(IMTRONICS_2, 0x57, 0) | ||
| 434 | |||
| 435 | /* unofficial ID */ | ||
| 436 | #define ZORRO_MANUF_INDIVIDUAL_COMPUTERS 0x1212 | ||
| 437 | #define ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x00, 0) | ||
| 438 | #define ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x17, 0) | ||
| 439 | #define ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x2A, 0) | ||
| 440 | |||
| 441 | #define ZORRO_MANUF_KUPKE_3 0x1248 | ||
| 442 | #define ZORRO_PROD_KUPKE_GOLEM_HD_3000 ZORRO_ID(KUPKE_3, 0x01, 0) | ||
| 443 | |||
| 444 | #define ZORRO_MANUF_ITH 0x1388 | ||
| 445 | #define ZORRO_PROD_ITH_ISDN_MASTER_II ZORRO_ID(ITH, 0x01, 0) | ||
| 446 | |||
| 447 | #define ZORRO_MANUF_VMC 0x1389 | ||
| 448 | #define ZORRO_PROD_VMC_ISDN_BLASTER_Z2 ZORRO_ID(VMC, 0x01, 0) | ||
| 449 | #define ZORRO_PROD_VMC_HYPERCOM_4 ZORRO_ID(VMC, 0x02, 0) | ||
| 450 | |||
| 451 | #define ZORRO_MANUF_INFORMATION 0x157C | ||
| 452 | #define ZORRO_PROD_INFORMATION_ISDN_ENGINE_I ZORRO_ID(INFORMATION, 0x64, 0) | ||
| 453 | |||
| 454 | #define ZORRO_MANUF_VORTEX 0x2017 | ||
| 455 | #define ZORRO_PROD_VORTEX_GOLDEN_GATE_80386SX ZORRO_ID(VORTEX, 0x07, 0) | ||
| 456 | #define ZORRO_PROD_VORTEX_GOLDEN_GATE_RAM ZORRO_ID(VORTEX, 0x08, 0) | ||
| 457 | #define ZORRO_PROD_VORTEX_GOLDEN_GATE_80486 ZORRO_ID(VORTEX, 0x09, 0) | ||
| 458 | |||
| 459 | #define ZORRO_MANUF_EXPANSION_SYSTEMS 0x2062 | ||
| 460 | #define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX ZORRO_ID(EXPANSION_SYSTEMS, 0x01, 0) | ||
| 461 | #define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX_RAM ZORRO_ID(EXPANSION_SYSTEMS, 0x02, 0) | ||
| 462 | |||
| 463 | #define ZORRO_MANUF_READYSOFT 0x2100 | ||
| 464 | #define ZORRO_PROD_READYSOFT_AMAX_II_IV ZORRO_ID(READYSOFT, 0x01, 0) | ||
| 465 | |||
| 466 | #define ZORRO_MANUF_PHASE5 0x2140 | ||
| 467 | #define ZORRO_PROD_PHASE5_BLIZZARD_RAM ZORRO_ID(PHASE5, 0x01, 0) | ||
| 468 | #define ZORRO_PROD_PHASE5_BLIZZARD ZORRO_ID(PHASE5, 0x02, 0) | ||
| 469 | #define ZORRO_PROD_PHASE5_BLIZZARD_1220_IV ZORRO_ID(PHASE5, 0x06, 0) | ||
| 470 | #define ZORRO_PROD_PHASE5_FASTLANE_Z3_RAM ZORRO_ID(PHASE5, 0x0A, 0) | ||
| 471 | #define ZORRO_PROD_PHASE5_BLIZZARD_1230_II_FASTLANE_Z3_CYBERSCSI_CYBERSTORM060 ZORRO_ID(PHASE5, 0x0B, 0) | ||
| 472 | #define ZORRO_PROD_PHASE5_BLIZZARD_1220_CYBERSTORM ZORRO_ID(PHASE5, 0x0C, 0) | ||
| 473 | #define ZORRO_PROD_PHASE5_BLIZZARD_1230 ZORRO_ID(PHASE5, 0x0D, 0) | ||
| 474 | #define ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 ZORRO_ID(PHASE5, 0x11, 0) | ||
| 475 | #define ZORRO_PROD_PHASE5_BLIZZARD_2060 ZORRO_ID(PHASE5, 0x18, 0) | ||
| 476 | #define ZORRO_PROD_PHASE5_CYBERSTORM_MK_II ZORRO_ID(PHASE5, 0x19, 0) | ||
| 477 | #define ZORRO_PROD_PHASE5_CYBERVISION64 ZORRO_ID(PHASE5, 0x22, 0) | ||
| 478 | #define ZORRO_PROD_PHASE5_CYBERVISION64_3D_PROTOTYPE ZORRO_ID(PHASE5, 0x32, 0) | ||
| 479 | #define ZORRO_PROD_PHASE5_CYBERVISION64_3D ZORRO_ID(PHASE5, 0x43, 0) | ||
| 480 | #define ZORRO_PROD_PHASE5_CYBERSTORM_MK_III ZORRO_ID(PHASE5, 0x64, 0) | ||
| 481 | #define ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS ZORRO_ID(PHASE5, 0x6e, 0) | ||
| 482 | |||
| 483 | #define ZORRO_MANUF_DPS 0x2169 | ||
| 484 | #define ZORRO_PROD_DPS_PERSONAL_ANIMATION_RECORDER ZORRO_ID(DPS, 0x01, 0) | ||
| 485 | |||
| 486 | #define ZORRO_MANUF_APOLLO_2 0x2200 | ||
| 487 | #define ZORRO_PROD_APOLLO_A620_68020_1 ZORRO_ID(APOLLO_2, 0x00, 0) | ||
| 488 | #define ZORRO_PROD_APOLLO_A620_68020_2 ZORRO_ID(APOLLO_2, 0x01, 0) | ||
| 489 | |||
| 490 | #define ZORRO_MANUF_APOLLO_3 0x2222 | ||
| 491 | #define ZORRO_PROD_APOLLO_AT_APOLLO ZORRO_ID(APOLLO_3, 0x22, 0) | ||
| 492 | #define ZORRO_PROD_APOLLO_1230_1240_1260_2030_4040_4060 ZORRO_ID(APOLLO_3, 0x23, 0) | ||
| 493 | |||
| 494 | #define ZORRO_MANUF_PETSOFF_LP 0x38A5 | ||
| 495 | #define ZORRO_PROD_PETSOFF_LP_DELFINA ZORRO_ID(PETSOFF_LP, 0x00, 0) | ||
| 496 | #define ZORRO_PROD_PETSOFF_LP_DELFINA_LITE ZORRO_ID(PETSOFF_LP, 0x01, 0) | ||
| 497 | |||
| 498 | #define ZORRO_MANUF_UWE_GERLACH 0x3FF7 | ||
| 499 | #define ZORRO_PROD_UWE_GERLACH_RAM_ROM ZORRO_ID(UWE_GERLACH, 0xd4, 0) | ||
| 500 | |||
| 501 | #define ZORRO_MANUF_ACT 0x4231 | ||
| 502 | #define ZORRO_PROD_ACT_PRELUDE ZORRO_ID(ACT, 0x01, 0) | ||
| 503 | |||
| 504 | #define ZORRO_MANUF_MACROSYSTEMS_GERMANY 0x4754 | ||
| 505 | #define ZORRO_PROD_MACROSYSTEMS_MAESTRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x03, 0) | ||
| 506 | #define ZORRO_PROD_MACROSYSTEMS_VLAB ZORRO_ID(MACROSYSTEMS_GERMANY, 0x04, 0) | ||
| 507 | #define ZORRO_PROD_MACROSYSTEMS_MAESTRO_PRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x05, 0) | ||
| 508 | #define ZORRO_PROD_MACROSYSTEMS_RETINA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x06, 0) | ||
| 509 | #define ZORRO_PROD_MACROSYSTEMS_MULTI_EVOLUTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x08, 0) | ||
| 510 | #define ZORRO_PROD_MACROSYSTEMS_TOCCATA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x0C, 0) | ||
| 511 | #define ZORRO_PROD_MACROSYSTEMS_RETINA_Z3 ZORRO_ID(MACROSYSTEMS_GERMANY, 0x10, 0) | ||
| 512 | #define ZORRO_PROD_MACROSYSTEMS_VLAB_MOTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x12, 0) | ||
| 513 | #define ZORRO_PROD_MACROSYSTEMS_ALTAIS ZORRO_ID(MACROSYSTEMS_GERMANY, 0x13, 0) | ||
| 514 | #define ZORRO_PROD_MACROSYSTEMS_FALCON_040 ZORRO_ID(MACROSYSTEMS_GERMANY, 0xFD, 0) | ||
| 515 | |||
| 516 | #define ZORRO_MANUF_COMBITEC 0x6766 | ||
| 517 | |||
| 518 | #define ZORRO_MANUF_SKI_PERIPHERALS 0x8000 | ||
| 519 | #define ZORRO_PROD_SKI_PERIPHERALS_MAST_FIREBALL ZORRO_ID(SKI_PERIPHERALS, 0x08, 0) | ||
| 520 | #define ZORRO_PROD_SKI_PERIPHERALS_SCSI_DUAL_SERIAL ZORRO_ID(SKI_PERIPHERALS, 0x80, 0) | ||
| 521 | |||
| 522 | #define ZORRO_MANUF_REIS_WARE_2 0xA9AD | ||
| 523 | #define ZORRO_PROD_REIS_WARE_SCAN_KING ZORRO_ID(REIS_WARE_2, 0x11, 0) | ||
| 524 | |||
| 525 | #define ZORRO_MANUF_CAMERON 0xAA01 | ||
| 526 | #define ZORRO_PROD_CAMERON_PERSONAL_A4 ZORRO_ID(CAMERON, 0x10, 0) | ||
| 527 | |||
| 528 | #define ZORRO_MANUF_REIS_WARE 0xAA11 | ||
| 529 | #define ZORRO_PROD_REIS_WARE_HANDYSCANNER ZORRO_ID(REIS_WARE, 0x11, 0) | ||
| 530 | |||
| 531 | #define ZORRO_MANUF_PHOENIX_2 0xB5A8 | ||
| 532 | #define ZORRO_PROD_PHOENIX_ST506_2 ZORRO_ID(PHOENIX_2, 0x21, 0) | ||
| 533 | #define ZORRO_PROD_PHOENIX_SCSI_2 ZORRO_ID(PHOENIX_2, 0x22, 0) | ||
| 534 | #define ZORRO_PROD_PHOENIX_RAM_2 ZORRO_ID(PHOENIX_2, 0xBE, 0) | ||
| 535 | |||
| 536 | #define ZORRO_MANUF_COMBITEC_2 0xC008 | ||
| 537 | #define ZORRO_PROD_COMBITEC_HD ZORRO_ID(COMBITEC_2, 0x2A, 0) | ||
| 538 | #define ZORRO_PROD_COMBITEC_SRAM ZORRO_ID(COMBITEC_2, 0x2B, 0) | ||
| 539 | |||
| 540 | |||
| 541 | /* | ||
| 542 | * Test and illegal Manufacturer IDs. | ||
| 543 | */ | ||
| 544 | |||
| 545 | #define ZORRO_MANUF_HACKER 0x07DB | ||
| 546 | #define ZORRO_PROD_GENERAL_PROTOTYPE ZORRO_ID(HACKER, 0x00, 0) | ||
| 547 | #define ZORRO_PROD_HACKER_SCSI ZORRO_ID(HACKER, 0x01, 0) | ||
| 548 | #define ZORRO_PROD_RESOURCE_MANAGEMENT_FORCE_QUICKNET_QN2000 ZORRO_ID(HACKER, 0x02, 0) | ||
| 549 | #define ZORRO_PROD_VECTOR_CONNECTION_2 ZORRO_ID(HACKER, 0xE0, 0) | ||
| 550 | #define ZORRO_PROD_VECTOR_CONNECTION_3 ZORRO_ID(HACKER, 0xE1, 0) | ||
| 551 | #define ZORRO_PROD_VECTOR_CONNECTION_4 ZORRO_ID(HACKER, 0xE2, 0) | ||
| 552 | #define ZORRO_PROD_VECTOR_CONNECTION_5 ZORRO_ID(HACKER, 0xE3, 0) | ||
