summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx7-colibri.dtsi
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>2022-05-16 15:47:20 +0200
committerShawn Guo <shawnguo@kernel.org>2022-06-11 17:13:26 +0800
commitfe20bfa51c055e50f6abd1189397cfb3c425b402 (patch)
tree2f8bf67e41a32079328c445e783dd70b271aa1b1 /arch/arm/boot/dts/imx7-colibri.dtsi
parent59cb7dfd9b1c8d80d5ee69d18ba5476130242b13 (diff)
ARM: dts: imx7-colibri: add delay for on-module phy supply
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>
Diffstat (limited to 'arch/arm/boot/dts/imx7-colibri.dtsi')
-rw-r--r--arch/arm/boot/dts/imx7-colibri.dtsi15
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
index 329638985db6..09dbd262dad1 100644
--- a/arch/arm/boot/dts/imx7-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri.dtsi
@@ -94,6 +94,17 @@
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 */
@@ -153,7 +164,7 @@
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>;
@@ -440,7 +451,7 @@
};
reg_LDO1: LDO1 { /* PWR_EN_+V3.3_ETH */
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
};