diff options
author | Timothy Pearson <tpearson@raptorengineering.com> | 2019-05-11 15:12:49 -0500 |
---|---|---|
committer | Timothy Pearson <tpearson@raptorengineering.com> | 2019-05-11 15:12:49 -0500 |
commit | 9e80202352dd49bdd9e67b8b906d86f058431505 (patch) | |
tree | 5673c17aad6e3833da8c4ff21b5a11f666ec9fbe /src/roms/u-boot/board/amcc/bubinga/bubinga.c | |
download | hqemu-master.zip hqemu-master.tar.gz |
Diffstat (limited to 'src/roms/u-boot/board/amcc/bubinga/bubinga.c')
-rw-r--r-- | src/roms/u-boot/board/amcc/bubinga/bubinga.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/roms/u-boot/board/amcc/bubinga/bubinga.c b/src/roms/u-boot/board/amcc/bubinga/bubinga.c new file mode 100644 index 0000000..5c1e071 --- /dev/null +++ b/src/roms/u-boot/board/amcc/bubinga/bubinga.c @@ -0,0 +1,64 @@ +/* + * (C) Copyright 2000-2005 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <asm/processor.h> +#include <asm/io.h> + +long int spd_sdram(void); + +int board_early_init_f(void) +{ + mtdcr(UIC0SR, 0xFFFFFFFF); /* clear all ints */ + mtdcr(UIC0ER, 0x00000000); /* disable all ints */ + mtdcr(UIC0CR, 0x00000010); + mtdcr(UIC0PR, 0xFFFF7FF0); /* set int polarities */ + mtdcr(UIC0TR, 0x00000010); /* set int trigger levels */ + mtdcr(UIC0SR, 0xFFFFFFFF); /* clear all ints */ + + /* + * Configure CPC0_PCI to enable PerWE as output + * and enable the internal PCI arbiter if selected + */ + if (in_8((void *)FPGA_REG1) & FPGA_REG1_PCI_INT_ARB) + mtdcr(CPC0_PCI, CPC0_PCI_HOST_CFG_EN | CPC0_PCI_ARBIT_EN); + else + mtdcr(CPC0_PCI, CPC0_PCI_HOST_CFG_EN); + + return 0; +} + +/* + * Check Board Identity: + */ +int checkboard(void) +{ + char buf[64]; + int i = getenv_f("serial#", buf, sizeof(buf)); + + puts("Board: Bubinga - AMCC PPC405EP Evaluation Board"); + + if (i > 0) { + puts(", serial# "); + puts(buf); + } + putc('\n'); + + return (0); +} + +/* ------------------------------------------------------------------------- + initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of + the necessary info for SDRAM controller configuration + ------------------------------------------------------------------------- */ +phys_size_t initdram(int board_type) +{ + long int ret; + + ret = spd_sdram(); + return ret; +} |