Correct method to extend DTSI files with conflicting nodes

Showing results for 
Show  only  | Search instead for 
Did you mean: 

Correct method to extend DTSI files with conflicting nodes

Contributor II

Hello NXP team,

We're currently designing a hardware board based on the i.MX8QXP-MEK using a different Ethernet PHY controller. To do so, we're currently patching the kernel device tree (imx8x-mek.dtsi) &fec1 node:

&fec1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec1>;
	phy-mode = "rgmii-txid";
	phy-handle = <&ethphy0>;
	nvmem-cells = <&fec_mac0>;
	nvmem-cell-names = "mac-address";
	rx-internal-delay-ps = <2000>;
	status = "okay";


I'd like to include a custom *.dtsi file containing only the new PHY node & its pin definitions, instead of patching the kernel directly - this seems like the better approach.

I believe it is the approach used in a file like the "imx8qxp-mek-ov5640.dtsi", in a way "overriding" the original &fec1 node, and them updating the board's custom yocto machine layer.

Doing so, however, generates a conflict in the DTB compilation, as expected. Is there an example/guide on how to override phandles like the &fec1 in custom *.dtsi files?

0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Do you include this dtsi file after #include "imx8qxp-mek.dts"?

Can you share the conflict log in the DTB compilation?

0 Kudos