Commit Graph

1079848 Commits

Author SHA1 Message Date
Guochun Huang
cd2099edfb drm/rockchip: dsi: find panel/bridge only once in dual dsi application
Change-Id: I96bb1b040a1df30d52d27815d54e4bf1509a2ea8
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2023-05-05 14:55:35 +08:00
Zhang Yubing
71c39f46c9 drm/rockchip: dw-dp: optimizing connected status detect process
In some case, the hpd is detected but the aux is not ready. It's
better to detect aux status before get link info from dpcd.

When the dptx send a aux request transaction, the dptx's max
aux timeout value is 3.2 ms, set the timeout value as 10ms
is enough.

Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: Id878c0c2c1c5690ac08bad477ea96ac12b674edb
2023-05-05 14:55:09 +08:00
Cai Wenzhong
93eff125bf media: i2c: max96712 driver update to version 1.01.00
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: I05df8c399686a5908c2077936e24027e46a1e18b
2023-05-04 18:37:10 +08:00
Sugar Zhang
e32b8efaef ASoC: rockchip: sai: Add support for PCM R/W Wait Time
ALSA core blocks userspace for 10 seconds for PCM R/W default.

Consider the situation BT-slave which acts as SLAVE mode, when
BT-master offline sometime, the CLK lost, user have to wait the
core timeout(10s), it's quite bad experience.

This patch allows userspace to override the WAIT_TIME to recover
more quickly from terminal audio stream. especially for stream
which have no mechanism to detect the LINK offline.

Usage:

/# amixer -c 0 contents | grep Wait
numid=43,iface=PCM,name='PCM Read Wait Time MS'
numid=44,iface=PCM,name='PCM Write Wait Time MS'

/# amixer -c 0 cset numid=43 500
numid=43,iface=PCM,name='PCM Read Wait Time MS'
  ; type=INTEGER,access=rw------,values=1,min=0,max=10000,step=1
  : values=500

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I73e98d54388a50672c5ed710db448cd13c0e1098
2023-05-04 17:59:26 +08:00
Sugar Zhang
3300cecb86 ASoC: rockchip: sai: Fix BCLK glitch
After FS idle, should wait at least 2 BCLK cycle to make sure
the CLK gate operation done, and then disable mclk.

Otherwise, the BCLK is still ungated. once the mclk is enabled,
there maybe a risk that a few BCLK cycle leak. especially for
low speed situation, such as 8k samplerate.

The best way is to use delay per samplerate, but, the max time
is quite a tiny value, so, let's make it simple to use the max
time. the max BCLK cycle time is: 31us @ 8K-8Bit (64K BCLK)

  udelay(40);

Should wait for one BCLK ready after DIV and then ungate clk to
achieve the clean clk. the max BCLK cycle time is:
15.6us @ 8K-8Bit (64K BCLK)

  udelay(20);

Increase the max timeout to 1ms to fix FS idle failed. because
it's not enough for 8k samplerate.

  rockchip-sai ff810000.sai: Failed to idle FS

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ia9da291dd8586236bb32cc0376a6de389f2f0a40
2023-05-04 17:59:25 +08:00
Sugar Zhang
2d2b53637e ASoC: rockchip: sai: Add support for Multi-DAIs
This patch add property 'rockchip,no-dmaengine' to
support register DAI without PCM, and it's usually
used for Multi-DAIs which combine DAIs into a union one.

Change-Id: I4e0da8fae2c692601e05118442218de0f7b4efee
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2023-05-04 17:58:15 +08:00
Sugar Zhang
54b0bc7bac ASoC: rockchip: sai: Add support for CLK-ALWAYS-ON quirks
This patch add support for keeping BCLK / FSYNC always on.
it's required by some devices, such as HDMI, PA, etc.

For example: on HDMI situation

There are some TVs require maintaining N/CTS packets or AUDS
packets to keep audio logic active, otherwise, the first tone
may be lost.

In order to optimize the user experience, we need to ensure
continuous transmission of N/CTS and AUDS packets from the
HDMI-TX, so that the SINK TV devices can maintain audio logic
activation, promptly process audio data, and achieve the
completeness of the first tone.

We init a 48k I2S-STANDARD clock timing as default.

Change-Id: I298b0ad2d53bdc41927f567c2af481f2a0bd5422
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2023-05-04 17:45:02 +08:00
Yandong Lin
49bf5942cf video: rockchip: mpp: fix dule-core synergy stuck issue
There is a issue of stuck during dual-core collabration,
and the hw timeout count will be blocked by default,
and only soft timeout can be triggered to exit.

