1 2SPEAr (Structured Processor Enhanced Architecture). 3 4SPEAr600 is also known as SPEArPlus and SPEAr300 is also known as SPEArBasic 5 6The SPEAr SoC family embeds a customizable logic that can be programmed 7one-time by a customer at silicon mask level (i.e. not at runtime!). 8 9U-Boot supports four SoCs: SPEAr600, SPEAr3xx 10 11All 4 SoCs (SPEAr3xx and SPEAr600) share common peripherals. SPEAr300 and 12SPEAr600 do not have EMI. 13 141. ARM926ejs core based (sp600 has two cores, the 2nd handled only in Linux) 152. FastEthernet (sp600 has Gbit version, but same controller - GMAC) 163. USB Host 174. USB Device 185. NAND controller (FSMC) 196. Serial NOR ctrl 207. I2C 218. SPI 229. CLCD 2310. others .. 24 25Everything is supported in Linux. 26u-boot is currently not supporting all peripeharls (just a few as listed below). 271. USB Device 282. NAND controller (FSMC) 293. Serial Memory Interface 304. EMI (Parallel NOR interface) 314. I2C 325. UART 33 34Build 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 68Mac id storage and retrieval in spear platforms 69 70Please read doc/README.enetaddr for the implementation guidelines for mac id 71usage. Basically, environment has precedence over board specific storage. The 72ethaddr beeing used for the network interface is always taken only from 73environment variables. Although, we can check the mac id programmed in i2c 74memory by using chip_config command 75