hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
/*
 * mcf5271.h -- Definitions for Motorola Coldfire 5271
 *
 * (C) Copyright 2006, Lab X Technologies <zachary.landau@labxtechnologies.com>
 * Based on mcf5272sim.h of uCLinux distribution:
 *      (C) Copyright 1999, Greg Ungerer (gerg@snapgear.com)
 *      (C) Copyright 2000, Lineo Inc. (www.lineo.com)
 *
 * SPDX-License-Identifier:    GPL-2.0+
 */
 
#ifndef    _MCF5271_H_
#define    _MCF5271_H_
 
#define mbar_readLong(x)    *((volatile unsigned long *) (CONFIG_SYS_MBAR + x))
#define mbar_readShort(x)    *((volatile unsigned short *) (CONFIG_SYS_MBAR + x))
#define mbar_readByte(x)    *((volatile unsigned char *) (CONFIG_SYS_MBAR + x))
#define mbar_writeLong(x,y)    *((volatile unsigned long *) (CONFIG_SYS_MBAR + x)) = y
#define mbar_writeShort(x,y)    *((volatile unsigned short *) (CONFIG_SYS_MBAR + x)) = y
#define mbar_writeByte(x,y)    *((volatile unsigned char *) (CONFIG_SYS_MBAR + x)) = y
 
#define MCF_FMPLL_SYNCR                0x120000
#define MCF_FMPLL_SYNSR                0x120004
 
#define MCF_FMPLL_SYNCR_MFD(x)            ((x&0x7)<<24)
#define MCF_SYNCR_MFD_4X        0x00000000
#define MCF_SYNCR_MFD_6X        0x01000000
#define MCF_SYNCR_MFD_8X        0x02000000
#define MCF_SYNCR_MFD_10X        0x03000000
#define MCF_SYNCR_MFD_12X        0x04000000
#define MCF_SYNCR_MFD_14X        0x05000000
#define MCF_SYNCR_MFD_16X        0x06000000
#define MCF_SYNCR_MFD_18X        0x07000000
 
#define MCF_FMPLL_SYNCR_RFD(x)            ((x&0x7)<<19)
#define MCF_SYNCR_RFD_DIV1        0x00000000
#define MCF_SYNCR_RFD_DIV2        0x00080000
#define MCF_SYNCR_RFD_DIV4        0x00100000
#define MCF_SYNCR_RFD_DIV8        0x00180000
#define MCF_SYNCR_RFD_DIV16        0x00200000
#define MCF_SYNCR_RFD_DIV32        0x00280000
#define MCF_SYNCR_RFD_DIV64        0x00300000
#define MCF_SYNCR_RFD_DIV128        0x00380000
 
#define MCF_FMPLL_SYNSR_LOCK            0x8
 
#define MCF_WTM_WCR                0x140000
#define MCF_WTM_WCNTR                0x140004
#define MCF_WTM_WSR                0x140006
#define MCF_WTM_WCR_EN                0x0001
 
#define MCF_RCM_RCR                0x110000
#define MCF_RCM_RCR_FRCRSTOUT            0x40
#define MCF_RCM_RCR_SOFTRST            0x80
 
#define MCF_GPIO_PODR_ADDR            0x100000
#define MCF_GPIO_PODR_DATAH            0x100001
#define MCF_GPIO_PODR_DATAL            0x100002
#define MCF_GPIO_PODR_BUSCTL            0x100003
#define MCF_GPIO_PODR_BS            0x100004
#define MCF_GPIO_PODR_CS            0x100005
#define MCF_GPIO_PODR_SDRAM            0x100006
#define MCF_GPIO_PODR_FECI2C            0x100007
#define MCF_GPIO_PODR_UARTH            0x100008
#define MCF_GPIO_PODR_UARTL            0x100009
#define MCF_GPIO_PODR_QSPI            0x10000A
#define MCF_GPIO_PODR_TIMER            0x10000B
 
