]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'arm-soc/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Tue, 20 Dec 2011 23:14:09 +0000 (10:14 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 20 Dec 2011 23:14:09 +0000 (10:14 +1100)
Conflicts:
arch/arm/mach-at91/at91cap9.c
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9261.c
arch/arm/mach-at91/at91sam9263.c
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9rl.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-mxs/include/mach/common.h
arch/arm/mach-omap2/board-ti8168evm.c

89 files changed:
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/mach-at91/at91cap9.c
arch/arm/mach-at91/at91rm9200.c
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9261.c
arch/arm/mach-at91/at91sam9263.c
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9rl.c
arch/arm/mach-at91/generic.h
arch/arm/mach-davinci/dm644x.c
arch/arm/mach-dove/common.c
arch/arm/mach-dove/common.h
arch/arm/mach-imx/imx51-dt.c
arch/arm/mach-imx/imx53-dt.c
arch/arm/mach-imx/mach-cpuimx35.c
arch/arm/mach-imx/mach-cpuimx51.c
arch/arm/mach-imx/mach-cpuimx51sd.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-imx/mach-mx50_rdp.c
arch/arm/mach-imx/mach-mx51_3ds.c
arch/arm/mach-imx/mach-mx51_babbage.c
arch/arm/mach-imx/mach-mx51_efikamx.c
arch/arm/mach-imx/mach-mx51_efikasb.c
arch/arm/mach-imx/mach-mx53_ard.c
arch/arm/mach-imx/mach-mx53_evk.c
arch/arm/mach-imx/mach-mx53_loco.c
arch/arm/mach-imx/mach-mx53_smd.c
arch/arm/mach-kirkwood/common.c
arch/arm/mach-kirkwood/common.h
arch/arm/mach-mmp/aspenite.c
arch/arm/mach-mmp/avengers_lite.c
arch/arm/mach-mmp/brownstone.c
arch/arm/mach-mmp/flint.c
arch/arm/mach-mmp/gplugd.c
arch/arm/mach-mmp/include/mach/pxa168.h
arch/arm/mach-mmp/pxa168.c
arch/arm/mach-mmp/tavorevb.c
arch/arm/mach-mmp/teton_bga.c
arch/arm/mach-mmp/ttc_dkb.c
arch/arm/mach-mv78xx0/common.c
arch/arm/mach-mv78xx0/common.h
arch/arm/mach-mxs/include/mach/common.h
arch/arm/mach-mxs/mach-mx28evk.c
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-am3517evm.c
arch/arm/mach-omap2/board-cm-t35.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-ti8168evm.c
arch/arm/mach-omap2/common.h
arch/arm/mach-orion5x/common.c
arch/arm/mach-orion5x/common.h
arch/arm/mach-pxa/balloon3.c
arch/arm/mach-pxa/capc7117.c
arch/arm/mach-pxa/cm-x2xx.c
arch/arm/mach-pxa/cm-x300.c
arch/arm/mach-pxa/colibri-pxa270.c
arch/arm/mach-pxa/colibri-pxa300.c
arch/arm/mach-pxa/colibri-pxa320.c
arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/em-x270.c
arch/arm/mach-pxa/eseries.c
arch/arm/mach-pxa/hx4700.c
arch/arm/mach-pxa/icontrol.c
arch/arm/mach-pxa/idp.c
arch/arm/mach-pxa/littleton.c
arch/arm/mach-pxa/lpd270.c
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/magician.c
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/poodle.c
arch/arm/mach-pxa/raumfeld.c
arch/arm/mach-pxa/saar.c
arch/arm/mach-pxa/saarb.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-pxa/stargate2.c
arch/arm/mach-pxa/tavorevb.c
arch/arm/mach-pxa/tavorevb3.c
arch/arm/mach-pxa/tosa.c
arch/arm/mach-pxa/viper.c
arch/arm/mach-pxa/vpac270.c
arch/arm/mach-pxa/z2.c
arch/arm/mach-pxa/zeus.c
arch/arm/mach-pxa/zylonite.c
arch/arm/mach-u300/u300.c

diff --cc MAINTAINERS
Simple merge
Simple merge
index 29373397d2df83c6766a5ee87c098ec55c3892df,506a26c3fff63eeae2673226133489642f64ede9..edb879ac04c8e30c3d2b814f24497ae86075e7be
@@@ -333,10 -328,16 +328,16 @@@ static void __init at91cap9_map_io(void
        at91_init_sram(0, AT91CAP9_SRAM_BASE, AT91CAP9_SRAM_SIZE);
  }
  
+ static void __init at91cap9_ioremap_registers(void)
+ {
+       at91_ioremap_shdwc(AT91CAP9_BASE_SHDWC);
+       at91sam926x_ioremap_pit(AT91CAP9_BASE_PIT);
+       at91sam9_ioremap_smc(0, AT91CAP9_BASE_SMC);
+ }
  static void __init at91cap9_initialize(void)
  {
 -      at91_arch_reset = at91cap9_reset;
 +      arm_pm_restart = at91cap9_restart;
-       pm_power_off = at91cap9_poweroff;
        at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
  
        /* Register GPIO subsystem */
index 430a9fdc3dbf5e04662802c17f6cba825d1a16da,9163d7d5f76e5ff2e7a311994b9da52254ce7961..99c3174e24a2262d1ff4e5d2cef8a7e54ecef33b
@@@ -307,9 -308,13 +308,13 @@@ static void __init at91rm9200_map_io(vo
        iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc));
  }
  
+ static void __init at91rm9200_ioremap_registers(void)
+ {
+ }
  static void __init at91rm9200_initialize(void)
  {
 -      at91_arch_reset = at91rm9200_reset;
 +      arm_pm_restart = at91rm9200_restart;
        at91_extern_irq = (1 << AT91RM9200_ID_IRQ0) | (1 << AT91RM9200_ID_IRQ1)
                        | (1 << AT91RM9200_ID_IRQ2) | (1 << AT91RM9200_ID_IRQ3)
                        | (1 << AT91RM9200_ID_IRQ4) | (1 << AT91RM9200_ID_IRQ5)
index e76cd49ebc9e8252fc6502c6b071cd4d5a03177c,3a960d2740b6d111ca4ce341d81fb6cd433d1abe..5e46e4a96430d90e793343115cbce42001e5cecc
@@@ -325,10 -320,16 +320,16 @@@ static void __init at91sam9260_map_io(v
        }
  }
  
+ static void __init at91sam9260_ioremap_registers(void)
+ {
+       at91_ioremap_shdwc(AT91SAM9260_BASE_SHDWC);
+       at91sam926x_ioremap_pit(AT91SAM9260_BASE_PIT);
+       at91sam9_ioremap_smc(0, AT91SAM9260_BASE_SMC);
+ }
  static void __init at91sam9260_initialize(void)
  {
 -      at91_arch_reset = at91sam9_alt_reset;
 +      arm_pm_restart = at91sam9_alt_restart;
-       pm_power_off = at91sam9260_poweroff;
        at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)
                        | (1 << AT91SAM9260_ID_IRQ2);
  
index 19ac7c0729a0bc2d38b1ac9a2dbce81c299f5604,a0538c5c252029f3c30392eeab9e9608740f767b..b85b9ea6017071252a670fdb6e22cb222336055d
@@@ -285,10 -278,16 +278,16 @@@ static void __init at91sam9261_map_io(v
                at91_init_sram(0, AT91SAM9261_SRAM_BASE, AT91SAM9261_SRAM_SIZE);
  }
  
+ static void __init at91sam9261_ioremap_registers(void)
+ {
+       at91_ioremap_shdwc(AT91SAM9261_BASE_SHDWC);
+       at91sam926x_ioremap_pit(AT91SAM9261_BASE_PIT);
+       at91sam9_ioremap_smc(0, AT91SAM9261_BASE_SMC);
+ }
  static void __init at91sam9261_initialize(void)
  {
 -      at91_arch_reset = at91sam9_alt_reset;
 +      arm_pm_restart = at91sam9_alt_restart;
-       pm_power_off = at91sam9261_poweroff;
        at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1)
                        | (1 << AT91SAM9261_ID_IRQ2);
  
index 50d016310031aefd557da1323d82549edc9db595,5ffbbb024c1e385d2ed966abbb3fc4700d2aeb22..79e3669b1117cbdf7ae18fd685647625766da513
@@@ -303,10 -298,17 +298,17 @@@ static void __init at91sam9263_map_io(v
        at91_init_sram(1, AT91SAM9263_SRAM1_BASE, AT91SAM9263_SRAM1_SIZE);
  }
  
+ static void __init at91sam9263_ioremap_registers(void)
+ {
+       at91_ioremap_shdwc(AT91SAM9263_BASE_SHDWC);
+       at91sam926x_ioremap_pit(AT91SAM9263_BASE_PIT);
+       at91sam9_ioremap_smc(0, AT91SAM9263_BASE_SMC0);
+       at91sam9_ioremap_smc(1, AT91SAM9263_BASE_SMC1);
+ }
  static void __init at91sam9263_initialize(void)
  {
 -      at91_arch_reset = at91sam9_alt_reset;
 +      arm_pm_restart = at91sam9_alt_restart;
-       pm_power_off = at91sam9263_poweroff;
        at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1);
  
        /* Register GPIO subsystem */
