diff --git a/dts/nxp/rw/RW610-pinctrl.h b/dts/nxp/rw/RW610-pinctrl.h new file mode 100644 index 000000000..0c8d6c563 --- /dev/null +++ b/dts/nxp/rw/RW610-pinctrl.h @@ -0,0 +1,2220 @@ +/* + * Copyright 2022-2024 NXP + * SPDX-License-Identifier: Apache-2.0 + * + * Note: File generated by parse_iomux.py + * for RW610 + */ + +#ifndef _ZEPHYR_DTS_BINDING_RW610_ +#define _ZEPHYR_DTS_BINDING_RW610_ + +/* Internal macros to pack and extract pin configuration data. */ +/* GPIO configuration packing macros */ +#define IOMUX_OFFSET_ENABLE(offset, enable, shift) \ + ((((offset) << 1) | (enable & 0x1)) << shift) +#define IOMUX_SCTIMER_OUT_CLR(offset, enable) \ + IOMUX_OFFSET_ENABLE(offset, enable, 0) +#define IOMUX_SCTIMER_IN_CLR(offset, enable) \ + IOMUX_OFFSET_ENABLE(offset, enable, 4) +#define IOMUX_CTIMER_CLR(offset, enable)\ + IOMUX_OFFSET_ENABLE(offset, enable, 8) +#define IOMUX_FSEL_CLR(mask) ((mask) << 13) +#define IOMUX_FLEXCOMM_CLR(idx, mask) \ + (((mask) << 45) | ((idx) << 56)) + +/* GPIO configuration extraction macros */ +#define IOMUX_GET_SCTIMER_OUT_CLR_ENABLE(mux) ((mux) & 0x1) +#define IOMUX_GET_SCTIMER_OUT_CLR_OFFSET(mux) (((mux) >> 1) & 0x7) +#define IOMUX_GET_SCTIMER_IN_CLR_ENABLE(mux) (((mux) >> 4) & 0x1) +#define IOMUX_GET_SCTIMER_IN_CLR_OFFSET(mux) (((mux) >> 5) & 0x7) +#define IOMUX_GET_CTIMER_CLR_ENABLE(mux) (((mux) >> 8) & 0x1ULL) +#define IOMUX_GET_CTIMER_CLR_OFFSET(mux) (((mux) >> 9) & 0xFULL) +#define IOMUX_GET_FSEL_CLR_MASK(mux) (((mux) >> 13) & 0xFFFFFFFFULL) +#define IOMUX_GET_FLEXCOMM_CLR_MASK(mux) \ + (((mux) >> 45) & 0x7FFULL) +#define IOMUX_GET_FLEXCOMM_CLR_IDX(mux) \ + (((mux) >> 56) & 0xF) + +/* Pin mux type and gpio offset macros */ +#define IOMUX_GPIO_IDX(x) ((x) & 0x7F) +#define IOMUX_TYPE(x) (((x) & 0xF) << 7) +#define IOMUX_GET_GPIO_IDX(mux) ((mux) & 0x7F) +#define IOMUX_GET_TYPE(mux) (((mux) >> 7) & 0xF) + +/* Flexcomm specific macros */ +#define IOMUX_FLEXCOMM_IDX(x) (((x) & 0xF) << 11) +#define IOMUX_FLEXCOMM_BIT(x) (((x) & 0xF) << 15) +#define IOMUX_GET_FLEXCOMM_IDX(mux) (((mux) >> 11) & 0xF) +#define IOMUX_GET_FLEXCOMM_BIT(mux) (((mux) >> 15) & 0xF) + +/* Function select specific macros */ +#define IOMUX_FSEL_BIT(mux) (((mux) & 0x1F) << 11) +#define IOMUX_GET_FSEL_BIT(mux) (((mux) >> 11) & 0x1F) + +/* CTimer specific macros */ +#define IOMUX_CTIMER_BIT(x) (((x) & 0xF) << 11) +#define IOMUX_GET_CTIMER_BIT(mux) (((mux) >> 11) & 0xF) + +/* SCtimer specific macros */ +#define IOMUX_SCTIMER_BIT(x) (((x) & 0xF) << 11) +#define IOMUX_GET_SCTIMER_BIT(mux) (((mux) >> 11) & 0xF) + + +/* Mux Types */ +#define IOMUX_FLEXCOMM 0x0 +#define IOMUX_FSEL 0x1 +#define IOMUX_CTIMER_IN 0x2 +#define IOMUX_CTIMER_OUT 0x3 +#define IOMUX_SCTIMER_IN 0x4 +#define IOMUX_SCTIMER_OUT 0x5 +#define IOMUX_GPIO 0x6 +#define IOMUX_SGPIO 0x7 +#define IOMUX_AON 0x8 + + +/* Pin configuration settings */ +#define IOMUX_PAD_PULL(x) (((x) & 0x3) << 19) +#define IOMUX_PAD_SLEW(x) (((x) & 0x3) << 21) +#define IOMUX_PAD_SLEEP_FORCE(en, val) \ + ((((en) & 0x1) << 24) | (((val) & 0x1) << 23)) +#define IOMUX_PAD_GET_PULL(mux) (((mux) >> 19) & 0x3) +#define IOMUX_PAD_GET_SLEW(mux) (((mux) >> 21) & 0x3) +#define IOMUX_PAD_GET_SLEEP_FORCE_EN(mux) (((mux) >> 24) & 0x1) +#define IOMUX_PAD_GET_SLEEP_FORCE_VAL(mux) (((mux) >> 23) & 0x1) +/* + * GPIO mux options. These options are used to clear all alternate + * pin functions, so the pin controller will use GPIO mode. + */ + +#define IOMUX_GPIO_CLR_0 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_1 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(1ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_2 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x32eULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_3 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x22eULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_4 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x2dULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x800000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(1ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(1ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_5 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_6 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_7 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_8 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_9 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_10 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_11 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(8ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(8ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_12 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8020ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(2ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_13 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(3ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_14 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(4ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_15 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_16 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_17 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_18 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0xc600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_19 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_20 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_21 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(5ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_22 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_23 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_24 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x40000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(6ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_25 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x10000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(7ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_26 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x80000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(4ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(4ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_27 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x10000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(5ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(5ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_28 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_29 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_30 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_31 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_32 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_33 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_34 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_35 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(6ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(6ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_36 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(7ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(7ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_37 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(8ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_38 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(9ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_39 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(10ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_40 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_41 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_42 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_43 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_44 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_45 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_46 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_47 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_48 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_49 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_50 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x22000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_51 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x40810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(11ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_52 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x80810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(12ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_53 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x100810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(13ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_54 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x200810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(14ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_55 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x400000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(9ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(9ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_56 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_57 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_58 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_59 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_60 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_61 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x20000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_62 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_63 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_OPS \ + IOMUX_GPIO_CLR_0, IOMUX_GPIO_CLR_1, IOMUX_GPIO_CLR_2, IOMUX_GPIO_CLR_3, \ + IOMUX_GPIO_CLR_4, IOMUX_GPIO_CLR_5, IOMUX_GPIO_CLR_6, IOMUX_GPIO_CLR_7, \ + IOMUX_GPIO_CLR_8, IOMUX_GPIO_CLR_9, IOMUX_GPIO_CLR_10, IOMUX_GPIO_CLR_11, \ + IOMUX_GPIO_CLR_12, IOMUX_GPIO_CLR_13, IOMUX_GPIO_CLR_14, IOMUX_GPIO_CLR_15, \ + IOMUX_GPIO_CLR_16, IOMUX_GPIO_CLR_17, IOMUX_GPIO_CLR_18, IOMUX_GPIO_CLR_19, \ + IOMUX_GPIO_CLR_20, IOMUX_GPIO_CLR_21, IOMUX_GPIO_CLR_22, IOMUX_GPIO_CLR_23, \ + IOMUX_GPIO_CLR_24, IOMUX_GPIO_CLR_25, IOMUX_GPIO_CLR_26, IOMUX_GPIO_CLR_27, \ + IOMUX_GPIO_CLR_28, IOMUX_GPIO_CLR_29, IOMUX_GPIO_CLR_30, IOMUX_GPIO_CLR_31, \ + IOMUX_GPIO_CLR_32, IOMUX_GPIO_CLR_33, IOMUX_GPIO_CLR_34, IOMUX_GPIO_CLR_35, \ + IOMUX_GPIO_CLR_36, IOMUX_GPIO_CLR_37, IOMUX_GPIO_CLR_38, IOMUX_GPIO_CLR_39, \ + IOMUX_GPIO_CLR_40, IOMUX_GPIO_CLR_41, IOMUX_GPIO_CLR_42, IOMUX_GPIO_CLR_43, \ + IOMUX_GPIO_CLR_44, IOMUX_GPIO_CLR_45, IOMUX_GPIO_CLR_46, IOMUX_GPIO_CLR_47, \ + IOMUX_GPIO_CLR_48, IOMUX_GPIO_CLR_49, IOMUX_GPIO_CLR_50, IOMUX_GPIO_CLR_51, \ + IOMUX_GPIO_CLR_52, IOMUX_GPIO_CLR_53, IOMUX_GPIO_CLR_54, IOMUX_GPIO_CLR_55, \ + IOMUX_GPIO_CLR_56, IOMUX_GPIO_CLR_57, IOMUX_GPIO_CLR_58, IOMUX_GPIO_CLR_59, \ + IOMUX_GPIO_CLR_60, IOMUX_GPIO_CLR_61, IOMUX_GPIO_CLR_62, IOMUX_GPIO_CLR_63 + +/* + * Alternate mux functions. These functions select alternate + * modes for pins + */ + +#define IO_MUX_FC0_USART_SCK_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC0_USART_SCK IO_MUX_FC0_USART_SCK_IO4 + +#define IO_MUX_FC0_USART_DATA_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC0_USART_DATA_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC0_USART_DATA IO_MUX_FC0_USART_DATA_IO2 IO_MUX_FC0_USART_DATA_IO3 + +#define IO_MUX_FC0_USART_CMD_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC0_USART_CMD_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC0_USART_CMD IO_MUX_FC0_USART_CMD_IO0 IO_MUX_FC0_USART_CMD_IO5 + +#define IO_MUX_FC0_I2C_2_3_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC0_I2C_2_3_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC0_I2C_2_3 IO_MUX_FC0_I2C_2_3_IO2 IO_MUX_FC0_I2C_2_3_IO3 + +#define IO_MUX_FC0_I2C_0_5_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC0_I2C_0_5_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC0_I2C_0_5 IO_MUX_FC0_I2C_0_5_IO0 IO_MUX_FC0_I2C_0_5_IO5 + +#define IO_MUX_FC0_I2S_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC0_I2S_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC0_I2S_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC0_I2S IO_MUX_FC0_I2S_IO2 IO_MUX_FC0_I2S_IO3 IO_MUX_FC0_I2S_IO4 + +#define IO_MUX_FC0_I2S_DATA_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC0_I2S_DATA IO_MUX_FC0_I2S_DATA_IO2 + +#define IO_MUX_FC0_SPI_SS0_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0 IO_MUX_FC0_SPI_SS0_IO0 IO_MUX_FC0_SPI_SS0_IO2 IO_MUX_FC0_SPI_SS0_IO3 IO_MUX_FC0_SPI_SS0_IO4 + +#define IO_MUX_FC0_SPI_SS1_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1 IO_MUX_FC0_SPI_SS1_IO2 IO_MUX_FC0_SPI_SS1_IO3 IO_MUX_FC0_SPI_SS1_IO4 IO_MUX_FC0_SPI_SS1_IO5 + +#define IO_MUX_FC1_USART_SCK_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC1_USART_SCK IO_MUX_FC1_USART_SCK_IO7 + +#define IO_MUX_FC1_USART_DATA_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC1_USART_DATA_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC1_USART_DATA IO_MUX_FC1_USART_DATA_IO8 IO_MUX_FC1_USART_DATA_IO9 + +#define IO_MUX_FC1_USART_CMD_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC1_USART_CMD_IO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC1_USART_CMD IO_MUX_FC1_USART_CMD_IO6 IO_MUX_FC1_USART_CMD_IO10 + +#define IO_MUX_FC1_I2C_8_9_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC1_I2C_8_9_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC1_I2C_8_9 IO_MUX_FC1_I2C_8_9_IO8 IO_MUX_FC1_I2C_8_9_IO9 + +#define IO_MUX_FC1_I2C_6_10_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC1_I2C_6_10_IO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC1_I2C_6_10 IO_MUX_FC1_I2C_6_10_IO6 IO_MUX_FC1_I2C_6_10_IO10 + +#define IO_MUX_FC1_I2S_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC1_I2S_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC1_I2S_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC1_I2S IO_MUX_FC1_I2S_IO7 IO_MUX_FC1_I2S_IO8 IO_MUX_FC1_I2S_IO9 + +#define IO_MUX_FC1_I2S_DATA_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC1_I2S_DATA IO_MUX_FC1_I2S_DATA_IO9 + +#define IO_MUX_FC1_SPI_SS0_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0 IO_MUX_FC1_SPI_SS0_IO6 IO_MUX_FC1_SPI_SS0_IO7 IO_MUX_FC1_SPI_SS0_IO8 IO_MUX_FC1_SPI_SS0_IO9 + +#define IO_MUX_FC1_SPI_SS1_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1_IO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1 IO_MUX_FC1_SPI_SS1_IO7 IO_MUX_FC1_SPI_SS1_IO8 IO_MUX_FC1_SPI_SS1_IO9 IO_MUX_FC1_SPI_SS1_IO10 + +#define IO_MUX_FC1_SPI_SS2_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2_IO11 \ + (IOMUX_GPIO_IDX(11) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2 IO_MUX_FC1_SPI_SS2_IO7 IO_MUX_FC1_SPI_SS2_IO8 IO_MUX_FC1_SPI_SS2_IO9 IO_MUX_FC1_SPI_SS2_IO11 + +#define IO_MUX_FC1_SPI_SS3_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3 IO_MUX_FC1_SPI_SS3_IO7 IO_MUX_FC1_SPI_SS3_IO8 IO_MUX_FC1_SPI_SS3_IO9 IO_MUX_FC1_SPI_SS3_IO12 + +#define IO_MUX_FC2_USART_SCK_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC2_USART_SCK IO_MUX_FC2_USART_SCK_IO15 + +#define IO_MUX_FC2_USART_DATA_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC2_USART_DATA_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC2_USART_DATA IO_MUX_FC2_USART_DATA_IO13 IO_MUX_FC2_USART_DATA_IO14 + +#define IO_MUX_FC2_USART_CMD_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC2_USART_CMD_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC2_USART_CMD IO_MUX_FC2_USART_CMD_IO16 IO_MUX_FC2_USART_CMD_IO17 + +#define IO_MUX_FC2_I2C_13_14_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC2_I2C_13_14_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC2_I2C_13_14 IO_MUX_FC2_I2C_13_14_IO13 IO_MUX_FC2_I2C_13_14_IO14 + +#define IO_MUX_FC2_I2C_16_17_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC2_I2C_16_17_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC2_I2C_16_17 IO_MUX_FC2_I2C_16_17_IO16 IO_MUX_FC2_I2C_16_17_IO17 + +#define IO_MUX_FC2_I2S_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC2_I2S_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC2_I2S_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC2_I2S IO_MUX_FC2_I2S_IO13 IO_MUX_FC2_I2S_IO14 IO_MUX_FC2_I2S_IO15 + +#define IO_MUX_FC2_I2S_DATA_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC2_I2S_DATA IO_MUX_FC2_I2S_DATA_IO13 + +#define IO_MUX_FC2_SPI_SS0_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0 IO_MUX_FC2_SPI_SS0_IO6 IO_MUX_FC2_SPI_SS0_IO7 IO_MUX_FC2_SPI_SS0_IO8 IO_MUX_FC2_SPI_SS0_IO9 + +#define IO_MUX_FC2_SPI_SS1_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1 IO_MUX_FC2_SPI_SS1_IO13 IO_MUX_FC2_SPI_SS1_IO14 IO_MUX_FC2_SPI_SS1_IO15 IO_MUX_FC2_SPI_SS1_IO17 + +#define IO_MUX_FC2_SPI_SS2_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2_IO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2 IO_MUX_FC2_SPI_SS2_IO13 IO_MUX_FC2_SPI_SS2_IO14 IO_MUX_FC2_SPI_SS2_IO15 IO_MUX_FC2_SPI_SS2_IO21 + +#define IO_MUX_FC2_SPI_SS3_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3 IO_MUX_FC2_SPI_SS3_IO13 IO_MUX_FC2_SPI_SS3_IO14 IO_MUX_FC2_SPI_SS3_IO15 IO_MUX_FC2_SPI_SS3_IO18 + +#define IO_MUX_FC3_USART_SCK_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC3_USART_SCK IO_MUX_FC3_USART_SCK_IO25 + +#define IO_MUX_FC3_USART_DATA_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC3_USART_DATA_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC3_USART_DATA IO_MUX_FC3_USART_DATA_IO24 IO_MUX_FC3_USART_DATA_IO26 + +#define IO_MUX_FC3_USART_CMD_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC3_USART_CMD_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC3_USART_CMD IO_MUX_FC3_USART_CMD_IO19 IO_MUX_FC3_USART_CMD_IO20 + +#define IO_MUX_FC3_I2C_24_26_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC3_I2C_24_26_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC3_I2C_24_26 IO_MUX_FC3_I2C_24_26_IO24 IO_MUX_FC3_I2C_24_26_IO26 + +#define IO_MUX_FC3_I2C_19_20_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC3_I2C_19_20_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC3_I2C_19_20 IO_MUX_FC3_I2C_19_20_IO19 IO_MUX_FC3_I2C_19_20_IO20 + +#define IO_MUX_FC3_I2S_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC3_I2S_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC3_I2S_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC3_I2S IO_MUX_FC3_I2S_IO24 IO_MUX_FC3_I2S_IO25 IO_MUX_FC3_I2S_IO26 + +#define IO_MUX_FC3_I2S_DATA_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC3_I2S_DATA IO_MUX_FC3_I2S_DATA_IO24 + +#define IO_MUX_FC3_SPI_SS0_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0 IO_MUX_FC3_SPI_SS0_IO20 IO_MUX_FC3_SPI_SS0_IO24 IO_MUX_FC3_SPI_SS0_IO25 IO_MUX_FC3_SPI_SS0_IO26 + +#define IO_MUX_FC3_SPI_SS1_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1 IO_MUX_FC3_SPI_SS1_IO19 IO_MUX_FC3_SPI_SS1_IO24 IO_MUX_FC3_SPI_SS1_IO25 IO_MUX_FC3_SPI_SS1_IO26 + +#define IO_MUX_FC3_SPI_SS2_IO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2 IO_MUX_FC3_SPI_SS2_IO22 IO_MUX_FC3_SPI_SS2_IO24 IO_MUX_FC3_SPI_SS2_IO25 IO_MUX_FC3_SPI_SS2_IO26 + +#define IO_MUX_FC3_SPI_SS3_IO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3 IO_MUX_FC3_SPI_SS3_IO23 IO_MUX_FC3_SPI_SS3_IO24 IO_MUX_FC3_SPI_SS3_IO25 IO_MUX_FC3_SPI_SS3_IO26 + +#define IO_MUX_FC14_USART_SCK_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC14_USART_SCK IO_MUX_FC14_USART_SCK_IO54 + +#define IO_MUX_FC14_USART_DATA_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC14_USART_DATA_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC14_USART_DATA IO_MUX_FC14_USART_DATA_IO56 IO_MUX_FC14_USART_DATA_IO57 + +#define IO_MUX_FC14_USART_CMD_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC14_USART_CMD_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC14_USART_CMD IO_MUX_FC14_USART_CMD_IO53 IO_MUX_FC14_USART_CMD_IO55 + +#define IO_MUX_FC14_I2C_56_57_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC14_I2C_56_57_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC14_I2C_56_57 IO_MUX_FC14_I2C_56_57_IO56 IO_MUX_FC14_I2C_56_57_IO57 + +#define IO_MUX_FC14_I2C_53_55_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC14_I2C_53_55_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC14_I2C_53_55 IO_MUX_FC14_I2C_53_55_IO53 IO_MUX_FC14_I2C_53_55_IO55 + +#define IO_MUX_FC14_I2S_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC14_I2S_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC14_I2S_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC14_I2S IO_MUX_FC14_I2S_IO54 IO_MUX_FC14_I2S_IO56 IO_MUX_FC14_I2S_IO57 + +#define IO_MUX_FC14_I2S_DATA_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC14_I2S_DATA IO_MUX_FC14_I2S_DATA_IO57 + +#define IO_MUX_FC14_SPI_SS0_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0 IO_MUX_FC14_SPI_SS0_IO53 IO_MUX_FC14_SPI_SS0_IO54 IO_MUX_FC14_SPI_SS0_IO56 IO_MUX_FC14_SPI_SS0_IO57 + +#define IO_MUX_FC14_SPI_SS1_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1 IO_MUX_FC14_SPI_SS1_IO54 IO_MUX_FC14_SPI_SS1_IO55 IO_MUX_FC14_SPI_SS1_IO56 IO_MUX_FC14_SPI_SS1_IO57 + +#define IO_MUX_FC14_SPI_SS2_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2 IO_MUX_FC14_SPI_SS2_IO51 IO_MUX_FC14_SPI_SS2_IO54 IO_MUX_FC14_SPI_SS2_IO56 IO_MUX_FC14_SPI_SS2_IO57 + +#define IO_MUX_FC14_SPI_SS3_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3 IO_MUX_FC14_SPI_SS3_IO52 IO_MUX_FC14_SPI_SS3_IO54 IO_MUX_FC14_SPI_SS3_IO56 IO_MUX_FC14_SPI_SS3_IO57 + +#define IO_MUX_QUAD_SPI_FLASH_IO28 \ + (IOMUX_GPIO_IDX(28) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO29 \ + (IOMUX_GPIO_IDX(29) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO30 \ + (IOMUX_GPIO_IDX(30) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO31 \ + (IOMUX_GPIO_IDX(31) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO32 \ + (IOMUX_GPIO_IDX(32) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO33 \ + (IOMUX_GPIO_IDX(33) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO34 \ + (IOMUX_GPIO_IDX(34) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH IO_MUX_QUAD_SPI_FLASH_IO28 IO_MUX_QUAD_SPI_FLASH_IO29 IO_MUX_QUAD_SPI_FLASH_IO30 IO_MUX_QUAD_SPI_FLASH_IO31 IO_MUX_QUAD_SPI_FLASH_IO32 IO_MUX_QUAD_SPI_FLASH_IO33 IO_MUX_QUAD_SPI_FLASH_IO34 + +#define IO_MUX_QUAD_SPI_PSRAM_IO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO40 \ + (IOMUX_GPIO_IDX(40) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO41 \ + (IOMUX_GPIO_IDX(41) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM IO_MUX_QUAD_SPI_PSRAM_IO35 IO_MUX_QUAD_SPI_PSRAM_IO36 IO_MUX_QUAD_SPI_PSRAM_IO37 IO_MUX_QUAD_SPI_PSRAM_IO38 IO_MUX_QUAD_SPI_PSRAM_IO39 IO_MUX_QUAD_SPI_PSRAM_IO40 IO_MUX_QUAD_SPI_PSRAM_IO41 + +#define IO_MUX_PDM_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM IO_MUX_PDM_IO51 IO_MUX_PDM_IO52 IO_MUX_PDM_IO53 IO_MUX_PDM_IO54 + +#define IO_MUX_USB_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(5)) + +#define IO_MUX_USB IO_MUX_USB_IO12 + +#define IO_MUX_SCT_OUT_0_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_SCT_OUT_0 IO_MUX_SCT_OUT_0_IO3 + +#define IO_MUX_SCT_OUT_1_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_SCT_OUT_1 IO_MUX_SCT_OUT_1_IO4 + +#define IO_MUX_SCT_OUT_8_IO11 \ + (IOMUX_GPIO_IDX(11) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(8)) + +#define IO_MUX_SCT_OUT_8 IO_MUX_SCT_OUT_8_IO11 + +#define IO_MUX_SCT_OUT_4_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_SCT_OUT_4 IO_MUX_SCT_OUT_4_IO26 + +#define IO_MUX_SCT_OUT_5_IO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_SCT_OUT_5 IO_MUX_SCT_OUT_5_IO27 + +#define IO_MUX_SCT_OUT_6_IO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_SCT_OUT_6 IO_MUX_SCT_OUT_6_IO35 + +#define IO_MUX_SCT_OUT_7_IO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_SCT_OUT_7 IO_MUX_SCT_OUT_7_IO36 + +#define IO_MUX_SCT_OUT_9_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(9)) + +#define IO_MUX_SCT_OUT_9 IO_MUX_SCT_OUT_9_IO55 + +#define IO_MUX_SCT_IN_0_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_SCT_IN_0 IO_MUX_SCT_IN_0_IO3 + +#define IO_MUX_SCT_IN_1_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_SCT_IN_1 IO_MUX_SCT_IN_1_IO4 + +#define IO_MUX_SCT_IN_2_IO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(2)) + +#define IO_MUX_SCT_IN_2 IO_MUX_SCT_IN_2_IO22 + +#define IO_MUX_SCT_IN_3_IO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(3)) + +#define IO_MUX_SCT_IN_3 IO_MUX_SCT_IN_3_IO23 + +#define IO_MUX_SCT_IN_4_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_SCT_IN_4 IO_MUX_SCT_IN_4_IO26 + +#define IO_MUX_SCT_IN_5_IO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_SCT_IN_5 IO_MUX_SCT_IN_5_IO27 + +#define IO_MUX_SCT_IN_6_IO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_SCT_IN_6 IO_MUX_SCT_IN_6_IO35 + +#define IO_MUX_SCT_IN_7_IO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_SCT_IN_7 IO_MUX_SCT_IN_7_IO36 + +#define IO_MUX_CT0_MAT0_OUT_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_CT0_MAT0_OUT IO_MUX_CT0_MAT0_OUT_IO0 + +#define IO_MUX_CT0_MAT1_OUT_IO1 \ + (IOMUX_GPIO_IDX(1) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_CT0_MAT1_OUT IO_MUX_CT0_MAT1_OUT_IO1 + +#define IO_MUX_CT0_MAT2_OUT_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(2)) + +#define IO_MUX_CT0_MAT2_OUT IO_MUX_CT0_MAT2_OUT_IO12 + +#define IO_MUX_CT0_MAT3_OUT_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(3)) + +#define IO_MUX_CT0_MAT3_OUT IO_MUX_CT0_MAT3_OUT_IO13 + +#define IO_MUX_CT1_MAT0_OUT_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_CT1_MAT0_OUT IO_MUX_CT1_MAT0_OUT_IO14 + +#define IO_MUX_CT1_MAT1_OUT_IO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_CT1_MAT1_OUT IO_MUX_CT1_MAT1_OUT_IO21 + +#define IO_MUX_CT1_MAT2_OUT_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_CT1_MAT2_OUT IO_MUX_CT1_MAT2_OUT_IO24 + +#define IO_MUX_CT1_MAT3_OUT_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_CT1_MAT3_OUT IO_MUX_CT1_MAT3_OUT_IO25 + +#define IO_MUX_CT2_MAT0_OUT_IO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(8)) + +#define IO_MUX_CT2_MAT0_OUT IO_MUX_CT2_MAT0_OUT_IO37 + +#define IO_MUX_CT2_MAT1_OUT_IO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(9)) + +#define IO_MUX_CT2_MAT1_OUT IO_MUX_CT2_MAT1_OUT_IO38 + +#define IO_MUX_CT2_MAT2_OUT_IO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(10)) + +#define IO_MUX_CT2_MAT2_OUT IO_MUX_CT2_MAT2_OUT_IO39 + +#define IO_MUX_CT2_MAT3_OUT_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(11)) + +#define IO_MUX_CT2_MAT3_OUT IO_MUX_CT2_MAT3_OUT_IO51 + +#define IO_MUX_CT3_MAT0_OUT_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(12)) + +#define IO_MUX_CT3_MAT0_OUT IO_MUX_CT3_MAT0_OUT_IO52 + +#define IO_MUX_CT3_MAT1_OUT_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(13)) + +#define IO_MUX_CT3_MAT1_OUT IO_MUX_CT3_MAT1_OUT_IO53 + +#define IO_MUX_CT3_MAT2_OUT_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(14)) + +#define IO_MUX_CT3_MAT2_OUT IO_MUX_CT3_MAT2_OUT_IO54 + +#define IO_MUX_CT_INP0_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_CT_INP0 IO_MUX_CT_INP0_IO0 + +#define IO_MUX_CT_INP1_IO1 \ + (IOMUX_GPIO_IDX(1) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_CT_INP1 IO_MUX_CT_INP1_IO1 + +#define IO_MUX_CT_INP2_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(2)) + +#define IO_MUX_CT_INP2 IO_MUX_CT_INP2_IO12 + +#define IO_MUX_CT_INP3_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(3)) + +#define IO_MUX_CT_INP3 IO_MUX_CT_INP3_IO13 + +#define IO_MUX_CT_INP4_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_CT_INP4 IO_MUX_CT_INP4_IO14 + +#define IO_MUX_CT_INP5_IO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_CT_INP5 IO_MUX_CT_INP5_IO21 + +#define IO_MUX_CT_INP6_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_CT_INP6 IO_MUX_CT_INP6_IO24 + +#define IO_MUX_CT_INP7_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_CT_INP7 IO_MUX_CT_INP7_IO25 + +#define IO_MUX_CT_INP8_IO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(8)) + +#define IO_MUX_CT_INP8 IO_MUX_CT_INP8_IO37 + +#define IO_MUX_CT_INP9_IO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(9)) + +#define IO_MUX_CT_INP9 IO_MUX_CT_INP9_IO38 + +#define IO_MUX_CT_INP10_IO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(10)) + +#define IO_MUX_CT_INP10 IO_MUX_CT_INP10_IO39 + +#define IO_MUX_CT_INP11_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(11)) + +#define IO_MUX_CT_INP11 IO_MUX_CT_INP11_IO51 + +#define IO_MUX_CT_INP12_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(12)) + +#define IO_MUX_CT_INP12 IO_MUX_CT_INP12_IO52 + +#define IO_MUX_CT_INP13_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(13)) + +#define IO_MUX_CT_INP13 IO_MUX_CT_INP13_IO53 + +#define IO_MUX_CT_INP14_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(14)) + +#define IO_MUX_CT_INP14 IO_MUX_CT_INP14_IO54 + +#define IO_MUX_MCLK_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(6)) + +#define IO_MUX_MCLK IO_MUX_MCLK_IO5 + +#define IO_MUX_UTICK_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK IO_MUX_UTICK_IO15 IO_MUX_UTICK_IO16 IO_MUX_UTICK_IO17 IO_MUX_UTICK_IO18 + +#define IO_MUX_USIM_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM IO_MUX_USIM_IO15 IO_MUX_USIM_IO16 IO_MUX_USIM_IO17 IO_MUX_USIM_IO18 + +#define IO_MUX_LCD_8080_IO42 \ + (IOMUX_GPIO_IDX(42) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO43 \ + (IOMUX_GPIO_IDX(43) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO44 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO45 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO46 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO47 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO48 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO49 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080 IO_MUX_LCD_8080_IO42 IO_MUX_LCD_8080_IO43 IO_MUX_LCD_8080_IO44 IO_MUX_LCD_8080_IO45 IO_MUX_LCD_8080_IO46 IO_MUX_LCD_8080_IO47 IO_MUX_LCD_8080_IO48 IO_MUX_LCD_8080_IO49 IO_MUX_LCD_8080_IO51 IO_MUX_LCD_8080_IO52 IO_MUX_LCD_8080_IO53 IO_MUX_LCD_8080_IO54 IO_MUX_LCD_8080_IO56 IO_MUX_LCD_8080_IO57 + +#define IO_MUX_LCD_SPI_IO44 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO45 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO46 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO47 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO48 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO49 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI IO_MUX_LCD_SPI_IO44 IO_MUX_LCD_SPI_IO45 IO_MUX_LCD_SPI_IO46 IO_MUX_LCD_SPI_IO47 IO_MUX_LCD_SPI_IO48 IO_MUX_LCD_SPI_IO49 + +#define IO_MUX_FREQ_GPIO_CLK_IO50 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(13)) + +#define IO_MUX_FREQ_GPIO_CLK IO_MUX_FREQ_GPIO_CLK_IO50 + +#define IO_MUX_GPIO_INT_BMATCH_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(14)) + +#define IO_MUX_GPIO_INT_BMATCH IO_MUX_GPIO_INT_BMATCH_IO18 + +#define IO_MUX_GAU_TRIGGER0_IO50 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(17)) + +#define IO_MUX_GAU_TRIGGER0 IO_MUX_GAU_TRIGGER0_IO50 + +#define IO_MUX_ACOMP0_GPIO_OUT_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(18)) + +#define IO_MUX_ACOMP0_GPIO_OUT IO_MUX_ACOMP0_GPIO_OUT_IO51 + +#define IO_MUX_ACOMP0_EDGE_PULSE_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(19)) + +#define IO_MUX_ACOMP0_EDGE_PULSE IO_MUX_ACOMP0_EDGE_PULSE_IO52 + +#define IO_MUX_ACOMP1_GPIO_OUT_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(20)) + +#define IO_MUX_ACOMP1_GPIO_OUT IO_MUX_ACOMP1_GPIO_OUT_IO53 + +#define IO_MUX_ACOMP1_EDGE_PULSE_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(21)) + +#define IO_MUX_ACOMP1_EDGE_PULSE IO_MUX_ACOMP1_EDGE_PULSE_IO54 + +#define IO_MUX_GAU_TRIGGER1_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(22)) + +#define IO_MUX_GAU_TRIGGER1 IO_MUX_GAU_TRIGGER1_IO55 + +#define IO_MUX_SDIO_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO IO_MUX_SDIO_IO12 IO_MUX_SDIO_IO15 IO_MUX_SDIO_IO16 IO_MUX_SDIO_IO17 IO_MUX_SDIO_IO18 IO_MUX_SDIO_IO19 IO_MUX_SDIO_IO20 + +#define IO_MUX_ENET_CLK_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(16)) + +#define IO_MUX_ENET_CLK IO_MUX_ENET_CLK_IO25 + +#define IO_MUX_ENET_RX_IO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX_IO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX_IO62 \ + (IOMUX_GPIO_IDX(62) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX_IO63 \ + (IOMUX_GPIO_IDX(63) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX IO_MUX_ENET_RX_IO22 IO_MUX_ENET_RX_IO23 IO_MUX_ENET_RX_IO62 IO_MUX_ENET_RX_IO63 + +#define IO_MUX_ENET_TX_IO58 \ + (IOMUX_GPIO_IDX(58) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(25)) + +#define IO_MUX_ENET_TX_IO59 \ + (IOMUX_GPIO_IDX(59) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(25)) + +#define IO_MUX_ENET_TX_IO60 \ + (IOMUX_GPIO_IDX(60) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(25)) + +#define IO_MUX_ENET_TX IO_MUX_ENET_TX_IO58 IO_MUX_ENET_TX_IO59 IO_MUX_ENET_TX_IO60 + +#define IO_MUX_ENET_MDIO_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(27)) + +#define IO_MUX_ENET_MDIO_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(27)) + +#define IO_MUX_ENET_MDIO IO_MUX_ENET_MDIO_IO56 IO_MUX_ENET_MDIO_IO57 + +#define IO_MUX_ENET_TIMER0_IO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(28)) + +#define IO_MUX_ENET_TIMER0 IO_MUX_ENET_TIMER0_IO27 + +#define IO_MUX_ENET_TIMER1_IO61 \ + (IOMUX_GPIO_IDX(61) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(29)) + +#define IO_MUX_ENET_TIMER1 IO_MUX_ENET_TIMER1_IO61 + +#define IO_MUX_ENET_TIMER2_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(30)) + +#define IO_MUX_ENET_TIMER2 IO_MUX_ENET_TIMER2_IO24 + +#define IO_MUX_ENET_TIMER3_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(31)) + +#define IO_MUX_ENET_TIMER3 IO_MUX_ENET_TIMER3_IO26 + +#define IO_MUX_FLEXSPI_TEST_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(24)) + +#define IO_MUX_FLEXSPI_TEST IO_MUX_FLEXSPI_TEST_IO6 + +#define IO_MUX_CLKIN_FRM_PD_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(23)) + +#define IO_MUX_CLKIN_FRM_PD IO_MUX_CLKIN_FRM_PD_IO4 + +#define IO_MUX_GPIO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO1 \ + (IOMUX_GPIO_IDX(1) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO11 \ + (IOMUX_GPIO_IDX(11) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO28 \ + (IOMUX_GPIO_IDX(28) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO29 \ + (IOMUX_GPIO_IDX(29) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO30 \ + (IOMUX_GPIO_IDX(30) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO31 \ + (IOMUX_GPIO_IDX(31) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO32 \ + (IOMUX_GPIO_IDX(32) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO33 \ + (IOMUX_GPIO_IDX(33) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO34 \ + (IOMUX_GPIO_IDX(34) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO40 \ + (IOMUX_GPIO_IDX(40) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO41 \ + (IOMUX_GPIO_IDX(41) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO42 \ + (IOMUX_GPIO_IDX(42) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO43 \ + (IOMUX_GPIO_IDX(43) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO44 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO45 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO46 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO47 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO48 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO49 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO50 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO58 \ + (IOMUX_GPIO_IDX(58) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO59 \ + (IOMUX_GPIO_IDX(59) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO60 \ + (IOMUX_GPIO_IDX(60) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO61 \ + (IOMUX_GPIO_IDX(61) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO62 \ + (IOMUX_GPIO_IDX(62) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO63 \ + (IOMUX_GPIO_IDX(63) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_SGPIO0 \ + (IOMUX_GPIO_IDX(32) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO0 IO_MUX_SGPIO0 + +#define IO_MUX_SGPIO1 \ + (IOMUX_GPIO_IDX(33) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO1 IO_MUX_SGPIO1 + +#define IO_MUX_SGPIO2 \ + (IOMUX_GPIO_IDX(34) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO2 IO_MUX_SGPIO2 + +#define IO_MUX_SGPIO3 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO3 IO_MUX_SGPIO3 + +#define IO_MUX_SGPIO4 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO4 IO_MUX_SGPIO4 + +#define IO_MUX_SGPIO5 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO5 IO_MUX_SGPIO5 + +#define IO_MUX_SGPIO6 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO6 IO_MUX_SGPIO6 + +#define IO_MUX_SGPIO7 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO7 IO_MUX_SGPIO7 + +#define IO_MUX_SGPIO8 \ + (IOMUX_GPIO_IDX(40) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO8 IO_MUX_SGPIO8 + +#define IO_MUX_SGPIO9 \ + (IOMUX_GPIO_IDX(41) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO9 IO_MUX_SGPIO9 + +#define IO_MUX_SGPIO10 \ + (IOMUX_GPIO_IDX(42) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO10 IO_MUX_SGPIO10 + +#define IO_MUX_SGPIO11 \ + (IOMUX_GPIO_IDX(43) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO11 IO_MUX_SGPIO11 + +#define IO_MUX_SGPIO12 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO12 IO_MUX_SGPIO12 + +#define IO_MUX_SGPIO13 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO13 IO_MUX_SGPIO13 + +#define IO_MUX_SGPIO14 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO14 IO_MUX_SGPIO14 + +#define IO_MUX_SGPIO15 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO15 IO_MUX_SGPIO15 + +#define IO_MUX_SGPIO16 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO16 IO_MUX_SGPIO16 + +#define IO_MUX_SGPIO17 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO17 IO_MUX_SGPIO17 + +#define IO_MUX_SGPIO18 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO18 IO_MUX_SGPIO18 + +#define IO_MUX_SGPIO19 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO19 IO_MUX_SGPIO19 + +#define IO_MUX_SGPIO20 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO20 IO_MUX_SGPIO20 + +#define IO_MUX_SGPIO21 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO21 IO_MUX_SGPIO21 + +#define IO_MUX_SGPIO22 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO22 IO_MUX_SGPIO22 + +#define IO_MUX_SGPIO23 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO23 IO_MUX_SGPIO23 + +#define IO_MUX_SGPIO24 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO24 IO_MUX_SGPIO24 + +#define IO_MUX_SGPIO25 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO25 IO_MUX_SGPIO25 + +#define IO_MUX_SGPIO26 \ + (IOMUX_GPIO_IDX(58) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO26 IO_MUX_SGPIO26 + +#define IO_MUX_SGPIO27 \ + (IOMUX_GPIO_IDX(59) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO27 IO_MUX_SGPIO27 + +#define IO_MUX_SGPIO28 \ + (IOMUX_GPIO_IDX(60) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO28 IO_MUX_SGPIO28 + +#define IO_MUX_SGPIO29 \ + (IOMUX_GPIO_IDX(61) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO29 IO_MUX_SGPIO29 + +#define IO_MUX_SGPIO30 \ + (IOMUX_GPIO_IDX(62) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO30 IO_MUX_SGPIO30 + +#define IO_MUX_SGPIO31 \ + (IOMUX_GPIO_IDX(63) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO31 IO_MUX_SGPIO31 + +#define IO_MUX_AON_CAPTURE_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_AON)) + +#define IO_MUX_AON_CAPTURE IO_MUX_AON_CAPTURE_IO26 + +#endif /* _ZEPHYR_DTS_BINDING_RW610_ */ diff --git a/dts/nxp/rw/RW612-pinctrl.h b/dts/nxp/rw/RW612-pinctrl.h new file mode 100644 index 000000000..6bd37d223 --- /dev/null +++ b/dts/nxp/rw/RW612-pinctrl.h @@ -0,0 +1,2220 @@ +/* + * Copyright 2022-2024 NXP + * SPDX-License-Identifier: Apache-2.0 + * + * Note: File generated by parse_iomux.py + * for RW612 + */ + +#ifndef _ZEPHYR_DTS_BINDING_RW612_ +#define _ZEPHYR_DTS_BINDING_RW612_ + +/* Internal macros to pack and extract pin configuration data. */ +/* GPIO configuration packing macros */ +#define IOMUX_OFFSET_ENABLE(offset, enable, shift) \ + ((((offset) << 1) | (enable & 0x1)) << shift) +#define IOMUX_SCTIMER_OUT_CLR(offset, enable) \ + IOMUX_OFFSET_ENABLE(offset, enable, 0) +#define IOMUX_SCTIMER_IN_CLR(offset, enable) \ + IOMUX_OFFSET_ENABLE(offset, enable, 4) +#define IOMUX_CTIMER_CLR(offset, enable)\ + IOMUX_OFFSET_ENABLE(offset, enable, 8) +#define IOMUX_FSEL_CLR(mask) ((mask) << 13) +#define IOMUX_FLEXCOMM_CLR(idx, mask) \ + (((mask) << 45) | ((idx) << 56)) + +/* GPIO configuration extraction macros */ +#define IOMUX_GET_SCTIMER_OUT_CLR_ENABLE(mux) ((mux) & 0x1) +#define IOMUX_GET_SCTIMER_OUT_CLR_OFFSET(mux) (((mux) >> 1) & 0x7) +#define IOMUX_GET_SCTIMER_IN_CLR_ENABLE(mux) (((mux) >> 4) & 0x1) +#define IOMUX_GET_SCTIMER_IN_CLR_OFFSET(mux) (((mux) >> 5) & 0x7) +#define IOMUX_GET_CTIMER_CLR_ENABLE(mux) (((mux) >> 8) & 0x1ULL) +#define IOMUX_GET_CTIMER_CLR_OFFSET(mux) (((mux) >> 9) & 0xFULL) +#define IOMUX_GET_FSEL_CLR_MASK(mux) (((mux) >> 13) & 0xFFFFFFFFULL) +#define IOMUX_GET_FLEXCOMM_CLR_MASK(mux) \ + (((mux) >> 45) & 0x7FFULL) +#define IOMUX_GET_FLEXCOMM_CLR_IDX(mux) \ + (((mux) >> 56) & 0xF) + +/* Pin mux type and gpio offset macros */ +#define IOMUX_GPIO_IDX(x) ((x) & 0x7F) +#define IOMUX_TYPE(x) (((x) & 0xF) << 7) +#define IOMUX_GET_GPIO_IDX(mux) ((mux) & 0x7F) +#define IOMUX_GET_TYPE(mux) (((mux) >> 7) & 0xF) + +/* Flexcomm specific macros */ +#define IOMUX_FLEXCOMM_IDX(x) (((x) & 0xF) << 11) +#define IOMUX_FLEXCOMM_BIT(x) (((x) & 0xF) << 15) +#define IOMUX_GET_FLEXCOMM_IDX(mux) (((mux) >> 11) & 0xF) +#define IOMUX_GET_FLEXCOMM_BIT(mux) (((mux) >> 15) & 0xF) + +/* Function select specific macros */ +#define IOMUX_FSEL_BIT(mux) (((mux) & 0x1F) << 11) +#define IOMUX_GET_FSEL_BIT(mux) (((mux) >> 11) & 0x1F) + +/* CTimer specific macros */ +#define IOMUX_CTIMER_BIT(x) (((x) & 0xF) << 11) +#define IOMUX_GET_CTIMER_BIT(mux) (((mux) >> 11) & 0xF) + +/* SCtimer specific macros */ +#define IOMUX_SCTIMER_BIT(x) (((x) & 0xF) << 11) +#define IOMUX_GET_SCTIMER_BIT(mux) (((mux) >> 11) & 0xF) + + +/* Mux Types */ +#define IOMUX_FLEXCOMM 0x0 +#define IOMUX_FSEL 0x1 +#define IOMUX_CTIMER_IN 0x2 +#define IOMUX_CTIMER_OUT 0x3 +#define IOMUX_SCTIMER_IN 0x4 +#define IOMUX_SCTIMER_OUT 0x5 +#define IOMUX_GPIO 0x6 +#define IOMUX_SGPIO 0x7 +#define IOMUX_AON 0x8 + + +/* Pin configuration settings */ +#define IOMUX_PAD_PULL(x) (((x) & 0x3) << 19) +#define IOMUX_PAD_SLEW(x) (((x) & 0x3) << 21) +#define IOMUX_PAD_SLEEP_FORCE(en, val) \ + ((((en) & 0x1) << 24) | (((val) & 0x1) << 23)) +#define IOMUX_PAD_GET_PULL(mux) (((mux) >> 19) & 0x3) +#define IOMUX_PAD_GET_SLEW(mux) (((mux) >> 21) & 0x3) +#define IOMUX_PAD_GET_SLEEP_FORCE_EN(mux) (((mux) >> 24) & 0x1) +#define IOMUX_PAD_GET_SLEEP_FORCE_VAL(mux) (((mux) >> 23) & 0x1) +/* + * GPIO mux options. These options are used to clear all alternate + * pin functions, so the pin controller will use GPIO mode. + */ + +#define IOMUX_GPIO_CLR_0 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_1 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(1ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_2 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x32eULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_3 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x22eULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_4 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x2dULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x800000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(1ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(1ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_5 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_6 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_7 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_8 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_9 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_10 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_11 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(8ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(8ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_12 \ + (IOMUX_FLEXCOMM_CLR(0x1ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8020ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(2ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_13 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(3ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_14 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(4ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_15 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_16 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_17 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_18 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0xc600ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_19 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_20 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_21 \ + (IOMUX_FLEXCOMM_CLR(0x2ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x0ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(5ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_22 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_23 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_24 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x40000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(6ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_25 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x10000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(7ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_26 \ + (IOMUX_FLEXCOMM_CLR(0x3ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x80000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(4ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(4ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_27 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x10000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(5ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(5ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_28 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_29 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_30 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_31 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_32 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_33 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_34 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_35 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(6ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(6ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_36 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(7ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(7ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_37 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(8ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_38 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(9ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_39 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(10ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_40 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_41 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_42 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_43 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_44 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_45 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_46 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_47 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_48 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_49 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x1800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_50 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x22000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_51 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x40ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x40810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(11ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_52 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x80ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x80810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(12ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_53 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x418ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x100810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(13ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_54 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0xedULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x200810ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(14ULL, 1ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_55 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x430ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x400000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(9ULL, 1ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(9ULL, 1ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_56 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x2eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_57 \ + (IOMUX_FLEXCOMM_CLR(0x6ULL, 0x3eeULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x8000800ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_58 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_59 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_60 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x2000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_61 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x20000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_62 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_CLR_63 \ + (IOMUX_FLEXCOMM_CLR(0x0ULL, 0x0ULL) | /* Flexcomm bits to clear */ \ + IOMUX_FSEL_CLR(0x4000000ULL) | /* FSEL bits to clear */ \ + IOMUX_CTIMER_CLR(0ULL, 0ULL) | /* CTIMER offset to clear */ \ + IOMUX_SCTIMER_IN_CLR(0ULL, 0ULL) | /* SCTIMER input offset to clear */ \ + IOMUX_SCTIMER_OUT_CLR(0ULL, 0ULL)) /* SCTIMER output offset to clear */ + +#define IOMUX_GPIO_OPS \ + IOMUX_GPIO_CLR_0, IOMUX_GPIO_CLR_1, IOMUX_GPIO_CLR_2, IOMUX_GPIO_CLR_3, \ + IOMUX_GPIO_CLR_4, IOMUX_GPIO_CLR_5, IOMUX_GPIO_CLR_6, IOMUX_GPIO_CLR_7, \ + IOMUX_GPIO_CLR_8, IOMUX_GPIO_CLR_9, IOMUX_GPIO_CLR_10, IOMUX_GPIO_CLR_11, \ + IOMUX_GPIO_CLR_12, IOMUX_GPIO_CLR_13, IOMUX_GPIO_CLR_14, IOMUX_GPIO_CLR_15, \ + IOMUX_GPIO_CLR_16, IOMUX_GPIO_CLR_17, IOMUX_GPIO_CLR_18, IOMUX_GPIO_CLR_19, \ + IOMUX_GPIO_CLR_20, IOMUX_GPIO_CLR_21, IOMUX_GPIO_CLR_22, IOMUX_GPIO_CLR_23, \ + IOMUX_GPIO_CLR_24, IOMUX_GPIO_CLR_25, IOMUX_GPIO_CLR_26, IOMUX_GPIO_CLR_27, \ + IOMUX_GPIO_CLR_28, IOMUX_GPIO_CLR_29, IOMUX_GPIO_CLR_30, IOMUX_GPIO_CLR_31, \ + IOMUX_GPIO_CLR_32, IOMUX_GPIO_CLR_33, IOMUX_GPIO_CLR_34, IOMUX_GPIO_CLR_35, \ + IOMUX_GPIO_CLR_36, IOMUX_GPIO_CLR_37, IOMUX_GPIO_CLR_38, IOMUX_GPIO_CLR_39, \ + IOMUX_GPIO_CLR_40, IOMUX_GPIO_CLR_41, IOMUX_GPIO_CLR_42, IOMUX_GPIO_CLR_43, \ + IOMUX_GPIO_CLR_44, IOMUX_GPIO_CLR_45, IOMUX_GPIO_CLR_46, IOMUX_GPIO_CLR_47, \ + IOMUX_GPIO_CLR_48, IOMUX_GPIO_CLR_49, IOMUX_GPIO_CLR_50, IOMUX_GPIO_CLR_51, \ + IOMUX_GPIO_CLR_52, IOMUX_GPIO_CLR_53, IOMUX_GPIO_CLR_54, IOMUX_GPIO_CLR_55, \ + IOMUX_GPIO_CLR_56, IOMUX_GPIO_CLR_57, IOMUX_GPIO_CLR_58, IOMUX_GPIO_CLR_59, \ + IOMUX_GPIO_CLR_60, IOMUX_GPIO_CLR_61, IOMUX_GPIO_CLR_62, IOMUX_GPIO_CLR_63 + +/* + * Alternate mux functions. These functions select alternate + * modes for pins + */ + +#define IO_MUX_FC0_USART_SCK_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC0_USART_SCK IO_MUX_FC0_USART_SCK_IO4 + +#define IO_MUX_FC0_USART_DATA_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC0_USART_DATA_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC0_USART_DATA IO_MUX_FC0_USART_DATA_IO2 IO_MUX_FC0_USART_DATA_IO3 + +#define IO_MUX_FC0_USART_CMD_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC0_USART_CMD_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC0_USART_CMD IO_MUX_FC0_USART_CMD_IO0 IO_MUX_FC0_USART_CMD_IO5 + +#define IO_MUX_FC0_I2C_2_3_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC0_I2C_2_3_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC0_I2C_2_3 IO_MUX_FC0_I2C_2_3_IO2 IO_MUX_FC0_I2C_2_3_IO3 + +#define IO_MUX_FC0_I2C_0_5_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC0_I2C_0_5_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC0_I2C_0_5 IO_MUX_FC0_I2C_0_5_IO0 IO_MUX_FC0_I2C_0_5_IO5 + +#define IO_MUX_FC0_I2S_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC0_I2S_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC0_I2S_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC0_I2S IO_MUX_FC0_I2S_IO2 IO_MUX_FC0_I2S_IO3 IO_MUX_FC0_I2S_IO4 + +#define IO_MUX_FC0_I2S_DATA_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC0_I2S_DATA IO_MUX_FC0_I2S_DATA_IO2 + +#define IO_MUX_FC0_SPI_SS0_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC0_SPI_SS0 IO_MUX_FC0_SPI_SS0_IO0 IO_MUX_FC0_SPI_SS0_IO2 IO_MUX_FC0_SPI_SS0_IO3 IO_MUX_FC0_SPI_SS0_IO4 + +#define IO_MUX_FC0_SPI_SS1_IO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(0) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC0_SPI_SS1 IO_MUX_FC0_SPI_SS1_IO2 IO_MUX_FC0_SPI_SS1_IO3 IO_MUX_FC0_SPI_SS1_IO4 IO_MUX_FC0_SPI_SS1_IO5 + +#define IO_MUX_FC1_USART_SCK_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC1_USART_SCK IO_MUX_FC1_USART_SCK_IO7 + +#define IO_MUX_FC1_USART_DATA_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC1_USART_DATA_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC1_USART_DATA IO_MUX_FC1_USART_DATA_IO8 IO_MUX_FC1_USART_DATA_IO9 + +#define IO_MUX_FC1_USART_CMD_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC1_USART_CMD_IO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC1_USART_CMD IO_MUX_FC1_USART_CMD_IO6 IO_MUX_FC1_USART_CMD_IO10 + +#define IO_MUX_FC1_I2C_8_9_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC1_I2C_8_9_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC1_I2C_8_9 IO_MUX_FC1_I2C_8_9_IO8 IO_MUX_FC1_I2C_8_9_IO9 + +#define IO_MUX_FC1_I2C_6_10_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC1_I2C_6_10_IO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC1_I2C_6_10 IO_MUX_FC1_I2C_6_10_IO6 IO_MUX_FC1_I2C_6_10_IO10 + +#define IO_MUX_FC1_I2S_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC1_I2S_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC1_I2S_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC1_I2S IO_MUX_FC1_I2S_IO7 IO_MUX_FC1_I2S_IO8 IO_MUX_FC1_I2S_IO9 + +#define IO_MUX_FC1_I2S_DATA_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC1_I2S_DATA IO_MUX_FC1_I2S_DATA_IO9 + +#define IO_MUX_FC1_SPI_SS0_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC1_SPI_SS0 IO_MUX_FC1_SPI_SS0_IO6 IO_MUX_FC1_SPI_SS0_IO7 IO_MUX_FC1_SPI_SS0_IO8 IO_MUX_FC1_SPI_SS0_IO9 + +#define IO_MUX_FC1_SPI_SS1_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1_IO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC1_SPI_SS1 IO_MUX_FC1_SPI_SS1_IO7 IO_MUX_FC1_SPI_SS1_IO8 IO_MUX_FC1_SPI_SS1_IO9 IO_MUX_FC1_SPI_SS1_IO10 + +#define IO_MUX_FC1_SPI_SS2_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2_IO11 \ + (IOMUX_GPIO_IDX(11) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC1_SPI_SS2 IO_MUX_FC1_SPI_SS2_IO7 IO_MUX_FC1_SPI_SS2_IO8 IO_MUX_FC1_SPI_SS2_IO9 IO_MUX_FC1_SPI_SS2_IO11 + +#define IO_MUX_FC1_SPI_SS3_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(1) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC1_SPI_SS3 IO_MUX_FC1_SPI_SS3_IO7 IO_MUX_FC1_SPI_SS3_IO8 IO_MUX_FC1_SPI_SS3_IO9 IO_MUX_FC1_SPI_SS3_IO12 + +#define IO_MUX_FC2_USART_SCK_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC2_USART_SCK IO_MUX_FC2_USART_SCK_IO15 + +#define IO_MUX_FC2_USART_DATA_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC2_USART_DATA_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC2_USART_DATA IO_MUX_FC2_USART_DATA_IO13 IO_MUX_FC2_USART_DATA_IO14 + +#define IO_MUX_FC2_USART_CMD_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC2_USART_CMD_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC2_USART_CMD IO_MUX_FC2_USART_CMD_IO16 IO_MUX_FC2_USART_CMD_IO17 + +#define IO_MUX_FC2_I2C_13_14_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC2_I2C_13_14_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC2_I2C_13_14 IO_MUX_FC2_I2C_13_14_IO13 IO_MUX_FC2_I2C_13_14_IO14 + +#define IO_MUX_FC2_I2C_16_17_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC2_I2C_16_17_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC2_I2C_16_17 IO_MUX_FC2_I2C_16_17_IO16 IO_MUX_FC2_I2C_16_17_IO17 + +#define IO_MUX_FC2_I2S_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC2_I2S_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC2_I2S_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC2_I2S IO_MUX_FC2_I2S_IO13 IO_MUX_FC2_I2S_IO14 IO_MUX_FC2_I2S_IO15 + +#define IO_MUX_FC2_I2S_DATA_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC2_I2S_DATA IO_MUX_FC2_I2S_DATA_IO13 + +#define IO_MUX_FC2_SPI_SS0_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0_IO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0_IO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0_IO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC2_SPI_SS0 IO_MUX_FC2_SPI_SS0_IO6 IO_MUX_FC2_SPI_SS0_IO7 IO_MUX_FC2_SPI_SS0_IO8 IO_MUX_FC2_SPI_SS0_IO9 + +#define IO_MUX_FC2_SPI_SS1_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC2_SPI_SS1 IO_MUX_FC2_SPI_SS1_IO13 IO_MUX_FC2_SPI_SS1_IO14 IO_MUX_FC2_SPI_SS1_IO15 IO_MUX_FC2_SPI_SS1_IO17 + +#define IO_MUX_FC2_SPI_SS2_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2_IO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC2_SPI_SS2 IO_MUX_FC2_SPI_SS2_IO13 IO_MUX_FC2_SPI_SS2_IO14 IO_MUX_FC2_SPI_SS2_IO15 IO_MUX_FC2_SPI_SS2_IO21 + +#define IO_MUX_FC2_SPI_SS3_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(2) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC2_SPI_SS3 IO_MUX_FC2_SPI_SS3_IO13 IO_MUX_FC2_SPI_SS3_IO14 IO_MUX_FC2_SPI_SS3_IO15 IO_MUX_FC2_SPI_SS3_IO18 + +#define IO_MUX_FC3_USART_SCK_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC3_USART_SCK IO_MUX_FC3_USART_SCK_IO25 + +#define IO_MUX_FC3_USART_DATA_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC3_USART_DATA_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC3_USART_DATA IO_MUX_FC3_USART_DATA_IO24 IO_MUX_FC3_USART_DATA_IO26 + +#define IO_MUX_FC3_USART_CMD_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC3_USART_CMD_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC3_USART_CMD IO_MUX_FC3_USART_CMD_IO19 IO_MUX_FC3_USART_CMD_IO20 + +#define IO_MUX_FC3_I2C_24_26_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC3_I2C_24_26_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC3_I2C_24_26 IO_MUX_FC3_I2C_24_26_IO24 IO_MUX_FC3_I2C_24_26_IO26 + +#define IO_MUX_FC3_I2C_19_20_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC3_I2C_19_20_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC3_I2C_19_20 IO_MUX_FC3_I2C_19_20_IO19 IO_MUX_FC3_I2C_19_20_IO20 + +#define IO_MUX_FC3_I2S_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC3_I2S_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC3_I2S_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC3_I2S IO_MUX_FC3_I2S_IO24 IO_MUX_FC3_I2S_IO25 IO_MUX_FC3_I2S_IO26 + +#define IO_MUX_FC3_I2S_DATA_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC3_I2S_DATA IO_MUX_FC3_I2S_DATA_IO24 + +#define IO_MUX_FC3_SPI_SS0_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC3_SPI_SS0 IO_MUX_FC3_SPI_SS0_IO20 IO_MUX_FC3_SPI_SS0_IO24 IO_MUX_FC3_SPI_SS0_IO25 IO_MUX_FC3_SPI_SS0_IO26 + +#define IO_MUX_FC3_SPI_SS1_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC3_SPI_SS1 IO_MUX_FC3_SPI_SS1_IO19 IO_MUX_FC3_SPI_SS1_IO24 IO_MUX_FC3_SPI_SS1_IO25 IO_MUX_FC3_SPI_SS1_IO26 + +#define IO_MUX_FC3_SPI_SS2_IO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC3_SPI_SS2 IO_MUX_FC3_SPI_SS2_IO22 IO_MUX_FC3_SPI_SS2_IO24 IO_MUX_FC3_SPI_SS2_IO25 IO_MUX_FC3_SPI_SS2_IO26 + +#define IO_MUX_FC3_SPI_SS3_IO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(3) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC3_SPI_SS3 IO_MUX_FC3_SPI_SS3_IO23 IO_MUX_FC3_SPI_SS3_IO24 IO_MUX_FC3_SPI_SS3_IO25 IO_MUX_FC3_SPI_SS3_IO26 + +#define IO_MUX_FC14_USART_SCK_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(0)) + +#define IO_MUX_FC14_USART_SCK IO_MUX_FC14_USART_SCK_IO54 + +#define IO_MUX_FC14_USART_DATA_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC14_USART_DATA_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(9)) + +#define IO_MUX_FC14_USART_DATA IO_MUX_FC14_USART_DATA_IO56 IO_MUX_FC14_USART_DATA_IO57 + +#define IO_MUX_FC14_USART_CMD_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC14_USART_CMD_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(10)) + +#define IO_MUX_FC14_USART_CMD IO_MUX_FC14_USART_CMD_IO53 IO_MUX_FC14_USART_CMD_IO55 + +#define IO_MUX_FC14_I2C_56_57_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC14_I2C_56_57_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(1)) + +#define IO_MUX_FC14_I2C_56_57 IO_MUX_FC14_I2C_56_57_IO56 IO_MUX_FC14_I2C_56_57_IO57 + +#define IO_MUX_FC14_I2C_53_55_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC14_I2C_53_55_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(4)) + +#define IO_MUX_FC14_I2C_53_55 IO_MUX_FC14_I2C_53_55_IO53 IO_MUX_FC14_I2C_53_55_IO55 + +#define IO_MUX_FC14_I2S_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC14_I2S_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC14_I2S_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(2)) + +#define IO_MUX_FC14_I2S IO_MUX_FC14_I2S_IO54 IO_MUX_FC14_I2S_IO56 IO_MUX_FC14_I2S_IO57 + +#define IO_MUX_FC14_I2S_DATA_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(8)) + +#define IO_MUX_FC14_I2S_DATA IO_MUX_FC14_I2S_DATA_IO57 + +#define IO_MUX_FC14_SPI_SS0_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(3)) + +#define IO_MUX_FC14_SPI_SS0 IO_MUX_FC14_SPI_SS0_IO53 IO_MUX_FC14_SPI_SS0_IO54 IO_MUX_FC14_SPI_SS0_IO56 IO_MUX_FC14_SPI_SS0_IO57 + +#define IO_MUX_FC14_SPI_SS1_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(5)) + +#define IO_MUX_FC14_SPI_SS1 IO_MUX_FC14_SPI_SS1_IO54 IO_MUX_FC14_SPI_SS1_IO55 IO_MUX_FC14_SPI_SS1_IO56 IO_MUX_FC14_SPI_SS1_IO57 + +#define IO_MUX_FC14_SPI_SS2_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(6)) + +#define IO_MUX_FC14_SPI_SS2 IO_MUX_FC14_SPI_SS2_IO51 IO_MUX_FC14_SPI_SS2_IO54 IO_MUX_FC14_SPI_SS2_IO56 IO_MUX_FC14_SPI_SS2_IO57 + +#define IO_MUX_FC14_SPI_SS3_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FLEXCOMM) | \ + IOMUX_FLEXCOMM_IDX(6) | IOMUX_FLEXCOMM_BIT(7)) + +#define IO_MUX_FC14_SPI_SS3 IO_MUX_FC14_SPI_SS3_IO52 IO_MUX_FC14_SPI_SS3_IO54 IO_MUX_FC14_SPI_SS3_IO56 IO_MUX_FC14_SPI_SS3_IO57 + +#define IO_MUX_QUAD_SPI_FLASH_IO28 \ + (IOMUX_GPIO_IDX(28) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO29 \ + (IOMUX_GPIO_IDX(29) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO30 \ + (IOMUX_GPIO_IDX(30) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO31 \ + (IOMUX_GPIO_IDX(31) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO32 \ + (IOMUX_GPIO_IDX(32) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO33 \ + (IOMUX_GPIO_IDX(33) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH_IO34 \ + (IOMUX_GPIO_IDX(34) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(1)) + +#define IO_MUX_QUAD_SPI_FLASH IO_MUX_QUAD_SPI_FLASH_IO28 IO_MUX_QUAD_SPI_FLASH_IO29 IO_MUX_QUAD_SPI_FLASH_IO30 IO_MUX_QUAD_SPI_FLASH_IO31 IO_MUX_QUAD_SPI_FLASH_IO32 IO_MUX_QUAD_SPI_FLASH_IO33 IO_MUX_QUAD_SPI_FLASH_IO34 + +#define IO_MUX_QUAD_SPI_PSRAM_IO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO40 \ + (IOMUX_GPIO_IDX(40) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM_IO41 \ + (IOMUX_GPIO_IDX(41) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(3)) + +#define IO_MUX_QUAD_SPI_PSRAM IO_MUX_QUAD_SPI_PSRAM_IO35 IO_MUX_QUAD_SPI_PSRAM_IO36 IO_MUX_QUAD_SPI_PSRAM_IO37 IO_MUX_QUAD_SPI_PSRAM_IO38 IO_MUX_QUAD_SPI_PSRAM_IO39 IO_MUX_QUAD_SPI_PSRAM_IO40 IO_MUX_QUAD_SPI_PSRAM_IO41 + +#define IO_MUX_PDM_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(4)) + +#define IO_MUX_PDM IO_MUX_PDM_IO51 IO_MUX_PDM_IO52 IO_MUX_PDM_IO53 IO_MUX_PDM_IO54 + +#define IO_MUX_USB_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(5)) + +#define IO_MUX_USB IO_MUX_USB_IO12 + +#define IO_MUX_SCT_OUT_0_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_SCT_OUT_0 IO_MUX_SCT_OUT_0_IO3 + +#define IO_MUX_SCT_OUT_1_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_SCT_OUT_1 IO_MUX_SCT_OUT_1_IO4 + +#define IO_MUX_SCT_OUT_8_IO11 \ + (IOMUX_GPIO_IDX(11) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(8)) + +#define IO_MUX_SCT_OUT_8 IO_MUX_SCT_OUT_8_IO11 + +#define IO_MUX_SCT_OUT_4_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_SCT_OUT_4 IO_MUX_SCT_OUT_4_IO26 + +#define IO_MUX_SCT_OUT_5_IO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_SCT_OUT_5 IO_MUX_SCT_OUT_5_IO27 + +#define IO_MUX_SCT_OUT_6_IO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_SCT_OUT_6 IO_MUX_SCT_OUT_6_IO35 + +#define IO_MUX_SCT_OUT_7_IO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_SCT_OUT_7 IO_MUX_SCT_OUT_7_IO36 + +#define IO_MUX_SCT_OUT_9_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_SCTIMER_OUT) | \ + IOMUX_CTIMER_BIT(9)) + +#define IO_MUX_SCT_OUT_9 IO_MUX_SCT_OUT_9_IO55 + +#define IO_MUX_SCT_IN_0_IO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_SCT_IN_0 IO_MUX_SCT_IN_0_IO3 + +#define IO_MUX_SCT_IN_1_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_SCT_IN_1 IO_MUX_SCT_IN_1_IO4 + +#define IO_MUX_SCT_IN_2_IO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(2)) + +#define IO_MUX_SCT_IN_2 IO_MUX_SCT_IN_2_IO22 + +#define IO_MUX_SCT_IN_3_IO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(3)) + +#define IO_MUX_SCT_IN_3 IO_MUX_SCT_IN_3_IO23 + +#define IO_MUX_SCT_IN_4_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_SCT_IN_4 IO_MUX_SCT_IN_4_IO26 + +#define IO_MUX_SCT_IN_5_IO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_SCT_IN_5 IO_MUX_SCT_IN_5_IO27 + +#define IO_MUX_SCT_IN_6_IO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_SCT_IN_6 IO_MUX_SCT_IN_6_IO35 + +#define IO_MUX_SCT_IN_7_IO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_SCTIMER_IN) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_SCT_IN_7 IO_MUX_SCT_IN_7_IO36 + +#define IO_MUX_CT0_MAT0_OUT_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_CT0_MAT0_OUT IO_MUX_CT0_MAT0_OUT_IO0 + +#define IO_MUX_CT0_MAT1_OUT_IO1 \ + (IOMUX_GPIO_IDX(1) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_CT0_MAT1_OUT IO_MUX_CT0_MAT1_OUT_IO1 + +#define IO_MUX_CT0_MAT2_OUT_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(2)) + +#define IO_MUX_CT0_MAT2_OUT IO_MUX_CT0_MAT2_OUT_IO12 + +#define IO_MUX_CT0_MAT3_OUT_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(3)) + +#define IO_MUX_CT0_MAT3_OUT IO_MUX_CT0_MAT3_OUT_IO13 + +#define IO_MUX_CT1_MAT0_OUT_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_CT1_MAT0_OUT IO_MUX_CT1_MAT0_OUT_IO14 + +#define IO_MUX_CT1_MAT1_OUT_IO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_CT1_MAT1_OUT IO_MUX_CT1_MAT1_OUT_IO21 + +#define IO_MUX_CT1_MAT2_OUT_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_CT1_MAT2_OUT IO_MUX_CT1_MAT2_OUT_IO24 + +#define IO_MUX_CT1_MAT3_OUT_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_CT1_MAT3_OUT IO_MUX_CT1_MAT3_OUT_IO25 + +#define IO_MUX_CT2_MAT0_OUT_IO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(8)) + +#define IO_MUX_CT2_MAT0_OUT IO_MUX_CT2_MAT0_OUT_IO37 + +#define IO_MUX_CT2_MAT1_OUT_IO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(9)) + +#define IO_MUX_CT2_MAT1_OUT IO_MUX_CT2_MAT1_OUT_IO38 + +#define IO_MUX_CT2_MAT2_OUT_IO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(10)) + +#define IO_MUX_CT2_MAT2_OUT IO_MUX_CT2_MAT2_OUT_IO39 + +#define IO_MUX_CT2_MAT3_OUT_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(11)) + +#define IO_MUX_CT2_MAT3_OUT IO_MUX_CT2_MAT3_OUT_IO51 + +#define IO_MUX_CT3_MAT0_OUT_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(12)) + +#define IO_MUX_CT3_MAT0_OUT IO_MUX_CT3_MAT0_OUT_IO52 + +#define IO_MUX_CT3_MAT1_OUT_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(13)) + +#define IO_MUX_CT3_MAT1_OUT IO_MUX_CT3_MAT1_OUT_IO53 + +#define IO_MUX_CT3_MAT2_OUT_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_CTIMER_OUT) | \ + IOMUX_CTIMER_BIT(14)) + +#define IO_MUX_CT3_MAT2_OUT IO_MUX_CT3_MAT2_OUT_IO54 + +#define IO_MUX_CT_INP0_IO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(0)) + +#define IO_MUX_CT_INP0 IO_MUX_CT_INP0_IO0 + +#define IO_MUX_CT_INP1_IO1 \ + (IOMUX_GPIO_IDX(1) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(1)) + +#define IO_MUX_CT_INP1 IO_MUX_CT_INP1_IO1 + +#define IO_MUX_CT_INP2_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(2)) + +#define IO_MUX_CT_INP2 IO_MUX_CT_INP2_IO12 + +#define IO_MUX_CT_INP3_IO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(3)) + +#define IO_MUX_CT_INP3 IO_MUX_CT_INP3_IO13 + +#define IO_MUX_CT_INP4_IO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(4)) + +#define IO_MUX_CT_INP4 IO_MUX_CT_INP4_IO14 + +#define IO_MUX_CT_INP5_IO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(5)) + +#define IO_MUX_CT_INP5 IO_MUX_CT_INP5_IO21 + +#define IO_MUX_CT_INP6_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(6)) + +#define IO_MUX_CT_INP6 IO_MUX_CT_INP6_IO24 + +#define IO_MUX_CT_INP7_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(7)) + +#define IO_MUX_CT_INP7 IO_MUX_CT_INP7_IO25 + +#define IO_MUX_CT_INP8_IO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(8)) + +#define IO_MUX_CT_INP8 IO_MUX_CT_INP8_IO37 + +#define IO_MUX_CT_INP9_IO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(9)) + +#define IO_MUX_CT_INP9 IO_MUX_CT_INP9_IO38 + +#define IO_MUX_CT_INP10_IO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(10)) + +#define IO_MUX_CT_INP10 IO_MUX_CT_INP10_IO39 + +#define IO_MUX_CT_INP11_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(11)) + +#define IO_MUX_CT_INP11 IO_MUX_CT_INP11_IO51 + +#define IO_MUX_CT_INP12_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(12)) + +#define IO_MUX_CT_INP12 IO_MUX_CT_INP12_IO52 + +#define IO_MUX_CT_INP13_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(13)) + +#define IO_MUX_CT_INP13 IO_MUX_CT_INP13_IO53 + +#define IO_MUX_CT_INP14_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_CTIMER_IN) | \ + IOMUX_CTIMER_BIT(14)) + +#define IO_MUX_CT_INP14 IO_MUX_CT_INP14_IO54 + +#define IO_MUX_MCLK_IO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(6)) + +#define IO_MUX_MCLK IO_MUX_MCLK_IO5 + +#define IO_MUX_UTICK_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(9)) + +#define IO_MUX_UTICK IO_MUX_UTICK_IO15 IO_MUX_UTICK_IO16 IO_MUX_UTICK_IO17 IO_MUX_UTICK_IO18 + +#define IO_MUX_USIM_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(10)) + +#define IO_MUX_USIM IO_MUX_USIM_IO15 IO_MUX_USIM_IO16 IO_MUX_USIM_IO17 IO_MUX_USIM_IO18 + +#define IO_MUX_LCD_8080_IO42 \ + (IOMUX_GPIO_IDX(42) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO43 \ + (IOMUX_GPIO_IDX(43) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO44 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO45 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO46 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO47 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO48 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO49 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(11)) + +#define IO_MUX_LCD_8080 IO_MUX_LCD_8080_IO42 IO_MUX_LCD_8080_IO43 IO_MUX_LCD_8080_IO44 IO_MUX_LCD_8080_IO45 IO_MUX_LCD_8080_IO46 IO_MUX_LCD_8080_IO47 IO_MUX_LCD_8080_IO48 IO_MUX_LCD_8080_IO49 IO_MUX_LCD_8080_IO51 IO_MUX_LCD_8080_IO52 IO_MUX_LCD_8080_IO53 IO_MUX_LCD_8080_IO54 IO_MUX_LCD_8080_IO56 IO_MUX_LCD_8080_IO57 + +#define IO_MUX_LCD_SPI_IO44 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO45 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO46 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO47 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO48 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI_IO49 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(12)) + +#define IO_MUX_LCD_SPI IO_MUX_LCD_SPI_IO44 IO_MUX_LCD_SPI_IO45 IO_MUX_LCD_SPI_IO46 IO_MUX_LCD_SPI_IO47 IO_MUX_LCD_SPI_IO48 IO_MUX_LCD_SPI_IO49 + +#define IO_MUX_FREQ_GPIO_CLK_IO50 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(13)) + +#define IO_MUX_FREQ_GPIO_CLK IO_MUX_FREQ_GPIO_CLK_IO50 + +#define IO_MUX_GPIO_INT_BMATCH_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(14)) + +#define IO_MUX_GPIO_INT_BMATCH IO_MUX_GPIO_INT_BMATCH_IO18 + +#define IO_MUX_GAU_TRIGGER0_IO50 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(17)) + +#define IO_MUX_GAU_TRIGGER0 IO_MUX_GAU_TRIGGER0_IO50 + +#define IO_MUX_ACOMP0_GPIO_OUT_IO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(18)) + +#define IO_MUX_ACOMP0_GPIO_OUT IO_MUX_ACOMP0_GPIO_OUT_IO51 + +#define IO_MUX_ACOMP0_EDGE_PULSE_IO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(19)) + +#define IO_MUX_ACOMP0_EDGE_PULSE IO_MUX_ACOMP0_EDGE_PULSE_IO52 + +#define IO_MUX_ACOMP1_GPIO_OUT_IO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(20)) + +#define IO_MUX_ACOMP1_GPIO_OUT IO_MUX_ACOMP1_GPIO_OUT_IO53 + +#define IO_MUX_ACOMP1_EDGE_PULSE_IO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(21)) + +#define IO_MUX_ACOMP1_EDGE_PULSE IO_MUX_ACOMP1_EDGE_PULSE_IO54 + +#define IO_MUX_GAU_TRIGGER1_IO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(22)) + +#define IO_MUX_GAU_TRIGGER1 IO_MUX_GAU_TRIGGER1_IO55 + +#define IO_MUX_SDIO_IO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO_IO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(15)) + +#define IO_MUX_SDIO IO_MUX_SDIO_IO12 IO_MUX_SDIO_IO15 IO_MUX_SDIO_IO16 IO_MUX_SDIO_IO17 IO_MUX_SDIO_IO18 IO_MUX_SDIO_IO19 IO_MUX_SDIO_IO20 + +#define IO_MUX_ENET_CLK_IO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(16)) + +#define IO_MUX_ENET_CLK IO_MUX_ENET_CLK_IO25 + +#define IO_MUX_ENET_RX_IO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX_IO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX_IO62 \ + (IOMUX_GPIO_IDX(62) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX_IO63 \ + (IOMUX_GPIO_IDX(63) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(26)) + +#define IO_MUX_ENET_RX IO_MUX_ENET_RX_IO22 IO_MUX_ENET_RX_IO23 IO_MUX_ENET_RX_IO62 IO_MUX_ENET_RX_IO63 + +#define IO_MUX_ENET_TX_IO58 \ + (IOMUX_GPIO_IDX(58) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(25)) + +#define IO_MUX_ENET_TX_IO59 \ + (IOMUX_GPIO_IDX(59) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(25)) + +#define IO_MUX_ENET_TX_IO60 \ + (IOMUX_GPIO_IDX(60) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(25)) + +#define IO_MUX_ENET_TX IO_MUX_ENET_TX_IO58 IO_MUX_ENET_TX_IO59 IO_MUX_ENET_TX_IO60 + +#define IO_MUX_ENET_MDIO_IO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(27)) + +#define IO_MUX_ENET_MDIO_IO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(27)) + +#define IO_MUX_ENET_MDIO IO_MUX_ENET_MDIO_IO56 IO_MUX_ENET_MDIO_IO57 + +#define IO_MUX_ENET_TIMER0_IO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(28)) + +#define IO_MUX_ENET_TIMER0 IO_MUX_ENET_TIMER0_IO27 + +#define IO_MUX_ENET_TIMER1_IO61 \ + (IOMUX_GPIO_IDX(61) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(29)) + +#define IO_MUX_ENET_TIMER1 IO_MUX_ENET_TIMER1_IO61 + +#define IO_MUX_ENET_TIMER2_IO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(30)) + +#define IO_MUX_ENET_TIMER2 IO_MUX_ENET_TIMER2_IO24 + +#define IO_MUX_ENET_TIMER3_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(31)) + +#define IO_MUX_ENET_TIMER3 IO_MUX_ENET_TIMER3_IO26 + +#define IO_MUX_FLEXSPI_TEST_IO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(24)) + +#define IO_MUX_FLEXSPI_TEST IO_MUX_FLEXSPI_TEST_IO6 + +#define IO_MUX_CLKIN_FRM_PD_IO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_FSEL) | \ + IOMUX_FSEL_BIT(23)) + +#define IO_MUX_CLKIN_FRM_PD IO_MUX_CLKIN_FRM_PD_IO4 + +#define IO_MUX_GPIO0 \ + (IOMUX_GPIO_IDX(0) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO1 \ + (IOMUX_GPIO_IDX(1) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO2 \ + (IOMUX_GPIO_IDX(2) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO3 \ + (IOMUX_GPIO_IDX(3) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO4 \ + (IOMUX_GPIO_IDX(4) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO5 \ + (IOMUX_GPIO_IDX(5) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO6 \ + (IOMUX_GPIO_IDX(6) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO7 \ + (IOMUX_GPIO_IDX(7) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO8 \ + (IOMUX_GPIO_IDX(8) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO9 \ + (IOMUX_GPIO_IDX(9) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO10 \ + (IOMUX_GPIO_IDX(10) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO11 \ + (IOMUX_GPIO_IDX(11) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO12 \ + (IOMUX_GPIO_IDX(12) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO13 \ + (IOMUX_GPIO_IDX(13) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO14 \ + (IOMUX_GPIO_IDX(14) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO15 \ + (IOMUX_GPIO_IDX(15) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO16 \ + (IOMUX_GPIO_IDX(16) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO17 \ + (IOMUX_GPIO_IDX(17) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO18 \ + (IOMUX_GPIO_IDX(18) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO19 \ + (IOMUX_GPIO_IDX(19) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO20 \ + (IOMUX_GPIO_IDX(20) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO21 \ + (IOMUX_GPIO_IDX(21) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO22 \ + (IOMUX_GPIO_IDX(22) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO23 \ + (IOMUX_GPIO_IDX(23) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO24 \ + (IOMUX_GPIO_IDX(24) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO25 \ + (IOMUX_GPIO_IDX(25) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO27 \ + (IOMUX_GPIO_IDX(27) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO28 \ + (IOMUX_GPIO_IDX(28) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO29 \ + (IOMUX_GPIO_IDX(29) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO30 \ + (IOMUX_GPIO_IDX(30) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO31 \ + (IOMUX_GPIO_IDX(31) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO32 \ + (IOMUX_GPIO_IDX(32) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO33 \ + (IOMUX_GPIO_IDX(33) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO34 \ + (IOMUX_GPIO_IDX(34) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO35 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO36 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO37 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO38 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO39 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO40 \ + (IOMUX_GPIO_IDX(40) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO41 \ + (IOMUX_GPIO_IDX(41) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO42 \ + (IOMUX_GPIO_IDX(42) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO43 \ + (IOMUX_GPIO_IDX(43) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO44 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO45 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO46 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO47 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO48 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO49 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO50 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO51 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO52 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO53 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO54 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO55 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO56 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO57 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO58 \ + (IOMUX_GPIO_IDX(58) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO59 \ + (IOMUX_GPIO_IDX(59) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO60 \ + (IOMUX_GPIO_IDX(60) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO61 \ + (IOMUX_GPIO_IDX(61) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO62 \ + (IOMUX_GPIO_IDX(62) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_GPIO63 \ + (IOMUX_GPIO_IDX(63) | IOMUX_TYPE(IOMUX_GPIO)) + +#define IO_MUX_SGPIO0 \ + (IOMUX_GPIO_IDX(32) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO0 IO_MUX_SGPIO0 + +#define IO_MUX_SGPIO1 \ + (IOMUX_GPIO_IDX(33) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO1 IO_MUX_SGPIO1 + +#define IO_MUX_SGPIO2 \ + (IOMUX_GPIO_IDX(34) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO2 IO_MUX_SGPIO2 + +#define IO_MUX_SGPIO3 \ + (IOMUX_GPIO_IDX(35) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO3 IO_MUX_SGPIO3 + +#define IO_MUX_SGPIO4 \ + (IOMUX_GPIO_IDX(36) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO4 IO_MUX_SGPIO4 + +#define IO_MUX_SGPIO5 \ + (IOMUX_GPIO_IDX(37) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO5 IO_MUX_SGPIO5 + +#define IO_MUX_SGPIO6 \ + (IOMUX_GPIO_IDX(38) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO6 IO_MUX_SGPIO6 + +#define IO_MUX_SGPIO7 \ + (IOMUX_GPIO_IDX(39) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO7 IO_MUX_SGPIO7 + +#define IO_MUX_SGPIO8 \ + (IOMUX_GPIO_IDX(40) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO8 IO_MUX_SGPIO8 + +#define IO_MUX_SGPIO9 \ + (IOMUX_GPIO_IDX(41) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO9 IO_MUX_SGPIO9 + +#define IO_MUX_SGPIO10 \ + (IOMUX_GPIO_IDX(42) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO10 IO_MUX_SGPIO10 + +#define IO_MUX_SGPIO11 \ + (IOMUX_GPIO_IDX(43) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO11 IO_MUX_SGPIO11 + +#define IO_MUX_SGPIO12 \ + (IOMUX_GPIO_IDX(44) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO12 IO_MUX_SGPIO12 + +#define IO_MUX_SGPIO13 \ + (IOMUX_GPIO_IDX(45) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO13 IO_MUX_SGPIO13 + +#define IO_MUX_SGPIO14 \ + (IOMUX_GPIO_IDX(46) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO14 IO_MUX_SGPIO14 + +#define IO_MUX_SGPIO15 \ + (IOMUX_GPIO_IDX(47) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO15 IO_MUX_SGPIO15 + +#define IO_MUX_SGPIO16 \ + (IOMUX_GPIO_IDX(48) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO16 IO_MUX_SGPIO16 + +#define IO_MUX_SGPIO17 \ + (IOMUX_GPIO_IDX(49) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO17 IO_MUX_SGPIO17 + +#define IO_MUX_SGPIO18 \ + (IOMUX_GPIO_IDX(50) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO18 IO_MUX_SGPIO18 + +#define IO_MUX_SGPIO19 \ + (IOMUX_GPIO_IDX(51) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO19 IO_MUX_SGPIO19 + +#define IO_MUX_SGPIO20 \ + (IOMUX_GPIO_IDX(52) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO20 IO_MUX_SGPIO20 + +#define IO_MUX_SGPIO21 \ + (IOMUX_GPIO_IDX(53) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO21 IO_MUX_SGPIO21 + +#define IO_MUX_SGPIO22 \ + (IOMUX_GPIO_IDX(54) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO22 IO_MUX_SGPIO22 + +#define IO_MUX_SGPIO23 \ + (IOMUX_GPIO_IDX(55) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO23 IO_MUX_SGPIO23 + +#define IO_MUX_SGPIO24 \ + (IOMUX_GPIO_IDX(56) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO24 IO_MUX_SGPIO24 + +#define IO_MUX_SGPIO25 \ + (IOMUX_GPIO_IDX(57) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO25 IO_MUX_SGPIO25 + +#define IO_MUX_SGPIO26 \ + (IOMUX_GPIO_IDX(58) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO26 IO_MUX_SGPIO26 + +#define IO_MUX_SGPIO27 \ + (IOMUX_GPIO_IDX(59) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO27 IO_MUX_SGPIO27 + +#define IO_MUX_SGPIO28 \ + (IOMUX_GPIO_IDX(60) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO28 IO_MUX_SGPIO28 + +#define IO_MUX_SGPIO29 \ + (IOMUX_GPIO_IDX(61) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO29 IO_MUX_SGPIO29 + +#define IO_MUX_SGPIO30 \ + (IOMUX_GPIO_IDX(62) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO30 IO_MUX_SGPIO30 + +#define IO_MUX_SGPIO31 \ + (IOMUX_GPIO_IDX(63) | IOMUX_TYPE(IOMUX_SGPIO)) + +#define IO_MUX_SGPIO31 IO_MUX_SGPIO31 + +#define IO_MUX_AON_CAPTURE_IO26 \ + (IOMUX_GPIO_IDX(26) | IOMUX_TYPE(IOMUX_AON)) + +#define IO_MUX_AON_CAPTURE IO_MUX_AON_CAPTURE_IO26 + +#endif /* _ZEPHYR_DTS_BINDING_RW612_ */ diff --git a/mcux/CMakeLists.txt b/mcux/CMakeLists.txt index 9602f1de8..c776296e5 100644 --- a/mcux/CMakeLists.txt +++ b/mcux/CMakeLists.txt @@ -47,7 +47,7 @@ zephyr_compile_definitions(${MCUX_CPU}) # practice, drilling down like this avoids the need for repetitive # build scripts for every mcux device. zephyr_library_sources(mcux-sdk/devices/${MCUX_DEVICE_PATH}/drivers/fsl_clock.c) -if (${MCUX_DEVICE} MATCHES "LPC|MIMXRT6|MIMXRT5") +if (${MCUX_DEVICE} MATCHES "LPC|MIMXRT6|MIMXRT5|RW6") zephyr_library_sources(mcux-sdk/devices/${MCUX_DEVICE_PATH}/drivers/fsl_power.c) zephyr_library_sources(mcux-sdk/devices/${MCUX_DEVICE_PATH}/drivers/fsl_reset.c) endif() diff --git a/mcux/README b/mcux/README index 25707c72a..f554702b3 100644 --- a/mcux/README +++ b/mcux/README @@ -68,3 +68,4 @@ Patch List: - All *.a binary archive files. Files are still present in the SDK github repo but are not allowed in Zephyr Project - mcux-sdk\manifests - mcux-sdk\docs + 4. Add RW61X device_system.cmake diff --git a/mcux/hal_nxp.cmake b/mcux/hal_nxp.cmake index bf23d8e1c..0715b9a26 100644 --- a/mcux/hal_nxp.cmake +++ b/mcux/hal_nxp.cmake @@ -218,7 +218,7 @@ include_driver_ifdef(CONFIG_DMA_NXP_EDMA edma_rev2 driver_edma_rev2) if ((${MCUX_DEVICE} MATCHES "MIMXRT1[0-9][0-9][0-9]") AND (NOT (CONFIG_SOC_MIMXRT1166_CM4 OR CONFIG_SOC_MIMXRT1176_CM4))) include_driver_ifdef(CONFIG_HAS_MCUX_CACHE cache/armv7-m7 driver_cache_armv7_m7) -elseif(${MCUX_DEVICE} MATCHES "MIMXRT(5|6)") +elseif((${MCUX_DEVICE} MATCHES "MIMXRT(5|6)") OR (${MCUX_DEVICE} MATCHES "RW61")) include_driver_ifdef(CONFIG_HAS_MCUX_CACHE cache/cache64 driver_cache_cache64) elseif((${MCUX_DEVICE} MATCHES "MK(28|66)") OR (${MCUX_DEVICE} MATCHES "MKE(14|16|18)") OR (CONFIG_SOC_MIMXRT1166_CM4) OR (CONFIG_SOC_MIMXRT1176_CM4)) include_driver_ifdef(CONFIG_HAS_MCUX_CACHE cache/lmem driver_cache_lmem) @@ -233,6 +233,14 @@ elseif (${MCUX_DEVICE} MATCHES "MIMXRT10[0-9][0-9]") include_driver_ifdef(CONFIG_PM_MCUX_PMU pmu driver_pmu) endif() +if((${MCUX_DEVICE} MATCHES "RW61") AND (NOT DEFINED CONFIG_MINIMAL_LIBC)) + # Whenever building for RW61x without minimal LIBC, use optimized memcpy. + # This will avoid issues with unaligned access to peripheral RAM regions + # caused by the memcpy implmentation in newlib + zephyr_library_sources(${CMAKE_CURRENT_LIST_DIR}/mcux-sdk/utilities/misc_utilities/fsl_memcpy.S) +endif() + + if("${CONFIG_SOC_FAMILY}" STREQUAL "nxp_kinetis") include_driver_ifdef(CONFIG_SOC_FLASH_MCUX flash driver_flash) diff --git a/mcux/mcux-sdk/devices/RW610/device_system.cmake b/mcux/mcux-sdk/devices/RW610/device_system.cmake new file mode 100644 index 000000000..30b1b4404 --- /dev/null +++ b/mcux/mcux-sdk/devices/RW610/device_system.cmake @@ -0,0 +1,13 @@ +#Description: device_system; user_visible: False +include_guard(GLOBAL) +message("device_system component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/system_RW610.c +) + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/. +) + + diff --git a/mcux/mcux-sdk/devices/RW612/device_system.cmake b/mcux/mcux-sdk/devices/RW612/device_system.cmake new file mode 100644 index 000000000..24222782c --- /dev/null +++ b/mcux/mcux-sdk/devices/RW612/device_system.cmake @@ -0,0 +1,13 @@ +#Description: device_system; user_visible: False +include_guard(GLOBAL) +message("device_system component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/system_RW612.c +) + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/. +) + +