aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch/mips
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-05-27 21:02:41 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-05-27 21:02:41 +0000
commit026245749a40e2d94006df8933b93ade9bfa652e (patch)
tree9b9c72db8a308b9a8a28cdbbe2aab02b0c1b6ffb /target/linux/ar71xx/files/arch/mips
parent2708355504b356878c8786a85ee3e77d9302c2be (diff)
downloadmaster-187ad058-026245749a40e2d94006df8933b93ade9bfa652e.tar.gz
master-187ad058-026245749a40e2d94006df8933b93ade9bfa652e.tar.bz2
master-187ad058-026245749a40e2d94006df8933b93ade9bfa652e.zip
ar71xx: fix MII clock settings for various chips, improves ethernet stability on AR934x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31925 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c12
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h5
2 files changed, 14 insertions, 3 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
index 1e6b8b0a17..bc88a44aa7 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
@@ -199,17 +199,25 @@ void __init ath79_register_mdio(unsigned int id, u32 phy_mask)
switch (ath79_soc) {
case ATH79_SOC_AR7240:
+ mdio_data->is_ar7240 = 1;
+ /* fall through */
case ATH79_SOC_AR7241:
+ mdio_data->builtin_switch = 1;
+ break;
+
case ATH79_SOC_AR9330:
+ mdio_data->is_ar9330 = 1;
+ /* fall through */
case ATH79_SOC_AR9331:
- mdio_data->is_ar7240 = 1;
+ mdio_data->builtin_switch = 1;
break;
case ATH79_SOC_AR9341:
case ATH79_SOC_AR9342:
case ATH79_SOC_AR9344:
if (id == 1)
- mdio_data->is_ar7240 = 1;
+ mdio_data->builtin_switch = 1;
+ mdio_data->is_ar934x = 1;
break;
default:
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
index 6e90ba4335..e2f6f9b113 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
@@ -49,7 +49,10 @@ struct ag71xx_platform_data {
struct ag71xx_mdio_platform_data {
u32 phy_mask;
- int is_ar7240;
+ u8 builtin_switch:1;
+ u8 is_ar7240:1;
+ u8 is_ar9330:1;
+ u8 is_ar934x:1;
};
#endif /* __ASM_MACH_ATH79_PLATFORM_H */