History log of /arch/arm/mach-ux500/cpu-db8500.c
Revision Date Author Comments
0d01ab3aa47a99a218b2e3a1ae13dc5d20d061b6 28-May-2014 Sachin Kamat <sachin.kamat@linaro.org> ARM: ux500: Staticize local symbols in cpu-db8500.c

Symbols local to this file are made static.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
363b8b46da76a4b082a526db0155771aefef2f33 20-Mar-2014 Ulf Hansson <ulf.hansson@linaro.org> ARM: ux500: Remove redundant board file for mmci platform data

Since all platform data has been transfered to DT, we don't need the
container for the mmci platform data anymore. Remove the file and the
corresponding references to it's data.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
f864c46aae4cb6aed09e98615c427fcc4f1de104 04-Feb-2014 Linus Walleij <linus.walleij@linaro.org> mfd: dbx500/abx500: root out hardcoded IRQ assignments

The DBx500 and ABx500 should be getting their IRQs from the
device tree and nowhere else. Get rid of all the static assignments
everywhere, delete it from the driver, platform data and the
board files in one swift strike.

Lots of cross-dependencies in the MFD drivers for PRCMU and
AB8500 makes it necessary to strike everywhere at once to
eradicate IRQs passed as resources and platform data to the left
and right around the platform.

Cc: Mark Brown <broonie@kernel.org>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
d942d3957cdea9de45557cdf6436593815f06c3a 28-Feb-2014 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: delete pointless DT config option

Supporting device tree on the Ux500 is not optional anymore,
so delete the config option and compile this in at all times.

Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
77ad9dfc2c7e3b5ce49efc5c0c215f7c36c91cf2 03-Feb-2014 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: move last AB8505 set-up to DT

This moves the set-up of the HREF500 with its AB8505 ASIC to
a device tree include. Since there is not yet any device tree
for this board the DTSI is currently unused. After this delete
the board file for pins for good and migration of pins to the
device tree is complete.

Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7acacfbc3d68c4d431ee44ae7db81c3f5e37b41c 03-Feb-2014 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: move AB8500 clock out pins to DT

This moves the AB8500 pin settings for the clock out pins over
to the device tree. We can delete the special setup calls for the
platforms only using the AB8500 and not AB8505.

Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
c06551eedeea305be57cfa756cff03c2d4337179 03-Dec-2013 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: delete U8540 UART auxdata

The other Ux500's does not need this anymore, and the U8540
certainly is no different.

Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5281973012bdcfd93a8f6e0f5b4e04af0038ea99 13-Nov-2013 Linus Walleij <linus.walleij@linaro.org> Revert "ARM: ux500: Stop passing MMC's platform data for Device Tree boots"

This reverts commit 49c129519a7a8840767321c38d2eaf84a263529b.

The special settings for the SD/MMC card parameters that are not
yet fully agreed upon how to encode into the device tree went missing
with this commit. We need to first put it into the device tree,
and then remove the platform data.

Cc: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1f202dea74713589f2af29f1dba3ac6de043618a 13-Nov-2013 Linus Walleij <linus.walleij@linaro.org> Revert "ARM: ux500: Remove AUXDATA relating to SDI (MMC) clock-name bindings"

This reverts commit ce16feb8510cbbcd090c2320c35db2fbbffde210.

This commit stopped tying down the name of the MMC/SD devices, but these
names are used in the pin control table, so the MMC/SD cards stopped
working.

Cc: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
8cf50a245152ae9294ccc2a24e51641a842c2c24 19-Nov-2013 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: delete Nomadik pinctrl AUXDATA

This deletes the AUXDATA hammering down the Nomadik pin
controller name to "pinctrl-db8500". We have removed all
dependencies on this name.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6f6d6433c08089e033756f55aecbd07d693536c4 06-Nov-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Consolidate [A|D]B8500 platform data

Move the platform data from all these files into one, delete empty
files and remove all references to them.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
254a40783d353528fce527d1f512189255b4b40c 22-Aug-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop requesting the SoC device to play 'parent' role

There are no more devices which require left to register which require
a parent. This is part of the ux500 conversion over to Device Tree only
booting.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
a6fdf37e2a8fd16873d9772ba10f7ab8737aca4f 22-Aug-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Do not register the PMU device if booting with ATAGs

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4f01a04cdeefdc52e3c5379726c293e51bdd3f2b 18-Sep-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Deactivate enablement of DMA40 during ATAG booting

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
f1ff5b2549990b5de080b52e3313cbb30c218853 18-Sep-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop enabling GPIOs when not booting with Device Tree

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2120c3bfc5c5fbd12a851d5823c8e1e01deccfe7 23-Aug-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop registering Pinctrl when booting with ATAG support

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
503caf96778453875da8c45d41d4e4c587380071 22-Aug-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Purge support for registering the RTC when booting with ATAGs

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
aeef67ebab06177a1fb31c7cde9ea6b09732e049 18-Sep-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove USB support when booting using ATAGs

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
65eb70396848e7c10b7466fab75109bd5b1bb9df 18-Sep-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove SSP AUXDATA pertaining to DMA bindings

