1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef _ASMPPC_HYDRA_H
24 #define _ASMPPC_HYDRA_H
25
26 #ifdef __KERNEL__
27
28 struct Hydra {
29
30 char Pad1[0x30];
31 u_int CachePD;
32 u_int IDs;
33 u_int Feature_Control;
34 char Pad2[0x7fc4];
35
36 char SCSI_DMA[0x100];
37 char Pad3[0x300];
38 char SCCA_Tx_DMA[0x100];
39 char SCCA_Rx_DMA[0x100];
40 char SCCB_Tx_DMA[0x100];
41 char SCCB_Rx_DMA[0x100];
42 char Pad4[0x7800];
43
44 char SCSI[0x1000];
45 char ADB[0x1000];
46 char SCC_Legacy[0x1000];
47 char SCC[0x1000];
48 char Pad9[0x2000];
49 char VIA[0x2000];
50 char Pad10[0x28000];
51 char OpenPIC[0x40000];
52 };
53
54 extern volatile struct Hydra __iomem *Hydra;
55
56
57
58
59
60
61 #define HYDRA_FC_SCC_CELL_EN 0x00000001
62 #define HYDRA_FC_SCSI_CELL_EN 0x00000002
63 #define HYDRA_FC_SCCA_ENABLE 0x00000004
64 #define HYDRA_FC_SCCB_ENABLE 0x00000008
65 #define HYDRA_FC_ARB_BYPASS 0x00000010
66 #define HYDRA_FC_RESET_SCC 0x00000020
67 #define HYDRA_FC_MPIC_ENABLE 0x00000040
68 #define HYDRA_FC_SLOW_SCC_PCLK 0x00000080
69 #define HYDRA_FC_MPIC_IS_MASTER 0x00000100
70
71
72
73
74
75
76 #define HYDRA_INT_SIO 0
77 #define HYDRA_INT_SCSI_DMA 1
78 #define HYDRA_INT_SCCA_TX_DMA 2
79 #define HYDRA_INT_SCCA_RX_DMA 3
80 #define HYDRA_INT_SCCB_TX_DMA 4
81 #define HYDRA_INT_SCCB_RX_DMA 5
82 #define HYDRA_INT_SCSI 6
83 #define HYDRA_INT_SCCA 7
84 #define HYDRA_INT_SCCB 8
85 #define HYDRA_INT_VIA 9
86 #define HYDRA_INT_ADB 10
87 #define HYDRA_INT_ADB_NMI 11
88 #define HYDRA_INT_EXT1 12
89 #define HYDRA_INT_EXT2 13
90 #define HYDRA_INT_EXT3 14
91 #define HYDRA_INT_EXT4 15
92 #define HYDRA_INT_EXT5 16
93 #define HYDRA_INT_EXT6 17
94 #define HYDRA_INT_EXT7 18
95 #define HYDRA_INT_SPARE 19
96
97 extern int hydra_init(void);
98
99 #endif
100
101 #endif