Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Wolfgang Denk
Dear Vasily Khoruzhick,

In message  
you wrote:
> 
> Doing SDRAM init very early (even in assembly code) is obvious and simple.
> Just few simple writes into RAM controller registers.

This is a misconception.

Experience on this very mailing list has shown that an extremely high
number of issues is cause by incomplete and/or incorrect memory
initialization.  This is why U-Boot (be design!) makes sure we have a
full C environment when doing this taks, where we can use printf() and
friends for useful output etc.

> It's not as simple as previous solution, isn't it? And looks

No, it's not so simple, but far more convenient.  And over time, much
more time-saving.

> overengineered to me. I prefer to keep
> such low-level things simple.

We respect your personal preferences.  But in this case we ask you to
stick with the U-Boot design andimplement as requested. Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
1 1 was a race-horse, 2 2 was 1 2. When 1 1 1 1 race, 2 2 1 1 2.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Wolfgang Denk
Dear Vasily Khoruzhick,

In message  
you wrote:
> 
> Btw, using cache for stack looks like awful hack to me.

No, why?  Cache is pretty fast RAM, so why not use it as such?

Hey, there are people who boot the whole Linux system (kernel + RAM
disk) in cache (actully already on the die, before the chip even has
seen a casing, far from thinking about a board...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"One planet is all you get."
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Wolfgang Denk
Dear Ilya Averyanov,

In message 
 you 
wrote:
>
> Why do you insist on sdram initialization code in C?
> If you simply do as done in the other boards on this architecture?

We want to simplify code by usiing the same approach everywhere.  And
this means that we first set up a system that can run C code, and then
use this to insitialize the RAM.  This includes using get_ram_size()
to auto-detect (and verify) the actual RAM size.  And get_ram_size() 
is a C function as well.

The "other boards" are still old-style and should not be used as
examples.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
How many QA engineers does it take to screw in a lightbulb? 3:  1  to
screw it in and 2 to say "I told you so" when it doesn't work.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/23 Marek Vasut 
> 
> > Dear Ilya Averyanov,
> > 
> > > Dear Marek Vasut,
> > > 
> > > Would you please explain, why do you want to initialize the sdram has
> > 
> > been
> > 
> > > in C code.
> > 
> > Ok, no problem:
> > - You'll be able to call get_ram_size() to scan for ram size as any other
> > board
> > - SDRAM driver will fit properly into the driver model once it's in place
> > (WIP,
> > wanna volunteer for review process?)
> > - It's much cleaner
> > 
> > > If for provide this feature should be written assembly code. And it
> > > would sometimes even harder than the initialization code sdram?
> > 
> > What do you mean?
> 
>  If we use 4kb of SRAM (steppingstone), then at least need to edit
> u-boot/arch/arm/cpu/arm920t/start.S, to add a test from there was a boot
> (NAND or NOR). Edit the address stack. etc ...
> Use the MMU cache for the stack, even a little better, but it is more
> difficult.

Just check where you have SRAM and adjust SP accordingly, it's easy :-)

> 
> > Ah yes, just a remark, please don't top-post. Notice how other people
> > don't do
> > it -- I know gmail does it out-of-the-box, but that doesn't mean it's
> > correct.
> > 
> > Ok.
> > 
> > > 2012/4/21 Marek Vasut 
> > > 
> > > > Dear Ilya Averyanov,
> > > > 
> > > > > 2012/4/21 Vasily Khoruzhick 
> > > > > 
> > > > > > 2012/4/21 Ilya Averyanov :
> > > > > > > No have problem.
> > > > > > > Available only if you boot from NOR flash.
> > > > > > > If you boot from the NAND 4kb of SRAM (steppingstone) not
> > > > > > > available.
> > > > > > 
> > > > > > For NAND boot it's mapped at 0x0
> > > > > > For NOR boot it's mapped at 0x4000
> > > > > > 
> > > > > > NAND controller uses it for booting purpose, but anyway for SPL
> > > > > > we should fit code into
> > > > > > 4k (hardware limitation), so I think using assembly here for
> > > > > > SDRAM init is OK.
> > > > > > 
> > > > > > And how will you use the internal SRAM when you boot from NAND,
> > > > > > if the SoC
> > > > > 
> > > > > writes in the SDRAM read data from NAND, and your data will be
> > > > 
> > > > overwritten.
> > > > 
> > > > Why? You'll load SPL into SRAM, then in SPL you'll copy the rest of
> > 
> > uboot
> > 
> > > > from
> > > > NAND to - then already inited - SDRAM and execute it. We even have
> > > > ready-to-use
> > > > NAND SPL.
> > > > 
> > > > > > Regards
> > > > > > Vasily
> > > > 
> > > > Best regards,
> > > > Marek Vasut
> > 
> > Best regards,
> > Marek Vasut

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Ilya Averyanov
2012/4/23 Marek Vasut 

> Dear Ilya Averyanov,
>
> > Dear Marek Vasut,
> >
> > Would you please explain, why do you want to initialize the sdram has
> been
> > in C code.
>
> Ok, no problem:
> - You'll be able to call get_ram_size() to scan for ram size as any other
> board
> - SDRAM driver will fit properly into the driver model once it's in place
> (WIP,
> wanna volunteer for review process?)
> - It's much cleaner
>
> > If for provide this feature should be written assembly code. And it would
> > sometimes even harder than the initialization code sdram?
>
> What do you mean?
>
 If we use 4kb of SRAM (steppingstone), then at least need to edit
u-boot/arch/arm/cpu/arm920t/start.S, to add a test from there was a boot
(NAND or NOR). Edit the address stack. etc ...
Use the MMU cache for the stack, even a little better, but it is more
difficult.

>
> Ah yes, just a remark, please don't top-post. Notice how other people
> don't do
> it -- I know gmail does it out-of-the-box, but that doesn't mean it's
> correct.
>
> Ok.

> > 2012/4/21 Marek Vasut 
> >
> > > Dear Ilya Averyanov,
> > >
> > > > 2012/4/21 Vasily Khoruzhick 
> > > >
> > > > > 2012/4/21 Ilya Averyanov :
> > > > > > No have problem.
> > > > > > Available only if you boot from NOR flash.
> > > > > > If you boot from the NAND 4kb of SRAM (steppingstone) not
> > > > > > available.
> > > > >
> > > > > For NAND boot it's mapped at 0x0
> > > > > For NOR boot it's mapped at 0x4000
> > > > >
> > > > > NAND controller uses it for booting purpose, but anyway for SPL we
> > > > > should fit code into
> > > > > 4k (hardware limitation), so I think using assembly here for SDRAM
> > > > > init is OK.
> > > > >
> > > > > And how will you use the internal SRAM when you boot from NAND, if
> > > > > the SoC
> > > >
> > > > writes in the SDRAM read data from NAND, and your data will be
> > >
> > > overwritten.
> > >
> > > Why? You'll load SPL into SRAM, then in SPL you'll copy the rest of
> uboot
> > > from
> > > NAND to - then already inited - SDRAM and execute it. We even have
> > > ready-to-use
> > > NAND SPL.
> > >
> > > > > Regards
> > > > > Vasily
> > >
> > > Best regards,
> > > Marek Vasut
>
> Best regards,
> Marek Vasut
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Marek Vasut
Dear Ilya Averyanov,

> Dear Marek Vasut,
> 
> Would you please explain, why do you want to initialize the sdram has been
> in C code.

Ok, no problem:
- You'll be able to call get_ram_size() to scan for ram size as any other board
- SDRAM driver will fit properly into the driver model once it's in place (WIP, 
wanna volunteer for review process?)
- It's much cleaner

> If for provide this feature should be written assembly code. And it would
> sometimes even harder than the initialization code sdram?

What do you mean?

Ah yes, just a remark, please don't top-post. Notice how other people don't do 
it -- I know gmail does it out-of-the-box, but that doesn't mean it's correct.

> 2012/4/21 Marek Vasut 
> 
> > Dear Ilya Averyanov,
> > 
> > > 2012/4/21 Vasily Khoruzhick 
> > > 
> > > > 2012/4/21 Ilya Averyanov :
> > > > > No have problem.
> > > > > Available only if you boot from NOR flash.
> > > > > If you boot from the NAND 4kb of SRAM (steppingstone) not
> > > > > available.
> > > > 
> > > > For NAND boot it's mapped at 0x0
> > > > For NOR boot it's mapped at 0x4000
> > > > 
> > > > NAND controller uses it for booting purpose, but anyway for SPL we
> > > > should fit code into
> > > > 4k (hardware limitation), so I think using assembly here for SDRAM
> > > > init is OK.
> > > > 
> > > > And how will you use the internal SRAM when you boot from NAND, if
> > > > the SoC
> > > 
> > > writes in the SDRAM read data from NAND, and your data will be
> > 
> > overwritten.
> > 
> > Why? You'll load SPL into SRAM, then in SPL you'll copy the rest of uboot
> > from
> > NAND to - then already inited - SDRAM and execute it. We even have
> > ready-to-use
> > NAND SPL.
> > 
> > > > Regards
> > > > Vasily
> > 
> > Best regards,
> > Marek Vasut

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-23 Thread Ilya Averyanov
Dear Marek Vasut,

