linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] Add support for i.MX94 DCIF
@ 2025-08-06 15:05 Laurentiu Palcu
  2025-08-06 15:05 ` [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property Laurentiu Palcu
  2025-08-07  7:26 ` [PATCH v3 0/9] Add support for i.MX94 DCIF Krzysztof Kozlowski
  0 siblings, 2 replies; 8+ messages in thread
From: Laurentiu Palcu @ 2025-08-06 15:05 UTC (permalink / raw)
  To: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Laurentiu Palcu, Philipp Zabel, Marek Vasut
  Cc: Frank Li, linux-clk, devicetree, linux-arm-kernel, linux-kernel,
	dri-devel

Hi,

This patch-set adds support for the i.MX94 Display Control Interface.
It depends on Peng Fan's DTS patch [1] that was not yet merged. Also, it
needs the BLK CTL changes [2] that I spinned off from v2 in a different
patchset.

Also, included in the patch-set are a few extra patches that the DCIF
driver depends on for functioning properly:
 * 1/9 - 3/9 : add support for i.MX94 to fsl-ldb driver. It also
			   contains a patch (2/9) from Liu Ying that was already reviewed
			   and was part of another patch-set ([3]), but was never merged;

v3:
 * Removed the BLK CTL patches and created a separate patch set [2] for them;
 * Collected r-b tags for 1/9, 2/9, 3/9 and 9/9;
 * Removed the DCIF QoS functionality until I find a better way to
   implement it through syscon. QoS functionality will be added in
   subsequent patches. Also, used devm_clk_bulk_get_all() and used
   dev_err_probe() as suggested;
 * Addressed Frank's and Krzysztof's comments on the DCIF bindings;
 * Addressed Frank's comments on dtsi and dts files;
 * Added a new binding patch, 6/9, for adding 'ldb' optional property to
   nxp,imx95-blk-ctl.yaml;

v2:
 * reworked the BLK_CTL patch and split in 2 to make it easier for
   review;
 * split the dts and dtsi patch in 2 separate ones;
 * addressed Frank's comments in DCIF driver;
 * addressed Rob's comments for the bindings files;
 * addressed a couple of checkpatch issues;

Thanks,
Laurentiu

[1] https://lkml.org/lkml/2025/7/7/84
[2] https://www.spinics.net/lists/kernel/msg5791546.html
[3] https://lkml.org/lkml/2024/11/14/262

Laurentiu Palcu (7):
  dt-bindings: display: fsl,ldb: Add i.MX94 LDB
  drm/bridge: fsl-ldb: Add support for i.MX94
  dt-bindings: display: imx: Add bindings for i.MX94 DCIF
  dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property
  arm64: dts: imx943: Add display pipeline nodes
  arm64: dts: imx943-evk: Add display support using IT6263
  MAINTAINERS: Add entry for i.MX94 DCIF driver

Liu Ying (1):
  drm/bridge: fsl-ldb: Get the next non-panel bridge

Sandor Yu (1):
  drm/imx: Add support for i.MX94 DCIF

 .../bindings/clock/nxp,imx95-blk-ctl.yaml     |   5 +
 .../bindings/display/bridge/fsl,ldb.yaml      |   2 +
 .../bindings/display/imx/nxp,imx94-dcif.yaml  |  82 +++
 MAINTAINERS                                   |   9 +
 arch/arm64/boot/dts/freescale/imx943-evk.dts  | 121 +++
 arch/arm64/boot/dts/freescale/imx943.dtsi     |  55 +-
 drivers/gpu/drm/bridge/fsl-ldb.c              |  47 +-
 drivers/gpu/drm/imx/Kconfig                   |   1 +
 drivers/gpu/drm/imx/Makefile                  |   1 +
 drivers/gpu/drm/imx/dcif/Kconfig              |  15 +
 drivers/gpu/drm/imx/dcif/Makefile             |   5 +
 drivers/gpu/drm/imx/dcif/dcif-crc.c           | 211 ++++++
 drivers/gpu/drm/imx/dcif/dcif-crc.h           |  52 ++
 drivers/gpu/drm/imx/dcif/dcif-crtc.c          | 694 ++++++++++++++++++
 drivers/gpu/drm/imx/dcif/dcif-drv.c           | 226 ++++++
 drivers/gpu/drm/imx/dcif/dcif-drv.h           |  84 +++
 drivers/gpu/drm/imx/dcif/dcif-kms.c           | 100 +++
 drivers/gpu/drm/imx/dcif/dcif-plane.c         | 269 +++++++
 drivers/gpu/drm/imx/dcif/dcif-reg.h           | 266 +++++++
 19 files changed, 2223 insertions(+), 22 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/imx/nxp,imx94-dcif.yaml
 create mode 100644 drivers/gpu/drm/imx/dcif/Kconfig
 create mode 100644 drivers/gpu/drm/imx/dcif/Makefile
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-crc.c
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-crc.h
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-crtc.c
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-drv.c
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-drv.h
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-kms.c
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-plane.c
 create mode 100644 drivers/gpu/drm/imx/dcif/dcif-reg.h

