[U-Boot] MIPS FLASH mapping
Drassal, Allan
drasal at wsu.edu
Sat Jun 8 12:19:58 CEST 2013
Hello,
I have been working for a while trying to port U-Boot over to a MIPS AR7161 SoC chip.
The actual product is a Buffalo WZR-HP-AG300H router.
I have been making quite a bit of successful progress, bu the two FLASH chip archetecture is throwing me off a little.
There are two FLASH chips, 16MiB W25Q128BV.
The first FLASH chip is where U-Boot resides and is mapped to 0xBF000000 to 0xBFFFFFFF.
The second FLASH chip is suppsed to map to 0xBE000000 to 0xBEFFFFFF.
I have been successful in modifying the driver (with a few glitches that I am still fixing) to support the second chip.
Since the FLASH is SPI based, the first or second chip is selected with a CS line, which I added support for in the driver.
The two chips are detected properly at startup, and the size is correct, however, the mapping (KSEG1?) is mapping only the first chip, and I have been looking for how to get the second chip mapped. I think it has to do with the lowlevel init functions, but am difficulty understanding where the FLASH is mapped.
I am fairly sure I have the low level setup correct, PLL, DDR, etc, which took a little work since I can't locate any techinical manuals for this chip, I had to go off reverse engineering the registers based on other ar71xx based boards.
The original bootloader maps these correctly, and in openocd I can read data from the second FLASH chip.
However, when I run the new bootloader I am working on the addresses are not mapped correctly for the second FLASH chip, even in openocd.
Any assistance would be appreciated. When I get something working a little better I would like to contribute the results.
Allan
More information about the U-Boot
mailing list