These are now cared for from the Device Tree.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1b1d2e838ce5e6cf3c79988ba95be3b9d1446e18 21-Aug-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Reclassify PRCMU AUXDATA entry

We still need to utilise the AUXDATA system for the PRCMU to pass
through platform data which can not be DT:ed i.e. regulator initialisation
values. All we're doing in this patch is changing the comment header to be
more accurate.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
fb19ac14c41a339bbbfca74b731c70a7ac114d32 03-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to DMA clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4c544c95f22e8d64c8ef11055bfcf83c09ffc722 05-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to Ethernet clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
0a921c13e82f6b741a71a7ee4743f0076c0ccb77 03-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to USB clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
ce16feb8510cbbcd090c2320c35db2fbbffde210 06-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to SDI (MMC) clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
acab2f6f3690fc321721acf9f3a1d0d79b19c7ca 18-Sep-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Relocate AUXDATA relating to MSP (Audio)

MSP no longer requires clock-name bindings, so we need to move them to
a more appropriate header indicating that we're still passing DMA
related platform data to them.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
a6c9fe3666e75ed7feca000cd8e33227219e65cf 03-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to I2C clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7d770795df1dfca2968f795ce54a0498bd866d22 06-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to UART clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5867fe1882df74e84a537d1d5c1fcbe8e3e7c11f 05-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove AUXDATA relating to GPIO clock-name bindings

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7abdcffceea0809cf2a92b54a333504b417c4a04 11-Aug-2013 Julia Lawall <Julia.Lawall@lip6.fr> arch/arm/mach-ux500/cpu-db8500.c: Avoid using ARRAY_AND_SIZE(e) as a function argument

Replace ARRAY_AND_SIZE(e) in function argument position to avoid hiding the
arity of the called function.

The semantic match that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,f;
@@

f(...,
- ARRAY_AND_SIZE(e)
+ e,ARRAY_SIZE(e)
,...)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
bd93ec505312f05fbc2c6f426c74fef920a597fa 14-Jun-2013 Fabio Baltieri <fabio.baltieri@linaro.org> ARM: ux500: add restart support via prcmu

Add necessary code to restart ux500 based machines using
prcmu_system_reset().

Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
49c129519a7a8840767321c38d2eaf84a263529b 15-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop passing MMC's platform data for Device Tree boots

It was required to pass DMA channel configuration information to the
MMC driver before the new DMA API was in place. Now that it is, and
is fully compatible with Device Tree we can stop doing that.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
b6f5f4a5930855175dff7f783c0595bcdfb08280 18-Jun-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove mop500_snowball_ethernet_clock_enable()

mop500_snowball_ethernet_clock_enable() provided a means to enable a
clock which was used for the SMSC911x Ethernet device on Snowball. It
was merely a stand-in until the driver was common clk compliant. Now
that it is, this can be removed for both DT and ATAGs booting.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
0117f7c7a3e8cdf72bea7d463b142db35e9c9cdc 15-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop passing DMA platform data though AUXDATA

The DMA platform data is now empty due to some recent refactoring,
so there is no longer a requirement to pass it though.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1e74043a29cdec67279d6e4f494dd1674a1b2365 15-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove empty function u8500_of_init_devices()

As promised, now all devices which resided in u8500_of_init_devices()
have been enabled for Device Tree, we can completely remove it.

Acked-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
d4999b19d96decc48eb456b0a33be0e6dc5d793b 15-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove ux500-musb platform registation when booting with DT

Now the ux500-musb driver has been enabled for Device Tree, there is no
requirement to register it from platform code.

Acked-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
ef95f7ff0fb19785355f2e8ecf83d65b79ec0f51 30-May-2013 Fabio Baltieri <fabio.baltieri@linaro.org> ARM: ux500: Provide auxdata to ux500 ASoC driver

Ux500 ASoC driver is expected to have a specific device name to get
clock resources correctly. This patch provides the necessary
OF_DEV_AUXDATA to match the name in DT and non-DT cases.

Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
df790f587bbd8777428328c45595e0d06ed722d8 15-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Add an auxdata entry for MUSB for clock-name look-up

The recently DT:ed MUSB driver will require clock-name by device-name
look-up capability, until common clk has is properly supported by the
ux500 platform.

Acked-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
79d1d62c9535c3536e7dcd1d927950ab26bce59a 22-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Standardise Pinctrl compatible string for DBx5x based platforms

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
f016d440e64c98acf993a8f9b1a07d9e8da406b6 16-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Provide an AUXDATA entry for ux500-hash

This provides a device name which is required by the common clk API.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
946cc7dd7d43a2c8bb1c5c2c19f35b8e28142044 16-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Provide an AUXDATA entry for ux500-crypt

This provides a device name which is required by the common clk API.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
[Edited patch subject]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
c21a43b775a4687e4f84c5eb3a6eebdcb727265a 02-Apr-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Create a new of_dev_auxdata structure for u8540 enablement

If we attempt to use the existing u8500 of_dev_auxdata struct to boot
the u8540, we fail to obtain a console, due to a lack of DMA support
on the platform.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
b722487507b757b03e4e9cbb215f8965fa9b5e47 15-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop passing UART's platform data for Device Tree boots

It was required to pass DMA channel configuration information to the
UART driver before the new DMA API was in place. Now that it is, and
is fully compatible with Device Tree we can stop doing that.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
252f27b0f21a875601ced115893f34f37e37ecbf 03-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Pass remnant platform data though to DMA40 driver

Ironically, in order to remove lots of the auxdata assignments, we have
to add just one more. A lot of them require DMA information to be passed
into clients for DMA channel allocation, but we now have this capability
in Device Tree. However, the DMA40 driver still relies on a reverse table
look-up to obtain DMA addresses. Until all of the clients are converted,
over to the new API, we're stuck with this.

Also, now the DMA40 has been DT:ed, there's no requirement to register
it using traditional methods, so let's remove it.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
df7c9bbc246e6f173a2e718976aad7c163ed81ba 03-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Strip out duplicate USB DMA configuration

For the moment at least, the TX and RX channels for DB8500 USB are
identical, so this patch generalises them into a single structure
and passes it twice. Once as the TX and again for the RX configuration.
We're keeping the infrastructure the same i.e. passing the TX and RX
separately in case they start to differ on latter incarnations of the
platform.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
26955c07dcf3c36b6427e52fec0f725300ca079e 03-May-2013 Lee Jones <lee.jones@linaro.org> dmaengine: ste_dma40: Amalgamate DMA source and destination channel numbers

Devices which utilise DMA use the same device numbers for transmitting
and receiving. In this patch we encode the source and destination
information into one single attribute. We can subsequently exploit the
direction attribute to see which of the transfer directions are being
described. This also lessens the burden on platform data.

Cc: Dan Williams <djbw@fb.com>
Cc: Per Forlin <per.forlin@stericsson.com>
Cc: Rabin Vincent <rabin@rab.in>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7d2b64f9832d7cb971141703219b3dc495bb9332 08-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Provide device enumeration number suffix for SMSC911x

First Ethernet device has a ".0" appended onto the device name.
Since on a non-DT boot the ethernet will be named "smsc911x.0"
and since the clocks are not converted to device tree these
names need to be matched when providing the name from
auxdata.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
[edited commit message]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3210c05327e2b44b3bf96bab550d72cdb18b64e4 08-May-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove duplicated assignment of ab8500_platdata

Since: "05ec260 mfd: db8500-prcmu: update resource passing", the AB8500's
platform data 'ab8500_platdata' is passed directly as an attribute to
'db8500_prcmu_pdata', so there's no requirement to assign it a second
time. In fact, it's only due to an ordering issue that the entire
'db8500_prcmu_pdata' data structure isn't completely over-written by the
assignment in u8500_init_devices().

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
33c8abcee7e6c0828c9c76114e11e31fbcaec4e9 20-Feb-2013 Fabio Baltieri <fabio.baltieri@linaro.org> ARM: ux500: read the correct soc_id number

Fix db8500_read_soc_id() to read all five soc_id number locations
instead of repeating the second one two times.

Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
e657bcf6db84864079b31909e911a69c813aa0c0 21-Mar-2013 Arnd Bergmann <arnd@arndb.de> ARM: ux500: make remaining headers local

mach/setup.h and mach/devices.h are only needed from inside of mach-ux500
now, so we can simply move them out of the include/mach directory.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
eba52748bee971207ddc44b926c12282d0741e2e 21-Mar-2013 Arnd Bergmann <arnd@arndb.de> ARM: ux500: make irqs.h local to platform

With the PRCMU out of the way, nothing outside of mach-ux500
uses mach/irqs.h any more, so we can make it a local header file,
including the two sub-headers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
174e7796624d2749359c3fdc673c1232b060d7f6 19-Mar-2013 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>

This removes <mach/hardware.h> and <mach/db8500-regs.h>
from the Ux500, merging them into the local include
"db8500-regs.h" in mach-ux500. There is some impact
outside the ux500 machine, but most of it is dealt with
in earlier patches.

Contains portions of a clean-up patch from Arnd Bergmann.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
b047d98127ccbf9fe83b6192a3562b3ead0b2415 19-Mar-2013 Linus Walleij <linus.walleij@linaro.org> mfd: db8500-prcmu: get base address from resource

We cannot use a global variable stored in <mach/hardware.h> to
find the base address of the PRCMU. The real resource is already
there from the board, so use this to look up the base address
instead.

