About mpc85xx flash memory allocation
mitsutaka.amano at gmail.com
Tue Jan 25 13:17:31 EST 2011
On Tue, Jan 25, 2011 at 11:05 AM, tiejun.chen <tiejun.chen at windriver.com> wrote:
> Mitsutaka Amano wrote:
>> On Mon, Jan 24, 2011 at 3:48 PM, tiejun.chen <tiejun.chen at windriver.com> wrote:
>>> Mitsutaka Amano wrote:
>>>> Hi all,
>>>> I'm testing the ppc platform is based on mpc85xx. 256MB Flash memory
>>>> has been installed. Then I found this entries.
>>>> 0xc9100000-0xd9101000 268439552 of_flash_probe+0x290/0x814 ioremap
>>>> physmap_of allocated 268MB over to the vmalloc. vmalloc space is tight.
>>>> Why does we need mpc platforms to flash memory allocation? I know
>>> This should not be dedicated to so-called mpc platform. And we always use
>>> ioremap() to map the device space. And on PPC ioremap also use the same space as
>>> vmalloc(). While bootstrap you also can see this associated message like the
>>> * 0xd1000000..0xffbe9000 : vmalloc & ioremap
>> Yeah. My platform says the follow message.
>> * 0xc9000000..0xdf000000 : vmalloc & ioremap
> Any reason why you don't access > 0xdf000000?
Higher than 0xdf000000 has to map TLB for using other peripherals.
it's 400MB over.
>> The default vmalloc & ioremap space was about 200MB. so I increased
>> that by decreasing lowmem.
>> But If possible, I hope to keep default maps. So I don't want to use
>> vmalloc & ioremap
>>>> other architectures don't allocate to the vmalloc.
>>>> The design of the hardware? or Is there the way to use the flash
>>> You can open /dev/mem then mmap() with a appropriate offset to access the device
>>> space including flash.
>> I use the device tree(dts) and define flash partitions. Also I use CFI
>> driver and CFI_PHYSMAP_OF for device tree.
>> Is there the reference driver in what uses mmap() kernel tree? I think
>> I have to write a driver what can support dts and mmap() with a
>> appropriate offset to access the device.
> You should not write anything again. And you can access any physical address
> directly via /dev/mem from the user space like the following:
> fd = open(/dev/mem,);
> mmap(fd + offset);
Thanks for letting me know. I want to use in combination with device
tree. So I'll write a driver based on physmap_of.c(such as mmap_of.c)
>>>> memory without vmalloc?
More information about the Linuxppc-dev