Commit Graph

1280775 Commits

Author SHA1 Message Date
Zhihuan He
7b2e984d67 PM / devfreq: rockchip-dfi: Add support for rv1126b dfi
Change-Id: I1f7dca44795afbe787e9bcd661f506dd772f8ee2
Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
2025-03-27 20:43:26 +08:00
Hu Kejun
d7466155ba media: rockchip: add aiisp driver
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I11459fd2862411528c1fce4eb6fdd174c42325d8
2025-03-27 20:43:26 +08:00
Caesar Wang
39d1fb94fa media: rockchip: vpss: prevent NULL dereference in rkvpss runtime resume
- Validate vpss[i] and sw_base_addr before memset/memcpy operations
- Add bounds checking for dev_num to prevent array overflow
- Add error logging for invalid sw_base_addr during register restoration

This resolves kernel panic caused by accessing uninitialized sw_base_addr
during power management resume path. The issue occurred when restoring
VPSS hardware registers from suspend state.

Boot up on as below logs:

[    6.869681] lr : rkvpss_hw_runtime_resume+0x160/0x198
[    6.870141] sp : ffffffc00969b930
[    6.870444] x29: ffffffc00969b930 x28: ffffff80035e9800 x27: ffffff80020ad200
[    6.871088] x26: 0000000000000003 x25: ffffffc0091f4000 x24: ffffff8001ed40a8
[    6.871730] x23: ffffffc008cbf000 x22: ffffff8001953010 x21: ffffff8001ed40c8
[    6.872373] x20: 0000000000000002 x19: ffffff8001ed4080 x18: 0000000000000000
[    6.873018] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[    6.873652] x14: ffffff8001fb5025 x13: 0000000000000007 x12: ffffff800142c900
[    6.874284] x11: 0000000000000002 x10: 00000007305dcf59 x9 : 0000000000000000
[    6.874926] x8 : 0000018000000000 x7 : 0000000000000000 x6 : 000000000000003f
[    6.875567] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000004
[    6.876208] x2 : 0000000000006f40 x1 : 0000000000000000 x0 : 0000018000000000
[    6.876851] Call trace:
[    6.877076]  __memset+0x16c/0x188
[    6.877375]  pm_generic_runtime_resume+0x24/0x34
[    6.877787]  __rpm_callback+0x40/0x11c
[    6.878129]  rpm_callback+0x68/0x6c
[    6.878448]  rpm_resume+0x304/0x37c
[    6.878767]  __pm_runtime_resume+0x50/0x74
[    6.879132]  ofl_open+0x4c/0xc8
[    6.879419]  v4l2_open+0x98/0xec
[    6.879714]  chrdev_open+0x158/0x164
[    6.880048]  do_dentry_open+0x2d4/0x350

Change-Id: Iab179899258189d7bdf9ccc9bb13d07c25d80910
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 20:43:26 +08:00
Caesar Wang
ae4ced56fe media: rockchip: vpss: prevent NULL dereference in ofl_open
Add NULL check for ofl->hw before accessing dev_lock mutex to avoid
kernel panic caused by translation fault at virtual address 0x27d8.

The crash occurs when opening V4L2 device if the hardware structure
 (ofl->hw) is not properly initialized. This adds defensive checks to:

    1. Validate ofl and ofl->hw pointers before mutex operations
    2. Return -ENODEV if hw structure is unavailable
    3. Prevent use-after-unlock in error paths

 Fixes system stability issues with v4l_id process (PID 229) when
 handling uninitialized hardware states. Detail issues can repo as below:

[    6.811649] Unable to handle kernel paging request at virtual address 00000000000027d8
[    6.812363] Mem abort info:
[    6.812621]   ESR = 0x0000000096000005
[    6.812958]   EC = 0x25: DABT (current EL), IL = 32 bits
[    6.813438]   SET = 0, FnV = 0
[    6.813718]   EA = 0, S1PTW = 0
[    6.813999]   FSC = 0x05: level 1 translation fault
[    6.814429] Data abort info:
[    6.814685]   ISV = 0, ISS = 0x00000005
[    6.815021]   CM = 0, WnR = 0
[    6.815360] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000043594000
[    6.815941] [00000000000027d8] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[    6.816746] Internal error: Oops: 0000000096000005 [#1] SMP
[    6.817245] Modules linked in:
[    6.817530] CPU: 0 PID: 229 Comm: v4l_id Tainted: G        W          6.1.118 #16
[    6.818193] Hardware name: Rockchip RV1126B EVB1 V10 Board (DT)
[    6.818715] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    6.819332] pc : mutex_unlock+0xc/0x40
[    6.819686] lr : ofl_open+0x5c/0xc8
[    6.820010] sp : ffffffc009673ad0
[    6.820312] x29: ffffffc009673ad0 x28: ffffff8001f65400 x27: 0000000000000000
[    6.820956] x26: 0000000000000004 x25: 0000000000000000 x24: ffffffc008cae360
[    6.821598] x23: ffffff800290e200 x22: 00000000000027d8 x21: ffffff8002030108
[    6.822233] x20: ffffff800290e200 x19: 0000000000000000 x18: 0000000000000000
[    6.822865] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[    6.823508] x14: ffffff8001820025 x13: 0000000000000007 x12: ffffff8001425480
[    6.824155] x11: 0000000000000002 x10: 00000007305dcf59 x9 : 0000000000000000
[    6.824787] x8 : ffffff80020328b8 x7 : 0000000000000000 x6 : 000000000000056c
[    6.825430] x5 : ffffffc008c23fb0 x4 : 0000000000000000 x3 : 0000000000000000
[    6.826072] x2 : 0000000000000000 x1 : ffffff8001f65400 x0 : 00000000000027d8
[    6.826715] Call trace:
[    6.826940]  mutex_unlock+0xc/0x40
[    6.827254]  v4l2_open+0x98/0xec
[    6.827550]  chrdev_open+0x158/0x164
[    6.827875]  do_dentry_open+0x2d4/0x350
[    6.828231]  vfs_open+0x28/0x30
[    6.828520]  path_openat+0x760/0x870
[    6.828854]  do_filp_open+0x38/0x88

Change-Id: I48b2e39f2e9a79efee7e63348e9dfc02889a02a1
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2025-03-27 20:43:26 +08:00
Mingwei Yan
62ed11eb36 media: rockchip: vpss: offline wrap add reset and read hw seq
Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: I5d8a80492896e0e57c3efac3c5bf55c4e83c78ec
2025-03-27 20:43:26 +08:00
Yandong Lin
7871f4dbaf media: rockchip: vpss: support vpss-dvbm wrap
Change-Id: I03c53d4c66cfad276ea0f4aed25b9e0019f893e6
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2025-03-27 20:43:25 +08:00
Mingwei Yan
05533d40dc media: rockchip: vpss: add v20 for rv1126b
Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: I60d64e1d8ffb39f199b6a8cd8352f64b3afef344
2025-03-27 20:43:25 +08:00
Mingwei Yan
3c1a5874b0 media: rockchip: fec: init driver for rv1126b
Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: I2fa7a5b68c56fadcd664299c987ee4c227f998c7
2025-03-27 20:43:25 +08:00
William Wu
2ea7714258 phy: rockchip: inno-usb2: Add usb2 phy support for rv1126b
RV1126B has one USB2.0 PHY with two ports, the OTG port
support OTG function and BC1.2, and the Host port only
support Host function. The SoC provides USB GRF to control
the internal UTMI+ interface and it also provides APB to
access the PHY internal registers for the USB HS/FS/LS
signal integrity tuning.

This patch adds the USB2.0 PHY tuning to improve the
signal integrity for RV1126B.

