mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
ar71xx: use soc specific divider for mdio clock
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18225 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -106,7 +106,10 @@ static int ag71xx_mdio_reset(struct mii_bus *bus)
|
||||
struct ag71xx_mdio *am = bus->priv;
|
||||
u32 t;
|
||||
|
||||
t = MII_CFG_CLK_DIV_28;
|
||||
if (am->pdata->is_ar7240)
|
||||
t = MII_CFG_CLK_DIV_6;
|
||||
else
|
||||
t = MII_CFG_CLK_DIV_28;
|
||||
|
||||
ag71xx_mdio_wr(am, AG71XX_REG_MII_CFG, t | MII_CFG_RESET);
|
||||
udelay(100);
|
||||
@@ -143,12 +146,20 @@ static int __init ag71xx_mdio_probe(struct platform_device *pdev)
|
||||
if (ag71xx_mdio_bus)
|
||||
return -EBUSY;
|
||||
|
||||
pdata = pdev->dev.platform_data;
|
||||
if (!pdata) {
|
||||
dev_err(&pdev->dev, "no platform data specified\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
am = kzalloc(sizeof(*am), GFP_KERNEL);
|
||||
if (!am) {
|
||||
err = -ENOMEM;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
am->pdata = pdata;
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
dev_err(&pdev->dev, "no iomem resource found\n");
|
||||
@@ -177,10 +188,7 @@ static int __init ag71xx_mdio_probe(struct platform_device *pdev)
|
||||
am->mii_bus->priv = am;
|
||||
am->mii_bus->parent = &pdev->dev;
|
||||
snprintf(am->mii_bus->id, MII_BUS_ID_SIZE, "%x", 0);
|
||||
|
||||
pdata = pdev->dev.platform_data;
|
||||
if (pdata)
|
||||
am->mii_bus->phy_mask = pdata->phy_mask;
|
||||
am->mii_bus->phy_mask = pdata->phy_mask;
|
||||
|
||||
for (i = 0; i < PHY_MAX_ADDR; i++)
|
||||
am->mii_irq[i] = PHY_POLL;
|
||||
|
||||
Reference in New Issue
Block a user