Commit Graph

721573 Commits

Author SHA1 Message Date
379ede4dfd MLK-18483-02 net: fec: add sleep mode support for i.MX8QM/QXP
Add sleep mode support for i.MX8QM/QXP platforms.

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:32:02 +08:00
89f306aacf MLK-18483-01 soc: imx8: sc: types: add ipg stop misc controls for CONN ENET
- Sync with scu firmware commit 576011819ce3 (SCF-81: Added API to
control MIPI CSI calibration.) and commit 095a0d7dbc0b (SCF-85: Add
direct control of ENET IPG stop control)
- Add ipg stop misc controls for CONN ENET.

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:32:02 +08:00
315d784188 MLK-18489: arm64: config: Keep defconfig clean
When adding a new config option one should always run:

$ make savedefconfig

Reported-by: Jana Build <jana.build@nxp.com>
Tested-by:  Raluca Oncioiu <raluca.oncioiu@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-02-12 10:32:02 +08:00
a57fb9bf98 MLK-18504: ARM64: dts: Support ASRC P2P with ESAI device
Support ASRC P2P with ESAI to show the multichannel capibility.
And make this setting align with other platform like imx6

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
2019-02-12 10:32:02 +08:00
9a35b086ac MLK-18495 VPU: Add the event VID_API_EVENT_FIRMWARE_XCPT and modify interlaced flag
Add the event VID_API_EVENT_FIRMWARE_XCPT and modify interlaced flag for
vpu decoder

Signed-off-by: Huang Chaofan <chaofan.huang@nxp.com>
2019-02-12 10:32:02 +08:00
fb1320ca1a MLK-18538 ARM: dts: imx6qdl-sabresd: Remove ov5640 added by upstream
In imx6qdl-sabresd.dtsi imx_4.9.y defines ov564x_mipi@3c with
compatible="ovti,ov564x_mipi". Upstream added camera@3c with
compatible="ovti,ov5640" on the same bus and this results in i2c errors
on boot:

i2c i2c-1: Failed to register i2c client ov564x_mipi at 0x3c (-16)
i2c i2c-1: of_i2c: Failure registering /soc/aips-bus@02100000/i2c@021a4000/ov564x_mipi@3c
i2c i2c-1: Failed to create I2C device for /soc/aips-bus@02100000/i2c@021a4000/ov564x_mipi@3c

Fix by removing upstream definition.

The other camera camera added by upstream, &ov5642: camera@3c on &i2c0
was already removed/overwritten with our definition during porting.

Fixes: 2b48156760e5 ("MLK-11508-5: dts: Add imx v4l2 capture driver")

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
2019-02-12 10:32:02 +08:00
e3c1142699 MA-11995-2 Enable CMA_HEAP and SYSTEM_HEAP for ION on linux-4.14.
Add CONFIG_ION, CONFIG_ION_CMA_HEAP and CONFIG_ION_SYSTEM_HEAP.

Change-Id: I67825353e44fe33d79dfa4c6f3be5b92aea8f9bc
Signed-off-by: ivan.liu <xiaowen.liu@nxp.com>
2019-02-12 10:32:02 +08:00
429a142098 MA-11994 Add get phys address ioctl to dma-buf.
Add structure dma_buf_phys to store physical address.
Add DMA_BUF_IOCTL_PHYS to export physical address.

Change-Id: Ib2f24b33462d603f2cbeef975689aaf82447d088
Signed-off-by: ivan.liu <xiaowen.liu@nxp.com>
2019-02-12 10:32:02 +08:00
893b09f94b MLK-18537 ARM: dts: imx6qdl-sabreauto: Move sensors under i2c mux
Suspend fails on sabreauto because the i2c mux is set to the default
state before suspending sensors:

dpm_run_callback(): isl29023_suspend+0x0/0x3c returns -11
PM: Device 2-0044 failed to suspend: error -11
PM: Some devices failed to suspend, or early wake event detected

Fix this by moving sensons to i2cmux/i2c@1 just like the rest of I2C3
devices. This is a porting issue, in imx_4.9.y there is no dynamic
muxing for i2c3.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:32:02 +08:00
78c167aae3 MLK-18498-2 ARM: dts: imx6qdl-sabreauto: Fix pin hog overlap
Upstream added new separate pinctrl groups:
* pinctrl_i2c3mux for MX6QDL_PAD_EIM_A24__GPIO5_IO04
* pinctrl_max7310 for MX6QDL_PAD_SD2_DAT0__GPIO1_IO15

