i.MX6SX hang when enabling pcie

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

i.MX6SX hang when enabling pcie

Jump to solution
5,497 Views
mattiasbarthel
Contributor II

I have the SabreSD i.MX6sx board and I can't get the PCIe to be enabled without hanging the boot sequence.

 

I have used the fsl community bsp repo download morty according to:

"Platform source code download" FSL Community BSP 

 

 

$ pwd
/home/mattias/fsl-community-bsp
$

$ repo info
Manifest branch: morty
Manifest merge branch: refs/heads/morty
Manifest groups: all,-notdefault
----------------------------
Project: Documentation
Mount path: /home/mattias/fsl-community-bsp/sources/Documentation
Current revision: morty
Local Branches: 0
----------------------------
Project: fsl-community-bsp-base
Mount path: /home/mattias/fsl-community-bsp/sources/base
Current revision: morty
Local Branches: 0
----------------------------
Project: meta-freescale
Mount path: /home/mattias/fsl-community-bsp/sources/meta-freescale
Current revision: morty
Local Branches: 0
----------------------------
Project: meta-freescale-3rdparty
Mount path: /home/mattias/fsl-community-bsp/sources/meta-freescale-3rdparty
Current revision: morty
Local Branches: 0
----------------------------
Project: meta-freescale-distro
Mount path: /home/mattias/fsl-community-bsp/sources/meta-freescale-distro
Current revision: morty
Local Branches: 0
----------------------------
Project: meta-openembedded
Mount path: /home/mattias/fsl-community-bsp/sources/meta-openembedded
Current revision: morty
Local Branches: 0
----------------------------
Project: poky
Mount path: /home/mattias/fsl-community-bsp/sources/poky
Current revision: morty
Local Branches: 0
----------------------------

The repo was downloaded and initialized on the 14th:

$ ls -l
total 44
drwxrwxr-x 7 mattias mattias  4096 mar 15 13:32 build
drwxrwxr-x 4 mattias mattias 36864 mar 15 14:30 downloads
lrwxrwxrwx 1 mattias mattias    19 mar 14 12:51 README -> sources/base/README
lrwxrwxrwx 1 mattias mattias    30 mar 14 12:51 setup-environment -> sources/base/setup-environment
drwxrwxr-x 9 mattias mattias  4096 mar 14 12:51 sources
----------------------------

 

I did the modifications to imx6sx-sdb.dtsi according to:

i.MX6SX failed to enable pcie 

imx6_pcie->pcie_bus_regulator = devm_regulator_get(pp->dev,
"pcie-bus");
TO:
imx6_pcie->pcie_bus_regulator = devm_regulator_get(pp->dev,
"MPCIE_3V3");

 

Because otherwise I would get:

8ffc000.pcie supply pcie-bus not found, using dummy regulator

 

The hang occurs in:

pcie-designware.c: dw_pcie_setup_rc.

dw_pcie_readl_rc(pp, PCIE_PORT_LINK_CONTROL, &val);

I.e the first access (read) through DBI, to CDM (Port logic registers).

 

I added printk as:

printk(KERN_CRIT"pp->dbi_base + reg: 0x%x\n", pp->dbi_base + PCIE_PORT_LINK_CONTROL);

 

pp->dbi_base + reg: 0xc0af0710

 

What is missing here? Could it be that the PCIe block isnt powered?

 

Here follows my Kconfig statements regarding PCI: (Entire .config file as attchmnt)

 

$ grep -i pci .config | grep -v ^#                                                         
CONFIG_MIGHT_HAVE_PCI=y
CONFIG_PCI_QUIRKS=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DOMAINS_GENERIC=y
CONFIG_PCI_SYSCALL=y
CONFIG_PCI_MSI=y
CONFIG_PCIE_DW=y
CONFIG_PCI_IMX6=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIE_PME=y
CONFIG_OF_ADDRESS_PCI=y
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
CONFIG_SND_PCI=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_CHIPIDEA_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y

 

 

