linux.git
7 years agoMLK-16986-1: drm: mxsfb: use bus_format to determine LCD bus width
Stefan Agner [Thu, 15 Dec 2016 01:28:41 +0000 (17:28 -0800)]
MLK-16986-1: drm: mxsfb: use bus_format to determine LCD bus width

The LCD bus width does not need to align with the pixel format. The
LCDIF controller automatically converts between pixel formats and
bus width by padding or dropping LSBs.

The DRM subsystem has the notion of bus_format which allows to
determine what bus_formats are supported by the display. Choose the
first available or fallback to 24 bit if none are available.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMLK-17082-02 ARM: dts: imx: Add dedicated dts for optee support on imx6sl/sll
Bai Ping [Tue, 5 Dec 2017 02:04:50 +0000 (10:04 +0800)]
MLK-17082-02 ARM: dts: imx: Add dedicated dts for optee support on imx6sl/sll

Add dedicated dts file to support optee on imx6sl/sll. The OCRAM is resized
to make sure the OCRAM space used by TEE side is not visiable to no-secure
linux kernel side.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 years agoMLK-17082-01 ARM: imx: Add psci support in cpuidle for imx6sl/sll
Bai Ping [Tue, 5 Dec 2017 02:00:54 +0000 (10:00 +0800)]
MLK-17082-01 ARM: imx: Add psci support in cpuidle for imx6sl/sll

Using PSCI to handle low power idle when linux is running in
no secure world. If the kernel is running in secure world, keep
using the method we used before.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 years agoMLK-17072-2: ARM64: dts: freescale: imx8qm/qxp: enable MU as wakeup source
Robin Gong [Mon, 4 Dec 2017 07:21:03 +0000 (15:21 +0800)]
MLK-17072-2: ARM64: dts: freescale: imx8qm/qxp: enable MU as wakeup source

Enable MU as wakeup source in dts.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-17072-1: soc: imx: sc: ipc: enable MU interrupt as wakeup source
Robin Gong [Mon, 4 Dec 2017 06:57:13 +0000 (14:57 +0800)]
MLK-17072-1: soc: imx: sc: ipc: enable MU interrupt as wakeup source

Currently, kernel still can be wakeup-ed by MU even without enabling it
as a wakeup source. That's because of MU never off in suspend and scfw
can wakeup A53 if MU interrupt not disabled or masked in GIC. But in a
corner case that the MU interrupt coming after suspend_device_irqs, MU
interrupt will be masked by below code in handle_fasteoi_irq:

  if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) {
desc->istate |= IRQS_PENDING;
mask_irq(desc);
goto out;
  }
Thus, next MU interrupt after kernel suspend can't wakeup A53 since it's
masked in GIC and scfw can't see the 'wakeup' interrupt to power up A53.
But from kernel view, that's ok since MU interrupt not set to a wakeup
source. Enable MU as a wakeup source to follow the normal kernel wakeup
device/source flow.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-16929-3: dts: arm64: fsl imx8mq evk pdm mic support
Adrian Alonso [Fri, 1 Dec 2017 16:21:28 +0000 (10:21 -0600)]
MLK-16929-3: dts: arm64: fsl imx8mq evk pdm mic support

Add pdm mic support on imx8mq evk platform
Hardware modifications connect PDM mic:

PDM pin    SAI-3 pad    Test point
------------------------------------
BCLK       SAI3_RXC     TP1802
DATA       SAI3_RXD     TP1804

Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-16929-2: sound: soc: fsl: imx pdm mic driver over SAI
Adrian Alonso [Thu, 14 Sep 2017 20:43:21 +0000 (15:43 -0500)]
MLK-16929-2: sound: soc: fsl: imx pdm mic driver over SAI

i.MX Sound SoC Audio support for PDM mics on SAI
Set audio recording hardware constrains, support
Sample rates: 8000, 16000, 32000, 48000, 64000
PDM decimation factor property fixed to 64
Number of channels: 1

Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-16929-1: ASoC: fsl_sai: add bitclk_freq
Shengjiu Wang [Thu, 23 Nov 2017 05:32:13 +0000 (13:32 +0800)]
MLK-16929-1: ASoC: fsl_sai: add bitclk_freq

Allow set SAI bit clock frequency trough snd_soc_dai_set_sysclk
function call on machine sound drivers.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
7 years agoMLK-15985-3: ARM: dts: imx6sx: set frequency for S20_3LE format
Shengjiu Wang [Mon, 4 Dec 2017 02:20:34 +0000 (10:20 +0800)]
MLK-15985-3: ARM: dts: imx6sx: set frequency for S20_3LE format

Select a proper frequency for S20_3LE/S24_LE/S16_LE. and disable
the SSI2 when mqs enabled, for mqs only support 24.576MHz mclk.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15985-2: ARM: dts: imx6qdl: set freq for S20_3LE format
Shengjiu Wang [Mon, 4 Dec 2017 02:12:34 +0000 (10:12 +0800)]
MLK-15985-2: ARM: dts: imx6qdl: set freq for S20_3LE format

select a proper freq for S20_3LE/S24_LE/S16_LE, the frequency
can be divided by 24/32/16;

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-15985-1: ASoC: fsl_ssi: remove the wrong fix for S20_3LE
Shengjiu Wang [Mon, 4 Dec 2017 05:00:50 +0000 (13:00 +0800)]
MLK-15985-1: ASoC: fsl_ssi: remove the wrong fix for S20_3LE

