Commit Graph

80 Commits

Author SHA1 Message Date
Donguk Ryu
b55f685e97 ARM: S5P: Add Support System MMU
This patch adds support System MMU which supports address transition
from virtual address to physical address. Basically, each hardware
block is connected System MMU block can use directly vitrual address
when it accesses physical memory not using physical address.

Signed-off-by: Donguk Ryu <du.ryu@samsung.com>
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
[kgene.kim@samsung.com: removed useless codes]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-01-13 13:35:31 +09:00
Kukjin Kim
f651ef6575 Merge branch 'next-samsung-irq_data' into for-next 2011-01-03 19:20:21 +09:00
Lennert Buytenhek
bb0b237467 ARM: S5P: irq_data conversion
Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2011-01-03 19:18:16 +09:00
Kukjin Kim
285dee7ff4 Merge branch 'next-s5pv310' into for-next
Conflicts:
	arch/arm/mach-s5pv310/Kconfig
	arch/arm/mach-s5pv310/Makefile
	arch/arm/mach-s5pv310/mach-smdkc210.c
	arch/arm/mach-s5pv310/mach-smdkv310.c
	arch/arm/plat-samsung/include/plat/devs.h
2010-12-31 10:52:05 +09:00
Kukjin Kim
724c35cf53 Merge branch 'next-s5p' into for-next-new 2010-12-30 10:44:13 +09:00
Sylwester Nawrocki
3bbef1b912 ARM: S5P: Add platform support for MIPI CSIS devices
There may be up to two MIPI CSI slave interfaces depending on the SoC version.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:37:49 +09:00
Thomas Abraham
be297f0374 ARM: S5P: Move SROM controller IO mapping to plat-s5p for S5P SoCs
This patch modifies the following.

1. Moves the SROM controller mapping from S5PV210 specific code to
   S5P common code. The SROM controller mapping can be used for all
   S5P SoCs.

2. Define the SROM controller physical address for S5P64X0, S5P6442,
   S5PC100, S5PV210 and S5PV310.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:37:48 +09:00
Thomas Abraham
8233ab6aec ARM: S5P: Add SROM bank 4 and 5 register offsets
Some of the S5P platforms like S5PC100 and S5PV210 include SROM banks
4 and 5 in addition to SROM banks 0 to 3. This patch adds register
offsets for SROM bank 4 and 5.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:37:48 +09:00
Thomas Abraham
abc6c36022 ARM: S5P: Add SROM control register shift macros for other banks.
This patch adds shift macros for the SROM Bus width and control
register to represent the shift count for the 5th and 6th SROM
banks.  Some of the S5P SOCs have them.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:37:48 +09:00
Kukjin Kim
8cf460a5d7 ARM: S5P: Move the SROM register definitions to plat-s5p
The SROM register difinitions of S5PV310/S5PC210 (mach/regs-srom.h)
can be used to other S5P SoCs such as S5PV210/S5PC110. So moved into
plat/regs-srom.h of plat-s5p directory.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:37:48 +09:00
Changhwan Youn
d6d8b48199 ARM: S5PV310: Add support Power Domain
This patch adds support Power Domain for S5PV310 and S5PC210.

Signed-off-by: Changhwan Youn <chaos.youn at samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:37:02 +09:00
Mark Brown
f5aeffb784 ARM: SAMSUNG: Convert s3c_irqext_wake() to new irq_ interrupt methods
Kernel 2.6.37 adds new interrupt methods which take a struct irq_data
rather than an irq number. Begin converting Samsung platforms over to
these methods by converting s3c_irqext_wake() with a simple textual
substitution.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-12-30 09:36:52 +09:00
Jongpill Lee
37ea63b14b ARM: S5P: Add initial map for GPIO2 and GPIO3
This patch adds initial map for GPIO2 and GPIO3.
S5PV310/S5PC210 has separated GPIO1, GPIO2 and GPIO3.

Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 16:06:22 +09:00
Seungwhan Youn
d4b34c6c84 ARM: S5P: Reduce duplicated EPLL control codes
S5P Samsung SoCs has a EPLL to support various PLL clock sources for other
H/W blocks. Until now, to control EPLL, each of SoCs make their own functions
in 'mach-s5pxxx/clock.c'. But some of functions, 'xxx_epll_get_rate()' and
'xxx_epll_enable()', are exactly same in all S5P SoCs, so this patch move
these duplicated codes to common EPLL functions that use platform wide.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 16:05:56 +09:00
Kukjin Kim
dd56d2df56 ARM: S5P: Cleanup the S5P SoCs' VA address mapping
Basically S5P SoCs use the Samsung common VA address mapping where
plat-samsung and use plat-s5p's mapping also. The later is a little
mess. So this patch cleans it up.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 16:03:05 +09:00
Kukjin Kim
dc6c0ca39d ARM: S5P: Fix missed IRQ_EINT_BIT()
When merged patches, missed IRQ_EINT_BIT() definition from commit ea31fd43
(ARM: S5PV210: Add Power Management Support). The IRQ_EINT_BIT() is used
in the Power Management operation (plat-samsung/pm.c).

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-25 15:51:33 +09:00
Jongpill Lee
ea31fd4330 ARM: S5PV210: Add Power Management Support
This patch adds suspend-to-ram support for S5PV210.
Note. This patch is confirmed on SMDKV210 and SMDKC110 board.

Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:54:57 +09:00
Marek Szyprowski
9adf5d222c ARM: S5P: Unify defines for both gpio interrupt types
Samsung S5P SoCs have the same interrupt type defines for both
external interrupts and gpio interrupts. This patch removes all
duplicates from S5PC100 and S5PV210 specific includes as well as
gpio interrupt code and put a common defines to plat/irqs.h
NOTE: Do not use this for S5P6440 and S5P6450.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: add note for S5P64X0]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:54:57 +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
Marek Szyprowski
170a461770 ARM: S5P: Add common S5P GPIO Interrupt support
This patch adds common code to enable support of GPIO interrupt on
S5P SoCs.

The total number of GPIO pins is quite large on S5P SoCs. Registering
irq support for all of them would be a resource waste. Because of that
the interrupt support for standard GPIO pins is registered dynamically
by the s5p_register_gpio_interrupt() function.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: minor title fixes]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:54:56 +09:00
Marek Szyprowski
ca1931ca1e ARM: S5PV210: Enable USB HSOTG gadget build
Add the necessary definitions and mapping information to enable the
s3c-hsotg gadget to build.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:54:56 +09:00
Thomas Abraham
658bf4bef8 ARM: S5P: Remove the unused clk_arm clock from plat-s5p
All the S5P series SoCs use the 'struct clksrc_clk' type to represent the
armclk. So the clk_arm clock instance available in the plat-s5p clock code
is not used in any of the S5P series SoCs.
This patch removes the unused clk_arm instance from plat-s5p clock code.

Reported-by: Jaecheol Lee <jc.lee@samsung.com>
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:54:55 +09:00
Jaecheol Lee
1d826d14cc ARM: S5PV210: Add DMC map_desc table for supporting DMC access
This patch adds DMC(DRAM Memory Controller) map_desc table.
Because some driver such as CPUFREQ need to access DMC register.

Signed-off-by: Jaecheol Lee <jc.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-21 07:52:17 +09:00
Kukjin Kim
2555e663b3 ARM: S5P64X0: Add UART serial support for S5P6450
This patch adds UART serial port support for S5P6450 SoC.
The S5P6450 has 6 UARTs, so adds resource of UART4 and UART5.
And to fix membase which is in serial/samsung.c is from Ben Dooks.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
2010-10-18 18:33:04 +09:00
Kukjin Kim
3109e55099 ARM: S5P64X0: Update Clock for S5P6440 and S5P6450
This patch updates regarding clock files for supporting S5P6440 and
S5P6450 with one kernel image. The mach-s5p64x0/clock.c is for common
of them and there are specific clock files for each SoCs.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-18 18:33:02 +09:00
Kukjin Kim
a2e0d6249f ARM: S5P64X0: Add S5P64X0(S5P6440 and S5P6450) initialization support
This patch adds ARCH_S5P64X0 which can support S5P6440 and S5P6450 with
one kernel image. So moved some files of mach-s5p6440 into the new ARCH
directory mach-s5p64x0.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-18 18:29:51 +09:00
Kukjin Kim
49b7a491b7 ARM: S5P64X0: Update Kconfig and Makefile
This patch updates the Kconfig and Makefile for the S5P6440 and S5P6450
machines. It also updates arch/arm/ Kconfig and Makefile to include for
support ARCH_S5P64X0 with one kernel image.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-18 10:33:34 +09:00
Kukjin Kim
19a2c06548 ARM: S5P: Moves initial map for merging S5P64X0
This patch moves some initial maps from plat-s5p to machine,
so that can merge mach-s5p6440 and mach-s5p6450.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-10-18 10:33:34 +09:00
Kukjin Kim
13904fba37 ARM: S5P: Move OneNAND device definitions in plat-s5p
This patch moves OneNAND device definitions from mach-s5pv210 to plat-s5p
so that can support it commonly.

Note: S5PC110 and S5PC210 have same OneNAND driver.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
2010-10-18 10:33:34 +09:00
Sylwester Nawrocki
80e2f36aab ARM: S5P: Decrease IO Registers memory region size on FIMC
IO registers region size of all FIMC versions is less than 1kB so there
is no need to reserve 1M.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[kgene.kim@samsung.com: minor title fix]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-09-14 17:57:55 +09:00
Marek Szyprowski
0fe7f88504 ARM: S5P: Fix DMA coherent mask for FIMC
FIMC driver uses DMA_coherent allocator, which requires proper dma mask
to be set.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: minor title fix]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-09-14 17:57:39 +09:00
Changhwan Youn
766211e748 ARM: S5PV310: Fix on Secondary CPU startup
Following occurs on boot message without this patch.
    CPU1: processor failed to boot
    Brought up 1 CPUs
    SMP: Total of 1 processors activated...

This patch adds SYSRAM mapping for fixing Secondary CPU startup.
    CPU1: Booted secondary processor
    Brought up 2 CPUs
    SMP: Total of 2 processors activated...

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-27 18:29:58 +09:00
Kukjin Kim
c598c47d85 ARM: S5PV310: Add CMU block for S5PV310 Clock
This patch adds CMU block for S5PV310/S5PC210 clock.
(CMU: Clock Management Unit)
Of course, changed current clock addresses for it together.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-27 18:04:37 +09:00
Kukjin Kim
25da496f39 ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig
This patch fixes on missing S5P_DEV_FIMC in plat-s5p/Kconfig.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-09 18:26:13 +09:00
Kukjin Kim
d61bd77ff1 Merge branch 'next-samsung' into for-next
Conflicts:
	arch/arm/mach-s5p6440/Kconfig
	arch/arm/mach-s5p6442/Kconfig
	arch/arm/mach-s5pc100/Kconfig
	arch/arm/mach-s5pv210/Kconfig
	arch/arm/mach-s5pv210/cpu.c
	arch/arm/plat-samsung/include/plat/sdhci.h
2010-08-06 21:49:18 +09:00
Kukjin Kim
f2b7e3c54a Merge branch 'next-s5p' into for-next
Conflicts:
	arch/arm/mach-s5pv210/mach-aquila.c
	arch/arm/mach-s5pv210/mach-goni.c
2010-08-06 21:34:55 +09:00
Sylwester Nawrocki
33c14ff838 ARM: SAMSUNG: Add platform definitions and helpers for FIMC driver
FIMC (CAMIF) device is a camera interface embedded in S3C/S5P Samsung
SOC series. It supports ITU-R BT.601/656 and MIPI-CSI2 standards,
memory to memory operations, color conversion, resizing and rotation.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-06 21:28:35 +09:00
Changhwan Youn
cc0e72b87a ARM: S5PV310: Add new Kconfig and Makefiles
This patch adds the Kconfig and Makefile for the new S5PV310 SoC.
It also updates arch/arm Kconfig, Makefile and arch/arm/mm/Kconfig
to include support for the new S5PV310.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:42 +09:00
Changhwan Youn
cfca3a619b ARM: S5PV310: Add Timer support
This patch adds timer support for S5PV310.  Until now, all S5P SoCs
use CONFIG_ARCH_USES_GETTIMEOFFSET macro as a default configuration.
Instead,S5PV310 implements clocksource and clock_event_device to
support the high resolution timer and tickless system.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Hyuk Lee <hyuk1.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:42 +09:00
Changhwan Youn
84bbc16c1f ARM: S5PV310: Add IRQ support
This patch adds IRQ support for S5PV310.
ARM GIC is installed in S5PV310 instead of VIC which is in every other CPUs
in S5P series. Several irq combiners are used to resolve the lack of irq
lines in current implementation.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Hyuk Lee <hyuk1.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:41 +09:00
Changhwan Youn
c8bef14051 ARM: S5PV310: Add Clock and PLL support
This patch adds clock and pll support for S5PV310.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:41 +09:00
Changhwan Youn
2b12b5c4ff ARM: S5PV310: Add new CPU initialization support
This patch adds Samsung S5PV310/S5PC210 CPU support.
The S5PV310/S5PC210 integrates a ARM Cortex A9 multi-core.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Jiseong Oh <jiseong.oh@samsung.com>
[kgene.kim@samsung.com: fix build errors]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:41 +09:00
Changhwan Youn
88baf2096c ARM: S5P: Remove fixed uart offset dependent code
The uart offset between channels has been 0x400 for all S5P series
and to present virtual and physical offsets, both number 0x400 and
S3C_UART_OFFSET have been used together.
This patch removes the use of the number 0x400 and expands the virtual
mapping size of S3C_VA_UART from 4KB to 512KB to support the CPU with
S3C_UART_OFFSET being 0x10000.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:32:41 +09:00
Jongpill Lee
0fdb480e7f ARM: S5P: Add s5p_reset_hook() for perform reset using SWRESET on S5P SoCs
This patch adds s5p_reset_hook() which includes software reset
by using SWRESET.

Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:30:22 +09:00
Jongpill Lee
d7f1e82ac9 ARM: S5P: Add System define for arch_reset()
This patch adds system define for arch_reset() using Watchdog reset.
And adds IO mapping for using WDT.

Signed-off-by: Jongpill Lee <boyko.lee@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:30:22 +09:00
Joonyoung Shim
02a0456b3b ARM: S5P: Add PMU device
This patch adds an initcall for the s5p platforms so that they register
their PMU IRQs with the PMU framework in the Kernel.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-08-05 18:30:21 +09:00
Boojin Kim
79fc72d6d3 ARM: S5P: Bug fix on external interrupt for S5P SoCs
This patch fixes bug on eint type set function, s5p_irq_eint_set_type().
In the IRQ_TYPE_EDGE_FALLING case, S5P_EXTINT_FALLEDGE is right
instead of S5P_EXTINT_RISEEDGE

Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-07-05 16:01:04 +09:00
Thomas Abraham
8fb9d2d72e ARM: S5P: Regoster clk_xusbxti clock for hsotg driver
The clk_xusbxti clock is added to the list of clocks to be
registred during boot time clock registration.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[ben-linux@fluff.org: edited title]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-28 19:31:34 +09:00
Pannaga Bhushan
5fae405838 ARM: S5P: Fix the platform external interrupt issues.
This patch does the following:

1. Corrects the common platform code for external interrupts for using the
   VIC mask/unmask bits also.
2. Moves the common defines related to external interrupt for plat-s5p
   to common files.
3. Based on the new common defines, corresponding changes are made in the
   affected platforms (S5P6440, S5P6442 and S5PC100).

Signed-off-by: Pannaga Bhushan <p.bhushan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-26 19:09:50 +09:00
Ben Dooks
3d5c1fdcaa ARM: SAMSUNG: Fixup merge problem
Fixup merge which re-introduced the setup-i2c0 helper

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 20:49:25 +09:00