-- 
2.49.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property
  2025-08-06 15:05 [PATCH v3 0/9] Add support for i.MX94 DCIF Laurentiu Palcu
@ 2025-08-06 15:05 ` Laurentiu Palcu
  2025-08-06 15:50   ` Frank Li
  2025-08-07  7:29   ` Krzysztof Kozlowski
  2025-08-07  7:26 ` [PATCH v3 0/9] Add support for i.MX94 DCIF Krzysztof Kozlowski
  1 sibling, 2 replies; 8+ messages in thread
From: Laurentiu Palcu @ 2025-08-06 15:05 UTC (permalink / raw)
  To: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
  Cc: Frank Li, Laurentiu Palcu, linux-clk, devicetree,
	linux-arm-kernel, linux-kernel

Since the BLK CTL registers, like the LVDS CSR, can be used to control the
LVDS Display Bridge controllers, add optional 'ldb' property to handle
these use cases.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
---
 .../devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml         | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml
index 27403b4c52d62..836004de4460f 100644
--- a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml
+++ b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml
@@ -39,6 +39,11 @@ properties:
       ID in its "clocks" phandle cell. See
       include/dt-bindings/clock/nxp,imx95-clock.h
 
+patternProperties:
+  "^ldb@[0-9a-f]+$":
+    type: object
+    $ref: /schemas/display/bridge/fsl,ldb.yaml#
+
 required:
   - compatible
   - reg
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property
  2025-08-06 15:05 ` [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property Laurentiu Palcu
@ 2025-08-06 15:50   ` Frank Li
  2025-08-07  7:29   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 8+ messages in thread
From: Frank Li @ 2025-08-06 15:50 UTC (permalink / raw)
  To: Laurentiu Palcu
  Cc: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, linux-clk,
	devicetree, linux-arm-kernel, linux-kernel

On Wed, Aug 06, 2025 at 06:05:13PM +0300, Laurentiu Palcu wrote:
> Since the BLK CTL registers, like the LVDS CSR, can be used to control the
> LVDS Display Bridge controllers, add optional 'ldb' property to handle
> these use cases.
>
> Signed-off-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>

Reviewed-by: Frank Li <Frank.Li@nxp.com>

> ---
>  .../devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml         | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml
> index 27403b4c52d62..836004de4460f 100644
> --- a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml
> +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml
> @@ -39,6 +39,11 @@ properties:
>        ID in its "clocks" phandle cell. See
>        include/dt-bindings/clock/nxp,imx95-clock.h
>
> +patternProperties:
> +  "^ldb@[0-9a-f]+$":
> +    type: object
> +    $ref: /schemas/display/bridge/fsl,ldb.yaml#
> +
>  required:
>    - compatible
>    - reg
> --
> 2.49.0
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/9] Add support for i.MX94 DCIF
  2025-08-06 15:05 [PATCH v3 0/9] Add support for i.MX94 DCIF Laurentiu Palcu
  2025-08-06 15:05 ` [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property Laurentiu Palcu
@ 2025-08-07  7:26 ` Krzysztof Kozlowski
  2025-08-07 12:34   ` Laurentiu Palcu
  1 sibling, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-07  7:26 UTC (permalink / raw)
  To: Laurentiu Palcu
  Cc: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Philipp Zabel, Marek Vasut, Frank Li, linux-clk, devicetree,
	linux-arm-kernel, linux-kernel, dri-devel

On Wed, Aug 06, 2025 at 06:05:07PM +0300, Laurentiu Palcu wrote:
> Hi,
> 
> This patch-set adds support for the i.MX94 Display Control Interface.
> It depends on Peng Fan's DTS patch [1] that was not yet merged. Also, it
> needs the BLK CTL changes [2] that I spinned off from v2 in a different
> patchset.
> 
> Also, included in the patch-set are a few extra patches that the DCIF
> driver depends on for functioning properly:
>  * 1/9 - 3/9 : add support for i.MX94 to fsl-ldb driver. It also
> 			   contains a patch (2/9) from Liu Ying that was already reviewed
> 			   and was part of another patch-set ([3]), but was never merged;
> 
> v3:
>  * Removed the BLK CTL patches and created a separate patch set [2] for them;
>  * Collected r-b tags for 1/9, 2/9, 3/9 and 9/9;
>  * Removed the DCIF QoS functionality until I find a better way to
>    implement it through syscon. QoS functionality will be added in
>    subsequent patches. Also, used devm_clk_bulk_get_all() and used
>    dev_err_probe() as suggested;
>  * Addressed Frank's and Krzysztof's comments on the DCIF bindings;

What exactly changed? I cannot find v2 of one of the patches, no lore
links here, so with incomplete changelog I say you make it difficult for
me to review it.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property
  2025-08-06 15:05 ` [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property Laurentiu Palcu
  2025-08-06 15:50   ` Frank Li
@ 2025-08-07  7:29   ` Krzysztof Kozlowski
  2025-08-07 12:35     ` Laurentiu Palcu
  1 sibling, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-07  7:29 UTC (permalink / raw)
  To: Laurentiu Palcu
  Cc: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Frank Li,
	linux-clk, devicetree, linux-arm-kernel, linux-kernel

On Wed, Aug 06, 2025 at 06:05:13PM +0300, Laurentiu Palcu wrote:
> Since the BLK CTL registers, like the LVDS CSR, can be used to control the
> LVDS Display Bridge controllers, add optional 'ldb' property to handle
> these use cases.

You did not add property here. You added child node.

I don't understand the rationale at all. How the registers could appear
in this hardware? What changed that registers were not there?

Why every device here has ldb child? Why camera has ldb?

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/9] Add support for i.MX94 DCIF
  2025-08-07  7:26 ` [PATCH v3 0/9] Add support for i.MX94 DCIF Krzysztof Kozlowski
@ 2025-08-07 12:34   ` Laurentiu Palcu
  0 siblings, 0 replies; 8+ messages in thread
From: Laurentiu Palcu @ 2025-08-07 12:34 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Philipp Zabel, Marek Vasut, Frank Li, linux-clk, devicetree,
	linux-arm-kernel, linux-kernel, dri-devel

On Thu, Aug 07, 2025 at 09:26:55AM +0200, Krzysztof Kozlowski wrote:
> On Wed, Aug 06, 2025 at 06:05:07PM +0300, Laurentiu Palcu wrote:
> > Hi,
> > 
> > This patch-set adds support for the i.MX94 Display Control Interface.
> > It depends on Peng Fan's DTS patch [1] that was not yet merged. Also, it
> > needs the BLK CTL changes [2] that I spinned off from v2 in a different
> > patchset.
> > 
> > Also, included in the patch-set are a few extra patches that the DCIF
> > driver depends on for functioning properly:
> >  * 1/9 - 3/9 : add support for i.MX94 to fsl-ldb driver. It also
> > 			   contains a patch (2/9) from Liu Ying that was already reviewed
> > 			   and was part of another patch-set ([3]), but was never merged;
> > 
> > v3:
> >  * Removed the BLK CTL patches and created a separate patch set [2] for them;
> >  * Collected r-b tags for 1/9, 2/9, 3/9 and 9/9;
> >  * Removed the DCIF QoS functionality until I find a better way to
> >    implement it through syscon. QoS functionality will be added in
> >    subsequent patches. Also, used devm_clk_bulk_get_all() and used
> >    dev_err_probe() as suggested;
> >  * Addressed Frank's and Krzysztof's comments on the DCIF bindings;
> 
> What exactly changed?
I removed the redundant text in the description of interrupts, to make
the text fit on the same line with "description:" and, also, removed the
description items for clocks as they're pretty much explained by the
clock-names.

> I cannot find v2 of one of the patches, no lore links here, so with
> incomplete changelog I say you make it difficult for me to review it.
I'm sorry about that. :/ I am aware that removing or adding patches to
the set will most likely mess up with various tools... However, I stated
in the last line of the v3 changelog that 6/9 was new: "Added a new
binding patch, 6/9, for adding 'ldb' optional property to
nxp,imx95-blk-ctl.yaml".

Thanks,
Laurentiu

> 
> Best regards,
> Krzysztof
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property
  2025-08-07  7:29   ` Krzysztof Kozlowski
@ 2025-08-07 12:35     ` Laurentiu Palcu
  2025-08-17  7:25       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Laurentiu Palcu @ 2025-08-07 12:35 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Frank Li,
	linux-clk, devicetree, linux-arm-kernel, linux-kernel

On Thu, Aug 07, 2025 at 09:29:05AM +0200, Krzysztof Kozlowski wrote:
> On Wed, Aug 06, 2025 at 06:05:13PM +0300, Laurentiu Palcu wrote:
> > Since the BLK CTL registers, like the LVDS CSR, can be used to control the
> > LVDS Display Bridge controllers, add optional 'ldb' property to handle
> > these use cases.
> 
> You did not add property here. You added child node.
Being under 'patternProperties', I thought it was appropriate to call it
a 'property'.

> 
> I don't understand the rationale at all. How the registers could appear
> in this hardware? What changed that registers were not there?
These are "configuration and status registers"(CSR). This syscon
device binding covers the CSRs for various subsystems. However, the CSR
register map is not the same for all CSR blocks.

> 
> Why every device here has ldb child? Why camera has ldb?
I guess I see what you mean... Would something like the following change
be acceptable?

---
if:
  properties:
    compatible:
      contains:
        const: nxp,imx94-lvds-csr
then:
  patternProperties:
    "^ldb@[0-9a-f]+$":
      type: object
      $ref: /schemas/display/bridge/fsl,ldb.yaml#
---

Thanks,
Laurentiu

> 
> Best regards,
> Krzysztof
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property
  2025-08-07 12:35     ` Laurentiu Palcu
@ 2025-08-17  7:25       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-08-17  7:25 UTC (permalink / raw)
  To: Laurentiu Palcu
  Cc: imx, Abel Vesa, Peng Fan, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Frank Li,
	linux-clk, devicetree, linux-arm-kernel, linux-kernel

On 07/08/2025 14:35, Laurentiu Palcu wrote:
>>
>> Why every device here has ldb child? Why camera has ldb?
> I guess I see what you mean... Would something like the following change
> be acceptable?
> 
> ---
> if:
>   properties:
>     compatible:
>       contains:
>         const: nxp,imx94-lvds-csr
> then:
>   patternProperties:
>     "^ldb@[0-9a-f]+$":
>       type: object
>       $ref: /schemas/display/bridge/fsl,ldb.yaml#

In if:then: you only narrow the existence or constraints, so "if:not:
.... then: patternProperties:.... ^ldb@[0-9a-f]+$:false". The node
should still be defined in top level.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-08-17  7:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-06 15:05 [PATCH v3 0/9] Add support for i.MX94 DCIF Laurentiu Palcu
2025-08-06 15:05 ` [PATCH v3 6/9] dt-bindings: clock: nxp,imx95-blk-ctl: Add optional ldb property Laurentiu Palcu
2025-08-06 15:50   ` Frank Li
2025-08-07  7:29   ` Krzysztof Kozlowski
2025-08-07 12:35     ` Laurentiu Palcu
2025-08-17  7:25       ` Krzysztof Kozlowski
2025-08-07  7:26 ` [PATCH v3 0/9] Add support for i.MX94 DCIF Krzysztof Kozlowski
2025-08-07 12:34   ` Laurentiu Palcu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).