Would you please explain, why do you want to initialize the sdram has been in
C code.
If for provide this feature should be written assembly code. And it would
sometimes even harder than the initialization code sdram?

2012/4/21 Marek Vasut 

> Dear Ilya Averyanov,
>
> > 2012/4/21 Vasily Khoruzhick 
> >
> > > 2012/4/21 Ilya Averyanov :
> > > > No have problem.
> > > > Available only if you boot from NOR flash.
> > > > If you boot from the NAND 4kb of SRAM (steppingstone) not available.
> > >
> > > For NAND boot it's mapped at 0x0
> > > For NOR boot it's mapped at 0x4000
> > >
> > > NAND controller uses it for booting purpose, but anyway for SPL we
> > > should fit code into
> > > 4k (hardware limitation), so I think using assembly here for SDRAM init
> > > is OK.
> > >
> > > And how will you use the internal SRAM when you boot from NAND, if the
> > > SoC
> >
> > writes in the SDRAM read data from NAND, and your data will be
> overwritten.
>
> Why? You'll load SPL into SRAM, then in SPL you'll copy the rest of uboot
> from
> NAND to - then already inited - SDRAM and execute it. We even have
> ready-to-use
> NAND SPL.
>
> >
> > > Regards
> > > Vasily
>
> Best regards,
> Marek Vasut
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-21 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/21 Vasily Khoruzhick 
> 
> > 2012/4/21 Ilya Averyanov :
> > > No have problem.
> > > Available only if you boot from NOR flash.
> > > If you boot from the NAND 4kb of SRAM (steppingstone) not available.
> > 
> > For NAND boot it's mapped at 0x0
> > For NOR boot it's mapped at 0x4000
> > 
> > NAND controller uses it for booting purpose, but anyway for SPL we
> > should fit code into
> > 4k (hardware limitation), so I think using assembly here for SDRAM init
> > is OK.
> > 
> > And how will you use the internal SRAM when you boot from NAND, if the
> > SoC
> 
> writes in the SDRAM read data from NAND, and your data will be overwritten.

Why? You'll load SPL into SRAM, then in SPL you'll copy the rest of uboot from 
NAND to - then already inited - SDRAM and execute it. We even have ready-to-use 
NAND SPL.

> 
> > Regards
> > Vasily

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-21 Thread Ilya Averyanov
2012/4/21 Vasily Khoruzhick 

> 2012/4/21 Ilya Averyanov :
> >
> > No have problem.
> > Available only if you boot from NOR flash.
> > If you boot from the NAND 4kb of SRAM (steppingstone) not available.
>
> For NAND boot it's mapped at 0x0
> For NOR boot it's mapped at 0x4000
>
> NAND controller uses it for booting purpose, but anyway for SPL we
> should fit code into
> 4k (hardware limitation), so I think using assembly here for SDRAM init is
> OK.
>
> And how will you use the internal SRAM when you boot from NAND, if the SoC
writes in the SDRAM read data from NAND, and your data will be overwritten.

> Regards
> Vasily
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-21 Thread Marek Vasut
Dear Vasily Khoruzhick,

> 2012/4/21 Ilya Averyanov :
> > No have problem.
> > Available only if you boot from NOR flash.
> > If you boot from the NAND 4kb of SRAM (steppingstone) not available.
> 
> For NAND boot it's mapped at 0x0
> For NOR boot it's mapped at 0x4000
> 
> NAND controller uses it for booting purpose, but anyway for SPL we
> should fit code into
> 4k (hardware limitation), so I think using assembly here for SDRAM init is
> OK.

Now you claim that you can use SRAM for stack in all possible cases damnit. So 
there is not even a need for locking cache lines. So use the SRAM and be done 
with it.

> Regards
> Vasily

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-21 Thread Vasily Khoruzhick
2012/4/21 Ilya Averyanov :
>
> No have problem.
> Available only if you boot from NOR flash.
> If you boot from the NAND 4kb of SRAM (steppingstone) not available.

For NAND boot it's mapped at 0x0
For NOR boot it's mapped at 0x4000

NAND controller uses it for booting purpose, but anyway for SPL we
should fit code into
4k (hardware limitation), so I think using assembly here for SDRAM init is OK.

Regards
Vasily
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-21 Thread Vasily Khoruzhick
2012/4/21 Marek Vasut :

>>  I agree with Vasily Khoruzhick, it looks like a hack
>
> Please, bother to read the CPU manual and also the ARM Architecture reference
> manual before you start with such a wild accusations.

Let me explain my point of view.

Doing SDRAM init very early (even in assembly code) is obvious and simple.
Just few simple writes into RAM controller registers.

But to use cache as RAM you need to program and enable MMU (again
assembly, right?). And then
one needs to program SDRAM controller (ok, this part is in C code, but
I don't see any advantage).
It's not as simple as previous solution, isn't it? And looks
overengineered to me. I prefer to keep
such low-level things simple.

Regards
Vasily
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/21 Marek Vasut 
> 
> > Dear Vasily Khoruzhick,
> > 
> > > 2012/4/20 Marek Vasut :
> > > > Which doesn't matter, either way you need stack ... and you can have
> > 
> > the
> > 
> > > > stack in cache ;-)
> > > 
> > > s3c24xx has 4kb of SRAM (steppingstone), you can use it for stack
> > 
> > Oh, I didn't know that ... so there's no longer any problem.
> 
> No have problem.
> Available only if you boot from NOR flash.
> If you boot from the NAND 4kb of SRAM (steppingstone) not available.

So you'll have to lock cache lines then. If you dig in the ML archive, you'll 
find a lot of discussion on this memory matter, esp. /wrt relocation support.

> > > Btw, using cache for stack looks like awful hack to me.
> > 
> > It's fairy normal.
> 
>  I agree with Vasily Khoruzhick, it looks like a hack

Please, bother to read the CPU manual and also the ARM Architecture reference 
manual before you start with such a wild accusations.

> 
> > > Regards
> > > Vasily
> > 
> > Best regards,
> > Marek Vasut

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Ilya Averyanov
2012/4/21 Marek Vasut 

> Dear Vasily Khoruzhick,
>
> > 2012/4/20 Marek Vasut :
> > > Which doesn't matter, either way you need stack ... and you can have
> the
> > > stack in cache ;-)
> >
> > s3c24xx has 4kb of SRAM (steppingstone), you can use it for stack
>
> Oh, I didn't know that ... so there's no longer any problem.
>
No have problem.
Available only if you boot from NOR flash.
If you boot from the NAND 4kb of SRAM (steppingstone) not available.

>
> > Btw, using cache for stack looks like awful hack to me.
>
> It's fairy normal.
>
 I agree with Vasily Khoruzhick, it looks like a hack

>
> > Regards
> > Vasily
>
> Best regards,
> Marek Vasut
>
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Vasily Khoruzhick,

> 2012/4/20 Marek Vasut :
> > Which doesn't matter, either way you need stack ... and you can have the
> > stack in cache ;-)
> 
> s3c24xx has 4kb of SRAM (steppingstone), you can use it for stack

Oh, I didn't know that ... so there's no longer any problem.

> Btw, using cache for stack looks like awful hack to me.

It's fairy normal.

> Regards
> Vasily

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Vasily Khoruzhick
2012/4/20 Marek Vasut :

> Which doesn't matter, either way you need stack ... and you can have the stack
> in cache ;-)

s3c24xx has 4kb of SRAM (steppingstone), you can use it for stack

Btw, using cache for stack looks like awful hack to me.

