]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoENGR00221970 MX6SL:Fix suspend/resume issue on MX6SLEVK
Ranjani Vaidyanathan [Wed, 29 Aug 2012 19:38:03 +0000 (14:38 -0500)]
ENGR00221970 MX6SL:Fix suspend/resume issue on MX6SLEVK

Make sure the Pull Ups are enabled on the DQS lines of
LPDDR2 memory. Without that its possible that the data
latched by the memory will be incorrect when exiting from
self-refresh mode. So only set the drive strengths to 0
when floating the DDR IO pads before entering suspend.

Also never float the CKE pad, this pin always needs to be
driven, else the DDR may incorrectly exit self-refresh.
Hence remove the line that was setting CKE drive strength
to zero (GRP_CTLDS).

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00221902 [MX6]Fix udelay inaccurate issue during suspend/resume
Anson Huang [Wed, 29 Aug 2012 19:10:07 +0000 (03:10 +0800)]
ENGR00221902 [MX6]Fix udelay inaccurate issue during suspend/resume

When system enter suspend, we increase CPUFreq to the highest point
without update the global loops_per_jiffy, it will lead to udelay
inaccurate during the last phase of suspend/resume.

WB counter and RBC counter need at least two 32K cycles to finish,
here we add 80us for safe.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00221867 sabresd : support adjust VDDSOC if enable LDO bypass
Robin Gong [Wed, 29 Aug 2012 08:08:01 +0000 (16:08 +0800)]
ENGR00221867 sabresd : support adjust VDDSOC if enable LDO bypass

support adjust VDDSOC if enable LDO bypass on mx6_sabresd board
Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00221716-02 Mx6 USB host: add port speed define MACRO to arc_otg.h
make shi [Wed, 29 Aug 2012 09:53:38 +0000 (17:53 +0800)]
ENGR00221716-02 Mx6 USB host: add port speed define MACRO to arc_otg.h

Add port speed define MACRO to arc_otg.h.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00221716-01 Mx6 USB host: set disconnect bit should wait for resume finished
make shi [Tue, 28 Aug 2012 09:12:07 +0000 (17:12 +0800)]
ENGR00221716-01 Mx6 USB host: set disconnect bit should wait for resume finished

For i.MX6DLTO1.1 and i.MX6DQTO1.2, the disconnection-bit can only be set after
the resume finished, otherwise, the remote-wake-up may fail. Because if the
device not switch to High-Speed 45ohm termination resistors mode, when the
disconnection  detection bit is set the disconnection detection circuit will
detect a high speed disconnection by mistake.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00182456-3 HDMI VIDEO: abort audio when unblank and plugout
Chen Liangjun [Tue, 21 Aug 2012 09:28:50 +0000 (17:28 +0800)]
ENGR00182456-3 HDMI VIDEO: abort audio when unblank and plugout

In this patch:

1. Close audio PCM stream when video unblank and plugout event happens.
2. Set HDMI cable and blank state into HDMI core driver when
plug/unplug, blank/unblank events happens.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00182456-2 HDMI AUDIO: register/unregister when audio pcm open/close
Chen Liangjun [Tue, 21 Aug 2012 09:26:24 +0000 (17:26 +0800)]
ENGR00182456-2 HDMI AUDIO: register/unregister when audio pcm open/close

In this patch:

1. Register substream into HDMI core driver when HDMI audio PCM is open.
2. Unregister substream out of HDMI core driver when HDMI audio PCM is
close.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00182456-1 HDMI: Add interface for HDMI audio management
Chen Liangjun [Tue, 21 Aug 2012 09:25:36 +0000 (17:25 +0800)]
ENGR00182456-1 HDMI: Add interface for HDMI audio management

In this patch, add support for:

1. Interface for HDMI audio to register PCM into HDMI core driver.
2. Interface for HDMI video driver to stop HDMI audio
3. Interface for HDMI video driver to inform the state of HDMI cable and
state of HDMI blank.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00221643 [MX6]Fix race condition of pfd 400 usecount
Anson Huang [Tue, 28 Aug 2012 09:43:01 +0000 (17:43 +0800)]
ENGR00221643 [MX6]Fix race condition of pfd 400 usecount

We can't modify the usecount of pfd 400M clock when ARM freq
is changed, as when the children of pfd 400M do clock enable/disable,
they will also modify this usecount, these two modification is
out of same lock protection. And this wrong usecount may lead to
pfd 400M or pll2 disabled accidently, and it will cause system hang!

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00221438 [MX6]Adjust CPU setpoint according to datasheet
Anson Huang [Sat, 25 Aug 2012 08:39:06 +0000 (16:39 +0800)]
ENGR00221438 [MX6]Adjust CPU setpoint according to datasheet

1. Adjust ARM/SOC/PU voltage according to latest datasheet;
2. Remove Rigel's 200M setpoint to align with Arik.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00221298 Fix tuner clock frequency on SSI
Alejandro Sierra [Tue, 28 Aug 2012 15:43:53 +0000 (10:43 -0500)]
ENGR00221298 Fix tuner clock frequency on SSI

Fix clock frequency configuration on SSI
interface for the Tuner driver.

Signed-off-by: Alejandro Sierra <b18039@freescale.com>
11 years agoENGR00221689 wm8962: add wait time after enable power supply
Gary Zhang [Tue, 28 Aug 2012 09:15:42 +0000 (17:15 +0800)]
ENGR00221689 wm8962: add wait time after enable power supply

add 100ms wait time after enable power supply for
power stability

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00221302 [MX6SL_ARM2/EVK]: VDDSOC adjust if use LDO bypass
Robin Gong [Mon, 27 Aug 2012 02:47:10 +0000 (10:47 +0800)]
ENGR00221302 [MX6SL_ARM2/EVK]: VDDSOC adjust if use LDO bypass

The function has been implement in LDO enable , but not in LDO bypass.
Implement it on mx6sl.
Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00221457 MX6DL clock:Set PLL3_PFD_540M to 540MHz
Liu Ying [Mon, 27 Aug 2012 05:53:50 +0000 (13:53 +0800)]
ENGR00221457 MX6DL clock:Set PLL3_PFD_540M to 540MHz

This patch sets PLL3_PFD_540M clock frequency to 540MHz
so that IPU and VPU clock can reach 270MHz.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit faf59e846f03b37c65996e58d045de8d64481283)

11 years agoENGR00221450 imx6 thermal: add sys_close() in cooling device
Rong Dian [Mon, 27 Aug 2012 03:27:06 +0000 (11:27 +0800)]
ENGR00221450 imx6 thermal: add sys_close() in cooling device

