From: Liu Ying <victor.liu@nxp.com>
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@kernel.org>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
[m.felsch@pengutronix.de: port to v7.0-rc1]
[m.felsch@pengutronix.de: add bus-width]
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
.../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:
+ 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>;
+ };
+ };
+ };
+ };
};
--
2.47.3
On Mon, Mar 02, 2026 at 05:10:40PM +0100, Marco Felsch wrote:
> From: Liu Ying <victor.liu@nxp.com>
>
> 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@kernel.org>
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> [m.felsch@pengutronix.de: port to v7.0-rc1]
> [m.felsch@pengutronix.de: add bus-width]
> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
> ---
> .../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.
> + 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
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@nxp.com>
> >
> > 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@kernel.org>
> > Signed-off-by: Liu Ying <victor.liu@nxp.com>
> > [m.felsch@pengutronix.de: port to v7.0-rc1]
> > [m.felsch@pengutronix.de: add bus-width]
> > Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
> > ---
> > .../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@PAXPR04MB8459.eurprd04.prod.outlook.com/
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 |
On Tue, Mar 03, 2026 at 08:59:58AM +0100, Marco Felsch wrote:
> 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@nxp.com>
>>>
>>> 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@kernel.org>
>>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>>> [m.felsch@pengutronix.de: port to v7.0-rc1]
>>> [m.felsch@pengutronix.de: add bus-width]
>>> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
>>> ---
>>> .../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@PAXPR04MB8459.eurprd04.prod.outlook.com/
>
> 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.
Hmm, reg property was added intentionally by the below commit. But,
I'm not saying removing the reg property is not a correct fix. Just
feel embarrassing to see that it was added and then to be removed.
16c8d76abe83 dt-bindings: display: bridge: ldb: Fill in reg property
Can you contribute patches to get this done if you think it's a 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
>>
>
--
Regards,
Liu Ying
© 2016 - 2026 Red Hat, Inc.