firefly-linux-kernel-4.4.55.git
11 years agoARM: dts: Add pcie controller node for exynos5440-ssdk5440
Jingoo Han [Fri, 21 Jun 2013 07:26:14 +0000 (16:26 +0900)]
ARM: dts: Add pcie controller node for exynos5440-ssdk5440

This patch adds pcie controller node for exynos5440-ssdk5440,
and also adds a phandle for pin controller node.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC
Jingoo Han [Fri, 21 Jun 2013 07:25:51 +0000 (16:25 +0900)]
ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC

Exynos5440 has two PCIe controllers which can be used as root complex
for PCIe interface.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: EXYNOS: Enable PCIe support for Exynos5440
Jingoo Han [Fri, 21 Jun 2013 07:25:29 +0000 (16:25 +0900)]
ARM: EXYNOS: Enable PCIe support for Exynos5440

Enable PCIe support for Exynos5440 which has two PCIe controllers.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agopci: Add PCIe driver for Samsung Exynos
Jingoo Han [Fri, 21 Jun 2013 07:24:54 +0000 (16:24 +0900)]
pci: Add PCIe driver for Samsung Exynos

Exynos5440 has a PCIe controller which can be used as Root Complex.
This driver supports a PCIe controller as Root Complex mode.

Signed-off-by: Surendranath Gurivireddy Balla <suren.reddy@samsung.com>
Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Pratyush Anand <pratyush.anand@st.com>
Cc: Mohit KUMAR <Mohit.KUMAR@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'omap-pm-v3.11/fixes/omap5-voltdm' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Wed, 26 Jun 2013 14:52:01 +0000 (16:52 +0200)]
Merge tag 'omap-pm-v3.11/fixes/omap5-voltdm' of git://git./linux/kernel/git/khilman/linux-omap-pm into next/soc

From Kevin Hilman:

OMAP5: PM: fix boot by removing unneeded dummy voltage domain data

* tag 'omap-pm-v3.11/fixes/omap5-voltdm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm:
  ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data
Nishanth Menon [Tue, 25 Jun 2013 23:56:00 +0000 (18:56 -0500)]
ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data

commit 20d49e9ccfece526db755940721aa13e331936d4
(ARM: OMAP5: voltagedomain data: Add OMAP5 voltage domain data)

Introduced dummy volt data for OMAP5 with OMAP4460 voltage information.

However with the fixes introduced in later patches

commit cd8abed1da91a3250aa4b3857479613a2b446f84
(ARM: OMAP2+: Powerdomain: Remove the need to always have a voltdm
 associated to a pwrdm)

We are no longer restricted in that respect. Further, OPP voltage
information is supposed to be provided by dts information. This needs
to be added in future patches as various voltage modules are converted
to dts.

This also fixes the build breakage for voltagedomains54xx_data.c when just
OMAP5 SoC is enabled: https://patchwork.kernel.org/patch/2764191/

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nishanth Menon <nm@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoMerge tag 'davinci-for-v3.11/soc-2' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 24 Jun 2013 14:46:23 +0000 (16:46 +0200)]
Merge tag 'davinci-for-v3.11/soc-2' of git://git./linux/kernel/git/nsekhar/linux-davinci into next/soc

From Sekhar Nori:

DaVinci SoC updates for v3.11 - part 2

This pull request adds DT and runtime PM to
EDMA ARM private API so it can be used on
DT enabled DaVinci and OMAP platforms.

Also adds DMA channel crossbar mapping
support to be used by DT-enabled platforms
which use it.

* tag 'davinci-for-v3.11/soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  dmaengine: edma: enable build for AM33XX
  ARM: edma: Add EDMA crossbar event mux support
  ARM: edma: Add DT and runtime PM support to the private EDMA API
  dmaengine: edma: Add TI EDMA device tree binding
  ARM: edma: Convert to devm_* api

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: keystone: Move CPU bringup code to dedicated asm file
Santosh Shilimkar [Fri, 21 Jun 2013 22:54:47 +0000 (18:54 -0400)]
ARM: keystone: Move CPU bringup code to dedicated asm file

Because of inline asm usage in platsmp.c, smc instruction
creates build failure for ARM V6+V7 build where as using instruction
encoding for smc breaks the thumb2 build.

So move the code snippet to separate asm file and mark
it with 'armv7-a$(plus_sec)' to avoid any build issues.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: multiplatform: always pick one CPU type
Arnd Bergmann [Mon, 3 Jun 2013 13:38:58 +0000 (15:38 +0200)]
ARM: multiplatform: always pick one CPU type

With the new default platform code, we can always boot using DT
without requiring a board file, but we cannot build a kernel
unless we select at least one CPU core, which breaks some
"randconfig" builds.

This adapts the ARCH_MULTI_V4T and ARCH_MULTI_V5 options so we
always default to a common CPU core if no platform was enabled
that picks something else. The default we pick for ARMv4T is
ARM920T, while for ARMv5 we pick ARM926T.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: imx: select syscon for IMX6SL
Arnd Bergmann [Mon, 3 Jun 2013 13:46:53 +0000 (15:46 +0200)]
ARM: imx: select syscon for IMX6SL

This is required for building a kernel that enables only
IMX6SL but not IMX6Q, which would get a build error when
syscon is not available.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: keystone: select ARM_ERRATA_798181 only for SMP
Arnd Bergmann [Fri, 21 Jun 2013 23:03:47 +0000 (01:03 +0200)]
ARM: keystone: select ARM_ERRATA_798181 only for SMP

Selecting this symbol causes a build warning without SMP:

warning: (ARCH_KEYSTONE) selects ARM_ERRATA_798181 which has unmet direct dependencies (CPU_V7 && SMP)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: imx: Synertronixx scb9328 needs to select SOC_IMX1
Arnd Bergmann [Mon, 3 Jun 2013 13:46:53 +0000 (15:46 +0200)]
ARM: imx: Synertronixx scb9328 needs to select SOC_IMX1

This is required for building a kernel that enables only
scb9328 and would not get the i.MX1 specific files
otherwise.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Sascha Hauer <kernel@pengutronix.de>
11 years agoARM: OMAP2+: AM43x: resolve SMP related build error
Mohammed, Afzal [Mon, 24 Jun 2013 08:13:45 +0000 (08:13 +0000)]
ARM: OMAP2+: AM43x: resolve SMP related build error

If AM43x and SMP is selected, OMAP4 & OMAP5 deselected, build error as
follows,

