[U-Boot] [RFC PATCH] usb: dwc2: handle bcm2835 phys->virt address translations

popcorn mix popcornmix at gmail.com
Tue Mar 17 18:53:47 CET 2015


On 17/03/15 17:29, Stephen Warren wrote:
> Do the RPi 1 and RPi 2 use different kernel binaries in the RPi Foundation's images? I'd assumed there was a single unified binary which supported both. The reason I ask is that I see:

We ship separate kernel binaries (kernel.img for 2835 and kernel7.img for 2836).
kernel.img is built from bcmrpi_defconfig, and kernel7.img is built from bcm2709_defconfig

A single unified binary would sure be nice, but I think we have too many non-device-tree drivers in our kernel and not enough experience to make this happen easily.
It's certainly a desirable goal (as it moving closer to the upstream mach-2835 kernel).

> I assume the SDHCI controller (RPi SD card, CM eMMC) is affected by this just as much; we need to use bus addresses not ARM physical addresses when programming any DMA there?

Yes. Any address given to the DMA controller should be a bus address.
Similarly any address exchanged with the GPU (e.g. framebuffer address from mailbox interface) should be a bus address.

> Perhaps this would explain why I had issues with the eMMC on the CM (I think only in the kernel though, whereas U-Boot may have been fine; I'll have to check)

Using physical addresses when bus addresses are required can almost work, but with intermittent failure cases, so yes that sounds possible.

> I assume 128M and 512M there should be 128K and 512K?

Yes, quite right.


More information about the U-Boot mailing list