Commit Graph

865412 Commits

Author SHA1 Message Date
Cai YiWei
acfebbb68f media: rockchip: isp: selfpath bytesperline 16 align
Change-Id: I39b36e7e3a8c483f5c77ddbea0f6bebb4e1a0b0a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-06 19:17:40 +08:00
Andy Yan
39f12dae1f drm/rockchip: vop2: Remove prepare_fb/cleanup_fb callback
According to commit 9bde4e671f ("drm/rockchip: vop: fix iommu crash
with async atomic")
These two callback were added to avoid iommu crash on async
commit caused by drm_atomic_clean_old_fb after drm_atomic_async_commit.

drm_atomic_clean_old_fb was removed after commit
e00fb8564e ("drm: Stop updating plane->crtc/fb/old_fb on atomic drivers")

So we can remove them to make life  simpler.

Change-Id: Iea1f2dbadd9bcfad5b8447831c0d31068d4fa97b
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-09-06 09:51:42 +08:00
Andy Yan
bcd4aed392 drm/rockchip: vop2: Use macro for window phys_id
Change-Id: I91ff9d169f5713e38c994f56980dfcf0cba0fe40
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-09-03 19:23:29 +08:00
Andy Yan
55462060b2 drm/rockchip: vop2: No need to check active vp in layer_map_initial
We assign window between vp by plane_mask now, no
need to check which vp is activated from register.

Change-Id: I89d22f253dcd26898dc79304d51b8a8d9e802bb2
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-09-03 19:23:29 +08:00
Shawn Lin
9d60286b72 mmc: sdhci-of-dwcmshc: Remove HS200 and HS400 at low speed for rockchip
Rockchip platforms don't support HS200 or HS400 at low speed, so
we must limit it.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I40eb9f117fd83789b6ab7a16d44049e16786698b
2021-09-03 17:45:07 +08:00
Zefa Chen
80fe73c741 media: rockchip: cif: add module exit to fix the failure of rmmod video_rkcif
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I97fc14eb411339796dfc58b28460ed00cd898814
2021-09-03 11:02:21 +08:00
Shawn Lin
c18fd2aea2 arm64: dts: rockchip: rk3568: Set SDHCI core clk to 200MHz
As we mask our SDHCI controller as SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN,
host->max_clk is derived from core clock in the first place. Then
f_max works together with it.

If we adjust loader's core clk setting, such as 50MHz, we will get
50MHz for host->max_clk, because .get_max_clock() reads core clk
when probing driver. That will lead f_max be set to 50MHz as well,
no matter if max-frequency is set higher than 50MHz.

We can simple solve this problem by assigning core clk as 200MHz
in the first place and then let max-frequency property takes over
it.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Idb2fdb8f68881d0286d977dc3718b74c30d3bc67
2021-09-03 10:05:27 +08:00
Jon Lin
2ecea59132 drivers: rkflash: Support new SPI Nand devices
GD5F1GQ4UExxH, W25N512GVEIG, SGM7000I-S24W1GH

Change-Id: Ib9e5422c3f57ef80e60fc6847d0ba9e1dd55dc3b
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-02 16:36:04 +08:00
Jon Lin
abce936f23 drivers: rkflash: Add mutex for deinit ops.
Change-Id: I477c161cb22f58263963a4d8e0d08eaeda676f69
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-02 15:18:29 +08:00
Dingxian Wen
32210c5c1e arm64: configs: rockchip_defconfig: enable LT6911UXC
Enable lt6911uxc HDMI to MIPI CSI-2 bridge driver for hdmi-in
application. Which found on rk3568-evb2-lp4x-v10.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I4ce22f3040dbe55c3236ac3d0ac62f7821011c8d
2021-09-02 15:16:17 +08:00
Dingxian Wen
5b721d45c8 arm64: dts: rockchip: rk3568-evb2: add lt6911uxc configuration
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I27e7cd02314fb288a4f553105de1027975b8e9d6
2021-09-02 15:15:13 +08:00
Dingxian Wen
f7e55b0143 media: i2c: lt6911uxc: add lt6911uxc HDMI to MIPI CSI-2 bridge driver
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I5dc11d3c8a2559303d96b3206fafadb46f95ed0f
2021-09-02 15:15:13 +08:00
Jianqun Xu
5efc9197d8 pinctrl: rockchip: fix pinconf_get for PIN_CONFIG_OUTPUT
Do not print error information when pin is not mux to gpio,
since it will break debug print.

Also check the gpio direction before check gpio value.

Change-Id: Id3afb0af12cd1e33677f5a929a879f7d00f63318
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-09-01 15:13:04 +08:00
Algea Cao
031871bacc drm/edid: add config option of edid function
rv1126 does not support display interface which need to
read and parse edid, such as hdmi and dp, so add config
option to reduce memory usage.

./ksize.sh  drivers/gpu/drm/

before ksize: 482336 Bytes
after  kszie: 396762 Bytes
save   about: 85574  Bytes

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I0c3813711cfdb4a38ec66136569ca826c94c6c58
2021-09-01 15:08:03 +08:00
Damon Ding
4d13755e45 drm/rockchip: add config option of DRM DP support
Add config option to modularize the DP interface support of DRM.

make ARCH=arm rv1126_defconfig
make ARCH=arm rv1126-evb-ddr3-v13.img -j32

./ksize.sh  drivers/gpu/drm/

before ksize: 517946 Bytes
after  kszie: 482336 Bytes
save   about: 35610  Bytes

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ie2157fad13a71a3099b79085e0de40efe4b4ab34
2021-09-01 15:01:43 +08:00
Damon Ding
6e759276d2 drm/rockchip: add config option of PSR function
rv1126 does not support PSR function, so add config option to
reduce memory usage.

make ARCH=arm rv1126_defconfig

./ksize.sh  drivers/gpu/drm/

before ksize: 581268 Bytes
after  kszie: 579486 Bytes
save   about: 1782   Bytes

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I578bb6f4768ae807b6fc20987d421afefd421fcc
2021-09-01 14:35:57 +08:00
Jon Lin
97902663a9 arm64: dts: rockchip: rk3568: Add sfc a spi4 alias
Kernel's SFC is used for a private flash drivers not like
the standard one, but u-boot SFC is register as standard
spi, and the alias UCLASS_SPI id is required for part of
spi initialization progress. So kernel's alias is also
required when u-boot enable using kernel dtb case.

Change-Id: Ic763eefb35ef5a93f6121055a5e04a2d72636430
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-01 11:32:22 +08:00
Andy Yan
1d9acc4e67 drm/rockchip: vop2: Use clipped src/dst coordinates
Some linux app(cusor) may set negative coordinates(crtc_x/y)

And some linux app(mpv) may set coordinates outside the screen.

These are both unsupported on rockchip vop.

so we use clipped coordinates here.

Change-Id: I63288cf9120cea75e784d49bc88b591f243e7d8d
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-09-01 10:49:54 +08:00
Wyon Bi
e0354482bd arm64: dts: rockchip: Add rk3566-evb2-lp4x-v10-edp.dts
Change-Id: Id56ca263872b42643a66dd063d541968436c4ca6
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-09-01 10:34:37 +08:00
Zefa Chen
c30b539aa2 media: rockchip: cif: reinit buffer status when cif reset in mipi interlace mode
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I5f691cd65badda8cedf120a155de7096de8714b5
2021-08-31 18:31:59 +08:00
Jianqun Xu
9df5bfa9fc pinctrl: rockchip: treat pcfg_xxx nodes as invalid function nodes
Look at the pinmux-functions debug node, there are several pcfg_xxx
nodes which actually are not pinctrl functions:

Under RV1126 EVB:
  function: pcfg-pull-up, groups = [ ]
  function: pcfg-pull-down, groups = [ ]
  function: pcfg-pull-none, groups = [ ]
  function: pcfg-pull-none-drv-level-1, groups = [ ]
  function: pcfg-pull-none-drv-level-2, groups = [ ]
  function: pcfg-pull-none-drv-level-3, groups = [ ]
  function: pcfg-pull-up-drv-level-1, groups = [ ]
  function: pcfg-pull-up-drv-level-2, groups = [ ]
  function: pcfg-pull-none-smt, groups = [ ]
  function: pcfg-output-low-pull-down, groups = [ ]
  function: acodec, groups = [ acodec-pins ]

This patch fixs the function node valid check to ignore them.

Change-Id: I432783de72e137e2fb406ce400a69cd56cb1a8de
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-08-31 14:28:56 +08:00
Jianqun Xu
295855202f pinctrl: rockchip: add function node valid check
There are many kinds of nodes under pinctrl node, such as function
nodes, gpio nodes, and pcfg nodes.

The driver do a match check for the nodes, to ignore the gpio nodes.
This patch try to put the valid check as a function, it's better to
avoid error fix.

Change-Id: Ib9295fa77240f741a0a124d3235f5e2a6e51b499
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-08-31 14:28:56 +08:00
Sugar Zhang
cb8e6654bb ASoC: rk817: Move dbg message into CONFIG_SND_DEBUG
$ ./scripts/bloat-o-meter rk817_codec.o.old rk817_codec.o
add/remove: 0/3 grow/shrink: 0/15 up/down: 0/-1680 (-1680)
Function                                     old     new   delta
dbg_enable                                     4       -      -4
__param_dbg_level                             20       -     -20
__param_str_dbg_level                         24       -     -24
rk817_probe                                  328     284     -44
rk817_remove                                 156     108     -48
rk817_set_dai_sysclk                          76      24     -52
rk817_platform_shutdown                       84      32     -52
rk817_playback_path_get                       84      28     -56
rk817_capture_path_put                       504     444     -60
rk817_hw_params                              464     396     -68
rk817_digital_mute                           384     308     -76
rk817_playback_path_put                      880     788     -92
rk817_codec_ctl_gpio                         188      96     -92
rk817_set_dai_fmt                            196      92    -104
rk817_codec_power_up                         416     292    -124
rk817_codec_power_down                       460     336    -124
__func__                                     310      94    -216
rk817_platform_probe                        1304     880    -424
Total: Before=8618, After=6938, chg -19.49%

Change-Id: I98471c52ea342672e10deb02c4fb38d9fb82f906
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-31 14:28:12 +08:00
Cai YiWei
2a4f54dcf3 media: rockchip: ispp: fix monitor switch if don't power off
Change-Id: Iefe1f7df7417c84a09437d663cca3c342bf3888a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-08-31 14:26:56 +08:00
Cai YiWei
81abdf229b media: rockchip: isp: check the output status of statistics v2x
Change-Id: If6076b93b37112ab28c58b6ffabe5770fc847cb8
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-08-31 14:26:56 +08:00
Damon Ding
834f43e2ba ARM: rv1126_defconfig: Enable CONFIG_DRM_PANEL_SIMPLE_OF_ONLY
Select DRM_PANEL_SIMPLE_OF_ONLY as default on RV1126 SoC, so as to
reduce memory usage.

make ARCH=arm rv1126_defconfig
make ARCH=arm rv1126-evb-ddr3-v13.img -j32

./ksize.sh  drivers/gpu/drm/

before ksize: 556038 Bytes
after  kszie: 517946 Bytes
save   about: 38092  Bytes

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I9584bd8de16ed0ef1c4a862e71a1eb725c0d2833
2021-08-31 11:35:07 +08:00
Tao Huang
04a1a8eff9 ARM: rv1126-emmc-drivers-modules.config: Fix CONFIG_ROCKCHIP_MPP_XXX
mpp build only one ko and all option config is bool.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Id940f29a351d81c301a1ca100b8ebee828b8cc81
2021-08-31 11:21:09 +08:00
Ding Wei
cd5de37f97 video: rockchip: mpp: Use CONFIG_CPU_XX to match build target
Using CONFIG_CPU_XX only compiles the code of matching CPU,
then it can reduce the object file.

Change-Id: Ic19345464c802939d08786ae29b34111c3c5a855
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-08-31 11:09:17 +08:00
Ding Wei
cae7fb13d6 video: rockchip: mpp: px30: Use hack_xx.c instead workround funcs
move the workaround functions for px30 to the mpp_hack_px30.c.

Change-Id: I9f9880c28fe1d797b0551d116a66294223a5e251
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-08-31 11:08:08 +08:00
Ding Wei
e32bfc1ed7 video: rockchip: mpp: Use ROCKCHIP_MPP_PROC_FS instead of PROC_FS
For kernel-tiny, remove debug relative code, and reduce the size of module.

Change-Id: Ic78a0839a75c9cebb56fa32e87235bd97be0370a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-08-31 10:48:39 +08:00
Jon Lin
201fbf5da3 drivers: rkflash: support new spiflash
Add F35SQA001G, W25Q128JWSQ, XT25F64F, P25Q32SL, GM25Q128A
Change XT25F256BSFIGU, MX25U51245G

Change-Id: Ib9f60efbd3aad72044b7f3b0ee5a1a93333f0005
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-08-31 09:39:09 +08:00
Zhihuan He
30fc471b5b arm64: dts: rockchip: rk3568: add dmcdbg node
Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
Change-Id: Iab620f4d82f2b55c0a141138d59c80e102e2b829
2021-08-30 19:21:45 +08:00
Zhihuan He
6f922f7041 PM / devfreq: rockchip_dmcdbg: add rk3568 support
Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
Change-Id: I9bf3a5dc18c8f0659bbd9053f6937bfe0f04ef51
2021-08-30 19:21:39 +08:00
Sugar Zhang
db30f559af ASoC: rockchip: pdm: Build depends on CPU config
$ ./scripts/bloat-o-meter rockchip_pdm.o.old rockchip_pdm.o
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-980 (-980)
Function                                     old     new   delta
rockchip_pdm_match                          1372     392    -980
Total: Before=7288, After=6308, chg -13.45%

Change-Id: I9450d3a7e3f85482473e2086a0fcb8313d6db30d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 19:11:05 +08:00
Sugar Zhang
a6f29f4e17 ARM: dts: rockchip: Drop wrong compatible string for pdm
Change-Id: I93cc4b8e512a02c89b69a18f2d4445ed58a85bff
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 19:10:44 +08:00
Sugar Zhang
2ca5c74504 arm64: dts: rockchip: Drop wrong compatible string for pdm
Change-Id: I469ef093926b89df5f50c72a9283a2391f729f4f
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 19:10:44 +08:00
Sugar Zhang
08bdd7eeb8 ASoC: rockchip: pdm: Rename compatible string for rk3328
- correct the wrong type 'RK3229', should be type 'RK3328'
- rename compatible 'rockchip,pdm' to 'rockchip,rk3328-pdm'
  for better match.

Change-Id: I0156bd114a3a89ddcda077587366351521dfb701
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 19:10:44 +08:00
Damon Ding
17a85268b7 drm/rockchip: vop: separate the of_device_id array by different SoC
Separate the process of device matching by the different SoC macro
definitions, which can reduce memory usage.

make ARCH=arm rv1126_defconfig

./ksize.sh  drivers/gpu/drm/

before ksize: 579486 Bytes
after  kszie: 556038 Bytes
save   about: 23448  Bytes

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I6b3689b11598120aad16956235d1ee2bbdbe80e0
2021-08-30 18:54:36 +08:00
Damon Ding
1e9ad2a9ba drm/rockchip: add config options of VOP and VOP2 driver
rv1126 does not support VOP2, so add config options to
reduce memory usage.

make ARCH=arm rv1126_defconfig

./ksize.sh  drivers/gpu/drm/

before ksize: 675434 Bytes
after  kszie: 581268 Bytes
save   about: 94166  Bytes

In addition, improve the format of space and tab, and remove
extra "depends on DRM_ROCKCHIP".

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I2b29a543a7e52e4e4b72112980e2c6dc6c6cce92
2021-08-30 18:11:24 +08:00
Tao Huang
05163ed048 ASoC: rockchip: i2s-tdm: Add HAVE_SYNC_RESET config
$ ./scripts/bloat-o-meter rockchip_i2s_tdm.o.old rockchip_i2s_tdm.o
add/remove: 0/2 grow/shrink: 0/3 up/down: 0/-948 (-948)
Function                                     old     new   delta
rockchip_i2s_tdm_hw_params                  2768    2760      -8
rockchip_i2s_tdm_trigger                    1232    1216     -16
of_i2s_resetid_get                           124       -    -124
rockchip_i2s_tdm_probe                      1676    1496    -180
rockchip_snd_xfer_sync_reset                 620       -    -620
Total: Before=12012, After=11064, chg -7.89%

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I3cffc57ca5fe4271d4a2c9584383777871123f14
2021-08-30 17:50:39 +08:00
Sugar Zhang
c63e6495a8 ASoC: rockchip: i2s-tdm: Build depends on CPU config
$ ./scripts/bloat-o-meter rockchip_i2s_tdm.o.old rockchip_i2s_tdm.o
add/remove: 0/8 grow/shrink: 0/1 up/down: 0/-992 (-992)
Function                                     old     new   delta
rk1808_txrx_config                            16       -     -16
px30_txrx_config                              16       -     -16
rk3568_i2s_soc_data                           24       -     -24
rk3308_i2s_soc_data                           24       -     -24
rk1808_i2s_soc_data                           24       -     -24
px30_i2s_soc_data                             24       -     -24
rk3308_txrx_config                            32       -     -32
rk3568_txrx_config                            48       -     -48
rockchip_i2s_tdm_match                      1176     392    -784
Total: Before=13004, After=12012, chg -7.63%

Change-Id: Iaedb9e9b11b38255a7a5b57a9a77c1523fc9d515
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 17:50:39 +08:00
Sugar Zhang
67edaaefd3 ASoC: rockchip: i2s: Build depends on CPU config
$ ./scripts/bloat-o-meter rockchip_i2s.o.old rockchip_i2s.o
add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-1968 (-1968)
Function                                     old     new   delta
rk3399_i2s_pins                                8       -      -8
rockchip_i2s_match                          2548     588   -1960
Total: Before=8656, After=6688, chg -22.74%

Change-Id: Iabb0a00ab27ce5623164d40de6b379272a81e4e5
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 17:10:12 +08:00
Sugar Zhang
57bb0f725d ASoC: rockchip: i2s-tdm: Delay for reset successfully
This patch adds delay for rockchip_snd_reset().

Fixes: 03eca20525 ("ASoC: rockchip: i2s-tdm: Delay for reset successfully")

Change-Id: I59c507dd8d4cc8fe756230e1eaab2ab35b33331a
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-08-30 16:16:02 +08:00
Jianqun Xu
f5d0e3dded ARM: dts: rv1126-dictionary-pen-v11: disable usb host0
Change-Id: Ib7208c5b075cd6fa699fdce344771c663c02f3d6
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-08-30 11:37:39 +08:00
Yu Qiaowei
2ed15814a0 video/rockchip: rga2: Fix the misconfiguration of srcover's globalalpha
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I547ce7a8938a37ac96223f7435b94ec839b3ceba
2021-08-27 14:12:52 +08:00
Herman Chen
0691bb0b69 video: rockchip: mpp: rkvdec2: Add task timing
NOTE: On link mode the timing is start from driver push task to hardware
linked queue. So the timing is not actual the hardware timing on multi
decoder case.

echo 0x100 > /sys/module/rk_vcodec/parameters/mpp_dev_debug

This command for hardware performance test is still valid. But the
hardware timing output is accurate only on single decoder case.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4db4a35955cb1e42e3f250583e83d88c2fde5872
2021-08-27 14:10:55 +08:00
Huang zhibao
b98a82f772 arm64: configs: add rk3568_nvr_lite.config for nvr lite sdk
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Change-Id: If402327e113f1d03aad12801b66af61af3b7d88d
2021-08-26 10:20:23 +08:00
Andy Yan
dc04341b10 drm/rockchip: Use normalized zpos on vop2
Some linux app may be set zpos without any check.
For example mpv: change the zpos of overlay
plane from default value 2 to 1, but the primary
plane zpos is also 1.

Change-Id: I6015c171c6512dc7f10bed7c56933941c9d64a2e
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-08-26 09:52:11 +08:00
Zefa Chen
e631f93c53 media: rockchip: cif supports dummy buffer configurable
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Icc62c1324affd65934872dfb7c1d29f15e28bb3b
2021-08-25 14:48:27 +08:00
Zefa Chen
662b81ed79 media: i2c: imx335 increase hdr exposure restrictions
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ia097778ddd050a566801cede46f575f6954b01d7
2021-08-25 14:45:32 +08:00