Host (pci/usb) port. Over view. Host Port Selection. Configuration Spaces. PCI Configuration Space, страница 21

In addition to the normally defined USB standard device requests, the following vendor-specific device requests are supported with the use of EP0. These requests are issued from the host driver via normal SETUP transactions on the USB.

Table 8-27. USB MCUCODE (Code Download)

Offset

Field

Size

Value

Description

0

bmRequest

1

0x40

Vendor Request, OUT

1

bRequest

1

0xA1

USB MCUCODE

2

wValue (L)

1

XXX

Address <0:7>

3

wValue (H)

1

XXX

Address <8:15>

4

wIndex (L)

1

0x00

5

wIndex (H)

1

0x00

6

wLength (L)

1

0xXX

Length = xx bytes

7

wLength (H)

1

0xXX

!

Address <15:0> is the first address where code download begins; the address is incremented automatically after each byte is written. USB MCUCODE is a three-stage control transfer with an OUT data stage. Stage 1 is the SETUP stage, stage 2 is the data stage involving the OUT packet, and stage 3 is the status stage. The length of the data stage is determined by the driver and is specified by the total length of the MCU code to be downloaded.

Table 8-28. USB REGIO (Register Write)

Offset

Field

Size

Value

Description

0

bmRequest

1

0x40

Vendor Request, OUT

1

bRequest

1

0xA0

USB REGIO

2

wValue (L)

1

XXX

Address <0:7>

3

wValue (H)

1

XXX

Address <8:15>

4

wIndex (L)

1

0x00

5

wIndex (H)

1

0x00

6

wLength (L)

1

0x02

Length = 02 bytes

7

wLength (H)

1

0x00

!

Address <15:15> = 1 indicates a write to the MCU register space, and Address <15:15> = 0 indicates a write to the DSP register space. When accessing DSP register space, the MCU must write the data to be written into the USB Register I/O Data register and write the address to be written to the USB Register I/O Address register. Bit 15 of the USB Register I/O Address register starts the transaction, and bit 14 is set to one to indicate a WRITE. The MCU then polls Bit 15 of the USB Register I/O Address Register looking for a value of 0, which indicates that the write cycle has completed.

USB REGIO (register write) is a three stage control transfer with an OUT data stage. Stage 1 is the SETUP stage, stage 2 is the data stage involving the OUT packet, and stage 3 is the status stage.

Table 8-29. USB REGIO (Register Read)

Offset

Field

Size

Value

Description

0

bmRequest

1

0xC0

Vendor Request, IN

1

bRequest

1

0xA0

USB REGIO

2

wValue (L)

1

XXX

Address <0:7>

3

wValue (H)

1

XXX

Address <8:15>

4

wIndex (L)

1

0x00

5

wIndex (H)

1

0x00

6

wLength (L)

1

0x02

Length = 02 bytes

7

wLength (H)

1

0x00