Commit Graph

476 Commits

Author SHA1 Message Date
Kukjin Kim ce8aceae84 Merge branch 'next-samsung-asoc' into next-samsung-asoc2 2010-12-22 13:11:38 +09:00
Takashi Iwai 20aeeb356b Merge branch 'topic/workq-update' into topic/asoc
Conflicts:
	sound/soc/codecs/wm8350.c
	sound/soc/codecs/wm8753.c
	sound/soc/sh/fsi.c
	sound/soc/soc-core.c
2010-12-13 09:28:43 +01:00
Darius Augulis 8b8c87dee4 ARM: S3C64XX: fix uart clock setup for mini6410/real6410
Don't rewrite clock config in UCON preconfigured by
bootloader. No need to set 10th bit in UCON because
[11:10] 2'b00 means source clock is PCLK too.
If set, console does not work if bootloader
has preconfigured [11:10] with 2'b00.
If not set, console works with any bootloader
config value (2'bxx).
More information about clock setup in UCON is available
in "S3C6410X RISC Microprocessor User's Manual,
Revision 1.20" p. 31-13 (Chapter 31.6.2
UART CONTROL REGISTER).

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-11-25 10:58:11 +09:00
Jassi Brar e6104673d2 ASoC: Samsung: Rename AC97 platform device
Call the AC97 controller devices found in S3C, S5P and newer
SoCs as 'samsung-ac97' rather than 's3c-ac97'.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-11-23 14:05:29 +00:00
Jassi Brar 83e37b8e40 ARM: Samsung: Define common audio-dma device
The ASoC uses common DMA driver for Audio devices. So it makes
sense to a common audio-dma device shared across all platforms.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-11-23 14:04:44 +00:00
Jassi Brar 58bb407213 ASoC: Samsung: Rename DMA device
Some Samsung SoCs have a PCM(DSP) controller. So the name
s3c24xx-pcm-audio for DMA driver is not very appropraite.
This patch moves :-
	s3c24xx-pcm-audio -> samsung-audio

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-11-23 14:04:19 +00:00
Jassi Brar 6a62bee210 ARM: S3C64XX: Upgrade platform device for I2S
Add more information to I2S platform_devices in order to
prepare them for new controller driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-11-19 08:49:44 +09:00
Jassi Brar daea9b4f44 ARM: SAMSUNG: Rename s3c64xx I2S platform device
Since the I2S of S3C64XX and newer SoCs are incremental
versions of each other with changes managable in a single
driver, rename the 's3c64xx-iis' -> 'samsung-i2s'

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-11-19 08:49:43 +09:00
Kyungmin Park c39d8d558d ARM: SAMSUNG: Fix HAVE_S3C2410_WATCHDOG warnings
Fix build warnings
warning: (ARCH_S3C64XX && <choice> && WATCHDOG || ARCH_S5P64X0 && <choice> && WATCHDOG ||
          ARCH_S5P6442 && <choice> && WATCHDOG || ARCH_S5PC100 && <choice> ||
          ARCH_S5PV210 && <choice> || ARCH_S5PV310 && <choice> || MACH_SMDK6410 && ARCH_S3C64XX)
         selects HAVE_S3C2410_WATCHDOG which has unmet direct dependencies (WATCHDOG)

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: Added fix same warning(mach-s3c64xx/Kconfig)]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-11-13 16:30:29 +09:00
Uwe Kleine-König b595076a18 tree-wide: fix comment/printk typos
"gadget", "through", "command", "maintain", "maintain", "controller", "address",
"between", "initiali[zs]e", "instead", "function", "select", "already",
"equal", "access", "management", "hierarchy", "registration", "interest",
"relative", "memory", "offset", "already",

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-11-01 15:38:34 -04:00
Linus Torvalds 706d4b12f8 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (215 commits)
  ARM: memblock: setup lowmem mappings using memblock
  ARM: memblock: move meminfo into find_limits directly
  ARM: memblock: convert free_highpages() to use memblock
  ARM: move freeing of highmem pages out of mem_init()
  ARM: memblock: convert memory detail printing to use memblock
  ARM: memblock: use memblock to free memory into arm_bootmem_init()
  ARM: memblock: use memblock when initializing memory allocators
  ARM: ensure membank array is always sorted
  ARM: 6466/1: implement flush_icache_all for the rest of the CPUs
  ARM: 6464/2: fix spinlock recursion in adjust_pte()
  ARM: fix memblock breakage
  ARM: 6465/1: Fix data abort accessing proc_info from __lookup_processor_type
  ARM: 6460/1: ixp2000: fix type of ixp2000_timer_interrupt
  ARM: 6449/1: Fix for compiler warning of uninitialized variable.
  ARM: 6445/1: fixup TCM memory types
  ARM: imx: Add wake functionality to GPIO
  ARM: mx5: Add gpio-keys to mx51 babbage board
  ARM: imx: Add gpio-keys to plat-mxc
  mx31_3ds: Fix spi registration
  mx31_3ds: Fix the logic for detecting the debug board
  ...
2010-10-30 08:26:25 -07:00
Mark Brown e5b486841d mfd: Factor out WM831x I2C I/O from the core driver
In preparation for the addition of SPI support for the WM831x move the I2C
specific code into a separate file with a separate Kconfig option so the
I2C support can be excluded from the build.

Also update the 1133-EV1 PMIC module support for SMDK6410 to use the new
symbol.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-10-29 00:30:24 +02:00
Russell King f9cef50681 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable
Conflicts:
	arch/arm/mach-s3c64xx/dev-audio.c
