]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoENGR00212992 usb: fix potential bug with fast plug in/out with usb charger
Peter Chen [Mon, 11 Jun 2012 06:31:20 +0000 (14:31 +0800)]
ENGR00212992 usb: fix potential bug with fast plug in/out with usb charger

- Move imx_usb_vbus_disconnect to work queue, and wait or cancel
charger detect worker when vbus is disconnected if charger detect
worker still hasn't finished.
- Move pull down dp from imx_usb_vbus_disconnect to udc vbus
disconnect interrupt handler, the reason is udc->gadget.speed should
to be updated at that ISR.
- Select POWER_SUPPLY if USB_GADGET_ARC is configured to fix the build
error for manufacture tools firmware's build.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00212232-02 USB:fix otg can not work without phy power if VBUS removed
make shi [Mon, 4 Jun 2012 08:28:33 +0000 (16:28 +0800)]
ENGR00212232-02 USB:fix otg can not work without phy power if VBUS removed

- There is no VBUS supply or not supply for USBPHY power 3p0,the USB mouse
  enumeration fail during the board booting with a USB mouse connected to
  otg port.During system booting ,some error message appear like below :
  "usb 1-1: device not accepting address 5, error -71
  hub 1-0:1.0: unable to enumerate USB device on port 1"
  The otg phy power is needed during normal USB transmitting ,the otg phy
  power should be on  before calling the usb_add_hcd. So should make sure
  usb_add_hcd is called after otg_set_host is called in usb_hcd_fsl_probe().
- Before switch the otg mode form Host mode to Device mode,we must call
  dr_discharge_line() to make sure no abnormal usb wakeup interrupt happen.
- Some user case ,the BM_USBPHY_CTRL_ENHOSTDISCONDETECT bit is cleared by
  mistake. For example,the otg port connect a extern USB hub and a USB device
  connected to the USB hub.Unplug the USB device,the Hub will enter auto suspend
  mode,then plug in the device, hub will auto resume by the device plug in ,the
  BM_USBPHY_CTRL_ENHOSTDISCONDETECT bit is cleared by mistake.So the function
  platform_set_disconnect_det() should be called after usb_disconnect.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00212232-01 USB:fix otg can not work without phy power if VBUS removed
make shi [Mon, 4 Jun 2012 08:24:01 +0000 (16:24 +0800)]
ENGR00212232-01 USB:fix otg can not work without phy power if VBUS removed

According to ticket TKT094250 :There is no VBUS supply or not supply for USB
PHY power 3p0,USB dp/dm is floating when there is no connection in device mode:
S/W can run the following flow to ensure the internal DP/DM linestate does not
change. These should be done before set SUSP/PHCD bit after detecting the VBUS
change from high to low.
clear HW_USBPHY_DEBUG_CLKGATE
loopback_utmi_dig_tst1 = 1
loopback_utmi_dig_tst0 = 0
loopback_tsti_tx_en = 1
loopback_tsti_tx_hiz = 0
loopback_tsti_tx_hs_mode = 0;

After detecting the VBUS or ID change (connected to a host or device), SW do:
set HW_USBPHY_DEBUG_CLKGATE back to 1
clear the loopback_XXXX signals above back to 0

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00212818: mx6sl: Add SPI NOR flash support
Robby Cai [Fri, 8 Jun 2012 06:48:15 +0000 (14:48 +0800)]
ENGR00212818: mx6sl: Add SPI NOR flash support

only set board-specific data and re-use the existing SPI-NOR
flash driver.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00212322-4 mx6: Add usb charger support at defconfig
Peter Chen [Thu, 7 Jun 2012 05:20:10 +0000 (13:20 +0800)]
ENGR00212322-4 mx6: Add usb charger support at defconfig

Add usb charger support for i.mx6

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00212322-3 usb: add one platform data entry to store anatop base address
Peter Chen [Tue, 5 Jun 2012 03:23:14 +0000 (11:23 +0800)]
ENGR00212322-3 usb: add one platform data entry to store anatop base address

It is used to usb charger detect, the charger detection process need
to access anatop register.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00212322-2 usb: store anatop base address at udc's platform data
Peter Chen [Tue, 5 Jun 2012 03:20:10 +0000 (11:20 +0800)]
ENGR00212322-2 usb: store anatop base address at udc's platform data

Store anatop base address at udc's platform data for i.mx6x

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00212322-1: usb: add usb charger support for i.mx6x
Peter Chen [Tue, 5 Jun 2012 03:08:29 +0000 (11:08 +0800)]
ENGR00212322-1: usb: add usb charger support for i.mx6x

- USB charger function is embedded in usb device driver, and only for i.mx6x
- SDP and DCP charger are tested
- Need to enable usb device function (insmod one gadget driver)
to use usb charger detect function
- The power supply interface for usb charger is:
/sys/class/power_supply/imx_usb_charger/
Some useful entries for power supply interface:
- present: whether usb charger is present or not
- type: usb charger type
- current_max: the max charger current for this charger
- online: whether vbus is on or not

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00178617 MX6x HDMI hotplug,video discontinuously after do a hotplug
Sandor Yu [Fri, 8 Jun 2012 05:37:17 +0000 (13:37 +0800)]
ENGR00178617 MX6x HDMI hotplug,video discontinuously after do a hotplug

The issue only in play video on DP FG, no such issue on DP BG.
HDMI drvier will call fb_set_var to config framebuffer after HDMI cable plugin.
In Frame buffer driver, the DP FG and BG register as different fb.
The function fb_set_var only update one fb.
As IPU DP module, if DP BG is re-enabled, the FG should reconfig again.
So after HDMI plugin, only BG fb is update, FG fb will work incorrect,
no end of frame interrupt trigger, and print
"mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq"
to display.

Change code in function fb_set_var, FG fb will reconfig with DP BG fb.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00212805 [MX6SL]Add thermal driver device.
Anson Huang [Fri, 8 Jun 2012 06:20:36 +0000 (14:20 +0800)]
ENGR00212805 [MX6SL]Add thermal driver device.

Add thermal driver device to support thermal driver interface,
but as this driver is dependent on OCOTP driver and need a
calibrated part, so the temp read from the thermal sysfs
interface maybe inaccurate on those uncalibrated parts.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00212685: MAX8903: fix battery charger driver status bug.
Rong Dian [Thu, 7 Jun 2012 09:36:04 +0000 (17:36 +0800)]
ENGR00212685: MAX8903: fix battery charger driver status bug.

