From 8ee108bc6d5016718ba1fac4287c6e0cbea29a51 Mon Sep 17 00:00:00 2001 From: Jean-Philippe SAVE Date: Fri, 24 Aug 2012 16:34:21 +0200 Subject: cleo/{linux, buildroot}: handle eth clks and rgmii on MSE500, refs #3318 --- .../target/device/Spidcom/arizona/linux26.config | 2 + .../target/device/Spidcom/mse500/linux26.config | 2 + .../device/Spidcom/mse500dini_300/linux26.config | 2 + .../target/device/Spidcom/scr310/linux26.config | 2 + .../target/device/Spidcom/spk300/linux26.config | 2 + .../target/device/Spidcom/spk300g/linux26.config | 2 + .../target/device/Spidcom/spk310/linux26.config | 2 + .../target/device/Spidcom/spr300/linux26.config | 2 + .../target/device/Spidcom/spr310/linux26.config | 2 + .../arch/arm/mach-spc300/Kconfig | 7 +++ .../arch/arm/mach-spc300/spc300-devices.c | 16 +++-- .../drivers/net/arm/synop3504.c | 21 +++---- .../drivers/net/arm/synop3504.h | 1 + .../drivers/net/arm/synop3504_hw.c | 70 +++++++++++++++++++++- .../drivers/net/arm/synop3504_hw.h | 1 + .../drivers/net/arm/synop3504_reg.h | 3 + 16 files changed, 118 insertions(+), 19 deletions(-) diff --git a/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config b/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config index b18854bd2f..0bd9aac92e 100644 --- a/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set CONFIG_HAVE_MTD_SPC300_LARGE=y # CONFIG_HAVE_MTD_SPC300_MEDIUM is not set # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config b/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config index 24f59607eb..5435f593a9 100644 --- a/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_GIC_64_LINES=y CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS=y # CONFIG_CHIP_FEATURE_SPCPLL is not set CONFIG_CHIP_FEATURE_MSEPLL=y +# CONFIG_CHIP_FEATURE_SPCETH is not set +CONFIG_CHIP_FEATURE_MSEETH=y CONFIG_HAVE_MTD_SPC300_LARGE=y # CONFIG_HAVE_MTD_SPC300_MEDIUM is not set # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config index f7ff1f00ec..1eab86ceff 100644 --- a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_GIC_64_LINES=y CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS=y # CONFIG_CHIP_FEATURE_SPCPLL is not set # CONFIG_CHIP_FEATURE_MSEPLL is not set +# CONFIG_CHIP_FEATURE_SPCETH is not set +# CONFIG_CHIP_FEATURE_MSEETH is not set # CONFIG_HAVE_MTD_SPC300_LARGE is not set CONFIG_HAVE_MTD_SPC300_MEDIUM=y # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config b/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config index d54bc8ce9d..7142b8d835 100644 --- a/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set # CONFIG_HAVE_MTD_SPC300_LARGE is not set CONFIG_HAVE_MTD_SPC300_MEDIUM=y # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config index 2d61166143..c55d0fb339 100644 --- a/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set CONFIG_HAVE_MTD_SPC300_LARGE=y # CONFIG_HAVE_MTD_SPC300_MEDIUM is not set # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config index 8d968a54f4..13b5b7d8cc 100644 --- a/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set CONFIG_HAVE_MTD_SPC300_LARGE=y # CONFIG_HAVE_MTD_SPC300_MEDIUM is not set # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config index 83ad5906a6..093c8d682d 100644 --- a/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set CONFIG_HAVE_MTD_SPC300_LARGE=y # CONFIG_HAVE_MTD_SPC300_MEDIUM is not set # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config index 1a4c978797..04cd6f7b0d 100644 --- a/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set # CONFIG_HAVE_MTD_SPC300_LARGE is not set CONFIG_HAVE_MTD_SPC300_MEDIUM=y # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config index bf066205a0..4288a00f44 100644 --- a/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config +++ b/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config @@ -201,6 +201,8 @@ CONFIG_CHIP_FEATURE_PCM=y # CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS is not set CONFIG_CHIP_FEATURE_SPCPLL=y # CONFIG_CHIP_FEATURE_MSEPLL is not set +CONFIG_CHIP_FEATURE_SPCETH=y +# CONFIG_CHIP_FEATURE_MSEETH is not set CONFIG_HAVE_MTD_SPC300_LARGE=y # CONFIG_HAVE_MTD_SPC300_MEDIUM is not set # CONFIG_HAVE_MTD_SPC300_SMALL is not set diff --git a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig index 36c64b4ffe..f6bc3fb574 100644 --- a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig +++ b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig @@ -100,6 +100,7 @@ config CHIP_SPC300 select CHIP_FEATURE_I2S select CHIP_FEATURE_PCM select CHIP_FEATURE_SPCPLL + select CHIP_FEATURE_SPCETH config CHIP_SPC300ARIZONA def_bool n @@ -111,6 +112,7 @@ config CHIP_SPC300ARIZONA select CHIP_FEATURE_I2S select CHIP_FEATURE_PCM select CHIP_FEATURE_SPCPLL + select CHIP_FEATURE_SPCETH config CHIP_MSE500DINI_300 def_bool n @@ -130,6 +132,7 @@ config CHIP_MSE500 select CHIP_FEATURE_GIC_64_LINES select CHIP_FEATURE_EXTRA_NVRAM_FIELDS select CHIP_FEATURE_MSEPLL + select CHIP_FEATURE_MSEETH # Chip features (CHIP_FEATURE_*) # ============================== @@ -171,6 +174,10 @@ config CHIP_FEATURE_SPCPLL def_bool n config CHIP_FEATURE_MSEPLL def_bool n +config CHIP_FEATURE_SPCETH + def_bool n +config CHIP_FEATURE_MSEETH + def_bool n source "arch/arm/mach-spc300/Kconfig.flash" diff --git a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c index 8ba7b14845..5bca2a5e4f 100644 --- a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c +++ b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-devices.c @@ -80,6 +80,7 @@ static struct synop3504_platform_data spc300_ethernet_data = { .support_mii = 1, .support_rmii = 0, .support_gmii = 0, + .support_rgmii = 0, .phy_addr = 0, .mac_addr = {0x00, 0x13, 0xD7, 0x00, 0x00, 0x00} }; @@ -99,12 +100,6 @@ static struct resource spc300_ethernet_resource[] = { .end = INT_ETH, .flags = IORESOURCE_IRQ, }, - //TODO: create a PHY driver -/* [2] = { - .start = INT_ETH_PHY, - .end = INT_ETH_PHY, - .flags = IORESOURCE_IRQ, - },*/ }; static struct platform_device spc300_ethernet_device = { .name = "synopsys3504", @@ -398,16 +393,25 @@ void spc300_add_device_ethernet(void) spc300_ethernet_data.support_mii = 0; spc300_ethernet_data.support_rmii = 1; spc300_ethernet_data.support_gmii = 0; + spc300_ethernet_data.support_rgmii = 0; break; case 2: //GMII spc300_ethernet_data.support_mii = 0; spc300_ethernet_data.support_rmii = 0; spc300_ethernet_data.support_gmii = 1; + spc300_ethernet_data.support_rgmii = 0; + break; + case 3: //RGMII + spc300_ethernet_data.support_mii = 0; + spc300_ethernet_data.support_rmii = 0; + spc300_ethernet_data.support_gmii = 0; + spc300_ethernet_data.support_rgmii = 1; break; default: spc300_ethernet_data.support_mii = 1; spc300_ethernet_data.support_rmii = 0; spc300_ethernet_data.support_gmii = 0; + spc300_ethernet_data.support_rgmii = 0; } //Find PHY address from NVRAM 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 c139e3db1a..f2dd1e42d9 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 @@ -115,6 +115,7 @@ struct net_priv { uint32_t gmac_addr; uint32_t dma_addr; + uint32_t support_rgmii; uint32_t support_gmii; uint32_t support_rmii; uint32_t phy_addr; @@ -1352,7 +1353,7 @@ static int synop3504_mii_probe(struct net_device *dev) pdata = priv->pdev->dev.platform_data; phydev = priv->mii_bus->phy_map[pdata->phy_addr]; - if (!phydev) + if (!phydev) { printk (KERN_ERR "%s: no PHY found\n", dev->name); return -1; @@ -1360,16 +1361,13 @@ static int synop3504_mii_probe(struct net_device *dev) // attach the mac to the phy if (pdata && pdata->support_gmii) - { phydev = phy_connect(dev, phydev->dev.bus_id, &synop3504_handle_link_change, 0, PHY_INTERFACE_MODE_GMII); - } + else if (pdata && pdata->support_rgmii) + phydev = phy_connect(dev, phydev->dev.bus_id, &synop3504_handle_link_change, 0, PHY_INTERFACE_MODE_RGMII); + else if (pdata && pdata->support_rmii) + phydev = phy_connect(dev, phydev->dev.bus_id, &synop3504_handle_link_change, 0, PHY_INTERFACE_MODE_RMII); else - { - if (pdata && pdata->support_rmii) - phydev = phy_connect(dev, phydev->dev.bus_id, &synop3504_handle_link_change, 0, PHY_INTERFACE_MODE_RMII); - else - phydev = phy_connect(dev, phydev->dev.bus_id, &synop3504_handle_link_change, 0, PHY_INTERFACE_MODE_MII); - } + phydev = phy_connect(dev, phydev->dev.bus_id, &synop3504_handle_link_change, 0, PHY_INTERFACE_MODE_MII); if (IS_ERR(phydev)) { @@ -1612,6 +1610,8 @@ static int synop3504_init(struct net_device *dev) //Attach hardware layer addresses if(priv->support_gmii) SynopsysAttach(&priv->synop, priv->gmac_addr, priv->dma_addr, IS_GMII); + else if(priv->support_rgmii) + SynopsysAttach(&priv->synop, priv->gmac_addr, priv->dma_addr, IS_RGMII); else if(priv->support_rmii) SynopsysAttach(&priv->synop, priv->gmac_addr, priv->dma_addr, IS_RMII); else @@ -1653,7 +1653,7 @@ static int synop3504_init(struct net_device *dev) priv->mii_if.mdio_read = mdio_read; priv->mii_if.mdio_write = mdio_write; priv->mii_if.phy_id = priv->phy_addr; - priv->mii_if.supports_gmii = priv->support_gmii; + priv->mii_if.supports_gmii = priv->support_gmii | priv->support_rgmii; priv->mii_if.phy_id_mask = 0x1F; priv->mii_if.reg_num_mask = 0x1F; @@ -1742,6 +1742,7 @@ static int __init synop3504_module_probe(struct platform_device *pdev) dev->dev_addr[3] = pdata->mac_addr[3]; dev->dev_addr[4] = pdata->mac_addr[4]; dev->dev_addr[5] = pdata->mac_addr[5]; + priv->support_rgmii = pdata->support_rgmii; priv->support_gmii = pdata->support_gmii; priv->support_rmii = pdata->support_rmii; priv->phy_addr = pdata->phy_addr; diff --git a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.h b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.h index 736fbf7363..487435020a 100644 --- a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.h +++ b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504.h @@ -32,6 +32,7 @@ struct synop3504_platform_data { uint8_t support_mii; uint8_t support_rmii; uint8_t support_gmii; + uint8_t support_rgmii; uint32_t phy_addr; uint8_t mac_addr[6]; }; diff --git a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.c b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.c index e6db3e1160..0566a7258a 100644 --- a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.c +++ b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.c @@ -197,15 +197,21 @@ void SynopsysInit(Synopsys *synop, uint32_t txaddr, uint32_t rxaddr) SynopsysWriteMacReg(synop, MmcIntrMaskTx, 0xFFFFFFFF); SynopsysWriteMacReg(synop, MmcIntrMaskRx, 0xFFFFFFFF); SynopsysWriteMacReg(synop, GmacFrameFilter, GmacFilterOff|GmacPassControl2|GmacBroadcastEnable); - if(synop->mode == IS_GMII) + if(synop->mode == IS_RGMII) + { + SynopsysWriteMacReg(synop, GmacConfig, GmacRGMIIEnable|GmacWatchdogDisable|GmacJabberDisable| + GmacSelectGmii|GmacLoopbackOff|GmacFESpeed10|GmacFullDuplex| + GmacTxEnable|GmacRxEnable); + } + else if(synop->mode == IS_GMII) { - SynopsysWriteMacReg(synop, GmacConfig, GmacWatchdogDisable|GmacJabberDisable| + SynopsysWriteMacReg(synop, GmacConfig, GmacRGMIIDisable|GmacWatchdogDisable|GmacJabberDisable| GmacSelectGmii|GmacLoopbackOff|GmacFESpeed10|GmacFullDuplex| GmacTxEnable|GmacRxEnable); } else { - SynopsysWriteMacReg(synop, GmacConfig, GmacWatchdogDisable|GmacJabberDisable| + SynopsysWriteMacReg(synop, GmacConfig, GmacRGMIIDisable|GmacWatchdogDisable|GmacJabberDisable| GmacSelectMii|GmacLoopbackOff|GmacFESpeed10|GmacFullDuplex| GmacTxEnable|GmacRxEnable); } @@ -229,6 +235,62 @@ void SynopsysInit(Synopsys *synop, uint32_t txaddr, uint32_t rxaddr) */ void SynopsysSetMiiClkCap(Synopsys *synop, uint32_t speed) { +#if defined(CONFIG_CHIP_FEATURE_MSEETH) + + uint32_t timeout; + + if(synop->mode == IS_GMII) + { + if(speed == 1000) + { + /* 1G was negotiate switch to GMII mode */ + RB_CLK_CMD_ETH1_TX_VA = CLK_CMD_OFF; + RB_CLK_SEL_ETH1_TX_VA = CLK_SEL_ETH_TX_RX_PLL_CLK; + RB_CLK_CMD_ETH1_TX_VA = CLK_CMD_PLL_ON; + for (timeout=0xF; + (RB_CLK_STAT_ETH1_TX_VA != CLK_ETH_TX_RX_PLL_IS_ON) && timeout; + timeout--) + ; + } + else + { + /* 1G wasn't negotiate swith to MII mode */ + RB_CLK_CMD_ETH1_TX_VA = CLK_CMD_OFF; + RB_CLK_SEL_ETH1_TX_VA = CLK_SEL_ETH_TX_RX_MII_CLK; + RB_CLK_CMD_ETH1_TX_VA = CLK_CMD_MII_ON; + for (timeout=0xF; + (RB_CLK_STAT_ETH1_TX_VA != CLK_ETH_TX_RX_MII_IS_ON) && timeout; + timeout--) + ; + } + } + + if(synop->mode == IS_RMII) + { + if (speed == 10) + { + RB_CLK_DIV_ETH1_TX_PLL_VA = CLK_ETH_DIV_TX_PLL_100; + RB_CLK_DIV_ETH1_RX_PLL_VA = CLK_ETH_DIV_RX_PLL_100; + } + else + { + RB_CLK_DIV_ETH1_TX_PLL_VA = CLK_ETH_DIV_TX_PLL_10; + RB_CLK_DIV_ETH1_RX_PLL_VA = CLK_ETH_DIV_RX_PLL_10; + } + } + + if(synop->mode == IS_RGMII) + { + if (speed == 1000) + RB_CLK_DIV_ETH1_TX_PLL_VA = CLK_ETH_DIV_TX_PLL_2; + else if (speed == 10) + RB_CLK_DIV_ETH1_TX_PLL_VA = CLK_ETH_DIV_TX_PLL_100; + else + RB_CLK_DIV_ETH1_TX_PLL_VA = CLK_ETH_DIV_TX_PLL_10; + } + +#elif defined(CONFIG_CHIP_FEATURE_SPCETH) + volatile uint32_t eth_cfg; volatile uint32_t rmii_clk; uint32_t timeout; @@ -276,6 +338,8 @@ void SynopsysSetMiiClkCap(Synopsys *synop, uint32_t speed) RB_ETH_CONFIG_VA = eth_cfg; RB_CLK_DIV_ETH_25_VA = rmii_clk; } + +#endif } /** diff --git a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.h b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.h index df778cc7b4..edfc67c8fb 100644 --- a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.h +++ b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_hw.h @@ -156,6 +156,7 @@ typedef enum IS_MII=0, IS_RMII=1, IS_GMII=2, + IS_RGMII=3 } mii_type; /** Synopsys device data */ diff --git a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_reg.h b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_reg.h index 304814ebb7..4452a3cc5f 100644 --- a/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_reg.h +++ b/cleopatre/linux-2.6.25.10-spc300/drivers/net/arm/synop3504_reg.h @@ -193,6 +193,9 @@ enum DmaRegisters /** GmacConfig registers field */ enum GmacConfigReg { + GmacRGMIIEnable = 0x01000000, //Enable RGMII mode + GmacRGMIIDisable = 0x00000000, //Disable RGMII mode + GmacWatchdogDisable = 0x00800000, //Disable watchdog timer on Rx GmacWatchdogEnable = 0x00000000, //Enable watchdog timer -- cgit v1.2.3