Commit Graph

265197 Commits

Author SHA1 Message Date
lw
350763b2dd rk30:add akm8975 support 2012-03-01 14:49:35 +08:00
zsq
b7730afe17 modify RGA driver some case is valid 2012-02-29 19:32:53 -08:00
lw
3af886044c rk30:modify dma_free_coherent operation for spim 2012-02-29 17:36:39 +08:00
lw
374db121dd rk30:modify dma_alloc_coherent operation for spim 2012-02-29 17:22:57 +08:00
lw
6f7639d3d1 rk30:add gyroscope l3d4200d support 2012-02-29 16:14:50 +08:00
黄涛
f64ec89d3f rk: i2s: fix compile error 2012-02-28 19:55:29 +08:00
黄涛
5dbd2a80f2 rk30: fb: fix compile error 2012-02-28 19:47:54 +08:00
黄涛
4bf971b340 rk: move early_printk.c from mach-rk29 to plat-rk and add RK_EARLY_PRINTK config 2012-02-28 19:20:16 +08:00
yxj
772ad0907a rk30 fb: add interface to show image directly in kernel
add ARGB888 support,enable RB swap
2012-02-28 18:23:28 +08:00
黄涛
cd9328e5c9 rk30: refactor i2s init code 2012-02-28 17:10:11 +08:00
邱建斌
35d60559db update i2s codec 2012-02-28 15:57:15 +08:00
hhb
2d332d7295 rk30: debug: add FIQ mode serial debugger 2012-02-28 14:29:31 +08:00
yxj
8aa6bae7ce rk30 lcdc:完善rk_fb.c中的相关接口 2012-02-27 17:56:14 +08:00
yxj
c894417995 rk30 fb: 完善 rk_fb_register 框架 2012-02-27 17:56:14 +08:00
黄涛
5893c39ffa rk30: clock: add clk_set_rate 2012-02-27 14:34:30 +08:00
黄涛
f3e31d8ebb rk30: add basic support for sdmmc 2012-02-27 14:31:27 +08:00
lw
6c231a43f0 rk30:add tsadc support 2012-02-25 16:19:49 +08:00
kfx
e0dd106efa update i2c driver: for compile error 2012-02-24 17:20:13 +08:00
黄涛
b4e1e85c14 rk29: fix vivante Kconfig, only for rk29 2012-02-23 16:58:16 +08:00
黄涛
88db6073b8 rk30: port ipp 2012-02-23 16:57:25 +08:00
黄涛
53549aa4a1 rk: move rk29-ipp.h from mach-rk29 to plat-rk 2012-02-23 16:22:42 +08:00
黄涛
919de0db88 rk30: add RGA driver 2012-02-23 16:04:40 +08:00
黄涛
8b26279250 rk: board.h: revert rk29fb_info name changed by yxj 2012-02-22 19:11:54 +08:00
黄涛
f0bb952599 rk30: refactor code 2012-02-22 16:06:07 +08:00
黄涛
9a2b9393c3 cpufreq: introduce hotplug governor 2012-02-22 14:54:22 +08:00
黄涛
1b02ab5fd5 cpufreq: introduce hotplug governor
port from ti.
2012-02-22 14:51:20 +08:00
yxj
6abc5827ae Merge branch 'develop-3.0-rk30' of ssh://10.10.10.29/rk/kernel into develop-3.0-rk30 2012-02-22 14:39:17 +08:00
yxj
fc00285eb6 rk30 fb:base version ,can show linux boot logo 2012-02-22 14:37:53 +08:00
Marc Zyngier
d1a4be5e64 ARM: 7297/1: smp_twd: make sure timer is stopped before registering it
On secondary CPUs, the Timer Control Register is not reset
to a sane value before the timer is registered, and the TRM
doesn't seem to indicate any reset value either. In some cases,
the kernel will take an interrupt too early, depending on what
junk was present in the registers at reset time.

The fix is to set the Timer Control Register to 0 before
registering the clock_event_device and enabling the interrupt.

Problem seen on VE (Cortex A5) and Tegra.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-22 14:09:46 +08:00
Will Deacon
9f70ef65c4 ARM: twd: register clockevents device before enabling PPI
The smp_twd clockevents driver currently enables the local timer PPI
before the clockevents device is registered. This can lead to a kernel
panic if a spurious timer interrupt is generated before registration
has completed since the kernel will treat it as an IPI timer.

This patch moves the clockevents device registration before the IRQ
unmasking so that we can always handle timer interrupts once they can
occur.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2012-02-22 14:09:45 +08:00
Colin Cross
702f53a019 ARM: smp_twd: use clockevents_update_freq to update frequency
clockevents_reconfigure was an older api that doesn't handle
updating the max time between ticks when the frequency changes.
Under some conditions, the boot value of max_delta_ns scaled
by the mult/shift values for the current frequency can result
in a value of 0x200000004 selected as the number of cycles to
program for a long tick, which gets wrapped to 0x4.

Also switch to the matching clockevents_config_and_register
function to register the clockevent, which handles converting
the min/max ticks to ns during init.

Change-Id: I6ca659c309e7bb031cdb1954767b5aa7a022ff44
Signed-off-by: Colin Cross <ccross@android.com>
2012-02-22 14:09:45 +08:00
Colin Cross
4a6481fc37 ARM: smp_twd: Reconfigure clockevents after cpufreq change
The localtimer's clock changes with the cpu clock.  After a
cpufreq transition, update the clockevent's frequency and
reprogram the next clock event.

Adds a clock called "smp_twd" that is used to determine the
twd frequency, which can also be used at init time to
avoid calibrating the twd frequency.

Signed-off-by: Colin Cross <ccross@android.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Rob Herring <robherring2@gmail.com>
2012-02-22 14:09:45 +08:00
Will Deacon
3006cb821a ARM: mm: fix racy ASID rollover broadcast on SMP platforms
If ASID rollover is detected on a CPU in an SMP system, a synchronous
IPI call is made to force the secondaries to reallocate their current
ASIDs.

There is a problem where a CPU may be interrupted in the cpu_switch_mm
code with the context ID held in r1. After servicing the IPI, the
context ID register will be updated with an ASID from the previous
generation, polluting the TLB for when that ASID becomes valid in the
new generation.

This patch disables interrupts during cpu_switch_mm for SMP systems,
preventing incoming rollover broadcasts from being serviced while the
register state is inconsistent. Additionally, the context resetting code
is modified to call cpu_switch_mm, rather than setting the context ID
register directly, so that the TTBR always agrees with the ASID.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2012-02-22 14:09:45 +08:00
Colin Cross
80e4f17cc8 ARM: vfp: Use cpu pm notifiers to save vfp state
When the cpu is powered down in a low power mode, the vfp
registers may be reset.

This patch uses CPU_PM_ENTER and CPU_PM_EXIT notifiers to save
and restore the cpu's vfp registers.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-and-Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
2012-02-22 14:09:44 +08:00
Santosh Shilimkar
6cf5d1c973 ARM: Enable CPU_PM notifiers on ARM machines.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-and-Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
2012-02-22 14:09:44 +08:00
Colin Cross
1ba5cc0dbb cpu_pm: call notifiers during suspend
Implements syscore_ops in cpu_pm to call the cpu and
cpu cluster notifiers during suspend and resume,
allowing drivers receiving the notifications to
avoid implementing syscore_ops.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-and-Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
2012-02-22 14:09:44 +08:00
Colin Cross
dd5fa6df90 cpu_pm: Add cpu power management notifiers
During some CPU power modes entered during idle, hotplug and
suspend, peripherals located in the CPU power domain, such as
the GIC, localtimers, and VFP, may be powered down.  Add a
notifier chain that allows drivers for those peripherals to
be notified before and after they may be reset.

Notified drivers can include VFP co-processor, interrupt controller
and it's PM extensions, local CPU timers context save/restore which
shouldn't be interrupted. Hence CPU PM event APIs  must be called
with interrupts disabled.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-and-Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>

Conflicts:

	kernel/power/Kconfig
2012-02-22 14:09:44 +08:00
lw
6f90cd1721 add gsensor mma8452 code support for board-rk30-sdk 2012-02-21 15:57:06 +08:00
黄涛
4534f165f6 mfd: wm831x: add WM8326 support again 2012-02-20 17:46:43 +08:00
黄涛
c040fd338b rk: update board.h
move rk30_i2c_platform_data from plat to rk30
move boot mode, usb detect etc API from rk29 to plat
move spi_cs_gpio, rk29xx_spi_platform_data, rk29_bl_info from rk29/rk30 to plat
2012-02-20 16:17:16 +08:00
黄涛
1083277dbe rk30: timer: modernize clock event and clock source registration 2012-02-20 15:46:10 +08:00
黄涛
4b8332ed3d arm: head.S: port to rk platform 2012-02-20 15:46:09 +08:00
黄涛
8c254c6d02 rk: disable print_modules 2012-02-20 15:46:09 +08:00
黄涛
c48baf6be5 arm: pl330: revert REVISION change 2012-02-20 15:46:08 +08:00
黄涛
a98a934641 arm: gic: port to rk platform 2012-02-20 15:46:08 +08:00
lw
87043a278c rk30:add backlight config 2012-02-20 15:31:01 +08:00
lw
b972d84721 rk30:add rk30 backlight support 2012-02-20 15:02:52 +08:00
黄涛
d0175aa842 rk30: io: add pwm register mapping 2012-02-20 11:57:38 +08:00
lw
5ec4fd96e8 rk30:add spim driver config 2012-02-17 15:33:37 +08:00
lw
d593d35c74 add dma support for spim driver 2012-02-17 15:26:18 +08:00