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

5
Last change on this file since d7d66d7 was 2afb22b, checked in by Chris Johns <chrisj@…>, on Dec 23, 2017 at 7:18:56 AM

Remove make preinstall

A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

  • The make preinstall step itself needs time and disk space.
  • Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error.
  • There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult.
  • The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit.
  • An introduction of a new build system is difficult.
  • Include paths specified by the -B option are system headers. This may suppress warnings.
  • The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

  • cpukit/include
  • cpukit/score/cpu/@RTEMS_CPU@/include
  • cpukit/libnetworking

The new BSP include directories are:

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.

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