summaryrefslogtreecommitdiffstats
path: root/arch/m68k/include/asm/coldfire/mcf548x/mcf548x_psc.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/include/asm/coldfire/mcf548x/mcf548x_psc.h')
-rw-r--r--arch/m68k/include/asm/coldfire/mcf548x/mcf548x_psc.h486
1 files changed, 486 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/coldfire/mcf548x/mcf548x_psc.h b/arch/m68k/include/asm/coldfire/mcf548x/mcf548x_psc.h
new file mode 100644
index 0000000000..44f920bcbe
--- /dev/null
+++ b/arch/m68k/include/asm/coldfire/mcf548x/mcf548x_psc.h
@@ -0,0 +1,486 @@
+/*
+ * Copyright (c) 2008 Carsten Schlote <c.schlote@konzeptpark.de>
+ * See file CREDITS for list of people who contributed to this project.
+ *
+ * This file is part of U-Boot V2.
+ *
+ * U-Boot V2 is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * U-Boot V2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with U-Boot V2. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** @file
+ * Register and bit definitions for the MCF548X and MCF547x
+ * Programmable Serial Controller (PSC)
+ */
+#ifndef __MCF548X_PSC_H__
+#define __MCF548X_PSC_H__
+
+/*
+ * Programmable Serial Controller (PSC)
+ */
+
+/* Register read/write macros */
+#define MCF_PSC_MR0 (*(vuint8_t *)(&__MBAR[0x008600]))
+#define MCF_PSC_SR0 (*(vuint16_t*)(&__MBAR[0x008604]))
+#define MCF_PSC_CSR0 (*(vuint8_t *)(&__MBAR[0x008604]))
+#define MCF_PSC_CR0 (*(vuint8_t *)(&__MBAR[0x008608]))
+#define MCF_PSC_RB0 (*(vuint32_t*)(&__MBAR[0x00860C]))
+#define MCF_PSC_TB0 (*(vuint32_t*)(&__MBAR[0x00860C]))
+#define MCF_PSC_TB_8BIT0 (*(vuint32_t*)(&__MBAR[0x00860C]))
+#define MCF_PSC_TB_16BIT0 (*(vuint32_t*)(&__MBAR[0x00860C]))
+#define MCF_PSC_TB_AC970 (*(vuint32_t*)(&__MBAR[0x00860C]))
+#define MCF_PSC_IPCR0 (*(vuint8_t *)(&__MBAR[0x008610]))
+#define MCF_PSC_ACR0 (*(vuint8_t *)(&__MBAR[0x008610]))
+#define MCF_PSC_ISR0 (*(vuint16_t*)(&__MBAR[0x008614]))
+#define MCF_PSC_IMR0 (*(vuint16_t*)(&__MBAR[0x008614]))
+#define MCF_PSC_CTUR0 (*(vuint8_t *)(&__MBAR[0x008618]))
+#define MCF_PSC_CTLR0 (*(vuint8_t *)(&__MBAR[0x00861C]))
+#define MCF_PSC_IP0 (*(vuint8_t *)(&__MBAR[0x008634]))
+#define MCF_PSC_OPSET0 (*(vuint8_t *)(&__MBAR[0x008638]))
+#define MCF_PSC_OPRESET0 (*(vuint8_t *)(&__MBAR[0x00863C]))
+#define MCF_PSC_SICR0 (*(vuint8_t *)(&__MBAR[0x008640]))
+#define MCF_PSC_IRCR10 (*(vuint8_t *)(&__MBAR[0x008644]))
+#define MCF_PSC_IRCR20 (*(vuint8_t *)(&__MBAR[0x008648]))
+#define MCF_PSC_IRSDR0 (*(vuint8_t *)(&__MBAR[0x00864C]))
+#define MCF_PSC_IRMDR0 (*(vuint8_t *)(&__MBAR[0x008650]))
+#define MCF_PSC_IRFDR0 (*(vuint8_t *)(&__MBAR[0x008654]))
+#define MCF_PSC_RFCNT0 (*(vuint16_t*)(&__MBAR[0x008658]))
+#define MCF_PSC_TFCNT0 (*(vuint16_t*)(&__MBAR[0x00865C]))
+#define MCF_PSC_RFSR0 (*(vuint16_t*)(&__MBAR[0x008664]))
+#define MCF_PSC_TFSR0 (*(vuint16_t*)(&__MBAR[0x008684]))
+#define MCF_PSC_RFCR0 (*(vuint32_t*)(&__MBAR[0x008668]))
+#define MCF_PSC_TFCR0 (*(vuint32_t*)(&__MBAR[0x008688]))
+#define MCF_PSC_RFAR0 (*(vuint16_t*)(&__MBAR[0x00866E]))
+#define MCF_PSC_TFAR0 (*(vuint16_t*)(&__MBAR[0x00868E]))
+#define MCF_PSC_RFRP0 (*(vuint16_t*)(&__MBAR[0x008672]))
+#define MCF_PSC_TFRP0 (*(vuint16_t*)(&__MBAR[0x008692]))
+#define MCF_PSC_RFWP0 (*(vuint16_t*)(&__MBAR[0x008676]))
+#define MCF_PSC_TFWP0 (*(vuint16_t*)(&__MBAR[0x008696]))
+#define MCF_PSC_RLRFP0 (*(vuint16_t*)(&__MBAR[0x00867A]))
+#define MCF_PSC_TLRFP0 (*(vuint16_t*)(&__MBAR[0x00869A]))
+#define MCF_PSC_RLWFP0 (*(vuint16_t*)(&__MBAR[0x00867E]))
+#define MCF_PSC_TLWFP0 (*(vuint16_t*)(&__MBAR[0x00869E]))
+#define MCF_PSC_MR1 (*(vuint8_t *)(&__MBAR[0x008700]))
+#define MCF_PSC_SR1 (*(vuint16_t*)(&__MBAR[0x008704]))
+#define MCF_PSC_CSR1 (*(vuint8_t *)(&__MBAR[0x008704]))
+#define MCF_PSC_CR1 (*(vuint8_t *)(&__MBAR[0x008708]))
+#define MCF_PSC_RB1 (*(vuint32_t*)(&__MBAR[0x00870C]))
+#define MCF_PSC_TB1 (*(vuint32_t*)(&__MBAR[0x00870C]))
+#define MCF_PSC_TB_8BIT1 (*(vuint32_t*)(&__MBAR[0x00870C]))
+#define MCF_PSC_TB_16BIT1 (*(vuint32_t*)(&__MBAR[0x00870C]))
+#define MCF_PSC_TB_AC971 (*(vuint32_t*)(&__MBAR[0x00870C]))
+#define MCF_PSC_IPCR1 (*(vuint8_t *)(&__MBAR[0x008710]))
+#define MCF_PSC_ACR1 (*(vuint8_t *)(&__MBAR[0x008710]))
+#define MCF_PSC_ISR1 (*(vuint16_t*)(&__MBAR[0x008714]))
+#define MCF_PSC_IMR1 (*(vuint16_t*)(&__MBAR[0x008714]))
+#define MCF_PSC_CTUR1 (*(vuint8_t *)(&__MBAR[0x008718]))
+#define MCF_PSC_CTLR1 (*(vuint8_t *)(&__MBAR[0x00871C]))
+#define MCF_PSC_IP1 (*(vuint8_t *)(&__MBAR[0x008734]))
+#define MCF_PSC_OPSET1 (*(vuint8_t *)(&__MBAR[0x008738]))
+#define MCF_PSC_OPRESET1 (*(vuint8_t *)(&__MBAR[0x00873C]))
+#define MCF_PSC_SICR1 (*(vuint8_t *)(&__MBAR[0x008740]))
+#define MCF_PSC_IRCR11 (*(vuint8_t *)(&__MBAR[0x008744]))
+#define MCF_PSC_IRCR21 (*(vuint8_t *)(&__MBAR[0x008748]))
+#define MCF_PSC_IRSDR1 (*(vuint8_t *)(&__MBAR[0x00874C]))
+#define MCF_PSC_IRMDR1 (*(vuint8_t *)(&__MBAR[0x008750]))
+#define MCF_PSC_IRFDR1 (*(vuint8_t *)(&__MBAR[0x008754]))
+#define MCF_PSC_RFCNT1 (*(vuint16_t*)(&__MBAR[0x008758]))
+#define MCF_PSC_TFCNT1 (*(vuint16_t*)(&__MBAR[0x00875C]))
+#define MCF_PSC_RFSR1 (*(vuint16_t*)(&__MBAR[0x008764]))
+#define MCF_PSC_TFSR1 (*(vuint16_t*)(&__MBAR[0x008784]))
+#define MCF_PSC_RFCR1 (*(vuint32_t*)(&__MBAR[0x008768]))
+#define MCF_PSC_TFCR1 (*(vuint32_t*)(&__MBAR[0x008788]))
+#define MCF_PSC_RFAR1 (*(vuint16_t*)(&__MBAR[0x00876E]))
+#define MCF_PSC_TFAR1 (*(vuint16_t*)(&__MBAR[0x00878E]))
+#define MCF_PSC_RFRP1 (*(vuint16_t*)(&__MBAR[0x008772]))
+#define MCF_PSC_TFRP1 (*(vuint16_t*)(&__MBAR[0x008792]))
+#define MCF_PSC_RFWP1 (*(vuint16_t*)(&__MBAR[0x008776]))
+#define MCF_PSC_TFWP1 (*(vuint16_t*)(&__MBAR[0x008796]))
+#define MCF_PSC_RLRFP1 (*(vuint16_t*)(&__MBAR[0x00877A]))
+#define MCF_PSC_TLRFP1 (*(vuint16_t*)(&__MBAR[0x00879A]))
+#define MCF_PSC_RLWFP1 (*(vuint16_t*)(&__MBAR[0x00877E]))
+#define MCF_PSC_TLWFP1 (*(vuint16_t*)(&__MBAR[0x00879E]))
+#define MCF_PSC_MR2 (*(vuint8_t *)(&__MBAR[0x008800]))
+#define MCF_PSC_SR2 (*(vuint16_t*)(&__MBAR[0x008804]))
+#define MCF_PSC_CSR2 (*(vuint8_t *)(&__MBAR[0x008804]))
+#define MCF_PSC_CR2 (*(vuint8_t *)(&__MBAR[0x008808]))
+#define MCF_PSC_RB2 (*(vuint32_t*)(&__MBAR[0x00880C]))
+#define MCF_PSC_TB2 (*(vuint32_t*)(&__MBAR[0x00880C]))
+#define MCF_PSC_TB_8BIT2 (*(vuint32_t*)(&__MBAR[0x00880C]))
+#define MCF_PSC_TB_16BIT2 (*(vuint32_t*)(&__MBAR[0x00880C]))
+#define MCF_PSC_TB_AC972 (*(vuint32_t*)(&__MBAR[0x00880C]))
+#define MCF_PSC_IPCR2 (*(vuint8_t *)(&__MBAR[0x008810]))
+#define MCF_PSC_ACR2 (*(vuint8_t *)(&__MBAR[0x008810]))
+#define MCF_PSC_ISR2 (*(vuint16_t*)(&__MBAR[0x008814]))
+#define MCF_PSC_IMR2 (*(vuint16_t*)(&__MBAR[0x008814]))
+#define MCF_PSC_CTUR2 (*(vuint8_t *)(&__MBAR[0x008818]))
+#define MCF_PSC_CTLR2 (*(vuint8_t *)(&__MBAR[0x00881C]))
+#define MCF_PSC_IP2 (*(vuint8_t *)(&__MBAR[0x008834]))
+#define MCF_PSC_OPSET2 (*(vuint8_t *)(&__MBAR[0x008838]))
+#define MCF_PSC_OPRESET2 (*(vuint8_t *)(&__MBAR[0x00883C]))
+#define MCF_PSC_SICR2 (*(vuint8_t *)(&__MBAR[0x008840]))
+#define MCF_PSC_IRCR12 (*(vuint8_t *)(&__MBAR[0x008844]))
+#define MCF_PSC_IRCR22 (*(vuint8_t *)(&__MBAR[0x008848]))
+#define MCF_PSC_IRSDR2 (*(vuint8_t *)(&__MBAR[0x00884C]))
+#define MCF_PSC_IRMDR2 (*(vuint8_t *)(&__MBAR[0x008850]))
+#define MCF_PSC_IRFDR2 (*(vuint8_t *)(&__MBAR[0x008854]))
+#define MCF_PSC_RFCNT2 (*(vuint16_t*)(&__MBAR[0x008858]))
+#define MCF_PSC_TFCNT2 (*(vuint16_t*)(&__MBAR[0x00885C]))
+#define MCF_PSC_RFSR2 (*(vuint16_t*)(&__MBAR[0x008864]))
+#define MCF_PSC_TFSR2 (*(vuint16_t*)(&__MBAR[0x008884]))
+#define MCF_PSC_RFCR2 (*(vuint32_t*)(&__MBAR[0x008868]))
+#define MCF_PSC_TFCR2 (*(vuint32_t*)(&__MBAR[0x008888]))
+#define MCF_PSC_RFAR2 (*(vuint16_t*)(&__MBAR[0x00886E]))
+#define MCF_PSC_TFAR2 (*(vuint16_t*)(&__MBAR[0x00888E]))
+#define MCF_PSC_RFRP2 (*(vuint16_t*)(&__MBAR[0x008872]))
+#define MCF_PSC_TFRP2 (*(vuint16_t*)(&__MBAR[0x008892]))
+#define MCF_PSC_RFWP2 (*(vuint16_t*)(&__MBAR[0x008876]))
+#define MCF_PSC_TFWP2 (*(vuint16_t*)(&__MBAR[0x008896]))
+#define MCF_PSC_RLRFP2 (*(vuint16_t*)(&__MBAR[0x00887A]))
+#define MCF_PSC_TLRFP2 (*(vuint16_t*)(&__MBAR[0x00889A]))
+#define MCF_PSC_RLWFP2 (*(vuint16_t*)(&__MBAR[0x00887E]))
+#define MCF_PSC_TLWFP2 (*(vuint16_t*)(&__MBAR[0x00889E]))
+#define MCF_PSC_MR3 (*(vuint8_t *)(&__MBAR[0x008900]))
+#define MCF_PSC_SR3 (*(vuint16_t*)(&__MBAR[0x008904]))
+#define MCF_PSC_CSR3 (*(vuint8_t *)(&__MBAR[0x008904]))
+#define MCF_PSC_CR3 (*(vuint8_t *)(&__MBAR[0x008908]))
+#define MCF_PSC_RB3 (*(vuint32_t*)(&__MBAR[0x00890C]))
+#define MCF_PSC_TB3 (*(vuint32_t*)(&__MBAR[0x00890C]))
+#define MCF_PSC_TB_8BIT3 (*(vuint32_t*)(&__MBAR[0x00890C]))
+#define MCF_PSC_TB_16BIT3 (*(vuint32_t*)(&__MBAR[0x00890C]))
+#define MCF_PSC_TB_AC973 (*(vuint32_t*)(&__MBAR[0x00890C]))
+#define MCF_PSC_IPCR3 (*(vuint8_t *)(&__MBAR[0x008910]))
+#define MCF_PSC_ACR3 (*(vuint8_t *)(&__MBAR[0x008910]))
+#define MCF_PSC_ISR3 (*(vuint16_t*)(&__MBAR[0x008914]))
+#define MCF_PSC_IMR3 (*(vuint16_t*)(&__MBAR[0x008914]))
+#define MCF_PSC_CTUR3 (*(vuint8_t *)(&__MBAR[0x008918]))
+#define MCF_PSC_CTLR3 (*(vuint8_t *)(&__MBAR[0x00891C]))
+#define MCF_PSC_IP3 (*(vuint8_t *)(&__MBAR[0x008934]))
+#define MCF_PSC_OPSET3 (*(vuint8_t *)(&__MBAR[0x008938]))
+#define MCF_PSC_OPRESET3 (*(vuint8_t *)(&__MBAR[0x00893C]))
+#define MCF_PSC_SICR3 (*(vuint8_t *)(&__MBAR[0x008940]))
+#define MCF_PSC_IRCR13 (*(vuint8_t *)(&__MBAR[0x008944]))
+#define MCF_PSC_IRCR23 (*(vuint8_t *)(&__MBAR[0x008948]))
+#define MCF_PSC_IRSDR3 (*(vuint8_t *)(&__MBAR[0x00894C]))
+#define MCF_PSC_IRMDR3 (*(vuint8_t *)(&__MBAR[0x008950]))
+#define MCF_PSC_IRFDR3 (*(vuint8_t *)(&__MBAR[0x008954]))
+#define MCF_PSC_RFCNT3 (*(vuint16_t*)(&__MBAR[0x008958]))
+#define MCF_PSC_TFCNT3 (*(vuint16_t*)(&__MBAR[0x00895C]))
+#define MCF_PSC_RFSR3 (*(vuint16_t*)(&__MBAR[0x008964]))
+#define MCF_PSC_TFSR3 (*(vuint16_t*)(&__MBAR[0x008984]))
+#define MCF_PSC_RFCR3 (*(vuint32_t*)(&__MBAR[0x008968]))
+#define MCF_PSC_TFCR3 (*(vuint32_t*)(&__MBAR[0x008988]))
+#define MCF_PSC_RFAR3 (*(vuint16_t*)(&__MBAR[0x00896E]))
+#define MCF_PSC_TFAR3 (*(vuint16_t*)(&__MBAR[0x00898E]))
+#define MCF_PSC_RFRP3 (*(vuint16_t*)(&__MBAR[0x008972]))
+#define MCF_PSC_TFRP3 (*(vuint16_t*)(&__MBAR[0x008992]))
+#define MCF_PSC_RFWP3 (*(vuint16_t*)(&__MBAR[0x008976]))
+#define MCF_PSC_TFWP3 (*(vuint16_t*)(&__MBAR[0x008996]))
+#define MCF_PSC_RLRFP3 (*(vuint16_t*)(&__MBAR[0x00897A]))
+#define MCF_PSC_TLRFP3 (*(vuint16_t*)(&__MBAR[0x00899A]))
+#define MCF_PSC_RLWFP3 (*(vuint16_t*)(&__MBAR[0x00897E]))
+#define MCF_PSC_TLWFP3 (*(vuint16_t*)(&__MBAR[0x00899E]))
+#define MCF_PSC_MR(x) (*(vuint8_t *)(&__MBAR[0x008600+((x)*0x100)]))
+#define MCF_PSC_SR(x) (*(vuint16_t*)(&__MBAR[0x008604+((x)*0x100)]))
+#define MCF_PSC_CSR(x) (*(vuint8_t *)(&__MBAR[0x008604+((x)*0x100)]))
+#define MCF_PSC_CR(x) (*(vuint8_t *)(&__MBAR[0x008608+((x)*0x100)]))
+#define MCF_PSC_RB(x) (*(vuint32_t*)(&__MBAR[0x00860C+((x)*0x100)]))
+#define MCF_PSC_TB(x) (*(vuint32_t*)(&__MBAR[0x00860C+((x)*0x100)]))
+#define MCF_PSC_TB_8BIT(x) (*(vuint32_t*)(&__MBAR[0x00860C+((x)*0x100)]))
+#define MCF_PSC_TB_16BIT(x) (*(vuint32_t*)(&__MBAR[0x00860C+((x)*0x100)]))
+#define MCF_PSC_TB_AC97(x) (*(vuint32_t*)(&__MBAR[0x00860C+((x)*0x100)]))
+#define MCF_PSC_IPCR(x) (*(vuint8_t *)(&__MBAR[0x008610+((x)*0x100)]))
+#define MCF_PSC_ACR(x) (*(vuint8_t *)(&__MBAR[0x008610+((x)*0x100)]))
+#define MCF_PSC_ISR(x) (*(vuint16_t*)(&__MBAR[0x008614+((x)*0x100)]))
+#define MCF_PSC_IMR(x) (*(vuint16_t*)(&__MBAR[0x008614+((x)*0x100)]))
+#define MCF_PSC_CTUR(x) (*(vuint8_t *)(&__MBAR[0x008618+((x)*0x100)]))
+#define MCF_PSC_CTLR(x) (*(vuint8_t *)(&__MBAR[0x00861C+((x)*0x100)]))
+#define MCF_PSC_IP(x) (*(vuint8_t *)(&__MBAR[0x008634+((x)*0x100)]))
+#define MCF_PSC_OPSET(x) (*(vuint8_t *)(&__MBAR[0x008638+((x)*0x100)]))
+#define MCF_PSC_OPRESET(x) (*(vuint8_t *)(&__MBAR[0x00863C+((x)*0x100)]))
+#define MCF_PSC_SICR(x) (*(vuint8_t *)(&__MBAR[0x008640+((x)*0x100)]))
+#define MCF_PSC_IRCR1(x) (*(vuint8_t *)(&__MBAR[0x008644+((x)*0x100)]))
+#define MCF_PSC_IRCR2(x) (*(vuint8_t *)(&__MBAR[0x008648+((x)*0x100)]))
+#define MCF_PSC_IRSDR(x) (*(vuint8_t *)(&__MBAR[0x00864C+((x)*0x100)]))
+#define MCF_PSC_IRMDR(x) (*(vuint8_t *)(&__MBAR[0x008650+((x)*0x100)]))
+#define MCF_PSC_IRFDR(x) (*(vuint8_t *)(&__MBAR[0x008654+((x)*0x100)]))
+#define MCF_PSC_RFCNT(x) (*(vuint16_t*)(&__MBAR[0x008658+((x)*0x100)]))
+#define MCF_PSC_TFCNT(x) (*(vuint16_t*)(&__MBAR[0x00865C+((x)*0x100)]))
+#define MCF_PSC_RFSR(x) (*(vuint16_t*)(&__MBAR[0x008664+((x)*0x100)]))
+#define MCF_PSC_TFSR(x) (*(vuint16_t*)(&__MBAR[0x008684+((x)*0x100)]))
+#define MCF_PSC_RFCR(x) (*(vuint32_t*)(&__MBAR[0x008668+((x)*0x100)]))
+#define MCF_PSC_TFCR(x) (*(vuint32_t*)(&__MBAR[0x008688+((x)*0x100)]))
+#define MCF_PSC_RFAR(x) (*(vuint16_t*)(&__MBAR[0x00866E+((x)*0x100)]))
+#define MCF_PSC_TFAR(x) (*(vuint16_t*)(&__MBAR[0x00868E+((x)*0x100)]))
+#define MCF_PSC_RFRP(x) (*(vuint16_t*)(&__MBAR[0x008672+((x)*0x100)]))
+#define MCF_PSC_TFRP(x) (*(vuint16_t*)(&__MBAR[0x008692+((x)*0x100)]))
+#define MCF_PSC_RFWP(x) (*(vuint16_t*)(&__MBAR[0x008676+((x)*0x100)]))
+#define MCF_PSC_TFWP(x) (*(vuint16_t*)(&__MBAR[0x008696+((x)*0x100)]))
+#define MCF_PSC_RLRFP(x) (*(vuint16_t*)(&__MBAR[0x00867A+((x)*0x100)]))
+#define MCF_PSC_TLRFP(x) (*(vuint16_t*)(&__MBAR[0x00869A+((x)*0x100)]))
+#define MCF_PSC_RLWFP(x) (*(vuint16_t*)(&__MBAR[0x00867E+((x)*0x100)]))
+#define MCF_PSC_TLWFP(x) (*(vuint16_t*)(&__MBAR[0x00869E+((x)*0x100)]))
+
+/* Bit definitions and macros for MCF_PSC_MR */
+#define MCF_PSC_MR_BC(x) (((x)&0x03)<<0)
+#define MCF_PSC_MR_PT (0x04)
+#define MCF_PSC_MR_PM(x) (((x)&0x03)<<3)
+#define MCF_PSC_MR_ERR (0x20)
+#define MCF_PSC_MR_RXIRQ (0x40)
+#define MCF_PSC_MR_RXRTS (0x80)
+#define MCF_PSC_MR_SB(x) (((x)&0x0F)<<0)
+#define MCF_PSC_MR_TXCTS (0x10)
+#define MCF_PSC_MR_TXRTS (0x20)
+#define MCF_PSC_MR_CM(x) (((x)&0x03)<<6)
+#define MCF_PSC_MR_PM_MULTI_ADDR (0x1C)
+#define MCF_PSC_MR_PM_MULTI_DATA (0x18)
+#define MCF_PSC_MR_PM_NONE (0x10)
+#define MCF_PSC_MR_PM_FORCE_HI (0x0C)
+#define MCF_PSC_MR_PM_FORCE_LO (0x08)
+#define MCF_PSC_MR_PM_ODD (0x04)
+#define MCF_PSC_MR_PM_EVEN (0x00)
+#define MCF_PSC_MR_BC_5 (0x00)
+#define MCF_PSC_MR_BC_6 (0x01)
+#define MCF_PSC_MR_BC_7 (0x02)
+#define MCF_PSC_MR_BC_8 (0x03)
+#define MCF_PSC_MR_CM_NORMAL (0x00)
+#define MCF_PSC_MR_CM_ECHO (0x40)
+#define MCF_PSC_MR_CM_LOCAL_LOOP (0x80)
+#define MCF_PSC_MR_CM_REMOTE_LOOP (0xC0)
+#define MCF_PSC_MR_SB_STOP_BITS_1 (0x07)
+#define MCF_PSC_MR_SB_STOP_BITS_15 (0x08)
+#define MCF_PSC_MR_SB_STOP_BITS_2 (0x0F)
+
+/* Bit definitions and macros for MCF_PSC_SR */
+#define MCF_PSC_SR_ERR (0x0040)
+#define MCF_PSC_SR_CDE_DEOF (0x0080)
+#define MCF_PSC_SR_RXRDY (0x0100)
+#define MCF_PSC_SR_FU (0x0200)
+#define MCF_PSC_SR_TXRDY (0x0400)
+#define MCF_PSC_SR_TXEMP_URERR (0x0800)
+#define MCF_PSC_SR_OE (0x1000)
+#define MCF_PSC_SR_PE_CRCERR (0x2000)
+#define MCF_PSC_SR_FE_PHYERR (0x4000)
+#define MCF_PSC_SR_RB_NEOF (0x8000)
+
+/* Bit definitions and macros for MCF_PSC_CSR */
+#define MCF_PSC_CSR_TCSEL(x) (((x)&0x0F)<<0)
+#define MCF_PSC_CSR_RCSEL(x) (((x)&0x0F)<<4)
+#define MCF_PSC_CSR_RCSEL_SYS_CLK (0xD0)
+#define MCF_PSC_CSR_RCSEL_CTM16 (0xE0)
+#define MCF_PSC_CSR_RCSEL_CTM (0xF0)
+#define MCF_PSC_CSR_TCSEL_SYS_CLK (0x0D)
+#define MCF_PSC_CSR_TCSEL_CTM16 (0x0E)
+#define MCF_PSC_CSR_TCSEL_CTM (0x0F)
+
+/* Bit definitions and macros for MCF_PSC_CR */
+#define MCF_PSC_CR_RXC(x) (((x)&0x03)<<0)
+#define MCF_PSC_CR_TXC(x) (((x)&0x03)<<2)
+#define MCF_PSC_CR_MISC(x) (((x)&0x07)<<4)
+#define MCF_PSC_CR_NONE (0x00)
+#define MCF_PSC_CR_STOP_BREAK (0x70)
+#define MCF_PSC_CR_START_BREAK (0x60)
+#define MCF_PSC_CR_BKCHGINT (0x50)
+#define MCF_PSC_CR_RESET_ERROR (0x40)
+#define MCF_PSC_CR_RESET_TX (0x30)
+#define MCF_PSC_CR_RESET_RX (0x20)
+#define MCF_PSC_CR_RESET_MR (0x10)
+#define MCF_PSC_CR_TX_DISABLED (0x08)
+#define MCF_PSC_CR_TX_ENABLED (0x04)
+#define MCF_PSC_CR_RX_DISABLED (0x02)
+#define MCF_PSC_CR_RX_ENABLED (0x01)
+
+/* Bit definitions and macros for MCF_PSC_TB_8BIT */
+#define MCF_PSC_TB_8BIT_TB3(x) (((x)&0x000000FF)<<0)
+#define MCF_PSC_TB_8BIT_TB2(x) (((x)&0x000000FF)<<8)
+#define MCF_PSC_TB_8BIT_TB1(x) (((x)&0x000000FF)<<16)
+#define MCF_PSC_TB_8BIT_TB0(x) (((x)&0x000000FF)<<24)
+
+/* Bit definitions and macros for MCF_PSC_TB_16BIT */
+#define MCF_PSC_TB_16BIT_TB1(x) (((x)&0x0000FFFF)<<0)
+#define MCF_PSC_TB_16BIT_TB0(x) (((x)&0x0000FFFF)<<16)
+
+/* Bit definitions and macros for MCF_PSC_TB_AC97 */
+#define MCF_PSC_TB_AC97_SOF (0x00000800)
+#define MCF_PSC_TB_AC97_TB(x) (((x)&0x000FFFFF)<<12)
+
+/* Bit definitions and macros for MCF_PSC_IPCR */
+#define MCF_PSC_IPCR_RESERVED (0x0C)
+#define MCF_PSC_IPCR_CTS (0x0D)
+#define MCF_PSC_IPCR_D_CTS (0x1C)
+#define MCF_PSC_IPCR_SYNC (0x8C)
+
+/* Bit definitions and macros for MCF_PSC_ACR */
+#define MCF_PSC_ACR_IEC0 (0x01)
+#define MCF_PSC_ACR_CTMS(x) (((x)&0x07)<<4)
+#define MCF_PSC_ACR_BRG (0x80)
+
+/* Bit definitions and macros for MCF_PSC_ISR */
+#define MCF_PSC_ISR_ERR (0x0040)
+#define MCF_PSC_ISR_DEOF (0x0080)
+#define MCF_PSC_ISR_TXRDY (0x0100)
+#define MCF_PSC_ISR_RXRDY_FU (0x0200)
+#define MCF_PSC_ISR_DB (0x0400)
+#define MCF_PSC_ISR_IPC (0x8000)
+
+/* Bit definitions and macros for MCF_PSC_IMR */
+#define MCF_PSC_IMR_ERR (0x0040)
+#define MCF_PSC_IMR_DEOF (0x0080)
+#define MCF_PSC_IMR_TXRDY (0x0100)
+#define MCF_PSC_IMR_RXRDY_FU (0x0200)
+#define MCF_PSC_IMR_DB (0x0400)
+#define MCF_PSC_IMR_IPC (0x8000)
+
+/* Bit definitions and macros for MCF_PSC_IP */
+#define MCF_PSC_IP_CTS (0x01)
+#define MCF_PSC_IP_TGL (0x40)
+#define MCF_PSC_IP_LWPR_B (0x80)
+
+/* Bit definitions and macros for MCF_PSC_OPSET */
+#define MCF_PSC_OPSET_RTS (0x01)
+
+/* Bit definitions and macros for MCF_PSC_OPRESET */
+#define MCF_PSC_OPRESET_RTS (0x01)
+
+/* Bit definitions and macros for MCF_PSC_SICR */
+#define MCF_PSC_SICR_SIM(x) (((x)&0x07)<<0)
+#define MCF_PSC_SICR_SHDIR (0x10)
+#define MCF_PSC_SICR_DTS (0x20)
+#define MCF_PSC_SICR_AWR (0x40)
+#define MCF_PSC_SICR_ACRB (0x80)
+#define MCF_PSC_SICR_SIM_UART (0x00)
+#define MCF_PSC_SICR_SIM_MODEM8 (0x01)
+#define MCF_PSC_SICR_SIM_MODEM16 (0x02)
+#define MCF_PSC_SICR_SIM_AC97 (0x03)
+#define MCF_PSC_SICR_SIM_SIR (0x04)
+#define MCF_PSC_SICR_SIM_MIR (0x05)
+#define MCF_PSC_SICR_SIM_FIR (0x06)
+
+/* Bit definitions and macros for MCF_PSC_IRCR1 */
+#define MCF_PSC_IRCR1_SPUL (0x01)
+#define MCF_PSC_IRCR1_SIPEN (0x02)
+#define MCF_PSC_IRCR1_FD (0x04)
+
+/* Bit definitions and macros for MCF_PSC_IRCR2 */
+#define MCF_PSC_IRCR2_NXTEOF (0x01)
+#define MCF_PSC_IRCR2_ABORT (0x02)
+#define MCF_PSC_IRCR2_SIPREQ (0x04)
+
+/* Bit definitions and macros for MCF_PSC_IRMDR */
+#define MCF_PSC_IRMDR_M_FDIV(x) (((x)&0x7F)<<0)
+#define MCF_PSC_IRMDR_FREQ (0x80)
+
+/* Bit definitions and macros for MCF_PSC_IRFDR */
+#define MCF_PSC_IRFDR_F_FDIV(x) (((x)&0x0F)<<0)
+
+/* Bit definitions and macros for MCF_PSC_RFCNT */
+#define MCF_PSC_RFCNT_CNT(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_TFCNT */
+#define MCF_PSC_TFCNT_CNT(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_RFSR */
+#define MCF_PSC_RFSR_EMT (0x0001)
+#define MCF_PSC_RFSR_ALARM (0x0002)
+#define MCF_PSC_RFSR_FU (0x0004)
+#define MCF_PSC_RFSR_FRMRY (0x0008)
+#define MCF_PSC_RFSR_OF (0x0010)
+#define MCF_PSC_RFSR_UF (0x0020)
+#define MCF_PSC_RFSR_RXW (0x0040)
+#define MCF_PSC_RFSR_FAE (0x0080)
+#define MCF_PSC_RFSR_FRM(x) (((x)&0x000F)<<8)
+#define MCF_PSC_RFSR_TAG (0x1000)
+#define MCF_PSC_RFSR_TXW (0x4000)
+#define MCF_PSC_RFSR_IP (0x8000)
+#define MCF_PSC_RFSR_FRM_BYTE0 (0x0800)
+#define MCF_PSC_RFSR_FRM_BYTE1 (0x0400)
+#define MCF_PSC_RFSR_FRM_BYTE2 (0x0200)
+#define MCF_PSC_RFSR_FRM_BYTE3 (0x0100)
+
+/* Bit definitions and macros for MCF_PSC_TFSR */
+#define MCF_PSC_TFSR_EMT (0x0001)
+#define MCF_PSC_TFSR_ALARM (0x0002)
+#define MCF_PSC_TFSR_FU (0x0004)
+#define MCF_PSC_TFSR_FRMRY (0x0008)
+#define MCF_PSC_TFSR_OF (0x0010)
+#define MCF_PSC_TFSR_UF (0x0020)
+#define MCF_PSC_TFSR_RXW (0x0040)
+#define MCF_PSC_TFSR_FAE (0x0080)
+#define MCF_PSC_TFSR_FRM(x) (((x)&0x000F)<<8)
+#define MCF_PSC_TFSR_TAG (0x1000)
+#define MCF_PSC_TFSR_TXW (0x4000)
+#define MCF_PSC_TFSR_IP (0x8000)
+#define MCF_PSC_TFSR_FRM_BYTE0 (0x0800)
+#define MCF_PSC_TFSR_FRM_BYTE1 (0x0400)
+#define MCF_PSC_TFSR_FRM_BYTE2 (0x0200)
+#define MCF_PSC_TFSR_FRM_BYTE3 (0x0100)
+
+/* Bit definitions and macros for MCF_PSC_RFCR */
+#define MCF_PSC_RFCR_CNTR(x) (((x)&0x0000FFFF)<<0)
+#define MCF_PSC_RFCR_TXW_MSK (0x00040000)
+#define MCF_PSC_RFCR_OF_MSK (0x00080000)
+#define MCF_PSC_RFCR_UF_MSK (0x00100000)
+#define MCF_PSC_RFCR_RXW_MSK (0x00200000)
+#define MCF_PSC_RFCR_FAE_MSK (0x00400000)
+#define MCF_PSC_RFCR_IP_MSK (0x00800000)
+#define MCF_PSC_RFCR_GR(x) (((x)&0x00000007)<<24)
+#define MCF_PSC_RFCR_FRMEN (0x08000000)
+#define MCF_PSC_RFCR_TIMER (0x10000000)
+#define MCF_PSC_RFCR_WRITETAG (0x20000000)
+#define MCF_PSC_RFCR_SHADOW (0x80000000)
+
+/* Bit definitions and macros for MCF_PSC_TFCR */
+#define MCF_PSC_TFCR_CNTR(x) (((x)&0x0000FFFF)<<0)
+#define MCF_PSC_TFCR_TXW_MSK (0x00040000)
+#define MCF_PSC_TFCR_OF_MSK (0x00080000)
+#define MCF_PSC_TFCR_UF_MSK (0x00100000)
+#define MCF_PSC_TFCR_RXW_MSK (0x00200000)
+#define MCF_PSC_TFCR_FAE_MSK (0x00400000)
+#define MCF_PSC_TFCR_IP_MSK (0x00800000)
+#define MCF_PSC_TFCR_GR(x) (((x)&0x00000007)<<24)
+#define MCF_PSC_TFCR_FRMEN (0x08000000)
+#define MCF_PSC_TFCR_TIMER (0x10000000)
+#define MCF_PSC_TFCR_WRITETAG (0x20000000)
+#define MCF_PSC_TFCR_SHADOW (0x80000000)
+
+/* Bit definitions and macros for MCF_PSC_RFAR */
+#define MCF_PSC_RFAR_ALARM(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_TFAR */
+#define MCF_PSC_TFAR_ALARM(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_RFRP */
+#define MCF_PSC_RFRP_READ(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_TFRP */
+#define MCF_PSC_TFRP_READ(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_RFWP */
+#define MCF_PSC_RFWP_WRITE(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_TFWP */
+#define MCF_PSC_TFWP_WRITE(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_RLRFP */
+#define MCF_PSC_RLRFP_LFP(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_TLRFP */
+#define MCF_PSC_TLRFP_LFP(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_RLWFP */
+#define MCF_PSC_RLWFP_LFP(x) (((x)&0x01FF)<<0)
+
+/* Bit definitions and macros for MCF_PSC_TLWFP */
+#define MCF_PSC_TLWFP_LFP(x) (((x)&0x01FF)<<0)
+
+#endif /* __MCF548X_PSC_H__ */