From ba42c2c60182ee877431452bbb7799b488c073c3 Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Wed, 13 Apr 2022 10:28:40 +0800 Subject: [PATCH] support usb on xidatong --- .../aiit_board/xidatong/src/imxrt_mmcsd.c | 38 ++++--------------- .../aiit_board/xidatong/src/xidatong.h | 6 +-- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd.c b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd.c index dad38e4f2..be2238c36 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd.c +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd.c @@ -33,30 +33,6 @@ #ifdef CONFIG_IMXRT_USDHC -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/* This structure holds static information unique to one SDHC peripheral */ - -struct imxrt_sdhc_state_s -{ - struct sdio_dev_s *sdhc; /* R/W device handle */ - bool inserted; /* true: card is inserted */ -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/* device state */ - -static struct imxrt_sdhc_state_s g_sdhc; - /**************************************************************************** * Public Functions ****************************************************************************/ @@ -71,20 +47,20 @@ static struct imxrt_sdhc_state_s g_sdhc; int nsh_sdmmc_initialize(void) { + struct sdio_dev_s *sdmmc; int ret = 0; /* Get an instance of the SDIO interface */ - g_sdhc.sdhc = imxrt_usdhc_initialize(0); - if (!g_sdhc.sdhc) + sdmmc = imxrt_usdhc_initialize(0); + if (!sdmmc) { syslog(LOG_ERR, "ERROR: Failed to initialize SD/MMC\n"); - return -ENODEV; + return -ENODEV; } - /* Bind the SDIO interface to the MMC/SD driver */ - ret = mmcsd_slotinitialize(0, g_sdhc.sdhc); + ret = mmcsd_slotinitialize(0, sdmmc); if (ret != OK) { syslog(LOG_ERR, "ERROR: Failed to bind SDIO to the MMC/SD driver: %d\n", ret); @@ -93,9 +69,9 @@ int nsh_sdmmc_initialize(void) #ifdef CONFIG_XIDATONG_SDIO_AUTOMOUNT imxrt_automount_initialize(); - imxrt_usdhc_set_sdio_card_isr(g_sdhc.sdhc, imxrt_sdhc_automount_event, NULL); + imxrt_usdhc_set_sdio_card_isr(sdmmc, imxrt_sdhc_automount_event, NULL); #else - imxrt_usdhc_set_sdio_card_isr(g_sdhc.sdhc, NULL, NULL); + imxrt_usdhc_set_sdio_card_isr(sdmmc, NULL, NULL); #endif return OK; diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h index 0f92e68cb..f4a88b1e2 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h @@ -204,17 +204,13 @@ int imxrt_gpio_initialize(void); int imxrt_usbhost_initialize(void); #endif -#if defined(CONFIG_IMXRT_USBOTG) || defined(CONFIG_USBHOST) -int imxrt_mmcsd_initialize(void); -#endif - #ifdef CONFIG_IMXRT_USDHC int nsh_sdmmc_initialize(void); #else # define nsh_sdmmc_initialize() (OK) #endif -#ifdef CONFIG_XIDATONG_SDIO_AUTOMOUNT +#if defined(CONFIG_IMXRT_USDHC) && defined(CONFIG_XIDATONG_SDIO_AUTOMOUNT) int imxrt_sdhc_automount_event(void *arg); void imxrt_automount_initialize(void); #endif