AnsweredAssumed Answered

Hi all, i have issue about pcie work with imx6q, who can help me?

Question asked by gong yunfen on Jan 22, 2014
Latest reply on Jun 17, 2014 by RandyKrakora

I need the i.MX6 (sabre lite) to connect to a PCIe device .

 

we reference sabre lite board, and connect pcie pins to a fpga, and download a pcie-core to fpga.


our linux L3.0.35_Version is 4.1.0,but imx pcie port can not link up , here is boot message:

 

 

U-Boot 2009.08 (May 31 2013 - 10:50:52)

 

 

CPU: Freescale i.MX6 family TO1.2 at 792 MHz

Temperature:   14 C, calibration data 0x5864c77d

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 264000000Hz

emi_slow clock: 132000000Hz

ddr clock     : 528000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 24000000Hz

Board: MX6Q-SABRELITE:[ POR]

Boot Device: I2C

I2C:   ready

DRAM:   1 GB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1

JEDEC ID: 0xbf:0x25:0x41

Reading SPI NOR flash 0xc0000 [0x2000 bytes] -> ram 0x276009b8

SUCCESS

 

 

*** Warning - bad CRC, using default environment

 

 

In:    serial

Out:   serial

Err:   serial

Net:   got MAC address from IIM: 11:22:33:44:55:66

FEC0 [PRIME]

Warning: FEC0 MAC addresses don't match:

Address in SROM is         11:22:33:44:55:66

Address in environment is  00:01:02:03:04:05

 

 

Hit any key to stop autoboot:  0

mmc1 is current device

 

 

MMC read: dev # 1, block # 2048, count 8192 ... 8192 blocks read: OK

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    3759612 Bytes =  3.6 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

 

 

Starting kernel ...

 

 

Uncompressing Linux... done, booting the kernel.

Linux version 3.0.35 (gongyf@gongyf-virtual-machine) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #29 SMP PREEMPT Mon Jan 20 21:54:43 CST 2014

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Boundary Devices Nitrogen6X/SABRE Lite Board

Memory policy: ECC disabled, Data cache writealloc

CPU identified as i.MX6Q, silicon rev 1.2

PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 227328

Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Memory: 640MB 256MB = 896MB total

Memory: 900780k/900780k available, 147796k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)

    vmalloc : 0xc0800000 - 0xf2000000   ( 792 MB)

    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .init : 0x80008000 - 0x80039000   ( 196 kB)

      .text : 0x80039000 - 0x806caa04   (6727 kB)

      .data : 0x806cc000 - 0x80723720   ( 350 kB)

       .bss : 0x80723744 - 0x80767aa4   ( 273 kB)

SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1

Preemptible hierarchical RCU implementation.

NR_IRQS:624

MXC GPIO hardware

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

arm_max_freq=1GHz

MXC_Early serial console at MMIO 0x21e8000 (options '115200')

bootconsole [ttymxc1] enabled

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

CPU1: Booted secondary processor

CPU2: Booted secondary processor

CPU3: Booted secondary processor

Brought up 4 CPUs

SMP: Total of 4 processors activated (6324.22 BogoMIPS).

devtmpfs: initialized

print_constraints: dummy:

NET: Registered protocol family 16

print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal

print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal

print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal

print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal

print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal

print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal

lcd_disable_pins

------------ Board type Sabre Lite

imx_add_mxc_pwm:pdata=  (null)

imx_add_mxc_pwm:pdata=  (null)

imx_add_mxc_pwm:pdata=806ef528

imx_add_mxc_pwm:pdata=  (null)

Flexcan NXP tja1040

hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.

hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.

hw-breakpoint: maximum watchpoint size is 4 bytes.

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B

bio: create slab <bio-0> at 0

print_constraints: VDDA: 2500 mV

print_constraints: VDDIO: 3300 mV

machine_constraints_voltage: VDDD: unsupportable voltage constraints

reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -22

reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -22

print_constraints: vmmc: 3300 mV

vgaarb: loaded

SCSI subsystem initialized

spi_imx imx6q-ecspi.0: probed

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Freescale USB OTG Driver loaded, $Revision: 1.55 $

imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed

mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Version 1.0.24.

Bluetooth: Core ver 2.16

NET: Registered protocol family 31

Bluetooth: HCI device and connection manager initialized

Bluetooth: HCI socket layer initialized

Bluetooth: L2CAP socket layer initialized

Bluetooth: SCO socket layer initialized

cfg80211: Calling CRDA to update world regulatory domain

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

