> As both me an Manivannan said earlier in this thread, > PCIe endpoint devices should not be described in device tree > (the exception is an FPGA, and when you need to describe devices > within the FPGA). > > So I think that adding a "ethernet-phy" device tree node in this case is > wrong (as the Ethernet PHY in this case is integrated in the PCIe connected > NIC, and not a discrete component on the SoC). There are other cases when PCIe devices need a DT node. One is when you have an onboard ethernet switch connected to the Ethernet device. The switch has to be described in DT, and it needs a phandle to the ethernet interface. Hence you need a DT node the phandle points to. You are also making the assumption that the PCIe ethernet interface has firmware driving all its subsystems. Which results in every PCIe ethernet device manufacture re-inventing what Linux can already do for SoC style Ethernet interfaces which do not have firmware, linux drives it all. I personally would prefer Linux to drive the hardware, via a DT node, since i then don't have to deal with firmware bugs i cannot fix, its just Linux all the way down. Andrew