Include support for MX50 reference design platform (RDP) board. This
          includes specific configurations for the board and its peripherals.
  
- endif # ARCH_MX50_SUPPORTED
- 
- if ARCH_MX51
  comment "i.MX51 machines:"
  
 +config MACH_IMX51_DT
 +      bool "Support i.MX51 platforms from device tree"
 +      select SOC_IMX51
 +      select USE_OF
 +      select MACH_MX51_BABBAGE
 +      help
 +        Include support for Freescale i.MX51 based platforms
 +        using the device tree for discovery
 +
  config MACH_MX51_BABBAGE
        bool "Support MX51 BABBAGE platforms"
        select SOC_IMX51
          Include support for Genesi Efika Smartbook. This includes specific
          configurations for the board and its peripherals.
  
- endif # ARCH_MX51
- 
- if ARCH_MX53_SUPPORTED
  comment "i.MX53 machines:"
  
 +config MACH_IMX53_DT
 +      bool "Support i.MX53 platforms from device tree"
 +      select SOC_IMX53
 +      select USE_OF
 +      select MACH_MX53_ARD
 +      select MACH_MX53_EVK
 +      select MACH_MX53_LOCO
 +      select MACH_MX53_SMD
 +      help
 +        Include support for Freescale i.MX53 based platforms
 +        using the device tree for discovery
 +
  config MACH_MX53_EVK
        bool "Support MX53 EVK platforms"
        select SOC_IMX53
 
        .num_leds       = ARRAY_SIZE(mx53loco_leds),
  };
  
 +void __init imx53_qsb_common_init(void)
 +{
 +      mxc_iomux_v3_setup_multiple_pads(mx53_loco_pads,
 +                                       ARRAY_SIZE(mx53_loco_pads));
 +}
 +
+ static struct i2c_board_info mx53loco_i2c_devices[] = {
+       {
+               I2C_BOARD_INFO("mma8450", 0x1C),
+       },
+ };
+ 
  static void __init mx53_loco_board_init(void)
  {
+       int ret;
        imx53_soc_init();
 +      imx53_qsb_common_init();
  
 -      mxc_iomux_v3_setup_multiple_pads(mx53_loco_pads,
 -                                      ARRAY_SIZE(mx53_loco_pads));
        imx53_add_imx_uart(0, NULL);
        mx53_loco_fec_reset();
        imx53_add_fec(&mx53_loco_fec_data);
 
        .bitrate = 100000,
  };
  
+ static inline void mx53_smd_ahci_pwr_on(void)
+ {
+       int ret;
+ 
+       /* Enable SATA PWR */
+       ret = gpio_request_one(MX53_SMD_SATA_PWR_EN,
+                       GPIOF_DIR_OUT | GPIOF_INIT_HIGH, "ahci-sata-pwr");
+       if (ret) {
+               pr_err("failed to enable SATA_PWR_EN: %d\n", ret);
+               return;
+       }
+ }
+ 
 +void __init imx53_smd_common_init(void)
 +{
 +      mxc_iomux_v3_setup_multiple_pads(mx53_smd_pads,
 +                                       ARRAY_SIZE(mx53_smd_pads));
 +}
 +
  static void __init mx53_smd_board_init(void)
  {
        imx53_soc_init();
 
                        unsigned long ckih1, unsigned long ckih2);
  extern int mx53_clocks_init(unsigned long ckil, unsigned long osc,
                        unsigned long ckih1, unsigned long ckih2);
 +extern int mx51_clocks_init_dt(void);
 +extern int mx53_clocks_init_dt(void);
  extern struct platform_device *mxc_register_gpio(char *name, int id,
        resource_size_t iobase, resource_size_t iosize, int irq, int irq_high);
- extern int mxc_register_device(struct platform_device *pdev, void *data);
  extern void mxc_set_cpu_type(unsigned int type);
  extern void mxc_arch_reset_init(void __iomem *);
  extern void mx51_efikamx_reset(void);
  extern int mx53_revision(void);
  extern int mx53_display_revision(void);
  
+ enum mxc_cpu_pwr_mode {
+       WAIT_CLOCKED,           /* wfi only */
+       WAIT_UNCLOCKED,         /* WAIT */
+       WAIT_UNCLOCKED_POWER_OFF,       /* WAIT + SRPG */
+       STOP_POWER_ON,          /* just STOP */
+       STOP_POWER_OFF,         /* STOP + SRPG */
+ };
+ 
+ extern void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode);
+ extern void (*imx_idle)(void);
+ extern void imx_print_silicon_rev(const char *cpu, int srev);
+ 
+ void avic_handle_irq(struct pt_regs *);
+ void tzic_handle_irq(struct pt_regs *);
+ 
+ #define imx1_handle_irq avic_handle_irq
+ #define imx21_handle_irq avic_handle_irq
+ #define imx25_handle_irq avic_handle_irq
+ #define imx27_handle_irq avic_handle_irq
+ #define imx31_handle_irq avic_handle_irq
+ #define imx35_handle_irq avic_handle_irq
+ #define imx50_handle_irq tzic_handle_irq
+ #define imx51_handle_irq tzic_handle_irq
+ #define imx53_handle_irq tzic_handle_irq
+ 
 +extern void imx51_babbage_common_init(void);
 +extern void imx53_ard_common_init(void);
 +extern void imx53_evk_common_init(void);
 +extern void imx53_qsb_common_init(void);
 +extern void imx53_smd_common_init(void);
  #endif