1
0
Fork 0
Commit Graph

720323 Commits (12b2568f689614196776c622d9304fa679c33e66)

Author SHA1 Message Date
Andy Duan 12b2568f68 MLK-19048: pinctrl: add defer probe check for pinctrl setting assertion
Pinctrl support of a device tree property "pinctrl-assert-gpios"
under client device node to select function at a board level pin
multiplexer. The pin route is controlled by a GPIO or i2c/spi expander
GPIO.

For i2c/spi expander GPIO, it may be loaded after client device that
set "pinctrl-assert-gpios" property in devicetree. Then the client device's
pin function doesn't work.

So it should add defer probe check for the GPIO pin.

Acked-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2018-10-29 11:10:38 +08:00
Haibo Chen 223e4c1435 MLK-18721-2: arm64: imx8qm/imx8mm: add touch x/y diagonal rotation.
Enable synaptics touch x/y coordinate diagonal rotation for both
imx8qm and imx8mm evk board.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit c6ec617dbc779a7a2d5a68b717995823cd6a3ed8)
2018-10-29 11:10:38 +08:00
Haibo Chen d4570f3112 MLK-18816-4: arm64: dts: imx8mq-evk: enable touch
Enable synaptics touch on imx8mq-evk board when connect the
MIPI DSI panel.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 17e25d8fd314de9628a599466508864678e76d6a)
2018-10-29 11:10:38 +08:00
Haibo Chen 38882c2482 MLK-17829-2 ARM64: imx8mscale: add s3508 touch support in device tree
Default disable this touch.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 2676b8e147cdf58e70fdb2a19253888879730b0f)
2018-10-29 11:10:38 +08:00
Haibo Chen 8929937b36 MLK-18969 ARM64: dts: fsl-imx8mm-evk: add touch support
MIPI DSI panel also has a touch, this patch add the touch
support for fsl-imx8mm-evk board.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 8246c3148e07eeda05b5b375819c06bde0a80824)
2018-10-29 11:10:38 +08:00
Fancy Fang c252aaad14 MLK-19083 drm/imx: lcdif: remove untrue condition for pixel format set
After supporting DISPMIX power domain, the LCDIF runtime
resume callback always write '0' to 'LCDIF_CTRL' register
which will clear previous pixel format related setting.
So the previous condition by comparing format change for
setting pixel format during plane atomic update is not
true anymore.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 5f84c69799456f28fd8182fd156e9067921e9a4e)
2018-10-29 11:10:38 +08:00
Fancy Fang 5b9ba520cf MLK-19082 drm/bridge: sec-dsim: wait 'ph_tx_done' for long packet send
According to a lot of tests, for long packet send, the packet
payload transfer done interrupt will be triggered no later than
the packet header transfer done interrupt. So, to make sure the
long packet has been send to the peripheral completely, wait
'ph_tx_done' interrupt instead of 'pl_tx_done' for long packet
transfer. Otherwise it may cause subsequent packet transfer
failed sometimes.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 69a5f44025c6ecb2fee16c1650a81198b501f284)
2018-10-29 11:10:38 +08:00
Fancy Fang f9506f8686 MLK-19017-7 drm/imx: sec-dsim_imx: add rpm status check for suspend/resume
Add runtime PM status check during runtime suspend and resume
to avoid unnecessary jobs if it is already in that state which
can avoid possible kernel warnings of clock disable/unprepare
mismatch during system suspend if it is alreay in runtime
suspended state.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 6f95c6fdc0de2fd4fe1d835c164f5e3cfb23e17d)
2018-10-29 11:10:38 +08:00
Fancy Fang 9b8b88065d MLK-19017-6 drm/imx: add system pm support for SEC DSIM
Implement the suspend()/resume() callbacks to support system
power management functions for SEC DSIM.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit db3e9faa0278af6de5aaac008478123d0ebecb73)
2018-10-29 11:10:38 +08:00
Fancy Fang 0702212ad0 MLK-19017-5 drm/imx: add DISPMIX power domain support for SEC DSIM
After the DISPMIX power domain enabled, all the related registers
will drop their values once runtime pm suspend called. So in the
pm runtime resume process, the SEC DSIM de-reset and some init jobs
need to be done, and these jobs are no longer necessary to be done
during probe bind anymore.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 7a7f17f5fb66135629ef20a2b4780dfef2f0f0ce)
2018-10-29 11:10:38 +08:00
Fancy Fang d2b50a4ec5 MLK-19017-4 gpu: imx: lcdif: add rpm status check for suspend/resume
Add runtime PM status check during runtime suspend and resume
to avoid unnecessary jobs if it is already in that state which
can avoid below kernel warnings during system suspend if it is
alreay in runtime suspended state:

[   21.772969] ------------[ cut here ]------------
[   21.772982] WARNING: CPU: 3 PID: 3328 at drivers/clk/clk.c:594 clk_core_disable+0x80/0x88
[   21.772986] Modules linked in:
[   21.772988]
[   21.772993] CPU: 3 PID: 3328 Comm: rtcwakeup.out Not tainted 4.9.88-05410-g9fa23e9ada2a #135
[   21.772995] Hardware name: FSL i.MX8MM EVK board (DT)
[   21.772997] task: ffff800074358c80 task.stack: ffff80007b40c000
[   21.773000] PC is at clk_core_disable+0x80/0x88
[   21.773003] LR is at clk_core_disable_lock+0x20/0x34
[   21.773005] pc : [<ffff0000084e1430>] lr : [<ffff0000084e1a5c>] pstate: 800001c5
[   21.773007] sp : ffff80007b40fa90
[   21.773010] x29: ffff80007b40fa90 x28: 0000000000000000
[   21.773014] x27: 0000000000000002 x26: ffff000009395000
[   21.773017] x25: ffff00000863473c x24: ffff0000092de3d0
[   21.773021] x23: ffff80007a53f870 x22: 0000000000000000
[   21.773024] x21: ffff00000862877c x20: ffff80007a049400
[   21.773027] x19: 0000000000000140 x18: 0000000000000002
[   21.773031] x17: 0000ffff93824858 x16: ffff00000822a200
[   21.773034] x15: 0000463fe3000000 x14: 0000000000000000
[   21.773037] x13: 0000000000000000 x12: 0000000000000000
[   21.773040] x11: 0000000000000000 x10: 0000000000000000
[   21.773044] x9 : 0000000040000000 x8 : 0000000000210d00
[   21.773047] x7 : 0000000000000000 x6 : 0010ed7f00000000
[   21.773051] x5 : ffff80007a53f9a8 x4 : 0000000000000000
[   21.773054] x3 : 0000000010c110c0 x2 : 0000000000000000
[   21.773057] x1 : 0000000000000000 x0 : ffff80007a049400
[   21.773058]
[   21.773060] ---[ end trace 4a8e187491f145ed ]---
[   21.773062] Call trace:
[   21.773065] Exception stack(0xffff80007b40f8b0 to 0xffff80007b40f9e0)
[   21.773068] f8a0:                                   0000000000000140 0000ffffffffffff
[   21.773071] f8c0: ffff80007b40fa90 ffff0000084e1430 00000000800001c5 000000000000003d
[   21.773074] f8e0: ffff80007b475c00 ffff80007b40c000 ffff80007b40c000 000000018020001e
[   21.773077] f900: ffff000008c53cec ffff80007b40c000 ffff80007b40f950 ffff0000085d3b9c
[   21.773081] f920: ffff80007b40f9b0 ffff0000085f3728 ffff80007b475c00 ffff80007b475c00
[   21.773084] f940: ffff80007b40f990 ffff0000085f2430 ffff80007b475c00 ffff80007abf8800
[   21.773087] f960: ffff80007a049400 0000000000000000 0000000000000000 0000000010c110c0
[   21.773090] f980: 0000000000000000 ffff80007a53f9a8 0010ed7f00000000 0000000000000000
[   21.773092] f9a0: 0000000000210d00 0000000040000000 0000000000000000 0000000000000000
[   21.773095] f9c0: 0000000000000000 0000000000000000 0000000000000000 0000463fe3000000
[   21.773098] [<ffff0000084e1430>] clk_core_disable+0x80/0x88
[   21.773101] [<ffff0000084e1a5c>] clk_core_disable_lock+0x20/0x34
[   21.773104] [<ffff0000084e1a8c>] clk_disable+0x1c/0x24
[   21.773110] [<ffff0000085c73a0>] lcdif_disable_clocks+0x1c/0x60
[   21.773113] [<ffff0000085c7718>] imx_lcdif_suspend+0x10/0x24
[   21.773118] [<ffff0000086287a0>] platform_pm_suspend+0x24/0x50
[   21.773123] [<ffff000008633b58>] dpm_run_callback.isra.12+0x30/0x8c
[   21.773126] [<ffff0000086345d4>] __device_suspend+0x110/0x278
[   21.773129] [<ffff000008635800>] dpm_suspend+0x114/0x240
[   21.773132] [<ffff000008635bfc>] dpm_suspend_start+0x6c/0x78
[   21.773137] [<ffff000008104e28>] suspend_devices_and_enter+0xbc/0x534
[   21.773139] [<ffff0000081054f8>] pm_suspend+0x258/0x2f4
[   21.773142] [<ffff000008104030>] state_store+0x80/0xf4
[   21.773147] [<ffff0000083e7ce8>] kobj_attr_store+0x14/0x24
[   21.773153] [<ffff00000825d974>] sysfs_kf_write+0x40/0x48
[   21.773156] [<ffff00000825cd48>] kernfs_fop_write+0xb8/0x1cc
[   21.773160] [<ffff0000081e2d00>] __vfs_write+0x28/0x110
[   21.773163] [<ffff0000081e3ae4>] vfs_write+0xa8/0x1a8
[   21.773166] [<ffff0000081e4ea0>] SyS_write+0x44/0xa0
[   21.773170] [<ffff0000080838d8>] __sys_trace_return+0x0/0x4
[   21.773184] ------------[ cut here ]------------
[   21.773188] WARNING: CPU: 3 PID: 3328 at drivers/clk/clk.c:476 clk_core_unprepare+0x88/0x98
[   21.773190] Modules linked in:
[   21.773192]
[   21.773195] CPU: 3 PID: 3328 Comm: rtcwakeup.out Tainted: G        W       4.9.88-05410-g9fa23e9ada2a #135
[   21.773196] Hardware name: FSL i.MX8MM EVK board (DT)
[   21.773198] task: ffff800074358c80 task.stack: ffff80007b40c000
[   21.773201] PC is at clk_core_unprepare+0x88/0x98
[   21.773204] LR is at clk_unprepare+0x28/0x34
[   21.773206] pc : [<ffff0000084e1320>] lr : [<ffff0000084e3130>] pstate: 60000145
[   21.773208] sp : ffff80007b40faa0
[   21.773211] x29: ffff80007b40faa0 x28: 0000000000000000
[   21.773215] x27: 0000000000000002 x26: ffff000009395000
[   21.773218] x25: ffff00000863473c x24: ffff0000092de3d0
[   21.773221] x23: ffff80007a53f870 x22: 0000000000000000
[   21.773225] x21: ffff00000862877c x20: ffff80007aafbf80
[   21.773228] x19: ffff80007aafb298 x18: 0000000000000002
[   21.773232] x17: 0000ffff93824858 x16: ffff00000822a200
[   21.773235] x15: 0000463fe3000000 x14: 0000000000000000
[   21.773238] x13: 0000000000000000 x12: 0000000000000000
[   21.773241] x11: 0000000000000000 x10: 0000000000000000
[   21.773245] x9 : 0000000040000000 x8 : 0000000000210d00
[   21.773248] x7 : 0000000000000000 x6 : 0010ed7f00000000
[   21.773251] x5 : ffff80007a53f9a8 x4 : ffff00000944b000
[   21.773255] x3 : 0000000000000000 x2 : ffff800074358c80
[   21.773258] x1 : 0000000000000000 x0 : ffff80007a049400
[   21.773259]
[   21.773260] ---[ end trace 4a8e187491f145ee ]---
[   21.773262] Call trace:
[   21.773264] Exception stack(0xffff80007b40f8c0 to 0xffff80007b40f9f0)
[   21.773267] f8c0: ffff80007aafb298 0000ffffffffffff ffff80007b40faa0 ffff0000084e1320
[   21.773270] f8e0: 0000000060000145 000000000000003d ffff80007b40c000 000000018020001e
[   21.773273] f900: ffff000008c53cec ffff80007b40c000 ffff80007b40f950 ffff0000085d3b9c
[   21.773276] f920: ffff80007b40f9b0 ffff0000085f3728 ffff80007b475c00 ffff80007b475c00
[   21.773279] f940: ffff80007b40f990 ffff0000085f2430 ffff80007b475c00 ffff80007abf8800
[   21.773282] f960: ffff80007a049400 0000000000000000 ffff80007a049400 0000000000000000
[   21.773285] f980: ffff800074358c80 0000000000000000 ffff00000944b000 ffff80007a53f9a8
[   21.773288] f9a0: 0010ed7f00000000 0000000000000000 0000000000210d00 0000000040000000
[   21.773291] f9c0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   21.773293] f9e0: 0000000000000000 0000463fe3000000
[   21.773296] [<ffff0000084e1320>] clk_core_unprepare+0x88/0x98
[   21.773299] [<ffff0000084e3130>] clk_unprepare+0x28/0x34
[   21.773303] [<ffff0000085c73a8>] lcdif_disable_clocks+0x24/0x60
[   21.773306] [<ffff0000085c7718>] imx_lcdif_suspend+0x10/0x24
[   21.773309] [<ffff0000086287a0>] platform_pm_suspend+0x24/0x50
[   21.773312] [<ffff000008633b58>] dpm_run_callback.isra.12+0x30/0x8c
[   21.773315] [<ffff0000086345d4>] __device_suspend+0x110/0x278
[   21.773318] [<ffff000008635800>] dpm_suspend+0x114/0x240
[   21.773321] [<ffff000008635bfc>] dpm_suspend_start+0x6c/0x78
[   21.773324] [<ffff000008104e28>] suspend_devices_and_enter+0xbc/0x534
[   21.773327] [<ffff0000081054f8>] pm_suspend+0x258/0x2f4
[   21.773329] [<ffff000008104030>] state_store+0x80/0xf4
[   21.773332] [<ffff0000083e7ce8>] kobj_attr_store+0x14/0x24
[   21.773336] [<ffff00000825d974>] sysfs_kf_write+0x40/0x48
[   21.773339] [<ffff00000825cd48>] kernfs_fop_write+0xb8/0x1cc
[   21.773342] [<ffff0000081e2d00>] __vfs_write+0x28/0x110
[   21.773345] [<ffff0000081e3ae4>] vfs_write+0xa8/0x1a8
[   21.773347] [<ffff0000081e4ea0>] SyS_write+0x44/0xa0
[   21.773350] [<ffff0000080838d8>] __sys_trace_return+0x0/0x4

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit a6bac9bdebbdecf56575f6e361ad8f54e5263b95)
2018-10-29 11:10:38 +08:00
Fancy Fang 77d7047b9f MLK-19017-3 gpu: imx: add system pm support for LCDIF
Implement the suspend()/resume() callbacks to support system
power management functions for LCDIF.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 7e00487012753cb370eab4ff5c05f76f7361297f)
2018-10-29 11:10:38 +08:00
Fancy Fang 75ec29a0e3 MLK-19017-2 gpu: imx: add DISPMIX power domain support for LCDIF
After the DISPMIX power domain enabled, all the related registers
will drop their values once runtime pm suspend called. So in the
pm runtime resume process, the LCDIF de-reset and some init jobs
need to be done, and these jobs are no longer necessary to be done
during probe stage anymore.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit f83aaaecaeb54d8b1231be2cb7175ce58682dae7)
2018-10-29 11:10:38 +08:00
Fancy Fang bf17270bee 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 6d9d31d48f 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)
2018-10-29 11:10:38 +08:00
Fancy Fang a3a00170a1 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)
2018-10-29 11:10:38 +08:00
Fancy Fang c1d4f5f8d4 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)
2018-10-29 11:10:38 +08:00
Fancy Fang dddb378046 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 40d5c8217c 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 4502789c4d 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 31731dc2da 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)
2018-10-29 11:10:38 +08:00
Fancy Fang cfa8b43899 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)
2018-10-29 11:10:38 +08:00
Fancy Fang f1301d3895 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)
2018-10-29 11:10:38 +08:00
Fancy Fang a7f7446d26 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 4c3aa0846c 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)
2018-10-29 11:10:38 +08:00
Fancy Fang beeeb71dd2 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 61d65e61d0 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 0a7a510229 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 8d4b709608 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)
2018-10-29 11:10:38 +08:00
Fancy Fang 84e89aa94c 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>
2018-10-29 11:10:38 +08:00
Teo Hall 2396934f34 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)
2018-10-29 11:10:38 +08:00
Anson Huang 4a5aba390c 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>
2018-10-29 11:10:38 +08:00
Xianzhong 886ebe52bb 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>
2018-10-29 11:10:38 +08:00
Shengjiu Wang 4776ecdc90 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>
2018-10-29 11:10:38 +08:00
Shengjiu Wang 71f8ad9ccc MLK-19067: ARM64: dts: fix dp audio is not probed
With the commit c5592424ba05 ("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>
2018-10-29 11:10:38 +08:00
Laurentiu Palcu a4dadbca37 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)
2018-10-29 11:10:38 +08:00
Adrian Alonso a8d58c35a8 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)
2018-10-29 11:10:38 +08:00
Bai Ping a7e6475bdd 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)
2018-10-29 11:10:38 +08:00
Bai Ping aacb8676ae 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)
2018-10-29 11:10:38 +08:00
Han Xu feb72ced1d 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 ae2e3e2d9baba78b297362b50bee0903a2210612)
2018-10-29 11:10:38 +08:00
Zhou Peng 428a1bd9cd 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)
2018-10-29 11:10:38 +08:00
Xianzhong bbcdb0d296 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>
2018-10-29 11:10:38 +08:00
Xianzhong ba964038e7 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>
2018-10-29 11:10:38 +08:00
Haibo Chen a2f2ac513e 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)
2018-10-29 11:10:38 +08:00
Haibo Chen 891c87f112 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)
2018-10-29 11:10:38 +08:00
Haibo Chen 5b6ea4de30 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)
2018-10-29 11:10:38 +08:00
Haibo Chen 6577429246 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)
2018-10-29 11:10:38 +08:00
Haibo Chen 42790de7ae 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)
2018-10-29 11:10:38 +08:00
Haibo Chen eaa2b2bef0 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
2018-10-29 11:10:38 +08:00
Viorel Suman 148dcf50c5 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)
2018-10-29 11:10:38 +08:00