[bug report] sunxi: H6: no ethernet on Orange Pi One Plus

Anne Macedo retpolanne at posteo.net
Fri Jul 7 13:42:26 CEST 2023


On Thu, Jul 06, 2023 at 11:51:54PM +0000, Anne Macedo wrote:
> On Wed, Jul 05, 2023 at 02:15:43PM -0300, Fabio Estevam wrote:
> > On Wed, Jul 5, 2023 at 1:31 PM Anne Macedo <retpolanne at posteo.net> wrote:
> > 
> > > I think I'm on the right path :)
> > >
> > > 1. Included SUNXI_SETUP_REGULATORS=0 to the bl31 make
> > > 2. Changed the phy mode on arch/arm/dts/sun50i-h6-orangepi-one-plus.dts
> > >    From rgmii-id to rgmii
> > 
> > This does not look like the correct fix. Please see this commit from Linux:
> > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.4.1&id=544cc3f8573bf9a82e8f348741f2f68d2a8376fb
> > 
> > >    More info on [1][2][3]
> > > 3. Added this configs to configs/orangepi_one_plus_defconfig:
> > >    CONFIG_SPL_SPI_SUNXI=y
> > >    CONFIG_SUNXI_NO_PMIC=y
> >e>    CONFIG_SUN8I_EMAC=y
> > >
> > > Result:
> > >
> > > U-Boot 2023.04-gfd4ed6b (Apr 03 2023 - 20:38:50 +0000) Allwinner
> > > Technology
> > >
> > > CPU:   Allwinner H6 (SUN50I)
> > > Model: OrangePi One Plus
> > > DRAM:  1 GiB
> > > Core:  55 devices, 17 uclasses, devicetree: separate
> > > WDT:   Not starting watchdog at 7020400
> > > MMC:   mmc at 4020000: 0
> > > Loading Environment from FAT... Unable to read "uboot.env" from
> > > mmc0:1...
> > > In:    serial at 5000000
> > > Out:   serial at 5000000
> > > Err:   serial at 5000000
> > > Net:   eth0: ethernet at 5020000
> > >
> > > => dhcp
> > > sun8i_emac_eth_start: Timeout
> > > => mdio list
> > > ethernet at 5020000:
> > > 1 - Generic PHY <--> ethernet at 5020000
> > 
> > What about using the Realtek PHY driver instead of the Generic one?
> > 
> > --- a/configs/orangepi_one_plus_defconfig
> > +++ b/configs/orangepi_one_plus_defconfig
> > @@ -8,3 +8,6 @@ CONFIG_SUNXI_DRAM_H6_LPDDR3=y
> >  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> >  CONFIG_USB_EHCI_HCD=y
> >  CONFIG_USB_OHCI_HCD=y
> > +CONFIG_PHY_REALTEK=y
> > +CONFIG_RGMII=y
> > +CONFIG_MII=y
> > 
> > Does this help?
> 
> Sorry for the delay, life came in the way.
> 
> u-boot config:
> CONFIG_PHY_REALTEK=y
> CONFIG_RGMII=y
> CONFIG_MII=y
> 
> tfa config:
> SUNXI_SETUP_REGULATORS=0
> 
> result:
> => dhcp 
> No ethernet found.
> 
> u-boot config:
> CONFIG_SPL_SPI_SUNXI=y
> CONFIG_SUNXI_NO_PMIC=y
> CONFIG_SUN8I_EMAC=y
> CONFIG_PHY_REALTEK=y
> CONFIG_RGMII=y
> CONFIG_MII=y
> 
> tfa config:
> SUNXI_SETUP_REGULATORS=0
> 
> result:
> Net:   PHY reset timed out
> eth0: ethernet at 5020000
> => dhcp 
> sun8i_emac_eth_start: Timeout
> => mdio list
> ethernet at 5020000:
> 1 - Generic PHY <--> ethernet at 5020000
> 
> It's interesting that it keeps using Generic PHY.
> 
> Regards,
> Anne
> 

OH! I believe I discovered something I overlooked: 

On arch/arm/dts/sun50i-h6-orangepi-one-plus.dts:

        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
                regulator-name = "vcc-gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
                startup-delay-us = <100000>;
                enable-active-high;
                gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
                vin-supply = <&reg_aldo2>;
        };

After I connected GPIO 3 to GPIO 6, the Ethernet LED turned on! 

I still see:

=> dhcp 
sun8i_emac_eth_start: Timeout

And 

Net:   PHY reset timed out
eth0: ethernet at 5020000

Regards,
Anne


More information about the U-Boot mailing list