]> git.karo-electronics.de Git - linux-beck.git/log
linux-beck.git
11 years agoMerge tag 'imx-soc-3.13' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc
Olof Johansson [Mon, 28 Oct 2013 17:37:52 +0000 (10:37 -0700)]
Merge tag 'imx-soc-3.13' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc

From Shawn Guo:
The imx/mxs soc changes for 3.13:

* Low-level debug support for Vybrid
* Support soc bus/device for imx6
* Suspend support for imx6dl and imx6sl
* The imx6q clock updates for PCIe and audio PLL support
* IOMUXC GPR update for fec support
* Some random cleanup
* A few defconfig updates

* tag 'imx-soc-3.13' of git://git.linaro.org/people/shawnguo/linux-2.6: (31 commits)
  ARM: imx: enable suspend for imx6sl
  ARM: imx: ensure dsm_request signal is not asserted when setting LPM
  ARM: imx6q: call WB and RBC configuration from imx6q_pm_enter()
  ARM: imx6q: move low-power code out of clock driver
  ARM: imx: drop extern with function prototypes in common.h
  ARM: imx: reset core along with enable/disable operation
  ARM: imx: do not return from imx_cpu_die() call
  ARM: imx_v6_v7_defconfig: Select CONFIG_PROVE_LOCKING
  ARM: imx_v6_v7_defconfig: Enable LEDS_GPIO related options
  ARM: mxs_defconfig: Turn off CONFIG_DEBUG_GPIO
  ARM: imx: replace imx6q_restart() with mxc_restart()
  ARM: mach-imx: mm-imx5: Retrieve iomuxc base address from dt
  ARM: mach-imx: mm-imx5: Retrieve tzic base address from dt
  ARM: mach-imx: clk-imx51-imx53: Retrieve base address and irq from dt
  ARM: mxs_defconfig: Add CHIPIDEA_UDC support
  ARM: imx: Include linux/err.h
  ARM: imx_v6_v7_defconfig: Add CHIPIDEA_UDC support
  ARM: imx_v6_v7_defconfig: Add SPDIF support
  ARM: imx6q: clock and Kconfig update for PCIe support
  ARM: imx: Add LVDS general-purpose clocks to i.MX6Q
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
11 years agoMerge tag 'sunxi-defconfig-for-3.13' of https://github.com/mripard/linux into next/soc
Olof Johansson [Mon, 28 Oct 2013 17:19:03 +0000 (10:19 -0700)]
Merge tag 'sunxi-defconfig-for-3.13' of https://github.com/mripard/linux into next/soc

From Maxime Ripard:
Allwinner sunXi defconfig changes for 3.13

This pull request only see the introduction of a sunxi_defconfig.

* tag 'sunxi-defconfig-for-3.13' of https://github.com/mripard/linux:
  ARM: sunxi: Add a defconfig for the Allwinner SoCs

Signed-off-by: Olof Johansson <olof@lixom.net>
11 years agoARM: sunxi: remove .init_time hooks
Olof Johansson [Mon, 28 Oct 2013 17:13:46 +0000 (10:13 -0700)]
ARM: sunxi: remove .init_time hooks

The machine entries were split up, but the cleanup to remove .init_time
removed the function that the new/split entries refer to. Remove them
since they are no longer needed.

Cc: Maxime Ripard <mripard@free-electrons.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
11 years agoMerge tag 'sunxi-core-for-3.13' of https://github.com/mripard/linux into next/soc
Olof Johansson [Mon, 28 Oct 2013 17:13:09 +0000 (10:13 -0700)]
Merge tag 'sunxi-core-for-3.13' of https://github.com/mripard/linux into next/soc

From Maxime Ripard:
Allwinner sunXi SoCs machine additions for 3.13

Nothing outstanding here, mostly some documentation cleanup, and the split of
the previous generic machine declaration into three different machines to
handle the sun4i/sun5i, sun6i and sun7i separately.

* tag 'sunxi-core-for-3.13' of https://github.com/mripard/linux:
  Documentation: dt: Remove clock gates IDs list for Allwinner SoCs
  Documentation: dt: Remove interrupt sources list for Allwinner SoCs
  Documentation: sunxi: Update Allwinner SoC documentation
  Documentation: sunxi: Update A13 user manual dead link
  ARM: sunxi: Order Kconfig options alphabetically
  ARM: sunxi: Simplify restart setup code
  ARM: sunxi: Split out the DT machines for sun6i and sun7i

Signed-off-by: Olof Johansson <olof@lixom.net>
11 years agoMerge branch 'cleanup/dt-clock' into next/soc
Olof Johansson [Mon, 28 Oct 2013 17:11:42 +0000 (10:11 -0700)]
Merge branch 'cleanup/dt-clock' into next/soc

Merging in dt clock cleanup as a pre-req with some of the later SoC branches.

There are a handful of conflicts here -- some of the already merged SoC
branches should have been based on the cleanup but weren't.

In particular, a remove/add of include on highbank and two remove/remove
conflicts on kirkwood were fixed up.

* cleanup/dt-clock: (28 commits)
  ARM: vt8500: remove custom .init_time hook
  ARM: vexpress: remove custom .init_time hook
  ARM: tegra: remove custom .init_time hook
  ARM: sunxi: remove custom .init_time hook
  ARM: sti: remove custom .init_time hook
  ARM: socfpga: remove custom .init_time hook
  ARM: rockchip: remove custom .init_time hook
  ARM: prima2: remove custom .init_time hook
  ARM: nspire: remove custom .init_time hook
  ARM: nomadik: remove custom .init_time hook
  ARM: mxs: remove custom .init_time hook
  ARM: kirkwood: remove custom .init_time hook
  ARM: imx: remove custom .init_time hook
  ARM: highbank: remove custom .init_time hook
  ARM: exynos: remove custom .init_time hook
  ARM: dove: remove custom .init_time hook
  ARM: bcm2835: remove custom .init_time hook
  ARM: bcm: provide common arch init for DT clocks
  ARM: call of_clk_init from default time_init handler
  ARM: vt8500: prepare for arch-wide .init_time callback
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
11 years agoMerge tag 'tegra-for-3.13-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Kevin Hilman [Fri, 25 Oct 2013 10:46:38 +0000 (03:46 -0700)]
Merge tag 'tegra-for-3.13-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

From Stephen Warren:
ARM: tegra: core SoC support changes for 3.13

This branch includes:
* SoC fuse values are used as device randomness at boot.
* Initial support for the Tegra124 SoC is added. When coupled with an
  appropriate clock driver, which should also be merged for 3.13, we are
  able to boot to user-space using an initrd.
* The powergate code gains support for Tegra114.

This branch is based on previous pull request tegra-for-3.13-cleanup.

