]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoENGR00176469-3: Remove build warnings in mlb
Terry Lv [Wed, 14 Mar 2012 03:09:30 +0000 (11:09 +0800)]
ENGR00176469-3: Remove build warnings in mlb

Remove build warnings in mlb.

Signed-off-by: Terry Lv <r65388@freescale.com>
11 years agoENGR00176629 [Thermal]Add 1.2G support
Anson Huang [Tue, 13 Mar 2012 07:09:29 +0000 (15:09 +0800)]
ENGR00176629 [Thermal]Add 1.2G support

Fix bug of saving previous cpufreq not support
up to 1.2G freq. Max length set to 7 instead of 6.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00176469-2: Improve the performance of MLB
Terry Lv [Fri, 9 Mar 2012 03:26:52 +0000 (11:26 +0800)]
ENGR00176469-2: Improve the performance of MLB

Main changes:
1. Directly use ring buffer to read.
2. Trival code clean for improvement.

Signed-off-by: Terry Lv <r65388@freescale.com>
11 years agoENGR00176469-1: Improve the performance of MLB
Terry Lv [Fri, 9 Mar 2012 03:25:31 +0000 (11:25 +0800)]
ENGR00176469-1: Improve the performance of MLB

Pll clock change to make pll clocked more stable.

Signed-off-by: Terry Lv <r65388@freescale.com>
11 years agoENGR00176656:gpu-viv:separate gpu 2d and vg core clock and axi clock operation
Wu Guoxing [Tue, 13 Mar 2012 07:04:47 +0000 (15:04 +0800)]
ENGR00176656:gpu-viv:separate gpu 2d and vg core clock and axi clock operation

separate gpu 2d and vg core clock and axi clock operation

Signed-off-by: Wu Guoxing <b39297@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00176655:mx6:remove openvg_axi_clk from gpu2d_axi_clk's secondary
Wu Guoxing [Tue, 13 Mar 2012 06:40:50 +0000 (14:40 +0800)]
ENGR00176655:mx6:remove openvg_axi_clk from gpu2d_axi_clk's secondary

if set vg clock as 2d axi clk's secondary will make
2d axi clk use count error

Signed-off-by: Wu Guoxing <b39297@freescale.com>
11 years agoENGR00176571 MX6DL: Added support for 1.2GHz ARM Frequency
Robin Gong [Mon, 12 Mar 2012 10:37:59 +0000 (18:37 +0800)]
ENGR00176571 MX6DL: Added support for 1.2GHz ARM Frequency

Added the new 1.2GHz working point.Currently 'arm_freq=1200"
should be added to commandline for the core to run at 1.2GHz

Signed-off-by: Robin Gong <B38343@freescale.com>
11 years agoENGR00176504 - EPDC fb: Reduce number of PxP output buffers to 2
Danny Nold [Thu, 8 Mar 2012 21:12:43 +0000 (15:12 -0600)]
ENGR00176504 - EPDC fb: Reduce number of PxP output buffers to 2

- Changed from one-buffer-per-LUT (up to 16 for EPDCv1.0 and 64 for EPDCv2.0)
to using 2 static buffers for PxP output.  This is facilitated by the switch
to using a single-threaded workqueue to process each update, which
guarantees that we can use just 2 buffers without clobbering concurrent
updates.
- One known limitation: This restricts the SNAPSHOT update scheme to only 2
concurrent updates.  So if a user intends to use SNAPSHOT scheme, the
EPDC_MAX_NUM_BUFFERS #define should be increased based on the desired number
of allowable concurrent updates (with a corresponding penalty in static
memory allocation).

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00175090 Update the fsl copyright of gpu kernel driver to 2012
Huang Loren [Wed, 22 Feb 2012 06:41:00 +0000 (14:41 +0800)]
ENGR00175090 Update the fsl copyright of gpu kernel driver to 2012

Update the fsl copyright of gpu kernel driver to 2012

Signed-off-by: Huang Loren <b02279@freescale.com>
11 years agoENGR00174654-2 Update gpu kernel driver to vivante 4.6.5 release Merge 4.6.5 p1 kerne...
Loren Huang [Sun, 4 Mar 2012 04:02:32 +0000 (12:02 +0800)]
ENGR00174654-2 Update gpu kernel driver to vivante 4.6.5 release Merge 4.6.5 p1 kernel part code.

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00176160 [MX6]Correct PLL1 freq change flow
Anson Huang [Tue, 6 Mar 2012 04:00:16 +0000 (12:00 +0800)]
ENGR00176160 [MX6]Correct PLL1 freq change flow

Previous PLL1 freq change is done by switching CPU clock
to 400M pfd or 24M OSC, then modifying
PLL1 div directly, and switch back CPU clock immediately,
it will result in CPU clock stop during PLL1 hardware lock
period, thus, DRAM FIFO may blocked by the data CPU
requested before PLL1 clock changed, and it will block other devices
accessing DRAM, such as IPU, VPU etc. It will cause
underrun or hang issue. We should wait PLL1 lock, then switch
back.

Signed-off-by: Anson Huang <b20788@freescale.com>
11 years agoENGR00176147-3: usb: change data types for wakeup_event
Peter Chen [Tue, 6 Mar 2012 02:16:46 +0000 (10:16 +0800)]
ENGR00176147-3: usb: change data types for wakeup_event

In order to know which wakeup event occurs for usb wakeup

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00176147-2: usb: pass the wakeup event to pdata
Peter Chen [Tue, 6 Mar 2012 02:10:22 +0000 (10:10 +0800)]
ENGR00176147-2: usb: pass the wakeup event to pdata

The host driver needs to differentiate wakeup event.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00176147-1: usb: fix some wakeup problems
Peter Chen [Wed, 22 Feb 2012 03:14:01 +0000 (11:14 +0800)]
ENGR00176147-1: usb: fix some wakeup problems