Fix battery charger status bug when battery is in the charge full state.

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00212529 MX6x show video to fb0 when bootup, the color space incorrect.
Sandor Yu [Wed, 6 Jun 2012 08:39:35 +0000 (16:39 +0800)]
ENGR00212529 MX6x show video to fb0 when bootup, the color space incorrect.

DP CSC setting not update because incorrect DP sync flow SRM Mode.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00180390 ESAI: add amixer ASRC p2p API(ALSALIB)
Chen Liangjun [Tue, 5 Jun 2012 08:47:26 +0000 (16:47 +0800)]
ENGR00180390 ESAI: add amixer ASRC p2p API(ALSALIB)

If we want to use ESAI call ASRC, we need to know the input sample
rate as well as the output sample rate. however, cause of ALSA-LIB,
the input sample rate pass down to ALSA-DRIVER is not accurate. For
example, if the ALSA-DRIVER only support 48KHz playback and we want
to play an 16KHz audio file, the sample rate params the ALSA DRIVER
see is 48KHz but not 16KHz. So, the ALSA-DRIVER do not know the
original sample rate, and thus unable to config ASRC properly.

In this patch, we add an amixer control interface for alsa lib plugin to
config the input sample rate before playback. If no plugin, user
can call the amixer control interface to manually use ASRC for rate
convert.

For example, if we need to playback an 24bit_24K audio wav file without
call the plug. The sound card is 0.
1 Get the ASRC capability: amixer sget "ASRC"
1 Set the input samplerate: amixer sset "ASRC" "24KHz"
2 Play; aplay -Dhw:0 audio_24k24S-S24_LE.wav

Signed-off-by: Chen Liangjun <b36089@freescale.com>
11 years agoENGR00212542 SPDIF: move clock operation
Gary Zhang [Wed, 6 Jun 2012 08:22:26 +0000 (16:22 +0800)]
ENGR00212542 SPDIF: move clock operation

Now clock operation occurs in mxc_spdif_trigger(), and
because clock operation is forbidden to exist in interrupt
context, move disabling clock operation to mxc_spdif_shutdown()

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00212489-1 viv_GPU: add reserved memory account handler.
Zhang Jiejing [Wed, 6 Jun 2012 02:07:21 +0000 (10:07 +0800)]
ENGR00212489-1 viv_GPU: add reserved memory account handler.

the original low memory killer only take care of system memory accounting,
but for so large shared memory occupy by GPU, and each process memory
killer account become unfair, very large 3D game will not killed firstly
if it going to background.

Add this account to let real large memory user get killed if going to background
eg, the "angry bird Space" will acquire 68,215,360 GPU memory for 1-6 toll-gate.

The test show it can quicker recovery from memory shortage situation,
since it's very like to be killed after add so much GPU memory for such 3D game.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
11 years agoENGR00212534 GPU : fix a type
Huang Shijie [Wed, 6 Jun 2012 07:46:07 +0000 (15:46 +0800)]
ENGR00212534 GPU : fix a type

fix a type: It should be "#if", not "#ifdef".

Signed-off-by: Huang Shijie <b32955@freescale.com>
11 years agoENGR00212523 [MX6]Need to enable gpt serial clock for Arik TO1.0
Anson Huang [Wed, 6 Jun 2012 06:48:42 +0000 (14:48 +0800)]
ENGR00212523 [MX6]Need to enable gpt serial clock for Arik TO1.0

Need to make sure gpt serial clock enabled on Arik TO1.0.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00212512: Fix caam build error when being built as module
Terry Lv [Wed, 6 Jun 2012 05:14:46 +0000 (13:14 +0800)]
ENGR00212512: Fix caam build error when being built as module

Fix caam build error when being built as module.

Signed-off-by: Terry Lv <r65388@freescale.com>
11 years agoENGR00212490 [SMP]Fix build error of calibrate when no define SMP
Anson Huang [Wed, 6 Jun 2012 01:36:09 +0000 (09:36 +0800)]
ENGR00212490 [SMP]Fix build error of calibrate when no define SMP

Fix build error, only under SMP enviroment, we use per_cpu cpu_data
to decide to redo calibrate delay or skip.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00212492 GPU: fix a macro error
Huang Shijie [Tue, 5 Jun 2012 09:26:35 +0000 (17:26 +0800)]
ENGR00212492 GPU: fix a macro error

The default .config defines the GPU as a module:
  "CONFIG_MXC_GPU_VIV=m"

In this case, we actually can not find the CONFIG_MXC_GPU_VIV.
We should find CONFIG_MXC_GPU_VIV_MODULE instead.

Signed-off-by: Huang Shijie <b32955@freescale.com>
11 years agoENGR00211670- CPUFREQ-Set CPU to maximum frequency before entering STOP mode
Ranjani Vaidyanathan [Tue, 29 May 2012 23:45:43 +0000 (18:45 -0500)]
ENGR00211670- CPUFREQ-Set CPU to maximum frequency before entering STOP mode

Ensure that the CPUFREQ driver sets the CPU to its maximum
frequency when it is suspended.
Also change the WAIT macro in clock.c to use GPT counter
for the delay instead of getnsdayoftime(). As the kernel
timekeeping driver is suspended before CPUFREQ and this
causes a dump during suspend.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00212348: Change caam to be built as module
Terry Lv [Tue, 5 Jun 2012 05:28:26 +0000 (13:28 +0800)]
ENGR00212348: Change caam to be built as module

Currently caam is not selected by default.
For test requirement, we need to set it to be built as module.

Signed-off-by: Terry Lv <r65388@freescale.com>
11 years agoENGR00211169-2 [SMP]Need to update loops_per_jiffy when cpufreq is changed
Anson Huang [Mon, 4 Jun 2012 12:51:57 +0000 (20:51 +0800)]
ENGR00211169-2 [SMP]Need to update loops_per_jiffy when cpufreq is changed

Need to update loops_per_jiffy when cpufreq is changed, our platform
only change the loops_per_jiffy of per_cpu cpu_data, we need to update
it to global loops_per_jiffy which is used for udelay, this is for pure
cpu freq change.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00211169-1 [SMP]Need to update loops_per_jiffy when cpufreq is changed
Anson Huang [Mon, 4 Jun 2012 12:50:53 +0000 (20:50 +0800)]
ENGR00211169-1 [SMP]Need to update loops_per_jiffy when cpufreq is changed

