summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-03-24 21:31:13 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-03-24 21:31:13 +0000
commit58531e4910ac0d44f6e72bbd13217fdba3dbcc51 (patch)
treee57f5c44202fb5681902aec626021654cd554cef /target
parent51eaa39dca81819630481c2cfc955bac69ff944d (diff)
Do not register more than 2 ethernet porst for CFE based devices (i.e : Compex WP54G-wrt)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6683 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c5
-rw-r--r--target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c3
-rw-r--r--target/linux/adm5120-2.6/files/drivers/net/adm5120sw.h7
3 files changed, 13 insertions, 2 deletions
diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c
index 9067fcd97..4c2076559 100644
--- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c
+++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c
@@ -30,9 +30,10 @@
#include <asm/addrspace.h>
/* boot loaders specific definitions */
-#define CFE_EPTSEAL 0x43464531
+#define CFE_EPTSEAL 0x43464531 /* CFE1 is the magic number to recognize CFE from other bootloaders */
#define CFE 1
-#define MYLOADER 2
+#define UBOOT 2
+#define MYLOADER 3
#define UNKNOWN 0
void setup_prom_printf(int);
diff --git a/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c b/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c
index 935016c3a..e4a764f49 100644
--- a/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c
+++ b/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c
@@ -390,6 +390,9 @@ static int __init adm5120_sw_init(void)
/* MII port? */
if (adm5120_get_reg(ADM5120_CODE) & ADM5120_CODE_PQFP)
adm5120_nrdevs = 5;
+ /* CFE based devices only have two enet ports */
+ else if (boot_loader_type == CFE)
+ adm5120_nrdevs = 2
else
adm5120_nrdevs = 6;
diff --git a/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.h b/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.h
index 4ea1e6257..e915a411c 100644
--- a/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.h
+++ b/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.h
@@ -102,5 +102,12 @@ struct adm5120_info {
u16 ports;
u16 vlan;
};
+#define UNKNOWN 0
+
+#define UBOOT 2
+#define MYLOADER 3
+
+/* Type of boot loader, detected by the prom */
+extern boot_loader_type;
#endif /* _INCLUDE_ADM5120SW_H_ */