1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _LINUX_FDREG_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _LINUX_FDREG_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifdef FDPATCHES
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_IOPORT fdc_state[fdc].address
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#else
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_IOPORT 0x3f0
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define FD_STATUS (4 + FD_IOPORT)
27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define FD_DATA (5 + FD_IOPORT)
28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define FD_DOR (2 + FD_IOPORT)
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define FD_DIR (7 + FD_IOPORT)
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define FD_DCR (7 + FD_IOPORT)
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define STATUS_BUSYMASK 0x0F
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define STATUS_BUSY 0x10
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define STATUS_DMA 0x20
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define STATUS_DIR 0x40
35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define STATUS_READY 0x80
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST0_DS 0x03
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST0_HA 0x04
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST0_NR 0x08
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST0_ECE 0x10
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST0_SE 0x20
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST0_INTR 0xC0
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST1_MAM 0x01
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST1_WP 0x02
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST1_ND 0x04
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST1_OR 0x10
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST1_CRC 0x20
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST1_EOC 0x80
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_MAM 0x01
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_BC 0x02
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_SNS 0x04
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_SEH 0x08
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_WC 0x10
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_CRC 0x20
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST2_CM 0x40
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST3_HA 0x04
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST3_DS 0x08
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST3_TZ 0x10
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST3_RY 0x20
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST3_WP 0x40
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define ST3_FT 0x80
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_RECALIBRATE 0x07
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_SEEK 0x0F
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_READ 0xE6
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_WRITE 0xC5
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_SENSEI 0x08
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_SPECIFY 0x03
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_FORMAT 0x4D
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_VERSION 0x10
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_CONFIGURE 0x13
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_PERPENDICULAR 0x12
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_GETSTATUS 0x04
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_DUMPREGS 0x0E
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_READID 0xEA
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_UNLOCK 0x14
75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_LOCK 0x94
76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_RSEEK_OUT 0x8f
77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_RSEEK_IN 0xcf
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_PARTID 0x18
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_SAVE 0x2e
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_DRIVESPEC 0x8e
81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_RESTORE 0x4e
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_POWERDOWN 0x27
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_FORMAT_N_WRITE 0xef
84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_OPTION 0x33
85655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMA_READ 0x46
86655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DMA_WRITE 0x4A
87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_NONE 0x00
88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_UNKNOWN 0x10
89655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_8272A 0x20
90655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_765ED 0x30
91655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82072 0x40
92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82072A 0x45
93655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82077_ORIG 0x51
94655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82077 0x52
95655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82078_UNKN 0x5f
96655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82078 0x60
97655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_82078_1 0x61
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_S82078B 0x62
99655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FDC_87306 0x63
100655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define FD_RESET_DELAY 20
101655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
102