Thanks for reading and any help will be highly appreciated!

Original Attachment has been moved to: .config.zip

Labels (1)
0 Kudos
1 Solution
3,748 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mattias

is it working in uboot, PCIe can be enabled in uboot/include/configs/mx6sxsabresd.h

 #define CONFIG_CMD_PCI

uboot-imx.git - Freescale i.MX u-boot Tree 

and could you try with some PCIe verified modules described

in attached Linux Manual sect.40.4 Using PCIe Endpoint and Running Tests

and Release Notes p.6

Also could you try to build image without any modifications in sources, not

selecting item "PCI Express RC mode in the IMX6 RC/EP interconnection system"

just enabling :

Freescale i.MX6 PCIe controller

-> Bus support

-> PCI host controller drivers

PCI Express RC mode in the IMX6 RC/EP interconnection system

is used for i.MX6Q PCIe EP/RC Validation System setup

https://community.freescale.com/docs/DOC-95014 

 

Best regards
igor

View solution in original post

0 Kudos
11 Replies
3,748 Views
mattiasbarthel
Contributor II

Hi Igor!

Thanks for your response.

I just downloaded the BSP from the  i.MX official software product page through the link you provided.

Did this from my host:

root@blob:/home/mattias/Downloads/L4.1.15_2.0.0-ga_images_MX6SXALL# bunzip2 -c fsl-image-validation-imx-x11-imx6sx_all.sdcard.bz2 | dd of=/dev/
mmcblk0

On the target after booting from the MMC:

root@imx6sx_all:~# zcat /proc/config.gz | grep -i pci
CONFIG_MIGHT_HAVE_PCI=y
# CONFIG_PCI is not set
# CONFIG_PCI_DOMAINS_GENERIC is not set
# CONFIG_PCI_SYSCALL is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_TTPCI_EEPROM is not set
CONFIG_GENERIC_PCI_IOMAP=y

So this BSP doesnt even have PCI support compiled in.

Regards,

Mattias

0 Kudos
3,748 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mattias

Demo images may not have included PCIe, please build image using

attached Linux Manual Chapter 40 PCI Express Root Complex Driver

and Yocto Guide. Both documents included in Doc package

http://www.nxp.com/webapp/Download?colCode=L4.1.15_2.0.0-LINUX-DOCS&Parent_nodeId=133769948107170617... 

Most simple way to add PCIe support in uboot, refer to uboot/include/configs/mx6sxsabresd.h.

Note PCIe card should be attached to processor.

Best regards
igor

0 Kudos
3,748 Views
mattiasbarthel
Contributor II

Thanks Igor.

I tried the following, the result is below:

$ mkdir fsl-release-bsp/

$ cd fsl-release-bsp/

$ repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth -m imx-4.1.15-2.0.0.xml

$ repo sync