This reverts commit 6ce4e9c184b7 ("MLK-15068: ASoC: fsl_ssi: fix the noise
issue with S20_3LE Mono bitsream")

The fix in MLK-15068 can't fix the mono noise issue, for using the
physical width imply that the sample with is 24, but the
CCSR_SSI_SxCCR_WL still using the 20 bit, the unalignment cause noise.
Or if change the CCSR_SSI_SxCCR_WL to 24bit, the volume is lower
for 24bit imply that the sample is shift 4bit right.

So the correct way is to change the mclk frequency in dts.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-17075 arm64: dts: enable i2c0 and add sensor support imx8qm-mek
Gao Pan [Mon, 4 Dec 2017 08:02:59 +0000 (16:02 +0800)]
MLK-17075 arm64: dts: enable i2c0 and add sensor support imx8qm-mek

enable i2c0 add sensor support imx8qm-mek:
isl29023, fxos8700, fxas2100x, mpl3115

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
7 years agoMLK-17074-10 soc: imx8: pm-domains: fix missing full intialization for root domain...
Dong Aisheng [Mon, 27 Nov 2017 12:12:36 +0000 (20:12 +0800)]
MLK-17074-10 soc: imx8: pm-domains: fix missing full intialization for root domain nodes

Current power domain driver only setup all domain callbacks during second
level power domains intialization. However, there're also some root power
domain nodes having valid SC resource handler which may be used by device
as well. Missing to setup them may result in some features lost on these
domains.
e.g.
pd_dc0: PD_DC_0 {
compatible = "nxp,imx8-pd";
reg = <SC_R_DC_0>;
#power-domain-cells = <0>;
#address-cells = <1>;
#size-cells = <0>;
...
}

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-9 ASoC: cs42xx8: force suspend/resume during system suspend/resume
Dong Aisheng [Mon, 27 Nov 2017 04:58:17 +0000 (12:58 +0800)]
MLK-17074-9 ASoC: cs42xx8: force suspend/resume during system suspend/resume

Use force_suspend/resume to make sure clocks are disabled/enabled
accordingly during system suspend/resume.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-8 soc: imx8: pm-domains: fix the wrong use of runtime_idle_active for pd...
Dong Aisheng [Thu, 30 Nov 2017 06:09:57 +0000 (14:09 +0800)]
MLK-17074-8 soc: imx8: pm-domains: fix the wrong use of runtime_idle_active for pd mode selection

There're fundanmental difference between the using of start/stop and pd
mode selection. Start/stop actually can only reflect device state, not
power domain state. So actually we're abusing it here.
e.g. take a consider of two devices on the same domain.

PD mode should be selected by power domain gorvernor or power domain core.
This patch totally remove the wrong use of start/stop and runtime_idle_active
to indicate which PD mode to enter.

By apply this patch, the power domain lower power mode selection will have
no dependency on the per device runtime status anymore.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-7 mmc: sdhci-esdhc-imx: make sure clock is disabled during suspend
Dong Aisheng [Thu, 30 Nov 2017 13:10:18 +0000 (21:10 +0800)]
MLK-17074-7 mmc: sdhci-esdhc-imx: make sure clock is disabled during suspend

make sure clock is disabled during suspend

Reviewed-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-6 soc: imx8: pm-domains: use state_idx to distinguish the low power state
Dong Aisheng [Fri, 24 Nov 2017 08:55:08 +0000 (16:55 +0800)]
MLK-17074-6 soc: imx8: pm-domains: use state_idx to distinguish the low power state

Use state_idx to distinguish the low power state.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-5 soc: imx8: pm-domains: add multiple states
Dong Aisheng [Fri, 24 Nov 2017 08:48:12 +0000 (16:48 +0800)]
MLK-17074-5 soc: imx8: pm-domains: add multiple states

MX8 power domain supports two low power modes: LP and OFF.
So adding them accordingly to make the power domain core be aware of it.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-4 soc: imx8: pm-domains: remove the status checking during power off
Dong Aisheng [Fri, 24 Nov 2017 08:51:50 +0000 (16:51 +0800)]
MLK-17074-4 soc: imx8: pm-domains: remove the status checking during power off

The power domain core alreadys checked it, no need check it anymore.
Besides that, removing it make the driver be able to switch to different
low power mode in the future. Identically the power on check is also
removed.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-3 PM / Domains: use default state 0 to enter for multi states domains
Dong Aisheng [Thu, 30 Nov 2017 09:32:08 +0000 (17:32 +0800)]
MLK-17074-3 PM / Domains: use default state 0 to enter for multi states domains

If no valid state idx specified by governor, we use the default state_idx
0 to enter in case the domain has multi low power states.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-2 PM / Domains: choose the deepest state to enter if no devices using it
Dong Aisheng [Mon, 27 Nov 2017 09:33:47 +0000 (17:33 +0800)]
MLK-17074-2 PM / Domains: choose the deepest state to enter if no devices using it

For a domain belongs to no devices anymore, let's choose the deepest state
to enter to save power.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17074-1 PM / Domains: support enter deepest state for multiple states domains
Dong Aisheng [Fri, 24 Nov 2017 08:31:32 +0000 (16:31 +0800)]
MLK-17074-1 PM / Domains: support enter deepest state for multiple states domains

Currently the generic power domain suspend code pm_genpd_suspend_noirq
will try to power off a domain used by devices in genpd_sync_poweroff
if its status is not GPD_STATE_ACTIVE.

However, for power domains supporting multiple low power states, it may
already enter an intermediate low power state by runtime PM before system
suspend and the status is already GPD_STATE_POWER_OFF which results in
then the power domain stay at an intermediate low power state during
system suspend.

Let's give the power domain a chance to switch to the deepest state in
case it's already off but in an intermediate low power state.
Due to power domain is alway off, so no need to check device wakeup
case anymore.

Reviewed-by: Frank Li <frank.li@nxp.com>
Reviewed-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
7 years agoMLK-17061-2 arm64: dts: add interrupt-open-drain property for sensors
Gao Pan [Mon, 4 Dec 2017 05:25:51 +0000 (13:25 +0800)]
MLK-17061-2 arm64: dts: add interrupt-open-drain property for sensors

add interrupt-open-drain property for sensors

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-picked from 7b8cd1c5d94f4e2ea5462ca490da6e8f125c92cf)

7 years agoMLK-17061-1 sensor: set sensor interrupt pins as open-drain
Gao Pan [Mon, 4 Dec 2017 05:27:00 +0000 (13:27 +0800)]
MLK-17061-1 sensor: set sensor interrupt pins as open-drain

The sensors share an interrupt pin on imx8qm/imx8qxp mek.
As a result, the interrupt signals will be interfered by
each other in default push-pull status.

This patch sets sensor interrupt pins as open-drain when
necessary.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-picked from 48bcb7aafa2a3ced923d1a1753bb19d89a9fc273)

7 years agoMLK-17039 qca6174: clear error message during wifi bootup
Gao Pan [Fri, 1 Dec 2017 02:10:31 +0000 (10:10 +0800)]
MLK-17039 qca6174: clear error message during wifi bootup

clear error message during wifi bootup

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

7 years agoMLK-17033: ath10k: fix suspend/resume fail issue
Gao Pan [Fri, 1 Dec 2017 05:17:07 +0000 (13:17 +0800)]
MLK-17033: ath10k: fix suspend/resume fail issue

qca6174 wifi driver causes system hang during suspend/resume stress test.
This patch fix this suspend/resume fail issue.

Signed-off-by: Andy Duan <fugang.duan@nxp.com>
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-picked from 72fbaf4aa36e7407108d1c0b7d857287f84bee3d)

7 years agoMLK-17025-2 dts: imx8mq-evk: use internal clock as MCLK source for camera
Robby Cai [Wed, 29 Nov 2017 08:18:15 +0000 (16:18 +0800)]
MLK-17025-2 dts: imx8mq-evk: use internal clock as MCLK source for camera

use internal CLKO2 as camera's MCLK. it's 20MHz, derived from the
parent clock IMX8MQ_SYS2_PLL_200M

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
(cherry picked from commit 6bf9f6c7d0bcc62bd526bfb112bab91e916274b6)

7 years agoMLK-17025-1 media: camera: use the CLKO2 from SoC as MCLK for camera
Robby Cai [Wed, 29 Nov 2017 07:35:09 +0000 (15:35 +0800)]
MLK-17025-1 media: camera: use the CLKO2 from SoC as MCLK for camera

use internal clock as MCLK source for camera ov5640.
The driver will adjust the setting for ov5640 accordingly.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
(cherry picked from commit 9bed75aca0b355e41279622407fd30c8b670445b)

7 years agoMLK-16959: crypto: caam Add CAAM page 0 definition in device tree
Cedric Neveux [Thu, 16 Nov 2017 15:13:39 +0000 (15:13 +0000)]
MLK-16959: crypto: caam Add CAAM page 0 definition in device tree

Add definition of CAAM page 0 in the device tree.
This page is only accessible by the CPU in secure world.
this is defined by the secure-status.

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
7 years agoMLK-17034-6: ASoC: fsl_spdif: Move clock operation to pm runtime function
Shengjiu Wang [Wed, 29 Nov 2017 08:09:30 +0000 (16:09 +0800)]
MLK-17034-6: ASoC: fsl_spdif: Move clock operation to pm runtime function

In imx8 when systerm enter suspend state, the power of subsystem will be
off, the clock enable state will be lost after resume, but the runtime
resume function will be called after resume by pm, so need to move clock
enablement to runtime resume and clock disablement to runtime suspend.
Then after resume the clock enable state can be recovered.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-17034-5: ASoC: fsl_mqs: Move clock operation to pm runtime function
Shengjiu Wang [Wed, 29 Nov 2017 07:32:21 +0000 (15:32 +0800)]
MLK-17034-5: ASoC: fsl_mqs: Move clock operation to pm runtime function

In imx8 when systerm enter suspend state, the power of subsystem will be
off, The clock enable state will be lost after resume, but the runtime
resume function will be called after resume by pm, so need to move clock
enablement to runtime resume and clock disablement to runtime suspend.
Then after resume the clock enable state can be recovered.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-17034-4: ASoC: wm8960: add pm runtime suspend and resume
Shengjiu Wang [Tue, 28 Nov 2017 11:07:24 +0000 (19:07 +0800)]
MLK-17034-4: ASoC: wm8960: add pm runtime suspend and resume

Add clock enablement in runtime resume and clock disablement in
runtime suspend

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-17034-3: ASoC: imx-wm8960: remove clk operation in startup/shutdown
Shengjiu Wang [Tue, 28 Nov 2017 09:02:22 +0000 (17:02 +0800)]
MLK-17034-3: ASoC: imx-wm8960: remove clk operation in startup/shutdown

In imx8 when systerm enter suspend state, the power of subsystem will be
off, the clock enable state will be lost after resume, the startup
function isn't called after resume, so the clock will be enabled after
resume, the clock operation should be moved to pm runtime resume function.
For the mclk is for codec, this clock enablement and disablement will be
move to code driver's runtime resume and runtime suspend

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-17034-2: ASoC: fsl_sai: Move clock operation to pm runtime function
Shengjiu Wang [Tue, 28 Nov 2017 08:17:17 +0000 (16:17 +0800)]
MLK-17034-2: ASoC: fsl_sai: Move clock operation to pm runtime function

In imx8 when systerm enter suspend state, the power of subsystem will be
off, the clock enable state will be lost after resume, but the runtime
resume function will be called after resume by pm, so need to move clock
enablement to runtime resume and clock disablement to runtime suspend.
Then after resume the clock enable state can be recovered.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-17034-1: ASoC: fsl_esai: Move clock operation to pm runtime function
Shengjiu Wang [Tue, 28 Nov 2017 08:17:08 +0000 (16:17 +0800)]
MLK-17034-1: ASoC: fsl_esai: Move clock operation to pm runtime function

In imx8 when systerm enter suspend state, the power of subsystem will be
off, The clock enable state will be lost after resume, but the runtime
resume function will be called after resume by pm, so need to move clock
enablement to runtime resume and clock disablement to runtime suspend.
Then after resume the clock enable state can be recovered.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-16980 arm64: dts: imx8mq: adjust the cma allocation
Richard Zhu [Thu, 30 Nov 2017 05:44:43 +0000 (13:44 +0800)]
MLK-16980 arm64: dts: imx8mq: adjust the cma allocation

To resolve the confliction between CMA and the M4 reserved
memory region. Adjust the cma size and range.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Anson Huang <anson.huang@nxp.com>
7 years agoMLK-17042 ARM64: dts: imx8mq: add apb clock for irqsteer
Fancy Fang [Thu, 30 Nov 2017 06:22:45 +0000 (14:22 +0800)]
MLK-17042 ARM64: dts: imx8mq: add apb clock for irqsteer

Add the 'IMX8MQ_CLK_DISP_APB_ROOT' clock to irqsteer
'clocks' property.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
Reported-by: Anson Huang <anson.huang@nxp.com>
Reported-by: Pandy Gao <pandy.gao@nxp.com>
7 years agoMLK-17023 drm/imx: ldb: Align HSYNC and VSYNC polarities with PHY in DE mode
Liu Ying [Wed, 29 Nov 2017 06:19:46 +0000 (14:19 +0800)]
MLK-17023 drm/imx: ldb: Align HSYNC and VSYNC polarities with PHY in DE mode

When an external display device works in data enable(DE) mode,
it usually provides video mode(s) without HSYNC and VSYNC
polarities via display flags.  In this case, the controller(LDB)
and the LVDS PHY still need to align the two signal polarities
with each other respectively.  Otherwise, polarities generated
by default register values may cause mismatch polarities and
display artifacts.  With the DE mode JDI TX26D202VM0BWA panel,
we see vertical lines(very likely, only one) at the left boundary
are missing sometimes, which is caused by this mismatch.  This
patch replaces the default polarity status with explicit active
high in DE mode to fix the issue.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-17022 drm/panel: panel-simple: Correct JDI TX26D202VM0BWA panel display timing...
Liu Ying [Wed, 29 Nov 2017 06:10:16 +0000 (14:10 +0800)]
MLK-17022 drm/panel: panel-simple: Correct JDI TX26D202VM0BWA panel display timing flags

The JDI TX26D202VM0BWA panel works in data enable(DE) mode.
Apparently, the panel's data enable signal is active high
according to the panel spec.  This patch corrects the DE
signal polarity from active low to active high.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-17003: hdmi: More delay need for hdmi phy init
Sandor Yu [Tue, 28 Nov 2017 10:01:39 +0000 (18:01 +0800)]
MLK-17003: hdmi: More delay need for hdmi phy init

DRM core waits for 50ms for a vblank interrupt to come
after changing the mode. But in video mode change from
4Kp60 to 480p60 case, the VBLANK interrupt is not coming
in 50ms, drm core driver will dump the followed warning
information.

