Wake On LAN for S32G2 RDB2 [Autolinux BSP v33]

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

Wake On LAN for S32G2 RDB2 [Autolinux BSP v33]

2,122 Views
rishabh-j-dev
Contributor I

We are using the GMAC interface on our RDB2 and are interested in enabling Wake-On-LAN support for the interface. Specifically, we are using the s32g274ardb2 board with the AutoLinux BSP v33. 

From the product brief, it seems that the board should support a variety of Wake signals to wake up after suspending to RAM. Based on the datasheet of the ETH transceiver connected to the GMAC interface, it supports "Magic Packet Detection" which would send a signal to the S32G2 once it receives the specified packet. 

Do you have any documentation/instructions on how to configure the AutoLinux image to use this signal as a wakeup source. Or in general, do you have any guides on how to use Wake On LAN with this reference board? 

0 Kudos
Reply
3 Replies

2,111 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Regarding if it is implemented or not, when starting the Kernel we have the following:

[ 0.769489] s32cc-dwmac 4033c000.ethernet: IRQ eth_wake_irq not found
[ 0.776057] s32cc-dwmac 4033c000.ethernet: IRQ eth_lpi not found
[ 0.782364] s32cc-dwmac 4033c000.ethernet: no reset control found
[ 0.788725] s32cc-dwmac 4033c000.ethernet: phy mode set to RGMII
[ 0.794983] s32cc-dwmac 4033c000.ethernet: User ID: 0x10, Synopsys ID: 0x51
[ 0.802094] s32cc-dwmac 4033c000.ethernet: DWMAC4/5
[ 0.807158] s32cc-dwmac 4033c000.ethernet: DMA HW capability register support ed
[ 0.814605] s32cc-dwmac 4033c000.ethernet: RX Checksum Offload Engine support ed
[ 0.822052] s32cc-dwmac 4033c000.ethernet: TX Checksum insertion supported
[ 0.829055] s32cc-dwmac 4033c000.ethernet: Wake-Up On Lan supported                        <<<<<<
[ 0.835492] s32cc-dwmac 4033c000.ethernet: Enabled workarounds for s32g274a p latform
[ 0.843384] s32cc-dwmac 4033c000.ethernet: Enable RX Mitigation via HW Watchd og Timer
[ 0.851369] s32cc-dwmac 4033c000.ethernet: device MAC address e2:d0:6b:90:00: f1
[ 0.858826] s32cc-dwmac 4033c000.ethernet: Enabled Flow TC (entries=8)
[ 0.865489] s32cc-dwmac 4033c000.ethernet: Enabling HW TC (entries=256, max_o ff=256)
[ 0.873383] s32cc-dwmac 4033c000.ethernet: Using 32 bits DMA width

Meaning it should be supported. 

As to how to use the different wakeup sources, the Linux BSP 33.0 for S32G2 Platform gives more information about it [Chapter 23.3.1, Page 105], and steps on how to implement a GPIO as a wakeup source.

For specific Wake On LAN steps, for my knowledge, there is no available for it. There is an Ethernet Enablement Guide available on the RDB2 product page (link: S32G2 Vehicle Networking Reference Design | NXP Semiconductors), but it does not have this topic in it.

Please, let us know.

0 Kudos
Reply

2,094 Views
rishabh-j-dev
Contributor I

As to how to use the different wakeup sources, the Linux BSP 33.0 for S32G2 Platform gives more information about it [Chapter 23.3.1, Page 105], and steps on how to implement a GPIO as a wakeup source.

On this note, I am a bit confused on what GPIO pin I can use to trigger the wakeup interrupt. Based on that guide, it seems I am enabling wakeup interrupt #16 on the SoC. Is that corresponding to Wake Up Input 16? 

If it is, then based on the IOMUX excel file, it seems that corresponds to port PL_00.

rishabhjdev_0-1678070375817.png

 

If that is the case, do you know what commands/data I need to write to the registers to configure this pin as an Wakeup interrupt source (rather than LIN RX). 


Also, do you know physically what wire on the breakout cable(s) I will need to set to 3.3V to trigger a wakeup on the S32G RDB2?

 

Thanks!

0 Kudos
Reply

2,082 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Your assumption is correct, the number is related to the wakeup input number.

As tolds in the Linux User Manual, you need to modify the device tree in the TF-A itself, then you need to rebuild the Linux image for it to have the change you are implementing.

As for what wire is available, looking into the breakout/connectors, there is no direct connection to a WKPU pin itself, meaning you might need to rework the board if you are planning on using a WKPU without the need of sending a specialized wakeup message through LIN/CAN interfaces.

At this point, we might recommend opening a ticket on NXP online services, for them to see if there is something available under this topic. As said in the Linux User Manual:

"In order to manually wake the platform up, one needs to apply 3V3 voltage to the configured GPIO pin. This specific process is outside the scope of this document."

Please, let us know.

0 Kudos
Reply