~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/arch/arm/include/asm/arch-ks8695/platform.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * SPDX-License-Identifier:     GPL-2.0+
 
3
 */
 
4
#ifndef __address_h
 
5
#define __address_h                     1
 
6
 
 
7
#define KS8695_SDRAM_START          0x00000000
 
8
#define KS8695_SDRAM_SIZE           0x01000000
 
9
#define KS8695_MEM_SIZE             KS8695_SDRAM_SIZE
 
10
#define KS8695_MEM_START            KS8695_SDRAM_START
 
11
 
 
12
#define KS8695_PCMCIA_IO_BASE       0x03800000
 
13
#define KS8695_PCMCIA_IO_SIZE       0x00040000
 
14
 
 
15
#define KS8695_IO_BASE              0x03FF0000
 
16
#define KS8695_IO_SIZE              0x00010000
 
17
 
 
18
#define KS8695_SYSTEN_CONFIG        0x00
 
19
#define KS8695_SYSTEN_BUS_CLOCK     0x04
 
20
 
 
21
#define KS8695_FLASH_START          0x02800000
 
22
#define KS8695_FLASH_SIZE           0x00400000
 
23
 
 
24
/*i/o control registers offset difinitions*/
 
25
#define KS8695_IO_CTRL0             0x4000
 
26
#define KS8695_IO_CTRL1             0x4004
 
27
#define KS8695_IO_CTRL2             0x4008
 
28
#define KS8695_IO_CTRL3             0x400C
 
29
 
 
30
/*memory control registers offset difinitions*/
 
31
#define KS8695_MEM_CTRL0            0x4010
 
32
#define KS8695_MEM_CTRL1            0x4014
 
33
#define KS8695_MEM_CTRL2            0x4018
 
34
#define KS8695_MEM_CTRL3            0x401C
 
35
#define KS8695_MEM_GENERAL          0x4020
 
36
#define KS8695_SDRAM_CTRL0          0x4030
 
37
#define KS8695_SDRAM_CTRL1          0x4034
 
38
#define KS8695_SDRAM_GENERAL        0x4038
 
39
#define KS8695_SDRAM_BUFFER         0x403C
 
40
#define KS8695_SDRAM_REFRESH        0x4040
 
41
 
 
42
/*WAN control registers offset difinitions*/
 
43
#define KS8695_WAN_DMA_TX           0x6000
 
44
#define KS8695_WAN_DMA_RX           0x6004
 
45
#define KS8695_WAN_DMA_TX_START     0x6008
 
46
#define KS8695_WAN_DMA_RX_START     0x600C
 
47
#define KS8695_WAN_TX_LIST          0x6010
 
48
#define KS8695_WAN_RX_LIST          0x6014
 
49
#define KS8695_WAN_MAC_LOW          0x6018
 
50
#define KS8695_WAN_MAC_HIGH         0x601C
 
51
#define KS8695_WAN_MAC_ELOW         0x6080
 
52
#define KS8695_WAN_MAC_EHIGH        0x6084
 
53
 
 
54
/*LAN control registers offset difinitions*/
 
55
#define KS8695_LAN_DMA_TX           0x8000
 
56
#define KS8695_LAN_DMA_RX           0x8004
 
57
#define KS8695_LAN_DMA_TX_START     0x8008
 
58
#define KS8695_LAN_DMA_RX_START     0x800C
 
59
#define KS8695_LAN_TX_LIST          0x8010
 
60
#define KS8695_LAN_RX_LIST          0x8014
 
61
#define KS8695_LAN_MAC_LOW          0x8018
 
62
#define KS8695_LAN_MAC_HIGH         0x801C
 
63
#define KS8695_LAN_MAC_ELOW         0X8080
 
64
#define KS8695_LAN_MAC_EHIGH        0X8084
 
65
 
 
66
/*HPNA control registers offset difinitions*/
 
67
#define KS8695_HPNA_DMA_TX          0xA000
 