2010-10-28 12:27:34 +01:00
Linus Torvalds 33081adf8b Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits)
  ALSA: hda - Disable sticky PCM stream assignment for AD codecs
  ALSA: usb - Creative USB X-Fi volume knob support
  ALSA: ca0106: Use card specific dac id for mute controls.
  ALSA: ca0106: Allow different sound cards to use different SPI channel mappings.
  ALSA: ca0106: Create a nice spot for mapping channels to dacs.
  ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence.
  ALSA: ca0106: Pull out dac powering routine into separate function.
  ALSA: ca0106 - add Sound Blaster 5.1vx info.
  ASoC: tlv320dac33: Use usleep_range for delays
  ALSA: usb-audio: add Novation Launchpad support
  ALSA: hda - Add workarounds for CT-IBG controllers
  ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs
  ASoC: tpa6130a2: Error handling for broken chip
  ASoC: max98088: Staticise m98088_eq_band
  ASoC: soc-core: Fix codec->name memory leak
  ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066
  ALSA: hda - Add some workarounds for Creative IBG
  ALSA: hda - Fix wrong SPDIF NID assignment for CA0110
  ALSA: hda - Fix codec rename rules for ALC662-compatible codecs
  ALSA: hda - Add alc_init_jacks() call to other codecs
  ...
2010-10-25 08:32:05 -07:00
Takashi Iwai aa5c14d5c0 Merge branch 'topic/asoc' into for-linus
Conflicts:
	arch/powerpc/platforms/85xx/p1022_ds.c
2010-10-25 10:00:30 +02:00
Kukjin Kim cd1cc8282d ARM: S3C: Change VMALLOC_END to use more vmalloc()/ioremap() area
This patch changes VMALLOC_END from 0xE0000000 to 0xF6000000, because
some systems want to use more vmalloc()/ioremap() area and now don't use
from at 0xE0000000 to 0xF6000000 (the start of Samsung SoCs' VA space)

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 16:11:44 +09:00
Kukjin Kim 8e0e9e2958 Merge branch 'next-s3c64xx' into for-next 2010-10-25 16:10:16 +09:00
Mark Brown 6b2cff9606 ARM: S3C64XX: Ensure s3c64xx_ide_setup_gpio() is prototyped
Since it's exported we should make sure we're using the prototype
others see.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 16:04:33 +09:00
Mark Brown 821c3a35cb ARM: S3C64XX: Ensure samsung_keypad_cfg_gpio() is prototyped
Since it's exported we should make sure we're using the prototype
others see.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 16:04:27 +09:00
Kukjin Kim 4d9374f39e Merge branch 'next-gpio-update' into for-next 2010-10-25 15:57:16 +09:00
Mark Brown dff2126c54 ARM: S3C64XX: Fix special function for IISv4 port
When converting to use s3c_gpio_cfgpin_range() the function for the
IISv4 block appears to have been typoed as 4 (the keypad) rather than
5 as it should be.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:53:28 +09:00
Kukjin Kim 3e9b726150 ARM: S3C64XX: 2nd Change to using s3c_gpio_cfgrange_nopull()
This patch changes code setting special-function and no pull-up
to use the s3c_gpio_cfgrange_nopull() wrapper.
NOTE: This is for missed things from the previous patch.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:52:07 +09:00
Ben Dooks 2a1309b493 ARM: S3C64XX: Change to using s3c_gpio_cfgrange_nopull()
Change code setting special-function and no pull-up to use
the s3c_gpio_cfgrange_nopull() wrapper.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:51:37 +09:00
Kukjin Kim aef698a72f ARM: S3C64XX: 2nd Change to using s3c_gpio_cfgall_range()
This patch changes the code setting range of GPIO pins' configuration and
pull state to use the recently introduced s3c_gpio_cfgpin_range().
NOTE: This is for missed things from the previous patch.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:50:47 +09:00
Ben Dooks dab30d7f80 ARM: S3C64XX: Change to using s3c_gpio_cfgall_range()
Change the code setting a range of GPIO pins' configuration and
pull state to use the recently introduced s3c_gpio_cfgall_range().

Mop up a few missed s3c_gpio_cfgpin_range() changes.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
[kgene.kim@samsung.com: Fix small comments]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:50:05 +09:00
Ben Dooks 2618b555d2 ARM: S3C64XX: Change to using s3c_gpio_cfgpin_range()
Change the code setting ranges of GPIO pins using s3c_gpio_cfgpin() to
use the recently introduced s3c_gpio_cfgpin_range().

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:49:09 +09:00
Ben Dooks f5321760ce ARM: S3C64XX: Change dev-audio.c to use S3C_GPIO_SFN() for special functions
To aide in changing the gpio code, remove the use of pin-specific configs
and move to using the S3C_GPIO_SFN() versions.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-23 11:49:02 +09:00
Joonyoung Shim 8ce14a221e ARM: SAMSUNG: Add common samsung_gpiolib_to_irq function
This patch adds a common callback for gpio_to_irq() for external and
gpio interrupts for Samsung SoCs.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
[kgene.kim@samsung.com: moved samsung_gpiolib_to_irq() for s3c24xx build]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:54:57 +09:00
Darius Augulis fe894f97ad ARM: S3C64XX: add touchscreen support for mach-mini6410
Add touchscreen device support for mach-mini6410

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:42:45 +09:00
Darius Augulis bbd7ac63a6 ARM: S3C64XX: add backlight control for mach-mini6410
Add support for platform-lcd device for mach-mini6410

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:42:45 +09:00
Darius Augulis 2abca87cb6 ARM: S3C64XX: add frame buffer support for mach-mini6410
Add support for frame buffer device for mach-mini6410.
Patch also adds support for feature string parsing
for mini6410. The feature string is kernel command
line passed and currently lets select only LCD
configuration. At the moment there is support for
two LCD configurations - 4.3" and 7.0". Feature
parser is mach-mini2440 based.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:42:45 +09:00
Darius Augulis 1c5d76ef30 ARM: S3C64XX: add nand support for mach-mini6410
Add nand device support and mtd partition
table for mini6410

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:42:44 +09:00
Darius Augulis e9debd989b ARM: S3C64XX: add support for mach-mini6410
Add support for mini6410 board from FriendlyARM

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:42:29 +09:00
Nicolas Pitre 6451d7783b arm: remove machine_desc.io_pg_offst and .phys_io
Since we're now using addruart to establish the debug mapping, we can
remove the io_pg_offst and phys_io members of struct machine_desc.

The various declarations were removed using the following script:

  grep -rl MACHINE_START arch/arm | xargs \
  sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'

[ Initial patch was from Jeremy Kerr, example script from Russell King ]

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Eric Miao <eric.miao at canonical.com>
2010-10-20 00:27:46 -04:00
Jeremy Kerr 0ea1293009 arm: return both physical and virtual addresses from addruart
Rather than checking the MMU status in every instance of addruart, do it
once in kernel/debug.S, and change the existing addruart macros to
return both physical and virtual addresses. The main debug code can then
select the appropriate address to use.

This will also allow us to retreive the address of a uart for the MMU
state that we're not current in.

Updated with fixes for OMAP from Jason Wang <jason77.wang@gmail.com>
and Tony Lindgren <tony@atomide.com>, and fix for versatile express from
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>.

Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-10-20 00:27:33 -04:00
Darius Augulis 10dcc7a2bd ARM: S3C64XX: add USB host support for mach-real6410
Add USB host device support for mach-real6410

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-19 13:52:37 +09:00
Darius Augulis 4374c45672 ARM: S3C64XX: add touchscreen support for mach-real6410
Add touchscreen device support for mach-real6410

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-19 13:52:34 +09:00
Darius Augulis 88fbadea18 ARM: S3C64XX: add nand support for mach-real6410
Add nand device support and mtd partition table
for mach-real6410

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-19 13:52:32 +09:00
Darius Augulis c115f67c03 ARM: S3C64XX: add frame buffer support for mach-real6410
Add support for frame buffer device for mach-real6410.
Patch also adds support for feature string parsing
for real6410. The feature string is kernel command
line passed and currently lets select only LCD
configuration. At the moment there is support for
two LCD configurations - 4.3" and 7.0". Feature
parser is mach-mini2440 based.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-19 13:52:29 +09:00
Russell King 23beab76b4 Merge branches 'at91', 'dcache', 'ftrace', 'hwbpt', 'misc', 'mmci', 's3c', 'st-ux' and 'unwind' into devel 2010-10-18 22:34:25 +01:00
Darius Augulis 4d89ecaae9 ARM: S3C64XX: Add IORESOURCE_IRQ_HIGHLEVEL flag to dm9000 on mach-real6410
Add IORESOURCE_IRQ_HIGHLEVEL irq flag to dm9000 driver
platform data in board mach-real6410.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
[kgene.kim@samsung.com: minor title fix]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-09-18 09:54:55 +09:00
Darius Augulis 591cd25ee3 ARM: S3C64XX: Fix coding style errors on mach-real6410
Fix errors reported by checkpatch.pl script

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
[kgene.kim@samsung.com: minor title fix]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-09-18 09:54:55 +09:00
Mark Brown 5343795fda ARM: S3C64XX: Prototype SPI devices
Avoids build warnings due to the undeclared non-statics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-09-18 09:54:54 +09:00
Mark Brown 23a07eb0e8 ARM: S3C64XX: Fix dev-spi build
The irqs.h usage here got missed in the Samsung platform reorganisation.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-09-14 17:59:51 +09:00
Uwe Kleine-König 9e978f0962 ARM: 6351/1: s3c64xx: don't put smartq_bl_init in .init.text
This fixes a section mismatch found by modpost:

	WARNING: arch/arm/mach-s3c64xx/built-in.o(.data+0x2498): Section mismatch in reference from the variable smartq_backlight_data to the function .init.text:smartq_bl_init()
	The variable smartq_backlight_data references
	the function __init smartq_bl_init()
	If the reference is valid then annotate the
	variable with __init* or __refdata (see linux/init.h) or name the variable:
	*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-09-02 16:36:07 +01:00
Uwe Kleine-König d684f64063 ARM: 6350/1: s3c64xx: don't put smartq5_leds in .init.data
This fixes a section mismatch found by modpost:

	WARNING: arch/arm/mach-s3c64xx/built-in.o(.data+0x2814): Section mismatch in reference from the variable smartq5_led_data to the (unknown reference) .init.data:(unknown)
	The variable smartq5_led_data references
	the (unknown reference) __initdata (unknown)
	If the reference is valid then annotate the
	variable with __init* or __refdata (see linux/init.h) or name the variable:
	*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-09-02 16:36:06 +01:00
Uwe Kleine-König 495c7b8e64 ARM: 6348/1: s3c64xx: don't put smartq7_leds in .init.data
This fixes a section mismatch found by modpost:

	WARNING: arch/arm/mach-s3c64xx/built-in.o(.data+0x2c1c): Section mismatch in reference from the variable smartq7_led_data to the (unknown reference) .init.data:(unknown)
	The variable smartq7_led_data references
	the (unknown reference) __initdata (unknown)
	If the reference is valid then annotate the
	variable with __init* or __refdata (see linux/init.h) or name the variable:
	*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-09-02 16:36:06 +01:00
Dimitris Papastamos e4b6b74ffd ARM: S3C64XX: Fix fallthrough bug in i2sv3 gpio configuration, improve logging
If the platform device id is 1, the code will fallthrough the
case and incorrectly return -EINVAL. Add a break to avoid fallthrough.

Make logging slightly more verbose by including the device id.

This fixes an issue only present in multi-component.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-08-27 11:23:27 +01:00
Kukjin Kim 15cae77ad8 ARM: SAMSUNG: Fix on build warning regarding VMALLOC_END type
Fix this warning:

arch/arm/mm/init.c: In function 'mem_init':
arch/arm/mm/init.c:644: warning: format '%08lx' expects type
'long unsigned int', but argument 12 has type 'unsigned int'

And removes the useless parens and white space.

Reported-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
2010-08-27 15:28:38 +09:00
Mark Brown e4862f2f6f Merge branch 'for-2.6.36' into for-2.6.37
Fairly simple conflicts, the most serious ones are the i.MX ones which I
suspect now need another rename.

Conflicts:
	arch/arm/mach-mx2/clock_imx27.c
	arch/arm/mach-mx2/devices.c
	arch/arm/mach-omap2/board-rx51-peripherals.c
	arch/arm/mach-omap2/board-zoom2.c
	sound/soc/fsl/mpc5200_dma.c
	sound/soc/fsl/mpc5200_dma.h
	sound/soc/fsl/mpc8610_hpcd.c
	sound/soc/pxa/spitz.c
2010-08-16 18:42:58 +01:00
Linus Torvalds bbbfb910d1 Merge branch 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux
* 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux:
  DMAENGINE: correct PL080 register header file
  ARM: SAMSUNG: Fix on build warning about dependency in Kconfig
  ARM: SMDK6410: Make virtual screen twice depth of real
  ARM: S3C64XX: Update consistent DMA size to 8MiB
  ARM: S3C64XX: Add audio support to SmartQ
  ARM: S3C64XX: Framebuffer fix for SmartQ5
  ARM: S3C64XX: Set wifi and iNAND as permanently connected SD devices on SmartQ boards
  ARM: S3C64XX: Move SmartQ LCD control platform definition to shared file
  ARM: mach-real6410: add sdhc device support
  ARM: mach-real6410: add dm9000 ethernet support for mach-real6410
  ARM: S3C64XX: Support for Real6410

Fix up trivial conflicts in arch/arm/mach-s3c64xx/mach-smartq5.c
("remove pixclock" vs "Framebuffer fix for SmartQ5")
2010-08-14 11:59:44 -07:00
Ben Dooks a739260d4e Merge branch 'for-2636/s3c64xx' into for-linus/samsung-2635 2010-08-14 16:34:38 +01:00
Linus Walleij d92342df2a DMAENGINE: correct PL080 register header file
This PL008 among all other variables named PL080 doesn't seem
right. Fix it. Also add some missing defined that I use in the
new PL08x driver.

Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:29:55 +01:00
Ben Dooks 001ca74f18 ARM: SMDK6410: Make virtual screen twice depth of real
For situations where double buffering is needed (such as the
current Android) make the screen virtual y size twice the
LCD size so that there is space for a second screen that
can be switched to.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:24:33 +01:00
Ben Dooks 46d0ad3783 ARM: S3C64XX: Update consistent DMA size to 8MiB
Change the area available for consitent DMA allocations from the
default to 8MiB to allow drivers such as the framebuffer to get
more memory (for situations where larger virtual screen resolutions
are needed).

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:24:15 +01:00
Maurus Cuelenaere 4e13c0ea2c ARM: S3C64XX: Add audio support to SmartQ
This adds the I²C board information for the WM8987 used in the SmartQ as audio
codec and adds the I²C/I²S platform drivers.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:16:28 +01:00
Patrick Georgi 08ee000b51 ARM: S3C64XX: Framebuffer fix for SmartQ5
The following change makes the framebuffer work on SmartQ5. There are
still some problems with ADC, so this patch alone won't make the device
run (or even give a working fb), but it's one issue less to think about.

Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:15:56 +01:00
Maurus Cuelenaere eeda5fcb4f ARM: S3C64XX: Set wifi and iNAND as permanently connected SD devices on SmartQ boards
This patch changes the platform data definitions of the wifi and iNAND chip on
the SmartQ 5 and 7 to indicate that they don't have a CD line available and are
thus hard-wired to the SDHCI data lines.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:13:23 +01:00
Maurus Cuelenaere 49f91b9ed1 ARM: S3C64XX: Move SmartQ LCD control platform definition to shared file
This shares the common LCD control platform definition used in the SmartQ 5 and
7. This also corrects it as a GPIO bitbanged SPI device instead of an I²C one,
which was wrong.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:13:06 +01:00
Darius Augulis ce611d7b98 ARM: mach-real6410: add sdhc device support
Register SHDCI devices

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
[ben-linux@fluff.org: rewrite header[
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:10:23 +01:00
Darius Augulis ff266c0c91 ARM: mach-real6410: add dm9000 ethernet support for mach-real6410
This patch is based on "[PATCH v2] Support for Real6410"

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:10:23 +01:00
Darius Augulis eab5cfa065 ARM: S3C64XX: Support for Real6410
Add support for CoreWind Real6410 board, based on Samsung s3c6410 processor.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-08-14 16:10:22 +01:00
Liam Girdwood f0fba2ad1b ASoC: multi-component - ASoC Multi-Component Support
This patch extends the ASoC API to allow sound cards to have more than one
CODEC and more than one platform DMA controller. This is achieved by dividing
some current ASoC structures that contain both driver data and device data into
structures that only either contain device data or driver data. i.e.

 struct snd_soc_codec    --->  struct snd_soc_codec (device data)
                          +->  struct snd_soc_codec_driver (driver data)

 struct snd_soc_platform --->  struct snd_soc_platform (device data)
                          +->  struct snd_soc_platform_driver (driver data)

 struct snd_soc_dai      --->  struct snd_soc_dai (device data)
                          +->  struct snd_soc_dai_driver (driver data)

 struct snd_soc_device   --->  deleted

This now allows ASoC to be more tightly aligned with the Linux driver model and
also means that every ASoC codec, platform and (platform) DAI is a kernel
device. ASoC component private data is now stored as device private data.

The ASoC sound card struct snd_soc_card has also been updated to store lists
of it's components rather than a pointer to a codec and platform. The PCM
runtime struct soc_pcm_runtime now has pointers to all its components.

This patch adds DAPM support for ASoC multi-component and removes struct
snd_soc_socdev from DAPM core. All DAPM calls are now made on a card, codec
or runtime PCM level basis rather than using snd_soc_socdev.

Other notable multi-component changes:-

 * Stream operations now de-reference less structures.
 * close_delayed work() now runs on a DAI basis rather than looping all DAIs
   in a card.
 * PM suspend()/resume() operations can now handle N CODECs and Platforms
   per sound card.
 * Added soc_bind_dai_link() to bind the component devices to the sound card.
 * Added soc_dai_link_probe() and soc_dai_link_remove() to probe and remove
   DAI link components.
 * sysfs entries can now be registered per component per card.
 * snd_soc_new_pcms() functionailty rolled into dai_link_probe().
 * snd_soc_register_codec() now does all the codec list and mutex init.

This patch changes the probe() and remove() of the CODEC drivers as follows:-

 o Make CODEC driver a platform driver
 o Moved all struct snd_soc_codec list, mutex, etc initialiasation to core.
 o Removed all static codec pointers (drivers now support > 1 codec dev)
 o snd_soc_register_pcms() now done by core.
 o snd_soc_register_dai() folded into snd_soc_register_codec().

CS4270 portions:
Acked-by: Timur Tabi <timur@freescale.com>

Some TLV320aic23 and Cirrus platform fixes.
Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>

TI CODEC and OMAP fixes
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>

Samsung platform and misc fixes :-
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>

MPC8610 and PPC fixes.
Signed-off-by: Timur Tabi <timur@freescale.com>

i.MX fixes and some core fixes.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

J4740 platform fixes:-
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>

CC: Tony Lindgren <tony@atomide.com>
CC: Nicolas Ferre <nicolas.ferre@atmel.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
CC: Sascha Hauer <s.hauer@pengutronix.de>
CC: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
CC: Kuninori Morimoto <morimoto.kuninori@renesas.com>
CC: Daniel Gloeckner <dg@emlix.com>
CC: Manuel Lauss <mano@roarinelk.homelinux.net>
CC: Mike Frysinger <vapier.adi@gmail.com>
CC: Arnaud Patard <apatard@mandriva.com>
CC: Wan ZongShun <mcuos.com@gmail.com>

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-08-12 14:00:00 +01:00
Linus Torvalds 636d17427b Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits)
  ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions}
  ARM: 6324/1: cam60: move cam60_spi_devices to .init.data
  ARM: 6322/1: imx/pca100: Fix name of spi platform data
  ARM: 6321/1: fix syntax error in main Kconfig file
  ARM: 6297/1: move U300 timer to dynamic clock lookup
  ARM: 6296/1: clock U300 intcon and timer properly
  ARM: 6295/1: fix U300 apb_pclk split
  ARM: 6306/1: fix inverted MMC card detect in U300
  ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
  ARM: 6294/1: etm: do a dummy read from OSSRR during initialization
  ARM: 6292/1: coresight: add ETM management registers
  ARM: 6288/1: ftrace: document mcount formats
  ARM: 6287/1: ftrace: clean up mcount assembly indentation
  ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
  ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
  ARM: 6280/1: imx: Fix build failure when including <mach/gpio.h> without <linux/spinlock.h>
  ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3
  ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig
  ARM: S5PV210: Override FIMC driver name on Aquila board
  ARM: S5PC100: enable FIMC on SMDKC100
  ...

Fix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to
different subsystem 'setname' calls, and trivial port types in
include/linux/serial_core.h
2010-08-11 09:13:19 -07:00
Maurus Cuelenaere daf695fca8 arm: samsung: remove pixclock from several boards
Since "s3c-fb: Automatically calculate pixel clock when none is given",
there's no need for manually calculating the pixel clock anymore so remove
these lines and add the correct refresh rate where appropriately.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Cc: Pawel Osciak <p.osciak@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: InKi Dae <inki.dae@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-11 08:59:12 -07:00
Ben Dooks 50a5503a92 s3c-fb: initial move to unifying the header files
Remove the various header files that configure this driver and use the
platform device name to select the correct configuration at probe time.

Currently this does not remove the header files, only updates the driver
and the relevant platform files.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Cc: InKi Dae <inki.dae@samsung.com>
Cc: KyungMin Park <kyungmin.park.samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-11 08:59:10 -07:00
Kukjin Kim 1c739c7f37 ARM: SAMSUNG: Fix on inclusion mach/gpio.h for Samsung SoCs
This patch fixes on inclusion <mach/gpio.h> to <linux/gpio.h>

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
2010-08-06 21:28:44 +09:00
Naveen Krishna Ch 290d0983b8 ARM: S3C64XX: Add keypad device to the SMDK6410 board
This patch is to support keypad device to the SMDK6410 board.

Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-06 21:28:30 +09:00
Atul Dahiya 9bbf4a634a ARM: S3C64XX: Add RTC support for S3C64XX
This patch adds support for RTC for SMDK6410.

Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:51 +09:00
Atul Dahiya 32fc7fb3b9 ARM: S3C64XX: Move RTC clock from init_clocks to init_clocks_disable
RTC clock does not require to be enabled at boot time.

Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:50 +09:00
Marek Szyprowski 19206b1742 ARM: SAMSUNG: Add new s3c-sdhci card detection methods for Samsung SoCs
On some Samsung SoCs not all SDHCI controllers have card detect (CD)
line. For some embedded designs it is not even needed, because ususally
the device (like SDIO flash memory or wifi controller) is permanently
wired to the controller. There are also systems which have a card detect
line connected to some of the external interrupt lines or the presence
of the card depends on some other actions (like enabling a power
regulator).

This patch adds all required changes to platform support code, so
another patch, which extends the driver with support for the new card
detection methods can be applied.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: minor title and coding-style fixes]
[kgene.kim@samsung.com: fix build errors]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:50 +09:00
Naveen Krishna Ch 50e9769ad5 ARM: SAMSUNG: Implement set_name function for ADC devices
This patch implements s3c_adc_setname() for Samsung SoCs.
Also updates its usage in S3C64XX, S5P6440, and S5PV210.

Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:50 +09:00
Abhilash Kesavan 0ab0b6d226 ARM: S3C64XX: Add support for Compact Flash driver on SMDK6410
Following is added for the CF-ATA driver:
	- Platform data strucure instantiation
	- Platform device enabling code
	- Addition of cfcon clock
	- Platform-specific gpio setup code

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:50 +09:00
Thomas Abraham 5f4c5b2de4 ARM: S3C64XX: Add USB OTG HCLK to the list of clocks
Add the USB OTG HCLK clock to the list of clocks to be registered
during initialization.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-28 19:31:34 +09:00
Ben Dooks fda225774e ARM: S3C64XX: PM: Synchronise wakeup mask on suspend
Use the new wakeup mask synchronisation code to set the
relevant wakeup mask bits.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 21:07:08 +09:00
Ben Dooks 206a1a825d ARM: Merge for-2635-4/onenand
Merge branch 'for-2635-4/onenand' into for-2635-4/partial2

Conflicts:
	arch/arm/mach-s5pc100/cpu.c
	arch/arm/mach-s5pc100/include/mach/map.h
	arch/arm/mach-s5pv210/Makefile
2010-05-20 20:25:59 +09:00
Ben Dooks 6aeaad51aa ARM: Merge for-2635-4/watchdog
Merge branch 'for-2635-4/watchdog' into for-2635-4/partial2

Conflicts:
	arch/arm/mach-s3c64xx/mach-smdk6410.c
	arch/arm/mach-s5p6440/Kconfig
	arch/arm/mach-s5p6440/include/mach/map.h
	arch/arm/mach-s5p6440/mach-smdk6440.c
	arch/arm/mach-s5pv210/Kconfig
	arch/arm/mach-s5pv210/include/mach/map.h
	arch/arm/mach-s5pv210/mach-smdkv210.c
2010-05-20 19:51:40 +09:00
Banajit Goswami b351c4a178 ARM: SMDK6410: Add Watchdog support for SMDK6410
This patch adds support for Watchdog timer for Samsung S3C6410

Signed-off-by: Banajit Goswami <banajit.g@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 19:46:15 +09:00
Maurus Cuelenaere a2f7bffa29 ARM: S3C6410: Add basic support for SmartQ machines
This adds new machine definitions for the SmartQ 5 and 7.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 19:42:15 +09:00
Marek Szyprowski 999304be11 ARM: SAMSUNG: Add platform support code for OneNAND controller
This patch adds setup code for Samsung OneNAND controller driver. The
driver needs to be aware on which SoC it is running, so the actual
device id is being changed in cpu init code. S3C64xx SoCs have 2 OneNAND
controllers while S5PC100 and S5PC110 has only one.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[ben-linux@fluff.org: sort map.h entries]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 17:48:36 +09:00
Naveen Krishna Ch 85b14a3fc4 ARM: S3C64XX: Add Touchscreen support for S3C64XX
This patch adds touchscreen support for S3C64XX.

Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[ben-linux@fluff.org: minor title fix]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 14:14:57 +09:00
Ben Dooks 2b6c02abca ARM: SAMSUNG: Move s3c64xx dev-ts.c to plat-samsung and rename configuration
Move the arch/arm/mach-s3c64xx/dev-ts.c file to arch/arm/plat-samsung and
rename the Kconfig entry appropriately.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-19 18:25:30 +09:00
Maurus Cuelenaere 909de0d67d ARM: S3C64XX: Add touchscreen platform device definition
This patch adds the touchscreen platform device definition for S3C64XX boards.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-19 18:25:14 +09:00
Ben Dooks 14b8a0f92b ARM: Merge for-2635/samsung-rtc
Merge branch 'for-2635/samsung-rtc' into for-linus/samsung2