1. Enable pre-emphasis during non-chirp phase.
2. Set HS eye height to 425mv(default is 400mv).
3. Set Rx squelch trigger point configure to 112.5mv.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ief1a0aa532ba6dc6824dce72595bd39d8df8cefe
2025-03-27 20:43:25 +08:00
William Wu
0dddc104b3 phy: rockchip: naneng-combphy: build depends on CPU config
When build with rv1126b_defconfig, and enable the combphy
config manually:

CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y

size drivers/phy/rockchip/phy-rockchip-naneng-combphy.o

before:
   text    data     bss     dec     hex filename
   14891     224       0   15115    3b0b drivers/phy/rockchip/phy-rockchip-naneng-combphy.o

after:
   text    data     bss     dec     hex filename
   5091     224       0    5315    14c3 drivers/phy/rockchip/phy-rockchip-naneng-combphy.o

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I83cde7bc9fdc373ad934b9f7fd75160719022b55
2025-03-27 19:47:38 +08:00
William Wu
1cef86cabd phy: rockchip: naneng-combphy: Add support for rv1126b usb3
This patch adds the USB3.0 PHY configurations for
RV1126B USB3.0 interface.
The RV1126B USB3.0 PHY clamp default value is 1'b0 which
means that clamp enable. This patch sets clamp value to
1'b1 for USB3.0 function.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Id285ffd72e849a878b8d338671060ad222143c7e
2025-03-27 19:47:38 +08:00
William Wu
df2f6b949e dt-bindings: usb: dwc3: Add rv1126b compatible to rockchip,dwc3
Add the compatible "rockchip,rv1126b-dwc3" for the RV1126B.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I90f912b68cdaf3ff88045c89ad4ea67b1e736c43
2025-03-27 18:43:43 +08:00
William Wu
292bfc0a73 dt-bindings: phy: rockchip-naneng-combphy: Add rv1126b compatible
Add the compatible "rockchip,rv1126b-usb3-phy" for the RV1126B.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: If9b7a72e9a96752c21b4dace69e285ab5dd97f33
2025-03-27 18:43:42 +08:00
William Wu
b05f3f93a4 dt-bindings: phy: rockchip-inno-usb2: Add rv1126b-usb2phy compatible
Add the compatible "rockchip,rv1126b-usb2phy" for the RV1126B.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I4428c04f5ebf3f47b0ecdebf55dde76c0d56cae1
2025-03-27 18:43:42 +08:00
Cai YiWei
66c8a421fa media: rockchip: isp: adjust clk rate for isp35
Change-Id: I236aa8e529dd5a167d65e394a6d45d5ade82f2d0
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Cai YiWei
8fa74cd819 media: rockchip: isp: fix stats buf error for isp35
Change-Id: I18819a2f036119fbaef47b054980508ae30948a9
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Cai YiWei
310f380783 media: rockchip: isp: fast stream from vpss for isp35
Change-Id: Ie0a6cc46aebedb85bc0d885108ebc3873027c4a4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Cai YiWei
502d08b106 media: rockchip: isp: support multi-sensor for aiisp
Change-Id: I207420d7a55ff4ad5d5a11ffd1b5f04faa06bc14
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Cai YiWei
6fb09131fa media: rockchip: isp: fix isp35 get dvbm error
Change-Id: I382b4316e05f82cb5a1eec522b1e0023d7d64286
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Cai YiWei
d465481ffa media: rockchip: isp: aiisp for isp35
Change-Id: I52313925f5007b9192402e50a985e8cbd42b1e73
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Cai YiWei
d80d956f28 media: rockchip: isp: add isp35
Change-Id: I1f254e64426307983d3a223c761ea9480772b32c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-03-27 18:43:42 +08:00
Jon Lin
bd86f00ac7 spi: rockchip-sfc: Add rockchip,rv1126b-fspi compatible
Change-Id: Ifa2736e82e2e3764aa9c8e56de10550bf5d0d76f
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-03-27 18:43:42 +08:00
Jon Lin
3a999d1f8a dt-bindings: spi: rockchip-sfc: Add rockchip,rv1126b-fspi compatible
Change-Id: Id2669b535a51e644698400ce96533cab5b88e33d
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-03-27 18:43:42 +08:00
Zhihuan He
77f58e32b1 memory: rockchip: dsmc: Add rv1126b support
Change-Id: I7be576b84977dc3c0524525cfc5389038b584f2d
Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
2025-03-27 18:43:42 +08:00
Finley Xiao
86e61b25c4 nvmem: rockchip-otp: Add support for rv1126b
This adds the necessary data for handling otp on the rv1126b.