add sys_close() to close opened file in cooling device

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00221197-2 Update gpu driver to check Soc temperature
Loren HUANG [Fri, 24 Aug 2012 02:05:30 +0000 (10:05 +0800)]
ENGR00221197-2 Update gpu driver to check Soc temperature

-Update gpu driver to check the SoC temperature, if the thermal_hot flag
is set by thermal driver. GPU3D clock will be slown down to the minimum
 value, the clock will be recovery when the flag is cleared by thermal driver.
-This patch depends on ENGR00220848, without it, kernel build can't pass.

Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00221197-1 imx6 thermal: clear thermal hot variable in cooling device
Rong Dian [Thu, 23 Aug 2012 07:34:00 +0000 (15:34 +0800)]
ENGR00221197-1 imx6 thermal: clear thermal hot variable in cooling device

clear thermal hot variable in cooling device when thermal temperature
falls then to get out of THERMAL_TRIP_HOT state

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00221444 HDMI: video mode wrong when bootup without HDMI cable
Sandor Yu [Mon, 27 Aug 2012 02:25:02 +0000 (10:25 +0800)]
ENGR00221444 HDMI: video mode wrong when bootup without HDMI cable

Bootup Android without HDMI cable plugin, then plugin HDMI cable,
video mode in /sys/class/graphics/fb0/mode not same as actually
HDMI work video mode.

The root cause is in video mode point to one of video mode in
original video modelist, but the modelist will be updated when
HDMI cable plug to new monitor.
If HDMI original worked video mode can work on new monitor,
the HDMI and framebuffer will not updated, so HDMI actually
work mode not same as /sys/class/graphics/fb0/mode

Updated fbi mode pointer even if video mode no changed
in case moselist is updated, the issue will fixed.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00221445 ov5642: return error number when change camera mode
Yuxi Sun [Mon, 27 Aug 2012 01:58:30 +0000 (09:58 +0800)]
ENGR00221445 ov5642: return error number when change camera mode

return error number when set camera change mode fail, if not the
driver may continue to setup the video processing with wrong parameter.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
11 years agoENGR00221161 [MX6SL]- Add audio bus freq mode support.
Ranjani Vaidyanathan [Wed, 22 Aug 2012 18:26:11 +0000 (13:26 -0500)]
ENGR00221161 [MX6SL]- Add audio bus freq mode support.

Set DDR to 50MHz in low power audio playback.
AHB/AXI are at 24MHz.
Also fix correct usecount for PLL1 main clock. If not
it causes issues when pll1_sw_clk's parent is changed.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00221440 MX6x-Fix race-condition in checking bus_freq variables
Ranjani Vaidyanathan [Sat, 25 Aug 2012 05:14:51 +0000 (00:14 -0500)]
ENGR00221440 MX6x-Fix race-condition in checking bus_freq variables

Checking of the bus_freq variables and changing of the
bus/ddr frequency should be done under one mutex.
Else there is a race-condition that the variable changed
just after it was checked.
Also ensure that the bus freq is always increased before
the cpu freq is set to anything other than the lowest setpoint.
Else there is a possibility that the ARM is set to run from
PLL1 at higher frequency when bus/DDR are still at 24MHz.
This is dangerous since when system enters WAIT mode in
low bus freq state, PLL1 is set to bypass when ARM is being
sourced from it.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00221441 MX6SL - Update voltages based on the latest datasheet.
Ranjani Vaidyanathan [Sun, 26 Aug 2012 05:54:33 +0000 (00:54 -0500)]
ENGR00221441 MX6SL - Update voltages based on the latest datasheet.

Add a new working point table to MX6SL and set the voltages
according to the latest datasheet.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00220796-3: imx6sl arm2/evk: Add platform_device for V4L2 support
Robby Cai [Tue, 21 Aug 2012 05:46:43 +0000 (13:46 +0800)]
ENGR00220796-3: imx6sl arm2/evk: Add platform_device for V4L2 support

Add platform device for V4L2 support

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00220796-2: v4l2 imx6sl: Add V4L2 driver support
Robby Cai [Mon, 20 Aug 2012 12:26:17 +0000 (20:26 +0800)]
ENGR00220796-2: v4l2 imx6sl: Add V4L2 driver support

Add V4L2 support -- driver part.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00220796-1: pxp: Add stride configuration for some pixel format
Robby Cai [Fri, 24 Aug 2012 08:43:13 +0000 (16:43 +0800)]
ENGR00220796-1: pxp: Add stride configuration for some pixel format

Set correct PITCH (aka, stride) for AS, PS, Output buffer.
This is needed for V4L2.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00219933 CS42888: abort delay powerdown if codec is on
Chen Liangjun [Fri, 24 Aug 2012 04:32:36 +0000 (12:32 +0800)]
ENGR00219933 CS42888: abort delay powerdown if codec is on

CS42888 driver own 2 codec_dai for ESAI and ASRC P2P use. Due to the
delay power down mechanism, if a ASRC P2P stream is played right after
a finish of ESAI stream playback, ASRC P2P stream would be stop.

In this patch, do nothing in the delay powerdown flow if CS42888
codec is on.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00221203-2 IPU Device: replace BUG macro with error message
Wayne Zou [Thu, 23 Aug 2012 08:28:39 +0000 (16:28 +0800)]
ENGR00221203-2 IPU Device: replace BUG macro with error message

Replace BUG macro with error message

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00221203-1 IPU Device: Avoid release resource twice when timeout
Wayne Zou [Thu, 23 Aug 2012 06:54:46 +0000 (14:54 +0800)]
ENGR00221203-1 IPU Device: Avoid release resource twice when timeout

Avoid release resource twice when timeout happen.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00221317-02 Mx6 USB host: set stop_mode_config when any USB host enabled
make shi [Fri, 24 Aug 2012 05:53:49 +0000 (13:53 +0800)]
ENGR00221317-02 Mx6 USB host: set stop_mode_config when any USB host enabled

The Mx6 phy sometimes work abnormally after system suspend/resume if the 1V1
is off. So we should keep the 1V1 active during the system suspend if any USB
host enabled.
- Add stop_mode_config to 1 with refcount
- Add mutex to protect the refcount and HW_ANADIG_ANA_MISC0 register
- If stop_mode_config is set as 1, the otg  vbus wakeup system will be supported

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00221317-01 Mx6 USB host: set stop_mode_config when any USB host enabled
make shi [Fri, 24 Aug 2012 05:52:38 +0000 (13:52 +0800)]
ENGR00221317-01 Mx6 USB host: set stop_mode_config when any USB host enabled

