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>
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>
Remove the Kconfig and PLAT_S3C64XX defines for the previous S3C64XX
directory structure now that the code is moved into mach-s3c64xx.
Note, we cannot currently remove plat-s3c64xx directory as we have a
pair of include files used within plat-s3c and plat-samsung that need
to find a new home.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
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>
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>
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>
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>
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>
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>
The S3C64XX SoC series support 12bit ADC data, enable this and
mask the data accordingly.
Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Making the code depend on CONFIG_SND_S3C24XX_SOC means that if the ASoC
code is build modularily, the boards will fail to link due to the device
code also being built as a module.
As per Mark Brown's suggestions, just compile this always as it is expected
many machines will have audio.
Also move the obj-y line out of the device setup area into a new area just
for devices.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
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>
Merge these two headers into one, these two SoCs are so similar.
Note, correct fault in mach-smdk2443.h including the wrong header.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Remove the old common S3C2440 and S3C2442 SoC support from plat-s3c24xx
into mach-s3c2440 now this directory is serving both SoCs.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Remove the old mach-s3c2442 directory now all is merged into mach-s3c2440
and remove it from the arch/arm build process.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Move the remaining S3C2442 code into mach-s3c2440 as there is only one
file currently in there and these two SoCs are very similar.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Fix the entries for SMDK2440 should have allowed for S3C2440 or S3C2440
SoC selection but this depended on ARCH_S3C2440 which has not been around
for a while.
Remove the dependency to allow this to be selected.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Merge s3c2442.c and clock.c as the s3c242.c does not contain much and
the clock parts are always built for s3c2442 anyway.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Move the pair of machines in arch/arm/mach-s3c2442 into the mach-s3c2440
directory as the S3C2440 and S3C2442 are very close.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Currently, S5P_TIMER_IRQ is based at the end of VICs. This patch changes
the S5P_TIMER_IRQ base from end of VICs to 11 in ISA IRQ space.
No of VICs varies between SOCs. This causes an exception on S5P6442.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>