arch/arm/mach-omap2/built-in.o: In function `scu_gp_set':
arch/arm/mach-omap2/sleep44xx.S:131: undefined reference to `omap4_get_scu_base'
arch/arm/mach-omap2/sleep44xx.S:132: undefined reference to `scu_power_mode'
arch/arm/mach-omap2/built-in.o: In function `scu_gp_clear':
arch/arm/mach-omap2/sleep44xx.S:227: undefined reference to `omap4_get_scu_base'
arch/arm/mach-omap2/sleep44xx.S:229: undefined reference to `scu_power_mode'

Resolve it by building sleep44xx.S only for OMAP4 & OMAP5.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agodmaengine: edma: enable build for AM33XX
Matt Porter [Thu, 20 Jun 2013 21:06:40 +0000 (16:06 -0500)]
dmaengine: edma: enable build for AM33XX

Enable TI EDMA option on OMAP and TI_PRIV_EDMA

Signed-off-by: Matt Porter <mporter@ti.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoARM: edma: Add EDMA crossbar event mux support
Matt Porter [Thu, 20 Jun 2013 21:06:39 +0000 (16:06 -0500)]
ARM: edma: Add EDMA crossbar event mux support

EDMA supports a cross bar which provides ability
to mux additional events into physical channels
present in the channel controller.

This is required when the number of events present
in the system are more than number of available
physical channels.

Changes by Joel:
* Split EDMA xbar support out of original EDMA DT parsing patch
to keep it easier for review.
* Rewrite shift and offset calculation.

Suggested-by: Sekhar Nori <nsekhar@ti.com>
Suggested by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
[nsekhar@ti.com: fix checkpatch errors and a minor coding improvement]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoARM: edma: Add DT and runtime PM support to the private EDMA API
Matt Porter [Thu, 20 Jun 2013 21:06:38 +0000 (16:06 -0500)]
ARM: edma: Add DT and runtime PM support to the private EDMA API

Adds support for parsing the TI EDMA DT data into the required EDMA
private API platform data. Enables runtime PM support to initialize
the EDMA hwmod. Enables build on OMAP.

Changes by Joel:
* Setup default one-to-one mapping for queue_priority and queue_tc
mapping as discussed in [1].
* Split out xbar stuff to separate patch. [1]
* Dropped unused DT helper to convert to array
* Fixed dangling pointer issue with Sekhar's changes

[1] https://patchwork.kernel.org/patch/2226761/

Signed-off-by: Matt Porter <mporter@ti.com>
[nsekhar@ti.com: fix checkpatch errors, build breakages. Introduce
edma_setup_info_from_dt() as part of that effort]
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agodmaengine: edma: Add TI EDMA device tree binding
Matt Porter [Thu, 20 Jun 2013 21:06:37 +0000 (16:06 -0500)]
dmaengine: edma: Add TI EDMA device tree binding

The binding definition is based on the generic DMA controller
binding.

Joel:
* Droped reserved and queue DT entries from Documentation
for now from the original patch series (v10)
* Included properties in Documentation and clarified DMA properties (V11)
* Made ti,hwmod option
* Clarified DMA entries

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Matt Porter <mporter@ti.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoMerge tag 'regmap-3.11-2' of git://git.infradead.org/users/jcooper/linux into next/soc
Arnd Bergmann [Fri, 21 Jun 2013 18:00:08 +0000 (20:00 +0200)]
Merge tag 'regmap-3.11-2' of git://git.infradead.org/users/jcooper/linux into next/soc

From Jason Cooper:

mvebu register map changes for v3.11 (round 2)

This series removes the hardcoded register base address for mvebu.

For round 2:
 - multiplatform
    - fix booting on anything other than mvebu

Depends (none new for round 2):
 - mvebu/fixes-non-critical (up to tags/fixes-non-3.11-1)
 - mvebu/cleanup (up to tags/cleanup-3.11-3)

* tag 'regmap-3.11-2' of git://git.infradead.org/users/jcooper/linux:
  arm: mvebu: fix coherency_late_init() for multiplatform

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'renesas-cleanup-boot-for-v3.11' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Fri, 21 Jun 2013 12:57:38 +0000 (14:57 +0200)]
Merge tag 'renesas-cleanup-boot-for-v3.11' of git://git./linux/kernel/git/horms/renesas into next/soc

From Simon Horman:

Renesas ARM based SoC boot cleanup for v3.11

Work by Magnus Damm and others to clean up the boot of and move
things closer to supporting multi-arch.

As a side effect of this work it was decided to remove support for
two boards, Bonito and AP4EVB. Those patches are included in this
series as they depend on earlier patches in the series.

* tag 'renesas-cleanup-boot-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove Bonito board support
  ARM: shmobile: Remove AP4EVB board support
  ARM: shmobile: Remove mach/memory.h
  ARM: shmobile: Remove MEMORY_START/SIZE
  ARM: shmobile: Enable ARM_PATCH_PHYS_VIRT
  ARM: shmobile: Remove old SCU boot code
  ARM: shmobile: EMEV2 SMP with SCU boot fn and args
  ARM: shmobile: sh73a0 SMP with SCU boot fn and args
  ARM: shmobile: r8a7779 SMP with SCU boot fn and args
  ARM: shmobile: Add SCU boot function using argument
  ARM: shmobile: Add SMP boot function and argument
  ARM: shmobile: Rework sh7372 sleep code to use virt_to_phys()
  ARM: shmobile: Remove romImage CONFIG_MEMORY_START
  ARM: shmobile: Let romImage rely on default ATAGS
  ARM: shmobile: uImage load address rework

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'v3.11-rockchip-basics' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 21 Jun 2013 09:46:56 +0000 (11:46 +0200)]
Merge tag 'v3.11-rockchip-basics' of git://git./linux/kernel/git/mmind/linux-rockchip into next/soc

From Heiko Stuebner:

Adds basic support for Rockchip Cortex-A9 SoCs.

* tag 'v3.11-rockchip-basics' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm: add basic support for Rockchip RK3066a boards
  arm: add debug uarts for rockchip rk29xx and rk3xxx series
  arm: Add basic clocks for Rockchip rk3066a SoCs
  clocksource: dw_apb_timer_of: use clocksource_of_init
  clocksource: dw_apb_timer_of: select DW_APB_TIMER
  clocksource: dw_apb_timer_of: add clock-handling
  clocksource: dw_apb_timer_of: enable the use the clocksource as sched clock

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoarm: add basic support for Rockchip RK3066a boards
Heiko Stuebner [Sun, 2 Jun 2013 21:09:41 +0000 (23:09 +0200)]
arm: add basic support for Rockchip RK3066a boards

This adds a generic devicetree board file and a dtsi for boards
based on the RK3066a SoCs from Rockchip.