IP route cache hash table entries: 32768 (order: 5, 131072 bytes)

TCP established hash table entries: 131072 (order: 8, 1048576 bytes)

TCP bind hash table entries: 65536 (order: 7, 786432 bytes)

TCP: Hash tables configured (established 131072 bind 65536)

TCP reno registered

UDP hash table entries: 512 (order: 2, 16384 bytes)

UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

PMU: registered new PMU device of type 0

Static Power Management for Freescale i.MX6

wait mode is enabled for i.MX6

cpaddr = c0880000 suspend_iram_base=c0918000

 

PM driver module loaded

iMX6 PCIe PCIe RC mode imx_pcie_pltfm_probe entering.

CONFIG_IMX_PCIE_RC_MODE_IN_EP_RC_SYS = 1 .

PCIE: imx_pcie_pltfm_probe start link up.

link up failed, DB_R0:0x00b03200, DB_R1:0x08200000!

IMX PCIe port: link down!

 

IMX usb wakeup probe

add wake up source irq 75

IMX usb wakeup probe

cpu regulator mode:ldo_enable

i.MXC CPU frequency driver

squashfs: version 4.0 (2009/01/31) Phillip Lougher

msgmni has been set to 1759

alg: No test for stdrng (krng)

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000

pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000

MIPI DSI driver module loaded

mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi

mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1

fbcvt: 1920x1080@60: CVT Name - 2.073M9

ipu_init_sync_panel: disp=1, pixel_clk=148500000 148500000

imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)

pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000

pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000

ipu_init_sync_panel: disp=1, pixel_clk=148500000 148500000

Console: switching to colour frame buffer device 240x67

mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver lcd

lcd_enable_pins

ipu_init_sync_panel: disp=0, pixel_clk=27000000 27000000

pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000

pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000

mxc_sdc_fb mxc_sdc_fb.2: register mxc display driver ldb

_regulator_get: get() with no identifier

ldb_disp_init: ret=3, 1280x800

ldb_disp_init:r=59, x=1280, y=800, p=14065, l=40, r=40, upper=10, lower=3, h=80, v=10

ldb_disp_init: 1024x768

ipu_init_sync_panel: disp=0, pixel_clk=71098000 71458646

pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000

pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000

mxc_sdc_fb mxc_sdc_fb.3: register mxc display driver ldb

ldb_disp_init: ret=3, 1280x800

ldb_disp_init:r=59, x=1280, y=800, p=14065, l=40, r=40, upper=10, lower=3, h=80, v=10

ldb_disp_init: 1024x768

ipu_init_sync_panel: disp=1, pixel_clk=71098000 71458646

pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000

pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000

imx-sdma imx-sdma: loaded firmware 1.1

imx-sdma imx-sdma: initialized

Serial: IMX driver

imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX

old_ufcr=a81 new_ufcr=b01, old_ucr2=4027 new_ucr2=4027, old_ubir=f num=1f7, old_ubmr=15b denom=c34

clk=80000000 div=7 num=504 denom=3125 baud=115200

console [ttymxc1] enabled, bootconsole disabled

console [ttymxc1] enabled, bootconsole disabled

loop: module loaded

Can't recover from RESET HBA!

No sata disk.

m25p80 spi0.0: sst25vf016b (2048 Kbytes)

Creating 3 MTD partitions on "m25p80":

0x000000000000-0x0000000c0000 : "bootloader"

0x0000000c0000-0x0000000c2000 : "ubparams"

0x0000000c2000-0x000000200000 : "unused"

vcan: Virtual CAN interface driver

CAN device driver interface

flexcan netdevice driver

flexcan imx6q-flexcan.0: device registered (reg_base=c09a8000, irq=142)

FEC Ethernet Driver

fec_enet_mii_bus: probed

tun: Universal TUN/TAP device driver, 1.6

tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1

fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000

fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

add wake up source irq 72

fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2

fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200

fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 1 port detected

usbcore: registered new interface driver cdc_acm

cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

usbcore: registered new interface driver usbserial

usbserial: USB Serial Driver core

USB Serial support registered for GSM modem (1-port)

usbcore: registered new interface driver option

option: v0.7.2:USB Driver for GSM modems

USB Serial support registered for Qualcomm USB modem

usbcore: registered new interface driver qcserial

ARC USBOTG Device Controller driver (1 August 2005)

mousedev: PS/2 mouse device common for all mice

input: gpio-keys as /devices/platform/gpio-keys/input/input0

