[U-Boot] [PATCH v3] nios2 : convert altera_pio to driver model

Thomas Chou thomas at wytron.com.tw
Thu Oct 1 02:38:30 CEST 2015


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


More information about the U-Boot mailing list