USB Host Controller Access to System Memory
14-82
14.6.1 Local Bus Virtual Addressing
The OMAP5910 local bus implementation requires the USB host controller to
use local bus virtual addresses with bits 31 - 28 set to 0011b, which gives the
USB host controller a usable local bus virtual address range of 0x30000000
to 0x3FFFFFFF (a total range of 256 MBytes). If the local bus MMU is disabled,
the local bus virtual address range from 0x30000000 to 0x3FFFFFFF auto-
matically maps to processor address range 0x00000000 to 0x0FFFFFFF. With
the local bus MMU disabled, it is not possible to access OMAP5910 physical
addresses outside of this range. This is shown in Figure 14–33.
Figure 14–33. Relationships Between Processor Virtual Address, Processor Physical
Address, and Local Bus Virtual Address with Local Bus MMU Disabled
Processor
physical
address
Local bus
virtual
address
Local bus
MMU
(disabled)
0x00000000
0x30000000
0x3FFFFFFF
0x2FFFFFFF
0x40000000
0xFFFFFFFF
0x00000000
0xFFFFFFFF
Processor
virtual
address
Processor
MMU
0x00000000
0xFFFFFFFF
0x0FFFFFFF
0x10000000
When the OMAP5910 local bus MMU is enabled, the USB host controller is
not limited to processor physical addresses between 0x00000000 and
0x0FFFFFFF. The local bus MMU can be programmed to devirtualize the
local bus addresses in the local bus virtual address range
0x30000000 - 0x3FFFFFFF to any processor physical address. The relation-
ships between local bus virtual addresses, processor virtual addresses, and
processor physical addresses is shown in Figure 14–34.