Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Oct 2014 21:37:16 +0000 (17:37 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Oct 2014 21:37:16 +0000 (17:37 -0400)
Pull ARM SoC driver updates from Arnd Bergmann:
 "These are changes for drivers that are intimately tied to some SoC and
  for some reason could not get merged through the respective subsystem
  maintainer tree.

  Most of the new code is for the Keystone Navigator driver, which is
  new base support that is going to be needed for their hardware
  accelerated network driver and other units.

  Most of the commits are for moving old code around from at91 and omap
  for things that are done in device drivers nowadays.

   - at91: move reset, poweroff, memory and clocksource code into
     drivers directories
   - socfpga: add edac driver (through arm-soc, as requested by Boris)
   - omap: move omap-intc code to drivers/irqchip
   - sunxi: added an RTC driver for sun6i
   - omap: mailbox driver related changes
   - keystone: support for the "Navigator" component
   - versatile: new reboot, led and soc drivers"

* tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
  bus: arm-ccn: Fix spurious warning message
  leds: add device tree bindings for register bit LEDs
  soc: add driver for the ARM RealView
  power: reset: driver for the Versatile syscon reboot
  leds: add a driver for syscon-based LEDs
  drivers/soc: ti: fix build break with modules
  MAINTAINERS: Add Keystone Multicore Navigator drivers entry
  soc: ti: add Keystone Navigator DMA support
  Documentation: dt: soc: add Keystone Navigator DMA bindings
  soc: ti: add Keystone Navigator QMSS driver
  Documentation: dt: soc: add Keystone Navigator QMSS bindings
  rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
  rtc: sun6i: Add sun6i RTC driver
  irqchip: omap-intc: remove unnecessary comments
  irqchip: omap-intc: correct maximum number or MIR registers
  irqchip: omap-intc: enable TURBO idle mode
  irqchip: omap-intc: enable IP protection
  irqchip: omap-intc: remove unnecesary of_address_to_resource() call
  irqchip: omap-intc: comment style cleanup
  irqchip: omap-intc: minor improvement to omap_irq_pending()
  ...

18 files changed:
1  2 
Documentation/devicetree/bindings/arm/atmel-at91.txt
MAINTAINERS
arch/arm/boot/dts/am33xx.dtsi
arch/arm/boot/dts/omap3.dtsi
arch/arm/mach-at91/Kconfig
arch/arm/mach-at91/Makefile
arch/arm/mach-at91/board-dt-sama5.c
arch/arm/mach-at91/generic.h
arch/arm/mach-at91/setup.c
arch/arm/mach-at91/soc.h
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/pdata-quirks.c
drivers/bus/arm-ccn.c
drivers/irqchip/Kconfig
drivers/leds/Kconfig
drivers/rtc/Kconfig

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
@@@ -39,23 -36,8 +39,11 @@@ config OLD_IRQ_AT9
  config HAVE_AT91_SMD
        bool
  
 +config HAVE_AT91_H32MX
 +      bool
 +
  config SOC_AT91SAM9
        bool
-       select AT91_SAM9_TIME
        select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
        select CPU_ARM926T
        select GENERIC_CLOCKEVENTS
Simple merge
  #include "at91_aic.h"
  #include "generic.h"
  
- static void __init sama5_dt_timer_init(void)
 -static int ksz9021rn_phy_fixup(struct phy_device *phy)
--{
- #if defined(CONFIG_COMMON_CLK)
-       of_clk_init(NULL);
- #endif
-       at91sam926x_pit_init();
 -      int value;
 -
 -      /* Set delay values */
 -      value = MICREL_KSZ9021_RGMII_CLK_CTRL_PAD_SCEW | 0x8000;
 -      phy_write(phy, MICREL_KSZ9021_EXTREG_CTRL, value);
 -      value = 0xF2F4;
 -      phy_write(phy, MICREL_KSZ9021_EXTREG_DATA_WRITE, value);
 -      value = MICREL_KSZ9021_RGMII_RX_DATA_PAD_SCEW | 0x8000;
 -      phy_write(phy, MICREL_KSZ9021_EXTREG_CTRL, value);
 -      value = 0x2222;
 -      phy_write(phy, MICREL_KSZ9021_EXTREG_DATA_WRITE, value);
 -
 -      return 0;
--}
--
  static void __init sama5_dt_device_init(void)
  {
 -      if (of_machine_is_compatible("atmel,sama5d3xcm") &&
 -          IS_ENABLED(CONFIG_PHYLIB))
 -              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);
  }
  
Simple merge
@@@ -382,55 -319,6 +383,31 @@@ void __init at91_map_io(void
                at91_boot_soc.map_io();
  }
  
- void __iomem *at91_shdwc_base = NULL;
- static void at91sam9_poweroff(void)
- {
-       at91_shdwc_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
- }
- void __init at91_ioremap_shdwc(u32 base_addr)
- {
-       at91_shdwc_base = ioremap(base_addr, 16);
-       if (!at91_shdwc_base)
-               panic("Impossible to ioremap at91_shdwc_base\n");
-       pm_power_off = at91sam9_poweroff;
- }
- void __iomem *at91_rstc_base;
- void __init at91_ioremap_rstc(u32 base_addr)
- {
-       at91_rstc_base = ioremap(base_addr, 16);
-       if (!at91_rstc_base)
-               panic("Impossible to ioremap at91_rstc_base\n");
- }
 +void __init at91_alt_map_io(void)
 +{
 +      /* Map peripherals */
 +      iotable_init(&at91_alt_io_desc, 1);
 +
 +      at91_soc_initdata.type = AT91_SOC_UNKNOWN;
 +      at91_soc_initdata.subtype = AT91_SOC_SUBTYPE_UNKNOWN;
 +
 +      alt_soc_detect(AT91_BASE_DBGU2);
 +      if (!at91_soc_is_detected())
 +              panic("AT91: Impossible to detect the SOC type");
 +
 +      pr_info("AT91: Detected soc type: %s\n",
 +              at91_get_soc_type(&at91_soc_initdata));
 +      if (at91_soc_initdata.subtype != AT91_SOC_SUBTYPE_NONE)
 +              pr_info("AT91: Detected soc subtype: %s\n",
 +                      at91_get_soc_subtype(&at91_soc_initdata));
 +
 +      if (!at91_soc_is_enabled())
 +              panic("AT91: Soc not enabled");
 +
 +      if (at91_boot_soc.map_io)
 +              at91_boot_soc.map_io();
 +}
 +
  void __iomem *at91_matrix_base;
  EXPORT_SYMBOL_GPL(at91_matrix_base);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge