linux.git
7 years agoMXSCM-266 arm: dts: increase lpddr2 voltage to 1.25V
Juan Gutierrez [Thu, 9 Mar 2017 23:49:36 +0000 (17:49 -0600)]
MXSCM-266 arm: dts: increase lpddr2 voltage to 1.25V

From testing the performance is better when the voltage
for lpddr2 is set to 1.25V instead of 1.2V.

Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
7 years agoMLK-14362-2 backlight: gpio_backlight: add power management ops
Fancy Fang [Fri, 10 Mar 2017 02:22:27 +0000 (10:22 +0800)]
MLK-14362-2 backlight: gpio_backlight: add power management ops

Add suspend/resume power management operations for
gpio backlight.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMLK-14369 epdc: sync LUT status to PXP before enable collision detection
Robby Cai [Tue, 28 Feb 2017 13:53:30 +0000 (21:53 +0800)]
MLK-14369 epdc: sync LUT status to PXP before enable collision detection

on imx7d and imx6ull/imx6sll, the collision detection logic is implemented
in PXP WFE (A on imx7d, or B on imx6ull/imx6sll) instead of the logic
implemented on EPDC on previous SoCs (like imx6sl/imx6dl). The driver need
read the LUT status and send this information to PXP WFE (A on imx7d, or B
on imx6ull/imx6sll) engine, so that PXP WFE engine can detect if there is
an active LUT assigned to the pixels affected by current update.
Without this patch, there could possibly be some false collision report due
to the out-of-sync. The patch intends to fix it.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-14334 ARM: dts: move regulator reg_vsd_3v3b to imx7ulp-evk-sd1.dts file
Andy Duan [Mon, 6 Mar 2017 05:41:54 +0000 (13:41 +0800)]
MLK-14334 ARM: dts: move regulator reg_vsd_3v3b to imx7ulp-evk-sd1.dts file

Since regulator reg_vsd_3v3b for SD1, and has pin confict with lpuart,
then move the regulator to SD1 specific dts file.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14308 ARM: imx: fix race condition of multi-cores low power idle on i.mx7d
Anson Huang [Thu, 2 Mar 2017 09:39:12 +0000 (17:39 +0800)]
MLK-14308 ARM: imx: fix race condition of multi-cores low power idle on i.mx7d

On i.MX7D low power idle, consider below scenario which has
race condition that low power idle is entered unexpectedly
for first CPU:

CPU#1 enters low power idle:
1. set last_cpu to invalid -1;
2. set cpu1_wfi in low level ASM code;
3. enter WFI;
CPU#0 enters low power idle:
4. set last_cpu to CPU#0;
5. Set hardware(DDR, CCM, ANATOP) to low power idle mode;
6. enter WFI;

If during 4~6 window, CPU#1 go out of WFI and then go into low
power idle again, the condition check of master_lpi will be true
and CPU#1 will go through 4~6 steps in low level ASM code,
which is unexpected. As cpu_cluster_pm_enter/exit can only be called
once for last cpu in same cluster.

To avoid this race condition, add last_cpu check as well as master_lpi
check, that means if last_cpu is a valid value, the other CPU entering
low power idle will be treated as first CPU. And also move the setting
of last_cpu to invalid value to last CPU low power idle exit path.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14279 arm: imx: remove PTC1 control on i.MX7ULP during VLLS
Anson Huang [Mon, 27 Feb 2017 17:50:20 +0000 (01:50 +0800)]
MLK-14279 arm: imx: remove PTC1 control on i.MX7ULP during VLLS

On A2 board, NVCC_DRAM_SW power control is changed from PTC1
to PTB6, and PTB6 will be controlled by M4, so A7 does NOT
need to control this pin during VLLS, M4 will do it.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14289 ARM: imx: add inline for unused function
Anson Huang [Wed, 1 Mar 2017 16:59:09 +0000 (00:59 +0800)]
MLK-14289 ARM: imx: add inline for unused function

Add inline for unused function to avoid build warning.

For example, when i.MX7D is unselected, below warning
will show during compile:

arch/arm/mach-imx/common.h:163:13: warning:
'imx_gpcv2_add_m4_wake_up_irq' defined but not used
[-Wunused-function]

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-13198 pxp: imx7d: fix error histogram status report issue
Robby Cai [Thu, 23 Feb 2017 12:50:06 +0000 (20:50 +0800)]
MLK-13198 pxp: imx7d: fix error histogram status report issue

The cause is the legacy process involves PXP AS engine accidentally to
process data, which results to one pixel at (0,0) to be changed. This
will cause an incorrect histogram calculation.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-14275: regulator: pf1550-regulator-rpmsg: clear 'u32 val' before read value by...
Robin Gong [Mon, 27 Feb 2017 08:25:00 +0000 (16:25 +0800)]
MLK-14275: regulator: pf1550-regulator-rpmsg: clear 'u32 val' before read value by rpmsg

Actually, m4 only fill the least 1byte, so we'd better clear 'val' before
reading by rpmsg, thus the gabage data will not bother us.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
(cherry picked from commit df3428c6588a00fa153a3b6996cc33b21b69efb6)

7 years agoMLK-14258: ASoC: imx-pcm-rpmsg: sync sample rate with tx and rx
Shengjiu Wang [Fri, 24 Feb 2017 03:53:46 +0000 (11:53 +0800)]
MLK-14258: ASoC: imx-pcm-rpmsg: sync sample rate with tx and rx

In suspend and resume, the M4 side will reset hw parameter for tx
and rx, when only tx is working, the parameter of rx is a old value,
which will cause the parameter is not sync with tx and rx.
currently the M4 audio can only work in sync mode, so set both
parameter in same time.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14254: ASoC: imx_pcm_rpmsg: fix cmd dropped by work queue
Shengjiu Wang [Thu, 23 Feb 2017 07:54:20 +0000 (15:54 +0800)]
MLK-14254: ASoC: imx_pcm_rpmsg: fix cmd dropped by work queue

The test case is to playback a bitstream, then repeat ctrl+z and fg,
several times later, the playback is failed to continue.

The reason is if the work is pending in work queue, send second time
of this work, the second work is dropped by work queue. so use one
work for one cmd is not fit for audio case. use a work loop for audio
cmd to fix this issue.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14638-2 ARM: dts: add off-on-delay for usdhc vmmc-supply regulator
Haibo Chen [Fri, 14 Apr 2017 11:08:52 +0000 (19:08 +0800)]
MLK-14638-2 ARM: dts: add off-on-delay for usdhc vmmc-supply regulator

For the slot support SD3.0 card, during system suspend, if plug out
the sd card, and insert another SD3.0 card, after system resume back,
SD3.0 card can't be recognised as SD3.0 card, just SD2.0 card.

This is bause the time delay between vmmc regulator off and on is
too small, this patch add the oo-on-delay in vmmc-supply regulator,
to assign proper delay value.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoMLK-14638-1 regulator: fixed: add off_on_delay support
Haibo Chen [Fri, 14 Apr 2017 10:51:17 +0000 (18:51 +0800)]
MLK-14638-1 regulator: fixed: add off_on_delay support

Add off_on_delay for fixed regulator. This can assign the delay time
between the regulator disable and regulator enable.

User can define the delay value by using 'off-on-delay' in dts file.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoMLK-14696 ARM: dts: imx: Add supply property for cpu node
Bai Ping [Mon, 17 Apr 2017 08:07:07 +0000 (16:07 +0800)]
MLK-14696 ARM: dts: imx: Add supply property for cpu node

Move the default arm/soc-supply property define in imx6ull
dtsi file.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMA-9371-2[Android_MX7ULP-EVK] change the dts file to solve the touch point not match...
Zhang Bo [Wed, 22 Mar 2017 04:04:32 +0000 (12:04 +0800)]
MA-9371-2[Android_MX7ULP-EVK] change the dts file to solve the touch point not match display issue

The default touch panel parameters in the dts file is used for the maximum supported display resolution.
It needs to calibrate the touch panel to match other resolution display screen.
The display screen for mx7ulp-evk is not matched the default parameters.

change the dts file, so it need not to calibrate the touch panel for mx7ulp-evk board.

Change-Id: I24b1ceeef7f584b6ddf057794271dfa3a5875c0b
Signed-off-by: Zhang Bo <bo.zhang@nxp.com>
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
(cherry-pick from 670d180d907c9bada3972ac9aded51a1becaf646)

7 years agoMGS-2507 [imx7ulp] gpu clock is not aligned with design expectation
Xianzhong [Mon, 17 Apr 2017 03:17:42 +0000 (11:17 +0800)]
MGS-2507 [imx7ulp] gpu clock is not aligned with design expectation

Fixed the clock rate to 350M Hz to meet the design.

Signed-off-by: Yuchou Gan <yuchou.gan@nxp.com>
Date: 13 April, 2017

7 years agoMLK-14619 input: keyboard: rpmsg-keys: add rpmsg-keys driver
Robin Gong [Fri, 17 Mar 2017 02:14:13 +0000 (10:14 +0800)]
MLK-14619 input: keyboard: rpmsg-keys: add rpmsg-keys driver

Add rpmsg-keys driver on i.mx7ulp-evk board since vol+/vol- keys
are connected on m4 side and have to get the status of keys by
rpmsg.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
[Irina: updated for 4.9 APIs]
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
7 years agoMLK-14609 ASoC: fsl_asrc: use snd_pcm_stream_lock_irqsave/restore
Octavian Purdila [Thu, 13 Apr 2017 11:22:38 +0000 (14:22 +0300)]
MLK-14609 ASoC: fsl_asrc: use snd_pcm_stream_lock_irqsave/restore

