Commit Graph

72480 Commits

Author SHA1 Message Date
Olof Johansson
8437de04d1 Merge branch 'next/devel-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc
Misc SoC-related fixes/cleanups for Samsung platforms

* 'next/devel-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: SAMSUNG: Add check for NULL in clock interface
  ARM: EXYNOS: Put PCM, Slimbus, Spdif clocks to off state
  ARM: EXYNOS: Add bus clock for FIMD
  ARM: SAMSUNG: Fix HDMI related warnings
  ARM: S3C24XX: Add .get_rate callback for "camif-upll" clock
  ARM: EXYNOS: Fix incorrect help text
  ARM: EXYNOS: Turn off clocks for NAND, OneNAND and TSI controllers
  + sync to 3.6-rc6
2012-09-21 23:00:41 -07:00
Chander Kashyap
13acc29119 ARM: SAMSUNG: Add check for NULL in clock interface
The clock instance parameter in Samsung clock interface is not being checked
for NULL pointers. Add checks for NULL pointers.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Acked-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 11:08:32 +09:00
Chander Kashyap
377acfbbcf ARM: EXYNOS: Put PCM, Slimbus, Spdif clocks to off state
The clocks for PCM, Slimbus, Spdif added to off list in order
to turn them off at boot time.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Acked-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 11:06:00 +09:00
Leela Krishna Amudala
a5e0c15dc8 ARM: EXYNOS: Add bus clock for FIMD
This patch adds the bus clock for FIMD and changes the device name
for lcd clock

Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 10:51:44 +09:00
Olof Johansson
3aec092eed ARM: add basic BCM2835 SoC and Raspberry Pi board support
The BCM2835 is an ARM SoC from Broadcom. This patch adds very basic
 support for this SoC; enough to boot the system into an initrd with
 UART console, interrupt controller, timers, and a stub clock driver.
 
 Also provided is a similarly basic device tree for the Raspberry Pi
 Model B board.
 
 This series was written by Simon Arlott, Chris Boot, and Dom Cobley
 downstream, with reference to a Broadcom tree, and modified for upstream
 and submitted by Stephen Warren.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQWnCOAAoJEJuNpwkmVCGcQS8P/01yZOE2QhW/S4ap1voLyRuI
 T7wcjla6UXckuz72qnLitJCDHxwDAF6Kgc/anibQfgambqjOAA5YuXBkJlUaBQF1
 3u6k8pNJ7cI3R44BznnLN4U8QXw/w5IlUdFu7Y7Xg4xyb1Fdx11QJelYmiPIdXEQ
 fFVqO5JQoMWXz7i9fYU/jXHcbINyljgSqhBOM9O1R2W3kayPm3OdmyAXHzmt7rSw
 XPta3QlrkI/fCgolI2A9LMhrfaJVRQe59H9b+fP2R9baWs7BnkZywjO8mwipR8eI
 d4tRH8cy+Aa/RobLe5DnorxZ9abj3vlSv0kG0qBhcieqXZmGKlum3J4h1cBAvs8p
 Cv0Gm7GFxeqCJ3RaLfn1mX2OESmGQ9KH33J3PFQUcNmd82saXz6Kas7YZ5KRlMAI
 +TS3n9Er7P2HlpYF/3ckE3aYrN/iHJaZ/2pa2ZiR8KRnRTY3DMTxgvNIaz044zud
 gHUbQpttzNV0aiqMDqMvpVqBhUMCVF0LWlhQyewQHHdVSS9XNq1lrfbXPc4k54Fs
 Tkz4JT5S1Vhv+iqakwKQvNVpO8XWvj0Z5t5/3IqLpzdYWRp6kQh8giJXhLEQSoVl
 38sJ2v6MzNmyx1yggO58Qq+OpelNDowhY0tGcOrSl6uR786gcivw9T2wd8V0iwbw
 uMeZ6apUnOseOaKU9mrm
 =vqsx
 -----END PGP SIGNATURE-----

Merge tag 'rpi-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/soc

ARM: add basic BCM2835 SoC and Raspberry Pi board support

The BCM2835 is an ARM SoC from Broadcom. This patch adds very basic
support for this SoC; enough to boot the system into an initrd with
UART console, interrupt controller, timers, and a stub clock driver.

Also provided is a similarly basic device tree for the Raspberry Pi
Model B board.

This series was written by Simon Arlott, Chris Boot, and Dom Cobley
downstream, with reference to a Broadcom tree, and modified for upstream
and submitted by Stephen Warren.

* tag 'rpi-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi:
  MAINTAINERS: add an entry for the BCM2835 ARM sub-architecture
  ARM: bcm2835: instantiate console UART
  ARM: bcm2835: add stub clock driver
  ARM: bcm2835: add system timer
  ARM: bcm2835: add interrupt controller driver
  ARM: add infra-structure for BCM2835 and Raspberry Pi
2012-09-20 17:10:51 -07:00
Sachin Kamat
a832139330 ARM: SAMSUNG: Fix HDMI related warnings
Silences the following warnings:
arch/arm/plat-samsung/devs.c:765:31: warning:
symbol 's5p_hdmi_def_platdata' was not declared. Should it be static?
arch/arm/plat-samsung/devs.c:767:13: warning:
symbol 's5p_hdmi_set_platdata' was not declared. Should it be static?

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 08:04:45 +09:00
Sylwester Nawrocki
98a7069ba0 ARM: S3C24XX: Add .get_rate callback for "camif-upll" clock
Add missing get_rate callback for the "camif-upll" clock, so frequency
of this clock is properly reported with clk_get_rate().

Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 08:04:40 +09:00
Sachin Kamat
859a09e671 ARM: EXYNOS: Fix incorrect help text
Changed Exynos4 -> EXYNOS5.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 08:04:39 +09:00
Chander Kashyap
1f926c4883 ARM: EXYNOS: Turn off clocks for NAND, OneNAND and TSI controllers
The clocks for NAND, OneNAND and Transport Stream Interface(TSI)
controllers could be either enabled or disabled at boot. To ensure
that these are turned off until used, add them to the list of clocks
to be turned off during boot.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-09-21 08:04:39 +09:00
Kevin Hilman
aa817b2e68 ARM: OMAP: AM33xx hwmod: fixup SPI after platform_data move
AM33xx hwmod data includes "mcspi.h" which has now been moved after
the platform_data move.  Fix it.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-20 15:30:05 -07:00
Simon Arlott
407f9be454 ARM: bcm2835: instantiate console UART
This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split as of 2012/09/08, and modified as follows:

* s/bcm2708/bcm2835/.
* Modified device tree vendor prefix.
* Modified UART DT node to use a unit-address to create unique UART node
  names, rather than using non-type names "uart0" and "uart1".
  Note that UART 1 (the Broadcom "mini UART") is not yet present, but
  I'm naming the DT node in anticipation that it will be added.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-19 19:08:59 -06:00
Simon Arlott
75fabc3f64 ARM: bcm2835: add stub clock driver
This patch adds a minimal stub clock driver for the BCM2835. Its sole
purpose is to allow the PL011 AMBA clk_get() API calls to provide
something that looks enough like a clock that the driver probes and
operates correctly.

This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split as of 2012/09/08, and modified as follows:

* Reworked to call clk_register_fixed_rate(), and clk_register_clkdev()
  rather than using static data to represent the clocks.
* Moved implementation to drivers/clk/.
* Modified .dev_id for UART clocks to match UART DT node names.
* s/bcm2708/bcm2835/.
* Modified device tree vendor prefix.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
2012-09-19 19:08:53 -06:00
Simon Arlott
ee4af56967 ARM: bcm2835: add system timer
The System Timer peripheral provides four 32-bit timer channels and a
single 64-bit free running counter. Each channel has an output compare
register, which is compared against the 32 least significant bits of the
free running counter values, and generates an interrupt.

Timer 3 is used as the Linux timer.

The BCM2835 also contains an SP804-based timer module. However, it
apparently has significant differences from the standard SP804 IP block,
and Broadcom's documentation recommends using the system timer instead.

This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split as of 2012/09/08, and modified as follows:

* s/bcm2708/bcm2835/.
* Modified device tree vendor prefix.
* Moved to drivers/clocksource/. This looks like the desired location for
  such code now.
* Added DT binding docs.
* Moved struct sys_timer bcm2835_timer into time.c to encapsulate it more.
* Simplified bcm2835_time_init() to find one matching node and operate on
  it, rather than looping over all matching nodes. This seems more
  consistent with other clocksource code.
* Simplified bcm2835_time_init() using of_iomap().
* Renamed struct bcm2835_timer.index to match_mask to better represent its
  purpose.