Conflicts:
	arch/arm/mach-s3c64xx/include/mach/map.h
	arch/arm/plat-samsung/Kconfig
	arch/arm/plat-samsung/Makefile
2010-05-19 18:07:25 +09:00
Ben Dooks 05a690d2db ARM: Merge for-2635/samsung-ts
Merge branch 'for-2635/samsung-ts' into for-linus/samsung2
2010-05-19 18:05:42 +09:00
Ben Dooks 32457942b9 ARM: Merge for-2635/fb-updates1
Merge branch 'for-2635/fb-updates1' into for-linus/samsung2
2010-05-19 18:04:11 +09:00
Ben Dooks 2abbfb26de ARM: Merge for-2635/s3c6410-clock
Merge branch 'for-2635/s3c6410-clock' into for-linus/samsung2
2010-05-19 18:04:09 +09:00
Ben Dooks ff1b8ba01d ARM: Merge for-2635/gpio2
Merge branch 'for-2635/gpio2' into for-linus/samsung2
2010-05-19 18:04:08 +09:00
Ben Dooks c733a7179c ARM: Merge for-2635/samsung-dma
Merge branch 'for-2635/samsung-dma' into for-linus/samsung2
2010-05-19 18:04:04 +09:00
Maurus Cuelenaere 05e021f095 ARM: S3C64XX: Add USB external clock definition
This adds the xusbxti clock to S3C64XX platform.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-18 18:21:59 +09:00
Atul Dahiya adc0950c08 ARM: SAMSUNG: Move RTC device definitions in plat-samsung
This patch moves RTC device definitions from mach-s3c64xx
to plat-samsung, to enable the other SoCs to use same device
definition.

Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-18 16:44:58 +09:00
Naveen Krishna 4f7cdc38c0 ARM: SAMSUNG: Moving ADC device definition to plat-samsung.
This patch moves ADC device definition to plat-samsung.
Because that is generic to the S3C64XX and S5P Series SoCs.

Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-18 13:38:44 +09:00
Jassi Brar 14894b9b83 S3C: DMA: Change argument of s3c2410_dma_devconfig
All other functions have the channel argument of type 'unsigned int'
the s3c2410_dma_devconfig also accept the same value as argument but
treat it as type 'int'. Remove this anomaly by make it 'unsigned int'.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-17 16:43:49 +09:00
Jassi Brar 835879a884 ARM: S3C6410: Declare IISv4 audio-bus clock
Declare 'audio-bus' clock for IISv4 controller of S3C6410.
Even though the name is same as that for IISv3, the id is
set to -1(just one instance of the controller is available)
which helps always fetch the correct clock.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-14 09:30:46 +09:00
Jassi Brar 1aede2ea50 ARM: S3C6410: Declare possible sources of audio-bus2
Declare possible sources of CLKAUDIO[2]/audio-bus for IISv4 controller.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-14 09:20:36 +09:00
Jassi Brar bc8eb1e2fa ARM: S3C6410: Declare IISCDCLK_V4 Clock
Declare the source of clock provided at Xi2sCDCLK2 pin for IISv4 controller.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-14 09:20:36 +09:00
Jassi Brar df3c6b08d0 ARM: S3C6410: Define clk_src2 register
Define S3C6410 specific register - CLK_SRC2

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-14 09:20:35 +09:00
Ben Dooks afdd225d0f ARM: SAMSUNG: Remove old email address for ben-linux@fluff.org
The address ben@fluff.org is old, ben-linux@fluff.org has been in use
for a long time, and we should fixup all the occasions of the older
address to avoid confusion.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-12 10:06:28 +09:00
Ben Dooks e561aacc70 ARM: SAMSUNG: Move S3C6400 PLL code to <plat/pll.h> for re-use
The S3C6400 EPLL code matches the S3C2416 and compatible SoCs, so move
it from mach-s3c64xx into <plat/pll.h> for easy reuse.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-10 11:44:37 +09:00
Ben Dooks 97a339995f ARM: SAMSUNG: Add GPIO configuration read calls
Add the necessary 1,2 and 4 bit configuration read calls for the new
gpio code to allow removal of the old s3c24xx gpio code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-06 10:27:16 +09:00
Tejun Heo 5a0e3ad6af include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files.  percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.

