ath79: add QCA956x GMAC config
This commit adds the ability to configure the GMAC of the QCA956x. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
parent
2276bc0082
commit
7d1b742b4d
2 changed files with 18 additions and 0 deletions
|
@ -222,6 +222,11 @@
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gmac: gmac@18070000 {
|
||||||
|
compatible = "qca,qca9560-gmac";
|
||||||
|
reg = <0x18070000 0x64>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
usb_phy0: usb-phy {
|
usb_phy0: usb-phy {
|
||||||
|
|
|
@ -75,6 +75,17 @@ static void ag71xx_setup_gmac_955x(struct device_node *np, void __iomem *base)
|
||||||
__raw_writel(val, base + QCA955X_GMAC_REG_ETH_CFG);
|
__raw_writel(val, base + QCA955X_GMAC_REG_ETH_CFG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ag71xx_setup_gmac_956x(struct device_node *np, void __iomem *base)
|
||||||
|
{
|
||||||
|
u32 val = __raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
|
||||||
|
|
||||||
|
ag71xx_of_bit(np, "switch-phy-swap", &val, QCA956X_ETH_CFG_SW_PHY_SWAP);
|
||||||
|
ag71xx_of_bit(np, "switch-phy-addr-swap", &val,
|
||||||
|
QCA956X_ETH_CFG_SW_PHY_ADDR_SWAP);
|
||||||
|
|
||||||
|
__raw_writel(val, base + QCA956X_GMAC_REG_ETH_CFG);
|
||||||
|
}
|
||||||
|
|
||||||
int ag71xx_setup_gmac(struct device_node *np)
|
int ag71xx_setup_gmac(struct device_node *np)
|
||||||
{
|
{
|
||||||
struct device_node *np_dev;
|
struct device_node *np_dev;
|
||||||
|
@ -102,6 +113,8 @@ int ag71xx_setup_gmac(struct device_node *np)
|
||||||
ag71xx_setup_gmac_934x(np, base);
|
ag71xx_setup_gmac_934x(np, base);
|
||||||
else if (of_device_is_compatible(np_dev, "qca,qca9550-gmac"))
|
else if (of_device_is_compatible(np_dev, "qca,qca9550-gmac"))
|
||||||
ag71xx_setup_gmac_955x(np, base);
|
ag71xx_setup_gmac_955x(np, base);
|
||||||
|
else if (of_device_is_compatible(np_dev, "qca,qca9560-gmac"))
|
||||||
|
ag71xx_setup_gmac_956x(np, base);
|
||||||
|
|
||||||
iounmap(base);
|
iounmap(base);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue