[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Memory mapping a UART



Hi,

 

I am porting Linux to an ARC processor on a new board. I have a uart that resides in physical address 0x40000000. My main memory is at 0xc0000000 and the kernel is starting up and getting to the point where it calls ‘register_console’ and I want to initialise the uart. Presently this will page fault when accessing 0x40000000 and will not recover.

 

I am unsure how to map the uart so that the kernel will not page fault when I try and write to the uart. I have investigated using ioremap_page_range but so far have not been successful, is this what I should do?

 

Anyone got any ideas? I've found some functions, ioremap, kmap and mem_request_region. Not really sure what I ought to be doing though. Any thoughts greatly appreciated.

I probably should add that I am bring Linux up on an embedded device, I have a debugger attached so I can see what is going on. The processor is an ARC.

 

Many thanks,

 

Gavin.