From nobody Sat Jun 13 08:51:12 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 7ECCE392C20 for ; Fri, 8 May 2026 11:17:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239075; cv=none; b=JYWD/cKW9ROH+UvJ3nD2GGnVajWrz22TEgJCbUKl2UoRUaOLkUTlUhu56zxOTPkm/w6aQY26T2CkVNx8nBeODfMzG2UPjS4zkvvI0rSaulvgg+2mLJ14yD0uOCV04EbXQTJYrW2O9QTHmsB5xECObEt5mEryVt+j0WpnvqPEnj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239075; c=relaxed/simple; bh=MlbtACyaTMMI5yMaKErn0MSWJwT8IfR5hys4lJuVZmY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JHRvcJBUqgtO5kgQN60Y/+9lIZ0+17e22/QsZQ6J/R/1nS0Hi2BALM1OVaarlLQz9CINmqt5et9k/NQMqPg542VgfauIIyESWP9Om59wFH5VLAieyUYP7sagwIK3UG8x8O5X1qh5Xi1iaG22piGM+dMib5CwjfgfYI6vQcwCM7M= 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=DrvFTadJ; arc=none smtp.client-ip=209.85.221.43 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="DrvFTadJ" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-43d75312379so1970166f8f.1 for ; Fri, 08 May 2026 04:17:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778239070; x=1778843870; 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=umnPqhqqv013uzG5MHEH2JE+ZpMvEjDm4eYLN1odRbQ=; b=DrvFTadJNF86zB8O3xJHVsQUrF68KfYD1t3H00Pz6UmI/AVSxOVxi9mke4V0iOh8Uk wjR7c9RImGdq5nb775tyv0ev2ozXrdzX63luMZAT5zs5u8itazo5hc+P5aP0O2yaNfA8 n1gCyYctyttkwG2c9TVozaz6rkWclvp6nckmYWn4aoAEEs5Z9BduS6LPa9n2ePQ9t48n Ru3omzihedsHP6f1gFlMQq2ET0k423jnAAsmHy5R+tvaQCnXoy2wTC0Zj6XuWWJfa9VP y+5sGGIpKmh98QZtXXexf5zX+4Fhcn5+ZsEU9pc1Xdau1lh2FpigR6xz7riJr9VUa3xU SZEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778239070; x=1778843870; 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=umnPqhqqv013uzG5MHEH2JE+ZpMvEjDm4eYLN1odRbQ=; b=hggC5mrQ+T67eyUU0+EJ0qfBH/ZnN2t6AXTUI1Oaf7CqhInYlI6NY+aAlwTx8yVOTX 1tEmInZZ51o8uBkqhHEx8jvFCJkprBFSFo9y81b3xVWs6ZgkctnJYyPmf86nUIM8tZ4k XRJpoc4TumdusHMCM8kG6Wh9w4ZyT/OqNBxQsxTGWMPMP+Wfuzw/aykPeqOzIunvPkTc ZQRjIe31JatQhWZf6zZr4IFcCdoE1/O7/c+kh9UyNoekm/2mFOUnAiWhvCIAQJ0XU87s gCZPAKqeFtRQ+9NnLmzt4pH4gvsRbONBgvu+WktXYjqdh3JhTGYoaGIBliH2zhZBOtwI k45Q== X-Forwarded-Encrypted: i=1; AFNElJ9yhxEkjRP/z/6Rr16bysmku+iGIHWfSzD6+fuGAiBnhb/jE7ijULLRvRSXA+Oj3savLYECfwsh7qAPalM=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5nPRst4UqyXGOvGBO7ezpBRWbBaQuakGqcWBI+5MzvHIqle1D f36TvWOzABDhUDegZ1FH1p4f/HIjf4/5YLFuN7Hf0Eo4hFu0qTkEgozZ X-Gm-Gg: Acq92OGw4YFCgqwK24Q8FBSOc0+w0kTYCrTCXwqufH5gRJdV+PJmJ22j9Yx2FxscWei jyE4W/BzSd/oK/v5QC2FRfEMOeOfpIa1EwuD5MzszpSCGtyV2rK9KL5zh6x9e+rVDr4sQN44JRV 4RUR0Gng/FwcT5YGXHCgi7dJPacbV5tuWTJ/daCJDaZ3kcm+7Dx8iIdbrFFaQyz3qEy4iHeSUh0 y4leEXfFPldEOEbny2h+DbWcLXQ8753qQRzJ61nka6223SHW/XJQIQJo5uTCEeNkppo1s36mSw0 ODtkfO5KbLLBdIm42rLw9Hb7ztSBWrWX6ryp1TNFXOKQHqHWp+5mYthmb7xMJWGW7WHbicSfW1n GNOormsJlz7xpKBpcFgDf65/dlUBdJIgdymwXn9uysWVUoDy4MUida56Fh9JM6YG14m2MFcgGzX lu8MUQOxJH3Ij7iLt/RzpFaz+QtEuygUm73plOMcpodaYCKXXVPjiNmiXr8LvNXCLRelQIKYD00 No2h7DOGotSkxWI9LE8YYqoiGRif6o1BMdJHADoht5KiTd+ X-Received: by 2002:a05:6000:20c6:b0:449:8650:954d with SMTP id ffacd0b85a97d-452e84663e6mr7389736f8f.12.1778239069759; Fri, 08 May 2026 04:17:49 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:74ae:919a:e57c:bd9c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-454916df968sm3535563f8f.25.2026.05.08.04.17.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 04:17:49 -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 v2 1/4] dt-bindings: display: renesas,rzg2l-du: Add RZ/T2H and RZ/N2H support Date: Fri, 8 May 2026 12:17:41 +0100 Message-ID: <20260508111744.771659-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260508111744.771659-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260508111744.771659-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 --- 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 2cc66dcef870..18776ac9e7c7 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: @@ -137,6 +142,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 Sat Jun 13 08:51:12 2026 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (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 C79633947AB for ; Fri, 8 May 2026 11:17:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239075; cv=none; b=C1hXbkxynAzTtkn5Wk0hYBGc5Us1KUYncGrm0NMWQOeroLz8yVlNdST+R3eKCn3yQnZ5OYBFl/hTr/Nuxf0Yxj9X40BycuG+7t8/1/aL2tJPUtjxfoZrXNxkYpYfd84rEtKTWAP5wTYwRCfnrCQGlllz3arpqAXfWYytHFnkDKo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239075; c=relaxed/simple; bh=C7OdMfskX1yrAh3+I7YrVhMxB61DSFtW1LvR/WZMIrs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Seu6xen2mNb2s9mdrBP2PVbzucycRmsY6ht0Gom30hfOkrbMLOjpdE9YCSEuJrGQHHIxON9DXJqeC/6uWNfuHttqgqDgD9eMgwdYjrybo7j8qwHblahUcHmm2u3bMx8Qujvx+5Bf9iDHlGgA7l3zC9qN7o0RXO+czvcs8k11gxM= 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=ITVf5MUF; arc=none smtp.client-ip=209.85.221.41 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="ITVf5MUF" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-44e1ebb3122so1031009f8f.2 for ; Fri, 08 May 2026 04:17:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778239071; x=1778843871; 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=39w49gZKpFRzhgKjJD0rTXzt/7rwWxh4HEQyrYnkNBo=; b=ITVf5MUFk40pa11mzI8mybuavlrncSTBVb+JMrRh9ybkpSXDKzIJhJpZ4pkP0b8vqy rbt+duMoCMr4Z1xrYmcCKcLMV18jsJa2C/cRHFsIDfIN+lwtOoyZfRYuRqqHpOtGBBQm nlSFJlYK5T50Z0HMY9ldQglgLLH/fd+td6DnWtmJduqOazNHl5nFk5jo2+K3XYTJQfKp EqcrGo75KO264I9OQWwchX0pFrIi5sd7p3na8T3mm9pK7PG7X7P5M8Bhg1R6+BvAfPj9 V+PV3JqwtE6dSEv1Ahf+R6npYO3n+T20dekyW/MmX28/NVgh29mL6WdMxmCzJ42EhqEb 4vWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778239071; x=1778843871; 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=39w49gZKpFRzhgKjJD0rTXzt/7rwWxh4HEQyrYnkNBo=; b=o9Davic1hsh6DQEtUaEBl5eG79198TO6w8racwFYatE6VQPHwPLXmTQaQvQ8cchuIt /fuT9qq4hYeiaWFepejPpkrIBCZoX4ypiq67UjmkQ96Z0/PKJCaptLckCgz07/vE6w2X fc7ASnkZBwmBen6satL4EmFMPUBcfLQWZLB8qdcoYqZkNfq05LQmMBiYekn85HThhqQy YTQPGv4u/rqMMF49Unvl6fBpz198d1newQCMXYftn6U+LdHDDHatSfVDOSXhbjrpezZ4 ZE160MocBH0eUcnNhgbSD+uWsC7b6Hb+vL5p/fj0GCDpyPv4CusgfLxjUTpXTmtuNxit ENXQ== X-Forwarded-Encrypted: i=1; AFNElJ+I/M6csSP7EOf1l/yuQnOR9vdiQKdFIkneP8ZXPVTwDg0rNwAuZ1ofaDj4mQofiYTOueGp/g54pSSQ+R0=@vger.kernel.org X-Gm-Message-State: AOJu0YyQceXDP5d5It88MoDkeAUE2D4DUX8PH8Aj29NeYERZA0nJr8Fc bD7YpQAyMSuQbQyb0s8U9oqUvQ7az9OLP+8KDQyQq37WrW1PlUdkOnzQ X-Gm-Gg: Acq92OHv+BSSCz9TxHK4H32RF3/ySpgynlfG8WuBvgUW6DVQtL08nlDFM6nqHmeIk/P cqtA3/6ZzxMRDnzV1kadegupO16P259Z8x4WrbXT8vsyy9pu8IIXbLljDw4usaLJMWDDF8a9XZP fGfzKTNeiduqMIk8GE4Eywp0Tw1LISeW1AFAgaIkIr0HifQHK8VC6pkzmaDivBSe8vLOzycZBKQ e2q8Vl3VHaAovhbQGWiU6MtNjuka8u40Np+CWxaXTnbFbkLOKQIjKJoTpLl8QKXHgF45vbTyqFA 1MvIfsDalx3X7Si0iX9ireqk4/6uI9nq4OjrCmJZCUo++YU2hxJAkR1QxsvLGzIfvafR+Y8HWDh JuyTFwRV3nMUiimWDBFEIVOt7Hm/9yRZ0n/soWufXdFWMJE2bH0jKnLh9KHocOJ+9a2715EOslf UZBjF3GLEC2Q+3qnLPHLANvH4Wdmla35romGZZVU4vD6fLX0omZ4H8bkrMFOXmfPVfFjMclhgF9 vgeifMR7r0ri5lXqJ37+Sx1yWEUJhf3QYGL/tSfmUEdaMD6 X-Received: by 2002:a05:6000:40c7:b0:448:7420:9ada with SMTP id ffacd0b85a97d-4515b0570fcmr17977390f8f.9.1778239070587; Fri, 08 May 2026 04:17:50 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:74ae:919a:e57c:bd9c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-454916df968sm3535563f8f.25.2026.05.08.04.17.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 04:17:50 -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 v2 2/4] drm: renesas: rz-du: Make DU reset control optional for RZ/T2H support Date: Fri, 8 May 2026 12:17:42 +0100 Message-ID: <20260508111744.771659-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260508111744.771659-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260508111744.771659-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 --- 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 Sat Jun 13 08:51:12 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.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 75EF5393DCA for ; Fri, 8 May 2026 11:17:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239077; cv=none; b=rAwqahdYgMhFVPFFsMbVzaUO7HptnQ4Q1CexTWeioQwMD/BfCMxXhFzJjS43fP9Gt5oUfZPSxjy92dJ3gljmCRz1aBr1QmijFW9pyEoFED4ECjcWqrTDXiJN4tQK20YK/E0vA07ojZx9CUisKxIYG9iSV1EZYFKa8rlDorsC/3o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239077; c=relaxed/simple; bh=+TSTHFtFLuuB6HazSo0/aJnEWaGHqLHJYHChrI/1coE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Kr2gJXNewyJeE57FahyopMbesTCf3HbfaYDGMQoIoSAq31ztp3uLOkMunWU9650gf7NuvST7BvQp3cz9JL9vIXc5IKu0yOrUT1ng7y2AGzzkMsRNrVVyQq85pacJZaiziTnl3Q0Ux1GEhxLver6pBS/h2oY14zBRc/SXY7FlbJE= 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=TuLr2mqE; arc=none smtp.client-ip=209.85.221.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="TuLr2mqE" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-44a044cb827so1481720f8f.0 for ; Fri, 08 May 2026 04:17:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778239072; x=1778843872; 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=yPP4JL0RAe1XpX/h7T3lnNJ3/faSIVf5jmqwVJovOao=; b=TuLr2mqEK5CMwdN9VxUdr7QC2X8UiW0YDiE694TysVE5MOSfn+4KL35gbMZqNmj9rb xU8rAVo31irnv4H1Ob/68w2i8V9KpW1fAsuMnv2cyRPMhxpBmSVaDTcBLa0MdEGIyqZl fg66dmCz3CHHjzF57aXATYKg2u+5tw3gWqx5p6GGA7PoTE5ei0xfYHYbyzZseXRaDJdV Sx51t0z5cj3ZPwbPZOaCJH9fM2Po/KmP5IaG7o5gnJy6l0BSWqiNf/HmbKk5Y8IiTujH SE3kjrRX+gS9IU5+8kKY7oyQVdO4Ysvkl9LTnbrZGe661BVKh1eLEd6qA8K9fZ/eiK9o cIPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778239072; x=1778843872; 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=yPP4JL0RAe1XpX/h7T3lnNJ3/faSIVf5jmqwVJovOao=; b=SyBfpHUd+bimZEHjg/2+rfhqx1UfdkonBSKcLk3zl6fNxOQEKvfi1zFc65+KnflY3m EWjxTJkhr+zuNxBdcdIVZhmkmbvqMsRH9C19YFl0B+UhbM4udysj3RLT2Ln31xZkeOoK /AQmekywOAnDjwu6tKoUmGHxzxty4EYR/Bxv609lP6z5v2n4WJW4G/sRo1yXMRoGey+O psiQE2URnCY1HkvUpKApd2LBuOcIYu9m+rm/OGyeTYYMX4AHpYzIHDAndNjTu6NE4add bzyTJFSgOga/OrST40hB0pt4TqpW83RgDrDJQ+XGBf1xRKROLR/3sOxLg4HtsOVNc6TE 5gZA== X-Forwarded-Encrypted: i=1; AFNElJ8uvT3HU9aX2wn0/5WnQhchhAmM87HZxremwZlKy7yL4P8MWMQOaxwjlVHOieBHzMD8GYr944rDecyaXIg=@vger.kernel.org X-Gm-Message-State: AOJu0YxJ+staj4vhys+bpw4xEznct7pFG/7jlzhx2DWRyG7JcXV68kU4 10YaTM4S0+8EI0jVfA2t+CczOaQrszAKiFrCyXGa+rLZCEqERipQYevj X-Gm-Gg: Acq92OFfI/wiXWkjmU+hDfgVQ2IhqWhHwt7VYsvUUkbuxCIB0P4tSGUBRQauzXjRd5s uo1jpzKrnyDwJio4UxNKYVzRAuNVJW+1/5Hr6ys6umCXJwbfSXijd+DDmInyVQlpvUd24KLtswk gwCzq9wHjis/wyrMOxOuq1fRPMJaHlBtf3z4/3I3PiUcexrlk2MKMOUMd3inD5zN3Xrfo6XmV7L CYPRaqQJrYJrLak4aspa3NSTPKPg9OJ7fYjUybrqZ9TfNhJf5Az2AYIwwzV4LypM9nNuPG94ptQ dIrzq/77K4vEuC11hyJWFZn0iXSEG1dLXG1GDNYZqkglo63HbxRGWxzePp6g09ne0E7BH7V+yNr Uk8QbW5LbuGZg6LdMVpjX7ttJp/m8XqZT6lMJeG/Fh3lGfjdLM6e3UsHS/Ry24RmSSi9p6iBKDB JrWMsJTFr2jTIBmGGFW25ZLyLUGzlt+mphFY8OniCpiw/ZiDXRWnqEWClJfDy29XDmlmLrnpJLT OrpKkU8hD49maJW6vsGTUVTvCNi/WAxWTqqpw== X-Received: by 2002:a05:6000:1868:b0:44f:da54:da6c with SMTP id ffacd0b85a97d-4515ce1c84emr20981373f8f.26.1778239071736; Fri, 08 May 2026 04:17:51 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:74ae:919a:e57c:bd9c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-454916df968sm3535563f8f.25.2026.05.08.04.17.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 04:17:51 -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 v2 3/4] drm: renesas: rz-du: Move mode_valid logic to per-SoC clock limits Date: Fri, 8 May 2026 12:17:43 +0100 Message-ID: <20260508111744.771659-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260508111744.771659-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260508111744.771659-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 SoC constraints stored in rzg2l_du_device_info. Pixel clock limits differ across SoCs in the RZ DU family and cannot be expressed by a single shared rule. For example, RZ/G2UL (R9A07G043U) limits the DPAD0 pixel clock to 83.5 MHz, while other SoCs such as RZ/T2H require a wider operating range. Add mode_clock_min and mode_clock_max fields to rzg2l_du_device_info to describe the supported pixel clock range for each SoC. Update rzg2l_du_encoder_mode_valid() to return MODE_CLOCK_LOW when the pixel clock falls below mode_clock_min and MODE_CLOCK_HIGH when it exceeds mode_clock_max. Set the pixel clock limits for RZ/G2UL(R9A07G043U) to 20.875MHz minimum and 83.5MHz maximum. Signed-off-by: Lad Prabhakar --- 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 | 2 ++ 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, 11 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..3b7162c6e1f4 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c @@ -35,6 +35,8 @@ static const struct rzg2l_du_device_info rzg2l_du_r9a07g0= 43u_info =3D { .port =3D 0, }, }, + .mode_clock_min =3D 20875, + .mode_clock_max =3D 83500, }; =20 static const struct rzg2l_du_device_info rzg2l_du_r9a07g044_info =3D { 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..885558eb9547 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h @@ -44,10 +44,14 @@ 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_*) + * @mode_clock_min: minimum pixel clock in kHz + * @mode_clock_max: maximum pixel clock in kHz */ struct rzg2l_du_device_info { unsigned int channels_mask; struct rzg2l_du_output_routing routes[RZG2L_DU_OUTPUT_MAX]; + u32 mode_clock_min; + u32 mode_clock_max; }; =20 #define RZG2L_DU_MAX_CRTCS 1 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..5c672549bc84 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_device_info *info =3D rcdu->info; =20 - if (renc->output =3D=3D RZG2L_DU_OUTPUT_DPAD0 && mode->clock > 83500) + if (info->mode_clock_min && mode->clock < info->mode_clock_min) + return MODE_CLOCK_LOW; + if (info->mode_clock_max && mode->clock > info->mode_clock_max) return MODE_CLOCK_HIGH; =20 return MODE_OK; --=20 2.54.0 From nobody Sat Jun 13 08:51:12 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 532B1396591 for ; Fri, 8 May 2026 11:17:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239078; cv=none; b=iaJumPqtbykF3sb6nbtpWCQsdE51rrLeXbtpixqOxJ4sge6B5Kx71Nj5nf+vtlCeNV8Jufh0g3TjKBMdQu57kyv9/9bfRKwt9wmxC1HAUwwZK7jNF44QOd+RUQnH3OAhT2Y2Vl0Ky7suHTJKa1BSdLK+eqXFK1MAT1CoIrVQ2y0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778239078; c=relaxed/simple; bh=6rePoYg9zZjfRvgAGXJYtlK8ma8tlX/oIEwFq/4VEQw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Xf0tgwmAqZbb28SZN0kunEFVPJVxSV8W71eM5xs5l5zUI6+Z4HiFyA+oOVVIPWPZMv5VBqU+F5dqSDbYSRT2aadMG3kiI0hN4CJB6B/eGyo8wDIkKabo9rjIpJFKkls7oDKAG414wjkML+QJH5KbjFPTsrhEJYYWzg1N+Iuf5dI= 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=RAeqt9Jn; arc=none smtp.client-ip=209.85.221.52 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="RAeqt9Jn" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-445795cf6f1so1217215f8f.1 for ; Fri, 08 May 2026 04:17:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778239073; x=1778843873; 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=h4xhery0lAk3gv+PVUgTZeq25ctOn5hBwj4+jcbkRck=; b=RAeqt9JnI359yOeHb56Mndex4o97DAYwFkW6zz+8jvDyypg07UqyiiJlv8ai843OB1 tdGN7j3zRPINVAjEIpVQUvjMzam7jq6x9fhNtRy5eXuejRR9uB1C+DZisCI38jYpp+aH oxHgMLHgXmCuaKqzZZX7RpzUCDHwCfb4hwEf7tvAN2FcDFTRtu4Kxjl5I8UClzSX+z53 rHf3yW9gWqRkSYiW9tM927XJIwVtpEz++iNRpW46bPxj97Rt1WibYehLlcioPa++HLIb vXAsvuRVp9NE/ybOYrCAV4ZM/nh7JGCW3inIughoh7s7Jg/87An5UkG6HikaHZlTmUDy 5/Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778239073; x=1778843873; 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=h4xhery0lAk3gv+PVUgTZeq25ctOn5hBwj4+jcbkRck=; b=aKQ5WLD0W2PrXIomumiY4kWtOUDJWFAPZjKABSvKhBHZDHp7KhmYQtmV7T5ZPS220s KNuoIHMn4dWHdqsHvT8iipP3oLA/MCuucQ7QLiQ+HrN4yqf5Nt0Ved4BwtFXPTqEf5OL 2J6fMA+L6d1jlrgxVJ2sITZghxsUWBUs+IuYQUlgFU55czhermxzDIvFELlRFGUATKPm 0Xr09b2KoLfPu84MeEVyg7+ekf6VGIcV4cPKwPMVpMo1FoYIq+tGtYp0grmWYH0pYM46 xHJiSxxfg3Su3jIukXQ8tr9ByV9bFXn2oLTHHMOrIubsToBEm5Xzz+NO8gtKYuFhlE5G xCYg== X-Forwarded-Encrypted: i=1; AFNElJ/m62uclgZagls4dg7CuB7ubtfUyNy8gq1cTxa+KACRpCR//1XWAFpBaVrum9T3xnHXfzjal95lLp3J21c=@vger.kernel.org X-Gm-Message-State: AOJu0YzEs/EztT8bEc5NSKUUdQXGYEdlsEVnv+ylLBRf72g2X95VhEAZ Got9FjHJ3l5P5ZF1wZMFZnubcY8aeoiXwnKTK34gTC5bO5WL4hoQXsWS X-Gm-Gg: Acq92OHhHAxriZCdqtv3zxnIbQDGo5nxxmZX+ZdYrPMZPJ7+4vZ/tUjUeP1BXFL7BnE R512TKAxCdmNkCxTsdibUuzSb71U8j9l7SyQhq1jmUkl4Q0xQQEYXZc0Pb5Y9JUp92iuPzl6Eyq bUwdrsc9RsLwUhgZ7M9upaB6+EMWALp8yKOgsCgtYZFpXRTuCmAIVfc9LE1OUib/9nZrf9yfOxe lhtWt7I0GbXdWPjP+sZQYl+fTN7ex+6PyxPRgzCs5GUjW7TfqbUoNHzS1T9St0Xxcn/yjAxXIF/ RKY2620tj5zfheNpO8wyvIWt9B5YTZKFG3hflE8XzdufnYd88raCBs/8dzpWa3OrpowbF7AvkC7 h6EG0gmddq3auJUdOecx/uRVwf0l3Kk9g9xD4PUCUlhuTtbRSbgKfhi/Ln43eU30+iC2lkRSPAW lDBVs58lCO7MH9JjMxHuQyD4L9NL3TCeVgH1nCYHblugfgf/di4UreFW+BYIKXGXu9KlmD1iIJk Mxpd0gU5r+5yXrLEARmHGv9vkmRWcZZlM5W5eJtLW6qvQE9 X-Received: by 2002:a05:6000:4010:b0:44b:aca1:f480 with SMTP id ffacd0b85a97d-4515a6c3361mr18785764f8f.8.1778239072877; Fri, 08 May 2026 04:17:52 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:74ae:919a:e57c:bd9c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-454916df968sm3535563f8f.25.2026.05.08.04.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 04:17:52 -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 v2 4/4] drm: renesas: rz-du: Add support for RZ/T2H SoC Date: Fri, 8 May 2026 12:17:44 +0100 Message-ID: <20260508111744.771659-5-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260508111744.771659-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260508111744.771659-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 --- 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 3b7162c6e1f4..fc55dfffebaf 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c @@ -63,10 +63,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, + }, + }, + .features =3D RZG2L_DU_FEATURE_DPIO_OE, + .mode_clock_min =3D 5000, + .mode_clock_max =3D 100000, +}; + 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 885558eb9547..baf076d69cda 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, @@ -46,12 +48,14 @@ struct rzg2l_du_output_routing { * @routes: array of CRTC to output routes, indexed by output (RZG2L_DU_OU= TPUT_*) * @mode_clock_min: minimum pixel clock in kHz * @mode_clock_max: maximum pixel clock in kHz + * @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]; u32 mode_clock_min; u32 mode_clock_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