Hi Chris and thanks for the mail! On Thu, 2006-10-26 at 12:24 +0100, Chris Zimman wrote: > The Galileo (and later Marvell) bridges were notoriously bug ridden with > the early versions having something like 30+ pages of errata. Maybe > this is why CAS = 2 is only marked as being supported in this version.
Ah yes, I've just been through a rather painful episode with the 64120 series. They have quite a reputation! I was looking at very random linux crashes on a 4Kc-malta - stuff like random rsync failures, ext3 journal aborts and interestingly the ethernet controller's linux driver would report a hardware loopback test failure too. After torturing the DMA engines and giving up hope, it turned out that a single crucial bit was not being set in the SDRAM Controller configuration by this particular bootloader [ let's call it X ]. This resulted in PCI-DMA transfers occasionally reading junk. The CAS issue was another one, CL3 SDRAM wouldn't work because a recommended procedure wasn't being performed during controller init. Now I can use CL2 or 3 SDRAMs. In the course of this investigation, I've gone through the manuals and errata sheets of the GT64120A-B-1 through 4 and can safely say that at least these controllers can work with SDRAM modules with CAS Latencies 2 and 3. However, there might have been problems with earlier revisions perhaps. What I wanted to do was basically propagate the same changes into RedBoot but I seem to get the impression that Redboot (and perhaps the rest of eCos as well) for the malta have been lying unused perhaps ? I didn't expect a build failure!!! Is anyone using eCos and/or Redboot with current CVS ? > That code hasn't been touched for quite a while. I think U-Boot has > support for this platform as well. Maybe you can garner something > useful from there? Oh yes, I did poke in there. Unfortunately u-boot supports only much later and very different models of system controllers from Galileo[Marvell]. I'm trying to boot Linux now and that seems to be failing with : "** command abort - illegal memory access?" Thanks for the response though! Cheers, Robin > --Chris > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Robin > Randhawa > Sent: 26 October 2006 09:17 > To: [EMAIL PROTECTED] > Subject: [ECOS] Possible bit-rot in hal_if.c > > Greetings again. > > In addition to the build failure mentioned in my previous mail, I find > that redboot fails to detect the SDRAM size correctly on this platform. > > I am using a single 64MB SDRAM Module with a CAS Latency of 2 and > redboot always seems to detect only 32MB. Shouldn't redboot be probing > for the maximum amount of memory while setting up the SDRAM Controller > for things like CAS to RAS delays, refresh rates etc ? > > I'm trying to figure out the Galileo GT64120 system controller > initialisation code for the malta and I find that for some reason SDRAM > modules having CAS Latencies of anything other than 2 are unsupported. > The system controller manual mentions that values of 2 and 3 should be > fine. Any reason why this was done ? > > I've used multiple SDRAM Modules which I've verified as usable under > yamon on this board so that rules out flaky SDRAM. > > I'm wondering whether I am getting the build failure because a platform > of some, er, vintage, like the 4Kc on the malta isn't a part of some > automated build regression and is forgotten in the mists of time ? > > Any help would be appreciated. > > Cheers, > Robin > > ------------------------------------------- > Greetings. > > I was trying to build a redboot_ROM image for a MIPS 4Kc processor on a > malta platform using a latest checkout of anoncvs. I've hit a build > failure which I'll describe here. > > I'm using the recommended tools as follows : > > $ ecosconfig new malta_mips32_4kc redboot > > $ ecosconfig import > $ECOS_REPOSITORY/hal/mips/malta/current/misc/redboot_ROM.ecm > > $ ecosconfig check > > $ ecosconfig tree > > $ make > > I get a build failure at this point : > > mipsisa32-elf-gcc -c > -I/data/software/ecos_work/mips/build/redboot_ROM/install/include > -I/data/software/ecos_work/master_tree/ecos/packages/hal/common/current > -I/data/software/ecos_work/master_tree/ecos/packages/hal/common/current/ > src > -I/data/software/ecos_work/master_tree/ecos/packages/hal/common/current/ > tests -I. > -I/data/software/ecos_work/master_tree/ecos/packages/hal/common/current/ > src/ -finline-limit=7000 -mips32 -EL -msoft-float -Wall -Wpointer-arith > -Wstrict-prototypes -Winline -Wundef -g -O2 -ffunction-sections > -fdata-sections -fno-exceptions -G0 -Wp,-MD,src/hal_if.tmp -o > src/hal_common_hal_if.o > /data/software/ecos_work/master_tree/ecos/packages/hal/common/current/sr > c/hal_if.c > /data/software/ecos_work/master_tree/ecos/packages/hal/common/current/sr > c/hal_if.c:539:27: macro "HAL_ICACHE_INVALIDATE" requires 2 arguments, > but only 1 given > /data/software/ecos_work/master_tree/ecos/packages/hal/common/current/sr > c/hal_if.c: In function `flush_icache': > /data/software/ecos_work/master_tree/ecos/packages/hal/common/current/sr > c/hal_if.c:539: `HAL_ICACHE_INVALIDATE' undeclared (first use in this > function) > /data/software/ecos_work/master_tree/ecos/packages/hal/common/current/sr > c/hal_if.c:539: (Each undeclared identifier is reported only once > /data/software/ecos_work/master_tree/ecos/packages/hal/common/current/sr > c/hal_if.c:539: for each function it appears in.) > make[1]: *** [src/hal_if.o.d] Error 1 > make[1]: Leaving directory > `/data/software/ecos_work/mips/build/redboot_ROM/hal/common/current' > make: *** [build] Error 2 > > The HAL_ICACHE_INVALIDATE macro is being called without arguments. I > would imagine it should be called as follows : > > HAL_ICACHE_INVALIDATE ( __p, __nbytes ); > > Could this be corroborated please ? > > Cheers and thanks, > Robin > > > -- > Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos > and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