$ MACHINE=imx6sxsabresd DISTRO=fsl-imx-x11 source ./fsl-setup-release.sh -b build
$ bitbake fsl-image-machine-test                                                                        
NOTE: Your conf/bblayers.conf has been automatically updated.
WARNING: Host distribution "Ubuntu-16.10" has not been validated with this version of the build system; you may possibly experi
ence unexpected failures. It is recommended that you use a tested distribution.                                                 
Parsing recipes: 100% |########################################################################################| Time: 00:01:41
Parsing of 2215 .bb files complete (0 cached, 2215 parsed). 2790 targets, 210 skipped, 5 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.30.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-16.10"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "imx6sxsabresd"
DISTRO            = "fsl-imx-x11"
DISTRO_VERSION    = "4.1.15-2.0.0"
TUNE_FEATURES     = "arm armv7a vfp  neon        callconvention-hard        cortexa9"
TARGET_FPU        = "hard"
meta               
meta-yocto        = "HEAD:f5da2a5913319ad6ac2141438ba1aa17576326ab"
meta-oe            
meta-multimedia   = "HEAD:247b1267bbe95719cd4877d2d3cfbaf2a2f4865a"
meta-fsl-arm      = "HEAD:be78894e4682f111575470fb23e51e6ba523508d"
meta-fsl-arm-extra = "HEAD:3dfb82fc7e703eae9891b3ffda0e9393701f2396"
meta-fsl-demos    = "HEAD:a165068f8a0d1cf29aabe4b4053f28be1c2aa492"
meta-bsp           
meta-sdk          = "HEAD:0451810f7ec7da962bd899f5b0fe26afee1676ca"
meta-browser      = "HEAD:77736988073a5d90fcff9d0005c8477332ede387"
meta-gnome         
meta-networking    
meta-python        
meta-filesystems  = "HEAD:247b1267bbe95719cd4877d2d3cfbaf2a2f4865a"
meta-qt5          = "HEAD:ccae79be69c5268df3b47e4e14cea0591c39a531"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: zlib-native-1.2.8-r0 do_fetch: Failed to fetch URL http://www.zlib.net/zlib-1.2.8.tar.xz, attempting MIRRORS if availa
ble
Currently 3 running tasks (160 of 6593):
0: binutils-cross-arm-2.26-r0 do_fetch (pid 24130)
1: glibc-initial-2.23-r0 do_fetch (pid 16449)
2: gperf-native-3.0.4-r0 do_fetch (pid 17122)
No real function for mknod: /home/mattias/fsl-release-bsp/build/tmp/sysroots/x86_64-linux/usr/bin/../lib/pseudo/lib64/libpseudo
.so: undefined symbol: mknod
No real function for mknodat: /home/mattias/fsl-release-bsp/build/tmp/sysroots/x86_64-linux/usr/bin/../lib/pseudo/lib64/libpseu
do.so: undefined symbol: mknodat
WARNING: pigz-native-2.3.3-r0 do_fetch: Failed to fetch URL http://zlib.net/pigz/pigz-2.3.3.tar.gz, attempting MIRRORS if avail
able
WARNING: libpcre-native-8.38-r0 do_fetch: Failed to fetch URL ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.t
ar.bz2, attempting MIRRORS if available
WARNING: file-native-5.25-r0 do_fetch: Failed to fetch URL git://github.com/file/file.git, attempting MIRRORS if available
ERROR: file-native-5.25-r0 do_fetch: Fetcher failure: Unable to find revision f45db89ddc91692b662fffbabbdafc7bc4c00f5e in branc
h master even from upstream
ERROR: file-native-5.25-r0 do_fetch: Function failed: Fetcher failure for URL: 'git://github.com/file/file.git'. Unable to fetc
h URL from any source.
ERROR: Logfile of failure stored in: /home/mattias/fsl-release-bsp/build/tmp/work/x86_64-linux/file-native/5.25-r0/temp/log.do_
fetch.27214
ERROR: Task 607 (virtual:native:/home/mattias/fsl-release-bsp/sources/poky/meta/recipes-devtools/file/file_5.25.bb, do_fetch) f
ailed with exit code '1'
NOTE: Tasks Summary: Attempted 268 tasks of which 0 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:

Summary: 1 task failed:
 virtual:native:/home/mattias/fsl-release-bsp/sources/poky/meta/recipes-devtools/file/file_5.25.bb, do_fetch
Summary: There were 5 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

0 Kudos
3,748 Views
mattiasbarthel
Contributor II

This is the error in the logfile:

DEBUG: Mirror fetch failure for url http://sources.openembedded.org/git2_github.com.file.file.git.tar.gz (original url: git://github.com/file/file.git)
DEBUG: Fetcher failure: Unable to find revision f45db89ddc91692b662fffbabbdafc7bc4c00f5e in branch master even from upstream
ERROR: Fetcher failure: Unable to find revision f45db89ddc91692b662fffbabbdafc7bc4c00f5e in branch master even from upstream
DEBUG: Python function base_do_fetch finished
DEBUG: Python function do_fetch finished
ERROR: Function failed: Fetcher failure for URL: 'git://github.com/file/file.git'. Unable to fetch URL from any source.
$

