RDBESSK358BMU Ethernet configuration

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

RDBESSK358BMU Ethernet configuration

Jump to solution
443 Views
gferretts
Contributor II

I'm currently working on RDBESSK358BMU from NXP, the board has S32K358 with GMAC connected to Marvell Alaska 88e1510 transceiver and a eth gigabit port (HW scheme attached).

I'm wondering if i can use tcpip stack with lwip_baremetal examples with this configuration.

The example with Gmac_Loopback works, butlwip_baremetal_example fails on Gmac_initDMA like i saw in other posts it is a clock reference problem, but the board i'm using has an external clock on it, so i don't understand how to adapt the example to my hardware. Can someone give help? Thanks!

Screenshot 2026-04-22 103818.png

0 Kudos
Reply
1 Solution
331 Views
PavelL
NXP Employee
NXP Employee

Hello @gferretts ,

I apologize for delayed reply.

Unfortunately, RD-BESSK358BMU is not in  my possession, so I'm not able to adapt lwip example for you. Anyway, I adapted lwip example for S32K358EVB-Q289, RGMII 100Mbps without any issues. Let me share basic steps I use for adoption (please note that some details might be related to S32K3 RTD / TCPIP version):

  • Config Tool - Pins
    • Adopting pins to fit board's wiring
    • Set Slew rate as Fastest settings, if applicable
    • TX_CLK should be output for RGMII
  • Config Tool - Clocks
    • GMAC clocks should look like that (note for GMAC 1Gbps: 25MHz -> 125MHz ; 50MHz -> 250MHz)

PavelL_0-1777015189023.png

  • Config Tool - GMAC driver
    • ETH_MAC_LAYE_TYPE_XGMII, REDUCED, set correct speed ETH_MAC_LAYER_SPEED_xxx
  • Source code - device.c
    • Add RTD workaround as the very first rows of device_init()

/* Set RGMII mode configuration for GMAC0 in DCM module */
IP_DCM_GPR->DCMRWF1 |= DCM_GPR_DCMRWF1_MAC_CONF_SEL(0x01) | DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK;
/* Set RGMII RX_CLK arrives directly from the RX_CLK pin for GMAC in DCM module */
IP_DCM_GPR->DCMRWF3 |= DCM_GPR_DCMRWF3_MAC_RX_CLK_MUX_BYPASS(0x01);

  • Source code - test.c
    • Alternatively, comment out section which shuts down TCP/IP stack after some time

 

This was the easier part.

Looking to schematic, you need to define GPIO PTC1 to provide valid reset pulse signal to the PHY and wait for a while before initializing GMAC. PHY usually works independently, in unmanaged mode, just configured by pin strapping. Sometimes, PHY requires management via SMI.

 

What S32K3 RTD version and what TCP/IP stack version do you use?

Best regards,

Pavel

View solution in original post

0 Kudos
Reply
4 Replies
332 Views
PavelL
NXP Employee
NXP Employee

Hello @gferretts ,

I apologize for delayed reply.

Unfortunately, RD-BESSK358BMU is not in  my possession, so I'm not able to adapt lwip example for you. Anyway, I adapted lwip example for S32K358EVB-Q289, RGMII 100Mbps without any issues. Let me share basic steps I use for adoption (please note that some details might be related to S32K3 RTD / TCPIP version):

  • Config Tool - Pins
    • Adopting pins to fit board's wiring
    • Set Slew rate as Fastest settings, if applicable
    • TX_CLK should be output for RGMII
  • Config Tool - Clocks
    • GMAC clocks should look like that (note for GMAC 1Gbps: 25MHz -> 125MHz ; 50MHz -> 250MHz)

PavelL_0-1777015189023.png

  • Config Tool - GMAC driver
    • ETH_MAC_LAYE_TYPE_XGMII, REDUCED, set correct speed ETH_MAC_LAYER_SPEED_xxx
  • Source code - device.c
    • Add RTD workaround as the very first rows of device_init()

/* Set RGMII mode configuration for GMAC0 in DCM module */
IP_DCM_GPR->DCMRWF1 |= DCM_GPR_DCMRWF1_MAC_CONF_SEL(0x01) | DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK;
/* Set RGMII RX_CLK arrives directly from the RX_CLK pin for GMAC in DCM module */
IP_DCM_GPR->DCMRWF3 |= DCM_GPR_DCMRWF3_MAC_RX_CLK_MUX_BYPASS(0x01);

  • Source code - test.c
    • Alternatively, comment out section which shuts down TCP/IP stack after some time

 

This was the easier part.

Looking to schematic, you need to define GPIO PTC1 to provide valid reset pulse signal to the PHY and wait for a while before initializing GMAC. PHY usually works independently, in unmanaged mode, just configured by pin strapping. Sometimes, PHY requires management via SMI.

 

