On 14/01/2019 17:35, Jeffrey Hugo wrote: > This series provides basic USB support for MSM8998. Currently missing is > wiring up the Type-C detection logic so that the controller can correctly > switch between host and peripheral modes. Work to implement that is > ongoing, and expected to appear soon in followup patches. Also missing is > Display Port (DP) support which apparently is different from sdm845 and > needs additional investigation. > > v2: > -Fixed typo in QUSB2 bindings changes > -Split out bindings changes > -Fixed dual lane support in QMP to reflect Doug's updates > -Dropped the clock fixes which were accepted > > Jeffrey Hugo (6): > clk: qcom: Add missing freq for usb30_master_clk on 8998 > clk: qcom: Skip halt checks on gcc_usb3_phy_pipe_clk for 8998 > phy: qcom-qusb2: Add QUSB2 PHY support for msm8998 > phy: qcom-qmp: Add QMP V3 USB3 PHY support for msm8998 > usb: dwc3: qcom: Add support for MSM8998 > arm64: dts: qcom: msm8998: Add USB-related nodes > > .../devicetree/bindings/phy/qcom-qmp-phy.txt | 5 + > .../devicetree/bindings/phy/qcom-qusb2-phy.txt | 1 + > .../devicetree/bindings/usb/qcom,dwc3.txt | 1 + > arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 22 ++++ > arch/arm64/boot/dts/qcom/msm8998.dtsi | 90 +++++++++++++ > drivers/clk/qcom/gcc-msm8998.c | 3 +- > drivers/phy/qualcomm/phy-qcom-qmp.c | 142 +++++++++++++++++++++ > drivers/phy/qualcomm/phy-qcom-qmp.h | 4 + > drivers/phy/qualcomm/phy-qcom-qusb2.c | 41 ++++++ > drivers/usb/dwc3/dwc3-qcom.c | 1 + > 10 files changed, 309 insertions(+), 1 deletion(-) I am not able to say why (yet) but this doesn't work for me. Nothing happens when I insert a USB device. Any ideas? # lsusb -v Bus 002 Device 001: ID 1d6b:0003 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1d6b idProduct 0x0003 bcdDevice 5.00 iManufacturer 3 Linux 5.0.0-rc1 xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 xhci-hcd.0.auto bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x001f bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 bMaxBurst 0 Hub Descriptor: bLength 12 bDescriptorType 42 nNbrPorts 1 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere bHubDecLat 0.0 micro seconds wHubDelay 0 nano seconds DeviceRemovable 0x00 Hub Port Status: Port 1: 0000.02a0 5Gbps power Rx.Detect Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x000f bNumDeviceCaps 1 SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x02 Latency Tolerance Messages (LTM) Supported wSpeedsSupported 0x0008 Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 3 Lowest fully-functional device speed is SuperSpeed (5Gbps) bU1DevExitLat 0 micro seconds bU2DevExitLat 0 micro seconds can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered Bus 001 Device 001: ID 1d6b:0002 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x1d6b idProduct 0x0002 bcdDevice 5.00 iManufacturer 3 Linux 5.0.0-rc1 xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 xhci-hcd.0.auto bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0019 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 1 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered NET: Registered protocol family 1 workingset: timestamp_bits=62 max_order=20 bucket_order=0 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) qcom-qmp-phy c010000.phy: Linked as a consumer to regulator.15 qcom-qmp-phy c010000.phy: Linked as a consumer to regulator.16 qcom-qmp-phy c010000.phy: Registered Qcom-QMP phy qcom-qusb2-phy c012000.phy: Linked as a consumer to regulator.26 l24: supplied by bob qcom-qusb2-phy c012000.phy: Linked as a consumer to regulator.38 qcom-qusb2-phy c012000.phy: Registered Qcom-QUSB2 phy Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled msm_serial c1b0000.serial: msm_serial: detected port #0 msm_serial c1b0000.serial: uartclk = 1843200 c1b0000.serial: ttyMSM0 at MMIO 0xc1b0000 (irq = 17, base_baud = 115200) is a MSM msm_serial: console setup on port #0 printk: console [ttyMSM0] enabled msm_serial: driver initialized dwc3 a800000.dwc3: Failed to get clk 'ref': -2 xhci-hcd xhci-hcd.0.auto: xHCI Host Controller xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1 xhci-hcd xhci-hcd.0.auto: hcc params 0x0230fe65 hci version 0x110 quirks 0x0000000002010010 xhci-hcd xhci-hcd.0.auto: irq 18, io mem 0x0a800000 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.00 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: xHCI Host Controller usb usb1: Manufacturer: Linux 5.0.0-rc1 xhci-hcd usb usb1: SerialNumber: xhci-hcd.0.auto hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected xhci-hcd xhci-hcd.0.auto: xHCI Host Controller xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2 xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.00 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: xHCI Host Controller usb usb2: Manufacturer: Linux 5.0.0-rc1 xhci-hcd usb usb2: SerialNumber: xhci-hcd.0.auto hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected usbcore: registered new interface driver usb-storage