During imx_4.9.y porting these were both added to pinctrl_hog instead
and this now causes a pin conflict. Drop this part and keep them in
per-device pin groups.

Fixes: 2b48156760e5 ("MLK-11508-5: dts: Add imx v4l2 capture driver")

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:32:01 +08:00
5365ff2e02 MLK-18498-1 ARM: imx_v7_defconfig: CONFIG_I2C_MUX_GPIO=y
Upstream added i2c-mux-gpio to imx6qdl-sabreauto and CONFIG_I2C_MUX_GPIO
to imx_v6_v7_defconfig. We need to copy this to imx_v7_defconfig or
several devices won't probe.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:32:01 +08:00
d6807ed26c MLK-18485 emvsim: enable CWT for ATR
Enable CWT for ATR, and switch to RX_DATA_IM to detect receiving data
in fifo.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:32:01 +08:00
be07cfbd1c MLK-18440: ISI: fix the first frame black issue
Camera sensor need to be enabled before ISI when
resolution of caputure image is less than 640*480,
but hdmi need to be enabled after ISI, so add this
patch to compatible these two cases

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit c8d17ffcb0)
2019-02-12 10:32:01 +08:00
72a36d6517 MLK-17885-2: camera: add nv12 output format support
Add NV12 output format support. Because nv12 is multi
planes format, so driver need add device for every planes

Reviewed-by: Sandor.yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
2019-02-12 10:32:01 +08:00
36a74fff94 MLK-18481: encoder multi-instance, wait_timeout, suspend & resume
fix encoder multi-instance bug
modify wait to wait_timeout
complete encoder suspend and resume

Signed-off-by: GuoRui <rui.guo_4@nxp.com>
2019-02-12 10:32:01 +08:00
4be2c7a966 MLK-18025: ARM: imx: Fix suspend initialization for Optee on imx7ulp
Before the kernel starts, optee uses M4 SRAM to allocate its
suspend function. When imx7ulp_pm_map_io() executes, the psci
driver and psci_ops.cpu_suspend are not initialized yet. This
causes the memset to always wipe the optee suspend code in the
M4 SRAM.

Signed-off-by: Clement Faure <clement.faure@nxp.com>
2019-02-12 10:32:00 +08:00
7e37ee6b35 MGS-3947 gpu: imx: dpu-blit: fix wayland vg3d stuck on 8qxp
gpu tiling is not enabled in vg3d, need bypass dprc/prg process,
dprc stuck since no pipeline sync when switch linear to tile.
add force sync for command sequence pipeline when switch to tile,
remove the frequent dprc config for the contigous linear blit.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-02-12 10:32:00 +08:00
77236513d8 MLK-18477-4 arm64: dts: fsl-imx8qm-mek-hdmi: Don't assign dpu disp clk parent
The dpu driver may properly handle display clock parent selection now.
Thus, let's remove the assigned-clock and assigned-clock-parent
device tree properties from the dpu device tree node.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-02-12 10:32:00 +08:00
c533b14923 MLK-18477-3 arm64: fsl-imx8qm.dtsi: Remove dpu assigned-clock* properties
The dpu driver may properly handle display clock parent selection now.
Thus, let's remove the assigned-clocks and assigned-clock-parents
device tree properties from the dpu device tree nodes.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-02-12 10:32:00 +08:00
79191710d0 MLK-18477-2 gpu: imx: dpu: framegen: Explicitly use bypass clk for TMDS encoder
The framegen driver should get PLL clock, bypass clock and display
selection/mux clock via device tree if available.  It may use bypass
clock when a TMDS encoder is connected with the framegen, otherwise,
PLL clock is used.  This way, the assigned-clocks and assigned-clock-parents
device tree properties can be removed from the dpu device tree node.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-02-12 10:32:00 +08:00
7f6550487a MLK-18477-1 arm64: fsl-imx8qm.dtsi: Add bypass and disp_sel clks for dpu
This patch adds bypass clocks and disp_sel clocks in the dpu nodes.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-02-12 10:32:00 +08:00
bf5db2a332 MLK-16784-6 arm64: config: add micfil in defconfig
Add IMX_MICFIL in arm64 defconfig.

Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:32:00 +08:00
3c788dfc51 MLK-16784-5 sound: asoc: add machine driver for micfil in iMX8MM
Add machine driver for micfill IP in iMX8MM.

Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:32:00 +08:00
f61e0ba8d9 MLK-16784-4 sound: asoc: add micfil cpu-dai in iMX8MM
Add micfil cpu-dai for iMX8MM.
The MICFIL digital interface provides a 16-bit audio
signal from a PDM microphone bitstream in a configurable
output sampling rate.

Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:32:00 +08:00
d8da1c36bf MLK-16784-2 documentation: sound: add documentation for PDM
Add documentation for micfil IP.

Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:31:59 +08:00
4a98640603 MLK-18467 VPU: Add support for interlaced and 10bit for VPU decoder
Add support for interlaced and 10bit in v4l2 driver for vpu decoder

Signed-off-by: Huang Chaofan <chaofan.huang@nxp.com>
2019-02-12 10:31:59 +08:00
063c6b552f MLK-18470 ARM64: dts: imx8mm: add ocotp node
Add ocotp node to make nvmem work.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-02-12 10:31:59 +08:00
8b3ad09dd6 MLK-18463: ASoC: ak4497: add return value for ak4497_probe
There is ak4497 audio card even no audio board connected, which
os caused by there is no error return value even the i2c access
failed.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:59 +08:00
968fd25094 MLK-18449: dmaengine: imx-sdma:add sw_done support
Add new cell for sw_done/sw_done_selector, because PDM need enable
software done feature in sdma script.
The new fourth cell defined as below:
	Bit31: sw_done
	Bit15~bit0: selector
For example: 0x80000000 means sw_done enabled for done0 sector which
is for PDM on i.mx8mm.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:59 +08:00
459cdf83e1 MLK-18426 AMR64: dts: imx: Increase the cpuidle latency setting on imx8mm
After the WAIT mode is enabled on imx8mm, the previous latency setting
seems can NOT meet the system the latency requirement. audio playback is
impacted by cpuidle. So increasing the latency setting as large as possible
to eliminate the impact of system performance. The latency value is not very
accurate, need to be updated after we have enough performance test result.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2019-02-12 10:31:59 +08:00
54dca08955 MLK-18423 ARM64: dts: imx8qm-mek: optimize the pciea disable pin setting
Optimize the pciea disable pin to drive NTB0104 device:
(NTB0104 requires at least 2 mA per data sheet)
- push-pull output
- pull disabled
- high drive strength

And the patch also change the lvds gpio to lsio gpio.

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:31:59 +08:00
434111fb29 MLK-18421 VPU: Refine the eos progress for vpu decoder
simplify the current design about EOS handling:
	- add_eos() is called only in V4L2_DEC_CMD_STOP, and no any block for
	application
	- stream_feed_complete: removed
	- firmware_finished: simplified and reserved only for debug
	- eos_stop_added: simplified and reserved only for debug
avoid abort hang(h264/hevc) in corner case

Signed-off-by: Huang Chaofan <chaofan.huang@nxp.com>
2019-02-12 10:31:59 +08:00
0d51ef1acd MLK-18407: clk: accommodate scfw change for QXP PI ss
Change pixel clock register of qxp PI ss in order to
accommodate scfw change for PI ss

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 1a769a426f)
2019-02-12 10:31:59 +08:00
9556b5d9fc MLK-18398 gpu: imx: imx8_dprc: dpu-blit: Wait the dprc idle before disable it
For linear and tiled mixed blit, wait the dprc idle
before disable it in linear blit.