68
#define KS8695_HPNA_DMA_RX          0xA004
 
69
#define KS8695_HPNA_DMA_TX_START    0xA008
 
70
#define KS8695_HPNA_DMA_RX_START    0xA00C
 
71
#define KS8695_HPNA_TX_LIST         0xA010
 
72
#define KS8695_HPNA_RX_LIST         0xA014
 
73
#define KS8695_HPNA_MAC_LOW         0xA018
 
74
#define KS8695_HPNA_MAC_HIGH        0xA01C
 
75
#define KS8695_HPNA_MAC_ELOW        0xA080
 
76
#define KS8695_HPNA_MAC_EHIGH       0xA084
 
77
 
 
78
/*UART control registers offset difinitions*/
 
79
#define KS8695_UART_RX_BUFFER       0xE000
 
80
#define KS8695_UART_TX_HOLDING      0xE004
 
81
 
 
82
#define KS8695_UART_FIFO_CTRL       0xE008
 
83
#define KS8695_UART_FIFO_TRIG01     0x00
 
84
#define KS8695_UART_FIFO_TRIG04     0x80
 
85
#define KS8695_UART_FIFO_TXRST      0x03
 
86
#define KS8695_UART_FIFO_RXRST      0x02
 
87
#define KS8695_UART_FIFO_FEN        0x01
 
88
 
 
89
#define KS8695_UART_LINE_CTRL       0xE00C
 
90
#define KS8695_UART_LINEC_BRK       0x40
 
91
#define KS8695_UART_LINEC_EPS       0x10
 
92
#define KS8695_UART_LINEC_PEN       0x08
 
93
#define KS8695_UART_LINEC_STP2      0x04
 
94
#define KS8695_UART_LINEC_WLEN8     0x03
 
95
#define KS8695_UART_LINEC_WLEN7     0x02
 
96
#define KS8695_UART_LINEC_WLEN6     0x01
 
97
#define KS8695_UART_LINEC_WLEN5     0x00
 
98
 
 
99
#define KS8695_UART_MODEM_CTRL      0xE010
 
100
#define KS8695_UART_MODEMC_RTS      0x02
 
101
#define KS8695_UART_MODEMC_DTR      0x01
 
102
 
 
103
#define KS8695_UART_LINE_STATUS     0xE014
 
104
#define KS8695_UART_LINES_TXFE      0x20
 
105
#define KS8695_UART_LINES_BE        0x10
 
106
#define KS8695_UART_LINES_FE        0x08
 
107
#define KS8695_UART_LINES_PE        0x04
 
108
#define KS8695_UART_LINES_OE        0x02
 
109
#define KS8695_UART_LINES_RXFE      0x01
 
110
#define KS8695_UART_LINES_ANY       (KS8695_UART_LINES_OE|KS8695_UART_LINES_BE|KS8695_UART_LINES_PE|KS8695_UART_LINES_FE)
 
111
 
 
112
#define KS8695_UART_MODEM_STATUS    0xE018
 
113
#define KS8695_UART_MODEM_DCD       0x80
 
114
#define KS8695_UART_MODEM_DSR       0x20
 
115
#define KS8695_UART_MODEM_CTS       0x10
 
116
#define KS8695_UART_MODEM_DDCD      0x08
 
117
#define KS8695_UART_MODEM_DDSR      0x02
 
118
#define KS8695_UART_MODEM_DCTS      0x01
 
119
#define UART8695_MODEM_ANY          0xFF
 
120
 
 
121
#define KS8695_UART_DIVISOR         0xE01C
 
122
#define KS8695_UART_STATUS          0xE020
 
123
 
 
124
/*Interrupt controlller registers offset difinitions*/
 
125
#define KS8695_INT_CONTL            0xE200
 
126
#define KS8695_INT_ENABLE           0xE204
 
127
#define KS8695_INT_ENABLE_MODEM     0x0800
 
128
#define KS8695_INT_ENABLE_ERR       0x0400
 
129
#define KS8695_INT_ENABLE_RX        0x0200
 
130
#define KS8695_INT_ENABLE_TX        0x0100
 
131
 
 
132
#define KS8695_INT_STATUS           0xE208
 
133
#define KS8695_INT_WAN_PRIORITY     0xE20C
 
134
#define KS8695_INT_HPNA_PRIORITY    0xE210
 
135
#define KS8695_INT_LAN_PRIORITY     0xE214
 
136
#define KS8695_INT_TIMER_PRIORITY   0xE218
 
137
#define KS8695_INT_UART_PRIORITY    0xE21C
 
138
#define KS8695_INT_EXT_PRIORITY     0xE220
 
139
#define KS8695_INT_CHAN_PRIORITY    0xE224
 
140
#define KS8695_INT_BUSERROR_PRO     0xE228
 
141
#define KS8695_INT_MASK_STATUS      0xE22C
 
142
#define KS8695_FIQ_PEND_PRIORITY    0xE230
 
143
#define KS8695_IRQ_PEND_PRIORITY    0xE234
 
144
 
 
145
/*timer registers offset difinitions*/
 
146
#define KS8695_TIMER_CTRL           0xE400
 
147
#define KS8695_TIMER1               0xE404
 
148
#define KS8695_TIMER0               0xE408
 
149
#define KS8695_TIMER1_PCOUNT        0xE40C
 
150
#define KS8695_TIMER0_PCOUNT        0xE410
 
151
 
 
152
/*GPIO registers offset difinitions*/
 
153
#define KS8695_GPIO_MODE            0xE600
 
154
#define KS8695_GPIO_CTRL            0xE604
 
155
#define KS8695_GPIO_DATA            0xE608
 
156
 
 
157
/*SWITCH registers offset difinitions*/
 
158
#define KS8695_SWITCH_CTRL0         0xE800
 
159
#define KS8695_SWITCH_CTRL1         0xE804
 
160
#define KS8695_SWITCH_PORT1         0xE808
 
161
#define KS8695_SWITCH_PORT2         0xE80C
 
162
#define KS8695_SWITCH_PORT3         0xE810
 
163
#define KS8695_SWITCH_PORT4         0xE814
 
164
#define KS8695_SWITCH_PORT5         0xE818
 
165
#define KS8695_SWITCH_AUTO0         0xE81C
 
166
#define KS8695_SWITCH_AUTO1         0xE820
 
167
#define KS8695_SWITCH_LUE_CTRL      0xE824
 
168
#define KS8695_SWITCH_LUE_HIGH      0xE828
 
169
#define KS8695_SWITCH_LUE_LOW       0xE82C
 
170
#define KS8695_SWITCH_ADVANCED      0xE830
 
171
 
 
172
#define KS8695_SWITCH_LPPM12        0xE874
 
173
#define KS8695_SWITCH_LPPM34        0xE878
 
174
 
 
175
/*host communication registers difinitions*/
 
176
#define KS8695_DSCP_HIGH            0xE834
 
177
#define KS8695_DSCP_LOW             0xE838
 
178
#define KS8695_SWITCH_MAC_HIGH      0xE83C
 
179
#define KS8695_SWITCH_MAC_LOW       0xE840
 
180
 
 
181
/*miscellaneours registers difinitions*/
 
182
#define KS8695_MANAGE_COUNTER       0xE844
 
183
#define KS8695_MANAGE_DATA          0xE848
 
184
#define KS8695_LAN12_POWERMAGR      0xE84C
 
185
#define KS8695_LAN34_POWERMAGR      0xE850
 
186
 
 
187
#define KS8695_DEVICE_ID            0xEA00
 
188
#define KS8695_REVISION_ID          0xEA04
 
189
 
 
190
#define KS8695_MISC_CONTROL         0xEA08
 
191
#define KS8695_WAN_CONTROL          0xEA0C
 
192
#define KS8695_WAN_POWERMAGR        0xEA10
 
193
#define KS8695_WAN_PHY_CONTROL      0xEA14
 
