rockchip-rk3588-edge: opi5-plus: update dts patch, disable hdmirx by default

This commit is contained in:
Muhammed Efe Cetin 2024-08-01 13:30:37 +03:00 committed by August
parent 8e41d8a64b
commit 9a85443170
13 changed files with 318 additions and 366 deletions

View File

@ -1,21 +1,19 @@
From a0ba8a456c62483e2b8fbbf021fd5ca4ffa07fe8 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Corentin Labbe <clabbe@baylibre.com>
Date: Tue, 7 Nov 2023 15:55:27 +0000
Subject: [PATCH 1/4] dt-bindings: crypto: add support for
rockchip,crypto-rk3588
Subject: dt-bindings: crypto: add support for rockchip,crypto-rk3588
Add device tree binding documentation for the Rockchip cryptographic
offloader V2.
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
.../crypto/rockchip,rk3588-crypto.yaml | 65 +++++++++++++++++++
Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml | 65 ++++++++++
1 file changed, 65 insertions(+)
create mode 100644 Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml
diff --git a/Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml b/Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml
new file mode 100644
index 000000000000..c01963413260
index 000000000000..111111111111
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml
@@ -0,0 +1,65 @@
@ -85,13 +83,12 @@ index 000000000000..c01963413260
+ reset-names = "core";
+ };
--
2.45.2
Armbian
From b9c55c60a732b7d05b6344289091218f7dcb9208 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Corentin Labbe <clabbe@baylibre.com>
Date: Tue, 7 Nov 2023 15:55:30 +0000
Subject: [PATCH 2/4] ARM64: dts: rk356x: add crypto node
Subject: ARM64: dts: rk356x: add crypto node
Both RK3566 and RK3568 have a crypto IP handled by the rk3588 crypto driver so adds a
node for it.
@ -99,11 +96,11 @@ node for it.
Tested-by: Ricardo Pardini <ricardo@pardini.net>
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 12 ++++++++++++
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 12 ++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
index 4690be841a1c..50d1c42b6740 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -1113,6 +1113,18 @@ sdhci: mmc@fe310000 {
@ -126,13 +123,12 @@ index 4690be841a1c..50d1c42b6740 100644
compatible = "rockchip,rk3568-i2s-tdm";
reg = <0x0 0xfe400000 0x0 0x1000>;
--
2.45.2
Armbian
From 9e082adac7e03d2ffe78b49f92e556a4a70e0ee8 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Corentin Labbe <clabbe@baylibre.com>
Date: Tue, 7 Nov 2023 15:55:31 +0000
Subject: [PATCH 3/4] reset: rockchip: secure reset must be used by SCMI
Subject: reset: rockchip: secure reset must be used by SCMI
While working on the rk3588 crypto driver, I loose lot of time
understanding why resetting the IP failed.
@ -142,12 +138,12 @@ All resets in this block must be handled via SCMI call.
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
drivers/clk/rockchip/rst-rk3588.c | 42 ------------
.../dt-bindings/reset/rockchip,rk3588-cru.h | 68 +++++++++----------
drivers/clk/rockchip/rst-rk3588.c | 42 ------
include/dt-bindings/reset/rockchip,rk3588-cru.h | 68 +++++-----
2 files changed, 34 insertions(+), 76 deletions(-)
diff --git a/drivers/clk/rockchip/rst-rk3588.c b/drivers/clk/rockchip/rst-rk3588.c
index c4ebc01f1c9c..7a856de64d9e 100644
index 111111111111..222222222222 100644
--- a/drivers/clk/rockchip/rst-rk3588.c
+++ b/drivers/clk/rockchip/rst-rk3588.c
@@ -16,9 +16,6 @@
@ -207,7 +203,7 @@ index c4ebc01f1c9c..7a856de64d9e 100644
void rk3588_rst_init(struct device_node *np, void __iomem *reg_base)
diff --git a/include/dt-bindings/reset/rockchip,rk3588-cru.h b/include/dt-bindings/reset/rockchip,rk3588-cru.h
index e2fe4bd5f7f0..b74f1046f5a5 100644
index 111111111111..222222222222 100644
--- a/include/dt-bindings/reset/rockchip,rk3588-cru.h
+++ b/include/dt-bindings/reset/rockchip,rk3588-cru.h
@@ -716,40 +716,40 @@
@ -286,13 +282,12 @@ index e2fe4bd5f7f0..b74f1046f5a5 100644
#define SRST_A_HDMIRX_BIU 660
--
2.45.2
Armbian
From 8e6f2d80ad933db9d542a9d08a9f733341e65b90 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Corentin Labbe <clabbe@baylibre.com>
Date: Tue, 7 Nov 2023 15:55:32 +0000
Subject: [PATCH 4/4] crypto: rockchip: add rk3588 driver
Subject: crypto: rockchip: add rk3588 driver
RK3588 have a new crypto IP, this patch adds basic support for it.
Only hashes and cipher are handled for the moment.
@ -301,18 +296,14 @@ Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
drivers/crypto/Kconfig | 29 +
drivers/crypto/rockchip/Makefile | 5 +
drivers/crypto/rockchip/rk2_crypto.c | 738 ++++++++++++++++++
drivers/crypto/rockchip/rk2_crypto.h | 246 ++++++
drivers/crypto/rockchip/rk2_crypto_ahash.c | 344 ++++++++
drivers/crypto/rockchip/rk2_crypto_skcipher.c | 576 ++++++++++++++
drivers/crypto/rockchip/rk2_crypto.c | 738 ++++++++++
drivers/crypto/rockchip/rk2_crypto.h | 246 ++++
drivers/crypto/rockchip/rk2_crypto_ahash.c | 344 +++++
drivers/crypto/rockchip/rk2_crypto_skcipher.c | 576 ++++++++
6 files changed, 1938 insertions(+)
create mode 100644 drivers/crypto/rockchip/rk2_crypto.c
create mode 100644 drivers/crypto/rockchip/rk2_crypto.h
create mode 100644 drivers/crypto/rockchip/rk2_crypto_ahash.c
create mode 100644 drivers/crypto/rockchip/rk2_crypto_skcipher.c
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index 94f23c6fc93b..95d700c88161 100644
index 111111111111..222222222222 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -653,6 +653,35 @@ config CRYPTO_DEV_TEGRA
@ -352,7 +343,7 @@ index 94f23c6fc93b..95d700c88161 100644
tristate "Support for Xilinx ZynqMP AES hw accelerator"
depends on ZYNQMP_FIRMWARE || COMPILE_TEST
diff --git a/drivers/crypto/rockchip/Makefile b/drivers/crypto/rockchip/Makefile
index 785277aca71e..452a12ff6538 100644
index 111111111111..222222222222 100644
--- a/drivers/crypto/rockchip/Makefile
+++ b/drivers/crypto/rockchip/Makefile
@@ -3,3 +3,8 @@ obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rk_crypto.o
@ -366,7 +357,7 @@ index 785277aca71e..452a12ff6538 100644
+ rk2_crypto_ahash.o
diff --git a/drivers/crypto/rockchip/rk2_crypto.c b/drivers/crypto/rockchip/rk2_crypto.c
new file mode 100644
index 000000000000..bac7cc39c403
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/crypto/rockchip/rk2_crypto.c
@@ -0,0 +1,738 @@
@ -1110,7 +1101,7 @@ index 000000000000..bac7cc39c403
+MODULE_AUTHOR("Corentin Labbe <clabbe@baylibre.com>");
diff --git a/drivers/crypto/rockchip/rk2_crypto.h b/drivers/crypto/rockchip/rk2_crypto.h
new file mode 100644
index 000000000000..59cd8be59f70
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/crypto/rockchip/rk2_crypto.h
@@ -0,0 +1,246 @@
@ -1362,7 +1353,7 @@ index 000000000000..59cd8be59f70
+void rk2_hash_exit_tfm(struct crypto_ahash *tfm);
diff --git a/drivers/crypto/rockchip/rk2_crypto_ahash.c b/drivers/crypto/rockchip/rk2_crypto_ahash.c
new file mode 100644
index 000000000000..75b8d9893447
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/crypto/rockchip/rk2_crypto_ahash.c
@@ -0,0 +1,344 @@
@ -1712,7 +1703,7 @@ index 000000000000..75b8d9893447
+}
diff --git a/drivers/crypto/rockchip/rk2_crypto_skcipher.c b/drivers/crypto/rockchip/rk2_crypto_skcipher.c
new file mode 100644
index 000000000000..3e8e44d84b47
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/crypto/rockchip/rk2_crypto_skcipher.c
@@ -0,0 +1,576 @@
@ -2293,5 +2284,5 @@ index 000000000000..3e8e44d84b47
+ crypto_free_skcipher(ctx->fallback_tfm);
+}
--
2.45.2
Armbian

View File

@ -1,7 +1,7 @@
From 74ffd5840cdacdb030246e79a2485016296d73f5 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Date: Thu, 18 Apr 2024 16:15:05 +0200
Subject: [PATCH 1/7] media: dt-bindings: rk3568-vepu: Add RK3588 VEPU121
Subject: media: dt-bindings: rk3568-vepu: Add RK3588 VEPU121
This encoder-only device is present four times on this SoC, and should
support everything the rk3568 vepu supports (so JPEG, H.264 and VP8
@ -13,11 +13,11 @@ Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
.../devicetree/bindings/media/rockchip,rk3568-vepu.yaml | 1 +
Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
index 9d90d8d0565a..947ad699cc5e 100644
index 111111111111..222222222222 100644
--- a/Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
@@ -17,6 +17,7 @@ properties:
@ -29,13 +29,12 @@ index 9d90d8d0565a..947ad699cc5e 100644
reg:
maxItems: 1
--
2.46.0
Armbian
From 936c9b832deddee07a229c3ad19d0e284d2b7d4a Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jianfeng Liu <liujianfeng1994@gmail.com>
Date: Tue, 30 Apr 2024 10:40:01 +0800
Subject: [PATCH 2/7] media: dt-bindings: rockchip-vpu: Add RK3588 VPU121
Subject: media: dt-bindings: rockchip-vpu: Add RK3588 VPU121
RK3588 has four Hantro H1 VEPUs (encoder-only) modules and one combined
Hantro H1/G1 VPU (decoder and encoder). These are not described as
@ -51,7 +50,7 @@ Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
index c57e1f488895..2710bb2fb0d1 100644
index 111111111111..222222222222 100644
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
@@ -31,6 +31,9 @@ properties:
@ -65,13 +64,12 @@ index c57e1f488895..2710bb2fb0d1 100644
reg:
maxItems: 1
--
2.46.0
Armbian
From 5199fc492e1d0d8ce04ffd251cdf0af87f02fbf3 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sebastian Reichel <sebastian.reichel@collabora.com>
Date: Thu, 13 Jun 2024 14:29:55 +0200
Subject: [PATCH 3/7] media: hantro: Disable multicore support
Subject: media: hantro: Disable multicore support
Avoid exposing equal Hantro video codecs to userspace. Equal video
codecs allow scheduling work between the cores. For that kernel support
@ -84,11 +82,11 @@ cores), but applies to all SoCs.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
.../media/platform/verisilicon/hantro_drv.c | 47 +++++++++++++++++++
drivers/media/platform/verisilicon/hantro_drv.c | 47 ++++++++++
1 file changed, 47 insertions(+)
diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
index 34b123dafd89..748187623990 100644
index 111111111111..222222222222 100644
--- a/drivers/media/platform/verisilicon/hantro_drv.c
+++ b/drivers/media/platform/verisilicon/hantro_drv.c
@@ -992,6 +992,49 @@ static const struct media_device_ops hantro_m2m_media_ops = {
@ -153,13 +151,12 @@ index 34b123dafd89..748187623990 100644
* Support for nxp,imx8mq-vpu is kept for backwards compatibility
* but it's deprecated. Please update your DTS file to use
--
2.46.0
Armbian
From bb294970b29147116b8d6699c05e1c51f9b3a746 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sebastian Reichel <sebastian.reichel@collabora.com>
Date: Thu, 13 Jun 2024 14:48:43 +0200
Subject: [PATCH 4/7] media: hantro: Add RK3588 VEPU121
Subject: media: hantro: Add RK3588 VEPU121
RK3588 handling is exactly the same as RK3568. This is not
handled using fallback compatibles to avoid exposing multiple
@ -172,7 +169,7 @@ Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
1 file changed, 1 insertion(+)
diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
index 748187623990..05bbac853c4f 100644
index 111111111111..222222222222 100644
--- a/drivers/media/platform/verisilicon/hantro_drv.c
+++ b/drivers/media/platform/verisilicon/hantro_drv.c
@@ -722,6 +722,7 @@ static const struct of_device_id of_hantro_match[] = {
@ -184,13 +181,12 @@ index 748187623990..05bbac853c4f 100644
#endif
#ifdef CONFIG_VIDEO_HANTRO_IMX8M
--
2.46.0
Armbian
From 9820579abb632ea927e6e693ea8f9ea9fc2a90c5 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Date: Wed, 5 Jun 2024 15:28:33 +0200
Subject: [PATCH 5/7] arm64: dts: rockchip: Add VEPU121 to RK3588
Subject: arm64: dts: rockchip: Add VEPU121 to RK3588
RK3588 has 4 Hantro G1 encoder-only cores. They are all independent IP,
but can be used as a cluster (i.e. sharing work between the cores).
@ -201,11 +197,11 @@ using the VPU binding instead.
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 80 +++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 80 ++++++++++
1 file changed, 80 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index b6e4df180f0b..595f129a2d8c 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1122,6 +1122,86 @@ power-domain@RK3588_PD_SDMMC {
@ -296,13 +292,12 @@ index b6e4df180f0b..595f129a2d8c 100644
compatible = "rockchip,rk3588-av1-vpu";
reg = <0x0 0xfdc70000 0x0 0x800>;
--
2.46.0
Armbian
From 9abdf23677ceaf0f2b2984ba4adf8105dbd2df25 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jianfeng Liu <liujianfeng1994@gmail.com>
Date: Tue, 30 Apr 2024 10:40:02 +0800
Subject: [PATCH 6/7] arm64: dts: rockchip: Add VPU121 support for RK3588
Subject: arm64: dts: rockchip: Add VPU121 support for RK3588
Enable Hantro G1 video decoder in RK3588's devicetree.
@ -315,11 +310,11 @@ Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com>
Tested-by: Hugh Cole-Baker <sigmaris@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 21 +++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 21 ++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index 595f129a2d8c..14b8d8691255 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1122,6 +1122,27 @@ power-domain@RK3588_PD_SDMMC {
@ -351,14 +346,12 @@ index 595f129a2d8c..14b8d8691255 100644
compatible = "rockchip,rk3588-vepu121";
reg = <0x0 0xfdba0000 0x0 0x800>;
--
2.46.0
Armbian
From 64cf83f3ee9ac0a7987e2354d6b4a6875be6b7dc Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Muhammed Efe Cetin <efectn@protonmail.com>
Date: Mon, 29 Jul 2024 23:21:19 +0300
Subject: [PATCH 7/7] arm64: dts: rockchip: rk3588: disable H264 decoding on
Hantro decoder
Subject: arm64: dts: rockchip: rk3588: disable H264 decoding on Hantro decoder
---
Documentation/devicetree/bindings/media/rockchip-vpu.yaml | 2 +-
@ -366,7 +359,7 @@ Subject: [PATCH 7/7] arm64: dts: rockchip: rk3588: disable H264 decoding on
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
index 2710bb2fb0d1..1da7700e4a55 100644
index 111111111111..222222222222 100644
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
@@ -33,7 +33,7 @@ properties:
@ -379,7 +372,7 @@ index 2710bb2fb0d1..1da7700e4a55 100644
reg:
maxItems: 1
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index 14b8d8691255..ee5e6c45f601 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1123,10 +1123,11 @@ power-domain@RK3588_PD_SDMMC {
@ -398,5 +391,5 @@ index 14b8d8691255..ee5e6c45f601 100644
clock-names = "aclk", "hclk";
iommus = <&vpu121_mmu>;
--
2.46.0
Armbian

View File

@ -1,7 +1,7 @@
From b2e319e38dac42c3ca0d4bf18adb5a9fa02a4b72 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Detlev Casanova <detlev.casanova@collabora.com>
Date: Tue, 18 Jun 2024 12:41:51 -0400
Subject: [PATCH 1/4] media: rockchip: Move H264 CABAC table to header file
Subject: media: rockchip: Move H264 CABAC table to header file
The table will be shared with the rkvdec2 driver in following commits.
@ -13,13 +13,12 @@ built in the kernel, but rather in each driver, if the driver is enabled.
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
---
drivers/staging/media/rkvdec/rkvdec-h264.c | 500 +-------------------
include/media/v4l2-cabac/rkvdec-cabac.h | 509 +++++++++++++++++++++
drivers/staging/media/rkvdec/rkvdec-h264.c | 500 +--------
include/media/v4l2-cabac/rkvdec-cabac.h | 509 ++++++++++
2 files changed, 510 insertions(+), 499 deletions(-)
create mode 100644 include/media/v4l2-cabac/rkvdec-cabac.h
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index 4fc167b42cf0..ce63b6fbaa33 100644
index 111111111111..222222222222 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -11,6 +11,7 @@
@ -538,7 +537,7 @@ index 4fc167b42cf0..ce63b6fbaa33 100644
u8 bit = field.offset % 32, word = field.offset / 32;
diff --git a/include/media/v4l2-cabac/rkvdec-cabac.h b/include/media/v4l2-cabac/rkvdec-cabac.h
new file mode 100644
index 000000000000..3324c4cb6130
index 000000000000..111111111111
--- /dev/null
+++ b/include/media/v4l2-cabac/rkvdec-cabac.h
@@ -0,0 +1,509 @@
@ -1052,13 +1051,12 @@ index 000000000000..3324c4cb6130
+
+#endif /* RKVDEC_H264_CABAC_H_ */
--
2.45.2
Armbian
From ad4ef790fc671da994ad3c2691034fe954e95ff4 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Detlev Casanova <detlev.casanova@collabora.com>
Date: Fri, 14 Jun 2024 19:52:12 -0400
Subject: [PATCH 2/4] media: rockchip: Introduce the rkvdec2 driver
Subject: media: rockchip: Introduce the rkvdec2 driver
This driver supports the second generation of the Rockchip Video
decoder, also known as vdpu34x.
@ -1097,24 +1095,18 @@ in future features.
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
---
drivers/media/platform/rockchip/Kconfig | 1 +
drivers/media/platform/rockchip/Makefile | 1 +
.../media/platform/rockchip/rkvdec2/Kconfig | 15 +
.../media/platform/rockchip/rkvdec2/Makefile | 3 +
.../platform/rockchip/rkvdec2/rkvdec2-h264.c | 744 ++++++++++
.../platform/rockchip/rkvdec2/rkvdec2-regs.h | 346 +++++
.../media/platform/rockchip/rkvdec2/rkvdec2.c | 1263 +++++++++++++++++
.../media/platform/rockchip/rkvdec2/rkvdec2.h | 130 ++
drivers/media/platform/rockchip/Kconfig | 1 +
drivers/media/platform/rockchip/Makefile | 1 +
drivers/media/platform/rockchip/rkvdec2/Kconfig | 15 +
drivers/media/platform/rockchip/rkvdec2/Makefile | 3 +
drivers/media/platform/rockchip/rkvdec2/rkvdec2-h264.c | 744 ++++++
drivers/media/platform/rockchip/rkvdec2/rkvdec2-regs.h | 346 +++
drivers/media/platform/rockchip/rkvdec2/rkvdec2.c | 1263 ++++++++++
drivers/media/platform/rockchip/rkvdec2/rkvdec2.h | 130 +
8 files changed, 2503 insertions(+)
create mode 100644 drivers/media/platform/rockchip/rkvdec2/Kconfig
create mode 100644 drivers/media/platform/rockchip/rkvdec2/Makefile
create mode 100644 drivers/media/platform/rockchip/rkvdec2/rkvdec2-h264.c
create mode 100644 drivers/media/platform/rockchip/rkvdec2/rkvdec2-regs.h
create mode 100644 drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
create mode 100644 drivers/media/platform/rockchip/rkvdec2/rkvdec2.h
diff --git a/drivers/media/platform/rockchip/Kconfig b/drivers/media/platform/rockchip/Kconfig
index b41d3960c1b4..36987ef24014 100644
index 111111111111..222222222222 100644
--- a/drivers/media/platform/rockchip/Kconfig
+++ b/drivers/media/platform/rockchip/Kconfig
@@ -4,3 +4,4 @@ comment "Rockchip media platform drivers"
@ -1123,7 +1115,7 @@ index b41d3960c1b4..36987ef24014 100644
source "drivers/media/platform/rockchip/rkisp1/Kconfig"
+source "drivers/media/platform/rockchip/rkvdec2/Kconfig"
diff --git a/drivers/media/platform/rockchip/Makefile b/drivers/media/platform/rockchip/Makefile
index 4f782b876ac9..8c108d91d13e 100644
index 111111111111..222222222222 100644
--- a/drivers/media/platform/rockchip/Makefile
+++ b/drivers/media/platform/rockchip/Makefile
@@ -1,3 +1,4 @@
@ -1133,7 +1125,7 @@ index 4f782b876ac9..8c108d91d13e 100644
+obj-$(CONFIG_VIDEO_ROCKCHIP_VDEC2) += rkvdec2/
diff --git a/drivers/media/platform/rockchip/rkvdec2/Kconfig b/drivers/media/platform/rockchip/rkvdec2/Kconfig
new file mode 100644
index 000000000000..fd505cb7aff9
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/rockchip/rkvdec2/Kconfig
@@ -0,0 +1,15 @@
@ -1154,7 +1146,7 @@ index 000000000000..fd505cb7aff9
+ will be called rockchip-vdec2.
diff --git a/drivers/media/platform/rockchip/rkvdec2/Makefile b/drivers/media/platform/rockchip/rkvdec2/Makefile
new file mode 100644
index 000000000000..b5a6ac701970
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/rockchip/rkvdec2/Makefile
@@ -0,0 +1,3 @@
@ -1163,7 +1155,7 @@ index 000000000000..b5a6ac701970
+rockchip-vdec2-y += rkvdec2.o rkvdec2-h264.o
diff --git a/drivers/media/platform/rockchip/rkvdec2/rkvdec2-h264.c b/drivers/media/platform/rockchip/rkvdec2/rkvdec2-h264.c
new file mode 100644
index 000000000000..2e991c85d90e
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/rockchip/rkvdec2/rkvdec2-h264.c
@@ -0,0 +1,744 @@
@ -1913,7 +1905,7 @@ index 000000000000..2e991c85d90e
+};
diff --git a/drivers/media/platform/rockchip/rkvdec2/rkvdec2-regs.h b/drivers/media/platform/rockchip/rkvdec2/rkvdec2-regs.h
new file mode 100644
index 000000000000..2a432fc0bf52
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/rockchip/rkvdec2/rkvdec2-regs.h
@@ -0,0 +1,346 @@
@ -2265,7 +2257,7 @@ index 000000000000..2a432fc0bf52
+#endif /* __RKVDEC_REGS_H__ */
diff --git a/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c b/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
new file mode 100644
index 000000000000..852e88fc0ea1
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
@@ -0,0 +1,1263 @@
@ -3534,7 +3526,7 @@ index 000000000000..852e88fc0ea1
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/rockchip/rkvdec2/rkvdec2.h b/drivers/media/platform/rockchip/rkvdec2/rkvdec2.h
new file mode 100644
index 000000000000..8613051775e9
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/rockchip/rkvdec2/rkvdec2.h
@@ -0,0 +1,130 @@
@ -3669,24 +3661,22 @@ index 000000000000..8613051775e9
+
+#endif /* RKVDEC_H_ */
--
2.45.2
Armbian
From 26a9741268ff1f11d1d573c1cecd5f2ce5f4ba79 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Detlev Casanova <detlev.casanova@collabora.com>
Date: Fri, 14 Jun 2024 19:53:40 -0400
Subject: [PATCH 3/4] media: dt-bindings: rockchip: Document RK3588 Video
Decoder bindings
Subject: media: dt-bindings: rockchip: Document RK3588 Video Decoder bindings
Document the Rockchip RK3588 Video Decoder bindings.
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
---
.../bindings/media/rockchip,vdec.yaml | 73 ++++++++++++++++++-
Documentation/devicetree/bindings/media/rockchip,vdec.yaml | 73 +++++++++-
1 file changed, 72 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/media/rockchip,vdec.yaml b/Documentation/devicetree/bindings/media/rockchip,vdec.yaml
index 08b02ec16755..bb79499bebb0 100644
index 111111111111..222222222222 100644
--- a/Documentation/devicetree/bindings/media/rockchip,vdec.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip,vdec.yaml
@@ -17,6 +17,7 @@ properties:
@ -3812,28 +3802,26 @@ index 08b02ec16755..bb79499bebb0 100644
examples:
--
2.45.2
Armbian
From 3acffd4e3409070f92fbf2defdbcf46fc818f529 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Detlev Casanova <detlev.casanova@collabora.com>
Date: Fri, 14 Jun 2024 19:56:19 -0400
Subject: [PATCH 4/4] arm64: dts: rockchip: Add rkvdec2 Video Decoder on
rk3588(s)
Subject: arm64: dts: rockchip: Add rkvdec2 Video Decoder on rk3588(s)
Add the rkvdec2 Video Decoder to the RK3588s devicetree.
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 48 +++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 48 ++++++++++
1 file changed, 48 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index b6e4df180f0b..2307e496dde8 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1122,6 +1122,44 @@ power-domain@RK3588_PD_SDMMC {
};
@@ -1224,6 +1224,44 @@ vepu121_3_mmu: iommu@fdbac800 {
#iommu-cells = <0>;
};
+ vdec0: video-decoder@fdc38000 {
@ -3877,7 +3865,7 @@ index b6e4df180f0b..2307e496dde8 100644
av1d: video-codec@fdc70000 {
compatible = "rockchip,rk3588-av1-vpu";
reg = <0x0 0xfdc70000 0x0 0x800>;
@@ -2725,6 +2763,16 @@ system_sram2: sram@ff001000 {
@@ -2827,6 +2865,16 @@ system_sram2: sram@ff001000 {
ranges = <0x0 0x0 0xff001000 0xef000>;
#address-cells = <1>;
#size-cells = <1>;
@ -3895,5 +3883,5 @@ index b6e4df180f0b..2307e496dde8 100644
pinctrl: pinctrl {
--
2.45.2
Armbian

View File

@ -1,48 +1,7 @@
From 3dbcda0077c859d0dd08aab8e488b940506573ef Mon Sep 17 00:00:00 2001
From: Shreeya Patel <shreeya.patel@collabora.com>
Date: Fri, 19 Jul 2024 18:10:29 +0530
Subject: [PATCH 1/5] MAINTAINERS: Add entry for Synopsys DesignWare HDMI RX
Driver
Add an entry for Synopsys DesignWare HDMI Receiver Controller
Driver.
Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
Reviewed-by: Christopher Obbard <chris.obbard@collabora.com>
Link: https://lore.kernel.org/r/20240719124032.26852-2-shreeya.patel@collabora.com
Signed-off-by: Sebastian Reichel <sre@kernel.org>
---
MAINTAINERS | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 42decde38320..9a83c9cec932 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -22142,6 +22142,14 @@ F: drivers/net/pcs/pcs-xpcs.c
F: drivers/net/pcs/pcs-xpcs.h
F: include/linux/pcs/pcs-xpcs.h
+SYNOPSYS DESIGNWARE HDMI RX CONTROLLER DRIVER
+M: Shreeya Patel <shreeya.patel@collabora.com
+L: linux-media@vger.kernel.org
+L: kernel@collabora.com
+S: Maintained
+F: Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml
+F: drivers/media/platform/synopsys/hdmirx/*
+
SYNOPSYS DESIGNWARE I2C DRIVER
M: Jarkko Nikula <jarkko.nikula@linux.intel.com>
R: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
--
2.45.2
From 0b2d3a37d013f1115cd12d60fe2d9b768fb08002 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shreeya Patel <shreeya.patel@collabora.com>
Date: Fri, 19 Jul 2024 18:10:30 +0530
Subject: [PATCH 2/5] dt-bindings: media: Document bindings for HDMI RX
Controller
Subject: dt-bindings: media: Document bindings for HDMI RX Controller
Document bindings for the Synopsys DesignWare HDMI RX Controller.
@ -54,13 +13,12 @@ Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com
Link: https://lore.kernel.org/r/20240719124032.26852-3-shreeya.patel@collabora.com
Signed-off-by: Sebastian Reichel <sre@kernel.org>
---
.../bindings/media/snps,dw-hdmi-rx.yaml | 132 ++++++++++++++++++
Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml | 132 ++++++++++
1 file changed, 132 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml
diff --git a/Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml b/Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml
new file mode 100644
index 000000000000..96ae1e2d2816
index 000000000000..111111111111
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.yaml
@@ -0,0 +1,132 @@
@ -197,14 +155,12 @@ index 000000000000..96ae1e2d2816
+ hpd-gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
+ };
--
2.45.2
Armbian
From a0de6ca89f167df7a2c491cb24bb191a6ced8bed Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shreeya Patel <shreeya.patel@collabora.com>
Date: Fri, 19 Jul 2024 18:10:31 +0530
Subject: [PATCH 3/5] arm64: dts: rockchip: Add device tree support for HDMI RX
Controller
Subject: arm64: dts: rockchip: Add device tree support for HDMI RX Controller
Add device tree support for Synopsys DesignWare HDMI RX
Controller.
@ -217,12 +173,12 @@ Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
Link: https://lore.kernel.org/r/20240719124032.26852-4-shreeya.patel@collabora.com
Signed-off-by: Sebastian Reichel <sre@kernel.org>
---
.../dts/rockchip/rk3588-base-pinctrl.dtsi | 14 +++++
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 56 +++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi | 14 +++
arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi | 56 ++++++++++
2 files changed, 70 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
index 30db12c4fc82..ca006f5a4c90 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
@@ -594,6 +594,20 @@ hdmim0_tx1_hpd: hdmim0-tx1-hpd {
@ -247,7 +203,7 @@ index 30db12c4fc82..ca006f5a4c90 100644
hdmim1_rx_cec: hdmim1-rx-cec {
rockchip,pins =
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
index 0ce0934ec6b7..96f8ce91eaf4 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
@@ -7,6 +7,29 @@
@ -321,14 +277,12 @@ index 0ce0934ec6b7..96f8ce91eaf4 100644
compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
#address-cells = <3>;
--
2.45.2
Armbian
From 4412f5bba1c8b964439064bd5d03e75d3ed58653 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shreeya Patel <shreeya.patel@collabora.com>
Date: Fri, 19 Jul 2024 18:10:32 +0530
Subject: [PATCH 4/5] media: platform: synopsys: Add support for hdmi input
driver
Subject: media: platform: synopsys: Add support for hdmi input driver
Add initial support for the Synopsys DesignWare HDMI RX
Controller Driver used by Rockchip RK3588. The driver
@ -349,28 +303,20 @@ Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
Link: https://lore.kernel.org/r/20240719124032.26852-5-shreeya.patel@collabora.com
Signed-off-by: Sebastian Reichel <sre@kernel.org>
---
drivers/media/platform/Kconfig | 1 +
drivers/media/platform/Makefile | 1 +
drivers/media/platform/synopsys/Kconfig | 3 +
drivers/media/platform/synopsys/Makefile | 2 +
.../media/platform/synopsys/hdmirx/Kconfig | 27 +
.../media/platform/synopsys/hdmirx/Makefile | 4 +
.../platform/synopsys/hdmirx/snps_hdmirx.c | 2763 +++++++++++++++++
.../platform/synopsys/hdmirx/snps_hdmirx.h | 394 +++
.../synopsys/hdmirx/snps_hdmirx_cec.c | 285 ++
.../synopsys/hdmirx/snps_hdmirx_cec.h | 44 +
drivers/media/platform/Kconfig | 1 +
drivers/media/platform/Makefile | 1 +
drivers/media/platform/synopsys/Kconfig | 3 +
drivers/media/platform/synopsys/Makefile | 2 +
drivers/media/platform/synopsys/hdmirx/Kconfig | 27 +
drivers/media/platform/synopsys/hdmirx/Makefile | 4 +
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c | 2763 ++++++++++
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h | 394 ++
drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.c | 285 +
drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.h | 44 +
10 files changed, 3524 insertions(+)
create mode 100644 drivers/media/platform/synopsys/Kconfig
create mode 100644 drivers/media/platform/synopsys/Makefile
create mode 100644 drivers/media/platform/synopsys/hdmirx/Kconfig
create mode 100644 drivers/media/platform/synopsys/hdmirx/Makefile
create mode 100644 drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
create mode 100644 drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h
create mode 100644 drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.c
create mode 100644 drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.h
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 85d2627776b6..9287faafdce5 100644
index 111111111111..222222222222 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -85,6 +85,7 @@ source "drivers/media/platform/rockchip/Kconfig"
@ -382,7 +328,7 @@ index 85d2627776b6..9287faafdce5 100644
source "drivers/media/platform/verisilicon/Kconfig"
source "drivers/media/platform/via/Kconfig"
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
index ace4e34483dd..6fd7db0541c7 100644
index 111111111111..222222222222 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
@@ -28,6 +28,7 @@ obj-y += rockchip/
@ -395,7 +341,7 @@ index ace4e34483dd..6fd7db0541c7 100644
obj-y += via/
diff --git a/drivers/media/platform/synopsys/Kconfig b/drivers/media/platform/synopsys/Kconfig
new file mode 100644
index 000000000000..4fd521f78425
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/Kconfig
@@ -0,0 +1,3 @@
@ -404,7 +350,7 @@ index 000000000000..4fd521f78425
+source "drivers/media/platform/synopsys/hdmirx/Kconfig"
diff --git a/drivers/media/platform/synopsys/Makefile b/drivers/media/platform/synopsys/Makefile
new file mode 100644
index 000000000000..3b12c574dd67
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/Makefile
@@ -0,0 +1,2 @@
@ -412,7 +358,7 @@ index 000000000000..3b12c574dd67
+obj-y += hdmirx/
diff --git a/drivers/media/platform/synopsys/hdmirx/Kconfig b/drivers/media/platform/synopsys/hdmirx/Kconfig
new file mode 100644
index 000000000000..ab569e59300f
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/hdmirx/Kconfig
@@ -0,0 +1,27 @@
@ -445,7 +391,7 @@ index 000000000000..ab569e59300f
+ such as supported resolutions, refresh rates, and audio formats.
diff --git a/drivers/media/platform/synopsys/hdmirx/Makefile b/drivers/media/platform/synopsys/hdmirx/Makefile
new file mode 100644
index 000000000000..2fa2d9e25300
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/hdmirx/Makefile
@@ -0,0 +1,4 @@
@ -455,7 +401,7 @@ index 000000000000..2fa2d9e25300
+obj-$(CONFIG_VIDEO_SYNOPSYS_HDMIRX) += synopsys-hdmirx.o
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
new file mode 100644
index 000000000000..1dfecf256393
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
@@ -0,0 +1,2763 @@
@ -3224,7 +3170,7 @@ index 000000000000..1dfecf256393
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h
new file mode 100644
index 000000000000..220ab99ca611
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.h
@@ -0,0 +1,394 @@
@ -3624,7 +3570,7 @@ index 000000000000..220ab99ca611
+#endif
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.c
new file mode 100644
index 000000000000..9f67e2080bb6
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.c
@@ -0,0 +1,285 @@
@ -3915,7 +3861,7 @@ index 000000000000..9f67e2080bb6
+}
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.h b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.h
new file mode 100644
index 000000000000..c55c403cdb9f
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx_cec.h
@@ -0,0 +1,44 @@
@ -3964,13 +3910,12 @@ index 000000000000..c55c403cdb9f
+
+#endif /* DW_HDMI_RX_CEC_H */
--
2.45.2
Armbian
From b7723aa090a4826f623b434b15a14bc6cf6fe538 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sebastian Reichel <sebastian.reichel@collabora.com>
Date: Mon, 29 Jul 2024 17:29:46 +0200
Subject: [PATCH 5/5] arm64: defconfig: Enable Synopsys HDMI receiver
Subject: arm64: defconfig: Enable Synopsys HDMI receiver
The Rockchip RK3588 has a built-in HDMI receiver block from
Synopsys. Let's enable the driver for it.
@ -3981,10 +3926,10 @@ Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 23139a36ec0d..10b088434625 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -841,6 +841,7 @@ CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
@@ -840,6 +840,7 @@ CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
CONFIG_VIDEO_SUN6I_CSI=m
@ -3993,5 +3938,30 @@ index 23139a36ec0d..10b088434625 100644
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_IMX219=m
--
2.45.2
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Muhammed Efe Cetin <efectn@protonmail.com>
Date: Thu, 1 Aug 2024 16:47:35 +0300
Subject: comment v4l2 error on hdmirx
---
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
index 111111111111..222222222222 100644
--- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
@@ -1180,7 +1180,7 @@ static int hdmirx_wait_lock_and_get_timing(struct snps_hdmirx_dev *hdmirx_dev)
break;
if (!tx_5v_power_present(hdmirx_dev)) {
- v4l2_err(v4l2_dev, "%s: HDMI pull out, return\n", __func__);
+ //v4l2_err(v4l2_dev, "%s: HDMI pull out, return\n", __func__);
return -1;
}
--
Armbian

View File

@ -1,8 +1,7 @@
From 851c498258fab10b2176df6f237e147b3aa18556 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Tue, 11 Jun 2024 02:06:10 +0300
Subject: [PATCH 1/2] phy: phy-rockchip-samsung-hdptx: Explicitly include
pm_runtime.h
Subject: phy: phy-rockchip-samsung-hdptx: Explicitly include pm_runtime.h
Driver makes use of helpers from pm_runtime.h, but relies on the header
file being implicitly included.
@ -17,7 +16,7 @@ Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
1 file changed, 1 insertion(+)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index 946c01210ac8..3bd9b62b23dc 100644
index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -15,6 +15,7 @@
@ -29,14 +28,12 @@ index 946c01210ac8..3bd9b62b23dc 100644
#include <linux/regmap.h>
#include <linux/reset.h>
--
2.45.2
Armbian
From 4cff4539ae49d68bdbf005b9b66c62cf0174df13 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Tue, 11 Jun 2024 02:28:26 +0300
Subject: [PATCH 2/2] phy: phy-rockchip-samsung-hdptx: Enable runtime PM at PHY
core level
Subject: phy: phy-rockchip-samsung-hdptx: Enable runtime PM at PHY core level
When a new PHY is created via [devm_]phy_create(), the runtime PM for it
is not enabled unless the parent device (which creates the PHY) has its
@ -55,11 +52,11 @@ pm_runtime_put() helpers.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../phy/rockchip/phy-rockchip-samsung-hdptx.c | 24 +++++--------------
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 24 +++-------
1 file changed, 6 insertions(+), 18 deletions(-)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index 3bd9b62b23dc..72de287282eb 100644
index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -860,7 +860,7 @@ static int rk_hdptx_ropll_tmds_mode_config(struct rk_hdptx_phy *hdptx,
@ -122,5 +119,5 @@ index 3bd9b62b23dc..72de287282eb 100644
if (IS_ERR(phy_provider))
return dev_err_probe(dev, PTR_ERR(phy_provider),
--
2.45.2
Armbian

View File

@ -1,19 +1,18 @@
From 2ed8602d4c0c5d211163ad1727fd2d76e20407af Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Mon, 19 Feb 2024 21:53:24 +0200
Subject: [PATCH 1/2] dt-bindings: phy: rockchip,rk3588-hdptx-phy: Add
#clock-cells
Subject: dt-bindings: phy: rockchip,rk3588-hdptx-phy: Add #clock-cells
The HDMI PHY can be used as a clock provider on RK3588 SoC, hence add
the necessary '#clock-cells' property.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../devicetree/bindings/phy/rockchip,rk3588-hdptx-phy.yaml | 3 +++
Documentation/devicetree/bindings/phy/rockchip,rk3588-hdptx-phy.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/rockchip,rk3588-hdptx-phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,rk3588-hdptx-phy.yaml
index 54e822c715f3..84fe59dbcf48 100644
index 111111111111..222222222222 100644
--- a/Documentation/devicetree/bindings/phy/rockchip,rk3588-hdptx-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/rockchip,rk3588-hdptx-phy.yaml
@@ -27,6 +27,9 @@ properties:
@ -27,14 +26,12 @@ index 54e822c715f3..84fe59dbcf48 100644
const: 0
--
2.45.2
Armbian
From 50108aebe8997fcb0c61e81363024ca8f2ae1fcd Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Tue, 16 Jan 2024 19:27:40 +0200
Subject: [PATCH 2/2] phy: phy-rockchip-samsung-hdptx: Add clock provider
support
Subject: phy: phy-rockchip-samsung-hdptx: Add clock provider support
The HDMI PHY PLL can be used as an alternative dclk source to RK3588 SoC
CRU. It provides more accurate clock rates required by VOP2 to improve
@ -46,11 +43,11 @@ used to support HDMI 2.1 4K@120Hz mode.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../phy/rockchip/phy-rockchip-samsung-hdptx.c | 195 ++++++++++++++++--
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 195 ++++++++--
1 file changed, 173 insertions(+), 22 deletions(-)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index 72de287282eb..9f084697dd05 100644
index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -8,6 +8,7 @@
@ -322,5 +319,5 @@ index 72de287282eb..9f084697dd05 100644
static const struct dev_pm_ops rk_hdptx_phy_pm_ops = {
--
2.45.2
Armbian

View File

@ -1,8 +1,7 @@
From 07fd1529770701e8c18d9030cd70344b8e2472a5 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Mon, 5 Feb 2024 01:38:48 +0200
Subject: [PATCH 2/2] [WIP] phy: phy-rockchip-samsung-hdptx: Add FRL & EARC
support
Subject: [WIP] phy: phy-rockchip-samsung-hdptx: Add FRL & EARC support
For upstreaming, this requires extending the standard PHY API to support
HDMI configuration options [1].
@ -15,11 +14,11 @@ bridge driver via phy_set_bus_width().
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../phy/rockchip/phy-rockchip-samsung-hdptx.c | 428 +++++++++++++++++-
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 428 +++++++++-
1 file changed, 426 insertions(+), 2 deletions(-)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index 9f084697dd05..45db96be3f64 100644
index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -193,6 +193,10 @@
@ -544,5 +543,5 @@ index 9f084697dd05..45db96be3f64 100644
if (ret)
return ret;
--
2.45.2
Armbian

View File

@ -1,19 +1,19 @@
From 511586733f05f9d62c86a7f077d0a8104a9e1e01 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Wed, 27 Mar 2024 20:36:15 +0200
Subject: [PATCH 1/2] [WIP] dt-bindings: display: rockchip-drm: Add optional
clocks property
Subject: [WIP] dt-bindings: display: rockchip-drm: Add optional clocks
property
Allow using the clock provided by HDMI0 PHY PLL to improve HDMI output
support on RK3588 SoC.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../bindings/display/rockchip/rockchip-drm.yaml | 8 ++++++++
Documentation/devicetree/bindings/display/rockchip/rockchip-drm.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-drm.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-drm.yaml
index a8d18a37cb23..9d000760dd6e 100644
index 111111111111..222222222222 100644
--- a/Documentation/devicetree/bindings/display/rockchip/rockchip-drm.yaml
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-drm.yaml
@@ -28,6 +28,14 @@ properties:
@ -32,14 +32,12 @@ index a8d18a37cb23..9d000760dd6e 100644
- compatible
- ports
--
2.45.2
Armbian
From de09dc535799458e6be99ab62e86fd02525bbfe4 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Fri, 3 Nov 2023 19:58:02 +0200
Subject: [PATCH 2/2] [WIP] drm/rockchip: vop2: Improve display modes handling
on rk3588
Subject: [WIP] drm/rockchip: vop2: Improve display modes handling on rk3588
The initial vop2 support for rk3588 in mainline is not able to handle
all display modes supported by connected displays, e.g.
@ -53,11 +51,11 @@ Improve HDMI0 clocking in order to support the additional display modes.
Fixes: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 553 ++++++++++++++++++-
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 553 +++++++++-
1 file changed, 552 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
index 9873172e3fd3..629f60184f66 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
@@ -5,6 +5,8 @@
@ -713,5 +711,5 @@ index 9873172e3fd3..629f60184f66 100644
if (ret >= 0) {
vop2->rgb = rockchip_rgb_init(dev, &vop2->vps[ret].crtc,
--
2.45.2
Armbian

View File

@ -1,8 +1,7 @@
From ae26670c06f61c28cb7c276274404e2897f73634 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Thu, 11 Jul 2024 13:57:34 +0300
Subject: [PATCH 1/7] drm/bridge-connector: Fix double free in error handling
paths
Subject: drm/bridge-connector: Fix double free in error handling paths
The recent switch to drmm allocation in drm_bridge_connector_init() may
cause double free on bridge_connector in some of the error handling
@ -17,7 +16,7 @@ Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/drm_bridge_connector.c b/drivers/gpu/drm/drm_bridge_connector.c
index 0869b663f17e..a4fbf1eb7ac5 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/drm_bridge_connector.c
+++ b/drivers/gpu/drm/drm_bridge_connector.c
@@ -443,10 +443,8 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
@ -45,14 +44,13 @@ index 0869b663f17e..a4fbf1eb7ac5 100644
drm_connector_helper_add(connector, &drm_bridge_connector_helper_funcs);
--
2.45.2
Armbian
From 10b2bc0b5dd7ea1224f04567022dedc3a1830ca0 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Fri, 26 Jul 2024 02:54:52 +0300
Subject: [PATCH 2/7] dt-bindings: display: bridge: Add schema for Synopsys DW
HDMI QP TX IP
Subject: dt-bindings: display: bridge: Add schema for Synopsys DW HDMI QP TX
IP
Add dt-binding schema containing the common properties for the Synopsys
DesignWare HDMI QP TX controller.
@ -62,13 +60,12 @@ referenced by platform-specific bindings for this IP core.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../display/bridge/synopsys,dw-hdmi-qp.yaml | 66 +++++++++++++++++++
Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi-qp.yaml | 66 ++++++++++
1 file changed, 66 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi-qp.yaml
diff --git a/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi-qp.yaml b/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi-qp.yaml
new file mode 100644
index 000000000000..d8aee12b121d
index 000000000000..111111111111
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi-qp.yaml
@@ -0,0 +1,66 @@
@ -139,13 +136,12 @@ index 000000000000..d8aee12b121d
+
+additionalProperties: true
--
2.45.2
Armbian
From 61b5f6860e545fb8b76c4d011af8674122d13a49 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Mon, 20 May 2024 14:49:50 +0300
Subject: [PATCH 3/7] drm/bridge: synopsys: Add DW HDMI QP TX Controller driver
Subject: drm/bridge: synopsys: Add DW HDMI QP TX Controller driver
The Synopsys DesignWare HDMI 2.1 Quad-Pixel (QP) TX Controller supports
the following features, among others:
@ -171,16 +167,13 @@ Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
drivers/gpu/drm/bridge/synopsys/Kconfig | 8 +
drivers/gpu/drm/bridge/synopsys/Makefile | 2 +
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 748 +++++++++++++++++
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h | 834 +++++++++++++++++++
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 748 +++++++++
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h | 834 ++++++++++
include/drm/bridge/dw_hdmi_qp.h | 37 +
5 files changed, 1629 insertions(+)
create mode 100644 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
create mode 100644 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h
create mode 100644 include/drm/bridge/dw_hdmi_qp.h
diff --git a/drivers/gpu/drm/bridge/synopsys/Kconfig b/drivers/gpu/drm/bridge/synopsys/Kconfig
index 15fc182d05ef..ca416dab156d 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/bridge/synopsys/Kconfig
+++ b/drivers/gpu/drm/bridge/synopsys/Kconfig
@@ -46,6 +46,14 @@ config DRM_DW_HDMI_CEC
@ -199,7 +192,7 @@ index 15fc182d05ef..ca416dab156d 100644
tristate
select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/bridge/synopsys/Makefile b/drivers/gpu/drm/bridge/synopsys/Makefile
index ce715562e9e5..9869d9651ed1 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/bridge/synopsys/Makefile
+++ b/drivers/gpu/drm/bridge/synopsys/Makefile
@@ -5,4 +5,6 @@ obj-$(CONFIG_DRM_DW_HDMI_GP_AUDIO) += dw-hdmi-gp-audio.o
@ -211,7 +204,7 @@ index ce715562e9e5..9869d9651ed1 100644
obj-$(CONFIG_DRM_DW_MIPI_DSI) += dw-mipi-dsi.o
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
new file mode 100644
index 000000000000..6c144249e610
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
@@ -0,0 +1,748 @@
@ -965,7 +958,7 @@ index 000000000000..6c144249e610
+MODULE_ALIAS("platform:dw-hdmi-qp");
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h
new file mode 100644
index 000000000000..2115b8ef0bd6
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h
@@ -0,0 +1,834 @@
@ -1805,7 +1798,7 @@ index 000000000000..2115b8ef0bd6
+#endif /* __DW_HDMI_QP_H__ */
diff --git a/include/drm/bridge/dw_hdmi_qp.h b/include/drm/bridge/dw_hdmi_qp.h
new file mode 100644
index 000000000000..7ec18d8091d6
index 000000000000..111111111111
--- /dev/null
+++ b/include/drm/bridge/dw_hdmi_qp.h
@@ -0,0 +1,37 @@
@ -1847,14 +1840,13 @@ index 000000000000..7ec18d8091d6
+void dw_hdmi_qp_resume(struct device *dev, struct dw_hdmi_qp *hdmi);
+#endif /* __DW_HDMI_QP__ */
--
2.45.2
Armbian
From c6f1df902a1877210008527b568ffd37c772ce13 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Fri, 26 Jul 2024 03:07:04 +0300
Subject: [PATCH 4/7] dt-bindings: display: rockchip: Add schema for RK3588
HDMI TX Controller
Subject: dt-bindings: display: rockchip: Add schema for RK3588 HDMI TX
Controller
Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI 2.1
Quad-Pixel (QP) TX controller IP.
@ -1864,13 +1856,12 @@ previous generations of Rockchip SoCs, add a dedicated binding file.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
.../display/rockchip/rockchip,dw-hdmi-qp.yaml | 188 ++++++++++++++++++
Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml | 188 ++++++++++
1 file changed, 188 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml
new file mode 100644
index 000000000000..33572c88a589
index 000000000000..111111111111
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml
@@ -0,0 +1,188 @@
@ -2063,13 +2054,12 @@ index 000000000000..33572c88a589
+ };
+ };
--
2.45.2
Armbian
From 625148b9625da7ad7a3623b8057010a7ae05952d Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Wed, 17 Jul 2024 03:34:36 +0300
Subject: [PATCH 5/7] drm/rockchip: Explicitly include bits header
Subject: drm/rockchip: Explicitly include bits header
Driver makes use of the BIT() macro, but relies on the bits header being
implicitly included.
@ -2086,7 +2076,7 @@ Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
index bbb9e0bf6804..8d566fcd80a2 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
@@ -12,9 +12,10 @@
@ -2102,13 +2092,12 @@ index bbb9e0bf6804..8d566fcd80a2 100644
#define ROCKCHIP_MAX_FB_BUFFER 3
#define ROCKCHIP_MAX_CONNECTOR 2
--
2.45.2
Armbian
From b70f862d9c5273f785e9c81e0c53db8c4b09faab Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Sat, 6 Jul 2024 03:22:35 +0300
Subject: [PATCH 6/7] drm/rockchip: Add basic RK3588 HDMI output support
Subject: drm/rockchip: Add basic RK3588 HDMI output support
The RK3588 SoC family integrates the newer Synopsys DesignWare HDMI 2.1
Quad-Pixel (QP) TX controller IP and a HDMI/eDP TX Combo PHY based on a
@ -2121,16 +2110,15 @@ Co-developed-by: Algea Cao <algea.cao@rock-chips.com>
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
drivers/gpu/drm/rockchip/Kconfig | 8 +
drivers/gpu/drm/rockchip/Makefile | 1 +
.../gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 430 ++++++++++++++++++
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +
drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 1 +
drivers/gpu/drm/rockchip/Kconfig | 8 +
drivers/gpu/drm/rockchip/Makefile | 1 +
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 430 ++++++++++
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +
drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 1 +
5 files changed, 442 insertions(+)
create mode 100644 drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig
index 7df875e38517..4da7cef24f57 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/Kconfig
+++ b/drivers/gpu/drm/rockchip/Kconfig
@@ -8,6 +8,7 @@ config DRM_ROCKCHIP
@ -2156,7 +2144,7 @@ index 7df875e38517..4da7cef24f57 100644
bool "Rockchip specific extensions for Synopsys DW MIPI DSI"
select GENERIC_PHY_MIPI_DPHY
diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile
index 3ff7b21c0414..3eab662a5a1d 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/Makefile
+++ b/drivers/gpu/drm/rockchip/Makefile
@@ -11,6 +11,7 @@ rockchipdrm-$(CONFIG_ROCKCHIP_VOP) += rockchip_drm_vop.o rockchip_vop_reg.o
@ -2169,7 +2157,7 @@ index 3ff7b21c0414..3eab662a5a1d 100644
rockchipdrm-$(CONFIG_ROCKCHIP_LVDS) += rockchip_lvds.o
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
new file mode 100644
index 000000000000..e04417940573
index 000000000000..111111111111
--- /dev/null
+++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
@@ -0,0 +1,430 @@
@ -2604,7 +2592,7 @@ index 000000000000..e04417940573
+ },
+};
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 44d769d9234d..04ef7a2c3833 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -503,6 +503,8 @@ static int __init rockchip_drm_init(void)
@ -2617,7 +2605,7 @@ index 44d769d9234d..04ef7a2c3833 100644
CONFIG_ROCKCHIP_DW_MIPI_DSI);
ADD_ROCKCHIP_SUB_DRIVER(inno_hdmi_driver, CONFIG_ROCKCHIP_INNO_HDMI);
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
index 8d566fcd80a2..24b4ce5ceaf1 100644
index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
@@ -88,6 +88,7 @@ int rockchip_drm_encoder_set_crtc_endpoint_id(struct rockchip_encoder *rencoder,
@ -2629,14 +2617,12 @@ index 8d566fcd80a2..24b4ce5ceaf1 100644
extern struct platform_driver inno_hdmi_driver;
extern struct platform_driver rockchip_dp_driver;
--
2.45.2
Armbian
From e7fc4fbd45f0b18442e94ab60a29a71f435d6103 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Thu, 11 Jul 2024 14:48:43 +0300
Subject: [PATCH 7/7] arm64: defconfig: Enable Rockchip extensions for Synopsys
DW HDMI QP
Subject: arm64: defconfig: Enable Rockchip extensions for Synopsys DW HDMI QP
Enable Rockchip specific extensions for the Synopsys DesignWare HDMI QP
driver.
@ -2649,10 +2635,10 @@ Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 7d32fca64996..d8b6419d9724 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -864,6 +864,7 @@ CONFIG_ROCKCHIP_VOP2=y
@@ -865,6 +865,7 @@ CONFIG_ROCKCHIP_VOP2=y
CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
@ -2661,5 +2647,5 @@ index 7d32fca64996..d8b6419d9724 100644
CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_LVDS=y
--
2.45.2
Armbian

View File

@ -1,20 +1,20 @@
From 719faa1ed1fbe8b998cd3c2d3f846503767bbf8c Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Mon, 15 Jan 2024 22:47:41 +0200
Subject: [PATCH 1/6] arm64: dts: rockchip: Add HDMI0 bridge to rk3588
Subject: arm64: dts: rockchip: Add HDMI0 bridge to rk3588
Add DT node for the HDMI0 bridge found on RK3588 SoC.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 42 +++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 42 ++++++++++
1 file changed, 42 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index b6e4df180f0b..c24c042818d9 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1254,6 +1254,48 @@ i2s9_8ch: i2s@fddfc000 {
@@ -1405,6 +1405,48 @@ i2s9_8ch: i2s@fddfc000 {
status = "disabled";
};
@ -64,14 +64,12 @@ index b6e4df180f0b..c24c042818d9 100644
compatible = "rockchip,rk3588-qos", "syscon";
reg = <0x0 0xfdf35000 0x0 0x20>;
--
2.45.2
Armbian
From fe5d3825918416dce3c060d0d8397a425e87d6f8 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Date: Tue, 16 Jan 2024 03:13:38 +0200
Subject: [PATCH 4/6] [WIP] arm64: dts: rockchip: Enable HDMI0 PHY clk provider
on rk3588
Subject: [WIP] arm64: dts: rockchip: Enable HDMI0 PHY clk provider on rk3588
The HDMI0 PHY can be used as a clock provider on RK3588, hence add the
missing #clock-cells property.
@ -80,10 +78,10 @@ missing #clock-cells property.
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index c24c042818d9..90b4aa04ce1e 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -2696,6 +2696,7 @@ hdptxphy_hdmi0: phy@fed60000 {
@@ -2847,6 +2847,7 @@ hdptxphy_hdmi0: phy@fed60000 {
reg = <0x0 0xfed60000 0x0 0x2000>;
clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>;
clock-names = "ref", "apb";
@ -92,4 +90,5 @@ index c24c042818d9..90b4aa04ce1e 100644
resets = <&cru SRST_HDPTX0>, <&cru SRST_P_HDPTX0>,
<&cru SRST_HDPTX0_INIT>, <&cru SRST_HDPTX0_CMN>,
--
2.45.2
Armbian

View File

@ -1,14 +1,14 @@
From 9e44204e18695761c90996a5031e50afa61420d3 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Muhammed Efe Cetin <efectn@protonmail.com>
Date: Thu, 16 Nov 2023 18:15:09 +0300
Subject: [PATCH] arm64: dts: Add missing nodes to Orange Pi 5 Plus
Subject: arm64: dts: Add missing nodes to Orange Pi 5 Plus
---
.../dts/rockchip/rk3588-orangepi-5-plus.dts | 217 +++++++++++++++++-
1 file changed, 216 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 221 +++++++++-
1 file changed, 218 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
index e74871491ef5..72eb082732c6 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
@@ -10,6 +10,7 @@
@ -19,8 +19,8 @@ index e74871491ef5..72eb082732c6 100644
#include "rk3588.dtsi"
/ {
@@ -85,6 +86,17 @@ led {
};
@@ -72,6 +73,17 @@ ir-receiver {
pinctrl-0 = <&ir_receiver_pin>;
};
+ hdmi0-con {
@ -34,9 +34,22 @@ index e74871491ef5..72eb082732c6 100644
+ };
+ };
+
fan: pwm-fan {
compatible = "pwm-fan";
cooling-levels = <0 70 75 80 100>;
gpio-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -98,10 +110,10 @@ pwm-leds {
led {
color = <LED_COLOR_ID_GREEN>;
- function = LED_FUNCTION_INDICATOR;
- function-enumerator = <2>;
+ function = LED_FUNCTION_HEARTBEAT;
max-brightness = <255>;
pwms = <&pwm2 0 25000 0>;
+ linux,default-trigger = "heartbeat";
};
};
@@ -158,6 +170,20 @@ daicodec: simple-audio-card,codec {
};
};
@ -135,8 +148,8 @@ index e74871491ef5..72eb082732c6 100644
};
&pinctrl {
+ hdmirx {
+ hdmirx_5v_detection: hdmirx-5v-detection {
+ hdmirx {
+ hdmirx_hpd: hdmirx-hpd {
+ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
@ -227,7 +240,7 @@ index e74871491ef5..72eb082732c6 100644
};
+&usb_host0_xhci {
+ dr_mode = "host";
+ dr_mode = "otg";
+ usb-role-switch;
+ status = "okay";
+
@ -263,7 +276,7 @@ index e74871491ef5..72eb082732c6 100644
+};
+
+&hdmi0 {
+ enable-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
+ enable-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+};
+
@ -279,15 +292,15 @@ index e74871491ef5..72eb082732c6 100644
+ };
+};
+
+&hdmi_receiver {
+ hpd = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_5v_detection>;
+ pinctrl-names = "default";
+ status = "okay";
+&hdmi_receiver_cma {
+ status = "disabled";
+};
+
+&hdmi_receiver_cma {
+ status = "okay";
+&hdmi_receiver {
+ hpd-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_hpd>;
+ pinctrl-names = "default";
+ status = "disabled";
+};
+
+&vop {
@ -305,5 +318,5 @@ index e74871491ef5..72eb082732c6 100644
+ };
+};
--
2.45.2
Armbian

View File

@ -2,6 +2,7 @@
dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
rockchip-rk3588-sata1.dtbo \
rockchip-rk3588-sata2.dtbo \
rockchip-rk3588-hdmirx.dtbo \
rockchip-rk3588-i2c8-m2.dtbo \
rockchip-rk3588-pwm0-m0.dtbo \
rockchip-rk3588-pwm0-m1.dtbo \

View File

@ -0,0 +1,20 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&hdmi_receiver_cma>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&hdmi_receiver>;
__overlay__ {
status = "okay";
};
};
};