Commit graph

37222 commits

Author SHA1 Message Date
Byungho Min
5a7652f203 ARM: S5PC100: Kconfigs and Makefiles
S5PC100 is a new SoC with ARM coretex-A8 and numerous peripherals. This SoC is
successor of S3C64XX. S5PC100 has peripherals which are still similar to S3C
families so some drivers in "arch/arm/plat-s3c" can be shared. S5PC100 specific
drivers will be added in "arch/arm/plat-s5pcxx" or "arch/arm/mach-s5pc100"

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: tidy and edit description]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:35:19 +01:00
Byungho Min
c1cc3db8e9 ARM: S5PC100: Clock and PLL support
S5PC100 has 4 PLLs (APLL,MPLL,EPLL,HPLL) and 3 clock domains. Clock scheme is
implemented here.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: edited title]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:25:00 +01:00
Byungho Min
c9b870e7e7 ARM: S5PC100: IRQ and timer
S5PC100 has 3 VICs(Vectored Interrupt Controller). The VICs come from S3C64xx
series, so the driver source code can be shared with S3C families. The S5PC100
has 3 VICs while S3C64xx has only 2.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:25:00 +01:00
Byungho Min
0164cbf439 ARM: S5PC100: GPIO and I2C
S5PC100 has more GPIO group then previous one. It has 34 groups of GPIO, while
S3C6410 has 17 groups. For now, only header files are written.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:59 +01:00
Byungho Min
8acd1ade2e ARM: S5PC100: CPU initialization
Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:58 +01:00
Byungho Min
433a915fc6 ARM: S5PC100: UART and Serial
Serial driver of S5PC100 is the same as S3C6400, so S5PC100 shares the serial
driver with S3C6400. Uart driver is copied from plat-s3c64xx to plat-s5pc1xx,
as I do not use plat-s3c64xx directory.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: title fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:37 +01:00
Byungho Min
ff54b45784 ARM: S5PC100: Memory map
S5PC100's the physical IO space starts at 0xe000"0000. To maximize space for
vmalloc, the virtual IO space starts at 0xf400"0000 as same as other samsung
CPUs(s3c24xx and s3c64xx) do.

Signed-off-by: Byungho Min <bhmin@samsung.com>
[ben-linux@fluff.org: subject and description fixup]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-16 23:24:16 +01:00
Ben Dooks
b282e29b54 Merge branch 'next-s3c64xx-moves' into next-s3c 2009-08-14 15:24:06 +01:00
Ben Dooks
c378aa275e Merge branch 'next-s3c64xx' into next-s3c 2009-08-14 15:24:01 +01:00
Ben Dooks
215ed3236a Merge branch 'next-s3c24xx-cpufreq' into next-s3c 2009-08-14 15:23:45 +01:00
Ben Dooks
0fbdd27007 Merge branch 'next-s3c24xx' into next-s3c 2009-08-14 15:23:34 +01:00
Ben Dooks
69e3728967 Merge branch 'next-s3c-machines' into next-s3c 2009-08-14 15:23:22 +01:00
Ben Dooks
63c949ea1d Merge branch 'next-s3c-hwmon' into next-s3c 2009-08-14 15:23:15 +01:00
Ben Dooks
a2c195fdde ARM: S3C24XX: Add SPI bus 1 on GPD8 through GPD10
Add configuration callback for SPI bus 1 on GPD[8..10] and ensure the
correct GPIO configuration register definitions in regs-gpio.h

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:26:09 +01:00
Mark Brown
d91e9a7ab9 ARM: S3C24XX: Add platform device for AC97 controller
Move the definition of the "generic" IRQ in the process.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:13:29 +01:00
Ben Dooks
229fd8ffba ARM: S3C24XX: Add FIQ IRQ routing support
Add support for routing an IRQ from the normal ARM IRQ mechanism to the
FIQ input of the processor.

Note, also fix a bug where the init_FIQ() function has not been called
when CONFIG_FIQ is enabled.

Signed-off-by; Ben Dooks <ben@simtec.co.uk>

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:13:28 +01:00
Mark Brown
c233d94931 ARM: S3C: Move S3C64xx audio devices into S3C64xx directory
Allowing us to make the Kconfig a little bit saner.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 01:08:27 +01:00
Mark Brown
c7c8f615c8 ARM: S3C64XX: Add address mapping for AC97 controller
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:05 +01:00
Mark Brown
25b15da14a ARM: S3C64XX: Add mapping for IISv4 port
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:04 +01:00
Matt Hsu
bd258e525a ARM: S3C64XX: Add UART2,UART3 support for SMDK6410 (resend)
Add proper uartcfg for UART port 2,3 and tidy it up on SMDK6410.

