From nobody Fri Jun 12 12:48:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 673DC3F7A9E; Fri, 15 May 2026 07:56:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831808; cv=none; b=b6TDd/Pn3ZpCYinuRiyJPrP6OAz4IrPy5qMKDq6xc3NUinNpeFEC902OkfohbRIDR7mppq7S7nlJaapn9IBgjQKh8LRBlVcaxCZy52NRhUjBHmqxTOHnsHPxfu+ZrcSX7cE1KgcZodiXKcf4MxmTpPinHCU01XjQGE20mr5PncY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831808; c=relaxed/simple; bh=5x7Ln4iaXdF3MSB6XJc9r1qugg8DjCeCJV/XznDnxs4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D7bwvfZZ4R1QsBDuMGjjNlcX27mc+Gx04m2BLHkpUyw8L0S+R+RurSbAnMizPKz2ws0/caFECd5Akookj7QL6xPoMtXYQFiNNTQCYNe6CKw43CCMOfj2xSAfDTUxhBjuTkGmjWw7xP1RZcnPxpcrNtneShmG2mLVkrdVOi67TYU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=BLH7KkRX; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="BLH7KkRX" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2D0718FA; Fri, 15 May 2026 09:56:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1778831793; bh=5x7Ln4iaXdF3MSB6XJc9r1qugg8DjCeCJV/XznDnxs4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=BLH7KkRXByjpKTqdiiNG0jC4Y/Y2WJ0TrN0Ql2omAR1JbpoCejkKTamtxXuZpBEMv Y1Xkp5zWOSPaB0dDgVNiaGJM23H/14cApmtKsfPoDkGH8KiXg6MPmtt4J6yCkYRjgB p1fZoyHux6+DtTQeyo80GCsx/kPLe+QsoKmjP16o= From: Tomi Valkeinen Date: Fri, 15 May 2026 10:56:14 +0300 Subject: [PATCH v2 1/5] clk: renesas: r8a779g0: Add DSC clock Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-rcar-du-dsc-v2-1-f6b9240a1240@ideasonboard.com> References: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> In-Reply-To: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Marek Vasut , Laurent Pinchart , Kieran Bingham , Philipp Zabel Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Tomi Valkeinen X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=929; i=tomi.valkeinen+renesas@ideasonboard.com; h=from:subject:message-id; bh=Sa58pHpMpn9uJbYQtT/HcZDpP5JrbrhbJQzUT3AA1cQ=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqBtG2U9cU1ezkVTjg+KIlD7zGzcdR7RQsVSAuG dCHqlOgIQKJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCagbRtgAKCRD6PaqMvJYe 9WtKD/9TBSO8xPGVzKWm80tuSnVIdAilfZTNvmiMKO/LQk+QIfGqTbe6IhVRouBUJ4EB9mHTfJ2 oxEdISJFctAvGUIcbXPrVNHkw+cAHe0PzL2hlbKcp/TYx4aXxgaX9InHh0VtfD56RueQaYgXGnq QjAWOrDQbRaDrrFeoYtjUC2sQpToT9ICpc1AXLnrpHZNkZiGBN/Nou1Zw+2gygUz0aplcLo45Fl SUnOL4g7I0Bc+ZNuUSjtjJk6OpC8rWaehpq1G5lvPXuJiye9Z7PlyHkilkhKspVbnk2zFXbeVyI l+UIu/jeVQJ8SPNCvHDIALH3QdmyWutjA2upFkVl5CuI+ohZ04IRyFL4RMfkaJY8wb+u0fF2F3G OlrCHFVVq8rR1Hp+5c9yPJe45xoDWIwATBwwJLMU0n8YlHH3ftEq+5BUAEKhRqKmVTOrDJSHq5f IUnXzvSS4Lrn8/KU8jTSwwjJh1QAAYhuXbO6ilhiX5+DQ/YvjXypCJrd/eIf53hLB9E6cpFJJWa ent1HrwnYSoyZzBgOrHIbEbMRoWiasMly6FKbOnZrJLDPgbFrfJNq5OhmIbWjXGj+MXv1QaXGlZ igiRll3Jrocd1T/8UKMSCZBO4pSrDHy3WrXZ/puCrhxsgmFPScawUvpdQkhWtmzKE4ZOZffhgV2 0St/9gVWiFhFgwA== X-Developer-Key: i=tomi.valkeinen+renesas@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 From: Marek Vasut Add the DSC module clock for Renesas R-Car V4H (R8A779G0) SoC. Signed-off-by: Marek Vasut Signed-off-by: Tomi Valkeinen --- drivers/clk/renesas/r8a779g0-cpg-mssr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/renesas/r8a779g0-cpg-mssr.c b/drivers/clk/renesas/= r8a779g0-cpg-mssr.c index 015b9773cc55..54ba76ff5ab0 100644 --- a/drivers/clk/renesas/r8a779g0-cpg-mssr.c +++ b/drivers/clk/renesas/r8a779g0-cpg-mssr.c @@ -245,6 +245,7 @@ static const struct mssr_mod_clk r8a779g0_mod_clks[] __= initconst =3D { DEF_MOD("fcpvx0", 1100, R8A779G0_CLK_S0D1_VIO), DEF_MOD("fcpvx1", 1101, R8A779G0_CLK_S0D1_VIO), DEF_MOD("tsn", 2723, R8A779G0_CLK_S0D4_HSC), + DEF_MOD("dsc", 2819, R8A779G0_CLK_VIOBUSD2), DEF_MOD("ssiu", 2926, R8A779G0_CLK_S0D6_PER), DEF_MOD("ssi", 2927, R8A779G0_CLK_S0D6_PER), }; --=20 2.43.0 From nobody Fri Jun 12 12:48:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17F7A3F7A87; Fri, 15 May 2026 07:56:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831811; cv=none; b=uyalF+ovYAL6e3LOAeLQ+oqoysCxlEvGsHGCEyx3AIc2jB6B9IRwHO4alyuT2cpFbkZbNOjdvMSvpk2aWv4xiuqpwRZTbVqQVru1F8uS6L6DE8TivEjb3s+WcT8W2IOllwifvOFS5K6jYxt8UP7TMAqo+GH/cToUCbGQimEu3xE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831811; c=relaxed/simple; bh=kHksZJfpFMV47h8nwdHcFDKgVfCurmMft/yFeQpokLU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iVfBrAIQ09SIOA9Jga3sn24D0TgmCRhRxCi5jHsk2WG2W13pceznnFAHVaYmNwhPurhMGEe2cJJHTf7CtNYsuYh3Wqe+bAVYGGPGH5nDABXlkuRnsrWBrFAM1B0nU79k1RDPbhqLKcAMbVUJCT471G6SEHG7tIStuPs6XEFKmSo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=CjtyTl7B; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="CjtyTl7B" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A6641DF3; Fri, 15 May 2026 09:56:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1778831795; bh=kHksZJfpFMV47h8nwdHcFDKgVfCurmMft/yFeQpokLU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=CjtyTl7BKFORFxXGnJeNvzbmSSVUqrxquhD21HgFSdeVL8I8/1KCtAO01MdUovqHy lCZbSnK24bWQAcwqqT6v5mUzRaRlDBecdtKlizgrz8We81Pi0aJWQbNYeH1Ivpp88w EuWYHcQsWF2l3sRE0pLSBRRjwKXnbLr5VS/gGJAU= From: Tomi Valkeinen Date: Fri, 15 May 2026 10:56:15 +0300 Subject: [PATCH v2 2/5] dt-bindings: display: bridge: Document Renesas R-Car V4H DSC bindings Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-rcar-du-dsc-v2-2-f6b9240a1240@ideasonboard.com> References: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> In-Reply-To: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Marek Vasut , Laurent Pinchart , Kieran Bingham , Philipp Zabel Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Tomi Valkeinen X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3100; i=tomi.valkeinen+renesas@ideasonboard.com; h=from:subject:message-id; bh=2I8UDeCqT/cBmhnGJPNLMM2v8v1+nikKwEBiZMwtls4=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqBtG2M72BZzHevVD8zRuqeGWA/kb2BC2cu1W8W /sf8JS0C6GJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCagbRtgAKCRD6PaqMvJYe 9SuND/97d4q15M/MxEJqemEDlJuPGo3MYsLEmpCOe4VcccZcdIasFG1Y8xuVhcKNeIRB4ceEBij zxxiJM9HCZW985QX/XYqR0V7rznlqUpIxVFxs7kRpNY9QvWWrvoZoCl/RbheecYSiEIftyKD2SQ nd7HtIK39JI5SZ+1aLHs6rEk5H7XEyaDxBVV5zBguOox6r1y2faVBheqey7io+23NVp/Fha7mao +F7OGlt8mPSiLnp2ahTR7yAeLZkoWEPqfqnidmnYE190W2VQ+ywOofeiNlt1Hlu7NAUNkp2yrEm nUiZTKnoAMDLfQalS71D5UJOwpFs4GRPLkkKOWEtdVU9wBZ7LIptfV6VyD8pUOyV/e+RaA9rkFl YvuxEH73Iu1ZlnuRPHH0NSy17NO3UH1y8lMwzJtvJJFVCJ+I1CsSemopxPnOqnSZC3xVl9Yb5Ji T6kVrMFDK7lYz1NPqzRAyP5tdoyIwZp7pLACOj66QBmAqNxBm/PISPwdlDmSH7l9/P28a55gDfA VTnCQrO4YnSfiRNm5COKCKFkm5XM/czcN3KdXiSwpAR+0q/TQAdYH+s3pq3CSsnvDDTAWnrgPSo iPB48b+xc5TOGQcSMlBkrM3d0p+P9cbprW4R5zeLQxM91R2312LjrHzQzIJPLjCH0MEn7EK3cOb 9Bhmw/XB2E92Iiw== X-Developer-Key: i=tomi.valkeinen+renesas@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 From: Marek Vasut The Renesas DSC Display Stream Compression is a bridge embedded in the Renesas R-Car V4H SoC. The bridge performs VESA DSC encoding of up to 8k or 400 Mpixel/s . Signed-off-by: Marek Vasut [tomi.valkeinen: fix the example] Signed-off-by: Tomi Valkeinen Acked-by: Conor Dooley --- .../bindings/display/bridge/renesas,dsc.yaml | 96 ++++++++++++++++++= ++++ 1 file changed, 96 insertions(+) diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsc.y= aml b/Documentation/devicetree/bindings/display/bridge/renesas,dsc.yaml new file mode 100644 index 000000000000..2918d592732b --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsc.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/renesas,dsc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas R-Car DSC Display Stream Compression + +maintainers: + - Marek Vasut + +description: | + This binding describes the VESA DSC Display Stream Compression encoder + embedded in the Renesas R-Car V4H SoC. The encoder supports all DSC1.1 + encoding mechanisms, configurable bits-per-pixel, resolution up to 8k. + +properties: + compatible: + const: renesas,r8a779g0-dsc + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + resets: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: R-Car DU input port + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: R-Car DSI output port + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - clocks + - interrupts + - power-domains + - resets + - ports + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + + dsc@feb8d000 { + compatible =3D "renesas,r8a779g0-dsc"; + reg =3D <0xfeb8d000 0x400>; + interrupts =3D ; + clocks =3D <&cpg CPG_MOD 2819>; + power-domains =3D <&sysc R8A779G0_PD_ALWAYS_ON>; + resets =3D <&cpg 2819>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + dsc_in_dsi1: endpoint { + remote-endpoint =3D <&du_out_dsi1>; + }; + }; + + port@1 { + reg =3D <1>; + dsc_out_dsi1: endpoint { + remote-endpoint =3D <&dsi1_in>; + }; + }; + }; + }; +... --=20 2.43.0 From nobody Fri Jun 12 12:48:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89C4E3FAE15; Fri, 15 May 2026 07:56:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831811; cv=none; b=OZo34p0Tt/pBLywtkcKBBX1tP0M9yjpa7i3RFtne1GaD+GDBG50+9VVikc5xJAX6hPpDdGP5kWbj4NPy70c1g8VxpWlbK4hkl4STB/KpyuK+BX3nV9Wq3jtErYVMFtHc0nkQo3yYKPJC2tbkwU7aUAnzeLE86rNNTLfIrOKbo84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831811; c=relaxed/simple; bh=epDgLDQTOQLsxSIGm1FoiCtmVkVYkjcH+hGsLBHI0Wg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K4igIaYb16qgVtVmlRMErdoEDanlAG0i9bR+ywix7lbGMKg3v0qPyIF4p/yPTs83In4IO47z87riQsB5usvXn6a/y382nGKlpTi9etsMYyw+X0QWgGlyvMPZmFzxNhIP0qUiPLqcYyBCQTw+G+9bbWMCxudckbcFoGmNmDLfjJ8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=Zrsgextj; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Zrsgextj" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 315BF1123; Fri, 15 May 2026 09:56:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1778831796; bh=epDgLDQTOQLsxSIGm1FoiCtmVkVYkjcH+hGsLBHI0Wg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZrsgextjoUNnoUpCMrxOazFsNP92NjglB4S+Kh4sDclLL2vS0hrx1xls6s2Iyn79c czFyFy1v2m5Cm/B7L2ffE2zcqEE3MMKM+hgDHHaW3ALhj2DXqMsBUyh+0xoLmZBmJD vnM9oYmaYTdhzvd3/MrTnH5Li0/97PH/1Uxbc9us= From: Tomi Valkeinen Date: Fri, 15 May 2026 10:56:16 +0300 Subject: [PATCH v2 3/5] drm/rcar-du: dsc: Add rudimentary Renesas R-Car V4H DSC driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-rcar-du-dsc-v2-3-f6b9240a1240@ideasonboard.com> References: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> In-Reply-To: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Marek Vasut , Laurent Pinchart , Kieran Bingham , Philipp Zabel Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Tomi Valkeinen X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6866; i=tomi.valkeinen+renesas@ideasonboard.com; h=from:subject:message-id; bh=lZXV9zDNtBcZP1iYgupaF2p7YJZFHlVyrRbo4zRvwrY=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqBtG2n2K6+ESQiGuf0Z3InZuqI6KHNMFDCQ+B/ 2Dowh+mpyyJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCagbRtgAKCRD6PaqMvJYe 9bgzD/4wEz1xGMjXTLYI1GUAeT4MMtOLEa6SY2rLJRE6sTkjbwrPkTdYBGNTJY6tNbN6AZEB6yL vJVWLBy45ocWk86Xg8fuTJ2BSD0fVy+C8s5Wd7NIp4GmCR3tmfa1S7igIdZ1UrXC7EAnsu4IatA oV4W71wvD2PgvSYgH1nMMHMOZevd4jX8ixvZ3BRn6jfKLviaUD5WwYxcv+5g9u93a6ClzhhJer+ /4TgSHWRJ7NvdNrjqsos/ONW816M4fUaLDIYOBbxDnQN8PVas0u415zVwnDBayGL4qzFPcBgO7a Y+Papj5mF4xUw3jqJAZ4yEQKtkS0e8ZLhRjdUzG23OQzojjRSeRCs/7MK/s7zTms8R4Tz8LlQfC uB1C8TtJatQYJSQERQlqmPLmWSjqgauwfsUs0qlCGlpO7CpsHLOk9SFhGjNyZvq3Bap4wcsX9fD wgzyo+BHNPMhlt8O4w6/iPbYvAP3RpAToFvOALuFbaWIWaw66E6wEC4vNqwf3wJczYidMVW9BCU ja49vlw9Ip9VdkdQyvmblQxq7kOr1TweuseH6vANHKEbPZvCMGD8wy/oBWJD5VSepWFYt8bbqoL Z/3H6Uv20uNGwkxNwaq6N2/SH4Uh9xEyNHvch0mC3BBN7wtRKSDV+I7C3Jy3Xzb8GIg5cpRN7Af PPxW4SviNYBhXLw== X-Developer-Key: i=tomi.valkeinen+renesas@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 From: Marek Vasut The Renesas DSC Display Stream Compression is a bridge embedded in the Renesas R-Car V4H SoC. The bridge performs VESA DSC encoding of up to 8k or 400 Mpixel/s . Add rudimentary driver, which currently acts as a pass-through bridge and allows DSI1 to be operational on R-Car V4H. Signed-off-by: Marek Vasut [tomi.valkeinen: use bridge->next_bridge, minor changes] Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/renesas/rcar-du/Kconfig | 13 +++ drivers/gpu/drm/renesas/rcar-du/Makefile | 1 + drivers/gpu/drm/renesas/rcar-du/rcar_dsc.c | 163 +++++++++++++++++++++++++= ++++ 3 files changed, 177 insertions(+) diff --git a/drivers/gpu/drm/renesas/rcar-du/Kconfig b/drivers/gpu/drm/rene= sas/rcar-du/Kconfig index 840305fdeb49..a51f996d3537 100644 --- a/drivers/gpu/drm/renesas/rcar-du/Kconfig +++ b/drivers/gpu/drm/renesas/rcar-du/Kconfig @@ -33,6 +33,19 @@ config DRM_RCAR_DW_HDMI help Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder. =20 +config DRM_RCAR_USE_DSC + bool "R-Car DU DSC Encoder Support" + depends on DRM_BRIDGE && OF + depends on DRM_RCAR_DU || COMPILE_TEST + default DRM_RCAR_DU + help + Enable support for the R-Car Display Unit embedded DSC encoder. + +config DRM_RCAR_DSC + def_tristate DRM_RCAR_DU + depends on DRM_RCAR_USE_DSC + select RESET_CONTROLLER + config DRM_RCAR_USE_LVDS bool "R-Car DU LVDS Encoder Support" depends on DRM_BRIDGE && OF diff --git a/drivers/gpu/drm/renesas/rcar-du/Makefile b/drivers/gpu/drm/ren= esas/rcar-du/Makefile index 6f132325c8b7..cc27b2265d94 100644 --- a/drivers/gpu/drm/renesas/rcar-du/Makefile +++ b/drivers/gpu/drm/renesas/rcar-du/Makefile @@ -12,5 +12,6 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_WRITEBACK) +=3D rcar_du_wri= teback.o obj-$(CONFIG_DRM_RCAR_CMM) +=3D rcar_cmm.o obj-$(CONFIG_DRM_RCAR_DU) +=3D rcar-du-drm.o obj-$(CONFIG_DRM_RCAR_DW_HDMI) +=3D rcar_dw_hdmi.o +obj-$(CONFIG_DRM_RCAR_DSC) +=3D rcar_dsc.o obj-$(CONFIG_DRM_RCAR_LVDS) +=3D rcar_lvds.o obj-$(CONFIG_DRM_RCAR_MIPI_DSI) +=3D rcar_mipi_dsi.o diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_dsc.c b/drivers/gpu/drm/r= enesas/rcar-du/rcar_dsc.c new file mode 100644 index 000000000000..2ab5a4bb099c --- /dev/null +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_dsc.c @@ -0,0 +1,163 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * R-Car DSC Encoder + * + * Copyright (C) 2025 Marek Vasut + * Copyright (C) 2025 Renesas Electronics Corporation + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +struct rcar_dsc { + struct drm_bridge bridge; + + struct device *dev; + void __iomem *mmio; + struct clk *clk; + struct reset_control *rst; +}; + +static inline struct rcar_dsc *bridge_to_rcar_dsc(struct drm_bridge *bridg= e) +{ + return container_of(bridge, struct rcar_dsc, bridge); +} + +/* -----------------------------------------------------------------------= ------ + * Bridge + */ + +static int rcar_dsc_attach(struct drm_bridge *bridge, + struct drm_encoder *encoder, + enum drm_bridge_attach_flags flags) +{ + struct rcar_dsc *dsc =3D bridge_to_rcar_dsc(bridge); + + if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) + return -EINVAL; + + return drm_bridge_attach(encoder, dsc->bridge.next_bridge, bridge, + DRM_BRIDGE_ATTACH_NO_CONNECTOR); +} + +static void rcar_dsc_atomic_enable(struct drm_bridge *bridge, + struct drm_atomic_state *state) +{ + struct rcar_dsc *dsc =3D bridge_to_rcar_dsc(bridge); + + WARN_ON(clk_prepare_enable(dsc->clk)); + WARN_ON(reset_control_deassert(dsc->rst)); +} + +static void rcar_dsc_atomic_disable(struct drm_bridge *bridge, + struct drm_atomic_state *state) +{ + struct rcar_dsc *dsc =3D bridge_to_rcar_dsc(bridge); + + reset_control_assert(dsc->rst); + clk_disable_unprepare(dsc->clk); +} + +static enum drm_mode_status +rcar_dsc_bridge_mode_valid(struct drm_bridge *bridge, + const struct drm_display_info *info, + const struct drm_display_mode *mode) +{ + if (mode->hdisplay < 320 || mode->hdisplay > 8190) + return MODE_BAD_HVALUE; + + if (mode->vdisplay < 160 || mode->vdisplay > 8190) + return MODE_BAD_VVALUE; + + if (mode->clock > 400000) /* Really 400 Mpixel/s */ + return MODE_CLOCK_HIGH; + + return MODE_OK; +} + +static const struct drm_bridge_funcs rcar_dsc_bridge_ops =3D { + .attach =3D rcar_dsc_attach, + .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, + .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, + .atomic_reset =3D drm_atomic_helper_bridge_reset, + .atomic_enable =3D rcar_dsc_atomic_enable, + .atomic_disable =3D rcar_dsc_atomic_disable, + .mode_valid =3D rcar_dsc_bridge_mode_valid, +}; + +/* -----------------------------------------------------------------------= ------ + * Probe & Remove + */ + +static int rcar_dsc_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct device_node *remote; + struct rcar_dsc *dsc; + + dsc =3D devm_drm_bridge_alloc(dev, struct rcar_dsc, bridge, + &rcar_dsc_bridge_ops); + if (IS_ERR(dsc)) + return PTR_ERR(dsc); + + platform_set_drvdata(pdev, dsc); + + dsc->dev =3D &pdev->dev; + + /* Acquire resources. */ + dsc->mmio =3D devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(dsc->mmio)) + return PTR_ERR(dsc->mmio); + + dsc->clk =3D devm_clk_get(dev, NULL); + if (IS_ERR(dsc->clk)) + return dev_err_probe(dev, PTR_ERR(dsc->clk), + "Failed to get CPG clock\n"); + + dsc->rst =3D devm_reset_control_get(dev, NULL); + if (IS_ERR(dsc->rst)) + return dev_err_probe(dev, PTR_ERR(dsc->rst), + "Failed to get CPG reset\n"); + + remote =3D of_graph_get_remote_node(dev->of_node, 1, 0); + if (!remote) + return -EINVAL; + + dsc->bridge.next_bridge =3D of_drm_find_and_get_bridge(remote); + of_node_put(remote); + if (!dsc->bridge.next_bridge) + return -EPROBE_DEFER; + + dsc->bridge.of_node =3D dev->of_node; + + return devm_drm_bridge_add(dev, &dsc->bridge); +} + +static const struct of_device_id rcar_dsc_of_table[] =3D { + { .compatible =3D "renesas,r8a779g0-dsc" }, + {} +}; + +MODULE_DEVICE_TABLE(of, rcar_dsc_of_table); + +static struct platform_driver rcar_dsc_platform_driver =3D { + .probe =3D rcar_dsc_probe, + .driver =3D { + .name =3D "rcar-dsc", + .of_match_table =3D rcar_dsc_of_table, + }, +}; + +module_platform_driver(rcar_dsc_platform_driver); + +MODULE_DESCRIPTION("Renesas R-Car DSC Encoder Driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Fri Jun 12 12:48:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 931CD3EF655; Fri, 15 May 2026 07:56:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831814; cv=none; b=FfQ7GErpHUy9OmUZvJvuWQbCdeH0yM9Y+PPBqFhVp1CYmDpxY5iBuJV8RbGp85p3pd7HxSUVqxxguaLiEGTEitIWkBrzoTnOC8ijgCuLaDwyZfDHjG+4W95uK8KHhGo4P+hRVcqY/OLOm47RLQ4yqtjs3xbxTMQwqlt+23ShSIY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831814; c=relaxed/simple; bh=gBQFB78X4KGzpd0DZyLsXnhD9qIE3f4obIum+k+GS5o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kZcVWpS6H8i8wjmAmj4qCxvknIvghts5nnjmySl8gRmP/eY6g+GGWbvXfotroRaV4dgEHWVIRCUUvGm/f9HpSyc2LeXo4+YIrz5cMJ0LwxB2yCSuZvoLW6sL6OKfHBC/uP219Hb9OpUbgYTJLZWD/yajhAQguUqSwdLiFyoKD8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=I3ZCtmS2; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="I3ZCtmS2" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B10C81337; Fri, 15 May 2026 09:56:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1778831798; bh=gBQFB78X4KGzpd0DZyLsXnhD9qIE3f4obIum+k+GS5o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=I3ZCtmS2M9jvVB9tUwR3xDgYz12AJs28JQDrulU0fckk7wuPsa4BcFPjJKZoP6H+d qL/+eoRThiSYPKaAggi+dBxQfu/hvzGFh6vXQyCFsUqUkXJ8lfP7hP8DSztvJR8niz 3/26+2rVSWWMLE2C5OaN/2MCDbF0E/hxxzTbjTlw= From: Tomi Valkeinen Date: Fri, 15 May 2026 10:56:17 +0300 Subject: [PATCH v2 4/5] drm/rcar-du: dsi: Support DSC in the pipeline Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-rcar-du-dsc-v2-4-f6b9240a1240@ideasonboard.com> References: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> In-Reply-To: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Marek Vasut , Laurent Pinchart , Kieran Bingham , Philipp Zabel Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Tomi Valkeinen X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2997; i=tomi.valkeinen+renesas@ideasonboard.com; h=from:subject:message-id; bh=gBQFB78X4KGzpd0DZyLsXnhD9qIE3f4obIum+k+GS5o=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqBtG3q6ozBUgeLeR+VJ30nREHyXEMve1sOkZTR xbyjxGiDQuJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCagbRtwAKCRD6PaqMvJYe 9RjID/9WAMplmXopUUNqWD2y44x/JVmYqyvm4ZbiME70tsNXFMLDNZnLeswVpp1JZ5IMBIanikP qpF8iIziHv39jNvGkKYJWgSO5hsCNICcwQQVU+N3tIQK9MxRz3EBAFrdMxCmhMqmuAgekOuhvIR AE4+5urWeIba7HUYnNpaoC1IsQUc/1dYBHFrG9s9j2usgOhRy0rDM96Jrpo+f8lw8EIRixDuAoZ ocYss95m6kQhsHiqF9TQtnfCys9PpRx/SbZkRhMFwVFqEnK99JjRqOoD5M1HrnZ/zj9VlUur/Jk ih50kVwFanGpKy5cajMj8yJOcuxHBiECJ1L4Ln/MC+gJrmKGP2tE8gpqMLgUuSkOgvnbNFfM3Ou om1+65soeyYWy5gTAaM37XY69FmD61+/J+fOtTxANnVQc9GQF4zJsZ9YW6p+85KOapQBnPRUXMX L+rJffH6IENfQjjSoJ5eKNbJDoqVFdxKWc4DAKWZRwSFBXipHraHGalH+WmMZ1u0pM2zMS6FsoB DubX1RoSZBWkR6NynHxk/jt4JxgJ9A1HDGgRMwShXgNwnzEKifvzJHDgbbJmtHKHuiaesE830Ap gi8pAdcHS2TnMoy/nSRTRzSki7OlKdGJ58VvruZmvtCdU4tQhisYXFVnmVSXfVinrj3z8STSwY5 U9K+0us038+8XHA== X-Developer-Key: i=tomi.valkeinen+renesas@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 Enabling DSI clocks on rcar-du needs some tricks as the DU dot clock is provided by the DSI. Thus, we call rcar_mipi_dsi_pclk_enable() from the crtc, when enabling the crtc. With DSC (added in upcoming patch) in the pipeline, between the DU and the DSI, the above call path is broken as the crtc tries to call rcar_mipi_dsi_pclk_enable() on the DSC. Adjust the rcar_mipi_dsi_pclk_enable() so that it detects the DSC, and in that case gets the next bridge from the DSC, which is the DSI. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 36 +++++++++++++++++++++= ++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/= drm/renesas/rcar-du/rcar_mipi_dsi.c index 4ef2e3c129ed..085e229bcb0b 100644 --- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c @@ -88,6 +88,8 @@ struct dsi_setup_info { const struct dsi_clk_config *clkset; }; =20 +static const struct drm_bridge_funcs rcar_mipi_dsi_bridge_ops; + static inline struct rcar_mipi_dsi * bridge_to_rcar_mipi_dsi(struct drm_bridge *bridge) { @@ -844,15 +846,39 @@ static void rcar_mipi_dsi_atomic_disable(struct drm_b= ridge *bridge, rcar_mipi_dsi_stop_video(dsi); } =20 +/* + * We need to skip the DSC bridge when we have DSC in between the DU and + * the DSI. We detect the DSI bridge via bridge->funcs, and assume the + * next_bridge is the DSI bridge. If this is not the case, the DT data + * is wrong (so it shouldn't really happen). + */ +static struct drm_bridge * +rcar_mipi_dsi_resolve_bridge(struct drm_bridge *bridge) +{ + if (bridge->funcs !=3D &rcar_mipi_dsi_bridge_ops) + bridge =3D bridge->next_bridge; + + if (!bridge || bridge->funcs !=3D &rcar_mipi_dsi_bridge_ops) + return NULL; + + return bridge; +} + void rcar_mipi_dsi_pclk_enable(struct drm_bridge *bridge, struct drm_atomic_state *state) { - struct rcar_mipi_dsi *dsi =3D bridge_to_rcar_mipi_dsi(bridge); const struct drm_display_mode *mode; struct drm_connector *connector; + struct rcar_mipi_dsi *dsi; struct drm_crtc *crtc; int ret; =20 + bridge =3D rcar_mipi_dsi_resolve_bridge(bridge); + if (WARN_ON(!bridge)) + return; + + dsi =3D bridge_to_rcar_mipi_dsi(bridge); + connector =3D drm_atomic_get_new_connector_for_encoder(state, bridge->encoder); crtc =3D drm_atomic_get_new_connector_state(state, connector)->crtc; @@ -885,7 +911,13 @@ EXPORT_SYMBOL_GPL(rcar_mipi_dsi_pclk_enable); =20 void rcar_mipi_dsi_pclk_disable(struct drm_bridge *bridge) { - struct rcar_mipi_dsi *dsi =3D bridge_to_rcar_mipi_dsi(bridge); + struct rcar_mipi_dsi *dsi; + + bridge =3D rcar_mipi_dsi_resolve_bridge(bridge); + if (WARN_ON(!bridge)) + return; + + dsi =3D bridge_to_rcar_mipi_dsi(bridge); =20 rcar_mipi_dsi_shutdown(dsi); rcar_mipi_dsi_clk_disable(dsi); --=20 2.43.0 From nobody Fri Jun 12 12:48:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA05D3FA5C2; Fri, 15 May 2026 07:56:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831814; cv=none; b=HQ6d2rar7oANjwkqeBJlLBHq2sDMduFo0A0JTv2Y2q+A7eDFbdxn2Djxs/s/Wy1jHfRf+gTSf+XNbJBOQsrQ0F6LCqWEwIEItmmRNIztHx2Pja70Drs29R54F2auUTAlDit0YPQ1EnO1rVUd+tf22mVq6K8WbFhxlpN7ucTvC+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778831814; c=relaxed/simple; bh=CIep6fJfVAhn74HMjDE/V/v4KeGkg+5aWPNFXSJzT0U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mTXgCZNNodf7eYhm5ZnH/GuvCsT1vCgDEzu331rLmscrW3vrrlz6FF51qI7LV67x4iZauDnkBH5UJ3BNRJommGPpPZNq/Y8C/KHdKTzZ3OywZYau1EuMIPDuvQHzl1MfMFQtKFXfPx22Bjt6dUhAyFufddmjHyZogJuzXLQj8ok= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=aCZlCXTk; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="aCZlCXTk" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 3F793149B; Fri, 15 May 2026 09:56:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1778831799; bh=CIep6fJfVAhn74HMjDE/V/v4KeGkg+5aWPNFXSJzT0U=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=aCZlCXTk+ribB7Tk1Q7yeYzLxt6LMShlYBE0PNZyH9MfLrLLjqizIWyfcyltTjwDV 1DLhqzDIDgRs4NgeIhzut3F5OI4rDJzfrxxShbry3GyU++jFgWt0OsTOXc10uNIN4B yRd5Z0NO6euV75McqAheWzuiMQH5UyL5RF8uCtVE= From: Tomi Valkeinen Date: Fri, 15 May 2026 10:56:18 +0300 Subject: [PATCH v2 5/5] arm64: dts: renesas: Add Renesas R-Car V4H DSC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-rcar-du-dsc-v2-5-f6b9240a1240@ideasonboard.com> References: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> In-Reply-To: <20260515-rcar-du-dsc-v2-0-f6b9240a1240@ideasonboard.com> To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Marek Vasut , Laurent Pinchart , Kieran Bingham , Philipp Zabel Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, Tomi Valkeinen X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2322; i=tomi.valkeinen+renesas@ideasonboard.com; h=from:subject:message-id; bh=zG6hvH8cY6/FnPokxtHg066A+36wEiN+1/jJynaivt4=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqBtG3V2D0sCuzzvIDDLjNaQOoP5/uI2Jk+MiI7 i6zYEAqkLiJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCagbRtwAKCRD6PaqMvJYe 9bquEACSnIb46pwik25cjMRUVn+aEm5XkfmxwAfDli3vvEHCOplKE58rCCuu1iBkYV12VEljdC5 aonBbYx+AAJIIugqaOtB4nklDSvTbb8y9m6Fr5kF/dFF74tFGwjqSve0GlRjOxrAc09fu5RptjK eYvWzAT8ANlqiK4brTDpGjict2pfpzIb5uNCwAtGGc0sdZova7Lj4gHMyJfXoR/8YNTrhSq7ApB 8lyTIE7z8jzWDTXmSkCYgTnVDU4GZoVVATVihaTyIwtGGFwCQL/TIG0WXP3XjocZ00KRKRnhTAH LLBSbLOi2+NwgLqJElDhZljOh4dmd5KwE7aUyDbMIVd4GQI5Hle7IPR2365cr6K91QgGwffRRji LV/1BVeH0nydxP3R6l6ECkP4GAJV/5yGJy4GMFazsxUbuzWY84dO5orNBvN+d8Px+CC9pCE7pov Je8tSEp97vbZ5bLkjqVYdM5hpaW75jpFJvcZEuRq3A6kkEAEUsDPByHEc2sPeoMPIYK46LucW8v WEd7gudjM1p0hWx7Rbik39hPuuxeuNxQX9HFV9UNpB4Ta89eenZKMF1BVYY+ilPK75Cg3thi/gk 7Woz7WZpEWQ6hshKvfMvyBcMEfswnVKNHPuzVJlGCxPfRBk/2ok/q30rttslGLZgmJbIjquIsge uE0ssPXJUla4i9Q== X-Developer-Key: i=tomi.valkeinen+renesas@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 From: Marek Vasut The Renesas DSC Display Stream Compression is a bridge embedded in the Renesas R-Car V4H SoC. The bridge is placed between DU and DSI1 units. Describe the bridge in DT and enable it on Retronix Sparrow Hawk board to keep DSI1 operational on this board. Signed-off-by: Marek Vasut Signed-off-by: Tomi Valkeinen --- arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 31 ++++++++++++++++++= +++- .../boot/dts/renesas/r8a779g3-sparrow-hawk.dts | 5 ++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi b/arch/arm64/boot/dt= s/renesas/r8a779g0.dtsi index 82a7278836e5..52a6176f9fd0 100644 --- a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi @@ -2298,6 +2298,35 @@ du_out_dsi0: endpoint { port@1 { reg =3D <1>; du_out_dsi1: endpoint { + remote-endpoint =3D <&dsc_in_dsi1>; + }; + }; + }; + }; + + dsc: dsc@feb8d000 { + compatible =3D "renesas,r8a779g0-dsc"; + reg =3D <0 0xfeb8d000 0 0x400>; + interrupts =3D ; + clocks =3D <&cpg CPG_MOD 2819>; + power-domains =3D <&sysc R8A779G0_PD_ALWAYS_ON>; + resets =3D <&cpg 2819>; + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + dsc_in_dsi1: endpoint { + remote-endpoint =3D <&du_out_dsi1>; + }; + }; + + port@1 { + reg =3D <1>; + dsc_out_dsi1: endpoint { remote-endpoint =3D <&dsi1_in>; }; }; @@ -2534,7 +2563,7 @@ ports { port@0 { reg =3D <0>; dsi1_in: endpoint { - remote-endpoint =3D <&du_out_dsi1>; + remote-endpoint =3D <&dsc_out_dsi1>; }; }; =20 diff --git a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts b/arch/a= rm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts index 812b133cf29e..f418998c6b05 100644 --- a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts +++ b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts @@ -288,6 +288,11 @@ channel4 { }; }; =20 +/* Page 27 / DSI to Display */ +&dsc { + status =3D "okay"; +}; + /* Page 27 / DSI to Display */ &dsi1 { status =3D "okay"; --=20 2.43.0