index ff21f7a60c63dfa0e32bbfb3e999783109925e9f,f61eb64e6b3992d1dac8204873374858c0fcba7c..7032dd32cdf0fbc207dc265958e70faeb1e32143
@@@ -338,10 -333,16 +333,16 @@@ static void __init at91sam9g45_map_io(v
        init_consistent_dma_size(SZ_4M);
  }
  
+ static void __init at91sam9g45_ioremap_registers(void)
+ {
+       at91_ioremap_shdwc(AT91SAM9G45_BASE_SHDWC);
+       at91sam926x_ioremap_pit(AT91SAM9G45_BASE_PIT);
+       at91sam9_ioremap_smc(0, AT91SAM9G45_BASE_SMC);
+ }
  static void __init at91sam9g45_initialize(void)
  {
 -      at91_arch_reset = at91sam9g45_reset;
 +      arm_pm_restart = at91sam9g45_restart;
-       pm_power_off = at91sam9g45_poweroff;
        at91_extern_irq = (1 << AT91SAM9G45_ID_IRQ0);
  
        /* Register GPIO subsystem */
index 61cbb46f5b0eed6b8bd5a8269efa657696b1e3c2,96247f68b9d242745645c8a6b1acde694f1078b5..d6bcb1da11dfbc004d0c59890d60fef8d3dde27f
@@@ -290,10 -283,16 +283,16 @@@ static void __init at91sam9rl_map_io(vo
        at91_init_sram(0, AT91SAM9RL_SRAM_BASE, sram_size);
  }
  
+ static void __init at91sam9rl_ioremap_registers(void)
+ {
+       at91_ioremap_shdwc(AT91SAM9RL_BASE_SHDWC);
+       at91sam926x_ioremap_pit(AT91SAM9RL_BASE_PIT);
+       at91sam9_ioremap_smc(0, AT91SAM9RL_BASE_SMC);
+ }
  static void __init at91sam9rl_initialize(void)
  {
 -      at91_arch_reset = at91sam9_alt_reset;
 +      arm_pm_restart = at91sam9_alt_restart;
-       pm_power_off = at91sam9rl_poweroff;
        at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0);
  
        /* Register GPIO subsystem */
index 7f4503bc4cbb10f89da3b3bf025829ebaa9319b5,40309588f3600a0ce0c779e50b2fba4f1d3b788a..4866b8180d66610d17d6a0576424e19a751995a0
@@@ -57,8 -58,11 +58,11 @@@ extern void at91_irq_suspend(void)
  extern void at91_irq_resume(void);
  
  /* reset */
 -extern void at91sam9_alt_reset(void);
 +extern void at91sam9_alt_restart(char, const char *);
  
+ /* shutdown */
+ extern void at91_ioremap_shdwc(u32 base_addr);
   /* GPIO */
  #define AT91RM9200_PQFP               3       /* AT91RM9200 PQFP package has 3 banks */
  #define AT91RM9200_BGA                4       /* AT91RM9200 BGA package has 4 banks */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 05b49bb5d677d2a64501276d5ab76a5c586362ea,bee633496f7be731bb356bffbba27ebbc4479908..c25728106917be3bdec5c8a5e687adc83e84a1ca
  #include <linux/irq.h>
  #include <linux/irqdomain.h>
  #include <linux/of.h>
 +#include <linux/of_address.h>
  #include <linux/of_irq.h>
  #include <linux/of_platform.h>
+ #include <linux/phy.h>
+ #include <linux/micrel_phy.h>
  #include <asm/hardware/cache-l2x0.h>
  #include <asm/hardware/gic.h>
  #include <asm/mach/arch.h>
  #include <mach/common.h>
  #include <mach/hardware.h>
  
 +void imx6q_restart(char mode, const char *cmd)
 +{
 +      struct device_node *np;
 +      void __iomem *wdog_base;
 +
 +      np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-wdt");
 +      wdog_base = of_iomap(np, 0);
 +      if (!wdog_base)
 +              goto soft;
 +
 +      imx_src_prepare_restart();
 +
 +      /* enable wdog */
 +      writew_relaxed(1 << 2, wdog_base);
 +      /* write twice to ensure the request will not get ignored */
 +      writew_relaxed(1 << 2, wdog_base);
 +
 +      /* wait for reset to assert ... */
 +      mdelay(500);
 +
 +      pr_err("Watchdog reset failed to assert reset\n");
 +
 +      /* delay to allow the serial port to show the message */
 +      mdelay(50);
 +
 +soft:
 +      /* we'll take a jump through zero as a poor second */
 +      soft_restart(0);
 +}
 +
+ /* For imx6q sabrelite board: set KSZ9021RN RGMII pad skew */
+ static int ksz9021rn_phy_fixup(struct phy_device *phydev)
+ {
+       /* min rx data delay */
+       phy_write(phydev, 0x0b, 0x8105);
+       phy_write(phydev, 0x0c, 0x0000);
+       /* max rx/tx clock delay, min rx/tx control delay */
+       phy_write(phydev, 0x0b, 0x8104);
+       phy_write(phydev, 0x0c, 0xf0f0);
+       phy_write(phydev, 0x0b, 0x104);
+       return 0;
+ }
  static void __init imx6q_init_machine(void)
  {
+       if (of_machine_is_compatible("fsl,imx6q-sabrelite"))
+               phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK,
+                                          ksz9021rn_phy_fixup);
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
  
        imx6q_pm_init();
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
index 1388485414c9f37174c575791d9aac6bc9ad79e4,3bbb94f4bbe12a430cebebce77bc3a608f300b68..e1237ab25862416f52de15a7812485d97f6a5f6c
@@@ -16,7 -16,7 +16,8 @@@ struct clk
  extern const u32 *mxs_get_ocotp(void);
  extern int mxs_reset_block(void __iomem *);
  extern void mxs_timer_init(struct clk *, int);
 +extern void mxs_restart(char, const char *);
+ extern int mxs_saif_clkmux_select(unsigned int clkmux);
  
  extern int mx23_register_gpios(void);
  extern int mx23_clocks_init(void);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 74713e3993e5f4b8d43bc3d20adf84a88d1944b8,5b6ad6e3ccb4989b72b2d14b387296e08e6d6707..ab9a7a9e9d643a8d7cb347d048ea43eb2dd1df5e
@@@ -43,10 -47,19 +47,21 @@@ static void __init ti81xx_evm_init(void
  MACHINE_START(TI8168EVM, "ti8168evm")
        /* Maintainer: Texas Instruments */
        .atag_offset    = 0x100,
-       .map_io         = ti8168_evm_map_io,
-       .init_early     = ti816x_init_early,
-       .init_irq       = ti816x_init_irq,
+       .map_io         = ti81xx_map_io,
+       .init_early     = ti81xx_init_early,
+       .init_irq       = ti81xx_init_irq,
+       .timer          = &omap3_timer,
+       .init_machine   = ti81xx_evm_init,
++      .restart        = omap_prcm_restart,
+ MACHINE_END
+ MACHINE_START(TI8148EVM, "ti8148evm")
+       /* Maintainer: Texas Instruments */
+       .atag_offset    = 0x100,
+       .map_io         = ti81xx_map_io,
+       .init_early     = ti81xx_init_early,
+       .init_irq       = ti81xx_init_irq,
        .timer          = &omap3_timer,
-       .init_machine   = ti8168_evm_init,
+       .init_machine   = ti81xx_evm_init,
 +      .restart        = omap_prcm_restart,
  MACHINE_END
index cda888a2e635189f5321218239193b8de6bb5001,90bd2ae8559638144fa6d1e569dc191aafe9c22a..febffde2ff109ed4682fe0e311f93ee23aee2cbd
@@@ -82,9 -92,8 +92,9 @@@ void omap35xx_init_early(void)
  void omap3630_init_early(void);
  void omap3_init_early(void);  /* Do not use this one */
  void am35xx_init_early(void);
- void ti816x_init_early(void);
+ void ti81xx_init_early(void);
  void omap4430_init_early(void);
 +void omap_prcm_restart(char, const char *);
  
  /*
   * IO bases for various OMAP processors
index 41127e80cc1e961369679e91dd8c1e87196baf98,79ef693d2c0337c7fde754d6bc9cb23b7013a22a..0e28bae20bd4dfe88d57de429f54631f89d298a8
  #include <linux/platform_device.h>
  #include <linux/dma-mapping.h>
  #include <linux/serial_8250.h>
- #include <linux/mbus.h>
  #include <linux/mv643xx_i2c.h>
  #include <linux/ata_platform.h>
 +#include <linux/delay.h>
  #include <net/dsa.h>
  #include <asm/page.h>
  #include <asm/setup.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
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge