| U-Boot Changes due to PIP405 Port: | 
 | =================================== | 
 |  | 
 | Changed files: | 
 | ============== | 
 | - MAKEALL			added PIP405 | 
 | - makefile			added PIP405 | 
 | - common/Makefile		added Floppy disk and SCSI support | 
 | - common/board.c		added PIP405, SCSI support, get_PCI_freq() | 
 | - common/bootm.c		added IH_OS_U_BOOT, IH_TYPE_FIRMWARE | 
 | - common/cmd_i2c.c		added "defined(CONFIG_PIP405)" | 
 | - common/cmd_ide.c		changed div. functions to work with block device | 
 | 				description | 
 | 				added ATAPI support | 
 | - common/command.c		added SCSI and Floppy support | 
 | - common/console.c		replaced // with /* comments | 
 | 				added console settings from environment | 
 | - common/devices.c		added ISA keyboard init | 
 | - common/main.c			corrected the read of bootdelay | 
 | - arch/powerpc/cpu/ppc4xx/405gp_pci.c	excluded file from PIP405 | 
 | - arch/powerpc/cpu/ppc4xx/i2c.c		added 16bit read write I2C support | 
 | 				added page write | 
 | - arch/powerpc/cpu/ppc4xx/speed.c		added get_PCI_freq | 
 | - arch/powerpc/cpu/ppc4xx/start.S		added CONFIG_IDENT_STRING | 
 | - disk/Makefile			added part_iso for CD support | 
 | - disk/part.c			changed to work with block device description | 
 | 				added ISO CD support | 
 | 				added dev_print (was ide_print in cmd_ide.c) | 
 | - disk/part_dos.c		changed to work with block device description | 
 | - disk/part_mac.c		changed to work with block device description | 
 | - include/ata.h			added ATAPI commands | 
 | - include/cmd_bsp.h		added PIP405 commands definitions | 
 | - include/cmd_condefs.h		added Floppy and SCSI support | 
 | - include/cmd_disk.h		changed to work with block device description | 
 | - include/config_LANTEC.h	excluded CONFIG_CMD_FDC and CONFIG_CMD_SCSI | 
 | - include/config_hymod.h	excluded CONFIG_CMD_FDC and CONFIG_CMD_SCSI | 
 | - include/flash.h		added INTEL_ID_28F320C3T  0x88C488C4 | 
 | - include/i2c.h			added "defined(CONFIG_PIP405)" | 
 | - include/image.h		added IH_OS_U_BOOT, IH_TYPE_FIRMWARE | 
 | - include/u-boot.h		moved partitions functions definitions to part.h | 
 | 				added "defined(CONFIG_PIP405)" | 
 | 				added get_PCI_freq() definition | 
 | - rtc/Makefile			added MC146818 RTC support | 
 | - tools/mkimage.c		added IH_OS_U_BOOT, IH_TYPE_FIRMWARE | 
 |  | 
 | Added files: | 
 | ============ | 
 | - board/pip405			directory for PIP405 | 
 | - board/pip405/cmd_pip405.c	board specific commands | 
 | - board/pip405/config.mk	config make | 
 | - board/pip405/flash.c		flash support | 
 | - board/pip405/init.s		start-up | 
 | - board/pip405/kbd.c		keyboard support | 
 | - board/pip405/kbd.h		keyboard support | 
 | - board/pip405/Makefile		Makefile | 
 | - board/pip405/pci_piix4.h	southbridge definitions | 
 | - board/pip405/pci_pip405.c	PCI support for PIP405 | 
 | - board/pip405/pci_pip405.h	PCI support for PIP405 | 
 | - board/pip405/pip405.c		PIP405 board init | 
 | - board/pip405/pip405.h		PIP405 board init | 
 | - board/pip405/pip405_isa.c	ISA support | 
 | - board/pip405/pip405_isa.h	ISA support | 
 | - board/pip405/u-boot.lds	Linker description | 
 | - board/pip405/u-boot.lds.debugLinker description debug | 
 | - board/pip405/sym53c8xx.c	SYM53C810A support | 
 | - board/pip405/sym53c8xx_defs.h SYM53C810A definitions | 
 | - board/pip405/vga_table.h	definitions of tables for VGA | 
 | - board/pip405/video.c		CT69000 support | 
 | - board/pip405/video.h		CT69000 support | 
 | - common/cmd_fdc.c		Floppy disk support | 
 | - common/cmd_scsi.c		SCSI support | 
 | - disk/part_iso.c		ISO CD ROM support | 
 | - disk/part_iso.h		ISO CD ROM support | 
 | - include/cmd_fdc.h		command forFloppy disk support | 
 | - include/cmd_scsi.h		command for SCSI support | 
 | - include/part.h		partitions functions definitions | 
 | 				(was part of u-boot.h) | 
 | - include/scsi.h		SCSI support | 
 | - rtc/mc146818.c		MC146818 RTC support | 
 |  | 
 |  | 
 | New Config Switches: | 
 | ==================== | 
 | For detailed description, refer to the corresponding paragraph in the | 
 | section "Changes". | 
 |  | 
 | New Commands: | 
 | ------------- | 
 | CONFIG_CMD_SCSI	SCSI Support | 
 | CONFIG_CMF_FDC	Floppy disk support | 
 |  | 
 | IDE additions: | 
 | -------------- | 
 | CONFIG_IDE_RESET_ROUTINE	defines that instead of a reset Pin, | 
 | 				the routine ide_set_reset(int idereset) is used. | 
 | ATAPI support (experimental) | 
 | ---------------------------- | 
 | CONFIG_ATAPI	enables ATAPI Support | 
 |  | 
 | SCSI support (experimental) only SYM53C8xx supported | 
 | ---------------------------------------------------- | 
 | CONFIG_SCSI_SYM53C8XX		type of SCSI controller | 
 | CONFIG_SYS_SCSI_MAX_LUN	8	number of supported LUNs | 
 | CONFIG_SYS_SCSI_MAX_SCSI_ID	7	maximum SCSI ID (0..6) | 
 | CONFIG_SYS_SCSI_MAX_DEVICE	CONFIG_SYS_SCSI_MAX_SCSI_ID * CONFIG_SYS_SCSI_MAX_LUN | 
 | 				maximum of Target devices (multiple LUN support | 
 | 				for boot) | 
 |  | 
 | ISO (CD-Boot) partition support (Experimental) | 
 | ---------------------------------------------- | 
 | CONFIG_ISO_PARTITION		CD-boot support | 
 |  | 
 | RTC | 
 | ---- | 
 | CONFIG_RTC_MC146818		MC146818 RTC support | 
 |  | 
 | Keyboard: | 
 | --------- | 
 | CONFIG_ISA_KEYBOARD		Standard (PC-Style) Keyboard support | 
 |  | 
 | Video: | 
 | ------ | 
 | CONFIG_VIDEO_CT69000		Enable Chips & Technologies 69000 Video chip | 
 | 				CONFIG_VIDEO must be defined also | 
 |  | 
 | External peripheral base address: | 
 | --------------------------------- | 
 | CONFIG_SYS_ISA_IO_BASE_ADDRESS		address of all ISA-bus related parts | 
 | 				_must_ be defined for ISA-bus parts | 
 |  | 
 | Identify: | 
 | --------- | 
 | CONFIG_IDENT_STRING		added to the U_BOOT_VERSION String | 
 |  | 
 | Environment / Console: | 
 | ---------------------- | 
 |  | 
 | CONFIG_SYS_CONSOLE_IS_IN_ENV		if defined, stdin, stdout and stderr used from | 
 | 				the values stored in the evironment. | 
 |  | 
 | CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE	if defined, console_overwrite() decides if the | 
 | 				values stored in the environment or the standard | 
 | 				serial in/out put should be assigned to the console. | 
 |  | 
 | CONFIG_SYS_CONSOLE_ENV_OVERWRITE	if defined, the start-up console switching | 
 | 				are stored in the environment. | 
 |  | 
 | PIP405 specific: | 
 | ---------------- | 
 | CONFIG_PORT_ADDR		address used to read boot configuration | 
 | MULTI_PURPOSE_SOCKET_ADDR	address of the multi purpose socked | 
 | SDRAM_EEPROM_WRITE_ADDRESS	addresses of the serial presence detect | 
 | SDRAM_EEPROM_READ_ADDRESS	EEPROM on the SDRAM module. | 
 |  | 
 |  | 
 | Changes: | 
 | ======== | 
 |  | 
 | Added Devices: | 
 | ============== | 
 |  | 
 | Floppy support: | 
 | --------------- | 
 | Support of a standard floppy disk controller at address CONFIG_SYS_ISA_IO_BASE_ADDRESS | 
 | + 0x3F0. Enabled with define CONFIG_CMD_FDC. Reads a unformated floppy disk | 
 | with a image header (see: mkimage). No interrupts and no DMA are used for this. | 
 | Added files: | 
 | - common/cmd_fdc.c | 
 | - include/cmd_fdc.h | 
 |  | 
 | SCSI support: | 
 | ------------- | 
 | Support for Symbios SYM53C810A chip. Implemented as follows: | 
 | - without disconnect | 
 | - only asynchrounous | 
 | - multiple LUN support (caution, needs a lot of RAM. define CONFIG_SYS_SCSI_MAX_LUN 1 to | 
 |   save RAM) | 
 | - multiple SCSI ID support | 
 | - no write support | 
 | - analyses the MAC, DOS and ISO pratition similar to the IDE support | 
 | - allows booting from SCSI devices similar to the IDE support. | 
 | The device numbers are not assigned like they are within the IDE support. The first | 
 | device found will get the number 0, the next 1 etc. If all SCSI IDs (0..6) and all | 
 | LUNs (8) are enabled, 56 boot devices are possible. This uses a lot of RAM since the | 
 | device descriptors are not yet dynamically allocated. 56 boot devices are overkill | 
 | anyway. Please refer to the section "Todo" chapter "block device support enhancement". | 
 | The SYM53C810A uses 1 Interrupt and must be able of mastering the PCI bus. | 
 | Added files: | 
 | - common/cmd_scsi.c | 
 | - common/board.c | 
 | - include/cmd_scsi.h | 
 | - include/scsi.h | 
 | - board/pip405/sym53c8xx.c | 
 | - board/pip405/sym53c8xx_defs.h | 
 |  | 
 | ATAPI support (IDE changes): | 
 | ---------------------------- | 
 | Added ATAPI support (with CONFIG_ATAPI) in the file cmd_ide.c. | 
 | To support a hardreset, when the IDE reset pin is not connected to the | 
 | CONFIG_SYS_PC_IDE_RESET pin, the switch CONFIG_IDE_RESET_ROUTINE has been added. When | 
 | this switch is enabled the routine void ide_set_reset(int idereset) must be | 
 | within the board specific files. | 
 | Only read from ATAPI devices are supported. | 
 | Found out that the function trim_trail cuts off the last character if the whole | 
 | string is filled. Added function cpy_ident instead, which trims also leading | 
 | spaces and copies the string in the buffer. | 
 | Changed files: | 
 | - common/cmd_ide.c | 
 | - include/ata.h | 
 |  | 
 | ISO partition support: | 
 | ---------------------- | 
 | Added CD boot support for El-Torito bootable ISO CDs. The bootfile image must contain | 
 | the U-Boot image header. Since CDs do not have "partitions", the boot partition is 0. | 
 | The bootcatalog feature has not been tested so far. CD Boot is supported for ATAPI | 
 | ("diskboot") and SCSI ("scsiboot") devices. | 
 | Added files: | 
 | - disk/iso_part.c | 
 | - disk/iso_part.h | 
 |  | 
 | Block device changes: | 
 | --------------------- | 
 | To allow the use of dos_part.c, mac_part.c and iso_part.c, the parameter | 
 | block_dev_desc will be used when accessing the functions in these files. The block | 
 | device descriptor (block_dev_desc) contains a pointer to the read routine of the | 
 | device, which will be used to read blocks from the device. | 
 | Renamed function ide_print to dev_print and moved it to the file disk/part.c to use | 
 | it for IDE ATAPI and SCSI devices. | 
 | Please refer to the section "Todo" chapter "block device support enhancement". | 
 | Added files: | 
 | - include/part.h | 
 | changed files: | 
 | - disk/dos_part.c | 
 | - disk/dos_part.h | 
 | - disk/mac_part.c | 
 | - disk/mac_part.h | 
 | - disk/part.c | 
 | - common/cmd_ide.c | 
 | - include/u-boot.h | 
 |  | 
 |  | 
 | MC146818 RTC support: | 
 | --------------------- | 
 | Added support for MC146818 RTC with defining CONFIG_RTC_MC146818. The ISA bus IO | 
 | base address must be defined with CONFIG_SYS_ISA_IO_BASE_ADDRESS. | 
 | Added files: | 
 | - rtc/mc146818.c | 
 |  | 
 | Standard ISA bus Keyboard support: | 
 | ---------------------------------- | 
 | Added support for the standard PC kyeboard controller. For the PIP405 the superIO | 
 | controller must be set up previously. The keyboard uses the standard ISA IRQ, so | 
 | the ISA PIC must also be set up. | 
 | Added files: | 
 | - board/pip405/kbd.c | 
 | - board/pip405/kbd.h | 
 | - board/pip405/pip405_isa.c | 
 | - board/pip405/pip405_isa.h | 
 |  | 
 | Chips and Technologie 69000 VGA controller support: | 
 | --------------------------------------------------- | 
 | Added support for the CT69000 VGA controller. | 
 | Added files: | 
 | - board/pip405/video.c | 
 | - board/pip405/video.h | 
 | - board/pip405/vga_table.h | 
 |  | 
 |  | 
 | Changed Items: | 
 | ============== | 
 |  | 
 | Identify: | 
 | --------- | 
 | Added the config variable CONFIG_IDENT_STRING which will be added to the | 
 | "U_BOOT_VERSION __TIME__ DATE___ " String, to allows to identify intermidiate | 
 | and custom versions. | 
 | Changed files: | 
 | - arch/powerpc/cpu/ppc4xx/start.s | 
 |  | 
 | Firmware Image: | 
 | --------------- | 
 | Added IH_OS_U_BOOT and IH_TYPE_FIRMWARE to the image definitions to allows the | 
 | U-Boot update with prior CRC check. | 
 | Changed files: | 
 | - include/image.h | 
 | - tools/mkimage.c | 
 | - common/cmd_bootm.c | 
 |  | 
 | Correct PCI Frequency for PPC405: | 
 | --------------------------------- | 
 | Added function (in arch/powerpc/cpu/ppc4xx/speed.c) to get the PCI frequency for PPC405 CPU. | 
 | The PCI Frequency will now be set correct in the board description in common/board.c. | 
 | (was set to the busfreq before). | 
 | Changed files: | 
 | - arch/powerpc/cpu/ppc4xx/speed.c | 
 | - common/board.c | 
 |  | 
 | I2C Stuff: | 
 | ---------- | 
 | Added defined(CONFIG_PIP405) at several points in common/cmd_i2c.c. | 
 | Added 16bit read/write support for I2C (PPC405), and page write to | 
 | I2C EEPROM if defined CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE. | 
 | Changed files: | 
 | - arch/powerpc/cpu/ppc4xx/i2c.c | 
 | - common/cmd_i2c.c | 
 |  | 
 | Environment / Console: | 
 | ---------------------- | 
 | Although in README.console described, the U-Boot has not assinged the values | 
 | found in the environment to the console. Corrected this behavior, but only if | 
 | CONFIG_SYS_CONSOLE_IS_IN_ENV is defined. | 
 | If CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is defined, console_overwrite() decides if the | 
 | values stored in the environment or the standard serial in/output should be | 
 | assigned to the console. This is useful if the environment values are not correct. | 
 | If CONFIG_SYS_CONSOLE_ENV_OVERWRITE is defined the devices assigned to the console at | 
 | start-up time will be written to the environment. This means that if the | 
 | environment values are overwritten by the overwrite_console() routine, they will be | 
 | stored in the environment. | 
 | Changed files: | 
 | - common/console.c | 
 |  | 
 | Correct bootdelay intepretation: | 
 | -------------------------------- | 
 | Changed bootdelay read from the environment from simple_strtoul (unsigned) to | 
 | simple_strtol (signed), to be able to get a bootdelay of -1. | 
 | Changed files: | 
 | - common/main.c | 
 |  | 
 | Todo: | 
 | ===== | 
 |  | 
 | Block device support enhancement: | 
 | --------------------------------- | 
 | Consider to unify the block device handling. Instead of using diskboot for IDE, | 
 | scsiboot for SCSI and fdcboot for floppy disks, it would make sense to use only | 
 | one command ("devboot" ???) with a parameter of the desired device ("hda1", "sda1", | 
 | "fd0" ???) to boot from. The other ide commands can be handled in the same way | 
 | ("dev hda read.." instead of "ide read.." or "dev sda read.." instead of | 
 | "scsi read..."). Todo this, a common way of assign a block device to its name | 
 | (first found ide device = hda, second found hdb etc., or hda is device 0 on bus 0, | 
 | hdb is device 1 on bus 0 etc.) as well as the names (hdx for ide, sdx for scsi, fx for | 
 | floppy ???) must be defined. | 
 | Maybe there are better ideas to do this. | 
 |  | 
 | Console assingment: | 
 | ------------------- | 
 | Consider to initialize and assign the console stdin, stdout and stderr as soon as | 
 | possible to see the boot messages also on an other console than serial. | 
 |  | 
 |  | 
 | Todo for PIP405: | 
 | ================ | 
 |  | 
 | LCD support for VGA: | 
 | -------------------- | 
 | Add LCD support for the CT69000 | 
 |  | 
 | Default environment: | 
 | -------------------- | 
 | Consider to write a default environment to the OTP part of the EEPROM and use it | 
 | if the normal environment is not valid. Useful for serial# and ethaddr values. | 
 |  | 
 | Watchdog: | 
 | --------- | 
 | Implement Watchdog. | 
 |  | 
 | Files clean-up: | 
 | --------------- | 
 | Following files needs to be cleaned up: | 
 | - cmd_pip405.c | 
 | - flash.c | 
 | - pci_pip405.c | 
 | - pip405.c | 
 | - pip405_isa.c | 
 | Consider to split up the files in their functions. |