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