Commit Graph

721962 Commits

Author SHA1 Message Date
de72f10744 MLK-19017-1 ARM64: dts: imx8mm: re-order display nodes
The devices in the device tree are registered in the
top-down order. But when system suspend entered, the
device tree is walked in a bottom-up order to suspend
devices. So change the display device nodes register
order to be:

    LCDIF -> SEC DSIM -> Display Subsystem

Since in display subystem, it will disable the whole
display pipeline. So this should be first suspended
before LCDIF and SEC DSIM. And besides, the SEC DSIM
is better to be suspended before LCDIF which is the
same with the sequence for display pipeline disables.
And when system resume entered, the devices resume
sequence is:

    LCDIF -> SEC DSIM -> Display Subsystem

Which is a top-down order and is the correct sequence
for display devices resume.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 4ce74783e6a50898a433372f5968175b20d4ef0c)
2019-02-12 10:33:01 +08:00
6a427c8e9c MLK-18605-15 dt-bindings: display: panel: add 'video-mode' prop for rm67191
Add a new property 'video-mode' binding for panel rm67191
which is used to specify a video data transfer mode.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 9dba8643d7b9c73a2b20ef517c79bb799f5ade3d)
2019-02-12 10:33:01 +08:00
884680d1de MLK-18605-14 drm/imx: lcdif: adjust 'max_height' for '1080x1920' mode
Change the maximum height limitation to 1920 to support
'1080x1920' resolution mode. It is a temporary work
around and will be improved later.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 44d0209e97e0c574af30dd7a7d7e059d4ddf996d)
2019-02-12 10:33:00 +08:00
141093a093 MLK-18605-13 drm/panel: rm67191: enable 'video-mode' config
Try to get the 'video-mode' property from dtb to guide
the required video mode configuration. The possible video
modes are:
	0. Burst mode
	1. Non-burst mode with sync event
	2. Non-burst mode with sync pulse

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit e920436e2174d72eac28f0fb09f1fcdc68add9d9)
2019-02-12 10:33:00 +08:00
084e1fbc24 MLK-18605-12 ARM64: dts: imx8mm-evk: add support for RM67191 panel
Create a new dts 'fsl-imx8mm-evk-rm67191.dts' to support panel
'RM67191' display which is attached to DSIM controller directly.
So the corresponding panel device node is defined as the child
of 'mipi_dsi' node under the DRM DSI framework. Since the
'adv_bridge' and 'RM67191' should be enabled exclusively, so
disable 'adv_bridge' when enable 'RM67191'.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit ae1d6107c2caa6af50e3fdd512218d5348d6e00c)
2019-02-12 10:33:00 +08:00
e4f41d1b4d MLK-18605-11 ARM64: dts: imx8mm: add address and size cells for 'mipi_dsi'
Add a different '#address-cells' and '#size-cells' properties
definition for incoming possible panel child node.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit ccaa041b96a3124521f02c1e3d223890e659433b)
2019-02-12 10:33:00 +08:00
b43c58d9e0 MLK-18605-10 drm/bridge: sec-dsim: complete mipi panel support
This patch adds mipi panel enable/disable during the dsim
bridge enable/disable procedure and implements required
callbacks and helper functions for dsi panel peripheral
support.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 4ef0a4e4ba0faca91e5b556fd13483aafdb64519)
2019-02-12 10:33:00 +08:00
cf7e6fc89b MLK-18605-9 drm/bridge: sec-dsim: increase timeout values for BTA and LPRX
The current timeout values for 'BTA' and 'LPRX' in register
'DSIM_TIMEOUT' is not long enough for some dsi peripherals,
so increase them long enough for all current peripherals to
avoid timeout errors generation in some cases.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 8e2b86b317382635e74002a5b2a466804247e61a)
2019-02-12 10:33:00 +08:00
4b907a3283 MLK-18605-8 drm/bridge: sec-dsim: add non-continuous clock support
Complete the non-continuous clock mode support.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit cd216df51f322434e45d12b6721637f1d8159fe4)
2019-02-12 10:32:59 +08:00
3f20acbee9 MLK-18605-7 drm/bridge: sec-dsim: correct a register macro misspelt
The macro 'CONFIG_NON_CONTINUOUS_CLOCK_LANE' has been misspelt
to 'CONFIG_NON_CONTINOUS_CLOCK_LANE'. So correct it.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 24a05825b7299fc2f60768468fafbbc9a33804ad)
2019-02-12 10:32:59 +08:00
1c9d8b1cce MLK-18605-6 drm/bridge: sec-dsim: add fifo pointers initialization
All the DSIM fifo pointers should be better to be put into the
initialized state before enabling DSIM to transfer commands or
data.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 1c1624e48c83623a538f4af862367e6b3cbf8d67)
2019-02-12 10:32:59 +08:00
0d65374968 MLK-18605-5 drm/bridge: sec-dsim: correct 'DSIM_FIFOCTRL' offset
According to the DSIM specification, the 'DSIM_FIFOCTRL'
register addr offset should be '0x4c' instead of '0x48'.
So correct it.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 31850816f3aea109aff6c4bbcb44221e7d74afb5)
2019-02-12 10:32:59 +08:00
6281e4f4b6 MLK-18605-4 drm/bridge: sec-dsim: refine data lanes stop state check
When the attached dsi device does not use all the data lanes
to transfer data, data lanes stop state check should only
check the lanes used precisely, since unused lanes state is
not guaranteed to be in some stable state.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 6787ee8505ab16bf7bba38c721da0bfa87e9de0e)
2019-02-12 10:32:59 +08:00
9ef87498c5 MLK-18605-3 drm/bridge: sec-dsim: refuse unknown dsi device attach
When a dsi device who is neither a bridge nor a panel requests
to be attached to the host, refuse this request directly.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 2e80acc8a611327fcc77d2e73515bc062cdc4233)
2019-02-12 10:32:59 +08:00
75f65aebfd MLK-18605-2 drm/bridge: sec-dsim: allow same panel can be re-attached
During the mode set procedure, some dsi client device may detach
itself first and then attach it again according to the target
display mode parameters. In this case, the dsi client device
should be allowed to be re-attached again. So this is also true
for panel device.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit f586625dd1a665c58b976405c7980b7414554481)
2019-02-12 10:32:59 +08:00
0b78ed9b7c MLK-18605-1 drm/bridge: sec-dsim: add cleanup when detach dsi client
When the dsi device is detached, the dsi parameters saved when
the dsi device is attached should be cleaned to avoid to be
misused. And besides, add some sanity check along with this
cleanup.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit a02c30a0ed8acc4a136d2281431fa4b07d66b933)
2019-02-12 10:32:58 +08:00
e04e4d286a MLK-19081 drm/bridge: sec-dsim: correct args of 'drm_bridge_attach' call
Obviously, according to the drm_bridge_attach()'s definition,
the passing arguments of its function call should be corrected
here.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2019-02-12 10:32:58 +08:00
2d1c18da40 MLK-19065: arm64: dts: imx8qm: sync operating freq with datasheet
Sync operating frequencies for A72 as per latest 8QM datasheet.