However, the soft timeout is too loog, so config reg to not mask the hw
timeout.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: If801b8ba3b463094ea497fae829f772de7ade382
2023-05-04 16:28:13 +08:00
Yandong Lin
8cc161a8e1 video: rockchip: mpp: stop vepu2 before reset
In some platform, can not do pmu_idle_request before cru reset.
Resetting without pmu_idle_request while the hw is running
will result in a bus err.

So stop hw first before cru reset to prevent the issue.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I62ace147a0d72adb774fed989b34c7bf22af48ac
2023-05-04 16:27:29 +08:00
Sugar Zhang
c6977c7aac ASoC: rockchip: sai: Remove the space prefix for SBW
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I78ca99a10c2461f80e0c2ad7062bbfc0de3b6590
2023-05-04 16:18:29 +08:00
Sugar Zhang
c961c5bb56 ASoC: rockchip: sai: Add support for Clk-Auto Switch
This patch add support for Clk-Auto Switch.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I2d3b10fcf4cc55ba005d1c9da1049190882f7494
2023-05-04 16:17:55 +08:00
Sugar Zhang
0ee19616d5 ASoC: rockchip: sai: Fix Master / Slave Mode Switch
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ia9dcf0c52de6a4d4487bdc02601ad9b546e8e435
2023-05-04 16:17:39 +08:00
Sugar Zhang
c23e3b088d ASoC: dummy_codec: Add support for more capabilities
* Support 8-bits width
* Support Mono channel
* Support up to 384k samplerate

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I9f1c10bad2bfb9a3beee1dd91508158e79da2492
2023-05-04 16:16:50 +08:00
Zhichao Guo
ea5b730b65 ARM: dts: rockchip: rv1106g-evb1-v11: Add vdd_arm changes
Modify the micorvolt of vdd_arm to support the new hardware.

Signed-off-by: Zhichao Guo <zhichao.guo@rock-chips.com>
Change-Id: Id4e102c0a72898c27e0f2547e08c5d5095edfb76
2023-05-04 16:07:42 +08:00
Finley Xiao
52f971ee6e arm64: dts: rockchip: rk3562: Enable viLKsvPwrActive for soc bus
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I5758c18130c5900cf23caddd25c80450e172650b
2023-04-28 14:24:48 +08:00
Jon Lin
d692435db7 mtd: spi-nor: esmt: Support New devices
en25qx128a

Change-Id: Ie136512a1cd8d44508c114abb2b59397acd982ee
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-28 14:22:18 +08:00
Jon Lin
00cd81ba44 mtd: spi-nor: fmsh: Support New devices
FM25Q256I3

Change-Id: I4922debff3dbd3d6d480d1565e183e9c8e10bd4c
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-28 14:22:18 +08:00
Jon Lin
81826077f1 mtd: spi-nor: gigadevice: Support New devices
gd55lb01ge

Change-Id: I25d8d2a35877baaaf12bbb3c85d0a7b4d647e455
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-28 14:22:18 +08:00
Jon Lin
1e5200d59e mtd: spinand: gsto: Add code
GSS01GSAK1, GSS02GSAK1

Change-Id: I7ee9048d934694803d6d081cb7d0cdc56f114e79
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-28 14:22:18 +08:00
Jon Lin
a105534351 mtd: spinand: hyf: Support new devices
HYF2GQ4IAACAE, HYF1GQ4IDACAE

