#@TYPE: Machine configuration #@NAME: ixp4xx #@DESCRIPTION: genric machine configuration for ixp4xx platforms MACHINE_FEATURES = "kernel26 usbhost ext2" EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x20000 --faketime -n" PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel" #------------------------------------------------------------------------------- # INPUTS #------------------------------------------------------------------------------- # conf/${DISTRO}.conf is included after this file and should be used to modify # variables identified as 'INPUTS' to the required values for the DISTRO, this # will cause the board specific settings (which depend for the most part on the # exact CPU used) to be set correctly within this file. The results are the # variables identifies here as 'OUTPUTS' # #variable = "default" # # description IXP4XX_MACHINE_ENDIAN ?= "le" # "be" "le" # The memory byte sex and (on correctly implemented hardware - the IXP4XX is # correct) the byte sex of the buses within the system. 'be' (big-endian) # means that the first byte is the most significant byte on a bus, 'le' # (little-endian) means that the first byte is the least significant byte. # Default to little-endian mode (since EABI does not support big endian yet) ARM_INSTRUCTION_SET = "arm" # "arm" "thumb" # The instruction set the compiler should use when generating application # code. The kernel is always compiled with arm code at present. arm code # is the original 32 bit ARM instruction set, thumb code is the 16 bit # encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) # but requires more instructions (140% for 70% smaller code) so may be # slower. THUMB_INTERWORK = "yes" # "yes" "no" # Whether to compile with code to allow interworking between the two # instruction sets. This allows thumb code to be executed on a primarily # arm system and vice versa. It is strongly recommended that DISTROs not # turn this off - the actual cost is very small. DISTRO_BASE = "" # "" ":" # If given this must be the name of a 'distro' to add to the bitbake OVERRIDES # after ${DISTRO}, this allows different distros to share a common base of # overrides. The value given must include a leading ':' or chaos will result. #------------------------------------------------------------------------------- # OUTPUTS #------------------------------------------------------------------------------- #OVERRIDES # The standard ':' separated list of overrides used by bitbake - see the # basic setting in bitbake.conf. This list is based on that used for the # standard setting however : will be # inserted at appropriate points if a base distro is enabled in the inputs. OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast" require conf/machine/include/tune-xscale.conf require conf/machine/include/tune-thumb.conf #------------------------------------------------------------------------------- # Board defaults #------------------------------------------------------------------------------- # These values are board specific but they seem to be common to a large number # of boards so are reasonable defaults. SERIAL_CONSOLE = "115200 ttyS0" KERNEL_CONSOLE = "ttyS0,115200n8" USE_VT = "0" # FULL_OPTIMIZATION # Optimization settings. Os works fine and is significantly better than O2. # The other settings are somewhat arbitrary. The optimisations chosen here # include the ones which 'break' symbolic debugging (because the compiler does # not include enough information to allow the debugger to know where given # values are.) The -fno options are an attempt to cancel explicit use of space # consuming options found in some packages (this isn't a complete list, this is # just the ones which package writers seem to know about and abuse). FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \ -fno-unroll-loops -fno-inline-functions \ -fweb -funit-at-a-time"