0 Kudos
3,748 Views
tomfoy
Contributor II

This build problem ("Unable to find revision f45db89ddc91692b662fffbabbdafc7bc4c00f5e in branch master") was fixed last Friday (17th March 2017) by a commit to the krogoth branch of poky.

Cherry-pick the following commit from upstream poky:

b4df9df4624a300923a5dfc5a8f7157bef145a2a
0 Kudos
3,748 Views
tomfoy
Contributor II

Hello i.MX6 people - note that the change I referred to above has been reverted, you'll now need to update your poky krogoth branch again.

The specific reverting commit you'll need is:

e59717e80f6288410fa057e34233382bd327697a

The guys at file-native seem to like messing up my day ;-)

0 Kudos
3,748 Views
mattiasbarthel
Contributor II

Thanks, Tom!

I managed to build from the release bsp (4.1.15_2.0.0.ga) as instructed by Igor. I used the DTS files as they are.

I enabled PCI support, MSI and from PCI host controller drivers,  imx6 pcie driver in Kconfig:

[*] PCI support                                                                           
                  [*] Message Signaled Interrupts (MSI and MSI-X)                                           
                  [ ] PCI Debugging                                                                         
                  [ ] Enable PCI resource re-allocation detection                                           
                  < > PCI Stub driver                                                                       
                  [ ] PCI IOV support                                                                       
                  [ ] PCI PRI support                                                                       
                  [ ] PCI PASID support                                                                     
                      PCI host controller drivers  --->                                                     
                  -*- PCI Express Port Bus support                                                          
                  [*]   Root Port Advanced Error Reporting support                                          
                  [ ]     PCI Express ECRC settings control                                                 
                  < >     PCIe AER error injector support                                                   
                  [*]   PCI Express ASPM control                                                            
                  [ ]     Debug PCI Express ASPM                                                            
                          Default ASPM policy (BIOS default)  --->                                          
                  < > PCCard (PCMCIA/CardBus) support  ----             

[*] Freescale i.MX6 PCIe controller                                                       
                  [ ]   Enable pcie compliance tests on imx6                                                
                  [ ]   PCI Express EP mode in the IMX6 RC/EP interconnection system                        
                  [*]     PCI Express RC mode in the IMX6 RC/EP interconnection system                      
                  [*]       i.MX6 PCI Express EP skeleton driver                                            
                  [ ] Generic PCI host controller                                                           
                  [ ] Freescale Layerscape PCIe controller                                                  
                  < > Broadcom iProc PCIe controller         


Build Configuration:
BB_VERSION        = "1.30.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-14.04"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "imx6sxsabresd"
DISTRO            = "fsl-imx-x11"
DISTRO_VERSION    = "4.1.15-2.0.0"
TUNE_FEATURES     = "arm armv7a vfp  neon        callconvention-hard        cortexa9"
TARGET_FPU        = "hard"
meta               
meta-poky         = "HEAD:f5da2a5913319ad6ac2141438ba1aa17576326ab"
meta-oe            
meta-multimedia   = "HEAD:247b1267bbe95719cd4877d2d3cfbaf2a2f4865a"
meta-fsl-arm      = "HEAD:be78894e4682f111575470fb23e51e6ba523508d"
meta-fsl-arm-extra = "HEAD:3dfb82fc7e703eae9891b3ffda0e9393701f2396"
meta-fsl-demos    = "HEAD:a165068f8a0d1cf29aabe4b4053f28be1c2aa492"
meta-bsp           
meta-sdk          = "HEAD:0451810f7ec7da962bd899f5b0fe26afee1676ca"
meta-browser      = "HEAD:77736988073a5d90fcff9d0005c8477332ede387"
meta-gnome         
meta-networking    
meta-python        
meta-filesystems  = "HEAD:247b1267bbe95719cd4877d2d3cfbaf2a2f4865a"
meta-qt5          = "HEAD:ccae79be69c5268df3b47e4e14cea0591c39a531"
-------------

