Merge tag 'u-boot-atmel-fixes-2020.04-a' of https://gitlab.denx.de/u-boot/custodians...
[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 U-Boot supports four SoCs: SPEAr600, SPEAr3xx
10
11 All 4 SoCs (SPEAr3xx and SPEAr600) share common peripherals. SPEAr300 and
12 SPEAr600 do not have EMI.
13
14 1. ARM926ejs core based (sp600 has two cores, the 2nd handled only in Linux)
15 2. FastEthernet (sp600 has Gbit version, but same controller - GMAC)
16 3. USB Host
17 4. USB Device
18 5. NAND controller (FSMC)
19 6. Serial NOR ctrl
20 7. I2C
21 8. SPI
22 9. CLCD
23 10. others ..
24
25 Everything is supported in Linux.
26 u-boot is currently not supporting all peripeharls (just a few as listed below).
27 1. USB Device
28 2. NAND controller (FSMC)
29 3. Serial Memory Interface
30 4. EMI (Parallel NOR interface)
31 4. I2C
32 5. UART
33
34 Build options
35         make spear320_config
36                 spear320 build with environment variables placed at default
37                 location i.e. Serial NOR device
38         make spear320_pnor_config
39                 This option generates a uboot image that supports emi controller
40                 for CFI compliant parallel NOR flash. Environment variables are
41                 placed in Parallel NOR device
42         make spear320_nand_config
43                 spear320 build with environment variables placed in NAND device
44         make spear320_usbtty_config
45                 spear320 build with usbtty terminal as default and environment
46                 placed at default location
47         make spear320_usbtty_pnor_config
48                 spear320 build with usbtty terminal as default and environment
49                 placed in pnor device
50         make spear320_usbtty_nand_config
51                 Build with usbtty terminal as default and environment placed in
52                 NAND device
53         make spear300_config
54         make spear300_nand_config
55         make spear300_usbtty_config
56         make spear300_usbtty_nand_config
57         make spear310_config
58         make spear310_pnor_config
59         make spear310_nand_config
60         make spear310_usbtty_config
61         make spear310_usbtty_pnor_config
62         make spear310_usbtty_nand_config
63         make spear600_config
64         make spear600_nand_config
65         make spear600_usbtty_config
66         make spear600_usbtty_nand_config
67
68 Mac id storage and retrieval in spear platforms
69
70 Please read doc/README.enetaddr for the implementation guidelines for mac id
71 usage. Basically, environment has precedence over board specific storage. The
72 ethaddr beeing used for the network interface is always taken only from
73 environment variables. Although, we can check the mac id programmed in i2c
74 memory by using chip_config command