> -----Original Message----- > From: Bjorn Helgaas [mailto:helgaas@xxxxxxxxxx] > Sent: Thursday, March 03, 2016 3:57 AM > To: Roberto Fichera > Cc: linux-pci@xxxxxxxxxxxxxxx; Richard Zhu; Lucas Stach > Subject: Re: iMX6q PCIe phy link never came up on kernel v4.4.x > > [+cc Richard, Lucas] > > On Wed, Mar 02, 2016 at 06:13:11PM +0100, Roberto Fichera wrote: > > On 03/01/2016 07:47 PM, Roberto Fichera wrote: > > > > Sorry guy if I push a little bit about this, I've added some debugging code > regarding my issue: > > > > [ 0.557268] imx6q-pcie 1ffc000.pcie: phy link never came up > > [ 0.557290] imx6q-pcie 1ffc000.pcie: LTSSM current state: 0x3 > (S_POLL_COMPLIANCE) > > [ 0.557304] imx6q-pcie 1ffc000.pcie: PIPE transmit K indication: 1 > > [ 0.557318] imx6q-pcie 1ffc000.pcie: PIPE Transmit data: 0x4abc > > [ 0.557332] imx6q-pcie 1ffc000.pcie: Receiver is receiving logical idle: no > > [ 0.557345] imx6q-pcie 1ffc000.pcie: Second symbol is also idle (16-bit PHY > interface only): no > > [ 0.557360] imx6q-pcie 1ffc000.pcie: Currently receiving k237 (PAD) in > place of link number: no > > [ 0.557372] imx6q-pcie 1ffc000.pcie: Currently receiving k237 (PAD) in > place of lane number: no > > [ 0.557385] imx6q-pcie 1ffc000.pcie: Link control bits advertised by link > partner: 0xa > > [ 0.557398] imx6q-pcie 1ffc000.pcie: Receiver detected lane reversal: no > > [ 0.557410] imx6q-pcie 1ffc000.pcie: TS2 training sequence received: no > > [ 0.557422] imx6q-pcie 1ffc000.pcie: TS1 training sequence received: no > > [ 0.557434] imx6q-pcie 1ffc000.pcie: Receiver reports skip reception: no > > [ 0.557446] imx6q-pcie 1ffc000.pcie: LTSSM reports PHY link up: no > > [ 0.557460] imx6q-pcie 1ffc000.pcie: A skip ordered set has been > transmitted: no > > [ 0.557474] imx6q-pcie 1ffc000.pcie: Link number advertised/confirmed by > link partner: 68 > > [ 0.557487] imx6q-pcie 1ffc000.pcie: Application request to initiate training > reset: no > > [ 0.557500] imx6q-pcie 1ffc000.pcie: PIPE transmit compliance request: no > > [ 0.557512] imx6q-pcie 1ffc000.pcie: PIPE transmit electrical idle request: > no > > [ 0.557524] imx6q-pcie 1ffc000.pcie: PIPE receiver detect/loopback request: > no > > [ 0.557536] imx6q-pcie 1ffc000.pcie: LTSSM-negotiated link reset: yes > > [ 0.557547] imx6q-pcie 1ffc000.pcie: LTSSM testing for polarity reversal: no > > [ 0.557559] imx6q-pcie 1ffc000.pcie: LTSSM performing link training: no > > [ 0.557572] imx6q-pcie 1ffc000.pcie: LTSSM in DISABLE state; link > inoperable: no > > [ 0.557583] imx6q-pcie 1ffc000.pcie: Scrambling disabled for the link: no > > [ 0.558156] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00 > > [ 0.558179] pci_bus 0000:00: root bus resource [bus 00-ff] > > [ 0.558197] pci_bus 0000:00: root bus resource [??? 0x01f00000-0x01f7ffff > flags 0x0] > > [ 0.558212] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > > [ 0.558226] pci_bus 0000:00: root bus resource [mem 0x01000000- > 0x01efffff] > > [ 0.558346] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400 > > [ 0.558468] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff] > > [ 0.558510] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref] > > [ 0.558708] pci 0000:00:00.0: supports D1 > > [ 0.558727] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold > > [ 0.559495] PCI: bus0: Fast back to back transfers disabled > > [ 0.559834] PCI: bus1: Fast back to back transfers enabled > > [ 0.559997] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff] > > [ 0.560025] pci 0000:00:00.0: BAR 6: assigned [mem 0x01100000-0x0110ffff > pref] > > [ 0.560047] pci 0000:00:00.0: PCI bridge to [bus 01] > > [ 0.560812] pcieport 0000:00:00.0: Signaling PME through PCIe PME > interrupt > > [ 0.560837] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded > > > > Any idea what's going on? > > > > Thanks in advance, > > Roberto Fichera. > > > > > Hi There, > > > > > > Working on a custom iMX6q board I'm getting a PCIe phy link never > > > came up, even if uboot seems detecting everything ok. My DTS is > > > enabling PCIe with > > > > > > &pcie { > > > pinctrl-names = "default"; > > > pinctrl-0 = <&pinctrl_pcie_reset>; > > > reset-gpio = <&gpio7 12 0>; > > > status = "okay"; > > > }; > > > > > > The PCIe is connected to a PCIe-to-PCI TI XIO2001. The XIO2001 power > > > is controlled by GPIO_9 and the corresponding fixed regulator is set > > > as > > > > > > reg_pcie: regulator@4 { > > > compatible = "regulator-fixed"; > > > reg = <4>; > > > pinctrl-names = "default"; > > > pinctrl-0 = <&pinctrl_pcie_reg>; > > > regulator-name = "MPCIE_3V3"; > > > regulator-min-microvolt = <3300000>; > > > regulator-max-microvolt = <3300000>; > > > gpio = <&gpio1 9 0>; > > > regulator-always-on; > > > enable-active-high; > > > }; > > > > > > so I'd like to know if there is any other special setup to do in order to get it > to work on a v4.4.x kernel. > > > Or anyway how to debug it. > > > > > > Any suggestion? > > > [Zhu hongxing] It seems that the link down is caused by the different initialization procedure. Can you take a try by the previouse kernel version? Or, you can dump and compare the register values just before the LTSSM_ENABLE is asserted between Linux and uboot. > > > Thanks in advance, > > > Roberto Fichera. > > > > > > U-Boot 2014.04-imx_v2014.04_3.14.38_6qp_beta+g6e9282c (Feb 15 2016 - > > > 10:02:31) > > > > > > CPU: Freescale i.MX6Q rev1.5 at 792 MHz > > > CPU: Temperature 35 C, calibration data: 0x5664d569 > > > Reset cause: POR > > > Board: Janas iMX6Q (ID:e315c064140749d4) > > > I2C: ready > > > DRAM: 2 GiB > > > MMC: FSL_SDHC: 0, FSL_SDHC: 1 > > > *** Warning - bad CRC, using default environment > > > > > > 00:01.0 - 16c3:abcd - Bridge device > > > 01:00.0 - 104c:8240 - Bridge device > > > 02:04.0 - 1397:08b4 - Network controller > > > In: serial > > > Out: serial > > > Err: serial > > > Found PFUZE100! deviceid=10,revid=21 mmc1(part 0) is current device > > > Net: FEC [PRIME] > > > Warning: failed to set MAC address > > > > > > Normal Boot > > > .... > > > .... > > > [ 0.236141] PCI host bridge /soc/pcie@0x01000000 ranges: > > > [ 0.236162] No bus range found for /soc/pcie@0x01000000, using [bus > 00-ff] > > > [ 0.236213] err 0x01f00000..0x01f7ffff -> 0x01f00000 > > > [ 0.236250] IO 0x01f80000..0x01f8ffff -> 0x00000000 > > > [ 0.236330] MEM 0x01000000..0x01efffff -> 0x01000000 > > > -->>> [ 0.546690] imx6q-pcie 1ffc000.pcie: phy link never came up > > > [ 0.547263] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00 > > > [ 0.547287] pci_bus 0000:00: root bus resource [bus 00-ff] > > > [ 0.547304] pci_bus 0000:00: root bus resource [??? 0x01f00000- > 0x01f7ffff flags 0x0] > > > [ 0.547321] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > > > [ 0.547335] pci_bus 0000:00: root bus resource [mem 0x01000000- > 0x01efffff] > > > [ 0.548608] PCI: bus0: Fast back to back transfers disabled > > > [ 0.548950] PCI: bus1: Fast back to back transfers enabled > > > [ 0.549107] pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000- > 0x010fffff] > > > [ 0.549137] pci 0000:00:00.0: BAR 6: assigned [mem 0x01100000- > 0x0110ffff pref] > > > [ 0.549159] pci 0000:00:00.0: PCI bridge to [bus 01] > > > [ 0.549945] pcieport 0000:00:00.0: Signaling PME through PCIe PME > interrupt > > > ... > > > > > > -- > > > To unsubscribe from this list: send the line "unsubscribe linux-pci" > > > in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo > > > info at http://vger.kernel.org/majordomo-info.html > > > > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-pci" > > in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo > > info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html