projects
/
openwrt-10.03
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix flash buswidth detection
[openwrt-10.03/.git]
/
target
/
linux
/
atheros-2.6
/
files
/
arch
/
mips
/
atheros
/
ar5312.c
diff --git
a/target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
b/target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
index 8404b882c2c3b02a8d2a5b622dc719c19f6c9808..57d56eb0e5e69e265efec2136a908f50600d842f 100644
(file)
--- a/
target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
+++ b/
target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c
@@
-215,6
+215,7
@@
int __init ar5312_init_devices(void)
struct ar531x_boarddata *bcfg;
char *radio, *c;
int dev = 0;
struct ar531x_boarddata *bcfg;
char *radio, *c;
int dev = 0;
+ uint32_t fctl = 0;
if (!is_5312)
return 0;
if (!is_5312)
return 0;
@@
-253,6
+254,19
@@
int __init ar5312_init_devices(void)
ar5312_eth0_data.board_config = board_config;
ar5312_eth1_data.board_config = board_config;
ar5312_eth0_data.board_config = board_config;
ar5312_eth1_data.board_config = board_config;
+
+ /* fixup flash width */
+ fctl = sysRegRead(AR531X_FLASHCTL) & FLASHCTL_MW;
+ switch (fctl) {
+ case FLASHCTL_MWx16:
+ ar5312_flash_data.width = 2;
+ break;
+ case FLASHCTL_MWx8:
+ default:
+ ar5312_flash_data.width = 1;
+ break;
+ }
+
ar5312_devs[dev++] = &ar5312_physmap_flash;
if (!memcmp(bcfg->enet0Mac, "\xff\xff\xff\xff\xff\xff", 6))
ar5312_devs[dev++] = &ar5312_physmap_flash;
if (!memcmp(bcfg->enet0Mac, "\xff\xff\xff\xff\xff\xff", 6))