Page MenuHomeFreeBSD

Allwinner A31 - Fix MMC FIFO register offset
ClosedPublic

Authored by jmcneill_invisible.ca on Feb 26 2016, 10:45 PM.
Tags
Referenced Files
Unknown Object (File)
Tue, Nov 19, 7:39 PM
Unknown Object (File)
Wed, Nov 13, 6:44 PM
Unknown Object (File)
Thu, Nov 7, 9:30 AM
Unknown Object (File)
Thu, Nov 7, 2:04 AM
Unknown Object (File)
Oct 16 2024, 12:41 PM
Unknown Object (File)
Oct 14 2024, 4:33 PM
Unknown Object (File)
Oct 14 2024, 2:14 PM
Unknown Object (File)
Oct 12 2024, 9:30 PM

Details

Summary

Newer Allwinner MMC implementations use a different FIFO register offset (0x200 instead of 0x100). Unfortunately this is not reflected in the FDT, likely because the Linux driver always uses DMA.

This change selects the correct FIFO register offset based on the Allwinner SoC family:

  • sun4i, sun5i, and sun7i: 0x100
  • sun6i, sun8i, and sun9i: 0x200

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

jmcneill_invisible.ca retitled this revision from to Allwinner A31 - Fix MMC FIFO register offset.
jmcneill_invisible.ca updated this object.
jmcneill_invisible.ca edited the test plan for this revision. (Show Details)
jmcneill_invisible.ca added a reviewer: ARM.
jmcneill_invisible.ca set the repository for this revision to rS FreeBSD src repository - subversion.
jmcneill_invisible.ca added a project: ARM.
manu_bidouilliste.com added inline comments.
sys/arm/allwinner/a10_mmc.c
189

Shouldn't the default case be ALLWINNERSOC_SUN6I and the default return ENXIO ?

sys/arm/allwinner/a10_mmc.c
189

Not sure. The newer devices all use the new offset, so this saves us from having to add extra cases later on.

This revision is now accepted and ready to land.Feb 27 2016, 4:32 AM

Mhm, don't really know what 'Accept" does. I thought this was to reflect a positive review from my side but I guess it's more general than that.

This revision was automatically updated to reflect the committed changes.