summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-nomadik/cpu-8815.c
AgeCommit message (Collapse)AuthorFilesLines
2015-08-11ARM: nomadik: move l2x0 setup to device treeLinus Walleij1-3/+2
The cache setup magic value in the Nomadik machine is plain wrong, the correct settings can be done using device tree in accordance with the settings from ST's own port. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-11ARM: nomadik: move hog code to use DT hogsLinus Walleij1-36/+0
Instead of introducing a board-specific DT node for biasing the MMC/SD and SATA ports, use the new device tree hogs. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2014-10-31ARM: nomadik: device tree for NHK15 boardLinus Walleij1-0/+1
This adds a device tree for the Nomadik NHK15 development kit board. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-05-30ARM: l2c: nomadik: convert to generic l2c OF initialisationRussell King1-10/+3
Remove the explicit call to l2x0_of_init(), converting to the generic infrastructure instead. This also allows us to eliminate the .init_machine function as it is identical to the generic version. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-05-30ARM: l2c: nomadik: remove cache size overrideRussell King1-1/+1
The cache size should already be present in the L2 cache auxiliary control register: it is part of the integration process to configure the hardware IP. Most platforms get this right, yet still many cargo-cult program, and assume that they always need specifying to the L2 cache code. Remove them so we can find out which really need this. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-11-28ARM: nomadik: get rid of explicit ethernet GPIO managementLinus Walleij1-32/+0
We used to set up the GPIO used for the SMC ethernet IRQ by requesting the GPIO line explicitly. As we recently established that specifying the GPIO controller as interrupt parent and requesting one of its interrupts by reference should be enough, we do away with this. Incidentally, the Nomadik GPIO chip driver handles this just fine: the IRQ is set up and fired as expected. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-10-07Merge branch 'clk-of-init-v2_for-3.13' of ↵Olof Johansson1-36/+0
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. * 'clk-of-init-v2_for-3.13' of https://github.com/shesselba/linux-dove: (29 commits) ARM: vt8500: remove custom .init_time hook ARM: vexpress: remove custom .init_time hook ARM: tegra: remove custom .init_time hook ARM: sunxi: remove custom .init_time hook ARM: sti: remove custom .init_time hook ARM: socfpga: remove custom .init_time hook ARM: rockchip: remove custom .init_time hook ARM: prima2: remove custom .init_time hook ARM: nspire: remove custom .init_time hook ARM: nomadik: remove custom .init_time hook ARM: mxs: remove custom .init_time hook ARM: kirkwood: remove custom .init_time hook ARM: imx: remove custom .init_time hook ARM: highbank: remove custom .init_time hook ARM: exynos: remove custom .init_time hook ARM: dove: remove custom .init_time hook ARM: bcm2835: remove custom .init_time hook ARM: bcm: provide common arch init for DT clocks ARM: call of_clk_init from default time_init handler ARM: vt8500: prepare for arch-wide .init_time callback ... Signed-off-by: Olof Johansson <olof@lixom.net>
2013-09-29ARM: nomadik: remove custom .init_time hookSebastian Hesselbarth1-9/+0
With arch/arm calling of_clk_init(NULL) from time_init(), we can now remove custom .init_time hooks. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-09-29clk: nomadik: declare OF clock providerSebastian Hesselbarth1-3/+2
Common clock framework allows to register clock providers to get called on of_clk_init() by using CLK_OF_DECLARE. This converts nomadik clock provider to make use of it and get rid of the mach specific clk init call. As clocks require system reset controller base address to be initialized each clock driver checks src_base and calls new nomadik_src_init if required. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Mike Turquette <mturquette@linaro.org>
2013-09-29ARM: nomadik: remove mtu initalization from .init_timeSebastian Hesselbarth1-26/+0
Nomadik clock initialization is properly done in clk-nomadik since patch "clk: nomadik: set all timers to use 2.4 MHz TIMCLK". Therefore, this patch removes now redundant mtu initialization from .init_time callback. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-09-24ARM: nomadik: delete FSMC platform dataLinus Walleij1-21/+1
We now have device tree support for setting the NAND timings for FSMC from the device tree, so delete the last piece of platform data and auxdata. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-09-24ARM: nomadik: delete MMCI platform dataLinus Walleij1-14/+1
Now that we have a proper regulator set up for the MMCI driver and managed through the device tree, we no longer need the platform data providing the OCR voltages for the MMCI block. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-07-09reboot: arm: change reboot_mode to use enum reboot_modeRobin Holt1-1/+1
Preparing to move the parsing of reboot= to generic kernel code forces the change in reboot_mode handling to use the enum. [akpm@linux-foundation.org: fix arch/arm/mach-socfpga/socfpga.c] Signed-off-by: Robin Holt <holt@sgi.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Russ Anderson <rja@sgi.com> Cc: Robin Holt <holt@sgi.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-07-02Merge tag 'dt-for-linus' of ↵Linus Torvalds1-68/+5
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC device tree changes from Arnd Bergmann: "These changes from 30 individual branches for the most part update device tree files, but there are also a few source code changes that have crept in this time, usually in order to atomically move over a driver from using hardcoded data to DT probing. A number of platforms change their DT files to use the C preprocessor, which is causing a bit of churn, but that is hopefully only this once" * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (372 commits) ARM: at91: dt: rm9200ek: add spi support ARM: at91: dt: rm9200: add spi support ARM: at91/DT: at91sam9n12: add SPI DMA client infos ARM: at91/DT: sama5d3: add SPI DMA client infos ARM: at91/DT: fix SPI compatibility string ARM: Kirkwood: Fix the internal register ranges translation ARM: dts: bcm281xx: change comment to C89 style ARM: mmc: bcm281xx SDHCI driver (dt mods) ARM: nomadik: add the new clocks to the device tree clk: nomadik: implement the Nomadik clocks properly ARM: dts: omap5-uevm: Provide USB Host PHY clock frequency ARM: dts: omap4-panda: Fix DVI EDID reads ARM: dts: omap4-panda: Add USB Host support arm: mvebu: enable mini-PCIe connectors on Armada 370 RD ARM: shmobile: irqpin: add a DT property to enable masking on parent ARM: dts: AM43x EPOS EVM support ARM: dts: OMAP5: Add bandgap DT entry ARM: dts: AM33XX: Add pinmux configuration for CPSW to am335x EVM ARM: dts: AM33XX: Add pinmux configuration for CPSW to EVMsk ARM: dts: AM33XX: Add pinmux configuration for CPSW to beaglebone ...
2013-05-26ARM: nomadik: move the pin configuration to DTLinus Walleij1-51/+0
This moves the pin configuration for the Nomadik over to the device tree using Gabriel's bindings. Remove the auxdata nailing down the name of the pin controller as this is no longer necessary. Cc: Gabriel Fernandez <gabriel.fernandez@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-05-26ARM: nomadik: add led and key for S8815Linus Walleij1-0/+4
This adds device tree hunks for the LED and userbutton on the USB S8815 board, and set up a heartbeat trigger on the LED and an escape key on the user button. Alter the defconfig to enable these standard DT-enabled GPIO drivers. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-05-24ARM: nomadik: Remove init_irq declaration in machine descriptionMaxime Ripard1-2/+0
Commit ebafed7a ("ARM: irq: Call irqchip_init if no init_irq function is specified") removed the need to explictly setup the init_irq field in the machine description when using only irqchip_init. Remove that declaration for nomadik as well. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-05-12ARM: nomadik: register clocksource from device treeLinus Walleij1-3/+3
This switches the Nomadik platform to also registering its clocksource from the device tree, removing unused support code as we go along. Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-05-12ARM: nomadik: convert all clocks except timer to dtLinus Walleij1-18/+2
This moves all Nomadik clocks except the one used for the timer/clocksource over to the device tree. Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-03-07ARM: nomadik: delete IRQ headerLinus Walleij1-1/+0
This header is not used any more after the platform was switched to obtain resources from the device tree. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: get rid of <mach/hardware.h>Linus Walleij1-12/+55
This was only used from the core machine, source it into the machine file and delete, also convert all direct references using the physical-to-virtual macros in this file to ioremap() and only default-remap the 4K used by the debug UART. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: delete old board filesLinus Walleij1-110/+2
The Device Tree support on Nomadik can do everything the old board files could do, so delete the old board files and make the nomadik select CONFIG_OF. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: migrate MMC/SD card support to device treeLinus Walleij1-1/+47
This moves over the MMC/SD card support to the device tree probe path. The special GPIO to bias the card detect line is kept, but the pin property is moved to the device tree as part of the MMC/SD card node. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: convert SMSC91x ethernet to device treeLinus Walleij1-0/+34
This converts the SMSC91x ethernet controller to use device tree. The existing solution from the board file, to request the GPIO triggering the ethernet IRQ from the board file is kept for the time being, but the GPIO number assignment is moved over to the device tree. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: move GPIO and pinctrl to device treeLinus Walleij1-4/+17
This moves the instances of the Nomadik pin controller and the Nomadik GPIO blocks (also handled by the GPIO driver) over to the device tree. A new compatible string is added to the pin control driver in the process. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: add FSMC NANDLinus Walleij1-0/+15
This adds the FSMC NAND driver and flash partitions to the Nomadik device tree. The only compatible string accepted by this driver is currently "st,spear600-fsmc-nand" which is inappropriate for this system, so this patch adds the compatible value "stericsson,fsmc-nand" as well. Cc: linux-mtd@vger.kernel.org Cc: David Woodhouse <dwmw2@infradead.org> Cc: Artem Bityutskiy <dedekind1@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: move remaining PrimeCells to device treeLinus Walleij1-2/+9
The two remaining PrimeCells, RNG and RTC, are migrated to the device tree for device tree boot. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: move pin maps to cpu fileLinus Walleij1-0/+44
Move the pinctrl maps over to the CPU file and register them right before the pin controller itself. This way the pinmaps will also benefit the device tree boot. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-28ARM: nomadik: initial devicetree supportLinus Walleij1-1/+77
Support basic device tree boot on the Nomadik. Implement the support in the cpu file with the intent of deleting the board files later. At this stage IRQ controllers, system timer, l2x0 cache, UARTs and thus console boot is fully functional. Patch out the code adding devices by initcalls for now so as not to disturb the boot. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-12irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.hRob Herring1-1/+1
Now that we have VIC moved to drivers/irqchip and all VIC DT init for platforms using irqchip_init, move gic.h and update the remaining includes. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ryan Mallon <rmallon@gmail.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Alessandro Rubini <rubini@unipv.it> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: STEricsson <STEricsson_nomadik_linux@list.st.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: linux-samsung-soc@vger.kernel.org
2012-10-28pinctrl/nomadik: move the platform data headerLinus Walleij1-1/+1
This moves the platform data header for the Nomadik pin controller to <linux/platform_data/pinctrl-nomadik.h>. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-09-03ARM: nomadik: configure Nomadik for pin controlLinus Walleij1-0/+13
This converts the Nomadik to using pin control using the driver for the STN8815 ASIC. Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-06-10ARM: nomadik: convert to generic clockLinus Walleij1-2/+2
Remove more custom stuff by simply converting the Nomadik machine to use generic clocks and move the driver to drivers/clk. Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: Mike Turquette <mturquette@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-06-10ARM: nomadik: register PL031 RTCLinus Walleij1-0/+1
This registers the PL031 derivate found in the Nomadik 8815 SoCs. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-06-10ARM: nomadik: register AMBA devices dynamicallyLinus Walleij1-9/+4
This makes AMBA devices on the Nomadik main CPU die register dynamically, and refactor the registration of the RNG to use this. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-06-10ARM: nomadik: register GPIOs dynamicallyLinus Walleij1-67/+47
Register the NHK8815 GPIO devices dynamically like the Ux500 does it. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-01-26ARM: amba: nomadik: use common amba device initializersRussell King1-7/+2
Acked-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-01-05ARM: restart: nomadik: use new restart hookRussell King1-0/+11
Hook the Nomadik NHK platform restart code into the new restart hook. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-11-30ARM: 7179/1: nomadik: localize cpu-8815 headerLinus Walleij1-0/+1
The symbols from cpu-8815.c were being broadcast across the entire kernel but are only really used locally in mach-nomadik so let's localize them. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-08-22ARM: 7032/1: plat-nomadik: break out GPIO driver specificsLinus Walleij1-1/+1
The <[plat|mach]/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Alessandro Rubini <rubini@unipv.it> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-05-27ARM: 6145/1: ux500 MTU clockrate correctionLinus Walleij1-0/+8
This adjusts the clockrate for the MTU timer. On the different UX500 variants this rate is different. The platform can also have been set up at hardware initialization, bootloader or early init for different clock speeds. To have the clock framework available early so the timers can use them, the clock initialization for Nomadik and ux500 is moved to IRQ init time. A custom per-clock callback is added to handle special cases like this. This solves a user-visible bug: without this patch the current UX500 platforms will not be synchronized to wall-clock time and the platform will drift in time. Acked-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-03-19ARM: 5972/1: nomadik-gpio: convert to platform driverRabin Vincent1-36/+47
On the U8500 platform there are four GPIO blocks, each with a 4K address space, including the peripheral identification. However, each of these blocks have a varying number of banks, each of which have 32 GPIOs and an interrupt line. The current nomadik-gpio driver implementation can handle each of these sub-banks easily with one instance each, but cannot as-is be hooked up to them because it is an AMBA driver and it expects to see a peripheral with the appropriate peripheral ids but having only one bank and only one interrupt. Solve this by converting the driver to a platform driver. Acked-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-19hwrng: nomadik - Add platform device for rng in cpu-8815Alessandro Rubini1-0/+8
Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> Acked-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-07-02[ARM] 5587/1: nomadik: add l2ccAlessandro Rubini1-1/+7
Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-07-02[ARM] 5584/1: nomadik: add gpio driver and devicesAlessandro Rubini1-0/+75
Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-07-02[ARM] 5590/1: Add basic support for ST Nomadik 8815 SoC and evaluation boardAlessandro Rubini1-0/+58
This patch adds the basic infrastructure for the Nomadik 8815 CPU and the "Nomadik Hardware Kit" NHK8815. This patch only includes the serial console and core stuff, no drivers. Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>