mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-03 10:17:21 +00:00
TQM85xx: Support for Flat Device Tree
This patch adds support for Linux kernels using the Flat Device Tree. It also re-defines the default environment settings for booting Linux with the FDT blob. Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
This commit is contained in:
parent
d9ee843d54
commit
2599135320
3 changed files with 64 additions and 13 deletions
3
Makefile
3
Makefile
|
@ -2238,8 +2238,7 @@ TQM8560_config: unconfig
|
||||||
echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \
|
echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \
|
||||||
echo "#define CONFIG_TQM$${CTYPE}">>$(obj)include/config.h; \
|
echo "#define CONFIG_TQM$${CTYPE}">>$(obj)include/config.h; \
|
||||||
echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \
|
echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \
|
||||||
echo "#define CONFIG_BOARDNAME \"TQM$${CTYPE}\"">>$(obj)include/config.h; \
|
echo "#define CONFIG_BOARDNAME \"TQM$${CTYPE}\"">>$(obj)include/config.h;
|
||||||
echo "#define CFG_BOOTFILE_PATH \"/tftpboot/tqm$${CTYPE}/uImage\"">>$(obj)include/config.h
|
|
||||||
@$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx tqc
|
@$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx tqc
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <ioports.h>
|
#include <ioports.h>
|
||||||
#include <flash.h>
|
#include <flash.h>
|
||||||
|
#include <libfdt.h>
|
||||||
|
#include <fdt_support.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -479,6 +481,28 @@ void pci_init_board (void)
|
||||||
#endif /* CONFIG_PCI */
|
#endif /* CONFIG_PCI */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(CONFIG_OF_BOARD_SETUP)
|
||||||
|
void ft_board_setup (void *blob, bd_t *bd)
|
||||||
|
{
|
||||||
|
int node, tmp[2];
|
||||||
|
const char *path;
|
||||||
|
|
||||||
|
ft_cpu_setup (blob, bd);
|
||||||
|
|
||||||
|
node = fdt_path_offset (blob, "/aliases");
|
||||||
|
tmp[0] = 0;
|
||||||
|
if (node >= 0) {
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
path = fdt_getprop (blob, node, "pci0", NULL);
|
||||||
|
if (path) {
|
||||||
|
tmp[1] = hose.last_busno - hose.first_busno;
|
||||||
|
do_fixup_by_path (blob, path, "bus-range", &tmp, 8, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BOARD_EARLY_INIT_R
|
#ifdef CONFIG_BOARD_EARLY_INIT_R
|
||||||
int board_early_init_r (void)
|
int board_early_init_r (void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -201,6 +201,11 @@
|
||||||
#define CFG_PROMPT_HUSH_PS2 "> "
|
#define CFG_PROMPT_HUSH_PS2 "> "
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* pass open firmware flat tree */
|
||||||
|
#define CONFIG_OF_LIBFDT 1
|
||||||
|
#define CONFIG_OF_BOARD_SETUP 1
|
||||||
|
#define CONFIG_OF_STDOUT_VIA_ALIAS 1
|
||||||
|
|
||||||
/* CAN */
|
/* CAN */
|
||||||
#ifdef CONFIG_CAN_DRIVER
|
#ifdef CONFIG_CAN_DRIVER
|
||||||
#define CFG_CAN_BASE 0xE3000000 /* CAN base address */
|
#define CFG_CAN_BASE 0xE3000000 /* CAN base address */
|
||||||
|
@ -463,10 +468,26 @@
|
||||||
|
|
||||||
#undef CONFIG_BOOTARGS /* the boot command will set bootargs */
|
#undef CONFIG_BOOTARGS /* the boot command will set bootargs */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Setup some board specific values for the default environment variables
|
||||||
|
*/
|
||||||
|
#ifdef CONFIG_CPM2
|
||||||
|
#define CFG_ENV_CONSDEV "consdev=ttyCPM0\0"
|
||||||
|
#else
|
||||||
|
#define CFG_ENV_CONSDEV "consdev=ttyS0\0"
|
||||||
|
#endif
|
||||||
|
#define CFG_ENV_FDT_FILE "fdt_file="MK_STR(CONFIG_HOSTNAME)"/" \
|
||||||
|
MK_STR(CONFIG_HOSTNAME)".dtb\0"
|
||||||
|
#define CFG_ENV_BOOTFILE "bootfile="MK_STR(CONFIG_HOSTNAME)"/uImage\0"
|
||||||
|
#define CFG_ENV_UBOOT "uboot="MK_STR(CONFIG_HOSTNAME)"/u-boot.bin\0" \
|
||||||
|
"uboot_addr="MK_STR(TEXT_BASE)"\0"
|
||||||
|
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
"bootfile="CFG_BOOTFILE_PATH"\0" \
|
CFG_ENV_BOOTFILE \
|
||||||
|
CFG_ENV_FDT_FILE \
|
||||||
|
CFG_ENV_CONSDEV \
|
||||||
"netdev=eth0\0" \
|
"netdev=eth0\0" \
|
||||||
"consdev=ttyS0\0" \
|
|
||||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||||
"nfsroot=$serverip:$rootpath\0" \
|
"nfsroot=$serverip:$rootpath\0" \
|
||||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||||
|
@ -476,17 +497,24 @@
|
||||||
"addcons=setenv bootargs $bootargs " \
|
"addcons=setenv bootargs $bootargs " \
|
||||||
"console=$consdev,$baudrate\0" \
|
"console=$consdev,$baudrate\0" \
|
||||||
"flash_nfs=run nfsargs addip addcons;" \
|
"flash_nfs=run nfsargs addip addcons;" \
|
||||||
"bootm $kernel_addr\0" \
|
"bootm $kernel_addr - $fdt_addr\0" \
|
||||||
"flash_self=run ramargs addip addcons;" \
|
"flash_self=run ramargs addip addcons;" \
|
||||||
"bootm $kernel_addr $ramdisk_addr\0" \
|
"bootm $kernel_addr $ramdisk_addr $fdt_addr\0" \
|
||||||
"net_nfs=tftp $loadaddr $bootfile;" \
|
"net_nfs=tftp $kernel_addr_r $bootfile;" \
|
||||||
"run nfsargs addip addcons;bootm\0" \
|
"tftp $fdt_addr_r $fdt_file;" \
|
||||||
|
"run nfsargs addip addcons;" \
|
||||||
|
"bootm $kernel_addr_r - $fdt_addr_r\0" \
|
||||||
"rootpath=/opt/eldk/ppc_85xx\0" \
|
"rootpath=/opt/eldk/ppc_85xx\0" \
|
||||||
"kernel_addr=FE000000\0" \
|
"fdt_addr_r=900000\0" \
|
||||||
"ramdisk_addr=FE180000\0" \
|
"kernel_addr_r=1000000\0" \
|
||||||
"load=tftp 100000 /tftpboot/$hostname/u-boot.bin\0" \
|
"fdt_addr=ffec0000\0" \
|
||||||
"update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;" \
|
"kernel_addr=ffd00000\0" \
|
||||||
"cp.b 100000 fffc0000 40000;" \
|
"ramdisk_addr=ff800000\0" \
|
||||||
|
CFG_ENV_UBOOT \
|
||||||
|
"load=tftp 100000 $uboot\0" \
|
||||||
|
"update=protect off $uboot_addr +$filesize;" \
|
||||||
|
"erase $uboot_addr +$filesize;" \
|
||||||
|
"cp.b 100000 $uboot_addr $filesize;" \
|
||||||
"setenv filesize;saveenv\0" \
|
"setenv filesize;saveenv\0" \
|
||||||
"upd=run load update\0" \
|
"upd=run load update\0" \
|
||||||
""
|
""
|
||||||
|
|
Loading…
Add table
Reference in a new issue