Updated Amlogic aml8726-m6 and aml8726-m8 support files

John Wehle john at feith.com
Thu Mar 19 21:42:01 UTC 2015


> https://people.freebsd.org/~ganbold/FreeBSD-amlogic-20150311/dmesg_odroidc1.txt
> 
> I saw few timeouts in boot msg, but no crash.

The timeouts appear to all be related to writing to your card.

In aml8726_mmc.h what happens if you increase:

  AML_MMC_WRITE_TIMEOUT from  500 to  750

  AML_MMC_MAX_TIMEOUT   from 5000 to 6000

Basically I'm wondering if your card simply needs more time when writing.

>> I'm aware that the eMMC support needs additional work and will get back
>> to it.  I'm currently looking at porting the NetBSD dwc_gmac driver since
>> it's known to work for the Amlogic DWC ethernet controller (as well as
>> the Allwinner).
>>
>
> I didn't check much, but how different is dwc_gmac from existing dwc?

I don't have it right in front of me, however as I recall I needed the
following changes to get the existing dwc to send / receive packets 
(and even then there seemed to be some issues):

  1) In dwc_intr change:

       ...
       mii_mediachg(sc->mii_softc);

     to:

       ...
       mii_pollstat(&sc->sc_mii);

     in order to prevent the link from excessive flapping when the
     media changed.

     While this change worked fine for me with the Amlogic SoC, and
     is also how it's done by the NetBSD driver, Ruslan Bukin reported
     that the change broke the Altera SoC for which he wrote the dwc
     driver.

  2) dwc sets some flags in DES0, however the Amlogic (and presumably
     Allwinner) SoC requires the flags to instead be set in DES1.

Right now the FreeBSD dwc driver works for the Altera SoC, the NetBSD
dwc_gmac driver works for the Allwinner and Amlogic SoC.

The question is ... what makes the most sense?  Extend the existing dwc
driver so that it works for more devices, or port an existing driver
which already works for more devices?

-- John



More information about the freebsd-arm mailing list