Kevin Hilman [Wed, 9 Oct 2013 22:44:59 +0000 (15:44 -0700)]
Merge branch 'next/dt' into for-next
* next/dt:
arm: mvebu: add support for the Armada XP Matrix board
ARM: kirkwood: ib62x0: add u-boot environment partition
ARM: kirkwood: Move the nand node under the mbus node
ARM: kirkwood: Move the crypto node under the mbus node
ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding
ARM: dove: add initial DT file for Globalscale D3Plug
ARM: dove: add PCIe controllers to SoC DT
ARM: dove: relocate internal registers device nodes
ARM: dove: add MBus DT node
ARM: dove: add MBUS_ID macro to Dove DT
ARM: dove: use preprocessor on device tree files
ARM: mvebu: link PCIe controllers to the MSI controller
ARM: mvebu: the MPIC now provides MSI controller features
ARM: dts: mvebu: Update with the new compatible string for mv64xxx-i2c
Kevin Hilman [Wed, 9 Oct 2013 21:11:03 +0000 (14:11 -0700)]
Merge tag 'dt-3.13-2' of git://git.infradead.org/linux-mvebu into next/dt
From Jason Cooper:
mvebu dt changes for v3.13 (round 2)
- kirkwood
- use MBus DT binding for setting up the windows
- move crypto and nand underneath the mbus node
- ib62x0 has a u-boot env partition
- mvebu
- add the Armada XP matrix board
* tag 'dt-3.13-2' of git://git.infradead.org/linux-mvebu:
arm: mvebu: add support for the Armada XP Matrix board
ARM: kirkwood: ib62x0: add u-boot environment partition
ARM: kirkwood: Move the nand node under the mbus node
ARM: kirkwood: Move the crypto node under the mbus node
ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding
Kevin Hilman [Wed, 9 Oct 2013 20:21:51 +0000 (13:21 -0700)]
Merge tag 'dt-3.13' of git://git.infradead.org/linux-mvebu into next/dt
From Jason Cooper:
mvebu dt changes for v3.13
- mvebu
- add MSI
- new compatible string for mv64xxx-i2c
- dove
- use the pre-processor
- define the MBus nodes
- add PCIe controllers
- add Globalscale D3Plug
- relocate internal registers nodes
* tag 'dt-3.13' of git://git.infradead.org/linux-mvebu:
ARM: dove: add initial DT file for Globalscale D3Plug
ARM: dove: add PCIe controllers to SoC DT
ARM: dove: relocate internal registers device nodes
ARM: dove: add MBus DT node
ARM: dove: add MBUS_ID macro to Dove DT
ARM: dove: use preprocessor on device tree files
ARM: mvebu: link PCIe controllers to the MSI controller
ARM: mvebu: the MPIC now provides MSI controller features
ARM: dts: mvebu: Update with the new compatible string for mv64xxx-i2c
Kevin Hilman [Wed, 9 Oct 2013 19:59:23 +0000 (12:59 -0700)]
Merge tag 'drivers-3.13' of git://git.infradead.org/linux-mvebu into next/drivers
From Jason Cooper:
mvebu drivers changes for v3.13
- irqchip
- add MSI support for armada-370/XP
- pci
- add MSI support
- add support for Marvell Dove SoCs
- mvebu (soc changes depending on the pci and irq changes)
- probe mbus windows via DT
- probe pcie and clock via DT
- docs for mvebu
- update gated clock documentation
* tag 'drivers-3.13' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: fix gated clock documentation
ARM: dove: remove legacy pcie and clock init
ARM: dove: switch to DT probed mbus address windows
PCI: mvebu: add support for Marvell Dove SoCs
PCI: mvebu: add support for reset on GPIO
PCI: mvebu: remove subsys_initcall
PCI: mvebu: increment nports only for registered ports
PCI: mvebu: move clock enable before register access
PCI: mvebu: add support for MSI
irqchip: armada-370-xp: implement MSI support
irqchip: armada-370-xp: properly request resources
The gated clock documentation referred only to the Orion SoC whereas
it also applied for the Armada 370/XP SoC. This commit updates the
introduction text and also the list of the compatible strings.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Olof Johansson [Mon, 7 Oct 2013 18:39:16 +0000 (11:39 -0700)]
Merge tag 'renesas-dt-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
From Simon Horman:
Renesas ARM-based SoC DT updates for v3.13
* Add CPU cores to DTSI of r8a7790 SoC
* Add MMCIF and SDHI DT nodes for reference DTS of ape6evm board
* tag 'renesas-dt-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Add r8a7790 CA7 CPU cores to DTSI
ARM: shmobile: Add r8a7790 CA15 CPU cores
ARM: shmobile: ape6evm-reference: add MMCIF and SDHI DT nodes
Olof Johansson [Mon, 7 Oct 2013 18:35:54 +0000 (11:35 -0700)]
Merge tag 'renesas-boards-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards
From Simon Horman:
Renesas ARM based SoC board updates for v3.13
* Display Unit support for lager and marzen boards
* Update regulators for MMC0, SDHI0 and SDHI1 on ape6evm board
* Enable use of FPGA on bockw board
* Add sounds support to bockw board
* Add USB function support to bockw board
* Add Koelsch board
* Disable MMCIF command completion signal on ape6evm, armadillo800eva,
kzm9g and lager boards.
* tag 'renesas-boards-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: lager: disable MMCIF Command Completion Signal, add CLK_CTRL2
ARM: shmobile: kzm9g: disable MMCIF Command Completion Signal
ARM: shmobile: armadillo800eva: disable MMCIF Command Completion Signal
ARM: shmobile: ape6evm: disable MMCIF Command Completion Signal
ARM: shmobile: bockw: add USB Function support
ARM: shmobile: Koelsch support
ARM: shmobile: bockw: add R-Car sound support (PIO)
ARM: shmobile: bockw: enable global use of FPGA
ARM: shmobile: lager: Fix Display Unit platform data
ARM: shmobile: ape6evm: update MMC0, SDHI0 and SDHI1 with correct regulators
ARM: shmobile: lager: Add Display Unit support
ARM: shmobile: marzen: Add Display Unit support
ARM: shmobile: r8a7778: add usb phy power control function
ARM: shmobile: r8a7778: add USBHS clock
ARM: shmobile: r8a7791 CMT support
ARM: shmobile: r8a7791 SCIF support
ARM: shmobile: Initial r8a7791 SoC support
ARM: shmobile: r8a7778: add SSI/SRU clock support
ARM: shmobile: r8a7790: Add DU and LVDS clocks
ARM: shmobile: r8a7779: Rename DU device in clock lookups list
Olof Johansson [Mon, 7 Oct 2013 18:32:33 +0000 (11:32 -0700)]
Merge branch 'next/soc' into for-next
* next/soc:
ARM: shmobile: Include CA7 cores in APMU table
ARM: shmobile: Extend APMU code to allow single cluster only
ARM: shmobile: Remove shmobile_smp_scu_boot_secondary()
ARM: shmobile: Let r8a7779 rely on SCU CPU notifier
ARM: shmobile: Let EMEV2 rely on SCU CPU notifier
ARM: shmobile: Let sh73a0 rely on SCU CPU notifier
ARM: shmobile: Add CPU notifier based SCU boot vector code
ARM: shmobile: Add r8a7790 SMP support using APMU code
ARM: shmobile: Shared APMU SMP support code without DT
ARM: shmobile: Introduce shmobile_boot_size
ARM: shmobile: Expose shmobile_invalidate_start()
ARM: shmobile: Remove unused shmobile_smp_init_cpus()
ARM: shmobile: Use shmobile_smp_cpu_disable() on sh73a0
ARM: shmobile: Introduce shmobile_smp_cpu_disable()
Olof Johansson [Mon, 7 Oct 2013 18:29:02 +0000 (11:29 -0700)]
Merge tag 'renesas-smp-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
From Simon Horman:
Renesas ARM based SoC SMP updates for v3.13
* Add CPU notifier based SCU boot vector code
- Use on emev2, r8a7779 and sh73a0 SoCs
- Remove now unused shmobile_smp_scu_boot_secondary()
* Add shared APMU SMP support code
- Use to add SMP support for r8a7790 SoC
* Introduce shmobile_boot_size
* Expose shmobile_invalidate_start()
* Introduce shmobile_smp_cpu_disable()
- Use on sh73a0 SoC
- Remove now unused shmobile_smp_init_cpus()
* tag 'renesas-smp-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Include CA7 cores in APMU table
ARM: shmobile: Extend APMU code to allow single cluster only
ARM: shmobile: Remove shmobile_smp_scu_boot_secondary()
ARM: shmobile: Let r8a7779 rely on SCU CPU notifier
ARM: shmobile: Let EMEV2 rely on SCU CPU notifier
ARM: shmobile: Let sh73a0 rely on SCU CPU notifier
ARM: shmobile: Add CPU notifier based SCU boot vector code
ARM: shmobile: Add r8a7790 SMP support using APMU code
ARM: shmobile: Shared APMU SMP support code without DT
ARM: shmobile: Introduce shmobile_boot_size
ARM: shmobile: Expose shmobile_invalidate_start()
ARM: shmobile: Remove unused shmobile_smp_init_cpus()
ARM: shmobile: Use shmobile_smp_cpu_disable() on sh73a0
ARM: shmobile: Introduce shmobile_smp_cpu_disable()
ARM: shmobile: r8a7790: Constify platform data and resources
ARM: shmobile: Rename to r8a7790_init_early()
ARM: shmobile: Rename to r8a73a4_init_early()
Olof Johansson [Mon, 7 Oct 2013 18:20:28 +0000 (11:20 -0700)]
Merge branch 'next/soc' into for-next
* next/soc:
ARM: shmobile: r8a7778: add usb phy power control function
ARM: shmobile: r8a7778: add USBHS clock
ARM: shmobile: r8a7791 CMT support
ARM: shmobile: r8a7791 SCIF support
ARM: shmobile: Initial r8a7791 SoC support
ARM: shmobile: r8a7778: add SSI/SRU clock support
ARM: shmobile: r8a7790: Add DU and LVDS clocks
ARM: shmobile: r8a7779: Rename DU device in clock lookups list
Olof Johansson [Mon, 7 Oct 2013 18:20:13 +0000 (11:20 -0700)]
Merge tag 'renesas-soc-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
From Simon Horman:
Renesas ARM based SoC updates for v3.13
* Add support for r8a7791 SoC
* Rename DU device in clock lookups list of r8a7779 SoC
* USB and SSI/SRU clock support for r8a7778 SoC
* USB phy power control function support for r8a7778 SoC
* tag 'renesas-soc-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a7778: add usb phy power control function
ARM: shmobile: r8a7778: add USBHS clock
ARM: shmobile: r8a7791 CMT support
ARM: shmobile: r8a7791 SCIF support
ARM: shmobile: Initial r8a7791 SoC support
ARM: shmobile: r8a7778: add SSI/SRU clock support
ARM: shmobile: r8a7790: Add DU and LVDS clocks
ARM: shmobile: r8a7779: Rename DU device in clock lookups list
Olof Johansson [Mon, 7 Oct 2013 17:55:41 +0000 (10:55 -0700)]
Merge branch 'next/cleanup' into for-next
* next/cleanup:
ARM: shmobile: r8a7790: Constify platform data and resources
ARM: shmobile: Rename to r8a7790_init_early()
ARM: shmobile: Rename to r8a73a4_init_early()
Olof Johansson [Mon, 7 Oct 2013 17:55:23 +0000 (10:55 -0700)]
Merge tag 'renesas-cleanup-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup
From Simon Horman:
Renesas ARM based SoC cleanups for v3.13
* Constify platform data and resources of r8a7790 SoC
* Rename to r8a7790_init_delay() as r8a7790_init_early()
- This is in preparation for doing more than just initialising the delay
* Rename r8a73a4_init_delay() as r8a73a4_init_early()
- This is in preparation for doing more than just initialising the delay
* tag 'renesas-cleanup-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a7790: Constify platform data and resources
ARM: shmobile: Rename to r8a7790_init_early()
ARM: shmobile: Rename to r8a73a4_init_early()
Olof Johansson [Mon, 7 Oct 2013 17:47:34 +0000 (10:47 -0700)]
Merge tag 'renesas-fixes5-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup
From Simon Horman:
* Correct incorrect placement of __initdata tag in ape6evm board code
* tag 'renesas-fixes5-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: ape6evm: fix incorrect placement of __initdata tag
(+ other patches already present in v3.12-rc4)
Olof Johansson [Mon, 7 Oct 2013 17:24:14 +0000 (10:24 -0700)]
Merge branch 'next/dt' into for-next
* next/dt:
ARM: ux500: move BU21013 touchpad GPIOs into top-level DTS
ARM: ux500: register the tc35892 GPIO on the TVK UIB
ARM: ux500: split the HREF DTS files from two to four
ARM: ux500: split HREF UIB files
ARM: ux500: move TC35892 at 0x42 to hrefprev60
ARM: ux500: correct CD for micro SD on hrev60plus
ARM: ux500: fix proximity sensor button
ARM: ux500: correct I2C address of ambient light sensor
ARM: ux500 enable the AB8500 gpio for all HREFs
ARM: ux500: add default trigger on HREF LED
Olof Johansson [Mon, 7 Oct 2013 17:23:39 +0000 (10:23 -0700)]
Merge tag 'ux500-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt
From Linus Walleij:
Second part of the Ux500 devicetree conversion and ATAG
deletion: this fixes bugs discovered when switching to a
devicetree-only setup, primarily on the HREF prototypes.
The biggest change is to split into four DTS variants as
the UIB autodetection was lost.
* tag 'ux500-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
ARM: ux500: move BU21013 touchpad GPIOs into top-level DTS
ARM: ux500: register the tc35892 GPIO on the TVK UIB
ARM: ux500: split the HREF DTS files from two to four
ARM: ux500: split HREF UIB files
ARM: ux500: move TC35892 at 0x42 to hrefprev60
ARM: ux500: correct CD for micro SD on hrev60plus
ARM: ux500: fix proximity sensor button
ARM: ux500: correct I2C address of ambient light sensor
ARM: ux500 enable the AB8500 gpio for all HREFs
ARM: ux500: add default trigger on HREF LED
Olof Johansson [Mon, 7 Oct 2013 16:47:31 +0000 (09:47 -0700)]
Merge branch 'clk-of-init-v2_for-3.13' of https://github.com/shesselba/linux-dove into next/cleanup
From Sebastian Hasselbarth:
This is a patch set based on an RFC [1][2] sent earlier to provide
a common arch/arm init for DT clock providers. Currently, the call to
of_clk_init(NULL) to initialize DT clock providers is spread among several
mach-dirs. Since most machs require DT clocks initialized before timers,
no initcall can be used.
By adding of_clk_init(NULL) to arch/arm time_init(), we can remove all
mach-specific .init_time hooks that basically called of_clk_init and
clocksource_of_init.
In contrast to the RFC version, of_clk_init(NULL) is now only called if
no custom .init_time callback is set. This allows some machs to still
call clock init themselves, as not all can be converted now. Therefore,
this patch sets drops conversion of mach-mvebu and mach-zynq. New machs
that were introduced with v3.12-rc1 are also converted, except mach-u300
that requires clocks before irqs.
This patch proposes to remove the IRQF_DISABLED flag from Davinci code ;)
It's a NOOP since 2.6.35, and will be removed one day
Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson [Mon, 7 Oct 2013 16:29:10 +0000 (09:29 -0700)]
Merge tag 'davinci-for-v3.13/gpio' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/drivers
From Sekhar Nori, GPIO driver updates for DaVinci:
This pull request moves DaVinci GPIO driver to use platform device
framework and the corresponding changes needed to keep GPIO working on
existing DaVinci boards. This is a pre-requisite to DT support for GPIO.
* tag 'davinci-for-v3.13/gpio' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci: gpio: use gpiolib API instead of inline functions
ARM: davinci: board: gpio device creation
ARM: davinci: da8xx boards: gpio device creation
ARM: davinci: support gpio platform device
ARM: davinci: da8xx: support gpio platform device
gpio: davinci: move to platform device
gpio: davinci: coding style correction
arm: mvebu: add support for the Armada XP Matrix board
The Armada XP Matrix board is the mother board of a more complex
system. The mother board uses an Armada XP MV78460, 4 serial ports, 2
SATA ports, one Ethernet connection, a PCIe port and a USB port. All
those devices are enabled in the Device Tree added by this patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Linus Walleij [Thu, 3 Oct 2013 08:29:24 +0000 (10:29 +0200)]
ARM: ux500: move BU21013 touchpad GPIOs into top-level DTS
The BU21013 touchscreen GPIOs have been pretty confused, correct
them per board, and move the GPIO assignments up to the top
level DTS file so we can control it from there, and avoid defining
the GPIO assignments for non-ST UIB equipped boards.
Linus Walleij [Thu, 3 Oct 2013 08:18:36 +0000 (10:18 +0200)]
ARM: ux500: register the tc35892 GPIO on the TVK UIB
The TVK1281618 UIB has a TC35892 GPIO expander on it, which has
in the past probably been confused with the GPIO expander on the
older HREF plus previous to v60, which is on an entirely different
part of the system with another I2C address. Register the expander
in the right place.
Olof Johansson [Thu, 3 Oct 2013 04:00:10 +0000 (21:00 -0700)]
Merge branch 'fixes' into for-next
* fixes:
ARM: multi_v7_defconfig: add SDHCI for i.MX
bus: mvebu-mbus: Fix optional pcie-mem/io-aperture properties
ARM: mvebu: add missing DT Mbus ranges and relocate PCIe DT nodes for RN102
ARM: at91: sam9g45: shutdown ddr1 too when rebooting
MAINTAINERS: ARM: SIRF: use kernel.org mail box
MAINTAINERS: ARM: SIRF: add missed drivers into maintain list
ARM: edma: Fix clearing of unused list for DT DMA resources
ARM: vexpress: tc2: fix hotplug/idle/kexec race on cluster power down
ARM: dts: sirf: fix interrupt and dma prop of VIP for prima2 and atlas6
ARM: dts: sirf: fix the ranges of peri-iobrg of prima2
ARM: dts: makefile: build atlas6-evb.dtb for ARCH_ATLAS6
ARM: dts: sirf: fix fifosize, clks, dma channels for UART
ARM: mvebu: Add DT entry for ReadyNAS 102 to use gpio-poweroff driver
ARM: mvebu: fix ReadyNAS 102 Power button GPIO to make it active high
ARM: shmobile: Remove #gpio-ranges-cells DT property
gpio: rcar: Remove #gpio-range-cells DT property usage
ARM: shmobile: armadillo: fixup ether pinctrl naming
ARM: shmobile: Lager: add Micrel KSZ8041 PHY fixup
ARM: shmobile: update SDHI DT compatibility string to the <unit>-<soc> format
Olof Johansson [Thu, 3 Oct 2013 03:55:05 +0000 (20:55 -0700)]
Merge tag 'fixes-3.12-2' of git://git.infradead.org/linux-mvebu into fixes
From Jason Cooper:
mvebu fixes for v3.12 (round 2)
- mvebu
- fix ReadyNAS 102 power button (needs to be active high)
- fix ReadyNAS 102 automated rebooting (prevent hang) by add gpio-poweroff
node
- fix booting ReadyNAS 102 by adding MBus ranges and PCIe DT nodes
- mvebu-mbus: prevent PCIe driver from continuing with corrupted resource
* tag 'fixes-3.12-2' of git://git.infradead.org/linux-mvebu:
bus: mvebu-mbus: Fix optional pcie-mem/io-aperture properties
ARM: mvebu: add missing DT Mbus ranges and relocate PCIe DT nodes for RN102
ARM: mvebu: Add DT entry for ReadyNAS 102 to use gpio-poweroff driver
ARM: mvebu: fix ReadyNAS 102 Power button GPIO to make it active high
Linus Walleij [Wed, 2 Oct 2013 13:42:59 +0000 (15:42 +0200)]
ARM: ux500: split the HREF DTS files from two to four
As the device tree conversion did away with the ability to
auto-detect the UIB (User Interface Board) version from attempting
to read an I2C address, we now have to pass the knowledge of
what UIB is mounted through the device tree. This gives rise
to four possible board permutations:
- HREF prior to v60, ST UIB (hrefprev60-stuib)
- HREF prior to v60, TVK1281618 UIB (hrefprev60-tvk)
- HREF v60 and later, ST UIB (href60plus-stuib)
- HREF v60 and later, TVK1281618 UIB (hrefv60plus-tvk)
Linus Walleij [Wed, 2 Oct 2013 14:03:31 +0000 (16:03 +0200)]
ARM: ux500: move TC35892 at 0x42 to hrefprev60
The TC35892 was mounted as a GPIO expander on the HREF prior
to v60 and not in later versions, which instead use the Nomadik
GPIO directly, so move it over to the hrefprev60 DTS file.
Linus Walleij [Wed, 2 Oct 2013 14:12:52 +0000 (16:12 +0200)]
ARM: ux500: correct CD for micro SD on hrev60plus
This correct the card detect line for the HREF v60 and later
reference designs. This is connected directly to the Nomadik
GPIO block, line 95 at offset 31 on the third instance.
If the property was not specified then the returned resource had a
resource_size(..) == 1, rather than 0. The PCI-E driver checks for 0 so it
blindly continues on with a corrupted resource.
The regression was introduced into v3.12 by:
11be654 PCI: mvebu: Adapt to the new device tree layout
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Jason Gunthorpe [Tue, 17 Sep 2013 18:44:33 +0000 (12:44 -0600)]
ARM: kirkwood: Move the nand node under the mbus node
There should be no nodes that are not children of the mbus. Move
the nand node under the mbus, and rework the board .dts files
to use an & reference to the nand node.
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Jason Gunthorpe [Tue, 17 Sep 2013 18:41:46 +0000 (12:41 -0600)]
ARM: kirkwood: Remove kirkwood_setup_wins and rely on the DT binding
kirkwood_setup_wins is the last manual caller of mbus in kirkwood, don't
call it for DT boards and rely on the DT having a mbus node with
a proper ranges property to setup these windows.
Move all the mbus ranges properties for all boards into kirkwood.dtsi,
since they are currently all the same.
This makes the DT self consistent, since the physical address of the
NAND and CRYPTO are both referenced internally. The arbitary Linux
constants KIRKWOOD_NAND_MEM_PHYS_BASE and KIRKWOOD_SRAM_PHYS_BASE
no longer have to match the DT values.
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
ARM: mvebu: add missing DT Mbus ranges and relocate PCIe DT nodes for RN102
When 5e12a613 and 0cd3754a were introduced, Netgear ReadyNAS 102 .dts
file was queued for inclusion and missed the update to have Mbus (and
then BootROM) ranges properties declared. It also missed the relocation
of Armada 370/XP PCIe DT nodes introduced by 14fd8ed0 after de1af8d4.
This patch fixes that which makes 3.12-rc3 bootable on the NAS.
Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
ARM: at91: sam9g45: shutdown ddr1 too when rebooting
Like we are doing on DDR0 we need to cleanly shutdown DDR1 if it is
used before rebooting.
If DDR1 is not initialized, we check it and avoid dereferencing its address.
Even by adding two more instructions, we are able to complete the procedure
within a single cache line.
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Olof Johansson <olof@lixom.net>
Joel Fernandes [Thu, 26 Sep 2013 21:55:46 +0000 (16:55 -0500)]
ARM: edma: Fix clearing of unused list for DT DMA resources
HWMOD removal for MMC is breaking edma_start as the events are being manually
triggered due to unused channel list not being clear.
The above issue is fixed by reading the "dmas" property from the DT node if it
exists and clearing the bits in the unused channel list if the dma controller
used by any device is EDMA. For this purpose we use the of_* helpers to parse
the arguments in the dmas phandle list.
Also introduced is a minor clean up of a checkpatch error in old code.
Reviewed-by: Sekhar Nori <nsekhar@ti.com> Reported-by: Balaji T K <balajitk@ti.com> Cc: Sekhar Nori <nsekhar@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Olof Johansson <olof@lixom.net> Cc: Nishanth Menon <nm@ti.com> Cc: Pantel Antoniou <panto@antoniou-consulting.com> Cc: Jason Kridner <jkridner@beagleboard.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Joel Fernandes <joelf@ti.com> Signed-off-by: Olof Johansson <olof@lixom.net>
ARM: vexpress: tc2: fix hotplug/idle/kexec race on cluster power down
On the TC2 testchip, when all CPUs in a cluster enter standbywfi
and commit a power down request, the power controller will wait
for standbywfil2 coming from L2 cache controller to shut the
cluster down.
By the time all CPUs in a cluster commit a power down request
and enter wfi, the power controller cannot backtrack, or put it
another way, a CPU must not be allowed to complete execution
independently of the power controller, the only way for it to
resume properly must be upon wake-up IRQ pending and subsequent
reset triggered from the power controller.
Current MCPM back-end for TC2 disables the GIC CPU IF only when
power down is committed through the tc2_pm_suspend() method, that
makes sense since a suspended CPU is still online and can receive
interrupts whereas a hotplugged CPU, since it is offline,
migrated all IRQs and shutdown the per-CPU peripherals, hence
their PPIs.
The flaw with this reasoning is the following. If all CPUs in
a clusters are entering a power down state either through CPU
idle or CPU hotplug, when the last man successfully completes
the MCPM power down sequence (and executes wfi), power controller
waits for L2 wfi signal to quiesce the cluster and shut it down.
If, when all CPUs are sitting in wfi, an online CPU hotplugs back
in one of the CPUs in the cluster being shutdown, that CPU
receives an IPI that causes wfi to complete (since tc2_pm_down()
method does not disable the GIC CPU IF in that case - CPU being
hotplugged out, not idle) and the power controller will never see
the stanbywfil2 signal coming from L2 that is required for
shutdown to happen and the system deadlocks.
Further to this issue, kexec hotplugs secondary CPUs out during
kernel reload/restart.
Because kexec may (deliberately) trash the old kernel text, it is
not OK for CPUs to follow the MCPM soft reboot path, since
instructions after the WFI may have been replaced by kexec.
If tc2_pm_down() does not disable the GIC cpu interface, there is a
race between CPU powerdown in the old kernel and the IPI from the
new kernel that triggers secondary boot, particularly if the
powerdown is slow (due to L2 cache cleaning for example). If the
new kernel wins the race, the affected CPU(s) will not really be
reset and may execute garbage after the WFI.
The only solution to this problem consists in disabling the GIC
CPU IF on a CPU committed to power down regardless of the power
down entry method (CPU hotplug or CPU idle). This way, CPU wake-up
is under power controller control, which prevents unexpected wfi
exit caused by a pending IRQ.
This patch moves the GIC CPU IF disable call in the TC2 MCPM
implementation from the tc2_pm_suspend() method to the
tc2_pm_down() method to fix the mentioned race condition(s).
Reviewed-by: Dave Martin <Dave.Martin@arm.com> Tested-by: Dave Martin <Dave.Martin@arm.com> (for kexec) Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson [Mon, 30 Sep 2013 16:24:20 +0000 (09:24 -0700)]
Merge tag 'renesas-fixes4-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
From Simon Horman:
Fourth Round of Renesas ARM based SoC fixes for v3.12
* Remove unused #gpio-ranges-cells DT property
* Remove usage of deprecated #gpio-range-cells DT property
from GPIO R-Car
Property was deprecated in v3.11-rc2
* Correct ether pinctl naming for armadillo800eva board
Regression introduced in v3.10-rc5
* Add Micrel KSZ8041 PHY fixup to lager board
This resolves a problem that has been present since 3.11-rc2
* Update SDHI DT compatibility string to the <unit>-<soc> format
This makes compatibility strings consistent across all renesas
hardware which currently supports DT.
The bindings which are being updated where intorodiced on
a per-SoC basis starting in v3.8-rc7. They may have
been internally consistent when originally added.
* tag 'renesas-fixes4-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Remove #gpio-ranges-cells DT property
gpio: rcar: Remove #gpio-range-cells DT property usage
ARM: shmobile: armadillo: fixup ether pinctrl naming
ARM: shmobile: Lager: add Micrel KSZ8041 PHY fixup
ARM: shmobile: update SDHI DT compatibility string to the <unit>-<soc> format
Olof Johansson [Mon, 30 Sep 2013 16:09:12 +0000 (09:09 -0700)]
Merge branch 'next/dt' into for-next
* next/dt: (93 commits)
ARM: ux500: enable appended dtb in u8500_defconfig
ARM: ux500: delete devices-common remnants
clk: ux500: Provide a look-up for the ARMSS clock
ARM: ux500: Enable CPUFreq on Snowball
ARM: ux500: Provide a Device Tree node for CPUFreq in the DBx500
ARM: ux500: Provide a clock lookup for the Hash driver
ARM: ux500: Provide a clock lookup for the Crypto driver
ARM: ux500: Fix trivial white-space error in the DBX500 DTSI file
ARM: ux500: Remove ATAG booting support for Snowball
ARM: ux500: Remove ATAG booting support for HREF
ARM: ux500: Remove ATAG booting support for U8520
ARM: ux500: Remove ATAG booting support for MOP500
ARM: ux500: Purge UIB framework when booting with ATAGs
ARM: ux500: Take out STUIB support when not booting with Device Tree
ARM: ux500: Remove BU21013 ROHM TS support when booting with only ATAGs
ARM: ux500: Don't register the STMPE/SKE when booting with ATAG support
ARM: ux500: Delete U8500 UIB support when booting with ATAGs
ARM: ux500: Don't register Synaptics RMI4 TS when booting with ATAGs
ARM: ux500: Purge DB8500 PRCMU registration when not booting with DT
ARM: ux500: Stop requesting the SoC device to play 'parent' role
...
Olof Johansson [Mon, 30 Sep 2013 16:08:46 +0000 (09:08 -0700)]
Merge tag 'ux500-dt-for-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt
From Linus Walleij:
This is a huge device tree and ATAG removal series for ux500:
- Move all the clock definitions over to the device tree
- Remove all now-redundant AUXDATA and make the ux500 device
tree only
* tag 'ux500-dt-for-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: (92 commits)
ARM: ux500: delete devices-common remnants
clk: ux500: Provide a look-up for the ARMSS clock
ARM: ux500: Enable CPUFreq on Snowball
ARM: ux500: Provide a Device Tree node for CPUFreq in the DBx500
ARM: ux500: Provide a clock lookup for the Hash driver
ARM: ux500: Provide a clock lookup for the Crypto driver
ARM: ux500: Fix trivial white-space error in the DBX500 DTSI file
ARM: ux500: Remove ATAG booting support for Snowball
ARM: ux500: Remove ATAG booting support for HREF
ARM: ux500: Remove ATAG booting support for U8520
ARM: ux500: Remove ATAG booting support for MOP500
ARM: ux500: Purge UIB framework when booting with ATAGs
ARM: ux500: Take out STUIB support when not booting with Device Tree
ARM: ux500: Remove BU21013 ROHM TS support when booting with only ATAGs
ARM: ux500: Don't register the STMPE/SKE when booting with ATAG support
ARM: ux500: Delete U8500 UIB support when booting with ATAGs
ARM: ux500: Don't register Synaptics RMI4 TS when booting with ATAGs
ARM: ux500: Purge DB8500 PRCMU registration when not booting with DT
ARM: ux500: Stop requesting the SoC device to play 'parent' role
ARM: ux500: Remove UART support when booting without Device Tree
...
ARM: mvebu: link PCIe controllers to the MSI controller
This commit adjusts the Armada 370 and Armada XP PCIe controllers
Device Tree informations to reference their MSI controller. In the
case of this platform, the MSI controller is implemented by the MPIC.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Daniel Price <daniel.price@gmail.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
ARM: mvebu: the MPIC now provides MSI controller features
Adds the 'msi-controller' property to the main interrupt controller
Device Tree node, to indicate that it can now behave as a MSI
controller.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Thierry Reding <thierry.reding@gmail.com> Tested-by: Daniel Price <daniel.price@gmail.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This patch adds a check for DT passed reset-gpios property and deasserts/
asserts reset pin on probe/remove with configurable delay. Corresponding
binding documentation is also updated.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This removes the subsys_initcall from the driver and converts it to
a normal platform_driver. Also, drvdata is set and a remove functions
is added to disable the clock and free resources. As pci driver removal
currently is not supported, set .suppress_bind_attrs to permit unbinding.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
PCI: mvebu: increment nports only for registered ports
The number of ports is probed by counting the number of available child nodes.
Later on, the registration of a port can fail and cause a mismatch between
the ->nports counter and registered ports. This patch modifies the counting
strategy, to make ->nports represent the number of registered ports instead
of the number of available childs.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
PCI: mvebu: move clock enable before register access
The clock passed to PCI controller found on MVEBU SoCs may come from a
clock gate. This requires the clock to be enabled before any registers
are accessed. Therefore, move the clock enable before register iomap to
ensure it is enabled.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit adds support for Message Signaled Interrupts in the
Marvell PCIe host controller. The work is very simple: it simply gets
a reference to the msi_chip associated to the PCIe controller thanks
to the msi-parent DT property, and stores this reference in the
pci_bus structure. This is enough to let the Linux PCI core use the
functions of msi_chip to setup and teardown MSIs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Thierry Reding <thierry.reding@gmail.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit introduces the support for the MSI interrupts in the
armada-370-xp interrupt controller driver. It registers an MSI chip to
the MSI chip registry, which will be used by the Marvell PCIe host
controller driver.
The MSI interrupts use the 16 high doorbells, and are therefore
notified using IRQ1 of the main interrupt controller.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Instead of using of_iomap(), we now use of_address_to_resource(),
request_mem_region() and ioremap(). This allows the corresponding I/O
regions to be properly requested and visible in /proc/iomem.
The main motivation for this change is that the introduction of the
MSI support requires us to get the physical address of the main
interrupt controller registers, so we will need the corresponding
'struct resource' anyway.
We also take this opportunity to change a panic() to BUG_ON(), in
order to be consistent with the rest of the driver.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Daniel Price <daniel.price@gmail.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
ARM: mvebu: fix ReadyNAS 102 Power button GPIO to make it active high
NETGEAR ReadyNAS 102 Power button definition in .dts file flags
associated GPIO active low instead of active high. This results
in reversed events reported by input subsystem (0 returned when
the button is pressed, 1 when released). This patch makes
associated GPIO active high to recover correct behaviour.
Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Magnus Damm [Sat, 14 Sep 2013 15:29:07 +0000 (00:29 +0900)]
ARM: shmobile: Extend APMU code to allow single cluster only
Extend the APMU code with a check to only allow boot
of CPU cores that sit in the same cluster as CPU0.
This makes it possible for people to use the r8a790
CA7 boot mode with CA7-cores only. The default CA15
boot mode will enable CA15 cores only. This is an
intentional software limitation to cope with lacking
scheduler support.
By removing this patch it is possible to run all 8 cores
in parallel, but this is not recommended without out of tree
scheduler modfications or custom user space code to control
the CPU affinitiy.
Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Magnus Damm [Wed, 28 Aug 2013 23:22:07 +0000 (08:22 +0900)]
ARM: shmobile: Add r8a7790 SMP support using APMU code
Add r8a7790 SMP support using the shared APMU code. To enable
SMP the r8a7790 specific DTS needs to be updated to include
CPU cores, and this is happening in a separate patch.
Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Magnus Damm [Wed, 28 Aug 2013 23:21:58 +0000 (08:21 +0900)]
ARM: shmobile: Shared APMU SMP support code without DT
Introduce shared APMU SMP code for mach-shmobile. Both SMP boot up
and CPU Hotplug is supported. This version does not use DT but
if needed this will be added as an incremental feature patch.
The code is designed around CONFIG_NR_CPUS and should in theory support
any number of APMUs, however due to the current DT-less static design
only a single APMU is supported.
Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
MMCIF on r8a7790 doesn't support Command Completion Signal, but it does
implement a CE_CLK_CTRL2 register. Platform parameters have to be added to
account for these features on lager.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Bock-W USB1 (CN29) can be USB Host/Func by SW98/SW99 settings.
USB Func will be enabled if CONFIG_USB_RENESAS_USBHS_UDC[_MODULE]
was selected on this patch
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>