Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
S32K314 上使用 DMA 的 UART 功能无法正常工作 你好, 我们目前正在尝试配置 LPUART0 通道以使其与 DMA 配合使用。UART 通道需要以 1Mbps 的比特率工作。 我们目前的 UART 和 DMA 配置如下所示。 MCU 中时钟已启用,缓冲区在不可缓存区域内声明,DMA ISR 的优先级低于 LPUART。 我们的问题是,我们无法看到 RX 缓冲区中的数据,或者数据不完整。 我们的工作流程如下(类似于LIN通信)。 😞 准备接收缓冲区 -> 异步接收 将头部信息发送到从设备 -> AsyncSend 等待下一个周期从从设备接收到数据(我的函数运行时间为 1 毫秒)。 如果我在 AsyncSend 执行后设置断点,我可以看到从设备发送的所有数据都在 RX 缓冲区中。 如果我让它运行,要么什么都没有,要么运行不完整。 我的假设是 DMA 中断稍后发生。 您能否提供一些关于配置中哪里出了问题的线索,或者我接下来应该检查哪些方面? 谢谢! 科斯明 Re: Uart using DMA is not working correct on S32K314 嗨@CosminSbera 1.不要忘记启用DMA请求选项。 2.不要忘记在“平台”组件中启用 LPUART0_IRQn 中断。 “平台”->“LPUART0_IRQn --LPUART_UART_IP_0_IRQHandler“
查看全文
FETMX6ULL-C:LCDとCTPが同時に接続された際のランダムなCTP I2C通信エラー、CTP ハードウェアプラットフォーム:FETMX6ULL-Cコアボード。   CTP接続時はI2Cエラーなしで安定的に動作します。   LCDディスプレイとCTPを同時に接続すると、CTP上でランダムにI2C通信例外が発生し、タッチ機能が時折動作しなくなる。 LCD回路によって発生する電磁干渉が、タッチパネルのI2C信号の不安定化を引き起こしているのではないかと疑っています。   関連するカーネルのdmesgログを分析のために添付します。   当社のソフトウェア環境:Linux 4.1.15BSP。   CTPはI2Cバスを介して通信します。ハードウェアの配線と電源を確認しましたが、問題は依然として解決していません。   技術的なご提案をお待ちしております。
查看全文
T2081プロセッサMT29F64G08AECAB NANDフラッシュへのアクセス こんにちは、 T2081プロセッサを使ってMT29F64G08AECAB NANDフラッシュにアクセスしようとしています。 NANDフラッシュデバイスの総容量は8GBで、CE1(Chip Enable 1)とCE2(Chip Enable 2)はそれぞれCS5とCS6を介してIFCコントローラに接続されています。 CS5はCE1に接続された4GBのNANDフラッシュに使用されます。 CS6はCE2に接続された4GBのNANDフラッシュに使用されます。 このNANDデバイスのXMLフラッシュ構成ファイルは、以下のパスに存在しません。 {CodeWarrior}\PA\bin\plugins\support\Products\ProductData\FPDevices.mwpdb\FP そこで、Flash Programmer for Power Architectureプロセッサ アプリケーションノート(AN4349)という文書を参照して新しいXMLファイルを作成しました。 私には以下の質問があります。 フラッシュプログラマの設定ファイル(.xml)では、NANDフラッシュのサイズを4GB (チップセレクトあたり)に設定すべきでしょうか、それとも8GB (CS5とCS6を合わせたデバイス全体の容量)に設定すべきでしょうか? CS5の4GBサイズのNANDフラッシュ構成に合わせて、T2081QDS_init_core.tclファイルを修正しました。 製造元IDとデバイスIDを読み取るための診断テストを実行すると、コンソールに次のエラーが表示されます。   参考資料として、T2081QDS_init_core.tclファイルとMT29F64G08AECAB.xmlファイルを添付しました。 設定を確認し、 T2081プロセッサを使ってNANDフラッシュデバイスにアクセスする正しい手順を教えていただけますか? よろしくお願いいたします。 ヴィマル。 QorIQ T2デバイス Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor こんにちは、 現在タイムアウトが発生している可能性が最も高い原因は、 TCL のチップセレクトインデックスの誤り、 IFC クロックの初期化不足、 CSOR ページ/ブロックのジオメトリの不一致、タイミングが厳しすぎる、または正しい NAND ID シーケンスを実装していないアルゴリズムを指す XML エントリです。実際のXMLと修正 T2081QDS_init_core.tcl されたCS5/CS6のセクションを共有してくれれば、フィールドを直接確認して値を登録できます。 フラッシュプログラマのターゲット/チップセレクトごとに4GBを使用し、最初にCS5のみを起動して、IDタイムアウトを8GBのXMLサイズの問題としてではなく、IFCの初期化/アルゴリズム/ジオメトリの問題としてデバッグしてください。   よろしくお願いします。 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor こんにちは、 @Bio_TICFSL さん、 ご回答ありがとうございます。 Chip Select 5(CS5)を使って4GBのNANDフラッシュにアクセスしようとしましたが、先ほど述べた問題が依然として解決しています。 参考資料として、 T2081QDS_init_core.tclファイルとテキスト形式のXMLファイルを添付しました。 これらのファイルと設定値をご確認いただき、適切な解決策を教えていただけますか? よろしくお願いいたします。 ヴィマル。 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor こんにちは、   前回の返信について、まだご回答をいただいていないため、改めてご連絡いたします。   MT29F64G08AECAB NANDフラッシュのタイミングパラメータに関して、いくつか疑問があります。添付のデータシート画像にあるタイミング表をご参照ください。 NXP T2081 IFCインターフェースでどのNANDタイミングモードを使うべきでしょうか?   これらのタイミング値から、対応する入力クロックサイクルはどのように導き出されるのでしょうか?   NxP T2081プロセッサからIFC経由でNANDフラッシュ(MT29F64G08AECAB)にアクセスする方法について、アドバイスをいただけますか? よろしくお願いいたします。 ヴィマル。
查看全文
将开发板 PCB 导入 Altium 我们的团队正在使用 S32K148-Q176 评估板 RevB。我们正在设计一个与评估板连接的板,并试图获得该板的模型以帮助我们完成这项工作。从您的网站下载时,文件将保存为 BRD 文件。我们这里使用的是 Altium,所以无法导入该文件。你们的工程团队能否将 .BRD 文件转换为 ASCII .alg 文件?文件,还是 Altium 可以导入的其他文件格式? Re: Getting a Dev Board PCB imported to Altium 嗨@rollypoli 遗憾的是,我没有办法将 Allegro BRD 数据库转换为 Altium 格式。 对于过去类似的请求,我通常建议使用免费的 Cadence Allegro 查看器。Cadence 提供了一个免费的查看器,可以打开 BRD 文件,并允许您直接检查 PCB 数据库。 使用查看器中提供的测量和检查工具,您应该能够准确地确定连接器、安装孔和其他机械特征的位置和间距。通常情况下,这样做足以在您自己的 Altium 设计中复制电路板轮廓和连接器位置,从而使新的 PCB 在机械上与原电路板保持兼容。 您可以从以下网址下载免费的 Cadence 查看器: https://www.cadence.com/en_US/home/tools/pcb-design-and-analysis/allegro-downloads-start.html 虽然这不如拥有原生 Altium 设计文件方便,但对于需要参考 Allegro PCB 布局并在其他 CAD 工具中重新创建相关机械尺寸的客户来说,这种方法效果很好。 此致, Lukas Re: Getting a Dev Board PCB imported to Altium 您能否将其从 .brd 文件转换为 .alg 文件?(ascII) allegro 文件? 我会看看观众。 Re: Getting a Dev Board PCB imported to Altium 抱歉,我没有这样的机会。
查看全文
Touch Controller IC Part Number for iMXEBOOKDC5 Dear Team, I am using the iMXEBOOKDC5 together with the i.MX8ULP EVK. So far, everything is working well. The E-Ink display is functioning correctly, and both the buttons and joystick are operating as expected. I would now like to enable the touch panel on the display. However, I cannot identify the part number of the touch controller IC used on the EPD module because the marking on the IC appears to have been erased by laser marking. I have tried to find the information myself, but without success. Could you please share: The touch controller IC part number used on the iMXEBOOKDC5 display. Any available Linux driver, library, or software package for supporting the touch functionality. Thank you for your help. Best regards, Evaluation Board Re: Touch Controller IC Part Number for iMXEBOOKDC5 Hello, The touch controller IC used is the GT911, manufactured by Goodix Technology. You can take a look into the driver in the next link: https://github.com/nxp-imx/linux-imx/blob/lf-6.18.y/drivers/input/touchscreen/goodix.c Best regards. Re: Touch Controller IC Part Number for iMXEBOOKDC5 Dear, Thanks for your support BTW, can you help to provide the wayform bin file for the e-ink panel? BRs, Ryder
查看全文
Linux QBMan QMan ドライバー safe_copy_dqrr QorIQプロセッサ用のLinux SDKには、ドライバーステージングツリーに qman_high.c が含まれています。これには、コメントで「読み取りが順番通りにQBManに到達することを保証し、//WRAPトランザクションがQBManに認識されないようにする//」と説明されている関数safe_copy_dqrr()が含まれます。 これは、DQRRインデックスラップとは関係なく、AXI WRAPバーストトランザクションのことを指していると思われます。 なぜこの問題が安全にしなければならないのか、誰か説明してもらえますか? よろしくお願いします。 QorIQ LS1デバイス Re: Linux QBMan QMan driver safe_copy_dqrr こんにちは、 はい、そのコメントはおそらくバス/キャッシュラインのWRAPトランザクションに関するものであり、DQRRプロデューサー/コンシューマーインデックスのラッピングに関するものではないと思われます。 「安全」である必要がある理由は、DQRRエントリが通常のRAMではないからです。これはQBManポータル構造であり、その内容はQManによって生成され、CPUキャッシュに隠され、ソフトウェアが VERBバイトの有効なビット を使って消費されます。DPAAマニュアルでは、QManがDQRRエントリを原子的に更新しても、GPPコアの読み取りがエントリのすべてのバイトが同時に変化するのを観測することはできないと記載されています。ソフトウェアは有効なビットを含むVERBバイトがDQRRエントリの他の部分より先に読み込まれることを確実にしなければなりません。 だから safe_copy_dqrr() この危険なパターンを避けようとしているのです: CPU は DQRR エントリをコピーしたい - > コンパイラ / CPU / キャッシュサブシステムがそれをバーストまたはキャッシュラインの充填に変換 します - > トランザクションが QBMan に到達すると WRAP スタイル の リード - > QBMan / インターコネクトがある順序 で ビートを認識 ・ 読み取ることができます論理フィールドの順序 とは異なり - > ソフトウェアは、古いまたはまだ表示されていないエントリデータ に関連する 有効な 動詞 バイトを観察することがあります これは有効なビットが同期点であるため重要です。DQRRエントリスタッシングを有効にすると、ドキュメントは関連するDQRRエントリスタッシュがプロセッサキャッシュに到達する前に更新され、レースが発生する可能性があると明 DQRR.PI 記しています。したがって、ソフトウェアは DQRR.PI ではなく、DQRRエントリ内の有効なビットを使って本番を検出すべきです。有効ビット自体は、リングが最後のエントリからエントリ0に戻るたびに極性が切り替わる交互極性ビットです。   よろしくお願いします。 Re: Linux QBMan QMan driver safe_copy_dqrr ご返信ありがとうございます。 私の理解が正しければ、DQRRスタッシングを無効にすると、キャッシュ無効化とメモリバリアの後にDQRRエントリのCPU読み取りがキャッシュラインの埋め込みを引き起こしますが、DQRRエントリが更新されている間にAXIラップバーストトランザクションで「破れる」ことは可能でしょうか? 私はLS1046A RDBを使っていますが、NXPのマニュアルにはこの挙動に関する記述が見当たりません。どこかに文書化されていますか?この安全コピー機能の正当性を裏付ける根拠を探しています。 DQRRスタッシングが有効になっている場合、QManはDQRRエントリをキャッシュに書き込みます。これも同じ問題に該当するのでしょうか? ご協力ありがとうございました。
查看全文
開発ボードのPCBをAltiumにインポートする 私たちのチームは、S32K148-Q176評価ボードRevBと協力しています。私たちは評価ボードとインターフェースするボードを設計しており、そのモデルを手に入れてその作業を支援しようとしています。ファイルは、お客様のサイトからダウンロードされる際にBRD形式で保存されます。ここではAltiumを使っているので、そのファイルはインポートできません。貴社のエンジニアリングチームは、.BRD ファイルを ASCII .alg 形式に変換できますか?ファイル、あるいはAltiumがインポートできる他のファイル形式ですか? Re: Getting a Dev Board PCB imported to Altium こんにちは、 @rollypoli さん。 残念ながら、Allegro BRDデータベースをAltium形式に変換する方法は持ち合わせていません。 過去に同様の依頼を受けた際には、通常、無料のCadence Allegroビューアの使用をお勧めしてきました。CadenceはBRDファイルを開けることができ、PCBデータベースを直接検査できる無料のビューアを提供しています。 ビューアに搭載されている測定ツールや検査ツールを使用すれば、コネクタ、取り付け穴、その他の機械的部品の位置と間隔を正確に特定できるはずです。これで通常は、自分のAltium設計で基板の輪郭やコネクタ位置を再現し、新しいPCBが元の基板と機械的に互換性を保つことができます。 無料のCadenceビューアは以下からダウンロード可能です: https://www.cadence.com/en_US/home/tools/pcb-design-and-analysis/allegro-downloads-start.html ネイティブのAltium設計ファイルほど便利ではありませんが、Allegro PCBレイアウトを参照し、別のCADツールで関連する機械寸法を再作成する必要があるお客様にはうまく機能しています。 よろしくお願いいたします。 ルーカス Re: Getting a Dev Board PCB imported to Altium .brd ファイルを .alg に変換する機能はありますか?(ascII) アレグロファイル? 私は視聴者を見ます Re: Getting a Dev Board PCB imported to Altium 申し訳ありませんが、そのようなことは私にはできません。
查看全文
KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, I am trying to program the KW45B41Z-EVK using the kw45b41zevk_hello_world SDK example code. When I start debugging, the onboard debugger gets detected, but then I get the following error: 0 Available SWD Devices detected. Connect a device and try again. I have connected the USB cable to J14 and left JP22 open (to program using the onboard debugger itself). Also, JP28 pins 1 and 2 are shorted, as mentioned in the KW45UM. However, even after that, I am unable to program and debug the example. I have also tried the kw45b41zevk_led_blinky SDK example, but it behaves in the same way. I also tried using an external debugger to debug the board by shorting JP22, as mentioned in the KW45UM, but I am getting the same issue. I have attached a screenshot of the issue I am facing. I also tried to erase the flash and write the image using the Secure Provisioning Tool. First, I entered ISP mode by shorting JP25 to enable SW4, then long-pressed SW4 and Reset (SW3). Once the Test Connection passed, I erased the flash (location 0x00000000, size 0x100000) successfully. Then I used the following image: ${SPT_INSTALL_BIN}\data\sample_data\targets\KW45B41Z8\source_images\kw45b41zevk_led_blinky.s19 I was able to build and program the image successfully, and the intended RGB LED1 is also blinking indicating that KW45B41Z microcontroller is working fine. However, even after this, I am still unable to program or debug the board. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, @kaif1  Which IDE are you using?  MCUXpresso IDE or MCUXpresso for VS Code? Let me have a try on my side, then let you know the default jumper settings. Best regards, Christine. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, @kaif1  Please refer to my jumper settings, and I verified on my local side, I can flash hello_world example into the board successfully. And I am using MCUXpresso IDE with SDK 25.12.00. Please have a try with my jumper settings and then let me know whether it works for you . Best regards, Christine.
查看全文
Linux QBMan QMan driver safe_copy_dqrr The Linux SDK for QorIQ processors includes qman_high.c in the driver staging tree. This includes the function safe_copy_dqrr(), which the comments say is ensuring reads reach QBMan in order and //preventing a WRAP transaction to be seen by the QBMan//. I presume this is referring to an AXI WRAP burst transaction, rather than anything to do with the DQRR index wrap. Can anyone explain why this is problem that needs to be made safe? Thanks in advance. QorIQ LS1 Devices Re: Linux QBMan QMan driver safe_copy_dqrr Hello, Yes — the comment is most plausibly about a bus/cache-line WRAP transaction , not the DQRR producer/consumer index wrapping. The reason it needs to be “safe” is that a DQRR entry is not ordinary RAM. It is a QBMan portal structure whose contents are produced by QMan, possibly stashed into the CPU cache, and consumed by software using the valid bit in the VERB byte . The DPAA manuals state that even though QMan updates a DQRR entry atomically, a GPP core’s reads may not observe all bytes of the entry changing at the same time; software must ensure the VERB byte containing the valid bit is loaded before the rest of the DQRR entry. So safe_copy_dqrr() is trying to avoid this unsafe pattern: CPU wants to copy DQRR entry -> compiler/CPU/cache subsystem turns that into a burst or cache-line fill -> transaction reaches QBMan as a WRAP-style read -> QBMan/interconnect may see/read beats in an order different from the logical field order -> software may observe a valid VERB byte associated with stale or not-yet-visible entry data That matters because the valid bit is the synchronization point. With DQRR entry stashing enabled, the documentation specifically warns that DQRR.PI can be updated before the associated DQRR entry stash arrives in the processor cache, creating a race; therefore software should use the valid bit in the DQRR entries, not DQRR.PI , to detect production. The valid bit itself is an alternating-polarity bit that toggles each time the ring wraps from the last entry back to entry 0.   Regards Re: Linux QBMan QMan driver safe_copy_dqrr Thanks for you reply. If I understand correctly, with DQRR stashing disabled the CPU read of a DQRR entry (after a cache invalidation and memory barrier) triggers a cache line fill but this can be "broken" by a AXI wrap burst transaction while the DQRR entry is being updated? I'm using LS1046A RDB and can see no reference to this behaviour in NXP manuals. Is it documented somewhere? I'm looking for a reference to justify this safe copy function. With DQRR stashing enabled, QMan writes the DQRR entry to cache. Is this subject to the same issue? Thanks again for your help.
查看全文
Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Hi, I've been using the LPSPI EDMA transfer API from the SDK (2.16.100) on IMXRT1172 to read and write SPI data simultaneously (i.e. a TX+RX transfer on two DMA channels with two buffers of the same size).  Unfortunately, it appears that the EDMA callback is getting called before the transfer actually finishes.  In the callback, checking LPSPI's SR, FSR, and RSR shows that SPI thinks it's still busy even though DMA thinks it's complete.  I.e. MBF is still set and TXCOUNT is 1. SR = 0x01000100 (MBF, WCF) FSR TXCOUNT = 1, RXCOUNT = 0 RSR = 0x00000002 (RXEMPTY, !SOF) Now, if I was only doing TX, this could somewhat make sense as the SPI peripheral could still be clocking out the last byte loaded from DMA.  So in that case the DMA peripheral would actually be finished loading the last byte from RAM into the SPI data TX register, but SPI still had work to do to send it out. However, when doing TX and RX simultaneously, I would have expected that if TXCOUNT was 1, then so would RXCOUNT be.  I.e. the DMA shouldn't be complete with RX until all the TX data is clocked out because the last byte needs to be transferred by DMA into RAM from the SPI RX data register, and this would only happen on the last clock cycle of the transfer. Is this actually a problem? If so, is it with the SDK?  Or with the hardware IP? I was hoping to be able to check LPSPI SR in the DMA callback to determine if there are any SPI errors. Thanks, -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Hi @nxp16 , Thank you so much for your interest in our products and for using our community. DMA completion and SPI bus completion are two different concepts. The eDMA callback indicates that the DMA engine has completed moving the configured number of bytes between memory and the LPSPI FIFO/register path. It does not necessarily mean that the LPSPI bus state machine has already completed the last frame or returned to idle. For LPSPI bus completion, please check SR[TCF] or wait for SR[MBF] to clear. Wish it helps you Best Regards May Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Yes, but in a TX/RX transfer, I would have expected the TX_COUNT and RX_COUNT to both be zero when DMA completes.  I.e., it should be impossible for RX DMA to complete before the last SPI clock, because the SPI peripheral wouldn't have shifted the last bit of the data into the RX FIFO until then, and DMA would not be able to copy the last byte into RAM until the last bit is shifted into the RX FIFO.  So in that case, both TX and RX should be completed before the DMA completes.  If it was only a TX transfer then yes, DMA could complete before SPI does and TX_COUNT could still be 1. Thanks, -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Hi @Mike_M3 , Thanks for your feedback. Your point is valid for the RX data path: once the RX EDMA channel has completed, the expected RX data has already been moved to RAM. However, this is still not the same as LPSPI bus completion. TXCOUNT/RXCOUNT are FIFO occupancy indicators. RXCOUNT=0 means the RX FIFO has been drained by DMA, while TXCOUNT=1 can still indicate one pending entry in the transmit/command FIFO. In LPSPI, the transmit FIFO is also used for command/TCR entries, so TXCOUNT is not simply a mirror of RX completion. MBF=1 indicates that the LPSPI bus state machine has not yet fully returned to idle. Therefore, I would not use TXCOUNT/RXCOUNT equality as the transfer-complete condition. For the LPSPI bus-complete condition, please use SR[TCF]=1 or SR[MBF]=0 instead. If an interrupt-based indication is preferred, enable kLPSPI_TransferCompleteInterruptEnable and keep the EDMA callback as the DMA-complete indication only. Best Regards May
查看全文
使用 IMXRT1172 LPSPI EDMA 传输 API 时,DMA IRQ 处理程序在 SPI 传输完成之前被调用。 您好, 我一直在使用 IMXRT1172 上的 SDK (2.16.100) 中的 LPSPI EDMA 传输 API 同时读取和写入 SPI 数据(即在两个大小相同的缓冲区的两个 DMA 通道上进行 TX+RX 传输)。不幸的是,EDMA 回调似乎在传输实际完成之前就被调用了。在回调中,检查 LPSPI 的 SR、FSR 和 RSR 显示,即使 DMA 认为它已完成,SPI 仍然认为它很忙。IEMBF 仍然已设置,TXCOUNT 为 1。 SR = 0x01000100(MBF、WCF) FSR TXCOUNT = 1,RXCOUNT = 0 RSR = 0x00000002 (RXEMPTY, !SOF) 如果我只执行 TX 操作,这在某种程度上是有意义的,因为 SPI 外设可能仍然会输出从 DMA 加载的最后一个字节。因此,在这种情况下,DMA 外设实际上已经完成了将最后一个字节从 RAM 加载到 SPI 数据 TX 寄存器,但 SPI 仍然需要做一些工作才能将其发送出去。 但是,当同时执行 TX 和 RX 时,我原本预期如果 TXCOUNT 为 1,那么 RXCOUNT 也应该为 1。也就是说,在所有 TX 数据时钟输出完毕之前,DMA 不应该完成 RX,因为最后一个字节需要通过 DMA 从 SPI RX 数据寄存器传输到 RAM 中,而这只会在传输的最后一个时钟周期发生。 这真的是个问题吗? 如果是这样,是用SDK实现的吗?还是用硬件IP实现的? 我希望能够在 DMA 回调中检查 LPSPI SR,以确定是否存在任何 SPI 错误。 谢谢! -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 嗨@nxp16 , 非常感谢您对我们产品的关注以及对我们社区的使用。 DMA 完成和 SPI 总线完成是两个不同的概念。 eDMA 回调表明 DMA 引擎已完成在内存和 LPSPI FIFO/寄存器路径之间移动配置的字节数。这并不一定意味着 LPSPI 总线状态机已经完成最后一帧或返回空闲状态。 对于 LPSPI 总线完成情况,请检查 SR[TCF] 或等待 SR[MBF] 清除。 希望对你有帮助 顺祝商祺! 5月 Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 是的,但在 TX/RX 传输中,我预期 DMA 完成后 TX_COUNT 和 RX_COUNT 都应为零。也就是说,RX DMA 不可能在最后一个 SPI 时钟之前完成,因为 SPI 外设要到那时才会将数据的最后一位移入 RX FIFO,而 DMA 要到最后一位移入 RX FIFO 后才能将最后一个字节复制到 RAM 中。因此,在这种情况下,TX 和 RX 都应该在 DMA 完成之前完成。如果只是 TX 传输,那么是的,DMA 可能在 SPI 完成之前完成,TX_COUNT 仍然可能为 1。 谢谢! -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 嗨@Mike_M3 , 感谢您的反馈。 你的观点对于 RX 数据路径是有效的:一旦 RX EDMA 通道完成,预期的 RX 数据就已经被移动到 RAM 中。然而,这仍然与 LPSPI 总线完成不同。 TXCOUNT/RXCOUNT 是先进先出 (FIFO) 占用指示符。RXCOUNT=0 表示 RX FIFO 已被 DMA 清空,而 TXCOUNT=1 可能仍然表示发送/命令 FIFO 中有一个待处理的条目。在 LPSPI 中,发送 FIFO 也用于命令/TCR 条目,因此 TXCOUNT 不仅仅是 RX 完成的镜像。MBF=1 表示 LPSPI 总线状态机尚未完全恢复到空闲状态。 因此,我不会使用 TXCOUNT/RXCOUNT 相等作为转账完成的条件。对于 LPSPI 总线完成条件,请改用 SR[TCF]=1 或 SR[MBF]=0。如果更倾向于基于中断的指示,请启用 kLPSPI_TransferCompleteInterruptEnable,并将 EDMA 回调仅保留为 DMA 完成指示。 顺祝商祺! 5月
查看全文
KW45B41Z EVK 无法通过板载调试器 MCU Link 进行编程。 你好, 我正在尝试使用kw45b41zevk_hello_world SDK 示例代码对KW45B41Z-EVK进行编程。开始调试时,板载调试器被检测到,但随后出现以下错误: 未检测到可用短波除尘设备。 连接设备后再试一次。 我已将 USB 电缆连接到J14 ,并将JP22 保持开路状态(以便使用板载调试器本身进行编程)。此外,如KW45UM中所述, JP28 引脚 1 和 2 短路了。然而,即使那样,我仍然无法对示例进行编程和调试。 我也尝试过kw45b41zevk_led_blinky SDK 示例,但它的表现也一样。 我还尝试使用外部调试器通过短接JP22来调试电路板,正如KW45UM中所述,但我遇到了同样的问题。 我附上了遇到的问题的截图。 我还尝试使用安全配置工具擦除闪存并写入映像。首先,我短接JP25以启用SW4 ,进入 ISP 模式,然后长按SW4和RESET (SW3) 。测试连接通过后,我成功擦除了闪存(位置0x00000000 ,大小0x100000 )。然后我使用了以下图片: ${SPT_INSTALL_BIN} \data\sample_data\targets\KW45B41Z8\source_images\kw45b41zevk_led_blinky.s19 我已经成功构建并编程了图像,并且预期的RGB LED1也闪烁,表明 KW45B41Z 微控制器工作正常。然而,即使这样,我仍然无法对电路板进行编程或调试。 Re: KW45B41Z EVK not programming over on board Debugger MCU Link. 你好, @kaif1 你使用的是哪个集成开发环境(IDE)? MCUXpresso IDE 还是 MCUXpresso for VS Code? 让我先试一下,然后告诉你默认的跳线设置。 顺祝商祺! Christine。 Re: KW45B41Z EVK not programming over on board Debugger MCU Link. 你好, @kaif1 请参考我的跳线设置,我在本地验证过,可以成功地将 hello_world 示例烧录到板上。 我使用的是 MCUXpresso IDE,SDK 版本为 25.12.00。 请尝试一下我的跳线设置,然后告诉我是否有效。 顺祝商祺! Christine。
查看全文
Linux QBMan QMan 驱动程序 safe_copy_dqrr QorIQ 处理器的 Linux SDK 在驱动程序暂存树中包含qman_high.c 。这包括 safe_copy_dqrr() 函数,注释中说该函数确保读取操作按顺序到达 QBMan ,并且//防止 QBMan 看到 WRAP 事务//。 我推测这里指的是 AXI WRAP 突发事务,而不是与 DQRR 索引回绕有关的任何事情。 谁能解释一下为什么这是一个需要解决的安全问题? 提前致谢。 QorIQ LS1设备 Re: Linux QBMan QMan driver safe_copy_dqrr 你好, 是的——该评论很可能与总线/缓存线 WRAP 事务有关,而不是与 DQRR 生产者/消费者索引包装有关。 之所以需要“安全”,是因为 DQRR 条目不是普通的 RAM。这是一个 QBMan 门户结构,其内容由 QMan 生成,可能存储在 CPU 缓存中,并由使用VERB 字节中有效位的软件使用。DPAA 手册指出,即使 QMan 以原子方式更新 DQRR 条目,GPP 核心的读取操作也可能无法同时观察到条目的所有字节发生变化;软件必须确保包含有效位的 VERB 字节在加载 DQRR 条目的其余部分之前加载。 所以 safe_copy_dqrr() 试图避免这种不安全的模式: CPU 想要复制 DQRR 条目 编译 器 / CPU / 缓存子系统将其转换为突发或 缓存 行填充。 - > 事务 以 WRAP 样式 读取的方式到达 QBMan - > QBMan / 互连可能 以 与 逻辑字段顺序不同的顺序看到 / 读取节拍。 软件 可能会观察到 与 过期或 尚未 可见 的 条目数据关联的有效 VERB 字节 。 这很重要,因为有效位是同步点。启用 DQRR 条目暂存后,文档特别警告说, DQRR.PI 可以在关联的 DQRR 条目暂存到达处理器缓存之前更新,从而造成竞争;因此,软件应该使用 DQRR 条目中的有效位,而不是 DQRR.PI 来检测生产。有效位本身是一个交替极性位,每次环从最后一个条目回绕到条目 0 时,该位都会翻转。   此致 Re: Linux QBMan QMan driver safe_copy_dqrr 谢谢你的回复。 如果我理解正确,禁用 DQRR 暂存后,CPU 读取 DQRR 条目(在缓存失效和内存屏障之后)会发出触发信号,使缓存行填充,但当 DQRR 条目正在更新时,AXI 回绕突发事务可能会“破坏”这一过程? 我正在使用 LS1046A RDB,但在 NXP 手册中找不到任何关于这种行为的参考,引用。有相关记录吗?我正在寻找参考,引用来证明这个安全复制功能的合理性。 启用 DQRR 缓存后,QMan 会将 DQRR 条目写入缓存。这个问题是否也存在? 再次感谢您的帮助。
查看全文
访问T2081处理器上的MT29F64G08AECAB 与非闪存 您好, 我正在尝试使用T2081 处理器访问MT29F64G08AECAB NAND Flash 。 与非闪存设备的总容量为8 GB,CE1(芯片使能 1)和CE2(芯片使能 2)分别通过CS5和CS6连接到IFC 控制器。 CS5用于连接到CE1 的4 GB 与非闪存。 CS6用于连接到CE2 的4 GB 与非 Flash。 此与非设备的XML闪存配置文件不在以下路径中: {CodeWarrior}\PA\bin\plugins\support\Products\ProductData\FPDevices.mwpdb\FP 因此,我参考文档《 Power Architecture Processors Flash Programmer 应用笔记》(AN4349)创建了一个新的 XML 文件。 我有以下几个问题: 对于 Flash Programmer 配置文件 (.xml),我应该将 与非 Flash 大小配置为4 GB (每个片选)还是8 GB (CS5 和 CS6 之间的设备总容量)? 我根据CS5上4 GB容量的 与非 Flash 配置修改了 T2081QDS_init_core.tcl 文件。 运行诊断测试以读取制造商 ID和设备 ID时,我在控制台中遇到以下错误。   我已附上 T2081QDS_init_core.tcl 和 MT29F64G08AECAB.xml 文件供您参考。 请您审核配置,并提供使用T2081 处理器访问 与非 闪存设备的正确步骤? 此致, 维马尔。 QorIQ T2 设备 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor 你好, 当前超时的最可能原因是: TCL 中的片选索引错误、 IFC 时钟未初始化、 CSOR 页/块几何不匹配、时序过于激进,或者XML 条目指向的算法没有实现正确的 NAND ID 序列。如果您能分享实际的 XML 和修改后的 T2081QDS_init_core.tcl CS5/CS6 部分,我可以直接检查字段和寄存器值。 每个 Flash Programmer 目标/片选使用 4 GB,首先单独启动 CS5,并将 ID 超时作为 IFC 初始化/算法/几何问题进行调试,而不是作为 8 GB XML 大小问题。   此致 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor 你好@Bio_TICFSL , 谢谢你的回复。 我们尝试使用芯片选择 5 (CS5) 来访问 4 GB 与非闪存,但我们仍然面临之前提到的相同问题。 我已将T2081QDS_init_core.tcl文件和xml文件以文本格式附上,供您参考。 请您查看这些文件和配置值,并提供相应的解决方案? 此致, 维马尔。 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor 您好,   我尚未收到回复,因此在此跟进我之前的回复。   我对MT29F64G08AECAB 与非 Flash 的时序参数有一些疑问。请参考附件数据表图片中的时序表。 NXP T2081 IFC 接口应该使用哪种与非时序模式?   如何根据这些时序值得出相应的输入时钟周期?   请问如何通过 IFC 从 NxP T2081 处理器访问与非闪存 (MT29F64G08AECAB)? 此致, 维马尔。
查看全文
Uart using DMA is not working correct on S32K314 Hello,  We are currently trying to configure LPUART0 channel to work with DMA. The uart channel need to be working at a bitrate of 1Mbps. Our current configuration for UART and DMA looks like this.  The clock is enable in MCU, the buffers are declared inside a non cacheable area , the DMA ISR priority is smaller than the LPUART. Our problem is that we are not able to see the data inside the RX buffer or is incomplete.  Our workflow is like this (similar to LIN communication 😞 prepare rx buffer -> AsyncReceive send the header to the slave -> AsyncSend wait until the data from the slave is received in the next cycle (my function runs in a 1ms task) If I put a break point after AsyncSend is executed I can see all the data send from slave inside the RX buffer. If I let it run there is nothing there or is incomplete. My assumption is that the DMA interrupt comes later.  Could you give us some hints on what is wrong inside our configuration or what I could check next? Thank you! Cosmin Re: Uart using DMA is not working correct on S32K314 Hi@CosminSbera 1.Don't forget to enable DMA Request Option. 2.Don't forget to enable the LPUART0_IRQn interrupt in the "Platform" component. "Platform"->"LPUART0_IRQn --LPUART_UART_IP_0_IRQHandler“
查看全文
i.MX93处理器并行编程系统 我正在使用imx93处理器,需要同时对两块板子进行编程。但是每当我尝试这样做时,其中一个板子会出现HID(W)错误,而其他板子的刷写则成功完成。 uu.exe -m 1:10 -b uuu-xxxxxx.flash uu.exe -m 1:7 -b uuu-xxxxxx.flash 即使我指定路径(1:10,1:7),也会出现同样的错误。 请指导。 Re: Parallel Programming System for i.MX93 Processors 你好, 请尝试运行以下命令: uuu -d -m 1:7 -m 1:10 uuu-xxxxxx.flash 你能得到什么? uuu -lsusb 请确保您使用的端口与枚举结果一致。 顺祝商祺!
查看全文
KW45B41Z EVKが搭載デバッガーMCUリンクでプログラムされていないこと。 こんにちは、 kw45b41zevk_hello_world SDKのサンプルコードを使ってKW45B41Z-EVKをプログラムしようとしています。デバッグを開始すると、オンボードデバッガーは検出されますが、その後、次のエラーが発生します。 検出された利用可能なSWDデバイスは0個です。 デバイスを接続して、もう一度お試しください。 USBケーブルは J14 に接続し、 JP22はオン ボードデバッガでプログラムするために開いたままにしています。また、 KW45UMで述べられているように、 JP28のピン1と2は短絡されています。しかし、その後もサンプルプログラムをプログラミングしたりデバッグしたりすることができません。 kw45b41zevk_led_blinky SDKの例も試しましたが、同じように動作します。 KW45UMで説明されているように、外部デバッガを使用してJP22をショートさせてボードのデバッグも試みましたが、同じ問題が発生します。 発生している問題のスクリーンショットを添付しました。 セキュアプロビジョニングツールを使用して、フラッシュメモリを消去してイメージを書き込むことも試しました。まず、 JP25をショートさせてSW4を有効にし、次にSW4とリセット(SW3)を長押ししてISPモードに入りました。接続テストが成功した後、フラッシュメモリ(位置0x00000000 、サイズ0x100000 )の消去に成功しました。次に、以下の画像を使用しました。 ${SPT_INSTALL_BIN} \data\sample_data\targets\KW45B41Z8\source_images\kw45b41zevk_led_blinky.s19 画像の構築とプログラムは無事にでき、意図した RGB LED1 も点滅しており、KW45B41Z マイクロコントローラが正常に動作していることを示しています。しかし、それでもなお、基板のプログラミングやデバッグができません。 Re: KW45B41Z EVK not programming over on board Debugger MCU Link. こんにちは、 @kaif1 どのIDEを使っていますか? MCUXpresso IDEまたはMCUXpresso for VS Code? 私の方で試してみて、デフォルトのジャンパー設定をお知らせします。 よろしくお願いいたします。 Christine。 Re: KW45B41Z EVK not programming over on board Debugger MCU Link. こんにちは、 @kaif1 ジャンパーの設定を参照してください。ローカル側で確認済みで、hello_world例をボードに正常にフラッシュできます。 そして、MCUXpresso IDEとSDK 25.12.00を使っています。 私のジャンパー設定を試してみて、うまくいくかどうか教えてください。 よろしくお願いいたします。 Christine。
查看全文
IMXRT1172 LPSPI with EDMA random intermittent SPI SR = REF error Hi, When using the LPSPI EDMA transfer API, sometimes when my callback is called from the SDK (when EDMA is complete), if I look at the LPSPI SR register, about one in 5-10 times it has the REF bit set (Read error flag / overflow).  My SPI clock is running at 500Khz.  I'm not really sure why I'm  getting this SPI RX overflow as the SPI clock is nowhere near fast enough to cause DMA to not be able to keep up.  Is there any way I can troubleshoot this and has anyone else seen this problem?  The data always looks correct even when I get the overflow (I zero my buffer between each transfer, so I know it's not old stale data I'm looking at).  I'm doing simultaneous TX/RX using the transfer API, and doing the transfer every 4ms.  There shouldn't be any issues with timing. Thanks, -m Re: IMXRT1172 LPSPI with EDMA random intermittent SPI SR = REF error Hi @nxp16 , Thank you so much for your interest in our products and for using our community. SR[REF] indicates a receive FIFO overflow. If this flag is really set during a transfer, the recommended recovery is to stop the transfer, empty the RX FIFO, clear REF, and restart the transfer. However, at 500 kHz, this does not look like a normal DMA bandwidth issue, assuming the RX EDMA channel is already prepared/enabled before the SPI clocks start. Since the received data is still correct, I suggest first check whether REF is a stale flag or is being set by the transfer start/stop sequence. For troubleshooting, please try the below: 1. Clear SR[REF] before starting each new transfer. 2. Make sure RX DMA is enabled before TX starts generating clocks. 3. Check whether LPSPI is disabled/re-enabled between transfers. If yes, apply the applicable errata workaround: clear REF after enabling LPSPI, or reset LPSPI before re-enabling. Wish it helps you Best Regards May Re: IMXRT1172 LPSPI with EDMA random intermittent SPI SR = REF error The errata mentions two workarounds, clearing the bit in SR, and resetting the peripheral.  Unfortunately, the errata seems to be incorrect about the first one as the SDK already does that and it doesn't workaround the problem.  Unfortunately, for me, resetting the peripheral is not an option as I would have to reconfigure everything afterward (it clears ALL registers).  For now, I'm going to assume that if DMA completed successfully and we get a REF error, then it's a false error and I'll just ignore it. Thanks, -m Re: IMXRT1172 LPSPI with EDMA random intermittent SPI SR = REF error Unfortunately, the SDK is disabling and enabling the LPSPI peripheral between transfers and I have no control over that. Thanks, -m Re: IMXRT1172 LPSPI with EDMA random intermittent SPI SR = REF error Hi @Mike_M3 ,  Please check whether LPSPI is disabled and re-enabled between transfers. If yes, avoiding this sequence would be preferable. If disable/re-enable is required, please follow the documented workaround. After clearing REF, please verify the RX FIFO state and the received data before starting the next transfer, and log/count this condition for further debug. Best Regards, May Re: IMXRT1172 LPSPI with EDMA random intermittent SPI SR = REF error Thanks for the update. The SDK may disable/re-enable LPSPI internally, but the application should still ensure that the previous LPSPI bus transfer has completed before starting the next transfer. The EDMA callback only indicates DMA completion. If the next transfer is started immediately from the EDMA callback while SR[MBF] is still set or SR[TCF] is not set, the SDK may enter the next transfer setup while LPSPI is not fully idle. Please wait for SR[TCF]=1 or SR[MBF]=0 before submitting the next LPSPI EDMA transfer. 
查看全文
RMII 中 imx93 和 eqos 出现 DMA 错误 我正在尝试让以太网与连接到 eqos 的 LAN8742A PHY 配合使用,采用 RMII 模式。 我以 imx93-11x11-frdm.dts 为基础,并进行了以下更改: &iomuxc { pinctrl_eqos: eqosgrp { fsl,pins = < MX93_PAD_ENET1_MDC__ENET_QOS_MDC 0x57e /* OK */ MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO 0x57e /* OK */ MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0 0x57e /* OK */ MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1 0x57e /* OK */ /* MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2 0x57e MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3 0x57e */ MX93_PAD_ENET1_RXC__ENET_QOS_RX_ER 0x51e /* OK */ /* MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x51e */ MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x57e /* OK */ MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0 0x57e /* OK */ MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1 0x57e /* OK */ /* refclock for Eth phy */ MX93_PAD_ENET1_TD2__CCM_ENET_QOS_CLOCK_GENERATE_REF_CLK 0x57e /* OK */ /* MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2 0x57e MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3 0x57e */ /* MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x5fe */ MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x0000051e /* OK */ /* MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x57e */ >; }; &eqos { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_eqos>; phy-mode = "rmii"; phy-handle = <&ethphy1>; status = "okay"; /delete-property/ assigned-clocks; /delete-property/ assigned-clock-rates; assigned-clocks = <&clk IMX93_CLK_ENET_TIMER2>, <&clk IMX93_CLK_ENET>; assigned-clock-rates = <100000000>, <50000000>; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; clock-frequency = <5000000>; ethphy1: ethernet-phy@0 { reg = <0>; eee-broken-1000tx; post-power-on-delay-ms = <100>; reset-gpios = <&pcal6524 19 GPIO_ACTIVE_LOW>; reset-assert-us = <15000>; reset-deassert-us = <100000>; }; }; }; U-Boot 中的结果是: u-boot=> bootp EQOS_DMA_MODE_SWR stuckFAILED: -110 u-boot=> Linux 系统中的结果为: [ 11.484536] imx-dwmac 428a0000.ethernet: Failed to reset the dma [ 11.490536] imx-dwmac 428a0000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed [ 11.499228] imx-dwmac 428a0000.ethernet eth0: __stmmac_open: Hw setup failed 我不明白我哪里做错了,哪里配置错误了,或者为什么DMA无法正确初始化。很明显我漏掉了一些东西(DMA 错误看起来像是芯片内部的错误,所以即使引脚复用出现错误,我认为也不会出现这种情况,而且我已经仔细检查过引脚复用了)。 我检查过的项目: 时钟信号已正确发送至PHY。 与mdio上的PHY通信正常 任何提示都将不胜感激。 顺祝商祺! 朱利安 Re: DMA Error with imx93 and eqos in RMII uboot 中的 RESET 设置正确。我可以看到 PHY 芯片工作正常(LED 灯亮着),并且可以与它通信,但我仍然会收到 DMA 错误。 我尝试通过 u-boot 中的复位引脚手动禁用和重新启用 PHY,但这并没有任何改变。 以下是 dmesg 的完整日志: [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050] [ 0.000000] Linux version 6.6.36 ([email protected]@UC155-BE2) (aarch64-sprinte450sp-linux-gnu-gcc.br_real (Buildroot 2026.05-2-gf0cfb0f3cf-dirty) 14.3.0, GNU ld (GNU Binutils) 2.45.1) #4 SMP PREEMPT Thu Jul 23 17:04:50 CEST 2026 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: Sprinte 450SP board [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created CMA memory pool at 0x00000000b0000000, size 256 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x00000000b0000000..0x00000000bfffffff (262144 KiB) map reusable linux,cma [ 0.000000] earlycon: lpuart32 at MMIO32 0x0000000044380000 (options '') [ 0.000000] printk: bootconsole [lpuart32] enabled [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] NUMA: NODE_DATA [mem 0xafdcf6c0-0xafdd1fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff] [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.4 [ 0.000000] percpu: Embedded 22 pages/cpu s50600 r8192 d31320 u90112 [ 0.000000] pcpu-alloc: s50600 r8192 d31320 u90112 alloc=22*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: Virtualization Host Extensions [ 0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 1286807, 2441009 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: console=ttyLP0,115200 earlycon root=/dev/mmcblk1p2 rootwait rw [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048 [ 0.000000] Policy zone: DMA [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 2. [ 0.000000] software IO TLB: mapped [mem 0x00000000aac00000-0x00000000aec00000] (64MB) [ 0.000000] Memory: 666980K/1048576K available (20608K kernel code, 1638K rwdata, 7744K rodata, 1984K init, 643K bss, 119452K reserved, 262144K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 960 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GICv3: GICv3 features: 16 PPIs [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000048040000 [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.008305] Console: colour dummy device 80x25 [ 0.012529] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000) [ 0.022711] pid_max: default: 32768 minimum: 301 [ 0.027347] LSM: initializing lsm=capability,integrity [ 0.032485] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.039785] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.048237] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.054656] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1. [ 0.061512] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1. [ 0.069127] rcu: Hierarchical SRCU implementation. [ 0.073752] rcu: Max phase no-delay instances is 1000. [ 0.079653] EFI services will not be available. [ 0.084098] smp: Bringing up secondary CPUs ... [ 0.088812] Detected VIPT I-cache on CPU1 [ 0.088870] GICv3: CPU1: found redistributor 100 region 0:0x0000000048060000 [ 0.088904] CPU1: Booted secondary processor 0x0000000100 [0x412fd050] [ 0.089007] smp: Brought up 1 node, 2 CPUs [ 0.110357] SMP: Total of 2 processors activated. [ 0.115028] CPU features: detected: 32-bit EL0 Support [ 0.120154] CPU features: detected: 32-bit EL1 Support [ 0.125257] CPU features: detected: Data cache clean to the PoU not required for I/D coherence [ 0.133840] CPU features: detected: Common not Private translations [ 0.140073] CPU features: detected: CRC32 instructions [ 0.145196] CPU features: detected: RCpc load-acquire (LDAPR) [ 0.150906] CPU features: detected: LSE atomic instructions [ 0.156453] CPU features: detected: Privileged Access Never [ 0.161998] CPU features: detected: RAS Extension Support [ 0.167374] CPU features: detected: Speculative Store Bypassing Safe (SSBS) [ 0.174355] CPU: All CPU(s) started at EL2 [ 0.178380] alternatives: applying system-wide alternatives [ 0.187922] devtmpfs: initialized [ 0.194925] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.204430] futex hash table entries: 512 (order: 3, 32768 bytes, linear) [ 0.216607] pinctrl core: initialized pinctrl subsystem [ 0.223019] DMI not present or invalid. [ 0.227066] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.233367] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations [ 0.240250] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.247941] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.255804] audit: initializing netlink subsys (disabled) [ 0.261291] audit: type=2000 audit(0.172:1): state=initialized audit_enabled=0 res=1 [ 0.261671] thermal_sys: Registered thermal governor 'step_wise' [ 0.268851] thermal_sys: Registered thermal governor 'power_allocator' [ 0.274855] cpuidle: using governor menu [ 0.285411] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.292025] ASID allocator initialised with 65536 entries [ 0.297950] Serial: AMBA PL011 UART driver [ 0.301832] imx mu driver is registered. [ 0.305685] imx rpmsg driver is registered. [ 0.314130] imx93-pinctrl 443c0000.pinctrl: initialized IMX pinctrl driver [ 0.326962] Modules: 24576 pages in range for non-PLT usage [ 0.326973] Modules: 516096 pages in range for PLT usage [ 0.333009] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.344824] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.351063] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.357821] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.364062] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.370821] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.377062] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.383821] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.391518] ACPI: Interpreter disabled. [ 0.395792] iommu: Default domain type: Translated [ 0.400360] iommu: DMA domain TLB invalidation policy: strict mode [ 0.406743] SCSI subsystem initialized [ 0.410355] libata version 3.00 loaded. [ 0.410523] usbcore: registered new interface driver usbfs [ 0.415761] usbcore: registered new interface driver hub [ 0.421054] usbcore: registered new device driver usb [ 0.426646] mc: Linux media interface: v0.10 [ 0.430689] videodev: Linux video capture interface: v2.00 [ 0.436154] pps_core: LinuxPPS API ver. 1 registered [ 0.441049] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 0.450155] PTP clock support registered [ 0.454144] EDAC MC: Ver: 3.0.0 [ 0.457601] scmi_core: SCMI protocol bus registered [ 0.462617] FPGA manager framework [ 0.465811] Advanced Linux Sound Architecture Driver Initialized. [ 0.472369] Bluetooth: Core ver 2.22 [ 0.475701] NET: Registered PF_BLUETOOTH protocol family [ 0.480981] Bluetooth: HCI device and connection manager initialized [ 0.487298] Bluetooth: HCI socket layer initialized [ 0.492148] Bluetooth: L2CAP socket layer initialized [ 0.497182] Bluetooth: SCO socket layer initialized [ 0.502337] vgaarb: loaded [ 0.505250] clocksource: Switched to clocksource arch_sys_counter [ 0.511308] VFS: Disk quotas dquot_6.6.0 [ 0.515015] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.521961] pnp: PnP ACPI: disabled [ 0.530265] NET: Registered PF_INET protocol family [ 0.535027] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.542962] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) [ 0.551110] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.558774] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.566509] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear) [ 0.573930] TCP: Hash tables configured (established 8192 bind 8192) [ 0.580120] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.586625] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.593729] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.599609] RPC: Registered named UNIX socket transport module. [ 0.605277] RPC: Registered udp transport module. [ 0.609945] RPC: Registered tcp transport module. [ 0.614624] RPC: Registered tcp-with-tls transport module. [ 0.620084] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.627260] PCI: CLS 0 bytes, default 64 [ 0.631165] kvm [1]: IPA Size Limit: 40 bits [ 0.635194] kvm [1]: GICv3: no GICV resource entry [ 0.639942] kvm [1]: disabling GICv2 emulation [ 0.644371] kvm [1]: GIC system register CPU interface enabled [ 0.650191] kvm [1]: vgic interrupt IRQ9 [ 0.654088] kvm [1]: VHE mode initialized successfully [ 0.660051] Initialise system trusted keyrings [ 0.664421] workingset: timestamp_bits=42 max_order=18 bucket_order=0 [ 0.670898] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.676710] NFS: Registering the id_resolver key type [ 0.681531] Key type id_resolver registered [ 0.685658] Key type id_legacy registered [ 0.689659] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.696326] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.703831] 9p: Installing v9fs 9p2000 file system support [ 0.734526] Key type asymmetric registered [ 0.738370] Asymmetric key parser 'x509' registered [ 0.743258] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) [ 0.750590] io scheduler mq-deadline registered [ 0.755095] io scheduler kyber registered [ 0.759113] io scheduler bfq registered [ 0.766447] EINJ: ACPI disabled. [ 0.773498] Bus freq driver module loaded [ 0.782271] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.790543] 44380000.serial: ttyLP0 at MMIO 0x44380010 (irq = 17, base_baud = 1500000) is a FSL_LPUART [ 0.799853] printk: console [ttyLP0] enabled [ 0.808289] printk: bootconsole [lpuart32] disabled [ 0.827377] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 0.835386] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 0.844862] imx93-ldb ldb-display-controller: Failed to create device link (0x180) with 4ae30000.lcd-controller [ 0.858799] loop: module loaded [ 0.863014] megasas: 07.725.01.00-rc1 [ 0.870948] tun: Universal TUN/TAP device driver, 1.6 [ 0.876567] thunder_xcv, ver 1.0 [ 0.879836] thunder_bgx, ver 1.0 [ 0.883080] nicpf, ver 1.0 [ 0.886825] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version [ 0.894055] hns3: Copyright (c) 2017 Huawei Corporation. [ 0.899390] hclge is initializing [ 0.902728] e1000: Intel(R) PRO/1000 Network Driver [ 0.907598] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 0.913354] e1000e: Intel(R) PRO/1000 Network Driver [ 0.918310] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 0.924238] igb: Intel(R) Gigabit Ethernet Network Driver [ 0.929635] igb: Copyright (c) 2007-2014 Intel Corporation. [ 0.935216] igbvf: Intel(R) Gigabit Virtual Function Network Driver [ 0.941476] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 0.947488] sky2: driver version 1.30 [ 0.951466] usbcore: registered new device driver r8152-cfgselector [ 0.957746] usbcore: registered new interface driver r8152 [ 0.963616] VFIO - User Level meta-driver version: 0.3 [ 0.970278] usbcore: registered new interface driver uas [ 0.975636] usbcore: registered new interface driver usb-storage [ 0.981731] usbcore: registered new interface driver usbserial_generic [ 0.988270] usbserial: USB Serial support registered for generic [ 0.994286] usbcore: registered new interface driver ftdi_sio [ 1.000031] usbserial: USB Serial support registered for FTDI USB Serial Device [ 1.007339] usbcore: registered new interface driver usb_serial_simple [ 1.013862] usbserial: USB Serial support registered for carelink [ 1.019959] usbserial: USB Serial support registered for flashloader [ 1.026317] usbserial: USB Serial support registered for funsoft [ 1.032327] usbserial: USB Serial support registered for google [ 1.038251] usbserial: USB Serial support registered for hp4x [ 1.043996] usbserial: USB Serial support registered for kaufmann [ 1.050089] usbserial: USB Serial support registered for libtransistor [ 1.056614] usbserial: USB Serial support registered for moto_modem [ 1.062880] usbserial: USB Serial support registered for motorola_tetra [ 1.069494] usbserial: USB Serial support registered for nokia [ 1.075326] usbserial: USB Serial support registered for novatel_gps [ 1.081686] usbserial: USB Serial support registered for siemens_mpi [ 1.088040] usbserial: USB Serial support registered for suunto [ 1.093963] usbserial: USB Serial support registered for vivopay [ 1.099966] usbserial: USB Serial support registered for zio [ 1.105629] usbcore: registered new interface driver usb_ehset_test [ 1.114691] input: 44440000.bbnsm:pwrkey as /devices/platform/soc@0/44000000.bus/44440000.bbnsm/44440000.bbnsm:pwrkey/input/input0 [ 1.126836] i2c_dev: i2c /dev entries driver [ 1.133908] imx7ulp-wdt 42490000.watchdog: imx93 wdt probe [ 1.165969] Bluetooth: HCI UART driver ver 2.3 [ 1.170432] Bluetooth: HCI UART protocol H4 registered [ 1.175564] Bluetooth: HCI UART protocol BCSP registered [ 1.180885] Bluetooth: HCI UART protocol LL registered [ 1.186018] Bluetooth: HCI UART protocol ATH3K registered [ 1.191417] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 1.197782] Bluetooth: HCI UART protocol Broadcom registered [ 1.203454] Bluetooth: HCI UART protocol QCA registered [ 1.209726] sdhci: Secure Digital Host Controller Interface driver [ 1.215922] sdhci: Copyright(c) Pierre Ossman [ 1.220572] Synopsys Designware Multimedia Card Interface Driver [ 1.226885] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.233614] ledtrig-cpu: registered to indicate activity on CPUs [ 1.240850] fsl-se-fw se-fw2: failed to init reserved memory region -19 [ 1.247608] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 1.254330] usbcore: registered new interface driver usbhid [ 1.259901] usbhid: USB HID core driver [ 1.270337] mmc0: SDHCI controller on 42850000.mmc [42850000.mmc] using ADMA [ 1.302222] hw perfevents: enabled with armv8_cortex_a55 PMU driver, 7 counters available [ 1.312041] cs_system_cfg: CoreSight Configuration manager initialised [ 1.319751] optee: probing for conduit method. [ 1.324215] optee: api uid mismatch [ 1.325699] mmc0: new HS400 Enhanced strobe MMC card at address 0001 [ 1.327700] optee: probe of firmware:optee failed with error -22 [ 1.334598] mmcblk0: mmc0:0001 eMMC 58.2 GiB [ 1.342512] NET: Registered PF_LLC protocol family [ 1.345923] mmcblk0: p1 [ 1.349519] u32 classifier [ 1.352252] mmcblk0boot0: mmc0:0001 eMMC 4.00 MiB [ 1.354567] input device check on [ 1.360666] mmcblk0boot1: mmc0:0001 eMMC 4.00 MiB [ 1.363094] Actions configured [ 1.363485] NET: Registered PF_INET6 protocol family [ 1.368956] mmcblk0rpmb: mmc0:0001 eMMC 4.00 MiB, chardev (234:0) [ 1.372113] Segment Routing with IPv6 [ 1.386309] In-situ OAM (IOAM) with IPv6 [ 1.390278] NET: Registered PF_PACKET protocol family [ 1.395349] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.408425] Bluetooth: RFCOMM TTY layer initialized [ 1.413310] Bluetooth: RFCOMM socket layer initialized [ 1.418455] Bluetooth: RFCOMM ver 1.11 [ 1.422203] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 1.427502] Bluetooth: BNEP filters: protocol multicast [ 1.432721] Bluetooth: BNEP socket layer initialized [ 1.437676] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 1.443589] Bluetooth: HIDP socket layer initialized [ 1.448783] 8021q: 802.1Q VLAN Support v1.8 [ 1.452998] lib80211: common routines for IEEE802.11 drivers [ 1.458652] lib80211_crypt: registered algorithm 'NULL' [ 1.458656] lib80211_crypt: registered algorithm 'WEP' [ 1.458659] lib80211_crypt: registered algorithm 'CCMP' [ 1.458663] lib80211_crypt: registered algorithm 'TKIP' [ 1.458693] 9pnet: Installing 9P2000 support [ 1.463084] Key type dns_resolver registered [ 1.467497] NET: Registered PF_VSOCK protocol family [ 1.486367] registered taskstats version 1 [ 1.490717] Loading compiled-in X.509 certificates [ 1.512663] usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests [ 1.521013] usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests [ 1.539006] imx93-ldb ldb-display-controller: Failed to create device link (0x180) with ldb-phy [ 1.550623] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 1.558672] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 1.569462] imx-dwmac 428a0000.ethernet: IRQ eth_lpi not found [ 1.575451] imx-dwmac 428a0000.ethernet: tx clock enable start [ 1.581464] imx-dwmac 428a0000.ethernet: User ID: 0x10, Synopsys ID: 0x52 [ 1.588255] imx-dwmac 428a0000.ethernet: DWMAC4/5 [ 1.593038] imx-dwmac 428a0000.ethernet: DMA HW capability register supported [ 1.600159] imx-dwmac 428a0000.ethernet: RX Checksum Offload Engine supported [ 1.607283] imx-dwmac 428a0000.ethernet: TX Checksum insertion supported [ 1.613973] imx-dwmac 428a0000.ethernet: Wake-Up On Lan supported [ 1.620110] imx-dwmac 428a0000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 1.627757] imx-dwmac 428a0000.ethernet: Enabled L3L4 Flow TC (entries=8) [ 1.634536] imx-dwmac 428a0000.ethernet: Enabled RFS Flow TC (entries=10) [ 1.641316] imx-dwmac 428a0000.ethernet: Enabling HW TC (entries=256, max_off=256) [ 1.648876] imx-dwmac 428a0000.ethernet: Using 32/32 bits DMA host/device width [ 1.657380] imx-dwmac 428a0000.ethernet: tx clock disable start [ 1.663414] imx-dwmac 428a0000.ethernet: err_drv_probe [ 1.668557] imx-dwmac 428a0000.ethernet: err_dwmac_init [ 1.677361] ci_hdrc ci_hdrc.0: EHCI Host Controller [ 1.682306] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 [ 1.709253] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 1.715211] hub 1-0:1.0: USB hub found [ 1.718981] hub 1-0:1.0: 1 port detected [ 1.726882] ci_hdrc ci_hdrc.1: EHCI Host Controller [ 1.731789] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2 [ 1.753257] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 [ 1.759191] hub 2-0:1.0: USB hub found [ 1.762965] hub 2-0:1.0: 1 port detected [ 1.770674] rtc rtc0: Power loss detected, invalid time [ 1.776048] rtc-pcf85063 0-0051: registered as rtc0 [ 1.781185] rtc rtc0: Power loss detected, invalid time [ 1.786407] rtc-pcf85063 0-0051: hctosys: unable to read the hardware clock [ 1.793553] pca953x 0-0020: supply vcc not found, using dummy regulator [ 1.800254] pca953x 0-0020: using no AI [ 1.804716] i2c i2c-0: LPI2C adapter registered [ 1.810507] pca953x 1-0022: supply vcc not found, using dummy regulator [ 1.817269] pca953x 1-0022: using AI [ 1.822077] at24 1-0050: supply vcc not found, using dummy regulator [ 1.828917] at24 1-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write [ 1.835795] i2c i2c-1: LPI2C adapter registered [ 1.841329] i2c i2c-2: LPI2C adapter registered [ 1.846907] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 1.854932] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 1.865632] imx-dwmac 428a0000.ethernet: IRQ eth_lpi not found [ 1.871579] imx-dwmac 428a0000.ethernet: tx clock enable start [ 1.877611] imx-dwmac 428a0000.ethernet: User ID: 0x10, Synopsys ID: 0x52 [ 1.884419] imx-dwmac 428a0000.ethernet: DWMAC4/5 [ 1.889206] imx-dwmac 428a0000.ethernet: DMA HW capability register supported [ 1.896327] imx-dwmac 428a0000.ethernet: RX Checksum Offload Engine supported [ 1.903449] imx-dwmac 428a0000.ethernet: TX Checksum insertion supported [ 1.910153] imx-dwmac 428a0000.ethernet: Wake-Up On Lan supported [ 1.916235] imx-dwmac 428a0000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 1.923878] imx-dwmac 428a0000.ethernet: Enabled L3L4 Flow TC (entries=8) [ 1.930655] imx-dwmac 428a0000.ethernet: Enabled RFS Flow TC (entries=10) [ 1.937446] imx-dwmac 428a0000.ethernet: Enabling HW TC (entries=256, max_off=256) [ 1.945009] imx-dwmac 428a0000.ethernet: Using 32/32 bits DMA host/device width [ 2.091986] imx-dwmac 428a0000.ethernet: tx clock disable start [ 2.092418] sdhci-esdhc-imx 42860000.mmc: Got CD GPIO [ 2.099328] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.111052] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 2.122102] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.130156] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 2.134093] mmc1: SDHCI controller on 42860000.mmc [42860000.mmc] using ADMA [ 2.139573] nxp-pca9450 1-0025: pca9451a probed. [ 2.152583] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.160637] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 2.171559] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 2.180575] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 2.186741] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' [ 2.194068] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 2.197312] clk: Disabling unused clocks [ 2.202716] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db [ 2.214819] ALSA device list: [ 2.217793] No soundcards found. [ 2.221596] Waiting for root device /dev/mmcblk1p2... [ 2.287788] mmc1: host does not support reading read-only switch, assuming write-enable [ 2.298005] mmc1: new high speed SD card at address 0001 [ 2.303890] mmcblk1: mmc1:0001 00000 1.81 GiB [ 2.311020] mmcblk1: p1 p2 [ 2.315100] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 2.323111] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 2.339143] exFAT-fs (mmcblk1p2): invalid boot record signature [ 2.345082] exFAT-fs (mmcblk1p2): failed to read boot sector [ 2.350777] exFAT-fs (mmcblk1p2): failed to recognize exfat type [ 2.358002] erofs: (device mmcblk1p2): mounted with root inode @ nid 36. [ 2.364768] VFS: Mounted root (erofs filesystem) readonly on device 179:98. [ 2.371789] devtmpfs: mounted [ 2.375967] Freeing unused kernel memory: 1984K [ 2.380690] Run /sbin/init as init process [ 2.384782] with arguments: [ 2.384785] /sbin/init [ 2.384787] with environment: [ 2.384790] HOME=/ [ 2.384792] TERM=linux [ 4.633259] random: crng init done [ 12.406378] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 12.414399] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 12.424617] platform imx-lcdifv3-crtc.0: deferred probe pending 当 ip link 设置 eth0 时(我向驱动程序添加了一些非标准跟踪,以尝试调试此 DMA 问题): # ip link set eth0 up [ 236.851517] imx-dwmac 428a0000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0 [ 236.859339] imx-dwmac 428a0000.ethernet: tx clock enable start [ 236.974901] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops) [ 236.982933] imx93-ldb ldb-display-controller: No data-mapping in DT, will use negotiated bus format. [ 237.081392] imx-dwmac 428a0000.ethernet eth0: PHY [stmmac-1:00] driver [Generic PHY] (irq=POLL) [ 237.090112] Checking DMA clocks before reset... [ 237.094643] DMA_HW_CAPABILITY = 0x0 [ 237.098124] RESET START: DMA_BUS_MODE = 0x1 [ 237.102301] AFTER WRITE: DMA_BUS_MODE = 0x1 [ 238.107432] POLL RESULT: ret=-110, DMA_BUS_MODE = 0x1 [ 238.112492] imx-dwmac 428a0000.ethernet: Failed to reset the dma [ 238.118519] imx-dwmac 428a0000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed [ 238.127210] imx-dwmac 428a0000.ethernet eth0: __stmmac_open: Hw setup failed [ 238.194819] imx-dwmac 428a0000.ethernet: tx clock disable start ip: SIOCSIFFLAGS: Connection timed out 感谢您的帮助! 顺祝商祺! 朱利安 Re: DMA Error with imx93 and eqos in RMII 你好, 请确认PHY中的复位信号是否正确生效。 当 PHY 在短时间内没有获得时钟信号,并且时钟信号恢复后,必须对 PHY 进行 RESET,以锁存所有配置带,恢复到正常工作模式。 请分享您的完整 dmesg 日志。 顺祝商祺! Re: DMA Error with imx93 and eqos in RMII 你好, 谢谢你提供的信息。 由于可以访问寄存器,MAC 不会完全保持 RESET 状态。 能否提供原理图连接图,以便确认 REF_CLK 的提供方式? 另外,请在 `cat /sys/kernel/debug/clk/clk_summary` 文件中分享您的时钟摘要信息。 顺祝商祺! Re: DMA Error with imx93 and eqos in RMII 关于ref_clk和原理图的回复,请查看另一条消息,我好像不小心按错了回复按钮。 我还尝试了以下方法: https://community.nxp.com/t5/i-MX-Processors/i-MX93-EQoS-RMII-mode-with-internal-50MHz-reference-clock/mp/1947843 ,这看起来很像同一个问题,但也没能成功解决。 感谢您的支持! Re: DMA Error with imx93 and eqos in RMII 我不想在公共论坛上分享完整的原理图。我可以私下发送吗? REF_CLK 通过 ENET1_TD2(imx93 的 U12 引脚)提供。在设备树中,就是这一行: MX93_PAD_ENET1_TD2__CCM_ENET_QOS_CLOCK_GENERATE_REF_CLK 0x57e 我们已经用示波器检查过,在 u-启动 下时钟是正确的,但是我们遇到了类似的 DMA 错误(细节较少)。 在 Linux 系统下,某些东西停止了时钟(我猜测是 DMA 错误触发信号,使时钟的版本随后被 Linux 内核停止,因为它未使用)。 以下是 clk_summary 的内容: enable prepare protect duty hardware connection clock count count count rate accuracy phase cycle enable consumer id --------------------------------------------------------------------------------------------------------------------------------------------- pcf85063-clkout 0 0 0 0 0 0 50000 Y deviceless no_connection_id sys_pll_pfd2 1 1 0 625000000 0 0 50000 Y deviceless no_connection_id wakeup_axi_root 2 2 0 312500000 0 0 50000 Y 42860000.mmc ahb 42850000.mmc ahb deviceless no_connection_id enet_qos 0 0 0 312500000 0 0 50000 N 428a0000.ethernet mem 428a0000.ethernet pclk 428a0000.ethernet stmmaceth deviceless no_connection_id enet1 0 0 0 312500000 0 0 50000 N 42890000.ethernet ahb 42890000.ethernet ipg deviceless no_connection_id edma2 1 1 0 312500000 0 0 50000 Y 42000000.dma-controller edma deviceless no_connection_id sys_pll_pfd2_div2 0 0 0 312500000 0 0 50000 Y deviceless no_connection_id sys_pll_pfd1 3 3 0 800000000 0 0 50000 Y deviceless no_connection_id media_axi_root 1 1 0 400000000 0 0 50000 Y 4ae30000.lcd-controller disp-axi 4ac10000.system-controller axi deviceless no_connection_id nic_media 1 1 0 400000000 0 0 50000 Y 4ac10000.system-controller nic power-domain@44462400 no_connection_id deviceless no_connection_id nic_axi_root 1 1 0 400000000 0 0 50000 Y deviceless no_connection_id ccm_cko4_root 0 0 0 266666667 0 0 50000 N deviceless no_connection_id ccm_cko3_root 0 0 0 266666667 0 0 50000 N deviceless no_connection_id ccm_cko2_root 0 0 0 266666667 0 0 50000 N deviceless no_connection_id ccm_cko1_root 0 0 0 266666667 0 0 50000 N deviceless no_connection_id usdhc3_root 0 0 0 200000000 0 0 50000 N deviceless no_connection_id usdhc3 0 0 0 200000000 0 0 50000 N deviceless no_connection_id usdhc2_root 0 0 0 400000000 0 0 50000 N deviceless no_connection_id usdhc2 0 0 0 400000000 0 0 50000 N 42860000.mmc per deviceless no_connection_id usdhc1_root 0 0 0 400000000 0 0 50000 N deviceless no_connection_id usdhc1 0 0 0 400000000 0 0 50000 N 42850000.mmc per deviceless no_connection_id flexspi1_root 0 0 0 200000000 0 0 50000 N deviceless no_connection_id flexspi1 0 0 0 200000000 0 0 50000 N deviceless no_connection_id sys_pll_pfd1_div2 6 6 0 400000000 0 0 50000 Y deviceless no_connection_id enet_ref_phy_root 0 0 0 50000000 0 0 50000 N 42890000.ethernet enet_out deviceless no_connection_id enet_timer1_root 0 0 0 100000000 0 0 50000 N 42890000.ethernet ptp deviceless no_connection_id enet_timer2_root 0 0 0 100000000 0 0 50000 N 428a0000.ethernet ptp_ref deviceless no_connection_id media_apb_root 1 2 0 133333334 0 0 50000 Y ldb-phy apb system-controller@4ac10000 no_connection_id 4ac10000.system-controller apb power-domain@44462400 no_connection_id deviceless no_connection_id isi 0 0 0 133333334 0 0 50000 N 4ac10000.system-controller isi deviceless no_connection_id pxp 0 0 0 133333334 0 0 50000 N 4ac10000.system-controller pxp deviceless no_connection_id lcdif 0 0 0 133333334 0 0 50000 N 4ae30000.lcd-controller disp-apb 4ac10000.system-controller lcdif deviceless no_connection_id mipi_dsi 0 0 0 133333334 0 0 50000 N 4ac10000.system-controller dsi deviceless no_connection_id mipi_csi 0 0 0 133333334 0 0 50000 N 4ac10000.system-controller csi deviceless no_connection_id hsio_root 1 1 0 133333334 0 0 50000 Y deviceless no_connection_id usb_controller 0 0 0 133333334 0 0 50000 N 4c200000.usb no_connection_id 4c100000.usb no_connection_id deviceless no_connection_id lpspi4_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi4 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi2_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi2 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi1_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi1 0 0 0 50000000 0 0 50000 N deviceless no_connection_id swo_trace_root 0 0 0 133333334 0 0 50000 N deviceless no_connection_id bus_aon_root 1 1 0 133333334 0 0 50000 Y i2c@44350000 no_connection_id i2c@44340000 no_connection_id deviceless no_connection_id tstmr1 0 0 0 133333334 0 0 50000 N deviceless no_connection_id pdm_ipg_clk 0 0 0 133333334 0 0 50000 N deviceless no_connection_id sai1_ipg_clk 0 0 0 133333334 0 0 50000 N deviceless no_connection_id tpm1 0 0 0 133333334 0 0 50000 N deviceless no_connection_id lpit1 0 0 0 133333334 0 0 50000 N deviceless no_connection_id mu1_b 0 0 0 133333334 0 0 50000 N 44230000.mailbox no_connection_id deviceless no_connection_id mu1_a 0 0 0 133333334 0 0 50000 Y deviceless no_connection_id sema1 0 0 0 133333334 0 0 50000 N deviceless no_connection_id bus_wakeup_root 4 4 0 133333334 0 0 50000 Y 42860000.mmc ipg i2c@42530000 no_connection_id 42850000.mmc ipg deviceless no_connection_id tstmr2 0 0 0 133333334 0 0 50000 N deviceless no_connection_id sai3_ipg_clk 0 0 0 133333334 0 0 50000 N deviceless no_connection_id sai2_ipg_clk 0 0 0 133333334 0 0 50000 N deviceless no_connection_id tpm3 0 0 0 133333334 0 0 50000 N deviceless no_connection_id lpit2 0 0 0 133333334 0 0 50000 N deviceless no_connection_id gpio4 2 2 0 133333334 0 0 50000 Y 43830000.gpio gpio 43830000.gpio port deviceless no_connection_id gpio3 2 2 0 133333334 0 0 50000 Y 43820000.gpio gpio 43820000.gpio port deviceless no_connection_id gpio2 2 2 0 133333334 0 0 50000 Y 43810000.gpio gpio 43810000.gpio port deviceless no_connection_id mu2_b 0 0 0 133333334 0 0 50000 N 42440000.mailbox no_connection_id deviceless no_connection_id mu2_a 0 0 0 133333334 0 0 50000 Y deviceless no_connection_id sema2 0 0 0 133333334 0 0 50000 N deviceless no_connection_id m33_root 4 4 0 200000000 0 0 50000 Y deviceless no_connection_id gpio1 2 2 0 200000000 0 0 50000 Y 47400000.gpio gpio 47400000.gpio port deviceless no_connection_id edma1 1 1 0 200000000 0 0 50000 Y 44000000.dma-controller edma deviceless no_connection_id cm33 1 1 0 200000000 0 0 50000 Y deviceless no_connection_id a55_mtr_bus_root 1 1 0 133333334 0 0 50000 Y deviceless no_connection_id sys_pll_pfd0 2 2 0 1000000000 0 0 50000 Y deviceless no_connection_id a55_alt_root 1 1 0 500000000 0 0 50000 Y deviceless no_connection_id a55_alt 0 0 0 500000000 0 0 50000 N deviceless no_connection_id a55_periph_root 1 1 0 333333334 0 0 50000 Y deviceless no_connection_id sys_pll_pfd0_div2 0 0 0 500000000 0 0 50000 Y deviceless no_connection_id usb_phy_root 0 0 0 50000000 0 0 50000 N usbphynop2 main_clk usbphynop1 main_clk deviceless no_connection_id enet_ref_root 0 0 0 250000000 0 0 50000 N 42890000.ethernet enet_clk_ref deviceless no_connection_id enet_root 0 0 0 50000000 0 0 50000 N 428a0000.ethernet tx deviceless no_connection_id dummy 0 0 0 0 0 0 50000 Y deviceless no_connection_id clk_ext1 0 0 0 133000000 0 0 50000 Y clock-controller@44450000 clk_ext1 deviceless no_connection_id osc_24m 6 6 3 24000000 0 0 50000 Y clock-controller@44450000 osc_24m timer@44290000 per deviceless no_connection_id pmro 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tmc 1 1 0 24000000 0 0 50000 Y 44482000.tmu no_connection_id deviceless no_connection_id sys_cnt 1 1 0 24000000 0 0 50000 Y deviceless no_connection_id hsio_trout_24m 0 0 0 24000000 0 0 50000 N deviceless no_connection_id wdog5 0 0 0 24000000 0 0 50000 N deviceless no_connection_id wdog4 0 0 0 24000000 0 0 50000 N deviceless no_connection_id wdog3 1 1 0 24000000 0 0 50000 Y 42490000.watchdog no_connection_id deviceless no_connection_id wdog2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id wdog1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id pal_came_scan_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id i3c2_slow_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id i3c1_slow_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id spdif_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id spdif 0 0 0 24000000 0 0 50000 N deviceless no_connection_id audio_xcvr_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id aud_xcvr 0 0 0 24000000 0 0 50000 N deviceless no_connection_id mqs2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id mqs1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tstmr2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tstmr1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id pdm_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id pdm 0 0 0 24000000 0 0 50000 N deviceless no_connection_id adc_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id adc1 0 0 0 24000000 0 0 50000 N 44530000.adc ipg deviceless no_connection_id mipi_phy_cfg_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id mipi_test_byte_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id cam_pix_root 0 0 0 24000000 0 0 50000 N 4ac10000.system-controller cam deviceless no_connection_id ml_root 0 0 0 24000000 0 0 50000 N power-domain@44461800 no_connection_id deviceless no_connection_id ml_apb_root 0 0 0 24000000 0 0 50000 N power-domain@44461800 no_connection_id deviceless no_connection_id hsio_acscan_480m_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id hsio_acscan_80m_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id hsio_usb_test_60m_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id usb_test_60m 0 0 0 24000000 0 0 50000 N deviceless no_connection_id sai3_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id mqs2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id sai3 0 0 0 24000000 0 0 50000 N deviceless no_connection_id sai2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id sai2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id sai1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id mqs1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id sai1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id i3c2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id i3c2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id i3c1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id i3c1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi8_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi8 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi7_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi7 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi6_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi6 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi5_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpspi5 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c8_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c8 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c7_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c7 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c6_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c6 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c5_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c5 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c4_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c4 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpi2c3_root 0 0 1 24000000 0 0 50000 N deviceless no_connection_id lpi2c3 0 0 1 24000000 0 0 50000 N i2c@42530000 no_connection_id deviceless no_connection_id lpi2c2_root 0 0 1 24000000 0 0 50000 N deviceless no_connection_id lpi2c2 0 0 1 24000000 0 0 50000 N i2c@44350000 no_connection_id deviceless no_connection_id lpi2c1_root 0 0 1 24000000 0 0 50000 N deviceless no_connection_id lpi2c1 0 0 1 24000000 0 0 50000 N i2c@44340000 no_connection_id deviceless no_connection_id lpuart8_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart8 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart7_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart7 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart6_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart6 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart5_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart5 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart4_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart4 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart3_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart3 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lpuart1_root 1 1 0 24000000 0 0 50000 Y deviceless no_connection_id lpuart1 1 1 0 24000000 0 0 50000 Y 44380000.serial ipg deviceless no_connection_id can2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id can2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id can1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id can1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm6_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm6 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm5_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm5 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm4_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm4 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id tpm2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lptmr2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lptmr2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lptmr1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id lptmr1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id flexio2_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id flexio2 0 0 0 24000000 0 0 50000 N deviceless no_connection_id flexio1_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id flexio1 0 0 0 24000000 0 0 50000 N deviceless no_connection_id m33_systick_root 0 0 0 24000000 0 0 50000 N deviceless no_connection_id video_pll 0 0 0 1039500000 0 0 50000 Y deviceless no_connection_id media_disp_pix_root 0 0 0 148500000 0 0 50000 N 4ae30000.lcd-controller pix 4ac10000.system-controller disp deviceless no_connection_id media_ldb_root 0 0 0 1039500000 0 0 50000 N deviceless no_connection_id lvds 0 0 0 1039500000 0 0 50000 N deviceless no_connection_id audio_pll 0 0 0 393216000 0 0 50000 Y deviceless no_connection_id arm_pll 1 1 0 1700000000 0 0 50000 Y deviceless no_connection_id a55_sel 1 1 0 1700000000 0 0 50000 Y deviceless no_connection_id a55_core 1 1 0 1700000000 0 0 50000 Y deviceless no_connection_id osc_32k 1 1 0 32768 0 0 50000 Y clock-controller@44450000 osc_32k deviceless no_connection_id hsio_32k 2 2 0 32768 0 0 50000 Y 4c200000.usb usb_wakeup_clk 4c100000.usb usb_wakeup_clk deviceless no_connection_id # Re: DMA Error with imx93 and eqos in RMII 我终于成功运行了,使用了链接中的补丁和以下设置: &eqos { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_eqos>; phy-mode = "rmii"; phy-handle = <&ethphy1>; status = "okay"; assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>, <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>; assigned-clock-rates = <100000000>, <50000000>; enet_clk_sel = <&wakeupmix_gpr 0x2C>; clk_csr = <5>; // snps,rmii_refclk_ext; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; clock-frequency = <5000000>; ethphy1: ethernet-phy@0 { reg = <0>; eee-broken-1000tx; reset-gpios = <&pcal6524 19 GPIO_ACTIVE_LOW>; reset-assert-us = <15000>; reset-deassert-us = <100000>; smsc,disable-energy-detect; }; }; }; 能否解释一下https://community.nxp.com/t5/i-MX-Processors/i-MX93-EQoS-RMII-mode-with-internal-50MHz-reference-clock/mp/1947843中的补丁是什么?确实需要吗?为什么需要? 另外,这些更改难道不应该提交到上游吗?因为它们看起来像是 SoC 的常规用例,没什么特别的。 Re: DMA Error with imx93 and eqos in RMII 你好, 很高兴知道现在一切正常。 该补丁修改了驱动程序 dwmac-imx/EQoS,以便在 RMII 使用外部时钟时配置 ENET_QOS。 之所以需要进行此项更改,是因为 EQoS 在 DMA RESET 期间需要恒定的时钟。 顺祝商祺!
查看全文
FETMX6ULL-C:LCD 和 CTP 同时连接时出现随机 CTP I2C 通信错误,CTP 硬件平台:FETMX6ULL-C 核心板。   当仅连接电容式触摸面板 (CTP) GT911 时,该面板能够稳定工作,不会出现任何 I2C 错误。   同时连接液晶显示屏和CTP后,CTP上会出现随机的I2C通信异常,导致触摸功能偶尔失效。 我们怀疑液晶显示电路引入的电磁干扰导致触摸面板的 I2C 信号不稳定。   已附上相关的内核 dmesg 日志以供分析。   我们的软件环境:Linux 4.1.15电路板支持包。.   CTP通过I2C总线进行通信。我们已经检查了硬件线路和电源,但问题仍然存在。   期待您的技术建议。
查看全文