[Top][All Lists]
[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