OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [software/] [leon3/] [leon2.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
 
2
/* control structure */
3
 
4
#ifndef __ASSEMBLER__
5
 
6
struct l2regs {
7
        volatile unsigned int memcfg1;          /* 0x00 */
8
        volatile unsigned int memcfg2;
9
        volatile unsigned int ectrl;
10
        volatile unsigned int failaddr;
11
        volatile unsigned int memstatus;                /* 0x10 */
12
        volatile unsigned int cachectrl;
13
        volatile unsigned int powerdown;
14
        volatile unsigned int writeprot1;
15
        volatile unsigned int writeprot2;       /* 0x20 */
16
        volatile unsigned int leonconf;
17
        volatile unsigned int dummy2;
18
        volatile unsigned int dummy3;
19
        volatile unsigned int dummy4;           /* 0x30 */
20
        volatile unsigned int dummy5;
21
        volatile unsigned int dummy6;
22
        volatile unsigned int dummy7;
23
        volatile unsigned int timercnt1;                /* 0x40 */
24
        volatile unsigned int timerload1;
25
        volatile unsigned int timerctrl1;
26
        volatile unsigned int wdog;
27
        volatile unsigned int timercnt2;
28
        volatile unsigned int timerload2;
29
        volatile unsigned int timerctrl2;
30
        volatile unsigned int dummy8;
31
        volatile unsigned int scalercnt;
32
        volatile unsigned int scalerload;
33
        volatile unsigned int dummy9;
34
        volatile unsigned int dummy10;
35
        volatile unsigned int uartdata1;
36
        volatile unsigned int uartstatus1;
37
        volatile unsigned int uartctrl1;
38
        volatile unsigned int uartscaler1;
39
        volatile unsigned int uartdata2;
40
        volatile unsigned int uartstatus2;
41
        volatile unsigned int uartctrl2;
42
        volatile unsigned int uartscaler2;
43
        volatile unsigned int irqmask;
44
        volatile unsigned int irqpend;
45
        volatile unsigned int irqforce;
46
        volatile unsigned int irqclear;
47
        volatile unsigned int piodata;
48
        volatile unsigned int piodir;
49
        volatile unsigned int pioirq[2];
50
        volatile unsigned int imask2;
51
        volatile unsigned int ipend2;
52
        volatile unsigned int istat2;
53
        volatile unsigned int dummy12;
54
        volatile unsigned int dcomdata;
55
        volatile unsigned int dcomstatus;
56
        volatile unsigned int dcomctrl;
57
        volatile unsigned int dcomscaler;
58
        volatile unsigned int wprot1a;
59
        volatile unsigned int wprot1e;
60
        volatile unsigned int wprot2a;
61
        volatile unsigned int wprot2e;
62
};
63
 
64
 
65
#endif
66
 
67
/* control registers */
68
 
69
#define PREGS   0x80000000
70
#define MCFG1   0x00
71
#define MCFG2   0x04
72
#define MCFG3   0x08
73
#define ECTRL   0x08
74
#define FADDR   0x0c
75
#define MSTAT   0x10
76
#define CCTRL   0x14
77
#define PWDOWN  0x18
78
#define WPROT1  0x1C
79
#define WPROT2  0x20
80
#define LCONF   0x24
81
#define TCNT0   0x40
82
#define TRLD0   0x44
83
#define TCTRL0  0x48
84
#define TCNT1   0x50
85
#define TRLD1   0x54
86
#define TCTRL1  0x58
87
#define SCNT    0x60
88
#define SRLD    0x64
89
#define UDATA0  0x70
90
#define USTAT0  0x74
91
#define UCTRL0  0x78
92
#define USCAL0  0x7c
93
#define UDATA1  0x80
94
#define USTAT1  0x84
95
#define UCTRL1  0x88
96
#define USCAL1  0x8c
97
#define IMASK   0x90
98
#define IPEND   0x94
99
#define IFORCE  0x98
100
#define ICLEAR  0x9c
101
#define IOREG   0xA0
102
#define IODIR   0xA4
103
#define IOICONF 0xA8
104
#define IMASK2  0xB0
105
#define IPEND2  0xB4
106
#define ISTAT2  0xB8
107
#define ICLEAR2 0xB8
108
 
109
/* ASI codes */
110
 
111
#define ASI_PCI         0x4
112
#define ASI_ITAG        0xC
113
#define ASI_IDATA       0xD
114
#define ASI_DTAG        0xE
115
#define ASI_DDATA       0xF
116
 
117
/* memory areas */
118
 
119
#define CRAM    0x40000000
120
#define SDRAM   0x60000000
121
#define IOAREA  0x20000000
122
 
123
/* Some bit field masks */
124
 
125
#define CCTRL_FLUSHING_MASK 0x0c000
126
 
127
#define RFE_CONF_BIT    30
128
#define RFE_CONF_MASK   3
129
#define CPP_CONF_BIT    19
130
#define CPP_CONF_MASK   3
131
#define FPU_CONF_BIT    4
132
#define FPU_CONF_MASK   3
133
#define CPTE_MASK       (3 << 17)
134
#define MUL_CONF_BIT    8       
135
#define MAC_CONF_BIT    25      
136
#define DIV_CONF_BIT    9       
137
#define REDAC_CONF_BIT  9       
138
#define PEDAC_CONF_BIT  8       
139
#define MEDAC_CONF_BIT  27      
140
#define MMU_CONF_BIT    31
141
#define ITE_BIT         12
142
#define IDE_BIT         10
143
#define DTE_BIT         8
144
#define DDE_BIT         6
145
#define CE_CLEAR        0x3fc0;
146
 
147
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.