linux.git
7 years agoMXSCM-293-2 arm: dts: add oob and modem reset support for SCM devices
Juan Gutierrez [Mon, 24 Apr 2017 21:17:28 +0000 (16:17 -0500)]
MXSCM-293-2 arm: dts: add oob and modem reset support for SCM devices

- Add BT modem device reset node for SCM i.MX6 devices
- Add Wifi OOB support for QWKS rev3 and EVB

Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
7 years agoMXSCM-293-1 arm: dts: fixes for MX6 SCM devices on L4.9
Juan Gutierrez [Mon, 24 Apr 2017 20:40:32 +0000 (15:40 -0500)]
MXSCM-293-1 arm: dts: fixes for MX6 SCM devices on L4.9

- replace legacy wakeup property with 'wakeup-source'
- add "jedec,spi-nor" flash compatible binding
- fix lcd display id
- fixig typo for gpios
- use external wdog_b reset instead of issuing a sw reset
- add off-on-delay for usdhc vmmc-supply regulator on mx6sxscm
- add missing sai1 and wdog1 configs for mx6sxscm
- fix vgen6 regulator maximum microvolt for mx6dqscm
- disable CAAM since cannot coexist with LCDIF for mx6sxscm
- add the reg into the rpmsg node for mx6sxscm

Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
7 years agoMGS-2832: gpu: integrate partial changes for 6.2.2
Xianzhong [Thu, 27 Apr 2017 11:44:33 +0000 (19:44 +0800)]
MGS-2832: gpu: integrate partial changes for 6.2.2

- gpu hang when enable the vprofiler on imx6qp
- gpu axi bus error with user surface mapping
- OpenCL driver issue for initialier failure
- GL benchmark performance optimization
- X11 and Android critical bug-fixing

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoarm64: imx: Use dummy busfreq implementation
Viorel Suman [Wed, 19 Apr 2017 12:01:50 +0000 (15:01 +0300)]
arm64: imx: Use dummy busfreq implementation

There are no busfreq methods implemented for
ARM64, so use the dummy methods in this case.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-14611 Fix xcbc unkeyed registration
Radu Solea [Wed, 19 Apr 2017 15:19:14 +0000 (18:19 +0300)]
MLK-14611 Fix xcbc unkeyed registration

AES is a keyed algorithm, XCBC-AES needs a key for operation,
this patch prevents the registration of AES-based transforms
as unkeyed operations.

Signed-off-by: Radu Solea <radu.solea@nxp.com>
7 years agoMLK-14612 media: capture: fix VIDIOC_DQBUF issues
Laurentiu Palcu [Mon, 24 Apr 2017 13:34:28 +0000 (16:34 +0300)]
MLK-14612 media: capture: fix VIDIOC_DQBUF issues

The following commit, in 4.9 kernel:

commit 2d7007153f0c ("[media] media: videobuf2: Restructure vb2_buffer")

added some changes to the v4l2 structures that were not properly
included in the existing driver after the rebase from 4.1. Hence, when a
new buffer was filled by the v4l2 core, the flags field in
vb2_v4l2_buffer structure contained a pointer and, depending on the
pointer value, the v4l2 core considered that the buffer was already
dequeued, signaling the error to userspace. The issue appeared
intermittently, after multiple reboots.

This patch fixes it.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
7 years agoASoC: fsl: Add machine driver for i2s xtor
Viorel Suman [Thu, 20 Apr 2017 08:40:40 +0000 (11:40 +0300)]
ASoC: fsl: Add machine driver for i2s xtor

Add I2S XTOR machine driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoarm64: clk: imx8qm: Fix ESAI EXTAL clk parents
Viorel Suman [Thu, 20 Apr 2017 07:52:24 +0000 (10:52 +0300)]
arm64: clk: imx8qm: Fix ESAI EXTAL clk parents

