diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2007-02-19 22:33:06 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2007-02-19 22:33:06 +0000 |
commit | 1d7bfc46eccc002136bc208ee60f1532dc231ffa (patch) | |
tree | cfd2732ef5add9c59464498229c8644a20b755e1 /target | |
parent | e32f19c986563ae9112b201c017e54f47be95dc0 (diff) | |
download | upstream-1d7bfc46eccc002136bc208ee60f1532dc231ffa.tar.gz upstream-1d7bfc46eccc002136bc208ee60f1532dc231ffa.tar.bz2 upstream-1d7bfc46eccc002136bc208ee60f1532dc231ffa.zip |
autodetect flash width - thanks to Kestutis Kupciunas
SVN-Revision: 6327
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/atheros-2.6/files/arch/mips/atheros/ar5312.c | 14 |
1 files changed, 14 insertions, 0 deletions
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 8404b882c2..384020b27e 100644 --- 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; + uint32_t fctl = 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; + + /* fixup flash width; TODO: constants -> defines */ + fctl = sysRegRead(AR531X_FLASHCTL) & 0x30000000; + switch (fctl) { + case 0x20000000: + ar5312_flash_data.width = 2; + break; + case 0x00000000: + default: + ar5312_flash_data.width = 1; + break; + } + ar5312_devs[dev++] = &ar5312_physmap_flash; if (!memcmp(bcfg->enet0Mac, "\xff\xff\xff\xff\xff\xff", 6)) |