On 10/13/2016 03:23 PM, Aaron Williams wrote:
> Hi all,
> I'm working on a eMMC/SD driver for our Thunder ARMv8 SoCs by porting the
> MIPS driver I wrote earlier but I'm running into some issues and have some
> First of all, our SoC performs a number of high-level operations in hardware
> which are not supported by the U-Boot model. The biggest issue is how we
> handle data transfers. We do not support sending CMD12 to stop a transmission
> and instead rely on CMD23 for multi-sector transfers. The
> mmc_read_blocks/mmc_write_blocks functions don't work with our hardware. For
> our Octeon SoC I basically had to replicate everything in mmc.c for our SoC
> and replace all of the functionality. I am wondering if this is considered
> acceptable because our hardware just does not fit the U-Boot MMC driver model
> very well. I also ran into a lot of issues with
> sd_send_op_cond/mmc_send_op_cond. Our SoC hardware also automatically handles
> things like polling the status. It would be nice if most or all of the
> functions inside mmc.c could be overridden by the driver.
If CMD12 didn't support on your SoC, it should be just used CMD23. (or just use
only single block read/write.)
But as you mentioned, it needs to implement for your SoC..(It should be split
to driver for yours.)
Because it's not supported on u-boot mainline.
(As i know, u-boot-mmc didn't support the pre-defined read/write about normal
There is a problem..when error is occurred..because it can't send the stop
Well..pre-defined concept can be applied on u-boot, but other things need to
discuss about applying on u-boot.
I want to know how handles things like polling the status..?
If then don't need to send continuously for sd/mmc_op_cond...just return and
waiting for completing..?
> Also, our MMC controller shows up as a PCI device but the single PCI device
> can handle up to four MMC slots using the same registers. The probe support
> does not allow for this. There can be multiple PCI devices as well in our
> NUMA configurations, with one PCI device per SoC.
This also needs to make the slot concept..but slot concept should not be good
And u-boot is running only one thread..so i think it's similar to using 4 IPs..
If you want to discuss about this more..i will check more..how we improve this.
Anyway..I'm checking my other tasks..After finishing mine..i will reply more
U-Boot mailing list