mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-10 12:39:22 -04:00
ppc4xx: Update and add FDT to Korat board support
Signed-off-by: Larry Johnson <lrj@acm.org> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
ac5ba41c22
commit
47ce4a28cc
@ -26,12 +26,15 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
#include <fdt_support.h>
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
|
#include <libfdt.h>
|
||||||
#include <ppc440.h>
|
#include <ppc440.h>
|
||||||
#include <asm/gpio.h>
|
|
||||||
#include <asm/processor.h>
|
|
||||||
#include <asm/io.h>
|
|
||||||
#include <asm/bitops.h>
|
#include <asm/bitops.h>
|
||||||
|
#include <asm/gpio.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/ppc4xx-intvec.h>
|
||||||
|
#include <asm/processor.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
@ -604,6 +607,16 @@ int testdram(void)
|
|||||||
}
|
}
|
||||||
#endif /* defined(CFG_DRAM_TEST) */
|
#endif /* defined(CFG_DRAM_TEST) */
|
||||||
|
|
||||||
|
#if defined(CONFIG_PCI) && defined(CONFIG_PCI_PNP)
|
||||||
|
/*
|
||||||
|
* Assign interrupts to PCI devices.
|
||||||
|
*/
|
||||||
|
void korat_pci_fixup_irq(struct pci_controller *hose, pci_dev_t dev)
|
||||||
|
{
|
||||||
|
pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE, VECNUM_EIR2);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pci_pre_init
|
* pci_pre_init
|
||||||
*
|
*
|
||||||
@ -654,6 +667,10 @@ int pci_pre_init(struct pci_controller *hose)
|
|||||||
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep;
|
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep;
|
||||||
mtdcr(plb1_acr, addr);
|
mtdcr(plb1_acr, addr);
|
||||||
|
|
||||||
|
#if defined(CONFIG_PCI_PNP)
|
||||||
|
hose->fixup_irq = korat_pci_fixup_irq;
|
||||||
|
#endif
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif /* defined(CONFIG_PCI) */
|
#endif /* defined(CONFIG_PCI) */
|
||||||
@ -779,3 +796,24 @@ int post_hotkeys_pressed(void)
|
|||||||
return 0; /* No hotkeys supported */
|
return 0; /* No hotkeys supported */
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_POST */
|
#endif /* CONFIG_POST */
|
||||||
|
|
||||||
|
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
|
||||||
|
void ft_board_setup(void *blob, bd_t *bd)
|
||||||
|
{
|
||||||
|
u32 val[4];
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
ft_cpu_setup(blob, bd);
|
||||||
|
|
||||||
|
/* Fixup NOR mapping */
|
||||||
|
val[0] = 1; /* chip select number */
|
||||||
|
val[1] = 0; /* always 0 */
|
||||||
|
val[2] = gd->bd->bi_flashstart;
|
||||||
|
val[3] = gd->bd->bi_flashsize - CFG_FLASH0_SIZE;
|
||||||
|
rc = fdt_find_and_setprop(blob, "/plb/opb/ebc", "ranges",
|
||||||
|
val, sizeof(val), 1);
|
||||||
|
if (rc)
|
||||||
|
printf("Unable to update property NOR mapping, err=%s\n",
|
||||||
|
fdt_strerror(rc));
|
||||||
|
}
|
||||||
|
#endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */
|
||||||
|
@ -548,4 +548,8 @@
|
|||||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Pass open firmware flat tree */
|
||||||
|
#define CONFIG_OF_LIBFDT 1
|
||||||
|
#define CONFIG_OF_BOARD_SETUP 1
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user