Need to update loops_per_jiffy when cpufreq is changed, our platform
only change the loops_per_jiffy of per_cpu cpu_data, we need to update
it to global loops_per_jiffy which is used for udelay.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoinit: skip calibration delay if previously done
Sameer Nanda [Tue, 26 Jul 2011 00:13:29 +0000 (17:13 -0700)]
init: skip calibration delay if previously done

For each CPU, do the calibration delay only once.  For subsequent calls,
use the cached per-CPU value of loops_per_jiffy.

This saves about 200ms of resume time on dual core Intel Atom N5xx based
systems.  This helps bring down the kernel resume time on such systems
from about 500ms to about 300ms.

[akpm@linux-foundation.org: make cpu_loops_per_jiffy static]
[akpm@linux-foundation.org: clean up message text]
[akpm@linux-foundation.org: fix things up after upstream rmk changes]
Signed-off-by: Sameer Nanda <snanda@chromium.org>
Cc: Phil Carmody <ext-phil.2.carmody@nokia.com>
Cc: Andrew Worsley <amworsley@gmail.com>
Cc: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
11 years agoENGR00211844 MX6x HDMI display can't show video to after suspend/resume
Sandor Yu [Fri, 1 Jun 2012 10:14:12 +0000 (18:14 +0800)]
ENGR00211844 MX6x HDMI display can't show video to after suspend/resume

Added hdmi clock gating/ungating when devide suspend/resume

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00211329-2 add mutex for otg wake up enable
Tony LIU [Fri, 1 Jun 2012 09:56:48 +0000 (17:56 +0800)]
ENGR00211329-2 add mutex for otg wake up enable

- For the system dump issue of usb unhandled irq,
  the root cause is the shared resource being lack of protection
  add mutex to protect the shared access.

Signed-off-by: Tony LIU <junjie.liu@freescale.com>
11 years agoENGR00211329-1 Fix system dump of unhandled usb irq
Tony LIU [Fri, 1 Jun 2012 09:55:17 +0000 (17:55 +0800)]
ENGR00211329-1 Fix system dump of unhandled usb irq

Revert "ENGR00211686 mx6 usb: system crash after suspend/resume"

This reverts commit eb0fdddfc19ec5597f5973499765a5a8f5e75749.

Signed-off-by: Tony LIU <junjie.liu@freescale.com>
11 years agoENGR00211300: warning of 'mmc: unknown controller version' on boot.
Ryan QIAN [Tue, 29 May 2012 00:22:36 +0000 (08:22 +0800)]
ENGR00211300: warning of 'mmc: unknown controller version' on boot.

Since SVN 0x11 defined in FSL host controller is mapping to SD host
specification 3.0, it needs to remap the value while reading
SDHCI_HOST_CTRL_VER.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00210677: [MX60_ARM2]SDIO-WIFI: can not work.
Ryan QIAN [Mon, 28 May 2012 07:00:46 +0000 (15:00 +0800)]
ENGR00210677: [MX60_ARM2]SDIO-WIFI: can not work.

enhance drive strength of sd pad ctrl to 40ohm otherwise it
will report error while trying to communicate with atheros
wifi.

error message looks like:
 - "mmc2: error -84 whilst initialising SDIO card"

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00211165 [mx6sl]: warnning of 'no vmmc regulator' on sys boots
Ryan QIAN [Mon, 28 May 2012 06:58:00 +0000 (14:58 +0800)]
ENGR00211165 [mx6sl]: warnning of 'no vmmc regulator' on sys boots

1. no vmmc regulator device was registered.
2. move initialization of usdhc into mx6_arm2_init.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00211764 IPUv3 fb: support pan display with fb_set_var
Liu Ying [Wed, 30 May 2012 08:14:06 +0000 (16:14 +0800)]
ENGR00211764 IPUv3 fb: support pan display with fb_set_var

Users may call FBIOPUT_VSCREENINFO ioctrl to do pan display.
This ioctrl relies on fb_set_var() to do the job. fb_set_var()
calls custom fb_set_par() method and then calls custom
fb_pan_display() method. The current implementation of ipuv3fb
reinitializes IPU display controller every time the custom
fb_set_par() method is called, which makes the display flash
if fb_set_var() is called to do panning frequently. The custom
fb_pan_display() method checks if the current xoffset and
yoffset are different from previous ones before doing actual
panning, which prevents the panning from happening within the
fb_set_var() context. This patch checks new var info to decide
whether we really need to reinitialize IPU display controller.
We ignore xoffset and yoffset update because it doesn't require
to reinitialize the controller. Users may specify activate field
of var info with FB_ACTIVATE_NOW and FB_ACTIVATE_FORCE to
reinialize the controller by force. Meanwhile, this patch removes
the check in custom fb_pan_display() method mentioned before to
have the panning work within fb_set_var() context. It doesn't
hurt to do panning again if there is no update for xoffset and
yoffset.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
11 years agoENGR00210686 USB:fix unplug&plug device during suspend without wakeup enabled
make shi [Thu, 31 May 2012 02:24:10 +0000 (10:24 +0800)]
ENGR00210686 USB:fix unplug&plug device during suspend without wakeup enabled

For High speed device ,we need clear BM_USBPHY_CTRL_ENHOSTDISCONDETECT
after suspend.For Low and full speed device, we should power on and power
off the USB port to make sure USB internal state machine work well.

Add a config to enable/disable this code,the code is enabled by default.

Signed-off-by: make shi <b15407@freescale.com>
11 years agoENGR00211838 MX6 HDMI packet overflow workaround from Synopsys
Sandor Yu [Thu, 31 May 2012 02:34:13 +0000 (10:34 +0800)]
ENGR00211838 MX6 HDMI packet overflow workaround from Synopsys

Update HDMI packet overflow workaround for Rigel and Airk.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00211679 - SPDC : fix mode4 fresh issue.
Fugang Duan [Mon, 28 May 2012 09:44:29 +0000 (17:44 +0800)]
ENGR00211679 - SPDC : fix mode4 fresh issue.

- Modify lut to fix DC VCOM fading and mode4 close
  over push issue.

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00211678 - SPDC : update Sipix AUO panel firmware
Fugang Duan [Wed, 30 May 2012 03:26:28 +0000 (11:26 +0800)]
ENGR00211678 - SPDC : update Sipix AUO panel firmware

- The original waveform mode4 refresh action is not
  expected, and the waveform file resolve the issue.

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00211686 mx6 usb: system crash after suspend/resume
Tony LIU [Wed, 30 May 2012 05:56:38 +0000 (13:56 +0800)]
ENGR00211686 mx6 usb: system crash after suspend/resume