Currently the patch is kept minimal so as not to interfere with
other work being done on refactoring this driver, but at a later
point the defines using (prcmu_base + 0xnnn) need to be replaced
by pure offset defined for (0xnnn) and the base inlined with the
readl()/writel() and similar codepaths.

Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
265c3c0a64df50c0e8fe55cfe8af8851ed5feca5 27-Mar-2013 Lee Jones <lee.jones@linaro.org> ARM: ux500: Enable the clock controlling Ethernet on Snowball

This fixes a regression introduced by common clk enablement.

On some u8500 based boards, the FMSC clock which is usually used
for flash, is wired up to the SMSC911x Ethernet driver. However,
the SMSC911x doesn't have common clk support yet, rendering it
unusable. Prior to the introduction of common clk the FMSC clock
was default on; however, common clk disables all clocks by default
and insists drivers take responsibility to enable theirs.

This fix enables the FMSC clock on Snowball, subsequently turning
on the SMSC911x Ethernet chip. It will be removed when the driver
is compatible with common clk.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
c28f800475fc326cb418592e92cdd8f2ff07c045 19-Dec-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Provide a means to obtain the SMSC9115 clock when DT is enabled

Device Tree names devices differently to how some frameworks expect
them. Until we can move a platform over to the new way of obtaining
resources, we have to use the OF_DEV_AUXDATA() macros to craft a
device name which can be used in searches during allocation time.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
05ec260edecaf3dc214cff49d43b1ad9b2cbb710 07-Feb-2013 Linus Walleij <linus.walleij@linaro.org> mfd: db8500-prcmu: update resource passing

When trying to get rid of the cross-includes of <mach/id.h>
from different drivers, so we can localize ASIC/CPU detection
to the mach-ux500 folder, we run into the way the PRCMU
handles base addresses and firmware detection.

This patch updates the firmware version detection to pass
the required information as platform data instead of
relying on cpu_is_* macros.

