8 Replies Latest reply on Mar 9, 2018 3:25 AM by user_6629094

    ccg3 usb works for alt mode (DP) and hid simultaneous

    user_6629094

      Hi, I want to use the CCG3 (3120) for the typeC to DP (or HDMI) alt mode, and i also needs an usb HID mouse like function. The ordinary way is use an USB hub. but i want to use CCG3 usb function, and use composite device to simulate a usb mouse, it's possiable or not?

       

      Thanks.

        • 1. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
          lisz

          Hi Astankvai,

           

          If you need billboard (typeC to DP (or HDMI) alt mode) and also a USB HID mouse, so far, CCG3 cannot support it. Since billboard is mandatory for ALT mode and occupied USB interface. The Billboard is HID class. If you need to support HID mouse without any hardware changes (add a USB2.0 hub), the billboard cannot be supported.

           

          Best Regards,

          Lisa

          • 2. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
            olof_1999891

            Hi!

             

            We have managed to hack the CCG3 DP dongle code-base from the SDK so that it supports additional endpoints in parallell to the built-in billboard device. When we connect a PC we get both the Billboard device and our custom HID device. There is already a HID device that is used by the bootloader and we change that a bit. Check in file usb_hid.h för the device descriptors. Then you have to modify usb_hid.c file to respond to your own USB HID status reports etc.

             

            I'm not sure if the billboard device is still working (we are not using that in our case), but at least in windows it pops up the dialog and under Device Manager there is still a Billboard device.

             

            Cheers

            Olof

            • 3. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
              user_6629094

              Hi Lisz, I know the billboard device occpied the usb. I means use a usb composite device to emulate 2 interface. one is for billboard device, and another is for the hid mouse.

               

              and i checked the code, the interface num is 0 in the device desciriptor? it's normal? or the SDK have bug? My sdk version is 3.1.

               

              Thanks.

              • 4. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
                user_6629094

                Hi Olof,

                used the composite device via changing the interface number?

                • 5. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
                  olof_1999891

                  Hi!

                   

                  Device descriptor below. Again, we are still in hack-phase so I can't guarantee this is the way to do it, but HID communication works (status reports) and I believe the Billboard device is still operational since it pops up on Windows.

                   

                  I don't have a dump of how this looked like before we modified it, but I believe it looked the same (in the CYPD3120-40LQXI_dp_dongle project) and the HID device is used for the booloader to download new firmeware into a dongle over USB HID.

                   

                  The device is a USB-C LED Driver by the way, world's first

                   

                  /Olof

                   

                  Information for device LED Driver (VID=0x04B4 PID=0x3120):

                   

                   

                  Connection Information:

                  ------------------------------

                  Device current bus speed: FullSpeed

                  Device supports USB 1.1 specification

                  Device supports USB 2.0 specification

                  Device address: 0x0003

                  Current configuration value: 0x01

                  Number of open pipes: 1

                   

                   

                  Device Descriptor:

                  ------------------------------

                  0x12 bLength

                  0x01 bDescriptorType

                  0x0201 bcdUSB

                  0x00 bDeviceClass  

                  0x00 bDeviceSubClass  

                  0x00 bDeviceProtocol  

                  0x08 bMaxPacketSize0   (8 bytes)

                  0x04B4 idVendor

                  0x3120 idProduct

                  0x0000 bcdDevice

                  0x01 iManufacturer   "Ochno"

                  0x02 iProduct   "LED Driver"

                  0x03 iSerialNumber   "11AD1D0438F24705101B0B00"

                  0x01 bNumConfigurations

                   

                   

                  Configuration Descriptor:

                  ------------------------------

                  0x09 bLength

                  0x02 bDescriptorType

                  0x002B wTotalLength   (43 bytes)

                  0x02 bNumInterfaces

                  0x01 bConfigurationValue

                  0x04 iConfiguration   "Billboard Configuration"

                  0x80 bmAttributes   (Bus-powered Device)

                  0x32 bMaxPower      (100 mA)

                   

                   

                  Interface Descriptor:

                  ------------------------------

                  0x09 bLength

                  0x04 bDescriptorType

                  0x00 bInterfaceNumber

                  0x00 bAlternateSetting

                  0x00 bNumEndPoints

                  0x11 bInterfaceClass     

                  0x00 bInterfaceSubClass  

                  0x00 bInterfaceProtocol  

                  0x05 iInterface   "Billboard Interface"

                   

                   

                  Interface Descriptor:

                  ------------------------------

                  0x09 bLength

                  0x04 bDescriptorType

                  0x01 bInterfaceNumber

                  0x00 bAlternateSetting

                  0x01 bNumEndPoints

                  0x03 bInterfaceClass      (Human Interface Device Class)

                  0x00 bInterfaceSubClass  

                  0x00 bInterfaceProtocol  

                  0x06 iInterface   "Control Interface"

                   

                   

                  HID Descriptor:

                  ------------------------------

                  0x09 bLength

                  0x21 bDescriptorType

                  0x0111 bcdHID

                  0x00 bCountryCode

                  0x01 bNumDescriptors

                  0x22 bDescriptorType   (Report descriptor)

                  0x0062 bDescriptorLength

                   

                   

                  Endpoint Descriptor:

                  ------------------------------

                  0x07 bLength

                  0x05 bDescriptorType

                  0x81 bEndpointAddress  (IN endpoint 1)

                  0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)

                  0x0040 wMaxPacketSize    (1 x 64 bytes)

                  0xFF bInterval

                   

                   

                  Microsoft OS Descriptor is not available. Error code: 0x0000001F

                   

                   

                  String Descriptor Table

                  --------------------------------

                  Index  LANGID  String

                  0x00   0x0000  0x0409

                  0x01   0x0409  "Ochno"

                  0x02   0x0409  "LED Driver"

                  0x03   0x0409  "11AD1D0438F24705101B0B00"

                  0x04   0x0409  "Billboard Configuration"

                  0x05   0x0409  "Billboard Interface"

                  0x06   0x0409  "Control Interface"

                  • 6. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
                    lisz

                    Hi astankvai chenchao,

                     

                    I was mistake your requirements. I thought you are going to connect HID mouse directly. If you just want to add a interface on HID and parallel with billboard. You could add additional interface under HID description. We have example you could reference. The example code is CYPD3123 CTD firmware example which is include billboard and USB to I2C bridge.

                     

                    Best Regards,

                    Lisa

                    • 7. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
                      user_6629094

                      Hi Olof,

                      Thanks for your answer.

                      I'll try and find out the result.

                      • 8. Re: ccg3 usb works for alt mode (DP) and hid simultaneous
                        user_6629094

                        Dear Lisz,

                        Thanks and I was checking now.