config TARGET_MPC8540ADS
        bool "Support MPC8540ADS"
+       select ARCH_MPC8540
 
 config TARGET_MPC8541CDS
        bool "Support MPC8541CDS"
 config ARCH_MPC8536
        bool
 
+config ARCH_MPC8540
+       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_MPC8540) || defined(CONFIG_MPC8541) || \
+#if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_MPC8541) || \
     defined(CONFIG_MPC8555) || defined(CONFIG_MPC8560)
        unsigned long val, msr;
 
 
                 * for four times the clock divider values.
                 */
                lcrr_div *= 4;
-#elif !defined(CONFIG_MPC8540) && !defined(CONFIG_MPC8541) && \
+#elif !defined(CONFIG_ARCH_MPC8540) && !defined(CONFIG_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_MPC8540) || defined(CONFIG_MPC8541) || \
+#if defined(CONFIG_ARCH_MPC8540) || defined(CONFIG_MPC8541) || \
        defined(CONFIG_MPC8560) || defined(CONFIG_MPC8555) || \
        defined(CONFIG_P1022)
        gd->arch.i2c1_clk = sys_info.freq_systembus;
 
 #define CONFIG_SYS_FSL_ERRATUM_A004508
 #define CONFIG_SYS_FSL_ERRATUM_A005125
 
-#elif defined(CONFIG_MPC8540)
+#elif defined(CONFIG_ARCH_MPC8540)
 #define CONFIG_MAX_CPUS                        1
 #define CONFIG_SYS_FSL_NUM_LAWS                8
 #define CONFIG_SYS_FSL_DDRC_GEN1
 
  */
 #define LCRR_CLKDIV                    0x0000001F
 #define LCRR_CLKDIV_SHIFT              0
-#if defined(CONFIG_MPC83xx) || defined (CONFIG_MPC8540) || \
+#if defined(CONFIG_MPC83xx) || defined(CONFIG_ARCH_MPC8540) || \
     defined(CONFIG_MPC8541) || defined (CONFIG_MPC8555) || \
     defined(CONFIG_MPC8560)
 #define LCRR_CLKDIV_2                  0x00000002
 
        u8      res[4096 - 1 * sizeof(struct fsl_i2c_base)];
 } ccsr_i2c_t;
 
-#if defined(CONFIG_MPC8540) || \
+#if defined(CONFIG_ARCH_MPC8540) || \
        defined(CONFIG_MPC8541) || \
        defined(CONFIG_ARCH_MPC8548) || \
        defined(CONFIG_MPC8555)
 
     CONFIG_BOOKE           BOOKE(e.g. Motorola MPC85xx, AMCC 440, etc)
     CONFIG_E500                    BOOKE e500 family(Motorola)
     CONFIG_MPC85xx         MPC8540,MPC8560 and their derivatives
-    CONFIG_MPC8540         MPC8540 specific
+    CONFIG_ARCH_MPC8540            MPC8540 specific
     CONFIG_MPC8540ADS      MPC8540ADS board specific
     CONFIG_MPC8560ADS      MPC8560ADS board specific
     CONFIG_TSEC_ENET       Use on-chip 10/100/1000 ethernet for networking
 
 
 static int kbd_read_keys(struct input_config *config)
 {
-#if defined(CONFIG_MPC5xxx) || defined(CONFIG_MPC8540) || \
+#if defined(CONFIG_MPC5xxx) || defined(CONFIG_ARCH_MPC8540) || \
                defined(CONFIG_MPC8541) || defined(CONFIG_MPC8555)
        /* no ISR is used, so received chars must be polled */
        ps2ser_check();
 
 /* High Level Configuration Options */
 #define CONFIG_BOOKE           1       /* BOOKE */
 #define CONFIG_E500            1       /* BOOKE e500 family */
-#define CONFIG_MPC8540         1       /* MPC8540 specific */
 #define CONFIG_MPC8540ADS      1       /* MPC8540ADS board specific */
 
 /*
 
 extern void pckbd_leds(unsigned char leds);
 #endif /* !CONFIG_DM_KEYBOARD */
 
-#if defined(CONFIG_MPC5xxx) || defined(CONFIG_MPC8540) || \
+#if defined(CONFIG_MPC5xxx) || defined(CONFIG_ARCH_MPC8540) || \
                defined(CONFIG_MPC8541) || defined(CONFIG_MPC8555)
 int ps2ser_check(void);
 #endif
 
 CONFIG_MPC83XX_GPIO_1_INIT_VALUE
 CONFIG_MPC83XX_PCI2
 CONFIG_MPC850
-CONFIG_MPC8540
 CONFIG_MPC8540ADS
 CONFIG_MPC8541
 CONFIG_MPC8541CDS