Signed-off-by: Teo Hall <teo.hall@nxp.com>
(cherry picked from commit 1f9b64ca93014852e42d8e34766f003c361e829b)
2019-02-12 10:32:58 +08:00
5ff69c1ef2 MLK-19008 soc: imx: mu: do NOT clear RIEn for i.mx6sx and i.mx7d
MU is shared between rpmsg driver and the multi-core
power management on i.MX6SX and i.MX7D, the RIE3 is
enabled by MU driver, but when rpmsg is probed, it
will call MU_Init and RIE3 will be clear and cause
multi-core power management never work, so do NOT
clear RIEn during MU initialization for i.MX6SX and
i.MX7D.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-02-12 10:32:58 +08:00
cc50467d73 MGS-4103 [#imx-1070] fix gpu axi bus error on 6sx
only add the padding pages for user pageable memory,

Revert "MGS-4022 [#imx-1070] fix kernel panic with opencl test_buffers"
This reverts commit 9253786bcfd2fa17132c5057a18eb75b10ea3336.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-02-12 10:32:57 +08:00
f26a22431c MLK-19063: ASoC: fsl_hdmi: fix null pointer dereference issue
This issue is reported by coverity (4022712).

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:32:57 +08:00
6d95b9cc46 MLK-19067: ARM64: dts: fix dp audio is not probed
With the commit c5592424ba ("MLK-18368-2: ASoC: fsl: support
hdmi rx in machine driver"), hdmi-out/hdmi-in need to specified
in dts.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-02-12 10:32:57 +08:00
855dea4f35 MLK-18809: drm: imx: dcss: revert the max upscale ratio to 1:8
The DCSS RM states that the maximum upscale ratio is 1:8. However, DCSS
HW team suggested some time back that upscale ratios of 1:16 could be
achieved with DCSS scaler, though these ratios were not validated.

Unfortunately there are corner cases, when the upscale ratio nears
1:16, that fail. At the recommendation of DCSS designers, we revert the
maximum ratio to 1:8 until further notice.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
(cherry picked from commit bafb5a9481c289951872923d4bbbbcf24a8910b5)
2019-02-12 10:32:57 +08:00
6a2001dd9c MLK-19038: dt-bindings: pinctrl: imx8mm add SAI1 PDM pins
Add SAI1 PDM pin definitions for imx8mm SoC.

Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
(cherry picked from commit 1ada53b6b48dc6e7360b75403bd0796b4bf52cf9)
2019-02-12 10:32:57 +08:00
803e25bb7a MLK-18429-02 ARM64: dts: add the device node for imx8mm power domain
Correct the power domain device node on i.MX8MM. the older one is
removed, add the updated one for it.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit 8a88ee0404665edc11bee2e692235239f5faa21a)
2019-02-12 10:32:57 +08:00
b8ccddb55d MLK-18429-01 driver: soc: imx: add power domain support for imx8mm
Add power domain support for i.MX8MM.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit abcc28140e7b50db30cdc00b0b89f49530764736)
2019-02-12 10:32:57 +08:00
cfc32ec545 MLK-16059-1: ARM64: dts: enable quadspi on i.MX8MQ
enable the quadspi module on i.MX8MQ