[ 1034.956833] [CRTC:25] vblank wait timed out
[ 1034.961069] ------------[ cut here ]------------
[ 1034.965702] WARNING: CPU: 0 PID: 3485 at
/home/bamboo/build/4.9.51-8mq-beta/fsl-imx-internal-xwayland/temp_build_dir/build_fsl-imx-internal-xwayland/tmp/work-shared/imx8mqevk/kernel-source/drivers/gpu/drm/drm_atomic_helper.c:1140
drm_atomic_helper_wait_for_vblanks+0x230/0x238
[ 1034.990111] Modules linked in: 8021q garp stp mrp galcore(O) ipv6
[ 1034.996289]
[ 1034.997785] CPU: 0 PID: 3485 Comm: modetest Tainted: G        W  O
4.9.51-imx_4.9.51_imx8m_beta+gaf29127 #1
[ 1035.007783] Hardware name: Freescale i.MX8MQ EVK (DT)
[ 1035.012832] task: ffff8000b6c49900 task.stack: ffff8000b64cc000
[ 1035.018751] PC is at drm_atomic_helper_wait_for_vblanks+0x230/0x238
[ 1035.025016] LR is at drm_atomic_helper_wait_for_vblanks+0x230/0x238
[ 1035.031281] pc : [<ffff0000085a6b08>] lr : [<ffff0000085a6b08>]
pstate: 00000145
[ 1035.038673] sp : ffff8000b64cfa50
[ 1035.041985] x29: ffff8000b64cfa50 x28: 0000000000000000
[ 1035.047316] x27: 0000000000000000 x26: ffff8000b86c4820
[ 1035.052646] x25: 0000000000000090 x24: 0000000000006d57
[ 1035.057976] x23: 0000000000000018 x22: ffff8000b86c3800
[ 1035.063306] x21: ffff8000b955fc00 x20: ffff8000b64f1180
[ 1035.068637] x19: 0000000000000000 x18: 0000000000000010
[ 1035.073967] x17: 0000000000000000 x16: 0000000000000000
[ 1035.079297] x15: 0000000000000006 x14: ffff00008937abc7
[ 1035.084628] x13: ffff00000937abd5 x12: 0000000000000007
[ 1035.089959] x11: 000000000000022f x10: 0000000005f5e0ff
[ 1035.095289] x9 : 0000000000000230 x8 : 6974207469617720
[ 1035.100619] x7 : 6b6e616c6276205d x6 : ffff00000937abf6
[ 1035.105949] x5 : 0000000000000000 x4 : 0000000000000000
[ 1035.111279] x3 : 0000000000000000 x2 : ffff8000b64cc000
[ 1035.116609] x1 : ffff8000b64cc000 x0 : 000000000000001f
[ 1035.121938]
[ 1035.123428] ---[ end trace d3bf25e791b7a9c7 ]---
[ 1035.128043] Call trace:
[ 1035.130488] Exception stack(0xffff8000b64cf880 to 0xffff8000b64cf9b0)
[ 1035.136928] f880: 0000000000000000 0001000000000000 ffff8000b64cfa50
ffff0000085a6b08
[ 1035.144756] f8a0: 0000000000000002 0000000000000004 ffff00000937cfe8
000000000000001f
[ 1035.152584] f8c0: ffff00000937a000 ffff000008f67838 ffff8000b64cf970
ffff0000081009f0
[ 1035.160412] f8e0: 0000000000000000 ffff8000b64f1180 ffff8000b955fc00
ffff8000b86c3800
[ 1035.168240] f900: 0000000000000018 0000000000006d57 0000000000000090
ffff8000b86c4820
[ 1035.176067] f920: 000000000000001f ffff8000b64cc000 ffff8000b64cc000
0000000000000000
[ 1035.183895] f940: 0000000000000000 0000000000000000 ffff00000937abf6
6b6e616c6276205d
[ 1035.191723] f960: 6974207469617720 0000000000000230 0000000005f5e0ff
000000000000022f
[ 1035.199551] f980: 0000000000000007 ffff00000937abd5 ffff00008937abc7
0000000000000006
[ 1035.207377] f9a0: 0000000000000000 0000000000000000
[ 1035.212255] [<ffff0000085a6b08>]
drm_atomic_helper_wait_for_vblanks+0x230/0x238
[ 1035.219562] [<ffff0000085a96a0>]
drm_atomic_helper_commit_tail+0x50/0x68
[ 1035.226261] [<ffff0000085a971c>] commit_tail+0x64/0x80
[ 1035.231398] [<ffff0000085a97f8>] drm_atomic_helper_commit+0xa8/0x108
[ 1035.237752] [<ffff0000085ec468>] dcss_drm_atomic_commit+0x100/0x148
[ 1035.244018] [<ffff0000085c8308>] drm_atomic_commit+0x50/0x60
[ 1035.249676] [<ffff0000085a9d28>]
drm_atomic_helper_set_config+0x88/0xc8
[ 1035.256290] [<ffff0000085bb5f8>]
drm_mode_set_config_internal+0x68/0xf8
[ 1035.262903] [<ffff0000085bc9dc>] drm_mode_setcrtc+0x38c/0x450
[ 1035.268649] [<ffff0000085b3ba8>] drm_ioctl+0x198/0x448
[ 1035.273788] [<ffff0000081f067c>] do_vfs_ioctl+0xa4/0x748
[ 1035.279099] [<ffff0000081f0dac>] SyS_ioctl+0x8c/0xa0
[ 1035.284064] [<ffff000008082f4c>] __sys_trace_return+0x0/0x4

Added more delay for hdmi phy init will fixed the issue.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-17037: arm64: dts: change the fspi AHB memory size to 256M
Han Xu [Wed, 29 Nov 2017 22:28:39 +0000 (16:28 -0600)]
MLK-17037: arm64: dts: change the fspi AHB memory size to 256M

Change the flexspi0 AHB memory size to the correct 256M.

Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16952 crypto: caam: fsl-imx8mq.dtsi: Enable job ring 0
Aymen Sghaier [Mon, 27 Nov 2017 16:14:11 +0000 (17:14 +0100)]
MLK-16952 crypto: caam: fsl-imx8mq.dtsi: Enable job ring 0

  Test/Validation Team needs all job rings enabled in the device-tree
 but only JR0 and JR1 are accessible by the Kernel.
  JR2 has different JR Master ID domain owner than Kernel Domain.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
7 years agoMLK-16951 security: Add tcrypt to be built out as module and other modules
Aymen Sghaier [Mon, 27 Nov 2017 12:59:08 +0000 (13:59 +0100)]
MLK-16951 security: Add tcrypt to be built out as module and other modules

  Enable CONFIG_CRYPTO_TEST=m needed by Test / Validation Team, and then
 other needed modules used by tcrypt are enbled.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
7 years agoMLK-16950 crypto: caam: Fix failed to flush job ring 0
Aymen Sghaier [Mon, 27 Nov 2017 16:01:53 +0000 (17:01 +0100)]
MLK-16950 crypto: caam: Fix failed to flush job ring 0

  This error occurred on MX8M-EVK while initializing the first job ring.
 If the job ring was used before Kernel level, then connecting it to the
 irq handler could generate error due to its (unknown) previous state.
  This patch calls the hardware reset function before connecting the irq
 handler.

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
7 years agoMLK-17032-2: drm: imx: dcss: fix runtime suspend/resume
Laurentiu Palcu [Wed, 29 Nov 2017 11:27:23 +0000 (13:27 +0200)]
MLK-17032-2: drm: imx: dcss: fix runtime suspend/resume

If the DCSS core is runtime suspended, but the display-subsystem is not,
we need to resume the DCSS core before setting up DTG and SUBSAM
modules.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoMLK-17032-1: arm64: dts: imx8mq: Fix DCSS suspend/resume issue
Laurentiu Palcu [Wed, 29 Nov 2017 11:34:19 +0000 (13:34 +0200)]
MLK-17032-1: arm64: dts: imx8mq: Fix DCSS suspend/resume issue

This commit:

6362b8c - MLK-17014-2 ARM64: dts: imx8mq: move 'display-subsystem' node
          to dtsi file

moved the display-subsystem node to dtsi, before the DCSS node definition. This
made the DCSS core suspend/resume after display-subsystem. However, the DCSS
clocks need to be enabled first.

This patch moves the display-subsytem definition after the DCSS and HDMI PHY nodes.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoMLK-17016 arm64: dts: fsl-imx8qm-mek: Add support for MIPI-DSI with adv7535 and rm67191
Robert Chiras [Tue, 28 Nov 2017 09:36:09 +0000 (11:36 +0200)]
MLK-17016 arm64: dts: fsl-imx8qm-mek: Add support for MIPI-DSI with adv7535 and rm67191

This patch addes MIPI-DSI support with the ADV7535 DSI-HDMI converter
and DSI Panel Raydium RM67191 for the i.MX8QM MEK board.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMLK-17019 Correct Copyright
Peng Fan [Wed, 29 Nov 2017 03:48:04 +0000 (11:48 +0800)]
MLK-17019 Correct Copyright

Correct Copyright

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 years agoMLK-16992-2: drm: imx: dcss: enable/disable all clocks during suspend/resume
Laurentiu Palcu [Mon, 27 Nov 2017 07:45:52 +0000 (09:45 +0200)]
MLK-16992-2: drm: imx: dcss: enable/disable all clocks during suspend/resume

Clocks were not properly disabled during suspend. This patch will
disable all clocks during suspend.

Also, remove the hardcoded clocks' rates. These will be set through DTB.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoMLK-16992-1: drm: imx: dcss: Do not request bus_freq twice
Laurentiu Palcu [Mon, 27 Nov 2017 06:38:26 +0000 (08:38 +0200)]
MLK-16992-1: drm: imx: dcss: Do not request bus_freq twice

Make sure we request/release the bus_freq exactly once.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoMLK-16671-9 - [i.MX8QXP/Malone]: Add vpu malone decoder
Zhou Peng-B04994 [Tue, 28 Nov 2017 10:28:55 +0000 (18:28 +0800)]
MLK-16671-9 - [i.MX8QXP/Malone]: Add vpu malone decoder

Refine copyright statement

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-17014-3 ARM64: dts: imx8mq: move hdmi 'port@0' node to dtsi file
Fancy Fang [Tue, 28 Nov 2017 09:55:42 +0000 (17:55 +0800)]
MLK-17014-3 ARM64: dts: imx8mq: move hdmi 'port@0' node to dtsi file

It is better to put the hdmi 'port@0' node definition
to 'fsl-imx8mq.dtsi' file.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-17014-2 ARM64: dts: imx8mq: move 'display-subsystem' node to dtsi file
Fancy Fang [Tue, 28 Nov 2017 09:44:08 +0000 (17:44 +0800)]
MLK-17014-2 ARM64: dts: imx8mq: move 'display-subsystem' node to dtsi file

It is better to put the 'display-subsystem' node definition
to 'fsl-imx8mq.dtsi' file.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-17014-1 ARM64: dts: imx8mq: move 'dcss_disp0' node to dtsi file
Fancy Fang [Tue, 28 Nov 2017 09:32:21 +0000 (17:32 +0800)]
MLK-17014-1 ARM64: dts: imx8mq: move 'dcss_disp0' node to dtsi file

The 'dcss_disp0' node definition is better to be put
into the dcss node definition in 'fsl-imx8mq.dtsi'.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16671-8 - [i.MX8QXP/Malone]: Add vpu malone decoder
Zhou Peng-B04994 [Tue, 28 Nov 2017 09:45:24 +0000 (17:45 +0800)]
MLK-16671-8 - [i.MX8QXP/Malone]: Add vpu malone decoder

Fix compiler warning 'unused variable'

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-16604-3 dt-bindings: usb: xhci: add usb3-resume-missing-cas property
Li Jun [Tue, 28 Nov 2017 14:25:07 +0000 (22:25 +0800)]
MLK-16604-3 dt-bindings: usb: xhci: add usb3-resume-missing-cas property

There is already one quirk for usb3 xhci flag XHCI_MISSING_CAS, for
those platform with OF we can use usb3-resume-missing-cas to enable
this quirk to work around usb3 resume from system sleep.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16604-2 arm64: dts: imx8mq: add usb3-resume-missing-cas for usb3
Li Jun [Tue, 28 Nov 2017 14:12:21 +0000 (22:12 +0800)]
MLK-16604-2 arm64: dts: imx8mq: add usb3-resume-missing-cas for usb3

Add usb3-resume-missing-cas property for imx8mq usb3 to work around
the usb3 resume if the usb3 device plugged in while in system sleep.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16604-1 usb: host: xhci-plat: add XHCI_MISSING_CAS quirk
Li Jun [Tue, 28 Nov 2017 13:43:18 +0000 (21:43 +0800)]
MLK-16604-1 usb: host: xhci-plat: add XHCI_MISSING_CAS quirk

i.MX8MQ USB3 host needs XHCI_MISSING_CAS quirk to warm reset the port to
enum the USB3 device plugged in while system sleep, as the port state is
stuck in polling mode after resume.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16820-5 dt-bindings: typec: add documentation for tcpci
Li Jun [Tue, 28 Nov 2017 11:18:44 +0000 (19:18 +0800)]
MLK-16820-5 dt-bindings: typec: add documentation for tcpci

TCPCI stands for typec port controller interface, its implementation
has full typec port control with power delivery support, it's a
standard i2c slave with GPIO input as irq interface, detail see spec
"Universal Serial Bus Type-C Port Controller Interface Specification
Revision 1.0, Version 1.1"

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16820-4 dt-bindings: typec: add basic typec properties
Li Jun [Tue, 28 Nov 2017 11:17:20 +0000 (19:17 +0800)]
MLK-16820-4 dt-bindings: typec: add basic typec properties

port-type is required for any typec port; default-role is only required
for drp; power source capable needs src-pdos; power sink capable needs
snk-pdos, max-snk-mv, max-snk-ma, op-snk-mw.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16820-3 arm64: dts: fsl-imx8qxp-mek: use sink-disable for typec
Li Jun [Thu, 23 Nov 2017 13:48:47 +0000 (21:48 +0800)]
MLK-16820-3 arm64: dts: fsl-imx8qxp-mek: use sink-disable for typec

As we need drp config for typec data role, so change the port type
to be drp and add a sink-disable property for it.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16820-2 staging: typec: tcpci: add sink_disable flag for source only power
Li Jun [Thu, 23 Nov 2017 13:44:36 +0000 (21:44 +0800)]
MLK-16820-2 staging: typec: tcpci: add sink_disable flag for source only power

As we need to use DRP config for data role, but the power role is source only,
so introduce a property sink-disable to avoid sink vbus command.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-16820-1 staging: typec: tcpm: don't do source debounce if remote keep Rp
Li Jun [Wed, 15 Nov 2017 15:52:30 +0000 (23:52 +0800)]
MLK-16820-1 staging: typec: tcpm: don't do source debounce if remote keep Rp

While TRY.SRC, if the remote keeps the Rp and we also enable Rp,
there will be a disconnect, this disconnect should be ignored,
then either the remote further enable Rd before timeout to have
a succeed TRY.SRC, or TRY.SRC timeout and start to sink.

Signed-off-by: Li Jun <jun.li@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
7 years agoMLK-17012 ARM: dts: imx: update vdd_soc setpoint voltage on imx6sll
Bai Ping [Tue, 28 Nov 2017 07:58:28 +0000 (15:58 +0800)]
MLK-17012 ARM: dts: imx: update vdd_soc setpoint voltage on imx6sll

According to the latest datasheet(Rev. 0.2, 11/2017), the
VDD_SOC_IN voltage can be set to 1.15V always, no constrain
between VDD_SOC_IN and VDD_ARM_IN, so change the voltage
of VDD_SOC_IN for 996MHz setpoint to 1.175V as other setpoints.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14697 ARM: dts: imx: update the setpoint data of imx6sll
Bai Ping [Fri, 14 Apr 2017 07:57:41 +0000 (15:57 +0800)]
MLK-14697 ARM: dts: imx: update the setpoint data of imx6sll

According to the latest datasheet(Rev.0 4/2017), The voltage of
996MHz should be updated to 1.23V. For NXP's Pfuze PMIC chip, the
minimum voltage step is 25mV, we need to set the voltage of 996MHz
to 1.25V. In order to cover board tolerance and IR drop, we add
25mV margin. Then the 996MHz setpoint voltage is 1.275V.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit 4d40b3a6149e53f60f3cc6a14da1f2ffc55efb8e)

7 years agoMLK-16942: dts: Remove disp_apb clock rate setting
Robert Chiras [Tue, 28 Nov 2017 07:53:44 +0000 (09:53 +0200)]
MLK-16942: dts: Remove disp_apb clock rate setting

The patch that moved the dcss node from fsl-imx8mq-evk.dts to
fsl-imx8mq.dtsi reverted Sandor's patch 8c9aa9e which removed the APB
clock from assigned-clocks, this way breaking the HDMI CEC
functionality.
This patch re-applies the changes made initially in 8c9aa9e.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMLK-17005: linux-imx: serial: fsl_lpuart: Clear LOOP mode when requested
Abel Vesa [Mon, 27 Nov 2017 16:10:11 +0000 (18:10 +0200)]
MLK-17005: linux-imx: serial: fsl_lpuart: Clear LOOP mode when requested

The LOOP mode remained always set after first use.
If the ioctl tiocmset gets called with TIOCMBIC for TIOCM_LOOP,
UARTCTRL_LOOPS needs to be cleared in the LPUART control register.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-16988: watchdog: imx8_wdt: stop watchdog while suspend
Robin Gong [Mon, 27 Nov 2017 03:12:42 +0000 (11:12 +0800)]
MLK-16988: watchdog: imx8_wdt: stop watchdog while suspend

Since watchdog on i.mx8 is a software watchdog in scfw side, it should be
stopped while kernel enter system suspend if watchdog fired. Otherwise,
unexpected watchdog reset will happen. Restore back if watchdog fired too.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-16834-02 dts: Add display port only dts for imx8qm arm2
Sandor Yu [Thu, 16 Nov 2017 06:38:10 +0000 (14:38 +0800)]
MLK-16834-02 dts: Add display port only dts for imx8qm arm2

Add fsl-imx8qm-lpddr4-arm2-dp.dts for display port only.
Move hdmi sound propriety from fsl-imx8qm-lpddr4-arm2.dts
to fsl-imx8qm-lpddr4-arm2-dp.dts because hdmi sound should
enable with hdmi driver.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit c9db9489e7589c148f178056df22eda574b2c3ec)

7 years agoMLK-16946-4: hdp: Add mutex for mailbox access
Sandor Yu [Fri, 24 Nov 2017 09:59:00 +0000 (17:59 +0800)]
MLK-16946-4: hdp: Add mutex for mailbox access

Add mutex for mailbox access.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16946-3: dts: Add hdmi interrupt to iMX8MQ
Sandor Yu [Thu, 23 Nov 2017 04:24:23 +0000 (12:24 +0800)]
MLK-16946-3: dts: Add hdmi interrupt to iMX8MQ

Add hdmi interrupt to iMX8MQ dts.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16946-2: hdmi: Enable cable hotplug detect function
Sandor Yu [Thu, 23 Nov 2017 06:39:53 +0000 (14:39 +0800)]
MLK-16946-2: hdmi: Enable cable hotplug detect function

-Enable HDMI/DP cable hotplug detect function.
-Remove HPD polling thread function.
-Move HDMI/DP FW init and download function
before hdmi drm register.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16946-1: hdp: Reduce timeout counter for hdp functions
Sandor Yu [Thu, 23 Nov 2017 04:26:32 +0000 (12:26 +0800)]
MLK-16946-1: hdp: Reduce timeout counter for hdp functions

Reduce hdp function r/w timeout counter.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-16973-10 arm64: dts: fsl-imx8qm-mek: Add JDI WUXGA LVDS panel support on LVDS1
Liu Ying [Fri, 24 Nov 2017 02:45:06 +0000 (10:45 +0800)]
MLK-16973-10 arm64: dts: fsl-imx8qm-mek: Add JDI WUXGA LVDS panel support on LVDS1

This patch adds JDI WUXGA LVDS panel(on LVDS1) support
for the i.MX8QM MEK platform.
Note that the i.MX8QM MEK board needs a hardware rework
to add a 0ohm resistor for R211 to make the PWM backlight
work for the panel.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-9 arm64: dts: fsl-imx8qm-lpddr4-arm2: Add JDI WUXGA LVDS panel support...
Liu Ying [Fri, 24 Nov 2017 02:43:43 +0000 (10:43 +0800)]
MLK-16973-9 arm64: dts: fsl-imx8qm-lpddr4-arm2: Add JDI WUXGA LVDS panel support on LVDS1

This patch adds JDI WUXGA LVDS panel(on LVDS1) support
for the i.MX8QM LPDDR4 ARM2 platform.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-8 arm64: dts: fsl-imx8qm-mek: Add LVDS0/1 PWM backlight support
Liu Ying [Fri, 24 Nov 2017 02:40:17 +0000 (10:40 +0800)]
MLK-16973-8 arm64: dts: fsl-imx8qm-mek: Add LVDS0/1 PWM backlight support

This patch adds LVDS0/1 PWM backlight support
for the i.MX8QM MEK platform.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-7 arm64: dts: fsl-imx8qm-lpddr4-arm2: Add LVDS0/1 PWM backlight support
Liu Ying [Fri, 24 Nov 2017 02:39:34 +0000 (10:39 +0800)]
MLK-16973-7 arm64: dts: fsl-imx8qm-lpddr4-arm2: Add LVDS0/1 PWM backlight support

This patch adds LVDS0/1 PWM backlight support
for the i.MX8QM LPDDR4 ARM2 platform.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-6 arm64: dtsi: fsl-imx8qm: Add lvds0/1_pwm nodes
Liu Ying [Fri, 24 Nov 2017 02:38:35 +0000 (10:38 +0800)]
MLK-16973-6 arm64: dtsi: fsl-imx8qm: Add lvds0/1_pwm nodes

This patch adds lvds0/1_pwm device tree nodes for the i.MX8QM SoC.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-5 arm64: defconfig: Build in generic PWM backlight driver
Liu Ying [Fri, 24 Nov 2017 05:56:56 +0000 (13:56 +0800)]
MLK-16973-5 arm64: defconfig: Build in generic PWM backlight driver

This patch builds in the generic PWM backlight driver.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-4 pwm: imx: Use ipg and per clks in ->config, ->enable and ->disable
Liu Ying [Thu, 23 Nov 2017 08:03:10 +0000 (16:03 +0800)]
MLK-16973-4 pwm: imx: Use ipg and per clks in ->config, ->enable and ->disable

For the i.MX8QM SoC, it turns out that both ipg and per clocks
are needed to be enabled when the PWM registers are configured.
Hence, we use the two clocks in the ->config, ->enable and
disable hooks.  For other SoCs unlike i.MX8QM, it could bring
some additional trivial power consumptions due to the additional
active ipg clock when PWM is enabled.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-3 arm64: defconfig: Build in DRM simple panel driver
Liu Ying [Fri, 24 Nov 2017 06:25:30 +0000 (14:25 +0800)]
MLK-16973-3 arm64: defconfig: Build in DRM simple panel driver

This patch builds in the DRM simple panel driver.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-2 drm/panel: simple: Add support for JDI TX26D202VM0BWA panel
Liu Ying [Mon, 20 Nov 2017 07:40:19 +0000 (15:40 +0800)]
MLK-16973-2 drm/panel: simple: Add support for JDI TX26D202VM0BWA panel

This patch adds support for Japan Display Inc. 10.1" TX26D202VM0BWA
WUXGA(1920x1200) TFT LCD panel with LVDS interface.
The panel has dual LVDS channels.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16973-1 dt-bindings: display: Add JDI TX26D202VM0BWA LCD panel bindings
Liu Ying [Fri, 24 Nov 2017 07:34:03 +0000 (15:34 +0800)]
MLK-16973-1 dt-bindings: display: Add JDI TX26D202VM0BWA LCD panel bindings

The JDI TX26D202VM0BWA LCD panel is a 10.1" panel
with a 1920x1200 (WUXGA) resolution.
The panel has dual LVDS channels.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-16989-4 ARM64: dts: imx8mq: remove '_drm' postfix for all display nodes
Fancy Fang [Tue, 28 Nov 2017 02:46:45 +0000 (10:46 +0800)]
MLK-16989-4 ARM64: dts: imx8mq: remove '_drm' postfix for all display nodes

Since the display subsystem is using DRM framework by
default, it is unnecessary to keep '_drm' postfix in
the device node names anymore to indicate that they
are DRM devices.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16982 PCI: imx: fix the failure of the msi verification
Richard Zhu [Mon, 27 Nov 2017 05:06:15 +0000 (13:06 +0800)]
MLK-16982 PCI: imx: fix the failure of the msi verification

Failed to verify the MSI in the EP RC system.
Root cause: the MSI address is not fetched corretly.
The second port of iMX8MQ EVK board should be used
as EP port, not the first one.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Frank Li <frank.li@nxp.com>
7 years agoMLK-16671-7 - [i.MX8QXP/Malone]: Add vpu malone decoder
Zhou Peng-B04994 [Tue, 28 Nov 2017 01:14:22 +0000 (09:14 +0800)]
MLK-16671-7 - [i.MX8QXP/Malone]: Add vpu malone decoder

Fix random hang issue, need to handle below cases:
- Image done and DBE done may not be triggered at the same time
- Software interrupt maybe overwritten on mulit-core environment

Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
7 years agoMLK-17006: arm64: dts: fix the imx8qxp nand pin conflict with usdhc1
Han Xu [Mon, 27 Nov 2017 21:17:41 +0000 (15:17 -0600)]
MLK-17006: arm64: dts: fix the imx8qxp nand pin conflict with usdhc1

fix the pin conflict between nand and usdhc1 on imx8qxp validation
board.

BuildInfo:
 - SCFW daea284c, IMX-MKIMAGE 90fbac1a, ATF
 - U-Boot 2017.03-00713-g345bcc2

Signed-off-by: Han Xu <han.xu@nxp.com>
7 years agoMLK-16956: ASoC: fsl_asrc: fix error with S24_3LE format bitstream
Shengjiu Wang [Mon, 27 Nov 2017 02:51:49 +0000 (10:51 +0800)]
MLK-16956: ASoC: fsl_asrc: fix error with S24_3LE format bitstream

The error is "aplay: pcm_write:2023: write error: Input/output error"

query the caps of dma, then update the hw parameters according
the caps. for EDMA can't support 24bit sample, but we didn't
add any constraint, that cause issues.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
7 years agoMLK-16989-3 ARM64: dts: imx8mq: remove unused device nodes
Fancy Fang [Mon, 27 Nov 2017 06:31:03 +0000 (14:31 +0800)]
MLK-16989-3 ARM64: dts: imx8mq: remove unused device nodes

The below legacy fbdev related device nodes are not
used anymore:

   a. dcss
   b. lcdif
   c. mipi_dsi
   d. hdmi

So remove them from IMX8MQ platform to make the dts
more clean.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16989-2 ARM64: dts: imx8mq: remove legacy fbdev dtbs
Fancy Fang [Mon, 27 Nov 2017 06:11:35 +0000 (14:11 +0800)]
MLK-16989-2 ARM64: dts: imx8mq: remove legacy fbdev dtbs

Remove below three dtbs related to legacy fbdev
on IMX8MQ platform:

   1. fsl-imx8mq-evk-4k.dtb
   2. fsl-imx8mq-evk-fbdev.dtb
   3. fsl-imx8mq-evk-lcdif-dsi.dtb

since the fbdev drivers are not supported and
maintained anymore.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16989-1 ARM64: dts: imx8mq-evk: correct the include dtb names
Fancy Fang [Mon, 27 Nov 2017 06:19:36 +0000 (14:19 +0800)]
MLK-16989-1 ARM64: dts: imx8mq-evk: correct the include dtb names

After changing the default dtb on IMX8MQ EVK platform
from 'fsl-imx8mq-evk-fbdev.dts' to 'fsl-imx8mq-evk.dts'
by commit '73590d0be046a0b7e051191eed8065a1e43da0af',
the dtbs included in 'fsl-imx8mq-evk-m4.dts' and
'fsl-imx8mq-evk-pcie1-m2.dts' should be also changed
to 'fsl-imx8mq-evk.dts'.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-16953: drm: imx: dcss: Add propriety to change global alpha priority
Laurentiu Palcu [Fri, 24 Nov 2017 14:59:20 +0000 (16:59 +0200)]
MLK-16953: drm: imx: dcss: Add propriety to change global alpha priority

This patch adds 'use_global_alpha' property to the primary plane, so that
one can choose whether to use global alpha instead of per-pixel alpha,
when the framebuffer has per-pixel alpha.

Framebuffers that do not have per-pixel alpha will always use global
alpha.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoMLK-15473-8: crypto: caam: Disable CAAM JR1 according to SCFW update
Aymen Sghaier [Tue, 21 Nov 2017 17:31:35 +0000 (18:31 +0100)]
MLK-15473-8: crypto: caam: Disable CAAM JR1 according to SCFW update

  After CAAM JR1 has been moved to SECO,
 imx-sc-firmware commit 36ff24f36b56 ("Move CAAM JR1 to SECO FW."),
 Linux no longer boots and rises a kernel panic at "caam_probe".
  So the CAAM JR1 should be disabled in the device-tree.

Tested-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Silvano Di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
7 years agoMLK-16977-3 media: camera: refine the reset sequence for camera
Robby Cai [Fri, 24 Nov 2017 10:57:29 +0000 (18:57 +0800)]
MLK-16977-3 media: camera: refine the reset sequence for camera

adjust the init sequence for camera thus no rework will be required
for DVDD_1V5.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-16977-2 media: v4l_cap: don't support suspend when camera is running
Robby Cai [Fri, 24 Nov 2017 10:52:54 +0000 (18:52 +0800)]
MLK-16977-2 media: v4l_cap: don't support suspend when camera is running

Don't support suspend/resume by checking if camera is running.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-16977-1 media: v4l_cap: implement S_FMT ioctl
Robby Cai [Fri, 24 Nov 2017 10:39:13 +0000 (18:39 +0800)]
MLK-16977-1 media: v4l_cap: implement S_FMT ioctl

gsteamer uses S_FMT ioctl to set the resolution instead of using
S_PARM ioctl. The S_PARM ioctl depends on the capture mode which is
not in the common way.
This patch uses a common method to set the picture resulotion.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-16954: drm: imx: dcss: adjust context loader trigger values
Laurentiu Palcu [Fri, 24 Nov 2017 13:03:28 +0000 (15:03 +0200)]
MLK-16954: drm: imx: dcss: adjust context loader trigger values

Apparently, when DCSS has to fight for data on the bus with other
processes, exists the risk for the scaler to freeze. Previous setting
used the documentation recommendation for setting the DB context loader
trigger time. Unfortunately, with that value, under high stress, the RGB
planes will go black and scaler will freeze.

This patch sets the SB/DB context loader triggers to a values
obtained through repeated tests that proved to provide the best user
experience (i.e. planes will not go black).

However, the underlining issue remains and HW needes to prioritize the
DCSS read operations.

With this workaround, under high stress, the RGB planes may experience
some flickering but they will not freeze.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoMGS-3448: gpu-viv: fix 6.2.4 remaning issues
Xianzhong [Fri, 24 Nov 2017 14:57:33 +0000 (22:57 +0800)]
MGS-3448: gpu-viv: fix 6.2.4 remaning issues

include more GPU bug-fxings for Android DRM feature

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agodrm/edid: complete CEA modedb(VIC 1-107)
Shashank Sharma [Thu, 13 Jul 2017 15:33:08 +0000 (21:03 +0530)]
drm/edid: complete CEA modedb(VIC 1-107)

CEA-861-F specs defines new video modes to be used with
HDMI 2.0 EDIDs. The VIC range has been extended from 1-64 to
1-107.

Our existing CEA modedb contains only 64 modes (VIC=1 to VIC=64). Now
to be able to parse new CEA modes using the existing methods, we have
to complete the modedb (VIC=65 onwards).

This patch adds:
- Timings for existing CEA video modes (from VIC=65 till VIC=92)
- Newly added 4k modes (from VIC=93 to VIC=107).

The patch was originaly discussed and reviewed here:
https://patchwork.freedesktop.org/patch/135810/

Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Jose Abreu <Jose.Abreu@synopsys.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
V2: Rebase
V3: Rebase
V4: Added native bit handling as per CEA-861-F spec (Ville)
V5: Fix timings for VIC 77:1920x1080 and 104:3840x2160p (Ville)
    Remove unnecessary paranthesis from function svd_to_vic (Ville)
    Added r-b (Neil)
V6: Rebase
V7: Fix indentation for modes from VIC 80

Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-3-git-send-email-shashank.sharma@intel.com
[vsyrjala: Fix up remaining formatting/indentation issues]
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
(cherry picked from commit 8ec6e0755565192b328059b64f982adabbecda78)
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agovideo: Add new aspect ratios for HDMI 2.0
Shashank Sharma [Mon, 17 Oct 2016 12:04:39 +0000 (17:34 +0530)]
video: Add new aspect ratios for HDMI 2.0

HDMI 2.0/CEA-861-F introduces two new aspect ratios:
- 64:27
- 256:135

This patch adds enumeration for the new aspect ratios
in the existing aspect ratio list.

V2: rebase
V3: rebase
V4: Added r-b from Jose, Ack by Tomi

Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1476705880-15600-4-git-send-email-shashank.sharma@intel.com
(cherry picked from commit a6e78b3e1406575323b30b65890ee3c29930fb27)
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>