3.10.53 PCIe & USB 3.0

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

3.10.53 PCIe & USB 3.0

6,031 Views
myungjukim
Contributor II

Hi, All

 

I'd like to know how to set for PCIe & USB3.0 controller(use for USB Stroage, USB Audio, etc) on imx6dl. Controller is TI's TUSB7340.

I've set for above issue, but I can't get any message when insert or remove to usb storage.

Could you any advice to me why don't recognize usb ?

 

I think, as look dmesg(attached file), XHCI driver(?) not running. and shown below message.

[    0.322061] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [??? 0x00000000 flags 0x0] (conflicts with (null) [??? 0x00000000 flags 0x0])

 

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

root@imx6qsabresd:~# lspci -v

00:00.0 PCI bridge: Device 16c3:abcd (rev 01) (prog-if 00 [Normal decode])

        Flags: fast devsel

        Memory at 01000000 (64-bit, prefetchable) [disabled] [size=1M]

        Bus: primary=00, secondary=00, subordinate=00, sec-latency=0

        I/O behind bridge: 00000000-00000fff

        Memory behind bridge: 00000000-000fffff

        Prefetchable memory behind bridge: 00000000-000fffff

        [virtual] Expansion ROM at 01100000 [disabled] [size=64K]

        Capabilities: [40] Power Management version 3

        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+

        Capabilities: [70] Express Root Port (Slot-), MSI 00

        Capabilities: [100] Advanced Error Reporting

        Capabilities: [140] Virtual Channel

        Kernel driver in use: pcieport

lspci: Unable to load libkmod resources: error -12

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

 

kernel version : 3.10.53

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

#

# Bus support

#

CONFIG_PCI=y

CONFIG_PCI_DOMAINS=y

CONFIG_PCI_SYSCALL=y

CONFIG_ARCH_SUPPORTS_MSI=y

CONFIG_PCI_MSI=y

CONFIG_PCI_DEBUG=y

CONFIG_PCI_REALLOC_ENABLE_AUTO=y

CONFIG_PCI_STUB=y

CONFIG_PCI_ATS=y

CONFIG_PCI_IOV=y

CONFIG_PCI_PRI=y

CONFIG_PCI_PASID=y

#

# PCI host controller drivers

#

CONFIG_PCIE_DW=y

CONFIG_PCI_IMX6=y

# CONFIG_PCI_IMX6SX_EXTREMELY_PWR_SAVE is not set

# CONFIG_EP_MODE_IN_EP_RC_SYS is not set

# CONFIG_RC_MODE_IN_EP_RC_SYS is not set

CONFIG_PCIEPORTBUS=y

CONFIG_PCIEAER=y

# CONFIG_PCIE_ECRC is not set

# CONFIG_PCIEAER_INJECT is not set

CONFIG_PCIEASPM=y

CONFIG_PCIEASPM_DEBUG=y

# CONFIG_PCIEASPM_DEFAULT is not set

# CONFIG_PCIEASPM_POWERSAVE is not set

CONFIG_PCIEASPM_PERFORMANCE=y

CONFIG_PCIE_PME=y

# CONFIG_PCCARD is not set

 

#

# USB Host Controller Drivers

#

# CONFIG_USB_C67X00_HCD is not set

CONFIG_USB_XHCI_HCD=y

CONFIG_USB_XHCI_HCD_DEBUGGING=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

CONFIG_USB_EHCI_PCI=y

 

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

pcie: pcie@0x01000000 {

compatible = "fsl,imx6q-pcie", "snps,dw-pcie";

reg = <0x01ffc000 0x4000>; /* DBI */

#address-cells = <3>;

#size-cells = <2>;

device_type = "pci";

ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000 /* configuration space */

          0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */

          0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */

num-lanes = <1>;

interrupts = <0 123 0x04>;

clocks = <&clks 189>, <&clks 187>, <&clks 144>, <&clks 212>;

clock-names = "pcie_ref_125m", "sata_ref_100m", "pcie_axi", "lvds_gate";

status = "disabled";

};

 

&pcie {

  power-on-gpio = <&gpio3 19 0>;

  reset-gpio = <&gpio7 12 0>;

  status = "okay";

};

Original Attachment has been moved to: dmesg.txt.zip

Labels (2)
0 Kudos
Reply
8 Replies

3,535 Views
igorpadykov
NXP Employee
NXP Employee

Hi Chrisitian

this may be due to ERR005723

1.jpg

Best regards

igor

0 Kudos
Reply

3,535 Views
myungjukim
Contributor II

Hi, igor

hmm, Your information's means.. It don't support hot plug and power management, current and future.

