Issues with a Doc Milplus
David Woodhouse
dwmw2 at infradead.org
Fri Oct 1 09:57:45 EDT 2004
On Fri, 2004-10-01 at 15:46 +0200, Nicolas Pouillon wrote:
> 1/ Doc is mapped to mem address 0x0, in docprobe.c there is an
> expression like:
> if (doc_config_location) {
> [probe at specified address]
> } else {
> [probe hardlisted addresses]
> }
>
> So it never probes for my chip at 0. I noticed the same construct is
> present in newer probing routines.
> Is there a special way of declaring a chip at 0x0 ?
Hmmm. We should probably use -1 for 'unconfigured' instead of zero. Want
to provide a patch accordingly?
> 2/ It was not known by nan_ids, I had to add the following line:
> {"NAND 64MiB 3,3V", 0xa5, 26, 0x4000, 0},
Are you sure that's a 64MiB chip?
> 3/ It seems to be detected twice, it should be 64MiB total, and there is
> physically one chip on the board.
> Could one chip be virtually two 32MiB chips ?
I think that might actually be the case for the 64MiB DiskOnChip M+,
yes.
> 4/ Using arm part in doc2000.h which is:
> #define ReadDOC_(adr, reg) ((unsigned char)(*(volatile __u32
> *)(((unsigned long)adr)+((reg)<<2))))
> #define WriteDOC_(d, adr, reg) do{ *(volatile __u32 *)(((unsigned
> #long)adr)+((reg)<<2)) = (__u32)d; wmb();} while(0)
>
> makes the machine crash, I have to use readb/writeb in order to make the
> device work.
If provide that in 'diff -u' form we can change that too.
--
dwmw2
More information about the linux-mtd
mailing list