Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxx
This commit is contained in:
commit
4e78e0317d
|
@ -23,6 +23,10 @@
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static int eeprom_diag;
|
||||||
|
static int mac_diag;
|
||||||
|
static int gpio_diag;
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
static void gpio_configure(void)
|
static void gpio_configure(void)
|
||||||
|
@ -37,7 +41,7 @@ static void gpio_configure(void)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* out_be32(&gpioregs->gpdir, 0xC2293020);
|
* out_be32(&gpioregs->gpdir, 0xC2293020);
|
||||||
* workaround for a hardware affect: configure direction in pieces,
|
* workaround for a hardware effect: configure direction in pieces,
|
||||||
* setting all outputs at once drops the reset line too low and
|
* setting all outputs at once drops the reset line too low and
|
||||||
* makes us lose the MII connection (breaks ethernet for us)
|
* makes us lose the MII connection (breaks ethernet for us)
|
||||||
*/
|
*/
|
||||||
|
@ -126,8 +130,6 @@ static u32 gpio_querykbd(void)
|
||||||
|
|
||||||
/* excerpt from the recovery's hw_info.h */
|
/* excerpt from the recovery's hw_info.h */
|
||||||
|
|
||||||
static int eeprom_diag = 1;
|
|
||||||
|
|
||||||
struct __attribute__ ((__packed__)) eeprom_layout {
|
struct __attribute__ ((__packed__)) eeprom_layout {
|
||||||
char magic[3]; /** 'ifm' */
|
char magic[3]; /** 'ifm' */
|
||||||
u8 len[2]; /** content length without magic/len fields */
|
u8 len[2]; /** content length without magic/len fields */
|
||||||
|
@ -209,6 +211,7 @@ static int read_eeprom(void)
|
||||||
int mac_read_from_eeprom(void)
|
int mac_read_from_eeprom(void)
|
||||||
{
|
{
|
||||||
const u8 *mac;
|
const u8 *mac;
|
||||||
|
const char *mac_txt;
|
||||||
|
|
||||||
if (read_eeprom()) {
|
if (read_eeprom()) {
|
||||||
printf("I2C EEPROM read failed.\n");
|
printf("I2C EEPROM read failed.\n");
|
||||||
|
@ -230,8 +233,13 @@ int mac_read_from_eeprom(void)
|
||||||
|
|
||||||
if (mac && is_valid_ether_addr(mac)) {
|
if (mac && is_valid_ether_addr(mac)) {
|
||||||
eth_setenv_enetaddr("ethaddr", mac);
|
eth_setenv_enetaddr("ethaddr", mac);
|
||||||
printf("DIAG: %s() MAC value [%s]\n",
|
if (mac_diag) {
|
||||||
__func__, getenv("ethaddr"));
|
mac_txt = getenv("ethaddr");
|
||||||
|
if (mac_txt)
|
||||||
|
printf("DIAG: MAC value [%s]\n", mac_txt);
|
||||||
|
else
|
||||||
|
printf("DIAG: failed to setup MAC env\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -326,42 +334,38 @@ int misc_init_r(void)
|
||||||
gpio_configure();
|
gpio_configure();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* check the GPIO keyboard,
|
* enforce the start of the recovery system when
|
||||||
* enforced start of the recovery when
|
|
||||||
* - the appropriate keys were pressed
|
* - the appropriate keys were pressed
|
||||||
* - a previous installation was aborted or has failed
|
|
||||||
* - "some" external software told us to
|
* - "some" external software told us to
|
||||||
|
* - a previous installation was aborted or has failed
|
||||||
*/
|
*/
|
||||||
want_recovery = 0;
|
want_recovery = 0;
|
||||||
keys = gpio_querykbd();
|
keys = gpio_querykbd();
|
||||||
printf("GPIO keyboard status [0x%08X]\n", keys);
|
if (gpio_diag)
|
||||||
/* XXX insist in the _exact_ combination? */
|
printf("GPIO keyboard status [0x%02X]\n", keys);
|
||||||
if ((keys & GPIOKEY_BITS_RECOVERY) == GPIOKEY_BITS_RECOVERY) {
|
if ((keys & GPIOKEY_BITS_RECOVERY) == GPIOKEY_BITS_RECOVERY) {
|
||||||
printf("GPIO keyboard requested RECOVERY\n");
|
printf("detected recovery request (keyboard)\n");
|
||||||
/* XXX TODO
|
|
||||||
* refine the logic to detect the first keypress, and
|
|
||||||
* wait to recheck IF it was the recovery combination?
|
|
||||||
*/
|
|
||||||
want_recovery = 1;
|
|
||||||
}
|
|
||||||
s = getenv("install_in_progress");
|
|
||||||
if ((s != NULL) && (*s != '\0')) {
|
|
||||||
printf("previous installation aborted, running RECOVERY\n");
|
|
||||||
want_recovery = 1;
|
|
||||||
}
|
|
||||||
s = getenv("install_failed");
|
|
||||||
if ((s != NULL) && (*s != '\0')) {
|
|
||||||
printf("previous installation FAILED, running RECOVERY\n");
|
|
||||||
want_recovery = 1;
|
want_recovery = 1;
|
||||||
}
|
}
|
||||||
s = getenv("want_recovery");
|
s = getenv("want_recovery");
|
||||||
if ((s != NULL) && (*s != '\0')) {
|
if ((s != NULL) && (*s != '\0')) {
|
||||||
printf("running RECOVERY according to the request\n");
|
printf("detected recovery request (environment)\n");
|
||||||
want_recovery = 1;
|
want_recovery = 1;
|
||||||
}
|
}
|
||||||
|
s = getenv("install_in_progress");
|
||||||
if (want_recovery)
|
if ((s != NULL) && (*s != '\0')) {
|
||||||
|
printf("previous installation has not completed\n");
|
||||||
|
want_recovery = 1;
|
||||||
|
}
|
||||||
|
s = getenv("install_failed");
|
||||||
|
if ((s != NULL) && (*s != '\0')) {
|
||||||
|
printf("previous installation has failed\n");
|
||||||
|
want_recovery = 1;
|
||||||
|
}
|
||||||
|
if (want_recovery) {
|
||||||
|
printf("enforced start of the recovery system\n");
|
||||||
setenv("bootcmd", "run recovery");
|
setenv("bootcmd", "run recovery");
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* boot the recovery system without waiting; boot the
|
* boot the recovery system without waiting; boot the
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
#define CONFIG_SYS_MAX_RAM_SIZE 0x20000000
|
#define CONFIG_SYS_MAX_RAM_SIZE 0x20000000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DDR Controller Configuration XXX TODO
|
* DDR Controller Configuration
|
||||||
*
|
*
|
||||||
* SYS_CFG:
|
* SYS_CFG:
|
||||||
* [31:31] MDDRC Soft Reset: Diabled
|
* [31:31] MDDRC Soft Reset: Diabled
|
||||||
|
@ -265,7 +265,6 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CS related parameters
|
* CS related parameters
|
||||||
* TODO document these
|
|
||||||
*/
|
*/
|
||||||
/* CS0 Flash */
|
/* CS0 Flash */
|
||||||
#define CONFIG_SYS_CS0_CFG 0x00031110
|
#define CONFIG_SYS_CS0_CFG 0x00031110
|
||||||
|
@ -331,8 +330,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */
|
#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */
|
||||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
|
||||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
|
|
||||||
|
|
||||||
#define CONSOLE_FIFO_TX_SIZE FIFOC_PSC3_TX_SIZE
|
#define CONSOLE_FIFO_TX_SIZE FIFOC_PSC3_TX_SIZE
|
||||||
#define CONSOLE_FIFO_TX_ADDR FIFOC_PSC3_TX_ADDR
|
#define CONSOLE_FIFO_TX_ADDR FIFOC_PSC3_TX_ADDR
|
||||||
|
@ -497,30 +494,26 @@
|
||||||
#define CONFIG_ENV_OVERWRITE
|
#define CONFIG_ENV_OVERWRITE
|
||||||
#define CONFIG_TIMESTAMP
|
#define CONFIG_TIMESTAMP
|
||||||
|
|
||||||
#define CONFIG_HOSTNAME ac14xx
|
|
||||||
#define CONFIG_BOOTFILE "ac14xx/uImage"
|
|
||||||
#define CONFIG_ROOTPATH "/opt/eldk/ppc_6xx"
|
|
||||||
|
|
||||||
/* default load addr for tftp and bootm */
|
/* default load addr for tftp and bootm */
|
||||||
#define CONFIG_LOADADDR 400000
|
#define CONFIG_LOADADDR 400000
|
||||||
|
|
||||||
#define CONFIG_BOOTDELAY 2 /* -1 disables auto-boot */
|
#define CONFIG_BOOTDELAY 2 /* -1 disables auto-boot */
|
||||||
|
|
||||||
/* XXX TODO need to specify the builtin environment */
|
/* the builtin environment and standard greeting */
|
||||||
#define CONFIG_PREBOOT "echo;" \
|
#define CONFIG_PREBOOT "echo;" \
|
||||||
"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \
|
"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \
|
||||||
"echo"
|
"echo"
|
||||||
|
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS_DEVEL \
|
#define CONFIG_EXTRA_ENV_SETTINGS_DEVEL \
|
||||||
"muster_nr=00\0" \
|
"muster_nr=-00\0" \
|
||||||
"fromram=run ramargs addip addtty; " \
|
"fromram=run ramargs addip addtty; " \
|
||||||
"tftp ${fdt_addr_r} k6m2/ac14xx.dtb-${muster_nr}; " \
|
"tftp ${fdt_addr_r} ac14xx/ac14xx.dtb${muster_nr}; " \
|
||||||
"tftp ${kernel_addr_r} k6m2/uImage-${muster_nr}; " \
|
"tftp ${kernel_addr_r} ac14xx/uImage${muster_nr}; " \
|
||||||
"tftp ${ramdisk_addr_r} k6m2/uFS-${muster_nr}; " \
|
"tftp ${ramdisk_addr_r} ac14xx/uFS${muster_nr}; " \
|
||||||
"bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0" \
|
"bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0" \
|
||||||
"fromnfs=run nfsargs addip addtty; " \
|
"fromnfs=run nfsargs addip addtty; " \
|
||||||
"tftp ${fdt_addr_r} k6m2/ac14xx.dtb-${muster_nr}; " \
|
"tftp ${fdt_addr_r} ac14xx/ac14xx.dtb${muster_nr}; " \
|
||||||
"tftp ${kernel_addr_r} k6m2/uImage-${muster_nr}; " \
|
"tftp ${kernel_addr_r} ac14xx/uImage${muster_nr}; " \
|
||||||
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
|
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
|
||||||
"fromflash=run nfsargs addip addtty; " \
|
"fromflash=run nfsargs addip addtty; " \
|
||||||
"bootm fc020000 - fc000000\0" \
|
"bootm fc020000 - fc000000\0" \
|
||||||
|
@ -548,12 +541,11 @@
|
||||||
"u-boot=ac14xx/u-boot.bin\0" \
|
"u-boot=ac14xx/u-boot.bin\0" \
|
||||||
"bootfile=ac14xx/uImage\0" \
|
"bootfile=ac14xx/uImage\0" \
|
||||||
"fdtfile=ac14xx/ac14xx.dtb\0" \
|
"fdtfile=ac14xx/ac14xx.dtb\0" \
|
||||||
"rootpath=/opt/eldk/ppc_6xx\n" \
|
|
||||||
"netdev=eth0\0" \
|
"netdev=eth0\0" \
|
||||||
"consdev=ttyPSC0\0" \
|
"consdev=ttyPSC0\0" \
|
||||||
"hostname=ac14xx\0" \
|
"hostname=ac14xx\0" \
|
||||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||||
"nfsroot=${serverip}:${rootpath}-${muster_nr}\0" \
|
"nfsroot=${serverip}:${rootpath}${muster_nr}\0" \
|
||||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||||
"addip=setenv bootargs ${bootargs} " \
|
"addip=setenv bootargs ${bootargs} " \
|
||||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
|
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
|
||||||
|
@ -583,6 +575,8 @@
|
||||||
|
|
||||||
#define CONFIG_BOOTCOMMAND "run production"
|
#define CONFIG_BOOTCOMMAND "run production"
|
||||||
|
|
||||||
|
#define CONFIG_ARP_TIMEOUT 200UL
|
||||||
|
|
||||||
#define CONFIG_FIT 1
|
#define CONFIG_FIT 1
|
||||||
#define CONFIG_OF_LIBFDT 1
|
#define CONFIG_OF_LIBFDT 1
|
||||||
#define CONFIG_OF_BOARD_SETUP 1
|
#define CONFIG_OF_BOARD_SETUP 1
|
||||||
|
|
Loading…
Reference in New Issue