1
2
3
4
5
6 #ifndef _Z8536_H
7 #define _Z8536_H
8
9
10 #define Z8536_INT_CTRL_REG 0x00
11 #define Z8536_INT_CTRL_MIE BIT(7)
12 #define Z8536_INT_CTRL_DLC BIT(6)
13 #define Z8536_INT_CTRL_NV BIT(5)
14 #define Z8536_INT_CTRL_PA_VIS BIT(4)
15 #define Z8536_INT_CTRL_PB_VIS BIT(3)
16 #define Z8536_INT_CTRL_VT_VIS BIT(2)
17 #define Z8536_INT_CTRL_RJA BIT(1)
18 #define Z8536_INT_CTRL_RESET BIT(0)
19
20
21 #define Z8536_CFG_CTRL_REG 0x01
22 #define Z8536_CFG_CTRL_PBE BIT(7)
23 #define Z8536_CFG_CTRL_CT1E BIT(6)
24 #define Z8536_CFG_CTRL_CT2E BIT(5)
25 #define Z8536_CFG_CTRL_PCE_CT3E BIT(4)
26 #define Z8536_CFG_CTRL_PLC BIT(3)
27 #define Z8536_CFG_CTRL_PAE BIT(2)
28 #define Z8536_CFG_CTRL_LC(x) (((x) & 0x3) << 0)
29 #define Z8536_CFG_CTRL_LC_INDEP Z8536_CFG_CTRL_LC(0)
30 #define Z8536_CFG_CTRL_LC_GATE Z8536_CFG_CTRL_LC(1)
31 #define Z8536_CFG_CTRL_LC_TRIG Z8536_CFG_CTRL_LC(2)
32 #define Z8536_CFG_CTRL_LC_CLK Z8536_CFG_CTRL_LC(3)
33 #define Z8536_CFG_CTRL_LC_MASK Z8536_CFG_CTRL_LC(3)
34
35
36 #define Z8536_PA_INT_VECT_REG 0x02
37 #define Z8536_PB_INT_VECT_REG 0x03
38 #define Z8536_CT_INT_VECT_REG 0x04
39 #define Z8536_CURR_INT_VECT_REG 0x1f
40
41
42 #define Z8536_PA_CMDSTAT_REG 0x08
43 #define Z8536_PB_CMDSTAT_REG 0x09
44 #define Z8536_CT1_CMDSTAT_REG 0x0a
45 #define Z8536_CT2_CMDSTAT_REG 0x0b
46 #define Z8536_CT3_CMDSTAT_REG 0x0c
47 #define Z8536_CT_CMDSTAT_REG(x) (0x0a + (x))
48 #define Z8536_CMD(x) (((x) & 0x7) << 5)
49 #define Z8536_CMD_NULL Z8536_CMD(0)
50 #define Z8536_CMD_CLR_IP_IUS Z8536_CMD(1)
51 #define Z8536_CMD_SET_IUS Z8536_CMD(2)
52 #define Z8536_CMD_CLR_IUS Z8536_CMD(3)
53 #define Z8536_CMD_SET_IP Z8536_CMD(4)
54 #define Z8536_CMD_CLR_IP Z8536_CMD(5)
55 #define Z8536_CMD_SET_IE Z8536_CMD(6)
56 #define Z8536_CMD_CLR_IE Z8536_CMD(7)
57 #define Z8536_CMD_MASK Z8536_CMD(7)
58
59 #define Z8536_STAT_IUS BIT(7)
60 #define Z8536_STAT_IE BIT(6)
61 #define Z8536_STAT_IP BIT(5)
62 #define Z8536_STAT_ERR BIT(4)
63 #define Z8536_STAT_IE_IP (Z8536_STAT_IE | Z8536_STAT_IP)
64
65 #define Z8536_PAB_STAT_ORE BIT(3)
66 #define Z8536_PAB_STAT_IRF BIT(2)
67 #define Z8536_PAB_STAT_PMF BIT(1)
68 #define Z8536_PAB_CMDSTAT_IOE BIT(0)
69
70 #define Z8536_CT_CMD_RCC BIT(3)
71 #define Z8536_CT_CMDSTAT_GCB BIT(2)
72 #define Z8536_CT_CMD_TCB BIT(1)
73 #define Z8536_CT_STAT_CIP BIT(0)
74
75
76 #define Z8536_PA_DATA_REG 0x0d
77 #define Z8536_PB_DATA_REG 0x0e
78 #define Z8536_PC_DATA_REG 0x0f
79
80
81 #define Z8536_CT1_VAL_MSB_REG 0x10
82 #define Z8536_CT1_VAL_LSB_REG 0x11
83 #define Z8536_CT2_VAL_MSB_REG 0x12
84 #define Z8536_CT2_VAL_LSB_REG 0x13
85 #define Z8536_CT3_VAL_MSB_REG 0x14
86 #define Z8536_CT3_VAL_LSB_REG 0x15
87 #define Z8536_CT_VAL_MSB_REG(x) (0x10 + ((x) * 2))
88 #define Z8536_CT_VAL_LSB_REG(x) (0x11 + ((x) * 2))
89
90
91 #define Z8536_CT1_RELOAD_MSB_REG 0x16
92 #define Z8536_CT1_RELOAD_LSB_REG 0x17
93 #define Z8536_CT2_RELOAD_MSB_REG 0x18
94 #define Z8536_CT2_RELOAD_LSB_REG 0x19
95 #define Z8536_CT3_RELOAD_MSB_REG 0x1a
96 #define Z8536_CT3_RELOAD_LSB_REG 0x1b
97 #define Z8536_CT_RELOAD_MSB_REG(x) (0x16 + ((x) * 2))
98 #define Z8536_CT_RELOAD_LSB_REG(x) (0x17 + ((x) * 2))
99
100
101 #define Z8536_CT1_MODE_REG 0x1c
102 #define Z8536_CT2_MODE_REG 0x1d
103 #define Z8536_CT3_MODE_REG 0x1e
104 #define Z8536_CT_MODE_REG(x) (0x1c + (x))
105 #define Z8536_CT_MODE_CSC BIT(7)
106 #define Z8536_CT_MODE_EOE BIT(6)
107 #define Z8536_CT_MODE_ECE BIT(5)
108 #define Z8536_CT_MODE_ETE BIT(4)
109 #define Z8536_CT_MODE_EGE BIT(3)
110 #define Z8536_CT_MODE_REB BIT(2)
111 #define Z8536_CT_MODE_DCS(x) (((x) & 0x3) << 0)
112 #define Z8536_CT_MODE_DCS_PULSE Z8536_CT_MODE_DCS(0)
113 #define Z8536_CT_MODE_DCS_ONESHOT Z8536_CT_MODE_DCS(1)
114 #define Z8536_CT_MODE_DCS_SQRWAVE Z8536_CT_MODE_DCS(2)
115 #define Z8536_CT_MODE_DCS_DO_NOT_USE Z8536_CT_MODE_DCS(3)
116 #define Z8536_CT_MODE_DCS_MASK Z8536_CT_MODE_DCS(3)
117
118
119 #define Z8536_PA_MODE_REG 0x20
120 #define Z8536_PB_MODE_REG 0x28
121 #define Z8536_PAB_MODE_PTS(x) (((x) & 0x3) << 6)
122 #define Z8536_PAB_MODE_PTS_BIT Z8536_PAB_MODE_PTS(0 << 6)
123 #define Z8536_PAB_MODE_PTS_INPUT Z8536_PAB_MODE_PTS(1 << 6)
124 #define Z8536_PAB_MODE_PTS_OUTPUT Z8536_PAB_MODE_PTS(2 << 6)
125 #define Z8536_PAB_MODE_PTS_BIDIR Z8536_PAB_MODE_PTS(3 << 6)
126 #define Z8536_PAB_MODE_PTS_MASK Z8536_PAB_MODE_PTS(3 << 6)
127 #define Z8536_PAB_MODE_ITB BIT(5)
128 #define Z8536_PAB_MODE_SB BIT(4)
129 #define Z8536_PAB_MODE_IMO BIT(3)
130 #define Z8536_PAB_MODE_PMS(x) (((x) & 0x3) << 1)
131 #define Z8536_PAB_MODE_PMS_DISABLE Z8536_PAB_MODE_PMS(0)
132 #define Z8536_PAB_MODE_PMS_AND Z8536_PAB_MODE_PMS(1)
133 #define Z8536_PAB_MODE_PMS_OR Z8536_PAB_MODE_PMS(2)
134 #define Z8536_PAB_MODE_PMS_OR_PEV Z8536_PAB_MODE_PMS(3)
135 #define Z8536_PAB_MODE_PMS_MASK Z8536_PAB_MODE_PMS(3)
136 #define Z8536_PAB_MODE_LPM BIT(0)
137 #define Z8536_PAB_MODE_DTE BIT(0)
138
139
140 #define Z8536_PA_HANDSHAKE_REG 0x21
141 #define Z8536_PB_HANDSHAKE_REG 0x29
142 #define Z8536_PAB_HANDSHAKE_HST(x) (((x) & 0x3) << 6)
143 #define Z8536_PAB_HANDSHAKE_HST_INTER Z8536_PAB_HANDSHAKE_HST(0)
144 #define Z8536_PAB_HANDSHAKE_HST_STROBED Z8536_PAB_HANDSHAKE_HST(1)
145 #define Z8536_PAB_HANDSHAKE_HST_PULSED Z8536_PAB_HANDSHAKE_HST(2)
146 #define Z8536_PAB_HANDSHAKE_HST_3WIRE Z8536_PAB_HANDSHAKE_HST(3)
147 #define Z8536_PAB_HANDSHAKE_HST_MASK Z8536_PAB_HANDSHAKE_HST(3)
148 #define Z8536_PAB_HANDSHAKE_RWS(x) (((x) & 0x7) << 3)
149 #define Z8536_PAB_HANDSHAKE_RWS_DISABLE Z8536_PAB_HANDSHAKE_RWS(0)
150 #define Z8536_PAB_HANDSHAKE_RWS_OUTWAIT Z8536_PAB_HANDSHAKE_RWS(1)
151 #define Z8536_PAB_HANDSHAKE_RWS_INWAIT Z8536_PAB_HANDSHAKE_RWS(3)
152 #define Z8536_PAB_HANDSHAKE_RWS_SPREQ Z8536_PAB_HANDSHAKE_RWS(4)
153 #define Z8536_PAB_HANDSHAKE_RWS_OUTREQ Z8536_PAB_HANDSHAKE_RWS(5)
154 #define Z8536_PAB_HANDSHAKE_RWS_INREQ Z8536_PAB_HANDSHAKE_RWS(7)
155 #define Z8536_PAB_HANDSHAKE_RWS_MASK Z8536_PAB_HANDSHAKE_RWS(7)
156 #define Z8536_PAB_HANDSHAKE_DESKEW(x) ((x) << 0)
157 #define Z8536_PAB_HANDSHAKE_DESKEW_MASK (3 << 0)
158
159
160
161
162
163
164
165 #define Z8536_PA_DPP_REG 0x22
166 #define Z8536_PB_DPP_REG 0x2a
167 #define Z8536_PC_DPP_REG 0x05
168
169
170
171
172
173
174
175 #define Z8536_PA_DD_REG 0x23
176 #define Z8536_PB_DD_REG 0x2b
177 #define Z8536_PC_DD_REG 0x06
178
179
180
181
182
183
184
185 #define Z8536_PA_SIO_REG 0x24
186 #define Z8536_PB_SIO_REG 0x2c
187 #define Z8536_PC_SIO_REG 0x07
188
189
190
191
192
193
194
195
196
197
198
199
200
201 #define Z8536_PA_PP_REG 0x25
202 #define Z8536_PB_PP_REG 0x2d
203
204 #define Z8536_PA_PT_REG 0x26
205 #define Z8536_PB_PT_REG 0x2e
206
207 #define Z8536_PA_PM_REG 0x27
208 #define Z8536_PB_PM_REG 0x2f
209
210 #endif