beautypg.com

Motorola USB08 User Manual

Page 132

background image

Designer Reference Manual

USB08 Evaluation Board

132

Universal USB Device Driver (USBIO)

MOTOROLA

Universal USB Device Driver (USBIO)

E.1 Contents

E.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

E.3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
E.3.1

Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

E.3.2

Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

E.4 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
E.4.1

USBIO Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

E.4.1.1

USBIO Device Objects. . . . . . . . . . . . . . . . . . . . . . . . . . 140

E.4.1.2

USBIO Pipe Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

E.4.2

Establishing a Connection to the Device . . . . . . . . . . . . . . . 144

E.4.3

Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

E.4.4

Device State Change Notifications . . . . . . . . . . . . . . . . . . . . 148

E.5 Programming Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
E.5.1

Programming Interface Overview . . . . . . . . . . . . . . . . . . . . . 149

E.5.2

Control Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
IOCTL_USBIO_GET_DESCRIPTOR. . . . . . . . . . . . . . . . . . 151
IOCTL_USBIO_SET_DESCRIPTOR . . . . . . . . . . . . . . . . . . 152
IOCTL_USBIO_SET_FEATURE . . . . . . . . . . . . . . . . . . . . . 153
IOCTL_USBIO_CLEAR_FEATURE . . . . . . . . . . . . . . . . . . .154
IOCTL_USBIO_GET_STATUS . . . . . . . . . . . . . . . . . . . . . . 155
IOCTL_USBIO_GET_CONFIGURATION . . . . . . . . . . . . . . 156
IOCTL_USBIO_GET_INTERFACE . . . . . . . . . . . . . . . . . . . 157
IOCTL_USBIO_STORE_CONFIG_DESCRIPTOR . . . . . . . 158
IOCTL_USBIO_SET_CONFIGURATION. . . . . . . . . . . . . . . 159
IOCTL_USBIO_UNCONFIGURE_DEVICE . . . . . . . . . . . . . 160
IOCTL_USBIO_SET_INTERFACE . . . . . . . . . . . . . . . . . . . 161
IOCTL_USBIO_CLASS_OR_VENDOR_IN_REQUEST . . . 162
IOCTL_USBIO_CLASS_OR_VENDOR_OUT_REQUEST . 163
IOCTL_USBIO_GET_DEVICE_PARAMETERS . . . . . . . . .164
IOCTL_USBIO_SET_DEVICE_PARAMETERS. . . . . . . . . . 165
IOCTL_USBIO_GET_CONFIGURATION_INFO . . . . . . . . .166
IOCTL_USBIO_RESET_DEVICE . . . . . . . . . . . . . . . . . . . . 167
IOCTL_USBIO_GET_CURRENT_FRAME_NUMBER. . . . .168
IOCTL_USBIO_SET_DEVICE_POWER_STATE . . . . . . . . 169
IOCTL_USBIO_GET_DEVICE_POWER_STATE . . . . . . . . 170
IOCTL_USBIO_GET_DRIVER_INFO . . . . . . . . . . . . . . . . . 171
IOCTL_USBIO_CYCLE_PORT . . . . . . . . . . . . . . . . . . . . . . 172
IOCTL_USBIO_BIND_PIPE . . . . . . . . . . . . . . . . . . . . . . . . . 174