Commit Graph

22561 Commits

Author SHA1 Message Date
Arnd Bergmann
b599dc078a Device tree related changes for omaps updating the
various .dts files, and timer related changes to allow
 configuring the timer via device tree.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQoYD5AAoJEBvUPslcq6VzHtAP/1mzXjyRJX9NDh3S7ueO4njz
 guCeaTIBjYwXBSASpfhWLOgFWLE4YGpAZstp+ZLHkzh8EN/yV5ZkodoJo3wYnwma
 V3qkj9oLONqCTkuXr3Gxhl/xLR4Q/WfJItIw0Ok4v12n1NRMoeKvQIpYznO+klAk
 i6ztZNfr+v6+EbFcjUW4kxXKjssW2MySAEW1/x1vQSdffMnIvioVjthD16lER+A3
 fHkhSSmHkUH9UdZiclzuZd3N+/J8YX8Q2yUWI8wHeVuCgnn3QFRZ3p9ngCd6a5lm
 jIbzazJq5gJjidBkSPef6CeNt6nbj0MmtPePxniMeW/cLdbQcibzhAlW5KWZ71+Q
 rD1WlcR5jrUdzSIG3UjvhGRFN0LcegVJvMgqM5h5IYbZETLA/Gcp2gszyYKovU3B
 tHEXEmwhSciM5PC/x2o1cZGqdf2sCl5i+5esI+sbJxI4GjtLkJiFNoBgjrek9anu
 dTqIK1/AlKIQGbDPAmAJXjKKM8hq+3r/PWzRUipXxORlArT1uRI8SzvR76mISAwL
 kCSKPCwwbY3DDozTwSFPynZpFgkZHI0rW00poBNpG7ev18IFUJinSHeY1Jqssgfb
 1XguV4Txc1IrlICk+bi+Y7bogoeWjXl3cIvWkdAkZKWF75Irh4zZSRyI5+DWN8Bi
 stnGo1JUqE1K7j4HEIHi
 =59qq
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
From Tony Lindgren <tony@atomide.com>:

Device tree related changes for omaps updating the
various .dts files, and timer related changes to allow
configuring the timer via device tree.

* tag 'omap-for-v3.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (48 commits)
  usb: musb: dsps: dt binding - add resources, example
  ARM: dts: omap4-sdp: Add pinmux configuration for HDMI
  ARM: dts: omap4-panda: Add pinmux configuration for HDMI
  ARM: dts: Makefile: Add the am335x-evmsk target in dtbs list
  ARM: dts: AM33XX: Add usbss node
  ARM: dts: AM33XX: Add push-buttons device tree data to am335x-evmsk
  ARM: dts: AM33XX: Add pinmux configuration for gpio-keys to EVMSK
  ARM: dts: AM33XX: Add user-leds device tree data to am335x-evmsk
  ARM: dts: AM33XX: Add pinmux configuration for gpio-leds to EVMSK
  ARM: dts: AM33XX: Add user-leds device tree data to am335x-bone
  ARM: dts: AM33XX: Add pinmux configuration for user-leds to BONE
  ARM: dts: AM33XX: Add volume-keys device tree data to am335x-evm
  ARM: dts: AM33XX: Add pinmux configuration for volume-keys to EVM
  ARM: dts: AM33XX: Add matrix keypad device tree data to am335x-evm
  ARM: dts: AM33XX: Add pinmux configuration for matrix keypad to EVM
  ARM: dts: omap5-evm: LPDDR2 memory device details for EVM
  ARM: dts: omap5: EMIF device tree data for OMAP5 boards
  ARM: dts: omap5-evm: Fix size of memory defined for EVM
  ARM: OMAP2+: Add device-tree support for 32kHz counter
  ARM: OMAP: Add DT support for timer driver
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-11-15 17:10:24 +01:00
Arnd Bergmann
b1f71bd032 Merge branch 'omap/headers4' into next/dt
These changes are needed for the following omap DT changes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-11-15 17:09:41 +01:00
Tony Lindgren
f56f52e02a Merge branch 'omap-for-v3.8/cleanup-headers-prepare-multiplatform-v3' into omap-for-v3.8/dt
Conflicts:
	arch/arm/plat-omap/dmtimer.c