MSL headfile part change.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00221277 MX6DL/S - Set AXI clock to 270MHz
Ranjani Vaidyanathan [Fri, 24 Aug 2012 03:57:50 +0000 (22:57 -0500)]
ENGR00221277 MX6DL/S - Set AXI clock to 270MHz

Change AXI_CLK to be sourced from PLL3_PFD1_540MHz, so that it
can run at 270MHz on MX6DL/S. This is required for improving
VPU performance.
Change AXI_CLK to be sourced from  periph_clk just before the DDR
freq  is going to be dropped to 24MHz/50MHz. Change it back
to PLL3_PFD1_540 when the DDR freq is back at 400MHz.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00221177 ESAI ASRC: add mutex protection between ESAI and ASRC P2P
Chen Liangjun [Thu, 23 Aug 2012 04:30:57 +0000 (12:30 +0800)]
ENGR00221177 ESAI ASRC: add mutex protection between ESAI and ASRC P2P

ESAI playback and ASRC P2P playback use difference codec_dai while using
the same codec. Thus they can't work together.

In this patch, add mutual protection between ESAI playback and ASRC P2P
playback.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00221281 [MX6X] Fix BogoMIPS value is not correct
Nancy Chen [Thu, 23 Aug 2012 21:38:48 +0000 (16:38 -0500)]
ENGR00221281 [MX6X] Fix BogoMIPS value is not correct

[MX6X] Fix BogoMIPS value is not correct

Signed-off-by: Nancy Chen <Nancy.Chen@freescale.com>
11 years agoENGR00221217 usb: device: fix usb_state incorrect problem after pc sends resume
Peter Chen [Thu, 23 Aug 2012 08:29:55 +0000 (16:29 +0800)]
ENGR00221217 usb: device: fix usb_state incorrect problem after pc sends resume

At pc sends suspend/resume case, the udc_controller->usb_state should
keep unchange during the suspend/resume process, at former code, the
fsl_udc_resume set udc_controller->usb_state to USB_STATE_ATTACHED
unconditionally. In fact, USB_STATE_ATTACHED stands for initial state
and should be set when we try to run controller.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00221131: imx6sl arm2/evk: add mma8450q accelerometer support
Robby Cai [Wed, 22 Aug 2012 13:47:59 +0000 (21:47 +0800)]
ENGR00221131: imx6sl arm2/evk: add mma8450q accelerometer support

mma8450q on E-INK DC3 boards, with i2c address 0x1c on I2C1.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00221214 MX6Q/DL SabreSD: avoid pop-noise on audio pads
Gary Zhang [Thu, 23 Aug 2012 08:04:49 +0000 (16:04 +0800)]
ENGR00221214 MX6Q/DL SabreSD: avoid pop-noise on audio pads

config audio pads to avoid pop-noise

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00221185: mmc: sdhci: change info level when data preparation is invalid
Ryan QIAN [Thu, 23 Aug 2012 05:02:29 +0000 (13:02 +0800)]
ENGR00221185: mmc: sdhci: change info level when data preparation is invalid

- invalid data preparation is a reasonable path, so no need to set to
WARNING level, change it to DEBUG level.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00221102-2 MX6Q: increase VPU frequence to 352Mhz
Robin Gong [Thu, 23 Aug 2012 03:45:22 +0000 (11:45 +0800)]
ENGR00221102-2 MX6Q: increase VPU frequence to 352Mhz

Increase VPU frequency to 352Mhz for TV box, use pll2_pfd_400M.To avoid impact
other code which assume ARM clock sourcing from pll2_pfd_400M, change cpu
setpoint of 396M to 352M. and disable bus freq adjust.
add CONFIG_MX6_VPU_352M to choose it, default is disabled.
Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00221102-1 MX6Q: increase VPU frequence to 352Mhz
Robin Gong [Thu, 23 Aug 2012 03:43:45 +0000 (11:43 +0800)]
ENGR00221102-1 MX6Q: increase VPU frequence to 352Mhz

Increase VPU frequency to 352Mhz for TV box, use pll2_pfd_400M.To avoid impact
other code which assume ARM clock sourcing from pll2_pfd_400M, change cpu
setpoint of 396M to 352M. and disable bus freq adjust.
add CONFIG_MX6_VPU_352M to choose it, default is disabled.

Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00221164 usb: device: fix calling mutex at atomic environment
Peter Chen [Thu, 23 Aug 2012 02:49:12 +0000 (10:49 +0800)]
ENGR00221164 usb: device: fix calling mutex at atomic environment

Move spin_unlock_irqrestore to avoid calling mutex at atomic
environment, as dr_wake_up_enable will call mutex_lock

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00220989 [MX6SL]: DDR Controller measure unit workaround
Nancy Chen [Tue, 21 Aug 2012 21:07:49 +0000 (16:07 -0500)]
ENGR00220989 [MX6SL]: DDR Controller measure unit workaround

[MX6SL]MMDC: DDR Controller's measure unit may return an incorrect
value when operating below 100 MHz

Signed-off-by: Nancy Chen <Nancy.Chen@freescale.com>
11 years agoENGR00220538 HDMI: Clock mismatch in suspend&resume when video playback
Sandor Yu [Wed, 22 Aug 2012 02:57:50 +0000 (10:57 +0800)]
ENGR00220538 HDMI: Clock mismatch in suspend&resume when video playback

In suspend/resume and HDMI plugin/plugout stress test,
sometimes fbcon will call fb_set_par with
parameter fb_var_screeninfo that xres anfd yres is zero.
MX frame buffer driver can not correct handle this casue,
it will cause IPU pixel clock gating/ungating mismatch.

Check fb_var_screeninfo parameter in mxcfb_check_var and
mxcfb_set_par function, returned if xres,yres zero.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00220696 [MX6SL]-Reduce IDLE mode power consumption.
Ranjani Vaidyanathan [Wed, 8 Aug 2012 19:56:15 +0000 (14:56 -0500)]
ENGR00220696 [MX6SL]-Reduce IDLE mode power consumption.

When ARM enters WFI in low power IDLE state, float the DDR
IO pins to drop the power on the VDDHIGH rail.
Need to run WFI code from IRAM since DDR needs to be
put into self-refresh before changing the IO pins.
Drop AHB to 8MHz and DDR to 1MHz when ARM is in WFI when
in IDLE state.
Set IPG_PERCLK to run at 3MHz, since we want to maintain a
1:2.5 ratio between PERCLK to AHB_CLK.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00221012 IPU: Clean up dead code
Wayne Zou [Wed, 22 Aug 2012 02:22:42 +0000 (10:22 +0800)]
ENGR00221012 IPU: Clean up dead code

