From 95c1d7abaad82cbcda52717ba035f76145de54cb Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Fri, 8 Apr 2022 15:08:44 +0800 Subject: [PATCH 1/9] changge nuttx PrivTaskDelay --- APP_Framework/Framework/transform_layer/nuttx/transform.c | 4 ++-- APP_Framework/Framework/transform_layer/nuttx/transform.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/APP_Framework/Framework/transform_layer/nuttx/transform.c b/APP_Framework/Framework/transform_layer/nuttx/transform.c index 7b8553a1a..dfab2295a 100644 --- a/APP_Framework/Framework/transform_layer/nuttx/transform.c +++ b/APP_Framework/Framework/transform_layer/nuttx/transform.c @@ -90,9 +90,9 @@ void PrivTaskQuit(void *value_ptr) pthread_exit(value_ptr); } -int PrivTaskDelay(int32_t ms) +void PrivTaskDelay(int32_t ms) { - return usleep(ms); + usleep(1000 * ms); } uint32_t PrivGetTickTime(){ diff --git a/APP_Framework/Framework/transform_layer/nuttx/transform.h b/APP_Framework/Framework/transform_layer/nuttx/transform.h index e99456053..a6b1e091b 100644 --- a/APP_Framework/Framework/transform_layer/nuttx/transform.h +++ b/APP_Framework/Framework/transform_layer/nuttx/transform.h @@ -191,7 +191,7 @@ int PrivTaskCreate(pthread_t *thread, const pthread_attr_t *attr, int PrivTaskStartup(pthread_t *thread); int PrivTaskDelete(pthread_t thread, int sig); void PrivTaskQuit(void *value_ptr); -int PrivTaskDelay(int32_t ms); +void PrivTaskDelay(int32_t ms); uint32_t PrivGetTickTime(); /*********************driver*************************/ From 41632ed9e94e5e69c4eafd2119ca13ddaae648f9 Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Fri, 8 Apr 2022 15:27:46 +0800 Subject: [PATCH 2/9] update nuttx transform --- APP_Framework/Framework/transform_layer/nuttx/transform.c | 7 ++++--- APP_Framework/Framework/transform_layer/nuttx/transform.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/APP_Framework/Framework/transform_layer/nuttx/transform.c b/APP_Framework/Framework/transform_layer/nuttx/transform.c index dfab2295a..1a176fddb 100644 --- a/APP_Framework/Framework/transform_layer/nuttx/transform.c +++ b/APP_Framework/Framework/transform_layer/nuttx/transform.c @@ -90,12 +90,13 @@ void PrivTaskQuit(void *value_ptr) pthread_exit(value_ptr); } -void PrivTaskDelay(int32_t ms) +int PrivTaskDelay(int32_t ms) { - usleep(1000 * ms); + return usleep(1000 * ms); } -uint32_t PrivGetTickTime(){ +uint32_t PrivGetTickTime(void) +{ struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return ts.tv_sec * 1000 + ts.tv_nsec / 1000000; diff --git a/APP_Framework/Framework/transform_layer/nuttx/transform.h b/APP_Framework/Framework/transform_layer/nuttx/transform.h index a6b1e091b..49603f4ab 100644 --- a/APP_Framework/Framework/transform_layer/nuttx/transform.h +++ b/APP_Framework/Framework/transform_layer/nuttx/transform.h @@ -191,8 +191,8 @@ int PrivTaskCreate(pthread_t *thread, const pthread_attr_t *attr, int PrivTaskStartup(pthread_t *thread); int PrivTaskDelete(pthread_t thread, int sig); void PrivTaskQuit(void *value_ptr); -void PrivTaskDelay(int32_t ms); -uint32_t PrivGetTickTime(); +int PrivTaskDelay(int32_t ms); +uint32_t PrivGetTickTime(void); /*********************driver*************************/ From 72ce9d9023350d68833eb8302031bca4a86aede1 Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Fri, 8 Apr 2022 17:39:29 +0800 Subject: [PATCH 3/9] support Register gpio as character device on nuttx for xidatong --- .../aiit_board/xidatong/configs/knsh/defconfig | 1 + .../aiit_board/xidatong/configs/libcxxtest/defconfig | 1 + .../aiit_board/xidatong/configs/netnsh/defconfig | 1 + .../Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/nsh/defconfig | 1 + .../aiit_board/xidatong/configs/sdionsh/defconfig | 1 + .../aiit_board/xidatong/configs/usbnsh/defconfig | 1 + 6 files changed, 6 insertions(+) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/knsh/defconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/knsh/defconfig index e0cd4e51b..62ba4cf76 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/knsh/defconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/knsh/defconfig @@ -44,4 +44,5 @@ CONFIG_START_DAY=8 CONFIG_START_MONTH=6 CONFIG_SYSTEM_NSH=y CONFIG_SYS_RESERVED=9 +CONFIG_DEV_GPIO=y CONFIG_USER_ENTRYPOINT="nsh_main" diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/libcxxtest/defconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/libcxxtest/defconfig index a38942cd3..149feb1ce 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/libcxxtest/defconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/libcxxtest/defconfig @@ -43,4 +43,5 @@ CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=14 CONFIG_START_MONTH=3 CONFIG_SYSTEM_NSH=y +CONFIG_DEV_GPIO=y CONFIG_USER_ENTRYPOINT="nsh_main" diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/netnsh/defconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/netnsh/defconfig index 974ab7dd8..b85c81a33 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/netnsh/defconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/netnsh/defconfig @@ -65,4 +65,5 @@ CONFIG_START_MONTH=3 CONFIG_SYSTEM_NSH=y CONFIG_SYSTEM_PING6=y CONFIG_SYSTEM_PING=y +CONFIG_DEV_GPIO=y CONFIG_USER_ENTRYPOINT="nsh_main" diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/nsh/defconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/nsh/defconfig index 78b8bbd2d..4dd3554b8 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/nsh/defconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/nsh/defconfig @@ -41,4 +41,5 @@ CONFIG_SCHED_WAITPID=y CONFIG_START_DAY=14 CONFIG_START_MONTH=3 CONFIG_SYSTEM_NSH=y +CONFIG_DEV_GPIO=y CONFIG_USER_ENTRYPOINT="nsh_main" diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/sdionsh/defconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/sdionsh/defconfig index 2ea5dc4a0..eeccb4f50 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/sdionsh/defconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/sdionsh/defconfig @@ -29,6 +29,7 @@ CONFIG_IDLETHREAD_STACKSIZE=2048 CONFIG_EXAMPLES_HELLO=y CONFIG_IMXRT_GPIO2_16_31_IRQ=y CONFIG_IMXRT_GPIO_IRQ=y +CONFIG_DEV_GPIO=y CONFIG_IMXRT_LPUART1=y CONFIG_IMXRT_USDHC1=y CONFIG_IMXRT_USDHC1_WIDTH_D1_D4=y diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/usbnsh/defconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/usbnsh/defconfig index cfe6a2c4d..5f71e3f57 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/usbnsh/defconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/configs/usbnsh/defconfig @@ -61,4 +61,5 @@ CONFIG_USBDEV=y CONFIG_USBHOST=y CONFIG_USBHOST_MSC=y CONFIG_USBHOST_MSC_NOTIFIER=y +CONFIG_DEV_GPIO=y CONFIG_USER_ENTRYPOINT="nsh_main" From 2f3ac0549e7d81f12948d4e78dc039e08f78a0b1 Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Mon, 11 Apr 2022 14:27:19 +0800 Subject: [PATCH 4/9] set E220-400T22S M0 and M1 pin for xidatong --- .../aiit_board/xidatong/src/imxrt_gpio.c | 10 +++++----- .../aiit_board/xidatong/src/xidatong.h | 16 +++++----------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_gpio.c b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_gpio.c index c5909edd2..4f92668ce 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_gpio.c +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_gpio.c @@ -110,10 +110,8 @@ static const struct gpio_operations_s gpout_ops = static const uint32_t g_gpiooutputs[BOARD_NGPIOOUT] = { - GPIO_GOUT1, - GPIO_GOUT2, - GPIO_GOUT3, - GPIO_GOUT4, + GPIO_E220_M0, + GPIO_E220_M1, }; static struct imxrtgpio_dev_s g_gpout[BOARD_NGPIOOUT]; @@ -177,10 +175,11 @@ static int gpout_write(FAR struct gpio_dev_s *dev, bool value) int imxrt_gpio_initialize(void) { - int pincount = 0; + int pincount; int i; #if BOARD_NGPIOIN > 0 + pincount = 0; for (i = 0; i < BOARD_NGPIOIN; i++) { /* Setup and register the GPIO pin */ @@ -200,6 +199,7 @@ int imxrt_gpio_initialize(void) #endif #if BOARD_NGPIOOUT > 0 + pincount = 0; for (i = 0; i < BOARD_NGPIOOUT; i++) { /* Setup and register the GPIO pin */ 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 26f11c9f9..355b5d359 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h @@ -67,21 +67,15 @@ /* Test Pins ****************************************************************/ #define BOARD_NGPIOIN 0 /* Amount of GPIO Input pins */ -#define BOARD_NGPIOOUT 4 /* Amount of GPIO Output pins */ +#define BOARD_NGPIOOUT 2 /* Amount of GPIO Output pins */ #define BOARD_NGPIOINT 0 /* Amount of GPIO Input w/ Interruption pins */ -#define GPIO_GOUT1 (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | IOMUX_GOUT_DEFAULT | \ - GPIO_PORT1 | GPIO_PIN19) - -#define GPIO_GOUT2 (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | IOMUX_GOUT_DEFAULT | \ - GPIO_PIN18 | GPIO_PORT1) - -#define GPIO_GOUT3 (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | IOMUX_GOUT_DEFAULT | \ - GPIO_PIN10 | GPIO_PORT1) - -#define GPIO_GOUT4 (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | IOMUX_GOUT_DEFAULT | \ +#define GPIO_E220_M0 (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | IOMUX_GOUT_DEFAULT | \ GPIO_PIN9 | GPIO_PORT1) +#define GPIO_E220_M1 (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | IOMUX_GOUT_DEFAULT | \ + GPIO_PIN11 | GPIO_PORT1) + /* Backlight */ #define GPIO_LCD_BL (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | GPIO_PORT2 | \ From 466486b27c87460405a08d69bd1bac95780f1173 Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Mon, 11 Apr 2022 15:29:47 +0800 Subject: [PATCH 5/9] modifiled nshlib\Kconfig --- .../Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig index f84148ed5..8174b2114 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig @@ -652,7 +652,7 @@ config NSH_DISABLE_RECVZIGBEE default n config NSH_DISABLE_ADAPTER_LORATEST - bool "Disable sx128 AdapterLoraTest." + bool "Disable sx128 AdapterLoraTest." default n config NSH_DISABLE_K210_FFT From e78af7f85b0ef72cb85436f99a37e83f56f52fd4 Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Mon, 11 Apr 2022 15:33:52 +0800 Subject: [PATCH 6/9] modifiled nshlib\Kconfig --- .../Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig index 8174b2114..7b7c97034 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/app_match_nuttx/apps/nshlib/Kconfig @@ -652,7 +652,7 @@ config NSH_DISABLE_RECVZIGBEE default n config NSH_DISABLE_ADAPTER_LORATEST - bool "Disable sx128 AdapterLoraTest." + bool "Disable sx1278 AdapterLoraTest." default n config NSH_DISABLE_K210_FFT From 90d57368d11da8907cdf9f33a6088a008b25c7db Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Mon, 11 Apr 2022 18:48:15 +0800 Subject: [PATCH 7/9] change XIDATONG_SDHC_AUTOMOUNT to XIDATONG_SDIO_AUTOMOUNT for sd card --- .../aiit_board/xidatong/Kconfig | 28 +++++++++---------- .../aiit_board/xidatong/src/Makefile | 2 +- .../aiit_board/xidatong/src/imxrt_bringup.c | 2 +- .../xidatong/src/imxrt_sdhc_automount.c | 10 +++---- .../aiit_board/xidatong/src/xidatong.h | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/Kconfig b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/Kconfig index 2b2af9d3c..e9b8024af 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/Kconfig +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/Kconfig @@ -24,34 +24,34 @@ config XIDATONG_SDRAM ---help--- Activate DCD configuration of SDRAM -config XIDATONG_SDHC_AUTOMOUNT - bool "SDHC automounter" +config XIDATONG_SDIO_AUTOMOUNT + bool "SD card automounter" default n depends on FS_AUTOMOUNTER && IMXRT_USDHC -if XIDATONG_SDHC_AUTOMOUNT +if XIDATONG_SDIO_AUTOMOUNT -config XIDATONG_SDHC_AUTOMOUNT_FSTYPE - string "SDHC file system type" +config XIDATONG_SDIO_AUTOMOUNT_FSTYPE + string "SD card file system type" default "vfat" -config XIDATONG_SDHC_AUTOMOUNT_BLKDEV - string "SDHC block device" +config XIDATONG_SDIO_AUTOMOUNT_BLKDEV + string "SD card block device" default "/dev/mmcsd0" -config XIDATONG_SDHC_AUTOMOUNT_MOUNTPOINT - string "SDHC mount point" +config XIDATONG_SDIO_AUTOMOUNT_MOUNTPOINT + string "SD card mount point" default "/mnt/sdcard" -config XIDATONG_SDHC_AUTOMOUNT_DDELAY - int "SDHC debounce delay (milliseconds)" +config XIDATONG_SDIO_AUTOMOUNT_DDELAY + int "SD card debounce delay (milliseconds)" default 1000 -config XIDATONG_SDHC_AUTOMOUNT_UDELAY - int "SDHC unmount retry delay (milliseconds)" +config XIDATONG_SDIO_AUTOMOUNT_UDELAY + int "SD card unmount retry delay (milliseconds)" default 2000 -endif # XIDATONG_SDHC_AUTOMOUNT +endif # XIDATONG_SDIO_AUTOMOUNT config XIDATONG_USB_AUTOMOUNT bool "USB Mass Storage automounter" diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile index 9a45eccc2..90d754261 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile @@ -70,7 +70,7 @@ ifeq ($(CONFIG_USBHOST),y) CSRCS += imxrt_usbhost.c endif -ifeq ($(CONFIG_XIDATONG_SDHC_AUTOMOUNT),y) +ifeq ($(CONFIG_XIDATONG_SDIO_AUTOMOUNT),y) CSRCS += imxrt_sdhc_automount.c endif diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c index 9b42db76b..5ada5b0ce 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c @@ -119,7 +119,7 @@ static int nsh_sdmmc_initialize(void) ret); } -#ifdef CONFIG_XIDATONG_SDHC_AUTOMOUNT +#ifdef CONFIG_XIDATONG_SDIO_AUTOMOUNT imxrt_automount_initialize(); imxrt_usdhc_set_sdio_card_isr(sdmmc, imxrt_sdhc_automount_event, NULL); #else diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_sdhc_automount.c b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_sdhc_automount.c index 18612e7ae..84b8e539b 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_sdhc_automount.c +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_sdhc_automount.c @@ -94,11 +94,11 @@ static const struct imxrt_automount_config_s g_sdhc_config = { .lower = { - .fstype = CONFIG_XIDATONG_SDHC_AUTOMOUNT_FSTYPE, - .blockdev = CONFIG_XIDATONG_SDHC_AUTOMOUNT_BLKDEV, - .mountpoint = CONFIG_XIDATONG_SDHC_AUTOMOUNT_MOUNTPOINT, - .ddelay = MSEC2TICK(CONFIG_XIDATONG_SDHC_AUTOMOUNT_DDELAY), - .udelay = MSEC2TICK(CONFIG_XIDATONG_SDHC_AUTOMOUNT_UDELAY), + .fstype = CONFIG_XIDATONG_SDIO_AUTOMOUNT_FSTYPE, + .blockdev = CONFIG_XIDATONG_SDIO_AUTOMOUNT_BLKDEV, + .mountpoint = CONFIG_XIDATONG_SDIO_AUTOMOUNT_MOUNTPOINT, + .ddelay = MSEC2TICK(CONFIG_XIDATONG_SDIO_AUTOMOUNT_DDELAY), + .udelay = MSEC2TICK(CONFIG_XIDATONG_SDIO_AUTOMOUNT_UDELAY), .attach = imxrt_sdhc_attach, .enable = imxrt_sdhc_enable, .inserted = imxrt_sdhc_inserted 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 355b5d359..b01903cb5 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h @@ -208,7 +208,7 @@ int imxrt_usbhost_initialize(void); int imxrt_mmcsd_initialize(void); #endif -#ifdef CONFIG_XIDATONG_SDHC_AUTOMOUNT +#ifdef CONFIG_XIDATONG_SDIO_AUTOMOUNT int imxrt_sdhc_automount_event(void *arg); void imxrt_automount_initialize(void); #endif From e2924875d3f74466065feef9d142751338b036cb Mon Sep 17 00:00:00 2001 From: wgzAIIT <820906721@qq.com> Date: Tue, 12 Apr 2022 18:10:50 +0800 Subject: [PATCH 8/9] move nsh_sdmmc_initialize to imxrt_mmcsd.c for xidatong --- .../aiit_board/xidatong/src/Makefile | 6 +- .../aiit_board/xidatong/src/imxrt_bringup.c | 43 -------- .../aiit_board/xidatong/src/imxrt_mmcsd.c | 103 ++++++++++++++++++ ...hc_automount.c => imxrt_mmcsd_automount.c} | 0 .../aiit_board/xidatong/src/xidatong.h | 6 + 5 files changed, 114 insertions(+), 44 deletions(-) create mode 100644 Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd.c rename Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/{imxrt_sdhc_automount.c => imxrt_mmcsd_automount.c} (100%) diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile index 90d754261..6ab31a006 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/Makefile @@ -70,8 +70,12 @@ ifeq ($(CONFIG_USBHOST),y) CSRCS += imxrt_usbhost.c endif +ifeq ($(CONFIG_IMXRT_USDHC),y) +CSRCS += imxrt_mmcsd.c +endif + ifeq ($(CONFIG_XIDATONG_SDIO_AUTOMOUNT),y) -CSRCS += imxrt_sdhc_automount.c +CSRCS += imxrt_mmcsd_automount.c endif include $(TOPDIR)/boards/Board.mk diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c index 5ada5b0ce..2aab9d081 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_bringup.c @@ -43,10 +43,6 @@ #include #include -#ifdef CONFIG_IMXRT_USDHC -# include "imxrt_usdhc.h" -#endif - #ifdef CONFIG_USBMONITOR # include #endif @@ -94,45 +90,6 @@ static void imxrt_i2c_register(int bus) } #endif -#ifdef CONFIG_IMXRT_USDHC -static int nsh_sdmmc_initialize(void) -{ - struct sdio_dev_s *sdmmc; - int ret = 0; - - /* Get an instance of the SDIO interface */ - - sdmmc = imxrt_usdhc_initialize(0); - if (!sdmmc) - { - syslog(LOG_ERR, "ERROR: Failed to initialize SD/MMC\n"); - } - else - { - /* Bind the SDIO interface to the MMC/SD driver */ - - ret = mmcsd_slotinitialize(0, sdmmc); - if (ret != OK) - { - syslog(LOG_ERR, - "ERROR: Failed to bind SDIO to the MMC/SD driver: %d\n", - ret); - } - -#ifdef CONFIG_XIDATONG_SDIO_AUTOMOUNT - imxrt_automount_initialize(); - imxrt_usdhc_set_sdio_card_isr(sdmmc, imxrt_sdhc_automount_event, NULL); -#else - imxrt_usdhc_set_sdio_card_isr(sdmmc, NULL, NULL); -#endif - } - - return OK; -} -#else -# define nsh_sdmmc_initialize() (OK) -#endif - /**************************************************************************** * Public Functions ****************************************************************************/ 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 new file mode 100644 index 000000000..dad38e4f2 --- /dev/null +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd.c @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2020 AIIT XUOS Lab +* XiOS is licensed under Mulan PSL v2. +* You can use this software according to the terms and conditions of the Mulan PSL v2. +* You may obtain a copy of Mulan PSL v2 at: +* http://license.coscl.org.cn/MulanPSL2 +* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +* See the Mulan PSL v2 for more details. +*/ + +/** + * @file imxrt_sdhc_automount.c + * @brief imxrt board sd card automount + * @version 1.0 + * @author AIIT XUOS Lab + * @date 2022.04.12 + */ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#include +#include +#include +#include + +#include "xidatong.h" + +#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 + ****************************************************************************/ + +/**************************************************************************** + * Name: nsh_sdmmc_initialize + * + * Description: + * Initialize the SDHC SD card slot + * + ****************************************************************************/ + +int nsh_sdmmc_initialize(void) +{ + int ret = 0; + + /* Get an instance of the SDIO interface */ + + g_sdhc.sdhc = imxrt_usdhc_initialize(0); + if (!g_sdhc.sdhc) + { + syslog(LOG_ERR, "ERROR: Failed to initialize SD/MMC\n"); + return -ENODEV; + } + + /* Bind the SDIO interface to the MMC/SD driver */ + + ret = mmcsd_slotinitialize(0, g_sdhc.sdhc); + if (ret != OK) + { + syslog(LOG_ERR, "ERROR: Failed to bind SDIO to the MMC/SD driver: %d\n", ret); + return ret; + } + +#ifdef CONFIG_XIDATONG_SDIO_AUTOMOUNT + imxrt_automount_initialize(); + imxrt_usdhc_set_sdio_card_isr(g_sdhc.sdhc, imxrt_sdhc_automount_event, NULL); +#else + imxrt_usdhc_set_sdio_card_isr(g_sdhc.sdhc, NULL, NULL); +#endif + + return OK; +} +#endif \ No newline at end of file diff --git a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_sdhc_automount.c b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd_automount.c similarity index 100% rename from Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_sdhc_automount.c rename to Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/imxrt_mmcsd_automount.c 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 b01903cb5..0f92e68cb 100644 --- a/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h +++ b/Ubiquitous/Nuttx_Fusion_XiUOS/aiit_board/xidatong/src/xidatong.h @@ -208,6 +208,12 @@ int imxrt_usbhost_initialize(void); 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 int imxrt_sdhc_automount_event(void *arg); void imxrt_automount_initialize(void); 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 9/9] 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