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