1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_LINUX_ZORRO_H 7 #define _UAPI_LINUX_ZORRO_H 8 #include <linux/types.h> 9 10 #define ZORRO_MANUF(id) ((id) >> 16) 11 #define ZORRO_PROD(id) (((id) >> 8) & 0xff) 12 #define ZORRO_EPC(id) ((id) & 0xff) 13 #define ZORRO_ID(manuf, prod, epc) \ 14 ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc)) 15 typedef __u32 zorro_id; 16 #include <linux/zorro_ids.h> 17 18 #define GVP_PRODMASK (0xf8) 19 #define GVP_SCSICLKMASK (0x01) 20 enum GVP_flags { 21 GVP_IO = 0x01, 22 GVP_ACCEL = 0x02, 23 GVP_SCSI = 0x04, 24 GVP_24BITDMA = 0x08, 25 GVP_25BITDMA = 0x10, 26 GVP_NOBANK = 0x20, 27 GVP_14MHZ = 0x40, 28 }; 29 struct Node { 30 __be32 ln_Succ; 31 __be32 ln_Pred; 32 __u8 ln_Type; 33 __s8 ln_Pri; 34 __be32 ln_Name; 35 } __packed; 36 struct ExpansionRom { 37 38 __u8 er_Type; 39 __u8 er_Product; 40 __u8 er_Flags; 41 __u8 er_Reserved03; 42 __be16 er_Manufacturer; 43 __be32 er_SerialNumber; 44 __be16 er_InitDiagVec; 45 __u8 er_Reserved0c; 46 __u8 er_Reserved0d; 47 __u8 er_Reserved0e; 48 __u8 er_Reserved0f; 49 } __packed; 50 #define ERT_TYPEMASK 0xc0 51 #define ERT_ZORROII 0xc0 52 #define ERT_ZORROIII 0x80 53 #define ERTB_MEMLIST 5 54 #define ERTF_MEMLIST (1<<5) 55 struct ConfigDev { 56 struct Node cd_Node; 57 __u8 cd_Flags; 58 __u8 cd_Pad; 59 struct ExpansionRom cd_Rom; 60 __be32 cd_BoardAddr; 61 __be32 cd_BoardSize; 62 __be16 cd_SlotAddr; 63 __be16 cd_SlotSize; 64 __be32 cd_Driver; 65 __be32 cd_NextCD; 66 __be32 cd_Unused[4]; 67 } __packed; 68 #define ZORRO_NUM_AUTO 16 69 #endif 70