Resolved as suggested by Jon Hunter.
2012-11-09 14:54:17 -08:00
Tony Lindgren
84fbd2b8c8 Merge branch 'for_3.8/dts_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into omap-for-v3.8/dt 2012-11-09 13:58:54 -08:00
Ricardo Neri
347bf48f2b ARM: dts: omap4-sdp: Add pinmux configuration for HDMI
Add the pinmux configuration for HDMI and TPD12S015A. Configure the
gpios for the TPD12S015A and SDA, SCL and CEC for HDMI.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-07 11:50:29 +01:00
Ricardo Neri
0d9250c4cb ARM: dts: omap4-panda: Add pinmux configuration for HDMI
Add the pinmux configuration for HDMI and TPD12S015A. Configure the
gpios for the TPD12S015A and SDA, SCL and CEC for HDMI.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-07 11:50:28 +01:00
Tony Lindgren
2580390c56 Merge branch 'dev-dt-timer' of github.com:jonhunter/linux into omap-for-v3.8/dt 2012-11-06 16:09:51 -08:00
Tony Lindgren
ad3252556f Merge branch 'for_3.8/dts' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into omap-for-v3.8/dt 2012-11-06 16:07:50 -08:00
Tomi Valkeinen
6ba54ab4a4 ARM: OMAP: Remove omap_init_consistent_dma_size()
The only thing omap_init_consistent_dma_size() does is increase the
consistent DMA size if CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE is defined.
Increasing the consistent DMA size should no longer be needed with CMA
in place.

This patch removes omap_init_consistent_dma_size() and also
arch/arm/mach-omap2/io.c:omap_common_init_early() which becomes an empty
function.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[tony@atomide.com: updated for moved dma.h]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-11-06 16:01:19 -08:00
Benoit Cousson
7340dd530c ARM: dts: Makefile: Add the am335x-evmsk target in dtbs list
The EVMSK was not built with the 'make dtbs' command.
Add the missing entry in the dts Makefile.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 17:29:41 +01:00
Olof Johansson
591d07bf13 Merge branch 'ste-dt-for-next' of git://git.linaro.org/people/ljones/linux-3.0-ux500 into next/dt
From Lee Jones:

* 'ste-dt-for-next' of git://git.linaro.org/people/ljones/linux-3.0-ux500: (31 commits)
  ARM: ux500: Convert DT_MACHINE_START to use SMP operations
  ARM: ux500: CONFIG: Enable GPIO Regulators
  ARM: ux500: Change the type of interrupt to something compatible
  ARM: ux500: Add node for the MMC GPIO regulator
  ARM: ux500: List DT compatibility using platform names rather than by board
  ARM: ux500: Remove duplicate DT_MACHINE_START - make u8500 for generic
  ARM: ux500: Rename references to the ccu9540 dev board accordingly
  ARM: ux500: Enable all MMC devices on the u9540 when booting with DT
  ARM: ux500: Enable SDI4 port on the u9540 when booting with Device Tree
  ARM: ux500: Add UART support to the u9540 Device Tree
  ARM: ux500: Add support for ST-Ericsson's u9540 SoC
  ARM: ux500: Add skeleton DTS file for the u9540
  ARM: ux500: Remove unused board compatible string
  ARM: ux500: Supply the STMPE keypad Device Tree node to the STUIB DT
  ARM: ux500: Apply a Device Tree node for the STMPE MFD
  ARM: ux500: Stop informing the regulator subsystem that we have full constraints
  ARM: ux500: Add all bu21013 touch screen components to supported Device Trees
  ARM: ux500: Stop calling the UIB init function when using Device Tree
  ARM: ux500: Create a new Device Tree include file for boards supporting STUIBs
  Documentation: Detail permitted DT properties for the BU21013 Touch Screen
  ...
2012-11-06 07:31:40 -08:00
Ajay Kumar Gupta
35b47fbb12 ARM: dts: AM33XX: Add usbss node
Device tree node for usbss on AM33XX. There are two musb
controllers on am33xx platform so have port0-mode and
port1-mode data.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Santhapuri, Damodar <damodar.santhapuri@ti.com>
Signed-off-by: Ravi Babu <ravibabu@ti.com>
[afzal@ti.com: reg & interrupt property addition]
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:46:25 +01:00
AnilKumar Ch
00834b783e ARM: dts: AM33XX: Add push-buttons device tree data to am335x-evmsk
Add gpio based push buttons device tree data to am335x-evmsk device
by adding all the necessary parameters like key-code, gpios and etc.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:53 +01:00
AnilKumar Ch
d98258b817 ARM: dts: AM33XX: Add pinmux configuration for gpio-keys to EVMSK
Add pinmux configurations for gpio based keys to am335x-evmsk. In
this patch, only single named mode/state is added and these pins
are configured during pinctrl driver initialization.

Default mode is nothing but the values required for the module during
active state. With this configurations module is functional as
expected.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:53 +01:00
AnilKumar Ch
29b0b84381 ARM: dts: AM33XX: Add user-leds device tree data to am335x-evmsk
Add gpio-leds device tree data to am335x-evmsk device to enable gpio
based user-leds (USR0, USR1, USR2 and USR3) present on am335x starter
kit.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:52 +01:00
AnilKumar Ch
2647dd10fc ARM: dts: AM33XX: Add pinmux configuration for gpio-leds to EVMSK
Add pinmux configurations for gpio based volume keys to am335x-evmsk.
In this patch, only single named mode/state is added and these pins
are configured during pinctrl driver initialization.

Default mode is nothing but the values required for the module during
active state. With this configurations module is functional as
expected.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:51 +01:00
AnilKumar Ch
5d4e17063f ARM: dts: AM33XX: Add user-leds device tree data to am335x-bone
Add gpio-leds device tree data to am335x-bone device to enable gpio
based user-leds (USR0, USR1, USR2 and USR3) present on BeagleBone.

[koen@dominion.thruhere.net: led0, led1 suggested by koen]
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:50 +01:00
AnilKumar Ch
7e782c41da ARM: dts: AM33XX: Add pinmux configuration for user-leds to BONE
Add pinmux configurations for gpio based user-keys to am335x-bone.
In this patch, only single named mode/state is added and these pins
are configured during pinctrl driver initialization.

Default mode is nothing but the values required for the module during
active state. With this configurations module is functional as
expected.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:50 +01:00
AnilKumar Ch
822c99367e ARM: dts: AM33XX: Add volume-keys device tree data to am335x-evm
Add gpio based volume keys device tree data to am335x-evm by adding
all the required parameters like keycode, gpios and etc.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:49 +01:00
AnilKumar Ch
404aa0d71d ARM: dts: AM33XX: Add pinmux configuration for volume-keys to EVM
Add pinmux configurations for gpio volume keys. In this patch, only
single named mode/state is added and these pins are configured during
pinctrl driver initialization.

Default mode is nothing but the values required for the module during
active state. With this configurations module is functional as
expected.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:48 +01:00
AnilKumar Ch
2ca1d317aa ARM: dts: AM33XX: Add matrix keypad device tree data to am335x-evm
Add matrix keypad device tree data to am335x-evm by adding all
the necessary parameters like keymap, row & column gpios and etc.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:48 +01:00
AnilKumar Ch
5d9b66f278 ARM: dts: AM33XX: Add pinmux configuration for matrix keypad to EVM
Add pinmux configurations for gpio matrix keypad. In this patch, only
single named mode/state is added and these pins are configured during
pinctrl driver initialization.

Default mode is nothing but the values required for the module during
active state. With this configurations module is functional as
expected.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-06 15:45:47 +01:00
Lokesh Vutla
4d2750f319 ARM: dts: omap5-evm: LPDDR2 memory device details for EVM
Samsung's K3PE0E000B memory part is used in OMAP5-evm board.
Adding timings and geometry details for Samsung's memory part and
attaching the same to device-handle of EMIF1/2.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-05 18:38:27 +01:00
Lokesh Vutla
e6900ddf61 ARM: dts: omap5: EMIF device tree data for OMAP5 boards
Adding EMIF device tree data for OMAP5 boards.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-05 18:38:03 +01:00
Lokesh Vutla
45cbe6ca07 ARM: dts: omap5-evm: Fix size of memory defined for EVM
Memory present for OMAP5-evm is 2GB. But in dts file
it is specified as 1GB. Correcting the same.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-05 18:37:38 +01:00
Linus Torvalds
66b6a0c979 Bug-fixes:
* Use appropriate macros instead of hand-rolling our own (ARM).
  * Fixes if FB/KBD closed unexpectedly.
  * Fix memory leak in /dev/gntdev ioctl calls.
  * Fix overflow check in xenbus_file_write.
  * Document cleanup.
  * Performance optimization when migrating guests.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJQk9ngAAoJEFjIrFwIi8fJXOcH/jEmTaV2rbUCCnnivlQGj5B2
 AAXt03MM2F7Ohifo8IEHDhvJlUqQnglQq4wcku/8X/bqSkxtqJMfa/UAStmS2e6r
 605msiMws/GKiDPgKywWHjMPk7JJow/T7du9mpT2Swla12+DXc7e0P6Sqm6qGtB5
 tCBFYe3CS+j8Xi/siPhveAoLoDVmC8RpNzV8EWBdUKhNeD6U4s5M3+ChVexOrB/6
 43YkzurkY/FOsP+8YhNnKFSFrpYleRB1GdFcr8PN5mv85sNKts7vHCb4qJFzZdbk
 BMImdLrTUnKArE4y4FS0iqabOTGXaUplEXfyxDw5hweESGa1qzrd29ocyMQ5p/U=
 =LQxc
 -----END PGP SIGNATURE-----

Merge tag 'stable/for-linus-3.7-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

Pull Xen bugfixes from Konrad Rzeszutek Wilk:
 - Use appropriate macros instead of hand-rolling our own (ARM).
 - Fixes if FB/KBD closed unexpectedly.
 - Fix memory leak in /dev/gntdev ioctl calls.
 - Fix overflow check in xenbus_file_write.
 - Document cleanup.
 - Performance optimization when migrating guests.

* tag 'stable/for-linus-3.7-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/mmu: Use Xen specific TLB flush instead of the generic one.
  xen/arm: use the __HVC macro
  xen/xenbus: fix overflow check in xenbus_file_write()
  xen-kbdfront: handle backend CLOSED without CLOSING
  xen-fbfront: handle backend CLOSED without CLOSING
  xen/gntdev: don't leak memory from IOCTL_GNTDEV_MAP_GRANT_REF
  x86: remove obsolete comment from asm/xen/hypervisor.h
2012-11-02 13:26:11 -07:00
Tony Lindgren
873e698067 ARM: OMAP: Remove NEED_MACH_GPIO_H
Omap no longer needs this option, mach/gpio.h is
empty.

Also remove mach/irqs.h from gpio-omap.h and
include it directly from the related omap1
gpio init files.

Otherwise omap2+ build fails for MULTI_PLATFORM.

Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
Cc: Liam Girdwood <lrg@ti.com>
Cc: alsa-devel@alsa-project.org
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-11-02 12:00:36 -07:00
Tony Lindgren
7136f8d88c ARM: OMAP: Remove unnecessary mach and plat includes
Now mach/hardware.h is empty for omap2+ and can be
removed except for plat-omap/dmtimer.c for omap1.

Also the include of mach/irqs.h can now be removed
for shared plat-omap/i2c.c as it's no longer needed.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-11-02 12:00:36 -07:00
Jon Hunter
9883f7c8dd ARM: OMAP2+: Add device-tree support for 32kHz counter
For OMAP devices, the 32kHz counter is the default clock-source for the kernel.
However, this is not the only possible clock-source the kernel can use for OMAP
devices.

When booting with device-tree, if the 32kHz counter is the desired clock-source
for the kernel, then parse the device-tree blob to ensure that the counter is
present and if so map memory for the counter using the device-tree of_iomap()
function so we are no longer reliant on the OMAP HWMOD framework to do this for
us.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
2012-11-02 13:16:31 -05:00
Jon Hunter
9725f4451a ARM: OMAP: Add DT support for timer driver
In order to add device-tree support to the timer driver the following changes
were made ...

1. Allocate system timers (used for clock-events and clock-source) based upon
   timer properties rather than using an hard-coded timer instance ID. To allow
   this a new helper function called omap_dmtimer_find_by_property() has been
   added for finding a timer with the particular properties in the device-tree
   blob. Please note that this is an internal helper function for system timers
   only to find a timer in the device-tree blob. This cannot be used by device
   drivers, another API has been added for that (see below). Timers that are
   allocated for system timers are dynamically disabled at boot time by adding
   a status property with the value "disabled" to the timer's device-tree node.

   Please note that when allocating system timers we now pass a timer ID and
   timer property. The timer ID is only be used for allocating a timer when
   booting without device-tree. Once device-tree migration is complete, all
   the timer ID references will be removed.

2. System timer resources (memory and interrupts) are directly obtained from
   the device-tree timer node when booting with device-tree, so that system
   timers are no longer reliant upon the OMAP HWMOD framework to provide these
   resources.

3. If DT blob is present, then let device-tree create the timer devices
   dynamically.

4. When device-tree is present the "id" field in the platform_device structure
   (pdev->id) is initialised to -1 and hence cannot be used to identify a timer
   instance. Due to this the following changes were made ...
   a). The API omap_dm_timer_request_specific() is not supported when using
       device-tree, because it uses the device ID to request a specific timer.
       This function will return an error if called when device-tree is present.
       Users of this API should use omap_dm_timer_request_by_cap() instead.
   b). When removing the DMTIMER driver, the timer "id" was used to identify the
       timer instance. The remove function has been modified to use the device
       name instead of the "id".

5. When device-tree is present the platform_data structure will be NULL and so
   check for this.

6. The OMAP timer device tree binding has the following optional parameters ...
   a). ti,timer-alwon  --> Timer is in an always-on power domain
   b). ti,timer-dsp    --> Timer can generate an interrupt to the on-chip DSP
   c). ti,timer-pwm    --> Timer can generate a PWM output
   d). ti,timer-secure --> Timer is reserved on a secure OMAP device
   Search for the above parameters and set the appropriate timer attribute
   flags.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
2012-11-02 13:16:30 -05:00
Jon Hunter
7dd9d502b6 ARM: OMAP3: Add generic machine descriptor for boards with OMAP3 GP devices
OMAP3 devices may or may not have security features enabled. Security enabled
devices are known as high-secure (HS) and devices without security are known as
general purpose (GP).

Some OMAP3 boards, such as the OMAP3 beagle board, only use GP devices and for
GP devices there is a 12th timer available on-chip that can operate at 32kHz.
The clock for 12th timer is generated by an internal oscillator and is unique
this timer. Boards such as the beagle board use this timer as a 32kHz based
clock-events timer because early versions of the board had a hardware problem
preventing them from using other on-chip timers clocked by a external 32kHz
clock.

When booting with device-tree all OMAP3 devices use timer 1 by default for
the clock-events timer. Therefore, add a generic machine descriptor for boards
with OMAP3 GP devices so that they can use the 12th timer as the clock-events
timer instead of the default.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
2012-11-02 13:16:30 -05:00
Jon Hunter
373fe0bdf9 ARM: OMAP: Add function to request a timer by capability
Currently OMAP timers can be requested by requesting any available or by a
numerical device ID. If a specific timer is required because it has a particular
capability, such as can interrupt the on-chip DSP in addition to the ARM CPU,
then the user needs to know the device ID of the timer with this feature.
Therefore, add a new API called omap_dm_timer_request_by_cap() that allows
drivers to request a timer by capability.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
2012-11-02 13:16:29 -05:00
Jon Hunter
ad24bde8f1 ARM: OMAP3: Dynamically disable secure timer nodes for secure devices
OMAP3 devices may or may not have security features enabled. Security enabled
devices are known as high-secure (HS) and devices without security are known as
general purpose (GP).

For OMAP3 devices there are 12 general purpose timers available. On secure
devices the 12th timer is reserved for secure usage and so cannot be used by
the kernel, where as for a GP device it is available. We can detect the OMAP
device type, secure or GP, at runtime via an on-chip register. Today, when not
using DT, we do not register the 12th timer as a linux device if the device is
secure.

When using device tree, device tree is going to register all the timer devices
it finds in the device tree blob. To prevent device tree from registering 12th
timer on a secure OMAP3 device we can add a status property to the timer
binding with the value "disabled" at boot time. Note that timer 12 on a OMAP3
device has a property "ti,timer-secure" to indicate that it will not be
available on a secure device and so for secure OMAP3 devices, we search for
timers with this property and then disable them. Using the prom_add_property()
function to dynamically add a property was a recommended approach suggested by
Rob Herring [1].

I have tested this on an OMAP3 GP device and faking it to pretend to be a
secure device to ensure that any timers marked with "ti,timer-secure" are not
registered on boot. I have also made sure that all timers are registered as
expected on a GP device by default.