- the pre-condition of this issue is:
  1. usb gadget must be probed before usb host
  2. usb otg must be in host mode

- the root cause of this issue is
  because of the issue of week 2p5, a vbus change interrupt will
  be issued when system enter into DSM, which will cause system
  exit DSM, so we have a walk aroud to disable usb vbus change
  interrupt when system enter into DSM.

  But this walk around just provent the interrupt generating, the
  vbus change status is still on. When usb gadget is probed, the
  vbus change interrupt will be enabled by its resume interface by
  mistake, and then continuous interrupt will be generated because
  usb otg is in host mode, it can't clear the vbus change status.

  The system have a protect mechanism that when one IRQ's handler
  return IRQ_NONE more than 99000 times, it will through a exception
  to inform such situation. That's the reason why system crash.

Signed-off-by: Tony LIU <junjie.liu@freescale.com>
11 years agoENGR00210918-3 elcdif_fb: change update hardware par method.
Zhang Jiejing [Mon, 28 May 2012 11:35:46 +0000 (19:35 +0800)]
ENGR00210918-3 elcdif_fb: change update hardware par method.

update the screen var info compare method, it should:
- should update the hardware parameter when  FB_ACTIVATE_FORCE
- use bool as return type.
- return true if the new and old var are same.

Signed-off-by Zhang Jiejing <jiejing.zhang@freescale.com>

11 years agoENGR00178461-02 HDMI1080p: hotplug cause kernel panic. 10%
Sandor Yu [Tue, 29 May 2012 08:54:13 +0000 (16:54 +0800)]
ENGR00178461-02 HDMI1080p: hotplug cause kernel panic. 10%

It is a warning cause by  HDMI driver irq enable count mismatch.
The purpose of maintain HDMI irq count is to disable hdmi_iahb_clk
when HDMI cable plugout.
But hdmi_iahb_clk parent ahb clock is always enabled when system run,
so hdmi_iabh_clk power consumption is very low.
The function clk_get_usecount introduce by irq count maintain
is not safety in SMP.

Remove HDMI irq count in HDMI driver, keep hdmi_iahb_clk always run.
and disable hdmi_iahb_clk and hdmi_isfr_clk when FB Blank.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00178461-01 HDMI1080p: hotplug cause kernel panic. 10%
Sandor Yu [Tue, 29 May 2012 08:54:13 +0000 (16:54 +0800)]
ENGR00178461-01 HDMI1080p: hotplug cause kernel panic. 10%

Add HDMI register define in HDMI register head file

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00211372 V4L2 output: Fix software bug when set_crop/set_ctrl after set_fmt
Wayne Zou [Wed, 23 May 2012 06:41:46 +0000 (14:41 +0800)]
ENGR00211372 V4L2 output: Fix software bug when set_crop/set_ctrl after set_fmt

When set_crop/set_ctrl after set_fmt, the display may be crashed due to
input crop parameters may be wrong, especially for tiled NV12 format.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00211368:dual camera: fix csi 1 camera has wrong image issue
Wu Guoxing [Tue, 29 May 2012 07:22:25 +0000 (15:22 +0800)]
ENGR00211368:dual camera: fix csi 1 camera has wrong image issue

set the correct csi interface

Signed-off-by: Wu Guoxing <b39297@freescale.com>
11 years agoENGR00210559-3 Integrate gpu openGL2.1 and DRM
Allen Xu [Mon, 28 May 2012 07:31:54 +0000 (15:31 +0800)]
ENGR00210559-3 Integrate gpu openGL2.1 and DRM

remove i830 from Makefile to avoid build issue.

Signed-off-by: Allen Xu <allen.xu@freescale.com>
11 years agoENGR00211133 IPUv3 fb:Check boot opt to decide if disp fb'll be present
Liu Ying [Fri, 25 May 2012 09:50:19 +0000 (17:50 +0800)]
ENGR00211133 IPUv3 fb:Check boot opt to decide if disp fb'll be present

This patch checks video boot option to decide whether we'll register
certain display framebuffer devices. The user may add video=mxcfbx:off
to kernel bootup command line to disable a display framebuffer
register. The 'x' means that the display number presented in kernel.
Defaultly, all display framebuffers will be registered if the user
doesn't specify related 'off' option in kernel bootup command line.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
11 years agoENGR00210871-2 IPU: Remove clk_get_usecount and only use clk_enable/clk_disable
Wayne Zou [Fri, 25 May 2012 05:54:52 +0000 (13:54 +0800)]
ENGR00210871-2 IPU: Remove clk_get_usecount and only use clk_enable/clk_disable

Remove clk_get_usecount API and
only use clk_enable/clk_disable APIs for IPU driver.
If ipu internal clock is not accurate, use external DI clock.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00210871-1 IPU: clean up ipu suspend/resume codes and remove mutex lock
Wayne Zou [Fri, 25 May 2012 05:50:57 +0000 (13:50 +0800)]
ENGR00210871-1 IPU: clean up ipu suspend/resume codes and remove mutex lock

Clean up IPU suspend/resume codes.
Remove clock API mutex lock and only use clk_enable/clk_disable
APIs for IPU driver.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00210915 fb: mxc_elcdfb: fix screen flash when use fb_set_var
Zhang Jiejing [Fri, 25 May 2012 09:03:02 +0000 (17:03 +0800)]
ENGR00210915 fb: mxc_elcdfb: fix screen flash when use fb_set_var

fb_set_var() is used by android default display,
we found the screen will flash using android default
display support, found the root case was we init the
hardware (blank and unblank) the screen.

because fb_set_var() will call fb_set_par() every time,
we needs check only set the hardware register when needed,
then the android default image without any modify can works.

Also a build warnning fix.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
11 years agoENGR00182098 MX6DL 480P packet overflow interrupt can't been clean
Sandor Yu [Thu, 24 May 2012 11:12:02 +0000 (19:12 +0800)]
ENGR00182098 MX6DL 480P packet overflow interrupt can't been clean

Fix it with not SW reset TMDS when clean overflow interrupt on Mx6DL

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00211132 ESAI: fix build warning
Gary Zhang [Mon, 28 May 2012 02:27:46 +0000 (10:27 +0800)]
ENGR00211132 ESAI: fix build warning

imx-pcm.h should not include imx-ssi.h, or else DRV_NAME is
redefined

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00211129 - SPDC : modify waveform update modes.
Fugang Duan [Mon, 28 May 2012 02:58:19 +0000 (10:58 +0800)]
ENGR00211129 - SPDC : modify waveform update modes.

