Defining extra items (such as phy and mac address ) in the device tree for pcie nodes on orin-nx

On my custom orin-nx/JP6 based system I am adding the below snipped to the device tree. Compiles fine, and it shows up in the correct node under /sys/firmware/devicetree.base. Double checked, the device is at pcie@14100000.
However the PCIe device is not picking up the device tree change at all, and also the phy connection is not being made.
Is there anything I am missing ? This used to work fine for Jetson-Nano with kernel series 4,x

-----------------------------------------lan743x.dtsi -------------------------------------------
/ {
bus@0 {

                   pcie@14100000 {

                            compatible = "nvidia,tegra234-pcie";
                            #address-cells = <3>;
                            #size-cells = <2>;
                            bus-range = <0x00 0xff>;

                            pci@1,0 {
                                    ethernet@0,0 {
                                            compatible = "pci1055,7431";
                                            reg = <0x00010000 0 0 0 0>;
                                            nvidia,num-lanes = <1>;
                                            label = "lan743x";

                                            local-mac-address = [00 11 22 33 44 55];

                                             phy-connection-type = "rgmii";

                                            phy-handle = <&switch_cpu_port>;

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

                                                    switch0: ethernet-switch@0 {
                                                            compatible = "microchip,ksz9477";
                                                            reg = <0>;

                                                            microchip,synclko-125;

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


                                                                    switch_cpu_port:port@0 {
                                                                            reg = <0>;
                                                                            label = "cpu-port";
                                                                            phy-mode = "rgmii";
                                                                    };

                                                                    port@1 {
                                                                            reg = <1>;
                                                                            label = "switch-port1";
                                                                            phy-mode = "rgmii";
                                                                    };

                                                                    port@2 {
                                                                            reg = <2>;
                                                                            label = "switch-port2";
                                                                            phy-mode = "rgmii";
                                                                    };

                                                            };
                                                     };
                                    };
                            };

You may need to check if this driver is ever built in the kernel image.

If this is not enabled, then writing a compatible node in device tree also won’t make things work.

Yes, I have built the device driver (LAN743x) into the kernel, and also the tegra pcie driver. Any ideas ? At least the MAC address should be picked up by the kernel, but it is not.

Hi @daniel378

I think you need to know how things work here.

We only guarantee the pcie device could be detected in lspci as pcie driver is related to Jetson IP.

But the LAN743x is from 3rdparty vendor. How it gets MAC address or how it driver works is not part of what we would know. You need to contact with vendor driver.

For NV devkit usecase, the mac address is fused in the Realtek firmware.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.