Signed-off-by: Yuchou Gan <yuchou.gan@nxp.com>
2019-02-12 10:31:58 +08:00
72bd44b3cd MLK-18386 ARM64: dts: imx8mm: fix pcie pll can't be locked in resume
pcie aux clock is mandatory required by pcie power management.
add the aux clock into imx8mm pcie dts node explicitly.
pcie ctrl clock would be turned on, when pcie root clock
is enabled.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
2019-02-12 10:31:58 +08:00
dfa63acbee MLK-18397-2: ARM64: dts: enable spdif1 tx for hdmi rx arc
enable spdif1 tx for hdmi rx arc

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:58 +08:00
9b9c927c85 MLK-18397-1: hdmi_rx: turn on aux_ana for rx arc
turn on aux_ana for rx arc

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:57 +08:00
62ed96af44 MLK-18362-3 arm64: dts: add mipi csi camera support on imx8mm-evk
add node for MIPI CSI, CSI, and camera OV5640

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2019-02-12 10:31:57 +08:00
59e5fa6d4e MLK-18362-2 midea: mipi_csi: add mipi phy reset on imx8mm
on imx8mm, use different way rather than via SRC. so use different
device id to distinguish different MIPI-PHY reset method.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2019-02-12 10:31:57 +08:00
1ca0e98d0b MLK-18362-1 clk: imx8mm: add clock for csi
add csi clock, CLKO1 for MCLK, and also BUS clock

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2019-02-12 10:31:57 +08:00
7cfcb8f70e MLK-18347 gpu: imx: dpu: Correct baddr and stride for PRG x/y offset
We use PRG x/y offset to do in-micro-tile cropping for new DPR/PRG IPs.
When tile resolving is enabled by using the new IPs, the design team
indicates that DPU fetch unit base address and DPU/PRG stride need to be
calculated in the below steps:

1) prg_Baddr = dpr_Baddr
2) tmp_dpu_Baddr = prg_Baddr + prg_x_offset * bytes_per_pixel
3) tmp_burst_size = 1 << (ffs(tmp_dpu_Baddr) - 1)
   tmp_burst_size = round_up(tmp_burst_size, 8)
   burst_size = min(tmp_burst_size, 128)
4) tmp_dpu_stride = dpu_width * bytes_per_pixel
5) dpu_stride =
	round_up(tmp_dpu_stride + round_up(tmp_dpu_Baddr % 8, 8), burst_size)
6) dpu_Baddr = tmp_dpu_Baddr + prg_y_offset * dpu_stride
7) prg_stride = dpu_stride

The legacy DPR/PRG IPs and linear formats driver logic should not be
essentially touched.

This patch implements the above calculation method in the drivers
so that all valid in-micro-tile x/y cropping arguments can be supported.
Without this, at least, some cropping cases with odd x value would fail.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2019-02-12 10:31:57 +08:00
0949eb6a01 MLK-18369: camera: fix boot up have some isi dump error issue
It caused by 10ms delay during isi hardware reset. During this
10ms, runtime PM will call isi runtime suspend/resume callback
but isi is not ready, so delete the 10ms delay.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
(cherry picked from commit 7d0922252f)
2019-02-12 10:31:57 +08:00
f92b4b8533 MLK-17619: spi: ecspi: request gpio resources before setting the value
gpio controller ignored all values were set before request resources,
move the devm_gpio_request to spi_imx_setup to fix the issue.

Signed-off-by: Han Xu <han.xu@nxp.com>
Suggested-and-reviewed-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:31:57 +08:00
070e229668 MLK-18389:vpu encoder add multi-workqueue suspend and resume
create multi workqueue for vpu encoder
    add suspend and resume code to encoder driver
    add wait resume done in decoder resume function
    solve coverity issue: 3520461 Out-of-bounds read

Signed-off-by: GuoRui <rui.guo_4@nxp.com>
2019-02-12 10:31:56 +08:00
f77e9c0c5f MLK-18368-9: ARM64: dts: enable hdmi rx audio
enable hdmi rx audio

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:56 +08:00
2ba19bc6b7 MLK-18368-8: imx-hdmi: change the platform device id for hdmi audio tx
platform device id of TX is 1, RX is 2.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:56 +08:00
668138622e MLK-18368-7: imx-hdmi: change the entry id of meta data
For entry id of video is 0,  audio is 1, if entry id of meta data is
1, then it conflict with audio.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:56 +08:00
cd53c6c015 MLK-18368-6: hdmi_rx: avoid blocking in audio config
add delay count in audio auto config to avoid blocking
change the justify to right

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:56 +08:00
72aa88ba95 MLK-18368-5: hdmi_rx: add hdmi rx audio clock
add clock for hdmi audio rx

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:56 +08:00
09416efc80 MLK-18368-4: hdmi_rx: add generic hdmi audio rx driver
Register generic hdmi audio rx driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:31:56 +08:00