tsc2004_prepare_for_reading: write_cmd -5

tsc2004: probe of 2-0048 failed with error -5

egalax_ts 2-0004: egalax_ts: failed to read firmware version

egalax_ts: probe of 2-0004 failed with error -5

ft5x06-ts 2-0038: ft5x06: Could not detect touch screen.

ft5x06: Jan  5 2014

check_alarm_past: alarm in the past

snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0

i2c /dev entries driver

Linux video capture interface: v2.00

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video19

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video20

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video21

i2c-core: driver [mma8450] using legacy suspend method

i2c-core: driver [mma8450] using legacy resume method

add mma8450 i2c driver

imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)

device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com

Bluetooth: HCI UART driver ver 2.2

Bluetooth: HCILL protocol initialized

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA

sdhci sdhci-esdhc-imx.3: no write-protect pin available!

mmc1: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA

mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

VPU initialized

mxc_asrc registered

Galcore version 4.6.9.6622

Thermal calibration data is 0x5864c77d

Thermal sensor with ratio = 183

Anatop Thermal registered as thermal_zone0

anatop_thermal_probe: default cooling device is cpufreq!

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

usbcore: registered new interface driver snd-usb-audio

mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio

sgtl5000 0-000a: Failed to get supply 'VDDD': -19

print_constraints: 0-000a: 850 <--> 1600 mV at 1200 mV normal

sgtl5000 0-000a: Device with ID register 0 is not a sgtl5000

sgtl5000 0-000a: asoc: failed to probe CODEC sgtl5000.0-000a: -19

asoc: failed to instantiate card sgtl5000-audio: -19

asoc: mxc-hdmi-soc <-> imx-hdmi-soc-dai.0 mapping ok

ALSA device list:

  #0: imx-hdmi-soc

NET: Registered protocol family 26

TCP cubic registered

NET: Registered protocol family 17

can: controller area network core (rev 20090105 abi 8)

NET: Registered protocol family 29

can: raw protocol (rev 20090105)

can: broadcast manager protocol (rev 20090105 t)

Bluetooth: RFCOMM TTY layer initialized

Bluetooth: RFCOMM socket layer initialized

Bluetooth: RFCOMM ver 1.11

Bluetooth: BNEP (Ethernet Emulation) ver 1.3

Bluetooth: BNEP filters: protocol multicast

Bluetooth: HIDP (Human Interface Emulation) ver 1.2

lib80211: common routines for IEEE802.11 drivers

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

Bus freq driver module loaded

Bus freq driver Enabled

mxc_dvfs_core_probe

DVFS driver module loaded

regulator_init_complete: VDDIO: incomplete constraints, leaving on

regulator_init_complete: VDDA: incomplete constraints, leaving on

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)

Waiting for root device /dev/mmcblk0p1...

mmc1: host does not support reading read-only switch. assuming write-enable.

mmc1: new high speed SDHC card at address e624

mmcblk0: mmc1:e624 SU08G 7.40 GiB

mmcblk0: p1

EXT3-fs: barriers not enabled

kjournald starting.  Commit interval 5 seconds

EXT3-fs (mmcblk0p1): using internal journal

EXT3-fs (mmcblk0p1): recovery complete

EXT3-fs (mmcblk0p1): mounted filesystem with writeback data mode

VFS: Mounted root (ext3 filesystem) on device 179:1.

devtmpfs: mounted

Freeing init memory: 196K

init started: BusyBox v1.20.2 (2013-05-30 08:10:42 EDT)

Setting hotplug handler: [ OK ]

Creating device files: Auto-mount of [/media/mmcblk0p1] successful

[ OK ]

mount: mounting none on /dev/pts failed: No such file or directory

mount: mounting tmpfs on /dev/shm failed: No such file or directory

modprobe: chdir(3.0.35): No such file or directory

modprobe: chdir(3.0.35): No such file or directory

modprobe: chdir(3.0.35): No such file or directory

Setting timezone and system clock: [OK]

Starting system logging.

Configuring network interfaces: done

Finding touchscreen using legacy method:[FAIL]

Starting demo...

 

 

 

 

BusyBox v1.20.2 (2013-05-30 08:10:42 EDT) built-in shell (ash)

Enter 'help' for a list of built-in commands.

 

 

# pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000

pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000

 

 

 

 

Has anybody seen this problem before ?

Is there anything to do in the  kernel to make PCIe port link up?

 

Desperately looking for answers, thank you.

Outcomes