Now the PRCMU base address, the secondary TCDM area, the
TCPM area and the IRQ are passed as resources instead of
being grabbed from <mach/*> files. Incidentally this also
removes part of the reliance on <mach/irqs.h>.

Further it updates the firmware version detection, since the
location of the firmware ID bytes in the designated memory
are is now passed from the platform data instead. There is
no reason not to include the nice split-off of a struct to
hold the firmware information and a separate function to
populate it.

The patch actually rids the need to use the external
db8500_prcmu_early_init call at all, but I'm keepin back
that removal as I don't want the patch to be too big.

Cc: arm@kernel.org
Cc: Michel Jaoen <michel.jaouen@stericsson.com>
Cc: Lee Jones <lee.jones@linaro.org>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Acked-by: Loic Pallardy <loic.pallardy@stericsson.com>
Acked-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7a4f26097d389c16c9956bc03b81532698d97d64 19-Sep-2012 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: de-globalize <mach/id.h>

This removes the file <mach/id.h> from the global kernel include
scope, making it a pure mach-ux500 detail. All ASIC specifics
needed by drivers shall henceforth be passed from either platform
data or the device tree.

Cc: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1d5cc604f42ff1acdec0407247b2f720135ba0c2 21-Nov-2012 Rob Herring <rob.herring@calxeda.com> ARM: remove mach .handle_irq for GIC users

Now that the GIC initialization sets up the handle_arch_irq pointer, we
can remove it for all machines and make it static.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Anton Vorontsov <avorontsov@mvista.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: David Brown <davidb@codeaurora.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Shiraz Hashim <shiraz.hashim@st.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Arnd Bergmann <arnd@arndb.de>
e32af889458837d11a1ec5ec98934a1e711b049d 17-Dec-2012 Gabriel Fernandez <gabriel.fernandez@stericsson.com> pinctrl/nomadik: add device tree support

This implements pin multiplexing and pin configuration for
the Nomadik pin controller using the device tree.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@stericsson.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Philippe Langlais <philippe.langlais@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9fcb4cc2d7dd192ae718f0e7484c6f5c08b8af23 18-Dec-2012 Fabio Baltieri <fabio.baltieri@linaro.org> ARM: ux500: add pinctrl address resources

Current nmk_pinctrl driver is not PRCMU dependent anymore, so it needs
its own DT address resources to work properly, as done for
platform_device in:

f482833 ARM: ux500: add PRCM register base for pinctrl

Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6bb27d7349db51b50c40534710fe164ca0d58902 08-Nov-2012 Stephen Warren <swarren@nvidia.com> ARM: delete struct sys_timer

Now that the only field in struct sys_timer is .init, delete the struct,
and replace the machine descriptor .timer field with the initialization
function itself.

This will enable moving timer drivers into drivers/clocksource without
having to place a public prototype of each struct sys_timer object into
include/linux; the intent is to create a single of_clocksource_init()
function that determines which timer driver to initialize by scanning
the device dtree, much like the proposed irqchip_init() at:
http://www.spinics.net/lists/arm-kernel/msg203686.html

Includes mach-omap2 fixes from Igor Grinberg.

Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
e13316d60658aee7987b51025f342649baa33487 22-Nov-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Rename dbx500 cpufreq code to be more generic

The cpufreq driver doesn't only handle the db8500 anymore. There
are new variants which rely on it too, so we've renamed the
driver to be more generic.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
cece5c4009355323c6f453ef6814e7dd85a0f896 03-Nov-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Describe UART platform registering issues more accurately

UARTs no longer require call-back information, since the reset
call-back was removed in 43b5f0d69291374f602ad8e1817f329573a59010.
The only AUXDATA dependencies remaining for UARTs are DMA settings.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
50545e1d237b0fa790bd824bf5a945ddb8c48351 10-Oct-2012 Ulf Hansson <ulf.hansson@linaro.org> ARM: ux500: Remove cpufreq platform device

The cpufreq device is already added from the prcmu driver as
a mfd child device.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
f48283367fd2679906e06bdd9e886eec1ee59eb1 25-Oct-2012 Jonas Aaberg <jonas.aberg@stericsson.com> ARM: ux500: add PRCM register base for pinctrl

This adds the PRCM register range base as a resource to
the pinctrl driver do we can break the dependency to the
PRCMU driver and handle these registers in the driver
alone.

Cc: arm@kernel.org
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
c3b9d1db23c4ebd4d8a0964ebcf5f27d4eb8fa3f 18-Oct-2012 Linus Walleij <linus.walleij@linaro.org> ARM: plat-nomadik: convert platforms to SPARSE_IRQ

This converts the Nomadik and Ux500 platforms to use SPARSE_IRQ.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7cb15e10365203bffc5cc75c79725b6c31aa663e 10-Oct-2012 Linus Walleij <linus.walleij@linaro.org> pinctrl/nomadik: move the platform data header

This moves the platform data header for the Nomadik pin controller
to <linux/platform_data/pinctrl-nomadik.h>.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
f44c5fd12d8152e45585905422d03427754e1907 24-Oct-2012 Lee Jones <lee.jones@linaro.org> 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>
79b40753a318adb3254c6d534b834c10f99cba05 15-Oct-2012 Lee Jones <lee.jones@linaro.org> 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>
46c1bf813376654f6b75120b9c2cf3de0f67af7d 15-Oct-2012 Lee Jones <lee.jones@linaro.org> 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>
58e5b9e3d0b5e1319fd24124e79b4d4e6188bf1b 15-Oct-2012 Lee Jones <lee.jones@linaro.org> 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>
661c6af0a5823870c986ab0c387b8ab8543edbd3 08-Oct-2012 Lee Jones <lee.jones@linaro.org> 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>
f91243e0f086c618313dfdece1648ae4ed259a1c 08-Oct-2012 Lee Jones <lee.jones@linaro.org> 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>
65c7733bcf8c7d2660f6f4d0fef06aa636a69efe 28-Sep-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop informing the regulator subsystem that we have full constraints

The regulator_has_full_constraints() call is not required if we
are booting with Device Tree as it's assumed in this case.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
74a1c9ab87a98f3e2e5e62cfaf949eab012477af 28-Sep-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Stop calling the UIB init function when using Device Tree

As there will be a Device Tree created for the UIBs, there is no
need to call the UIB initiation functions. Each device will be
detailed and registered from the Device Tree 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>
fa86a76475f498961847c0511c153620463b76bd 27-Sep-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Move all Device Tree booting into cpu-db8500

To aid the kernel in its effort to move to DT only booting, we're
transplanting all Device Tree related code to cpu-db8500 which will
remain persistent throughout the transition. This change paths the
way for complete removal of board-mop500, which will be done once
the all DMA settings are moved into the respective DT source files.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
bb16bd9b9da49dec4f3856bc520c375e49a1237d 10-Oct-2012 Linus Walleij <linus.walleij@linaro.org> pinctrl/nomadik: move the platform data header

This moves the platform data header for the Nomadik pin controller
to <linux/platform_data/pinctrl-nomadik.h>.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
4040d10a3d44023703f81083bb90a3eb45a39eee 03-Oct-2012 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: add DB serial number to entropy pool

This throws the DB (digital baseband, ASIC) serial number, process
type etc into the entropy pool by way of the device_add_randomness()
call. This should make every device have a unique pool state upon
boot.

Cc: Theodore Tso <tytso@mit.edu>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
38cd8c5d7561c01619959f09099c7430420c4008 27-Jun-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Clean-up temporary Device Tree enablement helpers

Here we remove some of the extra overhead we introduced to make
DT:ing the Snowball platform easier.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
db298da2c31e1dcf7c9b7c9cef6217ad3449ebb7 24-Aug-2012 Arnd Bergmann <arnd@arndb.de> ARM: nomadik: move platform_data definitions

Platform data for device drivers should be defined in
include/linux/platform_data/*.h, not in the architecture
and platform specific directories.

This moves such data out of the nomadik include directories

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Felipe Balbi <balbi@ti.com>
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: STEricsson <STEricsson_nomadik_linux@list.st.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Andreas Westin <andreas.westin@stericsson.com>
5caecb44704657b9587977eb87a397f9b25cabbc 02-Sep-2012 Axel Lin <axel.lin@gmail.com> ARM: ux500: Fix build error due to missing include of asm/pmu.h in cpu-db8500.c

Include asm/pmu.h to fix below build error:

CC arch/arm/mach-ux500/cpu-db8500.o
arch/arm/mach-ux500/cpu-db8500.c:118:8: error: variable 'db8500_pmu_platdata' has initializer but incomplete type
arch/arm/mach-ux500/cpu-db8500.c:119:2: error: unknown field 'handle_irq' specified in initializer
arch/arm/mach-ux500/cpu-db8500.c:119:2: warning: excess elements in struct initializer [enabled by default]
arch/arm/mach-ux500/cpu-db8500.c:119:2: warning: (near initialization for 'db8500_pmu_platdata') [enabled by default]
make[1]: *** [arch/arm/mach-ux500/cpu-db8500.o] Error 1
make: *** [arch/arm/mach-ux500] Error 2

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
df3d17e068bf69e3c5a53d52d30caad3d061b762 19-Jul-2012 Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com> ARM: pmu: remove arm_pmu_type enumeration

The arm_pmu_type enumeration was initially introduced to identify
different PMU types in the system, the usual one being that on the CPU
(ARM_PMU_DEVICE_CPU). With the removal of the PMU reservation code and
the introduction of devicetree bindings for the CPU PMU, the enumeration
is no longer required.

This patch removes the enumeration and updates the various CPU PMU
platform devices so that they no longer pass an .id field referring
to identify the PMU type.

Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Pawel Moll <pawel.moll@arm.com>
Acked-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Jiandong Zheng <jdzheng@broadcom.com>
Signed-off-by: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>
[will: cosmetic edits and actual removal of the enum type]
Signed-off-by: Will Deacon <will.deacon@arm.com>
e1bbb55d11622012197a654af874f9f485ddbc47 09-Aug-2012 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: reform Ux500 family names

Counting the U9540 and the new U8540 as a U8500 family member
does not work. Instead, split the function in two:

cpu_is_u8500_family() covering U8500 and U8520
cpu_is_ux540_family() covering U9540 and U8540

This works much better in practice. Update users to keep the
same behaviour.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
da38487000de965bb94b8f4bca88eade4bb9a485 15-Jun-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove PMU platform registration when booting with DT

PMU registration is successfully completed by Device Tree now, so
there is no longer a requirement to register it from platform code.
This patch removes platform registration during a DT boot.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
ddb3b99c532930c9f891e97af5ef4e6691076c16 26-May-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Move rtc-pl031 registration to Device Tree when enabled

During a Device Tree boot, all probing will now be completed on parse
of the Device Tree binary. In the same patch we remove platform
registration of the Real Time Clock.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
3a8e39c9f475dd061d1bbb7bf3b819f601df33e5 06-Jul-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Register the AB8500 from DB8500 MFD

As the AB8500 is a subordinate MFD device to the DB8500-PRCMU,
for consistency and a better 1:1 depiction of how the hardware
is laid out, it is a good idea to register it in the same way
as we do for the other MFD child devices. In order for us to do
this successfully we have to pass AB8500's platform data when
registering the DB8500-PRCMU from platform code.

Also solves this issue:
WARNING: at fs/sysfs/dir.c:526 sysfs_add_one+0x88/0xb0()
sysfs: cannot create duplicate filename '/bus/platform/devices/ab8500-core.0'

Reported-by: Linus Walleij <linus.walleij@linaro.org>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
dee42ebe45321aa5852d47bde520564e715cf321 28-May-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Remove DB8500 PRCMU platform registration when DT is enabled

Now the DB8500 has Device Tree support it will be probed when the DT
is parsed, rendering the requirement for platform registration void.
This patch removes DB8500 PRCMU platform registration.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
f65c1982faca257053564e7ba6864ee9506f6a83 29-May-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: New DT:ed u8500_init_devices for one-by-one device enablement

During Device Tree enablement it is necessary to remove
<hw_component>_add_<device> calls one at at time, as and when particular
devices are DT enabled. This patch provides a temporary solution. Once
the new *of_init_devices function has been fully unpopulated it will be
removed again.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
e98ea774c8d210364379329f042e7596f83ecc58 26-Apr-2012 Linus Walleij <linus.walleij@linaro.org> pinctrl/nomadik: basic Nomadik pinctrl interface

This adds a scratch pin control interface to the Nomadik pinctrl
driver, and defines the pins and groups in the DB8500 ASIC. We
define GPIO ranges to cover the pins exposed. The DB8500 has
more pins than this but we restrict the driver to the pins that
can be controlled from the combined GPIO and pin control hardware
to begin with.

ChangeLog v1->v2:
- Base on the latest pinctrl development from
pinctrl-mergebase-20120418 so we can get rid of legacy
group count mechanism. Also drop the range checks for group
index, this is handled by the core now.

Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
08d050263190174914951a158ddf759177a58039 19-Apr-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement

To aid in sequential one-by-one Device Tree enablement, we split
cpu-db8500's platform_devs structure into normal platform boot, where
we leave all devices to be added in tact and a DT version where we
will remove the devices as they are DT enabled.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
ee9581d7adaeb2d04b01e3567e2355ceb5f43ad1 01-Feb-2012 Michel Jaouen <michel.jaouen@stericsson.com> ARM: ux500: ioremap differences for DB9540

The DB9540 ASIC has bigger PRCMU and PRCMU TCDM memories,
so create a separate mapping table for these.

Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
bc71c0961c61d6082472203bfae9596899c9c896 23-Jan-2012 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: core U9540 support

This adds support for the U9540 variant of the U8500 series. This
is an application processor without internal modem. This is the
most basic part with ASIC ID, CPU-related fixes, IRQ list, register
ranges, timer, UART, and L2 cache setup. This is based on a patch
by Michel Jaouen which was rewritten to fit with the latest 3.3
kernel.

ChangeLog v1->v2: deleted the irqs-db9540.h file since we expect to
migrate to using Device Tree for getting the IRQs to devices.
ChangeLog v2->v3: introduced a fixed virtual offset for the ROM
as suggested by Arnd Bergmann.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sebastien Pasdeloup <sebastien.pasdeloup-nonst@stericsson.com>
Signed-off-by: Michel Jaouen <michel.jaouen@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
b024a0c804356d90b13c072c8bbb444d9e745a66 06-Feb-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: move top level platform devices in sysfs to /sys/devices/socX

At the request of Arnd Bergmann this patch moves all SoC
platform devices found in sysfs from /sys/devices/platform to
/sys/devices/soc<SoCNum>/. It is believed as the devices are
SoC specific and a /sys/devices/soc node has recently
become available, that this would be a more appropriate place to
display the data.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
eda413c228e227d888bc13d210e7c4c6aa62a682 06-Feb-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: export System-on-Chip information ux500 via sysfs

Here we make use of the new System-On-Chip bus driver to export
vital SoC information out to userspace via sysfs. This patch
provides a data structure of strings to populate the base
nodes found in:

/sys/devices/soc[0|1|2|...]/[family|machine|revision|soc_id].

It also adds one more node as requested by ST-Ericsson.
'process' depicts the way in which the silicon was manufactured.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18403424c4fe5bac509bf52343f5d5407d45ee3a 06-Feb-2012 Lee Jones <lee.jones@linaro.org> ARM: ux500: pass parent pointer to each platform device

This patch provides a means for any device within ux500
platform code to allocate its own parent. This is particularly
prudent with the introduction of /sys/devices/socX, as a
device can now proclaim to be integral part of an SoC, rather
than a more generic platform device. Latter patches make good
use of this functionality.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
c15def1cc30edeaa74a97205c936be82cdc86df6 15-Dec-2011 Linus Walleij <linus.walleij@linaro.org> ARM: ux500: remove support for early silicon revisions

The DB8500 ED (Early Drop) and V1 are only available inside of
ST-Ericsson or partners, we have actively replaced and scrapped
these prototypes. All Nova products on the open market (such as
the Snowball board) are based on V2 and later ASIC variants.
So let us focus on supporting the silicon that will be used and
delete this to get a clear overview.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
215e83d971a04f04d191c7f702943412a19408fd 14-Dec-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7233/1: ux500: remove overlapping iotable entries

The overlapping iotable mapping entries for the ux500 Cortex
A9 SCU, CPU control and TWD are no longer accepted by the
kernel. Remove the overlaps so the machine boots again.

Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Rabin Vincent <rabin.vincent@stericsson.com>
Reported-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
0f33286190634eeb3ec7638045980c39c98380f4 22-Aug-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7032/1: plat-nomadik: break out GPIO driver specifics

The <[plat|mach]/gpio.h> file is included from upper directories
and deal with generic GPIO and gpiolib stuff. Break out the
platform and driver specific defines and functions into its own
header file.

Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Alessandro Rubini <rubini@unipv.it>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
33d78647dc409784c18aa71995346e6955802fe0 09-Jun-2011 Linus Walleij <linus.walleij@linaro.org> gpio/nomadik: fix sleepmode for elder Nomadik

The mach-nomadik machine did not compile properly due to bad
ux500-specific functions being called. Introduce new state
variables to fix this up.

Reported-by: Axel Lin <axel.lin@gmail.com>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: Prafulla Wadaskar <prafulla.wadaskar@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
3df57bcf5a6ba74572218a811bd0e311414f2aff 16-May-2011 Mattias Nilsson <mattias.i.nilsson@stericsson.com> mfd: update DB8500 PRCMU driver

This updates the DB8500 PRCMU driver to the latest version
available internally. Nominally we would update the dependent
CPUfreq driver at the same time but since that is being moved
around in this patch set we postpone that by simply deactivating
it for the time being.

This is a snapshot of the current PRCMU firmware API as it looks
right now. The PRCMU firmware is still subject to change. This
also updates the CPUfreq driver to a newer version that will
utilize the new API.

Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com>
Signed-off-by: Martin Persson <martin.persson@stericsson.com>
Signed-off-by: Per Fransson <per.xx.fransson@stericsson.com>
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Signed-off-by: Sebastien Rault <sebastien.rault@stericsson.com>
Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Signed-off-by: Rickard Andersson <rickard.andersson@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
118718905de6e32c11e09a8f41c7abff6155ba19 29-Mar-2011 Linus Walleij <linus.walleij@linaro.org> mach-ux500: make PRCMU base address dynamic

This makes the PRCMU base address be selected at runtime for U8500
and U5500 instead of being compiled-in.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6f3f3c3f0b5c7b84a99f0aa99658d6c6cee8e700 21-Jan-2011 Mian Yousaf Kaukab <mian-yousaf.kaukab@linaro.org> mach-ux500: add MUSB to db8500 devices

- DMA tx and rx maps for usb channels are set to be configured at
runtime
- GPIO configurations for usb are added
- MUSB is enabled with soc specific base address, irq and dma
configurations

Signed-off-by: Mian Yousaf Kaukab <mian-yousaf.kaukab@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
aa90eb9d9d39d6e312b822cfa1512bb76e0e1df3 08-Feb-2011 Rabin Vincent <rabin.vincent@stericsson.com> mach-ux500: DB8500 PMU support

DB8500 has irqs from two cores ORed into one. Implement a
workaround to handle this by bouncing the interrupt by setting
the affinity to the other core when the interrupt appears to
be spurious on the current core.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
abf12d719a2c9e45f7f90c02a3a25107206ed57a 08-Dec-2010 Rabin Vincent <rabin.vincent@stericsson.com> ux500: dynamic SOC detection

Dynamically detect the DBx500 SOC an revision based on the ASIC ID.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
92389ca8362c42952c7ebb8a0350ac522dcde0f4 08-Dec-2010 Rabin Vincent <rabin.vincent@stericsson.com> ux500: remove build-time changing macros

To allow the possiblity of building U8500 and U5500 support in the same
image.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
[Rebased to latest changes in Russells tree]
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
7c1a70e99819d723cde610d83de48a8ab01ec609 08-Dec-2010 Martin Persson <martin.persson@stericsson.com> ux500: Add cpufreq support for u8500

Signed-off-by: Martin Persson <martin.persson@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
01afdd1353ca83904f430be4f6202d1a20912f4d 08-Dec-2010 Rabin Vincent <rabin.vincent@stericsson.com> ux500: rework gpio registration

Rework gpio registration to remove build-time
changing macros.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
fcbd458e95316fe5031f1b8eaf5e66ce8f3c3146 02-Dec-2010 Mattias Wallin <mattias.wallin@stericsson.com> ARM: ux500: prcmu db8500 v2 support

This patch adds support for db8500 chip version 2.
The TCDM memory address of the PRCMU is changed and
dynamic detection of that is added.

Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
fbf1eadf950da1f5f5ed2e454d2f191f90fe1ebe 29-Sep-2010 Rabin Vincent <rabin.vincent@stericsson.com> ux500: rework device registration

Change the Ux500 devices to be dynamically allocated and added by
calling functions instead of referencing structures, thereby allowing
5500 and other derivatives' support to be added without having to
duplicate structures, use fixup functions, or use compile-time macros.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
f946738ca882c365a963043de471f45e91ab0a95 19-Aug-2010 Linus Walleij <linus.walleij@stericsson.com> ARM: 6331/1: ux500 cpu/SoC version macros v2

This patch adds support for checking if the digital baseband (DB)
System-on-Chip (aka "cpu) ASIC hardware version is 1.0, 1.1 or
2.0. We print the result in the bootlog, the functions are then
used for runtime decisions based on hardware version.

Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
7b8ddb06e54ad98edeb7951f317aee4d1feda9d6 28-May-2010 Linus Walleij <linus.walleij@stericsson.com> DMAENGINE: DMA40 U8500 platform configuration

This completes the DMA40 support with the platform-specific
configuration for U8500/DB8500.

Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Reviewed-by: Alessandro Rubini <rubini@unipv.it>
Cc: STEricsson_nomadik_linux@list.st.com
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
[fixed up dma40_{tx|rx}_map declaration/initialization]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
cb165c52561fd5947747fdbdb0c7ad22c6138175 03-May-2010 Rabin Vincent <rabin.vincent@stericsson.com> ARM: 6089/1: ux500: rename cpu-u8500.c to cpu-db8500.c

Move the DB8500-specific file to a more appropriate name.

Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>