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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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>
Sync operating frequencies for A72 as per latest 8QM datasheet.
Signed-off-by: Teo Hall <teo.hall@nxp.com>
(cherry picked from commit 1f9b64ca93014852e42d8e34766f003c361e829b)
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>
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>
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>
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)
Add SAI1 PDM pin definitions for imx8mm SoC.
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
(cherry picked from commit 1ada53b6b48dc6e7360b75403bd0796b4bf52cf9)
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)
Set default colorspace value in v4l2_ioctl_try_fmt()
Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
(cherry picked from commit 52221438736a3ede393ba1682eadc292d3a73977)
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>
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>
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)
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)
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)
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)
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)
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
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)
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>
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>
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>
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)
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)
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)
Move hdmi in property to separate dts file.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 1e9df88385ca6045ec61737f88225c29ac36d68e)
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>
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)
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)
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)