[1] http://comments.gmane.org/gmane.linux.ports.arm.omap/79203

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
2012-11-02 13:16:28 -05:00
Jon Hunter
3b3132f7e8 ARM: dts: OMAP5: Add counter node
Add the 32kHz counter node for OMAP5 devices.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-01 17:04:30 +01:00
Jon Hunter
df692a9251 ARM: dts: OMAP5: Add timer nodes
Add the 11 timer nodes for OMAP5 devices.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-01 17:04:00 +01:00
Jon Hunter
d03a93bbec ARM: dts: OMAP4: Update timer addresses
For OMAP4 devices, timers 5-8 have both a L3 bus address and a Cortex-A9
private bus address. Currently the device-tree source only contains the
L3 bus address for these timers. Update these timers to include the
Cortex-A9 private address and make the default address the Cortex-A9
private bus address to match the current HWMOD implementation.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-01 17:03:31 +01:00
Philip, Avinash
9fd3c748aa ARM: dts: AM33XX: Add SPI node
Add McSPI data node to AM33XX device tree file. The McSPI module (and so
as the driver) is reused from OMAP4.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Tested-by: Matt Porter <mporter@ti.com>
[b-cousson@ti.com: Remove interrupt-parent]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
2012-11-01 14:37:03 +01:00
Lee Jones
f44c5fd12d ARM: ux500: Convert DT_MACHINE_START to use SMP operations
The Device Tree machine description for the ux5x0 was moved
recently and as a consequence missed the addition of SMP
operations. Without this patch SMP doesn't work and only one
CPU is present after booting.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:28 +01:00
Lee Jones
5c6cfcf554 ARM: ux500: CONFIG: Enable GPIO Regulators
It is the intention to convert the MMC voltage changing from
GPIO flipping to using a proper GPIO regulator interface. A
prerequisite of that is to enable the GPIO regulator
functionality. As this affects all ux5x0 based boards we'll
do it here instead of in the Kconfigs.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:27 +01:00
Lee Jones
98c52c7c67 ARM: ux500: Change the type of interrupt to something compatible
On boot the Nomadik GPIO controller complains that an IRQ can't be
configured as active high level-sensitive, so this patch converts
it to be low-to-high edge triggered instead.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:26 +01:00
Lee Jones
0563f638f0 ARM: ux500: Add node for the MMC GPIO regulator
There is a very simple mechanism to change and SDI's voltage which
consists of toggling some GPIOs. This scenario can be better handled
if we convert it to a GPIO regulator. This patch provides one which
can be read from Device Tree.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:25 +01:00
Lee Jones
79b40753a3 ARM: ux500: List DT compatibility using platform names rather than by board
So far, each ST-Ericsson board supported by Device Tree has been similar
enough to run though a single DT_MACHINE_INIT call. On the back of that
it has been suggested that we should reduce the number of compatible
strings in our dt_compat structure. After subsequent discussion with Arnd
Bergmann the conclusion was to list entries by platform as opposed to by
board.

The other suggestion was to use a single string which would cover all
supported platforms, but any wildcard entries would include unsupported
chipsets, such as the u5500 and potential new chips which no not yet have
DT functionality. Hence, the best solution which encompasses all supported
platforms, but no unsupported ones was to list the currently enabled four
chipsets; u8500, u8540, u9500 and u9540 instead.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:25 +01:00
Lee Jones
46c1bf8133 ARM: ux500: Remove duplicate DT_MACHINE_START - make u8500 for generic
The u8500 and u9540 DT_MACHINE_START calls are almost identical
at the moment, referencing exactly the same function pointers.
Until this changes we may as well convert the original one to
be more generic and use that instead.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:24 +01:00
Lee Jones
58e5b9e3d0 ARM: ux500: Rename references to the ccu9540 dev board accordingly
When enabling ST-Ericsson's ccu9540 development board the board's
full name has not been used. This patch adapts all references of
the board's short name to how it should be referenced.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:23 +01:00
Lee Jones
a37e84ca31 ARM: ux500: Enable all MMC devices on the u9540 when booting with DT
The u9540 supports 3 MMC devices. This patch enables two of them
and updates the configuration of the already enabled SDI4 port.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:22 +01:00
Lee Jones
457da85399 ARM: ux500: Enable SDI4 port on the u9540 when booting with Device Tree
Here we add the device node for the SDI4 (MMC) port to the u9540
Device Tree source file. This will allow successful probing of
the internal MMC storage device when booting with DT enabled.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:22 +01:00
Lee Jones
d6fea1e03e ARM: ux500: Add UART support to the u9540 Device Tree
Add the 3 UART nodes required to enable serial ports on the u9540.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:21 +01:00
Lee Jones
661c6af0a5 ARM: ux500: Add support for ST-Ericsson's u9540 SoC
First level board support for the u9540.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:20 +01:00
Lee Jones
fd053c7dbd ARM: ux500: Add skeleton DTS file for the u9540
This patch sees the creation of a sparse Device Tree file for
ST-Ericsson's latest development board supporting the latest
dual-core Cortex-a9 u9540 SoC.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:19 +01:00
Lee Jones
f91243e0f0 ARM: ux500: Remove unused board compatible string
'st-ericsson,u8500' is too much of a broad name to be used for
any of the supported development boards supported by ST-Ericsson.
As such it was never used. It has no place to remain in the board
compatible list, hence why it's being removed.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-11-01 13:02:19 +01:00