I did the following modifications to the IMX6 pci driver to enable PCIe 3.3V bus regulator and just added a debug printout:

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

builder@build-server-1:~/fsl-release-bsp/build/tmp/work-shared/imx6sxsabresd/kernel-source$ git diff drivers/pci/host/pci-imx6.c
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index 7a661dd1..cbb27e5 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/host/pci-imx6.c
@@ -683,9 +683,9 @@ static int imx6_pcie_host_init(struct pcie_port *pp)
       imx6_pcie_init_phy(pp);
 
       imx6_pcie_deassert_core_reset(pp);
-
+        printk(KERN_CRIT"before dw_pcie_setup_rc\n");
       dw_pcie_setup_rc(pp);
-
+       printk(KERN_CRIT"after dw_pcie_setup_rc\n");
       ret = imx6_pcie_start_link(pp);
       if (ret < 0)
               return ret;
@@ -1262,7 +1262,7 @@ static int __init imx6_pcie_probe(struct platform_device *pdev)
       }
 
       imx6_pcie->pcie_bus_regulator = devm_regulator_get(pp->dev,
-                       "pcie-bus");
+                       "MPCIE_3V3");
       if (IS_ERR(imx6_pcie->pcie_bus_regulator))
               imx6_pcie->pcie_bus_regulator = NULL;


---diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c
index e179a76..e806c72 100644
--- a/drivers/pci/host/pcie-designware.c
+++ b/drivers/pci/host/pcie-designware.c
@@ -792,7 +792,9 @@ void dw_pcie_setup_rc(struct pcie_port *pp)
       u32 memlimit;
 
       /* set the number of lanes */
+        printk(KERN_CRIT"dw_pcie_readl_rc\n");
       dw_pcie_readl_rc(pp, PCIE_PORT_LINK_CONTROL, &val);
+        printk(KERN_CRIT" after dw_pcie_readl_rc\n");
       val &= ~PORT_LINK_MODE_MASK;
       switch (pp->lanes) {
       case 1:

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

But it hangs just the same as in the community code. (The first access towards CDM port logic registers).

Kernel boot printouts:

-------

NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
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: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
before dw_pcie_setup_rc
dw_pcie_readl_rc

Why is this hang occurring?

All eventual help is highly appreciated!

0 Kudos
3,749 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mattias

is it working in uboot, PCIe can be enabled in uboot/include/configs/mx6sxsabresd.h

 #define CONFIG_CMD_PCI

uboot-imx.git - Freescale i.MX u-boot Tree 

and could you try with some PCIe verified modules described

in attached Linux Manual sect.40.4 Using PCIe Endpoint and Running Tests

and Release Notes p.6

Also could you try to build image without any modifications in sources, not

selecting item "PCI Express RC mode in the IMX6 RC/EP interconnection system"

just enabling :

Freescale i.MX6 PCIe controller

-> Bus support

-> PCI host controller drivers

PCI Express RC mode in the IMX6 RC/EP interconnection system

is used for i.MX6Q PCIe EP/RC Validation System setup

https://community.freescale.com/docs/DOC-95014 

 

Best regards
igor

0 Kudos
3,748 Views
mattiasbarthel
Contributor II

1. First trying the no mods and Kconfig suggestion.

Also could you try to build image without any modifications in sources, not
selecting item "PCI Express RC mode in the IMX6 RC/EP interconnection system"
just enabling :
Freescale i.MX6 PCIe controller
-> Bus support
-> PCI host controller drivers

Result:

                     [*] PCI support                                                                                 
                        [*] Message Signaled Interrupts (MSI and MSI-X)                                                 
                        [ ] PCI Debugging                                                                               
                        [ ] Enable PCI resource re-allocation detection                                                 
                        < > PCI Stub driver                                                                             
                        [ ] PCI IOV support                                                                             
                        [ ] PCI PRI support                                                                             
                        [ ] PCI PASID support                                                                           
                            PCI host controller drivers  --->                                                           
                        -*- PCI Express Port Bus support                                                                
                        [ ]   Root Port Advanced Error Reporting support                                                
                        [ ]   PCI Express ASPM control                                                                  
                        < > PCCard (PCMCIA/CardBus) support  ----                    

                     [*] Freescale i.MX6 PCIe controller                                                             
                        [ ]   Enable pcie compliance tests on imx6                                                      
                        [ ]   PCI Express EP mode in the IMX6 RC/EP interconnection system                              
                        [ ]     PCI Express RC mode in the IMX6 RC/EP interconnection system                            
                        [ ] Generic PCI host controller                                                                 
                        [ ] Freescale Layerscape PCIe controller                                                        
                        < > Broadcom iProc PCIe controller                                                              
                                                                                    

Kernel boot printouts and hang:

NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
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: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
8ffc000.pcie supply pcie-bus not found, using dummy regulator.

2. When turning on the PCI from uboot (remove comment from /* #define CONFIG_CMD_PCI */).

PCIe is working.

root@imx6sxsabresd:~# lspci
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev bb)

