All of lore.kernel.org
 help / color / mirror / Atom feed
* pxa300 - DDRAM base value
@ 2010-06-01  5:44 balakrishnan
  2010-06-05 17:19   ` Marek Vasut
  0 siblings, 1 reply; 18+ messages in thread
From: balakrishnan @ 2010-06-01  5:44 UTC (permalink / raw)
  To: linux-arm-kernel

I am working on pxa300 based development board and using Linux 2.6.34.
This Linux kernel already has support for following boards
1. zylonite_pxa300
2. cm-x300 
3. colibri-pxa300
4. littleton

My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
base and PHYS_OFFSET is also defined in
"arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
But in our board  DDR is mapped in 0x80000000. Does it make any
problem?. Because after mmu is turned ON, my board is hanging. 

"zreladdr-y   := 0x80008000" is defined in
"arch/arm/mach-pxa/Makefile.boot" file .
my machine_desc is as follows 
.phys_io        = 0x40000000, 
.io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,  
.boot_params    = 0x80000100,  

With Thanks
J.Balakrishnan 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100601/dd4a8178/attachment-0001.htm>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-01  5:44 pxa300 - DDRAM base value balakrishnan
@ 2010-06-05 17:19   ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-05 17:19 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: balakrishnan, linux-kernel, Maharajan, Eric Miao

Dne Út 1. června 2010 07:44:18 balakrishnan napsal(a):
> I am working on pxa300 based development board and using Linux 2.6.34.
> This Linux kernel already has support for following boards
> 1. zylonite_pxa300
> 2. cm-x300
> 3. colibri-pxa300
> 4. littleton
> 
> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
> base and PHYS_OFFSET is also defined in
> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> But in our board  DDR is mapped in 0x80000000. Does it make any
> problem?. Because after mmu is turned ON, my board is hanging.
> 
> "zreladdr-y   := 0x80008000" is defined in
> "arch/arm/mach-pxa/Makefile.boot" file .
> my machine_desc is as follows
> .phys_io        = 0x40000000,
> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> .boot_params    = 0x80000100,
> 

Try editing both arch/arm/mach-pxa/Makefile.boot and 
arch/arm/mach/pxa/include/mach/memory.h

> With Thanks
> J.Balakrishnan

The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA docs, 
it is only on pxa320. Eric, any ideas on this ?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-05 17:19   ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-05 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

Dne ?t 1. ?ervna 2010 07:44:18 balakrishnan napsal(a):
> I am working on pxa300 based development board and using Linux 2.6.34.
> This Linux kernel already has support for following boards
> 1. zylonite_pxa300
> 2. cm-x300
> 3. colibri-pxa300
> 4. littleton
> 
> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
> base and PHYS_OFFSET is also defined in
> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> But in our board  DDR is mapped in 0x80000000. Does it make any
> problem?. Because after mmu is turned ON, my board is hanging.
> 
> "zreladdr-y   := 0x80008000" is defined in
> "arch/arm/mach-pxa/Makefile.boot" file .
> my machine_desc is as follows
> .phys_io        = 0x40000000,
> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> .boot_params    = 0x80000100,
> 

Try editing both arch/arm/mach-pxa/Makefile.boot and 
arch/arm/mach/pxa/include/mach/memory.h

> With Thanks
> J.Balakrishnan

The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA docs, 
it is only on pxa320. Eric, any ideas on this ?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-05 17:19   ` Marek Vasut
@ 2010-06-06  8:17     ` Eric Miao
  -1 siblings, 0 replies; 18+ messages in thread
From: Eric Miao @ 2010-06-06  8:17 UTC (permalink / raw)
  To: Marek Vasut; +Cc: linux-arm-kernel, balakrishnan, linux-kernel, Maharajan

On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> Dne Út 1. června 2010 07:44:18 balakrishnan napsal(a):
>> I am working on pxa300 based development board and using Linux 2.6.34.
>> This Linux kernel already has support for following boards
>> 1. zylonite_pxa300
>> 2. cm-x300
>> 3. colibri-pxa300
>> 4. littleton
>>
>> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
>> base and PHYS_OFFSET is also defined in
>> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
>> But in our board  DDR is mapped in 0x80000000. Does it make any
>> problem?. Because after mmu is turned ON, my board is hanging.
>>
>> "zreladdr-y   := 0x80008000" is defined in
>> "arch/arm/mach-pxa/Makefile.boot" file .
>> my machine_desc is as follows
>> .phys_io        = 0x40000000,
>> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
>> .boot_params    = 0x80000100,
>>
>
> Try editing both arch/arm/mach-pxa/Makefile.boot and
> arch/arm/mach/pxa/include/mach/memory.h
>
>> With Thanks
>> J.Balakrishnan
>
> The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA docs,
> it is only on pxa320. Eric, any ideas on this ?
>

Should be working on pxa300/310 as well. If it doesn't, check you bootloader
to make sure the mapping is OK, and memory doesn't exceed
(0xa000_0000 - 0x8000_0000).

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-06  8:17     ` Eric Miao
  0 siblings, 0 replies; 18+ messages in thread
