Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
IMX95でJTAGを無効にしてGPIOとして再利用する方法 こんにちは。これらの GPIO を JTAG に使用して他のデバイスを制御したいのですが、これらの GPIO は JTAG では制御できないことがわかりました。JTAG を無効にして GPIO として再利用するにはどうすればよいですか? Linux Re: How to disable JTAG on IMX95 and reuse JTAG as GPIO こんにちは、 1.マニュアルのダウンロードリンクが見つかりませんでした。ダウンロードリンクを送っていただけますか? 2. ヒューズを使用する以外に、この機能を無効にする方法はありますか? 3. JTAG 構成をまだ変更していません。システム内の /sys/class/gpio ピンは、デフォルトで JTAG として再利用されるため、制御できません。 Re: How to disable JTAG on IMX95 and reuse JTAG as GPIO こんにちは、 JTAG を無効にするには、セキュリティ リファレンス マニュアルを参照することをお勧めします。プロセッサでこの機能を無効にするヒューズについて説明しているセクションがあります。 JTAG を無効にしたら、IOMUX レジスタ (デバイス ツリー内など) を変更して、JTAG ピンを GPIO 機能として設定する必要があります。 よろしくお願いいたします。
查看全文
LPC43S57 USB1ホスト構成の問題 ハイ LPC43S57 コントローラの USB1 ペリフェラルを USB ホストとして使用して、お客様のボード内のデバイスを接続しようとしています。USB スタックと USB ドライバを構成するために KEIL MDK を使用しています。   USBH_Initialize(1)関数を呼び出すと、「コントローラが存在しません」というエラーが返されます。USB1 ハードウェア接続に関してインターネットで検索してみたところ、多くの場所で USB1 ペリフェラルは外部 PHY がないと動作しないと記載されていることがわかりました。ただし、データシートには、オンチップフルスピード PHY をサポートしていることが示されています。   USB1 にオンチップのフルスピード PHY が搭載されているかどうかを明確にしていただけますか?   USB1_VBUS ピンはホストであり、接続しているデバイスは自己電源デバイスであるため使用されません。   また、ホストとして行ったUSB1接続のスナップショットを以下に示します。   よろしくお願いします。 サバリッシュ・クマール Re: LPC43S57 USB1 Host Configuration issue こんにちは@HeatherUlrich USB1 をホスト モードからデバイス モードに変更して、 device_cdc プロジェクトを開発しましたか? はい、そうであれば、まずボード上で LPCOpen の CDC デモを実行してテストすることができます。 これにより、ハードウェアに問題があるかどうかを確認できます。 ありがとう。 BR アリス Re: LPC43S57 USB1 Host Configuration issue @Slope Gameところで、派手にクラッシュする話ですが、以前、正しくエニュメレーションを行なわない怪しいマイクロコントローラと格闘して週末を丸々過ごしたことがあります。結局、クロック速度の設定ミスが一つだけ原因で、それが次々と予期せぬエラーを引き起こし、デバッグの現実味を帯びてきました。本当にイライラさせられました。 Re: LPC43S57 USB1 Host Configuration issue こんにちは@Alice_Yang CLK_USB1をUSB1インターフェースの60MHzクロック生成用に設定済みです。USB1をデバイス(フルスピードモード)として設定し、PCに接続しました。LPC43S57 USBコントローラーのUSBステータスレジスタでは、USBがデバイスAとして接続されていることが確認できますが、PC側ではCOMポートや他のUSBデバイスが接続されていることが確認できません。USB0をデバイスとして設定し、PCに接続したところ、COMポートとして検出され、USB1の設定では動作しません。 参考までにUSB1デバイスの構成画像を添付しました。 よろしくお願いします。 サバリッシュ・クマール Re: LPC43S57 USB1 Host Configuration issue こんにちは@Sabarish USB フルスピード モードでは、CLK_USB1 を使用して USB1 インターフェース のクロックを生成します。外部 PHY は必要ありません。高速モードでは、外部 PHY が USB1 インターフェースのクロックを生成するため、システム構成ブロック内のそれぞれのピン構成レジスタを介してピン PC_0 または P8_8 で USB1_ULPI_CLK を有効にする必要があります。 USB1_DP​​およびUSB1_DM​​信号がデバイスに正しくコネクテッドされていることを確認してください。さらに、ソフトウェア構成が適切に設定されていることを確認してください。参考までに、LPCopen ライブラリで提供されている USB ホスト デモを参照CANます。 BR アリス Re: LPC43S57 USB1 Host Configuration issue さて、この USB の難問を解明してみましょう。これは内部 PHY の問題でしょうか、それともハードウェアの不具合が原因でしょうか?そのコントローラエラーはいつも頭痛の種です。適切な USB 構成を見つけるのは、迷路を進むような感じになります。かつて私は、あるプロジェクトのためにセンサと通信させようと、頑固な Arduino セットアップに格闘していました。何時間も配線をトレースし、コードをデバッグした結果、単純な電源の問題が根本原因であることがわかり、@ geometry dashでいっぱいの午後は完全に無駄になってしまいました。時々、明白なことが私たちには分からないことがありますよね? Re: LPC43S57 USB1 Host Configuration issue これは、USBH_Initialize 関数に関する難しい問題です。以前にも同様のハードウェア接続の問題に直面したことを覚えています。場合によっては、セットアップにおける些細な詳細でも頭痛の種になることがあります。ここでは具体的なハードウェア デバッグのアドバイスを提供することはできませんが、 Geometry Dashフォーラムをチェックすることを検討しましたか?そこのコミュニティはあらゆる種類の技術的な課題について驚くほど知識が豊富で、USB デバイスの初期化で同様の問題に遭遇した人がいるかもしれません。 Re: LPC43S57 USB1 Host Configuration issue 難しいハードウェア構成の問題に直面しているようです。USB セットアップでは確かに同じ状況になりました。オンチップ PHY に関しては、チップの特定のシリコン リビジョンとエラッタ シートを再確認すると、明確になる場合があります。トラブルシューティング中に、 CPS テストWeb サイトで反応時間やマウス スキルをテストしてみると、楽しい気晴らしになるかもしれません。集中力を高めるのに役立ちます!USBの問題がすぐに解決されることを願っています! Re: LPC43S57 USB1 Host Configuration issue こんにちは、@ Unblocked Gamesさん。設計図のスナップショットを共有していただきありがとうございます。PHYに関する質問に加えて、同じボード上でUSB0が正しく動作するかどうかを知ることも役立ちます。そうすることで、問題がハードウェア関連なのかソフトウェア関連なのかを特定するのに役立つからです。
查看全文
Custommed HDMI Resolution on i.MX 8M Plus (Yocto) I was using Yocto on i.MX 8M plus and needed the HDMI output at 3840x720@60Hz and 3840x1080@60Hz.  They were not available in Weston. So I'm going to modify the kernel. Can anyone provide the guidance on how to add these custommed resolutions to the kernel or device tree? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Yocto Project
查看全文
i.MX 8M Plus (Yocto) のカスタマイズされた HDMI 解像度 私は i.MX 8M plus で Yocto を使用しており、 3840x720@60Hzおよび3840x1080@60Hzの HDMI 出力が必要でした。 ウェストンでは入手できませんでした。SO、カーネルを修正することにします。 これらのカスタマイズされた解像度をカーネルまたはデバイス ツリーに追加する方法についてのガイダンスを提供してくれる人はいますか? i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノ Yocto Project
查看全文
Configuring pwm on S32K312,emios_mcl_ip is not editable, why? S32DS version: 3.6.3 RTD version: 6.0.0 I am going to configure emios_pwm to enable the pwm output function, but mcl is a gray interface and not configurable, but the demo of s32k344 is configurable, what do I need to do to enable mcl? Second question, if I select the counter clock of pwm as busA, why can't I select busref below? Do I need to configure the clock? Re: S32K312上配置pwm,emios_mcl_ip不可编辑,为什么? [Google translation] When configuring PWM on S32K312, emios_mcl_ip cannot be edited. Why? S32DS version: 3.6.3 RTD version: 6.0.0 I am going to configure emios_pwm to enable the PWM output function, but the mcl interface is gray and cannot be configured. However, the s32k344 demo can be configured. What do I need to do to enable mcl? Second question, if I select busA as the PWM counter clock, why can't I select the busref below? Do I need to configure the clock? Thank you for your interest in our products and for contributing to our community. Please refer to OPWMB Example Project of the following community post: S32M27x/S32K3 – eMIOS Usage -> https://community.nxp.com/t5/S32M-Knowledge-Base/S32M27x-S32K3-eMIOS-Usage/ta-p/2129760 We hope this resolves your issue.
查看全文
i.MX 8M Plus (Yocto) のカスタム HDMI 解像度 再投稿: こんにちは。i.MX 8M Plusで Yocto を使用しており、 3840x726@60Hzおよび3840x1080@60Hzで HDMI 出力を取得する必要があります。 これらは Weston では利用できないSO、カーネルを変更する必要があると思います。これらのカスタム解像度をカーネルまたはデバイス ツリーに追加する方法について、CAN ガイダンスを提供しますか? よろしくお願いします!
查看全文
T2080 Custom board booting from SPI NOR flash Trying to boot the custom T2080 board from the SPI NOR flash I was able to load the custom RCW bin file into the Serial NOR flash using the Flash Programmer in the CW IDE but not able to read the RCW words in the CCSR_RCWSR registers(for confirmation) after the board is powered on with the SPI boot mode. Can anyone help, how to boot the board using SPI NOR flash? Thank you.. Re: T2080 Custom board booting from SPI NOR flash You need to port u-boot source code. Would you please create a new thread to address your new problem? Re: T2080 Custom board booting from SPI NOR flash Hi, We have loaded the u-boot-with-spl-pbl.bin generated by modifying the RCW words with our custom RCW words in QorIQ SDKv2.0, getting error as "Failed to reset the Target(T2080 core not responding)" and no uart console messages what is the offset address to load the file in SPI NOR flash?? is it the right way to directly load the u-boot-with-spl-pbl.bin file of T2080RDB with just RCW changes??  if no, what are the major modifications to be done in the u-boot source to boot the device from the SPI NOR flash...please guide Regards, Priya Re: T2080 Custom board booting from SPI NOR flash We configured the RCW words according to our custom board specifications with the help of T2080 reference manual. Now we are able to execute the given commands successfully without any error. Thanks a lot for the support. Re: T2080 Custom board booting from SPI NOR flash Please refer to the following RCW which I dump from pre-built SPI u-boot image. 00000000: aa55 aa55 010e 0100 1207 001b 1500 0000 .U.U............ 00000010: 0000 0000 0000 0000 6615 0002 0000 0000 ........f....... 00000020: e810 4000 c100 0000 0080 0000 0000 0000 ..@............. 00000030: 0000 0000 0003 07fc 0000 0000 0000 0000 ................ 00000040: 0000 0000 0000 0004 0901 0000 0020 0400 ............. .. Re: T2080 Custom board booting from SPI NOR flash Please refer to "Figure 4-1. Power-on reset sequence" in T2080RM, please check whether you waveform is the same as it. If no, it means there is problem with the content of your RCW. Because as you mentioned you can read the RCW status registers which is getting reflected according to the RCW words loaded into it. Please modify your RCW based on the following RCW of T2080RDB. #For T2080 v1.1 #SerDes=0x66_0x15, Core:1800MHz, DDR:1600MT/s #1206001b 15000000 00000000 00000000 #SerDes=0x66_0x15, Core:1800MHz, DDR:1867MT/s 1207001b 15000000 00000000 00000000 66150002 00000000 58104000 c1000000 00800000 00000000 00000000 000307fc 00000000 00000000 00000000 00000004 Re: T2080 Custom board booting from SPI NOR flash In Hard-coded RCW mode, we are able to execute the CCS commands successfully without any error. And in SPI boot mode, PORESET_B de-assertion, HRESET_B is de-assertion is happening and the ASLEEP signal is also low but still getting the error as "T2080: Core not responding" in CCS Can you please say what might be the reasons for it?? Re: T2080 Custom board booting from SPI NOR flash When you power on in SPI boot mode, the RCW (Reset Configuration Words) should be fetched automatically by the PBL (Pre-Boot Loader) from your SPI NOR. If you don’t see the expected values in CCSR_RCWSR, a few common issues are worth checking: RCW alignment & size – Make sure the RCW binary is placed at the correct offset in SPI NOR (usually address 0x00000000 for boot). Any misalignment will cause the PBL to fall back or hang. SPI configuration straps – Verify your board’s reset configuration pins/straps are actually set for SPI NOR boot. If they default to another boot source, the RCW won’t be read from NOR. RCW validity – Double-check the endianness and CRC. An invalid RCW image will be ignored, and the device may not update CCSR_RCWSR. Clock/voltage stability – The T2080 is sensitive to clock and reset timing during PBL fetch. If the oscillator or power rails are not stable before RCW fetch, the read may fail. In practice, a good test is to dump the contents of your SPI NOR via JTAG/CodeWarrior and confirm the RCW words at offset 0x0 match your expectations. If they do, then the problem is likely with boot mode straps or RCW validity rather than flash programming itself. I had a very similar issue on a custom board and documented the debugging steps in more detail here:  — walking through placement, strap checks, and validation. Might help you compare against your setup. Re: T2080 Custom board booting from SPI NOR flash Please configure your custom board as hard-coded RCW mode, and check whether you could execute the CCS commands successfully. If yes, please configure your custom board booting from SPI NOR flash, and check the following. After PORESET_B de-assertion, HRESET_B is de-asserted (indicating RCW is loaded successfully) and ASLEEP signal should be low (indicating PBI is loaded successfully). Re: T2080 Custom board booting from SPI NOR flash Configured the target board to SPI boot mode and while executing the given commands in ccs getting error as "T2080: Core not responding"  Now I'm able to read the RCW status registers which is getting reflected according to the RCW words loaded into it. The rcw words loaded are 00000000: aa55aa55 010e0100 0a08000c 0c000000 00000010: 00000000 00000000 1c190000 0053ac00 00000020: 58045000 41000000 00300000 00000000 00000030: 00000000 00000000 00000000 5280000d 00000040: 00000000 00000001 08138040 65e0e49c Kindly verify the RCW words to resolve the error Re: T2080 Custom board booting from SPI NOR flash Please configure the target board boot from SPI NOR flash. Then open CCS from C:\Freescale\CW_PA_v10.5.1\PA\ccs\ccs\bin\ccs.exe and type the following commands to do verification. % delete all % config cc cwtap % ccs::config_chain t2080 % ccs::reset_to_debug If there is error returned, it means there is problem with your RCW, you need to refine the RCW configuration.
查看全文
T2080 カスタムボードを SPI NOR フラッシュから起動する SPI NORフラッシュからカスタムT2080ボードを起動しようとしています CW IDEs のフラッシュ プログラマを使用して、カスタム RCW bin ファイルをシリアル NOR フラッシュにロードできましたが、ボードを SPI ブート モードで電源投入した後、CCSR_RCWSR レジスタ内の RCW ワードを読み取ることができませんでした (確認用)。 SPI NOR フラッシュを使用してボードを起動する方法を誰か教えてくれませんか? ありがとう.. Re: T2080 Custom board booting from SPI NOR flash u-boot ソース コードを移植する必要があります。 新しい問題に対処するために新しいThreadを作成してください。 Re: T2080 Custom board booting from SPI NOR flash こんにちは、 QorIQ SDKv2.0のカスタムRCWワードでRCWワードを変更して生成されたu-boot-with-spl-pbl.binをロードしました。「ターゲットのリセットに失敗しました(T2080コアが応答していません)」というエラーが発生し、UARTコンソールメッセージが表示されません SPI NOR フラッシュにファイルをロードするためのオフセット アドレスは何ですか? T2080RDBのu-boot-with-spl-pbl.binファイルをRCWの変更だけで直接ロードするのは正しい方法でしょうか?もしそうでない場合、SPI NORフラッシュからデバイスを起動するためにu-bootソースで行うべき主な変更点は何でしょうか?ご指導ください。 よろしくお願いいたします。 プリヤ Re: T2080 Custom board booting from SPI NOR flash T2080 リファレンス マニュアルを参考に、カスタム ボード仕様に従って RCW ワードを構成しました。これで、エラーなしで指定されたコマンドを正常に実行できるようになりました。 サポートありがとうございます。 Re: T2080 Custom board booting from SPI NOR flash 事前に構築された SPI u-boot イメージからダンプした次の RCW を参照してください。 00000000: aa55 aa55 010e 0100 1207 001b 1500 0000 .UU....... 00000010: 0000 0000 0000 0000 6615 0002 0000 0000 ........f....... 00000020: e810 4000 c100 0000 0080 0000 0000 0000 ..@.. 00000030: 0000 0000 0003 07fc 0000 0000 0000 0000 ................ 00000040: 0000 0000 0000 0004 0901 0000 0020 0400 ............. .. Re: T2080 Custom board booting from SPI NOR flash 「図4-1」を参照してください。T2080RM の「パワーオン リセット シーケンス」の波形がそれと同じかどうかを確認してください。いいえの場合、RCW の内容に問題があることを意味します。おっしゃるとおり、ロードされた RCW ワードに応じて反映される RCW ステータス レジスタを読み取ることがCANからです。 T2080RDB の次の RCW に基づいて RCW を変更してください。 #T2080 v1.1の場合 #SerDes=0x66_0x15、コア:1800MHz、DDR:1600MT/s #1206001b 15000000 00000000 00000000 #SerDes=0x66_0x15、コア:1800MHz、DDR:1867MT/s 1207001b 15000000 00000000 00000000 66150002 00000000 58104000 c1000000 00800000 00000000 00000000 000307fc 00000000 00000000 00000000 00000004 Re: T2080 Custom board booting from SPI NOR flash ハードコードされた RCW モードでは、エラーなしで CCS コマンドを正常に実行できます。 SPIブートモードでは、PORESET_Bのデアサーション、HRESET_Bのデアサーションが発生し、ASLEEP信号も低くなりますが、CCSで「T2080: Core not responding」というエラーが発生します。 その理由は何なのか教えていただけますか? Re: T2080 Custom board booting from SPI NOR flash SPI ブート モードで電源を入れると、RCW (リセット構成ワード) は PBL (プリブート ローダー) によって SPI NOR から自動的に取得されます。CCSR_RCWSR に期待される値が表示されない場合は、いくつかの一般的な問題を確認する価値があります。 RCW アライメントとサイズ– RCW バイナリが SPI NOR 内の正しいオフセット (通常、ブートの場合はアドレス 0x00000000) に配置されていることを確認します。位置がずれると、PBL が後退したりハングしたりします。 SPI 構成ストラップ– ボードのリセット構成ピン/ストラップが実際に SPI NOR ブート用に設定されていることを確認します。デフォルトで別のブート ソースに設定されている場合、RCW は NOR から読み取られません。 RCW の有効性– エンディアンと CRC を再確認します。無効な RCW イメージは無視され、デバイスは CCSR_RCWSR を更新しない可能性があります。 クロック/電圧の安定性– T2080 は、PBL フェッチ中のクロックとリセットのタイミングに敏感です。RCW フェッチの前に発振器または電源レールが安定していない場合は、読み取りが失敗する可能性があります。 実際には、JTAG/CodeWarrior を介して SPI NOR の内容をダンプし、オフセット 0x0 の RCW ワードが期待どおりであることを確認するのがよいテストです。そうなる場合、問題はフラッシュ プログラミング自体ではなく、ブート モード ストラップまたは RCW の有効性にある可能性が高くなります。 カスタム ボードでも非常によく似た問題が発生しましたが、デバッグ手順については、こちらで詳しく説明しています : — 配置、ストラップ チェック、検証について説明します。あなたの設定と比較するのに役立つかもしれません。 Re: T2080 Custom board booting from SPI NOR flash カスタム ボードをハードコードされた RCW モードとして構成し、CCS コマンドを正常に実行できるかどうかを確認してください。 はいの場合は、SPI NOR フラッシュからブートするカスタム ボードを構成し、次の点を確認してください。 PORESET_B がデアサートされた後、HRESET_B がデアサートされ (RCW が正常にロードされたことを示します)、ASLEEP 信号はローになります (PBI が正常にロードされたことを示します)。 Re: T2080 Custom board booting from SPI NOR flash ターゲットボードをSPIブートモードに設定し、ccsで指定されたコマンドを実行すると、「T2080: コアが応答していません」というエラーが発生します。 これで、ロードされた RCW ワードに応じて反映される RCW ステータス レジスタを読み取ることができるようになりました。 読み込まれたRCWワードは 00000000: aa55aa55 010e0100 0a08000c 0c000000 00000010: 00000000 00000000 1c190000 0053ac00 00000020: 58045000 41000000 00300000 00000000 00000030: 00000000 00000000 00000000 5280000d 00000040: 00000000 00000001 08138040 65e0e49c エラーを解決するには、RCWワードを確認してください。 Re: T2080 Custom board booting from SPI NOR flash ターゲット ボードを SPI NOR フラッシュからブートするように構成してください。 次に、C:\Freescale\CW_PA_v10.5.1\PA\ccs\ccs\bin\ccs.exe から CCS を開き、次のコマンドを入力して検証を行います。 % すべて削除 % config cc cwtap % ccs::config_chain t2080 % ccs::reset_to_debug エラーが返された場合は、RCW に問題があることを意味するため、RCW 構成を調整する必要があります。
查看全文
S32G399 通过 SJA1110 与 TJA1120 对话 大家好, 我想知道S32G399 如何通过SJA1110 与TJA1120通信。 下图解释了我的连接: S32G399与SJA1110之间的接口是SPI_AP,而TJA1120则通过SMI_OUT 与SJA1110连接。 目前,我已成功实现了G3和SJA1110 之间的SPI_AP通信。下一步,我将使用G3通过SJA1110 与TJA1120 通信。我浏览了SJA1110 UM11107 软件用户手册 rev2.0,但没有找到关于如何使用SMI_OUT接口访问外部 PHY(我的情况是TJA1120)的详细说明。 我的用途可以实现吗?我知道可以在上电阶段通过SMI_OUT 将固件闪入SJA1110并配置TJA1120(已尝试并成功运行)。如果G3需要获取TJA1120 的实时状态,该如何实现这一请求? BR、 杨 Re: S32G399 talk to TJA1120 through SJA1110 嗨,chenyin_h; 非常感谢你的澄清。 是的,我打算使用 G3 直接访问 TJA1120。如果不可行,我会另想办法。 BR、 杨 Re: S32G399 talk to TJA1120 through SJA1110 你好,@Yang_C 谢谢您的帖子。 那么要求是使用 G3 CPU 直接访问 PHY(连接到 SJA1110)? 目前,从 S32G3 官方代码包的角度来看,它不受支持(无论是从 Linux 电路板支持包还是 M7 端 RTD 来看) BR 切宁
查看全文
KW45 based BLE dongle Dear Team, I look over the NXP product lineup and say many MCU have a BLE dongle which best suits some application for Testing and development. I want to know if any such device exists for KW45 MCU? I am in real need for KW45 based dongle. If it does not exist -  1. Do we have any other dongle which I can use to receive data over BLE which I can program the same code made for KW45 MCU ? 2. I know point 1 is difficult, but if we can migrate code from KW45 to other MCU and do this? Example - KW40 can use same code by migrating KW45 code and doing some changes. If 2 is possible, can you provide MCU details and Migration guide if available? BR, Tomaru USB-KW38 USB-KW41Z BLE-NFC KW45B41Z-EVK KW45  Kinetis K Series MCUs Re: KW45 based BLE dongle Hi, @tomaru  Anything else I can do for you on this case? If no other concerns, would you mind to mark my answer as a solution for this case so that we can close this thread? Please feel free to create new case to us if you meet any other issue during using our products. Best regards, Christine. Re: KW45 based BLE dongle Hi, @tomaru  I am so sorry for the inconvenience because we do not have a USB-Dongle based on KW45 BLE chip. 1. Do we have any other dongle which I can use to receive data over BLE which I can program the same code made for KW45 MCU ? ==>Sorry, we do not have. 2. I know point 1 is difficult, but if we can migrate code from KW45 to other MCU and do this? ==>Sorry, I worry it is not possible.  You might think about our other USB-Dongles such as USB-KW38, USB-KW40, USB-KW41. I know it is not convenient for you, but currently, we do not have such kind of dongle for KW45 and also not possible to migrate code from KW45 to other USB-Dongles. Best regards, Christine.
查看全文
S12-Compiler -Error How to resolve large-scale compilation errors? Below are some errors encountered during the build process. Engineers, please provide answers. Thank you. 如何解决大规模编译错误,以下是编译过程中遇到的一些错误。工程师们,请提供答案。谢谢。 错误导致工具中止。 mingw32-make: *** [来源/ADC_c.obj] 错误 1 mingw32-make: *** 正在等待未完成的工作...... mingw32-make: *** [来源/main_c.obj] 错误 1 Re: S12-Compiler -Error Hi, Could you provide us with more details? 1) Which codewarrior version are you using? 2) Are you able yo build an empty project generated by project wizard for the MCU you are targetting? 3) The error message does not include any hint.  Can you send us entire build console listing? e.g. are you able to bulild at least some .c files? 4) can you delete your output folder (e.g. DEBUG_FLASH) and rebuld the project? This will helpl us to find a rootcause much faster Thanks. Stan
查看全文
GMAC0 in MII mode on s32g2 not getting the clk Hi All, We are working on a custom hardware platform based on s32g2. where we are trying to make GMAC0 Eth communication working. GMAC0 is connected to external PHY "DP83848Q" as in the attached schematic section: The DTS setting is as: &gmac0 { status = "okay"; clocks = <&clks S32CC_SCMI_CLK_GMAC0_AXI>, <&clks S32CC_SCMI_CLK_GMAC0_RX_MII>, <&clks S32CC_SCMI_CLK_GMAC0_TX_MII>; clock-names = "stmmaceth","rx_mii","tx_mii"; phy-interface-type = "mii"; pinctrl-names = "gmac_mii","gmac_mii"; pinctrl-0 = <&gmac0miic_pins>,<&gmac0mdioc_pins>; phy-mode = "mii"; phy-handle = <&gmac_mdio_a_phy1>; fixed-link { speed = <100>; full-duplex; }; }; &gmac0_mdio { status = "okay"; compatible = "snps,dwmac-mdio"; #address-cells = <0x01>; #size-cells = <0x00>; /* DP83848Q */ gmac_mdio_a_phy1: ethernet-phy@3 { device_type = "ethernet-phy"; compatible = "ethernet-phy-ieee802.3-c22"; reg = <0x01>; ref-clock = <0x17d7840>; max-speed = <100>; full-duplex; }; gmac0mdioc_pins: gmac0mdioc_pins { gmac0mdioc_grp0 { pinmux = ; output-enable; slew-rate = ; }; gmac0mdioc_grp1 { pinmux = ; output-enable; input-enable; slew-rate = ; }; gmac0mdioc_grp2 { pinmux = ; }; }; gmac0miic_pins: gmac0miic_pins { gmac0miic_grp0 { pinmux = , , , , ; output-enable; slew-rate = ; }; gmac0miic_grp1 { pinmux = , , , , , , , , ; input-enable; slew-rate = ; }; gmac0miic_grp2 { pinmux = ; input-enable; bias-pull-up; }; gmac0miic_grp3 { pinmux = , , , , , , , , , ; }; }; -----------------------------------------------------------------------   hwconfig is " serdes0:mode=xpcs0&xpcs1,clock=int,skip=boot,fmhz=125;xpcs0_1:speed=1G;serdes1:mode=xpcs0&xpcs1,clock=int,fmhz=125;xpcs1_1:speed=1G The debug output shows that the clocks are not getting generated: dmesg | grep eth [    0.000000] psci: probing for conduit method from DT. [    2.409826] UDC core: g_ether: couldn't find an available UDC [    2.561437] s32cc-dwmac 4033c000.ethernet: IRQ eth_wake_irq not found [    2.561450] s32cc-dwmac 4033c000.ethernet: IRQ eth_lpi not found [    2.561667] s32cc-dwmac 4033c000.ethernet: PTP uses main clock [    2.561816] s32cc-dwmac 4033c000.ethernet: Can't set tx clock [    2.561824] s32cc-dwmac: probe of 4033c000.ethernet failed with error -5 [    5.174441] pfeng 46000000.pfe: PFEng ethernet driver loading ...   cat /sys/kernel/debug/clk/clk_summary | grep gmac0_axi gmac0_axi                           0       0        0        400000000   0          0     50000      Y   deviceless                      no_connection_id root@s32g2-vcup-platform:~# cat /sys/kernel/debug/clk/clk_summary | grep gmac0 gmac0_axi                           0       0        0        400000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_tx_mii                        0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_mii                        0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_tx_rmii                       0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_rmii                       0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_tx_rgmii                      0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_rgmii                      0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_tx_sgmii                      0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_sgmii                      0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_ts                            0       0        0        200000000   0          0     50000      Y   deviceless                      no_connection_id root@s32g2-vcup-platform:~# cat /sys/kernel/debug/clk/clk_summary | grep gmac0_axi gmac0_axi                           0       0        0        400000000   0          0     50000      Y   deviceless                      no_connection_id   Re: GMAC0 in MII mode on s32g2 not getting the clk hi @Joey_z  Ok, thanks ... Looking for resolution soon. Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Sorry for the reply late. I have known you post a new private ticket; we will continue to support you on it. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply. I know that you used the customer board and the PHY not on our development board, so I cannot be easy to reset your hardware and help you to test. I will discuss with the internal expert team to check if there are any other ways to help you. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hi Joey_z, >>>> Do you mean that you can use the MII mode of GMAC0 normally during using BSP38? yes >>> Which content of GMAC0 has been changed in BSP38 for your hardware? That we dont know because we dont have the sources/patch with us. What we have is only DTS file and we are expecting that with DTS change things should work, we are not expecting to hack the kernel code to make MII mode of GMAC0 to work and if that is the case we need NXP to support here because we are using BSP & SoC of NXP's  Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply and the information. Do you mean that you can use the MII mode of GMAC0 normally during using BSP38? Which content of GMAC0 has been changed in BSP38 for your hardware? You can try to find those modified contents of BSP38 and refer to it to modify the BSP43. Mainly follow the content of dts/ATF/Kernel about GMAC0. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hello Joey_z The hardware we are using is enclosed one, its difficult to probe the signals. Moreover it is a working hardware using Linux BSP38. With the current BSP43 we are getting this issue. Regards, Misbah Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Sorry for the reply late. Thank you for your detail information, I will help you to check it. Also, could you use an oscilloscope to test the external clock of MII? Check if it is normal. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hi @Joey_z  The below change you suggested is for bootloader, but we need the change in linux kernel, I tried to hardcode in "stmmac/dwmac-s32cc.c" the RX & TX clock to 25Mhz but it didnt solved the issue. Please suggest as how shall we proceed to make the below change to get the Rx clock configured for 25Mhz cat /sys/kernel/debug/clk/clk_summary | grep gmac0 gmac0_axi                           2       2        0        400000000   0          0     50000      Y   4033c000.ethernet               pclk gmac0_tx_mii                        1       1        0        25000000    0          0     50000      Y   4033c000.ethernet               tx_mii gmac0_rx_mii                        1       1        0        125000000   0          0     50000      Y   4033c000.ethernet               rx_mii   Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply. Try to remove the GMAC0 MII clock in your configuration. &gmac0 { status = "okay"; phy-mode = "mii"; clocks = <&clks S32CC_SCMI_CLK_GMAC0_AXI>, <&clks S32CC_SCMI_CLK_GMAC0_RX_MII>, <&clks S32CC_SCMI_CLK_GMAC0_TX_MII>; clock-names = "stmmaceth", "rx_mii", "tx_mii"; phy-interface-type = "mii"; pinctrl-names = "gmac_mii","gmac_mii"; pinctrl-0 = <&gmac0mii_pins>,<&gmac0mdio_pins>; pinctrl-1 = <&gmac0mdio_pins>; phy-handle = <&mdio_a_phy3>; fixed-link { speed = <100>; full-duplex; }; }; Also, you can try to modify the file of dtb to limit the clock to 25Mhz. I hope your problem can be solved. I'm sorry that I have to take a vacation of over a week. If your problem still exists, you can create a new ticket and my colleagues will provide you with support, or wait for me to come back. BR  Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hi @Joey_z, The device tree entry in the ATS is as: &gmac0 { status = "okay"; phy-mode = "mii"; clocks = <&clks S32CC_SCMI_CLK_GMAC0_AXI>, <&clks S32CC_SCMI_CLK_GMAC0_RX_MII>, <&clks S32CC_SCMI_CLK_GMAC0_TX_MII>; clock-names = "stmmaceth", "rx_mii", "tx_mii"; phy-interface-type = "mii"; pinctrl-names = "gmac_mii","gmac_mii"; pinctrl-0 = <&gmac0mii_pins>,<&gmac0mdio_pins>; pinctrl-1 = <&gmac0mdio_pins>; phy-handle = <&mdio_a_phy3>; fixed-link { speed = <100>; full-duplex; }; }; &gmac0_mdio { mdio_a_phy3: ethernet-phy@3 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <1>; ref-clock = <0x17d7840>; max-speed = <100>; full-duplex; }; }; What additional setting is needed to get the clk in u-boot for gmac0 ? "2. About your log, I can find the clock of MII has been configured in kernel, it is a good thing, you can try to set the gmac0_rx_mii to 25MHz." How shall i configure the gmac0_rx_mii to 25MHz ? Is it by hwconfig or dts ? Can you suggest  Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply and information. 1.Dose the clock configuration from ATF as below? I think you need not to use the SCMI for setting MII clock, the clock of MII from external PHY. clocks = <&clks S32CC_SCMI_CLK_GMAC0_AXI>, <&clks S32CC_SCMI_CLK_GMAC0_RX_MII>, <&clks S32CC_SCMI_CLK_GMAC0_TX_MII>; clock-names = "stmmaceth", "rx_mii", "tx_mii"; 2. About your log, I can find the clock of MII has been configured in kernel, it is a good thing, you can try to set the gmac0_rx_mii to 25MHz. root@s32g2-vcup-platform:~# cat /sys/kernel/debug/clk/clk_summary | grep gmac0 gmac0_axi                           1       1        0        400000000   0          0     50000      Y   4033c000.ethernet               stmmaceth gmac0_tx_mii                        1       1        0        25000000    0          0     50000      Y   4033c000.ethernet               tx_mii gmac0_rx_mii                        1       1        0        125000000   0          0     50000      Y   4033c000.ethernet               rx_mii Hope this can help you. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hi @Joey_z The clock is getting generated by PHY (TX & RX) pls check the schematic section : Following is my DTS setting: &gmac0 { status = "okay"; phy-mode = "mii"; clocks = <&clks S32CC_SCMI_CLK_GMAC0_AXI>, <&clks S32CC_SCMI_CLK_GMAC0_RX_MII>, <&clks S32CC_SCMI_CLK_GMAC0_TX_MII>; clock-names = "stmmaceth", "rx_mii", "tx_mii"; phy-interface-type = "mii"; pinctrl-names = "gmac_mii","gmac_mii"; pinctrl-0 = <&gmac0mii_pins>,<&gmac0mdio_pins>; pinctrl-1 = <&gmac0mdio_pins>; phy-handle = <&mdio_a_phy3>; fixed-link { speed = <100>; full-duplex; }; }; &gmac0_mdio { mdio_a_phy3: ethernet-phy@3 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <1>; ref-clock = <0x17d7840>; max-speed = <100>; full-duplex; }; }; --------------------------------------------------------------- getting the error in u-boot as: clk_enable(clk_rx) failed: -71 eth_eqos ethernet@4033c000: Failed to start clocks (err=-71) eqos_start_clks() failed: -71 What is missing so that gmac0 is not getting the clk: 14|    GMAC_0_TX |     FXOSC |    2.500 -  125.000 |    0.000 -    0.015    15|      GMAC_TS |     FXOSC |    5.000 -  200.000 |    0.000 -    0.015    16|          LIN |     FXOSC |             125.000 |              62.500    17|      QSPI_1X |     FXOSC |    0.000 -  200.000 |             199.218    18|         SDHC |     FXOSC |             400.000 |             398.437    20|          DDR |      FIRC |             666.666 |             812.500    21|    GMAC_0_RX |     FXOSC |    2.500 -  125.000 |              47.851 While in the kernel i don't see this error & eth0 node is getting created as: Although ping is not working.  But need to fix the issue in u-boot first. root@s32g2-vcup-platform:~# cat /sys/kernel/debug/clk/clk_summary | grep gmac0 gmac0_axi                           1       1        0        400000000   0          0     50000      Y   4033c000.ethernet               stmmaceth gmac0_tx_mii                        1       1        0        25000000    0          0     50000      Y   4033c000.ethernet               tx_mii gmac0_rx_mii                        1       1        0        125000000   0          0     50000      Y   4033c000.ethernet               rx_mii gmac0_tx_rmii                       0       0        0        25000000    0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_rmii                       0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_tx_rgmii                      0       0        0        25000000    0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_rgmii                      0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_tx_sgmii                      0       0        0        25000000    0          0     50000      Y   deviceless                      no_connection_id gmac0_rx_sgmii                      0       0        0        125000000   0          0     50000      Y   deviceless                      no_connection_id gmac0_ts                            0       0        0        200000000   0          0     50000      Y   deviceless                      no_connection_id Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply and informaion. Refer to your log, the clock is not correctly setting thought the external PHY. 1.About the GMAC0, your pin using is correct. 2.You can try to check the clock the PHY clock, make sure the TX/RX from the PHY and useful. Hope this can help you. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hi Joey, For your reference ... -------------------------- mdio list pfeng-mdio-1: 1b - Generic PHY <--> pfe1 pfeng-mdio-2: 1b - Generic PHY <--> pfe2 => mii info PHY 0x1B: OUI = 0x06EC, Model = 0x03, Rev = 0x01,  10baseT, HDX => ver   verifclk version => verifclk CMU | Monitored    | Reference | Expected            | Verified ID  | clock        | clock     | range (MHz)         | range (MHz) -----|--------------|-----------|---------------------|--------------------     0|        FXOSC |      FIRC |              40.000 |              39.062     1|         FIRC |     FXOSC |   45.600 -   50.400 |              48.080     2|         SIRC |     FXOSC |               0.032 |               0.031 Timeout while measuring the frequency of FTM_0_REF     3|    FTM_0_REF |     FXOSC |              40.000 |               0.000 Timeout while measuring the frequency of FTM_1_REF     4|    FTM_1_REF |     FXOSC |              40.000 |               0.000     5|    XBAR_DIV3 |      FIRC |             133.333 |             132.812     6|    XBAR_M7_0 |      FIRC |             400.000 |             406.250     7|    XBAR_DIV3 |     FXOSC |             133.333 |             132.812     8|    XBAR_M7_1 |      FIRC |             400.000 |             406.250     9|    XBAR_M7_2 |      FIRC |             400.000 |             406.250    10|          PER |      FIRC |              80.000 |              78.125    11|   SERDES_REF |     FXOSC |  100.000 -  125.000 |              99.609    12|   FLEXRAY_PE |     FXOSC |              40.000 |    0.000 -    0.015    13|       CAN_PE |     FXOSC |              80.000 |              47.851    14|    GMAC_0_TX |     FXOSC |    2.500 -  125.000 |    0.000 -    0.015    15|      GMAC_TS |     FXOSC |    5.000 -  200.000 |    0.000 -    0.015    16|          LIN |     FXOSC |             125.000 |              62.500    17|      QSPI_1X |     FXOSC |    0.000 -  200.000 |             199.218    18|         SDHC |     FXOSC |             400.000 |             398.437    20|          DDR |      FIRC |             666.666 |             812.500    21|    GMAC_0_RX |     FXOSC |    2.500 -  125.000 |              47.851    22|          SPI |     FXOSC |             100.000 |              47.851    27|     A53_CORE |     FXOSC |            1000.000 |            1000.000    28|     A53_CORE |      FIRC |            1000.000 |            1000.000    39|      PFE_SYS |     FXOSC |             300.000 |             300.781    46| PFE_MAC_0_TX |     FXOSC |    2.500 -  312.500 |    0.000 -    0.015    47| PFE_MAC_0_RX |     FXOSC |    2.500 -  312.500 |              47.851    48| PFE_MAC_1_TX |     FXOSC |    2.500 -  125.000 |    0.000 -    0.015    49| PFE_MAC_1_RX |     FXOSC |    2.500 -  125.000 |              47.851    50| PFE_MAC_2_TX |     FXOSC |    2.500 -  125.000 |    0.000 -    0.015    51| PFE_MAC_2_RX |     FXOSC |    2.500 -  125.000 |              47.851 Re: GMAC0 in MII mode on s32g2 not getting the clk Hi Joey, I made the following change: mc_cgm6: mc_cgm6@4053c000 { compatible = "nxp,s32cc-mc_cgm6"; reg = <0x0 0x4053c000 0x0 0x3000>; assigned-clocks = <&plat_clks S32G_CLK_MC_CGM6_MUX0>, <&plat_clks S32G_CLK_MC_CGM6_MUX1>, <&plat_clks S32G_CLK_MC_CGM6_MUX2>, <&plat_clks S32GEN1_CLK_GMAC0_TS>; assigned-clock-parents = <&plat_clks S32GEN1_CLK_PERIPH_PLL_PHI4>, //<&plat_clks S32GEN1_CLK_PERIPH_PLL_PHI5>, <&plat_clks S32GEN1_CLK_GMAC0_EXT_TX>, <&plat_clks S32GEN1_CLK_GMAC0_EXT_RX>; assigned-clock-rates = <0>, <0>, <0>, <200000000>; }; Now i am getting error in RX clock as: Net:   Enable protocol@14 failed clk_enable(clk_rx) failed: -71 eth_eqos ethernet@4033c000: Failed to start clocks (err=-71) eqos_start_clks() failed: -71 Found PFE version 0x50300 (S32G2) Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you reply and more information. If you set the GMAC0 as the MII mode, you should use the ext clock for GMAC0_TX_CLK. Please check your GMAC0 clock setting, the MUX1 of CGM6 should chose the ext clk. About the file of s32g3.dtsi, you can try to modify the cgm6 configuration. Hope this can help you. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hello Joey_z Please find the log for the u-boot command executed as below: ---------------------------------------------------------------------------- DRAM: 3.5 GiB Inside dm_init_and_scan............ PFE2 PHY reset PFE1 PHY reset GMAC0 PHY reset PFE0 RX enable Core: 314 devices, 25 uclasses, devicetree: board MMC: FSL_SDHC: 0 Loading Environment from SPIFlash... SF: Detected mt35xu01gbba with page size 256 Bytes, erase size 4 KiB, total 128 MiB *** Warning - bad CRC, using default environment Failed to configure XPCS0_1 Failed to update XPCS1 for SerDes0 Failed to configure XPCS1_1 Failed to update XPCS1 for SerDes1 In: serial@401c8000 Out: serial@401c8000 Err: serial@401c8000 Board revision: RDB2 Net: Enable protocol@14 failed clk_enable(clk_rx) failed: -71 eth_eqos ethernet@4033c000: Failed to start clocks (err=-71) eqos_start_clks() failed: -71 Found PFE version 0x50300 (S32G2) pfeng pfeng-base: Uploading CLASS firmware pfeng pfeng-base: EMAC0 block was initialized pfeng pfeng-base: EMAC1 block was initialized pfeng pfeng-base: EMAC2 block was initialized pfeng pfeng-base: Enabling the CLASS block pfeng pfeng-base: PFE Platform started successfully (mask: 7) eth1: pfe0s32cc_serdes_phy serdes@44180000: Using mode 3 for SerDes subsystem s32cc_serdes_phy serdes@44180000: Stable RX detected on XPCS1 after 0 µs , eth2: pfe1s32cc_serdes_phy serdes@40480000: Using mode 3 for SerDes subsystem s32cc_serdes_phy serdes@40480000: Stable RX detected on XPCS1 after 1 µs , eth3: pfe2 Hit any key to stop autoboot: 0 => clk dump Rate Usecnt Name ------------------------------------------ 40000000 0 |-- fxosc@40050000 51000000 0 |-- firc 32000 0 |-- sirc 20000000 0 |-- ftm0_ext 20000000 0 |-- ftm1_ext 125000000 0 |-- gmac0_ext_rx 125000000 0 |-- gmac0_ext_tx 50000000 0 |-- gmac0_rmii_ref 200000000 0 |-- gmac0_ext_ts 100000000 0 |-- serdes_100_ext 125000000 0 |-- serdes_125_ext 125000000 0 |-- serdes0_lane0_ext_cdr 125000000 0 |-- serdes0_lane0_ext_tx 125000000 0 |-- serdes0_lane1_ext_cdr 125000000 0 |-- serdes0_lane1_ext_tx 125000000 0 |-- serdes1_lane0_ext_cdr 125000000 0 |-- serdes1_lane0_ext_tx 125000000 0 |-- serdes1_lane1_ext_cdr 125000000 0 |-- serdes1_lane1_ext_tx 1 0 |-- pfe_mac0_rmii 1 0 |-- pfe_mac1_rmii 1 0 |-- pfe_mac2_rmii 1000000000 0 |-- a53 400000000 2 |-- serdes_axi 51000000 2 |-- serdes_aux 133333333 2 |-- serdes_apb 100000000 2 |-- serdes_ref 80000000 0 |-- ftm0_sys 40000000 0 |-- ftm0_ext 80000000 0 |-- ftm1_sys 40000000 0 |-- ftm1_ext 133333333 0 |-- flexcan_reg 133333333 0 |-- flexcan_sys 80000000 0 |-- flexcan_can 200000000 0 |-- flexcan_ts 62500000 0 |-- linflex_xbar 125000000 1 |-- linflex_lin 0 0 |-- gmac0_ts 125000000 0 |-- gmac0_rx_sgmii 0 0 |-- gmac0_tx_sgmii 125000000 0 |-- gmac0_rx_rgmii 0 0 |-- gmac0_tx_rgmii 125000000 0 |-- gmac0_rx_rmii 0 0 |-- gmac0_tx_rmii 125000000 0 |-- gmac0_rx_mii 0 0 |-- gmac0_tx_mii 400000000 0 |-- gmac0_axi 100000000 0 |-- spi_reg 100000000 0 |-- spi_module 133333333 0 |-- qspi_reg 133333333 0 |-- qspi_ahb 400000000 0 |-- qspi_flash2x 200000000 2 |-- qspi_flash1x 400000000 0 |-- usdhc_ahb 133333333 0 |-- usdhc_module 400000000 1 |-- usdhc_core 32000 0 |-- usdhc_mod32k 133333333 0 |-- ddr_reg 800000000 0 |-- ddr_pll_ref 800000000 0 |-- ddr_axi 400000000 0 |-- sram_axi 133333333 0 |-- sram_reg 133333333 0 |-- i2c_reg 133333333 0 |-- i2c_module 66666666 0 |-- siul2_reg 51000000 0 |-- siul2_filter 133333333 0 |-- crc_reg 133333333 0 |-- crc_module 100000000 0 |-- eim0_reg 100000000 0 |-- eim0_module 66666666 0 |-- eim123_reg 66666666 0 |-- eim123_module 66666666 0 |-- eim_reg 66666666 0 |-- eim_module 66666666 0 |-- fccu_module 51000000 0 |-- fccu_safe 66666666 0 |-- rtc_reg 32000 0 |-- rtc_sirc 51000000 0 |-- rtc_firc 133333333 0 |-- swt_module 51000000 0 |-- swt_counter 133333333 0 |-- stm_module 133333333 0 |-- stm_reg 133333333 0 |-- pit_module 133333333 0 |-- pit_reg 400000000 0 |-- edma_module 400000000 0 |-- edma_ahb 80000000 1 |-- sar_adc_bus 66666666 0 |-- cmu_module 66666666 0 |-- cmu_reg 133333333 0 |-- tmu_module 133333333 0 |-- tmu_reg 133333333 0 |-- flexray_reg 0 0 |-- flexray_pe 66666666 0 |-- wkpu_module 66666666 0 |-- wkpu_reg 66666666 0 |-- src_module 66666666 0 |-- src_reg 66666666 0 |-- src_top_module 66666666 0 |-- src_top_reg 133333333 0 |-- ctu_module 80000000 0 |-- ctu_ctu 200000000 0 |-- dbg_sys4 400000000 0 |-- dbg_sys2 400000000 0 |-- m7 133333333 0 |-- dmamux_module 133333333 0 |-- dmamux_reg 500000000 0 |-- gic_module 133333333 0 |-- mscm_module 133333333 0 |-- mscm_reg 133333333 0 |-- sema42_module 133333333 0 |-- sema42_reg 66666666 0 |-- xrdc_module 66666666 0 |-- xrdc_reg 0 0 |-- clkout0 0 0 |-- clkout1 100000000 0 |-- usb_mem 32000 0 |-- usb_low 0 0 |-- pfe0_rx_sgmii 0 0 |-- pfe0_tx_sgmii 0 0 |-- pfe0_rx_rgmii 0 0 |-- pfe0_tx_rgmii 0 0 |-- pfe0_rx_rmii 0 0 |-- pfe0_tx_rmii 0 0 |-- pfe0_rx_mii 0 0 |-- pfe0_tx_mii 0 0 |-- pfe1_rx_sgmii 0 0 |-- pfe1_tx_sgmii 0 0 |-- pfe1_rx_rgmii 0 0 |-- pfe1_tx_rgmii 0 0 |-- pfe1_rx_rmii 0 0 |-- pfe1_tx_rmii 0 0 |-- pfe1_rx_mii 0 0 |-- pfe1_tx_mii 0 0 |-- pfe2_rx_sgmii 0 0 |-- pfe2_tx_sgmii 0 0 |-- pfe2_rx_rgmii 0 0 |-- pfe2_tx_rgmii 0 0 |-- pfe2_rx_rmii 0 0 |-- pfe2_tx_rmii 0 0 |-- pfe2_rx_mii 0 0 |-- pfe2_tx_mii 300000000 1 |-- pfe_axi 300000000 0 |-- pfe_apb 600000000 1 |-- pfe_pe 0 0 |-- pfe_ts 80000000 0 |-- llce_can_pe 200000000 0 |-- llce_sys 80000000 0 `-- llce_per 1000000000 0 |-- a53 400000000 2 |-- serdes_axi 51000000 2 |-- serdes_aux 133333333 2 |-- serdes_apb 100000000 2 |-- serdes_ref 80000000 0 |-- ftm0_sys 40000000 0 |-- ftm0_ext 80000000 0 |-- ftm1_sys 40000000 0 |-- ftm1_ext 133333333 0 |-- flexcan_reg 133333333 0 |-- flexcan_sys 80000000 0 |-- flexcan_can 200000000 0 |-- flexcan_ts 62500000 0 |-- linflex_xbar 125000000 1 |-- linflex_lin 0 0 |-- gmac0_ts 125000000 0 |-- gmac0_rx_sgmii 0 0 |-- gmac0_tx_sgmii 125000000 0 |-- gmac0_rx_rgmii 0 0 |-- gmac0_tx_rgmii 125000000 0 |-- gmac0_rx_rmii 0 0 |-- gmac0_tx_rmii 125000000 0 |-- gmac0_rx_mii 0 0 |-- gmac0_tx_mii 400000000 0 |-- gmac0_axi 100000000 0 |-- spi_reg 100000000 0 |-- spi_module 133333333 0 |-- qspi_reg 133333333 0 |-- qspi_ahb 400000000 0 |-- qspi_flash2x 200000000 2 |-- qspi_flash1x 400000000 0 |-- usdhc_ahb 133333333 0 |-- usdhc_module 400000000 1 |-- usdhc_core 32000 0 |-- usdhc_mod32k 133333333 0 |-- ddr_reg 800000000 0 |-- ddr_pll_ref 800000000 0 |-- ddr_axi 400000000 0 |-- sram_axi 133333333 0 |-- sram_reg 133333333 0 |-- i2c_reg 133333333 0 |-- i2c_module 66666666 0 |-- siul2_reg 51000000 0 |-- siul2_filter 133333333 0 |-- crc_reg 133333333 0 |-- crc_module 100000000 0 |-- eim0_reg 100000000 0 |-- eim0_module 66666666 0 |-- eim123_reg 66666666 0 |-- eim123_module 66666666 0 |-- eim_reg 66666666 0 |-- eim_module 66666666 0 |-- fccu_module 51000000 0 |-- fccu_safe 66666666 0 |-- rtc_reg 32000 0 |-- rtc_sirc 51000000 0 |-- rtc_firc 133333333 0 |-- swt_module 51000000 0 |-- swt_counter 133333333 0 |-- stm_module 133333333 0 |-- stm_reg 133333333 0 |-- pit_module 133333333 0 |-- pit_reg 400000000 0 |-- edma_module 400000000 0 |-- edma_ahb 80000000 1 |-- sar_adc_bus 66666666 0 |-- cmu_module 66666666 0 |-- cmu_reg 133333333 0 |-- tmu_module 133333333 0 |-- tmu_reg 133333333 0 |-- flexray_reg 0 0 |-- flexray_pe 66666666 0 |-- wkpu_module 66666666 0 |-- wkpu_reg 66666666 0 |-- src_module 66666666 0 |-- src_reg 66666666 0 |-- src_top_module 66666666 0 |-- src_top_reg 133333333 0 |-- ctu_module 80000000 0 |-- ctu_ctu 200000000 0 |-- dbg_sys4 400000000 0 |-- dbg_sys2 400000000 0 |-- m7 133333333 0 |-- dmamux_module 133333333 0 |-- dmamux_reg 500000000 0 |-- gic_module 133333333 0 |-- mscm_module 133333333 0 |-- mscm_reg 133333333 0 |-- sema42_module 133333333 0 |-- sema42_reg 66666666 0 |-- xrdc_module 66666666 0 |-- xrdc_reg 0 0 |-- clkout0 0 0 |-- clkout1 100000000 0 |-- usb_mem 32000 0 |-- usb_low 0 0 |-- pfe0_rx_sgmii 0 0 |-- pfe0_tx_sgmii 0 0 |-- pfe0_rx_rgmii 0 0 |-- pfe0_tx_rgmii 0 0 |-- pfe0_rx_rmii 0 0 |-- pfe0_tx_rmii 0 0 |-- pfe0_rx_mii 0 0 |-- pfe0_tx_mii 0 0 |-- pfe1_rx_sgmii 0 0 |-- pfe1_tx_sgmii 0 0 |-- pfe1_rx_rgmii 0 0 |-- pfe1_tx_rgmii 0 0 |-- pfe1_rx_rmii 0 0 |-- pfe1_tx_rmii 0 0 |-- pfe1_rx_mii 0 0 |-- pfe1_tx_mii 0 0 |-- pfe2_rx_sgmii 0 0 |-- pfe2_tx_sgmii 0 0 |-- pfe2_rx_rgmii 0 0 |-- pfe2_tx_rgmii 0 0 |-- pfe2_rx_rmii 0 0 |-- pfe2_tx_rmii 0 0 |-- pfe2_rx_mii 0 0 |-- pfe2_tx_mii 300000000 1 |-- pfe_axi 300000000 0 |-- pfe_apb 600000000 1 |-- pfe_pe 0 0 |-- pfe_ts 80000000 0 |-- llce_can_pe 200000000 0 |-- llce_sys 80000000 0 |-- llce_per => => print hwconfig hwconfig=serdes0:mode=xpcs0&xpcs1,clock=int,fmhz=125;xpcs0_1:speed=1G;serdes1:mode=xpcs0&xpcs1,clock=int,fmhz=125;xpcs1_1:speed=1G; => mii info PHY 0x1B: OUI = 0x06EC, Model = 0x03, Rev = 0x01, 10baseT, HDX => mdio list pfeng-mdio-1: 1b - Generic PHY <--> pfe1 pfeng-mdio-2: 1b - Generic PHY <--> pfe2 => Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply. Refer to you Kernel log, the Gmac0 do not connect with PHY. Could you test the GMAC0 function in uboot and provide more information to us. 1.Check the GMAC0 clock in uboot to use the command of clk dump. => dump clk 2.Check the PHY of connection state with GMAC0, using the command of mii infro and mdio list in uboot. => print hwconfig => mii infro => mdio list 3.If connect GMAC0 with PHY successfully, could you please set Ip to Gmac0 and test the ping function. BR Joey Re: GMAC0 in MII mode on s32g2 not getting the clk Hello, We are using Linux BSP43 running on A53 core as OS. We are not running M7 . Re: GMAC0 in MII mode on s32g2 not getting the clk hi,khan_misbah Thank you for your reply. Which version of BSP are you using? And do you use the multi-core or only A core? BR Joey
查看全文
RT1060 + IW612 物质恒温器开发 BLE 调试期间的硬故障问题 您好,由于开发过程中遇到困难,我想与您联系。 我目前正在使用 RT1060 + IW612 开发一个 Matter 恒温器。 开发最初是使用 RT1060 EVKC 作为参考完成的,现在我正在新设计的目标板上进行测试。 两块主板的区别在于,EVKC 有 16MB 的闪存和 32MB 的 SDRAM,而目标板有 8MB 的闪存和 16MB 的 SDRAM。 此外,我正在修改 ZAP 文件,以添加一些群集和属性。 但是,我在 BLE 调试过程中遇到了硬故障问题,而且总是在同一个群集和属性上。 调试过程中,在硬故障发生前会持续输出以下信息: [57841] [TRACE] [DMG] 读取属性:Cluster=0x0000_0031 Endpoint=0 AttributeId=0x0000_0001 (expanded=1) 我无法确定造成这一问题的原因。请帮帮我。谢谢。 Re: Hardfault Issue During BLE Commissioning with RT1060 + IW612 Matter Thermostat Development 你好 您是根据指南或文件将示例调整为适合您的特定 RT1060 MCU 吗? 您对事例做了哪些修改? 此致, 里卡多 Re: Hardfault Issue During BLE Commissioning with RT1060 + IW612 Matter Thermostat Development 目前,其他应用程序运行良好。 在发生硬故障之前,LVGL 的添加工作也已完成。 修改 Zap 文件以完成群组和属性的添加。 目前使用的 MCU 是 NXP RT1062CVL5B EN25QX64A 闪存:8MB M12L128168A SDRAM:16MB 事项版本/1.4.0(RT1060 EVBC-恒温器) IW612:Ublox W-276 我们正在使用上述元器件。 请就这一关键问题做出答复。 谢谢! Re: Hardfault Issue During BLE Commissioning with RT1060 + IW612 Matter Thermostat Development 你好 希望你一切顺利。你能否澄清一下你使用的是什么 Matter 版本?(最新版本:版本 v1.4.0. 2.1 · nxp/Matter) 如您所知,物质示例已配置为可与我们的 EVK 配合使用:matter/examples/thermostat/nxp/README.md at v1.4.0.2 - NXP/matter 您是根据指南或文件将示例调整为特定的 RT1060 MCU 吗?能否提供完整的零件编号? 此外,您还能编程并运行其他应用程序吗? 顺祝商祺! 里卡多
查看全文
RT1060 + IW612 マターサーモスタット開発におけるBLEコミッショニング中のハードフォールト問題 こんにちは。開発に困難があるためご連絡いたします。 現在、RT1060 + IW612 を使用してマターサーモスタットを開発しています。 開発は当初、RT1060 EVKC をリファレンスとして行われ、現在は新しく設計されたターゲット ボードでテストを行っています。 2 つのボードの違いは、EVKC には 16MB のフラッシュと 32MB の SDRAM が搭載されているのに対し、ターゲット ボードには 8MB のフラッシュと 16MB の SDRAM が搭載されていることです。 さらに、ZAP ファイルを変更して、いくつかのクラスターと属性を追加しています。 ただし、BLE コミッショニング中に、常に同じクラスターと属性でハードフォールトの問題が発生しています。 試運転中、ハードフォールトが発生する前に、次のメッセージが一貫して出力されます。 [57841] [TRACE] [DMG] 読み取り属性: クラスター=0x0000_0031 エンドポイント=0 属性ID=0x0000_0001 (展開=1) この問題の原因を特定できません。助けてください。ありがとう。 Re: Hardfault Issue During BLE Commissioning with RT1060 + IW612 Matter Thermostat Development こんにちは、 特定の RT1060 MCU に例を適応させるために、ガイドまたはドキュメントに従っていますか? マター例にどのような変更を実施しましたか? よろしくお願いいたします。 リカルド Re: Hardfault Issue During BLE Commissioning with RT1060 + IW612 Matter Thermostat Development 現在、他のアプリケーションは正常に動作しております。 ハード障害が発生するまでには、LVGL の増設も完了していました。 Zap ファイルが変更され、クラスターと属性の追加が完了しました。 現在使用されている MCU は次のとおりです。 NXP RT1062CVL5B EN25QX64A フラッシュ: 8MB M12L128168A SDRAM: 16MB マター リリース / 1.4.0 (RT1060 EVBC - サーモスタット) IW612: ユーブロックス W-276 上記のコンポーネントを使用しています。 この重大な問題に関してご返答ください。 よろしくお願いします。 Re: Hardfault Issue During BLE Commissioning with RT1060 + IW612 Matter Thermostat Development こんにちは、 あなたの調子が良いといいのですが。どのような Matter リリースを使用しているのか明確にしていただけますか?(最新リリース:リリース v1.4.0.2.1 · NXP/マター ) ご存知のとおり、マター のサンプルは当社の EVK で動作するように設定されています: matter/examples/thermostat/nxp/README.md at v1.4.0.2 · NXP/matter 特定のRT1060 MCUに例を適用するために、ガイドやドキュメントに従っていますか?完全な部品番号を教えていただけますか? また、他のアプリケーションをプログラムして実行することはできましたか? よろしくお願いいたします。 リカルド
查看全文
在没有 QSPI 启动的情况下通过 S32 闪存工具确认直接 eMMC 刷新 亲爱的恩智浦团队 我们目前正在使用 S32G399A 平台,想确认是否可以通过 UART 直接使用 S32 闪存工具刷新 eMMC,无需事先从 QSPI 启动。 根据电路板支持包文档(第 4.1.3 节)- 设置 eMMC),方法 1 介绍通过 UART 使用闪存工具闪存 eMMC。你能确认一下这个方法是否支持独立组网 (SA) eMMC 闪存而不依赖于 QSPI 启动 我们的目标是避免使用 QSPI 启动,而是独立刷新 eMMC。请确认是否支持。 谨致 Guruprasad Re: Confirmation on Direct eMMC Flashing via S32 Flash Tool Without QSPI Boot 你好,@A_VIJAYA7 感谢你的回复, 我几天前通过支持门户网站回复了,是的,支持它,你可以将板更改为串行启动模式(无需提前切换到 QSPI 启动模式),然后使用 Flash Tool 在板上刷新 eMMC。 BR 切宁 Re: Confirmation on Direct eMMC Flashing via S32 Flash Tool Without QSPI Boot 你好@chenyin_h 我在支持票中也提出了同样的疑问,你能否确认是否有可能通过 UART 直接使用 S32 闪存工具刷新 eMMC,而无需事先从 QSPI 启动? 问候, Vijaya Re: Confirmation on Direct eMMC Flashing via S32 Flash Tool Without QSPI Boot 你好,@A_VIJAYA7 谢谢您的帖子。 我发现支持门户网站上也有类似的帖子,让我在那里回复您 很抱歉给您带来不便。 BR 切宁
查看全文
SC18M704のスレーブアドレスが検出されません こんにちは、 SC18M704(uart-i2c)モジュールのI2Cピンをimx8mp-axonにコネクテッドしました。SC18IM704のアドレスを検出してみました。しかし、検出できませんでした。SC18IM704 で検出が行われないのはなぜですか? ありがとう。 よろしくお願いいたします。 カマレシュ Re: slave address of SC18M704 is not detected こんにちは、カマレシュ 良い一日! 接続するための手順をいくつかご紹介します ホスト (i.MX8MP) からの UART を SC18IM704 に接続します。 UART 経由で SC18IM704 にコマンドを送信し、I2C 操作 (I2C スレーブへの読み取り/書き込み) を実行します。 SC18IM704 はバス上の I2C スレーブ デバイスと通信します。 I2C デバイスをスキャンする場合。I2C バスを i.MX8MP の I2C コントローラに直接接続します (SC18IM704 を経由しません)。 データシートの『第 7.1 章「UARTメッセージフォーマット」を参照することをお勧めします。 この情報がお役に立てば幸いです。他に何かご不明な点がございましたら、お知らせください。 素晴らしい一日をお過ごしください。幸運をお祈りします。 Re: slave address of SC18M704 is not detected こんにちは、ラファールさん。 迅速なご返信ありがとうございます。 このプロセスはUARTからI2Cへのものですよね?UARTから、エンドのI2Cデバイスにデータを送信しています。しかし、私は SC18IM704 の i2c から uart に 16 進データを送信したいのですが、ここでのエンド デバイスは別のプロセッサの uart です (このプロセッサの uart を SC18IM704 uart に接続します)。 よろしくお願いいたします。 カマレシュ Re: slave address of SC18M704 is not detected こんにちは、カマレシュ 良い一日! SC18IM704は、一般的なI2CスレーブデバイスのようにI2Cスキャンに応答せず、I2Cマスターとして機能します。つまり、i2cdetectには応答しません。 SC18IM704 には I2C アドレスがないため、i2cdetect を使用して SC18IM704 を検出することはできません。SC18IM704 は I2C アドレスに応答しません。 SC18IM704 は、i.MX8MP からの UART コマンドを介して制御されます。次のようなコマンドを送信します。 S P このコミュニティ投稿をご覧になることをお勧めします: SC18IM704 UART-I2C ブリッジでは、特定のターゲット デバイス アドレスの読み取りと書き込みが可能ですか? この情報がお役に立てば幸いです。他に何かご不明な点がございましたら、お知らせください。 素晴らしい一日をお過ごしください。幸運をお祈りします。
查看全文
Issue with writing to MPC5748G ADC Module Hello,  I am running into an  problem with the ADC module that I am not sure how to diagnose.  In my application, I am dropping the clock speeds down, along with turning off a lot of modules to get my current draw down to a low level. When I am trying to jump back into the regular speed, I cannot seem to write to the ADC module. I run into an IVOR1 exception. When I try to write to the ADC module with the debugger, I get a purple highlight of the register, indicating that the write did not occur.  I have looked through the AXI Bus registers and it does not look like any permissions are preventing me from writing to the module. I also do not have the SMPU enabled.  Are there any status registers that might help me diagnose this issue? Or, is there a simple way to "reset" the modules that I cannot write to? Re: Issue with writing to MPC5748G ADC Module Hello, I cannot seem to write to the ADC module. I run into an IVOR1 exception. Verify that your ADC is correctly clocked before write to it. 38.3.17 Peripheral Status Register 0 (MC_ME_PS0) This register provides the status of the peripherals. Other than missing clocks, register protection or XBAR access right I do not see any issues. But since you will end up in IVOR1 you can track it trough core registers: (see core reference manual) Best regards, Peter
查看全文
IMX8 MIPI CSI2 Weird artifacts every 4th pixel My name is Dorien and am the firmware engineer primarily working on the MIPI CSI debugging for the IMX8. While I probably can't share everything regarding source files and such, I do have a few questions and information that might point to something.  Currently, we are able to receive test patterns from a custom test pattern FPGA. There are a few issues with the output raw images but we are currently using the ISI along with the ov5640 mipi driver and v4l2 to obtain "raw image" captures. Even though we have a few options, we are able to successfully receive "perfect" white images and black images (where white and black are simply raw10 packets with all 10 bits set high or low).    However, when running what we are calling a "hgradient" pattern, OR any other set of bits that are not strictly white or strictly black, we start seeing some artifacts. We are currently receiving these test patterns as raw10 packets, our pipeline currently outputs the data shifted 4 bits to the right in LE format. For example the first pixel is white, the hex storage would be 0xF03F, after LE -> 0x3FF0 and shift by 4, 0x3FF, we get a 10 bit white pixel.   After running v4l2-ctl --stream-mmap --stream-count=1 --stream-to=/tmp/frame.raw and transferring the image off over SCP. We use a little python script to rearrange the 10 bit test pattern to be opened using cv2 libraries.    Output shows bypass csc Input fmt Y10P Output fmt Y10 <     At a first glance, we can see the initial artifact. The image itself is a true gradient ONLY when removing every 4th pixel from the image. This also occurs with other test patterns as well.   The second and third artifact are a bit more nebulous.   For some reason, every second line's first 4 pixels are always some dark color. Not always zero, but just always really dark.   The last two lines are always black for some reason. However we have reason to believe this is an fpga test pattern generation bug but still something to call out.   Alongside all of that, I recently discovered that when sending NON white/black test patterns, we are receiving CRC errors by directly reading the RX CSI register space during streaming.    I’m seeing an issue where every 4th byte of pixel data appears corrupted, but only on non-uniform images. White and black test patterns look fine. My first thought is that CRC errors could be the cause, but I don’t understand why CRC would ONLY fail on non-uniform. From the hardware side we seem to be receiving MIPI control packets correctly since images can still be generated. I’m looking for ideas on what other possible error sources might cause the above artifact behavior, and the best ways to approach debugging it. Regarding source code, we are using this as our format.      {         .name = "RAW10P",         .fourcc = V4L2_PIX_FMT_Y10,         .depth = { 16 },         .color = MXC_ISI_OUT_FMT_RAW10P,         .memplanes = 1,         .colplanes = 1,         .mbus_code = MEDIA_BUS_FMT_Y10_1X10,     }   where the output of the test pattern generator as mipi packets look like    i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel firstly, you need confirm that your chip is B0 version or C0 version, for B0 which has shift issue,  Oni.MX8QXP B0, when receiving RAW data from CSI, the data will always be shifted to the left for some RAW formats. Here are some examples: RAW10 {valid_data, 4’b0} . After right shift 4 bits, you will get the correct image. On i.MX8QXP C0, there is a new bit that can fix this alignment, making all bits from received data align starting from bit 0. The table below shows the register and the new bit [31]. you also can refer to the link for raw data capture on imx8qxp https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-capture-raw-bayer-data-and-debayer/ta-p/1098963 Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel Thanks for the clarification, the 4-bit shift requirement is something we already handle in post-processing. That still leaves a set of very repeatable problems that I haven't been able to get useful help on: Every 4th pixel is corrupted for non-uniform images (white/black patterns look fine). On alternating lines, the first 4 pixels are consistently much darker than they should be. The last two lines of every frame are always black (we suspect an FPGA test-pattern issue here). RX CSI CRC errors appear in the CSI registers only when the frame contains non-uniform data. Could someone from the CSI/ISI/driver teams please explain exactly where RAW10 unpacking/bit shifting is expected to occur in the pipeline (CSI RX → ISI → DMA → v4l2 → userspace)? Specifically: Which component/driver is expected to convert the MIPI RAW10 packet layout into the 16-bit words we see in memory? Where should the 4-bit right shift (to extract 10-bit pixels) happen — in the CSI IP, in the ISI, in the imx8-mipi-csi2 driver, or later in v4l2/userland? Are there known silicon revisions / ISI errata on i.MX8QXP (or related imx8qxp silicon revisions) that affect RAW10 alignment or cause CRC/noise only with non-uniform patterns? To make the corruption clearer: RAW10 packs 4 pixels into 5 bytes (the low 8 bits of pixels 0–3 in bytes 0–3, and the top 2 bits of each pixel combined into the 5th byte). White or black frames hide any misalignment because all bits are identical; however for non-uniform patterns we see behavior consistent with the packed MSBs being misaligned. In our captures the MSB bits that should belong to the 4th pixel in the group appear to be distributed incorrectly across the group (effectively ending up in the LSB positions of neighboring pixels), which visually produces a corrupted every-4th-pixel pattern. In short: the group-of-4 unpacking seems wrong not just a single bit shift and so the corruption only shows up when the bits vary across pixels. We have been able to "unscramble" the image by reversing this formatting.In our captures, the MSBs from Byte4 appear misaligned. Instead of cleanly mapping the top 2 bits to each pixel, the “4th pixel” in each group looks corrupted, and its bits spill into neighboring pixels. This led us to realize that what was actually happening was the following unpacking pattern:If we were expecting P1 = {P1[9:2], LSB[7:6]} P2 = {P2[9:2], LSB[5:4]} P3 = {P3[9:2], LSB[3:2]} P4 = {P4[9:2], LSB[1:0]} Instead of the expected standard unpacking we are actually seeing below (confirmed 100% via multiple different gradients): P1 = {P1[9:2], P4[7:6]} P2 = {P2[9:2], P4[5:4]} P3 = {P3[9:2], P4[3:2]} P4 = {LSB[7:0], P4[1:0]} So effectively the top 2 bits from the 4th pixel (Byte4) were not correctly aligned to each pixel, which produces the observed “every 4th pixel corruption.” After identifying this, we were able to “unscramble” the image in software to recover the intended pattern.Do you know why we need to do this?One additional observation: this issue may be related to an endianness mismatch between the i.MX8 hardware and our MIPI transmitter (FPGA). In other words, the way the CSI IP reads the RAW10 5-byte groups might differ from how the FPGA packs them.For example, if we denote a RAW10 group as ABCDE → P1, P2, P3, P4, LSB bits, a potential mismatch could cause the i.MX8 to read it as something like A_CB_ED, effectively swapping or misaligning the LSB bits. This would explain why the 4th pixel in each group appears corrupted in non-uniform images.This is still speculative the exact behavior depends on both the CSI IP hardware and how strictly the MIPI spec is implemented by the transmitter but it could be worth thinking about.Thanks, Dorien Penebacker Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel yes, this is what I'm talking about, since you have this issue, after you capture the raw data, need shift it to get proper data, for raw10, you need shift 4bits to get correct data Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel Hey, thanks for your help. I will get back to you later today regarding the specific silicon revision, however, I believe we are already accounting for the bit shifting in our image generation post ISI.  We currently utilize a python script to      # Load the entire RAW16 file as uint16 LE     arr = np.fromfile(filename, dtype=' )         # Convert 16-bit RAW10 stored in 16-bit words to 10-bit     img10 = (arr >> 4).astype(np.uint16)  # 10-bit range: 0..1023     # Scale 10-bit to 8-bit     img8 = cv2.convertScaleAbs(img10, alpha=255.0 / 1023.0)   when we view the raw output via xxd or a hex editor, the white image shows   f0 3f f0 3f f0 3f   After post-processing of our script we do the following   f0 3f -> LE : 3ff0 3ff0 >> 4 : 3ff  where 3FF is valid white data since it is 10 bits high which makes sense.   There are also some notes within the documentation which allude to this bit shifting Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel do you know which silicon revision of imx8qxp  you use? ISI has shift issue for raw data capture, I need to know what silicon revision you use Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel We are utilizing the IMx8x Quad Plus.  I didn't make any modifications to the mipi csi driver exactly, but I have been modifying imx8isi-fmt.c and imx8-isi-fmt.c to modify the fourcc value and the output format value for the ISI drivers and confirmed via the output of v4l2.  What modifications would I have to make to the csi driver? Currently, the driver that is seemingly loaded is the imx8-mipi-csi2.c attached below.  Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel different imx8 processors has different MIPI csi IP, so I need to know which imx8 processor you use? imx8qm? if you use raw10 capture, did you change the mipi csi driver to support it?
查看全文
IMX8 MIPI CSI2 Weird artifacts every 4th pixel My name is Dorien and am the firmware engineer primarily working on the MIPI CSI debugging for the IMX8. While I probably can't share everything regarding source files and such, I do have a few questions and information that might point to something.  Currently, we are able to receive test patterns from a custom test pattern FPGA. There are a few issues with the output raw images but we are currently using the ISI along with the ov5640 mipi driver and v4l2 to obtain "raw image" captures. Even though we have a few options, we are able to successfully receive "perfect" white images and black images (where white and black are simply raw10 packets with all 10 bits set high or low).    However, when running what we are calling a "hgradient" pattern, OR any other set of bits that are not strictly white or strictly black, we start seeing some artifacts. We are currently receiving these test patterns as raw10 packets, our pipeline currently outputs the data shifted 4 bits to the right in LE format. For example the first pixel is white, the hex storage would be 0xF03F, after LE -> 0x3FF0 and shift by 4, 0x3FF, we get a 10 bit white pixel.   After running v4l2-ctl --stream-mmap --stream-count=1 --stream-to=/tmp/frame.raw and transferring the image off over SCP. We use a little python script to rearrange the 10 bit test pattern to be opened using cv2 libraries.    Output shows bypass csc Input fmt Y10P Output fmt Y10 <     At a first glance, we can see the initial artifact. The image itself is a true gradient ONLY when removing every 4th pixel from the image. This also occurs with other test patterns as well.   The second and third artifact are a bit more nebulous.   For some reason, every second line's first 4 pixels are always some dark color. Not always zero, but just always really dark.   The last two lines are always black for some reason. However we have reason to believe this is an fpga test pattern generation bug but still something to call out.   Alongside all of that, I recently discovered that when sending NON white/black test patterns, we are receiving CRC errors by directly reading the RX CSI register space during streaming.    I’m seeing an issue where every 4th byte of pixel data appears corrupted, but only on non-uniform images. White and black test patterns look fine. My first thought is that CRC errors could be the cause, but I don’t understand why CRC would ONLY fail on non-uniform. From the hardware side we seem to be receiving MIPI control packets correctly since images can still be generated. I’m looking for ideas on what other possible error sources might cause the above artifact behavior, and the best ways to approach debugging it. Regarding source code, we are using this as our format.      {         .name = "RAW10P",         .fourcc = V4L2_PIX_FMT_Y10,         .depth = { 16 },         .color = MXC_ISI_OUT_FMT_RAW10P,         .memplanes = 1,         .colplanes = 1,         .mbus_code = MEDIA_BUS_FMT_Y10_1X10,     }   where the output of the test pattern generator as mipi packets look like    i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel firstly, you need confirm that your chip is B0 version or C0 version, for B0 which has shift issue,  Oni.MX8QXP B0, when receiving RAW data from CSI, the data will always be shifted to the left for some RAW formats. Here are some examples: RAW10 {valid_data, 4’b0} . After right shift 4 bits, you will get the correct image. On i.MX8QXP C0, there is a new bit that can fix this alignment, making all bits from received data align starting from bit 0. The table below shows the register and the new bit [31]. you also can refer to the link for raw data capture on imx8qxp https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-capture-raw-bayer-data-and-debayer/ta-p/1098963 Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel Thanks for the clarification, the 4-bit shift requirement is something we already handle in post-processing. That still leaves a set of very repeatable problems that I haven't been able to get useful help on: Every 4th pixel is corrupted for non-uniform images (white/black patterns look fine). On alternating lines, the first 4 pixels are consistently much darker than they should be. The last two lines of every frame are always black (we suspect an FPGA test-pattern issue here). RX CSI CRC errors appear in the CSI registers only when the frame contains non-uniform data. Could someone from the CSI/ISI/driver teams please explain exactly where RAW10 unpacking/bit shifting is expected to occur in the pipeline (CSI RX → ISI → DMA → v4l2 → userspace)? Specifically: Which component/driver is expected to convert the MIPI RAW10 packet layout into the 16-bit words we see in memory? Where should the 4-bit right shift (to extract 10-bit pixels) happen — in the CSI IP, in the ISI, in the imx8-mipi-csi2 driver, or later in v4l2/userland? Are there known silicon revisions / ISI errata on i.MX8QXP (or related imx8qxp silicon revisions) that affect RAW10 alignment or cause CRC/noise only with non-uniform patterns? To make the corruption clearer: RAW10 packs 4 pixels into 5 bytes (the low 8 bits of pixels 0–3 in bytes 0–3, and the top 2 bits of each pixel combined into the 5th byte). White or black frames hide any misalignment because all bits are identical; however for non-uniform patterns we see behavior consistent with the packed MSBs being misaligned. In our captures the MSB bits that should belong to the 4th pixel in the group appear to be distributed incorrectly across the group (effectively ending up in the LSB positions of neighboring pixels), which visually produces a corrupted every-4th-pixel pattern. In short: the group-of-4 unpacking seems wrong not just a single bit shift and so the corruption only shows up when the bits vary across pixels. We have been able to "unscramble" the image by reversing this formatting.In our captures, the MSBs from Byte4 appear misaligned. Instead of cleanly mapping the top 2 bits to each pixel, the “4th pixel” in each group looks corrupted, and its bits spill into neighboring pixels. This led us to realize that what was actually happening was the following unpacking pattern:If we were expecting P1 = {P1[9:2], LSB[7:6]} P2 = {P2[9:2], LSB[5:4]} P3 = {P3[9:2], LSB[3:2]} P4 = {P4[9:2], LSB[1:0]} Instead of the expected standard unpacking we are actually seeing below (confirmed 100% via multiple different gradients): P1 = {P1[9:2], P4[7:6]} P2 = {P2[9:2], P4[5:4]} P3 = {P3[9:2], P4[3:2]} P4 = {LSB[7:0], P4[1:0]} So effectively the top 2 bits from the 4th pixel (Byte4) were not correctly aligned to each pixel, which produces the observed “every 4th pixel corruption.” After identifying this, we were able to “unscramble” the image in software to recover the intended pattern.Do you know why we need to do this?One additional observation: this issue may be related to an endianness mismatch between the i.MX8 hardware and our MIPI transmitter (FPGA). In other words, the way the CSI IP reads the RAW10 5-byte groups might differ from how the FPGA packs them.For example, if we denote a RAW10 group as ABCDE → P1, P2, P3, P4, LSB bits, a potential mismatch could cause the i.MX8 to read it as something like A_CB_ED, effectively swapping or misaligning the LSB bits. This would explain why the 4th pixel in each group appears corrupted in non-uniform images.This is still speculative the exact behavior depends on both the CSI IP hardware and how strictly the MIPI spec is implemented by the transmitter but it could be worth thinking about.Thanks, Dorien Penebacker Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel yes, this is what I'm talking about, since you have this issue, after you capture the raw data, need shift it to get proper data, for raw10, you need shift 4bits to get correct data Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel Hey, thanks for your help. I will get back to you later today regarding the specific silicon revision, however, I believe we are already accounting for the bit shifting in our image generation post ISI.  We currently utilize a python script to      # Load the entire RAW16 file as uint16 LE     arr = np.fromfile(filename, dtype=' )         # Convert 16-bit RAW10 stored in 16-bit words to 10-bit     img10 = (arr >> 4).astype(np.uint16)  # 10-bit range: 0..1023     # Scale 10-bit to 8-bit     img8 = cv2.convertScaleAbs(img10, alpha=255.0 / 1023.0)   when we view the raw output via xxd or a hex editor, the white image shows   f0 3f f0 3f f0 3f   After post-processing of our script we do the following   f0 3f -> LE : 3ff0 3ff0 >> 4 : 3ff  where 3FF is valid white data since it is 10 bits high which makes sense.   There are also some notes within the documentation which allude to this bit shifting Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel do you know which silicon revision of imx8qxp  you use? ISI has shift issue for raw data capture, I need to know what silicon revision you use Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel We are utilizing the IMx8x Quad Plus.  I didn't make any modifications to the mipi csi driver exactly, but I have been modifying imx8isi-fmt.c and imx8-isi-fmt.c to modify the fourcc value and the output format value for the ISI drivers and confirmed via the output of v4l2.  What modifications would I have to make to the csi driver? Currently, the driver that is seemingly loaded is the imx8-mipi-csi2.c attached below.  Re: IMX8 MIPI CSI2 Weird artifacts every 4th pixel different imx8 processors has different MIPI csi IP, so I need to know which imx8 processor you use? imx8qm? if you use raw10 capture, did you change the mipi csi driver to support it?
查看全文
LPC55S69 USB1 HS PHY PLL 初始化 文件 (UM11126, Rev. 2.8, 表 850) 指出,位 21 PLL_REG_ENABLE: SW 必须在设置 PLL_POWER 前 15位设置该位,以避免 PLL 输出时钟出现毛刺。 当我查看 SDK(版本 25.6.0)的源代码时进入 fsl_clock.c: 2045 │ /* 启用 USB PHY 时钟 */ 2046 │ bool CLOCK_EnableUsbhs0PhyPllClock(clock_usb_phy_src_t src, uint32_t freq) .... 2120 │ USBPHY->PLL_SIC = (USBPHY->PLL_SIC& ~USBPHY_PLL_SIC_PLL_DIV_SEL(0x7))| phyPllDiv; 2121 │ USBPHY->PLL_SIC_SET = USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_MASK; 2122 │ USBPHY->PLL_SIC_CLR = (1UL<< 16U); // Reserved.用户必须将该位设置为 0x0 2123 │ USBPHY->PLL_SIC_SET = USBPHY_PLL_SIC_SET_PLL_POWER_MASK; 2124 │ usbphy->pll_sic_set = usbphy_pll_sic_set_pll_en_usb_clks_mask; 2125 │ 2126 │ usbphy->ctrl_clr = usbphy_ctrl_clr_clkgate_mask; 在第 2121 行设置 PLL_REG_ENABLE,在第 2123 行设置 PLL_POWER,不考虑用户手册中要求的 15 us 时延。这个函数是否在 fsl_clock.c 中?是有缺陷还是我遗漏了什么? Re: LPC55S69 USB1 HS PHY PLL initialization 你好@pettel 我查看了 UM11126 和 SDK 的实现情况,以启用 USB PHY PLL。 根据英国的说法,在设置 PLL_POWER 之前,软件必须将 PLL_REG_ENABLE 位设置为至少 15 微秒,以避免 PLL 输出时钟出现故障: 不过,在当前的 SDK 实现中(fsl_clock.c)、PLL_REG_ENABLE 和 PLL_POWER 连续设置,中间没有任何延迟。 为了确保可靠运行,我建议在设置 PLL_REG_ENABLE 和 PLL_POWER 之间增加 15 微秒的延迟。 同时,我会向 SDK 团队报告。非常感谢你提请我们注意这个问题。 顺祝商祺! 张俊
查看全文