fsl_asrc_reset can be called from interrupt context with interrupts
disabled via sdma_int_handler -> imx_pcm_dma_complete. In this case we
need to make sure we don't reenable interrupts.

However, start_unlock_stream uses the _irq version of
snd_pcm_stream_unlock which means that interrupts will be enabled at
the end of that function.

This patch switches to the _irqsave/_irqrestore version of
snd_cpm_stream_lock/unlock to avoid the above issue and fix the
following warning:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at kernel/irq/handle.c:151 __handle_irq_event_percpu+0x150/0x154
irq 61 handler sdma_int_handler+0x0/0x34c enabled interrupts
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.9.11-02052-g4c94f9e-dirty #684
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[<8010ed08>] (unwind_backtrace) from [<8010b350>] (show_stack+0x10/0x14)
[<8010b350>] (show_stack) from [<803bae4c>] (dump_stack+0x88/0x9c)
[<803bae4c>] (dump_stack) from [<8012d82c>] (__warn+0xe8/0x100)
[<8012d82c>] (__warn) from [<8012d87c>] (warn_slowpath_fmt+0x38/0x48)
[<8012d87c>] (warn_slowpath_fmt) from [<80170a48>] (__handle_irq_event_percpu+0x150/0x154)
[<80170a48>] (__handle_irq_event_percpu) from [<80170a68>] (handle_irq_event_percpu+0x1c/0x58)
[<80170a68>] (handle_irq_event_percpu) from [<80170adc>] (handle_irq_event+0x38/0x5c)
[<80170adc>] (handle_irq_event) from [<80173e3c>] (handle_fasteoi_irq+0xd0/0x1a8)
[<80173e3c>] (handle_fasteoi_irq) from [<8016fc78>] (generic_handle_irq+0x24/0x34)
[<8016fc78>] (generic_handle_irq) from [<80170194>] (__handle_domain_irq+0x7c/0xec)
[<80170194>] (__handle_domain_irq) from [<801014c4>] (gic_handle_irq+0x48/0x8c)
[<801014c4>] (gic_handle_irq) from [<8010be8c>] (__irq_svc+0x6c/0xa8)
Exception stack(0x80f01f20 to 0x80f01f68)
1f20: 00000000 00000002 00000001 f4a00600 00000001 daf1ce68 4f334151 00000014
1f40: 4ef44986 00000014 00000004 80f03144 8010e30c 80f01f70 80999fb8 806c8808
1f60: 200f0013 ffffffff
[<8010be8c>] (__irq_svc) from [<806c8808>] (cpuidle_enter_state+0xec/0x264)
[<806c8808>] (cpuidle_enter_state) from [<80166e4c>] (cpu_startup_entry+0x148/0x21c)
[<80166e4c>] (cpu_startup_entry) from [<80e00c58>] (start_kernel+0x37c/0x388)
---[ end trace c7e4dec8204cf86b ]---

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14285-3 usb: phy: mxs: optimize disconnect line condition
Li Jun [Tue, 11 Apr 2017 21:41:21 +0000 (05:41 +0800)]
MLK-14285-3 usb: phy: mxs: optimize disconnect line condition

We only have below cases to disconnect line when suspend:
1. Device mode without connection to any host/charger(no vbus).
2. Device mode connect to a charger(w/ vbus), usb suspend when
   system is entering suspend.
This patch can fix usb phy wrongly does disconnect line in case
some usb host enters suspend but vbus is off.

Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit 2af48913f77cec3658f5863b13f63619d8101279)

7 years agoMLK-14285-2 usb: chipidea: set mode for usb phy driver
Li Jun [Tue, 11 Apr 2017 21:38:48 +0000 (05:38 +0800)]
MLK-14285-2 usb: chipidea: set mode for usb phy driver

After enters one specific role, notify usb phy driver.

Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit d3aa2a13f4e47bc7fae7f2eee1e86291d7513312)

7 years agoMLK-14285-1 usb: phy: add usb mode for usb_phy
Li Jun [Tue, 11 Apr 2017 21:31:17 +0000 (05:31 +0800)]
MLK-14285-1 usb: phy: add usb mode for usb_phy

USB phy driver may need to know the current working mode of
the controller, and does some different settings according to
host mode or device mode.

Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit 2286cb30feedd6f4a5cb82a0f0af5aa3a04ab698)

7 years agoMLK-14673 usb: chipidea: imx: enable correct wakeup for imx7d
Li Jun [Fri, 14 Apr 2017 14:02:12 +0000 (22:02 +0800)]
MLK-14673 usb: chipidea: imx: enable correct wakeup for imx7d

Enable ID change wakeup for OTG; and VBUS wakeup for OTG and
peripheral only mode.

Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
7 years agoMLK-14682 net: fec: avoid mac re-inited after system resume back
Andy Duan [Fri, 7 Apr 2017 03:16:09 +0000 (11:16 +0800)]
MLK-14682 net: fec: avoid mac re-inited after system resume back

