			SPEAr ARM Linux Overview
			==========================

Introduction
------------

  SPEAr (Structured Processor Enhanced Architecture).
  weblink : http://www.st.com/spear

  The ST Microelectronics SPEAr range of ARM9/CortexA9 System-on-Chip CPUs are
  supported by the 'spear' platform of ARM Linux. Currently SPEAr300,
  SPEAr310, SPEAr320 and SPEAr600 SOCs are supported. Support for the SPEAr13XX
  series is in progress.

  Hierarchy in SPEAr is as follows:

  SPEAr (Platform)
	- SPEAr3XX (3XX SOC series, based on ARM9)
		- SPEAr300 (SOC)
			- SPEAr300_EVB (Evaluation Board)
		- SPEAr310 (SOC)
			- SPEAr310_EVB (Evaluation Board)
		- SPEAr320 (SOC)
			- SPEAr320_EVB (Evaluation Board)
	- SPEAr6XX (6XX SOC series, based on ARM9)
		- SPEAr600 (SOC)
			- SPEAr600_EVB (Evaluation Board)
	- SPEAr13XX (13XX SOC series, based on ARM CORTEXA9)
		- SPEAr1300 (SOC)

  Configuration
  -------------

  A generic configuration is provided for each machine, and can be used as the
  default by
	make spear600_defconfig
	make spear300_defconfig
	make spear310_defconfig
	make spear320_defconfig

  Layout
  ------

  The common files for multiple machine families (SPEAr3XX, SPEAr6XX and
  SPEAr13XX) are located in the platform code contained in arch/arm/plat-spear
  with headers in plat/.

  Each machine series have a directory with name arch/arm/mach-spear followed by
  series name. Like mach-spear3xx, mach-spear6xx and mach-spear13xx.

  Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for
  spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine
  specific files, like spear300.c, spear310.c, spear320.c and spear600.c.
  mach-spear* also contains board specific files for each machine type.


  Document Author
  ---------------

  Viresh Kumar, (c) 2010 ST Microelectronics