From: Eric Miao @ 2010-06-06  8:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> Dne ?t 1. ?ervna 2010 07:44:18 balakrishnan napsal(a):
>> I am working on pxa300 based development board and using Linux 2.6.34.
>> This Linux kernel already has support for following boards
>> 1. zylonite_pxa300
>> 2. cm-x300
>> 3. colibri-pxa300
>> 4. littleton
>>
>> My doubt is that pxa300 based boards are using "0xa0000000" ?as DDRAM
>> base and PHYS_OFFSET is also defined in
>> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
>> But in our board ?DDR is mapped in 0x80000000. Does it make any
>> problem?. Because after mmu is turned ON, my board is hanging.
>>
>> "zreladdr-y ? := 0x80008000" is defined in
>> "arch/arm/mach-pxa/Makefile.boot" file .
>> my machine_desc is as follows
>> .phys_io ? ? ? ?= 0x40000000,
>> .io_pg_offst ? ?= (io_p2v(0x40000000) >> 18) & 0xfffc,
>> .boot_params ? ?= 0x80000100,
>>
>
> Try editing both arch/arm/mach-pxa/Makefile.boot and
> arch/arm/mach/pxa/include/mach/memory.h
>
>> With Thanks
>> J.Balakrishnan
>
> The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA docs,
> it is only on pxa320. Eric, any ideas on this ?
>

Should be working on pxa300/310 as well. If it doesn't, check you bootloader
to make sure the mapping is OK, and memory doesn't exceed
(0xa000_0000 - 0x8000_0000).

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-06  8:17     ` Eric Miao
@ 2010-06-06 16:34       ` Marek Vasut
  -1 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-06 16:34 UTC (permalink / raw)
  To: Eric Miao; +Cc: linux-arm-kernel, balakrishnan, linux-kernel, Maharajan

Dne Ne 6. června 2010 10:17:00 Eric Miao napsal(a):
> On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > Dne Út 1. června 2010 07:44:18 balakrishnan napsal(a):
> >> I am working on pxa300 based development board and using Linux 2.6.34.
> >> This Linux kernel already has support for following boards
> >> 1. zylonite_pxa300
> >> 2. cm-x300
> >> 3. colibri-pxa300
> >> 4. littleton
> >> 
> >> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
> >> base and PHYS_OFFSET is also defined in
> >> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> >> But in our board  DDR is mapped in 0x80000000. Does it make any
> >> problem?. Because after mmu is turned ON, my board is hanging.
> >> 
> >> "zreladdr-y   := 0x80008000" is defined in
> >> "arch/arm/mach-pxa/Makefile.boot" file .
> >> my machine_desc is as follows
> >> .phys_io        = 0x40000000,
> >> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> >> .boot_params    = 0x80000100,
> > 
> > Try editing both arch/arm/mach-pxa/Makefile.boot and
> > arch/arm/mach/pxa/include/mach/memory.h
> > 
> >> With Thanks
> >> J.Balakrishnan
> > 
> > The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA
> > docs, it is only on pxa320. Eric, any ideas on this ?
> 
> Should be working on pxa300/310 as well. If it doesn't, check you
> bootloader to make sure the mapping is OK, and memory doesn't exceed
> (0xa000_0000 - 0x8000_0000).

It worked last time I used the pxa310 littleton board, but I can't check on the 
pxa300 zylonite board just yet.

Could you give us your bootloader details ?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-06 16:34       ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-06 16:34 UTC (permalink / raw)
  To: linux-arm-kernel

Dne Ne 6. ?ervna 2010 10:17:00 Eric Miao napsal(a):
> On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > Dne ?t 1. ?ervna 2010 07:44:18 balakrishnan napsal(a):
> >> I am working on pxa300 based development board and using Linux 2.6.34.
> >> This Linux kernel already has support for following boards
> >> 1. zylonite_pxa300
> >> 2. cm-x300
> >> 3. colibri-pxa300
> >> 4. littleton
> >> 
> >> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
> >> base and PHYS_OFFSET is also defined in
> >> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> >> But in our board  DDR is mapped in 0x80000000. Does it make any
> >> problem?. Because after mmu is turned ON, my board is hanging.
> >> 
> >> "zreladdr-y   := 0x80008000" is defined in
> >> "arch/arm/mach-pxa/Makefile.boot" file .
> >> my machine_desc is as follows
> >> .phys_io        = 0x40000000,
> >> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> >> .boot_params    = 0x80000100,
> > 
> > Try editing both arch/arm/mach-pxa/Makefile.boot and
> > arch/arm/mach/pxa/include/mach/memory.h
> > 
> >> With Thanks
> >> J.Balakrishnan
> > 
> > The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA
> > docs, it is only on pxa320. Eric, any ideas on this ?
> 
> Should be working on pxa300/310 as well. If it doesn't, check you
> bootloader to make sure the mapping is OK, and memory doesn't exceed
> (0xa000_0000 - 0x8000_0000).

