This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358: rmii-clock-ext property not compiling on kernel dts

Part Number: AM3358

Hi,

I am trying to add the rmii-clock-ext property to my device tree, but it throws the following error:

Error: arch/arm/boot/dts/am335x-dhpc_poc.dts:113.1-9 Label or path phy_sel not found
FATAL ERROR: Syntax error parsing input tree

My current node description is:

&phy_sel {

    rmii-clock-ext;

};

  • Hello Alha,

    What device tree node is phy_sel supposed to be a part of? It might be helpful if you post all the associated nodes from your device tree and the device tree files that are included by your device tree.

    Regards,

    Nick

  • &cpsw_emac0 {
    phy-mode = "rmii" ;
    dual_emac_res_vlan=<1>;
    // rmii-clock-ext;
    fixed-link {
    speed = <100>;
    full-duplex;
    };
    };

    &cpsw_emac1 {
    phy-handle = <&ethphy1>;
    phy-mode = "rgmii-id";
    dual_emac_res_vlan = <2>;
    };
    &phy_sel {
    rmii-clock-ext;
    };
    Here are the nodes involved. I am trying to use the &phy_sel node for rmii on the cpsw_emac0
    interface
    We have an sja1105 external switch connected to the emac0 interface. However, we found on the
    errata that am3358 RMII's ref_clock cannot be used as reference clock.
    Page 22)
    For this reason, we are trying to set the RMII reference clock to external.
    Thanks
  • Hello,

    Note that &phy_sel is just a label that points to an existing node. So if your Linux devicetree file and the dtsi files that are included in your device tree do not define a node named phy_sel, then the compiler will not know what you are talking about.

    I am reassigning your thread to our Linux CPSW owner for any followup questions.

    Regards,

    Nick

  • Hi Nick,

    Thanks for getting back to me.

    I found that phy_sel is defined on the am3xx.dtsi of U-Boot. Aren't am33xx.dtsi files provided by TI ? 


    The am33xx.dtsi file version on kernel 5.10 mainstream does not have a phy_sel node specification. 
    Would adding this node  to the am33xx.dtsi work fine ?

    Since it is already  specified in UBoot. Would the Uboot specification persist after the kernel boot or does the kernel device tree take precedence ?

    The reason why I am having to add this node to use an external reference clock since the errata of am335x indicates that the rmii ref_clock cannot be used as reference clock since it is not a low jitter clock. If you do have another solution for setting the ref_clock pin as input, please let me know.


    We have a switch connected to the Sitara via RMII. And the switch expects the reference clock to be outputted from the Sitara.

    Thanks, 

    Alha