IPU: Clean up dead code

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00219601-02: mmc: sdhci: revise pre_req & post_req to improve performance
Ryan QIAN [Tue, 7 Aug 2012 06:21:11 +0000 (14:21 +0800)]
ENGR00219601-02: mmc: sdhci: revise pre_req & post_req to improve performance

Test Env:
1. MX6DL SabreSD board.
2. On board eMMC (Sandisk: SDIN5C2-8G) running at 8-bit DDR @ 52MHz.
3. Test commands:
  3.1 Writing command:
  # dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=100 conv=fsync
  3.2 Reading command:
  # echo 1 > /proc/sys/vm/drop_caches
  # echo 1 > /proc/sys/vm/drop_caches
  # sleep 1
  # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=100

Performance result with this patch:
-------------------------------------------------------
| CPU freq | SDMA (512KB) | SDMA (64KB) |    ADMA     |
|----------+--------------+-------------+-------------|
|   1Ghz   |  ~11MB/s (w) | ~5MB/s (w)  | ~11MB/s (w) |
|          |  ~25MB/s (r) | ~25MB/s (r) | ~23MB/s (r) |
|----------+--------------+-------------+-------------|
|  200Mhz  |  ~8MB/s (w)  | ~5MB/s (w)  | ~9MB/s (w)  |
|          |  ~16MB/s (r) | ~20MB/s (r) | ~13MB/s (r) |
-------------------------------------------------------

Performance result without this patch:
-------------------------------------------------------
| CPU freq | SDMA (512KB) | SDMA (64KB) |    ADMA     |
|----------+--------------+-------------+-------------|
|   1Ghz   |  ~10MB/s (w) | ~5MB/s (w)  | ~10MB/s (w) |
|          |  ~22MB/s (r) | ~23MB/s (r) | ~22MB/s (r) |
|----------+--------------+-------------+-------------|
|  200Mhz  |  ~8MB/s (w)  | ~4MB/s (w)  | ~8MB/s (w)  |
|          |  ~13MB/s (r) | ~16MB/s (r) | ~11MB/s (r) |
-------------------------------------------------------

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00219601-01: mmc: queue: enlarge the size of bounce buffer for SDMA.
Ryan QIAN [Thu, 2 Aug 2012 01:46:53 +0000 (09:46 +0800)]
ENGR00219601-01: mmc: queue: enlarge the size of bounce buffer for SDMA.

- set bounce buffer to 512KB from 64K, which is hw max seg size for
fsl sd host controller
- by enlarging the size of bounce buffer, it will reduce the number
of irq on writing by merging small requests into a large one, which
will improve writing throughput.
- the side effect is that the reading throughput of 512KB bounce buffer
is lower than the one of 64KB bounce buffer, when cpu freq is at 200Mhz.

Test Env:
1. MX6DL SabreSD board
2. On board eMMC (Sandisk: SDIN5C2-8G) running at 8-bit DDR @ 52Mhz
3. Test commands:
  3.1 Writing test command:
  # dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=100 conv=fsync
  3.2 Reading test command:
  # echo 1 > /proc/sys/vm/drop_caches
  # echo 1 > /proc/sys/vm/drop_caches
  # sleep 1
  # dd if=/dev/mmcblk0 of=/dev/null bs=1M count=100

Performance result:
-------------------------------------------------------
| CPU freq | SDMA (512KB) | SDMA (64KB) |    ADMA     |
|----------+--------------+-------------+-------------|
|   1Ghz   |  ~10MB/s (w) | ~5MB/s (w)  | ~10MB/s (w) |
|          |  ~22MB/s (r) | ~23MB/s (r) | ~22MB/s (r) |
|----------+--------------+-------------+-------------|
|  200Mhz  |  ~8MB/s (w)  | ~4MB/s (w)  | ~8MB/s (w)  |
|          |  ~13MB/s (r) | ~16MB/s (r) | ~11MB/s (r) |
-------------------------------------------------------

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00220734 IPUv3 fb:Rewind eof irq sync mechanism back
Liu Ying [Mon, 20 Aug 2012 05:59:40 +0000 (13:59 +0800)]
ENGR00220734 IPUv3 fb:Rewind eof irq sync mechanism back

This patch changes to use original sync mechanism for eof
irq, which may improve pan-display or alpha buffer update
performance.
1) Initialize flip_completion and alpha_flip_completion
only once when fb is initialized instead of initializing
it every time when pan display is called.
2) Clear and enable eof irq after selecting buffer ready.
In this way, we have no chance to lose an interrupt, as
selecting a new buffer ready doesn't make the eof irq
come(from the newly selected buffer) before we clear the irq
status and enable the irq. Otherwise, if we clear the irq
status and enable the irq before we doing down in pan-display
or alpha buffer update, we have chance(users call pan-display or
alpha buffer update faster than vsync frequency and blocks at
down()) to clear an unhandled irq, which may cause performance
issue.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 67c2bd5edef363412a074e9b4130b5207dac8a7f)

11 years agoENGR00220776 mx6dl_arm2: ECSPI pin config overlaped by epdc
Robin Gong [Mon, 20 Aug 2012 11:24:28 +0000 (19:24 +0800)]
ENGR00220776 mx6dl_arm2: ECSPI pin config overlaped by epdc

ECSPI pin MX6DL_PAD_EIM_D17__ECSPI1_MISO is configured overlap by epdc
MX6DL_PAD_EIM_D17__GPIO_3_17, so that SPI-NOR flash can't work normally.
From schematic of ARM2 board, epdc and spi share this pin if plug epdc
daughter board. But SPI-NOR is on ARM2 mother board, so it should be config
well firstly. So we make sure SPI-NOR work successfully by default. But if
enable epdc , SPI-NOR on ARM2 will work fail.

Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00220913 LDB: disable LDB DI clock when suspend
Wayne Zou [Mon, 20 Aug 2012 04:50:12 +0000 (12:50 +0800)]
ENGR00220913 LDB: disable LDB DI clock when suspend

Disable LDB DI clock when suspend.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00179425 HDMI: Sometime HDMI EDID read failed
Sandor Yu [Tue, 21 Aug 2012 08:49:28 +0000 (16:49 +0800)]
ENGR00179425 HDMI: Sometime HDMI EDID read failed

EDID read will failed sometimes on some boards.
Read EDID twice if first one failed.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00220833 mx6sl: USB hsic: enable mx6sl hsic function
make shi [Tue, 21 Aug 2012 09:51:18 +0000 (17:51 +0800)]
ENGR00220833 mx6sl: USB hsic: enable mx6sl hsic function

