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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +