aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/rb532/files/arch/mips/rb500/devices.c
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2007-10-05 11:39:32 +0000
committerFlorian Fainelli <florian@openwrt.org>2007-10-05 11:39:32 +0000
commita62d171e5499bb5c59c958cb4165d104ee30a0d6 (patch)
tree0636426488d8633521d5bea29ab729cea2bfc0e9 /target/linux/rb532/files/arch/mips/rb500/devices.c
parent74bdbebc87a33ba5855f4ce73ad29072a32369ea (diff)
downloadmaster-187ad058-a62d171e5499bb5c59c958cb4165d104ee30a0d6.tar.gz
master-187ad058-a62d171e5499bb5c59c958cb4165d104ee30a0d6.tar.bz2
master-187ad058-a62d171e5499bb5c59c958cb4165d104ee30a0d6.zip
Clean up the prom code / board detection (thanks Gabor), fix some warnings
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9136 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/rb532/files/arch/mips/rb500/devices.c')
-rw-r--r--target/linux/rb532/files/arch/mips/rb500/devices.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/target/linux/rb532/files/arch/mips/rb500/devices.c b/target/linux/rb532/files/arch/mips/rb500/devices.c
index 1ca808beaf..d2476a89c3 100644
--- a/target/linux/rb532/files/arch/mips/rb500/devices.c
+++ b/target/linux/rb532/files/arch/mips/rb500/devices.c
@@ -23,6 +23,8 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
+#include <asm/bootinfo.h>
+
#include <asm/rc32434/rc32434.h>
#include <asm/rc32434/dma.h>
#include <asm/rc32434/dma_v.h>
@@ -230,10 +232,14 @@ static void __init parse_mac_addr(char *macstr)
static void __init rb500_nand_setup(void)
{
- if (!strcmp(board_type, "500r5"))
+ switch (mips_machtype) {
+ case MACH_MIKROTIK_RB532A:
changeLatchU5(LO_FOFF | LO_CEX, LO_ULED | LO_ALE | LO_CLE | LO_WPX);
- else
+ break;
+ default:
changeLatchU5(LO_WPX | LO_FOFF | LO_CEX, LO_ULED | LO_ALE | LO_CLE);
+ break;
+ }
/* Setup NAND specific settings */
rb500_nand_data.chip.nr_chips = 1;
@@ -258,7 +264,7 @@ static int __init plat_setup_devices(void)
/* Read the NAND resources from the device controller */
nand_slot0_res[0].start = readl(CFG_DC_DEV2 + CFG_DC_DEVBASE);
nand_slot0_res[0].end = nand_slot0_res[0].start + 0x1000;
-
+
/* Initialise the NAND device */
rb500_nand_setup();