* tag 'tegra-for-3.13-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra: Add Tegra114 powergate support
  ARM: tegra: Constify list of CPU domains
  ARM: tegra: Remove duplicate powergate defines
  ARM: tegra: add LP1 support code for Tegra124
  ARM: tegra: re-calculate the LP1 data for Tegra30/114
  ARM: tegra: enable CPU idle for Tegra124
  ARM: tegra: make tegra_resume can work with current and later chips
  ARM: tegra: CPU hotplug support for Tegra124
  ARM: tegra: add PMC compatible value for Tegra124
  ARM: tegra: add Tegra124 SoC support
  ARM: tegra: add fuses as device randomness
  ARM: tegra: fix ARCH_TEGRA_114_SOC select sort order
  ARM: tegra: make tegra_init_fuse() __init
  ARM: tegra: remove much of iomap.h
  ARM: tegra: move resume vector define to irammap.h
  ARM: tegra: delete gpio-names.h
  ARM: tegra: delete stale header content
  ARM: tegra: remove common.c
  ARM: tegra: split tegra_pmc_init() in two

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoARM: imx: enable suspend for imx6sl
Shawn Guo [Thu, 17 Oct 2013 02:07:09 +0000 (10:07 +0800)]
ARM: imx: enable suspend for imx6sl

The imx6sl low power mode implementation inherits imx6q/dl one,
and pm-imx6q.c can just work for imx6sl with some minor updates.
Let's enable imx6sl suspend support by reusing pm-imx6q.c and use
cpu_is_imxXX() to handle the those minor differences between imx6sl
and imx6q/dl.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: ensure dsm_request signal is not asserted when setting LPM
Shawn Guo [Wed, 16 Oct 2013 11:52:00 +0000 (19:52 +0800)]
ARM: imx: ensure dsm_request signal is not asserted when setting LPM

There is a defect in imx6 LPM design.  When SW tries to enter low power
mode with following sequence, the chip will enter low power mode before
A9 CPU execute WFI instruction:

1. Set CCM_CLPCR[1:0] to 2'b00;
2. ARM CPU enters WFI;
3. ARM CPU wakeup from an interrupt event, which is masked by GPC or not
   visible to GPC, such as interrupt from local timer;
4. Set CCM_CLPCR[1:0] to 2'b01 or 2'b10;
5. ARM CPU execute WFI.

Before the last step, the chip will enter WAIT mode if CCM_CLPCR[1:0] is
set to 2'b01, or enter STOP mode if CCM_CLPCR[1:0] is set to 2'b10.

The patch implements a recommended workaround for this issue.

1. SW triggers irq #32(IOMUX) to be always pending manually by setting
   IOMUX_GPR1_GINT bit;
2. SW should then unmask it in GPC before setting CCM LPM;
3. SW should mask it right after CCM LPM is set (bit0-1 of CCM_CLPCR).

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6q: call WB and RBC configuration from imx6q_pm_enter()
Shawn Guo [Wed, 9 Oct 2013 12:31:28 +0000 (20:31 +0800)]
ARM: imx6q: call WB and RBC configuration from imx6q_pm_enter()

The WB and RBC configuration calls are currently made from
imx6q_set_lpm() for WAIT_CLOCKED and WAIT_UNCLOCKED mode with a simple
state tracking.  This becomes unnecessary since we can make the calls
from imx6q_pm_enter() directly now for suspend.

More importantly, the current call of imx6q_enable_wb() from
imx6q_set_lpm() is buggy.  The CLPCR register bits configured by
imx6q_enable_wb() will get lost, because imx6q_set_lpm() caches the same
register and write it back at the end of the function.  That's why the
imx6dl suspend/resume does not work currently - the wakeup from suspend
triggers a reset on imx6dl.

Moves the WB and RBC calls into imx6q_pm_enter() to save the state
tracking and fixes above bug, so that suspend/resume can start working
on imx6dl.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6q: move low-power code out of clock driver
Shawn Guo [Wed, 25 Sep 2013 15:09:36 +0000 (23:09 +0800)]
ARM: imx6q: move low-power code out of clock driver

The LPM (Low Power Mode) code that currently sits in imx6q clock driver
will be reused by imx6sl.  Let's move it into pm-imx6q.c, so that we
can keep clock driver SoC specific and reuse pm-imx6q.c on imx6sl.

In order to avoid adding another ioremap for CCM block,
imx6q_pm_set_ccm_base() is created to let clock driver set up ccm_base
for pm code.

During the move, the unused CCGR macros get removed.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: drop extern with function prototypes in common.h
Shawn Guo [Wed, 16 Oct 2013 13:05:35 +0000 (21:05 +0800)]
ARM: imx: drop extern with function prototypes in common.h

Since commit 70dc8a4 (checkpatch: warn when using extern with function
prototypes in .h files), we will get checkpatch warning when updating
common.h following the existing convention which has extern for function
prototypes.

Let's change the convention to not use extern with function prototypes
in this header.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: reset core along with enable/disable operation
Shawn Guo [Wed, 9 Oct 2013 07:54:31 +0000 (15:54 +0800)]
ARM: imx: reset core along with enable/disable operation

From hotplug stress test result, resetting core during enable/disable
operation can improve cpu hotplug stability.  So let's set
SRC reset bit in imx_enable_cpu() for the core when its enable bit is
accessed.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: do not return from imx_cpu_die() call
Shawn Guo [Wed, 9 Oct 2013 07:29:14 +0000 (15:29 +0800)]
ARM: imx: do not return from imx_cpu_die() call

When imx_cpu_die() is being called, the cpu should never return from the
call but just in WFI and wait for hardware to take it down.  So let's
do cpu_do_idle() repeatly in the call.  Doing this help improve the
relibility of hotplug operation.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx_v6_v7_defconfig: Select CONFIG_PROVE_LOCKING
Fabio Estevam [Wed, 9 Oct 2013 23:40:27 +0000 (20:40 -0300)]
ARM: imx_v6_v7_defconfig: Select CONFIG_PROVE_LOCKING

This is very useful for detecting 'circular locking dependency' issues.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx_v6_v7_defconfig: Enable LEDS_GPIO related options
Fabio Estevam [Wed, 9 Oct 2013 21:02:03 +0000 (18:02 -0300)]
ARM: imx_v6_v7_defconfig: Enable LEDS_GPIO related options

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: mxs_defconfig: Turn off CONFIG_DEBUG_GPIO
Fabio Estevam [Wed, 9 Oct 2013 03:10:39 +0000 (00:10 -0300)]
ARM: mxs_defconfig: Turn off CONFIG_DEBUG_GPIO

Having CONFIG_DEBUG_GPIO=y leads to several debug messages polluting kernel log:

[    0.580325] of_get_named_gpio_flags: can't parse gpios property of node '/regulators/3p3v[0]'
[    0.581185] 3P3V: 3300 mV
[    0.584827] of_get_named_gpio_flags exited with status 124
[    0.585852] vddio-sd0: 3300 mV
[    0.590023] of_get_named_gpio_flags exited with status 79
[    0.590770] fec-3v3: 3300 mV
[    0.594805] of_get_named_gpio_flags exited with status 105
[    0.595491] usb0_vbus: 5000 mV
[    0.599687] of_get_named_gpio_flags exited with status 104
[    0.600380] usb1_vbus: 5000 mV
[    0.604463] of_get_named_gpio_flags exited with status 126
[    0.605153] lcd-3v3: 3300 mV
[    0.608970] of_get_named_gpio_flags exited with status 77

Turn this option off, as these messages are not really useful for normal usage.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: replace imx6q_restart() with mxc_restart()
Shawn Guo [Sun, 6 Oct 2013 08:47:46 +0000 (16:47 +0800)]
ARM: imx: replace imx6q_restart() with mxc_restart()

The imx6q_restart() works fine with normal reboot but will run into
problem with emergency reboot like sysrq-b.  In that case, of_iomap()
gets called from interrupt context and hence triggers the BUG_ON in
__get_vm_area_node().

Actually, since commit c1e31d1 (ARM: imx: create
mxc_arch_reset_init_dt() for DT boot), imx6q/dl should try to use
mxc_restart() by calling mxc_arch_reset_init_dt() beforehand, where
things like of_iomap() can be done.

The patch updates mxc_restart() a little bit to get it work for imx6q/dl
and kill imx6q_restart() completely.

Reported-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: mach-imx: mm-imx5: Retrieve iomuxc base address from dt
Fabio Estevam [Tue, 1 Oct 2013 03:21:14 +0000 (00:21 -0300)]
ARM: mach-imx: mm-imx5: Retrieve iomuxc base address from dt

As mx53 is a dt-only SoC, we should retrieve the iomuxc base address from the
device tree, instead of using the old MX53_IO_ADDRESS method.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: mach-imx: mm-imx5: Retrieve tzic base address from dt
Fabio Estevam [Tue, 1 Oct 2013 03:21:13 +0000 (00:21 -0300)]
ARM: mach-imx: mm-imx5: Retrieve tzic base address from dt

As mx53 is a dt-only SoC, we should retrieve the tzic base address from the
device tree, instead of using the old MX53_IO_ADDRESS method.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: mach-imx: clk-imx51-imx53: Retrieve base address and irq from dt
Fabio Estevam [Tue, 1 Oct 2013 03:21:12 +0000 (00:21 -0300)]
ARM: mach-imx: clk-imx51-imx53: Retrieve base address and irq from dt

As mx53 is a dt-only SoC, we should retrieve the gpt base address and irq
from the device tree, instead of using the old MX53_IO_ADDRESS method.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: mxs_defconfig: Add CHIPIDEA_UDC support
Fabio Estevam [Mon, 30 Sep 2013 14:22:30 +0000 (11:22 -0300)]
ARM: mxs_defconfig: Add CHIPIDEA_UDC support

Generated by doing:

make mxs_defconfig
Manually selected the CHIPIDEA_UDC driver
make savedefconfig
cp defconfig arch/arm/configs/mxs_defconfig

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: Include linux/err.h
Thierry Reding [Mon, 30 Sep 2013 12:04:51 +0000 (14:04 +0200)]
ARM: imx: Include linux/err.h

The IS_ERR() macro is defined in the linux/err.h header file, so include
it explicitly.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx_v6_v7_defconfig: Add CHIPIDEA_UDC support
Fabio Estevam [Sat, 28 Sep 2013 20:27:07 +0000 (17:27 -0300)]
ARM: imx_v6_v7_defconfig: Add CHIPIDEA_UDC support

Generated by doing:

make imx_v6_v7_defconfig
Manually selected the CHIPIDEA_UDC driver
make savedefconfig
cp defconfig arch/arm/configs/imx_v6_v7_defconfig

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx_v6_v7_defconfig: Add SPDIF support
Fabio Estevam [Sat, 28 Sep 2013 20:27:06 +0000 (17:27 -0300)]
ARM: imx_v6_v7_defconfig: Add SPDIF support

Generated by doing:

make imx_v6_v7_defconfig
Manually selected the IMX_SPDIF driver
make savedefconfig
cp defconfig arch/arm/configs/imx_v6_v7_defconfig

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6q: clock and Kconfig update for PCIe support
Sean Cross [Thu, 26 Sep 2013 02:45:35 +0000 (10:45 +0800)]
ARM: imx6q: clock and Kconfig update for PCIe support

Update imx6q clock initialization and Kconfig for PCIe support.

Signed-off-by: Sean Cross <xobs@kosagi.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: Add LVDS general-purpose clocks to i.MX6Q
Sean Cross [Mon, 16 Sep 2013 08:20:52 +0000 (08:20 +0000)]
ARM: imx: Add LVDS general-purpose clocks to i.MX6Q

The i.MX6 has two general-purpose LVDS clocks that can be driven
from a variety of sources.  This patch adds a mux and a gate for
both of these clocks.

Signed-off-by: Sean Cross <xobs@kosagi.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: remove stale mx53_display_revision() declaration
Shawn Guo [Wed, 25 Sep 2013 13:30:42 +0000 (21:30 +0800)]
ARM: imx: remove stale mx53_display_revision() declaration

The mx53_display_revision() declaration in common.h is stale and used
nowhere, so remove it.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6: report soc info via soc device
Shawn Guo [Tue, 13 Aug 2013 08:59:28 +0000 (16:59 +0800)]
ARM: imx6: report soc info via soc device

The patch enables soc bus infrastructure and adds a function
imx_soc_device_init() to report soc info via soc device interface for
imx6qdl and imx6sl.  With the support, user space can get soc related
info by looking at sysfs like below.

  $ cat /sys/devices/soc0/machine
  Freescale i.MX6 Quad SABRE Smart Device Board
  $ cat /sys/devices/soc0/family
  Freescale i.MX
  $ cat /sys/devices/soc0/soc_id
  i.MX6Q
  $ cat /sys/devices/soc0/revision
  1.2

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: use imx_init_revision_from_anatop() on imx6sl
Shawn Guo [Tue, 13 Aug 2013 08:54:05 +0000 (16:54 +0800)]
ARM: imx: use imx_init_revision_from_anatop() on imx6sl

Add imx6sl support into imx_init_revision_from_anatop(), so that it can
be used to initialize cpu type and revision on imx6sl.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: add a common function to initialize revision from anatop
Shawn Guo [Tue, 13 Aug 2013 06:59:43 +0000 (14:59 +0800)]
ARM: imx: add a common function to initialize revision from anatop

The patch creates a common function imx_init_revision_from_anatop() by
merging imx6q_init_revision() and imx_anatop_get_digprog(), so that any
SoC that encodes revision info in anatop can use it to initialize
revision.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6q: use common soc revision helpers
Shawn Guo [Tue, 13 Aug 2013 06:10:29 +0000 (14:10 +0800)]
ARM: imx6q: use common soc revision helpers

It calls imx_set_soc_revision() to set up soc revision in
imx6q_init_revision(), and replaces all the occurrences of
imx6q_revision() with common helper imx_get_soc_revision().

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: add soc revision helper functions
Shawn Guo [Tue, 13 Aug 2013 05:54:02 +0000 (13:54 +0800)]
ARM: imx: add soc revision helper functions

Similar to what we do for cpu type, the patch adds helper functions
imx_set_soc_revision() and imx_get_soc_revision() to maintain
imx_soc_revision in cpu.c.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: add low-level debug for vybrid
Shawn Guo [Sun, 12 May 2013 09:22:17 +0000 (17:22 +0800)]
ARM: imx: add low-level debug for vybrid

Add low-level debug support for vybrid, so that earlyprintk can be
enabled for debugging early boot issue.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx: remove IRQF_DISABLED
Michael Opdenacker [Wed, 4 Sep 2013 05:04:39 +0000 (07:04 +0200)]
ARM: imx: remove IRQF_DISABLED

This flag is a NOOP since 2.6.35 and can be removed.

This is an update for 3.11 of a patch already sent for 3.10

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6sl: config iomux-gpr1 to select clock for fec
Fugang Duan [Wed, 4 Sep 2013 02:58:17 +0000 (10:58 +0800)]
ARM: imx6sl: config iomux-gpr1 to select clock for fec

Config iomux-gpr1 to select clock source for fec system clock.
Clear gpr1[14], gpr1[18-17] bit to select the fec clock source
from internal anatop PLL.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6sl: add imx6sl iomux-gpr field define
Fugang Duan [Tue, 3 Sep 2013 04:26:24 +0000 (12:26 +0800)]
ARM: imx6sl: add imx6sl iomux-gpr field define

Add imx6sl iomux-gpr register field define in "imx6q-iomuxc-gpr.h" header
file, which is not fully define all iomux-gpr registers and fields, only
add fec related macro define.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoARM: imx6q: Add pll4_audio_div to clock tree
Nicolin Chen [Fri, 23 Aug 2013 11:20:34 +0000 (19:20 +0800)]
ARM: imx6q: Add pll4_audio_div to clock tree

There's a pll4_audio_div clock, an extra divider for pll4, missing
in current clock tree, thus add it.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
11 years agoMerge remote-tracking branch 'shesselba/clk-of-init-v2_for-3.13' into imx/soc
Shawn Guo [Mon, 21 Oct 2013 01:10:56 +0000 (09:10 +0800)]
Merge remote-tracking branch 'shesselba/clk-of-init-v2_for-3.13' into imx/soc

11 years agoARM: tegra: Add Tegra114 powergate support
Thierry Reding [Wed, 16 Oct 2013 17:19:02 +0000 (19:19 +0200)]
ARM: tegra: Add Tegra114 powergate support

Extend the list of power gates found on Tegra114. Note that there are
now holes in the list, so perhaps a simple array is no longer the best
data structure to represent it.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: Constify list of CPU domains
Thierry Reding [Wed, 16 Oct 2013 17:19:01 +0000 (19:19 +0200)]
ARM: tegra: Constify list of CPU domains

There's no need to modify these at runtime, it is static data and never
needs to change.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: Remove duplicate powergate defines
Thierry Reding [Wed, 16 Oct 2013 17:19:00 +0000 (19:19 +0200)]
ARM: tegra: Remove duplicate powergate defines

Instead of duplicating powergate defines, reuse the ones from the
include/linux/tegra-powergate.h header file.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: add LP1 support code for Tegra124
Joseph Lo [Fri, 11 Oct 2013 09:58:38 +0000 (17:58 +0800)]
ARM: tegra: add LP1 support code for Tegra124

The LP1 suspend procedure is the same with Tegra30 and Tegra114. Just
need to update the difference of the register address, then we can
continue to share the code.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: re-calculate the LP1 data for Tegra30/114
Joseph Lo [Fri, 11 Oct 2013 09:58:37 +0000 (17:58 +0800)]
ARM: tegra: re-calculate the LP1 data for Tegra30/114

This patch re-calculates the LP1 data of tegra30/114_sdram_pad_address
to base on its label not rely on others. This can make easier to
maintain if some other Tegra chips keep re-using these codes in the
future. And change the name of tegra30_sdram_pad_save to
tegra_sdram_pad_save to make it more common to other chips.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: enable CPU idle for Tegra124
Joseph Lo [Fri, 11 Oct 2013 09:57:32 +0000 (17:57 +0800)]
ARM: tegra: enable CPU idle for Tegra124

The CPUIdle function of Tegra124 is identical to Tegra114, so we share
the same driver with Tegra114.

Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: make tegra_resume can work with current and later chips
Joseph Lo [Fri, 11 Oct 2013 09:57:31 +0000 (17:57 +0800)]
ARM: tegra: make tegra_resume can work with current and later chips

Because the CPU0 was the first up and the last down core when cluster
power up/down or platform suspend. So only CPU0 needs the rest of the
functions to reset flow controller and re-enable SCU and L2. We also
move the L2 init function for Cortex-A15 to there. The secondery CPU
can just call cpu_resume.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: CPU hotplug support for Tegra124
Joseph Lo [Fri, 11 Oct 2013 09:57:30 +0000 (17:57 +0800)]
ARM: tegra: CPU hotplug support for Tegra124

The procedure of CPU hotplug for Tegra124 is same with Tegra114. We
re-use the same function with it.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: add PMC compatible value for Tegra124
Joseph Lo [Tue, 8 Oct 2013 04:50:04 +0000 (12:50 +0800)]
ARM: tegra: add PMC compatible value for Tegra124

The PMC HW is not identical to the existing Tegra SoC. Hence add to it.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: add Tegra124 SoC support
Joseph Lo [Tue, 8 Oct 2013 04:50:03 +0000 (12:50 +0800)]
ARM: tegra: add Tegra124 SoC support

Add Tegra124 SoC support that base on CortexA15MP Core. And enable the
SMP function that can re-use the same procedure with Tegra114.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
11 years agoARM: tegra: add fuses as device randomness
Stephen Warren [Thu, 12 Sep 2013 22:51:19 +0000 (16:51 -0600)]
ARM: tegra: add fuses as device randomness

Various fuses on Tegra include information that's unique to an individual
chip, or a subset of chips. Call add_device_randomness() with this data
to perturb the initial state of the random pool.

Suggested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoMerge tag 'omap-for-v3.13/am43xx-hwmod-signed' of git://git.kernel.org/pub/scm/linux...
Kevin Hilman [Fri, 18 Oct 2013 14:50:11 +0000 (07:50 -0700)]
Merge tag 'omap-for-v3.13/am43xx-hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:
Changes needed for am43xx for the hwmod data.

This will be the last new set of hwmod data for any SoC
as future SoCs will use a driver and device tree based
approach. But before that can be dealt with, we need to
first sort out the pending driver/clk issues.

Queued by Paul Walmsley <paul@pwsan.com>:

Add hwmod and PRCM data for the TI AM43xx family of SoCs.

Under normal circumstances, these patches would not be merged.
The hwmod and PRCM data should be moved out either to DT data or
to drivers/.  Also, the current implementation trades off lines
of diff by dynamically rewriting static data at runtime, which is
a bad practice - it causes future maintenance headaches.
However, after speaking with my upstream, it sounds like it's
better to merge these patches in their current state, due to long
term considerations.

Basic test logs are here:

http://www.pwsan.com/omap/testlogs/am43xx_support_v3.13/20131015213706/

Due to the lack of an AM43xx board and any available public
documentation, it's impossible for me to review or test that
platform in any meaningful way.  But at least the tests above
verify that the patches don't affect existing platforms -
particularly AM33xx.