and then, Is it possible as below scheme ? Could you tell me possible scheme for example ?

<pcie> - <usb controller> - <wifi> : static connection(always connected with boot, is not plug)

<pcie> - <usb controller> - <enet>: static connection(always connected with boot, is not plug)

Best regards.

0 Kudos
Reply

3,535 Views
myungjukim
Contributor II

Hi, igor

I updated kernel version, v3.10.53 to v3.14.28. After update, recognize the usb3.0 device. but I met the strange output from console.

How to solve the issue. I'm wait your recommend.

<repeat below message several times when mount usb storage.., and takes very long time>

usb 2-2: reset SuperSpeed USB device number 2 using xhci_hcd

usb 2-2: Parent hub missing LPM exit latency info.  Power management will be impacted.

xhci_hcd 0000:01:00.0: xHCI xhci_drop_endpoint called with disabled ep a8cd9e80

xhci_hcd 0000:01:00.0: xHCI xhci_drop_endpoint called with disabled ep a8cd9eac

<usb storage insert's output>

usb 2-2: new SuperSpeed USB device number 2 using xhci_hcd

usb 2-2: Parent hub missing LPM exit latency info.  Power management will be impacted.

usb-storage 2-2:1.0: USB Mass Storage device detected

scsi1 : usb-storage 2-2:1.0

scsi 1:0:0:0: Direct-Access     0107 PQ: 0 ANSI: 6

sd 1:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)

sd 1:0:0:0: [sdb] Write Protect is off

sd 1:0:0:0: [sdb] No Caching mode page found

sd 1:0:0:0: Attached scsi generic sg1 type 0

sd 1:0:0:0: [sdb] Assuming drive cache: write through

sd 1:0:0:0: [sdb] No Caching mode page found

sd 1:0:0:0: [sdb] Assuming drive cache: write through

sdb: sdb1 sdb2

sd 1:0:0:0: [sdb] No Caching mode page found

sd 1:0:0:0: [sdb] Assuming drive cache: write through

sd 1:0:0:0: [sdb] Attached SCSI disk

<fdisk output>

Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: gpt

Disk identifier: DA197DDB-693A-4A09-AA5B-BF85C2381B19

Device           Start          End   Size Type

/dev/sdb1           34       262177   128M Microsoft reserved

/dev/sdb2       264192   1953523711 931.4G Microsoft basic data

0 Kudos
Reply

3,535 Views
prathamrahate
Contributor III

Hi Christian,

I am also using TUSB7320 with imx6qp on custom board. I using 3.14.52 kernel. I am able to see usb controller with lspci command, but i am not able to view any devices connected to it. Have you done any changes to xHCI driver to make it work?

0 Kudos
Reply

3,535 Views
igorpadykov
NXP Employee
NXP Employee

Hi Chrisitian

seems device is not detected, suggest to try with other tested and verified

PCIe modules described on

i.MX6 “PHY link never came up”

patches on link

IMX PCIe port: link down! with atheros pcie

One can test PCIe detection in uboot, recommended latest version

uboot-imx-2015.04.

Regarding driver, seems Linux xHCI driver works well with it :

Re: usb3 and support for the TI controller -- Linux USB

Best regards

igor

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

Note: If this post answers your question, please click the Correct Answer button. Thank you!

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

0 Kudos
Reply

3,535 Views
myungjukim
Contributor II

Hi, igor

Thanks your support.

I think, PCIe Controller and XHCI host controller load success well, but I can't get any message when I insert usb storage to USB3.0 port. Do I find what part start and look any possibility.

We consist 2 type usb(2.0 and 3.0) to our device.

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

-- dmesg

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

[    0.322724] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00

[    0.322738] pci_bus 0000:00: root bus resource [io  0x1000-0x10000]

[    0.322748] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]

[    0.322758] pci_bus 0000:00: scanning bus

[    0.322792] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400

[    0.322821] pci 0000:00:00.0: reg 10: [mem 0x00000000-0x000fffff]

[    0.322842] pci 0000:00:00.0: reg 38: [mem 0x00000000-0x0000ffff pref]

[    0.322874] pci 0000:00:00.0: calling pci_fixup_ide_bases+0x0/0x3c

[    0.322926] pci 0000:00:00.0: supports D1

[    0.322936] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold

[    0.322949] pci 0000:00:00.0: PME# disabled

[    0.323154] pci_bus 0000:00: fixups for bus

[    0.323168] PCI: bus0: Fast back to back transfers disabled

[    0.323179] pci 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0

[    0.323193] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1

