linux.git
7 years agoMLK-14536: ASoC: codec: wm8960: Relax bit clock computation when using PLL
Daniel Baluta [Wed, 5 Apr 2017 12:56:43 +0000 (15:56 +0300)]
MLK-14536: ASoC: codec: wm8960: Relax bit clock computation when using PLL

Bitclk is derived from sysclk using bclk_divs.
Sysclk can be derived in two ways:
(1) directly from MLCK
(2) MCLK via PLL

Commit 3c01b9ee2ab9d0d ("ASoC: codec: wm8960: Relax bit clock
computation")
relaxed bitclk computation when sysclk is directly derived from MCLK.

Lets do the same thing when sysclk is derived via PLL.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
7 years agoMLK-14536: ASoC: codec: wm9860: Refactor PLL out freq search
Daniel Baluta [Tue, 4 Apr 2017 15:58:19 +0000 (18:58 +0300)]
MLK-14536: ASoC: codec: wm9860: Refactor PLL out freq search

Add a separate function for deriving (sysclk, lrclk, bclk)
when the clock is auto or pll.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
7 years agoMGS-2811: gpu: integrate 6.2.2 official release
Xianzhong [Wed, 5 Apr 2017 11:56:40 +0000 (19:56 +0800)]
MGS-2811: gpu: integrate 6.2.2 official release

Include some bug-fixings for critical gpu issue.

source repo: gpu-viv6
source branch: fsl_6.2.2
Source commit: ef725bcb98733bfe640e814c6ca2b1aa7412402b

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2786 [#imx-479] fix gpu kernel panic with debugfs
Xianzhong [Thu, 30 Mar 2017 03:58:04 +0000 (11:58 +0800)]
MGS-2786 [#imx-479] fix gpu kernel panic with debugfs

the user space data cannot be directly accessible in 4.9 kernel.
add copy_from_user to fix this kernel painic for gpu debugfs.

Date: Mar 30, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMLK-14618 net: fec: fixed-link don't need phy fixup setting
Andy Duan [Wed, 5 Apr 2017 07:30:59 +0000 (15:30 +0800)]
MLK-14618 net: fec: fixed-link don't need phy fixup setting

In MAC-MAC fixed link case, it don't need phy fixup setting.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14617 net: fec: fix the clock count mismatch in error path
Andy Duan [Wed, 5 Apr 2017 07:15:39 +0000 (15:15 +0800)]
MLK-14617 net: fec: fix the clock count mismatch in error path

Avoid ipg clock count mismatch in error path, the issue is introduced by
the patch: "net: fec: Ensure clocks are enabled while using mdio bus".

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14616 tty: serial: fsl_lpuart: remove the dev.coherent_dma_mask zero setting
Andy Duan [Thu, 30 Mar 2017 08:53:27 +0000 (16:53 +0800)]
MLK-14616 tty: serial: fsl_lpuart: remove the dev.coherent_dma_mask zero setting

By default, .of_dma_configure() init dev.coherent_dma_mask to BIT(32) that
match the eDMA address range. If re-init dev.coherent_dma_mask to zero, then
streaming dma mapping will go swiotlb dma_map, if swiotlb is not initalized
then it causes mapping failed.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-13798: rtc: snvs: add a missing write sync
Guy Shapiro [Sun, 29 Jan 2017 09:57:19 +0000 (11:57 +0200)]
MLK-13798: rtc: snvs: add a missing write sync

The clear of the LPTA_EN flag should be synced before writing to the
alarm register. Omitting this synchronization creates a race when
trying to change existing alarm.

(cherry picked from commit 7bb633b1a9812a6b9f3e49d0cf17f60a633914e5)

Signed-off-by: Guy Shapiro <guy.shapiro@mobi-wize.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Tested-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14542 ARM: dts: imx7d-sdb: change DE polarity to high for HDMI and LCD
Cristina Ciocan [Thu, 30 Mar 2017 11:21:42 +0000 (14:21 +0300)]
MLK-14542 ARM: dts: imx7d-sdb: change DE polarity to high for HDMI and LCD

Fix HDMI functionality by changing DE default polarity to active high,
which is needed by the default HDMI mode. Active low DE is needed by MIPI
DSI, which is why there is a different dts file for working with a MIPI
DSI panel.

This issue has been previously fixed in commit 5443a75ed03 ("MLK-14283: dts:
fix DE polarity for lcdif"), but this commit was reverted because it broke
other workflows. It was reverted in commit 34ac60798ec ("Revert "MLK-14283:
dts: fix DE polarity for lcdif"")and another solution was offered in
commit 8766ca8eddf ("MLK-14399: 4.9 rebase: LVDS panel does not work on
iMX6SX Auto").

This change of the default DE polarity was one of the changes in the
reverted commit, which should have been kept.

Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com>
7 years agoMLK-14594 ARM: dts: imx7d-sdb: avoid duplicate names in lcdif node
Octavian Purdila [Mon, 3 Apr 2017 08:30:45 +0000 (11:30 +0300)]
MLK-14594 ARM: dts: imx7d-sdb: avoid duplicate names in lcdif node

This fixes the following boot warning:

OF: Duplicate name in lcdif@30730000, renamed to "display#1"

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14587-2: ARM: imx_v7_defconfig: enable cpufreq stats
Octavian Purdila [Fri, 31 Mar 2017 11:01:01 +0000 (14:01 +0300)]
MLK-14587-2: ARM: imx_v7_defconfig: enable cpufreq stats

The default on 4.1 was to be enabled by default, but that changed in
4.9. Since we have tests that depend on it and it does not add too
much overhead, explicitly enable it in the config.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14587-1 ARM: imx_v7_defconfig: update with savedefconfig
Octavian Purdila [Fri, 31 Mar 2017 10:53:30 +0000 (13:53 +0300)]
MLK-14587-1 ARM: imx_v7_defconfig: update with savedefconfig

This patch does not introduce any changes in the config, it just
re-runs savedefconfig to create a proper minimal defconfig for the
current version.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14496 mtd: spi-nor: remove WARN_ONCE() message in spi_nor_write()
Cyrille Pitchen [Tue, 6 Dec 2016 17:14:24 +0000 (18:14 +0100)]
MLK-14496 mtd: spi-nor: remove WARN_ONCE() message in spi_nor_write()

This patch removes the WARN_ONCE() test in spi_nor_write().
This macro triggers the display of a warning message almost every time we
use a UBI file-system because a write operation is performed at offset 64,
which is in the middle of the SPI NOR memory page. This is a valid
operation for ubifs.

Hence this warning is pretty annoying and useless so we just remove it.

Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Suggested-by: Richard Weinberger <richard@nod.at>
Suggested-by: Andras Szemzo <szemzo.andras@gmail.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
[Octavian: rebased to 4.9]
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Reviewed-by: "Frank Li" <frank.li@nxp.com>
7 years agoMLK-14585-2 clk: imx: correct pm API for getting power domain structure
Anson Huang [Thu, 30 Mar 2017 22:44:15 +0000 (06:44 +0800)]
MLK-14585-2 clk: imx: correct pm API for getting power domain structure

Should use correct power domain API for getting power
domain structure by phandle, adding a power domain here is
incorrect, replace it with correct API.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14585-1 power: domain: expose generic_pm_domain structure to clients
Anson Huang [Thu, 30 Mar 2017 22:36:55 +0000 (06:36 +0800)]
MLK-14585-1 power: domain: expose generic_pm_domain structure to clients

In some platforms, accessing registers needs to make sure
power domain is enabled, such as for clock operations, power
domain needs to be enabled first before accessing clock
registers, so some clocks need to know its power domain's
status, it will need to get power domain structure by phandle,
expose the API to support this case.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14450 ARM: dts: imx6ul-14x14-evk: remove duplicate i2c node
Octavian Purdila [Thu, 30 Mar 2017 10:13:31 +0000 (13:13 +0300)]
MLK-14450 ARM: dts: imx6ul-14x14-evk: remove duplicate i2c node

Commit 2c2a56059ff7e7e4 ("MLK-11407-8: ARM: dts: i.mx6sx/i.mx6ul: add
ldo-bypass support") was backported from imx_4.1.y and added a
duplicate i2c node which was already present upstream.

This patch removes the duplicated node and moves the difference
(clocks for wm8960) to the existing upstream node.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14580 ARM: dts: imx7d-arm2: enable fec1 and usdhc nodes
Octavian Purdila [Thu, 30 Mar 2017 14:04:04 +0000 (17:04 +0300)]
MLK-14580 ARM: dts: imx7d-arm2: enable fec1 and usdhc nodes

These devices are enabled on imx_4.1.y, enable them on imx_4.9.y as
well.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-13756 ARM: dts: imx6sll-evk-btwifi: change the pad setting for sd3
Gao Pan [Fri, 13 Jan 2017 09:58:14 +0000 (17:58 +0800)]
MLK-13756 ARM: dts: imx6sll-evk-btwifi: change the pad setting for sd3

The pad setting suggested by HW team affects the normal function
of sdio wifi. This patch changes the pad setting for sd3.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14551: arm64: defconfig: enable ddr perf monitors by default
Tiberiu Breana [Wed, 29 Mar 2017 14:16:20 +0000 (17:16 +0300)]
MLK-14551: arm64: defconfig: enable ddr perf monitors by default

Set CONFIG_IMX8_DDR_PERF to y for arm64 platforms
such as i.MX8QM or i.MXQXP.

Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14524: dma: Fix division by zero
Robert Chiras [Wed, 29 Mar 2017 06:59:27 +0000 (09:59 +0300)]
MLK-14524: dma: Fix division by zero

The audio driver is initialized by preparing a DMA slave channel using 0's
as parameters in sdma_prep_dma_cyclic function. This would lead to a
division by zero, since period_len is used as a divisor.
Used the code from 4.1 to fix this, where the division is made only for
non HDMI peripheral types.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMLK-14543 tty: serial: fsl_lpuart: add lpuart32 dma support
Andy Duan [Wed, 29 Mar 2017 07:23:27 +0000 (15:23 +0800)]
MLK-14543 tty: serial: fsl_lpuart: add lpuart32 dma support

The current driver don't support lpuart32 DMA mode.
The patch add lpuart32 tx/rx DMA support, there have two main changes:
- lpuart32 tx dma resue lpuart tx dma mode to reduce code duplication.
- lpuart32 rx dma still use prep_sg mode since imx7ulp don't support
  eeop mode that also ailgned with 4.1.y.

If don't use DMA mode, remove dma chan property in dts file.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14547 tty: serial: fsl_lpuart: con->write should call .uart_console_write()
Andy Duan [Wed, 29 Mar 2017 07:08:00 +0000 (15:08 +0800)]
MLK-14547 tty: serial: fsl_lpuart: con->write should call .uart_console_write()

earlycon con->write() should call .uart_console_write() to process
'\n' character.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14546 tty: serial: fsl_lpuart: add per_clk support
Andy Duan [Wed, 29 Mar 2017 06:56:19 +0000 (14:56 +0800)]
MLK-14546 tty: serial: fsl_lpuart: add per_clk support

i.MX8QM lpuart has ipg_clk and per_clk, ipg_clk for bus and register
accessing, per_clk is lpuart module clock. Add per_clk support in
driver.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14544 arm: dts: imx7ulp: correct earlycon port.membase address
Andy Duan [Wed, 29 Mar 2017 06:30:07 +0000 (14:30 +0800)]
MLK-14544 arm: dts: imx7ulp: correct earlycon port.membase address

Correct i.MX7ulp earlycon port.membase address for arm2 and evk
board dts file.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14541 dmaengine: fsl-edma: remove the duplicated code
Andy Duan [Wed, 29 Mar 2017 05:26:26 +0000 (13:26 +0800)]
MLK-14541 dmaengine: fsl-edma: remove the duplicated code

The function .fsl_edma_irq_init() has been called twice in .probe(), which
cause all dma controller registered failed.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-13712 dmaengine: fsl-edma: restore edma registers for i.MX7ULP VLLS mode
Andy Duan [Sat, 31 Dec 2016 08:01:32 +0000 (16:01 +0800)]
MLK-13712 dmaengine: fsl-edma: restore edma registers for i.MX7ULP VLLS mode

EDMA controller will loss power on i.MX7ULP VLLS mode, then registers
are set to HW reset default value that cause EDMA cannot work after
system wake up. So the patch is to restore eDMA registers status after
system exit from VLLS mode.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit:bc15f814383d)

Conflicts:
drivers/dma/fsl-edma.c

7 years agodts: arm64: imx8qm: add lpuart0 ipg clock and correct interrupt number
Andy Duan [Fri, 24 Mar 2017 05:47:41 +0000 (13:47 +0800)]
dts: arm64: imx8qm: add lpuart0 ipg clock and correct interrupt number

Add lpuart0 ipg clock and correct interrupt number.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14473: touchscreen: Fix return type
Robert Chiras [Thu, 16 Mar 2017 10:20:45 +0000 (12:20 +0200)]
MLK-14473: touchscreen: Fix return type

The touchscreen driver, max11801, which is on 12c2 bus, won't be probed
when using the hdcp specific DTS (this is disabling 12c2, since it
will acquire it for DDC communications). Since this driver won't be
probed, it will spam the dmesg with the pr_err from max11801_read_adc()
function. This function is periodically called by the battery driver. For
this reason, I removed the pr_err() call.
Also, to be noticed that the function signature is u32, but in case of an
error it will return a negative integer. In order to correctly propagate
errors, I changed the function signature to int. This is safe, since the
read value from i2c is on 16 bits (MSB and LSB on 8 bits).

Also, the function calibration_voltage is calling max11801_read_adc from
touchscreen driverm which can return negative values in case of an
error. I case of an error, just stop reading ADC data and return 0 as
voltage_data.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMLK-14473: hdmi: Fix ioctl implementation
Robert Chiras [Thu, 16 Mar 2017 10:15:50 +0000 (12:15 +0200)]
MLK-14473: hdmi: Fix ioctl implementation

The function mxc_hdmi_ioctl is passing kernel memory to user-space. The
case for HDMI_IOC_GET_CPU_TYPE is passing the memory directly, which is
not permitted. Fixed this, by using put_user().

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMGS-2752 [#imx-303] integrate 6.2.2 snapshot release
Xianzhong [Tue, 28 Mar 2017 06:04:20 +0000 (14:04 +0800)]
MGS-2752 [#imx-303] integrate 6.2.2 snapshot release

Integrate 6.2.2 coverity fix and snapshot patches

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMLK-14534-3 arm64: defconfig: enable i.MX8 cpufreq
Anson Huang [Tue, 28 Mar 2017 16:10:50 +0000 (00:10 +0800)]
MLK-14534-3 arm64: defconfig: enable i.MX8 cpufreq

Enable i.MX8 cpu-freq by default for defconfig.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14534-2 soc: imx8: register cpu-freq platform driver
Anson Huang [Tue, 28 Mar 2017 16:09:35 +0000 (00:09 +0800)]
MLK-14534-2 soc: imx8: register cpu-freq platform driver

Register cpu-freq platform driver for i.MX8.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14534-1 cpufreq: imx8: add cpu-freq support
Anson Huang [Tue, 28 Mar 2017 16:07:57 +0000 (00:07 +0800)]
MLK-14534-1 cpufreq: imx8: add cpu-freq support

Add multi-clusters cpu-freq driver support for i.MX8,
only support cpu-freq get now.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14379: drivers: perf: Add DDR perf count support
Frank Li [Wed, 5 Oct 2016 19:54:42 +0000 (14:54 -0500)]
MLK-14379: drivers: perf: Add DDR perf count support

perf stat -a -e ddr0/cycles/,ddr0/read-bytes/,ddr0/write-bytes/,ddr1/cycles/,d
dr1/read-bytes/,ddr1/write-bytes/ dd if=/dev/zero of=/dev/null bs=10M count=1
1+0 records in
1+0 records out

 Performance counter stats for 'system wide':

           7236174      ddr0/cycles/                                                  (99.97%)
              8573      ddr0/read-bytes/                                              (99.99%)
            163628      ddr0/write-bytes/
           7256543      ddr1/cycles/                                                  (99.99%)
              9308      ddr1/read-bytes/                                              (100.00%)
            165039      ddr1/write-bytes/

       0.008990125 seconds time elapsed

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14527 ARM: dts: Makefile: remove duplicate entry
Peter Chen [Tue, 28 Mar 2017 03:32:07 +0000 (11:32 +0800)]
MLK-14527 ARM: dts: Makefile: remove duplicate entry

Remove duplicate entry for imx6sx-sabreauto-m4.dtb

Signed-off-by: Peter Chen <peter.chen@nxp.com>
7 years agoMGS-2767 [#imx-320] i.MX7ULP GPU suspend/resume problem
Yuchou Gan [Tue, 28 Mar 2017 10:00:05 +0000 (18:00 +0800)]
MGS-2767 [#imx-320] i.MX7ULP GPU suspend/resume problem

This commit reverts the patch from VSI and use the fix from commit ba8592e6d791cd5ab81dcd872eab610d3b232934. As the patch VSI provided did not fix this issue tested on 6q.

Date: Mar 27, 2017
Signed-off-by: yuchou.gan <yuchou.gan@nxp.com>
7 years agoMLK-14505: dts: imx6ull-14x14-evk: Remove imx6ul-evk function node
Tiberiu Breana [Wed, 22 Mar 2017 09:58:25 +0000 (11:58 +0200)]
MLK-14505: dts: imx6ull-14x14-evk: Remove imx6ul-evk function node

Removed the unnecessary imx6ul-evk function node, as it was causing
a kernel panic at boot time due to an enumeration error.

Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14479 clk: imx: scu mux: fix gpr mux settings
Peng Fan [Fri, 24 Mar 2017 08:24:11 +0000 (16:24 +0800)]
MLK-14479 clk: imx: scu mux: fix gpr mux settings

sc_misc_set/get_control use mutex lock/unlock internally,
so using spin lock/unlock to protect sc_misc_set/get_control is
wrong. So drop the spin lock.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 years agoMGS-2133 GPU kernel driver bring-up on i.MX8QM
Prabhu Sundararaj [Thu, 23 Mar 2017 21:49:50 +0000 (16:49 -0500)]
MGS-2133 GPU kernel driver bring-up on i.MX8QM

Add GPU support for i.M8QM.

Signed-off-by Meng Mingming <mingming.meng@nxp.com>
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
7 years agoMGS-2437 mxc: add gpu-viv driver configuration for i.MX8
Prabhu Sundararaj [Thu, 23 Mar 2017 19:29:09 +0000 (14:29 -0500)]
MGS-2437 mxc: add gpu-viv driver configuration for i.MX8

gpu-viv driver is common for ARCH_MXC and MX8

Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
7 years agoMGS-2437 gpu: Add support for i.MX8QXP
Prabhu Sundararaj [Thu, 23 Mar 2017 19:26:21 +0000 (14:26 -0500)]
MGS-2437 gpu: Add support for i.MX8QXP

Add the GPU configuration for i.MX8QXP

Signed-off-by: Yong Gan <yong.gan@nxp.com>
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
7 years agoMLK-14514-2 dma: sdma: use dma_pool_free instead of dma_free_coherent
Robin Gong [Fri, 24 Mar 2017 08:46:52 +0000 (16:46 +0800)]
MLK-14514-2 dma: sdma: use dma_pool_free instead of dma_free_coherent

Some drivers may call terminate dma channel in interrupt, thus
we'd better use dma_poo_free.(Documentation/DMA-API-HOWTO.txt)

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14514-1 ARM: dts: imx6/7: revert 'enable ocram for sdma'
Robin Gong [Fri, 24 Mar 2017 08:58:56 +0000 (16:58 +0800)]
MLK-14514-1 ARM: dts: imx6/7: revert 'enable ocram for sdma'

Revert "MLK-14498-12 arm: dts: imx6/7: enable ocram for sdma"

This reverts commit 51b2a6f6d70c.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14501 ARM: imx: mu: pass real dev id when request shared irq
Richard Zhu [Wed, 22 Mar 2017 02:19:57 +0000 (10:19 +0800)]
MLK-14501 ARM: imx: mu: pass real dev id when request shared irq

Pass the real dev id when the shared irq is request.
Otherwise, the request_irq would be failed.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-14510: ARM: dts: imx6ull-14x14-ddr3-arm2: fix pfuze200 probe error
Robin Gong [Thu, 23 Mar 2017 03:34:40 +0000 (11:34 +0800)]
MLK-14510: ARM: dts: imx6ull-14x14-ddr3-arm2: fix pfuze200 probe error

SW3B fused to high voltage 0.8v~3.3v and the low voltage setting in
dts cause pfuze200 driver probe failed as below even if the pfuze
driver have already updated the voltage to the right 0.8v~3.3v.But the
issue not caught on v4.1 since it's common regualtor framework behavior.
Correct the SW3B into the right voltage in v4.9

fuze100-regulator 0-0008: pfuze200 found.
SW3B: Bringing 3300000uV into 1975000-1975000uV
SW3B: failed to apply 1975000-1975000uV constraint(-22)
pfuze100-regulator 0-0008: register regulatorSW3B failed
pfuze100-regulator: probe of 0-0008 failed with error -22
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14502 drivers: build mxc drivers by default
Anson Huang [Wed, 22 Mar 2017 10:16:21 +0000 (18:16 +0800)]
MLK-14502 drivers: build mxc drivers by default

Build mxc drivers by default for both ARMv7 and ARMv8
platforms.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14277: ASoC: codec: wm8960: Relax bit clock computation
Daniel Baluta [Mon, 20 Mar 2017 09:57:26 +0000 (11:57 +0200)]
MLK-14277: ASoC: codec: wm8960: Relax bit clock computation

WM8960 derives bit clock from sysclock using BCLKDIV[3:0] of R8
clocking register (See WM8960 datasheet, page 71).

There are use cases, like this:
aplay -Dhw:0,0 -r 48000 -c 1 -f S20_3LE -t raw audio48k20b_3LE1c.pcm

where no BCLKDIV applied to sysclock can give us the exact requested
bitclk, so driver fails to configure clocking and aplay fails to run.

Fix this by relaxing bitclk computation, so that when no exact value
can be derived from sysclk pick the closest value greater than
expected bitclk.

Suggested-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14277: ASoC: codec: wm8960: Refactor sysclk freq search
Daniel Baluta [Mon, 13 Mar 2017 16:57:23 +0000 (18:57 +0200)]
MLK-14277: ASoC: codec: wm8960: Refactor sysclk freq search

Add a separate function for finding (sysclk, lrclk, bclk)
when the clock is auto or mclk. This makes code easier to
read and reduces the indentation level in wm8960_configure_clocking.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
7 years agoMLK-14503: ARM: dts: imx6qdl: correct ecspi sdma script type
Robin Gong [Wed, 22 Mar 2017 08:29:46 +0000 (16:29 +0800)]
MLK-14503: ARM: dts: imx6qdl: correct ecspi sdma script type

Correct the ecspi sdma script type, since the workaroud sdma script
NOT work in SPBA bus, just sync with v4.1.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-12076-4: spi: spi-imx: add imx6ul device type
Robin Gong [Thu, 24 Dec 2015 09:44:31 +0000 (17:44 +0800)]
MLK-12076-4: spi: spi-imx: add imx6ul device type

Add imx6ul device type in spi driver to enable the ERR008517 workaround
or not by dts easily.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 85c6cc2243919f2c46b335ec8b5be70294942e4d)
(cherry picked from commit 296305f200abd5982a4934b82e7aaf11a3dfc354)

Conflicts:
drivers/spi/spi-imx.c

7 years agoMLK-10404-1 spi: spi-imx: use XCH mode even in DMA mode
Robin Gong [Wed, 11 Mar 2015 06:58:18 +0000 (14:58 +0800)]
MLK-10404-1 spi: spi-imx: use XCH mode even in DMA mode

To workaroud the TKT238285, the safe way is use XCH mode in SDMA
script to simulate as PIO mode which never report such issue. Meanwhile,
set tx threashold as 0. But this workaroud will bring performance impacted,
below performance data is collected by 'dd' with SPI-NOR flash on i.mx6dl
sabresd board:

  mode                   write data            read data
--PIO                     194KB/s              644KB/s
--DMA normal
  (SMC, tx_thresh=32)     222KB/s              1.4MB/s
--DMA(XCH, tx_thresh=0)   210KB/s              1.0MB/s

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 01be65fa5617aa192307ca38b6fc6128f3f0c3f7)
(cherry picked from commit 646a751a4d1d0e227a762b461d9b8f92605c26b1)
(cherry picked from commit b334993950b24ced30fcfc70c126b65bf4cb4cff)

Conflicts:
drivers/spi/spi-imx.c

7 years agoMLK-14498-13 tty: serial: imx: use tty_port_suspended() instead of ASYNC_SUSPENDED
Andy Duan [Wed, 22 Mar 2017 08:40:09 +0000 (16:40 +0800)]
MLK-14498-13 tty: serial: imx: use tty_port_suspended() instead of ASYNC_SUSPENDED

tty_port flag "ASYNC_SUSPENDED" has been discarded from kernel upgrade, then
use .tty_port_suspended() instead of the flag check.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-12 arm: dts: imx6/7: enable ocram for sdma
Andy Duan [Wed, 22 Mar 2017 08:30:23 +0000 (16:30 +0800)]
MLK-14498-12 arm: dts: imx6/7: enable ocram for sdma

Add ocram for sdma BDs memory.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Acked-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14498-11 reset: gpio-reset: use the cansleep variant of the GPIO API
Andy Duan [Wed, 22 Mar 2017 03:33:38 +0000 (11:33 +0800)]
MLK-14498-11 reset: gpio-reset: use the cansleep variant of the GPIO API

Use the cansleep variant of the GPIO API.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-10 dma: imx-sdma: fix wrong chn_real_count in cyclic mode
Andy Duan [Wed, 22 Mar 2017 02:31:04 +0000 (10:31 +0800)]
MLK-14498-10 dma: imx-sdma: fix wrong chn_real_count in cyclic mode

The sdmac->chn_real_count is equal to sdmac->period_len in dma cyclic
mode that is not correct, correct it to real count in current BD transfer.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-9 dts: imx6/imx7: add modem device reset node
Andy Duan [Tue, 21 Mar 2017 10:08:04 +0000 (18:08 +0800)]
MLK-14498-9 dts: imx6/imx7: add modem device reset node

Add BT modem device reset node.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-8 tty: serial: imx: add modem device reset
Andy Duan [Tue, 21 Mar 2017 09:59:20 +0000 (17:59 +0800)]
MLK-14498-8 tty: serial: imx: add modem device reset

Add modem device reset, wthether to reset depend on dts configuration.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-7 dma: imx-sdma: pass ->dev to dma_alloc_coherent() API
Andy Duan [Tue, 21 Mar 2017 09:51:39 +0000 (17:51 +0800)]
MLK-14498-7 dma: imx-sdma: pass ->dev to dma_alloc_coherent() API

Pass ->dev to dma_alloc_coherent() API.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-6 tty: serial: imx: pass ->dev to dma_alloc_coherent() API
Andy Duan [Mon, 20 Mar 2017 08:04:15 +0000 (16:04 +0800)]
MLK-14498-6 tty: serial: imx: pass ->dev to dma_alloc_coherent() API

Pass ->dev to dma_alloc_coherent() API to avoid kernel dump.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-12294 tty: serial: imx: init sport->flags before tx DMA ready
Fugang Duan [Wed, 20 Jan 2016 08:33:54 +0000 (16:33 +0800)]
MLK-12294 tty: serial: imx: init sport->flags before tx DMA ready

Before then DMA tx path, init the DMA tx path synchronal flags
sport->flags.

Signed-off-by: Fugang Duan <B38611@freescale.com>
7 years agoMLK-12161 tty: serial: imx: only enable RTSD interrupt for hw flow control
Fugang Duan [Fri, 8 Jan 2016 05:36:05 +0000 (13:36 +0800)]
MLK-12161 tty: serial: imx: only enable RTSD interrupt for hw flow control

Only enable RTSD interrupt for hw flow control, otherwise RTS_B signal
has some external signal disturbance without config RTS_B select input.

Signed-off-by: Fugang Duan <B38611@freescale.com>
(cherry picked from commit: 471e8c43aca3)

Conflicts:
drivers/tty/serial/imx.c

7 years agoMLK-11851 tty: series: imx: add dma memory check before freeing
Fugang Duan [Wed, 11 Nov 2015 01:31:04 +0000 (09:31 +0800)]
MLK-11851 tty: series: imx: add dma memory check before freeing

Add dma memory check before free it.

Signed-off-by: Fugang Duan <B38611@freescale.com>
7 years agoMLK-14498-6 tty: serial: imx: align tx path with kernel 3.14
Andy Duan [Tue, 21 Mar 2017 09:32:56 +0000 (17:32 +0800)]
MLK-14498-6 tty: serial: imx: align tx path with kernel 3.14

Align tx path with kernel 3.14, otherwise there have data loss.
The patch is cherry-picked from commit:47c1570ac934, and merge
the patch 1afe15219403.

Signed-off-by: Fugang Duan <B38611@freescale.com>
7 years agoMLK-11665 tty: serial: imx: move dma init to .startup() function
Andy Duan [Tue, 21 Mar 2017 09:22:20 +0000 (17:22 +0800)]
MLK-11665 tty: serial: imx: move dma init to .startup() function

Kernel upgrade to 4.1.8 from 4.1.4 has one conflict: commit:3cd6a7db4c2c and
commit:4eede03b97bf, and there introduces one issue during the merge. The issue
cause pio mode cannot work.

The patch fix the error that move the dma init function to .startup().

Signed-off-by: Fugang Duan <B38611@freescale.com>
7 years agoMLK-10274 tty: serial: clear AWAKE bit after resume back
Andy Duan [Tue, 21 Mar 2017 09:14:39 +0000 (17:14 +0800)]
MLK-10274 tty: serial: clear AWAKE bit after resume back

When uart port (non-console port) in dma mode and use uart as remote wakeup
source, after resume back, the AWAKE bit is not cleared most of interrupts
are disabled. And then let system suspend state, system resume back immediately
without any wake up action. So we need to clear the AWAKE bit after resume
back in DMA mode.

Merge comments: it is necessary to clear AWAKE or RTSD bit.

Signed-off-by: Fugang Duan <B38611@freescale.com>
(merge patch from commit: d4b6b6b20eb2c5cca47292f89ab588b15d3be0a9)

7 years agoMLK-14498-5 tty: serial: imx: fix the DMA issue
Andy Duan [Tue, 21 Mar 2017 07:01:57 +0000 (15:01 +0800)]
MLK-14498-5 tty: serial: imx: fix the DMA issue

The commmunity driver uart DMA don't work, it better to use
4.1.y DMA process mechanism, so there have many conflict during
code merging. Decisively, to use 4.1.y commit f00cf8855eaa in the
merge point for DMA implemention.

In DMA mode, don't involve CPU interrupt, remove .imx_dma_rxint()
function.

After the patch, DMA and CPU mode both work fine with the current
SDMA driver.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-4 dma: imx-sdma: remove the redundant clock operation
Andy Duan [Tue, 21 Mar 2017 06:25:25 +0000 (14:25 +0800)]
MLK-14498-4 dma: imx-sdma: remove the redundant clock operation

Remove the redundant clock operation.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-3 dma: imx-sdma: avoid dead lock in cyclic case
Andy Duan [Tue, 21 Mar 2017 06:17:49 +0000 (14:17 +0800)]
MLK-14498-3 dma: imx-sdma: avoid dead lock in cyclic case

Avoid dead lock in DMA cyclic case.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-2 ARM: imx7d: clk: select uart clock parent and rate
Andy Duan [Mon, 20 Mar 2017 07:45:18 +0000 (15:45 +0800)]
MLK-14498-2 ARM: imx7d: clk: select uart clock parent and rate

Currently, it is failed to set clock rate in dts file that maybe some clock
patch miss. Now just set the clock parent and rate in clock driver.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14498-1 dts: imx7s: add uart dma chans
Andy Duan [Mon, 20 Mar 2017 07:44:11 +0000 (15:44 +0800)]
MLK-14498-1 dts: imx7s: add uart dma chans

Add uart dma chans.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-11709 dma: imx-sdma: fix build error
Gao Pan [Wed, 14 Oct 2015 09:24:36 +0000 (17:24 +0800)]
MLK-11709 dma: imx-sdma: fix build error

Commit:872ee3f9d4c1 introduce build error.
The patch just fix the build error.

Signed-off-by: Gao Pan <b54642@freescale.com>
(cherry picked from commit 06a01760df40fbffe37e6a053a40308240224cb2)

7 years agoMLK-11689: dma: imx-sdma: correct channel context restore
Robin Gong [Mon, 12 Oct 2015 04:46:14 +0000 (12:46 +0800)]
MLK-11689: dma: imx-sdma: correct channel context restore

Before, checking SDMA_H_C0PTR register to know whether sdma controller turned
off in DSM, if yes restore channel context back. Unfortunatly, this checking
is wrong, because SDMA_H_C0PTR has been initialized as non-zero value in
sdma_resume, which means channel context will never be restored back if mega/
fast off on i.mx6sx or i.mx7d. Using 'suspend_off' flag to keep this 'restore
needed' requirement.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 565d4c45926a03029d7750a57f3e3f2404de7301)
(cherry picked from commit 70dbe82f8fb504497ab5d544ce0c30cfca15c515)

7 years agoMLK-11358-6: dma: imx-sdma: reload context once sdma channel terminated
Robin Gong [Mon, 17 Aug 2015 09:29:06 +0000 (17:29 +0800)]
MLK-11358-6: dma: imx-sdma: reload context once sdma channel terminated

Some driver may call dmaengine_terminate_all firstly, and then start next by
calling dmaengine_prep_* without dmaengine_slave_config. In this case sdma
transfer failed since no context loaded, take this case in this patch.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 51ff948df543dc273fefeb86608e7d6d28ca8090)

7 years agoMLK-14482-2: dma: imx-sdma: add virt-dma support
Robin Gong [Fri, 17 Mar 2017 09:31:11 +0000 (17:31 +0800)]
MLK-14482-2: dma: imx-sdma: add virt-dma support

This patch cherry-pick the blow patch from v4.1.y, and resove
conflicts.

commit 70805e9da3fd25eebf0e141a5cda48fba310c5f5
Author: Robin Gong <b38343@freescale.com>
Date:   Mon Aug 17 16:04:48 2015 +0800

    MLK-11358-3: dma: imx-sdma: add virt-dma support

    Old sdma can't support multi instances, because next transfer will return
    error if the last transfer not done(sdmac->status == DMA_IN_PROGRESS). virt
    dma is a common framework for versus dma drivers, and it's support multi
    instances, driver can dynamicly alloc description and add it to list which
    will be handled in the last sdma transfer done later.

    Another advantage of this patch is to clean up the constrain of max bd numer:
    --#define NUM_BD (int)(PAGE_SIZE / sizeof(struct sdma_buffer_descriptor))
    in other words, now sdma driver can support any length data now.

    Meanwhile, remove sdma_load_context() in prep_* everytime, since it can do
    only once in config channel.

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14482-1: dma: imx-sdma: fix memory_2_memory copy failed
Robin Gong [Fri, 17 Mar 2017 03:44:31 +0000 (11:44 +0800)]
MLK-14482-1: dma: imx-sdma: fix memory_2_memory copy failed

emi_2_emi have to be set in memory_2_memory case, code miss during
rebase, fix up it now.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14487-2 rpmsg: imx: validate the rpmsg on imx7ulp
Richard Zhu [Tue, 21 Mar 2017 02:17:36 +0000 (10:17 +0800)]
MLK-14487-2 rpmsg: imx: validate the rpmsg on imx7ulp

- add the .data into the imx_rpmsg_dt_ids table, thus
the driver can distinguish the different platforms.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Tested-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14487-1 rpmsg: imx: validate the rpmsg on imx7ulp
Richard Zhu [Tue, 21 Mar 2017 02:15:40 +0000 (10:15 +0800)]
MLK-14487-1 rpmsg: imx: validate the rpmsg on imx7ulp

- change the module_init to subsys_initcall.
Otherwise, the pf1550-rpmsg would be invoked before
the rpmsg bus driver on imx7ulp.
Then, sdhc wouldn't be powered up properly if pf1550
isn't functional.
- remove the no longer used imc_rpmsg_exit.
- pass the real device id if the shared irq is requested.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Tested-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14426: ARM: dts: imx6ul-evk-btwifi: Remove imx6ul-evk-murata-v2 function node
Tiberiu Breana [Thu, 16 Mar 2017 09:30:17 +0000 (11:30 +0200)]
MLK-14426: ARM: dts: imx6ul-evk-btwifi: Remove imx6ul-evk-murata-v2 function node

Removed the unused imx6ul-evk-murata-v2 function node which was
causing a kernel panic at boot time.

Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMGS-2698-6 [#imx-188] fix device node reference
Xianzhong [Sun, 19 Mar 2017 02:47:38 +0000 (10:47 +0800)]
MGS-2698-6 [#imx-188] fix device node reference

remove the duplicated of_node_put for imx gpu subsystem,
this change only fix the gpu driver problem for i.mx8.

Date: Mar 19, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMLK-14454: video: mipi_dsi_northwest: Fix leaking a reset_control
Leonard Crestez [Wed, 15 Mar 2017 14:34:45 +0000 (16:34 +0200)]
MLK-14454: video: mipi_dsi_northwest: Fix leaking a reset_control

The mipi_dsi_disp_init function takes a reference to a reset_control
during initialization and does not release it.

This becomes a problem on 4.9 because reset_control_get has been split
into exclusive mode(default) and shared(which need to be marked).
Leaking a reference counts looks like attempting to fetch a second
reference to a controller and this WARNs and returns -EBUSY.

Fix by releasing it at the end of the function.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
7 years agoMLK-14373-5: ARM: dts: imx6ul-evk-btwifi: Add OOB IRQ support for imx6ul, imx6ull
xlin [Wed, 8 Feb 2017 21:49:01 +0000 (15:49 -0600)]
MLK-14373-5: ARM: dts: imx6ul-evk-btwifi: Add OOB IRQ support for imx6ul, imx6ull

Added new DTS files for:
imx6ul-9x9-evk
imx6ul-14x14-evk
imx6ull-9x9-evk
imx6ull-14x14-evk

with support for Wifi OOB interrupts.

Signed-off-by: xlin <xlin@murata.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14373-4: ARM: dts: imx6ul-evk-btwifi: Fix SN8000CMK bringup error
xlin [Tue, 7 Feb 2017 20:35:20 +0000 (14:35 -0600)]
MLK-14373-4: ARM: dts: imx6ul-evk-btwifi: Fix SN8000CMK bringup error

Fix SN8000CMK bring-up error on i.MX6UL/ULL EVK’s: BT_REG_ON line pulled
low prior to SDIO initialization. This fix applies to all modules: i.e.
default operation for all modules is that both WL_REG_ON and BT_REG_ON
lines are pulled low (0V) during power-on-reset.

Signed-off-by: xlin <xlin@murata.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14373-3: bcmdhd: Add workaround for "HT avail failure"
Tiberiu Breana [Wed, 8 Mar 2017 11:48:41 +0000 (13:48 +0200)]
MLK-14373-3: bcmdhd: Add workaround for "HT avail failure"

Murata work-around code for HT Avail failure
(due to no external slow clk).

Signed-off-by: xlin <xlin@murata.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14373-2: bcmdhd: BCM43340: Add support for edge interrupts
Tiberiu Breana [Wed, 8 Mar 2017 11:33:09 +0000 (13:33 +0200)]
MLK-14373-2: bcmdhd: BCM43340: Add support for edge interrupts

Remove HW_OOB define from BCM43340 config, enabling it to
handle edge interrupts.

Signed-off-by: xlin <xlin@murata.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14373-1: ARM: dts: Enable Bluetooth interface for imx6sl-evk
Tiberiu Breana [Wed, 8 Mar 2017 10:02:35 +0000 (12:02 +0200)]
MLK-14373-1: ARM: dts: Enable Bluetooth interface for imx6sl-evk

Enable the Bluetooth interface for i.MX 6SoloLite EVK.

Signed-off-by: xlin <xlin@murata.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMGS-2698-5 [#imx-188] enable gpu subsystem for i.MX8 only
Xianzhong [Tue, 14 Mar 2017 09:05:16 +0000 (17:05 +0800)]
MGS-2698-5 [#imx-188] enable gpu subsystem for i.MX8 only

add imx8-gpu-ss to support imx8 gpu with super-device structure,
need keep the old gpu device configuration for the legacy i.MX6 SoCs,

improve fslcma allocator to allow normal buffer if no limit request.
add of_node_put to fix the deivce reference problem.

Date: Mar 15, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2698-4 [#imx-188] the code refining
Xianzhong [Thu, 9 Mar 2017 08:34:58 +0000 (16:34 +0800)]
MGS-2698-4 [#imx-188] the code refining

remove the obsolute code for dual gpu setup

Date: Mar 09, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2698-3 [#imx-188] remove IMX8_CMA_LIMIT build config
Xianzhong [Mon, 6 Mar 2017 03:13:36 +0000 (11:13 +0800)]
MGS-2698-3 [#imx-188] remove IMX8_CMA_LIMIT build config

mScale has 32bit DDR and should disable CMA limit feature,
cannot distinguish mScale from DV/QM/QXP with the build config.

thus add runtime check to switch CMA allocator workaround for iMX8.
enable CMA limit workaround when system RAM has 4G above address.

Date: Mar 06, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2698-2 [#imx-188] improve imx8 scu control for gpu
Xianzhong [Fri, 3 Mar 2017 02:36:32 +0000 (10:36 +0800)]
MGS-2698-2 [#imx-188] improve imx8 scu control for gpu

need set scu pid config in gpu_3d0 and gpu_3d1 entry
fsl,sc_gpu_pid = <SC_R_GPU_0_PID0>;

Date: Mar 03, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2698 [#imx-188] the unified imx gpu platform driver
Xianzhong [Mon, 27 Feb 2017 04:02:15 +0000 (12:02 +0800)]
MGS-2698 [#imx-188] the unified imx gpu platform driver

implemented the unified gpu clock structure for all imx devices,
removed the specific codes for _SetClock_imx8x and _SetPower_imx8x.

Date: Feb 27, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2619-3 [#imx-188] fix kernel panic with rmmod
Xianzhong [Mon, 6 Mar 2017 01:58:16 +0000 (09:58 +0800)]
MGS-2619-3 [#imx-188] fix kernel panic with rmmod

should unregister platform driver before device driver

Date: Mar 06, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMGS-2619-2 [#imx-188] Use imx-gpu-subsytem method to probe GPU Devices
Prabhu Sundararaj [Wed, 22 Feb 2017 22:59:44 +0000 (16:59 -0600)]
MGS-2619-2 [#imx-188] Use imx-gpu-subsytem method to probe GPU Devices

Use component_add menthod to initailize GPU devices. component_add helps
to load after power domains are loaded.

For more reference on the deferred loading
https://patchwork.kernel.org/patch/7683421/

Date: Feb 22, 2017
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
7 years agoMGS-2619 [#imx-188] Use imx-gpu-subsytem method to probe GPU Devices
Prabhu Sundararaj [Thu, 16 Feb 2017 23:01:17 +0000 (17:01 -0600)]
MGS-2619 [#imx-188] Use imx-gpu-subsytem method to probe GPU Devices

Mainline kernel already implements each GPU device as separate node
and gpu-subsystem is being used.

This method will suit better for i.MX8QM where each GPU have different
power domains and need for a separate node. By this way calling of direct
SCFW API can be avoided and use the linux call.

Date: Feb 16, 2017
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
7 years agoMGS-2740 [#imx-456] i.mx6qp: gpu hang with repeat insmod/rmmod galcore
Yuchou Gan [Fri, 17 Mar 2017 16:11:22 +0000 (00:11 +0800)]
MGS-2740 [#imx-456] i.mx6qp: gpu hang with repeat insmod/rmmod galcore

i.mx6qp has hardware problem with fabric design for gpu reset,
add the workaround in gpu driver to avoid gpu hang on i.mx6qp.

updated gpu chip model and revision from original 5.x patch.

Date: Mar 17, 2017
Signed-off-by: Yuchou Gan<yuchou.gan@nxp.com>
7 years agoMLK-14477: arm: dts: imx6qp-sabresd-btwifi: Enable build
Tiberiu Breana [Thu, 16 Mar 2017 14:40:31 +0000 (16:40 +0200)]
MLK-14477: arm: dts: imx6qp-sabresd-btwifi: Enable build

Add imx6qp-sabresd-btwifi.dtb to the Makefile, as it was missing.

Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14475 soc: imx: fix build error after enable rpmsg
Richard Zhu [Thu, 16 Mar 2017 10:13:14 +0000 (18:13 +0800)]
MLK-14475 soc: imx: fix build error after enable rpmsg

- fix the wrong path of header file
- select MU/RPMSG when iMX8 is configured

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-14471-2 arm: dts: imx7ulp: change pad setting for touch
Gao Pan [Sat, 11 Mar 2017 12:23:10 +0000 (20:23 +0800)]
MLK-14471-2 arm: dts: imx7ulp: change pad setting for touch

Set OBE for touch RST pin, set IBE for touch RST.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-pick from 815e6828ba53a9849974b63a7f3024896aa54cb8)

7 years agoMLK-14471-1 arm: dts: restore touch pin when exit VLLS mode
Gao Pan [Fri, 10 Mar 2017 11:52:36 +0000 (19:52 +0800)]
MLK-14471-1 arm: dts: restore touch pin when exit VLLS mode

restore touch pin when exit VLLS mode

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-pick from 807fdc794af9b6ec15673d5e70cb03065b80f9fd)

7 years agoMLK-14394 i2c: imx-lpi2c: change default bitrate
Gao Pan [Wed, 8 Mar 2017 14:37:23 +0000 (22:37 +0800)]
MLK-14394 i2c: imx-lpi2c: change default bitrate

Due to the eviation i2c clk settings, the result may less than
100KBps. As a result, some i2c slave works in wrong condition.

This patch changes i2c bitrate to 200KBps

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-pick from e8001d5993b9be81a872a0d93106e71050dced24)

7 years agoMLK-14393 i2c: imx-lpi2c: directly retrun ISR when detect a NACK
Gao Pan [Wed, 8 Mar 2017 14:29:22 +0000 (22:29 +0800)]
MLK-14393 i2c: imx-lpi2c: directly retrun ISR when detect a NACK

A NACK flag in ISR means i2c bus error. In such codition,
there is no need to do read/write operation. It's better
to return ISR directly and then stop i2c transfer.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-pick from 839d59e48b6fdbd882776a48a88ce26ff14d8b86)