Set the appropriate parents for ESAI EXTAL clocks.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoASoC: fsl_acm: add audio clock mux driver
Viorel Suman [Thu, 20 Apr 2017 08:26:22 +0000 (11:26 +0300)]
ASoC: fsl_acm: add audio clock mux driver

Add audio clock mux (ACM) driver. The Audio Clock Mux (ACM)
is a collection of control registers and multiplexers that are
used to route the audio source clocks to the audio peripherals.
Each audio peripheral has its dedicated audio clock mux and
control register.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agodts: arm64: imx8qm: Add ESAI node, fix SAI clocks
Viorel Suman [Wed, 19 Apr 2017 13:23:41 +0000 (16:23 +0300)]
dts: arm64: imx8qm: Add ESAI node, fix SAI clocks

Add ESAI node and the related EDMA configuration:
channels and interrupts. Use a proper index name
for SAI clocks. Add the missing compatible string
in the ESAI documentation.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14721 video: mxsfb: some random line display top after blank fb1 and then suspend...
Guoniu.Zhou [Fri, 21 Apr 2017 06:22:18 +0000 (14:22 +0800)]
MLK-14721 video: mxsfb: some random line display top after blank fb1 and then suspend/resume

After suspend and resume, the value of LCDIFx_AS_NEXT_BUF register losed, so when
we unblank fb1 again, the valule of LCDIFx_AS_NEXT_BUF is 0 and random lines dis-
played on the top.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
7 years agoMA-9483 [#imx-495] Refine android native fence code to match 4.9 kernel
Richard Liu [Thu, 20 Apr 2017 09:28:22 +0000 (17:28 +0800)]
MA-9483 [#imx-495] Refine android native fence code to match 4.9 kernel

Android native fence implement changed in 4.9 kernel, sync.* files
have been removed from drivers/staging/android in 4.9 kernel, do the
matched change to use sync_file/fence in GPU driver.

Date: Apr 20, 2017
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
7 years agoMGS-2734 [#imx-436] add gco3D_SetAlphaKill
Xianzhong [Fri, 21 Apr 2017 08:18:37 +0000 (16:18 +0800)]
MGS-2734 [#imx-436] add gco3D_SetAlphaKill

add gco3D_SetAlphaKill for gpu shader processing.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
7 years agoMLK-14688: bcmdhd: update to version 1.141.100.6
xlin [Thu, 23 Mar 2017 16:21:01 +0000 (11:21 -0500)]
MLK-14688: bcmdhd: update to version 1.141.100.6

Features:
- support for CYW43455 (Murata 1HK)
- support for simultaneous STA-AP operation
- Hostapd ACS support
- 4339 OOB enable based on DTS GPIO configuration
- 43340 packet filter timeout event

Bug Fixes:
- 4339 high current after wake up
- Vendor IE does not show up in SoftAP beacons
- mfgtest driver crash when wpa_supplicant is running
- Fix for PMF testcase 5.3.3.2 failing due to deauth packets not being sent

Known Issues:
 Kernel panic upon rmmod after insmod failure

Signed-off-by: xlin <xlin@murata.com>
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
7 years agoMLK-14536: ASoC: wm8960: Fix playback in CPU DAI master mode
Daniel Baluta [Thu, 20 Apr 2017 15:27:42 +0000 (18:27 +0300)]
MLK-14536: ASoC: wm8960: Fix playback in CPU DAI master mode

With the current rates for MCLK is not possible to derive bitclk
for all files in S20_3LE format and also for files with S24_LE sampled
at 48000Hz.

In order to fix this, we need to find a better MCLK value. We did this
in two steps:
1) Use params_physical_width to get rid of S20_3LE burden.
2) Brute force into all available rates which can pass fsl_sai_set_bclk
   algorithm.

Thus we found 36864000 to be the smallest acceptable rate for MCLK.

Reviewed-by: Mihai Serban <mihai.serban@nxp.com>
Suggested-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
7 years agoMLK-14548: video: fb: hdmi: Allow Sil902 init regardless of fb registration time
Cristina Ciocan [Thu, 20 Apr 2017 10:48:50 +0000 (13:48 +0300)]
MLK-14548: video: fb: hdmi: Allow Sil902 init regardless of fb registration time

When a new fb is registered, a FB_EVENT_FB_REGISTERED event is sent to
any registered fb client. Upon event receipt, the Sil902 HDMI transmitter
saves the fb info structure address for future use and schedules a cable
state check in order to setup and power up/down the device.

The current Sil902 driver registers as fb client at the end of the probe
function, thus events from fb core will only be received after the probe()
call. If a framebuffer is registered before Sil902's probe() is called,
the HDMI transmitter will not have knowledge of the framebuffer.

This patch moves the Sil902 fb client registration step into an __init
function and saves the fb info in case any registration event is received
prior to the probe() call. When the probe() is called, check for any
registration event and act accordingly.

Sil902's init function class is called after the frame buffer core's init
function class.

Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com>
7 years agoMLK-14548: video: fb: hdmi: Allow reset pin deferral
Cristina Ciocan [Thu, 20 Apr 2017 10:32:43 +0000 (13:32 +0300)]
MLK-14548: video: fb: hdmi: Allow reset pin deferral

The HDMI transmitter Sil902x driver displays a warning when it cannot
reset the device before any other instruction, but carries on without
exiting the probe() function.

If the needed reset pin is not yet available because the pinctrl
controllers are not set up and the reset fails with deferral error, try
to acquire the pin later on in order to allow proper initialization of the
Sil902 HDMI transmitter.

Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com>
7 years agoMLK-14548: video: dts: Remove unused regulator
Cristina Ciocan [Thu, 20 Apr 2017 10:21:40 +0000 (13:21 +0300)]
MLK-14548: video: dts: Remove unused regulator

The reg_lcd_3v3 regulator is, theoretically, used by the display
controller eLCDIF as lcd supply.

When enabling the HDMI trasnmitter Sil902x, a gpio pin needed by the
regulator is taken by the HDMI TX as reset pin, so the regulator probe
fails and is never used.

The imx6sx-sdb-lcdif1.dts file is used for HDMI functionality, thus
enabling the HDMI transmitter invalidates any possible use of the
reg_lcd_3v3 regulator.

This patch removes the regulator enablement from the HDMI-specific dts.

Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com>
7 years agoMLK-14678: dts: Fix lcd display id
Robert Chiras [Thu, 13 Apr 2017 12:58:10 +0000 (15:58 +0300)]
MLK-14678: dts: Fix lcd display id

The default display engine used by lcd in imx6qdl-sabresd.dtsi is IPU:0
DI:0, the same used for hdmi. This is a conflict, and every time the
kernel boots, this error will be printed:
mxc_sdc_fb fb@2: ipu0-di0 already in use
mxc_sdc_fb: probe of fb@2 failed with error -16
And, of course, lcd cannot be used in parallel with hdmi.
In order to fix this, move hdmi to IPU:0 DI:1. I left lcd to IPU:0 DI:0
because it works only with that IPU core.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
7 years agoMLK-14650 mxc vadc: Add set_fmt function
Sandor Yu [Thu, 20 Apr 2017 07:23:09 +0000 (15:23 +0800)]
MLK-14650 mxc vadc: Add set_fmt function

Add set_fmt function to mxc vadc driver.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
7 years agoMLK-14609-2 ASoC: fsl: consolidate substream lock_stop/unlock_start
Octavian Purdila [Fri, 14 Apr 2017 13:18:46 +0000 (16:18 +0300)]
MLK-14609-2 ASoC: fsl: consolidate substream lock_stop/unlock_start

Add common imx_stop_lock_pcm_streams and imx_start_unlock_pcm_streams
functions to remove code duplication in fsl_asrc and fsl_esai.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14718 video: fbdev: mxc: mipi dsi: Check device tree node in probe
Liu Ying [Thu, 20 Apr 2017 07:27:57 +0000 (15:27 +0800)]
MLK-14718 video: fbdev: mxc: mipi dsi: Check device tree node in probe

For the safe probing's sake, check valid device tree node in probe function.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-14665 video: fbdev: mxc: mipi dsi: Customize gpio reset function
Liu Ying [Thu, 20 Apr 2017 03:08:32 +0000 (11:08 +0800)]
MLK-14665 video: fbdev: mxc: mipi dsi: Customize gpio reset function

The mxc display driver framework doesn't support deferral probe.
The following initialization process may cause the mipi dsi driver
deferral probe, however.
pinctrl-imx6 - arch_initcall
gpio-mxc - subsys_initcall
gpio-reset - arch_initcall

This patch customizes gpio reset function so that we can remove
the code to use the reset logic provided by the gpio-reset driver.
Also, the gpio-reset driver is not in the upstreaming kernel,
so it would be good not to use it if possible.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
7 years agoMLK-14662 mmc: debugfs: add runtime pm when cat ios or clock file node
Haibo Chen [Mon, 17 Apr 2017 09:43:00 +0000 (17:43 +0800)]
MLK-14662 mmc: debugfs: add runtime pm when cat ios or clock file node

MMC core code add 'MMC_CAP_RUNTIME_RESUME', postpone the real card
resume operation from bus_resume to bus_runtime_resume. So after
system resume, for non-removable-card, it still not really resume.
At this point, if user cat the ios or clock node, only get zero
data although the mmc/sd card is still present.

This patch add mmc_get_card() to make sure card really resume back
when user cat ios or clock debugfs file node, then user can get the
correct information.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
7 years agoARM: imx_v7_defconfig: overwrite with savedefconfig output
Mihai Serban [Wed, 19 Apr 2017 11:21:21 +0000 (14:21 +0300)]
ARM: imx_v7_defconfig: overwrite with savedefconfig output

The automated CI system will check if the configuration files are
generated by the 'make savedefconfig' command from now on.
We have to create a correct starting point to pass the checks.

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoarm64: defconfig: overwrite with savedefconfig output
Mihai Serban [Wed, 19 Apr 2017 10:53:15 +0000 (13:53 +0300)]
arm64: defconfig: overwrite with savedefconfig output

The automated CI system will check if the configuration files are
generated by the 'make savedefconfig' command from now on.
We have to create a correct starting point to pass the checks.

Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14284 Fix CAAM Errata err005766 handling
Radu Solea [Thu, 13 Apr 2017 13:14:06 +0000 (16:14 +0300)]
MLK-14284 Fix CAAM Errata err005766 handling

Update ERA detection code to check 3 sources CCBVID, CAAMVID
and the device tree.
Fix bit handling of CAAMVID data to obtain correct results.
Remove default device tree values.
Update errata handling to target known affected platforms.

Signed-off-by: Radu Solea <radu.solea@nxp.com>
7 years agoarm64: defconfig: Enable iMX CPU attached codecs
Viorel Suman [Wed, 19 Apr 2017 09:34:01 +0000 (12:34 +0300)]
arm64: defconfig: Enable iMX CPU attached codecs

Enable support for codecs attached to iMX CPUs.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
7 years agoMLK-14611 Fix CBC mode support by returning a correct IV
Radu Solea [Thu, 13 Apr 2017 12:22:41 +0000 (15:22 +0300)]
MLK-14611 Fix CBC mode support by returning a correct IV

Current CBC mode does not return the last cyphertext block
as IV for operation chaining. CTS fails because of incorrect IV.

Signed-off-by: Radu Solea <radu.solea@nxp.com>
7 years agoMLK-14611 Add DES key complexity validation
Radu Solea [Thu, 13 Apr 2017 12:12:27 +0000 (15:12 +0300)]
MLK-14611 Add DES key complexity validation

Signed-off-by: Radu Solea <radu.solea@nxp.com>
7 years agoMLK-14659 rpmsg: imx: tty: restore support for imx7d
Octavian Purdila [Tue, 18 Apr 2017 15:11:59 +0000 (18:11 +0300)]
MLK-14659 rpmsg: imx: tty: restore support for imx7d

Commit 2a596c353234 ("MLK-13981-2 rpmsg: imx: enable rpmsg virt tty")
enabled support for imx7ulp but it broke support for imx7d since the
currently distributed M4 image for imx7d still uses the old
"rpmsg-openamp-demo-channel" naming.

While we could change the channel name in the M4 image it is better to
maintain backwards compatibility, so add the old naming back to the id
table.

Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
7 years agoMLK-14703-3 video: mipi_dsi_northwest: refine some configs via traffic mode.
Fancy Fang [Mon, 17 Apr 2017 11:02:50 +0000 (19:02 +0800)]
MLK-14703-3 video: mipi_dsi_northwest: refine some configs via traffic mode.

Refine some DSI registers configuration by using the traffic
mode:
   . set 'DSI_VIDEO_MODE' directly from 'traffic_mode'.
   . set 'HFP', 'HBP' and 'HSA' by distinguishing traffic modes.

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

7 years agoMLK-14703-2 video: mipi_dsi_northwest: record traffic-mode.
Fancy Fang [Mon, 17 Apr 2017 10:35:55 +0000 (18:35 +0800)]
MLK-14703-2 video: mipi_dsi_northwest: record traffic-mode.

Add a new field 'traffic_mode' to struct 'mipi_dsi_info" to
record the traffic mode read from dts or set to default for
mipi dsi panel display.

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

7 years agoMLK-14703-1 video: adv7535: add 'dsi-traffic-mode' new property
Fancy Fang [Mon, 17 Apr 2017 06:52:02 +0000 (14:52 +0800)]
MLK-14703-1 video: adv7535: add 'dsi-traffic-mode' new property

Add the new property 'dsi-traffic-mode' which is used to
set one of the three video data transmit modes:
   . Non-burst mode with sync pulse width
   . Non-burst mode with sync event
   . Burst mode

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

7 years agoMLK-14704: ARM: imx: pm-rpmsg: correct A7 mode after resume back
Robin Gong [Tue, 18 Apr 2017 01:44:21 +0000 (09:44 +0800)]
MLK-14704: ARM: imx: pm-rpmsg: correct A7 mode after resume back

Correct right RUN mode after A7 resume back instead of the VLLS mode

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

7 years agoMMFMWK-7549 [media] videobuf: store field and timestamp when queue USERPTR buffer
Haihua Hu [Wed, 12 Apr 2017 07:48:06 +0000 (15:48 +0800)]
MMFMWK-7549 [media] videobuf: store field and timestamp when queue USERPTR buffer

When use USERPTR mode to queue v4l2 buffer, field and timestamp info
needs to be stored.

Signed-off-by: Haihua Hu <jared.hu@nxp.com>
7 years agoMLK-14518-2 pxp: set data path for pxp after reset
Robby Cai [Tue, 28 Mar 2017 10:40:56 +0000 (18:40 +0800)]
MLK-14518-2 pxp: set data path for pxp after reset

it's needed for pxp legacy process, so set it just after
pxp does the reset.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-14518-1 pxp: initialize pxp according to recommended flow
Robby Cai [Tue, 21 Mar 2017 12:12:14 +0000 (20:12 +0800)]
MLK-14518-1 pxp: initialize pxp according to recommended flow

use pxp_soft_reset() in probe and resume function because this implementation
follows the recommended flow in the IC spec.
without soft reset, when only use wfe_a process without legacy process it's
likely to meet timeout issue since. In other words, wfe_a process need the
soft reset to work properly.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-14516 epdc: bypass pxp legacy process when there's no transformation
Robby Cai [Thu, 9 Mar 2017 13:42:04 +0000 (21:42 +0800)]
MLK-14516 epdc: bypass pxp legacy process when there's no transformation

when there's no transform (Y8 format in framebuffer, no rotation,
no look-up transformation such as CMAP, no scaling/flip, etc.)
and no dithering, bypass pxp legacy process to save time.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
7 years agoMLK-14582: ASoC: imx-pcm-rpmsg: fix audio noise issue with pulseaudio
Shengjiu Wang [Thu, 30 Mar 2017 12:14:18 +0000 (20:14 +0800)]
MLK-14582: ASoC: imx-pcm-rpmsg: fix audio noise issue with pulseaudio

The pulse audio will set a wrong buffer size which is not the integral
multiple of period size, it will cause the DMA can't work correctly in
M4 side.
The reason is that we always need to add a constraint for
SNDRV_PCM_HW_PARAM_PERIODS, which make it integer.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 54a10a6c2130a69aca4c1923dac3a15137911146)

