ARM: dts: imx7-colibri: add delay for on-module phy supply
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>
Mon, 16 May 2022 13:47:20 +0000 (15:47 +0200)
committerShawn Guo <shawnguo@kernel.org>
Sat, 11 Jun 2022 09:13:26 +0000 (17:13 +0800)
There is a significant time required for PHY Micrel KSZ8041 to power up.
Add a delay on start-up/wake-up before the FEC starts communicating with
the PHY.

LDO1 takes 6 ms, R39 + C44 takes ~100ms, the KSZ8041 datasheet asks for
~11 ms before starting any programming on the MIIM.

Counting that, add a 200 ms delay to be sure the PHY is ready for
programming. Also, add the same off delay time to give the capacitor
time to discharge in order to properly reset.

Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx7-colibri.dtsi

index 329638985db64d22b787c2550e94fab97aba490c..09dbd262dad1580fa91c439747193d3acb8b0d45 100644 (file)
                regulator-name = "+V3.3_AVDD_AUDIO";
        };
 
+       reg_module_3v3_eth: regulator-module-3v3-eth {
+               compatible = "regulator-fixed";
+               off-on-delay-us = <200000>;
+               regulator-name = "+V3.3_ETH";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               startup-delay-us = <200000>;
+               vin-supply = <&reg_LDO1>;
+       };
+
        reg_usbh_vbus: regulator-usbh-vbus {
                compatible = "regulator-fixed";
                gpio = <&gpio4 7 GPIO_ACTIVE_LOW>; /* SODIMM 129 / USBH_PEN */
        fsl,magic-packet;
        phy-handle = <&ethphy0>;
        phy-mode = "rmii";
-       phy-supply = <&reg_LDO1>;
+       phy-supply = <&reg_module_3v3_eth>;
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&pinctrl_enet1>;
        pinctrl-1 = <&pinctrl_enet1_sleep>;
                        };
 
                        reg_LDO1: LDO1 { /* PWR_EN_+V3.3_ETH */
-                               regulator-min-microvolt = <1800000>;
+                               regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-boot-on;
                        };