|
RTEMS 6.1-rc1
|
54 volatile uint32_t irq;
55 volatile uint32_t imask;
56 int unused0[(0x10-0x08)/4];
57 volatile uint32_t hwcfg;
59 int unused1[(0x40-0x14)/4];
62 volatile uint32_t bc_stat;
63 volatile uint32_t bc_ctrl;
64 volatile uint32_t bc_bd;
65 volatile uint32_t bc_abd;
66 volatile uint32_t bc_timer;
67 volatile uint32_t bc_wake;
68 volatile uint32_t bc_irqptr;
69 volatile uint32_t bc_busmsk;
71 int unused2[(0x68-0x60)/4];
73 volatile uint32_t bc_slot;
74 volatile uint32_t bc_aslot;
76 int unused3[(0x80-0x70)/4];
79 volatile uint32_t rt_stat;
80 volatile uint32_t rt_cfg;
81 volatile uint32_t rt_stat2;
82 volatile uint32_t rt_statw;
83 volatile uint32_t rt_sync;
84 volatile uint32_t rt_tab;
85 volatile uint32_t rt_mcctrl;
86 int unused4[(0xa4-0x9c)/4];
87 volatile uint32_t rt_ttag;
89 volatile uint32_t rt_evsz;
90 volatile uint32_t rt_evlog;
91 volatile uint32_t rt_evirq;
93 int unused6[(0xc0-0xb8)/4];
96 volatile uint32_t bm_stat;
97 volatile uint32_t bm_ctrl;
98 volatile uint32_t bm_adr;
99 volatile uint32_t bm_subadr;
100 volatile uint32_t bm_mc;
101 volatile uint32_t bm_start;
102 volatile uint32_t bm_end;
103 volatile uint32_t bm_pos;
104 volatile uint32_t bm_ttag;
107#define GR1553BC_KEY 0x15520000
108#define GR1553RT_KEY 0x15530000
111#define GR1553BC_IRQLOG_SIZE 64
112#define GR1553BC_IRQLOG_CNT (GR1553BC_IRQLOG_SIZE/sizeof(uint32_t))
115#define GR1553B_IRQ_BCEV_BIT 0
116#define GR1553B_IRQ_BCD_BIT 1
117#define GR1553B_IRQ_BCWK_BIT 2
118#define GR1553B_IRQ_RTEV_BIT 8
119#define GR1553B_IRQ_RTD_BIT 9
120#define GR1553B_IRQ_RTTE_BIT 10
121#define GR1553B_IRQ_BMD_BIT 16
122#define GR1553B_IRQ_BMTOF_BIT 17
124#define GR1553B_IRQ_BCEV (1<<GR1553B_IRQ_BCEV_BIT)
125#define GR1553B_IRQ_BCD (1<<GR1553B_IRQ_BCD_BIT)
126#define GR1553B_IRQ_BCWK (1<<GR1553B_IRQ_BCWK_BIT)
127#define GR1553B_IRQ_RTEV (1<<GR1553B_IRQ_RTEV_BIT)
128#define GR1553B_IRQ_RTD (1<<GR1553B_IRQ_RTD_BIT)
129#define GR1553B_IRQ_RTTE (1<<GR1553B_IRQ_RTTE_BIT)
130#define GR1553B_IRQ_BMD (1<<GR1553B_IRQ_BMD_BIT)
131#define GR1553B_IRQ_BMTOF (1<<GR1553B_IRQ_BMTOF_BIT)
134#define GR1553B_IRQEN_BCEVE_BIT 0
135#define GR1553B_IRQEN_BCDE_BIT 1
136#define GR1553B_IRQEN_BCWKE_BIT 2
137#define GR1553B_IRQEN_RTEVE_BIT 8
138#define GR1553B_IRQEN_RTDE_BIT 9
139#define GR1553B_IRQEN_RTTEE_BIT 10
140#define GR1553B_IRQEN_BMDE_BIT 16
141#define GR1553B_IRQEN_BMTOE_BIT 17
143#define GR1553B_IRQEN_BCEVE (1<<GR1553B_IRQEN_BCEVE_BIT)
144#define GR1553B_IRQEN_BCDE (1<<GR1553B_IRQEN_BCDE_BIT)
145#define GR1553B_IRQEN_BCWKE (1<<GR1553B_IRQEN_BCWKE_BIT)
146#define GR1553B_IRQEN_RTEVE (1<<GR1553B_IRQEN_RTEVE_BIT)
147#define GR1553B_IRQEN_RTDE (1<<GR1553B_IRQEN_RTDE_BIT)
148#define GR1553B_IRQEN_RTTEE (1<<GR1553B_IRQEN_RTTEE_BIT)
149#define GR1553B_IRQEN_BMDE (1<<GR1553B_IRQEN_BMDE_BIT)
150#define GR1553B_IRQEN_BMTOE (1<<GR1553B_IRQEN_BMTOE_BIT)
153#define GR1553B_BC_STAT_SCST_BIT 0
154#define GR1553B_BC_STAT_SCADL_BIT 3
155#define GR1553B_BC_STAT_ASST_BIT 8
156#define GR1553B_BC_STAT_ASADL_BIT 11
157#define GR1553B_BC_STAT_BCSUP_BIT 31
159#define GR1553B_BC_STAT_SCST (0x3<<GR1553B_BC_STAT_SCST_BIT)
160#define GR1553B_BC_STAT_SCADL (0x1f<<GR1553B_BC_STAT_SCADL_BIT)
161#define GR1553B_BC_STAT_ASST (0x3<<GR1553B_BC_STAT_ASST_BIT)
162#define GR1553B_BC_STAT_ASADL (0x1f<<GR1553B_BC_STAT_ASADL_BIT)
163#define GR1553B_BC_STAT_BCSUP (1<<GR1553B_BC_STAT_BCSUP_BIT)
166#define GR1553B_BC_ACT_SCSRT_BIT 0
167#define GR1553B_BC_ACT_SCSUS_BIT 1
168#define GR1553B_BC_ACT_SCSTP_BIT 2
169#define GR1553B_BC_ACT_SETT_BIT 3
170#define GR1553B_BC_ACT_CLRT_BIT 4
171#define GR1553B_BC_ACT_ASSRT_BIT 8
172#define GR1553B_BC_ACT_ASSTP_BIT 9
173#define GR1553B_BC_ACT_BCKEY_BIT 16
175#define GR1553B_BC_ACT_SCSRT (1<<GR1553B_BC_ACT_SCSRT_BIT)
176#define GR1553B_BC_ACT_SCSUS (1<<GR1553B_BC_ACT_SCSUS_BIT)
177#define GR1553B_BC_ACT_SCSTP (1<<GR1553B_BC_ACT_SCSTP_BIT)
178#define GR1553B_BC_ACT_SETT (1<<GR1553B_BC_ACT_SETT_BIT)
179#define GR1553B_BC_ACT_CLRT (1<<GR1553B_BC_ACT_CLRT_BIT)
180#define GR1553B_BC_ACT_ASSRT (1<<GR1553B_BC_ACT_ASSRT_BIT)
181#define GR1553B_BC_ACT_ASSTP (1<<GR1553B_BC_ACT_ASSTP_BIT)
182#define GR1553B_BC_ACT_BCKEY (0xffff<<GR1553B_BC_ACT_BCKEY_BIT)
185#define GR1553B_BC_TIMER_SCTM_BIT 0
187#define GR1553B_BC_TIMER_SCTM (0xffffff<<GR1553B_BC_TIMER_SCTM_BIT)
190#define GR1553B_BC_WAKE_TIME_BIT 0
191#define GR1553B_BC_WAKE_WKEN_BIT 31
193#define GR1553B_BC_WAKE_TIME (0xffffff<<GR1553B_BC_WAKE_TIME_BIT)
194#define GR1553B_BC_WAKE_WKEN (1<GR1553B_BC_WAKE_WKEN_BIT)
197#define GR1553B_RT_STAT_RUN_BIT 0
198#define GR1553B_RT_STAT_SHDB_BIT 1
199#define GR1553B_RT_STAT_SHDA_BIT 2
200#define GR1553B_RT_STAT_ACT_BIT 3
201#define GR1553B_RT_STAT_RTSUP_BIT 31
203#define GR1553B_RT_STAT_RUN (1<<GR1553B_RT_STAT_RUN_BIT)
204#define GR1553B_RT_STAT_SHDB (1<<GR1553B_RT_STAT_SHDB_BIT)
205#define GR1553B_RT_STAT_SHDA (1<<GR1553B_RT_STAT_SHDA_BIT)
206#define GR1553B_RT_STAT_ACT (1<<GR1553B_RT_STAT_ACT_BIT)
207#define GR1553B_RT_STAT_RTSUP (1<<GR1553B_RT_STAT_RTSUP_BIT)
211#define GR1553B_RT_CFG_RTEN_BIT 0
212#define GR1553B_RT_CFG_RTADDR_BIT 1
213#define GR1553B_RT_CFG_RTKEY_BIT 16
215#define GR1553B_RT_CFG_RTEN (1<<GR1553B_RT_CFG_RTEN_BIT)
216#define GR1553B_RT_CFG_RTADDR (1<<GR1553B_RT_CFG_RTADDR_BIT)
217#define GR1553B_RT_CFG_RTKEY (0xffff<<GR1553B_RT_CFG_RTKEY_BIT)
220#define GR1553B_RT_STAT2_TFLG_BIT 0
221#define GR1553B_RT_STAT2_DBCA_BIT 1
222#define GR1553B_RT_STAT2_SSF_BIT 2
223#define GR1553B_RT_STAT2_BUSY_BIT 3
224#define GR1553B_RT_STAT2_SREQ_BIT 4
225#define GR1553B_RT_STAT2_TFDE_BIT 8
227#define GR1553B_RT_STAT2_TFLG (1<<GR1553B_RT_STAT2_TFLG_BIT)
228#define GR1553B_RT_STAT2_DBCA (1<<GR1553B_RT_STAT2_DBCA_BIT)
229#define GR1553B_RT_STAT2_SSF (1<<GR1553B_RT_STAT2_SSF_BIT)
230#define GR1553B_RT_STAT2_BUSY (1<<GR1553B_RT_STAT2_BUSY_BIT)
231#define GR1553B_RT_STAT2_SREQ (1<<GR1553B_RT_STAT2_SREQ_BIT)
232#define GR1553B_RT_STAT2_TFDE (1<<GR1553B_RT_STAT2_TFDE_BIT)
235#define GR1553B_RT_STATW_VECW_BIT 0
236#define GR1553B_RT_STATW_BITW_BIT 16
238#define GR1553B_RT_STATW_VECW (0xffff<<GR1553B_RT_STATW_VECW_BIT)
239#define GR1553B_RT_STATW_BITW (0xffff<<GR1553B_RT_STATW_BITW_BIT)
242#define GR1553B_RT_SYNC_SYD_BIT 0
243#define GR1553B_RT_SYNC_SYTM_BIT 16
245#define GR1553B_RT_SYNC_SYD (0xffff<<GR1553B_RT_SYNC_SYD_BIT)
246#define GR1553B_RT_SYNC_SYTM (0xffff<<GR1553B_RT_SYNC_SYTM_BIT)
249#define GR1553B_RT_TAB_SATB_BIT 0
251#define GR1553B_RT_TAB_SATB (0xffff<<GR1553B_RT_TAB_SATB_BIT)
254#define GR1553B_RT_MCCTRL_S_BIT 0
255#define GR1553B_RT_MCCTRL_SB_BIT 2
256#define GR1553B_RT_MCCTRL_SD_BIT 4
257#define GR1553B_RT_MCCTRL_SDB_BIT 6
258#define GR1553B_RT_MCCTRL_TS_BIT 8
259#define GR1553B_RT_MCCTRL_TSB_BIT 10
260#define GR1553B_RT_MCCTRL_TVW_BIT 12
261#define GR1553B_RT_MCCTRL_TBW_BIT 14
262#define GR1553B_RT_MCCTRL_DBC_BIT 16
263#define GR1553B_RT_MCCTRL_IST_BIT 18
264#define GR1553B_RT_MCCTRL_ISTB_BIT 20
265#define GR1553B_RT_MCCTRL_ITF_BIT 22
266#define GR1553B_RT_MCCTRL_ITFB_BIT 24
267#define GR1553B_RT_MCCTRL_RRT_BIT 26
268#define GR1553B_RT_MCCTRL_RRTB_BIT 28
270#define GR1553B_RT_MCCTRL_S (1<<GR1553B_RT_MCCTRL_S_BIT)
271#define GR1553B_RT_MCCTRL_SB (1<<GR1553B_RT_MCCTRL_SB_BIT)
272#define GR1553B_RT_MCCTRL_SD (1<<GR1553B_RT_MCCTRL_SD_BIT)
273#define GR1553B_RT_MCCTRL_SDB (1<<GR1553B_RT_MCCTRL_SDB_BIT)
274#define GR1553B_RT_MCCTRL_TS (1<<GR1553B_RT_MCCTRL_TS_BIT)
275#define GR1553B_RT_MCCTRL_TSB (1<<GR1553B_RT_MCCTRL_TSB_BIT)
276#define GR1553B_RT_MCCTRL_TVW (1<<GR1553B_RT_MCCTRL_TVW_BIT)
277#define GR1553B_RT_MCCTRL_TBW (1<<GR1553B_RT_MCCTRL_TBW_BIT)
278#define GR1553B_RT_MCCTRL_DBC (1<<GR1553B_RT_MCCTRL_DBC_BIT)
279#define GR1553B_RT_MCCTRL_IST (1<<GR1553B_RT_MCCTRL_IST_BIT)
280#define GR1553B_RT_MCCTRL_ISTB (1<<GR1553B_RT_MCCTRL_ISTB_BIT)
281#define GR1553B_RT_MCCTRL_ITF (1<<GR1553B_RT_MCCTRL_ITF_BIT)
282#define GR1553B_RT_MCCTRL_ITFB (1<<GR1553B_RT_MCCTRL_ITFB_BIT)
283#define GR1553B_RT_MCCTRL_RRT (1<<GR1553B_RT_MCCTRL_RRT_BIT)
284#define GR1553B_RT_MCCTRL_RRTB (1<<GR1553B_RT_MCCTRL_RRTB_BIT)
287#define GR1553B_RT_TTAG_TVAL_BIT 0
288#define GR1553B_RT_TTAG_TRES_BIT 16
290#define GR1553B_RT_TTAG_TVAL (0xffff<<GR1553B_RT_TTAG_TVAL_BIT)
291#define GR1553B_RT_TTAG_TRES (0xffff<<GR1553B_RT_TTAG_TRES_BIT)
294#define GR1553B_BM_STAT_BMSUP_BIT 31
296#define GR1553B_BM_STAT_BMSUP (1<<GR1553B_BM_STAT_BMSUP_BIT)
299#define GR1553B_BM_CTRL_BMEN_BIT 0
300#define GR1553B_BM_CTRL_MANL_BIT 1
301#define GR1553B_BM_CTRL_UDWL_BIT 2
302#define GR1553B_BM_CTRL_IMCL_BIT 3
304#define GR1553B_BM_CTRL_BMEN (1<<GR1553B_BM_CTRL_BMEN_BIT)
305#define GR1553B_BM_CTRL_MANL (1<<GR1553B_BM_CTRL_MANL_BIT)
306#define GR1553B_BM_CTRL_UDWL (1<<GR1553B_BM_CTRL_UDWL_BIT)
307#define GR1553B_BM_CTRL_IMCL (1<<GR1553B_BM_CTRL_IMCL_BIT)
310#define GR1553B_BM_MC_S_BIT 0
311#define GR1553B_BM_MC_SB_BIT 1
312#define GR1553B_BM_MC_SD_BIT 2
313#define GR1553B_BM_MC_SDB_BIT 3
314#define GR1553B_BM_MC_TS_BIT 4
315#define GR1553B_BM_MC_TSB_BIT 5
316#define GR1553B_BM_MC_TVW_BIT 6
317#define GR1553B_BM_MC_TBW_BIT 7
318#define GR1553B_BM_MC_DBC_BIT 8
319#define GR1553B_BM_MC_IST_BIT 9
320#define GR1553B_BM_MC_ISTB_BIT 10
321#define GR1553B_BM_MC_ITF_BIT 11
322#define GR1553B_BM_MC_ITFB_BIT 12
323#define GR1553B_BM_MC_RRT_BIT 13
324#define GR1553B_BM_MC_RRTB_BIT 14
325#define GR1553B_BM_MC_TSW_BIT 15
326#define GR1553B_BM_MC_TLC_BIT 16
327#define GR1553B_BM_MC_STS_BIT 17
328#define GR1553B_BM_MC_STSB_BIT 18
330#define GR1553B_BM_MC_S (1<<GR1553B_BM_MC_S_BIT)
331#define GR1553B_BM_MC_SB (1<<GR1553B_BM_MC_SB_BIT)
332#define GR1553B_BM_MC_SD (1<<GR1553B_BM_MC_SD_BIT)
333#define GR1553B_BM_MC_SDB (1<<GR1553B_BM_MC_SDB_BIT)
334#define GR1553B_BM_MC_TS (1<<GR1553B_BM_MC_TS_BIT)
335#define GR1553B_BM_MC_TSB (1<<GR1553B_BM_MC_TSB_BIT)
336#define GR1553B_BM_MC_TVW (1<<GR1553B_BM_MC_TVW_BIT)
337#define GR1553B_BM_MC_TBW (1<<GR1553B_BM_MC_TBW_BIT)
338#define GR1553B_BM_MC_DBC (1<<GR1553B_BM_MC_DBC_BIT)
339#define GR1553B_BM_MC_IST (1<<GR1553B_BM_MC_IST_BIT)
340#define GR1553B_BM_MC_ISTB (1<<GR1553B_BM_MC_ISTB_BIT)
341#define GR1553B_BM_MC_ITF (1<<GR1553B_BM_MC_ITF_BIT)
342#define GR1553B_BM_MC_ITFB (1<<GR1553B_BM_MC_ITFB_BIT)
343#define GR1553B_BM_MC_RRT (1<<GR1553B_BM_MC_RRT_BIT)
344#define GR1553B_BM_MC_RRTB (1<<GR1553B_BM_MC_RRTB_BIT)
345#define GR1553B_BM_MC_TSW (1<<GR1553B_BM_MC_TSW_BIT)
346#define GR1553B_BM_MC_TLC (1<<GR1553B_BM_MC_TLC_BIT)
347#define GR1553B_BM_MC_STS (1<<GR1553B_BM_MC_STS_BIT)
348#define GR1553B_BM_MC_STSB (1<<GR1553B_BM_MC_STSB_BIT)
351#define GR1553B_BM_TTAG_VAL_BIT 0
352#define GR1553B_BM_TTAG_RES_BIT 24
354#define GR1553B_BM_TTAG_VAL (0xffffff<<GR1553B_BM_TTAG_VAL_BIT)
355#define GR1553B_BM_TTAG_RES (0xff<<GR1553B_BM_TTAG_RES_BIT)
358extern void gr1553_register(
void);
364extern struct drvmgr_dev **gr1553_bc_open(
int minor);
366extern void gr1553_bc_close(
struct drvmgr_dev **dev);
372extern struct drvmgr_dev **gr1553_rt_open(
int minor);
374extern void gr1553_rt_close(
struct drvmgr_dev **dev);
380extern struct drvmgr_dev **gr1553_bm_open(
int minor);
382extern void gr1553_bm_close(
struct drvmgr_dev **dev);