From 9e4ade2fe846d4f25e3818c8458facdba6688263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Czarnecki?= Date: Tue, 26 Oct 2021 10:18:51 +0200 Subject: [PATCH 1/6] eos-s3: iomux config: update help message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Paweł Czarnecki --- quicklogic/pp3/utils/eos_s3_iomux_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicklogic/pp3/utils/eos_s3_iomux_config.py b/quicklogic/pp3/utils/eos_s3_iomux_config.py index 3d5faa79bc..f18189ea8b 100755 --- a/quicklogic/pp3/utils/eos_s3_iomux_config.py +++ b/quicklogic/pp3/utils/eos_s3_iomux_config.py @@ -184,7 +184,7 @@ def main(): "--output-format", default=None, type=str, - help='Output format of IOMUX commands (openocd/jlink)' + help='Output format of IOMUX commands (openocd/jlink/binary)' ) args = parser.parse_args() From 980c62006abefb025ac07325470fce528cc650b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Czarnecki?= Date: Tue, 26 Oct 2021 17:12:47 +0200 Subject: [PATCH 2/6] eos-s3: iomux config: add default iomux config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Paweł Czarnecki --- quicklogic/pp3/utils/eos_s3_iomux_config.py | 163 +++++++++++++++----- 1 file changed, 125 insertions(+), 38 deletions(-) diff --git a/quicklogic/pp3/utils/eos_s3_iomux_config.py b/quicklogic/pp3/utils/eos_s3_iomux_config.py index f18189ea8b..3c5e61864b 100755 --- a/quicklogic/pp3/utils/eos_s3_iomux_config.py +++ b/quicklogic/pp3/utils/eos_s3_iomux_config.py @@ -22,13 +22,57 @@ "SDIOMUX": ["PB-SDIOMUX", ], } -# Default configuration of the IOMUX pad -PAD_DEFAULT = { +# Default configuration of the specific IOMUX pads +PADS_1 = { + 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 35, 37, 40, 41, 42, 43 +} +PAD_DEFAULTS_1 = { + "func_sel": 0, + "ctrl_sel": "A0", + "mode": "output", + "pull": "none", + "drive": 4, + "slew": "slow", + "schmitt": 0 +} +PADS_2 = {6, 14, 15, 17, 34, 36, 38, 39, 44, 45} +PAD_DEFAULTS_2 = { + "func_sel": 0, + "ctrl_sel": "others", + "mode": "output", + "pull": "none", + "drive": 4, + "slew": "slow", + "schmitt": 0 +} +PADS_3 = {8, 9, 19, 20} +PAD_DEFAULTS_3 = { + "func_sel": 0, + "ctrl_sel": "A0", + "mode": "inout", + "pull": "down", + "drive": 4, + "slew": "slow", + "schmitt": 0 +} +PADS_4 = {0, 1} +PAD_DEFAULTS_4 = { + "func_sel": 0, + "ctrl_sel": "A0", + "mode": "output", + "pull": "up", + "drive": 4, + "slew": "slow", + "schmitt": 0 +} +PADS_5 = {16} +PAD_DEFAULTS_5 = { "func_sel": 0, - "ctrl_sel": 0, - "mode": "none", + "ctrl_sel": "A0", + "mode": "inout", "pull": "none", - "drive": 2, + "drive": 4, "slew": "slow", "schmitt": 0 } @@ -53,9 +97,6 @@ def generate_iomux_register_content(config): pad = int(pad) reg = 0 - # Patch default settings with settings read from the config file - pad_cfg = dict(PAD_DEFAULT, **pad_cfg) - func_sel = pad_cfg["func_sel"] assert func_sel in [0, 1], func_sel reg |= func_sel @@ -137,6 +178,49 @@ def generate_iomux_register_content(config): return iomux_regs +def get_pad_no(pad_alias): + pad = None + + match = re.match(r"^IO_([0-9]+)$", pad_alias) + if match is not None: + pad = int(match.group(1)) + + # Pad not found or out of range + if pad is None or pad < 0 or pad >= 46: + return -1 + + return pad + + +def prepare_default_config(pad_map): + config = {"pads": {}} + + # Populate IO config with default configuration for each pad + for pin in pad_map.items(): + pad = get_pad_no(pin[1]) + if (pad == -1): + continue + + pad_config = None + + if pad in PADS_1: + pad_config = PAD_DEFAULTS_1 + elif pad in PADS_2: + pad_config = PAD_DEFAULTS_2 + elif pad in PADS_3: + pad_config = PAD_DEFAULTS_3 + elif pad in PADS_4: + pad_config = PAD_DEFAULTS_4 + elif pad in PADS_5: + pad_config = PAD_DEFAULTS_5 + else: + raise ValueError("Unknown default IOMUX configuration") + + config["pads"][str(pad)] = pad_config + + return config + + # ============================================================================= @@ -189,6 +273,26 @@ def main(): args = parser.parse_args() + pad_map = {} + pad_alias_map = {} + + # Read pinmap + for pin_map_entry in csv.DictReader(args.map): + + if pin_map_entry['type'] not in IOB_TYPES: + continue + + name = pin_map_entry['name'] + alias = "" + if 'alias' in pin_map_entry: + alias = pin_map_entry['alias'] + pad_alias_map[alias] = name + pad_map[name] = alias + else: + pad_map[name] = name + + config = prepare_default_config(pad_map) + # Read the requested configurtion from a JSON file if args.json is not None: @@ -197,7 +301,13 @@ def main(): exit(-1) with open(args.json, "r") as fp: - config = json.load(fp) + json_config = json.load(fp) + + # Overlay default config + for design_pad, pad_config in json_config["pads"].items(): + config["pads"][str(design_pad)] = dict( + config["pads"][str(design_pad)], **pad_config + ) # Generate the config according to the EBLIF netlist and PCF constraints. else: @@ -206,23 +316,6 @@ def main(): print("Use either '--json' or '--pcf' + '--eblif' options!") exit(-1) - pad_map = {} - pad_alias_map = {} - - for pin_map_entry in csv.DictReader(args.map): - - if pin_map_entry['type'] not in IOB_TYPES: - continue - - name = pin_map_entry['name'] - alias = "" - if 'alias' in pin_map_entry: - alias = pin_map_entry['alias'] - pad_alias_map[alias] = name - pad_map[name] = alias - else: - pad_map[name] = name - # Read and parse PCF with open(args.pcf, "r") as fp: pcf = list(parse_simple_pcf(fp)) @@ -231,9 +324,6 @@ def main(): with open(args.eblif, "r") as fp: eblif = parse_blif(fp) - # Build the config - config = {"pads": {}} - eblif_inputs = eblif["inputs"]["args"] eblif_outputs = eblif["outputs"]["args"] @@ -261,19 +351,14 @@ def main(): if pad_name in pad_alias_map: pad_alias = pad_name - pad = None - - match = re.match(r"^IO_([0-9]+)$", pad_alias) - if match is not None: - pad = int(match.group(1)) - - # Pad not found or out of range - if pad is None or pad < 0 or pad >= 46: + pad_no = get_pad_no(pad_alias) + if (pad_no == -1): continue # Detect inouts: is_inout_in = constraint.net + '_$inp' in eblif_inputs is_inout_out = constraint.net + '_$out' in eblif_outputs + if is_inout_in and is_inout_out: pad_config = { "ctrl_sel": "fabric", @@ -296,7 +381,9 @@ def main(): else: assert False, (constraint.net, constraint.pad) - config["pads"][str(pad)] = pad_config + # Overlay default config + config["pads"][str(pad_no) + ] = dict(config["pads"][str(pad_no)], **pad_config) # Convert the config to IOMUX register content iomux_regs = generate_iomux_register_content(config) From dc1ec9f36bfe683cc80fb7c47fd060a48bf27030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Czarnecki?= Date: Wed, 27 Oct 2021 13:22:17 +0200 Subject: [PATCH 3/6] common: openocd: fix script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit removed unnecessary concatenation step because it is already done when converting bitstream to openocd script Signed-off-by: Paweł Czarnecki --- .../common/cmake/quicklogic_openocd.cmake | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/quicklogic/common/cmake/quicklogic_openocd.cmake b/quicklogic/common/cmake/quicklogic_openocd.cmake index d4b83c7bb7..008e35896f 100644 --- a/quicklogic/common/cmake/quicklogic_openocd.cmake +++ b/quicklogic/common/cmake/quicklogic_openocd.cmake @@ -66,24 +66,16 @@ function(ADD_OPENOCD_OUTPUT) add_file_target(FILE ${WORK_DIR_REL}/${IOMUX_CONFIG} GENERATED) # Convert the binary bitstream to a OpenOCD script - set(BIT_AS_OPENOCD "top.bit.openocd") - - add_custom_command( - OUTPUT ${WORK_DIR}/${BIT_AS_OPENOCD} - COMMAND ${PYTHON3} -m quicklogic_fasm.bitstream_to_openocd ${BITSTREAM_LOC} ${WORK_DIR}/${BIT_AS_OPENOCD} - DEPENDS ${BITSTREAM} - ) - - add_file_target(FILE ${WORK_DIR_REL}/${BIT_AS_OPENOCD} GENERATED) - - # Concatenate the bitstream OpenOCD script and the IOMUX config OpenOCD script set(OUT_OPENOCD "top.openocd") + add_custom_command( OUTPUT ${WORK_DIR}/${OUT_OPENOCD} - COMMAND head -n -1 ${WORK_DIR}/${BIT_AS_OPENOCD} > ${WORK_DIR}/${OUT_OPENOCD} && cat ${WORK_DIR}/${IOMUX_CONFIG} >> ${WORK_DIR}/${OUT_OPENOCD} && echo '}' >> ${WORK_DIR}/${OUT_OPENOCD} - DEPENDS ${WORK_DIR}/${BIT_AS_OPENOCD} ${WORK_DIR}/${IOMUX_CONFIG} + COMMAND ${PYTHON3} -m quicklogic_fasm.bitstream_to_openocd ${BITSTREAM_LOC} ${WORK_DIR}/${OUT_OPENOCD} + DEPENDS ${BITSTREAM} ${WORK_DIR}/${IOMUX_CONFIG} ) + add_file_target(FILE ${WORK_DIR_REL}/${OUT_OPENOCD} GENERATED) + add_custom_target(${PARENT}_openocd DEPENDS ${WORK_DIR}/${OUT_OPENOCD}) endfunction() From 988395f8b63a92ec67ac906b767bf6442b20fa90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Czarnecki?= Date: Wed, 27 Oct 2021 13:59:13 +0200 Subject: [PATCH 4/6] common: jlink: fix script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit removed unnecessary concatenation step because it is already done when converting bitstream to jlink script Signed-off-by: Paweł Czarnecki --- quicklogic/common/cmake/quicklogic_jlink.cmake | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/quicklogic/common/cmake/quicklogic_jlink.cmake b/quicklogic/common/cmake/quicklogic_jlink.cmake index 85254d15de..527c5fd56e 100644 --- a/quicklogic/common/cmake/quicklogic_jlink.cmake +++ b/quicklogic/common/cmake/quicklogic_jlink.cmake @@ -66,24 +66,15 @@ function(ADD_JLINK_OUTPUT) add_file_target(FILE ${WORK_DIR_REL}/${IOMUX_CONFIG} GENERATED) # Convert the binary bitstream to a JLINK script - set(BIT_AS_JLINK "top.bit.jlink") - - add_custom_command( - OUTPUT ${WORK_DIR}/${BIT_AS_JLINK} - COMMAND ${PYTHON3} -m quicklogic_fasm.bitstream_to_jlink ${BITSTREAM_LOC} ${WORK_DIR}/${BIT_AS_JLINK} - DEPENDS ${BITSTREAM} - ) - - add_file_target(FILE ${WORK_DIR_REL}/${BIT_AS_JLINK} GENERATED) - - # Concatenate th bitstream JLink script and the IOMUX config JLink script set(OUT_JLINK "top.jlink") add_custom_command( OUTPUT ${WORK_DIR}/${OUT_JLINK} - COMMAND cat ${WORK_DIR}/${BIT_AS_JLINK} ${WORK_DIR}/${IOMUX_CONFIG} >${WORK_DIR}/${OUT_JLINK} - DEPENDS ${WORK_DIR}/${BIT_AS_JLINK} ${WORK_DIR}/${IOMUX_CONFIG} + COMMAND ${PYTHON3} -m quicklogic_fasm.bitstream_to_jlink ${BITSTREAM_LOC} ${WORK_DIR}/${OUT_JLINK} + DEPENDS ${BITSTREAM} ${WORK_DIR}/${IOMUX_CONFIG} ) + add_file_target(FILE ${WORK_DIR_REL}/${OUT_JLINK} GENERATED) + add_custom_target(${PARENT}_jlink DEPENDS ${WORK_DIR}/${OUT_JLINK}) From 002acd9564faa08b468d276bc83d71fc0a8f0151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Czarnecki?= Date: Wed, 27 Oct 2021 15:27:10 +0200 Subject: [PATCH 5/6] pp3: utils: iomux config: add pp3 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Paweł Czarnecki --- .../common/cmake/quicklogic_jlink.cmake | 5 +++++ .../common/cmake/quicklogic_openocd.cmake | 5 +++++ .../symbiflow_generate_constraints | 6 +++--- quicklogic/pp3/utils/eos_s3_iomux_config.py | 20 +++++++++++++++++-- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/quicklogic/common/cmake/quicklogic_jlink.cmake b/quicklogic/common/cmake/quicklogic_jlink.cmake index 527c5fd56e..f2f2aff397 100644 --- a/quicklogic/common/cmake/quicklogic_jlink.cmake +++ b/quicklogic/common/cmake/quicklogic_jlink.cmake @@ -25,6 +25,10 @@ function(ADD_JLINK_OUTPUT) get_target_property_required(PCF ${PARENT} INPUT_IO_FILE) get_target_property_required(BITSTREAM ${PARENT} BIT) + get_target_property_required(BOARD ${PARENT} BOARD) + get_target_property_required(DEVICE ${BOARD} DEVICE) + string(REPLACE "ql-" "" DEVICE_NAME "${DEVICE}") + # Get the output directory get_file_location(BITSTREAM_LOC ${BITSTREAM}) get_filename_component(WORK_DIR ${BITSTREAM_LOC} DIRECTORY) @@ -59,6 +63,7 @@ function(ADD_JLINK_OUTPUT) ${IOMUX_CONFIG_ARGS} --map ${PINMAP} --output-format jlink + --device-name ${DEVICE_NAME} >${WORK_DIR}/${IOMUX_CONFIG} DEPENDS ${IOMUX_CONFIG_GEN} ${IOMUX_CONFIG_DEPS} ) diff --git a/quicklogic/common/cmake/quicklogic_openocd.cmake b/quicklogic/common/cmake/quicklogic_openocd.cmake index 008e35896f..3d4e3a11b0 100644 --- a/quicklogic/common/cmake/quicklogic_openocd.cmake +++ b/quicklogic/common/cmake/quicklogic_openocd.cmake @@ -25,6 +25,10 @@ function(ADD_OPENOCD_OUTPUT) get_target_property_required(PCF ${PARENT} INPUT_IO_FILE) get_target_property_required(BITSTREAM ${PARENT} BIT) + get_target_property_required(BOARD ${PARENT} BOARD) + get_target_property_required(DEVICE ${BOARD} DEVICE) + string(REPLACE "ql-" "" DEVICE_NAME "${DEVICE}") + # Get the output directory get_file_location(BITSTREAM_LOC ${BITSTREAM}) get_filename_component(WORK_DIR ${BITSTREAM_LOC} DIRECTORY) @@ -59,6 +63,7 @@ function(ADD_OPENOCD_OUTPUT) ${IOMUX_CONFIG_ARGS} --map ${PINMAP} --output-format openocd + --device-name ${DEVICE_NAME} >${WORK_DIR}/${IOMUX_CONFIG} DEPENDS ${IOMUX_CONFIG_GEN} ${IOMUX_CONFIG_DEPS} ) diff --git a/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints b/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints index c68261292d..9c2a91db75 100644 --- a/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints +++ b/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints @@ -70,9 +70,9 @@ elif [[ "$DEVICE" =~ ^(ql-.*)$ ]]; then IOMUX_OPENOCD="${PROJECT%.*}_iomux.openocd" IOMUX_BINARY="${PROJECT%.*}_iomux.bin" - python3 ${IOMUXGEN} --eblif $EBLIF --pcf $PCF --map $PINMAP --output-format=jlink > ${IOMUX_JLINK} - python3 ${IOMUXGEN} --eblif $EBLIF --pcf $PCF --map $PINMAP --output-format=openocd > ${IOMUX_OPENOCD} - python3 ${IOMUXGEN} --eblif $EBLIF --pcf $PCF --map $PINMAP --output-format=binary > ${IOMUX_BINARY} + python3 ${IOMUXGEN} --eblif $EBLIF --pcf $PCF --map $PINMAP --output-format=jlink --device-name eos-s3 > ${IOMUX_JLINK} + python3 ${IOMUXGEN} --eblif $EBLIF --pcf $PCF --map $PINMAP --output-format=openocd --device-name eos-s3 > ${IOMUX_OPENOCD} + python3 ${IOMUXGEN} --eblif $EBLIF --pcf $PCF --map $PINMAP --output-format=binary --device-name eos-s3 > ${IOMUX_BINARY} fi else diff --git a/quicklogic/pp3/utils/eos_s3_iomux_config.py b/quicklogic/pp3/utils/eos_s3_iomux_config.py index 3c5e61864b..e3bb0accf2 100755 --- a/quicklogic/pp3/utils/eos_s3_iomux_config.py +++ b/quicklogic/pp3/utils/eos_s3_iomux_config.py @@ -185,8 +185,8 @@ def get_pad_no(pad_alias): if match is not None: pad = int(match.group(1)) - # Pad not found or out of range if pad is None or pad < 0 or pad >= 46: + print("Pad not found or out of range: {}".format(pad)) return -1 return pad @@ -263,6 +263,14 @@ def main(): required=True, help='Pin map CSV file' ) + parser.add_argument( + "--device-name", + "-d", + type=str, + default="eos-s3", + choices=["eos-s3", "pp3"], + help='Device family name' + ) parser.add_argument( "--output-format", @@ -277,6 +285,8 @@ def main(): pad_alias_map = {} # Read pinmap + io_count = -1 + prev_name = "" for pin_map_entry in csv.DictReader(args.map): if pin_map_entry['type'] not in IOB_TYPES: @@ -284,12 +294,18 @@ def main(): name = pin_map_entry['name'] alias = "" + if prev_name != name: + io_count += 1 if 'alias' in pin_map_entry: alias = pin_map_entry['alias'] pad_alias_map[alias] = name pad_map[name] = alias else: - pad_map[name] = name + if args.device_name == "pp3": + pad_map[name] = "IO_" + str(io_count) + else: + pad_map[name] = name + prev_name = name config = prepare_default_config(pad_map) From 2981e332885842ff1c99603f60c702b4818ed898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Czarnecki?= Date: Wed, 27 Oct 2021 15:34:07 +0200 Subject: [PATCH 6/6] pp3: utils: rename iomux generation script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Paweł Czarnecki --- quicklogic/common/cmake/quicklogic_install.cmake | 2 +- quicklogic/common/cmake/quicklogic_jlink.cmake | 2 +- quicklogic/common/cmake/quicklogic_openocd.cmake | 2 +- .../common/toolchain_wrappers/symbiflow_generate_constraints | 2 +- .../pp3/utils/{eos_s3_iomux_config.py => iomux_config.py} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename quicklogic/pp3/utils/{eos_s3_iomux_config.py => iomux_config.py} (100%) diff --git a/quicklogic/common/cmake/quicklogic_install.cmake b/quicklogic/common/cmake/quicklogic_install.cmake index 5a0f6ce5a7..03a74bb31b 100644 --- a/quicklogic/common/cmake/quicklogic_install.cmake +++ b/quicklogic/common/cmake/quicklogic_install.cmake @@ -214,7 +214,7 @@ function(DEFINE_QL_TOOLCHAIN_TARGET) set(SCRIPTS create_ioplace.py create_place_constraints.py - eos_s3_iomux_config.py + iomux_config.py ) foreach(NAME ${SCRIPTS}) diff --git a/quicklogic/common/cmake/quicklogic_jlink.cmake b/quicklogic/common/cmake/quicklogic_jlink.cmake index f2f2aff397..a86c30e482 100644 --- a/quicklogic/common/cmake/quicklogic_jlink.cmake +++ b/quicklogic/common/cmake/quicklogic_jlink.cmake @@ -41,7 +41,7 @@ function(ADD_JLINK_OUTPUT) set(PINMAP ${symbiflow-arch-defs_BINARY_DIR}/quicklogic/pp3/${BOARD}_pinmap.csv) # Generate a JLINK script that sets IOMUX configuration. - set(IOMUX_CONFIG_GEN ${symbiflow-arch-defs_SOURCE_DIR}/quicklogic/pp3/utils/eos_s3_iomux_config.py) + set(IOMUX_CONFIG_GEN ${symbiflow-arch-defs_SOURCE_DIR}/quicklogic/pp3/utils/iomux_config.py) set(IOMUX_CONFIG "top_iomux.jlink") set(IOMUX_CONFIG_DEPS) diff --git a/quicklogic/common/cmake/quicklogic_openocd.cmake b/quicklogic/common/cmake/quicklogic_openocd.cmake index 3d4e3a11b0..0296f4e9b7 100644 --- a/quicklogic/common/cmake/quicklogic_openocd.cmake +++ b/quicklogic/common/cmake/quicklogic_openocd.cmake @@ -41,7 +41,7 @@ function(ADD_OPENOCD_OUTPUT) set(PINMAP ${symbiflow-arch-defs_BINARY_DIR}/quicklogic/pp3/${BOARD}_pinmap.csv) # Generate a OpenOCD script that sets IOMUX configuration. - set(IOMUX_CONFIG_GEN ${symbiflow-arch-defs_SOURCE_DIR}/quicklogic/pp3/utils/eos_s3_iomux_config.py) + set(IOMUX_CONFIG_GEN ${symbiflow-arch-defs_SOURCE_DIR}/quicklogic/pp3/utils/iomux_config.py) set(IOMUX_CONFIG "top_iomux.openocd") set(IOMUX_CONFIG_DEPS) diff --git a/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints b/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints index 9c2a91db75..c3cc939bd2 100644 --- a/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints +++ b/quicklogic/common/toolchain_wrappers/symbiflow_generate_constraints @@ -64,7 +64,7 @@ elif [[ "$DEVICE" =~ ^(ql-.*)$ ]]; then # EOS-S3 IOMUX configuration if [[ "$DEVICE" =~ ^(ql-eos-s3)$ ]]; then - IOMUXGEN=`realpath ${MYPATH}/python/pp3_eos_s3_iomux_config.py` + IOMUXGEN=`realpath ${MYPATH}/python/pp3_iomux_config.py` # script renamed during installation, prefixed with family name IOMUX_JLINK="${PROJECT%.*}_iomux.jlink" IOMUX_OPENOCD="${PROJECT%.*}_iomux.openocd" diff --git a/quicklogic/pp3/utils/eos_s3_iomux_config.py b/quicklogic/pp3/utils/iomux_config.py similarity index 100% rename from quicklogic/pp3/utils/eos_s3_iomux_config.py rename to quicklogic/pp3/utils/iomux_config.py