Function .fec_resume() had called .fec_restart() before phy resume to ensure
MAC mii bus can work, but the firth .adjust_link() call .fec_restart() to re-init
the MAC again that is not necessary since PHY duplex and speed have no change
during suspend status, so remove the unnecessary mac re-inited after resume back.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14525: ASoC: fsl_esai: channel swap issue in 3 channels or 5 channels
Shengjiu Wang [Thu, 13 Apr 2017 03:13:04 +0000 (11:13 +0800)]
MLK-14525: ASoC: fsl_esai: channel swap issue in 3 channels or 5 channels

In 3 channels, ESAI is set to I2S mode and two dataline, so actually
ESAI is working in 4 channels mode, (we can't get correct 3 channels,
for we can't make one dataline working in 2 channel, another dataline
working in 1 channels).

In this case, we fill channels (3) zero data to FIFO in start phase,
which should cause channel swap, that we need to fill 4 zero data to
FIFO for ESAI working in 4 channels mode actually.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14675: ARM: dts: set pll4 rate for audio
Shengjiu Wang [Thu, 13 Apr 2017 02:43:19 +0000 (10:43 +0800)]
MLK-14675: ARM: dts: set pll4 rate for audio

There is noise when use ssi master mode. the reason is the ssi rate
is not accurate for ssi master mode, show below.

    pll3_pfd2_508m               0            0   508235294          0 0
       ssi3_sel                  0            0   508235294          0 0
          ssi3_pred              0            0   127058824          0 0
             ssi3_podf           0            0    63529412          0 0
                ssi3             0            0    63529412          0 0
       ssi2_sel                  0            0   508235294          0 0
          ssi2_pred              0            0   127058824          0 0
             ssi2_podf           0            0    63529412          0 0
                ssi2             0            0    63529412          0 0

so we need to switch ssi's parent to pll4 (which is dedicate audio pll),
and set a proper rate for pll4, we select 786432000Hz, which can
generate 32kHz,48kHz,96KHz.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14679-2: ASoC: fsl_asrc: Add warning message
Shengjiu Wang [Wed, 12 Apr 2017 06:51:43 +0000 (14:51 +0800)]
MLK-14679-2: ASoC: fsl_asrc:  Add warning message

Add warning message for both divider of input clock and output clock
exceed the maximum value. which is useful for debugging.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14679-1: ARM: clk: spdif clock rate is too high for asrc
Shengjiu Wang [Wed, 12 Apr 2017 06:45:53 +0000 (14:45 +0800)]
MLK-14679-1: ARM: clk: spdif clock rate is too high for asrc

spdif clock is one of the asrc clock source, which is used
for ideal ratio mode. when set to 98.304MHz, it cause the
divider of asrc input clock and output clock exceed the
maximum value, and asrc driver saturate the value to maximum
value, which will cause the ASRC's performance very bad.
So we need to set spdif clock to a proper rate. which make asrc
divider not exceed maximum value, at least one of divider not
exceed maximum value.
The target is spdif clock rate / output(or input) sample rate
less than 1024(which is maximum divider).

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14637 arm: dts: imx6ul: enable sim for imx6ul
Gao Pan [Thu, 13 Apr 2017 09:15:46 +0000 (17:15 +0800)]
MLK-14637 arm: dts: imx6ul: enable sim for imx6ul

enable sim for imx6ul

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
7 years agoMLK-14642 imx: sim: fix segment fault caused by user address access
Gao Pan [Thu, 13 Apr 2017 06:58:03 +0000 (14:58 +0800)]
MLK-14642 imx: sim: fix segment fault caused by user address access

Kernel space cannot access user space memory directly.
In fact, the issue always exited. Since 4.4, the kernel
handle the action as page abort.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
7 years agoMLK-14653 cpufreq: imx6q: reparent pll1_sys to pll1_bypass before changing it's rate
Octavian Purdila [Fri, 7 Apr 2017 10:29:43 +0000 (13:29 +0300)]
MLK-14653 cpufreq: imx6q: reparent pll1_sys to pll1_bypass before changing it's rate

Make sure we reparent pll1_sys to pll1_bypass before changing it's
rate. Otherwise, it may happen that pll1_sys is "parented" to
pll1_bypass_src like this:

  osc
    pll1                  0            0   996000000          0 0
    pll1_bypass_src       0            0    24000000          0 0
       pll1_bypass        0            0    24000000          0 0
          pll1_sys        0            0    24000000          0 0

in which case changing the rate of pll1_sys won't propagate up to pll1
and we will end up with a different pll1_sys rate than requested.