Apart from the generic parts (gic, clocks, pinctrl) the only components
currently supported are the timers, uarts and mmc ports (all DesignWare-
based).

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Olof Johansson <olof@lixom.net>
11 years agoarm: add debug uarts for rockchip rk29xx and rk3xxx series
Heiko Stuebner [Tue, 28 May 2013 20:13:52 +0000 (22:13 +0200)]
arm: add debug uarts for rockchip rk29xx and rk3xxx series

Uarts on all recent Rockchip SoCs are Synopsis DesignWare 8250 types.
Only their addresses vary very much.

This patch adds the necessary definitions to use any of the uart ports
for early debug purposes.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
11 years agoarm: Add basic clocks for Rockchip rk3066a SoCs
Heiko Stuebner [Thu, 13 Jun 2013 14:18:11 +0000 (16:18 +0200)]
arm: Add basic clocks for Rockchip rk3066a SoCs

This adds a basic clock setup for rk3066a SoCs. Only the gates are
set up currently, as the mux and dividers should use the upcoming
generic devicetree bindings.

Clocks whose rates need to be known are supplied by fixed-rate
"dummy"-clocks that provide the correct rate. This is uncritical insofar
that the only bootloader currently in existence for Rockchip devices
is the propietary Rockchip one that always setups the clocks in the
necessary way.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Mike Turquette <mturquette@linaro.org>
11 years agoMerge tag 'samsung-defconfig-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 20 Jun 2013 20:49:00 +0000 (22:49 +0200)]
Merge tag 'samsung-defconfig-1' of git://git./linux/kernel/git/kgene/linux-samsung into next/soc

From Kukjin Kim:

update exynos_defconfig
- enable GPIO buttons and RTC drivers

* tag 'samsung-defconfig-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: exynos_defconfig: Enable GPIO buttons and RTC drivers

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'remove-nondt-exynos-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 20 Jun 2013 20:36:11 +0000 (22:36 +0200)]
Merge tag 'remove-nondt-exynos-3' of git://git./linux/kernel/git/kgene/linux-samsung into next/soc

From Kukjin Kim:

cleanup and removing dead code for only support DT for exynos
- remove board file for exynos
- remove legacy files which are not used anymore
- decouple ARCH_EXYNOS from PLAT_S5P

* tag 'remove-nondt-exynos-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (35 commits)
  ARM: EXYNOS: Remove remaining dead code after non-DT support removal
  ARM: EXYNOS: Remove legacy L2X0 initialization
  ARM: EXYNOS: Use exynos_init_io() as map_io callback
  ARM: EXYNOS: Remove custom init_irq callbacks
  ARM: EXYNOS: Remove mach/regs-usb-phy.h header
  thermal: exynos: Support both EXYNOS4X12 SoCs
  ARM: EXYNOS: Remove unused base addresses from mach/map.h header
  ARM: EXYNOS: Remove mach/irqs.h header
  ARM: EXYNOS: Select SPARSE_IRQ for Exynos
  ARM: SAMSUNG: Make legacy MFC support code depend on SAMSUNG_ATAGS
  ARM: EXYNOS: Remove mach/regs-gpio.h header
  ARM: EXYNOS: Remove mach/gpio.h
  ARM: EXYNOS: Remove setup-i2c0.c
  ARM: EXYNOS: Do not select legacy Kconfig symbols any more
  ARM: SAMSUNG: Include most of mach/ headers conditionally
  ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P
  USB: Check for ARCH_EXYNOS separately
  platform: Check for ARCH_EXYNOS separately
  ARM: SAMSUNG: Compile legacy IRQ and GPIO PM code only with ATAGS support
  ARM: EXYNOS: Provide compatibility stubs for PM code in pm-core.h header
  ...

Conflicts:
arch/arm/mach-exynos/Kconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'exynos-arch-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Arnd Bergmann [Thu, 20 Jun 2013 19:50:51 +0000 (21:50 +0200)]
Merge tag 'exynos-arch-2' of git://git./linux/kernel/git/kgene/linux-samsung into next/soc

From Kukjin Kim:

arch/arm/mach-exynos update
- enable XHCI on exynos5
- enable Pinctrl on exynos4 and exynos5
- calling scu_enable() is only available on Cortex-A9

* tag 'exynos-arch-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: call scu_enable() only in case of cortex-A9 processor
  ARM: EXYNOS: Select PINCTRL_EXYNOS for exynos4/5 at chip level
  ARM: EXYNOS: Enable XHCI support on exynos5

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge branch 'omap/pm-voltdomain-cleanup' into next/soc
Arnd Bergmann [Thu, 20 Jun 2013 15:35:16 +0000 (17:35 +0200)]
Merge branch 'omap/pm-voltdomain-cleanup' into next/soc

Conflicts:
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/io.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'omap-for-v3.11/soc-part2-signed' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 20 Jun 2013 14:38:12 +0000 (16:38 +0200)]
Merge tag 'omap-for-v3.11/soc-part2-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:

Fix am43x minimal booting as I accidentally left out one
patch from the already merged omap-for-v3.11/soc-signed branch.
Also fixes for ti81x booting and  revision check updates.

These are based on omap-for-v3.11/soc-signed because of the
am43x dependency to earlier patches.

* tag 'omap-for-v3.11/soc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP3+: am33xx id: Add new am33xx specific function to check dev_feature
  ARM: OMAP: TI816X: add powerdomains for TI816x
  ARM: OMAP2: TI81XX: id: Add cpu id for TI816x ES2.0 and ES2.1
  ARM: OMAP2+: AM43x: basic dt support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'sunxi-core-for-3.11-2' of git://github.com/mripard/linux into next/soc
Arnd Bergmann [Thu, 20 Jun 2013 13:34:33 +0000 (15:34 +0200)]
Merge tag 'sunxi-core-for-3.11-2' of git://github.com/mripard/linux into next/soc

From Maxime Ripard:

Allwinner platform additions, take 2

Adds machine support for the Allwinner A10s SoC

* tag 'sunxi-core-for-3.11-2' of git://github.com/mripard/linux:
  ARM: sunxi: Add Allwinner A10s machine compatible

Depends on the sunxi/cleanup branch

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'sunxi-defconfig-for-3.11' of git://github.com/mripard/linux into next/soc
Arnd Bergmann [Thu, 20 Jun 2013 13:26:08 +0000 (15:26 +0200)]
Merge tag 'sunxi-defconfig-for-3.11' of git://github.com/mripard/linux into next/soc

From Maxime Ripard:

Allwinner defconfig changes for 3.11

* tag 'sunxi-defconfig-for-3.11' of git://github.com/mripard/linux:
  ARM: multi_v7: Enable Allwinner EMAC in multi_v7_defconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'davinci-for-v3.11/soc-v2' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 20 Jun 2013 13:06:57 +0000 (15:06 +0200)]
