EDA365电子论坛网

标题: 飞凌技术贴:i.MX8MQ自制底板无PCIe问题详解 [打印本页]

作者: 飞凌嵌入式    时间: 2022-8-19 17:11
标题: 飞凌技术贴:i.MX8MQ自制底板无PCIe问题详解
在飞凌嵌入式OKMX8MQ-C开发板上有两个PCIe接口,对应着两个PCIe差分时钟,两路PCIe分别用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。

; T. {& W% ?( @# R- }/ b
很多使用FETMX8MQ-C核心板的用户在自制底板时会不做PCIe部分,故而不会焊PCIe的差分时钟,等到使用出厂镜像验证底板时发现会出现无法正常启动的问题。
3 K5 i5 p2 |" n- a, W" Z$ J
今天,小编将总结常见的2种自制底板无PCIe导致的问题及其对应解决办法以供大家参考。
3 n. v, X( {% \- d, r  L' K2 I
. o. P; R- K4 \5 n4 O
1.“使用出厂镜像启动时发现无法正常启动”  }9 s3 b8 ~" B

7 B1 {9 w( m& y/ }+ D3 Z$ R
问题描述——
客户自制底板去掉PCIe烧录出厂镜像,启动时出现的卡死信息:

/ C9 }8 n/ e1 I

' p$ i2 y% R$ U( n
产生原因——
PCIe影响了启动,需要在设备树里把跟PCIe有关的功能关闭。

. n# h: D5 k1 I5 H
解决办法——
修改内核设备树:
viOK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts

" J% @$ |' g" z) [
2 a- n2 ^9 s6 v( J7 ]* S. r
将设备树中的PCIe全部从“okay”改为“disabled”,重新编译。编译后会在
0 |7 r5 T' F* ~& ^: d% d$ V: c  B# |/OK8MQ-linux-sdk/images/boot下生成ok8mq-evk.dtb。
5 d2 b2 s" n0 Z8 m. T, J
完成上述修改后重新编译并用新的镜像进行烧写。正常启动后打印信息如下(红框中是在上述卡住位置向后继续启动的打印信息):

0 p, I7 x. H* k( d

- Z1 R8 U4 Q+ G, m6 Y- N+ ^$ o

8 i+ Z% t8 A/ ]6 p5 E/ M
注意:飞凌目前提供的最小系统方案也是没有设计PCIe的,故用户如果使用了飞凌的最小系统方案,也需要按照上述方法进行修改。
5 D" _8 s. c) z6 R' \* R) S
1 f1 D( d0 \% u' h9 ]4 }
2.“使用TF卡进行烧写时发现烧写一半卡住”
- F: p5 x: }9 y  Q
问题描述——
客户自制底板去掉PCIe,使用TF卡烧写时看到命令行打印信息在下述位置卡住:
* F6 F1 ~9 r* u; [4 ^3 w
4 }8 T9 e0 P* ^0 ~1 N
注意:并不一定就卡在上述位置,但一定在上述打印信息附近,不会太远。
产生原因——
烧写引导镜像中的PCIe的启动影响了烧写,需要替换烧写工具中的内核阶段引导镜像。
$ B+ b+ g0 j: Z* Z/ m
解决办法——
首先按照问题中的方法修改内核设备树并编译。进入“. C% [( }% e- a: R- U# I* k
OK8MQ-linux-sdk/tools/update”路径,可看到该路径下有很多dtb文件:
* `/ {  T7 k- M) F0 N  j

3 ^2 D, S5 Q  y# O% N% ^% Q
用编译生成的“images/boot”路径下的ok8mq-evk.dtb替换掉当前路径下的ok8mq-evk.dtb。
执行编译命令,生成新的烧写工具:
+ N3 Y! Z) W/ S6 d
: u. i: S  x' y, Z. a

" c( u/ g0 g; `9 v7 V' H& ^
使用新生成的update.itb替换掉完成制卡后TF卡中的update.itb,正常进行TF卡烧写。

; F6 v  C2 J: S
进入OK8MQ-linux-sdk/tools/sdfuse路径,可看到新生成的烧写工具update.itb。
注意:
  p+ o. z+ Q! L: o6 J/ |2 y
上述的两个问题就是用户在自制底板去掉PCIe时可能会遇到的两种问题。当然,只设计了一路PCIe的情况也需要注意:
如果自制底板只做了一路PCIe,只焊了一个时钟芯片,也是会影响启动的。那么也需要修改设备树,关闭未做出的那一路PCIe;
如果自制底板只做了一路PCIe,而差分时钟焊的不是与接口对应的,那在命令行用lspci命令查询就会找不到设备。
6 _8 Q1 O3 e/ R3 M4 @
以上就是OKMX8MQ-C平台目前针对底板去掉PCIe存在的问题提出的解决办法,可供大家在设计i.MX8MQ的底板时参考。

' F9 p( q" \4 g6 n- k
作者: elephant_    时间: 2022-8-19 17:24
懂了,启动时要把PCIe有关的功能关闭




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2