[U-Boot] [PATCH v5] ppc4xx: Add GDsys CompactCenter board support.

Wolfgang Denk wd at denx.de
Mon Jul 27 23:06:50 CEST 2009


Dear Stefan,

In message <1248677388-30459-1-git-send-email-eibach at gdsys.de> Dirk
Eibach wrote:
> Board support for the Guntermann & Drunck CompactCenter and
> DevCon-Center.
> Based on the AMCC Canyonlands board support by Stefan Roese.

...
> +int board_early_init_f(void)
> +{
> +	u32 pvr = get_pvr();
> +
> +	/*
> +	 * Setup the interrupt controller polarities, triggers, etc.
> +	 */
> +	mtdcr(uic0sr, 0xffffffff);	/* clear all */
> +	mtdcr(uic0er, 0x00000000);	/* disable all */
> +	mtdcr(uic0cr, 0x00000005);	/* ATI & UIC1 crit are critical */
> +	mtdcr(uic0pr, 0xffffffff);	/* per ref-board manual */
> +	mtdcr(uic0tr, 0x00000000);	/* per ref-board manual */
> +	mtdcr(uic0vr, 0x00000000);	/* int31 highest, base=0x000 */
> +	mtdcr(uic0sr, 0xffffffff);	/* clear all */
> +
> +	mtdcr(uic1sr, 0xffffffff);	/* clear all */
> +	mtdcr(uic1er, 0x00000000);	/* disable all */
> +	mtdcr(uic1cr, 0x00000000);	/* all non-critical */
> +	mtdcr(uic1pr, 0xffffffff);	/* per ref-board manual */
> +	mtdcr(uic1tr, 0x00000000);	/* per ref-board manual */
> +	mtdcr(uic1vr, 0x00000000);	/* int31 highest, base=0x000 */
> +	mtdcr(uic1sr, 0xffffffff);	/* clear all */
> +
> +	mtdcr(uic2sr, 0xffffffff);	/* clear all */
> +	mtdcr(uic2er, 0x00000000);	/* disable all */
> +	mtdcr(uic2cr, 0x00000000);	/* all non-critical */
> +	mtdcr(uic2pr, 0xffffffff);	/* per ref-board manual */
> +	mtdcr(uic2tr, 0x00000000);	/* per ref-board manual */
> +	mtdcr(uic2vr, 0x00000000);	/* int31 highest, base=0x000 */
> +	mtdcr(uic2sr, 0xffffffff);	/* clear all */
> +
> +	mtdcr(uic3sr, 0xffffffff);	/* clear all */
> +	mtdcr(uic3er, 0x00000000);	/* disable all */
> +	mtdcr(uic3cr, 0x00000000);	/* all non-critical */
> +	mtdcr(uic3pr, 0xffffffff);	/* per ref-board manual */
> +	mtdcr(uic3tr, 0x00000000);	/* per ref-board manual */
> +	mtdcr(uic3vr, 0x00000000);	/* int31 highest, base=0x000 */
> +	mtdcr(uic3sr, 0xffffffff);	/* clear all */

All these lower case #defines in "include/asm-ppc/ppc4xx-uic.h"
should be cleaned up.

...
> +void pci_target_init(struct pci_controller *hose)
> +{
> +	/*
> +	 * Disable everything
> +	 */
> +	out_le32((void *)PCIX0_PIM0SA, 0); /* disable */
> +	out_le32((void *)PCIX0_PIM1SA, 0); /* disable */
> +	out_le32((void *)PCIX0_PIM2SA, 0); /* disable */
> +	out_le32((void *)PCIX0_EROMBA, 0); /* disable expansion rom */
> +
> +	/*
> +	 * Map all of SDRAM to PCI address 0x0000_0000. Note that the 440
> +	 * strapping options to not support sizes such as 128/256 MB.
> +	 */
> +	out_le32((void *)PCIX0_PIM0LAL, CONFIG_SYS_SDRAM_BASE);
> +	out_le32((void *)PCIX0_PIM0LAH, 0);
> +	out_le32((void *)PCIX0_PIM0SA, ~(gd->ram_size - 1) | 1);
> +	out_le32((void *)PCIX0_BAR0, 0);

And we should proper C structs in "include/ppc440.h" so we can get
rid of all these nasty casts.


I don't intend to block this patch at this stage, but can you please
put such cleanup on your list for the next release?  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: wd at denx.de
"What the scientists have in their briefcases is terrifying."
- Nikita Khrushchev


More information about the U-Boot mailing list