u-boot/board/work-microwave/work_92105
Tom Rini 83d290c56f SPDX: Convert all of our single license tags to Linux Kernel style
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from.  So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry.  Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.

In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.

This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents.  There's also a few places where I found we did not have a tag
and have introduced one.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-07 09:34:12 -04:00
..
Kconfig Convert CONFIG_CMD_MAX6957 to Kconfig 2017-08-11 11:34:14 -04:00
MAINTAINERS
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README
work_92105.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
work_92105_display.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
work_92105_display.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
work_92105_spl.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00

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