Hello,
I am working on enabling an RGMII Ethernet PHY on a custom board based on Tegra234 (AGX Orin).
According to the datasheet of my Ethernet PHY, the reset pin is Active Low:
“Hardware Reset: Asynchronous active low device reset.” (HRSTN pin).
I am configuring the Device Tree and I have a question regarding the nvidia,phy-reset-gpio property flags.
Current DT S snippet:
status = “okay”;
phy-mode = “rgmii-id”;
phy-handle = <&phy>;
nvidia,phy-reset-gpio = <&gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
mdio {
compatible = "nvidia,eqos-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy: phy@1 {
reg = <0>;
nvidia,phy-rst-pdelay-msec = <224>;
nvidia,phy-rst-duration-usec = <10000>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
};
};
};
I examined the outputs:
reset-gpios = <&gpio TEGRA234_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>; this is equal to:
reset-gpios = <&gpio TEGRA234_MAIN_GPIO(P, 5) 1>;
and
reset-gpios = <&gpio TEGRA234_MAIN_GPIO(P, 5) GPIO_ACTIVE_HIGH>; this is equal to:
reset-gpios = <&gpio TEGRA234_MAIN_GPIO(P, 5) 0>
I have noticed in other forum threads that users with Active Low PHYs often set the flag to 0 (GPIO_ACTIVE_HIGH) (instead of 1 (GPIO_ACTIVE_LOW))
My question is:
If my PHY requires a Logic low Low signal (0V) to Reset :
Should I define this GPIO as GPIO_ACTIVE_LOW (1) , or GPIO_ACTIVE_HIGH (0) to ensure phy reqs?
Could you clarify?
Thanks in advance.