diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9c04ad6..ee9c9e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,6 +44,8 @@ add_executable(${MCUX_SDK_PROJECT_NAME}
"${ProjDirPath}/source/freertos_hello.c"
"${ProjDirPath}/source/usb_application.c"
"${ProjDirPath}/source/usb_application.h"
+ "${ProjDirPath}/source/usb_device_interface_0_cic_vcom.c"
+ "${ProjDirPath}/source/usb_device_interface_0_cic_vcom.h"
"${ProjDirPath}/source/generated/usb_device_composite.c"
"${ProjDirPath}/source/generated/usb_device_composite.h"
"${ProjDirPath}/source/generated/usb_device_descriptor.c"
diff --git a/board/pin_mux.c b/board/pin_mux.c
index ccf0ea0..e500361 100644
--- a/board/pin_mux.c
+++ b/board/pin_mux.c
@@ -40,6 +40,70 @@ BOARD_InitPins:
- {pin_num: K14, peripheral: LPUART1, signal: TX, pin_signal: GPIO_AD_B0_12, software_input_on: Disable, hysteresis_enable: Disable, pull_up_down_config: Pull_Down_100K_Ohm,
pull_keeper_select: Keeper, pull_keeper_enable: Enable, open_drain: Disable, speed: MHZ_100, drive_strength: R0_6, slew_rate: Slow}
- {pin_num: G13, peripheral: GPIO1, signal: 'gpio_io, 10', pin_signal: GPIO_AD_B0_10, direction: OUTPUT, gpio_init_state: 'true'}
+ - {pin_num: E14, peripheral: JTAG, signal: TMS, pin_signal: GPIO_AD_B0_06}
+ - {pin_num: F12, peripheral: JTAG, signal: TCK, pin_signal: GPIO_AD_B0_07}
+ - {pin_num: N1, peripheral: SUPPLY, signal: 'DCDC_GND, 0', pin_signal: DCDC_GND0}
+ - {pin_num: N2, peripheral: SUPPLY, signal: 'DCDC_GND, 1', pin_signal: DCDC_GND1}
+ - {pin_num: L1, peripheral: SUPPLY, signal: 'DCDC_IN, 0', pin_signal: DCDC_IN0}
+ - {pin_num: L2, peripheral: SUPPLY, signal: 'DCDC_IN, 1', pin_signal: DCDC_IN1}
+ - {pin_num: K4, peripheral: SUPPLY, signal: dcdc_in_q, pin_signal: DCDC_IN_Q}
+ - {pin_num: M1, peripheral: SUPPLY, signal: 'DCDC_LP, 0', pin_signal: DCDC_LP0}
+ - {pin_num: M2, peripheral: SUPPLY, signal: 'DCDC_LP, 1', pin_signal: DCDC_LP1}
+ - {pin_num: K3, peripheral: SUPPLY, signal: dcdc_pswitch, pin_signal: DCDC_PSWITCH}
+ - {pin_num: J5, peripheral: SUPPLY, signal: dcdc_sense, pin_signal: DCDC_SENSE}
+ - {pin_num: N10, peripheral: SUPPLY, signal: gpanaio, pin_signal: GPANAIO}
+ - {pin_num: K9, peripheral: SUPPLY, signal: ngnd_kel0, pin_signal: NGND_KEL0}
+ - {pin_num: F5, peripheral: SUPPLY, signal: 'NVCC_EMC, 0', pin_signal: NVCC_EMC0}
+ - {pin_num: E6, peripheral: SUPPLY, signal: 'NVCC_EMC, 1', pin_signal: NVCC_EMC1}
+ - {pin_num: E9, peripheral: SUPPLY, signal: 'NVCC_GPIO, 0', pin_signal: NVCC_GPIO0}
+ - {pin_num: F10, peripheral: SUPPLY, signal: 'NVCC_GPIO, 1', pin_signal: NVCC_GPIO1}
+ - {pin_num: J10, peripheral: SUPPLY, signal: 'NVCC_GPIO, 2', pin_signal: NVCC_GPIO2}
+ - {pin_num: P10, peripheral: SUPPLY, signal: nvcc_pll, pin_signal: NVCC_PLL}
+ - {pin_num: J6, peripheral: SUPPLY, signal: nvcc_sd0, pin_signal: NVCC_SD0}
+ - {pin_num: K5, peripheral: SUPPLY, signal: nvcc_sd1, pin_signal: NVCC_SD1}
+ - {pin_num: K6, peripheral: SUPPLY, signal: test_mode, pin_signal: TEST_MODE}
+ - {pin_num: N12, peripheral: SUPPLY, signal: usb_otg1_chd_b, pin_signal: USB_OTG1_CHD_B}
+ - {pin_num: M8, peripheral: SUPPLY, signal: usb_otg1_dn, pin_signal: USB_OTG1_DN}
+ - {pin_num: L8, peripheral: SUPPLY, signal: usb_otg1_dp, pin_signal: USB_OTG1_DP}
+ - {pin_num: N6, peripheral: SUPPLY, signal: usb_otg1_vbus, pin_signal: USB_OTG1_VBUS}
+ - {pin_num: N7, peripheral: SUPPLY, signal: usb_otg2_dn, pin_signal: USB_OTG2_DN}
+ - {pin_num: P7, peripheral: SUPPLY, signal: usb_otg2_dp, pin_signal: USB_OTG2_DP}
+ - {pin_num: P6, peripheral: SUPPLY, signal: usb_otg2_vbus, pin_signal: USB_OTG2_VBUS}
+ - {pin_num: P8, peripheral: SUPPLY, signal: VDD_HIGH_CAP, pin_signal: VDD_HIGH_CAP}
+ - {pin_num: P12, peripheral: SUPPLY, signal: VDD_HIGH_IN, pin_signal: VDD_HIGH_IN}
+ - {pin_num: M10, peripheral: SUPPLY, signal: VDD_SNVS_CAP, pin_signal: VDD_SNVS_CAP}
+ - {pin_num: M9, peripheral: SUPPLY, signal: VDD_SNVS_IN, pin_signal: VDD_SNVS_IN}
+ - {pin_num: F6, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 0', pin_signal: VDD_SOC_IN0}
+ - {pin_num: G6, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 1', pin_signal: VDD_SOC_IN1}
+ - {pin_num: H6, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 2', pin_signal: VDD_SOC_IN2}
+ - {pin_num: F7, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 3', pin_signal: VDD_SOC_IN3}
+ - {pin_num: F8, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 4', pin_signal: VDD_SOC_IN4}
+ - {pin_num: F9, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 5', pin_signal: VDD_SOC_IN5}
+ - {pin_num: G9, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 6', pin_signal: VDD_SOC_IN6}
+ - {pin_num: H9, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 7', pin_signal: VDD_SOC_IN7}
+ - {pin_num: J9, peripheral: SUPPLY, signal: 'VDD_SOC_IN, 8', pin_signal: VDD_SOC_IN8}
+ - {pin_num: K8, peripheral: SUPPLY, signal: VDD_USB_CAP, pin_signal: VDD_USB_CAP}
+ - {pin_num: N14, peripheral: SUPPLY, signal: VDDA_ADC_3P3, pin_signal: VDDA_ADC_3P3}
+ - {pin_num: A1, peripheral: SUPPLY, signal: 'VSS, 0', pin_signal: VSS0}
+ - {pin_num: P1, peripheral: SUPPLY, signal: 'VSS, 1', pin_signal: VSS1}
+ - {pin_num: E2, peripheral: SUPPLY, signal: 'VSS, 2', pin_signal: VSS2}
+ - {pin_num: K2, peripheral: SUPPLY, signal: 'VSS, 3', pin_signal: VSS3}
+ - {pin_num: B5, peripheral: SUPPLY, signal: 'VSS, 4', pin_signal: VSS4}
+ - {pin_num: N5, peripheral: SUPPLY, signal: 'VSS, 5', pin_signal: VSS5}
+ - {pin_num: G7, peripheral: SUPPLY, signal: 'VSS, 6', pin_signal: VSS6}
+ - {pin_num: H7, peripheral: SUPPLY, signal: 'VSS, 7', pin_signal: VSS7}
+ - {pin_num: J7, peripheral: SUPPLY, signal: 'VSS, 8', pin_signal: VSS8}
+ - {pin_num: G8, peripheral: SUPPLY, signal: 'VSS, 9', pin_signal: VSS9}
+ - {pin_num: H8, peripheral: SUPPLY, signal: 'VSS, 10', pin_signal: VSS10}
+ - {pin_num: J8, peripheral: SUPPLY, signal: 'VSS, 11', pin_signal: VSS11}
+ - {pin_num: N8, peripheral: SUPPLY, signal: 'VSS, 12', pin_signal: VSS12}
+ - {pin_num: L9, peripheral: SUPPLY, signal: 'VSS, 13', pin_signal: VSS13}
+ - {pin_num: B10, peripheral: SUPPLY, signal: 'VSS, 14', pin_signal: VSS14}
+ - {pin_num: E13, peripheral: SUPPLY, signal: 'VSS, 15', pin_signal: VSS15}
+ - {pin_num: K13, peripheral: SUPPLY, signal: 'VSS, 16', pin_signal: VSS16}
+ - {pin_num: A14, peripheral: SUPPLY, signal: 'VSS, 17', pin_signal: VSS17}
+ - {pin_num: P14, peripheral: SUPPLY, signal: 'VSS, 18', pin_signal: VSS18}
+ - {pin_num: H10, peripheral: USB1, signal: usb_otg1_id, pin_signal: GPIO_AD_B0_01}
* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
*/
@@ -61,6 +125,9 @@ void BOARD_InitPins(void) {
/* Initialize GPIO functionality on GPIO_AD_B0_10 (pin G13) */
GPIO_PinInit(GPIO1, 10U, &INT1_COMBO_config);
+ IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_01_USB_OTG1_ID, 0U);
+ IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_06_JTAG_TMS, 0U);
+ IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_07_JTAG_TCK, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_10_GPIO1_IO10, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_12_LPUART1_TX, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_13_LPUART1_RX, 0U);
diff --git a/board/pin_mux.c.bak b/board/pin_mux.c.bak
index 1608999..ccf0ea0 100644
--- a/board/pin_mux.c.bak
+++ b/board/pin_mux.c.bak
@@ -17,6 +17,7 @@ board: IMXRT1050-EVKB
#include "fsl_common.h"
#include "fsl_iomuxc.h"
+#include "fsl_gpio.h"
#include "pin_mux.h"
/* FUNCTION ************************************************************************************************************
@@ -38,6 +39,7 @@ BOARD_InitPins:
pull_keeper_select: Keeper, pull_keeper_enable: Enable, open_drain: Disable, speed: MHZ_100, drive_strength: R0_6, slew_rate: Slow}
- {pin_num: K14, peripheral: LPUART1, signal: TX, pin_signal: GPIO_AD_B0_12, software_input_on: Disable, hysteresis_enable: Disable, pull_up_down_config: Pull_Down_100K_Ohm,
pull_keeper_select: Keeper, pull_keeper_enable: Enable, open_drain: Disable, speed: MHZ_100, drive_strength: R0_6, slew_rate: Slow}
+ - {pin_num: G13, peripheral: GPIO1, signal: 'gpio_io, 10', pin_signal: GPIO_AD_B0_10, direction: OUTPUT, gpio_init_state: 'true'}
* BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
*/
@@ -50,6 +52,16 @@ BOARD_InitPins:
void BOARD_InitPins(void) {
CLOCK_EnableClock(kCLOCK_Iomuxc);
+ /* GPIO configuration of INT1_COMBO on GPIO_AD_B0_10 (pin G13) */
+ gpio_pin_config_t INT1_COMBO_config = {
+ .direction = kGPIO_DigitalOutput,
+ .outputLogic = 1U,
+ .interruptMode = kGPIO_NoIntmode
+ };
+ /* Initialize GPIO functionality on GPIO_AD_B0_10 (pin G13) */
+ GPIO_PinInit(GPIO1, 10U, &INT1_COMBO_config);
+
+ IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_10_GPIO1_IO10, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_12_LPUART1_TX, 0U);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_13_LPUART1_RX, 0U);
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_12_LPUART1_TX, 0x10B0U);
diff --git a/board/pin_mux.h b/board/pin_mux.h
index 103dece..b756830 100644
--- a/board/pin_mux.h
+++ b/board/pin_mux.h
@@ -61,6 +61,36 @@ void BOARD_InitBootPins(void);
#define BOARD_INITPINS_INT1_COMBO_PIN 10U /*!< PORT pin number */
#define BOARD_INITPINS_INT1_COMBO_PIN_MASK (1U << 10U) /*!< PORT pin mask */
+/* NVCC_SD0 (coord J6), NVCC_SD */
+/* Routed pin properties */
+#define BOARD_INITPINS_NVCC_SD_PERIPHERAL SUPPLY /*!< Peripheral name */
+#define BOARD_INITPINS_NVCC_SD_SIGNAL nvcc_sd0 /*!< Signal name */
+
+/* NVCC_SD1 (coord K5), FLASH_VCC */
+/* Routed pin properties */
+#define BOARD_INITPINS_FLASH_VCC_PERIPHERAL SUPPLY /*!< Peripheral name */
+#define BOARD_INITPINS_FLASH_VCC_SIGNAL nvcc_sd1 /*!< Signal name */
+
+/* USB_OTG1_DN (coord M8), OTG1_DN */
+/* Routed pin properties */
+#define BOARD_INITPINS_OTG1_DN_PERIPHERAL SUPPLY /*!< Peripheral name */
+#define BOARD_INITPINS_OTG1_DN_SIGNAL usb_otg1_dn /*!< Signal name */
+
+/* USB_OTG1_DP (coord L8), OTG1_DP */
+/* Routed pin properties */
+#define BOARD_INITPINS_OTG1_DP_PERIPHERAL SUPPLY /*!< Peripheral name */
+#define BOARD_INITPINS_OTG1_DP_SIGNAL usb_otg1_dp /*!< Signal name */
+
+/* USB_OTG2_DN (coord N7), OTG2_DN */
+/* Routed pin properties */
+#define BOARD_INITPINS_OTG2_DN_PERIPHERAL SUPPLY /*!< Peripheral name */
+#define BOARD_INITPINS_OTG2_DN_SIGNAL usb_otg2_dn /*!< Signal name */
+
+/* USB_OTG2_DP (coord P7), OTG2_DP */
+/* Routed pin properties */
+#define BOARD_INITPINS_OTG2_DP_PERIPHERAL SUPPLY /*!< Peripheral name */
+#define BOARD_INITPINS_OTG2_DP_SIGNAL usb_otg2_dp /*!< Signal name */
+
/*!
* @brief Configures pin routing and optionally pin electrical features.
diff --git a/board/pin_mux.h.bak b/board/pin_mux.h.bak
index 18e01ad..103dece 100644
--- a/board/pin_mux.h.bak
+++ b/board/pin_mux.h.bak
@@ -47,6 +47,20 @@ void BOARD_InitBootPins(void);
#define BOARD_INITPINS_UART1_TXD_PERIPHERAL LPUART1 /*!< Peripheral name */
#define BOARD_INITPINS_UART1_TXD_SIGNAL TX /*!< Signal name */
+/* GPIO_AD_B0_10 (coord G13), JTAG_TDO/J21[13]/INT1_COMBO/ENET_INT/J22[6]/U32[11] */
+/* Routed pin properties */
+#define BOARD_INITPINS_INT1_COMBO_PERIPHERAL GPIO1 /*!< Peripheral name */
+#define BOARD_INITPINS_INT1_COMBO_SIGNAL gpio_io /*!< Signal name */
+#define BOARD_INITPINS_INT1_COMBO_CHANNEL 10U /*!< Signal channel */
+
+/* Symbols to be used with GPIO driver */
+#define BOARD_INITPINS_INT1_COMBO_GPIO GPIO1 /*!< GPIO peripheral base pointer */
+#define BOARD_INITPINS_INT1_COMBO_GPIO_PIN 10U /*!< GPIO pin number */
+#define BOARD_INITPINS_INT1_COMBO_GPIO_PIN_MASK (1U << 10U) /*!< GPIO pin mask */
+#define BOARD_INITPINS_INT1_COMBO_PORT GPIO1 /*!< PORT peripheral base pointer */
+#define BOARD_INITPINS_INT1_COMBO_PIN 10U /*!< PORT pin number */
+#define BOARD_INITPINS_INT1_COMBO_PIN_MASK (1U << 10U) /*!< PORT pin mask */
+
/*!
* @brief Configures pin routing and optionally pin electrical features.
diff --git a/rt1050_freertos_usb.mex b/rt1050_freertos_usb.mex
index 5bc059e..fc00a46 100644
--- a/rt1050_freertos_usb.mex
+++ b/rt1050_freertos_usb.mex
@@ -39,6 +39,21 @@
true
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
true
@@ -88,6 +103,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+