USB Host Controller Access to System Memory
14-89
Universal Serial Bus Host
Because the USB data buffers are to be stored outside of the physical address
range that may be reached by the USB host controller when the local bus MMU
is disabled, it is necessary to enable and program the local bus MMU. A
possible way to program the local bus MMU is shown in Table 14–34.
Table 14–34. Local Bus MMU Programming for Address Conversion Example
Local Bus Virtual Address
Physical Address
Page Size
0x30F00000 to 0x30F0FFFF
0x0005E000 to 0x0005EFFF
Small (4 KBytes)
0x32100000 to 0x3210FFFF
0x10170000 to 0x1017FFFF
Large (64 KBytes)
Given this local bus MMU virtual address to physical address mapping, the
local bus virtual addresses in Table 14–35 are needed to program the USB
host controller OHCI registers and some of the pointers in the ED and TD
structures.
Table 14–35. Local Bus Virtual Addresses for Address Conversion Example
OHCI Structure
MPU Virtual
Address
Physical
Address
Local Bus
Virtual
Address
HHCA base address
0x00000700
0x0005E700
0x30F00700
First bulk ED on the ED list
0x00000140
0x0005E140
0x30F00140
First control ED on the ED list
0x00000150
0x0005E150
0x30F00150
First TD for first ED on bulk list
0x00000D90
0x0005ED90
0x30F00D90
First TD for first ED on control ED list
0x00000DA0
0x0005EDA0
0x30F00DA0
Data buffer start (CBP) for first TD on first ED of bulk
list
0x00010007
0x10170007
0x32100007
Data buffer start (CBP) for first TD on first ED of
control list
0x00013423
0x10173423
0x32103423