This fixes an issue where cpufreq can't properly switch to 792Mhz:

  $ cpufreq-set -f 996000
  $ cpufreq-set -f 396000
  $ cpufreq-set -f 792000
  $ cat /sys/kernel/debug/clk/clk_summary
  pll1              1            1   996000000          0 0
    pll1_bypass     1            1   996000000          0 0
       pll1_sys     1            1   996000000          0 0
         pll1_sw    1            1   996000000          0 0
           arm      2            2   498000000          0 0

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14451: arm: dts: Remove dts entry for sensors in imx7ulp-evk.dts
Adriana Reus [Wed, 12 Apr 2017 10:45:13 +0000 (13:45 +0300)]
MLK-14451: arm: dts: Remove dts entry for sensors in imx7ulp-evk.dts

Sensors are connected to M4 and not to A-Core.
Sensors will not be exposed to A-Core via standard
i2c interface but via an i2c proxy layer over rpmsg.

Remove the dts entry to avoid the probe error messages and
add a separate dts file for the case where someone wishes to
rework the board themselves and connect sensors for testing purposes.

Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
7 years agoMLK-14668 cpufreq: interactive: check index before using it
Octavian Purdila [Tue, 11 Apr 2017 06:31:33 +0000 (09:31 +0300)]
MLK-14668 cpufreq: interactive: check index before using it

This also fixes the following warning:

drivers/cpufreq/cpufreq_interactive.c: In function 'choose_freq':
drivers/cpufreq/cpufreq_interactive.c:284:7: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (ret)
           ^

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14451: Documentation: Add dt documentation for fxas2100x and fxos8700
Adriana Reus [Thu, 13 Apr 2017 07:47:48 +0000 (10:47 +0300)]
MLK-14451: Documentation: Add dt documentation for fxas2100x and fxos8700

Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
7 years agoMLK-14586: ARM: imx: Fix path to serial port for pm save/restore
Leonard Crestez [Wed, 12 Apr 2017 14:05:47 +0000 (17:05 +0300)]
MLK-14586: ARM: imx: Fix path to serial port for pm save/restore

The imx7 sleep code will save and restore UART1 registers on
suspend/resume. It does this by fetching the address base using an
absolute devicetree path. Fix that path in 4.9 where the DTS is closer
to the one in upstream.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
7 years agoMLK-14644 PCI: imx: toggle the perst after the release of rc's reset
Richard Zhu [Mon, 10 Apr 2017 05:36:23 +0000 (13:36 +0800)]
MLK-14644 PCI: imx: toggle the perst after the release of rc's reset

imxcommunity reports that Intel Wireless 3160 doesn't
work if the perst# is toggled before the release of rc
controller's reset.

Specification doesn't specify the exactly sequence of
the toggle of the perst# and the release of the rc
controller reset. Just find the following description
in the chapter 4.2.2 of the PCI Local Bus Specification.

"The system must guarantee that the bus remains in the idle
state for a minimum time delay following the deassertion
of RST# to a device before the system will permit the first
assertion of FRAME#."

Toggle the perst# after the release of rc's reset to
fix the issue.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
(cherry picked from commit ba75c5e4795ab36d7765fe3ac03f0c4320828c78)

7 years agoMLK-14655-5 video: mxsfb: remove ofb var clear when open ofb
Fancy Fang [Tue, 11 Apr 2017 02:05:35 +0000 (10:05 +0800)]
MLK-14655-5 video: mxsfb: remove ofb var clear when open ofb

Clear the variable screeninfo structure when the overlay
fb is opened has the side effect of deleting timings info
of overlay fb.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 9fd7656d75de224d3e825930cd3f894408fbad40)

7 years agoMLK-14655-4 video: mxsfb: check var info during initialization for overlay fb
Fancy Fang [Tue, 11 Apr 2017 01:45:42 +0000 (09:45 +0800)]
MLK-14655-4 video: mxsfb: check var info during initialization for overlay fb

During overlay fb initialization, check the variable screeninfo
to get some required values for variable screeninfo.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit d2dff36f18a41419055e529bd45d9a264fbc25d5)

7 years agoMLK-14655-3 video: mxsfb: copy timings info of primary fb to overlay fb
Fancy Fang [Tue, 11 Apr 2017 01:24:45 +0000 (09:24 +0800)]
MLK-14655-3 video: mxsfb: copy timings info of primary fb to overlay fb

During overlay fb initialization, copy the timings information
of primary fb to init the timings of overlay fb.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit e47da3a65d32faec2fac7926b50980f0aa822343)

7 years agoMLK-14655-2 video: mxsfb: add default videomode for overlayfb
Fancy Fang [Mon, 10 Apr 2017 09:26:48 +0000 (17:26 +0800)]
MLK-14655-2 video: mxsfb: add default videomode for overlayfb

Use the videomode of primary fb as the default videomode
for overlay fb during overlay fb initialization process.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit c3f12ccefc2025fbe4b9280e5715767f6dc72442)

7 years agoMLK-14655-1 video: mxsfb: don't clear AS regs when overlay fb release
Fancy Fang [Mon, 10 Apr 2017 05:50:51 +0000 (13:50 +0800)]
MLK-14655-1 video: mxsfb: don't clear AS regs when overlay fb release

Don't clear the 'LCDC_AS_CTRL' and 'LCDC_AS_NEXT_BUF' registers
in the function 'overlayfb_release()', since the next user may
enable overlay fb without calling set_par first.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 167b1f430d2bb178d22f32f790d55b08352a6a87)

7 years agoMLK-14671 input: touch: focaltech: disable debug information
Gao Pan [Tue, 11 Apr 2017 07:08:19 +0000 (15:08 +0800)]
MLK-14671 input: touch: focaltech: disable debug information

disable debug information for focaltech touch.

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

7 years agoMLK-14630 video: mipi_dsi_northwest: refine suspend logic
Fancy Fang [Thu, 6 Apr 2017 06:09:44 +0000 (14:09 +0800)]
MLK-14630 video: mipi_dsi_northwest: refine suspend logic

Move the 'lcd_inited' flag status modification from
'mipi_dsi_disable' to 'mipi_dsi_suspend' to make sure
this flag to be set to 0 during system suspend.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 02d805b48bfb1fc637f9ccce4ed7ae59d62e7d2f)

7 years agoMLK-14286-9 video: mipi_dsi_northwest: create a struct to store CM, CN and CO
Fancy Fang [Thu, 23 Mar 2017 06:11:13 +0000 (14:11 +0800)]
MLK-14286-9 video: mipi_dsi_northwest: create a struct to store CM, CN and CO

The mipi pll has three factors to calculate the output clock
frequency. So create a new structure to hold them for convinience.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 27b71152096bb43fd94ce0a8bb047bb85aa6ec84)

7 years agoMLK-14286-8 video: mipi_dsi_northwest: enable 640x480@60HZ 24bpp HDMI display mode
Fancy Fang [Mon, 20 Mar 2017 10:54:33 +0000 (18:54 +0800)]
MLK-14286-8 video: mipi_dsi_northwest: enable 640x480@60HZ 24bpp HDMI display mode

Enable 640x480@60Hz 24bpp RGB display mode for ADV7535. And the display
mode cannot be changed dynamically, since the exact pixel clock cannot
be get through current clock subsystem dynamically.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit a602e2adda52a1f6e9a924eff28ebbd657fb9de6)

7 years agoMLK-14286-7 ARM: clk: imx7ulp: mpll can only be used by mipi dsi
Fancy Fang [Tue, 21 Mar 2017 09:41:48 +0000 (17:41 +0800)]
MLK-14286-7 ARM: clk: imx7ulp: mpll can only be used by mipi dsi

The mpll can only be configured by mipi dphy and it is disabled
by default. And it is also not a fixed frequency clock source.
So replace it with a dummy clock for 'periph_slow_sels' to avoid
any peripheral except mipi to use it for clock source.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit a7c6555e0d79491b939b84af99969b21264ec9f8)

Conflicts:
arch/arm/mach-imx/clk-imx7ulp.c

7 years agoMLK-14286-6 video: mipi_dsi_northwest: add encoder support in dsi
Fancy Fang [Tue, 28 Feb 2017 08:16:08 +0000 (16:16 +0800)]
MLK-14286-6 video: mipi_dsi_northwest: add encoder support in dsi

The northwest mipi dsi on imx7ulp board has an ADV7535 dsi-to-hdmi
encoder. Enable the encoder support in the dsi driver.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit a6e2da1935d893860cd389ce8360e89434f5fd50)

7 years agoMLK-14286-5 video: ADV7535: add build support.
Fancy Fang [Tue, 7 Feb 2017 10:27:38 +0000 (18:27 +0800)]
MLK-14286-5 video: ADV7535: add build support.

Add build support for ADV7535 kernel driver.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 124ff1d4de5bc93d5bd2c68ac0fcb4f414b199ef)

7 years agoMLK-14286-4 video: ADV7535: implement the initial driver.
Fancy Fang [Tue, 7 Feb 2017 10:24:57 +0000 (18:24 +0800)]
MLK-14286-4 video: ADV7535: implement the initial driver.

Implement the initial driver for the I2C device
ADV7535.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 274e17dd0cb6068a94103c948aa1a032e52b8efa)

7 years agoMLK-14286-3 ARM: dts: imx7ulp-evk-hdmi: create the hdmi dts file
Fancy Fang [Tue, 28 Mar 2017 06:47:46 +0000 (14:47 +0800)]
MLK-14286-3 ARM: dts: imx7ulp-evk-hdmi: create the hdmi dts file

Create a new dts file 'imx7ulp-evk-hdmi.dts' to enable hdmi
display to avoids conflict with mipi dsi panel display. Use
endpoint to connect dsi controller and adv7535.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 86fb9340d01a4583628d465f29fba67df93c453c)

7 years agoMLK-14286-2 ARM: dts: imx7ulp-evk: add dts support for ADV7535
Fancy Fang [Tue, 28 Feb 2017 07:08:53 +0000 (15:08 +0800)]
MLK-14286-2 ARM: dts: imx7ulp-evk: add dts support for ADV7535

ADV7535 is a low-power MIPI-DSI receiver with HDMI 1.4 compliant
transmitter. And it's an I2C device attached by lpi2c5.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 0bbfb671445d1f2d5037ea7168ebcb4699760095)

7 years agoMLK-14286-1 ARM: dts: imx7ulp: add two new properties for mipi dsi node
Fancy Fang [Tue, 28 Feb 2017 06:52:48 +0000 (14:52 +0800)]
MLK-14286-1 ARM: dts: imx7ulp: add two new properties for mipi dsi node

Add the 'data-lanes-num' and 'max-data-rate' properties which
are used to describe this mipi dsi capabilites.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit bfe7d0e1c6931467f00a382e48aa592bf50c9339)

7 years agoMLK-14260 video: mipi_dsi_northwest: assign the 'mode' field of fb_info.
Fancy Fang [Mon, 13 Mar 2017 08:11:28 +0000 (16:11 +0800)]
MLK-14260 video: mipi_dsi_northwest: assign the 'mode' field of fb_info.

Assign the 'mode' field of fb_info structure to show correct
content when running "cat /sys/class/graphics/fb0/mode".

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 06a16560683047681c46b680efef7af58c75b6b2)

7 years agoMLK-14362-1 video: mipi_dsi_northwest: add VLLS mode support
Fancy Fang [Thu, 9 Mar 2017 04:11:14 +0000 (12:11 +0800)]
MLK-14362-1 video: mipi_dsi_northwest: add VLLS mode support

Add VLLS mode support for NorthWest MIPI DSI controller.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 9a0fb27dc67fb0d156ca6d5a09349b7163cfcfd2)

7 years agoMLK-14299-2 video: mxsfb: setup the initial params for overlay fb
Fancy Fang [Thu, 9 Mar 2017 03:04:28 +0000 (11:04 +0800)]
MLK-14299-2 video: mxsfb: setup the initial params for overlay fb

The initial params for overlay fb should be setup during
its initialization to make it in a determined state before
using it.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit f3d3d58165f9f36af85a46256cacc274b2d0b107)

7 years agoMLK-14299-1 video: mxsfb: clear the overlay fb memory buffer
Fancy Fang [Thu, 9 Mar 2017 03:04:04 +0000 (11:04 +0800)]
MLK-14299-1 video: mxsfb: clear the overlay fb memory buffer

Clear the overlay fb memory buffer after allocated to avoid
random pixel data in it before using it.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 6b1a31b8fc39c7cf19ff3dcdc57f2f4059632f45)

7 years agoMLK-14257 video: mxsfb: fix a deadlock issue for overlay fb
Fancy Fang [Fri, 24 Feb 2017 01:26:57 +0000 (09:26 +0800)]
MLK-14257 video: mxsfb: fix a deadlock issue for overlay fb

The overlayfb_enable() function would call fb0 info lock,
so in some overlay functions which may call overlay_enable()
should not lock the fb0 info.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit ec53f89c7f702aa56e7fe6f360e23582ed78302f)

7 years agoMLK-14624 cpufreq: imx6q: imx6ull should use the same flow as imx6ul
Octavian Purdila [Thu, 6 Apr 2017 10:45:42 +0000 (13:45 +0300)]
MLK-14624 cpufreq: imx6q: imx6ull should use the same flow as imx6ul

This fixes an issue with imx6ull where setting the frequency to 528Mhz
would actually set the ARM clock to 324Mhz.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
7 years agoMLK-14594-2 ARM: dts: imx*: avoid duplicate names in lcdif node
Octavian Purdila [Fri, 7 Apr 2017 12:06:17 +0000 (15:06 +0300)]
MLK-14594-2 ARM: dts: imx*: avoid duplicate names in lcdif node

This patch fixes the following warning on various imx boards:

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

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14381 mmc: sdhci-esdhc-imx: reset tuning circuit when system resume
Haibo Chen [Thu, 23 Mar 2017 07:54:20 +0000 (15:54 +0800)]
MLK-14381 mmc: sdhci-esdhc-imx: reset tuning circuit when system resume

USDHC tuning circuit should be reset before every time card enumeration
or re-enumeration.

On imx7ulp-evk board, for SDR104 card, when system suspend in standby
mode, and then resume back, the IO timing is still SDR104 which may
result in card re-enumeration fail in low speed mode (400khz) for some
cards. And we did meet the issue that in certain probability, SDR104
card meet mmc command CRC/Timeout error when send CMD2 during mmc bus
resume.

This patch reset the tuning circuit when the ios timing is
MMC_TIMING_LEGACY/MMC_TIMING_MMC_HS/MMC_TIMING_SD_HS, which means both
mmc_power_up() and mmc_power_off() will reset the tuning circuit.

This patch can cover the 'commit 374da688c65a ("MLK-12345 mmc:
sdhci-esdhc-imx: reset tuning circurt when insert sd card")', and is a
better solution. So use this patch instead.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 84a6b78bc4e2ccd433b25a4261194b93e6f83323)

Conflicts:
drivers/mmc/host/sdhci-esdhc-imx.c

7 years agoMLK-14539 mmc: sdhci: make no-1-8-v also work for DDR52 mode
Haibo Chen [Mon, 10 Apr 2017 08:16:20 +0000 (16:16 +0800)]
MLK-14539 mmc: sdhci: make no-1-8-v also work for DDR52 mode

MMC SDHCI maintainer Adrian Hunter Introduce SDHCI flags for signal
voltage support and set them based on the supported transfer modes,
except in the case where 3V DDR52 is supported but 1.8V is not.

This patch add the support to make eMMC DDR52 only work at 3.3v when
property 'no-1-8-v' defined.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoMLK-14610 DMA: fsl-edma-v3: add fsl-edma-v3 support
Robin Gong [Fri, 31 Mar 2017 07:53:39 +0000 (15:53 +0800)]
MLK-14610 DMA: fsl-edma-v3: add fsl-edma-v3 support

Add edma-v3 driver on i.mx8qm.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
7 years agoMLK-14238-05 ARM: dts: imx: Add PWM backlight support on i.mx7ulp evk
Bai Ping [Tue, 21 Mar 2017 04:08:27 +0000 (12:08 +0800)]
MLK-14238-05 ARM: dts: imx: Add PWM backlight support on i.mx7ulp evk

Add PWM backlight support on i.MX7ULP EVK board.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
[Octavian: fix checkpatch warnings]
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14238-04 ARM: configs: Enable TPM PWM driver in default config
Bai Ping [Tue, 21 Mar 2017 03:22:51 +0000 (11:22 +0800)]
MLK-14238-04 ARM: configs: Enable TPM PWM driver in default config

Enable TPM PWM driver in default config.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-14238-03 ARM: dts: imx: Add pwm device node in dtsi
Bai Ping [Tue, 21 Mar 2017 03:18:25 +0000 (11:18 +0800)]
MLK-14238-03 ARM: dts: imx: Add pwm device node in dtsi

Add pwm device node in dtsi file.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-14238-02 Doc: bingding: pwm: Add binging doc for tpm-pwm module
Bai Ping [Tue, 21 Mar 2017 03:16:18 +0000 (11:16 +0800)]
MLK-14238-02 Doc: bingding: pwm: Add binging doc for tpm-pwm module

Add binding doc for tpm pwm module.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-14238-01 driver: pwm: Add tpm pwm driver support
Bai Ping [Tue, 21 Mar 2017 03:12:42 +0000 (11:12 +0800)]
MLK-14238-01 driver: pwm: Add tpm pwm driver support

Add TPM PWM driver support i.MX7ULP.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
[Octavian: updated for 4.9 APIs]
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14554 PCI: imx: pcie ep board can't boot up
Richard Zhu [Thu, 30 Mar 2017 09:56:55 +0000 (17:56 +0800)]
MLK-14554 PCI: imx: pcie ep board can't boot up

In the imx pcie ep/rc validation system, the mem
resource parser of ep probe is failed on 4.9.
Change the mem resource parser method from 4.1
to 4.9 to fix this failure.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
7 years agoMLK-14599-3 arm64:dts:Update VPU and GPU power domains
Ranjani Vaidyanathan [Fri, 31 Mar 2017 21:50:54 +0000 (16:50 -0500)]
MLK-14599-3 arm64:dts:Update VPU and GPU power domains

Update VPU and GPU power domain info in the dts file.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
7 years agoMLK-14599-1 soc:imx8:Update SCFW API
Ranjani Vaidyanathan [Fri, 31 Mar 2017 15:29:19 +0000 (10:29 -0500)]
MLK-14599-1 soc:imx8:Update SCFW API

Update SCFW API to the following commit in SCFW git:
"
'commit: ("a620caf7444c45715b68b5cf128219005598365f")'
Author: Mike <michael.kjar@nxp.com>
Date:   Thu Mar 30 18:35:27 2017 -0500

Added a DDR Stress Test to the test folder

- New DDR test is like the stress test where we increment/sweep the DDR freq
- More tests may be added as development continues
- Modified mx8qm/soc.h to boot the A72 to DDR when building with option qmddr
"

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
7 years agoMLK-14596: ARM: imx7s.dtsi: Fix reg_1p2 min-bit-val
Leonard Crestez [Thu, 6 Apr 2017 10:32:40 +0000 (13:32 +0300)]
MLK-14596: ARM: imx7s.dtsi: Fix reg_1p2 min-bit-val

According to the manual the bit value for the minimum 1.1V is 0x14, not
0x8. This fixes reading incorrect voltages from the regulator. On new
kernels reading an out-of-range voltage on startup results in probe
errors.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Octavian Purdila <octavian.purdila@nxp.com>
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>