[11:35] 
root@imx6sxsabresd:~# dmesg | grep -i pci
PCI: CLS 0 bytes, default 64
ehci-pci: EHCI PCI platform driver
8ffc000.pcie supply pcie-bus not found, using dummy regulator
imx6q-pcie 8ffc000.pcie: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io 0x1000-0xffff]
pci_bus 0000:00: root bus resource [mem 0x08000000-0x08efffff]
pci_bus 0000:00: root bus resource [bus 00-ff]
pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
pci 0000:00:00.0: supports D1
pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
PCI: bus0: Fast back to back transfers disabled
pci 0000:01:00.0: [8086:08b1] type 00 class 0x028000
pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
PCI: bus1: Fast back to back transfers disabled
pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
pci 0000:00:00.0: BAR 0: assigned [mem 0x08000000-0x080fffff]
pci 0000:00:00.0: BAR 8: assigned [mem 0x08100000-0x081fffff]
pci 0000:00:00.0: BAR 6: assigned [mem 0x08200000-0x0820ffff pref]
pci 0000:01:00.0: BAR 0: assigned [mem 0x08100000-0x08101fff 64bit]
pci 0000:00:00.0: PCI bridge to [bus 01]
pci 0000:00:00.0: bridge window [mem 0x08100000-0x081fffff]
pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
vgaarb: this pci device is not a vga device
vgaarb: this pci device is not a vga device

This is great and all but why is the uboot tweak needed to make PCIe work for the later running system?

Couldnt the kernel do all this itself?

The reason for asking is that we are basing our entire new product line on the same CPU system ( IMX6sx) but most of them dont use PCIe but they all share the same uboot.

Regards and thanks!

Mattias

0 Kudos
3,748 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mattias

build procedure is described in Yocto Guide included in Doc package

http://www.nxp.com/webapp/Download?colCode=L4.1.15_2.0.0-LINUX-DOCS&Parent_nodeId=133769948107170617... 

if issue will persist, please create new thread for build questions

Best regards
igor

0 Kudos
3,748 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mattias

please try bsps from i.MX official software product page

i.MX 6 / i.MX 7 Series Software and Development Tool|NXP 

http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/tree/?h=imx_v2016.03_4.1.15_2.0.0_ga

http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/?id=rel_imx_4.1.15_2.0.0_ga&h=imx_4.1.1...

check PCIe comments in uboot/include/configs/mx6sxsabresd.h

uboot-imx.git - Freescale i.MX u-boot Tree 

for community bsp issues on can post on  meta-fsl-arm mailing list
https://lists.yoctoproject.org/listinfo/meta-freescale

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

0 Kudos