Hello, I hope you are doing well.
This mode is mentioned on device tree (imx8mp-evk-pcie-ep.dts) you could try to load it on U-boot with the next commands.
u-boot=> setenv fdtfile imx8mp-evk-pcie-ep.dtb
u-boot=> saveenv
u-boot=> boot
Best regads.
Hello,
These are the logs with default PCIe configuration.
root@imx8mpevk:~# dmesg | grep pcie
[ 2.474790] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 2.489157] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[ 2.497372] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
[ 2.731113] imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 16G
[ 2.839408] imx6q-pcie 33800000.pcie: PCIe Gen.1 x1 link up
[ 2.947804] imx6q-pcie 33800000.pcie: PCIe Gen.2 x1 link up
[ 2.953400] imx6q-pcie 33800000.pcie: Link up, Gen2
[ 2.958288] imx6q-pcie 33800000.pcie: PCIe Gen.2 x1 link up
[ 2.963972] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[ 3.112749] pcieport 0000:00:00.0: PME: Signaling with IRQ 226
And these after changing the device tree.
root@imx8mpevk:~# dmesg | grep pcie
[ 2.471025] imx6q-pcie 33800000.pcie_ep: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 16G
Best regards.
Thank you for your answer.
After following your instructions to configure the fdtfile, the output is still
[ 2.762409] imx6q-pcie 33800000.pcie: 33800000.pcie supply epdev_on not found, using dummy regulator
[ 2.780653] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!.
[ 2.795671] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
[ 2.827983] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[ 2.836596] imx6q-pcie 33800000.pcie: host bridge /pcie@33800000 ranges:
[ 2.851181] imx6q-pcie 33800000.pcie: No bus range found for /pcie@33800000, using [bus 00-ff]
[ 2.851199] imx6q-pcie 33800000.pcie: IO 0x1ff80000..0x1ff8ffff -> 0x00000000
[ 2.866941] imx6q-pcie 33800000.pcie: MEM 0x18000000..0x1fefffff -> 0x18000000
[ 3.872212] imx6q-pcie 33800000.pcie: Phy link never came up
[ 3.877910] imx6q-pcie 33800000.pcie: failed to initialize host
[ 3.883847] imx6q-pcie 33800000.pcie: unable to add pcie port.Is there any prerequisite work that I haven’t done?
Best regards.
This is my printenv:
baudrate=115200
board_name=OK8MP-C
board_rev=iMX8MP
boot_fit=no
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; elif test ${fastboot_dev} = mmc1 && run loadupdate; then run sdargs; run mmcupdate; else if run loadimage; then run mmcboot; else run netboot; fi; fi; fi;
bootcmd_mfg=run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
bootdelay=1
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc1,115200
emmc_dev=2
eth1addr=ca:e1:01:ca:87:78
ethaddr=ca:e1:01:ca:87:77
ethprime=eth1
fastboot_dev=mmc2
fdt_addr=0x43000000
fdt_file=OK8MP-C.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=43000000
fdtfile=imx8mp-evk-pcie-ep.dtb
image=Image
initrd_addr=0x43800000
initrd_high=0xffffffffffffffff
jh_clk=
jh_mmcboot=setenv fdt_file imx8mp-evk-root.dtb;setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;
jh_netboot=setenv fdt_file imx8mp-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;
kboot=booti
loadaddr=0x40480000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadupdate=mmc dev 1;fatload mmc 1:1 ${loadaddr} config.ini;
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc clk_ignore_unused
mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fit} = yes || test ${boot_fit} = try; then bootm ${loadaddr}; else if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi;
mmcdev=2
mmcpart=1
mmcroot=/dev/mmcblk2p2 rootwait rw
mmcupdate=fatload mmc 1:1 ${loadaddr} kernel/Image;fatload mmc 1:1 ${initrd_addr} ramdisk.img;fatload mmc 1:1 ${fdt_addr} kernel/${fdt_file};booti ${loadaddr} ${initrd_addr} ${fdt_addr};
nandfit_part=yes
netargs=setenv bootargs ${jh_clk} console=${console} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${loadaddr} ${image}; if test ${boot_fit} = yes || test ${boot_fit} = try; then bootm ${loadaddr}; else if ${get_cmd} ${fdt_addr} ${fdt_file}; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi;
script=boot.scr
sd_dev=1
sdargs=setenv bootargs ${jh_clk} console=${console} root=/dev/ram0 rootwait rw
serial#=111c1000ef25d549
soc_type=imx8mp
splashimage=0x50000000
video_hdmi=on
video_lvds=on
video_mipi=on
Environment size: 2820/4092 bytesBest regards.
Hello,
Got it, it seems to be ok.
Your log indicates that it could not initialize PCIe port.
Do you have something connected to the port?
Could you please share me you OS version?
Are you using our EVK right?
Best regards.
Hello, thank you for your response:
My PCIe interface is not connected to any device. The operating system version is Ubuntu 18.04.64, and the kernel version of the development board is Linux 5.4.7.0.
Linux OK8MP 5.4.70-2.3.0-00005-g33a263b968fb #1 SMP PREEMPT Wed Aug 25 15:03:04 HKT 2021 aarch64 aarch64 aarch64 GNU/LinuxRegarding the EVK, I am using an evaluation board from the distributor Forlinx. Their website is: https://www.forlinx.com/product/136.html.
I have previously asked their technical personnel, but they did not give me a precise answer, which is why I am seeking your help.
Best Regard.
Hello,
I apologize for bothering you again. After consulting with the technical personnel, I replaced the device tree file of the current development board. Does the output of the following information indicate that the setup is successful?
root@OK8MP:~# dmesg | grep pcie
[ 2.798222] imx6q-pcie 33800000.pcie_ep: 33800000.pcie_ep supply epdev_on not found, using dummy regulator
[ 2.816995] imx6q-pcie 33800000.pcie_ep: EXT REF_CLK is used!.
[ 2.832404] imx6q-pcie 33800000.pcie_ep: PCIe PHY PLL clock is locked.
[ 2.839005] imx6q-pcie 33800000.pcie_ep: PCIe PLL locked after 0 us.best regards.