Re: [PATCH v10 1/3] dt-bindings: soc: imx93-media-blk-ctrl: Add PDFC subnode to schema and example

From: Marco Felsch

Date: Tue Mar 03 2026 - 03:04:02 EST


On 26-03-03, Liu Ying wrote:
> On Mon, Mar 02, 2026 at 05:10:40PM +0100, Marco Felsch wrote:
> > From: Liu Ying <victor.liu@xxxxxxx>
> >
> > i.MX93 SoC mediamix blk-ctrl contains one DISPLAY_MUX register which
> > configures parallel display format by using the "PARALLEL_DISP_FORMAT"
> > field. Document the Parallel Display Format Configuration(PDFC) subnode
> > and add the subnode to example.
> >
> > Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
> > Signed-off-by: Liu Ying <victor.liu@xxxxxxx>
> > [m.felsch@xxxxxxxxxxxxxx: port to v7.0-rc1]
> > [m.felsch@xxxxxxxxxxxxxx: add bus-width]
> > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > ---
> > .../bindings/soc/imx/fsl,imx93-media-blk-ctrl.yaml | 78 ++++++++++++++++++++++
> > 1 file changed, 78 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx93-media-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx93-media-blk-ctrl.yaml
> > index 34aea58094e55365a2f9c86092f637e533f954ff..d828c2e82965c7a4cd69a67136047d83c96b0a35 100644
> > --- a/Documentation/devicetree/bindings/soc/imx/fsl,imx93-media-blk-ctrl.yaml
> > +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx93-media-blk-ctrl.yaml
> > @@ -40,6 +40,58 @@ properties:
> > minItems: 8
> > maxItems: 10
> >
> > + dpi-bridge:
>
> Cc'ing Frank.
>
> fsl,ldb.yaml documents fsl,imx6sx-ldb, fsl,imx8mp-ldb and fsl,imx93-ldb
> with a reg property. Since all of them are child devices of either GPR
> or BLK_CTRL and this dpi-bridge is a child device of BLK_CTRL without a
> reg property, how can we handle the inconsistency? At least, with this
> patch and the current fsl,ldb.yaml, we cannot add an i.MX93 LDB child
> node.

This reg property was longly discussed and there should be no reg
because this 'reg' covers not only the PDFC register fields. Please see
the discussion:

- https://lore.kernel.org/all/PAXPR04MB84599D676EC1E3879694579688B2A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

The LDB node shouldn't have a reg property in the first place. There are
a few registers within BLK-CTRL which belong to only one "IP" like the
LDB. But these are the exception rather than the rule. To make it
possible to abstract _all_ sub-devices within the BLK control you need
to drop the reg property. The subdevice drivers need to handle the
offsets within the BLK-CTRL accordingly, like the LDB driver already
does. So removing the reg property from the LDB dt-bindings is the
correct fix.

Regards,
Marco

> > + type: object
> > + additionalProperties: false
> > +
> > + properties:
> > + compatible:
> > + enum:
> > + - nxp,imx91-pdfc
> > + - nxp,imx93-pdfc
> > +
> > + ports:
> > + $ref: /schemas/graph.yaml#/properties/ports
> > +
> > + properties:
> > + port@0:
> > + $ref: /schemas/graph.yaml#/properties/port
> > + description: Input port node to receive pixel data.
> > +
> > + port@1:
> > + $ref: /schemas/graph.yaml#/$defs/port-base
> > + unevaluatedProperties: false
> > + description: Output port node to downstream pixel data receivers.
> > +
> > + properties:
> > + endpoint:
> > + $ref: /schemas/media/video-interfaces.yaml#
> > + unevaluatedProperties: false
> > +
> > + properties:
> > + bus-width:
> > + enum: [ 16, 18, 24 ]
> > + description:
> > + Specify the physical parallel bus width.
> > +
> > + This property is optional if the display bus-width
> > + matches the SoC bus-width, e.g. a 18-bit RGB666 (display)
> > + is connected and all 18-bit data lines are muxed to the
> > + parallel-output pads.
> > +
> > + This property must be set to 18 to cut only the LSBs
> > + instead of the MSBs in case a 24-bit RGB888 display is
> > + connected and only the lower 18-bit data lanes are muxed
> > + to the parallel-output pads.
> > +
> > + required:
> > + - port@0
> > + - port@1
> > +
> > + required:
> > + - compatible
> > + - ports
> > +
> > allOf:
> > - if:
> > properties:
> > @@ -112,4 +164,30 @@ examples:
> > clock-names = "apb", "axi", "nic", "disp", "cam",
> > "pxp", "lcdif", "isi", "csi", "dsi";
> > #power-domain-cells = <1>;
> > +
> > + dpi-bridge {
> > + compatible = "nxp,imx93-pdfc";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > +
> > + pdfc_from_lcdif: endpoint {
> > + remote-endpoint = <&lcdif_to_pdfc>;
> > + };
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > +
> > + pdfc_to_panel: endpoint {
> > + remote-endpoint = <&panel_from_pdfc>;
> > + bus-width = <18>;
> > + };
> > + };
> > + };
> > + };
> > };
> >
>
> --
> Regards,
> Liu Ying
>

--
#gernperDu
#CallMeByMyFirstName

Pengutronix e.K. | |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |