|  | function(define_ice40_board) | 
|  | set(options) | 
|  | set(oneValueArgs BOARD DEVICE PACKAGE PROG_TOOL PROG_CMD) | 
|  | set(multiValueArgs) | 
|  | cmake_parse_arguments( | 
|  | DEFINE_ICE40_BOARD | 
|  | "${options}" | 
|  | "${oneValueArgs}" | 
|  | "${multiValueArgs}" | 
|  | ${ARGN} | 
|  | ) | 
|  |  | 
|  | define_board( | 
|  | BOARD ${DEFINE_ICE40_BOARD_BOARD} | 
|  | DEVICE ${DEFINE_ICE40_BOARD_DEVICE} | 
|  | PACKAGE ${DEFINE_ICE40_BOARD_PACKAGE} | 
|  | PROG_TOOL ${DEFINE_ICE40_BOARD_PROG_TOOL} | 
|  | PROG_CMD ${DEFINE_ICE40_BOARD_PROG_PROG_CMD} | 
|  | ) | 
|  |  | 
|  | get_target_property_required(PACKAGE_PINMAP ${DEFINE_ICE40_BOARD_DEVICE} ${DEFINE_ICE40_BOARD_PACKAGE}_PINMAP) | 
|  |  | 
|  | set_target_properties( | 
|  | ${DEFINE_ICE40_BOARD_BOARD} | 
|  | PROPERTIES | 
|  | PINMAP ${PACKAGE_PINMAP} | 
|  | ) | 
|  |  | 
|  | endfunction() | 
|  |  | 
|  | # Lattice iCEstick | 
|  | # http://www.latticesemi.com/icestick | 
|  | # --------------------------------------------- | 
|  | define_ice40_board( | 
|  | BOARD icestick | 
|  | DEVICE hx1k | 
|  | PACKAGE tq144 | 
|  | ) | 
|  |  | 
|  | # Lattice iCEblink40-LP1K Evaluation Kit | 
|  | # **HX** version is different! | 
|  | # --------------------------------------------- | 
|  | define_ice40_board( | 
|  | BOARD iceblink40-lp1k | 
|  | DEVICE lp1k | 
|  | PACKAGE qn84 | 
|  | ) | 
|  |  | 
|  | if (NOT LIGHT_BUILD) | 
|  |  | 
|  | # iCE40-HX8K Breakout Board Evaluation Kit | 
|  | # iCE40-HX8K-CT256 | 
|  | # --------------------------------------------- | 
|  | define_ice40_board( | 
|  | BOARD hx8k-b-evn | 
|  | DEVICE hx8k | 
|  | PACKAGE ct256 | 
|  | ) | 
|  |  | 
|  | # DPControl icevision board | 
|  | # iCE40UP5K-SG48 | 
|  | # --------------------------------------------- | 
|  | define_ice40_board( | 
|  | BOARD icevision | 
|  | DEVICE up5k | 
|  | PACKAGE sg48 | 
|  | ) | 
|  |  | 
|  | get_target_property_required(TINYFPGAB env TINYFPGAB) | 
|  |  | 
|  | # TinyFPGA B2 | 
|  | # iCE40-LP8K-CM81 | 
|  | # --------------------------------------------- | 
|  | define_ice40_board( | 
|  | BOARD tinyfpga-b2 | 
|  | DEVICE lp8k | 
|  | PACKAGE cm81 | 
|  | PROG_CMD "${TINYFPGAB} --program \${OUT_BIN}" | 
|  | ) | 
|  |  | 
|  | get_target_property_required(TINYPROG env TINYPROG) | 
|  |  | 
|  | # TinyFPGA BX | 
|  | # iCE40-LP8K-CM81 | 
|  | # --------------------------------------------- | 
|  | define_ice40_board( | 
|  | BOARD tinyfpga-bx | 
|  | DEVICE lp8k | 
|  | PACKAGE cm81 | 
|  | PROG_CMD "${TINYPROG} -p \${OUT_BIN}" | 
|  | ) | 
|  |  | 
|  | endif (NOT LIGHT_BUILD) |