Change-Id: Ie8114fbb07590556382ccfee63052c67072f3ce2
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2025-03-27 18:43:42 +08:00
Zefa Chen
5493cbb090 media: rockchip: vicap support dvp for rv1126b
Change-Id: I5eaeccd464d5b8e688559e25a08d63164999b9f1
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2025-03-27 18:43:42 +08:00
Zefa Chen
89102de3a7 media: rockchip: vicap fixes error of stop stream
it may lead to iommu error

Change-Id: If1b1d59f3e1ffe839ebd63b9bc06253ea20b1ec4
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2025-03-27 18:43:42 +08:00
Zefa Chen
02b83fb29a media: rockchip: vicap support mipi csi2 for rv1126b
Change-Id: I6e5a16c450e64c41ade9a6b0ea49915e49038d3c
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2025-03-27 18:43:42 +08:00
Zefa Chen
08ad0f6304 media: rockchip: vicap support rv1126b
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ib7949645d9d2081993e19574ba95195b77268387
2025-03-27 18:43:41 +08:00
Lin Jinhan
3683167fd0 crypto: rockchip: rkce init version
RKCE has redesigned the operational flow of CRYPTO to implement
pipelined computing. Using the standard crypto engine framework on
the driver can greatly simplify the logic of the code.

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: Ia6f5e2321ab4c7ae01d33cbd30a222bf32706ab4
2025-03-27 18:43:41 +08:00
Chaoyi Chen
5b8f017ee3 drm/rockchip: vop: Add MCU support for RV1126B
Change-Id: Ic91e167930d92a7cb13f345199a5ee5560df1fa8
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Chaoyi Chen
6990c888f1 drm/rockchip: dsi2: Add cpu depend for dsi2 kconfig
Change-Id: Id96a3214ffd9dd12491b757423b39976829fac9b
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Hongming Zou
ac6249fbe0 drm/rockchip: dsi: add rv1126b support
Support 4lane MIPI interface, 1.5Gbps/lane
Max output resolution is 1920x1080@60fps

Change-Id: I6b99b9d42aefd6f07a2bc49c9bb1696d712ed1fa
Signed-off-by: Hongming Zou <hongming.zou@rock-chips.com>
2025-03-27 18:43:41 +08:00
Chaoyi Chen
f7e3199891 drm/rockchip: vop: Add writeback support
RV1126B VOP has a writeback with max 1920 x 1080 output.
Writeback work as a connector in drm system.

Change-Id: I550601e480630a841c9abfadb9eda2204c074592
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Chaoyi Chen
8f17704e58 drm/rockchip: vop: Add dclk rate count for RV1126B
RV1126B supports calculating the exact dclk from the known aclk rate.

Change-Id: I92539f34eda514a5f35ce53ece98109dac888d6c
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Chaoyi Chen
c80bc3d76f drm/rockchip: vop: Add support for color bar
RV1126B support horizontial and vertical color bar.

Change-Id: Idf4fe9d125585286b928f4728b0567ea4c20aa2e
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Chaoyi Chen
bdc1cace60 drm/rockchip: vop: Add support for RV1126B
VOP on RV1126B support 2 win, max output resolution 1920x1080P60:
Win0 MAX 1920x1080, support line YUV/RGB
Win2 MAX 1920x1080, support RGB

