Age | Commit message (Collapse) | Author |
|
since pll1 have a limit that cannot scaling down to 650M and below
so change the 600M WP to 672MHz.
otherwise, the 600WP's clock will depens on last frequency.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
Fix bug of saving previous cpufreq not support
up to 1.2G freq. Max length set to 7 instead of 6.
Signed-off-by: Anson Huang <b20788@freescale.com>
|
|
Added the new 1.2GHz working point.
Currently 'arm_freq=1200" should be added to commandline
for the core to run at 1.2GHz. Also ensure that the appropriate
HW board mods have been done to set VDDARM_IN at 1.425V.
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
|
|
We should not disabled GPIO irq when doing suspend.
During suspend, kernel will call suspend_device_irq()
to disable all the irqs (just set a disabled flag, no mask)
On the another side, The handle_level_irq will check
the irq's disable status to determin it should be
handled or unmasked.
If the GPIO interrupt happened just after the above
suspend_device_irq(), we enters handle_leve_irq(),
mask and ack the GPIO irq, then return directly
without handle or unmask this irq because of it's disabled.
That means the GPIO IMR bit is not set and
we can not wake up by the GPIO key button.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
The dpm_suspend_noirq routing calls suspend_device_irqs()
first to disable all the irq no matter what flags it has.
Then it enumerates the device driver on dpm_suspend_list to
call their suspend_noirq pm callback. If any dev suspend
failed, it will call dpm_resume_noirq to re-enable all
the irq without IRQF_EARLY_RESUME, and return failed.
If dpm_suspend_noirq() return failed, then no syscore_resume()
can be called, that means the irq with flag IRQF_EARLY_RESUME,
can not be re-enabled on this case.
error = dpm_suspend_noirq(PMSG_SUSPEND);
if (error) {
..
goto Platform_finish;
}
....
error = syscore_suspend();
if (!error) {
...
syscore_resume();
}
...
dpm_resume_noirq(PMSG_RESUME);
Platform_finish:
if (suspend_ops->finish)
suspend_ops->finish();
So we must enable all the irqs no matter it's IRQF_EARLY_RESUME
or not.
Otherwise the GPIO power key who's irq has flag of IRQF_EARLY_RESUME
will be disabled forever when some device failed to suspend.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
Change the vide mode from XGA to 1080P when display blank,
the system will hang.
It is cause by overflow interrupt will trigger when the video mode change,
but clean the interrupt status bit depend on pixewl clock.
In blank state the pixel clock is gating so the HDMI PHY can't work.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Added FB suspend/resume event process in HDMI driver.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
The LVDS display direction should be aligned with camera sensor.
So we rotate it with 180 degree.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
add four kinds of camera rotate function: rotate_none, rotate_vert
rotate_horiz, rotate_180
Signed-off-by: Yuxi Sun <b36102@freescale.com>
|
|
enable ipv6 Privacy Extension,or netd commandlistener will
report "cann't find /proc/sys/net/ipv6/conf/wlan0/use_tempaddr".
Signed-off-by: Zhou Jianzheng <B38613@freescale.com>
|
|
Add license header to android.h
Fix the copyright to devices.c
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
Correct the license header of cpufreq earlysuspend
governor switch driver.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
Due to the wait mode implementation in current BSP is not compatible
with cpu hotplug, so disable the hotplug operations when system entry in
earlysyspend mode.
Will re-enabled it if wait mode issue is fixed
Signed-off-by: Lin Fuzhen <fuzhen.lin@freescale.com>
|
|
change to timeout semaphore to wait on irq.
use no timeout semaphore have below issues:
1. since fbmem.c will hold the console_lock() before call PAN_DISPLAY ioictl,
if have wrong happens on IPU, IRQ not come, any log printk will not ouput,
it will become like a system hang, and developer don't know what's wrong.
2. semaphore don't have timeout, here we can't know irq not come,
so hang it infintly.
3. semaphore lock and unlock in different context is a dangous operation.
To fix these issue, use timedout version to wait on irq.
But for better coding stly to align Kernel Coding Style Doc,
better use complete to wait on irq, use semaphre little ugly.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
if reset board during suspend, the controller can't success read
firmware version, it due to the chip needs some time to wake up, so
add 10 ms delay after wakeup chip in probe function.
don't need add delay in other code path, since the time was too short
to noticed in normal suspend/resume sequency.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
Fix a typo when adding 600M WP, the voltage value is wrong,
it will lead a warnning when change to this WP:
COULD NOT SET GP VOLTAGE!!!!
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
Add USB_ACM config for Android kernel
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|
|
Previous PLL1 freq change is done by switching CPU clock
to 400M pfd or 24M OSC, then modifying
PLL1 div directly, and switch back CPU clock immediately,
it will result in CPU clock stop during PLL1 hardware lock
period, thus, DRAM FIFO may blocked by the data CPU
requested before PLL1 clock changed, and it will block other devices
accessing DRAM, such as IPU, VPU etc. It will cause
underrun or hang issue. We should wait PLL1 lock, then switch
back.
Signed-off-by: Anson Huang <b20788@freescale.com>
|
|
As mx6q soc use one clock to provide for cpu and local timer,
the local timers will be stopped when enter wait mode.
This causes system hang when enter wait mode with local timer
enabled. So we should switch the clock event to GPT
broadcast clock event before entering wait mode, and disable
local timers. Todo this, following changes made:
* In arch_idle(), we check if the GPT broadcast clock
event is switched to one shot mode. If the kernel clocksource
is switched from jiffies one to GPT, then we can use GPT
as broadcast event. And switch from local timer to GPT broadcast
event before entering mx6q_wait. Otherwise, kernel will hange
if the SW jiffies clock source is used.
We call clockevents_notify to switch clock source.
* Remove the enable_wait_mode check in local timer setup.
* Always return 0 in GPT v2 timer's set_next_event routing.
All the GPTs are running in free run mode as what driver did.
So we should allow the GPT CNT register roll over to 0 when it
reaches 0xFFFFFFFF. And the next event written to compare register
can less than the current value in CNT.
If we refused to do roll over settings, the kernel will continues
to set_next_event to GPT when the next event is far away and
we return negative value. This is happend when one CPU is in idle
and no timewheel is being expired in short time.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
reason:the suspend/resume function is called twice.
Signed-off-by: b02247 <b02247@freescale.com>
|
|
Enable local timer by default. If wait mode is on,
local timer will be shutdown automatically on boot.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
After a cpufreq transition, update the clockevent's frequency
by fetching the new clock rate from the clock framework and
reprogram the next clock event.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
Signed-off-by: Colin Cross <ccross@android.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|
Add a smp_twd system clock which is simple clock
from parent of cpu_clk, and it's rate is half
of the cpu_clk.
This is used for reprograming the twd clock event
after cpu freq is changed.
Also disable local timer setup when wait mode enabled.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
For gpio IRQ which defined as device IRQ is being enabled after syscore resume
completed, this may cause the key down could not be deteced sometime.
Enabel gpio power key early irq during syscore instead of at device resume time.
Some platform like Android need to konw the power key is pressed then to
reume the other devcies
Signed-off-by: Lin Fuzhen <fuzhen.lin@freescale.com>
|
|
add uevent for wm8958 in sabresd
Signed-off-by: b02247 <b02247@freescale.com>
|
|
1. add uevent for wm8958 in sabresd
2. change the clock, clko_clk is same as cko1_clk0
Signed-off-by: b02247 <b02247@freescale.com>
|
|
Update the android defconfig for wm8958 mfd and sound driver
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
add two channels record support.
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
add wm8958 audio codec support
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
add wm8958 codec support
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
add wm8958 option in defconfig
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
Add cpu hotplug support when system entry in earlysyspend.
With this patch, when system entery in earlysuspend, it will
record the online cpus, then hotplut none-bootable cpus,
and in late resume, it will boot up the recorded hotplug cpus.
Signed-off-by: Lin Fuzhen <fuzhen.lin@freescale.com>
|
|
Add cpu hotplug support when system entry in earlysyspend.
With this patch, when system entery in earlysuspend, it will
record the online cpus, then hotplut none-bootable cpus,
and in late resume, it will boot up the recorded hotplug cpus.
Signed-off-by: Lin Fuzhen <fuzhen.lin@freescale.com>
|
|
This patch supports Vivante 2D GPU core clock
gating feature.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Acked-by: Lily Zhang <r58066@freescale.com>
|
|
- clear ddr_en bit on non ddr timing mode in platform code.
Signed-off-by: Ryan QIAN <b32804@freescale.com>
|
|
This patch removes the IPUv3 overlay framebuffer
reservation.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
When system is going to enter WAIT mode, set PLL1 to 24MHz
so that ARM is running at 24MHz.
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
|
|
issue:
if uboot is loaded from eMMC, the eMMC memory will be configured to DDR mode.
on kernel startup, it will initialize the card at SDR mode, while the register
of USDHC is still configured to DDR enable mode. Therefore, the initialization
of eMMC memory will fail.
fix:
- clear MIX_CTRL on sdhc platform init code.
- clear vselect bit of VENDOR_SPEC on sdhc platform init code.
Signed-off-by: Ryan QIAN <b32804@freescale.com>
|
|
Conflicts:
arch/arm/mach-mx6/clock.c
arch/arm/plat-mxc/devices/platform-imx-perfmon.c
drivers/usb/gadget/arcotg_udc.c
|
|
This patch removes the IPUv3 overlay framebuffer memory
reservation.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
This patch checks memory resource start address before
using the memory resource.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
This patch checks overlay fb size before reserve fb mem for
it.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
In order to reflect the function well, it needs to discharge
both dp and dm, so change the function name.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
At i.mx6x, the data line (dp and dm) are floating at device mode,
that is to say data line will be any values (0-3.6v).
So if the usb wakeup is enabled, there will be a wakeup interrupt
that causes usb to active mode.
In order to fix this problem well, we need to do below things:
- Need to discharge both dp and dm
- It needs to discharge data line when we switch to device mode and
usb cable is disconnected from the host, but not to disable discharge
after line state is SE0, the reason is that if we do not pulldown
the data line, the line state will be floating again, and possible cause
the wakeup interrupt.
- It needs to disable discharge data line when the usb cable connects at
device mode and usb device is connected at host mode, otherwise it will
affect signal quality.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
Change to discharge both dp and dm
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
It is cause by fb driver to init HDMI PHY
when HDMI driver not register.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Origin HDMI default video mode is setting to VGA.
But the HDMI will change to the vide mode setting in bootloader
command line when the first time HDMI cable plugin.
It will cause GUI sometime can't not get correct FB video mode
when system bootup without HDMI cable plugout.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Panic is due to runtime being a NULL pointer.
Signed-off-by: Alan Tull <r80115@freescale.com>
|
|
Only add for lvds1, and the edid i2c address is 0x50.
lvds0 edid i2c is conflict with HDMI edid.
Switch the ldb0/1 di interface to let fb0 initialized with LVDS1.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
Add lvds edid i2c driver support.
Create cable_state sysfs file under the i2c device dir.
Pass the i2c client device into framebuffer driver
to create sysfs link from fbx to i2c device.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|