Blame view
doc/README.PIP405
13.1 KB
fe8c2806c Initial revision |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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 |
a47a12bec Move arch/ppc to ... |
20 21 |
- arch/powerpc/cpu/ppc4xx/405gp_pci.c excluded file from PIP405 - arch/powerpc/cpu/ppc4xx/i2c.c added 16bit read write I2C support |
fe8c2806c Initial revision |
22 |
added page write |
a47a12bec Move arch/ppc to ... |
23 24 |
- arch/powerpc/cpu/ppc4xx/speed.c added get_PCI_freq - arch/powerpc/cpu/ppc4xx/start.S added CONFIG_IDENT_STRING |
fe8c2806c Initial revision |
25 26 27 28 29 30 31 32 33 34 |
- 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 |
b3aff0cb9 disk/ doc/ lib_*/... |
35 36 |
- include/config_LANTEC.h excluded CONFIG_CMD_FDC and CONFIG_CMD_SCSI - include/config_hymod.h excluded CONFIG_CMD_FDC and CONFIG_CMD_SCSI |
fe8c2806c Initial revision |
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
- 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: ------------- |
b3aff0cb9 disk/ doc/ lib_*/... |
89 90 |
CONFIG_CMD_SCSI SCSI Support CONFIG_CMF_FDC Floppy disk support |
fe8c2806c Initial revision |
91 92 93 94 95 96 97 98 99 100 101 102 |
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 |
6d0f6bcf3 rename CFG_ macro... |
103 104 105 |
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 |
fe8c2806c Initial revision |
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
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: --------------------------------- |
6d0f6bcf3 rename CFG_ macro... |
128 |
CONFIG_SYS_ISA_IO_BASE_ADDRESS address of all ISA-bus related parts |
fe8c2806c Initial revision |
129 130 131 132 133 |
_must_ be defined for ISA-bus parts Identify: --------- CONFIG_IDENT_STRING added to the U_BOOT_VERSION String |
fe8c2806c Initial revision |
134 135 |
Environment / Console: ---------------------- |
6d0f6bcf3 rename CFG_ macro... |
136 |
CONFIG_SYS_CONSOLE_IS_IN_ENV if defined, stdin, stdout and stderr used from |
fe8c2806c Initial revision |
137 |
the values stored in the evironment. |
6d0f6bcf3 rename CFG_ macro... |
138 |
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE if defined, console_overwrite() decides if the |
fe8c2806c Initial revision |
139 140 |
values stored in the environment or the standard serial in/out put should be assigned to the console. |
6d0f6bcf3 rename CFG_ macro... |
141 |
CONFIG_SYS_CONSOLE_ENV_OVERWRITE if defined, the start-up console switching |
fe8c2806c Initial revision |
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
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: --------------- |
6d0f6bcf3 rename CFG_ macro... |
160 |
Support of a standard floppy disk controller at address CONFIG_SYS_ISA_IO_BASE_ADDRESS |
b3aff0cb9 disk/ doc/ lib_*/... |
161 162 |
+ 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. |
fe8c2806c Initial revision |
163 164 165 166 167 168 169 170 171 |
Added files: - common/cmd_fdc.c - include/cmd_fdc.h SCSI support: ------------- Support for Symbios SYM53C810A chip. Implemented as follows: - without disconnect - only asynchrounous |
6d0f6bcf3 rename CFG_ macro... |
172 |
- multiple LUN support (caution, needs a lot of RAM. define CONFIG_SYS_SCSI_MAX_LUN 1 to |
fe8c2806c Initial revision |
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
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 |
6d0f6bcf3 rename CFG_ macro... |
196 |
CONFIG_SYS_PC_IDE_RESET pin, the switch CONFIG_IDE_RESET_ROUTINE has been added. When |
fe8c2806c Initial revision |
197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
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 |
6d0f6bcf3 rename CFG_ macro... |
241 |
base address must be defined with CONFIG_SYS_ISA_IO_BASE_ADDRESS. |
fe8c2806c Initial revision |
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 |
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: |
a47a12bec Move arch/ppc to ... |
274 |
- arch/powerpc/cpu/ppc4xx/start.s |
fe8c2806c Initial revision |
275 276 277 278 279 280 281 282 283 284 285 286 |
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: --------------------------------- |
a47a12bec Move arch/ppc to ... |
287 |
Added function (in arch/powerpc/cpu/ppc4xx/speed.c) to get the PCI frequency for PPC405 CPU. |
fe8c2806c Initial revision |
288 289 290 |
The PCI Frequency will now be set correct in the board description in common/board.c. (was set to the busfreq before). Changed files: |
a47a12bec Move arch/ppc to ... |
291 |
- arch/powerpc/cpu/ppc4xx/speed.c |
fe8c2806c Initial revision |
292 293 294 295 296 297 |
- 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 |
6d0f6bcf3 rename CFG_ macro... |
298 |
I2C EEPROM if defined CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE. |
fe8c2806c Initial revision |
299 |
Changed files: |
a47a12bec Move arch/ppc to ... |
300 |
- arch/powerpc/cpu/ppc4xx/i2c.c |
fe8c2806c Initial revision |
301 302 303 304 305 306 |
- 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 |
6d0f6bcf3 rename CFG_ macro... |
307 308 |
CONFIG_SYS_CONSOLE_IS_IN_ENV is defined. If CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is defined, console_overwrite() decides if the |
fe8c2806c Initial revision |
309 310 |
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. |
6d0f6bcf3 rename CFG_ macro... |
311 |
If CONFIG_SYS_CONSOLE_ENV_OVERWRITE is defined the devices assigned to the console at |
fe8c2806c Initial revision |
312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 |
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. |