[U-Boot-Users] [PATCH 1/2] ppc4xx: Add DU440 board support

Wolfgang Denk wd at denx.de
Sun Jan 13 23:08:20 CET 2008


In message <200801132211.13931.matthias.fuchs at esd-electronics.com> you wrote:
> Signed-off-by: Matthias Fuchs <matthias.fuchs at esd-electronics.com>
> ---
>  board/esd/du440/Makefile   |   51 ++
>  board/esd/du440/config.mk  |   41 ++
>  board/esd/du440/du440.c    | 1171 ++++++++++++++++++++++++++++++++++++++++++++
>  board/esd/du440/du440.h    |   42 ++
>  board/esd/du440/init.S     |   80 +++
>  board/esd/du440/u-boot.lds |  145 ++++++
>  6 files changed, 1530 insertions(+), 0 deletions(-)
>  create mode 100644 board/esd/du440/Makefile
>  create mode 100644 board/esd/du440/config.mk
>  create mode 100644 board/esd/du440/du440.c
>  create mode 100644 board/esd/du440/du440.h
>  create mode 100644 board/esd/du440/init.S
>  create mode 100644 board/esd/du440/u-boot.lds
...
> diff --git a/board/esd/du440/du440.c b/board/esd/du440/du440.c
> new file mode 100644
> index 0000000..0c8d59b
> --- /dev/null
> +++ b/board/esd/du440/du440.c
...
> +	switch (gd->bd->bi_flashsize) {
> +	case 1 << 20:
> +		size_val = 0;
> +		break;
> +	case 2 << 20:
> +		size_val = 1;
> +		break;
> +	case 4 << 20:
> +		size_val = 2;
> +		break;
> +	case 8 << 20:
> +		size_val = 3;
> +		break;
> +	case 16 << 20:
> +		size_val = 4;
> +		break;
> +	case 32 << 20:
> +		size_val = 5;
> +		break;
> +	case 64 << 20:
> +		size_val = 6;
> +		break;
> +	case 128 << 20:
> +		size_val = 7;
> +		break;
> +	}

Ummm...

	#include <asm/bitops.h>
	...
	size_val = ffs(gd->bd->bi_flashsize) - 21;

seems more straigtforward to me...

...
> +	/*--------------------------------------------------------------------------+
> +	  | PowerPC440EPX PCI Master configuration.
> +	  | Map one 1Gig range of PLB/processor addresses to PCI memory space.
> +	  |   PLB address 0xA0000000-0xDFFFFFFF ==> PCI address 0xA0000000-0xDFFFFFFF
> +	  |   Use byte reversed out routines to handle endianess.
> +	  | Make this region non-prefetchable.
> +	  +--------------------------------------------------------------------------*/

Here and elsewhere: this is not the requested style for multiline
comments.

> +	out32r(PCIX0_PMM0MA, 0x00000000);	/* PMM0 Mask/Attribute - disabled b4 setting */
> +	out32r(PCIX0_PMM0LA, CFG_PCI_MEMBASE);	/* PMM0 Local Address */
> +	out32r(PCIX0_PMM0PCILA, CFG_PCI_MEMBASE);	/* PMM0 PCI Low Address */
> +	out32r(PCIX0_PMM0PCIHA, 0x00000000);	/* PMM0 PCI High Address */
> +	out32r(PCIX0_PMM0MA, 0xE0000001);	/* 512M + No prefetching, and enable region */
> +
> +	out32r(PCIX0_PMM1MA, 0x00000000);	/* PMM0 Mask/Attribute - disabled b4 setting */
> +	out32r(PCIX0_PMM1LA, CFG_PCI_MEMBASE2); /* PMM0 Local Address */
> +	out32r(PCIX0_PMM1PCILA, CFG_PCI_MEMBASE2);	/* PMM0 PCI Low Address */
> +	out32r(PCIX0_PMM1PCIHA, 0x00000000);	/* PMM0 PCI High Address */
> +	out32r(PCIX0_PMM1MA, 0xE0000001);	/* 512M + No prefetching, and enable region */

Please mind the maximum line length!


> +	/* Write data until done or would cross a write page boundary.
> +	 * We must write the address again when changing pages
> +	 * because the address counter only increments within a page.
> +	 */

Please:

	/*
	 * Write data until...


> +U_BOOT_CMD(
> +	dviinit, 1, 1, do_dviinit,
> +	"dviinit - Initialize DVI Panellink transmitter\n",
> +	NULL
> +	);
> +
> +
> +#if 1

Please remove the '#if 1' as it's redundant.

...
> +#if 0
> +/*
> + * test commands for SM722 2D acceleration
> + */
...
> +U_BOOT_CMD(
> +	gfxline,	CFG_MAXARGS,	1,	do_gfxline,
> +	"gfxline - draw line\n",
> +	"[color] [x1] [y1] [x2] [y2]\n"
> +	);
> +#endif

Please remove the dead code.


> diff --git a/board/esd/du440/init.S b/board/esd/du440/init.S
> new file mode 100644
> index 0000000..1e15e72
> --- /dev/null
> +++ b/board/esd/du440/init.S
> @@ -0,0 +1,80 @@
> +/*
> + *
> + * 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
> + */

Copyright missing.

You probably may want to adjust the (C) messages in some other files,
too.

> diff --git a/board/esd/du440/u-boot.lds b/board/esd/du440/u-boot.lds
> new file mode 100644
> index 0000000..a423f98
> --- /dev/null
> +++ b/board/esd/du440/u-boot.lds
...
> +  __bss_start = .;
> +  .bss       :

NOLOAD attribute missing. Please fix.

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: wd at denx.de
Crash programs fail because they are based on the theory  that,  with
nine women pregnant, you can get a baby a month.  - Wernher von Braun




More information about the U-Boot mailing list