diff options
Diffstat (limited to 'py/waf/defaults/bsp/arm.py')
-rw-r--r-- | py/waf/defaults/bsp/arm.py | 720 |
1 files changed, 720 insertions, 0 deletions
diff --git a/py/waf/defaults/bsp/arm.py b/py/waf/defaults/bsp/arm.py new file mode 100644 index 0000000000..2f86cde4db --- /dev/null +++ b/py/waf/defaults/bsp/arm.py @@ -0,0 +1,720 @@ +from rtems_waf.config import Default, Config + +class Base(Config): + arch = name = "arm" + conflicts=("clang",) + + def build(self, c): + c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', '_start'] + c.LINK_END = ['crtend.o', 'crtn.o'] + + +class csb336(Base): + name = "arm/csb336" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/csb336/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class csb337_shared(Base): + def build(self, c): + c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb337', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + c.ENABLE_LCD = Default + c.ENABLE_UMON = True + c.ENABLE_UMON_CONSOLE = True + + def header(self, c): + c.ENABLE_USART0 = True + c.ENABLE_USART1 = True + c.ENABLE_USART2 = True + c.ENABLE_USART3 = True + c.csb637 = Default + + + +class csb637(csb337_shared): + name = "arm/csb637" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb637', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.csb637 = True + + + +class csb337(csb337_shared): + name = "arm/csb337" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb337', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + + +class kit637_v6(csb337_shared): + name = "arm/kit637_v6" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb337', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.csb637 = True + + + + +class lm3s_shared(Base): + def build(self, c): + c.CFLAGS = ['-march=armv7-m', '-mthumb'] + + def header(self, c): + c.BSP_SMALL_MEMORY = True + c.LM3S69XX_ENABLE_UART_0 = Default + c.LM3S69XX_ENABLE_UART_1 = Default + c.LM3S69XX_ENABLE_UART_2 = Default + c.LM3S69XX_HAS_UDMA = Default + c.LM3S69XX_MCU_LM3S3749 = Default + c.LM3S69XX_MCU_LM3S6965 = Default + c.LM3S69XX_SSI_CLOCK = Default + c.LM3S69XX_SYSTEM_CLOCK = Default + c.LM3S69XX_UART_BAUD = Default + c.LM3S69XX_USE_AHB_FOR_GPIO = Default + + +class lm3s3749(lm3s_shared): + name = "arm/lm3s3749" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lm3s69xx/startup/linkcmds.lm3s3749', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m', 'src/lib/libbsp/arm/shared/startup/linkcmds.base'] + + def header(self, c): + c.LM3S69XX_HAS_UDMA = True + c.LM3S69XX_XTAL_CONFIG = Default + c.LM3S69XX_MCU_LM3S3749 = True + c.LM3S69XX_NUM_GPIO_BLOCKS = 8 + c.LM3S69XX_NUM_SSI_BLOCKS = 2 + c.LM3S69XX_USE_AHB_FOR_GPIO = True + +class lm3s6965(lm3s_shared): + name = "arm/lm3s6965" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lm3s69xx/startup/linkcmds.lm3s6965', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m', 'src/lib/libbsp/arm/shared/startup/linkcmds.base'] + + def header(self, c): + c.LM3S69XX_XTAL_CONFIG = "0xE" + c.LM3S69XX_MCU_LM3S6965 = True + c.LM3S69XX_NUM_GPIO_BLOCKS = 7 + + +class lm3s6965_qemu(lm3s_shared): + name = "arm/lm3s6965_qemu" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lm3s69xx/startup/linkcmds.lm3s6965_qemu', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m', 'src/lib/libbsp/arm/shared/startup/linkcmds.base'] + + def header(self, c): + c.LM3S69XX_XTAL_CONFIG = "0xE" + c.LM3S69XX_MCU_LM3S6965 = True + c.LM3S69XX_NUM_GPIO_BLOCKS = 7 + + +class lpc17xx_shared(Base): + def build(self, c): + c.CFLAGS = ['-march=armv7-m', '-mthumb'] + + def header(self, c): + c.BSP_SMALL_MEMORY = Default + c.LPC24XX_CCLK = Default + c.LPC24XX_CONFIG_CONSOLE = Default + c.LPC24XX_CONFIG_I2C_2 = Default + c.LPC24XX_CONFIG_UART_1 = Default + c.LPC24XX_EMC_TEST = Default + c.LPC24XX_ETHERNET_RMII = Default + c.LPC24XX_OSCILLATOR_MAIN = Default + c.LPC24XX_OSCILLATOR_RTC = Default + c.LPC24XX_STOP_ETHERNET = Default + c.LPC24XX_STOP_GPDMA = Default + c.LPC24XX_STOP_USB = Default + c.LPC24XX_UART_BAUD = Default + c.LPC24XX_PCLKDIV = Default + c.LPC24XX_EMCCLKDIV = Default + c.LPC24XX_EMC_MT48LC4M16A2 = Default + c.LPC24XX_EMC_W9825G2JB75I = Default + c.LPC24XX_EMC_IS42S32800D7 = Default + c.LPC24XX_EMC_IS42S32800B = Default + c.LPC24XX_EMC_M29W160E = Default + c.LPC24XX_EMC_M29W320E70 = Default + c.LPC24XX_EMC_SST39VF3201 = Default + c.LPC24XX_CONFIG_UART_2 = Default + c.LPC24XX_CONFIG_UART_3 = Default + c.LPC24XX_CONFIG_I2C_0 = Default + c.LPC24XX_CONFIG_I2C_1 = Default + c.LPC_DMA_CHANNEL_COUNT = 8 + c.BSP_START_RESET_VECTOR = Default + c.BSP_USB_OTG_TRANSCEIVER_I2C_ADDR = "(0x2f << 1)" + + + +class lpc17xx_ea_ram(lpc17xx_shared): + name = "arm/lpc17xx_ea_ram" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_ea_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_CCLK = "96000000U" + c.LPC24XX_PCLKDIV = "2U" + c.LPC24XX_EMCCLKDIV = "2U" + + +class lpc17xx_ea_rom_int(lpc17xx_shared): + name = "arm/lpc17xx_ea_rom_int" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_ea_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_CCLK = "96000000U" + c.LPC24XX_PCLKDIV = "2U" + c.LPC24XX_EMC_IS42S32800B = True + +class lpc17xx_plx800_ram(lpc17xx_shared): + name = "arm/lpc17xx_plx800_ram" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_plx800_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + pass + +class lpc17xx_plx800_rom_int(lpc17xx_shared): + name = "arm/lpc17xx_plx800_rom_int" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_plx800_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_EMC_M29W320E70 = True + + +class edb7312(Base): + name = "arm/edb7312" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/edb7312/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.ON_SKYEYE = Default + + + +class gba(Base): + name = "arm/gba" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/gba/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class gdbarmsim_shared(Base): + def build(self, c): + pass + + +class arm1136jfs(gdbarmsim_shared): + name = "arm/arm1136jfs" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm1136jf-s'] + c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class arm1136js(gdbarmsim_shared): + name = "arm/arm1136js" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm1136j-s'] + c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class armcortexa9(gdbarmsim_shared): + name = "arm/armcortexa9" + + def build(self, c): + c.CFLAGS = ['-mcpu=cortex-a9'] + c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class arm7tdmi(gdbarmsim_shared): + name = "arm/arm7tdmi" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi'] + c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class arm920(gdbarmsim_shared): + name = "arm/arm920" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp'] + c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class gp32(Base): + name = "arm/gp32" + + def build(self, c): + c.CFLAGS = ['-DCPU_S3C2400', '-mcpu=arm920t', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=32'] + c.LINKCMDS = ['src/lib/libbsp/arm/gp32/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class gumstix(Base): + name = "arm/gumstix" + + def build(self, c): + c.CFLAGS = ['-mcpu=xscale', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/gumstix/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + c.ON_SKYEYE = Default + + def header(self, c): + c.ON_SKYEYE = Default + + + +class lpc24xx_shared(Base): + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os'] + + + def header(self, c): + c.BSP_SMALL_MEMORY = Default + c.LPC24XX_CCLK = Default + c.LPC24XX_CONFIG_CONSOLE = Default + c.LPC24XX_CONFIG_I2C_2 = Default + c.LPC24XX_CONFIG_UART_1 = Default + c.LPC24XX_EMC_TEST = Default + c.LPC24XX_ETHERNET_RMII = Default + c.LPC24XX_OSCILLATOR_MAIN = Default + c.LPC24XX_OSCILLATOR_RTC = Default + c.LPC24XX_STOP_ETHERNET = Default + c.LPC24XX_STOP_GPDMA = Default + c.LPC24XX_STOP_USB = Default + c.LPC24XX_UART_BAUD = Default + c.LPC24XX_PCLKDIV = Default + c.LPC24XX_EMCCLKDIV = Default + c.LPC24XX_EMC_MT48LC4M16A2 = Default + c.LPC24XX_EMC_W9825G2JB75I = Default + c.LPC24XX_EMC_IS42S32800D7 = Default + c.LPC24XX_EMC_IS42S32800B = Default + c.LPC24XX_EMC_M29W160E = Default + c.LPC24XX_EMC_M29W320E70 = Default + c.LPC24XX_EMC_SST39VF3201 = Default + c.LPC24XX_CONFIG_UART_2 = Default + c.LPC24XX_CONFIG_UART_3 = Default + c.LPC24XX_CONFIG_I2C_0 = Default + c.LPC24XX_CONFIG_I2C_1 = Default + c.LPC_DMA_CHANNEL_COUNT = Default + c.BSP_START_RESET_VECTOR = Default + c.BSP_USB_OTG_TRANSCEIVER_I2C_ADDR = Default + + +class lpc24xx_ncs_rom_ext(lpc24xx_shared): + name = "arm/lpc24xx_ncs_rom_ext" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.BSP_START_RESET_VECTOR = "0x80000040" + c.LPC24XX_EMC_MT48LC4M16A2 = True + c.BSP_START_RESET_VECTOR = "0x80000040" + +class lpc24xx_ncs_rom_int(lpc24xx_shared): + name = "arm/lpc24xx_ncs_rom_int" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_EMC_M29W320E70 = True + c.BSP_START_RESET_VECTOR = "0x80000040" + + +class lpc24xx_plx800_ram(lpc24xx_shared): + name = "arm/lpc24xx_plx800_ram" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_CCLK = "51612800U" + c.LPC24XX_CONFIG_UART_1 = False + c.LPC24XX_CONFIG_UART_2 = Default + + +class lpc24xx_plx800_rom_int(lpc24xx_shared): + name = "arm/lpc24xx_plx800_rom_int" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_CCLK = "51612800U" + c.LPC24XX_CONFIG_UART_1 = False + c.LPC24XX_CONFIG_UART_2 = Default + + +class lpc24xx_ea(lpc24xx_shared): + name = "arm/lpc24xx_ea" + + def build(self, c): + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_ETHERNET_RMII = True + c.BSP_START_RESET_VECTOR = "0x80000040" + + +class lpc23xx_tli800(lpc24xx_shared): + name = "arm/lpc23xx_tli800" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_OSCILLATOR_MAIN = "3686400U" + c.LPC24XX_CCLK = "58982400U" + c.LPC24XX_HEAP_EXTEND = True + +class lpc2362(lpc24xx_shared): + name = "arm/lpc2362" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_OSCILLATOR_MAIN = "3686400U" + c.LPC24XX_CCLK = "58982400U" + c.LPC24XX_HEAP_EXTEND = True + + +#XXX: Some of the armv4 linkcmds are unnessicary (when armv7 is used) +class lpc24xx_ncs_ram(lpc24xx_shared): + name = "arm/lpc24xx_ncs_ram" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC24XX_CONFIG_I2C_1 = 1 + + +class lpc32xx_shared(Base): + + def header(self, c): + c.BSP_SMALL_MEMORY = Default + c.BSP_START_RESET_VECTOR = "" + c.LPC32XX_ARM_CLK = Default + c.LPC32XX_CONFIG_U3CLK = Default + c.LPC32XX_CONFIG_U4CLK = Default + c.LPC32XX_CONFIG_U5CLK = Default + c.LPC32XX_CONFIG_U6CLK = Default + c.LPC32XX_CONFIG_UART_CLKMODE = Default + c.LPC32XX_DISABLE_MMU = Default + c.LPC32XX_DISABLE_READ_ONLY_PROTECTION = Default + c.LPC32XX_DISABLE_READ_WRITE_DATA_CACHE = Default + c.LPC32XX_ENABLE_WATCHDOG_RESET = Default + c.LPC32XX_ETHERNET_RMII = Default + c.LPC32XX_HCLK = Default + c.LPC32XX_OSCILLATOR_MAIN = Default + c.LPC32XX_OSCILLATOR_RTC = Default + c.LPC32XX_PERIPH_CLK = Default + c.LPC32XX_STOP_ETHERNET = Default + c.LPC32XX_STOP_GPDMA = Default + c.LPC32XX_STOP_USB = Default + c.LPC32XX_UART_1_BAUD = Default + c.LPC32XX_UART_2_BAUD = Default + c.LPC32XX_UART_7_BAUD = Default + c.TESTS_USE_PRINTK = True + + + +class lpc32xx_mzx_stage_1(lpc32xx_shared): + name = "arm/lpc32xx_mzx_stage_1" + + def build(self, c): + # XXX: -Os was added as a hack to fix test builds (results were too huge resulting in an error) + c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb', '-Os'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.BSP_SMALL_MEMORY = True + c.LPC_DMA_CHANNEL_COUNT = Default + + +class lpc32xx_mzx_stage_2(lpc32xx_shared): + name = "arm/lpc32xx_mzx_stage_2" + + def build(self, c): + c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC_DMA_CHANNEL_COUNT = 8 + + +class lpc32xx_phycore(lpc32xx_shared): + name = "arm/lpc32xx_phycore" + + def build(self, c): + c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC_DMA_CHANNEL_COUNT = 8 + + +class lpc32xx_mzx(lpc32xx_shared): + name = "arm/lpc32xx_mzx" + + def build(self, c): + c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb'] + c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.LPC_DMA_CHANNEL_COUNT = 8 + + +class nds(Base): + name = "arm/nds" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm9tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb-interwork'] + c.LINKCMDS = ['src/lib/libbsp/arm/nds/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class rtl22xx_shared(Base): + def build(self, c): + c.CFLAGS = ['-mapcs-frame', '-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/rtl22xx/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + c.ON_SKYEYE = Default + + def header(self, c): + c.ON_SKYEYE = Default + + +class raspberrypi(Base): + name = "arm/raspberrypi" + def build(self, c): + c.CFLAGS = ['-mcpu=arm1176jzf-s'] + c.LINKCMDS = ['src/lib/libbsp/arm/raspberrypi/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4'] + + def header(self, c): + c.BSP_START_RESET_VECTOR = "" + + +class realview_pbx_a9_qemu(Base): + name = "arm/realview_pbx_a9_qemu" + + def build(self, c): + c.CFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9'] + c.LINKCMDS = ['src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4'] + + def header(self, c): + c.BSP_START_RESET_VECTOR = "" + c.BSP_ARM_A9MPCORE_PERIPHCLK = "100000000U" + + +class rtl22xx(rtl22xx_shared): + name = "arm/rtl22xx" + + def build(self, c): + c.CFLAGS = ['-mapcs-frame', '-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8'] + c.LINKCMDS = ['src/lib/libbsp/arm/rtl22xx/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class rtl22xx_t(rtl22xx_shared): + name = "arm/rtl22xx_t" + + def build(self, c): + c.CFLAGS = ['-mapcs-frame', '-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb', '-fno-schedule-insns2'] + c.LINKCMDS = ['src/lib/libbsp/arm/rtl22xx/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + +class smdk2410(Base): + name = "arm/smdk2410" + + def build(self, c): + c.CFLAGS = ['-DCPU_S3C2410', '-mcpu=arm920t', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=32'] + c.LINKCMDS = ['src/lib/libbsp/arm/smdk2410/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.ON_SKYEYE = Default + + +class stm32f4(Base): + name = "arm/stm32f4" + + def build(self, c): + c.CFLAGS = ['-march=armv7-m', '-mthumb'] + c.LINKCMDS = ['src/lib/libbsp/arm/stm32f4/startup/linkcmds.stm32f4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.STM32F4_HSE_OSCILLATOR = Default + c.STM32F4_SYSCLK = Default + c.STM32F4_HCLK = Default + c.STM32F4_PCLK1 = Default + c.STM32F4_PCLK2 = Default + c.STM32F4_USART_BAUD = Default + c.STM32F4_ENABLE_USART_1 = Default + c.STM32F4_ENABLE_USART_2 = Default + c.STM32F4_ENABLE_USART_3 = Default + c.STM32F4_ENABLE_UART_4 = Default + c.STM32F4_ENABLE_UART_5 = Default + c.STM32F4_ENABLE_USART_6 = Default + + +class xilinx_zynq_a9_qemu(Base): + name = "arm/xilinx_zynq_a9_qemu" + + def build(self, c): + c.CFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9'] + c.LINKCMDS = ['src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.in', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + + def header(self, c): + c.BSP_START_RESET_VECTOR = "" + c.BSP_ARM_A9MPCORE_PERIPHCLK = "100000000U" + + +class xilinx_zynq_shared(Base): + + def build(self, c): + c.CFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9'] + c.LINKCMDS = ['src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.in', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m'] + c.ZYNQ_RAM_ORIGIN = Default + c.ZYNQ_RAM_MMU = Default + c.ZYNQ_RAM_MMU_LENGTH = Default + c.ZYNQ_RAM_ORIGIN_AVAILABLE = Default + c.ZYNQ_RAM_LENGTH_AVAILABLE = Default + c.ZYNQ_RAM_INT_0_ORIGIN = Default + c.ZYNQ_RAM_INT_0_LENGTH = Default + c.ZYNQ_RAM_INT_1_ORIGIN = Default + c.ZYNQ_RAM_INT_1_LENGTH = Default + c.ZYNQ_CPUS = Default + c.ZYNQ_RAM_NOCACHE_LENGTH = Default + c.CLOCK_DRIVER_USE_FAST_IDLE = Default + + + def header(self, c): + c.BSP_START_RESET_VECTOR = Default + c.BSP_DATA_CACHE_ENABLED = Default + c.BSP_INSTRUCTION_CACHE_ENABLED = Default + c.BSP_ARM_A9MPCORE_PERIPHCLK = Default + c.ZYNQ_CLOCK_UART = Default + c.ZYNQ_CLOCK_CPU_1X = Default + + +class xilinx_zynq_a9_qemu(xilinx_zynq_shared): + name = "arm/xilinx_zynq_a9_qemu" + + def build(self, c): + c.CLOCK_DRIVER_USE_FAST_IDLE = True + c.BSP_ZYNQ_RAM_LENGTH = Default + c.ZYNQ_RAM_ORIGIN = "0x00000000" + c.ZYNQ_RAM_MMU = "0x0fffc000" + c.ZYNQ_RAM_ORIGIN_AVAILABLE = "%(ZYNQ_RAM_ORIGIN)s" + c.ZYNQ_RAM_LENGTH_AVAILABLE = "%(BSP_ZYNQ_RAM_LENGTH)s - 16k" + + def header(self, c): + c.BSP_DATA_CACHE_ENABLED = False + + +class xilinx_zynq_zc702(xilinx_zynq_shared): + name = "arm/xilinx_zynq_zc702" + + def build(self, c): + c.BSP_ARM_A9MPCORE_PERIPHCLK = "333333333U" + c.ZYNQ_RAM_ORIGIN = "0x00100000" + + def header(self, c): + c.ZYNQ_CLOCK_UART = "50000000UL" + c.BSP_ZYNQ_RAM_LENGTH = "1024M" + + +class xilinx_zynq_zc706(xilinx_zynq_shared): + name = "arm/xilinx_zynq_zc706" + + def build(self, c): + c.BSP_ZYNQ_RAM_LENGTH = "1024M" + c.ZYNQ_RAM_LENGTH_AVAILABLE = "%(BSP_ZYNQ_RAM_LENGTH)s - 4M - 16k" + + +class xilinx_zynq_zedboard(xilinx_zynq_shared): + name = "arm/xilinx_zynq_zedboard" + + def build(self, c): + c.BSP_ZYNQ_RAM_LENGTH = "512M" + c.ZYNQ_RAM_ORIGIN = "0x00100000" + + def header(self, c): + c.BSP_ARM_A9MPCORE_PERIPHCLK = "666666667U" + c.ZYNQ_CLOCK_UART = "50000000UL" + + +class beagle_shared(Base): + def build(self, c): + c.CFLAGS = ['-mcpu=cortex-a8'] + c.LINKCMDS = ['src/lib/libbsp/arm/beagle/startup/linkcmds.beagle', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base'] + + def header(self, c): + c.CONSOLE_POLLED = Default + c.CONSOLE_BAUD = Default + +class beagleboardorig(beagle_shared): + name = "arm/beagleboardorig" + + def header(self, c): + c.IS_DM3730 = True + + +class beagleboardxm(beagle_shared): + name = "arm/beagleboardxm" + + def header(self, c): + c.IS_DM3730 = True + + +class beaglebonewhite(beagle_shared): + name = "arm/beaglebonewhite" + + def header(self, c): + c.IS_AM335X = True + + +class beagleboneblack(beagle_shared): + name = "arm/beagleboneblack" + + def header(self, c): + c.IS_AM335X = True + + +class raspberrypi(Base): + name = "arm/raspberrypi" + + def build(self, c): + c.CFLAGS = ['-mcpu=arm1176jzf-s'] + c.LINKCMDS = ['src/lib/libbsp/arm/beagle/startup/linkcmds.beagle', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base'] + + |