It worked last time I used the pxa310 littleton board, but I can't check on the 
pxa300 zylonite board just yet.

Could you give us your bootloader details ?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-06  8:17     ` Eric Miao
@ 2010-06-06 17:03       ` Mike Rapoport
  -1 siblings, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2010-06-06 17:03 UTC (permalink / raw)
  To: Eric Miao
  Cc: Marek Vasut, linux-arm-kernel, balakrishnan, linux-kernel, Maharajan

On Sun, Jun 6, 2010 at 11:17 AM, Eric Miao <eric.y.miao@gmail.com> wrote:
> On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
>> Dne Út 1. června 2010 07:44:18 balakrishnan napsal(a):
>>> I am working on pxa300 based development board and using Linux 2.6.34.
>>> This Linux kernel already has support for following boards
>>> 1. zylonite_pxa300
>>> 2. cm-x300
>>> 3. colibri-pxa300
>>> 4. littleton
>>>
>>> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
>>> base and PHYS_OFFSET is also defined in
>>> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
>>> But in our board  DDR is mapped in 0x80000000. Does it make any
>>> problem?. Because after mmu is turned ON, my board is hanging.
>>>
>>> "zreladdr-y   := 0x80008000" is defined in
>>> "arch/arm/mach-pxa/Makefile.boot" file .
>>> my machine_desc is as follows
>>> .phys_io        = 0x40000000,
>>> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
>>> .boot_params    = 0x80000100,
>>>
>>
>> Try editing both arch/arm/mach-pxa/Makefile.boot and
>> arch/arm/mach/pxa/include/mach/memory.h
>>
>>> With Thanks
>>> J.Balakrishnan
>>
>> The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA docs,
>> it is only on pxa320. Eric, any ideas on this ?
>>
>
> Should be working on pxa300/310 as well. If it doesn't, check you bootloader
> to make sure the mapping is OK, and memory doesn't exceed
> (0xa000_0000 - 0x8000_0000).

works on CM-X300 with both pxa300 and pxa310

> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>



-- 
	Sincerely Yours,
		Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-06 17:03       ` Mike Rapoport
  0 siblings, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2010-06-06 17:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Jun 6, 2010 at 11:17 AM, Eric Miao <eric.y.miao@gmail.com> wrote:
> On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
>> Dne ?t 1. ?ervna 2010 07:44:18 balakrishnan napsal(a):
>>> I am working on pxa300 based development board and using Linux 2.6.34.
>>> This Linux kernel already has support for following boards
>>> 1. zylonite_pxa300
>>> 2. cm-x300
>>> 3. colibri-pxa300
>>> 4. littleton
>>>
>>> My doubt is that pxa300 based boards are using "0xa0000000" ?as DDRAM
>>> base and PHYS_OFFSET is also defined in
>>> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
>>> But in our board ?DDR is mapped in 0x80000000. Does it make any
>>> problem?. Because after mmu is turned ON, my board is hanging.
>>>
>>> "zreladdr-y ? := 0x80008000" is defined in
>>> "arch/arm/mach-pxa/Makefile.boot" file .
>>> my machine_desc is as follows
>>> .phys_io ? ? ? ?= 0x40000000,
>>> .io_pg_offst ? ?= (io_p2v(0x40000000) >> 18) & 0xfffc,
>>> .boot_params ? ?= 0x80000100,
>>>
>>
>> Try editing both arch/arm/mach-pxa/Makefile.boot and
>> arch/arm/mach/pxa/include/mach/memory.h
>>
>>> With Thanks
>>> J.Balakrishnan
>>
>> The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA docs,
>> it is only on pxa320. Eric, any ideas on this ?
>>
>
> Should be working on pxa300/310 as well. If it doesn't, check you bootloader
> to make sure the mapping is OK, and memory doesn't exceed
> (0xa000_0000 - 0x8000_0000).

works on CM-X300 with both pxa300 and pxa310

> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>



-- 
	Sincerely Yours,
		Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
  2010-06-06 16:34       ` Marek Vasut
  (?)
@ 2010-06-07  6:29       ` balakrishnan
  2010-06-07  6:58           ` Marek Vasut
  2010-06-07 19:37           ` Mike Rapoport
  -1 siblings, 2 replies; 18+ messages in thread
From: balakrishnan @ 2010-06-07  6:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, 2010-06-06 at 18:34 +0200, Marek Vasut wrote:

> Dne Ne 6. ?ervna 2010 10:17:00 Eric Miao napsal(a):
> > On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > > Dne ?t 1. ?ervna 2010 07:44:18 balakrishnan napsal(a):
> > >> I am working on pxa300 based development board and using Linux 2.6.34.
> > >> This Linux kernel already has support for following boards
> > >> 1. zylonite_pxa300
> > >> 2. cm-x300
> > >> 3. colibri-pxa300
> > >> 4. littleton
> > >> 
> > >> My doubt is that pxa300 based boards are using "0xa0000000"  as DDRAM
> > >> base and PHYS_OFFSET is also defined in
> > >> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> > >> But in our board  DDR is mapped in 0x80000000. Does it make any
> > >> problem?. Because after mmu is turned ON, my board is hanging.
> > >> 
> > >> "zreladdr-y   := 0x80008000" is defined in
> > >> "arch/arm/mach-pxa/Makefile.boot" file .
> > >> my machine_desc is as follows
> > >> .phys_io        = 0x40000000,
> > >> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> > >> .boot_params    = 0x80000100,
> > > 
> > > Try editing both arch/arm/mach-pxa/Makefile.boot and
> > > arch/arm/mach/pxa/include/mach/memory.h
> > > 
> > >> With Thanks
> > >> J.Balakrishnan
> > > 
> > > The 0x80000000 should be aliased to 0xa0000000, but looking into the PXA
> > > docs, it is only on pxa320. Eric, any ideas on this ?
> > 
> > Should be working on pxa300/310 as well. If it doesn't, check you
> > bootloader to make sure the mapping is OK, and memory doesn't exceed
> > (0xa000_0000 - 0x8000_0000).
> 
> It worked last time I used the pxa310 littleton board, but I can't check on the 
> pxa300 zylonite board just yet.
> 
> Could you give us your bootloader details ?

hi, 
      Now, I can able to boot after editing following files
arch/arm/mach-pxa/Makefile.boot and
arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
0xa0000000). My doubt is 
1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
architecture?
2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
0xc0000000-0xc8000000, how can I inform to kernel about this different
bank and size?.

My Boot loader details,
------------------------------
=>bdi
arch_number = 0x00000B04
env_t       = 0x00000000
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000
-> size     = 0x08000000
DRAM bank   = 0x00000001
-> start    = 0xC0000000
-> size     = 0x08000000
ethaddr     = 08:00:3e:26:0a:5b
ip_addr     = 192.168.0.21
baudrate    = 115200 bps
=>ver
U-Boot 2010.03 (Jun 01 2010 - 14:27:43)


With Thanks
J.Balakrishnan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100607/539edde2/attachment.html>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-07  6:29       ` balakrishnan
@ 2010-06-07  6:58           ` Marek Vasut
  2010-06-07 19:37           ` Mike Rapoport
  1 sibling, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-07  6:58 UTC (permalink / raw)
  To: balakrishnan; +Cc: Eric Miao, linux-arm-kernel, linux-kernel, Maharajan

Dne Po 7. června 2010 08:29:51 balakrishnan napsal(a):
> On Sun, 2010-06-06 at 18:34 +0200, Marek Vasut wrote:
> > Dne Ne 6. června 2010 10:17:00 Eric Miao napsal(a):
> > > On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > > > Dne Út 1. června 2010 07:44:18 balakrishnan napsal(a):
> > > >> I am working on pxa300 based development board and using Linux
> > > >> 2.6.34. This Linux kernel already has support for following boards
> > > >> 1. zylonite_pxa300
> > > >> 2. cm-x300
> > > >> 3. colibri-pxa300
> > > >> 4. littleton
> > > >> 
> > > >> My doubt is that pxa300 based boards are using "0xa0000000"  as
> > > >> DDRAM base and PHYS_OFFSET is also defined in
> > > >> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> > > >> But in our board  DDR is mapped in 0x80000000. Does it make any
> > > >> problem?. Because after mmu is turned ON, my board is hanging.
> > > >> 
> > > >> "zreladdr-y   := 0x80008000" is defined in
> > > >> "arch/arm/mach-pxa/Makefile.boot" file .
> > > >> my machine_desc is as follows
> > > >> .phys_io        = 0x40000000,
> > > >> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> > > >> .boot_params    = 0x80000100,
> > > > 
> > > > Try editing both arch/arm/mach-pxa/Makefile.boot and
> > > > arch/arm/mach/pxa/include/mach/memory.h
> > > > 
> > > >> With Thanks
> > > >> J.Balakrishnan
> > > > 
> > > > The 0x80000000 should be aliased to 0xa0000000, but looking into the
> > > > PXA docs, it is only on pxa320. Eric, any ideas on this ?
> > > 
> > > Should be working on pxa300/310 as well. If it doesn't, check you
> > > bootloader to make sure the mapping is OK, and memory doesn't exceed
> > > (0xa000_0000 - 0x8000_0000).
> > 
> > It worked last time I used the pxa310 littleton board, but I can't check
> > on the pxa300 zylonite board just yet.
> > 
> > Could you give us your bootloader details ?
> 
> hi,
>       Now, I can able to boot after editing following files
> arch/arm/mach-pxa/Makefile.boot and
> arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
> 0xa0000000). My doubt is

It was always set to 0xa0000000, both of them.

> 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
> architecture?

Because that's how the HW guys did it and because it's written in TRM (which is 
the holy bible(substitute any other holy object) of the CPU) ;-)

> 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
> 0xc0000000-0xc8000000, how can I inform to kernel about this different
> bank and size?.

Check LAKML and look for:
"[PATCH] pxa/vpac270: Enable SparseMEM for 256 MB of RAM"

This might give you an idea ... though it's a hack. All this goo about 
PHYS_OFFSET etc. will be gone in hopefully near future.

Cheers!

> 
> My Boot loader details,
> ------------------------------
> =>bdi
> arch_number = 0x00000B04
> env_t       = 0x00000000
> boot_params = 0x80000100
> DRAM bank   = 0x00000000
> -> start    = 0x80000000
> -> size     = 0x08000000
> DRAM bank   = 0x00000001
> -> start    = 0xC0000000
> -> size     = 0x08000000
> ethaddr     = 08:00:3e:26:0a:5b
> ip_addr     = 192.168.0.21
> baudrate    = 115200 bps
> =>ver
> U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
> 
> 
> With Thanks
> J.Balakrishnan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-07  6:58           ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-07  6:58 UTC (permalink / raw)
  To: linux-arm-kernel

Dne Po 7. ?ervna 2010 08:29:51 balakrishnan napsal(a):
> On Sun, 2010-06-06 at 18:34 +0200, Marek Vasut wrote:
> > Dne Ne 6. ?ervna 2010 10:17:00 Eric Miao napsal(a):
> > > On Sun, Jun 6, 2010 at 1:19 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > > > Dne ?t 1. ?ervna 2010 07:44:18 balakrishnan napsal(a):
> > > >> I am working on pxa300 based development board and using Linux
> > > >> 2.6.34. This Linux kernel already has support for following boards
> > > >> 1. zylonite_pxa300
> > > >> 2. cm-x300
> > > >> 3. colibri-pxa300
> > > >> 4. littleton
> > > >> 
> > > >> My doubt is that pxa300 based boards are using "0xa0000000"  as
> > > >> DDRAM base and PHYS_OFFSET is also defined in
> > > >> "arch/arm/mach-pxa/include/mach/memory.h" as 0xa0000000.
> > > >> But in our board  DDR is mapped in 0x80000000. Does it make any
> > > >> problem?. Because after mmu is turned ON, my board is hanging.
> > > >> 
> > > >> "zreladdr-y   := 0x80008000" is defined in
> > > >> "arch/arm/mach-pxa/Makefile.boot" file .
> > > >> my machine_desc is as follows
> > > >> .phys_io        = 0x40000000,
> > > >> .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
> > > >> .boot_params    = 0x80000100,
> > > > 
> > > > Try editing both arch/arm/mach-pxa/Makefile.boot and
> > > > arch/arm/mach/pxa/include/mach/memory.h
> > > > 
> > > >> With Thanks
> > > >> J.Balakrishnan
> > > > 
> > > > The 0x80000000 should be aliased to 0xa0000000, but looking into the
> > > > PXA docs, it is only on pxa320. Eric, any ideas on this ?
> > > 
> > > Should be working on pxa300/310 as well. If it doesn't, check you
> > > bootloader to make sure the mapping is OK, and memory doesn't exceed
> > > (0xa000_0000 - 0x8000_0000).
> > 
> > It worked last time I used the pxa310 littleton board, but I can't check
> > on the pxa300 zylonite board just yet.
> > 
> > Could you give us your bootloader details ?
> 
> hi,
>       Now, I can able to boot after editing following files
> arch/arm/mach-pxa/Makefile.boot and
> arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
> 0xa0000000). My doubt is

It was always set to 0xa0000000, both of them.

> 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
> architecture?

Because that's how the HW guys did it and because it's written in TRM (which is 
the holy bible(substitute any other holy object) of the CPU) ;-)

> 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
> 0xc0000000-0xc8000000, how can I inform to kernel about this different
> bank and size?.

Check LAKML and look for:
"[PATCH] pxa/vpac270: Enable SparseMEM for 256 MB of RAM"

This might give you an idea ... though it's a hack. All this goo about 
PHYS_OFFSET etc. will be gone in hopefully near future.

Cheers!

> 
> My Boot loader details,
> ------------------------------
> =>bdi
> arch_number = 0x00000B04
> env_t       = 0x00000000
> boot_params = 0x80000100
> DRAM bank   = 0x00000000
> -> start    = 0x80000000
> -> size     = 0x08000000
> DRAM bank   = 0x00000001
> -> start    = 0xC0000000
> -> size     = 0x08000000
> ethaddr     = 08:00:3e:26:0a:5b
> ip_addr     = 192.168.0.21
> baudrate    = 115200 bps
> =>ver
> U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
> 
> 
> With Thanks
> J.Balakrishnan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-07  6:29       ` balakrishnan
@ 2010-06-07 19:37           ` Mike Rapoport
  2010-06-07 19:37           ` Mike Rapoport
  1 sibling, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2010-06-07 19:37 UTC (permalink / raw)
  To: balakrishnan
  Cc: Marek Vasut, Maharajan, Eric Miao, linux-kernel, linux-arm-kernel

> hi,
>       Now, I can able to boot after editing following files
> arch/arm/mach-pxa/Makefile.boot and arch/arm/mach/pxa/include/mach/memory.h
> (0x80000000 changed to 0xa0000000). My doubt is
> 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
> architecture?
> 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
> 0xc0000000-0xc8000000, how can I inform to kernel about this different bank
> and size?.

enable CONFIG_HIGHMEM

> My Boot loader details,
> ------------------------------
> =>bdi
> arch_number = 0x00000B04
> env_t       = 0x00000000
> boot_params = 0x80000100
> DRAM bank   = 0x00000000
> -> start    = 0x80000000
> -> size     = 0x08000000
> DRAM bank   = 0x00000001
> -> start    = 0xC0000000
> -> size     = 0x08000000
> ethaddr     = 08:00:3e:26:0a:5b
> ip_addr     = 192.168.0.21
> baudrate    = 115200 bps
> =>ver
> U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
>
>
> With Thanks
> J.Balakrishnan
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
>



-- 
	Sincerely Yours,
		Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-07 19:37           ` Mike Rapoport
  0 siblings, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2010-06-07 19:37 UTC (permalink / raw)
  To: linux-arm-kernel

> hi,
> ????? Now, I can able to boot after editing following files
> arch/arm/mach-pxa/Makefile.boot and arch/arm/mach/pxa/include/mach/memory.h
> (0x80000000 changed to 0xa0000000). My doubt is
> 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
> architecture?
> 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
> 0xc0000000-0xc8000000, how can I inform to kernel about this different bank
> and size?.

enable CONFIG_HIGHMEM

> My Boot loader details,
> ------------------------------
> =>bdi
> arch_number = 0x00000B04
> env_t?????? = 0x00000000
> boot_params = 0x80000100
> DRAM bank?? = 0x00000000
> -> start??? = 0x80000000
> -> size???? = 0x08000000
> DRAM bank?? = 0x00000001
> -> start??? = 0xC0000000
> -> size???? = 0x08000000
> ethaddr???? = 08:00:3e:26:0a:5b
> ip_addr???? = 192.168.0.21
> baudrate??? = 115200 bps
> =>ver
> U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
>
>
> With Thanks
> J.Balakrishnan
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
>



-- 
	Sincerely Yours,
		Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-07 19:37           ` Mike Rapoport
@ 2010-06-07 19:43             ` Marek Vasut
  -1 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-07 19:43 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: balakrishnan, Maharajan, Eric Miao, linux-kernel, linux-arm-kernel

Dne Po 7. června 2010 21:37:16 Mike Rapoport napsal(a):
> > hi,
> >       Now, I can able to boot after editing following files
> > arch/arm/mach-pxa/Makefile.boot and
> > arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
> > 0xa0000000). My doubt is
> > 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
> > architecture?
> > 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
> > 0xc0000000-0xc8000000, how can I inform to kernel about this different
> > bank and size?.
> 
> enable CONFIG_HIGHMEM

Mike, that wont help him as he has PHYS_OFFSET=0xa0000000 . Selecting 
CONFIG_HIGHMEM will only cause the pages for RAM below 0xa0000000 to have 
incorrectly computated descriptor addresses (or maybe will be ignored).

The page descriptors for RAM at PA 0xa0000000 are at VA 0xc0000000 + some offset 
(there's an easy linear formula to compute their offset). Now if you feed that 
formula with 0x80000000, the page descriptors will end below 0xc0000000, which 
isn't a valid VA, therefore the descriptors will not be valid either (in the 
better case, but it will hang the kernel at early stage anyway).