What S32K3 RTD version and what TCP/IP stack version do you use?

Best regards,

Pavel

0 Kudos
Reply
326 Views
gferretts
Contributor II

Hi @PavelL , thanks for your reply. I'm still having problems with lwip, i also have s32k3x8evb-q289 but i don't have a TJA daughter board so i need to test Ethernet on my S32K358BMU.

I'm using RTD3.0.0 with "TCPIP STACK 1.0.3 D2306", i attach my .mex config file where i tryied to replicate what you showed (clock configuration, GMAC pheripheral and pinout) and "device.c" with ETH_RESET from pin.

I tryied also to replicate your RTD turnaround manually since my rtd has no loopback define:

void device_init(void) {
uint16 pitPeriod;
/* Set RMII configuration for EMAC in DCM module */
//IP_DCM_GPR->DCMRWF1 = (IP_DCM_GPR->DCMRWF1 & ~DCM_GPR_DCMRWF1_EMAC_CONF_SEL_MASK) | DCM_GPR_DCMRWF1_EMAC_CONF_SEL(1U);
/* Manual RTD turnaround */
IP_DCM_GPR->DCMRWF1 = 0x80000040;
IP_DCM_GPR->DCMRWF3 = 0x2000;
....}
 
With this configuration, the example is able to achieve Gmac_Ip_InitDMA without Timeout and reaches mainloop, but pinging 192.168.0.200 from my Pc results in not reachable host and ping timeout. 
With oscilloscope i verified RXC is present (25MHz when Phy negotiates 100Mbps or 125MHz when 1Gbps) so there is some traffic coming from ETH port. Meanwhile on TXC now i see 125MHz too but TXD0,1 are never triggered.
I hope you can find what is happening wrong here. 
 
Tags (4)
0 Kudos
Reply
320 Views
gferretts
Contributor II

Thank you very much @PavelL! I noticed i still had 100m as GMAC speed, by setting it to 1G to match 125MHz clock now it works fine with ping and TCP echo on port 7!

I also commented "Eth_T_InitPhys();" since my PHY was not in the phy list and it is configured via straps.

Screenshot 2026-04-24 121606.png

Screenshot 2026-04-24 121640.png

0 Kudos
Reply
314 Views
PavelL
NXP Employee
NXP Employee

Hello @gferretts ,

yes, that's what I have found. You were faster.

You may copy missing definition from RTD 5.0.0:
#define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK (0x80000000U)
#define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_SHIFT (31U)
#define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_WIDTH (1U)
#define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN(x) (((uint32_t)(((uint32_t)(x)) << DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_SHIFT)) & DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK)

... just notice that the RTD workaround uses |= 

Regarding Eth_T_InitPhys() - yes, that was also right mode - this routine deserves a deep inspection.

Best regards,

Pavel

%3CLINGO-SUB%20id%3D%22lingo-sub-2354614%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERDBESSK358BMU%20Ethernet%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2354614%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI'm%20currently%20working%20on%20RDBESSK358BMU%20from%20NXP%2C%20the%20board%20has%20S32K358%20with%20GMAC%20connected%20to%20Marvell%20Alaska%2088e1510%20transceiver%20and%20a%20eth%20gigabit%20port%20(HW%20scheme%20attached).%3C%2FP%3E%3CP%3EI'm%20wondering%20if%20i%20can%20use%20tcpip%20stack%20with%20lwip_baremetal%20examples%20with%20this%20configuration.%3C%2FP%3E%3CP%3EThe%20example%20with%20Gmac_Loopback%20works%2C%20butlwip_baremetal_example%20fails%20on%20Gmac_initDMA%20like%20i%20saw%20in%20other%20posts%20it%20is%20a%20clock%20reference%20problem%2C%20but%20the%20board%20i'm%20using%20has%20an%20external%20clock%20on%20it%2C%20so%20i%20don't%20understand%20how%20to%20adapt%20the%20example%20to%20my%20hardware.%20Can%20someone%20give%20help%3F%20Thanks!%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202026-04-22%20103818.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202026-04-22%20103818.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F383172i89DEBF3D64EE4CF6%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Screenshot%202026-04-22%20103818.png%22%20alt%3D%22Screenshot%202026-04-22%20103818.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E2%80%83%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2355795%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RDBESSK358BMU%20Ethernet%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355795%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F260147%22%20target%3D%22_blank%22%3E%40gferretts%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3Eyes%2C%20that's%20what%20I%20have%20found.%20You%20were%20faster.%3C%2FP%3E%0A%3CP%3EYou%20may%20copy%20missing%20definition%20from%20RTD%205.0.0%3A%3CBR%20%2F%3E%23define%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK%20(0x80000000U)%3CBR%20%2F%3E%23define%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_SHIFT%20(31U)%3CBR%20%2F%3E%23define%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_WIDTH%20(1U)%3CBR%20%2F%3E%23define%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN(x)%20(((uint32_t)(((uint32_t)(x))%20%26lt%3B%26lt%3B%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_SHIFT))%20%26amp%3B%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK)%3C%2FP%3E%0A%3CP%3E...%20just%20notice%20that%20the%20RTD%20workaround%20uses%20%7C%3D%26nbsp%3B%3C%2FP%3E%0A%3CP%3ERegarding%20Eth_T_InitPhys()%20-%20yes%2C%20that%20was%20also%20right%20mode%20-%20this%20routine%20deserves%20a%20deep%20inspection.%3C%2FP%3E%0A%3CP%3EBest%20regards%2C%3C%2FP%3E%0A%3CP%3EPavel%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2355789%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RDBESSK358BMU%20Ethernet%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355789%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThank%20you%20very%20much%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F233505%22%20target%3D%22_blank%22%3E%40PavelL%3C%2FA%3E!%20I%20noticed%20i%20still%20had%20100m%20as%20GMAC%20speed%2C%20by%20setting%20it%20to%201G%20to%20match%20125MHz%20clock%20now%20it%20works%20fine%20with%20ping%20and%20TCP%20echo%20on%20port%207!%3C%2FP%3E%3CP%3EI%20also%20commented%20%22Eth_T_InitPhys()%3B%22%20since%20my%20PHY%20was%20not%20in%20the%20phy%20list%20and%20it%20is%20configured%20via%20straps.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202026-04-24%20121606.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202026-04-24%20121606.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F383478i7F0803F13F5A9209%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Screenshot%202026-04-24%20121606.png%22%20alt%3D%22Screenshot%202026-04-24%20121606.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E2%80%83%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202026-04-24%20121640.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202026-04-24%20121640.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F383479i2A529C8724B42B67%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Screenshot%202026-04-24%20121640.png%22%20alt%3D%22Screenshot%202026-04-24%20121640.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E2%80%83%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2355772%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RDBESSK358BMU%20Ethernet%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355772%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F233505%22%20target%3D%22_blank%22%3E%40PavelL%3C%2FA%3E%20%2C%20thanks%20for%20your%20reply.%20I'm%20still%20having%20problems%20with%20lwip%2C%20i%20also%20have%20s32k3x8evb-q289%20but%20i%20don't%20have%20a%20TJA%20daughter%20board%20so%20i%20need%20to%20test%20Ethernet%20on%20my%20S32K358BMU.%3C%2FP%3E%3CP%3EI'm%20using%20RTD3.0.0%20with%20%22TCPIP%20STACK%201.0.3%20D2306%22%2C%20i%20attach%20my%20.mex%20config%20file%20where%20i%20tryied%20to%20replicate%20what%20you%20showed%20(clock%20configuration%2C%20GMAC%20pheripheral%20and%20pinout)%20and%20%22device.c%22%20with%20ETH_RESET%20from%20pin.%3C%2FP%3E%3CP%3EI%20tryied%20also%20to%20replicate%20your%20RTD%20turnaround%20manually%20since%20my%20rtd%20has%20no%20loopback%20define%3A%3C%2FP%3E%3CDIV%3Evoid%20device_init(void)%20%7B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint16%20pitPeriod%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F*%20Set%20RMII%20configuration%20for%20EMAC%20in%20DCM%20module%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FIP_DCM_GPR-%26gt%3BDCMRWF1%20%3D%20(IP_DCM_GPR-%26gt%3BDCMRWF1%20%26amp%3B%20~DCM_GPR_DCMRWF1_EMAC_CONF_SEL_MASK)%20%7C%20DCM_GPR_DCMRWF1_EMAC_CONF_SEL(1U)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F*%20Manual%20RTD%20turnaround%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIP_DCM_GPR-%26gt%3BDCMRWF1%20%3D%200x80000040%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIP_DCM_GPR-%26gt%3BDCMRWF3%20%3D%200x2000%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E....%3C%2FSPAN%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EWith%20this%20configuration%2C%20the%20example%20is%20able%20to%20achieve%20Gmac_Ip_InitDMA%20without%20Timeout%20and%20reaches%20mainloop%2C%20but%20pinging%20192.168.0.200%20from%20my%20Pc%20results%20in%20not%20reachable%20host%20and%20ping%20timeout.%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EWith%20oscilloscope%20i%20verified%20RXC%20is%20present%20(25MHz%20when%20Phy%20negotiates%20100Mbps%20or%20125MHz%20when%201Gbps)%20so%20there%20is%20some%20traffic%20coming%20from%20ETH%20port.%20Meanwhile%20on%20TXC%20now%20i%20see%20125MHz%20too%20but%20TXD0%2C1%20are%20never%20triggered.%3C%2FDIV%3E%3CDIV%3EI%20hope%20you%20can%20find%20what%20is%20happening%20wrong%20here.%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2355696%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RDBESSK358BMU%20Ethernet%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355696%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F260147%22%20target%3D%22_blank%22%3E%40gferretts%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3EI%20apologize%20for%20delayed%20reply.%3C%2FP%3E%0A%3CP%3EUnfortunately%2C%26nbsp%3BRD-BESSK358BMU%20is%20not%20in%26nbsp%3B%20my%20possession%2C%20so%20I'm%20not%20able%20to%20adapt%20lwip%20example%20for%20you.%20Anyway%2C%20I%20adapted%20lwip%20example%20for%26nbsp%3BS32K358EVB-Q289%2C%20RGMII%20100Mbps%20without%20any%20issues.%20Let%20me%20share%20basic%20steps%20I%20use%20for%20adoption%20(please%20note%20that%20some%20details%20might%20be%20related%20to%20S32K3%20RTD%20%2F%20TCPIP%20version)%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EConfig%20Tool%20-%20Pins%0A%3CUL%3E%0A%3CLI%3EAdopting%20pins%20to%20fit%20board's%20wiring%3C%2FLI%3E%0A%3CLI%3ESet%20Slew%20rate%20as%20Fastest%20settings%2C%20if%20applicable%3C%2FLI%3E%0A%3CLI%3ETX_CLK%20should%20be%20output%20for%20RGMII%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3EConfig%20Tool%20-%20Clocks%0A%3CUL%3E%0A%3CLI%3EGMAC%20clocks%20should%20look%20like%20that%20(note%20for%20GMAC%201Gbps%3A%2025MHz%20-%26gt%3B%20125MHz%20%3B%2050MHz%20-%26gt%3B%20250MHz)%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22PavelL_0-1777015189023.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22PavelL_0-1777015189023.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F383445i246B6EC68DC45A5A%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22PavelL_0-1777015189023.png%22%20alt%3D%22PavelL_0-1777015189023.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EConfig%20Tool%20-%20GMAC%20driver%0A%3CUL%3E%0A%3CLI%3EETH_MAC_LAYE_TYPE_XGMII%2C%20REDUCED%2C%20set%20correct%20speed%20ETH_MAC_LAYER_SPEED_xxx%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3ESource%20code%20-%20device.c%0A%3CUL%3E%0A%3CLI%3EAdd%20RTD%20workaround%20as%20the%20very%20first%20rows%20of%20device_init()%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%2F*%20Set%20RGMII%20mode%20configuration%20for%20GMAC0%20in%20DCM%20module%20*%2F%3CBR%20%2F%3EIP_DCM_GPR-%26gt%3BDCMRWF1%20%7C%3D%20DCM_GPR_DCMRWF1_MAC_CONF_SEL(0x01)%20%7C%20DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK%3B%3CBR%20%2F%3E%2F*%20Set%20RGMII%20RX_CLK%20arrives%20directly%20from%20the%20RX_CLK%20pin%20for%20GMAC%20in%20DCM%20module%20*%2F%3CBR%20%2F%3EIP_DCM_GPR-%26gt%3BDCMRWF3%20%7C%3D%20DCM_GPR_DCMRWF3_MAC_RX_CLK_MUX_BYPASS(0x01)%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ESource%20code%20-%20test.c%0A%3CUL%3E%0A%3CLI%3EAlternatively%2C%20comment%20out%20section%20which%20shuts%20down%20TCP%2FIP%20stack%20after%20some%20time%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CBR%20%2F%3E%0A%3CP%3EThis%20was%20the%20easier%20part.%3C%2FP%3E%0A%3CP%3ELooking%20to%20schematic%2C%20you%20need%20to%20define%20GPIO%20PTC1%20to%20provide%20valid%20reset%20pulse%20signal%20to%20the%20PHY%20and%20wait%20for%20a%20while%20before%20initializing%20GMAC.%20PHY%20usually%20works%20independently%2C%20in%20unmanaged%20mode%2C%20just%20configured%20by%20pin%20strapping.%20Sometimes%2C%20PHY%20requires%20management%20via%20SMI.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EWhat%20S32K3%20RTD%20version%20and%20what%20TCP%2FIP%20stack%20version%20do%20you%20use%3F%3C%2FP%3E%0A%3CP%3EBest%20regards%2C%3C%2FP%3E%0A%3CP%3EPavel%3C%2FP%3E%3C%2FLINGO-BODY%3E