From nobody Fri Jun 12 21:15:16 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B14243BB675 for ; Tue, 12 May 2026 14:41:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596904; cv=none; b=ahzj7jjFDAPgJJpxQzlQXaPRNs1rIQkNzAV5CLK7cToJNhIrV0I5eBfbnCsqqqBts0M9oiztYEWMDCNBHzK4kDyWeXG/Yh8j3brf+ZvctxOW1yV2YdAi2VsiQm7btGouHOy5JKZ3yIJ5GIGwFEYNhte+dBycrSX/U8MAMajuDbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596904; c=relaxed/simple; bh=6e5su12ZJ7vhdSu5qAUM56C1srarpr16wNr2uJph7Zk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XHkhZqmu28jftHdGmlRpU2QOFzVlr/ONhabmDE+LrMaOV3NB3/me2r8IRFI39lKPGP3kIc/YKLXuHPQ5elOmPLopPSg8uGLOXDF8J6dw0XUL2Dk7efhG+pvS1oQD6CEu1OQvo4eP9+zLEYxiOzbnTdd5stMtA0vPToDFz02+biA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NTJGZUrX; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NTJGZUrX" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-488ad135063so45701635e9.0 for ; Tue, 12 May 2026 07:41:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778596900; x=1779201700; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dZMjl5wlw03SWoU3yFGiKDurKpP+omQjQUlHWLj/NzM=; b=NTJGZUrXaBe8gT+ZdNzuq9M9HcE9EpdIywg2mfO79qi28wfUbpSH/j7BGmriWpSIhT BuXq1yFaIxiGF8Y+AGI8p/soV3g6tAV/W58R9vJFBa7vIXI18f3q5vF8w3wnoVQj94IE 0KyLUeKPtf3cuhyafDJhToctAFflA7w8Xksb2nCCrnPbamAf5xduYvwvEGZ4/ZoSnoDg JS1Z5gWd88gzXUDcd/TpAxfjnxwtYLu4wBnSLdSVDjKSgXhiDY707BqvT9jKxMQ1/b0K g3pKlK4QFqeqUaEa/JKAI91kDwFhQ88Pt+/LIYgvI3sIwtVA/PDi9OUMhdPBdsTgy740 u6mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778596900; x=1779201700; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=dZMjl5wlw03SWoU3yFGiKDurKpP+omQjQUlHWLj/NzM=; b=DK+mF3nn+IYEXyO6xCD6NS73FCCM5R++ISDZF4uawLRnLlP3k+O5YdIJByIjM2IxUe 0S27kofMM2XSh1hjpR64cO5XzLdvltW0lsxz9ksO592iSMEd0R2iM4rI9Rx3VsoC0JAO ATXpvyhrfZkRcdrjqJIDOVvoiSwZlXLvfjzLlceYklqTojCkPmcmCZm9NkyDkaseXfVV 59F+xDC3vSijdhCaUm/BBVCITBBJXN55D8gDKIlK1d7AlJKtxPSc/lpI0MLQfUdya5UX JPVOMqrsrv95GCbLKz3xywexgRI0LXhaba1d8vMQCsghX5A9MWrK0/E8ivI3UPj+UvoT TO5w== X-Forwarded-Encrypted: i=1; AFNElJ85hj1fNR+36GdE8qIbsAHXaOmvfs06shryaqrDDrvlTfowXMbm2vpULx7/arj86M6R2fG++gXqFPvtomo=@vger.kernel.org X-Gm-Message-State: AOJu0Yywryfjv+76X4N+aNunk7QdoyuYvwPnobip+SXWdBVMjYcSCwAB i4xuUq0nBPAlEnGnxYO6ovTwht4ZaErvIj+29n8NxpWGRf2+3DuYnSr+ X-Gm-Gg: Acq92OEvRk29pg88bxqmMeunZ1OmouQZFfGi+E7DJmXvNcZiS8w0Jt1VY+7tBf4vQVR 9X7SL96dxpiKFSCIljdaG8pHn8sDzsURyrgvVMEV70Pfgpaw3Dz2T/RafH8aIi0Zj2B744b+gQ2 zYQaRaS9+CWx63NVhufSUaG5A/5lTQETHDmOgpmjAb+40nkJ0mKhNakCKWtVIPkogfg/JzQrxf/ laReCYLxZG9XgMwBcooHFjO+b06RdtY/u/PdwtcPgvzr0AH1LkqrHxugmH3FHpEFmx5i79OHfCM hiEJkRmrSIyI1VvSjZ4ln+/oORu+hTuuQyJdciZfUP3BCR8QCOU4EcHXY3zpQeAXR8RNlBeq5PW xstdwqShd/dNV7eISuGydQEM7JglzIrLUCrgn2CGsoJ9NYQJiDzBlJGspwDbz0J2ql0+NAbwGOt 4mJjDhfYM8DmgYeVJL7rwzsvT/SoaIysblyeplWBrZsOPe6369EQdwM3wWyyQWlPeTQoqm9wi/Y ihLDyDjSsq4k8pJSqI0 X-Received: by 2002:a05:600c:33a9:b0:487:2439:b7c8 with SMTP id 5b1f17b1804b1-48e51e0bb9amr295666785e9.1.1778596899908; Tue, 12 May 2026 07:41:39 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:77f5:545a:798:321]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491cab9c2sm34978713f8f.31.2026.05.12.07.41.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 07:41:39 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Biju Das , Laurent Pinchart , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Fabrizio Castro , Tommaso Merciai , Lad Prabhakar Subject: [PATCH v3 1/5] dt-bindings: display: renesas,rzg2l-du: Refuse port@1 for RZ/G2UL Date: Tue, 12 May 2026 15:41:00 +0100 Message-ID: <20260512144104.761531-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tommaso Merciai The RZ/G2UL DU supports only a single port@0 DPI. Explicitly refuse port@1 in the ports node. Reviewed-by: Laurent Pinchart Signed-off-by: Tommaso Merciai Signed-off-by: Lad Prabhakar Acked-by: Rob Herring (Arm) --- v3: - Was orignally part of separate series [0] [0] https://lore.kernel.org/all/d1e0d4e0fe74e60345a3d043fb4f9128c1057638.17= 78141145.git.tommaso.merciai.xr@bp.renesas.com/ --- Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yam= l b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml index 2cc66dcef870..5add3b832eab 100644 --- a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml +++ b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml @@ -102,6 +102,7 @@ allOf: properties: port@0: description: DPI + port@1: false =20 required: - port@0 --=20 2.54.0 From nobody Fri Jun 12 21:15:16 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 761AF3BB683 for ; Tue, 12 May 2026 14:41:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596904; cv=none; b=DqO7Qjx4u91F/b31bvXVXIJv7WftHe7CXQJ2Jl0jlOMYVhHwEXDDawQ+qlcbPE5rKv0cuPU+wYLCuZwJDZ8ng0d+P4RlgPgk0uSz+e5tN1pabl8Rtr73zWz+wmJFhGx5uwEIUlUTY8a6L6BD6oUqcLXGtOVmaYkZUjWQ5sM7oBI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596904; c=relaxed/simple; bh=Las8n2PhcqMFxQgtnNLWKwatngfWthlZ919/bJHgRUc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SCXlQkYyKz2urFjrlnrrXuZlcrMPHmt7rS6Ift9ugE/ElCWYkYm27gLBLICa0soxyIrONQnUTxOR50QNGu5XoBVjNdT2DoTNpMg+Dx6t2dpDbLx9ctE2cLBsR4TL0CsWYTRHw9kFgcBgm1FB/JuyWX5ybNgPaFy1uTSeZ7qgLj4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jbPjPf4z; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jbPjPf4z" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-48d102471a4so56117985e9.2 for ; Tue, 12 May 2026 07:41:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778596901; x=1779201701; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q/kJIKcZqxJ8G0thiFyFX6xJiY+UhKIMT0pGQl1UUr4=; b=jbPjPf4zvlQEnn6u2xe1X3Kny3lGvIG+JaiwfoxGtnjxGkQB/JujWmLLZK7X0e2cJH 3X1QkmPvoIULqQ4KHs4b8Hn17nq8B5mDfPCZM6HjlUUzrYBCwsrcS5x0DI1ZSI0AOuK+ Yt+wL6WsYHL3h7pdmhhEA1jqNU3v7AW7A1SFw0At9AzRu/1v7ZlRJmppun5Wir7PAlqp yBK6V2YOgK9vxxD8zwbT5dq1OGdFPMifUXXQkuyq+PFbK2cSfuJixgQ/4ikpzungybgi 2Lw8QgIfNk4Lz43iLado3L/k43RwlVnU6BmOnbogoIqrKbQd6iSRdlRdadPm0uZL3pkb mBVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778596901; x=1779201701; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=q/kJIKcZqxJ8G0thiFyFX6xJiY+UhKIMT0pGQl1UUr4=; b=c+JTOzmDWOL8StksqEkie1bH9HTJ5l7/0iwOIE64VY2rhWOcCV+oXShbXBeiDYTMJq QuIriTYZ9euZdSvZcAo2WVL+9rcfHKPaU2tghuTTrA6ApsQweHUsRvWY8In/rwFcx+Zd nVmmJsnsu3deYz9zhAaXla32rnB+BgAOJh/jRsOrU3lzvTSvYO9NPW3YMBF9C7m03alW R61Ig9sCJFnGc+x73Ycx5GDMkBo7p3Xd6+FQIRb/Vv8vOnC8mAlWRkaef5DrrgZT6A0e a+D9sQho/DjzoDekO4XARf2JgLRyuePrOnJhGWA2KoKYPSIeMkgC0pmrLtufDa5yqlJ/ YiVQ== X-Forwarded-Encrypted: i=1; AFNElJ9G485oK6CIMEHW/BDEUko0K6TugRVM4k7QYV1omQhmeDP1fXePfNIbF8VThqlG21Mg223TbX3z6brsyn8=@vger.kernel.org X-Gm-Message-State: AOJu0YxoJWdYpdZBlQIt60HZGaLmgeWO6aGDpjQpEsm4FYFzuKo5U+Ni UFUCAs6xCnn1cBZoPC5wvbxo1YFTcbNU/1E4rPqIAVVr5s4J5ICJjCJc X-Gm-Gg: Acq92OGrr+Ysegzu0Xg61mRP8uHMDwEm1Sg9WpWGvtna98bkG3DwFrY5et/+9v+in6s mp8QvSCa04PvAjl5w+H1ymieZ2qW4kcDZmJAhHYYhaOk0+SgoPCs9HMkKXmW3vt8ZJtx9eQfagw V2loQpEwBZAEER6tznxIDN+saYi2Dpkdze1KrNHIrJ4NDA6gJ4QS0+bLaCUl/0n+9BBChn350bC VhjwCmlRVcIVj7sd6T+ZVzb4es+jgt9C4e+3A02UFOk23UMU6jomKyIka8lBO7peeVyHMrYi2yX uLWlEc+EJO1ZCefgyJFtMFsE15vAyeqQcbPLpBZ43rkHZBLUBRVZc/0wC6O2xlG8RU1MQ/vXhsM IcsewiHJrc32DLSN6RV/+v42kPEWzNgoldbT3xp5l5K69ZWF7Vesq/Ktxwi1VrX8vEDZ/jpAAy1 jjf/GK4pNKkkLDsKYJSGKSj5I3rNeY1g3cmHgxxLKiWVyx6w8nqPG00NN4xfPeLzuIcTIfBrj6r z8S2T4EMSlZctY9W9bgQtlW0n251XsyyEk= X-Received: by 2002:a05:6000:420c:b0:43b:4136:1e6f with SMTP id ffacd0b85a97d-454637c817fmr27827468f8f.38.1778596900791; Tue, 12 May 2026 07:41:40 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:77f5:545a:798:321]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491cab9c2sm34978713f8f.31.2026.05.12.07.41.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 07:41:40 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Biju Das , Laurent Pinchart , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v3 2/5] dt-bindings: display: renesas,rzg2l-du: Add RZ/T2H and RZ/N2H support Date: Tue, 12 May 2026 15:41:01 +0100 Message-ID: <20260512144104.761531-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Document the Display Unit (DU) support for the RZ/T2H and RZ/N2H SoCs. The DU block on RZ/T2H is functionally equivalent to the RZ/G2UL DU and supports the DPI interface, but includes SoC-specific register differences and has no reset control. Add a dedicated compatible string to represent this variant and update the allOf constraints accordingly. As the DU implementation on RZ/N2H matches RZ/T2H, describe it using an RZ/N2H specific compatible string with the RZ/T2H compatible as fallback. Signed-off-by: Lad Prabhakar Reviewed-by: Rob Herring (Arm) --- v2->v3: - No change v1->v2: - Dropped the "port" property in favor of "ports" with a single port@0 child, to align with the existing RZ/G2L bindings and simplify the device tree structure. - Updated the commit message to reflect the change from "port" to "ports". - Dropped RB tag from Rob due to above changes. --- .../bindings/display/renesas,rzg2l-du.yaml | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yam= l b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml index 5add3b832eab..7c84a9ecc7a7 100644 --- a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml +++ b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml @@ -21,6 +21,7 @@ properties: - renesas,r9a07g043u-du # RZ/G2UL - renesas,r9a07g044-du # RZ/G2{L,LC} - renesas,r9a09g057-du # RZ/V2H(P) + - renesas,r9a09g077-du # RZ/T2H - items: - enum: - renesas,r9a07g054-du # RZ/V2L @@ -28,6 +29,9 @@ properties: - items: - const: renesas,r9a09g056-du # RZ/V2N - const: renesas,r9a09g057-du # RZ/V2H(P) fallback + - items: + - const: renesas,r9a09g087-du # RZ/N2H + - const: renesas,r9a09g077-du # RZ/T2H fallback =20 reg: maxItems: 1 @@ -83,7 +87,6 @@ required: - interrupts - clocks - clock-names - - resets - power-domains - ports - renesas,vsps @@ -95,7 +98,9 @@ allOf: properties: compatible: contains: - const: renesas,r9a07g043u-du + enum: + - renesas,r9a07g043u-du + - renesas,r9a09g077-du then: properties: ports: @@ -138,6 +143,17 @@ allOf: =20 required: - port@0 + - if: + properties: + compatible: + contains: + const: renesas,r9a09g077-du + then: + properties: + resets: false + else: + required: + - resets =20 examples: # RZ/G2L DU --=20 2.54.0 From nobody Fri Jun 12 21:15:16 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FE0D3BB693 for ; Tue, 12 May 2026 14:41:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596905; cv=none; b=R/YKXbEbS6+pZQVCBjqtZyUahvNL+qTYEuDVWlthQF3Yt8RryXMw1dv4Rpwbeh2IoEx7NGQQGsx9L73X3L+5mi96vsZmhOc7tXWjajxSJvsvlOD+Ct5x+J1/BGCuBriYSOnc/0HhdbotO30zaj0y+sWnACCZorQGOKgUJDohipg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596905; c=relaxed/simple; bh=RE1FnXeJKmLcxnjfLZPE+aA4Er7Xf4f5w7XRhWJ2yG4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b63OLuQhpRChIGKEXs3dK4WzsDiPurYUcxb1BHbtkcQYYuvxfHeXzDJrG4PfmCGLcOz7/hjwa9s+8gC3QGinUZEanjAsUGDmVgMSkhA9X1fKZSF/QMuPMYs700PPwVpIeXOwE2xiy01YJrvHuCE3Ss+xzyadRddS5HA2egR/kgU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=X1q0Rg11; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="X1q0Rg11" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-488a8ca4aadso51760965e9.3 for ; Tue, 12 May 2026 07:41:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778596902; x=1779201702; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K0HvXZD2JH3Hm4dxIzGecREAhsQ21ewQFNBJt/muUZQ=; b=X1q0Rg11rqEnmW7xVD7XGEeuKfMJc4d6EosDo10YOEQVguH2kmg6/Rsa8/b2DWRWuF BU6vrWp+LNMa31yMey30tT82A0/eW1aGY5bjktN9Qy4qhwGkm/zuGCnfnTxjmGnfgHVY tAm4m90G0+Xc30GqM0v+oNicqrdxeSVBOdsYVFZI1DJVLbyfhxsROvQFlVnZm5acetx7 ulLE++/TNZ5V4kBncYVb9qICU9ENcqrPiFkwS72kLSNqOoQS0DA83gF08woCnb0ZVb7f sE/w9mJWV2sGRls+1alrIViIysu4YX+tgCWN1gYd3sRGyPw5S5VEWshuBzImZEYJ/jZC XfgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778596902; x=1779201702; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=K0HvXZD2JH3Hm4dxIzGecREAhsQ21ewQFNBJt/muUZQ=; b=b8YLcQ5kQO4/7T5HBraAjfTvm4Ng4EnDJf5/A6nSVTTUx5sc0AaUCLaKugXhF4dKEI XOGBozaUy6aPDOuN2qkH4kDK7c6D6Nu48nOwlmXZULXuqaoYzfCqruns/uizbAalfWOb yL+2oZQf/HrXwp3lw+Uxp9DTzu7VDoGpEPLXUGr6p5BcJiUmBScs54t1+9eRes3x2cHf ykq4gVJYJj/OXso2KQTYd4NBsedSq8q6miuGC6Kmp6YZoWy5/98BIkog5Xb4OZF1b17I aQAS0CI+lzUI+ix3GgEcqSdqTdQLA80dh+hTd8woCIl67yX7XoKj+5DBCyONJaHtZSuU QdeA== X-Forwarded-Encrypted: i=1; AFNElJ8n8tf0lHV2Q4TayFUxbt+h8kCJ06Ymd6Ypd8nROiwc8Y1C0MqlOWwBt3C86RPNzWBjDm+fEmAry/7NHx0=@vger.kernel.org X-Gm-Message-State: AOJu0Yxbs1QB/zXXqdtA2IDUVpVTarHaSQfDrBlJilY9EvcNumdIIeay 4WeIYQPGrmLdWfMxrHnbJ05dgWoApLZrWPOiULWalV4HlJdoHia5CELU X-Gm-Gg: Acq92OGoLXCTKMFTkDpqz51TGUlfkERPg+t0N84IiTsGae8uqqkwnpv2udVNDmIm4x6 YuifIDtkQcCkf52nSApMWnjDbb8kBV53WuUDYKmCOEB4gyO1tTxeMYJv2V0PqQl6BZp/wUZjV77 mfu6JUa2xrNwNgTTJbEBRtn5iVVVFHuGofx9TjCPsdF27cDT1fTVDGZ/hk3uubetFrcrze6pfxv KHnkRUObS/fZlA2PCnW4pSPWWCBaVN0pVZvfQglqIisGcaaC2igIEd9X+lGg0mDWOqeWkA2gym2 bfqDWwbkS/63O9Tly3acD/jxDf4VXAwS/JAX/XHp/O9Z6mY8APo5Pat2L4/h57I7mQNkXQX0U22 KWoCFToAFJn2BYKNNHqSosQ0vXNtkrvlFawYH6/wqW8+bMQ8vqCCp6VfiyDhbudO5+9GaSX4LFo XSFPr1X1fE0Cf20wZ2TCdflM+X8D+6vJhsW/5b7dboOPVEGgWr+rT4RsFS28WxHwK+OCW684+Ye Xipv+wvxxS+YtYsCp1qB4584DJJjSOUViU= X-Received: by 2002:a05:6000:200c:b0:441:36b7:725f with SMTP id ffacd0b85a97d-4515b056aa0mr45843437f8f.5.1778596901460; Tue, 12 May 2026 07:41:41 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:77f5:545a:798:321]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491cab9c2sm34978713f8f.31.2026.05.12.07.41.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 07:41:41 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Biju Das , Laurent Pinchart , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v3 3/5] drm: renesas: rz-du: Make DU reset control optional for RZ/T2H support Date: Tue, 12 May 2026 15:41:02 +0100 Message-ID: <20260512144104.761531-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Update the DU CRTC initialisation to request the reset control using devm_reset_control_get_optional_shared(). On RZ/T2H SoCs the DU block does not expose a reset line, and treating the reset as mandatory prevents the driver from probing on those platforms. Signed-off-by: Lad Prabhakar Reviewed-by: Laurent Pinchart --- v2->v3: - No change v1->v2: - Added Reviewed-by tag from Laurent Pinchart. --- drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c b/drivers/gpu/dr= m/renesas/rz-du/rzg2l_du_crtc.c index 26b95153ce88..48065f4952a3 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c @@ -380,7 +380,7 @@ int rzg2l_du_crtc_create(struct rzg2l_du_device *rcdu) struct drm_plane *primary; int ret; =20 - rcrtc->rstc =3D devm_reset_control_get_shared(rcdu->dev, NULL); + rcrtc->rstc =3D devm_reset_control_get_optional_shared(rcdu->dev, NULL); if (IS_ERR(rcrtc->rstc)) { dev_err(rcdu->dev, "can't get cpg reset\n"); return PTR_ERR(rcrtc->rstc); --=20 2.54.0 From nobody Fri Jun 12 21:15:16 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B60C3BFAD7 for ; Tue, 12 May 2026 14:41:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596907; cv=none; b=V8Z5jOk2vfZIIvfksw+aIoM/12VUgajweodmtaZaAsvoUoecsx/1FWC0cPwaQEIGDpg6MIW+hxN9xw8ocAThlquCpnRC1R0h0c/i+QY98AHUqwpCvmnNIBEVMwU+j8xaVpC10r+pZdFT2DzmvLSgMq2tpw4JdK2/J1tcq9WHhvs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596907; c=relaxed/simple; bh=GeKJpkd/j98AfhkHt5WAQ4eEE6xH9CQ1HHKJ+onSAMU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o3SQMZSLp8NjYMU6Na9hVePNpDqoKBApNykmN6dljb32c/r4T4anKDEWtf41gjZSX+lsdUIgqYwDFiULIwLZhTNibRuN8D1H9JtD3una7Ri8VRK81PrgNLDMkc9xab1+Lcm6513W+gH4/O7seFYb41Z8bmEZmnyqztTC6Bct1lI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YCkMkerY; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YCkMkerY" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-488ff90d6c7so50891225e9.2 for ; Tue, 12 May 2026 07:41:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778596903; x=1779201703; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jgAo1QhSf4NjgO8ap5MR36rDEgMWMS95+8qq7l+7W58=; b=YCkMkerY9t5WFAao1RfTCg6Pj3nOxaBtmksIqJ7i28jNDNT0gMQkal67i9qnkieqyY u3fXabvYsHkNh1/R0ZrDFP5P5GZ+kpClR/mZ9BRrwjHfUYIWFqWeu1tG+zpqLBLk/1F4 DbUk+AI+MVrmHIcg62mU1V8EtcuVxj9JKXu77XSEU5TixkDkfLXhLuclgY0QeJfKFJgS miPWZ01AUIj2T8DIQ97tGumPuTqQVpRjDDUxXKP2ZvvhMXmt9bo4QQddS4f20oYMaMLv GddYNOx8bax75AUsKjmmWz9W1lw7f5hb8jKrJF3/beLHbpP4mswJzY48aLpASJNdfIcj mOMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778596903; x=1779201703; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jgAo1QhSf4NjgO8ap5MR36rDEgMWMS95+8qq7l+7W58=; b=Snw0Xmgg1tsyyRo155Zydc4077P53xNs8o7Fl2EnMwdyAUDuKaHvba30kEDvQA61YW QZSXWvawKbGgm6caIORgWJddcevq2hGD37YHxj2Ulbbod2NNQp2wBulTnyllM/24OhGT 8R/Z/dvikrOe1MWQDp2wAvCgQwuxSA6kSssLZGByTLySzD6/mFN405+kc8JY7afctQRi BS42asIzT2bm4+bM/dJ/d7btX2799+4N/heltoxZIbSgZqm2RTcjf7nuDrpBShbdF6Qv 4yziJrKVrUg139wk5HOosPALfs2AqXs6MIxY2+2vUv+w5ECNCuonEmRQGfUJVcjh3PRP zKBw== X-Forwarded-Encrypted: i=1; AFNElJ/tmrczJT9xZg1CxSzaptG80qYMkrJ9gVSV27jJh6NO9GkG7dC79if62qsvXGbcOOvu+stau+WL7BLhrM4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw516mBHnlwz+7r5XZpU0ShQLJekImyz00eFXkIXpRoHW+zsN2k qPhEZzWVcosfZs31yseNsbV9BxNsjVvG2jhjd4jCcYSgXHVJ4806VWVv X-Gm-Gg: Acq92OFWznLkHGr02TptAdfhsuBpeZx876JQUW2JDFUoiRk5SZkjwPZOkWwUmJfVbb4 0OpELq2i867vn2wRSvBCXEe6ngHOZzbAlVECh0eevH9aArGHn9EDZWgzl/D2c9jxcHzKbuW/XiP LlPvrl9lviUfmHM09XwoMypAX12WCZDFExmLzQtpeNIuR9rF3kZJngArLO9rjziuV+yl2NdAqD2 rh/EpNcT5Jk7pgDuS8O4cs/aAcNP0d+pipTTC+dCEfoGro3Qv1VbGI7wNcW2lIFQHIsxaqv7O21 vaO856PfjoU1Cp30Gdz+SrOjgpqBDwKaLwwoztcz0hG7SAU3+Xb8h5cwfvkfFNBQLuvmUP6V3SH 6AevbdoS/9+I92dJneFtGo2DW3uORY4EJ248nVsnzEufYhSqFFD3uHQmgVdNwMrgRaNis4RAcM1 mG9GDA2wjm1G6ZFuSnQfklGrv7y/CJFW60328Y25I3WypoDN56YPi+aSOq2pyCE2mgImLa45bdX +kILp6L5d/oMg3nbvd7rIJSAFD/nNnRSEkJraBUvx7FMQ== X-Received: by 2002:a05:600c:8908:b0:489:1b10:d896 with SMTP id 5b1f17b1804b1-48e51dd879emr325128105e9.0.1778596902553; Tue, 12 May 2026 07:41:42 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:77f5:545a:798:321]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491cab9c2sm34978713f8f.31.2026.05.12.07.41.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 07:41:41 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Biju Das , Laurent Pinchart , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v3 4/5] drm: renesas: rz-du: Move mode_valid logic to per-output clock limits Date: Tue, 12 May 2026 15:41:03 +0100 Message-ID: <20260512144104.761531-5-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Move pixel clock validation from a fixed encoder check to per-output constraints stored in rzg2l_du_output_routing. Previously, rzg2l_du_encoder_mode_valid() applied a hard-coded 83.5 MHz upper limit specifically for DPAD0. This approach cannot scale across the RZ DU family because pixel clock limits vary per SoC and per output interface. Add mode_clock_min and mode_clock_max fields to rzg2l_du_output_routing so that clock constraints are expressed at the granularity of individual output interfaces rather than globally per SoC. Update rzg2l_du_encoder_mode_valid() to look up the routing entry for the active output and return MODE_CLOCK_LOW or MODE_CLOCK_HIGH when the pixel clock falls outside the declared range. A value of 0 for either field means no bound is enforced in that direction. Set the DPAD0 pixel clock limits for RZ/G2UL (R9A07G043U) to 20.875 MHz minimum and 83.5 MHz maximum. RZ/G2L and RZ/G2LC (R9A07G044) share the same DPAD0 pixel clock limits. Signed-off-by: Lad Prabhakar --- v2->v3: - Moved clock limits from device_info to output_routing to allow per-output constraints. - Updated commit message to reflect the change in approach. v1->v2: - Dropped storing info pointer in struct rzg2l_du_encoder as it's not neede= d. --- drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 4 ++++ drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 4 ++++ drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c | 6 +++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c b/drivers/gpu/drm= /renesas/rz-du/rzg2l_du_drv.c index 0fef33a5a089..d1bc205eb5f8 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c @@ -33,6 +33,8 @@ static const struct rzg2l_du_device_info rzg2l_du_r9a07g0= 43u_info =3D { [RZG2L_DU_OUTPUT_DPAD0] =3D { .possible_outputs =3D BIT(0), .port =3D 0, + .mode_clock_min =3D 20875, + .mode_clock_max =3D 83500, }, }, }; @@ -47,6 +49,8 @@ static const struct rzg2l_du_device_info rzg2l_du_r9a07g0= 44_info =3D { [RZG2L_DU_OUTPUT_DPAD0] =3D { .possible_outputs =3D BIT(0), .port =3D 1, + .mode_clock_min =3D 20875, + .mode_clock_max =3D 83500, } } }; diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h b/drivers/gpu/drm= /renesas/rz-du/rzg2l_du_drv.h index 58806c2a8f2b..307ae70dd382 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h @@ -30,6 +30,8 @@ enum rzg2l_du_output { * struct rzg2l_du_output_routing - Output routing specification * @possible_outputs: bitmask of possible outputs * @port: device tree port number corresponding to this output route + * @mode_clock_min: minimum pixel clock in kHz + * @mode_clock_max: maximum pixel clock in kHz * * The DU has 2 possible outputs (DPAD0, DSI0). Output routing data * specify the valid SoC outputs, which CRTC can drive the output, and the= type @@ -38,6 +40,8 @@ enum rzg2l_du_output { struct rzg2l_du_output_routing { unsigned int possible_outputs; unsigned int port; + int mode_clock_min; + int mode_clock_max; }; =20 /* diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c b/drivers/gpu= /drm/renesas/rz-du/rzg2l_du_encoder.c index 0e567b57a408..4af2ae09ff39 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c @@ -50,8 +50,12 @@ rzg2l_du_encoder_mode_valid(struct drm_encoder *encoder, const struct drm_display_mode *mode) { struct rzg2l_du_encoder *renc =3D to_rzg2l_encoder(encoder); + struct rzg2l_du_device *rcdu =3D to_rzg2l_du_device(renc->base.dev); + const struct rzg2l_du_output_routing *route =3D &rcdu->info->routes[renc-= >output]; =20 - if (renc->output =3D=3D RZG2L_DU_OUTPUT_DPAD0 && mode->clock > 83500) + if (route->mode_clock_min && mode->clock < route->mode_clock_min) + return MODE_CLOCK_LOW; + if (route->mode_clock_max && mode->clock > route->mode_clock_max) return MODE_CLOCK_HIGH; =20 return MODE_OK; --=20 2.54.0 From nobody Fri Jun 12 21:15:16 2026 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEA043B8405 for ; Tue, 12 May 2026 14:41:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596912; cv=none; b=LkclTZmdGHFR8mLFEtFvY/nMvxOrkvw6kKIz4RV8j4h1ePHMp4sBNh1gScEQlTEWSjBk1N2NveCNd6fH4GFsbKO/hJKORfiIQ5bA2cwgpLsUJVs6CIfvAJo73uK6rp3rSoFk5FwIKnHJCT1qCszzHW4XTC32rxBUKBStPZ/CdxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778596912; c=relaxed/simple; bh=1lqMGNoPERN45B9lFH9DjhU6xRbSqUuKRwNjquWzcus=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OazBrEvM9jKiLVc6GpiI5uPuvnC+gsiyPeYpOTcJoAOCWHqymyr69p8SuedQlypn4JD9Q2tm6Rw/9EiAdUWFKZwdDYrOdJ/r6ZM9sHsrFgFfUNnWCh0TLvJEHKAywByKbPG8qcpqN0svzSCG+0e/8Kugg/Zcei+t53ziQhIKxFo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XlJWRFAy; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XlJWRFAy" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-449d6c68ed8so4838145f8f.0 for ; Tue, 12 May 2026 07:41:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778596909; x=1779201709; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hXd9Im5JkcfNXeD9xdaj2wvZlrhVhMEcCS8MB51Wmes=; b=XlJWRFAyySXG+1MYHpmagG5bX5DKtTyG0Xt8EeXkOlQJC5AMomksau4dASE0ktIMSX wuenEn1/QZOe/ULtvmx8KWjQTpNmqJrXKX5w2/cPdI5aClPv6qZH8i3m37/1ZKROFTsZ 5PDeuSjq+Ca5ok+UC3uZqdUUDiPTWjbtbxeK81UU4cpOQg68Bo8u6aQfri2YXQLq4YnZ 7QDQsmMR/i2xeREuOG7ZIwnEEnMYzC9f+iVGSMUcwCeGlRKuoLlE+1s7pigTXx531m5k WoklHIjhAzTA92sI8eED1rSL7ffZXmc7XiCpOTYqZur1FpYpXtc4gObXWgIl0VQH4Ol2 D3RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778596909; x=1779201709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hXd9Im5JkcfNXeD9xdaj2wvZlrhVhMEcCS8MB51Wmes=; b=Y/C9n5Q/d7tRm7h9STjIvsIdaWbP08NDUdfAjUYADZo6twvIDTsh0l8y9FoA8BnPLC /yYCYZzBOJtJI8VdKUuLK1i+IPkP1C5KCRRWIWr3UDNq2lpHM2lVvKw3wtJe4MUNznL6 hTfhsjr3h+jS560+wgGT5eZxdxz0A01a4xkrk6BKY5ZW9L9/Cj5SbvmagYo1QC36hvoB acUNn2mUb5zHuKG7lwbm5mD4UB4RghmUqNcRykOqhMrs4Bu2I4gemrFuzSUPCDI1hADp mGKHSDAYMav5w04O7xY46SnTrKrfe8iWh/Q+tsrya6jqN3GcGHKOYYbp0CdNmc38O0sv FGlw== X-Forwarded-Encrypted: i=1; AFNElJ/lIUA18YbsH0ZAhW9IrJ9MLCuoziAKhnAp6Fr2esSB5fI4XzRfCuHrQShfvgJT+TGwgBsrrtlOQ6V43yY=@vger.kernel.org X-Gm-Message-State: AOJu0YzbFVC7m/dpdJp1jQir2eQQMewASNhHhPtcwyV9K2/xCziUET4a p6wz0zakSpWjmT8C3cM2kRzh29E/2E6Pvv3BmQ5vd7ol9hVZJhLIjfNa X-Gm-Gg: Acq92OHI+egDauHj6ope6iLI6iXKQwCltTWpS/VdhId6in85usg1e+Qtd9dJmGqnBzj IrBbNkQOPIzL3lvtqVrxm8zHu+MGmYooY72HWaC/jVbO8+LQLFIb+aJypU8KR7HtPoJLPuk0gLC zg7qtjqD63a+Fc4TH1xNR3M/UG+k8+BflPAw0zpgcbMuiDZ9x46Q/66TlDrnL5g9nGGS2nVyp0F zs6adeN9sTriJwDDDvYL/z0et7y5sXn1xtYNqvY0ylgpC0W2e0ivsHZAeZ5PLE6uTCiTRFhQnYk xCkxg+9xMjT6s20ODDjAsBmUPL75wRET8q3hi2kImMp+BBNRnm0xAtGaRVd3g6LGI+aHQzquzFm 4Tsq5w5DeAbVHYqc7hp4VZowa7l2ghVeIE1P5R83YqEaPbCYaAENxXEkpyBfKbMVE5nN07fma9X D6YlTjV731I8N3+zFzb2cQnjBOh4h/fNDHLaCkrWhxtv6fV9U9h0Ulpi/vGJkD2eDLHPx1GQU1n W60P/k7Mfl/3kZRKeqonGCCR1XGoCIxNRc= X-Received: by 2002:a05:6000:40de:b0:43b:3b80:6776 with SMTP id ffacd0b85a97d-456a44fc269mr20806748f8f.30.1778596903537; Tue, 12 May 2026 07:41:43 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:77f5:545a:798:321]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491cab9c2sm34978713f8f.31.2026.05.12.07.41.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 07:41:42 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Biju Das , Laurent Pinchart , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v3 5/5] drm: renesas: rz-du: Add support for RZ/T2H SoC Date: Tue, 12 May 2026 15:41:04 +0100 Message-ID: <20260512144104.761531-6-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260512144104.761531-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar The RZ/T2H (R9A09G077) SoC includes a DU with a DPI interface, supporting resolutions up to WXGA with two RPFs for layer blending. Unlike earlier RZ/G2L SoCs, RZ/T2H requires explicit assertion of a DPI output-enable signal (DU_MCR0_DPI_EN) during CRTC startup. Signed-off-by: Lad Prabhakar Reviewed-by: Laurent Pinchart --- v2->v3: - Moved clock limits from device_info to output_routing to allow per-output constraints. v1->v2: - Added Reviewed-by tag from Laurent Pinchart. --- drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c | 7 ++++++- drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 14 ++++++++++++++ drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 10 ++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c b/drivers/gpu/dr= m/renesas/rz-du/rzg2l_du_crtc.c index 48065f4952a3..d0f01aa642a7 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c @@ -28,6 +28,7 @@ #include "rzg2l_du_vsp.h" =20 #define DU_MCR0 0x00 +#define DU_MCR0_DPI_EN BIT(0) #define DU_MCR0_DI_EN BIT(8) =20 #define DU_DITR0 0x10 @@ -217,8 +218,12 @@ static void rzg2l_du_crtc_put(struct rzg2l_du_crtc *rc= rtc) static void rzg2l_du_start_stop(struct rzg2l_du_crtc *rcrtc, bool start) { struct rzg2l_du_device *rcdu =3D rcrtc->dev; + u32 val =3D DU_MCR0_DI_EN; =20 - writel(start ? DU_MCR0_DI_EN : 0, rcdu->mmio + DU_MCR0); + if (start && rzg2l_du_has(rcdu, RZG2L_DU_FEATURE_DPIO_OE)) + val |=3D DU_MCR0_DPI_EN; + + writel(start ? val : 0, rcdu->mmio + DU_MCR0); } =20 static void rzg2l_du_crtc_start(struct rzg2l_du_crtc *rcrtc) diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c b/drivers/gpu/drm= /renesas/rz-du/rzg2l_du_drv.c index d1bc205eb5f8..0d4021429577 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c @@ -65,10 +65,24 @@ static const struct rzg2l_du_device_info rzg2l_du_r9a09= g057_info =3D { }, }; =20 +static const struct rzg2l_du_device_info rzg2l_du_r9a09g077_info =3D { + .channels_mask =3D BIT(0), + .routes =3D { + [RZG2L_DU_OUTPUT_DPAD0] =3D { + .possible_outputs =3D BIT(0), + .port =3D 0, + .mode_clock_min =3D 5000, + .mode_clock_max =3D 100000, + }, + }, + .features =3D RZG2L_DU_FEATURE_DPIO_OE, +}; + static const struct of_device_id rzg2l_du_of_table[] =3D { { .compatible =3D "renesas,r9a07g043u-du", .data =3D &rzg2l_du_r9a07g043u= _info }, { .compatible =3D "renesas,r9a07g044-du", .data =3D &rzg2l_du_r9a07g044_i= nfo }, { .compatible =3D "renesas,r9a09g057-du", .data =3D &rzg2l_du_r9a09g057_i= nfo }, + { .compatible =3D "renesas,r9a09g077-du", .data =3D &rzg2l_du_r9a09g077_i= nfo }, { /* sentinel */ } }; =20 diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h b/drivers/gpu/drm= /renesas/rz-du/rzg2l_du_drv.h index 307ae70dd382..2cb2d1895979 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h @@ -20,6 +20,8 @@ struct device; struct drm_property; =20 +#define RZG2L_DU_FEATURE_DPIO_OE BIT(0) /* Has DPIO output enable control = */ + enum rzg2l_du_output { RZG2L_DU_OUTPUT_DSI0, RZG2L_DU_OUTPUT_DPAD0, @@ -48,10 +50,12 @@ struct rzg2l_du_output_routing { * struct rzg2l_du_device_info - DU model-specific information * @channels_mask: bit mask of available DU channels * @routes: array of CRTC to output routes, indexed by output (RZG2L_DU_OU= TPUT_*) + * @features: device features (RZG2L_DU_FEATURE_*) */ struct rzg2l_du_device_info { unsigned int channels_mask; struct rzg2l_du_output_routing routes[RZG2L_DU_OUTPUT_MAX]; + unsigned int features; }; =20 #define RZG2L_DU_MAX_CRTCS 1 @@ -77,6 +81,12 @@ static inline struct rzg2l_du_device *to_rzg2l_du_device= (struct drm_device *dev) return container_of(dev, struct rzg2l_du_device, ddev); } =20 +static inline bool rzg2l_du_has(struct rzg2l_du_device *rcdu, + unsigned int feature) +{ + return rcdu->info->features & feature; +} + const char *rzg2l_du_output_name(enum rzg2l_du_output output); =20 #endif /* __RZG2L_DU_DRV_H__ */ --=20 2.54.0