source: rtems/c/src/lib/libbsp/sparc/shared/include/grlib.h @ c5b1e20

4.115
Last change on this file since c5b1e20 was c5b1e20, checked in by Sebastian Huber <sebastian.huber@…>, on 02/26/14 at 11:14:27

bsp/leon3: Add L2C registers

  • Property mode set to 100644
File size: 3.6 KB
Line 
1/**
2 * @file
3 * @ingroup amba
4 * @brief Common GRLIB AMBA Core Register definitions
5 */
6
7/*
8 *  COPYRIGHT (c) 2012
9 *  Aeroflex Gaisler
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.rtems.com/license/LICENSE.
14 */
15
16#ifndef __GRLIB_H__
17#define __GRLIB_H__
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/* ESA MEMORY CONTROLLER */
24struct mctrl_regs {
25  unsigned int mcfg1;
26  unsigned int mcfg2;
27  unsigned int mcfg3;
28};
29
30/* APB UART */
31struct apbuart_regs {
32  volatile unsigned int data;
33  volatile unsigned int status;
34  volatile unsigned int ctrl;
35  volatile unsigned int scaler;
36};
37
38/* IRQMP and IRQAMP interrupt controllers */
39struct irqmp_regs {
40  volatile unsigned int ilevel;      /* 0x00 */
41  volatile unsigned int ipend;       /* 0x04 */
42  volatile unsigned int iforce;      /* 0x08 */
43  volatile unsigned int iclear;      /* 0x0c */
44  volatile unsigned int mpstat;      /* 0x10 */
45  volatile unsigned int bcast;       /* 0x14 */
46  volatile unsigned int notused02;   /* 0x18 */
47  volatile unsigned int notused03;   /* 0x1c */
48  volatile unsigned int ampctrl;     /* 0x20 */
49  volatile unsigned int icsel[2];    /* 0x24,0x28 */
50  volatile unsigned int notused13;   /* 0x2c */
51  volatile unsigned int notused20;   /* 0x30 */
52  volatile unsigned int notused21;   /* 0x34 */
53  volatile unsigned int notused22;   /* 0x38 */
54  volatile unsigned int notused23;   /* 0x3c */
55  volatile unsigned int mask[16];    /* 0x40 */
56  volatile unsigned int force[16];   /* 0x80 */
57  /* Extended IRQ registers */
58  volatile unsigned int intid[16];   /* 0xc0 */
59  /* 0x100, align to 4Kb boundary */
60  volatile unsigned int resv1[(0x1000-0x100)/4];
61};
62
63/* GPTIMER Timer instance */
64struct gptimer_timer_regs {
65  volatile unsigned int value;
66  volatile unsigned int reload;
67  volatile unsigned int ctrl;
68  volatile unsigned int notused;
69};
70
71/* GPTIMER common registers */
72struct gptimer_regs {
73  volatile unsigned int scaler_value;   /* common timer registers */
74  volatile unsigned int scaler_reload;
75  volatile unsigned int cfg;
76  volatile unsigned int notused;
77  struct gptimer_timer_regs timer[7];
78};
79
80/* GRGPIO GPIO */
81struct grgpio_regs {
82  volatile unsigned int data;        /* 0x00 I/O port data register */
83  volatile unsigned int output;      /* 0x04 I/O port output register */
84  volatile unsigned int dir;         /* 0x08 I/O port direction register */
85  volatile unsigned int imask;       /* 0x0C Interrupt mask register */
86  volatile unsigned int ipol;        /* 0x10 Interrupt polarity register */
87  volatile unsigned int iedge;       /* 0x14 Interrupt edge register */
88  volatile unsigned int bypass;      /* 0x18 Bypass register */
89};
90
91/* L2C - Level 2 Cache Controller registers */
92struct l2c_regs {
93  volatile unsigned int control;
94  volatile unsigned int status;
95  volatile unsigned int flush_mem_addr;
96  volatile unsigned int flush_set_index;
97  volatile unsigned int access_counter;
98  volatile unsigned int hit_counter;
99  volatile unsigned int bus_cycle_counter;
100  volatile unsigned int bus_usage_counter;
101  volatile unsigned int error_status_control;
102  volatile unsigned int error_addr;
103  volatile unsigned int tag_check_bit;
104  volatile unsigned int data_check_bit;
105  volatile unsigned int scrub_control_status;
106  volatile unsigned int scrub_delay;
107  volatile unsigned int error_injection;
108  volatile unsigned int reserved_3c[17];
109  volatile unsigned int mtrr;
110  volatile unsigned int reserved_84[131039];
111  volatile unsigned int diag_iface_tag[16384];
112  volatile unsigned int reserved_90000[376832];
113  volatile unsigned int diag_iface_data[524288];
114};
115
116#ifdef __cplusplus
117}
118#endif
119
120#endif
Note: See TracBrowser for help on using the repository browser.