|  |  | 
|  | SPEAr (Structured Processor Enhanced Architecture). | 
|  |  | 
|  | SPEAr600 is also known as SPEArPlus and SPEAr300 is also known as SPEArBasic | 
|  |  | 
|  | The SPEAr SoC family embeds a customizable logic that can be programmed | 
|  | one-time by a customer at silicon mask level (i.e. not at runtime!). | 
|  |  | 
|  | U-Boot supports four SoCs: SPEAr600, SPEAr3xx | 
|  |  | 
|  | All 4 SoCs (SPEAr3xx and SPEAr600) share common peripherals. SPEAr300 and | 
|  | SPEAr600 do not have EMI. | 
|  |  | 
|  | 1. ARM926ejs core based (sp600 has two cores, the 2nd handled only in Linux) | 
|  | 2. FastEthernet (sp600 has Gbit version, but same controller - GMAC) | 
|  | 3. USB Host | 
|  | 4. USB Device | 
|  | 5. NAND controller (FSMC) | 
|  | 6. Serial NOR ctrl | 
|  | 7. I2C | 
|  | 8. SPI | 
|  | 9. CLCD | 
|  | 10. others .. | 
|  |  | 
|  | Everything is supported in Linux. | 
|  | u-boot is currently not supporting all peripeharls (just a few as listed below). | 
|  | 1. USB Device | 
|  | 2. NAND controller (FSMC) | 
|  | 3. Serial Memory Interface | 
|  | 4. EMI (Parallel NOR interface) | 
|  | 4. I2C | 
|  | 5. UART | 
|  |  | 
|  | Build options | 
|  | make spear320_config | 
|  | spear320 build with environment variables placed at default | 
|  | location i.e. Serial NOR device | 
|  | make spear320_pnor_config | 
|  | This option generates a uboot image that supports emi controller | 
|  | for CFI compliant parallel NOR flash. Environment variables are | 
|  | placed in Parallel NOR device | 
|  | make spear320_nand_config | 
|  | spear320 build with environment variables placed in NAND device | 
|  | make spear320_usbtty_config | 
|  | spear320 build with usbtty terminal as default and environment | 
|  | placed at default location | 
|  | make spear320_usbtty_pnor_config | 
|  | spear320 build with usbtty terminal as default and environment | 
|  | placed in pnor device | 
|  | make spear320_usbtty_nand_config | 
|  | Build with usbtty terminal as default and environment placed in | 
|  | NAND device | 
|  | make spear300_config | 
|  | make spear300_nand_config | 
|  | make spear300_usbtty_config | 
|  | make spear300_usbtty_nand_config | 
|  | make spear310_config | 
|  | make spear310_pnor_config | 
|  | make spear310_nand_config | 
|  | make spear310_usbtty_config | 
|  | make spear310_usbtty_pnor_config | 
|  | make spear310_usbtty_nand_config | 
|  | make spear600_config | 
|  | make spear600_nand_config | 
|  | make spear600_usbtty_config | 
|  | make spear600_usbtty_nand_config | 
|  |  | 
|  | Mac id storage and retrieval in spear platforms | 
|  |  | 
|  | Please read doc/README.enetaddr for the implementation guidelines for mac id | 
|  | usage. Basically, environment has precedence over board specific storage. The | 
|  | ethaddr beeing used for the network interface is always taken only from | 
|  | environment variables. Although, we can check the mac id programmed in i2c | 
|  | memory by using chip_config command |