public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
@ 2004-02-29 19:04 Yuli Barcohen
  2004-03-13 23:54 ` Wolfgang Denk
  2004-03-16  6:51 ` [U-Boot-Users] " Kumar Gala
  0 siblings, 2 replies; 19+ messages in thread
From: Yuli Barcohen @ 2004-02-29 19:04 UTC (permalink / raw)
  To: u-boot

Hi,

This patch adds support for the newest additions to Motorola PQII family
(MPC8247/8248/8271/8272) known also as PQ27e. They've got different
DPRAM layout (as was discussed on the list) so common files were
changed. I tested the code on several boards I've got (using both old
and new chips). Motorola released new derivative of MPC8260ADS
evaluation board supporting these chips: MPC8272ADS. This patch adds
support for the new board.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 8272.patch.bz2
Type: application/octet-stream
Size: 6202 bytes
Desc: PQ27e support
Url : http://lists.denx.de/pipermail/u-boot/attachments/20040229/f2f77a17/attachment.obj 

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-02-29 19:04 [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board Yuli Barcohen
@ 2004-03-13 23:54 ` Wolfgang Denk
  2004-03-15  9:45   ` [U-Boot-Users] " Yuli Barcohen
  2004-03-16  6:51 ` [U-Boot-Users] " Kumar Gala
  1 sibling, 1 reply; 19+ messages in thread
From: Wolfgang Denk @ 2004-03-13 23:54 UTC (permalink / raw)
  To: u-boot

Dear Yuli,

in message <16450.14241.889562.784232@gargle.gargle.HOWL> you wrote:
> 
> This patch adds support for the newest additions to Motorola PQII family
> (MPC8247/8248/8271/8272) known also as PQ27e. They've got different
> DPRAM layout (as was discussed on the list) so common files were
> changed. I tested the code on several boards I've got (using both old
> and new chips). Motorola released new derivative of MPC8260ADS
> evaluation board supporting these chips: MPC8272ADS. This patch adds
> support for the new board.

Thanks.

Please don't forget the entry for the CHANGELOG file.

Please add the appropriate additions to the CREDITS  and  MAINTAINERS
files, if needed.

I don't like the following parts of your patch:


	Index: cpu/mpc8260/commproc.c
	===================================================================
	RCS file: /home/CVS/u-boot/u-boot/cpu/mpc8260/commproc.c,v
	retrieving revision 1.1.1.3
	diff -p -u -r1.1.1.3 commproc.c
	--- cpu/mpc8260/commproc.c	6 Aug 2003 17:03:01 -0000	1.1.1.3
	+++ cpu/mpc8260/commproc.c	29 Feb 2004 18:45:04 -0000
	@@ -20,13 +20,6 @@
	 #include <common.h>
	 #include <asm/cpm_8260.h>
	 
	-/*
	- * because we have stack and init data in dual port ram
	- * we must reduce the size
	- */
	-#undef	CPM_DATAONLY_SIZE
	-#define CPM_DATAONLY_SIZE	((uint)(8 * 1024) - CPM_DATAONLY_BASE)

Are you 100% sure this does not break any existing boards?

	 void
	 m8260_cpm_reset(void)
	 {
	@@ -38,7 +31,10 @@ m8260_cpm_reset(void)
		/* Reclaim the DP memory for our use.
		*/
		gd->dp_alloc_base = CPM_DATAONLY_BASE;
	-	gd->dp_alloc_top = gd->dp_alloc_base + CPM_DATAONLY_SIZE;
	+	if (is_pq27e())
	+	   gd->dp_alloc_top = gd->dp_alloc_base + PQ27E_DATAONLY_SIZE;
	+	else
	+	   gd->dp_alloc_top = gd->dp_alloc_base + CPM_DATAONLY_SIZE;
	 
		/*
		 * Reset CPM

Please do not add a board-specific #define  PQ27E_DATAONLY_SIZE  when
we already have a CPM_DATAONLY_SIZE which could be used.


The same happens again in other places, like:

cpu/mpc8260/ether_fcc.c:

	PQ27E_FCC_SPECIAL_BASE vs. CPM_FCC_SPECIAL_BASE



Please clean up and resubmit.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
As long as we're going to reinvent the wheel again, we might as  well
try making it round this time.                        - Mike Dennison

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-13 23:54 ` Wolfgang Denk
@ 2004-03-15  9:45   ` Yuli Barcohen
  2004-03-15 10:07     ` Wolfgang Denk
  0 siblings, 1 reply; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-15  9:45 UTC (permalink / raw)
  To: u-boot

>>>>> Wolfgang Denk writes:

    Wolfgang> Dear Yuli, in message
    Wolfgang> <16450.14241.889562.784232@gargle.gargle.HOWL> you wrote:

    Yuli> This patch adds support for the newest additions to Motorola
    Yuli> PQII family (MPC8247/8248/8271/8272) known also as
    Yuli> PQ27e. They've got different DPRAM layout (as was discussed on
    Yuli> the list) so common files were changed. I tested the code on
    Yuli> several boards I've got (using both old and new
    Yuli> chips). Motorola released new derivative of MPC8260ADS
    Yuli> evaluation board supporting these chips: MPC8272ADS. This
    Yuli> patch adds support for the new board.

    Wolfgang> Thanks.

    Wolfgang> Please don't forget the entry for the CHANGELOG file.