Change-Id: Ie01fcab9be9c5e1982cfc4ab2e63aac2e95c8557
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-28 14:22:18 +08:00
Shawn Lin
ff11acc4e1 mmc: convert thunder boot dependency
If no need to activate the decompress flow, using CONFIG_ROCKCHIP_THUNDER_BOOT_MMC
should be better.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ic9750ab71cc0d7c5beddd41f11ab71aa4df69bff
2023-04-28 08:56:04 +08:00
XiaoDong Huang
32a239027d ARM: dts: rockchip: rv1106: add node for system sleep
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I9b41dd418c5274d57fd992071cabf7393e9fbee2
2023-04-27 16:41:15 +08:00
XiaoDong Huang
8dfc627542 ARM: rockchip: support rv1106 suspend
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: Iee8830ceed2d264dfa388b8b8a437486d32d9bc5
2023-04-27 16:41:15 +08:00
XiaoDong Huang
b8ef7d0e0c ARM: rockchip: add some pm-related functions
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I736e032e604fa5fb6d1e1cfc9547747c443422dd
2023-04-27 16:41:15 +08:00
Chandler Chen
985afae872 video: rockchip: mpp: fix rk3528 avsd not probe issue
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I79c9b010e0b863c76a9cbfc59433480d1581bbfa
2023-04-27 15:02:33 +08:00
Wyon Bi
188bc14523 arm64: dts: rockchip: rk3588-vehicle-maxim-serdes: Add BOE AV156FHT L83 support
Change-Id: Ibac167c55aa0dacf61080501cc413957200670c9
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2023-04-27 14:48:38 +08:00
Wyon Bi
56965f2b15 arm64: rockchip_defconfig: Enable CONFIG_DRM_PANEL_MAXIM_MAX96752F
Change-Id: I5579987218d72331cc1cfa10addd01687af0d987
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2023-04-27 14:46:33 +08:00
Wyon Bi
2d68ed1a6b drm/panel: Add panel driver for Maxim MAX96752F based LCDs
Change-Id: I4ef26760dc87096745d7e4cadc49976a1cb71330
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2023-04-27 14:46:22 +08:00
LongChang Ma
3614b1205b media: i2c: techpoint: add support 4 channel 2 lane mode
Signed-off-by: LongChang Ma <chad.ma@rock-chips.com>
Change-Id: I2fc8cf3bd185ba40f229b125cf591663ed53ae5e
2023-04-27 14:32:35 +08:00
Guochun Huang
ce43008326 drm/rockchip: dsi2: fix NULL in component_ops .unbind helper
dsi->connector.funcs may be NULL, because drm connector may be
implemented in drm bridge which attached dsi.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: Id8668a70405ff41d770784cb9a5db3b16d92f3a3
2023-04-27 14:31:24 +08:00
Su Yuefu
9588e987c7 media: rockchip: vicap: fixes cma can not alloc when capture raw
Signed-off-by: Su Yuefu <yuefu.su@rock-chips.com>
Change-Id: Ib3752fd1a1f22345df91812bfe85225233a0217d
2023-04-27 14:25:29 +08:00
Zefa Chen
b7ae3521f9 media: rockchip: vicap: fixed vc err for multi channel
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I4f8fb4498539d7cbf0739d6fcc764ac6a3e32546
2023-04-27 14:25:29 +08:00
Dingxian Wen
82153fa496 media: rockchip: hdmirx: fix timing info for interlaced resolution
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I903659437334c4d47b9f876ef26e800a11d85dfc
2023-04-27 14:09:22 +08:00
Chen Shunqing
827ac7bbce media: rockchip: hdmirx: fix code error for cec register failed
Change-Id: I0174fef279b8efc0eb16f31b427faab144eabc67
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2023-04-27 14:08:54 +08:00
Algea Cao
84d542c4b8 drm/rockchip: dw_hdmi: Allow RK3588 4K-60Hz YUV444/YUV422/RGB output
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I03541eb421c9ce6fbdd94575688391ee3352390e
2023-04-27 11:22:16 +08:00
Algea Cao
8a26ca654a drm/bridge: synopsys: dw-hdmi-qp: Support rk3588 hdmi yuv422
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I74c0ac58a71802edc8374b492c6da9c5fe69e784
2023-04-27 11:21:39 +08:00
Algea Cao
23a37b3ec4 drm/rockchip: vop2: Support rk3588 hdmi yuv422 output mode
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I0fb333bf818de0ae2519600ad9a627a05e9fb0ee
2023-04-27 11:21:39 +08:00
Yandong Lin
92104b3709 video: rockchip: mpp: refactor rkvdec2_link worker flow
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I00a1a5551e1684d615130e5f3dd0714e284b6aa8
2023-04-27 11:10:14 +08:00
Zhen Chen
d3eea38dbb Mali: bifrost: make some functions not depend on CONFIG_DEBUG_FS
Including:
kbase_device_kinstr_prfcnt_init(),
kbase_device_kinstr_prfcnt_term(),
kbase_device_io_history_init(),
kbase_device_io_history_term.

To resolve compilation errors when CONFIG_DEBUG_FS is not enabled.

Change-Id: Ibeaf97bd9fdbbb45308160e11c4dbb386a0dea71
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2023-04-27 09:49:05 +08:00
Zhen Chen
68c4487930 MALI: bifrost: not to call kbase_ipa_init() if rockchip simple-power-model is used
To avoid warning logs:
[ 4.268726] mali fb000000.gpu: Couldn't find power_model DT node matching 'arm,mali-simple-power-model'
[ 4.268737] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.static-coefficient = 1*[0]
[ 4.268899] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.dynamic-coefficient = 1*[0]
[ 4.269057] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.ts = 4*[0]
[ 4.269222] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.thermal-zone = ''

