Re: [net-next PATCH v5 6/9] dt-bindings: net: Document Qcom QCA807x PHY package

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > +patternProperties:
> > +  ^ethernet-phy(@[a-f0-9]+)?$:
> 
> I don't get how an address is optional.

Its pretty unusual, but for example:

arch/arm/boot/dts/nxp/imx/imx6q-novena.dts

&fec {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_enet_novena>;
        phy-mode = "rgmii";
        phy-handle = <&ethphy>;
        phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
        status = "okay";

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

                ethphy: ethernet-phy {
                        compatible = "ethernet-phy-ieee802.3-c22";
                        rxc-skew-ps = <3000>;
                        rxdv-skew-ps = <0>;
                        txc-skew-ps = <3000>;
                        txen-skew-ps = <0>;
                        rxd0-skew-ps = <0>;
                        rxd1-skew-ps = <0>;
                        rxd2-skew-ps = <0>;
                        rxd3-skew-ps = <0>;
                        txd0-skew-ps = <3000>;
                        txd1-skew-ps = <3000>;
                        txd2-skew-ps = <3000>;
                        txd3-skew-ps = <3000>;
                };
        };
};

There is no reg property, because its optional. If there is no reg,
there is no address.

When phylib finds a DT blob like this, it enumerates the bus, and then
assigns the nodes to the devices it finds in the order it finds them.

Its old behaviour, from before the times of yaml validation, and
current best practices, etc. But because it works, it still used in
new bindings.

    Andrew




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux