Hi Simon,

On 10/01/2015 02:29 AM, Simon Glass wrote:
Do we need the ioremap() or can we rely on the 'ranges' handling?

Yes, we do need ioremap() at least for mips, nios2 and alike. For these archs, the virtual address that CPU sees is not the same as physical address on bus. The virtual address space of these CPus are divided to cached kernel space, uncached kernel space, and managed user space. For main memory, we would use cached kernel space to run u-boot. While for peripheral access, we would use uncached kernel space. The device tree describes hardware, and the reg address have to be physical address. We need to map the reg address to uncached kernel virtual address. This is what ioremap() for. It is not related to ranges translation. Though we do need the range translation patch from Stefan as there might be bridges between the buses.

Thanks a lot for your review.

Best regards,
Thomas Chou
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to