Change-Id: I4f7248c0847b0f161ad2fb04b4ce5a7c6777a770
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2023-04-27 09:48:57 +08:00
Jason Zhu
c938fada4a arm64: dts: rockchip: rk3528-evb1: close es7243_sound
Since we must switch the DIP switch to make es7243 work in evb1, if
not do that, the i2c error accur:
[0321084917][   41.145030] rk3x-i2c ffa80000.i2c: timeout, ipd: 0x00, state: 2
[   41.145088] es7243_write error->[REG-0x0b,val-0x8c]
[0321084918][   42.158359] rk3x-i2c ffa80000.i2c: timeout, ipd: 0x00, state: 2
[   42.158409] es7243_read error1
[0321084919][   43.171692] rk3x-i2c ffa80000.i2c: timeout, ipd: 0x00, state: 2
[   43.171743] es7243_write error->[REG-0x0c,val-0x80]
[0321084920][   44.185026] rk3x-i2c ffa80000.i2c: timeout, ipd: 0x00, state: 2
[   44.185080] es7243_write error->[REG-0x03,val-0x20]
[0321084921][   45.198330] rk3x-i2c ffa80000.i2c: timeout, ipd: 0x00, state: 2
[   45.198379] es7243_write error->[REG-0x0d,val-0x00]
[0321084923][   46.211691] rk3x-i2c ffa80000.i2c: timeout, ipd: 0x00, state: 2

So close it. Then switch the DIP switch and enable es7243_sound node if use
es7243_sound card.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I0dc4139aef4587ad4a303ede594ef1213704d808
2023-04-27 09:45:44 +08:00
Liang Chen
c70a59e2db arm64: dts: rockchip: rk3562: adjust opp-table for cpu/gpu/npu/dmc
1. get the value of pvtpll@0.9v from otp.
1. adjust opp-table by pvtpll value.
2. adjust opp-table by mbist-vmin.
3. adjust opp-table when low temperature.

Change-Id: Idc0c0e811c80d1b9b51d4a4f5c7176c546558386
Signed-off-by: Liang Chen <cl@rock-chips.com>
2023-04-27 09:33:44 +08:00
Liang Chen
3d61cdad95 soc: rockchip: opp_select: support get pvtm from otp
Change-Id: Id0d7e909150c7c3c8747b49ce0e00085345db968
Signed-off-by: Liang Chen <cl@rock-chips.com>
2023-04-26 15:25:46 +08:00
Chen Shunqing
a6a48744be drm/rockchip: dw_hdmi-qp: fix hdmi->i2c null pointer
An interrupt may be triggered first,
but hdmi->i2c is not registered yet.

Change-Id: I45b0adc71ccdd6bf7543601b587976fa47ffd7d4
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2023-04-26 10:33:14 +08:00
Algea Cao
86f4cace86 drm/rockchip: dw_hdmi: Fix phy pll rate overflow when frl 48G mode
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Id2612aaedb887f518d9d7458c2b33e3b969af51e
2023-04-25 17:48:39 +08:00
Shawn Lin
006505ca76 misc: add rockchip standard EP function driver
This is a PCIe function driver for rockchip RKEP demo which works on RC
side, it includes following features:
1. Support rc dma
2. Support mmap reserved memory
3. Add dma msi obj irq signal
4. Add user msi obj irq signal
5. Support RKEP-boot

Change-Id: Id71ebd31f86b688d3e6e07ce5055aad81ce7e206
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-04-25 16:23:23 +08:00
Kever Yang
35b75819df PCI: add rockchip vendor id
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Change-Id: Iac28bf81f654f30e1e99e9112cf50ff08fe9e10b
2023-04-25 16:23:11 +08:00
Zhang Yubing
7481ef209d drm/rockchip: dw-dp: use vsc sdp only output yuv420 or hdr
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I841ae4d83814682f8d9c2843dde082ad8929c392
2023-04-25 16:21:39 +08:00
Algea Cao
5e54a1092f drm/rockchip: dw_hdmi: Fix hdmi2.0 mode no signal when plug out before hdmi bind
When the hdmi is plugged in and out after uboot but
before kernel initialization, the TV will enter hdmi 1.4 mode,
hdmi 2.0 resolution can't be display.
In this case, we need to disable/enable hdmi again to make TV
into hdmi 2.0 mode again.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I39fbe519d54329ae7db57904013bfdef6f5a068e
2023-04-25 16:20:16 +08:00
Algea Cao
35d3b7a0e8 drm/rockchip: dw_hdmi: hdmi plug out don't check mode valid when play hdr video
HWC will set hdmi out of hdr mode then disable hdmi
when hdmi plug out in hdr mode.
If hdmi is disconnect edid is null, mode valid check
is always failed, HWC set hdr disable will failed.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I12ebf23539be17b338617131e879296ed20d6a95
2023-04-25 16:20:16 +08:00