7 years agoMLK-14530-02 driver: cpufreq: Improve the the cpufreq for imx7ulp
Bai Ping [Tue, 28 Mar 2017 07:48:24 +0000 (15:48 +0800)]
MLK-14530-02 driver: cpufreq: Improve the the cpufreq for imx7ulp

The pm Qos add/remove only need to be called when A7 change mode
between HSRUN and RUN mode.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-14530-01 ARM: dts: Update setpoint voltage on i.mx7ulp
Bai Ping [Tue, 28 Mar 2017 07:46:24 +0000 (15:46 +0800)]
MLK-14530-01 ARM: dts: Update setpoint voltage on i.mx7ulp

Update the setpoint voltage on i.MX7ULP.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
7 years agoMLK-14513 ARM: imx: restore iomux/gpio settings before isoack on i.mx7ulp
Anson Huang [Fri, 24 Mar 2017 11:33:02 +0000 (19:33 +0800)]
MLK-14513 ARM: imx: restore iomux/gpio settings before isoack on i.mx7ulp

ISOACK must be done only after all IOMUX/GPIO settings done,
otherwise, some PADs can NOT keep state during VLLS
enter/exit and cause some pins toggling, and lead to
external devices in abnormal state, like reset etc..

This patch does all iomux/gpio settings restore in VLLS exit
flow, since DDR PADs need to be functioning before jump
to DDR, so isoack can only be done in ASM code, to save
OCRAM space, all pins in port C - F will be restored, even
some pins are reserved, but read/write these reserved pins
settings are OK on i.MX7ULP.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
7 years agoMLK-14448: ASoC: fsl_ssi: Fix capture and playback with master mode
Shengjiu Wang [Wed, 15 Mar 2017 06:17:24 +0000 (14:17 +0800)]
MLK-14448: ASoC: fsl_ssi: Fix capture and playback with master mode

Capture and Playback work in parallel in master mode, stop one substream,
the other substream will be conflicted, for clock is disabled.
The reason is that the clock counter is not increased in second substream,
the hw_param() function returned in the beginning for first substream is
enabled.
This patch is to move the clock enablement before the device enablement
checking in hw_param().

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14447: ASoC: fsl_ssi: Fix Capture and Playback with i2s mode
Shengjiu Wang [Tue, 14 Mar 2017 05:09:55 +0000 (13:09 +0800)]
MLK-14447: ASoC: fsl_ssi: Fix Capture and Playback with i2s mode

Fixes: 95461157dea0 ("MLK-14316 ASoC: fsl_ssi: Fix playback and capture
with mono stream")

This commit (95461157dea0) cause a side effect for i2s mode, for it clears
the setting of I2S_MODE, the basic idea is the set_fmt() function should
not touch the I2S_MODE and NET mode of SCR.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
7 years agoMLK-14372: ASoC: fsl_rpmsg_i2s: remove unsupported sample rate
Shengjiu Wang [Mon, 6 Mar 2017 09:32:29 +0000 (17:32 +0800)]
MLK-14372: ASoC: fsl_rpmsg_i2s: remove unsupported sample rate

RTOS for M4 core in imx7ulp don't support 32kHz and 44kHz

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
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)