percpu.h -> slab.h dependency is about to be removed.  Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability.  As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.

  http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The script does the followings.

* Scan files for gfp and slab usages and update includes such that
  only the necessary includes are there.  ie. if only gfp is used,
  gfp.h, if slab is used, slab.h.

* When the script inserts a new include, it looks at the include
  blocks and try to put the new include such that its order conforms
  to its surrounding.  It's put in the include block which contains
  core kernel includes, in the same order that the rest are ordered -
  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
  doesn't seem to be any matching order.

* If the script can't find a place to put a new include (mostly
  because the file doesn't have fitting include block), it prints out
  an error message indicating which .h file needs to be added to the
  file.

The conversion was done in the following steps.

1. The initial automatic conversion of all .c files updated slightly
   over 4000 files, deleting around 700 includes and adding ~480 gfp.h
   and ~3000 slab.h inclusions.  The script emitted errors for ~400
   files.

2. Each error was manually checked.  Some didn't need the inclusion,
   some needed manual addition while adding it to implementation .h or
   embedding .c file was more appropriate for others.  This step added
   inclusions to around 150 files.

3. The script was run again and the output was compared to the edits
   from #2 to make sure no file was left behind.

4. Several build tests were done and a couple of problems were fixed.
   e.g. lib/decompress_*.c used malloc/free() wrappers around slab
   APIs requiring slab.h to be added manually.

5. The script was run on all .h files but without automatically
   editing them as sprinkling gfp.h and slab.h inclusions around .h
   files could easily lead to inclusion dependency hell.  Most gfp.h
   inclusion directives were ignored as stuff from gfp.h was usually
   wildly available and often used in preprocessor macros.  Each
   slab.h inclusion directive was examined and added manually as
   necessary.

6. percpu.h was updated not to include slab.h.

7. Build test were done on the following configurations and failures
   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
   distributed build env didn't work with gcov compiles) and a few
   more options had to be turned off depending on archs to make things
   build (like ipr on powerpc/64 which failed due to missing writeq).

   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
   * powerpc and powerpc64 SMP allmodconfig
   * sparc and sparc64 SMP allmodconfig
   * ia64 SMP allmodconfig
   * s390 SMP allmodconfig
   * alpha SMP allmodconfig
   * um on x86_64 SMP allmodconfig

8. percpu.h modifications were reverted so that it could be applied as
   a separate patch and serve as bisection point.

Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
2010-03-30 22:02:32 +09:00
Ben Dooks 0e17226f7c ARM: SAMSUNG: Fixup commit 4e6d488af3
Commit 4e6d488af3 either missed out the
following machine files or somehow managed to clash between merges.

Fixup the three files missing the second parameter to addruart macro
to allow them to build.

Fixes the following warnings in arch/arm/kernel/debug.c:
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:167: Error: too many positional arguments
arch/arm/kernel/debug.S:183: Error: too many positional arguments

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-03-15 23:11:41 +00:00
Russell King 004c1c7096 Merge branch 'for-rmk/samsung6' of git://git.fluff.org/bjdooks/linux into devel-stable 2010-03-08 16:08:46 +00:00
Mark Brown 0ea5357f2e ARM: S3C64XX: Reintroduce unconditional build of audio device
Ben Dooks' commit cf9814eb (ARM: S3C64XX: Make audio device code built
unconditionally) made the struct devices for the audio blocks in the
S3C64xx series processors be built unconditionally but this change seems
to have gone AWOL in the various Samsung platform moves this release
cycle, causing link failures with machine drivers that rely on it.

Reintroduce the change.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-03-07 22:49:52 +00:00
Russell King 882d01f96b Merge branch 'for-rmk/samsung5' of git://git.fluff.org/bjdooks/linux into devel-stable
Conflicts:
	arch/arm/Kconfig
	arch/arm/Makefile
2010-03-02 23:40:15 +00:00
Mark Brown d608c738bb ARM: S3C64XX: Add initial support for board specific IRQs
Follow the scheme used for IRQs. By default 16 GPIOs are allocated
for board use.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 23:54:43 +00:00
Jassi Brar 2e5070bc11 ARM: S3C64XX: Declare IISv4 PCLK for S3C6410
[Updated the device ID to -1 since there's only one IISv4 device but the
S3C clock API tries to match based on the ID of the requesting device
(and not the name) -- broonie.]

