config TARGET_MPC8555CDS
        bool "Support MPC8555CDS"
+       select ARCH_MPC8555
 
 config TARGET_MPC8560ADS
        bool "Support MPC8560ADS"
 config ARCH_MPC8548
        bool
 
+config ARCH_MPC8555
+       bool
+
 source "board/freescale/b4860qds/Kconfig"
 source "board/freescale/bsc9131rdb/Kconfig"
 source "board/freescale/bsc9132qds/Kconfig"
 
 {
 /* Everything after the first generation of PQ3 parts has RSTCR */
 #if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_ARCH_MPC8541) || \
-    defined(CONFIG_MPC8555) || defined(CONFIG_MPC8560)
+       defined(CONFIG_ARCH_MPC8555) || defined(CONFIG_MPC8560)
        unsigned long val, msr;
 
        /*
 
                 */
                lcrr_div *= 4;
 #elif !defined(CONFIG_ARCH_MPC8540) && !defined(CONFIG_ARCH_MPC8541) && \
-    !defined(CONFIG_MPC8555) && !defined(CONFIG_MPC8560)
+       !defined(CONFIG_ARCH_MPC8555) && !defined(CONFIG_MPC8560)
                /*
                 * Yes, the entire PQ38 family use the same
                 * bit-representation for twice the clock divider values.
         * AN2919.
         */
 #if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_ARCH_MPC8541) || \
-       defined(CONFIG_MPC8560) || defined(CONFIG_MPC8555) || \
+       defined(CONFIG_MPC8560) || defined(CONFIG_ARCH_MPC8555) || \
        defined(CONFIG_P1022)
        gd->arch.i2c1_clk = sys_info.freq_systembus;
 #elif defined(CONFIG_ARCH_MPC8544)
 
 #define CONFIG_SYS_FSL_ERRATUM_I2C_A004447
 #define CONFIG_SYS_FSL_A004447_SVR_REV 0x00
 
-#elif defined(CONFIG_MPC8555)
+#elif defined(CONFIG_ARCH_MPC8555)
 #define CONFIG_MAX_CPUS                        1
 #define CONFIG_SYS_FSL_NUM_LAWS                8
 #define CONFIG_SYS_FSL_DDRC_GEN1
 
  */
 #define CPM_DATAONLY_BASE      ((uint)128)
 #define CPM_DP_NOSPACE         ((uint)0x7FFFFFFF)
-#if defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555)
+#if defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_ARCH_MPC8555)
 #define CPM_FCC_SPECIAL_BASE   ((uint)0x00009000)
 #define CPM_DATAONLY_SIZE      ((uint)(8 * 1024) - CPM_DATAONLY_BASE)
 #else  /* MPC8540, MPC8560 */
 
 #define LCRR_CLKDIV                    0x0000001F
 #define LCRR_CLKDIV_SHIFT              0
 #if defined(CONFIG_MPC83xx) || defined(CONFIG_ARCH_MPC8540) || \
-       defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555) || \
+       defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_ARCH_MPC8555) || \
        defined(CONFIG_MPC8560)
 #define LCRR_CLKDIV_2                  0x00000002
 #define LCRR_CLKDIV_4                  0x00000004
 
 #if defined(CONFIG_ARCH_MPC8540) || \
        defined(CONFIG_ARCH_MPC8541) || \
        defined(CONFIG_ARCH_MPC8548) || \
-       defined(CONFIG_MPC8555)
+       defined(CONFIG_ARCH_MPC8555)
 /* DUART Registers */
 typedef struct ccsr_duart {
        u8      res1[1280];
 
        unsigned int clk_adjust;        /* Clock adjust */
        unsigned int ss_en = 0;         /* Source synchronous enable */
 
-#if defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555)
+#if defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_ARCH_MPC8555)
        /* Per FSL Application Note: AN2805 */
        ss_en = 1;
 #endif
 
        out_be32(&ddr->timing_cfg_2, regs->timing_cfg_2);
        out_be32(&ddr->sdram_mode, regs->ddr_sdram_mode);
        out_be32(&ddr->sdram_interval, regs->ddr_sdram_interval);
-#if defined(CONFIG_MPC8555) || defined(CONFIG_ARCH_MPC8541)
+#if defined(CONFIG_ARCH_MPC8555) || defined(CONFIG_ARCH_MPC8541)
        out_be32(&ddr->sdram_clk_cntl, regs->ddr_sdram_clk_cntl);
 #endif
 
 
 static int kbd_read_keys(struct input_config *config)
 {
 #if defined(CONFIG_MPC5xxx) || defined(CONFIG_ARCH_MPC8540) || \
-               defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555)
+               defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_ARCH_MPC8555)
        /* no ISR is used, so received chars must be polled */
        ps2ser_check();
 #endif
 
 #define CONFIG_BOOKE           1       /* BOOKE */
 #define CONFIG_E500            1       /* BOOKE e500 family */
 #define CONFIG_CPM2            1       /* has CPM2 */
-#define CONFIG_MPC8555         1       /* MPC8555 specific */
 #define CONFIG_MPC8555CDS      1       /* MPC8555CDS board specific */
 
 #define        CONFIG_SYS_TEXT_BASE    0xfff80000
 
 #endif /* !CONFIG_DM_KEYBOARD */
 
 #if defined(CONFIG_MPC5xxx) || defined(CONFIG_ARCH_MPC8540) || \
-               defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555)
+               defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_ARCH_MPC8555)
 int ps2ser_check(void);
 #endif
 
 
 CONFIG_MPC83XX_PCI2
 CONFIG_MPC850
 CONFIG_MPC855
-CONFIG_MPC8555
 CONFIG_MPC8555CDS
 CONFIG_MPC8560
 CONFIG_MPC8560ADS