194
#define KS8695_WAN_PHY_STATUS       0xEA18
 
195
 
 
196
/* bus clock definitions*/
 
197
#define KS8695_BUS_CLOCK_125MHZ     0x0
 
198
#define KS8695_BUS_CLOCK_100MHZ     0x1
 
199
#define KS8695_BUS_CLOCK_62MHZ      0x2
 
200
#define KS8695_BUS_CLOCK_50MHZ      0x3
 
201
#define KS8695_BUS_CLOCK_41MHZ      0x4
 
202
#define KS8695_BUS_CLOCK_33MHZ      0x5
 
203
#define KS8695_BUS_CLOCK_31MHZ      0x6
 
204
#define KS8695_BUS_CLOCK_25MHZ      0x7
 
205
 
 
206
/* -------------------------------------------------------------------------------
 
207
 *  definations for IRQ
 
208
 * -------------------------------------------------------------------------------*/
 
209
 
 
210
#define KS8695_INT_EXT_INT0                    2
 
211
#define KS8695_INT_EXT_INT1                    3
 
212
#define KS8695_INT_EXT_INT2                    4
 
213
#define KS8695_INT_EXT_INT3                    5
 
214
#define KS8695_INT_TIMERINT0                   6
 
215
#define KS8695_INT_TIMERINT1                   7
 
216
#define KS8695_INT_UART_TX                     8
 
217
#define KS8695_INT_UART_RX                     9
 
218
#define KS8695_INT_UART_LINE_ERR               10
 
219
#define KS8695_INT_UART_MODEMS                 11
 
220
#define KS8695_INT_LAN_STOP_RX                 12
 
221
#define KS8695_INT_LAN_STOP_TX                 13
 
222
#define KS8695_INT_LAN_BUF_RX_STATUS           14
 
223
#define KS8695_INT_LAN_BUF_TX_STATUS           15
 
224
#define KS8695_INT_LAN_RX_STATUS               16
 
225
#define KS8695_INT_LAN_TX_STATUS               17
 
226
#define KS8695_INT_HPAN_STOP_RX                18
 
227
#define KS8695_INT_HPNA_STOP_TX                19
 
228
#define KS8695_INT_HPNA_BUF_RX_STATUS          20
 
229
#define KS8695_INT_HPNA_BUF_TX_STATUS          21
 
230
#define KS8695_INT_HPNA_RX_STATUS              22
 
231
#define KS8695_INT_HPNA_TX_STATUS              23
 
232
#define KS8695_INT_BUS_ERROR                   24
 
233
#define KS8695_INT_WAN_STOP_RX                 25
 
234
#define KS8695_INT_WAN_STOP_TX                 26
 
235
#define KS8695_INT_WAN_BUF_RX_STATUS           27
 
236
#define KS8695_INT_WAN_BUF_TX_STATUS           28
 
237
#define KS8695_INT_WAN_RX_STATUS               29
 
238
#define KS8695_INT_WAN_TX_STATUS               30
 
239
 
 
240
#define KS8695_INT_UART                        KS8695_INT_UART_TX
 
241
 
 
242
/* -------------------------------------------------------------------------------
 
243
 *  Interrupt bit positions
 
244
 *
 
245
 * -------------------------------------------------------------------------------
 
246
 */
 
247
 
 
248
#define KS8695_INTMASK_EXT_INT0                ( 1 << KS8695_INT_EXT_INT0 )
 
249
#define KS8695_INTMASK_EXT_INT1                ( 1 << KS8695_INT_EXT_INT1 )
 
250
#define KS8695_INTMASK_EXT_INT2                ( 1 << KS8695_INT_EXT_INT2 )
 
251
#define KS8695_INTMASK_EXT_INT3                ( 1 << KS8695_INT_EXT_INT3 )
 
252
#define KS8695_INTMASK_TIMERINT0               ( 1 << KS8695_INT_TIMERINT0 )
 
