NXP - MIMXRT1050 Ethernet fix (HAL_NXP) #63389
-
Hello, Currently Ethernet does not work on the IMX RT1050, I have a fix that requires a change in HAL_NXP. However, it would not let me post an issue there. Create Project Load DHCP example project Flash Console reply
No further responses Change IGPIO module features from 1 to 0 in ..\rt1050EthSupport\modules\hal\nxp\mcux\mcux-sdk\devices\MIMXRT1052\MIMXRT1052_features.h /* IGPIO module features */
Console reply
|
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 2 replies
-
@danieldegrasse Is this something you can review? |
Beta Was this translation helpful? Give feedback.
-
Thanks for reporting this. This will save me quite a bit of time figuring out what the problem is. Looking at the history of that file it has been like it is in the current version from the start. So either Ethernet never worked or something else changed that affects these bits. I might have some time later today to look into this and will post here if I find something. |
Beta Was this translation helpful? Give feedback.
-
Alright, with a mimxrt1060_evkb, nxp_hal @ ad142f5 and Zephyr @ v3.4.0-4757-ga6f8935e4fca the out of the box samples/net/dhcpv4_client works like a charm. I looked in our stash of boards to see if I could find a RT1050 but unfortunately I came up empty. Given that I don't have the hardware it will be hard from me to reproduce / fix. I'll ask around on Monday if anybody has a RT1050 board.. As a first I would give the latest Zephyr a try just in case. I'll try the other version of the 1060 board (there are quite a few differences and it has a different dts) and see what that tells me.
|
Beta Was this translation helpful? Give feedback.
-
I believe this issue is isolated to the RT1050 as I believe it is untested, Unfortunately thought github/discord there isn'tany mention of users using the RT1050 for ethernet projects, however many are using a variant of the RT1060 |
Beta Was this translation helpful? Give feedback.
-
I do have a contact at NXP that might be able to help. I'll reach out and see who over there is handling Zephyr. |
Beta Was this translation helpful? Give feedback.
-
Hi @ShahinHaque97-CT (and @robertinant ), The DHCP sample works well for me on my MIMXRT1050-EVKB board. And I believe your issue may be related to an old silicon revision on your EVK. Perhaps you are using the deprecated MIMXRT1050-EVK board? First, the macros you altered in the HAL define if registers are present in the IGPIO peripheral. They tell the low-level driver from the MCUXpresso SDK if the registers DR_SET, DR_CLEAR, and DR_TOGGLE are present. And from the RT1050 Reference Manual, these registers are present. And these feature macros should not be disabled in the HAL. But I found a similar issue reported on NXP's support community, see rt1050 DR_SET and DR_CLEAR. And from this, it appears the driver has issues on the older Rev A0 silicon. A0 was used on the original board MIMXRT1050-EVK. NXP replaced that board with the latest MIMXRT1050-EVKB using A1 silicon. And the MCUXpresso SDK support was deprecated for the original board. Since the Zephyr HAL is built on this same SDK, today Zephyr only supports the latest MIMXRT1050-EVKB. The Zephyr doc page for this board has details about this, see Board Revisions. Can you confirm the silicon and board revision you have that has this issue? In the meantime, I am converting your post from an Issue to a Discussion, and we can continue the conversation there. For the record, when I tested on my MIMXRT1050-EVKB board, I used the latest Zephyr tag
And the console output:
Best regards |
Beta Was this translation helpful? Give feedback.
-
I have checked and yes unfortunately I am using an older silicon version. |
Beta Was this translation helpful? Give feedback.
-
I have managed to get Ethernet working on the RT1040, which I will continue with. |
Beta Was this translation helpful? Give feedback.
-
Hi everybody! Could something similar also affect the i.MX RT1020 EVK? I can only get the dhcpv4_client sample to work if I had previously flashed and run an ethernet example using MCUXpresso and then (without pushing the RESET button or power-cycling the hardware) Working example:
After pushing the RESET button or power-cycling the board:
My board too has a silicon rev A0 chip on there (PIMXRT1021DAG5A). Or am I missing something obvious? Thanks in advance, |
Beta Was this translation helpful? Give feedback.
Hi @ShahinHaque97-CT (and @robertinant ),
The DHCP sample works well for me on my MIMXRT1050-EVKB board. And I believe your issue may be related to an old silicon revision on your EVK. Perhaps you are using the deprecated MIMXRT1050-EVK board?
First, the macros you altered in the HAL define if registers are present in the IGPIO peripheral. They tell the low-level driver from the MCUXpresso SDK if the registers DR_SET, DR_CLEAR, and DR_TOGGLE are present. And from the RT1050 Reference Manual, these registers are present. And these feature macros should not be disabled in the HAL.
But I found a similar issue reported on NXP's support community, see rt1050 DR_SET and DR_CLEAR. And from this,…