Therefore there are two ways -- either use what I suggested earlier or wait 
until the PHYS_OFFSET is dynamically computated (check Eric's patchset).

Cheers
> 
> > My Boot loader details,
> > ------------------------------
> > =>bdi
> > arch_number = 0x00000B04
> > env_t       = 0x00000000
> > boot_params = 0x80000100
> > DRAM bank   = 0x00000000
> > -> start    = 0x80000000
> > -> size     = 0x08000000
> > DRAM bank   = 0x00000001
> > -> start    = 0xC0000000
> > -> size     = 0x08000000
> > ethaddr     = 08:00:3e:26:0a:5b
> > ip_addr     = 192.168.0.21
> > baudrate    = 115200 bps
> > =>ver
> > U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
> > 
> > 
> > With Thanks
> > J.Balakrishnan
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-07 19:43             ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2010-06-07 19:43 UTC (permalink / raw)
  To: linux-arm-kernel

Dne Po 7. ?ervna 2010 21:37:16 Mike Rapoport napsal(a):
> > hi,
> >       Now, I can able to boot after editing following files
> > arch/arm/mach-pxa/Makefile.boot and
> > arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
> > 0xa0000000). My doubt is
> > 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
> > architecture?
> > 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
> > 0xc0000000-0xc8000000, how can I inform to kernel about this different
> > bank and size?.
> 
> enable CONFIG_HIGHMEM

Mike, that wont help him as he has PHYS_OFFSET=0xa0000000 . Selecting 
CONFIG_HIGHMEM will only cause the pages for RAM below 0xa0000000 to have 
incorrectly computated descriptor addresses (or maybe will be ignored).

The page descriptors for RAM at PA 0xa0000000 are at VA 0xc0000000 + some offset 
(there's an easy linear formula to compute their offset). Now if you feed that 
formula with 0x80000000, the page descriptors will end below 0xc0000000, which 
isn't a valid VA, therefore the descriptors will not be valid either (in the 
better case, but it will hang the kernel at early stage anyway).

