ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] Question on multiple NOR flash parts.


From: Ted Marshall
Subject: Re: [Ltib] Question on multiple NOR flash parts.
Date: Tue, 18 Aug 2009 13:21:29 -0700

Ok, I solved it.  It turns out that it was right under my nose.

The "rom" (flash) entries in the device tree are not handled by the standard kernel code but instead by the platform-specific-routines. I copied this file from the Freescale version (arch/powerpc/platform/83xx/mpc8313_rdb.c), making a few specific changes but didn't look carefully through the file. Anyway, near the end is the arch_initcall routine mpc8313_register_mtd(). Unlike everywhere else, it calls of_find compatible_node() only once instead of looping until NULL is returned.

It was an easy fix. Since this is a Freescale LTIB, I'm not including a patch. I can show the specific change if someone requests it.

/Te Marshall

----- Original Message ----- From: "Stuart Hughes" <address@hidden>
To: "Ted Marshall" <address@hidden>
Cc: <address@hidden>
Sent: Saturday, August 15, 2009 1:47 AM
Subject: Re: [Ltib] Question on multiple NOR flash parts.


Hi Ted,

Unfortunately I don't know. If you do find out it would be good it you could post the solution to the list as I think it's a good question.

Regards, Stuart

Ted Marshall wrote:
I have a question that is probably more appropriate to a Kernel mailing list but I'm hoping that someone can point me in the right direction.

I'm running kernel 2.6.23 on a custom board based on the Freescale MPC8313E RDB, starting from their BSP. (Yes, I know that this isn't one of your Ltibs, but again I'm hoping someone can give general advice.) This board has two identical NOR flash chips (standard JEDIC command set) which I have mapped into adjacent memory address ranges. The flash parts work fine under my modified u-boot so I know my hardware and address mapping are ok.

The kernel maps the flash partitions using the device tree, using physmap_of.c but I cannot figure out how to map both flash parts. I tried adding a second entry to the dts, based on the existing one, with only the name, register address and partitions different but of_physmap_probe only gets called for the first entry (whichever one I put first in the dts).

I also tried making one entry with the address space (second half of the "reg" entry) doubled to see if it would just find both chips but again, of_physmap_probe only gets called for the first chip. The passed in resource size is the size of one chip, half of what is in the dts file, so it is getting filtered somewhere, presumably in the flash device driver.

Any ideas on what needs to be done?

Thanks,
/Ted Marshall


_______________________________________________
LTIB home page: http://ltib.org

Ltib mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/ltib








reply via email to

[Prev in Thread] Current Thread [Next in Thread]