summaryrefslogtreecommitdiff
path: root/cleopatre/linux-2.6.25.10-spc300/drivers/net
diff options
context:
space:
mode:
authorOlivier Dufour2012-11-14 17:38:17 +0100
committerOlivier Dufour2012-12-21 15:15:44 +0100
commitf27bb17628e6de40771e8a7102f7a5a135047f40 (patch)
treefa24efb1e2ad8090fe180efcff0f4a4dbcba840b /cleopatre/linux-2.6.25.10-spc300/drivers/net
parent816a628f6b52a66f134fe0e8357df87391071e22 (diff)
cleo/linux/arch/arm/spc300: wake up on eth link up, refs #2633
There is now a data section in SRAM, that contains dynamic parameters for pm_process function in SRAM.
Diffstat (limited to 'cleopatre/linux-2.6.25.10-spc300/drivers/net')
-rw-r--r--cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.c b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.c
index 9119cbc7f6..25ca3b4727 100644
--- a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.c
+++ b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.c
@@ -55,6 +55,9 @@
#include <net/seq_check.h>
#include <linux/if_vlan.h>
#include <asm/arch/ips/ahb2miu.h>
+#ifdef CONFIG_CHIP_FEATURE_SRAM
+#include <asm/arch/ips/sram.h>
+#endif
#include "synop3504_hw.h"
#include "synop3504.h"
@@ -1792,6 +1795,15 @@ static int __init synop3504_module_probe(struct platform_device *pdev)
priv->phy_addr = pdata->phy_addr;
priv->mac_id = pdata->mac_id;
+#if defined(CONFIG_CHIP_FEATURE_SRAM) && defined (CONFIG_PM)
+ /* Store needed data for SRAM operations. */
+ if (priv->mac_id == 1)
+ {
+ sram_data.phy_addr = priv->phy_addr;
+ sram_data.gmac_virtual_base_addr = priv->gmac_addr;
+ }
+#endif
+
seq_check_init(&priv->seq_check_ctx, "eth_drv");
//Proceed the init driver