1. #include "sun50i-h6-orangepi.dtsi"
  2. / {
  3. model = "OrangePi OnePlus";
  4. compatible = "OrangePi H6,opi-h6", "allwinner,sun50i-h6";
  5. aliases {
  6. ethernet0 = &emac;
  7. };
  8. reg_gmac_2v5: gmac-2v5 {
  9. compatible = "regulator-fixed";
  10. regulator-name = "gmac-2v5";
  11. regulator-min-microvolt = <2500000>;
  12. regulator-max-microvolt = <2500000>;
  13. enable-active-high;
  14. gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
  15. vin-supply = <&reg_vcc5v>;
  16. startup-delay-us = <100000>;
  17. };
  18. reg_gmac_3v3: gmac-3v3 {
  19. compatible = "regulator-fixed";
  20. regulator-name = "vcc-gmac-3v3";
  21. regulator-min-microvolt = <3300000>;
  22. regulator-max-microvolt = <3300000>;
  23. vin-supply = <&reg_aldo2>;
  24. startup-delay-us = <100000>;
  25. };
  26. };
  27. &emac {
  28. pinctrl-names = "default";
  29. pinctrl-0 = <&ext_rgmii_pins>;
  30. phy-mode = "rgmii";
  31. phy-handle = <&ext_rgmii_phy>;
  32. phy-supply = <&reg_gmac_3v3>;
  33. phy-io-supply = <&reg_gmac_2v5>;
  34. allwinner,rx-delay-ps = <1500>;
  35. allwinner,tx-delay-ps = <700>;
  36. status = "okay";
  37. };
  38. &mdio {
  39. ext_rgmii_phy: ethernet-phy@1 {
  40. compatible = "ethernet-phy-ieee802.3-c22";
  41. reg = <1>;
  42. reset-gpios = <&pio 3 14 GPIO_ACTIVE_LOW>; /* PD14 */
  43. reset-assert-us = <15000>;
  44. reset-deassert-us = <40000>;
  45. };
  46. };

my std file..

trying to make it depends on <reg_gmac_2v5: gmac-2v5> for 'phy-io-supply', and

reg_gmac_3v3: gmac-3v3 for 'phy-supply'

but like I showed...it shutsdown by timeout..