- Set MX6SL_PAD_HSIC_DAT and MX6SL_PAD_HSIC_STROBE pad DDR attribute as DDR3
- Add imx6sl_add_fsl_ehci_hs and imx6sl_add_fsl_usb2_hs_wakeup in usb_h2.c

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00220884 uart: quit the early uart console as late as possible
Huang Shijie [Tue, 21 Aug 2012 08:21:41 +0000 (16:21 +0800)]
ENGR00220884 uart: quit the early uart console as late as possible

If we use the late_initcall(), then there is a time slot between
the exit of early uart console and the real console:

      -->late_initcall(mxc_early_uart_console_disable)
......
      -->imx_startup()

In this time slot, the clock will be closed, so the log printed during
the time slot is buffered, this is why we can not see the NFS's log.

Change the late_initcall() to late_initcall_sync() which eliminates the
time slot.

Signed-off-by: Huang Shijie <b32955@freescale.com>
11 years agoENGR00220370 [MX6]Fix BUS freq suspend/resume fail in low bus mode
Anson Huang [Sat, 18 Aug 2012 17:12:59 +0000 (01:12 +0800)]
ENGR00220370 [MX6]Fix BUS freq suspend/resume fail in low bus mode

1. BUS freq's set low bus setpoint using delat work, which
didn't have mutex lock, so in some scenarios, set high bus
freq function can be called at the same time, we need to move
mutex lock into these two routine;

2. Using pm notify to make sure bus freq set to high setpoint
before supend and restore after resume.

3. Clear build warning.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00220848 imx6 thermal: export thermal hot variable for GPU
Rong Dian [Tue, 21 Aug 2012 07:07:42 +0000 (15:07 +0800)]
ENGR00220848 imx6 thermal: export thermal hot variable for GPU

export thermal hot variable for GPU

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00220794 imx6 thermal: add suspend and resume for thermal_sys class
Rong Dian [Mon, 20 Aug 2012 12:23:00 +0000 (20:23 +0800)]
ENGR00220794 imx6 thermal: add suspend and resume for thermal_sys class

1.Avoiding system wrong reboot caused by error temperature without
cancel_delayed_work before entering into suspend,so to cancel
thermal_zone_device temperature polling temperature delayed_work
before entering into suspend, reenable polling temperature delayed_work
after entering into resume.
2.In anatop_thermal_suspend, turn off alarm firstly

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00218789 mx6: clock: keep PLL3 enable and power bit all the time
make shi [Tue, 14 Aug 2012 07:02:00 +0000 (15:02 +0800)]
ENGR00218789 mx6: clock: keep PLL3 enable and power bit all the time

In order to support USB remote wake up, we should keep the PLL3 enable
and power bit all the time. We use BM_ANADIG_ANA_MISC2_CONTROL0 to control
the PLL3 power off PLL3's power when PLL3 is not used by other module.

PLL3 power design logic as below:
usb1_pll_480_ctrl_power_int=hw_anadig_usb1_pll_480_ctrl_power && ((disable_480_p
ll_n && ~hw_anadig_ana_misc2_control0 )||pwrctl_otg_wakeup || utmi_otg_suspendm)
There are two basic case:
- If USB is active and USB remote wakeup happen , Pll3 will be turn on.
- If USB is not active and no remote wakeup happen, the PLL3 will be controlled
  by hw_anadig_ana_misc2_control0 bit.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00220818 [MX6SL] - Ensure the Enable bit is set for all the PLLs.
Ranjani Vaidyanathan [Mon, 20 Aug 2012 18:35:07 +0000 (13:35 -0500)]
ENGR00220818 [MX6SL] - Ensure the Enable bit is set for all the PLLs.

The ENABLE bit is not set for all PLLs by default. Ensure
that the pll_enable() function sets this bit for all PLLs.
The pll_disable() function should not clear this bit
for PLL1, PLL2, PLL3 and PLL7. The output of these PLLs
maybe used even if they are bypassed.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00217687 [MX6SL_ARM2/EVK] Fix no perfmon directory
Eric Sun [Mon, 20 Aug 2012 12:51:25 +0000 (20:51 +0800)]
ENGR00217687 [MX6SL_ARM2/EVK] Fix no perfmon directory

The problem is caused because the board init routine don't add the
corresponding device node. Problem resolved after add them

Signed-off-by: Eric Sun <jian.sun@freescale.com>
11 years agoENGR00220732-1 Remove clk_disable in VPU driver interrupt handling
Hongzhang Yang [Mon, 20 Aug 2012 08:11:21 +0000 (16:11 +0800)]
ENGR00220732-1 Remove clk_disable in VPU driver interrupt handling

Original design is VPU lib API StartOneFrame() enables clock, and VPU
driver disables clock after codec done interrupt has been received.
However there are known issues of interrupt handling as below:
- VPU interrupt handling callback is not scheduled in time causing work
  queue overflow
- JPU done interrupt is not received because JPU issues it while JPU
  buffer empty interrupt is still being served
- VPU finishes a frame (!vpu_IsBusy) but VPU done interrupt is not
  received

All above will cause clk_disable in interrupt handling not called,
thus VPU clock count increases by 1.
So I plan to resolve clock unbalance issue first by removing
clk_disable from VPU driver interrupt handling. Interrupt problem
will not affect clock issue any longer.

1.    Driver: remove clk_disable from vpu_worker_callback
2.1.  Lib: remove clk_enable from API GetOutputInfo
2.2.  Lib: avoid disabling VPU clock when VPU is busy in SWReset
3.    Test: replace GetOutputInfo with SWReset in decoder_close /
      encoder_close

Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
11 years agoENGR00220567 [MX6 SABRELite] No mxs-perfmon.0 directory
Eric Sun [Mon, 20 Aug 2012 06:05:59 +0000 (14:05 +0800)]
ENGR00220567 [MX6 SABRELite] No mxs-perfmon.0 directory

The problem is caused because "mx6_sabrelite_board_init" don't add the
corresponding device node. Problem resolved after add them.

Signed-off-by: Eric Sun <jian.sun@freescale.com>
11 years agoENGR00220446 ESAI: channel swapped occasionally when playing stereo wav
Lionel Xu [Fri, 17 Aug 2012 08:06:32 +0000 (16:06 +0800)]
ENGR00220446 ESAI: channel swapped occasionally when playing stereo wav

There is channel swap happened when playing stereo wav. According to the spec,
the initial words should be written to the ETDR register, at least one word
per enabled transmitter slot, to avoid any potential problem.

Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
11 years agoENGR00220707 MX6Q/MX6DL: Fix build break due to MX6SL LPM code
Ranjani Vaidyanathan [Sat, 18 Aug 2012 15:07:20 +0000 (10:07 -0500)]
ENGR00220707 MX6Q/MX6DL: Fix build break due to MX6SL LPM code

Fix build break due to missing extern.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00220706 IPU Add more timeout when wait for the csi end of frame
Yuxi Sun [Sat, 18 Aug 2012 06:43:26 +0000 (14:43 +0800)]
ENGR00220706 IPU Add more timeout when wait for the csi end of frame

If this timeout is too small, it can't meet the require of some large
frame such as 2592x1944 and 1080p, and the IDMAC maybe in a chaotic
state, so at last access some invalid space caused the system hang.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
11 years agoENGR00220705 v4l2 overlay: Cancel the work structure schedule at overlay stop
Yuxi Sun [Sat, 18 Aug 2012 05:16:44 +0000 (13:16 +0800)]
ENGR00220705 v4l2 overlay: Cancel the work structure schedule at overlay stop

Add flush_work_sync and cancel_work_sync at the overlay stop to
prevent moving data by DMA even when the space of those data address
is freed.

Signed-off-by: Yuxi Sun <b36102@freescale.com
11 years agoENGR00220496 MX6SL:Add low power IDLE mode optimizations.
Ranjani Vaidyanathan [Thu, 26 Jul 2012 18:53:28 +0000 (13:53 -0500)]
ENGR00220496 MX6SL:Add low power IDLE mode optimizations.

Add support for DDR freq change code in IRAM.
Change PLL2 to bypass mode so that DDR is running off 24MHz OSC
directly.
ARM is now sourced from PLL1 (running at 800MHz) in this mode.
This is required for the next step in IDLE mode optmization
where all PLLs will be disabled when ARM enters WFI.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00220440 Mx6:USB device: clear OWIE before phy out of low power mode
make shi [Thu, 16 Aug 2012 07:44:11 +0000 (15:44 +0800)]
ENGR00220440 Mx6:USB device: clear OWIE before phy out of low power mode

There is a limitation on mx6 phy low power flow. During phy enter low power mode
and out of low power mode with OWIE bit active,there will be abnormal usb wakeup
interrupt happen. So we should clear OWIE bit before phy out of low power mode.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00220633 WM8962: add support for wm8962 in mx6sl evk
Gary Zhang [Fri, 17 Aug 2012 02:46:22 +0000 (10:46 +0800)]
ENGR00220633 WM8962: add support for wm8962 in mx6sl evk

add support for audio codec wm8962 in mx6sololite evk board

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00219926-2 ASRC: use PAIR B for ASRC ideal ratio convert
Chen Liangjun [Thu, 16 Aug 2012 11:31:49 +0000 (19:31 +0800)]
ENGR00219926-2 ASRC: use PAIR B for ASRC ideal ratio convert

When use ASRC ideal ratio mode for convert, PAIR C can't work properly.
However, when use PAIR C for internal ratio mode or non ratio mode
convert, it can work properly.

In this patch, Use PAIR B for 6 channel convert as a workaround.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00219926-1 ESAI ASRC: use ideal ratio for ASRC P2P playback
Chen Liangjun [Thu, 16 Aug 2012 11:20:51 +0000 (19:20 +0800)]
ENGR00219926-1 ESAI ASRC: use ideal ratio for ASRC P2P playback

When use no ideal-ratio mode for ESAI playback, CPU should provide
accurate clock for input clock, which means input clock should be
divided by input sample rate. However, all our clock is from 24M crystal
and if the input sample rate equal to 44.1k or so, CPU can't provide
these clock.

In this patch, use ideal ratio mode thus CPU need not provide accurate
clock which can be divided by 44.1k.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00220595 ESAI ASRC: add support for 'aplay *'
Chen Liangjun [Thu, 16 Aug 2012 13:11:46 +0000 (21:11 +0800)]
ENGR00220595 ESAI ASRC: add support for 'aplay *'

When play audio in the way of aplay *, shutdown function would not be
called and ASRC configuration would not be reconfigured. In this case,
playback would sound noise.

In this patch, put ASRC release operation into hw_free().

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00220027-2 mx6sl: add pad ctrl for audmux iomux setting
Gary Zhang [Thu, 16 Aug 2012 08:21:25 +0000 (16:21 +0800)]
ENGR00220027-2 mx6sl: add pad ctrl for audmux iomux setting

for avoiding pop-noise adn setting audmux pad to 1.8v on evk,
add pad ctrl for audmux iomux setting

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00220027-1 IOMUX: add api for special pad bits configuration
Gary Zhang [Thu, 16 Aug 2012 07:36:36 +0000 (15:36 +0800)]
ENGR00220027-1 IOMUX: add api for special pad bits configuration

Original pad configuration does not provide enough bitfield width
to config some bits, such as LVE bit and DDR_SEL bits.
like gpr configuration, add a api to implement these special
bits pad configuration, and user may call this api in board file.

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00219931 ESAI ASRC: fix channel swap bug while playback 6 channel
Chen Liangjun [Thu, 16 Aug 2012 09:14:37 +0000 (17:14 +0800)]
ENGR00219931 ESAI ASRC: fix channel swap bug while playback 6 channel

Channel swap caused by 2 reason:

1. To avoid ASRC underflow error, ASRC driver would prefill ASRC input
FIFO with 160 samples. However, 160 can't be divided by 6. In this case,
channel data miss alignment. In this patch, prefill ASRC input
FIFO with 120, which can be divided by 2,4,6,8.

2. While start P2P playback, ESAI driver would first start SDMA, then
ASRC, and last ESAI. While start ESAI, the data is not ready, thus ESAI
underrun would happens and channel data miss alignment. In this patch,
delay 1 ms between ASRC's start and ESAI's start.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00220341-3 usb: add spin_lock at platform data
Peter Chen [Tue, 14 Aug 2012 07:37:42 +0000 (15:37 +0800)]
ENGR00220341-3 usb: add spin_lock at platform data

It is used to sync pdata->lowpower between wakeup interrupt
and driver API.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00220341-2 usb: add spin_lock_irqsave protect for pdata->lowpower
Peter Chen [Tue, 14 Aug 2012 07:35:32 +0000 (15:35 +0800)]
ENGR00220341-2 usb: add spin_lock_irqsave protect for pdata->lowpower

pdata->lowpower may be accessed at two drivers together, assumed
the situation that host/device set phy to low power mode but
still not set the flag lowpower, at this time the wakeup occurs, as
the flag lowpower is still not set, the interrupt will be infinite loop
as no one will serve it.

This commit is for driver code and add protect at driver.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00220341-1 usb: add spin_lock_irqsave protect for pdata->lowpower
Peter Chen [Tue, 14 Aug 2012 07:16:49 +0000 (15:16 +0800)]
ENGR00220341-1 usb: add spin_lock_irqsave protect for pdata->lowpower

pdata->lowpower may be accessed at two drivers together, assumed
the situation that host/device set phy to low power mode but
still not set the flag lowpower, at this time the wakeup occurs, as
the flag lowpower is still not set, the interrupt will be infinite loop
as no one will serve it.

This commit is for MSL code and add protect at wakeup interrupt.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00220512-2: mx6sl evk: keep NVCC_1V8 and NVCC_1.2V always on
Robby Cai [Thu, 16 Aug 2012 07:14:19 +0000 (15:14 +0800)]
ENGR00220512-2: mx6sl evk: keep NVCC_1V8 and NVCC_1.2V always on

Keep the corresponding rail of pfuze: VGEN4 and VGEN1 "always on".
It's required for any IO pad configured as this voltage.
It has to be always on, even in DSM mode.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00220512-1: mx6sl evk: change wm8962 codec 1.8V power source to VGEN3
Gary Zhang [Thu, 16 Aug 2012 06:25:39 +0000 (14:25 +0800)]
ENGR00220512-1: mx6sl evk: change wm8962 codec 1.8V power source to VGEN3

Adjust pfuse settings for wm8962

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00220388 [MX6]Adjust SOC/PU voltage according to datasheet
Anson Huang [Wed, 15 Aug 2012 18:45:11 +0000 (02:45 +0800)]
ENGR00220388 [MX6]Adjust SOC/PU voltage according to datasheet

SOC/PU voltage need to following some rules according to latest
datasheet:

1. SOC/PU CAP voltage must be 1.15V <= SOC/PU <= 1.3V;
2. SOC and PU must be same as they don't have level shift;
3. Adjust previous wrong voltage setting.

If SOC/PU voltage is too low, may cause system crash on some
chips, we have a board that easily crash with GPU working and
doing some tar operation, with this voltage adjust, this issue
fixed.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00220497 [MX6Q, MX6DL]: Fix not able to set high bus freq
Nancy Chen [Thu, 16 Aug 2012 01:53:15 +0000 (20:53 -0500)]
ENGR00220497 [MX6Q, MX6DL]: Fix not able to set high bus freq

Fix not able to set high bus frequency from low bus frequency.

Signed-off-by: Nancy Chen <Nancy.Chen@freescale.com>
11 years agoENGR00219872-2 MX6Q SabreSD:Disable LVDS CABC function
Liu Ying [Tue, 14 Aug 2012 10:36:38 +0000 (18:36 +0800)]
ENGR00219872-2 MX6Q SabreSD:Disable LVDS CABC function

This patch sets CABC_EN0/1 to low to disable LVDS panel
CABC function so that LVDS backlight will not be turned
by the LVDS panel automatically so that we may avoid
annoying unstable backlight issue.

Signed-off-by: Rong Dian <b38775@freescale.com>
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit a169940fb39216e644018304e3a3bdaca61ea88a)

11 years agoENGR00219872-1 MX6Q Sabresd iomux:Add LVDS CABC_EN0/1 support
Liu Ying [Tue, 14 Aug 2012 10:33:45 +0000 (18:33 +0800)]
ENGR00219872-1 MX6Q Sabresd iomux:Add LVDS CABC_EN0/1 support

This patch configures NANDF_CS2/3 to be GPIO_6_15/16 to
support LVDS CABC_EN0/1.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit fdff66991738a56a7e1bc735cf452d57f1771c13)

11 years agoENGR00220161: imx6sl: Add EVK board Support
Robby Cai [Mon, 13 Aug 2012 08:12:31 +0000 (16:12 +0800)]
ENGR00220161: imx6sl: Add EVK board Support

- Copied the board file from ARM2, and consolidated the pinmux setting.
- Added a new pmic file for EVK.
- Added a new mach type.
- Added board_is_mx6sl_evk() API for late use if needed.
- Updated the defconfig

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00219859 MXC V4L2 capture:Pwr down/on opened cam
Liu Ying [Fri, 10 Aug 2012 10:08:42 +0000 (18:08 +0800)]
ENGR00219859 MXC V4L2 capture:Pwr down/on opened cam

Currently, we support 2 cameras, which are relevant to
2 video devices respectively. This patch checks if video
device is opened to determine whether we need to power
down/on relevant camera when doing suspend/resume.
Also, this patch protects capture resources with busy
lock semaphore.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 874198b89a89aa6e792754a0a51c46084ed93d1a)

11 years agoENGR00219856-2 mxc pwm: do pwm software reset after disable
Xinyu Chen [Wed, 15 Aug 2012 05:36:24 +0000 (13:36 +0800)]
ENGR00219856-2 mxc pwm: do pwm software reset after disable

When android doing suspend/resume, we may meet the issue of
backlight is not on (pwm pin no signal) after system wakeup.
The root cause is PWM sample can not be set into the PWMSAR
register after pwm being used and disabled for a while.
The value read back after write is 0 when this issue happens.

Do a software reset after pwm disable can resolve this
issue, this makes sure the next sample update is correct.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
11 years agoENGR00219856-1 mx6q sabresd: add debounce to gpio key
Xinyu Chen [Wed, 15 Aug 2012 05:32:06 +0000 (13:32 +0800)]
ENGR00219856-1 mx6q sabresd: add debounce to gpio key

Add a 1ms debounce to the gpio key to avoid
unexpected gpio status read from gpio_key driver's
workqueue. This issue happens on android's resume stage,
sometimes the framework get more than one up key even
user press the power key once.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
11 years agoENGR00220176 sabrelite ov5642: Fix ov5642 probe fail
Yuxi Sun [Wed, 15 Aug 2012 03:10:06 +0000 (11:10 +0800)]
ENGR00220176 sabrelite ov5642: Fix ov5642 probe fail

Add ov5642 power down function in the board initial file

Signed-off-by: Yuxi Sun <b36102@freescale.com>
11 years agoENGR00180117 HDMI: No audio output in 1080P on some TV
Sandor Yu [Tue, 14 Aug 2012 12:14:17 +0000 (20:14 +0800)]
ENGR00180117 HDMI: No audio output in 1080P on some TV

Some TV support specific video mode that different with
CEA standard, and it's pixel clock not comply CEA standard.
But audio configuration paramter N and CTS should follow CEA standard.
So audio may not work in these specific video mode.
Filter video mode get from EDID, only keep standard CEA video mode
in the modelist.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00220297 [MX6SL]: Fix AHB clock not correct after kernel boot
Nancy Chen [Tue, 14 Aug 2012 14:49:05 +0000 (09:49 -0500)]
ENGR00220297 [MX6SL]: Fix AHB clock not correct after kernel boot

1. Fix AHB_CLK is not right after system up. ahb_clk is 49.5MHz
after system up. It should be 132MHz.
2. Remove the voltage changes for VDDSOC_CAP since there are vddarm
voltage changed in CPUFREQ and vddsoc voltage and vddarm voltage
should meet the constraint condition: VDDSOC > VDDARM - 50mV. Therefore
VDDSOC voltage changes will be implemented in CPUFREQ.

Signed-off-by: Nancy Chen <Nancy.Chen@freescale.com>
11 years agoENGR00219898 imx6 battery: fix coulomb data for power down system
Rong Dian [Tue, 14 Aug 2012 06:54:49 +0000 (14:54 +0800)]
ENGR00219898 imx6 battery: fix coulomb data for power down system

fix battery coulomb data for power down system ,define low battery
voltage for power down system is 3.42V

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00220340 mx6sl pfuze: keep NVCC_1V8 and NVCC_1.2V always on
Robin Gong [Tue, 14 Aug 2012 07:27:27 +0000 (15:27 +0800)]
ENGR00220340 mx6sl pfuze: keep NVCC_1V8 and NVCC_1.2V always on

1. Keep the corresponding rail of pfuze:VGEN4 and VGEN1 "always on".
2. mx6sl enable LDO bypass default, which can't including adjust soc
 and pu regulator. To support old LDO bypass code, need check soc_regulator
 and pu_regulator, otherwise, system will crash.

Signed-off-by: Robin Gong <b38343@freescale.com>
11 years agoENGR00220199 Add CPU governor trigger for GPU2D and GPUVG core
Richard Liu [Tue, 14 Aug 2012 06:08:29 +0000 (14:08 +0800)]
ENGR00220199 Add CPU governor trigger for GPU2D and GPUVG core

Add CPU governor trigger for GPU2D and GPUVG core, without these trigger
some benchmark show performance drop when enable CPU governor

Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00217918 - mx6 cpufreq : Add on-demand governor's threshold for FEC
Fugang Duan [Fri, 10 Aug 2012 07:50:24 +0000 (15:50 +0800)]
ENGR00217918 - mx6 cpufreq : Add on-demand governor's threshold for FEC

Add on-demand governor's threshold for FEC to improves performance.
i.mx6q TO1.1 tx throughput only is 64Mbps in 100Mbps mode on sabresd
platform, after the change, the throughput can reach to 95Mbps for tx.

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00219173 V42L overlay Add back ground overlay support
Yuxi Sun [Fri, 10 Aug 2012 05:52:32 +0000 (13:52 +0800)]
ENGR00219173 V42L overlay Add back ground overlay support

Add back ground overlay support based on ipu device driver.
Default using this driver instead of prp_vf driver for back
ground overlay. when want using prp_vf back ground overlay,
unselect ipu deviece overlay drivers and choose to build
related driver as build-in.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
11 years agoENGR00216786-3 V4L2 output: Allocate DMA buffer from DMA zone
Wayne Zou [Mon, 13 Aug 2012 07:26:23 +0000 (15:26 +0800)]
ENGR00216786-3 V4L2 output: Allocate DMA buffer from DMA zone

Allocate DMA buffer from DMA zone, and the system can configure reserve dma
size through proc fs file under /proc/sys/vm/lowmem_reserve_ratio.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00216786-2 IPU/FB: Allocate DMA buffer from DMA zone
Wayne Zou [Mon, 13 Aug 2012 07:25:12 +0000 (15:25 +0800)]
ENGR00216786-2 IPU/FB: Allocate DMA buffer from DMA zone

Allocate DMA buffer from DMA zone, and the system can configure reserve dma
size through proc fs file under /proc/sys/vm/lowmem_reserve_ratio.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00216786-1 IPU: Allocate DMA buffer from DMA zone.
Wayne Zou [Mon, 13 Aug 2012 07:17:24 +0000 (15:17 +0800)]
ENGR00216786-1 IPU: Allocate DMA buffer from DMA zone.

Allocate DMA buffer from DMA zone, and the system can configure reserve dma zone
size through proc fs file under /proc/sys/vm/lowmem_reserve_ratio.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00220172 ESAI ASRC: put all asrc pair release operation to shutdown()
Chen Liangjun [Sun, 12 Aug 2012 15:03:01 +0000 (23:03 +0800)]
ENGR00220172 ESAI ASRC: put all asrc pair release operation to shutdown()

When use ASRC for ESAI P2P playback, ESAI driver would release ASRC pair
resource immediately after ASRC function's error return.It may
introduce risk that in ESAI machine driver's shutdown(), ASRC resource
release operation may be double called. In this case, system hang
happens due to ASRC register's operation with no clock.

In this patch, let all ASRC resource release operation in ESAI machine
driver's shutdown().

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00220181-2 HDMI SDMA: workround for HDMI SDMA audio no sound issue
Chen Liangjun [Sat, 11 Aug 2012 07:36:20 +0000 (15:36 +0800)]
ENGR00220181-2 HDMI SDMA: workround for HDMI SDMA audio no sound issue

Issue: When playback HDMI audio in SDMA stress test, HDMI audio may stop
caused by SDMA channel's failing to work. While checking the SDMA register
and HDMI module stauts, we found that SDMA fall to an unknown error state.
The issue is detected both in RIGEL TO1.1 and ARIK TO1.2.

This patch introduces a workround for this issue: For the memory passed
to SDMA core, HDMI driver would allocate it with the attribute of C=0,
B=0 instead of C=0, B=1. This patch have be tested in RIGEL TO1.1 for
about 60 hours, no issue happens.

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00220181-1 DMA: remove noncacheable memory allocation limit.
Chen Liangjun [Mon, 13 Aug 2012 07:52:19 +0000 (15:52 +0800)]
ENGR00220181-1 DMA: remove noncacheable memory allocation limit.

DMA interface dma_alloc_noncacheable() is only used by USB. HDMI audio
driver also need the interface to allocate C=0 B=0 type memory.

In this patch, remove MACRO limitation and make dma_alloc_noncacheable()
common code for other modules.

Signed-off-by: Chen Liangjun <b36089@freescale.com>