Commit Graph

42611 Commits

Author SHA1 Message Date
Jassi Brar
4b4c662571 ARM: S3C64XX: SPI: Make platform device compilation selectable
The SPI controller platform devices should be compiled in
independent of the driver support, otherwise we might end
up with dev-spi built as kernel module.
Change this to make every machine select if it has some SPI
device and wants to build device definitions.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-03 01:55:01 +00:00
Ben Dooks
2848552cef ARM: SAMSUNG: Add DMA masks to hsotg device
Add the required DMA masks to the hs-otg device definition to allow DMA
to work with it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-02-03 01:54:54 +00:00
Kukjin Kim
8131796046 ARM: S5P6440: Move common memory map definitions for S5P
1. Moved common memory map definitions for S5P such as S5P_VA_XXX
   into plat-s5p/include/mach/map-s5p.h from mach-s5p6440/include/mach.
2. Removed unnecessary definitions in the map.h and irq.c
3. Removed the unnecessary support for unaligned UART address
4. Renamed S5P_VA_VICx definitions as VA_VICx
5. Moved the definitons of VIC_BASE to plat-s5p/include/plat/irqs.h

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-27 17:43:07 +09:00
Kukjin Kim
e96b234b7e ARM: S5P6440: Move CPU specific code in plat-s5p to machine directory
The s5p6440-clock.c and s5p6440-init.c code in the plat-s5p is specific to
s5p6440 SoC based systems. So these files are being moved to the machine
directory of s5p6440. And these files are renamed in the machine directory.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-27 09:50:11 +09:00
Ben Dooks
159a3ddd6c ARM: Merge next-smdk6410-defconfig
Merge branch 'next-smdk6410-defconfig' into next-samsung
2010-01-26 18:21:40 +09:00
Ben Dooks
50ee2d35a5 ARM: SAMSUNG: Add error printing to s3c24xx_register_clocks
Add an error print to s3c24xx_register_clocks to provide more useful
information when failing to register the clock.

I belive this was originally left out due to the possibility of a
problem with low-level debugging code. However, if the low-level
debug code is not functional by now there will be a whole other set of
problems being presented to the system.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 17:44:33 +09:00
Ben Dooks
8428d47a36 ARM: SAMSUNG: Add documentation to the clock registration calls.
Add some kerneldoc documentation to the s3c24xx_register_clock and the
s3c24xx_register_clocks() call.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 17:44:32 +09:00
Ben Dooks
ab5d97db1c ARM: SAMSUNG: Fix bad use of __initdata for s3c_register_clocks()
Functions should be marked __init, not __initdata.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 09:50:04 +09:00
Maurus Cuelenaere
f6b56704f7 ARM: SAMSUNG: Fix null pointer dereference in ADC driver
ARM: SAMSUNG: Fix null pointer dereference in ADC driver

Use struct adc_device instead of relying on client (which could be
NULL) when checking for SoC type.

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-26 09:50:03 +09:00
Thomas Abraham
d85127319c ARM: S5PV210: Add serial port support
This patch adds UART serial port support for S5PV210.

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-01-26 09:50:01 +09:00
Ben Dooks
0647aee035 ARM: S5P6440: Add HSMMC and OTG base addresses to map.h
Add the HSOTG and HSMMC block addresses to the map.h file.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 19:17:33 +09:00
Ben Dooks
1725c679a0 ARM: S3C64XX: Update s3c6400_defconfig for current kernel
Update the s3c6400_defconfig with one from the current kernel which has been
build and run tested on an SMDK6410.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 15:37:15 +09:00
Ben Dooks
3a3b585aa4 ARM: S3C6400: Update s3c6400_defconfig for bigger initrds for SMDK6410
The Samsung initrd for SMDK6410 is now bigger than the original initrds
that where used. Increase the command-line size and the size of the ramdisk
that it is unpacked into.

Also change the default init to /linuxrc to avoid problems with the current
SMDK ramdisk image failing to run /bin/bash.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 15:36:40 +09:00
Ben Dooks
75497d96b2 ARM: S3C64XX: Tidy up common code in s3c64xx_spi_set_info()
The s3c64xx_spi_set_info() sets one of two platform data structures depending
on which controller is being specified. Change to taking a pointer to the
relevant platform data structure and then having one set of code to place
the data into the area being pointed to.

Cc: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 14:24:52 +09:00
Maurus Cuelenaere
bd548e5ef2 ARM: S3C64XX: Fix typo in s3c-hsotg platform data
ARM: S3C64XX: Fix typo in s3c-hsotg platform data

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:55:16 +09:00
Mark Brown
46f2b478b2 ARM: SAMSUNG: Staticise gpiolib implementation functions
They are not exported, they are referenced via vtables.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:55:15 +09:00
Mark Brown
8dcdd6e6bb ARM: S3C64XX: Staticise audio platform data
It's not exported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:55:15 +09:00
Mark Brown
1c24522c05 ARM: S3C64XX: Fix dev-audio build
As reported when the patch was posted commit 71269364 ("ARM: S3C64XX:
Add I2S resources in platform code") uses pin names for the IISv4
data output pins which are not present in mainline, causing dev-audio
to fail to build. Fix this by using the defines which are actually
present in the kernel source.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:55:15 +09:00
Mark Brown
9fca878623 ARM: SMDK6410: Set up interrupt range for WM835x on 1190-EV1 PMIC board
The WM835x driver won't actually use this yet but it will in the
future when the changes converting it to genirq are merged.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:55:15 +09:00
Ben Dooks
8005745d6e ARM: SAMSUNG: Move pm-check.c to plat-samsung
Move the pm-check.c file to plat-samsung for all Samsung SoC users, and
update Kconfig names to make them SAMSUNG_ instead of S3C2410_

Sed expresions used to make the change:

    s/S3C2410_PM_DEBUG/SAMSUNG_PM_DEBUG/g
    s/S3C2410_PM_CHECK/SAMSUNG_PM_CHECK/g

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:45:58 +09:00
Ben Dooks
106cc6aa73 ARM: SAMSUNG: Move pmw.c to plat-samsung
Move the PWM driver support to plat-samsung, as these PWM blocks are
close enough across the current range to be supported by this driver.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:45:57 +09:00
Ben Dooks
6890556c14 ARM: SAMSUNG: Move more support into plat-samsung
Move header files which are not likely to be touched in
any further support addition out of plat-s3c's include
directory into plat-samsung.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-21 13:45:51 +09:00
Kukjin Kim
af1519408a ARM: S5P6440: Add IO descriptor for ChipID block.
This patch adds the IO descriptor for ChipID block in S5P6440.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:52:54 +09:00
Ben Dooks
e856bb1f8d ARM: SAMSUNG: Remove empty gpio-core.h and use central plat/gpio-core.h
Rename mach-s3c2410/include/mach/gpio-core.h to mach/gpio-track.h so that
it can be included by <plat/gpio-core.h> when needed.

Eliminate all other empty gpio-core.h files and just include the
<plat/gpio-core.h> as necessary.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:46:02 +09:00
Ben Dooks
16e2c7c59f ARM: SAMSUNG: Move GPIO headers to plat-samsung
Move the GPIO and GPIO configuration headers into arch/arm/plat-samsung
as they are common to all the Samsung SoCs.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:37:19 +09:00
Ben Dooks
4f2b617aff ARM: SAMSUNG: Move gpiolib support in gpio.c to plat-samsung
Move the gpio.c code containing the core gpiolib and GPIO support to
plat-samsung from plat-s3c as it is used by all current Samsung SoCs.

Note, we didn't move this to gpiolib.c as it contains code that is not
strictly for gpiolib support and the 4bit code is already called gpiolib.c
so make the change easier by not renaming both files in one go.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:37:19 +09:00
Ben Dooks
67866fb386 ARM: SAMSUNG: Move pm-gpio into plat-samsung
Move the pm-gpio code into plat-samsung.

Note, this should be changed later to properly compile the 4bit code if
the 4bit settings are enabled.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:37:19 +09:00
Kukjin Kim
42d828d46f ARM: S5P6440: Add S5P6440 GPIO support
This patch adds Samsung's S5P6440 GPIO support.

Signed-off-by: Adityapratap Sharma <aditya.ps@samsung.com>
Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:37:18 +09:00
Kukjin Kim
1f323cfda5 ARM: SAMSUNG: Move GPIO common functions to plat-samsung
This patch moves GPIO common functions (from plat-s3c64xx) into plat-samsung.
and adds the config option to build the plat-samsung/gpiolib for Samsung SoCs.

Signed-off-by: Adityapratap Sharma <aditya.ps@samsung.com>
Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 18:37:18 +09:00
Ben Dooks
ea2de1dc8b ARM: Merge next-samsung-clock2
Merge branch 'next-samsung-clock2' into next-samsung-try7
2010-01-19 18:36:12 +09:00
Ben Dooks
668dfc7527 ARM: Merge next-samsung-devupdates1
Merge branch 'next-samsung-devupdates1' into next-samsung-try7
2010-01-19 18:36:09 +09:00
Ben Dooks
22c810ab3e ARM: S3C24XX: Add mci platform data set call s3c24xx_mci_set_platdata().
Add a s3c24xx_mci_set_platdata() call for all the machine files that have
platform data for the MCI driver. This brings the MCI device into line with
the other devices with __initdata and a specific call to ensure the right
structure type is being passed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 17:21:38 +09:00
Ben Dooks
3cd2fff59f ARM: MINI2440: Remove commented out devices from device array
There's no point in having these in until there is proper support for
them, so remove as they only confuse the device changing script.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 09:23:52 +09:00
Ben Dooks
f126752043 ARM: SAMSUNG: Add platform data registration for OHCI
Add a platform data helper for the OHCI device

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 09:23:51 +09:00
Ben Dooks
0a6361316d ARM: SAMSUNG: Make UART device code common
Move s3c24xx_uart_devs, s3c24xx_uart_src and the platform devices to a
common entry in plat-samsung since they are the same in all the current
implementations.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-19 09:23:50 +09:00
Jassi Brar
6a2b411164 ARM: S3C64XX: SPI: Define SPI controller devices
Platform devices for SPI Controller of S3C64XX are defined and exported for
machines to include. Also, controller setup helper functions are defined for
machine code to set runtime configuration of the controller and the bus.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 18:27:52 +09:00
Jassi Brar
398ccccb77 ARM: S3C64XX: SPI: Header for passing platform data
We need a way to pass controller specific information to the SPI driver.
For that purpose new headers are made.

SPI Controller is assumed 'type-s3c64xx' and can be defined for newer SoCs.
 Hence, that part is placed under plat-samsung to be shared across newer SoCs.

SoC specific part - spi source clocks, will be placed
under plat-<soc>/include/plat/

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 18:27:15 +09:00
Jassi Brar
87315a802a ARM: S3C64XX: SPI: Define SPI-48M clock sources
Defined special 48MHz clock sources for SPI-0,1.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 17:26:58 +09:00
Jassi Brar
10f9f743f6 ARM: S3C64XX: SPI: Add SPI controller register base
Added SPI controller register base.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 17:26:48 +09:00
Ben Dooks
f9e011b6b3 ARM: SAMSUNG: Fix bug in clksrc-clk round_rate call.
The call has been assuming all clksrc-clks' divider size is 4 bits, but
this may not be the case anymore. Use the reg_div.size parameter to
calculate the maximum value it can take and check against that.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 16:00:56 +09:00
Ben Dooks
f3b464cca9 ARM: SAMSUNG: Fix clksrc-clk's checks for bad register settings
The WARN_ON() was only checking the first clock in the array, instead of
being executed for each clksrc clock being registered.

Since this is an array of clocks, WARN_ON() does not provide a lot of
useful information about the problem, so change to using printk(KERN_ERR)
to report the problem to the console.

As a note, we still try and register the clock even if these problems are
present just in case and to avoid changing the behaviour of the registration
process.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 15:37:25 +09:00
Thomas Abraham
b8792dbff6 ARM: SAMSUNG: Add check to ensure that clksrc_clk does have multiple clock sources
Adds a additional check in s3c_set_clksrc function to ensure that the clksrc_clk
does have a choice of multiple clock sources. In addition to this, a check is
added to ensure that a parent is assigned to the clksrc_clk in case it does not
have a choice of parent clocks.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 15:28:37 +09:00
Ben Dooks
a0de298a0e ARM: S5PC1XX: Register pd0 and hd0 clocks, remove unecessary dummy_enable
The clk_hd0 and clk_pd0 where given a local dummy_enable call due to
not being registered with the clock code, which they really should have
been. Register these two clocks and remove the clk_dummy_enable as this
is done by the default clock registration code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 15:28:28 +09:00
Andy Green
a4e946947b ARM: SMDK6410: Add comments on ethernet connectivity
LAN9115 Ethernet only works on SMDK6410 if certain switches
are set in specific ways.  Document the requirement.

Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 11:41:04 +09:00
Andy Green
810f613c03 ARM: S3C64XX: Add virtual mapping for S3C64XX SROM area
This adds the physical address of the SROM unit, and
applies a virtual mapping for it to the S3C_VA_MEM
slot.

Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 11:41:03 +09:00
Andy Green
f01fdac005 ARM: SMDK6410: Add nC1 chipselect SROM setup
Since the mach-smdk6410.c file claims it can start up the
smsc9115 ethernet device on the board, it should take care
about configuring the necessary chip select nCS1 so it can
see the chip.  The select defaults to 8-bit mode so without
config the Ethernet doesn't work.

This patch uses the new SROM definitions to set nCS1 to the
state found in the Samsung U-Boot port for 6410.  It may be
more conservative that it needs to be since those settings
were marked as for CS8900A also using this chip select.

But this change is enough to get the ethernet working when
booted with Qi.

Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 11:41:03 +09:00
Andy Green
a7c9194cdc ARM: S3C64XX: Add SROM register definitions
This introduces a platform file for s3c64xx that defines
the SROM unit registers that control chip select
characteristics.

Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 11:41:03 +09:00
Ben Dooks
0084f27a21 ARM: Merge next-s3c64xx
Merge branch 'next-s3c64xx' into next-samsung

Conflicts:
	arch/arm/mach-s3c6400/include/mach/map.h
	( ADC and RTC PA merge fixed)
2010-01-18 09:35:29 +09:00
Maurus Cuelenaere
bcedfa98d9 ARM: S3C64XX: Add S3C64XX support to the generic Samsung ADC driver
Add S3C64XX support to the generic Samsung ADC driver

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 09:30:49 +09:00
Maurus Cuelenaere
3929e1e76d ARM: SAMSUNG: Move S3C24XX ADC driver to plat-samsung
Move S3C24XX ADC driver to plat-samsung

Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-01-18 09:30:49 +09:00