Regards
Vasily
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/20 Marek Vasut 
> 
> > Dear Ilya Averyanov,
> > 
> > > 2012/4/20 Ilya Averyanov 
> > > 
> > > > 2012/4/20 Marek Vasut 
> > > > 
> > > >> Dear Ilya Averyanov,
> > > >> 
> > > >> > 2012/4/20 Marek Vasut 
> > > >> > 
> > > >> > > Dear Ilya Averyanov,
> > > >> > > 
> > > >> > > [...]
> > > >> > > 
> > > >> > > > > > > > > > .word 0x32
> > > >> > > > > > > > > > +.word 0x30
> > > >> > > > > > > > > > +.word 0x30
> > > >> > > > > > > > > 
> > > >> > > > > > > > > What this undocumented stuff?
> > > >> > > > > > > > 
> > > >> > > > > > > > SoC specific, I pasted it from smdk2410, it's for
> > > >> > > > > > > > initialize the
> > > >> > > > > 
> > > >> > > > > DRAM.
> > > >> > > > > 
> > > >> > > > > > > Can't you init DRAM in some more fitting place? Also
> > > >> > > > > > > document this?
> > > >> > > > > > 
> > > >> > > > > > I don't know, this part is a bit difficult for me, but I'm
> > > >> 
> > > >> going to
> > > >> 
> > > >> > > try
> > > >> > > 
> > > >> > > > > > to document it with the help of the SoC documentation.
> > > >> > > > > > 
> > > >> > > > > > For the place, should I move it to mini2440.c in
> > > >> 
> > > >> arch_cpu_init() or
> > > >> 
> > > >> > > > > > board_early_init_f() ? I don't really know the difference.
> > > >> > > > > 
> > > >> > > > > dram_init() maybe ?
> > > >> > > > 
> > > >> > > > You propose to initialize the SDRAM controller in dram_init
> > > >> > > > ()?
> > > >> > > 
> > > >> > > Well yes, ain't it more fitting ?
> > > >> > > 
> > > >> > > Best regards,
> > > >> > > Marek Vasut
> > > >> > 
> > > >> > No. We have to two reasons why this is not the case.
> > > >> > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> > > >> > cpu_init_crit
> > > >> > ..
> > > >> > line 346
> > > >> > 
> > > >> > /*
> > > >> > 
> > > >> >  * before relocating, we have to setup RAM timing
> > > >> >  * because memory timing is board-dependend, you will
> > > >> >  * find a lowlevel_init.S in your board directory.
> > > >> >  */
> > > >> 
> > > >> Well don't setup run in lowlevel_init.S then ?
> > > >> 
> > > >> > 2) NAND controller must be initialized before C code run.
> > > >> 
> > > >> Why?
> > > >> 
> > > >> Best regards,
> > > >> Marek Vasut
> > > > 
> > > > mmm...
> > > > Because we need a stack.
> > > > The stack is in RAM.
> > > >
> > > >2) NAND controller must be initialized before C code run.
> > > 
> > > Sorry made a mistake. SDRAM! Not NAND!
> > 
> > Which doesn't matter, either way you need stack ... and you can have the
> > stack
> > in cache ;-)
> > 
> > Best regards,
> > Marek Vasut
> 
> Why do you insist on sdram initialization code in C?

That's how the init sequence was designed.

> If you simply do as done in the other boards on this architecture?

Other boards on arm architecture do init DRAM in proper place.

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Ilya Averyanov
2012/4/20 Marek Vasut 

> Dear Ilya Averyanov,
>
> > 2012/4/20 Ilya Averyanov 
> >
> > > 2012/4/20 Marek Vasut 
> > >
> > >> Dear Ilya Averyanov,
> > >>
> > >> > 2012/4/20 Marek Vasut 
> > >> >
> > >> > > Dear Ilya Averyanov,
> > >> > >
> > >> > > [...]
> > >> > >
> > >> > > > > > > > > > .word 0x32
> > >> > > > > > > > > > +.word 0x30
> > >> > > > > > > > > > +.word 0x30
> > >> > > > > > > > >
> > >> > > > > > > > > What this undocumented stuff?
> > >> > > > > > > >
> > >> > > > > > > > SoC specific, I pasted it from smdk2410, it's for
> > >> > > > > > > > initialize the
> > >> > > > >
> > >> > > > > DRAM.
> > >> > > > >
> > >> > > > > > > Can't you init DRAM in some more fitting place? Also
> > >> > > > > > > document this?
> > >> > > > > >
> > >> > > > > > I don't know, this part is a bit difficult for me, but I'm
> > >>
> > >> going to
> > >>
> > >> > > try
> > >> > >
> > >> > > > > > to document it with the help of the SoC documentation.
> > >> > > > > >
> > >> > > > > > For the place, should I move it to mini2440.c in
> > >>
> > >> arch_cpu_init() or
> > >>
> > >> > > > > > board_early_init_f() ? I don't really know the difference.
> > >> > > > >
> > >> > > > > dram_init() maybe ?
> > >> > > >
> > >> > > > You propose to initialize the SDRAM controller in dram_init ()?
> > >> > >
> > >> > > Well yes, ain't it more fitting ?
> > >> > >
> > >> > > Best regards,
> > >> > > Marek Vasut
> > >> >
> > >> > No. We have to two reasons why this is not the case.
> > >> > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> > >> > cpu_init_crit
> > >> > ..
> > >> > line 346
> > >> >
> > >> > /*
> > >> >
> > >> >  * before relocating, we have to setup RAM timing
> > >> >  * because memory timing is board-dependend, you will
> > >> >  * find a lowlevel_init.S in your board directory.
> > >> >  */
> > >>
> > >> Well don't setup run in lowlevel_init.S then ?
> > >>
> > >> > 2) NAND controller must be initialized before C code run.
> > >>
> > >> Why?
> > >>
> > >> Best regards,
> > >> Marek Vasut
> > >
> > > mmm...
> > > Because we need a stack.
> > > The stack is in RAM.
> > >
> > >2) NAND controller must be initialized before C code run.
> >
> > Sorry made a mistake. SDRAM! Not NAND!
>
> Which doesn't matter, either way you need stack ... and you can have the
> stack
> in cache ;-)
>
> Best regards,
> Marek Vasut
>
Why do you insist on sdram initialization code in C?
If you simply do as done in the other boards on this architecture?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/20 Ilya Averyanov 
> 
> > 2012/4/20 Marek Vasut 
> > 
> >> Dear Ilya Averyanov,
> >> 
> >> > 2012/4/20 Marek Vasut 
> >> > 
> >> > > Dear Ilya Averyanov,
> >> > > 
> >> > > [...]
> >> > > 
> >> > > > > > > > > > .word 0x32
> >> > > > > > > > > > +.word 0x30
> >> > > > > > > > > > +.word 0x30
> >> > > > > > > > > 
> >> > > > > > > > > What this undocumented stuff?
> >> > > > > > > > 
> >> > > > > > > > SoC specific, I pasted it from smdk2410, it's for
> >> > > > > > > > initialize the
> >> > > > > 
> >> > > > > DRAM.
> >> > > > > 
> >> > > > > > > Can't you init DRAM in some more fitting place? Also
> >> > > > > > > document this?
> >> > > > > > 
> >> > > > > > I don't know, this part is a bit difficult for me, but I'm
> >> 
> >> going to
> >> 
> >> > > try
> >> > > 
> >> > > > > > to document it with the help of the SoC documentation.
> >> > > > > > 
> >> > > > > > For the place, should I move it to mini2440.c in
> >> 
> >> arch_cpu_init() or
> >> 
> >> > > > > > board_early_init_f() ? I don't really know the difference.
> >> > > > > 
> >> > > > > dram_init() maybe ?
> >> > > > 
> >> > > > You propose to initialize the SDRAM controller in dram_init ()?
> >> > > 
> >> > > Well yes, ain't it more fitting ?
> >> > > 
> >> > > Best regards,
> >> > > Marek Vasut
> >> > 
> >> > No. We have to two reasons why this is not the case.
> >> > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> >> > cpu_init_crit
> >> > ..
> >> > line 346
> >> > 
> >> > /*
> >> > 
> >> >  * before relocating, we have to setup RAM timing
> >> >  * because memory timing is board-dependend, you will
> >> >  * find a lowlevel_init.S in your board directory.
> >> >  */
> >> 
> >> Well don't setup run in lowlevel_init.S then ?
> >> 
> >> > 2) NAND controller must be initialized before C code run.
> >> 
> >> Why?
> >> 
> >> Best regards,
> >> Marek Vasut
> > 
> > mmm...
> > Because we need a stack.
> > The stack is in RAM.
> >
> >2) NAND controller must be initialized before C code run.
> 
> Sorry made ​​a mistake. SDRAM! Not NAND!

Which doesn't matter, either way you need stack ... and you can have the stack 
in cache ;-)

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/20 Marek Vasut 
> 
> > Dear Ilya Averyanov,
> > 
> > > 2012/4/20 Marek Vasut 
> > > 
> > > > Dear Ilya Averyanov,
> > > > 
> > > > [...]
> > > > 
> > > > > > > > > > > .word 0x32
> > > > > > > > > > > +.word 0x30
> > > > > > > > > > > +.word 0x30
> > > > > > > > > > 
> > > > > > > > > > What this undocumented stuff?
> > > > > > > > > 
> > > > > > > > > SoC specific, I pasted it from smdk2410, it's for
> > > > > > > > > initialize the
> > > > > > 
> > > > > > DRAM.
> > > > > > 
> > > > > > > > Can't you init DRAM in some more fitting place? Also document
> > > > > > > > this?
> > > > > > > 
> > > > > > > I don't know, this part is a bit difficult for me, but I'm
> > > > > > > going
> > 
> > to
> > 
> > > > try
> > > > 
> > > > > > > to document it with the help of the SoC documentation.
> > > > > > > 
> > > > > > > For the place, should I move it to mini2440.c in
> > > > > > > arch_cpu_init()
> > 
> > or
> > 
> > > > > > > board_early_init_f() ? I don't really know the difference.
> > > > > > 
> > > > > > dram_init() maybe ?
> > > > > 
> > > > > You propose to initialize the SDRAM controller in dram_init ()?
> > > > 
> > > > Well yes, ain't it more fitting ?
> > > > 
> > > > Best regards,
> > > > Marek Vasut
> > > 
> > > No. We have to two reasons why this is not the case.
> > > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> > > cpu_init_crit
> > > ..
> > > line 346
> > > 
> > > /*
> > > 
> > >  * before relocating, we have to setup RAM timing
> > >  * because memory timing is board-dependend, you will
> > >  * find a lowlevel_init.S in your board directory.
> > >  */
> > 
> > Well don't setup run in lowlevel_init.S then ?
> > 
> > > 2) NAND controller must be initialized before C code run.
> > 
> > Why?
> > 
> > Best regards,
> > Marek Vasut
> 
> mmm...
> Because we need a stack.
> The stack is in RAM.

mmm...
You can lock cache entries to create space for stack in cache. That's how it's 
done on PXA, check it.

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Ilya Averyanov
2012/4/20 Ilya Averyanov 

>
>
> 2012/4/20 Marek Vasut 
>
>> Dear Ilya Averyanov,
>>
>> > 2012/4/20 Marek Vasut 
>> >
>> > > Dear Ilya Averyanov,
>> > >
>> > > [...]
>> > >
>> > > > > > > > > > .word 0x32
>> > > > > > > > > > +.word 0x30
>> > > > > > > > > > +.word 0x30
>> > > > > > > > >
>> > > > > > > > > What this undocumented stuff?
>> > > > > > > >
>> > > > > > > > SoC specific, I pasted it from smdk2410, it's for initialize
>> > > > > > > > the
>> > > > >
>> > > > > DRAM.
>> > > > >
>> > > > > > > Can't you init DRAM in some more fitting place? Also document
>> > > > > > > this?
>> > > > > >
>> > > > > > I don't know, this part is a bit difficult for me, but I'm
>> going to
>> > >
>> > > try
>> > >
>> > > > > > to document it with the help of the SoC documentation.
>> > > > > >
>> > > > > > For the place, should I move it to mini2440.c in
>> arch_cpu_init() or
>> > > > > > board_early_init_f() ? I don't really know the difference.
>> > > > >
>> > > > > dram_init() maybe ?
>> > > >
>> > > > You propose to initialize the SDRAM controller in dram_init ()?
>> > >
>> > > Well yes, ain't it more fitting ?
>> > >
>> > > Best regards,
>> > > Marek Vasut
>> >
>> > No. We have to two reasons why this is not the case.
>> > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
>> > cpu_init_crit
>> > ..
>> > line 346
>> > /*
>> >  * before relocating, we have to setup RAM timing
>> >  * because memory timing is board-dependend, you will
>> >  * find a lowlevel_init.S in your board directory.
>> >  */
>>
>> Well don't setup run in lowlevel_init.S then ?
>>
>> > 2) NAND controller must be initialized before C code run.
>>
>> Why?
>>
>> Best regards,
>> Marek Vasut
>>
> mmm...
> Because we need a stack.
> The stack is in RAM.
>
>2) NAND controller must be initialized before C code run.
Sorry made ​​a mistake. SDRAM! Not NAND!
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Ilya Averyanov
2012/4/20 Marek Vasut 

> Dear Ilya Averyanov,
>
> > 2012/4/20 Marek Vasut 
> >
> > > Dear Ilya Averyanov,
> > >
> > > [...]
> > >
> > > > > > > > > > .word 0x32
> > > > > > > > > > +.word 0x30
> > > > > > > > > > +.word 0x30
> > > > > > > > >
> > > > > > > > > What this undocumented stuff?
> > > > > > > >
> > > > > > > > SoC specific, I pasted it from smdk2410, it's for initialize
> > > > > > > > the
> > > > >
> > > > > DRAM.
> > > > >
> > > > > > > Can't you init DRAM in some more fitting place? Also document
> > > > > > > this?
> > > > > >
> > > > > > I don't know, this part is a bit difficult for me, but I'm going
> to
> > >
> > > try
> > >
> > > > > > to document it with the help of the SoC documentation.
> > > > > >
> > > > > > For the place, should I move it to mini2440.c in arch_cpu_init()
> or
> > > > > > board_early_init_f() ? I don't really know the difference.
> > > > >
> > > > > dram_init() maybe ?
> > > >
> > > > You propose to initialize the SDRAM controller in dram_init ()?
> > >
> > > Well yes, ain't it more fitting ?
> > >
> > > Best regards,
> > > Marek Vasut
> >
> > No. We have to two reasons why this is not the case.
> > 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> > cpu_init_crit
> > ..
> > line 346
> > /*
> >  * before relocating, we have to setup RAM timing
> >  * because memory timing is board-dependend, you will
> >  * find a lowlevel_init.S in your board directory.
> >  */
>
> Well don't setup run in lowlevel_init.S then ?
>
> > 2) NAND controller must be initialized before C code run.
>
> Why?
>
> Best regards,
> Marek Vasut
>
mmm...
Because we need a stack.
The stack is in RAM.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/20 Marek Vasut 
> 
> > Dear Ilya Averyanov,
> > 
> > [...]
> > 
> > > > > > > > > .word 0x32
> > > > > > > > > +.word 0x30
> > > > > > > > > +.word 0x30
> > > > > > > > 
> > > > > > > > What this undocumented stuff?
> > > > > > > 
> > > > > > > SoC specific, I pasted it from smdk2410, it's for initialize
> > > > > > > the
> > > > 
> > > > DRAM.
> > > > 
> > > > > > Can't you init DRAM in some more fitting place? Also document
> > > > > > this?
> > > > > 
> > > > > I don't know, this part is a bit difficult for me, but I'm going to
> > 
> > try
> > 
> > > > > to document it with the help of the SoC documentation.
> > > > > 
> > > > > For the place, should I move it to mini2440.c in arch_cpu_init() or
> > > > > board_early_init_f() ? I don't really know the difference.
> > > > 
> > > > dram_init() maybe ?
> > > 
> > > You propose to initialize the SDRAM controller in dram_init ()?
> > 
> > Well yes, ain't it more fitting ?
> > 
> > Best regards,
> > Marek Vasut
> 
> No. We have to two reasons why this is not the case.
> 1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
> cpu_init_crit
> ..
> line 346
> /*
>  * before relocating, we have to setup RAM timing
>  * because memory timing is board-dependend, you will
>  * find a lowlevel_init.S in your board directory.
>  */

Well don't setup run in lowlevel_init.S then ?

> 2) NAND controller must be initialized before C code run.

Why?

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Ilya Averyanov
2012/4/20 Marek Vasut 

> Dear Ilya Averyanov,
>
> [...]
>
> > > > > > > > .word 0x32
> > > > > > > > +.word 0x30
> > > > > > > > +.word 0x30
> > > > > > >
> > > > > > > What this undocumented stuff?
> > > > > >
> > > > > > SoC specific, I pasted it from smdk2410, it's for initialize the
> > >
> > > DRAM.
> > >
> > > > > Can't you init DRAM in some more fitting place? Also document this?
> > > >
> > > > I don't know, this part is a bit difficult for me, but I'm going to
> try
> > > > to document it with the help of the SoC documentation.
> > > >
> > > > For the place, should I move it to mini2440.c in arch_cpu_init() or
> > > > board_early_init_f() ? I don't really know the difference.
> > >
> > > dram_init() maybe ?
> >
> > You propose to initialize the SDRAM controller in dram_init ()?
>
> Well yes, ain't it more fitting ?
>
> Best regards,
> Marek Vasut
>
No. We have to two reasons why this is not the case.
1) Open u-boot/arch/arm/cpu/arm920t/start.S:328
cpu_init_crit
..
line 346
/*
 * before relocating, we have to setup RAM timing
 * because memory timing is board-dependend, you will
 * find a lowlevel_init.S in your board directory.
 */
2) NAND controller must be initialized before C code run.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Marek Vasut
Dear Ilya Averyanov,

[...]

> > > > > > > .word 0x32
> > > > > > > +.word 0x30
> > > > > > > +.word 0x30
> > > > > > 
> > > > > > What this undocumented stuff?
> > > > > 
> > > > > SoC specific, I pasted it from smdk2410, it's for initialize the
> > 
> > DRAM.
> > 
> > > > Can't you init DRAM in some more fitting place? Also document this?
> > > 
> > > I don't know, this part is a bit difficult for me, but I'm going to try
> > > to document it with the help of the SoC documentation.
> > > 
> > > For the place, should I move it to mini2440.c in arch_cpu_init() or
> > > board_early_init_f() ? I don't really know the difference.
> > 
> > dram_init() maybe ?
> 
> You propose to initialize the SDRAM controller in dram_init ()?

Well yes, ain't it more fitting ?

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-20 Thread Ilya Averyanov
2012/4/20 Marek Vasut 

