Dts for imx7d-colibri-fec0

hi all
i plan to add fec2 with imx7d-colibri ver 1.1
in Colibri imx7 datasheet Table 5-6 shows the pins and functions of FEC2
i checked imx7-colibri.dtsi for fec1 devcie-tree configs for reference

i am confused with two things

  1. in fec0 device tree there is phy-supply = <&reg_LD01>
    is it necessary ?
    is it enough just to add reg_LD02 ? i mean just copy reg_LED01 and rename to reg_LDO2
    or can i drop that property
  2. in fec0 pinctrl_enet1 , what does MX7D_PAD_ENET1_CRS__GPIO7_IO14 do ?
    in rmii-interface , there is no crs singal ,
    what do i miss ?

thank you sincerely

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello! Thank you for your detailed question about enabling FEC2 on the Colibri iMX7D. I’m happy to help clarify your device tree considerations.

1. Regarding phy-supply:
The phy-supply property in the device tree provides a reference to a regulator node that supplies power to the Ethernet PHY.

  • Is it necessary? Only if your Ethernet PHY uses a dedicated regulator that should be controlled by Linux (for power management, sequencing, etc.). If your PHY is powered directly (e.g., always-on from a fixed rail), you can omit phy-supply.
  • Can you just add/reg_LD02? You only need to define a new regulator node (e.g., reg_LDO2) if your second PHY is supplied by a different, software-controllable regulator. Copying the structure and renaming is fine, but only if it matches your actual hardware.
  • Can you drop the property? Yes, if your PHY does not require software-controlled power (i.e., no enabling/disabling required), you can omit the phy-supply property altogether.

2. About MX7D_PAD_ENET1_CRS__GPIO7_IO14:

  • In the pin control settings, this pin is multiplexed as a general GPIO rather than its default (CRS) function.
  • In RMII mode, the CRS signal is not used. The RMII_CRS_DV signal is present, but CRS itself is not necessary.
  • In many designs, the extra GPIO may be used for custom functions like PHY reset or interrupt lines. Its presence in the pinctrl group does not mean you must use it; it might just be defined for flexibility or as an available GPIO.

Summary of your FEC2 device tree for RMII mode:

  • Set up pinmuxing for the RMII signals only: RXD0, RXD1, RXER, TXD0, TXD1, TXEN, CRS_DV, MDC, MDIO (see here).
  • Only add phy-supply if your hardware provides a regulated, software-controllable supply for the second PHY.
  • GPIOs like MX7D_PAD_ENET1_CRS__GPIO7_IO14 in pinctrl can be omitted unless you need them for a specific functionality.

For more on RMII and pinmuxing with Colibri iMX7, please see this detailed guide:
Pinmuxing with i.MX7 based modules

If you’d like, I can provide example device tree snippets for your FEC2/RMII setup.

Best regards,
Toradex AI Assistant.