GitHub/moto-9609/android_kernel_motorola_exynos9610.git
9 years agoMerge tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git.kernel.org/pub/scm...
Olof Johansson [Wed, 22 Apr 2015 04:45:15 +0000 (21:45 -0700)]
Merge tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git./linux/kernel/git/tmlind/linux-omap into next/late

Merge "urgent omap boot fix for v4.1 if MFD_SYSCON is not set" from Tony
Lindgren:

Urgent pull request for v4.1 to booting for custom kernel
.config files that do not have MFD_SYSCON set.

Omaps now have a dependency to MFD_SYSCON for system control
module generic register area and some clocks with the changes
done in omap-for-v4.1/prcm-dts branch.

This can be pulled on top of omap-for-v4.1/prcm-dts, or into
fixes for v4.1.

We already do have a slight MFD_SYSCON dependency for
REGULATOR_PBIAS for dual voltage MMC cards on the first MMC
bus for many devices, so from that point of view this can
also be merged separately from omap-for-v4.1/prcm-dts.

* tag 'omap-for-v4.1/prcm-dts-mfd-syscon-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON

Signed-off-by: Olof Johansson <olof@lixom.net>
9 years agoARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON
Tony Lindgren [Mon, 20 Apr 2015 17:36:31 +0000 (10:36 -0700)]
ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON

With the recent changes omaps have developed a dependency to MFD_SYSCON.
This is used for system control module generic register area and some
clocks.

We do have it selected in omap2plus_defconfig, but targeted config
files may not have it selected. Let's make sure it's selected like
few other ARM platforms are already doing.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoMerge branch 'omap/dt' into next/late
Arnd Bergmann [Wed, 15 Apr 2015 19:35:22 +0000 (21:35 +0200)]
Merge branch 'omap/dt' into next/late

As pointed out by Stephen Rothwell, commit e52117638b79 ("ARM: dts:
omap3: Add DT entries for OMAP 3 ISP") conflicts with b8845074cfbb
("ARM: dts: omap3: add minimal l4 bus layout with control module support")
in non-obvious ways, causing a build failure when both patches
are present.

This merges the two branches that introduce the respective changes
into the next/late branch to resolve the way that Stephen suggested,
as confirmed by Tony.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lkml.org/lkml/2015/4/6/436
Acked-by: Tony Lindgren <tony@atomide.com>
9 years agoMerge tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo...
Arnd Bergmann [Mon, 13 Apr 2015 23:18:44 +0000 (01:18 +0200)]
Merge tag 'imx-dt-4.1' of git://git./linux/kernel/git/shawnguo/linux into next/late

Pull "The i.MX device tree updates for 4.1" from Shawn Guo:

 - Convert GPC controller to use stacked interrupt domains
 - Add power domain descriptions for i.MX6 platforms
 - Improve i.MX25 pin function defines
 - Disable PWM devices in <soc>.dtsi by default and enable it at board
   level dts where the device is actually available.
 - Define labels for SNVS RTC device to ease the board description,
   where an external RTC is available.
 - Add dr_mode host setting to all i.MX host-only USB instances
 - Support Miscellaneous System Control Module (MSCM) for VF610
 - Add initial i.MX6SL WaRP Board support
 - Add i.MX6SX SDB revision B board support
 - A bunch of imx28-apf28dev board updates, including gpio polarity
   correction and CAN, AUART device support.
 - SolidRun iMX6 platform updates: dual-license of GPLv2/X11, PWM
   setup, PCF8523 RTC, GPIO key and SGTL5000 audio support.
 - A number of random device additions for boards: SPI and CAN for
   vf-colibri, MAX7310 GPIO expander for imx6qdl-sabreauto and LCD
   support for imx25-pdk.

Note: Branch imx/cleanup was merged as the base to solve conflict on
imx25 iomux header.  Branch imx/soc was merged as the base to solve
conflict on arch/arm/mach-imx/gpc.c.  And Jason Cooper's irqchip/vybrid
branch was pulled into the base as a run-time dependency.

* tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (69 commits)
  ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro
  ARM: dts: imx25-pinfunc: Add several pinfunctions
  ARM: dts: vf610: fix missing irqs
  ARM: dts: cubox: Map gpio-keys to gpio3 8
  ARM: dts: hummingboard: Setup pwm lines
  ARM: dts: hummingboard: enable PCF8523 RTC support
  ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11
  ARM: dts: imx28: add alternative pinmuxing for spi3
  ARM: dts: imx6sx: Add label snvs_rtc
  ARM: dts: imx6sl: Add label snvs_rtc
  ARM: imx6: Warn when an old DT is detected
  ARM: imx6: Allow GPC interrupts affinity to be changed
  ARM: imx6qdl-sabreauto.dtsi: add max7310 support
  ARM: dts: imx6sl-warp: Add BCM4330 support
  ARM: dts: imx28-apf28dev: add wakeup function to user button
  ARM: dts: imx28-apf28dev: fix user button polarity
  ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register
  ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)
  ARM: dts: imx6sl-warp: Pass 'bus-width' property
  ARM: dts: imx6qdl: disable PWMs by default
  ...

9 years agoMerge tag 'omap-for-v4.1/prcm-dts' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 13 Apr 2015 23:03:29 +0000 (01:03 +0200)]
Merge tag 'omap-for-v4.1/prcm-dts' of git://git./linux/kernel/git/tmlind/linux-omap into next/late

Pull "Clean-up for omap PRCM (Power Reset Clock Management) and interconnects" from Tony Lindgren
Patches originally from Tero Kristo <t-kristo@ti.com>.

This sets gets us into a better position for further clean-up:

- Gets PRCM code closer to being device drivers

- Allows to move the remainig clock code to drivers/clk for v4.2

- Starts enforcing interconnect hierarchy in the SoC specific .dts
  files to enforce device drivers are only accesing registers in
  the related hardware module

This patchset has seen quite a few revisions but did not come into
mergeable shape until recently. As other patchsets for clock specific
device drivers depend on this, it would be good to get this merged
although it's a bit late for the v4.1 merge window.

Note that as the device entries in the .dts files are moved around,
this is based on earlier non-urgent fixes to avoid a non-trivial
merge conflict.

* tag 'omap-for-v4.1/prcm-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (44 commits)
  ARM: OMAP4+: control: add support for initializing control module via DT
  ARM: dts: dra7: add minimal l4 bus layout with control module support
  ARM: dts: omap5: add minimal l4 bus layout with control module support
  ARM: OMAP4+: control: remove support for legacy pad read/write
  ARM: OMAP4: display: convert display to use syscon for dsi muxing
  ARM: dts: omap4: add minimal l4 bus layout with control module support
  ARM: dts: am4372: add minimal l4 bus layout with control module support
  ARM: dts: am43xx-epos-evm: fix pinmux node layout
  ARM: dts: am33xx: add minimal l4 bus layout with control module support
  ARM: dts: omap3: add minimal l4 bus layout with control module support
  ARM: dts: omap24xx: add minimal l4 bus layout with control module support
  ARM: OMAP2+: control: add syscon support for register accesses
  ARM: OMAP2+: id: cache omap_type value
  ARM: OMAP2+: control: remove API for getting control module base address
  ARM: OMAP2+: clock: add low-level support for regmap
  ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init
  ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags
  ARM: OMAP2+: CM: move SoC specific init calls within a generic API
  ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility
  ARM: OMAP2+: PRM: move SoC specific init calls within a generic API
  ...

9 years agoMerge branch '4.0-rc1-prcm-cleanup-v6' of https://github.com/t-kristo/linux-pm into...
Tony Lindgren [Wed, 1 Apr 2015 19:24:29 +0000 (12:24 -0700)]
Merge branch '4.0-rc1-prcm-cleanup-v6' of https://github.com/t-kristo/linux-pm into omap-for-v4.1/prcm-cleanup

Conflicts:
arch/arm/boot/dts/dra7.dtsi

9 years agoARM: OMAP4+: control: add support for initializing control module via DT
Tero Kristo [Thu, 12 Feb 2015 09:47:04 +0000 (11:47 +0200)]
ARM: OMAP4+: control: add support for initializing control module via DT

OMAP4, OMAP5 and DRA7 now parse DT entries for control module address spaces,
and set up syscon mappings appropriately. Low level IO init is updated to
remove the legacy control module mappings for these devices also.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: dra7: add minimal l4 bus layout with control module support
Tero Kristo [Thu, 12 Feb 2015 09:37:13 +0000 (11:37 +0200)]
ARM: dts: dra7: add minimal l4 bus layout with control module support

This patch creates the l4_cfg and l4_wkup interconnects for DRA7, and
moves some of the generic peripherals under it. System control module
support is added to the device tree also, and the existing SCM related
functionality is moved under it.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: omap5: add minimal l4 bus layout with control module support
Tero Kristo [Thu, 12 Feb 2015 09:35:29 +0000 (11:35 +0200)]
ARM: dts: omap5: add minimal l4 bus layout with control module support

This patch creates the l4_cfg and l4_wkup interconnects for OMAP5, and
moves some of the generic peripherals under it. System control module
support is added to the device tree also, and the existing SCM related
functionality is moved under it.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4+: control: remove support for legacy pad read/write
Tero Kristo [Fri, 20 Feb 2015 08:08:52 +0000 (10:08 +0200)]
ARM: OMAP4+: control: remove support for legacy pad read/write

omap4_ctrl_pad_readl/writel are no longer used by anybody, so remove
these. Syscon / pinctrl should be used to access the padconf area
instead.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4: display: convert display to use syscon for dsi muxing
Tero Kristo [Thu, 19 Feb 2015 10:42:59 +0000 (12:42 +0200)]
ARM: OMAP4: display: convert display to use syscon for dsi muxing

The legacy control module APIs will be gone, thus convert the display
driver to use syscon. This change should eventually be moved to
display driver from the board directory.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
9 years agoARM: dts: omap4: add minimal l4 bus layout with control module support
Tero Kristo [Thu, 12 Feb 2015 09:32:14 +0000 (11:32 +0200)]
ARM: dts: omap4: add minimal l4 bus layout with control module support

This patch creates the l4_cfg and l4_wkup interconnects for OMAP4, and
moves some of the generic peripherals under it. System control module
support is added to the device tree also, and the existing SCM related
functionality is moved under it.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Reported-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: am4372: add minimal l4 bus layout with control module support
Tero Kristo [Thu, 12 Feb 2015 08:25:40 +0000 (10:25 +0200)]
ARM: dts: am4372: add minimal l4 bus layout with control module support

This patch creates an l4_wkup interconnect for AM43xx, and moves some of
the generic peripherals under it. System control module nodes are moved
under this new interconnect also, and the SCM clock layout is changed
to use the renamed SCM nodea as the clock provider.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: am43xx-epos-evm: fix pinmux node layout
Tero Kristo [Wed, 25 Feb 2015 13:03:57 +0000 (15:03 +0200)]
ARM: dts: am43xx-epos-evm: fix pinmux node layout

Pinmux node should be a reference to the base one, not a complete re-write
of it. Having the node like this also prevents modifying the node layout
in the base am4372.dtsi file, which is needed for control module changes.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: am33xx: add minimal l4 bus layout with control module support
Tero Kristo [Fri, 20 Mar 2015 11:08:29 +0000 (13:08 +0200)]
ARM: dts: am33xx: add minimal l4 bus layout with control module support

This patch creates an l4_wkup interconnect for AM33xx, and moves some of
the generic peripherals under it. System control module nodes are moved
under this new interconnect also, and the SCM clock layout is changed
to use the renamed SCM node as the clock provider.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: omap3: add minimal l4 bus layout with control module support
Tero Kristo [Tue, 24 Feb 2015 14:22:45 +0000 (16:22 +0200)]
ARM: dts: omap3: add minimal l4 bus layout with control module support

This patch creates an l4_core interconnect for OMAP3, and moves some
of the generic peripherals under it. System control module nodes are
moved under this new interconnect also, and the SCM clock layout
is changed to use the renamed SCM node as the clock provider.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Reported-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: omap24xx: add minimal l4 bus layout with control module support
Tero Kristo [Thu, 12 Feb 2015 08:38:16 +0000 (10:38 +0200)]
ARM: dts: omap24xx: add minimal l4 bus layout with control module support

This patch creates an l4 / l4-wkup interconnects for omap2420 / omap2430
SoCs, and moves some of the generic peripherals under it. System control
module nodes are moved under this new interconnect also, and the SCM
clock layout is changed to use the new SCM node as the clock provider.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: control: add syscon support for register accesses
Tero Kristo [Thu, 12 Feb 2015 09:24:11 +0000 (11:24 +0200)]
ARM: OMAP2+: control: add syscon support for register accesses

Control module driver needs to support syscon for register accesses, as
the DT hierarchy for control module driver is going to be changed. All
the control module related features will be moved under control module
node, including clocks, pinctrl, and generic configuration register
access. Temporary iomap is still provided very early in the boot for
access while syscon is not yet ready.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: id: cache omap_type value
Tero Kristo [Mon, 9 Feb 2015 14:17:38 +0000 (16:17 +0200)]
ARM: OMAP2+: id: cache omap_type value

There is no need to read the register with every invocation of the function,
as the value is constant. Thus, cache the value in a static variable.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: control: remove API for getting control module base address
Tero Kristo [Fri, 6 Feb 2015 14:20:13 +0000 (16:20 +0200)]
ARM: OMAP2+: control: remove API for getting control module base address

This shall not be used anymore, as control module driver is converted
into using regmap.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: clock: add low-level support for regmap
Tero Kristo [Fri, 6 Feb 2015 14:00:32 +0000 (16:00 +0200)]
ARM: OMAP2+: clock: add low-level support for regmap

Some of the TI clock providers will be converted to use syscon, thus
low-level regmap support is needed for the clock drivers also. This
patch adds this support, which can be enabled for individual drivers
in later patches.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init
Tero Kristo [Mon, 8 Sep 2014 08:44:10 +0000 (11:44 +0300)]
ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init

The compatible DT node is now passed with the prm init, so there is no
need to do node matching here again. Added a new flag to the init data
also, to detect default IRQ support for OMAP4. Also, any booting omap4
DT setup always has a PRM node, so there is no need to check against
the special case where it would be missing.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4+: PRM: setup prm_features from the PRM init time flags
Tero Kristo [Fri, 21 Nov 2014 12:45:29 +0000 (14:45 +0200)]
ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags

Currently some cpu_is_X checks are used to setup prm_features, however
the same can be accomplished by just passing these flags from the PRM
init data. This is done in preparation to make PRM a separate driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: CM: move SoC specific init calls within a generic API
Tero Kristo [Fri, 21 Nov 2014 13:51:37 +0000 (15:51 +0200)]
ARM: OMAP2+: CM: move SoC specific init calls within a generic API

This gets rid of need for some exported driver APIs, and simplifies the
initialization of the CM driver. Done in preparation to make CM a
separate driver. The init data is now also passed to the SoC specific
implementations, allowing future expansion to add feature flags etc.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility
Tero Kristo [Mon, 8 Sep 2014 08:29:43 +0000 (11:29 +0300)]
ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility

PRM device instance offset is now provided through the prm_init_data.
This gets rid of some cpu_is_X / soc_is_X calls from PRM core code,
preparing for PRM to be its own separate driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: PRM: move SoC specific init calls within a generic API
Tero Kristo [Thu, 20 Nov 2014 13:02:59 +0000 (15:02 +0200)]
ARM: OMAP2+: PRM: move SoC specific init calls within a generic API

This gets rid of need for some exported driver APIs, and simplifies the
initialization of the PRM driver. Done in preparation to make PRM a
separate driver. The init data is now also passed to the SoC specific
implementations, allowing future expansion to add feature flags etc.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro
Russell King [Mon, 30 Mar 2015 12:06:57 +0000 (13:06 +0100)]
ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro

Add the DT description for the SGTL5000 found on the Hummingboard Pro
model.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx25-pinfunc: Add several pinfunctions
Markus Pargmann [Sun, 29 Mar 2015 20:00:35 +0000 (22:00 +0200)]
ARM: dts: imx25-pinfunc: Add several pinfunctions

This patch adds some not yet defined pinfunctions. It also adds two
comments about mistakes in the i.MX25 reference manual so it is easier
to spot the difference between reference manual and pinfunction
definitions.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: vf610: fix missing irqs
Stefan Agner [Mon, 30 Mar 2015 04:10:39 +0000 (12:10 +0800)]
ARM: dts: vf610: fix missing irqs

While adding the MSCM interrupt router, all interrupts have been moved
to vfxxx.dtsi again. However, some properties got lost. Readd the
missing interrupt properties.

Fixes: 97e6466ab9d0 ("ARM: dts: vf610: add Miscellaneous System Control
Module (MSCM)")
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: cubox: Map gpio-keys to gpio3 8
George Joseph [Tue, 24 Mar 2015 16:31:35 +0000 (10:31 -0600)]
ARM: dts: cubox: Map gpio-keys to gpio3 8

The Cubox has a recessed button between the HDMI and RJ-45 connectors
that wasn't mapped in the device tree, so I've mapped it to gpio-keys
BTN_0.

Signed-off-by: George Joseph <george.joseph@fairview5.com>
Tested-by: George Joseph <george.joseph@fairview5.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: hummingboard: Setup pwm lines
Rabeeh Khoury [Mon, 2 Mar 2015 20:03:59 +0000 (20:03 +0000)]
ARM: dts: hummingboard: Setup pwm lines

Setup pwm lines as follows -
pwm1: In case HummingBoard base carrier; this pin drives through a serial
      capacitor the mono out of the audio jack.
      In case HummingBoard pro the this pad can be reached by wiring to
      C8 capacitors on the board.
pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as
      a gpio.
      The user can change the io pad mux in user space and therefore use
      this function on gpio-1 (pin number 7 on the 26 pin header).
pwm3,pwm4: unused

Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
[tweaked alias for pwm pinctrl group --rmk]
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: hummingboard: enable PCF8523 RTC support
Russell King [Mon, 2 Mar 2015 20:03:54 +0000 (20:03 +0000)]
ARM: dts: hummingboard: enable PCF8523 RTC support

Enable the commented out PCF8523 RTC support for Hummingboard pro
base boards.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11
Russell King [Mon, 2 Mar 2015 20:00:50 +0000 (20:00 +0000)]
ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11

Update SolidRun iMX6 platforms DT descriptions to be dual-licensed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Rabeeh Khoury <rabeeh@solid-run.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28: add alternative pinmuxing for spi3
Uwe Kleine-König [Thu, 19 Mar 2015 09:55:47 +0000 (10:55 +0100)]
ARM: dts: imx28: add alternative pinmuxing for spi3

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6sx: Add label snvs_rtc
Fabio Estevam [Sat, 14 Mar 2015 15:47:48 +0000 (12:47 -0300)]
ARM: dts: imx6sx: Add label snvs_rtc

It may be useful to disable the internal snvs-rtc when an external rtc is
available. This patch adds a label so that dts files can disable it.

Based on a patch from Markus Pargmann for imx6qdl.dtsi.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6sl: Add label snvs_rtc
Fabio Estevam [Sat, 14 Mar 2015 15:47:47 +0000 (12:47 -0300)]
ARM: dts: imx6sl: Add label snvs_rtc

It may be useful to disable the internal snvs-rtc when an external rtc is
available. This patch adds a label so that dts files can disable it.

Based on a patch from Markus Pargmann for imx6qdl.dtsi.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx6: Warn when an old DT is detected
Marc Zyngier [Fri, 13 Mar 2015 16:05:37 +0000 (16:05 +0000)]
ARM: imx6: Warn when an old DT is detected

Now that the GPC has been converted to be a full blown irqchip
(and not a mole on the side of the GIC), booting a new kernel
with an old DT is likely to result in a rough ride for the user.

This patch makes sure such a situation is promptly detected and
the user made aware that a DT update is in order.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx6: Allow GPC interrupts affinity to be changed
Marc Zyngier [Thu, 12 Mar 2015 08:40:37 +0000 (08:40 +0000)]
ARM: imx6: Allow GPC interrupts affinity to be changed

While converting the GPC code to a stacked irqchip, we lost the
possibility to change the CPU affinity of an interrupt routed
through the GPC.

This patch restore the expected behaviour by forwarding the
affinity setup to the underlying irqchip (GIC).

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx6qdl-sabreauto.dtsi: add max7310 support
Peter Chen [Fri, 13 Mar 2015 06:21:42 +0000 (14:21 +0800)]
ARM: imx6qdl-sabreauto.dtsi: add max7310 support

max7310 is an i2c interface gpio expander

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6sl-warp: Add BCM4330 support
Fabio Estevam [Thu, 12 Mar 2015 22:07:12 +0000 (19:07 -0300)]
ARM: dts: imx6sl-warp: Add BCM4330 support

Warp has a Murata chip based on a BCM4330 that provides Wifi and Bluetooth
functionality.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28dev: add wakeup function to user button
Gwenhael Goavec-Merou [Wed, 11 Mar 2015 15:06:01 +0000 (16:06 +0100)]
ARM: dts: imx28-apf28dev: add wakeup function to user button

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28dev: fix user button polarity
Gwenhael Goavec-Merou [Wed, 11 Mar 2015 15:06:00 +0000 (16:06 +0100)]
ARM: dts: imx28-apf28dev: fix user button polarity

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register
Markus Pargmann [Thu, 12 Mar 2015 15:03:08 +0000 (16:03 +0100)]
ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register

input values are only useful for pin functions which define a input
register. This patch removes all input values of pin functions which do
not have an input configuration register.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: vf610: add Miscellaneous System Control Module (MSCM)
Stefan Agner [Sun, 1 Mar 2015 22:41:29 +0000 (23:41 +0100)]
ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)

Add the Miscellaneous System Control Module (MSCM) to the base
device tree for Vybrid SoC's. This module contains registers
to get information of the individual and current (accessing)
CPU. In a second block, there is an interrupt router, which
handles the routing of the interrupts between the two CPU cores
on VF6xx variants of the SoC. However, also on single core
variants the interrupt router needs to be configured in order
to receive interrupts on the CPU's interrupt controller. Almost
all peripheral interrupts are routed through the router, hence
the MSCM module is the default interrupt parent for this SoC.

In a earlier commit the interrupt nodes were moved out of the
peripheral nodes and specified in the CPU specific vf500.dtsi
device tree. This allowed to use the base device tree vfxxx.dtsi
also for a Cortex-M4 specific device tree, which uses different
interrupt nodes due to the NVIC interrupt controller. However,
since the interrupt parent for peripherals is the MSCM module
independently which CPU the device tree is used for, we can move
the interrupt nodes into the base device tree vfxxx.dtsi again.
Depending on which CPU this base device tree will be used with,
the correct parent interrupt controller has to be assigned to
the MSCM-IR node (GIC or NVIC). The driver takes care of the
parent interrupt controller specific needs (interrupt-cells).

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6sl-warp: Pass 'bus-width' property
Fabio Estevam [Tue, 10 Mar 2015 02:33:22 +0000 (23:33 -0300)]
ARM: dts: imx6sl-warp: Pass 'bus-width' property

USDHC2 port uses all the 8 data signals, so pass the 'bus-width' property
accordingly.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6qdl: disable PWMs by default
Philipp Zabel [Mon, 9 Mar 2015 16:40:36 +0000 (17:40 +0100)]
ARM: dts: imx6qdl: disable PWMs by default

Since PWMs are only useful if they are actually connected to an output pin,
let users enable them explicitly in their device trees where they should
also set up the pin configuration.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: hummingboard/cubox-i: enable front LED PWM explicitly
Philipp Zabel [Mon, 9 Mar 2015 16:40:35 +0000 (17:40 +0100)]
ARM: dts: hummingboard/cubox-i: enable front LED PWM explicitly

All PWM users should explicitly enable the used PWMs in their device tree
so they can be disabled by default in imx6qdl.dtsi.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6dl-aristainetos: enable backlight PWM explicitly
Philipp Zabel [Mon, 9 Mar 2015 16:40:34 +0000 (17:40 +0100)]
ARM: dts: imx6dl-aristainetos: enable backlight PWM explicitly

All PWM users should explicitly enable the used PWMs in their device tree
so they can be disabled by default in imx6qdl.dtsi.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay
Philipp Zabel [Mon, 23 Feb 2015 17:40:15 +0000 (18:40 +0100)]
ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay

The PU regulator is enabled during boot, but not necessarily always-on.
It can be disabled by the generic pm domain framework when the PU power
domain is shut down. The ramp delay of 150 us might be a bit conservative,
the value is taken from the Freescale kernel.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6sl: Add power-domain information to gpc node
Philipp Zabel [Mon, 23 Feb 2015 17:40:14 +0000 (18:40 +0100)]
ARM: dts: imx6sl: Add power-domain information to gpc node

The PGC that is part of GPC controls isolation and power sequencing of the
power domains. The PU power domain will be handled by the generic pm domain
framework. It needs a phandle to the PU regulator to turn off power when
the domain is disabled and a list of clocks to be enabled during powerup
for reset propagation.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6qdl: Add power-domain information to gpc node
Philipp Zabel [Mon, 23 Feb 2015 17:40:13 +0000 (18:40 +0100)]
ARM: dts: imx6qdl: Add power-domain information to gpc node

The PGC that is part of GPC controls isolation and power sequencing of the
power domains. The PU power domain will be handled by the generic pm domain
framework. It needs a phandle to the PU regulator to turn off power when
the domain is disabled, and a list of phandles to all clocks that must be
enabled during powerup for reset propagation.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx: Add dr_mode host setting to all host-only usb instances
Matt Porter [Fri, 27 Feb 2015 14:06:00 +0000 (09:06 -0500)]
ARM: dts: imx: Add dr_mode host setting to all host-only usb instances

The chipidea driver adds an extra line of spam to the log when a
host-only chipidea instance is left set to the default of a dual role
controller.

[    2.010873] ci_hdrc ci_hdrc.1: doesn't support gadget

Set the dr_mode property to host on all the host-only nodes
to avoid this warning.

Signed-off-by: Matt Porter <mporter@konsulko.com>
Acked-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: warp: Add initial WaRP Board support
Otavio Salvador [Tue, 3 Mar 2015 03:41:45 +0000 (00:41 -0300)]
ARM: dts: warp: Add initial WaRP Board support

The WaRP Board is a Wearable Reference Plaform. The board features:

 - Freescale i.MX6 SoloLite processor with 512MB of RAM
 - Freescale FXOS8700CQ 6-axis Xtrinsic sensor
 - Freescale Kinetis KL16 MCU
 - Freescale Xtrinsic MMA955xL intelligent motion sensing platform

The board implements a hybrid architecture to address the evolving
needs of the wearables market. The platform consists of a main board
and an example daughtercard with the ability to add additional
daughtercards for different usage models.

For more information about the project, visit:

 http://www.warpboard.org/

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: vf610: remove unused gpio-range-cells property
Stefan Agner [Mon, 2 Mar 2015 15:58:01 +0000 (16:58 +0100)]
ARM: dts: vf610: remove unused gpio-range-cells property

The anyway depricated gpio-range-cells property was never used
by the pin controller driver. This patch removes it.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx6: convert GPC to stacked domains
Marc Zyngier [Mon, 23 Feb 2015 17:45:18 +0000 (17:45 +0000)]
ARM: imx6: convert GPC to stacked domains

IMX6 has been (ab)using the gic_arch_extn to provide
wakeup from suspend, and it makes a lot of sense to convert
this code to use stacked domains instead.

This patch does just this, updating the DT files to actually
reflect what the HW provides.

BIG FAT WARNING: because the DTs were so far lying by not
exposing the fact that the GPC block is actually the first
interrupt controller in the chain, kernels with this patch
applied wont have any suspend-resume facility when booted
with old DTs, and old kernels with updated DTs won't even boot.

Tested-by: Stefan Agner <stefan@agner.ch>
Acked-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx25-pdk: Add LCD support
Fabio Estevam [Sat, 21 Feb 2015 18:27:18 +0000 (16:27 -0200)]
ARM: dts: imx25-pdk: Add LCD support

Add support for the CLAA057VC01CW display.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx25-pinfunc: more defines
Uwe Kleine-König [Sat, 21 Feb 2015 14:31:23 +0000 (15:31 +0100)]
ARM: dts: imx25-pinfunc: more defines

Add some defines currently missing, fix ordering to make the list
sorted by (mux_reg, mux_val), make sure pins are grouped by mux_reg.

The same definitions are missing from the old pinmux header
(arch/arm/mach-imx/iomux-mx25.h) but as only legacy machine support uses
that and therefor the existing list is obviously good enough I didn't
spend the effort to add the corresponding definitions there, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx25: fix some wrong iomux definitions
Uwe Kleine-König [Sat, 21 Feb 2015 14:31:22 +0000 (15:31 +0100)]
ARM: imx25: fix some wrong iomux definitions

Noticed while looking over the pad definitions. None of the bogus
definitions is used in-tree.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6qdl: Add label snvs_rtc
Markus Pargmann [Fri, 20 Feb 2015 16:04:09 +0000 (17:04 +0100)]
ARM: dts: imx6qdl: Add label snvs_rtc

It may be useful to disable the internal rtc snvs-rtc because an
external rtc is available. This patch adds a label so that board files
can disable this rtc.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28dev: add support for auart0
Gwenhael Goavec-Merou [Fri, 13 Feb 2015 14:12:05 +0000 (15:12 +0100)]
ARM: dts: imx28-apf28dev: add support for auart0

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28dev: add support for can0
Gwenhael Goavec-Merou [Fri, 13 Feb 2015 14:12:04 +0000 (15:12 +0100)]
ARM: dts: imx28-apf28dev: add support for can0

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28dev: fix mac1 gpio location and polarity
Gwenhael Goavec-Merou [Fri, 13 Feb 2015 14:12:03 +0000 (15:12 +0100)]
ARM: dts: imx28-apf28dev: fix mac1 gpio location and polarity

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28: fix mac0 gpio polarity
Gwenhael Goavec-Merou [Fri, 13 Feb 2015 14:12:02 +0000 (15:12 +0100)]
ARM: dts: imx28-apf28: fix mac0 gpio polarity

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx28-apf28dev: Add pinctrl for USB OTG ID pin
Gwenhael Goavec-Merou [Fri, 13 Feb 2015 14:12:01 +0000 (15:12 +0100)]
ARM: dts: imx28-apf28dev: Add pinctrl for USB OTG ID pin

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node
Liu Ying [Thu, 12 Feb 2015 06:01:31 +0000 (14:01 +0800)]
ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node

The MIPI DSI node contains some ports which represent possible DRM CRTCs
it can connect with.  Each port has a 'reg' property embedded.  This
property will be wrongly interpretted by the MIPI DSI bus driver, because
the driver will take each subnode which contains a 'reg' property as a
DSI peripheral device.  This patch moves the existing MIPI DSI ports into
a new 'ports' node so that the MIPI DSI bus driver may distinguish its
DSI peripheral device(s) from the existing ports.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx6sx-sdb: add revb board and make it default
Peter Chen [Thu, 26 Feb 2015 08:28:30 +0000 (16:28 +0800)]
ARM: imx6sx-sdb: add revb board and make it default

Since imx6sx-sdb reva board is experimental and will not be used
formally (eg, no software release based on it), we set revb board
as the formal imx6sx-sdb board.

The imx6sx-sdb uses pfuse200 as pmic which has only one power supply
for both VDDARM_IN and VDDSOC_IN, so VDDARM_IN and VDDSOC_IN have to
use the same (higher one in the same frequency) one as its power supply,
that's the reason we override the OPP setting in board dts file.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: imx6sx-sdb: change default board as reva board
Peter Chen [Thu, 26 Feb 2015 08:28:29 +0000 (16:28 +0800)]
ARM: imx6sx-sdb: change default board as reva board

The imx6sx sdb board has two revisions, the current mainline one
is reva which is experimental and mainly for internal use. In
this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and
move the reva dedicated contents to imx6sx-sdb-reva.dts.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: vf-colibri: add SPI support and enable MCP2515 CAN
Bhuvanchandra DV [Thu, 29 Jan 2015 16:27:45 +0000 (21:57 +0530)]
ARM: vf-colibri: add SPI support and enable MCP2515 CAN

MCP2515 CAN controller is available on Colibri Evaluation board.
Hence enable MCP2515 CAN.

Acked-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoARM: vf610: add second DSPI instance
Bhuvanchandra DV [Tue, 27 Jan 2015 10:57:18 +0000 (16:27 +0530)]
ARM: vf610: add second DSPI instance

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
9 years agoMerge remote-tracking branch 'jcooper/irqchip/vybrid' into imx/dt
Shawn Guo [Mon, 30 Mar 2015 08:37:21 +0000 (16:37 +0800)]
Merge remote-tracking branch 'jcooper/irqchip/vybrid' into imx/dt

9 years agoMerge branch 'imx/soc' into imx/dt
Shawn Guo [Mon, 30 Mar 2015 08:37:04 +0000 (16:37 +0800)]
Merge branch 'imx/soc' into imx/dt

9 years agoARM: DRA7: Enable Cortex A15 errata 798181
Praneeth Bajjuri [Wed, 25 Mar 2015 23:25:09 +0000 (18:25 -0500)]
ARM: DRA7: Enable Cortex A15 errata 798181

ARM errata 798181 is applicable for OMAP5/DRA7 based devices. So enable
the same in the build.

DRA7xx is based on Cortex-A15 r2p2 revision.

ARM Errata extract and workaround information is as below.

On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not
adequately shooting down all use of the old entries. The
ARM_ERRATA_798181 option enables the Linux kernel workaround
for this erratum which sends an IPI to the CPUs that are running
the same ASID as the one being invalidated.

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: OMAP2+: control: determine control module base address from DT
Tero Kristo [Thu, 13 Nov 2014 17:17:34 +0000 (19:17 +0200)]
ARM: OMAP2+: control: determine control module base address from DT

There is no need to provide the control module base address through a
low-level API from the low-level IO init, as this information is
available through DT. This patch adds a new API to initialize the
control module though, but mostly makes the old API obsolete. The
old API can be completely removed once OMAP3 is made DT only.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: PRM: determine PRM base address from device tree
Tero Kristo [Tue, 11 Nov 2014 15:17:18 +0000 (17:17 +0200)]
ARM: OMAP2+: PRM: determine PRM base address from device tree

There is no need to provide the PRM base address through a low-level API
from the low-level IO init, as this information is available through DT.
Re-routed the parsing function to be called from the PRM drivers also to
simplify the implementation under io.c.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: CM: determine CM base address from device tree
Tero Kristo [Tue, 11 Nov 2014 14:51:52 +0000 (16:51 +0200)]
ARM: OMAP2+: CM: determine CM base address from device tree

There is no need to provide the CM base address through a low-level API
from the low-level IO init, as this information is available through DT.
Re-routed the parsing function to be called from the CM drivers also to
simplify the implementation under io.c.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: PRCM: split PRCM module init to their own driver files
Tero Kristo [Wed, 12 Mar 2014 16:33:45 +0000 (18:33 +0200)]
ARM: OMAP2+: PRCM: split PRCM module init to their own driver files

Splits the clock related provider module inits under their own driver files.
Previously this was done for all modules under the common PRM driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: clock: move clock provider infrastructure to clock driver
Tero Kristo [Wed, 22 Oct 2014 12:15:36 +0000 (15:15 +0300)]
ARM: OMAP2+: clock: move clock provider infrastructure to clock driver

Splits the clock provider init out of the PRM driver and moves it to
clock driver. This is needed so that once the PRCM drivers are separated,
they can logically just access the clock driver not needing to go through
common PRM code. This would be wrong in the case of control module for
example.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102
Nishanth Menon [Mon, 23 Mar 2015 19:39:39 +0000 (14:39 -0500)]
ARM: dts: am57xx-beagle-x15: Add thermal map to include fan and tmp102

BeagleBoard-X15 has capability for a fan and has an onboard TMP102
temperature sensor as well. This allows us to create a new thermal
zone (called, un-imaginatively "board"), and allows us to use some
active cooling as temperatures start edge upward in the system by
creating a new alert temperature (emperically 50C) for cpu.

NOTE: Fan is NOT mounted by default on the platform, in such a case,
all we end up doing is switch on a regulator and leak very minimal
current.

Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: DRA7: Add bandgap and related thermal nodes
Keerthy [Mon, 23 Mar 2015 19:39:38 +0000 (14:39 -0500)]
ARM: dts: DRA7: Add bandgap and related thermal nodes

Add bandgap and related thermal nodes. The patch adds 5 thermal
sensors. Only one cooling device for mpu as of now. The sensors are
the exact same on both dra72 and dra7. Introduce CPU, GPU, core nodes
for the moment as they are direct reuse of OMAP5 entities.

NOTE: OMAP4 has a finer counter granularity, which allows for a delay
of 1000ms in the thermal zone polling intervals. DRA7 have different
counter mechanism, which allows at maximum a 500ms timer. Adjust the
cpu thermal zone accordingly for DRA7.

Signed-off-by: Keerthy <j-keerthy@ti.com>
[t-kristo@ti.com: few reuse from OMAP5 entities]
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoMerge branch 'omap-for-v4.1/ocp2scp' into omap-for-v4.1/fixes-not-urgent
Tony Lindgren [Thu, 26 Mar 2015 17:48:49 +0000 (10:48 -0700)]
Merge branch 'omap-for-v4.1/ocp2scp' into omap-for-v4.1/fixes-not-urgent

9 years agobus: ocp2scp: SYNC2 value should be changed to 0x6
Kishon Vijay Abraham I [Tue, 17 Mar 2015 11:24:51 +0000 (16:54 +0530)]
bus: ocp2scp: SYNC2 value should be changed to 0x6

As per the TRMs of AM572x, OMAP4430, OMAP4460, OMAP543x, the value of
SYNC2 must be set to 0x6 in order to ensure correct operation.

So modified the SYNC2 value of OCP2SCP TIMING register to 0x6 in all the
platforms that use OCP2SCP driver except AM437x. Also introduced a new
compatible property since we don't want to modify the OCP2SCP TIMING
register for AM437x.

The sections in TRM where the above caution can be found is mentioned below.
AM572x TRM SPRUHZ6 (http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf) under
section 26.3.2.2, table 26-26.

OMAP4430 TRM SWPU231AP (http://www.ti.com/lit/ug/swpu231ap/swpu231ap.pdf)
under section 23.12.6.2.2 , Table 23-1213.

OMAP4460 TRM SWPU235AB (http://www.ti.com/lit/ug/swpu235ab/swpu235ab.pdf)
under section 23.12.6.2.2, Table 23-1213.

OMAP543x TRM SWPU249 (http://www.ti.com/lit/pdf/swpu249)
under section 27.3.2.2, Table 27-27.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP
Kishon Vijay Abraham I [Tue, 17 Mar 2015 11:24:50 +0000 (16:54 +0530)]
ARM: dts: am4372: Add "ti,am437x-ocp2scp" as compatible string for OCP2SCP

Added a new compatible string "ti,am437x-ocp2scp" for OCP2SCP module.
This is needed since except for the OCP2SCP used in AM437x, SYNC2 value
in OCP2SCP TIMING should be changed whereas the default value is sufficient
in AM437x.

Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: OMAP2+: remove superfluous NULL pointer check
Stefan Agner [Sun, 22 Mar 2015 00:00:18 +0000 (01:00 +0100)]
ARM: OMAP2+: remove superfluous NULL pointer check

The NULL pointer check for superset->muxnames will always evaluate
true since muxnames is an array within struct omap_mux. Remove the
superfluous check to avoid warnings when using LLVM/clang.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: OMAP2+: PRCM: add support for static clock memmap indices
Tero Kristo [Mon, 23 Feb 2015 13:57:32 +0000 (15:57 +0200)]
ARM: OMAP2+: PRCM: add support for static clock memmap indices

All clock provider related drivers will now register their iomaps
with a static index. This makes it easier to split up the individual
drivers to their own files in subsequent patches.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoDocumentation: DT: document PRCM compatible strings for dm81x SoCs
Tero Kristo [Wed, 25 Feb 2015 13:09:21 +0000 (15:09 +0200)]
Documentation: DT: document PRCM compatible strings for dm81x SoCs

These PRCM nodes were earlier added in patch 7800064ba5 ("ARM: dts: Add
basic dm816x device tree configuration"), but the documentation for
the same wasn't added. Fix this by adding the missing compatible strings
under the generic prcm.txt document.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4: PRM: move omap4xxx_prm_init earlier in init order
Tero Kristo [Wed, 19 Nov 2014 14:13:57 +0000 (16:13 +0200)]
ARM: OMAP4: PRM: move omap4xxx_prm_init earlier in init order

OMAP4 has different ordering of PRM and CM init calls in the early init.
Re-oder these accordingly for OMAP4 also. This is needed so that we
can do some optimizations in the following patches for the PRCM init.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4+: CM: move omap_cm_base_init under OMAP4 CM driver
Tero Kristo [Thu, 6 Nov 2014 12:39:40 +0000 (14:39 +0200)]
ARM: OMAP4+: CM: move omap_cm_base_init under OMAP4 CM driver

There is no need to call this separately from io.c, rather this can be
done commonly under the CM driver. Also, this patch makes the API static,
as it is no longer used outside the driver file.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP4+: PRM: move omap_prm_base_init under OMAP4 PRM driver
Tero Kristo [Thu, 6 Nov 2014 12:34:32 +0000 (14:34 +0200)]
ARM: OMAP4+: PRM: move omap_prm_base_init under OMAP4 PRM driver

There is no need to call this separately from io.c, rather this can be
done commonly under the PRM driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone
Tero Kristo [Fri, 4 Apr 2014 12:52:01 +0000 (15:52 +0300)]
ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone

PRM driver now only exports a generic API for clearing / checking
VP txdone status.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: PRM: add generic API for clear_mod_irqs
Tero Kristo [Fri, 4 Apr 2014 09:31:51 +0000 (12:31 +0300)]
ARM: OMAP2+: PRM: add generic API for clear_mod_irqs

OMAP2/3 now use generic API for the prm_clear_mod_irqs, the SoC specific
implementation details are provided through prm_ll_data.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP3: PRM: invert the wkst_mask for the prm_clear_mod_irqs
Tero Kristo [Fri, 4 Apr 2014 09:14:27 +0000 (12:14 +0300)]
ARM: OMAP3: PRM: invert the wkst_mask for the prm_clear_mod_irqs

This makes the API the same as used with OMAP2, and makes it possible
to implement a generic driver API for the functionality.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoARM: OMAP2+: PRCM: rename of_prcm_init to omap_prcm_init
Tero Kristo [Tue, 18 Nov 2014 12:59:36 +0000 (14:59 +0200)]
ARM: OMAP2+: PRCM: rename of_prcm_init to omap_prcm_init

This avoids conflicts in the global namespace, and is more descriptive
of the purpose anyway.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
9 years agoclk: ti: fix ti_clk_get_reg_addr error handling
Tero Kristo [Mon, 23 Feb 2015 19:06:08 +0000 (21:06 +0200)]
clk: ti: fix ti_clk_get_reg_addr error handling

There is a case where NULL can be a valid return value for
ti_clk_get_reg_addr, specifically the case where both the provider index
and register offsets are zero. In this case, the current error checking
against a NULL pointer will fail. Thus, change the API to return a
ERR_PTR value in an error case, and change all the users of this API to
check against IS_ERR instead.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Michael Turquette <mturquette@linaro.org>
9 years agoARM: dts: Update Nanobone dts file
Mark Jackson [Thu, 19 Mar 2015 15:07:43 +0000 (15:07 +0000)]
ARM: dts: Update Nanobone dts file

Update dts file to reflect:-
* new flash memory layout
* add missing phy-mode property
* dual_emac now just a boolean
* rename mcp to microchip
* update gpio definition

Signed-off-by: Mark Jackson <mpfj@newflow.co.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: n950, n9: Add primary camera support
Sakari Ailus [Wed, 18 Mar 2015 23:50:24 +0000 (01:50 +0200)]
ARM: dts: n950, n9: Add primary camera support

Add support for the primary camera of the Nokia N950 and N9.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: omap3: Add DT entries for OMAP 3 ISP
Sakari Ailus [Wed, 18 Mar 2015 23:50:23 +0000 (01:50 +0200)]
ARM: dts: omap3: Add DT entries for OMAP 3 ISP

The resources the ISP needs are slightly different on 3[45]xx and 3[67]xx.
Especially the phy-type property is different.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[tony@atomide.com: use omap3_scm_general instead of scm_conf for now]
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoDocumentation: DT: Add bindings for omap3isp
Sakari Ailus [Wed, 18 Mar 2015 23:50:22 +0000 (01:50 +0200)]
Documentation: DT: Add bindings for omap3isp

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi
Pali Rohár [Thu, 26 Feb 2015 13:50:00 +0000 (14:50 +0100)]
ARM: dts: Remove files omap34xx-hs.dtsi and omap36xx-hs.dtsi

These files are not used by any DTS file anymore.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: omap3-tao3530: Include directly omap34xx.dtsi
Pali Rohár [Thu, 26 Feb 2015 13:49:59 +0000 (14:49 +0100)]
ARM: dts: omap3-tao3530: Include directly omap34xx.dtsi

This patch just move content of file omap34xx-hs.dtsi into omap3-tao3530.dts.
There is no code change, patch is just preparation for removing -hs file.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
9 years agoARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi
Pali Rohár [Thu, 26 Feb 2015 13:49:58 +0000 (14:49 +0100)]
ARM: dts: n900: Enable omap sham and include directly omap34xx.dtsi

This patch moves content of file omap34xx-hs.dtsi into omap3-n900.dts and enable
omap sham support (omap HW support for SHA + MD5). After testing both omap hwmod
and omap-sham.ko drivers it looks like signed Nokia X-Loader enable L3 firewall
for omap sham. There is no kernel crash with both official bootloader and crypto
enable bootloader. So we can safely enable sham code.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>