[PATCH 2/4] Revert "dt-bindings: display: bridge: ldb: Fill in reg property"

Marco Felsch m.felsch at pengutronix.de
Wed May 13 03:26:40 PDT 2026


On 26-05-07, Rob Herring wrote:
> On Thu, May 7, 2026 at 6:55 AM Marco Felsch <m.felsch at pengutronix.de> wrote:

...

> > > But nowhere have you said the LDB registers are mixed with other
> > > functions. If they aren't, then there is absolutely nothing to change
> > > in the binding. If they are, then yes, we shouldn't have 'reg'.
> >
> > No they aren't mixed with other functions (for now).
> 
> For now? Is the h/w going to change or is the binding *still* incomplete.

Sorry for the confusion. By for now I mean that NXP tend to reuse IPs
but with minor changes. So no, the binding is not incomplete with our
current HW knowledge.

> > Can you please
> > confirm that mixing 'reg' based sub-device nodes with non 'reg' based
> > sub-device nodes  is allowed? E.g. if the below example is allowed?
> >
> >         system-controller at 4ac10000 {
> >                 compatible = "fsl,imx93-media-blk-ctrl", "syscon";
> >                 reg = <0x4ac10000 0x10000>;
> >                 #address-cells = <1>;
> >                 #size-cells = <1>;
> >
> >                 ...
> >
> >                 bridge at 5c {
> >                         compatible = "fsl,imx8mp-ldb";
> >                         reg = <0x5c 0x4>, <0x128 0x4>;
> >                         reg-names = "ldb", "lvds";
> >
> >                         ...
> >                 };
> >
> >                 dpi-bridge {
> >                         compatible = "nxp,imx93-pdfc";
> >
> >                         ...
> 
> Depends what is in "...". If only a compatible, then no. If there are
> actual resources defined, then yes.

Please see the below full example, is this allowed?

system-controller at 4ac10000 {
	compatible = "fsl,imx93-media-blk-ctrl", "syscon";
	reg = <0x4ac10000 0x10000>;
	#address-cells = <1>;
	#size-cells = <1>;

	...

	bridge at 5c {
		compatible = "fsl,imx8mp-ldb";
		reg = <0x5c 0x4>, <0x128 0x4>;
		reg-names = "ldb", "lvds";
		clocks = <&clk IMX8MP_CLK_MEDIA_LDB_ROOT>;
		clock-names = "ldb";
		assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
		assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
		status = "disabled";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port at 0 {
				reg = <0>;

				ldb_from_lcdif2: endpoint {
					remote-endpoint = <&lcdif2_to_ldb>;
				};
			};

			port at 1 {
				reg = <1>;

				ldb_lvds_ch0: endpoint {
				};
			};

			port at 2 {
				reg = <2>;

				ldb_lvds_ch1: endpoint {
				};
			};
		};
	};

	dpi-bridge {
		compatible = "nxp,imx93-pdfc";
		status = "disabled";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port at 0 {
				reg = <0>;

				dpi_from_lcdif: endpoint {
					remote-endpoint = <&lcdif_to_dpi>;
				};
			};

			port at 1 {
				reg = <1>;

				dpi_to_panel: endpoint {
				};
			};
		};
	};
};

> > Furthermore I thought that for the MMIO bridge at 5c device, the 'reg'
> > porperty would either require the full register address, e.g. 0x4ac1005c
> > or there needs to be a ranges property.
> 
> There should be a ranges property no matter what.

Good point, something to fix too :/

Regards,
  Marco



More information about the linux-arm-kernel mailing list