Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Nov 2015 22:56:23 +0000 (14:56 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Nov 2015 22:56:23 +0000 (14:56 -0800)
Pull ARM SoC platform updates from Olof Johansson:
 "New and/or improved SoC support for this release:

  Marvell Berlin:
     - Enable standard DT-based cpufreq
     - Add CPU hotplug support

  Freescale:
     - Ethernet init for i.MX7D
     - Suspend/resume support for i.MX6UL

  Allwinner:
     - Support for R8 chipset (used on NTC's $9 C.H.I.P board)

  Mediatek:
     - SMP support for some platforms

  Uniphier:
     - L2 support
     - Cleaned up SMP support, etc.

  plus a handful of other patches around above functionality, and a few
  other smaller changes"

* tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
  ARM: uniphier: rework SMP operations to use trampoline code
  ARM: uniphier: add outer cache support
  Documentation: EXYNOS: Update bootloader interface on exynos542x
  ARM: mvebu: add broken-idle option
  ARM: orion5x: use mac_pton() helper
  ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned
  ARM: sunxi: Add R8 support
  ARM: digicolor: select pinctrl/gpio driver
  arm: berlin: add CPU hotplug support
  arm: berlin: use non-self-cleared reset register to reset cpu
  ARM: mediatek: add smp bringup code
  ARM: mediatek: enable gpt6 on boot up to make arch timer working
  soc: mediatek: Fix random hang up issue while kernel init
  soc: ti: qmss: make acc queue support optional in the driver
  soc: ti: add firmware file name as part of the driver
  Documentation: dt: soc: Add description for knav qmss driver
  ARM: S3C64XX: Use PWM lookup table for mach-smartq
  ARM: S3C64XX: Use PWM lookup table for mach-hmt
  ARM: S3C64XX: Use PWM lookup table for mach-crag6410
  ARM: S3C64XX: Use PWM lookup table for smdk6410
  ...

14 files changed:
1  2 
MAINTAINERS
arch/arm/Kconfig.debug
arch/arm/mach-bcm/Kconfig
arch/arm/mach-mediatek/mediatek.c
arch/arm/mach-mvebu/pmsu.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-smartq.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-shmobile/pm-rmobile.c
arch/arm/mach-sunxi/sunxi.c
arch/arm/mm/Kconfig
drivers/clk/shmobile/clk-mstp.c
drivers/soc/ti/knav_qmss_acc.c
include/linux/platform_data/atmel.h

diff --cc MAINTAINERS
index f68d84051616287386f4935ea9e4a93af9fa8236,5e08f021a0002667ab64a6c74588b15700d38bf0..952853712c5750082bfedc67d8edd00d35fddf56
@@@ -1630,8 -1606,9 +1630,10 @@@ M:     Masahiro Yamada <yamada.masahiro@soc
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/boot/dts/uniphier*
+ F:    arch/arm/include/asm/hardware/cache-uniphier.h
  F:    arch/arm/mach-uniphier/
+ F:    arch/arm/mm/cache-uniphier.c
 +F:    drivers/i2c/busses/i2c-uniphier*
  F:    drivers/pinctrl/uniphier/
  F:    drivers/tty/serial/8250/8250_uniphier.c
  N:    uniphier
Simple merge
Simple merge
index a9549005097e035271ca34fae7a6a71caffdf956,19dc738c1abc5ab340d640c59a0ecccaa2f88aa5..d019a080a559a467acd503c94c0f70ec7c0050af
   */
  #include <linux/init.h>
  #include <asm/mach/arch.h>
 -      clocksource_of_init();
+ #include <linux/of.h>
+ #include <linux/clk-provider.h>
+ #include <linux/clocksource.h>
+ #define GPT6_CON_MT65xx 0x10008060
+ #define GPT_ENABLE      0x31
+ static void __init mediatek_timer_init(void)
+ {
+       void __iomem *gpt_base;
+       if (of_machine_is_compatible("mediatek,mt6589") ||
+           of_machine_is_compatible("mediatek,mt8135") ||
+           of_machine_is_compatible("mediatek,mt8127")) {
+               /* turn on GPT6 which ungates arch timer clocks */
+               gpt_base = ioremap(GPT6_CON_MT65xx, 0x04);
+               /* enable clock and set to free-run */
+               writel(GPT_ENABLE, gpt_base);
+               iounmap(gpt_base);
+       }
+       of_clk_init(NULL);
++      clocksource_probe();
+ };
  
  static const char * const mediatek_board_dt_compat[] = {
        "mediatek,mt6589",
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 91b16adab0cd2bf347e1d2fc89a9a149458d94e2,4d67a5e82c8311ee39508b817a78c307f22d1567..3c8825b67298fafe60f22c803206f9f0789fc8f7
@@@ -9,16 -9,23 +9,8 @@@
  
  #include <linux/mtd/nand.h>
  #include <linux/mtd/partitions.h>
- #include <linux/device.h>
- #include <linux/i2c.h>
- #include <linux/leds.h>
- #include <linux/spi/spi.h>
- #include <linux/usb/atmel_usba_udc.h>
- #include <linux/atmel-mci.h>
- #include <sound/atmel-ac97c.h>
  #include <linux/serial.h>
- #include <linux/platform_data/macb.h>
  
 -/*
 - * at91: 6 USARTs and one DBGU port (SAM9260)
 - * avr32: 4
 - */
 -#define ATMEL_MAX_UART        7
 -
 - /* USB Device */
 -struct at91_udc_data {
 -      int     vbus_pin;               /* high == host powering us */
 -      u8      vbus_active_low;        /* vbus polarity */
 -      u8      vbus_polled;            /* Use polling, not interrupt */
 -      int     pullup_pin;             /* active == D+ pulled up */
 -      u8      pullup_active_low;      /* true == pullup_pin is active low */
 -};
 -
   /* Compact Flash */
  struct at91_cf_data {
        int     irq_pin;                /* I/O IRQ */