- Because mode_4 only use for handwriting mode, and
  mode_3 use for power off mode, modify the waveform
  mode for update requests.
- Use mode_2 for DU and A2, mode_1 for GU:
  mode_A2 = mode_2, mode_du = mode_2;
  mode_gu = mode_1;

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00211142 mx6q : set VDDCORE 1.05V at 672Mhz cpu point
Robin Gong [Mon, 28 May 2012 03:19:27 +0000 (11:19 +0800)]
ENGR00211142 mx6q : set VDDCORE 1.05V at 672Mhz cpu point

As SOC team suggestion, we should change VDDCORE from 1.1V to 1.05V at 672Mhz

Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00210547 [MX6]Enable I cache and branch prediction early
Anson Huang [Fri, 25 May 2012 08:36:56 +0000 (16:36 +0800)]
ENGR00210547 [MX6]Enable I cache and branch prediction early

1. When resume, we can enable I cache and branch prediction
early to speed up the resume process;
2. L2 cache still need clean before suspend to make suspend/resume
modifiedre stable, add it back until we find the root cause.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00210559-2 Integrate gpu openGL2.1 and DRM
Allen Xu [Thu, 24 May 2012 02:42:51 +0000 (10:42 +0800)]
ENGR00210559-2 Integrate gpu openGL2.1 and DRM

Add vivante drm modules code and select it in default config. Integrate
these code from vivante.

Signed-off-by: Allen Xu <allen.xu@freescale.com>
11 years agoENGR00210559-1 Integrate gpu openGL2.1 and DRM
Allen Xu [Thu, 24 May 2012 02:28:24 +0000 (10:28 +0800)]
ENGR00210559-1 Integrate gpu openGL2.1 and DRM

Add vivante drm modules code and select it in default config. Integrate
these code from vivante.

Signed-off-by: Allen Xu <allen.xu@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00210850 mx6: boot failure with local timer and wait mode enabled
Xinyu Chen [Fri, 25 May 2012 03:39:15 +0000 (11:39 +0800)]
ENGR00210850 mx6: boot failure with local timer and wait mode enabled

Previous patch only check the condition that GPT broadcast
event is ready or not before doing clock event switch.
It's not enough, as the clock switch from local timer to GPT
broadcast must be happen after GPT broadcast clock event setup
and current cpu's clock device switch to local timer clock event.
Otherwise, we will have chance that cpu exit the wait mode and
switch back clock event without local timer event setup correctly.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
11 years agoENGR00210075-5 - SPDC: Add waveform file for AUO paper panel
Fugang Duan [Sat, 19 May 2012 07:46:21 +0000 (15:46 +0800)]
ENGR00210075-5 - SPDC: Add waveform file for AUO paper panel

- Add waveform firmware file for AUO paper panel

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00210075-4 SPDC: Export some APIs for unit test case.
Fugang Duan [Tue, 22 May 2012 08:03:56 +0000 (16:03 +0800)]
ENGR00210075-4 SPDC: Export some APIs for unit test case.

- Export some APIs for unit test driver use.

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00210661: imx6sl: add watchdog support
Robby Cai [Thu, 24 May 2012 09:19:04 +0000 (17:19 +0800)]
ENGR00210661: imx6sl: add watchdog support

Register watchdog platform device and re-use watchdog driver.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00210694 MX6 SABRESD:Enable IRQ for max11801
Rong Dian [Thu, 24 May 2012 08:05:31 +0000 (16:05 +0800)]
ENGR00210694 MX6 SABRESD:Enable IRQ for max11801

If miss to configure IRQ for max11801, the max11801 driver fails to
probe and returns error,sabresd battery driver also fails to sample
voltage by max11801 ADC.

Signed-off-by: Rong Dian <b38775@freescale.com>
11 years agoENGR00210550: imx6sl: add viim support
Robby Cai [Wed, 23 May 2012 08:58:27 +0000 (16:58 +0800)]
ENGR00210550: imx6sl: add viim support

registered viim platform divice.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00180495 [mx6]Fix suspend/resume issue caused by hotplug
Anson Huang [Wed, 23 May 2012 07:13:03 +0000 (15:13 +0800)]
ENGR00180495 [mx6]Fix suspend/resume issue caused by hotplug

When we kill a secondary cpu, we need to wait for it
die, then kill it from hardware setting. And to avoid
the cache unalign issue, we use hardware register to
send flag to inform main cpu to kill secondary cpu.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
Linus Walleij [Tue, 10 Apr 2012 11:37:42 +0000 (12:37 +0100)]
ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus

During booting of cpu1, there is a short window where cpu1
is online, but not active where cpu1 is occupied by waiting
to become active. If cpu0 then decides to schedule something
on cpu1 and wait for it to complete, before cpu0 has set
cpu1 active, we have a deadlock.

Typically it's this CPU frequency transition that happens at
this time, so let's just not wait for it to happen, it will
happen whenever the CPU eventually comes online instead.

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: stable@kernel.org
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-by: Rickard Andersson <rickard.andersson@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7406/1: hotplug: copy the affinity mask when forcefully migrating IRQs
Will Deacon [Fri, 27 Apr 2012 11:56:24 +0000 (12:56 +0100)]
ARM: 7406/1: hotplug: copy the affinity mask when forcefully migrating IRQs

When a CPU is hotplugged off, we migrate any IRQs currently affine to it
away and onto another online CPU by calling the irq_set_affinity
function of the relevant interrupt controller chip. This function
returns either IRQ_SET_MASK_OK or IRQ_SET_MASK_OK_NOCOPY, to indicate
whether irq_data.affinity was updated.

If we are forcefully migrating an interrupt (because the affinity mask
no longer identifies any online CPUs) then we should update the IRQ
affinity mask to reflect the new CPU set. Failure to do so can
potentially leave /proc/irq/n/smp_affinity identifying only offline
CPUs, which may confuse userspace IRQ balancing daemons.

This patch updates migrate_one_irq to copy the affinity mask when
the interrupt chip returns IRQ_SET_MASK_OK after forcefully changing the
affinity of an interrupt.

Cc: stable@vger.kernel.org
Reported-by: Leif Lindholm <leif.lindholm@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop
Will Deacon [Fri, 3 Feb 2012 13:50:07 +0000 (14:50 +0100)]
ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop

ARM unconditionally selects CONFIG_GENERIC_HARDIRQS, so the definition
of for_each_irq_desc will check that the desc is non-NULL anyway.

This patch removes a redundant check from the IRQ migration code.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: CPU hotplug: ensure we migrate all IRQs off a downed CPU
Russell King [Thu, 21 Jul 2011 14:14:21 +0000 (15:14 +0100)]
ARM: CPU hotplug: ensure we migrate all IRQs off a downed CPU

Our selection of interrupts to consider for IRQ migration is sub-
standard.  We were potentially including per-CPU interrupts in our
migration strategy, but omitting chained interrupts.  This caused
some interrupts to remain on a downed CPU.

We were also trying to migrate interrupts which were not migratable,
resulting in an OOPS.

Instead, iterate over all interrupts, skipping per-CPU interrupts
or interrupts whose affinity does not include the downed CPU, and
attempt to set the affinity for every one else if their chip
implements irq_set_affinity().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: CPU hotplug: pass in proper affinity mask on IRQ migration
Russell King [Thu, 21 Jul 2011 14:07:56 +0000 (15:07 +0100)]
ARM: CPU hotplug: pass in proper affinity mask on IRQ migration

Now that the GIC takes care of selecting a target interrupt from the
affinity mask, we don't need all this complexity in the core code
anymore.  Just detect when we need to break affinity.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: CPU hotplug: fix abuse of irqdesc->node
Russell King [Thu, 21 Jul 2011 13:51:13 +0000 (14:51 +0100)]
ARM: CPU hotplug: fix abuse of irqdesc->node

irqdesc's node member is supposed to mark the numa node number for the
interrupt.  Our use of it is non-standard.  Remove this, replacing the
functionality with a test of the affinity mask.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: introduce handle_IRQ() not to dump exception stack
Russell King - ARM Linux [Mon, 11 Jul 2011 21:25:43 +0000 (22:25 +0100)]
ARM: introduce handle_IRQ() not to dump exception stack

On Mon, Jul 11, 2011 at 3:52 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:

...

> The __exception annotation on a function causes this to happen:
>
> [<c002406c>] (asm_do_IRQ+0x6c/0x8c) from [<c0024b84>]
> (__irq_svc+0x44/0xcc)
> Exception stack(0xc3897c78 to 0xc3897cc0)
> 7c60:                                                       4022d320 4022e000
> 7c80: 08000075 00001000 c32273c0 c03ce1c0 c2b49b78 4022d000 c2b420b4 00000001
> 7ca0: 00000000 c3897cfc 00000000 c3897cc0 c00afc54 c002edd8 00000013 ffffffff
>
> Where that stack dump represents the pt_regs for the exception which
> happened.  Any function found in while unwinding will cause this to
> be printed.
>
> If you insert a C function between the IRQ assembly and asm_do_IRQ,
> the
> dump you get from asm_do_IRQ will be the stack for your function,
> not
> the pt_regs.  That makes the feature useless.
>

When __irq_svc - or any of the other exception handling assembly code -
calls the C code, the stack pointer will be pointing at the pt_regs
structure.

All the entry points into C code from the exception handling code are
marked with __exception or __exception_irq_enter to indicate that they
are one of the functions which has pt_regs above them.

Normally, when you've entered asm_do_IRQ() you will have this stack
layout (higher address towards top):

       pt_regs
       asm_do_IRQ frame

If you insert a C function between the exception assembly code and
asm_do_IRQ, you end up with this stack layout instead:

       pt_regs
       your function frame
       asm_do_IRQ frame

This means when we unwind, we'll get to asm_do_IRQ, and rather than
dumping out the pt_regs, we'll dump out your functions stack frame
instead, because that's what is above the asm_do_IRQ stack frame
rather than the expected pt_regs structure.

The fix is to introduce handle_IRQ() for no exception stack dump, so
it can be called with MULTI_IRQ_HANDLER is selected and a C function
is between the assembly code and the actual IRQ handling code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
11 years agoARM: SMP: use a timing out completion for cpu hotplug
Russell King [Wed, 18 Jan 2012 15:59:45 +0000 (15:59 +0000)]
ARM: SMP: use a timing out completion for cpu hotplug

Rather than open-coding the jiffy-based wait, and polling for the
secondary CPU to come online, use a completion instead.  This
removes the need to poll, instead we will be notified when the
secondary CPU has initialized.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agonohz: Remove "Switched to NOHz mode" debugging messages
Heiko Carstens [Tue, 23 Aug 2011 11:20:46 +0000 (13:20 +0200)]
nohz: Remove "Switched to NOHz mode" debugging messages

When performing cpu hotplug tests the kernel printk log buffer gets flooded
with pointless "Switched to NOHz mode..." messages. Especially when afterwards
analyzing a dump this might have removed more interesting stuff out of the
buffer.
Assuming that switching to NOHz mode simply works just remove the printk.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Link: http://lkml.kernel.org/r/20110823112046.GB2540@osiris.boeblingen.de.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
11 years agoENGR00210469 MX6q - Fix suspend/resume failure.
Ranjani Vaidyanathan [Mon, 21 May 2012 14:37:03 +0000 (09:37 -0500)]
ENGR00210469 MX6q - Fix suspend/resume failure.

Sourcing AXI_CLK from PLL3_PFD_540M causes the system to
hang on resuming from STOP mode.
The main issue is that PFDs may sometimes hang/freeze
when their parent PLLs are powered on and then relocked
when exiting from STOP mode. To avoid this, PFDs must
be disabled before entering STOP and enabled after resume.

The fix is to move axi_clk to periph_clk before system
enters STOP and then restore it back to PLL3_PFD_540M
after resume.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00174974 [MX6]Fix CPU hotplug platform related issue
Anson Huang [Wed, 23 May 2012 01:38:29 +0000 (09:38 +0800)]
ENGR00174974 [MX6]Fix CPU hotplug platform related issue

We need to turn of cache coherency of secondary core before
it is disable by core0, otherwise, the secondary core may be
waked by cache sync, and if it exit from wfi and access BUS,
meanwhile, core0 disable it from hardware, the whole SOC would
hang.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00210126 IPU: reconsolidate IPU clock enable/disable API
Wayne Zou [Mon, 21 May 2012 08:09:24 +0000 (16:09 +0800)]
ENGR00210126 IPU: reconsolidate IPU clock enable/disable API

Consolidate IPU clock enable/disable API by using clk_enable/clk_disable
directly.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00210360 - EPDC: Fix regulator-related EPDC failure on MX6SL ARM2 CPU board
Robby Cai [Tue, 22 May 2012 08:55:18 +0000 (16:55 +0800)]
ENGR00210360 - EPDC: Fix regulator-related EPDC failure on MX6SL ARM2 CPU board

Its similar to ENGR00178581.
Remove call to regulator_has_full_constraints() from Max17135 EPD PMIC
initialization code, since leaving it enabled results in a failure of
system to load properly - key regulators are disabled when 'epdc' is added
to the kernel command line.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00209739-5 WM8962: check DMIC status
Gary Zhang [Tue, 22 May 2012 03:03:41 +0000 (11:03 +0800)]
ENGR00209739-5 WM8962: check DMIC status

if there are no amic_detect pin, by checking
DMIC pin status to get to know which mic is used

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00210075-3 - SPDC: Add Sipix driver
Fugang Duan [Sat, 19 May 2012 03:17:03 +0000 (11:17 +0800)]
ENGR00210075-3 - SPDC: Add Sipix driver

Add Sipix driver for electronic paper dispaly
- Support RGB565 & Y4 formats with 800x600 resolution
- Support synchronization update by waiting the last
  request update completed.
- Support automated update using Linux deferred io mechanism
- Support for panning(y-direction)
- Support rotation with 90,180,and 270 degree.
- Initial integration with ePXP, output Y4 format
- Support specific waveform modes update.
- Support Snapshot, Queue and Queue Merge update sheeme.
- Support full and partial EPD screen updates.
  mode_1 & mode_2: partial update
  mode_0 & mode_3: full update
- Align waveform mode with EPDC as below:
  mode_init = mode_0;
  mode_gc4  = mode_2;
  mode_A2   = mode_4, mode_du =mode_4;
  mode_gc8  = mode_1, mode_gc16 = mode_1, mode_gc32 = mode_1;

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00210271 - PWM1 pad incorrectly configured by EPDC driver
Danny Nold [Tue, 22 May 2012 01:48:35 +0000 (20:48 -0500)]
ENGR00210271 - PWM1 pad incorrectly configured by EPDC driver

- Remove configuration of PWM1 pad for EPDC.  Was there for debug purposes,
but caused problems with LCD support.

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00210075-2 - MX6SL MSL: Add SPDC in imx6s_defconfig
Fugang Duan [Sat, 19 May 2012 03:01:54 +0000 (11:01 +0800)]
ENGR00210075-2 - MX6SL MSL: Add SPDC in imx6s_defconfig

 Add Sipix panel option in imx6s_defconfig file

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00210075-1 - MX6SL MSL: Add SPDC support for MX6SoloLite ARM2 board
Fugang Duan [Sat, 19 May 2012 02:36:46 +0000 (10:36 +0800)]
ENGR00210075-1 - MX6SL MSL: Add SPDC support for MX6SoloLite ARM2 board

- Add IOMUX pad config defines and GPIO defines
- Add platform device/data for SPDC
- Add IRQ number define for SPDC

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00209994-2 : imx6sl: remove repeated ePxP device register.
Fugang Duan [Sat, 19 May 2012 07:30:46 +0000 (15:30 +0800)]
ENGR00209994-2 : imx6sl: remove repeated ePxP device register.

- remove repeated ePXP device register.

Signed-off-by: Fugang Duan <B38611@freescale.com>
11 years agoENGR00209739-4 add AUDMUX/SDMA support for MX6SL
Gary Zhang [Mon, 21 May 2012 10:39:05 +0000 (18:39 +0800)]
ENGR00209739-4 add AUDMUX/SDMA support for MX6SL

check CONFIG_ARCH_MX6 to replace cpu type

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00209739-3 MX6DQ/DL_SABRESD: operate WM8962 MCLK by callback
Gary Zhang [Mon, 21 May 2012 10:34:26 +0000 (18:34 +0800)]
ENGR00209739-3 MX6DQ/DL_SABRESD: operate WM8962 MCLK by callback

operate WM8962 MCLK by callback

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00209739-2 MX6SL_ARM2: add wm8962 support
Gary Zhang [Mon, 21 May 2012 10:29:43 +0000 (18:29 +0800)]
ENGR00209739-2 MX6SL_ARM2: add wm8962 support

add wm8962 codec support for mx6sl arm2

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00209739-1 WM8962: add support for MX6 SL
Gary Zhang [Mon, 21 May 2012 10:25:22 +0000 (18:25 +0800)]
ENGR00209739-1 WM8962: add support for MX6 SL

1. add support for mx6 sl
2. operate clock by callback

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00210160: [mx6]: mmc/sd illegal func call "clk_enable" in intr context
Ryan QIAN [Mon, 21 May 2012 09:24:42 +0000 (17:24 +0800)]
ENGR00210160: [mx6]: mmc/sd illegal func call "clk_enable" in intr context

issue:
calling clk_enable in an interrupt context which will cause kernel bug.

- It is a temp workaround for calling 'clk_enable' in an interrupt context.
By redefine SDHCI_USE_LEDS_CLASS to SDHCI_USE_LEDS_CLASS_BROKEN to exclude
led ctrl support, it does not support mmc/sd LED ctrl with this patch.

- Per current driver structure, it's difficult to fix this issue in driver
layer. The fix for this issue needs adjustment to current driver structure
and using new clock management in kernel interface.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00209716-2 Revert "ENGR00209022 Update gpu clock management code"
Loren Huang [Mon, 21 May 2012 07:32:25 +0000 (15:32 +0800)]
ENGR00209716-2 Revert "ENGR00209022 Update gpu clock management code"

This code is in 4.6.8 package.
This patch will cause suspend/resume failure
and data abort for vg applications.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00209716-1 Merge vivante 4.6.8 kernel part code
Loren Huang [Thu, 17 May 2012 17:15:35 +0000 (01:15 +0800)]
ENGR00209716-1 Merge vivante 4.6.8 kernel part code

Merge vivante 4.6.8 kernel part code

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00180768 sd:detect some sd2.0 cards to sd1.0
B38613 [Wed, 25 Apr 2012 05:51:44 +0000 (13:51 +0800)]
ENGR00180768 sd:detect some sd2.0 cards to sd1.0

when SD_SPEC=2, no matter Physical Layer Spec v3.0
is supported or not, should both be recognized as
SD2.0card.

Signed-off-by: Zhou Jianzheng <B38613@freescale.com>
(cherry picked from commit 59f5c06bba9e426326346fc00c1524cb789d695a)

11 years agoENGR00209062-2: mx6dq and mx6dl dual camera support
Wu Guoxing [Mon, 21 May 2012 01:24:29 +0000 (09:24 +0800)]
ENGR00209062-2: mx6dq and mx6dl dual camera support

