Browse Source

[bsp/phytium]适配rtthread5.2版本 (#10178)

* rtthread 5.2适配
zhangyan 2 weeks ago
parent
commit
3ebad06ff3
66 changed files with 8648 additions and 1133 deletions
  1. 2 0
      .github/ALL_BSP_COMPILE.json
  2. 171 68
      bsp/phytium/aarch32/.config
  3. 152 26
      bsp/phytium/aarch32/configs/e2000d_demo_rtsmart
  4. 80 16
      bsp/phytium/aarch32/configs/e2000d_demo_rtsmart.h
  5. 160 18
      bsp/phytium/aarch32/configs/e2000d_demo_rtthread
  6. 87 9
      bsp/phytium/aarch32/configs/e2000d_demo_rtthread.h
  7. 165 41
      bsp/phytium/aarch32/configs/e2000d_demo_rtthread_pusb2_dc
  8. 88 14
      bsp/phytium/aarch32/configs/e2000d_demo_rtthread_pusb2_dc.h
  9. 156 27
      bsp/phytium/aarch32/configs/e2000q_demo_rtsmart
  10. 84 17
      bsp/phytium/aarch32/configs/e2000q_demo_rtsmart.h
  11. 157 18
      bsp/phytium/aarch32/configs/e2000q_demo_rtthread
  12. 87 9
      bsp/phytium/aarch32/configs/e2000q_demo_rtthread.h
  13. 152 26
      bsp/phytium/aarch32/configs/phytium_pi_rtsmart
  14. 80 16
      bsp/phytium/aarch32/configs/phytium_pi_rtsmart.h
  15. 157 42
      bsp/phytium/aarch32/configs/phytium_pi_rtthread
  16. 79 14
      bsp/phytium/aarch32/configs/phytium_pi_rtthread.h
  17. 157 42
      bsp/phytium/aarch32/configs/phytium_pi_rtthread_pusb2_hc
  18. 79 14
      bsp/phytium/aarch32/configs/phytium_pi_rtthread_pusb2_hc.h
  19. 6 0
      bsp/phytium/aarch32/makefile
  20. 93 21
      bsp/phytium/aarch32/rtconfig.h
  21. 172 75
      bsp/phytium/aarch64/.config
  22. 169 31
      bsp/phytium/aarch64/configs/e2000d_demo_rtsmart
  23. 100 20
      bsp/phytium/aarch64/configs/e2000d_demo_rtsmart.h
  24. 167 52
      bsp/phytium/aarch64/configs/e2000d_demo_rtthread
  25. 100 14
      bsp/phytium/aarch64/configs/e2000d_demo_rtthread.h
  26. 189 42
      bsp/phytium/aarch64/configs/e2000d_demo_rtthread_pusb2_dc
  27. 108 15
      bsp/phytium/aarch64/configs/e2000d_demo_rtthread_pusb2_dc.h
  28. 1668 0
      bsp/phytium/aarch64/configs/e2000d_demo_rtthread_xhci
  29. 627 0
      bsp/phytium/aarch64/configs/e2000d_demo_rtthread_xhci.h
  30. 168 30
      bsp/phytium/aarch64/configs/e2000q_demo_rtsmart
  31. 99 19
      bsp/phytium/aarch64/configs/e2000q_demo_rtsmart.h
  32. 170 28
      bsp/phytium/aarch64/configs/e2000q_demo_rtthread
  33. 103 15
      bsp/phytium/aarch64/configs/e2000q_demo_rtthread.h
  34. 161 26
      bsp/phytium/aarch64/configs/phytium_pi_rtsmart
  35. 93 18
      bsp/phytium/aarch64/configs/phytium_pi_rtsmart.h
  36. 163 51
      bsp/phytium/aarch64/configs/phytium_pi_rtthread
  37. 95 14
      bsp/phytium/aarch64/configs/phytium_pi_rtthread.h
  38. 175 44
      bsp/phytium/aarch64/configs/phytium_pi_rtthread_pusb2_hc
  39. 99 15
      bsp/phytium/aarch64/configs/phytium_pi_rtthread_pusb2_hc.h
  40. 176 45
      bsp/phytium/aarch64/configs/phytium_pi_rtthread_xhci
  41. 100 16
      bsp/phytium/aarch64/configs/phytium_pi_rtthread_xhci.h
  42. 0 0
      bsp/phytium/aarch64/disassembly.txt
  43. 26 6
      bsp/phytium/aarch64/makefile
  44. 102 25
      bsp/phytium/aarch64/rtconfig.h
  45. 2 0
      bsp/phytium/board/phytium_cpu.h
  46. 23 11
      bsp/phytium/libraries/SConscript
  47. 19 0
      bsp/phytium/libraries/drivers/Kconfig
  48. 15 17
      bsp/phytium/libraries/drivers/drv_can.c
  49. 38 21
      bsp/phytium/libraries/drivers/drv_dc.c
  50. 4 11
      bsp/phytium/libraries/drivers/drv_gpio.c
  51. 2 3
      bsp/phytium/libraries/drivers/drv_i2c.c
  52. 496 0
      bsp/phytium/libraries/drivers/drv_i2s.c
  53. 29 0
      bsp/phytium/libraries/drivers/drv_i2s.h
  54. 190 20
      bsp/phytium/libraries/drivers/drv_qspi.c
  55. 27 9
      bsp/phytium/libraries/drivers/drv_spi.c
  56. 1 0
      bsp/phytium/libraries/drivers/drv_xmac.h
  57. 131 0
      bsp/phytium/libraries/drivers_example/can_sample.c
  58. 111 0
      bsp/phytium/libraries/drivers_example/gpio_sample.c
  59. 59 0
      bsp/phytium/libraries/drivers_example/i2c_sample.c
  60. 68 0
      bsp/phytium/libraries/drivers_example/i2s_mic_example.c
  61. 98 0
      bsp/phytium/libraries/drivers_example/qspi_sample.c
  62. 105 0
      bsp/phytium/libraries/drivers_example/spi_sample.c
  63. 1 1
      bsp/phytium/libraries/phytium_standalone_sdk_install.py
  64. 1 1
      components/drivers/usb/cherryusb/SConscript
  65. 1 0
      components/drivers/usb/cherryusb/port/pusb2/rt-thread/usb_config.h
  66. 5 0
      components/drivers/usb/cherryusb/port/pusb2/rt-thread/usb_dc_glue_phytium.c

+ 2 - 0
.github/ALL_BSP_COMPILE.json

@@ -68,6 +68,7 @@
       "RTT_BSP": "others_ft32_mm32_acm32",
       "RTT_TOOL_CHAIN": "sourcery-arm",
       "SUB_RTT_BSP": [
+        "phytium/aarch32",
         "qemu-vexpress-a9",
         "airm2m/air32f103",
         "acm32/acm32f0x0-nucleo",
@@ -369,6 +370,7 @@
       "RTT_BSP": "aarch64",
       "RTT_TOOL_CHAIN": "sourcery-aarch64",
       "SUB_RTT_BSP": [
+        "phytium/aarch64",
         "qemu-virt64-aarch64",
         "raspberry-pi/raspi3-64",
         "raspberry-pi/raspi4-64"

+ 171 - 68
bsp/phytium/aarch32/.config

@@ -2,19 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
-CONFIG_RT_CPUS_NR=2
+CONFIG_RT_CPUS_NR=4
 CONFIG_RT_ALIGN_SIZE=4
 # CONFIG_RT_THREAD_PRIORITY_8 is not set
 CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +165,7 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -197,6 +294,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -207,6 +305,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -228,61 +327,39 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
 # CONFIG_RT_USING_HWTIMER is not set
-CONFIG_RT_USING_CHERRYUSB=y
-# CONFIG_RT_CHERRYUSB_DEVICE is not set
-CONFIG_RT_CHERRYUSB_HOST=y
-# CONFIG_RT_CHERRYUSB_HOST_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_BK is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
-CONFIG_RT_CHERRYUSB_HOST_XHCI=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
-CONFIG_RT_CHERRYUSB_HOST_HID=y
-CONFIG_RT_CHERRYUSB_HOST_MSC=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ECM is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_RNDIS is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_NCM is not set
-# CONFIG_RT_CHERRYUSB_HOST_VIDEO is not set
-# CONFIG_RT_CHERRYUSB_HOST_AUDIO is not set
-# CONFIG_RT_CHERRYUSB_HOST_BLUETOOTH is not set
-# CONFIG_RT_CHERRYUSB_HOST_ASIX is not set
-# CONFIG_RT_CHERRYUSB_HOST_RTL8152 is not set
-# CONFIG_RT_CHERRYUSB_HOST_FTDI is not set
-# CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
-# CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
-# CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
+# CONFIG_RT_USING_CHERRYUSB is not set
 CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
-# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -423,6 +500,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -444,6 +522,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -456,6 +536,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1352,6 +1448,7 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1385,8 +1482,8 @@ CONFIG_RT_USING_PWM2=y
 # CONFIG_RT_USING_PWM7 is not set
 CONFIG_BSP_USING_I2C=y
 CONFIG_I2C_USE_MIO=y
-CONFIG_RT_USING_MIO0=y
-CONFIG_RT_USING_MIO1=y
+# CONFIG_RT_USING_MIO0 is not set
+# CONFIG_RT_USING_MIO1 is not set
 # CONFIG_RT_USING_MIO2 is not set
 # CONFIG_RT_USING_MIO3 is not set
 # CONFIG_RT_USING_MIO4 is not set
@@ -1400,7 +1497,7 @@ CONFIG_RT_USING_MIO1=y
 # CONFIG_RT_USING_MIO12 is not set
 # CONFIG_RT_USING_MIO13 is not set
 # CONFIG_RT_USING_MIO14 is not set
-# CONFIG_RT_USING_MIO15 is not set
+CONFIG_RT_USING_MIO15=y
 # CONFIG_I2C_USE_CONTROLLER is not set
 CONFIG_BSP_USING_SDIF=y
 CONFIG_BSP_USING_SDCARD_FATFS=y
@@ -1413,6 +1510,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1432,15 +1533,17 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y
 # Soc configuration
 #
 # CONFIG_TARGET_PHYTIUMPI is not set
-# CONFIG_TARGET_E2000Q is not set
-CONFIG_TARGET_E2000D=y
+CONFIG_TARGET_E2000Q=y
+# CONFIG_TARGET_E2000D is not set
 # CONFIG_TARGET_E2000S is not set
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
-CONFIG_TARGET_TYPE_NAME="d"
-CONFIG_SOC_CORE_NUM=2
+CONFIG_TARGET_TYPE_NAME="q"
+CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
@@ -1454,22 +1557,21 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
 #
 # Board Configuration
 #
-CONFIG_E2000D_DEMO_BOARD=y
 CONFIG_BOARD_NAME="demo"
-
-#
-# IO mux configuration when board start up
-#
 # CONFIG_USE_SPI_IOPAD is not set
 # CONFIG_USE_GPIO_IOPAD is not set
 # CONFIG_USE_CAN_IOPAD is not set
 # CONFIG_USE_QSPI_IOPAD is not set
 # CONFIG_USE_PWM_IOPAD is not set
-# CONFIG_USE_ADC_IOPAD is not set
 # CONFIG_USE_MIO_IOPAD is not set
 # CONFIG_USE_TACHO_IOPAD is not set
 # CONFIG_USE_UART_IOPAD is not set
 # CONFIG_USE_THIRD_PARTY_IOPAD is not set
+CONFIG_E2000Q_DEMO_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
 # end of IO mux configuration when board start up
 
 # CONFIG_CUS_DEMO_BOARD is not set
@@ -1491,5 +1593,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 152 - 26
bsp/phytium/aarch32/configs/e2000d_demo_rtsmart

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=2
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 CONFIG_RT_USING_CPU_USAGE_TRACER=y
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 CONFIG_RT_DEBUGING_CRITICAL=y
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +165,6 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_THREADSAFE_PRINTF=y
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 CONFIG_RT_USING_DFS_PTYFS=y
+# CONFIG_RT_USING_DFS_PROCFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 CONFIG_RT_USING_DFS_MQUEUE=y
@@ -206,6 +303,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+CONFIG_RT_USING_SERIAL_BYPASS=y
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -216,6 +314,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -237,8 +336,9 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
@@ -251,6 +351,15 @@ CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -400,6 +509,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -421,6 +531,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -432,12 +544,29 @@ CONFIG_RT_USING_ADT_REF=y
 # end of Utilities
 
 # CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 CONFIG_RT_USING_LWP=y
 # CONFIG_LWP_DEBUG is not set
+CONFIG_LWP_USING_RUNTIME=y
 CONFIG_RT_LWP_MAX_NR=30
 CONFIG_LWP_TASK_STACK_SIZE=16384
 CONFIG_RT_CH_MSG_MAX_NR=1024
-CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_LWP_ENABLE_ASID=y
 CONFIG_RT_LWP_SHM_MAX_NR=64
@@ -447,12 +576,6 @@ CONFIG_RT_USING_LDSO=y
 CONFIG_LWP_USING_TERMINAL=y
 CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 
-#
-# Memory management
-#
-# CONFIG_RT_USING_MEMBLOCK is not set
-# end of Memory management
-
 #
 # Using USB legacy version
 #
@@ -1349,6 +1472,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1407,9 +1531,8 @@ CONFIG_USE_SDIF0_EMMC=y
 CONFIG_USING_SDIF1=y
 CONFIG_USE_SDIF1_TF=y
 # CONFIG_USE_SDIF1_EMMC is not set
-CONFIG_BSP_USING_DC=y
-CONFIG_RT_USING_DC_CHANNEL0=y
-# CONFIG_RT_USING_DC_CHANNEL1 is not set
+# CONFIG_BSP_USING_DC is not set
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1435,6 +1558,8 @@ CONFIG_TARGET_E2000D=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="d"
 CONFIG_SOC_CORE_NUM=2
@@ -1488,5 +1613,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 80 - 16
bsp/phytium/aarch32/configs/e2000d_demo_rtsmart.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMART
 #define RT_USING_SMP
@@ -11,6 +69,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -22,19 +81,14 @@
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 #define RT_USING_CPU_USAGE_TRACER
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
 #define RT_DEBUGING_CRITICAL
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -48,7 +102,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -59,7 +112,6 @@
 #define RT_USING_DEVICE
 #define RT_USING_DEVICE_OPS
 #define RT_USING_THREADSAFE_PRINTF
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -149,6 +201,7 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 1024
+#define RT_USING_SERIAL_BYPASS
 #define RT_USING_CAN
 #define RT_CAN_USING_CANFD
 #define RT_USING_I2C
@@ -166,6 +219,13 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -292,11 +352,21 @@
 #define RT_USING_ADT_HASHMAP
 #define RT_USING_ADT_REF
 /* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
 #define RT_USING_LWP
+#define LWP_USING_RUNTIME
 #define RT_LWP_MAX_NR 30
 #define LWP_TASK_STACK_SIZE 16384
 #define RT_CH_MSG_MAX_NR 1024
-#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024
 #define LWP_TID_MAX_NR 64
 #define LWP_ENABLE_ASID
 #define RT_LWP_SHM_MAX_NR 64
@@ -304,10 +374,6 @@
 #define LWP_USING_TERMINAL
 #define LWP_PTY_MAX_PARIS_LIMIT 64
 
-/* Memory management */
-
-/* end of Memory management */
-
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -521,8 +587,6 @@
 #define USE_SDIF0_EMMC
 #define USING_SDIF1
 #define USE_SDIF1_TF
-#define BSP_USING_DC
-#define RT_USING_DC_CHANNEL0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 160 - 18
bsp/phytium/aarch32/configs/e2000d_demo_rtthread

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=2
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +165,7 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -197,6 +294,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -207,6 +305,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -228,20 +327,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -259,6 +371,7 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
@@ -266,6 +379,8 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
 CONFIG_RT_CHERRYUSB_HOST_XHCI=y
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_HOST_HID=y
 CONFIG_RT_CHERRYUSB_HOST_MSC=y
@@ -423,6 +538,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -444,6 +560,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -456,6 +574,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1352,6 +1486,7 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1413,6 +1548,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1438,6 +1577,8 @@ CONFIG_TARGET_E2000D=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="d"
 CONFIG_SOC_CORE_NUM=2
@@ -1491,5 +1632,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 87 - 9
bsp/phytium/aarch32/configs/e2000d_demo_rtthread.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 2
@@ -10,6 +68,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +79,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 
-/* kservice optimization */
-
-/* end of kservice optimization */
+/* kservice options */
 
-/* klibc optimization */
-
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +99,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +108,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -150,6 +203,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -279,6 +343,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -496,6 +570,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 165 - 41
bsp/phytium/aarch32/configs/e2000d_demo_rtthread_pusb2_dc

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=2
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +165,7 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -197,6 +294,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -207,6 +305,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -228,20 +327,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -258,16 +370,22 @@ CONFIG_RT_CHERRYUSB_DEVICE_SPEED_HS=y
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_AT is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_GD is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_HC is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_SUNXI is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_BK is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_KINETIS_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_CHIPIDEA_MCX is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_CHIPIDEA_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_BL is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_CH32 is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_HPM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_AIC is not set
 CONFIG_RT_CHERRYUSB_DEVICE_PUSB2=y
+# CONFIG_RT_CHERRYUSB_DEVICE_NRF5X is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_CDC_ACM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_HID is not set
 CONFIG_RT_CHERRYUSB_DEVICE_MSC=y
@@ -280,6 +398,7 @@ CONFIG_RT_CHERRYUSB_DEVICE_MSC=y
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_NONE is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC=y
+# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM is not set
@@ -295,6 +414,7 @@ CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC=y
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID is not set
 # CONFIG_RT_CHERRYUSB_HOST is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 # end of Device Drivers
 
 #
@@ -435,6 +555,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -456,6 +577,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -468,6 +591,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -636,7 +775,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_JSMN is not set
 # CONFIG_PKG_USING_AGILE_JSMN is not set
 # CONFIG_PKG_USING_PARSON is not set
-# CONFIG_PKG_USING_RYAN_JSON is not set
 # end of JSON: JavaScript Object Notation, a lightweight data-interchange format
 
 #
@@ -756,8 +894,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
 # end of enhanced kernel services
 
-# CONFIG_PKG_USING_AUNITY is not set
-
 #
 # acceleration: Assembly language or algorithmic acceleration packages
 #
@@ -848,29 +984,12 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # STM32 HAL & SDK Drivers
 #
-# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # end of STM32 HAL & SDK Drivers
 
-#
-# Infineon HAL Packages
-#
-# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
-# CONFIG_PKG_USING_INFINEON_CMSIS is not set
-# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
-# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
-# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
-# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
-# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
-# CONFIG_PKG_USING_INFINEON_USBDEV is not set
-# end of Infineon HAL Packages
-
 # CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_ESP_IDF is not set
@@ -1043,7 +1162,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
 # CONFIG_PKG_USING_BT_MX01 is not set
 # CONFIG_PKG_USING_RGPOWER is not set
-# CONFIG_PKG_USING_BT_MX02 is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 # end of peripheral libraries and drivers
 
@@ -1065,7 +1183,6 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # Signal Processing and Control Algorithm Packages
 #
-# CONFIG_PKG_USING_APID is not set
 # CONFIG_PKG_USING_FIRE_PID_CURVE is not set
 # CONFIG_PKG_USING_QPID is not set
 # CONFIG_PKG_USING_UKAL is not set
@@ -1386,6 +1503,7 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1408,7 +1526,6 @@ CONFIG_RT_USING_QSPI0=y
 CONFIG_USING_QSPI_CHANNEL0=y
 # CONFIG_USING_QSPI_CHANNEL1 is not set
 CONFIG_BSP_USING_ETH=y
-CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
@@ -1448,6 +1565,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1473,6 +1594,8 @@ CONFIG_TARGET_E2000D=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="d"
 CONFIG_SOC_CORE_NUM=2
@@ -1526,5 +1649,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 88 - 14
bsp/phytium/aarch32/configs/e2000d_demo_rtthread_pusb2_dc.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 2
@@ -10,6 +68,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +79,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +99,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +108,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -151,6 +204,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -159,6 +223,7 @@
 #define RT_CHERRYUSB_DEVICE_PUSB2
 #define RT_CHERRYUSB_DEVICE_MSC
 #define RT_CHERRYUSB_DEVICE_TEMPLATE_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
 /* C/C++ and POSIX layer */
@@ -280,6 +345,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -379,10 +454,6 @@
 
 /* end of STM32 HAL & SDK Drivers */
 
-/* Infineon HAL Packages */
-
-/* end of Infineon HAL Packages */
-
 /* Kendryte SDK */
 
 /* end of Kendryte SDK */
@@ -486,7 +557,6 @@
 #define RT_USING_QSPI0
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
-#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 #define BSP_USING_PWM
 #define RT_USING_PWM2
 #define BSP_USING_I2C
@@ -502,6 +572,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 156 - 27
bsp/phytium/aarch32/configs/e2000q_demo_rtsmart

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 CONFIG_RT_USING_CPU_USAGE_TRACER=y
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 CONFIG_RT_DEBUGING_CRITICAL=y
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +165,6 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_THREADSAFE_PRINTF=y
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 CONFIG_RT_USING_DFS_PTYFS=y
+# CONFIG_RT_USING_DFS_PROCFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 CONFIG_RT_USING_DFS_MQUEUE=y
@@ -206,6 +303,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+CONFIG_RT_USING_SERIAL_BYPASS=y
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -216,6 +314,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -237,20 +336,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -400,6 +512,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -421,6 +534,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -432,12 +547,29 @@ CONFIG_RT_USING_ADT_REF=y
 # end of Utilities
 
 # CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 CONFIG_RT_USING_LWP=y
 # CONFIG_LWP_DEBUG is not set
+CONFIG_LWP_USING_RUNTIME=y
 CONFIG_RT_LWP_MAX_NR=30
 CONFIG_LWP_TASK_STACK_SIZE=16384
 CONFIG_RT_CH_MSG_MAX_NR=1024
-CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_LWP_ENABLE_ASID=y
 CONFIG_RT_LWP_SHM_MAX_NR=64
@@ -447,12 +579,6 @@ CONFIG_RT_USING_LDSO=y
 CONFIG_LWP_USING_TERMINAL=y
 CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 
-#
-# Memory management
-#
-# CONFIG_RT_USING_MEMBLOCK is not set
-# end of Memory management
-
 #
 # Using USB legacy version
 #
@@ -1349,6 +1475,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1407,9 +1534,8 @@ CONFIG_USE_SDIF0_EMMC=y
 CONFIG_USING_SDIF1=y
 CONFIG_USE_SDIF1_TF=y
 # CONFIG_USE_SDIF1_EMMC is not set
-CONFIG_BSP_USING_DC=y
-CONFIG_RT_USING_DC_CHANNEL0=y
-CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_DC is not set
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1435,6 +1561,8 @@ CONFIG_TARGET_E2000Q=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="q"
 CONFIG_SOC_CORE_NUM=4
@@ -1487,5 +1615,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 84 - 17
bsp/phytium/aarch32/configs/e2000q_demo_rtsmart.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMART
 #define RT_USING_SMP
@@ -11,6 +69,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -22,19 +81,14 @@
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 #define RT_USING_CPU_USAGE_TRACER
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
 #define RT_DEBUGING_CRITICAL
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -48,7 +102,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -59,7 +112,6 @@
 #define RT_USING_DEVICE
 #define RT_USING_DEVICE_OPS
 #define RT_USING_THREADSAFE_PRINTF
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -149,6 +201,7 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 1024
+#define RT_USING_SERIAL_BYPASS
 #define RT_USING_CAN
 #define RT_CAN_USING_CANFD
 #define RT_USING_I2C
@@ -166,6 +219,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -292,11 +356,21 @@
 #define RT_USING_ADT_HASHMAP
 #define RT_USING_ADT_REF
 /* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
 #define RT_USING_LWP
+#define LWP_USING_RUNTIME
 #define RT_LWP_MAX_NR 30
 #define LWP_TASK_STACK_SIZE 16384
 #define RT_CH_MSG_MAX_NR 1024
-#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024
 #define LWP_TID_MAX_NR 64
 #define LWP_ENABLE_ASID
 #define RT_LWP_SHM_MAX_NR 64
@@ -304,10 +378,6 @@
 #define LWP_USING_TERMINAL
 #define LWP_PTY_MAX_PARIS_LIMIT 64
 
-/* Memory management */
-
-/* end of Memory management */
-
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -521,9 +591,6 @@
 #define USE_SDIF0_EMMC
 #define USING_SDIF1
 #define USE_SDIF1_TF
-#define BSP_USING_DC
-#define RT_USING_DC_CHANNEL0
-#define RT_USING_DC_CHANNEL1
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 157 - 18
bsp/phytium/aarch32/configs/e2000q_demo_rtthread

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +165,7 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -197,6 +294,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -207,6 +305,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -228,20 +327,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -388,6 +500,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -409,6 +522,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -421,6 +536,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1317,6 +1448,7 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1378,6 +1510,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1403,6 +1539,8 @@ CONFIG_TARGET_E2000Q=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="q"
 CONFIG_SOC_CORE_NUM=4
@@ -1455,5 +1593,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 87 - 9
bsp/phytium/aarch32/configs/e2000q_demo_rtthread.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +68,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +79,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 
-/* kservice optimization */
-
-/* end of kservice optimization */
+/* kservice options */
 
-/* klibc optimization */
-
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +99,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +108,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -150,6 +203,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -274,6 +338,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -490,6 +564,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 152 - 26
bsp/phytium/aarch32/configs/phytium_pi_rtsmart

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 CONFIG_RT_USING_CPU_USAGE_TRACER=y
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 CONFIG_RT_DEBUGING_CRITICAL=y
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +165,6 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_THREADSAFE_PRINTF=y
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 CONFIG_RT_USING_DFS_PTYFS=y
+# CONFIG_RT_USING_DFS_PROCFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 CONFIG_RT_USING_DFS_MQUEUE=y
@@ -206,6 +303,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+CONFIG_RT_USING_SERIAL_BYPASS=y
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -216,6 +314,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -237,8 +336,9 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
@@ -251,6 +351,15 @@ CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -400,6 +509,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -421,6 +531,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -432,12 +544,29 @@ CONFIG_RT_USING_ADT_REF=y
 # end of Utilities
 
 # CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 CONFIG_RT_USING_LWP=y
 # CONFIG_LWP_DEBUG is not set
+CONFIG_LWP_USING_RUNTIME=y
 CONFIG_RT_LWP_MAX_NR=30
 CONFIG_LWP_TASK_STACK_SIZE=16384
 CONFIG_RT_CH_MSG_MAX_NR=1024
-CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_LWP_ENABLE_ASID=y
 CONFIG_RT_LWP_SHM_MAX_NR=64
@@ -447,12 +576,6 @@ CONFIG_RT_USING_LDSO=y
 CONFIG_LWP_USING_TERMINAL=y
 CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 
-#
-# Memory management
-#
-# CONFIG_RT_USING_MEMBLOCK is not set
-# end of Memory management
-
 #
 # Using USB legacy version
 #
@@ -1349,6 +1472,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1401,9 +1525,8 @@ CONFIG_USING_SDIF0=y
 CONFIG_USE_SDIF0_TF=y
 # CONFIG_USE_SDIF0_EMMC is not set
 # CONFIG_USING_SDIF1 is not set
-CONFIG_BSP_USING_DC=y
-CONFIG_RT_USING_DC_CHANNEL0=y
-# CONFIG_RT_USING_DC_CHANNEL1 is not set
+# CONFIG_BSP_USING_DC is not set
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1429,6 +1552,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
@@ -1480,5 +1605,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 80 - 16
bsp/phytium/aarch32/configs/phytium_pi_rtsmart.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMART
 #define RT_USING_SMP
@@ -11,6 +69,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -22,19 +81,14 @@
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 #define RT_USING_CPU_USAGE_TRACER
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
 #define RT_DEBUGING_CRITICAL
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -48,7 +102,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -59,7 +112,6 @@
 #define RT_USING_DEVICE
 #define RT_USING_DEVICE_OPS
 #define RT_USING_THREADSAFE_PRINTF
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -149,6 +201,7 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 1024
+#define RT_USING_SERIAL_BYPASS
 #define RT_USING_CAN
 #define RT_CAN_USING_CANFD
 #define RT_USING_I2C
@@ -166,6 +219,13 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -292,11 +352,21 @@
 #define RT_USING_ADT_HASHMAP
 #define RT_USING_ADT_REF
 /* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
 #define RT_USING_LWP
+#define LWP_USING_RUNTIME
 #define RT_LWP_MAX_NR 30
 #define LWP_TASK_STACK_SIZE 16384
 #define RT_CH_MSG_MAX_NR 1024
-#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024
 #define LWP_TID_MAX_NR 64
 #define LWP_ENABLE_ASID
 #define RT_LWP_SHM_MAX_NR 64
@@ -304,10 +374,6 @@
 #define LWP_USING_TERMINAL
 #define LWP_PTY_MAX_PARIS_LIMIT 64
 
-/* Memory management */
-
-/* end of Memory management */
-
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -516,8 +582,6 @@
 #define BSP_USING_SDCARD_FATFS
 #define USING_SDIF0
 #define USE_SDIF0_TF
-#define BSP_USING_DC
-#define RT_USING_DC_CHANNEL0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 157 - 42
bsp/phytium/aarch32/configs/phytium_pi_rtthread

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +165,6 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -197,6 +294,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -207,6 +305,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -228,8 +327,9 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
@@ -242,6 +342,15 @@ CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -253,11 +362,13 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
@@ -265,6 +376,8 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
 CONFIG_RT_CHERRYUSB_HOST_XHCI=y
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_HOST_HID=y
 CONFIG_RT_CHERRYUSB_HOST_MSC=y
@@ -280,7 +393,8 @@ CONFIG_RT_CHERRYUSB_HOST_MSC=y
 # CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
 # CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
 # CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
-# CONFIG_CHERRYUSB_HOST_TEMPLATE is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
+# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -421,6 +535,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -442,6 +557,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -454,6 +571,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -622,7 +755,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_JSMN is not set
 # CONFIG_PKG_USING_AGILE_JSMN is not set
 # CONFIG_PKG_USING_PARSON is not set
-# CONFIG_PKG_USING_RYAN_JSON is not set
 # end of JSON: JavaScript Object Notation, a lightweight data-interchange format
 
 #
@@ -742,8 +874,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
 # end of enhanced kernel services
 
-# CONFIG_PKG_USING_AUNITY is not set
-
 #
 # acceleration: Assembly language or algorithmic acceleration packages
 #
@@ -834,29 +964,12 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # STM32 HAL & SDK Drivers
 #
-# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # end of STM32 HAL & SDK Drivers
 
-#
-# Infineon HAL Packages
-#
-# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
-# CONFIG_PKG_USING_INFINEON_CMSIS is not set
-# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
-# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
-# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
-# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
-# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
-# CONFIG_PKG_USING_INFINEON_USBDEV is not set
-# end of Infineon HAL Packages
-
 # CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_ESP_IDF is not set
@@ -1029,7 +1142,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
 # CONFIG_PKG_USING_BT_MX01 is not set
 # CONFIG_PKG_USING_RGPOWER is not set
-# CONFIG_PKG_USING_BT_MX02 is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 # end of peripheral libraries and drivers
 
@@ -1051,7 +1163,6 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # Signal Processing and Control Algorithm Packages
 #
-# CONFIG_PKG_USING_APID is not set
 # CONFIG_PKG_USING_FIRE_PID_CURVE is not set
 # CONFIG_PKG_USING_QPID is not set
 # CONFIG_PKG_USING_UKAL is not set
@@ -1372,6 +1483,7 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1390,7 +1502,6 @@ CONFIG_RT_USING_QSPI0=y
 CONFIG_USING_QSPI_CHANNEL0=y
 # CONFIG_USING_QSPI_CHANNEL1 is not set
 CONFIG_BSP_USING_ETH=y
-CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
@@ -1426,6 +1537,7 @@ CONFIG_BSP_USING_SDIF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1451,6 +1563,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
@@ -1502,5 +1616,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 79 - 14
bsp/phytium/aarch32/configs/phytium_pi_rtthread.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +68,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +79,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +99,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +107,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -151,6 +203,13 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -158,6 +217,7 @@
 #define RT_CHERRYUSB_HOST_XHCI
 #define RT_CHERRYUSB_HOST_HID
 #define RT_CHERRYUSB_HOST_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
 /* C/C++ and POSIX layer */
@@ -279,6 +339,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -378,10 +448,6 @@
 
 /* end of STM32 HAL & SDK Drivers */
 
-/* Infineon HAL Packages */
-
-/* end of Infineon HAL Packages */
-
 /* Kendryte SDK */
 
 /* end of Kendryte SDK */
@@ -481,7 +547,6 @@
 #define RT_USING_QSPI0
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
-#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 #define BSP_USING_PWM
 #define BSP_USING_I2C
 #define I2C_USE_MIO

+ 157 - 42
bsp/phytium/aarch32/configs/phytium_pi_rtthread_pusb2_hc

@@ -2,10 +2,116 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +121,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +136,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=4096
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +165,6 @@ CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=11
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +185,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=256
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -172,6 +268,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -197,6 +294,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=1024
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -207,6 +305,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -228,8 +327,9 @@ CONFIG_RT_MMCSD_STACK_SIZE=4096
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
@@ -242,6 +342,15 @@ CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -253,11 +362,13 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
@@ -265,6 +376,8 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
 CONFIG_RT_CHERRYUSB_HOST_PUSB2=y
 # CONFIG_RT_CHERRYUSB_HOST_XHCI is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_HOST_HID=y
 CONFIG_RT_CHERRYUSB_HOST_MSC=y
@@ -280,7 +393,8 @@ CONFIG_RT_CHERRYUSB_HOST_MSC=y
 # CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
 # CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
 # CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
-# CONFIG_CHERRYUSB_HOST_TEMPLATE is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
+# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -421,6 +535,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -442,6 +557,8 @@ CONFIG_YMODEM_USING_FILE_TRANSFER=y
 CONFIG_RT_USING_UTEST=y
 CONFIG_UTEST_THR_STACK_SIZE=4096
 CONFIG_UTEST_THR_PRIORITY=20
+# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
+# CONFIG_RT_UTEST_USING_ALL_CASES is not set
 # CONFIG_RT_USING_VAR_EXPORT is not set
 CONFIG_RT_USING_RESOURCE_ID=y
 CONFIG_RT_USING_ADT=y
@@ -454,6 +571,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=11
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -622,7 +755,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_JSMN is not set
 # CONFIG_PKG_USING_AGILE_JSMN is not set
 # CONFIG_PKG_USING_PARSON is not set
-# CONFIG_PKG_USING_RYAN_JSON is not set
 # end of JSON: JavaScript Object Notation, a lightweight data-interchange format
 
 #
@@ -742,8 +874,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
 # end of enhanced kernel services
 
-# CONFIG_PKG_USING_AUNITY is not set
-
 #
 # acceleration: Assembly language or algorithmic acceleration packages
 #
@@ -834,29 +964,12 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # STM32 HAL & SDK Drivers
 #
-# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # end of STM32 HAL & SDK Drivers
 
-#
-# Infineon HAL Packages
-#
-# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
-# CONFIG_PKG_USING_INFINEON_CMSIS is not set
-# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
-# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
-# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
-# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
-# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
-# CONFIG_PKG_USING_INFINEON_USBDEV is not set
-# end of Infineon HAL Packages
-
 # CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_ESP_IDF is not set
@@ -1029,7 +1142,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
 # CONFIG_PKG_USING_BT_MX01 is not set
 # CONFIG_PKG_USING_RGPOWER is not set
-# CONFIG_PKG_USING_BT_MX02 is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 # end of peripheral libraries and drivers
 
@@ -1051,7 +1163,6 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # Signal Processing and Control Algorithm Packages
 #
-# CONFIG_PKG_USING_APID is not set
 # CONFIG_PKG_USING_FIRE_PID_CURVE is not set
 # CONFIG_PKG_USING_QPID is not set
 # CONFIG_PKG_USING_UKAL is not set
@@ -1372,6 +1483,7 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1390,7 +1502,6 @@ CONFIG_RT_USING_QSPI0=y
 CONFIG_USING_QSPI_CHANNEL0=y
 # CONFIG_USING_QSPI_CHANNEL1 is not set
 CONFIG_BSP_USING_ETH=y
-CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
@@ -1426,6 +1537,7 @@ CONFIG_BSP_USING_SDIF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1451,6 +1563,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
@@ -1502,5 +1616,6 @@ CONFIG_LOG_ERROR=y
 CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
 CONFIG_INTERRUPT_ROLE_MASTER=y
 # CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# CONFIG_INTERRUPT_ROLE_NONE is not set
 # end of Sdk common configuration
 # end of Standalone Setting

+ 79 - 14
bsp/phytium/aarch32/configs/phytium_pi_rtthread_pusb2_hc.h

@@ -3,6 +3,64 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +68,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +79,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +99,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +107,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -151,6 +203,13 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -158,6 +217,7 @@
 #define RT_CHERRYUSB_HOST_PUSB2
 #define RT_CHERRYUSB_HOST_HID
 #define RT_CHERRYUSB_HOST_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
 /* C/C++ and POSIX layer */
@@ -279,6 +339,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -378,10 +448,6 @@
 
 /* end of STM32 HAL & SDK Drivers */
 
-/* Infineon HAL Packages */
-
-/* end of Infineon HAL Packages */
-
 /* Kendryte SDK */
 
 /* end of Kendryte SDK */
@@ -481,7 +547,6 @@
 #define RT_USING_QSPI0
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
-#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 #define BSP_USING_PWM
 #define BSP_USING_I2C
 #define I2C_USE_MIO

+ 6 - 0
bsp/phytium/aarch32/makefile

@@ -111,6 +111,12 @@ load_e2000d_demo_rtthread:
 	@cp ./configs/e2000d_demo_rtthread.h ./rtconfig.h -f
 	scons -c
 
+load_e2000d_demo_rtthread_pusb2_dc:
+	@echo "Load configs from ./configs/e2000d_demo_rtthread_pusb2_dc"
+	@cp ./configs/e2000d_demo_rtthread_pusb2_dc ./.config -f
+	@cp ./configs/e2000d_demo_rtthread_pusb2_dc.h ./rtconfig.h -f
+	scons -c
+
 load_e2000d_demo_rtthread_test:
 	@echo "Load configs from ./configs/e2000d_demo_rtthread_test"
 	@cp ./configs/e2000d_demo_rtthread_test ./.config -f

+ 93 - 21
bsp/phytium/aarch32/rtconfig.h

@@ -3,13 +3,72 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
-#define RT_CPUS_NR 2
+#define RT_CPUS_NR 4
 #define RT_ALIGN_SIZE 4
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +79,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 4096
 
-/* kservice optimization */
-
-/* end of kservice optimization */
+/* kservice options */
 
-/* klibc optimization */
-
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +99,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 11
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +108,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 256
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -150,13 +203,19 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
-#define RT_USING_CHERRYUSB
-#define RT_CHERRYUSB_HOST
-#define RT_CHERRYUSB_HOST_XHCI
-#define RT_CHERRYUSB_HOST_HID
-#define RT_CHERRYUSB_HOST_MSC
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
@@ -279,6 +338,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 11
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -485,8 +554,7 @@
 #define RT_USING_PWM2
 #define BSP_USING_I2C
 #define I2C_USE_MIO
-#define RT_USING_MIO0
-#define RT_USING_MIO1
+#define RT_USING_MIO15
 #define BSP_USING_SDIF
 #define BSP_USING_SDCARD_FATFS
 #define USING_SDIF0
@@ -496,6 +564,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */
@@ -510,10 +582,10 @@
 
 /* Soc configuration */
 
-#define TARGET_E2000D
+#define TARGET_E2000Q
 #define SOC_NAME "e2000"
-#define TARGET_TYPE_NAME "d"
-#define SOC_CORE_NUM 2
+#define TARGET_TYPE_NAME "q"
+#define SOC_CORE_NUM 4
 #define F32BIT_MEMORY_ADDRESS 0x80000000
 #define F32BIT_MEMORY_LENGTH 0x80000000
 #define F64BIT_MEMORY_ADDRESS 0x2000000000
@@ -524,8 +596,8 @@
 
 /* Board Configuration */
 
-#define E2000D_DEMO_BOARD
 #define BOARD_NAME "demo"
+#define E2000Q_DEMO_BOARD
 
 /* IO mux configuration when board start up */
 

+ 172 - 75
bsp/phytium/aarch64/.config

@@ -2,19 +2,136 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
-CONFIG_RT_CPUS_NR=2
+CONFIG_RT_CPUS_NR=4
 CONFIG_RT_ALIGN_SIZE=4
 # CONFIG_RT_THREAD_PRIORITY_8 is not set
 CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 # CONFIG_RT_DEBUGING_CONTEXT is not set
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +175,7 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -85,10 +192,9 @@ CONFIG_RT_USING_HEAP=y
 # end of Memory Management
 
 CONFIG_RT_USING_DEVICE=y
-# CONFIG_RT_USING_DEVICE_OPS is not set
+CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -150,12 +258,9 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
 CONFIG_RT_USING_DFS=y
 CONFIG_DFS_USING_POSIX=y
 CONFIG_DFS_USING_WORKDIR=y
-# CONFIG_RT_USING_DFS_MNTTABLE is not set
 CONFIG_DFS_FD_MAX=16
-CONFIG_RT_USING_DFS_V1=y
-# CONFIG_RT_USING_DFS_V2 is not set
-CONFIG_DFS_FILESYSTEMS_MAX=4
-CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
+# CONFIG_RT_USING_DFS_V1 is not set
+CONFIG_RT_USING_DFS_V2=y
 CONFIG_RT_USING_DFS_ELMFAT=y
 
 #
@@ -185,10 +290,8 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
-CONFIG_RT_USING_DFS_RAMFS=y
 # CONFIG_RT_USING_DFS_TMPFS is not set
 # CONFIG_RT_USING_DFS_MQUEUE is not set
-# CONFIG_RT_USING_DFS_NFS is not set
 # end of DFS: device virtual file system
 
 # CONFIG_RT_USING_FAL is not set
@@ -208,6 +311,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 CONFIG_RT_CAN_USING_HDR=y
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +322,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,15 +344,19 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
@@ -266,43 +375,8 @@ CONFIG_RT_BLK_PARTITION_EFI=y
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
 # CONFIG_RT_USING_HWTIMER is not set
-CONFIG_RT_USING_CHERRYUSB=y
-# CONFIG_RT_CHERRYUSB_DEVICE is not set
-CONFIG_RT_CHERRYUSB_HOST=y
-# CONFIG_RT_CHERRYUSB_HOST_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_BK is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
-CONFIG_RT_CHERRYUSB_HOST_XHCI=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
-CONFIG_RT_CHERRYUSB_HOST_HID=y
-CONFIG_RT_CHERRYUSB_HOST_MSC=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ECM is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_RNDIS is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_NCM is not set
-# CONFIG_RT_CHERRYUSB_HOST_VIDEO is not set
-# CONFIG_RT_CHERRYUSB_HOST_AUDIO is not set
-# CONFIG_RT_CHERRYUSB_HOST_BLUETOOTH is not set
-# CONFIG_RT_CHERRYUSB_HOST_ASIX is not set
-# CONFIG_RT_CHERRYUSB_HOST_RTL8152 is not set
-# CONFIG_RT_CHERRYUSB_HOST_FTDI is not set
-# CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
-# CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
-# CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
+# CONFIG_RT_USING_CHERRYUSB is not set
 CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
-# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -442,6 +516,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -473,6 +548,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1393,6 +1484,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1418,7 +1510,7 @@ CONFIG_BSP_USING_ETH=y
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
-# CONFIG_RT_USING_PWM2 is not set
+CONFIG_RT_USING_PWM2=y
 # CONFIG_RT_USING_PWM3 is not set
 # CONFIG_RT_USING_PWM4 is not set
 # CONFIG_RT_USING_PWM5 is not set
@@ -1454,6 +1546,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1464,7 +1560,7 @@ CONFIG_RT_USING_DC_CHANNEL1=y
 CONFIG_BSP_USING_GIC=y
 CONFIG_BSP_USING_GICV3=y
 CONFIG_PHYTIUM_ARCH_AARCH64=y
-CONFIG_ARM_SPI_BIND_CPU_ID=0
+CONFIG_ARM_SPI_BIND_CPU_ID=2
 
 #
 # Standalone Setting
@@ -1475,15 +1571,17 @@ CONFIG_TARGET_ARMV8_AARCH64=y
 # Soc configuration
 #
 # CONFIG_TARGET_PHYTIUMPI is not set
-# CONFIG_TARGET_E2000Q is not set
-CONFIG_TARGET_E2000D=y
+CONFIG_TARGET_E2000Q=y
+# CONFIG_TARGET_E2000D is not set
 # CONFIG_TARGET_E2000S is not set
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
-CONFIG_TARGET_TYPE_NAME="d"
-CONFIG_SOC_CORE_NUM=2
+CONFIG_TARGET_TYPE_NAME="q"
+CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
@@ -1497,22 +1595,21 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
 #
 # Board Configuration
 #
-CONFIG_E2000D_DEMO_BOARD=y
 CONFIG_BOARD_NAME="demo"
-
-#
-# IO mux configuration when board start up
-#
 # CONFIG_USE_SPI_IOPAD is not set
 # CONFIG_USE_GPIO_IOPAD is not set
 # CONFIG_USE_CAN_IOPAD is not set
 # CONFIG_USE_QSPI_IOPAD is not set
 # CONFIG_USE_PWM_IOPAD is not set
-# CONFIG_USE_ADC_IOPAD is not set
 # CONFIG_USE_MIO_IOPAD is not set
 # CONFIG_USE_TACHO_IOPAD is not set
 # CONFIG_USE_UART_IOPAD is not set
 # CONFIG_USE_THIRD_PARTY_IOPAD is not set
+CONFIG_E2000Q_DEMO_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
 # end of IO mux configuration when board start up
 
 # CONFIG_CUS_DEMO_BOARD is not set

+ 169 - 31
bsp/phytium/aarch64/configs/e2000d_demo_rtsmart

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=2
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 CONFIG_RT_USING_CPU_USAGE_TRACER=y
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 CONFIG_RT_DEBUGING_CRITICAL=y
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +175,7 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,11 +195,10 @@ CONFIG_RT_USING_DEVICE=y
 CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_THREADSAFE_PRINTF=y
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
-CONFIG_RT_VER_NUM=0x50200
+CONFIG_RT_VER_NUM=0x50201
 CONFIG_RT_USING_STDC_ATOMIC=y
 CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
 # end of RT-Thread Kernel
@@ -119,6 +225,8 @@ CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_KERNEL_VADDR_START=0xffff000000000000
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -182,6 +290,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 CONFIG_RT_USING_DFS_PTYFS=y
+# CONFIG_RT_USING_DFS_PROCFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 # CONFIG_RT_USING_DFS_MQUEUE is not set
@@ -216,6 +325,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+CONFIG_RT_USING_SERIAL_BYPASS=y
 CONFIG_RT_USING_CAN=y
 CONFIG_RT_CAN_USING_HDR=y
 CONFIG_RT_CAN_USING_CANFD=y
@@ -226,6 +336,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -247,20 +358,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -409,6 +533,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 CONFIG_RT_LWIP_DEBUG=y
 # CONFIG_RT_LWIP_SYS_DEBUG is not set
 # CONFIG_RT_LWIP_ETHARP_DEBUG is not set
@@ -467,12 +592,29 @@ CONFIG_RT_USING_ADT_REF=y
 # end of Utilities
 
 # CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 CONFIG_RT_USING_LWP=y
 # CONFIG_LWP_DEBUG is not set
+CONFIG_LWP_USING_RUNTIME=y
 CONFIG_RT_LWP_MAX_NR=30
 CONFIG_LWP_TASK_STACK_SIZE=16384
 CONFIG_RT_CH_MSG_MAX_NR=1024
-CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_RT_LWP_SHM_MAX_NR=64
 CONFIG_RT_USING_LDSO=y
@@ -482,12 +624,6 @@ CONFIG_LWP_USING_TERMINAL=y
 CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 CONFIG_RT_USING_VDSO=y
 
-#
-# Memory management
-#
-# CONFIG_RT_USING_MEMBLOCK is not set
-# end of Memory management
-
 #
 # Using USB legacy version
 #
@@ -1408,6 +1544,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1434,10 +1571,10 @@ CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
 # CONFIG_RT_USING_PWM2 is not set
-# CONFIG_RT_USING_PWM3 is not set
+CONFIG_RT_USING_PWM3=y
 # CONFIG_RT_USING_PWM4 is not set
 # CONFIG_RT_USING_PWM5 is not set
-CONFIG_RT_USING_PWM6=y
+# CONFIG_RT_USING_PWM6 is not set
 # CONFIG_RT_USING_PWM7 is not set
 CONFIG_BSP_USING_I2C=y
 CONFIG_I2C_USE_MIO=y
@@ -1466,9 +1603,8 @@ CONFIG_USE_SDIF0_EMMC=y
 CONFIG_USING_SDIF1=y
 CONFIG_USE_SDIF1_TF=y
 # CONFIG_USE_SDIF1_EMMC is not set
-CONFIG_BSP_USING_DC=y
-CONFIG_RT_USING_DC_CHANNEL0=y
-CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_DC is not set
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1496,6 +1632,8 @@ CONFIG_TARGET_E2000D=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="d"
 CONFIG_SOC_CORE_NUM=2

+ 100 - 20
bsp/phytium/aarch64/configs/e2000d_demo_rtsmart.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMART
 #define RT_USING_SMP
@@ -11,6 +80,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -22,20 +92,14 @@
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 #define RT_USING_CPU_USAGE_TRACER
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
 #define RT_DEBUGING_CRITICAL
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -48,7 +112,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -59,11 +123,10 @@
 #define RT_USING_DEVICE
 #define RT_USING_DEVICE_OPS
 #define RT_USING_THREADSAFE_PRINTF
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
-#define RT_VER_NUM 0x50200
+#define RT_VER_NUM 0x50201
 #define RT_USING_STDC_ATOMIC
 #define RT_BACKTRACE_LEVEL_MAX_NR 32
 /* end of RT-Thread Kernel */
@@ -87,6 +150,8 @@
 #define ARCH_ARM_MMU
 #define KERNEL_VADDR_START 0xffff000000000000
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -159,6 +224,7 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 64
+#define RT_USING_SERIAL_BYPASS
 #define RT_USING_CAN
 #define RT_CAN_USING_HDR
 #define RT_CAN_USING_CANFD
@@ -177,6 +243,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -296,11 +373,21 @@
 #define RT_USING_ADT_HASHMAP
 #define RT_USING_ADT_REF
 /* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
 #define RT_USING_LWP
+#define LWP_USING_RUNTIME
 #define RT_LWP_MAX_NR 30
 #define LWP_TASK_STACK_SIZE 16384
 #define RT_CH_MSG_MAX_NR 1024
-#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024
 #define LWP_TID_MAX_NR 64
 #define RT_LWP_SHM_MAX_NR 64
 #define RT_USING_LDSO
@@ -308,10 +395,6 @@
 #define LWP_PTY_MAX_PARIS_LIMIT 64
 #define RT_USING_VDSO
 
-/* Memory management */
-
-/* end of Memory management */
-
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -518,7 +601,7 @@
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
 #define BSP_USING_PWM
-#define RT_USING_PWM6
+#define RT_USING_PWM3
 #define BSP_USING_I2C
 #define I2C_USE_MIO
 #define RT_USING_MIO15
@@ -528,9 +611,6 @@
 #define USE_SDIF0_EMMC
 #define USING_SDIF1
 #define USE_SDIF1_TF
-#define BSP_USING_DC
-#define RT_USING_DC_CHANNEL0
-#define RT_USING_DC_CHANNEL1
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 167 - 52
bsp/phytium/aarch64/configs/e2000d_demo_rtthread

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=2
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 # CONFIG_RT_DEBUGING_CONTEXT is not set
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +175,7 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +195,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -183,6 +291,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -208,6 +317,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 CONFIG_RT_CAN_USING_HDR=y
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +328,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,61 +350,41 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
 # CONFIG_RT_USING_HWTIMER is not set
 CONFIG_RT_USING_CHERRYUSB=y
 # CONFIG_RT_CHERRYUSB_DEVICE is not set
-CONFIG_RT_CHERRYUSB_HOST=y
-# CONFIG_RT_CHERRYUSB_HOST_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_BK is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
-CONFIG_RT_CHERRYUSB_HOST_XHCI=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
-CONFIG_RT_CHERRYUSB_HOST_HID=y
-CONFIG_RT_CHERRYUSB_HOST_MSC=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ECM is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_RNDIS is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_NCM is not set
-# CONFIG_RT_CHERRYUSB_HOST_VIDEO is not set
-# CONFIG_RT_CHERRYUSB_HOST_AUDIO is not set
-# CONFIG_RT_CHERRYUSB_HOST_BLUETOOTH is not set
-# CONFIG_RT_CHERRYUSB_HOST_ASIX is not set
-# CONFIG_RT_CHERRYUSB_HOST_RTL8152 is not set
-# CONFIG_RT_CHERRYUSB_HOST_FTDI is not set
-# CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
-# CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
-# CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
+# CONFIG_RT_CHERRYUSB_HOST is not set
 CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
-# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -433,6 +524,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -464,6 +556,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1384,6 +1492,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1445,6 +1554,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1472,6 +1585,8 @@ CONFIG_TARGET_E2000D=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="d"
 CONFIG_SOC_CORE_NUM=2

+ 100 - 14
bsp/phytium/aarch64/configs/e2000d_demo_rtthread.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 2
@@ -10,6 +79,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +90,12 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -44,7 +108,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -53,7 +117,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -79,6 +142,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -160,13 +225,20 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
-#define RT_CHERRYUSB_HOST
-#define RT_CHERRYUSB_HOST_XHCI
-#define RT_CHERRYUSB_HOST_HID
-#define RT_CHERRYUSB_HOST_MSC
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
@@ -279,6 +351,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -497,6 +579,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 189 - 42
bsp/phytium/aarch64/configs/e2000d_demo_rtthread_pusb2_dc

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=2
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 # CONFIG_RT_DEBUGING_CONTEXT is not set
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +175,7 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +195,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -183,6 +291,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -208,6 +317,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 CONFIG_RT_CAN_USING_HDR=y
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +328,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,20 +350,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -269,16 +393,22 @@ CONFIG_RT_CHERRYUSB_DEVICE_SPEED_HS=y
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_AT is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_GD is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_HC is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_SUNXI is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_BK is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_MUSB_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_KINETIS_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_CHIPIDEA_MCX is not set
+# CONFIG_RT_CHERRYUSB_DEVICE_CHIPIDEA_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_BL is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_CH32 is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_HPM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_AIC is not set
 CONFIG_RT_CHERRYUSB_DEVICE_PUSB2=y
+# CONFIG_RT_CHERRYUSB_DEVICE_NRF5X is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_CDC_ACM is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_HID is not set
 CONFIG_RT_CHERRYUSB_DEVICE_MSC=y
@@ -291,6 +421,7 @@ CONFIG_RT_CHERRYUSB_DEVICE_MSC=y
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_NONE is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC=y
+# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM is not set
@@ -306,6 +437,7 @@ CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC=y
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC is not set
 # CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID is not set
 # CONFIG_RT_CHERRYUSB_HOST is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 # end of Device Drivers
 
 #
@@ -445,6 +577,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -476,11 +609,41 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
+CONFIG_RT_USING_USB=y
 # CONFIG_RT_USING_USB_HOST is not set
-# CONFIG_RT_USING_USB_DEVICE is not set
+CONFIG_RT_USING_USB_DEVICE=y
+CONFIG_RT_USBD_THREAD_STACK_SZ=4096
+CONFIG_USB_VENDOR_ID=0x0FFE
+CONFIG_USB_PRODUCT_ID=0x0001
+# CONFIG_RT_USB_DEVICE_COMPOSITE is not set
+CONFIG__RT_USB_DEVICE_NONE=y
+# CONFIG__RT_USB_DEVICE_CDC is not set
+# CONFIG__RT_USB_DEVICE_MSTORAGE is not set
+# CONFIG__RT_USB_DEVICE_HID is not set
+# CONFIG__RT_USB_DEVICE_RNDIS is not set
+# CONFIG__RT_USB_DEVICE_ECM is not set
+# CONFIG__RT_USB_DEVICE_WINUSB is not set
+# CONFIG__RT_USB_DEVICE_AUDIO is not set
+CONFIG_RT_USB_DEVICE_NONE=y
 # end of Using USB legacy version
 
 # CONFIG_RT_USING_FDT is not set
@@ -644,7 +807,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_JSMN is not set
 # CONFIG_PKG_USING_AGILE_JSMN is not set
 # CONFIG_PKG_USING_PARSON is not set
-# CONFIG_PKG_USING_RYAN_JSON is not set
 # end of JSON: JavaScript Object Notation, a lightweight data-interchange format
 
 #
@@ -763,8 +925,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
 # end of enhanced kernel services
 
-# CONFIG_PKG_USING_AUNITY is not set
-
 #
 # acceleration: Assembly language or algorithmic acceleration packages
 #
@@ -855,29 +1015,12 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # STM32 HAL & SDK Drivers
 #
-# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # end of STM32 HAL & SDK Drivers
 
-#
-# Infineon HAL Packages
-#
-# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
-# CONFIG_PKG_USING_INFINEON_CMSIS is not set
-# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
-# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
-# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
-# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
-# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
-# CONFIG_PKG_USING_INFINEON_USBDEV is not set
-# end of Infineon HAL Packages
-
 # CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_ESP_IDF is not set
@@ -1050,7 +1193,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
 # CONFIG_PKG_USING_BT_MX01 is not set
 # CONFIG_PKG_USING_RGPOWER is not set
-# CONFIG_PKG_USING_BT_MX02 is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 # end of peripheral libraries and drivers
 
@@ -1073,7 +1215,6 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # Signal Processing and Control Algorithm Packages
 #
-# CONFIG_PKG_USING_APID is not set
 # CONFIG_PKG_USING_FIRE_PID_CURVE is not set
 # CONFIG_PKG_USING_QPID is not set
 # CONFIG_PKG_USING_UKAL is not set
@@ -1418,6 +1559,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1440,7 +1582,6 @@ CONFIG_RT_USING_QSPI0=y
 CONFIG_USING_QSPI_CHANNEL0=y
 # CONFIG_USING_QSPI_CHANNEL1 is not set
 CONFIG_BSP_USING_ETH=y
-CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
@@ -1480,6 +1621,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1507,6 +1652,8 @@ CONFIG_TARGET_E2000D=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="d"
 CONFIG_SOC_CORE_NUM=2

+ 108 - 15
bsp/phytium/aarch64/configs/e2000d_demo_rtthread_pusb2_dc.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 2
@@ -10,6 +79,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +90,12 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -44,7 +108,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -53,7 +117,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -80,6 +143,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -161,6 +226,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -169,6 +245,7 @@
 #define RT_CHERRYUSB_DEVICE_PUSB2
 #define RT_CHERRYUSB_DEVICE_MSC
 #define RT_CHERRYUSB_DEVICE_TEMPLATE_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
 /* C/C++ and POSIX layer */
@@ -280,8 +357,25 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
+#define RT_USING_USB
+#define RT_USING_USB_DEVICE
+#define RT_USBD_THREAD_STACK_SZ 4096
+#define USB_VENDOR_ID 0x0FFE
+#define USB_PRODUCT_ID 0x0001
+#define _RT_USB_DEVICE_NONE
+#define RT_USB_DEVICE_NONE
 /* end of Using USB legacy version */
 /* end of RT-Thread Components */
 
@@ -379,10 +473,6 @@
 
 /* end of STM32 HAL & SDK Drivers */
 
-/* Infineon HAL Packages */
-
-/* end of Infineon HAL Packages */
-
 /* Kendryte SDK */
 
 /* end of Kendryte SDK */
@@ -489,7 +579,6 @@
 #define RT_USING_QSPI0
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
-#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 #define BSP_USING_PWM
 #define BSP_USING_I2C
 #define I2C_USE_MIO
@@ -503,6 +592,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 1668 - 0
bsp/phytium/aarch64/configs/e2000d_demo_rtthread_xhci

@@ -0,0 +1,1668 @@
+
+#
+# RT-Thread Kernel
+#
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
+CONFIG_RT_NAME_MAX=16
+# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
+# CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
+# CONFIG_RT_USING_AMP is not set
+CONFIG_RT_USING_SMP=y
+CONFIG_RT_CPUS_NR=2
+CONFIG_RT_ALIGN_SIZE=4
+# CONFIG_RT_THREAD_PRIORITY_8 is not set
+CONFIG_RT_THREAD_PRIORITY_32=y
+# CONFIG_RT_THREAD_PRIORITY_256 is not set
+CONFIG_RT_THREAD_PRIORITY_MAX=32
+CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
+CONFIG_RT_USING_HOOK=y
+CONFIG_RT_HOOK_USING_FUNC_PTR=y
+# CONFIG_RT_USING_HOOKLIST is not set
+CONFIG_RT_USING_IDLE_HOOK=y
+CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
+CONFIG_IDLE_THREAD_STACK_SIZE=8192
+CONFIG_SYSTEM_THREAD_STACK_SIZE=8192
+CONFIG_RT_USING_TIMER_SOFT=y
+CONFIG_RT_TIMER_THREAD_PRIO=4
+CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
+# CONFIG_RT_USING_TIMER_ALL_SOFT is not set
+# CONFIG_RT_USING_CPU_USAGE_TRACER is not set
+
+#
+# kservice options
+#
+# CONFIG_RT_USING_TINY_FFS is not set
+# end of kservice options
+
+CONFIG_RT_USING_DEBUG=y
+CONFIG_RT_DEBUGING_ASSERT=y
+CONFIG_RT_DEBUGING_COLOR=y
+# CONFIG_RT_DEBUGING_CONTEXT is not set
+# CONFIG_RT_DEBUGING_AUTO_INIT is not set
+# CONFIG_RT_DEBUGING_SPINLOCK is not set
+# CONFIG_RT_DEBUGING_CRITICAL is not set
+# CONFIG_RT_USING_CI_ACTION is not set
+
+#
+# Inter-Thread communication
+#
+CONFIG_RT_USING_SEMAPHORE=y
+CONFIG_RT_USING_MUTEX=y
+CONFIG_RT_USING_EVENT=y
+CONFIG_RT_USING_MAILBOX=y
+CONFIG_RT_USING_MESSAGEQUEUE=y
+# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set
+# CONFIG_RT_USING_SIGNALS is not set
+# end of Inter-Thread communication
+
+#
+# Memory Management
+#
+CONFIG_RT_USING_MEMPOOL=y
+# CONFIG_RT_USING_SMALL_MEM is not set
+CONFIG_RT_USING_SLAB=y
+CONFIG_RT_USING_MEMHEAP=y
+CONFIG_RT_MEMHEAP_FAST_MODE=y
+# CONFIG_RT_MEMHEAP_BEST_MODE is not set
+# CONFIG_RT_USING_SMALL_MEM_AS_HEAP is not set
+# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set
+CONFIG_RT_USING_SLAB_AS_HEAP=y
+# CONFIG_RT_USING_USERHEAP is not set
+# CONFIG_RT_USING_NOHEAP is not set
+# CONFIG_RT_USING_MEMTRACE is not set
+CONFIG_RT_USING_HEAP_ISR=y
+CONFIG_RT_USING_HEAP=y
+# end of Memory Management
+
+CONFIG_RT_USING_DEVICE=y
+# CONFIG_RT_USING_DEVICE_OPS is not set
+# CONFIG_RT_USING_INTERRUPT_INFO is not set
+# CONFIG_RT_USING_THREADSAFE_PRINTF is not set
+CONFIG_RT_USING_CONSOLE=y
+CONFIG_RT_CONSOLEBUF_SIZE=128
+CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
+CONFIG_RT_VER_NUM=0x50200
+# CONFIG_RT_USING_STDC_ATOMIC is not set
+CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
+# end of RT-Thread Kernel
+
+#
+# AArch64 Architecture Configuration
+#
+CONFIG_ARCH_TEXT_OFFSET=0x80000
+CONFIG_ARCH_RAM_OFFSET=0x80000000
+CONFIG_ARCH_SECONDARY_CPU_STACK_SIZE=4096
+CONFIG_ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+# CONFIG_ARCH_USING_GENERIC_CPUID is not set
+CONFIG_ARCH_HEAP_SIZE=0x4000000
+CONFIG_ARCH_INIT_PAGE_SIZE=0x200000
+# end of AArch64 Architecture Configuration
+
+CONFIG_ARCH_CPU_64BIT=y
+CONFIG_RT_USING_CACHE=y
+CONFIG_RT_USING_HW_ATOMIC=y
+CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE=y
+CONFIG_RT_USING_CPU_FFS=y
+CONFIG_ARCH_MM_MMU=y
+CONFIG_ARCH_ARM=y
+CONFIG_ARCH_ARM_MMU=y
+CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
+
+#
+# RT-Thread Components
+#
+CONFIG_RT_USING_COMPONENTS_INIT=y
+CONFIG_RT_USING_USER_MAIN=y
+CONFIG_RT_MAIN_THREAD_STACK_SIZE=8192
+CONFIG_RT_MAIN_THREAD_PRIORITY=10
+# CONFIG_RT_USING_LEGACY is not set
+CONFIG_RT_USING_MSH=y
+CONFIG_RT_USING_FINSH=y
+CONFIG_FINSH_USING_MSH=y
+CONFIG_FINSH_THREAD_NAME="tshell"
+CONFIG_FINSH_THREAD_PRIORITY=20
+CONFIG_FINSH_THREAD_STACK_SIZE=4096
+CONFIG_FINSH_USING_HISTORY=y
+CONFIG_FINSH_HISTORY_LINES=5
+CONFIG_FINSH_USING_SYMTAB=y
+CONFIG_FINSH_CMD_SIZE=80
+CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
+CONFIG_FINSH_USING_DESCRIPTION=y
+# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
+# CONFIG_FINSH_USING_AUTH is not set
+CONFIG_FINSH_ARG_MAX=10
+CONFIG_FINSH_USING_OPTION_COMPLETION=y
+
+#
+# DFS: device virtual file system
+#
+CONFIG_RT_USING_DFS=y
+CONFIG_DFS_USING_POSIX=y
+CONFIG_DFS_USING_WORKDIR=y
+# CONFIG_RT_USING_DFS_MNTTABLE is not set
+CONFIG_DFS_FD_MAX=16
+CONFIG_RT_USING_DFS_V1=y
+# CONFIG_RT_USING_DFS_V2 is not set
+CONFIG_DFS_FILESYSTEMS_MAX=4
+CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
+CONFIG_RT_USING_DFS_ELMFAT=y
+
+#
+# elm-chan's FatFs, Generic FAT Filesystem Module
+#
+CONFIG_RT_DFS_ELM_CODE_PAGE=437
+CONFIG_RT_DFS_ELM_WORD_ACCESS=y
+# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
+CONFIG_RT_DFS_ELM_USE_LFN_3=y
+CONFIG_RT_DFS_ELM_USE_LFN=3
+CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y
+# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set
+# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set
+# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set
+CONFIG_RT_DFS_ELM_LFN_UNICODE=0
+CONFIG_RT_DFS_ELM_MAX_LFN=255
+CONFIG_RT_DFS_ELM_DRIVES=2
+CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
+# CONFIG_RT_DFS_ELM_USE_ERASE is not set
+CONFIG_RT_DFS_ELM_REENTRANT=y
+CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
+# CONFIG_RT_DFS_ELM_USE_EXFAT is not set
+# end of elm-chan's FatFs, Generic FAT Filesystem Module
+
+CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
+# CONFIG_RT_USING_DFS_ROMFS is not set
+# CONFIG_RT_USING_DFS_CROMFS is not set
+CONFIG_RT_USING_DFS_RAMFS=y
+# CONFIG_RT_USING_DFS_TMPFS is not set
+# CONFIG_RT_USING_DFS_MQUEUE is not set
+# CONFIG_RT_USING_DFS_NFS is not set
+# end of DFS: device virtual file system
+
+# CONFIG_RT_USING_FAL is not set
+
+#
+# Device Drivers
+#
+# CONFIG_RT_USING_DM is not set
+CONFIG_RT_USING_DEV_BUS=y
+CONFIG_RT_USING_DEVICE_IPC=y
+CONFIG_RT_UNAMED_PIPE_NUMBER=64
+CONFIG_RT_USING_SYSTEM_WORKQUEUE=y
+CONFIG_RT_SYSTEM_WORKQUEUE_STACKSIZE=8192
+CONFIG_RT_SYSTEM_WORKQUEUE_PRIORITY=23
+CONFIG_RT_USING_SERIAL=y
+CONFIG_RT_USING_SERIAL_V1=y
+# CONFIG_RT_USING_SERIAL_V2 is not set
+CONFIG_RT_SERIAL_USING_DMA=y
+CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
+CONFIG_RT_USING_CAN=y
+CONFIG_RT_CAN_USING_HDR=y
+CONFIG_RT_CAN_USING_CANFD=y
+# CONFIG_RT_USING_CPUTIME is not set
+CONFIG_RT_USING_I2C=y
+# CONFIG_RT_I2C_DEBUG is not set
+CONFIG_RT_USING_I2C_BITOPS=y
+# CONFIG_RT_I2C_BITOPS_DEBUG is not set
+# CONFIG_RT_USING_SOFT_I2C is not set
+# CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
+# CONFIG_RT_USING_ADC is not set
+# CONFIG_RT_USING_DAC is not set
+CONFIG_RT_USING_NULL=y
+CONFIG_RT_USING_ZERO=y
+CONFIG_RT_USING_RANDOM=y
+CONFIG_RT_USING_PWM=y
+# CONFIG_RT_USING_PULSE_ENCODER is not set
+# CONFIG_RT_USING_INPUT_CAPTURE is not set
+# CONFIG_RT_USING_MTD_NOR is not set
+# CONFIG_RT_USING_MTD_NAND is not set
+# CONFIG_RT_USING_PM is not set
+CONFIG_RT_USING_RTC=y
+# CONFIG_RT_USING_ALARM is not set
+# CONFIG_RT_USING_SOFT_RTC is not set
+CONFIG_RT_USING_SDIO=y
+CONFIG_RT_SDIO_STACK_SIZE=8192
+CONFIG_RT_SDIO_THREAD_PRIORITY=15
+CONFIG_RT_MMCSD_STACK_SIZE=8192
+CONFIG_RT_MMCSD_THREAD_PRIORITY=22
+CONFIG_RT_MMCSD_MAX_PARTITION=16
+# CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
+CONFIG_RT_USING_SPI=y
+# CONFIG_RT_USING_SOFT_SPI is not set
+CONFIG_RT_USING_QSPI=y
+# CONFIG_RT_USING_SPI_MSD is not set
+# CONFIG_RT_USING_SFUD is not set
+# CONFIG_RT_USING_ENC28J60 is not set
+# CONFIG_RT_USING_SPI_WIFI is not set
+# CONFIG_RT_USING_WDT is not set
+# CONFIG_RT_USING_AUDIO is not set
+# CONFIG_RT_USING_SENSOR is not set
+# CONFIG_RT_USING_TOUCH is not set
+# CONFIG_RT_USING_LCD is not set
+# CONFIG_RT_USING_HWCRYPTO is not set
+# CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
+# CONFIG_RT_USING_VIRTIO is not set
+CONFIG_RT_USING_PIN=y
+CONFIG_RT_USING_KTIME=y
+# CONFIG_RT_USING_HWTIMER is not set
+CONFIG_RT_USING_CHERRYUSB=y
+# CONFIG_RT_CHERRYUSB_DEVICE is not set
+CONFIG_RT_CHERRYUSB_HOST=y
+# CONFIG_RT_CHERRYUSB_HOST_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_KENDRYTE is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
+# CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
+# CONFIG_RT_CHERRYUSB_HOST_MUSB_BK is not set
+# CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
+CONFIG_RT_CHERRYUSB_HOST_XHCI=y
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_CUSTOM is not set
+# CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
+CONFIG_RT_CHERRYUSB_HOST_HID=y
+CONFIG_RT_CHERRYUSB_HOST_MSC=y
+# CONFIG_RT_CHERRYUSB_HOST_CDC_ECM is not set
+# CONFIG_RT_CHERRYUSB_HOST_CDC_RNDIS is not set
+# CONFIG_RT_CHERRYUSB_HOST_CDC_NCM is not set
+# CONFIG_RT_CHERRYUSB_HOST_VIDEO is not set
+# CONFIG_RT_CHERRYUSB_HOST_AUDIO is not set
+# CONFIG_RT_CHERRYUSB_HOST_BLUETOOTH is not set
+# CONFIG_RT_CHERRYUSB_HOST_ASIX is not set
+# CONFIG_RT_CHERRYUSB_HOST_RTL8152 is not set
+# CONFIG_RT_CHERRYUSB_HOST_FTDI is not set
+# CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
+# CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
+# CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
+# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
+# end of Device Drivers
+
+#
+# C/C++ and POSIX layer
+#
+
+#
+# ISO-ANSI C layer
+#
+
+#
+# Timezone and Daylight Saving Time
+#
+# CONFIG_RT_LIBC_USING_FULL_TZ_DST is not set
+CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y
+CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8
+CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0
+CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
+# end of Timezone and Daylight Saving Time
+# end of ISO-ANSI C layer
+
+#
+# POSIX (Portable Operating System Interface) layer
+#
+CONFIG_RT_USING_POSIX_FS=y
+CONFIG_RT_USING_POSIX_DEVIO=y
+CONFIG_RT_USING_POSIX_STDIO=y
+# CONFIG_RT_USING_POSIX_POLL is not set
+# CONFIG_RT_USING_POSIX_SELECT is not set
+# CONFIG_RT_USING_POSIX_EVENTFD is not set
+# CONFIG_RT_USING_POSIX_TIMERFD is not set
+# CONFIG_RT_USING_POSIX_SOCKET is not set
+CONFIG_RT_USING_POSIX_TERMIOS=y
+# CONFIG_RT_USING_POSIX_AIO is not set
+# CONFIG_RT_USING_POSIX_MMAN is not set
+CONFIG_RT_USING_POSIX_DELAY=y
+CONFIG_RT_USING_POSIX_CLOCK=y
+CONFIG_RT_USING_POSIX_TIMER=y
+# CONFIG_RT_USING_PTHREADS is not set
+# CONFIG_RT_USING_MODULE is not set
+
+#
+# Interprocess Communication (IPC)
+#
+# CONFIG_RT_USING_POSIX_PIPE is not set
+# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set
+# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set
+
+#
+# Socket is in the 'Network' category
+#
+# end of Interprocess Communication (IPC)
+# end of POSIX (Portable Operating System Interface) layer
+
+# CONFIG_RT_USING_CPLUSPLUS is not set
+# end of C/C++ and POSIX layer
+
+#
+# Network
+#
+CONFIG_RT_USING_SAL=y
+CONFIG_SAL_INTERNET_CHECK=y
+
+#
+# Docking with protocol stacks
+#
+CONFIG_SAL_USING_LWIP=y
+# CONFIG_SAL_USING_AT is not set
+# CONFIG_SAL_USING_TLS is not set
+# end of Docking with protocol stacks
+
+CONFIG_SAL_USING_POSIX=y
+CONFIG_RT_USING_NETDEV=y
+CONFIG_NETDEV_USING_IFCONFIG=y
+CONFIG_NETDEV_USING_PING=y
+CONFIG_NETDEV_USING_NETSTAT=y
+CONFIG_NETDEV_USING_AUTO_DEFAULT=y
+# CONFIG_NETDEV_USING_LINK_STATUS_CALLBACK is not set
+# CONFIG_NETDEV_USING_IPV6 is not set
+CONFIG_NETDEV_IPV4=1
+CONFIG_NETDEV_IPV6=0
+CONFIG_RT_USING_LWIP=y
+# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set
+# CONFIG_RT_USING_LWIP141 is not set
+# CONFIG_RT_USING_LWIP203 is not set
+CONFIG_RT_USING_LWIP212=y
+# CONFIG_RT_USING_LWIP_LATEST is not set
+CONFIG_RT_USING_LWIP_VER_NUM=0x20102
+# CONFIG_RT_USING_LWIP_IPV6 is not set
+CONFIG_RT_LWIP_MEM_ALIGNMENT=64
+CONFIG_RT_LWIP_IGMP=y
+CONFIG_RT_LWIP_ICMP=y
+# CONFIG_RT_LWIP_SNMP is not set
+CONFIG_RT_LWIP_DNS=y
+# CONFIG_RT_LWIP_DHCP is not set
+
+#
+# Static IPv4 Address
+#
+CONFIG_RT_LWIP_IPADDR="192.168.4.10"
+CONFIG_RT_LWIP_GWADDR="192.168.4.1"
+CONFIG_RT_LWIP_MSKADDR="255.255.255.0"
+# end of Static IPv4 Address
+
+CONFIG_RT_LWIP_UDP=y
+CONFIG_RT_LWIP_TCP=y
+CONFIG_RT_LWIP_RAW=y
+# CONFIG_RT_LWIP_PPP is not set
+CONFIG_RT_MEMP_NUM_NETCONN=8
+CONFIG_RT_LWIP_PBUF_NUM=512
+CONFIG_RT_LWIP_RAW_PCB_NUM=4
+CONFIG_RT_LWIP_UDP_PCB_NUM=4
+CONFIG_RT_LWIP_TCP_PCB_NUM=4
+CONFIG_RT_LWIP_TCP_SEG_NUM=40
+CONFIG_RT_LWIP_TCP_SND_BUF=8196
+CONFIG_RT_LWIP_TCP_WND=8196
+CONFIG_RT_LWIP_TCPTHREAD_PRIORITY=16
+CONFIG_RT_LWIP_TCPTHREAD_MBOX_SIZE=8
+CONFIG_RT_LWIP_TCPTHREAD_STACKSIZE=16184
+# CONFIG_LWIP_NO_RX_THREAD is not set
+# CONFIG_LWIP_NO_TX_THREAD is not set
+CONFIG_RT_LWIP_ETHTHREAD_PRIORITY=12
+CONFIG_RT_LWIP_ETHTHREAD_STACKSIZE=8192
+CONFIG_RT_LWIP_ETHTHREAD_MBOX_SIZE=8
+CONFIG_RT_LWIP_REASSEMBLY_FRAG=y
+CONFIG_LWIP_NETIF_STATUS_CALLBACK=1
+CONFIG_LWIP_NETIF_LINK_CALLBACK=1
+CONFIG_RT_LWIP_NETIF_NAMESIZE=6
+CONFIG_SO_REUSE=1
+CONFIG_LWIP_SO_RCVTIMEO=1
+CONFIG_LWIP_SO_SNDTIMEO=1
+CONFIG_LWIP_SO_RCVBUF=1
+CONFIG_LWIP_SO_LINGER=0
+# CONFIG_RT_LWIP_NETIF_LOOPBACK is not set
+CONFIG_LWIP_NETIF_LOOPBACK=0
+# CONFIG_RT_LWIP_STATS is not set
+# CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
+CONFIG_RT_LWIP_USING_PING=y
+# CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
+# CONFIG_RT_LWIP_DEBUG is not set
+# CONFIG_RT_USING_AT is not set
+# end of Network
+
+#
+# Memory protection
+#
+# CONFIG_RT_USING_MEM_PROTECTION is not set
+# CONFIG_RT_USING_HW_STACK_GUARD is not set
+# end of Memory protection
+
+#
+# Utilities
+#
+CONFIG_RT_USING_RYM=y
+# CONFIG_YMODEM_USING_CRC_TABLE is not set
+CONFIG_YMODEM_USING_FILE_TRANSFER=y
+# CONFIG_RT_USING_ULOG is not set
+# CONFIG_RT_USING_UTEST is not set
+# CONFIG_RT_USING_VAR_EXPORT is not set
+CONFIG_RT_USING_RESOURCE_ID=y
+CONFIG_RT_USING_ADT=y
+CONFIG_RT_USING_ADT_AVL=y
+CONFIG_RT_USING_ADT_BITMAP=y
+CONFIG_RT_USING_ADT_HASHMAP=y
+CONFIG_RT_USING_ADT_REF=y
+# CONFIG_RT_USING_RT_LINK is not set
+# end of Utilities
+
+# CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
+#
+# Using USB legacy version
+#
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+# end of Using USB legacy version
+
+# CONFIG_RT_USING_FDT is not set
+# end of RT-Thread Components
+
+#
+# RT-Thread Utestcases
+#
+# CONFIG_RT_USING_UTESTCASES is not set
+# end of RT-Thread Utestcases
+
+#
+# RT-Thread online packages
+#
+
+#
+# IoT - internet of things
+#
+# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
+# CONFIG_PKG_USING_PAHOMQTT is not set
+# CONFIG_PKG_USING_UMQTT is not set
+# CONFIG_PKG_USING_WEBCLIENT is not set
+# CONFIG_PKG_USING_WEBNET is not set
+# CONFIG_PKG_USING_MONGOOSE is not set
+# CONFIG_PKG_USING_MYMQTT is not set
+# CONFIG_PKG_USING_KAWAII_MQTT is not set
+# CONFIG_PKG_USING_BC28_MQTT is not set
+# CONFIG_PKG_USING_WEBTERMINAL is not set
+# CONFIG_PKG_USING_FREEMODBUS is not set
+# CONFIG_PKG_USING_NANOPB is not set
+# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
+
+#
+# Wi-Fi
+#
+
+#
+# Marvell WiFi
+#
+# CONFIG_PKG_USING_WLANMARVELL is not set
+# end of Marvell WiFi
+
+#
+# Wiced WiFi
+#
+# CONFIG_PKG_USING_WLAN_WICED is not set
+# end of Wiced WiFi
+
+# CONFIG_PKG_USING_RW007 is not set
+
+#
+# CYW43012 WiFi
+#
+# CONFIG_PKG_USING_WLAN_CYW43012 is not set
+# end of CYW43012 WiFi
+
+#
+# BL808 WiFi
+#
+# CONFIG_PKG_USING_WLAN_BL808 is not set
+# end of BL808 WiFi
+
+#
+# CYW43439 WiFi
+#
+# CONFIG_PKG_USING_WLAN_CYW43439 is not set
+# end of CYW43439 WiFi
+# end of Wi-Fi
+
+# CONFIG_PKG_USING_COAP is not set
+# CONFIG_PKG_USING_NOPOLL is not set
+# CONFIG_PKG_USING_NETUTILS is not set
+# CONFIG_PKG_USING_CMUX is not set
+# CONFIG_PKG_USING_PPP_DEVICE is not set
+# CONFIG_PKG_USING_AT_DEVICE is not set
+# CONFIG_PKG_USING_ATSRV_SOCKET is not set
+# CONFIG_PKG_USING_WIZNET is not set
+# CONFIG_PKG_USING_ZB_COORDINATOR is not set
+
+#
+# IoT Cloud
+#
+# CONFIG_PKG_USING_ONENET is not set
+# CONFIG_PKG_USING_GAGENT_CLOUD is not set
+# CONFIG_PKG_USING_ALI_IOTKIT is not set
+# CONFIG_PKG_USING_AZURE is not set
+# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
+# CONFIG_PKG_USING_JIOT-C-SDK is not set
+# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
+# CONFIG_PKG_USING_JOYLINK is not set
+# CONFIG_PKG_USING_IOTSHARP_SDK is not set
+# end of IoT Cloud
+
+# CONFIG_PKG_USING_NIMBLE is not set
+# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
+# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
+# CONFIG_PKG_USING_IPMSG is not set
+# CONFIG_PKG_USING_LSSDP is not set
+# CONFIG_PKG_USING_AIRKISS_OPEN is not set
+# CONFIG_PKG_USING_LIBRWS is not set
+# CONFIG_PKG_USING_TCPSERVER is not set
+# CONFIG_PKG_USING_PROTOBUF_C is not set
+# CONFIG_PKG_USING_DLT645 is not set
+# CONFIG_PKG_USING_QXWZ is not set
+# CONFIG_PKG_USING_SMTP_CLIENT is not set
+# CONFIG_PKG_USING_ABUP_FOTA is not set
+# CONFIG_PKG_USING_LIBCURL2RTT is not set
+# CONFIG_PKG_USING_CAPNP is not set
+# CONFIG_PKG_USING_AGILE_TELNET is not set
+# CONFIG_PKG_USING_NMEALIB is not set
+# CONFIG_PKG_USING_PDULIB is not set
+# CONFIG_PKG_USING_BTSTACK is not set
+# CONFIG_PKG_USING_BT_CYW43012 is not set
+# CONFIG_PKG_USING_CYW43XX is not set
+# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
+# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
+# CONFIG_PKG_USING_MAVLINK is not set
+# CONFIG_PKG_USING_BSAL is not set
+# CONFIG_PKG_USING_AGILE_MODBUS is not set
+# CONFIG_PKG_USING_AGILE_FTP is not set
+# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
+# CONFIG_PKG_USING_RT_LINK_HW is not set
+# CONFIG_PKG_USING_RYANMQTT is not set
+# CONFIG_PKG_USING_RYANW5500 is not set
+# CONFIG_PKG_USING_LORA_PKT_FWD is not set
+# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
+# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
+# CONFIG_PKG_USING_HM is not set
+# CONFIG_PKG_USING_SMALL_MODBUS is not set
+# CONFIG_PKG_USING_NET_SERVER is not set
+# CONFIG_PKG_USING_ZFTP is not set
+# CONFIG_PKG_USING_WOL is not set
+# CONFIG_PKG_USING_ZEPHYR_POLLING is not set
+# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set
+# CONFIG_PKG_USING_LHC_MODBUS is not set
+# CONFIG_PKG_USING_QMODBUS is not set
+# end of IoT - internet of things
+
+#
+# security packages
+#
+# CONFIG_PKG_USING_MBEDTLS is not set
+# CONFIG_PKG_USING_LIBSODIUM is not set
+# CONFIG_PKG_USING_LIBHYDROGEN is not set
+# CONFIG_PKG_USING_TINYCRYPT is not set
+# CONFIG_PKG_USING_TFM is not set
+# CONFIG_PKG_USING_YD_CRYPTO is not set
+# end of security packages
+
+#
+# language packages
+#
+
+#
+# JSON: JavaScript Object Notation, a lightweight data-interchange format
+#
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_LJSON is not set
+# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
+# CONFIG_PKG_USING_RAPIDJSON is not set
+# CONFIG_PKG_USING_JSMN is not set
+# CONFIG_PKG_USING_AGILE_JSMN is not set
+# CONFIG_PKG_USING_PARSON is not set
+# end of JSON: JavaScript Object Notation, a lightweight data-interchange format
+
+#
+# XML: Extensible Markup Language
+#
+# CONFIG_PKG_USING_SIMPLE_XML is not set
+# CONFIG_PKG_USING_EZXML is not set
+# end of XML: Extensible Markup Language
+
+# CONFIG_PKG_USING_LUATOS_SOC is not set
+# CONFIG_PKG_USING_LUA is not set
+# CONFIG_PKG_USING_JERRYSCRIPT is not set
+# CONFIG_PKG_USING_MICROPYTHON is not set
+# CONFIG_PKG_USING_PIKASCRIPT is not set
+# CONFIG_PKG_USING_RTT_RUST is not set
+# end of language packages
+
+#
+# multimedia packages
+#
+
+#
+# LVGL: powerful and easy-to-use embedded GUI library
+#
+# CONFIG_PKG_USING_LVGL is not set
+# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
+# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
+# end of LVGL: powerful and easy-to-use embedded GUI library
+
+#
+# u8g2: a monochrome graphic library
+#
+# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
+# CONFIG_PKG_USING_U8G2 is not set
+# end of u8g2: a monochrome graphic library
+
+# CONFIG_PKG_USING_OPENMV is not set
+# CONFIG_PKG_USING_MUPDF is not set
+# CONFIG_PKG_USING_STEMWIN is not set
+# CONFIG_PKG_USING_WAVPLAYER is not set
+# CONFIG_PKG_USING_TJPGD is not set
+# CONFIG_PKG_USING_PDFGEN is not set
+# CONFIG_PKG_USING_HELIX is not set
+# CONFIG_PKG_USING_AZUREGUIX is not set
+# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
+# CONFIG_PKG_USING_NUEMWIN is not set
+# CONFIG_PKG_USING_MP3PLAYER is not set
+# CONFIG_PKG_USING_TINYJPEG is not set
+# CONFIG_PKG_USING_UGUI is not set
+# CONFIG_PKG_USING_MCURSES is not set
+# CONFIG_PKG_USING_TERMBOX is not set
+# CONFIG_PKG_USING_VT100 is not set
+# CONFIG_PKG_USING_QRCODE is not set
+# CONFIG_PKG_USING_GUIENGINE is not set
+# CONFIG_PKG_USING_3GPP_AMRNB is not set
+# end of multimedia packages
+
+#
+# tools packages
+#
+# CONFIG_PKG_USING_CMBACKTRACE is not set
+# CONFIG_PKG_USING_EASYFLASH is not set
+# CONFIG_PKG_USING_EASYLOGGER is not set
+# CONFIG_PKG_USING_SYSTEMVIEW is not set
+# CONFIG_PKG_USING_SEGGER_RTT is not set
+# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set
+# CONFIG_PKG_USING_RDB is not set
+# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
+# CONFIG_PKG_USING_LOGMGR is not set
+# CONFIG_PKG_USING_ADBD is not set
+# CONFIG_PKG_USING_COREMARK is not set
+# CONFIG_PKG_USING_DHRYSTONE is not set
+# CONFIG_PKG_USING_MEMORYPERF is not set
+# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
+# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
+# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
+# CONFIG_PKG_USING_BS8116A is not set
+# CONFIG_PKG_USING_GPS_RMC is not set
+# CONFIG_PKG_USING_URLENCODE is not set
+# CONFIG_PKG_USING_UMCN is not set
+# CONFIG_PKG_USING_LWRB2RTT is not set
+# CONFIG_PKG_USING_CPU_USAGE is not set
+# CONFIG_PKG_USING_GBK2UTF8 is not set
+# CONFIG_PKG_USING_VCONSOLE is not set
+# CONFIG_PKG_USING_KDB is not set
+# CONFIG_PKG_USING_WAMR is not set
+# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
+# CONFIG_PKG_USING_LWLOG is not set
+# CONFIG_PKG_USING_ANV_TRACE is not set
+# CONFIG_PKG_USING_ANV_MEMLEAK is not set
+# CONFIG_PKG_USING_ANV_TESTSUIT is not set
+# CONFIG_PKG_USING_ANV_BENCH is not set
+# CONFIG_PKG_USING_DEVMEM is not set
+# CONFIG_PKG_USING_REGEX is not set
+# CONFIG_PKG_USING_MEM_SANDBOX is not set
+# CONFIG_PKG_USING_SOLAR_TERMS is not set
+# CONFIG_PKG_USING_GAN_ZHI is not set
+# CONFIG_PKG_USING_FDT is not set
+# CONFIG_PKG_USING_CBOX is not set
+# CONFIG_PKG_USING_SNOWFLAKE is not set
+# CONFIG_PKG_USING_HASH_MATCH is not set
+# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
+# CONFIG_PKG_USING_VOFA_PLUS is not set
+# CONFIG_PKG_USING_ZDEBUG is not set
+# end of tools packages
+
+#
+# system packages
+#
+
+#
+# enhanced kernel services
+#
+# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
+# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
+# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+# end of enhanced kernel services
+
+#
+# acceleration: Assembly language or algorithmic acceleration packages
+#
+# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
+# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
+# CONFIG_PKG_USING_QFPLIB_M3 is not set
+# end of acceleration: Assembly language or algorithmic acceleration packages
+
+#
+# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
+#
+# CONFIG_PKG_USING_CMSIS_5 is not set
+# CONFIG_PKG_USING_CMSIS_CORE is not set
+# CONFIG_PKG_USING_CMSIS_DSP is not set
+# CONFIG_PKG_USING_CMSIS_NN is not set
+# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
+# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
+
+#
+# Micrium: Micrium software products porting for RT-Thread
+#
+# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
+# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
+# CONFIG_PKG_USING_UC_CRC is not set
+# CONFIG_PKG_USING_UC_CLK is not set
+# CONFIG_PKG_USING_UC_COMMON is not set
+# CONFIG_PKG_USING_UC_MODBUS is not set
+# end of Micrium: Micrium software products porting for RT-Thread
+
+# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
+# CONFIG_PKG_USING_LITEOS_SDK is not set
+# CONFIG_PKG_USING_TZ_DATABASE is not set
+# CONFIG_PKG_USING_CAIRO is not set
+# CONFIG_PKG_USING_PIXMAN is not set
+# CONFIG_PKG_USING_PARTITION is not set
+# CONFIG_PKG_USING_PERF_COUNTER is not set
+# CONFIG_PKG_USING_FILEX is not set
+# CONFIG_PKG_USING_LEVELX is not set
+# CONFIG_PKG_USING_FLASHDB is not set
+# CONFIG_PKG_USING_SQLITE is not set
+# CONFIG_PKG_USING_RTI is not set
+# CONFIG_PKG_USING_DFS_YAFFS is not set
+# CONFIG_PKG_USING_LITTLEFS is not set
+# CONFIG_PKG_USING_DFS_JFFS2 is not set
+# CONFIG_PKG_USING_DFS_UFFS is not set
+# CONFIG_PKG_USING_LWEXT4 is not set
+# CONFIG_PKG_USING_THREAD_POOL is not set
+# CONFIG_PKG_USING_ROBOTS is not set
+# CONFIG_PKG_USING_EV is not set
+# CONFIG_PKG_USING_SYSWATCH is not set
+# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
+# CONFIG_PKG_USING_PLCCORE is not set
+# CONFIG_PKG_USING_RAMDISK is not set
+# CONFIG_PKG_USING_MININI is not set
+# CONFIG_PKG_USING_QBOOT is not set
+# CONFIG_PKG_USING_PPOOL is not set
+# CONFIG_PKG_USING_OPENAMP is not set
+# CONFIG_PKG_USING_RPMSG_LITE is not set
+# CONFIG_PKG_USING_LPM is not set
+# CONFIG_PKG_USING_TLSF is not set
+# CONFIG_PKG_USING_EVENT_RECORDER is not set
+# CONFIG_PKG_USING_ARM_2D is not set
+# CONFIG_PKG_USING_MCUBOOT is not set
+# CONFIG_PKG_USING_TINYUSB is not set
+# CONFIG_PKG_USING_CHERRYUSB is not set
+# CONFIG_PKG_USING_KMULTI_RTIMER is not set
+# CONFIG_PKG_USING_TFDB is not set
+# CONFIG_PKG_USING_QPC is not set
+# CONFIG_PKG_USING_AGILE_UPGRADE is not set
+# CONFIG_PKG_USING_FLASH_BLOB is not set
+# CONFIG_PKG_USING_MLIBC is not set
+# CONFIG_PKG_USING_TASK_MSG_BUS is not set
+# CONFIG_PKG_USING_SFDB is not set
+# CONFIG_PKG_USING_RTP is not set
+# CONFIG_PKG_USING_REB is not set
+# CONFIG_PKG_USING_R_RHEALSTONE is not set
+# end of system packages
+
+#
+# peripheral libraries and drivers
+#
+
+#
+# HAL & SDK Drivers
+#
+
+#
+# STM32 HAL & SDK Drivers
+#
+# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
+# CONFIG_PKG_USING_STM32WB55_SDK is not set
+# CONFIG_PKG_USING_STM32_SDIO is not set
+# end of STM32 HAL & SDK Drivers
+
+# CONFIG_PKG_USING_BLUETRUM_SDK is not set
+# CONFIG_PKG_USING_EMBARC_BSP is not set
+# CONFIG_PKG_USING_ESP_IDF is not set
+
+#
+# Kendryte SDK
+#
+# CONFIG_PKG_USING_K210_SDK is not set
+# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# end of Kendryte SDK
+
+# CONFIG_PKG_USING_NRF5X_SDK is not set
+# CONFIG_PKG_USING_NRFX is not set
+# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
+# end of HAL & SDK Drivers
+
+#
+# sensors drivers
+#
+# CONFIG_PKG_USING_LSM6DSM is not set
+# CONFIG_PKG_USING_LSM6DSL is not set
+# CONFIG_PKG_USING_LPS22HB is not set
+# CONFIG_PKG_USING_HTS221 is not set
+# CONFIG_PKG_USING_LSM303AGR is not set
+# CONFIG_PKG_USING_BME280 is not set
+# CONFIG_PKG_USING_BME680 is not set
+# CONFIG_PKG_USING_BMA400 is not set
+# CONFIG_PKG_USING_BMI160_BMX160 is not set
+# CONFIG_PKG_USING_SPL0601 is not set
+# CONFIG_PKG_USING_MS5805 is not set
+# CONFIG_PKG_USING_DA270 is not set
+# CONFIG_PKG_USING_DF220 is not set
+# CONFIG_PKG_USING_HSHCAL001 is not set
+# CONFIG_PKG_USING_BH1750 is not set
+# CONFIG_PKG_USING_MPU6XXX is not set
+# CONFIG_PKG_USING_AHT10 is not set
+# CONFIG_PKG_USING_AP3216C is not set
+# CONFIG_PKG_USING_TSL4531 is not set
+# CONFIG_PKG_USING_DS18B20 is not set
+# CONFIG_PKG_USING_DHT11 is not set
+# CONFIG_PKG_USING_DHTXX is not set
+# CONFIG_PKG_USING_GY271 is not set
+# CONFIG_PKG_USING_GP2Y10 is not set
+# CONFIG_PKG_USING_SGP30 is not set
+# CONFIG_PKG_USING_HDC1000 is not set
+# CONFIG_PKG_USING_BMP180 is not set
+# CONFIG_PKG_USING_BMP280 is not set
+# CONFIG_PKG_USING_SHTC1 is not set
+# CONFIG_PKG_USING_BMI088 is not set
+# CONFIG_PKG_USING_HMC5883 is not set
+# CONFIG_PKG_USING_MAX6675 is not set
+# CONFIG_PKG_USING_TMP1075 is not set
+# CONFIG_PKG_USING_SR04 is not set
+# CONFIG_PKG_USING_CCS811 is not set
+# CONFIG_PKG_USING_PMSXX is not set
+# CONFIG_PKG_USING_RT3020 is not set
+# CONFIG_PKG_USING_MLX90632 is not set
+# CONFIG_PKG_USING_MLX90393 is not set
+# CONFIG_PKG_USING_MLX90392 is not set
+# CONFIG_PKG_USING_MLX90397 is not set
+# CONFIG_PKG_USING_MS5611 is not set
+# CONFIG_PKG_USING_MAX31865 is not set
+# CONFIG_PKG_USING_VL53L0X is not set
+# CONFIG_PKG_USING_INA260 is not set
+# CONFIG_PKG_USING_MAX30102 is not set
+# CONFIG_PKG_USING_INA226 is not set
+# CONFIG_PKG_USING_LIS2DH12 is not set
+# CONFIG_PKG_USING_HS300X is not set
+# CONFIG_PKG_USING_ZMOD4410 is not set
+# CONFIG_PKG_USING_ISL29035 is not set
+# CONFIG_PKG_USING_MMC3680KJ is not set
+# CONFIG_PKG_USING_QMP6989 is not set
+# CONFIG_PKG_USING_BALANCE is not set
+# CONFIG_PKG_USING_SHT2X is not set
+# CONFIG_PKG_USING_SHT3X is not set
+# CONFIG_PKG_USING_SHT4X is not set
+# CONFIG_PKG_USING_AD7746 is not set
+# CONFIG_PKG_USING_ADT74XX is not set
+# CONFIG_PKG_USING_MAX17048 is not set
+# CONFIG_PKG_USING_AS7341 is not set
+# CONFIG_PKG_USING_CW2015 is not set
+# CONFIG_PKG_USING_ICM20608 is not set
+# CONFIG_PKG_USING_PAJ7620 is not set
+# CONFIG_PKG_USING_STHS34PF80 is not set
+# end of sensors drivers
+
+#
+# touch drivers
+#
+# CONFIG_PKG_USING_GT9147 is not set
+# CONFIG_PKG_USING_GT1151 is not set
+# CONFIG_PKG_USING_GT917S is not set
+# CONFIG_PKG_USING_GT911 is not set
+# CONFIG_PKG_USING_FT6206 is not set
+# CONFIG_PKG_USING_FT5426 is not set
+# CONFIG_PKG_USING_FT6236 is not set
+# CONFIG_PKG_USING_XPT2046_TOUCH is not set
+# CONFIG_PKG_USING_CST816X is not set
+# CONFIG_PKG_USING_CST812T is not set
+# end of touch drivers
+
+# CONFIG_PKG_USING_REALTEK_AMEBA is not set
+# CONFIG_PKG_USING_BUTTON is not set
+# CONFIG_PKG_USING_PCF8574 is not set
+# CONFIG_PKG_USING_SX12XX is not set
+# CONFIG_PKG_USING_SIGNAL_LED is not set
+# CONFIG_PKG_USING_LEDBLINK is not set
+# CONFIG_PKG_USING_LITTLED is not set
+# CONFIG_PKG_USING_LKDGUI is not set
+# CONFIG_PKG_USING_INFRARED is not set
+# CONFIG_PKG_USING_MULTI_INFRARED is not set
+# CONFIG_PKG_USING_AGILE_BUTTON is not set
+# CONFIG_PKG_USING_AGILE_LED is not set
+# CONFIG_PKG_USING_AT24CXX is not set
+# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
+# CONFIG_PKG_USING_PCA9685 is not set
+# CONFIG_PKG_USING_ILI9341 is not set
+# CONFIG_PKG_USING_I2C_TOOLS is not set
+# CONFIG_PKG_USING_NRF24L01 is not set
+# CONFIG_PKG_USING_RPLIDAR is not set
+# CONFIG_PKG_USING_AS608 is not set
+# CONFIG_PKG_USING_RC522 is not set
+# CONFIG_PKG_USING_WS2812B is not set
+# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
+# CONFIG_PKG_USING_MULTI_RTIMER is not set
+# CONFIG_PKG_USING_MAX7219 is not set
+# CONFIG_PKG_USING_BEEP is not set
+# CONFIG_PKG_USING_EASYBLINK is not set
+# CONFIG_PKG_USING_PMS_SERIES is not set
+# CONFIG_PKG_USING_CAN_YMODEM is not set
+# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
+# CONFIG_PKG_USING_QLED is not set
+# CONFIG_PKG_USING_AGILE_CONSOLE is not set
+# CONFIG_PKG_USING_LD3320 is not set
+# CONFIG_PKG_USING_WK2124 is not set
+# CONFIG_PKG_USING_LY68L6400 is not set
+# CONFIG_PKG_USING_DM9051 is not set
+# CONFIG_PKG_USING_SSD1306 is not set
+# CONFIG_PKG_USING_QKEY is not set
+# CONFIG_PKG_USING_RS485 is not set
+# CONFIG_PKG_USING_RS232 is not set
+# CONFIG_PKG_USING_NES is not set
+# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
+# CONFIG_PKG_USING_VDEVICE is not set
+# CONFIG_PKG_USING_SGM706 is not set
+# CONFIG_PKG_USING_RDA58XX is not set
+# CONFIG_PKG_USING_LIBNFC is not set
+# CONFIG_PKG_USING_MFOC is not set
+# CONFIG_PKG_USING_TMC51XX is not set
+# CONFIG_PKG_USING_TCA9534 is not set
+# CONFIG_PKG_USING_KOBUKI is not set
+# CONFIG_PKG_USING_ROSSERIAL is not set
+# CONFIG_PKG_USING_MICRO_ROS is not set
+# CONFIG_PKG_USING_MCP23008 is not set
+# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
+# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
+# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
+# CONFIG_PKG_USING_SOFT_SERIAL is not set
+# CONFIG_PKG_USING_MB85RS16 is not set
+# CONFIG_PKG_USING_RFM300 is not set
+# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
+# CONFIG_PKG_USING_LRF_NV7LIDAR is not set
+# CONFIG_PKG_USING_AIP650 is not set
+# CONFIG_PKG_USING_FINGERPRINT is not set
+# CONFIG_PKG_USING_BT_ECB02C is not set
+# CONFIG_PKG_USING_UAT is not set
+# CONFIG_PKG_USING_ST7789 is not set
+# CONFIG_PKG_USING_VS1003 is not set
+# CONFIG_PKG_USING_X9555 is not set
+# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
+# CONFIG_PKG_USING_BT_MX01 is not set
+# CONFIG_PKG_USING_RGPOWER is not set
+# CONFIG_PKG_USING_SPI_TOOLS is not set
+# end of peripheral libraries and drivers
+
+#
+# AI packages
+#
+# CONFIG_PKG_USING_LIBANN is not set
+# CONFIG_PKG_USING_NNOM is not set
+# CONFIG_PKG_USING_ONNX_BACKEND is not set
+# CONFIG_PKG_USING_ONNX_PARSER is not set
+# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
+# CONFIG_PKG_USING_ELAPACK is not set
+# CONFIG_PKG_USING_ULAPACK is not set
+# CONFIG_PKG_USING_QUEST is not set
+# CONFIG_PKG_USING_NAXOS is not set
+# CONFIG_PKG_USING_NCNN is not set
+# CONFIG_PKG_USING_R_TINYMAIX is not set
+# end of AI packages
+
+#
+# Signal Processing and Control Algorithm Packages
+#
+# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
+# CONFIG_PKG_USING_QPID is not set
+# CONFIG_PKG_USING_UKAL is not set
+# CONFIG_PKG_USING_DIGITALCTRL is not set
+# CONFIG_PKG_USING_KISSFFT is not set
+# end of Signal Processing and Control Algorithm Packages
+
+#
+# miscellaneous packages
+#
+
+#
+# project laboratory
+#
+# end of project laboratory
+
+#
+# samples: kernel and components samples
+#
+CONFIG_PKG_USING_KERNEL_SAMPLES=y
+CONFIG_PKG_KERNEL_SAMPLES_PATH="/packages/misc/samples/kernel_samples"
+# CONFIG_PKG_USING_KERNEL_SAMPLES_V030 is not set
+# CONFIG_PKG_USING_KERNEL_SAMPLES_V040 is not set
+CONFIG_PKG_USING_KERNEL_SAMPLES_LATEST_VERSION=y
+CONFIG_PKG_KERNEL_SAMPLES_VER="latest"
+CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
+# CONFIG_PKG_USING_KERNEL_SAMPLES_ZH is not set
+# CONFIG_KERNEL_SAMPLES_USING_THREAD is not set
+# CONFIG_KERNEL_SAMPLES_USING_SEMAPHORE is not set
+# CONFIG_KERNEL_SAMPLES_USING_MUTEX is not set
+# CONFIG_KERNEL_SAMPLES_USING_MAILBOX is not set
+# CONFIG_KERNEL_SAMPLES_USING_EVENT is not set
+# CONFIG_KERNEL_SAMPLES_USING_MESSAGEQUEUE is not set
+# CONFIG_KERNEL_SAMPLES_USING_TIMER is not set
+# CONFIG_KERNEL_SAMPLES_USING_HEAP is not set
+# CONFIG_KERNEL_SAMPLES_USING_MEMHEAP is not set
+# CONFIG_KERNEL_SAMPLES_USING_MEMPOOL is not set
+# CONFIG_KERNEL_SAMPLES_USING_IDLEHOOK is not set
+# CONFIG_KERNEL_SAMPLES_USING_SIGNAL is not set
+# CONFIG_KERNEL_SAMPLES_USING_INTERRUPT is not set
+# CONFIG_KERNEL_SAMPLES_USING_PRI_INVERSION is not set
+# CONFIG_KERNEL_SAMPLES_USING_TIME_SLICE is not set
+# CONFIG_KERNEL_SAMPLES_USING_SCHEDULER_HOOK is not set
+# CONFIG_KERNEL_SAMPLES_USING_PRODUCER_CONSUMER is not set
+# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
+# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
+# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+# end of samples: kernel and components samples
+
+#
+# entertainment: terminal games and other interesting software packages
+#
+# CONFIG_PKG_USING_CMATRIX is not set
+# CONFIG_PKG_USING_SL is not set
+# CONFIG_PKG_USING_CAL is not set
+# CONFIG_PKG_USING_ACLOCK is not set
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
+# CONFIG_PKG_USING_SNAKE is not set
+# CONFIG_PKG_USING_TETRIS is not set
+# CONFIG_PKG_USING_DONUT is not set
+# CONFIG_PKG_USING_COWSAY is not set
+# CONFIG_PKG_USING_MORSE is not set
+# end of entertainment: terminal games and other interesting software packages
+
+# CONFIG_PKG_USING_LIBCSV is not set
+# CONFIG_PKG_USING_OPTPARSE is not set
+# CONFIG_PKG_USING_FASTLZ is not set
+# CONFIG_PKG_USING_MINILZO is not set
+# CONFIG_PKG_USING_QUICKLZ is not set
+# CONFIG_PKG_USING_LZMA is not set
+# CONFIG_PKG_USING_RALARAM is not set
+# CONFIG_PKG_USING_MULTIBUTTON is not set
+# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
+# CONFIG_PKG_USING_CANFESTIVAL is not set
+# CONFIG_PKG_USING_ZLIB is not set
+# CONFIG_PKG_USING_MINIZIP is not set
+# CONFIG_PKG_USING_HEATSHRINK is not set
+# CONFIG_PKG_USING_DSTR is not set
+# CONFIG_PKG_USING_TINYFRAME is not set
+# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
+# CONFIG_PKG_USING_UPACKER is not set
+# CONFIG_PKG_USING_UPARAM is not set
+# CONFIG_PKG_USING_HELLO is not set
+# CONFIG_PKG_USING_VI is not set
+# CONFIG_PKG_USING_KI is not set
+# CONFIG_PKG_USING_ARMv7M_DWT is not set
+# CONFIG_PKG_USING_CRCLIB is not set
+# CONFIG_PKG_USING_LWGPS is not set
+# CONFIG_PKG_USING_STATE_MACHINE is not set
+# CONFIG_PKG_USING_DESIGN_PATTERN is not set
+# CONFIG_PKG_USING_CONTROLLER is not set
+# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
+# CONFIG_PKG_USING_MFBD is not set
+# CONFIG_PKG_USING_SLCAN2RTT is not set
+# CONFIG_PKG_USING_SOEM is not set
+# CONFIG_PKG_USING_QPARAM is not set
+# CONFIG_PKG_USING_CorevMCU_CLI is not set
+# end of miscellaneous packages
+
+#
+# Arduino libraries
+#
+# CONFIG_PKG_USING_RTDUINO is not set
+
+#
+# Projects and Demos
+#
+# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
+# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set
+# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
+# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
+# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
+# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
+# end of Projects and Demos
+
+#
+# Sensors
+#
+# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90614 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AHTX0 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS0 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP280 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADT7410 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME680 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9808 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4728 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA219 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR390 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL345 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DHT is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9600 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM6DS is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO055 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX1704X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMC56X3 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90393 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90395 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ICM20X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DPS310 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTS221 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT4X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT31 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL343 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME280 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS726X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AMG88XX is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2320 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2315 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR329_LTR303 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085_UNIFIED is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183_UNIFIED is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP3XX is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MS8607 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS2MDL is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303DLH_MAG is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LC709203F is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CAP1188 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CCS811 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_NAU7802 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS331 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS2X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS35HW is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303_ACCEL is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3DH is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8591 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL3115A2 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPR121 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPRLS is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPU6050 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCT2075 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PM25AQI is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_EMC2101 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXAS21002C is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SCD30 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXOS8700 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HMC5883_UNIFIED is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP30 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP006 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TLA202X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCS34725 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI7021 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI1145 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP40 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHTC3 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HDC1000 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP117 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSC2007 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2561 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2591_LIBRARY is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VCNL4040 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6075 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LIS3DHTR is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_DHT is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL335 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL345 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BME280 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_H3LIS331DL is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_MMA7660 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BBM150 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_SI1145 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_SHT35 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_AT42QT1070 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LSM6DS3 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HDC1000 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HM3301 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
+# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
+# end of Sensors
+
+#
+# Display
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set
+# CONFIG_PKG_USING_ARDUINO_U8G2 is not set
+# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set
+# CONFIG_PKG_USING_SEEED_TM1637 is not set
+# end of Display
+
+#
+# Timing
+#
+# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
+# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
+# CONFIG_PKG_USING_ARDUINO_TICKER is not set
+# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
+# end of Timing
+
+#
+# Data Processing
+#
+# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
+# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
+# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
+# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set
+# end of Data Processing
+
+#
+# Data Storage
+#
+
+#
+# Communication
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set
+# end of Communication
+
+#
+# Device Control
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
+# end of Device Control
+
+#
+# Other
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
+# end of Other
+
+#
+# Signal IO
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BUSIO is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCA8418 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP23017 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADS1X15 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AW9523 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set
+# end of Signal IO
+
+#
+# Uncategorized
+#
+# end of Arduino libraries
+# end of RT-Thread online packages
+
+#
+# Hardware Drivers
+#
+# CONFIG_DRV_DEBUG is not set
+
+#
+# On-chip Peripheral Drivers
+#
+CONFIG_BSP_USING_IOPAD=y
+CONFIG_BSP_USING_UART=y
+CONFIG_RT_USING_UART0=y
+CONFIG_RT_USING_UART1=y
+# CONFIG_RT_USING_UART2 is not set
+# CONFIG_RT_USING_UART3 is not set
+CONFIG_BSP_USING_SPI=y
+# CONFIG_RT_USING_SPIM0 is not set
+# CONFIG_RT_USING_SPIM1 is not set
+CONFIG_RT_USING_SPIM2=y
+# CONFIG_RT_USING_SPIM3 is not set
+CONFIG_BSP_USING_CAN=y
+CONFIG_RT_USING_CANFD=y
+# CONFIG_RT_USING_FILTER is not set
+CONFIG_RT_USING_CAN0=y
+CONFIG_RT_USING_CAN1=y
+CONFIG_BSP_USING_GPIO=y
+CONFIG_BSP_USING_QSPI=y
+CONFIG_RT_USING_QSPI0=y
+CONFIG_USING_QSPI_CHANNEL0=y
+# CONFIG_USING_QSPI_CHANNEL1 is not set
+CONFIG_BSP_USING_ETH=y
+CONFIG_BSP_USING_PWM=y
+# CONFIG_RT_USING_PWM0 is not set
+# CONFIG_RT_USING_PWM1 is not set
+# CONFIG_RT_USING_PWM2 is not set
+# CONFIG_RT_USING_PWM3 is not set
+# CONFIG_RT_USING_PWM4 is not set
+# CONFIG_RT_USING_PWM5 is not set
+# CONFIG_RT_USING_PWM6 is not set
+# CONFIG_RT_USING_PWM7 is not set
+CONFIG_BSP_USING_I2C=y
+CONFIG_I2C_USE_MIO=y
+# CONFIG_RT_USING_MIO0 is not set
+# CONFIG_RT_USING_MIO1 is not set
+# CONFIG_RT_USING_MIO2 is not set
+# CONFIG_RT_USING_MIO3 is not set
+# CONFIG_RT_USING_MIO4 is not set
+# CONFIG_RT_USING_MIO5 is not set
+# CONFIG_RT_USING_MIO6 is not set
+# CONFIG_RT_USING_MIO7 is not set
+# CONFIG_RT_USING_MIO8 is not set
+# CONFIG_RT_USING_MIO9 is not set
+# CONFIG_RT_USING_MIO10 is not set
+# CONFIG_RT_USING_MIO11 is not set
+# CONFIG_RT_USING_MIO12 is not set
+# CONFIG_RT_USING_MIO13 is not set
+# CONFIG_RT_USING_MIO14 is not set
+CONFIG_RT_USING_MIO15=y
+# CONFIG_I2C_USE_CONTROLLER is not set
+CONFIG_BSP_USING_SDIF=y
+CONFIG_BSP_USING_SDCARD_FATFS=y
+CONFIG_USING_SDIF0=y
+# CONFIG_USE_SDIF0_TF is not set
+CONFIG_USE_SDIF0_EMMC=y
+CONFIG_USING_SDIF1=y
+CONFIG_USE_SDIF1_TF=y
+# CONFIG_USE_SDIF1_EMMC is not set
+CONFIG_BSP_USING_DC=y
+CONFIG_RT_USING_DC_CHANNEL0=y
+CONFIG_RT_USING_DC_CHANNEL1=y
+# end of On-chip Peripheral Drivers
+
+#
+# Board extended module Drivers
+#
+# end of Hardware Drivers
+
+CONFIG_BSP_USING_GIC=y
+CONFIG_BSP_USING_GICV3=y
+CONFIG_PHYTIUM_ARCH_AARCH64=y
+CONFIG_ARM_SPI_BIND_CPU_ID=0
+
+#
+# Standalone Setting
+#
+CONFIG_TARGET_ARMV8_AARCH64=y
+
+#
+# Soc configuration
+#
+# CONFIG_TARGET_PHYTIUMPI is not set
+# CONFIG_TARGET_E2000Q is not set
+CONFIG_TARGET_E2000D=y
+# CONFIG_TARGET_E2000S is not set
+# CONFIG_TARGET_FT2004 is not set
+# CONFIG_TARGET_D2000 is not set
+# CONFIG_TARGET_PD2308 is not set
+CONFIG_SOC_NAME="e2000"
+CONFIG_TARGET_TYPE_NAME="d"
+CONFIG_SOC_CORE_NUM=2
+CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
+CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
+CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
+CONFIG_F64BIT_MEMORY_LENGTH=0x800000000
+CONFIG_TARGET_E2000=y
+CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
+# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set
+# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set
+# end of Soc configuration
+
+#
+# Board Configuration
+#
+CONFIG_E2000D_DEMO_BOARD=y
+CONFIG_BOARD_NAME="demo"
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_USE_SPI_IOPAD is not set
+# CONFIG_USE_GPIO_IOPAD is not set
+# CONFIG_USE_CAN_IOPAD is not set
+# CONFIG_USE_QSPI_IOPAD is not set
+# CONFIG_USE_PWM_IOPAD is not set
+# CONFIG_USE_ADC_IOPAD is not set
+# CONFIG_USE_MIO_IOPAD is not set
+# CONFIG_USE_TACHO_IOPAD is not set
+# CONFIG_USE_UART_IOPAD is not set
+# CONFIG_USE_THIRD_PARTY_IOPAD is not set
+# end of IO mux configuration when board start up
+
+# CONFIG_CUS_DEMO_BOARD is not set
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+CONFIG_ELOG_LINE_BUF_SIZE=0x100
+# CONFIG_LOG_VERBOS is not set
+CONFIG_LOG_DEBUG=y
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+# CONFIG_LOG_ERROR is not set
+# CONFIG_LOG_NONE is not set
+# CONFIG_LOG_EXTRA_INFO is not set
+# CONFIG_LOG_DISPALY_CORE_NUM is not set
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+# CONFIG_USE_DEFAULT_INTERRUPT_CONFIG is not set
+# end of Sdk common configuration
+# end of Standalone Setting

+ 627 - 0
bsp/phytium/aarch64/configs/e2000d_demo_rtthread_xhci.h

@@ -0,0 +1,627 @@
+#ifndef RT_CONFIG_H__
+#define RT_CONFIG_H__
+
+/* RT-Thread Kernel */
+
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
+#define RT_NAME_MAX 16
+#define RT_USING_SMP
+#define RT_CPUS_NR 2
+#define RT_ALIGN_SIZE 4
+#define RT_THREAD_PRIORITY_32
+#define RT_THREAD_PRIORITY_MAX 32
+#define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
+#define RT_USING_HOOK
+#define RT_HOOK_USING_FUNC_PTR
+#define RT_USING_IDLE_HOOK
+#define RT_IDLE_HOOK_LIST_SIZE 4
+#define IDLE_THREAD_STACK_SIZE 8192
+#define SYSTEM_THREAD_STACK_SIZE 8192
+#define RT_USING_TIMER_SOFT
+#define RT_TIMER_THREAD_PRIO 4
+#define RT_TIMER_THREAD_STACK_SIZE 8192
+
+/* kservice options */
+
+/* end of kservice options */
+#define RT_USING_DEBUG
+#define RT_DEBUGING_ASSERT
+#define RT_DEBUGING_COLOR
+
+/* Inter-Thread communication */
+
+#define RT_USING_SEMAPHORE
+#define RT_USING_MUTEX
+#define RT_USING_EVENT
+#define RT_USING_MAILBOX
+#define RT_USING_MESSAGEQUEUE
+/* end of Inter-Thread communication */
+
+/* Memory Management */
+
+#define RT_USING_MEMPOOL
+#define RT_USING_SLAB
+#define RT_USING_MEMHEAP
+#define RT_MEMHEAP_FAST_MODE
+#define RT_USING_SLAB_AS_HEAP
+#define RT_USING_HEAP_ISR
+#define RT_USING_HEAP
+/* end of Memory Management */
+#define RT_USING_DEVICE
+#define RT_USING_CONSOLE
+#define RT_CONSOLEBUF_SIZE 128
+#define RT_CONSOLE_DEVICE_NAME "uart1"
+#define RT_VER_NUM 0x50200
+#define RT_BACKTRACE_LEVEL_MAX_NR 32
+/* end of RT-Thread Kernel */
+
+/* AArch64 Architecture Configuration */
+
+#define ARCH_TEXT_OFFSET 0x80000
+#define ARCH_RAM_OFFSET 0x80000000
+#define ARCH_SECONDARY_CPU_STACK_SIZE 4096
+#define ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS
+#define ARCH_HEAP_SIZE 0x4000000
+#define ARCH_INIT_PAGE_SIZE 0x200000
+/* end of AArch64 Architecture Configuration */
+#define ARCH_CPU_64BIT
+#define RT_USING_CACHE
+#define RT_USING_HW_ATOMIC
+#define ARCH_ARM_BOOTWITH_FLUSH_CACHE
+#define RT_USING_CPU_FFS
+#define ARCH_MM_MMU
+#define ARCH_ARM
+#define ARCH_ARM_MMU
+#define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
+
+/* RT-Thread Components */
+
+#define RT_USING_COMPONENTS_INIT
+#define RT_USING_USER_MAIN
+#define RT_MAIN_THREAD_STACK_SIZE 8192
+#define RT_MAIN_THREAD_PRIORITY 10
+#define RT_USING_MSH
+#define RT_USING_FINSH
+#define FINSH_USING_MSH
+#define FINSH_THREAD_NAME "tshell"
+#define FINSH_THREAD_PRIORITY 20
+#define FINSH_THREAD_STACK_SIZE 4096
+#define FINSH_USING_HISTORY
+#define FINSH_HISTORY_LINES 5
+#define FINSH_USING_SYMTAB
+#define FINSH_CMD_SIZE 80
+#define MSH_USING_BUILT_IN_COMMANDS
+#define FINSH_USING_DESCRIPTION
+#define FINSH_ARG_MAX 10
+#define FINSH_USING_OPTION_COMPLETION
+
+/* DFS: device virtual file system */
+
+#define RT_USING_DFS
+#define DFS_USING_POSIX
+#define DFS_USING_WORKDIR
+#define DFS_FD_MAX 16
+#define RT_USING_DFS_V1
+#define DFS_FILESYSTEMS_MAX 4
+#define DFS_FILESYSTEM_TYPES_MAX 4
+#define RT_USING_DFS_ELMFAT
+
+/* elm-chan's FatFs, Generic FAT Filesystem Module */
+
+#define RT_DFS_ELM_CODE_PAGE 437
+#define RT_DFS_ELM_WORD_ACCESS
+#define RT_DFS_ELM_USE_LFN_3
+#define RT_DFS_ELM_USE_LFN 3
+#define RT_DFS_ELM_LFN_UNICODE_0
+#define RT_DFS_ELM_LFN_UNICODE 0
+#define RT_DFS_ELM_MAX_LFN 255
+#define RT_DFS_ELM_DRIVES 2
+#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
+#define RT_DFS_ELM_REENTRANT
+#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
+/* end of elm-chan's FatFs, Generic FAT Filesystem Module */
+#define RT_USING_DFS_DEVFS
+#define RT_USING_DFS_RAMFS
+/* end of DFS: device virtual file system */
+
+/* Device Drivers */
+
+#define RT_USING_DEV_BUS
+#define RT_USING_DEVICE_IPC
+#define RT_UNAMED_PIPE_NUMBER 64
+#define RT_USING_SYSTEM_WORKQUEUE
+#define RT_SYSTEM_WORKQUEUE_STACKSIZE 8192
+#define RT_SYSTEM_WORKQUEUE_PRIORITY 23
+#define RT_USING_SERIAL
+#define RT_USING_SERIAL_V1
+#define RT_SERIAL_USING_DMA
+#define RT_SERIAL_RB_BUFSZ 64
+#define RT_USING_CAN
+#define RT_CAN_USING_HDR
+#define RT_CAN_USING_CANFD
+#define RT_USING_I2C
+#define RT_USING_I2C_BITOPS
+#define RT_USING_NULL
+#define RT_USING_ZERO
+#define RT_USING_RANDOM
+#define RT_USING_PWM
+#define RT_USING_RTC
+#define RT_USING_SDIO
+#define RT_SDIO_STACK_SIZE 8192
+#define RT_SDIO_THREAD_PRIORITY 15
+#define RT_MMCSD_STACK_SIZE 8192
+#define RT_MMCSD_THREAD_PRIORITY 22
+#define RT_MMCSD_MAX_PARTITION 16
+#define RT_USING_SPI
+#define RT_USING_QSPI
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
+#define RT_USING_PIN
+#define RT_USING_KTIME
+#define RT_USING_CHERRYUSB
+#define RT_CHERRYUSB_HOST
+#define RT_CHERRYUSB_HOST_XHCI
+#define RT_CHERRYUSB_HOST_HID
+#define RT_CHERRYUSB_HOST_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
+/* end of Device Drivers */
+
+/* C/C++ and POSIX layer */
+
+/* ISO-ANSI C layer */
+
+/* Timezone and Daylight Saving Time */
+
+#define RT_LIBC_USING_LIGHT_TZ_DST
+#define RT_LIBC_TZ_DEFAULT_HOUR 8
+#define RT_LIBC_TZ_DEFAULT_MIN 0
+#define RT_LIBC_TZ_DEFAULT_SEC 0
+/* end of Timezone and Daylight Saving Time */
+/* end of ISO-ANSI C layer */
+
+/* POSIX (Portable Operating System Interface) layer */
+
+#define RT_USING_POSIX_FS
+#define RT_USING_POSIX_DEVIO
+#define RT_USING_POSIX_STDIO
+#define RT_USING_POSIX_TERMIOS
+#define RT_USING_POSIX_DELAY
+#define RT_USING_POSIX_CLOCK
+#define RT_USING_POSIX_TIMER
+
+/* Interprocess Communication (IPC) */
+
+
+/* Socket is in the 'Network' category */
+
+/* end of Interprocess Communication (IPC) */
+/* end of POSIX (Portable Operating System Interface) layer */
+/* end of C/C++ and POSIX layer */
+
+/* Network */
+
+#define RT_USING_SAL
+#define SAL_INTERNET_CHECK
+
+/* Docking with protocol stacks */
+
+#define SAL_USING_LWIP
+/* end of Docking with protocol stacks */
+#define SAL_USING_POSIX
+#define RT_USING_NETDEV
+#define NETDEV_USING_IFCONFIG
+#define NETDEV_USING_PING
+#define NETDEV_USING_NETSTAT
+#define NETDEV_USING_AUTO_DEFAULT
+#define NETDEV_IPV4 1
+#define NETDEV_IPV6 0
+#define RT_USING_LWIP
+#define RT_USING_LWIP212
+#define RT_USING_LWIP_VER_NUM 0x20102
+#define RT_LWIP_MEM_ALIGNMENT 64
+#define RT_LWIP_IGMP
+#define RT_LWIP_ICMP
+#define RT_LWIP_DNS
+
+/* Static IPv4 Address */
+
+#define RT_LWIP_IPADDR "192.168.4.10"
+#define RT_LWIP_GWADDR "192.168.4.1"
+#define RT_LWIP_MSKADDR "255.255.255.0"
+/* end of Static IPv4 Address */
+#define RT_LWIP_UDP
+#define RT_LWIP_TCP
+#define RT_LWIP_RAW
+#define RT_MEMP_NUM_NETCONN 8
+#define RT_LWIP_PBUF_NUM 512
+#define RT_LWIP_RAW_PCB_NUM 4
+#define RT_LWIP_UDP_PCB_NUM 4
+#define RT_LWIP_TCP_PCB_NUM 4
+#define RT_LWIP_TCP_SEG_NUM 40
+#define RT_LWIP_TCP_SND_BUF 8196
+#define RT_LWIP_TCP_WND 8196
+#define RT_LWIP_TCPTHREAD_PRIORITY 16
+#define RT_LWIP_TCPTHREAD_MBOX_SIZE 8
+#define RT_LWIP_TCPTHREAD_STACKSIZE 16184
+#define RT_LWIP_ETHTHREAD_PRIORITY 12
+#define RT_LWIP_ETHTHREAD_STACKSIZE 8192
+#define RT_LWIP_ETHTHREAD_MBOX_SIZE 8
+#define RT_LWIP_REASSEMBLY_FRAG
+#define LWIP_NETIF_STATUS_CALLBACK 1
+#define LWIP_NETIF_LINK_CALLBACK 1
+#define RT_LWIP_NETIF_NAMESIZE 6
+#define SO_REUSE 1
+#define LWIP_SO_RCVTIMEO 1
+#define LWIP_SO_SNDTIMEO 1
+#define LWIP_SO_RCVBUF 1
+#define LWIP_SO_LINGER 0
+#define LWIP_NETIF_LOOPBACK 0
+#define RT_LWIP_USING_PING
+/* end of Network */
+
+/* Memory protection */
+
+/* end of Memory protection */
+
+/* Utilities */
+
+#define RT_USING_RYM
+#define YMODEM_USING_FILE_TRANSFER
+#define RT_USING_RESOURCE_ID
+#define RT_USING_ADT
+#define RT_USING_ADT_AVL
+#define RT_USING_ADT_BITMAP
+#define RT_USING_ADT_HASHMAP
+#define RT_USING_ADT_REF
+/* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
+/* Using USB legacy version */
+
+/* end of Using USB legacy version */
+/* end of RT-Thread Components */
+
+/* RT-Thread Utestcases */
+
+/* end of RT-Thread Utestcases */
+
+/* RT-Thread online packages */
+
+/* IoT - internet of things */
+
+
+/* Wi-Fi */
+
+/* Marvell WiFi */
+
+/* end of Marvell WiFi */
+
+/* Wiced WiFi */
+
+/* end of Wiced WiFi */
+
+/* CYW43012 WiFi */
+
+/* end of CYW43012 WiFi */
+
+/* BL808 WiFi */
+
+/* end of BL808 WiFi */
+
+/* CYW43439 WiFi */
+
+/* end of CYW43439 WiFi */
+/* end of Wi-Fi */
+
+/* IoT Cloud */
+
+/* end of IoT Cloud */
+/* end of IoT - internet of things */
+
+/* security packages */
+
+/* end of security packages */
+
+/* language packages */
+
+/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+
+/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
+
+/* XML: Extensible Markup Language */
+
+/* end of XML: Extensible Markup Language */
+/* end of language packages */
+
+/* multimedia packages */
+
+/* LVGL: powerful and easy-to-use embedded GUI library */
+
+/* end of LVGL: powerful and easy-to-use embedded GUI library */
+
+/* u8g2: a monochrome graphic library */
+
+/* end of u8g2: a monochrome graphic library */
+/* end of multimedia packages */
+
+/* tools packages */
+
+/* end of tools packages */
+
+/* system packages */
+
+/* enhanced kernel services */
+
+/* end of enhanced kernel services */
+
+/* acceleration: Assembly language or algorithmic acceleration packages */
+
+/* end of acceleration: Assembly language or algorithmic acceleration packages */
+
+/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+
+/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+
+/* Micrium: Micrium software products porting for RT-Thread */
+
+/* end of Micrium: Micrium software products porting for RT-Thread */
+/* end of system packages */
+
+/* peripheral libraries and drivers */
+
+/* HAL & SDK Drivers */
+
+/* STM32 HAL & SDK Drivers */
+
+/* end of STM32 HAL & SDK Drivers */
+
+/* Kendryte SDK */
+
+/* end of Kendryte SDK */
+/* end of HAL & SDK Drivers */
+
+/* sensors drivers */
+
+/* end of sensors drivers */
+
+/* touch drivers */
+
+/* end of touch drivers */
+/* end of peripheral libraries and drivers */
+
+/* AI packages */
+
+/* end of AI packages */
+
+/* Signal Processing and Control Algorithm Packages */
+
+/* end of Signal Processing and Control Algorithm Packages */
+
+/* miscellaneous packages */
+
+/* project laboratory */
+
+/* end of project laboratory */
+
+/* samples: kernel and components samples */
+
+#define PKG_USING_KERNEL_SAMPLES
+#define PKG_USING_KERNEL_SAMPLES_LATEST_VERSION
+#define PKG_USING_KERNEL_SAMPLES_EN
+/* end of samples: kernel and components samples */
+
+/* entertainment: terminal games and other interesting software packages */
+
+/* end of entertainment: terminal games and other interesting software packages */
+/* end of miscellaneous packages */
+
+/* Arduino libraries */
+
+
+/* Projects and Demos */
+
+/* end of Projects and Demos */
+
+/* Sensors */
+
+/* end of Sensors */
+
+/* Display */
+
+/* end of Display */
+
+/* Timing */
+
+/* end of Timing */
+
+/* Data Processing */
+
+/* end of Data Processing */
+
+/* Data Storage */
+
+/* Communication */
+
+/* end of Communication */
+
+/* Device Control */
+
+/* end of Device Control */
+
+/* Other */
+
+/* end of Other */
+
+/* Signal IO */
+
+/* end of Signal IO */
+
+/* Uncategorized */
+
+/* end of Arduino libraries */
+/* end of RT-Thread online packages */
+
+/* Hardware Drivers */
+
+
+/* On-chip Peripheral Drivers */
+
+#define BSP_USING_IOPAD
+#define BSP_USING_UART
+#define RT_USING_UART0
+#define RT_USING_UART1
+#define BSP_USING_SPI
+#define RT_USING_SPIM2
+#define BSP_USING_CAN
+#define RT_USING_CANFD
+#define RT_USING_CAN0
+#define RT_USING_CAN1
+#define BSP_USING_GPIO
+#define BSP_USING_QSPI
+#define RT_USING_QSPI0
+#define USING_QSPI_CHANNEL0
+#define BSP_USING_ETH
+#define BSP_USING_PWM
+#define BSP_USING_I2C
+#define I2C_USE_MIO
+#define RT_USING_MIO15
+#define BSP_USING_SDIF
+#define BSP_USING_SDCARD_FATFS
+#define USING_SDIF0
+#define USE_SDIF0_EMMC
+#define USING_SDIF1
+#define USE_SDIF1_TF
+#define BSP_USING_DC
+#define RT_USING_DC_CHANNEL0
+#define RT_USING_DC_CHANNEL1
+/* end of On-chip Peripheral Drivers */
+
+/* Board extended module Drivers */
+
+/* end of Hardware Drivers */
+#define BSP_USING_GIC
+#define BSP_USING_GICV3
+#define PHYTIUM_ARCH_AARCH64
+#define ARM_SPI_BIND_CPU_ID 0
+
+/* Standalone Setting */
+
+#define TARGET_ARMV8_AARCH64
+
+/* Soc configuration */
+
+#define TARGET_E2000D
+#define SOC_NAME "e2000"
+#define TARGET_TYPE_NAME "d"
+#define SOC_CORE_NUM 2
+#define F32BIT_MEMORY_ADDRESS 0x80000000
+#define F32BIT_MEMORY_LENGTH 0x80000000
+#define F64BIT_MEMORY_ADDRESS 0x2000000000
+#define F64BIT_MEMORY_LENGTH 0x800000000
+#define TARGET_E2000
+#define DEFAULT_DEBUG_PRINT_UART1
+/* end of Soc configuration */
+
+/* Board Configuration */
+
+#define E2000D_DEMO_BOARD
+#define BOARD_NAME "demo"
+
+/* IO mux configuration when board start up */
+
+/* end of IO mux configuration when board start up */
+/* end of Board Configuration */
+
+/* Sdk common configuration */
+
+#define ELOG_LINE_BUF_SIZE 0x100
+#define LOG_DEBUG
+/* end of Sdk common configuration */
+/* end of Standalone Setting */
+
+#endif

+ 168 - 30
bsp/phytium/aarch64/configs/e2000q_demo_rtsmart

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 CONFIG_RT_USING_CPU_USAGE_TRACER=y
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 CONFIG_RT_DEBUGING_CRITICAL=y
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +175,7 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -88,7 +195,6 @@ CONFIG_RT_USING_DEVICE=y
 CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_THREADSAFE_PRINTF=y
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -119,6 +225,8 @@ CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_KERNEL_VADDR_START=0xffff000000000000
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -182,6 +290,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 CONFIG_RT_USING_DFS_PTYFS=y
+# CONFIG_RT_USING_DFS_PROCFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 # CONFIG_RT_USING_DFS_MQUEUE is not set
@@ -216,6 +325,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+CONFIG_RT_USING_SERIAL_BYPASS=y
 CONFIG_RT_USING_CAN=y
 CONFIG_RT_CAN_USING_HDR=y
 CONFIG_RT_CAN_USING_CANFD=y
@@ -226,6 +336,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -247,20 +358,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -409,6 +533,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 CONFIG_RT_LWIP_DEBUG=y
 # CONFIG_RT_LWIP_SYS_DEBUG is not set
 # CONFIG_RT_LWIP_ETHARP_DEBUG is not set
@@ -467,12 +592,29 @@ CONFIG_RT_USING_ADT_REF=y
 # end of Utilities
 
 # CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 CONFIG_RT_USING_LWP=y
 # CONFIG_LWP_DEBUG is not set
+CONFIG_LWP_USING_RUNTIME=y
 CONFIG_RT_LWP_MAX_NR=30
 CONFIG_LWP_TASK_STACK_SIZE=16384
 CONFIG_RT_CH_MSG_MAX_NR=1024
-CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_RT_LWP_SHM_MAX_NR=64
 CONFIG_RT_USING_LDSO=y
@@ -482,12 +624,6 @@ CONFIG_LWP_USING_TERMINAL=y
 CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 CONFIG_RT_USING_VDSO=y
 
-#
-# Memory management
-#
-# CONFIG_RT_USING_MEMBLOCK is not set
-# end of Memory management
-
 #
 # Using USB legacy version
 #
@@ -1408,6 +1544,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1434,10 +1571,10 @@ CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
 # CONFIG_RT_USING_PWM2 is not set
-# CONFIG_RT_USING_PWM3 is not set
+CONFIG_RT_USING_PWM3=y
 # CONFIG_RT_USING_PWM4 is not set
 # CONFIG_RT_USING_PWM5 is not set
-CONFIG_RT_USING_PWM6=y
+# CONFIG_RT_USING_PWM6 is not set
 # CONFIG_RT_USING_PWM7 is not set
 CONFIG_BSP_USING_I2C=y
 CONFIG_I2C_USE_MIO=y
@@ -1466,9 +1603,8 @@ CONFIG_USE_SDIF0_EMMC=y
 CONFIG_USING_SDIF1=y
 CONFIG_USE_SDIF1_TF=y
 # CONFIG_USE_SDIF1_EMMC is not set
-CONFIG_BSP_USING_DC=y
-CONFIG_RT_USING_DC_CHANNEL0=y
-CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_DC is not set
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1496,6 +1632,8 @@ CONFIG_TARGET_E2000Q=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="q"
 CONFIG_SOC_CORE_NUM=4

+ 99 - 19
bsp/phytium/aarch64/configs/e2000q_demo_rtsmart.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMART
 #define RT_USING_SMP
@@ -11,6 +80,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -22,20 +92,14 @@
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 #define RT_USING_CPU_USAGE_TRACER
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
 #define RT_DEBUGING_CRITICAL
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -48,7 +112,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -59,7 +123,6 @@
 #define RT_USING_DEVICE
 #define RT_USING_DEVICE_OPS
 #define RT_USING_THREADSAFE_PRINTF
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -87,6 +150,8 @@
 #define ARCH_ARM_MMU
 #define KERNEL_VADDR_START 0xffff000000000000
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -159,6 +224,7 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 64
+#define RT_USING_SERIAL_BYPASS
 #define RT_USING_CAN
 #define RT_CAN_USING_HDR
 #define RT_CAN_USING_CANFD
@@ -177,6 +243,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -296,11 +373,21 @@
 #define RT_USING_ADT_HASHMAP
 #define RT_USING_ADT_REF
 /* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
 #define RT_USING_LWP
+#define LWP_USING_RUNTIME
 #define RT_LWP_MAX_NR 30
 #define LWP_TASK_STACK_SIZE 16384
 #define RT_CH_MSG_MAX_NR 1024
-#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024
 #define LWP_TID_MAX_NR 64
 #define RT_LWP_SHM_MAX_NR 64
 #define RT_USING_LDSO
@@ -308,10 +395,6 @@
 #define LWP_PTY_MAX_PARIS_LIMIT 64
 #define RT_USING_VDSO
 
-/* Memory management */
-
-/* end of Memory management */
-
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -518,7 +601,7 @@
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
 #define BSP_USING_PWM
-#define RT_USING_PWM6
+#define RT_USING_PWM3
 #define BSP_USING_I2C
 #define I2C_USE_MIO
 #define RT_USING_MIO15
@@ -528,9 +611,6 @@
 #define USE_SDIF0_EMMC
 #define USING_SDIF1
 #define USE_SDIF1_TF
-#define BSP_USING_DC
-#define RT_USING_DC_CHANNEL0
-#define RT_USING_DC_CHANNEL1
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 170 - 28
bsp/phytium/aarch64/configs/e2000q_demo_rtthread

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 # CONFIG_RT_DEBUGING_CONTEXT is not set
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,8 +175,7 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
-# CONFIG_RT_USING_MEMPOOL is not set
+CONFIG_RT_USING_MEMPOOL=y
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
 CONFIG_RT_USING_MEMHEAP=y
@@ -85,10 +192,9 @@ CONFIG_RT_USING_HEAP=y
 # end of Memory Management
 
 CONFIG_RT_USING_DEVICE=y
-# CONFIG_RT_USING_DEVICE_OPS is not set
+CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -150,12 +258,9 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
 CONFIG_RT_USING_DFS=y
 CONFIG_DFS_USING_POSIX=y
 CONFIG_DFS_USING_WORKDIR=y
-# CONFIG_RT_USING_DFS_MNTTABLE is not set
 CONFIG_DFS_FD_MAX=16
-CONFIG_RT_USING_DFS_V1=y
-# CONFIG_RT_USING_DFS_V2 is not set
-CONFIG_DFS_FILESYSTEMS_MAX=4
-CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
+# CONFIG_RT_USING_DFS_V1 is not set
+CONFIG_RT_USING_DFS_V2=y
 CONFIG_RT_USING_DFS_ELMFAT=y
 
 #
@@ -185,10 +290,8 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
-CONFIG_RT_USING_DFS_RAMFS=y
 # CONFIG_RT_USING_DFS_TMPFS is not set
 # CONFIG_RT_USING_DFS_MQUEUE is not set
-# CONFIG_RT_USING_DFS_NFS is not set
 # end of DFS: device virtual file system
 
 # CONFIG_RT_USING_FAL is not set
@@ -208,6 +311,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 CONFIG_RT_CAN_USING_HDR=y
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +322,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,20 +344,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -398,6 +516,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -429,6 +548,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1349,6 +1484,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1374,11 +1510,11 @@ CONFIG_BSP_USING_ETH=y
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
-# CONFIG_RT_USING_PWM2 is not set
+CONFIG_RT_USING_PWM2=y
 # CONFIG_RT_USING_PWM3 is not set
 # CONFIG_RT_USING_PWM4 is not set
 # CONFIG_RT_USING_PWM5 is not set
-CONFIG_RT_USING_PWM6=y
+# CONFIG_RT_USING_PWM6 is not set
 # CONFIG_RT_USING_PWM7 is not set
 CONFIG_BSP_USING_I2C=y
 CONFIG_I2C_USE_MIO=y
@@ -1410,6 +1546,10 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+CONFIG_BSP_USING_I2S=y
+CONFIG_RT_I2S_SAMPLERATE=8000
+CONFIG_RT_I2S_SAMPLEBITS=16
+CONFIG_RT_USING_I2S0=y
 # end of On-chip Peripheral Drivers
 
 #
@@ -1437,6 +1577,8 @@ CONFIG_TARGET_E2000Q=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="e2000"
 CONFIG_TARGET_TYPE_NAME="q"
 CONFIG_SOC_CORE_NUM=4

+ 103 - 15
bsp/phytium/aarch64/configs/e2000q_demo_rtthread.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +79,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +90,12 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -44,7 +108,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -53,7 +117,7 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
+#define RT_USING_DEVICE_OPS
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -79,6 +143,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -107,9 +173,7 @@
 #define DFS_USING_POSIX
 #define DFS_USING_WORKDIR
 #define DFS_FD_MAX 16
-#define RT_USING_DFS_V1
-#define DFS_FILESYSTEMS_MAX 4
-#define DFS_FILESYSTEM_TYPES_MAX 4
+#define RT_USING_DFS_V2
 #define RT_USING_DFS_ELMFAT
 
 /* elm-chan's FatFs, Generic FAT Filesystem Module */
@@ -127,7 +191,6 @@
 #define RT_DFS_ELM_MUTEX_TIMEOUT 3000
 /* end of elm-chan's FatFs, Generic FAT Filesystem Module */
 #define RT_USING_DFS_DEVFS
-#define RT_USING_DFS_RAMFS
 /* end of DFS: device virtual file system */
 
 /* Device Drivers */
@@ -160,6 +223,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -274,6 +348,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -480,7 +564,7 @@
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
 #define BSP_USING_PWM
-#define RT_USING_PWM6
+#define RT_USING_PWM2
 #define BSP_USING_I2C
 #define I2C_USE_MIO
 #define RT_USING_MIO15
@@ -493,6 +577,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 161 - 26
bsp/phytium/aarch64/configs/phytium_pi_rtsmart

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_SMART=y
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 CONFIG_RT_USING_CPU_USAGE_TRACER=y
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 CONFIG_RT_DEBUGING_CRITICAL=y
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +175,6 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +195,6 @@ CONFIG_RT_USING_DEVICE=y
 CONFIG_RT_USING_DEVICE_OPS=y
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_THREADSAFE_PRINTF=y
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -119,6 +225,8 @@ CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_KERNEL_VADDR_START=0xffff000000000000
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -182,6 +290,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
 CONFIG_RT_USING_DFS_PTYFS=y
+# CONFIG_RT_USING_DFS_PROCFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 # CONFIG_RT_USING_DFS_MQUEUE is not set
@@ -216,6 +325,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+CONFIG_RT_USING_SERIAL_BYPASS=y
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -226,6 +336,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -247,8 +358,9 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
@@ -261,6 +373,15 @@ CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -409,6 +530,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -439,12 +561,29 @@ CONFIG_RT_USING_ADT_REF=y
 # end of Utilities
 
 # CONFIG_RT_USING_VBUS is not set
+
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 CONFIG_RT_USING_LWP=y
 # CONFIG_LWP_DEBUG is not set
+CONFIG_LWP_USING_RUNTIME=y
 CONFIG_RT_LWP_MAX_NR=30
 CONFIG_LWP_TASK_STACK_SIZE=16384
 CONFIG_RT_CH_MSG_MAX_NR=1024
-CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_RT_LWP_SHM_MAX_NR=64
 CONFIG_RT_USING_LDSO=y
@@ -454,12 +593,6 @@ CONFIG_LWP_USING_TERMINAL=y
 CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 CONFIG_RT_USING_VDSO=y
 
-#
-# Memory management
-#
-# CONFIG_RT_USING_MEMBLOCK is not set
-# end of Memory management
-
 #
 # Using USB legacy version
 #
@@ -1380,6 +1513,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1432,9 +1566,8 @@ CONFIG_USING_SDIF0=y
 CONFIG_USE_SDIF0_TF=y
 # CONFIG_USE_SDIF0_EMMC is not set
 # CONFIG_USING_SDIF1 is not set
-CONFIG_BSP_USING_DC=y
-CONFIG_RT_USING_DC_CHANNEL0=y
-CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_DC is not set
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1462,6 +1595,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000

+ 93 - 18
bsp/phytium/aarch64/configs/phytium_pi_rtsmart.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMART
 #define RT_USING_SMP
@@ -11,6 +80,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -22,20 +92,14 @@
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 #define RT_USING_CPU_USAGE_TRACER
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
 #define RT_DEBUGING_CRITICAL
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -48,7 +112,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -59,7 +122,6 @@
 #define RT_USING_DEVICE
 #define RT_USING_DEVICE_OPS
 #define RT_USING_THREADSAFE_PRINTF
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -87,6 +149,8 @@
 #define ARCH_ARM_MMU
 #define KERNEL_VADDR_START 0xffff000000000000
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -159,6 +223,7 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 64
+#define RT_USING_SERIAL_BYPASS
 #define RT_USING_CAN
 #define RT_CAN_USING_CANFD
 #define RT_USING_I2C
@@ -176,6 +241,13 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
@@ -293,11 +365,21 @@
 #define RT_USING_ADT_HASHMAP
 #define RT_USING_ADT_REF
 /* end of Utilities */
+
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
 #define RT_USING_LWP
+#define LWP_USING_RUNTIME
 #define RT_LWP_MAX_NR 30
 #define LWP_TASK_STACK_SIZE 16384
 #define RT_CH_MSG_MAX_NR 1024
-#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024
 #define LWP_TID_MAX_NR 64
 #define RT_LWP_SHM_MAX_NR 64
 #define RT_USING_LDSO
@@ -305,10 +387,6 @@
 #define LWP_PTY_MAX_PARIS_LIMIT 64
 #define RT_USING_VDSO
 
-/* Memory management */
-
-/* end of Memory management */
-
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -522,9 +600,6 @@
 #define BSP_USING_SDCARD_FATFS
 #define USING_SDIF0
 #define USE_SDIF0_TF
-#define BSP_USING_DC
-#define RT_USING_DC_CHANNEL0
-#define RT_USING_DC_CHANNEL1
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */

+ 163 - 51
bsp/phytium/aarch64/configs/phytium_pi_rtthread

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +175,6 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +195,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -183,6 +291,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -208,6 +317,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +328,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,61 +350,41 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
 # CONFIG_RT_USING_HWTIMER is not set
 CONFIG_RT_USING_CHERRYUSB=y
 # CONFIG_RT_CHERRYUSB_DEVICE is not set
-CONFIG_RT_CHERRYUSB_HOST=y
-# CONFIG_RT_CHERRYUSB_HOST_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
-# CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_BK is not set
-# CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
-# CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
-CONFIG_RT_CHERRYUSB_HOST_XHCI=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
-CONFIG_RT_CHERRYUSB_HOST_HID=y
-CONFIG_RT_CHERRYUSB_HOST_MSC=y
-# CONFIG_RT_CHERRYUSB_HOST_CDC_ECM is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_RNDIS is not set
-# CONFIG_RT_CHERRYUSB_HOST_CDC_NCM is not set
-# CONFIG_RT_CHERRYUSB_HOST_VIDEO is not set
-# CONFIG_RT_CHERRYUSB_HOST_AUDIO is not set
-# CONFIG_RT_CHERRYUSB_HOST_BLUETOOTH is not set
-# CONFIG_RT_CHERRYUSB_HOST_ASIX is not set
-# CONFIG_RT_CHERRYUSB_HOST_RTL8152 is not set
-# CONFIG_RT_CHERRYUSB_HOST_FTDI is not set
-# CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
-# CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
-# CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
+# CONFIG_RT_CHERRYUSB_HOST is not set
 CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
-# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -433,6 +524,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -464,6 +556,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -1384,6 +1492,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1439,6 +1548,7 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1466,6 +1576,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000

+ 95 - 14
bsp/phytium/aarch64/configs/phytium_pi_rtthread.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +79,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,19 +90,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +109,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +117,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -80,6 +142,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -160,13 +224,20 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
-#define RT_CHERRYUSB_HOST
-#define RT_CHERRYUSB_HOST_XHCI
-#define RT_CHERRYUSB_HOST_HID
-#define RT_CHERRYUSB_HOST_MSC
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
@@ -279,6 +350,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */

+ 175 - 44
bsp/phytium/aarch64/configs/phytium_pi_rtthread_pusb2_hc

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +175,6 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,7 +195,6 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -183,6 +291,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -208,6 +317,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +328,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,20 +350,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -264,11 +388,13 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
@@ -276,6 +402,8 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
 CONFIG_RT_CHERRYUSB_HOST_PUSB2=y
 # CONFIG_RT_CHERRYUSB_HOST_XHCI is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_HOST_HID=y
 CONFIG_RT_CHERRYUSB_HOST_MSC=y
@@ -291,7 +419,8 @@ CONFIG_RT_CHERRYUSB_HOST_MSC=y
 # CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
 # CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
 # CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
-# CONFIG_CHERRYUSB_HOST_TEMPLATE is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
+# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -431,6 +560,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -462,6 +592,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -630,7 +776,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_JSMN is not set
 # CONFIG_PKG_USING_AGILE_JSMN is not set
 # CONFIG_PKG_USING_PARSON is not set
-# CONFIG_PKG_USING_RYAN_JSON is not set
 # end of JSON: JavaScript Object Notation, a lightweight data-interchange format
 
 #
@@ -749,8 +894,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
 # end of enhanced kernel services
 
-# CONFIG_PKG_USING_AUNITY is not set
-
 #
 # acceleration: Assembly language or algorithmic acceleration packages
 #
@@ -841,29 +984,12 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # STM32 HAL & SDK Drivers
 #
-# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # end of STM32 HAL & SDK Drivers
 
-#
-# Infineon HAL Packages
-#
-# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
-# CONFIG_PKG_USING_INFINEON_CMSIS is not set
-# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
-# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
-# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
-# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
-# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
-# CONFIG_PKG_USING_INFINEON_USBDEV is not set
-# end of Infineon HAL Packages
-
 # CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_ESP_IDF is not set
@@ -1036,7 +1162,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
 # CONFIG_PKG_USING_BT_MX01 is not set
 # CONFIG_PKG_USING_RGPOWER is not set
-# CONFIG_PKG_USING_BT_MX02 is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 # end of peripheral libraries and drivers
 
@@ -1059,7 +1184,6 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # Signal Processing and Control Algorithm Packages
 #
-# CONFIG_PKG_USING_APID is not set
 # CONFIG_PKG_USING_FIRE_PID_CURVE is not set
 # CONFIG_PKG_USING_QPID is not set
 # CONFIG_PKG_USING_UKAL is not set
@@ -1404,6 +1528,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1415,14 +1540,17 @@ CONFIG_RT_USING_SPIM0=y
 # CONFIG_RT_USING_SPIM1 is not set
 # CONFIG_RT_USING_SPIM2 is not set
 # CONFIG_RT_USING_SPIM3 is not set
-# CONFIG_BSP_USING_CAN is not set
+CONFIG_BSP_USING_CAN=y
+# CONFIG_RT_USING_CANFD is not set
+# CONFIG_RT_USING_FILTER is not set
+CONFIG_RT_USING_CAN0=y
+CONFIG_RT_USING_CAN1=y
 CONFIG_BSP_USING_GPIO=y
 CONFIG_BSP_USING_QSPI=y
 CONFIG_RT_USING_QSPI0=y
 CONFIG_USING_QSPI_CHANNEL0=y
 # CONFIG_USING_QSPI_CHANNEL1 is not set
 CONFIG_BSP_USING_ETH=y
-CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
@@ -1460,6 +1588,7 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1487,6 +1616,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000

+ 99 - 15
bsp/phytium/aarch64/configs/phytium_pi_rtthread_pusb2_hc.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +79,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,19 +90,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +109,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,7 +117,6 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -81,6 +143,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -161,6 +225,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -168,6 +243,7 @@
 #define RT_CHERRYUSB_HOST_PUSB2
 #define RT_CHERRYUSB_HOST_HID
 #define RT_CHERRYUSB_HOST_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
 /* C/C++ and POSIX layer */
@@ -279,6 +355,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -378,10 +464,6 @@
 
 /* end of STM32 HAL & SDK Drivers */
 
-/* Infineon HAL Packages */
-
-/* end of Infineon HAL Packages */
-
 /* Kendryte SDK */
 
 /* end of Kendryte SDK */
@@ -479,12 +561,14 @@
 #define RT_USING_UART1
 #define BSP_USING_SPI
 #define RT_USING_SPIM0
+#define BSP_USING_CAN
+#define RT_USING_CAN0
+#define RT_USING_CAN1
 #define BSP_USING_GPIO
 #define BSP_USING_QSPI
 #define RT_USING_QSPI0
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
-#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 #define BSP_USING_PWM
 #define BSP_USING_I2C
 #define I2C_USE_MIO

+ 176 - 45
bsp/phytium/aarch64/configs/phytium_pi_rtthread_xhci

@@ -2,10 +2,126 @@
 #
 # RT-Thread Kernel
 #
+
+#
+# klibc options
+#
+
+#
+# rt_vsnprintf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y
+CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y
+# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set
+CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32
+CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6
+CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9
+CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
+# end of rt_vsnprintf options
+
+#
+# rt_vsscanf options
+#
+# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set
+# end of rt_vsscanf options
+
+#
+# rt_memset options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set
+# end of rt_memset options
+
+#
+# rt_memcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set
+# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set
+# end of rt_memcpy options
+
+#
+# rt_memmove options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set
+# end of rt_memmove options
+
+#
+# rt_memcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set
+# end of rt_memcmp options
+
+#
+# rt_strstr options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set
+# end of rt_strstr options
+
+#
+# rt_strcasecmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set
+# end of rt_strcasecmp options
+
+#
+# rt_strncpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set
+# end of rt_strncpy options
+
+#
+# rt_strcpy options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set
+# end of rt_strcpy options
+
+#
+# rt_strncmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set
+# end of rt_strncmp options
+
+#
+# rt_strcmp options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set
+# end of rt_strcmp options
+
+#
+# rt_strlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set
+# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set
+# end of rt_strlen options
+
+#
+# rt_strnlen options
+#
+# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set
+# end of rt_strnlen options
+
+# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
+# end of klibc options
+
 CONFIG_RT_NAME_MAX=16
 # CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_NANO is not set
+# CONFIG_RT_USING_SMART is not set
 # CONFIG_RT_USING_AMP is not set
 CONFIG_RT_USING_SMP=y
 CONFIG_RT_CPUS_NR=4
@@ -15,6 +131,7 @@ CONFIG_RT_THREAD_PRIORITY_32=y
 # CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_USING_HOOK=y
 CONFIG_RT_HOOK_USING_FUNC_PTR=y
 # CONFIG_RT_USING_HOOKLIST is not set
@@ -29,28 +146,19 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
 # CONFIG_RT_USING_CPU_USAGE_TRACER is not set
 
 #
-# kservice optimization
+# kservice options
 #
 # CONFIG_RT_USING_TINY_FFS is not set
-# end of kservice optimization
-
-#
-# klibc optimization
-#
-# CONFIG_RT_KLIBC_USING_STDLIB is not set
-# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
-CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG=y
-# end of klibc optimization
+# end of kservice options
 
 CONFIG_RT_USING_DEBUG=y
 CONFIG_RT_DEBUGING_ASSERT=y
 CONFIG_RT_DEBUGING_COLOR=y
 CONFIG_RT_DEBUGING_CONTEXT=y
 # CONFIG_RT_DEBUGING_AUTO_INIT is not set
-# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
 # CONFIG_RT_DEBUGING_SPINLOCK is not set
 # CONFIG_RT_DEBUGING_CRITICAL is not set
-CONFIG_RT_USING_OVERFLOW_CHECK=y
+# CONFIG_RT_USING_CI_ACTION is not set
 
 #
 # Inter-Thread communication
@@ -67,7 +175,6 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 #
 # Memory Management
 #
-CONFIG_RT_PAGE_MAX_ORDER=16
 # CONFIG_RT_USING_MEMPOOL is not set
 # CONFIG_RT_USING_SMALL_MEM is not set
 CONFIG_RT_USING_SLAB=y
@@ -88,12 +195,11 @@ CONFIG_RT_USING_DEVICE=y
 # CONFIG_RT_USING_DEVICE_OPS is not set
 # CONFIG_RT_USING_INTERRUPT_INFO is not set
 # CONFIG_RT_USING_THREADSAFE_PRINTF is not set
-CONFIG_RT_USING_SCHED_THREAD_CTX=y
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
 CONFIG_RT_VER_NUM=0x50200
-CONFIG_RT_USING_STDC_ATOMIC=y
+# CONFIG_RT_USING_STDC_ATOMIC is not set
 CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
 # end of RT-Thread Kernel
 
@@ -118,6 +224,8 @@ CONFIG_ARCH_MM_MMU=y
 CONFIG_ARCH_ARM=y
 CONFIG_ARCH_ARM_MMU=y
 CONFIG_ARCH_ARMV8=y
+CONFIG_ARCH_USING_ASID=y
+CONFIG_ARCH_USING_IRQ_CTX_LIST=y
 
 #
 # RT-Thread Components
@@ -183,6 +291,7 @@ CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
 # end of elm-chan's FatFs, Generic FAT Filesystem Module
 
 CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ISO9660 is not set
 # CONFIG_RT_USING_DFS_ROMFS is not set
 # CONFIG_RT_USING_DFS_CROMFS is not set
 CONFIG_RT_USING_DFS_RAMFS=y
@@ -208,6 +317,7 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
+# CONFIG_RT_USING_SERIAL_BYPASS is not set
 CONFIG_RT_USING_CAN=y
 # CONFIG_RT_CAN_USING_HDR is not set
 CONFIG_RT_CAN_USING_CANFD=y
@@ -218,6 +328,7 @@ CONFIG_RT_USING_I2C_BITOPS=y
 # CONFIG_RT_I2C_BITOPS_DEBUG is not set
 # CONFIG_RT_USING_SOFT_I2C is not set
 # CONFIG_RT_USING_PHY is not set
+# CONFIG_RT_USING_PHY_V2 is not set
 # CONFIG_RT_USING_ADC is not set
 # CONFIG_RT_USING_DAC is not set
 CONFIG_RT_USING_NULL=y
@@ -239,20 +350,33 @@ CONFIG_RT_MMCSD_STACK_SIZE=8192
 CONFIG_RT_MMCSD_THREAD_PRIORITY=22
 CONFIG_RT_MMCSD_MAX_PARTITION=16
 # CONFIG_RT_SDIO_DEBUG is not set
+# CONFIG_RT_USING_SDHCI is not set
 CONFIG_RT_USING_SPI=y
-# CONFIG_RT_USING_SPI_BITOPS is not set
+# CONFIG_RT_USING_SOFT_SPI is not set
 CONFIG_RT_USING_QSPI=y
 # CONFIG_RT_USING_SPI_MSD is not set
 # CONFIG_RT_USING_SFUD is not set
 # CONFIG_RT_USING_ENC28J60 is not set
 # CONFIG_RT_USING_SPI_WIFI is not set
 # CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
+CONFIG_RT_USING_AUDIO=y
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_SIZE=4096
+CONFIG_RT_AUDIO_REPLAY_MP_BLOCK_COUNT=2
+CONFIG_RT_AUDIO_RECORD_PIPE_SIZE=2048
 # CONFIG_RT_USING_SENSOR is not set
 # CONFIG_RT_USING_TOUCH is not set
 # CONFIG_RT_USING_LCD is not set
 # CONFIG_RT_USING_HWCRYPTO is not set
 # CONFIG_RT_USING_WIFI is not set
+CONFIG_RT_USING_BLK=y
+
+#
+# Partition Types
+#
+CONFIG_RT_BLK_PARTITION_DFS=y
+CONFIG_RT_BLK_PARTITION_EFI=y
+# end of Partition Types
+
 # CONFIG_RT_USING_VIRTIO is not set
 CONFIG_RT_USING_PIN=y
 CONFIG_RT_USING_KTIME=y
@@ -264,11 +388,13 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_BL is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_HPM is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_AIC is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_NUC980 is not set
-# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_NUC980 is not set
+# CONFIG_RT_CHERRYUSB_HOST_EHCI_MA35D0 is not set
 # CONFIG_RT_CHERRYUSB_HOST_EHCI_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ST is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_ESP is not set
+# CONFIG_RT_CHERRYUSB_HOST_DWC2_KENDRYTE is not set
 # CONFIG_RT_CHERRYUSB_HOST_DWC2_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_ES is not set
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_SUNXI is not set
@@ -276,6 +402,8 @@ CONFIG_RT_CHERRYUSB_HOST=y
 # CONFIG_RT_CHERRYUSB_HOST_MUSB_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_PUSB2 is not set
 CONFIG_RT_CHERRYUSB_HOST_XHCI=y
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_MCX is not set
+# CONFIG_RT_CHERRYUSB_HOST_KINETIS_CUSTOM is not set
 # CONFIG_RT_CHERRYUSB_HOST_CDC_ACM is not set
 CONFIG_RT_CHERRYUSB_HOST_HID=y
 CONFIG_RT_CHERRYUSB_HOST_MSC=y
@@ -291,7 +419,8 @@ CONFIG_RT_CHERRYUSB_HOST_MSC=y
 # CONFIG_RT_CHERRYUSB_HOST_CH34X is not set
 # CONFIG_RT_CHERRYUSB_HOST_CP210X is not set
 # CONFIG_RT_CHERRYUSB_HOST_PL2303 is not set
-# CONFIG_CHERRYUSB_HOST_TEMPLATE is not set
+CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
+# CONFIG_RT_CHERRYUSB_HOST_TEMPLATE is not set
 # end of Device Drivers
 
 #
@@ -431,6 +560,7 @@ CONFIG_LWIP_NETIF_LOOPBACK=0
 # CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
 CONFIG_RT_LWIP_USING_PING=y
 # CONFIG_LWIP_USING_DHCPD is not set
+# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set
 # CONFIG_RT_LWIP_DEBUG is not set
 # CONFIG_RT_USING_AT is not set
 # end of Network
@@ -462,6 +592,22 @@ CONFIG_RT_USING_ADT_REF=y
 
 # CONFIG_RT_USING_VBUS is not set
 
+#
+# Memory management
+#
+CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000
+CONFIG_RT_PAGE_MAX_ORDER=16
+# CONFIG_RT_USING_MEMBLOCK is not set
+
+#
+# Debugging
+#
+# CONFIG_RT_DEBUGGING_ALIASING is not set
+# CONFIG_RT_DEBUGING_PAGE_LEAK is not set
+# CONFIG_RT_DEBUGGING_PAGE_POISON is not set
+# end of Debugging
+# end of Memory management
+
 #
 # Using USB legacy version
 #
@@ -630,7 +776,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_JSMN is not set
 # CONFIG_PKG_USING_AGILE_JSMN is not set
 # CONFIG_PKG_USING_PARSON is not set
-# CONFIG_PKG_USING_RYAN_JSON is not set
 # end of JSON: JavaScript Object Notation, a lightweight data-interchange format
 
 #
@@ -749,8 +894,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
 # end of enhanced kernel services
 
-# CONFIG_PKG_USING_AUNITY is not set
-
 #
 # acceleration: Assembly language or algorithmic acceleration packages
 #
@@ -841,29 +984,12 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # STM32 HAL & SDK Drivers
 #
-# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
 # CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
 # CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_STM32_SDIO is not set
 # end of STM32 HAL & SDK Drivers
 
-#
-# Infineon HAL Packages
-#
-# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
-# CONFIG_PKG_USING_INFINEON_CMSIS is not set
-# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
-# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
-# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
-# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
-# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
-# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
-# CONFIG_PKG_USING_INFINEON_USBDEV is not set
-# end of Infineon HAL Packages
-
 # CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_ESP_IDF is not set
@@ -1036,7 +1162,6 @@ CONFIG_RT_USING_ADT_REF=y
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
 # CONFIG_PKG_USING_BT_MX01 is not set
 # CONFIG_PKG_USING_RGPOWER is not set
-# CONFIG_PKG_USING_BT_MX02 is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 # end of peripheral libraries and drivers
 
@@ -1059,7 +1184,6 @@ CONFIG_RT_USING_ADT_REF=y
 #
 # Signal Processing and Control Algorithm Packages
 #
-# CONFIG_PKG_USING_APID is not set
 # CONFIG_PKG_USING_FIRE_PID_CURVE is not set
 # CONFIG_PKG_USING_QPID is not set
 # CONFIG_PKG_USING_UKAL is not set
@@ -1404,6 +1528,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
 #
 # On-chip Peripheral Drivers
 #
+# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
 CONFIG_BSP_USING_IOPAD=y
 CONFIG_BSP_USING_UART=y
 CONFIG_RT_USING_UART0=y
@@ -1415,14 +1540,17 @@ CONFIG_RT_USING_SPIM0=y
 # CONFIG_RT_USING_SPIM1 is not set
 # CONFIG_RT_USING_SPIM2 is not set
 # CONFIG_RT_USING_SPIM3 is not set
-# CONFIG_BSP_USING_CAN is not set
+CONFIG_BSP_USING_CAN=y
+CONFIG_RT_USING_CANFD=y
+# CONFIG_RT_USING_FILTER is not set
+CONFIG_RT_USING_CAN0=y
+CONFIG_RT_USING_CAN1=y
 CONFIG_BSP_USING_GPIO=y
 CONFIG_BSP_USING_QSPI=y
 CONFIG_RT_USING_QSPI0=y
 CONFIG_USING_QSPI_CHANNEL0=y
 # CONFIG_USING_QSPI_CHANNEL1 is not set
 CONFIG_BSP_USING_ETH=y
-CONFIG_RT_LWIP_PBUF_POOL_BUFSIZE=1700
 CONFIG_BSP_USING_PWM=y
 # CONFIG_RT_USING_PWM0 is not set
 # CONFIG_RT_USING_PWM1 is not set
@@ -1460,6 +1588,7 @@ CONFIG_USE_SDIF1_TF=y
 CONFIG_BSP_USING_DC=y
 CONFIG_RT_USING_DC_CHANNEL0=y
 CONFIG_RT_USING_DC_CHANNEL1=y
+# CONFIG_BSP_USING_I2S is not set
 # end of On-chip Peripheral Drivers
 
 #
@@ -1487,6 +1616,8 @@ CONFIG_TARGET_PHYTIUMPI=y
 # CONFIG_TARGET_FT2004 is not set
 # CONFIG_TARGET_D2000 is not set
 # CONFIG_TARGET_PD2308 is not set
+# CONFIG_TARGET_PS2316 is not set
+# CONFIG_TARGET_QEMU_VIRT is not set
 CONFIG_SOC_NAME="phytiumpi"
 CONFIG_SOC_CORE_NUM=4
 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000

+ 100 - 16
bsp/phytium/aarch64/configs/phytium_pi_rtthread_xhci.h

@@ -3,6 +3,75 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
 #define RT_CPUS_NR 4
@@ -10,6 +79,7 @@
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,19 +90,13 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
-
-/* end of kservice optimization */
-
-/* klibc optimization */
+/* kservice options */
 
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
 #define RT_DEBUGING_CONTEXT
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -45,7 +109,6 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -54,12 +117,10 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
 #define RT_VER_NUM 0x50200
-#define RT_USING_STDC_ATOMIC
 #define RT_BACKTRACE_LEVEL_MAX_NR 32
 /* end of RT-Thread Kernel */
 
@@ -81,6 +142,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -161,6 +224,17 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
+#define RT_USING_BLK
+
+/* Partition Types */
+
+#define RT_BLK_PARTITION_DFS
+#define RT_BLK_PARTITION_EFI
+/* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
 #define RT_USING_CHERRYUSB
@@ -168,6 +242,7 @@
 #define RT_CHERRYUSB_HOST_XHCI
 #define RT_CHERRYUSB_HOST_HID
 #define RT_CHERRYUSB_HOST_MSC
+#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
 /* C/C++ and POSIX layer */
@@ -279,6 +354,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -378,10 +463,6 @@
 
 /* end of STM32 HAL & SDK Drivers */
 
-/* Infineon HAL Packages */
-
-/* end of Infineon HAL Packages */
-
 /* Kendryte SDK */
 
 /* end of Kendryte SDK */
@@ -479,12 +560,15 @@
 #define RT_USING_UART1
 #define BSP_USING_SPI
 #define RT_USING_SPIM0
+#define BSP_USING_CAN
+#define RT_USING_CANFD
+#define RT_USING_CAN0
+#define RT_USING_CAN1
 #define BSP_USING_GPIO
 #define BSP_USING_QSPI
 #define RT_USING_QSPI0
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
-#define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 #define BSP_USING_PWM
 #define BSP_USING_I2C
 #define I2C_USE_MIO

+ 0 - 0
bsp/phytium/aarch64/disassembly.txt


+ 26 - 6
bsp/phytium/aarch64/makefile

@@ -44,6 +44,10 @@ ifdef CONFIG_RT_CHERRYUSB_DEVICE_PUSB2
 RTCONFIG := $(RTCONFIG)_pusb2_dc
 endif
 
+ifdef CONFIG_RT_CHERRYUSB_HOST_XHCI
+RTCONFIG := $(RTCONFIG)_xhci
+endif
+
 boot:
 	make all
 	cp rtthread_a64.elf /mnt/d/tftpboot
@@ -55,7 +59,7 @@ debug:
 
 all:
 	@echo "Build started..."
-	scons -j1024
+	scons -j8
 
 clean:
 	@echo "Cleaning..."
@@ -118,11 +122,15 @@ load_e2000d_demo_rtthread_test:
 	@cp ./configs/e2000d_demo_rtthread_test.h ./rtconfig.h -f
 	scons -c
 
-load_phytium_pi_rtthread:
-	@echo "Load configs from ./configs/phytium_pi_rtthread"
-	@cp ./configs/phytium_pi_rtthread ./.config -f
-	@cp ./configs/phytium_pi_rtthread.h ./rtconfig.h -f
-	scons -c
+load_e2000d_demo_rtthread_pusb2_dc:
+	@echo "Load configs from ./configs/e2000d_demo_rtthread_pusb2_dc"
+	@cp ./configs/e2000d_demo_rtthread_pusb2_dc ./.config -f
+	@cp ./configs/e2000d_demo_rtthread_pusb2_dc.h ./rtconfig.h -f
+
+load_e2000d_demo_rtthread_xhci:
+	@echo "Load configs from ./configs/e2000d_demo_rtthread_xhci"
+	@cp ./configs/e2000d_demo_rtthread_xhci ./.config -f
+	@cp ./configs/e2000d_demo_rtthread_xhci.h ./rtconfig.h -f
 
 load_phytium_pi_rtthread_pusb2_hc:
 	@echo "Load configs from ./configs/phytium_pi_rtthread_pusb2_hc"
@@ -130,8 +138,20 @@ load_phytium_pi_rtthread_pusb2_hc:
 	@cp ./configs/phytium_pi_rtthread_pusb2_hc.h ./rtconfig.h -f
 	scons -c
 
+load_phytium_pi_rtthread_xhic:
+	@echo "Load configs from ./configs/phytium_pi_rtthread_xhci"
+	@cp ./configs/phytium_pi_rtthread_xhci ./.config -f
+	@cp ./configs/phytium_pi_rtthread_xhci.h ./rtconfig.h -f
+	scons -c
+
 load_phytium_pi_rtsmart:
 	@echo "Load configs from ./configs/phytium_pi_rtsmart"
 	@cp ./configs/phytium_pi_rtsmart ./.config -f
 	@cp ./configs/phytium_pi_rtsmart.h ./rtconfig.h -f
+	@scons -c
+
+load_phytium_pi_rtthread:
+	@echo "Load configs from ./configs/phytium_pi_rtthread"
+	@cp ./configs/phytium_pi_rtthread ./.config -f
+	@cp ./configs/phytium_pi_rtthread.h ./rtconfig.h -f
 	@scons -c

+ 102 - 25
bsp/phytium/aarch64/rtconfig.h

@@ -3,13 +3,83 @@
 
 /* RT-Thread Kernel */
 
+/* klibc options */
+
+/* rt_vsnprintf options */
+
+#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
+#define RT_KLIBC_USING_VSNPRINTF_STANDARD
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
+#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
+#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
+#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
+#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
+#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
+/* end of rt_vsnprintf options */
+
+/* rt_vsscanf options */
+
+/* end of rt_vsscanf options */
+
+/* rt_memset options */
+
+/* end of rt_memset options */
+
+/* rt_memcpy options */
+
+/* end of rt_memcpy options */
+
+/* rt_memmove options */
+
+/* end of rt_memmove options */
+
+/* rt_memcmp options */
+
+/* end of rt_memcmp options */
+
+/* rt_strstr options */
+
+/* end of rt_strstr options */
+
+/* rt_strcasecmp options */
+
+/* end of rt_strcasecmp options */
+
+/* rt_strncpy options */
+
+/* end of rt_strncpy options */
+
+/* rt_strcpy options */
+
+/* end of rt_strcpy options */
+
+/* rt_strncmp options */
+
+/* end of rt_strncmp options */
+
+/* rt_strcmp options */
+
+/* end of rt_strcmp options */
+
+/* rt_strlen options */
+
+/* end of rt_strlen options */
+
+/* rt_strnlen options */
+
+/* end of rt_strnlen options */
+/* end of klibc options */
 #define RT_NAME_MAX 16
 #define RT_USING_SMP
-#define RT_CPUS_NR 2
+#define RT_CPUS_NR 4
 #define RT_ALIGN_SIZE 4
 #define RT_THREAD_PRIORITY_32
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 1000
+#define RT_USING_OVERFLOW_CHECK
 #define RT_USING_HOOK
 #define RT_HOOK_USING_FUNC_PTR
 #define RT_USING_IDLE_HOOK
@@ -20,18 +90,12 @@
 #define RT_TIMER_THREAD_PRIO 4
 #define RT_TIMER_THREAD_STACK_SIZE 8192
 
-/* kservice optimization */
+/* kservice options */
 
-/* end of kservice optimization */
-
-/* klibc optimization */
-
-#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
-/* end of klibc optimization */
+/* end of kservice options */
 #define RT_USING_DEBUG
 #define RT_DEBUGING_ASSERT
 #define RT_DEBUGING_COLOR
-#define RT_USING_OVERFLOW_CHECK
 
 /* Inter-Thread communication */
 
@@ -44,7 +108,7 @@
 
 /* Memory Management */
 
-#define RT_PAGE_MAX_ORDER 16
+#define RT_USING_MEMPOOL
 #define RT_USING_SLAB
 #define RT_USING_MEMHEAP
 #define RT_MEMHEAP_FAST_MODE
@@ -53,7 +117,7 @@
 #define RT_USING_HEAP
 /* end of Memory Management */
 #define RT_USING_DEVICE
-#define RT_USING_SCHED_THREAD_CTX
+#define RT_USING_DEVICE_OPS
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -79,6 +143,8 @@
 #define ARCH_ARM
 #define ARCH_ARM_MMU
 #define ARCH_ARMV8
+#define ARCH_USING_ASID
+#define ARCH_USING_IRQ_CTX_LIST
 
 /* RT-Thread Components */
 
@@ -107,9 +173,7 @@
 #define DFS_USING_POSIX
 #define DFS_USING_WORKDIR
 #define DFS_FD_MAX 16
-#define RT_USING_DFS_V1
-#define DFS_FILESYSTEMS_MAX 4
-#define DFS_FILESYSTEM_TYPES_MAX 4
+#define RT_USING_DFS_V2
 #define RT_USING_DFS_ELMFAT
 
 /* elm-chan's FatFs, Generic FAT Filesystem Module */
@@ -127,7 +191,6 @@
 #define RT_DFS_ELM_MUTEX_TIMEOUT 3000
 /* end of elm-chan's FatFs, Generic FAT Filesystem Module */
 #define RT_USING_DFS_DEVFS
-#define RT_USING_DFS_RAMFS
 /* end of DFS: device virtual file system */
 
 /* Device Drivers */
@@ -160,6 +223,10 @@
 #define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_QSPI
+#define RT_USING_AUDIO
+#define RT_AUDIO_REPLAY_MP_BLOCK_SIZE 4096
+#define RT_AUDIO_REPLAY_MP_BLOCK_COUNT 2
+#define RT_AUDIO_RECORD_PIPE_SIZE 2048
 #define RT_USING_BLK
 
 /* Partition Types */
@@ -169,11 +236,6 @@
 /* end of Partition Types */
 #define RT_USING_PIN
 #define RT_USING_KTIME
-#define RT_USING_CHERRYUSB
-#define RT_CHERRYUSB_HOST
-#define RT_CHERRYUSB_HOST_XHCI
-#define RT_CHERRYUSB_HOST_HID
-#define RT_CHERRYUSB_HOST_MSC
 #define RT_LWIP_PBUF_POOL_BUFSIZE 1700
 /* end of Device Drivers */
 
@@ -286,6 +348,16 @@
 #define RT_USING_ADT_REF
 /* end of Utilities */
 
+/* Memory management */
+
+#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000
+#define RT_PAGE_MAX_ORDER 16
+
+/* Debugging */
+
+/* end of Debugging */
+/* end of Memory management */
+
 /* Using USB legacy version */
 
 /* end of Using USB legacy version */
@@ -492,6 +564,7 @@
 #define USING_QSPI_CHANNEL0
 #define BSP_USING_ETH
 #define BSP_USING_PWM
+#define RT_USING_PWM2
 #define BSP_USING_I2C
 #define I2C_USE_MIO
 #define RT_USING_MIO15
@@ -504,6 +577,10 @@
 #define BSP_USING_DC
 #define RT_USING_DC_CHANNEL0
 #define RT_USING_DC_CHANNEL1
+#define BSP_USING_I2S
+#define RT_I2S_SAMPLERATE 8000
+#define RT_I2S_SAMPLEBITS 16
+#define RT_USING_I2S0
 /* end of On-chip Peripheral Drivers */
 
 /* Board extended module Drivers */
@@ -512,7 +589,7 @@
 #define BSP_USING_GIC
 #define BSP_USING_GICV3
 #define PHYTIUM_ARCH_AARCH64
-#define ARM_SPI_BIND_CPU_ID 0
+#define ARM_SPI_BIND_CPU_ID 2
 
 /* Standalone Setting */
 
@@ -520,10 +597,10 @@
 
 /* Soc configuration */
 
-#define TARGET_E2000D
+#define TARGET_E2000Q
 #define SOC_NAME "e2000"
-#define TARGET_TYPE_NAME "d"
-#define SOC_CORE_NUM 2
+#define TARGET_TYPE_NAME "q"
+#define SOC_CORE_NUM 4
 #define F32BIT_MEMORY_ADDRESS 0x80000000
 #define F32BIT_MEMORY_LENGTH 0x80000000
 #define F64BIT_MEMORY_ADDRESS 0x2000000000
@@ -534,8 +611,8 @@
 
 /* Board Configuration */
 
-#define E2000D_DEMO_BOARD
 #define BOARD_NAME "demo"
+#define E2000Q_DEMO_BOARD
 
 /* IO mux configuration when board start up */
 

+ 2 - 0
bsp/phytium/board/phytium_cpu.h

@@ -20,6 +20,7 @@
 #include "fparameters.h"
 #include "fio.h"
 #include "faarch.h"
+#include "tlb.h"
 
 #ifdef RT_USING_SMART
 #include"ioremap.h"
@@ -56,6 +57,7 @@ rt_inline uintptr_t platform_get_gic_redist_base(void)
     {
 #ifdef RT_USING_SMART
         uintptr_t redis_base_virtual = (uintptr_t)rt_ioremap((void *)redis_base, GICV3_RD_OFFSET);
+        rt_hw_tlb_invalidate_all();
         if (redis_base_virtual == 0)
         {
             continue;

+ 23 - 11
bsp/phytium/libraries/SConscript

@@ -5,6 +5,7 @@ objs = []
 cwd  = GetCurrentDir()
 
 PORT_DRV_DIR = cwd + '/drivers'
+DRIVERS_EXAMPLE_DIR = cwd + '/drivers_example'
 PHYTIUM_SDK_DIR = cwd + '/phytium_standalone_sdk'
 COMMON_DIR = cwd + '/common'
 
@@ -114,6 +115,18 @@ if GetDepend(['BSP_USING_GPIO']):
         src +=  Glob(PHYTIUM_SDK_DIR+'/soc/e2000/fgpio_table.c')
     if GetDepend(['TARGET_PHYTIUMPI']):
         src +=  Glob(PHYTIUM_SDK_DIR+'/soc/phytiumpi/fgpio_table.c')
+        
+## i2s
+if GetDepend(['BSP_USING_I2S']):
+    src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2s/fi2s/*.c') \
+           + Glob(PHYTIUM_SDK_DIR+'/drivers/dma/fddma/*.c') \
+           + Glob(PHYTIUM_SDK_DIR+'/drivers/i2s/fes8388/*.c') \
+           + Glob(PHYTIUM_SDK_DIR+'/drivers/i2s/fes8336/*.c')  \
+           + Glob(PORT_DRV_DIR+'/drv_i2s.c') 
+    path += [PHYTIUM_SDK_DIR + '/drivers/i2s/fi2s/'] \
+           + [PHYTIUM_SDK_DIR + '/drivers/i2s/fes8336/'] \
+           + [PHYTIUM_SDK_DIR + '/drivers/i2s/fes8388/'] \
+           + [PHYTIUM_SDK_DIR + '/drivers/dma/fddma/'] 
 
 ## pwm
 if GetDepend(['BSP_USING_PWM']):
@@ -125,6 +138,11 @@ if GetDepend(['BSP_USING_I2C']):
     src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2c/fi2c/*.c') + Glob(PORT_DRV_DIR+'/drv_i2c.c')
     path += [PHYTIUM_SDK_DIR + '/drivers/i2c/fi2c/']
 
+# fdriver dc
+if GetDepend(['BSP_USING_DC']):
+     src += Glob(PHYTIUM_SDK_DIR+'/drivers/media/fdcdp/*.c') + Glob(PORT_DRV_DIR+'/drv_dc.c')
+     path += [PHYTIUM_SDK_DIR + '/drivers/media/fdcdp/']
+
 ## iopad
 if GetDepend(['BSP_USING_IOPAD']):
     src += Glob(PHYTIUM_SDK_DIR+'/drivers/iomux/fiopad/*.c')
@@ -135,6 +153,10 @@ if GetDepend(['I2C_USE_MIO']):
     src += Glob(PHYTIUM_SDK_DIR+'/drivers/mio/fmio/*.c')
     path += [PHYTIUM_SDK_DIR + '/drivers/mio/fmio/']
 
+## drivers_example
+if GetDepend(['BSP_USING_DRIVERS_EXAMPLE']):
+    src += Glob(DRIVERS_EXAMPLE_DIR+'/*.c')
+
 ## board
 if GetDepend(['E2000D_DEMO_BOARD']):
     src += Glob(PHYTIUM_SDK_DIR+'/board/e2000d_demo/fio_mux.c')
@@ -160,17 +182,7 @@ if GetDepend(['FIREFLY_DEMO_BOARD']):
 
 LIBS    = []
 LIBPATH = []
-# fdriver dc
-if GetDepend(['BSP_USING_DC']):
-     src += Glob(PORT_DRV_DIR+'/drv_dc.c')
-     path += [PHYTIUM_SDK_DIR + '/drivers/media/fdcdp_lib/inc']
-     if GetDepend(['TARGET_ARMV8_AARCH64']):
-        LIBPATH = [PHYTIUM_SDK_DIR + '/drivers/media/fdcdp_lib/']
-        LIBS = ['libfdcdp_standalone_a64.a']
-
-     elif GetDepend(['TARGET_ARMV8_AARCH32']):
-        LIBPATH = [PHYTIUM_SDK_DIR + '/drivers/media/fdcdp_lib/']
-        LIBS = ['libfdcdp_standalone_soft_a32.a']  
+
 ## fdriver port
 src += Glob(cwd+'/port/fdriver_port/*.c')
 path += [cwd + '/port/fdriver_port']

+ 19 - 0
bsp/phytium/libraries/drivers/Kconfig

@@ -5,6 +5,9 @@ menu "Hardware Drivers"
         default n
 
 menu "On-chip Peripheral Drivers"
+    config BSP_USING_DRIVERS_EXAMPLE
+        bool "Enable drivers example"
+        default n
 
     config BSP_USING_IOPAD
         bool "Enable IOPAD"
@@ -273,6 +276,22 @@ menu "On-chip Peripheral Drivers"
                 bool "using dc channel_1"
                 default n
         endif
+
+        menuconfig BSP_USING_I2S
+        bool "Enable I2S"
+            default n
+            select RT_USING_AUDIO
+        if BSP_USING_I2S
+            config RT_I2S_SAMPLERATE
+                int "The samplerate param"
+                default 8000
+            config RT_I2S_SAMPLEBITS
+                int "The samplebits param"
+                default 16
+            config RT_USING_I2S0
+                bool "Enable i2s0"
+                default n
+        endif
 endmenu
 
 menu "Board extended module Drivers"

+ 15 - 17
bsp/phytium/libraries/drivers/drv_can.c

@@ -44,8 +44,7 @@ static void CanRxIrqCallback(void *args)
     struct phytium_can *drv_can = (struct phytium_can *)args;
 
     rt_hw_can_isr(&(drv_can->device), RT_CAN_EVENT_RX_IND);
-
-    LOG_D("CAN%d irq recv frame callback.", drv_can->can_handle.config.instance_id);
+    rt_kprintf("CAN%d irq recv frame callback.", drv_can->can_handle.config.instance_id);
 }
 
 static void CanTxIrqCallback(void *args)
@@ -53,18 +52,17 @@ static void CanTxIrqCallback(void *args)
     struct phytium_can *drv_can = (struct phytium_can *)args;
 
     rt_hw_can_isr(&(drv_can->device), RT_CAN_EVENT_TX_DONE);
-
-    LOG_D("CAN%d irq send frame callback.", drv_can->can_handle.config.instance_id);
+    rt_kprintf("CAN%d irq send frame callback.", drv_can->can_handle.config.instance_id);
 }
 
 static void CanErrorCallback(void *args)
 {
     FCanCtrl *instance_p = (FCanCtrl *)args;
     uintptr base_addr = instance_p->config.base_address;
-    LOG_D("CAN %d is under error.", instance_p->config.instance_id);
-    LOG_D("error_status is %x.", FCAN_READ_REG32(base_addr, FCAN_INTR_OFFSET));
-    LOG_D("rxerr_cnt is %x.", FCAN_ERR_CNT_RFN_GET(FCAN_READ_REG32(base_addr, FCAN_ERR_CNT_OFFSET)));
-    LOG_D("txerr_cnt is %x.", FCAN_ERR_CNT_TFN_GET(FCAN_READ_REG32(base_addr, FCAN_ERR_CNT_OFFSET)));
+    LOG_E("CAN %d is under error.", instance_p->config.instance_id);
+    LOG_E("error_status is %x.", FCAN_READ_REG32(base_addr, FCAN_INTR_OFFSET));
+    LOG_E("rxerr_cnt is %x.", FCAN_ERR_CNT_RFN_GET(FCAN_READ_REG32(base_addr, FCAN_ERR_CNT_OFFSET)));
+    LOG_E("txerr_cnt is %x.", FCAN_ERR_CNT_TFN_GET(FCAN_READ_REG32(base_addr, FCAN_ERR_CNT_OFFSET)));
 }
 
 static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg)
@@ -87,7 +85,7 @@ static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg
     status = FCanCfgInitialize(&(drv_can->can_handle), config_p);
     if (status != FT_SUCCESS)
     {
-        LOG_D("CAN %d initialize error, status = %#x.", drv_can->can_handle.config.instance_id, status);
+        LOG_E("CAN %d initialize error, status = %#x.", drv_can->can_handle.config.instance_id, status);
         return -RT_ERROR;
     }
     /*Set the baudrate*/
@@ -103,7 +101,7 @@ static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg
     status = FCanBaudrateSet(&(drv_can->can_handle), &arb_segment_config);
     if (status != RT_EOK)
     {
-        LOG_D("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
+        LOG_E("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
         return -RT_ERROR;
     }
     data_segment_config.auto_calc = TRUE;
@@ -112,7 +110,7 @@ static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg
     status = FCanBaudrateSet(&(drv_can->can_handle), &data_segment_config);
     if (status != RT_EOK)
     {
-        LOG_D("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
+        LOG_E("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
         return -RT_ERROR;
     }
 #else
@@ -122,7 +120,7 @@ static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg
     status = FCanBaudrateSet(&(drv_can->can_handle), &arb_segment_config);
     if (status != FT_SUCCESS)
     {
-        LOG_D("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
+        LOG_E("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
         return -RT_ERROR;
     }
     data_segment_config.auto_calc = TRUE;
@@ -131,7 +129,7 @@ static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg
     status = FCanBaudrateSet(&(drv_can->can_handle), &data_segment_config);
     if (status != FT_SUCCESS)
     {
-        LOG_D("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
+        LOG_E("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
         return -RT_ERROR;
     }
 #endif
@@ -253,7 +251,7 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg)
                 status = FCanBaudrateSet(&(drv_can->can_handle), &arb_segment_config);
                 if (status != FT_SUCCESS)
                 {
-                    LOG_D("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
+                    LOG_E("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
                     return -RT_ERROR;
                 }
                 data_segment_config.auto_calc = TRUE;
@@ -262,7 +260,7 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg)
                 status = FCanBaudrateSet(&(drv_can->can_handle), &data_segment_config);
                 if (status != FT_SUCCESS)
                 {
-                    LOG_D("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
+                    LOG_E("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
                     return -RT_ERROR;
                 }
                 FCanEnable(&(drv_can->can_handle), RT_TRUE);
@@ -286,7 +284,7 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg)
                 status = FCanBaudrateSet(&(drv_can->can_handle), &arb_segment_config);
                 if (status != FT_SUCCESS)
                 {
-                    LOG_D("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
+                    LOG_E("CAN%d set arb segment baudrate failed.", drv_can->can_handle.config.instance_id);
                     return -RT_ERROR;
                 }
                 data_segment_config.auto_calc = TRUE;
@@ -295,7 +293,7 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg)
                 status = FCanBaudrateSet(&(drv_can->can_handle), &data_segment_config);
                 if (status != FT_SUCCESS)
                 {
-                    LOG_D("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
+                    LOG_E("CAN%d set data segment baudrate failed.", drv_can->can_handle.config.instance_id);
                     return -RT_ERROR;
                 }
                 FCanEnable(&(drv_can->can_handle), RT_TRUE);

+ 38 - 21
bsp/phytium/libraries/drivers/drv_dc.c

@@ -15,22 +15,43 @@
 #include <rtthread.h>
 #include <rtdevice.h>
 #define LOG_TAG      "dc_drv"
-#include "mm_aspace.h"
 #include "drv_log.h"
 #include "drv_dc.h"
+#include "mm_aspace.h"
 #include "fparameters.h"
 #include "fdcdp.h"
 #include "fdc.h"
 #include "fdp_hw.h"
-#include "fdc_common_hw.h"
+
 
 #ifdef RT_USING_SMART
     #include "ioremap.h"
 #endif
-static  rt_uint16_t _rt_framebuffer[1024 * 768 * 4] __aligned(128);
+static  rt_uint8_t _rt_framebuffer[1024 * 768 * 4] __aligned(128) = {0};
 
 static struct  rt_device_graphic_info _dc_info;
 
+typedef struct
+{
+    u32 bit_depth;
+    u32 bpc;
+    u32 color_depth;
+    u32 clock_mode;
+    u32 color_rep;
+    u32 width;
+    u32 height;
+} FuserCfg;
+
+static const FuserCfg user_cfg = {
+    .bit_depth = 8,
+    .bpc = 8,
+    .color_depth = 32,
+    .clock_mode = 1,
+    .color_rep = 0,
+    .width = 640,
+    .height = 480
+};
+
 void rt_hw_dc_register(struct phytium_dc_bus *dc_control_bus, const char *name, rt_uint32_t flag, void *data);
 
 static rt_err_t dc_config(struct phytium_dc_bus *dc_control_bus)
@@ -47,33 +68,29 @@ static rt_err_t rt_dc_init(struct phytium_dc_bus  *device)
     RT_ASSERT(device != RT_NULL);
     rt_err_t ret;
     FDcDp *instance_p = &device->dc_handle;
-    FDcDpCfgInitialize(instance_p);
     rt_uint32_t chan = device->fdc_id;
-    instance_p->user_config[chan].color_depth = DISPLAY_COLOR_DEPTH;
-    instance_p->user_config[chan].width = FB_XSIZE;
-    instance_p->user_config[chan].height = FB_YSIZE;
-    instance_p->user_config[chan].refresh_rate = DISPLAY_REFRESH_RATE_60;
-    instance_p->user_config[chan].multi_mode = 0;
-    instance_p->user_config[chan].fb_phy = _rt_framebuffer;
-    instance_p->user_config[chan].fb_virtual = _rt_framebuffer;
+
+    FDcDpCfgInitialize(instance_p, chan);
     instance_p->dc_instance_p[chan].config = *FDcLookupConfig(chan);
     instance_p->dp_instance_p[chan].config = *FDpLookupConfig(chan);
-#ifdef RT_USING_SMART
-    instance_p->user_config[chan].fb_phy = instance_p->user_config[chan].fb_phy +  PV_OFFSET;/*the FB addr iomap length is x_size * y_size * 4 */
-    instance_p->dc_instance_p[chan].config.dcch_baseaddr = (uintptr)rt_ioremap((void *)instance_p->dc_instance_p[chan].config.dcch_baseaddr, 0x1000);/*the dc channel addr iomap length is 0x1000*/
-    instance_p->dc_instance_p[chan].config.dcctrl_baseaddr = (uintptr)rt_ioremap((void *)instance_p->dc_instance_p[chan].config.dcctrl_baseaddr, 0x4000);/*the dc control addr iomap length is 0x4000*/
-    instance_p->dp_instance_p[chan].config.dp_channe_base_addr = (uintptr)rt_ioremap((void *)instance_p->dp_instance_p[chan].config.dp_channe_base_addr, 0x4000); /*the dc control addr iomap length is 0x4000*/
-    instance_p->dp_instance_p[chan].config.dp_phy_base_addr = (size_t)rt_ioremap((void *) instance_p->dp_instance_p[chan].config.dp_phy_base_addr,  0x100000);/*the dc control addr iomap length is 0x100000*/
-#endif
+    instance_p->dc_instance_p[chan].crtc.bpc = user_cfg.bpc;
+    instance_p->dc_instance_p[chan].color_depth = user_cfg.color_depth;
+    instance_p->dc_instance_p[chan].channel = chan;
+    instance_p->dc_instance_p[chan].fb_addr = (uintptr)_rt_framebuffer;/*当前例程虚拟地址和物理地址一致,实际需要根据需要进行映射*/
+    instance_p->dc_instance_p[chan].fb_virtual = (uintptr)_rt_framebuffer;
+    instance_p->dp_instance_p[chan].trans_config.clock_mode = user_cfg.clock_mode;
+    instance_p->dp_instance_p[chan].trans_config.color_rep_format = user_cfg.color_rep;
+    instance_p->dp_instance_p[chan].trans_config.bit_depth = user_cfg.bit_depth;
+
+    FDcDpGeneralCfgInitial(instance_p, chan);
+    _dc_info.framebuffer = (rt_uint8_t *)instance_p->dc_instance_p[chan].fb_addr;
     _dc_info.bits_per_pixel = DISPLAY_COLOR_DEPTH;
     _dc_info.pixel_format = RTGRAPHIC_PIXEL_FORMAT_RGB565P;
-    _dc_info.framebuffer = (rt_uint8_t *)instance_p->user_config[chan].fb_virtual;
     _dc_info.width = FB_XSIZE;
     _dc_info.height = FB_YSIZE;
     rt_hw_dc_register(device, device->name, RT_DEVICE_FLAG_RDWR, NULL);
     dc_config(device);
-
-    ret = FDcDpInitialize(instance_p, device->fdc_id);
+    ret = FDcDpInitial(instance_p, device->fdc_id, user_cfg.width, user_cfg.height);
     if (ret != RT_EOK)
     {
         LOG_E("Init dc failed, ret: 0x%x", ret);

+ 4 - 11
bsp/phytium/libraries/drivers/drv_gpio.c

@@ -39,7 +39,7 @@
 /***************** Macros (Inline Functions) Definitions *********************/
 
 /************************** Variable Definitions *****************************/
-static FGpio gpio_device[FGPIO_NUM];
+static FGpio gpio_device[FGPIO_PIN_NUM * FGPIO_PORT_NUM * FGPIO_CTRL_NUM + 1];
 extern FGpioIntrMap fgpio_intr_map[FGPIO_CTRL_NUM];
 /*******************************Api Functions*********************************/
 static void FGpioOpsSetupIRQ(FGpio *ctrl)
@@ -56,19 +56,13 @@ static void FGpioOpsSetupIRQ(FGpio *ctrl)
     return;
 }
 
-/* on E2000, if u want use GPIO-4-11, set pin = FGPIO_OPS_PIN_INDEX(4, 0, 11) */
+/* on E2000, if u want use GPIO-4-11, set pin = FGPIO_ID(4, 11) */
 static void drv_pin_mode(struct rt_device *device, rt_base_t pin, rt_uint8_t mode)
 {
     FGpio *instance = (FGpio *)device->user_data;
     FError err = FGPIO_SUCCESS;
     u32 index = (u32)pin;
 
-    if (index >= FGPIO_NUM)
-    {
-        LOG_E("ctrl_id too large!!!");
-        return;
-    }
-
     FGpioConfig input_cfg = *FGpioLookupConfig(index);
     rt_memset(&instance[index], 0, sizeof(FGpio));
 #ifdef RT_USING_SMART
@@ -94,7 +88,6 @@ static void drv_pin_mode(struct rt_device *device, rt_base_t pin, rt_uint8_t mod
             rt_kprintf("Not support mode %d!!!\n", mode);
             break;
     }
-
 }
 
 void drv_pin_write(struct rt_device *device, rt_base_t pin, rt_uint8_t value)
@@ -148,7 +141,7 @@ rt_err_t drv_pin_attach_irq(struct rt_device *device, rt_base_t pin,
             break;
     }
 
-    FGpioRegisterInterruptCB(&instance[index], (FGpioInterruptCallback)hdr, args); /* register intr callback */
+    FGpioRegisterInterruptCB(&instance[index], (FGpioInterruptCallback)hdr, &instance[index]); /* register intr callback */
     rt_hw_interrupt_enable(level);
 
     return RT_EOK;
@@ -201,4 +194,4 @@ int ft_pin_init(void)
     rt_kprintf("Register pin with return: %d\n", ret);
     return ret;
 }
-INIT_DEVICE_EXPORT(ft_pin_init);
+INIT_DEVICE_EXPORT(ft_pin_init);

+ 2 - 3
bsp/phytium/libraries/drivers/drv_i2c.c

@@ -29,7 +29,7 @@
 
 /*Please define the length of the mem_addr of the device*/
 #ifndef FI2C_DEVICE_MEMADDR_LEN
-    #define FI2C_DEVICE_MEMADDR_LEN 2
+    #define FI2C_DEVICE_MEMADDR_LEN 1
 #endif
 #define FI2C_DEFAULT_ID 0
 #define I2C_USE_MIO
@@ -131,7 +131,7 @@ static rt_err_t phytium_i2c_set_speed(struct phytium_i2c_bus *i2c_bus, rt_uint32
     u32 ret;
     uintptr base_addr = i2c_bus->i2c_handle.config.base_addr;
 
-    ret = FI2cSetSpeed(base_addr, speed);
+    ret = FI2cSetSpeed(base_addr, speed, TRUE);
     if (ret != FI2C_SUCCESS)
     {
         LOG_E("Set i2c speed failed!\n");
@@ -184,7 +184,6 @@ static rt_ssize_t i2c_master_xfer(struct rt_i2c_bus_device *device, struct rt_i2
         }
 
         i2c_bus->i2c_handle.config.slave_addr = pmsg->addr;
-
         if (pmsg->flags & RT_I2C_RD)
         {
             rt_thread_delay(100);

+ 496 - 0
bsp/phytium/libraries/drivers/drv_i2s.c

@@ -0,0 +1,496 @@
+/*
+ * Copyright (c) 2006-2025, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Email: opensource_embedded@phytium.com.cn
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2025-01-21     zhangyan     first version
+ *
+ */
+
+#include <rtthread.h>
+#include <rtdevice.h>
+
+#include <drv_i2s.h>
+#include "fi2s.h"
+#include "fi2s_hw.h"
+#include "fddma.h"
+#include "fddma_hw.h"
+#include "fddma_bdl.h"
+#include "fes8336.h"
+
+#define DBG_TAG              "drv.i2s"
+#define DBG_LVL              DBG_INFO
+#include <rtdbg.h>
+
+#define PER_BUFFER_SIZE          2048
+#define TX_RX_BUF_LEN            2048
+
+static struct phytium_i2s_device i2s_dev0;
+extern FI2c master_device;
+extern FMioCtrl es8336;
+#define ES8336_MIO FMIO14_ID
+#define ES8336_ADDR 0x10
+
+struct phytium_i2s_device
+{
+    const char *name;
+
+    struct rt_audio_device audio;
+    struct rt_audio_configure config;
+
+    FI2s i2s_ctrl;
+    FI2sConfig i2s_config;
+    FDdma ddmac;
+    FDdmaConfig ddmac_config;
+    rt_uint8_t ddma_ctrl_id;
+    rt_uint8_t i2s_ctrl_id;
+
+    rt_uint8_t *rx_fifo;
+    FDdmaChanConfig rx_config;
+    rt_uint8_t rx_channel; /* 接收通道为DDMA通道1 */
+    rt_uint8_t volume;
+};
+
+static void FDdmaSetupInterrupt(FDdma *const instance)
+{
+    FASSERT(instance);
+    FDdmaConfig *config = &instance->config;
+
+    rt_uint32_t cpu_id = rt_hw_cpu_id();
+    rt_hw_interrupt_set_target_cpus(config->irq_num, cpu_id);
+    rt_hw_interrupt_set_priority(config->irq_num, 16);
+    /* register intr callback */
+    rt_hw_interrupt_install(config->irq_num,
+                            FDdmaIrqHandler,
+                            instance,
+                            NULL);
+
+    /* enable ddma0 irq */
+    rt_hw_interrupt_umask(config->irq_num);
+
+    return;
+}
+
+FError RtEs8336Init(void)
+{
+    FError ret = FES8336_SUCCESS;
+    FMioCtrl *pctrl = &es8336;
+    FMioConfig *mioconfig_p ;
+    FI2c *instance_p = &master_device;
+    FI2cConfig i2cconfig;
+
+    mioconfig_p = FMioLookupConfig(ES8336_MIO);
+    if (NULL == mioconfig_p)
+    {
+        printf("Mio error inval parameters.\r\n");
+        return FMIO_ERR_INVAL_PARM;
+    }
+    pctrl->config = *mioconfig_p;
+    ret = FMioFuncInit(pctrl, FMIO_FUNC_SET_I2C);
+    if (ret != FES8336_SUCCESS)
+    {
+        printf("ES8336_MIO MioInit error.\r\n");
+        return ret;
+    }
+    /* get standard config of i2c */
+    i2cconfig = *FI2cLookupConfig(FI2C0_ID);
+    /* Modify configuration */
+    i2cconfig.base_addr = FMioFuncGetAddress(pctrl, FMIO_FUNC_SET_I2C);
+    i2cconfig.irq_num = FMioFuncGetIrqNum(pctrl, FMIO_FUNC_SET_I2C);
+    FI2cDeInitialize(instance_p);
+    /* Initialization */
+    ret = FI2cCfgInitialize(instance_p, &i2cconfig);
+    if (ret != FES8336_SUCCESS)
+    {
+        return ret;
+    }
+    /*set the i2c parameters */
+    ret = FI2cSetAddress(instance_p, FI2C_MASTER, ES8336_ADDR);
+    if (FI2C_SUCCESS != ret)
+    {
+        printf("set mio slave parameters failed, ret: 0x%x\r\n", ret);
+        return ret;
+    }
+
+    ret = FI2cSetSpeed(instance_p, FI2C_SPEED_STANDARD_RATE, TRUE);
+    if (FI2C_SUCCESS != ret)
+    {
+        printf("set mio slave parameters failed, ret: 0x%x\r\n", ret);
+        return ret;
+    }
+    /*  callback function for FI2C_MASTER_INTR_EVT interrupt  */
+    instance_p->master_evt_handlers[FI2C_EVT_MASTER_TRANS_ABORTED] = NULL;
+    instance_p->master_evt_handlers[FI2C_EVT_MASTER_READ_DONE] = NULL;
+    instance_p->master_evt_handlers[FI2C_EVT_MASTER_WRITE_DONE] = NULL;
+
+    return ret;
+}
+
+static FError FI2sEs8336Init(u32 word_length)
+{
+    FError ret = FT_SUCCESS;
+
+    FIOPadSetI2sMux();
+    ret = RtEs8336Init(); /* es8336初始化,i2s slave设置 */
+    if (FT_SUCCESS != ret)
+    {
+        printf("Es8336 init failed.\r\n");
+        return ret;
+    }
+
+    FEs8336RegsProbe(); /* 寄存器默认值 */
+
+    FEs8336Startup();
+
+    ret = FEs8336SetFormat(word_length); /* 设置ES8336工作模式 */
+    if (FT_SUCCESS != ret)
+    {
+        printf("Set the es8336 word length failed.\r\n");
+        return ret;
+    }
+    FEs8336SetVolumel(0x1);
+
+    return ret;
+}
+
+static FError FI2sRxInit(struct phytium_i2s_device *i2s_dev, u32 word_length)
+{
+    FError ret = FI2S_SUCCESS;
+    u32 i2s_id = i2s_dev->i2s_ctrl_id;
+
+    memset(&i2s_dev->i2s_ctrl, 0, sizeof(FI2s));
+    memset(&i2s_dev->i2s_ctrl, 0, sizeof(FI2sConfig));
+    i2s_dev->i2s_ctrl.data_config.word_length = word_length;
+    i2s_dev->i2s_config = *FI2sLookupConfig(i2s_id);
+
+    ret = FI2sCfgInitialize(&i2s_dev->i2s_ctrl, &i2s_dev->i2s_config);
+    if (FI2S_SUCCESS != ret)
+    {
+        printf("Init the i2s failed.\r\n");
+        return ret;
+    }
+
+    FI2sClkOutDiv(&i2s_dev->i2s_ctrl, i2s_dev->config.samplerate);
+    FI2sTxRxEnable(&i2s_dev->i2s_ctrl, TRUE); /* 模块使能 */
+    return ret;
+}
+
+static FError FI2sRxDdmaInit(struct phytium_i2s_device *i2s_dev)
+{
+    FError ret = FI2S_SUCCESS;
+    i2s_dev->ddmac_config = *FDdmaLookupConfig(i2s_dev->ddma_ctrl_id);
+
+    ret = FDdmaCfgInitialize(&i2s_dev->ddmac, &i2s_dev->ddmac_config);
+    if (FI2S_SUCCESS != ret)
+    {
+        printf("DDMA config initialization failed.\r\n");
+        return ret;
+    }
+
+    return ret;
+}
+
+static FError FI2sDdmaDeviceRX(struct phytium_i2s_device *i2s_dev, u32 work_mode, const void *src, fsize_t total_bytes, fsize_t per_buff_len)
+{
+    FError ret = FI2S_SUCCESS;
+    fsize_t bdl_num = total_bytes / per_buff_len;
+
+    rt_hw_cpu_dcache_clean((uintptr)src, total_bytes);
+
+    for (u32 chan = FDDMA_CHAN_0; chan < FDDMA_NUM_OF_CHAN; chan++) /* 清除中断 */
+    {
+        FDdmaClearChanIrq(i2s_dev->ddmac_config.base_addr, chan, i2s_dev->ddmac_config.caps);
+    }
+
+    FDdmaBdlDesc *bdl_desc_list = rt_malloc_align(bdl_num * sizeof(FDdmaBdlDesc), FDDMA_BDL_ADDR_ALIGMENT); /* DDMA描述符首地址需128字节对齐 */
+    if ((NULL == bdl_desc_list))
+    {
+        printf("FDdmaBdlDesc allocate failed.\r\n");
+        return FDDMA_ERR_IS_USED;
+    }
+    memset(bdl_desc_list, 0, bdl_num * sizeof(FDdmaBdlDesc));
+
+    FDdmaBdlDescConfig *bdl_desc_config = rt_calloc(1, bdl_num * sizeof(FDdmaBdlDescConfig));
+    if ((NULL == bdl_desc_config))
+    {
+        printf("FDdmaBdlDescConfig allocate failed.\r\n");
+        return FDDMA_ERR_IS_USED;
+    }
+    /* set BDL descriptors */
+    for (fsize_t loop = 0; loop < bdl_num; loop++)
+    {
+        bdl_desc_config[loop].current_desc_num = loop;
+        bdl_desc_config[loop].src_addr = (uintptr)(src + per_buff_len * loop);
+        bdl_desc_config[loop].trans_length = per_buff_len;
+    }
+       bdl_desc_config[bdl_num -1].ioc = TRUE;
+    /* set BDL descriptor list with descriptor configs */
+    for (fsize_t loop = 0; loop <  bdl_num; loop++)
+    {
+        FDdmaBDLSetDesc(bdl_desc_list, &bdl_desc_config[loop]);
+    }
+
+    i2s_dev->rx_config.slave_id = 0U,
+    i2s_dev->rx_config.req_mode = AUDIO_PCM_STREAM_CAPTURE;
+    i2s_dev->rx_config.ddr_addr = (uintptr)src;
+    i2s_dev->rx_config.dev_addr = i2s_dev->i2s_config.base_addr + FI2S_RXDMA ;
+    i2s_dev->rx_config.trans_len = total_bytes;
+    i2s_dev->rx_config.timeout = 0xffff,
+    i2s_dev->rx_config.first_desc_addr = (uintptr)bdl_desc_list;
+    i2s_dev->rx_config.valid_desc_num = bdl_num;
+
+    ret = FDdmaChanBdlConfigure(&i2s_dev->ddmac, i2s_dev->rx_channel, &i2s_dev->rx_config);
+
+    if (ret !=  FI2S_SUCCESS)
+    {
+        printf("DDMA BDL configure failer.\r\n");
+        return ret;
+    }
+    rt_free(bdl_desc_config);
+
+    return ret;
+}
+
+void dma_transfer_callback(void *args)
+{
+#if defined(RT_USING_I2S0)
+    rt_audio_rx_done(&i2s_dev0.audio, &i2s_dev0.rx_fifo[0], TX_RX_BUF_LEN);
+#endif
+}
+
+static rt_err_t i2s_getcaps(struct rt_audio_device *audio, struct rt_audio_caps *caps)
+{
+    rt_err_t result = RT_EOK;
+    struct phytium_i2s_device *i2s_dev;
+
+    RT_ASSERT(audio != RT_NULL);
+    i2s_dev = (struct phytium_i2s_device *)audio->parent.user_data;
+
+    switch (caps->main_type)
+    {
+    case AUDIO_TYPE_QUERY: /* qurey the types of hw_codec device */
+    {
+        switch (caps->sub_type)
+        {
+        case AUDIO_TYPE_QUERY:
+            caps->udata.mask = AUDIO_TYPE_OUTPUT | AUDIO_TYPE_MIXER;
+            break;
+
+        default:
+            result = -RT_ERROR;
+            break;
+        }
+
+        break;
+    }
+
+    case AUDIO_TYPE_OUTPUT: /* Provide capabilities of OUTPUT unit */
+    {
+        switch (caps->sub_type)
+        {
+        case AUDIO_DSP_PARAM:
+            caps->udata.config.samplerate   = i2s_dev->config.samplerate;
+            caps->udata.config.channels     = i2s_dev->config.channels;
+            caps->udata.config.samplebits   = i2s_dev->config.samplebits;
+            break;
+
+        case AUDIO_DSP_SAMPLERATE:
+            caps->udata.config.samplerate   = i2s_dev->config.samplerate;
+            break;
+
+        case AUDIO_DSP_CHANNELS:
+            caps->udata.config.channels     = i2s_dev->config.channels;
+            break;
+
+        case AUDIO_DSP_SAMPLEBITS:
+            caps->udata.config.samplebits   = i2s_dev->config.samplebits;
+            break;
+
+        default:
+            result = -RT_ERROR;
+            break;
+        }
+
+        break;
+    }
+
+    case AUDIO_TYPE_MIXER: /* report the Mixer Units */
+    {
+        switch (caps->sub_type)
+        {
+        case AUDIO_MIXER_QUERY:
+            caps->udata.mask = AUDIO_MIXER_VOLUME;
+            break;
+
+        case AUDIO_MIXER_VOLUME:
+            caps->udata.value = i2s_dev->volume;
+            break;
+
+        default:
+            result = -RT_ERROR;
+            break;
+        }
+
+        break;
+    }
+
+    default:
+        result = -RT_ERROR;
+        break;
+    }
+
+    return result;
+}
+
+static rt_err_t i2s_configure(struct rt_audio_device *audio, struct rt_audio_caps *caps)
+{
+    rt_err_t result = RT_EOK;
+    struct phytium_i2s_device *i2s_dev;
+    struct rt_audio_replay *replay;
+
+    RT_ASSERT(audio != RT_NULL);
+    i2s_dev = (struct phytium_i2s_device *)audio->parent.user_data;
+
+    switch (caps->main_type)
+    {
+    case AUDIO_TYPE_INPUT:
+    {
+        switch (caps->sub_type)
+        {
+        case AUDIO_DSP_PARAM:
+        {
+            struct rt_audio_configure config = caps->udata.config;
+            i2s_dev->config.channels = config.channels;
+            i2s_dev->config.samplebits = config.samplebits;
+            i2s_dev->config.samplerate = config.samplerate;
+        }
+
+        default:
+            result = -RT_ERROR;
+            break;
+        }
+
+        break;
+    }
+
+    default:
+        break;
+    }
+    return result;
+}
+
+static rt_err_t i2s_init(struct rt_audio_device *audio)
+{
+    struct phytium_i2s_device *i2s_dev;
+    RT_ASSERT(audio != RT_NULL);
+    i2s_dev = (struct phytium_i2s_device *)audio->parent.user_data;
+    FError ret = FT_SUCCESS;
+    u32 word_length = i2s_dev->config.samplebits; /* 16-bits word length */
+
+    FI2sEs8336Init(word_length);
+    if (FT_SUCCESS != ret)
+    {
+        printf("Init the escodec failed.\r\n");
+        return ret;
+    }
+    ret = FI2sRxDdmaInit(i2s_dev);
+    if (FT_SUCCESS != ret)
+    {
+        printf("Init DDMA-2 failed.\r\n");
+        return ret;
+    }
+    ret = FI2sRxInit(i2s_dev, word_length);
+    if (FI2S_SUCCESS != ret)
+    {
+        printf("Init the I2S failed.\r\n");
+        return ret;
+    }
+
+    FDdmaSetupInterrupt(&i2s_dev->ddmac);
+
+    FDdmaRegisterChanEvtHandler(&i2s_dev->ddmac, i2s_dev->rx_channel, FDDMA_CHAN_EVT_REQ_DONE, dma_transfer_callback, (void *)i2s_dev);
+
+    return ret;
+}
+
+static rt_err_t i2s_start(struct rt_audio_device *audio, int stream)
+{
+    struct phytium_i2s_device *i2s_dev;
+    RT_ASSERT(audio != RT_NULL);
+    i2s_dev = (struct phytium_i2s_device *)audio->parent.user_data;
+
+    if (stream == AUDIO_STREAM_REPLAY)
+    {
+
+    }
+    else if(stream == AUDIO_STREAM_RECORD)
+    {
+        FI2sDdmaDeviceRX(i2s_dev, AUDIO_PCM_STREAM_CAPTURE, &i2s_dev->rx_fifo[0], TX_RX_BUF_LEN, PER_BUFFER_SIZE);
+        FDdmaChanActive(&i2s_dev->ddmac, i2s_dev->rx_channel);
+    }
+
+    FDdmaStart(&i2s_dev->ddmac);
+
+    return RT_EOK;
+}
+
+static rt_err_t i2s_stop(struct rt_audio_device *audio, int stream)
+{
+    struct phytium_i2s_device *i2s_dev;
+    RT_ASSERT(audio != RT_NULL);
+    i2s_dev = (struct phytium_i2s_device *)audio->parent.user_data;
+
+    return RT_EOK;
+}
+
+static struct rt_audio_ops i2s_ops =
+{
+    .getcaps     = i2s_getcaps,
+    .configure   = i2s_configure,
+    .init        = i2s_init,
+    .start       = i2s_start,
+    .stop        = i2s_stop,
+    .transmit    = NULL,
+    .buffer_info = NULL,
+};
+
+static int i2s_controller_init(struct phytium_i2s_device *i2s_dev)
+{
+    struct rt_audio_device *audio = &i2s_dev->audio;
+
+    i2s_dev->rx_fifo = rt_calloc(1, TX_RX_BUF_LEN);
+    if (i2s_dev->rx_fifo == RT_NULL)
+    {
+        return -RT_ENOMEM;
+    }
+
+    i2s_dev->audio.ops = &i2s_ops;
+    int ret = rt_audio_register(audio, i2s_dev->name, RT_DEVICE_FLAG_RDONLY, (void *)i2s_dev);
+    RT_ASSERT(RT_EOK == ret);
+    LOG_D("i2s_controller_init i2s bus reg success. \n");
+    return ret;
+}
+
+int rt_hw_i2s_init(void)
+{
+
+#if defined(RT_USING_I2S0)
+    i2s_dev0.name = "I2S0";
+    i2s_dev0.i2s_ctrl.config.instance_id = FI2S0_ID;
+    i2s_dev0.i2s_ctrl_id = FI2S0_ID;
+    i2s_dev0.ddma_ctrl_id = FDDMA2_I2S_ID;
+    i2s_dev0.config.channels = 1;
+    i2s_dev0.config.samplerate = RT_I2S_SAMPLERATE;
+    i2s_dev0.config.samplebits = RT_I2S_SAMPLEBITS;
+
+    i2s_controller_init(&i2s_dev0);
+#endif
+
+    return RT_EOK;
+}
+
+INIT_DEVICE_EXPORT(rt_hw_i2s_init);

+ 29 - 0
bsp/phytium/libraries/drivers/drv_i2s.h

@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2006-2023, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Email: opensource_embedded@phytium.com.cn
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2025-01-21     zhangyan     first version
+ *
+ */
+#ifndef __DRV_SOUND_H__
+#define __DRV_SOUND_H__
+
+#include <rtdevice.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+int rt_hw_audio_init(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DRV_CAN_H__ */

+ 190 - 20
bsp/phytium/libraries/drivers/drv_qspi.c

@@ -18,6 +18,7 @@
 #include <rtthread.h>
 #ifdef RT_USING_SMART
     #include <ioremap.h>
+    #include "tlb.h"
 #endif
 #include "drv_qspi.h"
 #include "fqspi_flash.h"
@@ -36,7 +37,7 @@ typedef struct
     struct rt_spi_bus qspi_bus;
 } phytium_qspi_bus;
 
-rt_err_t FQspiInit(phytium_qspi_bus *phytium_qspi_bus)
+static rt_err_t FQspiInit(phytium_qspi_bus *phytium_qspi_bus)
 {
     FError ret = FT_SUCCESS;
     rt_uint32_t qspi_id = phytium_qspi_bus->fqspi_id;
@@ -81,11 +82,7 @@ rt_err_t FQspiInit(phytium_qspi_bus *phytium_qspi_bus)
 #elif defined USING_QSPI_CHANNEL1
     phytium_qspi_bus->fqspi.config.channel = 1;
 #endif
-
-#ifdef RT_USING_SMART
-    phytium_qspi_bus->fqspi.config.mem_start = (uintptr)rt_ioremap((void *)phytium_qspi_bus->fqspi.config.mem_start, (phytium_qspi_bus->fqspi.config.channel + 1) * (phytium_qspi_bus->fqspi.flash_size));
-#endif
-
+    phytium_qspi_bus->init = RT_EOK;
     return RT_EOK;
 }
 
@@ -119,6 +116,162 @@ void FtDumpHexByte(const u8 *ptr, u32 buflen)
     }
 }
 
+FError RTQspiFlashWriteData(FQspiCtrl *pctrl, uintptr addr, const u8 *buf, size_t len)
+{
+    FASSERT(pctrl && buf);
+    FError ret = FQSPI_SUCCESS;
+    u32 loop = 0;
+    const u32 mask = (u32)GENMASK(1, 0);
+    u32 reg_val = 0;
+    u32 val = 0;
+    u32 aligned_bit = 0;
+    u8 tmp[QSPI_ALIGNED_BYTE] = {0xff, 0xff, 0xff, 0xff};
+    uintptr base_addr = pctrl->config.base_addr;
+    if (FT_COMPONENT_IS_READY != pctrl->is_ready)
+    {
+        LOG_E("Nor flash not ready !!!");
+        return FQSPI_NOT_READY;
+    }
+
+    /* Flash write enable */
+    ret = FQspiFlashEnableWrite(pctrl);
+    if (ret != FT_SUCCESS)
+    {
+        LOG_E("FQspiFlashEnableWrite failed!");
+        return ret;
+    }
+
+    if (IS_ALIGNED(addr, QSPI_ALIGNED_BYTE)) /* if copy src is aligned by 4 bytes */
+    {
+        /* write alligned data into memory space */
+        for (loop = 0; loop < (len >> 2); loop++)
+        {
+            FQSPI_DAT_WRITE(addr + QSPI_ALIGNED_BYTE * loop, *(u32 *)(buf + QSPI_ALIGNED_BYTE * loop));
+        }
+        /* write not alligned data into memory space */
+        if (len & mask)
+        {
+            addr = addr + (len & ~mask);
+            memcpy(tmp, buf + (len & ~mask), len & mask);
+            FQSPI_DAT_WRITE(addr, *(u32 *)(tmp));
+        }
+    }
+    else
+    {
+        aligned_bit = (addr & mask);
+        addr = addr - aligned_bit;
+        reg_val = FQSPI_READ_REG32(addr, 0);
+
+        for (loop = 0; loop < (QSPI_ALIGNED_BYTE - aligned_bit); loop++)
+        {
+            val = (val << 8) | (buf[loop]);
+            reg_val &= (~(0xff << (loop * 8)));
+        }
+
+        reg_val |= val;
+        reg_val = __builtin_bswap32(reg_val);
+        FQSPI_DAT_WRITE(addr, reg_val);
+
+        buf = buf + loop;
+        len = len - loop;
+        addr = addr + QSPI_ALIGNED_BYTE;
+
+        LOG_D("addr=%p, buf=%p, len=%d, value=%#x\r\n", addr, buf, len, *(u32 *)(buf));
+
+        for (loop = 0; loop < (len >> 2); loop++)
+        {
+            FQSPI_DAT_WRITE(addr + QSPI_ALIGNED_BYTE * loop, *(u32 *)(buf + QSPI_ALIGNED_BYTE * loop));
+        }
+
+        if (!IS_ALIGNED(len, QSPI_ALIGNED_BYTE))
+        {
+            buf = buf + QSPI_ALIGNED_BYTE * loop;
+            len = len - QSPI_ALIGNED_BYTE * loop;
+            addr = addr + QSPI_ALIGNED_BYTE * loop;
+            memcpy(tmp, buf, len);
+            FQSPI_DAT_WRITE(addr, *(u32 *)(tmp));
+        }
+    }
+
+    /* flush buffer data to Flash */
+    FQspiWriteFlush(base_addr);
+
+    ret = FQspiFlashWaitForCmd(pctrl);
+
+    return ret;
+}
+
+size_t RTQspiFlashReadData(FQspiCtrl *pctrl, uintptr addr, u8 *buf, size_t len)
+{
+    /* addr of copy dst or src might be zero */
+    FASSERT(pctrl && buf);
+    size_t loop = 0;
+    const size_t cnt = len / QSPI_ALIGNED_BYTE;    /* cnt number of 4-bytes need copy  */
+    const size_t remain = len % QSPI_ALIGNED_BYTE; /* remain number of 1-byte not aligned */
+    u8 align_buf[QSPI_ALIGNED_BYTE];
+    size_t copy_len = 0;
+    intptr src_addr = (intptr)addr; /* conver to 32/64 bit addr */
+    intptr dst_addr = (intptr)buf;
+
+    if (FT_COMPONENT_IS_READY != pctrl->is_ready)
+    {
+        LOG_E("Nor flash not ready !!!");
+        return 0;
+    }
+    if (0 == pctrl->rd_cfg.rd_cmd)
+    {
+        LOG_E("Nor flash read command is not ready !!!");
+        return 0;
+    }
+
+    if (0 == len)
+    {
+        return 0;
+    }
+
+    if (IS_ALIGNED(src_addr, QSPI_ALIGNED_BYTE)) /* if copy src is aligned by 4 bytes */
+    {
+        /* read 4-bytes aligned buf part */
+        for (loop = 0; loop < cnt; loop++)
+        {
+            *(u32 *)dst_addr = *(volatile u32 *)(src_addr);
+            src_addr += QSPI_ALIGNED_BYTE;
+            dst_addr += QSPI_ALIGNED_BYTE;
+        }
+
+        copy_len += (loop << 2);
+
+        if (remain > 0)
+        {
+            *(u32 *)align_buf = *(volatile u32 *)(src_addr);
+        }
+
+        /* read remain un-aligned buf byte by byte */
+        for (loop = 0; loop < remain; loop++)
+        {
+            *(u8 *)dst_addr = align_buf[loop];
+            dst_addr += 1;
+        }
+
+        copy_len += loop;
+
+    }
+    else /* if copy src is not aligned */
+    {
+        /* read byte by byte */
+        for (loop = 0; loop < len; loop++)
+        {
+            *(u8 *)dst_addr = *(volatile u8 *)(src_addr);
+            dst_addr += 1;
+            src_addr += 1;
+        }
+        copy_len += loop;
+
+    }
+
+    return copy_len;
+}
+
 static rt_err_t phytium_qspi_configure(struct rt_spi_device *device, struct rt_spi_configuration *configuration)
 {
     RT_ASSERT(device != RT_NULL);
@@ -134,7 +287,6 @@ static rt_err_t phytium_qspi_configure(struct rt_spi_device *device, struct rt_s
         LOG_E("Qspi init failed!!!\n");
         return -RT_ERROR;
     }
-    qspi_bus->init = RT_EOK;
 
     return RT_EOK;
 }
@@ -146,15 +298,13 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_
     FError ret = FT_SUCCESS;
     phytium_qspi_bus *qspi_bus;
     struct rt_qspi_message *qspi_message = (struct rt_qspi_message *)message;
-
     rt_uint32_t cmd = qspi_message->instruction.content;
     rt_uint32_t flash_addr = qspi_message->address.content;
     rt_uint32_t len = message->length;
-
     const void *rcvb = message->recv_buf;
     const void *sndb = message->send_buf;
-
     qspi_bus = (phytium_qspi_bus *)(struct phytium_qspi_bus *) device->bus->parent.user_data;
+    uintptr addr = qspi_bus->fqspi.config.mem_start + qspi_bus->fqspi.config.channel * qspi_bus->fqspi.flash_size + flash_addr;
 
     /*Distinguish the write mode according to different commands*/
     if (cmd == FQSPI_FLASH_CMD_PP || cmd == FQSPI_FLASH_CMD_QPP || cmd == FQSPI_FLASH_CMD_4PP || cmd == FQSPI_FLASH_CMD_4QPP)
@@ -165,9 +315,21 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_
             LOG_E("Failed to erase mem, test result 0x%x.\r\n", ret);
             return -RT_ERROR;
         }
-        /* write norflash data */
-        ret = FQspiFlashWriteData(&(qspi_bus->fqspi), cmd, flash_addr, (u8 *)message->send_buf, len);
 
+        ret = FQspiFlashWriteDataConfig(&(qspi_bus->fqspi), cmd);
+        if (FQSPI_SUCCESS != ret)
+        {
+            LOG_E("Failed to config write, test result 0x%x.\r\n", ret);
+            return -RT_ERROR;
+        }        /* write norflash data */
+#ifdef RT_USING_SMART
+        addr = (uintptr)rt_ioremap((void *)addr, len);
+#endif
+        ret = RTQspiFlashWriteData(&(qspi_bus->fqspi), addr, (u8 *)message->send_buf, len);
+#ifdef RT_USING_SMART
+        rt_iounmap(addr);
+        rt_hw_tlb_invalidate_all();
+#endif
         if (FT_SUCCESS != ret)
         {
             LOG_E("Failed to write mem, test result 0x%x.\r\n", ret);
@@ -175,7 +337,7 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_
         }
         else
         {
-            LOG_D("Write successfully!!!\r\n");
+            LOG_I("Write successfully!!!\r\n");
         }
 
         return RT_EOK;
@@ -188,11 +350,18 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_
         ret |= FQspiFlashReadDataConfig(&(qspi_bus->fqspi), cmd);
         if (FT_SUCCESS != ret)
         {
-            LOG_D("Failed to config read, test result 0x%x.\r\n", ret);
+            LOG_E("Failed to config read, test result 0x%x.\r\n", ret);
             return -RT_ERROR;
         }
         /* read norflash data */
-        size_t read_len = FQspiFlashReadData(&(qspi_bus->fqspi), flash_addr, (u8 *)message->recv_buf, len);
+#ifdef RT_USING_SMART
+        addr = (uintptr)rt_ioremap((void *)addr, len);
+#endif
+        size_t read_len = RTQspiFlashReadData(&(qspi_bus->fqspi), addr, (u8 *)message->recv_buf, len);
+#ifdef RT_USING_SMART
+        rt_iounmap(addr);
+        rt_hw_tlb_invalidate_all();
+#endif
         if (read_len != len)
         {
             LOG_E("Failed to read mem, read len = %d.\r\n", read_len);
@@ -200,7 +369,7 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_
         }
         else
         {
-            LOG_D("Read successfully!!!, read_len = %d\r\n", read_len);
+            LOG_I("Read successfully!!!, read_len = %d\r\n", read_len);
         }
         FtDumpHexByte(message->recv_buf, read_len);
 
@@ -242,7 +411,7 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_
     }
 
     LOG_E("cmd not found!!!\r\n");
-    return ret;
+    return -RT_ERROR;
 }
 
 static struct rt_spi_ops phytium_qspi_ops =
@@ -265,8 +434,8 @@ rt_err_t phytium_qspi_bus_attach_device(const char *bus_name, const char *device
         result = RT_ENOMEM;
         goto __exit;
     }
-
     result = rt_spi_bus_attach_device(&(qspi_device->parent), device_name, bus_name, RT_NULL);
+
 __exit:
     if (result != RT_EOK)
     {
@@ -280,13 +449,13 @@ __exit:
 
 static int rt_qspi_init(phytium_qspi_bus *phytium_qspi)
 {
-    int result = RT_EOK;
+    rt_err_t result = RT_EOK;
 
     phytium_qspi->qspi_bus.parent.user_data = phytium_qspi;
 
     if (rt_qspi_bus_register(&phytium_qspi->qspi_bus, phytium_qspi->name, &phytium_qspi_ops) == RT_EOK)
     {
-        LOG_D("Qspi bus register successfully!!!\n");
+        LOG_E("Qspi bus register successfully!!!\n");
     }
     else
     {
@@ -307,6 +476,7 @@ int rt_hw_qspi_init(void)
     phytium_qspi0_bus.name = "QSPI0";
     phytium_qspi0_bus.fqspi_id = FQSPI0_ID;
     rt_qspi_init(&phytium_qspi0_bus);
+    FQspiInit(&phytium_qspi0_bus);
 #endif
     return 0;
 }

+ 27 - 9
bsp/phytium/libraries/drivers/drv_spi.c

@@ -96,11 +96,7 @@ static rt_err_t spim_configure(struct rt_spi_device *device,
     RT_ASSERT(device != RT_NULL);
     RT_ASSERT(configuration != RT_NULL);
     phytium_spi_bus *user_data_cfg = device->parent.user_data;
-    FSpimConfig input_cfg = *FSpimLookupConfig(user_data_cfg->spim_instance.config.instance_id);
-#ifdef RT_USING_SMART
-    input_cfg.base_addr = (uintptr)rt_ioremap((void *)input_cfg.base_addr, 0x1000);
-#endif
-    FSpimConfig *set_input_cfg = &input_cfg;
+    FSpimConfig *set_input_cfg = &user_data_cfg->spim_instance.config;
 
     /* set fspim device according to configuration */
     if (configuration->mode & RT_SPI_CPOL)
@@ -130,7 +126,7 @@ static rt_err_t spim_configure(struct rt_spi_device *device,
     }
 
     /* send spi_cfg to RT-Thread sys */
-    ret = FSpimCfgInitialize(&user_data_cfg->spim_instance, &input_cfg);
+    ret = FSpimCfgInitialize(&user_data_cfg->spim_instance, set_input_cfg);
     if (FSPIM_SUCCESS != ret)
     {
         return -RT_ERROR;
@@ -211,10 +207,32 @@ static rt_ssize_t spim_xfer(struct rt_spi_device *device, struct rt_spi_message
     return message_length;
 }
 
-static int spi_init(phytium_spi_bus *phytium_spi)
+static int spi_init(phytium_spi_bus *spi_bus)
 {
-    rt_spi_bus_register(&phytium_spi->spi_bus, phytium_spi->name, &spim_ops);
-    RT_ASSERT((struct rt_spi_device *)rt_device_find(phytium_spi->name));
+    FError ret = FSPIM_SUCCESS;
+    FSpimConfig input_cfg = *FSpimLookupConfig(spi_bus->spim_instance.config.instance_id);
+#ifdef RT_USING_SMART
+    input_cfg.base_addr = (uintptr)rt_ioremap((void *)input_cfg.base_addr, 0x1000);
+#endif
+    FSpimConfig *set_input_cfg = &input_cfg;
+
+    /* send spi_cfg to RT-Thread sys */
+    ret = FSpimCfgInitialize(&spi_bus->spim_instance, &input_cfg);
+    if (FSPIM_SUCCESS != ret)
+    {
+        return -RT_ERROR;
+    }
+
+    /* irq setting */
+    ret = FSpimSetupInterrupt(&spi_bus->spim_instance);
+    if (FSPIM_SUCCESS != ret)
+    {
+        return -RT_ERROR;
+    }
+    FSpimRegisterIntrruptHandler(&spi_bus->spim_instance, FSPIM_INTR_EVT_RX_DONE, rt_ft_send_event_done, NULL);
+
+    rt_spi_bus_register(&spi_bus->spi_bus, spi_bus->name, &spim_ops);
+    RT_ASSERT((struct rt_spi_device *)rt_device_find(spi_bus->name));
 
     return 0;
 }

+ 1 - 0
bsp/phytium/libraries/drivers/drv_xmac.h

@@ -26,6 +26,7 @@
 #include "fxmac_bdring.h"
 #include "eth_ieee_reg.h"
 #include "fcpu_info.h"
+#include "fxmac_phy.h"
 
 #ifdef __cplusplus
 extern "C" {

+ 131 - 0
bsp/phytium/libraries/drivers_example/can_sample.c

@@ -0,0 +1,131 @@
+
+#include "rtconfig.h"
+#ifdef BSP_USING_CAN
+#include <rtdevice.h>
+#include "drv_can.h"
+#define LOG_TAG      "can_drv"
+#include "drv_log.h"
+#include "fcan.h"
+#include "fio_mux.h"
+#include "interrupt.h"
+#include "fcpu_info.h"
+/*can test example*/
+static rt_device_t can_dev;            /* CAN device handle */
+static struct rt_semaphore rx_sem;
+static rt_err_t can_rx_call(rt_device_t dev, rt_size_t size)
+{
+    /* The CAN generates an interrupt after receiving data, calls this callback function, and then sends the received semaphore */
+    rt_sem_release(&rx_sem);
+    return RT_EOK;
+}
+static void can_rx_thread(void *parameter)
+{
+    int i;
+    rt_err_t res = RT_EOK;
+    struct rt_can_msg rxmsg = {0};
+    rt_device_set_rx_indicate(can_dev, can_rx_call);
+    while (1)
+    {
+        /* The hdr value is - 1, which means reading data directly from the uselist */
+        rxmsg.hdr_index = -1;
+        /* Blocking waiting to receive semaphore */
+        res = rt_sem_take(&rx_sem, RT_WAITING_FOREVER);
+        RT_ASSERT(res == RT_EOK);
+        /* Read a frame of data from CAN */
+        rt_device_read(can_dev, 0, &rxmsg, sizeof(rxmsg));
+        /* Print data ID and conten */
+        rt_kprintf("ID:%x\n", rxmsg.id);
+        rt_kprintf("DATA: ");
+        for (i = 0; i < 8; i++)
+        {
+            rt_kprintf("%2x ", rxmsg.data[i]);
+        }
+
+        rt_kprintf("\n");
+    }
+}
+
+int can_sample(int argc, char *argv[])
+{
+    struct rt_can_msg msg = {0};
+    rt_err_t res = RT_EOK;;
+    rt_thread_t thread;
+    char can_name[RT_NAME_MAX];
+
+    if (argc == 2)
+    {
+        rt_strncpy(can_name, argv[1], RT_NAME_MAX);
+    }
+    else
+    {
+        rt_strncpy(can_name, "CAN0", RT_NAME_MAX);
+    }
+    /* Find CAN device */
+    can_dev = rt_device_find(can_name);
+    if (!can_dev)
+    {
+        rt_kprintf("Find %s failed.\n", can_name);
+        return -RT_ERROR;
+    }
+
+    /* Initialize CAN receive signal quantity */
+    res = rt_sem_init(&rx_sem, "rx_sem", 0, RT_IPC_FLAG_FIFO);
+    RT_ASSERT(res == RT_EOK);
+
+    /* Open the CAN device in the way of interrupt reception and transmission */
+    res = rt_device_open(can_dev, RT_DEVICE_FLAG_INT_TX | RT_DEVICE_FLAG_INT_RX);
+    rt_device_control(can_dev, RT_CAN_CMD_SET_BAUD, CAN1MBaud);
+    RT_ASSERT(res == RT_EOK);
+
+#ifdef RT_CAN_USING_HDR
+    struct rt_can_filter_item items[4] =
+    {
+        RT_CAN_FILTER_ITEM_INIT(0x3, 0, 0, 0, 0, RT_NULL, RT_NULL),
+        RT_CAN_FILTER_ITEM_INIT(0x3, 0, 0, 0, 0, RT_NULL, RT_NULL),
+        RT_CAN_FILTER_ITEM_INIT(0x3, 0, 0, 0, 0, RT_NULL, RT_NULL),
+        RT_CAN_FILTER_ITEM_INIT(0x3, 0, 0, 0, 0, RT_NULL, RT_NULL)
+
+    };
+    struct rt_can_filter_config cfg = {4, 1, items}; /* There are 4 filter tables in total */
+
+    /* Set the hardware filter table. After setting, only frames with id=0x03 can be received*/
+    res = rt_device_control(can_dev, RT_CAN_CMD_SET_FILTER, &cfg);
+    RT_ASSERT(res == RT_EOK);
+#endif
+
+    /* Create data receiving thread */
+    thread = rt_thread_create("can_rx", can_rx_thread, RT_NULL, 4096, 25, 10);
+    if (thread != RT_NULL)
+    {
+        res = rt_thread_startup(thread);
+        RT_ASSERT(res == RT_EOK);
+    }
+    else
+    {
+        rt_kprintf("Create can_rx thread failed.\n");
+    }
+
+    msg.id = 0x78;              /* ID = 0x78 */
+    msg.ide = RT_CAN_STDID;     /* Standard format */
+    msg.rtr = RT_CAN_DTR;       /* Data frame */
+    msg.len = 8;                /* Data length is 8 */
+    /* Send CAN data */
+    for (int i = 0; i < 1; i++)
+    {
+        /* 8-byte data to be sent */
+        msg.data[0] = 0x00 + i;
+        msg.data[1] = 0x11 + i;
+        msg.data[2] = 0x22 + i;
+        msg.data[3] = 0x33 + i;
+        msg.data[4] = 0x44 + i;
+        msg.data[5] = 0x55 + i;
+        msg.data[6] = 0x66 + i;
+        msg.data[7] = 0x77 + i;
+        rt_device_write(can_dev, 0, &msg, sizeof(msg));
+    }
+
+    return res;
+}
+/* Enter can_sample command for testing */
+MSH_CMD_EXPORT(can_sample, can device sample);
+#endif

+ 111 - 0
bsp/phytium/libraries/drivers_example/gpio_sample.c

@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Email: opensource_embedded@phytium.com.cn
+ *
+ * Change Logs:
+ * Date        Author       Notes
+ * 2022-12-10  liqiaozhong  first commit
+ * 2025-04-08  liqiaozhong
+ *
+ */
+
+#include "rtconfig.h"
+#ifdef BSP_USING_GPIO
+#include <rtthread.h>
+#include <rtdevice.h>
+#include <string.h>
+
+#include "ftypes.h"
+#include "fkernel.h"
+#include "board.h"
+
+#include "fgpio.h"
+/**************************** Type Definitions *******************************/
+/************************** Variable Definitions *****************************/
+static rt_base_t input_pin_index = 0U;
+static rt_base_t output_pin_index = 0U;
+/***************** Macros (Inline Functions) Definitions *********************/
+#define FGPIO_OPS_PIN_PORT_A           0U
+#define FGPIO_OPS_PIN_PORT_B           1U
+#define FGPIO_OPS_LEVEL_LOW            0U
+#define FGPIO_OPS_LEVEL_HIGH           1U
+
+/* Extract the index number from input_pin_index */
+#define FGPIO_GET_CTRL(index) (((index) - FGPIO_GET_PIN(index) - (FGPIO_PORT_A * FGPIO_PIN_NUM)) / (FGPIO_PORT_NUM * FGPIO_PIN_NUM))
+
+/* Extract the pin number from input_pin_index */
+#define FGPIO_GET_PIN(index) ((index) % FGPIO_PIN_NUM)
+/***************************** main function *********************************/
+static void gpio_irq_test(s32 vector, void *param)
+{
+    FGpio *gpio_instance = (FGpio *)param;
+    rt_kprintf("GPIO-%d-%d, PIN_IRQ_MODE_RISING Interrupt Asserted!!! \r\n",
+                gpio_instance->config.ctrl,
+                gpio_instance->config.pin);
+}
+/* this function will toggle output pin and test intr of input pin */
+static int gpio_toggle_sample(uint8_t argc, char **argv)
+{
+    int res = 0;
+    static u32 set_level = FGPIO_OPS_LEVEL_LOW;
+    u32 get_level;
+
+#if defined(FIREFLY_DEMO_BOARD)
+    /* pin init */
+    input_pin_index = FGPIO_ID(FGPIO_CTRL_0, FGPIO_PIN_0);
+    rt_pin_mode(input_pin_index, PIN_MODE_INPUT);
+    rt_pin_attach_irq(input_pin_index, PIN_IRQ_MODE_RISING, gpio_irq_test, RT_NULL);
+    output_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_13);
+    rt_pin_mode(output_pin_index, PIN_MODE_OUTPUT);
+#endif
+
+#if defined(E2000D_DEMO_BOARD)||defined(E2000Q_DEMO_BOARD)
+    /* pin init */
+    input_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_13);
+    rt_pin_mode(input_pin_index, PIN_MODE_INPUT);
+    rt_pin_attach_irq(input_pin_index, PIN_IRQ_MODE_RISING, gpio_irq_test, RT_NULL);
+    output_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_10);
+    rt_pin_mode(output_pin_index, PIN_MODE_OUTPUT);
+#endif
+    /* toggle operation */
+    rt_pin_write(output_pin_index, set_level);
+    set_level = (FGPIO_OPS_LEVEL_LOW == set_level) ? FGPIO_OPS_LEVEL_HIGH : FGPIO_OPS_LEVEL_LOW;
+    rt_pin_irq_enable(input_pin_index, PIN_IRQ_ENABLE);
+    rt_pin_write(output_pin_index, set_level);
+    get_level = rt_pin_read(input_pin_index);
+    if (set_level != get_level)
+    {
+        rt_kprintf(" input level not equals to output level!!!\r\n");
+        res = -1;
+        goto exit;
+    }
+    else
+    {
+        rt_kprintf(" ==> Set GPIO-%d-%d to %s \r\n",
+                FGPIO_GET_CTRL(output_pin_index),
+                FGPIO_GET_PIN(output_pin_index),
+                (set_level == FGPIO_PIN_LOW) ? "low" : "high");
+        rt_kprintf(" <== Get GPIO-%d-%d as %s \r\n",
+                FGPIO_GET_CTRL(input_pin_index),
+                FGPIO_GET_PIN(input_pin_index),
+                (get_level == FGPIO_PIN_LOW) ? "low" : "high");
+    }
+exit:
+    /* print message on example run result */
+    if (res == 0)
+    {
+        rt_kprintf("%s@%d:rtthread gpio test example [success].\r\n", __func__, __LINE__);
+    }
+    else
+    {
+        rt_kprintf("%s@%d:rtthread gpio test example [failure], res = %d\r\n", __func__, __LINE__, res);
+    }
+
+    return res;
+}
+
+MSH_CMD_EXPORT(gpio_toggle_sample, FT GPIO toggle sample.);
+#endif

+ 59 - 0
bsp/phytium/libraries/drivers_example/i2c_sample.c

@@ -0,0 +1,59 @@
+
+#include "rtconfig.h"
+#if defined BSP_USING_I2C
+#include "drv_log.h"
+#include "drv_i2c.h"
+#include "fi2c.h"
+#include "fi2c_hw.h"
+#include "fio_mux.h"
+#include "fmio_hw.h"
+#include "fmio.h"
+#include "fparameters.h"
+
+static struct rt_i2c_bus_device *i2c_test_bus = RT_NULL;
+int i2c_sample(int argc, char *argv[])
+{
+    char name[RT_NAME_MAX];
+#if defined(FIREFLY_DEMO_BOARD)
+    rt_strncpy(name, "MIO1", RT_NAME_MAX);
+#endif
+#if defined(E2000D_DEMO_BOARD)||defined(E2000Q_DEMO_BOARD)
+
+    rt_strncpy(name, "MIO15", RT_NAME_MAX);
+#endif
+    i2c_test_bus = (struct rt_i2c_bus_device *)rt_device_find(name);
+
+    rt_uint8_t read_buf[2] = {0x0, 0x0};
+    rt_uint8_t write_buf[2] = {0x0, 0x1};
+    if (i2c_test_bus == RT_NULL)
+    {
+        rt_kprintf("can't find %s device!\n", name);
+    }
+    else
+    {
+        rt_kprintf("find %s device!!!!\n", name);
+    }
+
+    struct rt_i2c_msg read_msgs;
+    read_msgs.addr = 0x50;
+    read_msgs.flags = RT_I2C_RD;
+    read_msgs.buf = read_buf;
+    read_msgs.len = 1;
+    rt_i2c_transfer(i2c_test_bus, &read_msgs, 1);
+    rt_kprintf("read_buf = %x\n", *read_msgs.buf);
+
+    struct rt_i2c_msg write_msgs;
+    write_msgs.addr = 0x50;
+    write_msgs.flags = RT_I2C_WR;
+    write_msgs.buf = write_buf;
+    write_msgs.len = 1;
+    rt_i2c_transfer(i2c_test_bus, &write_msgs, 1);
+    read_buf[0] = 0x02;
+    rt_i2c_transfer(i2c_test_bus, &read_msgs, 1);
+    rt_kprintf("read_buf = %x\n", *read_msgs.buf);
+
+    return RT_EOK;
+}
+MSH_CMD_EXPORT(i2c_sample, i2c device sample);
+
+#endif

+ 68 - 0
bsp/phytium/libraries/drivers_example/i2s_mic_example.c

@@ -0,0 +1,68 @@
+/* pcm_record.c */
+#include "rtconfig.h"
+#if defined(BSP_USING_I2S)||defined(BSP_USING_SDIF)
+#include <rtthread.h>
+#include <rtdevice.h>
+#include <dfs_posix.h>
+
+#define RECORD_TIME_MS      5000
+#define RT_I2S_SAMPLERATE   8000
+#define RECORD_CHANNEL      2
+#define RECORD_CHUNK_SZ     ((RT_I2S_SAMPLERATE * RECORD_CHANNEL * 2) * 20 / 1000)
+
+#define SOUND_DEVICE_NAME    "I2S0"      /* Audio 设备名称 */
+static rt_device_t mic_dev;              /* Audio 设备句柄 */
+
+int pcm_record()
+{
+    int fd = -1;
+    uint8_t *buffer = NULL;
+    int length, total_length = 0;
+
+    fd = open("file.pcm", O_WRONLY | O_CREAT);
+    if (fd < 0)
+    {
+        rt_kprintf("open file for recording failed!\n");
+        return -1;
+    }
+    rt_kprintf("1\n");
+    buffer = rt_malloc(RECORD_CHUNK_SZ);
+    if (buffer == RT_NULL)
+        goto __exit;
+    rt_kprintf("2\n");
+    mic_dev = rt_device_find(SOUND_DEVICE_NAME);
+    if (mic_dev == RT_NULL)
+        goto __exit;
+    rt_kprintf("3\n");
+    rt_device_open(mic_dev, RT_DEVICE_OFLAG_RDONLY);
+    rt_kprintf("4\n");
+    while (1)
+    {
+        rt_kprintf("6\n");
+        length = rt_device_read(mic_dev, 0, buffer, RECORD_CHUNK_SZ);
+        rt_kprintf("7\n");
+        if (length)
+        {
+            write(fd, buffer, length);
+            total_length += length;
+        }
+
+        if ((total_length / RECORD_CHUNK_SZ) >  (RECORD_TIME_MS / 20))
+            break;
+    }
+
+    close(fd);
+
+    rt_device_close(mic_dev);
+
+__exit:
+    if (fd >= 0)
+        close(fd);
+
+    if (buffer)
+        rt_free(buffer);
+
+    return 0;
+}
+MSH_CMD_EXPORT(pcm_record, record voice to a pcm file);  // 修改命令描述
+#endif

+ 98 - 0
bsp/phytium/libraries/drivers_example/qspi_sample.c

@@ -0,0 +1,98 @@
+
+#include "rtconfig.h"
+#ifdef BSP_USING_QSPI
+#include <rtthread.h>
+#ifdef RT_USING_SMART
+    #include <ioremap.h>
+#endif
+#include "rtdevice.h"
+#include "drv_qspi.h"
+#include "fqspi_flash.h"
+#include "fiopad.h"
+#include "fqspi_hw.h"
+/*example*/
+struct rt_qspi_message qspi_write_message;
+struct rt_qspi_message qspi_read_message;
+
+static struct rt_qspi_device *qspi_test_device;        /* phytium device bus handle */
+rt_err_t qspi_init()
+{
+    rt_err_t res = RT_EOK;
+    res = phytium_qspi_bus_attach_device("QSPI0", "QSPIDEV");
+    RT_ASSERT(res == RT_EOK);
+    qspi_test_device = (struct rt_qspi_device *)rt_device_find("QSPIDEV");
+
+    return res;
+}
+
+/*write cmd example message improvement*/
+void qspi_thread(void *parameter)
+{
+    rt_size_t res;
+    qspi_init();
+    /*Read and write flash chip fixed area repeatedly*/
+    qspi_write_message.address.content = 0x360000 ;/*Flash address*/
+    qspi_write_message.instruction.content = 0x02 ;/*write cmd*/
+    qspi_write_message.parent.send_buf = "phytium hello world!";
+    qspi_write_message.parent.length = strlen((char *)qspi_write_message.parent.send_buf) + 1;
+    res = rt_qspi_transfer_message(qspi_test_device, &qspi_write_message);
+
+    qspi_read_message.address.content = 0x360000 ;/*Flash address*/
+    qspi_read_message.instruction.content = 0x03 ;/*write cmd*/
+    qspi_read_message.parent.length = 128;/*write cmd*/
+    qspi_read_message.parent.recv_buf = (rt_uint8_t *)rt_malloc(sizeof(rt_uint8_t) * qspi_read_message.parent.length);
+    res = rt_qspi_transfer_message(qspi_test_device, &qspi_read_message);
+
+    if (res != qspi_read_message.parent.length)
+    {
+        LOG_E("The qspi read data length is incorrect.\r\n");
+        goto exit;
+    }
+
+    char *send_ptr = (char *)qspi_write_message.parent.send_buf;
+    char *recv_ptr = (char *)qspi_read_message.parent.recv_buf;
+
+    for (int i = 0; i < qspi_write_message.parent.length; i++)
+    {
+        if (send_ptr[i] != recv_ptr[i])
+        {
+            LOG_E("The qspi read and write data is inconsistent.\r\n");
+            goto exit;
+        }
+    }
+
+    rt_uint8_t recv;
+    rt_uint8_t cmd = 0x9F;/*read the flash status reg2*/
+    res = rt_qspi_send_then_recv(qspi_test_device, &cmd, sizeof(cmd), &recv, sizeof(recv));
+    if (recv == 0x0 || res != 0)
+    {
+        LOG_E("The status reg is incorrect\n");
+        res = RT_ERROR;
+        goto exit;
+    }
+
+exit:
+    /* print message on example run result */
+    if (res != 0)
+    {
+        rt_kprintf("%s@%d:rtthread qspi flash test example [success].\r\n", __func__, __LINE__);
+    }
+    else
+    {
+        rt_kprintf("%s@%d:rtthread qspi flash test example [failure], res = %d\r\n", __func__, __LINE__, res);
+    }
+}
+
+rt_err_t qspi_sample(int argc, char *argv[])
+{
+    rt_thread_t thread;
+    rt_err_t res;
+    thread = rt_thread_create("qspi_thread", qspi_thread, RT_NULL, 4096, 25, 10);
+    res = rt_thread_startup(thread);
+    RT_ASSERT(res == RT_EOK);
+
+    return res;
+}
+/* Enter qspi_sample command for testing */
+MSH_CMD_EXPORT(qspi_sample, qspi sample);
+#endif

+ 105 - 0
bsp/phytium/libraries/drivers_example/spi_sample.c

@@ -0,0 +1,105 @@
+#include"rtconfig.h"
+#ifdef BSP_USING_SPI
+#include"rtconfig.h"
+#include <rtthread.h>
+#include <rtdevice.h>
+#include "interrupt.h"
+#define LOG_TAG      "spi_drv"
+#include "drv_log.h"
+#include <string.h>
+#include "fparameters.h"
+#include "fcpu_info.h"
+#include "fkernel.h"
+#include "ftypes.h"
+
+#include <dfs_file.h>
+#include "fspim.h"
+#include "fspim_hw.h" /* include low-level header file for internal probe */
+#include "drv_spi.h"
+static struct rt_spi_device spi_flash_device;
+/* spi test example */
+static void fspim_test_sample(int argc, char *argv[])
+{
+    static struct rt_spi_device *spi_device = RT_NULL;
+    static struct rt_spi_device *spi_bus = RT_NULL;
+    rt_err_t res = RT_EOK;
+
+#if defined(E2000D_DEMO_BOARD)||defined(E2000Q_DEMO_BOARD)
+    spi_bus = (struct rt_spi_device *)rt_device_find("SPI2");
+    rt_spi_bus_attach_device(&spi_flash_device, "flash", "SPI2", spi_bus);
+#endif
+
+#if defined(FIREFLY_DEMO_BOARD)
+    spi_bus = (struct rt_spi_device *)rt_device_find("SPI0");
+    rt_spi_bus_attach_device(&spi_flash_device, "flash", "SPI0", spi_bus);
+#endif
+
+    rt_uint8_t send_to_flash_id = 0x9f; /* Flash cmd */
+    rt_uint8_t recv_from_falsh_id1[5] = {0};
+    rt_uint8_t recv_from_falsh_id2[5] = {0};
+
+    /* find the spi device to get the device handle */
+    spi_device = (struct rt_spi_device *)rt_device_find("flash");
+    if (!spi_device)
+    {
+        rt_kprintf("fspim_test_sample run failed! can't find flash device!\n");
+    }
+    else
+    {
+        static struct rt_spi_message msg1, msg2;
+
+        msg1.send_buf   = &send_to_flash_id;
+        msg1.recv_buf   = RT_NULL;
+        msg1.length     = 1;
+        msg1.cs_take    = 1;
+        msg1.cs_release = 0;
+        msg1.next       = &msg2;
+
+        msg2.send_buf   = RT_NULL;
+        msg2.recv_buf   = recv_from_falsh_id2;
+        msg2.length     = 5;
+        msg2.cs_take    = 0;
+        msg2.cs_release = 1;
+        msg2.next       = RT_NULL;
+
+        /* send the command to read the ID using rt_spi_send_then_recv() */
+        rt_spi_send_then_recv(spi_device, &send_to_flash_id, 1, recv_from_falsh_id1, 5);
+        rt_kprintf("use rt_spi_send_then_recv() read flash ID is:0x%x 0x%x 0x%x 0x%x 0x%x\n", recv_from_falsh_id1[0], recv_from_falsh_id1[1], recv_from_falsh_id1[2], recv_from_falsh_id1[3], recv_from_falsh_id1[4]);
+
+        /* send the command to read the ID using rt_spi_transfer_message() */
+        rt_spi_transfer_message(spi_device, &msg1);
+        rt_kprintf("use rt_spi_transfer_message() read flash ID is:0x%x 0x%x 0x%x 0x%x 0x%x\n", recv_from_falsh_id2[0], recv_from_falsh_id2[1], recv_from_falsh_id2[2], recv_from_falsh_id2[3], recv_from_falsh_id2[4]);
+
+        for (int i = 0; i < 5; i++)
+        {
+            if(recv_from_falsh_id1[i] == 0xff)
+            {
+                res = RT_ERROR;
+                goto exit;
+            }
+        }
+        for (int j = 0; j < 5; j++)
+        {
+            if(recv_from_falsh_id2[j] == 0xff)
+            {
+                res = RT_ERROR;
+                goto exit;
+            }
+        }
+    }
+exit:
+    /* print message on example run result */
+    if (res == 0)
+    {
+        rt_kprintf("%s@%d:rtthread spi test example [success].\r\n", __func__, __LINE__);
+    }
+    else
+    {
+        rt_kprintf("%s@%d:rtthread spi test example [failure], res = %d\r\n", __func__, __LINE__, res);
+    }
+
+    return res;
+
+}
+MSH_CMD_EXPORT(fspim_test_sample, "fspim test sample");
+#endif

+ 1 - 1
bsp/phytium/libraries/phytium_standalone_sdk_install.py

@@ -19,6 +19,6 @@ def clone_repository(branch, commit_hash):
 if __name__ == "__main__":
 
     branch_to_clone = "master"
-    commit_to_clone = "2ff7883c95cd312c636c9f35903b46ae74f8749d"
+    commit_to_clone = "ebb6a635fcc5145592636ce24cecd91807104d35"
 
     clone_repository(branch_to_clone, commit_to_clone)

+ 1 - 1
components/drivers/usb/cherryusb/SConscript

@@ -89,7 +89,7 @@ if GetDepend(['RT_CHERRYUSB_DEVICE']):
         else:
             src += Glob('port/ch32/usb_dc_usbfs.c')
     if GetDepend(['RT_CHERRYUSB_DEVICE_PUSB2']):
-        path += [cwd + '/port/xhci/rt-thread']
+        path += [cwd + '/port/pusb2/rt-thread']
         src += Glob('port/pusb2/rt-thread/usb_dc_glue_phytium.c')
         if GetDepend(['ARCH_ARMV8']):
             LIBPATH = [cwd + '/port/pusb2']

+ 1 - 0
components/drivers/usb/cherryusb/port/pusb2/rt-thread/usb_config.h

@@ -12,6 +12,7 @@
 #define CHERRYUSB_CONFIG_H
 
 #include "rtconfig.h"
+#include <rtthread.h> 
 
 /* ================ USB common Configuration ================ */
 

+ 5 - 0
components/drivers/usb/cherryusb/port/pusb2/rt-thread/usb_dc_glue_phytium.c

@@ -86,4 +86,9 @@ void *usb_sys_malloc_align(size_t align, size_t size)
     }
 
     return buf;
+}
+
+int usbd_set_remote_wakeup(uint8_t busid)
+{
+    return -1;
 }