Commit graph

264601 commits

Author SHA1 Message Date
Benoit Cousson
d039c5b9fb ARM: OMAP2+: l3-noc: Add support for device-tree
Add device-tree support for the l3-noc driver.

Use platform_driver_register to defer the probing at device init
time.

Add documentation for the l3-noc bindings.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
2011-10-04 22:29:38 +02:00
Benoit Cousson
a7cbb9b15d ARM: OMAP2+: board-generic: Add i2c static init
Still needed to boot until the i2c & twl driver is adapted to
device-tree. Otherwise the voltage control code will try to
access the twl and crash.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
2011-10-04 22:27:05 +02:00
Benoit Cousson
8d61649ddf ARM: OMAP2+: board-generic: Add DT support to generic board
Re-cycle the original board-generic.c file to support Device Tree
for every OMAP2+ variants.

The current approach is an intermediate step before having only
one machine descriptor that will use some generic DT aware
functions.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
2011-10-04 22:27:04 +02:00
Benoit Cousson
295e98c60b arm/dts: Add support for OMAP3 Beagle board
Add OMAP3 beagleboard DTS file to use the omap3.dtsi SoC file.

Add a default bootargs line to allow a boot from RAMDISK.

Add memory node information.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: G, Manjunath Kondaiah <manjugk@ti.com>
2011-10-04 22:27:03 +02:00
Benoit Cousson
189892f496 arm/dts: Add initial device tree support for OMAP3 SoC
Add initial OMAP3 soc file with empty ocp bus.

Based on initial patch from Manju:
http://www.spinics.net/lists/linux-omap/msg55830.html

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: G, Manjunath Kondaiah <manjugk@ti.com>
2011-10-04 22:27:02 +02:00
Benoit Cousson
492beedfd8 arm/dts: Add support for OMAP4 SDP board
Add the SDP/Blaze (Software Development Board) support with
device tree.
That file is based on the omap4-panda.dts.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: G, Manjunath Kondaiah <manjugk@ti.com>
2011-10-04 22:27:01 +02:00
Benoit Cousson
38eb2ae658 arm/dts: Add support for OMAP4 PandaBoard
Based on the original omap4-panda.dts file from Manju.
http://www.spinics.net/lists/linux-omap/msg55836.html

Add memory information and a default bootargs to allow
a boot from RAMDISK.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: G, Manjunath Kondaiah <manjugk@ti.com>
2011-10-04 22:26:59 +02:00
Benoit Cousson
d9fda07af7 arm/dts: Add initial device tree support for OMAP4 SoC
Add initial device-tree support for OMAP4 SoC.

This is based on the original panda board patch done by Manju:
http://permalink.gmane.org/gmane.linux.ports.arm.omap/60393

Add the generic GIC interrupt-controller from ARM.

Add an empty "soc" node to contain non memory mapped IPs
(DSP, MPU, IPU...).

Note: Since reg, irq and dma are provided by hwmod for the
moment, these attributes will not be present at all in DTS
to highlight the gap. They will be added as soon as dma bindings
will be there and drivers will be adapted.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: G, Manjunath Kondaiah <manjugk@ti.com>
2011-10-04 22:26:58 +02:00
Benoit Cousson
dc2d07ebae ARM: OMAP: omap_device: Add a method to build an omap_device from a DT node
Add a notifier called during device_add phase. If an of_node is present,
retrieve the hwmod entry in order to populate properly the omap_device
structure.

For the moment the resource from the device-tree are overloaded.
DT does not support named resource yet, and thus, most driver will not
work without that information.

Add a documentation to capture the specifics OMAP bindings needed for
device-tree support.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:23 -07:00
Benoit Cousson
a4f6cdb067 ARM: OMAP: omap_device: Add omap_device_[alloc|delete] for DT integration
Split the omap_device_build_ss into two smaller functions
that will allow to populate a platform_device already allocated by
device-tree.

The functionality of the omap_device_build_ss is still the same, but
the omap_device_alloc will be usable with devices already built by
device-tree.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:23 -07:00
Benoit Cousson
4fcd15a032 of: Add helpers to get one string in multiple strings property
Add of_property_read_string_index and of_property_count_strings
to retrieve one string inside a property that will contains
severals strings.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:23 -07:00
Benoit Cousson
f718e2c034 ARM: OMAP2+: devices: Remove all omap_device_pm_latency structures
Remove all these duplicated structures since a default one is now
available.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:23 -07:00
Benoit Cousson
b7b5bc91d4 ARM: OMAP: omap_device: Create a default omap_device_pm_latency
Most devices are using the same default omap_device_pm_latency structure
during device built. In order to avoid the duplication of the same
structure everywhere, add a default structure that will be used if
the device does not have an explicit one.

Next patches will clean the duplicated structures.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:23 -07:00
Benoit Cousson
766e7afc38 ARM: OMAP2+: pm: Remove static devices variable for mpu, dsp, iva and l3 PM
Since the device pointer is now retrieved using the hwmod name, remove
the static variables used to store the device pointers for DSP, MPU, IVA
and L3 devices for PM/DVFS usage.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:23 -07:00
Benoit Cousson
0f7aa005c8 ARM: OMAP2+: pm: Use hwmod name instead of dev pointer
Replace the struct device parameter of omap2_set_init_voltage
by the hwmod name. It will avoid having to store explicitely
the device pointer into a static variable.

Moreover, it will be a little bit more scalable if we introduce
new DVFS devices.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:22 -07:00
Benoit Cousson
b1621fc801 ARM: OMAP3: beagle-board: Use the omap_hwmod_name_get_dev API
Replace the multiple omap2_get_XXX_device APIs with the new
omap_hwmod_name_get_dev that uses the hwmod name to get the proper
device.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:22 -07:00
Nishanth Menon
1f8a7d5207 ARM: OMAP: omap_device: Add omap_device_get_by_hwmod_name
An API which translates a standard hwmod name to corresponding
platform_device is useful for drivers when they need to look up the
device associated with a hwmod name to map back into the device
structure pointers. These ideally should be used by drivers in
mach directory. Using a generic hwmod name like "gpu" instead of
the actual device name which could change in the future, allows
us to:
a) Could in effect help replace apis such as omap2_get_mpuss_device,
omap2_get_iva_device, omap2_get_l3_device, omap4_get_dsp_device,
etc..
b) Scale to more devices rather than be restricted to named functions
c) Simplify driver's platform_data from passing additional fields
all doing the same thing with different function pointer names
just for accessing a different device name.

Signed-off-by: Nishanth Menon <nm@ti.com>
[b-cousson@ti.com: Adapt it to the new pdev pointer inside od,
remove the unneeded helpers, and fold the next patch here]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-10-04 09:52:22 -07:00
Tony Lindgren
c541c15fb5 Merge branches 'cleanup-part3', 'voltage', 'dmtimer' and 'l3' into dt-base 2011-10-04 09:47:06 -07:00
Abhilash Kesavan
6b6844dd54 ARM: S5P64X0: Add Power Management support
Add suspend-to-ram support for SMDK6440/50

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 20:31:24 +09:00
Abhilash Kesavan
e2e13621b2 ARM: S5P: Make the sleep code common for S5P series SoCs
The sleep code for S5PV210 and EXYNOS4 are identical; moreover
S5p64X0 and S5PC100 for which support will be added soon can
use the same procedure. Create a common sleep code in the plat-s5p
directory so that it can be re-used.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 20:25:51 +09:00
Abhilash Kesavan
0da3beadcb ARM: S5P: Make the common S5P PM code conditionally compile
Pave the way for adding PM support on S5P64X0, which is more similar
to the S3C64XX series than the S5P series. Hence, the common pm code
(containing dummy functions) should not be used for S5P64X0.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 20:25:51 +09:00
Kukjin Kim
a1a9107def Merge branch 'next-samsung-board-2' into next-samsung-devel-2 2011-10-04 20:20:21 +09:00
Kukjin Kim
86f82da586 Merge branch 'next-samsung-cleanup-2' into next-samsung-devel-2
Conflicts:
	arch/arm/plat-s5p/include/plat/pll.h
2011-10-04 20:20:08 +09:00
Kukjin Kim
db3c94a7ed Merge branch 'next-samsung-devel' into next-samsung-devel-2
Conflicts:
	arch/arm/mach-exynos4/clock.c
	arch/arm/mach-s3c2412/gpio.c
	arch/arm/mach-s5p64x0/dma.c
	arch/arm/mach-s5p64x0/gpiolib.c
2011-10-04 20:18:36 +09:00
Kukjin Kim
c9477f38cb Merge branch 'next-samsung-board' into next-samsung-devel-2 2011-10-04 20:14:11 +09:00
Kukjin Kim
c37b250462 Merge branch 'next-samsung-cleanup' into next-samsung-devel-2 2011-10-04 20:14:06 +09:00
Kukjin Kim
e90a0f3c46 ARM: SAMSUNG: Move S5P header files to plat-samsung
This patch moves header files from plat-s5p to plat-samsung to
remove plat-s5p directory to make one plat-samsung directory
for Samsung SoCs.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:45 +09:00
Kukjin Kim
dc98e4145d ARM: SAMSUNG: Move S3C24XX header files to plat-samsung
This patch moves header files from plat-s3c24xx to plat-samsung to
remove plat-s3c24xx directory to make one plat-samsung directory for
Samsung SoCs. And this patch includes fixing coding style, too.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:44 +09:00
Kukjin Kim
3cd7b62bbd ARM: SAMSUNG: Moving each SoC support header files
This patch moves SoC header files for supporting each SoCs to
plat-samsung directory. This is required to make one plat-
directory for Samsung SoCs.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:43 +09:00
Kukjin Kim
52e329ebb0 ARM: SAMSUNG: Consolidate plat/pll.h
Removed
- arch/arm/plat-s3c24xx/include/plat/pll.h
- arch/arm/mach-s3c64xx/include/mach/pll.h
- arch/arm/plat-s5p/include/plat/pll.h
- arch/arm/plat-samsung/include/plat/pll6553x.h

And created
- arch/arm/plat-samsung/include/plat/pll.h

Cc: Ben Dooks <ben-linux@fluff.org>
[kgene.kim@samsung.com: changed title]
[kgene.kim@samsung.com: fixed conflicts in plat-s5p/include/pll.h]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:42 +09:00
Kukjin Kim
c0468b0244 ARM: SAMSUNG: Consolidate plat/pwm-clock.h
Removed
 - arch/arm/plat-s3c24xx/include/mach/pwm-clock.h
 - arch/arm/mach-s3c64xx/include/mach/pwm-clock.h
 - arch/arm/mach-s5p64x0/include/mach/pwm-clock.h
 - arch/arm/mach-s5pc100/include/mach/pwm-clock.h
 - arch/arm/mach-s5pv210/include/mach/pwm-clock.h
 - arch/arm/mach-exynos4/include/mach/pwm-clock.h

And created
 - arch/arm/plat-samsung/include/plat/pwm-clock.h

Cc: Ben Dooks <ben-linux@fluff.org>
[kgene.kim@samsung.com: changed title]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:41 +09:00
Kukjin Kim
4b2656fe49 ARM: SAMSUNG: Cleanup mach/clkdev.h
According to commit a3831cf ("ARM: Consolidate the
clkdev header files"), current mach/clkdev.h is no
needed in Samsung stuff.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:41 +09:00
Thomas Abraham
909ceef682 ARM: SAMSUNG: remove sdhci default configuration setup platform helper
The sdhci platform helper function that sets up the default controller
configuration is removed for all Samsung platforms since such default
controller configuration can be handled by the driver.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:48:40 +09:00
Sachin Kamat
568f0e278c ARM: EXYNOS4: Add FIMC device on SMDKV310 board
This patch adds definitions to enable support for s5p-fimc driver on
SMDKV310 board.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:44 +09:00
Sachin Kamat
2543bf097d ARM: EXYNOS4: Add header file protection macros
This patch adds header file protection macros to prevent duplication.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:39 +09:00
Jingoo Han
9830f6a20d ARM: EXYNOS4: Add usb ehci device to the SMDKV310
This patch is to support usb ehci device to the SMDKV310 board.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:35 +09:00
Heiko Stuebner
8b069b7709 ARM: S3C2443: Add hsspi-clock from pclk and rename S3C2443 hsspi sclk
This clock is common to S3C2443/2416/2450.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:29 +09:00
Heiko Stuebner
4a43c66612 ARM: S3C2416: Add HSSPI clock sourced from EPLL
This clock is special to the S3C2416/2450 SoCs.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:22 +09:00
Heiko Stuebner
bd95be618b ARM: S3C2443: Define constant for HSSPI pclk
It's the same clock for 2443/2416/2450.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:16 +09:00
Heiko Stuebner
e3b454f731 ARM: S3C2443: Move i2s clock definitions to common code
S3C2416/S3C2450 use the same clocks for their i2s blocks
and can therefore reuse the existing ones.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:10 +09:00
Ajay Kumar
7301794c87 ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer support
This patch:
	-- Adds platform device support for LCD-LTE480.
	-- Adds platform data for FB with win_mode and default_bpp.
	-- Enables FB device support and platform-lcd support.
	-- Adds SPCON settings for LCD.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:01:04 +09:00
Ajay Kumar
1030e5c562 ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support
This patch:
	-- Adds platform device support for LCD-LTE480.
	-- Adds platform data for FB with win_mode and default_bpp.
	-- Enables FB device support and platform-lcd support.
	-- Adds SPCON settings for LCD.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:00:59 +09:00
Ajay Kumar
c9f357ef9d ARM: S5P64X0: Add GPIO setup for LCD
This patch adds GPIO lines settings(HSYNC, VSYNC, VCLK and VD) for LCD.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:00:53 +09:00
Ajay Kumar
43c4621666 ARM: S5P64X0: Set s3c_device_fb name
Set s3c_device_fb name as "s5p64x0-fb" for S5P6440 and S5P6450.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:00:47 +09:00
Ajay Kumar
d93f5eefd4 ARM: S5P64X0: Add register base and IRQ for Framebuffer
This patch adds:
	-- Framebuffer related register mappings and bit fields.
	-- IRQ number being used.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:00:39 +09:00
Hatim Ali
c0735c85d1 ARM: EXYNOS4: Add TVOUT support for SMDKV310
Add support for TVOUT on SMDKV310 board.

Signed-off-by: Hatim Ali <hatim.rv@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 19:00:32 +09:00
Mark Brown
2ca9576935 ASoC: Flush Samsung DMA on free
Ever since it was written the Samsung DMA driver has had a TODO in the
hw_free() function wondering if we need to flush the DMA buffers. Up until
now the answer has been no but with the recent improvements Boojin has
done to the DMA infrastructure for the Samsung port the answer has changed
to yes for at least S3C6410 systems.

If we don't then when we next prepare() the channel the API will get
confused trying to run callbacks on the transfers hanging around from the
previous time the stream was open and oops.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 18:59:44 +09:00
Jongpill Lee
00a351f273 ARM: EXYNOS4: Support suspend/resume for EXYNOS4212
Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 18:59:36 +09:00
Jongpill Lee
9a94296cb4 ARM: EXYNOS4: Add PMU register definition for EXYNOS4212
Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 18:59:28 +09:00
Jongpill Lee
0dba4dc4d0 ARM: EXYNOS4: Modify PMU register setting function
This patch modifies PMU register setting function
to support the other EXYNOS4 SoCs.

Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-10-04 18:59:19 +09:00