]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agoENGR00277458-4 ARM: imx_v7_defconfig: Build in imx-spdif
Nicolin Chen [Fri, 30 Aug 2013 07:40:28 +0000 (15:40 +0800)]
ENGR00277458-4 ARM: imx_v7_defconfig: Build in imx-spdif

Build imx-spdif as default

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00276567-9 ARM: defconfig: Enable si476x support in imx_v7_defconfig
Nicolin Chen [Thu, 29 Aug 2013 06:59:24 +0000 (14:59 +0800)]
ENGR00276567-9 ARM: defconfig: Enable si476x support in imx_v7_defconfig

Build-in si476x support as default.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00276567-7 ASoC: fsl: Add si476x machine driver
Nicolin Chen [Fri, 23 Aug 2013 11:55:00 +0000 (19:55 +0800)]
ENGR00276567-7 ASoC: fsl: Add si476x machine driver

Add si476x machine dirver for i.MX series SoC and binding doc.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00276567-6 mfd: si476x: Use default configuration when no platform data
Nicolin Chen [Thu, 29 Aug 2013 06:35:44 +0000 (14:35 +0800)]
ENGR00276567-6 mfd: si476x: Use default configuration when no platform data

This would allow the driver to work normally without specific platform data,
when using devicetree for example.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00276567-5 mfd: si476x: Add two involatile registers support
Nicolin Chen [Thu, 29 Aug 2013 06:27:32 +0000 (14:27 +0800)]
ENGR00276567-5 mfd: si476x: Add two involatile registers support

These two regsiters would be used by si476x-codec driver. Setting them as
involatile registers would allow codec driver to set the value into cache
and to sync them after power-up.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00276567-4 mfd: si476x: Fix power up failure
Nicolin Chen [Thu, 29 Aug 2013 06:25:22 +0000 (14:25 +0800)]
ENGR00276567-4 mfd: si476x: Fix power up failure

This's some logical error in power-up code, thus fix it.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoserial: i.MX: evaluate linux,stdout-path property
Sascha Hauer [Mon, 5 Aug 2013 12:40:45 +0000 (14:40 +0200)]
serial: i.MX: evaluate linux,stdout-path property

devicetrees may have the linux,stdout-path property to specify the
console. This patch adds support to the i.MX serial driver for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00277201-2 gpu: potential memory leak when umapping vg memory
Loren HUANG [Thu, 29 Aug 2013 03:27:12 +0000 (11:27 +0800)]
ENGR00277201-2 gpu: potential memory leak when umapping vg memory

Release the allocate memory properly to avoid memory leak.

Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Shawn Guo
10 years agoENGR00277201-1 3.10 kernel panic when running gpu stress test
Loren HUANG [Thu, 29 Aug 2013 03:18:18 +0000 (11:18 +0800)]
ENGR00277201-1 3.10 kernel panic when running gpu stress test

The kernel panic is caused by gcc 4.8.1 build logic.
8044b000:       e24bd010        sub     sp, fp, #16
8044b004:       e1500004        cmp     r0, r4
8044b008:       b1a00004        movlt   r0, r4
8044b00c:       a51b0018        ldrge   r0, [fp, #-24]
8044b010:       e89da810        ldm     sp, {r4, fp, sp, pc}
With this logic, r0 may return 0xffffffff randomly in Cortex A9 processor.

Current workaround is enable ARM_UNWIND to avoid such disassemble logic.

Signed-off-by: Loren HUANG <b02279@freescale.com>
10 years agoARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC
Jingoo Han [Fri, 21 Jun 2013 07:25:51 +0000 (16:25 +0900)]
ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC

Exynos5440 has two PCIe controllers which can be used as root complex
for PCIe interface.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agoENGR00269945: ARM: imx6: remove sabresd hdcp dtb targets
Shawn Guo [Wed, 28 Aug 2013 12:33:45 +0000 (20:33 +0800)]
ENGR00269945: ARM: imx6: remove sabresd hdcp dtb targets

The commit fc52e42 (ENGR00269945: ARM: imx6: remove sabresd hdcp dts
files) removes dts but leaves dtb targets in Makefile.  This causes
build issue with 'make ARCH=arm dtbs'.  Remove the dead targets.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00277003 IPUv3: Update IC RGB2YUV CSC matrix parameters
Liu Ying [Wed, 28 Aug 2013 03:07:52 +0000 (11:07 +0800)]
ENGR00277003 IPUv3: Update IC RGB2YUV CSC matrix parameters

This patch updates IPUv3 IC RGB to YUV color space conversion
matrix's parameters to align with the default VIV GPU CSC
implementation so that we may pass relevant Android CTS test
cases.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoARM: dts: enable the gpmi-nand for imx6q{dl}-sabreauto boards
Huang Shijie [Tue, 7 May 2013 07:39:20 +0000 (15:39 +0800)]
ARM: dts: enable the gpmi-nand for imx6q{dl}-sabreauto boards

enable the gpmi-nand for imx6q-sabreauto and imx6qdl-sabreauto boards.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
10 years agoENGR00269945: ARM: imx: add an ARMv7 only defconfig
Shawn Guo [Wed, 28 Aug 2013 08:03:53 +0000 (16:03 +0800)]
ENGR00269945: ARM: imx: add an ARMv7 only defconfig

To utilize ARMv7 optimization, let's maintain an ARMv7 only defconfig
imx_v7_defconfig.  It's generated as below.

 * make ARCH=arm imx_v6_v7_defconfig
 * make ARCH=arm menuconfig
 * System Type  ---> Multiple platform selection  ---> Deselect ARMv6
   based platforms (ARM11)
 * make ARCH=arm savedefconfig
 * cp defconfig arch/arm/configs/imx_v7_defconfig

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00276705 Fix build error for wayland driver in Yocto environment
ganyong [Wed, 28 Aug 2013 06:31:36 +0000 (14:31 +0800)]
ENGR00276705 Fix build error for wayland driver in Yocto environment

Update the macro gcmPROFILE_DECLARE_ONLY to fix Werror(unused-local-typedefs)
when gcdENABLE_PROFILING is not enabled.

Signed-off-by Yong Gan <B45748@freescale.com>

10 years agoENGR00269945: ARM: imx6: maintain pinctrl setting outside bus topology
Shawn Guo [Tue, 27 Aug 2013 03:47:29 +0000 (11:47 +0800)]
ENGR00269945: ARM: imx6: maintain pinctrl setting outside bus topology

The patch moves all pinctrl setting nodes outside bus topology using
label, so that we can reduce some indent levels for these nodes and
avoid churning main device nodes structure chunk.

While at it, the patch also sorts those pinctrl setting nodes
alphabetically.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00269945: ARM: imx6: remove sabresd hdcp dts files
Shawn Guo [Tue, 27 Aug 2013 03:56:44 +0000 (11:56 +0800)]
ENGR00269945: ARM: imx6: remove sabresd hdcp dts files

Since U-Boot provide good support for modify device tree blob (DTB) at
run-time with 'fdt' command, we do not have to maintain extra DTS files
just for pin conflict case.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00276865 hwmon: mma8451: Change warning to error
Luwei Zhou [Tue, 27 Aug 2013 09:17:28 +0000 (17:17 +0800)]
ENGR00276865 hwmon: mma8451: Change warning to error

Change the string tranform warning to error.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00275031-2 ARM: dts: add lcdif and backlight support
Robby Cai [Thu, 22 Aug 2013 06:39:42 +0000 (14:39 +0800)]
ENGR00275031-2 ARM: dts: add lcdif and backlight support

Add dts for lcdif, backlight(pwm).
- use display timing dts bindings for lcd timing setting.
- add an axi clock node for mx23/mx28 to accommadate the change in driver

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00275031-1 mx6sl fb: support lcdif framebuffer on 3.10
Robby Cai [Thu, 22 Aug 2013 06:35:09 +0000 (14:35 +0800)]
ENGR00275031-1 mx6sl fb: support lcdif framebuffer on 3.10

re-use the upstreaming mxsfb.c code.
- add the lcdif axi clock for register and dram access
- set the lcdif pix's parent as pll5_video to get most accurate pix clock
- add binding doc for lcdif dts

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00276684-1 hwmon: isl29023 Add support for isl29023
Luwei Zhou [Mon, 26 Aug 2013 08:10:17 +0000 (16:10 +0800)]
ENGR00276684-1 hwmon: isl29023  Add support for isl29023

Cherry-pick  isl29023.h from 3.0.35.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00276501 sensor: Add mag3110 driver support
Luwei Zhou [Mon, 26 Aug 2013 02:40:15 +0000 (10:40 +0800)]
ENGR00276501 sensor: Add mag3110 driver support

Add mag3110.c to support mag3110 sensor. Copy
the file from 3.0.35_4.1.0. Add Kconfig and
Makefile support.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00275983 sensor: Add mma8451 sensor driver
Luwei Zhou [Wed, 21 Aug 2013 08:53:32 +0000 (16:53 +0800)]
ENGR00275983 sensor: Add mma8451 sensor driver

Add mxa-mma8451.c to support mma8451 sensor. Copy
the file from 3.0.35_4.1.0. Modificaiton List:
1.Remove __devinit,__devexit out of code
2.Support device tree.
3.Replace simple_strtoul with strict_strtoul.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00275999 Makefile:Support mma8451 sensor on i.MX6Q/DL SD/AUTO
Luwei Zhou [Wed, 21 Aug 2013 05:14:24 +0000 (13:14 +0800)]
ENGR00275999 Makefile:Support mma8451 sensor on i.MX6Q/DL SD/AUTO

Add mma8451 in Makefile.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00275992 Kconfig: Support mma8451 sensor on i.MX6Q/DL SD/AUTO
Luwei Zhou [Wed, 21 Aug 2013 05:08:50 +0000 (13:08 +0800)]
ENGR00275992 Kconfig: Support mma8451 sensor on i.MX6Q/DL SD/AUTO

Add mma8451 in Kconfig.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00275739 Correct GPU delay implmentation in kernel code
Loren HUANG [Mon, 19 Aug 2013 14:29:36 +0000 (22:29 +0800)]
ENGR00275739 Correct GPU delay implmentation in kernel code

Original code can't handle delay larger than 1s.

Signed-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
10 years agoENGR00275737-1 dts: Enable gpu in MX6SL
Loren HUANG [Wed, 14 Aug 2013 04:57:02 +0000 (12:57 +0800)]
ENGR00275737-1 dts: Enable gpu in MX6SL

Add gpu information in mx6sl dts.

Signed-off-by: Loren HUANG <b02279@freescale.com>
10 years agoENGR00275473-2 Support PU regulator on/off in VPU driver
Hongzhang Yang [Fri, 16 Aug 2013 02:33:41 +0000 (10:33 +0800)]
ENGR00275473-2 Support PU regulator on/off in VPU driver

Add functions to hide different implemention for different
kernel
- vpu_power_get: get/put power/regulator
- vpu_power_up: enable/disable power/regulator
- vpu_reset

Implement regulator operations for Linux 3.10
- find regulator from VPU device node property
  pu-supply

Replace printk/pr_xxx with dev_xxx

Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
10 years agoENGR00275473-1 Support PU regulator on/off in VPU driver
Hongzhang Yang [Mon, 19 Aug 2013 10:12:48 +0000 (18:12 +0800)]
ENGR00275473-1 Support PU regulator on/off in VPU driver

- add pu-supply property to VPU device node

Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
10 years agoENGR00275542-4 ARM: imx: Enable thermal driver for i.MX6SL
Anson Huang [Mon, 19 Aug 2013 20:19:34 +0000 (16:19 -0400)]
ENGR00275542-4 ARM: imx: Enable thermal driver for i.MX6SL

Add thermal dts to enable thermal driver for i.MX6SL.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00258733 WEIM-NOR: mtd: cfi_cmdset_0002: Do not release the mutex lock
Huang Shijie [Fri, 12 Apr 2013 07:33:11 +0000 (15:33 +0800)]
ENGR00258733 WEIM-NOR: mtd: cfi_cmdset_0002: Do not release the mutex lock

The NOR(M29W256GL7AN6E) may suffers a write-buffer timeout during
the bonnie++/ubifs stress test. Micron has confirmed that it is
a silicon bug in the Nor.

This patch is just a workaround to fix this issue for this NOR.

With this patch, the read/write/erase will do in the synchronous way.

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00257947 mtd: use memcpy to replace the memcpy_fromio
Huang Shijie [Mon, 8 Apr 2013 08:56:46 +0000 (16:56 +0800)]
ENGR00257947 mtd: use memcpy to replace the memcpy_fromio

During the read of NOR, the kernel actually calls the inline_map_copy_from()
to read the data out. And inline_map_copy_from() will use the memcpy_fromio()
to do the real job.

The memcpy_fromio macro maps _memcpy_fromio() in the current code.
But the _memcpy_fromio() will use readb() to do the copy work one byte
by one byte. This makes the read performance of NOR very slow(about 2~3MB/s).

A similiar discussion could be found in:
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.html

This patch replace the memcpy_fromio with memcpy which is optimized by the
kernel.

The following is the result from mtd_speedtest with M29W256GL7AN6E:
=================================================
mtd_speedtest: MTD device: 2
mtd_speedtest: not NAND flash, assume page size is 512 bytes.
mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512,
count of eraseblocks 32, pages per eraseblock 256, OOB size 0
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 845 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 19504 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 845 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 19140 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 846 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 19320 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 233 KiB/s
mtd_speedtest: Testing 2x multi-block erase speed
mtd_speedtest: 2x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 4x multi-block erase speed
mtd_speedtest: 4x multi-block erase speed is 224 KiB/s
mtd_speedtest: Testing 8x multi-block erase speed
mtd_speedtest: 8x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 16x multi-block erase speed
mtd_speedtest: 16x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 32x multi-block erase speed
mtd_speedtest: 32x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 64x multi-block erase speed
mtd_speedtest: 64x multi-block erase speed is 224 KiB/s
mtd_speedtest: finished
=================================================

Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00275619 net: fec: set reset phy gpio to high in .probe().
Fugang Duan [Mon, 19 Aug 2013 02:58:24 +0000 (10:58 +0800)]
ENGR00275619 net: fec: set reset phy gpio to high in .probe().

In .probe() call fec_of_init() to parse phy reset gpio, and
request the gpio for later use. For the init, we must set the
gpio to high to let phy power on.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00275004-4: power: sabresd_battery: add sabresd_battery driver
Robin Gong [Tue, 13 Aug 2013 09:49:54 +0000 (17:49 +0800)]
ENGR00275004-4: power: sabresd_battery: add sabresd_battery driver

Add sabresd battery driver which based on Max8903 charger IC.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00275394 i.MX6:IEEE1588: disable phy Ar8031 SmartEEE
Luwei Zhou [Thu, 15 Aug 2013 06:35:32 +0000 (14:35 +0800)]
ENGR00275394 i.MX6:IEEE1588: disable phy Ar8031 SmartEEE

Connecting two boards directly more than 2 hours, Ar8031 phy link
status generates glitch, which cause ethernet link down/up issue, but
ethernet still be active. There have three cases to validate the issue:

Item#1: If add performance stress test while runing IEEE1588, the link
down/up issue cannot be found.
Item#2: If insert switch between two net nodes and run IEEE1588 test,
the issue also cannot be found.
Item#3: If disable AR8031 SmartEEE feature, after two days overnight test,
no such issue found.

The issue is caused by phy Ar8031 SmartEEE feature, Item#1 and Item#2 can
prevent phy enter lpm mode, which match the Item#3 test result, so disable
SmartEEE feature to avoid the link issue generation.

Signed-off-by: Luwei Zhou <B45643@freescale.com>
10 years agoENGR00275023-1 ARM: imx: Enable unsafe resume for MMC
Anson Huang [Wed, 14 Aug 2013 15:26:46 +0000 (11:26 -0400)]
ENGR00275023-1 ARM: imx: Enable unsafe resume for MMC

As we often use SD/MMC rootfs, need to enable this configuration
for successfully resume of rootfs, otherwise, rootfs will be
broken after resume.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00275384 touch: config: Add egalax touch support in Kconfig
Luwei Zhou [Thu, 15 Aug 2013 04:20:19 +0000 (12:20 +0800)]
ENGR00275384 touch: config: Add egalax touch support in Kconfig

Add  egalax touchscreen as single-touch support in Kconfig.

Signed-off-by: Luwei Zhou <B45643@freescale.com>
10 years agoENGR00275310 mxc: asrc: update asrc by dma_slave_config is updated.
Shengjiu Wang [Wed, 14 Aug 2013 10:54:02 +0000 (18:54 +0800)]
ENGR00275310 mxc: asrc: update asrc by dma_slave_config is updated.

Because of adding two parameter in dma_slave_config, so asrc driver need to
be updated.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
10 years agoENGR00275246-05: net: fec: add mac address init for imx25/imx53 fec
Fugang Duan [Wed, 14 Aug 2013 10:06:52 +0000 (18:06 +0800)]
ENGR00275246-05: net: fec: add mac address init for imx25/imx53 fec

Add mac address init for imx25/imx53 fec in restart function.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00275246-04: net: fec: fix phy reset operation
Fugang Duan [Wed, 14 Aug 2013 09:55:25 +0000 (17:55 +0800)]
ENGR00275246-04: net: fec: fix phy reset operation

Current driver only do phy reset in probe function, which is
not right. Since some phy clock is disabled after module probe,
the phy enter abnormal status, which needs do reset to recovery
the phy. And do ifconfig ethx up/down test, the phy also enter
abnormal status.

The log as:
libphy: 2188000.ethernet:04 - Link is Up - 10/Full
libphy: 2188000.ethernet:04 - Link is Up - 100/Full
libphy: 2188000.ethernet:04 - Link is Down
libphy: 2188000.ethernet:04 - Link is Up - 10/Half
libphy: 2188000.ethernet:04 - Link is Up - 10/Full
libphy: 2188000.ethernet:04 - Link is Up - 100/Full
...

So, do phy reset if ethx up/down or do clock enable/disable
operation.

Signed-off-by: Fugang Duan <B38611@freescale.com>
10 years agoENGR00274585-9 ASoC: change error message to debug message
Shengjiu Wang [Fri, 9 Aug 2013 06:45:51 +0000 (14:45 +0800)]
ENGR00274585-9 ASoC: change error message to debug message

This error message is not actual error, which is a warning. When using
FE/BE, if there is widget which is used by playback and capture route, then
this message will be printed.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
10 years agoENGR00274585-5 ASoC: fsl: add cs42888 machine driver.
Shengjiu Wang [Mon, 12 Aug 2013 06:16:32 +0000 (14:16 +0800)]
ENGR00274585-5 ASoC: fsl: add cs42888 machine driver.

add cs42888 machine driver.
add bindings document of cs42888 machine.

Signed-off-by: Shengjiu Wang <b02247@freescale.com>
10 years agoENGR00274412-3 ARM: imx_v6_v7_defconfig: enable ePxP driver
Robby Cai [Tue, 13 Aug 2013 09:33:16 +0000 (17:33 +0800)]
ENGR00274412-3 ARM: imx_v6_v7_defconfig: enable ePxP driver

Enable ePxP DMAENGINE driver by default.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00274412-2 ARM: dts: enable ePxP for imx6dl_sd and imx6sl_evk
Robby Cai [Mon, 12 Aug 2013 07:07:18 +0000 (15:07 +0800)]
ENGR00274412-2 ARM: dts: enable ePxP for imx6dl_sd and imx6sl_evk

Enable ePxP in DTS for imx6 duallite sabresd and imx6 sololite evk board.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00274412-1 dma: pxp: Port ePxP driver to 3.10
Robby Cai [Thu, 8 Aug 2013 03:23:54 +0000 (11:23 +0800)]
ENGR00274412-1 dma: pxp: Port ePxP driver to 3.10

It's ported from v3.5.7, which contains ePxP DMAENGINE driver and
a client driver named pxp_device. This patch also includes the changes:
- use uapi header file
- remove VM_RESERVED since it's deprecated, and drop redundant VM_IO flag
  since it's automatically set in remap_pfn_range()
- use <linux/platform_data/dma-imx.h> instead of <mach/dma.h>
- use devm_kzalloc() instead in pxp_probe()
- use macro __KERNEL__ in pxp_dma uapi header to avoid definition conflict

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00274059-02 ARM: Add new dts for imx6q/imx6dl SabreSD hdcp
Sandor Yu [Tue, 13 Aug 2013 08:55:20 +0000 (16:55 +0800)]
ENGR00274059-02 ARM: Add new dts for imx6q/imx6dl SabreSD hdcp

hdcp ddc pins conflict with i2c2,
add new dts file for imx6q and imx6dl SabreSD board,
enable hdcp and disable i2c2 in these dts files.
Remove hdmi pins property from mx6qdl-sabresd.dtsi.

Signed-off-by: Sandor Yu <R01008@freescale.com>
10 years agoENGR00274226-01 MX6 HDMI: document for mxc specific properties.
Sandor Yu [Wed, 7 Aug 2013 11:12:28 +0000 (19:12 +0800)]
ENGR00274226-01 MX6 HDMI: document for mxc specific properties.

Add hdmi core and video dts properties description document.

Signed-off-by: Sandor Yu <R01008@freescale.com>
10 years agoENGR00274473-4 mxc: gpu-viv: support regulator on/off
Anson Huang [Thu, 8 Aug 2013 21:19:08 +0000 (17:19 -0400)]
ENGR00274473-4 mxc: gpu-viv: support regulator on/off

Support PU regulator dynamical on/off on kernel v3.10.

Acked-by: Jason Liu
Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274473-3 ARM: dts: imx6qdl: remove PU LDO always-on attribute
Anson Huang [Thu, 8 Aug 2013 21:15:19 +0000 (17:15 -0400)]
ENGR00274473-3 ARM: dts: imx6qdl: remove PU LDO always-on attribute

PU regulator can be turned off when there is no PU module
running, so remove always-on attribute.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274473-1 regulator: add more notifier events
Anson Huang [Thu, 8 Aug 2013 21:05:38 +0000 (17:05 -0400)]
ENGR00274473-1 regulator: add more notifier events

Some hardware modules need strict flows according
to regulator's enable/disable, such as for i.MX6
SOC's PU regulator, there is another power gate
in GPC module, it needs to disable PU modules' clock
before PU regulator is disabled and need to enable
clock right after PU regulator is enabled, then it
can do GPC's power gate operation.

So we need to add REGULATOR_EVENT_PRE_DISABLE and
REGULATOR_EVENT_ENABLE for regulator's notifier events.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274761-3 Upgrade VPU driver for Linux 3.10 kernel
Hongzhang Yang [Mon, 12 Aug 2013 07:38:07 +0000 (15:38 +0800)]
ENGR00274761-3 Upgrade VPU driver for Linux 3.10 kernel

Modify mxc_vpu.c to adapt to kernel 3.10 change
- Remove all references to header files in mach folder
- Include linux/clk.h instead of mach/clock.h
- Call device_reset instead of imx_src_reset_vpu
- Dummy PU and PM api callings before they are ready
- Dummy cpu_is_mx5? api callings
- Remove VM_RESERVED flags
- Call gen_pool instead of iram_alloc

Modify mxc_vpu.h
- Change CONFIG_ARCH_MX6 to CONFIG_SOC_IMX6Q

Modify Kconfig:
- Change ARCH_MX? to SOC_IMX?, remove ARCH_MX3/ARCH_MX37
  because for MX3 series only SOC_IMX31 and SOC_IMX35 are
  defined in Linux 3.10, and these chips don't have VPU.
  Need to add SOC_IMX37 to VPU Kconfig if MX37 could be
  supported later.

Add VPU to config and build path
- mxc/Kconfig
- mxc/Makefile

Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
10 years agoENGR00274761-2 Upgrade VPU driver for Linux 3.10 kernel
Hongzhang Yang [Mon, 12 Aug 2013 07:23:41 +0000 (15:23 +0800)]
ENGR00274761-2 Upgrade VPU driver for Linux 3.10 kernel

Add VPU node in dtsi
- Add VPU node (common part) in imx6qdl.dtsi. It was defined
  in imx6.dtsi in Linux 3.5.7.
- Add "iram" property for gen_pool api callings
- Add "resets" property for device_reset api calling
- Add VPU node (soc specific part) in imx6q.dtsi and imx6dl.dtsi

Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
10 years agoENGR00274761-1 Upgrade VPU driver for Linux 3.10 kernel
Hongzhang Yang [Mon, 12 Aug 2013 07:14:23 +0000 (15:14 +0800)]
ENGR00274761-1 Upgrade VPU driver for Linux 3.10 kernel

Pick files from origin/imx_3.5.7 commit 135bf02a0727ea5ce96
- mxc_vpu.h is picked from arch/arm/plat-mxc/include/mach/
  and put to include/linux/
- drivers/mxc/vpu/Kconfig
- drivers/mxc/vpu/Makefile
- drivers/mxc/vpu/mxc_vpu.c

Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
10 years agoENGR00274768-1 ARM: imx6q: update gint bit definitions of IOMUXC_GPR1
Anson Huang [Mon, 12 Aug 2013 21:13:52 +0000 (17:13 -0400)]
ENGR00274768-1 ARM: imx6q: update gint bit definitions of IOMUXC_GPR1

Need to use IOMUXC_GPR1_GINT bit for cpuidle driver, so update this
bit's definitions.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274821 ARM: Add i.MX6 FB properties to dts for SabreAuto board
Sandor Yu [Mon, 12 Aug 2013 10:51:52 +0000 (18:51 +0800)]
ENGR00274821 ARM: Add i.MX6 FB properties to dts for SabreAuto board

- Add Framebuffer and ldb properties to dts for i.MX6Q and
i.MX6DL SabreAuto board.
- Add PWM3 and backlight properties to dts for i.MX6Q and
i.Mx6DL SabreAuto board.
- fix i2c2 indent in dts.

Signed-off-by: Sandor Yu <R01008@freescale.com>
10 years agoENGR00274247: touch: add egalax touch driver support on i.MX6Q/DL AUTO/SD
Luwei [Thu, 8 Aug 2013 08:35:24 +0000 (16:35 +0800)]
ENGR00274247: touch: add egalax touch driver support on i.MX6Q/DL AUTO/SD

Copy the egalax touch screen driver from linux3.5.7.Make some
modification.Remove the __devinit __devexit __devexit_p out
of the file, because 3.10 does not support.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00274749 ARM: imx6q: Improve lvds cabc gpio request logic
Liu Ying [Mon, 12 Aug 2013 04:57:25 +0000 (12:57 +0800)]
ENGR00274749 ARM: imx6q: Improve lvds cabc gpio request logic

This patch removes the unnecessary gpio_set_value() and
gpio_free() function calls after request the gpios with
gpio_requestion_one() successfully. Also, this patch adds
a warning message if the request fails.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00264465-3 arm: imx6qdl:Disable Hannstar LVDS panel CABC
Liu Ying [Tue, 28 May 2013 05:49:06 +0000 (13:49 +0800)]
ENGR00264465-3 arm: imx6qdl:Disable Hannstar LVDS panel CABC

Hannstar LVDS panel CABC function turns backlight density
automatically according to display content. This may introduce
annoying unstable backlight when display content changes.
So, this patch disables the CABC function if a platform's of
device tree provides controlling gpios in lvds_cabc_ctrl node.

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

10 years agoENGR00264465-2 arm: dts: imx6qdl-sabresd:Add lvds_cabc_ctrl node
Liu Ying [Tue, 28 May 2013 05:45:18 +0000 (13:45 +0800)]
ENGR00264465-2 arm: dts: imx6qdl-sabresd:Add lvds_cabc_ctrl node

This patch adds lvds_cabc_ctrl node in imx6qdl-sabresd.dtsi file.
This node contains two gpio entries for the Hannstar LVDS panel
CABC control function on LVDS0 and LVDS1 interfaces.

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

10 years agoENGR00264465-1 arm: dts: imx6qdl-sabresd:Add LVDS CABC pinmux
Liu Ying [Tue, 28 May 2013 05:38:20 +0000 (13:38 +0800)]
ENGR00264465-1 arm: dts: imx6qdl-sabresd:Add LVDS CABC pinmux

This patch adds pinmux entries for LVDS0 and LVDS1 to control the
Hannstar LVDS panel CABC function. Pin NANDF_CS2 and pin NANDF_CS3
are configured to be gpio so that they can control the CABC function.

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

10 years agoENGR00274056-4 mxc: gpu-viv: add gpu freq throttle
Anson Huang [Thu, 8 Aug 2013 18:11:30 +0000 (14:11 -0400)]
ENGR00274056-4 mxc: gpu-viv: add gpu freq throttle

add gpu freq throttle to protect SOC, when temperature
is too high, lower gpu freq to 4/64, and gpu freq will
restore when SOC cool down.

Acked-by: Jason Liu
Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274056-3 thermal: imx: binding device cooling to thermal
Anson Huang [Thu, 8 Aug 2013 17:57:23 +0000 (13:57 -0400)]
ENGR00274056-3 thermal: imx: binding device cooling to thermal

1. imx thermal depends on device cooling config, as only cpu
cooling is not enough for cooling down SOC;

2. binding device cooling to imx thermal driver.

3. add temperature buffer for passive trip, which means when
temperature cross passive trip, cooling devices will be triggered,
but only when temperature drop to more than the number we defined(10 C)
lower than passive trip, cooling devices will be canceled. this
is to avoid triggering/canceling cooling device back and forth when
temperature is around passive trip.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274056-1 thermal: add device cooling for thermal driver
Anson Huang [Thu, 8 Aug 2013 17:20:40 +0000 (13:20 -0400)]
ENGR00274056-1 thermal: add device cooling for thermal driver

cpu cooling is not enough when temperature is
too hot, as some devices may contribute a lot of heat
to SOC, such as GPU, so we need to add device cooling
as well, when system is too hot, devices can also take
their actions to lower SOC temperature.

when temperature cross the passive trip, device cooling
driver will send out notification, those devices who
register this devfreq_cooling notification will take
actions to lower SOC temperature.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00274286-3 arm: dts: imx6qdl: Add asrc support
Nicolin Chen [Wed, 7 Aug 2013 08:28:55 +0000 (16:28 +0800)]
ENGR00274286-3 arm: dts: imx6qdl: Add asrc support

Complete required DT bindings.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00274286-2 mxc: asrc: Add asrc m2m driver
Nicolin Chen [Wed, 7 Aug 2013 08:28:35 +0000 (16:28 +0800)]
ENGR00274286-2 mxc: asrc: Add asrc m2m driver

Add ASRC M2M driver.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00274286-1 dma: imx-sdma: Use correct sdma script for asrc
Nicolin Chen [Wed, 7 Aug 2013 08:27:43 +0000 (16:27 +0800)]
ENGR00274286-1 dma: imx-sdma: Use correct sdma script for asrc

Use correct sdma script for ASRC.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00274215: dts: imx6: add egalax support on i.MX6Q/DL AUTO/SD
Luwei [Thu, 8 Aug 2013 03:07:10 +0000 (11:07 +0800)]
ENGR00274215: dts: imx6: add egalax support on i.MX6Q/DL AUTO/SD

Add egalax touchscreen devicetree support on i.MX6Q/DL sabre-auto/sd platform.

Signed-off-by: Luwei Zhou <b45643@freescale.com>
10 years agoENGR00273425 ARM: imx: enable suspend code for imx6q/dl
Robin Gong [Mon, 5 Aug 2013 09:40:02 +0000 (17:40 +0800)]
ENGR00273425 ARM: imx: enable suspend code for imx6q/dl

Enable DSM code for imx6, the code porting form kernel 3.5.7.So with the patch,
we can suspend imx6q, imx6dl from iram to decrease power number of DDR IO:
save ~15mA@1.5V on imx6qsabresd, but need more ~30us in suspend and resume back.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00273974-3 ARM: imx_v6_v7_defconfig: enable mxc vout driver
Liu Ying [Mon, 5 Aug 2013 07:48:24 +0000 (15:48 +0800)]
ENGR00273974-3 ARM: imx_v6_v7_defconfig: enable mxc vout driver

Enable the mxc v4l2 output driver.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00273974-2 ARM: dts: imx6qdl-sabresd: enable mxc vout
Liu Ying [Mon, 5 Aug 2013 07:48:11 +0000 (15:48 +0800)]
ENGR00273974-2 ARM: dts: imx6qdl-sabresd: enable mxc vout

Enable the mxc vout for imx6q{dl}-sabresd boards.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00273974-1 media: port mxc vout driver from 3.5.7 to 3.10
Liu Ying [Mon, 5 Aug 2013 07:47:22 +0000 (15:47 +0800)]
ENGR00273974-1 media: port mxc vout driver from 3.5.7 to 3.10

This is porting mxc vout driver from imx_3.5.7 kernel to
imx_3.10 kernel.

* Put the driver in drivers/media/platform/ directory instead
  of drivers/media/video/ directory, since the later one is
  renamed to the former one in 3.10 kernel.
* Change the ipu-v3.h header file from <mach/ipu-v3.h> to
  <linux/ipu-v3.h>.
* Change the mxc_vidioc_s_crop() function's implementation since
  the definition of the vidioc_s_crop() function is modified to
  make the last argument be constant.
* Set vfl_dir to be VFL_DIR_TX since the ioctrl validity checks
  are improved in 3.10 kernel.
* Remove 'defaut y' setting for VIDEO_MXC_OUTPUT and
  VIDEO_MXC_IPU_OUTPUT Kconfigs. They may be configured by kernel
  default configure or by user.
* Make VIDEO_MXC_OUTPUT Kconfig depend on FB_MXC Kconfig since
  we need framebuffers to be rendered.
* Make VIDEO_MXC_IPU_OUTPUT Kconfig be tristate.
* Split <linux/mxc_v4l2.h> header file up into include/linux/
  and include/uapi/linux/ directories so that the userspace may
  include the mxc_v4l2.h header file.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00273852 ipu: header file split up
Liu Ying [Mon, 5 Aug 2013 07:33:49 +0000 (15:33 +0800)]
ENGR00273852 ipu: header file split up

This patch splits ipu header file up to
include/linux/ directory and include/uapi/linux/
directory so that the userspace may include
the ipu header file. This patch also fixes some
annotations and macros about the header file's
naming.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00273972-2 ARM:dts:imx6qdl-sabresd:Add pfuze100 support on Sabresd board
Robin Gong [Tue, 6 Aug 2013 04:31:15 +0000 (12:31 +0800)]
ENGR00273972-2 ARM:dts:imx6qdl-sabresd:Add pfuze100 support on Sabresd board

Add pfuze100 regulator device node in imx6qdl-sabresd.dtsi.

Signed-off-by: Robin Gong <b38343@freescale.com>
10 years agoENGR00274035 UAPI: split the header file linux/pxp_dma.h
Robby Cai [Wed, 31 Jul 2013 02:31:17 +0000 (10:31 +0800)]
ENGR00274035 UAPI: split the header file linux/pxp_dma.h

Move the user-space part in include/linux/pxp_dma.h into
include/uapi/linux/pxp_dma.h due to the UAPI introduced.

Signed-off-by: Robby Cai <R63905@freescale.com>
10 years agoENGR00273867-2 ARM: imx: Enable cpuidle driver by default
Anson Huang [Mon, 5 Aug 2013 21:18:07 +0000 (17:18 -0400)]
ENGR00273867-2 ARM: imx: Enable cpuidle driver by default

Enable cpuidle driver by default.

Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00273838-9 ASoC: WM8962: Remove 64KHz sample rate support
Nicolin Chen [Mon, 5 Aug 2013 09:26:45 +0000 (17:26 +0800)]
ENGR00273838-9 ASoC: WM8962: Remove 64KHz sample rate support

64KHz is not in the auto samplerate list of WM8962. When playing a 64KHz
wave file, 'Unsupported rate 64000Hz' will be prompted.

Thus remove to let alsa-lib handle it.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
10 years agoENGR00273500 IPUv3 dev: use wait_event_interruptible for ipu task
Liu Ying [Thu, 1 Aug 2013 08:32:11 +0000 (16:32 +0800)]
ENGR00273500 IPUv3 dev: use wait_event_interruptible for ipu task

The ipu task thread checks outstanding tasks to be done on waiting
event uninterruptibly on the function find_task()'s return value.
However, sleeping on waiting event uninterruptibly contributes to
system load average value. This patch changes wait_event() to
wait_event_interruptible() to avoid the load average value inflation.

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

10 years agoARM: dts: add SPI/NOR for mx6q{dl}-sabreauto boards
Huang Shijie [Thu, 9 May 2013 03:29:03 +0000 (11:29 +0800)]
ARM: dts: add SPI/NOR for mx6q{dl}-sabreauto boards

Since the SPI/NOR has pin conflict with the WEIM NOR,
we disable the spi/nor by default.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
10 years agoserial: imx: Fix serial clock unbalance
Fabio Estevam [Sun, 9 Jun 2013 18:17:18 +0000 (15:17 -0300)]
serial: imx: Fix serial clock unbalance

Since commit 0c375501 (serial: imx: enable the clocks for console), the
imx_startup() function calls clk_prepare_enable conditionally, so we
need to call clk_disable_unprepare inside imx_shutdown() under the same
condition to avoid unbalanced clock calls.

This avoids the following warning:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 70 at drivers/clk/clk.c:780 __clk_disable+0x68/0x84()
Modules linked in:
CPU: 0 PID: 70 Comm: mountall Not tainted 3.10.0-rc4-next-20130607+ #435
Backtrace:
[<800116a4>] (dump_backtrace+0x0/0x10c) from [<80011844>] (show_stack+0x18/0x1c)
 r6:8069f4e8 r5:0000030c r4:00000000 r3:00000000
[<8001182c>] (show_stack+0x0/0x1c) from [<8053bce0>] (dump_stack+0x78/0x94)
[<8053bc68>] (dump_stack+0x0/0x94) from [<80023df8>] (warn_slowpath_common+0x6c/0x8c)
 r4:00000000 r3:00000000
[<80023d8c>] (warn_slowpath_common+0x0/0x8c) from [<80023e3c>] (warn_slowpath_null+0x24/0x2c)
 r8:bf2ed008 r7:bfaa9810 r6:000f0013 r5:bf824b80 r4:bf824b80
[<80023e18>] (warn_slowpath_null+0x0/0x2c) from [<8041af84>] (__clk_disable+0x68/0x84)
[<8041af1c>] (__clk_disable+0x0/0x84) from [<8041b098>] (clk_disable+0x20/0x2c)
 r4:600f0013 r3:00000001
[<8041b078>] (clk_disable+0x0/0x2c) from [<802c93e8>] (imx_shutdown+0xbc/0xec)
 r5:bf824b80 r4:bfaa9810
[<802c932c>] (imx_shutdown+0x0/0xec) from [<802c63a0>] (uart_port_shutdown+0x34/0x40)
 r5:bf86f860 r4:bfaa9810
[<802c636c>] (uart_port_shutdown+0x0/0x40) from [<802c68c0>] (uart_shutdown+0x98/0xc4)
 r4:bf86f800 r3:00000000
[<802c6828>] (uart_shutdown+0x0/0xc4) from [<802c7514>] (uart_close+0x5c/0x198)
 r7:bfaa9810 r6:bf274400 r5:bf86f86c r4:bf86f800
[<802c74b8>] (uart_close+0x0/0x198) from [<802ac648>] (tty_release+0xf8/0x500)
[<802ac550>] (tty_release+0x0/0x500) from [<800c5a30>] (__fput+0x9c/0x208)
[<800c5994>] (__fput+0x0/0x208) from [<800c5bac>] (____fput+0x10/0x14)
[<800c5b9c>] (____fput+0x0/0x14) from [<80040234>] (task_work_run+0xb4/0xec)
[<80040180>] (task_work_run+0x0/0xec) from [<80029238>] (do_exit+0x2b0/0x920)
 r8:8000e144 r7:000000f8 r6:bf306300 r5:00000000 r4:bfac1180
[<80028f88>] (do_exit+0x0/0x920) from [<80029a4c>] (do_group_exit+0x50/0xd4)
 r7:000000f8
[<800299fc>] (do_group_exit+0x0/0xd4) from [<80029ae8>] (__wake_up_parent+0x0/0x28)
 r7:000000f8 r6:00000001 r5:0006f7ae r4:0006f79a
[<80029ad0>] (SyS_exit_group+0x0/0x18) from [<8000dfc0>] (ret_fast_syscall+0x0/0x30)
---[ end trace 16d080eb7efea4e9 ]---

Reported-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Huang Shijie <b32955@freescale.com>
10 years agoENGR00240988: ARM: imx6q: add dma_zone_size for GPU limit
Shawn Guo [Wed, 31 Jul 2013 02:24:07 +0000 (10:24 +0800)]
ENGR00240988: ARM: imx6q: add dma_zone_size for GPU limit

GPU has a limit on physical address that it accesses, which must be
below 2GiB.  Since i.MX6Q/DL maps system memory at 0x10000000 (offset
256MiB), we set dma_zone_size as (SZ_2G - SZ_256M) to ensure that.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: ARM: dts: add gpu nodes for imx6q and imx6dl
Shawn Guo [Fri, 26 Jul 2013 08:50:49 +0000 (16:50 +0800)]
ENGR00240988: ARM: dts: add gpu nodes for imx6q and imx6dl

It adds gpu nodes for imx6q and imx6dl.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: ARM: imx6q: add gpu clock initialzatin code
Loren HUANG [Fri, 9 Nov 2012 04:47:10 +0000 (12:47 +0800)]
ENGR00240988: ARM: imx6q: add gpu clock initialzatin code

This is a cherry-pick of commit 80f38bb (ENGR00240988-3 Add gpu clock
initialzatin code) from 3.5.7 kernel.

Signed-off-by: Loren HUANG <b02279@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: drm: vivante: remove reclaim_buffers callback
Shawn Guo [Tue, 23 Jul 2013 02:26:00 +0000 (10:26 +0800)]
ENGR00240988: drm: vivante: remove reclaim_buffers callback

Since commit b0071ef (drm: kill reclaim_buffers callback),
reclaim_buffers callback is unavailable.  Remove it.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: drm: copy vivante driver from 3.5.7 kernel
Shawn Guo [Thu, 24 May 2012 02:28:24 +0000 (10:28 +0800)]
ENGR00240988: drm: copy vivante driver from 3.5.7 kernel

This is a direct copy of folder drivers/gpu/drm/vivante/ from 3.5.7
kernel.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: use dummy thermal notifier functions on 3.10 kernel
Shawn Guo [Mon, 29 Jul 2013 06:01:32 +0000 (14:01 +0800)]
ENGR00240988: gpu: use dummy thermal notifier functions on 3.10 kernel

The thermal notifier calls are not supported yet on 3.10 kernel.  Let's
use dummy functions for now.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: use reset API on 3.10 kernel
Shawn Guo [Mon, 29 Jul 2013 05:59:11 +0000 (13:59 +0800)]
ENGR00240988: gpu: use reset API on 3.10 kernel

Use reset API to reset GPU on 3.10 kernel.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: fix deprecated idr calls on 3.10 kernel
Shawn Guo [Mon, 29 Jul 2013 03:47:05 +0000 (11:47 +0800)]
ENGR00240988: gpu: fix deprecated idr calls on 3.10 kernel

The idr calls idr_pre_get() and idr_get_new_above() are deprecated on
3.10 kernel and cause the following build issues.  Replace the calls
with the new idr_alloc() to fix the issue.

  CC      drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function ‘_AllocateIntegerId’:
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:776:5: error: ‘idr_pre_get’ is deprecated (declared at include/linux/idr.h:151) [-Werror=deprecated-declarations]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:784:5: error: ‘idr_get_new_above’ is deprecated (declared at include/linux/idr.h:166) [-Werror=deprecated-declarations]

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: use a dummy imx_gpc_power_up_pu() on 3.10 for now
Shawn Guo [Mon, 29 Jul 2013 03:32:16 +0000 (11:32 +0800)]
ENGR00240988: gpu: use a dummy imx_gpc_power_up_pu() on 3.10 for now

Use a dummy imx_gpc_power_up_pu() on 3.10 kernel for now, and will need
to revisit it when the power management of PU is ready on 3.10 kernel.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: allocate contiguous memory from CMA for 3.10 kernel
Shawn Guo [Fri, 26 Jul 2013 08:49:39 +0000 (16:49 +0800)]
ENGR00240988: gpu: allocate contiguous memory from CMA for 3.10 kernel

The Contiguous Memory Allocator (CMA) is mature in 3.10 kernel.  Let's
change gpu driver to allocate contiguous memory from CMA pool.  Doing so
will save not only the memblock reserve calls in machine code but also
the request_mem_region() and ioremap() in gpu driver.  And all the
system memory will be seen by kernel no matter whether gpu driver is
running or not.

It also changes the default contiguousSize to 128 MiB for Freescale
adjustment.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: __devinit and __devexit are unavailable on 3.10 kernel
Shawn Guo [Fri, 26 Jul 2013 09:36:30 +0000 (17:36 +0800)]
ENGR00240988: gpu: __devinit and __devexit are unavailable on 3.10 kernel

__devinit, __devexit and __devexit_p are unavailable on 3.10 kernel.
Remove them for 3.10 to fix the compile issues below.

  CC      drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.o
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1033:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gpu_probe’
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1116:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gpu_remove’
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1292:19: error: ‘gpu_probe’ undeclared here (not in a function)
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1293:5: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: comment out busfreq calls for 3.10 kernel
Shawn Guo [Fri, 26 Jul 2013 09:25:33 +0000 (17:25 +0800)]
ENGR00240988: gpu: comment out busfreq calls for 3.10 kernel

The busfreq driver is not ready yet on 3.10 kernel.  Let's comment out
the busfreq header inclusion and function calls for now, and revisit it
later when busfreq driver is ready.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: mach/hardware.h is not available in kernel 3.10
Shawn Guo [Fri, 26 Jul 2013 09:03:13 +0000 (17:03 +0800)]
ENGR00240988: gpu: mach/hardware.h is not available in kernel 3.10

In kernel 3.10, drivers can not include any <mach/*> headers.  Do not
include <mach/hardware.h> for 3.10 kernel to fix the follow build
errors.

  CC      drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.o
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c:28:27: fatal error: mach/hardware.h: No such file or directory

  CC      drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:33:27: fatal error: mach/hardware.h: No such file or directory

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240988: gpu: copy gpu-viv driver from 3.5.7 kernel
Shawn Guo [Mon, 22 Jul 2013 13:55:36 +0000 (21:55 +0800)]
ENGR00240988: gpu: copy gpu-viv driver from 3.5.7 kernel

This is a direct copy of folder drivers/mxc/gpu-viv from 3.5.7 kernel.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00273073-2 cpufreq: add interactive governor for cpufreq
Anson Huang [Tue, 30 Jul 2013 18:29:26 +0000 (14:29 -0400)]
ENGR00273073-2 cpufreq: add interactive governor for cpufreq

cpufreq: interactive: New 'interactive' governor

This governor is designed for latency-sensitive workloads, such as
interactive user interfaces.  The interactive governor aims to be
significantly more responsive to ramp CPU quickly up when CPU-intensive
activity begins.

Existing governors sample CPU load at a particular rate, typically
every X ms.  This can lead to under-powering UI threads for the period of
time during which the user begins interacting with a previously-idle system
until the next sample period happens.

The 'interactive' governor uses a different approach. Instead of sampling
the CPU at a specified rate, the governor will check whether to scale the
CPU frequency up soon after coming out of idle.  When the CPU comes out of
idle, a timer is configured to fire within 1-2 ticks.  If the CPU is very
busy from exiting idle to when the timer fires then we assume the CPU is
underpowered and ramp to MAX speed.

If the CPU was not sufficiently busy to immediately ramp to MAX speed, then
the governor evaluates the CPU load since the last speed adjustment,
choosing the highest value between that longer-term load or the short-term
load since idle exit to determine the CPU speed to ramp to.

A realtime thread is used for scaling up, giving the remaining tasks the
CPU performance benefit, unlike existing governors which are more likely to
schedule rampup work to occur after your performance starved tasks have
completed.

The tuneables for this governor are:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:
    The minimum amount of time to spend at the current frequency before
    ramping down. This is to ensure that the governor has seen enough
    historic CPU load data to determine the appropriate workload.
/sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
    The CPU load at which to ramp to max speed.

Signed-off-by: Mike Chan <mike at android.com>
Signed-off-by: Todd Poynor <toddpoynor at google.com>
Signed-off-by: Allen Martin <amartin at nvidia.com> (submitted improvements)
Signed-off-by: Axel Haslam <axelhaslam at ti.com> (submitted improvements)
Signed-off-by: Anton Vorontsov <anton.vorontsov at linaro.org>
Signed-off-by: Anson Huang <b20788@freescale.com>
10 years agoENGR00272973-2 ARM: dts: imx: enable pwm1 for mx6 sabresd
Liu Ying [Mon, 29 Jul 2013 10:44:29 +0000 (18:44 +0800)]
ENGR00272973-2 ARM: dts: imx: enable pwm1 for mx6 sabresd

This patch enables pwm1 on pin SD1_DAT3 as display
pwm backlight controller in mx6 sabresd dts.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
10 years agoENGR00240987: ARM: imx6q: initialize clocks for IPU
Shawn Guo [Tue, 23 Jul 2013 14:49:03 +0000 (22:49 +0800)]
ENGR00240987: ARM: imx6q: initialize clocks for IPU

This is a fast-forward porting from 3.5.7 kernel.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoENGR00240987: ipu: port ipuv3 driver from 3.5.7 kernel
Shawn Guo [Tue, 23 Jul 2013 14:49:00 +0000 (22:49 +0800)]
ENGR00240987: ipu: port ipuv3 driver from 3.5.7 kernel

This is a fast-forward porting of ipuv3 driver from 3.5.7 kernel to
kernel 3.10.  The change set is kept as minimum as possible with only
making necessary code changes to adapt 3.10 kernel internal API and
framework updates.  Everything else should be same as 3.5.7 one.  The
change set consists of the following.

 * Remove unused Kconfig options MXC_IPU_V3D, MXC_IPU_V3EX and
   MXC_IPU_V3H
 * Comment out busfreq calls
 * Move ipu-v3.h into include/linux/, and remove all <mach/*> includes
 * Drop __devinit and __devexit
 * Remove assignment of pltfm_data->pg = imx6q_ipu_pg;
 * Use generic device_reset() API rather than ipu_pltfm_data->init()
   hook to reset IPU
 * Includes <linux/sched/rt.h> ipu_device.c to fix undeclared
   MAX_USER_RT_PRIO error
 * Change compatible string to "fsl,imx6q-ipu" to align with community
   kernel
 * Define irq_sync before irq_err in DTS to align with community kernel
 * Drop "ipu1_" and "ipu2_" from clock names to save the handling of the
   second parameter of devm_clk_get()
 * Remove the buggy csi_clk setup in ipu_clk_setup_enable() and validate
   the clock before operate on it in ipu_csi_enable_mclk()
 * Replace iram API (linux/iram_alloc.h) with generic memory pool API
   (linux/genalloc.h) in VDOA driver

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: imx: ocram size is different between imx6q and imx6dl
Shawn Guo [Tue, 23 Jul 2013 14:48:59 +0000 (22:48 +0800)]
ARM: dts: imx: ocram size is different between imx6q and imx6dl

The ocram on imx6q is 256 KiB while on imx6dl it's 128 KiB.  Let's
have separate node for imx6q and imx6dl.  It also changes imx6q size
0x3f000 to 0x40000 to match the hardware.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: dts: add sram for imx53 and imx6q
Philipp Zabel [Tue, 23 Jul 2013 14:48:58 +0000 (22:48 +0800)]
ARM: dts: add sram for imx53 and imx6q

This patch enables the On-Chip SRAM (OCRAM) on i.MX53 and i.MX6 SoCs.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
10 years agoARM: i.MX6: add ethernet phy fixup for KSZ9031
Sascha Hauer [Thu, 20 Jun 2013 15:34:33 +0000 (17:34 +0200)]
ARM: i.MX6: add ethernet phy fixup for KSZ9031

The KSZ9031 is used on the i.MX6 based Data Modul eDM-QMX6
board. It needs the same fixup to the rx/tx delays as other
i.MX6 boards.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>