Signed-Off-by: Jassi Brar <jassi.brar@samsung.com>
[ben-linux@fluff.org: Fixed Jassi's lastname]
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 02:08:15 +00:00
Jassi Brar de6985be18 ARM: S3C64XX: Add AC97 platform resources
This patch defines the platform device and the resources: IRQ, DMA and MEM,
needed by the AC97 controller driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 02:01:40 +00:00
Mark Brown 1f1008684a ARM: SMDK6410: Register IISv4 device
The IISv4 controller is connected to the WM8580 on the board.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 01:58:48 +00:00
Mark Brown a7a81d0bbd ARM: SMDK6410: Add support for PMIC LED on WM1192-EV1 PMIC module
The PMIC LED on the SMDK6410 CPU board is driven by GPIO4 of the
WM8312 PMIC. Provide software control of this LED.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 01:58:41 +00:00
Mark Brown 60f9101a88 ARM: SMDK6410: Add initial support for WM1192-EV1 PMIC board
The Wolfson Microelectronics 1192-EV1 is a plug in module for the
SMDK6410 providing power using a WM8312 PMIC. This patch provides
initial hookup sufficient to initialise the board, though not all
features are fully described yet.

As part of this supplies for the system that are provided as a
single supply by one of the currently merged PMIC boards are
factored out so they can be reused between different regulators.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 01:58:41 +00:00
Ben Dooks f94327f2ce ARM: SAMSUNG: Move include/mach files out of plat-s3c
Move the include/mach files out of plat-s3c and into the relevant
machine files. This does mean copying the files, but there is nowhere
else to put them.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-24 01:52:12 +00:00
Ben Dooks 7f0ff702cd ARM: Merge next-samsung-s3c64xx-platdeletion
Merge branch 'next-samsung-s3c64xx-platdeletion' into next-samsung

Conflicts:

	arch/arm/mach-s3c64xx/Makefile (fixed)
2010-02-22 23:38:26 +00:00
Ben Dooks 110d85acd4 ARM: S3C64XX: Eliminate plat-s3c64xx
Now we've move the support out of plat-s3c64xx for everything, eliminate
the platform directory arch/arm/plat-s3c64xx and remove it from the ARM
build configuration.

Note, PLAT_S3C64XX is kept around for the moment until the drivers that
depend on it can be updated, so it is moved to the mach-s3c64xx Kconfig.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-22 23:26:47 +00:00
Ben Dooks 992426bfe9 ARM: SAMSUNG: Remove dma-plat.h to allow plat-s3c64xx to be removed
dma-plat.h is the last file left in plat-s3c64xx, but to remove it we
must also change the use of dma-plat.h by the core code and the s3c24xx
implementation.

Rename the s3c24xx dma-plat.h in the common plat-samsung directory as it
may be used for other ports. Move the specific dma bits into the
mach-s3c64xx directory and update the build as needed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-21 23:10:35 +00:00
Ben Dooks 431fb7df24 ARM: SAMSUNG: Move pm-core.h to machine directory
Move the pm-core.h to the machine include directory in the process of
eliminating the plat-s3c64xx.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:34:03 +00:00
Ben Dooks 55bf9267dd ARM: S3C64XX: Combine the clock init code
Turn the init sequence of
	s3c24xx_register_baseclocks(xtal);
	s3c64xx_register_clocks();
	s3c6400_register_clocks(S3C6410_CLKDIV0_ARM_MASK);

into a single call as this is now contained within one file.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:34:02 +00:00
Ben Dooks 62acb2f82d ARM: S3C64XX: Merge s3c6400-clock.c and clock.c into mach-s3c64xx
Merge plat-s3c64xx/s3c6400-clock.c mach-s3c64xx/clock.c placing all the
clock code into one place.

Note, no effort is made in this patch to squash the init functions
together.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:34:01 +00:00
Ben Dooks 6ce8fde296 ARM: S3C64XX: Merge s3c6400-init.c into cpu.c
Since this file is small, and is compiled for both systems in this
architecture merge it into the cpu support file and remove the original
instead of moving it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:34:01 +00:00
Ben Dooks f7be9abaa5 ARM: S3C64XX: Move core support to mach-s3c64xx
Move the core S3C64XX support to mach-s3c64xx as it is unlikely to be used
outside of this directory. Also move the SoC header files in with it.

This includes the clock, cpu, cpufreq, dma, gpiolib and pll support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:33:54 +00:00
Ben Dooks 88fc68a280 ARM: S3C64XX: Move device and device setup into mach-s3c64xx
Move the S3C64XX specific device and setup files into mach-s3c64xx as
they are unlikely to be used outside of this code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:32:01 +00:00
Ben Dooks ed618aff8a ARM: S3C64XX: Move IRQ support into mach-s3c64xx
Move IRQ support to mach-s3c64xx as it is unlikely to be re-used outside
this machine.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:32:00 +00:00
Ben Dooks 3501c9ae9f ARM: S3C64XX: Move headers into machine include directory
Move the register and GPIO definition files from plat-s3c64xx into the
machine include direcotry as they are unlikely to be reused outside
mach-s3c64xx.

This move includes removing the empty <mach/regs-clock.h> and replacing
it with the <plat/regs-clock.h> implementation.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-20 22:31:17 +00:00
Ben Dooks 2f6c2ac1d9 ARM: S3C64XX: Squash SDHCI setup into one file
Squash the SDHCI setup for both the S3C6400 and S3C6410 into one file and
make the S3C6410 case use the S3C6400 code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 10:38:52 +09:00
Ben Dooks 97ce9d6938 ARM: S3C64XX: Remove useless IO descriptor from S3C6410
The iotable in arch/arm/mach-s3c64xx/s3c6410.c is currently empty and
therefore can be removed from the build.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 10:18:14 +09:00
Ben Dooks 431107ea5b ARM: S3C64XX: Merge mach-s3c6400 and mach-s3c6410
As per discussions with Russell King on linux-arm-kernel, it appears that
both mach-s3c6400 and mach-s3c6410 are so close together that they should
simply be merged into mach-s3c64xx.

Note, this patch does not eliminate any of the bits that are still common,
it is simply a move of the two directories together, any further common
code will be eliminated or moved in further patches.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 10:16:32 +09:00