summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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_ */