[U-Boot] [PATCH] ppc4xx: Fix FDT EBC mappings on Canyonlands
Stefan Roese
sr at denx.de
Mon Jun 22 13:18:39 CEST 2009
Hi Felix,
On Monday 22 June 2009 13:08:17 Felix Radensky wrote:
> This patch fixes 2 problems with FDT EBC mappings on Canyonlands.
> First, NAND EBC mapping was missing, making Linux NAND driver
> unusable on this board. Second, NOR remapping code assumed that
> NOR is always on CS0, however when booting from NAND NOR is on CS3.
> ---
> board/amcc/canyonlands/canyonlands.c | 38
> ++++++++++++++++++++++++++------- include/configs/canyonlands.h |
> 2 +
> 2 files changed, 32 insertions(+), 8 deletions(-)
>
> diff --git a/board/amcc/canyonlands/canyonlands.c
> b/board/amcc/canyonlands/canyonlands.c index 2b74689..78c32b0 100644
> --- a/board/amcc/canyonlands/canyonlands.c
> +++ b/board/amcc/canyonlands/canyonlands.c
> @@ -577,20 +577,42 @@ int misc_init_r(void)
> #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
> void ft_board_setup(void *blob, bd_t *bd)
> {
> - u32 val[4];
> int rc;
> + int i;
> + u32 bxcr;
> + u32 ranges[EBC_NUM_BANKS * 4];
> + u32 *p = ranges;
> + char *ebc_path = "/plb/opb/ebc";
>
> ft_cpu_setup(blob, bd);
>
> + /*
> + * Read 4xx EBC bus bridge registers to get mappings of the
> + * peripheral banks into the OPB/PLB address space
> + */
> + for (i = 0; i < EBC_NUM_BANKS; i++) {
> + mtdcr(ebccfga, EBC_BXCR(i));
> + bxcr = mfdcr(ebccfgd);
> +
> + if ((bxcr & EBC_BXCR_BU_MASK) != EBC_BXCR_BU_NONE) {
> + *p++ = i;
> + *p++ = 0;
> + *p++ = bxcr & EBC_BXCR_BAS_MASK;
> + *p++ = EBC_BXCR_BANK_SIZE(bxcr);
> + }
> + }
This is a copy from cpu/ppc4xx/fdt.c. I suggest you just call
__ft_board_setup() and just additionally fixup the canyonlands specifics to
not duplicate this code.
Thanks.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
More information about the U-Boot
mailing list