Sorry, I promise it was last time I forgot it.

    Wolfgang> Please add the appropriate additions to the CREDITS and
    Wolfgang> MAINTAINERS files, if needed.

    Wolfgang> I don't like the following parts of your patch:

    Wolfgang> 	Index: cpu/mpc8260/commproc.c
    Wolfgang> 	========================================
    Wolfgang> 	RCS file:
    Wolfgang> 	/home/CVS/u-boot/u-boot/cpu/mpc8260/commproc.c,v
    Wolfgang> 	retrieving revision 1.1.1.3 diff -p -u -r1.1.1.3
    Wolfgang> 	commproc.c
    Wolfgang> --- cpu/mpc8260/commproc.c 6 Aug 2003 17:03:01 -0000
    Wolfgang> 	    1.1.1.3
    Wolfgang> +++ cpu/mpc8260/commproc.c 29 Feb 2004 18:45:04 -0000
    Wolfgang> 	@@ -20,13 +20,6 @@
    Wolfgang> 	 #include <common.h> include <asm/cpm_8260.h>
	 
    Wolfgang> -/*
    Wolfgang> - * because we have stack and init data in dual port ram
    Wolfgang> - * we must reduce the size
    Wolfgang> - */
    Wolfgang> -#undef CPM_DATAONLY_SIZE
    Wolfgang> -#define CPM_DATAONLY_SIZE ((uint)(8 * 1024) - CPM_DATAONLY_BASE)

    Wolfgang> Are you 100% sure this does not break any existing boards?

