X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Ffiles%2Farch%2Fmips%2Fath79%2Fmach-archer-c7.c;h=fc1251303e3d202bf3c5d9d8ea58b9c178e5dd57;hb=37e6d6d3e4adc4c9c4618940befe17014dd23090;hp=dc5034114fc0b30b539099eae66c018760088d8e;hpb=9733120beb952d6bcbe00f95fe6b25fbe2d046f5;p=openwrt.git diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c index dc5034114f..fc1251303e 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c @@ -1,8 +1,9 @@ /* - * TP-LINK Archer C7/TL-WDR4900 v2 board support + * TP-LINK Archer C5/C7/TL-WDR4900 v2 board support * * Copyright (c) 2013 Gabor Juhos * Copyright (c) 2014 施康成 + * Copyright (c) 2014 Imre Kaloz * * Based on the Qualcomm Atheros AP135/AP136 reference board support code * Copyright (c) 2012 Qualcomm Atheros @@ -182,23 +183,6 @@ static struct mdio_board_info archer_c7_mdio0_info[] = { }, }; -static void __init archer_c7_gmac_setup(void) -{ - void __iomem *base; - u32 t; - - base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE); - - t = __raw_readl(base + QCA955X_GMAC_REG_ETH_CFG); - - t &= ~(QCA955X_ETH_CFG_RGMII_EN | QCA955X_ETH_CFG_GE0_SGMII); - t |= QCA955X_ETH_CFG_RGMII_EN; - - __raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG); - - iounmap(base); -} - static void __init common_setup(bool pcie_slot) { u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); @@ -227,7 +211,7 @@ static void __init common_setup(bool pcie_slot) ARRAY_SIZE(archer_c7_mdio0_info)); ath79_register_mdio(0, 0x0); - archer_c7_gmac_setup(); + ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN); /* GMAC0 is connected to the RMGII interface */ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; @@ -256,6 +240,14 @@ static void __init common_setup(bool pcie_slot) ath79_register_usb(); } +static void __init archer_c5_setup(void) +{ + common_setup(true); +} + +MIPS_MACHINE(ATH79_MACH_ARCHER_C5, "ARCHER-C5", "TP-LINK Archer C5", + archer_c5_setup); + static void __init archer_c7_setup(void) { common_setup(true);