1*412ae53aSAlbert ARIBAUD \(3ADEV\)Work_92105 from Work Microwave is an LPC3250- based board with the 2*412ae53aSAlbert ARIBAUD \(3ADEV\)following features: 3*412ae53aSAlbert ARIBAUD \(3ADEV\) 4*412ae53aSAlbert ARIBAUD \(3ADEV\) - 64MB SDR DRAM 5*412ae53aSAlbert ARIBAUD \(3ADEV\) - 1 GB SLC NAND, managed through MLC controller. 6*412ae53aSAlbert ARIBAUD \(3ADEV\) - Ethernet 7*412ae53aSAlbert ARIBAUD \(3ADEV\) - Ethernet + PHY SMSC8710 8*412ae53aSAlbert ARIBAUD \(3ADEV\) - I2C: 9*412ae53aSAlbert ARIBAUD \(3ADEV\) - EEPROM (24M01-compatible) 10*412ae53aSAlbert ARIBAUD \(3ADEV\) - RTC (DS1374-compatible) 11*412ae53aSAlbert ARIBAUD \(3ADEV\) - Temperature sensor (DS620) 12*412ae53aSAlbert ARIBAUD \(3ADEV\) - DACs (2 x MAX518) 13*412ae53aSAlbert ARIBAUD \(3ADEV\) - SPI (through SSP interface) 14*412ae53aSAlbert ARIBAUD \(3ADEV\) - Port expander MAX6957 15*412ae53aSAlbert ARIBAUD \(3ADEV\) - LCD display (HD44780-compatible), controlled 16*412ae53aSAlbert ARIBAUD \(3ADEV\) through the port expander and DACs 17*412ae53aSAlbert ARIBAUD \(3ADEV\) 18*412ae53aSAlbert ARIBAUD \(3ADEV\)Standard SPL and U-Boot binaries 19*412ae53aSAlbert ARIBAUD \(3ADEV\)-------------------------------- 20*412ae53aSAlbert ARIBAUD \(3ADEV\) 21*412ae53aSAlbert ARIBAUD \(3ADEV\)The default 'make' (or the 'make all') command will produce the 22*412ae53aSAlbert ARIBAUD \(3ADEV\)following files: 23*412ae53aSAlbert ARIBAUD \(3ADEV\) 24*412ae53aSAlbert ARIBAUD \(3ADEV\)1. spl/u-boot-spl.bin SPL, intended to run from SRAM at address 0. 25*412ae53aSAlbert ARIBAUD \(3ADEV\) This file can be loaded in SRAM through a JTAG 26*412ae53aSAlbert ARIBAUD \(3ADEV\) debugger or through the LPC32XX Service Boot 27*412ae53aSAlbert ARIBAUD \(3ADEV\) mechanism. 28*412ae53aSAlbert ARIBAUD \(3ADEV\) 29*412ae53aSAlbert ARIBAUD \(3ADEV\)2. u-boot.bin The raw U-Boot image, which can be loaded in 30*412ae53aSAlbert ARIBAUD \(3ADEV\) DDR through a JTAG debugger (for instance by 31*412ae53aSAlbert ARIBAUD \(3ADEV\) breaking SPL after DDR init), or by a running 32*412ae53aSAlbert ARIBAUD \(3ADEV\) U-Boot through e.g. 'loady' or 'tftp' and then 33*412ae53aSAlbert ARIBAUD \(3ADEV\) executed with 'go'. 34*412ae53aSAlbert ARIBAUD \(3ADEV\) 35*412ae53aSAlbert ARIBAUD \(3ADEV\)3. u-boot.img A U-Boot image with a mkimage header prepended. 36*412ae53aSAlbert ARIBAUD \(3ADEV\) SPL assumes (even when loaded through JTAG or 37*412ae53aSAlbert ARIBAUD \(3ADEV\) Service Boot) that such an image will be found 38*412ae53aSAlbert ARIBAUD \(3ADEV\) at offset 0x00040000 in NAND. 39*412ae53aSAlbert ARIBAUD \(3ADEV\) 40*412ae53aSAlbert ARIBAUD \(3ADEV\)NAND cold-boot binaries 41*412ae53aSAlbert ARIBAUD \(3ADEV\)----------------------- 42*412ae53aSAlbert ARIBAUD \(3ADEV\) 43*412ae53aSAlbert ARIBAUD \(3ADEV\)The board can boot entirely from power-on with only SPL and U-Boot in 44*412ae53aSAlbert ARIBAUD \(3ADEV\)NAND. The LPC32XX-specific 'make lpc32xx-full.bin' command will produce 45*412ae53aSAlbert ARIBAUD \(3ADEV\)(in addition to spl/u-boot-spl.bin and u-boot.img if they were not made 46*412ae53aSAlbert ARIBAUD \(3ADEV\)already) the following files: 47*412ae53aSAlbert ARIBAUD \(3ADEV\) 48*412ae53aSAlbert ARIBAUD \(3ADEV\)4. lpc32xx-spl.img spl/u-boot-spl.bin, with a LPC32XX boot header 49*412ae53aSAlbert ARIBAUD \(3ADEV\) prepended. This header is required for the ROM 50*412ae53aSAlbert ARIBAUD \(3ADEV\) code to load SPL into SRAM and branch into it. 51*412ae53aSAlbert ARIBAUD \(3ADEV\) The content of this file is expected to reside 52*412ae53aSAlbert ARIBAUD \(3ADEV\) in NAND at addresses 0x00000000 and 0x00020000 53*412ae53aSAlbert ARIBAUD \(3ADEV\) (two copies). 54*412ae53aSAlbert ARIBAUD \(3ADEV\) 55*412ae53aSAlbert ARIBAUD \(3ADEV\)5. lpc32xx-boot-0.bin lpc32xx-spl.img, padded with 0xFF bytes to a 56*412ae53aSAlbert ARIBAUD \(3ADEV\) size of 0x20000 bytes. This file covers exactly 57*412ae53aSAlbert ARIBAUD \(3ADEV\) the reserved area for the first bootloader copy 58*412ae53aSAlbert ARIBAUD \(3ADEV\) in NAND. 59*412ae53aSAlbert ARIBAUD \(3ADEV\) 60*412ae53aSAlbert ARIBAUD \(3ADEV\)6. lpc32xx-boot-1.bin Same as lpc32xx-boot-0.bin. This is intended to 61*412ae53aSAlbert ARIBAUD \(3ADEV\) be used as the second bootloader copy. 62*412ae53aSAlbert ARIBAUD \(3ADEV\) 63*412ae53aSAlbert ARIBAUD \(3ADEV\)7. lpc32xx-full.bin lpc32xx-boot-0.bin, lpc32xx-boot-1.bin and 64*412ae53aSAlbert ARIBAUD \(3ADEV\) u-boot.img concatenated. This file represents 65*412ae53aSAlbert ARIBAUD \(3ADEV\) the content of whole bootloader as present in 66*412ae53aSAlbert ARIBAUD \(3ADEV\) NAND at offset 00x00000000. 67*412ae53aSAlbert ARIBAUD \(3ADEV\) 68*412ae53aSAlbert ARIBAUD \(3ADEV\)Flashing instructions 69*412ae53aSAlbert ARIBAUD \(3ADEV\)--------------------- 70*412ae53aSAlbert ARIBAUD \(3ADEV\) 71*412ae53aSAlbert ARIBAUD \(3ADEV\)The following assumes a working U-Boot on the target, with the ability 72*412ae53aSAlbert ARIBAUD \(3ADEV\)to load files into DDR. 73*412ae53aSAlbert ARIBAUD \(3ADEV\) 74*412ae53aSAlbert ARIBAUD \(3ADEV\)To update the whole bootloader: 75*412ae53aSAlbert ARIBAUD \(3ADEV\) 76*412ae53aSAlbert ARIBAUD \(3ADEV\) nand erase 0x00000000 0x80000 77*412ae53aSAlbert ARIBAUD \(3ADEV\) (load lpc32xx-full.bin at location $loadaddr) 78*412ae53aSAlbert ARIBAUD \(3ADEV\) nand write $loadaddr 0x00000000 $filesize 79*412ae53aSAlbert ARIBAUD \(3ADEV\) 80*412ae53aSAlbert ARIBAUD \(3ADEV\)To update SPL only (note the double nand write) : 81*412ae53aSAlbert ARIBAUD \(3ADEV\) 82*412ae53aSAlbert ARIBAUD \(3ADEV\) nand erase 0x00000000 0x40000 83*412ae53aSAlbert ARIBAUD \(3ADEV\) (load lpc32xx-spl.img or lpc32xx-boot-N.bin at location $loadaddr) 84*412ae53aSAlbert ARIBAUD \(3ADEV\) nand write $loadaddr 0x00000000 $filesize 85*412ae53aSAlbert ARIBAUD \(3ADEV\) nand write $loadaddr 0x00020000 $filesize 86*412ae53aSAlbert ARIBAUD \(3ADEV\) 87*412ae53aSAlbert ARIBAUD \(3ADEV\)To update U-Boot only: 88*412ae53aSAlbert ARIBAUD \(3ADEV\) 89*412ae53aSAlbert ARIBAUD \(3ADEV\) nand erase 0x00040000 0x40000 90*412ae53aSAlbert ARIBAUD \(3ADEV\) (load u-boot.img at location $loadaddr) 91*412ae53aSAlbert ARIBAUD \(3ADEV\) nand write $loadaddr 0x00040000 $filesize 92