I checked it on four different boards with different PQ2 chips. In fact,
for older (pre-PQ27e) chips this patch does not change memory map so
they aren't affected in any way. Am I missing anything?

    Wolfgang> 	 void m8260_cpm_reset(void) {
    Wolfgang> 	@@ -38,7 +31,10 @@ m8260_cpm_reset(void)
    Wolfgang> /* Reclaim the DP memory for our use.  */
    Wolfgang> gd-> dp_alloc_base = CPM_DATAONLY_BASE;
    Wolfgang> - gd->dp_alloc_top = gd->dp_alloc_base
    Wolfgang> + gd->CPM_DATAONLY_SIZE;
    Wolfgang> + if (is_pq27e())
    Wolfgang> + gd->dp_alloc_top = gd->dp_alloc_base
    Wolfgang> + gd->PQ27E_DATAONLY_SIZE;
    Wolfgang> + else
    Wolfgang> + gd->dp_alloc_top = gd->dp_alloc_base
    Wolfgang> + gd->CPM_DATAONLY_SIZE;
	 
    Wolfgang> /* Reset CPM

    Wolfgang> Please do not add a board-specific #define
    Wolfgang> PQ27E_DATAONLY_SIZE when we already have a
    Wolfgang> CPM_DATAONLY_SIZE which could be used.

There should be some misunderstanding here. PQ27E_DATAONLY_SIZE is NOT
board-specific (I won't add board-specific things into common
files). PQ27e is the common name for the 8247/8248/8271/8272 (the `e'
stands for `encryption'). These chips have got much less internal memory
(DPRAM) and at different addresses so they must have separate
#defines. CPM_DATAONLY_SIZE is just incorrect for PQ27e. PQ27e have got
only 4K of "data only" RAM and not 8K (and at different base, BTW).

    Wolfgang> The same happens again in other places, like:

    Wolfgang> cpu/mpc8260/ether_fcc.c:

    Wolfgang> 	PQ27E_FCC_SPECIAL_BASE vs. CPM_FCC_SPECIAL_BASE

It's for the same reason. PQ27e have not got RAM at 0xB000, other PQ2s
have not got RAM at 0x9000. There is simply no common base for the two
families so I had to #define new constants. Any suggestions for better
solution are welcome.

    Wolfgang> Please clean up and resubmit.

After the explanations, what changes would you suggest?

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-15  9:45   ` [U-Boot-Users] " Yuli Barcohen
@ 2004-03-15 10:07     ` Wolfgang Denk
  2004-03-15 13:25       ` Yuli Barcohen
  0 siblings, 1 reply; 19+ messages in thread
From: Wolfgang Denk @ 2004-03-15 10:07 UTC (permalink / raw)
  To: u-boot

In message <16469.31569.535909.246506@gargle.gargle.HOWL> you wrote:
>
>     Wolfgang> -#undef CPM_DATAONLY_SIZE
>     Wolfgang> -#define CPM_DATAONLY_SIZE ((uint)(8 * 1024) - CPM_DATAONLY_BASE)
> 
>     Wolfgang> Are you 100% sure this does not break any existing boards?
> 
> I checked it on four different boards with different PQ2 chips. In fact,
> for older (pre-PQ27e) chips this patch does not change memory map so
> they aren't affected in any way. Am I missing anything?

I don't know. I just want to understand the consequences.

>     Wolfgang> + gd->CPM_DATAONLY_SIZE;
>     Wolfgang> + if (is_pq27e())
>     Wolfgang> + gd->dp_alloc_top = gd->dp_alloc_base
>     Wolfgang> + gd->PQ27E_DATAONLY_SIZE;
>     Wolfgang> + else
>     Wolfgang> + gd->dp_alloc_top = gd->dp_alloc_base
>     Wolfgang> + gd->CPM_DATAONLY_SIZE;

First, ther is at least one redundand "gd->CPM_DATAONLY_SIZE;" here.

>     Wolfgang> Please do not add a board-specific #define
>     Wolfgang> PQ27E_DATAONLY_SIZE when we already have a
>     Wolfgang> CPM_DATAONLY_SIZE which could be used.
> 
> There should be some misunderstanding here. PQ27E_DATAONLY_SIZE is NOT
> board-specific (I won't add board-specific things into common
> files). PQ27e is the common name for the 8247/8248/8271/8272 (the `e'

Sorry for chosing a poor description.

> stands for `encryption'). These chips have got much less internal memory
> (DPRAM) and at different addresses so they must have separate
> #defines. CPM_DATAONLY_SIZE is just incorrect for PQ27e. PQ27e have got
> only 4K of "data only" RAM and not 8K (and at different base, BTW).

Why do you need a separate  #define  then?  Isn't  it  sufficient  to
#define a correct value for CPM_DATAONLY_SIZE then?

>     Wolfgang> 	PQ27E_FCC_SPECIAL_BASE vs. CPM_FCC_SPECIAL_BASE
> 
> It's for the same reason. PQ27e have not got RAM at 0xB000, other PQ2s

So why not just #define a correct value?

> After the explanations, what changes would you suggest?

Use the existing variables and just assign correct values?

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
When the bosses talk about improving  productivity,  they  are  never
talking about themselves.

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-15 10:07     ` Wolfgang Denk
@ 2004-03-15 13:25       ` Yuli Barcohen
  2004-03-15 13:37         ` Wolfgang Denk
  0 siblings, 1 reply; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-15 13:25 UTC (permalink / raw)
  To: u-boot

>>>>> Wolfgang Denk writes:

    Wolfgang> In message <16469.31569.535909.246506@gargle.gargle.HOWL>
    Wolfgang> you wrote:

    Wolfgang> Are you 100% sure this does not break any existing boards?

    Yuli> I checked it on four different boards with different PQ2
    Yuli> chips. In fact, for older (pre-PQ27e) chips this patch does
    Yuli> not change memory map so they aren't affected in any way. Am I
    Yuli> missing anything?

    Wolfgang> I don't know. I just want to understand the consequences.

    Wolfgang> + gd->CPM_DATAONLY_SIZE;
    Wolfgang> + if (is_pq27e())
    Wolfgang> + gd->dp_alloc_top = gd->dp_alloc_base
    Wolfgang> + gd->PQ27E_DATAONLY_SIZE;
    Wolfgang> + else
    Wolfgang> + gd->dp_alloc_top = gd->dp_alloc_base
    Wolfgang> + gd->CPM_DATAONLY_SIZE;

    Wolfgang> First, ther is at least one redundand
    Wolfgang> "gd->CPM_DATAONLY_SIZE;" here.

No, no, it's just E-mail formatting of the excerpt after several
replies. There is no redundant code in the patch.

    Wolfgang> Please do not add a board-specific #define
    Wolfgang> PQ27E_DATAONLY_SIZE when we already have a
    Wolfgang> CPM_DATAONLY_SIZE which could be used.

    Yuli> There should be some misunderstanding
    Yuli> here. PQ27E_DATAONLY_SIZE is NOT board-specific (I won't add
    Yuli> board-specific things into common files). PQ27e is the common
    Yuli> name for the 8247/8248/8271/8272 (the `e'

    Wolfgang> Sorry for chosing a poor description.

    Yuli> stands for `encryption'). These chips have got much less
    Yuli> internal memory (DPRAM) and at different addresses so they
    Yuli> must have separate
    Yuli> #defines. CPM_DATAONLY_SIZE is just incorrect for PQ27e. PQ27e
    Yuli> have got only 4K of "data only" RAM and not 8K (and at
    Yuli> different base, BTW).

    Wolfgang> Why do you need a separate #define then?  Isn't it
    Wolfgang> sufficient to
    Wolfgang> #define a correct value for CPM_DATAONLY_SIZE then?

This would require that, for every PQ27e-based board, it would be
defined in the board configuration file that it's PQ27e and not just
8260. Then CPM_DATAONLY_SIZE can be defined conditionally on this
definition in cpm_8260.h. I personally don't like such compile-time
definitions because chip version can be easily detected in run-time.

    Wolfgang> PQ27E_FCC_SPECIAL_BASE vs. CPM_FCC_SPECIAL_BASE

    Yuli> It's for the same reason. PQ27e have not got RAM at 0xB000,
    Yuli> other PQ2s

    Wolfgang> So why not just #define a correct value?

    Yuli> After the explanations, what changes would you suggest?

    Wolfgang> Use the existing variables and just assign correct values?

Well, the question is if it's better that the CPU-specific code will
silently handle the differences or we'll make it the user's
responsibility to define the difference manually. I think automatic
handling is better but if you insist on #ifdefs, I can implement it too.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-15 13:25       ` Yuli Barcohen
@ 2004-03-15 13:37         ` Wolfgang Denk
  2004-03-17 11:46           ` Yuli Barcohen
  0 siblings, 1 reply; 19+ messages in thread
From: Wolfgang Denk @ 2004-03-15 13:37 UTC (permalink / raw)
  To: u-boot

In message <16469.44734.573362.958637@gargle.gargle.HOWL> you wrote:
> 
> No, no, it's just E-mail formatting of the excerpt after several
> replies. There is no redundant code in the patch.

You are right. Sorry for the confusion.

> This would require that, for every PQ27e-based board, it would be
> defined in the board configuration file that it's PQ27e and not just
> 8260. Then CPM_DATAONLY_SIZE can be defined conditionally on this
> definition in cpm_8260.h. I personally don't like such compile-time
> definitions because chip version can be easily detected in run-time.

The advantage of compile-time definitions  is  that  they  result  in
smaller code.

>     Wolfgang> PQ27E_FCC_SPECIAL_BASE vs. CPM_FCC_SPECIAL_BASE
...
> Well, the question is if it's better that the CPU-specific code will
> silently handle the differences or we'll make it the user's
> responsibility to define the difference manually. I think automatic
> handling is better but if you insist on #ifdefs, I can implement it too.

Sorry, but I can't follow.

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-02-29 19:04 [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board Yuli Barcohen
  2004-03-13 23:54 ` Wolfgang Denk
@ 2004-03-16  6:51 ` Kumar Gala
  2004-03-16  7:23   ` Yuli Barcohen
  1 sibling, 1 reply; 19+ messages in thread
From: Kumar Gala @ 2004-03-16  6:51 UTC (permalink / raw)
  To: u-boot

Looking at the patch, I was wondering if there was any reason to not  
enable both RS232 ports by default.

- kumar

On Feb 29, 2004, at 1:04 PM, Yuli Barcohen wrote:

> Hi,
>
> This patch adds support for the newest additions to Motorola PQII  
> family
> (MPC8247/8248/8271/8272) known also as PQ27e. They've got different
> DPRAM layout (as was discussed on the list) so common files were
> changed. I tested the code on several boards I've got (using both old
> and new chips). Motorola released new derivative of MPC8260ADS
> evaluation board supporting these chips: MPC8272ADS. This patch adds
> support for the new board.
>
> --  
> ======================================================================= 
> =
>  Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
>  yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software,  
> Israel
> ======================================================================= 
> =
>
> <8272.patch.bz2>

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-16  6:51 ` [U-Boot-Users] " Kumar Gala
@ 2004-03-16  7:23   ` Yuli Barcohen
  2004-03-16 14:37     ` Kumar Gala
  0 siblings, 1 reply; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-16  7:23 UTC (permalink / raw)
  To: u-boot

>>>>> Kumar Gala writes:

    Kumar> Looking at the patch, I was wondering if there was any reason
    Kumar> to not enable both RS232 ports by default.

Only the console port was enabled before the patch. Is there any reason
for the patch to change this behaviour? Also, I see no reason to enable
any peripheral which isn't going to be used.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-16  7:23   ` Yuli Barcohen
@ 2004-03-16 14:37     ` Kumar Gala
  2004-03-17 10:54       ` Yuli Barcohen
  2004-03-23 21:38       ` Wolfgang Denk
  0 siblings, 2 replies; 19+ messages in thread
From: Kumar Gala @ 2004-03-16 14:37 UTC (permalink / raw)
  To: u-boot

Yuli,

I agree with only enabling ports that will be used.  I guess I would  
expect the port to be used in Linux.  I'm working on an updated 2.6 SCC  
uart driver and realized that I needed to enable the 2nd port in BCSR.   
I had expected that u-boot would have already handled it.

- kumar

On Mar 16, 2004, at 1:23 AM, Yuli Barcohen wrote:

>>>>>> Kumar Gala writes:
>
>     Kumar> Looking at the patch, I was wondering if there was any  
> reason
>     Kumar> to not enable both RS232 ports by default.
>
> Only the console port was enabled before the patch. Is there any reason
> for the patch to change this behaviour? Also, I see no reason to enable
> any peripheral which isn't going to be used.
>
> --  
> ======================================================================= 
> =
>  Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
>  yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software,  
> Israel
> ======================================================================= 
> =

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-16 14:37     ` Kumar Gala
@ 2004-03-17 10:54       ` Yuli Barcohen
  2004-03-17 15:03         ` Kumar Gala
  2004-03-23 21:38       ` Wolfgang Denk
  1 sibling, 1 reply; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-17 10:54 UTC (permalink / raw)
  To: u-boot

>>>>> Kumar Gala writes:

    Kumar> Yuli, I agree with only enabling ports that will be used.  I
    Kumar> guess I would expect the port to be used in Linux.

If it's to be used in Linux but not in the U-Boot, let Linux initialise
it.

    Kumar> I'm working on an updated 2.6 SCC uart driver and realized
    Kumar> that I needed to enable the 2nd port in BCSR.  I had expected
    Kumar> that u-boot would have already handled it.

I see. In Arabella Linux, there is clear separation between boot and
kernel and between chip-specific and board-specific code. ADS-specific
file in Linux kernel is the place where the BCSR handling lives, so
we've got generic SCC UART driver and perform all the initialisations
(including board-specific BCSR) only when some code requests them.

    Kumar> Looking at the patch, I was wondering if there was any reason
    Kumar> to not enable both RS232 ports by default.

    Yuli> Only the console port was enabled before the patch. Is there
    Yuli> any reason for the patch to change this behaviour? Also, I see
    Yuli> no reason to enable any peripheral which isn't going to be
    Yuli> used.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-15 13:37         ` Wolfgang Denk
@ 2004-03-17 11:46           ` Yuli Barcohen
  2004-03-17 14:15             ` Dan Malek
  2004-03-17 17:21             ` Kumar Gala
  0 siblings, 2 replies; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-17 11:46 UTC (permalink / raw)
  To: u-boot

>>>>> Wolfgang Denk writes:

    Yuli> This would require that, for every PQ27e-based board, it would
    Yuli> be defined in the board configuration file that it's PQ27e and
    Yuli> not just
    Yuli> 8260. Then CPM_DATAONLY_SIZE can be defined conditionally on
    Yuli> this definition in cpm_8260.h. I personally don't like such
    Yuli> compile-time definitions because chip version can be easily
    Yuli> detected in run-time.

    Wolfgang> The advantage of compile-time definitions is that they
    Wolfgang> result in smaller code.

Of course, but here we're speaking about couple of `if's.

    Wolfgang> PQ27E_FCC_SPECIAL_BASE vs. CPM_FCC_SPECIAL_BASE ...

    Yuli> Well, the question is if it's better that the CPU-specific
    Yuli> code will silently handle the differences or we'll make it the
    Yuli> user's responsibility to define the difference manually. I
    Yuli> think automatic handling is better but if you insist on
    Yuli> #ifdefs, I can implement it too.

    Wolfgang> Sorry, but I can't follow.

    Wolfgang> From what I have seen your patches used _two_ #defines
    Wolfgang> instead of one.

Well, my explanations can be confusing... I'll try to explain it
differently. You're right, there are two #defines in one common file and
it's all what needed for PQ27e support. If you prefer the compile-time
solution, this means that: new CPU type is to be defined (CONFIG_MPC8272
or something like this) in addition to CONFIG_MPC8260, this type must be
used for every PQ27e based board instead of CONFIG_MPC8260, and in a
common file it must be defined that CONFIG_MPC8272 is a flavour of
CONFIG_MPC8260 otherwise the common MPC8260 code won't work for
PQ27e. IMHO this means much more work and more possibilities to make a
mistake, especially when porting U-Boot to a new board, but you're the
maintainer so make your choice.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 11:46           ` Yuli Barcohen
@ 2004-03-17 14:15             ` Dan Malek
  2004-03-17 15:12               ` Yuli Barcohen
  2004-03-17 17:21             ` Kumar Gala
  1 sibling, 1 reply; 19+ messages in thread
From: Dan Malek @ 2004-03-17 14:15 UTC (permalink / raw)
  To: u-boot


Sorry to jump into this late, but since I do tons of PQ work
I want to add my comments.

> .... I personally don't like such
>     Yuli> compile-time definitions because chip version can be easily
>     Yuli> detected in run-time.

No, it can't in all cases.  You can determine the core type and can
sometimes find something about the CPM rom version, but tracking down
and maintaining the permutations isn't trivial.  You have great inside
information on this stuff, but it doesn't help the rest of us add or
maintain this software.

>     Wolfgang> The advantage of compile-time definitions is that they
>     Wolfgang> result in smaller code.

I agree.  We've been doing it this way in Linux for years, the compiler
makes it pretty clear when you don't have something #defined.  What's
run-time code going to do when it can't determine the core or CPM type?
Assume some defaults and hope a message gets printed?

Thanks.


	-- Dan

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 10:54       ` Yuli Barcohen
@ 2004-03-17 15:03         ` Kumar Gala
  0 siblings, 0 replies; 19+ messages in thread
From: Kumar Gala @ 2004-03-17 15:03 UTC (permalink / raw)
  To: u-boot

On Mar 17, 2004, at 4:54 AM, Yuli Barcohen wrote:

>>>>>> Kumar Gala writes:
>
>     Kumar> Yuli, I agree with only enabling ports that will be used.  I
>     Kumar> guess I would expect the port to be used in Linux.
>
> If it's to be used in Linux but not in the U-Boot, let Linux initialise
> it.
>
>     Kumar> I'm working on an updated 2.6 SCC uart driver and realized
>     Kumar> that I needed to enable the 2nd port in BCSR.  I had 
> expected
>     Kumar> that u-boot would have already handled it.
>
> I see. In Arabella Linux, there is clear separation between boot and
> kernel and between chip-specific and board-specific code. ADS-specific
> file in Linux kernel is the place where the BCSR handling lives, so
> we've got generic SCC UART driver and perform all the initialisations
> (including board-specific BCSR) only when some code requests them.
>

Your correct, I will have the platform code for the board deal with 
initializing the BCSR in Linux.

Thanks

- kumar

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 14:15             ` Dan Malek
@ 2004-03-17 15:12               ` Yuli Barcohen
  2004-03-17 21:18                 ` Wolfgang Denk
  0 siblings, 1 reply; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-17 15:12 UTC (permalink / raw)
  To: u-boot

>>>>> Dan Malek writes:

    Dan> Sorry to jump into this late, but since I do tons of PQ work I
    Dan> want to add my comments.

    Yuli> .... I personally don't like such
    Yuli> compile-time definitions because chip version can be easily
    Yuli> detected in run-time.

    Dan> No, it can't in all cases.  You can determine the core type and
    Dan> can sometimes find something about the CPM rom version, but
    Dan> tracking down and maintaining the permutations isn't trivial.

Well, you can't know if it's 8271 or 8272, for example, but you don't
need this info. You can detect the "family" (HiP4, HiP7, etc.) and this
is enough for the tasks which we are discussing.

    Dan> You have great inside information on this stuff,

No, I don't (and I won't disclose such information in GPL code if I
had).

    Dan> but it doesn't help the rest of us add or maintain this
    Dan> software.

    Wolfgang> The advantage of compile-time definitions is that they
    Wolfgang> result in smaller code.

    Dan> I agree.  We've been doing it this way in Linux for years, the
    Dan> compiler makes it pretty clear when you don't have something
    Dan> #defined.

And these #defines were one of the reasons that we developed completely
new Linux support for PQs. Now we've got one kernel image running on
MPC8260ADS, MPC8266ADS, PQ2FADS, and MPC8272ADS. You would have four
different images. Probably that images would be smaller by 2K, maybe 5K,
but if the price is maintaining four images instead of one, I vote for
one. The same is true for other board families (FADS, etc.) I agree that
this can be less important for boot loaders which in many cases contain
too much board-specific code to build one-for-all image.

    Dan> What's run-time code going to do when it can't determine the
    Dan> core or CPM type?  Assume some defaults and hope a message gets
    Dan> printed?

Maybe such a thing can happen but in many years of development for
Motorola controllers I personally never had a problem with run-time
detection of chip features.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 11:46           ` Yuli Barcohen
  2004-03-17 14:15             ` Dan Malek
@ 2004-03-17 17:21             ` Kumar Gala
  2004-03-17 17:39               ` Yuli Barcohen
  1 sibling, 1 reply; 19+ messages in thread
From: Kumar Gala @ 2004-03-17 17:21 UTC (permalink / raw)
  To: u-boot

Yuli,

Have you tried this patch with CONFIG_CONS_INDEX = 2?  Just wondering 
because it seems like the IO ports for SCC4 uart are not setup.

- kumar

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 17:21             ` Kumar Gala
@ 2004-03-17 17:39               ` Yuli Barcohen
  0 siblings, 0 replies; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-17 17:39 UTC (permalink / raw)
  To: u-boot

>>>>> Kumar Gala writes:

    Kumar> Yuli, Have you tried this patch with CONFIG_CONS_INDEX = 2?
    Kumar> Just wondering because it seems like the IO ports for SCC4
    Kumar> uart are not setup.

CONFIG_CONS_INDEX = 2 means SCC2, not SCC4. You have to define
CONFIG_CONS_INDEX = 4 to use the lower RS-232 on MPC8272ADS. Ports
initialisation is static (I have to make it conditional like I did for
FCCs) so the ports table reflects current state (i.e. console on
SCC1). I haven't tried the SCC4 in U-Boot, but it works in Linux.

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 15:12               ` Yuli Barcohen
@ 2004-03-17 21:18                 ` Wolfgang Denk
  2004-03-18  8:54                   ` Yuli Barcohen
  0 siblings, 1 reply; 19+ messages in thread
From: Wolfgang Denk @ 2004-03-17 21:18 UTC (permalink / raw)
  To: u-boot

In message <16472.27359.566539.641092@gargle.gargle.HOWL> Yuli Barcohen wrote:
> 
>     Dan> I agree.  We've been doing it this way in Linux for years, the
>     Dan> compiler makes it pretty clear when you don't have something
>     Dan> #defined.
> 
> And these #defines were one of the reasons that we developed completely
> new Linux support for PQs. Now we've got one kernel image running on
> MPC8260ADS, MPC8266ADS, PQ2FADS, and MPC8272ADS. You would have four
> different images. Probably that images would be smaller by 2K, maybe 5K,
> but if the price is maintaining four images instead of one, I vote for
> one. The same is true for other board families (FADS, etc.) I agree that
> this can be less important for boot loaders which in many cases contain
> too much board-specific code to build one-for-all image.


Let's stop this discussion here. We don't need another religious war.

As Dan said, Linux has been using the #define style for a long  time,
and  for good reasons, and U-Boot always followed this style - and if
it was only because of the smaller code size.

There are many more  situations  where  run-time  code  may  be  very
convenient from the software ddeveloper's point of view, but where it
is not practical for the intended purpose. Think of memory footprint,
boot time, time of error detection etc.

> Maybe such a thing can happen but in many years of development for
> Motorola controllers I personally never had a problem with run-time
> detection of chip features.

Than you have been just lucky, or not the end user of the solution.



Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
The universe does not have laws - it has habits, and  habits  can  be
broken.

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

* [U-Boot-Users] Re: Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-17 21:18                 ` Wolfgang Denk
@ 2004-03-18  8:54                   ` Yuli Barcohen
  0 siblings, 0 replies; 19+ messages in thread
From: Yuli Barcohen @ 2004-03-18  8:54 UTC (permalink / raw)
  To: u-boot

>>>>> Wolfgang Denk writes:

    Wolfgang> Let's stop this discussion here. We don't need another
    Wolfgang> religious war.

I hope you believe that religious war is something I want to avoid, not
to start. As I wrote in the beginning of this discussion, if the
maintainer (you) insists on #ifdefs, I'll send a patch using #ifdefs.

    Wolfgang> The universe does not have laws - it has habits, and
    Wolfgang> habits can be broken.

Even more so with respect to U-Boot and Linux:)

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================

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

* [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board
  2004-03-16 14:37     ` Kumar Gala
  2004-03-17 10:54       ` Yuli Barcohen
@ 2004-03-23 21:38       ` Wolfgang Denk
  1 sibling, 0 replies; 19+ messages in thread
From: Wolfgang Denk @ 2004-03-23 21:38 UTC (permalink / raw)
  To: u-boot

In message <761C62B8-7757-11D8-A4C6-000393DBC2E8@motorola.com> you wrote:
> 
> I agree with only enabling ports that will be used.  I guess I would  
> expect the port to be used in Linux.  I'm working on an updated 2.6 SCC  
> uart driver and realized that I needed to enable the 2nd port in BCSR.   
> I had expected that u-boot would have already handled it.

The philosophy is to enable  and/or  initialize  only  those  devices
which are actually used by U-Boot itself. Even the network interfaces
get  initialized  only at the moment when you issue the first command
to access the network.

On the other hand a Linux device driver should assume  it  finds  the
device  in  an  unknown  random  (*)  state,  it  should  perform all
initialization it needs itself, and it should deinitialize the device
(if the driver should get unloaded) into an idle state.

(*) "random" is not completely random, of course - it  still  assumes
that  the device is well-behaving, i. e. that interrupts are disabled
etc.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"When anyone says `theoretically,' they really mean `not really.'"
- David Parnas

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

end of thread, other threads:[~2004-03-23 21:38 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-29 19:04 [U-Boot-Users] Patch: Support for PQ27e (8247/48/71/72) chips and MPC8272ADS board Yuli Barcohen
2004-03-13 23:54 ` Wolfgang Denk
2004-03-15  9:45   ` [U-Boot-Users] " Yuli Barcohen
2004-03-15 10:07     ` Wolfgang Denk
2004-03-15 13:25       ` Yuli Barcohen
2004-03-15 13:37         ` Wolfgang Denk
2004-03-17 11:46           ` Yuli Barcohen
2004-03-17 14:15             ` Dan Malek
2004-03-17 15:12               ` Yuli Barcohen
2004-03-17 21:18                 ` Wolfgang Denk
2004-03-18  8:54                   ` Yuli Barcohen
2004-03-17 17:21             ` Kumar Gala
2004-03-17 17:39               ` Yuli Barcohen
2004-03-16  6:51 ` [U-Boot-Users] " Kumar Gala
2004-03-16  7:23   ` Yuli Barcohen
2004-03-16 14:37     ` Kumar Gala
2004-03-17 10:54       ` Yuli Barcohen
2004-03-17 15:03         ` Kumar Gala
2004-03-23 21:38       ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox