config TARGET_MPC8541CDS
        bool "Support MPC8541CDS"
+       select ARCH_MPC8541
 
 config TARGET_MPC8544DS
        bool "Support MPC8544DS"
 config ARCH_MPC8540
        bool
 
+config ARCH_MPC8541
+       bool
+
 config ARCH_MPC8544
        bool
 
 
 int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 /* Everything after the first generation of PQ3 parts has RSTCR */
-#if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_MPC8541) || \
+#if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_ARCH_MPC8541) || \
     defined(CONFIG_MPC8555) || defined(CONFIG_MPC8560)
        unsigned long val, msr;
 
 
                 * for four times the clock divider values.
                 */
                lcrr_div *= 4;
-#elif !defined(CONFIG_ARCH_MPC8540) && !defined(CONFIG_MPC8541) && \
+#elif !defined(CONFIG_ARCH_MPC8540) && !defined(CONFIG_ARCH_MPC8541) && \
     !defined(CONFIG_MPC8555) && !defined(CONFIG_MPC8560)
                /*
                 * Yes, the entire PQ38 family use the same
         * for that SOC. This information is taken from application note
         * AN2919.
         */
-#if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_MPC8541) || \
+#if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_ARCH_MPC8541) || \
        defined(CONFIG_MPC8560) || defined(CONFIG_MPC8555) || \
        defined(CONFIG_P1022)
        gd->arch.i2c1_clk = sys_info.freq_systembus;
 
 #define CONFIG_SYS_FSL_DDRC_GEN1
 #define CONFIG_SYS_CCSRBAR_DEFAULT     0xff700000
 
-#elif defined(CONFIG_MPC8541)
+#elif defined(CONFIG_ARCH_MPC8541)
 #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_MPC8541) || defined(CONFIG_MPC8555)
+#if defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_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_MPC8541) || defined (CONFIG_MPC8555) || \
-    defined(CONFIG_MPC8560)
+       defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555) || \
+       defined(CONFIG_MPC8560)
 #define LCRR_CLKDIV_2                  0x00000002
 #define LCRR_CLKDIV_4                  0x00000004
 #define LCRR_CLKDIV_8                  0x00000008
 
 } ccsr_i2c_t;
 
 #if defined(CONFIG_ARCH_MPC8540) || \
-       defined(CONFIG_MPC8541) || \
+       defined(CONFIG_ARCH_MPC8541) || \
        defined(CONFIG_ARCH_MPC8548) || \
        defined(CONFIG_MPC8555)
 /* DUART Registers */
 
        unsigned int clk_adjust;        /* Clock adjust */
        unsigned int ss_en = 0;         /* Source synchronous enable */
 
-#if defined(CONFIG_MPC8541) || defined(CONFIG_MPC8555)
+#if defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_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_MPC8541)
+#if defined(CONFIG_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_MPC8541) || defined(CONFIG_MPC8555)
+               defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_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_MPC8541         1       /* MPC8541 specific */
 #define CONFIG_MPC8541CDS      1       /* MPC8541CDS board specific */
 
 #define        CONFIG_SYS_TEXT_BASE    0xfff80000
 
 #endif /* !CONFIG_DM_KEYBOARD */
 
 #if defined(CONFIG_MPC5xxx) || defined(CONFIG_ARCH_MPC8540) || \
-               defined(CONFIG_MPC8541) || defined(CONFIG_MPC8555)
+               defined(CONFIG_ARCH_MPC8541) || defined(CONFIG_MPC8555)
 int ps2ser_check(void);
 #endif
 
 
 CONFIG_MPC83XX_GPIO_1_INIT_VALUE
 CONFIG_MPC83XX_PCI2
 CONFIG_MPC850
-CONFIG_MPC8541
 CONFIG_MPC8541CDS
 CONFIG_MPC855
 CONFIG_MPC8555