- Do not call hcd core adjust wakeup flag code. It may change
wakeup flag, and cause port change detect(PCD) enable setting change.
- For ID wakeup, it should not call host's fsl_usb_recover_hcd at ID interrupt.
The coming ID switch event will resume host.
- Do not need enable wakeup interrupt for host at platform driver resume
routine, it may introduce unnessary wakeup interrupt during bus resume.
The wakeup will be enabled again when usb host goes to controller again
due to autosuspend.
- When there is no gadget enabled, the otg port is still at host mode with
interrupt enabled, so when male Micro-B to female A-type cable with
usb device plugs in, there will be PCD interrupt before hcd core leaves
suspend mode.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00176061-2 usb: otg: add discharge vbus flag
Peter Chen [Tue, 6 Mar 2012 03:11:45 +0000 (11:11 +0800)]
ENGR00176061-2 usb: otg: add discharge vbus flag

Add discharge vbus flag

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00176061-1 usb: otg: delete discharge vbus operation at otg driver
Peter Chen [Wed, 22 Feb 2012 05:46:14 +0000 (13:46 +0800)]
ENGR00176061-1 usb: otg: delete discharge vbus operation at otg driver

It may be useless at most of platforms, the user can enable discharge
vbus if he/she wants speed up vbus lower speed during OTG switch.

Besides, disable vbus interrupt during vbus change due
to device <--> host mode switch.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00175864 [MMC]pipeline mmc requests
Tony Lin [Mon, 27 Feb 2012 07:53:02 +0000 (15:53 +0800)]
ENGR00175864 [MMC]pipeline mmc requests

the patch is based on a series of patches by Per Forlin
the patch is sdhci host side implementation.

using a toshiba SDHC3.0 card, the performance increases
from 48.5MB/s to 52.4MB/s.

cmd: dd if=/dev/mmcblk0 of=/dev/null bs=1M count=500

the performance results running@1GHz, 200MHz CPU freq are:
52.4MB/s -> 20.7MB/s

Signed-off-by: Tony Lin <tony.lin@freescale.com>
11 years agoENGR00176068-3 defconfig: enable localtimer in defconfig
Xinyu Chen [Wed, 7 Mar 2012 04:03:33 +0000 (12:03 +0800)]
ENGR00176068-3 defconfig: enable localtimer in defconfig

Enable local timer by default. If wait mode is on,
local timer will be shutdown automatically on boot.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
11 years agoENGR00176068-2 smp_twd: reconfigure clockevents after cpufreq change
Xinyu Chen [Mon, 5 Mar 2012 08:17:52 +0000 (16:17 +0800)]
ENGR00176068-2 smp_twd: reconfigure clockevents after cpufreq change

After a cpufreq transition, update the clockevent's frequency
by fetching the new clock rate from the clock framework and
reprogram the next clock event.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
Signed-off-by: Colin Cross <ccross@android.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoENGR00176068-1 mx6q: add smp_twd clock for localtimer
Xinyu Chen [Mon, 5 Mar 2012 08:15:20 +0000 (16:15 +0800)]
ENGR00176068-1 mx6q: add smp_twd clock for localtimer

Add a smp_twd system clock which is simple clock
from parent of cpu_clk, and it's rate is half
of the cpu_clk.
This is used for reprograming the twd clock event
after cpu freq is changed.
Also disable local timer setup when wait mode enabled.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
11 years agoENGR00176279 [MX6DL] MMC: improve SD3.0 SDR104 mode compatability.
Ryan QIAN [Wed, 7 Mar 2012 02:56:13 +0000 (10:56 +0800)]
ENGR00176279 [MX6DL] MMC: improve SD3.0 SDR104 mode compatability.

remove SION bit for SD3_CMD pad control, it will enlarge clock tuning
window on MX6DL.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00175446 ldb: avoid NULL pointer when ldb driver is probed but not inited.
Wayne Zou [Mon, 27 Feb 2012 01:31:18 +0000 (09:31 +0800)]
ENGR00175446 ldb: avoid NULL pointer when ldb driver is probed but not inited.

ldb: avoid NULL pointer when ldb driver is probed but not inited.
It can lead to kernel crash when framebuffer on LVDS panel is not inited.

Signed-off-by: Wayne Zou <b36644@freescale.com>
11 years agoENGR00174062 CCM: change clock enable_count to usecount
Lin Fuzhen [Fri, 10 Feb 2012 05:26:21 +0000 (13:26 +0800)]
ENGR00174062 CCM: change clock enable_count to usecount

change clock debugfs sys attr 'enable_count' to 'usecount'
to align with some power debug tool used

Signed-off-by: Lin Fuzhen <fuzhen.lin@freescale.com>
11 years agoENGR00176136- MX6: Added support for 1.2GHz ARM Frequency
Ranjani Vaidyanathan [Mon, 5 Mar 2012 20:26:45 +0000 (14:26 -0600)]
ENGR00176136- MX6: Added support for 1.2GHz ARM Frequency

Added the new 1.2GHz working point.
Currently 'arm_freq=1200" should be added to commandline
for the core to run at 1.2GHz. Also ensure that the appropriate
HW board mods have been done to set VDDARM_IN at 1.425V.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00176175 MX6Q: fix typo in cpu op voltage setting.
Zhang Jiejing [Tue, 6 Mar 2012 08:09:47 +0000 (16:09 +0800)]
ENGR00176175 MX6Q: fix typo in cpu op voltage setting.

Fix a typo when adding 600M WP, the voltage value is wrong,
it will lead a warnning when change to this WP:

COULD NOT SET GP VOLTAGE!!!!

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
11 years agoENGR00176159 video: ipuv3-fb: change to timeout semaphore to wait on irq.
Zhang Jiejing [Tue, 6 Mar 2012 06:47:57 +0000 (14:47 +0800)]
ENGR00176159 video: ipuv3-fb: change to timeout semaphore to wait on irq.

change to timeout semaphore to wait on irq.

use no timeout semaphore have below issues:
1. since fbmem.c will hold the console_lock() before call PAN_DISPLAY ioictl,
 if have wrong happens on IPU, IRQ not come, any log printk will not ouput,
 it will become like a system hang, and developer don't know what's wrong.

2. semaphore don't have timeout, here we can't know irq not come,
  so hang it infintly.
3. semaphore lock and unlock in different context is a dangous operation.

To fix these issue, use timedout version to wait on irq.
But for better coding stly to align Kernel Coding Style Doc,
better use complete to wait on irq, use semaphre little ugly.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
11 years agoENGR00170526-4 ESAI: To resolve the playback no sound issue occasionally happen
Lionel Xu [Fri, 2 Mar 2012 05:18:17 +0000 (13:18 +0800)]
ENGR00170526-4 ESAI: To resolve the playback no sound issue occasionally happen

There is no sound output any longer sometimes after several times of playback,
this platch is trying to resolve this issue by:

1)move the global power control bit setting from function hw_params/shutdown to
DAPM, thererfor the PWN bit will not be set/unset each time playback;
2)
Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
11 years agoENGR00170526-3 ESAI: Remove the workaround to reset codec before playbacking
Lionel Xu [Fri, 2 Mar 2012 05:12:26 +0000 (13:12 +0800)]
ENGR00170526-3 ESAI: Remove the workaround to reset codec before playbacking

Previously in order to avoid audio playback no sound issue, a hardware reset
was made to the codec chip each time when doing playback. now remove this
workaround.

Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
11 years agoENGR00170526-2 AUDIO: Remove struct field rst_gpio to audio platform data
Lionel Xu [Fri, 2 Mar 2012 05:07:57 +0000 (13:07 +0800)]
ENGR00170526-2 AUDIO: Remove struct field rst_gpio to audio platform data

Remove rst_gpio field to mxc_audio_platform_data.

Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
11 years agoENGR00170526-1 MX6Q_Sabreauto: remove audio platform data rst_gpio.
Lionel Xu [Fri, 2 Mar 2012 04:57:51 +0000 (12:57 +0800)]
ENGR00170526-1 MX6Q_Sabreauto: remove audio platform data rst_gpio.

Remove audio platform data rst_gpio which is not longer required now.

Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
11 years agoENGR00175551:Update sabreauto board file for handling spi and paralle nor
Francisco Munoz [Thu, 1 Mar 2012 23:50:28 +0000 (17:50 -0600)]
ENGR00175551:Update sabreauto board file for handling spi and paralle nor

*Files affected: board-mx6q_sabreauto.c
*Added IOMUX settings for parallel nor
*Utilized physmap driver in order to probe the chip
*Implemented conditional compilation enabling either spi or parallel
nor.

Signed-off-by: Francisco Munoz <b37752@freescale.com>
11 years agoENGR00175947 camera: sensor mclk change name to clko_clk
Yuxi Sun [Fri, 2 Mar 2012 07:15:49 +0000 (15:15 +0800)]
ENGR00175947 camera: sensor mclk change name to clko_clk

Change mclk sensor name to clko_clk

Signed-off-by: Yuxi Sun <b36102@freescale.com>
11 years agoENGR00175219-8 wm8958: add clock management
Gary Zhang [Thu, 1 Mar 2012 08:23:43 +0000 (16:23 +0800)]
ENGR00175219-8 wm8958: add clock management

1. add clko_clk clock management
2. use 'Headphone Jack' name

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175219-7 camera: use clko_clk source
Gary Zhang [Thu, 1 Mar 2012 08:21:56 +0000 (16:21 +0800)]
ENGR00175219-7 camera: use clko_clk source

change clock source to clko_clk from cko1_clk

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175219-6 MX6Q_SABRESD: add clko_clk support
Gary Zhang [Thu, 1 Mar 2012 08:18:15 +0000 (16:18 +0800)]
ENGR00175219-6 MX6Q_SABRESD: add clko_clk support

audio codec wm8958 and camera use the same clock
clko_clk with around 22MHz.

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175219-5 MX6: remove cko1_clk in clock.c
Gary Zhang [Thu, 1 Mar 2012 08:09:18 +0000 (16:09 +0800)]
ENGR00175219-5 MX6: remove cko1_clk in clock.c

there are clko_clk and cko1_clk in clock.c which operate
the same CKO1 clock source.
remove cko1_clk codes to avoid operation confusion.

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00172084 MX6Q: Add 4 capture modes for ov5642
Daiane Angolini [Thu, 1 Mar 2012 16:37:52 +0000 (13:37 -0300)]
ENGR00172084 MX6Q: Add 4 capture modes for ov5642

capture modes included:
 VGA(640x480)@15fps
 QVGA(320x240)@15fps
 NTSC(720x480)@15fps
 PAL(720x576)@15fps

in order to test it:
mxc_v4l2_capture.out -iw 640 -ih 480 -ow 640 -oh 480 -r 0 -fr 15 -m 0 test.yuv
mxc_v4l2_capture.out -iw 320 -ih 240 -ow 320 -oh 240 -r 0 -fr 15 -m 1 test.yuv
mxc_v4l2_capture.out -iw 720 -ih 480 -ow 720 -oh 480 -r 0 -fr 15 -m 2 test.yuv
mxc_v4l2_capture.out -iw 720 -ih 480 -ow 720 -oh 576 -r 0 -fr 15 -m 3 test.yuv

Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
11 years agoENGR00175261 - EPDC fb: Remove warning messages from EPDC init
Danny Nold [Wed, 29 Feb 2012 20:31:04 +0000 (14:31 -0600)]
ENGR00175261 - EPDC fb: Remove warning messages from EPDC init

- Remove screen update from probe function.  This update is redundant.
The update in mxc_epdc_fb_fw_handler() will update and show the tux
logo if FB console is added, so this achieves the same effect as the
update invocation that was removed.
- Remove dmaengine_get(), because SDMA driver returns a failure when
cycling through DMA channels.  Since it is not essential to register
with this call, it has been removed.  dmaengine_put() also removed.
- Added hw_inialization variable to track whether HW is in process
of being initialized.  In which case, we do not print an error
message when an update is received.

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agommc: block: add handling for two parallel block requests in issue_rw_rq
Per Forlin [Fri, 1 Jul 2011 16:55:33 +0000 (18:55 +0200)]
mmc: block: add handling for two parallel block requests in issue_rw_rq

Change mmc_blk_issue_rw_rq() to become asynchronous.
The execution flow looks like this:

* The mmc-queue calls issue_rw_rq(), which sends the request
  to the host and returns back to the mmc-queue.
* The mmc-queue calls issue_rw_rq() again with a new request.
* This new request is prepared in issue_rw_rq(), then it waits for
  the active request to complete before pushing it to the host.
* When the mmc-queue is empty it will call issue_rw_rq() with a NULL
  req to finish off the active request without starting a new request.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: queue: add a second mmc queue request member
Per Forlin [Fri, 1 Jul 2011 16:55:31 +0000 (18:55 +0200)]
mmc: queue: add a second mmc queue request member

Add an additional mmc queue request instance to make way for two active
block requests. One request may be active while the other request is
being prepared.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: block: move error path in issue_rw_rq to a separate function.
Per Forlin [Fri, 1 Jul 2011 16:55:30 +0000 (18:55 +0200)]
mmc: block: move error path in issue_rw_rq to a separate function.

Break out code without functional changes. This simplifies the code and
makes way for handling two parallel requests.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar<sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: block: add a block request prepare function
Per Forlin [Fri, 1 Jul 2011 16:55:29 +0000 (18:55 +0200)]
mmc: block: add a block request prepare function

Break out code from mmc_blk_issue_rw_rq to create a block request prepare
function. This doesn't change any functionallity. This helps when handling
more than one active block request.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: block: add member in mmc queue struct to hold request data
Per Forlin [Sat, 9 Jul 2011 21:12:36 +0000 (17:12 -0400)]
mmc: block: add member in mmc queue struct to hold request data

The way the request data is organized in the mmc queue struct, it only
allows processing of one request at a time.  This patch adds a new struct
to hold mmc queue request data such as sg list, request, blk request and
bounce buffers, and updates any functions depending on the mmc queue
struct. This prepares for using multiple active requests in one mmc queue.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: queue: let host controllers specify maximum discard timeout
Adrian Hunter [Tue, 28 Jun 2011 14:16:02 +0000 (17:16 +0300)]
mmc: queue: let host controllers specify maximum discard timeout

Some host controllers will not operate without a hardware
timeout that is limited in value.  However large discards
require large timeouts, so there needs to be a way to
specify the maximum discard size.

A host controller driver may now specify the maximum discard
timeout possible so that max_discard_sectors can be calculated.

However, for eMMC when the High Capacity Erase Group Size
is not in use, the timeout calculation depends on clock
rate which may change.  For that case Preferred Erase Size
is used instead.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: block: add checking of r/w command response
Russell King - ARM Linux [Mon, 20 Jun 2011 19:10:49 +0000 (20:10 +0100)]
mmc: block: add checking of r/w command response

Check the status bits in the r/w command response for any errors.
If error bits are set, then we won't have seen any data transferred,
so it's pointless doing any further checking.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: block: improve error recovery from command channel errors
Russell King - ARM Linux [Mon, 20 Jun 2011 19:10:28 +0000 (20:10 +0100)]
mmc: block: improve error recovery from command channel errors

Command channel errors fall into four classes:

1. The command was issued with the card in the wrong state
2. The command failed to be received by the card correctly
3. The cards response failed to be received by the host (CRC error)
4. The card failed to respond to the card

For (1), in theory we should know that the card is in the correct state.
However, a failed stop command (or other failure) may result in the card
remaining in a data transfer state from the previous command.  If we
detect this condition, we try to recover by sending a stop command.

For the initial commands (set block count and the read/write command)
no data will have been transferred.  All that we need deal with is
retrying at this point.  A failed stop command can be remedied as
above.

If we are unable to recover the card (eg, the card ignores our requests
for status, or we don't recognise the error code) then we immediately
fail the request.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: block: allow get_card_status() to return error status
Russell King - ARM Linux [Mon, 20 Jun 2011 19:10:08 +0000 (20:10 +0100)]
mmc: block: allow get_card_status() to return error status

If the MMC_SEND_STATUS command is not successful, we should not return
a zero status word, but instead allow the caller to know positively
that an error occurred.

Convert the open-coded get_card_status() to use the helper function,
and provide definitions for the card state field.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: mmc_test: test to measure how sg_len affect performance
Per Forlin [Fri, 1 Jul 2011 16:55:27 +0000 (18:55 +0200)]
mmc: mmc_test: test to measure how sg_len affect performance

Add a test that measures how the mmc bandwidth depends on the numbers of
sg elements in the sg list. The transfer size if fixed and sg length goes
from a few up to 512. The purpose is to measure overhead caused by
multiple sg elements.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: mmc_test: add test for non-blocking transfers
Per Forlin [Fri, 1 Jul 2011 16:55:26 +0000 (18:55 +0200)]
mmc: mmc_test: add test for non-blocking transfers

Add four tests for read and write performance per
different transfer size, 4k to 4M.
 * Read using blocking mmc request
 * Read using non-blocking mmc request
 * Write using blocking mmc request
 * Write using non-blocking mmc request

The host driver must support pre_req() and post_req()
in order to run the non-blocking test cases.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar<sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: mmc_test: add debugfs file to list all tests
Per Forlin [Fri, 1 Jul 2011 16:55:25 +0000 (18:55 +0200)]
mmc: mmc_test: add debugfs file to list all tests

Add a debugfs file "testlist" to print all available tests.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar<sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: mmci: implement pre_req() and post_req()
Per Forlin [Fri, 1 Jul 2011 16:55:24 +0000 (18:55 +0200)]
mmc: mmci: implement pre_req() and post_req()

pre_req() runs dma_map_sg() and prepares the dma descriptor for the next
mmc data transfer. post_req() runs dma_unmap_sg.  If not calling pre_req()
before mmci_request(), mmci_request() will prepare the cache and dma just
like it did it before.  It is optional to use pre_req() and post_req()
for mmci.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: omap_hsmmc: add support for pre_req and post_req
Per Forlin [Fri, 1 Jul 2011 16:55:23 +0000 (18:55 +0200)]
mmc: omap_hsmmc: add support for pre_req and post_req

pre_req() runs dma_map_sg(), post_req() runs dma_unmap_sg.  If not calling
pre_req() before omap_hsmmc_request(), dma_map_sg will be issued before
starting the transfer.  It is optional to use pre_req().  If issuing
pre_req(), post_req() must be called as well.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agommc: core: add non-blocking mmc request function
Per Forlin [Fri, 1 Jul 2011 16:55:22 +0000 (18:55 +0200)]
mmc: core: add non-blocking mmc request function

Previously there has only been one function mmc_wait_for_req()
to start and wait for a request. This patch adds:

 * mmc_start_req() - starts a request wihtout waiting
   If there is on ongoing request wait for completion
   of that request and start the new one and return.
   Does not wait for the new command to complete.

This patch also adds new function members in struct mmc_host_ops
only called from core.c:

 * pre_req - asks the host driver to prepare for the next job
 * post_req - asks the host driver to clean up after a completed job

The intention is to use pre_req() and post_req() to do cache maintenance
while a request is active. pre_req() can be called while a request is
active to minimize latency to start next job. post_req() can be used after
the next job is started to clean up the request. This will minimize the
host driver request end latency. post_req() is typically used before
ending the block request and handing over the buffer to the block layer.

Add a host-private member in mmc_data to be used by pre_req to mark the
data. The host driver will then check this mark to see if the data is
prepared or not.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
11 years agoENGR00175826 defconfig: add mx6q_sabresd in updater defconfig.
Zhang Jiejing [Thu, 1 Mar 2012 04:16:11 +0000 (12:16 +0800)]
ENGR00175826 defconfig: add mx6q_sabresd in updater defconfig.

add mx6q_sdabresd board in updater defconfig.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
11 years agoENGR00175824 fix the wrong patch for arch/arm/include/asm/futex.h
Huang Shijie [Wed, 29 Feb 2012 10:56:16 +0000 (18:56 +0800)]
ENGR00175824 fix the wrong patch for arch/arm/include/asm/futex.h

The patch
   "1e5fce1 ENGR00139261 [MX6Q]support 8 bit MMC and eMMC DDR mode"
reverts the patch
   "28d5b74 ARM: 7099/1: futex: preserve oldval in SMP __futex_atomic_op"

This patch just re-reverts the patch 1e5fce1.

Acked-by: Lily Zhang <r58066@freescale.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
11 years agoENGR00175692-03 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.
Ryan QIAN [Wed, 29 Feb 2012 06:23:49 +0000 (14:23 +0800)]
ENGR00175692-03 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.

Improve SD3.0 compatibility: reset host controller before changing clk
tuning ctrl reg.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00175692-02 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.
Ryan QIAN [Wed, 29 Feb 2012 06:09:53 +0000 (14:09 +0800)]
ENGR00175692-02 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.

Improve SD3.0 compatibility: change DSE to 34ohm for 200Mhz.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00175692-01 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.
Ryan QIAN [Wed, 29 Feb 2012 05:59:07 +0000 (13:59 +0800)]
ENGR00175692-01 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.

Improve compatibility by doing the following:
- Change DSE to 34ohm for 200MHz
- Reset host controller before changing clk tuning ctrl reg

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00174839 i.mx: asrc: enable clock before access the asrc register
Jason Liu [Tue, 28 Feb 2012 12:16:52 +0000 (20:16 +0800)]
ENGR00174839 i.mx: asrc: enable clock before access the asrc register

proc01 test fail on MX6dl and system hange after
the following output:

proc01 0 TINFO: /proc/kmsg: known issue: errno=EAGAIN(11):
<hang>
system will hang when access the proc file under: /proc/driver/asrc/ChSettings
The issue is that the asrc clock is off when try toaccess the asrc register.

Enable the asrc clock before access the asrc register fix the issue.

And we need turn off the clock after we finished accessing the register

Signed-off-by: Jason Liu <r64343@freescale.com>
11 years agofutex: Fix spelling in a source code comment
Bart Van Assche [Sun, 17 Jul 2011 07:01:00 +0000 (09:01 +0200)]
futex: Fix spelling in a source code comment

Change a single occurrence of "unlcoked" into "unlocked".

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Cc: Darren Hart <dvhltc@us.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
11 years agofutex: uninitialized warning corrections
Vitaliy Ivanov [Thu, 7 Jul 2011 12:10:31 +0000 (15:10 +0300)]
futex: uninitialized warning corrections

The variables here are really not used uninitialized.

kernel/futex.c: In function 'fixup_pi_state_owner.clone.17':
kernel/futex.c:1582:6: warning: 'curval' may be used uninitialized in this function
kernel/futex.c: In function 'handle_futex_death':
kernel/futex.c:2486:6: warning: 'nval' may be used uninitialized in this function
kernel/futex.c: In function 'do_futex':
kernel/futex.c:863:11: warning: 'curval' may be used uninitialized in this function
kernel/futex.c:828:6: note: 'curval' was declared here
kernel/futex.c:898:5: warning: 'oldval' may be used uninitialized in this function
kernel/futex.c:890:6: note: 'oldval' was declared here

Signed-off-by: Vitaliy Ivanov <vitalivanov@gmail.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
11 years agoplist: Remove the need to supply locks to plist heads
Dima Zavin [Fri, 8 Jul 2011 00:27:59 +0000 (17:27 -0700)]
plist: Remove the need to supply locks to plist heads

This was legacy code brought over from the RT tree and
is no longer necessary.

Signed-off-by: Dima Zavin <dima@android.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Walker <dwalker@codeaurora.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Link: http://lkml.kernel.org/r/1310084879-10351-2-git-send-email-dima@android.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
11 years agoENGR00175219-4 wm8958: add audio codec support
Gary Zhang [Tue, 28 Feb 2012 09:04:36 +0000 (17:04 +0800)]
ENGR00175219-4 wm8958: add audio codec support

add two channels record support.

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175219-3 wm8958: add audio codec support
Gary Zhang [Tue, 28 Feb 2012 06:51:40 +0000 (14:51 +0800)]
ENGR00175219-3 wm8958: add audio codec support

add wm8958 audio codec support

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175219-2 MX6Q_SABRESD: add wm8958 support
Gary Zhang [Tue, 28 Feb 2012 06:50:07 +0000 (14:50 +0800)]
ENGR00175219-2 MX6Q_SABRESD: add wm8958 support

add wm8958 codec support

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175219-1 MX6: add wm8958 option in defconfig
Gary Zhang [Tue, 28 Feb 2012 06:48:26 +0000 (14:48 +0800)]
ENGR00175219-1 MX6: add wm8958 option in defconfig

add wm8958 option in defconfig

Signed-off-by: Gary Zhang <b13634@freescale.com>
11 years agoENGR00175205 camera: change sensor_clock as an indepent module
Yuxi Sun [Thu, 23 Feb 2012 03:32:38 +0000 (11:32 +0800)]
ENGR00175205 camera: change sensor_clock as an indepent module

Sensor_clock function will have confict when dual camera is introduced,
so change it as an indepent module.

Signed-off-by: Yuxi Sun <b36102@freescale.com>
11 years agoENGR00175321 [MX6]MMCSD: eMMC4.4 failed to work after resume
Ryan QIAN [Fri, 24 Feb 2012 08:48:53 +0000 (16:48 +0800)]
ENGR00175321 [MX6]MMCSD: eMMC4.4 failed to work after resume

- clear ddr_en bit on non ddr timing mode in platform code.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00175305:gpu-viv:don't open 2d clock when operate only on 3d
Wu Guoxing [Fri, 24 Feb 2012 01:12:31 +0000 (09:12 +0800)]
ENGR00175305:gpu-viv:don't open 2d clock when operate only on 3d

mx6dl do not have shader clock, and the shader clock is used
as 2d clock. so, operate differently for mx6q & mx6dl

Signed-off-by: Wu Guoxing <b39297@freescale.com>
Acked-by: Lily Zhang
11 years agoENGR00175222-2 IPUv3 fb:Check mem resource start address
Liu Ying [Thu, 23 Feb 2012 05:51:03 +0000 (13:51 +0800)]
ENGR00175222-2 IPUv3 fb:Check mem resource start address

This patch checks memory resource start address before
using the memory resource.

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

11 years agoENGR00175222-1 IPUv3 pdev:Check fb size before reserve ov fb
Liu Ying [Thu, 23 Feb 2012 05:48:19 +0000 (13:48 +0800)]
ENGR00175222-1 IPUv3 pdev:Check fb size before reserve ov fb

This patch checks overlay fb size before reserve fb mem for
it.

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

11 years agoENGR00175221-02 [MX6] MMCSD: clear EXE_TUNE bit after tuning finishes.
Ryan QIAN [Thu, 23 Feb 2012 00:24:53 +0000 (08:24 +0800)]
ENGR00175221-02 [MX6] MMCSD: clear EXE_TUNE bit after tuning finishes.

- add hook for post tuning in common code
- add hook for post tuning for platform code to deal with clean up stuff on
finishing tuning.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00175221-01 [MX6] MMCSD: clear EXE_TUNE bit after tuning finishes.
Ryan QIAN [Thu, 23 Feb 2012 00:23:38 +0000 (08:23 +0800)]
ENGR00175221-01 [MX6] MMCSD: clear EXE_TUNE bit after tuning finishes.

- clear exe_tune flag after tuning in platform code, otherwise it
will reduce io performance for SDR104 cards.

- add platform code to clear exe_tune bit after tuning completes.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00174905 [MX6] gc355 can't work after specific suspend/resume case
Larry Li [Tue, 21 Feb 2012 06:51:15 +0000 (14:51 +0800)]
ENGR00174905 [MX6] gc355 can't work after specific suspend/resume case

GC355 can't work at below steps:
- suspend resume
- load gpu driver and run gc355 application

In order to make GPU work properly, GPU clock needs to be on while power
on GPU. Not only direct GPU clk ccgr needs to be on, but also relative
clock in GPU clock tree has to be enabled.

Signed-off-by: Larry Li <b20787@freescale.com>
11 years agoENGR00174886-2 - EPDC fb: Don't register EPDC unless "epdc" kernel option set
Danny Nold [Wed, 22 Feb 2012 18:59:59 +0000 (12:59 -0600)]
ENGR00174886-2 - EPDC fb: Don't register EPDC unless "epdc" kernel option set

- EPDC firmware build was breaking due to binary build pre-empting
the conversion from .fw.ihex->.fw.  Resolve this by forcing
firmware objects to be built in order.

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00174886-1 - EPDC fb: Don't register EPDC unless "epdc" kernel option set
Danny Nold [Wed, 22 Feb 2012 18:59:38 +0000 (12:59 -0600)]
ENGR00174886-1 - EPDC fb: Don't register EPDC unless "epdc" kernel option set

- Add E Ink support as a default for MX6 platforms
- Conditionalize registration of EPDC-related modules based on "epdc"
kernel command line option

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00174569: MX6 - Disable WAIT mode by default
Ranjani Vaidyanathan [Wed, 15 Feb 2012 15:15:06 +0000 (09:15 -0600)]
ENGR00174569: MX6 - Disable WAIT mode by default

None of the workarounds implemented in SW provide a stable solution for
the WAIT mode issue.
For this release, WAIT mode is disabled by default.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
11 years agoENGR00174914 MX6x HDMI implement HDMI driver suspend/resume function
Sandor Yu [Wed, 22 Feb 2012 08:08:24 +0000 (16:08 +0800)]
ENGR00174914 MX6x HDMI implement HDMI driver suspend/resume function

Added FB suspend/resume event process in HDMI driver.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00174734-3 usb: change function name for discharge data line
Peter Chen [Wed, 22 Feb 2012 03:38:55 +0000 (11:38 +0800)]
ENGR00174734-3 usb: change function name for discharge data line

In order to reflect the function well, it needs to discharge
both dp and dm, so change the function name.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00174734-2 usb: fix bugs that dp and dm are floating at device mode
Peter Chen [Fri, 17 Feb 2012 07:22:07 +0000 (15:22 +0800)]
ENGR00174734-2 usb: fix bugs that dp and dm are floating at device mode

At i.mx6x, the data line (dp and dm) are floating at device mode,
that is to say data line will be any values (0-3.6v).
So if the usb wakeup is enabled, there will be a wakeup interrupt
that causes usb to active mode.

In order to fix this problem well, we need to do below things:
- Need to discharge both dp and dm
- It needs to discharge data line when we switch to device mode and
usb cable is disconnected from the host, but not to disable discharge
after line state is SE0, the reason is that if we do not pulldown
the data line, the line state will be floating again, and possible cause
the wakeup interrupt.
- It needs to disable discharge data line when the usb cable connects at
device mode and usb device is connected at host mode, otherwise it will
affect signal quality.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00174734-1 usb: need to discharge both dp and dm
Peter Chen [Fri, 17 Feb 2012 07:14:25 +0000 (15:14 +0800)]
ENGR00174734-1 usb: need to discharge both dp and dm

Change to discharge both dp and dm

Signed-off-by: Peter Chen <peter.chen@freescale.com>
11 years agoENGR00174615:Enable AH-1613 GPS module
B38613 [Wed, 22 Feb 2012 05:34:50 +0000 (13:34 +0800)]
ENGR00174615:Enable AH-1613 GPS module

set GPIO config and disable UART3 DMA.

Signed-off-by: Zhou Jianzheng <B38613@freescale.com>
11 years agoENGR00174916 MX6x, console output hang 20 seconds when system bootup
Sandor Yu [Tue, 21 Feb 2012 10:05:14 +0000 (18:05 +0800)]
ENGR00174916 MX6x, console output hang 20 seconds when system bootup

It is cause by fb driver to init HDMI PHY
when HDMI driver not register.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00174911 MX6x Setting HDMI default mode according bootload cmdline
Sandor Yu [Tue, 21 Feb 2012 09:26:28 +0000 (17:26 +0800)]
ENGR00174911 MX6x Setting HDMI default mode according bootload cmdline

Origin HDMI default video mode is setting to VGA.
But the HDMI will change to the vide mode setting in bootloader
command line when the first time HDMI cable plugin.
It will cause GUI sometime can't not get correct FB video mode
when system bootup without HDMI cable plugout.

Signed-off-by: Sandor Yu <R01008@freescale.com>
11 years agoENGR00175080 [MX6] MMC: kernel failed to init eMMC card, after boot from eMMC
Ryan QIAN [Wed, 22 Feb 2012 01:32:51 +0000 (09:32 +0800)]
ENGR00175080 [MX6] MMC: kernel failed to init eMMC card, after boot from eMMC

issue:
if uboot is loaded from eMMC, the eMMC memory will be configured to DDR mode.
on kernel startup, it will initialize the card at SDR mode, while the register
of USDHC is still configured to DDR enable mode. Therefore, the initialization
of eMMC memory will fail.

fix:
- clear MIX_CTRL on sdhc platform init code.
- clear vselect bit of VENDOR_SPEC on sdhc platform init code.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
11 years agoENGR00171079-10: mx6q-arm2 cs42888 board sample rate settings
Adrian Alonso [Tue, 21 Feb 2012 20:45:49 +0000 (14:45 -0600)]
ENGR00171079-10: mx6q-arm2 cs42888 board sample rate settings

* Board mx6q-arm2 cs42888 supportted sample rate settings,
  pass them trough mxc_audio_codec_platform_data

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-9: mx53-ard cs42888 board sample rate settings
Adrian Alonso [Tue, 21 Feb 2012 20:44:29 +0000 (14:44 -0600)]
ENGR00171079-9: mx53-ard cs42888 board sample rate settings

* Board mx53-ard cs42888 supportted sample rate settings,
  pass them trough mxc_audio_codec_platform_data
* Update copyrigth year 2012

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-8 imx6q sabreauto cs42888 audio support
Adrian Alonso [Fri, 17 Feb 2012 00:42:33 +0000 (18:42 -0600)]
ENGR00171079-8 imx6q sabreauto cs42888 audio support

* Add imx6q sabreauto cs42888 audio support
* Set clock parent relations
  anaclk_2 -> pll4_audio_clk -> esai_root_clk
* Match corresponding sysclk frequency to keep lrclk_ratio
  relation on imx-cs4288 esai configuration

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-7 mx6q clock anaclk input source clock
Adrian Alonso [Fri, 17 Feb 2012 00:35:49 +0000 (18:35 -0600)]
ENGR00171079-7 mx6q clock anaclk input source clock

* Add mx6q anaclk_1/2 clock input source clock support
* anaclk can be bypassed to pll4_audio.
* _clk_audio_video_set_parent allows to bypass anaclk input
  clock source, for sabreauto platform anaclk_2 is the clock
  source for cs42888 and this clock needs to be bypassed to
  esai to supply the same master clk signal.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-6 imx-cs42888 sabreauto esai config
Adrian Alonso [Fri, 17 Feb 2012 00:32:27 +0000 (18:32 -0600)]
ENGR00171079-6 imx-cs42888 sabreauto esai config

* imx-cs42888 config esai for sabreauto support
* Select lrclk_ratio according to mclk_freq
* Set clkdiv relations
* Add safer codec reset, request and free gpio

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-5 imx6q-sabreauto set supportted sample rates
Adrian Alonso [Fri, 17 Feb 2012 21:09:31 +0000 (15:09 -0600)]
ENGR00171079-5 imx6q-sabreauto set supportted sample rates

* cs42888 set imx6q-sabreauto supportted play/record sample rates
  master clk signal is a fixed source clock @24576000Mhz, thus
  limit the play/record sample rates lrclk.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-4 cs42888 imx6q-sabreauto supportted rates
Adrian Alonso [Fri, 17 Feb 2012 19:38:14 +0000 (13:38 -0600)]
ENGR00171079-4 cs42888 imx6q-sabreauto supportted rates

* Get audio codec platform data and overwrite supportted
  sample rates if defined in machine board file.
* Remove machine soc specific sample rate settings.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-3 fsl_devices add generic audio codec platform data
Adrian Alonso [Fri, 17 Feb 2012 18:14:28 +0000 (12:14 -0600)]
ENGR00171079-3 fsl_devices add generic audio codec platform data

* Add generic audio codec platform_data to be able to
  pass specific settings to audio codecs found in Freescale
  target boards.
* cs42888 get this platform data to override specific settings

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-2 mx6 add anaclk_2 io buffers enable macros
Adrian Alonso [Fri, 17 Feb 2012 00:19:46 +0000 (18:19 -0600)]
ENGR00171079-2 mx6 add anaclk_2 io buffers enable macros

* Add ANACLK_2 input/output buffers enable macros.
  In orther to bypass anaclk_2 to pll4_audio need to
  set anaclk_2 input buffer enable bits.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00171079-1 mx6q-ard: esai remove record early param
Adrian Alonso [Fri, 17 Feb 2012 00:18:25 +0000 (18:18 -0600)]
ENGR00171079-1 mx6q-ard: esai remove record early param

* Remove record early param, pad GPIO9 shared with
  ESAI_FSR and WDOG1 doesn't conflict as WDOG1
  connection is open, NANDF_CS3 is shared with ESAI_TX1
  and connection is also open with nand socket, no other
  pad conflicts.
* Add esai interrupt gpio pin.

Signed-off-by: Adrian Alonso <aalonso@freescale.com>
11 years agoENGR00175049 - Remove section mismatch warning for Max17135
Danny Nold [Tue, 21 Feb 2012 20:16:08 +0000 (14:16 -0600)]
ENGR00175049 - Remove section mismatch warning for Max17135

- Entire max17135_regulator_init function declared as __init, which
should be safe, since it is only executed at driver init time.

Signed-off-by: Danny Nold <dannynold@freescale.com>
11 years agoENGR00174925 HDMI Kernel panic whatever plug in or plug out
Alan Tull [Tue, 21 Feb 2012 18:35:20 +0000 (12:35 -0600)]
ENGR00174925 HDMI Kernel panic whatever plug in or plug out

Panic is due to runtime being a NULL pointer.

Signed-off-by: Alan Tull <r80115@freescale.com>
11 years agoENGR00174897 i.mx6: clock: fix axi clock mux setting
Jason Liu [Mon, 20 Feb 2012 03:18:40 +0000 (11:18 +0800)]
ENGR00174897 i.mx6: clock: fix axi clock mux setting

Fix the error in the axi clock mux setting,
- reg = ((mux - 1) << MXC_CCM_CBCDR_AXI_ALT_SEL_OFFSET);
+ reg |= ((mux - 1) << MXC_CCM_CBCDR_AXI_ALT_SEL_OFFSET);

Signed-off-by: Jason Liu <r64343@freescale.com>
11 years agoENGR00174896 i.mx6: i.mx6l: clock: gpu/vpu clock adjustment
Jason Liu [Fri, 17 Feb 2012 11:07:17 +0000 (19:07 +0800)]
ENGR00174896 i.mx6: i.mx6l: clock: gpu/vpu clock adjustment

GPU clock on i.mx6dl:
gpu2d_core_clk source from gpu3d_shader_clk,
gpu3d_axi_clk source from mmdc0 directly, 400Mhz by default,
gpu2d_axi_clk source from mmdc0 directly, 400Mhz by default,

AXI_CLK on i.mx6dl:
set axi_clk parent to pll3_pfd_540M and divid by 2, which will
get 270Mhz by default,

VPU clock on i.mx6dl:
VPU will parent from axi_clk, then by default, it will be 270Mhz,
which will be suitable for VPU 1080p support.

pll3_pfd_540M on i.mx6dl will be dedicated to VPU/IPU/AXI_CLK use,
other users should not change this assignment

Signed-off-by: Jason Liu <r64343@freescale.com>
11 years agoENGR00174904 VPU: change spinlock to mutex
Sammy He [Tue, 21 Feb 2012 05:51:20 +0000 (13:51 +0800)]
ENGR00174904 VPU: change spinlock to mutex

The spinlock caused a bug warning when we enable the lock debug mechenism.

See the log:
"
BUG: sleeping function called from invalid context at mm/slub.c:847
in_atomic(): 1, irqs_disabled(): 0, pid: 6053, name: aiurdemux0:sink
INFO: lockdep is turned off.
no locks held by aiurdemux0:sink/6053.
[<80042f24>] (unwind_backtrace+0x0/0xfc) from
                                     [<800f1dec>] (kmem_cache_alloc+0x114/0x180)
[<800f1dec>] (kmem_cache_alloc+0x114/0x180) from
                                     [<800e425c>] (__get_vm_area_node+0x88/0x194)
[<800e425c>] (__get_vm_area_node+0x88/0x194) from
                                     [<800e4b78>] (__vmalloc_node_range+0x68/0x1c8)
[<800e4b78>] (__vmalloc_node_range+0x68/0x1c8) from
                                     [<800e4d18>] (__vmalloc_node+0x40/0x48)
[<800e4d18>] (__vmalloc_node+0x40/0x48) from
                                     [<800e4f04>] (vmalloc_user+0x2c/0x74)
[<800e4f04>] (vmalloc_user+0x2c/0x74) from [<8038eb28>] (vpu_ioctl+0x204/0x8b0)
[<8038eb28>] (vpu_ioctl+0x204/0x8b0) from [<8010643c>] (do_vfs_ioctl+0x80/0x5e4)
[<8010643c>] (do_vfs_ioctl+0x80/0x5e4) from [<801069d8>] (sys_ioctl+0x38/0x60)
[<801069d8>] (sys_ioctl+0x38/0x60) from [<8003d500>] (ret_fast_syscall+0x0/0x3c)
"

Change the spinlock to mutex to fix this issue.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Sammy He <r62914@freescale.com>