* s/printk(PR_INFO/pr_info(/

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-19 19:08:46 -06:00
Simon Arlott
89214f009c ARM: bcm2835: add interrupt controller driver
The BCM2835 contains a custom interrupt controller, which supports 72
interrupt sources using a 2-level register scheme. The interrupt
controller, or the HW block containing it, is referred to occasionally
as "armctrl" in the SoC documentation, hence the symbol naming in the
code.

This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split as of 2012/09/08, and modified as follows:

* s/bcm2708/bcm2835/.
* Modified device tree vendor prefix.
* Moved implementation to drivers/irchip/.
* Added devicetree documentation, and hence removed list of IRQs from
  bcm2835.dtsi.
* Changed shift in MAKE_HWIRQ() and HWIRQ_BANK() from 8 to 5 to reduce
  the size of the hwirq space, and pass the total size of the hwirq space
  to irq_domain_add_linear(), rather than just the number of valid hwirqs;
  the two are different due to the hwirq space being sparse.
* Added the interrupt controller DT node to the top-level of the DT,
  rather than nesting it inside a /axi node. Hence, changed the reg value
  since /axi had a ranges property. This seems simpler to me, but I'm not
  sure if everyone will like this change or not.
* Don't set struct irq_domain_ops.map = irq_domain_simple_map, hence
  removing the need to patch include/linux/irqdomain.h or
  kernel/irq/irqdomain.c.
* Simplified armctrl_of_init() using of_iomap().
* Removed unused IS_VALID_BANK()/IS_VALID_IRQ() macros.
* Renamed armctrl_handle_irq() to prevent possible symbol clashes.
* Made armctrl_of_init() static.
* Removed comment "Each bank is registered as a separate interrupt
  controller" since this is no longer true.
* Removed FSF address from license header.
* Added my name to copyright header.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-19 19:08:37 -06:00
Simon Arlott
ec9653b847 ARM: add infra-structure for BCM2835 and Raspberry Pi
The BCM2835 is an ARM SoC from Broadcom. This patch adds very basic
support for this SoC.

http://www.broadcom.com/products/BCM2835
http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

Note that the documentation in the latter .pdf assumes the MMU setup
that's used on the "VideoCore" companion processor, and does not document
physical peripheral addresses. Subtract 0x5e000000 to obtain the physical
addresses. This is accounted for by the ranges property in the /soc node
in the device tree.

The BCM2835 SoC is used in the Raspberry Pi. This patch also adds a
minimal device tree for this board; enough to see some very early kernel
boot messages through earlyprintk. However, this patch does not yet
provide a useful booting system.

http://www.raspberrypi.org/.

This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split from 3-4 months ago, and significantly stripped down and
modified since.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-19 19:08:27 -06:00
Olof Johansson
f4936639bc From Paul Walmsley <paul@pwsan.com>:
AM33xx hwmod data and miscellaneous clock and hwmod fixes.  AM33xx
 should now boot on mainline after this is applied, according to
 Vaibhav.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUWFsAAoJEBvUPslcq6VzI70P/2ECL6bunE1s53JInm7u3HFB
 SM5RkOXsF8Sl+2zW0V2R8ZO9OQZC1co8e+6SmlPftv1pVXYP4wtNiFHy1MMQ5Nr7
 O2ajKzAcGM1TAiJQ4A1yyfRZucOQQx7pPifACWkjagWy06JaYSUWGaea3z/g/n/U
 2CGySqfyzwisiMnyZvIyxHD+cSDtERoweEEbFBKeLRlfecuBs91tIyHNbMqy7cc2
 Bf+2G8m0AnrzMqhtzNAKCGJSzFEFDlr0umpLFxC+QLVFHKMJWJ7o2RwuAqf/Z9lw
 AS8q2sqzypOPz7eW7z9WLqCW1YlJWhBJmLCJ1alvkebRvWRM0idlVVS3wKjHaP6q
 NXF91mn21Xd9xzjXTtgigiDav0MpMuH6+FVWENanx1Rhn23GUIyRdKGMFQOeze2l
 lS/vitiTDsCbXQ/EJNlDNHI2skv6AgbBbSpCsg+YivjF16DfZWhlZrFKSvQbWKfW
 Mv5PnOnrpcIFNzcH8tGv9XUa61wM/HvRFbcICePAKOKy+vn2VkR/Q1XMmwHANhVf
 +AMDtRNCfuspmed1pIdy4vOAcWFdXhL2jZFOBeX6rENJ2+rwJuziEuwsc1xQ8BZ5
 KV9RZcg9NwvhEBiLK+K4nViRwTeeSC1OZGIEpIsJ6YOTOfWClYSnTW7In5gY1jNL
 HetIvmP55Mm21G4L02D/
 =UyqO
 -----END PGP SIGNATURE-----

Merge tag 'omap-devel-am33xx-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:
From Paul Walmsley <paul@pwsan.com>:

AM33xx hwmod data and miscellaneous clock and hwmod fixes.  AM33xx
should now boot on mainline after this is applied, according to
Vaibhav.

(The shortlog makes no sense here since it contains mostly the dependent
cleanups that are part of the preceding branches).

Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-16 20:13:04 -07:00
Olof Johansson
d1226e8f98 Kevin Hilman <khilman@ti.com>:
Updates for omap_device layer for v3.7.
 
 Allows omap_device layer to keep track of driver bound status in order
 to make more intelligent decisions about idling unused devices.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUV9+AAoJEBvUPslcq6VzowIQAKB/qmgPDjNkHk7YsVRaIKJa
 Jh4owrr1i141Tdz0X5tyXZLXob356fXEphi20mBDnxBhx0RA+BIhVvUa4DM2AGZx
 qKENVws4my2uRWnsrIPY2GmrBY61wEYaSeqp6KeVQ1NJENKe9e1mcD/WakNZdhQt
 Nk16ObPjtcSXhL+3cWprp7qaIRfFXgWg0KDAC26RTd4S1YvGhnT442ZlPXKf6klG
 yTkfljNgGiwKeFHF8w1KSmFmuhTsEu8R7e4xUt9nwnqWj3RHjioZV70LyhUYMJis
 ttQT5+OywtLQu7hCDKMDtgDAkH7zPtww00PiMKZSATEUOX3cKVG4wFyAYrKz3HBe
 Hx1qj7g0vNqiTty7rGC1rJrIOVVCjwx2iR4JVgmZ1Q3iLIuL53COu+o20/IHcS+l
 E7PbXw0BF9dghcL12HtCx26TrW26iewA14kEo0KKie7aWor/R07G+Bh/ittbnfu1
 PlR+VVJflPr8fJMSaW6+Pt8Od2xNQ1bh37V4MVY9KKBxkAfFS4uPowg44RiHz2nP
 wmC764DAZH+Qd7+jpz+hH3HLYiIjWqdhKof2BDejVnLUSymaYUJX/7cU9PoNn2h3
 4nx76ecW1CoRR/rl9FaXhP1BcO9/AdOFQjRE+9UhoqBlHKjwIrFvRef8ZnQc7o2Q
 8dj9vcRnI52jQQ4IHtUq
 =oGJ/
 -----END PGP SIGNATURE-----

Merge tag 'devel-omap-device-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Kevin Hilman <khilman@ti.com>:

Updates for omap_device layer for v3.7.

Allows omap_device layer to keep track of driver bound status in order
to make more intelligent decisions about idling unused devices.

* tag 'devel-omap-device-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: omap_device: idle devices with no driver bound
  ARM: OMAP: omap_device: don't attempt late suspend if no driver bound
  ARM: OMAP: omap_device: keep track of driver bound status
  + sync to 3.6-rc5
2012-09-16 19:24:53 -07:00
Olof Johansson
cccc277ba8 ARM: tegra: implement CPU hotplug
This branch implements CPU hot-plugging support for both Tegra20 and
 Tegra30. Portions of the implementation are contained in the clock
 driver, hence this branch is based on the common clock conversion in
 order to avoid duplicating work.
 
 This branch is based on previous pull request tegra-for-3.7-common-clk.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJQU4DzAAoJEMzrak5tbycxwvIP/1nINaoG27CRz/SwsbhDw4N2
 1ESEbEAynnAsdmZCpmIpvK3Xr/aE8hBfKc0EUgi7intThjFcLwzFnH7yEKzdxdJM
 ZgY7JawMML7J0yXrLuJaISyHn9Kbp1A0B8bJo8cld56h8rd99vC6OZxPGvVuaY8y
 I28nXhvkiiHS1h7ilT/bf4aa7Z3u4xiS46hsiCUu1fWCM//JtpMDChCUKIshaGxU
 G5j/o/oivGShjamQRcbBCnwo5LdMUiaAXotszVNnJC/17p1FMWViMGjH6fmSN1KJ
 G8+jX70mJ3PCRH4ivE+KZBpddG/anNviXc6cVYZrW+/nkJwvD61OEKs3p7siLyuF
 igJeXGwXHZwTBDm5rYqbguR0c8VD1TriAibk72lz/jTHWLy0gvqnZXPerp2cbC37
 4BHfKFczeB2gJiHIKnmlawYIk2ckAd+gahI19X/JGcbhiXDQSJWUIK9SCKQBtxZk
 eD1nOpH/nvPkh414xkLz44UheYk8u+6blYZ5St4wiJM+35ngbU1Fh1oOziH7PZG6
 EslqoAKxJ79igUGNc9mcvKFlNZSU7ItlXMDWTlW0GWI8jubsxIrfeNr5bjBLGL3t
 1LHSO1FDnr87ha8jGXlZtSyNvcY8cLVILjMcZNUha0wE9hllm5naBDnaDrFlC0CQ
 vFvNodvbqZns96ZK05yw
 =kTup
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.7-cpu-hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

From Stephen Warren:

ARM: tegra: implement CPU hotplug

This branch implements CPU hot-plugging support for both Tegra20 and
Tegra30. Portions of the implementation are contained in the clock
driver, hence this branch is based on the common clock conversion in
order to avoid duplicating work.

By Joseph Lo
via Stephen Warren
* tag 'tegra-for-3.7-cpu-hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra20: add CPU hotplug support
  ARM: tegra30: add CPU hotplug support
  ARM: tegra: clean up the common assembly macros into sleep.h
  ARM: tegra: replace the CPU CAR access code by tegra_cpu_car_ops
  ARM: tegra: introduce tegra_cpu_car_ops structures
2012-09-16 18:33:23 -07:00
Olof Johansson
ea2abb670b ARM: tegra: switch to the common clock framework
This branch contains a few bug-fixes, followed by a conversion of Tegra's
 clock driver to the common clock framework, followed by various bug fixes
 found after the conversion.
 
 This branch depends on v3.6-rc4.
 
 This branch is a dependency for a few later pull requests.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJQU3/GAAoJEMzrak5tbycxpmgP/3FVs1lzOkPoO0kEU1p4OpwS
 FqyytxJiO0vo40MDeqB0SKQX3Ss9eonwq9J1bj/N14GeZipBCtPEezl84JdKgI21
 8Lktfcxd72rjmWDJQWDzlSJfBZVvdH3B4QUWBAEumGTZ6sqkeAkw2oyG2xY2OBJO
 2tUA56IThlviYdQBcZPnW8BypKdD6xncxgvHT2Kp1BE8FWy+JrJZQPpUKtlI0p0w
 MHrsgB2FYuKcILoqVeYRI2EiX/NyDtnhY0sadqwL7zyFzkiV2cF54MIrYjTPgZ5w
 jpCsnt/EFMUWk1Obav5ldX1HJojyQOGASNNqO+M24GWNUOkG6D8km60rzzykgcb5
 4G2NQFfLcHrnXV/u2nOGzMOfpq3PDMyLJ45CjW4Vu9vpLOZuS93IwuVxBNedY2oa
 rM0OWXaKOH2RVCj2siO+QqclwbjF0ASunvMwo2tpVcfwFN0/1eco68yoHGhBzA8O
 SlPHAIZ0oHBOTwmcTXUs2fqIotO1NvA7j0Q7ig4kFEQHmsfsBOd0a1kE7f9vcbiU
 pGE2R+R+U3yhEmqUJFhkBm+E36N14urpmHE1YDfONb2gKdt8e750weRRlS0Wb1cF
 KJ4roB1fkXlnf86DXZbn0fNPXeOlM4S0myk5Vaz/r7E3m7yvPk4G3DIGMUDu+i5V
 zLXQEnrf+Q3M8bczdtXE
 =hSRq
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.7-common-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

From Stephen Warren:

ARM: tegra: switch to the common clock framework

This branch contains a few bug-fixes, followed by a conversion of Tegra's
clock driver to the common clock framework, followed by various bug fixes
found after the conversion.

* tag 'tegra-for-3.7-common-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: Tegra: Add smp_twd clock for Tegra20
  ARM: tegra: cpu-tegra: explicitly manage re-parenting
  ARM: tegra: fix overflow in tegra20_pll_clk_round_rate()
  ARM: tegra: Fix data type for io address
  ARM: tegra: remove tegra_timer from tegra_list_clks
  ARM: tegra30: clocks: fix the wrong tegra_audio_sync_clk_ops name
  ARM: tegra: clocks: separate tegra_clk_32k_ops from Tegra20 and Tegra30
  ARM: tegra: Remove duplicate code
  ARM: tegra: Port tegra to generic clock framework
  ARM: tegra: Add clk_tegra structure and helper functions
  ARM: tegra: Rename tegra20 clock file
  ARM: tegra20: Separate out clk ops and clk data
  ARM: tegra30: Separate out clk ops and clk data
  ARM: tegra: fix U16 divider range check
  ARM: tegra: turn on UART A clock at boot
2012-09-16 18:25:15 -07:00
Olof Johansson
26a806c064 ARM i.MX SoC updates
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABCAAGBQJQUG1pAAoJEPFlmONMx+ezxIUP/RGfylH27+JGg+88dj8y1RfF
 jaKYDmhD4owGhHSES2XRyfeEcZQ7i4+NH/fsNqsfzsHcQiPx380ptwwzkwzM8Z1R
 FgFtqrJ1TzPPsXtl93pVi3M6nHgGod/9gZh+sEZ8k6TmTeTGbS5AjhRZ9xD699uP
 mp/3xTQuKjusV6/4MNkmxy/56DSqoXAMGitR4PXf9NeS9EyJYq6GOkbQ0Zugxs66
 eZxHw93rPqifZQcV17aWOY75TdGsQ1OiYoVwGWLFEc8a2zhi3TB68s36cNdhCb1V
 KIXkHurdDwg8kY6v9ueNRBEckjp7oXUTQmpYpGi2QJzJtblVfqqg9ACTvyeFKrlm
 va5H/UVJmehkwxVADj/Wm08Uknfph0EtAE7Dt6IceZjmwNB+haoc3M8rm+FJkmK7
 2cB0N7HHrN1jK7GAYHkmyFc8H5392Nk4/b161AR/vVupTEq7040eoTRmc7cg2oVE
 3L2cD5i7VnGJ0McdRJO6l7JOCX+U/SKH9mpNu32AIakcU2QkMrJP2O0Oh7VwaSiP
 OU322R276jOD0zRR0nwa5jM8gOOZPsi0vYOjyTpoOw/+xDQ1le42HkfMRUr0Wusi
 yrkhtFJN1WQUY2OzS89CWTri0uS2isZfiLCq/pJZQdjB+JgFrfYmddgicoAPts64
 NX/60y79DFzNAixHItUt
 =YY27
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc' of git://git.pengutronix.de/git/imx/linux-2.6 into next/soc

ARM i.MX SoC updates

* tag 'imx-soc' of git://git.pengutronix.de/git/imx/linux-2.6:
  ARM: i.MX35: Implement camera and keypad clocks
  ARM: mxc: ssi-fiq: Make ssi-fiq.S Thumb-2 compatible
  ARM i.MX53: register CAN clocks
  arm imx31: add a few pinmux settings the tt01 needs
2012-09-16 17:15:29 -07:00
Linus Torvalds
1568d9f425 Merge branch 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
Pull one more DMA-mapping fix from Marek Szyprowski:
 "This patch fixes very subtle bug (typical off-by-one error) which
  might appear in very rare circumstances."

* 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
  arm: mm: fix DMA pool affiliation check
2012-09-14 17:53:11 -07:00
Linus Torvalds
7ef6e97380 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar:
 "This tree includes various fixes"

Ingo really needs to improve on the whole "explain git pull" part.
"Various fixes" indeed.

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf/hwpb: Invoke __perf_event_disable() if interrupts are already disabled
  perf/x86: Enable Intel Cedarview Atom suppport
  perf_event: Switch to internal refcount, fix race with close()
  oprofile, s390: Fix uninitialized memory access when writing to oprofilefs
  perf/x86: Fix microcode revision check for SNB-PEBS
2012-09-14 17:43:45 -07:00
Joseph Lo
453689e407 ARM: tegra20: add CPU hotplug support
Hotplug function put CPU in offline or online mode at runtime.
When the CPU been put into offline, it was been clock gated. The
offline CPU can be power gated, when the remaining CPU goes into
LP2.

Based on the worked by:
Colin Cross <ccross@android.com>
Gary King <gking@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:06 -06:00
Joseph Lo
59b0f6825c ARM: tegra30: add CPU hotplug support
Hotplug function put CPUs in offline or online state at runtime.
When the CPU been put in the offline state, it was been clock and
power gated. Except primary CPU other CPUs can be hotplugged.

Based on the work by:
Scott Williams <scwilliams@nvidia.com>
Colin Cross <ccross@android.com>
Gary King <gking@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:06 -06:00
Joseph Lo
c2be5bfcc9 ARM: tegra: clean up the common assembly macros into sleep.h
There are some common macros for Tegra low-level assembly code. Clean
up them into one header file and move the definitions that will be
re-used into it as well.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:06 -06:00
Joseph Lo
bb6032776d ARM: tegra: replace the CPU CAR access code by tegra_cpu_car_ops
Replacing the code that directly access to CAR registers with
tegra_cpu_car_ops. This ops hides CPU CAR access inside and
provides control interface for it.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:05 -06:00
Joseph Lo
dab403ef23 ARM: tegra: introduce tegra_cpu_car_ops structures
The tegra_cpu_car_ops provide the interface for CPU to control
it's clock gating and reset status. The other drivers should use
this for CPU control. And should not directly access CAR registers
to control CPU.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:05 -06:00
Prashant Gaikwad
b4350f40f7 ARM: Tegra: Add smp_twd clock for Tegra20
Clockevent's frequency is changed upon cpufreq change
notification. It fetches local timer's rate to update the
clockevent frequency. This patch adds local timer clock
for Tegra20.

Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:34:29 -06:00
Linus Torvalds
6a2a2b85db arm-soc: bug fixes for v3.6-rc
- A set of OMAP fixes, about half of them PM/clock related, the rest
   scattered over the platform code but all small and targeted to real bugs.
 - Two small i.MX fixes for SSI device clock setup.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUYT/AAoJEIwa5zzehBx3m7UQAIW17Uzqfw+5KGhh0UMSVPuq
 XQznJRadYAlLwRK8O/K6aJ1TnHa21BrVSa8F2y9KHthM7YhGplzcluNMUtOGRCsM
 HUceddSqy7DQp7CcwAJSb+VHd5I1d7iVbEp3oU3BD0OGQM6J0ddfUUo6a2fnpETV
 E6JpHhllB7NXVq8Bx5gy/M9idaUdjxNyAEe62pjmVmvK2wi1l1323wiMYpcU8i9t
 wBPHRDvYAHLju1j9qVZQa8gZ6EEGqqCaSIbCmX3omuuFFkmZHRHJSqv428LKa8lN
 i8CfknJJTVDt+9RojJ+P4VuAMr+PWdZmL6cWS1dVz4KZsnG7eyfD3e4GczCd7UEd
 YKLLh/0B1Oo+dH+6kXK8RscC5P38zRxT3fmpZ6R7yePGuYQJHkuMaBq8Lg46blJR
 m+bTWrGoZByO1XCmebh2lCfu8PsuuksuTwr7Lu3ekDhZF5vDr9KFlmyts4lLTSaW
 zjWjoAJa8334w1rRRnR4eWllFRx62VJWkZiQU5jlV6V01/FedLB0/RxPMT6RRDiw
 DoCLPWIPe0ft2qgSTrPcbIVqcQcpzwVsPKq8OHcYUA6cILg7Q5Rix/V1FbVlw1ac
 ob63CBSA7vxoN5PlErLO7eAluEmQjM45drQ5d6THdkihM/uzZ44VJ/pwW67ZmahW
 jtH+5XOSNVsZU0dk/9dY
 =y6Db
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull arm-soc bug fixes from Olof Johansson:

 - A set of OMAP fixes, about half of them PM/clock related, the rest
   scattered over the platform code but all small and targeted to real
   bugs.
 - Two small i.MX fixes for SSI device clock setup.

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: clk-imx35: Fix SSI clock registration
  ARM: clk-imx25: Fix SSI clock registration
  ARM: OMAP4: Fix array size for irq_target_cpu
  ARM: OMAP4: hwmod data: temporarily comment out data for the sl2if IP block
  ARM: OMAP: hwmod code: Disable module when hwmod enable fails
  ARM: OMAP3: hwmod data: fix iva2 reset info
  ARM: OMAP3xxx: clockdomain: fix software supervised wakeup/sleep
  ARM: OMAP2+: am33xx: Fix the timer fck clock naming convention
  ARM: OMAP: Config fix for omap3-touchbook board
  ARM: OMAP: sram: skip the first 16K on OMAP3 HS
  ARM: OMAP: sram: fix OMAP4 errata handling
  ARM: OMAP: timer: obey the !CONFIG_OMAP_32K_TIMER
2012-09-13 19:10:50 +08:00
Olof Johansson
2bc733e8b4 ARM: i.MX: Fix SSI clock associations for i.MX25/i.MX35
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABCAAGBQJQTwn8AAoJEPFlmONMx+ezcuQP/iSJjSTecLvWH8c7cD9To+nv
 ItpQakHtabQZVEtQgfCb2uy8u1vKbIZcJ4FlqwDz6Q9AiV0SngXjHfR+PPO9mDuj
 4JmnF7ZnKtYcjBC/rhMAmiU+cVqrjY7WLwqz2FTEUc4OVC8m9xFIh0nhRSvQbngj
 MQdp4kBRriroaoF6ZgoanjhD/Xw0kEeERiAMbjlq7je+ZAZWYXj38tHg8BYp3Hrf
 ERVMXGoYgwglwNyooJHs5lAWTqKjSrXy+RAIQhV8yXOWE1Q+Jd7NE6ZOtn3VE20D
 8iO0WgjITi3xm+ewCzJT5UVcQmktGjpYTD5ePvbi0eilX1D8sL704QiOauJETcQq
 j4EHjgb+o53V9hyJt5Z3SWmJiyCsQRxlKagmbpJoRXWII08qR+Tgh2I8jgmCEAnw
 HTrA+IPZ1hFCUyQT7JZzDLak6nwOLQAc1S2H/GxyCOPhURZsFpLBdi9dqIyiMUdw
 KFw8T8GE5NgqXKB9osa3CGtjBfDtNWBTTRF+akQg9k1656HyWKxl24oSbX4kXsnC
 O9N4SSxjx7mL87elGV+jzIE61O2cTH5cTGA6Z7HAKQLAckLdF4+hd/NS8oOPtNOm
 K0r0EIt2U127I9OlpxvzosGjDgMzytGBP4NH0OmEovdvTX2Xh3uAyaiA/7rGWdoH
 /Tec1NLs0VbDv+jM2rKx
 =1cS3
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6 into fixes

ARM: i.MX: Fix SSI clock associations for i.MX25/i.MX35

* tag 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6:
  ARM: clk-imx35: Fix SSI clock registration
  ARM: clk-imx25: Fix SSI clock registration
  + Linux 3.6-rc5
2012-09-12 22:00:07 -07:00
Tony Lindgren
11964f53eb AM33xx hwmod data and miscellaneous clock and hwmod fixes. AM33xx
should now boot on mainline after this is applied, according to
 Vaibhav.
 
 This second version includes trailing commas at the end of structure
 records at Tony's request.  It also adds a OMAP_INTC_START macro
 expansion to each IRQ number to make the sparseirq conversion easier.
 
 Basic build, boot, and PM test transcripts are here:
 
 http://www.pwsan.com/omap/testlogs/am33xx_hwmod_clock_devel_3.7/20120912165952/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQURsaAAoJEMePsQ0LvSpLl24QAIMeCOw7z+SEjOetmWPRekS6
 uPj9mz7EkWjBITMAPToQ7v9oESn+M0jcaD7wkOKaVBhPj6shXUwaMy6KmcZ5BuKf
 1zrjL57ljhVLYumX8sKO3vPfKt1JvRCvcgu7xtgDKc9ywmuJLqolbi9BNxh/xo94
 7IQHJk6Snrz6DxRTcvX2jUOwHG5o8WCGjPST5ZTQCKQKdpxKyeUILrhddbJMQdaq
 U7DTxZVdk75KM0dbt8wVRP7AWczh8TLBEKR/bsWF47g/iL0neMDuLXyfrOd0A5ct
 +JyGycl5a6lF/TiTQ7Is36s0uquidKozIx+2PwCdJGX/ntvme1wOZUGq1NSET/sw
 /Uos1NjJqhM1wLPL0AbuJ8hQlZkvZThYL6c0a+GSxKGKE2dtk5ZH8vC/JMv17u21
 RUzxjq1rDZVGYnm3CtO305kzQYxdUu/7aBMCE29gWKrlPr8Pz2O6wvkFePja9Qxe
 YmlxakogwpFkmMaQ3eeN14VEuXCd7c2i1o8XiF/9ph250qzzKd6wTSra6Xggd32L
 17GXtAfGWySqgFhb3Mfupbbr/lWGSFLeW2NhT7ZGsORvTC8J4KCql0r7f9V0/1WH
 DjUcljoYF15CdOxh71vIsUOKDqN0RtyRIgeBXaIam8RDNhaF5WJjjtiIbFIS4EAm
 Xw9zTjalQzJnbivxz/cy
 =yRjp
 -----END PGP SIGNATURE-----

Merge tag 'omap-devel-a2-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into devel-am33xx

AM33xx hwmod data and miscellaneous clock and hwmod fixes.  AM33xx
should now boot on mainline after this is applied, according to
Vaibhav.

This second version includes trailing commas at the end of structure
records at Tony's request.  It also adds a OMAP_INTC_START macro
expansion to each IRQ number to make the sparseirq conversion easier.

Basic build, boot, and PM test transcripts are here:

http://www.pwsan.com/omap/testlogs/am33xx_hwmod_clock_devel_3.7/20120912165952/
2012-09-12 21:29:07 -07:00
Tony Lindgren
47d85ec2a2 Updates for omap_device layer for v3.7.
Allows omap_device layer to keep track of driver bound status in order
 to make more intelligent decisions about idling unused devices.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUOmNAAoJEFk3GJrT+8Zlkm4P/3RUc2w4UJAsbz5/UcF4n4Nf
 +lkHjxNMSVGuWYqzcKSMnj3sKqcX1VhTNtak87VfdNeANzdryNXqWNKJow5W/Fqc
 A+PE6NeZplZBRAyW5BkMVWca1W8XB8cHU5ajwl4rJFQsMVxoR6U+Sv4hhs42BwQJ
 RC+cSvqiYwRQT7WSnGbkOQWbylyeJGXZpVWgv4ki/ggVvqrs07MNmBh5dLdxWRPg
 DYMukfuyNkhCISUZxenEB3/ph8TxzBrlj0biMQQHk/K9VxlFWmhZ5h+Ye3YSRLYy
 xzinkzdzaoKEA+HQAVucdHz9OSwQjP9fG8wortLRvSV74gv9pgz+Q9j51zBKHdH4
 tTeakEy8PJPodq1GPShxuNeulSMdG8xrfWv23uZ5Kwf1lgL1ywhX91zDs3Vd+i+u
 +5Jx2FEgPfWE306kGOrnZpWfh9GZFJWdWje5BvBtk/E8o+pZQJXBmYBs0L/V6TGw
 aNzeShejL9JDF7A5Yzyd01+BZbu3fFjqx1SOUUTGglAfrQHHLRLUwctdCVud1ZEN
 3Gw1EGWelgj8eee0E8fKF0yqYGK69dJwmusEqAXLbswB+Wnjd6rHcaB5z5lfqsVC
 qNWtxFmQEq8H988qbhlxjRxYQewxQ8KJfNGJimG6xX75sLCGXC4/vBnL81NNviRA
 FQLi+TAEk4cUZosx9zah
 =JHjf
 -----END PGP SIGNATURE-----

Merge tag 'for_3.7-omap_device' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-omap-device

Updates for omap_device layer for v3.7.

Allows omap_device layer to keep track of driver bound status in order
to make more intelligent decisions about idling unused devices.
2012-09-12 21:17:56 -07:00
Tony Lindgren
68cb700c59 ARM: OMAP1: Move SoC specific headers from plat to mach for omap1
There's no need to have these in plat-omap any longer. Note that these
could eventually be made local to mach-omap1 instead of being in mach.

But to do that, at least various driver access using omap7xxx.h registers
needs to be fixed first.

Cc: spi-devel-general@lists.sourceforge.net
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
c49f34bc25 ARM: OMAP2+ Move SoC specific headers to be local to mach-omap2
These can now be moved to be local headers in mach-omap2.

Note that this patch removes arch/arm/plat-omap/devices.c as it
will get removed anyways with Paul Walmsley's patch
"ARM: OMAP: split OMAP1, OMAP2+ RNG device registration".

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
dbc0416104 ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+
As the plat and mach includes need to disappear for single zImage work,
we need to remove plat/hardware.h.

Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.

The old plat/hardware.h already has omap1 only defines, so it gets moved
to mach/hardware.h for omap1. For omap2+, we use the local soc.h
that for now just includes the related SoC headers to keep this patch more
readable.

Note that the local soc.h still includes plat/cpu.h that can be dealt
with in later patches. Let's also include plat/serial.h from common.h for
all the board-*.c files. This allows making the include files local later
on without patching these files again.

Note that only minimal changes are done in this patch for the
drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
patches are needed to eventually remove cpu_is_omap usage in the drivers.

Also only minimal changes are done to sound/soc/omap/* to remove the
unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
no need to include omap44xx.h.

While at it, also sort some of the includes in the standard way.

Cc: linux-watchdog@vger.kernel.org
Cc: alsa-devel@alsa-project.org
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
Cc: Liam Girdwood <lrg@ti.com>
Acked-by: Wim Van Sebroeck <wim@iguana.be>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
cc4f0f33c7 ARM: OMAP: Remove unused old gpio-switch.h
This is no longer used anywhere.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
8afc5e088e ARM: OMAP1: Move plat/irqs.h to mach/irqs.h
This is now omap1 specific files.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
ec2c0825ca ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
Remove hardcoded IRQs in irqs.h and related files as these
are no longer needed.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
7d7e1eba7e ARM: OMAP2+: Prepare for irqs.h removal
As the interrupts should only be defined in the platform_data, and
eventually coming from device tree, there's no need to define them
in header files.

Let's remove the hardcoded references to irqs.h and fix up the includes
so we don't rely on headers included in irqs.h. Note that we're
defining OMAP_INTC_START as 0 to the interrupts. This will be needed
when we enable SPARSE_IRQ. For some drivers we need to add
#include <plat/cpu.h> for now until these drivers are fixed to
remove cpu_is_omapxxxx() usage.

While at it, sort som of the includes the standard way, and add
the trailing commas where they are missing in the related data
structures.

Note that for drivers/staging/tidspbridge we just define things
locally.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
4b25408f1f ARM: OMAP: Move gpio.h to include/linux/platform_data
This way we can remove includes of plat/gpio.h which won't work
with the single zImage support.

Note that we also remove the cpu_class_is_omap2() check
in gpio-omap.c as the drivers should not call it as we need to
make it local to arch/arm/mach-omap2 for single zImage support.

While at it, arrange the related includes in the standard way.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: linux-mtd@lists.infradead.org
Cc: alsa-devel@alsa-project.org
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
a940d9a1cb ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
We can't use hardcoded interrupts for SPARSE_IRQ, and can replace
the hardcoded gpio_base with twl_gpiochip.base after it's been
allocated.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
714df7b8ab ARM: OMAP2+: Remove unused nand_irq for GPMC
This is no longer needed and assumes a fixed IRQ number
that won't work with SPARSE_IRQ.

Acked-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
3003ce3ecd ARM: OMAP2+: Make INTCPS_NR_IRQS local for mach-omap2/irq.c
Make INTCPS_NR_IRQS local for mach-omap2/irq.c

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
936e0f2fd6 ARM: OMAP1: Define OMAP1_INT_I2C locally
This is needed to start removing hardcoded IRQs for omap2+.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:29 -07:00
Tony Lindgren
9ee0731768 ARM: OMAP1: Move define of OMAP_LCD_DMA to dma.h
This is needed to start removing hardcoded IRQs on omap2+.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:29 -07:00
Linus Torvalds
8507876aaa Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm
Pull ARM fixes from Russell King:
 "It's been a while...  so there's a little more here than normal.

  Mostly updates from Will for the breakpoint stuff, and plugging a few
  holes in the user access functions which crept in when domain support
  was disabled for ARMv7 CPUs."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7529/1: delay: set loops_per_jiffy when moving to timer-based loop
  ARM: 7528/1: uaccess: annotate [__]{get,put}_user functions with might_fault()
  ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS
  ARM: 7526/1: traps: send SIGILL if get_user fails on undef handling path
  ARM: 7521/1: Fix semihosting Kconfig text
  ARM: 7513/1: Make sure dtc is built before running it
  ARM: 7512/1: Fix XIP build due to PHYS_OFFSET definition moving
  ARM: 7499/1: mm: Fix vmalloc overlap check for !HIGHMEM
  ARM: 7503/1: mm: only flush both pmd entries for classic MMU
  ARM: 7502/1: contextidr: avoid using bfi instruction during notifier
  ARM: 7501/1: decompressor: reset ttbcr for VMSA ARMv7 cores
  ARM: 7497/1: hw_breakpoint: allow single-byte watchpoints on all addresses
  ARM: 7496/1: hw_breakpoint: don't rely on dfsr to show watchpoint access type
  ARM: Fix ioremap() of address zero
2012-09-13 09:05:22 +08:00
Tony Lindgren
a1e01703ba Changes for GPMC (General Purpose Memory Controller) that take it
closer for being just a regular device driver.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUQu9AAoJEBvUPslcq6Vz8AQQALVhM5PoomGlr4OkTFEc7+xy
 9r1W9NMbD0EX91o5SrdOCSvEaGSV3eKpe2nNGWXNhDwrpDz/Zeci2Ga/ADJdIx+h
 OxbMtx4o9hakSKJAgQAtnc8Ay9Ao5zYcDfMv2kVi8/iQ+CpVnzhZT9HN4rFv0eQF
 +7xhWlni10iqGyAEKVO1FajNZMO7qYdwXNq1XeuDNV3dFV/vOoaCVQbcH/+dyaRQ
 Wqq8BtYuZ3ELu2GiM7rJJMVu/c7AimHjmsXvO4nJ3fkD+izPaqHroNZFyNtHIv0k
 Hc6iWuxN9KnbKXv0Yioc78jDUxumUBToMfniBB9f7S69uKFBFB7FZQjxxje2KTZ8
 HWgUOHWPW3jKM24xfaZhtWtn+swSkSJcZB2DC4shK/nHF2WHH1zaWNVF6NOE/uk0
 nC3cGNOnsSw+jTbl0/CtxBOnpA8RCV3yeW+Fg+iH8v310yrZChtBh6e3ptlHoYl9
 2vZ4xEO2LRBa9MIq5RyLoei+omJFkiugkp75Ln3UrwjbfQyiH0HTWoI9nzkI8HF3
 CiyA7k6aDQ+Qp82L5WEvAh04Z8af2BZSDp6TlC4yEgBXV9Y4ssF8rhHvqBIzv1hC
 d6ohUGdwYQcVfL8xbVUwcbUaTvJcqmxNy20vkhEdqdYMrLWnjy09Nxbl8EJxe6Hh
 zvILFXH7sTIjXBGN3RlN
 =A43b
 -----END PGP SIGNATURE-----
mergetag object cf3a6ec2c0
 type commit
 tag cleanup-omap-tags-for-v3.7
 tagger Tony Lindgren <tony@atomide.com> 1347323254 -0700
 
 Remove the ancient omap specific atags that are no longer needed.
 
 At some point we were planning to pass the bootloader information
 with custom atags that did not work out too well.
 
 There's no need for these any longer as the kernel has been booting
 fine without them for quite some time. And Now we have device tree
 support that can be used instead.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQToX6AAoJEBvUPslcq6VznGYP/141pkbT7BL112e8zMQrAWRb
 eKCJKw58J+XJZ4BTOCCqDwcGvKn0ZjRaCx7rtBmQVi1Pc7r4hmbPUwn6GSIMUTKY
 BKaCsfQFs1mS/uXXJcWV2JkXuKxooEsEP8KD7ctO5GgjBgTjPIIa45OG7qZMBqKL
 CYrjGRuaXJqtP9OR7Ad3gcbAkfCaYAIxvi+bb7jHHfYYQKJCLPPWno0aSEMRqvAm
 qZmRzc4CIzfBTxTixOvBsxa2MluViUTwtu+p6hpvhKvVO80QjJCL4kgdWk4hiSSe
 hWxHRsnA+aLX9vyuBwEWzDJ3ty0C3gur+F1bJpwtkQR/YUEmgak+pOQbe5WlA6rr
 9oonRue886c3QjyubY5k9uLWWC/wTnnPmztoGdDiWyDA89dJFjHGvK7tngKL/xz+
 cLhT5pHJnWSPiFlEWQbwU3znaA+rzbVbxwyDdIzl6KWyvq+m4rlCLHfv+StoC/4V
 JakoQTANNv3CIXwDpZiO0Ci4UwPzbr6SnUHCpuBauF4LpTIKUWp3wS/Vbl1rk2nr
 5huY48Dq5+itzFT8AoWMe+efjOI+pkKVOiuvdfMcd7qYKaFjqOCeEDOcFSKm7cq8
 gDDFG4BleDSVE69N+VR83+wZqCNtVEEeJiRWdNXmOE3laYbxfy3lJceZ0nejakLI
 hz+gFKrWiULXmQXkZh/J
 =utuw
 -----END PGP SIGNATURE-----

Merge tags 'omap-devel-gpmc-fixed-for-v3.7' and 'cleanup-omap-tags-for-v3.7' into cleanup-sparseirq

Changes for GPMC (General Purpose Memory Controller) that take it
closer for being just a regular device driver.

Remove the ancient omap specific atags that are no longer needed.

At some point we were planning to pass the bootloader information
with custom atags that did not work out too well.

There's no need for these any longer as the kernel has been booting
fine without them for quite some time. And Now we have device tree
support that can be used instead.
2012-09-12 18:05:19 -07:00
Vaibhav Hiremath
83c1154268 ARM: AM33XX: clock: Add dcan clock aliases for device-tree
Currently, the device names for the dcan module follows the
format "dcan.X", where 'X' is the dcan instance number.
On other side, driver may request for clock with/without con_id
and dev_id, and it is expected that platform should respect this
request and return the requested clock handle.

Now, when using device tree, the format of the device name created
by OF layer is different, "<reg-address>.<device-name>",
assuming that the device-tree "reg" property is specified.
This causes the look-up failure for clock node in dcan driver

To fix this add new dcan clock alias for using device-tree.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <robherring2@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-09-12 16:28:35 -06:00
Vaibhav Hiremath
78da264019 ARM: OMAP2+: dpll: Add missing soc_is_am33xx() check for common functions
Add missing soc_is_am33xx() check for DPLL common control & clock
related functions, without this dpll programmability would be broken
for am33xx family of devices.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-09-12 16:28:34 -06:00
Kevin Hilman
9634c8dd6a ARM: OMAP: omap_device: idle devices with no driver bound
Under some circumstances, drivers may leave an omap_device enabled due
to driver programming errors, or due to a failure in the drivers
probe method.

Using the recently added omap_device driver_status field, we can
detect conditions where an omap_device is enabled but has no driver
bound and then ensure that the device is properly idled until it can
be probed again.

The goal of this feature is not only to detect and warn on these error
conditions, but also to ensure that devices are properly put in
low-power states so they do not prevent SoC-wide low-power states.

Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-09-12 10:52:03 -07:00