Merge tag 'davinci-for-v3.11/soc-v2' of git://git./linux/kernel/git/nsekhar/linux-davinci into next/soc

From Sekhar Nori:

DaVinci SoC changes for v3.11

This pull request moves DaVinci EDMA library to
arch/arm/common so it can be used by OMAP based AM335x.
This is a temporary step until all drivers are converted
to use the dmaengine driver in drivers/dma/edma.c.

Several drivers like SPI, MMC/SD have already been converted.
Some like audio are pending.

The other two patches in the pull request are cleanup in nature.

* tag 'davinci-for-v3.11/soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: edma: remove unused transfer controller handlers
  ARM: davinci: move private EDMA API to arm/common
  ARM: davinci: remove __init atrribute from function declaration

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoarm: mvebu: fix coherency_late_init() for multiplatform
Thomas Petazzoni [Thu, 20 Jun 2013 07:45:26 +0000 (09:45 +0200)]
arm: mvebu: fix coherency_late_init() for multiplatform

As noticed by Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>, commit
865e0527d2d7 ('arm: mvebu: avoid hardcoded virtual address in
coherency code') added a postcore_initcall() to register the bus
notifier that the mvebu code needs to apply correct DMA operations on
its platform devices breaks the multiplatform boot on other platforms,
because the bus notifier registration is unconditional.

This commit fixes that by registering the bus notifier only if we have
the mvebu coherency unit described in the Device Tree. The conditional
used is exactly the same in which the bus_register_notifier() call was
originally enclosed before 865e0527d2d7 ('arm: mvebu: avoid hardcoded
virtual address in coherency code').

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reported-by: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
11 years agoARM: u300: only build for ARCH_MULTI_V5
Arnd Bergmann [Thu, 20 Jun 2013 00:26:37 +0000 (02:26 +0200)]
ARM: u300: only build for ARCH_MULTI_V5

This avoids impossible platform combinations, as we cannot
build a combined V5 + V6/V7 kernel.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoMerge tag 'imx-soc-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc
Arnd Bergmann [Thu, 20 Jun 2013 00:14:59 +0000 (02:14 +0200)]
Merge tag 'imx-soc-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc

From Shawn Guo:

imx soc changes for 3.11:

* New SoCs i.MX6 Sololite and Vybrid VF610 support
* imx5 and imx6 clock fixes and additions
* Update clock driver to use of_clk_init() function
* Refactor restart routine mxc_restart() to get it work for DT boot
  as well
* Clean up mxc specific ulpi access ops
* imx defconfig updates

* tag 'imx-soc-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6: (29 commits)
  ARM: imx_v6_v7_defconfig: Enable Vybrid VF610
  ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default
  ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd
  ARM: imx_v6_v7_defconfig: Enable PWM and backlight options
  ARM: imx: Remove mxc specific ulpi access ops
  ARM: imx: add initial support for VF610
  ARM: imx: add VF610 clock support
  ARM: imx_v6_v7_defconfig: enable parallel display
  ARM: imx: clk: No need to initialize phandle struct
  ARM: imx: irq-common: Include header to avoid sparse warning
  ARM: imx: Enable mx6 solo-lite support
  ARM: imx6: use common of_clk_init() call to initialize clocks
  ARM: imx6q: call of_clk_init() to register fixed rate clocks
  ARM: imx: imx_v6_v7_defconfig: Select CONFIG_DRM_IMX_TVE
  ARM: i.MX6: clk: add different DualLite MLB clock config
  ARM i.MX5: Add S/PDIF clocks
  ARM i.MX53: Add SATA clock
  ARM: imx6q: clk: add the eim_slow clock
  ARM: imx: remove MLB PLL from pllv3
  ARM: imx: disable pll8_mlb in mx6q_clks
  ...

Conflicts:
arch/arm/Kconfig.debug (simple add/add conflict)

Includes an update to 3.10-rc6

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'u300-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linus...
Arnd Bergmann [Wed, 19 Jun 2013 23:51:18 +0000 (01:51 +0200)]
Merge tag 'u300-multiplatform' of git://git./linux/kernel/git/linusw/linux-stericsson into next/soc

From Linus Walleij:

Device Tree and Multiplatform support for U300:
- Add devicetree support to timer, pinctrl (probe), I2C block,
  watchdog, DMA controller and clocks.
- Piecewise add a device tree containing all peripherals.
- Delete the ATAG boot path.
- Delete redundant platform data and board files.
- Convert to multiplatform.

* tag 'u300-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: (40 commits)
  ARM: u300: switch to using syscon regmap for board
  ARM: u300: Update MMC configs for u300 defconfig
  spi: pl022: use DMA by default when probing from DT
  pinctrl: get rid of all platform data for coh901
  ARM: u300: convert MMC/SD clock to device tree
  ARM: u300: move the gated system controller clocks to DT
  i2c: stu300: do not request a specific clock name
  clk: move the U300 fixed and fixed-factor to DT
  ARM: u300: remove register definition file
  ARM: u300: add syscon node
  ARM: u300 use module_spi_driver to register driver
  ARM: u300: delete remnant machine headers
  ARM: u300: convert to multiplatform
  ARM: u300: localize <mach/u300-regs.h>
  ARM: u300: delete <mach/irqs.h>
  ARM: u300: delete <mach/hardware.h>
  ARM: u300: push down syscon registers
  ARM: u300: remove deps from debug macro
  ARM: u300: move debugmacro to debug includes
  ARM: u300: delete all static board data
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoMerge tag 'integrator-pci-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 19 Jun 2013 23:00:15 +0000 (01:00 +0200)]
Merge tag 'integrator-pci-for-arm-soc' of git://git./linux/kernel/git/linusw/linux-integrator into next/soc

From Linus Walleij:

This is a patch series that:
- Pulls the Integrator/AP PCI bridge driver into one file
- Adds full device tree support for it
- Keeps ATAG support around for the time being

* tag 'integrator-pci-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: integrator: basic PCIv3 device tree support
  ARM: integrator: move static ioremapping into PCIv3 driver
  ARM: integrator: move VGA base assignment
  ARM: integrator: remap PCIv3 base dynamically
  ARM: integrator: move V3 register definitions into driver
  ARM: integrator: move PCI base address grab to probe
  ARM: integrator: grab PCI error IRQ in probe()
  ARM: integrator: convert PCIv3 bridge to platform device
  ARM: integrator: merge PCIv3 driver into one file
  ARM: pci: create pci_common_init_dev()
  Documentation/devicetree: add a small note on PCI

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
11 years agoARM: multi_v7: Enable Allwinner EMAC in multi_v7_defconfig
Maxime Ripard [Sun, 9 Jun 2013 16:13:53 +0000 (18:13 +0200)]
ARM: multi_v7: Enable Allwinner EMAC in multi_v7_defconfig

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
11 years agoARM: EXYNOS: call scu_enable() only in case of cortex-A9 processor
Leela Krishna Amudala [Mon, 10 Jun 2013 09:28:04 +0000 (18:28 +0900)]
ARM: EXYNOS: call scu_enable() only in case of cortex-A9 processor

This patch reads the cpuid part number and if it matches with
cortex-A9, calls scu_enable()

Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Select PINCTRL_EXYNOS for exynos4/5 at chip level
Doug Anderson [Mon, 10 Jun 2013 09:26:53 +0000 (18:26 +0900)]
ARM: EXYNOS: Select PINCTRL_EXYNOS for exynos4/5 at chip level

Previously if you had MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'd be
missing the pincontrol definitions.  Move PINCTRL selects to the arch
level since we should be enabling the code for all exynos variants.

Update the PINCTRL descriptions to indicate that PINCTRL_EXYNOS is not
for exynos5440.  Also add basic dependencies for the PINCTRL_EXYNOS
kernel config.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Enable XHCI support on exynos5
Vivek Gautam [Wed, 10 Apr 2013 10:38:41 +0000 (19:38 +0900)]
ARM: EXYNOS: Enable XHCI support on exynos5

This patch enables support for XHCI on exynos5 series of SOCs,
to support host side USB 3.0 support.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove remaining dead code after non-DT support removal
Arnd Bergmann [Tue, 18 Jun 2013 16:36:56 +0000 (01:36 +0900)]
ARM: EXYNOS: Remove remaining dead code after non-DT support removal

This patch removes remaining small bits of unused code that was left
after removing non-DT support.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove legacy L2X0 initialization
Arnd Bergmann [Tue, 18 Jun 2013 16:36:52 +0000 (01:36 +0900)]
ARM: EXYNOS: Remove legacy L2X0 initialization

Since Exynos is now supporting only DT-based boot, the old L2X0
initialization code is not needed anymore, so exynos4_l2x0_cache_init()
can be greatly simplified.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Use exynos_init_io() as map_io callback
Arnd Bergmann [Tue, 18 Jun 2013 16:36:47 +0000 (01:36 +0900)]
ARM: EXYNOS: Use exynos_init_io() as map_io callback

Since there is no board specific mapping needed on Exynos,
exynos_init_io() can be simplified and used as map_io callback for both
Exynos4 and Exynos5.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove custom init_irq callbacks
Arnd Bergmann [Tue, 18 Jun 2013 16:35:22 +0000 (01:35 +0900)]
ARM: EXYNOS: Remove custom init_irq callbacks

Since both exynos4_init_irq() and exynos5_init_irq() are just calling
irqchip_init(), there is no need for them to exist any more, since this
is the default that is called when init_irq callback is not specified.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove mach/regs-usb-phy.h header
Tomasz Figa [Sat, 15 Jun 2013 00:31:40 +0000 (09:31 +0900)]
ARM: EXYNOS: Remove mach/regs-usb-phy.h header

This patch removes mach/regs-usb-phy.h header, which is not used
anywhere in the kernel.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agothermal: exynos: Support both EXYNOS4X12 SoCs
Tomasz Figa [Tue, 18 Jun 2013 16:31:50 +0000 (01:31 +0900)]
thermal: exynos: Support both EXYNOS4X12 SoCs

EXYNOS4212 and EXYNOS4412 have the same thermal block, so there is no
reason to include support only for EXYNOS4412 in this driver.

Cc: linux-pm@vger.kernel.org
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove unused base addresses from mach/map.h header
Tomasz Figa [Sat, 15 Jun 2013 00:29:25 +0000 (09:29 +0900)]
ARM: EXYNOS: Remove unused base addresses from mach/map.h header

This patch removes all the unused base addresses from mach/map.h header,
leaving only addresses of IPs that currently use static IO mapping or
need the address hardcoded, like low level debug UART.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove mach/irqs.h header
Tomasz Figa [Sat, 15 Jun 2013 00:29:22 +0000 (09:29 +0900)]
ARM: EXYNOS: Remove mach/irqs.h header

Since Exynos now uses CONFIG_SPARSE_IRQ and all remaining users of this
header has been fixed, we can safely remove it.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Select SPARSE_IRQ for Exynos
Tomasz Figa [Sat, 15 Jun 2013 00:28:55 +0000 (09:28 +0900)]
ARM: EXYNOS: Select SPARSE_IRQ for Exynos

This patch adds selection of CONFIG_SPARSE_IRQ for ARCH_EXYNOS, since it
is required by multiplatform and allows to remove the legacy mach/irqs.h
header.

To make this possible, a dummy IRQ_EINT_BIT macro is added to pm-core.h
header to allow plat-samsung/pm.c compile. This macro is irrelevant for
Exynos and will be removed after reworking Samsung pm code for
multiplatform compatibility.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: SAMSUNG: Make legacy MFC support code depend on SAMSUNG_ATAGS
Tomasz Figa [Tue, 18 Jun 2013 16:28:56 +0000 (01:28 +0900)]
ARM: SAMSUNG: Make legacy MFC support code depend on SAMSUNG_ATAGS

This allows to bypass compilation of static platform device and resource
definitions that require interrupts and base addresses to be defined
statically.

Cc: Jeongtae Park <jtp.park@samsung.com>
Cc: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove mach/regs-gpio.h header
Tomasz Figa [Sat, 15 Jun 2013 00:28:46 +0000 (09:28 +0900)]
ARM: EXYNOS: Remove mach/regs-gpio.h header

Contents of this header are not used any more and can be safely removed.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove mach/gpio.h
Tomasz Figa [Sat, 15 Jun 2013 00:28:46 +0000 (09:28 +0900)]
ARM: EXYNOS: Remove mach/gpio.h

This patch removes mach/gpio.h header that is not required any more on
Exynos.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Remove setup-i2c0.c
Tomasz Figa [Sat, 15 Jun 2013 00:28:46 +0000 (09:28 +0900)]
ARM: EXYNOS: Remove setup-i2c0.c

Now since SAMSUNG_ATAGS is no longer selected for ARCH_EXYNOS, we can
safely remove the remaining setup code.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Do not select legacy Kconfig symbols any more
Tomasz Figa [Tue, 18 Jun 2013 16:27:37 +0000 (01:27 +0900)]
ARM: EXYNOS: Do not select legacy Kconfig symbols any more

This patch removes selection of several legacy Kconfig symbols from
ARCH_EXYNOS to bypass compilation of code used only for ATAGS based
boot.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: SAMSUNG: Include most of mach/ headers conditionally
Tomasz Figa [Sat, 15 Jun 2013 00:17:33 +0000 (09:17 +0900)]
ARM: SAMSUNG: Include most of mach/ headers conditionally

Since it is illegal to include mach/ headers from source files outside
of respective mach-* directory and DT-only Samsung platforms might not
have all of them anyway, this patches makes inclusion of them
conditional, based on CONFIG_SAMSUNG_ATAGS.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P
Tomasz Figa [Tue, 18 Jun 2013 16:26:42 +0000 (01:26 +0900)]
ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P

After removing support for ATAGS based boot on Exynos, there is not much
that can be shared between Exynos and other S5P platforms. This patch
makes Exynos a standalone Samsung platform, not using PLAT_S5P.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoUSB: Check for ARCH_EXYNOS separately
Tomasz Figa [Tue, 18 Jun 2013 16:25:48 +0000 (01:25 +0900)]
USB: Check for ARCH_EXYNOS separately

ARCH_EXYNOS is going to be excluded from PLAT_S5P, so it must be checked
separately in Exynos-related Kconfig entries.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoplatform: Check for ARCH_EXYNOS separately
Tomasz Figa [Tue, 18 Jun 2013 16:25:44 +0000 (01:25 +0900)]
platform: Check for ARCH_EXYNOS separately

ARCH_EXYNOS is going to be excluded from PLAT_S5P, so it must be checked
separately in Exynos-related Kconfig entries.

Cc: linux-media@vger.kernel.org
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Kamil Debski <k.debski@samsung.com>
Cc: Tomasz Stanislawski <t.stanislaws@samsung.com>
Cc: Jeongtae Park <jtp.park@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: SAMSUNG: Compile legacy IRQ and GPIO PM code only with ATAGS support
Tomasz Figa [Tue, 18 Jun 2013 16:24:12 +0000 (01:24 +0900)]
ARM: SAMSUNG: Compile legacy IRQ and GPIO PM code only with ATAGS support

This patch adds new Kconfig symbols, SAMSUNG_PM_GPIO and S5P_IRQ_PM that
get enabled when GPIO_SAMSUNG, PM and S5P_PM are enabled, but only if
SAMSUNG_ATAGS is selected.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: EXYNOS: Provide compatibility stubs for PM code in pm-core.h header
Tomasz Figa [Sat, 15 Jun 2013 00:13:26 +0000 (09:13 +0900)]
ARM: EXYNOS: Provide compatibility stubs for PM code in pm-core.h header

This patch adds several compatibility definitions that are not relevant
for Exynos, but are required by Samsung PM core.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: SAMSUNG: Introduce GPIO_SAMSUNG Kconfig entry
Tomasz Figa [Tue, 18 Jun 2013 16:22:20 +0000 (01:22 +0900)]
ARM: SAMSUNG: Introduce GPIO_SAMSUNG Kconfig entry

This patch adds Kconfig entry that selects whether legacy Samsung GPIO
driver should be built or not. For platforms that support only DT based
boot, the new pinctrl driver is used and so the old one is not needed.

Cc: Grant Likely <grant.likely@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: exynos_defconfig: Enable GPIO buttons and RTC drivers
Tushar Behera [Tue, 18 Jun 2013 15:35:01 +0000 (00:35 +0900)]
ARM: exynos_defconfig: Enable GPIO buttons and RTC drivers

Many of the boards use GPIO-mapped buttons for generic input.
For Arndale board, these buttons also serve as wakeup source.

And the issues reported in commit 522ccdb6fd0e ("ARM: dts:
Disable the RTC by default on exynos5") are no longer reproduced
on EXYNOS5250 based systems. Hence it would be better to re-enable
RTC support for EXYNOS5250.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
[mturquette@linaro.org: ack on RTC enabling]
Acked-by: Mike Turquette <mturquette@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
11 years agoARM: OMAP3+: am33xx id: Add new am33xx specific function to check dev_feature
Vaibhav Hiremath [Fri, 17 May 2013 10:13:41 +0000 (15:43 +0530)]
ARM: OMAP3+: am33xx id: Add new am33xx specific function to check dev_feature

Layout of DEV_FEATURE register (offset = 0x604) is different
between TI81xx and AM33xx device, so create separate function
which will check for features available on specific AM33xx SoC
and set the flags accordingly.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 years agoARM: edma: Convert to devm_* api
Lad, Prabhakar [Mon, 17 Jun 2013 14:57:58 +0000 (20:27 +0530)]
ARM: edma: Convert to devm_* api

Use devm_ioremap_resource instead of reques_mem_region()/ioremap(),
devm_request_irq() instead of request_irq() and kzalloc() calls to
devm_kzalloc().

This ensures more consistent error values and simplifies error paths.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
[nsekhar@ti.com: add missing err.h include]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoARM: OMAP: TI816X: add powerdomains for TI816x
Aida Mynzhasova [Thu, 30 May 2013 15:04:50 +0000 (19:04 +0400)]
ARM: OMAP: TI816X: add powerdomains for TI816x

This patch adds required structures for powerdomain initialization on
the ti816x. It is impossible to use omap3430 structures in order to
initialize powerdomains on ti816x, because there are big differences
between PRCM module base address offsets on these CPUs.

Signed-off-by: Aida Mynzhasova <aida.mynzhasova@skitlab.ru>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 years agoARM: OMAP2: TI81XX: id: Add cpu id for TI816x ES2.0 and ES2.1
Aida Mynzhasova [Thu, 30 May 2013 10:21:01 +0000 (14:21 +0400)]
ARM: OMAP2: TI81XX: id: Add cpu id for TI816x ES2.0 and ES2.1

Currently omap3xxx_check_revision() detects ES1.0 and ES1.1 only,
this patch extends it by adding ES2.0 and ES2.1 versions support.

Signed-off-by: Aida Mynzhasova <aida.mynzhasova@skitlab.ru>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 years agoMerge tag 'omap-pm-v3.11/voltdm' of git://git.kernel.org/pub/scm/linux/kernel/git...
Tony Lindgren [Tue, 18 Jun 2013 08:08:39 +0000 (01:08 -0700)]
Merge tag 'omap-pm-v3.11/voltdm' of git://git./linux/kernel/git/khilman/linux-omap-pm into omap-for-v3.11/pm-voltdomain

OMAP: PM: remove requirement for voltage domain data; remove dummy data

11 years agoMerge tag 'keystone-soc-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Tue, 18 Jun 2013 07:23:04 +0000 (00:23 -0700)]
Merge tag 'keystone-soc-for-arm-soc' of git://git./linux/kernel/git/ssantosh/linux-keystone into next/soc

From Santosh Shilimkar:
SOC support for Keystone II devices:
- Minimal machine and device-tree support with arch_timers and console UART
- Reboot hook using PLL reset
- Low level debug support using UART
- SMP boot support

* tag 'keystone-soc-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: keystone: Enable SMP support on Keystone machines
  ARM: keystone: Add minimal TI Keystone platform support
  ARM: dts: keystone: Add minimal Keystone SOC device tree data

Signed-off-by: Olof Johansson <olof@lixom.net>
11 years agoARM: edma: remove unused transfer controller handlers
Matt Porter [Wed, 6 Mar 2013 16:15:32 +0000 (11:15 -0500)]
ARM: edma: remove unused transfer controller handlers

Fix build on OMAP, the irqs are undefined on AM33xx.
These error interrupt handlers were hardcoded as disabled
so since they are unused code, simply remove them.

Signed-off-by: Matt Porter <mporter@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoARM: davinci: move private EDMA API to arm/common
Matt Porter [Wed, 6 Mar 2013 16:15:31 +0000 (11:15 -0500)]
ARM: davinci: move private EDMA API to arm/common

Move mach-davinci/dma.c to common/edma.c so it can be used
by OMAP (specifically AM33xx) as well.

Signed-off-by: Matt Porter <mporter@ti.com>
Acked-by: Chris Ball <cjb@laptop.org> # davinci_mmc.c
Acked-by: Mark Brown <broonie@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
[nsekhar@ti.com: dropped davinci sffsdr changes]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoARM: keystone: Enable SMP support on Keystone machines
Santosh Shilimkar [Mon, 10 Jun 2013 16:20:17 +0000 (12:20 -0400)]
ARM: keystone: Enable SMP support on Keystone machines

Add basic SMP support for Keystone machines. This does not
include support for CPU hotplug for now.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: keystone: Add minimal TI Keystone platform support
Santosh Shilimkar [Mon, 10 Jun 2013 15:27:13 +0000 (11:27 -0400)]
ARM: keystone: Add minimal TI Keystone platform support

Texas Instruments Keystone family of multi-core devices are
based on ARM Cortex A15. Patch adds basic definitions for a
new Keystone sub-architecture in ARM.

The TCI66xxK2H Communications Infrastructure Keystone SoCs
are member of the C66x family based on TI's new KeyStone 2
multi-core SoC Architecture designed specifically for high
performance wireless and networking infrastructure applications.
The SOCs contains many subsystems like Cortex A15 ARM CorePacs,
C66XX DSP CorePacs, MSMC memory controller, Tera Net bus,
IP Network, Navigator, Hyperlink, 1G/10G Ethernet, Radio layers
and queue based communication systems.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: dts: keystone: Add minimal Keystone SOC device tree data
Santosh Shilimkar [Mon, 10 Jun 2013 15:33:31 +0000 (11:33 -0400)]
ARM: dts: keystone: Add minimal Keystone SOC device tree data

Add minimal device tree data for Keystone2 based SOCs. Patch
contains mainly ARM related SOC data and nothing about EVM specific
yet.

Cc: Grant Likely <grant.likely@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: AM33xx: Remove the unused voltagedomain data
Rajendra Nayak [Mon, 17 Jun 2013 13:16:23 +0000 (18:46 +0530)]
ARM: AM33xx: Remove the unused voltagedomain data

Now that there is a way to tell the powerdomain core about
missing voltage domain auto-scaling control in SoCs', get rid of the dummy
voltage domain data populated for AM33xx devices.

Acked-by: Nishanth Menon <nm@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Afzal Mohammed <afzal@ti.com> # am335x evm
Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoARM: OMAP2+: Powerdomain: Remove the need to always have a voltdm associated to a...
Rajendra Nayak [Mon, 17 Jun 2013 13:16:22 +0000 (18:46 +0530)]
ARM: OMAP2+: Powerdomain: Remove the need to always have a voltdm associated to a pwrdm

The powerdomain framework currently expects all powerdomains to be associated with
a corresponding voltagedomain. For some SoCs' (like the already existing AM33xx
family, or for the upcoming AM437x and DRA7 SoCs') which
do not have a Voltage controller/Voltage Processor (neither the SR I2C
bus to communicate with the PMIC) there is no need for a Powerdomain to have
a voltage domain association since there is no auto-scaling of voltages possible
using the voltage FSM.

Extend the arch operations to add an api which the powerdomain core can
then use to identify if a voltdm lookup and association for a powerdomain
is really needed.

Acked-by: Nishanth Menon <nm@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Afzal Mohammed <afzal@ti.com> # am335x evm
Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoARM: u300: switch to using syscon regmap for board
Linus Walleij [Thu, 13 Jun 2013 19:21:31 +0000 (21:21 +0200)]
ARM: u300: switch to using syscon regmap for board

This switches the code using a local remapping of the
system controller to enable the U300 board to be
self-powered over to making the U300-specific syscon
compatible with the MFD generic syscon driver, selecting
the generic syscon driver, and augmenting the board
power code to pick the regmap and manipulate the syscon
from the regmap side of things.

Cc: Dong Aisheng <dong.aisheng@linaro.org>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: Update MMC configs for u300 defconfig
Ulf Hansson [Mon, 27 May 2013 12:41:55 +0000 (14:41 +0200)]
ARM: u300: Update MMC configs for u300 defconfig

Enable MMC_UNSAFE_RESUME to be accomplish a proper suspend/resume cycle
for SD/SDIO/(e)MMC.

ARMMMCI host driver supports clock gating through runtime PM, thus
MMC_CLKGATE is not needed. Moreover ARMMMCI can do scatter-gather which
means we can explicity disable MMC_BLOCK_BOUNCE, since it's default
enabled, to skip unnecessary bounce buffer copying.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agospi: pl022: use DMA by default when probing from DT
Linus Walleij [Thu, 23 May 2013 17:46:40 +0000 (19:46 +0200)]
spi: pl022: use DMA by default when probing from DT

In the past we controlled the selection of DMA for a certain
host by a boolean switch in the platform data. Currently
there is no way to enable DMA on a PL022 probed from the
device tree. Let's default to trying to obtain DMA channels
in the DT case, and then we can always fail (and thus fall
back to PIO mode).

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agopinctrl: get rid of all platform data for coh901
Linus Walleij [Thu, 23 May 2013 18:09:43 +0000 (20:09 +0200)]
pinctrl: get rid of all platform data for coh901

This deletes the dependency on any platform data for
the COH901 pin controller. There is only one user in the
kernel, and if we at some point want to support more
variants, they shall provide their variant info through
the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: convert MMC/SD clock to device tree
Linus Walleij [Thu, 23 May 2013 17:18:28 +0000 (19:18 +0200)]
ARM: u300: convert MMC/SD clock to device tree

This converts the last of the U300 clocks to being probed from
the device tree.

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: move the gated system controller clocks to DT
Linus Walleij [Thu, 23 May 2013 13:42:33 +0000 (15:42 +0200)]
ARM: u300: move the gated system controller clocks to DT

This moves the slow, fast, AHB bridge and "rest" clocks on
the U300 system controller over to registration from the
device tree.

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoi2c: stu300: do not request a specific clock name
Linus Walleij [Thu, 23 May 2013 13:26:29 +0000 (15:26 +0200)]
i2c: stu300: do not request a specific clock name

We have used the default clock associated with the block
for a long time, only heuristics in the clock system has
made this work anyway. This needs to be done away with as
we start probing this driver and its clocks exclusively
from the device tree.

Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoclk: move the U300 fixed and fixed-factor to DT
Linus Walleij [Thu, 23 May 2013 09:09:57 +0000 (11:09 +0200)]
clk: move the U300 fixed and fixed-factor to DT

This converts the fixed and fixed-factor clocks in the U300
platform to register themselves from the device tree.

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: remove register definition file
Linus Walleij [Wed, 22 May 2013 14:20:27 +0000 (16:20 +0200)]
ARM: u300: remove register definition file

Now that the core file is the only one actually using any
of the base addresses, we can delete that header and move
the base address definitions into the one and only core
file.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: add syscon node
Linus Walleij [Wed, 22 May 2013 14:15:13 +0000 (16:15 +0200)]
ARM: u300: add syscon node

This adds a device tree node for the U300 system controller
and remaps this dynamically instead of using hard-coded
virtual addresses. The board power set-up code is altered
to fetch a reference to the syscon using ampersand <&syscon>
notation. This way of passing a pointer to the syscon will
also be used by the clocks.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300 use module_spi_driver to register driver
Peter Huewe [Mon, 20 May 2013 20:22:04 +0000 (22:22 +0200)]
ARM: u300 use module_spi_driver to register driver

Removing some boilerplate by using module_spi_driver instead of calling
register and unregister in the otherwise empty init/exit functions.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: delete remnant machine headers
Linus Walleij [Thu, 2 May 2013 16:07:11 +0000 (18:07 +0200)]
ARM: u300: delete remnant machine headers

Two files remain in <mach/*> for U300: timex.h and
uncompress.h. The former is done away with by using
defaults, the latter is unused in multiplatform.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: convert to multiplatform
Linus Walleij [Thu, 2 May 2013 16:01:46 +0000 (18:01 +0200)]
ARM: u300: convert to multiplatform

Now that we removed our dependency on <mach/*> the U300
can be converted to mutliplatform. Remove the invalid restriction
that U300 would not support AUTO_ZRELADDR (it does) and update
the defconfig in the process.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: localize <mach/u300-regs.h>
Linus Walleij [Thu, 2 May 2013 15:12:33 +0000 (17:12 +0200)]
ARM: u300: localize <mach/u300-regs.h>

This register base file is now only used in the machine
itself so move it down into mach-u300.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: delete <mach/irqs.h>
Linus Walleij [Thu, 2 May 2013 15:05:05 +0000 (17:05 +0200)]
ARM: u300: delete <mach/irqs.h>

All IRQs are now obtained from the device tree, and this file
is unused, so delete it.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: delete <mach/hardware.h>
Linus Walleij [Thu, 2 May 2013 15:03:03 +0000 (17:03 +0200)]
ARM: u300: delete <mach/hardware.h>

This file is now unused and can be deleted.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: push down syscon registers
Linus Walleij [Thu, 2 May 2013 14:56:15 +0000 (16:56 +0200)]
ARM: u300: push down syscon registers

Get rid of the <mach/syscon.h> header as a prerequisite for
multiplatform support. Do this by pushing the registers down
to their respective drivers and deleting the unused remainder.

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: remove deps from debug macro
Linus Walleij [Thu, 2 May 2013 15:00:29 +0000 (17:00 +0200)]
ARM: u300: remove deps from debug macro

This rids the dependency to <mach/hardware.h> (which is an
implicit dependency to <mach/u300-regs.h>) from the U300
debug macro. Take this opportunity to update the file
header.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: move debugmacro to debug includes
Linus Walleij [Thu, 2 May 2013 14:34:19 +0000 (16:34 +0200)]
ARM: u300: move debugmacro to debug includes

This moves the U300 debug macro to the debug headers to
make way for multiplatform support.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: delete all static board data
Linus Walleij [Mon, 22 Apr 2013 09:29:30 +0000 (11:29 +0200)]
ARM: u300: delete all static board data

We have now transferred all the U300 peripherals to the device
tree, so we just select USE_OF, and delete all static board data,
then require that this platform shall be booted using the device
tree and nothing else.

This gets rid of the MMCI (PL180), PL022, and serial PL011
platform data entries and more.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: add FSMC flash into the device tree
Linus Walleij [Mon, 22 Apr 2013 09:00:02 +0000 (11:00 +0200)]
ARM: u300: add FSMC flash into the device tree

This registers the U300 FSMC flash controller from the
device tree, and defines the three partitions. Skip the
BBT scan as in the current platform data.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: probe the U300 dummy-spichip from device tree
Linus Walleij [Sun, 21 Apr 2013 19:39:46 +0000 (21:39 +0200)]
ARM: u300: probe the U300 dummy-spichip from device tree

This probes the U300 dummy-spichip from the device tree
and adds the apropriate node to the tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: add SPI PL022 to the device tree
Linus Walleij [Fri, 19 Apr 2013 12:56:46 +0000 (14:56 +0200)]
ARM: u300: add SPI PL022 to the device tree

This registers the PL022 PrimeCell from the U300 device
tree. We make a new copy of the platform data for the
device tree boot path, as the old platform data is in an
older file which will be going away.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: add the COH 901 318 DMAC to device tree
Linus Walleij [Fri, 19 Apr 2013 11:44:25 +0000 (13:44 +0200)]
ARM: u300: add the COH 901 318 DMAC to device tree

This adds the COH 901 318 DMA controller to the U300
device tree. All devices now converted to device tree
so far will start to find their DMA channels.

Note that the U300 is not yet using the device tree
to obtain DMA channels, but this is a first step.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: u300: augment device tree with DMA channels
Linus Walleij [Thu, 2 May 2013 08:38:52 +0000 (10:38 +0200)]
ARM: u300: augment device tree with DMA channels

This adds DMA channel assignments to the MMC/SD-controller
and the two UARTs already in the U300 device tree, as we
have now defined a way to obtain DMA channels from the
device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>