138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris/****************************************************************************
238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ****************************************************************************
338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   This header was automatically generated from a Linux kernel header
538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   of the same name, to make information necessary for userspace to
638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   call into the kernel available to libc.  It contains only constants,
738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   structures, and macros generated from the original header, and thus,
838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   contains no copyrightable information.
938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
1038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   To edit the content of this header, modify the corresponding
1138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   source file (e.g. under external/kernel-headers/original/) then
1238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   run bionic/libc/kernel/tools/update_all.py
1338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
1438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   Any manual change here will be lost the next time this script will
1538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   be run. You've been warned!
1638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
1738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ****************************************************************************
1838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ****************************************************************************/
1938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#ifndef _UAPI_LINUX_ZORRO_H
2038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define _UAPI_LINUX_ZORRO_H
2138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#include <linux/types.h>
2238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ZORRO_MANUF(id) ((id) >> 16)
2338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ZORRO_PROD(id) (((id) >> 8) & 0xff)
2438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ZORRO_EPC(id) ((id) & 0xff)
25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define ZORRO_ID(manuf,prod,epc) ((ZORRO_MANUF_ ##manuf << 16) | ((prod) << 8) | (epc))
2638062f954c637861348dd8078cefb73554e6f12cChristopher Ferristypedef __u32 zorro_id;
2738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#include <linux/zorro_ids.h>
2838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define GVP_PRODMASK (0xf8)
2938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define GVP_SCSICLKMASK (0x01)
3038062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisenum GVP_flags {
31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_IO = 0x01,
32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_ACCEL = 0x02,
33d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_SCSI = 0x04,
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_24BITDMA = 0x08,
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_25BITDMA = 0x10,
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_NOBANK = 0x20,
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  GVP_14MHZ = 0x40,
3838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris};
3938062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct Node {
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 ln_Succ;
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 ln_Pred;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 ln_Type;
43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __s8 ln_Pri;
44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 ln_Name;
4538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris} __packed;
4638062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct ExpansionRom {
47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Type;
48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Product;
49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Flags;
50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Reserved03;
51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 er_Manufacturer;
52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 er_SerialNumber;
53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 er_InitDiagVec;
54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Reserved0c;
55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Reserved0d;
56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Reserved0e;
57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 er_Reserved0f;
5838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris} __packed;
5938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ERT_TYPEMASK 0xc0
6038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ERT_ZORROII 0xc0
6138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ERT_ZORROIII 0x80
6238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ERTB_MEMLIST 5
63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define ERTF_MEMLIST (1 << 5)
6438062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct ConfigDev {
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct Node cd_Node;
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 cd_Flags;
67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u8 cd_Pad;
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct ExpansionRom cd_Rom;
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 cd_BoardAddr;
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 cd_BoardSize;
71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 cd_SlotAddr;
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be16 cd_SlotSize;
73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 cd_Driver;
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 cd_NextCD;
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __be32 cd_Unused[4];
7638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris} __packed;
7738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ZORRO_NUM_AUTO 16
7838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#endif
79