Signed-off-by: Han Xu <han.xu@nxp.com>
(cherry picked from commit ae2e3e2d9b)
2019-02-12 10:32:57 +08:00
035c1590e6 MLK-19058 - [I.MX8QXP/VPU]: Refine negotiation protocol to avoid camera reset before start
Set default colorspace value in v4l2_ioctl_try_fmt()

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
(cherry picked from commit 52221438736a3ede393ba1682eadc292d3a73977)
2019-02-12 10:32:57 +08:00
6237540c26 MGS-3255-41 gpu: fix 6.2.4.p2 test_buffer failures
fix read buffer fence node for hw copy,
add cpu cache line check for write buffer,
invalidate cache after pipeline complete,
flush head and tail pages for user memory.

fix 630a849f3a4087a98b0425c261f474d178150307
 "MGS-3255-39 [#ccc] fix opencl cache issue"

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-02-12 10:32:57 +08:00
62531599fa MGS-4022 [#imx-1070] fix kernel panic with opencl test_buffers
the user memory will add the padding pages to meet hardware alignment,
need set non-contiguous flag to avoid contigous mapping in GPU MMU.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-02-12 10:32:56 +08:00
ce94943ffc MLK-18721-1: input: touch: Synaptics: add x/y diagonal rotation support
Add x/y coordinate diagonal rotation support, user can use this feature
by add "synaptics,diagonal-rotation" in dts.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit 10c98865e5d1f0b7938523c793165e72add39f10)
2019-02-12 10:32:56 +08:00
70c27f46e2 MLK-18926-2 ARM64: dts: fsl-imx8mq-arm2: correct usdhc pad SRE setting
According to RM, usdhc 100MHz pad setting need to set SRE(slew rate
field) to 0x01(Medium Frequency Slew Rate 100MHz), usdhc 200MHz pad
setting need to set SRE to 0x11(Max Frequency Slew Rate 200MHz).

