| Work_92105 from Work Microwave is an LPC3250- based board with the |
| following features: |
| |
| - 64MB SDR DRAM |
| - 1 GB SLC NAND, managed through MLC controller. |
| - Ethernet |
| - Ethernet + PHY SMSC8710 |
| - I2C: |
| - EEPROM (24M01-compatible) |
| - RTC (DS1374-compatible) |
| - Temperature sensor (DS620) |
| - DACs (2 x MAX518) |
| - SPI (through SSP interface) |
| - Port expander MAX6957 |
| - LCD display (HD44780-compatible), controlled |
| through the port expander and DACs |
| |
| Standard SPL and U-Boot binaries |
| -------------------------------- |
| |
| The default 'make' (or the 'make all') command will produce the |
| following files: |
| |
| 1. spl/u-boot-spl.bin SPL, intended to run from SRAM at address 0. |
| This file can be loaded in SRAM through a JTAG |
| debugger or through the LPC32XX Service Boot |
| mechanism. |
| |
| 2. u-boot.bin The raw U-Boot image, which can be loaded in |
| DDR through a JTAG debugger (for instance by |
| breaking SPL after DDR init), or by a running |
| U-Boot through e.g. 'loady' or 'tftp' and then |
| executed with 'go'. |
| |
| 3. u-boot.img A U-Boot image with a mkimage header prepended. |
| SPL assumes (even when loaded through JTAG or |
| Service Boot) that such an image will be found |
| at offset 0x00040000 in NAND. |
| |
| NAND cold-boot binaries |
| ----------------------- |
| |
| The board can boot entirely from power-on with only SPL and U-Boot in |
| NAND. The LPC32XX-specific 'make lpc32xx-full.bin' command will produce |
| (in addition to spl/u-boot-spl.bin and u-boot.img if they were not made |
| already) the following files: |
| |
| 4. lpc32xx-spl.img spl/u-boot-spl.bin, with a LPC32XX boot header |
| prepended. This header is required for the ROM |
| code to load SPL into SRAM and branch into it. |
| The content of this file is expected to reside |
| in NAND at addresses 0x00000000 and 0x00020000 |
| (two copies). |
| |
| 5. lpc32xx-boot-0.bin lpc32xx-spl.img, padded with 0xFF bytes to a |
| size of 0x20000 bytes. This file covers exactly |
| the reserved area for the first bootloader copy |
| in NAND. |
| |
| 6. lpc32xx-boot-1.bin Same as lpc32xx-boot-0.bin. This is intended to |
| be used as the second bootloader copy. |
| |
| 7. lpc32xx-full.bin lpc32xx-boot-0.bin, lpc32xx-boot-1.bin and |
| u-boot.img concatenated. This file represents |
| the content of whole bootloader as present in |
| NAND at offset 00x00000000. |
| |
| Flashing instructions |
| --------------------- |
| |
| The following assumes a working U-Boot on the target, with the ability |
| to load files into DDR. |
| |
| To update the whole bootloader: |
| |
| nand erase 0x00000000 0x80000 |
| (load lpc32xx-full.bin at location $loadaddr) |
| nand write $loadaddr 0x00000000 $filesize |
| |
| To update SPL only (note the double nand write) : |
| |
| nand erase 0x00000000 0x40000 |
| (load lpc32xx-spl.img or lpc32xx-boot-N.bin at location $loadaddr) |
| nand write $loadaddr 0x00000000 $filesize |
| nand write $loadaddr 0x00020000 $filesize |
| |
| To update U-Boot only: |
| |
| nand erase 0x00040000 0x40000 |
| (load u-boot.img at location $loadaddr) |
| nand write $loadaddr 0x00040000 $filesize |