dual camera support for mx6q and mx6dl:
1. let mipi and parallel camera working on different csi
2. the two camera can work independently and synchronously
3. the two camera will be registered and different video
   device(/dev/video0, /dev/video1)
4. when both camera are working, the can not use the same
   ipu channel, that is, when camera one using PRP_ENC_MEM
   or PRP_VF_MEM channel, the other one can only use CSI_MEM

   this is the driver part.

Signed-off-by: Wu Guoxing <b39297@freescale.com>
11 years agoENGR00209062-1: mx6dq and mx6dl dual camera support
Wu Guoxing [Mon, 21 May 2012 01:21:12 +0000 (09:21 +0800)]
ENGR00209062-1: mx6dq and mx6dl dual camera support

dual camera support for mx6q and mx6dl:
1. let mipi and parallel camera working on different csi
2. the two camera can work independently and synchronously
3. the two camera will be registered and different video
   device(/dev/video0, /dev/video1)
4. when both camera are working, the can not use the same
   ipu channel, that is, when camera one using PRP_ENC_MEM
   or PRP_VF_MEM channel, the other one can only use CSI_MEM

   this is the arch part changes.

Signed-off-by: Wu Guoxing <b39297@freescale.com>
11 years agoENGR00209501 [MX6]Support different platforms DDR IO setting in DSM
Anson Huang [Fri, 18 May 2012 11:58:25 +0000 (19:58 +0800)]
ENGR00209501 [MX6]Support different platforms DDR IO setting in DSM

As Mx6 dq, dl and sl have different DDR IO address, so
we need to do the DDR IO low power setting according
to different CPU type.

Also, Mx6sl has some different config in DSM, need to
separate it from other platforms.

Change mx6q_suspend to mx6_suspend, as it is a common
thing for all mx6 platforms.

Add rtc driver for mxsl platform to support suspend/resume test.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00209621 MX6-Fixed random CON_ACK stall
Ranjani Vaidyanathan [Mon, 7 May 2012 19:28:49 +0000 (14:28 -0500)]
ENGR00209621 MX6-Fixed random CON_ACK stall

DLL ON/OFF code randomly hangs waiting for the CON_ACK bit
to be set when a CON_REQ is asserted.
Fix this by adding a delay after the MMDC automatic power savings
mode is disabled.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00209846 MX6SL-Enable DVFS_CORE on all MX6 platforms
Ranjani Vaidyanathan [Mon, 14 May 2012 21:12:59 +0000 (16:12 -0500)]
ENGR00209846 MX6SL-Enable DVFS_CORE on all MX6 platforms

Add support DVFS-CORE to MX6Sololite.
Set PLL1 in bypass mode when ARM freq drops below 400MHz.
ARM will be sourced from PLL2_PFD2_400M in this case.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00209617 MX6x - Add WAIT mode workaround
Ranjani Vaidyanathan [Wed, 16 May 2012 17:43:27 +0000 (12:43 -0500)]
ENGR00209617 MX6x - Add WAIT mode workaround

To avoid the ARM from accepting an interrupt in the dangerous
window, reduce the ARM core freq just before the sytem is
about to enter WAIT state.
Reduce the ARM freq so as to maintain 12:5 ARM_CLK to IPG
ratio. Use the ARM_PODF to drop the frequency.
In a multicore case the frequency is dropped only when all the
4 cores are going to be in WFI.

In case of single core environment, its easy to drop the ARM core
freq just before WFI since there is no need to identify the state of
the other cores.

Some other points to note:
1. If "mem_clk_on" is added to the command line, the memory clocks will
not be gated in WAIT mode. This will increase the system IDLE power.
This mode is valid only on MX6sl, MX6DQ TO1.2 and MX6DL TO1.1.
2. In case the IPG clk is too low (for ex 50MHz) and ARM is at 1GHz,
we cannot match the 12:5 ratio using ARM_PODF only. In this case,
donot clock gate the memories in WAIT mode (available on MX6SL,
MXDQ TO1.2 and MXDL TO1.1). For MXDQ TO1.1 and MX6DL TO1.0, disable
system wide WAIT entry in this case.

In STOP mode, always ensure that the memory clocks are gated, else
power impact will be significant.

WAIT mode is enabled by default with this commit.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00210003: imx6sl: add SPI support
Robby Cai [Fri, 18 May 2012 10:45:41 +0000 (18:45 +0800)]
ENGR00210003: imx6sl: add SPI support

- configure the pinmux for SPI module working.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00209994: imx6sl: add ePxP support
Robby Cai [Fri, 18 May 2012 10:31:50 +0000 (18:31 +0800)]
ENGR00209994: imx6sl: add ePxP support

add ePxP support on ARM2 board

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00209883-2 - EPDC fb: Add support for MX 6SoloLite SoC
Danny Nold [Thu, 17 May 2012 20:22:51 +0000 (15:22 -0500)]
ENGR00209883-2 - EPDC fb: Add support for MX 6SoloLite SoC

- Add support for TCE source buffer in EPDC v2.1
- Remove debug code

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00209883-1 - EPDC fb: Add support for MX 6SoloLite ARM2 board
Danny Nold [Thu, 17 May 2012 20:17:37 +0000 (15:17 -0500)]
ENGR00209883-1 - EPDC fb: Add support for MX 6SoloLite ARM2 board

- Add EPDC and Max17135 structures and initialization calls to
the MX6SL ARM2 board file
- Add IOMUX configuration defines and GPIO defines for EPDC/Max17135
- Remove prints/debug from EPDC-related clocks.

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00209978-2: imx6sl: lcdif: update driver part
Robby Cai [Fri, 18 May 2012 10:11:16 +0000 (18:11 +0800)]
ENGR00209978-2: imx6sl: lcdif: update driver part

- use new console lock/unlock

Board Rework Needed:
 - remove R572, R569, R611 to eliminate conflict with FEC modules.

Signed-off-by: Robby Cai <R63905@freescale.com>
11 years agoENGR00209978-1: imx6sl: lcdif: add msl codes for lcdif
Robby Cai [Fri, 18 May 2012 09:26:02 +0000 (17:26 +0800)]
ENGR00209978-1: imx6sl: lcdif: add msl codes for lcdif

- update LCDIF pinmux setting (and pad ctrl setting)
- correct LCDIF pixel clock setting
- add platform device/data for lcdif

Signed-off-by: Robby Cai <R63905@freescale.com>