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
Hi Chrisitian
this may be due to ERR005723
Best regards
igor
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.
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
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?
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!
-----------------------------------------------------------------------------------------------------------------------
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)
Hi
My situation is similar to yours, but IC is p720202. Have you solved your problem? Can you check the usb device?
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