Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
关于审查 WM8962 音频编解码器与 i.MX95-15x15 上的 SAI4 集成的请求 您好,NXP团队, 我创建了一个设备树补丁( wm8662_audio_codec_imx95_15x15.patch ),将 WM8962 音频编解码器与 SAI4 集成到我的自定义 i.MX95 15×15 板上。 请您检查一下这个补丁,并确认音频集成是否正确? 请重点关注: WM8962 I²C 配置、地址、时钟和电源。 SAI4 配置、引脚控制、时钟频率和主时钟设置。   注意:此补丁还包含 HDMI、LVDS 和其他配置。请忽略这些更改,仅查看 WM8962 音频编解码器和 SAI4 集成部分。 请提出必要的修改建议,并尽可能提供参考设备树示例。 请查看附件。 感谢您的支持。 Request to Review of WM8962 Audio Codec Integration with SAI4 on i.MX95-15x15-FRDM 亲爱的@Zhiming_Liu , 感谢您对外部 MCLK 和虚拟时钟配置的建议。 我已根据您的建议更新了我的设备树补丁( wm8662_audio_codec_imx95_15x15.patch )。能否请您再次审阅一下附件中的补丁,并澄清以下几点? 缺失属性: WM8962 编解码器设备树中剩余的属性是否全部正确,或者是否需要其他属性? MCLK 配置:我使用的是外部 MCLK { 24.000MHZ-D2Y-T},并且已按照建议添加了虚拟固定时钟节点。时钟配置是否正确,包括 12.288 MHz 的频率? SAI4 配置:我的 SAI4 配置是否正确,特别是分配的时钟、时钟父级、时钟速率以及fsl,sai-mclk-direction-output属性? &sai4 { #sound-dai-cells = <0> pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_sai4>; pinctrl-1 = <&pinctrl_sai4_sleep>; 已分配时钟 = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL1>, <&scmi_clk IMX95_CLK_AUDIOPLL2>, < &scmi_clk IMX95_CLK_SAI4 >; 已分配时钟父级 = <0>, <0>, <0>, <0>, <&scmi_clk IMX95_CLK_AUDIOPLL1>; 分配的时钟速率 = <3932160000>, <3612672000>, <393216000>, <361267200>, <12288000>; fsl,sai-mclk-direction-output; 状态 = "正常"; 4.需要更改:我是否应该删除或修改 SAI4 或 WM8962 节点中的任何属性。 感谢您一直以来的支持。 Re: Request to Review of WM8962 Audio Codec Integration with SAI4 on i.MX95-15x15 嗨@deepak_k 如果您使用外部 MCLK,请在 dts 中添加虚拟时钟信息。 m8962_ext_mclk: wm8962-ext-mclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <12288000>; clock-accuracy = <20>; clock-output-names = "wm8962_ext_mclk"; }; wm8962: audio-codec@1a { compatible = "wlf,wm8962"; reg = <0x1a>; clocks = <&wm8962_ext_mclk>; clock-names = "mclk"; ..... /delete-property/ fsl,sai-mclk-direction-output; }; 此致, 志明
View full article
S32K314 は 0x00588210 への書き込みに失敗しました こんにちは、 アドレス0x00588210にデータを書き込もうとしたところ、書き込み操作が失敗しました。このとき、MCRSレジスタは0x00008100という値を返しました。このアドレスより前の領域への書き込みは問題なく動作し、0x00588210を含むセクタの消去も問題なく動作しました。 問題の原因を特定する方法を知りたい。 回复: S32K314在写入0x00588210处失败 別のプログラマを使用してPFLASH全体を0xFFに復元した後、以前書き込みに失敗したセクタは消去して書き直すことができます。しかし、その他のランダムなセクタは消去できません。消去処理に問題があるのでしょうか? -ドメインIDを確認する - erase_addr を PFCPGM_PEADR_L レジスタに書き込みます (アドレスは 0x00580000 から 0x00588210 です)。 -PROGRAM_DATAに0xFFFFFFFFを書き込みます -MSR[ERS]を0b1に設定します -set theMSR[EHV] to 0b1 -MCRS[DONE]を読み取り、1に設定されるまで処理を続行します(消去完了後、アドレス0x00580000のMCRS値は0x0000C100になります)。 - MCRSエラービットを確認してください -クリアMCRS[EHV] -MCRS[ERS]をクリアする 回复: S32K314在写入0x00588210处失败 障害が発生する前に、一度はデータの書き込みに成功しました。2回目の書き込み失敗の原因は消去失敗でした。私の説明は十分正確ではありませんでした。2回目の書き込みが失敗したのは、0x00588210 にあるセクタが正しく識別されなかったためです。0x00400000 から PFLASH の末尾まで、予約バイトをスキップして、毎回 128 バイトずつ書き込みました。毎回、バッファリングなしで SWD デバッグを介してプログラム データを直接書き込みました。C40 API を呼び出して RTD バージョンを確認するにはどうすればよいでしょうか? 書き込みプロセス全体は自分でシミュレートしました。フラッシュ メモリ アルゴリズムは使用しておらず、ログもありません。 回复: S32K314在写入0x00588210处失败 我々が理解している限りでは、フラッシュ書き込み操作がアドレス0x00588210で失敗しています。このアドレスは、S32K314のプログラムフラッシュメモリの範囲内です。 アドレスは32バイトのフラッシュページの16バイト目に位置するため、書き込み長によってはページ境界を越える可能性があります。書き込み長、ソースバッファアドレス、正確なC40 API戻り値、およびRTDバージョンをお知らせください。 書き込み前に、対応するフラッシュセクターが消去されていることを確認してください。外部デバッガ/プログラマが使用されている場合は、プログラミングログと選択されたフラッシュアルゴリズムを提供してください。 回复: S32K314在写入0x00588210处失败 物理的なフラッシュメモリの故障ではないことを確認しました。 1. チップはS32K314HVS1P55ACTAZ2234Bです。 2. 問題がないかどうかを確認するために、私自身のSWDデバッグプロセスをテストしています。 3. いくつかの理由により、具体的なタイミングの順序を示すことはできません。一般的なプロセスのみをお伝えできます。 a. セクター保護を解除する b. PFLASHの対応するセクターを消去します -ドメインIDを確認する - erase_addr を PFCPGM_PEADR_L レジスタに書き込みます (アドレスは 0x00580000 から 0x00588210 です)。 -PROGRAM_DATAに0xFFFFFFFFを書き込みます -MSR[ERS]を0b1に設定します -set theMSR[EHV] to 0b1 -MCRS[DONE]を読み取り、1に設定されるまで処理を続行します(消去完了後、アドレス0x00580000のMCRS値は0x0000C100になります)。 - MCRSエラービットを確認してください -クリアMCRS[EHV] -MCRS[ERS]をクリアする 私の消去手順に何か問題がありますか? 4. 消去後、0x00588210 の値は 0xF1 であり、これは以前にテストして書き込んだ値です。 5. 他のデバッガーを使用して内容が検証済みです。 6. このアドレスより前のセクターは正常に消去できることが確認できます。 7. すべての操作は、私がSWDを介してレジスタを直接操作することによって実行されました。 8. デバイスにはAB SWAPファームウェアがプログラムされ、書き込まれています。 回复: S32K314在写入0x00588210处失败 我々が理解している限りでは、プログラミングはアドレス0x00588210で失敗します。このアドレスを含むセクターの消去は完了するが、消去後、そのセクターには0xFFだけが含まれているようには見えない。したがって、物理的なフラッシュ障害が疑われ、実際の原因を特定したいと考えている。この理解が正しいかどうか確認してください。 提供された情報だけでは、これが物理的なフラッシュメモリの問題かどうかを判断するには不十分です。以下をご提供ください: S32K314の部品番号とマスクセット一式。 ソフトウェアパッケージとフラッシュドライバーのバージョンが使われています。 消去および書き込みの正確な手順(コマンドと影響を受けるアドレス範囲を含む)。 各操作の前後における、関連するステータスフラグを事前にクリアした後の、完全なMCRS値。 消去後に0xFF以外の値となる正確なアドレスと値。 消去されたコンテンツがどのように検証されるか、例えばCPU読み取り、デバッガー、ブランクチェック、ドライバー検証などです。 フラッシュルーチンがRAMから実行されるかどうか、また操作中にターゲットのフラッシュブロックへの割り込みやその他のアクセスが無効化されるかどうかも判断されます。 使用したデバッガ/プログラマーと、完全なプログラミングログ。 問題が常に同じアドレスで再現されるか、また複数のデバイスで発生するか。 そのデバイスが以前にHSEファームウェアでプログラム、保護、または構成されていたかどうか。 原因としては、誤ったフラッシュ操作順序、未クリアのステータスフラグ、動作中のターゲットフラッシュブロックへのアクセス、ECC関連の読み取りや検証の問題、または実際の物理的なフラッシュ故障などがあります。 まず最初の比較として、サポートされているデバッガのフラッシュアルゴリズムを使用して、該当領域を消去およびプログラムしてください。同一デバイス上で消去が正常に完了した後も、同じ場所で繰り返しエラーが発生する場合は、発生したログとメモリダンプを提供してください。 回复: S32K314在写入0x00588210处失败 消去後、このセクターのデータが0xFFではなくなっていることに気づきましたが、消去処理の最後にMCRSは0x0000C100を返しました。これは物理的な不良セクターでしょうか?
View full article
NXP layoffs? Apparently a lot of people were laid off yesterday and more layoffs are coming this week and next. Anyone know anything about this? Re: NXP layoffs? Hello, We appreciate you reaching out through the NXP Community. Questions regarding NXP's workforce, organizational changes or employment matters are outside the scope of technical product support and cannot be addressed through this channel. For accurate and official information about NXP, we encourage you to refer to NXP's official corporate communications, investor relations announcements or press releases available at nxp.com. NXP employees may direct HR-related inquiries through their internal HR channels. BRs, Tomas
View full article
Pantorドライバー用マリファームウェア こんにちは、皆さん。 私はPantherドライバを使ってIMX95 GPUをシングルドライバーモードで駆動しようとしています。そのためにはGPU用のARMファームウェアが必要です。mali-imxのレシピでファームウェアが利用可能だと見かけましたが、mali-imxレシピ内に含まれているmali_cffw.binを使う必要があるのか、それともARMが上流のLinuxファームウェアで提供しているものをここで使ってもいいのか気になっています。 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/arm/mali お使いのバージョンには、ベンダー固有の変更点はありますか? Re: Mali firmware for panthor driver こんにちは@APir  NXPはYoctoの linux-firmware-mali-csffw パッケージのファームウェアを使ってPanthorドライバを内部でテストしています。NXPは、Panthorで使用されているファームウェアにベンダー固有の変更を一切加えていません。 よろしくお願いします、 志明
View full article
EB tresos Studio 28.2 和 S32 Design Studio for S32 Platform 3.5 无法激活 1、 https://nxp.flexnetoperations.com/control/frse/download?element=13118607 使用最新的激活码无法正常激活。#S32K3 #EB 2、 https://nxp.flexnetoperations.com/control/frse/dload_serialNum?item_key=13592207&plne=712807&certNum=317665591 适用于 S32 平台 3.5 的 S32 设计工作室也无法激活。 激活 | 安装 | 许可 | 安装程序下载 SDK Re: EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate 抱歉,这个问题我已经解决了。原来是我误将“FlexNet 许可证服务”设置为了禁用状态。改成自动模式后,一切恢复正常。 Re: EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate @jiri_kral @petervlna @Robin_Shen @danielmartynek 请问各位能否帮帮我?这对我来说非常重要。非常感谢大家!
View full article
NXPのレイオフ? 昨日、多くの人が解雇されたようで、今週と来週もさらに多くの解雇が予定されている。これについて何か知っている人はいますか? Re: NXP layoffs? こんにちは、 NXPコミュニティを通じてご連絡いただき、ありがとうございます。NXPの従業員、組織変更、雇用マターに関する質問は技術製品サポートの範囲外であり、このチャネルを通じて対応することはできません。 NXPに関する正確かつ公式な情報については、nxp.com で入手可能なNXPの公式企業コミュニケーション、投資家向け情報発表、プレスリリースをご参照ください。NXP社員向けは、社内の人事チャネルを通じて人事関連の問い合わせを行うことができます。 BRs、トーマス
View full article
S32K314在写入0x00588210处失败 您好, 当我尝试往0x00588210处写入数据时写入失败,此时MCRS寄存器返回的值为0x00008100,在此之前的区域写入都没有问题,擦除0x00588210所处扇区时也没有问题 我想知道我该如何确定问题出在哪 回复: S32K314在写入0x00588210处失败 在我通过其他编程器将所有PFLASH恢复成0xFF后,之前写入失败的扇区可以重新擦除写入,但是又有其他随机扇区无法擦除,是我的擦除流程存在问题吗 -check the DomainID -write erase_addr to the PFCPGM_PEADR_L register(the addr is 0x00580000 to the 0x00588210) -wtire 0xFFFFFFFF to the PROGRAM_DATA -set the MSR[ERS] to 0b1 -set theMSR[EHV] to 0b1 -read the MCRS[DONE] until it was set 1(0x00580000 addr 's MCRS value is 0x0000C100 after erase done) -check the MCRS error bit -clear MCRS[EHV] -clear MCRS[ERS] 回复: S32K314在写入0x00588210处失败 在失败之前我成功写入一次数据 第二次写入失败的原因是由于擦除失败 我的描述不够准确,是第二次写入0x00588210处所处扇区会失败 我写入从0x00400000开始,到整个PFLASH结束,跳过其中保留字节,每次写入128个字节,每次都是通过SWD调试直接写入Program Data,无缓冲区 我要如何调用C40 API和查看RTD版本 整个写入流程是我自己模拟的,没有使用闪存算法,也没有日志 回复: S32K314在写入0x00588210处失败 据我们了解,该问题是闪存写入操作在地址 0x00588210 处失败。该地址在 S32K314 的程序闪存范围内。 由于该地址位于 32 字节闪存页中的第 16 个字节处,因此根据写入长度,该操作可能会跨越页边界。请提供写入长度、源缓冲区地址、确切的 C40 API 返回值和 RTD 版本。 请确认写入前已擦除相应的闪存扇区。如果使用了外部调试器/编程器,请提供编程日志和所选的闪存算法。 回复: S32K314在写入0x00588210处失败 目前我能确认并不是物理闪存故障 1、芯片是S32K314HVS1P55ACTAZ2234B 2、我在测试我自己写的SWD调试流程是否有问题 3、由于某些原因具体时序我无法给出,我只能给出我的大概流程 a.解除扇区保护 b.擦除PFLASH对应扇区 -check the DomainID -write erase_addr to the PFCPGM_PEADR_L register(the addr is 0x00580000 to the 0x00588210) -wtire 0xFFFFFFFF to the PROGRAM_DATA -set the MSR[ERS] to 0b1 -set theMSR[EHV] to 0b1 -read the MCRS[DONE] until it was set 1(0x00580000 addr 's MCRS value is 0x0000C100 after erase done) -check the MCRS error bit -clear MCRS[EHV] -clear MCRS[ERS] 请问 我这个擦除流程有什么问题吗 4、擦除后0x00588210处值为我之前测试写入的0xF1 5、内容通过其他调试器确认过 6、可以确认的是该地址之前的扇区能够正常擦除数据 7、所有操作都是我通过SWD直接操作寄存器实现 8、该器件被编程过并烧录了AB SWAP固件 回复: S32K314在写入0x00588210处失败 据我们了解,问题在于地址 0x00588210 处的编程失败。擦除包含此地址的扇区完成,但之后该扇区似乎并不只包含 0xFF。因此,您怀疑是物理闪存故障,并希望确定实际原因。请确认我的理解是否正确。 提供的信息不足以确定这是否是闪存的物理问题。请提供: 完整的S32K314零件编号和掩模套件。 所使用的软件包和闪存驱动程序版本。 精确的擦除和编程顺序,包括命令和受影响的地址范围。 在每次操作前后,清除相关状态标志后,得到完整的 MCRS 值。 擦除后非 0xFF 的确切地址和值。 如何验证擦除的内容,例如通过 CPU 读取、调试器、空白检查或驱动程序验证。 闪存例程是否从 RAM 执行,以及在操作期间是否禁用中断和对目标闪存块的其他访问。 使用的调试器/编程器以及完整的编程日志。 问题是否在同一地址上反复出现,以及是否在多个设备上发生。 无论该设备之前是否已使用 HSE 固件进行编程、保护或配置。 可能的原因包括闪存操作顺序错误、状态标志未清除、操作期间访问目标闪存块、与 ECC 相关的读取或验证问题,或者实际的物理闪存故障。 作为初步对比,请使用受支持的调试器闪存算法擦除并编程受影响区域。如果对同一设备成功擦除后,同一位置始终出现故障,请提供相应的日志和内存转储。 回复: S32K314在写入0x00588210处失败 我发现擦除之后该扇区数据不为0xFF,但是整个擦除流程结束时MCRS返回值位0x0000C100,这种情况会是物理坏区吗
View full article
Mali firmware for panthor driver Hi all, I'm trying to drive IMX95 GPU in single driver mode using panthor driver. To do so, we need arm firmware for the GPU. I have seen firmware is available in the mali-imx recipe, but I wonder if we must use mali_cffw.bin which is provided inside mali-imx recipe, or can I use what arm provides in the upstream linux-firmwares as well in here: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/arm/mali Is there any vendor specific changes in your version? Re: Mali firmware for panthor driver Hi @APir  NXP has internally tested the Panthor driver using firmware from the linux-firmware-mali-csffw package in Yocto. NXP did not make any vendor-specific modifications to the firmware used by Panthor. Best Regards, Zhiming
View full article
S32K314 failed to write to 0x00588210 Hello, When I tried to write data to address 0x00588210, the write operation failed. At this point, the MCRS register returned a value of 0x00008100. Writing to the area before this address worked without any problems, and erasing the sector containing 0x00588210 also worked without any issues. I want to know how to determine where the problem lies. 回复: S32K314在写入0x00588210处失败 After restoring all PFLASH to 0xFF using another programmer, the sectors that previously failed to be written can be erased and rewritten. However, other random sectors cannot be erased. Is there a problem with my erasure process? -check the DomainID -write erase_addr to the PFCPGM_PEADR_L register (the addr is 0x00580000 to the 0x00588210) -wtire 0xFFFFFFFF to the PROGRAM_DATA -set the MSR[ERS] to 0b1 -set theMSR[EHV] to 0b1 -read the MCRS[DONE] until it was set 1(0x00580000 addr 's MCRS value is 0x0000C100 after erase done) - Check the MCRS error bit -clear MCRS[EHV] -clear MCRS[ERS] 回复: S32K314在写入0x00588210处失败 Before the failure, I successfully wrote data once. The reason for the second write failure was due to an erase failure. My description was not accurate enough; the second write failed because the sector located at 0x00588210 was not correctly identified. I wrote from 0x00400000 to the end of the PFLASH, skipping reserved bytes, writing 128 bytes each time. Each time, I directly wrote Program Data through SWD debugging, without buffering. How can I call the C40 API and check the RTD version? The entire write process was simulated by myself; I did not use flash memory algorithms and there were no logs. 回复: S32K314在写入0x00588210处失败 As we understand the issue, the flash write operation fails at address 0x00588210. This address is within the program flash range of the S32K314. Since the address is located 16 bytes into a 32-byte flash page, the operation may cross a page boundary depending on the write length. Please provide the write length, source buffer address, exact C40 API return value, and RTD version. Please also confirm that the corresponding flash sector was erased before writing. If an external debugger/programmer is involved, please provide the programming log and selected flash algorithm. 回复: S32K314在写入0x00588210处失败 I can confirm that it is not a physical flash memory failure. 1. The chip is S32K314HVS1P55ACTAZ2234B 2. I am testing my own SWD debugging process to see if there are any problems. 3. Due to certain reasons, I cannot provide the specific timing sequence; I can only provide my general process. a. Remove sector protection b. Erase the corresponding sector of PFLASH -check the DomainID -write erase_addr to the PFCPGM_PEADR_L register (the addr is 0x00580000 to the 0x00588210) -wtire 0xFFFFFFFF to the PROGRAM_DATA -set the MSR[ERS] to 0b1 -set theMSR[EHV] to 0b1 -read the MCRS[DONE] until it was set 1(0x00580000 addr 's MCRS value is 0x0000C100 after erase done) - Check the MCRS error bit -clear MCRS[EHV] -clear MCRS[ERS] Is there anything wrong with my erasure procedure? 4. After erasing, the value at 0x00588210 is 0xF1, which I previously tested and wrote. 5. The content has been verified using other debuggers. 6. It can be confirmed that the sectors preceding this address can be erased normally. 7. All operations were performed by me directly manipulating the registers through SWD. 8. The device has been programmed and flashed with AB SWAP firmware. 回复: S32K314在写入0x00588210处失败 As we understand the issue, programming fails at address 0x00588210. Erasing the sector containing this address completes, but the sector does not appear to contain only 0xFF afterward. You therefore suspect a physical flash failure and would like to determine the actual cause. Please confirm whether this understanding is correct. The provided information is not sufficient to determine whether this is a physical flash issue. Please provide: The complete S32K314 part number and mask set. The software package and flash driver version being used. The exact erase and program sequence, including the commands and affected address range. The complete MCRS values before and after each operation, after previously clearing the relevant status flags. The exact addresses and values that are not 0xFF after erase. How the erased content is verified, for example by CPU read, debugger, blank check, or driver verification. Whether the flash routine executes from RAM and whether interrupts and other accesses to the target flash block are disabled during the operation. The debugger/programmer used and the complete programming log. Whether the issue is consistently reproduced on the same address and whether it occurs on more than one device. Whether the device was previously programmed, protected, or configured with HSE firmware. Possible causes include an incorrect flash operation sequence, uncleared status flags, access to the target flash block during the operation, an ECC-related read or verification issue, or an actual physical flash failure. As an initial comparison, please erase and program the affected area using a supported debugger flash algorithm. If the same location fails consistently after a successful erase on the same device, please provide the resulting log and memory dump. 回复: S32K314在写入0x00588210处失败 I noticed that the data in this sector was not 0xFF after erasing, but the MCRS returned 0x0000C100 at the end of the erasure process. Could this be a physical bad sector?
View full article
panthor 驱动程序的 Mali 固件 大家好, 我正在尝试使用 Panthor 驱动程序以单驱动模式驱动 IMX95 GPU。为此,我们需要适用于 GPU 的 arm 固件。我看到 mali-imx 配方中提供了固件,但我不知道是否必须使用 mali-imx 配方中提供的 mali_cffw.bin,还是也可以使用 arm 在上游 linux-firmwares 中提供的固件: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/arm/mali 您的版本中是否有任何厂商特定的更改? Re: Mali firmware for panthor driver 嗨@APir NXP 已使用 Yocto 中的linux-firmware-mali-csffw软件包中的固件对 Panthor 驱动程序进行了内部测试。NXP 没有对 Panthor 使用的固件进行任何厂商特定的修改。 此致, 志明
View full article
请求审查 i.MX95-15x15-FRDM 上的双 LAN9646 以太网交换机集成。 您好,NXP团队, 我创建了一个设备树补丁( 2Xlan9646_imx95_15x15.patch ),将两个 LAN9646 以太网交换机 IC 与我的自定义 i.MX95 15×15 板上的 ETH1 和 ETH2 集成在一起。 请您仔细审核一下补丁,并确认以太网交换机集成是否正确? 请重点关注: LAN9646 配置、SPI 接口、片选、RESET GPIO 和中断设置。 两个交换机与 ENETC 端口 ETH1 和 ETH2 之间的连接。 任何缺失或不正确的属性都可能导致两个以太网接口无法正常工作。 请特别注意两台 LAN9646 交换机是否可以同时运行,以及它们的端口和 PHY 配置是否正确。 该补丁还包含 HDMI、音频、LVDS 和其他设备树更改。请忽略这些更改,仅查看双 LAN9646 以太网集成。 请提出必要的修改建议,并尽可能提供参考设备树示例或文档。 感谢您的支持。 Re: Request for Review of Dual LAN9646 Ethernet Switch Integration on i.MX95-15x15-FRDM. 您好, 感谢您对恩智浦半导体产品的关注, 我们没有用 i.MX 95 测试过 LAN9646 以太网交换机,所以我查看了相关信息,但无法确认它是否有效。 1.拥有可用的 DTS 是一个好习惯,所以我不会注释掉 Reset 和 IRQ 行,并且我会设置一个默认的 GPIO,最好是将值覆盖或保存在其他文件中,而不是留下一个不完整的节点。 2. DTS 中的映射被交换,原理图中 pinctrl_enetc1 映射到 LPSPI3,可以看到 ENET1/ETH0 与 LPSPI3 一起连接到 PHY1,ENET2/ETH1 连接到 PHY2 和 LPSPI6。这与DTS不同。 3. 由于两台交换机共享 LAN 命名属性,我会在 LAN 名称前添加一个前缀。 以上是我的评测,如果您想进一步测试您的 DTS,请尝试 dtbs_check 。 此致
View full article
RT1189 get wrong data when transfer from LPSPI_CPU to LPSPI_DMA Background MCU: MIMXRT1189 core: M33 only RTOS: Zephyr v4.3 I use MIMXRT1189 as SPI master and ADS1235 as SPI slave to collect ADC data. The related DTS content is here: &lpspi4 { status = "okay"; cs-gpios = <&gpio5 17 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; dmas = <&edma4 18 15>, <&edma4 19 14>; dma-names = "rx", "tx"; pinctrl-0 = <&pinmux_lpspi4>; pinctrl-names = "default"; }; pinmux_lpspi4: pinmux_lpspi4 { group0 { pinmux = <&iomuxc_gpio_sd_b2_07_gpio5_io17>; drive-strength = "high"; bias-pull-up; slew-rate = "fast"; }; group1 { pinmux = <&iomuxc_gpio_sd_b2_08_lpspi4_sck>, <&iomuxc_gpio_sd_b2_10_lpspi4_sout>, <&iomuxc_gpio_sd_b2_11_lpspi4_sin>; drive-strength = "high"; slew-rate = "fast"; }; }; Previously, I disabled CONFIG_SPI_NXP_LPSPI_DMA and it worked well. Issue description Now I need to use DMA for LPSPI and make the buffer aligned to non-cacheable DTCM by doing something like static uint8_t spi_tx[9] __aligned(32) __dtcm_noinit_section; static uint8_t spi_rx[9] __aligned(32) __dtcm_noinit_section; As stated in ADS1235 datasheet, the first byte of RX should be 0xFF and the second byte should echo the first byte of TX. I need to write multiple registers. If I write the registers one by one (call spi_transceive_dt for each write), I get data mismatched from the second register: [00:00:05.536,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x42 rx0=0xFF rx1=0xC2 [00:00:05.536,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x43 rx0=0x0F rx1=0xF3 [00:00:05.537,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x44 rx0=0xFF rx1=0xE4 [00:00:05.537,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x45 rx0=0x1F rx1=0xF5 [00:00:05.537,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x46 rx0=0xFF rx1=0xC6 [00:00:05.538,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x47 rx0=0x0F rx1=0xF7 [00:00:05.538,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x48 rx0=0xFF rx1=0xC8 [00:00:05.538,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x49 rx0=0xFF rx1=0xE9 [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4A rx0=0xFF rx1=0xEA [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4B rx0=0x1F rx1=0xFB [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4C rx0=0xFF rx1=0xFC [00:00:05.540,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4D rx0=0xFF rx1=0xFD [00:00:05.540,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4E rx0=0x1F rx1=0xFE [00:00:05.540,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4F rx0=0x3F rx1=0xEF [00:00:05.540,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x50 rx0=0xFF rx1=0xF0 [00:00:05.541,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x51 rx0=0x1F rx1=0xF1 If I do spi_transceive_dt once for all registers, I get data mismatched in a different behavior: [00:00:05.538,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x47 rx0=0x0A rx1=0x3B [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x49 rx0=0x00 rx1=0xDB [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4B rx0=0x00 rx1=0xF1 [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4D rx0=0x40 rx1=0x48 [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x4F rx0=0x00 rx1=0xA5 [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x51 rx0=0x07 rx1=0x31 Could anyone help me with this issue?   i.MXRT Re: RT1189 get wrong data when transfer from LPSPI_CPU to LPSPI_DMA Hello Kan, These 2 captures show the first successful write and then followed by the second failed write. The 2nd MOSI is expected to 0x42 0x4B and MISO is expected to 0xFF 0x42. And from the second write it seems that both TX and RX are corrupted. The full successful (with LPSPI CPU) and failed (with LPSPI DMA) captures are attached to this reply. The SPI rate is 800KHz and the mode is CPOL = 0 and CPHA = 1. Re: RT1189 get wrong data when transfer from LPSPI_CPU to LPSPI_DMA Hi @renrad , Thanks for the reaching out! Is it possible to provide a four-channel capture of CS, SCK, MOSI, and MISO for one successful write followed by the first failing write , with the SPI clock rate and mode. That will show whether the unexpected bytes are on the wire or appear only in spi_rx Thanks for your patience! Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: RT1189 get wrong data when transfer from LPSPI_CPU to LPSPI_DMA Hi @renrad , Thank you for the captures. In the second write, the bytes on MOSI appear to differ from the intended 0x42 0x4B . MISO appears to echo the command byte seen on the wire. This suggests we should first determine why the transmitted bytes differ, before treating the ADC response as a separate issue. Could you please provide the code for the first two spi_transceive_dt() calls, including how the TX buffer is filled, the spi_buf pointers and lengths, and the return value of each call? Please also log the TX and RX buffer addresses and contents immediately before and after each call, and confirm where those buffers are placed in the linker map. Finally, please confirm whether the second capture corresponds to the logged tx0=0x42, rx1=0xC2 mismatch. The apparent echo in the capture differs from that log value, so matching the capture to the exact transaction will help us distinguish a wire-level issue from an RX-buffer issue.   Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: RT1189 get wrong data when transfer from LPSPI_CPU to LPSPI_DMA Hello Kan, The related code is here static uint8_t s_ads1235_spi_tx[32] __aligned(32) __dtcm_noinit_section; static uint8_t s_ads1235_spi_rx[32] __aligned(32) __dtcm_noinit_section; static void ads1235_spi_tranceive(uint8_t *data_tx, uint8_t *data_rx, uint8_t byte_length) { struct spi_buf tx_bufs = { .buf = s_ads1235_spi_tx, .len = byte_length }; struct spi_buf rx_bufs = { .buf = s_ads1235_spi_rx, .len = byte_length }; struct spi_buf_set tx = { .buffers = &tx_bufs, .count = 1 }; struct spi_buf_set rx = { .buffers = &rx_bufs, .count = 1 }; int ret; memcpy(s_ads1235_spi_tx, data_tx, byte_length); memset(s_ads1235_spi_rx, 0, byte_length); ret = spi_transceive_dt(&s_spi, &tx, &rx); if (ret < 0) { memset(data_rx, 0, byte_length); LOG_ERR("ADS1235 SPI transfer failed: %d", ret); } else { memcpy(data_rx, s_ads1235_spi_rx, byte_length); } } static bool ads1235_write_single_register(uint8_t addr, uint8_t data) { // Check that the register address is in range assert(addr < NUM_REGISTERS); uint8_t data_tx[4]; uint8_t data_rx[4] = {0}; uint8_t byte_length = (CRC_BYTE_ENABLED ? 4 : 2); // Build TX array and send it data_tx[0] = OPCODE_WREG + (addr & 0x1F); data_tx[1] = data; // Currently CRC is not enabled if (CRC_BYTE_ENABLED) { data_tx[2] = ads1235_calc_crc8_by_table(data_tx, 2); // Compute CRC-2 data_tx[3] = s_adc_dont_care; } ads1235_spi_tranceive(data_tx, data_rx, byte_length); // Handle SPI errors // if (ads1235_validate_spi(data_tx, data_rx, OPCODE_WREG)) { // LOG_ERR("ADS1235 write reg 0x%02X err", addr); // return false; //} // update the global register map variable s_ads1235_register_map[addr] = data; return true; } static bool ads1235_write_multiple_registers(uint8_t addr, uint8_t count, const uint8_t data[]) { for (uint8_t i = 0; i < count; i++) { if (!ads1235_write_single_register(addr + i, data[i])) { return false; } } return true; } The first byte of TX means opcode + address. The write opcode is 0x40. Thus, 0x41 means write address 0x01. After adding logging before/after spi_tranceive_dt, part of the log is shown below: [00:00:05.436,000] main: Initializing ADC Before transfering TX: 0X41 0X 2 Before transfering RX: 0X 0 0X 0 After transfering TX: 0X41 0X 2 After transfering RX: 0XFF 0X41 Before transfering TX: 0X42 0X4B Before transfering RX: 0X 0 0X 0 After transfering TX: 0X42 0X4B After transfering RX: 0X 7 0XFE [00:00:05.538,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x42 rx0=0x07 rx1=0xFE Before transfering TX: 0X43 0X 1 Before transfering RX: 0X 0 0X 0 After transfering TX: 0X43 0X 1 After transfering RX: 0X F 0XFB [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x43 rx0=0x0F rx1=0xFB Before transfering TX: 0X44 0XF0 Before transfering RX: 0X 0 0X 0 After transfering TX: 0X44 0XF0 After transfering RX: 0X F 0XF4 [00:00:05.539,000] ads1235: ADS1235 SPI validate mismatch: opcode=0x40 tx0=0x44 rx0=0x0F rx1=0xF4 --- 2 messages dropped --- Before transfering TX: 0X45 0X60 Before transfering RX: 0X 0 0X 0 After transfering TX: 0X45 0X60 After transfering RX: 0X1F 0XF5 I can be sure that the second capture corresponds to the logged tx0=0x42, rx1=0xC2 mismatch. The problem I think is that the internal buffer for the driver is dirtied.  Are the information I provided is enough and valuable?
View full article
i.MX95-15x15におけるWM8962オーディオコーデック統合とSAI4のレビュー要請 NXPチームの皆様、こんにちは。 カスタムのi.MX95 15×15ボード上でWM8962オーディオコーデックとSAI4を統合するためのデバイスツリーパッチ(wm8662_audio_codec_imx95_15x15.patch)を作成しました。 パッチを確認して、オーディオ統合が正しいか確認してもらえますか? 以下の点にご注目ください。 WM8962のI²C構成、アドレス、クロック、および電源。 SAI4の設定、pinctrl、クロックレート、およびマスタークロックの設定。   注意: パッチにはHDMI、LVDS、その他の構成も含まれています。これらの変更は無視し、WM8962オーディオコーデックとSAI4統合のみを確認してください。 必要な修正点をご提案ください。また、可能であれば、デバイスツリーの参考例もご提供ください。 添付ファイルをご確認ください。 再開まで今しばらくお待ちください。 Re: Request to Review of WM8962 Audio Codec Integration with SAI4 on i.MX95-15x15 こんにちは、 @deepak_k さん。 外部MCLKを使用する場合は、dtsファイルにダミークロック情報を追加してください。 m8962_ext_mclk: wm8962-ext-mclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <12288000>; clock-accuracy = <20>; clock-output-names = "wm8962_ext_mclk"; }; wm8962: audio-codec@1a { compatible = "wlf,wm8962"; reg = <0x1a>; clocks = <&wm8962_ext_mclk>; clock-names = "mclk"; ..... /delete-property/ fsl,sai-mclk-direction-output; }; よろしくお願いします、 志明 Request to Review of WM8962 Audio Codec Integration with SAI4 on i.MX95-15x15-FRDM @Zhiming_Liu様 外部MCLKとダミークロックの設定に関するご提案、ありがとうございました。 あなたの推奨に基づいてデバイスツリーパッチ(wm8662_audio_codec_imx95_15x15.patch)を更新しました。添付のパッチを改めて確認し、以下の点を明確にしていただけますか? 不足しているプロパティ:残りのWM8962コーデックデバイスツリーのプロパティはすべて正しいですか?それとも、追加のプロパティが必要ですか? MCLKの設定:外部MCLK { 24.000MHZ-D2Y-T}を使用しており、提案どおりダミーの固定クロックノードを追加しました。12.288 MHzの周波数を含め、クロック設定は正しいでしょうか? SAI4の設定:私のSAI4の設定は正しいでしょうか?特に、割り当てられたクロック、クロックの親、クロックレート、およびfsl、sai-mclk-direction-outputプロパティについて教えてください。 &sai4 { #sound-dai-cells = <0> pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_sai4>; pinctrl-1 = <&pinctrl_sai4_sleep>; assignment-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>, <&scmi_clk IMX95_CLK_AUDIOPLL1>, <&scmi_clk IMX95_CLK_AUDIOPLL2>, < &scmi_clk IMX95_CLK_SAI4 >; assignment-clock-parents = <0>, <0>, <0>, <0>, <&scmi_clk IMX95_CLK_AUDIOPLL1>; assignment-clock-rates = <3932160000>, <3612672000>, <393216000>, <361267200>, <12288000> fsl、sai-mclk方向出力; ステータス = "正常"; 4.必要な変更: SAI4 または WM8962 ノード内のプロパティを削除または変更する必要がありますか。 引き続きご支援いただきありがとうございます。
View full article
EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate 1、 https://nxp.flexnetoperations.com/control/frse/download?element=13118607 Using the latest activation code fails to activate properly. #S32K3 #EB 2、 https://nxp.flexnetoperations.com/control/frse/dload_serialNum?item_key=13592207&plne=712807&certNum=317665591 S32 Design Studio for S32 Platform 3.5 also fails to activate Activation | Installation | Licensing | Installer Download SDKs Re: EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate Sorry, I have already resolved this issue. It turned out that I mistakenly set "FlexNet License Service" to the disabled state. After changing it to the automatic mode, everything returned to normal.  Re: EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate @jiri_kral  @petervlna   @Robin_Shen  @danielmartynek   Could you all please help me out? This is really important to me. Thank you so much, everyone!
View full article
FRDM-IMXRT1186 以太网指示灯不亮 您好, 我正在使用 FRDM-IMXRT1186 板(PCB Rev A,SCH Rev A3),带有 J56A ETH0 以太网接口。以太网本身可以正常工作,速度为 1 Gbps,但两个 RJ45 指示灯仍然熄灭。 PHY 芯片为 YT8531SH-CA,地址为 5。我还尝试手动强制设置 PHY LED 寄存器,但 LED 仍然不亮。 我使用官方 MCUXpresso SDK lwIP HTTP 服务器示例重现了同样的情况:服务器和以太网工作正常,但 RJ45 LED 指示灯仍然熄灭。 这是该电路板版本已知的问题吗?或者 J56A LED 是否需要任何 PHY 配置或硬件变通方法? i.MXRT Re: FRDM-IMXRT1186 Ethernet LEDs not working HI 感谢您提供如此详细的信息。根据您描述的情况,以太网链路和数据通信运行正常,但 J56A 接口上的 LED 指示灯未亮起。 感谢您提供的详细反馈。我们已注意到所报告的行为。 此致, 巴勃罗
View full article
恩智浦裁员? 显然,昨天很多人被裁员,而且本周和下周还会有更多人被裁员。有人知道这件事吗? Re: NXP layoffs? 你好, 感谢您通过 NXP 社区与我们联系。有关 NXP 的员工、组织变革或雇佣事宜的问题超出了技术产品支持的范围,无法通过此渠道解决。 有关 NXP 的准确官方信息,我们建议您参考 NXP 的官方企业通讯、投资者关系公告或新闻稿,这些内容可在 nxp.com 上找到。NXP员工可以通过其内部人力资源渠道提出与人力资源相关的咨询。 BRs,托马斯
View full article
Request for Review of Dual LAN9646 Ethernet Switch Integration on i.MX95-15x15-FRDM. Hello NXP Team, I have created a device-tree patch (2Xlan9646_imx95_15x15.patch) to integrate two LAN9646 Ethernet switch ICs with ETH1 and ETH2 on my custom i.MX95 15×15 board. Could you please carefully review the patch and verify whether the Ethernet switch integration is correct? Please focus on: LAN9646 configuration, SPI interfaces, chip-selects, reset GPIOs, and interrupt settings. Connections between the two switches and ENETC ports ETH1 and ETH2. Any missing or incorrect properties that could prevent both Ethernet interfaces from working correctly. Please pay particular attention to whether both LAN9646 switches can operate simultaneously and whether their port and PHY configurations are correct. The patch also contains HDMI, audio, LVDS, and other device-tree changes. Please ignore those changes and review only the dual LAN9646 Ethernet integration. Please suggest the necessary corrections and provide a reference device-tree example or documentation if available. Thank you for your support. Re: Request for Review of Dual LAN9646 Ethernet Switch Integration on i.MX95-15x15-FRDM. Hi, Thank you for your interest in NXP Semiconductor products, We don't have LAN9646 Ethernet Switch tested with i.MX 95, so I reviewed the information but can't confirm that it works. 1. It is a good practice to have workable DTS, so I would not comment the Reset and IRQ lines and I would put a default GPIO, is preferred that values are overwritten or kept in other files than leaving an incomplete node. 2. Mapping is swapped in DTS, pinctrl_enetc1 is mapped to LPSPI3 in schematic is seen that ENET1/ETH0 is connected to PHY1 along with LPSPI3, ENET2/ETH1 to PHY2 and LPSPI6. This differs from DTS. 3. I would add a prefix to LAN naming since both switches share their LAN naming properties. That is the review from my side, if you want to further test your DTS, try  dtbs_check . Regards
View full article
FRDM-IMXRT1186 Ethernet LEDs not working Hi, I am using the FRDM-IMXRT1186 board (PCB Rev A, SCH Rev A3) with the J56A ETH0 Ethernet interface. Ethernet itself works correctly at 1 Gbps but the two RJ45 LEDs remain off. The PHY is the YT8531SH-CA at address 5. I also tried forcing the PHY LED registers manually, but the LEDs still do not light. I reproduced the same behavior with an official MCUXpresso SDK lwIP HTTP server example: the server and Ethernet work, but the RJ45 LEDs remain off. Is this a known issue with this board revision, or is there any required PHY configuration or hardware workaround for the J56A LEDs? i.MXRT Re: FRDM-IMXRT1186 Ethernet LEDs not working Hi Thank you for the detailed information. Based on the behavior you described, the Ethernet link and data communication are operating correctly, while the LED indication on the J56A interface is not active. Thank you for the detailed feedback. We have noted the reported behavior. Best Regards, Pablo
View full article
FRDM-IMXRT1186イーサネットLEDの動作不良 こんにちは、 私はFRDM-IMXRT1186ボード(PCB Rev A、SCH Rev A3)とJ56A ETH0イーサネットインターフェースを使用しています。イーサネット自体は1Gbpsで正常に動作しますが、2つのRJ45 LEDは点灯したままです。 PHYはアドレス5のYT8531SH-CAです。PHY LEDレジスタを手動で強制的に設定してみましたが、それでもLEDは点灯しませんでした。 公式のMCUXpresso SDK lwIP HTTPサーバーの例でも同じ動作を再現しました:サーバーとイーサネットは動作しますが、RJ45のLEDは点灯したままです。 これはこの基板リビジョンにおける既知の問題でしょうか?それとも、J56A LEDに関して必要なPHY構成やハードウェアの回避策はありますか? i.MX RT Re: FRDM-IMXRT1186 Ethernet LEDs not working ハイ 詳細な情報を提供していただきありがとうございます。あなたが説明した挙動からすると、イーサネットリンクとデータ通信は正常に動作しており、J56AインターフェースのLED表示は点灯していません。 詳細なご意見をありがとうございます。報告された行動については承知いたしました。 よろしくお願いします、 パブロ
View full article
EB tresos Studio 28.2 & S32 Design Studio for S32 プラットフォーム 3.5 アクティベートできません 1、 https://nxp.flexnetoperations.com/control/frse/download?element=13118607 最新の認証コードを使用しても、正しく認証されません。#S32K3 #EB 2、 https://nxp.flexnetoperations.com/control/frse/dload_serialNum?item_key=13592207&plne=712807&certNum=317665591 S32 プラットフォーム 3.5用のS32 Design Studioもアクティベートに失敗します アクティベーション | インストール | ライセンス | インストーラーのダウンロード SDK Re: EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate 申し訳ありませんが、この問題は既に解決済みです。誤って「FlexNetライセンスサービス」を無効に設定してしまっていたことが判明しました。自動モードに変更したら、すべて正常に戻った。 Re: EB tresos Studio 28.2 & S32 Design Studio for S32 Platform 3.5 Unable to activate @jiri_kral  @petervlna   @Robin_Shen  @danielmartynek   皆さん、助けていただけませんか?これは私にとって本当に重要なことです。皆さん、本当にありがとうございます!
View full article