[Bug 196081] New: [PATCH] ARM: sunxi: Add driver for the MMC/SD host found in the Allwinner A10 SoC
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Dec 18 02:07:46 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196081
Bug ID: 196081
Summary: [PATCH] ARM: sunxi: Add driver for the MMC/SD host
found in the Allwinner A10 SoC
Product: Base System
Version: 11.0-CURRENT
Hardware: arm
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: arm
Assignee: freebsd-arm at FreeBSD.org
Reporter: omgalvan.86 at gmail.com
CC: ganbold at freebsd.org, gonzo at FreeBSD.org,
ian at FreeBSD.org, imp at FreeBSD.org
Attachment #150704 maintainer-approval?(imp at FreeBSD.org),
Flags: maintainer-approval?(ian at FreeBSD.org)
Created attachment 150704
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=150704&action=edit
sunxi MMC/SD device driver
This is the device driver for the SD/MMC host controller found in Allwinner A10
SoCs. The original driver was written by Alexander Fedorov back in October
2013; however that version was lacking some features and had a couple of bugs
that caused the kernel to panic when trying to boot. This version aims to
correct those mistakes, as well as serving as a sort of documentation on this
particular host, since the Allwinner datasheet is only available in Chinese
language and one has to sign an NDA in order to get it.
Most of the work consisted in reverse-engineering the Linux and U-Boot drivers.
Some of the registers and the DMA scheme used by this host are similar to the
ones on the Synopsys Designware SD Host Controller and the Altera Arria V
family of SoCs; as such we based some of our work on the datasheets for those
hosts.
Right now the driver supports multiblock programmed I/O only. While that gives
us a fairly decent performance, ideally we should add support for DMA. We
already have a version which can perform DMA transfers, however we noticed the
transferred data always ends up being corrupted. I'll be sending the DMA
version after this one is reviewed an commited.
We left Alexander's name in the driver's copyright header as it's fair since he
wrote the first version. We also made some changes to other files besides
a10_mmc.c and a10_mmcreg.h; as those changes were relatively minor we didn't
think it was necessary for us to include our names in the header.
As this is our first contribution to the project, any feedback is more than
welcome. So far we've tested it with a few different microSD cards; it would be
great if anyone could try using an actual MMC card.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-arm
mailing list