Signed-off-by: Matt Hsu <matt@0xlab.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:03 +01:00
Marek Szyprowski
4d4e2bc268 ARM: NCP: make ncp_iodesc static and move it to initdata section
Make ncp_iodesc struct static to clean a public namespace a bit and move
it to __initdata section to save memory a bit.

Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-08-14 00:58:03 +01:00
Peter Korsgaard
b5ead1cda6 ARM: S3C: move timer/pwm handling from plat-s3c24xx to plat-s3c
The s3c64xx devices use the same hardware core as s3c24xx, so move
the timer/pwm handling to plat-s3c so it can be used by both.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-31 00:10:24 +01:00
Peter Korsgaard
14077ea63b ARM: S3C: move s3c_device_nand from plat-s3c24xx to plat-s3c
Move the s3c_device_nand platform device from plat-s3c24xx to plat-s3c,
now that the nand driver also support the s3c64xx devices.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-31 00:10:24 +01:00
Peter Korsgaard
2896bda482 ARM: S3C6410: airgoo hmt board support
Add support for the Airgoo HMT (home media terminal) device.
The HMT is a tablet device with a s3c6410, a 7" LCD and a number
of peripheral connections.

For more details of the hardware specs, see:
http://article.gmane.org/gmane.linux.debian.devel.embedded/4307

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
[ben-linux@fluff.org: subject rewrite]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-31 00:08:46 +01:00
Ben Dooks
e6d197a695 ARM: S3C: CPUFREQ: Add debugfs support for cpufreq
Add debugfs support for the cpufreq driver to allow
information about the system state to be exported to
the user.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:56 +01:00
Ben Dooks
ad78759529 ARM: S3C2410: Add armclk for cpufreq support
Add armclk for use with the cpufreq support and anything
else that may want it. This clock is just a direct
descendant of fclk.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:55 +01:00
Ben Dooks
ca0b4901d8 ARM: BAST: CPUFREQ: Add board support
Add board support for CPUFREQ with the Simtec BAST board
registering the necessary information with the core.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:55 +01:00
Ben Dooks
f0176794b6 ARM: S3C2410: Add S3C2410A sysdev.
Add a sysdev S3C2410A sysdev to allow the differentiation
of the S3C2410A from the S3C2410. This is needed for the
CPUFREQ code to enable the extra features and update cpu
specific information.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:55 +01:00
Ben Dooks
140780ab5a ARM: S3C24XX: CPUFREQ: S3C2412/S3C2443 IO timing support
Add IO bank timing support for S3C2412/S3C2443.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:55 +01:00
Ben Dooks
2540003686 ARM: S3C2412: Update memory register mapping and definitions
Update the mapping of the memory controler registers and
add the missing definitions of the register block for the
SSMC.

The register contents definitions can be found in the pl093
header.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:54 +01:00
Ben Dooks
e13cf03eaa ARM: S3C: Update CPU register mapping practices.
Currently map-base.h defines the main virtual address mappings made
for all the support S3C SoC series, but does not then define any base
for per-cpu mappings to be made from.