Without this patch, eMMC HS400 will meet timeout/crc error when the
temperature is over 80 degree celsius.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit bda547bad6f8fc2de3355625da243d4fd513f15a)
2019-02-12 10:32:56 +08:00
90e11572fc MLK-18724-3 clk: imx7d: remove IMX7D_NAND_USDHC_BUS_ROOT_CLK out from clks_init_on[]
No need to enable IMX7D_NAND_USDHC_BUS_ROOT_CLK during the imx7d clock
driver init, so remove it from the clks_init_on[].

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit d63d8a2d501ddc93a3406111134242090a713c4a)
2019-02-12 10:32:56 +08:00
f53325d675 MLK-18724-2 clk: imx8mq: remove IMX8MQ_CLK_NAND_USDHC_BUS_CG out from clks_init_on[]
No need to enable IMX8MQ_CLK_NAND_USDHC_BUS_CG during the imx8mq clock driver
init, so remove it from the clks_init_on[].

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 6c90e1bfc38eab27921d26b1218993e5cd52a425)
2019-02-12 10:32:56 +08:00
9cd7b56a4f MLK-18724-1 clk: imx8mm: remove IMX8MM_CLK_NAND_USDHC_BUS_CG out from clks_init_on[]
No need to enable IMX8MM_CLK_NAND_USDHC_BUS_CG during the imx8mm clock driver
init, so remove it from the clks_init_on[].

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 7a8f9c1917dec30fc37b6b8ea74461e80ecdbc30)
2019-02-12 10:32:55 +08:00
eac30e878f MLK-18926 ARM64: dts: fsl-imx8mq-evk: correct usdhc pad SRE setting
According to RM, usdhc 100MHz pad setting need to set SRE(slew rate
field) to 0x01(Medium Frequency Slew Rate 100MHz), usdhc 200MHz pad
setting need to set SRE to 0x11(Max Frequency Slew Rate 200MHz).

Without this patch, eMMC HS400 will meet timeout/crc error when the
temperature is over 80 degree celsius.

Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit fb0ca42366246e7a731cc3e4cd7123d8d6334c9a)

Conflicts:
	arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts
2019-02-12 10:32:55 +08:00
7303afd69d MLK-19041: clk: imx8mq: remove IMX8MQ_CLK_AUDIO_AHB_DIV from clks_init_on[]
No need to enable IMX8MQ_CLK_AUDIO_AHB_DIV during imx8mq clock
driver init, so remove it from the clks_init_on[].

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit b13900ec3296f579f54581483858cc053d2bbff3)
2019-02-12 10:32:55 +08:00
006745b745 MLK-18874: ASoC: fsl_asrc: fix noise issue with 5 channel conversion
The dma_len is the size that how many data dma should transmit. As
the asrc use channel as unit, so the dma_len should also in channel unit.
Otherwise the output data is not align in channel, there will be noise.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:32:55 +08:00
9538cb9777 MLK-18971: ASoC: fsl_asrc: fix record sound distortion issue
Fixes commit feb06839682c ("MLK-16839-1: ASoC: fsl_asrc: selec
a proper clock source from the clock list")

When inclk is INCLK_ASRCK1_CLK, the driver will config module
to be non ideal ration mode, But the divider should be less
than 1024 and exact division. otherwise there will be distortion.

If the divider larger than 1024 or it is not exact division, asrc
should switch to ideal ratio mode, which don't care about the
divider.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:32:55 +08:00
488ba9477a MLK-18875: ASoC: fsl_asrc_m2m: refine the last period size
The output size of asrc for a dedicate input is uncertain.

For example, if the input size is 1k, the output ratio is
2, so the output size should be 2k. but the actual output
size is not 2k,  is less than 2k. if we set the dma size
to be 2k, the dma can't get enough data that can't finish
the transmission, then there will be

"output DMA task timeout"

So we need to set the dma size a proper value but we don't know
how many data less than expected. so we defined the last period
size for assumption of reduced size.

The last period size should not be too large, if it is large
there will be

"input DMA task timeout"

The reason is the output FIFO is full, which will block the
input data comsumption.

In this patch, the last period size is set to the difference
of configured buffer size and the expected output size, plus
a fix size.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
2019-02-12 10:32:55 +08:00
6f08ad897e - MLK-19004 - [i.MX8QXP/VPU]: Add self-defined EOS tag instead of standard tag
Add self-defined EOS tag for some formats, includes: Mpeg2 and Mjpeg

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
(cherry picked from commit 6550b3dca4eaf6c42c38234a6e8bbf09072d9f54)
2019-02-12 10:32:55 +08:00
b8af38a660 MLK-19022-2: dmaengine: fsl-edma-v3: add device_synchronize
Add device_synchronize for edma driver, since some driver such as
Audio need it to make sure dma done callback never come out after
resource related with dma channel free-ed by Audio driver. Android
team report such issue on MA-12087.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
(cherry picked from commit 483519c063b08fc1ce0dd297b6c186799cf639d6)
2019-02-12 10:32:55 +08:00
f242c49444 MLK-19022-1: dmaengine: fsl-edma: add device_synchronize
Add device_synchronize for edma driver, since some driver such as
Audio need it to make sure dma done callback never come out after
resource related with dma channel free-ed by Audio driver.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
(cherry picked from commit cd2d1200280fe573ac4eac5e27675f1b2ea638c4)
2019-02-12 10:32:54 +08:00
74a2a5081c MLK-18991-3: arm64:dts:imx8qm-mek: hdmi: Add hdmi in dts
Move hdmi in property to separate dts file.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 1e9df88385ca6045ec61737f88225c29ac36d68e)
2019-02-12 10:32:54 +08:00
2afb2be3a3 MLK-18991-2: arm64:dts:imx8qm-mek-hdmi: change HDMI clock source to av pll
Change HDMI clock source to av pll.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit e8db637954dd31af85186d6512d749f3b4467317)
2019-02-12 10:32:54 +08:00
4431c1e437 MLK-18991-1: arm64:dts:imx8qm-lpddr4-arm2: Add hdmi tx/rx dts
Add hdmi tx/rx dts for imx8qm arm2 board.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 5ba8e21db2a53e400882526a24f99ff1239a8c84)
2019-02-12 10:32:54 +08:00
3b6ede9fbe MLK-19029 net: can: flexcan: fix the build warning
linux-imx/drivers/net/can/flexcan.c: In function ‘flexcan_probe’:
linux-imx/drivers/net/can/flexcan.c:1506:2: warning: label
‘failed_register’ defined but not used [-Wunused-label]
  failed_register:
    ^~~~~~~~~~~~~~~

Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
2019-02-12 10:32:54 +08:00
14d91cbade MLK-19003-4 ARM64: dts: introduce i.MX8QM root/inmate dts
The two dts are for Jailhouse root cell and non-root linux cell.

root cell use SDHC1/UART0, non root cell use SDHC0/UART2.
UART2 is on base board with RS232 connected.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit fa0a52f4f860b6ee40dd4c51bbcf3a1f13f4bbe2)
2019-02-12 10:32:54 +08:00
6608ea3152 MLK-19003-3 ARM64: dts: introduce i.MX8QXP root/inmate dts
The two dts are for Jailhouse root cell and non-root linux cell.

root cell use SDHC1/UART0, non root cell use SDHC0/UART2.
UART2 is on base board with RS232 connected.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit d4346054d616e487a625c22274b3b2122a133235)
2019-02-12 10:32:54 +08:00
2b3b0d65b7 MLK-19003-2 ARM64: dts: imx8mq: inmate: add pci host ecam generic node
Add pci node to let inmate could detect ivshmem net.
The reg base is the PCI_CFG_BASE in jailhouse hypervisor.
The interrupt needs to be same vpci_irq_base + [x] in jailhouse
hypevisor.

In this patch also delete memory node, jailhosue cell linux
tool also creates a memory node, there are two memory nodes,
cause issues when using ivshmem-net.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit e1f59c589d16a556310e5a12d62e4a1913fc905a)
2019-02-12 10:32:54 +08:00