> Dear Gabriel Huau,
>
> > On Thu, Apr 19, 2012 at 10:45:21PM +0200, Marek Vasut wrote:
> > > Dear Gabriel Huau,
> > >
> > > > On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> > > > > Dear Gabriel Huau,
> > > > >
> > > > > > ---
> > > > > >
> > > > > > Changes for v2:
> > > > > >   - Coding style cleanup
> > > > > >   - Remove unnecessary files modification
> > > > > >   - Remove unnecessary board configuration set
> > > > > >
> > > > > > Changes for v3:
> > > > > >   - Coding style cleanup
> > > > > >   - Move some macro definition from lowlevel_init.S
> > > > > >   to a new header
> > > > > >   - Remove some "magic bloat" with I/O board initialization
> > > > > >   - Add a pll_delay and replace loop by it
> > > > > >   - Somme cleanup in the configuration file
> > > > > >   - Cancel modifications on an SoC specific header
> > > > > >   - Add my name to copyright
> > > > > >
> > > > > > ---
> > > > > >
> > > > > >  board/friendlyarm/mini2440/Makefile|   45 ++
> > > > > >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> > > > > >  board/friendlyarm/mini2440/mini2440.c  |  139
> > > > > >  ++ board/friendlyarm/mini2440/mini2440.h  |
> > > > > >  104 ++ boards.cfg |
> > > > > >   1 +
> > > > > >  include/configs/mini2440.h |  215
> > > > > >
> > > > > >  6 files changed, 580 insertions(+)
> > > > > >
> > > > > >  create mode 100644 board/friendlyarm/mini2440/Makefile
> > > > > >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> > > > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> > > > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> > > > > >  create mode 100644 include/configs/mini2440.h
> > > > > >
> > > > > > diff --git a/board/friendlyarm/mini2440/Makefile
> > > > > > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > > > > > index 000..e8d68cb
> > > > > > --- /dev/null
> > > > > > +++ b/board/friendlyarm/mini2440/Makefile
> > > > > > @@ -0,0 +1,45 @@
> > > > > > +#
> > > > > > +# (C) Copyright 2012
> > > > > > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > > > > > +#
> > > > > > +# See file CREDITS for list of people who contributed to this
> > > > > > +# project.
> > > > > > +#
> > > > > > +# This program is free software; you can redistribute it and/or
> > > > > > +# modify it under the terms of the GNU General Public License as
> > > > > > +# published by the Free Software Foundation; either version 2 of
> > > > > > +# the License, or (at your option) any later version.
> > > > > > +#
> > > > > > +# This program is distributed in the hope that it will be
> useful,
> > > > > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > > +# GNU General Public License for more details.
> > > > > > +#
> > > > > > +# You should have received a copy of the GNU General Public
> > > > > > License +# along with this program; if not, write to the Free
> > > > > > Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > > > > > +# MA 02111-1307 USA
> > > > > > +#
> > > > > > +
> > > > > > +include $(TOPDIR)/config.mk
> > > > > > +
> > > > > > +LIB  = $(obj)lib$(BOARD).o
> > > > > > +
> > > > > > +COBJS:= mini2440.o
> > > > > > +SOBJS:= lowlevel_init.o
> > > > > > +
> > > > > > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > > > > > +OBJS := $(addprefix $(obj),$(COBJS))
> > > > > > +SOBJS:= $(addprefix $(obj),$(SOBJS))
> > > > > > +
> > > > > > +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
> > > > > > + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > > > > > +
> > > > > >
> +##
> > > > > >  ### +
> > > > > > +# defines $(obj).depend target
> > > > > > +include $(SRCTREE)/rules.mk
> > > > > > +
> > > > > > +sinclude $(obj).depend
> > > > > > +
> > > > > >
> +##
> > > > > >  ### diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > > > > > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > > > > > index 000..f69a08c
> > > > > > --- /dev/null
> > > > > > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > > > > > @@ -0,0 +1,76 @@
> > > > > > +/*
> > > > > > + * Memory Setup stuff - taken from blob memsetup.S
> > > > > > + *
> > > > > > + * Copyright (C) 1999 2000 2001 Erik Mouw
> > > > > > (j.a.k.m...@its.tudelft.nl) and + * Jan-Derk
> > > > > > Bakker
> > > > > > (j.d.bak...@its.tudelft.nl) + *
> > > > > > + * Modified for the Samsung SMDK2410 by
> > > > > > + * (C) Copyright 2002
> > > > > > + * David Mueller, ELSOFT AG, 
> > > > > > + *
> > > > > > + * (C) Copyright 2012
> > > > > > + * Gabriel Huau 
> > > >

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Graeme Russ
Hi Marek,

On Fri, Apr 20, 2012 at 8:23 AM, Marek Vasut  wrote:
> Dear Ilya Averyanov,
>
>> 2012/4/20 Marek Vasut 
>>
>> > Dear Gabriel Huau,
>> >
>> > > On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
>> > > > Dear Gabriel Huau,
>> > > >
>> > > > > ---
>> > > > >

>> > > > > + /* some delay between MPLL and UPLL */
>> > > > > + pll_delay(50);
>> > > >
>> > > > You use udelay() below, do you need pll_delay() at all?
>> > >
>> > > Yes, because initialisation of PLL is done before timer_init(), so we
>> > > can't use udelay().
>> >
>> > Maybe fix the timer driver?
>>
>> How fix timer driver if arch_cpu_init(void) call befor timer_init in
>> \arch\arm\lib\board.c:227 init_fnc_t *init_sequence[] = {
>
> Where did you get such a weird path? \arch\arm... ?
>
> btw you can always check some bit, if the timer is enabled, behave one way,
> otherwise, behave other way.

There is plenty of room in gd->flags - Pick a bit in the high-order 16-bits

It will be clear at startup and when you initialise the timer, you can set
the bit. udelay() can do a simple test on the bit and call the appropriate
function

Regards,

Graeme
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Marek Vasut
Dear Ilya Averyanov,

> 2012/4/20 Marek Vasut 
> 
> > Dear Gabriel Huau,
> > 
> > > On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> > > > Dear Gabriel Huau,
> > > > 
> > > > > ---
> > > > > 
> > > > > Changes for v2:
> > > > >   - Coding style cleanup
> > > > >   - Remove unnecessary files modification
> > > > >   - Remove unnecessary board configuration set
> > > > > 
> > > > > Changes for v3:
> > > > >   - Coding style cleanup
> > > > >   - Move some macro definition from lowlevel_init.S
> > > > >   to a new header
> > > > >   - Remove some "magic bloat" with I/O board initialization
> > > > >   - Add a pll_delay and replace loop by it
> > > > >   - Somme cleanup in the configuration file
> > > > >   - Cancel modifications on an SoC specific header
> > > > >   - Add my name to copyright
> > > > > 
> > > > > ---
> > > > > 
> > > > >  board/friendlyarm/mini2440/Makefile|   45 ++
> > > > >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> > > > >  board/friendlyarm/mini2440/mini2440.c  |  139
> > > > >  ++ board/friendlyarm/mini2440/mini2440.h  | 
> > > > >  104 ++ boards.cfg |  
> > > > >   1 +
> > > > >  include/configs/mini2440.h |  215
> > > > > 
> > > > >  6 files changed, 580 insertions(+)
> > > > > 
> > > > >  create mode 100644 board/friendlyarm/mini2440/Makefile
> > > > >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> > > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> > > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> > > > >  create mode 100644 include/configs/mini2440.h
> > > > > 
> > > > > diff --git a/board/friendlyarm/mini2440/Makefile
> > > > > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > > > > index 000..e8d68cb
> > > > > --- /dev/null
> > > > > +++ b/board/friendlyarm/mini2440/Makefile
> > > > > @@ -0,0 +1,45 @@
> > > > > +#
> > > > > +# (C) Copyright 2012
> > > > > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > > > > +#
> > > > > +# See file CREDITS for list of people who contributed to this
> > > > > +# project.
> > > > > +#
> > > > > +# This program is free software; you can redistribute it and/or
> > > > > +# modify it under the terms of the GNU General Public License as
> > > > > +# published by the Free Software Foundation; either version 2 of
> > > > > +# the License, or (at your option) any later version.
> > > > > +#
> > > > > +# This program is distributed in the hope that it will be useful,
> > > > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > +# GNU General Public License for more details.
> > > > > +#
> > > > > +# You should have received a copy of the GNU General Public
> > > > > License +# along with this program; if not, write to the Free
> > > > > Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > > > > +# MA 02111-1307 USA
> > > > > +#
> > > > > +
> > > > > +include $(TOPDIR)/config.mk
> > > > > +
> > > > > +LIB  = $(obj)lib$(BOARD).o
> > > > > +
> > > > > +COBJS:= mini2440.o
> > > > > +SOBJS:= lowlevel_init.o
> > > > > +
> > > > > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > > > > +OBJS := $(addprefix $(obj),$(COBJS))
> > > > > +SOBJS:= $(addprefix $(obj),$(SOBJS))
> > > > > +
> > > > > +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
> > > > > + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > > > > +
> > 
> > +##
> > 
> > > > > ### +
> > > > > +# defines $(obj).depend target
> > > > > +include $(SRCTREE)/rules.mk
> > > > > +
> > > > > +sinclude $(obj).depend
> > > > > +
> > 
> > +##
> > 
> > > > > ### diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > > > > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > > > > index 000..f69a08c
> > > > > --- /dev/null
> > > > > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > > > > @@ -0,0 +1,76 @@
> > > > > +/*
> > > > > + * Memory Setup stuff - taken from blob memsetup.S
> > > > > + *
> > > > > + * Copyright (C) 1999 2000 2001 Erik Mouw (
> > 
> > j.a.k.m...@its.tudelft.nl)
> > 
> > > > > and + * Jan-Derk Bakker
> > > > > (j.d.bak...@its.tudelft.nl) + *
> > > > > + * Modified for the Samsung SMDK2410 by
> > > > > + * (C) Copyright 2002
> > > > > + * David Mueller, ELSOFT AG, 
> > > > > + *
> > > > > + * (C) Copyright 2012
> > > > > + * Gabriel Huau 
> > > > > + *
> > > > > + * See file CREDITS for list of people who contributed to this
> > > > > + * project.
> > > > > + *
> > > > > + * This program is free software; you can redistribute it and/or
> > > > > + * modify it under the terms of the GNU General Public License as
> > > > > + * published by the Free Software F

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Marek Vasut
Dear Gabriel Huau,

> On Thu, Apr 19, 2012 at 10:45:21PM +0200, Marek Vasut wrote:
> > Dear Gabriel Huau,
> > 
> > > On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> > > > Dear Gabriel Huau,
> > > > 
> > > > > ---
> > > > > 
> > > > > Changes for v2:
> > > > >   - Coding style cleanup
> > > > >   - Remove unnecessary files modification
> > > > >   - Remove unnecessary board configuration set
> > > > > 
> > > > > Changes for v3:
> > > > >   - Coding style cleanup
> > > > >   - Move some macro definition from lowlevel_init.S
> > > > >   to a new header
> > > > >   - Remove some "magic bloat" with I/O board initialization
> > > > >   - Add a pll_delay and replace loop by it
> > > > >   - Somme cleanup in the configuration file
> > > > >   - Cancel modifications on an SoC specific header
> > > > >   - Add my name to copyright
> > > > > 
> > > > > ---
> > > > > 
> > > > >  board/friendlyarm/mini2440/Makefile|   45 ++
> > > > >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> > > > >  board/friendlyarm/mini2440/mini2440.c  |  139
> > > > >  ++ board/friendlyarm/mini2440/mini2440.h  | 
> > > > >  104 ++ boards.cfg |  
> > > > >   1 +
> > > > >  include/configs/mini2440.h |  215
> > > > > 
> > > > >  6 files changed, 580 insertions(+)
> > > > > 
> > > > >  create mode 100644 board/friendlyarm/mini2440/Makefile
> > > > >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> > > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> > > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> > > > >  create mode 100644 include/configs/mini2440.h
> > > > > 
> > > > > diff --git a/board/friendlyarm/mini2440/Makefile
> > > > > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > > > > index 000..e8d68cb
> > > > > --- /dev/null
> > > > > +++ b/board/friendlyarm/mini2440/Makefile
> > > > > @@ -0,0 +1,45 @@
> > > > > +#
> > > > > +# (C) Copyright 2012
> > > > > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > > > > +#
> > > > > +# See file CREDITS for list of people who contributed to this
> > > > > +# project.
> > > > > +#
> > > > > +# This program is free software; you can redistribute it and/or
> > > > > +# modify it under the terms of the GNU General Public License as
> > > > > +# published by the Free Software Foundation; either version 2 of
> > > > > +# the License, or (at your option) any later version.
> > > > > +#
> > > > > +# This program is distributed in the hope that it will be useful,
> > > > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > +# GNU General Public License for more details.
> > > > > +#
> > > > > +# You should have received a copy of the GNU General Public
> > > > > License +# along with this program; if not, write to the Free
> > > > > Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > > > > +# MA 02111-1307 USA
> > > > > +#
> > > > > +
> > > > > +include $(TOPDIR)/config.mk
> > > > > +
> > > > > +LIB  = $(obj)lib$(BOARD).o
> > > > > +
> > > > > +COBJS:= mini2440.o
> > > > > +SOBJS:= lowlevel_init.o
> > > > > +
> > > > > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > > > > +OBJS := $(addprefix $(obj),$(COBJS))
> > > > > +SOBJS:= $(addprefix $(obj),$(SOBJS))
> > > > > +
> > > > > +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
> > > > > + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > > > > +
> > > > > +##
> > > > >  ### +
> > > > > +# defines $(obj).depend target
> > > > > +include $(SRCTREE)/rules.mk
> > > > > +
> > > > > +sinclude $(obj).depend
> > > > > +
> > > > > +##
> > > > >  ### diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > > > > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > > > > index 000..f69a08c
> > > > > --- /dev/null
> > > > > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > > > > @@ -0,0 +1,76 @@
> > > > > +/*
> > > > > + * Memory Setup stuff - taken from blob memsetup.S
> > > > > + *
> > > > > + * Copyright (C) 1999 2000 2001 Erik Mouw
> > > > > (j.a.k.m...@its.tudelft.nl) and + * Jan-Derk
> > > > > Bakker
> > > > > (j.d.bak...@its.tudelft.nl) + *
> > > > > + * Modified for the Samsung SMDK2410 by
> > > > > + * (C) Copyright 2002
> > > > > + * David Mueller, ELSOFT AG, 
> > > > > + *
> > > > > + * (C) Copyright 2012
> > > > > + * Gabriel Huau 
> > > > > + *
> > > > > + * See file CREDITS for list of people who contributed to this
> > > > > + * project.
> > > > > + *
> > > > > + * This program is free software; you can redistribute it and/or
> > > > > + * modify it under the terms of the GN

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Graeme Russ
Gabriel,

Can you please trim the subject by removing the 'Documentation about ...'
bit. This information belongs in the source code files or, better yet,
in doc/README.MINI2440

Regards,

Graeme
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Ilya Averyanov
2012/4/20 Marek Vasut 

> Dear Gabriel Huau,
>
> > On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> > > Dear Gabriel Huau,
> > >
> > > > ---
> > > >
> > > > Changes for v2:
> > > >   - Coding style cleanup
> > > >   - Remove unnecessary files modification
> > > >   - Remove unnecessary board configuration set
> > > >
> > > > Changes for v3:
> > > >   - Coding style cleanup
> > > >   - Move some macro definition from lowlevel_init.S
> > > >   to a new header
> > > >   - Remove some "magic bloat" with I/O board initialization
> > > >   - Add a pll_delay and replace loop by it
> > > >   - Somme cleanup in the configuration file
> > > >   - Cancel modifications on an SoC specific header
> > > >   - Add my name to copyright
> > > >
> > > > ---
> > > >
> > > >  board/friendlyarm/mini2440/Makefile|   45 ++
> > > >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> > > >  board/friendlyarm/mini2440/mini2440.c  |  139 ++
> > > >  board/friendlyarm/mini2440/mini2440.h  |  104 ++
> > > >  boards.cfg |1 +
> > > >  include/configs/mini2440.h |  215
> > > >
> > > >  6 files changed, 580 insertions(+)
> > > >
> > > >  create mode 100644 board/friendlyarm/mini2440/Makefile
> > > >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> > > >  create mode 100644 include/configs/mini2440.h
> > > >
> > > > diff --git a/board/friendlyarm/mini2440/Makefile
> > > > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > > > index 000..e8d68cb
> > > > --- /dev/null
> > > > +++ b/board/friendlyarm/mini2440/Makefile
> > > > @@ -0,0 +1,45 @@
> > > > +#
> > > > +# (C) Copyright 2012
> > > > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > > > +#
> > > > +# See file CREDITS for list of people who contributed to this
> > > > +# project.
> > > > +#
> > > > +# This program is free software; you can redistribute it and/or
> > > > +# modify it under the terms of the GNU General Public License as
> > > > +# published by the Free Software Foundation; either version 2 of
> > > > +# the License, or (at your option) any later version.
> > > > +#
> > > > +# This program is distributed in the hope that it will be useful,
> > > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > +# GNU General Public License for more details.
> > > > +#
> > > > +# You should have received a copy of the GNU General Public License
> > > > +# along with this program; if not, write to the Free Software
> > > > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > > > +# MA 02111-1307 USA
> > > > +#
> > > > +
> > > > +include $(TOPDIR)/config.mk
> > > > +
> > > > +LIB  = $(obj)lib$(BOARD).o
> > > > +
> > > > +COBJS:= mini2440.o
> > > > +SOBJS:= lowlevel_init.o
> > > > +
> > > > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > > > +OBJS := $(addprefix $(obj),$(COBJS))
> > > > +SOBJS:= $(addprefix $(obj),$(SOBJS))
> > > > +
> > > > +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
> > > > + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > > > +
> > > >
> +##
> > > > ### +
> > > > +# defines $(obj).depend target
> > > > +include $(SRCTREE)/rules.mk
> > > > +
> > > > +sinclude $(obj).depend
> > > > +
> > > >
> +##
> > > > ### diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > > > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > > > index 000..f69a08c
> > > > --- /dev/null
> > > > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > > > @@ -0,0 +1,76 @@
> > > > +/*
> > > > + * Memory Setup stuff - taken from blob memsetup.S
> > > > + *
> > > > + * Copyright (C) 1999 2000 2001 Erik Mouw (
> j.a.k.m...@its.tudelft.nl)
> > > > and + * Jan-Derk Bakker
> > > > (j.d.bak...@its.tudelft.nl) + *
> > > > + * Modified for the Samsung SMDK2410 by
> > > > + * (C) Copyright 2002
> > > > + * David Mueller, ELSOFT AG, 
> > > > + *
> > > > + * (C) Copyright 2012
> > > > + * Gabriel Huau 
> > > > + *
> > > > + * See file CREDITS for list of people who contributed to this
> > > > + * project.
> > > > + *
> > > > + * This program is free software; you can redistribute it and/or
> > > > + * modify it under the terms of the GNU General Public License as
> > > > + * published by the Free Software Foundation; either version 2 of
> > > > + * the License, or (at your option) any later version.
> > > > + *
> > > > + * This program is distributed in the hope that it will be useful,
> > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > + * MERCHANTABILITY or FIT

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Gabriel Huau
On Thu, Apr 19, 2012 at 10:45:21PM +0200, Marek Vasut wrote:
> Dear Gabriel Huau,
> 
> > On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> > > Dear Gabriel Huau,
> > > 
> > > > ---
> > > > 
> > > > Changes for v2:
> > > > - Coding style cleanup
> > > > - Remove unnecessary files modification
> > > > - Remove unnecessary board configuration set
> > > > 
> > > > Changes for v3:
> > > > - Coding style cleanup
> > > > - Move some macro definition from lowlevel_init.S
> > > > to a new header
> > > > - Remove some "magic bloat" with I/O board initialization
> > > > - Add a pll_delay and replace loop by it
> > > > - Somme cleanup in the configuration file
> > > > - Cancel modifications on an SoC specific header
> > > > - Add my name to copyright
> > > > 
> > > > ---
> > > > 
> > > >  board/friendlyarm/mini2440/Makefile|   45 ++
> > > >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> > > >  board/friendlyarm/mini2440/mini2440.c  |  139 ++
> > > >  board/friendlyarm/mini2440/mini2440.h  |  104 ++
> > > >  boards.cfg |1 +
> > > >  include/configs/mini2440.h |  215
> > > > 
> > > >  6 files changed, 580 insertions(+)
> > > > 
> > > >  create mode 100644 board/friendlyarm/mini2440/Makefile
> > > >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> > > >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> > > >  create mode 100644 include/configs/mini2440.h
> > > > 
> > > > diff --git a/board/friendlyarm/mini2440/Makefile
> > > > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > > > index 000..e8d68cb
> > > > --- /dev/null
> > > > +++ b/board/friendlyarm/mini2440/Makefile
> > > > @@ -0,0 +1,45 @@
> > > > +#
> > > > +# (C) Copyright 2012
> > > > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > > > +#
> > > > +# See file CREDITS for list of people who contributed to this
> > > > +# project.
> > > > +#
> > > > +# This program is free software; you can redistribute it and/or
> > > > +# modify it under the terms of the GNU General Public License as
> > > > +# published by the Free Software Foundation; either version 2 of
> > > > +# the License, or (at your option) any later version.
> > > > +#
> > > > +# This program is distributed in the hope that it will be useful,
> > > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > +# GNU General Public License for more details.
> > > > +#
> > > > +# You should have received a copy of the GNU General Public License
> > > > +# along with this program; if not, write to the Free Software
> > > > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > > > +# MA 02111-1307 USA
> > > > +#
> > > > +
> > > > +include $(TOPDIR)/config.mk
> > > > +
> > > > +LIB= $(obj)lib$(BOARD).o
> > > > +
> > > > +COBJS  := mini2440.o
> > > > +SOBJS  := lowlevel_init.o
> > > > +
> > > > +SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > > > +OBJS   := $(addprefix $(obj),$(COBJS))
> > > > +SOBJS  := $(addprefix $(obj),$(SOBJS))
> > > > +
> > > > +$(LIB):$(obj).depend $(OBJS) $(SOBJS)
> > > > +   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > > > +
> > > > +##
> > > > ### +
> > > > +# defines $(obj).depend target
> > > > +include $(SRCTREE)/rules.mk
> > > > +
> > > > +sinclude $(obj).depend
> > > > +
> > > > +##
> > > > ### diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > > > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > > > index 000..f69a08c
> > > > --- /dev/null
> > > > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > > > @@ -0,0 +1,76 @@
> > > > +/*
> > > > + * Memory Setup stuff - taken from blob memsetup.S
> > > > + *
> > > > + * Copyright (C) 1999 2000 2001 Erik Mouw (j.a.k.m...@its.tudelft.nl)
> > > > and + * Jan-Derk Bakker
> > > > (j.d.bak...@its.tudelft.nl) + *
> > > > + * Modified for the Samsung SMDK2410 by
> > > > + * (C) Copyright 2002
> > > > + * David Mueller, ELSOFT AG, 
> > > > + *
> > > > + * (C) Copyright 2012
> > > > + * Gabriel Huau 
> > > > + *
> > > > + * See file CREDITS for list of people who contributed to this
> > > > + * project.
> > > > + *
> > > > + * This program is free software; you can redistribute it and/or
> > > > + * modify it under the terms of the GNU General Public License as
> > > > + * published by the Free Software Foundation; either version 2 of
> > > > + * the License, or (at your option) any later version.
> > > > + *
> > > > + * This program is distributed in the hope that it will be useful,
> > 

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Marek Vasut
Dear Gabriel Huau,

> On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> > Dear Gabriel Huau,
> > 
> > > ---
> > > 
> > > Changes for v2:
> > >   - Coding style cleanup
> > >   - Remove unnecessary files modification
> > >   - Remove unnecessary board configuration set
> > > 
> > > Changes for v3:
> > >   - Coding style cleanup
> > >   - Move some macro definition from lowlevel_init.S
> > >   to a new header
> > >   - Remove some "magic bloat" with I/O board initialization
> > >   - Add a pll_delay and replace loop by it
> > >   - Somme cleanup in the configuration file
> > >   - Cancel modifications on an SoC specific header
> > >   - Add my name to copyright
> > > 
> > > ---
> > > 
> > >  board/friendlyarm/mini2440/Makefile|   45 ++
> > >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> > >  board/friendlyarm/mini2440/mini2440.c  |  139 ++
> > >  board/friendlyarm/mini2440/mini2440.h  |  104 ++
> > >  boards.cfg |1 +
> > >  include/configs/mini2440.h |  215
> > > 
> > >  6 files changed, 580 insertions(+)
> > > 
> > >  create mode 100644 board/friendlyarm/mini2440/Makefile
> > >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> > >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> > >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> > >  create mode 100644 include/configs/mini2440.h
> > > 
> > > diff --git a/board/friendlyarm/mini2440/Makefile
> > > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > > index 000..e8d68cb
> > > --- /dev/null
> > > +++ b/board/friendlyarm/mini2440/Makefile
> > > @@ -0,0 +1,45 @@
> > > +#
> > > +# (C) Copyright 2012
> > > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > > +#
> > > +# See file CREDITS for list of people who contributed to this
> > > +# project.
> > > +#
> > > +# This program is free software; you can redistribute it and/or
> > > +# modify it under the terms of the GNU General Public License as
> > > +# published by the Free Software Foundation; either version 2 of
> > > +# the License, or (at your option) any later version.
> > > +#
> > > +# This program is distributed in the hope that it will be useful,
> > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > +# GNU General Public License for more details.
> > > +#
> > > +# You should have received a copy of the GNU General Public License
> > > +# along with this program; if not, write to the Free Software
> > > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > > +# MA 02111-1307 USA
> > > +#
> > > +
> > > +include $(TOPDIR)/config.mk
> > > +
> > > +LIB  = $(obj)lib$(BOARD).o
> > > +
> > > +COBJS:= mini2440.o
> > > +SOBJS:= lowlevel_init.o
> > > +
> > > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > > +OBJS := $(addprefix $(obj),$(COBJS))
> > > +SOBJS:= $(addprefix $(obj),$(SOBJS))
> > > +
> > > +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
> > > + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > > +
> > > +##
> > > ### +
> > > +# defines $(obj).depend target
> > > +include $(SRCTREE)/rules.mk
> > > +
> > > +sinclude $(obj).depend
> > > +
> > > +##
> > > ### diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > > index 000..f69a08c
> > > --- /dev/null
> > > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > > @@ -0,0 +1,76 @@
> > > +/*
> > > + * Memory Setup stuff - taken from blob memsetup.S
> > > + *
> > > + * Copyright (C) 1999 2000 2001 Erik Mouw (j.a.k.m...@its.tudelft.nl)
> > > and + * Jan-Derk Bakker
> > > (j.d.bak...@its.tudelft.nl) + *
> > > + * Modified for the Samsung SMDK2410 by
> > > + * (C) Copyright 2002
> > > + * David Mueller, ELSOFT AG, 
> > > + *
> > > + * (C) Copyright 2012
> > > + * Gabriel Huau 
> > > + *
> > > + * See file CREDITS for list of people who contributed to this
> > > + * project.
> > > + *
> > > + * This program is free software; you can redistribute it and/or
> > > + * modify it under the terms of the GNU General Public License as
> > > + * published by the Free Software Foundation; either version 2 of
> > > + * the License, or (at your option) any later version.
> > > + *
> > > + * This program is distributed in the hope that it will be useful,
> > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > + * GNU General Public License for more details.
> > > + *
> > > + * You should have received a copy of the GNU General Public License
> > > + * along with this program; if not, write to the Free Software
> > > + * F

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Gabriel Huau
On Thu, Apr 19, 2012 at 10:08:47PM +0200, Marek Vasut wrote:
> Dear Gabriel Huau,
> 
> > ---
> > Changes for v2:
> > - Coding style cleanup
> > - Remove unnecessary files modification
> > - Remove unnecessary board configuration set
> > 
> > Changes for v3:
> > - Coding style cleanup
> > - Move some macro definition from lowlevel_init.S
> > to a new header
> > - Remove some "magic bloat" with I/O board initialization
> > - Add a pll_delay and replace loop by it
> > - Somme cleanup in the configuration file
> > - Cancel modifications on an SoC specific header
> > - Add my name to copyright
> > ---
> >  board/friendlyarm/mini2440/Makefile|   45 ++
> >  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
> >  board/friendlyarm/mini2440/mini2440.c  |  139 ++
> >  board/friendlyarm/mini2440/mini2440.h  |  104 ++
> >  boards.cfg |1 +
> >  include/configs/mini2440.h |  215
> >  6 files changed, 580 insertions(+)
> >  create mode 100644 board/friendlyarm/mini2440/Makefile
> >  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
> >  create mode 100644 board/friendlyarm/mini2440/mini2440.c
> >  create mode 100644 board/friendlyarm/mini2440/mini2440.h
> >  create mode 100644 include/configs/mini2440.h
> > 
> > diff --git a/board/friendlyarm/mini2440/Makefile
> > b/board/friendlyarm/mini2440/Makefile new file mode 100644
> > index 000..e8d68cb
> > --- /dev/null
> > +++ b/board/friendlyarm/mini2440/Makefile
> > @@ -0,0 +1,45 @@
> > +#
> > +# (C) Copyright 2012
> > +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> > +#
> > +# See file CREDITS for list of people who contributed to this
> > +# project.
> > +#
> > +# This program is free software; you can redistribute it and/or
> > +# modify it under the terms of the GNU General Public License as
> > +# published by the Free Software Foundation; either version 2 of
> > +# the License, or (at your option) any later version.
> > +#
> > +# This program is distributed in the hope that it will be useful,
> > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > +# GNU General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU General Public License
> > +# along with this program; if not, write to the Free Software
> > +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > +# MA 02111-1307 USA
> > +#
> > +
> > +include $(TOPDIR)/config.mk
> > +
> > +LIB= $(obj)lib$(BOARD).o
> > +
> > +COBJS  := mini2440.o
> > +SOBJS  := lowlevel_init.o
> > +
> > +SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> > +OBJS   := $(addprefix $(obj),$(COBJS))
> > +SOBJS  := $(addprefix $(obj),$(SOBJS))
> > +
> > +$(LIB):$(obj).depend $(OBJS) $(SOBJS)
> > +   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> > +
> > +#
> > +
> > +# defines $(obj).depend target
> > +include $(SRCTREE)/rules.mk
> > +
> > +sinclude $(obj).depend
> > +
> > +#
> > diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> > b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> > index 000..f69a08c
> > --- /dev/null
> > +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> > @@ -0,0 +1,76 @@
> > +/*
> > + * Memory Setup stuff - taken from blob memsetup.S
> > + *
> > + * Copyright (C) 1999 2000 2001 Erik Mouw (j.a.k.m...@its.tudelft.nl) and
> > + * Jan-Derk Bakker (j.d.bak...@its.tudelft.nl)
> > + *
> > + * Modified for the Samsung SMDK2410 by
> > + * (C) Copyright 2002
> > + * David Mueller, ELSOFT AG, 
> > + *
> > + * (C) Copyright 2012
> > + * Gabriel Huau 
> > + *
> > + * See file CREDITS for list of people who contributed to this
> > + * project.
> > + *
> > + * This program is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU General Public License as
> > + * published by the Free Software Foundation; either version 2 of
> > + * the License, or (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> > + * MA 02111-1307 USA
> > + */
> > +
> > +#include 
> > +#include 
> > +#include "mini2440.h"
> > +
> > +_TEXT_BASE:
> > +   .word   CONFIG_SYS_TEXT_BASE
> > +
> > +.globl lowlevel_init
> > +lowleve

Re: [U-Boot] [PATCH v3] Add support for MINI2440 (s3c2440). Documentation about the product can be found on: http://www.friendlyarm.net/products/mini2440

2012-04-19 Thread Marek Vasut
Dear Gabriel Huau,

> ---
> Changes for v2:
>   - Coding style cleanup
>   - Remove unnecessary files modification
>   - Remove unnecessary board configuration set
> 
> Changes for v3:
>   - Coding style cleanup
>   - Move some macro definition from lowlevel_init.S
>   to a new header
>   - Remove some "magic bloat" with I/O board initialization
>   - Add a pll_delay and replace loop by it
>   - Somme cleanup in the configuration file
>   - Cancel modifications on an SoC specific header
>   - Add my name to copyright
> ---
>  board/friendlyarm/mini2440/Makefile|   45 ++
>  board/friendlyarm/mini2440/lowlevel_init.S |   76 ++
>  board/friendlyarm/mini2440/mini2440.c  |  139 ++
>  board/friendlyarm/mini2440/mini2440.h  |  104 ++
>  boards.cfg |1 +
>  include/configs/mini2440.h |  215
>  6 files changed, 580 insertions(+)
>  create mode 100644 board/friendlyarm/mini2440/Makefile
>  create mode 100644 board/friendlyarm/mini2440/lowlevel_init.S
>  create mode 100644 board/friendlyarm/mini2440/mini2440.c
>  create mode 100644 board/friendlyarm/mini2440/mini2440.h
>  create mode 100644 include/configs/mini2440.h
> 
> diff --git a/board/friendlyarm/mini2440/Makefile
> b/board/friendlyarm/mini2440/Makefile new file mode 100644
> index 000..e8d68cb
> --- /dev/null
> +++ b/board/friendlyarm/mini2440/Makefile
> @@ -0,0 +1,45 @@
> +#
> +# (C) Copyright 2012
> +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
> +#
> +# See file CREDITS for list of people who contributed to this
> +# project.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation; either version 2 of
> +# the License, or (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> +# MA 02111-1307 USA
> +#
> +
> +include $(TOPDIR)/config.mk
> +
> +LIB  = $(obj)lib$(BOARD).o
> +
> +COBJS:= mini2440.o
> +SOBJS:= lowlevel_init.o
> +
> +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> +OBJS := $(addprefix $(obj),$(COBJS))
> +SOBJS:= $(addprefix $(obj),$(SOBJS))
> +
> +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
> + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
> +
> +#
> +
> +# defines $(obj).depend target
> +include $(SRCTREE)/rules.mk
> +
> +sinclude $(obj).depend
> +
> +#
> diff --git a/board/friendlyarm/mini2440/lowlevel_init.S
> b/board/friendlyarm/mini2440/lowlevel_init.S new file mode 100644
> index 000..f69a08c
> --- /dev/null
> +++ b/board/friendlyarm/mini2440/lowlevel_init.S
> @@ -0,0 +1,76 @@
> +/*
> + * Memory Setup stuff - taken from blob memsetup.S
> + *
> + * Copyright (C) 1999 2000 2001 Erik Mouw (j.a.k.m...@its.tudelft.nl) and
> + * Jan-Derk Bakker (j.d.bak...@its.tudelft.nl)
> + *
> + * Modified for the Samsung SMDK2410 by
> + * (C) Copyright 2002
> + * David Mueller, ELSOFT AG, 
> + *
> + * (C) Copyright 2012
> + * Gabriel Huau 
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include 
> +#include 
> +#include "mini2440.h"
> +
> +_TEXT_BASE:
> + .word   CONFIG_SYS_TEXT_BASE
> +
> +.globl lowlevel_init
> +lowlevel_init:
> + /* memory control configuration */
> + /* make r0 relative the current location so that it */
> + /* reads SMRDATA out of FLASH rather than memory ! */
> + ldr r0, =SMRDATA
> + ldr r1, _TEXT_BASE
> + sub r0, r0, r1
> + ldr r1, =BWSCON /* Bus W