Hello,

I am starting work on a board that has the Intel Skylake chipset, which has 
hardware for doing USB-device. 
The Intel chipset USB-device hardware is the Synopsys DesignWare Controller 3, 
aka "dwc3". 
The Linux source tree has code for dwc3, so I thought to try running Linux on 
this board.

The USB-device function is hard-wired on my board to be USB-device.
Cannot be OTG. Cannot be USB-host.

I boot Ubuntu Desktop 16.04, kernel = 4.4.0-59, to test the USB-device function.
Using a script, I set up the USB-device to be RNDIS, using functionfs.
I connect a USB cable from my board to a USB-host. 
My USB analyzer shows nothing happens. No connection, no SETUP packets, nothing.

To troubleshoot, I try turning on some test modes, using the Linux debugfs 
interface.
The debugfs interface is in this directory: 
        /sys/kernel/debug/dwc3.0.auto 
I see link_state, mode, regdump, testmode files. 

* echo "test_j" > testmode
        I see D+ go high, D- stays low. 
* echo "test_k" > testmode
        No change on D+
        No change on D- 
        This is not correct. 
* echo "test_se0_nak" > testmode
        No changes. 
* echo "test_packet" 
        D+ goes low, D- remains low. 

OK, so here are my questions. 

1)      Should I expect Ubuntu 16.04 dwc3 code to work? 
        (uname -a shows kernel level is 4.4.0-59)  
        I ask, because kernel.org shows recent changes in dwc3 code. 

2)      The Linux dwc3 code appears to be written to work with several 
different USB phy's. 
        I see dwc3-exynos.c, dwc3-keystone.c, dwc3-omap.c, dwc3-pci.c, 
dwc3-of-simple.c, etc. 
        The schematic for my board shows there is no external USB2 phy and no 
external USB3 phy.
        For my board, the phy's are internal to the Skylake chipset.
        a.      Should the Linux dwc3 code work without an external phy?
        b.      Is there some configuration I need to do for my board?

Andy Purcell

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to