#define MCF_GPIO_PDDR_ADDR            0x100010
#define MCF_GPIO_PDDR_DATAH            0x100011
#define MCF_GPIO_PDDR_DATAL            0x100012
#define MCF_GPIO_PDDR_BUSCTL            0x100013
#define MCF_GPIO_PDDR_BS            0x100014
#define MCF_GPIO_PDDR_CS            0x100015
#define MCF_GPIO_PDDR_SDRAM            0x100016
#define MCF_GPIO_PDDR_FECI2C            0x100017
#define MCF_GPIO_PDDR_UARTH            0x100018
#define MCF_GPIO_PDDR_UARTL            0x100019
#define MCF_GPIO_PDDR_QSPI            0x10001A
#define MCF_GPIO_PDDR_TIMER            0x10001B
 
#define MCF_GPIO_PPDSDR_ADDR            0x100020
#define MCF_GPIO_PPDSDR_DATAH            0x100021
#define MCF_GPIO_PPDSDR_DATAL            0x100022
#define MCF_GPIO_PPDSDR_BUSCTL            0x100023
#define MCF_GPIO_PPDSDR_BS            0x100024
#define MCF_GPIO_PPDSDR_CS            0x100025
#define MCF_GPIO_PPDSDR_SDRAM            0x100026
#define MCF_GPIO_PPDSDR_FECI2C            0x100027
#define MCF_GPIO_PPDSDR_UARTH            0x100028
#define MCF_GPIO_PPDSDR_UARTL            0x100029
#define MCF_GPIO_PPDSDR_QSPI            0x10002A
#define MCF_GPIO_PPDSDR_TIMER            0x10002B
 
#define MCF_GPIO_PCLRR_ADDR            0x100030
#define MCF_GPIO_PCLRR_DATAH            0x100031
#define MCF_GPIO_PCLRR_DATAL            0x100032
#define MCF_GPIO_PCLRR_BUSCTL            0x100033
#define MCF_GPIO_PCLRR_BS            0x100034
#define MCF_GPIO_PCLRR_CS            0x100035
#define MCF_GPIO_PCLRR_SDRAM            0x100036
#define MCF_GPIO_PCLRR_FECI2C            0x100037
#define MCF_GPIO_PCLRR_UARTH            0x100038
#define MCF_GPIO_PCLRR_UARTL            0x100039
#define MCF_GPIO_PCLRR_QSPI            0x10003A
#define MCF_GPIO_PCLRR_TIMER            0x10003B
 
#define MCF_GPIO_PAR_AD                0x100040
#define MCF_GPIO_PAR_BUSCTL            0x100042
#define MCF_GPIO_PAR_BS                0x100044
#define MCF_GPIO_PAR_CS                0x100045
#define MCF_GPIO_PAR_SDRAM            0x100046
#define MCF_GPIO_PAR_FECI2C            0x100047
#define MCF_GPIO_PAR_UART            0x100048
#define MCF_GPIO_PAR_QSPI            0x10004A
#define MCF_GPIO_PAR_TIMER            0x10004C
 
#define MCF_DSCR_EIM                0x100050
#define MCF_DCSR_FEC12C             0x100052
#define MCF_DCSR_UART                0x100053
#define MCF_DCSR_QSPI                0x100054
#define MCF_DCSR_TIMER                0x100055
 
#define MCF_CCM_CIR                0x11000A
#define MCF_CCM_CIR_PRN_MASK            0x3F
#define MCF_CCM_CIR_PIN_LEN            6
#define MCF_CCM_CIR_PIN_MCF5270            0x002e
#define MCF_CCM_CIR_PIN_MCF5271            0x0032
 
#define MCF_GPIO_AD_ADDR23            0x80
#define MCF_GPIO_AD_ADDR22            0x40
#define MCF_GPIO_AD_ADDR21            0x20
#define MCF_GPIO_AD_DATAL            0x01
#define MCF_GPIO_AD_MASK            0xe1
 
#define MCF_GPIO_PAR_CS_PAR_CS2            0x04
 
#define MCF_GPIO_SDRAM_CSSDCS_00        0x00    /* CS[3:2] pins: CS3, CS2 */
#define MCF_GPIO_SDRAM_CSSDCS_01        0x40    /* CS[3:2] pins: CS3, SD_CS0 */
#define MCF_GPIO_SDRAM_CSSDCS_10        0x80    /* CS[3:2] pins: SD_CS1, SC2 */
#define MCF_GPIO_SDRAM_CSSDCS_11        0xc0    /* CS[3:2] pins: SD_CS1, SD_CS0 */
#define MCF_GPIO_SDRAM_SDWE            0x20    /* WE pin */
#define MCF_GPIO_SDRAM_SCAS            0x10    /* CAS pin */
#define MCF_GPIO_SDRAM_SRAS            0x08    /* RAS pin */
#define MCF_GPIO_SDRAM_SCKE            0x04    /* CKE pin */
#define MCF_GPIO_SDRAM_SDCS_00            0x00    /* SD_CS[0:1] pins: GPIO, GPIO */
#define MCF_GPIO_SDRAM_SDCS_01            0x01    /* SD_CS[0:1] pins: GPIO, SD_CS0 */
#define MCF_GPIO_SDRAM_SDCS_10            0x02    /* SD_CS[0:1] pins: SD_CS1, GPIO */
#define MCF_GPIO_SDRAM_SDCS_11            0x03    /* SD_CS[0:1] pins: SD_CS1, SD_CS0 */
 
#define MCF_GPIO_PAR_UART_U0RTS            0x0001
#define MCF_GPIO_PAR_UART_U0CTS            0x0002
#define MCF_GPIO_PAR_UART_U0TXD            0x0004
#define MCF_GPIO_PAR_UART_U0RXD            0x0008
#define MCF_GPIO_PAR_UART_U1RXD_UART1        0x0C00
#define MCF_GPIO_PAR_UART_U1TXD_UART1        0x0300
 
/* Bit definitions and macros for PAR_QSPI */
#define MCF_GPIO_PAR_QSPI_PCS1_UNMASK        0x3F
#define MCF_GPIO_PAR_QSPI_PCS1_PCS1        0xC0
#define MCF_GPIO_PAR_QSPI_PCS1_SDRAM_SCKE    0x80
#define MCF_GPIO_PAR_QSPI_PCS1_GPIO        0x00
#define MCF_GPIO_PAR_QSPI_PCS0_UNMASK        0xDF
#define MCF_GPIO_PAR_QSPI_PCS0_PCS0        0x20
#define MCF_GPIO_PAR_QSPI_PCS0_GPIO        0x00
#define MCF_GPIO_PAR_QSPI_SIN_UNMASK        0xE7
#define MCF_GPIO_PAR_QSPI_SIN_SIN        0x18
#define MCF_GPIO_PAR_QSPI_SIN_I2C_SDA        0x10
#define MCF_GPIO_PAR_QSPI_SIN_GPIO        0x00
#define MCF_GPIO_PAR_QSPI_SOUT_UNMASK        0xFB
#define MCF_GPIO_PAR_QSPI_SOUT_SOUT        0x04
#define MCF_GPIO_PAR_QSPI_SOUT_GPIO        0x00
#define MCF_GPIO_PAR_QSPI_SCK_UNMASK        0xFC
#define MCF_GPIO_PAR_QSPI_SCK_SCK        0x03
#define MCF_GPIO_PAR_QSPI_SCK_I2C_SCL        0x02
#define MCF_GPIO_PAR_QSPI_SCK_GPIO        0x00
 
/* Bit definitions and macros for PAR_TIMER for QSPI */
#define MCF_GPIO_PAR_TIMER_T3IN_UNMASK        0x3FFF
#define MCF_GPIO_PAR_TIMER_T3IN_QSPI_PCS2    0x4000
#define MCF_GPIO_PAR_TIMER_T3OUT_UNMASK        0xFF3F
#define MCF_GPIO_PAR_TIMER_T3OUT_QSPI_PCS3    0x0040
 
#define MCF_GPIO_PAR_SDRAM_PAR_CSSDCS(x)    (((x)&0x03)<<6)
 
#define MCF_SDRAMC_DCR                0x000040
#define MCF_SDRAMC_DACR0            0x000048
#define MCF_SDRAMC_DMR0                0x00004C
 
#define MCF_SDRAMC_DCR_RC(x)            (((x)&0x01FF)<<0)
#define MCF_SDRAMC_DCR_RTIM(x)            (((x)&0x0003)<<9)
#define MCF_SDRAMC_DCR_IS            0x0800
#define MCF_SDRAMC_DCR_COC            0x1000
#define MCF_SDRAMC_DCR_NAM            0x2000
 
#define MCF_SDRAMC_DACRn_IP            0x00000008
#define MCF_SDRAMC_DACRn_PS(x)            (((x)&0x00000003)<<4)
#define MCF_SDRAMC_DACRn_MRS            0x00000040
#define MCF_SDRAMC_DACRn_CBM(x)            (((x)&0x00000007)<<8)
#define MCF_SDRAMC_DACRn_CASL(x)        (((x)&0x00000003)<<12)
#define MCF_SDRAMC_DACRn_RE            0x00008000
#define MCF_SDRAMC_DACRn_BA(x)            (((x)&0x00003FFF)<<18)
 
#define MCF_SDRAMC_DMRn_BAM_8M            0x007C0000
#define MCF_SDRAMC_DMRn_BAM_16M            0x00FC0000
#define MCF_SDRAMC_DMRn_V            0x00000001
 
#define MCFSIM_ICR1                0x000C41
 
/* Interrupt Controller (INTC) */
#define INT0_LO_RSVD0            (0)
#define INT0_LO_EPORT1            (1)
#define INT0_LO_EPORT2            (2)
#define INT0_LO_EPORT3            (3)
#define INT0_LO_EPORT4            (4)
#define INT0_LO_EPORT5            (5)
#define INT0_LO_EPORT6            (6)
#define INT0_LO_EPORT7            (7)
#define INT0_LO_SCM            (8)
#define INT0_LO_DMA0            (9)
#define INT0_LO_DMA1            (10)
#define INT0_LO_DMA2            (11)
#define INT0_LO_DMA3            (12)
#define INT0_LO_UART0            (13)
#define INT0_LO_UART1            (14)
#define INT0_LO_UART2            (15)
#define INT0_LO_RSVD1            (16)
#define INT0_LO_I2C            (17)
#define INT0_LO_QSPI            (18)
#define INT0_LO_DTMR0            (19)
#define INT0_LO_DTMR1            (20)
#define INT0_LO_DTMR2            (21)
#define INT0_LO_DTMR3            (22)
#define INT0_LO_FEC_TXF            (23)
#define INT0_LO_FEC_TXB            (24)
#define INT0_LO_FEC_UN            (25)
#define INT0_LO_FEC_RL            (26)
#define INT0_LO_FEC_RXF            (27)
#define INT0_LO_FEC_RXB            (28)
#define INT0_LO_FEC_MII            (29)
#define INT0_LO_FEC_LC            (30)
#define INT0_LO_FEC_HBERR        (31)
#define INT0_HI_FEC_GRA            (32)
#define INT0_HI_FEC_EBERR        (33)
#define INT0_HI_FEC_BABT        (34)
#define INT0_HI_FEC_BABR        (35)
#define INT0_HI_PIT0            (36)
#define INT0_HI_PIT1            (37)
#define INT0_HI_PIT2            (38)
#define INT0_HI_PIT3            (39)
#define INT0_HI_RNG            (40)
#define INT0_HI_SKHA            (41)
#define INT0_HI_MDHA            (42)
#define INT0_HI_CAN1_BUF0I        (43)
#define INT0_HI_CAN1_BUF1I        (44)
#define INT0_HI_CAN1_BUF2I        (45)
#define INT0_HI_CAN1_BUF3I        (46)
#define INT0_HI_CAN1_BUF4I        (47)
#define INT0_HI_CAN1_BUF5I        (48)
#define INT0_HI_CAN1_BUF6I        (49)
#define INT0_HI_CAN1_BUF7I        (50)
#define INT0_HI_CAN1_BUF8I        (51)
#define INT0_HI_CAN1_BUF9I        (52)
#define INT0_HI_CAN1_BUF10I        (53)
#define INT0_HI_CAN1_BUF11I        (54)
#define INT0_HI_CAN1_BUF12I        (55)
#define INT0_HI_CAN1_BUF13I        (56)
#define INT0_HI_CAN1_BUF14I        (57)
#define INT0_HI_CAN1_BUF15I        (58)
#define INT0_HI_CAN1_ERRINT        (59)
#define INT0_HI_CAN1_BOFFINT        (60)
/* 60-63 Reserved */
 
#endif                /* _MCF5271_H_ */