* Patches by Jon Diekema, 15 Sep 2003:
- add description for missing CFG_CMD_* entries in the README file - sacsng tweaks: include/configs/sacsng.h: + Support extra bootp options like: 2nd DNS and send hostname + Enabling ping and irq command + Adding defines for a bunch of misc configrabled options (patches for these options will be coming) + Adding watchdog support, but it isn't enabled yet. board/sacsng/sacsng.c: + Suppressing unneeded output when the quiet environment is non-zero. + show_boot_progress() now accepts any negative number as a failure code. + show_boot_progress() flashes the error code 5 times, and then resets the board to retry the boot from the top * Patch by Gleb Natapov, 14 Sep 2003: enable watchdog support for all MPC824x boards that have a watchdog
This commit is contained in:
parent
35656de729
commit
78137c3c93
@ -2,6 +2,10 @@
|
||||
Changes for U-Boot 1.0.0:
|
||||
======================================================================
|
||||
|
||||
* Patches by Jon Diekema, 15 Sep 2003:
|
||||
- add description for missing CFG_CMD_* entries in the README file
|
||||
- sacsng tweaks
|
||||
|
||||
* Patch by Gleb Natapov, 14 Sep 2003:
|
||||
enable watchdog support for all MPC824x boards that have a watchdog
|
||||
|
||||
|
15
README
15
README
@ -573,13 +573,18 @@ The following options need to be configured:
|
||||
#define enables commands:
|
||||
-------------------------
|
||||
CFG_CMD_ASKENV * ask for env variable
|
||||
CFG_CMD_AUTOSCRIPT Autoscript Support
|
||||
CFG_CMD_BDI bdinfo
|
||||
CFG_CMD_BEDBUG Include BedBug Debugger
|
||||
CFG_CMD_BMP * BMP support
|
||||
CFG_CMD_BOOTD bootd
|
||||
CFG_CMD_CACHE icache, dcache
|
||||
CFG_CMD_CONSOLE coninfo
|
||||
CFG_CMD_DATE * support for RTC, date/time...
|
||||
CFG_CMD_DHCP DHCP support
|
||||
CFG_CMD_DIAG * Diagnostics
|
||||
CFG_CMD_DOC * Disk-On-Chip Support
|
||||
CFG_CMD_DTT Digital Therm and Thermostat
|
||||
CFG_CMD_ECHO * echo arguments
|
||||
CFG_CMD_EEPROM * EEPROM read/write support
|
||||
CFG_CMD_ELF bootelf, bootvx
|
||||
@ -589,27 +594,37 @@ The following options need to be configured:
|
||||
CFG_CMD_FDOS * Dos diskette Support
|
||||
CFG_CMD_FLASH flinfo, erase, protect
|
||||
CFG_CMD_FPGA FPGA device initialization support
|
||||
CFG_CMD_HWFLOW * RTS/CTS hw flow control
|
||||
CFG_CMD_I2C * I2C serial bus support
|
||||
CFG_CMD_IDE * IDE harddisk support
|
||||
CFG_CMD_IMI iminfo
|
||||
CFG_CMD_IMLS List all found images
|
||||
CFG_CMD_IMMAP * IMMR dump support
|
||||
CFG_CMD_IRQ * irqinfo
|
||||
CFG_CMD_JFFS2 * JFFS2 Support
|
||||
CFG_CMD_KGDB * kgdb
|
||||
CFG_CMD_LOADB loadb
|
||||
CFG_CMD_LOADS loads
|
||||
CFG_CMD_MEMORY md, mm, nm, mw, cp, cmp, crc, base,
|
||||
loop, mtest
|
||||
CFG_CMD_MISC Misc functions like sleep etc
|
||||
CFG_CMD_MMC MMC memory mapped support
|
||||
CFG_CMD_MII MII utility commands
|
||||
CFG_CMD_NAND * NAND support
|
||||
CFG_CMD_NET bootp, tftpboot, rarpboot
|
||||
CFG_CMD_PCI * pciinfo
|
||||
CFG_CMD_PCMCIA * PCMCIA support
|
||||
CFG_CMD_PING * send ICMP ECHO_REQUEST to network host
|
||||
CFG_CMD_PORTIO Port I/O
|
||||
CFG_CMD_REGINFO * Register dump
|
||||
CFG_CMD_RUN run command in env variable
|
||||
CFG_CMD_SAVES save S record dump
|
||||
CFG_CMD_SCSI * SCSI Support
|
||||
CFG_CMD_SDRAM * print SDRAM configuration information
|
||||
CFG_CMD_SETGETDCR Support for DCR Register access (4xx only)
|
||||
CFG_CMD_SPI * SPI serial bus support
|
||||
CFG_CMD_USB * USB support
|
||||
CFG_CMD_VFD * VFD support (TRAB)
|
||||
CFG_CMD_BSP * Board SPecific functions
|
||||
-----------------------------------------------
|
||||
CFG_CMD_ALL all
|
||||
|
@ -28,11 +28,18 @@
|
||||
#include <mpc8260.h>
|
||||
#include <i2c.h>
|
||||
#include <spi.h>
|
||||
#include <command.h>
|
||||
|
||||
#ifdef CONFIG_SHOW_BOOT_PROGRESS
|
||||
#include <status_led.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ETHER_LOOPBACK_TEST
|
||||
extern void eth_loopback_test(void);
|
||||
#endif /* CONFIG_ETHER_LOOPBACK_TEST */
|
||||
|
||||
extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||
|
||||
#include "clkinit.h"
|
||||
#include "ioconfig.h" /* I/O configuration table */
|
||||
|
||||
@ -243,15 +250,15 @@ long int initdram(int board_type)
|
||||
|
||||
/* We don't trust CL less than 2 (only saw it on an old 16MByte DIMM) */
|
||||
if(caslatency < 2) {
|
||||
printf("CL was %d, forcing to 2\n", caslatency);
|
||||
printf("WARNING: CL was %d, forcing to 2\n", caslatency);
|
||||
caslatency = 2;
|
||||
}
|
||||
if(rows > 14) {
|
||||
printf("This doesn't look good, rows = %d, should be <= 14\n", rows);
|
||||
printf("WARNING: This doesn't look good, rows = %d, should be <= 14\n", rows);
|
||||
rows = 14;
|
||||
}
|
||||
if(cols > 11) {
|
||||
printf("This doesn't look good, columns = %d, should be <= 11\n", cols);
|
||||
printf("WARNING: This doesn't look good, columns = %d, should be <= 11\n", cols);
|
||||
cols = 11;
|
||||
}
|
||||
|
||||
@ -450,6 +457,15 @@ int misc_init_r(void)
|
||||
int sample_128x; /* Use 128/4 clocking for the ADC/DAC */
|
||||
int right_just; /* Is the data to the DAC right justified? */
|
||||
int mclk_divide; /* MCLK Divide */
|
||||
int quiet; /* Quiet or minimal output mode */
|
||||
|
||||
quiet = 0;
|
||||
if ((ep = getenv("quiet")) != NULL) {
|
||||
quiet = simple_strtol(ep, NULL, 10);
|
||||
}
|
||||
else {
|
||||
setenv("quiet", "0");
|
||||
}
|
||||
|
||||
/*
|
||||
* SACSng custom initialization:
|
||||
@ -517,8 +533,12 @@ int misc_init_r(void)
|
||||
setenv("Daq128xSampling", "1");
|
||||
}
|
||||
|
||||
/* Display the ADC/DAC clocking information */
|
||||
Daq_Display_Clocks();
|
||||
/*
|
||||
* Display the ADC/DAC clocking information
|
||||
*/
|
||||
if (!quiet) {
|
||||
Daq_Display_Clocks();
|
||||
}
|
||||
|
||||
/*
|
||||
* Determine the DAC data justification
|
||||
@ -552,8 +572,10 @@ int misc_init_r(void)
|
||||
* 3) Write the I2C address to register 6
|
||||
* 4) Enable address matching by setting the MSB in register 7
|
||||
*/
|
||||
|
||||
printf("Initializing the ADC...\n");
|
||||
|
||||
if (!quiet) {
|
||||
printf("Initializing the ADC...\n");
|
||||
}
|
||||
udelay(ADC_INITIAL_DELAY); /* 10uSec per uF of VREF cap */
|
||||
|
||||
iopa->pdat &= ~ADC_SDATA1_MASK; /* release SDATA1 */
|
||||
@ -615,7 +637,9 @@ int misc_init_r(void)
|
||||
* sending an I2C "start" sequence. When we bring the I2C back to
|
||||
* the normal state, we send an I2C "stop" sequence.
|
||||
*/
|
||||
printf("Initializing the DAC...\n");
|
||||
if (!quiet) {
|
||||
printf("Initializing the DAC...\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Bring the I2C clock and data lines low for initialization
|
||||
@ -695,7 +719,16 @@ int misc_init_r(void)
|
||||
I2C_DELAY;
|
||||
I2C_TRISTATE;
|
||||
|
||||
printf("\n");
|
||||
if (!quiet) {
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ETHER_LOOPBACK_TEST
|
||||
/*
|
||||
* Run the Ethernet loopback test
|
||||
*/
|
||||
eth_loopback_test ();
|
||||
#endif /* CONFIG_ETHER_LOOPBACK_TEST */
|
||||
|
||||
#ifdef CONFIG_SHOW_BOOT_PROGRESS
|
||||
/*
|
||||
@ -758,17 +791,44 @@ static int last_boot_progress;
|
||||
|
||||
void show_boot_progress (int status)
|
||||
{
|
||||
if(status != -1) {
|
||||
int i,j;
|
||||
if(status > 0) {
|
||||
last_boot_progress = status;
|
||||
} else {
|
||||
/*
|
||||
* Houston, we have a problem. Blink the last OK status which
|
||||
* indicates where things failed.
|
||||
/*
|
||||
* If a specific failure code is given, flash this code
|
||||
* else just use the last success code we've seen
|
||||
*/
|
||||
status_led_set(STATUS_LED_RED, STATUS_LED_ON);
|
||||
flash_code(last_boot_progress, 5, 3);
|
||||
udelay(1000000);
|
||||
status_led_set(STATUS_LED_RED, STATUS_LED_BLINKING);
|
||||
if(status < -1)
|
||||
last_boot_progress = -status;
|
||||
|
||||
/*
|
||||
* Flash this code 5 times
|
||||
*/
|
||||
for(j=0; j<5; j++) {
|
||||
/*
|
||||
* Houston, we have a problem.
|
||||
* Blink the last OK status which indicates where things failed.
|
||||
*/
|
||||
status_led_set(STATUS_LED_RED, STATUS_LED_ON);
|
||||
flash_code(last_boot_progress, 5, 3);
|
||||
|
||||
/*
|
||||
* Delay 5 seconds between repetitions,
|
||||
* with the fault LED blinking
|
||||
*/
|
||||
for(i=0; i<5; i++) {
|
||||
status_led_set(STATUS_LED_RED, STATUS_LED_OFF);
|
||||
udelay(500000);
|
||||
status_led_set(STATUS_LED_RED, STATUS_LED_ON);
|
||||
udelay(500000);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Reset the board to retry initialization.
|
||||
*/
|
||||
do_reset (NULL, 0, 0, NULL);
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_SHOW_BOOT_PROGRESS */
|
||||
|
@ -35,10 +35,11 @@
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/* Enable debug prints */
|
||||
#undef DEBUG /* General debug */
|
||||
#undef DEBUG_BOOTP_EXT /* Debug received vendor fields */
|
||||
|
||||
#undef CONFIG_LOGBUFFER /* External logbuffer support */
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* These settings must match the way _your_ board is set up
|
||||
@ -172,6 +173,7 @@
|
||||
|
||||
#ifdef CONFIG_ETHER_ON_FCC
|
||||
#define CONFIG_ETHER_INDEX 2 /* which SCC/FCC channel for ethernet */
|
||||
#undef CONFIG_ETHER_LOOPBACK_TEST /* Ethernet external loopback test */
|
||||
#define CONFIG_MII /* MII PHY management */
|
||||
#define CONFIG_BITBANGMII /* bit-bang MII PHY management */
|
||||
/*
|
||||
@ -318,10 +320,12 @@
|
||||
* will be part of the default enviroment compiled into the boot image.
|
||||
*/
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"serverip=192.168.123.201\0" \
|
||||
"quiet=0\0" \
|
||||
"serverip=192.168.123.205\0" \
|
||||
"ipaddr=192.168.123.203\0" \
|
||||
"checkhostname=VR8500\0" \
|
||||
"reprog="\
|
||||
"bootp; " \
|
||||
"tftpboot 0x140000 /bdi2000/u-boot.bin; " \
|
||||
"protect off 60000000 6003FFFF; " \
|
||||
"erase 60000000 6003FFFF; " \
|
||||
@ -405,7 +409,7 @@
|
||||
"adc-12=echo ### ADC-12 ; imd.b e 81 e\0" \
|
||||
"adc-34=echo ### ADC-34 ; imd.b f 81 e\0" \
|
||||
"dac=echo ### DAC ; imd.b 11 81 5\0" \
|
||||
"boot-hook=run ana\0"
|
||||
"boot-hook=echo\0"
|
||||
|
||||
/* What should the console's baud rate be? */
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
@ -466,15 +470,16 @@
|
||||
|
||||
#define CONFIG_BOOTP_RANDOM_DELAY /* Randomize the BOOTP retry delay */
|
||||
|
||||
#define CONFIG_BOOTP_RETRY_COUNT 0x40000000 /* # of timeouts before giving up */
|
||||
|
||||
/* Add support for a few extra bootp options like:
|
||||
* - File size
|
||||
* - DNS
|
||||
* - DNS (up to 2 servers)
|
||||
* - Send hostname to DHCP server
|
||||
*/
|
||||
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
|
||||
CONFIG_BOOTP_BOOTFILESIZE | \
|
||||
CONFIG_BOOTP_DNS)
|
||||
CONFIG_BOOTP_DNS | \
|
||||
CONFIG_BOOTP_DNS2 | \
|
||||
CONFIG_BOOTP_SEND_HOSTNAME)
|
||||
|
||||
/* undef this to save memory */
|
||||
#define CFG_LONGHELP
|
||||
@ -492,6 +497,11 @@
|
||||
*/
|
||||
#define CONFIG_TIMESTAMP
|
||||
|
||||
/* If this variable is defined, an environment variable named "ver"
|
||||
* is created by U-Boot showing the U-Boot version.
|
||||
*/
|
||||
#define CONFIG_VERSION_VARIABLE
|
||||
|
||||
/* What U-Boot subsytems do you want enabled? */
|
||||
#ifdef CONFIG_ETHER_ON_FCC
|
||||
# define CONFIG_COMMANDS (((CONFIG_CMD_DFL & ~(CFG_CMD_KGDB))) | \
|
||||
@ -503,6 +513,8 @@
|
||||
CFG_CMD_SDRAM | \
|
||||
CFG_CMD_REGINFO | \
|
||||
CFG_CMD_IMMAP | \
|
||||
CFG_CMD_IRQ | \
|
||||
CFG_CMD_PING | \
|
||||
CFG_CMD_MII )
|
||||
#else
|
||||
# define CONFIG_COMMANDS (((CONFIG_CMD_DFL & ~(CFG_CMD_KGDB))) | \
|
||||
@ -513,12 +525,16 @@
|
||||
CFG_CMD_SPI | \
|
||||
CFG_CMD_SDRAM | \
|
||||
CFG_CMD_REGINFO | \
|
||||
CFG_CMD_IMMAP )
|
||||
CFG_CMD_IMMAP | \
|
||||
CFG_CMD_IRQ | \
|
||||
CFG_CMD_PING )
|
||||
#endif /* CONFIG_ETHER_ON_FCC */
|
||||
|
||||
/* Where do the internal registers live? */
|
||||
#define CFG_IMMR 0xF0000000
|
||||
|
||||
#undef CONFIG_WATCHDOG /* disable the watchdog */
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* You should not have to modify any of the following settings
|
||||
@ -532,9 +548,48 @@
|
||||
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
|
||||
#include <cmd_confdefs.h>
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CFG_BOOTM_HEADER_QUIET 1 /* Suppress the image header dump */
|
||||
/* in the bootm command. */
|
||||
#define CFG_BOOTM_PROGESS_QUIET 1 /* Suppress the progress displays, */
|
||||
/* "## <message>" from the bootm cmd */
|
||||
#define CFG_BOOTP_CHECK_HOSTNAME 1 /* If checkhostname environment is */
|
||||
/* defined, then the hostname param */
|
||||
/* validated against checkhostname. */
|
||||
#define CFG_BOOTP_RETRY_COUNT 0x40000000 /* # of timeouts before giving up */
|
||||
#define CFG_BOOTP_SHORT_RANDOM_DELAY 1 /* Use a short random delay value */
|
||||
/* (limited to maximum of 1024 msec) */
|
||||
#define CFG_CHK_FOR_ABORT_AT_LEAST_ONCE 1
|
||||
/* Check for abort key presses */
|
||||
/* at least once in dependent of the */
|
||||
/* CONFIG_BOOTDELAY value. */
|
||||
#define CFG_CONSOLE_INFO_QUIET 1 /* Don't print console @ startup */
|
||||
#define CFG_FAULT_ECHO_LINK_DOWN 1 /* Echo the inverted Ethernet link */
|
||||
/* state to the fault LED. */
|
||||
#define CFG_FAULT_MII_ADDR 0x02 /* MII addr of the PHY to check for */
|
||||
/* the Ethernet link state. */
|
||||
#define CFG_STATUS_FLASH_UNTIL_TFTP_OK 1 /* Keeping the status LED flashing */
|
||||
/* until the TFTP is successful. */
|
||||
#define CFG_STATUS_OFF_AFTER_NETBOOT 1 /* After a successful netboot, */
|
||||
/* turn off the STATUS LEDs. */
|
||||
#define CFG_TFTP_BLINK_STATUS_ON_DATA_IN 1 /* Blink status LED based on */
|
||||
/* incoming data. */
|
||||
#define CFG_TFTP_BLOCKS_PER_HASH 100 /* For every XX blocks, output a '#' */
|
||||
/* to signify that tftp is moving. */
|
||||
#define CFG_TFTP_HASHES_PER_FLASH 200 /* For every '#' hashes, */
|
||||
/* flash the status LED. */
|
||||
#define CFG_TFTP_HASHES_PER_LINE 65 /* Only output XX '#'s per line */
|
||||
/* during the tftp file transfer. */
|
||||
#define CFG_TFTP_PROGESS_QUIET 1 /* Suppress the progress displays */
|
||||
/* '#'s from the tftp command. */
|
||||
#define CFG_TFTP_STATUS_QUIET 1 /* Suppress the status displays */
|
||||
/* issued during the tftp command. */
|
||||
#define CFG_TFTP_TIMEOUT_COUNT 5 /* How many timeouts TFTP will allow */
|
||||
/* before it gives up. */
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
|
||||
# define CFG_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
@ -734,12 +789,22 @@
|
||||
*-----------------------------------------------------------------------
|
||||
* Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
#define CFG_SYPCR (SYPCR_SWTC |\
|
||||
SYPCR_BMT |\
|
||||
SYPCR_PBME |\
|
||||
SYPCR_LBME |\
|
||||
SYPCR_SWRI |\
|
||||
SYPCR_SWP |\
|
||||
SYPCR_SWE)
|
||||
#else
|
||||
#define CFG_SYPCR (SYPCR_SWTC |\
|
||||
SYPCR_BMT |\
|
||||
SYPCR_PBME |\
|
||||
SYPCR_LBME |\
|
||||
SYPCR_SWRI |\
|
||||
SYPCR_SWP)
|
||||
#endif /* CONFIG_WATCHDOG */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TMCNTSC - Time Counter Status and Control 4-40
|
||||
|
Loading…
Reference in New Issue
Block a user