]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - include/commproc.h
common: arm: davinci: Move header file out of common
[people/ms/u-boot.git] / include / commproc.h
index 6357fe3b664b5a250038855ff9b377945463f76f..9d4cb109adde161251a9ae18ac6625ae6b5f9f9d 100644 (file)
@@ -2,6 +2,9 @@
  * MPC8xx Communication Processor Module.
  * Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
  *
+ * (C) Copyright 2000-2006
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ *
  * This file contains structures and information for the communication
  * processor channels.  Some CPM control and status is available
  * throught the MPC8xx internal memory map.  See immap.h for details.
  * CPM capabilities.  I (or someone else) will add definitions as they
  * are needed.  -- Dan
  *
- * On the MBX board, EPPC-Bug loads CPM microcode into the first 512
- * bytes of the DP RAM and relocates the I2C parameter area to the
- * IDMA1 space.  The remaining DP RAM is available for buffer descriptors
- * or other use.
  */
 #ifndef __CPM_8XX__
 #define __CPM_8XX__
 
-#include <linux/config.h>
 #include <asm/8xx_immap.h>
 
 /* CPM Command register.
 */
-#define CPM_CR_RST     ((ushort)0x8000)
-#define CPM_CR_OPCODE  ((ushort)0x0f00)
-#define CPM_CR_CHAN    ((ushort)0x00f0)
-#define CPM_CR_FLG     ((ushort)0x0001)
+#define CPM_CR_RST             ((ushort)0x8000)
+#define CPM_CR_OPCODE          ((ushort)0x0f00)
+#define CPM_CR_CHAN            ((ushort)0x00f0)
+#define CPM_CR_FLG             ((ushort)0x0001)
 
 /* Some commands (there are more...later)
 */
 
 /* Channel numbers.
 */
-#define CPM_CR_CH_SCC1 ((ushort)0x0000)
-#define CPM_CR_CH_I2C  ((ushort)0x0001)        /* I2C and IDMA1 */
-#define CPM_CR_CH_SCC2 ((ushort)0x0004)
-#define CPM_CR_CH_SPI  ((ushort)0x0005)        /* SPI / IDMA2 / Timers */
-#define CPM_CR_CH_SCC3 ((ushort)0x0008)
-#define CPM_CR_CH_SMC1 ((ushort)0x0009)        /* SMC1 / DSP1 */
-#define CPM_CR_CH_SCC4 ((ushort)0x000c)
-#define CPM_CR_CH_SMC2 ((ushort)0x000d)        /* SMC2 / DSP2 */
+#define CPM_CR_CH_SCC1         ((ushort)0x0000)
+#define CPM_CR_CH_I2C          ((ushort)0x0001)    /* I2C and IDMA1 */
+#define CPM_CR_CH_SCC2         ((ushort)0x0004)
+#define CPM_CR_CH_SPI          ((ushort)0x0005)    /* SPI/IDMA2/Timers */
+#define CPM_CR_CH_SCC3         ((ushort)0x0008)
+#define CPM_CR_CH_SMC1         ((ushort)0x0009)    /* SMC1 / DSP1 */
+#define CPM_CR_CH_SCC4         ((ushort)0x000c)
+#define CPM_CR_CH_SMC2         ((ushort)0x000d)    /* SMC2 / DSP2 */
 
 #define mk_cr_cmd(CH, CMD)     ((CMD << 8) | (CH << 4))
 
 /*
  * DPRAM defines and allocation functions
  */
-
-/* The dual ported RAM is multi-functional.  Some areas can be (and are
- * being) used for microcode.  There is an area that can only be used
- * as data ram for buffer descriptors, which is all we use right now.
- * Currently the first 512 and last 256 bytes are used for microcode.
- */
-#ifdef  CFG_ALLOC_DPRAM
-
-#define CPM_DATAONLY_BASE      ((uint)0x0800)
-#define CPM_DATAONLY_SIZE      ((uint)0x0700)
-#define CPM_DP_NOSPACE         ((uint)0x7fffffff)
-
-#else
-
 #define CPM_SERIAL_BASE                0x0800
 #define CPM_I2C_BASE           0x0820
 #define CPM_SPI_BASE           0x0840
 #define CPM_FEC_BASE           0x0860
-#define CPM_WLKBD_BASE         0x0880
+#define CPM_SERIAL2_BASE       0x08E0
 #define CPM_SCC_BASE           0x0900
 #define CPM_POST_BASE          0x0980
+#define CPM_WLKBD_BASE         0x0a00
 
+#ifndef CONFIG_SYS_CPM_POST_WORD_ADDR
+#define CPM_POST_WORD_ADDR     0x07FC
+#else
+#define CPM_POST_WORD_ADDR     CONFIG_SYS_CPM_POST_WORD_ADDR
 #endif
 
-#define CPM_POST_WORD_ADDR     0x07FC
+#ifndef CONFIG_SYS_CPM_BOOTCOUNT_ADDR
+#define CPM_BOOTCOUNT_ADDR     (CPM_POST_WORD_ADDR - 2*sizeof(ulong))
+#else
+#define CPM_BOOTCOUNT_ADDR     CONFIG_SYS_CPM_BOOTCOUNT_ADDR
+#endif
 
 #define BD_IIC_START   ((uint) 0x0400) /* <- please use CPM_I2C_BASE !! */
 
@@ -94,7 +87,7 @@ typedef struct cpm_buf_desc {
        uint    cbd_bufaddr;    /* Buffer address in host memory */
 } cbd_t;
 
-#define BD_SC_EMPTY    ((ushort)0x8000)        /* Recieve is empty */
+#define BD_SC_EMPTY    ((ushort)0x8000)        /* Receive is empty */
 #define BD_SC_READY    ((ushort)0x8000)        /* Transmit is ready */
 #define BD_SC_WRAP     ((ushort)0x2000)        /* Last buffer descriptor */
 #define BD_SC_INTRPT   ((ushort)0x1000)        /* Interrupt on change */
@@ -113,6 +106,7 @@ typedef struct cpm_buf_desc {
 */
 #define PROFF_SCC1     ((uint)0x0000)
 #define PROFF_IIC      ((uint)0x0080)
+#define PROFF_REVNUM   ((uint)0x00b0)
 #define PROFF_SCC2     ((uint)0x0100)
 #define PROFF_SPI      ((uint)0x0180)
 #define PROFF_SCC3     ((uint)0x0200)
@@ -121,7 +115,6 @@ typedef struct cpm_buf_desc {
 #define PROFF_SMC2     ((uint)0x0380)
 
 /* Define enough so I can at least use the serial port as a UART.
- * The MBX uses SMC1 as the host serial port.
  */
 typedef struct smc_uart {
        ushort  smc_rbase;      /* Rx Buffer descriptor base address */
@@ -145,6 +138,8 @@ typedef struct smc_uart {
        ushort  smc_brkec;      /* rcv'd break condition counter */
        ushort  smc_brkcr;      /* xmt break count register */
        ushort  smc_rmask;      /* Temporary bit mask */
+       u_char  res1[8];
+       ushort  smc_rpbase;     /* Relocation pointer */
 } smc_uart_t;
 
 /* Function code bits.
@@ -418,71 +413,6 @@ typedef struct scc_enet {
  * #define FEC_ENET to enable the SCC resp. FEC ethernet drivers.
  **********************************************************************/
 
-
-/***  ADS  *************************************************************/
-
-#if defined(CONFIG_MPC860) && defined(CONFIG_ADS)
-/* This ENET stuff is for the MPC860ADS with ethernet on SCC1.
- */
-
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-#define        SCC_ENET        0
-
-#define PA_ENET_RXD    ((ushort)0x0001)
-#define PA_ENET_TXD    ((ushort)0x0002)
-#define PA_ENET_TCLK   ((ushort)0x0100)
-#define PA_ENET_RCLK   ((ushort)0x0200)
-
-#define PB_ENET_TENA   ((uint)0x00001000)
-
-#define PC_ENET_CLSN   ((ushort)0x0010)
-#define PC_ENET_RENA   ((ushort)0x0020)
-
-#define SICR_ENET_MASK ((uint)0x000000ff)
-#define SICR_ENET_CLKRT        ((uint)0x0000002c)
-
-/* 68160 PHY control */
-
-#define PC_ENET_ETHLOOP ((ushort)0x0800)
-#define PC_ENET_TPFLDL ((ushort)0x0400)
-#define PC_ENET_TPSQEL  ((ushort)0x0200)
-
-#endif /* MPC860ADS */
-
-/***  AMX860  **********************************************/
-
-#if defined(CONFIG_AMX860)
-
-/* This ENET stuff is for the AMX860 with ethernet on SCC1.
- */
-
-#define PROFF_ENET     PROFF_SCC1
-#define CPM_CR_ENET    CPM_CR_CH_SCC1
-#define SCC_ENET       0
-
-#define PA_ENET_RXD    ((ushort)0x0001)
-#define PA_ENET_TXD    ((ushort)0x0002)
-#define PA_ENET_TCLK   ((ushort)0x0400)
-#define PA_ENET_RCLK   ((ushort)0x0800)
-
-#define PB_ENET_TENA   ((uint)0x00001000)
-
-#define PC_ENET_CLSN   ((ushort)0x0010)
-#define PC_ENET_RENA   ((ushort)0x0020)
-
-#define SICR_ENET_MASK ((uint)0x000000ff)
-#define SICR_ENET_CLKRT        ((uint)0x0000003e)
-
-/* 68160 PHY control */
-
-#define PB_ENET_ETHLOOP        ((uint)0x00020000)
-#define PB_ENET_TPFLDL ((uint)0x00010000)
-#define PB_ENET_TPSQEL ((uint)0x00008000)
-#define PD_ENET_ETH_EN ((ushort)0x0004)
-
-#endif /* CONFIG_AMX860 */
-
 /***  BSEIP  **********************************************************/
 
 #ifdef CONFIG_BSEIP
@@ -510,723 +440,38 @@ typedef struct scc_enet {
 #define SICR_ENET_CLKRT        ((uint)0x00002c00)
 #endif /* CONFIG_BSEIP */
 
-/***  BSEIP  **********************************************************/
-
-#ifdef CONFIG_FLAGADM
-/* Enet configuration for the FLAGADM */
-/* Enet on SCC2 */
-
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD            ((ushort)0x0004)
-#define PA_ENET_TXD            ((ushort)0x0008)
-#define PA_ENET_TCLK   ((ushort)0x0100)
-#define PA_ENET_RCLK   ((ushort)0x0400)
-#define PB_ENET_TENA   ((uint)0x00002000)
-#define PC_ENET_CLSN   ((ushort)0x0040)
-#define PC_ENET_RENA   ((ushort)0x0080)
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00003400)
-#endif /* CONFIG_FLAGADM */
-
-/***  C2MON  **********************************************************/
-
-#ifdef CONFIG_C2MON
-
-# ifndef CONFIG_FEC_ENET       /* use SCC for 10Mbps Ethernet  */
-#  error "Ethernet on SCC not supported on C2MON Board!"
-# else                         /* Use FEC for Fast Ethernet */
-
-#undef SCC_ENET
-#define FEC_ENET
-
-#define PD_MII_TXD1    ((ushort)0x1000)        /* PD  3 */
-#define PD_MII_TXD2    ((ushort)0x0800)        /* PD  4 */
-#define PD_MII_TXD3    ((ushort)0x0400)        /* PD  5 */
-#define PD_MII_RX_DV   ((ushort)0x0200)        /* PD  6 */
-#define PD_MII_RX_ERR  ((ushort)0x0100)        /* PD  7 */
-#define PD_MII_RX_CLK  ((ushort)0x0080)        /* PD  8 */
-#define PD_MII_TXD0    ((ushort)0x0040)        /* PD  9 */
-#define PD_MII_RXD0    ((ushort)0x0020)        /* PD 10 */
-#define PD_MII_TX_ERR  ((ushort)0x0010)        /* PD 11 */
-#define PD_MII_MDC     ((ushort)0x0008)        /* PD 12 */
-#define PD_MII_RXD1    ((ushort)0x0004)        /* PD 13 */
-#define PD_MII_RXD2    ((ushort)0x0002)        /* PD 14 */
-#define PD_MII_RXD3    ((ushort)0x0001)        /* PD 15 */
-
-#define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3...15 */
-
-# endif        /* CONFIG_FEC_ENET */
-#endif /* CONFIG_C2MON */
-
-/*********************************************************************/
-
-
-/***  CCM  and  PCU E  ***********************************************/
-
-/* The PCU E  and  CCM  use the FEC on a MPC860T for Ethernet */
-
-#if defined (CONFIG_PCU_E) || defined(CONFIG_CCM)
-
-#define        FEC_ENET        /* use FEC for EThernet */
-#undef SCC_ENET
-
-#define PD_MII_TXD1    ((ushort)0x1000)        /* PD  3 */
-#define PD_MII_TXD2    ((ushort)0x0800)        /* PD  4 */
-#define PD_MII_TXD3    ((ushort)0x0400)        /* PD  5 */
-#define PD_MII_RX_DV   ((ushort)0x0200)        /* PD  6 */
-#define PD_MII_RX_ERR  ((ushort)0x0100)        /* PD  7 */
-#define PD_MII_RX_CLK  ((ushort)0x0080)        /* PD  8 */
-#define PD_MII_TXD0    ((ushort)0x0040)        /* PD  9 */
-#define PD_MII_RXD0    ((ushort)0x0020)        /* PD 10 */
-#define PD_MII_TX_ERR  ((ushort)0x0010)        /* PD 11 */
-#define PD_MII_MDC     ((ushort)0x0008)        /* PD 12 */
-#define PD_MII_RXD1    ((ushort)0x0004)        /* PD 13 */
-#define PD_MII_RXD2    ((ushort)0x0002)        /* PD 14 */
-#define PD_MII_RXD3    ((ushort)0x0001)        /* PD 15 */
-
-#define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3...15 */
-
-#endif /* CONFIG_PCU_E, CONFIG_CCM */
-
-/***  ESTEEM 192E  **************************************************/
-#ifdef CONFIG_ESTEEM192E
-/* ESTEEM192E
- * This ENET stuff is for the MPC850 with ethernet on SCC2. This
- * is very similar to the RPX-Lite configuration.
- * Note TENA , LOOPBACK , FDPLEX_DIS on Port B.
- */
-
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-
-#define PA_ENET_RXD    ((ushort)0x0004)
-#define PA_ENET_TXD    ((ushort)0x0008)
-#define PA_ENET_TCLK   ((ushort)0x0200)
-#define PA_ENET_RCLK   ((ushort)0x0800)
-#define PB_ENET_TENA   ((uint)0x00002000)
-#define PC_ENET_CLSN   ((ushort)0x0040)
-#define PC_ENET_RENA   ((ushort)0x0080)
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00003d00)
-
-#define PB_ENET_LOOPBACK ((uint)0x00004000)
-#define PB_ENET_FDPLEX_DIS ((uint)0x00008000)
-
-#endif
-
-/***  FADS823  ********************************************************/
-
-#if defined(CONFIG_MPC823FADS) && defined(CONFIG_FADS)
-/* This ENET stuff is for the MPC823FADS with ethernet on SCC2.
- */
-#ifdef CONFIG_SCC2_ENET
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define CPMVEC_ENET    CPMVEC_SCC2
-#endif
-
-#ifdef CONFIG_SCC1_ENET
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-#define        SCC_ENET        0
-#define CPMVEC_ENET    CPMVEC_SCC1
-#endif
-
-#define PA_ENET_RXD    ((ushort)0x0004)
-#define PA_ENET_TXD    ((ushort)0x0008)
-#define PA_ENET_TCLK   ((ushort)0x0400)
-#define PA_ENET_RCLK   ((ushort)0x0200)
-
-#define PB_ENET_TENA   ((uint)0x00002000)
-
-#define PC_ENET_CLSN   ((ushort)0x0040)
-#define PC_ENET_RENA   ((ushort)0x0080)
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002e00)
-
-#endif /* CONFIG_FADS823FADS */
-
-/***  FADS850SAR  ********************************************************/
-
-#if defined(CONFIG_MPC850SAR) && defined(CONFIG_FADS)
-/* This ENET stuff is for the MPC850SAR with ethernet on SCC2.  Some of
- * this may be unique to the FADS850SAR configuration.
- * Note TENA is on Port B.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA 6 */
-#define PA_ENET_TCLK   ((ushort)0x0800)        /* PA 4 */
-#define PB_ENET_TENA   ((uint)0x00002000)      /* PB 18 */
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC 9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC 8 */
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002f00)      /* RCLK-CLK2, TCLK-CLK4 */
-#endif /* CONFIG_FADS850SAR */
-
-/***  FADS860T********************************************************/
-
-#if defined(CONFIG_MPC860T) && defined(CONFIG_FADS)
-/* This ENET stuff is for the MPC860TFADS with ethernet on SCC1.
- */
-
-#ifdef CONFIG_SCC1_ENET
-#define        SCC_ENET        0
-#endif /* CONFIG_SCC1_ETHERNET */
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-
-#define PA_ENET_RXD    ((ushort)0x0001)
-#define PA_ENET_TXD    ((ushort)0x0002)
-#define PA_ENET_TCLK   ((ushort)0x0100)
-#define PA_ENET_RCLK   ((ushort)0x0200)
-
-#define PB_ENET_TENA   ((uint)0x00001000)
-
-#define PC_ENET_CLSN   ((ushort)0x0010)
-#define PC_ENET_RENA   ((ushort)0x0020)
-
-#define SICR_ENET_MASK ((uint)0x000000ff)
-#define SICR_ENET_CLKRT        ((uint)0x0000002c)
-
-/* This ENET stuff is for the MPC860TFADS with ethernet on FEC.
- */
-
-#ifdef CONFIG_FEC_ENET
-#define        FEC_ENET        /* use FEC for EThernet */
-#endif /* CONFIG_FEC_ETHERNET */
-
-#endif /* CONFIG_FADS860T */
-
-/***  FPS850L, FPS860L  ************************************************/
-
-#if defined(CONFIG_FPS850L) || defined(CONFIG_FPS860L)
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC2 use.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0100)        /* PA  7 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA  5 */
-
-#define PC_ENET_TENA   ((ushort)0x0002)        /* PC 14 */
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-
-/* Control bits in the SICR to route TCLK (CLK2) and RCLK (CLK4) to
- * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002600)
-#endif /* CONFIG_FPS850L, CONFIG_FPS860L */
-
-/*** GEN860T **********************************************************/
-#if defined(CONFIG_GEN860T)
-#undef SCC_ENET
-#define        FEC_ENET
-
-#define PD_MII_TXD1    ((ushort)0x1000)        /* PD  3        */
-#define PD_MII_TXD2    ((ushort)0x0800)        /* PD  4        */
-#define PD_MII_TXD3    ((ushort)0x0400)        /* PD  5        */
-#define PD_MII_RX_DV   ((ushort)0x0200)        /* PD  6        */
-#define PD_MII_RX_ERR  ((ushort)0x0100)        /* PD  7        */
-#define PD_MII_RX_CLK  ((ushort)0x0080)        /* PD  8        */
-#define PD_MII_TXD0    ((ushort)0x0040)        /* PD  9        */
-#define PD_MII_RXD0    ((ushort)0x0020)        /* PD 10        */
-#define PD_MII_TX_ERR  ((ushort)0x0010)        /* PD 11        */
-#define PD_MII_MDC     ((ushort)0x0008)        /* PD 12        */
-#define PD_MII_RXD1    ((ushort)0x0004)        /* PD 13        */
-#define PD_MII_RXD2    ((ushort)0x0002)        /* PD 14        */
-#define PD_MII_RXD3    ((ushort)0x0001)        /* PD 15        */
-#define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3-15      */
-#endif /* CONFIG_GEN860T */
-
-/***  GENIETV  ********************************************************/
-
-#if defined(CONFIG_GENIETV)
-/* Ethernet is only on SCC2 */
-
-#define CONFIG_SCC2_ENET
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define CPMVEC_ENET    CPMVEC_SCC2
-
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA  5 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA  6 */
-
-#define PB_ENET_TENA   ((uint)0x00002000)      /* PB 18 */
-
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002e00)
-
-#endif /* CONFIG_GENIETV */
-
-/*** GTH ******************************************************/
-
-#ifdef CONFIG_GTH
-#ifdef CONFIG_FEC_ENET
-#define        FEC_ENET        /* use FEC for EThernet */
-#endif /* CONFIG_FEC_ETHERNET */
-
-/* This ENET stuff is for GTH 10 Mbit ( SCC ) */
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-#define        SCC_ENET        0
-
-#define PA_ENET_RXD    ((ushort)0x0001) /* PA15 */
-#define PA_ENET_TXD    ((ushort)0x0002) /* PA14 */
-#define PA_ENET_TCLK   ((ushort)0x0800) /* PA4 */
-#define PA_ENET_RCLK   ((ushort)0x0400) /* PA5 */
-
-#define PB_ENET_TENA   ((uint)0x00001000) /* PB19 */
-
-#define PC_ENET_CLSN   ((ushort)0x0010) /* PC11 */
-#define PC_ENET_RENA   ((ushort)0x0020) /* PC10 */
-
-/* NOTE. This is reset for 10Mbit port only */
-#define PC_ENET_RESET  ((ushort)0x0100)        /* PC 7 */
-
-#define SICR_ENET_MASK ((uint)0x000000ff)
-
-/* TCLK PA4 -->CLK4, RCLK PA5 -->CLK3 */
-#define SICR_ENET_CLKRT        ((uint)0x00000037)
-
-#endif /* CONFIG_GTH */
-
-/*** HERMES-PRO ******************************************************/
-
-/* The HERMES-PRO uses the FEC on a MPC860T for Ethernet */
-
-#ifdef CONFIG_HERMES
-
-#define        FEC_ENET        /* use FEC for EThernet */
-#undef SCC_ENET
-
-
-#define PD_MII_TXD1    ((ushort)0x1000)        /* PD  3 */
-#define PD_MII_TXD2    ((ushort)0x0800)        /* PD  4 */
-#define PD_MII_TXD3    ((ushort)0x0400)        /* PD  5 */
-#define PD_MII_RX_DV   ((ushort)0x0200)        /* PD  6 */
-#define PD_MII_RX_ERR  ((ushort)0x0100)        /* PD  7 */
-#define PD_MII_RX_CLK  ((ushort)0x0080)        /* PD  8 */
-#define PD_MII_TXD0    ((ushort)0x0040)        /* PD  9 */
-#define PD_MII_RXD0    ((ushort)0x0020)        /* PD 10 */
-#define PD_MII_TX_ERR  ((ushort)0x0010)        /* PD 11 */
-#define PD_MII_MDC     ((ushort)0x0008)        /* PD 12 */
-#define PD_MII_RXD1    ((ushort)0x0004)        /* PD 13 */
-#define PD_MII_RXD2    ((ushort)0x0002)        /* PD 14 */
-#define PD_MII_RXD3    ((ushort)0x0001)        /* PD 15 */
-
-#define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3...15 */
-
-#endif /* CONFIG_HERMES */
-
-/***  IAD210  **********************************************************/
-
-/* The IAD210 uses the FEC on a MPC860P for Ethernet */
-
-#if defined(CONFIG_IAD210)
-
-# define  FEC_ENET    /* use FEC for Ethernet */
-# undef   SCC_ENET
-
-# define PD_MII_TXD1    ((ushort) 0x1000 )     /* PD  3 */
-# define PD_MII_TXD2    ((ushort) 0x0800 )     /* PD  4 */
-# define PD_MII_TXD3    ((ushort) 0x0400 )     /* PD  5 */
-# define PD_MII_RX_DV   ((ushort) 0x0200 )     /* PD  6 */
-# define PD_MII_RX_ERR  ((ushort) 0x0100 )     /* PD  7 */
-# define PD_MII_RX_CLK  ((ushort) 0x0080 )     /* PD  8 */
-# define PD_MII_TXD0    ((ushort) 0x0040 )     /* PD  9 */
-# define PD_MII_RXD0    ((ushort) 0x0020 )     /* PD 10 */
-# define PD_MII_TX_ERR  ((ushort) 0x0010 )     /* PD 11 */
-# define PD_MII_MDC     ((ushort) 0x0008 )     /* PD 12 */
-# define PD_MII_RXD1    ((ushort) 0x0004 )     /* PD 13 */
-# define PD_MII_RXD2    ((ushort) 0x0002 )     /* PD 14 */
-# define PD_MII_RXD3    ((ushort) 0x0001 )     /* PD 15 */
-
-# define PD_MII_MASK    ((ushort) 0x1FFF )   /* PD 3...15 */
-
-#endif /* CONFIG_IAD210 */
-
-/*** ICU862  **********************************************************/
-
-#if defined(CONFIG_ICU862)
-
-#ifdef CONFIG_FEC_ENET
-#define FEC_ENET       /* use FEC for EThernet */
-#endif  /* CONFIG_FEC_ETHERNET */
-
-#endif /* CONFIG_ICU862 */
-
-/***  IP860  **********************************************************/
-
-#if defined(CONFIG_IP860)
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC1 use.
- */
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-#define        SCC_ENET        0
-#define PA_ENET_RXD    ((ushort)0x0001)        /* PA 15 */
-#define PA_ENET_TXD    ((ushort)0x0002)        /* PA 14 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA  6 */
-#define PA_ENET_TCLK   ((ushort)0x0100)        /* PA  7 */
-
-#define PC_ENET_TENA   ((ushort)0x0001)        /* PC 15 */
-#define PC_ENET_CLSN   ((ushort)0x0010)        /* PC 11 */
-#define PC_ENET_RENA   ((ushort)0x0020)        /* PC 10 */
-
-#define PB_ENET_RESET  (uint)0x00000008        /* PB 28 */
-#define PB_ENET_JABD   (uint)0x00000004        /* PB 29 */
-
-/* Control bits in the SICR to route TCLK (CLK1) and RCLK (CLK2) to
- * SCC1.  Also, make sure GR1 (bit 24) and SC1 (bit 25) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x000000ff)
-#define SICR_ENET_CLKRT        ((uint)0x0000002C)
-#endif /* CONFIG_IP860 */
-
-/*** IVMS8  **********************************************************/
-
-/* The IVMS8 uses the FEC on a MPC860T for Ethernet */
-
-#if defined(CONFIG_IVMS8) || defined(CONFIG_IVML24)
-
-#define        FEC_ENET        /* use FEC for EThernet */
-#undef SCC_ENET
-
-#define        PB_ENET_POWER   ((uint)0x00010000)      /* PB 15 */
-
-#define PC_ENET_RESET  ((ushort)0x0010)        /* PC 11 */
-
-#define PD_MII_TXD1    ((ushort)0x1000)        /* PD  3 */
-#define PD_MII_TXD2    ((ushort)0x0800)        /* PD  4 */
-#define PD_MII_TXD3    ((ushort)0x0400)        /* PD  5 */
-#define PD_MII_RX_DV   ((ushort)0x0200)        /* PD  6 */
-#define PD_MII_RX_ERR  ((ushort)0x0100)        /* PD  7 */
-#define PD_MII_RX_CLK  ((ushort)0x0080)        /* PD  8 */
-#define PD_MII_TXD0    ((ushort)0x0040)        /* PD  9 */
-#define PD_MII_RXD0    ((ushort)0x0020)        /* PD 10 */
-#define PD_MII_TX_ERR  ((ushort)0x0010)        /* PD 11 */
-#define PD_MII_MDC     ((ushort)0x0008)        /* PD 12 */
-#define PD_MII_RXD1    ((ushort)0x0004)        /* PD 13 */
-#define PD_MII_RXD2    ((ushort)0x0002)        /* PD 14 */
-#define PD_MII_RXD3    ((ushort)0x0001)        /* PD 15 */
-
-#define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3...15 */
-
-#endif /* CONFIG_IVMS8, CONFIG_IVML24 */
-
-/***  KUP4K  *********************************************************/
-/* The KUP4K uses the FEC on a MPC855T for Ethernet */
-
-#if defined(CONFIG_KUP4K)
-
-#define        FEC_ENET        /* use FEC for EThernet */
-#undef SCC_ENET
-
-#define        PB_ENET_POWER   ((uint)0x00010000)      /* PB 15 */
-
-#define PC_ENET_RESET  ((ushort)0x0010)        /* PC 11 */
-
-#define PD_MII_TXD1    ((ushort)0x1000)        /* PD  3 */
-#define PD_MII_TXD2    ((ushort)0x0800)        /* PD  4 */
-#define PD_MII_TXD3    ((ushort)0x0400)        /* PD  5 */
-#define PD_MII_RX_DV   ((ushort)0x0200)        /* PD  6 */
-#define PD_MII_RX_ERR  ((ushort)0x0100)        /* PD  7 */
-#define PD_MII_RX_CLK  ((ushort)0x0080)        /* PD  8 */
-#define PD_MII_TXD0    ((ushort)0x0040)        /* PD  9 */
-#define PD_MII_RXD0    ((ushort)0x0020)        /* PD 10 */
-#define PD_MII_TX_ERR  ((ushort)0x0010)        /* PD 11 */
-#define PD_MII_MDC     ((ushort)0x0008)        /* PD 12 */
-#define PD_MII_RXD1    ((ushort)0x0004)        /* PD 13 */
-#define PD_MII_RXD2    ((ushort)0x0002)        /* PD 14 */
-#define PD_MII_RXD3    ((ushort)0x0001)        /* PD 15 */
-
-#define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3...15 */
-
-#endif /* CONFIG_KUP4K */
-
-
-/***  LANTEC  *********************************************************/
-
-#if defined(CONFIG_LANTEC) && CONFIG_LANTEC >= 2
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC2 use.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA  6 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA  5 */
-
-#define PB_ENET_TENA   ((uint)0x00002000)      /* PB 18 */
-
-#define PC_ENET_LBK    ((ushort)0x0010)        /* PC 11 */
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-
-/* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK2) to
- * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x0000FF00)
-#define SICR_ENET_CLKRT        ((uint)0x00002E00)
-#endif /* CONFIG_LANTEC v2 */
-
-/***  LWMON  **********************************************************/
-
-#if defined(CONFIG_LWMON) && !defined(CONFIG_8xx_CONS_SCC2)
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC2 use.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0800)        /* PA  4 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA  5 */
-
-#define PB_ENET_TENA   ((uint)0x00002000)      /* PB 18 */
-
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-
-/* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK4) to
- * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00003E00)
-#endif /* CONFIG_LWMON */
-
-/***  NX823  ***********************************************/
-
-#if defined(CONFIG_NX823)
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC1 use.
- */
-#define PROFF_ENET     PROFF_SCC2
-#define CPM_CR_ENET    CPM_CR_CH_SCC2
-#define SCC_ENET       1
-#define PA_ENET_RXD  ((ushort)0x0004)  /* PA 13 */
-#define PA_ENET_TXD  ((ushort)0x0008)  /* PA 12 */
-#define PA_ENET_RCLK ((ushort)0x0200)  /* PA  6 */
-#define PA_ENET_TCLK ((ushort)0x0800)  /* PA  4 */
-
-#define PB_ENET_TENA ((uint)0x00002000)   /* PB 18 */
-
-#define PC_ENET_CLSN ((ushort)0x0040)  /* PC  9 */
-#define PC_ENET_RENA ((ushort)0x0080)  /* PC  8 */
-
-/* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK1) to
- * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
- */
-#define SICR_ENET_MASK  ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT ((uint)0x00002f00)
-
-#endif   /* CONFIG_NX823 */
-
-/***  MBX  ************************************************************/
-
-#ifdef CONFIG_MBX
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC1 use.  The TCLK and RCLK seem unique
- * to the MBX860 board.  Any two of the four available clocks could be
- * used, and the MPC860 cookbook manual has an example using different
- * clock pins.
- */
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-#define        SCC_ENET        0
-#define PA_ENET_RXD    ((ushort)0x0001)
-#define PA_ENET_TXD    ((ushort)0x0002)
-#define PA_ENET_TCLK   ((ushort)0x0200)
-#define PA_ENET_RCLK   ((ushort)0x0800)
-#define PC_ENET_TENA   ((ushort)0x0001)
-#define PC_ENET_CLSN   ((ushort)0x0010)
-#define PC_ENET_RENA   ((ushort)0x0020)
-
-/* Control bits in the SICR to route TCLK (CLK2) and RCLK (CLK4) to
- * SCC1.  Also, make sure GR1 (bit 24) and SC1 (bit 25) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x000000ff)
-#define SICR_ENET_CLKRT        ((uint)0x0000003d)
-#endif /* CONFIG_MBX */
-
-/***  MHPC  ********************************************************/
-
-#if defined(CONFIG_MHPC)
-/* This ENET stuff is for the MHPC with ethernet on SCC2.
- * Note TENA is on Port B.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA 6 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA 5 */
-#define PB_ENET_TENA   ((uint)0x00002000)      /* PB 18 */
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC 9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC 8 */
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002e00)      /* RCLK-CLK2, TCLK-CLK3 */
-#endif /* CONFIG_MHPC */
-
-/***  RPXCLASSIC  *****************************************************/
-
-#ifdef CONFIG_RPXCLASSIC
-
-#ifdef CONFIG_FEC_ENET
-
-# define FEC_ENET                              /* use FEC for EThernet */
-# undef SCC_ENET
-
-#else  /* ! CONFIG_FEC_ENET */
-
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC1 use.
- */
-#define        PROFF_ENET      PROFF_SCC1
-#define        CPM_CR_ENET     CPM_CR_CH_SCC1
-#define        SCC_ENET        0
-#define PA_ENET_RXD    ((ushort)0x0001)
-#define PA_ENET_TXD    ((ushort)0x0002)
-#define PA_ENET_TCLK   ((ushort)0x0200)
-#define PA_ENET_RCLK   ((ushort)0x0800)
-#define PB_ENET_TENA   ((uint)0x00001000)
-#define PC_ENET_CLSN   ((ushort)0x0010)
-#define PC_ENET_RENA   ((ushort)0x0020)
-
-/* Control bits in the SICR to route TCLK (CLK2) and RCLK (CLK4) to
- * SCC1.  Also, make sure GR1 (bit 24) and SC1 (bit 25) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x000000ff)
-#define SICR_ENET_CLKRT        ((uint)0x0000003d)
-
-#endif /* CONFIG_FEC_ENET */
-
-#endif /* CONFIG_RPXCLASSIC */
-
-/***  RPXLITE  ********************************************************/
-
-#ifdef CONFIG_RPXLITE
-/* This ENET stuff is for the MPC850 with ethernet on SCC2.  Some of
- * this may be unique to the RPX-Lite configuration.
- * Note TENA is on Port B.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)
-#define PA_ENET_TXD    ((ushort)0x0008)
-#define PA_ENET_TCLK   ((ushort)0x0200)
-#define PA_ENET_RCLK   ((ushort)0x0800)
-#define PB_ENET_TENA   ((uint)0x00002000)
-#define PC_ENET_CLSN   ((ushort)0x0040)
-#define PC_ENET_RENA   ((ushort)0x0080)
-
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00003d00)
-#endif /* CONFIG_RPXLITE */
+/***  KM8XX  *********************************************************/
 
-/***  SM850  *********************************************************/
+/* The KM8XX Service Module uses SCC3 for Ethernet */
 
-/* The SM850 Service Module uses SCC2 for IrDA and SCC3 for Ethernet */
-
-#ifdef CONFIG_SM850
+#ifdef CONFIG_KM8XX
 #define PROFF_ENET     PROFF_SCC3              /* Ethernet on SCC3 */
 #define CPM_CR_ENET    CPM_CR_CH_SCC3
 #define SCC_ENET       2
-#define PB_ENET_RXD    ((uint)0x00000004)      /* PB 29 */
-#define PB_ENET_TXD    ((uint)0x00000002)      /* PB 30 */
-#define PA_ENET_RCLK   ((ushort)0x0100)        /* PA  7 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA  5 */
+#define PA_ENET_RXD    ((ushort)0x0010)        /* PA 11 */
+#define PA_ENET_TXD    ((ushort)0x0020)        /* PA 10 */
+#define PA_ENET_RCLK   ((ushort)0x1000)        /* PA  3 CLK 5 */
+#define PA_ENET_TCLK   ((ushort)0x2000)        /* PA  2 CLK 6 */
 
-#define PC_ENET_LBK    ((ushort)0x0008)        /* PC 12 */
 #define PC_ENET_TENA   ((ushort)0x0004)        /* PC 13 */
 
-#define PC_ENET_RENA   ((ushort)0x0800)        /* PC  4 */
-#define PC_ENET_CLSN   ((ushort)0x0400)        /* PC  5 */
+#define PC_ENET_RENA   ((ushort)0x0200)        /* PC  6 */
+#define PC_ENET_CLSN   ((ushort)0x0100)        /* PC  7 */
 
-/* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK1) to
+/* Control bits in the SICR to route TCLK (CLK6) and RCLK (CLK5) to
  * SCC3.  Also, make sure GR3 (bit 8) and SC3 (bit 9) are zero.
  */
 #define SICR_ENET_MASK ((uint)0x00FF0000)
-#define SICR_ENET_CLKRT        ((uint)0x00260000)
-#endif /* CONFIG_SM850 */
-
-/***  SPD823TS  ******************************************************/
-
-#ifdef CONFIG_SPD823TS
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC2 use.
- */
-#define        PROFF_ENET      PROFF_SCC2              /* Ethernet on SCC2 */
-#define CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_MDC    ((ushort)0x0001)        /* PA 15 !!! */
-#define PA_ENET_MDIO   ((ushort)0x0002)        /* PA 14 !!! */
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA  6 */
-#define PA_ENET_TCLK   ((ushort)0x0400)        /* PA  5 */
-
-#define PB_ENET_TENA   ((uint)0x00002000)      /* PB 18 */
-
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-#define        PC_ENET_RESET   ((ushort)0x0100)        /* PC  7 !!! */
-
-/* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK2) to
- * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002E00)
-#endif /* CONFIG_SPD823TS */
+#define SICR_ENET_CLKRT        ((uint)0x00250000)
+#endif /* CONFIG_KM8XX */
 
-/***  SXNI855T  ******************************************************/
-
-#if defined(CONFIG_SXNI855T)
-
-#ifdef CONFIG_FEC_ENET
-#define        FEC_ENET        /* use FEC for Ethernet */
-#endif /* CONFIG_FEC_ETHERNET */
-
-#endif /* CONFIG_SXNI855T */
-
-/***  MVS1, TQM823L, TQM850L, ETX094, R360MPI  ***********************/
+/***  MVS1, TQM823L/M, TQM850L/M, TQM885D, R360MPI  **********/
 
 #if (defined(CONFIG_MVS) && CONFIG_MVS < 2) || \
-    defined(CONFIG_R360MPI) || \
     defined(CONFIG_TQM823L) || \
-    defined(CONFIG_TQM850L) || \
-    defined(CONFIG_ETX094)  || \
-    defined(CONFIG_RRVISION)|| \
-   (defined(CONFIG_LANTEC) && CONFIG_LANTEC < 2)
+    defined(CONFIG_TQM823M) || defined(CONFIG_TQM850L) || \
+    defined(CONFIG_TQM850M) || defined(CONFIG_TQM885D)
+
 /* Bits in parallel I/O port registers that have to be set/cleared
  * to configure the pins for SCC2 use.
  */
@@ -1242,20 +487,25 @@ typedef struct scc_enet {
 
 #define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
 #define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-#if defined(CONFIG_R360MPI)
-#define PC_ENET_LBK    ((ushort)0x0008)        /* PC 12 */
-#endif   /* CONFIG_R360MPI */
 
 /* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK1) to
  * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
  */
 #define SICR_ENET_MASK ((uint)0x0000ff00)
 #define SICR_ENET_CLKRT        ((uint)0x00002600)
-#endif /* CONFIG_MVS v1, CONFIG_TQM823L, CONFIG_TQM850L, etc. */
 
-/***  TQM860L, TQM855L ************************************************/
+# ifdef CONFIG_FEC_ENET                /* Use FEC for Fast Ethernet */
+#define FEC_ENET
+# endif        /* CONFIG_FEC_ENET */
 
-#if (defined(CONFIG_TQM860L) || defined(CONFIG_TQM855L))
+#endif /* CONFIG_MVS v1, CONFIG_TQM823L/M, CONFIG_TQM850L/M, etc. */
+
+/***  TQM855L/M, TQM860L/M, TQM862L/M, TQM866L/M  *********************/
+
+#if defined(CONFIG_TQM855L) || defined(CONFIG_TQM855M) || \
+    defined(CONFIG_TQM860L) || defined(CONFIG_TQM860M) || \
+    defined(CONFIG_TQM862L) || defined(CONFIG_TQM862M) || \
+    defined(CONFIG_TQM866L) || defined(CONFIG_TQM866M)
 
 # ifdef CONFIG_SCC1_ENET       /* use SCC for 10Mbps Ethernet  */
 
@@ -1303,33 +553,7 @@ typedef struct scc_enet {
 #define PD_MII_MASK    ((ushort)0x1FFF)        /* PD 3...15 */
 
 # endif        /* CONFIG_FEC_ENET */
-#endif /* CONFIG_TQM860L, CONFIG_TQM855L */
-
-#if defined(CONFIG_NETVIA)
-/* Bits in parallel I/O port registers that have to be set/cleared
- * to configure the pins for SCC2 use.
- */
-#define        PROFF_ENET      PROFF_SCC2
-#define        CPM_CR_ENET     CPM_CR_CH_SCC2
-#define        SCC_ENET        1
-#define PA_ENET_RXD    ((ushort)0x0004)        /* PA 13 */
-#define PA_ENET_TXD    ((ushort)0x0008)        /* PA 12 */
-#define PA_ENET_RCLK   ((ushort)0x0200)        /* PA  6 */
-#define PA_ENET_TCLK   ((ushort)0x0800)        /* PA  4 */
-
-#define PB_ENET_PDN    ((ushort)0x4000)        /* PB 17 */
-#define PB_ENET_TENA   ((ushort)0x2000)        /* PB 18 */
-
-#define PC_ENET_CLSN   ((ushort)0x0040)        /* PC  9 */
-#define PC_ENET_RENA   ((ushort)0x0080)        /* PC  8 */
-
-/* Control bits in the SICR to route TCLK (CLK3) and RCLK (CLK1) to
- * SCC2.  Also, make sure GR2 (bit 16) and SC2 (bit 17) are zero.
- */
-#define SICR_ENET_MASK ((uint)0x0000ff00)
-#define SICR_ENET_CLKRT        ((uint)0x00002f00)
-
-#endif /* CONFIG_NETVIA */
+#endif /* CONFIG_TQM855L/M, TQM860L/M, TQM862L/M */
 
 /*********************************************************************/
 
@@ -1579,35 +803,36 @@ typedef struct hdlc_pram_s {
  * priority and SCC1 == SCCa, etc...).
  */
 #define CPMVEC_NR              32
-#define        CPMVEC_PIO_PC15         ((ushort)0x1f)
-#define        CPMVEC_SCC1             ((ushort)0x1e)
-#define        CPMVEC_SCC2             ((ushort)0x1d)
-#define        CPMVEC_SCC3             ((ushort)0x1c)
-#define        CPMVEC_SCC4             ((ushort)0x1b)
-#define        CPMVEC_PIO_PC14         ((ushort)0x1a)
-#define        CPMVEC_TIMER1           ((ushort)0x19)
-#define        CPMVEC_PIO_PC13         ((ushort)0x18)
-#define        CPMVEC_PIO_PC12         ((ushort)0x17)
-#define        CPMVEC_SDMA_CB_ERR      ((ushort)0x16)
-#define CPMVEC_IDMA1           ((ushort)0x15)
-#define CPMVEC_IDMA2           ((ushort)0x14)
-#define CPMVEC_TIMER2          ((ushort)0x12)
-#define CPMVEC_RISCTIMER       ((ushort)0x11)
-#define CPMVEC_I2C             ((ushort)0x10)
-#define        CPMVEC_PIO_PC11         ((ushort)0x0f)
-#define        CPMVEC_PIO_PC10         ((ushort)0x0e)
-#define CPMVEC_TIMER3          ((ushort)0x0c)
-#define        CPMVEC_PIO_PC9          ((ushort)0x0b)
-#define        CPMVEC_PIO_PC8          ((ushort)0x0a)
-#define        CPMVEC_PIO_PC7          ((ushort)0x09)
-#define CPMVEC_TIMER4          ((ushort)0x07)
-#define        CPMVEC_PIO_PC6          ((ushort)0x06)
-#define        CPMVEC_SPI              ((ushort)0x05)
-#define        CPMVEC_SMC1             ((ushort)0x04)
-#define        CPMVEC_SMC2             ((ushort)0x03)
-#define        CPMVEC_PIO_PC5          ((ushort)0x02)
-#define        CPMVEC_PIO_PC4          ((ushort)0x01)
-#define        CPMVEC_ERROR            ((ushort)0x00)
+#define CPMVEC_OFFSET           0x00010000
+#define CPMVEC_PIO_PC15                ((ushort)0x1f | CPMVEC_OFFSET)
+#define CPMVEC_SCC1            ((ushort)0x1e | CPMVEC_OFFSET)
+#define CPMVEC_SCC2            ((ushort)0x1d | CPMVEC_OFFSET)
+#define CPMVEC_SCC3            ((ushort)0x1c | CPMVEC_OFFSET)
+#define CPMVEC_SCC4            ((ushort)0x1b | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC14                ((ushort)0x1a | CPMVEC_OFFSET)
+#define CPMVEC_TIMER1          ((ushort)0x19 | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC13                ((ushort)0x18 | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC12                ((ushort)0x17 | CPMVEC_OFFSET)
+#define CPMVEC_SDMA_CB_ERR     ((ushort)0x16 | CPMVEC_OFFSET)
+#define CPMVEC_IDMA1           ((ushort)0x15 | CPMVEC_OFFSET)
+#define CPMVEC_IDMA2           ((ushort)0x14 | CPMVEC_OFFSET)
+#define CPMVEC_TIMER2          ((ushort)0x12 | CPMVEC_OFFSET)
+#define CPMVEC_RISCTIMER       ((ushort)0x11 | CPMVEC_OFFSET)
+#define CPMVEC_I2C             ((ushort)0x10 | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC11                ((ushort)0x0f | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC10                ((ushort)0x0e | CPMVEC_OFFSET)
+#define CPMVEC_TIMER3          ((ushort)0x0c | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC9         ((ushort)0x0b | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC8         ((ushort)0x0a | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC7         ((ushort)0x09 | CPMVEC_OFFSET)
+#define CPMVEC_TIMER4          ((ushort)0x07 | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC6         ((ushort)0x06 | CPMVEC_OFFSET)
+#define CPMVEC_SPI             ((ushort)0x05 | CPMVEC_OFFSET)
+#define CPMVEC_SMC1            ((ushort)0x04 | CPMVEC_OFFSET)
+#define CPMVEC_SMC2            ((ushort)0x03 | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC5         ((ushort)0x02 | CPMVEC_OFFSET)
+#define CPMVEC_PIO_PC4         ((ushort)0x01 | CPMVEC_OFFSET)
+#define CPMVEC_ERROR           ((ushort)0x00 | CPMVEC_OFFSET)
 
 extern void irq_install_handler(int vec, void (*handler)(void *), void *dev_id);