Therefore there are two ways -- either use what I suggested earlier or wait 
until the PHYS_OFFSET is dynamically computated (check Eric's patchset).

Cheers
> 
> > My Boot loader details,
> > ------------------------------
> > =>bdi
> > arch_number = 0x00000B04
> > env_t       = 0x00000000
> > boot_params = 0x80000100
> > DRAM bank   = 0x00000000
> > -> start    = 0x80000000
> > -> size     = 0x08000000
> > DRAM bank   = 0x00000001
> > -> start    = 0xC0000000
> > -> size     = 0x08000000
> > ethaddr     = 08:00:3e:26:0a:5b
> > ip_addr     = 192.168.0.21
> > baudrate    = 115200 bps
> > =>ver
> > U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
> > 
> > 
> > With Thanks
> > J.Balakrishnan
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: pxa300 - DDRAM base value
  2010-06-07 19:43             ` Marek Vasut
@ 2010-06-08  6:21               ` Mike Rapoport
  -1 siblings, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2010-06-08  6:21 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Mike Rapoport, linux-arm-kernel, Maharajan, Eric Miao,
	linux-kernel, balakrishnan

Marek Vasut wrote:
> Dne Po 7. června 2010 21:37:16 Mike Rapoport napsal(a):
>>> hi,
>>>       Now, I can able to boot after editing following files
>>> arch/arm/mach-pxa/Makefile.boot and
>>> arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
>>> 0xa0000000). My doubt is
>>> 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
>>> architecture?
>>> 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
>>> 0xc0000000-0xc8000000, how can I inform to kernel about this different
>>> bank and size?.
>> enable CONFIG_HIGHMEM
> 
> Mike, that wont help him as he has PHYS_OFFSET=0xa0000000 . Selecting 
> CONFIG_HIGHMEM will only cause the pages for RAM below 0xa0000000 to have 
> incorrectly computated descriptor addresses (or maybe will be ignored).
> 
> The page descriptors for RAM at PA 0xa0000000 are at VA 0xc0000000 + some offset 
> (there's an easy linear formula to compute their offset). Now if you feed that 
> formula with 0x80000000, the page descriptors will end below 0xc0000000, which 
> isn't a valid VA, therefore the descriptors will not be valid either (in the 
> better case, but it will hang the kernel at early stage anyway).
> 
> Therefore there are two ways -- either use what I suggested earlier or wait 
> until the PHYS_OFFSET is dynamically computated (check Eric's patchset).

Not quite. I have it working with CONFIG_HIGHMEM, I've just forgotten 
about cm_x300_fixup:

static void __init cm_x300_fixup(struct machine_desc *mdesc, struct tag 
*tags,
                                  char **cmdline, struct meminfo *mi)
{
         /* Make sure that mi->bank[0].start = PHYS_ADDR */
         for (; tags->hdr.size; tags = tag_next(tags))
                 if (tags->hdr.tag == ATAG_MEM &&
                         tags->u.mem.start == 0x80000000) {
                         tags->u.mem.start = 0xa0000000;
                         break;
                 }
}


> Cheers
>>> My Boot loader details,
>>> ------------------------------
>>> =>bdi
>>> arch_number = 0x00000B04
>>> env_t       = 0x00000000
>>> boot_params = 0x80000100
>>> DRAM bank   = 0x00000000
>>> -> start    = 0x80000000
>>> -> size     = 0x08000000
>>> DRAM bank   = 0x00000001
>>> -> start    = 0xC0000000
>>> -> size     = 0x08000000
>>> ethaddr     = 08:00:3e:26:0a:5b
>>> ip_addr     = 192.168.0.21
>>> baudrate    = 115200 bps
>>> =>ver
>>> U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
>>>
>>>
>>> With Thanks
>>> J.Balakrishnan
>>> _______________________________________________
>>> linux-arm-kernel mailing list
>>> linux-arm-kernel@lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* pxa300 - DDRAM base value
@ 2010-06-08  6:21               ` Mike Rapoport
  0 siblings, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2010-06-08  6:21 UTC (permalink / raw)
  To: linux-arm-kernel

Marek Vasut wrote:
> Dne Po 7. ?ervna 2010 21:37:16 Mike Rapoport napsal(a):
>>> hi,
>>>       Now, I can able to boot after editing following files
>>> arch/arm/mach-pxa/Makefile.boot and
>>> arch/arm/mach/pxa/include/mach/memory.h (0x80000000 changed to
>>> 0xa0000000). My doubt is
>>> 1.why 0x80000000 (DDR phy address) is aliased to 0xa0000000 in pxa
>>> architecture?
>>> 2.In my development board two DDRAMs mapped at 0x80000000-0x88000000 and
>>> 0xc0000000-0xc8000000, how can I inform to kernel about this different
>>> bank and size?.
>> enable CONFIG_HIGHMEM
> 
> Mike, that wont help him as he has PHYS_OFFSET=0xa0000000 . Selecting 
> CONFIG_HIGHMEM will only cause the pages for RAM below 0xa0000000 to have 
> incorrectly computated descriptor addresses (or maybe will be ignored).
> 
> The page descriptors for RAM at PA 0xa0000000 are at VA 0xc0000000 + some offset 
> (there's an easy linear formula to compute their offset). Now if you feed that 
> formula with 0x80000000, the page descriptors will end below 0xc0000000, which 
> isn't a valid VA, therefore the descriptors will not be valid either (in the 
> better case, but it will hang the kernel at early stage anyway).
> 
> Therefore there are two ways -- either use what I suggested earlier or wait 
> until the PHYS_OFFSET is dynamically computated (check Eric's patchset).

Not quite. I have it working with CONFIG_HIGHMEM, I've just forgotten 
about cm_x300_fixup:

static void __init cm_x300_fixup(struct machine_desc *mdesc, struct tag 
*tags,
                                  char **cmdline, struct meminfo *mi)
{
         /* Make sure that mi->bank[0].start = PHYS_ADDR */
         for (; tags->hdr.size; tags = tag_next(tags))
                 if (tags->hdr.tag == ATAG_MEM &&
                         tags->u.mem.start == 0x80000000) {
                         tags->u.mem.start = 0xa0000000;
                         break;
                 }
}


> Cheers
>>> My Boot loader details,
>>> ------------------------------
>>> =>bdi
>>> arch_number = 0x00000B04
>>> env_t       = 0x00000000
>>> boot_params = 0x80000100
>>> DRAM bank   = 0x00000000
>>> -> start    = 0x80000000
>>> -> size     = 0x08000000
>>> DRAM bank   = 0x00000001
>>> -> start    = 0xC0000000
>>> -> size     = 0x08000000
>>> ethaddr     = 08:00:3e:26:0a:5b
>>> ip_addr     = 192.168.0.21
>>> baudrate    = 115200 bps
>>> =>ver
>>> U-Boot 2010.03 (Jun 01 2010 - 14:27:43)
>>>
>>>
>>> With Thanks
>>> J.Balakrishnan
>>> _______________________________________________
>>> linux-arm-kernel mailing list
>>> linux-arm-kernel at lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2010-06-08  6:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-01  5:44 pxa300 - DDRAM base value balakrishnan
2010-06-05 17:19 ` Marek Vasut
2010-06-05 17:19   ` Marek Vasut
2010-06-06  8:17   ` Eric Miao
2010-06-06  8:17     ` Eric Miao
2010-06-06 16:34     ` Marek Vasut
2010-06-06 16:34       ` Marek Vasut
2010-06-07  6:29       ` balakrishnan
2010-06-07  6:58         ` Marek Vasut
2010-06-07  6:58           ` Marek Vasut
2010-06-07 19:37         ` Mike Rapoport
2010-06-07 19:37           ` Mike Rapoport
2010-06-07 19:43           ` Marek Vasut
2010-06-07 19:43             ` Marek Vasut
2010-06-08  6:21             ` Mike Rapoport
2010-06-08  6:21               ` Mike Rapoport
2010-06-06 17:03     ` Mike Rapoport
2010-06-06 17:03       ` Mike Rapoport

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.