Add S3C_ADDR_CPU() macro to define an virtual address as an offset
from the last of the core mappings.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:54 +01:00
Ben Dooks
22d4239973 ARM: S3C2412: CPUFREQ: Add core support.
Add core support for frequency scaling on the S3C2412 SoC.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:54 +01:00
Ben Dooks
baf6b281cf ARM: OSIRIS: CPUFREQ: Add CPU frequency scaling support
Add CPU frequency scalling support to the Simtec Osiris.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:53 +01:00
Ben Dooks
0345b51c6a ARM: S3C2440: CPUFREQ: Add crystal frequency Kconfig entries.
Add entries to select the crystal to select for each different
supported board. This information is then available for anything
else requiring this, such as the CPUFreq PLL tables.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:53 +01:00
Ben Dooks
78278d6a96 ARM: S3C2440: CPUFREQ: Add PLL tables
Add PLL tables for the S3C2440.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:53 +01:00
Ben Dooks
342e20f102 ARM: S3C2440: CPUFREQ: Add core support.
Add core support for frequency scaling on the S3C2440 SoC.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:53 +01:00
Ben Dooks
438a09e1eb ARM: S3C2410: CPUFREQ: Add PLL table
Add PLL table for the S3C2410 SoC.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:52 +01:00
Ben Dooks
a24c091db9 ARM: S3C2410: CPUFREQ: Add core support.
Add core support for frequency scaling on the S3C2410 SoC.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:52 +01:00
Ben Dooks
831a6fcb93 ARM: S3C2410: CPUFREQ: Add io-timing support.
Add io-timing support for frequency scaling on the S3C2410 SoC.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:52 +01:00
Ben Dooks
9d56c02a5a ARM: Add S3C24XX to CPUFreq KConfig
Add the S3C24XX to the main ARM CPUFreq Kconfig support list.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:52 +01:00
Ben Dooks
89c52ed468 ARM: Add ARCH_HAS_CPUFREQ for presence of CPUFREQ driver
Add ARCH_HAS_CPUFREQ so that each machine config can select
it if they have CPUFREQ driver support. This means that the
CPUFREQ specific area does not need the if statement updating
each time a new machine is added.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:52 +01:00
Ben Dooks
d6fc87d3f7 ARM: S3C: CPUFREQ: Move struct s3c_cpufreq_config to cpu-freq-core.h
Move the structure s3c_cpufreq_config from cpu-freq.h to the
less advertised cpu-freq-core.h as it is not needed by anything
outside the core drivers.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:51 +01:00
Ben Dooks
ea5fe9aedf ARM: S3C: CPUFREQ: Documentation for cpufreq header
Update arch/arm/plat-s3c/include/plat/cpu-freq.h to include kerneldoc
style documentation.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:51 +01:00
Ben Dooks
2e4ea6e820 ARM: S3C24XX: CPUFREQ: Add core support.
Add the core of the support for enabling the CPUFreq driver on
all S3C24XX based systems.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:51 +01:00
Ben Dooks
b0e66522f4 ARM: S3C24XX: Add BWSCON per-bank information.
Add definitions and an accessor macro to deal with
reading bus information from S3C2410_BWSCON for any
given numbered bank.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-30 23:22:51 +01:00
Mark Brown
9b71de49b0 S3C64XX: Fix ARMCLK configuration
The value of armclk_mask needs to be inverted for use as a mask on
the register value when updating ARM_RATIO.

This is critical for cpufreq support, without it attempts to scale
the frequency of the core trash pretty much the entire clock tree.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-29 23:47:14 +01:00
Mark Brown
1d91e1a296 S3C64XX: Fix get_rate() for ARMCLK
If the requested clock is faster than the parent clock then the
parent clock is the closest we can get to the request so we need
to return that instead of the requested clock.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-29 23:47:14 +01:00
Lars-Peter Clausen
0c997c0eaa S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip
In the s3c_gpiolib_getchip implementation for s3c24xx the check whether a pin is
in the gpio banks range is reversed. Thus the function returns NULL for valid
pins and the gpio chip if its not valid.

As a result gpio states are not saved/restored properly during suspend/resume.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-07-29 23:47:14 +01:00
Linus Torvalds
84210aeb4a Merge branch 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits)
  drm/radeon: set fb aperture sizes for framebuffer handoff.
  drm/ttm: fix highuser vs dma32 confusion.
  drm/radeon: Fix size used for benchmarking BO copies.
  drm/radeon: Add radeon.test parameter for running BO GPU copy tests.
  drm/radeon/kms: allow interruptible waits for objects.
  drm/ttm: powerpc: Fix Highmem cache flushing.
  x86: Export kmap_atomic_prot() needed for TTM.
  drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes.
  drm/ttm: Fix an oops and sync object leak.
  drm/radeon/kms: vram sizing on certain r100 chips needs workaround.
  drm/radeon: Pay more attention to object placement requested by userspace.
  drm/radeon: Fall back to evicting BOs with memcpy if necessary.
  drm/radeon: Don't unreserve twice on failure to validate.
  drm/radeon/kms: fix bandwidth computation on avivo hardware
  drm/radeon/kms: add initial colortiling support.
  drm/radeon/kms: fix hotspot handling on pre-avivo chips
  drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740
  drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq
  drm/radeon/kms: block RN50 from using 3D engine.
  drm/radeon/kms: fix VRAM sizing like DDX does it.
  ...
2009-07-29 12:31:59 -07:00
Thomas Hellstrom
73ba651fc2 x86: Export kmap_atomic_prot() needed for TTM.
This functionality is needed to kmap_atomic() highmem pages that may
potentially have or are about to set up other mappings with
non-standard caching attributes.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-07-29 15:56:22 +10:00