Merge branch 'imx/devel' into next/dt
Arnd Bergmann [Tue, 1 Nov 2011 16:12:22 +0000 (17:12 +0100)]
The board changes in the imx/devel branch conflict with other changes in
the device imx/dt branch.

Conflicts:
arch/arm/mach-mx5/board-mx53_loco.c
arch/arm/mach-mx5/board-mx53_smd.c
arch/arm/plat-mxc/include/mach/common.h
arch/arm/plat-mxc/include/mach/memory.h

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

42 files changed:
1  2 
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-imx/mach-armadillo5x0.c
arch/arm/mach-imx/mach-cpuimx27.c
arch/arm/mach-imx/mach-cpuimx35.c
arch/arm/mach-imx/mach-eukrea_cpuimx25.c
arch/arm/mach-imx/mach-imx27_visstrim_m10.c
arch/arm/mach-imx/mach-imx27ipcam.c
arch/arm/mach-imx/mach-imx27lite.c
arch/arm/mach-imx/mach-kzm_arm11_01.c
arch/arm/mach-imx/mach-mx1ads.c
arch/arm/mach-imx/mach-mx21ads.c
arch/arm/mach-imx/mach-mx25_3ds.c
arch/arm/mach-imx/mach-mx27_3ds.c
arch/arm/mach-imx/mach-mx27ads.c
arch/arm/mach-imx/mach-mx31_3ds.c
arch/arm/mach-imx/mach-mx31ads.c
arch/arm/mach-imx/mach-mx31lilly.c
arch/arm/mach-imx/mach-mx31lite.c
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-imx/mach-mx35_3ds.c
arch/arm/mach-imx/mach-mxt_td60.c
arch/arm/mach-imx/mach-pca100.c
arch/arm/mach-imx/mach-pcm037.c
arch/arm/mach-imx/mach-pcm038.c
arch/arm/mach-imx/mach-pcm043.c
arch/arm/mach-imx/mach-qong.c
arch/arm/mach-imx/mach-scb9328.c
arch/arm/mach-mx5/Kconfig
arch/arm/mach-mx5/Makefile
arch/arm/mach-mx5/board-cpuimx51.c
arch/arm/mach-mx5/board-cpuimx51sd.c
arch/arm/mach-mx5/board-mx51_3ds.c
arch/arm/mach-mx5/board-mx51_babbage.c
arch/arm/mach-mx5/board-mx51_efikamx.c
arch/arm/mach-mx5/board-mx51_efikasb.c
arch/arm/mach-mx5/board-mx53_ard.c
arch/arm/mach-mx5/board-mx53_evk.c
arch/arm/mach-mx5/board-mx53_loco.c
arch/arm/mach-mx5/board-mx53_smd.c
arch/arm/mach-mx5/clock-mx51-mx53.c
arch/arm/plat-mxc/include/mach/common.h

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -57,20 -54,8 +54,17 @@@ config MACH_MX50_RD
          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
@@@ -176,23 -169,8 +178,20 @@@ config MACH_MX51_EFIKAS
          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
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -257,17 -263,19 +263,24 @@@ static const struct gpio_led_platform_d
        .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);
@@@ -111,12 -112,19 +112,25 @@@ static const struct imxi2c_platform_dat
        .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();
Simple merge
@@@ -64,20 -64,37 +64,44 @@@ extern int mx51_clocks_init(unsigned lo
                        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