我想在有 Wake on LAN (WoL)数据包到达时、将此芯片的中断引脚用作 Linux 中的系统唤醒源。
设备驱动程序(由 TI 开发)似乎能够配置 WoL 并处理中断、但我不知道如何利用此功能。 这是我当前的器件节点定义:
&mdio0 {
#address-cells = <1>;
#size-cells = <0>;
dp83826: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x0>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <ð_wake_intn ð_phy_rstn>;
reset-assert-us = <1000>;
reset-deassert-us = <2000>;
reset-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_LOW>;
wakeup-source;
};
};
在这里、RK_PD3是我用来接收由 PHY 生成的中断的 GPIO。
问题在于驱动程序启用所有中断源、这样 MAC 就不需要轮询信息。 另一方面、这些中断源中的任何一个都将唤醒系统、不仅仅是魔术包、使得 WoL 配置无用。 因此、我想知道是否缺少某些设置或属性。
使用 PHY WoL 机制的正确配置是什么?
谢谢、此致、
哈维尔