[    0.323335] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [??? 0x00000000 flags 0x0] (conflicts with (null) [??? 0x00000000 flags 0x0])

[    0.323348] pci_bus 0000:01: scanning bus

[    0.323426] pci 0000:01:00.0: [104c:8241] type 00 class 0x0c0330

[    0.323509] pci 0000:01:00.0: reg 10: [mem 0x00000000-0x0000ffff 64bit]

[    0.323567] pci 0000:01:00.0: reg 18: [mem 0x00000000-0x00001fff 64bit]

[    0.323685] pci 0000:01:00.0: calling pci_fixup_ide_bases+0x0/0x3c

[    0.323884] pci 0000:01:00.0: supports D1 D2

[    0.323892] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot

[    0.323910] pci 0000:01:00.0: PME# disabled

[    0.335637] pci_bus 0000:01: fixups for bus

[    0.335664] PCI: bus1: Fast back to back transfers disabled

[    0.335672] pci_bus 0000:01: bus scan returning with max=01

[    0.335685] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01

[    0.335701] pci_bus 0000:01: busn_res: can not insert [bus 01] under [??? 0x00000000 flags 0x0] (conflicts with (null) [??? 0x00000000 flags 0x0])

[    0.335714] pci_bus 0000:00: bus scan returning with max=01

[    0.335730] pci 0000:00:00.0: fixup irq: got 155

[    0.335737] pci 0000:00:00.0: assigning IRQ 155

[    0.335752] pci 0000:01:00.0: fixup irq: got 155

[    0.335760] pci 0000:01:00.0: assigning IRQ 155

[    0.335802] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]

[    0.335819] pci 0000:00:00.0: BAR 0: set to [mem 0x01000000-0x010fffff] (PCI address [0x1000000-0x10fffff])

[    0.335830] pci 0000:00:00.0: BAR 14: assigned [mem 0x01100000-0x011fffff]

[    0.335841] pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]

[    0.335857] pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x0110ffff 64bit]

[    0.335901] pci 0000:01:00.0: BAR 0: set to [mem 0x01100000-0x0110ffff 64bit] (PCI address [0x1100000-0x110ffff])

[    0.335911] pci 0000:01:00.0: BAR 2: assigned [mem 0x01110000-0x01111fff 64bit]

[    0.335954] pci 0000:01:00.0: BAR 2: set to [mem 0x01110000-0x01111fff 64bit] (PCI address [0x1110000-0x1111fff])

[    0.335964] pci 0000:00:00.0: PCI bridge to [bus 01]

[    0.335978] pci 0000:00:00.0:   bridge window [mem 0x01100000-0x011fffff]

[    0.336019] pci_bus 0000:00: resource 4 [io  0x1000-0x10000]

[    0.336029] pci_bus 0000:00: resource 5 [mem 0x01000000-0x01efffff]

[    0.336038] pci_bus 0000:01: resource 1 [mem 0x01100000-0x011fffff]

[    0.346570] pci 0000:01:00.0: calling quirk_usb_early_handoff+0x0/0x7d4

[    0.346594] PCI: enabling device 0000:01:00.0 (0140 -> 0142)

[    0.346666] PCI: CLS 64 bytes, default 64

[    0.362654] aer 0000:00:00.0:pcie02: service driver aer loaded

[    0.362733] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt

[    0.362742] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt

[    0.362754] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded

[    1.355372] ehci-pci: EHCI PCI platform driver

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

-- Devices(3.0)

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

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 4

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0002 Rev=03.10

S:  Manufacturer=Linux 3.10.53 xhci_hcd

S:  Product=xHCI Host Controller

S:  SerialNumber=0000:01:00.0

C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 4

D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1

P:  Vendor=1d6b ProdID=0003 Rev=03.10

S:  Manufacturer=Linux 3.10.53 xhci_hcd

S:  Product=xHCI Host Controller

S:  SerialNumber=0000:01:00.0

C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

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

root@imx6qsabresd:~# lspci

00:00.0 PCI bridge: Device 16c3:abcd (rev 01)

01:00.0 USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02)

3,535 Views
无为无
Contributor III

Hi

   My situation is similar to yours, but IC is p720202. Have you solved your problem? Can you check the usb device?

0 Kudos
Reply

3,535 Views
igorpadykov
NXP Employee
NXP Employee

Hi Chrisitian

if device is detected, then higher linux usb drivers should provide support

for this module. Had you tried it on other computers ?

Also suggest to use more newer kernel (and probably 4.x) :

linux-2.6-imx.git - Freescale i.MX Linux Tree

Best regards

igor

0 Kudos
Reply