RV1126B VOP also supports write back feature, max resolution 1920x1080.

Change-Id: I07376ec32e5200f29038b5bdcacc0ac31bd7e915
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Chaoyi Chen
042e588ff7 drm/rockchip: rgb: Add support for RV1126B
Change-Id: I5fe861a4fac567254ae5fc18352fed9569480372
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2025-03-27 18:43:41 +08:00
Finley Xiao
0debea1483 soc: rockchip: power-domain: Add power domain support for rv1126b
This driver is modified to support RV1126B SoCs.

Change-Id: I9f2c09f229e933f68f37af179ef8d6c27bc09a41
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2025-03-27 18:43:41 +08:00
Finley Xiao
37564c9fcf dt-bindings: add power-domain header for RV1126B SoCs
Add power-domain header for RV1126B SoC from description in TRM.

Change-Id: I7fda5a49ec3eed790ddff17ba2be3e74a35f02c3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2025-03-27 18:43:41 +08:00
Jason Zhu
240d040e41 ASoC: rockchip: pdm_v2: support new features for rv1126b pdm
1.Support data shift.
2.Move the hpf after cic filter.
3.Separate the gain control.

Change-Id: I092360fad0945084c3b44f3a31be6ee67371755a
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2025-03-27 18:43:41 +08:00
Sugar Zhang
e0d4c336d2 ASoC: rockchip: sai: Add support for slot mask cfg
e.g. mask the right channel for play and rec

dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
dai-tdm-slot-tx-mask = <0 1>;
dai-tdm-slot-rx-mask = <0 1>;

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Id359876f47916417ee6be9e607b05b79665cd9bf
2025-03-27 18:43:41 +08:00
Elaine Zhang
6c3b5ec765 rtc: rockchip: add rv1126b rtc
Change-Id: I455581ac1e2d933dd470d081f975ab22741b4e29
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2025-03-27 18:43:41 +08:00
Sugar Zhang
a5efaae962 dmaengine: rockchip-dma: Use clk_bulk API
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: If69dc1a0df9b4001d7501d9f19e93efdcb7bfb5c
2025-03-27 18:43:41 +08:00
Sugar Zhang
dded1124fe dmaengine: rockchip-dma: Use BIT_ULL helper for dma chan
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ied6b7ea214642ba74c0e39d0a6d37de0739a1105
2025-03-27 18:43:40 +08:00
Sugar Zhang
8eaaad2158 dmaengine: rockchip-dma: Limit the maxburst per buf-depth
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I8a6e9f24cd6effc5345a74d698f1c7e92f8becd2
2025-03-27 18:43:40 +08:00
Sugar Zhang
003ad51ebb dmaengine: rockchip-dma: Add support desc addressed in sram
&dmac {
    sram = <&system_sram>;
    iram = <&system_sram>;
};

property 'sram' for desc addressed in sram.
property 'iram' for audio buf in sram.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I0021d971da663cd90c05622f07039bd87725a55b
2025-03-27 18:43:40 +08:00
Sugar Zhang
adeea7a684 dmaengine: rockchip-dma: Add support for RV1126B
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ibb9eae158c6c86ac65a4509b8e86640ffbe06d07
2025-03-27 18:43:40 +08:00
Sugar Zhang
80e7b5d620 ASoC: rockchip: sai: Add support for RV1126B
* Enhance Frame Integrity Robustness
* Support FIFO Interleaved Cfg
* Support Data Debug

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I1cff642007e3421b49e602ea900832a0d94c58d1
2025-03-27 18:43:40 +08:00
Elaine Zhang
f5ab8f61cc net: can: rockchip: support canfd for rv1126b
Change-Id: I23925f6199686e7184abb5802cd819b0d6c4b090
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2025-03-27 18:34:23 +08:00