253
#define KS8695_INTMASK_TIMERINT1               ( 1 << KS8695_INT_TIMERINT1 )
 
254
#define KS8695_INTMASK_UART_TX                 ( 1 << KS8695_INT_UART_TX  )
 
255
#define KS8695_INTMASK_UART_RX                 ( 1 << KS8695_INT_UART_RX  )
 
256
#define KS8695_INTMASK_UART_LINE_ERR           ( 1 << KS8695_INT_UART_LINE_ERR )
 
257
#define KS8695_INTMASK_UART_MODEMS             ( 1 << KS8695_INT_UART_MODEMS )
 
258
#define KS8695_INTMASK_LAN_STOP_RX             ( 1 << KS8695_INT_LAN_STOP_RX )
 
259
#define KS8695_INTMASK_LAN_STOP_TX             ( 1 << KS8695_INT_LAN_STOP_TX )
 
260
#define KS8695_INTMASK_LAN_BUF_RX_STATUS       ( 1 << KS8695_INT_LAN_BUF_RX_STATUS )
 
261
#define KS8695_INTMASK_LAN_BUF_TX_STATUS       ( 1 << KS8695_INT_LAN_BUF_TX_STATUS )
 
262
#define KS8695_INTMASK_LAN_RX_STATUS           ( 1 << KS8695_INT_LAN_RX_STATUS )
 
263
#define KS8695_INTMASK_LAN_TX_STATUS           ( 1 << KS8695_INT_LAN_RX_STATUS )
 
264
#define KS8695_INTMASK_HPAN_STOP_RX            ( 1 << KS8695_INT_HPAN_STOP_RX )
 
265
#define KS8695_INTMASK_HPNA_STOP_TX            ( 1 << KS8695_INT_HPNA_STOP_TX )
 
266
#define KS8695_INTMASK_HPNA_BUF_RX_STATUS      ( 1 << KS8695_INT_HPNA_BUF_RX_STATUS )
 
267
#define KS8695_INTMAKS_HPNA_BUF_TX_STATUS      ( 1 << KS8695_INT_HPNA_BUF_TX_STATUS
 
268
#define KS8695_INTMASK_HPNA_RX_STATUS          ( 1 << KS8695_INT_HPNA_RX_STATUS )
 
269
#define KS8695_INTMASK_HPNA_TX_STATUS          ( 1 << KS8695_INT_HPNA_TX_STATUS )
 
270
#define KS8695_INTMASK_BUS_ERROR               ( 1 << KS8695_INT_BUS_ERROR )
 
271
#define KS8695_INTMASK_WAN_STOP_RX             ( 1 << KS8695_INT_WAN_STOP_RX )
 
272
#define KS8695_INTMASK_WAN_STOP_TX             ( 1 << KS8695_INT_WAN_STOP_TX )
 
273
#define KS8695_INTMASK_WAN_BUF_RX_STATUS       ( 1 << KS8695_INT_WAN_BUF_RX_STATUS )
 
274
#define KS8695_INTMASK_WAN_BUF_TX_STATUS       ( 1 << KS8695_INT_WAN_BUF_TX_STATUS )
 
275
#define KS8695_INTMASK_WAN_RX_STATUS           ( 1 << KS8695_INT_WAN_RX_STATUS )
 
276
#define KS8695_INTMASK_WAN_TX_STATUS           ( 1 << KS8695_INT_WAN_TX_STATUS )
 
277
 
 
278
#define KS8695_SC_VALID_INT                    0xFFFFFFFF
 
279
#define MAXIRQNUM                              31
 
280
 
 
281
/*
 
282
 *  Timer definitions
 
283
 *
 
284
 *  Use timer 1 & 2
 
285
 *  (both run at 25MHz).
 
286
 *
 
287
 */
 
288
#define TICKS_PER_uSEC                  25
 
289
#define mSEC_1                          1000
 
290
#define mSEC_10                         (mSEC_1 * 10)
 
291
 
 
292
#endif
 
293
 
 
294
/*      END */