[Linux-stm32] [PATCH net-next 10/12] net: stmmac: tc956x: add TC956x/QPS615 support
Xilin Wu
sophon at radxa.com
Wed May 6 14:35:18 UTC 2026
On 5/6/2026 10:19 PM, Andrew Lunn wrote:
> On Wed, May 06, 2026 at 08:59:01PM +0800, Xilin Wu wrote:
>> On 5/1/2026 11:54 PM, Alex Elder wrote:
>>> + /* AXI Configuration */
>>> + axi = &td->axi;
>>> + axi->axi_lpi_en = 1;
>>> + axi->axi_wr_osr_lmt = 31;
>>> + axi->axi_rd_osr_lmt = 31;
>>> + /* All sizes (2^2..2^8) are supported */
>>> + axi->axi_blen_regval = DMA_AXI_BLEN_MASK;
>>> + plat->axi = axi;
>>> +
>>> + plat->mac_port_sel_speed = speed;
>>> + plat->flags = STMMAC_FLAG_MULTI_MSI_EN | STMMAC_FLAG_TSO_EN;
>>
>> I got WoL working only after adding STMMAC_FLAG_USE_PHY_WOL here. I guess
>> it's required, since the driver clocks down the MAC/PMA/XPCS in its suspend
>> hook?
>
> Nice to see somebody testing WoL.
>
> In your testing, is it the PHY doing the WoL, or the MAC? I assume
> PHY.
>
> If i remember the DT correctly, the PHY interrupt is connected to a
> SoC GPIO, not a GPIO of this chip. So for your board, it is the SoCs
> GPIO controllers ability to perform the wake which is
> important. However, where the PHY interrupt is connected is a board
> design issue. Could the PHY interrupt be connected to the chip? Would
> the chip be able to wake the system? Should STMMAC_FLAG_USE_PHY_WOL be
> conditional?
>
> Andrew
>
Hi Andrew,
Yes, the PHY is doing the WoL. And I guess this makes sense as it allows
the MAC to power down during suspend to save power.
The INTN pin of QCA8081 is connected to the ETH_0_INT_N of QPS615. And
the INTN_WOL pin is connected to a SoC GPIO.
Without this change, I can't get WoL to work. I have a working branch
for our board here:
https://github.com/strongtz/linux-radxa-qcom/commits/v7.0.2-8280-wip/
--
Best regards,
Xilin Wu <sophon at radxa.com>
More information about the Linux-stm32
mailing list