* tag 'omap-for-v3.13/am43xx-hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2: hwmod: Add qspi data for am437x.
  ARM: OMAP2+: hwmod: Add USB hwmod data for AM437x.
  ARM: OMAP2+: AM43x PRCM init
  ARM: OMAP2+: AM43x: PRCM kbuild
  ARM: OMAP2+: hwmod: AM43x operations
  ARM: OMAP2+: hwmod: AM43x support
  ARM: OMAP2+: CM: AM43x clockdomain data
  ARM: OMAP2+: PM: AM43x powerdomain data
  ARM: OMAP2+: PRCM: AM43x definitions
  ARM: OMAP2+: hwmod: AM335x: remove static register offs
  ARM: OMAP2+: hwmod: AM335x: runtime register update
  ARM: OMAP2+: hwmod: AM335x/AM43x: move common data
  ARM: OMAP2+: CM: cm_inst offset s16->u16

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoMerge tag 'highbank-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
Kevin Hilman [Thu, 17 Oct 2013 22:27:54 +0000 (15:27 -0700)]
Merge tag 'highbank-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into next/soc

From Rob Herring:
Highbank platform updates for 3.13

- convert Calxeda cpuidle driver to a platform driver and to use PSCI
- convert highbank smp_ops and suspend to PSCI

* tag 'highbank-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  dts: calxeda: add ARM PSCI binding
  ARM: highbank: adapt to use ARM PSCI calls
  ARM: PSCI: remove unnecessary include of arm-gic.h
  cpuidle: calxeda: add support to use PSCI calls
  ARM: highbank: cpuidle: convert to platform driver
  cpuidle: calxeda: add cpu_pm_enter/exit calls

11 years agoMerge tag 'soc-3.13-2' of git://git.infradead.org/linux-mvebu into next/soc
Kevin Hilman [Thu, 17 Oct 2013 22:05:07 +0000 (15:05 -0700)]
Merge tag 'soc-3.13-2' of git://git.infradead.org/linux-mvebu into next/soc

From Jason Cooper:
mvebu soc changes for v3.13 (round 2)

 - kirkwood
    - remove mbus init, pcie clk init
    - retain MAC addr for DT ethernet (work around broken IP)
    - docs: clarify Armada SoCs

* tag 'soc-3.13-2' of git://git.infradead.org/linux-mvebu:
  Documentation: arm/Marvell: clarify Armada SoCs that match 78xx0 pattern
  ARM: kirkwood: retain MAC address for DT ethernet
  ARM: kirkwood: Remove unneeded PCIe clock adding
  ARM: kirkwood: Remove unneeded MBus initialization
  ARM: kirkwood: Add standby support

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoMerge tag 'integrator-for-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Kevin Hilman [Thu, 17 Oct 2013 21:42:33 +0000 (14:42 -0700)]
Merge tag 'integrator-for-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc

From Linus Walleij:
Integrator patches for the v3.13 kernel cycle:
- Fix up the LED support
- Update the Integrator defconfig
- Remove ATAG boot path
- Move some stuff over to the device tree

* tag 'integrator-for-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: integrator: core module registers from compatible strings
  ARM: integrator: use devm_ioremap() to remap CM
  cpufreq: probe the Integrator cpufreq driver from DT
  ARM: integrator: move CM base into device tree
  ARM: integrator: decommission the <mach/irqs.h> header
  ARM: integrator: delete non-devicetree boot path
  ARM: integrator: print the Linux IRQ in LL_DEBUG code
  ARM: integrator: get the LM interrupts from DT
  ARM: integrator: update defconfig
  ARM: integrator: get the CM control register by proxy

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoMerge branch 'davinci/soc' into next/soc
Kevin Hilman [Thu, 17 Oct 2013 21:36:34 +0000 (14:36 -0700)]
Merge branch 'davinci/soc' into next/soc

From Sekhar Nori:
* davinci/soc:
  ARM: davinci: convert to clockevents_config_and_register

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoARM: davinci: convert to clockevents_config_and_register
Uwe Kleine-König [Sun, 13 Oct 2013 08:36:30 +0000 (10:36 +0200)]
ARM: davinci: convert to clockevents_config_and_register

clockevents_config_and_register is superior compared to setting
shift/mult and {min,max}_delta_ns by hand.

Tested-by: Prabhakar Lad <prabhakar.csengg@gmail.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
[nsekhar@ti.com: fix an alignment related checkpatch warning]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
11 years agoMerge tag 'for-v3.13/am43xx-support' of git://git.kernel.org/pub/scm/linux/kernel...
Tony Lindgren [Thu, 17 Oct 2013 17:37:27 +0000 (10:37 -0700)]
Merge tag 'for-v3.13/am43xx-support' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.13/hwmod

Add hwmod and PRCM data for the TI AM43xx family of SoCs.

Under normal circumstances, these patches would not be merged.
The hwmod and PRCM data should be moved out either to DT data or
to drivers/.  Also, the current implementation trades off lines
of diff by dynamically rewriting static data at runtime, which is
a bad practice - it causes future maintenance headaches.
However, after speaking with my upstream, it sounds like it's
better to merge these patches in their current state, due to long
term considerations.

Basic test logs are here:

http://www.pwsan.com/omap/testlogs/am43xx_support_v3.13/20131015213706/

Due to the lack of an AM43xx board and any available public
documentation, it's impossible for me to review or test that
platform in any meaningful way.  But at least the tests above
verify that the patches don't affect existing platforms -
particularly AM33xx.

11 years agoARM: integrator: core module registers from compatible strings
Linus Walleij [Thu, 10 Oct 2013 16:24:58 +0000 (18:24 +0200)]
ARM: integrator: core module registers from compatible strings

This augments the core machine code for the Integrator platforms
to get their references to the core module device nodes by
using compatible strings instead of predefined node names
and rename the CP syscon node to be simply "syscon".

Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: use devm_ioremap() to remap CM
Linus Walleij [Thu, 10 Oct 2013 14:51:28 +0000 (16:51 +0200)]
ARM: integrator: use devm_ioremap() to remap CM

In the PCIv3 driver, use devm_ioremap() instead of just ioremap()
when remapping the system controller in the PCIv3 driver, so
the mapping will be automatically released on probe failure.

Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agocpufreq: probe the Integrator cpufreq driver from DT
Linus Walleij [Mon, 17 Jun 2013 20:52:32 +0000 (22:52 +0200)]
cpufreq: probe the Integrator cpufreq driver from DT

This makes the Integrator cpufreq driver probe from the core
module device tree node through it's registered platforms
device, getting the memory base from the device tree,
remapping it and removing dependencies to <mach/platform.h>
and <mach/hardware.h> by moving the two affected CM
register offsets into the driver.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: move CM base into device tree
Linus Walleij [Sun, 16 Jun 2013 00:44:27 +0000 (02:44 +0200)]
ARM: integrator: move CM base into device tree

This moves the core module (CM) control base into the device
tree. It is a simple memory range of 0x200 bytes. Move the
cm header down into the machine directory and unexport the
cm_control() symbol as no modules are using it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: decommission the <mach/irqs.h> header
Linus Walleij [Sat, 15 Jun 2013 21:58:15 +0000 (23:58 +0200)]
ARM: integrator: decommission the <mach/irqs.h> header

This header is no longer needed when we boot from the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: delete non-devicetree boot path
Linus Walleij [Sat, 15 Jun 2013 20:01:13 +0000 (22:01 +0200)]
ARM: integrator: delete non-devicetree boot path

The Device Tree boot path now supports everything the ATAG
boot can provide, and the two are equivalent. This deletes
the ATAG boot path from the Integrator/AP and
Integrator/CP platforms to move them on to the future.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: print the Linux IRQ in LL_DEBUG code
Linus Walleij [Sat, 15 Jun 2013 22:05:07 +0000 (00:05 +0200)]
ARM: integrator: print the Linux IRQ in LL_DEBUG code

The static HW irqs have no meaning in the interrupt handler
and does not correlate to the /proc/interrupts IRQ numbers
anymore, print the Linux IRQ number instead.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: get the LM interrupts from DT
Linus Walleij [Sat, 15 Jun 2013 21:56:32 +0000 (23:56 +0200)]
ARM: integrator: get the LM interrupts from DT

The OF/DT boot path needs to get the LM (Logical Module)
IRQs from the device tree for coherency. This augments the
DT syscon node to contain these IRQs and alter the DT LM
code to get them from there.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: update defconfig
Linus Walleij [Thu, 10 Oct 2013 12:00:33 +0000 (14:00 +0200)]
ARM: integrator: update defconfig

This updates the integrator defconfig, apart from the usual
re-shuffling of symbols due to restructuring of the kernel Kconfig
this will also:

- Enable IM-PD1 so all hardware is enabled out-of-the-box
- Enable the LEDs class and heartbeat trigger, so that the
  LED driver in plat-versatile/ is compiled.
- Enale some debug code like the CLK debug.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: integrator: get the CM control register by proxy
Linus Walleij [Thu, 10 Oct 2013 12:11:18 +0000 (14:11 +0200)]
ARM: integrator: get the CM control register by proxy

The CM_CTRL register was accessed directly from the LED driver,
which does not work now that we get the base for the register
from the device tree. Add an accessor function to do this and
make the LED driver compile again.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
11 years agoARM: OMAP2: hwmod: Add qspi data for am437x.
Sourav Poddar [Tue, 15 Oct 2013 05:37:27 +0000 (11:07 +0530)]
ARM: OMAP2: hwmod: Add qspi data for am437x.

Add hwmod data for qspi for AM437x.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoMerge tag 'omap-for-v3.13/soc-take2' of git://git.kernel.org/pub/scm/linux/kernel...
Kevin Hilman [Mon, 14 Oct 2013 22:42:08 +0000 (15:42 -0700)]
Merge tag 'omap-for-v3.13/soc-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:
SoC related changes for omaps to support the realtime
counter on newer omaps, and to fail early for omap5 es1.0
SoCs that don't have any support merged for them in the
mainline tree.

* tag 'omap-for-v3.13/soc-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix build error for realtime counter init if not enabled
  ARM: OMAP5/DRA7: realtime_counter: Configure CNTFRQ register
  ARM: OMAP5: id: Remove ES1.0 support
  ARM: OMAP2+: DRA7: realtime_counter: Add ratio registers for 20MHZ sys-clk frequency

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoMerge tag 'omap-for-v3.13/hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Kevin Hilman [Mon, 14 Oct 2013 22:38:13 +0000 (15:38 -0700)]
Merge tag 'omap-for-v3.13/hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:
omap hwmod related changes via Paul Walmsley <paul@pwsan.com>:

Some OMAP hwmod changes for 3.13.  Significant changes here include:

- support for moving some of the hwmod flags to DT data

- support for the SSI, hardware spinlock, USB host/TLL, and RNG IP
  blocks for various OMAPs

- a fix that again decouples hwmod data changes from unrelated DT data
  patchsets

Basic test logs are available at:

http://www.pwsan.com/omap/testlogs/prcm_fixes_v3.13/20131009094936/

* tag 'omap-for-v3.13/hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP5: hwmod: add missing ocp2scp hwmod data
  ARM: AM33xx: hwmod: Add RNG module data
  ARM: OMAP2+: hwmod: Extract no-idle and no-reset info from DT
  ARM: OMAP2+: hwmod: cleanup HWMOD_INIT_NO_RESET usage
  ARM: AM33xx: hwmod_data: add the sysc configuration for spinlock
  ARM: OMAP5: hwmod data: Add spinlock data
  ARM: OMAP5: hwmod data: Add USB Host and TLL modules
  ARM: OMAP2+: hwmod data: Add SSI information
  ARM: OMAP2+: hwmod: check for module address space during init

11 years agoARM: keystone: fix PM domain initcall to be keystone only
Kevin Hilman [Mon, 14 Oct 2013 17:30:11 +0000 (10:30 -0700)]
ARM: keystone: fix PM domain initcall to be keystone only

initcalls need to have platform specific checks so they are not run in
multi-platform builds.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoARM: OMAP2+: hwmod: Add USB hwmod data for AM437x.
George Cherian [Mon, 14 Oct 2013 12:36:24 +0000 (18:06 +0530)]
ARM: OMAP2+: hwmod: Add USB hwmod data for AM437x.

Add hwmod for USBSS and the OCP2SCP for AM437x.
AM437x has got 2 instances of USBSS.

Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: AM43x PRCM init
Ambresh K [Sat, 12 Oct 2013 10:16:37 +0000 (15:46 +0530)]
ARM: OMAP2+: AM43x PRCM init

Initialise AM43x HWMOD, powerdomains and clockdomains.

Signed-off-by: Ambresh K <ambresh@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: AM43x: PRCM kbuild
Afzal Mohammed [Sat, 12 Oct 2013 10:16:28 +0000 (15:46 +0530)]
ARM: OMAP2+: AM43x: PRCM kbuild

Build AM43x power domain, clock domain and hwmod data.

Many of AM43x IP's and interconnects are similar as that in AM335x,
hence AM335x hwmod data is being reused with necessary changes.

Earlier the plan was to reuse AM335x specific PRCM code, but as AM43x
PRCM register layout is much similar to OMAP4/5, AM335x PRCM is
divorced and instead married with OMAP4/5 PRCM for AM43x.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: hwmod: AM43x operations
Afzal Mohammed [Sat, 12 Oct 2013 10:16:20 +0000 (15:46 +0530)]
ARM: OMAP2+: hwmod: AM43x operations

Reuse OMAP4 operations on AM43x.

Context related ops are not used on AM43x, as this would not add value
when using DT and AM43x is DT only boot. This additionally helps not to
add context register offset for each hwmod.

Signed-off-by: Ambresh K <ambresh@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: hwmod: AM43x support
Afzal Mohammed [Sat, 12 Oct 2013 10:16:12 +0000 (15:46 +0530)]
ARM: OMAP2+: hwmod: AM43x support

Add hwmod support for IP's that are present in AM43x, but not in AM335x.
AM43x additional ones added here are,
1. synctimer
2. timer8-11
3. ehrpwm3-5
4. spi2-4
5. gpio4-5

AM43x pruss interconnect which is different as compared to AM335x, has
been taken care.

And register offsets for same hwmod's shared with AM335x is different,
AM43x register offsets are updated appropriately.

ocp clock of those in l4_wkup is fed from "sys_clkin_ck" instead of
"dpll_core_m4_div2_ck", so "ocpif" for those in AM43x l4_wkup has been
added seperately.

hwmod's has been added for those that have main clock (wkup_m3, control,
gpio0) and clock domain (l4_hs) different from AM335x. debugss and
adc_tsc that have different clocks and clockdomains repectively has not
been added due to the reasons mentioned below.

