a6ff7fdaefd4fd19a11547377a18caf453e8052e
[platform/kernel/u-boot.git] / doc / README.spear
1
2 SPEAr (Structured Processor Enhanced Architecture).
3
4 SPEAr600 is also known as SPEArPlus and SPEAr300 is also known as SPEArBasic
5
6 The SPEAr SoC family embeds a customizable logic that can be programmed
7 one-time by a customer at silicon mask level (i.e. not at runtime!).
8
9 We are now adding the support in u-boot for two SoC: SPEAr600 and SPEAr3xx.
10
11 All 4 SoCs share common peripherals.
12
13 1. ARM926ejs core based (sp600 has two cores, the 2nd handled only in Linux)
14 2. FastEthernet (sp600 has Gbit version, but same controller - GMAC)
15 3. USB Host
16 4. USB Device
17 5. NAND controller (FSMC)
18 6. Serial NOR ctrl
19 7. I2C
20 8. SPI
21 9. CLCD
22 10. others ..
23
24 Everything is supported in Linux.
25 u-boot is not currently supporting all peripeharls (just a few as listed below).
26 1. USB Device
27 2. NAND controller (FSMC)
28 3. Serial Memory Interface
29 4. EMI (Parallel NOR interface)
30 4. I2C
31 5. UART
32
33 Build options
34         make spear600_config
35         make spear300_config
36         make spear310_config
37         make spear320_config
38
39 Further options
40         make ENV=NAND (supported by all 4 SoCs)
41         - This option generates a uboot image that saves environment inn NAND
42
43         make CONSOLE=USB (supported by all 4 SoCs)
44         - This option generates a uboot image for using usbdevice as a tty i/f
45
46         make FLASH=PNOR (supported by SPEAr310 and SPEAr320)
47         - This option generates a uboot image that supports emi controller for
48         CFI compliant parallel NOR flash
49
50 Mac id storage and retrieval in spear platforms
51
52 Please read doc/README.enetaddr for the implementation guidelines for mac id
53 usage. Basically, environment has precedence over board specific storage. The
54 ethaddr beeing used for the network interface is always taken only from
55 environment variables. Although, we can check the mac id programmed in i2c
56 memory by using chip_config command