X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=blobdiff_plain;f=meta-bsp%2Fvuduo2%2Frecipes%2Flinux%2Flinux-vuplus-3.13.5%2Fbrcm_s3_wol.patch;fp=meta-bsp%2Fvuduo2%2Frecipes%2Flinux%2Flinux-vuplus-3.13.5%2Fbrcm_s3_wol.patch;h=0000000000000000000000000000000000000000;hp=57baaef8fe9730b8c3930bba0a3aaa6bf4e07db1;hb=ae009e7e28ec4df53dfacd46f7afcc7835ad9b3e;hpb=9efcbdc1ab9b560da84765907eecc22620e0dfcd diff --git a/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.13.5/brcm_s3_wol.patch b/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.13.5/brcm_s3_wol.patch deleted file mode 100644 index 57baaef..0000000 --- a/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.13.5/brcm_s3_wol.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index c23156a..9ae22a9 100644 ---- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c -+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -3115,6 +3115,34 @@ static int bcmgenet_set_wol(struct net_device *dev, - umac->mpd_pw_ls = get_unaligned_be32(&wol->sopass[2]); - umac->mpd_ctrl |= MPD_PW_EN; - } -+ if (pDevCtrl->phyType == BRCM_PHY_TYPE_EXT_RGMII) -+ { -+ if(wol->wolopts & WAKE_MAGIC) -+ { -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1f, 0x0007); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1e, 0x006e); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x15, dev->dev_addr[1]<<8 | dev->dev_addr[0]); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x16, dev->dev_addr[3]<<8 | dev->dev_addr[2]); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x17, dev->dev_addr[5]<<8 | dev->dev_addr[4]); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1f, 0x0007); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1e, 0x006d); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x16, 0x9fff); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x15, 0x1000); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1e, 0x006d); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x19, 0x0001); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1f, 0x0000); -+ -+ } -+ else -+ { -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1f, 0x0007); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1e, 0x006d); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x16, 0x9fff); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x15, 0x0000); -+ pDevCtrl->mii.mdio_write(dev, pDevCtrl->phyAddr, 0x1f, 0x0000); -+ } -+ } -+ - - device_set_wakeup_enable(&dev->dev, wol->wolopts); - pDevCtrl->wolopts = wol->wolopts; -diff --git a/drivers/brcmstb/setup.c b/drivers/brcmstb/setup.c -index 21a6e42..954b902 100644 ---- a/drivers/brcmstb/setup.c -+++ b/drivers/brcmstb/setup.c -@@ -932,6 +932,15 @@ void brcm_machine_restart(const char *command) - ; - } - -+void (*brcm_s3_cb)(void); -+ -+ -+void register_brcm_s3_cb(void (*cb)(void)) -+{ -+ brcm_s3_cb = cb; -+} -+EXPORT_SYMBOL(register_brcm_s3_cb); -+ - void brcm_machine_halt(void) - { - #ifdef CONFIG_BRCM_IRW_HALT -@@ -939,6 +948,7 @@ void brcm_machine_halt(void) - BDEV_WR_F_RB(SUN_TOP_CTRL_GENERAL_CTRL_1, irw_top_sw_pwroff, 0); - BDEV_WR_F_RB(SUN_TOP_CTRL_GENERAL_CTRL_1, irw_top_sw_pwroff, 1); - #endif -+ if(brcm_s3_cb) brcm_s3_cb(); - #ifdef CONFIG_BRCM_HAS_AON - /* may be S3 cold boot */ - brcm_pm_s3_cold_boot(); -