AM43x also has IP's like qspi, hdq1w, vpfe, des, rng, usb, dss, debugss,
adc_tsc. These are not handled here due to both/either of following
reasons,
1. To avoid churn; most of them don't have DT bindings, which would
   necessitate adding address space in hwmod, which any way would have
   to be removed once DT bindings happen with driver support.
2. patches would come in from sources other than the author

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: CM: AM43x clockdomain data
Ambresh K [Sat, 12 Oct 2013 10:16:03 +0000 (15:46 +0530)]
ARM: OMAP2+: CM: AM43x clockdomain data

Add the data file to describe clock domains in AM43x SoC.
OMAP4 clockdomain operations is being reused here.

Signed-off-by: Ambresh K <ambresh@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: PM: AM43x powerdomain data
Ambresh K [Sat, 12 Oct 2013 10:15:54 +0000 (15:45 +0530)]
ARM: OMAP2+: PM: AM43x powerdomain data

Add the data file to describe all power domains in AM43x SoC.
OMAP4 powerdomain operations is being reused here.

Signed-off-by: Ambresh K <ambresh@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: PRCM: AM43x definitions
Afzal Mohammed [Sat, 12 Oct 2013 10:15:45 +0000 (15:45 +0530)]
ARM: OMAP2+: PRCM: AM43x definitions

Add AM43x CMINST, CDOFFS, RM_RSTST & RM_RSTCTRL definitions - minimal
ones that would be used.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: hwmod: AM335x: remove static register offs
Afzal Mohammed [Sat, 12 Oct 2013 10:15:36 +0000 (15:45 +0530)]
ARM: OMAP2+: hwmod: AM335x: remove static register offs

Hwmod common to AM43x and AM335x has register offsets different. It is
now updated based on SoC detection at run time, hence remove statically
initialized ones.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: hwmod: AM335x: runtime register update
Afzal Mohammed [Sat, 12 Oct 2013 10:15:26 +0000 (15:45 +0530)]
ARM: OMAP2+: hwmod: AM335x: runtime register update

Most of IP's in AM335x is present on AM43x and so in those cases both
will use same hwmod database (except for a few cases where clock related
details differ), but there is difference w.r.t register offset between
these. Update register offsets at runtime based on the SoC detected to
help in sharing otherwise same hwmod.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: hwmod: AM335x/AM43x: move common data
Afzal Mohammed [Sat, 12 Oct 2013 10:14:46 +0000 (15:44 +0530)]
ARM: OMAP2+: hwmod: AM335x/AM43x: move common data

AM335x and AM43x have most of the IP's and interconnect's similar.
Instead of adding redundant hwmod data, move interconnects and hwmod
similar between AM335x and AM43x to a common location. This helps in
reuse on AM43x.

AM335x interconnects that has difference and not present in AM43x are
not moved. ocp clock of those in l4_wkup is fed from a different source
for AM43x. Also pruss interconnect is different.

AM335x hwmod's that has difference other than prcm register offsets
(difference is in clocks of wkup_m3, control, gpio0, debugss and clock
domain of l4_hs, adc_tsc as compared to AM43x) and those that are not
present in AM43x are not moved.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: CM: cm_inst offset s16->u16
Ankur Kishore [Sat, 12 Oct 2013 10:14:21 +0000 (15:44 +0530)]
ARM: OMAP2+: CM: cm_inst offset s16->u16

Most of the AM43x CM reg address offsets are with MSB bit '1' (on
16-bit value) leading to arithmetic miscalculations while calculating
CLOCK ENABLE register's address because cm_inst field was a type of
"const s16", so make it "const u16".

Also modify relevant functions so as to take care of the above.

[afzal@ti.com: fixup and cleanup]

Signed-off-by: Ankur Kishore <a-kishore@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: Fix build error for realtime counter init if not enabled
Tony Lindgren [Sat, 12 Oct 2013 00:28:04 +0000 (17:28 -0700)]
ARM: OMAP2+: Fix build error for realtime counter init if not enabled

Otherwise we can get an error with some configs:

