This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ICLASS seting of USB OTG

Hi, I'm using BSP_WINCE_ARM_A8-1.00.00.14, there's a weird ICLASS value in the musbotg.reg:

 ; WM7 only USBBUS_GUID, PMCLASS_PMEXT_GUID, CE_DRIVER_POWER_MANAGEABLE_GENERIC_GUID
"IClass"=multi_sz: "{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b",
   "{0AE2066F-89A2-4D70-8FC2-29AEFA68413C}",                     
   "{A32942B7-920C-486b-B0E6-92A702A99B35}"

what is the the first ICLASS value? And what does the "=%b" use for?

Thanks

Jack Chen

  • This GUID is defined under WINCE600\PUBLIC\COMMON\SDK\INC\cedrv_guid.h as:

    #define

    CE_DRIVER_BUS_GUID TEXT("{6F40791D-300E-44E4-BC38-E0E63CA8375C}")

    It is used by the OTG driver to advertise as a bus driver that will load client drivers such as omap_musbfn and omap_musbhcd depending on whether the OTG port should act as an host or a device port.

    %b is used to provide a name for this bus driver, which in this case will be "MUSBOTG". Any driver  whose registry entry is located under this bus name will be handled by this bus driver, which is the case for both musbfn and musbhcd as follows:

    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MUSBOTG\HCD]

    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MUSBOTG\USBFN]

    This mechanism provides a convenient way for the OTG bus driver to dynamically load this client drivers using the ActivateDeviceEx API.