source: rtems/bsps/m68k/include/mcf548x/mcf548x.h

Last change on this file was 62f31d05, checked in by Joel Sherrill <joel@…>, on 07/08/22 at 13:54:31

bsps/m68k/include: Change license to BSD-2

Updates #3053.

  • Property mode set to 100644
File size: 246.8 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/*
4 * RTEMS generic mcf548x BSP
5 *
6 * The file contains all register an bit definitions of the
7 * generic MCF548x BSP.
8 *
9 * Parts of the code has been derived from the "dBUG source code"
10 * package Freescale is providing for M548X EVBs. The usage of
11 * the modified or unmodified code and it's integration into the
12 * generic mcf548x BSP has been done according to the Freescale
13 * license terms.
14 *
15 * The Freescale license terms can be reviewed in the file
16 *
17 *    LICENSE.Freescale
18 *
19 * The generic mcf548x BSP has been developed on the basic
20 * structures and modules of the av5282 BSP.
21 */
22
23/*
24 * Copyright (c) 2007 embedded brains GmbH. All rights reserved.
25 *
26 * Redistribution and use in source and binary forms, with or without
27 * modification, are permitted provided that the following conditions
28 * are met:
29 * 1. Redistributions of source code must retain the above copyright
30 *    notice, this list of conditions and the following disclaimer.
31 * 2. Redistributions in binary form must reproduce the above copyright
32 *    notice, this list of conditions and the following disclaimer in the
33 *    documentation and/or other materials provided with the distribution.
34 *
35 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
36 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
38 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
39 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
40 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
41 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
42 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
43 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
44 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
45 * POSSIBILITY OF SUCH DAMAGE.
46 */
47
48#ifndef __MCF548X_H__
49#define __MCF548X_H__
50
51#include <stdint.h>
52
53/*********************************************************************/
54extern char __MBAR[];
55
56/*********************************************************************
57*
58* Cache Control Register (CACR)
59*
60*********************************************************************/
61
62/* Bit definitions and macros for MCF548X_CACR */
63#define MCF548X_CACR_DEC                (0x80000000)
64#define MCF548X_CACR_DW             (0x40000000)
65#define MCF548X_CACR_DESB               (0x20000000)
66#define MCF548X_CACR_DDPI               (0x10000000)
67#define MCF548X_CACR_DHLCK              (0x08000000)
68#define MCF548X_CACR_DDCM(x)    (((x)<<25)&0x06000000)
69#define MCF548X_CACR_DCINVA             (0x01000000)
70#define MCF548X_CACR_DDSP               (0x00800000)
71#define MCF548X_CACR_BEC                (0x00080000)
72#define MCF548X_CACR_BCINVA             (0x00040000)
73#define MCF548X_CACR_IEC                (0x00008000)
74#define MCF548X_CACR_DNFB               (0x00002000)
75#define MCF548X_CACR_IDPI               (0x00001000)
76#define MCF548X_CACR_IHLCK              (0x00000800)
77#define MCF548X_CACR_IDCM               (0x00000400)
78#define MCF548X_CACR_ICINVA             (0x00000100)
79#define MCF548X_CACR_IDSP               (0x00000080)
80#define MCF548X_CACR_EUSP               (0x00000020)
81#define MCF548X_CACR_DF             (0x00000010)
82
83/* Bit definitions and macros for MCF548X_CACR_DDCM (data cache mode) */
84#define DCACHE_ON_WRIGHTTHROUGH 0
85#define DCACHE_ON_COPYBACK      1
86#define DCACHE_OFF_PRECISE      2
87#define DCACHE_OFF_IMPRECISE    3
88
89/*********************************************************************
90*
91* Access Control Registers (ACR0-3)
92*
93*********************************************************************/
94
95/* Bit definitions and macros for MCF548X_ACRn */
96#define MCF548X_ACR_BA(x)                ((x)&0xFF000000)
97#define MCF548X_ACR_ADMSK_AMM(x) (((x)>=0x1000000) ? (((x)&0xFF000000)>>8) : (((x)&0x00FF0000)|0x00000400))
98#define MCF548X_ACR_E                    (0x00008000)
99#define MCF548X_ACR_S(x)                 (((x)<<13)&0x00006000)
100#define MCF548X_ACR_CM(x)        (((x)<<5)&0x00000060)
101#define MCF548X_ACR_SP                   (0x00000008)
102#define MCF548X_ACR_W                    (0x00000004)
103
104/* Bit definitions and macros for MCF548X_ACR_S (supervisor/user access) */
105#define S_ACCESS_USER           0
106#define S_ACCESS_SUPV           1
107#define S_ACCESS_BOTH           2
108
109/* Bit definitions and macros for MCF548X_ACR_CM (cache mode) */
110#define CM_ON_WRIGHTTHROUGH     0
111#define CM_ON_COPYBACK          1
112#define CM_OFF_PRECISE          2
113#define CM_OFF_IMPRECISE        3
114
115/*********************************************************************
116*
117* System PLL Control Register (SPCR)
118*
119*********************************************************************/
120
121/* Register read/write macro */
122#define MCF548X_PLL_SPCR                      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000300)))
123
124/* Bit definitions and macros for MCF548X_PLL_SPCR (supervisor/user access) */
125#define MCF548X_PLL_SPCR_PLLK   0x80000000
126#define MCF548X_PLL_SPCR_COREN  0x00004000
127#define MCF548X_PLL_SPCR_CRYENB 0x00002000
128#define MCF548X_PLL_SPCR_CRYENA 0x00001000
129#define MCF548X_PLL_SPCR_CAN1EN 0x00000800
130#define MCF548X_PLL_SPCR_PSCEN  0x00000200
131#define MCF548X_PLL_SPCR_USBEN  0x00000080
132#define MCF548X_PLL_SPCR_FEC1EN 0x00000040
133#define MCF548X_PLL_SPCR_FEC0EN 0x00000020
134#define MCF548X_PLL_SPCR_DMAEN  0x00000010
135#define MCF548X_PLL_SPCR_CAN0EN 0x00000008
136#define MCF548X_PLL_SPCR_FBEN   0x00000004
137#define MCF548X_PLL_SPCR_PCIEN  0x00000002
138#define MCF548X_PLL_SPCR_MEMEN  0x00000001
139
140/*********************************************************************
141*
142* XLB Arbiter Control (XLB)
143*
144*********************************************************************/
145
146/* Register read/write macros */
147#define MCF548X_XLB_CFG                      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000240)))
148#define MCF548X_XLB_ADRTO                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000258)))
149#define MCF548X_XLB_DATTO                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00025C)))
150#define MCF548X_XLB_BUSTO                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000260)))
151
152/*********************************************************************
153*
154* Fast Ethernet Controller (FEC)
155*
156*********************************************************************/
157
158/* Register read/write macros */
159#define MCF548X_FEC_EIR0                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009004)))
160#define MCF548X_FEC_EIMR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009008)))
161#define MCF548X_FEC_ECR0                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009024)))
162#define MCF548X_FEC_MMFR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009040)))
163#define MCF548X_FEC_MSCR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009044)))
164#define MCF548X_FEC_MIBC0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009064)))
165#define MCF548X_FEC_RCR0                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009084)))
166#define MCF548X_FEC_R_HASH0                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009088)))
167#define MCF548X_FEC_TCR0                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090C4)))
168#define MCF548X_FEC_PALR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090E4)))
169#define MCF548X_FEC_PAUR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090E8)))
170#define MCF548X_FEC_OPD0                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090EC)))
171#define MCF548X_FEC_IAUR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009118)))
172#define MCF548X_FEC_IALR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00911C)))
173#define MCF548X_FEC_GAUR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009120)))
174#define MCF548X_FEC_GALR0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009124)))
175#define MCF548X_FEC_FECTFWR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009144)))
176#define MCF548X_FEC_FECRFDR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009184)))
177#define MCF548X_FEC_FECRFSR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009188)))
178#define MCF548X_FEC_FECRFCR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00918C)))
179#define MCF548X_FEC_FECRLRFP0                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009190)))
180#define MCF548X_FEC_FECRLWFP0                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009194)))
181#define MCF548X_FEC_FECRFAR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009198)))
182#define MCF548X_FEC_FECRFRP0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00919C)))
183#define MCF548X_FEC_FECRFWP0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091A0)))
184#define MCF548X_FEC_FECTFDR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091A4)))
185#define MCF548X_FEC_FECTFSR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091A8)))
186#define MCF548X_FEC_FECTFCR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091AC)))
187#define MCF548X_FEC_FECTLRFP0                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091B0)))
188#define MCF548X_FEC_FECTLWFP0                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091B4)))
189#define MCF548X_FEC_FECTFAR0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091B8)))
190#define MCF548X_FEC_FECTFRP0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091BC)))
191#define MCF548X_FEC_FECTFWP0                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091C0)))
192#define MCF548X_FEC_FRST0                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091C4)))
193#define MCF548X_FEC_CTCWR0                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091C8)))
194#define MCF548X_FEC_RMON_T_DROP0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009200)))
195#define MCF548X_FEC_RMON_T_PACKETS0          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009204)))
196#define MCF548X_FEC_RMON_T_BC_PKT0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009208)))
197#define MCF548X_FEC_RMON_T_MC_PKT0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00920C)))
198#define MCF548X_FEC_RMON_T_CRC_ALIGN0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009210)))
199#define MCF548X_FEC_RMON_T_UNDERSIZE0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009214)))
200#define MCF548X_FEC_RMON_T_OVERSIZE0         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009218)))
201#define MCF548X_FEC_RMON_T_FRAG0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00921C)))
202#define MCF548X_FEC_RMON_T_JAB0              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009220)))
203#define MCF548X_FEC_RMON_T_COL0              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009224)))
204#define MCF548X_FEC_RMON_T_P640              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009228)))
205#define MCF548X_FEC_RMON_T_P65TO1270         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00922C)))
206#define MCF548X_FEC_RMON_T_P128TO2550        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009230)))
207#define MCF548X_FEC_RMON_T_P256TO5110        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009234)))
208#define MCF548X_FEC_RMON_T_P512TO10230       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009238)))
209#define MCF548X_FEC_RMON_T_P1024TO20470      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00923C)))
210#define MCF548X_FEC_RMON_T_P_GTE20480        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009240)))
211#define MCF548X_FEC_RMON_T_OCTETS0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009244)))
212#define MCF548X_FEC_IEEE_T_DROP0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009248)))
213#define MCF548X_FEC_IEEE_T_FRAME_OK0         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00924C)))
214#define MCF548X_FEC_IEEE_T_1COL0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009250)))
215#define MCF548X_FEC_IEEE_T_MCOL0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009254)))
216#define MCF548X_FEC_IEEE_T_DEF0              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009258)))
217#define MCF548X_FEC_IEEE_T_LCOL0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00925C)))
218#define MCF548X_FEC_IEEE_T_EXCOL0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009260)))
219#define MCF548X_FEC_IEEE_T_MACERR0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009264)))
220#define MCF548X_FEC_IEEE_T_CSERR0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009268)))
221#define MCF548X_FEC_IEEE_T_SQE0              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00926C)))
222#define MCF548X_FEC_IEEE_T_FDXFC0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009270)))
223#define MCF548X_FEC_IEEE_T_OCTETS_OK0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009274)))
224#define MCF548X_FEC_RMON_R_PACKETS0          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009284)))
225#define MCF548X_FEC_RMON_R_BC_PKT0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009288)))
226#define MCF548X_FEC_RMON_R_MC_PKT0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00928C)))
227#define MCF548X_FEC_RMON_R_CRC_ALIGN0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009290)))
228#define MCF548X_FEC_RMON_R_UNDERSIZE0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009294)))
229#define MCF548X_FEC_RMON_R_OVERSIZE0         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009298)))
230#define MCF548X_FEC_RMON_R_FRAG0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00929C)))
231#define MCF548X_FEC_RMON_R_JAB0              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092A0)))
232#define MCF548X_FEC_RMON_R_RESVD_00          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092A4)))
233#define MCF548X_FEC_RMON_R_P640              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092A8)))
234#define MCF548X_FEC_RMON_R_P65TO1270         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092AC)))
235#define MCF548X_FEC_RMON_R_P128TO2550        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092B0)))
236#define MCF548X_FEC_RMON_R_P256TO5110        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092B4)))
237#define MCF548X_FEC_RMON_R_512TO10230        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092B8)))
238#define MCF548X_FEC_RMON_R_1024TO20470       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092BC)))
239#define MCF548X_FEC_RMON_R_P_GTE20480        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092C0)))
240#define MCF548X_FEC_RMON_R_OCTETS0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092C4)))
241#define MCF548X_FEC_IEEE_R_DROP0             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092C8)))
242#define MCF548X_FEC_IEEE_R_FRAME_OK0         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092CC)))
243#define MCF548X_FEC_IEEE_R_CRC0              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092D0)))
244#define MCF548X_FEC_IEEE_R_ALIGN0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092D4)))
245#define MCF548X_FEC_IEEE_R_MACERR0           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092D8)))
246#define MCF548X_FEC_IEEE_R_FDXFC0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092DC)))
247#define MCF548X_FEC_IEEE_R_OCTETS_OK0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092E0)))
248#define MCF548X_FEC_EIR1                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009804)))
249#define MCF548X_FEC_EIMR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009808)))
250#define MCF548X_FEC_ECR1                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009824)))
251#define MCF548X_FEC_MMFR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009840)))
252#define MCF548X_FEC_MSCR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009844)))
253#define MCF548X_FEC_MIBC1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009864)))
254#define MCF548X_FEC_RCR1                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009884)))
255#define MCF548X_FEC_R_HASH1                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009888)))
256#define MCF548X_FEC_TCR1                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0098C4)))
257#define MCF548X_FEC_PALR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0098E4)))
258#define MCF548X_FEC_PAUR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0098E8)))
259#define MCF548X_FEC_OPD1                     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0098EC)))
260#define MCF548X_FEC_IAUR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009918)))
261#define MCF548X_FEC_IALR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00991C)))
262#define MCF548X_FEC_GAUR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009920)))
263#define MCF548X_FEC_GALR1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009924)))
264#define MCF548X_FEC_FECTFWR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009944)))
265#define MCF548X_FEC_FECRFDR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009984)))
266#define MCF548X_FEC_FECRFSR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009988)))
267#define MCF548X_FEC_FECRFCR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00998C)))
268#define MCF548X_FEC_FECRLRFP1                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009990)))
269#define MCF548X_FEC_FECRLWFP1                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009994)))
270#define MCF548X_FEC_FECRFAR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009998)))
271#define MCF548X_FEC_FECRFRP1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00999C)))
272#define MCF548X_FEC_FECRFWP1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099A0)))
273#define MCF548X_FEC_FECTFDR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099A4)))
274#define MCF548X_FEC_FECTFSR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099A8)))
275#define MCF548X_FEC_FECTFCR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099AC)))
276#define MCF548X_FEC_FECTLRFP1                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099B0)))
277#define MCF548X_FEC_FECTLWFP1                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099B4)))
278#define MCF548X_FEC_FECTFAR1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099B8)))
279#define MCF548X_FEC_FECTFRP1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099BC)))
280#define MCF548X_FEC_FECTFWP1                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099C0)))
281#define MCF548X_FEC_FRST1                    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099C4)))
282#define MCF548X_FEC_CTCWR1                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0099C8)))
283#define MCF548X_FEC_RMON_T_DROP1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A00)))
284#define MCF548X_FEC_RMON_T_PACKETS1          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A04)))
285#define MCF548X_FEC_RMON_T_BC_PKT1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A08)))
286#define MCF548X_FEC_RMON_T_MC_PKT1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A0C)))
287#define MCF548X_FEC_RMON_T_CRC_ALIGN1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A10)))
288#define MCF548X_FEC_RMON_T_UNDERSIZE1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A14)))
289#define MCF548X_FEC_RMON_T_OVERSIZE1         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A18)))
290#define MCF548X_FEC_RMON_T_FRAG1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A1C)))
291#define MCF548X_FEC_RMON_T_JAB1              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A20)))
292#define MCF548X_FEC_RMON_T_COL1              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A24)))
293#define MCF548X_FEC_RMON_T_P641              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A28)))
294#define MCF548X_FEC_RMON_T_P65TO1271         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A2C)))
295#define MCF548X_FEC_RMON_T_P128TO2551        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A30)))
296#define MCF548X_FEC_RMON_T_P256TO5111        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A34)))
297#define MCF548X_FEC_RMON_T_P512TO10231       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A38)))
298#define MCF548X_FEC_RMON_T_P1024TO20471      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A3C)))
299#define MCF548X_FEC_RMON_T_P_GTE20481        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A40)))
300#define MCF548X_FEC_RMON_T_OCTETS1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A44)))
301#define MCF548X_FEC_IEEE_T_DROP1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A48)))
302#define MCF548X_FEC_IEEE_T_FRAME_OK1         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A4C)))
303#define MCF548X_FEC_IEEE_T_1COL1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A50)))
304#define MCF548X_FEC_IEEE_T_MCOL1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A54)))
305#define MCF548X_FEC_IEEE_T_DEF1              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A58)))
306#define MCF548X_FEC_IEEE_T_LCOL1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A5C)))
307#define MCF548X_FEC_IEEE_T_EXCOL1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A60)))
308#define MCF548X_FEC_IEEE_T_MACERR1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A64)))
309#define MCF548X_FEC_IEEE_T_CSERR1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A68)))
310#define MCF548X_FEC_IEEE_T_SQE1              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A6C)))
311#define MCF548X_FEC_IEEE_T_FDXFC1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A70)))
312#define MCF548X_FEC_IEEE_T_OCTETS_OK1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A74)))
313#define MCF548X_FEC_RMON_R_PACKETS1          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A84)))
314#define MCF548X_FEC_RMON_R_BC_PKT1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A88)))
315#define MCF548X_FEC_RMON_R_MC_PKT1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A8C)))
316#define MCF548X_FEC_RMON_R_CRC_ALIGN1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A90)))
317#define MCF548X_FEC_RMON_R_UNDERSIZE1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A94)))
318#define MCF548X_FEC_RMON_R_OVERSIZE1         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A98)))
319#define MCF548X_FEC_RMON_R_FRAG1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009A9C)))
320#define MCF548X_FEC_RMON_R_JAB1              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AA0)))
321#define MCF548X_FEC_RMON_R_RESVD_01          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AA4)))
322#define MCF548X_FEC_RMON_R_P641              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AA8)))
323#define MCF548X_FEC_RMON_R_P65TO1271         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AAC)))
324#define MCF548X_FEC_RMON_R_P128TO2551        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AB0)))
325#define MCF548X_FEC_RMON_R_P256TO5111        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AB4)))
326#define MCF548X_FEC_RMON_R_512TO10231        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AB8)))
327#define MCF548X_FEC_RMON_R_1024TO20471       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009ABC)))
328#define MCF548X_FEC_RMON_R_P_GTE20481        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AC0)))
329#define MCF548X_FEC_RMON_R_OCTETS1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AC4)))
330#define MCF548X_FEC_IEEE_R_DROP1             (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AC8)))
331#define MCF548X_FEC_IEEE_R_FRAME_OK1         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009ACC)))
332#define MCF548X_FEC_IEEE_R_CRC1              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AD0)))
333#define MCF548X_FEC_IEEE_R_ALIGN1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AD4)))
334#define MCF548X_FEC_IEEE_R_MACERR1           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AD8)))
335#define MCF548X_FEC_IEEE_R_FDXFC1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009ADC)))
336#define MCF548X_FEC_IEEE_R_OCTETS_OK1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009AE0)))
337#define MCF548X_FEC_EIR(x)                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009004U+((x)*0x800))))
338#define MCF548X_FEC_EIMR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009008U+((x)*0x800))))
339#define MCF548X_FEC_ECR(x)                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009024U+((x)*0x800))))
340#define MCF548X_FEC_MMFR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009040U+((x)*0x800))))
341#define MCF548X_FEC_MSCR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009044U+((x)*0x800))))
342#define MCF548X_FEC_MIBC(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009064U+((x)*0x800))))
343#define MCF548X_FEC_RCR(x)                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009084U+((x)*0x800))))
344#define MCF548X_FEC_R_HASH(x)                (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009088U+((x)*0x800))))
345#define MCF548X_FEC_TCR(x)                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090C4U+((x)*0x800))))
346#define MCF548X_FEC_PALR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090E4U+((x)*0x800))))
347#define MCF548X_FEC_PAUR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090E8U+((x)*0x800))))
348#define MCF548X_FEC_OPD(x)                   (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0090ECU+((x)*0x800))))
349#define MCF548X_FEC_IAUR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009118U+((x)*0x800))))
350#define MCF548X_FEC_IALR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00911CU+((x)*0x800))))
351#define MCF548X_FEC_GAUR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009120U+((x)*0x800))))
352#define MCF548X_FEC_GALR(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009124U+((x)*0x800))))
353#define MCF548X_FEC_FECTFWR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009144U+((x)*0x800))))
354#define MCF548X_FEC_FECRFDR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009184U+((x)*0x800))))
355#define MCF548X_FEC_FECRFSR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009188U+((x)*0x800))))
356#define MCF548X_FEC_FECRFCR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00918CU+((x)*0x800))))
357#define MCF548X_FEC_FECRLRFP(x)              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009190U+((x)*0x800))))
358#define MCF548X_FEC_FECRLWFP(x)              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009194U+((x)*0x800))))
359#define MCF548X_FEC_FECRFAR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009198U+((x)*0x800))))
360#define MCF548X_FEC_FECRFRP(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00919CU+((x)*0x800))))
361#define MCF548X_FEC_FECRFWP(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091A0U+((x)*0x800))))
362#define MCF548X_FEC_FECTFDR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091A4U+((x)*0x800))))
363#define MCF548X_FEC_FECTFSR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091A8U+((x)*0x800))))
364#define MCF548X_FEC_FECTFCR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091ACU+((x)*0x800))))
365#define MCF548X_FEC_FECTLRFP(x)              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091B0U+((x)*0x800))))
366#define MCF548X_FEC_FECTLWFP(x)              (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091B4U+((x)*0x800))))
367#define MCF548X_FEC_FECTFAR(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091B8U+((x)*0x800))))
368#define MCF548X_FEC_FECTFRP(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091BCU+((x)*0x800))))
369#define MCF548X_FEC_FECTFWP(x)               (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091C0U+((x)*0x800))))
370#define MCF548X_FEC_FRST(x)                  (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091C4U+((x)*0x800))))
371#define MCF548X_FEC_CTCWR(x)                 (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0091C8U+((x)*0x800))))
372#define MCF548X_FEC_RMON_T_DROP(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009200U+((x)*0x800))))
373#define MCF548X_FEC_RMON_T_PACKETS(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009204U+((x)*0x800))))
374#define MCF548X_FEC_RMON_T_BC_PKT(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009208U+((x)*0x800))))
375#define MCF548X_FEC_RMON_T_MC_PKT(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00920CU+((x)*0x800))))
376#define MCF548X_FEC_RMON_T_CRC_ALIGN(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009210U+((x)*0x800))))
377#define MCF548X_FEC_RMON_T_UNDERSIZE(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009214U+((x)*0x800))))
378#define MCF548X_FEC_RMON_T_OVERSIZE(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009218U+((x)*0x800))))
379#define MCF548X_FEC_RMON_T_FRAG(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00921CU+((x)*0x800))))
380#define MCF548X_FEC_RMON_T_JAB(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009220U+((x)*0x800))))
381#define MCF548X_FEC_RMON_T_COL(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009224U+((x)*0x800))))
382#define MCF548X_FEC_RMON_T_P64(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009228U+((x)*0x800))))
383#define MCF548X_FEC_RMON_T_P65TO127(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00922CU+((x)*0x800))))
384#define MCF548X_FEC_RMON_T_P128TO255(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009230U+((x)*0x800))))
385#define MCF548X_FEC_RMON_T_P256TO511(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009234U+((x)*0x800))))
386#define MCF548X_FEC_RMON_T_P512TO1023(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009238U+((x)*0x800))))
387#define MCF548X_FEC_RMON_T_P1024TO2047(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00923CU+((x)*0x800))))
388#define MCF548X_FEC_RMON_T_P_GTE2048(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009240U+((x)*0x800))))
389#define MCF548X_FEC_RMON_T_OCTETS(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009244U+((x)*0x800))))
390#define MCF548X_FEC_IEEE_T_DROP(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009248U+((x)*0x800))))
391#define MCF548X_FEC_IEEE_T_FRAME_OK(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00924CU+((x)*0x800))))
392#define MCF548X_FEC_IEEE_T_1COL(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009250U+((x)*0x800))))
393#define MCF548X_FEC_IEEE_T_MCOL(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009254U+((x)*0x800))))
394#define MCF548X_FEC_IEEE_T_DEF(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009258U+((x)*0x800))))
395#define MCF548X_FEC_IEEE_T_LCOL(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00925CU+((x)*0x800))))
396#define MCF548X_FEC_IEEE_T_EXCOL(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009260U+((x)*0x800))))
397#define MCF548X_FEC_IEEE_T_MACERR(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009264U+((x)*0x800))))
398#define MCF548X_FEC_IEEE_T_CSERR(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009268U+((x)*0x800))))
399#define MCF548X_FEC_IEEE_T_SQE(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00926CU+((x)*0x800))))
400#define MCF548X_FEC_IEEE_T_FDXFC(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009270U+((x)*0x800))))
401#define MCF548X_FEC_IEEE_T_OCTETS_OK(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009274U+((x)*0x800))))
402#define MCF548X_FEC_RMON_R_PACKETS(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009284U+((x)*0x800))))
403#define MCF548X_FEC_RMON_R_BC_PKT(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009288U+((x)*0x800))))
404#define MCF548X_FEC_RMON_R_MC_PKT(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00928CU+((x)*0x800))))
405#define MCF548X_FEC_RMON_R_CRC_ALIGN(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009290U+((x)*0x800))))
406#define MCF548X_FEC_RMON_R_UNDERSIZE(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009294U+((x)*0x800))))
407#define MCF548X_FEC_RMON_R_OVERSIZE(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x009298U+((x)*0x800))))
408#define MCF548X_FEC_RMON_R_FRAG(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00929CU+((x)*0x800))))
409#define MCF548X_FEC_RMON_R_JAB(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092A0U+((x)*0x800))))
410#define MCF548X_FEC_RMON_R_RESVD_0(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092A4U+((x)*0x800))))
411#define MCF548X_FEC_RMON_R_P64(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092A8U+((x)*0x800))))
412#define MCF548X_FEC_RMON_R_P65TO127(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092ACU+((x)*0x800))))
413#define MCF548X_FEC_RMON_R_P128TO255(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092B0U+((x)*0x800))))
414#define MCF548X_FEC_RMON_R_P256TO511(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092B4U+((x)*0x800))))
415#define MCF548X_FEC_RMON_R_512TO1023(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092B8U+((x)*0x800))))
416#define MCF548X_FEC_RMON_R_1024TO2047(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092BCU+((x)*0x800))))
417#define MCF548X_FEC_RMON_R_P_GTE2048(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092C0U+((x)*0x800))))
418#define MCF548X_FEC_RMON_R_OCTETS(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092C4U+((x)*0x800))))
419#define MCF548X_FEC_IEEE_R_DROP(x)           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092C8U+((x)*0x800))))
420#define MCF548X_FEC_IEEE_R_FRAME_OK(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092CCU+((x)*0x800))))
421#define MCF548X_FEC_IEEE_R_CRC(x)            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092D0U+((x)*0x800))))
422#define MCF548X_FEC_IEEE_R_ALIGN(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092D4U+((x)*0x800))))
423#define MCF548X_FEC_IEEE_R_MACERR(x)         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092D8U+((x)*0x800))))
424#define MCF548X_FEC_IEEE_R_FDXFC(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092DCU+((x)*0x800))))
425#define MCF548X_FEC_IEEE_R_OCTETS_OK(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0092E0U+((x)*0x800))))
426
427/* Bit definitions and macros for MCF548X_FEC_EIR */
428#define MCF548X_FEC_EIR_RFERR              (0x00020000)
429#define MCF548X_FEC_EIR_XFERR              (0x00040000)
430#define MCF548X_FEC_EIR_XFUN               (0x00080000)
431#define MCF548X_FEC_EIR_RL                 (0x00100000)
432#define MCF548X_FEC_EIR_LC                 (0x00200000)
433#define MCF548X_FEC_EIR_MII                (0x00800000)
434#define MCF548X_FEC_EIR_TXF                (0x08000000)
435#define MCF548X_FEC_EIR_GRA                (0x10000000)
436#define MCF548X_FEC_EIR_BABT               (0x20000000)
437#define MCF548X_FEC_EIR_BABR               (0x40000000)
438#define MCF548X_FEC_EIR_HBERR              (0x80000000)
439#define MCF548X_FEC_EIR_CLEAR_ALL          (0xFFFFFFFF)
440
441/* Bit definitions and macros for MCF548X_FEC_EIMR */
442#define MCF548X_FEC_EIMR_RFERR             (0x00020000)
443#define MCF548X_FEC_EIMR_XFERR             (0x00040000)
444#define MCF548X_FEC_EIMR_XFUN              (0x00080000)
445#define MCF548X_FEC_EIMR_RL                (0x00100000)
446#define MCF548X_FEC_EIMR_LC                (0x00200000)
447#define MCF548X_FEC_EIMR_MII               (0x00800000)
448#define MCF548X_FEC_EIMR_TXF               (0x08000000)
449#define MCF548X_FEC_EIMR_GRA               (0x10000000)
450#define MCF548X_FEC_EIMR_BABT              (0x20000000)
451#define MCF548X_FEC_EIMR_BABR              (0x40000000)
452#define MCF548X_FEC_EIMR_HBERR             (0x80000000)
453#define MCF548X_FEC_EIMR_MASK_ALL          (0x00000000)
454#define MCF548X_FEC_EIMR_UNMASK_ALL        (0xFFFFFFFF)
455
456/* Bit definitions and macros for MCF548X_FEC_ECR */
457#define MCF548X_FEC_ECR_RESET              (0x00000001)
458#define MCF548X_FEC_ECR_ETHER_EN           (0x00000002)
459
460/* Bit definitions and macros for MCF548X_FEC_MMFR */
461#define MCF548X_FEC_MMFR_DATA(x)           (((x)&0x0000FFFF)<<0)
462#define MCF548X_FEC_MMFR_TA(x)             (((x)&0x00000003)<<16)
463#define MCF548X_FEC_MMFR_RA(x)             (((x)&0x0000001F)<<18)
464#define MCF548X_FEC_MMFR_PA(x)             (((x)&0x0000001F)<<23)
465#define MCF548X_FEC_MMFR_OP(x)             (((x)&0x00000003)<<28)
466#define MCF548X_FEC_MMFR_ST(x)             (((x)&0x00000003)<<30)
467#define MCF548X_FEC_MMFR_ST_01             (0x40000000)
468#define MCF548X_FEC_MMFR_OP_READ           (0x20000000)
469#define MCF548X_FEC_MMFR_OP_WRITE          (0x10000000)
470#define MCF548X_FEC_MMFR_TA_10             (0x00020000)
471
472/* Bit definitions and macros for MCF548X_FEC_MSCR */
473#define MCF548X_FEC_MSCR_MII_SPEED(x)      (((x)&0x0000003F)<<1)
474#define MCF548X_FEC_MSCR_DIS_PREAMBLE      (0x00000080)
475#define MCF548X_FEC_MSCR_MII_SPEED_133     (0x1B<<1)
476#define MCF548X_FEC_MSCR_MII_SPEED_120     (0x18<<1)
477#define MCF548X_FEC_MSCR_MII_SPEED_66      (0xE<<1)
478#define MCF548X_FEC_MSCR_MII_SPEED_60      (0xC<<1)
479
480/* Bit definitions and macros for MCF548X_FEC_MIBC */
481#define MCF548X_FEC_MIBC_MIB_IDLE          (0x40000000)
482#define MCF548X_FEC_MIBC_MIB_DISABLE       (0x80000000)
483
484/* Bit definitions and macros for MCF548X_FEC_RCR */
485#define MCF548X_FEC_RCR_LOOP               (0x00000001)
486#define MCF548X_FEC_RCR_DRT                (0x00000002)
487#define MCF548X_FEC_RCR_MII_MODE           (0x00000004)
488#define MCF548X_FEC_RCR_PROM               (0x00000008)
489#define MCF548X_FEC_RCR_BC_REJ             (0x00000010)
490#define MCF548X_FEC_RCR_FCE                (0x00000020)
491#define MCF548X_FEC_RCR_MAX_FL(x)          (((x)&0x000007FF)<<16)
492
493/* Bit definitions and macros for MCF548X_FEC_R_HASH */
494#define MCF548X_FEC_R_HASH_HASH(x)         (((x)&0x0000003F)<<24)
495#define MCF548X_FEC_R_HASH_MULTCAST        (0x40000000)
496#define MCF548X_FEC_R_HASH_FCE_DC          (0x80000000)
497
498/* Bit definitions and macros for MCF548X_FEC_TCR */
499#define MCF548X_FEC_TCR_GTS                (0x00000001)
500#define MCF548X_FEC_TCR_HBC                (0x00000002)
501#define MCF548X_FEC_TCR_FDEN               (0x00000004)
502#define MCF548X_FEC_TCR_TFC_PAUSE          (0x00000008)
503#define MCF548X_FEC_TCR_RFC_PAUSE          (0x00000010)
504
505/* Bit definitions and macros for MCF548X_FEC_PAUR */
506#define MCF548X_FEC_PAUR_TYPE(x)           (((x)&0x0000FFFF)<<0)
507#define MCF548X_FEC_PAUR_PADDR2(x)         (((x)&0x0000FFFF)<<16)
508
509/* Bit definitions and macros for MCF548X_FEC_OPD */
510#define MCF548X_FEC_OPD_OP_PAUSE(x)        (((x)&0x0000FFFF)<<0)
511#define MCF548X_FEC_OPD_OPCODE(x)          (((x)&0x0000FFFF)<<16)
512
513/* Bit definitions and macros for MCF548X_FEC_FECTFWR */
514#define MCF548X_FEC_FECTFWR_X_WMRK(x)      (((x)&0x0000000F)<<0)
515#define MCF548X_FEC_FECTFWR_X_WMRK_64      (0x00000000)
516#define MCF548X_FEC_FECTFWR_X_WMRK_128     (0x00000001)
517#define MCF548X_FEC_FECTFWR_X_WMRK_192     (0x00000002)
518#define MCF548X_FEC_FECTFWR_X_WMRK_256     (0x00000003)
519#define MCF548X_FEC_FECTFWR_X_WMRK_320     (0x00000004)
520#define MCF548X_FEC_FECTFWR_X_WMRK_384     (0x00000005)
521#define MCF548X_FEC_FECTFWR_X_WMRK_448     (0x00000006)
522#define MCF548X_FEC_FECTFWR_X_WMRK_512     (0x00000007)
523#define MCF548X_FEC_FECTFWR_X_WMRK_576     (0x00000008)
524#define MCF548X_FEC_FECTFWR_X_WMRK_640     (0x00000009)
525#define MCF548X_FEC_FECTFWR_X_WMRK_704     (0x0000000A)
526#define MCF548X_FEC_FECTFWR_X_WMRK_768     (0x0000000B)
527#define MCF548X_FEC_FECTFWR_X_WMRK_832     (0x0000000C)
528#define MCF548X_FEC_FECTFWR_X_WMRK_896     (0x0000000D)
529#define MCF548X_FEC_FECTFWR_X_WMRK_960     (0x0000000E)
530#define MCF548X_FEC_FECTFWR_X_WMRK_1024    (0x0000000F)
531
532/* Bit definitions and macros for MCF548X_FEC_FECRFDR */
533#define MCF548X_FEC_FECRFDR_ADDR0            (((uintptr_t)__MBAR + (0x009184)))
534#define MCF548X_FEC_FECRFDR_ADDR1            (((uintptr_t)__MBAR + (0x009984)))
535#define MCF548X_FEC_FECRFDR_ADDR(x)          (((uintptr_t)__MBAR + (0x009184U+(0x800*x))))
536
537/* Bit definitions and macros for MCF548X_FEC_FECRFSR */
538#define MCF548X_FEC_FECRFSR_EMT            (0x00010000)
539#define MCF548X_FEC_FECRFSR_ALARM          (0x00020000)
540#define MCF548X_FEC_FECRFSR_FU             (0x00040000)
541#define MCF548X_FEC_FECRFSR_FR             (0x00080000)
542#define MCF548X_FEC_FECRFSR_OF             (0x00100000)
543#define MCF548X_FEC_FECRFSR_UF             (0x00200000)
544#define MCF548X_FEC_FECRFSR_RXW            (0x00400000)
545#define MCF548X_FEC_FECRFSR_FAE            (0x00800000)
546#define MCF548X_FEC_FECRFSR_FRM(x)         (((x)&0x0000000F)<<24)
547#define MCF548X_FEC_FECRFSR_IP             (0x80000000)
548
549/* Bit definitions and macros for MCF548X_FEC_FECRFCR */
550#define MCF548X_FEC_FECRFCR_COUNTER(x)     (((x)&0x0000FFFF)<<0)
551#define MCF548X_FEC_FECRFCR_OF_MSK         (0x00080000)
552#define MCF548X_FEC_FECRFCR_UF_MSK         (0x00100000)
553#define MCF548X_FEC_FECRFCR_RXW_MSK        (0x00200000)
554#define MCF548X_FEC_FECRFCR_FAE_MSK        (0x00400000)
555#define MCF548X_FEC_FECRFCR_IP_MSK         (0x00800000)
556#define MCF548X_FEC_FECRFCR_GR(x)          (((x)&0x00000007)<<24)
557#define MCF548X_FEC_FECRFCR_FRM            (0x08000000)
558#define MCF548X_FEC_FECRFCR_TIMER          (0x10000000)
559#define MCF548X_FEC_FECRFCR_WFR            (0x20000000)
560#define MCF548X_FEC_FECRFCR_WCTL           (0x40000000)
561
562/* Bit definitions and macros for MCF548X_FEC_FECRLRFP */
563#define MCF548X_FEC_FECRLRFP_LRFP(x)       (((x)&0x00000FFF)<<0)
564
565/* Bit definitions and macros for MCF548X_FEC_FECRLWFP */
566#define MCF548X_FEC_FECRLWFP_LWFP(x)       (((x)&0x00000FFF)<<0)
567
568/* Bit definitions and macros for MCF548X_FEC_FECRFAR */
569#define MCF548X_FEC_FECRFAR_ALARM(x)       (((x)&0x00000FFF)<<0)
570
571/* Bit definitions and macros for MCF548X_FEC_FECRFRP */
572#define MCF548X_FEC_FECRFRP_READ(x)        (((x)&0x00000FFF)<<0)
573
574/* Bit definitions and macros for MCF548X_FEC_FECRFWP */
575#define MCF548X_FEC_FECRFWP_WRITE(x)       (((x)&0x00000FFF)<<0)
576
577/* Bit definitions and macros for MCF548X_FEC_FECTFDR */
578#define MCF548X_FEC_FECTFDR_TFCW_TC        (0x04000000)
579#define MCF548X_FEC_FECTFDR_TFCW_ABC       (0x02000000)
580#define MCF548X_FEC_FECTFDR_ADDR0            (((uintptr_t)__MBAR + (0x0091A4)))
581#define MCF548X_FEC_FECTFDR_ADDR1            (((uintptr_t)__MBAR + (0x0099A4)))
582#define MCF548X_FEC_FECTFDR_ADDR(x)          (((uintptr_t)__MBAR + (0x0091A4U+(0x800*x))))
583
584/* Bit definitions and macros for MCF548X_FEC_FECTFSR */
585#define MCF548X_FEC_FECTFSR_EMT            (0x00010000)
586#define MCF548X_FEC_FECTFSR_ALARM          (0x00020000)
587#define MCF548X_FEC_FECTFSR_FU             (0x00040000)
588#define MCF548X_FEC_FECTFSR_FR             (0x00080000)
589#define MCF548X_FEC_FECTFSR_OF             (0x00100000)
590#define MCF548X_FEC_FECTFSR_UP             (0x00200000)
591#define MCF548X_FEC_FECTFSR_FAE            (0x00800000)
592#define MCF548X_FEC_FECTFSR_FRM(x)         (((x)&0x0000000F)<<24)
593#define MCF548X_FEC_FECTFSR_TXW            (0x40000000)
594#define MCF548X_FEC_FECTFSR_IP             (0x80000000)
595
596/* Bit definitions and macros for MCF548X_FEC_FECTFCR */
597#define MCF548X_FEC_FECTFCR_RESERVED       (0x00200000)
598#define MCF548X_FEC_FECTFCR_COUNTER(x)     (((x)&0x0000FFFF)<<0|0x00200000)
599#define MCF548X_FEC_FECTFCR_TXW_MSK        (0x00240000)
600#define MCF548X_FEC_FECTFCR_OF_MSK         (0x00280000)
601#define MCF548X_FEC_FECTFCR_UF_MSK         (0x00300000)
602#define MCF548X_FEC_FECTFCR_FAE_MSK        (0x00600000)
603#define MCF548X_FEC_FECTFCR_IP_MSK         (0x00A00000)
604#define MCF548X_FEC_FECTFCR_GR(x)          (((x)&0x00000007)<<24|0x00200000)
605#define MCF548X_FEC_FECTFCR_FRM            (0x08200000)
606#define MCF548X_FEC_FECTFCR_TIMER          (0x10200000)
607#define MCF548X_FEC_FECTFCR_WFR            (0x20200000)
608#define MCF548X_FEC_FECTFCR_WCTL           (0x40200000)
609
610/* Bit definitions and macros for MCF548X_FEC_FECTLRFP */
611#define MCF548X_FEC_FECTLRFP_LRFP(x)       (((x)&0x00000FFF)<<0)
612
613/* Bit definitions and macros for MCF548X_FEC_FECTLWFP */
614#define MCF548X_FEC_FECTLWFP_LWFP(x)       (((x)&0x00000FFF)<<0)
615
616/* Bit definitions and macros for MCF548X_FEC_FECTFAR */
617#define MCF548X_FEC_FECTFAR_ALARM(x)       (((x)&0x00000FFF)<<0)
618
619/* Bit definitions and macros for MCF548X_FEC_FECTFRP */
620#define MCF548X_FEC_FECTFRP_READ(x)        (((x)&0x00000FFF)<<0)
621
622/* Bit definitions and macros for MCF548X_FEC_FECTFWP */
623#define MCF548X_FEC_FECTFWP_WRITE(x)       (((x)&0x00000FFF)<<0)
624
625/* Bit definitions and macros for MCF548X_FEC_FRST */
626#define MCF548X_FEC_FRST_RST_CTL           (0x01000000)
627#define MCF548X_FEC_FRST_SW_RST            (0x02000000)
628
629/* Bit definitions and macros for MCF548X_FEC_CTCWR */
630#define MCF548X_FEC_CTCWR_TFCW             (0x01000000)
631#define MCF548X_FEC_CTCWR_CRC              (0x02000000)
632
633
634/*********************************************************************
635*
636* System Integration Unit (SIU)
637*
638*********************************************************************/
639
640/* Register read/write macros */
641#define MCF548X_SIU_SBCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000010)))
642#define MCF548X_SIU_SECSACR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000038)))
643#define MCF548X_SIU_RSR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000044)))
644#define MCF548X_SIU_JTAGID     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000050)))
645
646/* Bit definitions and macros for MCF548X_SIU_SBCR */
647#define MCF548X_SIU_SBCR_PIN2DSPI       (0x08000000)
648#define MCF548X_SIU_SBCR_DMA2CPU        (0x10000000)
649#define MCF548X_SIU_SBCR_CPU2DMA        (0x20000000)
650#define MCF548X_SIU_SBCR_PIN2DMA        (0x40000000)
651#define MCF548X_SIU_SBCR_PIN2CPU        (0x80000000)
652
653/* Bit definitions and macros for MCF548X_SIU_SECSACR */
654#define MCF548X_SIU_SECSACR_SEQEN       (0x00000001)
655
656/* Bit definitions and macros for MCF548X_SIU_RSR */
657#define MCF548X_SIU_RSR_RST             (0x00000001)
658#define MCF548X_SIU_RSR_RSTWD           (0x00000002)
659#define MCF548X_SIU_RSR_RSTJTG          (0x00000008)
660
661/* Bit definitions and macros for MCF548X_SIU_JTAGID */
662#define MCF548X_SIU_JTAGID_REV          (0xF0000000)
663#define MCF548X_SIU_JTAGID_PROCESSOR    (0x0FFFFFFF)
664#define MCF548X_SIU_JTAGID_MCF5485      (0x0800C01D)
665#define MCF548X_SIU_JTAGID_MCF5484      (0x0800D01D)
666#define MCF548X_SIU_JTAGID_MCF5483      (0x0800E01D)
667#define MCF548X_SIU_JTAGID_MCF5482      (0x0800F01D)
668#define MCF548X_SIU_JTAGID_MCF5481      (0x0801001D)
669#define MCF548X_SIU_JTAGID_MCF5480      (0x0801101D)
670#define MCF548X_SIU_JTAGID_MCF5475      (0x0801201D)
671#define MCF548X_SIU_JTAGID_MCF5474      (0x0801301D)
672#define MCF548X_SIU_JTAGID_MCF5473      (0x0801401D)
673#define MCF548X_SIU_JTAGID_MCF5472      (0x0801501D)
674#define MCF548X_SIU_JTAGID_MCF5471      (0x0801601D)
675#define MCF548X_SIU_JTAGID_MCF5470      (0x0801701D)
676
677/*********************************************************************
678*
679* Comm Timer Module (CTM)
680*
681*********************************************************************/
682
683/* Register read/write macros */
684#define MCF548X_CTM_CTCRF0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F00)))
685#define MCF548X_CTM_CTCRF1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F04)))
686#define MCF548X_CTM_CTCRF2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F08)))
687#define MCF548X_CTM_CTCRF3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F0C)))
688#define MCF548X_CTM_CTCRFn(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F00U+((x)*0x004))))
689#define MCF548X_CTM_CTCRV4       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F10)))
690#define MCF548X_CTM_CTCRV5       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F14)))
691#define MCF548X_CTM_CTCRV6       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F18)))
692#define MCF548X_CTM_CTCRV7       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F1C)))
693#define MCF548X_CTM_CTCRVn(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x007F10U+((x)*0x004))))
694
695/* Bit definitions and macros for MCF548X_CTM_CTCRFn */
696#define MCF548X_CTM_CTCRFn_CRV(x)       (((x)&0x0000FFFF)<<0)
697#define MCF548X_CTM_CTCRFn_S(x)         (((x)&0x0000000F)<<16)
698#define MCF548X_CTM_CTCRFn_PCT(x)       (((x)&0x00000007)<<20)
699#define MCF548X_CTM_CTCRFn_M            (0x00800000)
700#define MCF548X_CTM_CTCRFn_IM           (0x01000000)
701#define MCF548X_CTM_CTCRFn_I            (0x80000000)
702#define MCF548X_CTM_CTCRFn_PCT_100      (0x00000000)
703#define MCF548X_CTM_CTCRFn_PCT_50       (0x00100000)
704#define MCF548X_CTM_CTCRFn_PCT_25       (0x00200000)
705#define MCF548X_CTM_CTCRFn_PCT_12p5     (0x00300000)
706#define MCF548X_CTM_CTCRFn_PCT_6p25     (0x00400000)
707#define MCF548X_CTM_CTCRFn_PCT_OFF      (0x00500000)
708#define MCF548X_CTM_CTCRFn_S_CLK_1      (0x00000000)
709#define MCF548X_CTM_CTCRFn_S_CLK_2      (0x00010000)
710#define MCF548X_CTM_CTCRFn_S_CLK_4      (0x00020000)
711#define MCF548X_CTM_CTCRFn_S_CLK_8      (0x00030000)
712#define MCF548X_CTM_CTCRFn_S_CLK_16     (0x00040000)
713#define MCF548X_CTM_CTCRFn_S_CLK_32     (0x00050000)
714#define MCF548X_CTM_CTCRFn_S_CLK_64     (0x00060000)
715#define MCF548X_CTM_CTCRFn_S_CLK_128    (0x00070000)
716#define MCF548X_CTM_CTCRFn_S_CLK_256    (0x00080000)
717
718/* Bit definitions and macros for MCF548X_CTM_CTCRVn */
719#define MCF548X_CTM_CTCRVn_CRV(x)       (((x)&0x00FFFFFF)<<0)
720#define MCF548X_CTM_CTCRVn_PCT(x)       (((x)&0x00000007)<<24)
721#define MCF548X_CTM_CTCRVn_M            (0x08000000)
722#define MCF548X_CTM_CTCRVn_S(x)         (((x)&0x0000000F)<<28)
723#define MCF548X_CTM_CTCRVn_S_CLK_1      (0x00000000)
724#define MCF548X_CTM_CTCRVn_S_CLK_2      (0x10000000)
725#define MCF548X_CTM_CTCRVn_S_CLK_4      (0x20000000)
726#define MCF548X_CTM_CTCRVn_S_CLK_8      (0x30000000)
727#define MCF548X_CTM_CTCRVn_S_CLK_16     (0x40000000)
728#define MCF548X_CTM_CTCRVn_S_CLK_32     (0x50000000)
729#define MCF548X_CTM_CTCRVn_S_CLK_64     (0x60000000)
730#define MCF548X_CTM_CTCRVn_S_CLK_128    (0x70000000)
731#define MCF548X_CTM_CTCRVn_S_CLK_256    (0x80000000)
732#define MCF548X_CTM_CTCRVn_PCT_100      (0x00000000)
733#define MCF548X_CTM_CTCRVn_PCT_50       (0x01000000)
734#define MCF548X_CTM_CTCRVn_PCT_25       (0x02000000)
735#define MCF548X_CTM_CTCRVn_PCT_12p5     (0x03000000)
736#define MCF548X_CTM_CTCRVn_PCT_6p25     (0x04000000)
737#define MCF548X_CTM_CTCRVn_PCT_OFF      (0x05000000)
738
739/*********************************************************************
740*
741* DMA Serial Peripheral Interface (DSPI)
742*
743*********************************************************************/
744
745/* Register read/write macros */
746#define MCF548X_DSPI_DMCR         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A00)))
747#define MCF548X_DSPI_DTCR         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A08)))
748#define MCF548X_DSPI_DCTAR0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A0C)))
749#define MCF548X_DSPI_DCTAR1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A10)))
750#define MCF548X_DSPI_DCTAR2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A14)))
751#define MCF548X_DSPI_DCTAR3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A18)))
752#define MCF548X_DSPI_DCTAR4       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A1C)))
753#define MCF548X_DSPI_DCTAR5       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A20)))
754#define MCF548X_DSPI_DCTAR6       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A24)))
755#define MCF548X_DSPI_DCTAR7       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A28)))
756#define MCF548X_DSPI_DCTARn(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A0CU+((x)*0x004))))
757#define MCF548X_DSPI_DSR          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A2C)))
758#define MCF548X_DSPI_DIRSR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A30)))
759#define MCF548X_DSPI_DTFR         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A34)))
760#define MCF548X_DSPI_DRFR         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A38)))
761#define MCF548X_DSPI_DTFDR0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A3C)))
762#define MCF548X_DSPI_DTFDR1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A40)))
763#define MCF548X_DSPI_DTFDR2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A44)))
764#define MCF548X_DSPI_DTFDR3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A48)))
765#define MCF548X_DSPI_DTFDRn(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A3CU+((x)*0x004))))
766#define MCF548X_DSPI_DRFDR0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A7C)))
767#define MCF548X_DSPI_DRFDR1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A80)))
768#define MCF548X_DSPI_DRFDR2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A84)))
769#define MCF548X_DSPI_DRFDR3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A88)))
770#define MCF548X_DSPI_DRFDRn(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008A7CU+((x)*0x004))))
771
772/* Bit definitions and macros for MCF548X_DSPI_DMCR */
773#define MCF548X_DSPI_DMCR_HALT             (0x00000001)
774#define MCF548X_DSPI_DMCR_SMPL_PT(x)       (((x)&0x00000003)<<8)
775#define MCF548X_DSPI_DMCR_CRXF             (0x00000400)
776#define MCF548X_DSPI_DMCR_CTXF             (0x00000800)
777#define MCF548X_DSPI_DMCR_DRXF             (0x00001000)
778#define MCF548X_DSPI_DMCR_DTXF             (0x00002000)
779#define MCF548X_DSPI_DMCR_CSIS0            (0x00010000)
780#define MCF548X_DSPI_DMCR_CSIS2            (0x00040000)
781#define MCF548X_DSPI_DMCR_CSIS3            (0x00080000)
782#define MCF548X_DSPI_DMCR_CSIS5            (0x00200000)
783#define MCF548X_DSPI_DMCR_ROOE             (0x01000000)
784#define MCF548X_DSPI_DMCR_PCSSE            (0x02000000)
785#define MCF548X_DSPI_DMCR_MTFE             (0x04000000)
786#define MCF548X_DSPI_DMCR_FRZ              (0x08000000)
787#define MCF548X_DSPI_DMCR_DCONF(x)         (((x)&0x00000003)<<28)
788#define MCF548X_DSPI_DMCR_CSCK             (0x40000000)
789#define MCF548X_DSPI_DMCR_MSTR             (0x80000000)
790
791/* Bit definitions and macros for MCF548X_DSPI_DTCR */
792#define MCF548X_DSPI_DTCR_SPI_TCNT(x)      (((x)&0x0000FFFF)<<16)
793
794/* Bit definitions and macros for MCF548X_DSPI_DCTARn */
795#define MCF548X_DSPI_DCTARn_BR(x)          (((x)&0x0000000F)<<0)
796#define MCF548X_DSPI_DCTARn_DT(x)          (((x)&0x0000000F)<<4)
797#define MCF548X_DSPI_DCTARn_ASC(x)         (((x)&0x0000000F)<<8)
798#define MCF548X_DSPI_DCTARn_CSSCK(x)       (((x)&0x0000000F)<<12)
799#define MCF548X_DSPI_DCTARn_PBR(x)         (((x)&0x00000003)<<16)
800#define MCF548X_DSPI_DCTARn_PDT(x)         (((x)&0x00000003)<<18)
801#define MCF548X_DSPI_DCTARn_PASC(x)        (((x)&0x00000003)<<20)
802#define MCF548X_DSPI_DCTARn_PCSSCK(x)      (((x)&0x00000003)<<22)
803#define MCF548X_DSPI_DCTARn_LSBFE          (0x01000000)
804#define MCF548X_DSPI_DCTARn_CPHA           (0x02000000)
805#define MCF548X_DSPI_DCTARn_CPOL           (0x04000000)
806#define MCF548X_DSPI_DCTARn_TRSZ(x)        (((x)&0x0000000F)<<27)
807#define MCF548X_DSPI_DCTARn_PCSSCK_1CLK    (0x00000000)
808#define MCF548X_DSPI_DCTARn_PCSSCK_3CLK    (0x00400000)
809#define MCF548X_DSPI_DCTARn_PCSSCK_5CLK    (0x00800000)
810#define MCF548X_DSPI_DCTARn_PCSSCK_7CLK    (0x00A00000)
811#define MCF548X_DSPI_DCTARn_PASC_1CLK      (0x00000000)
812#define MCF548X_DSPI_DCTARn_PASC_3CLK      (0x00100000)
813#define MCF548X_DSPI_DCTARn_PASC_5CLK      (0x00200000)
814#define MCF548X_DSPI_DCTARn_PASC_7CLK      (0x00300000)
815#define MCF548X_DSPI_DCTARn_PDT_1CLK       (0x00000000)
816#define MCF548X_DSPI_DCTARn_PDT_3CLK       (0x00040000)
817#define MCF548X_DSPI_DCTARn_PDT_5CLK       (0x00080000)
818#define MCF548X_DSPI_DCTARn_PDT_7CLK       (0x000A0000)
819#define MCF548X_DSPI_DCTARn_PBR_1CLK       (0x00000000)
820#define MCF548X_DSPI_DCTARn_PBR_3CLK       (0x00010000)
821#define MCF548X_DSPI_DCTARn_PBR_5CLK       (0x00020000)
822#define MCF548X_DSPI_DCTARn_PBR_7CLK       (0x00030000)
823
824/* Bit definitions and macros for MCF548X_DSPI_DSR */
825#define MCF548X_DSPI_DSR_RXPTR(x)          (((x)&0x0000000F)<<0)
826#define MCF548X_DSPI_DSR_RXCTR(x)          (((x)&0x0000000F)<<4)
827#define MCF548X_DSPI_DSR_TXPTR(x)          (((x)&0x0000000F)<<8)
828#define MCF548X_DSPI_DSR_TXCTR(x)          (((x)&0x0000000F)<<12)
829#define MCF548X_DSPI_DSR_RFDF              (0x00020000)
830#define MCF548X_DSPI_DSR_RFOF              (0x00080000)
831#define MCF548X_DSPI_DSR_TFFF              (0x02000000)
832#define MCF548X_DSPI_DSR_TFUF              (0x08000000)
833#define MCF548X_DSPI_DSR_EOQF              (0x10000000)
834#define MCF548X_DSPI_DSR_TXRXS             (0x40000000)
835#define MCF548X_DSPI_DSR_TCF               (0x80000000)
836
837/* Bit definitions and macros for MCF548X_DSPI_DIRSR */
838#define MCF548X_DSPI_DIRSR_RFDFS           (0x00010000)
839#define MCF548X_DSPI_DIRSR_RFDFE           (0x00020000)
840#define MCF548X_DSPI_DIRSR_RFOFE           (0x00080000)
841#define MCF548X_DSPI_DIRSR_TFFFS           (0x01000000)
842#define MCF548X_DSPI_DIRSR_TFFFE           (0x02000000)
843#define MCF548X_DSPI_DIRSR_TFUFE           (0x08000000)
844#define MCF548X_DSPI_DIRSR_EOQFE           (0x10000000)
845#define MCF548X_DSPI_DIRSR_TCFE            (0x80000000)
846
847/* Bit definitions and macros for MCF548X_DSPI_DTFR */
848#define MCF548X_DSPI_DTFR_TXDATA(x)        (((x)&0x0000FFFF)<<0)
849#define MCF548X_DSPI_DTFR_CS0              (0x00010000)
850#define MCF548X_DSPI_DTFR_CS2              (0x00040000)
851#define MCF548X_DSPI_DTFR_CS3              (0x00080000)
852#define MCF548X_DSPI_DTFR_CS5              (0x00200000)
853#define MCF548X_DSPI_DTFR_CTCNT            (0x04000000)
854#define MCF548X_DSPI_DTFR_EOQ              (0x08000000)
855#define MCF548X_DSPI_DTFR_CTAS(x)          (((x)&0x00000007)<<28)
856#define MCF548X_DSPI_DTFR_CONT             (0x80000000)
857
858/* Bit definitions and macros for MCF548X_DSPI_DRFR */
859#define MCF548X_DSPI_DRFR_RXDATA(x)        (((x)&0x0000FFFF)<<0)
860
861/* Bit definitions and macros for MCF548X_DSPI_DTFDRn */
862#define MCF548X_DSPI_DTFDRn_TXDATA(x)      (((x)&0x0000FFFF)<<0)
863#define MCF548X_DSPI_DTFDRn_TXCMD(x)       (((x)&0x0000FFFF)<<16)
864
865/* Bit definitions and macros for MCF548X_DSPI_DRFDRn */
866#define MCF548X_DSPI_DRFDRn_RXDATA(x)      (((x)&0x0000FFFF)<<0)
867
868
869/*********************************************************************
870*
871* Edge Port Module (EPORT)
872*
873*********************************************************************/
874
875/* Register read/write macros */
876#define MCF548X_EPORT_EPPAR    (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x000F00)))
877#define MCF548X_EPORT_EPDDR    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000F04)))
878#define MCF548X_EPORT_EPIER    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000F05)))
879#define MCF548X_EPORT_EPDR     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000F08)))
880#define MCF548X_EPORT_EPPDR    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000F09)))
881#define MCF548X_EPORT_EPFR     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000F0C)))
882
883/* Bit definitions and macros for MCF548X_EPORT_EPPAR */
884#define MCF548X_EPORT_EPPAR_EPPA1(x)         (((x)&0x0003)<<2)
885#define MCF548X_EPORT_EPPAR_EPPA2(x)         (((x)&0x0003)<<4)
886#define MCF548X_EPORT_EPPAR_EPPA3(x)         (((x)&0x0003)<<6)
887#define MCF548X_EPORT_EPPAR_EPPA4(x)         (((x)&0x0003)<<8)
888#define MCF548X_EPORT_EPPAR_EPPA5(x)         (((x)&0x0003)<<10)
889#define MCF548X_EPORT_EPPAR_EPPA6(x)         (((x)&0x0003)<<12)
890#define MCF548X_EPORT_EPPAR_EPPA7(x)         (((x)&0x0003)<<14)
891#define MCF548X_EPORT_EPPAR_EPPAx_LEVEL      (0)
892#define MCF548X_EPORT_EPPAR_EPPAx_RISING     (1)
893#define MCF548X_EPORT_EPPAR_EPPAx_FALLING    (2)
894#define MCF548X_EPORT_EPPAR_EPPAx_BOTH       (3)
895
896/* Bit definitions and macros for MCF548X_EPORT_EPDDR */
897#define MCF548X_EPORT_EPDDR_EPDD1            (0x02)
898#define MCF548X_EPORT_EPDDR_EPDD2            (0x04)
899#define MCF548X_EPORT_EPDDR_EPDD3            (0x08)
900#define MCF548X_EPORT_EPDDR_EPDD4            (0x10)
901#define MCF548X_EPORT_EPDDR_EPDD5            (0x20)
902#define MCF548X_EPORT_EPDDR_EPDD6            (0x40)
903#define MCF548X_EPORT_EPDDR_EPDD7            (0x80)
904
905/* Bit definitions and macros for MCF548X_EPORT_EPIER */
906#define MCF548X_EPORT_EPIER_EPIE1            (0x02)
907#define MCF548X_EPORT_EPIER_EPIE2            (0x04)
908#define MCF548X_EPORT_EPIER_EPIE3            (0x08)
909#define MCF548X_EPORT_EPIER_EPIE4            (0x10)
910#define MCF548X_EPORT_EPIER_EPIE5            (0x20)
911#define MCF548X_EPORT_EPIER_EPIE6            (0x40)
912#define MCF548X_EPORT_EPIER_EPIE7            (0x80)
913
914/* Bit definitions and macros for MCF548X_EPORT_EPDR */
915#define MCF548X_EPORT_EPDR_EPD1              (0x02)
916#define MCF548X_EPORT_EPDR_EPD2              (0x04)
917#define MCF548X_EPORT_EPDR_EPD3              (0x08)
918#define MCF548X_EPORT_EPDR_EPD4              (0x10)
919#define MCF548X_EPORT_EPDR_EPD5              (0x20)
920#define MCF548X_EPORT_EPDR_EPD6              (0x40)
921#define MCF548X_EPORT_EPDR_EPD7              (0x80)
922
923/* Bit definitions and macros for MCF548X_EPORT_EPPDR */
924#define MCF548X_EPORT_EPPDR_EPPD1            (0x02)
925#define MCF548X_EPORT_EPPDR_EPPD2            (0x04)
926#define MCF548X_EPORT_EPPDR_EPPD3            (0x08)
927#define MCF548X_EPORT_EPPDR_EPPD4            (0x10)
928#define MCF548X_EPORT_EPPDR_EPPD5            (0x20)
929#define MCF548X_EPORT_EPPDR_EPPD6            (0x40)
930#define MCF548X_EPORT_EPPDR_EPPD7            (0x80)
931
932/* Bit definitions and macros for MCF548X_EPORT_EPFR */
933#define MCF548X_EPORT_EPFR_EPF1              (0x02)
934#define MCF548X_EPORT_EPFR_EPF2              (0x04)
935#define MCF548X_EPORT_EPFR_EPF3              (0x08)
936#define MCF548X_EPORT_EPFR_EPF4              (0x10)
937#define MCF548X_EPORT_EPFR_EPF5              (0x20)
938#define MCF548X_EPORT_EPFR_EPF6              (0x40)
939#define MCF548X_EPORT_EPFR_EPF7              (0x80)
940
941/*********************************************************************
942*
943* FlexBus Chip Selects (FBCS)
944*
945*********************************************************************/
946
947/* Register read/write macros */
948#define MCF548X_FBCS_CSAR0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000500)))
949#define MCF548X_FBCS_CSMR0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000504)))
950#define MCF548X_FBCS_CSCR0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000508)))
951#define MCF548X_FBCS_CSAR1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00050C)))
952#define MCF548X_FBCS_CSMR1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000510)))
953#define MCF548X_FBCS_CSCR1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000514)))
954#define MCF548X_FBCS_CSAR2      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000518)))
955#define MCF548X_FBCS_CSMR2      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00051C)))
956#define MCF548X_FBCS_CSCR2      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000520)))
957#define MCF548X_FBCS_CSAR3      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000524)))
958#define MCF548X_FBCS_CSMR3      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000528)))
959#define MCF548X_FBCS_CSCR3      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00052C)))
960#define MCF548X_FBCS_CSAR4      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000530)))
961#define MCF548X_FBCS_CSMR4      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000534)))
962#define MCF548X_FBCS_CSCR4      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000538)))
963#define MCF548X_FBCS_CSAR5      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00053C)))
964#define MCF548X_FBCS_CSMR5      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000540)))
965#define MCF548X_FBCS_CSCR5      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000544)))
966#define MCF548X_FBCS_CSAR(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000500U+((x)*0x00C))))
967#define MCF548X_FBCS_CSMR(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000504U+((x)*0x00C))))
968#define MCF548X_FBCS_CSCR(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000508U+((x)*0x00C))))
969
970/* Bit definitions and macros for MCF548X_FBCS_CSAR */
971#define MCF548X_FBCS_CSAR_BA(x)        ((x)&0xFFFF0000)
972
973/* Bit definitions and macros for MCF548X_FBCS_CSMR */
974#define MCF548X_FBCS_CSMR_V            (0x00000001)
975#define MCF548X_FBCS_CSMR_WP           (0x00000100)
976#define MCF548X_FBCS_CSMR_BAM(x)       (((x)&0x0000FFFF)<<16)
977#define MCF548X_FBCS_CSMR_BAM_4G       (0xFFFF0000)
978#define MCF548X_FBCS_CSMR_BAM_2G       (0x7FFF0000)
979#define MCF548X_FBCS_CSMR_BAM_1G       (0x3FFF0000)
980#define MCF548X_FBCS_CSMR_BAM_1024M    (0x3FFF0000)
981#define MCF548X_FBCS_CSMR_BAM_512M     (0x1FFF0000)
982#define MCF548X_FBCS_CSMR_BAM_256M     (0x0FFF0000)
983#define MCF548X_FBCS_CSMR_BAM_128M     (0x07FF0000)
984#define MCF548X_FBCS_CSMR_BAM_64M      (0x03FF0000)
985#define MCF548X_FBCS_CSMR_BAM_32M      (0x01FF0000)
986#define MCF548X_FBCS_CSMR_BAM_16M      (0x00FF0000)
987#define MCF548X_FBCS_CSMR_BAM_8M       (0x007F0000)
988#define MCF548X_FBCS_CSMR_BAM_4M       (0x003F0000)
989#define MCF548X_FBCS_CSMR_BAM_2M       (0x001F0000)
990#define MCF548X_FBCS_CSMR_BAM_1M       (0x000F0000)
991#define MCF548X_FBCS_CSMR_BAM_1024K    (0x000F0000)
992#define MCF548X_FBCS_CSMR_BAM_512K     (0x00070000)
993#define MCF548X_FBCS_CSMR_BAM_256K     (0x00030000)
994#define MCF548X_FBCS_CSMR_BAM_128K     (0x00010000)
995#define MCF548X_FBCS_CSMR_BAM_64K      (0x00000000)
996
997/* Bit definitions and macros for MCF548X_FBCS_CSCR */
998#define MCF548X_FBCS_CSCR_BSTW         (0x00000008)
999#define MCF548X_FBCS_CSCR_BSTR         (0x00000010)
1000#define MCF548X_FBCS_CSCR_PS(x)        (((x)&0x00000003)<<6)
1001#define MCF548X_FBCS_CSCR_AA           (0x00000100)
1002#define MCF548X_FBCS_CSCR_WS(x)        (((x)&0x0000003F)<<10)
1003#define MCF548X_FBCS_CSCR_WRAH(x)      (((x)&0x00000003)<<16)
1004#define MCF548X_FBCS_CSCR_RDAH(x)      (((x)&0x00000003)<<18)
1005#define MCF548X_FBCS_CSCR_ASET(x)      (((x)&0x00000003)<<20)
1006#define MCF548X_FBCS_CSCR_SWSEN        (0x00800000)
1007#define MCF548X_FBCS_CSCR_SWS(x)       (((x)&0x0000003F)<<26)
1008#define MCF548X_FBCS_CSCR_PS_8         (0x00000040)
1009#define MCF548X_FBCS_CSCR_PS_16        (0x00000080)
1010#define MCF548X_FBCS_CSCR_PS_32        (0x00000000)
1011
1012
1013/*********************************************************************
1014*
1015* General Purpose I/O (GPIO)
1016*
1017*********************************************************************/
1018
1019/* Register read/write macros */
1020#define MCF548X_GPIO_PODR_FBCTL         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A00)))
1021#define MCF548X_GPIO_PODR_FBCS          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A01)))
1022#define MCF548X_GPIO_PODR_DMA           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A02)))
1023#define MCF548X_GPIO_PODR_FEC0H         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A04)))
1024#define MCF548X_GPIO_PODR_FEC0L         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A05)))
1025#define MCF548X_GPIO_PODR_FEC1H         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A06)))
1026#define MCF548X_GPIO_PODR_FEC1L         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A07)))
1027#define MCF548X_GPIO_PODR_FECI2C        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A08)))
1028#define MCF548X_GPIO_PODR_PCIBG         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A09)))
1029#define MCF548X_GPIO_PODR_PCIBR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A0A)))
1030#define MCF548X_GPIO_PODR_PSC3PSC2      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A0C)))
1031#define MCF548X_GPIO_PODR_PSC1PSC0      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A0D)))
1032#define MCF548X_GPIO_PODR_DSPI          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A0E)))
1033#define MCF548X_GPIO_PDDR_FBCTL         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A10)))
1034#define MCF548X_GPIO_PDDR_FBCS          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A11)))
1035#define MCF548X_GPIO_PDDR_DMA           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A12)))
1036#define MCF548X_GPIO_PDDR_FEC0H         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A14)))
1037#define MCF548X_GPIO_PDDR_FEC0L         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A15)))
1038#define MCF548X_GPIO_PDDR_FEC1H         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A16)))
1039#define MCF548X_GPIO_PDDR_FEC1L         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A17)))
1040#define MCF548X_GPIO_PDDR_FECI2C        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A18)))
1041#define MCF548X_GPIO_PDDR_PCIBG         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A19)))
1042#define MCF548X_GPIO_PDDR_PCIBR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A1A)))
1043#define MCF548X_GPIO_PDDR_PSC3PSC2      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A1C)))
1044#define MCF548X_GPIO_PDDR_PSC1PSC0      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A1D)))
1045#define MCF548X_GPIO_PDDR_DSPI          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A1E)))
1046#define MCF548X_GPIO_PPDSDR_FBCTL       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A20)))
1047#define MCF548X_GPIO_PPDSDR_FBCS        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A21)))
1048#define MCF548X_GPIO_PPDSDR_DMA         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A22)))
1049#define MCF548X_GPIO_PPDSDR_FEC0H       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A24)))
1050#define MCF548X_GPIO_PPDSDR_FEC0L       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A25)))
1051#define MCF548X_GPIO_PPDSDR_FEC1H       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A26)))
1052#define MCF548X_GPIO_PPDSDR_FEC1L       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A27)))
1053#define MCF548X_GPIO_PPDSDR_FECI2C      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A28)))
1054#define MCF548X_GPIO_PPDSDR_PCIBG       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A29)))
1055#define MCF548X_GPIO_PPDSDR_PCIBR       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A2A)))
1056#define MCF548X_GPIO_PPDSDR_PSC3PSC2    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A2C)))
1057#define MCF548X_GPIO_PPDSDR_PSC1PSC0    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A2D)))
1058#define MCF548X_GPIO_PPDSDR_DSPI        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A2E)))
1059#define MCF548X_GPIO_PCLRR_FBCTL        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A30)))
1060#define MCF548X_GPIO_PCLRR_FBCS         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A31)))
1061#define MCF548X_GPIO_PCLRR_DMA          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A32)))
1062#define MCF548X_GPIO_PCLRR_FEC0H        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A34)))
1063#define MCF548X_GPIO_PCLRR_FEC0L        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A35)))
1064#define MCF548X_GPIO_PCLRR_FEC1H        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A36)))
1065#define MCF548X_GPIO_PCLRR_FEC1L        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A37)))
1066#define MCF548X_GPIO_PCLRR_FECI2C       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A38)))
1067#define MCF548X_GPIO_PCLRR_PCIBG        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A39)))
1068#define MCF548X_GPIO_PCLRR_PCIBR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A3A)))
1069#define MCF548X_GPIO_PCLRR_PSC3PSC2     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A3C)))
1070#define MCF548X_GPIO_PCLRR_PSC1PSC0     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A3D)))
1071#define MCF548X_GPIO_PCLRR_DSPI         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A3E)))
1072#define MCF548X_GPIO_PAR_FBCTL          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x000A40)))
1073#define MCF548X_GPIO_PAR_FBCS           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A42)))
1074#define MCF548X_GPIO_PAR_DMA            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A43)))
1075#define MCF548X_GPIO_PAR_FECI2CIRQ      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x000A44)))
1076#define MCF548X_GPIO_PAR_PCIBG          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x000A48)))
1077#define MCF548X_GPIO_PAR_PCIBR          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x000A4A)))
1078#define MCF548X_GPIO_PAR_PSC3           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A4C)))
1079#define MCF548X_GPIO_PAR_PSC2           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A4D)))
1080#define MCF548X_GPIO_PAR_PSC1           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A4E)))
1081#define MCF548X_GPIO_PAR_PSC0           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A4F)))
1082#define MCF548X_GPIO_PAR_DSPI           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x000A50)))
1083#define MCF548X_GPIO_PAR_TIMER          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000A52)))
1084
1085/* Bit definitions and macros for MCF548X_GPIO_PODR_FBCTL */
1086#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL0              (0x01)
1087#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL1              (0x02)
1088#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL2              (0x04)
1089#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL3              (0x08)
1090#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL4              (0x10)
1091#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL5              (0x20)
1092#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL6              (0x40)
1093#define MCF548X_GPIO_PODR_FBCTL_PODR_FBCTL7              (0x80)
1094
1095/* Bit definitions and macros for MCF548X_GPIO_PODR_FBCS */
1096#define MCF548X_GPIO_PODR_FBCS_PODR_FBCS1                (0x02)
1097#define MCF548X_GPIO_PODR_FBCS_PODR_FBCS2                (0x04)
1098#define MCF548X_GPIO_PODR_FBCS_PODR_FBCS3                (0x08)
1099#define MCF548X_GPIO_PODR_FBCS_PODR_FBCS4                (0x10)
1100#define MCF548X_GPIO_PODR_FBCS_PODR_FBCS5                (0x20)
1101
1102/* Bit definitions and macros for MCF548X_GPIO_PODR_DMA */
1103#define MCF548X_GPIO_PODR_DMA_PODR_DMA0                  (0x01)
1104#define MCF548X_GPIO_PODR_DMA_PODR_DMA1                  (0x02)
1105#define MCF548X_GPIO_PODR_DMA_PODR_DMA2                  (0x04)
1106#define MCF548X_GPIO_PODR_DMA_PODR_DMA3                  (0x08)
1107
1108/* Bit definitions and macros for MCF548X_GPIO_PODR_FEC0H */
1109#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H0              (0x01)
1110#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H1              (0x02)
1111#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H2              (0x04)
1112#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H3              (0x08)
1113#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H4              (0x10)
1114#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H5              (0x20)
1115#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H6              (0x40)
1116#define MCF548X_GPIO_PODR_FEC0H_PODR_FEC0H7              (0x80)
1117
1118/* Bit definitions and macros for MCF548X_GPIO_PODR_FEC0L */
1119#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L0              (0x01)
1120#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L1              (0x02)
1121#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L2              (0x04)
1122#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L3              (0x08)
1123#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L4              (0x10)
1124#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L5              (0x20)
1125#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L6              (0x40)
1126#define MCF548X_GPIO_PODR_FEC0L_PODR_FEC0L7              (0x80)
1127
1128/* Bit definitions and macros for MCF548X_GPIO_PODR_FEC1H */
1129#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H0              (0x01)
1130#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H1              (0x02)
1131#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H2              (0x04)
1132#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H3              (0x08)
1133#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H4              (0x10)
1134#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H5              (0x20)
1135#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H6              (0x40)
1136#define MCF548X_GPIO_PODR_FEC1H_PODR_FEC1H7              (0x80)
1137
1138/* Bit definitions and macros for MCF548X_GPIO_PODR_FEC1L */
1139#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L0              (0x01)
1140#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L1              (0x02)
1141#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L2              (0x04)
1142#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L3              (0x08)
1143#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L4              (0x10)
1144#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L5              (0x20)
1145#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L6              (0x40)
1146#define MCF548X_GPIO_PODR_FEC1L_PODR_FEC1L7              (0x80)
1147
1148/* Bit definitions and macros for MCF548X_GPIO_PODR_FECI2C */
1149#define MCF548X_GPIO_PODR_FECI2C_PODR_FECI2C0            (0x01)
1150#define MCF548X_GPIO_PODR_FECI2C_PODR_FECI2C1            (0x02)
1151#define MCF548X_GPIO_PODR_FECI2C_PODR_FECI2C2            (0x04)
1152#define MCF548X_GPIO_PODR_FECI2C_PODR_FECI2C3            (0x08)
1153
1154/* Bit definitions and macros for MCF548X_GPIO_PODR_PCIBG */
1155#define MCF548X_GPIO_PODR_PCIBG_PODR_PCIBG0              (0x01)
1156#define MCF548X_GPIO_PODR_PCIBG_PODR_PCIBG1              (0x02)
1157#define MCF548X_GPIO_PODR_PCIBG_PODR_PCIBG2              (0x04)
1158#define MCF548X_GPIO_PODR_PCIBG_PODR_PCIBG3              (0x08)
1159#define MCF548X_GPIO_PODR_PCIBG_PODR_PCIBG4              (0x10)
1160
1161/* Bit definitions and macros for MCF548X_GPIO_PODR_PCIBR */
1162#define MCF548X_GPIO_PODR_PCIBR_PODR_PCIBR0              (0x01)
1163#define MCF548X_GPIO_PODR_PCIBR_PODR_PCIBR1              (0x02)
1164#define MCF548X_GPIO_PODR_PCIBR_PODR_PCIBR2              (0x04)
1165#define MCF548X_GPIO_PODR_PCIBR_PODR_PCIBR3              (0x08)
1166#define MCF548X_GPIO_PODR_PCIBR_PODR_PCIBR4              (0x10)
1167
1168/* Bit definitions and macros for MCF548X_GPIO_PODR_PSC3PSC2 */
1169#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC20        (0x01)
1170#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC21        (0x02)
1171#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC22        (0x04)
1172#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC23        (0x08)
1173#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC24        (0x10)
1174#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC25        (0x20)
1175#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC26        (0x40)
1176#define MCF548X_GPIO_PODR_PSC3PSC2_PODR_PSC3PSC27        (0x80)
1177
1178/* Bit definitions and macros for MCF548X_GPIO_PODR_PSC1PSC0 */
1179#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC00        (0x01)
1180#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC01        (0x02)
1181#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC02        (0x04)
1182#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC03        (0x08)
1183#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC04        (0x10)
1184#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC05        (0x20)
1185#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC06        (0x40)
1186#define MCF548X_GPIO_PODR_PSC1PSC0_PODR_PSC1PSC07        (0x80)
1187
1188/* Bit definitions and macros for MCF548X_GPIO_PODR_DSPI */
1189#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI0                (0x01)
1190#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI1                (0x02)
1191#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI2                (0x04)
1192#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI3                (0x08)
1193#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI4                (0x10)
1194#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI5                (0x20)
1195#define MCF548X_GPIO_PODR_DSPI_PODR_DSPI6                (0x40)
1196
1197/* Bit definitions and macros for MCF548X_GPIO_PDDR_FBCTL */
1198#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL0              (0x01)
1199#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL1              (0x02)
1200#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL2              (0x04)
1201#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL3              (0x08)
1202#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL4              (0x10)
1203#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL5              (0x20)
1204#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL6              (0x40)
1205#define MCF548X_GPIO_PDDR_FBCTL_PDDR_FBCTL7              (0x80)
1206
1207/* Bit definitions and macros for MCF548X_GPIO_PDDR_FBCS */
1208#define MCF548X_GPIO_PDDR_FBCS_PDDR_FBCS1                (0x02)
1209#define MCF548X_GPIO_PDDR_FBCS_PDDR_FBCS2                (0x04)
1210#define MCF548X_GPIO_PDDR_FBCS_PDDR_FBCS3                (0x08)
1211#define MCF548X_GPIO_PDDR_FBCS_PDDR_FBCS4                (0x10)
1212#define MCF548X_GPIO_PDDR_FBCS_PDDR_FBCS5                (0x20)
1213
1214/* Bit definitions and macros for MCF548X_GPIO_PDDR_DMA */
1215#define MCF548X_GPIO_PDDR_DMA_PDDR_DMA0                  (0x01)
1216#define MCF548X_GPIO_PDDR_DMA_PDDR_DMA1                  (0x02)
1217#define MCF548X_GPIO_PDDR_DMA_PDDR_DMA2                  (0x04)
1218#define MCF548X_GPIO_PDDR_DMA_PDDR_DMA3                  (0x08)
1219
1220/* Bit definitions and macros for MCF548X_GPIO_PDDR_FEC0H */
1221#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H0              (0x01)
1222#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H1              (0x02)
1223#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H2              (0x04)
1224#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H3              (0x08)
1225#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H4              (0x10)
1226#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H5              (0x20)
1227#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H6              (0x40)
1228#define MCF548X_GPIO_PDDR_FEC0H_PDDR_FEC0H7              (0x80)
1229
1230/* Bit definitions and macros for MCF548X_GPIO_PDDR_FEC0L */
1231#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L0              (0x01)
1232#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L1              (0x02)
1233#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L2              (0x04)
1234#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L3              (0x08)
1235#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L4              (0x10)
1236#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L5              (0x20)
1237#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L6              (0x40)
1238#define MCF548X_GPIO_PDDR_FEC0L_PDDR_FEC0L7              (0x80)
1239
1240/* Bit definitions and macros for MCF548X_GPIO_PDDR_FEC1H */
1241#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H0              (0x01)
1242#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H1              (0x02)
1243#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H2              (0x04)
1244#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H3              (0x08)
1245#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H4              (0x10)
1246#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H5              (0x20)
1247#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H6              (0x40)
1248#define MCF548X_GPIO_PDDR_FEC1H_PDDR_FEC1H7              (0x80)
1249
1250/* Bit definitions and macros for MCF548X_GPIO_PDDR_FEC1L */
1251#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L0              (0x01)
1252#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L1              (0x02)
1253#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L2              (0x04)
1254#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L3              (0x08)
1255#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L4              (0x10)
1256#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L5              (0x20)
1257#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L6              (0x40)
1258#define MCF548X_GPIO_PDDR_FEC1L_PDDR_FEC1L7              (0x80)
1259
1260/* Bit definitions and macros for MCF548X_GPIO_PDDR_FECI2C */
1261#define MCF548X_GPIO_PDDR_FECI2C_PDDR_FECI2C0            (0x01)
1262#define MCF548X_GPIO_PDDR_FECI2C_PDDR_FECI2C1            (0x02)
1263#define MCF548X_GPIO_PDDR_FECI2C_PDDR_FECI2C2            (0x04)
1264#define MCF548X_GPIO_PDDR_FECI2C_PDDR_FECI2C3            (0x08)
1265
1266/* Bit definitions and macros for MCF548X_GPIO_PDDR_PCIBG */
1267#define MCF548X_GPIO_PDDR_PCIBG_PDDR_PCIBG0              (0x01)
1268#define MCF548X_GPIO_PDDR_PCIBG_PDDR_PCIBG1              (0x02)
1269#define MCF548X_GPIO_PDDR_PCIBG_PDDR_PCIBG2              (0x04)
1270#define MCF548X_GPIO_PDDR_PCIBG_PDDR_PCIBG3              (0x08)
1271#define MCF548X_GPIO_PDDR_PCIBG_PDDR_PCIBG4              (0x10)
1272
1273/* Bit definitions and macros for MCF548X_GPIO_PDDR_PCIBR */
1274#define MCF548X_GPIO_PDDR_PCIBR_PDDR_PCIBR0              (0x01)
1275#define MCF548X_GPIO_PDDR_PCIBR_PDDR_PCIBR1              (0x02)
1276#define MCF548X_GPIO_PDDR_PCIBR_PDDR_PCIBR2              (0x04)
1277#define MCF548X_GPIO_PDDR_PCIBR_PDDR_PCIBR3              (0x08)
1278#define MCF548X_GPIO_PDDR_PCIBR_PDDR_PCIBR4              (0x10)
1279
1280/* Bit definitions and macros for MCF548X_GPIO_PDDR_PSC3PSC2 */
1281#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC20        (0x01)
1282#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC21        (0x02)
1283#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC22        (0x04)
1284#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC23        (0x08)
1285#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC24        (0x10)
1286#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC25        (0x20)
1287#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC26        (0x40)
1288#define MCF548X_GPIO_PDDR_PSC3PSC2_PDDR_PSC3PSC27        (0x80)
1289
1290/* Bit definitions and macros for MCF548X_GPIO_PDDR_PSC1PSC0 */
1291#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC00        (0x01)
1292#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC01        (0x02)
1293#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC02        (0x04)
1294#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC03        (0x08)
1295#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC04        (0x10)
1296#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC05        (0x20)
1297#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC06        (0x40)
1298#define MCF548X_GPIO_PDDR_PSC1PSC0_PDDR_PSC1PSC07        (0x80)
1299
1300/* Bit definitions and macros for MCF548X_GPIO_PDDR_DSPI */
1301#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI0                (0x01)
1302#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI1                (0x02)
1303#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI2                (0x04)
1304#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI3                (0x08)
1305#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI4                (0x10)
1306#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI5                (0x20)
1307#define MCF548X_GPIO_PDDR_DSPI_PDDR_DSPI6                (0x40)
1308
1309/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FBCTL */
1310#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL0          (0x01)
1311#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL1          (0x02)
1312#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL2          (0x04)
1313#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL3          (0x08)
1314#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL4          (0x10)
1315#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL5          (0x20)
1316#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL6          (0x40)
1317#define MCF548X_GPIO_PPDSDR_FBCTL_PPDSDR_FBCTL7          (0x80)
1318
1319/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FBCS */
1320#define MCF548X_GPIO_PPDSDR_FBCS_PPDSDR_FBCS1            (0x02)
1321#define MCF548X_GPIO_PPDSDR_FBCS_PPDSDR_FBCS2            (0x04)
1322#define MCF548X_GPIO_PPDSDR_FBCS_PPDSDR_FBCS3            (0x08)
1323#define MCF548X_GPIO_PPDSDR_FBCS_PPDSDR_FBCS4            (0x10)
1324#define MCF548X_GPIO_PPDSDR_FBCS_PPDSDR_FBCS5            (0x20)
1325
1326/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_DMA */
1327#define MCF548X_GPIO_PPDSDR_DMA_PPDSDR_DMA0              (0x01)
1328#define MCF548X_GPIO_PPDSDR_DMA_PPDSDR_DMA1              (0x02)
1329#define MCF548X_GPIO_PPDSDR_DMA_PPDSDR_DMA2              (0x04)
1330#define MCF548X_GPIO_PPDSDR_DMA_PPDSDR_DMA3              (0x08)
1331
1332/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FEC0H */
1333#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H0          (0x01)
1334#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H1          (0x02)
1335#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H2          (0x04)
1336#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H3          (0x08)
1337#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H4          (0x10)
1338#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H5          (0x20)
1339#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H6          (0x40)
1340#define MCF548X_GPIO_PPDSDR_FEC0H_PPDSDR_FEC0H7          (0x80)
1341
1342/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FEC0L */
1343#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L0          (0x01)
1344#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L1          (0x02)
1345#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L2          (0x04)
1346#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L3          (0x08)
1347#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L4          (0x10)
1348#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L5          (0x20)
1349#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L6          (0x40)
1350#define MCF548X_GPIO_PPDSDR_FEC0L_PPDSDR_FEC0L7          (0x80)
1351
1352/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FEC1H */
1353#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H0          (0x01)
1354#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H1          (0x02)
1355#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H2          (0x04)
1356#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H3          (0x08)
1357#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H4          (0x10)
1358#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H5          (0x20)
1359#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H6          (0x40)
1360#define MCF548X_GPIO_PPDSDR_FEC1H_PPDSDR_FEC1H7          (0x80)
1361
1362/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FEC1L */
1363#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L0          (0x01)
1364#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L1          (0x02)
1365#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L2          (0x04)
1366#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L3          (0x08)
1367#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L4          (0x10)
1368#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L5          (0x20)
1369#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L6          (0x40)
1370#define MCF548X_GPIO_PPDSDR_FEC1L_PPDSDR_FEC1L7          (0x80)
1371
1372/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_FECI2C */
1373#define MCF548X_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C0        (0x01)
1374#define MCF548X_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C1        (0x02)
1375#define MCF548X_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C2        (0x04)
1376#define MCF548X_GPIO_PPDSDR_FECI2C_PPDSDR_FECI2C3        (0x08)
1377
1378/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_PCIBG */
1379#define MCF548X_GPIO_PPDSDR_PCIBG_PPDSDR_PCIBG0          (0x01)
1380#define MCF548X_GPIO_PPDSDR_PCIBG_PPDSDR_PCIBG1          (0x02)
1381#define MCF548X_GPIO_PPDSDR_PCIBG_PPDSDR_PCIBG2          (0x04)
1382#define MCF548X_GPIO_PPDSDR_PCIBG_PPDSDR_PCIBG3          (0x08)
1383#define MCF548X_GPIO_PPDSDR_PCIBG_PPDSDR_PCIBG4          (0x10)
1384
1385/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_PCIBR */
1386#define MCF548X_GPIO_PPDSDR_PCIBR_PPDSDR_PCIBR0          (0x01)
1387#define MCF548X_GPIO_PPDSDR_PCIBR_PPDSDR_PCIBR1          (0x02)
1388#define MCF548X_GPIO_PPDSDR_PCIBR_PPDSDR_PCIBR2          (0x04)
1389#define MCF548X_GPIO_PPDSDR_PCIBR_PPDSDR_PCIBR3          (0x08)
1390#define MCF548X_GPIO_PPDSDR_PCIBR_PPDSDR_PCIBR4          (0x10)
1391
1392/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_PSC3PSC2 */
1393#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PPDSDR_PSC3PSC20    (0x01)
1394#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PPDSDR_PSC3PSC21    (0x02)
1395#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PPDSDR_PSC3PSC22    (0x04)
1396#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PPDSDR_PSC3PSC23    (0x08)
1397#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PDDR_PSC3PSC24      (0x10)
1398#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PDDR_PSC3PSC25      (0x20)
1399#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PPDSDR_PSC3PSC26    (0x40)
1400#define MCF548X_GPIO_PPDSDR_PSC3PSC2_PPDSDR_PSC3PSC27    (0x80)
1401
1402/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_PSC1PSC0 */
1403#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PPDSDR_PSC1PSC00    (0x01)
1404#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PDDR_PSC1PSC01      (0x02)
1405#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PPDSDR_PSC1PSC02    (0x04)
1406#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PDDR_PSC1PSC03      (0x08)
1407#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PPDSDR_PSC1PSC04    (0x10)
1408#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PPDSDR_PSC1PSC05    (0x20)
1409#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PPDSDR_PSC1PSC06    (0x40)
1410#define MCF548X_GPIO_PPDSDR_PSC1PSC0_PPDSDR_PSC1PSC07    (0x80)
1411
1412/* Bit definitions and macros for MCF548X_GPIO_PPDSDR_DSPI */
1413#define MCF548X_GPIO_PPDSDR_DSPI_PPDSDR_DSPI0            (0x01)
1414#define MCF548X_GPIO_PPDSDR_DSPI_PPDSDR_DSPI1            (0x02)
1415#define MCF548X_GPIO_PPDSDR_DSPI_PPDSDR_DSPI2            (0x04)
1416#define MCF548X_GPIO_PPDSDR_DSPI_PPDSDR_DSPI3            (0x08)
1417#define MCF548X_GPIO_PPDSDR_DSPI_PDDR_DSPI4              (0x10)
1418#define MCF548X_GPIO_PPDSDR_DSPI_PPDSDR_DSPI5            (0x20)
1419#define MCF548X_GPIO_PPDSDR_DSPI_PPDSDR_DSPI6            (0x40)
1420
1421/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FBCTL */
1422#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL0            (0x01)
1423#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL1            (0x02)
1424#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL2            (0x04)
1425#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL3            (0x08)
1426#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL4            (0x10)
1427#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL5            (0x20)
1428#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL6            (0x40)
1429#define MCF548X_GPIO_PCLRR_FBCTL_PCLRR_FBCTL7            (0x80)
1430
1431/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FBCS */
1432#define MCF548X_GPIO_PCLRR_FBCS_PCLRR_FBCS1              (0x02)
1433#define MCF548X_GPIO_PCLRR_FBCS_PCLRR_FBCS2              (0x04)
1434#define MCF548X_GPIO_PCLRR_FBCS_PCLRR_FBCS3              (0x08)
1435#define MCF548X_GPIO_PCLRR_FBCS_PCLRR_FBCS4              (0x10)
1436#define MCF548X_GPIO_PCLRR_FBCS_PCLRR_FBCS5              (0x20)
1437
1438/* Bit definitions and macros for MCF548X_GPIO_PCLRR_DMA */
1439#define MCF548X_GPIO_PCLRR_DMA_PCLRR_DMA0                (0x01)
1440#define MCF548X_GPIO_PCLRR_DMA_PCLRR_DMA1                (0x02)
1441#define MCF548X_GPIO_PCLRR_DMA_PCLRR_DMA2                (0x04)
1442#define MCF548X_GPIO_PCLRR_DMA_PCLRR_DMA3                (0x08)
1443
1444/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FEC0H */
1445#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H0            (0x01)
1446#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H1            (0x02)
1447#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H2            (0x04)
1448#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H3            (0x08)
1449#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H4            (0x10)
1450#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H5            (0x20)
1451#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H6            (0x40)
1452#define MCF548X_GPIO_PCLRR_FEC0H_PCLRR_FEC0H7            (0x80)
1453
1454/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FEC0L */
1455#define MCF548X_GPIO_PCLRR_FEC0L_PCLRR_FEC0L0            (0x01)
1456#define MCF548X_GPIO_PCLRR_FEC0L_PODR_FEC0L1             (0x02)
1457#define MCF548X_GPIO_PCLRR_FEC0L_PCLRR_FEC0L2            (0x04)
1458#define MCF548X_GPIO_PCLRR_FEC0L_PCLRR_FEC0L3            (0x08)
1459#define MCF548X_GPIO_PCLRR_FEC0L_PODR_FEC0L4             (0x10)
1460#define MCF548X_GPIO_PCLRR_FEC0L_PODR_FEC0L5             (0x20)
1461#define MCF548X_GPIO_PCLRR_FEC0L_PODR_FEC0L6             (0x40)
1462#define MCF548X_GPIO_PCLRR_FEC0L_PCLRR_FEC0L7            (0x80)
1463
1464/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FEC1H */
1465#define MCF548X_GPIO_PCLRR_FEC1H_PCLRR_FEC1H0            (0x01)
1466#define MCF548X_GPIO_PCLRR_FEC1H_PCLRR_FEC1H1            (0x02)
1467#define MCF548X_GPIO_PCLRR_FEC1H_PCLRR_FEC1H2            (0x04)
1468#define MCF548X_GPIO_PCLRR_FEC1H_PODR_FEC1H3             (0x08)
1469#define MCF548X_GPIO_PCLRR_FEC1H_PODR_FEC1H4             (0x10)
1470#define MCF548X_GPIO_PCLRR_FEC1H_PCLRR_FEC1H5            (0x20)
1471#define MCF548X_GPIO_PCLRR_FEC1H_PCLRR_FEC1H6            (0x40)
1472#define MCF548X_GPIO_PCLRR_FEC1H_PCLRR_FEC1H7            (0x80)
1473
1474/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FEC1L */
1475#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L0            (0x01)
1476#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L1            (0x02)
1477#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L2            (0x04)
1478#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L3            (0x08)
1479#define MCF548X_GPIO_PCLRR_FEC1L_PODR_FEC1L4             (0x10)
1480#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L5            (0x20)
1481#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L6            (0x40)
1482#define MCF548X_GPIO_PCLRR_FEC1L_PCLRR_FEC1L7            (0x80)
1483
1484/* Bit definitions and macros for MCF548X_GPIO_PCLRR_FECI2C */
1485#define MCF548X_GPIO_PCLRR_FECI2C_PCLRR_FECI2C0          (0x01)
1486#define MCF548X_GPIO_PCLRR_FECI2C_PCLRR_FECI2C1          (0x02)
1487#define MCF548X_GPIO_PCLRR_FECI2C_PODR_FECI2C2           (0x04)
1488#define MCF548X_GPIO_PCLRR_FECI2C_PCLRR_FECI2C3          (0x08)
1489
1490/* Bit definitions and macros for MCF548X_GPIO_PCLRR_PCIBG */
1491#define MCF548X_GPIO_PCLRR_PCIBG_PODR_PCIBG0             (0x01)
1492#define MCF548X_GPIO_PCLRR_PCIBG_PODR_PCIBG1             (0x02)
1493#define MCF548X_GPIO_PCLRR_PCIBG_PODR_PCIBG2             (0x04)
1494#define MCF548X_GPIO_PCLRR_PCIBG_PCLRR_PCIBG3            (0x08)
1495#define MCF548X_GPIO_PCLRR_PCIBG_PCLRR_PCIBG4            (0x10)
1496
1497/* Bit definitions and macros for MCF548X_GPIO_PCLRR_PCIBR */
1498#define MCF548X_GPIO_PCLRR_PCIBR_PCLRR_PCIBR0            (0x01)
1499#define MCF548X_GPIO_PCLRR_PCIBR_PCLRR_PCIBR1            (0x02)
1500#define MCF548X_GPIO_PCLRR_PCIBR_PCLRR_PCIBR2            (0x04)
1501#define MCF548X_GPIO_PCLRR_PCIBR_PODR_PCIBR3             (0x08)
1502#define MCF548X_GPIO_PCLRR_PCIBR_PODR_PCIBR4             (0x10)
1503
1504/* Bit definitions and macros for MCF548X_GPIO_PCLRR_PSC3PSC2 */
1505#define MCF548X_GPIO_PCLRR_PSC3PSC2_PODR_PSC3PSC20       (0x01)
1506#define MCF548X_GPIO_PCLRR_PSC3PSC2_PODR_PSC3PSC21       (0x02)
1507#define MCF548X_GPIO_PCLRR_PSC3PSC2_PCLRR_PSC3PSC22      (0x04)
1508#define MCF548X_GPIO_PCLRR_PSC3PSC2_PCLRR_PSC3PSC23      (0x08)
1509#define MCF548X_GPIO_PCLRR_PSC3PSC2_PCLRR_PSC3PSC24      (0x10)
1510#define MCF548X_GPIO_PCLRR_PSC3PSC2_PODR_PSC3PSC25       (0x20)
1511#define MCF548X_GPIO_PCLRR_PSC3PSC2_PODR_PSC3PSC26       (0x40)
1512#define MCF548X_GPIO_PCLRR_PSC3PSC2_PCLRR_PSC3PSC27      (0x80)
1513
1514/* Bit definitions and macros for MCF548X_GPIO_PCLRR_PSC1PSC0 */
1515#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC00      (0x01)
1516#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC01      (0x02)
1517#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC02      (0x04)
1518#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC03      (0x08)
1519#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC04      (0x10)
1520#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC05      (0x20)
1521#define MCF548X_GPIO_PCLRR_PSC1PSC0_PODR_PSC1PSC06       (0x40)
1522#define MCF548X_GPIO_PCLRR_PSC1PSC0_PCLRR_PSC1PSC07      (0x80)
1523
1524/* Bit definitions and macros for MCF548X_GPIO_PCLRR_DSPI */
1525#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI0              (0x01)
1526#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI1              (0x02)
1527#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI2              (0x04)
1528#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI3              (0x08)
1529#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI4              (0x10)
1530#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI5              (0x20)
1531#define MCF548X_GPIO_PCLRR_DSPI_PCLRR_DSPI6              (0x40)
1532
1533/* Bit definitions and macros for MCF548X_GPIO_PAR_FBCTL */
1534#define MCF548X_GPIO_PAR_FBCTL_PAR_TS(x)                 (((x)&0x0003)<<0)
1535#define MCF548X_GPIO_PAR_FBCTL_PAR_TA                    (0x0004)
1536#define MCF548X_GPIO_PAR_FBCTL_PAR_RWB(x)                (((x)&0x0003)<<4)
1537#define MCF548X_GPIO_PAR_FBCTL_PAR_OE                    (0x0040)
1538#define MCF548X_GPIO_PAR_FBCTL_PAR_BWE0                  (0x0100)
1539#define MCF548X_GPIO_PAR_FBCTL_PAR_BWE1                  (0x0400)
1540#define MCF548X_GPIO_PAR_FBCTL_PAR_BWE2                  (0x1000)
1541#define MCF548X_GPIO_PAR_FBCTL_PAR_BWE3                  (0x4000)
1542#define MCF548X_GPIO_PAR_FBCTL_PAR_TS_GPIO               (0)
1543#define MCF548X_GPIO_PAR_FBCTL_PAR_TS_TBST               (2)
1544#define MCF548X_GPIO_PAR_FBCTL_PAR_TS_TS                 (3)
1545#define MCF548X_GPIO_PAR_FBCTL_PAR_RWB_GPIO              (0x0000)
1546#define MCF548X_GPIO_PAR_FBCTL_PAR_RWB_TBST              (0x0020)
1547#define MCF548X_GPIO_PAR_FBCTL_PAR_RWB_RWB               (0x0030)
1548
1549/* Bit definitions and macros for MCF548X_GPIO_PAR_FBCS */
1550#define MCF548X_GPIO_PAR_FBCS_PAR_CS1                    (0x02)
1551#define MCF548X_GPIO_PAR_FBCS_PAR_CS2                    (0x04)
1552#define MCF548X_GPIO_PAR_FBCS_PAR_CS3                    (0x08)
1553#define MCF548X_GPIO_PAR_FBCS_PAR_CS4                    (0x10)
1554#define MCF548X_GPIO_PAR_FBCS_PAR_CS5                    (0x20)
1555
1556/* Bit definitions and macros for MCF548X_GPIO_PAR_DMA */
1557#define MCF548X_GPIO_PAR_DMA_PAR_DREQ0(x)                (((x)&0x03)<<0)
1558#define MCF548X_GPIO_PAR_DMA_PAR_DREQ1(x)                (((x)&0x03)<<2)
1559#define MCF548X_GPIO_PAR_DMA_PAR_DACK0(x)                (((x)&0x03)<<4)
1560#define MCF548X_GPIO_PAR_DMA_PAR_DACK1(x)                (((x)&0x03)<<6)
1561#define MCF548X_GPIO_PAR_DMA_PAR_DACKx_GPIO              (0)
1562#define MCF548X_GPIO_PAR_DMA_PAR_DACKx_TOUT              (2)
1563#define MCF548X_GPIO_PAR_DMA_PAR_DACKx_DACK              (3)
1564#define MCF548X_GPIO_PAR_DMA_PAR_DREQx_GPIO              (0)
1565#define MCF548X_GPIO_PAR_DMA_PAR_DREQx_TIN               (2)
1566#define MCF548X_GPIO_PAR_DMA_PAR_DREQx_DREQ              (3)
1567
1568/* Bit definitions and macros for MCF548X_GPIO_PAR_FECI2CIRQ */
1569#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_IRQ5              (0x0001)
1570#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_IRQ6              (0x0002)
1571#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_SCL               (0x0004)
1572#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_SDA               (0x0008)
1573#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDC(x)          (((x)&0x0003)<<6)
1574#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO(x)         (((x)&0x0003)<<8)
1575#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MII             (0x0400)
1576#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E17               (0x0800)
1577#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E0MDC             (0x1000)
1578#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E0MDIO            (0x2000)
1579#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E0MII             (0x4000)
1580#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E07               (0x8000)
1581#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO_CANRX      (0x0000)
1582#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO_SDA        (0x0200)
1583#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDIO_EMDIO      (0x0300)
1584#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDC_CANTX       (0x0000)
1585#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDC_SCL         (0x0080)
1586#define MCF548X_GPIO_PAR_FECI2CIRQ_PAR_E1MDC_EMDC        (0x00C0)
1587
1588/* Bit definitions and macros for MCF548X_GPIO_PAR_PCIBG */
1589#define MCF548X_GPIO_PAR_PCIBG_PAR_PCIBG0(x)             (((x)&0x0003)<<0)
1590#define MCF548X_GPIO_PAR_PCIBG_PAR_PCIBG1(x)             (((x)&0x0003)<<2)
1591#define MCF548X_GPIO_PAR_PCIBG_PAR_PCIBG2(x)             (((x)&0x0003)<<4)
1592#define MCF548X_GPIO_PAR_PCIBG_PAR_PCIBG3(x)             (((x)&0x0003)<<6)
1593#define MCF548X_GPIO_PAR_PCIBG_PAR_PCIBG4(x)             (((x)&0x0003)<<8)
1594
1595/* Bit definitions and macros for MCF548X_GPIO_PAR_PCIBR */
1596#define MCF548X_GPIO_PAR_PCIBR_PAR_PCIBG0(x)             (((x)&0x0003)<<0)
1597#define MCF548X_GPIO_PAR_PCIBR_PAR_PCIBG1(x)             (((x)&0x0003)<<2)
1598#define MCF548X_GPIO_PAR_PCIBR_PAR_PCIBG2(x)             (((x)&0x0003)<<4)
1599#define MCF548X_GPIO_PAR_PCIBR_PAR_PCIBG3(x)             (((x)&0x0003)<<6)
1600#define MCF548X_GPIO_PAR_PCIBR_PAR_PCIBR4(x)             (((x)&0x0003)<<8)
1601
1602/* Bit definitions and macros for MCF548X_GPIO_PAR_PSC3 */
1603#define MCF548X_GPIO_PAR_PSC3_PAR_TXD3                   (0x04)
1604#define MCF548X_GPIO_PAR_PSC3_PAR_RXD3                   (0x08)
1605#define MCF548X_GPIO_PAR_PSC3_PAR_RTS3(x)                (((x)&0x03)<<4)
1606#define MCF548X_GPIO_PAR_PSC3_PAR_CTS3(x)                (((x)&0x03)<<6)
1607#define MCF548X_GPIO_PAR_PSC3_PAR_CTS3_GPIO              (0x00)
1608#define MCF548X_GPIO_PAR_PSC3_PAR_CTS3_BCLK              (0x80)
1609#define MCF548X_GPIO_PAR_PSC3_PAR_CTS3_CTS               (0xC0)
1610#define MCF548X_GPIO_PAR_PSC3_PAR_RTS3_GPIO              (0x00)
1611#define MCF548X_GPIO_PAR_PSC3_PAR_RTS3_FSYNC             (0x20)
1612#define MCF548X_GPIO_PAR_PSC3_PAR_RTS3_RTS               (0x30)
1613#define MCF548X_GPIO_PAR_PSC3_PAR_CTS2_CANRX             (0x40)
1614
1615/* Bit definitions and macros for MCF548X_GPIO_PAR_PSC2 */
1616#define MCF548X_GPIO_PAR_PSC2_PAR_TXD2                   (0x04)
1617#define MCF548X_GPIO_PAR_PSC2_PAR_RXD2                   (0x08)
1618#define MCF548X_GPIO_PAR_PSC2_PAR_RTS2(x)                (((x)&0x03)<<4)
1619#define MCF548X_GPIO_PAR_PSC2_PAR_CTS2(x)                (((x)&0x03)<<6)
1620#define MCF548X_GPIO_PAR_PSC2_PAR_CTS2_GPIO              (0x00)
1621#define MCF548X_GPIO_PAR_PSC2_PAR_CTS2_BCLK              (0x80)
1622#define MCF548X_GPIO_PAR_PSC2_PAR_CTS2_CTS               (0xC0)
1623#define MCF548X_GPIO_PAR_PSC2_PAR_RTS2_GPIO              (0x00)
1624#define MCF548X_GPIO_PAR_PSC2_PAR_RTS2_CANTX             (0x10)
1625#define MCF548X_GPIO_PAR_PSC2_PAR_RTS2_FSYNC             (0x20)
1626#define MCF548X_GPIO_PAR_PSC2_PAR_RTS2_RTS               (0x30)
1627
1628/* Bit definitions and macros for MCF548X_GPIO_PAR_PSC1 */
1629#define MCF548X_GPIO_PAR_PSC1_PAR_TXD1                   (0x04)
1630#define MCF548X_GPIO_PAR_PSC1_PAR_RXD1                   (0x08)
1631#define MCF548X_GPIO_PAR_PSC1_PAR_RTS1(x)                (((x)&0x03)<<4)
1632#define MCF548X_GPIO_PAR_PSC1_PAR_CTS1(x)                (((x)&0x03)<<6)
1633#define MCF548X_GPIO_PAR_PSC1_PAR_CTS1_GPIO              (0x00)
1634#define MCF548X_GPIO_PAR_PSC1_PAR_CTS1_BCLK              (0x80)
1635#define MCF548X_GPIO_PAR_PSC1_PAR_CTS1_CTS               (0xC0)
1636#define MCF548X_GPIO_PAR_PSC1_PAR_RTS1_GPIO              (0x00)
1637#define MCF548X_GPIO_PAR_PSC1_PAR_RTS1_FSYNC             (0x20)
1638#define MCF548X_GPIO_PAR_PSC1_PAR_RTS1_RTS               (0x30)
1639
1640/* Bit definitions and macros for MCF548X_GPIO_PAR_PSC0 */
1641#define MCF548X_GPIO_PAR_PSC0_PAR_TXD0                   (0x04)
1642#define MCF548X_GPIO_PAR_PSC0_PAR_RXD0                   (0x08)
1643#define MCF548X_GPIO_PAR_PSC0_PAR_RTS0(x)                (((x)&0x03)<<4)
1644#define MCF548X_GPIO_PAR_PSC0_PAR_CTS0(x)                (((x)&0x03)<<6)
1645#define MCF548X_GPIO_PAR_PSC0_PAR_CTS0_GPIO              (0x00)
1646#define MCF548X_GPIO_PAR_PSC0_PAR_CTS0_BCLK              (0x80)
1647#define MCF548X_GPIO_PAR_PSC0_PAR_CTS0_CTS               (0xC0)
1648#define MCF548X_GPIO_PAR_PSC0_PAR_RTS0_GPIO              (0x00)
1649#define MCF548X_GPIO_PAR_PSC0_PAR_RTS0_FSYNC             (0x20)
1650#define MCF548X_GPIO_PAR_PSC0_PAR_RTS0_RTS               (0x30)
1651
1652/* Bit definitions and macros for MCF548X_GPIO_PAR_DSPI */
1653#define MCF548X_GPIO_PAR_DSPI_PAR_SOUT(x)                (((x)&0x0003)<<0)
1654#define MCF548X_GPIO_PAR_DSPI_PAR_SIN(x)                 (((x)&0x0003)<<2)
1655#define MCF548X_GPIO_PAR_DSPI_PAR_SCK(x)                 (((x)&0x0003)<<4)
1656#define MCF548X_GPIO_PAR_DSPI_PAR_CS0(x)                 (((x)&0x0003)<<6)
1657#define MCF548X_GPIO_PAR_DSPI_PAR_CS2(x)                 (((x)&0x0003)<<8)
1658#define MCF548X_GPIO_PAR_DSPI_PAR_CS3(x)                 (((x)&0x0003)<<10)
1659#define MCF548X_GPIO_PAR_DSPI_PAR_CS5                    (0x1000)
1660#define MCF548X_GPIO_PAR_DSPI_PAR_CS3_GPIO               (0x0000)
1661#define MCF548X_GPIO_PAR_DSPI_PAR_CS3_CANTX              (0x0400)
1662#define MCF548X_GPIO_PAR_DSPI_PAR_CS3_TOUT               (0x0800)
1663#define MCF548X_GPIO_PAR_DSPI_PAR_CS3_DSPICS             (0x0C00)
1664#define MCF548X_GPIO_PAR_DSPI_PAR_CS2_GPIO               (0x0000)
1665#define MCF548X_GPIO_PAR_DSPI_PAR_CS2_CANTX              (0x0100)
1666#define MCF548X_GPIO_PAR_DSPI_PAR_CS2_TOUT               (0x0200)
1667#define MCF548X_GPIO_PAR_DSPI_PAR_CS2_DSPICS             (0x0300)
1668#define MCF548X_GPIO_PAR_DSPI_PAR_CS0_GPIO               (0x0000)
1669#define MCF548X_GPIO_PAR_DSPI_PAR_CS0_FSYNC              (0x0040)
1670#define MCF548X_GPIO_PAR_DSPI_PAR_CS0_RTS                (0x0080)
1671#define MCF548X_GPIO_PAR_DSPI_PAR_CS0_DSPICS             (0x00C0)
1672#define MCF548X_GPIO_PAR_DSPI_PAR_SCK_GPIO               (0x0000)
1673#define MCF548X_GPIO_PAR_DSPI_PAR_SCK_BCLK               (0x0010)
1674#define MCF548X_GPIO_PAR_DSPI_PAR_SCK_CTS                (0x0020)
1675#define MCF548X_GPIO_PAR_DSPI_PAR_SCK_SCK                (0x0030)
1676#define MCF548X_GPIO_PAR_DSPI_PAR_SIN_GPIO               (0x0000)
1677#define MCF548X_GPIO_PAR_DSPI_PAR_SIN_RXD                (0x0008)
1678#define MCF548X_GPIO_PAR_DSPI_PAR_SIN_SIN                (0x000C)
1679#define MCF548X_GPIO_PAR_DSPI_PAR_SOUT_GPIO              (0x0000)
1680#define MCF548X_GPIO_PAR_DSPI_PAR_SOUT_TXD               (0x0002)
1681#define MCF548X_GPIO_PAR_DSPI_PAR_SOUT_SOUT              (0x0003)
1682
1683/* Bit definitions and macros for MCF548X_GPIO_PAR_TIMER */
1684#define MCF548X_GPIO_PAR_TIMER_PAR_TOUT2                 (0x01)
1685#define MCF548X_GPIO_PAR_TIMER_PAR_TIN2(x)               (((x)&0x03)<<1)
1686#define MCF548X_GPIO_PAR_TIMER_PAR_TOUT3                 (0x08)
1687#define MCF548X_GPIO_PAR_TIMER_PAR_TIN3(x)               (((x)&0x03)<<4)
1688#define MCF548X_GPIO_PAR_TIMER_PAR_TIN3_CANRX            (0x00)
1689#define MCF548X_GPIO_PAR_TIMER_PAR_TIN3_IRQ              (0x20)
1690#define MCF548X_GPIO_PAR_TIMER_PAR_TIN3_TIN              (0x30)
1691#define MCF548X_GPIO_PAR_TIMER_PAR_TIN2_CANRX            (0x00)
1692#define MCF548X_GPIO_PAR_TIMER_PAR_TIN2_IRQ              (0x04)
1693#define MCF548X_GPIO_PAR_TIMER_PAR_TIN2_TIN              (0x06)
1694
1695/*********************************************************************
1696*
1697* General Purpose Timers (GPT)
1698*
1699*********************************************************************/
1700
1701/* Register read/write macros */
1702#define MCF548X_GPT_GMS0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000800)))
1703#define MCF548X_GPT_GCIR0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000804)))
1704#define MCF548X_GPT_GPWM0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000808)))
1705#define MCF548X_GPT_GSR0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00080C)))
1706#define MCF548X_GPT_GMS1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000810)))
1707#define MCF548X_GPT_GCIR1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000814)))
1708#define MCF548X_GPT_GPWM1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000818)))
1709#define MCF548X_GPT_GSR1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00081C)))
1710#define MCF548X_GPT_GMS2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000820)))
1711#define MCF548X_GPT_GCIR2      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000824)))
1712#define MCF548X_GPT_GPWM2      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000828)))
1713#define MCF548X_GPT_GSR2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00082C)))
1714#define MCF548X_GPT_GMS3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000830)))
1715#define MCF548X_GPT_GCIR3      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000834)))
1716#define MCF548X_GPT_GPWM3      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000838)))
1717#define MCF548X_GPT_GSR3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00083C)))
1718#define MCF548X_GPT_GMS(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000800U+((x)*0x010))))
1719#define MCF548X_GPT_GCIR(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000804U+((x)*0x010))))
1720#define MCF548X_GPT_GPWM(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000808U+((x)*0x010))))
1721#define MCF548X_GPT_GSR(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00080CU+((x)*0x010))))
1722
1723/* Bit definitions and macros for MCF548X_GPT_GMS */
1724#define MCF548X_GPT_GMS_TMS(x)         (((x)&0x00000007)<<0)
1725#define MCF548X_GPT_GMS_GPIO(x)        (((x)&0x00000003)<<4)
1726#define MCF548X_GPT_GMS_IEN            (0x00000100)
1727#define MCF548X_GPT_GMS_OD             (0x00000200)
1728#define MCF548X_GPT_GMS_SC             (0x00000400)
1729#define MCF548X_GPT_GMS_CE             (0x00001000)
1730#define MCF548X_GPT_GMS_WDEN           (0x00008000)
1731#define MCF548X_GPT_GMS_ICT(x)         (((x)&0x00000003)<<16)
1732#define MCF548X_GPT_GMS_OCT(x)         (((x)&0x00000003)<<20)
1733#define MCF548X_GPT_GMS_OCPW(x)        (((x)&0x000000FF)<<24)
1734#define MCF548X_GPT_GMS_OCT_FRCLOW     (0x00000000)
1735#define MCF548X_GPT_GMS_OCT_PULSEHI    (0x00100000)
1736#define MCF548X_GPT_GMS_OCT_PULSELO    (0x00200000)
1737#define MCF548X_GPT_GMS_OCT_TOGGLE     (0x00300000)
1738#define MCF548X_GPT_GMS_ICT_ANY        (0x00000000)
1739#define MCF548X_GPT_GMS_ICT_RISE       (0x00010000)
1740#define MCF548X_GPT_GMS_ICT_FALL       (0x00020000)
1741#define MCF548X_GPT_GMS_ICT_PULSE      (0x00030000)
1742#define MCF548X_GPT_GMS_GPIO_INPUT     (0x00000000)
1743#define MCF548X_GPT_GMS_GPIO_OUTLO     (0x00000020)
1744#define MCF548X_GPT_GMS_GPIO_OUTHI     (0x00000030)
1745#define MCF548X_GPT_GMS_TMS_DISABLE    (0x00000000)
1746#define MCF548X_GPT_GMS_TMS_INCAPT     (0x00000001)
1747#define MCF548X_GPT_GMS_TMS_OUTCAPT    (0x00000002)
1748#define MCF548X_GPT_GMS_TMS_PWM        (0x00000003)
1749#define MCF548X_GPT_GMS_TMS_GPIO       (0x00000004)
1750
1751/* Bit definitions and macros for MCF548X_GPT_GCIR */
1752#define MCF548X_GPT_GCIR_CNT(x)        (((x)&0x0000FFFF)<<0)
1753#define MCF548X_GPT_GCIR_PRE(x)        (((x)&0x0000FFFF)<<16)
1754
1755/* Bit definitions and macros for MCF548X_GPT_GPWM */
1756#define MCF548X_GPT_GPWM_LOAD          (0x00000001)
1757#define MCF548X_GPT_GPWM_PWMOP         (0x00000100)
1758#define MCF548X_GPT_GPWM_WIDTH(x)      (((x)&0x0000FFFF)<<16)
1759
1760/* Bit definitions and macros for MCF548X_GPT_GSR */
1761#define MCF548X_GPT_GSR_CAPT           (0x00000001)
1762#define MCF548X_GPT_GSR_COMP           (0x00000002)
1763#define MCF548X_GPT_GSR_PWMP           (0x00000004)
1764#define MCF548X_GPT_GSR_TEXP           (0x00000008)
1765#define MCF548X_GPT_GSR_PIN            (0x00000100)
1766#define MCF548X_GPT_GSR_OVF(x)         (((x)&0x00000007)<<12)
1767#define MCF548X_GPT_GSR_CAPTURE(x)     (((x)&0x0000FFFF)<<16)
1768
1769
1770/*********************************************************************
1771*
1772* I2C Module (I2C)
1773*
1774*********************************************************************/
1775
1776/* Register read/write macros */
1777#define MCF548X_I2C_I2AR     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008F00)))
1778#define MCF548X_I2C_I2FDR    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008F04)))
1779#define MCF548X_I2C_I2CR     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008F08)))
1780#define MCF548X_I2C_I2SR     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008F0C)))
1781#define MCF548X_I2C_I2DR     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008F10)))
1782#define MCF548X_I2C_I2ICR    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008F20)))
1783
1784/* Bit definitions and macros for MCF548X_I2C_I2AR */
1785#define MCF548X_I2C_I2AR_ADR(x)    (((x)&0x7F)<<1)
1786
1787/* Bit definitions and macros for MCF548X_I2C_I2FDR */
1788#define MCF548X_I2C_I2FDR_IC(x)    (((x)&0x3F)<<0)
1789
1790/* Bit definitions and macros for MCF548X_I2C_I2CR */
1791#define MCF548X_I2C_I2CR_RSTA      (0x04)
1792#define MCF548X_I2C_I2CR_TXAK      (0x08)
1793#define MCF548X_I2C_I2CR_MTX       (0x10)
1794#define MCF548X_I2C_I2CR_MSTA      (0x20)
1795#define MCF548X_I2C_I2CR_IIEN      (0x40)
1796#define MCF548X_I2C_I2CR_IEN       (0x80)
1797
1798/* Bit definitions and macros for MCF548X_I2C_I2SR */
1799#define MCF548X_I2C_I2SR_RXAK      (0x01)
1800#define MCF548X_I2C_I2SR_IIF       (0x02)
1801#define MCF548X_I2C_I2SR_SRW       (0x04)
1802#define MCF548X_I2C_I2SR_IAL       (0x10)
1803#define MCF548X_I2C_I2SR_IBB       (0x20)
1804#define MCF548X_I2C_I2SR_IAAS      (0x40)
1805#define MCF548X_I2C_I2SR_ICF       (0x80)
1806
1807/* Bit definitions and macros for MCF548X_I2C_I2ICR */
1808#define MCF548X_I2C_I2ICR_IE       (0x01)
1809#define MCF548X_I2C_I2ICR_RE       (0x02)
1810#define MCF548X_I2C_I2ICR_TE       (0x04)
1811#define MCF548X_I2C_I2ICR_BNBE     (0x08)
1812
1813/*********************************************************************
1814*
1815* Interrupt Controller (INTC)
1816*
1817*********************************************************************/
1818
1819/* Register read/write macros */
1820#define MCF548X_INTC_IPRH         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000700)))
1821#define MCF548X_INTC_IPRL         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000704)))
1822#define MCF548X_INTC_IMRH         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000708)))
1823#define MCF548X_INTC_IMRL         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00070C)))
1824#define MCF548X_INTC_INTFRCH      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000710)))
1825#define MCF548X_INTC_INTFRCL      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000714)))
1826#define MCF548X_INTC_IRLR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000718)))
1827#define MCF548X_INTC_IACKLPR      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000719)))
1828#define MCF548X_INTC_ICR0         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000740)))
1829#define MCF548X_INTC_ICR1         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000741)))
1830#define MCF548X_INTC_ICR2         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000742)))
1831#define MCF548X_INTC_ICR3         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000743)))
1832#define MCF548X_INTC_ICR4         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000744)))
1833#define MCF548X_INTC_ICR5         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000745)))
1834#define MCF548X_INTC_ICR6         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000746)))
1835#define MCF548X_INTC_ICR7         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000747)))
1836#define MCF548X_INTC_ICR8         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000748)))
1837#define MCF548X_INTC_ICR9         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000749)))
1838#define MCF548X_INTC_ICR10        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00074A)))
1839#define MCF548X_INTC_ICR11        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00074B)))
1840#define MCF548X_INTC_ICR12        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00074C)))
1841#define MCF548X_INTC_ICR13        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00074D)))
1842#define MCF548X_INTC_ICR14        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00074E)))
1843#define MCF548X_INTC_ICR15        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00074F)))
1844#define MCF548X_INTC_ICR16        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000750)))
1845#define MCF548X_INTC_ICR17        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000751)))
1846#define MCF548X_INTC_ICR18        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000752)))
1847#define MCF548X_INTC_ICR19        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000753)))
1848#define MCF548X_INTC_ICR20        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000754)))
1849#define MCF548X_INTC_ICR21        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000755)))
1850#define MCF548X_INTC_ICR22        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000756)))
1851#define MCF548X_INTC_ICR23        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000757)))
1852#define MCF548X_INTC_ICR24        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000758)))
1853#define MCF548X_INTC_ICR25        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000759)))
1854#define MCF548X_INTC_ICR26        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00075A)))
1855#define MCF548X_INTC_ICR27        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00075B)))
1856#define MCF548X_INTC_ICR28        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00075C)))
1857#define MCF548X_INTC_ICR29        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00075D)))
1858#define MCF548X_INTC_ICR30        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00075E)))
1859#define MCF548X_INTC_ICR31        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00075F)))
1860#define MCF548X_INTC_ICR32        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000760)))
1861#define MCF548X_INTC_ICR33        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000761)))
1862#define MCF548X_INTC_ICR34        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000762)))
1863#define MCF548X_INTC_ICR35        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000763)))
1864#define MCF548X_INTC_ICR36        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000764)))
1865#define MCF548X_INTC_ICR37        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000765)))
1866#define MCF548X_INTC_ICR38        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000766)))
1867#define MCF548X_INTC_ICR39        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000767)))
1868#define MCF548X_INTC_ICR40        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000768)))
1869#define MCF548X_INTC_ICR41        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000769)))
1870#define MCF548X_INTC_ICR42        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00076A)))
1871#define MCF548X_INTC_ICR43        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00076B)))
1872#define MCF548X_INTC_ICR44        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00076C)))
1873#define MCF548X_INTC_ICR45        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00076D)))
1874#define MCF548X_INTC_ICR46        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00076E)))
1875#define MCF548X_INTC_ICR47        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00076F)))
1876#define MCF548X_INTC_ICR48        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000770)))
1877#define MCF548X_INTC_ICR49        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000771)))
1878#define MCF548X_INTC_ICR50        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000772)))
1879#define MCF548X_INTC_ICR51        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000773)))
1880#define MCF548X_INTC_ICR52        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000774)))
1881#define MCF548X_INTC_ICR53        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000775)))
1882#define MCF548X_INTC_ICR54        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000776)))
1883#define MCF548X_INTC_ICR55        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000777)))
1884#define MCF548X_INTC_ICR56        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000778)))
1885#define MCF548X_INTC_ICR57        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000779)))
1886#define MCF548X_INTC_ICR58        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00077A)))
1887#define MCF548X_INTC_ICR59        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00077B)))
1888#define MCF548X_INTC_ICR60        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00077C)))
1889#define MCF548X_INTC_ICR61        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00077D)))
1890#define MCF548X_INTC_ICR62        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00077E)))
1891#define MCF548X_INTC_ICR63        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00077F)))
1892#define MCF548X_INTC_ICRn(x)      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x000740U+((x)*0x001))))
1893#define MCF548X_INTC_SWIACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007E0)))
1894#define MCF548X_INTC_L1IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007E4)))
1895#define MCF548X_INTC_L2IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007E8)))
1896#define MCF548X_INTC_L3IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007EC)))
1897#define MCF548X_INTC_L4IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007F0)))
1898#define MCF548X_INTC_L5IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007F4)))
1899#define MCF548X_INTC_L6IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007F8)))
1900#define MCF548X_INTC_L7IACK       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007FC)))
1901#define MCF548X_INTC_LnIACK(x)    (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x0007E4U+((x)*0x004))))
1902
1903/* Bit definitions and macros for MCF548X_INTC_IPRH */
1904#define MCF548X_INTC_IPRH_INT32          (0x00000001)
1905#define MCF548X_INTC_IPRH_INT33          (0x00000002)
1906#define MCF548X_INTC_IPRH_INT34          (0x00000004)
1907#define MCF548X_INTC_IPRH_INT35          (0x00000008)
1908#define MCF548X_INTC_IPRH_INT36          (0x00000010)
1909#define MCF548X_INTC_IPRH_INT37          (0x00000020)
1910#define MCF548X_INTC_IPRH_INT38          (0x00000040)
1911#define MCF548X_INTC_IPRH_INT39          (0x00000080)
1912#define MCF548X_INTC_IPRH_INT40          (0x00000100)
1913#define MCF548X_INTC_IPRH_INT41          (0x00000200)
1914#define MCF548X_INTC_IPRH_INT42          (0x00000400)
1915#define MCF548X_INTC_IPRH_INT43          (0x00000800)
1916#define MCF548X_INTC_IPRH_INT44          (0x00001000)
1917#define MCF548X_INTC_IPRH_INT45          (0x00002000)
1918#define MCF548X_INTC_IPRH_INT46          (0x00004000)
1919#define MCF548X_INTC_IPRH_INT47          (0x00008000)
1920#define MCF548X_INTC_IPRH_INT48          (0x00010000)
1921#define MCF548X_INTC_IPRH_INT49          (0x00020000)
1922#define MCF548X_INTC_IPRH_INT50          (0x00040000)
1923#define MCF548X_INTC_IPRH_INT51          (0x00080000)
1924#define MCF548X_INTC_IPRH_INT52          (0x00100000)
1925#define MCF548X_INTC_IPRH_INT53          (0x00200000)
1926#define MCF548X_INTC_IPRH_INT54          (0x00400000)
1927#define MCF548X_INTC_IPRH_INT55          (0x00800000)
1928#define MCF548X_INTC_IPRH_INT56          (0x01000000)
1929#define MCF548X_INTC_IPRH_INT57          (0x02000000)
1930#define MCF548X_INTC_IPRH_INT58          (0x04000000)
1931#define MCF548X_INTC_IPRH_INT59          (0x08000000)
1932#define MCF548X_INTC_IPRH_INT60          (0x10000000)
1933#define MCF548X_INTC_IPRH_INT61          (0x20000000)
1934#define MCF548X_INTC_IPRH_INT62          (0x40000000)
1935#define MCF548X_INTC_IPRH_INT63          (0x80000000)
1936
1937/* Bit definitions and macros for MCF548X_INTC_IPRL */
1938#define MCF548X_INTC_IPRL_INT1           (0x00000002)
1939#define MCF548X_INTC_IPRL_INT2           (0x00000004)
1940#define MCF548X_INTC_IPRL_INT3           (0x00000008)
1941#define MCF548X_INTC_IPRL_INT4           (0x00000010)
1942#define MCF548X_INTC_IPRL_INT5           (0x00000020)
1943#define MCF548X_INTC_IPRL_INT6           (0x00000040)
1944#define MCF548X_INTC_IPRL_INT7           (0x00000080)
1945#define MCF548X_INTC_IPRL_INT8           (0x00000100)
1946#define MCF548X_INTC_IPRL_INT9           (0x00000200)
1947#define MCF548X_INTC_IPRL_INT10          (0x00000400)
1948#define MCF548X_INTC_IPRL_INT11          (0x00000800)
1949#define MCF548X_INTC_IPRL_INT12          (0x00001000)
1950#define MCF548X_INTC_IPRL_INT13          (0x00002000)
1951#define MCF548X_INTC_IPRL_INT14          (0x00004000)
1952#define MCF548X_INTC_IPRL_INT15          (0x00008000)
1953#define MCF548X_INTC_IPRL_INT16          (0x00010000)
1954#define MCF548X_INTC_IPRL_INT17          (0x00020000)
1955#define MCF548X_INTC_IPRL_INT18          (0x00040000)
1956#define MCF548X_INTC_IPRL_INT19          (0x00080000)
1957#define MCF548X_INTC_IPRL_INT20          (0x00100000)
1958#define MCF548X_INTC_IPRL_INT21          (0x00200000)
1959#define MCF548X_INTC_IPRL_INT22          (0x00400000)
1960#define MCF548X_INTC_IPRL_INT23          (0x00800000)
1961#define MCF548X_INTC_IPRL_INT24          (0x01000000)
1962#define MCF548X_INTC_IPRL_INT25          (0x02000000)
1963#define MCF548X_INTC_IPRL_INT26          (0x04000000)
1964#define MCF548X_INTC_IPRL_INT27          (0x08000000)
1965#define MCF548X_INTC_IPRL_INT28          (0x10000000)
1966#define MCF548X_INTC_IPRL_INT29          (0x20000000)
1967#define MCF548X_INTC_IPRL_INT30          (0x40000000)
1968#define MCF548X_INTC_IPRL_INT31          (0x80000000)
1969
1970/* Bit definitions and macros for MCF548X_INTC_IMRH */
1971#define MCF548X_INTC_IMRH_INT_MASK32     (0x00000001)
1972#define MCF548X_INTC_IMRH_INT_MASK33     (0x00000002)
1973#define MCF548X_INTC_IMRH_INT_MASK34     (0x00000004)
1974#define MCF548X_INTC_IMRH_INT_MASK35     (0x00000008)
1975#define MCF548X_INTC_IMRH_INT_MASK36     (0x00000010)
1976#define MCF548X_INTC_IMRH_INT_MASK37     (0x00000020)
1977#define MCF548X_INTC_IMRH_INT_MASK38     (0x00000040)
1978#define MCF548X_INTC_IMRH_INT_MASK39     (0x00000080)
1979#define MCF548X_INTC_IMRH_INT_MASK40     (0x00000100)
1980#define MCF548X_INTC_IMRH_INT_MASK41     (0x00000200)
1981#define MCF548X_INTC_IMRH_INT_MASK42     (0x00000400)
1982#define MCF548X_INTC_IMRH_INT_MASK43     (0x00000800)
1983#define MCF548X_INTC_IMRH_INT_MASK44     (0x00001000)
1984#define MCF548X_INTC_IMRH_INT_MASK45     (0x00002000)
1985#define MCF548X_INTC_IMRH_INT_MASK46     (0x00004000)
1986#define MCF548X_INTC_IMRH_INT_MASK47     (0x00008000)
1987#define MCF548X_INTC_IMRH_INT_MASK48     (0x00010000)
1988#define MCF548X_INTC_IMRH_INT_MASK49     (0x00020000)
1989#define MCF548X_INTC_IMRH_INT_MASK50     (0x00040000)
1990#define MCF548X_INTC_IMRH_INT_MASK51     (0x00080000)
1991#define MCF548X_INTC_IMRH_INT_MASK52     (0x00100000)
1992#define MCF548X_INTC_IMRH_INT_MASK53     (0x00200000)
1993#define MCF548X_INTC_IMRH_INT_MASK54     (0x00400000)
1994#define MCF548X_INTC_IMRH_INT_MASK55     (0x00800000)
1995#define MCF548X_INTC_IMRH_INT_MASK56     (0x01000000)
1996#define MCF548X_INTC_IMRH_INT_MASK57     (0x02000000)
1997#define MCF548X_INTC_IMRH_INT_MASK58     (0x04000000)
1998#define MCF548X_INTC_IMRH_INT_MASK59     (0x08000000)
1999#define MCF548X_INTC_IMRH_INT_MASK60     (0x10000000)
2000#define MCF548X_INTC_IMRH_INT_MASK61     (0x20000000)
2001#define MCF548X_INTC_IMRH_INT_MASK62     (0x40000000)
2002#define MCF548X_INTC_IMRH_INT_MASK63     (0x80000000)
2003
2004/* Bit definitions and macros for MCF548X_INTC_IMRL */
2005#define MCF548X_INTC_IMRL_MASKALL        (0x00000001)
2006#define MCF548X_INTC_IMRL_INT_MASK1      (0x00000002)
2007#define MCF548X_INTC_IMRL_INT_MASK2      (0x00000004)
2008#define MCF548X_INTC_IMRL_INT_MASK3      (0x00000008)
2009#define MCF548X_INTC_IMRL_INT_MASK4      (0x00000010)
2010#define MCF548X_INTC_IMRL_INT_MASK5      (0x00000020)
2011#define MCF548X_INTC_IMRL_INT_MASK6      (0x00000040)
2012#define MCF548X_INTC_IMRL_INT_MASK7      (0x00000080)
2013#define MCF548X_INTC_IMRL_INT_MASK8      (0x00000100)
2014#define MCF548X_INTC_IMRL_INT_MASK9      (0x00000200)
2015#define MCF548X_INTC_IMRL_INT_MASK10     (0x00000400)
2016#define MCF548X_INTC_IMRL_INT_MASK11     (0x00000800)
2017#define MCF548X_INTC_IMRL_INT_MASK12     (0x00001000)
2018#define MCF548X_INTC_IMRL_INT_MASK13     (0x00002000)
2019#define MCF548X_INTC_IMRL_INT_MASK14     (0x00004000)
2020#define MCF548X_INTC_IMRL_INT_MASK15     (0x00008000)
2021#define MCF548X_INTC_IMRL_INT_MASK16     (0x00010000)
2022#define MCF548X_INTC_IMRL_INT_MASK17     (0x00020000)
2023#define MCF548X_INTC_IMRL_INT_MASK18     (0x00040000)
2024#define MCF548X_INTC_IMRL_INT_MASK19     (0x00080000)
2025#define MCF548X_INTC_IMRL_INT_MASK20     (0x00100000)
2026#define MCF548X_INTC_IMRL_INT_MASK21     (0x00200000)
2027#define MCF548X_INTC_IMRL_INT_MASK22     (0x00400000)
2028#define MCF548X_INTC_IMRL_INT_MASK23     (0x00800000)
2029#define MCF548X_INTC_IMRL_INT_MASK24     (0x01000000)
2030#define MCF548X_INTC_IMRL_INT_MASK25     (0x02000000)
2031#define MCF548X_INTC_IMRL_INT_MASK26     (0x04000000)
2032#define MCF548X_INTC_IMRL_INT_MASK27     (0x08000000)
2033#define MCF548X_INTC_IMRL_INT_MASK28     (0x10000000)
2034#define MCF548X_INTC_IMRL_INT_MASK29     (0x20000000)
2035#define MCF548X_INTC_IMRL_INT_MASK30     (0x40000000)
2036#define MCF548X_INTC_IMRL_INT_MASK31     (0x80000000)
2037
2038/* Bit definitions and macros for MCF548X_INTC_INTFRCH */
2039#define MCF548X_INTC_INTFRCH_INTFRC32    (0x00000001)
2040#define MCF548X_INTC_INTFRCH_INTFRC33    (0x00000002)
2041#define MCF548X_INTC_INTFRCH_INTFRC34    (0x00000004)
2042#define MCF548X_INTC_INTFRCH_INTFRC35    (0x00000008)
2043#define MCF548X_INTC_INTFRCH_INTFRC36    (0x00000010)
2044#define MCF548X_INTC_INTFRCH_INTFRC37    (0x00000020)
2045#define MCF548X_INTC_INTFRCH_INTFRC38    (0x00000040)
2046#define MCF548X_INTC_INTFRCH_INTFRC39    (0x00000080)
2047#define MCF548X_INTC_INTFRCH_INTFRC40    (0x00000100)
2048#define MCF548X_INTC_INTFRCH_INTFRC41    (0x00000200)
2049#define MCF548X_INTC_INTFRCH_INTFRC42    (0x00000400)
2050#define MCF548X_INTC_INTFRCH_INTFRC43    (0x00000800)
2051#define MCF548X_INTC_INTFRCH_INTFRC44    (0x00001000)
2052#define MCF548X_INTC_INTFRCH_INTFRC45    (0x00002000)
2053#define MCF548X_INTC_INTFRCH_INTFRC46    (0x00004000)
2054#define MCF548X_INTC_INTFRCH_INTFRC47    (0x00008000)
2055#define MCF548X_INTC_INTFRCH_INTFRC48    (0x00010000)
2056#define MCF548X_INTC_INTFRCH_INTFRC49    (0x00020000)
2057#define MCF548X_INTC_INTFRCH_INTFRC50    (0x00040000)
2058#define MCF548X_INTC_INTFRCH_INTFRC51    (0x00080000)
2059#define MCF548X_INTC_INTFRCH_INTFRC52    (0x00100000)
2060#define MCF548X_INTC_INTFRCH_INTFRC53    (0x00200000)
2061#define MCF548X_INTC_INTFRCH_INTFRC54    (0x00400000)
2062#define MCF548X_INTC_INTFRCH_INTFRC55    (0x00800000)
2063#define MCF548X_INTC_INTFRCH_INTFRC56    (0x01000000)
2064#define MCF548X_INTC_INTFRCH_INTFRC57    (0x02000000)
2065#define MCF548X_INTC_INTFRCH_INTFRC58    (0x04000000)
2066#define MCF548X_INTC_INTFRCH_INTFRC59    (0x08000000)
2067#define MCF548X_INTC_INTFRCH_INTFRC60    (0x10000000)
2068#define MCF548X_INTC_INTFRCH_INTFRC61    (0x20000000)
2069#define MCF548X_INTC_INTFRCH_INTFRC62    (0x40000000)
2070#define MCF548X_INTC_INTFRCH_INTFRC63    (0x80000000)
2071
2072/* Bit definitions and macros for MCF548X_INTC_INTFRCL */
2073#define MCF548X_INTC_INTFRCL_INTFRC1     (0x00000002)
2074#define MCF548X_INTC_INTFRCL_INTFRC2     (0x00000004)
2075#define MCF548X_INTC_INTFRCL_INTFRC3     (0x00000008)
2076#define MCF548X_INTC_INTFRCL_INTFRC4     (0x00000010)
2077#define MCF548X_INTC_INTFRCL_INTFRC5     (0x00000020)
2078#define MCF548X_INTC_INTFRCL_INT6        (0x00000040)
2079#define MCF548X_INTC_INTFRCL_INT7        (0x00000080)
2080#define MCF548X_INTC_INTFRCL_INT8        (0x00000100)
2081#define MCF548X_INTC_INTFRCL_INT9        (0x00000200)
2082#define MCF548X_INTC_INTFRCL_INT10       (0x00000400)
2083#define MCF548X_INTC_INTFRCL_INTFRC11    (0x00000800)
2084#define MCF548X_INTC_INTFRCL_INTFRC12    (0x00001000)
2085#define MCF548X_INTC_INTFRCL_INTFRC13    (0x00002000)
2086#define MCF548X_INTC_INTFRCL_INTFRC14    (0x00004000)
2087#define MCF548X_INTC_INTFRCL_INT15       (0x00008000)
2088#define MCF548X_INTC_INTFRCL_INTFRC16    (0x00010000)
2089#define MCF548X_INTC_INTFRCL_INTFRC17    (0x00020000)
2090#define MCF548X_INTC_INTFRCL_INTFRC18    (0x00040000)
2091#define MCF548X_INTC_INTFRCL_INTFRC19    (0x00080000)
2092#define MCF548X_INTC_INTFRCL_INTFRC20    (0x00100000)
2093#define MCF548X_INTC_INTFRCL_INTFRC21    (0x00200000)
2094#define MCF548X_INTC_INTFRCL_INTFRC22    (0x00400000)
2095#define MCF548X_INTC_INTFRCL_INTFRC23    (0x00800000)
2096#define MCF548X_INTC_INTFRCL_INTFRC24    (0x01000000)
2097#define MCF548X_INTC_INTFRCL_INTFRC25    (0x02000000)
2098#define MCF548X_INTC_INTFRCL_INTFRC26    (0x04000000)
2099#define MCF548X_INTC_INTFRCL_INTFRC27    (0x08000000)
2100#define MCF548X_INTC_INTFRCL_INTFRC28    (0x10000000)
2101#define MCF548X_INTC_INTFRCL_INTFRC29    (0x20000000)
2102#define MCF548X_INTC_INTFRCL_INTFRC30    (0x40000000)
2103#define MCF548X_INTC_INTFRCL_INTFRC31    (0x80000000)
2104
2105/* Bit definitions and macros for MCF548X_INTC_IRLR */
2106#define MCF548X_INTC_IRLR_IRQ(x)         (((x)&0x7F)<<1)
2107
2108/* Bit definitions and macros for MCF548X_INTC_IACKLPR */
2109#define MCF548X_INTC_IACKLPR_PRI(x)      (((x)&0x0F)<<0)
2110#define MCF548X_INTC_IACKLPR_LEVEL(x)    (((x)&0x07)<<4)
2111
2112/* Bit definitions and macros for MCF548X_INTC_ICRn */
2113#define MCF548X_INTC_ICRn_IP(x)          (((x)&0x07)<<0)
2114#define MCF548X_INTC_ICRn_IL(x)          (((x)&0x07)<<3)
2115
2116
2117/*********************************************************************
2118*
2119* SDRAM Controller (SDRAMC)
2120*
2121*********************************************************************/
2122
2123/* Register read/write macros */
2124#define MCF548X_SDRAMC_SDRAMDS      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000004)))
2125#define MCF548X_SDRAMC_CS0CFG       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000020)))
2126#define MCF548X_SDRAMC_CS1CFG       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000024)))
2127#define MCF548X_SDRAMC_CS2CFG       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000028)))
2128#define MCF548X_SDRAMC_CS3CFG       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00002C)))
2129#define MCF548X_SDRAMC_CSnCFG(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000020U+((x)*0x004))))
2130#define MCF548X_SDRAMC_SDMR         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000100)))
2131#define MCF548X_SDRAMC_SDCR         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000104)))
2132#define MCF548X_SDRAMC_SDCFG1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000108)))
2133#define MCF548X_SDRAMC_SDCFG2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00010C)))
2134
2135/* Bit definitions and macros for MCF548X_SDRAMC_SDRAMDS */
2136#define MCF548X_SDRAMC_SDRAMDS_SB_D(x)         (((x)&0x00000003)<<0)
2137#define MCF548X_SDRAMC_SDRAMDS_SB_S(x)         (((x)&0x00000003)<<2)
2138#define MCF548X_SDRAMC_SDRAMDS_SB_A(x)         (((x)&0x00000003)<<4)
2139#define MCF548X_SDRAMC_SDRAMDS_SB_C(x)         (((x)&0x00000003)<<6)
2140#define MCF548X_SDRAMC_SDRAMDS_SB_E(x)         (((x)&0x00000003)<<8)
2141#define MCF548X_SDRAMC_SDRAMDS_DRIVE_8MA       (0x02)
2142#define MCF548X_SDRAMC_SDRAMDS_DRIVE_16MA      (0x01)
2143#define MCF548X_SDRAMC_SDRAMDS_DRIVE_24MA      (0x00)
2144#define MCF548X_SDRAMC_SDRAMDS_DRIVE_NONE      (0x03)
2145
2146/* Bit definitions and macros for MCF548X_SDRAMC_CSnCFG */
2147#define MCF548X_SDRAMC_CSnCFG_CSSZ(x)          (((x)&0x0000001F)<<0)
2148#define MCF548X_SDRAMC_CSnCFG_CSBA(x)          (((x)&0x00000FFF)<<20)
2149#define MCF548X_SDRAMC_CSnCFG_CSSZ_DIABLE      (0x00000000)
2150#define MCF548X_SDRAMC_CSnCFG_CSSZ_1MBYTE      (0x00000013)
2151#define MCF548X_SDRAMC_CSnCFG_CSSZ_2MBYTE      (0x00000014)
2152#define MCF548X_SDRAMC_CSnCFG_CSSZ_4MBYTE      (0x00000015)
2153#define MCF548X_SDRAMC_CSnCFG_CSSZ_8MBYTE      (0x00000016)
2154#define MCF548X_SDRAMC_CSnCFG_CSSZ_16MBYTE     (0x00000017)
2155#define MCF548X_SDRAMC_CSnCFG_CSSZ_32MBYTE     (0x00000018)
2156#define MCF548X_SDRAMC_CSnCFG_CSSZ_64MBYTE     (0x00000019)
2157#define MCF548X_SDRAMC_CSnCFG_CSSZ_128MBYTE    (0x0000001A)
2158#define MCF548X_SDRAMC_CSnCFG_CSSZ_256MBYTE    (0x0000001B)
2159#define MCF548X_SDRAMC_CSnCFG_CSSZ_512MBYTE    (0x0000001C)
2160#define MCF548X_SDRAMC_CSnCFG_CSSZ_1GBYTE      (0x0000001D)
2161#define MCF548X_SDRAMC_CSnCFG_CSSZ_2GBYTE      (0x0000001E)
2162#define MCF548X_SDRAMC_CSnCFG_CSSZ_4GBYTE      (0x0000001F)
2163
2164/* Bit definitions and macros for MCF548X_SDRAMC_SDMR */
2165#define MCF548X_SDRAMC_SDMR_CMD                (0x00010000)
2166#define MCF548X_SDRAMC_SDMR_AD(x)              (((x)&0x00000FFF)<<18)
2167#define MCF548X_SDRAMC_SDMR_BNKAD(x)           (((x)&0x00000003)<<30)
2168#define MCF548X_SDRAMC_SDMR_BNKAD_LMR          (0x00000000)
2169#define MCF548X_SDRAMC_SDMR_BNKAD_LEMR         (0x40000000)
2170
2171/* Bit definitions and macros for MCF548X_SDRAMC_SDCR */
2172#define MCF548X_SDRAMC_SDCR_IPALL              (0x00000002)
2173#define MCF548X_SDRAMC_SDCR_IREF               (0x00000004)
2174#define MCF548X_SDRAMC_SDCR_BUFF               (0x00000010)
2175#define MCF548X_SDRAMC_SDCR_DQS_OE(x)          (((x)&0x0000000F)<<8)
2176#define MCF548X_SDRAMC_SDCR_RCNT(x)            (((x)&0x0000003F)<<16)
2177#define MCF548X_SDRAMC_SDCR_DRIVE              (0x00400000)
2178#define MCF548X_SDRAMC_SDCR_AP                 (0x00800000)
2179#define MCF548X_SDRAMC_SDCR_MUX(x)             (((x)&0x00000003)<<24)
2180#define MCF548X_SDRAMC_SDCR_REF                (0x10000000)
2181#define MCF548X_SDRAMC_SDCR_DDR                (0x20000000)
2182#define MCF548X_SDRAMC_SDCR_CKE                (0x40000000)
2183#define MCF548X_SDRAMC_SDCR_MODE_EN            (0x80000000)
2184
2185/* Bit definitions and macros for MCF548X_SDRAMC_SDCFG1 */
2186#define MCF548X_SDRAMC_SDCFG1_WTLAT(x)         (((x)&0x00000007)<<4)
2187#define MCF548X_SDRAMC_SDCFG1_REF2ACT(x)       (((x)&0x0000000F)<<8)
2188#define MCF548X_SDRAMC_SDCFG1_PRE2ACT(x)       (((x)&0x00000007)<<12)
2189#define MCF548X_SDRAMC_SDCFG1_ACT2RW(x)        (((x)&0x00000007)<<16)
2190#define MCF548X_SDRAMC_SDCFG1_RDLAT(x)         (((x)&0x0000000F)<<20)
2191#define MCF548X_SDRAMC_SDCFG1_SWT2RD(x)        (((x)&0x00000007)<<24)
2192#define MCF548X_SDRAMC_SDCFG1_SRD2RW(x)        (((x)&0x0000000F)<<28)
2193
2194/* Bit definitions and macros for MCF548X_SDRAMC_SDCFG2 */
2195#define MCF548X_SDRAMC_SDCFG2_BL(x)            (((x)&0x0000000F)<<16)
2196#define MCF548X_SDRAMC_SDCFG2_BRD2WT(x)        (((x)&0x0000000F)<<20)
2197#define MCF548X_SDRAMC_SDCFG2_BWT2RW(x)        (((x)&0x0000000F)<<24)
2198#define MCF548X_SDRAMC_SDCFG2_BRD2PRE(x)       (((x)&0x0000000F)<<28)
2199
2200/*********************************************************************
2201*
2202* Integrated Security Engine (SEC)
2203*
2204*********************************************************************/
2205
2206/* Register read/write macros */
2207#define MCF548X_SEC_EUACRH     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021000)))
2208#define MCF548X_SEC_EUACRL     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021004)))
2209#define MCF548X_SEC_EUASRH     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021028)))
2210#define MCF548X_SEC_EUASRL     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02102C)))
2211#define MCF548X_SEC_SIMRH      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021008)))
2212#define MCF548X_SEC_SIMRL      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02100C)))
2213#define MCF548X_SEC_SISRH      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021010)))
2214#define MCF548X_SEC_SISRL      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021014)))
2215#define MCF548X_SEC_SICRH      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021018)))
2216#define MCF548X_SEC_SICRL      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02101C)))
2217#define MCF548X_SEC_SIDR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021020)))
2218#define MCF548X_SEC_SMCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021030)))
2219#define MCF548X_SEC_MEAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x021038)))
2220#define MCF548X_SEC_CCCR0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02200C)))
2221#define MCF548X_SEC_CCCR1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02300C)))
2222#define MCF548X_SEC_CCPSRH0    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x022010)))
2223#define MCF548X_SEC_CCPSRH1    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x023010)))
2224#define MCF548X_SEC_CCPSRL0    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x022014)))
2225#define MCF548X_SEC_CCPSRL1    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x023014)))
2226#define MCF548X_SEC_CDPR0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x022044)))
2227#define MCF548X_SEC_CDPR1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x023044)))
2228#define MCF548X_SEC_FR0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02204C)))
2229#define MCF548X_SEC_FR1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02304C)))
2230#define MCF548X_SEC_AFRCR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x028018)))
2231#define MCF548X_SEC_AFSR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x028028)))
2232#define MCF548X_SEC_AFISR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x028030)))
2233#define MCF548X_SEC_AFIMR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x028038)))
2234#define MCF548X_SEC_DRCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02A018)))
2235#define MCF548X_SEC_DSR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02A028)))
2236#define MCF548X_SEC_DISR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02A030)))
2237#define MCF548X_SEC_DIMR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02A038)))
2238#define MCF548X_SEC_MDRCR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02C018)))
2239#define MCF548X_SEC_MDSR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02C028)))
2240#define MCF548X_SEC_MDISR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02C030)))
2241#define MCF548X_SEC_MDIMR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02C038)))
2242#define MCF548X_SEC_RNGRCR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02E018)))
2243#define MCF548X_SEC_RNGSR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02E028)))
2244#define MCF548X_SEC_RNGISR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02E030)))
2245#define MCF548X_SEC_RNGIMR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x02E038)))
2246#define MCF548X_SEC_AESRCR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x032018)))
2247#define MCF548X_SEC_AESSR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x032028)))
2248#define MCF548X_SEC_AESISR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x032030)))
2249#define MCF548X_SEC_AESIMR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x032038)))
2250
2251/* Bit definitions and macros for MCF548X_SEC_EUACRH */
2252#define MCF548X_SEC_EUACRH_AFEU(x)          (((x)&0x0000000F)<<0)
2253#define MCF548X_SEC_EUACRH_MDEU(x)          (((x)&0x0000000F)<<8)
2254#define MCF548X_SEC_EUACRH_RNG(x)           (((x)&0x0000000F)<<24)
2255#define MCF548X_SEC_EUACRH_RNG_NOASSIGN     (0x00000000)
2256#define MCF548X_SEC_EUACRH_RNG_CHA0         (0x01000000)
2257#define MCF548X_SEC_EUACRH_RNG_CHA1         (0x02000000)
2258#define MCF548X_SEC_EUACRH_MDEU_NOASSIGN    (0x00000000)
2259#define MCF548X_SEC_EUACRH_MDEU_CHA0        (0x00000100)
2260#define MCF548X_SEC_EUACRH_MDEU_CHA1        (0x00000200)
2261#define MCF548X_SEC_EUACRH_AFEU_NOASSIGN    (0x00000000)
2262#define MCF548X_SEC_EUACRH_AFEU_CHA0        (0x00000001)
2263#define MCF548X_SEC_EUACRH_AFEU_CHA1        (0x00000002)
2264
2265/* Bit definitions and macros for MCF548X_SEC_EUACRL */
2266#define MCF548X_SEC_EUACRL_AESU(x)          (((x)&0x0000000F)<<16)
2267#define MCF548X_SEC_EUACRL_DEU(x)           (((x)&0x0000000F)<<24)
2268#define MCF548X_SEC_EUACRL_DEU_NOASSIGN     (0x00000000)
2269#define MCF548X_SEC_EUACRL_DEU_CHA0         (0x01000000)
2270#define MCF548X_SEC_EUACRL_DEU_CHA1         (0x02000000)
2271#define MCF548X_SEC_EUACRL_AESU_NOASSIGN    (0x00000000)
2272#define MCF548X_SEC_EUACRL_AESU_CHA0        (0x00010000)
2273#define MCF548X_SEC_EUACRL_AESU_CHA1        (0x00020000)
2274
2275/* Bit definitions and macros for MCF548X_SEC_EUASRH */
2276#define MCF548X_SEC_EUASRH_AFEU(x)          (((x)&0x0000000F)<<0)
2277#define MCF548X_SEC_EUASRH_MDEU(x)          (((x)&0x0000000F)<<8)
2278#define MCF548X_SEC_EUASRH_RNG(x)           (((x)&0x0000000F)<<24)
2279
2280/* Bit definitions and macros for MCF548X_SEC_EUASRL */
2281#define MCF548X_SEC_EUASRL_AESU(x)          (((x)&0x0000000F)<<16)
2282#define MCF548X_SEC_EUASRL_DEU(x)           (((x)&0x0000000F)<<24)
2283
2284/* Bit definitions and macros for MCF548X_SEC_SIMRH */
2285#define MCF548X_SEC_SIMRH_AERR              (0x08000000)
2286#define MCF548X_SEC_SIMRH_CHA0DN            (0x10000000)
2287#define MCF548X_SEC_SIMRH_CHA0ERR           (0x20000000)
2288#define MCF548X_SEC_SIMRH_CHA1DN            (0x40000000)
2289#define MCF548X_SEC_SIMRH_CHA1ERR           (0x80000000)
2290
2291/* Bit definitions and macros for MCF548X_SEC_SIMRL */
2292#define MCF548X_SEC_SIMRL_TEA               (0x00000040)
2293#define MCF548X_SEC_SIMRL_DEUDN             (0x00000100)
2294#define MCF548X_SEC_SIMRL_DEUERR            (0x00000200)
2295#define MCF548X_SEC_SIMRL_AESUDN            (0x00001000)
2296#define MCF548X_SEC_SIMRL_AESUERR           (0x00002000)
2297#define MCF548X_SEC_SIMRL_MDEUDN            (0x00010000)
2298#define MCF548X_SEC_SIMRL_MDEUERR           (0x00020000)
2299#define MCF548X_SEC_SIMRL_AFEUDN            (0x00100000)
2300#define MCF548X_SEC_SIMRL_AFEUERR           (0x00200000)
2301#define MCF548X_SEC_SIMRL_RNGDN             (0x01000000)
2302#define MCF548X_SEC_SIMRL_RNGERR            (0x02000000)
2303
2304/* Bit definitions and macros for MCF548X_SEC_SISRH */
2305#define MCF548X_SEC_SISRH_AERR              (0x08000000)
2306#define MCF548X_SEC_SISRH_CHA0DN            (0x10000000)
2307#define MCF548X_SEC_SISRH_CHA0ERR           (0x20000000)
2308#define MCF548X_SEC_SISRH_CHA1DN            (0x40000000)
2309#define MCF548X_SEC_SISRH_CHA1ERR           (0x80000000)
2310
2311/* Bit definitions and macros for MCF548X_SEC_SISRL */
2312#define MCF548X_SEC_SISRL_TEA               (0x00000040)
2313#define MCF548X_SEC_SISRL_DEUDN             (0x00000100)
2314#define MCF548X_SEC_SISRL_DEUERR            (0x00000200)
2315#define MCF548X_SEC_SISRL_AESUDN            (0x00001000)
2316#define MCF548X_SEC_SISRL_AESUERR           (0x00002000)
2317#define MCF548X_SEC_SISRL_MDEUDN            (0x00010000)
2318#define MCF548X_SEC_SISRL_MDEUERR           (0x00020000)
2319#define MCF548X_SEC_SISRL_AFEUDN            (0x00100000)
2320#define MCF548X_SEC_SISRL_AFEUERR           (0x00200000)
2321#define MCF548X_SEC_SISRL_RNGDN             (0x01000000)
2322#define MCF548X_SEC_SISRL_RNGERR            (0x02000000)
2323
2324/* Bit definitions and macros for MCF548X_SEC_SICRH */
2325#define MCF548X_SEC_SICRH_AERR              (0x08000000)
2326#define MCF548X_SEC_SICRH_CHA0DN            (0x10000000)
2327#define MCF548X_SEC_SICRH_CHA0ERR           (0x20000000)
2328#define MCF548X_SEC_SICRH_CHA1DN            (0x40000000)
2329#define MCF548X_SEC_SICRH_CHA1ERR           (0x80000000)
2330
2331/* Bit definitions and macros for MCF548X_SEC_SICRL */
2332#define MCF548X_SEC_SICRL_TEA               (0x00000040)
2333#define MCF548X_SEC_SICRL_DEUDN             (0x00000100)
2334#define MCF548X_SEC_SICRL_DEUERR            (0x00000200)
2335#define MCF548X_SEC_SICRL_AESUDN            (0x00001000)
2336#define MCF548X_SEC_SICRL_AESUERR           (0x00002000)
2337#define MCF548X_SEC_SICRL_MDEUDN            (0x00010000)
2338#define MCF548X_SEC_SICRL_MDEUERR           (0x00020000)
2339#define MCF548X_SEC_SICRL_AFEUDN            (0x00100000)
2340#define MCF548X_SEC_SICRL_AFEUERR           (0x00200000)
2341#define MCF548X_SEC_SICRL_RNGDN             (0x01000000)
2342#define MCF548X_SEC_SICRL_RNGERR            (0x02000000)
2343
2344/* Bit definitions and macros for MCF548X_SEC_SMCR */
2345#define MCF548X_SEC_SMCR_CURR_CHAN(x)       (((x)&0x0000000F)<<4)
2346#define MCF548X_SEC_SMCR_SWR                (0x01000000)
2347#define MCF548X_SEC_SMCR_CURR_CHAN_1        (0x00000010)
2348#define MCF548X_SEC_SMCR_CURR_CHAN_2        (0x00000020)
2349
2350/* Bit definitions and macros for MCF548X_SEC_CCCRn */
2351#define MCF548X_SEC_CCCRn_RST               (0x00000001)
2352#define MCF548X_SEC_CCCRn_CDIE              (0x00000002)
2353#define MCF548X_SEC_CCCRn_NT                (0x00000004)
2354#define MCF548X_SEC_CCCRn_NE                (0x00000008)
2355#define MCF548X_SEC_CCCRn_WE                (0x00000010)
2356#define MCF548X_SEC_CCCRn_BURST_SIZE(x)     (((x)&0x00000007)<<8)
2357#define MCF548X_SEC_CCCRn_BURST_SIZE_2      (0x00000000)
2358#define MCF548X_SEC_CCCRn_BURST_SIZE_8      (0x00000100)
2359#define MCF548X_SEC_CCCRn_BURST_SIZE_16     (0x00000200)
2360#define MCF548X_SEC_CCCRn_BURST_SIZE_24     (0x00000300)
2361#define MCF548X_SEC_CCCRn_BURST_SIZE_32     (0x00000400)
2362#define MCF548X_SEC_CCCRn_BURST_SIZE_40     (0x00000500)
2363#define MCF548X_SEC_CCCRn_BURST_SIZE_48     (0x00000600)
2364#define MCF548X_SEC_CCCRn_BURST_SIZE_56     (0x00000700)
2365
2366/* Bit definitions and macros for MCF548X_SEC_CCPSRHn */
2367#define MCF548X_SEC_CCPSRHn_STATE(x)        (((x)&0x000000FF)<<0)
2368
2369/* Bit definitions and macros for MCF548X_SEC_CCPSRLn */
2370#define MCF548X_SEC_CCPSRLn_PAIR_PTR(x)     (((x)&0x000000FF)<<0)
2371#define MCF548X_SEC_CCPSRLn_EUERR           (0x00000100)
2372#define MCF548X_SEC_CCPSRLn_SERR            (0x00000200)
2373#define MCF548X_SEC_CCPSRLn_DERR            (0x00000400)
2374#define MCF548X_SEC_CCPSRLn_PERR            (0x00001000)
2375#define MCF548X_SEC_CCPSRLn_TEA             (0x00002000)
2376#define MCF548X_SEC_CCPSRLn_SD              (0x00010000)
2377#define MCF548X_SEC_CCPSRLn_PD              (0x00020000)
2378#define MCF548X_SEC_CCPSRLn_SRD             (0x00040000)
2379#define MCF548X_SEC_CCPSRLn_PRD             (0x00080000)
2380#define MCF548X_SEC_CCPSRLn_SG              (0x00100000)
2381#define MCF548X_SEC_CCPSRLn_PG              (0x00200000)
2382#define MCF548X_SEC_CCPSRLn_SR              (0x00400000)
2383#define MCF548X_SEC_CCPSRLn_PR              (0x00800000)
2384#define MCF548X_SEC_CCPSRLn_MO              (0x01000000)
2385#define MCF548X_SEC_CCPSRLn_MI              (0x02000000)
2386#define MCF548X_SEC_CCPSRLn_STAT            (0x04000000)
2387
2388/* Bit definitions and macros for MCF548X_SEC_AFRCR */
2389#define MCF548X_SEC_AFRCR_SR                (0x01000000)
2390#define MCF548X_SEC_AFRCR_MI                (0x02000000)
2391#define MCF548X_SEC_AFRCR_RI                (0x04000000)
2392
2393/* Bit definitions and macros for MCF548X_SEC_AFSR */
2394#define MCF548X_SEC_AFSR_RD                 (0x01000000)
2395#define MCF548X_SEC_AFSR_ID                 (0x02000000)
2396#define MCF548X_SEC_AFSR_IE                 (0x04000000)
2397#define MCF548X_SEC_AFSR_OFE                (0x08000000)
2398#define MCF548X_SEC_AFSR_IFW                (0x10000000)
2399#define MCF548X_SEC_AFSR_HALT               (0x20000000)
2400
2401/* Bit definitions and macros for MCF548X_SEC_AFISR */
2402#define MCF548X_SEC_AFISR_DSE               (0x00010000)
2403#define MCF548X_SEC_AFISR_KSE               (0x00020000)
2404#define MCF548X_SEC_AFISR_CE                (0x00040000)
2405#define MCF548X_SEC_AFISR_ERE               (0x00080000)
2406#define MCF548X_SEC_AFISR_IE                (0x00100000)
2407#define MCF548X_SEC_AFISR_OFU               (0x02000000)
2408#define MCF548X_SEC_AFISR_IFO               (0x04000000)
2409#define MCF548X_SEC_AFISR_IFE               (0x10000000)
2410#define MCF548X_SEC_AFISR_OFE               (0x20000000)
2411#define MCF548X_SEC_AFISR_AE                (0x40000000)
2412#define MCF548X_SEC_AFISR_ME                (0x80000000)
2413
2414/* Bit definitions and macros for MCF548X_SEC_AFIMR */
2415#define MCF548X_SEC_AFIMR_DSE               (0x00010000)
2416#define MCF548X_SEC_AFIMR_KSE               (0x00020000)
2417#define MCF548X_SEC_AFIMR_CE                (0x00040000)
2418#define MCF548X_SEC_AFIMR_ERE               (0x00080000)
2419#define MCF548X_SEC_AFIMR_IE                (0x00100000)
2420#define MCF548X_SEC_AFIMR_OFU               (0x02000000)
2421#define MCF548X_SEC_AFIMR_IFO               (0x04000000)
2422#define MCF548X_SEC_AFIMR_IFE               (0x10000000)
2423#define MCF548X_SEC_AFIMR_OFE               (0x20000000)
2424#define MCF548X_SEC_AFIMR_AE                (0x40000000)
2425#define MCF548X_SEC_AFIMR_ME                (0x80000000)
2426
2427/* Bit definitions and macros for MCF548X_SEC_DRCR */
2428#define MCF548X_SEC_DRCR_SR                 (0x01000000)
2429#define MCF548X_SEC_DRCR_MI                 (0x02000000)
2430#define MCF548X_SEC_DRCR_RI                 (0x04000000)
2431
2432/* Bit definitions and macros for MCF548X_SEC_DSR */
2433#define MCF548X_SEC_DSR_RD                  (0x01000000)
2434#define MCF548X_SEC_DSR_ID                  (0x02000000)
2435#define MCF548X_SEC_DSR_IE                  (0x04000000)
2436#define MCF548X_SEC_DSR_OFR                 (0x08000000)
2437#define MCF548X_SEC_DSR_IFW                 (0x10000000)
2438#define MCF548X_SEC_DSR_HALT                (0x20000000)
2439
2440/* Bit definitions and macros for MCF548X_SEC_DISR */
2441#define MCF548X_SEC_DISR_DSE                (0x00010000)
2442#define MCF548X_SEC_DISR_KSE                (0x00020000)
2443#define MCF548X_SEC_DISR_CE                 (0x00040000)
2444#define MCF548X_SEC_DISR_ERE                (0x00080000)
2445#define MCF548X_SEC_DISR_IE                 (0x00100000)
2446#define MCF548X_SEC_DISR_KPE                (0x00200000)
2447#define MCF548X_SEC_DISR_OFU                (0x02000000)
2448#define MCF548X_SEC_DISR_IFO                (0x04000000)
2449#define MCF548X_SEC_DISR_IFE                (0x10000000)
2450#define MCF548X_SEC_DISR_OFE                (0x20000000)
2451#define MCF548X_SEC_DISR_AE                 (0x40000000)
2452#define MCF548X_SEC_DISR_ME                 (0x80000000)
2453
2454/* Bit definitions and macros for MCF548X_SEC_DIMR */
2455#define MCF548X_SEC_DIMR_DSE                (0x00010000)
2456#define MCF548X_SEC_DIMR_KSE                (0x00020000)
2457#define MCF548X_SEC_DIMR_CE                 (0x00040000)
2458#define MCF548X_SEC_DIMR_ERE                (0x00080000)
2459#define MCF548X_SEC_DIMR_IE                 (0x00100000)
2460#define MCF548X_SEC_DIMR_KPE                (0x00200000)
2461#define MCF548X_SEC_DIMR_OFU                (0x02000000)
2462#define MCF548X_SEC_DIMR_IFO                (0x04000000)
2463#define MCF548X_SEC_DIMR_IFE                (0x10000000)
2464#define MCF548X_SEC_DIMR_OFE                (0x20000000)
2465#define MCF548X_SEC_DIMR_AE                 (0x40000000)
2466#define MCF548X_SEC_DIMR_ME                 (0x80000000)
2467
2468/* Bit definitions and macros for MCF548X_SEC_MDRCR */
2469#define MCF548X_SEC_MDRCR_SR                (0x01000000)
2470#define MCF548X_SEC_MDRCR_MI                (0x02000000)
2471#define MCF548X_SEC_MDRCR_RI                (0x04000000)
2472
2473/* Bit definitions and macros for MCF548X_SEC_MDSR */
2474#define MCF548X_SEC_MDSR_RD                 (0x01000000)
2475#define MCF548X_SEC_MDSR_ID                 (0x02000000)
2476#define MCF548X_SEC_MDSR_IE                 (0x04000000)
2477#define MCF548X_SEC_MDSR_IFW                (0x10000000)
2478#define MCF548X_SEC_MDSR_HALT               (0x20000000)
2479
2480/* Bit definitions and macros for MCF548X_SEC_MDISR */
2481#define MCF548X_SEC_MDISR_DSE               (0x00010000)
2482#define MCF548X_SEC_MDISR_KSE               (0x00020000)
2483#define MCF548X_SEC_MDISR_CE                (0x00040000)
2484#define MCF548X_SEC_MDISR_ERE               (0x00080000)
2485#define MCF548X_SEC_MDISR_IE                (0x00100000)
2486#define MCF548X_SEC_MDISR_IFO               (0x04000000)
2487#define MCF548X_SEC_MDISR_AE                (0x40000000)
2488#define MCF548X_SEC_MDISR_ME                (0x80000000)
2489
2490/* Bit definitions and macros for MCF548X_SEC_MDIMR */
2491#define MCF548X_SEC_MDIMR_DSE               (0x00010000)
2492#define MCF548X_SEC_MDIMR_KSE               (0x00020000)
2493#define MCF548X_SEC_MDIMR_CE                (0x00040000)
2494#define MCF548X_SEC_MDIMR_ERE               (0x00080000)
2495#define MCF548X_SEC_MDIMR_IE                (0x00100000)
2496#define MCF548X_SEC_MDIMR_IFO               (0x04000000)
2497#define MCF548X_SEC_MDIMR_AE                (0x40000000)
2498#define MCF548X_SEC_MDIMR_ME                (0x80000000)
2499
2500/* Bit definitions and macros for MCF548X_SEC_RNGRCR */
2501#define MCF548X_SEC_RNGRCR_SR               (0x01000000)
2502#define MCF548X_SEC_RNGRCR_MI               (0x02000000)
2503#define MCF548X_SEC_RNGRCR_RI               (0x04000000)
2504
2505/* Bit definitions and macros for MCF548X_SEC_RNGSR */
2506#define MCF548X_SEC_RNGSR_RD                (0x01000000)
2507#define MCF548X_SEC_RNGSR_O                 (0x02000000)
2508#define MCF548X_SEC_RNGSR_IE                (0x04000000)
2509#define MCF548X_SEC_RNGSR_OFR               (0x08000000)
2510#define MCF548X_SEC_RNGSR_HALT              (0x20000000)
2511
2512/* Bit definitions and macros for MCF548X_SEC_RNGISR */
2513#define MCF548X_SEC_RNGISR_IE               (0x00100000)
2514#define MCF548X_SEC_RNGISR_OFU              (0x02000000)
2515#define MCF548X_SEC_RNGISR_AE               (0x40000000)
2516#define MCF548X_SEC_RNGISR_ME               (0x80000000)
2517
2518/* Bit definitions and macros for MCF548X_SEC_RNGIMR */
2519#define MCF548X_SEC_RNGIMR_IE               (0x00100000)
2520#define MCF548X_SEC_RNGIMR_OFU              (0x02000000)
2521#define MCF548X_SEC_RNGIMR_AE               (0x40000000)
2522#define MCF548X_SEC_RNGIMR_ME               (0x80000000)
2523
2524/* Bit definitions and macros for MCF548X_SEC_AESRCR */
2525#define MCF548X_SEC_AESRCR_SR               (0x01000000)
2526#define MCF548X_SEC_AESRCR_MI               (0x02000000)
2527#define MCF548X_SEC_AESRCR_RI               (0x04000000)
2528
2529/* Bit definitions and macros for MCF548X_SEC_AESSR */
2530#define MCF548X_SEC_AESSR_RD                (0x01000000)
2531#define MCF548X_SEC_AESSR_ID                (0x02000000)
2532#define MCF548X_SEC_AESSR_IE                (0x04000000)
2533#define MCF548X_SEC_AESSR_OFR               (0x08000000)
2534#define MCF548X_SEC_AESSR_IFW               (0x10000000)
2535#define MCF548X_SEC_AESSR_HALT              (0x20000000)
2536
2537/* Bit definitions and macros for MCF548X_SEC_AESISR */
2538#define MCF548X_SEC_AESISR_DSE              (0x00010000)
2539#define MCF548X_SEC_AESISR_KSE              (0x00020000)
2540#define MCF548X_SEC_AESISR_CE               (0x00040000)
2541#define MCF548X_SEC_AESISR_ERE              (0x00080000)
2542#define MCF548X_SEC_AESISR_IE               (0x00100000)
2543#define MCF548X_SEC_AESISR_OFU              (0x02000000)
2544#define MCF548X_SEC_AESISR_IFO              (0x04000000)
2545#define MCF548X_SEC_AESISR_IFE              (0x10000000)
2546#define MCF548X_SEC_AESISR_OFE              (0x20000000)
2547#define MCF548X_SEC_AESISR_AE               (0x40000000)
2548#define MCF548X_SEC_AESISR_ME               (0x80000000)
2549
2550/* Bit definitions and macros for MCF548X_SEC_AESIMR */
2551#define MCF548X_SEC_AESIMR_DSE              (0x00010000)
2552#define MCF548X_SEC_AESIMR_KSE              (0x00020000)
2553#define MCF548X_SEC_AESIMR_CE               (0x00040000)
2554#define MCF548X_SEC_AESIMR_ERE              (0x00080000)
2555#define MCF548X_SEC_AESIMR_IE               (0x00100000)
2556#define MCF548X_SEC_AESIMR_OFU              (0x02000000)
2557#define MCF548X_SEC_AESIMR_IFO              (0x04000000)
2558#define MCF548X_SEC_AESIMR_IFE              (0x10000000)
2559#define MCF548X_SEC_AESIMR_OFE              (0x20000000)
2560#define MCF548X_SEC_AESIMR_AE               (0x40000000)
2561#define MCF548X_SEC_AESIMR_ME               (0x80000000)
2562
2563
2564/*********************************************************************
2565*
2566* Slice Timers (SLT)
2567*
2568*********************************************************************/
2569
2570/* Register read/write macros */
2571#define MCF548X_SLT_SLTCNT0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000900)))
2572#define MCF548X_SLT_SCR0         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000904)))
2573#define MCF548X_SLT_SCNT0        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000908)))
2574#define MCF548X_SLT_SSR0         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00090C)))
2575#define MCF548X_SLT_SLTCNT1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000910)))
2576#define MCF548X_SLT_SCR1         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000914)))
2577#define MCF548X_SLT_SCNT1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000918)))
2578#define MCF548X_SLT_SSR1         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00091C)))
2579#define MCF548X_SLT_SLTCNT(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000900U+((x)*0x010))))
2580#define MCF548X_SLT_SCR(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000904U+((x)*0x010))))
2581#define MCF548X_SLT_SCNT(x)      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000908U+((x)*0x010))))
2582#define MCF548X_SLT_SSR(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00090CU+((x)*0x010))))
2583
2584/* Bit definitions and macros for MCF548X_SLT_SCR */
2585#define MCF548X_SLT_SCR_TEN    (0x01000000)
2586#define MCF548X_SLT_SCR_IEN    (0x02000000)
2587#define MCF548X_SLT_SCR_RUN    (0x04000000)
2588
2589/* Bit definitions and macros for MCF548X_SLT_SSR */
2590#define MCF548X_SLT_SSR_ST     (0x01000000)
2591#define MCF548X_SLT_SSR_BE     (0x02000000)
2592
2593
2594/*********************************************************************
2595*
2596* Universal Serial Bus (USB)
2597*
2598*********************************************************************/
2599
2600/* Register read/write macros */
2601#define MCF548X_USB_USBAISR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B000)))
2602#define MCF548X_USB_USBAIMR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B001)))
2603#define MCF548X_USB_EPINFO           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B003)))
2604#define MCF548X_USB_CFGR             (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B004)))
2605#define MCF548X_USB_CFGAR            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B005)))
2606#define MCF548X_USB_SPEEDR           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B006)))
2607#define MCF548X_USB_FRMNUMR          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B00E)))
2608#define MCF548X_USB_EPTNR            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B010)))
2609#define MCF548X_USB_IFUR             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B014)))
2610#define MCF548X_USB_IFR0             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B040)))
2611#define MCF548X_USB_IFR1             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B042)))
2612#define MCF548X_USB_IFR2             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B044)))
2613#define MCF548X_USB_IFR3             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B046)))
2614#define MCF548X_USB_IFR4             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B048)))
2615#define MCF548X_USB_IFR5             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B04A)))
2616#define MCF548X_USB_IFR6             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B04C)))
2617#define MCF548X_USB_IFR7             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B04E)))
2618#define MCF548X_USB_IFR8             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B050)))
2619#define MCF548X_USB_IFR9             (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B052)))
2620#define MCF548X_USB_IFR10            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B054)))
2621#define MCF548X_USB_IFR11            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B056)))
2622#define MCF548X_USB_IFR12            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B058)))
2623#define MCF548X_USB_IFR13            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B05A)))
2624#define MCF548X_USB_IFR14            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B05C)))
2625#define MCF548X_USB_IFR15            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B05E)))
2626#define MCF548X_USB_IFR16            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B060)))
2627#define MCF548X_USB_IFR17            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B062)))
2628#define MCF548X_USB_IFR18            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B064)))
2629#define MCF548X_USB_IFR19            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B066)))
2630#define MCF548X_USB_IFR20            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B068)))
2631#define MCF548X_USB_IFR21            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B06A)))
2632#define MCF548X_USB_IFR22            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B06C)))
2633#define MCF548X_USB_IFR23            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B06E)))
2634#define MCF548X_USB_IFR24            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B070)))
2635#define MCF548X_USB_IFR25            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B072)))
2636#define MCF548X_USB_IFR26            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B074)))
2637#define MCF548X_USB_IFR27            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B076)))
2638#define MCF548X_USB_IFR28            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B078)))
2639#define MCF548X_USB_IFR29            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B07A)))
2640#define MCF548X_USB_IFR30            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B07C)))
2641#define MCF548X_USB_IFR31            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B07E)))
2642#define MCF548X_USB_IFRn(x)          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B040U+((x)*0x002))))
2643#define MCF548X_USB_PPCNT            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B080)))
2644#define MCF548X_USB_DPCNT            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B082)))
2645#define MCF548X_USB_CRCECNT          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B084)))
2646#define MCF548X_USB_BSECNT           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B086)))
2647#define MCF548X_USB_PIDECNT          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B088)))
2648#define MCF548X_USB_FRMECNT          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B08A)))
2649#define MCF548X_USB_TXPCNT           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B08C)))
2650#define MCF548X_USB_CNTOVR           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B08E)))
2651#define MCF548X_USB_EP0ACR           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B101)))
2652#define MCF548X_USB_EP0MPSR          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B102)))
2653#define MCF548X_USB_EP0IFR           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B104)))
2654#define MCF548X_USB_EP0SR            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B105)))
2655#define MCF548X_USB_BMRTR            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B106)))
2656#define MCF548X_USB_BRTR             (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B107)))
2657#define MCF548X_USB_WVALUER          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B108)))
2658#define MCF548X_USB_WINDEXR          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B10A)))
2659#define MCF548X_USB_WLENGTH          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B10C)))
2660#define MCF548X_USB_EP1OUTACR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B131)))
2661#define MCF548X_USB_EP2OUTACR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B161)))
2662#define MCF548X_USB_EP3OUTACR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B191)))
2663#define MCF548X_USB_EP4OUTACR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1C1)))
2664#define MCF548X_USB_EP5OUTACR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1F1)))
2665#define MCF548X_USB_EP6OUTACR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B221)))
2666#define MCF548X_USB_EPnOUTACR(x)     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B131U+((x)*0x030))))
2667#define MCF548X_USB_EP1OUTMPSR       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B132)))
2668#define MCF548X_USB_EP2OUTMPSR       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B162)))
2669#define MCF548X_USB_EP3OUTMPSR       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B192)))
2670#define MCF548X_USB_EP4OUTMPSR       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1C2)))
2671#define MCF548X_USB_EP5OUTMPSR       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1F2)))
2672#define MCF548X_USB_EP6OUTMPSR       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B222)))
2673#define MCF548X_USB_EPnOUTMPSR(x)    (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B132U+((x)*0x030))))
2674#define MCF548X_USB_EP1OUTIFR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B134)))
2675#define MCF548X_USB_EP2OUTIFR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B164)))
2676#define MCF548X_USB_EP3OUTIFR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B194)))
2677#define MCF548X_USB_EP4OUTIFR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1C4)))
2678#define MCF548X_USB_EP5OUTIFR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1F4)))
2679#define MCF548X_USB_EP6OUTIFR        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B224)))
2680#define MCF548X_USB_EPnOUTIFR(x)     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B134U+((x)*0x030))))
2681#define MCF548X_USB_EP1OUTSR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B135)))
2682#define MCF548X_USB_EP2OUTSR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B165)))
2683#define MCF548X_USB_EP3OUTSR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B195)))
2684#define MCF548X_USB_EP4OUTSR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1C5)))
2685#define MCF548X_USB_EP5OUTSR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1F5)))
2686#define MCF548X_USB_EP6OUTSR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B225)))
2687#define MCF548X_USB_EPnOUTSR(x)      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B135U+((x)*0x030))))
2688#define MCF548X_USB_EP1OUTSFR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B13E)))
2689#define MCF548X_USB_EP2OUTSFR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B16E)))
2690#define MCF548X_USB_EP3OUTSFR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B19E)))
2691#define MCF548X_USB_EP4OUTSFR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1CE)))
2692#define MCF548X_USB_EP5OUTSFR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1FE)))
2693#define MCF548X_USB_EP6OUTSFR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B22E)))
2694#define MCF548X_USB_EPnOUTSFR(x)     (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B13EU+((x)*0x030))))
2695#define MCF548X_USB_EP1INACR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B149)))
2696#define MCF548X_USB_EP2INACR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B179)))
2697#define MCF548X_USB_EP3INACR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1A9)))
2698#define MCF548X_USB_EP4INACR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1D9)))
2699#define MCF548X_USB_EP5INACR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B209)))
2700#define MCF548X_USB_EP6INACR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B239)))
2701#define MCF548X_USB_EPnINACR(x)      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B149U+((x)*0x030))))
2702#define MCF548X_USB_EP1INMPSR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B14A)))
2703#define MCF548X_USB_EP2INMPSR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B17A)))
2704#define MCF548X_USB_EP3INMPSR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1AA)))
2705#define MCF548X_USB_EP4INMPSR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1DA)))
2706#define MCF548X_USB_EP5INMPSR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B20A)))
2707#define MCF548X_USB_EP6INMPSR        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B23A)))
2708#define MCF548X_USB_EPnINMPSR(x)     (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B14AU+((x)*0x030))))
2709#define MCF548X_USB_EP1INIFR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B14C)))
2710#define MCF548X_USB_EP2INIFR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B17C)))
2711#define MCF548X_USB_EP3INIFR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1AC)))
2712#define MCF548X_USB_EP4INIFR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1DC)))
2713#define MCF548X_USB_EP5INIFR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B20C)))
2714#define MCF548X_USB_EP6INIFR         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B23C)))
2715#define MCF548X_USB_EPnINIFR(x)      (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B14CU+((x)*0x030))))
2716#define MCF548X_USB_EP1INSR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B14D)))
2717#define MCF548X_USB_EP2INSR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B17D)))
2718#define MCF548X_USB_EP3INSR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1AD)))
2719#define MCF548X_USB_EP4INSR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B1DD)))
2720#define MCF548X_USB_EP5INSR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B20D)))
2721#define MCF548X_USB_EP6INSR          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B23D)))
2722#define MCF548X_USB_EPnINSR(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00B14DU+((x)*0x030))))
2723#define MCF548X_USB_EP1INSFR         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B15A)))
2724#define MCF548X_USB_EP2INSFR         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B18A)))
2725#define MCF548X_USB_EP3INSFR         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1BA)))
2726#define MCF548X_USB_EP4INSFR         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B1EA)))
2727#define MCF548X_USB_EP5INSFR         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B21A)))
2728#define MCF548X_USB_EP6INSFR         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B24A)))
2729#define MCF548X_USB_EPnINSFR(x)      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00B15AU+((x)*0x030))))
2730#define MCF548X_USB_USBSR            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B400)))
2731#define MCF548X_USB_USBCR            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B404)))
2732#define MCF548X_USB_DRAMCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B408)))
2733#define MCF548X_USB_DRAMDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B40C)))
2734#define MCF548X_USB_USBISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B410)))
2735#define MCF548X_USB_USBIMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B414)))
2736#define MCF548X_USB_EP0STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B440)))
2737#define MCF548X_USB_EP1STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B470)))
2738#define MCF548X_USB_EP2STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4A0)))
2739#define MCF548X_USB_EP3STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4D0)))
2740#define MCF548X_USB_EP4STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B500)))
2741#define MCF548X_USB_EP5STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B530)))
2742#define MCF548X_USB_EP6STAT          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B560)))
2743#define MCF548X_USB_EPnSTAT(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B440U+((x)*0x030))))
2744#define MCF548X_USB_EP0ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B444)))
2745#define MCF548X_USB_EP1ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B474)))
2746#define MCF548X_USB_EP2ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4A4)))
2747#define MCF548X_USB_EP3ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4D4)))
2748#define MCF548X_USB_EP4ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B504)))
2749#define MCF548X_USB_EP5ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B534)))
2750#define MCF548X_USB_EP6ISR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B564)))
2751#define MCF548X_USB_EPnISR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B444U+((x)*0x030))))
2752#define MCF548X_USB_EP0IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B448)))
2753#define MCF548X_USB_EP1IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B478)))
2754#define MCF548X_USB_EP2IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4A8)))
2755#define MCF548X_USB_EP3IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4D8)))
2756#define MCF548X_USB_EP4IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B508)))
2757#define MCF548X_USB_EP5IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B538)))
2758#define MCF548X_USB_EP6IMR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B568)))
2759#define MCF548X_USB_EPnIMR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B448U+((x)*0x030))))
2760#define MCF548X_USB_EP0FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B44C)))
2761#define MCF548X_USB_EP1FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B47C)))
2762#define MCF548X_USB_EP2FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4AC)))
2763#define MCF548X_USB_EP3FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4DC)))
2764#define MCF548X_USB_EP4FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B50C)))
2765#define MCF548X_USB_EP5FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B53C)))
2766#define MCF548X_USB_EP6FRCFGR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B56C)))
2767#define MCF548X_USB_EPnFRCFGR(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B44CU+((x)*0x030))))
2768#define MCF548X_USB_EP0FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B450)))
2769#define MCF548X_USB_EP1FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B480)))
2770#define MCF548X_USB_EP2FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4B0)))
2771#define MCF548X_USB_EP3FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4E0)))
2772#define MCF548X_USB_EP4FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B510)))
2773#define MCF548X_USB_EP5FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B540)))
2774#define MCF548X_USB_EP6FDR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B570)))
2775#define MCF548X_USB_EPnFDR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B450U+((x)*0x030))))
2776#define MCF548X_USB_EP0FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B454)))
2777#define MCF548X_USB_EP1FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B484)))
2778#define MCF548X_USB_EP2FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4B4)))
2779#define MCF548X_USB_EP3FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4E4)))
2780#define MCF548X_USB_EP4FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B514)))
2781#define MCF548X_USB_EP5FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B544)))
2782#define MCF548X_USB_EP6FSR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B574)))
2783#define MCF548X_USB_EPnFSR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B454U+((x)*0x030))))
2784#define MCF548X_USB_EP0FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B458)))
2785#define MCF548X_USB_EP1FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B488)))
2786#define MCF548X_USB_EP2FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4B8)))
2787#define MCF548X_USB_EP3FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4E8)))
2788#define MCF548X_USB_EP4FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B518)))
2789#define MCF548X_USB_EP5FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B548)))
2790#define MCF548X_USB_EP6FCR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B578)))
2791#define MCF548X_USB_EPnFCR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B458U+((x)*0x030))))
2792#define MCF548X_USB_EP0FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B45C)))
2793#define MCF548X_USB_EP1FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B48C)))
2794#define MCF548X_USB_EP2FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4BC)))
2795#define MCF548X_USB_EP3FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4EC)))
2796#define MCF548X_USB_EP4FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B51C)))
2797#define MCF548X_USB_EP5FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B54C)))
2798#define MCF548X_USB_EP6FAR           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B57C)))
2799#define MCF548X_USB_EPnFAR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B45CU+((x)*0x030))))
2800#define MCF548X_USB_EP0FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B460)))
2801#define MCF548X_USB_EP1FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B490)))
2802#define MCF548X_USB_EP2FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4C0)))
2803#define MCF548X_USB_EP3FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4F0)))
2804#define MCF548X_USB_EP4FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B520)))
2805#define MCF548X_USB_EP5FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B550)))
2806#define MCF548X_USB_EP6FRP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B580)))
2807#define MCF548X_USB_EPnFRP(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B460U+((x)*0x030))))
2808#define MCF548X_USB_EP0FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B464)))
2809#define MCF548X_USB_EP1FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B494)))
2810#define MCF548X_USB_EP2FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4C4)))
2811#define MCF548X_USB_EP3FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4F4)))
2812#define MCF548X_USB_EP4FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B524)))
2813#define MCF548X_USB_EP5FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B554)))
2814#define MCF548X_USB_EP6FWP           (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B584)))
2815#define MCF548X_USB_EPnFWP(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B464U+((x)*0x030))))
2816#define MCF548X_USB_EP0LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B468)))
2817#define MCF548X_USB_EP1LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B498)))
2818#define MCF548X_USB_EP2LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4C8)))
2819#define MCF548X_USB_EP3LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4F8)))
2820#define MCF548X_USB_EP4LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B528)))
2821#define MCF548X_USB_EP5LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B558)))
2822#define MCF548X_USB_EP6LRFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B588)))
2823#define MCF548X_USB_EPnLRFP(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B468U+((x)*0x030))))
2824#define MCF548X_USB_EP0LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B46C)))
2825#define MCF548X_USB_EP1LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B49C)))
2826#define MCF548X_USB_EP2LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4CC)))
2827#define MCF548X_USB_EP3LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B4FC)))
2828#define MCF548X_USB_EP4LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B52C)))
2829#define MCF548X_USB_EP5LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B55C)))
2830#define MCF548X_USB_EP6LWFP          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B58C)))
2831#define MCF548X_USB_EPnLWFP(x)       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00B46CU+((x)*0x030))))
2832
2833/* Bit definitions and macros for MCF548X_USB_USBAISR */
2834#define MCF548X_USB_USBAISR_SETUP             (0x01)
2835#define MCF548X_USB_USBAISR_IN                (0x02)
2836#define MCF548X_USB_USBAISR_OUT               (0x04)
2837#define MCF548X_USB_USBAISR_EPHALT            (0x08)
2838#define MCF548X_USB_USBAISR_TRANSERR          (0x10)
2839#define MCF548X_USB_USBAISR_ACK               (0x20)
2840#define MCF548X_USB_USBAISR_CTROVFL           (0x40)
2841#define MCF548X_USB_USBAISR_EPSTALL           (0x80)
2842
2843/* Bit definitions and macros for MCF548X_USB_USBAIMR */
2844#define MCF548X_USB_USBAIMR_SETUPEN           (0x01)
2845#define MCF548X_USB_USBAIMR_INEN              (0x02)
2846#define MCF548X_USB_USBAIMR_OUTEN             (0x04)
2847#define MCF548X_USB_USBAIMR_EPHALTEN          (0x08)
2848#define MCF548X_USB_USBAIMR_TRANSERREN        (0x10)
2849#define MCF548X_USB_USBAIMR_ACKEN             (0x20)
2850#define MCF548X_USB_USBAIMR_CTROVFLEN         (0x40)
2851#define MCF548X_USB_USBAIMR_EPSTALLEN         (0x80)
2852
2853/* Bit definitions and macros for MCF548X_USB_EPINFO */
2854#define MCF548X_USB_EPINFO_EPDIR              (0x01)
2855#define MCF548X_USB_EPINFO_EPNUM(x)           (((x)&0x07)<<1)
2856
2857/* Bit definitions and macros for MCF548X_USB_CFGAR */
2858#define MCF548X_USB_CFGAR_RESERVED            (0xA0)
2859#define MCF548X_USB_CFGAR_RMTWKEUP            (0xE0)
2860
2861/* Bit definitions and macros for MCF548X_USB_SPEEDR */
2862#define MCF548X_USB_SPEEDR_HS                 (0x01)
2863#define MCF548X_USB_SPEEDR_FS                 (0x02)
2864
2865/* Bit definitions and macros for MCF548X_USB_FRMNUMR */
2866#define MCF548X_USB_FRMNUMR_FRMNUM(x)         (((x)&0x0FFF)<<0)
2867
2868/* Bit definitions and macros for MCF548X_USB_EPTNR */
2869#define MCF548X_USB_EPTNR_EP1T(x)             (((x)&0x0003)<<0)
2870#define MCF548X_USB_EPTNR_EP2T(x)             (((x)&0x0003)<<2)
2871#define MCF548X_USB_EPTNR_EP3T(x)             (((x)&0x0003)<<4)
2872#define MCF548X_USB_EPTNR_EP4T(x)             (((x)&0x0003)<<6)
2873#define MCF548X_USB_EPTNR_EP5T(x)             (((x)&0x0003)<<8)
2874#define MCF548X_USB_EPTNR_EP6T(x)             (((x)&0x0003)<<10)
2875#define MCF548X_USB_EPTNR_EPnT1               (0)
2876#define MCF548X_USB_EPTNR_EPnT2               (1)
2877#define MCF548X_USB_EPTNR_EPnT3               (2)
2878
2879/* Bit definitions and macros for MCF548X_USB_IFUR */
2880#define MCF548X_USB_IFUR_ALTSET(x)            (((x)&0x00FF)<<0)
2881#define MCF548X_USB_IFUR_IFNUM(x)             (((x)&0x00FF)<<8)
2882
2883/* Bit definitions and macros for MCF548X_USB_IFRn */
2884#define MCF548X_USB_IFRn_ALTSET(x)            (((x)&0x00FF)<<0)
2885#define MCF548X_USB_IFRn_IFNUM(x)             (((x)&0x00FF)<<8)
2886
2887/* Bit definitions and macros for MCF548X_USB_CNTOVR */
2888#define MCF548X_USB_CNTOVR_PPCNT              (0x01)
2889#define MCF548X_USB_CNTOVR_DPCNT              (0x02)
2890#define MCF548X_USB_CNTOVR_CRCECNT            (0x04)
2891#define MCF548X_USB_CNTOVR_BSECNT             (0x08)
2892#define MCF548X_USB_CNTOVR_PIDECNT            (0x10)
2893#define MCF548X_USB_CNTOVR_FRMECNT            (0x20)
2894#define MCF548X_USB_CNTOVR_TXPCNT             (0x40)
2895
2896/* Bit definitions and macros for MCF548X_USB_EP0ACR */
2897#define MCF548X_USB_EP0ACR_TTYPE(x)           (((x)&0x03)<<0)
2898#define MCF548X_USB_EP0ACR_TTYPE_CTRL         (0)
2899#define MCF548X_USB_EP0ACR_TTYPE_ISOC         (1)
2900#define MCF548X_USB_EP0ACR_TTYPE_BULK         (2)
2901#define MCF548X_USB_EP0ACR_TTYPE_INT          (3)
2902
2903/* Bit definitions and macros for MCF548X_USB_EP0MPSR */
2904#define MCF548X_USB_EP0MPSR_MAXPKTSZ(x)       (((x)&0x07FF)<<0)
2905#define MCF548X_USB_EP0MPSR_ADDTRANS(x)       (((x)&0x0003)<<11)
2906
2907/* Bit definitions and macros for MCF548X_USB_EP0SR */
2908#define MCF548X_USB_EP0SR_HALT                (0x01)
2909#define MCF548X_USB_EP0SR_ACTIVE              (0x02)
2910#define MCF548X_USB_EP0SR_PSTALL              (0x04)
2911#define MCF548X_USB_EP0SR_CCOMP               (0x08)
2912#define MCF548X_USB_EP0SR_TXZERO              (0x20)
2913#define MCF548X_USB_EP0SR_INT                 (0x80)
2914
2915/* Bit definitions and macros for MCF548X_USB_BMRTR */
2916#define MCF548X_USB_BMRTR_DIR                 (0x80)
2917#define MCF548X_USB_BMRTR_TYPE_STANDARD       (0x00)
2918#define MCF548X_USB_BMRTR_TYPE_CLASS          (0x20)
2919#define MCF548X_USB_BMRTR_TYPE_VENDOR         (0x40)
2920#define MCF548X_USB_BMRTR_REC_DEVICE          (0x00)
2921#define MCF548X_USB_BMRTR_REC_INTERFACE       (0x01)
2922#define MCF548X_USB_BMRTR_REC_ENDPOINT        (0x02)
2923#define MCF548X_USB_BMRTR_REC_OTHER           (0x03)
2924
2925/* Bit definitions and macros for MCF548X_USB_EPnOUTACR */
2926#define MCF548X_USB_EPnOUTACR_TTYPE(x)        (((x)&0x03)<<0)
2927
2928/* Bit definitions and macros for MCF548X_USB_EPnOUTMPSR */
2929#define MCF548X_USB_EPnOUTMPSR_MAXPKTSZ(x)    (((x)&0x07FF)<<0)
2930#define MCF548X_USB_EPnOUTMPSR_ADDTRANS(x)    (((x)&0x0003)<<11)
2931
2932/* Bit definitions and macros for MCF548X_USB_EPnOUTSR */
2933#define MCF548X_USB_EPnOUTSR_HALT             (0x01)
2934#define MCF548X_USB_EPnOUTSR_ACTIVE           (0x02)
2935#define MCF548X_USB_EPnOUTSR_PSTALL           (0x04)
2936#define MCF548X_USB_EPnOUTSR_CCOMP            (0x08)
2937#define MCF548X_USB_EPnOUTSR_TXZERO           (0x20)
2938#define MCF548X_USB_EPnOUTSR_INT              (0x80)
2939
2940/* Bit definitions and macros for MCF548X_USB_EPnOUTSFR */
2941#define MCF548X_USB_EPnOUTSFR_FRMNUM(x)       (((x)&0x07FF)<<0)
2942
2943/* Bit definitions and macros for MCF548X_USB_EPnINACR */
2944#define MCF548X_USB_EPnINACR_TTYPE(x)         (((x)&0x03)<<0)
2945
2946/* Bit definitions and macros for MCF548X_USB_EPnINMPSR */
2947#define MCF548X_USB_EPnINMPSR_MAXPKTSZ(x)     (((x)&0x07FF)<<0)
2948#define MCF548X_USB_EPnINMPSR_ADDTRANS(x)     (((x)&0x0003)<<11)
2949
2950/* Bit definitions and macros for MCF548X_USB_EPnINSR */
2951#define MCF548X_USB_EPnINSR_HALT              (0x01)
2952#define MCF548X_USB_EPnINSR_ACTIVE            (0x02)
2953#define MCF548X_USB_EPnINSR_PSTALL            (0x04)
2954#define MCF548X_USB_EPnINSR_CCOMP             (0x08)
2955#define MCF548X_USB_EPnINSR_TXZERO            (0x20)
2956#define MCF548X_USB_EPnINSR_INT               (0x80)
2957
2958/* Bit definitions and macros for MCF548X_USB_EPnINSFR */
2959#define MCF548X_USB_EPnINSFR_FRMNUM(x)        (((x)&0x07FF)<<0)
2960
2961/* Bit definitions and macros for MCF548X_USB_USBSR */
2962#define MCF548X_USB_USBSR_SUSP                (0x00000080)
2963#define MCF548X_USB_USBSR_ISOERREP            (0x0000000F)
2964
2965/* Bit definitions and macros for MCF548X_USB_USBCR */
2966#define MCF548X_USB_USBCR_RESUME              (0x00000001)
2967#define MCF548X_USB_USBCR_APPLOCK             (0x00000002)
2968#define MCF548X_USB_USBCR_RST                 (0x00000004)
2969#define MCF548X_USB_USBCR_RAMEN               (0x00000008)
2970#define MCF548X_USB_USBCR_RAMSPLIT            (0x00000020)
2971
2972/* Bit definitions and macros for MCF548X_USB_DRAMCR */
2973#define MCF548X_USB_DRAMCR_DADR(x)            (((x)&0x000003FF)<<0)
2974#define MCF548X_USB_DRAMCR_DSIZE(x)           (((x)&0x000007FF)<<16)
2975#define MCF548X_USB_DRAMCR_BSY                (0x40000000)
2976#define MCF548X_USB_DRAMCR_START              (0x80000000)
2977
2978/* Bit definitions and macros for MCF548X_USB_DRAMDR */
2979#define MCF548X_USB_DRAMDR_DDAT(x)            (((x)&0x000000FF)<<0)
2980
2981/* Bit definitions and macros for MCF548X_USB_USBISR */
2982#define MCF548X_USB_USBISR_ISOERR             (0x00000001)
2983#define MCF548X_USB_USBISR_FTUNLCK            (0x00000002)
2984#define MCF548X_USB_USBISR_SUSP               (0x00000004)
2985#define MCF548X_USB_USBISR_RES                (0x00000008)
2986#define MCF548X_USB_USBISR_UPDSOF             (0x00000010)
2987#define MCF548X_USB_USBISR_RSTSTOP            (0x00000020)
2988#define MCF548X_USB_USBISR_SOF                (0x00000040)
2989#define MCF548X_USB_USBISR_MSOF               (0x00000080)
2990
2991/* Bit definitions and macros for MCF548X_USB_USBIMR */
2992#define MCF548X_USB_USBIMR_ISOERR             (0x00000001)
2993#define MCF548X_USB_USBIMR_FTUNLCK            (0x00000002)
2994#define MCF548X_USB_USBIMR_SUSP               (0x00000004)
2995#define MCF548X_USB_USBIMR_RES                (0x00000008)
2996#define MCF548X_USB_USBIMR_UPDSOF             (0x00000010)
2997#define MCF548X_USB_USBIMR_RSTSTOP            (0x00000020)
2998#define MCF548X_USB_USBIMR_SOF                (0x00000040)
2999#define MCF548X_USB_USBIMR_MSOF               (0x00000080)
3000
3001/* Bit definitions and macros for MCF548X_USB_EPnSTAT */
3002#define MCF548X_USB_EPnSTAT_RST               (0x00000001)
3003#define MCF548X_USB_EPnSTAT_FLUSH             (0x00000002)
3004#define MCF548X_USB_EPnSTAT_DIR               (0x00000080)
3005#define MCF548X_USB_EPnSTAT_BYTECNT(x)        (((x)&0x00000FFF)<<16)
3006
3007/* Bit definitions and macros for MCF548X_USB_EPnISR */
3008#define MCF548X_USB_EPnISR_EOF                (0x00000001)
3009#define MCF548X_USB_EPnISR_EOT                (0x00000004)
3010#define MCF548X_USB_EPnISR_FIFOLO             (0x00000010)
3011#define MCF548X_USB_EPnISR_FIFOHI             (0x00000020)
3012#define MCF548X_USB_EPnISR_ERR                (0x00000040)
3013#define MCF548X_USB_EPnISR_EMT                (0x00000080)
3014#define MCF548X_USB_EPnISR_FU                 (0x00000100)
3015
3016/* Bit definitions and macros for MCF548X_USB_EPnIMR */
3017#define MCF548X_USB_EPnIMR_EOF                (0x00000001)
3018#define MCF548X_USB_EPnIMR_EOT                (0x00000004)
3019#define MCF548X_USB_EPnIMR_FIFOLO             (0x00000010)
3020#define MCF548X_USB_EPnIMR_FIFOHI             (0x00000020)
3021#define MCF548X_USB_EPnIMR_ERR                (0x00000040)
3022#define MCF548X_USB_EPnIMR_EMT                (0x00000080)
3023#define MCF548X_USB_EPnIMR_FU                 (0x00000100)
3024
3025/* Bit definitions and macros for MCF548X_USB_EPnFRCFGR */
3026#define MCF548X_USB_EPnFRCFGR_DEPTH(x)        (((x)&0x00001FFF)<<0)
3027#define MCF548X_USB_EPnFRCFGR_BASE(x)         (((x)&0x00000FFF)<<16)
3028
3029/* Bit definitions and macros for MCF548X_USB_EPnFSR */
3030#define MCF548X_USB_EPnFSR_EMT                (0x00010000)
3031#define MCF548X_USB_EPnFSR_ALRM               (0x00020000)
3032#define MCF548X_USB_EPnFSR_FR                 (0x00040000)
3033#define MCF548X_USB_EPnFSR_FU                 (0x00080000)
3034#define MCF548X_USB_EPnFSR_OF                 (0x00100000)
3035#define MCF548X_USB_EPnFSR_UF                 (0x00200000)
3036#define MCF548X_USB_EPnFSR_RXW                (0x00400000)
3037#define MCF548X_USB_EPnFSR_FAE                (0x00800000)
3038#define MCF548X_USB_EPnFSR_FRM(x)             (((x)&0x0000000F)<<24)
3039#define MCF548X_USB_EPnFSR_TXW                (0x40000000)
3040#define MCF548X_USB_EPnFSR_IP                 (0x80000000)
3041
3042/* Bit definitions and macros for MCF548X_USB_EPnFCR */
3043#define MCF548X_USB_EPnFCR_COUNTER(x)         (((x)&0x0000FFFF)<<0)
3044#define MCF548X_USB_EPnFCR_TXWMSK             (0x00040000)
3045#define MCF548X_USB_EPnFCR_OFMSK              (0x00080000)
3046#define MCF548X_USB_EPnFCR_UFMSK              (0x00100000)
3047#define MCF548X_USB_EPnFCR_RXWMSK             (0x00200000)
3048#define MCF548X_USB_EPnFCR_FAEMSK             (0x00400000)
3049#define MCF548X_USB_EPnFCR_IPMSK              (0x00800000)
3050#define MCF548X_USB_EPnFCR_GR(x)              (((x)&0x00000007)<<24)
3051#define MCF548X_USB_EPnFCR_FRM                (0x08000000)
3052#define MCF548X_USB_EPnFCR_TMR                (0x10000000)
3053#define MCF548X_USB_EPnFCR_WFR                (0x20000000)
3054#define MCF548X_USB_EPnFCR_SHAD               (0x80000000)
3055
3056/* Bit definitions and macros for MCF548X_USB_EPnFAR */
3057#define MCF548X_USB_EPnFAR_ALRMP(x)           (((x)&0x00000FFF)<<0)
3058
3059/* Bit definitions and macros for MCF548X_USB_EPnFRP */
3060#define MCF548X_USB_EPnFRP_RP(x)              (((x)&0x00000FFF)<<0)
3061
3062/* Bit definitions and macros for MCF548X_USB_EPnFWP */
3063#define MCF548X_USB_EPnFWP_WP(x)              (((x)&0x00000FFF)<<0)
3064
3065/* Bit definitions and macros for MCF548X_USB_EPnLRFP */
3066#define MCF548X_USB_EPnLRFP_LRFP(x)           (((x)&0x00000FFF)<<0)
3067
3068/* Bit definitions and macros for MCF548X_USB_EPnLWFP */
3069#define MCF548X_USB_EPnLWFP_LWFP(x)           (((x)&0x00000FFF)<<0)
3070
3071
3072/*********************************************************************
3073*
3074* Programmable Serial Controller (PSC)
3075*
3076*********************************************************************/
3077
3078/* Register read/write macros */
3079#define MCF548X_PSC_MR0            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008600)))
3080#define MCF548X_PSC_SR0            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008604)))
3081#define MCF548X_PSC_CSR0           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008604)))
3082#define MCF548X_PSC_CR0            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008608)))
3083#define MCF548X_PSC_RB0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860C)))
3084#define MCF548X_PSC_TB0            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860C)))
3085#define MCF548X_PSC_TB_8BIT0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860C)))
3086#define MCF548X_PSC_TB_16BIT0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860C)))
3087#define MCF548X_PSC_TB_AC970       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860C)))
3088#define MCF548X_PSC_IPCR0          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008610)))
3089#define MCF548X_PSC_ACR0           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008610)))
3090#define MCF548X_PSC_ISR0           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008614)))
3091#define MCF548X_PSC_IMR0           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008614)))
3092#define MCF548X_PSC_CTUR0          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008618)))
3093#define MCF548X_PSC_CTLR0          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00861C)))
3094#define MCF548X_PSC_IP0            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008634)))
3095#define MCF548X_PSC_OPSET0         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008638)))
3096#define MCF548X_PSC_OPRESET0       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00863C)))
3097#define MCF548X_PSC_SICR0          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008640)))
3098#define MCF548X_PSC_IRCR10         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008644)))
3099#define MCF548X_PSC_IRCR20         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008648)))
3100#define MCF548X_PSC_IRSDR0         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00864C)))
3101#define MCF548X_PSC_IRMDR0         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008650)))
3102#define MCF548X_PSC_IRFDR0         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008654)))
3103#define MCF548X_PSC_RFCNT0         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008658)))
3104#define MCF548X_PSC_TFCNT0         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00865C)))
3105#define MCF548X_PSC_RFSR0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008664)))
3106#define MCF548X_PSC_TFSR0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008684)))
3107#define MCF548X_PSC_RFCR0          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008668)))
3108#define MCF548X_PSC_TFCR0          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008688)))
3109#define MCF548X_PSC_RFAR0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00866E)))
3110#define MCF548X_PSC_TFAR0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00868E)))
3111#define MCF548X_PSC_RFRP0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008672)))
3112#define MCF548X_PSC_TFRP0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008692)))
3113#define MCF548X_PSC_RFWP0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008676)))
3114#define MCF548X_PSC_TFWP0          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008696)))
3115#define MCF548X_PSC_RLRFP0         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00867A)))
3116#define MCF548X_PSC_TLRFP0         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00869A)))
3117#define MCF548X_PSC_RLWFP0         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00867E)))
3118#define MCF548X_PSC_TLWFP0         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00869E)))
3119#define MCF548X_PSC_MR1            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008700)))
3120#define MCF548X_PSC_SR1            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008704)))
3121#define MCF548X_PSC_CSR1           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008704)))
3122#define MCF548X_PSC_CR1            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008708)))
3123#define MCF548X_PSC_RB1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00870C)))
3124#define MCF548X_PSC_TB1            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00870C)))
3125#define MCF548X_PSC_TB_8BIT1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00870C)))
3126#define MCF548X_PSC_TB_16BIT1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00870C)))
3127#define MCF548X_PSC_TB_AC971       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00870C)))
3128#define MCF548X_PSC_IPCR1          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008710)))
3129#define MCF548X_PSC_ACR1           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008710)))
3130#define MCF548X_PSC_ISR1           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008714)))
3131#define MCF548X_PSC_IMR1           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008714)))
3132#define MCF548X_PSC_CTUR1          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008718)))
3133#define MCF548X_PSC_CTLR1          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00871C)))
3134#define MCF548X_PSC_IP1            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008734)))
3135#define MCF548X_PSC_OPSET1         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008738)))
3136#define MCF548X_PSC_OPRESET1       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00873C)))
3137#define MCF548X_PSC_SICR1          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008740)))
3138#define MCF548X_PSC_IRCR11         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008744)))
3139#define MCF548X_PSC_IRCR21         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008748)))
3140#define MCF548X_PSC_IRSDR1         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00874C)))
3141#define MCF548X_PSC_IRMDR1         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008750)))
3142#define MCF548X_PSC_IRFDR1         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008754)))
3143#define MCF548X_PSC_RFCNT1         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008758)))
3144#define MCF548X_PSC_TFCNT1         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00875C)))
3145#define MCF548X_PSC_RFSR1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008764)))
3146#define MCF548X_PSC_TFSR1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008784)))
3147#define MCF548X_PSC_RFCR1          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008768)))
3148#define MCF548X_PSC_TFCR1          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008788)))
3149#define MCF548X_PSC_RFAR1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00876E)))
3150#define MCF548X_PSC_TFAR1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00878E)))
3151#define MCF548X_PSC_RFRP1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008772)))
3152#define MCF548X_PSC_TFRP1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008792)))
3153#define MCF548X_PSC_RFWP1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008776)))
3154#define MCF548X_PSC_TFWP1          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008796)))
3155#define MCF548X_PSC_RLRFP1         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00877A)))
3156#define MCF548X_PSC_TLRFP1         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00879A)))
3157#define MCF548X_PSC_RLWFP1         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00877E)))
3158#define MCF548X_PSC_TLWFP1         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00879E)))
3159#define MCF548X_PSC_MR2            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008800)))
3160#define MCF548X_PSC_SR2            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008804)))
3161#define MCF548X_PSC_CSR2           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008804)))
3162#define MCF548X_PSC_CR2            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008808)))
3163#define MCF548X_PSC_RB2            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00880C)))
3164#define MCF548X_PSC_TB2            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00880C)))
3165#define MCF548X_PSC_TB_8BIT2       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00880C)))
3166#define MCF548X_PSC_TB_16BIT2      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00880C)))
3167#define MCF548X_PSC_TB_AC972       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00880C)))
3168#define MCF548X_PSC_IPCR2          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008810)))
3169#define MCF548X_PSC_ACR2           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008810)))
3170#define MCF548X_PSC_ISR2           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008814)))
3171#define MCF548X_PSC_IMR2           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008814)))
3172#define MCF548X_PSC_CTUR2          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008818)))
3173#define MCF548X_PSC_CTLR2          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00881C)))
3174#define MCF548X_PSC_IP2            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008834)))
3175#define MCF548X_PSC_OPSET2         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008838)))
3176#define MCF548X_PSC_OPRESET2       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00883C)))
3177#define MCF548X_PSC_SICR2          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008840)))
3178#define MCF548X_PSC_IRCR12         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008844)))
3179#define MCF548X_PSC_IRCR22         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008848)))
3180#define MCF548X_PSC_IRSDR2         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00884C)))
3181#define MCF548X_PSC_IRMDR2         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008850)))
3182#define MCF548X_PSC_IRFDR2         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008854)))
3183#define MCF548X_PSC_RFCNT2         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008858)))
3184#define MCF548X_PSC_TFCNT2         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00885C)))
3185#define MCF548X_PSC_RFSR2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008864)))
3186#define MCF548X_PSC_TFSR2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008884)))
3187#define MCF548X_PSC_RFCR2          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008868)))
3188#define MCF548X_PSC_TFCR2          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008888)))
3189#define MCF548X_PSC_RFAR2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00886E)))
3190#define MCF548X_PSC_TFAR2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00888E)))
3191#define MCF548X_PSC_RFRP2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008872)))
3192#define MCF548X_PSC_TFRP2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008892)))
3193#define MCF548X_PSC_RFWP2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008876)))
3194#define MCF548X_PSC_TFWP2          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008896)))
3195#define MCF548X_PSC_RLRFP2         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00887A)))
3196#define MCF548X_PSC_TLRFP2         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00889A)))
3197#define MCF548X_PSC_RLWFP2         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00887E)))
3198#define MCF548X_PSC_TLWFP2         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00889E)))
3199#define MCF548X_PSC_MR3            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008900)))
3200#define MCF548X_PSC_SR3            (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008904)))
3201#define MCF548X_PSC_CSR3           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008904)))
3202#define MCF548X_PSC_CR3            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008908)))
3203#define MCF548X_PSC_RB3            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00890C)))
3204#define MCF548X_PSC_TB3            (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00890C)))
3205#define MCF548X_PSC_TB_8BIT3       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00890C)))
3206#define MCF548X_PSC_TB_16BIT3      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00890C)))
3207#define MCF548X_PSC_TB_AC973       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00890C)))
3208#define MCF548X_PSC_IPCR3          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008910)))
3209#define MCF548X_PSC_ACR3           (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008910)))
3210#define MCF548X_PSC_ISR3           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008914)))
3211#define MCF548X_PSC_IMR3           (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008914)))
3212#define MCF548X_PSC_CTUR3          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008918)))
3213#define MCF548X_PSC_CTLR3          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00891C)))
3214#define MCF548X_PSC_IP3            (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008934)))
3215#define MCF548X_PSC_OPSET3         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008938)))
3216#define MCF548X_PSC_OPRESET3       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00893C)))
3217#define MCF548X_PSC_SICR3          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008940)))
3218#define MCF548X_PSC_IRCR13         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008944)))
3219#define MCF548X_PSC_IRCR23         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008948)))
3220#define MCF548X_PSC_IRSDR3         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00894C)))
3221#define MCF548X_PSC_IRMDR3         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008950)))
3222#define MCF548X_PSC_IRFDR3         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008954)))
3223#define MCF548X_PSC_RFCNT3         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008958)))
3224#define MCF548X_PSC_TFCNT3         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00895C)))
3225#define MCF548X_PSC_RFSR3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008964)))
3226#define MCF548X_PSC_TFSR3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008984)))
3227#define MCF548X_PSC_RFCR3          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008968)))
3228#define MCF548X_PSC_TFCR3          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008988)))
3229#define MCF548X_PSC_RFAR3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00896E)))
3230#define MCF548X_PSC_TFAR3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00898E)))
3231#define MCF548X_PSC_RFRP3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008972)))
3232#define MCF548X_PSC_TFRP3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008992)))
3233#define MCF548X_PSC_RFWP3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008976)))
3234#define MCF548X_PSC_TFWP3          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008996)))
3235#define MCF548X_PSC_RLRFP3         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00897A)))
3236#define MCF548X_PSC_TLRFP3         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00899A)))
3237#define MCF548X_PSC_RLWFP3         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00897E)))
3238#define MCF548X_PSC_TLWFP3         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00899E)))
3239#define MCF548X_PSC_MR(x)          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008600U+((x)*0x100))))
3240#define MCF548X_PSC_SR(x)          (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008604U+((x)*0x100))))
3241#define MCF548X_PSC_CSR(x)         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008604U+((x)*0x100))))
3242#define MCF548X_PSC_CR(x)          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008608U+((x)*0x100))))
3243#define MCF548X_PSC_RB(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860CU+((x)*0x100))))
3244#define MCF548X_PSC_TB(x)          (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860CU+((x)*0x100))))
3245#define MCF548X_PSC_TB_8BIT(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860CU+((x)*0x100))))
3246#define MCF548X_PSC_TB_16BIT(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860CU+((x)*0x100))))
3247#define MCF548X_PSC_TB_AC97(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00860CU+((x)*0x100))))
3248#define MCF548X_PSC_IPCR(x)        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008610U+((x)*0x100))))
3249#define MCF548X_PSC_ACR(x)         (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008610U+((x)*0x100))))
3250#define MCF548X_PSC_ISR(x)         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008614U+((x)*0x100))))
3251#define MCF548X_PSC_IMR(x)         (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008614U+((x)*0x100))))
3252#define MCF548X_PSC_CTUR(x)        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008618U+((x)*0x100))))
3253#define MCF548X_PSC_CTLR(x)        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00861CU+((x)*0x100))))
3254#define MCF548X_PSC_IP(x)          (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008634U+((x)*0x100))))
3255#define MCF548X_PSC_OPSET(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008638U+((x)*0x100))))
3256#define MCF548X_PSC_OPRESET(x)     (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00863CU+((x)*0x100))))
3257#define MCF548X_PSC_SICR(x)        (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008640U+((x)*0x100))))
3258#define MCF548X_PSC_IRCR1(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008644U+((x)*0x100))))
3259#define MCF548X_PSC_IRCR2(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008648U+((x)*0x100))))
3260#define MCF548X_PSC_IRSDR(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x00864CU+((x)*0x100))))
3261#define MCF548X_PSC_IRMDR(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008650U+((x)*0x100))))
3262#define MCF548X_PSC_IRFDR(x)       (*(volatile uint8_t *)((uintptr_t)__MBAR + (0x008654U+((x)*0x100))))
3263#define MCF548X_PSC_RFCNT(x)       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008658U+((x)*0x100))))
3264#define MCF548X_PSC_TFCNT(x)       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00865CU+((x)*0x100))))
3265#define MCF548X_PSC_RFSR(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008664U+((x)*0x100))))
3266#define MCF548X_PSC_TFSR(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008684U+((x)*0x100))))
3267#define MCF548X_PSC_RFCR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008668U+((x)*0x100))))
3268#define MCF548X_PSC_TFCR(x)        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008688U+((x)*0x100))))
3269#define MCF548X_PSC_RFAR(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00866EU+((x)*0x100))))
3270#define MCF548X_PSC_TFAR(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00868EU+((x)*0x100))))
3271#define MCF548X_PSC_RFRP(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008672U+((x)*0x100))))
3272#define MCF548X_PSC_TFRP(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008692U+((x)*0x100))))
3273#define MCF548X_PSC_RFWP(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008676U+((x)*0x100))))
3274#define MCF548X_PSC_TFWP(x)        (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008696U+((x)*0x100))))
3275#define MCF548X_PSC_RLRFP(x)       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00867AU+((x)*0x100))))
3276#define MCF548X_PSC_TLRFP(x)       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00869AU+((x)*0x100))))
3277#define MCF548X_PSC_RLWFP(x)       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00867EU+((x)*0x100))))
3278#define MCF548X_PSC_TLWFP(x)       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00869EU+((x)*0x100))))
3279
3280/* Bit definitions and macros for MCF548X_PSC_MR */
3281#define MCF548X_PSC_MR_BC(x)              (((x)&0x03)<<0)
3282#define MCF548X_PSC_MR_PT                 (0x04)
3283#define MCF548X_PSC_MR_PM(x)              (((x)&0x03)<<3)
3284#define MCF548X_PSC_MR_ERR                (0x20)
3285#define MCF548X_PSC_MR_RXIRQ              (0x40)
3286#define MCF548X_PSC_MR_RXRTS              (0x80)
3287#define MCF548X_PSC_MR_SB(x)              (((x)&0x0F)<<0)
3288#define MCF548X_PSC_MR_TXCTS              (0x10)
3289#define MCF548X_PSC_MR_TXRTS              (0x20)
3290#define MCF548X_PSC_MR_CM(x)              (((x)&0x03)<<6)
3291#define MCF548X_PSC_MR_PM_MULTI_ADDR      (0x1C)
3292#define MCF548X_PSC_MR_PM_MULTI_DATA      (0x18)
3293#define MCF548X_PSC_MR_PM_NONE            (0x10)
3294#define MCF548X_PSC_MR_PM_FORCE_HI        (0x0C)
3295#define MCF548X_PSC_MR_PM_FORCE_LO        (0x08)
3296#define MCF548X_PSC_MR_PM_ODD             (0x04)
3297#define MCF548X_PSC_MR_PM_EVEN            (0x00)
3298#define MCF548X_PSC_MR_BC_5               (0x00)
3299#define MCF548X_PSC_MR_BC_6               (0x01)
3300#define MCF548X_PSC_MR_BC_7               (0x02)
3301#define MCF548X_PSC_MR_BC_8               (0x03)
3302#define MCF548X_PSC_MR_CM_NORMAL          (0x00)
3303#define MCF548X_PSC_MR_CM_ECHO            (0x40)
3304#define MCF548X_PSC_MR_CM_LOCAL_LOOP      (0x80)
3305#define MCF548X_PSC_MR_CM_REMOTE_LOOP     (0xC0)
3306#define MCF548X_PSC_MR_SB_STOP_BITS_1     (0x07)
3307#define MCF548X_PSC_MR_SB_STOP_BITS_15    (0x08)
3308#define MCF548X_PSC_MR_SB_STOP_BITS_2     (0x0F)
3309
3310/* Bit definitions and macros for MCF548X_PSC_SR */
3311#define MCF548X_PSC_SR_ERR                (0x0040)
3312#define MCF548X_PSC_SR_CDE_DEOF           (0x0080)
3313#define MCF548X_PSC_SR_RXRDY              (0x0100)
3314#define MCF548X_PSC_SR_FU                 (0x0200)
3315#define MCF548X_PSC_SR_TXRDY              (0x0400)
3316#define MCF548X_PSC_SR_TXEMP_URERR        (0x0800)
3317#define MCF548X_PSC_SR_OE                 (0x1000)
3318#define MCF548X_PSC_SR_PE_CRCERR          (0x2000)
3319#define MCF548X_PSC_SR_FE_PHYERR          (0x4000)
3320#define MCF548X_PSC_SR_RB_NEOF            (0x8000)
3321
3322/* Bit definitions and macros for MCF548X_PSC_CSR */
3323#define MCF548X_PSC_CSR_TCSEL(x)          (((x)&0x0F)<<0)
3324#define MCF548X_PSC_CSR_RCSEL(x)          (((x)&0x0F)<<4)
3325#define MCF548X_PSC_CSR_RCSEL_SYS_CLK     (0xD0)
3326#define MCF548X_PSC_CSR_RCSEL_CTM16       (0xE0)
3327#define MCF548X_PSC_CSR_RCSEL_CTM         (0xF0)
3328#define MCF548X_PSC_CSR_TCSEL_SYS_CLK     (0x0D)
3329#define MCF548X_PSC_CSR_TCSEL_CTM16       (0x0E)
3330#define MCF548X_PSC_CSR_TCSEL_CTM         (0x0F)
3331
3332/* Bit definitions and macros for MCF548X_PSC_CR */
3333#define MCF548X_PSC_CR_RXC(x)             (((x)&0x03)<<0)
3334#define MCF548X_PSC_CR_TXC(x)             (((x)&0x03)<<2)
3335#define MCF548X_PSC_CR_MISC(x)            (((x)&0x07)<<4)
3336#define MCF548X_PSC_CR_NONE               (0x00)
3337#define MCF548X_PSC_CR_STOP_BREAK         (0x70)
3338#define MCF548X_PSC_CR_START_BREAK        (0x60)
3339#define MCF548X_PSC_CR_BKCHGINT           (0x50)
3340#define MCF548X_PSC_CR_RESET_ERROR        (0x40)
3341#define MCF548X_PSC_CR_RESET_TX           (0x30)
3342#define MCF548X_PSC_CR_RESET_RX           (0x20)
3343#define MCF548X_PSC_CR_RESET_MR           (0x10)
3344#define MCF548X_PSC_CR_TX_DISABLED        (0x08)
3345#define MCF548X_PSC_CR_TX_ENABLED         (0x04)
3346#define MCF548X_PSC_CR_RX_DISABLED        (0x02)
3347#define MCF548X_PSC_CR_RX_ENABLED         (0x01)
3348
3349/* Bit definitions and macros for MCF548X_PSC_TB_8BIT */
3350#define MCF548X_PSC_TB_8BIT_TB3(x)        (((x)&0x000000FF)<<0)
3351#define MCF548X_PSC_TB_8BIT_TB2(x)        (((x)&0x000000FF)<<8)
3352#define MCF548X_PSC_TB_8BIT_TB1(x)        (((x)&0x000000FF)<<16)
3353#define MCF548X_PSC_TB_8BIT_TB0(x)        (((x)&0x000000FF)<<24)
3354
3355/* Bit definitions and macros for MCF548X_PSC_TB_16BIT */
3356#define MCF548X_PSC_TB_16BIT_TB1(x)       (((x)&0x0000FFFF)<<0)
3357#define MCF548X_PSC_TB_16BIT_TB0(x)       (((x)&0x0000FFFF)<<16)
3358
3359/* Bit definitions and macros for MCF548X_PSC_TB_AC97 */
3360#define MCF548X_PSC_TB_AC97_SOF           (0x00000800)
3361#define MCF548X_PSC_TB_AC97_TB(x)         (((x)&0x000FFFFF)<<12)
3362
3363/* Bit definitions and macros for MCF548X_PSC_IPCR */
3364#define MCF548X_PSC_IPCR_RESERVED         (0x0C)
3365#define MCF548X_PSC_IPCR_CTS              (0x0D)
3366#define MCF548X_PSC_IPCR_D_CTS            (0x1C)
3367#define MCF548X_PSC_IPCR_SYNC             (0x8C)
3368
3369/* Bit definitions and macros for MCF548X_PSC_ACR */
3370#define MCF548X_PSC_ACR_IEC0              (0x01)
3371#define MCF548X_PSC_ACR_CTMS(x)           (((x)&0x07)<<4)
3372#define MCF548X_PSC_ACR_BRG               (0x80)
3373
3374/* Bit definitions and macros for MCF548X_PSC_ISR */
3375#define MCF548X_PSC_ISR_ERR               (0x0040)
3376#define MCF548X_PSC_ISR_DEOF              (0x0080)
3377#define MCF548X_PSC_ISR_TXRDY             (0x0100)
3378#define MCF548X_PSC_ISR_RXRDY_FU          (0x0200)
3379#define MCF548X_PSC_ISR_DB                (0x0400)
3380#define MCF548X_PSC_ISR_IPC               (0x8000)
3381
3382/* Bit definitions and macros for MCF548X_PSC_IMR */
3383#define MCF548X_PSC_IMR_ERR               (0x0040)
3384#define MCF548X_PSC_IMR_DEOF              (0x0080)
3385#define MCF548X_PSC_IMR_TXRDY             (0x0100)
3386#define MCF548X_PSC_IMR_RXRDY_FU          (0x0200)
3387#define MCF548X_PSC_IMR_DB                (0x0400)
3388#define MCF548X_PSC_IMR_IPC               (0x8000)
3389
3390/* Bit definitions and macros for MCF548X_PSC_IP */
3391#define MCF548X_PSC_IP_CTS                (0x01)
3392#define MCF548X_PSC_IP_TGL                (0x40)
3393#define MCF548X_PSC_IP_LWPR_B             (0x80)
3394
3395/* Bit definitions and macros for MCF548X_PSC_OPSET */
3396#define MCF548X_PSC_OPSET_RTS             (0x01)
3397
3398/* Bit definitions and macros for MCF548X_PSC_OPRESET */
3399#define MCF548X_PSC_OPRESET_RTS           (0x01)
3400
3401/* Bit definitions and macros for MCF548X_PSC_SICR */
3402#define MCF548X_PSC_SICR_SIM(x)           (((x)&0x07)<<0)
3403#define MCF548X_PSC_SICR_SHDIR            (0x10)
3404#define MCF548X_PSC_SICR_DTS              (0x20)
3405#define MCF548X_PSC_SICR_AWR              (0x40)
3406#define MCF548X_PSC_SICR_ACRB             (0x80)
3407#define MCF548X_PSC_SICR_SIM_UART         (0x00)
3408#define MCF548X_PSC_SICR_SIM_MODEM8       (0x01)
3409#define MCF548X_PSC_SICR_SIM_MODEM16      (0x02)
3410#define MCF548X_PSC_SICR_SIM_AC97         (0x03)
3411#define MCF548X_PSC_SICR_SIM_SIR          (0x04)
3412#define MCF548X_PSC_SICR_SIM_MIR          (0x05)
3413#define MCF548X_PSC_SICR_SIM_FIR          (0x06)
3414
3415/* Bit definitions and macros for MCF548X_PSC_IRCR1 */
3416#define MCF548X_PSC_IRCR1_SPUL            (0x01)
3417#define MCF548X_PSC_IRCR1_SIPEN           (0x02)
3418#define MCF548X_PSC_IRCR1_FD              (0x04)
3419
3420/* Bit definitions and macros for MCF548X_PSC_IRCR2 */
3421#define MCF548X_PSC_IRCR2_NXTEOF          (0x01)
3422#define MCF548X_PSC_IRCR2_ABORT           (0x02)
3423#define MCF548X_PSC_IRCR2_SIPREQ          (0x04)
3424
3425/* Bit definitions and macros for MCF548X_PSC_IRMDR */
3426#define MCF548X_PSC_IRMDR_M_FDIV(x)       (((x)&0x7F)<<0)
3427#define MCF548X_PSC_IRMDR_FREQ            (0x80)
3428
3429/* Bit definitions and macros for MCF548X_PSC_IRFDR */
3430#define MCF548X_PSC_IRFDR_F_FDIV(x)       (((x)&0x0F)<<0)
3431
3432/* Bit definitions and macros for MCF548X_PSC_RFCNT */
3433#define MCF548X_PSC_RFCNT_CNT(x)          (((x)&0x01FF)<<0)
3434
3435/* Bit definitions and macros for MCF548X_PSC_TFCNT */
3436#define MCF548X_PSC_TFCNT_CNT(x)          (((x)&0x01FF)<<0)
3437
3438/* Bit definitions and macros for MCF548X_PSC_RFSR */
3439#define MCF548X_PSC_RFSR_EMT              (0x0001)
3440#define MCF548X_PSC_RFSR_ALARM            (0x0002)
3441#define MCF548X_PSC_RFSR_FU               (0x0004)
3442#define MCF548X_PSC_RFSR_FRMRY            (0x0008)
3443#define MCF548X_PSC_RFSR_OF               (0x0010)
3444#define MCF548X_PSC_RFSR_UF               (0x0020)
3445#define MCF548X_PSC_RFSR_RXW              (0x0040)
3446#define MCF548X_PSC_RFSR_FAE              (0x0080)
3447#define MCF548X_PSC_RFSR_FRM(x)           (((x)&0x000F)<<8)
3448#define MCF548X_PSC_RFSR_TAG              (0x1000)
3449#define MCF548X_PSC_RFSR_TXW              (0x4000)
3450#define MCF548X_PSC_RFSR_IP               (0x8000)
3451#define MCF548X_PSC_RFSR_FRM_BYTE0        (0x0800)
3452#define MCF548X_PSC_RFSR_FRM_BYTE1        (0x0400)
3453#define MCF548X_PSC_RFSR_FRM_BYTE2        (0x0200)
3454#define MCF548X_PSC_RFSR_FRM_BYTE3        (0x0100)
3455
3456/* Bit definitions and macros for MCF548X_PSC_TFSR */
3457#define MCF548X_PSC_TFSR_EMT              (0x0001)
3458#define MCF548X_PSC_TFSR_ALARM            (0x0002)
3459#define MCF548X_PSC_TFSR_FU               (0x0004)
3460#define MCF548X_PSC_TFSR_FRMRY            (0x0008)
3461#define MCF548X_PSC_TFSR_OF               (0x0010)
3462#define MCF548X_PSC_TFSR_UF               (0x0020)
3463#define MCF548X_PSC_TFSR_RXW              (0x0040)
3464#define MCF548X_PSC_TFSR_FAE              (0x0080)
3465#define MCF548X_PSC_TFSR_FRM(x)           (((x)&0x000F)<<8)
3466#define MCF548X_PSC_TFSR_TAG              (0x1000)
3467#define MCF548X_PSC_TFSR_TXW              (0x4000)
3468#define MCF548X_PSC_TFSR_IP               (0x8000)
3469#define MCF548X_PSC_TFSR_FRM_BYTE0        (0x0800)
3470#define MCF548X_PSC_TFSR_FRM_BYTE1        (0x0400)
3471#define MCF548X_PSC_TFSR_FRM_BYTE2        (0x0200)
3472#define MCF548X_PSC_TFSR_FRM_BYTE3        (0x0100)
3473
3474/* Bit definitions and macros for MCF548X_PSC_RFCR */
3475#define MCF548X_PSC_RFCR_CNTR(x)          (((x)&0x0000FFFF)<<0)
3476#define MCF548X_PSC_RFCR_TXW_MSK          (0x00040000)
3477#define MCF548X_PSC_RFCR_OF_MSK           (0x00080000)
3478#define MCF548X_PSC_RFCR_UF_MSK           (0x00100000)
3479#define MCF548X_PSC_RFCR_RXW_MSK          (0x00200000)
3480#define MCF548X_PSC_RFCR_FAE_MSK          (0x00400000)
3481#define MCF548X_PSC_RFCR_IP_MSK           (0x00800000)
3482#define MCF548X_PSC_RFCR_GR(x)            (((x)&0x00000007)<<24)
3483#define MCF548X_PSC_RFCR_FRMEN            (0x08000000)
3484#define MCF548X_PSC_RFCR_TIMER            (0x10000000)
3485#define MCF548X_PSC_RFCR_WRITETAG         (0x20000000)
3486#define MCF548X_PSC_RFCR_SHADOW           (0x80000000)
3487
3488/* Bit definitions and macros for MCF548X_PSC_TFCR */
3489#define MCF548X_PSC_TFCR_CNTR(x)          (((x)&0x0000FFFF)<<0)
3490#define MCF548X_PSC_TFCR_TXW_MSK          (0x00040000)
3491#define MCF548X_PSC_TFCR_OF_MSK           (0x00080000)
3492#define MCF548X_PSC_TFCR_UF_MSK           (0x00100000)
3493#define MCF548X_PSC_TFCR_RXW_MSK          (0x00200000)
3494#define MCF548X_PSC_TFCR_FAE_MSK          (0x00400000)
3495#define MCF548X_PSC_TFCR_IP_MSK           (0x00800000)
3496#define MCF548X_PSC_TFCR_GR(x)            (((x)&0x00000007)<<24)
3497#define MCF548X_PSC_TFCR_FRMEN            (0x08000000)
3498#define MCF548X_PSC_TFCR_TIMER            (0x10000000)
3499#define MCF548X_PSC_TFCR_WRITETAG         (0x20000000)
3500#define MCF548X_PSC_TFCR_SHADOW           (0x80000000)
3501
3502/* Bit definitions and macros for MCF548X_PSC_RFAR */
3503#define MCF548X_PSC_RFAR_ALARM(x)         (((x)&0x01FF)<<0)
3504
3505/* Bit definitions and macros for MCF548X_PSC_TFAR */
3506#define MCF548X_PSC_TFAR_ALARM(x)         (((x)&0x01FF)<<0)
3507
3508/* Bit definitions and macros for MCF548X_PSC_RFRP */
3509#define MCF548X_PSC_RFRP_READ(x)          (((x)&0x01FF)<<0)
3510
3511/* Bit definitions and macros for MCF548X_PSC_TFRP */
3512#define MCF548X_PSC_TFRP_READ(x)          (((x)&0x01FF)<<0)
3513
3514/* Bit definitions and macros for MCF548X_PSC_RFWP */
3515#define MCF548X_PSC_RFWP_WRITE(x)         (((x)&0x01FF)<<0)
3516
3517/* Bit definitions and macros for MCF548X_PSC_TFWP */
3518#define MCF548X_PSC_TFWP_WRITE(x)         (((x)&0x01FF)<<0)
3519
3520/* Bit definitions and macros for MCF548X_PSC_RLRFP */
3521#define MCF548X_PSC_RLRFP_LFP(x)          (((x)&0x01FF)<<0)
3522
3523/* Bit definitions and macros for MCF548X_PSC_TLRFP */
3524#define MCF548X_PSC_TLRFP_LFP(x)          (((x)&0x01FF)<<0)
3525
3526/* Bit definitions and macros for MCF548X_PSC_RLWFP */
3527#define MCF548X_PSC_RLWFP_LFP(x)          (((x)&0x01FF)<<0)
3528
3529/* Bit definitions and macros for MCF548X_PSC_TLWFP */
3530#define MCF548X_PSC_TLWFP_LFP(x)          (((x)&0x01FF)<<0)
3531
3532
3533/*********************************************************************
3534*
3535* 32KByte System SRAM (SRAM)
3536*
3537*********************************************************************/
3538
3539/* Register read/write macros */
3540#define MCF548X_SRAM_SSCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x01FFC0)))
3541#define MCF548X_SRAM_TCCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x01FFC4)))
3542#define MCF548X_SRAM_TCCRDR     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x01FFC8)))
3543#define MCF548X_SRAM_TCCRDW     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x01FFCC)))
3544#define MCF548X_SRAM_TCCRSEC    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x01FFD0)))
3545
3546/* Bit definitions and macros for MCF548X_SRAM_SSCR */
3547#define MCF548X_SRAM_SSCR_INLV              (0x00010000)
3548
3549/* Bit definitions and macros for MCF548X_SRAM_TCCR */
3550#define MCF548X_SRAM_TCCR_BANK0_TC(x)       (((x)&0x0000000F)<<0)
3551#define MCF548X_SRAM_TCCR_BANK1_TC(x)       (((x)&0x0000000F)<<8)
3552#define MCF548X_SRAM_TCCR_BANK2_TC(x)       (((x)&0x0000000F)<<16)
3553#define MCF548X_SRAM_TCCR_BANK3_TC(x)       (((x)&0x0000000F)<<24)
3554
3555/* Bit definitions and macros for MCF548X_SRAM_TCCRDR */
3556#define MCF548X_SRAM_TCCRDR_BANK0_TC(x)     (((x)&0x0000000F)<<0)
3557#define MCF548X_SRAM_TCCRDR_BANK1_TC(x)     (((x)&0x0000000F)<<8)
3558#define MCF548X_SRAM_TCCRDR_BANK2_TC(x)     (((x)&0x0000000F)<<16)
3559#define MCF548X_SRAM_TCCRDR_BANK3_TC(x)     (((x)&0x0000000F)<<24)
3560
3561/* Bit definitions and macros for MCF548X_SRAM_TCCRDW */
3562#define MCF548X_SRAM_TCCRDW_BANK0_TC(x)     (((x)&0x0000000F)<<0)
3563#define MCF548X_SRAM_TCCRDW_BANK1_TC(x)     (((x)&0x0000000F)<<8)
3564#define MCF548X_SRAM_TCCRDW_BANK2_TC(x)     (((x)&0x0000000F)<<16)
3565#define MCF548X_SRAM_TCCRDW_BANK3_TC(x)     (((x)&0x0000000F)<<24)
3566
3567/* Bit definitions and macros for MCF548X_SRAM_TCCRSEC */
3568#define MCF548X_SRAM_TCCRSEC_BANK0_TC(x)    (((x)&0x0000000F)<<0)
3569#define MCF548X_SRAM_TCCRSEC_BANK1_TC(x)    (((x)&0x0000000F)<<8)
3570#define MCF548X_SRAM_TCCRSEC_BANK2_TC(x)    (((x)&0x0000000F)<<16)
3571#define MCF548X_SRAM_TCCRSEC_BANK3_TC(x)    (((x)&0x0000000F)<<24)
3572
3573
3574/*********************************************************************
3575*
3576* PCI Bus Controller (PCI)
3577*
3578*********************************************************************/
3579
3580/* Register read/write macros */
3581#define MCF548X_PCI_PCIIDR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B00)))
3582#define MCF548X_PCI_PCISCR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B04)))
3583#define MCF548X_PCI_PCICCRIR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B08)))
3584#define MCF548X_PCI_PCICR1        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B0C)))
3585#define MCF548X_PCI_PCIBAR0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B10)))
3586#define MCF548X_PCI_PCIBAR1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B14)))
3587#define MCF548X_PCI_PCICR2        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B3C)))
3588#define MCF548X_PCI_PCIGSCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B60)))
3589#define MCF548X_PCI_PCITBATR0     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B64)))
3590#define MCF548X_PCI_PCITBATR1     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B68)))
3591#define MCF548X_PCI_PCITCR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B6C)))
3592#define MCF548X_PCI_PCIIW0BTAR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B70)))
3593#define MCF548X_PCI_PCIIW1BTAR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B74)))
3594#define MCF548X_PCI_PCIIW2BTAR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B78)))
3595#define MCF548X_PCI_PCIIWCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B80)))
3596#define MCF548X_PCI_PCIICR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B84)))
3597#define MCF548X_PCI_PCIISR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000B88)))
3598#define MCF548X_PCI_PCICAR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000BF8)))
3599#define MCF548X_PCI_PCITPSR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008400)))
3600#define MCF548X_PCI_PCITSAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008404)))
3601#define MCF548X_PCI_PCITTCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008408)))
3602#define MCF548X_PCI_PCITER        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00840C)))
3603#define MCF548X_PCI_PCITNAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008410)))
3604#define MCF548X_PCI_PCITLWR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008414)))
3605#define MCF548X_PCI_PCITDCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008418)))
3606#define MCF548X_PCI_PCITSR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00841C)))
3607#define MCF548X_PCI_PCITFDR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008440)))
3608#define MCF548X_PCI_PCITFSR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008444)))
3609#define MCF548X_PCI_PCITFCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008448)))
3610#define MCF548X_PCI_PCITFAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00844C)))
3611#define MCF548X_PCI_PCITFRPR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008450)))
3612#define MCF548X_PCI_PCITFWPR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008454)))
3613#define MCF548X_PCI_PCIRPSR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008480)))
3614#define MCF548X_PCI_PCIRSAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008484)))
3615#define MCF548X_PCI_PCIRTCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008488)))
3616#define MCF548X_PCI_PCIRER        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00848C)))
3617#define MCF548X_PCI_PCIRNAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008490)))
3618#define MCF548X_PCI_PCIRDCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008498)))
3619#define MCF548X_PCI_PCIRSR        (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00849C)))
3620#define MCF548X_PCI_PCIRFDR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0084C0)))
3621#define MCF548X_PCI_PCIRFSR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0084C4)))
3622#define MCF548X_PCI_PCIRFCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0084C8)))
3623#define MCF548X_PCI_PCIRFAR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0084CC)))
3624#define MCF548X_PCI_PCIRFRPR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0084D0)))
3625#define MCF548X_PCI_PCIRFWPR      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x0084D4)))
3626
3627/* Bit definitions and macros for MCF548X_PCI_PCIIDR */
3628#define MCF548X_PCI_PCIIDR_VENDORID(x)            (((x)&0x0000FFFF)<<0)
3629#define MCF548X_PCI_PCIIDR_DEVICEID(x)            (((x)&0x0000FFFF)<<16)
3630
3631/* Bit definitions and macros for MCF548X_PCI_PCISCR */
3632#define MCF548X_PCI_PCISCR_M                      (0x00000002)
3633#define MCF548X_PCI_PCISCR_B                      (0x00000004)
3634#define MCF548X_PCI_PCISCR_SP                     (0x00000008)
3635#define MCF548X_PCI_PCISCR_MW                     (0x00000010)
3636#define MCF548X_PCI_PCISCR_PER                    (0x00000040)
3637#define MCF548X_PCI_PCISCR_S                      (0x00000100)
3638#define MCF548X_PCI_PCISCR_F                      (0x00000200)
3639#define MCF548X_PCI_PCISCR_C                      (0x00100000)
3640#define MCF548X_PCI_PCISCR_66M                    (0x00200000)
3641#define MCF548X_PCI_PCISCR_R                      (0x00400000)
3642#define MCF548X_PCI_PCISCR_FC                     (0x00800000)
3643#define MCF548X_PCI_PCISCR_DP                     (0x01000000)
3644#define MCF548X_PCI_PCISCR_DT(x)                  (((x)&0x00000003)<<25)
3645#define MCF548X_PCI_PCISCR_TS                     (0x08000000)
3646#define MCF548X_PCI_PCISCR_TR                     (0x10000000)
3647#define MCF548X_PCI_PCISCR_MA                     (0x20000000)
3648#define MCF548X_PCI_PCISCR_SE                     (0x40000000)
3649#define MCF548X_PCI_PCISCR_PE                     (0x80000000)
3650
3651/* Bit definitions and macros for MCF548X_PCI_PCICCRIR */
3652#define MCF548X_PCI_PCICCRIR_REVID(x)             (((x)&0x000000FF)<<0)
3653#define MCF548X_PCI_PCICCRIR_CLASSCODE(x)         (((x)&0x00FFFFFF)<<8)
3654
3655/* Bit definitions and macros for MCF548X_PCI_PCICR1 */
3656#define MCF548X_PCI_PCICR1_CACHELINESIZE(x)       (((x)&0x0000000F)<<0)
3657#define MCF548X_PCI_PCICR1_LATTIMER(x)            (((x)&0x000000FF)<<8)
3658#define MCF548X_PCI_PCICR1_HEADERTYPE(x)          (((x)&0x000000FF)<<16)
3659#define MCF548X_PCI_PCICR1_BIST(x)                (((x)&0x000000FF)<<24)
3660
3661/* Bit definitions and macros for MCF548X_PCI_PCIBAR0 */
3662#define MCF548X_PCI_PCIBAR0_IO                    (0x00000001)
3663#define MCF548X_PCI_PCIBAR0_RANGE(x)              (((x)&0x00000003)<<1)
3664#define MCF548X_PCI_PCIBAR0_PREF                  (0x00000008)
3665#define MCF548X_PCI_PCIBAR0_BAR0(x)               (((x)&0x00003FFF)<<18)
3666
3667/* Bit definitions and macros for MCF548X_PCI_PCIBAR1 */
3668#define MCF548X_PCI_PCIBAR1_IO                    (0x00000001)
3669#define MCF548X_PCI_PCIBAR1_PREF                  (0x00000008)
3670#define MCF548X_PCI_PCIBAR1_BAR1(x)               (((x)&0x00000003)<<30)
3671
3672/* Bit definitions and macros for MCF548X_PCI_PCICR2 */
3673#define MCF548X_PCI_PCICR2_INTLINE(x)             (((x)&0x000000FF)<<0)
3674#define MCF548X_PCI_PCICR2_INTPIN(x)              (((x)&0x000000FF)<<8)
3675#define MCF548X_PCI_PCICR2_MINGNT(x)              (((x)&0x000000FF)<<16)
3676#define MCF548X_PCI_PCICR2_MAXLAT(x)              (((x)&0x000000FF)<<24)
3677
3678/* Bit definitions and macros for MCF548X_PCI_PCIGSCR */
3679#define MCF548X_PCI_PCIGSCR_PR                    (0x00000001)
3680#define MCF548X_PCI_PCIGSCR_SEE                   (0x00001000)
3681#define MCF548X_PCI_PCIGSCR_PEE                   (0x00002000)
3682#define MCF548X_PCI_PCIGSCR_SE                    (0x10000000)
3683#define MCF548X_PCI_PCIGSCR_PE                    (0x20000000)
3684
3685/* Bit definitions and macros for MCF548X_PCI_PCITBATR0 */
3686#define MCF548X_PCI_PCITBATR0_EN                  (0x00000001)
3687#define MCF548X_PCI_PCITBATR0_BAT0(x)             (((x)&0x00003FFF)<<18)
3688
3689/* Bit definitions and macros for MCF548X_PCI_PCITBATR1 */
3690#define MCF548X_PCI_PCITBATR1_EN                  (0x00000001)
3691#define MCF548X_PCI_PCITBATR1_BAT1(x)             (((x)&0x00000003)<<30)
3692
3693/* Bit definitions and macros for MCF548X_PCI_PCITCR */
3694#define MCF548X_PCI_PCITCR_P                      (0x00010000)
3695#define MCF548X_PCI_PCITCR_LD                     (0x01000000)
3696
3697/* Bit definitions and macros for MCF548X_PCI_PCIIW0BTAR */
3698#define MCF548X_PCI_PCIIW0BTAR_WTA0(x)            (((x)&0x000000FF)<<8)
3699#define MCF548X_PCI_PCIIW0BTAR_WAM0(x)            (((x)&0x000000FF)<<16)
3700#define MCF548X_PCI_PCIIW0BTAR_WBA0(x)            (((x)&0x000000FF)<<24)
3701
3702/* Bit definitions and macros for MCF548X_PCI_PCIIW1BTAR */
3703#define MCF548X_PCI_PCIIW1BTAR_WTA1(x)            (((x)&0x000000FF)<<8)
3704#define MCF548X_PCI_PCIIW1BTAR_WAM1(x)            (((x)&0x000000FF)<<16)
3705#define MCF548X_PCI_PCIIW1BTAR_WBA1(x)            (((x)&0x000000FF)<<24)
3706
3707/* Bit definitions and macros for MCF548X_PCI_PCIIW2BTAR */
3708#define MCF548X_PCI_PCIIW2BTAR_WTA2(x)            (((x)&0x000000FF)<<8)
3709#define MCF548X_PCI_PCIIW2BTAR_WAM2(x)            (((x)&0x000000FF)<<16)
3710#define MCF548X_PCI_PCIIW2BTAR_WBA2(x)            (((x)&0x000000FF)<<24)
3711
3712/* Bit definitions and macros for MCF548X_PCI_PCIIWCR */
3713#define MCF548X_PCI_PCIIWCR_WINCTRL2(x)           (((x)&0x0000000F)<<8)
3714#define MCF548X_PCI_PCIIWCR_WINCTRL1(x)           (((x)&0x0000000F)<<16)
3715#define MCF548X_PCI_PCIIWCR_WINCTRL0(x)           (((x)&0x0000000F)<<24)
3716#define MCF548X_PCI_PCIIWCR_WINCTRL0_MEMREAD      (0x01000000)
3717#define MCF548X_PCI_PCIIWCR_WINCTRL0_MEMRDLINE    (0x03000000)
3718#define MCF548X_PCI_PCIIWCR_WINCTRL0_MEMRDMUL     (0x05000000)
3719#define MCF548X_PCI_PCIIWCR_WINCTRL0_IO           (0x09000000)
3720#define MCF548X_PCI_PCIIWCR_WINCTRL1_MEMREAD      (0x00010000)
3721#define MCF548X_PCI_PCIIWCR_WINCTRL1_MEMRDLINE    (0x00030000)
3722#define MCF548X_PCI_PCIIWCR_WINCTRL1_MEMRDMUL     (0x00050000)
3723#define MCF548X_PCI_PCIIWCR_WINCTRL1_IO           (0x00090000)
3724#define MCF548X_PCI_PCIIWCR_WINCTRL2_MEMREAD      (0x00000100)
3725#define MCF548X_PCI_PCIIWCR_WINCTRL2_MEMRDLINE    (0x00000300)
3726#define MCF548X_PCI_PCIIWCR_WINCTRL2_MEMRDMUL     (0x00000500)
3727#define MCF548X_PCI_PCIIWCR_WINCTRL2_IO           (0x00000900)
3728
3729/* Bit definitions and macros for MCF548X_PCI_PCIICR */
3730#define MCF548X_PCI_PCIICR_MAXRETRY(x)            (((x)&0x000000FF)<<0)
3731#define MCF548X_PCI_PCIICR_TAE                    (0x01000000)
3732#define MCF548X_PCI_PCIICR_IAE                    (0x02000000)
3733#define MCF548X_PCI_PCIICR_REE                    (0x04000000)
3734
3735/* Bit definitions and macros for MCF548X_PCI_PCIISR */
3736#define MCF548X_PCI_PCIISR_TA                     (0x01000000)
3737#define MCF548X_PCI_PCIISR_IA                     (0x02000000)
3738#define MCF548X_PCI_PCIISR_RE                     (0x04000000)
3739
3740/* Bit definitions and macros for MCF548X_PCI_PCICAR */
3741#define MCF548X_PCI_PCICAR_DWORD(x)               (((x)&0x0000003F)<<2)
3742#define MCF548X_PCI_PCICAR_FUNCNUM(x)             (((x)&0x00000007)<<8)
3743#define MCF548X_PCI_PCICAR_DEVNUM(x)              (((x)&0x0000001F)<<11)
3744#define MCF548X_PCI_PCICAR_BUSNUM(x)              (((x)&0x000000FF)<<16)
3745#define MCF548X_PCI_PCICAR_E                      (0x80000000)
3746
3747/* Bit definitions and macros for MCF548X_PCI_PCITPSR */
3748#define MCF548X_PCI_PCITPSR_PKTSIZE(x)            (((x)&0x0000FFFF)<<16)
3749
3750/* Bit definitions and macros for MCF548X_PCI_PCITTCR */
3751#define MCF548X_PCI_PCITTCR_DI                    (0x00000001)
3752#define MCF548X_PCI_PCITTCR_W                     (0x00000010)
3753#define MCF548X_PCI_PCITTCR_MAXBEATS(x)           (((x)&0x00000007)<<8)
3754#define MCF548X_PCI_PCITTCR_MAXRETRY(x)           (((x)&0x000000FF)<<16)
3755#define MCF548X_PCI_PCITTCR_PCICMD(x)             (((x)&0x0000000F)<<24)
3756
3757/* Bit definitions and macros for MCF548X_PCI_PCITER */
3758#define MCF548X_PCI_PCITER_NE                     (0x00010000)
3759#define MCF548X_PCI_PCITER_IAE                    (0x00020000)
3760#define MCF548X_PCI_PCITER_TAE                    (0x00040000)
3761#define MCF548X_PCI_PCITER_RE                     (0x00080000)
3762#define MCF548X_PCI_PCITER_SE                     (0x00100000)
3763#define MCF548X_PCI_PCITER_FEE                    (0x00200000)
3764#define MCF548X_PCI_PCITER_ME                     (0x01000000)
3765#define MCF548X_PCI_PCITER_BE                     (0x08000000)
3766#define MCF548X_PCI_PCITER_CM                     (0x10000000)
3767#define MCF548X_PCI_PCITER_RF                     (0x40000000)
3768#define MCF548X_PCI_PCITER_RC                     (0x80000000)
3769
3770/* Bit definitions and macros for MCF548X_PCI_PCITDCR */
3771#define MCF548X_PCI_PCITDCR_PKTSDONE(x)           (((x)&0x0000FFFF)<<0)
3772#define MCF548X_PCI_PCITDCR_BYTESDONE(x)          (((x)&0x0000FFFF)<<16)
3773
3774/* Bit definitions and macros for MCF548X_PCI_PCITSR */
3775#define MCF548X_PCI_PCITSR_IA                     (0x00010000)
3776#define MCF548X_PCI_PCITSR_TA                     (0x00020000)
3777#define MCF548X_PCI_PCITSR_RE                     (0x00040000)
3778#define MCF548X_PCI_PCITSR_SE                     (0x00080000)
3779#define MCF548X_PCI_PCITSR_FE                     (0x00100000)
3780#define MCF548X_PCI_PCITSR_BE1                    (0x00200000)
3781#define MCF548X_PCI_PCITSR_BE2                    (0x00400000)
3782#define MCF548X_PCI_PCITSR_BE3                    (0x00800000)
3783#define MCF548X_PCI_PCITSR_NT                     (0x01000000)
3784
3785/* Bit definitions and macros for MCF548X_PCI_PCITFSR */
3786#define MCF548X_PCI_PCITFSR_EMT                   (0x00010000)
3787#define MCF548X_PCI_PCITFSR_ALARM                 (0x00020000)
3788#define MCF548X_PCI_PCITFSR_FU                    (0x00040000)
3789#define MCF548X_PCI_PCITFSR_FR                    (0x00080000)
3790#define MCF548X_PCI_PCITFSR_OF                    (0x00100000)
3791#define MCF548X_PCI_PCITFSR_UF                    (0x00200000)
3792#define MCF548X_PCI_PCITFSR_RXW                   (0x00400000)
3793
3794/* Bit definitions and macros for MCF548X_PCI_PCITFCR */
3795#define MCF548X_PCI_PCITFCR_OF_MSK                (0x00080000)
3796#define MCF548X_PCI_PCITFCR_UF_MSK                (0x00100000)
3797#define MCF548X_PCI_PCITFCR_RXW_MSK               (0x00200000)
3798#define MCF548X_PCI_PCITFCR_FAE_MSK               (0x00400000)
3799#define MCF548X_PCI_PCITFCR_IP_MSK                (0x00800000)
3800#define MCF548X_PCI_PCITFCR_GR(x)                 (((x)&0x00000007)<<24)
3801
3802/* Bit definitions and macros for MCF548X_PCI_PCITFAR */
3803#define MCF548X_PCI_PCITFAR_ALARM(x)              (((x)&0x0000007F)<<0)
3804
3805/* Bit definitions and macros for MCF548X_PCI_PCITFRPR */
3806#define MCF548X_PCI_PCITFRPR_READ(x)              (((x)&0x00000FFF)<<0)
3807
3808/* Bit definitions and macros for MCF548X_PCI_PCITFWPR */
3809#define MCF548X_PCI_PCITFWPR_WRITE(x)             (((x)&0x00000FFF)<<0)
3810
3811/* Bit definitions and macros for MCF548X_PCI_PCIRPSR */
3812#define MCF548X_PCI_PCIRPSR_PKTSIZE(x)            (((x)&0x0000FFFF)<<16)
3813
3814/* Bit definitions and macros for MCF548X_PCI_PCIRTCR */
3815#define MCF548X_PCI_PCIRTCR_DI                    (0x00000001)
3816#define MCF548X_PCI_PCIRTCR_W                     (0x00000010)
3817#define MCF548X_PCI_PCIRTCR_MAXBEATS(x)           (((x)&0x00000007)<<8)
3818#define MCF548X_PCI_PCIRTCR_FB                    (0x00001000)
3819#define MCF548X_PCI_PCIRTCR_MAXRETRY(x)           (((x)&0x000000FF)<<16)
3820#define MCF548X_PCI_PCIRTCR_PCICMD(x)             (((x)&0x0000000F)<<24)
3821
3822/* Bit definitions and macros for MCF548X_PCI_PCIRER */
3823#define MCF548X_PCI_PCIRER_NE                     (0x00010000)
3824#define MCF548X_PCI_PCIRER_IAE                    (0x00020000)
3825#define MCF548X_PCI_PCIRER_TAE                    (0x00040000)
3826#define MCF548X_PCI_PCIRER_RE                     (0x00080000)
3827#define MCF548X_PCI_PCIRER_SE                     (0x00100000)
3828#define MCF548X_PCI_PCIRER_FEE                    (0x00200000)
3829#define MCF548X_PCI_PCIRER_ME                     (0x01000000)
3830#define MCF548X_PCI_PCIRER_BE                     (0x08000000)
3831#define MCF548X_PCI_PCIRER_CM                     (0x10000000)
3832#define MCF548X_PCI_PCIRER_FE                     (0x20000000)
3833#define MCF548X_PCI_PCIRER_RF                     (0x40000000)
3834#define MCF548X_PCI_PCIRER_RC                     (0x80000000)
3835
3836/* Bit definitions and macros for MCF548X_PCI_PCIRDCR */
3837#define MCF548X_PCI_PCIRDCR_PKTSDONE(x)           (((x)&0x0000FFFF)<<0)
3838#define MCF548X_PCI_PCIRDCR_BYTESDONE(x)          (((x)&0x0000FFFF)<<16)
3839
3840/* Bit definitions and macros for MCF548X_PCI_PCIRSR */
3841#define MCF548X_PCI_PCIRSR_IA                     (0x00010000)
3842#define MCF548X_PCI_PCIRSR_TA                     (0x00020000)
3843#define MCF548X_PCI_PCIRSR_RE                     (0x00040000)
3844#define MCF548X_PCI_PCIRSR_SE                     (0x00080000)
3845#define MCF548X_PCI_PCIRSR_FE                     (0x00100000)
3846#define MCF548X_PCI_PCIRSR_BE1                    (0x00200000)
3847#define MCF548X_PCI_PCIRSR_BE2                    (0x00400000)
3848#define MCF548X_PCI_PCIRSR_BE3                    (0x00800000)
3849#define MCF548X_PCI_PCIRSR_NT                     (0x01000000)
3850
3851/* Bit definitions and macros for MCF548X_PCI_PCIRFSR */
3852#define MCF548X_PCI_PCIRFSR_EMT                   (0x00010000)
3853#define MCF548X_PCI_PCIRFSR_ALARM                 (0x00020000)
3854#define MCF548X_PCI_PCIRFSR_FU                    (0x00040000)
3855#define MCF548X_PCI_PCIRFSR_FR                    (0x00080000)
3856#define MCF548X_PCI_PCIRFSR_OF                    (0x00100000)
3857#define MCF548X_PCI_PCIRFSR_UF                    (0x00200000)
3858#define MCF548X_PCI_PCIRFSR_RXW                   (0x00400000)
3859
3860/* Bit definitions and macros for MCF548X_PCI_PCIRFCR */
3861#define MCF548X_PCI_PCIRFCR_OF_MSK                (0x00080000)
3862#define MCF548X_PCI_PCIRFCR_UF_MSK                (0x00100000)
3863#define MCF548X_PCI_PCIRFCR_RXW_MSK               (0x00200000)
3864#define MCF548X_PCI_PCIRFCR_FAE_MSK               (0x00400000)
3865#define MCF548X_PCI_PCIRFCR_IP_MSK                (0x00800000)
3866#define MCF548X_PCI_PCIRFCR_GR(x)                 (((x)&0x00000007)<<24)
3867
3868/* Bit definitions and macros for MCF548X_PCI_PCIRFAR */
3869#define MCF548X_PCI_PCIRFAR_ALARM(x)              (((x)&0x0000007F)<<0)
3870
3871/* Bit definitions and macros for MCF548X_PCI_PCIRFRPR */
3872#define MCF548X_PCI_PCIRFRPR_READ(x)              (((x)&0x00000FFF)<<0)
3873
3874/* Bit definitions and macros for MCF548X_PCI_PCIRFWPR */
3875#define MCF548X_PCI_PCIRFWPR_WRITE(x)             (((x)&0x00000FFF)<<0)
3876
3877
3878/*********************************************************************
3879*
3880* PCI Arbiter Module (PCIARB)
3881*
3882*********************************************************************/
3883
3884/* Register read/write macros */
3885#define MCF548X_PCIARB_PACR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000C00)))
3886#define MCF548X_PCIARB_PASR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000C04)))
3887
3888/* Bit definitions and macros for MCF548X_PCIARB_PACR */
3889#define MCF548X_PCIARB_PACR_INTMPRI         (0x00000001)
3890#define MCF548X_PCIARB_PACR_EXTMPRI(x)      (((x)&0x0000001F)<<1)
3891#define MCF548X_PCIARB_PACR_INTMINTEN       (0x00010000)
3892#define MCF548X_PCIARB_PACR_EXTMINTEN(x)    (((x)&0x0000001F)<<17)
3893#define MCF548X_PCIARB_PACR_PKMD            (0x40000000)
3894#define MCF548X_PCIARB_PACR_DS              (0x80000000)
3895
3896/* Bit definitions and macros for MCF548X_PCIARB_PASR */
3897#define MCF548X_PCIARB_PASR_ITLMBK          (0x00010000)
3898#define MCF548X_PCIARB_PASR_EXTMBK(x)       (((x)&0x0000001F)<<17)
3899
3900
3901/*********************************************************************
3902*
3903* Multi-Channel DMA (DMA)
3904*
3905*********************************************************************/
3906
3907/* Register read/write macros */
3908#define MCF548X_DMA_TASKBAR    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008000)))
3909#define MCF548X_DMA_CP         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008004)))
3910#define MCF548X_DMA_EP         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008008)))
3911#define MCF548X_DMA_VP         (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00800C)))
3912#define MCF548X_DMA_DIPR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008014)))
3913#define MCF548X_DMA_DIMR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008018)))
3914#define MCF548X_DMA_TCR0       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00801C)))
3915#define MCF548X_DMA_TCR1       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00801E)))
3916#define MCF548X_DMA_TCR2       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008020)))
3917#define MCF548X_DMA_TCR3       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008022)))
3918#define MCF548X_DMA_TCR4       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008024)))
3919#define MCF548X_DMA_TCR5       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008026)))
3920#define MCF548X_DMA_TCR6       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008028)))
3921#define MCF548X_DMA_TCR7       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00802A)))
3922#define MCF548X_DMA_TCR8       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00802C)))
3923#define MCF548X_DMA_TCR9       (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00802E)))
3924#define MCF548X_DMA_TCR10      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008030)))
3925#define MCF548X_DMA_TCR11      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008032)))
3926#define MCF548X_DMA_TCR12      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008034)))
3927#define MCF548X_DMA_TCR13      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008036)))
3928#define MCF548X_DMA_TCR14      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x008038)))
3929#define MCF548X_DMA_TCR15      (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00803A)))
3930#define MCF548X_DMA_TCRn(x)    (*(volatile uint16_t*)((uintptr_t)__MBAR + (0x00801CU+((x)*0x002))))
3931#define MCF548X_DMA_IMCR       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x00805C)))
3932#define MCF548X_DMA_PTDDBG     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x008080)))
3933
3934/* Bit definitions and macros for MCF548X_DMA_DIPR */
3935#define MCF548X_DMA_DIPR_TASK0           (0x00000001)
3936#define MCF548X_DMA_DIPR_TASK1           (0x00000002)
3937#define MCF548X_DMA_DIPR_TASK2           (0x00000004)
3938#define MCF548X_DMA_DIPR_TASK3           (0x00000008)
3939#define MCF548X_DMA_DIPR_TASK4           (0x00000010)
3940#define MCF548X_DMA_DIPR_TASK5           (0x00000020)
3941#define MCF548X_DMA_DIPR_TASK6           (0x00000040)
3942#define MCF548X_DMA_DIPR_TASK7           (0x00000080)
3943#define MCF548X_DMA_DIPR_TASK8           (0x00000100)
3944#define MCF548X_DMA_DIPR_TASK9           (0x00000200)
3945#define MCF548X_DMA_DIPR_TASK10          (0x00000400)
3946#define MCF548X_DMA_DIPR_TASK11          (0x00000800)
3947#define MCF548X_DMA_DIPR_TASK12          (0x00001000)
3948#define MCF548X_DMA_DIPR_TASK13          (0x00002000)
3949#define MCF548X_DMA_DIPR_TASK14          (0x00004000)
3950#define MCF548X_DMA_DIPR_TASK15          (0x00008000)
3951
3952/* Bit definitions and macros for MCF548X_DMA_DIMR */
3953#define MCF548X_DMA_DIMR_TASK0           (0x00000001)
3954#define MCF548X_DMA_DIMR_TASK1           (0x00000002)
3955#define MCF548X_DMA_DIMR_TASK2           (0x00000004)
3956#define MCF548X_DMA_DIMR_TASK3           (0x00000008)
3957#define MCF548X_DMA_DIMR_TASK4           (0x00000010)
3958#define MCF548X_DMA_DIMR_TASK5           (0x00000020)
3959#define MCF548X_DMA_DIMR_TASK6           (0x00000040)
3960#define MCF548X_DMA_DIMR_TASK7           (0x00000080)
3961#define MCF548X_DMA_DIMR_TASK8           (0x00000100)
3962#define MCF548X_DMA_DIMR_TASK9           (0x00000200)
3963#define MCF548X_DMA_DIMR_TASK10          (0x00000400)
3964#define MCF548X_DMA_DIMR_TASK11          (0x00000800)
3965#define MCF548X_DMA_DIMR_TASK12          (0x00001000)
3966#define MCF548X_DMA_DIMR_TASK13          (0x00002000)
3967#define MCF548X_DMA_DIMR_TASK14          (0x00004000)
3968#define MCF548X_DMA_DIMR_TASK15          (0x00008000)
3969
3970/* Bit definitions and macros for MCF548X_DMA_IMCR */
3971#define MCF548X_DMA_IMCR_SRC16(x)        (((x)&0x00000003)<<0)
3972#define MCF548X_DMA_IMCR_SRC17(x)        (((x)&0x00000003)<<2)
3973#define MCF548X_DMA_IMCR_SRC18(x)        (((x)&0x00000003)<<4)
3974#define MCF548X_DMA_IMCR_SRC19(x)        (((x)&0x00000003)<<6)
3975#define MCF548X_DMA_IMCR_SRC20(x)        (((x)&0x00000003)<<8)
3976#define MCF548X_DMA_IMCR_SRC21(x)        (((x)&0x00000003)<<10)
3977#define MCF548X_DMA_IMCR_SRC22(x)        (((x)&0x00000003)<<12)
3978#define MCF548X_DMA_IMCR_SRC23(x)        (((x)&0x00000003)<<14)
3979#define MCF548X_DMA_IMCR_SRC24(x)        (((x)&0x00000003)<<16)
3980#define MCF548X_DMA_IMCR_SRC25(x)        (((x)&0x00000003)<<18)
3981#define MCF548X_DMA_IMCR_SRC26(x)        (((x)&0x00000003)<<20)
3982#define MCF548X_DMA_IMCR_SRC27(x)        (((x)&0x00000003)<<22)
3983#define MCF548X_DMA_IMCR_SRC28(x)        (((x)&0x00000003)<<24)
3984#define MCF548X_DMA_IMCR_SRC29(x)        (((x)&0x00000003)<<26)
3985#define MCF548X_DMA_IMCR_SRC30(x)        (((x)&0x00000003)<<28)
3986#define MCF548X_DMA_IMCR_SRC31(x)        (((x)&0x00000003)<<30)
3987#define MCF548X_DMA_IMCR_SRC16_FEC0RX    (0x00000000)
3988#define MCF548X_DMA_IMCR_SRC17_FEC0TX    (0x00000000)
3989#define MCF548X_DMA_IMCR_SRC18_FEC0RX    (0x00000020)
3990#define MCF548X_DMA_IMCR_SRC19_FEC0TX    (0x00000080)
3991#define MCF548X_DMA_IMCR_SRC20_FEC1RX    (0x00000100)
3992#define MCF548X_DMA_IMCR_SRC21_DREQ1     (0x00000000)
3993#define MCF548X_DMA_IMCR_SRC21_FEC1TX    (0x00000400)
3994#define MCF548X_DMA_IMCR_SRC22_FEC0RX    (0x00001000)
3995#define MCF548X_DMA_IMCR_SRC23_FEC0TX    (0x00004000)
3996#define MCF548X_DMA_IMCR_SRC24_CTM0      (0x00010000)
3997#define MCF548X_DMA_IMCR_SRC24_FEC1RX    (0x00020000)
3998#define MCF548X_DMA_IMCR_SRC25_CTM1      (0x00040000)
3999#define MCF548X_DMA_IMCR_SRC25_FEC1TX    (0x00080000)
4000#define MCF548X_DMA_IMCR_SRC26_USBEP4    (0x00000000)
4001#define MCF548X_DMA_IMCR_SRC26_CTM2      (0x00200000)
4002#define MCF548X_DMA_IMCR_SRC27_USBEP5    (0x00000000)
4003#define MCF548X_DMA_IMCR_SRC27_CTM3      (0x00800000)
4004#define MCF548X_DMA_IMCR_SRC28_USBEP6    (0x00000000)
4005#define MCF548X_DMA_IMCR_SRC28_CTM4      (0x01000000)
4006#define MCF548X_DMA_IMCR_SRC28_DREQ1     (0x02000000)
4007#define MCF548X_DMA_IMCR_SRC28_PSC2RX    (0x03000000)
4008#define MCF548X_DMA_IMCR_SRC29_DREQ1     (0x04000000)
4009#define MCF548X_DMA_IMCR_SRC29_CTM5      (0x08000000)
4010#define MCF548X_DMA_IMCR_SRC29_PSC2TX    (0x0C000000)
4011#define MCF548X_DMA_IMCR_SRC30_FEC1RX    (0x00000000)
4012#define MCF548X_DMA_IMCR_SRC30_CTM6      (0x10000000)
4013#define MCF548X_DMA_IMCR_SRC30_PSC3RX    (0x30000000)
4014#define MCF548X_DMA_IMCR_SRC31_FEC1TX    (0x00000000)
4015#define MCF548X_DMA_IMCR_SRC31_CTM7      (0x80000000)
4016#define MCF548X_DMA_IMCR_SRC31_PSC3TX    (0xC0000000)
4017
4018
4019/*********************************************************************
4020*
4021* Multi-Channel DMA External Requests (DMA_EREQ)
4022*
4023*********************************************************************/
4024
4025/* Register read/write macros */
4026#define MCF548X_DMA_EREQ_EREQBAR0       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D00)))
4027#define MCF548X_DMA_EREQ_EREQMASK0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D04)))
4028#define MCF548X_DMA_EREQ_EREQCTRL0      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D08)))
4029#define MCF548X_DMA_EREQ_EREQBAR1       (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D10)))
4030#define MCF548X_DMA_EREQ_EREQMASK1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D14)))
4031#define MCF548X_DMA_EREQ_EREQCTRL1      (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D18)))
4032#define MCF548X_DMA_EREQ_EREQBAR(x)     (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D00U+((x)*0x010))))
4033#define MCF548X_DMA_EREQ_EREQMASK(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D04U+((x)*0x010))))
4034#define MCF548X_DMA_EREQ_EREQCTRL(x)    (*(volatile uint32_t*)((uintptr_t)__MBAR + (0x000D08U+((x)*0x010))))
4035
4036/* Bit definitions and macros for MCF548X_DMA_EREQ_EREQCTRL */
4037#define MCF548X_DMA_EREQ_EREQCTRL_EN                   (0x00000001)
4038#define MCF548X_DMA_EREQ_EREQCTRL_SYNC                 (0x00000002)
4039#define MCF548X_DMA_EREQ_EREQCTRL_DACKWID(x)           (((x)&0x00000003)<<2)
4040#define MCF548X_DMA_EREQ_EREQCTRL_BSEL(x)              (((x)&0x00000003)<<4)
4041#define MCF548X_DMA_EREQ_EREQCTRL_MD(x)                (((x)&0x00000003)<<6)
4042#define MCF548X_DMA_EREQ_EREQCTRL_MD_IDLE              (0x00000000)
4043#define MCF548X_DMA_EREQ_EREQCTRL_MD_LEVEL             (0x00000040)
4044#define MCF548X_DMA_EREQ_EREQCTRL_MD_EDGE              (0x00000080)
4045#define MCF548X_DMA_EREQ_EREQCTRL_MD_PIPED             (0x000000C0)
4046#define MCF548X_DMA_EREQ_EREQCTRL_BSEL_MEM_WRITE       (0x00000000)
4047#define MCF548X_DMA_EREQ_EREQCTRL_BSEL_MEM_READ        (0x00000010)
4048#define MCF548X_DMA_EREQ_EREQCTRL_BSEL_PERIPH_WRITE    (0x00000020)
4049#define MCF548X_DMA_EREQ_EREQCTRL_BSEL_PERIPH_READ     (0x00000030)
4050#define MCF548X_DMA_EREQ_EREQCTRL_DACKWID_ONE          (0x00000000)
4051#define MCF548X_DMA_EREQ_EREQCTRL_DACKWID_TWO          (0x00000004)
4052#define MCF548X_DMA_EREQ_EREQCTRL_DACKWID_THREE        (0x00000008)
4053#define MCF548X_DMA_EREQ_EREQCTRL_DACKWID_FOUR         (0x0000000C)
4054
4055/*********************************************************************/
4056
4057#endif /* __MCF548X_H__ */
Note: See TracBrowser for help on using the repository browser.