mirror of
https://github.com/hardkernel/kernel_common_drivers.git
synced 2026-06-25 12:03:48 +09:00
mdns: mdns wakeup [1/1]
PD#SWPL-107230 Problem: google cast wakeup Solution: add mdns wakeup source Verify: qurra Change-Id: I812c52da9c16d4e1d60f8598f47564a5506b14bc Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
This commit is contained in:
@@ -1141,6 +1141,8 @@
|
||||
status = "okay";
|
||||
phy-handle = <&internal_ephy>;
|
||||
phy-mode = "rmii";
|
||||
mac_wol = <1>;
|
||||
mdns_wkup = <1>;
|
||||
};
|
||||
|
||||
&ir {
|
||||
|
||||
@@ -1137,6 +1137,8 @@
|
||||
status = "okay";
|
||||
phy-handle = <&internal_ephy>;
|
||||
phy-mode = "rmii";
|
||||
mac_wol = <1>;
|
||||
mdns_wkup = <1>;
|
||||
};
|
||||
|
||||
&ir {
|
||||
|
||||
@@ -1216,6 +1216,8 @@
|
||||
status = "okay";
|
||||
phy-handle = <&internal_ephy>;
|
||||
phy-mode = "rmii";
|
||||
mac_wol = <1>;
|
||||
mdns_wkup = <1>;
|
||||
};
|
||||
|
||||
&ir {
|
||||
|
||||
@@ -315,6 +315,27 @@ static void dwmac4_pmt(struct mac_device_info *hw, unsigned long mode)
|
||||
unsigned int pmt = 0;
|
||||
u32 config;
|
||||
|
||||
#if IS_ENABLED(CONFIG_AMLOGIC_ETH_PRIVE)
|
||||
if (mode & (1 << 8)) {
|
||||
pr_debug("GMAC4: WOL mdns wakeup\n");
|
||||
/* udp: offset:0x17 val=0x11
|
||||
* mdns: offset:0x22 val=0x14 0xe9 0x14 0xe9
|
||||
* query:offset:0x2c val=0x0
|
||||
* crc16= 0x1089
|
||||
*/
|
||||
writel(readl(ioaddr + GMAC_PACKET_FILTER) | GMAC_PACKET_FILTER_PM,
|
||||
ioaddr + GMAC_PACKET_FILTER);
|
||||
writel(0x207801, (ioaddr + 0xc4));
|
||||
writel(0, (ioaddr + 0xc4));
|
||||
writel(0, (ioaddr + 0xc4));
|
||||
writel(0, (ioaddr + 0xc4));
|
||||
writel(0x9, (ioaddr + 0xc4));
|
||||
writel(0x17, (ioaddr + 0xc4));
|
||||
writel(0x1089, (ioaddr + 0xc4));
|
||||
writel(0, (ioaddr + 0xc4));
|
||||
pmt |= power_down | wake_up_frame_en;
|
||||
}
|
||||
#endif
|
||||
if (mode & WAKE_MAGIC) {
|
||||
pr_debug("GMAC: WOL Magic frame\n");
|
||||
pmt |= power_down | magic_pkt_en;
|
||||
|
||||
Reference in New Issue
Block a user