arch/arm/mach-omap2/timer.c:73: undefined reference to `omap_smc1'

Signed-off-by: Tony Lindgren <tony@atomide.com>
11 years agoARM: OMAP5: hwmod: add missing ocp2scp hwmod data
Benoit Cousson [Fri, 11 Oct 2013 22:29:55 +0000 (15:29 -0700)]
ARM: OMAP5: hwmod: add missing ocp2scp hwmod data

Add this hwmod data to allow USB3 to work in OMAP5 boards.

Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[tony@atomide.com: updated to apply against Paul's changes]
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 years agoMerge tag 'keystone-soc-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel...
Kevin Hilman [Fri, 11 Oct 2013 22:01:14 +0000 (15:01 -0700)]
Merge tag 'keystone-soc-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/soc

From Santosh Shilimkar:
SOC updates for Keystone II devices:

- Clock tree support
- Clock management support using PM core
- Keystone config update for EMDA with ack from Vinod
- Enable SPI and I2C drivers

* tag 'keystone-soc-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: (510 commits)
  ARM: keystone: Enable I2C and SPI bus support
  ARM: keystone: Select TI_EDMA to be able to enable SPI driver
  dma: Allow TI_EDMA selectable for ARCH_KEYSTONE
  ARM: dts: keystone: Add the SPI nodes
  ARM: dts: keystone: Add i2c device nodes
  ARM: keystone: add PM domain support for clock management
  ARM: keystone: Enable clock drivers
  ARM: dts: keystone: Add clock phandle to UART nodes
  ARM: dts: keystone: Add clock tree data to devicetree
  +Linux 3.12-rc4

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoDocumentation: dt: Remove clock gates IDs list for Allwinner SoCs
Maxime Ripard [Fri, 4 Oct 2013 21:19:54 +0000 (23:19 +0200)]
Documentation: dt: Remove clock gates IDs list for Allwinner SoCs

That documentation was mostly useful when we didn't have any
documentation for those SoCs, which is not the case anymore. Remove
this, since it should live in the DT anyway.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Mark Rutland <mark.rutland@arm.com>
11 years agoDocumentation: dt: Remove interrupt sources list for Allwinner SoCs
Maxime Ripard [Fri, 4 Oct 2013 21:19:54 +0000 (23:19 +0200)]
Documentation: dt: Remove interrupt sources list for Allwinner SoCs

That documentation was mostly useful when we didn't have any
documentation for those SoCs, which is not the case anymore. Remove
this, since it should live in the DT anyway.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Mark Rutland <mark.rutland@arm.com>
11 years agoDocumentation: sunxi: Update Allwinner SoC documentation
Maxime Ripard [Fri, 4 Oct 2013 21:14:10 +0000 (23:14 +0200)]
Documentation: sunxi: Update Allwinner SoC documentation

Since that document was first submitted, some new SoCs have been
announced/released by Allwinner. Update the documentation to mention
those and the related documents.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
11 years agoDocumentation: sunxi: Update A13 user manual dead link
Maxime Ripard [Fri, 4 Oct 2013 21:07:48 +0000 (23:07 +0200)]
Documentation: sunxi: Update A13 user manual dead link

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
11 years agoMerge tag 'for-v3.13/hwmod' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw...
Tony Lindgren [Fri, 11 Oct 2013 18:07:44 +0000 (11:07 -0700)]
Merge tag 'for-v3.13/hwmod' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.13/hwmod

Some OMAP hwmod changes for 3.13.  Significant changes here include:

- support for moving some of the hwmod flags to DT data

- support for the SSI, hardware spinlock, USB host/TLL, and RNG IP
  blocks for various OMAPs

- a fix that again decouples hwmod data changes from unrelated DT data
  patchsets

Basic test logs are available at:

http://www.pwsan.com/omap/testlogs/prcm_fixes_v3.13/20131009094936/

The summary reports that the 4460varsomom boots are failing, but this looks
incorrect - it's probably a bug in the validation scripts here.

11 years agoARM: keystone: Enable I2C and SPI bus support
Santosh Shilimkar [Thu, 26 Sep 2013 22:59:57 +0000 (18:59 -0400)]
ARM: keystone: Enable I2C and SPI bus support

Keystone I2C dnd SPI driver updates are already merged so lets
enable them in config.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: keystone: Select TI_EDMA to be able to enable SPI driver
Santosh Shilimkar [Mon, 30 Sep 2013 15:08:20 +0000 (11:08 -0400)]
ARM: keystone: Select TI_EDMA to be able to enable SPI driver

Select the TI EDMA to be able to enable SPI driver on Keystone
SOCs. Keystone SOCs share the EDMA IP with other TI SOCs.

Note that EDMA support hasn't been added and tested yet for
Keystone SOC data(device tree), but building it, is harmless since
driver like SPI already takes care of supporting non-dma mode
in the absence of such data.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agodma: Allow TI_EDMA selectable for ARCH_KEYSTONE
Santosh Shilimkar [Mon, 30 Sep 2013 15:04:42 +0000 (11:04 -0400)]
dma: Allow TI_EDMA selectable for ARCH_KEYSTONE

Allow the TI_EDMA to be built for ARCH_KEYSTONE which also supports
the EDMA IP.

Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: dts: keystone: Add the SPI nodes
Santosh Shilimkar [Wed, 24 Jul 2013 00:25:23 +0000 (20:25 -0400)]
ARM: dts: keystone: Add the SPI nodes

Keystone2 based SOCs supports 3 instances of SPI controllers. Add
the device nodes for them.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: dts: keystone: Add i2c device nodes
Santosh Shilimkar [Wed, 24 Jul 2013 00:07:07 +0000 (20:07 -0400)]
ARM: dts: keystone: Add i2c device nodes

Keystone2 based SOCs supports 3 instances of i2c controllers. Add
the device nodes for them. The i2c0 child device AT24C1024 EEPROM node
is also added. When different board variants are added in future, it
can be moved to the supported boards from common SOC file.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoARM: keystone: add PM domain support for clock management
Santosh Shilimkar [Sun, 14 Jul 2013 21:17:39 +0000 (17:17 -0400)]
ARM: keystone: add PM domain support for clock management

Add runtime PM core support to Keystone SOCs by using the pm_clk
infrastructure of the PM core. Patch is based on Kevin's pm_domain
work on DaVinci SOCs.

Keystone SOC doesn't have depedency to enable clocks in early
in the boot and hence the clock and PM domain initialisation is done
at subsys_init() level.

Cc: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
11 years agoMerge tag 'renesas-soc2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git...
Kevin Hilman [Thu, 10 Oct 2013 22:33:39 +0000 (15:33 -0700)]
Merge tag 'renesas-soc2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

From Simon Horman:
Second Round of Renesas ARM based SoC updates for v3.13

* SMP support for r8a7791 SoC
* r8a7779_init_irq_extpin() for DT for r8a7779 and r8a7778 SoCs
* Add HPB-DMAC to r8a7779 and r8a7778 SoCs
* Add r7s72100 SoC
* Make use of ARCH timer workaround on r8a7791 SoC
* Add IRQC platform device support to r8a7791 SoC
* Add I2C clocks and aliases for the DT mode for r8a7790 SoC
* Add MAC platform device to r8a73a4 SoC

* tag 'renesas-soc2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7791 SMP support
  ARM: shmobile: r8a7779: split r8a7779_init_irq_extpin() for DT
  ARM: shmobile: r8a7778: split r8a7778_init_irq_extpin() for DT
  ARM: shmobile: r7s72100 SCIF support
  ARM: shmobile: Initial r7s72100 SoC support
  ARM: shmobile: r8a7791 Arch timer workaround
  ARM: shmobile: r8a7791 IRQC platform device support
  ARM: shmobile: Introduce r8a7791_add_standard_devices()
  ARM: shmobile: Break out R-Car Gen2 setup code
  ARM: shmobile: r8a73a4: add a clock alias for the DMAC in DT mode
  ARM: shmobile: r8a7790: add I2C clocks and aliases for the DT mode
  ARM: shmobile: r8a7779: add HPB-DMAC support
  ARM: shmobile: r8a7778: add HPB-DMAC support
  ARM: shmobile: r8a73a4: add a DMAC platform device and clock for it
  ARM: shmobile: Remove #gpio-ranges-cells DT property
  gpio: rcar: Remove #gpio-range-cells DT property usage
  ARM: shmobile: armadillo: fixup ether pinctrl naming
  ARM: shmobile: Lager: add Micrel KSZ8041 PHY fixup
  ARM: shmobile: update SDHI DT compatibility string to the <unit>-<soc> format

Signed-off-by: Kevin Hilman <khilman@linaro.org>
11 years agoARM: OMAP5/DRA7: realtime_counter: Configure CNTFRQ register
R Sricharan [Thu, 10 Oct 2013 07:43:48 +0000 (13:13 +0530)]
ARM: OMAP5/DRA7: realtime_counter: Configure CNTFRQ register

The realtime counter called master counter, produces the count
used by the private timer peripherals in the MPU_CLUSTER. The
CNTFRQ per cpu register is used to denote the frequency of the counter.
Currently the frequency value is passed from the
DT file, but this is not scalable when we have other non-DT guest
OS. This register must be set to the right value by the
secure rom code. Setting this register helps in propagating the right
frequency value across OSes.

More discussions and the reason for adding this in a non-DT
way can be seen from below.
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg93832.html

So configuring this secure register for all the cpus here.

Cc: Nishanth Menon <nm@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Tested-by: Nishanth Menon <nm@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Sricharan R <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
11 years agoARM: AM33xx: hwmod: Add RNG module data
Lokesh Vutla [Thu, 29 Aug 2013 12:52:10 +0000 (18:22 +0530)]
ARM: AM33xx: hwmod: Add RNG module data

Add RNG hwmod data for AM33xx SoC.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
11 years agoARM: OMAP2+: hwmod: Extract no-idle and no-reset info from DT
Rajendra Nayak [Wed, 9 Oct 2013 07:26:55 +0000 (01:26 -0600)]
ARM: OMAP2+: hwmod: Extract no-idle and no-reset info from DT

Now that we have DT bindings to specify which devices should not
be reset and idled during init, make hwmod extract the information
(and store them in internal flags) from Device tree.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: updated to apply]
Signed-off-by: Paul Walmsley <paul@pwsan.com>