From df715100f2239d2ee12be486e1fa1b1c6fa361c1 Mon Sep 17 00:00:00 2001 From: yuanzihao Date: Fri, 28 Jun 2024 23:41:31 +0800 Subject: [PATCH] [BSP][HC32]add lckfb-hc32f4a0-lqfp100 (#9119) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * -以ev_hc32f4a0_lqfp176为模板进行修改 * -修改对应引脚 * -更新readme * -update readme * -添加 lckfb-hc32f4a0-lqfp100 --- .github/workflows/bsp_buildings.yml | 1 + bsp/hc32/README.md | 1 + bsp/hc32/lckfb-hc32f4a0-lqfp100/.config | 1226 +++++++ bsp/hc32/lckfb-hc32f4a0-lqfp100/.cproject | 216 ++ bsp/hc32/lckfb-hc32f4a0-lqfp100/.gitignore | 42 + bsp/hc32/lckfb-hc32f4a0-lqfp100/.project | 68 + bsp/hc32/lckfb-hc32f4a0-lqfp100/Kconfig | 12 + bsp/hc32/lckfb-hc32f4a0-lqfp100/README.md | 97 + bsp/hc32/lckfb-hc32f4a0-lqfp100/SConscript | 15 + bsp/hc32/lckfb-hc32f4a0-lqfp100/SConstruct | 62 + .../applications/SConscript | 15 + .../applications/main.c | 33 + .../applications/xtal32_fcm.c | 98 + bsp/hc32/lckfb-hc32f4a0-lqfp100/board/Kconfig | 936 ++++++ .../lckfb-hc32f4a0-lqfp100/board/SConscript | 38 + bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.c | 165 + bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.h | 53 + .../board/board_config.c | 701 ++++ .../board/board_config.h | 678 ++++ .../board/config/adc_config.h | 94 + .../board/config/can_config.h | 136 + .../board/config/dac_config.h | 42 + .../board/config/dma_config.h | 372 +++ .../board/config/eth_config.h | 40 + .../board/config/gpio_config.h | 175 + .../board/config/i2c_config.h | 331 ++ .../board/config/irq_config.h | 479 +++ .../board/config/pm_config.h | 99 + .../board/config/pulse_encoder_config.h | 544 +++ .../board/config/pwm_tmr_config.h | 881 +++++ .../board/config/qspi_config.h | 74 + .../board/config/sdio_config.h | 92 + .../board/config/spi_config.h | 376 +++ .../board/config/timer_config.h | 247 ++ .../board/config/uart_config.h | 728 ++++ .../board/config/usb_config/usb_app_conf.h | 164 + .../board/config/usb_config/usb_bsp.h | 42 + .../lckfb-hc32f4a0-lqfp100/board/drv_config.h | 40 + .../board/hc32f4xx_conf.h | 204 ++ .../board/linker_scripts/link.icf | 115 + .../board/linker_scripts/link.ld | 270 ++ .../board/linker_scripts/link.sct | 22 + .../board/ports/SConscript | 12 + .../board/ports/drv_spi_flash.c | 122 + .../board/ports/fal/SConscript | 20 + .../board/ports/fal/fal_cfg.h | 42 + .../board/ports/fal/fal_flash_sfud_port.c | 84 + .../board/ports/nand_port.h | 83 + .../board/ports/sdram_port.h | 88 + .../board/ports/tca9539.c | 319 ++ .../board/ports/tca9539.h | 135 + .../lckfb-hc32f4a0-lqfp100/figures/board.png | Bin 0 -> 871042 bytes bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewd | 2974 +++++++++++++++++ bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewp | 2239 +++++++++++++ bsp/hc32/lckfb-hc32f4a0-lqfp100/project.eww | 10 + .../lckfb-hc32f4a0-lqfp100/project.uvoptx | 1100 ++++++ .../lckfb-hc32f4a0-lqfp100/project.uvprojx | 2217 ++++++++++++ bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.h | 354 ++ bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.py | 150 + bsp/hc32/lckfb-hc32f4a0-lqfp100/template.ewp | 1927 +++++++++++ bsp/hc32/lckfb-hc32f4a0-lqfp100/template.eww | 10 + .../lckfb-hc32f4a0-lqfp100/template.uvoptx | 184 + .../lckfb-hc32f4a0-lqfp100/template.uvprojx | 392 +++ 63 files changed, 22486 insertions(+) create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/.config create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/.cproject create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/.gitignore create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/.project create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/Kconfig create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/README.md create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/SConscript create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/SConstruct create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/SConscript create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/main.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/xtal32_fcm.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/Kconfig create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/SConscript create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/adc_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/can_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dac_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dma_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/eth_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/gpio_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/i2c_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/irq_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pm_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pulse_encoder_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pwm_tmr_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/qspi_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/sdio_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/spi_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/timer_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/uart_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_app_conf.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_bsp.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/drv_config.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/hc32f4xx_conf.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.icf create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.ld create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.sct create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/SConscript create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/drv_spi_flash.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/SConscript create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_cfg.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_flash_sfud_port.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/nand_port.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/sdram_port.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.c create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/figures/board.png create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewd create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewp create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/project.eww create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvoptx create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvprojx create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.h create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.py create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/template.ewp create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/template.eww create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvoptx create mode 100644 bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvprojx diff --git a/.github/workflows/bsp_buildings.yml b/.github/workflows/bsp_buildings.yml index 5383c7bcac..b5c3eab558 100644 --- a/.github/workflows/bsp_buildings.yml +++ b/.github/workflows/bsp_buildings.yml @@ -87,6 +87,7 @@ jobs: - "hc32/ev_hc32f448_lqfp80" - "hc32/ev_hc32f460_lqfp100_v2" - "hc32/ev_hc32f472_lqfp100" + - "hc32/lckfb-hc32f4a0-lqfp100" - "hc32l196" - "mm32/mm32f3270-100ask-pitaya" - "mm32f327x" diff --git a/bsp/hc32/README.md b/bsp/hc32/README.md index 5ab5ea2643..57f03240a5 100644 --- a/bsp/hc32/README.md +++ b/bsp/hc32/README.md @@ -11,6 +11,7 @@ HC32 系列 BSP 目前支持情况如下表所示: | [ev_hc32f4a0_lqfp176](ev_hc32f4a0_lqfp176) | 小华 官方 EV_F4A0_LQ176 开发板 | | [ev_hc32f448_lqfp80](ev_hc32f448_lqfp80) | 小华 官方 EV_F448_LQ80 开发板 | | [ev_hc32f472_lqfp100](ev_hc32f472_lqfp100) | 小华 官方 EV_F472_LQ100 开发板 | +| [lckfb-hc32f4a0-lqfp100](lckfb-hc32f4a0-lqfp100) | 立创开发板 天空星-HC32F4A0PITB | | **M1 系列** | | | **M4 系列** | | diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/.config b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.config new file mode 100644 index 0000000000..5909e96105 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.config @@ -0,0 +1,1226 @@ + +# +# RT-Thread Kernel +# +CONFIG_RT_NAME_MAX=8 +# 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_AMP is not set +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_CPUS_NR=1 +CONFIG_RT_ALIGN_SIZE=8 +# 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_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=256 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=512 +# CONFIG_RT_USING_TIMER_ALL_SOFT is not set +# CONFIG_RT_USING_CPU_USAGE_TRACER is not set + +# +# kservice optimization +# +# 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 + +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_USING_OVERFLOW_CHECK=y + +# +# 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=y +# CONFIG_RT_USING_SLAB is not set +# CONFIG_RT_USING_MEMHEAP is not set +CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y +# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set +# CONFIG_RT_USING_SLAB_AS_HEAP is not set +# 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 is not set +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_SCHED_THREAD_CTX 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 + +CONFIG_RT_USING_HW_ATOMIC=y +CONFIG_RT_USING_CPU_FFS=y +CONFIG_ARCH_ARM=y +CONFIG_ARCH_ARM_CORTEX_M=y +CONFIG_ARCH_ARM_CORTEX_M4=y + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 +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 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 is not set +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_UNAMED_PIPE_NUMBER=64 +CONFIG_RT_USING_SYSTEM_WORKQUEUE=y +CONFIG_RT_SYSTEM_WORKQUEUE_STACKSIZE=2048 +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_CAN is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +# CONFIG_RT_USING_PHY is not set +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set +# CONFIG_RT_USING_RANDOM is not set +# CONFIG_RT_USING_PWM is not set +# 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 is not set +# CONFIG_RT_USING_SDIO is not set +# CONFIG_RT_USING_SPI 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_VIRTIO is not set +CONFIG_RT_USING_PIN=y +# CONFIG_RT_USING_KTIME is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CHERRYUSB 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 is not set +# CONFIG_RT_USING_POSIX_DELAY is not set +# CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set +# 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 is not set +# CONFIG_RT_USING_NETDEV is not set +# CONFIG_RT_USING_LWIP 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 is not set +# 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 is not set +# CONFIG_RT_USING_ADT is not set +# CONFIG_RT_USING_RT_LINK is not set +# end of Utilities + +# CONFIG_RT_USING_VBUS is not set + +# +# 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_PERSIMMON 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_RT_TRACE 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 + +# CONFIG_PKG_USING_AUNITY is not set + +# +# 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 + +# +# 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 + +# +# 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_R_TINYMAIX is not set +# end of AI packages + +# +# 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 +# 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 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 +# CONFIG_PKG_USING_TINYSQUARE 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 + +CONFIG_SOC_FAMILY_HC32=y +CONFIG_SOC_SERIES_HC32F4=y + +# +# Hardware Drivers Config +# +CONFIG_SOC_HC32F4A0SI=y + +# +# On-chip Drivers +# +CONFIG_BSP_USING_ON_CHIP_FLASH_CACHE=y +CONFIG_BSP_USING_ON_CHIP_FLASH_ICODE_CACHE=y +CONFIG_BSP_USING_ON_CHIP_FLASH_DCODE_CACHE=y +CONFIG_BSP_USING_ON_CHIP_FLASH_ICODE_PREFETCH=y +# end of On-chip Drivers + +# +# Onboard Peripheral Drivers +# +# CONFIG_BSP_USING_ETH is not set +# CONFIG_BSP_USING_EXMC is not set +# CONFIG_BSP_USING_SPI_FLASH is not set +# CONFIG_BSP_USING_TCA9539 is not set +# end of Onboard Peripheral Drivers + +# +# On-chip Peripheral Drivers +# +CONFIG_BSP_USING_GPIO=y +CONFIG_BSP_USING_UART=y +CONFIG_BSP_USING_UART1=y +# CONFIG_BSP_UART1_RX_USING_DMA is not set +# CONFIG_BSP_UART1_TX_USING_DMA is not set +# CONFIG_BSP_USING_UART2 is not set +# CONFIG_BSP_USING_UART3 is not set +# CONFIG_BSP_USING_UART4 is not set +# CONFIG_BSP_USING_UART5 is not set +# CONFIG_BSP_USING_UART6 is not set +# CONFIG_BSP_USING_UART7 is not set +# CONFIG_BSP_USING_UART8 is not set +# CONFIG_BSP_USING_UART9 is not set +# CONFIG_BSP_USING_UART10 is not set +# CONFIG_BSP_USING_I2C is not set +# CONFIG_BSP_USING_ON_CHIP_FLASH is not set +# CONFIG_BSP_USING_SPI is not set +# CONFIG_BSP_USING_ADC is not set +# CONFIG_BSP_USING_DAC is not set +# CONFIG_BSP_USING_CAN is not set +# CONFIG_BSP_USING_WDT_TMR is not set +# CONFIG_BSP_USING_RTC is not set +# CONFIG_BSP_USING_SDIO is not set +# CONFIG_BSP_USING_PM is not set +# CONFIG_BSP_USING_HWCRYPTO is not set +# CONFIG_BSP_USING_PWM is not set +# CONFIG_BSP_USING_USB is not set +# CONFIG_BSP_USING_QSPI is not set +# CONFIG_BSP_USING_PULSE_ENCODER is not set +# CONFIG_BSP_USING_HWTIMER is not set +# end of On-chip Peripheral Drivers + +# +# Board extended module Drivers +# +# end of Hardware Drivers Config diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/.cproject b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.cproject new file mode 100644 index 0000000000..fc9c48d312 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.cproject @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/.gitignore b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.gitignore new file mode 100644 index 0000000000..7221bde019 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.gitignore @@ -0,0 +1,42 @@ +*.pyc +*.map +*.dblite +*.elf +*.bin +*.hex +*.axf +*.exe +*.pdb +*.idb +*.ilk +*.old +build +Debug +documentation/html +packages/ +*~ +*.o +*.obj +*.out +*.bak +*.dep +*.lib +*.i +*.d +.DS_Stor* +.config 3 +.config 4 +.config 5 +Midea-X1 +*.uimg +GPATH +GRTAGS +GTAGS +.vscode +JLinkLog.txt +JLinkSettings.ini +DebugConfig/ +RTE/ +settings/ +*.uvguix* +cconfig.h diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/.project b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.project new file mode 100644 index 0000000000..d8904aee72 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/.project @@ -0,0 +1,68 @@ + + + project + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + rt-thread + 2 + virtual:/virtual + + + rt-thread/bsp + 2 + virtual:/virtual + + + rt-thread/components + 2 + $%7BPARENT-3-PROJECT_LOC%7D/components + + + rt-thread/include + 2 + $%7BPARENT-3-PROJECT_LOC%7D/include + + + rt-thread/libcpu + 2 + $%7BPARENT-3-PROJECT_LOC%7D/libcpu + + + rt-thread/src + 2 + $%7BPARENT-3-PROJECT_LOC%7D/src + + + rt-thread/bsp/hc32 + 2 + virtual:/virtual + + + rt-thread/bsp/hc32/libraries + 2 + $%7BPARENT-1-PROJECT_LOC%7D/libraries + + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/Kconfig b/bsp/hc32/lckfb-hc32f4a0-lqfp100/Kconfig new file mode 100644 index 0000000000..73238d3a13 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/Kconfig @@ -0,0 +1,12 @@ +mainmenu "RT-Thread Configuration" + +BSP_DIR := . + +RTT_DIR := ../../.. + +PKGS_DIR := packages + +source "$(RTT_DIR)/Kconfig" +osource "$PKGS_DIR/Kconfig" +rsource "../libraries/Kconfig" +rsource "board/Kconfig" diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/README.md b/bsp/hc32/lckfb-hc32f4a0-lqfp100/README.md new file mode 100644 index 0000000000..eff1c0be86 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/README.md @@ -0,0 +1,97 @@ +# lckfb-hc32f4a0-lqfp100立创天空星开发板BSP说明 + +## 简介 + +该开发板是由立创开发板精心打造的一款高性价比的开发工具,**软硬件全开源**。设计上充分考虑了与多种100脚封装的单片机的兼容性。这种设计使得它不仅适用于特定的芯片,还能够适配市场上多种不同厂家生产的100脚微控制器,极大地提高了适用范围和灵活性。该BSP适配立创梁山派·天空星开发板的主控芯片为**HC32F4A0PITB**。 + +为了最大限度的方便开发者和爱好者,该核心板通过排针将所有可用的IO(输入/输出)引脚都引出,这样大家就可以轻松地连接各种外部模块和设备,无需进行复杂的焊接工作。这一特点特别适合那些需要快速原型制作和迭代的场合,如学生电子竞赛、创客活动以及个人DIY项目。 + +此外,这款核心板的设计考虑到了大家在电子竞赛中对于稳定性和可靠性的需求,以及在小型项目开发中对低成本的追求。具体请看硬件设计手册。 + +![[(lckfb.com)](https://lckfb.com/project/detail/lckfb-lspi-skystar-stm32f407vet6-lite?param=baseInfo)](figures/board.png) + +## 资料罗列: + +* [硬件开源地址](https://oshwhub.com/li-chuang-kai-fa-ban/li-chuang-liang-shan-pai-tian-kong-xing-kai-fa-ban) +* [硬件文档](https://lceda001.feishu.cn/wiki/D4cqwUkiTi6723knO2cczSThnYb) +* [入门手册](https://lceda001.feishu.cn/wiki/MqcKwTiJ2isvASk5xQzcdeUJnOb) +* [模块移植手册](https://lceda001.feishu.cn/wiki/RvtIwNuQ6iVhqvk4cELcr1vPncQ) +* [购买地址](https://lckfb.com/project/detail/lckfb-lspi-skystar-hc32f4a0pitb-lite?param=baseInfo) + +## 外设支持 + +本 BSP 目前对外设的支持情况如下: + +| **片上外设** | **支持情况** | **备注** | +| :----------- | :----------: | :------------------------------ | +| GPIO | 支持 | PA0, PA1... ---> PIN: 0, 1...81 | +| UART | 支持 | UART0 - UART6 | +| I2C | 支持 | I2C1 | +| SPI | 支持 | SPI0 -  SPI2 | +| ADC | 支持 | ADC0 - ADC2 | +| TF CARD | 支持 | SDIO1 | +| SPI FLASH | 暂不支持 | | +| **扩展模块** | **支持情况** | **备注** | +| 暂无 | 暂不支持 | 暂不支持 | + +## 使用说明 + +使用说明分为如下两个章节: + +- 快速上手 + + 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。 + +- 进阶使用 + + 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。 + +### 快速上手 + +本 BSP 为开发者提供 MDK4、MDK5 工程,并且支持 GCC 开发环境,也可使用RT-Thread Studio开发。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。 + +#### 硬件连接 + +使用数据线连接开发板到 PC,使用USB转TTL模块连接PA9(MCU TX)和PA10(MCU RX),上电。 + +#### 编译下载 + +双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。 + +> 工程默认配置使用 CMSIS-DAP 仿真器下载程序,在通过 CMSIS-DAP 连接开发板的基础上,点击下载按钮即可下载程序到开发板 + +#### 运行结果 + +下载程序成功之后,系统会自动运行,LED 闪烁。 + +连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息: + +```bash + \ | / +- RT - Thread Operating System + / | \ 5.2.0 build Jun 28 2024 16:55:59 + 2006 - 2024 Copyright by RT-Thread team + +``` + +### 进阶使用 + +此 BSP 默认只开启了 GPIO 和 串口0的功能,如果需使用高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下: + +1. 在 bsp 下打开 env 工具。 + +2. 输入`menuconfig`命令配置工程,配置好之后保存退出。 + +3. 输入`pkgs --update`命令更新软件包。 + +4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。 + +## 注意事项 + +暂无 + +## 联系人信息 + +维护人: + +- [yuanzihao](https://github.com/zihao-yuan/), 邮箱:[y@yzh.email](mailto:y@yzh.email) \ No newline at end of file diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/SConscript b/bsp/hc32/lckfb-hc32f4a0-lqfp100/SConscript new file mode 100644 index 0000000000..20f7689c53 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/SConscript @@ -0,0 +1,15 @@ +# for module compiling +import os +Import('RTT_ROOT') +from building import * + +cwd = GetCurrentDir() +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/SConstruct b/bsp/hc32/lckfb-hc32f4a0-lqfp100/SConstruct new file mode 100644 index 0000000000..a0beabc624 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/SConstruct @@ -0,0 +1,62 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +try: + from building import * +except: + print('Cannot found RT-Thread root directory, please check RTT_ROOT') + print(RTT_ROOT) + exit(-1) + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) + +if rtconfig.PLATFORM in ['iccarm']: + env.Replace(CCCOM = ['$CC $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) + env.Replace(ARFLAGS = ['']) + env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map') + +Export('RTT_ROOT') +Export('rtconfig') + +SDK_ROOT = os.path.abspath('./') + +if os.path.exists(SDK_ROOT + '/libraries'): + libraries_path_prefix = SDK_ROOT + '/libraries' +else: + libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' + +SDK_LIB = libraries_path_prefix +Export('SDK_LIB') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) + +hc32_library = 'hc32f4a0_ddl' +rtconfig.BSP_LIBRARY_TYPE = hc32_library + +# include libraries +objs.extend(SConscript(os.path.join(libraries_path_prefix, hc32_library, 'SConscript'))) + +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'hc32_drivers', 'SConscript'))) + +objs.extend(SConscript(os.path.join(os.getcwd(), 'board', 'ports', 'SConscript'))) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/SConscript b/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/SConscript new file mode 100644 index 0000000000..9bb9abae89 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/SConscript @@ -0,0 +1,15 @@ +from building import * +import os + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +list = os.listdir(cwd) +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + group = group + SConscript(os.path.join(item, 'SConscript')) + +Return('group') diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/main.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/main.c new file mode 100644 index 0000000000..f68d3e69e8 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/main.c @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + * 2024-06-28 yuanzihao adaptation for SkyStar HC32F4A0PITB version + */ + +#include +#include +#include + +/* defined the LED_GREEN pin: PB2 */ +#define LED_GREEN_PIN GET_PIN(B, 2) + + +int main(void) +{ + /* set LED_GREEN_PIN pin mode to output */ + rt_pin_mode(LED_GREEN_PIN, PIN_MODE_OUTPUT); + + while (1) + { + rt_pin_write(LED_GREEN_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED_GREEN_PIN, PIN_LOW); + rt_thread_mdelay(500); + } +} + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/xtal32_fcm.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/xtal32_fcm.c new file mode 100644 index 0000000000..f89e5656dc --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/applications/xtal32_fcm.c @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-10-27 CDT first version + */ + +/******************************************************************************* + * Include files + ******************************************************************************/ + +#include +#include +#include + +#if defined(BSP_RTC_USING_XTAL32) || defined(RT_USING_PM) + +#define XTAL32_FCM_THREAD_STACK_SIZE (1024) + +/** + * @brief This thread is used to monitor whether XTAL32 is stable. + * This thread only runs once after the system starts. + * When stability is detected or 2s times out, the thread will end. + * (When a timeout occurs it will be prompted via rt_kprintf) + */ +void xtal32_fcm_thread_entry(void *parameter) +{ + stc_fcm_init_t stcFcmInit; + uint32_t u32TimeOut = 0UL; + uint32_t u32Time = 200UL; /* 200*10ms = 2s */ + + /* FCM config */ + FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_FCM, ENABLE); + (void)FCM_StructInit(&stcFcmInit); + stcFcmInit.u32RefClock = FCM_REF_CLK_MRC; + stcFcmInit.u32RefClockDiv = FCM_REF_CLK_DIV8192; /* ~1ms cycle */ + stcFcmInit.u32RefClockEdge = FCM_REF_CLK_RISING; + stcFcmInit.u32TargetClock = FCM_TARGET_CLK_XTAL32; + stcFcmInit.u32TargetClockDiv = FCM_TARGET_CLK_DIV1; + stcFcmInit.u16LowerLimit = (uint16_t)((XTAL32_VALUE / (MRC_VALUE / 8192U)) * 96UL / 100UL); + stcFcmInit.u16UpperLimit = (uint16_t)((XTAL32_VALUE / (MRC_VALUE / 8192U)) * 104UL / 100UL); + (void)FCM_Init(&stcFcmInit); + /* Enable FCM, to ensure xtal32 stable */ + FCM_Cmd(ENABLE); + + while (1) + { + if (SET == FCM_GetStatus(FCM_FLAG_END)) + { + FCM_ClearStatus(FCM_FLAG_END); + if ((SET == FCM_GetStatus(FCM_FLAG_ERR)) || (SET == FCM_GetStatus(FCM_FLAG_OVF))) + { + FCM_ClearStatus(FCM_FLAG_ERR | FCM_FLAG_OVF); + } + else + { + (void)FCM_DeInit(); + FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_FCM, DISABLE); + /* XTAL32 stabled */ + break; + } + } + u32TimeOut++; + if (u32TimeOut > u32Time) + { + (void)FCM_DeInit(); + FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_FCM, DISABLE); + rt_kprintf("Error: XTAL32 still unstable, timeout.\n"); + break; + } + rt_thread_mdelay(10); + } +} + +int xtal32_fcm_thread_create(void) +{ + rt_thread_t tid; + + tid = rt_thread_create("xtal32_fcm", xtal32_fcm_thread_entry, RT_NULL, + XTAL32_FCM_THREAD_STACK_SIZE, RT_THREAD_PRIORITY_MAX - 2, 10); + if (tid != RT_NULL) + { + rt_thread_startup(tid); + } + else + { + rt_kprintf("create xtal32_fcm thread err!"); + } + return RT_EOK; +} +INIT_APP_EXPORT(xtal32_fcm_thread_create); + +#endif + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/Kconfig b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/Kconfig new file mode 100644 index 0000000000..bc1d72d5c1 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/Kconfig @@ -0,0 +1,936 @@ +menu "Hardware Drivers Config" + +config SOC_HC32F4A0SI + bool + select SOC_SERIES_HC32F4 + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + default y + +menu "On-chip Drivers" + menuconfig BSP_USING_ON_CHIP_FLASH_CACHE + bool "Enable on-chip Flash Cache" + default y + if BSP_USING_ON_CHIP_FLASH_CACHE + config BSP_USING_ON_CHIP_FLASH_ICODE_CACHE + bool "Enable on-chip Flash ICODE Cache" + default y + config BSP_USING_ON_CHIP_FLASH_DCODE_CACHE + bool "Enable on-chip Flash DCODE Cache" + default y + config BSP_USING_ON_CHIP_FLASH_ICODE_PREFETCH + bool "Enable on-chip Flash ICODE Prefetch" + default y + endif +endmenu + +menu "Onboard Peripheral Drivers" + menuconfig BSP_USING_ETH + bool "Enable Ethernet" + default n + select RT_USING_LWIP + select RT_LWIP_USING_HW_CHECKSUM + + if BSP_USING_ETH + choice + prompt "Select ETH PHY type" + default ETH_PHY_USING_RTL8201F + + config ETH_PHY_USING_RTL8201F + bool "ETH PHY USING RTL8201F" + select BSP_USING_I2C + select BSP_USING_I2C1 + select BSP_USING_TCA9539 + endchoice + + choice + prompt "Select ETH Communication Interface" + default ETH_INTERFACE_USING_MII + + config ETH_INTERFACE_USING_MII + bool "ETH Communication USING MII" + config ETH_INTERFACE_USING_RMII + bool "ETH Communication USING RMII" + endchoice + + menuconfig ETH_PHY_USING_INTERRUPT_MODE + bool "Enable ETH PHY interrupt mode" + default n + if ETH_PHY_USING_INTERRUPT_MODE + config ETH_PHY_INTERRUPT_PIN + int "ETH PHY Interrupt pin number" + range 1 176 + default 16 + endif + endif + + config BSP_USING_EXMC + bool "Enable EXMC" + default n + if BSP_USING_EXMC + choice + prompt "Using SDRAM or NAND" + default BSP_USING_NAND + + config BSP_USING_NAND + bool "Using NAND (MT29F2G08AB)" + select RT_USING_MTD_NAND + + config BSP_USING_SDRAM + bool "Using SDRAM (IS42S16400J7TLI)" + endchoice + endif + + config BSP_USING_SPI_FLASH + bool "Enable SPI FLASH (w25q64 spi1)" + select BSP_USING_SPI + select BSP_USING_SPI1 + select BSP_USING_ON_CHIP_FLASH + select RT_USING_SFUD + select RT_USING_DFS + select RT_USING_FAL + select RT_USING_MTD_NOR + default n + + config BSP_USING_TCA9539 + bool "Enable TCA9539" + select BSP_USING_I2C + select BSP_USING_I2C1 + default n + +endmenu + +menu "On-chip Peripheral Drivers" + config BSP_USING_GPIO + bool "Enable GPIO" + select RT_USING_PIN + default y + + menuconfig BSP_USING_UART + bool "Enable UART" + default y + select RT_USING_SERIAL + if BSP_USING_UART + menuconfig BSP_USING_UART1 + bool "Enable UART1" + default y + if BSP_USING_UART1 + config BSP_UART1_RX_USING_DMA + bool "Enable UART1 RX DMA" + depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + default n + + config BSP_UART1_TX_USING_DMA + bool "Enable UART1 TX DMA" + depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + default n + + config BSP_UART1_RX_BUFSIZE + int "Set UART1 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART1_TX_BUFSIZE + int "Set UART1 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + + menuconfig BSP_USING_UART2 + bool "Enable UART2" + default n + if BSP_USING_UART2 + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA + default n + + config BSP_UART2_TX_USING_DMA + bool "Enable UART2 TX DMA" + depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA + default n + + config BSP_UART2_RX_BUFSIZE + int "Set UART2 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART2_TX_BUFSIZE + int "Set UART2 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 256 + endif + + menuconfig BSP_USING_UART3 + bool "Enable UART3" + default n + if BSP_USING_UART3 + config BSP_UART3_RX_BUFSIZE + int "Set UART3 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART3_TX_BUFSIZE + int "Set UART3 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + + menuconfig BSP_USING_UART4 + bool "Enable UART4" + default n + if BSP_USING_UART4 + config BSP_UART4_RX_BUFSIZE + int "Set UART4 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART4_TX_BUFSIZE + int "Set UART4 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + + menuconfig BSP_USING_UART5 + bool "Enable UART5" + default n + if BSP_USING_UART5 + config BSP_UART5_RX_BUFSIZE + int "Set UART5 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART5_TX_BUFSIZE + int "Set UART5 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + + menuconfig BSP_USING_UART6 + bool "Enable UART6" + default n + if BSP_USING_UART6 + config BSP_UART6_RX_USING_DMA + bool "Enable UART6 RX DMA" + depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA + default n + + config BSP_UART6_TX_USING_DMA + bool "Enable UART6 TX DMA" + depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA + default n + + config BSP_UART6_RX_BUFSIZE + int "Set UART6 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART6_TX_BUFSIZE + int "Set UART6 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 256 + endif + + menuconfig BSP_USING_UART7 + bool "Enable UART7" + default n + if BSP_USING_UART7 + config BSP_UART7_RX_USING_DMA + bool "Enable UART7 RX DMA" + depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA + default n + + config BSP_UART7_TX_USING_DMA + bool "Enable UART7 TX DMA" + depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA + default n + + config BSP_UART7_RX_BUFSIZE + int "Set UART7 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART7_TX_BUFSIZE + int "Set UART7 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 256 + endif + + + menuconfig BSP_USING_UART8 + bool "Enable UART8" + default n + if BSP_USING_UART8 + config BSP_UART8_RX_BUFSIZE + int "Set UART8 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART8_TX_BUFSIZE + int "Set UART8 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + + menuconfig BSP_USING_UART9 + bool "Enable UART9" + default n + if BSP_USING_UART9 + config BSP_UART9_RX_BUFSIZE + int "Set UART9 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART9_TX_BUFSIZE + int "Set UART9 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + + menuconfig BSP_USING_UART10 + bool "Enable UART10" + default n + if BSP_USING_UART10 + config BSP_UART10_RX_BUFSIZE + int "Set UART10 RX buffer size" + range 64 65535 + depends on RT_USING_SERIAL_V2 + default 256 + + config BSP_UART10_TX_BUFSIZE + int "Set UART10 TX buffer size" + range 0 65535 + depends on RT_USING_SERIAL_V2 + default 0 + endif + endif + + menuconfig BSP_USING_I2C + bool "Enable I2C BUS" + default n + select RT_USING_I2C + + if BSP_USING_I2C + menuconfig BSP_USING_I2C1_SW + bool "Enable I2C1 BUS (software simulation)" + default n + select RT_USING_I2C_BITOPS + select RT_USING_PIN + if BSP_USING_I2C1_SW + config BSP_I2C1_SCL_PIN + int "i2c1 scl pin number" + range 1 176 + default 51 + config BSP_I2C1_SDA_PIN + int "I2C1 sda pin number" + range 1 176 + default 90 + endif + endif + + if BSP_USING_I2C + config BSP_I2C_USING_DMA + bool + default n + config BSP_USING_I2C_HW + bool + default n + + menuconfig BSP_USING_I2C1 + bool "Enable I2C1 BUS" + default n + select BSP_USING_I2C_HW + if BSP_USING_I2C1 + config BSP_I2C1_USING_DMA + bool + default n + config BSP_I2C1_TX_USING_DMA + bool "Enable I2C1 TX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C1_USING_DMA + config BSP_I2C1_RX_USING_DMA + bool "Enable I2C1 RX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C1_USING_DMA + endif + + menuconfig BSP_USING_I2C2 + bool "Enable I2C2 BUS" + default n + select BSP_USING_I2C_HW + if BSP_USING_I2C2 + config BSP_I2C2_USING_DMA + bool + default n + config BSP_I2C2_TX_USING_DMA + bool "Enable I2C2 TX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C2_USING_DMA + config BSP_I2C2_RX_USING_DMA + bool "Enable I2C2 RX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C2_USING_DMA + endif + + menuconfig BSP_USING_I2C3 + bool "Enable I2C3 BUS" + default n + select BSP_USING_I2C_HW + if BSP_USING_I2C3 + config BSP_I2C3_USING_DMA + bool + default n + config BSP_I2C3_TX_USING_DMA + bool "Enable I2C3 TX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C3_USING_DMA + config BSP_I2C3_RX_USING_DMA + bool "Enable I2C3 RX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C3_USING_DMA + endif + + menuconfig BSP_USING_I2C4 + bool "Enable I2C4 BUS" + default n + select BSP_USING_I2C_HW + if BSP_USING_I2C4 + config BSP_I2C4_USING_DMA + bool + default n + config BSP_I2C4_TX_USING_DMA + bool "Enable I2C4 TX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C4_USING_DMA + config BSP_I2C4_RX_USING_DMA + bool "Enable I2C4 RX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C4_USING_DMA + endif + + menuconfig BSP_USING_I2C5 + bool "Enable I2C5 BUS" + default n + select BSP_USING_I2C_HW + if BSP_USING_I2C5 + config BSP_I2C5_USING_DMA + bool + default n + config BSP_I2C5_TX_USING_DMA + bool "Enable I2C5 TX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C5_USING_DMA + config BSP_I2C5_RX_USING_DMA + bool "Enable I2C5 RX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C5_USING_DMA + endif + + menuconfig BSP_USING_I2C6 + bool "Enable I2C6 BUS" + default n + select BSP_USING_I2C_HW + if BSP_USING_I2C6 + config BSP_I2C6_USING_DMA + bool + default n + config BSP_I2C6_TX_USING_DMA + bool "Enable I2C6 TX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C6_USING_DMA + config BSP_I2C6_RX_USING_DMA + bool "Enable I2C6 RX DMA" + default n + select BSP_I2C_USING_DMA + select BSP_I2C6_USING_DMA + endif + endif + + config BSP_USING_ON_CHIP_FLASH + bool "Enable on-chip FLASH" + default n + + menuconfig BSP_USING_SPI + bool "Enable SPI BUS" + default n + select RT_USING_SPI + if BSP_USING_SPI + config BSP_SPI_USING_DMA + bool + default n + + menuconfig BSP_USING_SPI1 + bool "Enable SPI1 BUS" + default n + if BSP_USING_SPI1 + config BSP_SPI1_TX_USING_DMA + bool "Enable SPI1 TX DMA" + select BSP_SPI_USING_DMA + default n + config BSP_SPI1_RX_USING_DMA + bool "Enable SPI1 RX DMA" + select BSP_SPI_USING_DMA + select BSP_SPI1_TX_USING_DMA + default n + endif + + menuconfig BSP_USING_SPI2 + bool "Enable SPI2 BUS" + default n + if BSP_USING_SPI2 + config BSP_SPI2_TX_USING_DMA + bool "Enable SPI2 TX DMA" + select BSP_SPI_USING_DMA + default n + config BSP_SPI2_RX_USING_DMA + bool "Enable SPI2 RX DMA" + select BSP_SPI_USING_DMA + select BSP_SPI2_TX_USING_DMA + default n + endif + + menuconfig BSP_USING_SPI3 + bool "Enable SPI3 BUS" + default n + if BSP_USING_SPI3 + config BSP_SPI3_TX_USING_DMA + bool "Enable SPI3 TX DMA" + select BSP_SPI_USING_DMA + default n + config BSP_SPI3_RX_USING_DMA + bool "Enable SPI3 RX DMA" + select BSP_SPI_USING_DMA + select BSP_SPI3_TX_USING_DMA + default n + endif + + menuconfig BSP_USING_SPI4 + bool "Enable SPI4 BUS" + default n + if BSP_USING_SPI4 + config BSP_SPI4_TX_USING_DMA + bool "Enable SPI4 TX DMA" + select BSP_SPI_USING_DMA + default n + config BSP_SPI4_RX_USING_DMA + bool "Enable SPI4 RX DMA" + select BSP_SPI_USING_DMA + select BSP_SPI4_TX_USING_DMA + default n + endif + endif + + menuconfig BSP_USING_ADC + bool "Enable ADC" + default n + select RT_USING_ADC + if BSP_USING_ADC + config BSP_USING_ADC1 + bool "using adc1" + default n + config BSP_USING_ADC2 + bool "using adc2" + default n + config BSP_USING_ADC3 + bool "using adc3" + default n + endif + + menuconfig BSP_USING_DAC + bool "Enable DAC" + default n + select RT_USING_DAC + if BSP_USING_DAC + config BSP_USING_DAC1 + bool "using dac1" + default n + config BSP_USING_DAC2 + bool "using dac2" + default n + endif + + menuconfig BSP_USING_CAN + bool "Enable CAN" + default n + select RT_USING_CAN + select RT_CAN_USING_HDR + select BSP_USING_TCA9539 + if BSP_USING_CAN + config BSP_USING_CAN1 + bool "using can1" + default n + config BSP_USING_CAN2 + bool "using can2" + default n + endif + + menuconfig BSP_USING_WDT_TMR + bool "Enable Watchdog Timer" + default n + select RT_USING_WDT + if BSP_USING_WDT_TMR + choice + prompt "Select SWDT/WDT" + default BSP_USING_SWDT + + config BSP_USING_SWDT + bool "SWDT(3.72hour(max))" + config BSP_USING_WDT + bool "WDT(10.7s(max))" + endchoice + + config BSP_WDT_CONTINUE_COUNT + bool "Low Power Mode Keeps Counting" + default n + endif + + menuconfig BSP_USING_RTC + bool "Enable RTC" + select RT_USING_RTC + default n + if BSP_USING_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_XTAL32 + + config BSP_RTC_USING_XTAL32 + bool "RTC USING XTAL32" + + config BSP_RTC_USING_LRC + bool "RTC USING LRC" + endchoice + endif + + menuconfig BSP_USING_SDIO + bool "Enable SDIO" + default n + select RT_USING_SDIO + if BSP_USING_SDIO + config BSP_USING_SDIO1 + bool "Enable SDIO1" + default n + config BSP_USING_SDIO2 + bool "Enable SDIO2" + default n + endif + + menuconfig BSP_USING_PM + bool "Enable PM" + default n + select RT_USING_PM + if BSP_USING_PM + choice + prompt "Select WKTM Clock Src" + default BSP_USING_WKTM_LRC + + config BSP_USING_WKTM_XTAL32 + bool "Using Xtal32" + config BSP_USING_WKTM_LRC + bool "Using LRC" + if BSP_RTC_USING_XTAL32 + config BSP_USING_WKTM_64HZ + bool "Using 64HZ(Note:must use XTAL32 and run RTC)" + endif + endchoice + endif + + menuconfig BSP_USING_HWCRYPTO + bool "Using Hardware Crypto drivers" + default n + select RT_USING_HWCRYPTO + if BSP_USING_HWCRYPTO + config BSP_USING_UQID + bool "Enable UQID (unique id)" + default n + + config BSP_USING_RNG + bool "Using Hardware RNG" + default n + select RT_HWCRYPTO_USING_RNG + + config BSP_USING_CRC + bool "Using Hardware CRC" + default n + select RT_HWCRYPTO_USING_CRC + + config BSP_USING_AES + bool "Using Hardware AES" + default n + select RT_HWCRYPTO_USING_AES + if BSP_USING_AES + choice + prompt "Select AES Mode" + default BSP_USING_AES_ECB + + config BSP_USING_AES_ECB + bool "ECB mode" + select RT_HWCRYPTO_USING_AES_ECB + endchoice + endif + + config BSP_USING_HASH + bool "Using Hardware Hash" + default n + select RT_HWCRYPTO_USING_SHA2 + if BSP_USING_HASH + choice + prompt "Select Hash Mode" + default BSP_USING_SHA2_256 + + config BSP_USING_SHA2_256 + bool "SHA2_256 Mode" + select RT_HWCRYPTO_USING_SHA2_256 + endchoice + endif + + endif + + menuconfig BSP_USING_PWM + bool "Enable output PWM" + default n + select RT_USING_PWM + if BSP_USING_PWM + menuconfig BSP_USING_PWM_TMRA + bool "Enable timerA output PWM" + default n + if BSP_USING_PWM_TMRA + menuconfig BSP_USING_PWM_TMRA_1 + bool "Enable timerA-1 output PWM" + default n + if BSP_USING_PWM_TMRA_1 + config BSP_USING_PWM_TMRA_1_CH1 + bool "Enable timerA-1 channel1" + default n + config BSP_USING_PWM_TMRA_1_CH2 + bool "Enable timerA-1 channel2" + default n + config BSP_USING_PWM_TMRA_1_CH3 + bool "Enable timerA-1 channel3" + default n + config BSP_USING_PWM_TMRA_1_CH4 + bool "Enable timerA-1 channel4" + default n + endif + endif + menuconfig BSP_USING_PWM_TMR4 + bool "Enable timer4 output PWM" + default n + if BSP_USING_PWM_TMR4 + menuconfig BSP_USING_PWM_TMR4_1 + bool "Enable timer4-1 output PWM" + default n + if BSP_USING_PWM_TMR4_1 + config BSP_USING_PWM_TMR4_1_OUH + bool "Enable TMR4_1_OUH channel1" + default n + config BSP_USING_PWM_TMR4_1_OUL + bool "Enable TMR4_1_OUL channel2" + default n + config BSP_USING_PWM_TMR4_1_OVH + bool "Enable TMR4_1_OVH channel3" + default n + config BSP_USING_PWM_TMR4_1_OVL + bool "Enable TMR4_1_OVL channel4" + default n + config BSP_USING_PWM_TMR4_1_OWH + bool "Enable TMR4_1_OWH channel5" + default n + config BSP_USING_PWM_TMR4_1_OWL + bool "Enable TMR4_1_OWL channel6" + default n + endif + endif + menuconfig BSP_USING_PWM_TMR6 + bool "Enable timer6 output PWM" + default n + if BSP_USING_PWM_TMR6 + menuconfig BSP_USING_PWM_TMR6_1 + bool "Enable timer6-1 output PWM" + default n + if BSP_USING_PWM_TMR6_1 + config BSP_USING_PWM_TMR6_1_A + bool "Enable TMR6_1_A channel1" + default n + config BSP_USING_PWM_TMR6_1_B + bool "Enable TMR6_1_B channel2" + default n + endif + endif + endif + + menuconfig BSP_USING_USB + bool "Enable USB" + default n + select RT_USING_USB_DEVICE if BSP_USING_USBD + select RT_USING_USB_HOST if BSP_USING_USBH + if BSP_USING_USB + choice + prompt "Select USB FS/HS Core" + default BSP_USING_USBFS + + config BSP_USING_USBFS + bool "Use USBFS Core" + + config BSP_USING_USBHS + bool "Use USBHS Core" + endchoice + + choice + depends on BSP_USING_USBHS + prompt "Select USB PHY" + default BSP_USING_USBHS_PHY_EMBED + + config BSP_USING_USBHS_PHY_EMBED + bool "Use USBHS Embedded PHY" + + config BSP_USING_USBHS_PHY_EXTERN + bool "Use USBHS External PHY" + select BSP_USING_I2C1 + select BSP_USING_TCA9539 + endchoice + + choice + prompt "Select USB Mode" + default BSP_USING_USBD + + config BSP_USING_USBD + bool "USB Device Mode" + + config BSP_USING_USBH + bool "USB Host Mode" + endchoice + + if BSP_USING_USBD + config BSP_USING_USBD_VBUS_SENSING + bool "Enable VBUS Sensing" + default y + endif + + if BSP_USING_USBH + menuconfig RT_USBH_MSTORAGE + bool "Enable Udisk Drivers" + default n + if RT_USBH_MSTORAGE + config UDISK_MOUNTPOINT + string "Udisk mount dir" + default "/" + endif + endif + endif + + menuconfig BSP_USING_QSPI + bool "Enable QSPI BUS" + select RT_USING_QSPI + select RT_USING_SPI + default n + if BSP_USING_QSPI + config BSP_QSPI_USING_DMA + bool "Enable QSPI DMA support" + default n + config BSP_QSPI_USING_SOFT_CS + bool "Enable QSPI Soft CS Pin" + default n + endif + + menuconfig BSP_USING_PULSE_ENCODER + bool "Enable Pulse Encoder" + default n + select RT_USING_PULSE_ENCODER + if BSP_USING_PULSE_ENCODER + menuconfig BSP_USING_TMRA_PULSE_ENCODER + bool "Use TIMERA As The Pulse Encoder" + default n + if BSP_USING_TMRA_PULSE_ENCODER + config BSP_USING_PULSE_ENCODER_TMRA_1 + bool "Use TIMERA_1 As The Pulse Encoder" + default n + endif + menuconfig BSP_USING_TMR6_PULSE_ENCODER + bool "Use TIMER6 As The Pulse Encoder" + default n + if BSP_USING_TMR6_PULSE_ENCODER + config BSP_USING_PULSE_ENCODER_TMR6_1 + bool "Use TIMER6_1 As The Pulse Encoder" + default n + endif + endif + + menuconfig BSP_USING_HWTIMER + bool "Enable Hw Timer" + default n + select RT_USING_HWTIMER + if BSP_USING_HWTIMER + config BSP_USING_TMRA_1 + bool "Use Timer_a1 As The Hw Timer" + default n + config BSP_USING_TMRA_2 + bool "Use Timer_a2 As The Hw Timer" + default n + config BSP_USING_TMRA_3 + bool "Use Timer_a3 As The Hw Timer" + default n + config BSP_USING_TMRA_4 + bool "Use Timer_a4 As The Hw Timer" + default n + config BSP_USING_TMRA_5 + bool "Use Timer_a5 As The Hw Timer" + default n + config BSP_USING_TMRA_6 + bool "Use Timer_a6 As The Hw Timer" + default n + config BSP_USING_TMRA_7 + bool "Use Timer_a7 As The Hw Timer" + default n + config BSP_USING_TMRA_8 + bool "Use Timer_a8 As The Hw Timer" + default n + config BSP_USING_TMRA_9 + bool "Use Timer_a9 As The Hw Timer" + default n + config BSP_USING_TMRA_10 + bool "Use Timer_a10 As The Hw Timer" + default n + config BSP_USING_TMRA_11 + bool "Use Timer_a11 As The Hw Timer" + default n + config BSP_USING_TMRA_12 + bool "Use Timer_a12 As The Hw Timer" + default n + endif + +endmenu + +menu "Board extended module Drivers" + +endmenu + +endmenu diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/SConscript b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/SConscript new file mode 100644 index 0000000000..266b108094 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/SConscript @@ -0,0 +1,38 @@ +import os +import rtconfig +from building import * + +Import('SDK_LIB') + +cwd = GetCurrentDir() + +# add general drivers +src = Split(''' +board.c +board_config.c +''') + +if GetDepend(['BSP_USING_TCA9539']): + src += Glob('ports/tca9539.c') + +if GetDepend(['BSP_USING_SPI_FLASH']): + src += Glob('ports/drv_spi_flash.c') + +path = [cwd] +path += [cwd + '/ports'] +path += [cwd + '/config'] +path += [cwd + '/config/usb_config'] + +startup_path_prefix = SDK_LIB + +if rtconfig.PLATFORM in ['gcc']: + src += [startup_path_prefix + '/hc32f4a0_ddl/drivers/cmsis/Device/HDSC/hc32f4xx/Source/GCC/startup_hc32f4a0.S'] +elif rtconfig.PLATFORM in ['armcc', 'armclang']: + src += [startup_path_prefix + '/hc32f4a0_ddl/drivers/cmsis/Device/HDSC/hc32f4xx/Source/ARM/startup_hc32f4a0.s'] +elif rtconfig.PLATFORM in ['iccarm']: + src += [startup_path_prefix + '/hc32f4a0_ddl/drivers/cmsis/Device/HDSC/hc32f4xx/Source/IAR/startup_hc32f4a0.s'] + +CPPDEFINES = ['HC32F4A0', '__DEBUG'] +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) + +Return('group') diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.c new file mode 100644 index 0000000000..9f23f247f3 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.c @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#include "board.h" +#include "board_config.h" + +/* unlock/lock peripheral */ +#define EXAMPLE_PERIPH_WE (LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | \ + LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM) +#define EXAMPLE_PERIPH_WP (LL_PERIPH_EFM | LL_PERIPH_FCG | LL_PERIPH_SRAM) + +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) +/** + * @brief Switch clock stable time + * @note Approx. 30us + */ +#define CLK_SYSCLK_SW_STB (HCLK_VALUE / 50000UL) +/** + * @brief Clk delay function + * @param [in] u32Delay count + * @retval when switch clock source, should be delay some time to wait stable. + */ +static void CLK_Delay(uint32_t u32Delay) +{ + __IO uint32_t u32Timeout = 0UL; + + while (u32Timeout < u32Delay) + { + u32Timeout++; + } +} +#endif + +/** System Base Configuration +*/ +void SystemBase_Config(void) +{ +#if defined(BSP_USING_ON_CHIP_FLASH_ICODE_CACHE) + EFM_ICacheCmd(ENABLE); +#endif +#if defined(BSP_USING_ON_CHIP_FLASH_DCODE_CACHE) + EFM_DCacheCmd(ENABLE); +#endif +#if defined(BSP_USING_ON_CHIP_FLASH_ICODE_PREFETCH) + EFM_PrefetchCmd(ENABLE); +#endif + /* Reset the VBAT area */ + PWC_VBAT_Reset(); +} + +/** System Clock Configuration +*/ +void SystemClock_Config(void) +{ + stc_clock_xtal_init_t stcXtalInit; + stc_clock_pll_init_t stcPLLHInit; +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) + stc_clock_pllx_init_t stcPLLAInit; +#endif +#if defined(BSP_RTC_USING_XTAL32) || defined(RT_USING_PM) + stc_clock_xtal32_init_t stcXtal32Init; +#endif + + /* PCLK0, HCLK Max 240MHz */ + /* PCLK1, PCLK4 Max 120MHz */ + /* PCLK2, PCLK3 Max 60MHz */ + /* EX BUS Max 120MHz */ + CLK_SetClockDiv(CLK_BUS_CLK_ALL, \ + (CLK_PCLK0_DIV1 | CLK_PCLK1_DIV2 | CLK_PCLK2_DIV4 | \ + CLK_PCLK3_DIV4 | CLK_PCLK4_DIV2 | CLK_EXCLK_DIV2 | \ + CLK_HCLK_DIV1)); + + GPIO_AnalogCmd(XTAL_PORT, XTAL_IN_PIN | XTAL_OUT_PIN, ENABLE); + (void)CLK_XtalStructInit(&stcXtalInit); + /* Config Xtal and enable Xtal */ + stcXtalInit.u8Mode = CLK_XTAL_MD_OSC; + stcXtalInit.u8Drv = CLK_XTAL_DRV_ULOW; + stcXtalInit.u8State = CLK_XTAL_ON; + stcXtalInit.u8StableTime = CLK_XTAL_STB_2MS; + (void)CLK_XtalInit(&stcXtalInit); + + (void)CLK_PLLStructInit(&stcPLLHInit); + /* VCO = (8/1)*120 = 960MHz*/ + stcPLLHInit.u8PLLState = CLK_PLL_ON; + stcPLLHInit.PLLCFGR = 0UL; + stcPLLHInit.PLLCFGR_f.PLLM = 1UL - 1UL; + stcPLLHInit.PLLCFGR_f.PLLN = 120UL - 1UL; + stcPLLHInit.PLLCFGR_f.PLLP = 4UL - 1UL; + stcPLLHInit.PLLCFGR_f.PLLQ = 4UL - 1UL; + stcPLLHInit.PLLCFGR_f.PLLR = 4UL - 1UL; + stcPLLHInit.PLLCFGR_f.PLLSRC = CLK_PLL_SRC_XTAL; + (void)CLK_PLLInit(&stcPLLHInit); + + /* Highspeed SRAM set to 0 Read/Write wait cycle */ + SRAM_SetWaitCycle(SRAM_SRAMH, SRAM_WAIT_CYCLE0, SRAM_WAIT_CYCLE0); + /* SRAM1_2_3_4_backup set to 1 Read/Write wait cycle */ + SRAM_SetWaitCycle((SRAM_SRAM123 | SRAM_SRAM4 | SRAM_SRAMB), SRAM_WAIT_CYCLE1, SRAM_WAIT_CYCLE1); + /* 0-wait @ 40MHz */ + (void)EFM_SetWaitCycle(EFM_WAIT_CYCLE5); + /* 4 cycles for 200 ~ 250MHz */ + GPIO_SetReadWaitCycle(GPIO_RD_WAIT4); + CLK_SetSysClockSrc(CLK_SYSCLK_SRC_PLL); + +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) + /* PLLX for USB */ + (void)CLK_PLLxStructInit(&stcPLLAInit); + /* VCO = (8/2)*120 = 480MHz*/ + stcPLLAInit.u8PLLState = CLK_PLL_ON; + stcPLLAInit.PLLCFGR = 0UL; + stcPLLAInit.PLLCFGR_f.PLLM = 2UL - 1UL; + stcPLLAInit.PLLCFGR_f.PLLN = 120UL - 1UL; + stcPLLAInit.PLLCFGR_f.PLLP = 10UL - 1UL; + stcPLLAInit.PLLCFGR_f.PLLQ = 4UL - 1UL; + stcPLLAInit.PLLCFGR_f.PLLR = 4UL - 1UL; + (void)CLK_PLLxInit(&stcPLLAInit); +#endif + +#if defined(BSP_RTC_USING_XTAL32) || defined(RT_USING_PM) + /* Xtal32 config */ + GPIO_AnalogCmd(XTAL32_PORT, XTAL32_IN_PIN | XTAL32_OUT_PIN, ENABLE); + (void)CLK_Xtal32StructInit(&stcXtal32Init); + stcXtal32Init.u8State = CLK_XTAL32_ON; + stcXtal32Init.u8Drv = CLK_XTAL32_DRV_HIGH; + stcXtal32Init.u8Filter = CLK_XTAL32_FILTER_RUN_MD; + (void)CLK_Xtal32Init(&stcXtal32Init); +#endif +} + +/** Peripheral Clock Configuration +*/ +void PeripheralClock_Config(void) +{ +#if defined(BSP_USING_CAN1) + CLK_SetCANClockSrc(CLK_CAN1, CLK_CANCLK_SYSCLK_DIV6); +#endif +#if defined(BSP_USING_CAN2) + CLK_SetCANClockSrc(CLK_CAN2, CLK_CANCLK_SYSCLK_DIV6); +#endif + +#if defined(RT_USING_ADC) + CLK_SetPeriClockSrc(CLK_PERIPHCLK_PCLK); +#endif + +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) + CLK_SetUSBClockSrc(CLK_USBCLK_PLLXP); + /* Wait stable here, since the current DDL API does not include this */ + CLK_Delay(CLK_SYSCLK_SW_STB); +#endif +} + +/** Peripheral Registers Unlock +*/ +void PeripheralRegister_Unlock(void) +{ + LL_PERIPH_WE(EXAMPLE_PERIPH_WE); +} + +/*@}*/ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.h new file mode 100644 index 0000000000..160f52c805 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board.h @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +#include +#include "hc32_ll.h" +#include "drv_gpio.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#define HC32_FLASH_SIZE_GRANULARITY (8 * 1024) +#define HC32_FLASH_SIZE (2 * 1024 * 1024) +#define HC32_FLASH_START_ADDRESS (0) +#define HC32_FLASH_END_ADDRESS (HC32_FLASH_START_ADDRESS + HC32_FLASH_SIZE) + +#define HC32_SRAM_SIZE (512) +#define HC32_SRAM_END (0x1FFE0000 + HC32_SRAM_SIZE * 1024) + +#ifdef __ARMCC_VERSION +extern int Image$$RW_IRAM2$$ZI$$Limit; +#define HEAP_BEGIN (&Image$$RW_IRAM2$$ZI$$Limit) +#elif __ICCARM__ +#pragma section="HEAP" +#define HEAP_BEGIN (__segment_end("HEAP")) +#else +extern int __bss_end; +#define HEAP_BEGIN (&__bss_end) +#endif + +#define HEAP_END HC32_SRAM_END + +void PeripheralRegister_Unlock(void); +void PeripheralClock_Config(void); +void SystemBase_Config(void); +void SystemClock_Config(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.c new file mode 100644 index 0000000000..1724fe292f --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.c @@ -0,0 +1,701 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#include +#include "board_config.h" +#include "tca9539.h" + +/** + * The below functions will initialize HC32 board. + */ + +#if defined RT_USING_SERIAL +rt_err_t rt_hw_board_uart_init(CM_USART_TypeDef *USARTx) +{ + rt_err_t result = RT_EOK; + + switch ((rt_uint32_t)USARTx) + { +#if defined(BSP_USING_UART1) + case (rt_uint32_t)CM_USART1: + /* Configure USART RX/TX pin. */ + GPIO_SetFunc(USART1_RX_PORT, USART1_RX_PIN, USART1_RX_FUNC); + GPIO_SetFunc(USART1_TX_PORT, USART1_TX_PIN, USART1_TX_FUNC); + break; +#endif +#if defined(BSP_USING_UART6) + case (rt_uint32_t)CM_USART6: + /* Configure USART RX/TX pin. */ + GPIO_SetFunc(USART6_RX_PORT, USART6_RX_PIN, USART6_RX_FUNC); + GPIO_SetFunc(USART6_TX_PORT, USART6_TX_PIN, USART6_TX_FUNC); + break; +#endif + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + +#if defined(RT_USING_I2C) +rt_err_t rt_hw_board_i2c_init(CM_I2C_TypeDef *I2Cx) +{ + rt_err_t result = RT_EOK; + stc_gpio_init_t stcGpioInit; + (void)GPIO_StructInit(&stcGpioInit); + + switch ((rt_uint32_t)I2Cx) + { +#if defined(BSP_USING_I2C1) + case (rt_uint32_t)CM_I2C1: + /* Configure I2C1 SDA/SCL pin. */ + GPIO_SetFunc(I2C1_SDA_PORT, I2C1_SDA_PIN, I2C1_SDA_FUNC); + GPIO_SetFunc(I2C1_SCL_PORT, I2C1_SCL_PIN, I2C1_SCL_FUNC); + break; +#endif + default: + result = -RT_ERROR; + break; + } + return result; +} +#endif + +#if defined(RT_USING_ADC) +rt_err_t rt_hw_board_adc_init(CM_ADC_TypeDef *ADCx) +{ + rt_err_t result = RT_EOK; + stc_gpio_init_t stcGpioInit; + + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinAttr = PIN_ATTR_ANALOG; + switch ((rt_uint32_t)ADCx) + { +#if defined(BSP_USING_ADC1) + case (rt_uint32_t)CM_ADC1: + (void)GPIO_Init(ADC1_CH_PORT, ADC1_CH_PIN, &stcGpioInit); + break; +#endif +#if defined(BSP_USING_ADC2) + case (rt_uint32_t)CM_ADC2: + (void)GPIO_Init(ADC2_CH_PORT, ADC2_CH_PIN, &stcGpioInit); + break; +#endif +#if defined(BSP_USING_ADC3) + case (rt_uint32_t)CM_ADC3: + (void)GPIO_Init(ADC3_CH_PORT, ADC3_CH_PIN, &stcGpioInit); + break; +#endif + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + +#if defined(RT_USING_DAC) +rt_err_t rt_hw_board_dac_init(CM_DAC_TypeDef *DACx) +{ + rt_err_t result = RT_EOK; + stc_gpio_init_t stcGpioInit; + + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinAttr = PIN_ATTR_ANALOG; + switch ((rt_uint32_t)DACx) + { +#if defined(BSP_USING_DAC1) + case (rt_uint32_t)CM_DAC1: + (void)GPIO_Init(DAC1_CH1_PORT, DAC1_CH1_PIN, &stcGpioInit); + (void)GPIO_Init(DAC1_CH2_PORT, DAC1_CH2_PIN, &stcGpioInit); + break; +#endif +#if defined(BSP_USING_DAC2) + case (rt_uint32_t)CM_DAC2: + (void)GPIO_Init(DAC2_CH1_PORT, DAC2_CH1_PIN, &stcGpioInit); + (void)GPIO_Init(DAC2_CH2_PORT, DAC2_CH2_PIN, &stcGpioInit); + break; +#endif + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + +#if defined(RT_USING_CAN) +void CanPhyEnable(void) +{ + TCA9539_WritePin(CAN_STB_PORT, CAN_STB_PIN, TCA9539_PIN_RESET); + TCA9539_ConfigPin(CAN_STB_PORT, CAN_STB_PIN, TCA9539_DIR_OUT); +} +rt_err_t rt_hw_board_can_init(CM_CAN_TypeDef *CANx) +{ + rt_err_t result = RT_EOK; + + switch ((rt_uint32_t)CANx) + { +#if defined(BSP_USING_CAN1) + case (rt_uint32_t)CM_CAN1: + GPIO_SetFunc(CAN1_TX_PORT, CAN1_TX_PIN, CAN1_TX_PIN_FUNC); + GPIO_SetFunc(CAN1_RX_PORT, CAN1_RX_PIN, CAN1_RX_PIN_FUNC); + break; +#endif +#if defined(BSP_USING_CAN2) + case (rt_uint32_t)CM_CAN2: + GPIO_SetFunc(CAN2_TX_PORT, CAN2_TX_PIN, CAN2_TX_PIN_FUNC); + GPIO_SetFunc(CAN2_RX_PORT, CAN2_RX_PIN, CAN2_RX_PIN_FUNC); + break; +#endif + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + + +#if defined (RT_USING_SPI) +rt_err_t rt_hw_spi_board_init(CM_SPI_TypeDef *CM_SPIx) +{ + rt_err_t result = RT_EOK; +#if defined(BSP_USING_SPI1) + stc_gpio_init_t stcGpioInit; +#endif + + switch ((rt_uint32_t)CM_SPIx) + { +#if defined(BSP_USING_SPI1) + case (rt_uint32_t)CM_SPI1: + GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinState = PIN_STAT_SET; + stcGpioInit.u16PinDir = PIN_DIR_OUT; + GPIO_Init(SPI1_WP_PORT, SPI1_WP_PIN, &stcGpioInit); + GPIO_Init(SPI1_HOLD_PORT, SPI1_HOLD_PIN, &stcGpioInit); + + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinDrv = PIN_HIGH_DRV; + stcGpioInit.u16PinInputType = PIN_IN_TYPE_CMOS; + (void)GPIO_Init(SPI1_SCK_PORT, SPI1_SCK_PIN, &stcGpioInit); + (void)GPIO_Init(SPI1_MOSI_PORT, SPI1_MOSI_PIN, &stcGpioInit); + (void)GPIO_Init(SPI1_MISO_PORT, SPI1_MISO_PIN, &stcGpioInit); + GPIO_SetFunc(SPI1_SCK_PORT, SPI1_SCK_PIN, SPI1_SCK_FUNC); + GPIO_SetFunc(SPI1_MOSI_PORT, SPI1_MOSI_PIN, SPI1_MOSI_FUNC); + GPIO_SetFunc(SPI1_MISO_PORT, SPI1_MISO_PIN, SPI1_MISO_FUNC); + break; +#endif + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + +#if defined(BSP_USING_ETH) +/* PHY hardware reset time */ +#define PHY_HW_RST_DELAY (0x40U) + +rt_err_t rt_hw_eth_phy_reset(CM_ETH_TypeDef *CM_ETHx) +{ + TCA9539_ConfigPin(TCA9539_IO_PORT1, EIO_ETH_RST, TCA9539_DIR_OUT); + TCA9539_WritePin(TCA9539_IO_PORT1, EIO_ETH_RST, TCA9539_PIN_RESET); + rt_thread_mdelay(PHY_HW_RST_DELAY); + TCA9539_WritePin(TCA9539_IO_PORT1, EIO_ETH_RST, TCA9539_PIN_SET); + rt_thread_mdelay(PHY_HW_RST_DELAY); + return RT_EOK; +} + +rt_err_t rt_hw_eth_board_init(CM_ETH_TypeDef *CM_ETHx) +{ +#if defined(ETH_INTERFACE_USING_RMII) + GPIO_SetFunc(ETH_SMI_MDIO_PORT, ETH_SMI_MDIO_PIN, ETH_SMI_MDIO_FUNC); + GPIO_SetFunc(ETH_SMI_MDC_PORT, ETH_SMI_MDC_PIN, ETH_SMI_MDC_FUNC); + GPIO_SetFunc(ETH_RMII_TX_EN_PORT, ETH_RMII_TX_EN_PIN, ETH_RMII_TX_EN_FUNC); + GPIO_SetFunc(ETH_RMII_TXD0_PORT, ETH_RMII_TXD0_PIN, ETH_RMII_TXD0_FUNC); + GPIO_SetFunc(ETH_RMII_TXD1_PORT, ETH_RMII_TXD1_PIN, ETH_RMII_TXD1_FUNC); + GPIO_SetFunc(ETH_RMII_REF_CLK_PORT, ETH_RMII_REF_CLK_PIN, ETH_RMII_REF_CLK_FUNC); + GPIO_SetFunc(ETH_RMII_CRS_DV_PORT, ETH_RMII_CRS_DV_PIN, ETH_RMII_CRS_DV_FUNC); + GPIO_SetFunc(ETH_RMII_RXD0_PORT, ETH_RMII_RXD0_PIN, ETH_RMII_RXD0_FUNC); + GPIO_SetFunc(ETH_RMII_RXD1_PORT, ETH_RMII_RXD1_PIN, ETH_RMII_RXD1_FUNC); +#else + GPIO_SetFunc(ETH_SMI_MDIO_PORT, ETH_SMI_MDIO_PIN, ETH_SMI_MDIO_FUNC); + GPIO_SetFunc(ETH_SMI_MDC_PORT, ETH_SMI_MDC_PIN, ETH_SMI_MDC_FUNC); + GPIO_SetFunc(ETH_MII_TX_CLK_PORT, ETH_MII_TX_CLK_PIN, ETH_MII_TX_CLK_FUNC); + GPIO_SetFunc(ETH_MII_TX_EN_PORT, ETH_MII_TX_EN_PIN, ETH_MII_TX_EN_FUNC); + GPIO_SetFunc(ETH_MII_TXD0_PORT, ETH_MII_TXD0_PIN, ETH_MII_TXD0_FUNC); + GPIO_SetFunc(ETH_MII_TXD1_PORT, ETH_MII_TXD1_PIN, ETH_MII_TXD1_FUNC); + GPIO_SetFunc(ETH_MII_TXD2_PORT, ETH_MII_TXD2_PIN, ETH_MII_TXD2_FUNC); + GPIO_SetFunc(ETH_MII_TXD3_PORT, ETH_MII_TXD3_PIN, ETH_MII_TXD3_FUNC); + GPIO_SetFunc(ETH_MII_RX_CLK_PORT, ETH_MII_RX_CLK_PIN, ETH_MII_RX_CLK_FUNC); + GPIO_SetFunc(ETH_MII_RX_DV_PORT, ETH_MII_RX_DV_PIN, ETH_MII_RX_DV_FUNC); + GPIO_SetFunc(ETH_MII_RXD0_PORT, ETH_MII_RXD0_PIN, ETH_MII_RXD0_FUNC); + GPIO_SetFunc(ETH_MII_RXD1_PORT, ETH_MII_RXD1_PIN, ETH_MII_RXD1_FUNC); + GPIO_SetFunc(ETH_MII_RXD2_PORT, ETH_MII_RXD2_PIN, ETH_MII_RXD2_FUNC); + GPIO_SetFunc(ETH_MII_RXD3_PORT, ETH_MII_RXD3_PIN, ETH_MII_RXD3_FUNC); + GPIO_SetFunc(ETH_MII_RX_ER_PORT, ETH_MII_RX_ER_PIN, ETH_MII_RX_ER_FUNC); + GPIO_SetFunc(ETH_MII_CRS_PORT, ETH_MII_CRS_PIN, ETH_MII_CRS_FUNC); + GPIO_SetFunc(ETH_MII_COL_PORT, ETH_MII_COL_PIN, ETH_MII_COL_FUNC); +#endif + return RT_EOK; +} +#endif + +#if defined (RT_USING_SDIO) +rt_err_t rt_hw_board_sdio_init(CM_SDIOC_TypeDef *SDIOCx) +{ + rt_err_t result = RT_EOK; + stc_gpio_init_t stcGpioInit; + + switch ((rt_uint32_t)SDIOCx) + { +#if defined(BSP_USING_SDIO1) + case (rt_uint32_t)CM_SDIOC1: + /************************* Set pin drive capacity *************************/ + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinDrv = PIN_HIGH_DRV; + (void)GPIO_Init(SDIOC1_CK_PORT, SDIOC1_CK_PIN, &stcGpioInit); + (void)GPIO_Init(SDIOC1_CMD_PORT, SDIOC1_CMD_PIN, &stcGpioInit); + (void)GPIO_Init(SDIOC1_D0_PORT, SDIOC1_D0_PIN, &stcGpioInit); + (void)GPIO_Init(SDIOC1_D1_PORT, SDIOC1_D1_PIN, &stcGpioInit); + (void)GPIO_Init(SDIOC1_D2_PORT, SDIOC1_D2_PIN, &stcGpioInit); + (void)GPIO_Init(SDIOC1_D3_PORT, SDIOC1_D3_PIN, &stcGpioInit); + + GPIO_SetFunc(SDIOC1_CK_PORT, SDIOC1_CK_PIN, SDIOC1_CK_FUNC); + GPIO_SetFunc(SDIOC1_CMD_PORT, SDIOC1_CMD_PIN, SDIOC1_CMD_FUNC); + GPIO_SetFunc(SDIOC1_D0_PORT, SDIOC1_D0_PIN, SDIOC1_D0_FUNC); + GPIO_SetFunc(SDIOC1_D1_PORT, SDIOC1_D1_PIN, SDIOC1_D1_FUNC); + GPIO_SetFunc(SDIOC1_D2_PORT, SDIOC1_D2_PIN, SDIOC1_D2_FUNC); + GPIO_SetFunc(SDIOC1_D3_PORT, SDIOC1_D3_PIN, SDIOC1_D3_FUNC); + break; +#endif + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + +#if defined(RT_USING_PWM) +#if defined(BSP_USING_PWM_TMRA) +rt_err_t rt_hw_board_pwm_tmra_init(CM_TMRA_TypeDef *TMRAx) +{ + rt_err_t result = RT_EOK; + switch ((rt_uint32_t)TMRAx) + { +#if defined(BSP_USING_PWM_TMRA_1) + case (rt_uint32_t)CM_TMRA_1: +#ifdef BSP_USING_PWM_TMRA_1_CH1 + GPIO_SetFunc(PWM_TMRA_1_CH1_PORT, PWM_TMRA_1_CH1_PIN, PWM_TMRA_1_CH1_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMRA_1_CH2 + GPIO_SetFunc(PWM_TMRA_1_CH2_PORT, PWM_TMRA_1_CH2_PIN, PWM_TMRA_1_CH2_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMRA_1_CH3 + GPIO_SetFunc(PWM_TMRA_1_CH3_PORT, PWM_TMRA_1_CH3_PIN, PWM_TMRA_1_CH3_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMRA_1_CH4 + GPIO_SetFunc(PWM_TMRA_1_CH4_PORT, PWM_TMRA_1_CH4_PIN, PWM_TMRA_1_CH4_PIN_FUNC); +#endif + break; +#endif + + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif + +#if defined(BSP_USING_PWM_TMR4) +rt_err_t rt_hw_board_pwm_tmr4_init(CM_TMR4_TypeDef *TMR4x) +{ + rt_err_t result = RT_EOK; + switch ((rt_uint32_t)TMR4x) + { +#if defined(BSP_USING_PWM_TMR4_1) + case (rt_uint32_t)CM_TMR4_1: +#ifdef BSP_USING_PWM_TMR4_1_OUH + GPIO_SetFunc(PWM_TMR4_1_OUH_PORT, PWM_TMR4_1_OUH_PIN, PWM_TMR4_1_OUH_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMR4_1_OUL + GPIO_SetFunc(PWM_TMR4_1_OUL_PORT, PWM_TMR4_1_OUL_PIN, PWM_TMR4_1_OUL_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMR4_1_OVH + GPIO_SetFunc(PWM_TMR4_1_OVH_PORT, PWM_TMR4_1_OVH_PIN, PWM_TMR4_1_OVH_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMR4_1_OVL + GPIO_SetFunc(PWM_TMR4_1_OVL_PORT, PWM_TMR4_1_OVL_PIN, PWM_TMR4_1_OVL_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMR4_1_OWH + GPIO_SetFunc(PWM_TMR4_1_OWH_PORT, PWM_TMR4_1_OWH_PIN, PWM_TMR4_1_OWH_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMR4_1_OWL + GPIO_SetFunc(PWM_TMR4_1_OWL_PORT, PWM_TMR4_1_OWL_PIN, PWM_TMR4_1_OWL_PIN_FUNC); +#endif + break; +#endif + + default: + result = -RT_ERROR; + break; + } + return result; +} +#endif + +#if defined(BSP_USING_PWM_TMR6) +rt_err_t rt_hw_board_pwm_tmr6_init(CM_TMR6_TypeDef *TMR6x) +{ + rt_err_t result = RT_EOK; + switch ((rt_uint32_t)TMR6x) + { +#if defined(BSP_USING_PWM_TMR6_1) + case (rt_uint32_t)CM_TMR6_1: +#ifdef BSP_USING_PWM_TMR6_1_A + GPIO_SetFunc(PWM_TMR6_1_A_PORT, PWM_TMR6_1_A_PIN, PWM_TMR6_1_A_PIN_FUNC); +#endif +#ifdef BSP_USING_PWM_TMR6_1_B + GPIO_SetFunc(PWM_TMR6_1_B_PORT, PWM_TMR6_1_B_PIN, PWM_TMR6_1_B_PIN_FUNC); +#endif + break; +#endif + + default: + result = -RT_ERROR; + break; + } + + return result; +} +#endif +#endif + +#if defined (BSP_USING_SDRAM) +rt_err_t rt_hw_board_sdram_init(void) +{ + rt_err_t result = RT_EOK; + stc_gpio_init_t stcGpioInit; + + /************************* Set pin drive capacity *************************/ + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinDrv = PIN_HIGH_DRV; + /* DMC_CKE */ + (void)GPIO_Init(SDRAM_CKE_PORT, SDRAM_CKE_PIN, &stcGpioInit); + /* DMC_CLK */ + (void)GPIO_Init(SDRAM_CLK_PORT, SDRAM_CLK_PIN, &stcGpioInit); + /* DMC_LDQM && DMC_UDQM */ + (void)GPIO_Init(SDRAM_DQM0_PORT, SDRAM_DQM0_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DQM1_PORT, SDRAM_DQM1_PIN, &stcGpioInit); + /* DMC_BA[0:1] */ + (void)GPIO_Init(SDRAM_BA0_PORT, SDRAM_BA0_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_BA1_PORT, SDRAM_BA1_PIN, &stcGpioInit); + /* DMC_CAS && DMC_RAS */ + (void)GPIO_Init(SDRAM_CAS_PORT, SDRAM_CAS_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_RAS_PORT, SDRAM_RAS_PIN, &stcGpioInit); + /* DMC_WE */ + (void)GPIO_Init(SDRAM_WE_PORT, SDRAM_WE_PIN, &stcGpioInit); + /* DMC_DATA[0:15] */ + (void)GPIO_Init(SDRAM_DATA0_PORT, SDRAM_DATA0_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA1_PORT, SDRAM_DATA1_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA2_PORT, SDRAM_DATA2_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA3_PORT, SDRAM_DATA3_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA4_PORT, SDRAM_DATA4_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA5_PORT, SDRAM_DATA5_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA6_PORT, SDRAM_DATA6_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA7_PORT, SDRAM_DATA7_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA8_PORT, SDRAM_DATA8_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA9_PORT, SDRAM_DATA9_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA10_PORT, SDRAM_DATA10_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA11_PORT, SDRAM_DATA11_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA12_PORT, SDRAM_DATA12_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA13_PORT, SDRAM_DATA13_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA14_PORT, SDRAM_DATA14_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_DATA15_PORT, SDRAM_DATA15_PIN, &stcGpioInit); + /* DMC_ADD[0:11]*/ + (void)GPIO_Init(SDRAM_ADD0_PORT, SDRAM_ADD0_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD1_PORT, SDRAM_ADD1_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD2_PORT, SDRAM_ADD2_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD3_PORT, SDRAM_ADD3_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD4_PORT, SDRAM_ADD4_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD5_PORT, SDRAM_ADD5_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD6_PORT, SDRAM_ADD6_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD7_PORT, SDRAM_ADD7_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD8_PORT, SDRAM_ADD8_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD9_PORT, SDRAM_ADD9_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD10_PORT, SDRAM_ADD10_PIN, &stcGpioInit); + (void)GPIO_Init(SDRAM_ADD11_PORT, SDRAM_ADD11_PIN, &stcGpioInit); + + /************************** Set EXMC pin function *************************/ + /* DMC_CKE */ + GPIO_SetFunc(SDRAM_CKE_PORT, SDRAM_CKE_PIN, SDRAM_CKE_FUNC); + /* DMC_CLK */ + GPIO_SetFunc(SDRAM_CLK_PORT, SDRAM_CLK_PIN, SDRAM_CLK_FUNC); + /* DMC_LDQM && DMC_UDQM */ + GPIO_SetFunc(SDRAM_DQM0_PORT, SDRAM_DQM0_PIN, SDRAM_DQM0_FUNC); + GPIO_SetFunc(SDRAM_DQM1_PORT, SDRAM_DQM1_PIN, SDRAM_DQM1_FUNC); + /* DMC_BA[0:1] */ + GPIO_SetFunc(SDRAM_BA0_PORT, SDRAM_BA0_PIN, SDRAM_BA0_FUNC); + GPIO_SetFunc(SDRAM_BA1_PORT, SDRAM_BA1_PIN, SDRAM_BA1_FUNC); + /* DMC_CS */ + GPIO_SetFunc(SDRAM_CS_PORT, SDRAM_CS_PIN, SDRAM_CS_FUNC); + /* DMC_CAS && DMC_RAS */ + GPIO_SetFunc(SDRAM_CAS_PORT, SDRAM_CAS_PIN, SDRAM_CAS_FUNC); + GPIO_SetFunc(SDRAM_RAS_PORT, SDRAM_RAS_PIN, SDRAM_RAS_FUNC); + /* DMC_WE */ + GPIO_SetFunc(SDRAM_WE_PORT, SDRAM_WE_PIN, SDRAM_WE_FUNC); + /* DMC_DATA[0:15] */ + GPIO_SetFunc(SDRAM_DATA0_PORT, SDRAM_DATA0_PIN, SDRAM_DATA0_FUNC); + GPIO_SetFunc(SDRAM_DATA1_PORT, SDRAM_DATA1_PIN, SDRAM_DATA1_FUNC); + GPIO_SetFunc(SDRAM_DATA2_PORT, SDRAM_DATA2_PIN, SDRAM_DATA2_FUNC); + GPIO_SetFunc(SDRAM_DATA3_PORT, SDRAM_DATA3_PIN, SDRAM_DATA3_FUNC); + GPIO_SetFunc(SDRAM_DATA4_PORT, SDRAM_DATA4_PIN, SDRAM_DATA4_FUNC); + GPIO_SetFunc(SDRAM_DATA5_PORT, SDRAM_DATA5_PIN, SDRAM_DATA5_FUNC); + GPIO_SetFunc(SDRAM_DATA6_PORT, SDRAM_DATA6_PIN, SDRAM_DATA6_FUNC); + GPIO_SetFunc(SDRAM_DATA7_PORT, SDRAM_DATA7_PIN, SDRAM_DATA7_FUNC); + GPIO_SetFunc(SDRAM_DATA8_PORT, SDRAM_DATA8_PIN, SDRAM_DATA8_FUNC); + GPIO_SetFunc(SDRAM_DATA9_PORT, SDRAM_DATA9_PIN, SDRAM_DATA9_FUNC); + GPIO_SetFunc(SDRAM_DATA10_PORT, SDRAM_DATA10_PIN, SDRAM_DATA10_FUNC); + GPIO_SetFunc(SDRAM_DATA11_PORT, SDRAM_DATA11_PIN, SDRAM_DATA11_FUNC); + GPIO_SetFunc(SDRAM_DATA12_PORT, SDRAM_DATA12_PIN, SDRAM_DATA12_FUNC); + GPIO_SetFunc(SDRAM_DATA13_PORT, SDRAM_DATA13_PIN, SDRAM_DATA13_FUNC); + GPIO_SetFunc(SDRAM_DATA14_PORT, SDRAM_DATA14_PIN, SDRAM_DATA14_FUNC); + GPIO_SetFunc(SDRAM_DATA15_PORT, SDRAM_DATA15_PIN, SDRAM_DATA15_FUNC); + /* DMC_ADD[0:11]*/ + GPIO_SetFunc(SDRAM_ADD0_PORT, SDRAM_ADD0_PIN, SDRAM_ADD0_FUNC); + GPIO_SetFunc(SDRAM_ADD1_PORT, SDRAM_ADD1_PIN, SDRAM_ADD1_FUNC); + GPIO_SetFunc(SDRAM_ADD2_PORT, SDRAM_ADD2_PIN, SDRAM_ADD2_FUNC); + GPIO_SetFunc(SDRAM_ADD3_PORT, SDRAM_ADD3_PIN, SDRAM_ADD3_FUNC); + GPIO_SetFunc(SDRAM_ADD4_PORT, SDRAM_ADD4_PIN, SDRAM_ADD4_FUNC); + GPIO_SetFunc(SDRAM_ADD5_PORT, SDRAM_ADD5_PIN, SDRAM_ADD5_FUNC); + GPIO_SetFunc(SDRAM_ADD6_PORT, SDRAM_ADD6_PIN, SDRAM_ADD6_FUNC); + GPIO_SetFunc(SDRAM_ADD7_PORT, SDRAM_ADD7_PIN, SDRAM_ADD7_FUNC); + GPIO_SetFunc(SDRAM_ADD8_PORT, SDRAM_ADD8_PIN, SDRAM_ADD8_FUNC); + GPIO_SetFunc(SDRAM_ADD9_PORT, SDRAM_ADD9_PIN, SDRAM_ADD9_FUNC); + GPIO_SetFunc(SDRAM_ADD10_PORT, SDRAM_ADD10_PIN, SDRAM_ADD10_FUNC); + GPIO_SetFunc(SDRAM_ADD11_PORT, SDRAM_ADD11_PIN, SDRAM_ADD11_FUNC); + + return result; +} +#endif + +#ifdef RT_USING_PM +void rt_hw_board_pm_sysclk_cfg(uint8_t run_mode) +{ + switch (run_mode) + { + case PM_RUN_MODE_HIGH_SPEED: + case PM_RUN_MODE_NORMAL_SPEED: + CLK_SetSysClockSrc(CLK_SYSCLK_SRC_PLL); + break; + + case PM_RUN_MODE_LOW_SPEED: + /* Ensure that system clock less than 8M */ + CLK_SetSysClockSrc(CLK_SYSCLK_SRC_XTAL); + + default: + break; + } +} +#endif + +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) +rt_err_t rt_hw_usb_board_init(void) +{ + stc_gpio_init_t stcGpioCfg; + (void)GPIO_StructInit(&stcGpioCfg); +#if defined(BSP_USING_USBFS) + stcGpioCfg.u16PinAttr = PIN_ATTR_ANALOG; + (void)GPIO_Init(USBF_DM_PORT, USBF_DM_PIN, &stcGpioCfg); + (void)GPIO_Init(USBF_DP_PORT, USBF_DP_PIN, &stcGpioCfg); +#if defined(BSP_USING_USBD) + GPIO_SetFunc(USBF_VBUS_PORT, USBF_VBUS_PIN, USBF_VBUS_FUNC); /* VBUS */ +#endif +#if defined(BSP_USING_USBH) + GPIO_SetFunc(USBF_DRVVBUS_PORT, USBF_DRVVBUS_PIN, USBF_DRVVBUS_FUNC); /* DRV VBUS */ +#endif +#elif defined(BSP_USING_USBHS) +#if defined(BSP_USING_USBHS_PHY_EMBED) + /* USBHS work in embedded PHY */ + stcGpioCfg.u16PinAttr = PIN_ATTR_ANALOG; + (void)GPIO_Init(USBH_DM_PORT, USBH_DM_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_DP_PORT, USBH_DP_PIN, &stcGpioCfg); +#if defined(BSP_USING_USBD) + GPIO_SetFunc(USBH_VBUS_PORT, USBH_VBUS_PIN, USBH_VBUS_FUNC); +#endif +#if defined(BSP_USING_USBH) + GPIO_OutputCmd(USBH_DRVVBUS_PORT, USBH_DRVVBUS_PIN, ENABLE); + GPIO_SetPins(USBH_DRVVBUS_PORT, USBH_DRVVBUS_PIN); /* DRV VBUS with GPIO funciton */ +#endif +#else + /* Reset 3300 */ + TCA9539_WritePin(TCA9539_IO_PORT1, USB_3300_RESET_PIN, TCA9539_PIN_SET); + TCA9539_ConfigPin(TCA9539_IO_PORT1, USB_3300_RESET_PIN, TCA9539_DIR_OUT); + + (void)GPIO_StructInit(&stcGpioCfg); + /* High drive capability */ + stcGpioCfg.u16PinDrv = PIN_HIGH_DRV; + (void)GPIO_Init(USBH_ULPI_D0_PORT, USBH_ULPI_D0_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D1_PORT, USBH_ULPI_D1_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D2_PORT, USBH_ULPI_D2_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D3_PORT, USBH_ULPI_D3_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D4_PORT, USBH_ULPI_D4_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D5_PORT, USBH_ULPI_D5_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D6_PORT, USBH_ULPI_D6_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_D7_PORT, USBH_ULPI_D7_PIN, &stcGpioCfg); + (void)GPIO_Init(USBH_ULPI_STP_PORT, USBH_ULPI_STP_PIN, &stcGpioCfg); + + GPIO_SetFunc(USBH_ULPI_CLK_PORT, USBH_ULPI_CLK_PIN, USBH_ULPI_CLK_FUNC); + GPIO_SetFunc(USBH_ULPI_DIR_PORT, USBH_ULPI_DIR_PIN, USBH_ULPI_DIR_FUNC); + GPIO_SetFunc(USBH_ULPI_NXT_PORT, USBH_ULPI_NXT_PIN, USBH_ULPI_NXT_FUNC); + GPIO_SetFunc(USBH_ULPI_STP_PORT, USBH_ULPI_STP_PIN, USBH_ULPI_STP_FUNC); + GPIO_SetFunc(USBH_ULPI_D0_PORT, USBH_ULPI_D0_PIN, USBH_ULPI_D0_FUNC); + GPIO_SetFunc(USBH_ULPI_D1_PORT, USBH_ULPI_D1_PIN, USBH_ULPI_D1_FUNC); + GPIO_SetFunc(USBH_ULPI_D2_PORT, USBH_ULPI_D2_PIN, USBH_ULPI_D2_FUNC); + GPIO_SetFunc(USBH_ULPI_D3_PORT, USBH_ULPI_D3_PIN, USBH_ULPI_D3_FUNC); + GPIO_SetFunc(USBH_ULPI_D4_PORT, USBH_ULPI_D4_PIN, USBH_ULPI_D4_FUNC); + GPIO_SetFunc(USBH_ULPI_D5_PORT, USBH_ULPI_D5_PIN, USBH_ULPI_D5_FUNC); + GPIO_SetFunc(USBH_ULPI_D6_PORT, USBH_ULPI_D6_PIN, USBH_ULPI_D6_FUNC); + GPIO_SetFunc(USBH_ULPI_D7_PORT, USBH_ULPI_D7_PIN, USBH_ULPI_D7_FUNC); + + TCA9539_WritePin(TCA9539_IO_PORT1, USB_3300_RESET_PIN, TCA9539_PIN_RESET); +#endif + +#endif + return RT_EOK; +} +#endif + +#if defined(BSP_USING_QSPI) +rt_err_t rt_hw_qspi_board_init(void) +{ + stc_gpio_init_t stcGpioInit; + + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinDrv = PIN_HIGH_DRV; +#ifndef BSP_QSPI_USING_SOFT_CS + (void)GPIO_Init(QSPI_FLASH_CS_PORT, QSPI_FLASH_CS_PIN, &stcGpioInit); + GPIO_SetFunc(QSPI_FLASH_CS_PORT, QSPI_FLASH_CS_PIN, QSPI_FLASH_CS_FUNC); +#endif + (void)GPIO_Init(QSPI_FLASH_SCK_PORT, QSPI_FLASH_SCK_PIN, &stcGpioInit); + (void)GPIO_Init(QSPI_FLASH_IO0_PORT, QSPI_FLASH_IO0_PIN, &stcGpioInit); + (void)GPIO_Init(QSPI_FLASH_IO1_PORT, QSPI_FLASH_IO1_PIN, &stcGpioInit); + (void)GPIO_Init(QSPI_FLASH_IO2_PORT, QSPI_FLASH_IO2_PIN, &stcGpioInit); + (void)GPIO_Init(QSPI_FLASH_IO3_PORT, QSPI_FLASH_IO3_PIN, &stcGpioInit); + GPIO_SetFunc(QSPI_FLASH_SCK_PORT, QSPI_FLASH_SCK_PIN, QSPI_FLASH_SCK_FUNC); + GPIO_SetFunc(QSPI_FLASH_IO0_PORT, QSPI_FLASH_IO0_PIN, QSPI_FLASH_IO0_FUNC); + GPIO_SetFunc(QSPI_FLASH_IO1_PORT, QSPI_FLASH_IO1_PIN, QSPI_FLASH_IO1_FUNC); + GPIO_SetFunc(QSPI_FLASH_IO2_PORT, QSPI_FLASH_IO2_PIN, QSPI_FLASH_IO2_FUNC); + GPIO_SetFunc(QSPI_FLASH_IO3_PORT, QSPI_FLASH_IO3_PIN, QSPI_FLASH_IO3_FUNC); + + return RT_EOK; +} +#endif + +#if defined(BSP_USING_TMRA_PULSE_ENCODER) +rt_err_t rt_hw_board_pulse_encoder_tmra_init(void) +{ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_1) + GPIO_SetFunc(PULSE_ENCODER_TMRA_1_A_PORT, PULSE_ENCODER_TMRA_1_A_PIN, PULSE_ENCODER_TMRA_1_A_PIN_FUNC); + GPIO_SetFunc(PULSE_ENCODER_TMRA_1_B_PORT, PULSE_ENCODER_TMRA_1_B_PIN, PULSE_ENCODER_TMRA_1_B_PIN_FUNC); +#endif + + return RT_EOK; +} +#endif + +#if defined(BSP_USING_TMR6_PULSE_ENCODER) +rt_err_t rt_hw_board_pulse_encoder_tmr6_init(void) +{ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_1) + GPIO_SetFunc(PULSE_ENCODER_TMR6_1_A_PORT, PULSE_ENCODER_TMR6_1_A_PIN, PULSE_ENCODER_TMR6_1_A_PIN_FUNC); + GPIO_SetFunc(PULSE_ENCODER_TMR6_1_B_PORT, PULSE_ENCODER_TMR6_1_B_PIN, PULSE_ENCODER_TMR6_1_B_PIN_FUNC); +#endif + + return RT_EOK; +} +#endif + +#if defined (BSP_USING_NAND) +rt_err_t rt_hw_board_nand_init(void) +{ + rt_err_t result = RT_EOK; + stc_gpio_init_t stcGpioInit; + + /************************* Set pin drive capacity *************************/ + (void)GPIO_StructInit(&stcGpioInit); + stcGpioInit.u16PinDrv = PIN_HIGH_DRV; + + /* NFC_CE */ + (void)GPIO_Init(NAND_CE_PORT, NAND_CE_PIN, &stcGpioInit); + /* NFC_RE */ + (void)GPIO_Init(NAND_RE_PORT, NAND_RE_PIN, &stcGpioInit); + /* NFC_WE */ + (void)GPIO_Init(NAND_WE_PORT, NAND_WE_PIN, &stcGpioInit); + /* NFC_CLE */ + (void)GPIO_Init(NAND_CLE_PORT, NAND_CLE_PIN, &stcGpioInit); + /* NFC_ALE */ + (void)GPIO_Init(NAND_ALE_PORT, NAND_ALE_PIN, &stcGpioInit); + /* NFC_WP */ + (void)GPIO_Init(NAND_WP_PORT, NAND_WP_PIN, &stcGpioInit); + GPIO_SetPins(NAND_WP_PORT, NAND_WP_PIN); + + /* NFC_DATA[0:7] */ + (void)GPIO_Init(NAND_DATA0_PORT, NAND_DATA0_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA1_PORT, NAND_DATA1_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA2_PORT, NAND_DATA2_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA3_PORT, NAND_DATA3_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA4_PORT, NAND_DATA4_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA5_PORT, NAND_DATA5_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA6_PORT, NAND_DATA6_PIN, &stcGpioInit); + (void)GPIO_Init(NAND_DATA7_PORT, NAND_DATA7_PIN, &stcGpioInit); + /* NFC_RB */ + (void)GPIO_Init(NAND_RB_PORT, NAND_RB_PIN, &stcGpioInit); + + /************************** Set EXMC pin function *************************/ + /* NFC_CE */ + GPIO_SetFunc(NAND_CE_PORT, NAND_CE_PIN, NAND_CE_FUNC); + /* NFC_RE */ + GPIO_SetFunc(NAND_RE_PORT, NAND_RE_PIN, NAND_RE_FUNC); + /* NFC_WE */ + GPIO_SetFunc(NAND_WE_PORT, NAND_WE_PIN, NAND_WE_FUNC); + /* NFC_CLE */ + GPIO_SetFunc(NAND_CLE_PORT, NAND_CLE_PIN, NAND_CLE_FUNC); + /* NFC_ALE */ + GPIO_SetFunc(NAND_ALE_PORT, NAND_ALE_PIN, NAND_ALE_FUNC); + /* NFC_WP */ + GPIO_SetFunc(NAND_WP_PORT, NAND_WP_PIN, NAND_WP_FUNC); + /* NFC_RB */ + GPIO_SetFunc(NAND_RB_PORT, NAND_RB_PIN, NAND_RB_FUNC); + /* NFC_DATA[0:7] */ + GPIO_SetFunc(NAND_DATA0_PORT, NAND_DATA0_PIN, NAND_DATA0_FUNC); + GPIO_SetFunc(NAND_DATA1_PORT, NAND_DATA1_PIN, NAND_DATA1_FUNC); + GPIO_SetFunc(NAND_DATA2_PORT, NAND_DATA2_PIN, NAND_DATA2_FUNC); + GPIO_SetFunc(NAND_DATA3_PORT, NAND_DATA3_PIN, NAND_DATA3_FUNC); + GPIO_SetFunc(NAND_DATA4_PORT, NAND_DATA4_PIN, NAND_DATA4_FUNC); + GPIO_SetFunc(NAND_DATA5_PORT, NAND_DATA5_PIN, NAND_DATA5_FUNC); + GPIO_SetFunc(NAND_DATA6_PORT, NAND_DATA6_PIN, NAND_DATA6_FUNC); + GPIO_SetFunc(NAND_DATA7_PORT, NAND_DATA7_PIN, NAND_DATA7_FUNC); + + return result; +} +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.h new file mode 100644 index 0000000000..13a33752bf --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/board_config.h @@ -0,0 +1,678 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + + +#ifndef __BOARD_CONFIG_H__ +#define __BOARD_CONFIG_H__ + +#include +#include "hc32_ll.h" +#include "drv_config.h" + + +/************************* XTAL port **********************/ +#define XTAL_PORT (GPIO_PORT_H) +#define XTAL_IN_PIN (GPIO_PIN_01) +#define XTAL_OUT_PIN (GPIO_PIN_00) + +/************************ USART port **********************/ +#if defined(BSP_USING_UART1) + #define USART1_RX_PORT (GPIO_PORT_A) + #define USART1_RX_PIN (GPIO_PIN_10) + #define USART1_RX_FUNC (GPIO_FUNC_20) + + #define USART1_TX_PORT (GPIO_PORT_A) + #define USART1_TX_PIN (GPIO_PIN_09) + #define USART1_TX_FUNC (GPIO_FUNC_20) +#endif + +#if defined(BSP_USING_UART6) + #define USART6_RX_PORT (GPIO_PORT_H) + #define USART6_RX_PIN (GPIO_PIN_06) + #define USART6_RX_FUNC (GPIO_FUNC_37) + + #define USART6_TX_PORT (GPIO_PORT_E) + #define USART6_TX_PIN (GPIO_PIN_06) + #define USART6_TX_FUNC (GPIO_FUNC_36) +#endif + +/************************ I2C port **********************/ +#if defined(BSP_USING_I2C1) + #define I2C1_SDA_PORT (GPIO_PORT_F) + #define I2C1_SDA_PIN (GPIO_PIN_10) + #define I2C1_SDA_FUNC (GPIO_FUNC_48) + + #define I2C1_SCL_PORT (GPIO_PORT_D) + #define I2C1_SCL_PIN (GPIO_PIN_03) + #define I2C1_SCL_FUNC (GPIO_FUNC_49) +#endif + +/*********** ADC configure *********/ +#if defined(BSP_USING_ADC1) + #define ADC1_CH_PORT (GPIO_PORT_C) + #define ADC1_CH_PIN (GPIO_PIN_00) +#endif + +#if defined(BSP_USING_ADC2) + #define ADC2_CH_PORT (GPIO_PORT_C) + #define ADC2_CH_PIN (GPIO_PIN_01) +#endif + +#if defined(BSP_USING_ADC3) + #define ADC3_CH_PORT (GPIO_PORT_C) + #define ADC3_CH_PIN (GPIO_PIN_02) +#endif + +/*********** DAC configure *********/ +#if defined(BSP_USING_DAC1) + #define DAC1_CH1_PORT (GPIO_PORT_A) + #define DAC1_CH1_PIN (GPIO_PIN_04) + #define DAC1_CH2_PORT (GPIO_PORT_A) + #define DAC1_CH2_PIN (GPIO_PIN_05) +#endif + +#if defined(BSP_USING_DAC2) + #define DAC2_CH1_PORT (GPIO_PORT_C) + #define DAC2_CH1_PIN (GPIO_PIN_04) + #define DAC2_CH2_PORT (GPIO_PORT_C) + #define DAC2_CH2_PIN (GPIO_PIN_05) +#endif + +/*********** CAN configure *********/ +#if defined(BSP_USING_CAN1) + #define CAN1_TX_PORT (GPIO_PORT_D) + #define CAN1_TX_PIN (GPIO_PIN_05) + #define CAN1_TX_PIN_FUNC (GPIO_FUNC_60) + + #define CAN1_RX_PORT (GPIO_PORT_D) + #define CAN1_RX_PIN (GPIO_PIN_04) + #define CAN1_RX_PIN_FUNC (GPIO_FUNC_61) +#endif + +#if defined(BSP_USING_CAN2) + #define CAN2_TX_PORT (GPIO_PORT_D) + #define CAN2_TX_PIN (GPIO_PIN_07) + #define CAN2_TX_PIN_FUNC (GPIO_FUNC_62) + + #define CAN2_RX_PORT (GPIO_PORT_D) + #define CAN2_RX_PIN (GPIO_PIN_06) + #define CAN2_RX_PIN_FUNC (GPIO_FUNC_63) +#endif + +/************************* SPI port ***********************/ +#if defined(BSP_USING_SPI1) + #define SPI1_CS_PORT (GPIO_PORT_A) + #define SPI1_CS_PIN (GPIO_PIN_04) + + #define SPI1_SCK_PORT (GPIO_PORT_A) + #define SPI1_SCK_PIN (GPIO_PIN_05) + #define SPI1_SCK_FUNC (GPIO_FUNC_40) + + #define SPI1_MOSI_PORT (GPIO_PORT_A) + #define SPI1_MOSI_PIN (GPIO_PIN_07) + #define SPI1_MOSI_FUNC (GPIO_FUNC_41) + + #define SPI1_MISO_PORT (GPIO_PORT_A) + #define SPI1_MISO_PIN (GPIO_PIN_06) + #define SPI1_MISO_FUNC (GPIO_FUNC_42) + + #define SPI1_WP_PORT (GPIO_PORT_B) + #define SPI1_WP_PIN (GPIO_PIN_10) + + #define SPI1_HOLD_PORT (GPIO_PORT_B) + #define SPI1_HOLD_PIN (GPIO_PIN_02) +#endif + +/************************* ETH port ***********************/ + +#if defined(BSP_USING_ETH) + #if defined(ETH_INTERFACE_USING_RMII) + #define ETH_SMI_MDIO_PORT (GPIO_PORT_A) + #define ETH_SMI_MDIO_PIN (GPIO_PIN_02) + #define ETH_SMI_MDIO_FUNC (GPIO_FUNC_11) + + #define ETH_SMI_MDC_PORT (GPIO_PORT_C) + #define ETH_SMI_MDC_PIN (GPIO_PIN_01) + #define ETH_SMI_MDC_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_TX_EN_PORT (GPIO_PORT_G) + #define ETH_RMII_TX_EN_PIN (GPIO_PIN_11) + #define ETH_RMII_TX_EN_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_TXD0_PORT (GPIO_PORT_G) + #define ETH_RMII_TXD0_PIN (GPIO_PIN_13) + #define ETH_RMII_TXD0_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_TXD1_PORT (GPIO_PORT_G) + #define ETH_RMII_TXD1_PIN (GPIO_PIN_14) + #define ETH_RMII_TXD1_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_REF_CLK_PORT (GPIO_PORT_A) + #define ETH_RMII_REF_CLK_PIN (GPIO_PIN_01) + #define ETH_RMII_REF_CLK_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_CRS_DV_PORT (GPIO_PORT_A) + #define ETH_RMII_CRS_DV_PIN (GPIO_PIN_07) + #define ETH_RMII_CRS_DV_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_RXD0_PORT (GPIO_PORT_C) + #define ETH_RMII_RXD0_PIN (GPIO_PIN_04) + #define ETH_RMII_RXD0_FUNC (GPIO_FUNC_11) + + #define ETH_RMII_RXD1_PORT (GPIO_PORT_C) + #define ETH_RMII_RXD1_PIN (GPIO_PIN_05) + #define ETH_RMII_RXD1_FUNC (GPIO_FUNC_11) + #else + #define ETH_SMI_MDIO_PORT (GPIO_PORT_A) + #define ETH_SMI_MDIO_PIN (GPIO_PIN_02) + #define ETH_SMI_MDIO_FUNC (GPIO_FUNC_11) + + #define ETH_SMI_MDC_PORT (GPIO_PORT_C) + #define ETH_SMI_MDC_PIN (GPIO_PIN_01) + #define ETH_SMI_MDC_FUNC (GPIO_FUNC_11) + + #define ETH_MII_TX_CLK_PORT (GPIO_PORT_B) + #define ETH_MII_TX_CLK_PIN (GPIO_PIN_06) + #define ETH_MII_TX_CLK_FUNC (GPIO_FUNC_11) + + #define ETH_MII_TX_EN_PORT (GPIO_PORT_G) + #define ETH_MII_TX_EN_PIN (GPIO_PIN_11) + #define ETH_MII_TX_EN_FUNC (GPIO_FUNC_11) + + #define ETH_MII_TXD0_PORT (GPIO_PORT_G) + #define ETH_MII_TXD0_PIN (GPIO_PIN_13) + #define ETH_MII_TXD0_FUNC (GPIO_FUNC_11) + + #define ETH_MII_TXD1_PORT (GPIO_PORT_G) + #define ETH_MII_TXD1_PIN (GPIO_PIN_14) + #define ETH_MII_TXD1_FUNC (GPIO_FUNC_11) + + #define ETH_MII_TXD2_PORT (GPIO_PORT_B) + #define ETH_MII_TXD2_PIN (GPIO_PIN_09) + #define ETH_MII_TXD2_FUNC (GPIO_FUNC_11) + + #define ETH_MII_TXD3_PORT (GPIO_PORT_B) + #define ETH_MII_TXD3_PIN (GPIO_PIN_08) + #define ETH_MII_TXD3_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RX_CLK_PORT (GPIO_PORT_A) + #define ETH_MII_RX_CLK_PIN (GPIO_PIN_01) + #define ETH_MII_RX_CLK_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RX_DV_PORT (GPIO_PORT_A) + #define ETH_MII_RX_DV_PIN (GPIO_PIN_07) + #define ETH_MII_RX_DV_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RXD0_PORT (GPIO_PORT_C) + #define ETH_MII_RXD0_PIN (GPIO_PIN_04) + #define ETH_MII_RXD0_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RXD1_PORT (GPIO_PORT_C) + #define ETH_MII_RXD1_PIN (GPIO_PIN_05) + #define ETH_MII_RXD1_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RXD2_PORT (GPIO_PORT_B) + #define ETH_MII_RXD2_PIN (GPIO_PIN_00) + #define ETH_MII_RXD2_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RXD3_PORT (GPIO_PORT_B) + #define ETH_MII_RXD3_PIN (GPIO_PIN_01) + #define ETH_MII_RXD3_FUNC (GPIO_FUNC_11) + + #define ETH_MII_RX_ER_PORT (GPIO_PORT_I) + #define ETH_MII_RX_ER_PIN (GPIO_PIN_10) + #define ETH_MII_RX_ER_FUNC (GPIO_FUNC_11) + + #define ETH_MII_CRS_PORT (GPIO_PORT_H) + #define ETH_MII_CRS_PIN (GPIO_PIN_02) + #define ETH_MII_CRS_FUNC (GPIO_FUNC_11) + + #define ETH_MII_COL_PORT (GPIO_PORT_H) + #define ETH_MII_COL_PIN (GPIO_PIN_03) + #define ETH_MII_COL_FUNC (GPIO_FUNC_11) + #endif +#endif + +/************************ NAND port **********************/ +#if defined(BSP_USING_NAND) + #define NAND_CE_PORT (GPIO_PORT_C) /* PC02 - EXMC_CE0 */ + #define NAND_CE_PIN (GPIO_PIN_02) + #define NAND_CE_FUNC (GPIO_FUNC_12) + + #define NAND_RE_PORT (GPIO_PORT_F) /* PF11 - EXMC_OE */ + #define NAND_RE_PIN (GPIO_PIN_11) + #define NAND_RE_FUNC (GPIO_FUNC_12) + + #define NAND_WE_PORT (GPIO_PORT_C) /* PC00 - EXMC_WE */ + #define NAND_WE_PIN (GPIO_PIN_00) + #define NAND_WE_FUNC (GPIO_FUNC_12) + + #define NAND_CLE_PORT (GPIO_PORT_I) /* PI12 - EXMC_CLE */ + #define NAND_CLE_PIN (GPIO_PIN_12) + #define NAND_CLE_FUNC (GPIO_FUNC_12) + + #define NAND_ALE_PORT (GPIO_PORT_C) /* PC03 - EXMC_ALE */ + #define NAND_ALE_PIN (GPIO_PIN_03) + #define NAND_ALE_FUNC (GPIO_FUNC_12) + + #define NAND_WP_PORT (GPIO_PORT_G) /* PG15 - EXMC_BAA */ + #define NAND_WP_PIN (GPIO_PIN_15) + #define NAND_WP_FUNC (GPIO_FUNC_12) + + #define NAND_RB_PORT (GPIO_PORT_G) /* PG06 - EXMC_RB0 */ + #define NAND_RB_PIN (GPIO_PIN_06) + #define NAND_RB_FUNC (GPIO_FUNC_12) + + #define NAND_DATA0_PORT (GPIO_PORT_D) /* PD14 - EXMC_DATA0 */ + #define NAND_DATA0_PIN (GPIO_PIN_14) + #define NAND_DATA0_FUNC (GPIO_FUNC_12) + #define NAND_DATA1_PORT (GPIO_PORT_D) /* PD15 - EXMC_DATA1 */ + #define NAND_DATA1_PIN (GPIO_PIN_15) + #define NAND_DATA1_FUNC (GPIO_FUNC_12) + #define NAND_DATA2_PORT (GPIO_PORT_D) /* PD0 - EXMC_DATA2 */ + #define NAND_DATA2_PIN (GPIO_PIN_00) + #define NAND_DATA2_FUNC (GPIO_FUNC_12) + #define NAND_DATA3_PORT (GPIO_PORT_D) /* PD1 - EXMC_DATA3 */ + #define NAND_DATA3_PIN (GPIO_PIN_01) + #define NAND_DATA3_FUNC (GPIO_FUNC_12) + #define NAND_DATA4_PORT (GPIO_PORT_E) /* PE7 - EXMC_DATA4 */ + #define NAND_DATA4_PIN (GPIO_PIN_07) + #define NAND_DATA4_FUNC (GPIO_FUNC_12) + #define NAND_DATA5_PORT (GPIO_PORT_E) /* PE8 - EXMC_DATA5 */ + #define NAND_DATA5_PIN (GPIO_PIN_08) + #define NAND_DATA5_FUNC (GPIO_FUNC_12) + #define NAND_DATA6_PORT (GPIO_PORT_E) /* PE9 - EXMC_DATA6 */ + #define NAND_DATA6_PIN (GPIO_PIN_09) + #define NAND_DATA6_FUNC (GPIO_FUNC_12) + #define NAND_DATA7_PORT (GPIO_PORT_E) /* PE10 - EXMC_DATA7 */ + #define NAND_DATA7_PIN (GPIO_PIN_10) + #define NAND_DATA7_FUNC (GPIO_FUNC_12) +#endif + +/************************ SDIOC port **********************/ +#if defined(BSP_USING_SDIO1) + #define SDIOC1_CK_PORT (GPIO_PORT_C) + #define SDIOC1_CK_PIN (GPIO_PIN_12) + #define SDIOC1_CK_FUNC (GPIO_FUNC_9) + + #define SDIOC1_CMD_PORT (GPIO_PORT_D) + #define SDIOC1_CMD_PIN (GPIO_PIN_02) + #define SDIOC1_CMD_FUNC (GPIO_FUNC_9) + + #define SDIOC1_D0_PORT (GPIO_PORT_C) + #define SDIOC1_D0_PIN (GPIO_PIN_08) + #define SDIOC1_D0_FUNC (GPIO_FUNC_9) + + #define SDIOC1_D1_PORT (GPIO_PORT_C) + #define SDIOC1_D1_PIN (GPIO_PIN_09) + #define SDIOC1_D1_FUNC (GPIO_FUNC_9) + + #define SDIOC1_D2_PORT (GPIO_PORT_C) + #define SDIOC1_D2_PIN (GPIO_PIN_10) + #define SDIOC1_D2_FUNC (GPIO_FUNC_9) + + #define SDIOC1_D3_PORT (GPIO_PORT_C) + #define SDIOC1_D3_PIN (GPIO_PIN_11) + #define SDIOC1_D3_FUNC (GPIO_FUNC_9) +#endif + +/************************ SDRAM port **********************/ +#if defined(BSP_USING_SDRAM) + #define SDRAM_CKE_PORT (GPIO_PORT_C) /* PC03 - EXMC_ALE */ + #define SDRAM_CKE_PIN (GPIO_PIN_03) + #define SDRAM_CKE_FUNC (GPIO_FUNC_12) + + #define SDRAM_CLK_PORT (GPIO_PORT_G) /* PD03 - EXMC_CLK */ + #define SDRAM_CLK_PIN (GPIO_PIN_08) + #define SDRAM_CLK_FUNC (GPIO_FUNC_12) + + #define SDRAM_DQM0_PORT (GPIO_PORT_E) /* PE00 - EXMC_CE4 */ + #define SDRAM_DQM0_PIN (GPIO_PIN_00) + #define SDRAM_DQM0_FUNC (GPIO_FUNC_12) + #define SDRAM_DQM1_PORT (GPIO_PORT_E) /* PE01 - EXMC_CE5 */ + #define SDRAM_DQM1_PIN (GPIO_PIN_01) + #define SDRAM_DQM1_FUNC (GPIO_FUNC_12) + + #define SDRAM_BA0_PORT (GPIO_PORT_D) /* PD11 - EXMC_ADD16 */ + #define SDRAM_BA0_PIN (GPIO_PIN_11) + #define SDRAM_BA0_FUNC (GPIO_FUNC_12) + #define SDRAM_BA1_PORT (GPIO_PORT_D) /* PD12 - EXMC_ADD17 */ + #define SDRAM_BA1_PIN (GPIO_PIN_12) + #define SDRAM_BA1_FUNC (GPIO_FUNC_12) + + #define SDRAM_CS_PORT (GPIO_PORT_G) /* PG09 - EXMC_CE1 */ + #define SDRAM_CS_PIN (GPIO_PIN_09) + #define SDRAM_CS_FUNC (GPIO_FUNC_12) + + #define SDRAM_RAS_PORT (GPIO_PORT_F) /* PF11 - EXMC_OE */ + #define SDRAM_RAS_PIN (GPIO_PIN_11) + #define SDRAM_RAS_FUNC (GPIO_FUNC_12) + + #define SDRAM_CAS_PORT (GPIO_PORT_G) /* PG15 - EXMC_BAA */ + #define SDRAM_CAS_PIN (GPIO_PIN_15) + #define SDRAM_CAS_FUNC (GPIO_FUNC_12) + + #define SDRAM_WE_PORT (GPIO_PORT_C) /* PC00 - EXMC_WE */ + #define SDRAM_WE_PIN (GPIO_PIN_00) + #define SDRAM_WE_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD0_PORT (GPIO_PORT_F) /* PF00 - EXMC_ADD0 */ + #define SDRAM_ADD0_PIN (GPIO_PIN_00) + #define SDRAM_ADD0_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD1_PORT (GPIO_PORT_F) /* PF01 - EXMC_ADD1 */ + #define SDRAM_ADD1_PIN (GPIO_PIN_01) + #define SDRAM_ADD1_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD2_PORT (GPIO_PORT_F) /* PF02 - EXMC_ADD2 */ + #define SDRAM_ADD2_PIN (GPIO_PIN_02) + #define SDRAM_ADD2_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD3_PORT (GPIO_PORT_F) /* PF03 - EXMC_ADD3 */ + #define SDRAM_ADD3_PIN (GPIO_PIN_03) + #define SDRAM_ADD3_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD4_PORT (GPIO_PORT_F) /* PF04 - EXMC_ADD4 */ + #define SDRAM_ADD4_PIN (GPIO_PIN_04) + #define SDRAM_ADD4_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD5_PORT (GPIO_PORT_F) /* PF05 - EXMC_ADD5 */ + #define SDRAM_ADD5_PIN (GPIO_PIN_05) + #define SDRAM_ADD5_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD6_PORT (GPIO_PORT_F) /* PF12 - EXMC_ADD6 */ + #define SDRAM_ADD6_PIN (GPIO_PIN_12) + #define SDRAM_ADD6_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD7_PORT (GPIO_PORT_F) /* PF13 - EXMC_ADD7 */ + #define SDRAM_ADD7_PIN (GPIO_PIN_13) + #define SDRAM_ADD7_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD8_PORT (GPIO_PORT_F) /* PF14 - EXMC_ADD8 */ + #define SDRAM_ADD8_PIN (GPIO_PIN_14) + #define SDRAM_ADD8_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD9_PORT (GPIO_PORT_F) /* PF15 - EXMC_ADD9 */ + #define SDRAM_ADD9_PIN (GPIO_PIN_15) + #define SDRAM_ADD9_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD10_PORT (GPIO_PORT_G) /* PG00 - EXMC_ADD10 */ + #define SDRAM_ADD10_PIN (GPIO_PIN_00) + #define SDRAM_ADD10_FUNC (GPIO_FUNC_12) + + #define SDRAM_ADD11_PORT (GPIO_PORT_G) /* PG01 - EXMC_ADD11 */ + #define SDRAM_ADD11_PIN (GPIO_PIN_01) + #define SDRAM_ADD11_FUNC (GPIO_FUNC_12) + + #define SDRAM_DATA0_PORT (GPIO_PORT_D) /* PD14 - EXMC_DATA0 */ + #define SDRAM_DATA0_PIN (GPIO_PIN_14) + #define SDRAM_DATA0_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA1_PORT (GPIO_PORT_D) /* PD15 - EXMC_DATA1 */ + #define SDRAM_DATA1_PIN (GPIO_PIN_15) + #define SDRAM_DATA1_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA2_PORT (GPIO_PORT_D) /* PD00 - EXMC_DATA2 */ + #define SDRAM_DATA2_PIN (GPIO_PIN_00) + #define SDRAM_DATA2_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA3_PORT (GPIO_PORT_D) /* PD01 - EXMC_DATA3 */ + #define SDRAM_DATA3_PIN (GPIO_PIN_01) + #define SDRAM_DATA3_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA4_PORT (GPIO_PORT_E) /* PE07 - EXMC_DATA4 */ + #define SDRAM_DATA4_PIN (GPIO_PIN_07) + #define SDRAM_DATA4_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA5_PORT (GPIO_PORT_E) /* PE08 - EXMC_DATA5 */ + #define SDRAM_DATA5_PIN (GPIO_PIN_08) + #define SDRAM_DATA5_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA6_PORT (GPIO_PORT_E) /* PE09 - EXMC_DATA6 */ + #define SDRAM_DATA6_PIN (GPIO_PIN_09) + #define SDRAM_DATA6_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA7_PORT (GPIO_PORT_E) /* PE10 - EXMC_DATA7 */ + #define SDRAM_DATA7_PIN (GPIO_PIN_10) + #define SDRAM_DATA7_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA8_PORT (GPIO_PORT_E) /* PE11 - EXMC_DATA8 */ + #define SDRAM_DATA8_PIN (GPIO_PIN_11) + #define SDRAM_DATA8_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA9_PORT (GPIO_PORT_E) /* PE12 - EXMC_DATA9 */ + #define SDRAM_DATA9_PIN (GPIO_PIN_12) + #define SDRAM_DATA9_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA10_PORT (GPIO_PORT_E) /* PE13 - EXMC_DATA10 */ + #define SDRAM_DATA10_PIN (GPIO_PIN_13) + #define SDRAM_DATA10_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA11_PORT (GPIO_PORT_E) /* PE14 - EXMC_DATA11 */ + #define SDRAM_DATA11_PIN (GPIO_PIN_14) + #define SDRAM_DATA11_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA12_PORT (GPIO_PORT_E) /* PE15 - EXMC_DATA12 */ + #define SDRAM_DATA12_PIN (GPIO_PIN_15) + #define SDRAM_DATA12_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA13_PORT (GPIO_PORT_D) /* PD08 - EXMC_DATA13 */ + #define SDRAM_DATA13_PIN (GPIO_PIN_08) + #define SDRAM_DATA13_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA14_PORT (GPIO_PORT_D) /* PD09 - EXMC_DATA14 */ + #define SDRAM_DATA14_PIN (GPIO_PIN_09) + #define SDRAM_DATA14_FUNC (GPIO_FUNC_12) + #define SDRAM_DATA15_PORT (GPIO_PORT_D) /* PD10 - EXMC_DATA15 */ + #define SDRAM_DATA15_PIN (GPIO_PIN_10) + #define SDRAM_DATA15_FUNC (GPIO_FUNC_12) +#endif + +/************************ RTC/PM *****************************/ +#if defined(BSP_USING_RTC) || defined(RT_USING_PM) + #if defined(BSP_RTC_USING_XTAL32) || defined(RT_USING_PM) + #define XTAL32_PORT (GPIO_PORT_C) + #define XTAL32_IN_PIN (GPIO_PIN_15) + #define XTAL32_OUT_PIN (GPIO_PIN_14) + #endif +#endif + +#if defined(RT_USING_PWM) + /*********** PWM_TMRA configure *********/ + #if defined(BSP_USING_PWM_TMRA_1) + #if defined(BSP_USING_PWM_TMRA_1_CH1) + #define PWM_TMRA_1_CH1_PORT (GPIO_PORT_A) + #define PWM_TMRA_1_CH1_PIN (GPIO_PIN_08) + #define PWM_TMRA_1_CH1_PIN_FUNC (GPIO_FUNC_4) + #endif + #if defined(BSP_USING_PWM_TMRA_1_CH2) + #define PWM_TMRA_1_CH2_PORT (GPIO_PORT_A) + #define PWM_TMRA_1_CH2_PIN (GPIO_PIN_09) + #define PWM_TMRA_1_CH2_PIN_FUNC (GPIO_FUNC_4) + #endif + #if defined(BSP_USING_PWM_TMRA_1_CH3) + #define PWM_TMRA_1_CH3_PORT (GPIO_PORT_A) + #define PWM_TMRA_1_CH3_PIN (GPIO_PIN_10) + #define PWM_TMRA_1_CH3_PIN_FUNC (GPIO_FUNC_4) + #endif + #if defined(BSP_USING_PWM_TMRA_1_CH4) + #define PWM_TMRA_1_CH4_PORT (GPIO_PORT_A) + #define PWM_TMRA_1_CH4_PIN (GPIO_PIN_11) + #define PWM_TMRA_1_CH4_PIN_FUNC (GPIO_FUNC_4) + #endif + #endif + + /*********** PWM_TMR4 configure *********/ + #if defined(BSP_USING_PWM_TMR4_1) + #if defined(BSP_USING_PWM_TMR4_1_OUH) + #define PWM_TMR4_1_OUH_PORT (GPIO_PORT_E) + #define PWM_TMR4_1_OUH_PIN (GPIO_PIN_09) + #define PWM_TMR4_1_OUH_PIN_FUNC (GPIO_FUNC_2) + #endif + #if defined(BSP_USING_PWM_TMR4_1_OUL) + #define PWM_TMR4_1_OUL_PORT (GPIO_PORT_E) + #define PWM_TMR4_1_OUL_PIN (GPIO_PIN_08) + #define PWM_TMR4_1_OUL_PIN_FUNC (GPIO_FUNC_2) + #endif + #if defined(BSP_USING_PWM_TMR4_1_OVH) + #define PWM_TMR4_1_OVH_PORT (GPIO_PORT_E) + #define PWM_TMR4_1_OVH_PIN (GPIO_PIN_11) + #define PWM_TMR4_1_OVH_PIN_FUNC (GPIO_FUNC_2) + #endif + #if defined(BSP_USING_PWM_TMR4_1_OVL) + #define PWM_TMR4_1_OVL_PORT (GPIO_PORT_E) + #define PWM_TMR4_1_OVL_PIN (GPIO_PIN_10) + #define PWM_TMR4_1_OVL_PIN_FUNC (GPIO_FUNC_2) + #endif + #if defined(BSP_USING_PWM_TMR4_1_OWH) + #define PWM_TMR4_1_OWH_PORT (GPIO_PORT_E) + #define PWM_TMR4_1_OWH_PIN (GPIO_PIN_13) + #define PWM_TMR4_1_OWH_PIN_FUNC (GPIO_FUNC_2) + #endif + #if defined(BSP_USING_PWM_TMR4_1_OWL) + #define PWM_TMR4_1_OWL_PORT (GPIO_PORT_E) + #define PWM_TMR4_1_OWL_PIN (GPIO_PIN_12) + #define PWM_TMR4_1_OWL_PIN_FUNC (GPIO_FUNC_2) + #endif + #endif + + /*********** PWM_TMR6 configure *********/ + #if defined(BSP_USING_PWM_TMR6_1) + #if defined(BSP_USING_PWM_TMR6_1_A) + #define PWM_TMR6_1_A_PORT (GPIO_PORT_F) + #define PWM_TMR6_1_A_PIN (GPIO_PIN_13) + #define PWM_TMR6_1_A_PIN_FUNC (GPIO_FUNC_3) + #endif + #if defined(BSP_USING_PWM_TMR6_1_B) + #define PWM_TMR6_1_B_PORT (GPIO_PORT_F) + #define PWM_TMR6_1_B_PIN (GPIO_PIN_14) + #define PWM_TMR6_1_B_PIN_FUNC (GPIO_FUNC_3) + #endif + #endif + +#endif + +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) + #if defined(BSP_USING_USBFS) + /* USBFS Core*/ + #define USBF_DP_PORT (GPIO_PORT_A) + #define USBF_DP_PIN (GPIO_PIN_12) + #define USBF_DP_FUNC (GPIO_FUNC_10) + #define USBF_DM_PORT (GPIO_PORT_A) + #define USBF_DM_PIN (GPIO_PIN_11) + #define USBF_DM_FUNC (GPIO_FUNC_10) + #define USBF_VBUS_PORT (GPIO_PORT_A) + #define USBF_VBUS_PIN (GPIO_PIN_09) + #define USBF_VBUS_FUNC (GPIO_FUNC_10) + #define USBF_DRVVBUS_PORT (GPIO_PORT_C) + #define USBF_DRVVBUS_PIN (GPIO_PIN_09) + #define USBF_DRVVBUS_FUNC (GPIO_FUNC_10) + #elif defined(BSP_USING_USBHS) + /* USBHS Core*/ + #if defined(BSP_USING_USBHS_PHY_EMBED) + #define USBH_DP_PORT (GPIO_PORT_B) + #define USBH_DP_PIN (GPIO_PIN_15) + #define USBH_DP_FUNC (GPIO_FUNC_10) + #define USBH_DM_PORT (GPIO_PORT_B) + #define USBH_DM_PIN (GPIO_PIN_14) + #define USBH_DM_FUNC (GPIO_FUNC_10) + #define USBH_VBUS_PORT (GPIO_PORT_B) + #define USBH_VBUS_PIN (GPIO_PIN_13) + #define USBH_VBUS_FUNC (GPIO_FUNC_12) + #define USBH_DRVVBUS_PORT (GPIO_PORT_B) + #define USBH_DRVVBUS_PIN (GPIO_PIN_11) + #define USBH_DRVVBUS_FUNC (GPIO_FUNC_10) + #else + /* USBHS Core, external PHY */ + #define USBH_ULPI_CLK_PORT (GPIO_PORT_E) + #define USBH_ULPI_CLK_PIN (GPIO_PIN_12) + #define USBH_ULPI_CLK_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_DIR_PORT (GPIO_PORT_C) + #define USBH_ULPI_DIR_PIN (GPIO_PIN_02) + #define USBH_ULPI_DIR_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_NXT_PORT (GPIO_PORT_C) + #define USBH_ULPI_NXT_PIN (GPIO_PIN_03) + #define USBH_ULPI_NXT_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_STP_PORT (GPIO_PORT_C) + #define USBH_ULPI_STP_PIN (GPIO_PIN_00) + #define USBH_ULPI_STP_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D0_PORT (GPIO_PORT_E) + #define USBH_ULPI_D0_PIN (GPIO_PIN_13) + #define USBH_ULPI_D0_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D1_PORT (GPIO_PORT_E) + #define USBH_ULPI_D1_PIN (GPIO_PIN_14) + #define USBH_ULPI_D1_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D2_PORT (GPIO_PORT_E) + #define USBH_ULPI_D2_PIN (GPIO_PIN_15) + #define USBH_ULPI_D2_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D3_PORT (GPIO_PORT_B) + #define USBH_ULPI_D3_PIN (GPIO_PIN_10) + #define USBH_ULPI_D3_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D4_PORT (GPIO_PORT_B) + #define USBH_ULPI_D4_PIN (GPIO_PIN_11) + #define USBH_ULPI_D4_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D5_PORT (GPIO_PORT_B) + #define USBH_ULPI_D5_PIN (GPIO_PIN_12) + #define USBH_ULPI_D5_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D6_PORT (GPIO_PORT_B) + #define USBH_ULPI_D6_PIN (GPIO_PIN_13) + #define USBH_ULPI_D6_FUNC (GPIO_FUNC_10) + #define USBH_ULPI_D7_PORT (GPIO_PORT_E) + #define USBH_ULPI_D7_PIN (GPIO_PIN_11) + #define USBH_ULPI_D7_FUNC (GPIO_FUNC_10) + /* 3300 reset */ + #define USB_3300_RESET_PORT (EIO_PORT1) + #define USB_3300_RESET_PIN (EIO_USB3300_RST) + #endif + #endif +#endif + +#if defined(BSP_USING_QSPI) + #ifndef BSP_QSPI_USING_SOFT_CS + /* QSSN */ + #define QSPI_FLASH_CS_PORT (GPIO_PORT_C) + #define QSPI_FLASH_CS_PIN (GPIO_PIN_07) + #define QSPI_FLASH_CS_FUNC (GPIO_FUNC_18) + #endif + /* QSCK */ + #define QSPI_FLASH_SCK_PORT (GPIO_PORT_C) + #define QSPI_FLASH_SCK_PIN (GPIO_PIN_06) + #define QSPI_FLASH_SCK_FUNC (GPIO_FUNC_18) + /* QSIO0 */ + #define QSPI_FLASH_IO0_PORT (GPIO_PORT_B) + #define QSPI_FLASH_IO0_PIN (GPIO_PIN_13) + #define QSPI_FLASH_IO0_FUNC (GPIO_FUNC_18) + /* QSIO1 */ + #define QSPI_FLASH_IO1_PORT (GPIO_PORT_B) + #define QSPI_FLASH_IO1_PIN (GPIO_PIN_12) + #define QSPI_FLASH_IO1_FUNC (GPIO_FUNC_18) + /* QSIO2 */ + #define QSPI_FLASH_IO2_PORT (GPIO_PORT_B) + #define QSPI_FLASH_IO2_PIN (GPIO_PIN_10) + #define QSPI_FLASH_IO2_FUNC (GPIO_FUNC_18) + /* QSIO3 */ + #define QSPI_FLASH_IO3_PORT (GPIO_PORT_B) + #define QSPI_FLASH_IO3_PIN (GPIO_PIN_02) + #define QSPI_FLASH_IO3_FUNC (GPIO_FUNC_18) +#endif + +/*********** TMRA_PULSE_ENCODER configure *********/ +#if defined(RT_USING_PULSE_ENCODER) + #if defined(BSP_USING_TMRA_PULSE_ENCODER) + #if defined(BSP_USING_PULSE_ENCODER_TMRA_1) + #define PULSE_ENCODER_TMRA_1_A_PORT (GPIO_PORT_A) + #define PULSE_ENCODER_TMRA_1_A_PIN (GPIO_PIN_08) + #define PULSE_ENCODER_TMRA_1_A_PIN_FUNC (GPIO_FUNC_4) + #define PULSE_ENCODER_TMRA_1_B_PORT (GPIO_PORT_A) + #define PULSE_ENCODER_TMRA_1_B_PIN (GPIO_PIN_09) + #define PULSE_ENCODER_TMRA_1_B_PIN_FUNC (GPIO_FUNC_4) + #endif /* BSP_USING_PULSE_ENCODER_TMRA_1 */ + #endif /* BSP_USING_TMRA_PULSE_ENCODER */ + + #if defined(BSP_USING_TMR6_PULSE_ENCODER) + #if defined(BSP_USING_PULSE_ENCODER_TMR6_1) + #define PULSE_ENCODER_TMR6_1_A_PORT (GPIO_PORT_B) + #define PULSE_ENCODER_TMR6_1_A_PIN (GPIO_PIN_09) + #define PULSE_ENCODER_TMR6_1_A_PIN_FUNC (GPIO_FUNC_3) + #define PULSE_ENCODER_TMR6_1_B_PORT (GPIO_PORT_B) + #define PULSE_ENCODER_TMR6_1_B_PIN (GPIO_PIN_08) + #define PULSE_ENCODER_TMR6_1_B_PIN_FUNC (GPIO_FUNC_3) + #endif /* BSP_USING_PULSE_ENCODER_TMR6_1 */ + #endif /* BSP_USING_TMR6_PULSE_ENCODER */ +#endif /* RT_USING_PULSE_ENCODER */ + +#endif + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/adc_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/adc_config.h new file mode 100644 index 0000000000..9374d2e9ab --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/adc_config.h @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __ADC_CONFIG_H__ +#define __ADC_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_ADC1 +#ifndef ADC1_INIT_PARAMS +#define ADC1_INIT_PARAMS \ + { \ + .name = "adc1", \ + .vref = 3300, \ + .resolution = ADC_RESOLUTION_12BIT, \ + .data_align = ADC_DATAALIGN_RIGHT, \ + .eoc_poll_time_max = 100, \ + .hard_trig_enable = RT_FALSE, \ + .hard_trig_src = ADC_HARDTRIG_ADTRG_PIN, \ + .internal_trig0_comtrg0_enable = RT_FALSE, \ + .internal_trig0_comtrg1_enable = RT_FALSE, \ + .internal_trig0_sel = EVT_SRC_MAX, \ + .internal_trig1_comtrg0_enable = RT_FALSE, \ + .internal_trig1_comtrg1_enable = RT_FALSE, \ + .internal_trig1_sel = EVT_SRC_MAX, \ + .continue_conv_mode_enable = RT_FALSE, \ + .data_reg_auto_clear = RT_TRUE, \ + } +#endif /* ADC1_INIT_PARAMS */ +#endif /* BSP_USING_ADC1 */ + +#ifdef BSP_USING_ADC2 +#ifndef ADC2_INIT_PARAMS +#define ADC2_INIT_PARAMS \ + { \ + .name = "adc2", \ + .vref = 3300, \ + .resolution = ADC_RESOLUTION_12BIT, \ + .data_align = ADC_DATAALIGN_RIGHT, \ + .eoc_poll_time_max = 100, \ + .hard_trig_enable = RT_FALSE, \ + .hard_trig_src = ADC_HARDTRIG_ADTRG_PIN, \ + .internal_trig0_comtrg0_enable = RT_FALSE, \ + .internal_trig0_comtrg1_enable = RT_FALSE, \ + .internal_trig0_sel = EVT_SRC_MAX, \ + .internal_trig1_comtrg0_enable = RT_FALSE, \ + .internal_trig1_comtrg1_enable = RT_FALSE, \ + .internal_trig1_sel = EVT_SRC_MAX, \ + .continue_conv_mode_enable = RT_FALSE, \ + .data_reg_auto_clear = RT_TRUE, \ + } +#endif /* ADC2_INIT_PARAMS */ +#endif /* BSP_USING_ADC2 */ + +#ifdef BSP_USING_ADC3 +#ifndef ADC3_INIT_PARAMS +#define ADC3_INIT_PARAMS \ + { \ + .name = "adc3", \ + .vref = 3300, \ + .resolution = ADC_RESOLUTION_12BIT, \ + .data_align = ADC_DATAALIGN_RIGHT, \ + .eoc_poll_time_max = 100, \ + .hard_trig_enable = RT_FALSE, \ + .hard_trig_src = ADC_HARDTRIG_ADTRG_PIN, \ + .internal_trig0_comtrg0_enable = RT_FALSE, \ + .internal_trig0_comtrg1_enable = RT_FALSE, \ + .internal_trig0_sel = EVT_SRC_MAX, \ + .internal_trig1_comtrg0_enable = RT_FALSE, \ + .internal_trig1_comtrg1_enable = RT_FALSE, \ + .internal_trig1_sel = EVT_SRC_MAX, \ + .continue_conv_mode_enable = RT_FALSE, \ + .data_reg_auto_clear = RT_TRUE, \ + } +#endif /* ADC3_INIT_PARAMS */ +#endif /* BSP_USING_ADC3 */ + +#ifdef __cplusplus +} +#endif + +#endif /* __ADC_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/can_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/can_config.h new file mode 100644 index 0000000000..81ab895cfb --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/can_config.h @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __CAN_CONFIG_H__ +#define __CAN_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_CAN1 +#define CAN1_CLOCK_SEL (CAN_CLOCK_SRC_40M) +#ifdef RT_CAN_USING_CANFD +#define CAN1_CANFD_MODE (CAN_FD_MD_ISO) +#endif +#define CAN1_NAME ("can1") +#ifndef CAN1_INIT_PARAMS +#define CAN1_INIT_PARAMS \ + { \ + .name = CAN1_NAME, \ + .single_trans_mode = RT_FALSE \ + } +#endif /* CAN1_INIT_PARAMS */ +#endif /* BSP_USING_CAN1 */ + +#ifdef BSP_USING_CAN2 +#define CAN2_CLOCK_SEL (CAN_CLOCK_SRC_40M) +#ifdef RT_CAN_USING_CANFD +#define CAN2_CANFD_MODE (CAN_FD_MD_ISO) +#endif +#define CAN2_NAME ("can2") +#ifndef CAN2_INIT_PARAMS +#define CAN2_INIT_PARAMS \ + { \ + .name = CAN2_NAME, \ + .single_trans_mode = RT_FALSE \ + } +#endif /* CAN2_INIT_PARAMS */ +#endif /* BSP_USING_CAN2 */ + +/* Bit time config + Restrictions: u32TimeSeg1 >= u32TimeSeg2 + 1, u32TimeSeg2 >= u32SJW. + + Baudrate = CANClock/(u32Prescaler*(u32TimeSeg1 + u32TimeSeg2)) + TQ = u32Prescaler / CANClock. + Bit time = (u32TimeSeg2 + u32TimeSeg2) x TQ. + + The following bit time configures are based on CAN Clock 40M +*/ +#define CAN_BIT_TIME_CONFIG_1M_BAUD \ + { \ + .u32Prescaler = 2, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_800K_BAUD \ + { \ + .u32Prescaler = 2, \ + .u32TimeSeg1 = 20, \ + .u32TimeSeg2 = 5, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_500K_BAUD \ + { \ + .u32Prescaler = 4, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_250K_BAUD \ + { \ + .u32Prescaler = 8, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_125K_BAUD \ + { \ + .u32Prescaler = 16, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_100K_BAUD \ + { \ + .u32Prescaler = 20, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_50K_BAUD \ + { \ + .u32Prescaler = 40, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_20K_BAUD \ + { \ + .u32Prescaler = 100, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#define CAN_BIT_TIME_CONFIG_10K_BAUD \ + { \ + .u32Prescaler = 200, \ + .u32TimeSeg1 = 16, \ + .u32TimeSeg2 = 4, \ + .u32SJW = 4 \ + } + +#ifdef __cplusplus +} +#endif + +#endif /* __CAN_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dac_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dac_config.h new file mode 100644 index 0000000000..f697eba881 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dac_config.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-05-12 CDT first version + */ + +#ifndef __DAC_CONFIG_H__ +#define __DAC_CONFIG_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_DAC1 +#ifndef DAC1_INIT_PARAMS +#define DAC1_INIT_PARAMS \ + { \ + .name = "dac1", \ + } +#endif /* DAC1_INIT_PARAMS */ +#endif /* BSP_USING_DAC1 */ + +#ifdef BSP_USING_DAC2 +#ifndef DAC2_INIT_PARAMS +#define DAC2_INIT_PARAMS \ + { \ + .name = "dac2", \ + } +#endif /* DAC2_INIT_PARAMS */ +#endif /* BSP_USING_DAC2 */ + +#ifdef __cplusplus +} +#endif + +#endif /* __DAC_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dma_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dma_config.h new file mode 100644 index 0000000000..9cd020ad93 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/dma_config.h @@ -0,0 +1,372 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __DMA_CONFIG_H__ +#define __DMA_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* DMA1 ch0 */ +#if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE) +#define SPI1_RX_DMA_INSTANCE CM_DMA1 +#define SPI1_RX_DMA_CHANNEL DMA_CH0 +#define SPI1_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI1_RX_DMA_TRIG_SELECT AOS_DMA1_0 +#define SPI1_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH0 +#define SPI1_RX_DMA_IRQn BSP_DMA1_CH0_IRQ_NUM +#define SPI1_RX_DMA_INT_PRIO BSP_DMA1_CH0_IRQ_PRIO +#define SPI1_RX_DMA_INT_SRC INT_SRC_DMA1_TC0 +#elif defined(BSP_USING_SDIO1) && !defined(SDIO1_RX_DMA_INSTANCE) +#define SDIO1_RX_DMA_INSTANCE CM_DMA1 +#define SDIO1_RX_DMA_CHANNEL DMA_CH0 +#define SDIO1_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SDIO1_RX_DMA_TRIG_SELECT AOS_DMA1_0 +#define SDIO1_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH0 +#define SDIO1_RX_DMA_IRQn BSP_DMA1_CH0_IRQ_NUM +#define SDIO1_RX_DMA_INT_PRIO BSP_DMA1_CH0_IRQ_PRIO +#define SDIO1_RX_DMA_INT_SRC INT_SRC_DMA1_TC0 +#elif defined(BSP_I2C1_TX_USING_DMA) && !defined(I2C1_TX_DMA_INSTANCE) +#define I2C1_TX_DMA_INSTANCE CM_DMA1 +#define I2C1_TX_DMA_CHANNEL DMA_CH0 +#define I2C1_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C1_TX_DMA_TRIG_SELECT AOS_DMA1_0 +#define I2C1_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH0 +#define I2C1_TX_DMA_IRQn BSP_DMA1_CH0_IRQ_NUM +#define I2C1_TX_DMA_INT_PRIO BSP_DMA1_CH0_IRQ_PRIO +#define I2C1_TX_DMA_INT_SRC INT_SRC_DMA1_TC0 +#endif + +/* DMA1 ch1 */ +#if defined(BSP_SPI1_TX_USING_DMA) && !defined(SPI1_TX_DMA_INSTANCE) +#define SPI1_TX_DMA_INSTANCE CM_DMA1 +#define SPI1_TX_DMA_CHANNEL DMA_CH1 +#define SPI1_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI1_TX_DMA_TRIG_SELECT AOS_DMA1_1 +#define SPI1_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH1 +#define SPI1_TX_DMA_IRQn BSP_DMA1_CH1_IRQ_NUM +#define SPI1_TX_DMA_INT_PRIO BSP_DMA1_CH1_IRQ_PRIO +#define SPI1_TX_DMA_INT_SRC INT_SRC_DMA1_TC1 +#elif defined(BSP_USING_SDIO1) && !defined(SDIO1_TX_DMA_INSTANCE) +#define SDIO1_TX_DMA_INSTANCE CM_DMA1 +#define SDIO1_TX_DMA_CHANNEL DMA_CH1 +#define SDIO1_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SDIO1_TX_DMA_TRIG_SELECT AOS_DMA1_1 +#define SDIO1_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH1 +#define SDIO1_TX_DMA_IRQn BSP_DMA1_CH1_IRQ_NUM +#define SDIO1_TX_DMA_INT_PRIO BSP_DMA1_CH1_IRQ_PRIO +#define SDIO1_TX_DMA_INT_SRC INT_SRC_DMA1_TC1 +#elif defined(BSP_I2C1_RX_USING_DMA) && !defined(I2C1_RX_DMA_INSTANCE) +#define I2C1_RX_DMA_INSTANCE CM_DMA1 +#define I2C1_RX_DMA_CHANNEL DMA_CH1 +#define I2C1_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C1_RX_DMA_TRIG_SELECT AOS_DMA1_1 +#define I2C1_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH1 +#define I2C1_RX_DMA_IRQn BSP_DMA1_CH1_IRQ_NUM +#define I2C1_RX_DMA_INT_PRIO BSP_DMA1_CH1_IRQ_PRIO +#define I2C1_RX_DMA_INT_SRC INT_SRC_DMA1_TC1 +#endif + +/* DMA1 ch2 */ +#if defined(BSP_SPI2_RX_USING_DMA) && !defined(SPI2_RX_DMA_INSTANCE) +#define SPI2_RX_DMA_INSTANCE CM_DMA1 +#define SPI2_RX_DMA_CHANNEL DMA_CH2 +#define SPI2_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI2_RX_DMA_TRIG_SELECT AOS_DMA1_2 +#define SPI2_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH2 +#define SPI2_RX_DMA_IRQn BSP_DMA1_CH2_IRQ_NUM +#define SPI2_RX_DMA_INT_PRIO BSP_DMA1_CH2_IRQ_PRIO +#define SPI2_RX_DMA_INT_SRC INT_SRC_DMA1_TC2 +#elif defined(BSP_USING_SDIO2) && !defined(SDIO2_RX_DMA_INSTANCE) +#define SDIO2_RX_DMA_INSTANCE CM_DMA1 +#define SDIO2_RX_DMA_CHANNEL DMA_CH2 +#define SDIO2_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SDIO2_RX_DMA_TRIG_SELECT AOS_DMA1_2 +#define SDIO2_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH2 +#define SDIO2_RX_DMA_IRQn BSP_DMA1_CH2_IRQ_NUM +#define SDIO2_RX_DMA_INT_PRIO BSP_DMA1_CH2_IRQ_PRIO +#define SDIO2_RX_DMA_INT_SRC INT_SRC_DMA1_TC2 +#elif defined(BSP_I2C2_TX_USING_DMA) && !defined(I2C2_TX_DMA_INSTANCE) +#define I2C2_TX_DMA_INSTANCE CM_DMA1 +#define I2C2_TX_DMA_CHANNEL DMA_CH2 +#define I2C2_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C2_TX_DMA_TRIG_SELECT AOS_DMA1_2 +#define I2C2_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH2 +#define I2C2_TX_DMA_IRQn BSP_DMA1_CH2_IRQ_NUM +#define I2C2_TX_DMA_INT_PRIO BSP_DMA1_CH2_IRQ_PRIO +#define I2C2_TX_DMA_INT_SRC INT_SRC_DMA1_TC2 +#endif + +/* DMA1 ch3 */ +#if defined(BSP_SPI2_TX_USING_DMA) && !defined(SPI2_TX_DMA_INSTANCE) +#define SPI2_TX_DMA_INSTANCE CM_DMA1 +#define SPI2_TX_DMA_CHANNEL DMA_CH3 +#define SPI2_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI2_TX_DMA_TRIG_SELECT AOS_DMA1_3 +#define SPI2_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH3 +#define SPI2_TX_DMA_IRQn BSP_DMA1_CH3_IRQ_NUM +#define SPI2_TX_DMA_INT_PRIO BSP_DMA1_CH3_IRQ_PRIO +#define SPI2_TX_DMA_INT_SRC INT_SRC_DMA1_TC3 +#elif defined(BSP_USING_SDIO2) && !defined(SDIO2_TX_DMA_INSTANCE) +#define SDIO2_TX_DMA_INSTANCE CM_DMA1 +#define SDIO2_TX_DMA_CHANNEL DMA_CH3 +#define SDIO2_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SDIO2_TX_DMA_TRIG_SELECT AOS_DMA1_3 +#define SDIO2_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH3 +#define SDIO2_TX_DMA_IRQn BSP_DMA1_CH3_IRQ_NUM +#define SDIO2_TX_DMA_INT_PRIO BSP_DMA1_CH3_IRQ_PRIO +#define SDIO2_TX_DMA_INT_SRC INT_SRC_DMA1_TC3 +#elif defined(BSP_USING_QSPI) && !defined(QSPI_DMA_INSTANCE) +#define QSPI_DMA_INSTANCE CM_DMA1 +#define QSPI_DMA_CHANNEL DMA_CH3 +#define QSPI_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define QSPI_DMA_TRIG_SELECT AOS_DMA1_3 +#define QSPI_DMA_TRANS_FLAG DMA_FLAG_TC_CH3 +#define QSPI_DMA_IRQn BSP_DMA1_CH3_IRQ_NUM +#define QSPI_DMA_INT_PRIO BSP_DMA1_CH3_IRQ_PRIO +#define QSPI_DMA_INT_SRC INT_SRC_DMA1_TC3 +#elif defined(BSP_I2C2_RX_USING_DMA) && !defined(I2C2_RX_DMA_INSTANCE) +#define I2C2_RX_DMA_INSTANCE CM_DMA1 +#define I2C2_RX_DMA_CHANNEL DMA_CH3 +#define I2C2_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C2_RX_DMA_TRIG_SELECT AOS_DMA1_3 +#define I2C2_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH3 +#define I2C2_RX_DMA_IRQn BSP_DMA1_CH3_IRQ_NUM +#define I2C2_RX_DMA_INT_PRIO BSP_DMA1_CH3_IRQ_PRIO +#define I2C2_RX_DMA_INT_SRC INT_SRC_DMA1_TC3 +#endif + +/* DMA1 ch4 */ +#if defined(BSP_SPI3_RX_USING_DMA) && !defined(SPI3_RX_DMA_INSTANCE) +#define SPI3_RX_DMA_INSTANCE CM_DMA1 +#define SPI3_RX_DMA_CHANNEL DMA_CH4 +#define SPI3_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI3_RX_DMA_TRIG_SELECT AOS_DMA1_4 +#define SPI3_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH4 +#define SPI3_RX_DMA_IRQn BSP_DMA1_CH4_IRQ_NUM +#define SPI3_RX_DMA_INT_PRIO BSP_DMA1_CH4_IRQ_PRIO +#define SPI3_RX_DMA_INT_SRC INT_SRC_DMA1_TC4 +#elif defined(BSP_I2C3_TX_USING_DMA) && !defined(I2C3_TX_DMA_INSTANCE) +#define I2C3_TX_DMA_INSTANCE CM_DMA1 +#define I2C3_TX_DMA_CHANNEL DMA_CH4 +#define I2C3_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C3_TX_DMA_TRIG_SELECT AOS_DMA1_4 +#define I2C3_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH4 +#define I2C3_TX_DMA_IRQn BSP_DMA1_CH4_IRQ_NUM +#define I2C3_TX_DMA_INT_PRIO BSP_DMA1_CH4_IRQ_PRIO +#define I2C3_TX_DMA_INT_SRC INT_SRC_DMA1_TC4 +#endif + +/* DMA1 ch5 */ +#if defined(BSP_SPI3_TX_USING_DMA) && !defined(SPI3_TX_DMA_INSTANCE) +#define SPI3_TX_DMA_INSTANCE CM_DMA1 +#define SPI3_TX_DMA_CHANNEL DMA_CH5 +#define SPI3_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI3_TX_DMA_TRIG_SELECT AOS_DMA1_5 +#define SPI3_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH5 +#define SPI3_TX_DMA_IRQn BSP_DMA1_CH5_IRQ_NUM +#define SPI3_TX_DMA_INT_PRIO BSP_DMA1_CH5_IRQ_PRIO +#define SPI3_TX_DMA_INT_SRC INT_SRC_DMA1_TC5 +#elif defined(BSP_I2C3_RX_USING_DMA) && !defined(I2C3_RX_DMA_INSTANCE) +#define I2C3_RX_DMA_INSTANCE CM_DMA1 +#define I2C3_RX_DMA_CHANNEL DMA_CH5 +#define I2C3_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C3_RX_DMA_TRIG_SELECT AOS_DMA1_5 +#define I2C3_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH5 +#define I2C3_RX_DMA_IRQn BSP_DMA1_CH5_IRQ_NUM +#define I2C3_RX_DMA_INT_PRIO BSP_DMA1_CH5_IRQ_PRIO +#define I2C3_RX_DMA_INT_SRC INT_SRC_DMA1_TC5 +#endif + +/* DMA1 ch6 */ +#if defined(BSP_SPI4_RX_USING_DMA) && !defined(SPI4_RX_DMA_INSTANCE) +#define SPI4_RX_DMA_INSTANCE CM_DMA1 +#define SPI4_RX_DMA_CHANNEL DMA_CH6 +#define SPI4_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI4_RX_DMA_TRIG_SELECT AOS_DMA1_6 +#define SPI4_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH6 +#define SPI4_RX_DMA_IRQn BSP_DMA1_CH6_IRQ_NUM +#define SPI4_RX_DMA_INT_PRIO BSP_DMA1_CH6_IRQ_PRIO +#define SPI4_RX_DMA_INT_SRC INT_SRC_DMA1_TC6 +#elif defined(BSP_I2C4_TX_USING_DMA) && !defined(I2C4_TX_DMA_INSTANCE) +#define I2C4_TX_DMA_INSTANCE CM_DMA1 +#define I2C4_TX_DMA_CHANNEL DMA_CH6 +#define I2C4_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C4_TX_DMA_TRIG_SELECT AOS_DMA1_6 +#define I2C4_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH6 +#define I2C4_TX_DMA_IRQn BSP_DMA1_CH6_IRQ_NUM +#define I2C4_TX_DMA_INT_PRIO BSP_DMA1_CH6_IRQ_PRIO +#define I2C4_TX_DMA_INT_SRC INT_SRC_DMA1_TC6 +#endif + +/* DMA1 ch7 */ +#if defined(BSP_SPI4_TX_USING_DMA) && !defined(SPI4_TX_DMA_INSTANCE) +#define SPI4_TX_DMA_INSTANCE CM_DMA1 +#define SPI4_TX_DMA_CHANNEL DMA_CH7 +#define SPI4_TX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define SPI4_TX_DMA_TRIG_SELECT AOS_DMA1_7 +#define SPI4_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH7 +#define SPI4_TX_DMA_IRQn BSP_DMA1_CH7_IRQ_NUM +#define SPI4_TX_DMA_INT_PRIO BSP_DMA1_CH7_IRQ_PRIO +#define SPI4_TX_DMA_INT_SRC INT_SRC_DMA1_TC7 +#elif defined(BSP_I2C4_RX_USING_DMA) && !defined(I2C4_RX_DMA_INSTANCE) +#define I2C4_RX_DMA_INSTANCE CM_DMA1 +#define I2C4_RX_DMA_CHANNEL DMA_CH7 +#define I2C4_RX_DMA_CLOCK (PWC_FCG0_DMA1 | PWC_FCG0_AOS) +#define I2C4_RX_DMA_TRIG_SELECT AOS_DMA1_7 +#define I2C4_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH7 +#define I2C4_RX_DMA_IRQn BSP_DMA1_CH7_IRQ_NUM +#define I2C4_RX_DMA_INT_PRIO BSP_DMA1_CH7_IRQ_PRIO +#define I2C4_RX_DMA_INT_SRC INT_SRC_DMA1_TC7 +#endif + +/* DMA2 ch0 */ +#if defined(BSP_UART1_RX_USING_DMA) && !defined(UART1_RX_DMA_INSTANCE) +#define UART1_RX_DMA_INSTANCE CM_DMA2 +#define UART1_RX_DMA_CHANNEL DMA_CH0 +#define UART1_RX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART1_RX_DMA_TRIG_SELECT AOS_DMA2_0 +#define UART1_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH0 +#define UART1_RX_DMA_IRQn BSP_DMA2_CH0_IRQ_NUM +#define UART1_RX_DMA_INT_PRIO BSP_DMA2_CH0_IRQ_PRIO +#define UART1_RX_DMA_INT_SRC INT_SRC_DMA2_TC0 +#elif defined(BSP_I2C5_TX_USING_DMA) && !defined(I2C5_TX_DMA_INSTANCE) +#define I2C5_TX_DMA_INSTANCE CM_DMA2 +#define I2C5_TX_DMA_CHANNEL DMA_CH0 +#define I2C5_TX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define I2C5_TX_DMA_TRIG_SELECT AOS_DMA2_0 +#define I2C5_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH0 +#define I2C5_TX_DMA_IRQn BSP_DMA2_CH0_IRQ_NUM +#define I2C5_TX_DMA_INT_PRIO BSP_DMA2_CH0_IRQ_PRIO +#define I2C5_TX_DMA_INT_SRC INT_SRC_DMA2_TC0 +#endif + +/* DMA2 ch1 */ +#if defined(BSP_UART1_TX_USING_DMA) && !defined(UART1_TX_DMA_INSTANCE) +#define UART1_TX_DMA_INSTANCE CM_DMA2 +#define UART1_TX_DMA_CHANNEL DMA_CH1 +#define UART1_TX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART1_TX_DMA_TRIG_SELECT AOS_DMA2_1 +#define UART1_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH1 +#define UART1_TX_DMA_IRQn BSP_DMA2_CH1_IRQ_NUM +#define UART1_TX_DMA_INT_PRIO BSP_DMA2_CH1_IRQ_PRIO +#define UART1_TX_DMA_INT_SRC INT_SRC_DMA2_TC1 +#elif defined(BSP_I2C5_RX_USING_DMA) && !defined(I2C5_RX_DMA_INSTANCE) +#define I2C5_RX_DMA_INSTANCE CM_DMA2 +#define I2C5_RX_DMA_CHANNEL DMA_CH1 +#define I2C5_RX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define I2C5_RX_DMA_TRIG_SELECT AOS_DMA2_1 +#define I2C5_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH1 +#define I2C5_RX_DMA_IRQn BSP_DMA2_CH1_IRQ_NUM +#define I2C5_RX_DMA_INT_PRIO BSP_DMA2_CH1_IRQ_PRIO +#define I2C5_RX_DMA_INT_SRC INT_SRC_DMA2_TC1 +#endif + +/* DMA2 ch2 */ +#if defined(BSP_UART2_RX_USING_DMA) && !defined(UART2_RX_DMA_INSTANCE) +#define UART2_RX_DMA_INSTANCE CM_DMA2 +#define UART2_RX_DMA_CHANNEL DMA_CH2 +#define UART2_RX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART2_RX_DMA_TRIG_SELECT AOS_DMA2_2 +#define UART2_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH2 +#define UART2_RX_DMA_IRQn BSP_DMA2_CH2_IRQ_NUM +#define UART2_RX_DMA_INT_PRIO BSP_DMA2_CH2_IRQ_PRIO +#define UART2_RX_DMA_INT_SRC INT_SRC_DMA2_TC2 +#elif defined(BSP_I2C6_TX_USING_DMA) && !defined(I2C6_TX_DMA_INSTANCE) +#define I2C6_TX_DMA_INSTANCE CM_DMA2 +#define I2C6_TX_DMA_CHANNEL DMA_CH2 +#define I2C6_TX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define I2C6_TX_DMA_TRIG_SELECT AOS_DMA2_2 +#define I2C6_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH2 +#define I2C6_TX_DMA_IRQn BSP_DMA2_CH2_IRQ_NUM +#define I2C6_TX_DMA_INT_PRIO BSP_DMA2_CH2_IRQ_PRIO +#define I2C6_TX_DMA_INT_SRC INT_SRC_DMA2_TC2 +#endif + +/* DMA2 ch3 */ +#if defined(BSP_UART2_TX_USING_DMA) && !defined(UART2_TX_DMA_INSTANCE) +#define UART2_TX_DMA_INSTANCE CM_DMA2 +#define UART2_TX_DMA_CHANNEL DMA_CH3 +#define UART2_TX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART2_TX_DMA_TRIG_SELECT AOS_DMA2_3 +#define UART2_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH3 +#define UART2_TX_DMA_IRQn BSP_DMA2_CH3_IRQ_NUM +#define UART2_TX_DMA_INT_PRIO BSP_DMA2_CH3_IRQ_PRIO +#define UART2_TX_DMA_INT_SRC INT_SRC_DMA2_TC3 +#elif defined(BSP_I2C6_RX_USING_DMA) && !defined(I2C6_RX_DMA_INSTANCE) +#define I2C6_RX_DMA_INSTANCE CM_DMA2 +#define I2C6_RX_DMA_CHANNEL DMA_CH3 +#define I2C6_RX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define I2C6_RX_DMA_TRIG_SELECT AOS_DMA2_3 +#define I2C6_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH3 +#define I2C6_RX_DMA_IRQn BSP_DMA2_CH3_IRQ_NUM +#define I2C6_RX_DMA_INT_PRIO BSP_DMA2_CH3_IRQ_PRIO +#define I2C6_RX_DMA_INT_SRC INT_SRC_DMA2_TC3 +#endif + +/* DMA2 ch4 */ +#if defined(BSP_UART6_RX_USING_DMA) && !defined(UART6_RX_DMA_INSTANCE) +#define UART6_RX_DMA_INSTANCE CM_DMA2 +#define UART6_RX_DMA_CHANNEL DMA_CH4 +#define UART6_RX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART6_RX_DMA_TRIG_SELECT AOS_DMA2_4 +#define UART6_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH4 +#define UART6_RX_DMA_IRQn BSP_DMA2_CH4_IRQ_NUM +#define UART6_RX_DMA_INT_PRIO BSP_DMA2_CH4_IRQ_PRIO +#define UART6_RX_DMA_INT_SRC INT_SRC_DMA2_TC4 +#endif + +/* DMA2 ch5 */ +#if defined(BSP_UART6_TX_USING_DMA) && !defined(UART6_TX_DMA_INSTANCE) +#define UART6_TX_DMA_INSTANCE CM_DMA2 +#define UART6_TX_DMA_CHANNEL DMA_CH5 +#define UART6_TX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART6_TX_DMA_TRIG_SELECT AOS_DMA2_5 +#define UART6_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH5 +#define UART6_TX_DMA_IRQn BSP_DMA2_CH5_IRQ_NUM +#define UART6_TX_DMA_INT_PRIO BSP_DMA2_CH5_IRQ_PRIO +#define UART6_TX_DMA_INT_SRC INT_SRC_DMA2_TC5 +#endif + +/* DMA2 ch6 */ +#if defined(BSP_UART7_RX_USING_DMA) && !defined(UART7_RX_DMA_INSTANCE) +#define UART7_RX_DMA_INSTANCE CM_DMA2 +#define UART7_RX_DMA_CHANNEL DMA_CH6 +#define UART7_RX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART7_RX_DMA_TRIG_SELECT AOS_DMA2_6 +#define UART7_RX_DMA_TRANS_FLAG DMA_FLAG_TC_CH6 +#define UART7_RX_DMA_IRQn BSP_DMA2_CH6_IRQ_NUM +#define UART7_RX_DMA_INT_PRIO BSP_DMA2_CH6_IRQ_PRIO +#define UART7_RX_DMA_INT_SRC INT_SRC_DMA2_TC6 +#endif + +/* DMA2 ch7 */ +#if defined(BSP_UART7_TX_USING_DMA) && !defined(UART7_TX_DMA_INSTANCE) +#define UART7_TX_DMA_INSTANCE CM_DMA2 +#define UART7_TX_DMA_CHANNEL DMA_CH7 +#define UART7_TX_DMA_CLOCK (PWC_FCG0_DMA2 | PWC_FCG0_AOS) +#define UART7_TX_DMA_TRIG_SELECT AOS_DMA2_7 +#define UART7_TX_DMA_TRANS_FLAG DMA_FLAG_TC_CH7 +#define UART7_TX_DMA_IRQn BSP_DMA2_CH7_IRQ_NUM +#define UART7_TX_DMA_INT_PRIO BSP_DMA2_CH7_IRQ_PRIO +#define UART7_TX_DMA_INT_SRC INT_SRC_DMA2_TC7 +#endif + + +#ifdef __cplusplus +} +#endif + + +#endif /* __DMA_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/eth_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/eth_config.h new file mode 100644 index 0000000000..f28e5b19c7 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/eth_config.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __ETH_CONFIG_H__ +#define __ETH_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#if defined(BSP_USING_ETH) + +#ifndef ETH_IRQ_CONFIG +#define ETH_IRQ_CONFIG \ + { \ + .irq_num = BSP_ETH_IRQ_NUM, \ + .irq_prio = BSP_ETH_IRQ_PRIO, \ + .int_src = INT_SRC_ETH_GLB_INT, \ + } +#endif /* ETH_IRQ_CONFIG */ + +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* __ETH_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/gpio_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/gpio_config.h new file mode 100644 index 0000000000..ee17e1230d --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/gpio_config.h @@ -0,0 +1,175 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __GPIO_CONFIG_H__ +#define __GPIO_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#if defined(RT_USING_PIN) + +#ifndef EXTINT0_IRQ_CONFIG +#define EXTINT0_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT0_IRQ_NUM, \ + .irq_prio = BSP_EXTINT0_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ0, \ + } +#endif /* EXTINT1_IRQ_CONFIG */ + +#ifndef EXTINT1_IRQ_CONFIG +#define EXTINT1_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT1_IRQ_NUM, \ + .irq_prio = BSP_EXTINT1_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ1, \ + } +#endif /* EXTINT1_IRQ_CONFIG */ + +#ifndef EXTINT2_IRQ_CONFIG +#define EXTINT2_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT2_IRQ_NUM, \ + .irq_prio = BSP_EXTINT2_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ2, \ + } +#endif /* EXTINT2_IRQ_CONFIG */ + +#ifndef EXTINT3_IRQ_CONFIG +#define EXTINT3_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT3_IRQ_NUM, \ + .irq_prio = BSP_EXTINT3_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ3, \ + } +#endif /* EXTINT3_IRQ_CONFIG */ + +#ifndef EXTINT4_IRQ_CONFIG +#define EXTINT4_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT4_IRQ_NUM, \ + .irq_prio = BSP_EXTINT4_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ4, \ + } +#endif /* EXTINT4_IRQ_CONFIG */ + +#ifndef EXTINT5_IRQ_CONFIG +#define EXTINT5_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT5_IRQ_NUM, \ + .irq_prio = BSP_EXTINT5_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ5, \ + } +#endif /* EXTINT5_IRQ_CONFIG */ + +#ifndef EXTINT6_IRQ_CONFIG +#define EXTINT6_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT6_IRQ_NUM, \ + .irq_prio = BSP_EXTINT6_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ6, \ + } +#endif /* EXTINT6_IRQ_CONFIG */ + +#ifndef EXTINT7_IRQ_CONFIG +#define EXTINT7_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT7_IRQ_NUM, \ + .irq_prio = BSP_EXTINT7_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ7, \ + } +#endif /* EXTINT7_IRQ_CONFIG */ + +#ifndef EXTINT8_IRQ_CONFIG +#define EXTINT8_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT8_IRQ_NUM, \ + .irq_prio = BSP_EXTINT8_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ8, \ + } +#endif /* EXTINT8_IRQ_CONFIG */ + +#ifndef EXTINT9_IRQ_CONFIG +#define EXTINT9_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT9_IRQ_NUM, \ + .irq_prio = BSP_EXTINT9_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ9, \ + } +#endif /* EXTINT9_IRQ_CONFIG */ + +#ifndef EXTINT10_IRQ_CONFIG +#define EXTINT10_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT10_IRQ_NUM, \ + .irq_prio = BSP_EXTINT10_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ10, \ + } +#endif /* EXTINT10_IRQ_CONFIG */ + +#ifndef EXTINT11_IRQ_CONFIG +#define EXTINT11_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT11_IRQ_NUM, \ + .irq_prio = BSP_EXTINT11_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ11, \ + } +#endif /* EXTINT11_IRQ_CONFIG */ + +#ifndef EXTINT12_IRQ_CONFIG +#define EXTINT12_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT12_IRQ_NUM, \ + .irq_prio = BSP_EXTINT12_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ12, \ + } +#endif /* EXTINT12_IRQ_CONFIG */ + +#ifndef EXTINT13_IRQ_CONFIG +#define EXTINT13_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT13_IRQ_NUM, \ + .irq_prio = BSP_EXTINT13_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ13, \ + } +#endif /* EXTINT13_IRQ_CONFIG */ + +#ifndef EXTINT14_IRQ_CONFIG +#define EXTINT14_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT14_IRQ_NUM, \ + .irq_prio = BSP_EXTINT14_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ14, \ + } +#endif /* EXTINT14_IRQ_CONFIG */ + +#ifndef EXTINT15_IRQ_CONFIG +#define EXTINT15_IRQ_CONFIG \ + { \ + .irq_num = BSP_EXTINT15_IRQ_NUM, \ + .irq_prio = BSP_EXTINT15_IRQ_PRIO, \ + .int_src = INT_SRC_PORT_EIRQ15, \ + } +#endif /* EXTINT15_IRQ_CONFIG */ + +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* __GPIO_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/i2c_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/i2c_config.h new file mode 100644 index 0000000000..57fe15696f --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/i2c_config.h @@ -0,0 +1,331 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __I2C_CONFIG_H__ +#define __I2C_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(BSP_USING_I2C1) +#ifndef I2C1_CONFIG +#define I2C1_CONFIG \ + { \ + .name = "i2c1", \ + .Instance = CM_I2C1, \ + .clock = FCG1_PERIPH_I2C1, \ + .baudrate = 100000UL, \ + .timeout = 10000UL, \ + } +#endif /* I2C1_CONFIG */ +#endif + +#if defined(BSP_I2C1_USING_DMA) +#ifndef I2C1_TX_DMA_CONFIG +#define I2C1_TX_DMA_CONFIG \ + { \ + .Instance = I2C1_TX_DMA_INSTANCE, \ + .channel = I2C1_TX_DMA_CHANNEL, \ + .clock = I2C1_TX_DMA_CLOCK, \ + .trigger_select = I2C1_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C1_TEI, \ + .flag = I2C1_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C1_TX_DMA_IRQn, \ + .irq_prio = I2C1_TX_DMA_INT_PRIO, \ + .int_src = I2C1_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C1_TX_DMA_CONFIG */ + +#ifndef I2C1_RX_DMA_CONFIG +#define I2C1_RX_DMA_CONFIG \ + { \ + .Instance = I2C1_RX_DMA_INSTANCE, \ + .channel = I2C1_RX_DMA_CHANNEL, \ + .clock = I2C1_RX_DMA_CLOCK, \ + .trigger_select = I2C1_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C1_RXI, \ + .flag = I2C1_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C1_RX_DMA_IRQn, \ + .irq_prio = I2C1_RX_DMA_INT_PRIO, \ + .int_src = I2C1_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C1_RX_DMA_CONFIG */ +#endif /* BSP_I2C1_USING_DMA */ + +#if defined(BSP_USING_I2C2) +#ifndef I2C2_CONFIG +#define I2C2_CONFIG \ + { \ + .name = "i2c2", \ + .Instance = CM_I2C2, \ + .clock = FCG1_PERIPH_I2C2, \ + .baudrate = 100000UL, \ + .timeout = 10000UL, \ + } +#endif /* I2C2_CONFIG */ + +#if defined(BSP_I2C2_USING_DMA) +#ifndef I2C2_TX_DMA_CONFIG +#define I2C2_TX_DMA_CONFIG \ + { \ + .Instance = I2C2_TX_DMA_INSTANCE, \ + .channel = I2C2_TX_DMA_CHANNEL, \ + .clock = I2C2_TX_DMA_CLOCK, \ + .trigger_select = I2C2_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C2_TEI, \ + .flag = I2C2_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C2_TX_DMA_IRQn, \ + .irq_prio = I2C2_TX_DMA_INT_PRIO, \ + .int_src = I2C2_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C2_TX_DMA_CONFIG */ + +#ifndef I2C2_RX_DMA_CONFIG +#define I2C2_RX_DMA_CONFIG \ + { \ + .Instance = I2C2_RX_DMA_INSTANCE, \ + .channel = I2C2_RX_DMA_CHANNEL, \ + .clock = I2C2_RX_DMA_CLOCK, \ + .trigger_select = I2C2_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C2_RXI, \ + .flag = I2C2_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C2_RX_DMA_IRQn, \ + .irq_prio = I2C2_RX_DMA_INT_PRIO, \ + .int_src = I2C2_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C2_RX_DMA_CONFIG */ +#endif /* BSP_I2C2_USING_DMA */ +#endif + +#if defined(BSP_USING_I2C3) +#ifndef I2C3_CONFIG +#define I2C3_CONFIG \ + { \ + .name = "i2c3", \ + .Instance = CM_I2C3, \ + .clock = FCG1_PERIPH_I2C3, \ + .baudrate = 100000UL, \ + .timeout = 10000UL, \ + } +#endif /* I2C3_CONFIG */ + +#if defined(BSP_I2C3_USING_DMA) +#ifndef I2C3_TX_DMA_CONFIG +#define I2C3_TX_DMA_CONFIG \ + { \ + .Instance = I2C3_TX_DMA_INSTANCE, \ + .channel = I2C3_TX_DMA_CHANNEL, \ + .clock = I2C3_TX_DMA_CLOCK, \ + .trigger_select = I2C3_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C3_TEI, \ + .flag = I2C3_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C3_TX_DMA_IRQn, \ + .irq_prio = I2C3_TX_DMA_INT_PRIO, \ + .int_src = I2C3_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C3_TX_DMA_CONFIG */ + +#ifndef I2C3_RX_DMA_CONFIG +#define I2C3_RX_DMA_CONFIG \ + { \ + .Instance = I2C3_RX_DMA_INSTANCE, \ + .channel = I2C3_RX_DMA_CHANNEL, \ + .clock = I2C3_RX_DMA_CLOCK, \ + .trigger_select = I2C3_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C3_RXI, \ + .flag = I2C3_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C3_RX_DMA_IRQn, \ + .irq_prio = I2C3_RX_DMA_INT_PRIO, \ + .int_src = I2C3_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C3_RX_DMA_CONFIG */ +#endif /* BSP_I2C3_USING_DMA */ +#endif + +#if defined(BSP_USING_I2C4) +#ifndef I2C4_CONFIG +#define I2C4_CONFIG \ + { \ + .name = "i2c4", \ + .Instance = CM_I2C4, \ + .clock = FCG1_PERIPH_I2C4, \ + .baudrate = 100000UL, \ + .timeout = 10000UL, \ + } +#endif /* I2C4_CONFIG */ + +#if defined(BSP_I2C4_USING_DMA) +#ifndef I2C4_TX_DMA_CONFIG +#define I2C4_TX_DMA_CONFIG \ + { \ + .Instance = I2C4_TX_DMA_INSTANCE, \ + .channel = I2C4_TX_DMA_CHANNEL, \ + .clock = I2C4_TX_DMA_CLOCK, \ + .trigger_select = I2C4_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C4_TEI, \ + .flag = I2C4_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C4_TX_DMA_IRQn, \ + .irq_prio = I2C4_TX_DMA_INT_PRIO, \ + .int_src = I2C4_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C4_TX_DMA_CONFIG */ + +#ifndef I2C4_RX_DMA_CONFIG +#define I2C4_RX_DMA_CONFIG \ + { \ + .Instance = I2C4_RX_DMA_INSTANCE, \ + .channel = I2C4_RX_DMA_CHANNEL, \ + .clock = I2C4_RX_DMA_CLOCK, \ + .trigger_select = I2C4_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C4_RXI, \ + .flag = I2C4_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C4_RX_DMA_IRQn, \ + .irq_prio = I2C4_RX_DMA_INT_PRIO, \ + .int_src = I2C4_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C4_RX_DMA_CONFIG */ +#endif /* BSP_I2C4_USING_DMA */ +#endif + +#if defined(BSP_USING_I2C5) +#ifndef I2C5_CONFIG +#define I2C5_CONFIG \ + { \ + .name = "i2c5", \ + .Instance = CM_I2C5, \ + .clock = FCG1_PERIPH_I2C5, \ + .baudrate = 100000UL, \ + .timeout = 10000UL, \ + } +#endif /* I2C5_CONFIG */ + +#if defined(BSP_I2C5_USING_DMA) +#ifndef I2C5_TX_DMA_CONFIG +#define I2C5_TX_DMA_CONFIG \ + { \ + .Instance = I2C5_TX_DMA_INSTANCE, \ + .channel = I2C5_TX_DMA_CHANNEL, \ + .clock = I2C5_TX_DMA_CLOCK, \ + .trigger_select = I2C5_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C5_TEI, \ + .flag = I2C5_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C5_TX_DMA_IRQn, \ + .irq_prio = I2C5_TX_DMA_INT_PRIO, \ + .int_src = I2C5_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C5_TX_DMA_CONFIG */ + +#ifndef I2C5_RX_DMA_CONFIG +#define I2C5_RX_DMA_CONFIG \ + { \ + .Instance = I2C5_RX_DMA_INSTANCE, \ + .channel = I2C5_RX_DMA_CHANNEL, \ + .clock = I2C5_RX_DMA_CLOCK, \ + .trigger_select = I2C5_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C5_RXI, \ + .flag = I2C5_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C5_RX_DMA_IRQn, \ + .irq_prio = I2C5_RX_DMA_INT_PRIO, \ + .int_src = I2C5_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C5_RX_DMA_CONFIG */ +#endif /* BSP_I2C5_USING_DMA */ +#endif + +#if defined(BSP_USING_I2C6) +#ifndef I2C6_CONFIG +#define I2C6_CONFIG \ + { \ + .name = "i2c6", \ + .Instance = CM_I2C6, \ + .clock = FCG1_PERIPH_I2C6, \ + .baudrate = 100000UL, \ + .timeout = 10000UL, \ + } +#endif /* I2C6_CONFIG */ + +#if defined(BSP_I2C6_USING_DMA) +#ifndef I2C6_TX_DMA_CONFIG +#define I2C6_TX_DMA_CONFIG \ + { \ + .Instance = I2C6_TX_DMA_INSTANCE, \ + .channel = I2C6_TX_DMA_CHANNEL, \ + .clock = I2C6_TX_DMA_CLOCK, \ + .trigger_select = I2C6_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C6_TEI, \ + .flag = I2C6_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C6_TX_DMA_IRQn, \ + .irq_prio = I2C6_TX_DMA_INT_PRIO, \ + .int_src = I2C6_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C6_TX_DMA_CONFIG */ + +#ifndef I2C6_RX_DMA_CONFIG +#define I2C6_RX_DMA_CONFIG \ + { \ + .Instance = I2C6_RX_DMA_INSTANCE, \ + .channel = I2C6_RX_DMA_CHANNEL, \ + .clock = I2C6_RX_DMA_CLOCK, \ + .trigger_select = I2C6_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_I2C6_RXI, \ + .flag = I2C6_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = I2C6_RX_DMA_IRQn, \ + .irq_prio = I2C6_RX_DMA_INT_PRIO, \ + .int_src = I2C6_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* I2C6_RX_DMA_CONFIG */ +#endif /* BSP_I2C6_USING_DMA */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/irq_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/irq_config.h new file mode 100644 index 0000000000..689d982537 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/irq_config.h @@ -0,0 +1,479 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __IRQ_CONFIG_H__ +#define __IRQ_CONFIG_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define BSP_EXTINT0_IRQ_NUM INT022_IRQn +#define BSP_EXTINT0_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT1_IRQ_NUM INT023_IRQn +#define BSP_EXTINT1_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT2_IRQ_NUM INT024_IRQn +#define BSP_EXTINT2_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT3_IRQ_NUM INT025_IRQn +#define BSP_EXTINT3_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT4_IRQ_NUM INT026_IRQn +#define BSP_EXTINT4_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT5_IRQ_NUM INT027_IRQn +#define BSP_EXTINT5_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT6_IRQ_NUM INT028_IRQn +#define BSP_EXTINT6_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT7_IRQ_NUM INT029_IRQn +#define BSP_EXTINT7_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT8_IRQ_NUM INT030_IRQn +#define BSP_EXTINT8_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT9_IRQ_NUM INT031_IRQn +#define BSP_EXTINT9_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT10_IRQ_NUM INT032_IRQn +#define BSP_EXTINT10_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT11_IRQ_NUM INT033_IRQn +#define BSP_EXTINT11_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT12_IRQ_NUM INT034_IRQn +#define BSP_EXTINT12_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT13_IRQ_NUM INT035_IRQn +#define BSP_EXTINT13_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT14_IRQ_NUM INT036_IRQn +#define BSP_EXTINT14_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_EXTINT15_IRQ_NUM INT037_IRQn +#define BSP_EXTINT15_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +/* DMA1 ch0 */ +#define BSP_DMA1_CH0_IRQ_NUM INT038_IRQn +#define BSP_DMA1_CH0_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch1 */ +#define BSP_DMA1_CH1_IRQ_NUM INT039_IRQn +#define BSP_DMA1_CH1_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch2 */ +#define BSP_DMA1_CH2_IRQ_NUM INT040_IRQn +#define BSP_DMA1_CH2_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch3 */ +#define BSP_DMA1_CH3_IRQ_NUM INT041_IRQn +#define BSP_DMA1_CH3_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch4 */ +#define BSP_DMA1_CH4_IRQ_NUM INT042_IRQn +#define BSP_DMA1_CH4_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch5 */ +#define BSP_DMA1_CH5_IRQ_NUM INT043_IRQn +#define BSP_DMA1_CH5_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch6 */ +#define BSP_DMA1_CH6_IRQ_NUM INT018_IRQn +#define BSP_DMA1_CH6_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA1 ch7 */ +#define BSP_DMA1_CH7_IRQ_NUM INT019_IRQn +#define BSP_DMA1_CH7_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +/* DMA2 ch0 */ +#define BSP_DMA2_CH0_IRQ_NUM INT044_IRQn +#define BSP_DMA2_CH0_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch1 */ +#define BSP_DMA2_CH1_IRQ_NUM INT045_IRQn +#define BSP_DMA2_CH1_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch2 */ +#define BSP_DMA2_CH2_IRQ_NUM INT046_IRQn +#define BSP_DMA2_CH2_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch3 */ +#define BSP_DMA2_CH3_IRQ_NUM INT047_IRQn +#define BSP_DMA2_CH3_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch4 */ +#define BSP_DMA2_CH4_IRQ_NUM INT048_IRQn +#define BSP_DMA2_CH4_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch5 */ +#define BSP_DMA2_CH5_IRQ_NUM INT049_IRQn +#define BSP_DMA2_CH5_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch6 */ +#define BSP_DMA2_CH6_IRQ_NUM INT020_IRQn +#define BSP_DMA2_CH6_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +/* DMA2 ch7 */ +#define BSP_DMA2_CH7_IRQ_NUM INT021_IRQn +#define BSP_DMA2_CH7_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +#if defined(BSP_USING_ETH) +#define BSP_ETH_IRQ_NUM INT104_IRQn +#define BSP_ETH_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(BSP_USING_UART1) +#define BSP_UART1_RXERR_IRQ_NUM INT010_IRQn +#define BSP_UART1_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART1_RX_IRQ_NUM INT089_IRQn +#define BSP_UART1_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART1_TX_IRQ_NUM INT088_IRQn +#define BSP_UART1_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +#if defined(BSP_UART1_RX_USING_DMA) +#define BSP_UART1_RXTO_IRQ_NUM INT006_IRQn +#define BSP_UART1_RXTO_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART1_TX_USING_DMA) +#define BSP_UART1_TX_CPLT_IRQ_NUM INT086_IRQn +#define BSP_UART1_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#elif defined(RT_USING_SERIAL_V2) +#define BSP_UART1_TX_CPLT_IRQ_NUM INT086_IRQn +#define BSP_UART1_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif +#endif /* BSP_USING_UART1 */ + +#if defined(BSP_USING_UART2) +#define BSP_UART2_RXERR_IRQ_NUM INT011_IRQn +#define BSP_UART2_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART2_RX_IRQ_NUM INT091_IRQn +#define BSP_UART2_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART2_TX_IRQ_NUM INT090_IRQn +#define BSP_UART2_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +#if defined(BSP_UART2_RX_USING_DMA) +#define BSP_UART2_RXTO_IRQ_NUM INT007_IRQn +#define BSP_UART2_RXTO_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART2_TX_USING_DMA) +#define BSP_UART2_TX_CPLT_IRQ_NUM INT087_IRQn +#define BSP_UART2_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#elif defined(RT_USING_SERIAL_V2) +#define BSP_UART2_TX_CPLT_IRQ_NUM INT087_IRQn +#define BSP_UART2_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif +#endif /* BSP_USING_UART2 */ + +#if defined(BSP_USING_UART3) +#define BSP_UART3_RXERR_IRQ_NUM INT012_IRQn +#define BSP_UART3_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART3_RX_IRQ_NUM INT095_IRQn +#define BSP_UART3_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART3_TX_IRQ_NUM INT094_IRQn +#define BSP_UART3_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_UART3 */ + +#if defined(BSP_USING_UART4) +#define BSP_UART4_RXERR_IRQ_NUM INT013_IRQn +#define BSP_UART4_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART4_RX_IRQ_NUM INT097_IRQn +#define BSP_UART4_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART4_TX_IRQ_NUM INT096_IRQn +#define BSP_UART4_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_UART4 */ + +#if defined(BSP_USING_UART5) +#define BSP_UART5_RXERR_IRQ_NUM INT014_IRQn +#define BSP_UART5_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART5_RX_IRQ_NUM INT101_IRQn +#define BSP_UART5_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART5_TX_IRQ_NUM INT100_IRQn +#define BSP_UART5_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_UART5 */ + +#if defined(BSP_USING_UART6) +#define BSP_UART6_RXERR_IRQ_NUM INT015_IRQn +#define BSP_UART6_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART6_RX_IRQ_NUM INT103_IRQn +#define BSP_UART6_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART6_TX_IRQ_NUM INT102_IRQn +#define BSP_UART6_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +#if defined(BSP_UART6_RX_USING_DMA) +#define BSP_UART6_RXTO_IRQ_NUM INT008_IRQn +#define BSP_UART6_RXTO_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART6_TX_USING_DMA) +#define BSP_UART6_TX_CPLT_IRQ_NUM INT099_IRQn +#define BSP_UART6_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#elif defined(RT_USING_SERIAL_V2) +#define BSP_UART6_TX_CPLT_IRQ_NUM INT099_IRQn +#define BSP_UART6_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif +#endif /* BSP_USING_UART6 */ + +#if defined(BSP_USING_UART7) +#define BSP_UART7_RXERR_IRQ_NUM INT016_IRQn +#define BSP_UART7_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART7_RX_IRQ_NUM INT107_IRQn +#define BSP_UART7_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART7_TX_IRQ_NUM INT106_IRQn +#define BSP_UART7_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT + +#if defined(BSP_UART7_RX_USING_DMA) +#define BSP_UART7_RXTO_IRQ_NUM INT009_IRQn +#define BSP_UART7_RXTO_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART7_TX_USING_DMA) +#define BSP_UART7_TX_CPLT_IRQ_NUM INT105_IRQn +#define BSP_UART7_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#elif defined(RT_USING_SERIAL_V2) +#define BSP_UART7_TX_CPLT_IRQ_NUM INT105_IRQn +#define BSP_UART7_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif +#elif defined(BSP_USING_SPI1) || defined(BSP_USING_SPI2) +#define BSP_SPI1_ERR_IRQ_NUM INT009_IRQn +#define BSP_SPI1_ERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_SPI2_ERR_IRQ_NUM INT016_IRQn +#define BSP_SPI2_ERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_UART7 */ + +#if defined(BSP_USING_SPI3) +#define BSP_SPI3_ERR_IRQ_NUM INT092_IRQn +#define BSP_SPI3_ERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(BSP_USING_SPI4) +#define BSP_SPI4_ERR_IRQ_NUM INT093_IRQn +#define BSP_SPI4_ERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif + +#if defined(BSP_USING_UART8) +#define BSP_UART8_RXERR_IRQ_NUM INT017_IRQn +#define BSP_UART8_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART8_RX_IRQ_NUM INT109_IRQn +#define BSP_UART8_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART8_TX_IRQ_NUM INT108_IRQn +#define BSP_UART8_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#if defined(RT_USING_SERIAL_V2) +#define BSP_UART8_TX_CPLT_IRQ_NUM INT001_IRQn +#define BSP_UART8_TX_CPLT_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif +#endif /* BSP_USING_UART8 */ + +#if defined(BSP_USING_UART9) +#define BSP_UART9_RXERR_IRQ_NUM INT112_IRQn +#define BSP_UART9_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART9_RX_IRQ_NUM INT110_IRQn +#define BSP_UART9_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART9_TX_IRQ_NUM INT111_IRQn +#define BSP_UART9_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_UART9 */ + +#if defined(BSP_USING_UART10) +#define BSP_UART10_RXERR_IRQ_NUM INT115_IRQn +#define BSP_UART10_RXERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART10_RX_IRQ_NUM INT114_IRQn +#define BSP_UART10_RX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_UART10_TX_IRQ_NUM INT113_IRQn +#define BSP_UART10_TX_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_UART10 */ + +#if defined(BSP_USING_CAN1) +#define BSP_CAN1_IRQ_NUM INT092_IRQn +#define BSP_CAN1_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_CAN1 */ + +#if defined(BSP_USING_CAN2) +#define BSP_CAN2_IRQ_NUM INT093_IRQn +#define BSP_CAN2_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_CAN2 */ + +#if defined(BSP_USING_SDIO1) +#define BSP_SDIO1_IRQ_NUM INT004_IRQn +#define BSP_SDIO1_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_SDIO1 */ + +#if defined(BSP_USING_SDIO2) +#define BSP_SDIO2_IRQ_NUM INT005_IRQn +#define BSP_SDIO2_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_SDIO2 */ + +#if defined(RT_USING_ALARM) +#define BSP_RTC_ALARM_IRQ_NUM INT050_IRQn +#define BSP_RTC_ALARM_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* RT_USING_ALARM */ + + +#if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) +#define BSP_USB_GLB_IRQ_NUM INT003_IRQn +#define BSP_USB_GLB_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_USBD */ + +#if defined (BSP_USING_QSPI) +#define BSP_QSPI_ERR_IRQ_NUM INT002_IRQn +#define BSP_QSPI_ERR_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif /* BSP_USING_QSPI */ + +#if defined(BSP_USING_PULSE_ENCODER_TMRA_1) +#define BSP_PULSE_ENCODER_TMRA_1_OVF_IRQ_NUM INT074_IRQn +#define BSP_PULSE_ENCODER_TMRA_1_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_1_UDF_IRQ_NUM INT075_IRQn +#define BSP_PULSE_ENCODER_TMRA_1_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_1 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_2) +#define BSP_PULSE_ENCODER_TMRA_2_OVF_IRQ_NUM INT076_IRQn +#define BSP_PULSE_ENCODER_TMRA_2_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_2_UDF_IRQ_NUM INT077_IRQn +#define BSP_PULSE_ENCODER_TMRA_2_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_2 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_3) +#define BSP_PULSE_ENCODER_TMRA_3_OVF_IRQ_NUM INT080_IRQn +#define BSP_PULSE_ENCODER_TMRA_3_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_3_UDF_IRQ_NUM INT081_IRQn +#define BSP_PULSE_ENCODER_TMRA_3_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_3 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_4) +#define BSP_PULSE_ENCODER_TMRA_4_OVF_IRQ_NUM INT082_IRQn +#define BSP_PULSE_ENCODER_TMRA_4_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_4_UDF_IRQ_NUM INT083_IRQn +#define BSP_PULSE_ENCODER_TMRA_4_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_4 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_5) +#define BSP_PULSE_ENCODER_TMRA_5_OVF_IRQ_NUM INT092_IRQn +#define BSP_PULSE_ENCODER_TMRA_5_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_5_UDF_IRQ_NUM INT093_IRQn +#define BSP_PULSE_ENCODER_TMRA_5_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_5 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_6) +#define BSP_PULSE_ENCODER_TMRA_6_OVF_IRQ_NUM INT094_IRQn +#define BSP_PULSE_ENCODER_TMRA_6_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_6_UDF_IRQ_NUM INT095_IRQn +#define BSP_PULSE_ENCODER_TMRA_6_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_6 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_7) +#define BSP_PULSE_ENCODER_TMRA_7_OVF_IRQ_NUM INT096_IRQn +#define BSP_PULSE_ENCODER_TMRA_7_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_7_UDF_IRQ_NUM INT097_IRQn +#define BSP_PULSE_ENCODER_TMRA_7_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_7 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_8) +#define BSP_PULSE_ENCODER_TMRA_8_OVF_IRQ_NUM INT096_IRQn +#define BSP_PULSE_ENCODER_TMRA_8_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_8_UDF_IRQ_NUM INT097_IRQn +#define BSP_PULSE_ENCODER_TMRA_8_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_8 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_9) +#define BSP_PULSE_ENCODER_TMRA_9_OVF_IRQ_NUM INT098_IRQn +#define BSP_PULSE_ENCODER_TMRA_9_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_9_UDF_IRQ_NUM INT099_IRQn +#define BSP_PULSE_ENCODER_TMRA_9_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_9 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_10) +#define BSP_PULSE_ENCODER_TMRA_10_OVF_IRQ_NUM INT100_IRQn +#define BSP_PULSE_ENCODER_TMRA_10_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_10_UDF_IRQ_NUM INT101_IRQn +#define BSP_PULSE_ENCODER_TMRA_10_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_10 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_11) +#define BSP_PULSE_ENCODER_TMRA_11_OVF_IRQ_NUM INT102_IRQn +#define BSP_PULSE_ENCODER_TMRA_11_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_11_UDF_IRQ_NUM INT103_IRQn +#define BSP_PULSE_ENCODER_TMRA_11_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_11 */ +#if defined(BSP_USING_PULSE_ENCODER_TMRA_12) +#define BSP_PULSE_ENCODER_TMRA_12_OVF_IRQ_NUM INT102_IRQn +#define BSP_PULSE_ENCODER_TMRA_12_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMRA_12_UDF_IRQ_NUM INT103_IRQn +#define BSP_PULSE_ENCODER_TMRA_12_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMRA_12 */ + +#if defined(BSP_USING_PULSE_ENCODER_TMR6_1) +#define BSP_PULSE_ENCODER_TMR6_1_OVF_IRQ_NUM INT056_IRQn +#define BSP_PULSE_ENCODER_TMR6_1_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_1_UDF_IRQ_NUM INT057_IRQn +#define BSP_PULSE_ENCODER_TMR6_1_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_1 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_2) +#define BSP_PULSE_ENCODER_TMR6_2_OVF_IRQ_NUM INT058_IRQn +#define BSP_PULSE_ENCODER_TMR6_2_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_2_UDF_IRQ_NUM INT059_IRQn +#define BSP_PULSE_ENCODER_TMR6_2_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_2 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_3) +#define BSP_PULSE_ENCODER_TMR6_3_OVF_IRQ_NUM INT062_IRQn +#define BSP_PULSE_ENCODER_TMR6_3_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_3_UDF_IRQ_NUM INT063_IRQn +#define BSP_PULSE_ENCODER_TMR6_3_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_3 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_4) +#define BSP_PULSE_ENCODER_TMR6_4_OVF_IRQ_NUM INT068_IRQn +#define BSP_PULSE_ENCODER_TMR6_4_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_4_UDF_IRQ_NUM INT069_IRQn +#define BSP_PULSE_ENCODER_TMR6_4_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_4 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_5) +#define BSP_PULSE_ENCODER_TMR6_5_OVF_IRQ_NUM INT074_IRQn +#define BSP_PULSE_ENCODER_TMR6_5_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_5_UDF_IRQ_NUM INT075_IRQn +#define BSP_PULSE_ENCODER_TMR6_5_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_5 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_6) +#define BSP_PULSE_ENCODER_TMR6_6_OVF_IRQ_NUM INT076_IRQn +#define BSP_PULSE_ENCODER_TMR6_6_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_6_UDF_IRQ_NUM INT077_IRQn +#define BSP_PULSE_ENCODER_TMR6_6_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_6 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_7) +#define BSP_PULSE_ENCODER_TMR6_7_OVF_IRQ_NUM INT080_IRQn +#define BSP_PULSE_ENCODER_TMR6_7_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_7_UDF_IRQ_NUM INT081_IRQn +#define BSP_PULSE_ENCODER_TMR6_7_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_7 */ +#if defined(BSP_USING_PULSE_ENCODER_TMR6_8) +#define BSP_PULSE_ENCODER_TMR6_8_OVF_IRQ_NUM INT082_IRQn +#define BSP_PULSE_ENCODER_TMR6_8_OVF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#define BSP_PULSE_ENCODER_TMR6_8_UDF_IRQ_NUM INT083_IRQn +#define BSP_PULSE_ENCODER_TMR6_8_UDF_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_PULSE_ENCODER_TMR6_8 */ + +#if defined(BSP_USING_TMRA_1) +#define BSP_USING_TMRA_1_IRQ_NUM INT074_IRQn +#define BSP_USING_TMRA_1_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_1 */ +#if defined(BSP_USING_TMRA_2) +#define BSP_USING_TMRA_2_IRQ_NUM INT075_IRQn +#define BSP_USING_TMRA_2_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_2 */ +#if defined(BSP_USING_TMRA_3) +#define BSP_USING_TMRA_3_IRQ_NUM INT080_IRQn +#define BSP_USING_TMRA_3_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_3 */ +#if defined(BSP_USING_TMRA_4) +#define BSP_USING_TMRA_4_IRQ_NUM INT081_IRQn +#define BSP_USING_TMRA_4_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_4 */ +#if defined(BSP_USING_TMRA_5) +#define BSP_USING_TMRA_5_IRQ_NUM INT092_IRQn +#define BSP_USING_TMRA_5_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_5 */ +#if defined(BSP_USING_TMRA_6) +#define BSP_USING_TMRA_6_IRQ_NUM INT093_IRQn +#define BSP_USING_TMRA_6_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_6 */ +#if defined(BSP_USING_TMRA_7) +#define BSP_USING_TMRA_7_IRQ_NUM INT094_IRQn +#define BSP_USING_TMRA_7_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_7 */ +#if defined(BSP_USING_TMRA_8) +#define BSP_USING_TMRA_8_IRQ_NUM INT095_IRQn +#define BSP_USING_TMRA_8_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_8 */ +#if defined(BSP_USING_TMRA_9) +#define BSP_USING_TMRA_9_IRQ_NUM INT098_IRQn +#define BSP_USING_TMRA_9_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_9 */ +#if defined(BSP_USING_TMRA_10) +#define BSP_USING_TMRA_10_IRQ_NUM INT099_IRQn +#define BSP_USING_TMRA_10_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_10 */ +#if defined(BSP_USING_TMRA_11) +#define BSP_USING_TMRA_11_IRQ_NUM INT100_IRQn +#define BSP_USING_TMRA_11_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_11 */ +#if defined(BSP_USING_TMRA_12) +#define BSP_USING_TMRA_12_IRQ_NUM INT101_IRQn +#define BSP_USING_TMRA_12_IRQ_PRIO DDL_IRQ_PRIO_DEFAULT +#endif/* BSP_USING_TMRA_12 */ +#ifdef __cplusplus +} +#endif + +#endif /* __IRQ_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pm_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pm_config.h new file mode 100644 index 0000000000..3779fdbec5 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pm_config.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-05-12 CDT first version + */ + +#ifndef __PM_CONFIG_H__ +#define __PM_CONFIG_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_PM +extern void rt_hw_board_pm_sysclk_cfg(uint8_t run_mode); + +#ifndef PM_TICKLESS_TIMER_ENABLE_MASK +#define PM_TICKLESS_TIMER_ENABLE_MASK \ +( (1UL << PM_SLEEP_MODE_IDLE) | \ + (1UL << PM_SLEEP_MODE_DEEP)) +#endif + +/** + * @brief run mode config @ref pm_run_mode_config structure + */ +#ifndef PM_RUN_MODE_CFG +#define PM_RUN_MODE_CFG \ + { \ + .sys_clk_cfg = rt_hw_board_pm_sysclk_cfg \ + } +#endif /* PM_RUN_MODE_CFG */ + +/** + * @brief sleep idle config @ref pm_sleep_mode_idle_config structure + */ +#ifndef PM_SLEEP_IDLE_CFG +#define PM_SLEEP_IDLE_CFG \ +{ \ + .pwc_sleep_type = PWC_SLEEP_WFE_INT, \ +} +#endif /*PM_SLEEP_IDLE_CFG*/ + +/** + * @brief sleep deep config @ref pm_sleep_mode_deep_config structure + */ +#ifndef PM_SLEEP_DEEP_CFG +#define PM_SLEEP_DEEP_CFG \ +{ \ + { \ + .u16Clock = PWC_STOP_CLK_KEEP, \ + .u8StopDrv = PWC_STOP_DRV_HIGH, \ + .u16ExBusHold = PWC_STOP_EXBUS_HIZ, \ + .u16FlashWait = PWC_STOP_FLASH_WAIT_ON, \ + }, \ + .pwc_stop_type = PWC_STOP_WFE_INT, \ +} +#endif /*PM_SLEEP_DEEP_CFG*/ + +/** + * @brief sleep standby config @ref pm_sleep_mode_standby_config structure + */ +#ifndef PM_SLEEP_STANDBY_CFG +#define PM_SLEEP_STANDBY_CFG \ +{ \ + { \ + .u8Mode = PWC_PD_MD1, \ + .u8IOState = PWC_PD_IO_KEEP1, \ + .u8VcapCtrl = PWC_PD_VCAP_0P047UF, \ + }, \ +} +#endif /*PM_SLEEP_STANDBY_CFG*/ + +/** + * @brief sleep shutdown config @ref pm_sleep_mode_shutdown_config structure + */ +#ifndef PM_SLEEP_SHUTDOWN_CFG +#define PM_SLEEP_SHUTDOWN_CFG \ +{ \ + { \ + .u8Mode = PWC_PD_MD3, \ + .u8IOState = PWC_PD_IO_KEEP1, \ + .u8VcapCtrl = PWC_PD_VCAP_0P047UF, \ + }, \ +} +#endif /*PM_SLEEP_SHUTDOWN_CFG*/ + +#endif /* BSP_USING_PM */ + +#ifdef __cplusplus +} +#endif + +#endif /* __PM_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pulse_encoder_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pulse_encoder_config.h new file mode 100644 index 0000000000..c4f76f3906 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pulse_encoder_config.h @@ -0,0 +1,544 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-06-09 CDT first version + */ + +#ifndef __PULSE_ENCODER_CONFIG_H__ +#define __PULSE_ENCODER_CONFIG_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(RT_USING_PULSE_ENCODER) + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_1 +#ifndef PULSE_ENCODER_TMRA_1_CONFIG +#define PULSE_ENCODER_TMRA_1_CONFIG \ + { \ + .tmr_handler = CM_TMRA_1, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_1, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_1_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_1_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_1_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_1_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_1_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_1_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a1" \ + } +#endif /* PULSE_ENCODER_TMRA_1_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_1 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_2 +#ifndef PULSE_ENCODER_TMRA_2_CONFIG +#define PULSE_ENCODER_TMRA_2_CONFIG \ + { \ + .tmr_handler = CM_TMRA_2, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_2, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_2_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_2_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_2_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_2_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_2_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_2_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a2" \ + } +#endif /* PULSE_ENCODER_TMRA_2_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_2 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_3 +#ifndef PULSE_ENCODER_TMRA_3_CONFIG +#define PULSE_ENCODER_TMRA_3_CONFIG \ + { \ + .tmr_handler = CM_TMRA_3, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_3, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_3_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_3_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_3_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_3_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_3_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_3_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a3" \ + } +#endif /* PULSE_ENCODER_TMRA_3_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_3 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_4 +#ifndef PULSE_ENCODER_TMRA_4_CONFIG +#define PULSE_ENCODER_TMRA_4_CONFIG \ + { \ + .tmr_handler = CM_TMRA_4, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_4, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_4_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_4_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_4_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_4_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_4_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_4_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a4" \ + } +#endif /* PULSE_ENCODER_TMRA_4_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_4 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_5 +#ifndef PULSE_ENCODER_TMRA_5_CONFIG +#define PULSE_ENCODER_TMRA_5_CONFIG \ + { \ + .tmr_handler = CM_TMRA_5, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_5, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_5_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_5_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_5_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_5_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_5_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_5_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a5" \ + } +#endif /* PULSE_ENCODER_TMRA_5_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_5 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_6 +#ifndef PULSE_ENCODER_TMRA_6_CONFIG +#define PULSE_ENCODER_TMRA_6_CONFIG \ + { \ + .tmr_handler = CM_TMRA_6, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_6, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_6_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_6_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_6_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_6_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_6_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_6_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a6" \ + } +#endif /* PULSE_ENCODER_TMRA_6_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_6 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_7 +#ifndef PULSE_ENCODER_TMRA_7_CONFIG +#define PULSE_ENCODER_TMRA_7_CONFIG \ + { \ + .tmr_handler = CM_TMRA_7, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_7, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_7_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_7_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_7_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_7_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_7_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_7_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a7" \ + } +#endif /* PULSE_ENCODER_TMRA_7_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_7 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_8 +#ifndef PULSE_ENCODER_TMRA_8_CONFIG +#define PULSE_ENCODER_TMRA_8_CONFIG \ + { \ + .tmr_handler = CM_TMRA_8, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_8, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_8_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_8_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_8_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_8_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_8_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_8_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a8" \ + } +#endif /* PULSE_ENCODER_TMRA_8_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_8 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_9 +#ifndef PULSE_ENCODER_TMRA_9_CONFIG +#define PULSE_ENCODER_TMRA_9_CONFIG \ + { \ + .tmr_handler = CM_TMRA_9, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_9, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_9_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_9_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_9_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_9_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_9_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_9_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a9" \ + } +#endif /* PULSE_ENCODER_TMRA_9_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_9 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_10 +#ifndef PULSE_ENCODER_TMRA_10_CONFIG +#define PULSE_ENCODER_TMRA_10_CONFIG \ + { \ + .tmr_handler = CM_TMRA_10, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_10, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_10_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_10_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_10_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_10_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_10_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_10_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a10" \ + } +#endif /* PULSE_ENCODER_TMRA_10_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_10 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_11 +#ifndef PULSE_ENCODER_TMRA_11_CONFIG +#define PULSE_ENCODER_TMRA_11_CONFIG \ + { \ + .tmr_handler = CM_TMRA_11, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_11, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_11_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_11_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_11_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_11_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_11_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_11_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a11" \ + } +#endif /* PULSE_ENCODER_TMRA_11_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_11 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMRA_12 +#ifndef PULSE_ENCODER_TMRA_12_CONFIG +#define PULSE_ENCODER_TMRA_12_CONFIG \ + { \ + .tmr_handler = CM_TMRA_12, \ + .u32Fcg2Periph = FCG2_PERIPH_TMRA_12, \ + .hw_count = \ + { \ + .u16CountUpCond = TMRA_CNT_UP_COND_CLKA_HIGH_CLKB_RISING, \ + .u16CountDownCond = TMRA_CNT_DOWN_COND_CLKB_HIGH_CLKA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMRA_12_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMRA_12_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMRA_12_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMRA_12_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMRA_12_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMRA_12_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_a12" \ + } +#endif /* PULSE_ENCODER_TMRA_12_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMRA_12 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_1 +#ifndef PULSE_ENCODER_TMR6_1_CONFIG +#define PULSE_ENCODER_TMR6_1_CONFIG \ + { \ + .tmr_handler = CM_TMR6_1, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_1, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_1_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_1_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_1_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_1_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_1_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_1_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_61" \ + } +#endif /* PULSE_ENCODER_TMR6_1_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_1 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_2 +#ifndef PULSE_ENCODER_TMR6_2_CONFIG +#define PULSE_ENCODER_TMR6_2_CONFIG \ + { \ + .tmr_handler = CM_TMR6_2, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_2, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_2_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_2_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_2_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_2_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_2_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_2_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_62" \ + } +#endif /* PULSE_ENCODER_TMR6_2_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_2 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_3 +#ifndef PULSE_ENCODER_TMR6_3_CONFIG +#define PULSE_ENCODER_TMR6_3_CONFIG \ + { \ + .tmr_handler = CM_TMR6_3, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_3, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_3_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_3_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_3_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_3_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_3_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_3_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_63" \ + } +#endif /* PULSE_ENCODER_TMR6_3_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_3 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_4 +#ifndef PULSE_ENCODER_TMR6_4_CONFIG +#define PULSE_ENCODER_TMR6_4_CONFIG \ + { \ + .tmr_handler = CM_TMR6_4, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_4, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_4_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_4_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_4_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_4_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_4_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_4_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_64" \ + } +#endif /* PULSE_ENCODER_TMR6_4_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_4 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_5 +#ifndef PULSE_ENCODER_TMR6_5_CONFIG +#define PULSE_ENCODER_TMR6_5_CONFIG \ + { \ + .tmr_handler = CM_TMR6_5, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_5, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_5_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_5_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_5_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_5_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_5_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_5_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_65" \ + } +#endif /* PULSE_ENCODER_TMR6_5_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_5 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_6 +#ifndef PULSE_ENCODER_TMR6_6_CONFIG +#define PULSE_ENCODER_TMR6_6_CONFIG \ + { \ + .tmr_handler = CM_TMR6_6, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_6, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_6_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_6_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_6_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_6_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_6_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_6_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_66" \ + } +#endif /* PULSE_ENCODER_TMR6_6_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_6 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_7 +#ifndef PULSE_ENCODER_TMR6_7_CONFIG +#define PULSE_ENCODER_TMR6_7_CONFIG \ + { \ + .tmr_handler = CM_TMR6_7, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_7, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_7_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_7_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_7_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_7_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_7_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_7_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_67" \ + } +#endif /* PULSE_ENCODER_TMR6_7_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_7 */ + +#ifdef BSP_USING_PULSE_ENCODER_TMR6_8 +#ifndef PULSE_ENCODER_TMR6_8_CONFIG +#define PULSE_ENCODER_TMR6_8_CONFIG \ + { \ + .tmr_handler = CM_TMR6_8, \ + .u32Fcg2Periph = FCG2_PERIPH_TMR6_8, \ + .hw_count = \ + { \ + .u32CountUpCond = TMR6_CNT_UP_COND_PWMA_HIGH_PWMB_RISING, \ + .u32CountDownCond = TMR6_CNT_DOWN_COND_PWMB_HIGH_PWMA_RISING, \ + }, \ + .isr = \ + { \ + .enIntSrc_Ovf = INT_SRC_TMR6_8_OVF, \ + .enIRQn_Ovf = BSP_PULSE_ENCODER_TMR6_8_OVF_IRQ_NUM, \ + .u8Int_Prio_Ovf = BSP_PULSE_ENCODER_TMR6_8_OVF_IRQ_PRIO, \ + .enIntSrc_Udf = INT_SRC_TMR6_8_UDF, \ + .enIRQn_Udf = BSP_PULSE_ENCODER_TMR6_8_UDF_IRQ_NUM, \ + .u8Int_Prio_Udf = BSP_PULSE_ENCODER_TMR6_8_UDF_IRQ_PRIO, \ + }, \ + .u32PeriodValue = 1000UL, \ + .name = "pulse_68" \ + } +#endif /* PULSE_ENCODER_TMR6_8_CONFIG */ +#endif /* BSP_USING_PULSE_ENCODER_TMR6_8 */ + +#endif /* RT_USING_PULSE_ENCODER */ + +#endif /* __PULSE_ENCODER_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pwm_tmr_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pwm_tmr_config.h new file mode 100644 index 0000000000..da87f320f8 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/pwm_tmr_config.h @@ -0,0 +1,881 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-22 CDT first version + */ + +#ifndef __PWM_TMR_CONFIG_H__ +#define __PWM_TMR_CONFIG_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_PWM_TMRA + +#ifdef BSP_USING_PWM_TMRA_1 +#ifndef PWM_TMRA_1_CONFIG +#define PWM_TMRA_1_CONFIG \ + { \ + .name = "pwm_a1", \ + .instance = CM_TMRA_1, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_1_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_1 */ + +#ifdef BSP_USING_PWM_TMRA_2 +#ifndef PWM_TMRA_2_CONFIG +#define PWM_TMRA_2_CONFIG \ + { \ + .name = "pwm_a2", \ + .instance = CM_TMRA_2, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_2_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_2 */ + +#ifdef BSP_USING_PWM_TMRA_3 +#ifndef PWM_TMRA_3_CONFIG +#define PWM_TMRA_3_CONFIG \ + { \ + .name = "pwm_a3", \ + .instance = CM_TMRA_3, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_3_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_3 */ + +#ifdef BSP_USING_PWM_TMRA_4 +#ifndef PWM_TMRA_4_CONFIG +#define PWM_TMRA_4_CONFIG \ + { \ + .name = "pwm_a4", \ + .instance = CM_TMRA_4, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_4_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_4 */ + +#ifdef BSP_USING_PWM_TMRA_5 +#ifndef PWM_TMRA_5_CONFIG +#define PWM_TMRA_5_CONFIG \ + { \ + .name = "pwm_a5", \ + .instance = CM_TMRA_5, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_5_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_5 */ + +#ifdef BSP_USING_PWM_TMRA_6 +#ifndef PWM_TMRA_6_CONFIG +#define PWM_TMRA_6_CONFIG \ + { \ + .name = "pwm_a6", \ + .instance = CM_TMRA_6, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_6_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_6 */ + +#ifdef BSP_USING_PWM_TMRA_7 +#ifndef PWM_TMRA_7_CONFIG +#define PWM_TMRA_7_CONFIG \ + { \ + .name = "pwm_a7", \ + .instance = CM_TMRA_7, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_7_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_7 */ + +#ifdef BSP_USING_PWM_TMRA_8 +#ifndef PWM_TMRA_8_CONFIG +#define PWM_TMRA_8_CONFIG \ + { \ + .name = "pwm_a8", \ + .instance = CM_TMRA_8, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_8_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_8 */ + +#ifdef BSP_USING_PWM_TMRA_9 +#ifndef PWM_TMRA_9_CONFIG +#define PWM_TMRA_9_CONFIG \ + { \ + .name = "pwm_a9", \ + .instance = CM_TMRA_9, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_9_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_9 */ + +#ifdef BSP_USING_PWM_TMRA_10 +#ifndef PWM_TMRA_10_CONFIG +#define PWM_TMRA_10_CONFIG \ + { \ + .name = "pwm_a10", \ + .instance = CM_TMRA_10, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_10_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_10 */ + +#ifdef BSP_USING_PWM_TMRA_11 +#ifndef PWM_TMRA_11_CONFIG +#define PWM_TMRA_11_CONFIG \ + { \ + .name = "pwm_a11", \ + .instance = CM_TMRA_11, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_11_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_11 */ + +#ifdef BSP_USING_PWM_TMRA_12 +#ifndef PWM_TMRA_12_CONFIG +#define PWM_TMRA_12_CONFIG \ + { \ + .name = "pwm_a12", \ + .instance = CM_TMRA_12, \ + .channel = 0, \ + .stcTmraInit = \ + { \ + .u8CountSrc = TMRA_CNT_SRC_SW, \ + .u32PeriodValue = 0xFFFF, \ + .sw_count = \ + { \ + .u8ClockDiv = TMRA_CLK_DIV1, \ + .u8CountMode = TMRA_MD_SAWTOOTH, \ + .u8CountDir = TMRA_DIR_DOWN, \ + }, \ + .u8CountReload = TMRA_CNT_RELOAD_ENABLE\ + }, \ + .stcPwmInit = \ + { \ + .u32CompareValue = 0x0000, \ + .u16StartPolarity = TMRA_PWM_LOW, \ + .u16StopPolarity = TMRA_PWM_LOW, \ + .u16CompareMatchPolarity = TMRA_PWM_HIGH, \ + .u16PeriodMatchPolarity = TMRA_PWM_LOW, \ + }, \ + } +#endif /* PWM_TMRA_12_CONFIG */ +#endif /* BSP_USING_PWM_TMRA_12 */ + +#endif /* BSP_USING_PWM_TMRA */ + +#ifdef BSP_USING_PWM_TMR4 + +#ifdef BSP_USING_PWM_TMR4_1 +#ifndef PWM_TMR4_1_CONFIG +#define PWM_TMR4_1_CONFIG \ + { \ + .name = "pwm_t41", \ + .instance = CM_TMR4_1, \ + .channel = 0, \ + .stcTmr4Init = \ + { \ + .u16ClockDiv = TMR4_CLK_DIV1, \ + .u16PeriodValue = 0xFFFFU, \ + .u16CountMode = TMR4_MD_SAWTOOTH, \ + .u16ClockSrc = TMR4_CLK_SRC_INTERNCLK,\ + }, \ + .stcTmr4OcInit = \ + { \ + .u16CompareValue = 0x0000, \ + .u16OcInvalidPolarity = TMR4_OC_INVD_LOW, \ + .u16CompareModeBufCond = TMR4_OC_BUF_COND_IMMED,\ + .u16CompareValueBufCond = TMR4_OC_BUF_COND_IMMED, \ + .u16BufLinkTransObject = 0U, \ + }, \ + .stcTmr4PwmInit = \ + { \ + .u16Mode = TMR4_PWM_MD_THROUGH, \ + .u16ClockDiv = TMR4_PWM_CLK_DIV1, \ + .u16Polarity = TMR4_PWM_OXH_HOLD_OXL_HOLD,\ + }, \ + } +#endif /* PWM_TMR4_1_CONFIG */ +#endif /* BSP_USING_PWM_TMR4_1 */ + +#ifdef BSP_USING_PWM_TMR4_2 +#ifndef PWM_TMR4_2_CONFIG +#define PWM_TMR4_2_CONFIG \ + { \ + .name = "pwm_t42", \ + .instance = CM_TMR4_2, \ + .channel = 0, \ + .stcTmr4Init = \ + { \ + .u16ClockDiv = TMR4_CLK_DIV1, \ + .u16PeriodValue = 0xFFFFU, \ + .u16CountMode = TMR4_MD_SAWTOOTH, \ + .u16ClockSrc = TMR4_CLK_SRC_INTERNCLK,\ + }, \ + .stcTmr4OcInit = \ + { \ + .u16CompareValue = 0x0000, \ + .u16OcInvalidPolarity = TMR4_OC_INVD_LOW, \ + .u16CompareModeBufCond = TMR4_OC_BUF_COND_IMMED,\ + .u16CompareValueBufCond = TMR4_OC_BUF_COND_IMMED, \ + .u16BufLinkTransObject = 0U, \ + }, \ + .stcTmr4PwmInit = \ + { \ + .u16Mode = TMR4_PWM_MD_THROUGH, \ + .u16ClockDiv = TMR4_PWM_CLK_DIV1, \ + .u16Polarity = TMR4_PWM_OXH_HOLD_OXL_HOLD,\ + }, \ + } +#endif /* PWM_TMR4_2_CONFIG */ +#endif /* BSP_USING_PWM_TMR4_2 */ + +#ifdef BSP_USING_PWM_TMR4_3 +#ifndef PWM_TMR4_3_CONFIG +#define PWM_TMR4_3_CONFIG \ + { \ + .name = "pwm_t43", \ + .instance = CM_TMR4_3, \ + .channel = 0, \ + .stcTmr4Init = \ + { \ + .u16ClockDiv = TMR4_CLK_DIV1, \ + .u16PeriodValue = 0xFFFFU, \ + .u16CountMode = TMR4_MD_SAWTOOTH, \ + .u16ClockSrc = TMR4_CLK_SRC_INTERNCLK,\ + }, \ + .stcTmr4OcInit = \ + { \ + .u16CompareValue = 0x0000, \ + .u16OcInvalidPolarity = TMR4_OC_INVD_LOW, \ + .u16CompareModeBufCond = TMR4_OC_BUF_COND_IMMED,\ + .u16CompareValueBufCond = TMR4_OC_BUF_COND_IMMED, \ + .u16BufLinkTransObject = 0U, \ + }, \ + .stcTmr4PwmInit = \ + { \ + .u16Mode = TMR4_PWM_MD_THROUGH, \ + .u16ClockDiv = TMR4_PWM_CLK_DIV1, \ + .u16Polarity = TMR4_PWM_OXH_HOLD_OXL_HOLD,\ + }, \ + } +#endif /* PWM_TMR4_3_CONFIG */ +#endif /* BSP_USING_PWM_TMR4_3 */ + +#endif /* BSP_USING_PWM_TMR4 */ + +#ifdef BSP_USING_PWM_TMR6 + +#ifdef BSP_USING_PWM_TMR6_1 +#ifndef PWM_TMR6_1_CONFIG +#define PWM_TMR6_1_CONFIG \ + { \ + .name = "pwm_t61", \ + .instance = CM_TMR6_1, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_1_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_1 */ +#ifdef BSP_USING_PWM_TMR6_2 +#ifndef PWM_TMR6_2_CONFIG +#define PWM_TMR6_2_CONFIG \ + { \ + .name = "pwm_t62", \ + .instance = CM_TMR6_2, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_2_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_2 */ +#ifdef BSP_USING_PWM_TMR6_3 +#ifndef PWM_TMR6_3_CONFIG +#define PWM_TMR6_3_CONFIG \ + { \ + .name = "pwm_t63", \ + .instance = CM_TMR6_3, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_3_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_3 */ +#ifdef BSP_USING_PWM_TMR6_4 +#ifndef PWM_TMR6_4_CONFIG +#define PWM_TMR6_4_CONFIG \ + { \ + .name = "pwm_t64", \ + .instance = CM_TMR6_4, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_4_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_4 */ +#ifdef BSP_USING_PWM_TMR6_5 +#ifndef PWM_TMR6_5_CONFIG +#define PWM_TMR6_5_CONFIG \ + { \ + .name = "pwm_t65", \ + .instance = CM_TMR6_5, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_5_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_5 */ +#ifdef BSP_USING_PWM_TMR6_6 +#ifndef PWM_TMR6_6_CONFIG +#define PWM_TMR6_6_CONFIG \ + { \ + .name = "pwm_t66", \ + .instance = CM_TMR6_6, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_6_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_6 */ +#ifdef BSP_USING_PWM_TMR6_7 +#ifndef PWM_TMR6_7_CONFIG +#define PWM_TMR6_7_CONFIG \ + { \ + .name = "pwm_t67", \ + .instance = CM_TMR6_7, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_7_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_7 */ +#ifdef BSP_USING_PWM_TMR6_8 +#ifndef PWM_TMR6_8_CONFIG +#define PWM_TMR6_8_CONFIG \ + { \ + .name = "pwm_t68", \ + .instance = CM_TMR6_8, \ + .channel = 0, \ + .stcTmr6Init = \ + { \ + .u8CountSrc = TMR6_CNT_SRC_SW, \ + .sw_count = \ + { \ + .u32ClockDiv = TMR6_CLK_DIV1, \ + .u32CountMode = TMR6_MD_SAWTOOTH, \ + .u32CountDir = TMR6_CNT_UP, \ + }, \ + .u32PeriodValue = 0xFFFF, \ + .u32CountReload = TMR6_CNT_RELOAD_ON, \ + }, \ + .stcPwmInit = \ + { \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + }, \ + { \ + .u32CompareValue = 0x0000, \ + .u32StartPolarity = TMR6_PWM_HIGH, \ + .u32StopPolarity = TMR6_PWM_HIGH, \ + .u32CountUpMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountDownMatchAPolarity = TMR6_PWM_HOLD, \ + .u32CountUpMatchBPolarity = TMR6_PWM_LOW, \ + .u32CountDownMatchBPolarity = TMR6_PWM_HOLD, \ + .u32UdfPolarity = TMR6_PWM_HOLD, \ + .u32OvfPolarity = TMR6_PWM_HIGH, \ + } \ + }, \ + } +#endif /* PWM_TMR6_8_CONFIG */ +#endif /* BSP_USING_PWM_TMR6_8 */ + +#endif /* BSP_USING_PWM_TMR6 */ + +#ifdef __cplusplus +} +#endif + +#endif /* __PWM_TMRA_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/qspi_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/qspi_config.h new file mode 100644 index 0000000000..b8e74bfae1 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/qspi_config.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-06-15 CDT first version + */ + +#ifndef __QSPI_CONFIG_H__ +#define __QSPI_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_QSPI +#ifndef QSPI_BUS_CONFIG +#define QSPI_BUS_CONFIG \ + { \ + .Instance = CM_QSPI, \ + .clock = FCG1_PERIPH_QSPI, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_QSPI_ERR_IRQ_NUM, \ + .irq_prio = BSP_QSPI_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_QSPI_INTR, \ + }, \ + } +#endif /* QSPI_BUS_CONFIG */ + +#ifndef QSPI_INIT_PARAMS +#define QSPI_INIT_PARAMS \ + { \ + .u32PrefetchMode = QSPI_PREFETCH_MD_INVD, \ + .u32SetupTime = QSPI_QSSN_SETUP_ADVANCE_QSCK0P5, \ + .u32ReleaseTime = QSPI_QSSN_RELEASE_DELAY_QSCK32, \ + .u32IntervalTime = QSPI_QSSN_INTERVAL_QSCK1, \ + } +#endif /* QSPI_INIT_PARAMS */ + +#define QSPI_WP_PIN_LEVEL QSPI_WP_PIN_HIGH + +#ifdef BSP_QSPI_USING_DMA +#ifndef QSPI_DMA_CONFIG +#define QSPI_DMA_CONFIG \ + { \ + .Instance = QSPI_DMA_INSTANCE, \ + .channel = QSPI_DMA_CHANNEL, \ + .clock = QSPI_DMA_CLOCK, \ + .trigger_select = QSPI_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_AOS_STRG, \ + .flag = QSPI_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = QSPI_DMA_IRQn, \ + .irq_prio = QSPI_DMA_INT_PRIO, \ + .int_src = QSPI_DMA_INT_SRC, \ + } \ + } +#endif /* QSPI_DMA_CONFIG */ +#endif /* BSP_QSPI_USING_DMA */ +#endif /* BSP_USING_SPI1 */ + +#ifdef __cplusplus +} +#endif + +#endif /*__QSPI_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/sdio_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/sdio_config.h new file mode 100644 index 0000000000..8d1d1bf897 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/sdio_config.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-14 CDT first version + */ + +#ifndef __SDIO_CONFIG_H__ +#define __SDIO_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#if defined(BSP_USING_SDIO1) +#ifndef SDIO1_BUS_CONFIG +#define SDIO1_BUS_CONFIG \ + { \ + .name = "sdio1", \ + .instance = CM_SDIOC1, \ + .clock = FCG1_PERIPH_SDIOC1, \ + .irq_config = \ + { \ + .irq_num = BSP_SDIO1_IRQ_NUM, \ + .irq_prio = BSP_SDIO1_IRQ_PRIO, \ + .int_src = INT_SRC_SDIOC1_SD, \ + }, \ + .dma_rx = \ + { \ + .Instance = SDIO1_RX_DMA_INSTANCE, \ + .channel = SDIO1_RX_DMA_CHANNEL, \ + .clock = SDIO1_RX_DMA_CLOCK, \ + .trigger_select = SDIO1_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SDIOC1_DMAR, \ + }, \ + .dma_tx = \ + { \ + .Instance = SDIO1_TX_DMA_INSTANCE, \ + .channel = SDIO1_TX_DMA_CHANNEL, \ + .clock = SDIO1_TX_DMA_CLOCK, \ + .trigger_select = SDIO1_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SDIOC1_DMAW, \ + }, \ + } +#endif /* SDIO1_BUS_CONFIG */ +#endif /* BSP_USING_SDIO1 */ + +#if defined(BSP_USING_SDIO2) +#ifndef SDIO2_BUS_CONFIG +#define SDIO2_BUS_CONFIG \ + { \ + .name = "sdio2", \ + .instance = CM_SDIOC2, \ + .clock = FCG1_PERIPH_SDIOC2, \ + .irq_config = \ + { \ + .irq_num = BSP_SDIO2_IRQ_NUM, \ + .irq_prio = BSP_SDIO2_IRQ_PRIO, \ + .int_src = INT_SRC_SDIOC2_SD, \ + }, \ + .dma_rx = \ + { \ + .Instance = SDIO2_RX_DMA_INSTANCE, \ + .channel = SDIO2_RX_DMA_CHANNEL, \ + .clock = SDIO2_RX_DMA_CLOCK, \ + .trigger_select = SDIO2_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SDIOC2_DMAR, \ + }, \ + .dma_tx = \ + { \ + .Instance = SDIO2_TX_DMA_INSTANCE, \ + .channel = SDIO2_TX_DMA_CHANNEL, \ + .clock = SDIO2_TX_DMA_CLOCK, \ + .trigger_select = SDIO2_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SDIOC2_DMAW, \ + }, \ + } +#endif /* SDIO2_BUS_CONFIG */ +#endif /* BSP_USING_SDIO2 */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/spi_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/spi_config.h new file mode 100644 index 0000000000..a839686bd3 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/spi_config.h @@ -0,0 +1,376 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __SPI_CONFIG_H__ +#define __SPI_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#ifdef BSP_USING_SPI1 +#ifndef SPI1_BUS_CONFIG +#define SPI1_BUS_CONFIG \ + { \ + .Instance = CM_SPI1, \ + .bus_name = "spi1", \ + .clock = FCG1_PERIPH_SPI1, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_SPI1_ERR_IRQ_NUM, \ + .irq_prio = BSP_SPI1_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_SPI1_SPEI, \ + }, \ + } +#endif /* SPI1_BUS_CONFIG */ +#endif /* BSP_USING_SPI1 */ + +#ifdef BSP_SPI1_TX_USING_DMA +#ifndef SPI1_TX_DMA_CONFIG +#define SPI1_TX_DMA_CONFIG \ + { \ + .Instance = SPI1_TX_DMA_INSTANCE, \ + .channel = SPI1_TX_DMA_CHANNEL, \ + .clock = SPI1_TX_DMA_CLOCK, \ + .trigger_select = SPI1_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI1_SPTI, \ + .flag = SPI1_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI1_TX_DMA_IRQn, \ + .irq_prio = SPI1_TX_DMA_INT_PRIO, \ + .int_src = SPI1_TX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI1_TX_DMA_CONFIG */ +#endif /* BSP_SPI1_TX_USING_DMA */ + +#ifdef BSP_SPI1_RX_USING_DMA +#ifndef SPI1_RX_DMA_CONFIG +#define SPI1_RX_DMA_CONFIG \ + { \ + .Instance = SPI1_RX_DMA_INSTANCE, \ + .channel = SPI1_RX_DMA_CHANNEL, \ + .clock = SPI1_RX_DMA_CLOCK, \ + .trigger_select = SPI1_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI1_SPRI, \ + .flag = SPI1_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI1_RX_DMA_IRQn, \ + .irq_prio = SPI1_RX_DMA_INT_PRIO, \ + .int_src = SPI1_RX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI1_RX_DMA_CONFIG */ +#endif /* BSP_SPI1_RX_USING_DMA */ + +#ifdef BSP_USING_SPI2 +#ifndef SPI2_BUS_CONFIG +#define SPI2_BUS_CONFIG \ + { \ + .Instance = CM_SPI2, \ + .bus_name = "spi2", \ + .clock = FCG1_PERIPH_SPI2, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_SPI2_ERR_IRQ_NUM, \ + .irq_prio = BSP_SPI2_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_SPI2_SPEI, \ + }, \ + } +#endif /* SPI2_BUS_CONFIG */ +#endif /* BSP_USING_SPI2 */ + +#ifdef BSP_SPI2_TX_USING_DMA +#ifndef SPI2_TX_DMA_CONFIG +#define SPI2_TX_DMA_CONFIG \ + { \ + .Instance = SPI2_TX_DMA_INSTANCE, \ + .channel = SPI2_TX_DMA_CHANNEL, \ + .clock = SPI2_TX_DMA_CLOCK, \ + .trigger_select = SPI2_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI2_SPTI, \ + .flag = SPI2_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI2_TX_DMA_IRQn, \ + .irq_prio = SPI2_TX_DMA_INT_PRIO, \ + .int_src = SPI2_TX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI2_TX_DMA_CONFIG */ +#endif /* BSP_SPI2_TX_USING_DMA */ + +#ifdef BSP_SPI2_RX_USING_DMA +#ifndef SPI2_RX_DMA_CONFIG +#define SPI2_RX_DMA_CONFIG \ + { \ + .Instance = SPI2_RX_DMA_INSTANCE, \ + .channel = SPI2_RX_DMA_CHANNEL, \ + .clock = SPI2_RX_DMA_CLOCK, \ + .trigger_select = SPI2_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI2_SPRI, \ + .flag = SPI2_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI2_RX_DMA_IRQn, \ + .irq_prio = SPI2_RX_DMA_INT_PRIO, \ + .int_src = SPI2_RX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI2_RX_DMA_CONFIG */ +#endif /* BSP_SPI2_RX_USING_DMA */ + +#ifdef BSP_USING_SPI3 +#ifndef SPI3_BUS_CONFIG +#define SPI3_BUS_CONFIG \ + { \ + .Instance = CM_SPI3, \ + .bus_name = "spi3", \ + .clock = FCG1_PERIPH_SPI3, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_SPI3_ERR_IRQ_NUM, \ + .irq_prio = BSP_SPI3_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_SPI3_SPEI, \ + }, \ + } +#endif /* SPI3_BUS_CONFIG */ +#endif /* BSP_USING_SPI3 */ + + +#ifdef BSP_SPI3_TX_USING_DMA +#ifndef SPI3_TX_DMA_CONFIG +#define SPI3_TX_DMA_CONFIG \ + { \ + .Instance = SPI3_TX_DMA_INSTANCE, \ + .channel = SPI3_TX_DMA_CHANNEL, \ + .clock = SPI3_TX_DMA_CLOCK, \ + .trigger_select = SPI3_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI3_SPTI, \ + .flag = SPI3_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI3_TX_DMA_IRQn, \ + .irq_prio = SPI3_TX_DMA_INT_PRIO, \ + .int_src = SPI3_TX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI3_TX_DMA_CONFIG */ +#endif /* BSP_SPI3_TX_USING_DMA */ + +#ifdef BSP_SPI3_RX_USING_DMA +#ifndef SPI3_RX_DMA_CONFIG +#define SPI3_RX_DMA_CONFIG \ + { \ + .Instance = SPI3_RX_DMA_INSTANCE, \ + .channel = SPI3_RX_DMA_CHANNEL, \ + .clock = SPI3_RX_DMA_CLOCK, \ + .trigger_select = SPI3_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI3_SPRI, \ + .flag = SPI3_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI3_RX_DMA_IRQn, \ + .irq_prio = SPI3_RX_DMA_INT_PRIO, \ + .int_src = SPI3_RX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI3_RX_DMA_CONFIG */ +#endif /* BSP_SPI3_RX_USING_DMA */ + +#ifdef BSP_USING_SPI4 +#ifndef SPI4_BUS_CONFIG +#define SPI4_BUS_CONFIG \ + { \ + .Instance = CM_SPI4, \ + .bus_name = "spi4", \ + .clock = FCG1_PERIPH_SPI4, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_SPI4_ERR_IRQ_NUM, \ + .irq_prio = BSP_SPI4_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_SPI4_SPEI, \ + }, \ + } +#endif /* SPI4_BUS_CONFIG */ +#endif /* BSP_USING_SPI4 */ + +#ifdef BSP_SPI4_TX_USING_DMA +#ifndef SPI4_TX_DMA_CONFIG +#define SPI4_TX_DMA_CONFIG \ + { \ + .Instance = SPI4_TX_DMA_INSTANCE, \ + .channel = SPI4_TX_DMA_CHANNEL, \ + .clock = SPI4_TX_DMA_CLOCK, \ + .trigger_select = SPI4_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI4_SPTI, \ + .flag = SPI4_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI4_TX_DMA_IRQn, \ + .irq_prio = SPI4_TX_DMA_INT_PRIO, \ + .int_src = SPI4_TX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI4_TX_DMA_CONFIG */ +#endif /* BSP_SPI4_TX_USING_DMA */ + +#ifdef BSP_SPI4_RX_USING_DMA +#ifndef SPI4_RX_DMA_CONFIG +#define SPI4_RX_DMA_CONFIG \ + { \ + .Instance = SPI4_RX_DMA_INSTANCE, \ + .channel = SPI4_RX_DMA_CHANNEL, \ + .clock = SPI4_RX_DMA_CLOCK, \ + .trigger_select = SPI4_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI4_SPRI, \ + .flag = SPI4_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI4_RX_DMA_IRQn, \ + .irq_prio = SPI4_RX_DMA_INT_PRIO, \ + .int_src = SPI4_RX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI4_RX_DMA_CONFIG */ +#endif /* BSP_SPI4_RX_USING_DMA */ + +#ifdef BSP_USING_SPI5 +#ifndef SPI5_BUS_CONFIG +#define SPI5_BUS_CONFIG \ + { \ + .Instance = CM_SPI5, \ + .bus_name = "spi5", \ + .clock = FCG1_PERIPH_SPI5, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_SPI5_ERR_IRQ_NUM, \ + .irq_prio = BSP_SPI5_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_SPI5_SPEI, \ + }, \ + } +#endif /* SPI5_BUS_CONFIG */ +#endif /* BSP_USING_SPI5 */ + +#ifdef BSP_SPI5_TX_USING_DMA +#ifndef SPI5_TX_DMA_CONFIG +#define SPI5_TX_DMA_CONFIG \ + { \ + .Instance = SPI5_TX_DMA_INSTANCE, \ + .channel = SPI5_TX_DMA_CHANNEL, \ + .clock = SPI5_TX_DMA_CLOCK, \ + .trigger_select = SPI5_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI5_SPTI, \ + .flag = SPI5_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI5_TX_DMA_IRQn, \ + .irq_prio = SPI5_TX_DMA_INT_PRIO, \ + .int_src = SPI5_TX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI5_TX_DMA_CONFIG */ +#endif /* BSP_SPI5_TX_USING_DMA */ + +#ifdef BSP_SPI5_RX_USING_DMA +#ifndef SPI5_RX_DMA_CONFIG +#define SPI5_RX_DMA_CONFIG \ + { \ + .Instance = SPI5_RX_DMA_INSTANCE, \ + .channel = SPI5_RX_DMA_CHANNEL, \ + .clock = SPI5_RX_DMA_CLOCK, \ + .trigger_select = SPI5_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI5_SPRI, \ + .flag = SPI5_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI5_RX_DMA_IRQn, \ + .irq_prio = SPI5_RX_DMA_INT_PRIO, \ + .int_src = SPI5_RX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI5_RX_DMA_CONFIG */ +#endif /* BSP_SPI5_RX_USING_DMA */ + +#ifdef BSP_USING_SPI6 +#ifndef SPI6_BUS_CONFIG +#define SPI6_BUS_CONFIG \ + { \ + .Instance = CM_SPI6, \ + .bus_name = "spi6", \ + .clock = FCG1_PERIPH_SPI6, \ + .timeout = 5000UL, \ + .err_irq.irq_config = \ + { \ + .irq_num = BSP_SPI6_ERR_IRQ_NUM, \ + .irq_prio = BSP_SPI6_ERR_IRQ_PRIO, \ + .int_src = INT_SRC_SPI6_SPEI, \ + }, \ + } +#endif /* SPI6_BUS_CONFIG */ +#endif /* BSP_USING_SPI6 */ + +#ifdef BSP_SPI6_TX_USING_DMA +#ifndef SPI6_TX_DMA_CONFIG +#define SPI6_TX_DMA_CONFIG \ + { \ + .Instance = SPI6_TX_DMA_INSTANCE, \ + .channel = SPI6_TX_DMA_CHANNEL, \ + .clock = SPI6_TX_DMA_CLOCK, \ + .trigger_select = SPI6_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI6_SPTI, \ + .flag = SPI6_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI6_TX_DMA_IRQn, \ + .irq_prio = SPI6_TX_DMA_INT_PRIO, \ + .int_src = SPI6_TX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI6_TX_DMA_CONFIG */ +#endif /* BSP_SPI6_TX_USING_DMA */ + +#ifdef BSP_SPI6_RX_USING_DMA +#ifndef SPI6_RX_DMA_CONFIG +#define SPI6_RX_DMA_CONFIG \ + { \ + .Instance = SPI6_RX_DMA_INSTANCE, \ + .channel = SPI6_RX_DMA_CHANNEL, \ + .clock = SPI6_RX_DMA_CLOCK, \ + .trigger_select = SPI6_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_SPI6_SPRI, \ + .flag = SPI6_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = SPI6_RX_DMA_IRQn, \ + .irq_prio = SPI6_RX_DMA_INT_PRIO, \ + .int_src = SPI6_RX_DMA_INT_SRC, \ + } \ + } +#endif /* SPI6_RX_DMA_CONFIG */ +#endif /* BSP_SPI6_RX_USING_DMA */ + + +#ifdef __cplusplus +} +#endif + +#endif /*__SPI_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/timer_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/timer_config.h new file mode 100644 index 0000000000..553ffc8629 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/timer_config.h @@ -0,0 +1,247 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-06-21 CDT first version + */ + +#ifndef __TMR_CONFIG_H__ +#define __TMR_CONFIG_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef BSP_USING_TMRA_1 +#ifndef TMRA_1_CONFIG +#define TMRA_1_CONFIG \ + { \ + .tmr_handle = CM_TMRA_1, \ + .clock_source = CLK_BUS_PCLK0, \ + .clock = FCG2_PERIPH_TMRA_1, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_1_OVF, \ + .enIRQn = BSP_USING_TMRA_1_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_1_IRQ_PRIO, \ + }, \ + .name = "tmra_1" \ + } +#endif /* TMRA_1_CONFIG */ +#endif /* BSP_USING_TMRA_1 */ + +#ifdef BSP_USING_TMRA_2 +#ifndef TMRA_2_CONFIG +#define TMRA_2_CONFIG \ + { \ + .tmr_handle = CM_TMRA_2, \ + .clock_source = CLK_BUS_PCLK0, \ + .clock = FCG2_PERIPH_TMRA_2, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_2_OVF, \ + .enIRQn = BSP_USING_TMRA_2_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_2_IRQ_PRIO, \ + }, \ + .name = "tmra_2" \ + } +#endif /* TMRA_2_CONFIG */ +#endif /* BSP_USING_TMRA_2 */ + +#ifdef BSP_USING_TMRA_3 +#ifndef TMRA_3_CONFIG +#define TMRA_3_CONFIG \ + { \ + .tmr_handle = CM_TMRA_3, \ + .clock_source = CLK_BUS_PCLK0, \ + .clock = FCG2_PERIPH_TMRA_3, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_3_OVF, \ + .enIRQn = BSP_USING_TMRA_3_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_3_IRQ_PRIO, \ + }, \ + .name = "tmra_3" \ + } +#endif /* TMRA_3_CONFIG */ +#endif /* BSP_USING_TMRA_3 */ + +#ifdef BSP_USING_TMRA_4 +#ifndef TMRA_4_CONFIG +#define TMRA_4_CONFIG \ + { \ + .tmr_handle = CM_TMRA_4, \ + .clock_source = CLK_BUS_PCLK0, \ + .clock = FCG2_PERIPH_TMRA_4, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_4_OVF, \ + .enIRQn = BSP_USING_TMRA_4_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_4_IRQ_PRIO, \ + }, \ + .name = "tmra_4" \ + } +#endif /* TMRA_4_CONFIG */ +#endif /* BSP_USING_TMRA_4 */ + +#ifdef BSP_USING_TMRA_5 +#ifndef TMRA_5_CONFIG +#define TMRA_5_CONFIG \ + { \ + .tmr_handle = CM_TMRA_5, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_5, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_5_OVF, \ + .enIRQn = BSP_USING_TMRA_5_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_5_IRQ_PRIO, \ + }, \ + .name = "tmra_5" \ + } +#endif /* TMRA_5_CONFIG */ +#endif /* BSP_USING_TMRA_5 */ + +#ifdef BSP_USING_TMRA_6 +#ifndef TMRA_6_CONFIG +#define TMRA_6_CONFIG \ + { \ + .tmr_handle = CM_TMRA_6, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_6, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_6_OVF, \ + .enIRQn = BSP_USING_TMRA_6_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_6_IRQ_PRIO, \ + }, \ + .name = "tmra_6" \ + } +#endif /* TMRA_6_CONFIG */ +#endif /* BSP_USING_TMRA_6 */ + +#ifdef BSP_USING_TMRA_7 +#ifndef TMRA_7_CONFIG +#define TMRA_7_CONFIG \ + { \ + .tmr_handle = CM_TMRA_7, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_7, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_7_OVF, \ + .enIRQn = BSP_USING_TMRA_7_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_7_IRQ_PRIO, \ + }, \ + .name = "tmra_7" \ + } +#endif /* TMRA_7_CONFIG */ +#endif /* BSP_USING_TMRA_7 */ + +#ifdef BSP_USING_TMRA_8 +#ifndef TMRA_8_CONFIG +#define TMRA_8_CONFIG \ + { \ + .tmr_handle = CM_TMRA_8, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_8, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_8_OVF, \ + .enIRQn = BSP_USING_TMRA_8_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_8_IRQ_PRIO, \ + }, \ + .name = "tmra_8" \ + } +#endif /* TMRA_8_CONFIG */ +#endif /* BSP_USING_TMRA_8 */ + +#ifdef BSP_USING_TMRA_9 +#ifndef TMRA_9_CONFIG +#define TMRA_9_CONFIG \ + { \ + .tmr_handle = CM_TMRA_9, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_9, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_9_OVF, \ + .enIRQn = BSP_USING_TMRA_9_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_9_IRQ_PRIO, \ + }, \ + .name = "tmra_9" \ + } +#endif /* TMRA_9_CONFIG */ +#endif /* BSP_USING_TMRA_9 */ + +#ifdef BSP_USING_TMRA_10 +#ifndef TMRA_10_CONFIG +#define TMRA_10_CONFIG \ + { \ + .tmr_handle = CM_TMRA_10, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_10, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_10_OVF, \ + .enIRQn = BSP_USING_TMRA_10_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_10_IRQ_PRIO, \ + }, \ + .name = "tmra_10" \ + } +#endif /* TMRA_10_CONFIG */ +#endif /* BSP_USING_TMRA_10 */ + +#ifdef BSP_USING_TMRA_11 +#ifndef TMRA_11_CONFIG +#define TMRA_11_CONFIG \ + { \ + .tmr_handle = CM_TMRA_11, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_11, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_11_OVF, \ + .enIRQn = BSP_USING_TMRA_11_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_11_IRQ_PRIO, \ + }, \ + .name = "tmra_11" \ + } +#endif /* TMRA_11_CONFIG */ +#endif /* BSP_USING_TMRA_11 */ + +#ifdef BSP_USING_TMRA_12 +#ifndef TMRA_12_CONFIG +#define TMRA_12_CONFIG \ + { \ + .tmr_handle = CM_TMRA_12, \ + .clock_source = CLK_BUS_PCLK1, \ + .clock = FCG2_PERIPH_TMRA_12, \ + .flag = TMRA_FLAG_OVF, \ + .isr = \ + { \ + .enIntSrc = INT_SRC_TMRA_12_OVF, \ + .enIRQn = BSP_USING_TMRA_12_IRQ_NUM, \ + .u8Int_Prio = BSP_USING_TMRA_12_IRQ_PRIO, \ + }, \ + .name = "tmra_12" \ + } +#endif /* TMRA_12_CONFIG */ +#endif /* BSP_USING_TMRA_12 */ +#endif /* __TMR_CONFIG_H__ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/uart_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/uart_config.h new file mode 100644 index 0000000000..e69b988d00 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/uart_config.h @@ -0,0 +1,728 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __UART_CONFIG_H__ +#define __UART_CONFIG_H__ + +#include +#include "irq_config.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +#if defined(BSP_USING_UART1) +#ifndef UART1_CONFIG +#define UART1_CONFIG \ + { \ + .name = "uart1", \ + .Instance = CM_USART1, \ + .clock = FCG3_PERIPH_USART1, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART1_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART1_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART1_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART1_RX_IRQ_NUM, \ + .irq_prio = BSP_UART1_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART1_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART1_TX_IRQ_NUM, \ + .irq_prio = BSP_UART1_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART1_TI, \ + }, \ + } +#endif /* UART1_CONFIG */ + +#if defined(BSP_UART1_RX_USING_DMA) +#ifndef UART1_DMA_RX_CONFIG +#define UART1_DMA_RX_CONFIG \ + { \ + .Instance = UART1_RX_DMA_INSTANCE, \ + .channel = UART1_RX_DMA_CHANNEL, \ + .clock = UART1_RX_DMA_CLOCK, \ + .trigger_select = UART1_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART1_RI, \ + .flag = UART1_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART1_RX_DMA_IRQn, \ + .irq_prio = UART1_RX_DMA_INT_PRIO, \ + .int_src = UART1_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART1_DMA_RX_CONFIG */ + +#ifndef UART1_RXTO_CONFIG +#define UART1_RXTO_CONFIG \ + { \ + .TMR0_Instance = CM_TMR0_1, \ + .channel = TMR0_CH_A, \ + .clock = FCG2_PERIPH_TMR0_1, \ + .timeout_bits = 20UL, \ + .irq_config = \ + { \ + .irq_num = BSP_UART1_RXTO_IRQ_NUM, \ + .irq_prio = BSP_UART1_RXTO_IRQ_PRIO, \ + .int_src = INT_SRC_USART1_RTO, \ + }, \ + } +#endif /* UART1_RXTO_CONFIG */ +#endif /* BSP_UART1_RX_USING_DMA */ + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART1_TX_USING_DMA) +#ifndef UART1_TX_CPLT_CONFIG +#define UART1_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART1_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART1_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART1_TCI, \ + }, \ + } +#endif +#elif defined(RT_USING_SERIAL_V2) +#ifndef UART1_TX_CPLT_CONFIG +#define UART1_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART1_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART1_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART1_TCI, \ + }, \ + } +#endif +#endif /* UART1_TX_CPLT_CONFIG */ + +#if defined(BSP_UART1_TX_USING_DMA) +#ifndef UART1_DMA_TX_CONFIG +#define UART1_DMA_TX_CONFIG \ + { \ + .Instance = UART1_TX_DMA_INSTANCE, \ + .channel = UART1_TX_DMA_CHANNEL, \ + .clock = UART1_TX_DMA_CLOCK, \ + .trigger_select = UART1_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART1_TI, \ + .flag = UART1_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART1_TX_DMA_IRQn, \ + .irq_prio = UART1_TX_DMA_INT_PRIO, \ + .int_src = UART1_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART1_DMA_TX_CONFIG */ +#endif /* BSP_UART1_TX_USING_DMA */ +#endif /* BSP_USING_UART1 */ + +#if defined(BSP_USING_UART2) +#ifndef UART2_CONFIG +#define UART2_CONFIG \ + { \ + .name = "uart2", \ + .Instance = CM_USART2, \ + .clock = FCG3_PERIPH_USART2, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART2_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART2_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART2_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART2_RX_IRQ_NUM, \ + .irq_prio = BSP_UART2_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART2_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART2_TX_IRQ_NUM, \ + .irq_prio = BSP_UART2_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART2_TI, \ + }, \ + } +#endif /* UART2_CONFIG */ + +#if defined(BSP_UART2_RX_USING_DMA) +#ifndef UART2_DMA_RX_CONFIG +#define UART2_DMA_RX_CONFIG \ + { \ + .Instance = UART2_RX_DMA_INSTANCE, \ + .channel = UART2_RX_DMA_CHANNEL, \ + .clock = UART2_RX_DMA_CLOCK, \ + .trigger_select = UART2_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART2_RI, \ + .flag = UART2_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART2_RX_DMA_IRQn, \ + .irq_prio = UART2_RX_DMA_INT_PRIO, \ + .int_src = UART2_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART2_DMA_RX_CONFIG */ + +#ifndef UART2_RXTO_CONFIG +#define UART2_RXTO_CONFIG \ + { \ + .TMR0_Instance = CM_TMR0_1, \ + .channel = TMR0_CH_B, \ + .clock = FCG2_PERIPH_TMR0_1, \ + .timeout_bits = 20UL, \ + .irq_config = \ + { \ + .irq_num = BSP_UART2_RXTO_IRQ_NUM, \ + .irq_prio = BSP_UART2_RXTO_IRQ_PRIO, \ + .int_src = INT_SRC_USART2_RTO, \ + }, \ + } +#endif /* UART2_RXTO_CONFIG */ +#endif /* BSP_UART2_RX_USING_DMA */ + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART2_TX_USING_DMA) +#ifndef UART2_TX_CPLT_CONFIG +#define UART2_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART2_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART2_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART2_TCI, \ + }, \ + } +#endif +#elif defined(RT_USING_SERIAL_V2) +#ifndef UART2_TX_CPLT_CONFIG +#define UART2_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART2_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART2_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART2_TCI, \ + }, \ + } +#endif +#endif /* UART2_TX_CPLT_CONFIG */ + +#if defined(BSP_UART2_TX_USING_DMA) +#ifndef UART2_DMA_TX_CONFIG +#define UART2_DMA_TX_CONFIG \ + { \ + .Instance = UART2_TX_DMA_INSTANCE, \ + .channel = UART2_TX_DMA_CHANNEL, \ + .clock = UART2_TX_DMA_CLOCK, \ + .trigger_select = UART2_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART2_TI, \ + .flag = UART2_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART2_TX_DMA_IRQn, \ + .irq_prio = UART2_TX_DMA_INT_PRIO, \ + .int_src = UART2_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART2_DMA_TX_CONFIG */ +#endif /* BSP_UART2_TX_USING_DMA */ +#endif /* BSP_USING_UART2 */ + +#if defined(BSP_USING_UART3) +#ifndef UART3_CONFIG +#define UART3_CONFIG \ + { \ + .name = "uart3", \ + .Instance = CM_USART3, \ + .clock = FCG3_PERIPH_USART3, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART3_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART3_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART3_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART3_RX_IRQ_NUM, \ + .irq_prio = BSP_UART3_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART3_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART3_TX_IRQ_NUM, \ + .irq_prio = BSP_UART3_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART3_TI, \ + }, \ + } +#endif /* UART3_CONFIG */ + +#if defined(RT_USING_SERIAL_V2) +#ifndef UART3_TX_CPLT_CONFIG +#define UART3_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART3_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART3_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART3_TCI, \ + }, \ + } +#endif +#endif /* UART3_TX_CPLT_CONFIG */ +#endif /* BSP_USING_UART3 */ + +#if defined(BSP_USING_UART4) +#ifndef UART4_CONFIG +#define UART4_CONFIG \ + { \ + .name = "uart4", \ + .Instance = CM_USART4, \ + .clock = FCG3_PERIPH_USART4, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART4_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART4_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART4_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART4_RX_IRQ_NUM, \ + .irq_prio = BSP_UART4_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART4_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART4_TX_IRQ_NUM, \ + .irq_prio = BSP_UART4_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART4_TI, \ + }, \ + } +#endif /* UART4_CONFIG */ + +#if defined(RT_USING_SERIAL_V2) +#ifndef UART4_TX_CPLT_CONFIG +#define UART4_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART4_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART4_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART4_TCI, \ + }, \ + } +#endif +#endif /* UART4_TX_CPLT_CONFIG */ +#endif /* BSP_USING_UART4 */ + +#if defined(BSP_USING_UART5) +#ifndef UART5_CONFIG +#define UART5_CONFIG \ + { \ + .name = "uart5", \ + .Instance = CM_USART5, \ + .clock = FCG3_PERIPH_USART5, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART5_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART5_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART5_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART5_RX_IRQ_NUM, \ + .irq_prio = BSP_UART5_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART5_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART5_TX_IRQ_NUM, \ + .irq_prio = BSP_UART5_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART5_TI, \ + }, \ + } +#endif /* UART5_CONFIG */ + +#if defined(RT_USING_SERIAL_V2) +#ifndef UART5_TX_CPLT_CONFIG +#define UART5_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART5_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART5_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART5_TCI, \ + }, \ + } +#endif +#endif /* UART5_TX_CPLT_CONFIG */ +#endif /* BSP_USING_UART5 */ + +#if defined(BSP_USING_UART6) +#ifndef UART6_CONFIG +#define UART6_CONFIG \ + { \ + .name = "uart6", \ + .Instance = CM_USART6, \ + .clock = FCG3_PERIPH_USART6, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART6_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART6_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART6_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART6_RX_IRQ_NUM, \ + .irq_prio = BSP_UART6_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART6_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART6_TX_IRQ_NUM, \ + .irq_prio = BSP_UART6_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART6_TI, \ + }, \ + } +#endif /* UART6_CONFIG */ + +#if defined(BSP_UART6_RX_USING_DMA) +#ifndef UART6_DMA_RX_CONFIG +#define UART6_DMA_RX_CONFIG \ + { \ + .Instance = UART6_RX_DMA_INSTANCE, \ + .channel = UART6_RX_DMA_CHANNEL, \ + .clock = UART6_RX_DMA_CLOCK, \ + .trigger_select = UART6_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART6_RI, \ + .flag = UART6_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART6_RX_DMA_IRQn, \ + .irq_prio = UART6_RX_DMA_INT_PRIO, \ + .int_src = UART6_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART6_DMA_RX_CONFIG */ + +#ifndef UART6_RXTO_CONFIG +#define UART6_RXTO_CONFIG \ + { \ + .TMR0_Instance = CM_TMR0_2, \ + .channel = TMR0_CH_A, \ + .clock = FCG2_PERIPH_TMR0_2, \ + .timeout_bits = 20UL, \ + .irq_config = \ + { \ + .irq_num = BSP_UART6_RXTO_IRQ_NUM, \ + .irq_prio = BSP_UART6_RXTO_IRQ_PRIO, \ + .int_src = INT_SRC_USART6_RTO, \ + }, \ + } +#endif /* UART6_RXTO_CONFIG */ +#endif /* BSP_UART6_RX_USING_DMA */ + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART6_TX_USING_DMA) +#ifndef UART6_TX_CPLT_CONFIG +#define UART6_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART6_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART6_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART6_TCI, \ + }, \ + } +#endif +#elif defined(RT_USING_SERIAL_V2) +#ifndef UART6_TX_CPLT_CONFIG +#define UART6_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART6_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART6_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART6_TCI, \ + }, \ + } +#endif +#endif /* UART6_TX_CPLT_CONFIG */ + +#if defined(BSP_UART6_TX_USING_DMA) +#ifndef UART6_DMA_TX_CONFIG +#define UART6_DMA_TX_CONFIG \ + { \ + .Instance = UART6_TX_DMA_INSTANCE, \ + .channel = UART6_TX_DMA_CHANNEL, \ + .clock = UART6_TX_DMA_CLOCK, \ + .trigger_select = UART6_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART6_TI, \ + .flag = UART6_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART6_TX_DMA_IRQn, \ + .irq_prio = UART6_TX_DMA_INT_PRIO, \ + .int_src = UART6_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART6_DMA_TX_CONFIG */ +#endif /* BSP_UART6_TX_USING_DMA */ +#endif /* BSP_USING_UART6 */ + +#if defined(BSP_USING_UART7) +#ifndef UART7_CONFIG +#define UART7_CONFIG \ + { \ + .name = "uart7", \ + .Instance = CM_USART7, \ + .clock = FCG3_PERIPH_USART7, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART7_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART7_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART7_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART7_RX_IRQ_NUM, \ + .irq_prio = BSP_UART7_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART7_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART7_TX_IRQ_NUM, \ + .irq_prio = BSP_UART7_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART7_TI, \ + }, \ + } +#endif /* UART7_CONFIG */ + +#if defined(BSP_UART7_RX_USING_DMA) +#ifndef UART7_DMA_RX_CONFIG +#define UART7_DMA_RX_CONFIG \ + { \ + .Instance = UART7_RX_DMA_INSTANCE, \ + .channel = UART7_RX_DMA_CHANNEL, \ + .clock = UART7_RX_DMA_CLOCK, \ + .trigger_select = UART7_RX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART7_RI, \ + .flag = UART7_RX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART7_RX_DMA_IRQn, \ + .irq_prio = UART7_RX_DMA_INT_PRIO, \ + .int_src = UART7_RX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART7_DMA_RX_CONFIG */ + +#ifndef UART7_RXTO_CONFIG +#define UART7_RXTO_CONFIG \ + { \ + .TMR0_Instance = CM_TMR0_2, \ + .channel = TMR0_CH_B, \ + .clock = FCG2_PERIPH_TMR0_2, \ + .timeout_bits = 20UL, \ + .irq_config = \ + { \ + .irq_num = BSP_UART7_RXTO_IRQ_NUM, \ + .irq_prio = BSP_UART7_RXTO_IRQ_PRIO, \ + .int_src = INT_SRC_USART7_RTO, \ + }, \ + } +#endif /* UART7_RXTO_CONFIG */ +#endif /* BSP_UART7_RX_USING_DMA */ + +#if defined(RT_USING_SERIAL_V1) && defined(BSP_UART7_TX_USING_DMA) +#ifndef UART7_TX_CPLT_CONFIG +#define UART7_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART7_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART7_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART7_TCI, \ + }, \ + } +#endif +#elif defined(RT_USING_SERIAL_V2) +#ifndef UART7_TX_CPLT_CONFIG +#define UART7_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART7_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART7_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART7_TCI, \ + }, \ + } +#endif +#endif /* UART7_TX_CPLT_CONFIG */ + +#if defined(BSP_UART7_TX_USING_DMA) +#ifndef UART7_DMA_TX_CONFIG +#define UART7_DMA_TX_CONFIG \ + { \ + .Instance = UART7_TX_DMA_INSTANCE, \ + .channel = UART7_TX_DMA_CHANNEL, \ + .clock = UART7_TX_DMA_CLOCK, \ + .trigger_select = UART7_TX_DMA_TRIG_SELECT, \ + .trigger_event = EVT_SRC_USART7_TI, \ + .flag = UART1_TX_DMA_TRANS_FLAG, \ + .irq_config = \ + { \ + .irq_num = UART7_TX_DMA_IRQn, \ + .irq_prio = UART7_TX_DMA_INT_PRIO, \ + .int_src = UART7_TX_DMA_INT_SRC, \ + }, \ + } +#endif /* UART7_DMA_TX_CONFIG */ +#endif /* BSP_UART7_TX_USING_DMA */ +#endif /* BSP_USING_UART7 */ + +#if defined(BSP_USING_UART8) +#ifndef UART8_CONFIG +#define UART8_CONFIG \ + { \ + .name = "uart8", \ + .Instance = CM_USART8, \ + .clock = FCG3_PERIPH_USART8, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART8_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART8_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART8_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART8_RX_IRQ_NUM, \ + .irq_prio = BSP_UART8_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART8_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART8_TX_IRQ_NUM, \ + .irq_prio = BSP_UART8_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART8_TI, \ + }, \ + } +#endif /* UART8_CONFIG */ + +#if defined(RT_USING_SERIAL_V2) +#ifndef UART8_TX_CPLT_CONFIG +#define UART8_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART8_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART8_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART8_TCI, \ + }, \ + } +#endif +#endif /* UART8_TX_CPLT_CONFIG */ +#endif /* BSP_USING_UART8 */ + +#if defined(BSP_USING_UART9) +#ifndef UART9_CONFIG +#define UART9_CONFIG \ + { \ + .name = "uart9", \ + .Instance = CM_USART9, \ + .clock = FCG3_PERIPH_USART9, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART9_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART9_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART9_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART9_RX_IRQ_NUM, \ + .irq_prio = BSP_UART9_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART9_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART9_TX_IRQ_NUM, \ + .irq_prio = BSP_UART9_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART9_TI, \ + }, \ + } +#endif /* UART9_CONFIG */ + +#if defined(RT_USING_SERIAL_V2) +#ifndef UART9_TX_CPLT_CONFIG +#define UART9_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART9_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART9_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART9_TCI, \ + }, \ + } +#endif +#endif /* UART9_TX_CPLT_CONFIG */ +#endif /* BSP_USING_UART9 */ + +#if defined(BSP_USING_UART10) +#ifndef UART10_CONFIG +#define UART10_CONFIG \ + { \ + .name = "uart10", \ + .Instance = CM_USART10, \ + .clock = FCG3_PERIPH_USART10, \ + .rxerr_irq.irq_config = \ + { \ + .irq_num = BSP_UART10_RXERR_IRQ_NUM, \ + .irq_prio = BSP_UART10_RXERR_IRQ_PRIO, \ + .int_src = INT_SRC_USART10_EI, \ + }, \ + .rx_irq.irq_config = \ + { \ + .irq_num = BSP_UART10_RX_IRQ_NUM, \ + .irq_prio = BSP_UART10_RX_IRQ_PRIO, \ + .int_src = INT_SRC_USART10_RI, \ + }, \ + .tx_irq.irq_config = \ + { \ + .irq_num = BSP_UART10_TX_IRQ_NUM, \ + .irq_prio = BSP_UART10_TX_IRQ_PRIO, \ + .int_src = INT_SRC_USART10_TI, \ + }, \ + } +#endif /* UART10_CONFIG */ + +#if defined(RT_USING_SERIAL_V2) +#ifndef UART10_TX_CPLT_CONFIG +#define UART10_TX_CPLT_CONFIG \ + { \ + .irq_config = \ + { \ + .irq_num = BSP_UART10_TX_CPLT_IRQ_NUM, \ + .irq_prio = BSP_UART10_TX_CPLT_IRQ_PRIO, \ + .int_src = INT_SRC_USART10_TCI, \ + }, \ + } +#endif +#endif /* UART10_TX_CPLT_CONFIG */ +#endif /* BSP_USING_UART10 */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_app_conf.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_app_conf.h new file mode 100644 index 0000000000..52d43fca67 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_app_conf.h @@ -0,0 +1,164 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-14 CDT first version + */ + +#ifndef __USB_APP_CONF_H__ +#define __USB_APP_CONF_H__ + +/* C binding of definitions if building with C++ compiler */ +#ifdef __cplusplus +extern "C" +{ +#endif + +/******************************************************************************* + * Include files + ******************************************************************************/ +#include "rtconfig.h" + +/* USB MODE CONFIGURATION */ +/* +USB_FS_MODE, USB_HS_MODE, USB_HS_EXTERNAL_PHY defined comment +(1) If only defined USB_FS_MODE: + MCU USBFS core work in full speed using internal PHY. +(2) If only defined USB_HS_MODE: + MCU USBHS core work in full speed using internal PHY. +(3) If both defined USB_HS_MODE && USB_HS_EXTERNAL_PHY + MCU USBHS core work in high speed using external PHY. +(4) Other combination: + Not support, forbid!! +*/ + +#if defined(BSP_USING_USBHS) +#define USB_HS_MODE +#elif defined(BSP_USING_USBFS) +#define USB_FS_MODE +#else +#define USB_FS_MODE +#endif + +#if defined(BSP_USING_USBD) +#define USE_DEVICE_MODE +#elif defined(BSP_USING_USBH) +#define USE_HOST_MODE +#else +#define USE_DEVICE_MODE +#endif + +#if defined(USB_HS_MODE) && defined(BSP_USING_USBHS_PHY_EXTERN) +#define USB_HS_EXTERNAL_PHY +#endif + +#ifndef USB_HS_MODE +#ifndef USB_FS_MODE +#error "USB_HS_MODE or USB_FS_MODE should be defined" +#endif +#endif + +#ifndef USE_DEVICE_MODE +#ifndef USE_HOST_MODE +#error "USE_DEVICE_MODE or USE_HOST_MODE should be defined" +#endif +#endif + +#if defined(BSP_USING_USBD) +/* USB DEVICE FIFO CONFIGURATION */ +#ifdef USB_FS_MODE +#define RX_FIFO_FS_SIZE (128U) +#define TX0_FIFO_FS_SIZE (32U) +#define TX1_FIFO_FS_SIZE (32U) +#define TX2_FIFO_FS_SIZE (32U) +#define TX3_FIFO_FS_SIZE (32U) +#define TX4_FIFO_FS_SIZE (32U) +#define TX5_FIFO_FS_SIZE (32U) +#define TX6_FIFO_FS_SIZE (32U) +#define TX7_FIFO_FS_SIZE (32U) +#define TX8_FIFO_FS_SIZE (32U) +#define TX9_FIFO_FS_SIZE (32U) +#define TX10_FIFO_FS_SIZE (32U) +#define TX11_FIFO_FS_SIZE (32U) +#define TX12_FIFO_FS_SIZE (32U) +#define TX13_FIFO_FS_SIZE (32U) +#define TX14_FIFO_FS_SIZE (32U) +#define TX15_FIFO_FS_SIZE (32U) + +#if ((RX_FIFO_FS_SIZE + \ + TX0_FIFO_FS_SIZE + TX1_FIFO_FS_SIZE + TX2_FIFO_FS_SIZE + TX3_FIFO_FS_SIZE + TX4_FIFO_FS_SIZE + \ + TX5_FIFO_FS_SIZE + TX6_FIFO_FS_SIZE + TX7_FIFO_FS_SIZE + TX8_FIFO_FS_SIZE + TX9_FIFO_FS_SIZE + \ + TX10_FIFO_FS_SIZE + TX11_FIFO_FS_SIZE + TX12_FIFO_FS_SIZE + TX13_FIFO_FS_SIZE + TX14_FIFO_FS_SIZE + \ + TX15_FIFO_FS_SIZE) > 640U) +#error "The USB max FIFO size is 640 x 4 Bytes!" +#endif +#endif + +#ifdef USB_HS_MODE +#define RX_FIFO_HS_SIZE (512U) +#define TX0_FIFO_HS_SIZE (64U) +#define TX1_FIFO_HS_SIZE (64U) +#define TX2_FIFO_HS_SIZE (64U) +#define TX3_FIFO_HS_SIZE (64U) +#define TX4_FIFO_HS_SIZE (64U) +#define TX5_FIFO_HS_SIZE (64U) +#define TX6_FIFO_HS_SIZE (64U) +#define TX7_FIFO_HS_SIZE (64U) +#define TX8_FIFO_HS_SIZE (64U) +#define TX9_FIFO_HS_SIZE (64U) +#define TX10_FIFO_HS_SIZE (64U) +#define TX11_FIFO_HS_SIZE (64U) +#define TX12_FIFO_HS_SIZE (64U) +#define TX13_FIFO_HS_SIZE (64U) +#define TX14_FIFO_HS_SIZE (64U) +#define TX15_FIFO_HS_SIZE (64U) + +#if ((RX_FIFO_HS_SIZE + \ + TX0_FIFO_HS_SIZE + TX1_FIFO_HS_SIZE + TX2_FIFO_HS_SIZE + TX3_FIFO_HS_SIZE + TX4_FIFO_HS_SIZE + \ + TX5_FIFO_HS_SIZE + TX6_FIFO_HS_SIZE + TX7_FIFO_HS_SIZE + TX8_FIFO_HS_SIZE + TX9_FIFO_HS_SIZE + \ + TX10_FIFO_HS_SIZE + TX11_FIFO_HS_SIZE + TX12_FIFO_HS_SIZE + TX13_FIFO_HS_SIZE + TX14_FIFO_HS_SIZE + \ + TX15_FIFO_HS_SIZE) > 2048U) +#error "The USB max FIFO size is 2048 x 4 Bytes!" +#endif +#endif + +#if defined(BSP_USING_USBD_VBUS_SENSING) +#define VBUS_SENSING_ENABLED +#endif +#endif + +#if defined(BSP_USING_USBH) +/* USB HOST FIFO CONFIGURATION */ +#ifdef USB_FS_MODE +#define RX_FIFO_FS_SIZE (128U) +#define TXH_NP_FS_FIFOSIZ (32U) +#define TXH_P_FS_FIFOSIZ (64U) + +#if ((RX_FIFO_FS_SIZE + TXH_NP_FS_FIFOSIZ + TXH_P_FS_FIFOSIZ) > 640U) +#error "The USB max FIFO size is 640 x 4 Bytes!" +#endif +#endif + +#ifdef USB_HS_MODE +#define RX_FIFO_HS_SIZE (512U) +#define TXH_NP_HS_FIFOSIZ (128U) +#define TXH_P_HS_FIFOSIZ (256U) + +#if ((RX_FIFO_FS_SIZE + TXH_NP_FS_FIFOSIZ + TXH_P_FS_FIFOSIZ) > 2048U) +#error "The USB max FIFO size is 2048 x 4 Bytes!" +#endif +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __USB_APP_CONF_H__ */ + +/******************************************************************************* + * EOF (not truncated) + ******************************************************************************/ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_bsp.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_bsp.h new file mode 100644 index 0000000000..76b5b37d81 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/config/usb_config/usb_bsp.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-14 CDT first version + */ + +#ifndef __USB_BSP_H__ +#define __USB_BSP_H__ + +/* C binding of definitions if building with C++ compiler */ +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "hc32_ll_utility.h" + +extern void usb_udelay(const uint32_t usec); +extern void usb_mdelay(const uint32_t msec); + +/** + * @} + */ + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __USB_BSP_H__ */ + +/******************************************************************************* + * EOF (not truncated) + ******************************************************************************/ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/drv_config.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/drv_config.h new file mode 100644 index 0000000000..6ec87e9ee9 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/drv_config.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __DRV_CONFIG_H__ +#define __DRV_CONFIG_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dma_config.h" +#include "uart_config.h" +#include "spi_config.h" +#include "adc_config.h" +#include "dac_config.h" +#include "gpio_config.h" +#include "eth_config.h" +#include "can_config.h" +#include "sdio_config.h" +#include "pm_config.h" +#include "i2c_config.h" +#include "qspi_config.h" +#include "pulse_encoder_config.h" +#include "timer_config.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/hc32f4xx_conf.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/hc32f4xx_conf.h new file mode 100644 index 0000000000..7d733e221a --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/hc32f4xx_conf.h @@ -0,0 +1,204 @@ +/** + ******************************************************************************* + * @file template/source/hc32f4xx_conf.h + * @brief This file contains HC32 Series Device Driver Library usage management. + @verbatim + Change Logs: + Date Author Notes + 2022-03-31 CDT First version + @endverbatim + ******************************************************************************* + * Copyright (C) 2022-2023, Xiaohua Semiconductor Co., Ltd. All rights reserved. + * + * This software component is licensed by XHSC under BSD 3-Clause license + * (the "License"); You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + */ +#ifndef __HC32F4XX_CONF_H__ +#define __HC32F4XX_CONF_H__ + +/******************************************************************************* + * Include files + ******************************************************************************/ +#include + +/* C binding of definitions if building with C++ compiler */ +#ifdef __cplusplus +extern "C" +{ +#endif + +/******************************************************************************* + * Global type definitions ('typedef') + ******************************************************************************/ + +/******************************************************************************* + * Global pre-processor symbols/macros ('#define') + ******************************************************************************/ + +/** + * @brief This is the list of modules to be used in the Device Driver Library. + * Select the modules you need to use to DDL_ON. + * @note LL_ICG_ENABLE must be turned on(DDL_ON) to ensure that the chip works + * properly. + * @note LL_UTILITY_ENABLE must be turned on(DDL_ON) if using Device Driver + * Library. + * @note LL_PRINT_ENABLE must be turned on(DDL_ON) if using printf function. + */ +#define LL_ICG_ENABLE (DDL_ON) +#define LL_UTILITY_ENABLE (DDL_ON) +#define LL_PRINT_ENABLE (DDL_OFF) + +#define LL_ADC_ENABLE (DDL_ON) +#define LL_AES_ENABLE (DDL_ON) +#define LL_AOS_ENABLE (DDL_ON) +#define LL_CAN_ENABLE (DDL_ON) +#define LL_CLK_ENABLE (DDL_ON) +#define LL_CMP_ENABLE (DDL_ON) +#define LL_CRC_ENABLE (DDL_ON) +#define LL_CTC_ENABLE (DDL_ON) +#define LL_DAC_ENABLE (DDL_ON) +#define LL_DBGC_ENABLE (DDL_OFF) +#define LL_DCU_ENABLE (DDL_ON) +#define LL_DMA_ENABLE (DDL_ON) +#define LL_DMC_ENABLE (DDL_ON) +#define LL_DVP_ENABLE (DDL_ON) +#define LL_EFM_ENABLE (DDL_ON) +#define LL_EMB_ENABLE (DDL_ON) +#define LL_ETH_ENABLE (DDL_ON) +#define LL_EVENT_PORT_ENABLE (DDL_OFF) +#define LL_FCG_ENABLE (DDL_ON) +#define LL_FCM_ENABLE (DDL_ON) +#define LL_FMAC_ENABLE (DDL_ON) +#define LL_GPIO_ENABLE (DDL_ON) +#define LL_HASH_ENABLE (DDL_ON) +#define LL_HRPWM_ENABLE (DDL_ON) +#define LL_I2C_ENABLE (DDL_ON) +#define LL_I2S_ENABLE (DDL_ON) +#define LL_INTERRUPTS_ENABLE (DDL_ON) +#define LL_INTERRUPTS_SHARE_ENABLE (DDL_ON) +#define LL_KEYSCAN_ENABLE (DDL_ON) +#define LL_MAU_ENABLE (DDL_ON) +#define LL_MPU_ENABLE (DDL_ON) +#define LL_NFC_ENABLE (DDL_ON) +#define LL_OTS_ENABLE (DDL_ON) +#define LL_PWC_ENABLE (DDL_ON) +#define LL_QSPI_ENABLE (DDL_ON) +#define LL_RMU_ENABLE (DDL_ON) +#define LL_RTC_ENABLE (DDL_ON) +#define LL_SDIOC_ENABLE (DDL_ON) +#define LL_SMC_ENABLE (DDL_ON) +#define LL_SPI_ENABLE (DDL_ON) +#define LL_SRAM_ENABLE (DDL_ON) +#define LL_SWDT_ENABLE (DDL_ON) +#define LL_TMR0_ENABLE (DDL_ON) +#define LL_TMR2_ENABLE (DDL_ON) +#define LL_TMR4_ENABLE (DDL_ON) +#define LL_TMR6_ENABLE (DDL_ON) +#define LL_TMRA_ENABLE (DDL_ON) +#define LL_TRNG_ENABLE (DDL_ON) +#define LL_USART_ENABLE (DDL_ON) +#define LL_USB_ENABLE (DDL_ON) +#define LL_WDT_ENABLE (DDL_ON) + +/** + * @brief The following is a list of currently supported BSP boards. + */ +#define BSP_EV_HC32F4A0_LQFP176 (1U) + +/** + * @brief The macro BSP_EV_HC32F4XX is used to specify the BSP board currently + * in use. + * The value should be set to one of the list of currently supported BSP boards. + * @note If there is no supported BSP board or the BSP function is not used, + * the value needs to be set to 0U. + */ +#define BSP_EV_HC32F4XX (BSP_EV_HC32F4A0_LQFP176) + +/** + * @brief This is the list of BSP components to be used. + * Select the components you need to use to DDL_ON. + */ +#define BSP_24CXX_ENABLE (DDL_OFF) +#define BSP_GT9XX_ENABLE (DDL_OFF) +#define BSP_IS42S16400J7TLI_ENABLE (DDL_OFF) +#define BSP_IS62WV51216_ENABLE (DDL_OFF) +#define BSP_MT29F2G08AB_ENABLE (DDL_OFF) +#define BSP_NT35510_ENABLE (DDL_OFF) +#define BSP_OV5640_ENABLE (DDL_OFF) +#define BSP_TCA9539_ENABLE (DDL_OFF) +#define BSP_W25QXX_ENABLE (DDL_OFF) +#define BSP_WM8731_ENABLE (DDL_OFF) + +/** + * @brief Ethernet and PHY Configuration. + */ +/* MAC ADDRESS */ +#define ETH_MAC_ADDR0 (0x02U) +#define ETH_MAC_ADDR1 (0x00U) +#define ETH_MAC_ADDR2 (0x00U) +#define ETH_MAC_ADDR3 (0x00U) +#define ETH_MAC_ADDR4 (0x00U) +#define ETH_MAC_ADDR5 (0x00U) + +/* Common PHY Registers */ +#define PHY_BCR (0x00U) /*!< Basic Control Register */ +#define PHY_BSR (0x01U) /*!< Basic Status Register */ + +#define PHY_SOFT_RESET (0x8000U) /*!< PHY Soft Reset */ +#define PHY_LOOPBACK (0x4000U) /*!< Select loop-back mode */ +#define PHY_FULLDUPLEX_100M (0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ +#define PHY_HALFDUPLEX_100M (0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ +#define PHY_FULLDUPLEX_10M (0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ +#define PHY_HALFDUPLEX_10M (0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ +#define PHY_AUTONEGOTIATION (0x1000U) /*!< Enable auto-negotiation function */ +#define PHY_POWERDOWN (0x0800U) /*!< Select the power down mode */ +#define PHY_ISOLATE (0x0400U) /*!< Isolate PHY from MII */ +#define PHY_RESTART_AUTONEGOTIATION (0x0200U) /*!< Restart auto-negotiation function */ + +#define PHY_100BASE_TX_FD (0x4000U) /*!< 100Base-TX full duplex support */ +#define PHY_100BASE_TX_HD (0x2000U) /*!< 100Base-TX half duplex support */ +#define PHY_10BASE_T_FD (0x1000U) /*!< 10Base-T full duplex support */ +#define PHY_10BASE_T_HD (0x0800U) /*!< 10Base-T half duplex support */ +#define PHY_AUTONEGO_COMPLETE (0x0020U) /*!< Auto-Negotiation process completed */ +#define PHY_LINK_STATUS (0x0004U) /*!< Valid link established */ +#define PHY_JABBER_DETECTION (0x0002U) /*!< Jabber condition detected */ + +#if defined (ETH_PHY_USING_RTL8201F) +/* PHY(RTL8201F) Address*/ +#define ETH_PHY_ADDR (0x00U) + +/* PHY Configuration delay(ms) */ +#define ETH_PHY_RST_DELAY (0x0080UL) +#define ETH_PHY_CONFIG_DELAY (0x0800UL) +#define ETH_PHY_RD_TIMEOUT (0x0005UL) +#define ETH_PHY_WR_TIMEOUT (0x0005UL) + +/* PHY Status Register */ +#define PHY_SR (PHY_BCR) /*!< PHY status register */ + +#define PHY_DUPLEX_STATUS (PHY_FULLDUPLEX_10M) /*!< PHY Duplex mask */ +#define PHY_SPEED_STATUS (PHY_HALFDUPLEX_100M) /*!< PHY Speed mask */ + +#endif + +/******************************************************************************* + * Global variable definitions ('extern') + ******************************************************************************/ + +/******************************************************************************* + * Global function prototypes (definition in C source) + ******************************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif /* __HC32F4XX_CONF_H__ */ + +/******************************************************************************* + * EOF (not truncated) + ******************************************************************************/ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.icf b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.icf new file mode 100644 index 0000000000..863d995ff9 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.icf @@ -0,0 +1,115 @@ +/***************************************************************************//** + * \file HC32F4A0.icf + * \version 1.0 + * + * \brief Linker file for the IAR compiler. + * +******************************************************************************** +* \copyright + * Copyright (C) 2022-2023, Xiaohua Semiconductor Co., Ltd. All rights reserved. + * + * This software component is licensed by XHSC under BSD 3-Clause license + * (the "License"); You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause +*******************************************************************************/ +/*###ICF### Section handled by ICF editor, don't touch! *****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_4.xml" */ +// Check that necessary symbols have been passed to linker via command line interface +if((!isdefinedsymbol(_LINK_RAM_)) && (!isdefinedsymbol(_LINK_FLASH_))) { + error "Link location not defined or not supported!"; +} +if((!isdefinedsymbol(_HC32F4A0_2M_)) && (!isdefinedsymbol(_HC32F4A0_1M_SINGLE_)) && (!isdefinedsymbol(_HC32F4A0_1M_DUAL_))) { + error "Mcu type or size not defined or not supported!"; +} + +/******************************************************************************* + * Memory address and size definitions + ******************************************************************************/ +define symbol ram1_base_address = 0x1FFE0000; +define symbol ram1_end_address = 0x2005FFFF; + +if(isdefinedsymbol(_LINK_RAM_)) { + define symbol ram_start_reserve = 0x20000; + define symbol rom1_base_address = ram1_base_address; + define symbol rom1_end_address = rom1_base_address + ram_start_reserve - 0x01; + define symbol rom2_base_address = 0x0; + define symbol rom2_end_address = 0x0; + define symbol rom3_base_address = 0x0; + define symbol rom3_end_address = 0x0; +} else { + define symbol ram_start_reserve = 0x0; + define symbol rom1_base_address = 0x0; + define symbol rom3_base_address = 0x03000000; + define symbol rom3_end_address = 0x030017FF; + if (isdefinedsymbol(_HC32F4A0_2M_)) { + define symbol rom1_end_address = 0x001FFFFF; + define symbol rom2_base_address = 0x0; + define symbol rom2_end_address = 0x0; + } else if (isdefinedsymbol(_HC32F4A0_1M_SINGLE_)) { + define symbol rom1_end_address = 0x000FFFFF; + define symbol rom2_base_address = 0x0; + define symbol rom2_end_address = 0x0; + } else if (isdefinedsymbol(_HC32F4A0_1M_DUAL_)) { + define symbol rom1_end_address = 0x0007FFFF; + define symbol rom2_base_address = 0x00100000; + define symbol rom2_end_address = 0x0017FFFF; + } +} + +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = rom1_base_address; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_IROM1_start__ = rom1_base_address; +define symbol __ICFEDIT_region_IROM1_end__ = rom1_end_address; +define symbol __ICFEDIT_region_IROM2_start__ = rom2_base_address; +define symbol __ICFEDIT_region_IROM2_end__ = rom2_end_address; +define symbol __ICFEDIT_region_IROM3_start__ = rom3_base_address; +define symbol __ICFEDIT_region_IROM3_end__ = rom3_end_address; +define symbol __ICFEDIT_region_EROM1_start__ = 0x0; +define symbol __ICFEDIT_region_EROM1_end__ = 0x0; +define symbol __ICFEDIT_region_EROM2_start__ = 0x0; +define symbol __ICFEDIT_region_EROM2_end__ = 0x0; +define symbol __ICFEDIT_region_EROM3_start__ = 0x0; +define symbol __ICFEDIT_region_EROM3_end__ = 0x0; +define symbol __ICFEDIT_region_IRAM1_start__ = ram1_base_address + ram_start_reserve; +define symbol __ICFEDIT_region_IRAM1_end__ = ram1_end_address; +define symbol __ICFEDIT_region_IRAM2_start__ = 0x200F0000; +define symbol __ICFEDIT_region_IRAM2_end__ = 0x200F0FFF; +define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; +define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; +define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; +define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; +define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; +define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; + + +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x2000; +define symbol __ICFEDIT_size_proc_stack__ = 0x0; +define symbol __ICFEDIT_size_heap__ = 0x2000; +/**** End of ICF editor section. ###ICF###*/ + +/******************************************************************************* + * Memory definitions + ******************************************************************************/ +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] + | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; +define region OTP_region = mem:[from __ICFEDIT_region_IROM3_start__ to __ICFEDIT_region_IROM3_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] + | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in OTP_region { readonly section .otp_data }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.ld b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.ld new file mode 100644 index 0000000000..8be3ef8823 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.ld @@ -0,0 +1,270 @@ +/****************************************************************************** + * Copyright (C) 2022-2023, Xiaohua Semiconductor Co., Ltd. All rights reserved. + * + * This software component is licensed by XHSC under BSD 3-Clause license + * (the "License"); You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + */ +/*****************************************************************************/ +/* File HC32F4A0xI.ld */ +/* Abstract Linker script for HC32F4A0 Device with */ +/* 2MByte FLASH, 516KByte RAM */ +/* Version V1.0 */ +/* Date 2022-03-31 */ +/*****************************************************************************/ + +/* Custom defines, according to section 7.7 of the user manual. + Take OTP sector 16 for example. */ +__OTP_DATA_START = 0x03000000; +__OTP_DATA_SIZE = 2048; +__OTP_LOCK_START = 0x03001840; +__OTP_LOCK_SIZE = 4; + +/* Use contiguous memory regions for simple. */ +MEMORY +{ + FLASH (rx): ORIGIN = 0x00000000, LENGTH = 2M + OTP_DATA (rx): ORIGIN = __OTP_DATA_START, LENGTH = __OTP_DATA_SIZE + OTP_LOCK (rx): ORIGIN = __OTP_LOCK_START, LENGTH = __OTP_LOCK_SIZE + RAM (rwx): ORIGIN = 0x1FFE0000, LENGTH = 512K + RAMB (rwx): ORIGIN = 0x200F0000, LENGTH = 4K +} + +ENTRY(Reset_Handler) + +SECTIONS +{ + .vectors : + { + . = ALIGN(4); + KEEP(*(.vectors)) + . = ALIGN(4); + } >FLASH + + .icg_sec 0x00000400 : + { + KEEP(*(.icg_sec)) + } >FLASH + + .text : + { + . = ALIGN(4); + _stext = .; + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + *(.text) /* remaining code */ + *(.text.*) /* remaining code */ + *(.rodata) /* read-only data (constants) */ + *(.rodata*) + *(.glue_7) + *(.glue_7t) + *(.gnu.linkonce.t*) + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + . = ALIGN(4); + + . = ALIGN(4); + _etext = .; + } >FLASH + + .rodata : + { + . = ALIGN(4); + *(.rodata) + *(.rodata*) + . = ALIGN(4); + } >FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } >FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } >FLASH + __exidx_end = .; + + .preinit_array : + { + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + . = ALIGN(4); + } >FLASH + + .init_array : + { + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + . = ALIGN(4); + } >FLASH + + .fini_array : + { + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + . = ALIGN(4); + } >FLASH + + __etext = ALIGN(4); + + .otp_data_sec : + { + KEEP(*(.otp_data_sec)) + } >OTP_DATA + + .otp_lock_sec : + { + KEEP(*(.otp_lock_sec)) + } >OTP_LOCK + + .data : AT (__etext) + { + . = ALIGN(4); + __data_start__ = .; + *(vtable) + *(.data) + *(.data*) + *(.gnu.linkonce.d*) + . = ALIGN(4); + *(.ramfunc) + *(.ramfunc*) + . = ALIGN(4); + __data_end__ = .; + } >RAM + + .heap_stack (COPY) : + { + . = ALIGN(8); + __end__ = .; + PROVIDE(end = .); + PROVIDE(_end = .); + *(.heap*) + . = ALIGN(8); + __HeapLimit = .; + + __StackLimit = .; + *(.stack*) + . = ALIGN(8); + __StackTop = .; + } >RAM + + __etext_ramb = __etext + ALIGN (SIZEOF(.data), 4); + .ramb_data : AT (__etext_ramb) + { + . = ALIGN(4); + __data_start_ramb__ = .; + *(.ramb_data) + *(.ramb_data*) + . = ALIGN(4); + __data_end_ramb__ = .; + } >RAMB + + __bss_start = .; + .bss __StackTop (NOLOAD): + { + . = ALIGN(4); + _sbss = .; + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + . = ALIGN(4); + _ebss = .; + __bss_end__ = _ebss; + . = ALIGN(4); + *(.noinit*) + . = ALIGN(4); + } >RAM + __bss_end = .; + + .ramb_bss : + { + . = ALIGN(4); + __bss_start_ramb__ = .; + *(.ramb_bss) + *(.ramb_bss*) + . = ALIGN(4); + __bss_end_ramb__ = .; + } >RAMB + + /DISCARD/ : + { + libc.a (*) + libm.a (*) + libgcc.a (*) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } + + PROVIDE(_stack = __StackTop); + PROVIDE(_Min_Heap_Size = __HeapLimit - __HeapBase); + PROVIDE(_Min_Stack_Size = __StackTop - __StackLimit); + + __RamEnd = ORIGIN(RAM) + LENGTH(RAM); + ASSERT(__StackTop <= __RamEnd, "region RAM overflowed with stack") + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + * Symbols in the DWARF debugging sections are relative to the beginning + * of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.sct b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.sct new file mode 100644 index 0000000000..0bf7fc8eb1 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/linker_scripts/link.sct @@ -0,0 +1,22 @@ +; **************************************************************** +; Scatter-Loading Description File +; **************************************************************** +LR_IROM1 0x00000000 0x00200000 { ; load region size_region + ER_IROM1 0x00000000 0x00200000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x1FFE0000 UNINIT 0x00000008 { ; RW data + *(.bss.noinit) + } + RW_IRAM2 0x1FFE0008 0x0007FFF8 { ; RW data + .ANY (+RW +ZI) + .ANY (RAMCODE) + } + RW_IRAMB 0x200F0000 0x00001000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/SConscript b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/SConscript new file mode 100644 index 0000000000..3c57bc9c6d --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/SConscript @@ -0,0 +1,12 @@ +import os +from building import * + +objs = [] +cwd = GetCurrentDir() + +list = os.listdir(cwd) +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + objs = objs + SConscript(os.path.join(item, 'SConscript')) + +Return('objs') diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/drv_spi_flash.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/drv_spi_flash.c new file mode 100644 index 0000000000..f1db0fff56 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/drv_spi_flash.c @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#include +#include +#include +#include +#include +#include +#include + +#ifdef BSP_USING_SPI_FLASH + +#include "spi_flash.h" +#ifdef RT_USING_SFUD + #include "spi_flash_sfud.h" +#endif + +#define SPI_BUS_NAME "spi1" +#define SPI_FLASH_DEVICE_NAME "spi10" +#define SPI_FLASH_CHIP "w25q64" +#define SPI_FLASH_SS_PORT GPIO_PORT_A +#define SPI_FLASH_SS_PIN GPIO_PIN_04 +/* Partition Name */ +#define FS_PARTITION_NAME "filesystem" + +#ifdef RT_USING_SFUD +static void rt_hw_spi_flash_reset(char *spi_dev_name) +{ + struct rt_spi_device *spi_dev_w25; + rt_uint8_t w25_en_reset = 0x66; + rt_uint8_t w25_reset_dev = 0x99; + + spi_dev_w25 = (struct rt_spi_device *)rt_device_find(spi_dev_name); + if (!spi_dev_w25) + { + rt_kprintf("Can't find %s device!\n", spi_dev_name); + } + else + { + rt_spi_send(spi_dev_w25, &w25_en_reset, 1U); + rt_spi_send(spi_dev_w25, &w25_reset_dev, 1U); + DDL_DelayMS(1U); + rt_kprintf("Reset ext flash!\n"); + } +} + +static int rt_hw_spi_flash_with_sfud_init(void) +{ + rt_hw_spi_device_attach(SPI_BUS_NAME, SPI_FLASH_DEVICE_NAME, SPI_FLASH_SS_PORT, SPI_FLASH_SS_PIN); + + if (RT_NULL == rt_sfud_flash_probe(SPI_FLASH_CHIP, SPI_FLASH_DEVICE_NAME)) + { + rt_hw_spi_flash_reset(SPI_FLASH_DEVICE_NAME); + if (RT_NULL == rt_sfud_flash_probe(SPI_FLASH_CHIP, SPI_FLASH_DEVICE_NAME)) + { + return -RT_ERROR; + } + } + + return RT_EOK; +} +INIT_COMPONENT_EXPORT(rt_hw_spi_flash_with_sfud_init); + +static int rt_hw_fs_init(void) +{ + struct rt_device *mtd_dev = RT_NULL; + + /* 初始化 fal */ + fal_init(); + /* 生成 mtd 设备 */ + mtd_dev = fal_mtd_nor_device_create(FS_PARTITION_NAME); + if (!mtd_dev) + { + LOG_E("Can't create a mtd device on '%s' partition.", FS_PARTITION_NAME); + return -RT_ERROR; + } + else + { + /* 挂载 littlefs */ + if (RT_EOK == dfs_mount(FS_PARTITION_NAME, "/", "lfs", 0, 0)) + { + LOG_I("Filesystem initialized!"); + return RT_EOK; + } + else + { + /* 格式化文件系统 */ + if (RT_EOK == dfs_mkfs("lfs", FS_PARTITION_NAME)) + { + /* 挂载 littlefs */ + if (RT_EOK == dfs_mount(FS_PARTITION_NAME, "/", "lfs", 0, 0)) + { + LOG_I("Filesystem initialized!"); + return RT_EOK; + } + else + { + LOG_E("Failed to initialize filesystem!"); + return -RT_ERROR; + } + } + else + { + LOG_E("Failed to Format fs!"); + return -RT_ERROR; + } + } + } +} +INIT_APP_EXPORT(rt_hw_fs_init); + +#endif /* RT_USING_SFUD */ + +#endif /* BSP_USING_SPI_FLASH */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/SConscript b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/SConscript new file mode 100644 index 0000000000..cee47c2d7e --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/SConscript @@ -0,0 +1,20 @@ + +from building import * +import rtconfig + +cwd = GetCurrentDir() + +src = [] + +src += Glob('*.c') +CPPPATH = [cwd] +LOCAL_CFLAGS = '' + +if rtconfig.PLATFORM in ['gcc', 'armclang']: + LOCAL_CFLAGS += ' -std=c99' +elif rtconfig.PLATFORM in ['armcc']: + LOCAL_CFLAGS += ' --c99' + +group = DefineGroup('FAL', src, depend = ['RT_USING_FAL'], CPPPATH = CPPPATH, LOCAL_CFLAGS = LOCAL_CFLAGS) + +Return('group') diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_cfg.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_cfg.h new file mode 100644 index 0000000000..5d8fbbe9e6 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_cfg.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef _FAL_CFG_H_ +#define _FAL_CFG_H_ + +#include +#include + +/* enable hc32f4 onchip flash driver sample */ +#define FAL_FLASH_PORT_DRIVER_HC32F4 +/* enable SFUD flash driver sample */ +#define FAL_FLASH_PORT_DRIVER_SFUD + +extern const struct fal_flash_dev hc32_onchip_flash; +extern struct fal_flash_dev ext_nor_flash0; + +/* flash device table */ +#define FAL_FLASH_DEV_TABLE \ +{ \ + &hc32_onchip_flash, \ + &ext_nor_flash0, \ +} + +/* ====================== Partition Configuration ========================== */ +#ifdef FAL_PART_HAS_TABLE_CFG +/* partition table */ +#define FAL_PART_TABLE \ +{ \ + {FAL_PART_MAGIC_WROD, "app", "onchip_flash", 0, 2 * 1024 * 1024, 0}, \ + {FAL_PART_MAGIC_WROD, "filesystem", "w25q64", 0, 8 * 1024 * 1024, 0}, \ +} +#endif /* FAL_PART_HAS_TABLE_CFG */ + +#endif /* _FAL_CFG_H_ */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_flash_sfud_port.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_flash_sfud_port.c new file mode 100644 index 0000000000..b52d72de00 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/fal/fal_flash_sfud_port.c @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#include + +#include +#ifdef RT_USING_SFUD + #include +#endif + +#ifndef FAL_USING_NOR_FLASH_DEV_NAME + #define FAL_USING_NOR_FLASH_DEV_NAME "w25q64" +#endif + +static int init(void); +static int read(long offset, uint8_t *buf, size_t size); +static int write(long offset, const uint8_t *buf, size_t size); +static int erase(long offset, size_t size); + +static sfud_flash_t sfud_dev = NULL; +struct fal_flash_dev ext_nor_flash0 = +{ + .name = FAL_USING_NOR_FLASH_DEV_NAME, + .addr = 0, + .len = 8 * 1024 * 1024, + .blk_size = 4096, + .ops = {init, read, write, erase}, + .write_gran = 1 +}; + +static int init(void) +{ + /* RT-Thread RTOS platform */ + sfud_dev = rt_sfud_flash_find_by_dev_name(FAL_USING_NOR_FLASH_DEV_NAME); + if (NULL == sfud_dev) + { + return -1; + } + /* update the flash chip information */ + ext_nor_flash0.blk_size = sfud_dev->chip.erase_gran; + ext_nor_flash0.len = sfud_dev->chip.capacity; + + return 0; +} + +static int read(long offset, uint8_t *buf, size_t size) +{ + assert(sfud_dev); + assert(sfud_dev->init_ok); + sfud_read(sfud_dev, ext_nor_flash0.addr + offset, size, buf); + + return size; +} + +static int write(long offset, const uint8_t *buf, size_t size) +{ + assert(sfud_dev); + assert(sfud_dev->init_ok); + if (sfud_write(sfud_dev, ext_nor_flash0.addr + offset, size, buf) != SFUD_SUCCESS) + { + return -1; + } + + return size; +} + +static int erase(long offset, size_t size) +{ + assert(sfud_dev); + assert(sfud_dev->init_ok); + if (sfud_erase(sfud_dev, ext_nor_flash0.addr + offset, size) != SFUD_SUCCESS) + { + return -1; + } + + return size; +} diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/nand_port.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/nand_port.h new file mode 100644 index 0000000000..34b62b6fa3 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/nand_port.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-03-01 CDT first version + */ + +#ifndef __NAND_PORT_H__ +#define __NAND_PORT_H__ + +/******************** NAND chip information ***********************************/ +#define NAND_BYTES_PER_PAGE 2048UL +#define NAND_SPARE_AREA_SIZE 64UL +#define NAND_PAGES_PER_BLOCK 64UL +#define NAND_BYTES_PER_BLOCK (NAND_PAGES_PER_BLOCK * NAND_BYTES_PER_PAGE) +#define NAND_BLOCKS_PER_PLANE 1024UL +#define NAND_PLANE_PER_DEVICE 2UL +#define NAND_DEVICE_BLOCKS (NAND_BLOCKS_PER_PLANE * NAND_PLANE_PER_DEVICE) +#define NAND_DEVICE_PAGES (NAND_DEVICE_BLOCKS * NAND_PAGES_PER_BLOCK) + +/******************** EXMC_NFC configure **************************************/ +/* chip: EXMC_NFC_BANK0~7 */ +#define NAND_EXMC_NFC_BANK EXMC_NFC_BANK0 + +/* density:2Gbit */ +#define NAND_EXMC_NFC_BANK_CAPACITY EXMC_NFC_BANK_CAPACITY_2GBIT + +/* device width: 8-bit */ +#define NAND_EXMC_NFC_MEMORY_WIDTH EXMC_NFC_MEMORY_WIDTH_8BIT + +/* page size: 2KByte */ +#define NAND_EXMC_NFC_PAGE_SIZE EXMC_NFC_PAGE_SIZE_2KBYTE + +/* row address cycle: 3 */ +#define NAND_EXMC_NFC_ROW_ADDR_CYCLE EXMC_NFC_3_ROW_ADDR_CYCLE + +/* ECC mode */ +#define NAND_EXMC_NFC_ECC_MD EXMC_NFC_1BIT_ECC + +/* timing configuration(EXCLK clock frequency: 60MHz@3.3V) for MT29F2G08AB */ +/* TS: ALE/CLE/CE setup time(min=10ns) */ +#define NAND_TS 1U + +/* TWP: WE# pulse width (min=10ns) */ +#define NAND_TWP 1U + +/* TRP: RE# pulse width (MT29F2G08AB min=10ns and EXMC t_data_s min=24ns) */ +#define NAND_TRP 2U + +/* TTH: ALE/CLE/CE hold time (min=5ns) */ +#define NAND_TH 1U + +/* TWH: WE# pulse width HIGH (min=10ns) */ +#define NAND_TWH 1U + +/* TRH: RE# pulse width HIGH (min=7ns) */ +#define NAND_TRH 1U + +/* TRR: Ready to RE# LOW (min=20ns) */ +#define NAND_TRR 2U + +/* TWB: WE# HIGH to busy (max=100ns) */ +#define NAND_TWB 1U + +/* TWB: WE# HIGH to busy (max=100ns) */ +#define NAND_TRB 1U + +/* TCCS: Change read column and Change write column delay */ +#define NAND_TCCS 5U + +/* TWTR: WE# HIGH to RE# LOW (min=60ns) */ +#define NAND_TWTR 4U + +/* TRTW: RE# HIGH to WE# LOW (min=100ns) */ +#define NAND_TRTW 7U + +/* TADL: ALE to data start (min=70ns) */ +#define NAND_TADL 5U + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/sdram_port.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/sdram_port.h new file mode 100644 index 0000000000..48f5437055 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/sdram_port.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-24 CDT first version + * 2024-02-20 CDT modify timing configuration for using exclk clock frequency 30MHz + * add t_rcd/t_rfc/t_rp configuration macros-definition + */ + +#ifndef __SDRAM_PORT_H__ +#define __SDRAM_PORT_H__ + +/* parameters for sdram peripheral */ + +/* chip#0/1/2/3: EXMC_DMC_CHIP0/1/2/3 */ +#define SDRAM_CHIP EXMC_DMC_CHIP1 +/* bank address */ +#define SDRAM_BANK_ADDR (0x80000000UL) +/* size(kbyte):8MB = 8*1024*1KBytes */ +#define SDRAM_SIZE (8UL * 1024UL * 1024UL) +/* auto precharge pin: EXMC_DMC_AUTO_PRECHARGE_A8/10 */ +#define SDRAM_AUTO_PRECHARGE_PIN EXMC_DMC_AUTO_PRECHARGE_A10 +/* data width: EXMC_DMC_MEMORY_WIDTH_16BIT, EXMC_DMC_MEMORY_WIDTH_32BIT */ +#define SDRAM_DATA_WIDTH EXMC_DMC_MEMORY_WIDTH_16BIT +/* column bit numbers: EXMC_DMC_COLUMN_BITS_NUM8/9/10/11/12 */ +#define SDRAM_COLUMN_BITS EXMC_DMC_COLUMN_BITS_NUM8 +/* row bit numbers: EXMC_DMC_ROW_BITS_NUM11/12/13/14/15/16 */ +#define SDRAM_ROW_BITS EXMC_DMC_ROW_BITS_NUM12 +/* cas latency clock number: 2, 3 */ +#define SDRAM_CAS_LATENCY 2UL +/* burst length: EXMC_DMC_BURST_1BEAT/2BEAT/4BEAT/8BEAT/16BEAT */ +#define SDRAM_BURST_LENGTH EXMC_DMC_BURST_1BEAT + +/* operating mode: SDRAM_MODEREG_OPERATING_MODE_STANDARD */ +#define SDRAM_MODEREG_OPERATING_MODE SDRAM_MODEREG_OPERATING_MODE_STANDARD +/* burst type: SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL/INTERLEAVED */ +#define SDRAM_MODEREG_BURST_TYPE SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL +/* write burst mode: SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED/SINGLE */ +#define SDRAM_MODEREG_WRITEBURST_MODE SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED + +/* timing configuration(EXCLK clock frequency: 30MHz) for IS42S16400J-7TLI */ +/* refresh rate counter (EXCLK clock) */ +#define SDRAM_REFRESH_COUNT (450U) +/* TMDR: mode register command time (EXCLK clock) */ +#define SDRAM_TMDR 2U +/* TRAS: RAS to precharge delay time (EXCLK clock) */ +#define SDRAM_TRAS 2U +/* TRC: active bank x to active bank x delay time (EXCLK clock) */ +#define SDRAM_TRC 2U +/* TRCD: RAS to CAS minimum delay time (EXCLK clock) */ +#define SDRAM_TRCD_B 3U +#define SDRAM_TRCD_P 0U +/* TRFC: autorefresh command time (EXCLK clock) */ +#define SDRAM_TRFC_B 3U +#define SDRAM_TRFC_P 0U +/* TRP: precharge to RAS delay time (EXCLK clock) */ +#define SDRAM_TRP_B 3U +#define SDRAM_TRP_P 0U +/* TRRD: active bank x to active bank y delay time (EXCLK clock) */ +#define SDRAM_TRRD 1U +/* TWR: write to precharge delay time (EXCLK clock). */ +#define SDRAM_TWR 2U +/* TWTR: write to read delay time (EXCLK clock). */ +#define SDRAM_TWTR 1U +/* TXP: exit power-down command time (EXCLK clock). */ +#define SDRAM_TXP 1U +/* TXSR: exit self-refresh command time (EXCLK clock). */ +#define SDRAM_TXSR 5U +/* TESR: self-refresh command time (EXCLK clock). */ +#define SDRAM_TESR 5U + +/* memory mode register */ +#define SDRAM_MODEREG_BURST_LENGTH_1 (0x0000U) +#define SDRAM_MODEREG_BURST_LENGTH_2 (0x0001U) +#define SDRAM_MODEREG_BURST_LENGTH_4 (0x0002U) +#define SDRAM_MODEREG_BURST_LENGTH_8 (0x0004U) +#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL (0x0000U) +#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED (0x0008U) +#define SDRAM_MODEREG_CAS_LATENCY_2 (0x0020U) +#define SDRAM_MODEREG_CAS_LATENCY_3 (0x0030U) +#define SDRAM_MODEREG_OPERATING_MODE_STANDARD (0x0000U) +#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED (0x0000U) +#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE (0x0200U) + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.c b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.c new file mode 100644 index 0000000000..b27410cdf2 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.c @@ -0,0 +1,319 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#include +#include +#include + +#ifdef BSP_USING_TCA9539 + +#include "tca9539.h" + +/******************************************************************************* + * Local type definitions ('typedef') + ******************************************************************************/ + +/******************************************************************************* + * Local pre-processor symbols/macros ('#define') + ******************************************************************************/ +/* Define for TCA9539 */ +#define BSP_TCA9539_I2C_BUS_NAME "i2c1" +#define BSP_TCA9539_DEV_ADDR (0x74U) + +#define TCA9539_RST_PIN (45) /* PC13 */ + +/******************************************************************************* + * Global variable definitions (declared in header file with 'extern') + ******************************************************************************/ + +/******************************************************************************* + * Local function prototypes ('static') + ******************************************************************************/ + +/******************************************************************************* + * Local variable definitions ('static') + ******************************************************************************/ +static struct rt_i2c_bus_device *i2c_bus = RT_NULL; + +/******************************************************************************* + * Function implementation - global ('extern') and local ('static') + ******************************************************************************/ +/** + * @brief BSP TCA9539 write data. + * @param [in] bus: Pointer to the i2c bus device. + * @param [in] reg: Register to be written. + * @param [in] data: The pointer to the buffer contains the data to be written. + * @param [in] len: Buffer size in byte. + * @retval rt_err_t: + * - RT_EOK + * - -RT_ERROR + */ +static rt_err_t BSP_TCA9539_I2C_Write(struct rt_i2c_bus_device *bus, rt_uint8_t reg, rt_uint8_t *data, rt_uint16_t len) +{ + struct rt_i2c_msg msgs; + rt_uint8_t buf[6]; + + buf[0] = reg; + if (len > 0) + { + if (len < 6) + { + rt_memcpy(buf + 1, data, len); + } + else + { + return -RT_ERROR; + } + } + msgs.addr = BSP_TCA9539_DEV_ADDR; + msgs.flags = RT_I2C_WR; + msgs.buf = buf; + msgs.len = len + 1; + if (rt_i2c_transfer(bus, &msgs, 1) == 1) + { + return RT_EOK; + } + else + { + return -RT_ERROR; + } +} + +/** + * @brief BSP TCA9539 Read data. + * @param [in] bus: Pointer to the i2c bus device. + * @param [in] reg: Register to be read. + * @param [out] data: The pointer to the buffer contains the data to be read. + * @param [in] len: Buffer size in byte. + * @retval rt_err_t: + * - RT_EOK + * - -RT_ERROR + */ +static rt_err_t BSP_TCA9539_I2C_Read(struct rt_i2c_bus_device *bus, rt_uint8_t reg, rt_uint8_t *data, rt_uint16_t len) +{ + struct rt_i2c_msg msgs; + + if (RT_EOK != BSP_TCA9539_I2C_Write(bus, reg, RT_NULL, 0)) + { + return -RT_ERROR; + } + msgs.addr = BSP_TCA9539_DEV_ADDR; + msgs.flags = RT_I2C_RD; + msgs.buf = data; + msgs.len = len; + if (rt_i2c_transfer(bus, &msgs, 1) == 1) + { + return RT_EOK; + } + else + { + return -RT_ERROR; + } +} + + +/** + * @brief Reset TCA9539. + * @param [in] None + * @retval None + */ +static void TCA9539_Reset(void) +{ + rt_pin_mode(TCA9539_RST_PIN, PIN_MODE_OUTPUT); + /* Reset the device */ + rt_pin_write(TCA9539_RST_PIN, PIN_LOW); + rt_thread_mdelay(3U); + rt_pin_write(TCA9539_RST_PIN, PIN_HIGH); +} + +/** + * @brief Write TCA9539 pin output value. + * @param [in] u8Port Port number. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Port_Definition + * @param [in] u8Pin Pin number. + * This parameter can be one or any combination of the following values: + * @arg @ref TCA9539_Pin_Definition + * @param [in] u8PinState Pin state to be written. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Pin_State_Definition + * @retval rt_err_t: + * - RT_ERROR + * - RT_EOK + */ +rt_err_t TCA9539_WritePin(uint8_t u8Port, uint8_t u8Pin, uint8_t u8PinState) +{ + uint8_t u8TempData[2]; + + u8TempData[0] = u8Port + TCA9539_REG_OUTPUT_PORT0; + if (RT_EOK != BSP_TCA9539_I2C_Read(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + if (0U == u8PinState) + { + u8TempData[1] &= (uint8_t)(~u8Pin); + } + else + { + u8TempData[1] |= u8Pin; + } + if (RT_EOK != BSP_TCA9539_I2C_Write(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + + return RT_EOK; +} + +/** + * @brief Read TCA9539 pin input value. + * @param [in] u8Port Port number. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Port_Definition + * @param [in] u8Pin Pin number. + * This parameter can be one or any combination of the following values: + * @arg @ref TCA9539_Pin_Definition + * @param [in] u8PinState Pin state to be written. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Pin_State_Definition + * @retval rt_err_t: + * - RT_ERROR + * - RT_EOK + */ +rt_err_t TCA9539_ReadPin(uint8_t u8Port, uint8_t u8Pin, uint8_t *pu8PinState) +{ + uint8_t u8TempData[2]; + + u8TempData[0] = u8Port + TCA9539_REG_INPUT_PORT0; + if (RT_EOK != BSP_TCA9539_I2C_Read(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + if (0U != (u8TempData[1] & u8Pin)) + { + *pu8PinState = TCA9539_PIN_SET; + } + else + { + *pu8PinState = TCA9539_PIN_RESET; + } + + return RT_EOK; +} + +/** + * @brief Toggle TCA9539 pin output value. + * @param [in] u8Port Port number. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Port_Definition + * @param [in] u8Pin Pin number. + * This parameter can be one or any combination of the following values: + * @arg @ref TCA9539_Pin_Definition + * @retval rt_err_t: + * - -RT_ERROR + * - RT_EOK + */ +rt_err_t TCA9539_TogglePin(uint8_t u8Port, uint8_t u8Pin) +{ + uint8_t u8TempData[2]; + + u8TempData[0] = u8Port + TCA9539_REG_OUTPUT_PORT0; + if (RT_EOK != BSP_TCA9539_I2C_Read(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + u8TempData[1] ^= u8Pin; + if (RT_EOK != BSP_TCA9539_I2C_Write(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + + return RT_EOK; +} + +/** + * @brief Configuration TCA9539 pin. + * @param [in] u8Port Port number. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Port_Definition + * @param [in] u8Pin Pin number. + * This parameter can be one or any combination of the following values: + * @arg @ref TCA9539_Pin_Definition + * @param [in] u8Dir Pin output direction. + * This parameter can be one of the following values: + * @arg @ref TCA9539_Direction_Definition + * @retval rt_err_t: + * - -RT_ERROR + * - RT_EOK + */ +rt_err_t TCA9539_ConfigPin(uint8_t u8Port, uint8_t u8Pin, uint8_t u8Dir) +{ + uint8_t u8TempData[2]; + + u8TempData[0] = u8Port + TCA9539_REG_CONFIG_PORT0; + if (RT_EOK != BSP_TCA9539_I2C_Read(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + if (TCA9539_DIR_OUT == u8Dir) + { + u8TempData[1] &= (uint8_t)(~u8Pin); + } + else + { + u8TempData[1] |= u8Pin; + } + if (RT_EOK != BSP_TCA9539_I2C_Write(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + + return RT_EOK; +} + +/** + * @brief Initialize TCA9539. + * @param [in] None + * @retval rt_err_t: + * - -RT_ERROR + * - RT_EOK + */ +int TCA9539_Init(void) +{ + char name[RT_NAME_MAX]; + uint8_t u8TempData[2]; + + TCA9539_Reset(); + rt_strncpy(name, BSP_TCA9539_I2C_BUS_NAME, RT_NAME_MAX); + i2c_bus = (struct rt_i2c_bus_device *)rt_device_find(name); + if (i2c_bus == RT_NULL) + { + rt_kprintf("can't find %s device!\n", BSP_TCA9539_I2C_BUS_NAME); + return -RT_ERROR; + } + /* All Pins are input as default */ + u8TempData[0] = TCA9539_REG_CONFIG_PORT0; + u8TempData[1] = 0xFFU; + if (RT_EOK != BSP_TCA9539_I2C_Write(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + u8TempData[0] = TCA9539_REG_CONFIG_PORT1; + if (RT_EOK != BSP_TCA9539_I2C_Write(i2c_bus, u8TempData[0], &u8TempData[1], 1U)) + { + return -RT_ERROR; + } + + return RT_EOK; +} +INIT_PREV_EXPORT(TCA9539_Init); + +#endif /* BSP_USING_TCA9539 */ diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.h new file mode 100644 index 0000000000..ee1f84db08 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/board/ports/tca9539.h @@ -0,0 +1,135 @@ +/* + * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-04-28 CDT first version + */ + +#ifndef __TCA9539_H__ +#define __TCA9539_H__ + +#include + +/** + * @defgroup TCA9539_REGISTER_Definition TCA9539 Register Definition + * @{ + */ +#define TCA9539_REG_INPUT_PORT0 (0x00U) +#define TCA9539_REG_INPUT_PORT1 (0x01U) +#define TCA9539_REG_OUTPUT_PORT0 (0x02U) +#define TCA9539_REG_OUTPUT_PORT1 (0x03U) +#define TCA9539_REG_INVERT_PORT0 (0x04U) +#define TCA9539_REG_INVERT_PORT1 (0x05U) +#define TCA9539_REG_CONFIG_PORT0 (0x06U) +#define TCA9539_REG_CONFIG_PORT1 (0x07U) +/** + * @} + */ + +/** + * @defgroup TCA9539_Port_Definition TCA9539 Port Definition + * @{ + */ +#define TCA9539_IO_PORT0 (0x00U) +#define TCA9539_IO_PORT1 (0x01U) +/** + * @} + */ + +/** + * @defgroup TCA9539_Pin_Definition TCA9539 Pin Definition + * @{ + */ +#define TCA9539_IO_PIN0 (0x01U) +#define TCA9539_IO_PIN1 (0x02U) +#define TCA9539_IO_PIN2 (0x04U) +#define TCA9539_IO_PIN3 (0x08U) +#define TCA9539_IO_PIN4 (0x10U) +#define TCA9539_IO_PIN5 (0x20U) +#define TCA9539_IO_PIN6 (0x40U) +#define TCA9539_IO_PIN7 (0x80U) +#define TCA9539_IO_PIN_ALL (0xFFU) +/** + * @} + */ + +/** + * @defgroup TCA9539_Direction_Definition TCA9539 Direction Definition + * @{ + */ +#define TCA9539_DIR_OUT (0x00U) +#define TCA9539_DIR_IN (0x01U) +/** + * @} + */ + +/** + * @defgroup TCA9539_Pin_State_Definition TCA9539 Pin State Definition + * @{ + */ +#define TCA9539_PIN_RESET (0x00U) +#define TCA9539_PIN_SET (0x01U) +/** + * @} + */ + +/** + * @defgroup HC32F4A0_EV_IO_Function_Sel Expand IO function definition + * @{ + */ +#define EIO_USBFS_OC (TCA9539_IO_PIN0) /* USBFS over-current, input */ +#define EIO_USBHS_OC (TCA9539_IO_PIN1) /* USBHS over-current, input */ +#define EIO_SDIC1_CD (TCA9539_IO_PIN2) /* SDIC1 card detect, input */ +#define EIO_SCI_CD (TCA9539_IO_PIN3) /* Smart card detect, input */ +#define EIO_TOUCH_INT (TCA9539_IO_PIN4) /* Touch screen interrupt, input */ +#define EIO_LIN_SLEEP (TCA9539_IO_PIN5) /* LIN PHY sleep, output */ +#define EIO_RTCS_CTRST (TCA9539_IO_PIN6) /* 'CS' for Resistor touch panel or 'Reset' for Cap touch panel, output */ +#define EIO_LCD_RST (TCA9539_IO_PIN7) /* LCD panel reset, output */ + +#define EIO_CAM_RST (TCA9539_IO_PIN0) /* Camera module reset, output */ +#define EIO_CAM_STB (TCA9539_IO_PIN1) /* Camera module standby, output */ +#define EIO_USB3300_RST (TCA9539_IO_PIN2) /* USBHS PHY USB3300 reset, output */ +#define EIO_ETH_RST (TCA9539_IO_PIN3) /* ETH PHY reset, output */ +#define EIO_CAN_STB (TCA9539_IO_PIN4) /* CAN PHY standby, output */ +#define EIO_LED_RED (TCA9539_IO_PIN5) /* Red LED, output */ +#define EIO_LED_YELLOW (TCA9539_IO_PIN6) /* Yellow LED, output */ +#define EIO_LED_BLUE (TCA9539_IO_PIN7) /* Blue LED, output */ +/** + * @} + */ + +/** + * @defgroup BSP_LED_PortPin_Sel BSP LED port/pin definition + * @{ + */ +#define LED_PORT (TCA9539_IO_PORT1) +#define LED_RED_PORT (TCA9539_IO_PORT1) +#define LED_RED_PIN (EIO_LED_RED) +#define LED_YELLOW_PORT (TCA9539_IO_PORT1) +#define LED_YELLOW_PIN (EIO_LED_YELLOW) +#define LED_BLUE_PORT (TCA9539_IO_PORT1) +#define LED_BLUE_PIN (EIO_LED_BLUE) +/** + * @} + */ + +/** + * @defgroup BSP CAN PHY STB port/pin definition + * @{ + */ +#define CAN_STB_PORT (TCA9539_IO_PORT1) +#define CAN_STB_PIN (EIO_CAN_STB) +/** + * @} + */ + +int TCA9539_Init(void); +rt_err_t TCA9539_WritePin(uint8_t u8Port, uint8_t u8Pin, uint8_t u8PinState); +rt_err_t TCA9539_ReadPin(uint8_t u8Port, uint8_t u8Pin, uint8_t *pu8PinState); +rt_err_t TCA9539_TogglePin(uint8_t u8Port, uint8_t u8Pin); +rt_err_t TCA9539_ConfigPin(uint8_t u8Port, uint8_t u8Pin, uint8_t u8Dir); + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/figures/board.png b/bsp/hc32/lckfb-hc32f4a0-lqfp100/figures/board.png new file mode 100644 index 0000000000000000000000000000000000000000..0d356ad184d257affcfc0187ee86c2951655132d GIT binary patch literal 871042 zcmd42b95wMy9OHDPA0Z(+fHU;JDJ$FZB1-UoQXQN&53QBw}0n5=X~E;>)!uwuUf0S zs&{o&?cT4R=XoQQ6{Qg2@Zdl|KoDi5#Z^H-Ab}sjwPC=3Z(3q*@W3}vXH_XtkeVs{ z6W|Vng@}R(2uOWA{JRlw=vTXpxQM!k{&@~`K8D2Husdg`_>>_S1S%*?vIuiPxv2_^ z_tpk3BMu1UV2qZMK;ven^Hhe6F>fOp#3)$O9sIY$x34Pm!wY!&{QTo8qC0c%_A21Z zJFO;XRcqLFBca}k^<$4aE}hk9LTHuc%XIiXncz;z?f-oz=VG6T)^(%VW;yI(g&Cp$ zzqii>OL79Jq<i%bJ*v;^;WtotNV|ek;LqAqzC!W;s1H5?_lu%`A~uXd17kM|K}~JP}G6^d-}@J zG(mp;_p^r?sl)#N?Q(vUcB_-j2zy+^n<>C)YcTm|GW|7Kv4c($z7@Bi|5a-I*ZkEh z{PS2bLadB?`gS7PXq%;06w(0`_oWVjwZE+OmJ_2g;n-RX;>u*#7z8HPl^bkdJYS2K zm^jSn&cyhgt9I30M7J}YvQ-%y=YEqOK-7I$8&;Nyt<&1xV`rskogGER1c`oAt1)l|Vx3s%sBFQ&Lb^A$w7gQNdGw`2e=Y)>GgT ztE2tn$dC7TWR${B68#R{k+DM$o&({;^fibB>(RLtF>i9tbkP@uCP?<~xmdp^x9$J~ zZU4V}4|cTj^4-boqME{``P@b?TEaf=o zC23_Sb%n1|tp1~>jNjp!Bxd)U$I~kC7}63k8n|E))gjU6PYh$2k+P=PxjTqhRlf0? zb%kzQxC_Bo8VsvEd;#w6Ta3Nmj-KLPsQ3=^&VOor{nYI41>2r9L}&l!K!!j6HdF|e ze$p4KFDO%_{dU1*tMrGKiafjeNQ#eM_bZru_ze?!#Ry%#W@JgH1oIc5Q#?dhxM9D` z`znvmUY|5kxFazRmS?$y&J^6j7?k@2S~0J|>M-W2rnrv1~T9 zu(0sq+fuDwhug#HqRo;+x6jKM+tjlSJz>c&e+e9GzymuHiUCATm@o>3Wn6-!p=cFF z#uU48^b8bi+Mp#1{-GfWwtnF1Po&kkJSQ734pne~`~ZfmmpK`g$sbE?-qV6gHoein z;ev&H!tQxKlrGP#`)e=El+?5oxk4`5O4wTGOcH~cjRs7%k5WI_q=qeh!_yMglX1q* z>bi0mHgS=&vR_WB;{w`VqJkq#T*!--rZ;OG`s>P$jyDTdYR*nh3Gr$OAC(5(emT6Z zGpM-Usn{wq<|lYrbV50;>CO_?r4p%A78n(^%zs&Ctt!$}S;$4rqjTNZ!GF!H^EeB= zUhl21Ys$#Lx`y@FYo3pg#g9!+n%VwAILL&f9cEipsFIljF_10mO)I$7KY&X)oMS`+ z74n1$y%|ni8~fv@!}`|RtX~P2;oo5LIXdO`5D(dtJxpo&uaHX}h|QkXgGZMs-A95a zIpzePX!P<_*kh8~rC?>wQ+rx)sdYYX=sSVcKzusX{qz|x#5gfMO-Db_$D5R#{TH;={Bc9aS(eIp16Ui8`4 z$~I#2Iw(od%c>5E5}3qz8j=W0%X5EDG-n=NRW3yoOqjlRlVFvjTMK|+Htu*nmo;O#gBCjVG?>bE#!YZQy~A6 zx1^B8ZuN3ol7zt(o#B4mX-+&O7GY7>?;HGz=>2dGszu;wWA>vrdQhwQ-lcS^RR$V_C&=i3&vPKzB`rwCL^ zy_+YZUtB3DI~FFEz}Gr_O|<)=vZ5WKOGAM63dpbOjWB3-5w!*H0phrfL^4@{OR?J{#i8aHLtK)|+N}#ddIs07`(EUlS8(YZ<=O}Y9&L#`03eQKXs#`Bn zH2cT)@22OIUKfbSZ(>9T&8GTt`>n2ToYnotSr29uUj4CLF2^gVbl&W&pC31xSkShp zT)x1AkH@RYw}lG&zro&vfS6WqSYZU1BFAq zBe9e}YDvy%HU@)3xG2}R=W92 zRvD3X8omBMc19AOSc@J=iUHm&(LBr+@B$#69(xw^rp=d-BJ|wPU@=i|T-YtyVw>VV zyJHfRBS(kygoGya=-KqX+Nk_qwc)^ zcGiVlU_J;VE9KG>%ElOipw)MOB(Xn^PhVlJz_8nhOG@4XWtcS8_#RD@j&Qqxk~0*} z@^`*$0utI!Il-LX^>Y2+Vdw=20*Y5EL-t|@65)BxTE(DU%2rzJtn`eumrI?{+EOu* z@|IHbPg~ww`nG@b&G2QtC(=`jwX#PnBzGY`H(XXTgA@y<*b#txSueD0TC^OIbKv}dChN+1_`o=aPTZ|9As zypfF+5_cO}B)ZxXQ9hl+RB4G*oJSDlaohQUe za*TuXgy&BNnz5|9E2-v^Cn6$yA*UmqZ}F0yO8e;`Ao2;3@rTUrfu2ze34ikr-Q zi@aexmWJ3Uf)E~%6M^nDLo}U{xQ0tx1z3``<#LX}R}0%{RfYrZ690scXNDf`FUpXs z3cX+VM>BP~ET(E8@%gRve10$z3cO}oE!kMHe1PUFbGE?;Bz_N+}nQm#%Vk-!w8MU7sk#Vt&4!8usc-W<5;3YnMIbI zd{=K=L8_L0hd)mro0;ZPe{gW%n9w;^vW=3hU3iVLyyUnY!ufM0AQ7?hHl(j3;FnhQ z;Oh?BFObous&7*q7vvD^1y(%bkV1itG}VH=ZP6yZ(SE7#0R9|9ORFVhA^wkZHWS9q z{fvTP1VZlPLX{!|kDZr?vn4BzTG0Rtz|fV>rjK?_=l%#i(5q{fTn zsnIpx50zz{!8Iusg~z7%+6l!b^xG#{EVv5>A|T_C8%b!2@UMt%xvadn(n%h3U>Kzf zDx0n64*AGFJBvbY(7oa+GN`4wtwIz;__MwIw65$%=5>w^!IP8n5gn5fl zuO!&cWOxsPtSG~ygWqwP7UVF}G3-`aQAuvY5C=nG^NdyPt8x3kdQ#38;EW?@C_r~3nM&!-;3EZ?b|++o;TcQJ?S0oY3nsU zN&9Mp=A)3sh*AyIk9ag?4Md=%>X)Wj#46C@!XMsq9Mzb&B+DUyW6InO#pY$;vI=9uz0abVPw%F5%)k5CB=p{a5)4p`oFB zPD~?rWav7`Jj8d8C9kQ+R(khCP8%X4T6w1Tu;67gkhr;Ap$ByHpq2N@)x%5#&)c#$ z=`t8uFu|3;sowaYbM@`=Z!Ww+IYMaH$6+>y%~F0)L?i8w?3@l4(ctPm+}&CmvCCZV zKT#4zGs)71gZk>4t)KlgYEeJvKlbGYT_xWSmT2-3uOJ+}mBPlbKENv5!1fxEkw z?3a43L0($o>B5TrP;EYAugAZyP)-W2$Upddpi5SqWv0nSL~Q$9lO5DV^!-v$nIY9- z*TI$x%0`08Yg<`Pw{2KQ<<9C@ojDNX1YeKIq}6!7&v+IFw%D4)oAE{r8uQ$E04>PQ z&d*Mf5RDuw9ljw^lO8`>(hwG-!RQ#(bO|)Ru>NT(qBJ~2Z2nQ!8cQN0+I_t5f@2E8OK~wq<~{vxDe-*# z*!v`13H;7?MY5l$H~39beTwSZ#yYzy$ZI-r-0&_r^|AZ9diC<_J7d zwU9d?U^|6>FaM$;GhS~+f0+VcZFD@L_NosMIy2`u#S1*P+Ua?_ptrkSM17zu@%OSm zCRi}e@!K-n!gFC^W0FQ{1=r!;se*}L$wQ#@lgPruv-D^7S75fv8Cr1kjuz&kBBuK(6ad0(yq^r>C@ zl{zkor~Nj_XgJ1ux3u%#(xkCZjGnyFv`1)&XG|aA2ejm-EKwM{HPX-9mm9TRud3ExI&seE07&Yq*w|fGeLPGJn|D>myR4rFC()N*dkY`E@-|Q&~ZdPltRf8=OX-9kGFr3X} z8+g2A+0^t_VlSP6rLUP%oO(l8-Gk$qiqJpqA07hNor(K~TT*zV zN0XA_;{+r04ms08Z|^Z|Q^H+G;mYMdersFg_`0!X3J<{B0>-uWU?s`y*r)h}NMK&f zCxHux>3)=i*@ zf;sq#gdMZi-|2tc1Z46W;SgPCW%I`&P~_&F@zv9SlCA7!wj38 zka?;Z#B&79KC3kJJt=}@n#$`+k&!CI{-QULV9pmhStkA%@aZA65%h!uAjfh7&ZrDUr-Lzv|W>fuexPVQ+tD;@59wBDms zkks>-?bzEAQ_*rqvDKdU0ZSDQbs@El9yA7GA6{N{QT01mut7hpBJbwJnC4+g$KLnlAl<7^l!2D?Yl3Z> zo|;;CzC4IaM0~y+0axCBWZT7Vty=3yF=y7|4{iP}pzRI{317VIS})@Wa_lDjId9B0 zqN%%j1WERLp@4B>ygbwu^GI371hViGGk6G*|NYLA?W1aEH@sm}I_+N@v427OITxoy z-Y`r5uG-+1ZM*0a`gS1urDBMLBBiuxKULgG0uw^$H1X4GWFytfbV!QfJ|vjuRf8bX zGo-yR4|IO%@w&F}gxS<4eX|Q-r5EUbx3)C>`gm-+`198g@?LoR zc~3Dz!28eA_TcyB4g0N+tM(^G3>B*DrLY+)gJAg3tJb|s3ORqcl4LY@F~|LpqPU;S zHF}2}M5F1Dd_R@K^*we<>NN~v6>p#wAYlwiq6W*?JH$d-*p>VG{E&*n z&lL|j2`g3nu)AF6iA;iM$D1Av4()s?r$vG*wwV0o`hL@&j}n&8iyr{;d|Fj2d3>rP zo_yJP^ogD8?>Cvnp?e8EmCg*M3d~-+Zo&$@2 zkxXn;P1F)F>ijwFdb^TfBtPj?rVdk##n048$dkt~;a(J-imGe8@_Xa_xj@ZkzA`&w z)M2@B%!L9XSC#=Sb**K{{>^S7q)Y^asq^#Ds32q zJA7;M2RG!b<(e-rSE}i}3?l|vnj=Qd&teOdAC%`%tt=XO6BdUjuD;C*UV9(uht2Wc zY=a4438D_EVCsHe`@S5*K*Km1c{ei7nyyBuSRQDw5&HfY4+ef8CDv&VKkgUQlrA5<819m2tp&sQqYfAm?l*VXM$@m-1Q zSfb7tFJCNHX_P5K8{J4!sQ1_5kK1j!To7AFm7vg-qR^Vmj((09uS5TGp?^|(I!Ln5+*9f3Dp0`?x=ysu*WlXiDM!J&aR5R=C& z-ilG9QM-9o8y{SU9-H3>SapU*#0|j|437k@n}4elW9&Yag}5?CoXqc4{+^@>%rChN z{O=Yu417Odj+~Ds#cEO0i6O35@3yOk^f}z803>2@B7Eh*v)}UHbL@DzIEm%y3lK6u=z4(e>0-J;_v@*R9NOTG2R%vm;qOlo*D#+swS@r^b6EBrxlmk4;wFo~QKV!xvLYBoCboF^AmUhrj`t|2eZo~pFQy{7}Uee=>BMet-s z8lK+kqU@_~CCpYrXiXTq_H*2~7LnHtX-)+{VQN9-O17Zad?f^ani~IOS5$m|7lp7u z>{3u-7*?=5?O*qbLG`;rFk)~4dC1+w@7Gtr zApkBv{wn4?x<2P=fuq*Fhb}2nrq4NfyuxDSIU9{yp4*Wk_~@weJQZ|`RZ=v~2NAF; zfiG;cpms}`gC>xaQ*h1Y+dM{9TuYJA_Z=b=)@qD;-gJ1HBFR|ZQ|eD+X1V#3Wqr@R zth1VVNQy@*&zjU-=$@J21JZlPP}vWJ3DJ1|_Yok1EpX5uPjaY*6UqNLQuO=j=O{bG z30ogWOLg#KUS@>$VPpvyA6Z*N)?ySh{O@Y*dh5f9%)6s$`worlKNo)s)V|uj0>cTt z#F-wAWulRme(Suw9OXq1c--y7Pj{Br3%rMM@Uy#JEdlSOcG!t9X{O6#cK7q+ttck7 zUN=tMWAD{Wbtbk^R-k?M>sT-0RG;LwFv=g9La2ILz36X&r zVL=NWlyK1X^ZNukq~dxJp5>1}&x|*tFaaklJTyrB+W|r!FD{bAtZ5^&q_Anqp^Rzj znKCucHHQ*Iz~nQo-OvT^fqL*P?f}ei0l|E_>RtFKYc~m^J1L+cM(Cp)($)wW0GE^^ zVCHhlqI=h?T

dEyhPe!B4aAg6Jd~vC7zLxE~+_&Vrr~+Xyrm{fRIgZ5%?K!6DX;3FYR`gK3^uA1wT89nS zvnAgT4$>Vap^yD!iD;}G_f1a$ z@_zR$cyahX*S*X7?gUeUv8SNm+pEqm;CleDiEryHe>>c+{PrG}D+6wO_v7t4AO5`D z9f>-x1d0mg223_4e9Q`-AtdABS9|d1rl$+}>|gtRycQG{NdbxJ&Zm{qBamURZ6Tb0 zWAZ}5rZ_|P;G0vlJ#^shma4d$K_dYv%*jU3{Y04CYl)c=RNvRZOHi-Uy)#Pd&PfK_ zSH{MIX^8yP2W)1kcPK;x-1VzhP{ticrzI*{Qi?f=OjR=ygDnp#mAJG<#~`^lC$h1~ zB6jzeMyadkb4lS2D`z@9`Z(y$ZiZu(c`A^1jl1GG5opMjiAtH#y-iE>t^!Acj_(kz zD1sL* zKYa%BqzE0wyMd9n-C#=$>ExwMD2FgsLOJZ~C!xnS=5ht1 zjw)cT|AMXS&|9uj#0a7B?kBQM_->uZ)cCprEJ721&BaZj` zY0YMO>G#d>?}uD(mS7zl88W&Rhm}9J-xh3_Yc4J)-H*)VGO3dgVR>wSX>wQV{CeT`NAWE?sHP);kui#3nR)fw z$t*sq#tXkWc$tvSw18$EPd$a`iLpR6_lBXoSx`8Rr6o-xP%q}BP1P73AW`$eg3XG> zE|x>1@W>MZ`@Szgs$J!FVYkuo@j+xE^gQEl;Qz5G=!+CTxOZLn>wb>!GX;AtW~G@# zeK}ba?OjZESIc(5UIi_eS_96f$oU31#I-1HTJmrVw%HS$e$y4$xpr z6O#+Dcwo?GQY2$A;A^(Zar)k*N7}CY62YO6dXlifB3kqOPTSrt+cfN_LU8=|7sAgZ zvihrrk14Vfm|kU@u-l(Dy+7Z!!O^Kak$Xk;==t+Jb|VF}Ij}WGg|?6n0+?r-9_4(9 z$Bz)CXhu|U+oihPBQRO9+DSYue?v&(wcN!?ZFZh>Q&3R!PZQnT3=@gry_8qwQ7qKx z-97Kc@d1>s!fuOM)TJP8!8pl24NV6YTd-TISWf)|XmO0l*@^tQg(>ly3@_h7!J+1= zZe0yh;&6DJX0}D9`QLV9xi&!%Z|ehn)`Db{_OG{S z%YeWoq#rSSE11ErPZU&g>@v*#Tc^=&6Y%mGi(nkXj_B=?|2aIQR)#ThtdEYeK!&JM zA3x|69TgRZ$VZqndo^I3pv>wuG05OJpFB96Tp{I#IC|pX8hxx+Kad*IL zX?ReHi3t!S3KPY=37ig6HH?j+_4;}ya|A4|^GN_;^50%K7mK`~&T2aGFnjwTqo;U| zenG-xDU*E-C~Nl)IYQvtCi*TNdg$rvNVoi)-JKmKOw}%cmx{|`b_`ONf=U&7ycY9r ze(2lVf;4V}K7UdTi~nC$$O^;EzXbuNW$SO#BRfEDm7gZ{7R->oSW=(a=a@xor(J$4 zwPLURC{M_Ew;0w5H56WUq1|vlqIVeK@N`Yb!}A!lN^C(VsQqlo?s)zvg7k%g#BVT8 zG#BP^M0jQBIt5;;Z{j!Zq_FBP_bj7qt0D5ukHx@X91ynToU~~5n8SKvC2Y)eLxMb6 zD#nicF=U~vpsa-94uk z0KqVW1OtV0RGB|ifjQhLun;}q&yNknSder$iU17Ot%Ln;|ckuno>_5!?o*R%1ZTvQdKfS%C6f5SEA^x(D> z2F<>y0jvcA^m+n!3z=_+Tqut)e%P5(DJuaNgsxJnw1`U{j;*!KT`t~?n|08T98V%> z^Kn=r{zg?-eZASHh1|aPpu8Yen%ryp`jKb#JSN zpqy;??HnD~$C>&5^F_#~+vBPfp|4AGP>=`zRBOf+WtZ(|I86S6XfvWeT8dX+p(36n z*rOr-a~qQEf#~lJmy6iE)NXkU{oH~>y|p7eEqZ2^Qg zPo9_)9+GiqiuX<^OaN7%2TYMpg5P;B^xq~MIgW1h;xocbJ9dnJiB4B*KI=g|?p7cs z|63)M;{Aoovl|qdOl9)Dk_4{yAddTLrQn^@zVxao?ojyW^9vcJeAa-yvuJkp!?e)V zx=FmykL6EN3FYyszF1!3c(db{E%}deEsMs=5I5BthrzH1+`I?Ueko5D9ILkLsKs1! zW~QRT^lvb7S#pv~>D=g6)yVZ}o!ddE;LwQTQGs-%wirB&SWo;e8{#sg_>qT4M=|&; z*1P*Mby$ltZtQq`Kpq_=P&5n)mEcLy!mAIa-|*}UK}%qQ9q!=s}}$Xw38INFwI`I;RsYR zC?vxB)A3pokRMyt^EeXZfXzw*1jE)xXlYhEl=)dch@NFVe^+wd(b%GH9(` zXGZ&~Af`xI@g2_w=4N8^5~VMjagY zgLt3@)H&m-fuPES7=l#@QR0jkuuL6uUETlzJq~29GyqDRW4$P0Wv?|pUc#nqu(%@xbM zbv|vncR$+x{j*_~zF|CzBZaznU<%v+!b*k8MaEXd0B2-)IGxSqFq1I%je7s_Fp-Q2 zpSfHpYmSx`LRICR_SA}M|2qjaHi%d{dZf#dSY1uqU7UBW-z!ZkQYMB3=7Kn0F!s)s zbR_cg2D%LQXfc18HnK2v=UGjM;QI(!J-2@vY~0Y>V+yj+{u?K_A=Ee)$X74(f9bOS z0de62xZ)LNfKtJK#AAwWPeh0T^=YDlJ-a{mNABV)93Z*TBUnJv=wPM$$ICg4pI?UY zy%Cr`JXHzTa9AJO5gpV{D1;b3u8ZQ^0uH_6yG4Rnwa)JpN1APx_@B3+lU~;i>%mxk z-yR2fF-vqEt*huo;oyBS@6$#mZkN;Bq3ckr#2rU0H@v1d-2P%lcN5e0Ten$E>szL4 zsOb8+I`1JpJ+xEWd>~}-uFQQV9AiJ_t>XH0l zUlZj$Zv{#qgS>m~6tZvNi(Vz9+M>}>pW&GR9v`t>BK%l8Pq4|6XelN}8x>;1ia=n} zdJ%3Bb%{Qs+feu`Fv5-m)?H$MPVMUxT;Jb!{kzGqDt1<~Bd(wi_Xm}gUe)+H%=i&u zMY_J1BjeRJ5Y;FII?XMIz2@1vC&W7fI06^s7u@3I;m*;^5!^td)5WTzm3k8nN!sub zNz4S)8%lOXDBeh(`7%YJlYKREjRqW$BZVw(KQ&MX%5o;{=Xlx!l#4s{?_1#7{px0% zp7~f%-D+jTAd>up!+aaSM+SN!WHxp{KMnb`XP9-^pA5g6j`OmT4`>8&_UIo@PVh*) z#{o7qgl~^JS9&~;vYB%Oj&sGTBb4$Mv^8k@+3I9xwi0 z0nQj;BWl)Rob05DiE($Ad44#4uI_OC;wlm53q8c zH2ELREv@PyLD~5ma+)|grEd=;z6lakRFR}!4}3AE=qiZE^ZQ*`QCha5u}l>0b`ZQI z0v^9~4S}_Q6=ap5mJXSmju{m8u4P=5GL&tmSXk3LU}i(J&<6B}M?`t9?`y@7!m~-8 z=Aw~iV?6y2Z%YhY$BW|)D0+qM0KNUt(}_}4_lM)nMu$B~dW`z6nBhGj3poZvF1d{Q zAb^(b6(?Q@T+pjNa~#H!Z3`i;`v>W|f|tL!b_DQ6QL};tBN|%I@5QwLCi%iKC7Bj4 z)cSu#59`XSg+!uL>9fD0i3cZIYUci;ch~DwgCOBiLB+ zy?xIYHEeWXxa#uwJ&ln_xz@083cbf-x*QhX&?%i5=Yo`<>;&9aKr{siJnnX9u{$4! zxLrVl;ld?JcY-^fT3@ql`fg1);a-c&K;FV+wFNRLT_U+5`Jm{N%t83~LeP~`j+jq2 zKw(ausFcc?)HVx&ldCT`@_j|4Rm2fp3c^u6opcUYh4_+pd&Zzf* z9af-8DY}3h;K`U?7}ltj)#32jClU-L22R>6&A!>GlTKFyIL~pX)b*qQH{6e|_FgSX zzZWdzTA0XdF}y|@NCWT~U_xSnNn59aq>xf2?7%V#d(!4iO^#-AI|3kj0E^qJ7I|OG z3@s(908QGd0gs(uW*h23TM!jn`9SHU?n|7_Yu2x==vwAU_AP1y`CvEL1|gj2>I2|521y2q{}sG_0!|pnw-lnH`Q8Z z4E(;b4KgL8@2zPUOKgs+hV}J2wK+6ffnJHlgz;rNc+|;==!j=44G2?sT{OQ_xV3_B z_GVuK#e`G}OCXw4%>MvP{}z1)gS6g%i30U;7Z966bw;j(m~}r#_TMs#?-h`|_1hDi zCVO@C>9NvDe+&#YVHhI=4rupV_aC;1+L8tuqN-@=X-LFaI{y@UI5m)(LW~BW$?^DF zqH`*Qkg22qo~Alt{MrT%3pu&C+-n7NIIQMEuoqFhJa6nd*+mCMlVNdav;fR~&}FAB z`vWf3SR~-d9`y^U!hrC zl;3{jXkO1jCn^%~6^guuiI`bVj=5Swz|G^}(dU|FC=>i99*w{SAmfyqX^V9PQC{^U2BL~~~%pS9D?0%Dd7S3nv!33Ti*KbSFe8+aPk(&ja=svUf z&6+hysVT%YN~b2vO*-!}L3=170lL4Wm2sVoKtJ*^-GybnQ$cem^+cD`m<$9>hGH_e zz5);5r^dCTW6z5CbAjua7@PAsgHaR-O3-%k1Lt-h2%lal=e zmfWHj%QUc+Nu&4S3z`L}Y4URrNe!$%A}4)Vwin@4?FA*>)l7jOFtj2^m4&Hd)F(4f ziN22K!nLMJ(^w$hDn3yA(VBE9DMP;hXCvnDdiN}~y+QVV&Iw1m&aii4wXpzgH7k0G_qG7>?D+vP&1+>sqHdehZ0A#u*Mrac4t&to+bVm={s? zQ1Jge!0r#r;l9^&dUvEk;QJgv56f}cg{3-kyOk-+b=jq%%89s_p~`a^8>KSgdl^7i z0yh50h{X#T9XnFtv)wU9%3>vzY>03=>W04$kRfiVHkYDBSTAjbR=_6bE~d7Hc`B5fsxbAX6P(jX|- z6Jtmnn}B;_eB3OqXLl_BDsZSV*Uh%4XwGqzRnwULNPvBC@4W$PQ)s8EADM4IQHrSj z{#MSu{bdLkbnj07ewJAo_}oZr6~%qde|>m9{^EI6p;Vl*BnP6>IaM|7m6DTqv``ED z_bT%~fh5^YgFuzj-~Vd1>xOF3+y^cbsT!OII62(=ggISOM~-30h6q{Mv$MiUK2j0V zo`cx2>eMlSaHTasOoh}&oQZuAD>Iye*1p9o)P2hj`hkWf-%dtmRPe2diI#T2D@RAg zu?|vL@+niey|}eF0h2;SGh^3Pg_Khcy**jcD^u6nL~A0H+nZLS*(x);>n+zC7=+&K zyFav3iHYRoVc|R7UB8oJwpkRH52CTB1?Fyd1DTOFmE<9p_!c}@4+(xWG0bxGtLv^| zOLE;JuLs|?X1<33^e@*vg-&F?6kZS_82t28OH{rWjx6coeC_7OX~8?-LbYp9L&vAZ zDe`@^^`C4u`MS${gSx-cXf#)V4bF_8bKnjd!4F2ZMYyy=SsVfqtNc(C88|;v2CZqM zJU8e`H^Rjh$iJq=c<3hMtSwv5Yvqe3Ur77j2xCJR9)n!<}lTH=KENties_rmR zThr?V$Alg2dkz9N*7_RNNW)6kB^YJ-2_muJ8*?jzdOXRd+=0LE#frKu;8<4c7fIIU zc4{j0^z4XxU&JnR{ahgqqV7HEmdPnE4D%AW!ypSE&Z@!SCZRECeTai>ijQgVEEvx7 z_&F4VD=l7h6ZC${bFUFAiJ9v2NxJy5!Z!E{mxfldr61R z{DwNsAVfw3<|D8X^{3AD(qRb@hX3UK?lZ7=!S{;IdFW|NDUZcu?cQojL1K`{`EUa0CSGn2+D##( zg?p1IF;ci0U2O~x;9n}nS-#YTFDeMvx0`diwW6Rvjv$Kg$X z9MHu$AI0VHxgIann*cwwyClg)wC~h`M*-E}BW0{sg=G7@uBLEvdVKD^J11qiluuCo zXex~3YQ=S@Qj}@&?LqelNlO$`Kbj`ssnkZ}1#@p(y1y<8pb7VfAxPXmhGOwLi?}r{ zt--W3W5%L3z~Lx}v^%qf66c$BxQbCb=ix%ge=_06k!&9j>?~G&KU=T3)3V5M9VT!G zJn!DQZ#pjYTK2(dF-9exX zYzTh3yJ?(J;q$G>7g_LqYdF{Aew2y`*aAS6>vekr#G{@Ipou(gBdLJGt?mp*)^wgs zQ1j=Fr}evgwrTzwpzjyFS(#T7xB*uAf_D>Y(*kejRkeWE_dBK$dtX#(Bz*4eOpCns zi>;Q=gXyp3ian8L>!lc@!|{z(A81)}^hk(8*;7bkO7~qxUYX=MW+hBSfsb@?8Cao1 z6?Zr-U2PiWpvsx>Mz@*mKm|AJ5Dqe(J=_ zrdC5BUFR59FaAD(%o*XK|D1ZW^%|>?a6vBG!}6X1BVWos#% zr{(&pr+Xnx30P9l( zQy*7R@|Ot|qTpL~x1P)F!5&qNQd#mE{%O?rdzLt_M}E_-k4GuzS7m(qI3nNsSqeF< zS#4VJU*9@E;{N{At>QwDHqXbOo0)vpMI_2V~nzms|)b8*5w;6UPym3Maq*d-$&#OU|1 zxC~TL9`yAA`QFz!92R`=U%?W8MrPb`-+>U(Ig$BvhTvYuRjJ?0V!F+8^@;nv3bsDG z_2#daVS;HX(=&!roZ_7$iXK55u{AR5C{CF&&gbV2>o< zJrG~$dfE&buf5I%i-iRxBk%*+CD!b`Pm)6xYD)iga=Oo41~KKE`?^yYD*==sz_4AQ%3%6P z{DG9#{fRe(LO6M+xEzMcIM?7+_t$6Zo>C7+D#D>u-{scS=U-T=yr5F*J>>TC*%k=T zzdKUjO6-O(67xjxDorwEORkZe9i|DF^_&?}&g26SZjJVJ_BOrlCR>2wVn{Qf7NZ0C z6_yeWFsL_mNg@{Zi}}2DDE6Bi{42hQUk~T*J8H6EM#vL8*Ff39PR>bUIN?tlYc{4h%Ho^}Ufu2YgKNaYM8ls)BMu!_za;AN)T|omEs8T-2=vq`OlZ zNok}-O1eS1LFw-9?(RlHqy*{i?(XjHKKuL6IC0~hI(T{a-fOKn=d*TI(6EfjZ{FdW z-S;6XotK`eRY?25$e5s@pkI9>pCASrj`NG7`t1HVl9bZG_J_K)i}@`%%7>>Ut(xk7 z)jFgHw(`<5k+q-#TbG#`-KWhwFWJ+wUTOGl# zsW6U;rbo{fdnCLXe0M#_Z zWpbbe7$ye#vMrY@PwTg$BD-Cb*t=k?>FyRbUP497T_~J&K=#8OXx;;2|||Z zrP;r8PM+5em;X8JH_rK7XjEwObYj1aT44OuA@6!neoWqXQq<(bLrEcuZuEhLKA z`*`5TNLtm1P3k-Y=5%l9z`OeTlp@I8K#!H{R`*k@wrrAj;cDYd&6OiDPrHQHI!+5a zk7VNPo7V?Z?%g39XRW-%5X|rSBzOYYKH)@X+mE{X!`=$l^v6RpJx>R465D*_k+oIW zTqov7i_Fhs-!nh~$HD#K;UOi(g;4Nwk?ecfP(_he5uY%$+1(m)YpIT0H(8GW{Cby( zxYWO`Yo2#MMx3m(WE)hqY*q9(zWqZcw5=AD3or~&(wiAf%=UV0aGG6fazCE18=G~f zl61kxH%LhSCm%)!B9DCsZ+Fz+w(wb)HL`erj>eD)FL?V92MVvaJG8wn9(BfwOOX54 z-vL31NWiP}+4X7za(^Nk<6T;NPEMi;dvE!^p?Ya-tt$#iWm)_fov$ZcK5(SH0 zcL>nU@^mxa0TBWH|8s&P0OCm-%;RpL3gN6T1|2-UsN}gM9snv(cXkVQY$v+9QYHKM!gDXUcZPtD`o>T^1Fcg^;?o#ku+R=3TJKqB^&^`mV zpN1cU!l8;_b!8=*xh}s5j1XkA_{-N&T)}sEv9c^8u@>cRqNGzW377v?9}ssVv(JfV z(@ZeSyD*Z5v~jj#5YKdii7=w~64EFM@)W44i9^4kdp8ntTEx`yb}c6GZE%yVCCL2J zqO8|%7}M{tOG_HqN^H0cD)@$ zdZ5DnJ?nnDU>41bK1mdJxlb&uUT8FS%hPLzi%|(A;?tth9P5$u<}z)%A3s1 zKi@vDs@X->%Zl-{3oqw9Gn9b`63=6(K)u8-JQbI87bt?wm|@?bW&$v4Vxk#$4G!|r zVy+;nl?h})@r>Hf%uc4Ju13KTK*Q&>B0^q;^k6wH%hZeXM<`jnAoe>KA91e$w#xbV%c9j-(K(RA4!+C0vLY(J#QV;LBC_r!{OUJzX)L#wYx}5s%1Za9zCIQ3EgK^Ao1cqpZu_%iWqMY}IYR#hKjmW_ZQT@MKFp`}4~ko3885 z4rg!6?Jci$>)k83`JQHZ&stwj-L2aMURNaIsljY2y@R@U5X1uLPNqcfyLg2I+IXV= zUY@=2)vfvXdh=hE1rvK1jUG2}Ilp_9GIh<4=rKsac6EKQp=HRiFJ$+#=OTCk|EX2$ zgKi&*K-rrQ1g+s$S(tlp%sCu6SmCxy_BEoy4nf5zE<~iA95Yv*K-Y7BbxK5R2 z0cJH!3UsSg>WC2BjdJ+Cl^{BnReUZ#vZ(jYj@bLz_EXR1+ryr2&en$Ld;lCP(ZqBNe||Xj?F?QFo0@Ot62p0V z_NBf4I=3`mm-fMiu{k>^@ZkLLFUPn!>KH<5>Wx~J$IPtaGY@x6^_9ih) z$ZGlY1U|s35Gm|0RO%Zl*rJm-enLg-RO|R8PR1_&Yb7rZ19`9caB^S``r2pN5~bT> zud?e&I)w{prQl|f%Xsc60KZJx40htBZHfL&E`3O$(hJNO{}KV$&HxF_kFpu(-CNNY z4RWll@7&M^o{wfVKS~QRd?O8TIj-eg4cR%*$JBXR$p|OS(PNz{Q@S=Nltf_6rw)M5e&YT3^a3%fnY# z6`zmORcYVirEr+k85lrM%b3FHy;C}4$GYViI%aCPOndH61urO?x~C=+E}Aj$Odd$M z@!|C{37&02AxYwne;WPE<&VDiIyN84eDAuj>A!nCUr+-*Uy?iox5lv~l94Ng`j2K^ zD@exlMl{qLhp${+ZhCBOj(xZ)F=WPw3%RWNr2Ws~xf?z_i9w&1;kV8B^qOS(6M5n^Wuwzs=BJ~Dn(?z}s6F%rjVAK#Z~o>GuB`4`PBRPe(DK6n!D=<)VsDBK(a=`ar4 zvO{ZSwqgx0APSD>w+j7NY*(b%?mnzuDK3mi;jfK*l#*fRoln0vaJ3UDcCW2j=crgG z*Swxil65^ox8wvKTsr)qi>36vP-jgi45E|%+~%wvds(HwcO5 zm`rRAdA?=7thx@g3)QBw!@+Nq)tB=eCy|D~jl{jS8AN8hf149x)O9QjLPrO zjSf6B%5T60cTF)t6HB&pz!H!0` zNcQB}?|J#TIfGB=fmN*0eV`$pNu6`t#e1`$rhocOPp_(4sANZhZE7u#l=@?3y?gIY*& zWbJR%^@ncq%a2=)F8;grjrfXE4bsf;zDis>OLc2ta(LFbHM)d4@4eQAa^g6~@2ulC z&;$FS-do3tZ?I^ggW83{02^s!sA-2S+Lw2G6aP{4@q^as>zE|%;!~!BMmVP z4vctI=Q7S|E|PxFnh?iB*6WI64-2HhiB?Onf-Gw#{pWJA`Sx<=T|6o-AszND6AZhF zy_anxAZdGwF(%yf6($CXGVLDb>C5XctB1<#Hy4j82;FZIlXYzedJGvG&;1Y?3HaTT zGo6yW3@PA@L9}eKN=fWqFu8|D5K3@3{2z< zTVRkU)VUyjPsauDy-Ef^F!1lUL&fGO)o&Y1yB=BAQAuI|dyh@rnk*Je1NCh`#gp4D zoFL>rt9JajFl=X4^}tFjQL72N5cN>vdCHG|4qFR6lc1i6P?q;Z$VfTKWa@&yiFhS? zHd)k@|7w3i!q`dSb++Q8PKpn&k0jI5vC`SNVFiiN2vOfRr4&lWOBBLN88LCOMPxpo<7LcP_Wpp;*tXN*Y*qM6@CLl- zSYhS>iL~r534EK za(X_dJcd#=sL>BEljPRBcB`zn*Ao=`zNC^1(MZ=myNw5N@4a6MdbhWCa~_H*epaPy zG}3NUP+-}%zWzAukIlDk-uTr=>~68y9g2vAMcPM;2azq3(nrU z;G*mFSj?X*r?0WX3%WRJ4@}m_>%E2kO&nw&OW&t+vl?)>md!;>h!Ou$E`!gtGl3So zq*>R!^>ePgc??w84ELukXRSc9_I`G;Y8JJBzL&7;`*^nftOxY3apu?J{3xFvj8F^m zc<2iPW89!gUHc%g;aU6wB;EO#6h7n0ZPX$y&yyJ>WX?c_HQ?ZOTt!RYrNS*EMz^M@ z=e@2Jj^?}U4?;$_spe%yMXXnr7~n9hi0Dt7i6wy(l`pRoHq7O6UR|zRbwm7N8-K%+ z^tX@5UYeozh;A|KCxUMCb|Z&*kEXP+TqMB^ZJEY!x80u;MGl8HD@J>jyh)STrb~Fhy+g3AIY2O)nz>sly6A;S6k$g&2U0{Lh zMTHMwoYX&{$V@EPX(4!)Bymw(82^f+eKL{HE8uTXp^h5b6OQ{|yjNWOSBPbm+_j{) zjUYa0@0Z8o{2X6c$jNLFPXN&xE{A2hjw7LOswS1y2d9GEx8}2D9be?rlar${2uRh% z-%&2sS$j_*b2=PN;#1?Ipue+kp(J3=HB+u&)V>>kU#c&hP1(2Ly7v)$=_XW?KEIsQ ztyN1UP^B5!voeamop)JyTVd3S3XqCZg1)YcSIvaD&8uBL4mCzh^ikp$_l0?o;()T^ z>2LjF+7SN*EOXOFax(ko@U%xrS*LnaJEW~kPmzv);C~lltLGzkWD&E4&qde;-N9K(#Zd zhEH;dR0w5{nEI`)>G`Y53`r*Yv;T(oZb=y}Ei4$od|+Dnnc~|3xCl)KpMgjB2(H?Iq2y_M}~#>2Z0+>ub)rYTqGSc0TGq0_Q0Xs|8i1g^G$wP)p* z3}JHzIXOy`Y?`h>e>F=QQ=+2|i;jS73%b{LcDDM$C)YM^)7-X20Fw37F-o9uyo5Y%JophD$ z5qaHjgv8}MfvmmRikX~F2~wf!v54ZqHo!QXKNMvf>gRRZ%ToGvqrxT861 z5p1%EK{yw)xpL3Lk|F?+i@&T%%G#TunBC=1;DZwb(ZbF+>3Z2B?JWJ~{;rsGR|e%& z8!K59YrpNeko@Zwj|)}AA}`L9$0O_J8=T7u?-je1n>lUUheGh~CWvi?P`#Jv-elds zhRSz%Oz1Fsz)NY@;t>31v)b(1DjKjxEZf9;(p~h`dRdJ|)$@gQb!14b&8wx6-<`;# zKlifmqzhHx7~E?7+cEx40Jo-Y&w>D?W0J0=M#pqvH)20Ui(nEb7ZSL;;~5;#j^aTn zy6ffq;&i+}LSqk0^@#!i%qY*~iX3v>)CTSb<38*79IajWpIQvW-1qCm!`JJ4sm%JF zasn@u$mpe?{#s&SpQFa~J|oYR=r)aQc*Y7T<8nzlD;T*YPwhe74(n&}=qiRwZ@B?Ra=z zT}jg;>nEzwd52q|p4}(=bbG?BO%sT_*GJ;bz_47r_Vs&BPmUp+PvPec_e{c4r6Q|L zo*Pn}(4aeu7O~&o-D?)@$CCbN{Ii(J>mhEc16}eJ5OV)4l*>3TC6+!T>;2<2na|-^ z{d2qg7rXRiA`jX~lij@4ed^ap8d-6<`d^&3RHn=s98Z_%YNJ6JMhVVT$vJcRHvqff zIXZ3wivBA11<`yzY;#c@m+#hv8mRhldYXI)V^b-pS;h<~b3#^e+-*Qz@H4yZ^=8aP zY90*a&OgJmJcdX9n$P-d4jO=$s{h!+YcOTlErov=9$T|ngmE+bJBSf~H98*c?(QC{ zz^PNRyiS}8f3Hzf-VFK8{{3Q3wjUynqO?Aupwfz5DCW{(kht|5w)N@v07GhI4DdW&F01Z^;Lp3wRP*3ch&33@+DAuVvH9X z1owm8;Du)!LJHJR+)EOd+f@9&o76bzQsKbB-I zkB7u$RD3@9v{~fKjjJ&duLl)X9k+!PDaMxjO_qE{BF~QEiTr5pUA!>UeEjdwq=@N7 zJ9E&V+*;#wbJQE`sI;Sz7NwMc@u*hi2lNW>Widsr8q6xxsVDdti*cw6mPto~w#VW@ zAMjIIc4uS47YcUps;3!pzRlsF8dc!6f9HVeC5K^1IqWv%SB@}N>;UGv#E*|6U18Yt z*Jz}$_TPSH9vY;*ZTmIs^0-y_E-R5@qLRDm)}Y>mVI1C3V>qAOu4*R!MYN(*P~@{d zCF0NV@q1P9ZvyF-Kt$XhIJs7!E8AY4R;SLyfvP%aqEdPdpH+X=k9WAz1#Ra*ghJ;KWb(=8sgtyvse+!LRgZzuDY4Elkn0R;%{v&3$A!~&|B;z7i zF8(KKQ%*r0<>7ovv%d*4R_M(`J7TNIgR|#Wby^AFz)23$pd(cEiHS?hq~6Z|&3{I^ z&8S{&1o8=&z5T}g(}2?pL@iDed6JW_ctbOvEj3Yz`R0EMN|ZAuGim}!cr=UGnONwH zNSoZ3hk|aen#cfQXlU1bvFOo(`x^?;C-OA@B*yr?kw<)Rf1v0y2p5tk(qd30`5E(f z$~Xl%T_IQt3PL31jC&m0_RUtzz2kPs56Z_VhN9uy2*AwwH1)0k3iWT;JA948y42*| zoM|>;6#T}oCv0;30Q|RRm&$;l;dWfrcbI5qs;Up^ODhQ#6E96QlO_Ed^7&Tyzm~)% zz^!;G&sd6~iDgz)^is1zQQN_eDAgtdz+qcndylLm2=4$!g)~+?N!*0!!h@WI&d1O1 z*@p6Yg>$X>_3@}e=z1r)uZ25`AEQX6COj)qOTxtj@(E#c2|7!Z-A{n3MZXK?0Jgdr zqEtJbMf0HF3PpMLMaNR3&az9>)p5NtxMCeMpyL|vs#xWzSau$Ri%yzhhCMAMNCe6qA zHQ38kqkF?7ru_q)$cd81Sg^6jfeO^?)b}5z-ixiie{(QQibdq(s^X-kbs=bra#*mnow6cq61nlhAubi?=qIjDsX!CZr`L5}a%MKQaOLBu8A$_TAfTOGz= zBMEa%s^Q@8D9@D-6v{YGu8M_CQn{Mr?%M0;=Vx@l9#bPvy{<5s_?MyPaeuziRA)jq z$IlmYR>(&aDhby)1EF|)sA}YR67s&0(S3VdRfh-b5kz5giA)EKM!q2vhFcVC-1z18 z5!0UvajL@zKovNx8Ylas@W64G3aI7&$dfX{>JT{3)@k+CX{irTMAuW|@zC|Ync=@% z_Gd3eJ5X(LyNTjG;5(OHTUf5wg(@rTq{en&t&SOiOytm`r9$v4OWD zjpKK&nBbRNS6A103NP=S+PR9hi(T`I1|ZIrx0xN!gyVeb_3)A9!0n7UTUO?Za3O!0 zo*L8k?i!g}wZZ)NyEp2^b|N|C=<+a1bs!n_4E0AU!3{332G9l zN{w&SD9^JF(N+D&SSZb1q{;9hg0Yx%bc~D)49Zj)-Ll0$MhFtX91uH((Q*#?6X?1p z6(JO|ljC%xXm<+HQMY?GFMi25cQyEOVh{&+{rxePWFM&Lz;qmkkiwMhacygwUpiUha#1|`|2xnoSb!J?psNt`Sn^#N7l-#_8Gi|jrQ@{l(!<&xK35=JNfdep64B~)fhX2C<@r@A`}~BeMtOy zX9{W(VFrwr{+>QGc2bfU^r~eEt(A_&7uo2A3e=YqM6gh+($kGk(Qn z4q<7;2!8-LzV zxFPvP>adW$%7gfs`>zKMtk5KaW-p758suj13F3~WT9;FC_M`Y;+^!2%wZ7c$rdy@5 zKKLi_`QtiH5WFW1l`$_dUP5~uk_y6M(s|FuRz7?6<)0S=^^mKG&R1oQG;X*-IH1%72r`quU7ie|PNN`)969nXN#WsCC~@^r~u ztr%F zRpoy>StiCZd>3qeT&h#O<~mq$GAD4NKtmS`0yJT2XoDzes()l|=;!&!rU_F--XVmV zrxS|&boOy7{_i(vC2|JN{B$YfJkar1u(p+oqEgtk5d!ZWA*G317xZ&fR~s#KqIP|GEXRLeD1f@>@E|FlYo|CWi|kH94vpS4~^l~+~j!x!&s$2MLL zLaNGYEbt~!ZSIa6Q(;!SbhDlU3=l0tw_jFjV{tGt$m@xcim*U{dX|qM^0S$iH;CG> zn~nS6n3EaY7I++}sxWJ;LvI7BPlB9j5X##Ir#!~7e%Vi08)16Ya+)MDeMI>VCZQw2 zk`9b>Xmr@>+{33-wueN+2ccgGpRH#zWW>j_;xQ}KfB#}kYH^~f@>rO(ZhO+O$Llm} z<@_kZ^DQQ<&+zC-Fn`Mhzq=LU{Kk$HkJ2ybx&#Pc|tbf#hKGw+s_~-7hiIzEDl!Nb`Fha6jK{sN$?2pH7 znE-{|&w{IKcL0cxP6Nig919Yyy@N?AfN2&uEaYu6t;SKI2vq>@7rH^6nwp%Pt{ZbU zgH^1BRT)NoAf5h&pNfog1>MfsY_fRS5;4(l5N*w}ZiNfUfX?X(cR09@RZ~QYt2^eC zR=s#nOb0^wQnj(vmn`jq9%iqvl#ObGL?p8Gk0Kh_T;V(Eb^YBz7aQI5e+CCvZGW*8 z(ow0tzxenu?_TOk7-85k>O`;^3w9l-^X5 z2g5UIVhf_vV`@sdi6Z0=o8e4@wLI#W)jbY6I$me1p5p}sr1S=iFX;FB7jp*DIDn_~ z6U^9RyK0Nx6Xv0^R_h>fKY^L%{zSejY|a`qspx8!k%K9)nwGu~gzMeBsDEo#H^G7r zWC3V1l<#uculz=EQk6(D0Q-5$u2wUW!m<^-@V8crE%pj~Fc1-D0pF$7Ul`bzdDlxsFq$_YS8IKK|Q$x{2i*a+3)iTj)b>buBaoJL@{DxI1- zuJa==04}ZqRYVrD4POweABd%f&(VH?LX&zskShx8%2lQV6TBLI!wDJAH}l8qgREjy zP2|R!lk?%2sBUJxJ0SN4*?yp^StaN?qSL5c zp=M>p031VCb-rB+4{q>2DUzjL4T-RXYl#l|F~|3*eklcBFoK<+C3FAZxeEMh1H_SZ z0qesWQ*j&aZez5yWFF_!VR}@}fZ0nNIW@U~N3$b50WZG1k9awx)EMx0rz=f76%cN* zWOJEWfhgY{1%}hWT8&rdmmuW+URIV9?`Y+ydFT*;k6j00h~3OQwbR0R!S-8^>zK5_ zKt!A$<&c1)l^#D->~Am}1i}0br-ZyP4+sF-*IUsM&+k<0wNyS^uSz2{P_{gsHr>RE zGKd+IV1a4+0T@UMqoWim8+8{V*s0w6yxg^I$AvRC-gindHQi4Fw!?ZSIus1j*NbLX zM8;;DY3yX(DgYu>rW=?k*UGq2;R;cnQp*!F%oTT-U3LXF?f&f7=j8mS8}RQ8t-3y~ z0QWF4x7~dpF0kNkHeZdt?VY3VT@2Jsvf&9&!>rL!qOHkgu|m5~oPig|^EPs?TR}@P z?rTOqy}N}xTJ+v@nK~wGiL%+lrST<%FCEIxpy5DqMlc?)ToL2u(R7JF{~(oF*fX$r zYamP)Nb6k*!hV=P+t0twqoMHc_)uY=YpJx^@4 z+RUAq%u@RqeuXrO(H|_j$OLl)*1|o%;d6DipKZW+n?_+EfT_I8P4RCqKKXu0<6SV_ z*XRe7=>l0NVz&yT`0w}7QaA^eSH!#=rg>C0IJaJio6;2shP&X9N#yHX5W64e7V3Qa z1&s}|l*Dw3#2i}GsnQiXwck~2$D|tp9H7^*zgapPjF!KS*`Hp7N%T;levg+fpolG2 zmC+ghVA3@J7m0PHvYD9fXV|JDd6ilz6222%Bu5l!!R}?a{q&vD6lL`XN(15jo<|L~upZ_Ej z|NkVEXM%kpG5E>GQ&%83rQRk_i0kdR1Et@9J0eGct;MH8(XY0$9WVAs=*;G-pJR%e z*j>7HtXBn3HNc7vBNUbY7O$Z(u%`gWmbT7or5A92oO^-6-fpl2G&eB*6v1*iwv_FO z>G8A?KB!4d4+ll`<&7YW3<2=R|5DfFN=>pLfK0RAh`E}5KLJ8|xA`>oHN4{pe?O$y zPswmnVo>?ANRDHOR0&eQZs+PLScr4WUZ-0ZMG-h&jOX^XzP&yTPzvc@@SSvTs(wL> z5oOMoyg*VGg2~5537iA=A@IaU5%41@T%T`rWqaN>0IFp^M&W^N#zwBb z=;q*{d}g;5U+_#O`C3e(hJ!God!DajjF?lSD=AF02hhr9^Ev3&?{IY)H2*z=@(O~QR# z)URK?;y9;$i76Np_me;(UjVbW{rT7@KD^>G7DHpNWL>?R4OU`7FeFql`G=)?ujT2p zE9;#CSw!wO?iNePB-+x{H!ehFss}JUp&g`i@n5H01JJ`Av~;bt1Y(NpJ(8p3+#i1q zn`it^glVY&bC)746~@HnCXEA(WfHRzCz{X`QW=jE_t{{IHju?*7Lq#Rp)3{-?734@mN6Uz=PQJ4Kk(y7Y zBOPXv@54Hk*Jr_V9C>;9cXNP!Gqw?Y_vK(ap0Uy88n{MZj{nLDT#gIZEqh#v=6`!z zJ9wKr>!-L|a?bvSe7M(Zh#o~h?6>;f&+65to=ejMMvo(U{Ns7>;{O}3(GkFs<$9~} zQ@q>75dTV?1O^2he0pzCYGrHbGg2R^^gc8z{bPU->omVnjsxr3zg?Ha0s0x4r!`_u{n07VPzV% zhXCrt3x0&R>mmXE+x`5%t=XaCYHcEW9Mo|pW@Zb#KOXRylO}l6pt`fxoh8+e;^n?f zcns(Tdfu(fg))cvy8{L?%1dij0*sRz!c@sMs=%-p7~d2tk9!E|Zl(|-1)`MQg-c=R zdcK@|a9-u#Pa!MH@LB}L2bHR4i-!E@kqc5{tOL2MvK3__6o_>2(6T_7H;ne?ZAJ^c zTqkK-gFGdCA2RPNn8d$4duL-?&4>K+tQ$wd`^tGv!>->c!r12-`0fChox->(^18T@ zJa?MH@H&3T>|~iG*L`~;d0*)S3T%T5E-AjJsv_+;s8AdKAY@ZcrUcuBz2Q`0sOhpn zpV32((rl;4l2{uooXhwiEb`)tSI?tQxekgS!#@Y$I_XTc5zz@PVf-7;;&<-~Le}}x z1hJQ}TKmMNw@sc4bQwnw@7puR_|`0y#Nc{8Ay!Lf)rMy}YR|Gp|E`TKOOn#XkQ=fs zj=bADbaQi4JOB}IKDX0^SNx}ts{0n=p5A+S%Gm!TgBpY%s`AOA8o~A)F9Su{hw5~; z8Z?|)Q(?@ee)l@h%kv>fc(tHkDMAK@_2GWlFFgtYoi_|rDIV2S6+ zm@3|#F$jE8Uo4cm8`W+Ei$@9#i$*{2I&QZb7J(HbAEtAa`cQz)_K;^g#c;dM$rS7M zT$6QY)wVBlr7_S6))x>YcDfv(Mj`Q91tQ&jKLslP z!}gZ*s_l|-vW~|rzV`{pCj`p-ofD?l{Fa#@GpVTFU<0{k;{Uy?A-L`mF^RAI>G|*2 zAB~2fIYjKTxvtX*vAgKrJT+LhxP{~Deof9KDnmh4^f4rf_7E`=*My7Q3fKx0=lyX* z`TMQB9;VjwNx&Q)%a1-saW667Tq2#{5 ze}+DecTSs5y?H*JP-nSp+V*{LANo`$oxzMg&^Yy%s+p#t5@I20;qbYfbr4lie|%GX8JhK<(kfC;2bdjwI5D+xm) zK&#BH?d5SPbc_1S!+kubjyH(a9*hMO&pvHW$-bRIp$=yYWY76;3)Rdj66UWZ1;N8)5da95y z^c)@l{m!Q)$hg;QC4&@1xg_MU2$@Lutz^Ol3LpWNe+-F#d_-P7qqy=c(?36=zq1fV zdhQHo`Y+anks-dvw%7L=`iJ-BL|+QTB9dL@P-x$T683#VKaztGbp~@8prAMiv%GRW z0^$1JFA%ZDIW=opL(gg*H_~?@gwSm>w5ZYHWK=I2T`yTS6TQdrbhYJavDTc-AE#EK zgplTZz4C!lGA>0=T>ei8NdK2>MEzw`!uWG!loWp?Yzf&@?5D)a)b?NMuEp*cKvbQ2 z5><72zP(3RaA)^-yS%isP1?_8->{mm)G_iP0v|*uM7E$eq08he@Q(!hQZc4hip?*kFqdRaemBoeviC-J`RD zi5Hu^-vo=^)^q{CcHmRps@I4k@Xt8e)LHR2I-gw}ynQkBe?-rF4)xv!1OP+ctrjM* zQ`W+|zCDgAvl)Xyp9DZf)nOifD^dsGRqM9BYBjKA#2|VaQ?y^o8_H{ATW5W}3|_GR zC7sntw1zYed^|5G^CY=*QcNu#;KlZS9-t2KFhU*_r6JdS*0&crsNCu`^guyM3SnwK zU#_>^0`SV!96=}@J_Wu+6Gn#La*VQjW4h3nQBcxPSQ9E>%{UP z&$J39<`ZGVOuzB)Tc0*VBcgdFxWSR__`(v0WRT!8dK@17yhf~0>~tSm`e$wr0`S}0 z+m-m`z7O{VA~)bfRR$$DC#wY5o{uh_y&jBt^ILcKr@uN5O@VMF06kW$RYG{`%TcWOh%2w_Kw^NCKv<8h$~ZV0%-3#NqA*1b-N+SfeD({>uQn;iWSegp^s z`xA8Ux2EAQjf~479!TAHY;8r&bHDz&BYt5=%)z`2TYyj3gF5lGFIB1N)%8e(eQckB zg9Q^i%>@&%>vN;$!Ta?p+YHr*OoG#4Putm>*|l1uc0{mg-o=hP7rfgxNeIWZUCr8; zzg4b8yoncmFiSPtRxkQc>F2`1!=Y*2qN14q8OLp-e7!AL|Rr)YYTQ+JcC54L6a{a(5nEd-=RHM-W|2fo<2G;V<3byX` z?C;o`$KFZZs;hfvcPRRq;HID2??-HDDkFEx%LGY^cS#;&(;(p3YZ@5P?;>Kz(w!KA zkm*2|I(;W#+Adtmnr2KB-pTs%{izThXM%AYG+EKbE&U=2O@d0hjl_!x;8LKc;fMsfLw=TcQPVcB34Nd^p$~NBvzBWPlx07 zkth14dx%GYrI%Ax2|+tqh=)<%?&0V%;L=zVZAwVUK3P&JW6eF zzuFbgrI`99D+akmhAsTb>CWpXBE( zQ5I5*YT)A$U0m$C>PqELhEJ%~2xA=|_0KQD7_uMZ_f z*jx80wrI|IiG2v=;GuF99ZVTHqD0|< zja^zgYmQHl>R?FR`2p~AIj0SKSx~95ST5+CO|9@EIa)W8YIVmG7aW~9hRlU z9O06ZR&86O?UBd zguY_Ft*bBc>7^){=qK>m-353tMzlPuYs4f!jd{Nc&)Ab{agxb#wY~Nd)|zV=r?)?l z*7^1?$A2zVy0rLsrY4}YRo7DJml7IqDk+Ab-L7>Ch0^!nXcA4l0)q_Rq;KD;_%NHV z!nMB^?EMOt4ExVJIPdcp=Py4_=+5qLjmZQgYhYktO7=cKi5d0B0s23kl(%VEP~#?i zIMF?ut``~0E_~F)dpU5$@zRu_oK#VsRucVaKwymv)Bt`^umh}uBBy2oE6)}uC_aEd2vj^R)pGK@h+_v|G z1au)a$KprTR|~Sp7)6ZS-mBmcs65W%DiL$DU$p{Q0*-Y8u{k9S zC<@7j%`o~(pCoMbt12I`I}PwX=Z#feud9^d`=#w?x@Y2(QP`O=Axe*gi z(nL?9%KT~^Ya=N53Nk_f$L`y7*4hMCD$i_xR{l&`s{CQHc+iuk284aI-2f>~*LGn> zHM#}3HiDw@7zc}!P<2MTWhjQb7YQ!rmmBP>OoC$Qd{+TBhbVSc+j*^!UVT@xc@ZoM z{yX|5Ugq*a?najP#GyQjs=kB70qg|10P93z(0n*9lH=3qo!L4$x#FJusZIlv*Yi+5 zpa=!Lbs~;M5;%5%wB{TaNoFjJLMFXdX=nEKfl%_tZy9Q`78RfW0DoT1(^(TP0b}ES z9*BL+mZ@M8)HpIe#~-*Pv`x{!>*wh>LMJ0nrW!0${pzlGk`m#mx7E@{wsA{W@?tM*6&@;Zb+k4h-l?|l;wdyG6vnv)ZZoUHLc06_PVAomE%gf4h64F#u5@ZRlsCj@QEuNWpAj7ObZ*CyUekQEIyNeslMZ z&vf4P6Q@sr)^LbCAhAnydIhLqxhxu0u&f zQMZ?iXvihhr*hik_(IHSG4OMN5?NVFUo=U! z?5!Jic5k0f{jG#X@PB4JfOlL^#}-CEmn0Nu11Esl;meZkbv>{p$CpY$s`&N#2`q(> zENVDalKW!c2k?v=tIF_NzIq#gGh?~f%x$4jWpMMSZZ%1k`T*^D1Z2mpAW|g%{ep!lg}1h%evr0k2%(bl&h_ zf-*Dey+O{cdtJ+3mOB^pHVSl9%j^O{^Q*WpX@V0Dqn69&0CfUZa{o_4D}*bG#4w)G zOy}i=TqUvFvbc^_v+>^vM_+(92%z^ysHouYC534#Qf~XRdK=(cvfNMcy*z>>_A_@rJ zz%H|n070?{KLVpIqP{OoOxDj$XWQF*68x{2a~mXwLf^3luz%EejIB5eyml)|e1RX^ z`KfTfC&J@&=rA=hH*|a+vCZ^2n1Nd~2{VR~T^(%EFBRq?KbYXL?9abSuZJib;KC)bS6`ew3Z95{&q$NK=Mx<#kSx(;xP zTP;;aPzF}1m0!msixOVIO#B2Ji}eK(R`hLlpIx{zoycN2KJgW2x0u6ME~|O z@3%mR>99E?C+)ZPHMbilP+Oz%7Q~e2lU|$S;ZUJrb#VncjmPlhXv7sDfX4s+?Q1b< zh&u{9q3OuzWQ|U{DxI!g2p_%JYP-DoVdNrUoA6GfE^351EnE&1!uetiB!$%ZZ}e2Y z_a~MCFPHO$Rg1D50Kz>e@IC8EHOf7zr9m6@GQF{Q`xiursC~u{HK~%hD%IKyHY?L0 zhzHH475qt}zJL?JR(}{+?2>$v@+_$kN5_5ciw)ARX1jr+P~1#xSOnt4_6mXz-Yard z`KgU@F;a-(aC+tsXKdrC3`L;NuLTl36lIc0OzZj=ISoi};GX)_bbM$Az zlZa7b0K5JRzZxjL%@>T`x8>?t8}eqV#{?rVZ3$a0)u!a7Au6cmyJZOYWLu1=H+!n= z4jE?ah3jzQVu3c&Pfgk{tOBCW52(BocsT~u=S4^LB(~=7fzMXU*Bn*)t_Y<%va}d+ z095iE1C2Pt#X-Bw4^t#BT zRrJBUUl?`7STOg2QM4oITBUFte*3gol%LNEk*J?XFODrN_%7MZP#ggkKern27Wr*tH6O}{7BXod;IZ+-G zV7|p8Rk=HSF&-dIm_tyIrFJx;b|N3y0<~1Ovk&idMS?`x_DGsN&*{itX#|6omBr}~ zl98AF^wJEySmF5~y1#1^#SZDd(;6;ZC!XHJ%-`8xBbY+`bH2%V7m-D+l<|esJP}-L zTLhy?^mVp%rrJycT)sHbQc{$MmsNp0$XF2P`Sa4<;5oS7HzV||_bH-9>g3(1D|nk& z6_4VFYx2@hGcbz&I#g(G9v|W5ML_y877_*2c@532@ZNrRZ~noixAJ^WSi5{u9rc%w8I)mNE;Tk&?b355^;-Xo&Q!EI zgf_-k{Zlm#&0dY}_?o=zx27NzjXf13BB%&XlXgOl86fO6;!47vlE#By#Kld8#`$Pq z84}?j%IIW!G*SXzz|0{WnNtUY4|8J`-}tDN`C36%2b+|&7LGhdzWI|k4iHw;3ssPqn)YNzK{{#ucYttor zpUIoZdL?*$s7_e&d5l${l={OXFu>HVuFmtzWQlm%|dZi@rrg9AP zGUm-@AF+qWn7_D30I2efI&Vh6*Z=T@rtEQoZy|q_n;G+d8{`w>jR*#=9GPVhQgL__ z@6-jVwi5ioto9uV3Zp>+yg!mw20X$s{1b-3{7de;{<8+~w4e!_FrSk~HCK~Jh(d&_ z$&#`;M^t>;YAJn)$&Czr3I09itB7J&%Y9nlPjlQXGt^w*HR9;o>a(o3X00Rr6hS#-l0-39{UJ27KG#N67r*dGKYClP&dVKuEl2|dZ_^Eg1#hG3l0o#o z8GTk4_KzIiUO^`Turp0S?kxY1QT%v%UtRdMUuSe)ca<0UwwYj7lcTq~8v0)GnTeU7 z1ZbT>dENKN*E14%vn0`2XG*kN7)V zkdc}w9F(K^4NwTg?|T52?z#PeLLuM=z%dl-@55yZC`0G>=9xc*0M6wozk@@6-2uoW z=-s_5(OLeT1pfC8MN&J(^A>+`EB6`v>d5E$i)8E%!6gOv|9mm!`Y`?Caz3&DuX3@( zRC;njZ2qerW%%EjWB;n;{pqv+bRRRjOsU@vJ%h>9Uwj6CQ-1s}7wgmfGuqz_igbYg zDW?+bcQ){!j|H6lytV%b<*#a@sRPb6|NTpE>S+Lp6Mw(a5CMTtaq90(3V?k2cgKD< zK9jis1PZs07{RBv_Ln?X;BaD9H(DSwGJ`?`v*~&W4fN(nmTlh{V?TyAX4kCML629aO3W*sVkI^R z9iVQ|kZOKbo&W$519mpSy2Ad>$0tC7R|t&Z6vR?4FmF^&hO0E&Zji7=WUtt!Qc^xG z1&d%dx7C=1bGz+fFrhsod#h0_X6As`Q(zzVnKt(hgb7!+i zhnS-p=vir!sI-N^+FjjMVmeOC&sj;d@w&5WF#(93A`Blo6CnwrKVw9uKs(wJ(h$kI{@eTDQ|^niOUpQS0}SZwtT zw7`%qB{d$0lBYTrs!&z9m#Q;Q)vQ*4CYJUls*rDidh(zqfsZUE?bunw91T@fV%4!7 z7vhxMB>l{gN7aWdHeQfMEiG@-n3c#IhReIx9>S>$l3e;*KKvN5+90lhZhl3I%x^`Q zlQCcZQvZOpTu#kHoD`&E#v++#(s*cBt`rG;>N7L-PVyOzoG3ifA}xE9i8-$K&H5|` z=;7y$Vlr%eTH(+)gDXv{50(2}ayHc2+|;#={D_BL6_?Uu-H&B3jg#xW%CseN8g4KX zG1c{DJc@~ez)xyklV7Gg9NE7cB-iIEUo#8pg9@JqXQc`aqp#m!mQuRXqb6!dRmiM| ze_0<}KSli}Djg*3pDnZa5@Jrn1(P8=Vr{kF`r=hIK}*N20;m5M(j8zxS*v|mt9SPT zXbJTHMN9CT-(za&Mf{+RQ&!~Munrwr%-#Ots$%hw?_Elo1Kd*ndvx}hL8%?Z+E|lD z1uF||#%=D6C*h1HLxi%4jfZ5OBeVR;@z>=JJerKcjEn{~^H3hX$PihqTDUR~!d|KY zi!!kEnZEQy=p!kewj*rQmFVyVmpNpPY)7GbdCCxGRbwg>0Jz59=Za)hL3$cNpy!z{ zOezx4E(nnYvRwVl1I>oS>&X~{j!lXAw0k=2L@5QDP4$UQSr!7E#YricHW=)B80B+c z?1BSztxA(48OGJXzREkPkSjf>YEilfR`4)%nk|%4zoqr2T7HlavuqnFB^6Wuqhw}4@;?!$KDVAEh_<}V8(za zFc6%Q9e!#*nm0LVP_|KET~mk@(?Ca6f5)&a@C(nD(OeC~ELN%^iFLud%+wf6$xS3f z-OrKmVGjw)Kne`6q_VNs7^YhrKZ>7aw7&INDUfP&4Dz(Sr8TP$Ix&)E%!#vBfoTnr zR}#@?swX;Q@^yAV&A+4sVfNFiW7@ z5y)SDB}ST|`-}j^eA5>*nI>f!$hpUBcNfBzk7!&hMuqOg4(KZ+aN@ISO`)LJKSWdi z?*1@;4N!v}E?w03Ti}HD^p0Wgzkv6qhfzX+O^NAi)z~wb#)qqeyF(*0fNIIooJGC&yWOY(XRt+XZ zJo%XWa&WqnYBgP_Uh2TKNf`|qjb z)%WY~iEJNHxJ`wtP@Dd-Glb`-#0{4*78SuHT@XbsvL+ZZ1PO3=6I_RG8Cxg3NBn|& z9jmxuH(^d2kzQ0_Oik+OHTx-wl6y_EKoe^XH-8PGMycM`Q4|q89tU>h`#1Wx-HyJ+ z5XJQfqTG~Y>59SA;PVO1W7~Mx!EjCwnbbH<*S_%V&6&i$Yg7XIUk;s>M&JR8R2&@* zq`Viy#3F5QwKsYV!IfvW=IUv1e(y%R4Tixp=5R#?aSlVd+d#5hyD89aK3rpjcp4o) zrP&O%JST@1@Ta{yYQa_~4h4`pZaL!P4RQH?q_;9`1`^A7X6&U!W`QM0l#5W&qK@G~ zDh5;^+^N8@iMu+c6R9FBRapnY2FcKv90>#$@D%BFf=rWo3CMYw^GZnC{GQL^gby0V z>F*MUj&{Unhf4o~0mKK;ZM6*WzowR@C7bZ1zKp~-^XyeL;r7Dt?*>O|Qw+{vePGop zfGrZr+%$~)%=W5nQV)R8CWC~IQPRU>b|hAR!~+e zw5q+;2I+X&&jO~21Vy&2KTa;wYjoae>zC_d*QDhlmA@=nKQXocq@7Rm^$6~kpPj40 za4I0b^7=;OwxH!{z{S?fWi7{!LH8@yY=sIw_0e??vu>@JPbN{PDdH0~WQoM52gXxL zsZ8k0v4!hWENOjA1Z8E!PKbk%Y4Jc7x_u;hWzqn0_43JZ^$f!+`TKE3^9V#xjRffE z1XE)QMjD+!WURG6+5f!Q(`7i=HSp*Ny-M3EQ!d71|kg$ol1tyd(n8p!F3S@!cjsB%3JmbQ!pPv zt*#C`(7PRB)4P;3sf3GfE>?$rPyH_yRhx3A^cP!|w#^$*cHT?UT|{M)L6&+`TE7B*`=gH`ZGe1Q-N}CZjO{iX${P(qeBiik(Xs29 z>3OMXahpMX-lOjOvw~O~BSC0ze}O5ymG?{k3xir{*@X6H%q$y3)NHzMTB~FbjvhVr zv%7`)++)?Fl|rMS?t;Ud1qHe*2~^MdLN&XS%}Yp~+N4fbm)ZJvCJF%l*9N6{xB=ra z4EKcK@)T-^BPxOUC&Wd5o>X9B#Um2VPs*c+K*cCNKh&nt?!b-rbIj*#R8rc26^73= z2c^?iza@PyDG}si3G>=42=kUKBd$ObHkn#euE&-9Wn3L(9mRp09&H$*}o zQ5rLFZf113)v{QP7PFgA8B7_jw!Z7?25Zha+BwRyF4UN8Qn92>>t1-Xd)W+c0(Miu zRd2y^FB+X*(pC8|o4uv+ANoAKeb4neTAD~upK?H+JQ5Ltyi##nlOwa6rhc)1iPQ}b zaGIk;D7umV%%8huRd#kIqr=08L_B9v0(A|J;|&#`#U?==`R=j zEY&Kto#1%`*Iwwwnon0>)jAQ6=>6QLGW&wpJ4G)j&w`P0e>p`6$6`j5CV+Z%&YE#5 zE(ntANjZ3`ru}2U_C@~!dz!YxW$spEoWpg!$TT~TI3GpE(1^8K%IMR`KZ}pX$+sXN zEGwW7eyk#9<~JkMCgT5E^Z-mU$Xo9p33;hcVy>so^|+tjChk9E)7P*3A&wDkKS77k zd%6Cs+P3MqE#HhimoFnkfe#}w2sH^udu+V6I#6hGYDtujaMV3Kycue6ja$>K=42l^*G6C!~qz!K&e^D0=#Hn!MCKy5F~># zVJhRj!DnxW-Rm;5x33Mw`%|1Bd=}GOobgA8eG-)TF`>t_44nJB6;A92tPJ+HoW9FT z@J5b4uYRi1m)a;x$qDswR5=+D?H|xM6*;7 z-^@;AYtC;CscE4efB<9RkFn0&lJ`ut0 zOD~_yoW&|)*YPPz1X@(2_)`xN#NMF%0Pm85Z#pMoYeo zm+bu_*>)d8e85@Z{Js2J@#hO$dsMp#1ihcPl_Hb~H{nSg<>Ej3f^dhJe9MVoc>GkD z0-3;nzH1}@GhEwWhJ7LbopJKF7o_=Ju)0)*FdAS>;z=s+qqWJl&f3*Uh30mecWd4x zs&lpEQ@TE}ZBz7dwj~(zoQd^~eoeC9K;g(iGl|VgJ@Yx@Z(?1s;YF@mh9yUtu3d-ofiFD}EEI=qm*#?hC>C~iYz2diWi*a)sxjfc_8ck~@@H&)E-sgXor{D(2sv|u14%zuhy*<~5u&9Z( zbHHzUXcv8drqoaHHs1AZWc65^hdo9=YN^cq{`gI7(&|P-6YB8EX6Ng#i@5Ld5%x&DHYfZ}_`x|_)|4rS{@G+yryM*! zXxPH*pd?!~t+&Mxucg@b4g>}m=Tc?1A8(xhcrO4Bi#YI}f8*Kxdm+gqiRFUz_LV;M zYU4&h7FT!{RJ^m5{*=d~SC?DGtYum{3kDlixpgv0FL_YlyMv=q)6sflV9IvGq!0Z?>7cJ&x=!=@7y&$ zK^U4NP0DJea$OWW&#Q%c{z&aQe=2>r#aBMsJeMax@T>oN{gJEHQeK?zA-L-o%C^zw z$#YaZM-<#%{jtPBW9w=3Jm+#bWEjgL#v!V9iwe(0m+e?YU#R!|LgNi$*Mlz6i|(%S z=xH8ll8CgBHUTBY5+zNAem^f&;cF)$*)|%VA(wOy#9Tr}>XBK_j=*;NwLg?nHSX&% zYVSaOeSB6H)F6tjvk{l3b}%a0VKA!gXBGaYvnnR9r6{M9{P>hWXr+{$lV3BiVjBP0 zR{xzx^SA2PIwwdtHsL34+lSFbk*(j4_BK80MD^t5%&X(A8aAUN%dg8;$+Oxy(o%3GMf6Oq!iw{%xgxAxQHG^cgYeZlq|-}UDS;6&keu_<)yFk)ZTUM-rxxAuu`H22d;3{Z+spV^Kf+Q@r(&euePFI!U2~vhgykbo zJYCL$KV;u7%LaDa2W@ed3Jn5$%`m;-Vpxns_lm=gWOY)UtD9c$^qk!s=CDvmn&h-4o%mHE4Cm=#gDdF?qY>?MihtP1*jTJY3nFW5W~W!1A>&4qOP4hvCMtmSdlO9Pl=w?;I}{YGN-poP zgj7TDbhjf1c^|_U=~zz-n?%ezrMAnp4{k!wi=88dt({m?_Z0k^WXoFS5!UMwo@Thg zzrr%V?X&;RCJfN+cPy_Y-M283FuxWLA7${(mT(>yxcT2qFXwVBgB^_$LZp|PEfx0* zoIF`;a)Qh;ZgAC}QOcR}VKjpf#3-XV(rLov@m7*7ihG2irQ>&0G~g9jxr8*GzJ-N4 zs(`CZptSTgk*ZK+jgQ<1**jH6ih$eVE7Zc&f_cZx|LAK5ox#76BB?Hr^Ks77jHndlGm#h8s zb|w*(IjSYQ+ALZl4^Z5n8)0S5j~W(E5hpX->F4U-hq&JtN^NzsTUQ%g(or)ziJyvw-gb5cQ8X)c+QGC0z81{lRG z(G+V%O;(RH<|a!zvT~Z1vjqNPMXm1@kP_x`tReiVisblG6!VFCD3Kd4KP$z{s%!CS zu)Xzbl)Nsqc}weAXe!K})CT>FI+CxzNKpS{p8j{*&OiP!h8sEgG$vvM?Xm$E3~LEK zR@=3*ZMyJ~MBcRv?>&PHOUz&+Z(CK?fnV0EU_YaGrLu%i5yCPlbnbr?&zkV6QYj_~ z+LEJ)!NU1hpm@e}T6w(G#nEOqyPp-dVhU5?$?$I(99syOFm z;_7~`^3XYf7oUxQ`nBuZO8J~-mgd(;-l{VhGo3SA?JCPfiy4nia5gdr)ZINt+-P!T zVgs+JmQ=#!$6%lRwdimqOj@x6fCYP}$>%fZK}>*j4H}epn6u5vjLYl01)x~_@9wrd z!8I7`K+``dGJlpdtC}AITUC9ynGdHbqigjNk4x~e=Ua||wACCfj)}OtXIUgeqCl>0 znADFFoC6GPU4pH^n9NtYk(00Y92iUUOo{XopK#o}rHRz+`8d!E<3vG5mb6_dwHBxh9G<64z%KaK~S zLi3w^xvuYh{?VctEmdZVyUu)OLMP7gykcn0DS*^*B+A)BlhN)p^9lpAwc@JDS~+LB z1EtygyDr;tekpiTw_bMxBkO@bj*C;m^hz2g>*_b0fNn>G(R-}c{HDFs3tf4GG*Bk#22#9 zrk7oGnG0ia^A3jKDfufAzTL&&vSIcnUjo6fBArGNYCPgXI`}?XeR#Y zh^@76pgLL|>d?1Euu>^nYSj81{0#aZ?(!A7ng3?H+3XQiBJp+%W-~Mzb-Zw!wc^%d|N*o;AeUQ}>o_w!K!!zV%o+H2J@&vAf1q9q(DpEvWRgjJu zOO#aF@6oI?MtI0YwVWay4=1S+wH#kD;GzUK`m||dA=xcMr*~~yWMRQUiWp%!%$eR1 zNyVms+(#KBmM;};GD2rb6;QMd!8Aa^@}@-;v?Kf&QRW8J?~26y)>t!D$B**QV)B2o zL2b?nP6A_pkzJe;NXJQ$(T+rDK0eQIwoz9;ipI zL2wvd%v27=7g_M#v?@hZ%p5h#7$vd{Jyh6W6}H=ZxP>OsEzKWmpUSIPr6ijlKgx^z zj~Lq@NBd9y+TT&F_n8wv!W9z6#Ljwb9!#Qz19aWzQEiv}pnOawy1EtOA-H{hv-gi^ zMTm0GVBxmQst>!nZcX^O61b<7K)8SgQVF0jcgfjaNTDc7H_Z@e)`D%TlrO8-X$s4K z0*rsK&_WHA1IOd?U6KfsPT17#%EFV=FsLey@h!0?zI>7*A3-8a1fBd;eYI~^%r=Qz zUXLjKLx;Yv3B6aWI0Xnd7=}vWY29!kNFw7wA`!O=LHpGlwiUK_0Rp-?w zB_sW#^ZLTw`aHQe-GF>#hHkity7#d`V++U(_r*FGRF%Er`V@%0YON)(Kjnh`6+bje zVmuM?AH`aNrDDSXcSPHm_`+(b5(vafSpzqFj!cR*Z)yF*#Ms|*9mgfV&eJqSP;#uz;Y9XPF@=b@gEuPm%CDfTrD{$tnkZSc>G~t&C;HV zp5)htyb3NFJJ$Gw(3R+g#*dBP@yjB|A0HCGKc*Zkf^b*&7LRu(ho`0XadX3g;$xzTUa0LW_ttgM0etUq5r zxua+G&=TFx%t-yvrw{GMMqV49SMx{*TY+>Hd!$P`mXG4AVBZahdjg))l6n5<`27X_ z<>9)9;3kO3v3q`s#>8}LhRFG$eY^4lyFr=K^DEMQeq0zXg!%9-x8<%^0`bvfMS9S2 zY|M4V3xA{t^j911oAv82#RVLy3w(*hAAkMgAsPtWIA%PY#vqz(;cKFn0v-|kr?wT+ zzhcNk45AX~q-u}qw=ubT2 zPuKbHfpul*e-C*7XP{aI%XfF|~~*3k{tjdx{?T=w69b1x&3{o^_2GK>PeY ziiiP3QG(@T^}SbQtcu(;np#ZV**&phoK~&q>%teMXtsBuf8835kM|Cj2*|H^dl%T9Mvub{8DOaPhT?ZYWTxsc1$oN@qY#Q4Nt@tfwRJqc| z#%b&n&O33F4%kwq)F!i>m0#lTL=F{TiX2%l$=|M5RD>&mJWR$8DtM>^jvAgh%0z;; z7q;rnt#=0+c+W90IxQ?rn@B==5v`YfeaD^7K)pi0U(e#aLFpN(T)GTW7m)8@H{R)- zdM)Y9@6*n|7-lj?U2o%#QA?R)=<&~)V-tnl9U+awd_GnM89)Bb@cOqPS(V>XotD|B zkGFsju09mo%%h`HlRHu&1I(iPCdc;B8iH zzB)Ayl|TO}*gL76lQHGu*)0`tH-f*gOZbTc9+$exORDiVX{UR}5jaXZI&ME|DO>22 zWyKG$JcnfL?YW9w4SL492IOfm(>LZ&;|adyNpD0dC6fFG$SI}X(rE@cxj~IgCZ@5+ zsjz2e?-66)iaO&jH*%IQi@c*Xu2XeAvCr>~`~O&I|J}T()@$7Ytlqx%%gWcDb{>AO zK9@EE4lQmNS@sg}8+|ez0xf|z9)ix8FZ-cWoU;5zW;`T>ZE;Gk6*pqQZXPDWFNl=l zIs=R;JI2a^+LX9zYjRSZPcjxsq;vH8(&o0Rn(cxu>(*}$iD9`66ni+5L}m7z>Ry4D ztrf5vFz*8igZaE;wciy;*||+h?1B7D!VO-d0Xp$&y$}MpToo zMkog4doY-d-_W4cHJpXTXr>n6n-WfP0x8WO@09LlI;HlN=r1ViD3;8BGLT z^)mh>Ko*uO8C@aqD>J)k0&fBfA)_Y_)s?h3?i1s*G&bLV*|-0MRDLJ3{JcYC#k5^9 z2fj94nI)$Lk;PHAgi>7j7OSSzRs?5V(ncJ85<-=x#tj`ApErw-rzj7FQsV9j7G6la zp12VmIT7y|5k^BPWTiMh{!>pS$?~wEQem)UHm8p#nK{?sN?jZj14c5;L7p54f>xMh zk3(6RVi(azAK0=4AMEBc61ZX(vbseuov1(Ew|KfLy=zgP^dSN;ohulMq)dje%=?k* z(-h))H7bZZ6}@;Z*-v4#MNZx;)6SWRl0&s?RNo+;a;VEl%VpFgldAhyn9vL8kR1}! z=*l}b7BApYAhGC$BKs%Ck46}bYIZDUeA{f9(;2t)cBle8S)=U1o^bG9wuoqNZH@yl zMzhm^MFGixJOYBTQ80ILjiDmmA3q4q{m{~nOW+9p%jxmYN)Vus%ziyXX3_y|@o=w! zZHfTFv1G*Hqef#RJ&Pm+*wbN0GWP6qur+7?U=z?+i9qn*o|S5+QcFBk`4Gv5RtRFx zIASx!BaWC7F1A3EUv z#)GrITrB79$8LDOpASB7EJ6iqlQMsC& zT1|Z29ZBr4^V)7wR#Q`ZRCeRVJxIUyZ`Skoji+HF>BK-6q*$QWFq{+VG7xeb91&uw z+zYZ9(uvT3MtzlD4eZ5v9SE2plcOdD|B{j*Z<87K%~Xl2VlsJ70)Y^r^KGJVEGjc>S%gB*6H9e1@U z)0+;}38SsQuzah!m}%CA0}d~s*c#Jb5}@UK9;!7g*O-HLuH$9>^vm+7pFlR7y^QJp z)^sPUz)YlTgLSH_5GIb8Q$#-z&JaCZdqh7K>6+4Khr-+9B+N!q4y4T?ZvYJwj2e$H z1H}ND6H1ubaJZOrtWNEg3j3ho5!M&a&GX$f7}$l5#)=brxpvAp?NX!pF21ByyC80y zc)Z>ksaVb5Pe@Zd;|D_Z1D7nqI!-ULx0X(9D#kQ!u>FdE5-finMyIf%*hj`G0!I@4m-u17k~INO{7Vz{7@ zD*!{DW(lOq@xYyw#xef8^}5iEg9y_Gj|7SVVKoAYQF;n@UHwzVI<3z6=N5~wlYBCg zP@hyRjtUZXj@OF2zYU~e&#*J;(*$c?$lJDp71!~BVdX*+Z{?8WtSA$~Y z`1Wx6KrhJ^wf`B5;olS^tk2+j9zuqZ!^0lqrpa?}uCE7wJ@Pmmqo-CoRq2fH4GISR z@&>Yn(1E@e=Nz%h9kIDYNG;)d1Bq|oA=Cw-rVjCdf^m4dFHh%5%m zbM{duM@V8+i>HFwNft9W5f_`~$mHsv$$NXfgQhdPYB{T|qTB7M-z7724eXQ-rAkQF z4k;Xk?HZI^rN=HdCIRsCy4e|0myVW`0FnaxQ&D)WTjO$-mIQS3LM?*tsnkH zE$ZGigO+&9eXsR&sFsc^N}Of#hU7{@#mEUs3d0G7iAa7qn?})>TqB3p(q+D22W4!? z%Fx9kU;bGk5!uD(&TBEbNtEa7D`7Zr^6oRU6iDGh@p@f!Ickeb+l zp5)j8OGHXOw$M;jL$q}2ciDO`5^SL{xbOFS?^5EkaCn(=Vv{@vscuU;6(2QWwm$;F zUolkU-$w=0^OO2W6>v%pU2gNuS12~`2CKH&a~toNA*+|;+#qpdMY}NoNZ1>aHo5~! zy@QP?kP*qmPTJI*V7JOn4hgI=<*NGGgkj%6U`Z=Ikw|T(z%3zDo`!3`5_6GcH-(qs zjbu>!Cw&ZETMTc%js6V!rT5(KqW!Jqg!Fw}Jxab1+5fdbPj~6CM0sn)R{P{@j)XYA-An&*(cOBT$P4})Yos$zI+qGRkFyz zvfjD^8ud0@3nR@cbd{t)ccHoLUXsjI2Y|#}vz9BT#Uv|)Gnam*b#BMEY|H@BXj>5M z3@nFXrDUT2)S3SpalbXHXc>XMt(DDw$N*Y5aWXmZP#r7h4lg6rSD&y(7S}U84(jS= zYdLXm?)g2XSmyvk>NyQKz@orhhL4Au^YdCq>6kbxGEuouEFh!C}cS<&~kP(x34z`C;nl z-me)PQepR=iC-A?kqI3MNf@Jd_qi;q?bFyG8}?5+vBROv!-#K~De9aX?0zIbBp^+Q zXgcoUkF1fn>b)8vKo0rK5Qi043m!7+1s)|xP6&F{ShGpQaR)63ku4PkAIO$I34rBI zL`Eebhn)0s(LB~UPY{%`_SK}AayOGU2YiNR3{z3zw}!nuK{TQ`Ed1Fk&5mVH1@E5X z3Z^p3=GZx|K4QcxuuE=-fmi@8i^6Fs(rnBUTPwN&>*JC?8fYB>X%Dukz@gH`0fJlx9^?b}(|n84v7D@}NBoI)%b ziAJSZERnF+jk7{q`jisT{y{3#3X1Ck|GDQ8wcFU#snN)Tm%8yD%@8xd7QFS@3H;!$ zOC5uXtW%OKX=9~ohX+`YvNcIc3mVn}Gw(i(RUV598ImkHEDQt$W(t~5n8P}`#=FD^n#zY_ zJxS-oR?8Ib?^;w|mhDD-w!aEOx}-eWT(ueWKfvQaqk|)6)Cgp7-vi}2ZffC7 z)l*3*k&us=oT3(yb!B7(Z6Xi>W|)QSm{cd1e4VqgKk$H3<#_(YpemC*L=Q!P$3`m3 zl~xR$lTDlp#$K~iW}gIN0So8yQ%awl_-J=`y z6w%N9#uT9@c4Qp~nK~ARLB+;Dc&tC`4HQv`W(Hp&oSRwFxr6M@ZIz-{#vsiR*_pID zUgq*_X(c&K8HM64q5O-TL71O)_a05?bLX}1sat}PwvM-bg^_U%oB%gXx=EjkdJeny4u{L-M1Pp`y4|Rpw%&WL0p>MHA5w&R zNe!WoR27JuTIg#O3Kf~?B1&A)ZDia?0ZYvXlyi#U{tA1sC@OPrvfJ<8>C8>q!uY43 zzJ3&V^(_FuKM0D~qDm^dzB&dUn+3;CYU!PtNPX&rd;y9k4bV6U^}AUc39l1QgdH7A zMF>|Mh;I@pmM_8~dXo$2f_!JCS7DRfy&ml$jY0{Z0K;R#J1v{hV{1t7D3CL33)3Wq zHdL+7&+Sx>>HYGmrApNFfUlxBLV}jMu}N190+p{=$>VUjLCGK_;zK@7S4IslY2G0|6K5h)#f9TbtYu z8S46k!d%YXW|!e$skhMAh`cAoJo;k}IxQXa3BYD1?Q|o!oz}={Dx1iZBjB{xMrXHpL^72q*CvX8o%IIPD8Nlm_IotX>dacaD;A%8>dB@>1PIXS zgq+RA-_Hl>qtH6*lO9@09Fc`@FwrYUutyY>3yOZ}z=c8&uzonh`K)NXA5oc7w!j$h zVbW)U#3Xyzz@2rw?ij7$4{}ncqX`2=YG5333q_4U=U}2XOIUL1R>vrsTV_Tb#;`|( zUs7~As*^q9(z#S(JxW~fdwkYC`z2>YNcijw)B!ojmimO7 z$n3s}Hu0^s-3Y}%Q9K9k_{i+IiH#s$n&z5RMKUrSnuP8bVdz52ylDgM^BryQ~o0sEzdu@~pMf_Mp^mgePAwYmEEZBwYHA&NJ-mmpS z=Z#aF(m&q;if{wIyuJiLoe$HstZf~~!Os@_1ih+a=+<qChv9)w~qJWexAilHmor`b+L7hdqfKe6+Jp*hT_#9`9PT(|XQyWS8{M&x8rvP)Ib>Ch7 z8qRU|oTWjF60JKqjJk;9e~80(+iX0++=US?sRp|p*>>9A?!4P-x3QTVG#pN6Dk6_2 zxbncCH~Z3l5xY*{e$vYs(^xV;=MD1hHhun9X2)p4u}feIyg~fWh@}(AqAD=%mo}|N zlT6sd^q=bVb6s*UN}8HM+r+;Q-ZPH`FVNGjpoN2df z^$~Iy!Dr)#UO-pBDjvJT6Ax3;?d3=7RQhf zSr|K_ef5K5=SQd4t|=QrJ0e@e{Ip?0$iu-vD5(Q$4ddS1)wM*FSkr#S@^k6)gh_Xu zkm#0qtglm{h1^0(_ujkK0%N0QyRkJfFv- zCT6_oEzn1P9*?!WK=0RXvR*<_~2vx!=c?~5cnuO}Nv>qX0aOQ+Z4Cw_ym7hKz)$NV~9e>jdu zWAmOqcJr?~R69+*^dG8euW!tOQ89BqM$dn^_d!$mw{5LWw)MW>-1z^TS=sITbt`%m z5`}n~VbC_`OmH$oDb>g&3jOy|ZWaK>AWe=U)FLYg-W^?i`g)23;4qloN_|vva$aVg zJ{y(Hn#!a9?L`AD@tT@jN&xP&d~Ug!+XSU<*$o;N0&K0kpB&S*?x&IcRu@nR_RnWj zQ#f^bKCiPB!mZn<lWE#Z^iXCjjEu@zYp(Zfgn*b!3}G4lXTiwn@Txus3Y2OS-e)V$RFTWo$xNW))w_)Zkm)SAk z@)bXcd)p|Yan`PvP5XEGysUUjqFp(@pA^acT(jDSB>3(&@y#L6=lx+~wGl7@D4APn zT8;(`3IW@$1Atw#Cy#V}Pg4MZS7(*{IzEdkXkS32!S(WaZD@HM&+C8!0F@X3gk#LY zx!!`u5rnK~89}D!zB@SG{qzc82j#q<+4lX|M4axvryjUkFB`rMN`G`YOzVbo!{Y{%V@w3?3F{Fd0Cz;77b zAFol?N`5D4)P@X9$p$MJ*z0=E{N7iX^gQ3h#iSBBXJlq_F67(<{&pcdYrQ!~lA(-2 z|7aWdWnwIIEVulmH!oMwT2gC?aPN@{p@GI$NRkxXUFx|!f!3_xZ`@! z#b^A=kArlku9wL&FtXR-F7oEnUZ4SS=gZ&(mo5yKY+9fZf$vA(5w@=PLUlQiEnDAO z>$%ae)c$gzrS{8UAewXiau&#BJ6dOZx9^Sb@Z$8p{#%^ItKX%grt3@7b#!N0lFjRK zjfG#~HkIi{?Ad>HsN=rh;Mew4w07}+!@t+kIYo zh}dcC-HX_3JRVk)Yi>r@{j7#+C?*ru?>e(-)5gkH%V{`{uBsgfz3=1$H}}y{5&B&m zQ)M}vgk!c?qXYqs=HTs6!s?SBV^z%N{|2zZAHX^y@;=%GcW|8n>y`JRckKOoDc!d9 zDQnHH&FUlxx4k$uutKNcV@$r5-2O(4ls8P8>iGFbkU+9V9^Fsaf7OZk_7^H;=5aI& z`4;Jscf^-%z;XXj&X(D)YFsz`?+mo>yIa!rot~YTn5b%h9;`MXp2!fq0iv;N?7+*Ok#agq6?y-c7#6t0jCuL#w{i(XKQssha%m=PFymI^#k%2_@#+ru3gPE}Kei7= zc&4sV@UC|f5+u-)=8{4&K7{CHy)vIN3fj55pZ@w^wJfazPiy>xv|5@2$rfK{5J)a( zQBpyF*hN1465Arr+t~Uh^fc1-BDgH3yiQj41)WKwXF`xTE2z;w z^ICijiD3-tb4H@bj2Adl9i~c9jCe(0H`YupUGS!|&DIrxFHWYw7$;aLilF7`K$J?B zAkm@jx|P~*{-_4uy85aKjxZHr$e&It*Dw7e&*bi4b> zwLT=F>mcA-wX1*kbOSk!6{RC}T=vd!fsE_Goy2zwm#A_RPA8|Qcqg7fyOD2^0GMI= z$W0RE!e^496IH!yuqpZm2?Op#rtC0#!t z^be7+b>ePG2hxPdYh4;B!BYG1eFG9^N?3pz_vgAP!T7O*?zNlO8l$1gnnB(^N$+2( zns+lWU__$Y!Bs1p+snQOM51;)ti#$i~2s!|Iz{tLW#K?P70FMac=h#k7o!Jk)Yt#v6y%LE?{L}-CV#u2z+W0+ zn5Ne!-d*`Qi$=CHOm3kh1Z@{IDcKWarURB7WK+)w$~t|UazxE2{Q~J8XRt;5@-oNr z$F}_fZWIOA#-_rmvSw2l2JCh~Jk>w0X*eS6*YOAtJ#b>^`pl;!2z?N3pxknTOs(giXs zi@pxtk-+ck*(7QW_;l9s`iZ#jGzpX|>O_$f+$1BkW>t8*~DFm`SJyP_)soyE*E#6_}6l~?eOhD#0^F`&8 zOeXO|+4azdmUGvjp(Q2dkKp`7t|;@Z|546PqwMib^yl-($3RzUwjO-Fx=McO&!m4x zXZCr#)Va>+f0K+dDKw6|RD^`E-?a{>rh>(R07baVDx6e!*vvXe*HZ7wZ^BAg+uwR+ ze^WsUO-~qSyWi%j>vy56sW>a}NwJvXDlnCJHwaP_aA0B9{;>AH#&Jl=>#6JQ6KO}+2#&rLlV zS#`bzgc9>yCCwr6zc!P{2o!1rr4v;)y|2a!c-k#a==j|2vzbj=+gJ%*^s~9GyL5GF zyY1>c2-**2A`4v)C(>2aYFo?>p&sYmVl*ZLnf!BOwj<%gIGL?s$Eu>Ou!CO-EY?P3 zJ`zawj_T7Lg1Jkprc_n;Ss%;B)fQCLmX@3`Zp5b`kxLw&qcpid-c~j?a#dM~oX!U6 zG7Js#06zj#(ak~3$LHU%sL^3gCYTpy`QF(s2EGCex)L!1HNMq9c=q_O|Gn#st`de9EzG~lx zC=rX-N8gD;hX8?`!OU5X$%Qe*&^&IyYZqy5pQ_4VRZTlhKb7EAPM&k zkgdnn{!%R8`?v8yr^$}XWg~h1vm+3|?AC?GK0+rqfo#Wsq6tfIhpWfVKNw#ej#*ba z*NwMsbcOf6l|yZQ&)Y{J^!DWKL2z`Rb}#D!MefE@C*sP_Fo9&~{0 z%Xxh2(rlsZGFi>v1Y$|v+(r!)uY?UWj1B@RO4o*@z!(-1(I2=tW*_Y1ed1-Vj#A8a zNUCC4qd9xxbtM>*5t4}X+wfGu8f?m+@(LYI#`AHaG^pK_EEFebyWuInBkLf2KRqsBIy)~9=Xo7M>js@EP@)({J$^FcDhbcq^8 z1RwC-5{UPsT?UzFZ%bX*!wTeczwS0A(6nwC2|P&M|L8R88D9Bn*nC%0R{l!WNM^>! zne$NXrYm^9hyJi?6l&ABX)$`!# z6u5J(68OtLc|Pkpux{JCD`*2*;L)E*z;lG!%{E!Zn#U=U^B;_P-aOC2^hPAxkNB2c ze6%Y#j*6kwW+w#23sHH{?t6eyPkRW_9Rq{6K!e5KMjK2xD3fl#L@w;he-=gL>BzSd z={B8r&-m8ulh61_8=hWMyE4^*-F8-|=GL|zTLGb6FQ)xP>DJH3RN2IC>+$$@&F^sw zFkN?()tRoV1``}1{%g0#Y^IZG9HwU)L(z?Ewntulx;oZ1oom(|S6N=RLiYL}Ks)eV zlu%at_)i&boP;p!u3X$t(R3tezb_JhfMWg=PBiKjwMr-ThTDFk9AR8HeLjMAOEc$C z+*x(#gMMz#Ni2FH(Pa^nh`@$9hMxHNZByNME_8zpH>f8mWk z0)^IS?!n~#Px#SY8bihG!sA6A`>=sEna@rM!I)#^zSJfW7#jrtX$GOIX9+9P2xw&5 zY(~mrbCXUPXqZ8{?Xx_skE31M_Q%|DV21kDDCGhh!}oX}2jKWMc0l)Le^o z&zB8#9hZ1@>nT%K>@2s%LHw#UMZL_Lip&ro4x)A}wdig0g_ywm@oIp&{V1V~sq;~x zY25(?U_mWCy@&lJkihF6`~&}EEIqdbseob7|_hoL!shcwAInT4%NGEl6lCBq#Tr-|+ut495&nZ3jP%7Qth{ z?UwL2khhR9cwS%R6pq52e946ZCV+0I-a`5G6hCg4Tg}DA#YwrY-G}yIc6R-zjt)5; zh3KGzuE$d$cGk;KdR6CZtRH_cE#Y}^*M|M6URB%ngj-0*>vcMImY;-{m649zIS?V= zJQt(IP&baYfVlv3-Zf+h3Ekb*`8N47)payll(Hj^{q{6FR^{{j&#d#qb}wVa38=PP z0T>H`m)BEd{@3~DuZjCnl4sdtEYQ3oxPcwkr{fbBy+kP0WWRw98CFF~dBAi^~ zRQC1GO_2I$NnhasDPvHIa7&L)|Checx1X)yQa@{IcDj~{llp$w$R2;zWQpRDn-K7t zN5*Y`j-V@NH9r;>@VqDDcfYe~TJv230=Nw$88)no_AvBmUe4;KU>F5S)RmMpRW((W zbwK%@W>Z7}$))SMV#3(*>WHFIgef+7StXgnTSDY>8_?6G`4(RMt^}$x=zVlx4zB9D z=WLgB7h92CbUm{Pwe^}JY%--ki~#7(tA2FgGOwBHB>C~`HEB#vKrE-@ z{E-*9rKzyvZkjw6FHEzSe@4X^?AR^@>uOV!>5hnHHw?qM+)c^}Yy)0@OynrD^jDM8q z{OscOrWY}iMtSyLDv(Bx!{MsE&Ix=wP#&CX*CmKWEGtRm*XX_vFi=+K9KJW{J!6Q! zkOnMm0T7L-{`CjI&HS*@k(05K*%Alpl+Qy6JoUu~8*GLgGj1jY zZ*pJ28VEFpif}|6tI8 zrB2sors6e|`)~Er!}W)#{2{Ki)o$MMCWXt6qC>XH|4zh&+V;hgRD>cS+y(5r7_k$P ziTt`1jIGCi(TuM4%cJ2PG6jd#y&}=i@0yET;>&BU7evx5X;zru&cEXO6|nyRG^0Qc zXh(EW<20jg^3Ap%*1dEz@wK3=LZA@^Mjt@rCo@&(?a&I zbggRO&6!+ zl6$+^CV*~e76y*nSqg{3`@y2Nvp=pARsQX_Qs^#LG?9R583UKlo*N8-_m;0ct(vY! zq06GC)mjB7$o7=MZQWNZQa%;lSHprzE|uSAm7SZm_0xd=O@EU@52C}-6i$eh)*n6B zZFxQ$D=jsX%Dke|=T)nB$FmtpaN|%wx^-tCK%X{jG_GAh1X*e z5v{b8Y`1X@ylfjv==D$zGJk8Bdh83=^SR%IvFmbtqA+7S`=a5JDESd`|L) zOs$+MS#5H&8)9AirIm(vIG)O5wYBpmZ1l_CbYhH=$L~*OlMAbDY*q&WmDe+FF`?V| z46w+i-@62^i_-1>>yY5~C2e-s&_B|5jNDq9S6NzAQ#Yo|S*A%WZogY>yR0#rN;_V5 z#Td15su@0$Z}%}|GO3?Y{-RUy9o>x|+GneU+z{)LmW6Zj+szddKN?;Nb054n0wq?* zFl@v??*O*m?95Ef(1q7!Qnf*O%Y9rEh-h(j^~-)xz{5&$wtOnLMZzQ9P^i#p(Q>#*C=lO{b-EpbKdt1mE_qtuN;3z76aOaxp7S zD`PB%Nm;+YcO7zldAJa;dX7?6(oa;Q#!!e9QAGVk$NpIF zf3A&QDcKs0lisuTr5!#E$^(`khV2&3``64>akEEd;qu(h$o4+SeS-%n9rqvSx-Ue| z4?f898T<_zw*V`$Tj91@GoYr`aW|-CA2*GiX2)GPXLeD2ll4OEzRWh&Ijuw;RCLu> zq67dWu$GO$Ef9tdAwJG^Ow~lbjuqAhOKHIEG*}M2^!5kSZSjOGej4K^7R$Fh&W^dR z8w?#Q7a2$&pou4oBMUtDx8mD6%oM73KD@(ZVej2M6=(aH{@HMSc|r8+LkenN{vw15 zsRf0F_ua{e|3ODkIfvpt`*ccW9;rH7cp*LaHW3S%?QBev2#a;6e7uQ@POcSu<4%9JH0A8SAS^P)$Fs5AsL$O$R~Bvzm6%r;2qM6eGV55gET~2%E$OY zF+!&bQxNn_`V9sU-ow#t+xKIHG92y!WN~vuuAu9-(NI=i8)5Lg5c&9rTQa;-Y@dD?%NV2}fzo{tHT zFLtdx&u!tkP>x2@)YpC79K3^NYt5Lx=3&>{v9_YsAfYo;Nh1VBt@H0Eg}Cz8P^W-d&#+ zQ)lyJnpFdP6Vc^bV3GV^vV%V{3n1W|I*^65Y?700+xEer=*R0J;!dB}co>-5(~Zp; zhe@8pFFR?pdMB2){$IV90JhMqKg`b2_F_t1`+Xy9+YSJuv}Kj|3+j4rSK~s@g6i5q zU_Ts>*Kn$-zXE1UnQorXBSVtWukV4#pfxYB&-Pb6=c|FLj(fayWygHQPaU?l7R+!E zBMA+^S)EYkTlNd(gQJ36X^Y|%B+!!*C=PZYmHC;?T!hC%hdxNEtFKL2Mi22j?Lwp; zp&_UE)33(@G!)T^Qv(AT@}C~^8N1$x$HvJX-1u=XiO)qNFoeSYa}os(n)+TQUHwMM zUd89MUiKnJSaY9?e(W_JtJx}j_BCOA*j;w0>Ux{h0=MG_3C9v43hzy&a-0ro*$V80 z^~u1;X|!=~x5k|Ig6H&T;ot^#N?43MZ!f;it*ojwzjO|9u2{bSZMJ*IR7Cjicg3I& zZr7uGFYlK=YR&bEs!oELI`!C%ht&z>*IX@Y=iVzx{`Xs_7eeH0-$XePZtk!t$|>HW$C9-bj9BrUAcwQ|GqrtR9gK~fPSK|X z-EJLBOSNrYtDO<6E-^J4(Kp=zX7bV&FLITw=AOod>^*mHUZ+fJ;(lPbBAjO<3z%+*z zxsW*LXM(#DIv)GLX=9hBOR{gri{HoFk#*&DH>BUo>S@(k!^1@?a!PWItXG4oy4O>~ zVGa4yX#DGeY+!?3|^ven%oC`-^a`6>RT_20f*H~G(_|Ogj zXW#wokJbgXw#kge*HyYHq4%Rczs~0n9oLuh$FJzdWUGI)T?c*!rU>lcqK6{BY|Sex z0MGqM#-Jm{6>58oeDZzSmr+qpdOZ?n|T&_ zetr#3y&>lQo6^qh>`M0xf+B6x)0d*ZO;o;uy8~^4kMD^r@VZYQ`8hJil3KPkBf*DR zH;edHguct9{}rfK=?ZWyo4>(abRnOLI9ZJW9*uy>h(fMd-s{VE zsg}B4*8rAQro%IF&D$f;i49awPMS!{aXs_8xy8TjB9j9cVTJ^DlJB8i6iJ{!9jr@N z*}juq*$#)anh20lBSXZevF#7%Yi5aeTk|bUvBsp!2SYBE4>K3(33w#+F(kjKaS0_^Y0Sc?Vl9-ye(^X}; zy{}-d5LnR>n*^pA471H9pg+!Jx`DWCZ&OLF$~$l5*V_5c<^aCUVK}Xp|($9k1m6h zw2UiU7O6D*{J^y?Wjb+W*wNLZ1)oK3fR-E_&a;k?kPuLL-|~rXW`7ea!3L zzd6&%3;~l-6)CUr8A&zu{pwr4hmGMWp%?4E=tT=#%YkRYM_LXOo%1 zHL&mHk&(iA_4(o&xcY9*&WGFeta$;ZiWP^}ks31T>7Ea)e&7iFzmzKMp7Y!wWN5}s zaD%$;nswcT<*DTj;S*CQ(L3;6?3|pOTwJY1PVZ2MzhZ3uA`OW`Ya|&Q$Qf1Cg<`%Q z^~o$%EnpI*CwgS+&tL{@V9oa%Ac`WX39>ixorc^qdtODLTe@qeq~q%*Y@N%!k~CQ4 z7JHHrtpD@Hg-2rvJrEa=u@GnM+d)=pAu6-#+WqeMudpqGr1k7tXd+ACmmpm3@fgJDe+NC(p>UR;?K3kjt zZwEkg;=Kl>MAsYLmovE*;lAMSUj7~Mf)M3`8cQj7s_ydhr*8dqPFE#E_!UDnot4W zjTQ90+ztgq^B6+D*@*)~agn%BZ3v^m{kIl#x}H}iLp4q7mSciG&z4g&x#8$kfH|?P z!}DIlFA%Y;wCu^se|gVd2qWiftWZ3TDJ$+Y`3+!Ke0@Hx@_IOFcrr~lp`$HiGRW0< zy-idomdo6nR_p@gx~2K~Uyas_XeHMet!y&`^%FnJd-zcl~}k%$#B+1J@TusPBM=&H76KAs!Rw)1rdqZrPt=l_#;2ma zpAgC#MJDqUwo9xialVGT&(kMllMJ2&TkCw1n#81_6&t)L){X5At>TZ5jM|JB)php& z`i4klfWTads@VM*>6~Ngsebet)ZuQ!+pWDeW00GRqc5h1For`Ysr$_g^f`iBMWaM| zR8QE@L>CC@vS4my5N#tX zAjQDIV`z@oJAFk#7(rj?Utj0xjO574i5)}=-QHYC6ljLIT-zpHV8Lag<@ zSIP36w{sb!QU@F6f{1#<2YSN~r&qj7dJcEocUT2ONf`Y{8Hzjy2u-jarP*qy_ zeA9QRr8!q^@vY^TW+&?MX42MJo8RO03i#KxP4MVW=^8`FK>X>#Z5cbkHI20H$+(Eu z?8*jX7;o;qCQSqFs$n2nHgS$H$eANg$u#XNy=p~81tbh(unRiUWtJB>Sa#W6!0ZQ{ zruUI&$V{_?5lmGlXVUdfvZ~#Kvz)ew< z_o0!AMa+B|!w1&z%5137urT|4gnMmHz`yG~4o`s13IRWviNCeXf!olZnX$oJ@i-}< z=ks)CpI@N}D)yWZ@U1&RqBHeeZX8Sg!x|P=4l&fEuiY}Ii95#q_IIq8{zleXU~G>* zwpj5fNacSwp}oJ!Vdlg+I*3du^ilLrTnoX8<{&6&Kb z3)M#zN7e)?j_u!Ml9`A+aZ-5ULd;B2lXDc>x=PE;PB<#wjb=DYLG6)3 z$qM^+ipsd7{lt(d(>MA2%P^KYD=Z9wXHa~fx^Ne|8XP_p+I`Wt|EA*(MyT-y5nf(iiujwse0rN#K8-BeRuzTvk7I&-AHI<%M9GGI8d?)< zny(m-Mt!Z`j#uGw+X@ivBf2Fkic2=R1ZrAg^OexvkcOAzfL@>VX9D0eWK_usVpt6__ttv z)pk=^0$N&Yz`}iq6}W$#K6mpyURY{eb&MozT7$M4pSPHc;e9^(icXm$ew|$TA+C56VJ%bTrFvlPXdj+=4>OBf;d`=D91QMEBGAi`+Y< zI*S@^CPuAyBQAZ!ZyRi&^$(+IjNmNPr}&=i^FM=kg2GLj=uwQjo0###ESk+-)OZc1JRV|qg@=m9bp3!9A* z!a4U4?zYTAQk45IeYC}V5Yv~qYGaP$oNJ1~_3zc@23wx!kne|QD|Lczw{>Gx%_se! z>^rNm>yY< z;#QUe+tKE5ywE|$IAPP~D}VvC-8S^Hy$+5eB1R7u@AG2>Dm#bn%OkZ zNPs)v27MkjueM>pnU1s4M}W7@XUr^%M+#z8Bz&1gqWa6t8Px3nbs8;V-n!T)8KD^&v?ZODM z-9KFkJ7HiIxOB774-MayI(n*IXNih@Q;5&QCkJMm?sB}u%%ZEja;!>_qS9T;qbkws zJq*_@cF?^3Ja+#ii8Iy~Hq=hTmym2zNchj>@VMX2R#1JMVwL54I#ayvQ=nvocRq8gp04+P9t+Z0UNihdygn16x?D<`GD*gD0 zEpl`GcgPMx_|*5|7k)|u-Uzr&`lYtt;nAs zD?2N3By~)z8l^$wyQl3JFv$CKBFc!^dHS<9j;1_XmWrgZurs*B4P1XCzoNZZbFQkc zWde|zlx0AsYfSng$X=lHb&fC2bgp_Z+gp?` zSx`_zja;{;F5fJ&xEfGGX`t+C35qdZ|B3tkn#tC^EdnY+%DF{F8NDx~zN`Og>+!$>do`C4Dd1 z^P4etVh3Dusl~)xWD|cGy{4Yl6>M;G<(m9Vp*0Xy|B8E*V}Y@qY!H8PnVIX??4g*Q zmj2$H4S7QcU$`C?g)(J%_fTKSUF;kmq?5{Zj`;qnvzEaF&g}3Mh1O+PqeB^C<3D2{ zq*ufII>7Vi?ip86%A+sICT2`o$rp(l2jfF91wIdc1nOK8HKV5J%d-04_Sq@{}LSOhqJtJ2IJ^PQx?TY4Cq&)m?!F1VZ{IYuYkbph5Z$a9 z<@h8!A7rJkjFvDs@blW=)THIWFtn1+q5ShNwNVp^0eUW!TqX9i=}}&D7G*o_w<8Yu zhO&B!!kX6G-;(0y84d?Lz(`b^`tZ$bxdo!;8yA-J#7=-VPv`%*YzN5Uj;xK1^-GHzw=zg~Vcz2=JTr^@2v-@Dc zen-Rku@2T|vjtZ!cP<6ua}v%I*&mLZP}mxc90u#D&qM9tSdIYY(U z3)2PEre0OY!7zF3HyBmgJAU}LPoF++rNx9*ykvcTy7$2yPs5mjU0mj|TE#mDW)OfV zbgFyZd04y{Z2PYe^0dP=(h^Xtv!2(&^K{bmXN?v-ArmrRaz{`{McS*E@kn)#O=+XG zb&ALiRVAOS7sq*0*v72KDi5t47d;Wj9@q)T(KWAwNrh%i8ZjY9xKqf4fpt+Mb(bgz z`KkxO!d>rY=&HY*r|aUvkoC41cGaoG{3uV-`A?du=Ew9}@sEccOQfpK(FLJYm3NFl zi$^TInIM|sUzAM2&%?z~3_aa=k19Y1NcsEvdL8?6&S zn8bn7Z|)|EDzz~_@r&Zq33h!UxfFadFx)ITpX(A*V|&vr$uQie3I6i5WEb-otcX^d z^K}UJ&v~NFZKfSnV~`RH9G_xrtrG2MR70>^gaJ>_B*f@KsdX6IPw3pe>xu}fczPN% zVf6Cv!a)hfIfr+~oTyAc`GX9COb}v78VvGO9+~}N*wL+I`N#p=iNiC%LxNaHR9+ID+O#igtPzirC>t2sT4H~zWFYzY7WQHjqClDlpJ(DP585W;3 zjuA3-C?iWVgoaGteMLQ({|v|DnX$0G5Qln;b(-08EkO5ZDPqMkT3$bISQK3}!ua1j zv9H9qok{{GTn=hcO`&k`@y^%IgO!1M(>-om#`1E+b!*c4)iPG4DcQ;%S1bNH+UmNT zy>tx3u^0p@){S9%aylao&AG`m`Ni70m~b2ib9K*{1%-IZi;|g$=EfnYa!56D+gm_AXk?emV8~cqHEu|jvR`9au`pIXX?1^ z<+ZAKyIUf6-EesT1ms^9u=H$2$ENEB;C2q%*WoMlLH>_dCpyNi(cM^~8o+Wok;Mix z_Nk;9FD!fs?^Pef;EaSiwQD4n$sQligb`;air8W;)xQr{0B$|4p`tprnq(1!({*MGu&4S7)`aU3G< zS4evj-7!<${h$8rr%}=x%TgJw;Es*(;#hs*Zc3#kfn}433-6W1F;OI(`>L9wk(FKD zPL0p)QmJ*$mwc{PIRal?|2$U&Gf@W@9qrp0=Y(Ht3)#?nj(<;yqS6=#80ql*?NnBl z=m)&1myqQ&n!bo(==J>W!nxcZJHQ7`yzT~OFRF6;@tQ{$dTQ{b3J8KurxR+)f6`sx zqJ{OEOMj$FtA~(48Olm=&H;pnhh_28=m3gss1Cx@1>~}BO*eG_VLvSyrcsD2+?K&- zZ7N=+A0xCy=cL^;0owN3pDyso*oYtVO+&E-xZ7EXwHv2$CjMAeKN68^rYTMu%_2=j z3|gCf-qAERy|J#p>0g?l66C4zt9+ZE@G9?c7PT>fhHrn)%7ayr79;Btqr#w?M3agq zkePRglGOctKLZmmaZ_JDyU5aEX|$)zc}&WOuh1Lq_o&Znyxy~ zq+*~3Z659SPjf>NP4E7LL0qZPYp9hY^k3f8^Ul`plCB|U(%2=8JXO+es4`*3Ig+!Q zedab60+-#Oj{8CUE=`+cE|Bk>gZ|wN4mR=V@SufvN#ewcgw`*^in`~1%a7-+gt=>R@>sEgs zIedHATmz(4fvGj1Y~HqWU(G`z@<{|s@U@#fl-LEsdz~hcYH@y{hbGvxcN&-x^pfX3 zHeRczk|R>rqEiofLP&HQ2WCY-`q914Yv%yNqQ#AB9#$!VW4Ew^z{l%F+nMX>IoFIP zrb*7|b{F4XyjfNoVCTJGHB;#HMrB=7lhpD8=|Z+oznnIx6T95b3`a?Z2`pw}oQitm zzhs*tiv~1DVT&iaBz)&eoo^m5pEdl4LetF27W+jc)G+P`3zw|Dp%49d{4uV9{uf>9 zu21x4;K&dbDuS!^VN|=QD7XO=^^1ntO}hJyN#CYV$2lVZ4@_!^4w(+ z@35usW8vJy3WiY}dm_{}j1%~9s5RAaJuz#HYXPWYYM;t*({kwK{LACw_M?{w?_%9nMz#EG%Fo-IWG0;>xvV6;JJB)UEc1OH7BV7T&-A2yw`koC zSh3usP?$2fR~Joua0jev1skwK$KklK0kl8BPf^$%>1k1%G>u z^Hmgo#D=JZm?e+9QY)FZ&+A5l+)T?1_Z~w+(A98-Slj-mYfbT(t{i~reiW~LHTdYk z{nKnOaPeQZJF}R}W%57otS7gB)}ob)@R?^tM+3sg;*MNMxM#Z6COVkTlwcJJ6vBX1 zmQi|ro$%_@_Wtp*MveP5pVN6WDk1JXfA6)^;k2y4_-&iD6H;Z4c56Br+IhpxceAgSAHB!6gZz(%n@#U2A z|F@IT9y~PibyyO^rs-$2lIT}eSM4@k2{_Z|1XG{)Z9q{Utt;gYDLO{ss%{#ULyils z;>N~ubl4ILDe=+jJW^FK7XRv$_X*G7wABuwPEUFn(t6_UrsBd5#vxrHLjF$j=VBN` z*l)mgzFR&@;M>7b_I14*UKOVFvle_KV?EZ0zHo9MlWWTIUDQNGL^P6o+cIV)L1nCe zhAXIv0k<6bPIX-ZCciANSsJRV=;-R}?>L)YO9Dfg&O2~{DIaHbvBHrJ5nPZ4!5mSj zeWBpa7b1oV2EZ4v4g`p7)R|3bD1NpSa{qvoByx$e;ZvrJt*R(HRMljSzUVmIG>R4K zX)GT}90DXYQkYxeEkcLocx0igz0EeT;~HU;RwH+}u={WTjL=i8-&w=Z1sCYm&7;YD zeSjQU;5C3MyM4C^|6$!q!B$hlc%P5g^Wp4J{2iDk^m;^<)Q1u|q(JS)`gg zSm_>18$8tGu*sKEYx~jTllO~nJQvj#dN|3w{s z=LQ<|5{-5|m8dGIzQIbvc)HNu`vbHL9V(}gM!-u(11+Nc_(Wx>IZr{@@?8@TjYVY1Gl@8n}YUDjM0t@)a7#)zkg zi&Wawq&fPuhUD_cS`!{uEL&s6P#Mk2K+s;YC(t}<(^$nq65DzS+|J-tCB)q1F4wr| zN}E^0dQEDXyse&=%B&P@qLzwAe~VWqql#f*sk)++Y~x>)rt_Vdc7=oB-=1Y(m9Sr* zAt&`}?h@AO05kTpH}x`8kbxx2xZCo8VdybdIf2?XHFc`*Q4oikX#6LN{R+hn4Ei2_CYF$w%j>nzgi|&oG2dNK@2{Yap;K<6@J~dD67tZ)3Y*I5($0^vr&fehhxS>v*vJ zX!rQRrzWXkp02`wM@PklsLAI6fee#HmYmodbty@>gA#Zsl86#GL68Bd1@4S6mB;Bow(wv>;|KZIl%5y3zK93{@5Pu#SCE;O zIfjmeo5~-N$z;pRtp(C)vuqz>Bx_;*nqgo_P@Q3J(>x!sC7u=P$T41^Lk+ z;pIfUJLU!ib@^Q_)3vBq_@#D_m+)A>yHVr@AItkr$0O2*^J%v_K_xqUe9FkK+nzd* z^T>@v+#%nO&okod4ZuV<)d5dHlA&(WDa;^gjEm6sA2_Et68hJNHwJSeOstWpdR_g* z>rEo=SvXFWlt0B$U(%$1$?^SM)w(9vZ>A86cnw>cdL3@RjGyXCU3cuO5w)~wtyTMS zNMXsi`m)JwdX=?!4pXV}l`2W7ATs&0ZtD7Hf-*&+Y6KE8hj<#@PUn?)1qdjzL<CiW7KPH0CmIEvEc@U)FX?|CY# zX5ms2M8gJY>oisDXr~yFBqhuIOgU*4!p)O+b@4AJ@9*8C5dAQ!Z3Yw9j%$L3nC-nX zp{ftAqPKnfo4rULq!@$=@ZDrZ_A;rZ-{}ohME&Vat20KSa~UJ9S!EP893dMs5JE_5 z19S1V#N0&O;k2G01L^}A5In;KS39?1+A*diE5r!chfinQf1$GN90WjwqbDmsa8251sV!qB~nYGTAKGw$=b5 zIP=|4t4n2G^jmueml1LlD9g}VrR*fw@jRuMgBY`-D0o>2qGH?Xxmas?T!t#=2&zI$#PZkOt^4oK<#fyL0E$W*B-z70*)dc-+{L@M%Cc@$I zxQinU)6AQ18a)1f^|RY%oh#EO+9TrhfM8Gy3p-OsTm}U6A+t!3IrHcb<&(Nbm$Y2X zn91yo-`Uv_$PN`F*}HopSrYndJna+m{Jtyt?{E0i?oU)B2-t2+pi5>*=?S$!?*6<2 zQ8k_Znq&QVu`ON>DDU(2CdD^W7AiCsLp=z1ig4~a7~;zQ_n4jx=^ibMN5+|I?)=j? zM6nm}R49BsfO8ekFY0ss{OxJWa`iOs-|O$ei>Cff!vJTGGcoAsXQ|hs{#&6xkq5#) zHnXSh>%5(II{bjAy`Z0*(-apwxij<45;CWMhrV2n#)!VJasR!6JcI6ihh4UulE!fi z(YI9k;=O?6Pp*SEbn=zr?^rQp@5?x9`>#(Vf3{sISfubT(aKYno_?%!6Z(e?AH722 z(70)CFL>|7jL?i^*#fL35PcBB4oo6BZ|#eTRGj-^E!=*CjsMqyY}eq62ZCYVo%y~Y zw5yx$9akR{wy$Onth?8k))Hu<)d&g+=kWapPQ?4Y7^IFmxm6KoUTmZ93Y_oN>Y^F7 z!ROOd>uUb+&%>B|6C{D@#d}{Jt!`R2;)uC4f}&PZIs*^mJl$R&-rRg%7wt1*ohBW$vyv0RdOF)pb?;@=@b#4TfKvwG#4Yp@k+xYqxkE)( zLtcYcy7ymgp(_jyL!+I12u5oo7qy-0J_euFs!>-Wu;yR^GhI_e0>COU5j z=(4`V?l5mblA{kZ0tU4#D(! zaBNVXq;@)yItt>rouW3(8m`A)6p-uOmK6PIsCvs$X#BL-HH1eN)F$fxc(T^gTOPCk z{m0|C?#~~}$%-9Ue5VCgNP9&!387&rjBu5_Rt?dhFveN&PP22u-#Og_Y00CVb)@yH z?o4DTe>pa}1T#yhjl6J~ssFp0LWngn5vTy&!iG>&0(Qe|8VQTr(j!=_anR^%jG4Hf zJ2Ja^9R9suZ4#7qnKuVLJQg5-?L%(`$c=wAot@z&cH zdh;6w6rw?}`CNB8Ti z*ijSQ(vCj%{jYA+K0Sa=`ucDCn8BC9#2TfCg#r6f{nu?qj*iUSXUf-xj*YGJZF9IH zKaUgG@4=%na{iNe*?-MjPSccJI)AH|T3tc-0SI&C%oVv(nW@VJCDW|` zC_?%m^BwOaYVWix6yv6gd>gA&5lWJVvh9?f9U;OjHB1KH`gmT6tTw9rswd01t2%uq zYYR=bg7*Gjstoe%Xd4X&ChTp%kt9!TS_w(5t$Gy1@bK3B~p7!&o^ETPQiQKUxLu zB6}AO@l>>5a_;ZNZbbLHje@V-V=gfwL%*i=df8wqzqw1c^3mT1~ z7uGjnw@yc<_=GK^P_kNq{5=muQpOV66ePlE!FVG7%e2V zUl8NZ(0$b~M!?gzWU;qc`)ex@*t<~7)ZLFRKj`^>`sv%3;a!*hpuc2a{0~#aI2e(PF^ylIVxUm2+1yhkf`3f$c&8gf`oKyczcWIh64GW_r2$V1zc?u&cHbxiH&0 zf>}UxEA%?2CC7|`G`qWS24=ywGj~a1oDi&uCaAzwbjZJz>1AT~ksGgx4b8TJPX3F^@ux41vOvxEmrPE+r%thrl{jjZW!o+GmK zsEaI_ogRS*N|Pmd(lnp#Wj}zvm^Lt?jgi(wR5Rq3=2X@4E3A|Ov$(@_8BU5$&U50z zHFPWp^Dq9LRpkxup#)c@jP{Y|*MSJ)hSMY$2PhO*V;wIM{_|M| z+H-2yWn`gN{Zk!lJM>uIDNOd8Gw4XF95{1LDp^UPOl<;o{4J~PJT1Oj{=)g%ZXGeQ|K8yB++ysKh>GH!?D5!^b=LXR#lGRwX|jgdBKZJ9lrtZik2rLULT< zF4w48`hkbL&BMW$z!#y3kJ7X#jwtePrYNoa(kzZsGkZEBhz99@a7jz5bo zHz$HX|Gb@@k0G2EHSCY;>pE!Ozwz)g< z;k9LSbX2VQ^h``l4D&+a(b=BJ4V_m)VIC-$Z98_@Ag9|wo=${ABGdFSN|PVJ7!Z{b z2Dy!!Oj_h0A8@6N9gCzh(b4j9yt_91A7X<3<@^gy%?XE?#RJVgPNd#TZzO}Ffq1Rl z8zw;Egp!8CGEJ_S`xLgn!xx#lC-5%b5HMO#T{SG`@jCZ2F}9!%4FO}vV|`yr?@Gs> z1RXzo8F1vjtfN3254l~t3kpjEmHM>rkzhG4(JUp5HT}}EIu;X@AE*HEOl;`O0>o{5 zwj4atMFPFzC0ZPj<&!lTa}$u{BTGU#C2Y-+D;vN_37=Dv%PxlO{|3t5zv|^vRr^HH zHc)TQxOAs!je7oDu10A_)u9yH<86pD#1VX8s79?=sqab2^44LDRE$i-exPh@NmD|e zRaq1+VXS25P4TjWK7<1Q<+e7^qBGl2So}63vP!oK)rumbhf^PwkdL-X>JYii&U~^HyeK`$v^V8!W6WV=w^K=S>u^j9U+Y?`zQ>zH;!#GhxS)i&3+q?XHjDc|ALG|up zzJehlHczrLWczK`!K!%hI#iK9ociJ}QLQ7`Ok0!0uvCSewzD?MPG=L!V33ANGD})z z1C}k+A1ie}GaX#uCWDta5p)r%*y|R>F%PB1hz*d?9E_C4g3(p_K`&THDR&e)x%SYC z8U4ag;L_u0%rWK8O;OPHe5?ci&eGlin8rXsZC?MCYjw&%k5{Q&@>0?WRaw<(iJL)@ zM%%=$2MM3^&w(>y62^sat$z_^W0hFLNwCkE zL%3pbW+h^wm*vM<);p6c;SxsRPo-^YuV@ET5*y8 z^A=^B{Ug>8Mdk=ZK`~SgP_slMnT&%w(E;$75bHPOcDUpzT(*T8R6_^)BBF-a#|?$Q zjc~lH__`9!&2O1+pnI?lnyy9tBVg-zdBb&s`FcLyHKjz%eZN#0mfCyVI)6Vf-TE-c zK`__DgC)|$T3G{K-Ubul#aa>Y|+#(6EHko?NNMfCHr)S5f z(0U#P?B+?*F^~G4nQGZ5A~r%nba;g;C_ZqY@)w5AGZ7~A82h+kQF$Y4#2jc5jhxo= zCjtvE_?CPjoh3$>0PIsjYFOWn75Y_Se9znRPeU5Ggp(nfpMBb?q+prr4KPTFKJn!&^RPHj8HJhi>6}Q* z@~S{8T-b(!S`ruLK%*kn*cCwp3&{N$Ssgrq`&FL1Du~Hj@)L_}q$cSwjeKz>;U5G0 zXH{92Qf;_Us+v$Z%`j42p1b9|26oAEuDee$>Sfx{kx}OlrG(Ca5YSGRP$e>QA$DQd0W{anptNww$%&b_#-(DkI2x4dyF9M8D`(RRYZ%l`*BBm)J zoIqA!d2q*%ONcu0;bd4VoP2Q@w0DwMFEC{p7mcCkQz<+R9-Rzhv$RntogMKtI`ots=0r*qgC{vdVDIAF02T2I z6--~OBMny%o&|vg4D<`l^vj5{H5H9EW4I#7_z^zM@mr)V{Y4bigpd_6qIMm;lp%CS zR`~rdHu3OCkUX63tukfI;SelSY#Uz)SDsRhsxa`Ff=ZG(b@8sbtX*-8>AxTKz!9pi zKfa1kN9x)MnFlT9y(|5$`Vb!{Xr8MW3%T&jjH|`1uNC};M&(O7;r1n-DQL=2QY^E` zil{=#Jt;T?TU(Q8T+`SAETqSzQleC3m(AQHOL$i;2d|imrBrKXEOFb$9{<&=-Cdi@ zIb0sUcCjE5*~k=0UsKi;9gjC@uC)N|#Rt%D7iP1JwSCxXvY;KCQb%^n?=O1cmpkWD4SKPt)J$@o53B8!vqP;zWTBjIFBFJWx%GGVPrh-36f^4&c?EON>A z{zubNzyBF=v;G&~Fmp=u(h8WSQ-maFPZnw%!v6#hlb^V6w%r9MUNrscB-JP|g$MQm40MwaRnAgod|mcI%yk z1*2Fh)TZG^tzHB|l$N8DT?J?qL2MTSH5jD*2lH6Eg?pDKN);$2y2!Jq^sQ!GU`h-1 z%SBA72iiRGi*if2tfQIoZw#_6CtqRXxpdxWq)9llHMNKtX=~pXwg2nXz+U!_;?Iu` z6#Qqv4-s^uRgdCSeZv(tXe$RZq|8JLjzwAMOEaj8mG>LS_(}v-YXnf-Yb@c4 zYml~A1xWwh(lXGS#!;3A9K=14M+DM_m`!F z&KmLUm5DPOMNOao)dzDbMZ%e(oD9i?lln2fR+sK|^!gzNN#uk)pJUsLhAE}IRhTjf zT$GXB`wN;nv%dHrW?+knmYNE9EfZPrvcNICDSZB~mi7UrzFeO+$9A8J#+G@!FRU~7 z6(k_d5k0?xbUDGAj^yb5Wf@O7d}r&|GCaP#dYyopnZ~wZXb#Ub3m=)Q<9VipXU341 zF=fVQd{XQBz+=?VU^iP)luMwJ$GhxYIx(&l&zE37$}m!bzUY79>O|6?6TQfLR}nOt zfLh;_4yswd8g2fBT!=6W@z*lG$3P3~06swDT$5jXmdNDVw?5qm)>V@nn~+EL84u1Agrm8RPZ9d_rP^&>JQw+wc4B z)D_Jqefwl62`hvqB5mQ%moFlmbr-UwWWDspa4AXU*6t6>pbp(1WW&`d0=JU`;&i9b zzCx0)3`!_?(#rvdSQQ^)$Zq*YtuT%K;^<7fZ-=;8^HOw-i#)1WGufmavuJQXDMk<( zeY>FYmY<>}t5KYSL|dw@&7mPNaZnDKf}ATsJF>3B>0`a@M~B+w!6RaLlJR&9FtRp;pI|@ zfTfoAg57qbbPDcofsbX9FZ_mIXo+VZE-)DT2wH@dQ;$Djd0q4i?LQ8?1d>u~U07Zd zhs5Yx&Yx{8&G_JL%3T-H3uF)MQH>)7!@lAgqDrit8ZCsaUy~qJpn_z@98e`E@?qO~ zTXtaDS=$V$t0&!dl&fh|E<9WBz^Y*Zu-|}4(xfF;UJ{g>K15~#m->!{9H_9=mkfri zQFf{;1t&o1#G;i`qJ__E$0V$xRtb4Q6Dn}2DS|2~m@rztC|Gb<>vrg6StCx!3t5y7 zXp*G)|5|8y3?=({J&ekf>vNrv3!UglUS2aevk(pVkXVR-%_Y?8HoxDtG1!2dii1WB z(y%;jt1_!s8p|`WKN8AOqMUm1#r073%SerNy zv_!{h2w#Lhzx?43PBia52F2S2e$Wj#KBqLuvUx~X5eM`l%xGqrWskk6`>$(3;lGJ; zPEMDvuXK(ngD?7@RcDAAWhuIypK0rLgj0?25Jy;2>L)WKPUSYiV{kKKmdu^*@Jrxh z*qdYd%~Z`xM4((H5Sq%`Gz6bc0eA{zG!_sKqr{8!erA%uqY` z%uN4{+{MNdxZhiE#yCTC^5Yi;;i%WUSK^1tzl?A*TFv0>F#fcU!g> z>^J2F_LL{F*2K3?<$dsNNW9k_0{M5% zz9iftHq!tyuqzQU7j~O&26wq439!K@oOrk1XN*Z$oa-W|$yuoDMjt85GLPu%Y_88D zPkYzdGCg{LRhd73ha`n)LHO9TrWQ}8s_9 zmAeIB4TJJdGGc#31*R?WB|S};ixI#RYRgzAaa^WH&Wo+2Pd@u#>BqwYH4ljcAx3hX zTYALi4dCRN5zwUlr`l_nY9yXkSg>`6ryowYR8lGCKzD*`WN+18pEn<3eIlX3>524B z^1lfyp7#G&{DqnF;O)qEOvLzOJ*A8UdUtNE&nL>`-~3ajnz?VF*9HK!{4hr5y)5PP zY`NBi1!+sl!zT)k)W>G4`wPSb8nxKVzqLLFyOB7=KX^5t4I~JC;EryyhgZ%?noW5+ zfYgz{-jP4Y!1r$8wlnK#MNyETS0EKU+bIrgiWhP`mf4-ui(a{LC6l*WprJUow7*!& z;6i0S6Mw*6Dk+G@HWVHrlJyhbZEq1Bu@hlkwa+c1y(UBb6KFd6Q-kC@4)BXr@xR35NE-s_NPzZ_~)m*6AG@F)OB z(8*iSA`;8T@!yXLij9jxaSKB88?TucHPm7-#fcb|IRErVL-4Hdq6(^Mu7&Zy$2ifZ z;J>a`sGfY9B?;S|$idyK%#gm$XP#*nENHXQ%GLA@3y!=Q z?N~Tef%(1NiA5U~y3jl>He2X`06_uLhXvKV#l@X<(7khG^8K;a&Hs$+6Z3VEAY!T9 zV(pT+6W&(Sl7P2C%xa$xtK?Lj&jRsugM0Z7YIvAs(3Et|9N{GrZ%W(`^^8P^y_Ov` z$I@KTHZu;7RbXKCy5nhoF%XWzyYup=W5{fY*t>Spi|0G*9e|w|pPnF=4dnv1=4d-h z5(Li|#+i1t#sD~G`CKK7j}crV#aPV+2Trt%oi6^*^s`b3ZPaPzSy_*jNajp_5O~N> z07?Siy(FQWPUE|Z{`^u(s#T#svD`b&vAG}5{=gIT)v1YVmw5ronyYp$>l!k*05uT> zCWjF}lT0E8_8=8;uollVDeb4mnmv4pdHFhye;_^Y*bqpl5BpCHc%s6cy3AqLctNdJ z30DkigTY~A=0jmo?t*PoJCtkFyX;sJr$Vxrxs|v&hDCP+S1T}bS#hLFqA)?3SdQEL zy-tlNhhse^3gAllgpw$7l0o?>1x>=4ynd4V|VBngQV2g=& ztp}a7V5T&oy1S&A#zWx+$R=Z>O_Q68mRaOi#^A$9z(F;a++NpAp_2ImbzXx9 zAHD5jK=uoT{6EQW@h3`|_z(VxpGW^7O`_v+6?5T~jse$y<7}m~3CL+4dXddiG+#dr z;N=)AisE`GET}0!H9-BsoYG-d0B*PEFyg2-oKs%PY!Grv(2p2^4^PU9qQo|BQuO%U z9ATOZZtT@pEUPjoq9lRjett-2-gK{8sz3JQJm&=rc~1C6A^^fmSZnvdF0>~`gcS}ll`J0v@+ze6HWN8e5MOv; z;%U?e==X65XYUN-4vTOY@tQFvw+mtQ+MGVKU=cT+|3@)df$kO`f}$VoEjTTNfsy=< zvKi1DKda__ox^&IfmZH>d>V6nNt-JBW>JaX!qyG-R_a#^2;IQ*$kQvWc$kDzw5Q>m zRWy~XX4VN8Nq5@rLIcX9yBzy6E8Pl;v(ma_iY03}#})^+5WO(qT%Zj#30$nEh~|R0 z(jMMzdWNtDP3>YowR?F+@L+(YF!hK8B^&)TKP90wrl1%xVz=Z9)R2hs2l=VLwvjgC z(KCEO^?@=GFPScaqda8i18N0#AV-iU8wPrWCWp>()=F~W=TcV9`%l5nPHP}yq*@p- zAAS!Lbu>uDxMi4xnxVIf$H@4fvN*8`2U^U(mF%;jnP-mFEol=e9-Kp2Z$cv1)-$Us zP;?DKy_NF!%_j#1Vh{7;E>;3ctyP}o=`&k>vYts-`;gPdB>`#o27-yujUcTal%8El z4-Ca-JwhPfYVVKkGM0Z9HOG7mI&BCRs7*knGE3ku7?YcXP_g zr9O`8?}13;gYg6dzeoDgks)>a2f#SBn&K{ z;m;2&7ZjJ4inKIlDxKlZ7tzffFJA}$zz$4T;V3TEkW6>w#XGA`{{1B?7l?QF-;kbdG{hmK`b#3D8F#+%YQUdHEI`M#N;>_*b986n6;7nmG*jD=ZaBqR^DCNG z9WNXBA%6jjzm=w&HGfj!B>6}ug{MI=8L)`4KhEkH$E{FM%K=EEZB{TI!g_a2MTrkI z6q*Z~|2%Fp`0$!h0~ifeC+I^8dX}T`IM*Slhq`jG;^j=29WYhpWbTXb&Z2JHq6d4z1D8z}A*7UI)%)#iQD112o zZ4!4AlADx>3+XVtv-V52KS8<5;4ij>qVG1{c>X<&#U`D)OQ=h(>K!?seDC-xYD5>F zpEyE7GON$oK_73Ov-dxhbkK>)2!&=DXa6(ER=j>E9tH&q?TQDiTI{i*Tg?-W z85NSAT`Lt03(c3JDn%E-oUVqI2Og@`D-9SMA3Z*tWUnkW6MT~pE5x4vggEzea`Z)CKa5yEi^SDdSMe*F-8o&3rbK;zFo6FH%x&@IYY?q{< zp=?tYqX6(UTB$B;P=%Sw0%cCE8!2sL1W|yqhN+IxN#;FON5rMh(muFCsAeQHjCw;+ zBtRS)RM{LEj)(@VQxGM|5#iZ9CiDvt_dKBl9iY7?ykeA^x~e!%9wctBVk#i+#DQpJ z?jmjATL(6m>00bNEr+?YEjU`E`l?Zc3YO5AASFGzmNWqNnF-tlpl!CbXJxtYQR@7Z7G@`TQpfV8eAE)9PG#+bc&?2ev3GLBO)0{kYC@k>9`2K z**mr9a~e`pICw;p(8jS1uTwBb5O@gW3lfkgcaT?9Cr=d9@{%+2>O=paIj_|LoLy3x zCRc(#VDD)_)l|TKnne99GM(RD+@C~TCIqxBhj2M11kr{$ ztVN(zGI(>OX+P*&ISdy}3Ezo`#b-hVK2aPW7h`fj@V%y{68;EhGi!|9RQGr^VnTQVB$C)U@>IK_EM1etG4g^bNeE;~U zEoNKZ*vS$a5et(Mf*OXx7wJ=IKK7#s0k^V<>bYM06!w!gXCPPBG|-{>pnVk>qw2&& zJ_WcL%g{<1b61j*Q}3zpV0Dc_51kq;ahVD#k(yzyHXB3D_A1asnv2urhUW%89cl9Z z-B>0W8f81~wamIoOW(qgqK%`?N+dNE^6%|aE$k`jd#4K=&+ zMS3oOMV^>@MW_-9>W{XHL8SZJmo!SIbzY#lBmnE-wgJT}2|)Rh$Eg>LY>gM^_alo| zFy8&qRLY(X_AE%P^#9(x#{>&8XN2J^Lok|@k6Gm+SdALAqj5gttQ<)=M>s7|LT9>D z<1D>34+>odyVRk*1!Fa@Mt*gM`>83ZDepw<7K&7E@H-KFrp5lxH6p09hk0Qf&pQWiAFBDA~U9t8k3&CwwZS0B$!dFr2o{BHZcI%AE+;GGN-9tr{#%uGSx7tOp}^9>(egU#EQ*E z1h=7E+R0cb*pJmYdhzvAW_TKj%Xbm??Z#dq>C>f17mO$WqO!W9}A93 z;Q~z*aS;j#D`;fOXboO^-;HELp)73LGhi7do?D3;!zits!k5Wl8I{s78z#IO%+1#f z@+N*W$50-(sHH7Yi^>S#PB8vLIyIF2#hp`;p%Sj08Y$V6O3CvaL6ZhbIFCNPqNI#J z_k}H|JC$0)LZRdQ6CXv@Glk5me0rg;kZZ@k$Rbf!wk{o3F;NUk+)LeNge|!@Wfw3w z`Jd8c+TtU{7? z%elGF8BND3ntBE$Lqp}2%N@fp55e-Dqr2bZL!@2K8nOOCyk@hM}WfdGIZDaOP+)E|Qk|b$U^yzU(XYw|+X{BUi;K9*^HIWt1k8pyqh@hHN^%$!u($p|^LrqW?F( zf7AtAIIO|A8<@~2RdFFG&b2M8&xpq%%6o>fGziICB(TrRPj*5xBf3(v#?iE0HR6Yd&*2ymkRnJX^%6Ekp9TT>>=Zv1kVeEya;t8fQ^c0#_>QomC z#KaA|+%KvisW>OXQ5;RU zRgyD%S)VD6cA9k6neLU2vB2wDNfwv95k!yhRTUb!i^@`lrQ29$r7o`1RCpls76%FD zjRX`Q8W338p}J^r4R{e%zdPx|_giJ3g<+GVBN|I5Fp%c9iVdYxDF@%G`vbKUzjCsC z$NB(={S|#=V2bypu~1sGMety-t<2LIsyKEbJLdS} z!Ny1Y%i<|2vQSf~*2lM3^M>C6&EnESX0dlQ2T+hQpNIB~`8?hLpN9g$o12@Vi}qc8 zJHKYdYb{`S-*ekCYH3cLIXPOCTN(ubJF5XoNvd4Ia;CkRCQ}kU~sK6v8ZMio#G2lH=G4+6T!DP^etyLtP* z`3K?}?E}@Etpzv|C#ywrg&F@-j%nWKgX!=v7<>5Nb{856(dzgD%_&O)+aq#w=$q`< zixS_>Vw@iKHAvPx1~WoaEA9`epkjNokP@r)wd2E;XD+VFHRSBwSSFRklVm%zPiQl^ zRz$v9Y>t#n0L+HOb)mD4kOYB1#dYxnC$D7nIA&(Mn&?nw%%2tUMn{6sESry+TPkM= zhNrW2qbQCg>98p3$k0i!niinUtOm@pUYm?qt*R@5cY~;eDz|E{$F`oq3n<7|0>5}w zg+qSC0e4gKs-ki`CNSD@SN?(iR)g-Xbp-IKA4<}VCZJDY09GZ92DajA6|RkjK}&I7 zq^r93mmFslA40zof^K{{sFb4$kBPRZIvyq$;H=*E7&_b|(R6CaGF#r38$nkAJ8&}Z zgZh*iuwRdM1>kP1`Q-H+JwK4nx`AG2=(npA$Q>H&(WGT}(<1UPTK*G7$Rm)}Zj|@3 zCRc)u%l`sn(43-Lamhn#qsHvB`yH#QC*Q@cO&F|0|5ksL-D!<5y4TeUWkCl8{=?K{ z|AAw-H4_XsqHWeeK8GVgVV>D${+|Yufg}=P6j9b8k&T~E!9A8XomWOkTPA{-qK;N1 zJF0`u`SJT~HWYFs;|1Mp-+mV<$DnZCzBny)qkLZU^hdDW_k%3%$DvX0KA{ax9lj1y zEOczSr2dpR^DSkaMh(El=<)2%o2;u*Rz1Wtec*oT5q0pX1K4bQAw6g_u{$Wh147zq{oyP0fAZ_wB-lt=vFw}f&7ZocCh+*x|Rg7%WG4bdm*xcz6{o!>Uu za3*}XG-L5M6-T;rKMsQ|-5KoR)QgrhaDM0-u&=dZWkh~fsm9SiPaPf7Z`K;d3#rp z?C}5oRb9hN`F-)SURMqjvt23>^;?DW9ag0?($F#0Fi3A~@G{;EEgji`!cndB{de|M zaD||jx#Bce7TYX%fzv3QA!C^oSb63z?v@G-Y~TTlhdK$;)zQ-X&!vTaJ1d;vkSj7L zeSFe`rT6@BH?pC=X0cN>-aKML0TRMYbNw5cvw4OBgp%e^u}oK~^h?*1rHO=fl$n&^b!KbcS~I%vmea{rg#_+8LYI|Dcsjv63z(HrlF)LY zl`z}gP+JOK{@|KQaaXrBQmi%^4-JhD{ylNz^qJaX7|$ieV;VdpH&`3pQeJlcACmH^tlkpdWX!j0uVXDumK1?3gTkeZRYbEQ!N-DcQdHkqmPdNWPEr@>jF}6NGK9DDpl<;Ka!D)PQ zh_qjAw>2VH#;PBUNQ~E4&+}GvY($93(fO^j_~$(v1tXozak4RGB_b#ip>>on&dpktDah zmsgFQ$VV_&ZD*u_8f0ggwW{edad5bz%sS(4Vr+S2BI$mgmkw~^i+6I1ye{4M1K3xt z=rf<%ShQ230U*UXbDsa&^nvL!EnL|T2{I88^j<)kuj}#sltsg4wl!sx`%5Vph}dVR zD4)UR+N&91yDX%we@il$@MceII$&_yX8go!)vG(U?$OzAkd2P%4Jczg32DY?&84s~ z*?*I!2v|?q9^aYiL^N%aWiS!UwcITGeXL;d+L#0vxcZsPU`*FB=51T7ht7tPu#k;F zca_J3Os*O9S>JKw#9Sf=NyRLEv-X}zaSJIMp3wW;<;rEJrl;5@nRxJ<1s{u)f$5{@ zi~Ov<`5K2u@DautWtzYW9Zp8Pnz8s4{)SsVtOxAD>Pn-NbMbQ04 zgT<#9ebO0IO@8OQ_W24|Wpk+qk^pk+uHRJ~bhYb3{39b`8aA^bTJL)!nyiao$2IiR zQp@h8=*-W6z2W!L(BB%T!g1^3hf%w{9glxQ$vWpI^@Mq%ddLN9JFCA|vM1 zW!it+*B1E*H7fAo*NSC&LnRHE=He5uP!Zegnj&}H(%I_@1C0|9s+qhfn0K9Y!#k_I zYy|G}17y0#T^I^{z6GmB?}H(dL ztl91hoDQqpr?%p+(`N{5q8g*$Bf(`-7ZtXiVxC5jyxmv*3fMaoaT{KAo(Am1ergx$ zLDAt$6>>43A8YpBXrKQ6rZ5xQ9-zP-7d%LR=JkzTs~{pzI^}|n32fMhEj_%!+1ZAR7q`zQ zn|KFA%A5eRsfXpe(Gnr&$#C@V&=w|bM**Ab8yjodwp<2VKF`IF$yDDrhBz$aJ&r&q(fGEXNVCKgNr1WNjSM^D?RK>#OUk$~#$NYemSt zY(;&jx{y_nr#%1vO>5O(p{ph#v+O|Cc~?>r6^Q8pDo@#jG6e^R*^*SB4Vl!ux5djK z6{S4NdYV-z`R#~rF78k7<6TQQL3Rq6`Lrv7$5)!h7Ht(c^@u24?AA(|?@)QU;tL#$9!d86jvr3V&!%5iBY$dEd&oxq zf=WeVxkt{Sl%OpuL_(_FMkNO@)=9mxb3M_Ksf`PC8@Hf6Ye;a0%Nrv{;hH&~=}rf4Y{16UjfFyIx$ivTyen zeDMomn-c54`j1;fhnw`x1wVOg0WG#9U>WZ>SAIOa!!EyyGH~kj!p<717B2XWvUhsT za{(HkcfS8G0H;7$zpV=L&kdCe!K@0N+~$bmdnS)BbTkz#to>}r#C${-ZPVeUifYP; zrg�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 z zciwf!zP;N|bhe?*F#l!6(=c_>!i%pQv-Gkt%PyO6<_9O9^}(s9Uy?DD{87`Z=e)gY z{slFQE*^K*`(~c^!MdpnO+~k5l^+`B#~4&4W3@i~P{+d$cdvY+`_YG;&UUG@qvz$d z(cQb8?#{!jRyyfan%@P7PB7sRQa6Iq{O&qjT;b)SSNYjuiXOhUs`A_4!u#cfG55bx zWV5q(_d}~^UUc42Iul?A^TUx0iqU5C8S8 z2S0zU8B2)*ZOy~CkkCuXSUj0YmsOXMi(t@DKk~^hSqiMBNItIzdW(ES#mV=O-Cl&H z@$iGscy)W`q)|eC+m%I;b55IDnCnBDR3hg0dC8hcEBKS0u4;Y{U-^MdgUaUnLtHq_ zh65|^S0UN3Nm_UAG|e=X6#Zj3l$6%=UoBH?CJq9S$yCT$l<0wvCPb^?6L&1|42Bb` zPH-MbMQ%hv1(lVjUGk3Q@4j&C88ZWU0dK$qvMS(epam2iY2VK69!+l^H!htq1_t`Y za|o-i=a_KOK{E<;h8!zYSX@7Ga`W_A4O3_kRlyJ(-< zjDI2s8ArOg_yA*pwYc~Xfwvss|3naS;MLNA+{~dVG>jwiRUdd#Hx zQ)iz!dG?CtiF0xb$|RK^8{`fY;=3=0T3Q2My&yM7Y+1yYYB;^C$-B32rt%iUp86gI zdpwnmV<*i$ecF<9>nF^YJ^9@2gK9fl`v_XXyx=p-csxZn7vkGi+q(MiedLAeQ6+O` zHkyVVOTwRWescR0pZ>-jpZ?~r9(r;Ei;?Vw3#Y!ab>GVyb}wEsGba*2YXvKd0Xr;< zsO;^SbM(;AV^4J6^Bc*qikio0dN8-5a?K4t*?iNDCwA=$jA}GIUfVXTbXtig_uPEr9bKKh)wO&N$LmqK5wR>Mfqg9I@j?$d$waiG zti(2x$J-94Q&w?l1sp$24fj}S_3?iA3shs1*WjGv$m#gtp2mrr8K)-^hVtFukA4cD3YQ~`R z1|QWl&3HT}JW(hxzP}A85=t-`=ZA#`1_rpYy8A>t#x$q_PB+Sd9RYw&gx;jjYS1Z% zrlQAZ@ly~A`jz`x>#*R^^;Gq;%>7IGA}?BrINC!NG&0a2tva85xi&iDH2dD1gSYy*$=OrJb!;gU1X zyX3tesjRMdWbaTclSo-miyQ_n0s^SNPZ_7YKYZ!lVxdA|0^Il!eFUK0Lsl z!n^^6nfhe0Zk7CH!wGKmpMg_Tuyo-C2mwM83aaxt2&xrH$*h@-SQY?jz>!V7Y1jy0 z3V@|-+PL`-4?IBI%n`1-n;$3CAYT8X-%9}N8P7iZ%)$kyB~uUqX`AV@R^vYqND0wY zwk%unKeU3k;NJ(btVKS+0UmbYSBivV+yIDZXsIqFLjpOa<1Ff;$`}r2>z+n5MkF-7hh!Y*^+_i1!XlpWU za4S7UcYK;2@Og4`JUJmP64t{Je=y<+Mig%dHVXIa;GUm8C|sG_Pk7*nC?LM#-TTC| z;gZ~fg|nrCh$kGdb*Fgtr1II*i>qtPYDeYQR;pfaAOPIQR5v&0m6TBc(*x%BY)?OT zS$l6WlT^{^-aa#4@a$CA^gp>l&uSOLP_WIQKq5dvRfrng39|}bxp^#5}y4C|9SPWX+g;OM~Zq`CM%86wS9<`~4GfFVc zFBU>4irHpLE-^t1G(>iea~a-myuWV%P8%E}RdvQR*UX(huD7e3>tA6q!^M=$(T!yj zM^{f7SDzE|+VI94XU4QKxj9~+S6hDi9Li2nKa1pv(jQS`A0k<9*^{~N9_P^hq6srY zjbm|l_D4QBZpjM0FSh&kU$(4#7{&nCm^o%RH|SLqGm#t`8ocTHAMe|-6W%$*lIN)L9}!_6;H-Y%V=piynELkP1pQE-x+7F;1~bI^l8T6JS`gntqE6C=vM)ja4==l zG}GyH#(+NKYG>#YTqY9nREpnD;0v_kZ8Z43eSQ5sy}j@spo#r{Kb&WiAH+4`h5CIy zXnf>_Hj42}ON3N1>GOGmpUAymDXrN%FTZ43k|Dk@Qt8|9*VDu}#{7r$Hwk+!ss-a&AB zI6t?xsi|)4_>!the>lRYva-gh0jen}nTo`q7Vn^kbj6@`_Jg@$paI z@Pi+5zKG94T*{+btFN!;$dSYAUtW*nN{P$e)j(4lFZaEed!kQPJ*|Bx|jIoQ}w&?wh6%$u1J@4U19&c%B!Klm_=1Uva zKK$q(8k?GDO<(Y~bKiNv1(y{Tlm!D}w2iKlO})zHVv^N%1LB{N<rANuInk6$_d zlUGgp+wGm!kq+xXo6~aKI@+an_Q<`_fZ>(8 zhotsCy*H*0rF?NSkT8NV$)C|YiazoDv*%xPwG`pEFbsILL9eGMazo>w?`+^nnLHTe_on0w`=k`H8I+iX>ubNYN+lOKHSvH2?&$vRCP9UiO0*Kff% z@Fl?k-~G<_4^Q^wcQOUjaiiVm!lHqC*-zECjW zN~dhsOEPpRylS6c^96LTU-$WaFh9ILT?1d~FsF2|l-<`?%8$Y8w9drpKSyR?0v}XO zW`?rk3^;8IzwXr~OC*fB_b2U4M#*rZ z85KD&FRf8yo4Zf6XHv05ESiYMtaK)mOr}#A(T?l^P7_nnC<~YfzGnL|rpVy9>+;1g zivSsszzw@UE-)eBRdN3uAhAU|7-m=FEGsewrU?r>+aQV(k(y&m1VwU&Mw)=YNcc?! z7vbsU}F5sHzFQ*0%fPRs_5O9EFOpszPM>S#+WJ@5E!5Mz-d># zZ}CSjoxgbQSV#{f)OBfe^QfZ2NM&U)%FC9_a`EdHE!jSg9rVkSriCtg@1P#cpF77! z>)>8yGBxL4IOD6|9CP~e1HZj*@W>(5ZmSx6Nhh6_eY$KI#}BtbSW|UrGF-Z$M7(NL z)xza-n;L7696koL6R8xmvT2#{=eqm);Ag6u>hpU|(}4Nn@p;iqP)wmcW9raJP)Hz= zm=c9k=neX&&X`(SUbb!LuHW7FKq?JC*+y}h4DKT<0mZxiEx?tJB#6rIHoG-1-%3Dc%doH2RQr23NLoNy4z*W=+v;U2Ge_gmO< z?qUHrz^c#Vqc;qk6a_@XfyUrQFc=7h!)TEB0#S&Z$u$I?(&FO0{JgHNE+fNLglHg| zD2U*&7^r1(6L|&)(8LeO0d)DST>v6ob{GMnVX0(!kVW`vR?t_KNEnx6)7A}~x z^t2_S9d1{>szrZ2oRSAYB8DH=7z7%BEot6@|2P=w`K+MGUQy}_Ly&-YKDFf`-ZiCE zhGPMjLFIeAmS$TjeKvkY71DrSkR^HQ#!sjpH#(6>@LA*FV0>sOCpWjeW|Rf>ARZ3G z;V_|u{fd$ka5PE^KD~8EIYkX!Ar}Dw)ZY|@a6%|A= zdIo-T`yDSoxAD9sm#vs{u`YRmb4^XdiZjl=|A7Y~^L5B+&G+v2eE5QQyl3*%d9|aO zL*asG-00}+S^3n{k3ae3qfb1w^2yaNyzufPk36ww?*UEqQ0%bfl;PCOl6?5^ku}f1 zaQ4|}kU~`Pbek<(f*%G6%xA(-pY-8HKFW3=PNJbCw26LdGAbDyF@V zp+M1SoRiVS-gPhSdH%UwtDo8W)XH5rRz0)hnWuNGUbX$1Rhu7ua^nM!zVgtc@tz@I z#u7~9$Rkhhyyn^+U;N&-FMW6W=fAo4Ghg5L>2I|E><&E|k3am>{!f2t&lR8BcjXrj ze(FoDS6_4VOJ8gK-jD2_UcI-({#ac@b+&0@$;*~kcHaBjdl$`{c=nmIx#WmMfEC~jMN_e~(I1T+?dSr9BasNZ zo4kjAQY$AAIz(JbO zxD|^>aZpr=1t$n_ivyf#(MMyVJ>2kr182=O$9$g7X{E%pnqSS-1CN!zMqU7TUykCIIp3cq*6HBKpbn{d(s!2oEZ=z8yo-c({}ptlDaG?B7Y@x_05o2evaKTH~Q zhwk;#dFF~@Gd9$hmm7lb2(o6N9AFJlm9h?c#HLCAfirsOE7|Mi=ZN?;S7;=9nf&sw z?&Vv)z=&X&RxClE79Jzq?Q}YW{JPFvvP4^;i-muxsqkwvhGnGT;d0q>h7-#fki*OA zXwXFfS%`oj*Ouw(nC7P3nsImS3BKbjdVPjQdCbM5P;)URZ;2X3r@DK@!P*1G#m~* zH>1{Y7j_k@fY(H4kdq30a?}486)c3Ca zD6|fHpSB`MYdUhwkbboC&?j!$_{658@P1Y9cnTd0%AiDHvjCV6g|L2s&ffy`f|XDx z@Q!z!d*1oyUUc#K#U({`b+wmXa`A=lIDhWk*`TuRfPsuN&Rp@XcV2Stx#ygH_E}RV zO;-7hC00ezLta%vLH|21z3||^oh|!!?%la%+m=mBm!2jbk-%V*O~afqW9s;^jT_c) zfLS?l@|fd zEP`*r|9>z%%BUFxP%XJp7*G^&!#6l$#iL}%5r`vqxh5Pue&APVK;6P&V^FJOXU(3q zbWz>trkci4)91||GiAE01|%w3_=m_MS-SPMYd^aDi|?e!p}0Vtd!lyBdJ5U_pE{dq?-twvPS#4z=uWD=8`0CGPO#Rt%)l>C{hu zdh@40^|{O5^`6{NuGngiiWmu!F{7_H%5S?miV(ycsSrJ4e1Sfoo!dS^MHnFvVY0=0 zA|3}tvuHU5G=u{LyD1HI_r<#V%z>z#NIJ=sluS9vv>i)XgNe*QEY{uM(|SA+PfMEk z3V^DI8b;+WUyyUgd>pyU=jEI}H+RYG+|%aeFI$?oY+=rvS>ahzL(?V%CXe$@8mCPj z>zmYU`MeouaoYr`EI#$MB*WVM)Y?4{ui1X@lUslH3a`+@qbr-=cnl* zbHeGTn{a*E3nZ$dz`y517l=RO=<(R5S7Pfo4Q$;eC!(df;Y9n<*pb%g(ZkW>?E@!H zxN=sgBk&JRM5-5X3p$VeCzKgl2(&bF^2g>*`0!LqNej7(oH8s)XvT5V=c<87dq-DC zM`tW$HcXgaRM9}1-~j(p4$~qPT#iWAf`H%|09k`&xfK#{mo&`+QR6|r%%&ib{<+{{ z!0r<08zlU5T0}J6V+7TI4kB+9xbo;N_>*udeO%%5uMfa^ z&GXNP^YXktzi?Dt{-w2t09xTTit{>*6DG1S%V|3EY(YZu*|mt|Qevne4eqINc>nIs zV@KfL1tYmNjibw|>-f$ei-qo|_iM{=p1GM2onDL;J}jhkf`}9duzsX=kpZ|Q6~37g ziy2@0_KlZZbk3v+4Nt$Y{ozN~efYiSZX91zW~D5T z=09!4IiT(FwqtA7JZEH5@U~#+zyBj2(S5$XyLLbP-~)WSDs9e~yJ+cI=b&-Wge`mb zJ$V1aAO7(BA~`v@gpqRhFK=-qPBHfN^ffe%U9|jyq@iTe*3i(<(Y7N~rc8#3zh}=L zbf4?)CK7R2AENtI_^TPyfVzP9XqqNS2m;_1yjtW+^C>Imdwo96(o>aE=P4eK=JWea zx}ny!*IpNk$7ju+ofFB+q*EvXY2e`;IB?+b;UlwW%|3m_aQQi&`L?yj?-hH!9x(wa_+Rj$3(Q8Qg+|ZncU5sbn(S4a zfX@r6g0{HtZk~y>zzRm{y62u9ibgZZcp^5KNTw^RtCpT~9un{+HCLet&L-z`XKW{9 zDJgD0N{dF^!aw^0XI3pZ-wg;Q$(u-BUs*275)o8`*_%X3#ED8^TyiNor~&e>+B@*Y zdv=Gs>Zi|doY0v6?yvq9ZCL%yOZl1{7psX^{#XhKe);Fig@v2U*kvimpYNa^yu{{6*3**Ijo-j#xfV0*RvjHZuK70;rS?{dM&D z{|!#14+zAwWA8g~2xA_=ktXioM~q=!QXp_(Qf~0BC_y}cMFKdzXcPc65RFleg12mXsj8;AprC9RUy>C6!rnkCqDZ=lfHZLI z$cwA$mR*|hcoixRA?Vl+rWRzERK?u4>gh>~Pfvq>0xMPqBt!wE5BkBe^tAEpukW7! z;rCh|Ket;Dw6I8NrWU`jLRct(EeFnSJnv}G_p(Z%s=z_9<=#E}wmkaOMPIn8=lBUL z%{O?F3TaU)Y#QW-U1b~gfSD|7td%^vV^~i;{`9E&nx=`P=~_|?pfaI)W#{mr_B-#m z_rJe-6_p`*gxjRCm6G)G%bTIDrq7zltW*evl+zYFT z?Lc!>i(D_p(qQk2Oxh?YET%qXpRgh92YS4?#5D^QJf*8ZTMqDFfH$-Q-XMVNS-a+i z5Z{rd1B?a$a|mU(EeIpPw$SwjK%`KX2_*?@o&u2KjG~U0A}d7@-+jcGwYeFR>TbN` z$cAM?gi&2PTnH+5{($g92I2bh0r?2g#K3{R6+-h=wgWQI6Bu$GoqZ+6IaJS%lFrzY zY5V-%fx!gaU4`$`u&Cm~JfMqkI%B})s;w%e^oPVokpd4&OM$&?q=#A$geoii`NdW` z)zi}I4TKBIO5ja)@7`^slELD_{Kf`D^YC#k3OL#t@97Uun+o;GJu2Xw85vE7bk9T+ z(1IzSKN#@(B(8UbNQZHsI((=#nT(GcH_jIb(v*>;V{L6M2M@vxsHm#p>Mx?L^mKLY z-Fsl#)CnGs4pc$XSak4E>%n*;4*S1(%v7&GKbC+hlA_Vr@ndaGO^s;IzJ2>l)8^DA zoH6dFY^G9axE$Kd8_mEtZe8Nc5L+Ga8t&=;NLP6)#lqzdLUe||?7DLtD0 zgCATUjm0KTnp9X&oK7WOz7B_j2lnqjcC3BD{CV@2oJP-0xWFud)2H;MCrzGk+g9(* zTm6=#!(c)jY&%^xmsa*)KG#zbfyW6^O~!y$G`Ivn_)Rpzz;#rL=sMDlUCtoq{%rcj zP@6QYXax}X=wG;bbnZ!QIPhFDjRJ(}0v1IQ_sV2R?0j6JSWyYfMuFl|)GPRqdKUD@ zHPHgYivhql0m$5J3qQq2J|p9^NFc`TvP2UsxV2<;)C}z4c%vUQ#{?Rj%0=O9I8nps z;(i|7)q|*t;lO6&%oIF`4bK2_HE4+{Fa*rpP|)oTw;6nbApo@sM&Kn1gmccBB@{19 z*RDKp|I3FiKcn$&v+@;1zu?Oc_!Rs3Z@tHd28ziY&Vkd;=5F4i=4_dN6M$v{Bfg;c zUmw2;-E-qlZlD88@ojqk)~xp zj)>*)=ud{`&71R^yYGa;z4GH%o_pT%i4!NDeaa$3WbajA*36UAOnIzMjbytKnm>Hwkg8r>yA8;C!Ui2(wiEd&f7t-2Ug`^CNF*V(OlkqwF+x0_cMH)ks)B<_ z0mf#cZYDrQEKs0BU~O)lSu1`R3F-*09Y#8vc+7HA{R^_hSU(BShDL2xuk(7`PhNr<4(zHAcFM;=i=xe7RGe9a2F zj*p^6E@FcKA1R79APz>D#TDAZ0Tx|@1XPs>piY&FlvOhuuron1z6QXC8=@XEu?bB@ z9LZ9a!?&44X5vD;smevE>;VyAGsFO4cd^&RT~wKUHtAw|DgasHD@lWWy|ZV{WC8zT zK=i;I;N67$l?hi$N&B0x{8%gD<}(8EES%)`*8$PXZz8x3@K+{ZEyDrcaGhQ(9AGwt zUFd?~xi=P0CD1>-y0;wQzYK3^2fRT5oY%haLNF%+hmB7I0hG-|9=BfIimd9S?13uc z3@R0pP~jpI`Q2rD|hb=*K{Te1+eFblf;vh;pPBj|*8i${QKktXj+% zzY3TFKBti8NQ&F4qzQ=!xyd|`6co*TJIH}22%j5X9B*NCLP&Gj5@&yjwh;9+OrWEo z66w>U5J+u$5=4lS1SKH@oN6Se8-W7h@6zhU9X6k2Vb??aqiSSTO~j!TK?!6LX_*+4(YCh34Gr}` zeed4Av3PcHp)!Zfsb5XfH~kHly)IY=yrIs@X6f zNOIm%EF+B{mDD0Wq#tsjQ`mu7M~iE<;fW#v^e=CdIR#UTC(^jXl57wci8<9Q5(!*Y z%YE*S9%acyNAwli==LALo%a`;*$@YoMn2#Vaw469{P5d&kB#R&xSQa5w+-1}-o` z9geea&+f^SXJf>91QU8RZTpr@#YIJX_w7q3Q!f7KyQiLddh50=S6}@ZuH@%xb~?e~ zNN!P40nF@=UVg=bg){E^{UfI>TlCV}^|4s&rI$928`~UDC9b>n``7*OhI7t3_Y+rq z3>}ObfeZ2uqeT#v{AEB64qGuq!H#r*zwnEMk$Le4SGo>x_V4c_)4v$FgmU4pq|g6X za4LPo2t^cUfVr!$%UvP`hB^i-lb)KMLWCn2d?fTC#hpli17jchfLccsAOsJ~;ere? zwaY6?5DsMwA=NTaALFT%;7Kr^07)WB;H3~$q96jJvx&rQ7Ujws0g=-7!we97fB$J`P`Z1WeY^eEsRY-Smg{M%EO5_ z#Sa5WO=7s@a3iS#aK&DA>mRv;6Am_jk<{qOPEQZ9f~F8Y;wB4(UQy^LqoKGBLjx#? z?s6jpKI~!Sftu#ZYBmrmPGCt~Q8<+wbt~iC!bN&< zNs_ZIY#w3|;?y>?u_?e?6oyRP-I43gfl(G$8g1kQmzYFCR0y=iqiLiQT!Pfx$`Y+q z;n^|`Ye$#!?C|M6UrXZJDN!;X5g?6d8Zy)362uoZxw%m^`2 zEQ#`JKaDd-zvc3gx0)SRPZf9jm8AD2>9C$|2xD!oCiHu^Hs$qLf+haK%vFL{7(?S)@iU3ZO z``LrQ$^gT^!)#4S2)!&60puwCY9_{bqeDbpg?|L0Fg%=+gpNc;Y7hLo=!?=txvZ8Y z(|JPmIH;FM6P~D@Su*N?k0cZpLkJ@py4@qb@x=E=xuY%`1x2K*GPIN~J3P~fp(0RK z?s)81We?W^D;}sD&JTm=kQSsjw?lR;g&+5o6ptsUd4jq(qwHrKrMGN?SRE2yJASKiA zT^+hTaF39P6ef{v)8f|4Vounj16!&$uz(;O%R$Oukl$MZh0uJD#~1MWaLI2Ai6<1Q z#Jxai8!|PD1pl}_Xz>{Z_{x?|OUZy?9NDmC1kyGRHEk;?TTWRxtA?x@ik^`aQ(^NR z*&~q@n&S;vs>hObNA=3O*OWCJXu07?8JG`Zb1B@CRIiPARX0`5Ry?-i!`YO$Tbr%w zmf|raZ(8;lTG008WIW-F7D#Hold#mUGWLrv1*qeTQgV-{f)ybTS z8L^T7W+2aIgDisw4R`$hoy2(y{v*KEir@`bW+F)A9wBla1`rMib#d1P@iYxFoVI0Z zDpmmZzURgRkYf;Td?+lo$l~k1@Zxlw;Xt53ctg+>%;m1N67CIaVMT7W7`GJ5?jS9PF-}Eii|7A-q*FK;ZERH^aR`CYFGIE>97jChCCl5;!0Um7klFx>S@dWQHqG zTuqEK^_sXX^d)O&Rjh_>=arBzS%o4LE~_5_T(B&nL5!IVI1x7r6M!g?5pD@?9s~rT zI30-#aUcL`M-*r?@UbEHCxM0(6%boCg5r-fQGh84ou#-8gNAvTQCRvesaT{Ss%STB z!AYb6jX_QZxW<@|;famAQ8j8pS=75IODJFji8t?%D#V9Rs1bAug| z#f$Mc#FzHj@id=A&yWpWbB%SfA~w`DBZ-1bGNvbpap1DZNpMqSK@j{;16%MWfS_d- zh%Vd22!!3SD;gqN`sV=2K?i_)epA84m~0?gAb_UCsUQaLzc-*0{!%ae{|%?o=ijBj zA+}yv^L#ir7tRZx^>K0xob0^t?DGqkoQ4s|HCe-=S%@wMh3rA3`{-H7XbL*sbmLta z>AFcA6{sewx9ORRB7`7AD)Hpf4U0?MB=wj9!=GYLL=A(8kz#{G{1{ILt{t^PLt_)m zG0cO9k0g@`cyE5McT{afI23?SyldxfxTbVdHLaki$m=iJ$k4WZGjCCPb3P8i}P}G1(G;%H5crbv}qnY-f5Z!L_1u*`nqZeY82Sj z+120Mo5^Hgz>gl?6bJ@j-=_e{B+24PIvm_^h?@zE6;VK}zkeVW8-g=^r0r;Xdsjn! z1KKq-Fi=}tfu;dj*hs-(P72;3-E68KBa_;*d&ij3&A@2auHDgi+~7 zrr6Tir5p4keGm9dnyaWt1OU?d{Xrz-j!?D*Z%o%!B-VAkATR$1Ke&EiV6e8XuCSm8 zHKJss%*)F?aA5!7z`)Yemyc>}whTC)EQlwXMUqF8XUtxB%PWD~cX-AArL+d&lLplE zf{KAF7X%A^DhLa*xcbuKK2j22O(J>FHRKdzLWs!_pf8Oxb)wB>((c-F_Myv<>`rQP zY79D9K!S`cYDU$H>$~G0F@kReRS|;@p=LL20|mh*q06qST(IYG4I&gQ>6Zn!K;{&Y z;*5kWLzFJUg7I-LOL>7G8z9mPz2M#uwg^lTAT1hoO8m)>{uf?3P(xb}9@sZ!@~my!H`LdQ-A%+8 zck4o!6hT0C?*IKCZol(4iYm7rYJ1yRr=NfBS(7GB);(S{(J;;Wrg8V*fBR!kJag=L zcO(>6Y~$8jZ(nidveNPjkB^^VyYRg8r%#(o!qO~zRVM;SwZ8(03V+a1G_aDkwD60! zB#iWiA6yy2K*BAS&!YY>g!&f&m+~(BmGt@l3P$L|A4&%D)xHC*?j)z+;8VukNf@Ro z8PP3-8dES2WvLJqq_|)x3>ipa6LFA27>@1(SONz&s!^aY6gXuuZsMQ?RY|ujRcv>F zafCGZVI34H0vEb#SwKOQmy8tyj%B;-D};;dT|ln7E(Gp!4XgWAZJ&;DCuNKbcYEMF zGGgxo6eb$P!s+kAS0@cnifr+9Dk6?lVv3fv4g=DN%&gXpp+pmDN5H)`lHfJKT5%V+ zFhSN=aTAMMl*6Ka2okr1ljVSlNaO}7u!qsemg%M(&hMTP36zmeL;$koqijYAVv1`9 z+_I5&82M~Zprb`P-o`CJw#JcC1-RL9Yxpkf65WeSmMRd*=4E+^6>1bA(G*b^?q-D^ zqR=73BoYCr1Q6U!DS#AVAyi_b#*@f1F@VOza16UxRPLssPGvq}ItqFKDU{)=CSF0q ziwtnn1>3;4md$Ry8KmZ0^lfnmht28*Cs216quV1%r&b$S5=Fk?mSwgX$l$$i(U116~&!)f~ z6e#GxTh!^iC5!`+fMJ&~3fK0)xj+>4wkU!^oMJYc+QJybTs_J8yG>%D;pZh!rApRFHN4WH38%n8${O`bWM z7_b@iT49TGO(5BK#C-u&}h{egg{d3w6K-f{lfQzlPe@A`OXpox^$AtnzY0#&-qLh}E=Qqyy#2+#TqduFg#l_FFi~7I5!fW&% z?>RAGnHiSG&uB@8VHu|3_2}TK4Br)Z3=<_foct!MfGcIOAvFuyxMkae4?O7gd8SU8 zqH1b7ne_X8lO|7Iwd&b}`}cYS!7u&ySNs7#u+sP*I^Rn}Z^5pFXH->H6$k{jY}y zCdVCW8bL-NA_7b(E{QT9F1&mscKMyVRVDNJi<_FObKi5#ePLZ){jH0AqIL{a4V)s_ zC5weP|9yZGEXVrfm7f7Aet7-&If*0;sn$a+lP65uv2!yw!5XQ7s0$U7C5Uv-Z|`|| z)8=n~_Zx>>4&8O{1NYqXyJ-_A{^su6fL>?kiCMGftzWmYw|A&-Fgi38OD5x2eEh1b zKK*fUqpIqDk9Ou6%XE*QO%W}5O+!R;{{kQ%5&I6H~BA7C2Xhc=v4= zj&JTAWDN}tWKt<#AQ;ZcgCfA4EW@EFI1x~L5Ru3U|5EcHTBbv)-}m)WvI*m~bfeo3A1g4e2&{nwKm|_Vsk~naKdlW(~gC?-XECqN5H4qQE=LST)dlt7( zfmdR;I@$k@{}#s&EsAQV3v`)uQ>z6EzYkZ>|#q@j^1M$;*zzC_|KHgBP6+? ziHj<8xpYDvWI>teDREbzCo~AxCU9~Z)`*IZcZ)(iJBzis)rs=yow9zBMijyeRES6> zAlD%@>|au42}297jNt16nI{{3gMp3728kdl#-$yX{(I6V zrG)wIZ9jcI2l&rm{$|671B@>G=7#IkVhz}$x5;SPByR@7*)A6F53la6CD8wY0Dhq% zFIWd0BZL|?3Xa+H<_qbXy^FJ(kO2xD+T}1Vc~&7X-B~j(mvw<<2^WhiQdl+@YKnph zCX3c~f!2NSAQo#&Mm=2)f?jm41O=l2JKp>Qa~^+m#kBM3(YWonW$b?USkvu0d; z$pz=1cc$1l*~nzlxxrvPMuQUP~%8uI+GG#Pe5@tkc3r3 zTf#B9{0M4@StPI5mm7(MLt&3_1gRU)80Z8X6#5dpL>MJdFd!KSp3bBbDf*~HmESAk zG%&>w2~9GC&gdN4DkK7T?m`-r5R1iFj%8`|Hj&!`>EIFrZPbfO=@E$uUX~>sX3!Cs zvmky<$Q;&Q1fY%1%=!8Ju^qhgq#}9pNnQrtPKHkxj$-vIaY2cpiu)(;P-P12ArYuN6~%`E;PH$ZJ^Gtp{nFa!p8U+! zSGxPU9XQZ3x~VBIH@CU2a^AFY81?+iGW)oLY{1K*~_W4qyI7aMO@2T~;MmF%Eb_ zjJnL_#<}AZ2URJJRs<0cEG|SkQ}WW5jC9++y}LJWj`noJ^XP7C+xgPE{`O;BtpRc4 zE>dQ4fTEa=Ihagz^d(LVn3=R=n$ctZ>E4)?GK^?ysHZ16*lQ#PGl@Zq+x(_YD`8o2 z$ARvPN^)FQ5{jC@Sykh*7L%2jqQ(_9iAY6D$a-96Am(UMM~&NZ!jUr)-zG_0cG9v^ zkja*vF`aZgHRSVYK3#`8hy3jB>C9LOSv7SP8UY&K9!zv+%ov?uS5s3CyObt<-1BRI zcg4Z*DIg-UF>c^hG49WBBr7{5yBj6}hvV?eexhF}`cWLN@x!~rFcNm-0SF@*+dzOI z7UEbWps?aiaw|LC&G4szq&THUoWzj@#NejDk%HJghQYn%z#;-qARxF42=JT@^Doe$pkVB%Do;dnlH!;B0!-j91He^^{Lf`1OQOi+Z(`k4M^vc-8P~mIsGN z(!H9htD3H>x-M(Ff-}T8H_YU>2i+H@AfMf}cH%`Pu~#JixEGADPzY*Ycl6kvuHO9v z$>WJ5+m3e~@1;EDSfP*waoHRK8<4$2`Uqo<5dd++rJ<`jc^0X7pf{LQ%t4EkqChtQ z7$N#d;GYX8F&hRKF}JmXz3}tLss6e5u`?Q*clE_MRictzsN+AFuxPOCYXJ`oW?Nv%O7D)j|_soV`!LMV{;-)PR zIxsH?0`nc0oSudEmrQ2(_9+UtQYpA?$?}RiPb3e;BAw7^s4Qz}GEz*z5i95k*;&7K zZSO!|GLeE{J=A*Wzpl6fG8g4+-?qi?gCiiRiaoli&f^aZ4JK~5{^rv1a=vt_Y7Gtb zv**oo_q-C*zpU%f&Q}KeIxDIw;Yh@WVudx0zEG}YS=W8_n&~sAqjJ+oYreo~XPxWN zY9~hA(^64ZKf5NDNX26@I8iUZxZxuo{=k%}lRCQq9jYqj=NFiU1&gF%bTjR6fm`&wRDyIF$AD=T?9q1$e`Y30hN z2BXo!{M^M$PRp1Q)C}ki?=&8d?cKS3+_*6)LCgTBlPP$5$f}zHfGEyh-9zHjeMNJv zK)|0)b6vEcCtVK1NVyL$g25nHS}X2%a1~ThTwHwf%{O;+bTu?J=H%qKWjdB!SzWbZ z!-mfG;RG1CE~2qEwWS(uR=1iYpa=VCB0 zy_hvdVvZm*AFY%m3-)Vta0tB-&MolzLmVQ4VB+MCGJ?oSbBBeqh?DY!9fd?jSf1Bf^Zj@Eksl!OyV=~i zOXNgJCu{w?065%q)6deW%vGQM1j`qLySKOR(u?1D{{z3z$q8p&-dER!T$W=${^-h$ z8#jIR8`o&$Teb>KKMr+Ym< zbme!x^G&`PjVfH4oC2)&FM*p$^niPkleRSH3%4XPsZBrpL`dNiIwWvQLM{CHcLtZp zF8nq0`MY7H8n+Hya_ERqHgFP#@fb!2T`2~`N%TevVJ~L~)5*w@k_pHr8tGmE+-ABQ zcq)t}7y*>y(uW9$5c4?Fz5_>OcRes=f&k4xGQXRYNTB2q|BB@!4x?BoG)J}uyE?l& zj*go&F%$}ky69m+4!7>wnHWqpPn#=NNQwL`R*tuKdV?PB&gk`MLBC>aw}1Rr!%n~d zhL1UVDv=seWK)%$*28;zc{$ML$2+&h%;Ua@YH{N>j2Orp69-j|WE+qH!WZL{DddDg zhBR@Uj3LF6PAcV7rI4%yef|g^#=;vmOilBqZL{-4XK`UEydRV(>*~?2BeE)aAy1(; zG~KJ}2M_GN{DO~{L@G4P=W>&fK|I(R9K#*#I`^W>1TjUV3nRSe2Hf-jP<`aqN#L8Q zBVyC$S7!x`bQVe>%Lu>~rTK6MxanB|D}c8}rOd=?$t=tw>J(UJ`A!zEaS0fHsv#OW zQWOB?;G9LnMceIACS}>#=+`#NMKCMz0QfnzSi-9_3*AxGW56Ck+n3x>Lj;yMvog+R=C!1 z{9p#yZrowQqr&3yc|D0l0#;6be!girg9C$pzqhocI663x%A}z;BVqsa>60TlA&iG; zG_`+Qt8K?8j~jR2hgWJI>C#&-*ww!0#EH&1^JYNT!x#gI){s7_=pdiqIu`wBvG_~O zwNN35rqRemd-w0%UEe&(=B6qn)v($FnZy{(K8uwiUPB{2hReS@1|anl_rYM|)03wXZ?`tc2= z&zrpj`cKvLFVyXS1h1lx=z#w_wr+|4*jArPTj2b{YaL*!3&iuO8k)h>)ZGFHT<}%Q zL%UvS9ygx5?LhTIMZ=+?qNG;f228@(M||tPgQJ?pirt=F(PP2Ppzq#$ZVQA%mZ|*Ux*Or~dOe|8Z`kI;_{rJcJa1I>cuYK<7>Z)=KU5NOxQ>QOpewIWx49LKY=Qg?b-FN>F zfAkXwC&=zlBnw~rY&8urbO?b{8@PN&l-%M@;^E8H`tAs)VFIS8#4YKD4JQMiW| zG)hrXJ{;hlo?egF3uhim2>pbf&C4w)Dk{3=mRq{Ix<`*4P%o~ ziVrDybdO>1bG~FnG9UMNa+9bkoai8>sw^ktiEn)4Td{az!GeYG_Q8Wgu_&rL+zXE79z3CPG-r#Y>_ZL6ty3GP5AVciu9a5B*gipNXiii&L5 ze4#jl+9F7Y%RXhwr74A4-62W{VmSr}< z0VY2XVCA@@B-_&*xHPz!QN#;m_`PD_Z%RtaaN@Ro_SYY99COWg-sKaSpky^p8uJkn zz|H!91fpt-)eVADD3ebDOdI?`9QmMtAh62A2@H*b64g%_^;)D`T1(GWHQ>?g~= z{mt(tO`S9_Fxbpg^{&{ahTe5|s*poGolG)Io1-CEQ z0D*w(0H@5%rW>vd(xgYDNNIBHUsvG2GPsR(;jg66-v^Kp*${qDsRsyTaUi|Pj$*D0 zOmfmm7_nKILIhn#XGtQ{NP*}S_L->8y(Pv23(PiDj4-zhHxoN@B)5 z7=tX{a`v|#gY*~0;D$)dJAx@hE}=w41BeBrf!Wv9b*!~z&S{He$9nO(CyyU$DJaNq zoG`JbZnUCm9fw*D?mj$q!6G=7%x`fSbjR*pb(0$zqpC*Q-n(w!<3Ij`rb){`bk69d z<0W^2g_$~fbVv7Kdr@iW!Q<=ttwWO6wD@5nj0ec&wC!YoH}EjHiiy(5>*dak(A|{L zvS!(OEUxd`H<-$($)p7FsC)gL{rLaYm@UH=SMQ(uMljQ*1#5jptB8uRq7jlT11>qUAb;)kO|5s-FeoggA zY8u|Jq#4}9)Xqpcv@#byvj>Gq;Fyk;M5&N%oZyYeQyE9z*O7kdh$p3&r7XyCkLhqD zE>-t{i4@r~jdUtwqCz2^`OUhZ&nt^vH8hRgS6WeW?f-tIw=cbU!?yXe>&hyEb}DfD z+wO8C>w=pu4m1YZ4|hKEUjyT>0UX@t!ofbB=i1gB-=KuMRFF*v|8ru}K5jWjr1CVj(! z0xH{mz>p`3mxS__iJz2`<~O$dNH5}C`l)OnnDAc(gaa&=KwI`VHfDE$Mt=dt5iH*X zgx^s5zyVgj_O-8Nuijt~+;@^ET&5s%3xb|(QTJiKdzWDXXVmMS`@T{PL;_VP>B4P#LrYJtrTk(i7}jdVQV zS0yv~!t*O1f8_U@)<2g@4>gZ&E~%4SWinJy#?1WT4-X^~amY1Y_ndpq3V$%5s-EpTcWYj+-{<%Hz4i4CIXO8< zAethym*hlavAgfNJ8f|P;G9VKth3M3bT1sQy*qZ~7v=@Sp+Gp;GBmMEChi#h^jN!0v z#`I}5we_-au>hb~L4MAZ$>SC+m^Xj!>@&|e{q5(RHE+(WX;UUmn>uCg+*u3e&7CuA zMlc)}+u|B%DYvV#GVt~b3kxmN?C9uFg=dS>aOP)YfT+x`%R;Xq4p^gV+;Y=^so_?n z(;2iH*;A=BJVqq;c|Ezgxj8uzA9R?a`n=wqJ9nis893x#ua~p5mIW8OtfctB{{1Lv z?AY-huZL^H*~4}wlSW+#jC2?N=^F~A2C5o{ok?d>$&>|iER_M0pfgZ{OOKSui1Jm< zUHncgfiv)gv4tSeh{qGLSUh7G9qk=3+VYEv41QY?ET%>xIVLCE&HUW_8M9`h#bQY? zS8D@d1Wed{wq03K;nBQ@4<9M7tnzt%bdXTJOj3-WIH{qjc~o8fp_W6ZEn7zUBivdD zb6^AO<@lk4CB=ogxp|>*P9PZcdb~cLC*ThR@fYy`qg>%|#5 z4!)(DTUeA=SfXpF*;iOno}XW^Z}$#V1kYUfP=YbpZ^*-c(N(lHMI3=8iXH^1iVE{Z z9r$N0U}oNSfk}BFh(g^UE>y9ULUm+aHqo|QSMOD2^8-sKYQhFY34*~9%)-e6|6V|0 z?81{piWaHDkr9z>4t`IO_%5zxrKPo_Mv*e25ROy?!~>za`ug(HlFG`8=EhO=^|cLk zHBC*;)2B^sYHn<9ZW=SXY3%6HW5%0|9EHi!AtvB!9x+xU$SVp4#P)qx;4K|jx9Fu!M{G4> zIi3?eebIQLe<+&C@F^;Uhwjt8KEBGtXNGWo_+pcIn}Ls+6pyS{6<5w1w}9V=a9pRH zZ66M}K+<#6h_Hwu;2NYO^g;n_!aZ(Da@?>1N<;k*JU zMx;B^+EP+AN>#luaa@7`*oho}6df*ghbczLq*4_X<*!F}7Z8ucf9mc(94H?6b83x- zy!vO4WB4w){7fx0Y!MB^pT_*30HCXrk)Hk8Q^0A-N0zHWj&B#g5iH+ig#Y2y85u*2 z@;4rYk|Ea$x{71?1`hF@@U=%a!Jhz8k|>aO4a_J)H8x3nDE zx_R^Jd+)sAiFh5fiRjC>+TzC{#5suoyFTJmfq| z;iMmDtCYIB>cxu|E?v6#j5E(zuwdcXag%1uoOQ+-E6zXf+_#@|_R?jiRoB*L3>y`} z^JP9DDTsqJszAMr63&Ll<3VfS+2TN}hzuX@V*F+mt$Sv_i2falCF02>{9Diy>Zfm@ ze<&8~>mN*|lDLa__;x5HCnqNy4u?XaoNx|YWL5^hU*mE(VG9yKC4eR-3J}K^X{Y9vzf)=eOb8do+IH zr?99vCnq-?3Iho^pM?d51qFGLP$U@iqgl|5s+i|T!{Gx5{QmsBe80z=iYMUf4-E~W z7C}Dn7zuLdaNEn9wyb?=!;9-*PA0|TeA-{^BuW@|wvmYs@&zc5r@y!B2j9BpiVt3V z#rrP$^he%x-8a6tf9EFKN+ScvJlNmQZeane093H}tlBClDm=Jn&kw)z&98j+%CCL# zs$c)&hW?)Rc?%bH9X}S2MFqVG%nHl|lc5k>Ql5D7nQRw}5`nGw67omCPXSzJ zW85C+A@b2i0hVyx#EX0U>@z!y-h-%)2)x1IBFpnBRUwKFg9v29vQ%8k^~}QfCiYp7 zlpr5$Y3{+51$^NQg9s9UfE;4sJTj4DBgg+0L=h~?Eeqs7Wtr=6>|5|BL2x&_9MXb4 z!#4>?#$kQLli+>!98>b48V|aFLRPW!T_$E4GQP{LTyX@Cj7}M6C7ETIjSxHH;FlQl!sdZsEQ4PUFALid@D#a1Ug8x zD2pnrcu7`m_0TIV6Q|8U@Uh=NbZF1sQMEOBd4<7HULcZ}NoHPH{kV}#G>jSBb9}&t zb72BQ>M6R|{N}g$%w50h-g7uFKcogF+3R>ca(7GTv%h^57+aDNOGYuYAu5iw_dWH@ zfjjTm^}BoauUpp>OGthF&f4etZvWY#NAEwbTII4)(A(jC=F#K7`pNF!-L_|-U00Kl zJhh>waH^8=9ouu_z=ngz_jM1QNTi061(7@{WA9$GWAAgjdRk7X89Q|%eq`I>w(WI zL=C(zI`b3|SGX$v{hBYn`4JGP zj~_b%mE_TN*bOkkBH;k^E{5gS&Cfsi_&xo-M|H*4RV9-cSo!F0`#O(duz}Pb3t+X>yzzR#WTIa8(gj?+ zZmy9s(Y$O(K=#sYwP?B9ST_;x{>8TcF$`mXoI<#x42UT%I&mLz@7cF^<)e?dCA(<_ z?XqdnB1jv@PIYx0eEOLO99<3O1|#`7xkb4-1-S=6JXmH}#u@_%_@r4&%G3?pZ(ZJKX&0omz0)O!ktALsE_)lrnApGch=l_ zj;wcfonYN)2sxCV6~eJZV&US2D^{#H=k0HwG&I88V6$?gaQ(=XyW+sj`rgx`uhi7T=!B-%fSOJEqnLv zKXkbD$gv~sogKY>^x0_Ov!@&@leRJjWxLoB8l!<{0qjB%2_&JN;S2y(gyBRXfC7+) zUb*9FssdNi%w+iS4by_Fi}-Xp12HxTdzgT7=u3iis+%PlD>C@n55DJ~2J{YdBc z^CLJw+q4aoi~`}nhr^MaNKR2fesxt%RdsDqQ4wOioa9F<$)~!ir8Ca4_U`WPKG55j zU7b&xm!>WU0(#Km%WjT6IMDgy>%O*Q>kFx9Pdd@x-`Bop`}$jc`u*OHLvSTk$3|uh z52U2!ju5BnQ~CKhFRXsz)*G+ixotz&u|sV~4s2Za>~HV5vF*^_c?;*aA3mt??L4k8 zBrAjV9BBlEy1Kd(iKMtX31SvSq;vmxybg@SiWKyH(QD{ZxQj3tY)3K00yzG;qlibg z&F+c6;y4vfUcTnWUji3Vfjpl+AprlDmy95W;yz1742On@5b-DLVq)gtnL;9)(k({x z=y0@~@9zUJup2-@;>Z2tV>VZAsPNTBP|E(k1*fpYa6ovaj+wO0gl)!cCn?zp+lg9E z)V5+`O)VW*u$^!$IrU>2y@t`9F}gBluVMCER@9bKf;HWK!M|WqbI8i{WHQ}pvnykC zFum1hI&n+5xJ)nBAhQe2lx#+AW5BR_%}i%HgY>^b8N!P;9An7H4B&3Y z?8zA2rqO4Z$d%%ICFo{IfA+O_J0UY*E8Vivqe)$g+NG%{G_Bv`Nq97Rc|a8y(h$d> zQw@)r^2&YQp*@MPmYX=1=-S$v z1`X~jV4Ax(ypmU(lT#Ftbji|8TYP4|zpHn!;{@7Z7?z@X97Wl;|M;#Q$Hz2RRhE@( zeYt=8rt}L>_wC=3nlN@k_X+35pRQi@)c)Ik`r_6Xj!kGR4=C#WzkMmlMM%YlWq4$- zCh6(85zu{3((2mZJJ3ETM;$3@J2AU`$FW_{?#$7`<@rUqf!webMkl8FGC@6Pn-Cs~ zia$PscKd$BXaqgnAtFX8>E~W%10yUm4C3yv3!SeuN~|s^Jaeu=nkIU zNMQ+_dY3@yD+0a0(_&MR-+Wqy!TWAH(@Zl8WP$4Iy zB~>-~d-m;n`uVkUXOA0ITXgQZb9(xY?cB4|A8^h*V_J1}vFhunFnE2NV1hq!w_O$3WAU(;si|xo3 zkR98I9~O=P_a5VfT_&zh-u-I;B|s#ud*KCNFc6O9!8CTO>gev=x_R@8GtP1!#sfG$ zY1AX&cywp`OOH*TJ$v(u&ph$?Z*-sEujwFSFyM!22va5}Qgq2>pHlVU>XoZzEqR+H zYqmp2=;bvlm#tXTdGyG4zw@;~Q1y8=GKDunmkdO)t+g*aTUlPFDjLMwp_Z1p3l}@GwqwgHK94$j>}a@DM~)opJl48& z*^+29e(P;_=H=(5QfUao(T&YZmn~zJ6trkCw6^{7i)+ft3Ul%bVN?C~uDdS2Mh zKXSOGv9STwwIA;o8XA~2dycAle)X$c;k>1ioB-XqeaFo=-zXN4Y3OoIQ+I6N+TA}; zSeT!moAd5>zTX=N>K+fQ_+R|&CtJ2`(>$Jf}#->XYaI*qxf{@p|+Re&B=MJ^hzldZE|vhl6XGW-`TD zTvUhh#rC~k5}Cwuhoa>7`Ao}7r{E`Z(wkE@oZz4XBswI^Y)B3yJ!n1w<#A$<$v9Py zHo|XLe|gJoK7a5%?|XMqVF8#QWJKY&|LRvecJ8dGsJi%)cXFdG+Yb2rp->18Hb;pp zA>7#51Wvm5-g_rao)!#6gg1jjZaZ@9M0bzOuTt6N<>j??qv#pZu7Li5g-$d1_~HHI z#*JUS>JKlhelnFx0nwaL2p+s)q~Y>ToI3Npmw(2Qv^#FS<%|n2Mu6kXHV+-#J$7_+ zEE@gUjXxgj?T^Ldwvj=L`~go@O+|gvg!3=@z?Std6_i%^atb7g#criXKy*n%d<0&F&nb6bn@)gm#VCJ7Kxh<6j@$CAFaFZ2+RuIGBVPJgWLa74v;Dfl{ND>s zrOzKz?{9+PZgYczjHdL-nQUN?uzmPnS$j=F1O$O%Fo^ftE<@m?`Pnv%aIG zbisADAscDgu>7{+%Y66u-|`0G^SNc)NO{fjFKKa=-<^akp^u2O;{=>*9{IL6$0ytZ z4jMD#eD1t&DKX8Pkv-g-k9rC}dQiLS?*Gz5)L)S2T-lqH{`>8~6H*f6jy^QdwRKA? zkpJht?{GsQF1UazD%lz5<_mx1>5^4PLvdngTC(n#`O;Z8TxR%(8;%SK<(|*n7c%@x zBAto#IU!T>+DWa?DNHxcsRJ!gJ5t%;Z9_i1BQ|u*?@M}gTh>*@=ZD13C|d6afBMc? zbnyC5eY>QxG2rp{^bVkcyuygA(oq<{bZW!&hGQoVM$JJ)-gft``#KMvchMY0u{yg3 zQwe+ZqeI&TE`dr#s%K9(ZQL+%dHc)rSrpZQXxZ_h{8k z<$=6lI-Lr6y`R72vt^-jj~xV^C^|tF!Atn(pdB{103?k75tALn*(jHH{xoC@5i7s4 zWuF4Wg}g2x<)6L(YIt>Ob||WLF&}QnNf?eewft-xqDI<#DvVIW1-kU^uc!;5*U#m~ zyX3_+{zWR6h{!2&Q&fV5Ag@k5cvrmh*!E-H_ioG2XFh$vzp@n?3EY) z{x^4h<(l`T66r60^kAZDcZ)N#^FL4Z>}n<1j+5Am^Zu@zo9$_+ zuCA^w7{t=m3h)%(^YM4rHP>DDyFb6YUl_ZLK%{^_pOaZ&`yi zroGnv2x{RNoO8i@YU&#wy!-xH^Ue&0;?yfeeu~xx8e|6d?eHr`fi+&bp;(JUv+eJ7;Z2q&rTixX)SkR!~eDTL7zXPl|dVr-z zfZ+0#@|t&dBtCUo{-GV+a?F#dr@9{=f8*Z%CP-#z%yBhgqAagiAarqdY} z{VIYuB#EhbYLwBJR#jR3^Q(UQb~qe0O@4m` z)nyN2c*9#dm4ANWk|&>f?&+tW*|=eIzzh+wVLrET$xS!ke$&mjEx6_OOgbM7MiI|h zw%gk~kje5vRzzorMRi1;qN%~ozWza7^MMV4pb6Glc`M6UIo(iS9|?!LyL&foST83< zd1;l`KHy8h{yT_lc^MhGh>3KKmrN0VV!Ucjk#868E5;CbURbUJqZM-U@>nbm5x5Qx z4yLn+VY4tW2ow{E1n(@8TaImqU&pPitgf$XtgmmbuBiiCK^&-nAtN`y3;1fGP$UvT z)XjUa>FV%iM9duAQ0`qflTABT9^!`1ZHL#Z(Nfn*KT!x(yx=RW2H60)yPVgCkw9Od zA4Pyn-s|Kg$BrVC0gMXe z=0#FRhU%KXud5>wk5*S#RaWxug=jPui9`+E*uG_xlSNR8Ae}e~Y*Ogh)fP|0wry$6 zWKtMRAP`JeR)M`3^$4I3Gt`!u@^~mimXT2T@n5*0a;c+)O;Vug^1ziuBMp!pOe18CMjfNIcqJTZ*%F0>( zyf5Sn1+_o`n;r-oLBnroqHm~>_}yG?u4O}6hjplO4ca_l@-=*jlmnW4Q(9IH@WLm- zPWL{9RtOrtu;GiKQpg{zi1OUFjEIzyUVq4E7?wY(Yl$!d^C+m*3%Z`yeLS(okKgf5 zPs^9j*?B7;it13?un&Qdna^d?gM+-M#^>-nbu0|jX2h&-tf{K2f?3gc|G%C{M!+Pf zPJX>yH*Gf;j`=Mo2Ygj^v6hh)n(5oJYsa&TR`m>a2f~F!GUV6o{oP&LckN%ct}PhT ztLu{>0xW=<%{f*y5sf56S;XmazZo~QsFn}7n|8Ks-@OBq8H@z>?BBO#OIvm@qZ$5+ zn#z5hT?N0EwQRl++6aM7YCWj&Gr@Fmv8WC6Su6#MpxcyvR#W`Spk$?3^FVzM^FOl~ zi>OL)5CMlEQuJf55{E#svckYk<@`fxN(4}>dH700Kv7Z0dc>DNjztMd6{U3flna7D zUCX8sfm(}}u7Bo*H5<0J$0A|fE%ayXCswsRwrtk}OSUfF(yqtDPi@}&)BBcucfpgt zxci0e{dO>!7)T8cq%trkye|h=nzUlLy zeEi(D?LC{f_Ego>xSDR;IY?JN!w*c#X(_t&aAxQuIKF~q`EkF-9sFSoia0Oy;^O6N)~(yUXBWoKmr)xUqBhvyoaI`M z)7{nQ6dd>ikw|>|&i18Cm#$g8YV+nz!0TO6l*?)2%=nU3H3KQc?1Nohop3nhtx1fi z^SQj-mFi?zIKZ2gi}A0f@uk<$(A&1R@9x;w+uz5~5nhbn9}0(4natMhJJ)Y&-QV3^ zQB`RK_()3$-!J_arxdj(-CI;N!KhV?L zTV#lMU|1Wxt_z?jA-w0O_cRT`A{p+}a43N#LsQ12K{FKOC0R6t*+Bw~r`sn;z2dP3^)Fj_@ z9p*|RE38->;{qz|;llxV{X3Th>0oRDnHFz>M(hnp37`Vnpe@iMR>vqs31EQsU}}KU zhk3E{Teof7)Y`gs?RrBG&^h+`5hQQgw4r}ske7lqc+qw?%NvwmT(oHW_U%1@-rkif zS1nw)aP#KY#Fh`Ho&k za|(Q+E14mM?2-wHlBg>#WtArhsvRy@f>iM~ufoAl%4edivX@_iVy6Iw841d%A8Qf9 zDQmW@4giEnJ+Ct0kP0Qhz{-I{mbPN4RK)N_b*URqh!7HvHOjYvFW=SQopoDkt1xIO zd=vg52!9bPn*ML!@x^ca?NeV~@aa$e@^hd3>6gFom#=@}rmuYJx-al)bWEYklZ%?) zHKO|a|NN2n+;HW4ZoKlnH-7L#H-79hH-F}%d;5n! zdFuy1e#-|wzTktOy8WY{yy+u)RQEyi(plE{1(-zO|K0JGFW&p5&pq(v&p-H;FWmd} zFWvvOuif{pFW&T3KjL-I08pk~!+rZTSDyHbi{}06(qn#!?Xsh;zUM zjj`e5hd`BshnZZ~cC$IYF2Wx$!-f{*>hQrX*wKi#X3N&UKlprgeSG5NiWA>5Z1Ku% zzx&H`o45DqVa+x387J!?%Fy}#zmIP4pCKqX z6%94X#_GY|^z#odjz(g!WFir-tV-7V{U((Nr?j}h$^a`z);{x*5N^J#`YKzP2c?U6 zvEw=|Z6zqxJPZ!W_b@5kvb|ixR{)_!K#@_}R1QEG0w`sBApJ6@m^er+s-hAU>o6(* zf>rsT3OvWq^BfhUVSxDF5ZxaM2P1*t-j1%VTRI|UVE$1PtE%Jc+dH!Pd?W(fO{DpP zf50hpr=9j*t3L~ov@-)Ryy-laoUS!D)!KGpFr6AUawuPi!P^u3BZk!(K|P&G^Yppx zgu|h8&z?7F!h~D?_MEH5+qQN#whYO_RndbLm5HjF80FUG15tEE9NrxWM<)?C9V_j^ zF@UCZVM+76k1QO7rme27g$b~7R-PxqZ3||bK``H&8H@4_Aj(P|!fY z&MNp36CuayU#O6wp#|zQE#qT8Gx4tgJ{c?1y5mTYd2k^0a&T~s_MJPSM1r9xqdHKE zQW-yfJml&}KtA~3-?yu^X~>8`D86_1UdMKl6;%ceIqyI*jljrZqnlcW>V~;(%l4KL zqe(OoxNV!)j~Y3oqM~BcruDH%s3MsRhQoZ$Ghp(wa%On)q!|cV7cN>dZPq+7Z1i$S zO%X^5P-$94MKTtPO`bSu=8PG0=gw|!ZqX6T1f;3>i6U8fW!wv0?}hdvI3Fb&=y2B!>3K1GHce15Oj8s(JR9H5yOW~ znlSOWfuwAI(u&zvQu~wP@xW{Oq~S)@z@Jzx$~evksTNq2!%snPy5dHuI`@ho}Sxp zzvIq3|8~zkcinsMy$?U~P+xyvI2fKhWhz7lxG-^E>|F$4!l6W$N|;Fjj2`v~ne@NSoq+1g7B3q+WfpJo1pR(@!@A{@r%u)VdT&opG#ZtQG(j`KTi>fHDo2eR zRa@7n>F)Ant0qpJ$rDdJ_k^|_u&}^8E(hUjp{BZuoD?{uf*RB-fE2s&MEu@W9nY-Y zKD;4O88WjzI={BhZ@E6p#U2~44l_~k+1UG#Rz)gt=mz1lOX=eNkS*`w#O5!iJ%sF< zF93l5%{|iG*e?%(90b@tjg+V+LJx5kTvDhg_W`F|)GnYQ5|UZqIn%t?P;#VUaeyk} z=13kZ=1ryj@ID+PwKY>o>j7Ir-FjE#~(@H6pOY+K1q?6;*SjG7_o|2djgD%3v@V z48#M0sA+_BDU>TZuINF{ABYCcc)*NdGf~YzO{Bx}5U!vjR{UxHU^Ebjo2IwvM%*xB zx*q1U{(d0Vc^!$*qZ@ubWFTJ)8+t_7KpyrXO$$iBoN7_pK6vhaUr z5r*p+1q-n(KNN&9%O3~k`T{rvqFx^q>2EDIj2HZ^Q^49 z0+lG42|0RMc$LCgR_zt)mm~91r5w=n>iT+xI%+lGAN#{r#y^7c-W7AyUL^=jNSaw_ zph_A3N`iL}1$4J}{qk)8;GXX84LkRZtco@!%y=w1d_*IfEZ@}j{<9~|nNT~rDN$P) zUAT7F@Y;&Yjv6zgx$3CVbq&dwKNyJ*8}ryRFNQ+;{1fM_T-RDt6(2XY`Nbuxjz4Kh7&N83~Hd9zfCLp1B!Q&!ZtX!_Ssje06go$w?IDxvejFl8AOPlR8$^$ zYG3mnt-R&Aq^}=9r*kcf2M%`yBcQBvSAZUOn1B?BM=Gr4ALWIaa>Y@BlqdkQ;wcm^ zf|p~8%4UVq0YQ5ApqP6o2Je^`Nx&YDhVp($?Ey3gm+?wA4m|=(6abLI633A+9rDF| zCir#$h!>16{A;j-3L3SzE5d=)s{m+{=bw8HVL&2L1rGqNIcoBlWS3@~ZUm+Wp$;^V z=B$13ftkl0=ek zHh1pXaN3!tw{70AZq;&A$0$Tk6%aYuqsLAiF>3N%f4eQ`hUcGkS-}A}5s;Vjj^iYS zd}|Ti70$bi7n^j!SW97)>S#@tN|*&^!^d!WHBlxDN)l{E28s{|M)-9HnL?gBm6n`N zjF(-4CG?*8sUDIyD&YwaNe(5LwnxHCUK-{7c)W;A6pZl%8`|^ID8f)1Sa~hi zueoh)Z5!6FN7$LmW+Rcvv}se*sq}_Tt=V)o6bwY7;px+-4<9))$9o`1AKIo;11pxj zIAPKx+qRZ0UQU+~%Y;`=;c4=FOX$tEZG_`U!e2wrwp~D+j7SyHJ0}{1a{wG77?;oU z+0=j;FnMFM55MqBmo8bpbj8XHg1_EgcHs91L!nqamd|A>lNE2j>>ccu?J+106d2@) zJj5Qvs5FNu^zh2IrlB$;UNn_uuK?9h2h5Z3ob-dk02LcEORiue=iA@@&i?&96iG~< z83=_TaB42xxpU{9cItd^7{iH2!nZ6~uxay_VIvw(n0M@Te_jA&!-oy|>Q}#&%UiK{ zMJN&l26(7`B9_j)M--~l9L8ZA$q|8tj@hVM~oaA3K~y8`A|MRh=zp% zCeiBe?(FUEI`?fC4jDZOHUIG2KcD-~D`Dfwao2kMo?Fg3>#Y@4^^ZOBz`l;o)Zkz~ z$NRxTW}u<5Y0}iGEkj2>`S>Hfy{ThPJ%{%da5@wZ!7?sAG6I|`a#Ar9;~URsfYl?B z1mt@u5lAof@&F{Mg6|ItcmC#)_4)i@z|9%14F((17OMnvgD#1cs5w*2=MpGsQ|$0_ zpx-h;zM?^NqolkxlFu9|mjqQhQYeQ65V=aT93WK$2gU_jP*)o8m<^U5E7?+Ca@3wZ9NaHEWj)a4 z$}0x^xvafsSGQm1Tlcw0AuN1xPo6giQT0PW3cP!OM#%@01#(eq?b4;ghBXcyI}G9K z?k!vT_IJ9DQ(ar#G-d>Xm3=$+{^%P&`_z}d60WKQEifn=q;>D=rs0*jf*!1B@LPqY z4?Nc2)dj2#&GlpEOw=Mlr$AxcvZJ-v?vGT4fBEYlZ`!f_{a2m`gYx)eEBkuVFf8?r zflDqKlg&BT{CedHr;eC1tqw-|{<~J$PT{oEW(G_%7H=9pYTmcM|LZMn9fN~|#~pv% z&W$^_tlBtY?1&wkw>J!Fn0wkW>z-J;Y1PKLZ#izo!X?cUS|%Se+k7qIetPQ zW;9nde*5yT23*61CEq z2l@iqSB?CjhA#z5v|qW-OF(JtDsjlZEP-Dp)en}AXgc~xp@1GYoQ>E2Hq*Die=zsd zs@5q(tF65K*xHWi$4*To6Mww*q0hbRDBeq8=hHd=-=5wwwmN?KoZ$$-B0)nB2F<#W z6?4!0#23Fke*BP$Q%2wS*vh8H%ITAbuUfU?xD%%AY}@_FGpnkTq5t{d#b5v7U#qI3 zpLqWT*Z$#wo%^zOK9bJES%`n&z4PavJm$G4?t1G5XV`h)(~m5<_iqncgZT&ycSt+> zpI+xMm|7rTv zSu@W#`#fM>&tm(=(W7hZ@d0n!I$S{hXbef zQGw_0<$OOAKJ58f9;8t!r}j}t5RAQlM&QU__swRuX$rG6_?A_VgG^7cEZ6p>MI&_F(_^K)sRTUKtO%0>R zj4^|J$q0O!Ogf*eZh}v#rZQPov2^j$cp@}x_=s>gnayQ2%?O&oL}lH$@v~ZnkIp;R z!;d`m){EY)X<<71(yxMITHFi}fx!bOu|n4?L7}%!4}?A|HhCio_HcgTdpQzJFh@8g zZZ5@2HUu$1g3unj9Kzg!-?DkN0>En)HX}6e+>C$()YL}^Ll7hJS7^xFmL#}SKaS;C zwgn`JIr%^^?~fj}tAS8f3fg4;+qJZa*@y4qTZFlGl~@tQSj22#ADURPJWW$U(ZBs6U3kdscD zpH8O&!4Ly|A!yTvjiGSJ;Z4!LNH~;CCP9aU=oB`!xRyL|so0^fflOR8`dM+rJ;O7mdZLt81E@S|(4K zHe~n+-LEaU`KEa%pAm{BRY)cq0F%el3fs4~MfipQwLnV0IZl)03R@kASAfBSmjYGu zl>y=j3a7OsM^;DrdIlWJ(j6`snLn-_%m%_;PJ!%!6!AIM31Uf~-{9V7FrhZS^vfvt zO^mnz*Wa%@j1ZB7J)3Ytb4CT+SYHmM6^l@f2|C8yGYv&YROnsRL>vr)>YFReAA4y6`2rr48a{ry6jEn8{($Q@3qm=FbU=g8bX*;S=fDNIPY)PI5VDns zMw_dm(^@L7JbBEAPaGZ8P=lv8V5-1ovRY>3)$shk1^(T!lvch1@QRV4<97QW`_AUn zZq0DC{*L|$r`P!dkRVJByTiY%GxV+!@^cs^L@o6JVi81M*@nPO4}-Kn7?cHJRY9$m zl4_+ArF1zQl&MCB3{k0r{TV189I1^Wfo00I!Xrv6`;ijtz!%M}Ypi|#iN_#7HPsc- znq+-TW7DwaWOdT#SgmW;Uj6+apL6NuL&uFN>TgJ-?W8;H0AN{ru*Q8wOV{ z-9OlyKKtAmP>?H^bS!>m$H}M9N>)VB+%V!zwNsvXZgF={e?DV%?Cj{-(~TuKblgxo zo9}J!+qt5(d*?naY)m?K+LpCj(!JTvUHf`FdK;z=H7ZRoCK;_bY4Y(5Q9y?pFbVS* zt9UKPrQN>{MEGh0)Pum&pI-ke{Ys!Z@($$COL@Ss%kixQ#aQyOQm-huwho#KJ z4;82*+4ILs@f99gNOQZ^Ez3E%-TMX%#~L@ZaY$WFMI^FoXJ^RN+uHWDwsx#ovwPE~ z&aOTEu|S|P5*k}m3C+&)-*63MReJr1M;?80_RJ|yKf7rlrROrfOxhYfdgQXjn`TcN zF?IZ~Ig`de^5lx{uFNOif62mUH;x!R?$WoNK6l2XmCLq4wFXS{q!TB#ZfLcgTwPt= zkYP>pPCj<@q#@&H4m?4EZG6p6neWmZ~Ei4=UsHx)M<0T58e>V z>)60v= zE1ZI926DN4I2=R{<|QxRH%8sT!NE`{gy1}r$si;%`G}7JH9VxbW%Jf;sdTEVtE;E0 zHx`RUqtR3<1u~P##MrT;fd`PyWH=m3Lm?CnlLq#P9pAPEKn^?75Ri}%79eIN<2jG6 z!}9{jXY9*+vnfLYbfg$31EdHt0|L^S^gVaqmxUQ?Zn6-%wxN1L~9 zMnh=2nKNd8;KLt^#Nz0ar&TyjAPg(fi6`J81bhX|Os;ExM|W2zCabBTAs&xnNF0~n z|Ht25|JKXjXJMh>fa}SZAMCEFsR;*zgM)qh_U*ND`Di#&*H9OZL>$Y$<;K76+O_vx zAO4I4W7G-6Bn^2XtKi=Fm+LRM@O*^*poh|^z_!MY8HH&=H3i7?Qa~ZX{|X?~0u>Tm zIy}YZK$&6+5KMBlvjXrCC6LKLlrCUnQmD#246Gz2ss@!2Tg!pU^qP90_=10_#kABd z?Wl331r8McA`n^eSZa_Mq*x0nDdI1IDXA~H^p+%vf4S+vt6OTP(0Mxm^D}%5zGY>P{cW zD(q<6r)hB6As{dlToe@DVlO;pt(uFRQ0jSkOUtDPmcQ^^D%D@#P?xMof;+vPovT-_ z+`qT;^z$y9GUs^S=p(NKk=Hxen^!N|xqI6{|3EgMg}p&%yamX$4c)N#KrU;co>g$p zy6Bv6mAQQ5gWL9Q+q|_cnFx&;m8_@&h0fM3J*mNbE?uasijSQw2KRdd$=@XMX$FSFPH%#j+fj8|c!4UNC}TjLGgzTZ6esP11~-p=hM9yAQ^f zX3F$w0nNu(is?5 z2hLv^o?6O+VHvxO*acpzP~RG0ZwHzXb9^TjRfQJ^j0C4=V?_;sfkJT2bxC)C!hND zZ~n{|tk}NCj>IbsQ>&}5XxqLILektEtFKA)bPsNC?+%B}`r68UU8$;yL@Z)DuC`%g zdnl3|F|6UIKYOq1Oa1N-e;PHq<>Zr&fqjQZLk~!Ix9@EI%e8+U7}UP-|GpmxC;9zJ zpALBj_0K+huj8{^-p=NjnlBs-MS?-F&Q{)q->^B#^K~=6uTJ@-nJs+zg`b34g7lJ$ z(+qeyN&AlgToR|x{o3^ZMe3U`{=}@)3*v8*^Fs2Gp;mEG!E4@QYA|)s;(yISki#t@ z$CP76|EvH7TF4c&pWe6crp5bh#|r!UL%Ic7fy*q{S!p9M1#C`#g<{0$i@z+OO(HHY z!G5HOJN_|`SuBxq`cqO+%1}^Bx_;hHhd<^NF)_OG1$f})Np(p9NSsK7kjNrRIZD}5 zYDgK9Nf2m-`dsdw(r<=<%d2p za@9|=?=8~MFlJ(o=zW{@a-{^iS8*4Eb6*VZ8nMU2Et z%&u?q=FOWnZ941hw;@a zz5RnDh7BD(W}MB}N)gaDn@erpux26x;9PF`vXz7BjD`q`5t0qsKo3JZ2lj)ZAaYc& zg!pY>AQcFZ0A-7@UQjcY&M4O8b9sy$;{sLat)e1^0Htn}$|8{s~+NKe-P`@*UuSLx{9$DCc*PrXV6mEI(J1=5yM&w{2_N+SA#UNu^A~95!tD z^x1QQ;e@=Anqw1rr3#=nfWL3$pykLXpWot(66p7Uay~&#r>VftwFi8Ade?2(^N<@z z`!yI8-lK*n0$~L@<=r;$DO@90@TF4OXf$H@f_bPdekKo!H)fc1k1k)|-aBYJzMPH0 zYS6q;vrud3l*7cH=ebc`F&!izV&Uk*n$c9*_^pdSA9f>tOYUK11;q!CZwfHCQgRTK zc>C%>arkghs7j^fn2}j3edQisO$9H-(HvUykmjW{5^PpR`Qg2=j#N-ZFS##)9Ad{` z^#f1^uwRjg8P%*UH~ul#)rYAHnVOZ!Lb8GoBb|;Lj5=gOEjXFU0tFUXF24}z*Ig|V z-OwNY+oC;PnOM$=CMuFJ^K}i?8#lK>9^{5QtX)66J_sh-^9C}9_sqcp!WU_*ZD?+; z{?X6g=hrhhe)y5c7QMJM5(zdmR0V_DwryLtY-&C2jJKY1{$+m6ls2L|K)UN&^!zhj z`}f#(1~yjXl_vUdu(7;J&+p^Q*-gW;9U~As?VJk>euE}gJO+v$hJ?`xdz7>ldBwfD z1zIurz)bunK+&T>QXoeN&$?fm^eH3feCdTBhg$fi5^B;Sl*!(I7(gp@kW=;R}# zoMd@_1%`@79IYBMTJeXeA`3VZYBdOUsq1A*X{mwtt5WJn6^bq^;-esa^~z2mArG6 z7lL_bCaV7nQ!afJ7CygF1;9k%*Pug)*vGegkQUa%5&xwN(qrWYuZ(F1Y^2n{M6H(KTtpxKmF%1bc+fD z{oU(VuN*&NeBR1$+|Zhpmn6bEU?}JdbrgjG_*VRMFLzm?C!e6;v@E`@TG5O>qe?ZOWl*XB%mU02CNTi!51qV1Fd!e;aGimH!Bi?8Fgc=lJXu>? zg9PRXsEJK;L9?NO2K{G0`^D}(d(J!W3?O*&sTZoM5~rPd`j~O!1EEMT6vcla7>3B- zy5QF5URa3c@Dwk9=R4;fb+p`g0Xji5#irm`ix(~2yQe*uNjr9)H^(an4_b<`Duxa) zAig6(=e2hgd)u2uRjWKOK-TR+>?2%Y35|2d(2L?88Y~9kjdFr%jm%jUoXtEjs zw8N{f;E@OzW{+ZpEZ&&`N*wu|6+4846?jMK*fFDcIl2gHx)msXzA^}fUK$|H(Jh+d zU&Nic7#W2QK)qCie~kUL10l;xl*6l};Xtc0{(wPV;xJGvy##91rA!QuH@ zd#q|4i%TxPfcJSb=r>-_m2=&4rWlpcUREafhT5_op zE#GukcW%8uX!#Ah;O3lyMdL>0;p&=UITj)bD3W~MfsHo!00MZe1DkE>>$i8cb>&l* z4!t#)%d=Y}z^4p227pk=m>Y(Jy4K-i6a)-Bs2P)*#(ed{PY2wPFONadG=nx(F8h-6 zbP%f*loxyNGDc$LX1I1X=krabCaF6$O} z6Il+Xp8iDPj@7B9-Bo6=2KZpkfmSp1bj}JGdODr5@>VnwvH1dLns4AEi+pSdFQ6(> zIjp7b`#*oLX5?Hx8K=V^Si5G!wzeG*#k!iBY13ySsz&UJu4s|`8p3DD2&}2kv4TM? z5DW!!BUgQS!Ufs{Bc*I{s9Xw0S5I$eS8r{7v%!nYN=wM;BT(bb5to%(Pyk*5e!~aA zU!VLbJ?ngF;g3T@-tYl%zwc|)5B?4?#)T>JY8?rJ%Q^X)cXy-$VCD2t22>7Y-}(HX zHs7_*|B16}-g|r)tTn|a#A?MDWt=ip)b|d(wjRhFc!ZbDhXSwSLF(vL0LY>^O3Le= zAj=ZYH-;d`#Ys?=ik+)6Kp8(#Qp%PiF%(kHe)ta>ExT~v%C1lSY58SyYrb~*3*^9zy|FD>j)$aV~W~B`T0EAKr)~@>DUYVfq<2v z^{_+Vs4slcplYzm^+M=Gx#~qtBr1tovPdR5Pdlmx3=<7Kh`dq&T--6JDmM23C@3jv zB1Aigzk!Me7+Xq!LUc-GJP%G}QlvIPg@jj^K%!6qf6_}a7fJSr1~}ru!5wj+s(wN7 zM5sn!Y1urWabawO3K%K;2fpsu;1jud+giMI>BynYp`f{N;i8}Y>}uQRN7y=U%-G-k z=IUE+{d?<{w((;|oq5*j>NE<&T-(m12RE!)F=5iATrRVA%|=*{e9nTWLzxgjHS`tY z`=NM8F*t-A(1AT7J4CY_sHSCdS>E_m0MVR9=(<}Ih8sm1l{k#I!U16D5ohu{Bh+m0QvSQO@b;`j;gdhh$-`cZT#77#~H8QcPd z`shJC1AuEG9s78XKa$W#yJEdVbID-Gc-D7*~CL!>l=ThL0L$ z!w2O;K_!q5_tHa1*6>+6P8|k?3Yc_^9h7jPSl0M)V`LUQ@R|q+6aE2kM1mPRN;xl4a^>~-Jzjn8L(@G~E|{`*VK+Q7ShGr=5N&;#(#xzYs~ z?E$#{UkZxk9Wn6C#hUi<24_|PY&J7}JMF#MMf)OYvyI^xHE*uR1=C+RhtZo<)M83IP4n&}P zv6(Ue;Nt5@>`Xp~ARRPNQFGd<{Si_hGkMO*#$;~*%p z_tgXFLaW2~sz}u-9je43P+m=?U$WZEL80P~)*wY@DBRPZ+S$Hu?C{0_jE&!h z#6VCwQoegPWViGNO)cVg{P}Dy5DKEdyv^H^5l@R*G%YJ13F2a`}8Vz$?tKOmc4p z+zviIM+?^3-DTz7-u_HwbzMAJi7{eA#B7m86#pWqrG-U`JU zTms-v>sk8^egznS`I0NZ#g|~I09eFKDZ(Q|ZTTvA&3imz0Wi9t3n<52$&TMS_ggEs z^o0KY^-)9lfPfz4vkh3fqI-*=D8um~BbTFtc~Pu-U^rf#5)Ln4G`k1LQU|J4sTWTu zg=`i{HhzGfNmj!qO<1Ce&*pUI4&S< z!2|>pbR5`*?GNF=D*yvvm(KtP!qI3nuAUTyUXox|EjSE{h~pZV~U;~*X*Dthoh#^9PL1(y)Zwy418g`k})e|RAPNh@Jm#qe! zeA1Ylv=JAf8q%l+q5~2pVO+?R`=aTTrX_~tNceP35Wy{|<#mDrzdMgKAe+sCV9T=L zaUl&PXo4KNY;rd*KrS%T79rfm9{wml*(j*2beKskYf&+4xcX+4kL5H%{RT}^iy`Uw+BMu2OoK~ zxv}X(ANuh2?c2vsn2gXDwj8dWV>=JrdpFQxM4422!}^V1{@OQn6Xsmb^MFiPO(7EI z8&slOkzsYNi{#6iA+bEmAa@Mfe2o%{8QM~=UEW-fh=t{(1gtkIi`>G|kkA)(SqrO1 zM$KaO$bpau4jCMlv)}~A)BolbV4~rO%Pgz#Th_fgCiU!_17l6(lq##kR{#_rAV>}m z2UPe6SYEzPIr3Kq)x4ZPV33zM7%;k58YbuGRdDvd6aHEGDF?4*Ifq50qi^p~@BbGzS!V3~s%G{Rn|EC+w&EfEwK=#7-cy-YuN};`5sEq zkl>{{)nyx|X4x48JJ8862q439c;k$?Q$fvzAqF_>i!K>S`(pft>v26Bpo0aVTM1ooxo#r`}f zM|()kLqH)cp?x)QNMC^R=7-}Ue(b%Y15jS`kmjX*c>-`q1qE0@Qdr=9XoeAsga@{7 z8=6RFQ)vzMHxMwwA+9n=fX*8!VRYn~J{MMcus6MS^`@zlNBi?RBWUnM314Rx+20QX z6$1P77GHJA6Dxe)r@&Wu@O&`rgb&sYqG9JOkO1!>o44RVfiAcQ6;)9^Xj_FG`=C5) zB2?%T5(0_92LA!bP@UEf?g<2aMmLrn;0Oo&VISPHW1p|TuV>DjS%=Tvkp~RLOW>c9!GGixGVV8~eCEF@ z06zE%Fj+5d{*j`##7V$w-Xj9wgLT*I0_*~!4X$B;Ju}3zt4xBl!U9z_ zB%kGwSBh*|9of{hfOL+H#cHgQBdZ??)L}>~76;TSGSDjqq5EAU6zCkVAadTSrg>xE zLX%W1k|F;u0jjiE0SzH7;3$hE<*`P^qNGSdTUI5rn9W?ztLMK{@a1d-Uv`1tCx^@9 z%UV=a2nM7T=7{{{Kbxu@F^P3$kY+hHpB!QM#b`s&k~nG3w8RVy9S#AHky5$XfCx&68?D=H=T?VZ(+k=``a*6bnm;tW*I|N;3iNj43D8w0tlQ z2WH-@Nos%xRV2f4;JMg22P~t1=puj|KC~qsjhRMp`t(`vc*i?F^~q1X^X-?2nGYba^Pr;`_cGzNXp{=3}{1x`iB!lu8Q%oX=a? zYzBLzWksVFuICz%E+47KeR(%!=>z^sXXeFC1ueDY(QSimd;=R+T~Q=yWC3LO zOR-#*1M)rX4S30FMZg+5C@6h3pt=Tl$3)0YI%#9k8IMm>h^-Z3vIdN|2gfkRMvxd%^y zmns9535EBvgd7Zl@+I(;^?ooS<+GKok(Y!+h*yW$9|Gl>NR`)+cI*bC1m0H<8*2<5 z5gR`#GInfa#IRsvqfu99)>dhi38OOUPehGmT(3y@5{cyS=3~z}DKV@mK4y4uNK<%7 zOJqn(vZa2^>|jVWJ8#+i2}qP$`6QK&Mw^D_RA!0Y=NBtTIp z5A4A}+vooA;SS4hzHfeA1lrx_SGV{>Ps!f1mkLyl0_Mwxr67p|xm2QF3+Yt-l>wWG z55&4ENAMsQ8=DaEK}`UR^Hft-@-hLcz5o z{`z!>-^#sfezU=~p(FlG1avB_JqG!NZrc$t;%>#)t~2dZcZM z5>Kt8D|M^@M~CE;YO31a;`IAMF#FL6GK5^A!rP>npjr?RTO|^SiewC-7faX+f4z!Q zl}YA`g2vqOsc&+Q=R@I2I1GuwKJkypMubVgRdDQVE{g~WJ`LX&E%BkaFGf>S_VS-2x4xLPD6CO&H&HmW#oK5 zKQO>sr_cILpD&MGN%Saf*NQ7#N|SlhDaWz!c>0tH53SR?CZSe{)bU{+_lW9aJXr=NXc@si%Y?!9|<<#YD@(@xjn08$B{3c6zi zi#>2ssxS;2%hBSiSh;dR0(eM9G8-A5tnh3be|ZEXJYSBMlA*@Ovs#M(lHm;+bA+*Q z1xXaWb<0*OpGWA9at|{}C{$NfVxT-c42rybC6KN>K-VJX2W^K0fv*P2tEpD6zU^xT z<^7g#2LZ?QvQR2}rAq&&;nm1bIY1sM^#^ebNlLG8P+R)5Rr@#fj6J()^m#+E?4Mll zfUCPFUV3ttSX^UdQ>ToSXB*4goFM2cW+p=c(8jv#;*CTfxe#28#nk0Rx(jR4Jhnn zE1v%1)0JXP96K}6wqaF&=PsyBE8E|-du#WeHoubz1_Oam#L(@ozSjQqZp-O*+gO_m= zJQk?zauAhQu8R%@uR4%X`|+PV6m=}w;ytjKheaT(m4=l>vG)=g03;7IDNj>ikmIFa z0#xOLn;Zh@x=0ns@M@BF$vgmx$P%c-QfBF}JV&L=6J7y-0E$iUM)=5gFc^+TB04`e z!HX#rD^#QvV;$`C`J8E(Fu5Ap&^-LxgGy{xh zISvgK;kLn}v1~UKN$?~MrUu3r77@l%Y&k{`BU|vv$!6Q??b^3y_42Ko*LQX7%4G)4 z0Ia&{=OY0wohP12@tX$krh^;em#2{fraz$j(y9JkyLPm-ZSC0G5e|ptg&;=3hkyX1 zr5q@-c{K_E0*mvmXf1IF#ra&exv9}BEzXGA7f>NvO#lG@^hrcPRH2l8gh2!uwA;QX zfAf%LyT@O7nvpQY-#GxUD0@d7ATN3M$=^PV#K|8xU5kq2Ana3A9(ihC^B%3&`!h%- zfYf6zeepl%bC3Do5pWAVo0(J#y-o`RFhrUv^gJ8#>0kmz%ba3q$fs!`wDWDP|J zbq+75L59!?B8RT7eF4)zWHvaM9vJM$(1#2g;WvWl6P0Yxtt^-+hXZ2>|N2aft|f)rmCWr6w7?O>ga=_$DU zjDVpbZbW3F*am#83Nj?lK@thr14MmDkmro+7@mR&LJRRD5LFFTEQhANzK%#&&Yq$# zKxVM7y?xt=kt4A<7cS%#PE}@)iezmt!wJ?o*AD%lgXe;AQ0e7t$n|tmVtsUUbPN$z+wm zcb;+V58eO3_8mJC@vvj%l8LIfUT_gONHxJ#g5gkzF*XO`D<%hlFJ&Igv(Xq7grjjd zpqNR_kHu3z9J0s{pBLaBLn-jl>(0*3P$0zNIBqna2n2!fvw0=@CADyKptZ1 zr=Na0Xc#9PKaVIS&gRhn?U!HyN(~gjTp~qyRqg+);N|$Ea{up*_n(D-R(?u+LqjeU zzyYO-omwu1Jx_H%`o*UmUAyGkGh!{#LdN~}nV%{c=GSijt{LzR_V};*=>0yw{h=S8 zUNbA^(g{cBL~}3=Vo3!3e`>x;{J~&7x4`GyylK0-4otnraZ4regDdKQZBiF1k;jU4f*RR>a0 z!aS3QBHPOHrN2(WUw|sMVJUPYfG8ail;iND0Hzs)@yX@$p`1fIpPj_8%+g|phCL53za^6uM#CF zI9E6+d9~>N9zkXvN7@0ZiXe}6nQ%O&P&jfSSTukJ==l2PS z^az*4JK;;P=FXj^>>YB|B$W~ZXpTm&J1DA3AWNNoPa)&`#*|O%*}|7z_+h9e%=;3` zDk>>@g8)1kXTX(PpxtjS`mx!-TcDNbm#91f1eY`DHSg|7JOivi^&)$!5Cp(Se{M-$ zH=h3X%nGx>SM<`MWc=#Y=T=6T9H`-w3pf;@3BU-L$%{Iw344LWG5jS?98yKGfKdwc zf?)8F(-)Pr+;_?eR{5U5iaJ0II_mAmzdqIb5{p#Xu|u z!^V~zt}4MM4dwhce~WnV%g$W4w`-r1?;qM!6W|L9K!Y!r$?fgfw{vGl%cv>Q%6jsQ zc7#lzGK6DaaMGzh*x`zbgu49&e=xkA9ecNI+c9?Hv|u=1H2me-=dd9NMa8t2kPFB% zr=Guo*sM5t01lf|k{TQg7-lFKR2`@q3I&>=1zYlA5{4mi;*^;vmDhgoS|!k;Ppjar zTDh{Jwx*%38uNe<4s}9i08R7Rj0yjPh&-Aw{fHi6br57iR&2S)7(onV1u+{?LU>}a z3i4n1QEbS&f>6NG;NO6K66+v$iX&o55A^NXy?yw|kvMq%*%x>&w!o)$5!5-bZGL|& z5`}?Fr!yMQ!gA8kI%t}R+!%Pf?!aIg!WNNmR}CL~bbumNA)QV`Ady*_tUxc8W1}Xj zp$PeiR8{ng9VSfP3(CrfKQYs)8ult6FQwrvp$m*G6bPzbke|1$aF7qW4)|C*Z`g;S zHhebnk&{WMdOG)4)HYW&jIezH%ovDPlu#fDDG)Tw;h z2D->WduVOgo*Z9Yq33OoV1=VW1i(mVb5KP#YME}LB06UFD2dk;`5MgIgSggk#yB$CQp zL;(jVDTo$9x2 z%M6BL_wt!6YSV}pd_gnpI{qME`iXL3G z5{9+Ku+r%iRzk8OxqJ7XSUhSNCJ|{yb!GgI*L{6(p!cb#9zE&!={0pVF2Bo_hktDb z!tiglv~GX$u@_G`?QIp+bzC~UKrN4w(bidRAs>ze;;|^`?C(4m%B7Y!G_nD2@fbJ$Yo(d2kD|jYe_(RhyZ-Jg80dQ$jrMz62-XH<6`=u9t@ZS^w z7oP!E4or#4BS3IDgI@FQj?6Q_Wn&=y7zKP@NFo;mM#L}=xngBe1O|8Ybkk)Nx!=2Y z?eA#>6{+4ywS$&R7B4yX{END~yJV4ZL4tsEYVgZn{@VCSGn%^2Zo2uF zTsDiodwTlMdh3O|cke}a6nAOy?)Sd$i6@?93K$Ooj+zU@akSmJ$lI^k@s+ze7VUQO zh^By`;7|+!R0OCev7a1*G7?wZV`Fs`u}4;gH!h(CcnbB*8Q4URRizd)re!(j-iTJaOIkx+ndV-gutdo<(58bY*ihIrJxNDZF& zV111d7o8piOQyfCcR%RNTYS33%4f+yj5pmI08c@M@;>Yw$T9d0f>c)*WY0DXp6EdM zXXP`R&(bk@xlDgwFT3(2tH4&o0EO=CY}@4W)>+ad^k4?Wmij1T5GMwiSRf29b$-ZK z(?j8K&bE5{2h=rQnRqe^|CwAqoy}p7*$v2rXi`Hj$vb_+%g8e2pb-%-%-di(mCfhS zT>w@MJQLO<7R3SsV0O$Pv>uc+{3;g#q7oOxrN97wpuSx8r4|SIAP=Ob%sks@DF2>AkHM7-D#cn5heATKe8LZQ0aS}*daEP#J* zRb>S#?A^Byet=_HnM|5&kp&!!$6_$rv4n}RoM*mBBxw+y0|jbfA}kBxs}+yvbv5z2 zx_C`Zq@g}Jd<2}=F`1riJ2x)n`5akRibWz#J|~~+@9S)CYOJkJ4sEU;IlOM{=$2{I zCe4~NEi=%uVdeACJ&-4=I*GE$BT77u$dCkY(BSQ%vZ-N{zx@AqK$!gcfk*C}@P8E4 zxHvG*q>zj_PIQD~6{rsK|bIrVFphnp5kD30cd&>JJPd%lfd1{S| z1;=y5M5C6^8xu+j&>Ov4=~$MsGI@mmBK>lnTTV`*2Gvl0)0&0Ho^pIHm%93wKl{_4 zugzq;tbFhGwsns_ykOs+)``<+*4NbR-MOXUWMMgAw&|ES+19m7k2&$A{{H?SeEX|^ zyX7xSUU+)NlII?|Z^2)F`=j2z-f=Td@i~b{{(e_7In=Q=$2BZB(7JiR_6MUCQ6p^V zA=A+fR|^D#(NHjA@WxYUZ#|W^FiDyg){Iy~{nYVePc`)Fs_GG%nb_Tt9>`b-qFlqY z3w}Nr;|m+1SU8r9R#b(eHLaU_w`}f@Mv~EBG!TgBrolHMX#pBGGC?*0ih`1o!{8rG zG<^~;abP2JAxZECStd4xAoX4ql%}uLij(uoloUJi4qhG(s#Zp%IzxX@sX*ya6#-r{ z6HuP7phR>rSNsFGTof8)!iJ%O8x2J&sw#Daq=6u&sk$nmYvPbt8K2)8+Eg70>89>l zg?uL8Z(Autvx6pl54*9UX7-%PANbg14J}E_*O$rf4@C;GxaRn>`9j(*~k;t@|s_L^aEGSoG~>P zi`;eBUBA5MHapPf8${Hz&M z=ggWuX~OvGs*1%+mR|Gg-+uBF|APPqHOrL|f{@GK{?2vl)`GO-jyo3QqZ~2cXFvPJ z1$X@IJ@2|~=B#P!H@4nz!!47iOddUY?~g*hRg4f2144g@2nwU5A&F$B zgw)n-`T!u`O3Dfo2Sn{YV?GO58eOp@X@0rfQAo%jbBelr3OH7e_zipfAXD` zOJ3N!Yv+#bTURY#zHQ6aqmDUh^w@Drm#&B=5}|O23XqCS4MY*6M#Tg(7yvO}a?p)Z zd~&4zy@skbIRPyRq0(VIIl2;vpaG=OL5UJbeVTQpqR0(|@r9P=+WPt$R7HrH&7=aF z4^~9?J3BY5G$L`$3?ZJhbLq7!7Q^I(pv415Z|6SVg~sc^Ajs|O=}JU-$&7!U`GNjkdDpS8y?u9q>%bc| zcJjgA9Gw=@%diUhD!%1KNDcwrGN|O(z#5#+_FI49_m(LVb{E8Z)oyd!zl1;SwTWnx?yl6-tv zu*k}1ij<=f@gP$=Wj@*pLdgIU6MdjIj%3eFRKP$&!NBt6D+UJ#kv)FGcry^FsjXSO zc*&?yqZ=9;&=X>K*7o~1Y*@EvPy61zdv@&D+0n7DqOuD4WE$`ECL!REl}qPSJ;_+e zUr0TC{~fn2`0M?5-}%fFk8Iz%Y51_=!^ckExO!k4^5>P|)$m7&I6>+j+<=9UTF7s#Ha33VC_U+YEZ5EZUiia9uA$Al z@-!{N#jQuQDJP7q8d1T8PTk-kek0FOkv6xxyN|D1fOg=CTUoFy;wbP-bHR!j5p$r$ zHZFN;!sH><^))wLf5XaED`rfaP*s_bi?F=bx_9sHabqS|BrDstY_6_vfbOLxbe;CL zO-;iaE32#j{QKYRXxp5Kg&P|i!myIMKb1-C+_7!q)Y*+KBX9WgP4nizt+T5ym(lOP zyY-o;_ODslXIa7O+GN2A-Fy3vMbCCRj&I12X4^Jaujst@?#&z5_ioub5HKTQBVL&t z8jm;a+_7~a?fdgzpL_bbT`#`aQBzwLix^9nb*x%F@W{h$o42K^s%nFQ_;tTqxN&pe zy7dFyotY6s8w_e-JsPcVte&B{d{rR_&6&i&skxatFrnTQzXDKrP@ks{0K!VaL2R`2 z2cU!&3A9pafXesq2$a$Xns`6n?>_}4B;`;}KzX_x(CqL6Rr&CJIlN?P@kjkCE)j4H zBNz+>A(ziSxv0OtKby@M0qy9y<34ib*^fWHG!P1m8CHGCMf0al9X@;3*s)`VtX;oh z$dI}VFFNhyQ|8!qX8ZP?k$AXeNaJxQ%(~&`zgli495v56XZG1|nX_VTs~HL)Ync9(T?;$IqEN`Q($Qb$0CUPh|rkefErzHI-&05u7w}%%bO> zx$3H)4)pdIbj5sqy}iqpEuJ`GQe8tc9HF*t+Yll1v0=XQP0M9dK~sx`LQ57s{=mIA zW;6X*4!YmXW(GEHSUGOo)aD^0H?LpQ)7{n3GOTPuiZkvBkH-}pAYbt=0meFZud|M~O$a%m52P^uDR(d+OH@`5oW!SDtDlycd*~z^nPj0B{sq{R!_G;L}Ra z0COUQhew{;*Stq7Zyls`URQvO76pRR;P?v#VJVNw2j(K!fcHwmwzO_--MsPJ-~Ia6 zzy8&$e)iLa&prO+;}1lF5md_Ob1)&t9W(cwGv9K>yWVl_uYR>}*PdsddK$eTLh$;+ z6w1Po4(Xah%bs<{sb|0C)RT`t?zp4pOqn;rszem>BL}X#WBZPE>(;;L z-Iw2VWZZT4eHWj9{ue+0>92nAvk%{Y_tTF*bo%_0*b7#_T$JM#X9g$4 zl*wdqq-2HzECV*7f6wc@Rbl6jkJkL;ZSm%q^RtI{J-V?6Ln*k~0v3&HBR12pM~vj! ze1C?Y7hvT@8hoI_haM5gFwE!WCfBhVYbv5aEoAtE*mx}tn~qpcwt}e@bPd6b%^2Gc z%rMjWT(+;SCXr8Po_XS_M7+ADx~ZGL@!opf9_)8}(7-6$BE&)^fGd=I{C z1?WX+0(c9&M$HrM;2RWW0ig+H>Cm#x6PHix#tEYD`laYBVSh-AgaDeAz z<*Z~Z5k=68`~q`)=}d~`8mU6*enrZ`9>j$xoP0Tdw< zaVdgG#M!wVUscW7qsZ`DcRHO$9jp^MVI=59E+F$^WBH^o z-`=c4#PGwbwTwSWJ^3xCfJg~_K1rY#>{YDGWB$lhgy?y&L&pr9Q?|!ATW6x3Z<}Z8kDMZQ?3TcA2`OJXs z%Z1FsoeTbO)la^;e$A4;-u(!)UtIY3Z+`LJ{d?OcPMol3N2_b`tOO-Z_#g>RC_pBM zfC^HFv!Qa{gg4<00%|=1R9fXhd1{8E#SEUEh3m?PIeeN!9gKu`iqr7d*IIuT`!upjj3>!T%n@Vliuxi}6;g!ia zZ#DJ>{5})5E}tK0-`R?&1BL*46dTNhdY3~6abk?TUGYf$1H zdv@&I(}o!KlDEIJzbjK49k=57&MoV@u6*CcZ#nIZMNjnI@XPjxZXdLA)qzk|cegK_ zGk5ODJ#yd9LN0pQWoKlw?o&@fq)3FA2TyaRL zDUMvEgWM^D!*j~PE2S2c6Yok~4k*QgfY_yeDN%y*LzOX+(B4}|heKzR;}4}(%^DN#Bs2Vpxpc6Hrnn7;o0UaU3LoH=7iFlx25 z#0q+T*0JNXsPDR4?^(Qh&CFxQPM9)m{##~N*N1$D4c{y0&$oB9Cu`&3kQRxVh<;L%DdZox{}$I@IQP5@9)IwGg3TKg=nt_L#?6GV z!2_P05_rjp`;P1SS_D*X zMP(9(^hZDXX?y!F*qcxwG;;VTo>8W}!&%q)%maQje|eXyYQJ9@u^Jrm4#G^wEX*?M0A zdmQ=`^-X5H(jTk#$GK_Ts{HXb%T4czi zPk#S*U%U3Uul)9wFZ}AJ&;RPiPygbtAO7AST8=t99cdhS)QJ<1Iw4Y38?LSkRn-P6 z>%#TJYsXGcj+%DJdUoH6GU*7oHt8V!GRe$~R)i<7V#bP>E2y5R47gE+B*c!qS({qh zjmKksy}fXj_~@LK4TbrJGm5OP1%rl_OUq-)lqyE3z{{6N@ukWPD(Md~gj9hp5(w=A z0lqQ{|EPd`$PtPVA2Nc}c*`;53^|l+t`nB>P#}x7As;P3Yd?Z;1d2W%mIESQtVli} zTcE#6`IayheSr!b2`0G=EEkyR9Q&42fEf-(h7B89*HB+kQE8awLl51B zeaO)Ew(r0Uu?wChodP5vBPQ$0EO*hlQAcmWoA4iilJwEc9XRp;;wsP3@S$Gl7rBoDp&)Bx zjq*ETbSXp&NRn#KYf4b7_zez+5GjN4XR{fo4sYESf3QbgHk2?LbNaOMCj!CV=sQ^^vY^; z%H$EFMup8J3tbyg$6Azx9@LW(^w>pLg7Z&dzkc zkc(AmBSuzDo!T;VNNmsUZk_M)_4W65rw4m5lXQtZ*X>ZjIKY`#HN|XRUK1SlQZEl` zBD{mcpoHx}Lbh^vx#kKpz&kDiP?fMLC?1w-9%yn%U#g}cAe85n@{xG8KofGHIRHLv zFr+&^M>qVn)q(DweGBe-@Py+>`83B21$+7jvW3FBtvmbD>3CK6iRYJIfBXGgckMEx zW?f@VI2qf%a|i7tman0Q!e&QT?=y?nj2lyrz;)cX;ft1UfE%(O0yH=fi3U=G{VP_j z55)ql+u8!C9e~e(V7sQfyE__<4fYT8_xFK$JnPK!LK@u=UE9~Or?;mQwzy;8F8JJ3 z45Z!OyJv@CYP+^?N~cperk;VfLKg!^?(RKpdvUR02fcv$fY1&z=Q%tiiVVt1Q}cuTu89Erfh<8 zO>1bVpLhJRt(&*K<;=G}_Q<2~cDZQjnuBaC1030Oz;$iUo?W(;YZ*3#YYa&*fsHo?GwMhW%BnnPWtZJ z@!wuO@ms4WeRIWxZ?2g5&6N|sv2xNkR!siZ%BkO7J@vb5rhRwyjPI_Q@x3*3ez@+~ zpKm?!mu)BiYU|0rY@PqB)>D7A>9lKFPrqj48NY6Q3%1|1p7q|5vmV#7(l+H}HiHXr+o^(Xvl zW!yfh4iLV zf3@X|Yj&RTs~u z#APnOfX7-eUA$u(SPHJ?Ski!P`7$haVnLcjBoKxAZG?}MI`6I2W`I`4a%^6E&D#)Q zN~;8WTnC00AX$`o)Pd=MH3G#dh9nY_gqnK5K%^IlMnaKD$TTUQsEK}oR&|E}6GQ?b z(t^ar&`^S~n{C74pa~42P%sGmJl7HsxU;-T`L92{OI)xUes)_5XOQ(awKTOWy6R8&gmK;pGRZ|B}nIJ|Y!dQhHBR3u`FSTqrjS41PRU@*L6`*v9O>e{;P z+qR-dAql{}H`#^4V~;$Bp%se&nymiP;hXR#{AU0nTG~oLvB#oQ;;)Y6hySo({5%_0 zv0CfMQ-+r~l)YCVId6ObnHVQFk6`S>;Rv*WPsWTK3{Glt$r`*rhYxavBavu03Z1OZ z+OeF~_`rocE$s7~h=jX+f`{LyfeG;CE32zUj~xLfLgA5nqAmdbffP4UyS=8daP$c^$DCNxGQ{95OFB4Zg*y8C;(`g_}V?F~m`dE1J`!-J^-UV3Lg+L+Nzo3`wHZqdrQGsg0(_pS@$UYU%J z88svxk9KwUp!fRP$}uCFA`x@!kqGo0dmP{9P+b~PC>ql z>GF18_!)4cvV;Au-_cBs&(6z0X_6`UR3Q+r!NGnwRe@kA%g-Nj>=OR7ANAvzZ~>Jl z-vbo8-UvWxR00XoxN3yu9$>6q>Wv2EB>#kDfDA*8L5>NiQ)2jkFVH`J{Xwy*$SjYI z!ej4P{R-0+$E6M&+S_iq{-;0sUR`bd<(FS^&N=5Vdht1N=IJnFz1()&->&}kuRr~n zFI;lTWs@dOJo)64Wtl;+c#A2}i1QH-Dm7(8 zr`XFQkG?gl*KAn7?)~q5x2fr~rcJx+&b#22qdqEp?4uuk_`lizkuJ?5g}==X1M-< zrA1->5M%}XTG;g)v~KFGyWj8^OwAY6{Q>MXUr6(F^ZBp^{QjWk4{L7N=U^Yv{V~Iz z2V)&?jHCIoVMpZ~l1e~zH5cF{i`CS7|e3pUG#j>Eta(TW|s$l0e z$JS|8F(G`H16i#$p2+|@{OSnd_#R8yRH1ktm`1ixo46+$7{hzUeEe{n>(>iDjc4AK zS)-yvk$lvSHX8}P%ZPUabB2iyacghZSlJu;;WPcAssx;nR62F`*=J6lHUYEjIt;Wh zt>_ODC5|5Ei=xSEj8xeYv#}-;Krd1Y2Z6esZ!mLFAkW-_P#|Gc>B%D6iT;qNPsEu< zgEoM)vJ80;SL91Qt`Rbbk+6fPFqcL2BtsEUbpWt23}>YSj!~{8BMr>h14Afi#v+kG zfI)0P06nP7!k`^o1`@Oe;=JVy3}!$-M#yj&sCa9%EGWLA%H-u?hT9k!Z)sNKp<7eF z$wA%1TO{$z*#^j(^nwW}R$mDU_fE|(4jja)uEas1?|lV?mEKXv@* z31fzhs7h8N0EV3J+_qKMeLOYp`DETqskwIw&XZ3)xqkh6$skCX;4W5t6W)Y39LNb8 zPePTpP(#g09K0E*sc8g^)nNZ%Z9@x;4x$#vZ}bkPLcyqO=oegiVUFke@>FS} z*r5Jfh7GH!tAfsX@V>v*H&^!!?&nv6t$ZXJaQ${Rn}&`|Rzh*bGa2YrhSad1uvl5k zdE}vG`E35ob7q8Mp_G-bsH{s?R6B)iBx)ic(M%Afqnbb9ZrHdj8V~w)nxUTFY%c5W z*wzt=Y9mHe^z`&(@;S$Kc!w&C6UTDURF-&B&X#g0*KDs99MV^*_foz(RtHFOnq;O# zav8caPl7)ThnAoqKCo(DtbYg)r4)I4X2+kID$~my3R?dbowMLI@NDZdop&=lJUo$Y6PDBDHA2%&E&|_OpbyX4;wYIvF zFKUj40%piC!W*1)k)lyX23ClPyEX0B`H&Z4haQHAYU^6X3w*em7edipnV!d5N+; zpp-b0@ZYHP4h0#(D-7fHSlve+)cKp&5nxEL0=xqP)lIhGPW|#zIX$@Sn@3mDe`W#J z2llAXv^tZ-rhIY${`vC@U-o9Zo28_k9_#!4?TQuZC!0R6gCY5J}*}4 z%{MOi-_L)sedktwy;J6u)cD+Qed9Y!Xi7v1rl4Ns}gkD%JsI zjxUkE@Q;7I_UyNwxn=X#nX`^r{Nl4CMh-WPAcldZI%(3>Z++uy?|Sch z;Li)@gTN`cgN`%x`x_0@_vpu~(dMbm;g2sEm_5S$-g(Ko5W)wC54y6c(jk074hX=+ zaq7xukN15lZo7qUzI>R3GEk$|MhV#}qr(vn9E~4RXDbv-2*MByM}~a)hORzCG3gU1 z$(42<5*7+tZ|G3epr2L19KXINYhV4sz~X)G z{3h!&M+Yi{;I>X%P;m3G8`(@e5)KAT^!DWAPmh~2t-8JrXj1*%yS8l}Gjy+kj~G2;#!U3v+1Zim?-@H`61s-!-?(mdPfu#h z3E%D9x1K*_=0_jUI~qY-rpo$MmNp^dC@W5!^l z!U2Nt%Y!oJya^t>$)8t-*OouTChJ!YWY0`rp~v^#DWA@T{NG&u6Cf_lxzdxVP zo1yT@r<^fj#Kc`Y+a7x8>GR+IZs=P%HK}*BZ|?8kKIf=8h#2m<^Ik5{k5NdZ`tZ6pMLJ~<*V0y;3M<1R%TcGzLu88Xer9*4a(Xl`y*_hff(kbn?TG-17IoKUC9DdE&|A^njj9 z+0Q@Q*1ogv-S0gqXd-%YfAO=Y5bcCQ?k7HTQY>aX_SCk8PjCMC$Bxl;D-o_eZqgV1 zR@`+A#jSFll|V5|fhy<4Rpb@9RSsY++4wI@McK5KBROa`RgssYTu?e9#rnt*kAf0? z5GCa(6hf4hV}_>oQiqP1plX)(Dp5+Sqf)B07Xs9gSBf0(n8265@WRTeEuoj)Il_%qQP<<4u3xy}QTIwM)-` zTl>zv&n{dJ^8}yy^Z)y?kA3`e(Wvq9_n(`}=2NL`Q+?IK#jR7Pj9R&N!`cnodwcud zdHGwHE?#}g$w&S6+8fhZ%kUNc=VKqfX~8qyeciwK>F1w)>ao*Kozv3X@RvXT?vY0x zmNx?EaOX9D!O;E3pLpU07hS$@U-xadKm3mOeH?*1y;#?M`2O48dfvH_NZ^^r@4f%- zJK$OAfdK3=d?G_LPC500*>g|Yy>rKRfAI6~{q!1#ejb?&XrfVuL(zn+Hy|5<~<&v&maLx!{87&3LHxo*-0a*a+$$VmeM@+ z2!|DG{-hI5y!nJdspwu`U#D)r%xN zK!7l9+O*N5#xyq%sjY9o5<(82hm@9T-ti+3?>Kk-?QiG4?c7T*fBW2Hjy?Z^3#Lq- ziVzxJuGFDO2MlBGoH>8E?wX;)hduuIwq%%AhZ4`jY`Y&da&Jgz1YLzC-{y{$$Xf z3~AUWf?7q;tqA&%z?SLRpY881WC#7ZL4Q8wv(m1ea;*%aI-iyDPP*}+0? zz|HhpsjiN;4FmhOnE8FJ%b$7T-dmr2=x>W3y?fCkcRhRmZ7ZLB&>7gB>D&F+-~X|9 zZ@WJ;;LiYU#!mP3?rz(^eSm+@SUl>t!B0( zx36v8i%+@fZof6?+8zy#m2&fH!(qm6r8GOOI~i<#JMAxI{7%N_q?yL%q_7;h+1LhU zQ~7DFfJ6$LW(@*~-%5ip4G8mTt+*L>)^M`O^kq?+)xn2crjQ6X#8Z!l@Q3KFX zHk-|4a^$r12tY#B#~Atavta<0G@-wUqF^w@;Tw7=6pF|tZcJHyV-pZ&GQ3<~T~&o% zRVQc&PGAjVOIB2X?8=Jj%F0UM#F_>FvN;P;Xl1f$^3=JF%_E`imGTd7LCR$DyypM>Vu&W=4A4eS@lgr)~sHKQVI}S6cv%0aX@WtEv8JB z0ZNHC;Z1l$Ls3qlwq(^~qih$T7DTgoAo8pv|G!JNF&HQ$852k6t=l3fWyJ*k{ZJwt zTV3<8p1%Cf?Ym>~stYf>a>nfAhYTM#Y}BM<=e_0fcYbL2=y5$g`>(nBH^-iMszql9 z%?z}!YZa-u2R_eWcW$7|&i31jp6R&bmK8f%_jm0curt=MmL|VzW;4!`#jTq+?K$rFDUJ0t zv2bNPnt%!E>)&hpvQ5nmyW0l~g}|a`cmM9{#hW+ukRXXJGmEn+TRN4F?s2o6PQY8BT zsGL$h6Ev)n=6z&-oDB z(`k+!GrqGUGk4b9rn-8=Z&pOBe2x(g zh9kjfMWS-d$Wf6{C}0FKsSHfGp&R2ykLc*iT)*Ji8*W?J-jVK0d~v-Q9!Z#*Km09&^+&jur0g%oW_|s?|GAKl9wDo?7Ynjd#8GLvK6pBEt;A zZGf!6T|e{eb1uH@U4G5@^Pg^*chc#6StwupL0@FXoa67l^Y3sjjye8}6HY!W5RTF- zas8$inLGEixksN=C|K8C^P98Y_BJ|Q96A9b#~!vD##*@m%8r+VVhrFQ=DwkTvgRe< z;GlR|c~u->zMIAARI8kNbYd zFilj`O*r>*$x_oo;V?3J!z?y>$-L658v!UbEDyQh#6_YO5-*JLPEH04AOHm<#IK`@ z;8*>k7O$YLTf4Sxd)o&;^ucq^KIgpi&wcyb-+u8W7cIE;cH6en>495sz0KlxgQ@ib zrcseh#u9NTS1eBC(bp$J*`fD>-xOyZz^p?6#eCy#U{7D{;%n{iKcZRb!uw{LZy6Ue z{d}uDsS~X&rdA;(0~uXl&u54+0#p+}16;vQ<9$$Br(i?r`1Ardo}J@`S$>$o?-cjk zWMXtPU_=ssz4@;GRC@gQ(c{ODsjRL@RwnD~tB1BUjvY6ODoQh2w`?tFrYrX(gS(m$ zNL1E6^!UQw{&X}Rn>2NLWnFDB9IdFR95rg>j2Y7_DieMEeLwxhZ>nk=(FZjc=9FQZYkRdvJ0}~NLz&L??y&<}y6fv-aMDtkgR$|oag^to3^q{79-xbV- z9Lj-|A*!?_)I=O;$-C1iH)t!e6bKkWm>1H=dz%rY!5Bz>0J6t=nh#O2YR)ABG9=9s zAwJJ*^0e|O!Y^+tcKEn00(D(uwbjQtEeDFA(P1$_97&wT;vTfcN zEwQ>RN}d=%TZE$6Fm?b|95!@=CVATeA!Z;TGK>l4oUkMIN0}0FhiT{aUeyJLikKF| zELL-IXxYx*{d~a&=7+;($66#BVK5A0ZPIKP>_{kh+No!}?Y#3Zz4X%U+uBf3b%d@s z2S^vRimG~_YXqawQDY`VqH!RC0R|g`fzYHWvyVFNv`jkv#N$sLd(x@s8UhAYqU(XN zlco<2_6GvtVI#+xLBz4XTt461+Y7?RPnmhr8E4tHbJtyWjhi|R1ND}z0B9gEp64tp ze@jXVDk29_a`+~^32!*?q*vg;As4fp2!t|IvaW=_2yFRZ0vG^RxH2Qu;7aGHGC)xU zNfaa*(Bo9v{^L(R=b;ClT)%QvFchA1)QP9R<${yvpEG6ptY9$Mwsq@|zV*XX&pN-R zzFGGfd=yx4!=B7L@vO(6Sh#lWM$K=In>gu`cfRl4SAOKg)6Re^v1|L*pa0-T(`KJM zbI$yoyV^3@%*ZiAjy-YKU;gskt+%X=$C3>VRZl#*>E;ECa*q4NQ_HWv`GLFs{?s#1 zt~N~Hq9to@xaHAXZ+~#hmNr<(p5D$t(3~`5xMt|LFIe^56Wf~_k{4Y%bJFCxWy^Oz z@%YZiAKG}r3FFQ`e@4M?Uv>2p*ZpZx_rBEpQ^w?-EKR2+ucz=76(?4W{T~Cb8L_g* z#uC$ti4v6OctTSYFqL@#I6WSeReM=KmX&FXpOt2&`=};IcgIE*ql&o z<>f0lkX^)cI4H~_HMBVgZ!A}vqE4`SMjxPZR6STavFRKvD1|H~6IGR!RoizAZrCvJ z_~UI$7w-<5iN_z?xNlGH%u`Rh{GyBRzxRcpzv7(vZ$1Bv^YUr8B3b{AOD=D$YHqG; zgn^3$;zOE-wQkzKzY{h+ux4%hu$JK)*6j)yi3`p>=k)of-*EjyyLV?7KDT+^amT&$ zl6TISddz|akIL5}^hX|D5|79AQ1X^rANA?RMQ?w{_kQ^EE3Wv^`>*`ycfS9#b1!&% zE}Q@PkAG3n6C*~Cr)dX&K)LI$uBq3}#3K(r;@1OboO9_XKlk0Yzw2Y?o`1!=ulV%* zvo64B|9ahZ$;!GDPC6Z)R*@^5Dc*1>DelUc17^Sp!^VPt052;iuPv0w1E>{%f4UB| z@FZB3sIj~O;Q;kTT0JN`fIxex|6YJlzTU%-mCuJ;k%pg)9a6jn`b$q{^}xz+9+Q;o zuTts}!bPMvY*-xf5r3_1Gv`BNrL zIQ7J1LjkjG$L@RYy??=NH_w?fd(Ymz6DLhuvubHmQ!{Vspau1f89n~TKl%Oz7hd>M zw?M;Nw^EKX@f-X1*cHRWxp_m)cg-=59*szcml+wjVtB+PK*vJyssvc}IFb=jJjn}m zvv|cygj=y#3=s))$%X@sq^1XmBItbcmQZcO+O_xGx!{V+FBmswl=KPq&~D^1IfN#z z&)Bu6x3Oi27o7?YLoaOJyzS20Zn)yzm$$SuFxW%jNds>n%3iZ}{nc0h={@heV*0Gv z^pM!1XcSAMpnfkMDZ-?J>Og)$y?5k+3`c5VWUNu9Ok~Qvy#jPVHVG314<{7+)eE25 z4|#xdaP+b1ipk$unBJGuhlUH^JwY24PV0`H$>tq-0@f`!4?g(Bq?xm8>gymsxy-=s zts6#-9wio(ALVM_+c|99B#d0wwO!jbw=|;~&s*Ga`(49^4WBt{4hG)c-O;sg_rxhv zXb%cb>xOlEI=UxJI||_?Clq zMYet5l~LJj76}yqvr|n&D^x}`VtJv$@m}t@P{4kyTT#!qKhx6s;PSD;l~Z# zeEZuk_xsJprY18O$Ye5*iB-#%g+l=Z$?)M`Sh(;#@Bffy1R&8EK2N#u3+iu@57!si_$@VjQCWKm78VP`u{sx4+xr(+6mW#p3hl(;?js1@(ZT zcXjRW>FyjH7yv(O>*|LL8wjOc?mErZ~53wTx>~_CC>62Nr@Wa(t8A-L`|2yWQoIhNa0JpHQwR8(K zkIQP%UY16t%Auk#U}!cgH~8cO_c(55!h{L1yjCvX)6>0q)8V~8pVQn5z6?a*Af|bIV2)zUL1hA}K8IXPNcKy^OO_sJcu3#uuGB49%9OJ42Z6## z3h-0Hmc+?Sw~shX>F8HiChG!xZSO&4Y^ z6b!=0fKB<~w|<@D9R=_n^bMPK!X=nGWw@2Iw(i&mgMG}glY2V%En2uL9*Yef(%jrw zzprEezOL?MvI5fA&{#it%DDUPdn^ybk3Y>{RT1qQ=*JMdyL%JSC@&WAo(_L5Z-dY= zV}=wQ|DN^^*z`Qa&I~kEM}PkF&jcdIAOCoLO?Bj~(~qgGtf0Zx{7%7M_Tq~--MAne ztN-}_e#LJF;nHIia1WGop}EeTx8Gvu_Gzb{T3cJA@ew~X_4W4jUjL`-cJ12pzhC{1 z-w4B%#73UbY+{iy1coDkeHoXysubSd-rm`BW~vhe0B?GVi6ak+LM2gh=yNl^uTS~3 zo-KUog&&4mLJaWLAOwmM^@adm_84%#CbvL;>%||Nb$tB~N5VCrsvHS|i?d94&AUqt z4C>$b#y7m9*9+(yD;cCOEh*de{pQK-j^Ft3Nss~=7We#>mG1e(6UR?HZr-swcJ93E zt_N4FSb5akV}5nbRW-FWKsPWrxMt0|OE0}R!nIob6MzrBX7%dJ-fL&Oetc#uGdyEXz)((_6Q-weQ;7vA=8Q&Ye|N${&A>PMDC*Tg#WP#Rl}>`R=z)IAI<%Mkp9sv3$kbFTFSr4AN(3zuL0p%g#9C z^ycPf5^)$H>T!I|?;q`q>h{AQufAl4e^jlm1t4tjkYOm5&?&a5Q4&h1@GF}H7E;PC z{r)|B_JA-m5GqxXOWrJp4x#%^CPVA63l=aI@HN!e)znr0>5qS0wQ5B^n;GouM@ZmU zg)~2X9`kEvJXz)X_{ki!Meo8$r?$Fg_=piV-f;bzRVx_L=ktBN1DiK)y6MI{?!M>2 zk9_PS(`U|Mw861p#bYmIG65DLsE`~Eh_oH3Ksu3TXL5+ClmuxmCQzBwDARYKq1q!G z8>c}wku4f9kPR6?#;&%l*<8vr!#g%_8$PUd=J4tjyR7Xg->TiYqlX5PCWgw$kT>@F z{Tny$sBLJD#p5)B1*f;OqqYXR8$B|T92`tn)YJhfLdwCOo@gu#osP(J!}^UC6;+K* zEvS~uW%_%&s;aByfn0l_rzf4s)iw;30a6x0B#comn~5iqAi1-%3z@-i2n4W8agqNJx#CUH7zVI~!(k+Bxk@b8p7{o8Q!WLw8Y}X) zWHk0T3C?Q#5-&Pn)Gd5wk38gyrriQ6$ZZ;`wyZQk#XLm-fqikMvkrkDH$p9xV2Y5X zhQNv>3qdiXccc-`u3EJczr%;OfM;FZy&WC&LZ%p%7x;wTwN@Wf0_bv3vuIfnw8d#N|!rQl8eyfVB_{GkMA+$XMi z(Du8hfBY;h$c3+#I>h_GX;O-c2r5MutZ+;Qa9|8rz{LZmsQzdRp`1)3G-l$&NGP&( z^VaoiH*VS7*15l@u4(wC?|5%bL$lz}3$6y0Es74uG>O4bWYUz${R64>8@DZAv0>G! z*6!|1yt46vOW!^7sN;BQ)b$Uf_h#*0zh(!*{)*~gqSA~;1EDayjG$p^v3Mkw2!|qu z<3cq$P0f|DLYNAzpr!Gu8u91lhNRxgtVH5SST7af~FZX0zspqDppw$4n|B2 zqu_VpG6h43%H3Ergh*J^b=Pr&{^YRw6Mb$#y)=X>OF$*aC*d0pC2=^E>XZ^M39nG9 z^0_b8p+`ZFK&FEmi4i!jL`Laj8_zWsXIw);)F4#r!kcI5mD-_!# zz{A5qRiJ$=9s+RqasZJKIQXapI&XF2doWD(@lK+A;I3!ecXsdE-P6;RK^W+F^wdD6 zwKE{;f6aFKD+qE7neTqIttX#x-lbQ(U+xwJCm|hV2pCAI(X=sR$L-m@ z=bpRnUbkw^+BK_|E?M%(Lyz2g%k3kEkGkTcA2-bi-vJm% zIL5F97#zKSRDfd&?ZFA4PKLWor&@_L@3hiPV8w<^d95x~m>3|@hnyWQngTDtaLR73GNw5|w_YUGWW3PVxF7UVN$MZL9Gb2I6I#fzS4+qgd6*XLSJG!{Ga ztaFA8ALDAK+((Tbc-ORaRnT}g1KC<3pMB`QyEm*`mFA@|UnmlrHe=?Ar_7JUtH^op z9%d4!fWu_31R+^Qt$?rY@<767NvM_#CImo;O3Ro~i1Aa11d1aQU_1F2S!6}*_&Q?$ zvyVTzX2sI}fqvWPA3l8Kdp`7$?U~T`pX%A3(xz8hKRPLp)KYdX?;=Xl{CC{<)Wn%H z>*^{Ezt6TZJ2$NxGkPSD0Bt^(+qHY&knvM6H-_oo*S;OqV8(WA%CnmrfQ z(t|yFcD0QiKY{EjxZ5{x+TGDRamF#=CrTNqI)zLwy?^iS`o=~y9~?--*kCl4ZNvV^ zH-T(eK{z_FkuXTPT+WtPTOo+e=lKOAh$uo+hIWi*$!}m_L`fbAH+UMA{6Z;!qEDcO zCc)$*KV=k&L`vd{e1^v&z<~hoyEaTnC!=CCl316#RqwcF_>0NrEl=>BKnMYq=?SnJ z=)&xhFusV2s|Is|U-}3bnnyO*GD%XHL6zJlPg)DE6AFaxxZ{rX>(`@*Pd*3CmZ2>} zT3X)q?)UE8xwEUcJ06WspFUeN^gsOe+NDbtBVtBR70Kk+zw<*q7`AL+qrMTJ2aDbf zn%brfD;|B|KG(`s#ACpTfo?7Qdg zzxDR?z&lCAq5)m+>gsIWw6VFd;T>1JKUu>!zWNG$(7^Mw*dJL6UO0I^W(@Cwgb*#? z8V*v&jT-|mhm`~{MlZ!y()dj%gE#r}%5VhugD&iD-`6L6DjO*Lc->WcTqzi@^bI~K z<^18Y1h|C_o3<*W4nPGp0IwcRlNcV)4)c}{&;Ixdy1&3zGw6K8*K6oEcmpwC2<>+Y zE);_DDqP1322Et37ib$k)My5vIHBW>fC=3PjI>fVLXv@HYai>$Y%l0(pOJTbc|XuN z7L+Z}XohRjBJjp5-OvjT?=7-@{B9f+7Ca|7Bq-JRv3EY4qU$EC2%118XVMuc_aOS> zqc{a9Ohm!ZzDR>s-rmEo*pBPX$4&X9?F9H9A_2uT4)CDKW#+*-1a(}-<(GxS+bSq^ zRGtt;dZ4~|kTO}aSDC1bc~P+{j=)~D6k5n!NlP`dl7NOlpxgvD;gd~8Y@A@#79f2K zC907m4x+!52`HtJD6jMKa9{{*Ld;C_WDBh_4v;WE^`Rf^+_4|_h{qySm~+lEUu9b^x6=U^Zc*F*GW1?fKTlj0kkk|m!DL~<+ABqwxPBTr8(YPV8JfQH#zv3 zu5@~k5^MM)q3GP1W4`gtkBQgC*IT6qGs{=3+`Fd(3!<^PY4WtG!AKai+w!O&upzDN zIfewnAZmu@_V@K|T)(cfs}oXMk*u6FWlCjLHAZCfNwm=g2Znw z`mxzy$cn>gJSvY2wdI_A&3jA@rVgyM*9jn?G#WxVFFevt_%nsV%x}Grvi!@xHoFoF zmdjc+7bITQ!J5O?bkZs&{HL$z+y*H&}Gd9X4T_R9?Ppx#jv}i3-|R#K6*M_l}({!-kNZ z9D>(KkdW&N7fN6dc{&(`I9@(#BTKGjsq;XX3lPH~M@KM27XXnkKaZp=E=h&4WJ`90 z8p1{fz-nd%t4t^fX25e$0E~R%mQ2>-tO-vK0!2A6l?*dLaX^X`-=rBO31uE9aV%ZC zi=KV7Bq^czRl<-T=%B&ubg3w*k9)9sJXIc`=> zWrD`Q%Cv7-HG1SQozJHFvg!1$-JL@wO$R+@z}UNEOI>|6n2K2R)&;kZ7&dD5+@lde zWmA2-cC=2IG!>Hq?rz<*es4$Lq*=#-7IKYm*s_3X|Gti@s!FgRmC7J|^&TJxBM=^0 zd2pETud?mI!9lb_5XG6$bp*g-1$k{2LWKnO7%%FmA_UkpmI%@1EzrnRcS;LG)P-eA zHPy6SQszgGe7;OB3*QXOP*sqJd*MErreR`A*<*2DbOZhzXA;Ng1%1(#Vh#laNI;1t zUzS2E?m@M>wk-A=c`(2b9O7a-ZxR7K;Ec(yTL_1Ox7~Kfs?}>j#Pk_ccI<3#X=!R~ zXnfCm-qYT`XMgAZ+SH*MOG%VwgH*pQ*anuZML<4X=GBn@<;C}!{u zeTir!ml{~K@acWKcIMKUaVMEfPMkb#)THTIp9VL8r+L%~8%hJeC>${P?z4P0vu5?G zty?w?^!9?+$wYkO#EDa;PsgHzws624IKEu#WekvPue!T8#JqG!v zNUI9y6sb4t#FX<#F$ij5L#qV90;o_GKq znz!I)3qFhHU4zE5LgA=SK35NQ#am#MjYd^IwaG}^&|pe**i6@FVA22}m+GC(_;$}w zFqp{>0HIST1m$fjuAMdP#L)T^Y)2Qpbzo)>1Ll)ur2_%QL+{`fq1g0LP|X#dA~x1k zzM|L(S}x@g;*c$9U+C(|X;x;6T_XaIG}^OBotCDP$bc(K#VHxrz6s zC=_f(D6gQ%E>FAy6vuS{N{0%g!Yq6Iqjun@KlszWJp&LLOfTdFG6?s8AH!!;@&+~z zO32ce)j zb;{^Zf8hgk2}uoi^g19qego`+V8Js(hHdA80eHZFVBtt)0Puh?H#C0m6fswFwLq2t zAJ~GMz_Udh2MOS0a@?F-x{}y9?L>tt3Lx11J>BXp(9(&=H&peGk05{^FC`#6!dP5a z0$@E;_|hT-z;E2QKm)u0c-m(%bKiXNM`oSL5CCkKQtXcmwdI_A&3imz0Wbsrj05#p zkeu_Z>mKvn7dkV(EarT~CIf4@R#)prTh(3dS;YP(u2k%S#Z zm*}>;v+KKG`O43J{Yzf1^*+ktNizUd zXYr~dYVvj|rGLE#IXGDIuLw|T^2;nXczGz6%8alf`z0*|?kNq$$>pJ{pbljqie1c; zAIgki*w)(m*rSiab>J1eMDoImF9}71re^NU7+-&^b9+WVsyhFr6B89CqF3klw>)yv zyxEQQ)r=|a?Dni`fp>Qa$WAlcVmO8jG;ZXSI>u(x9a_pR= zj)fbPN%e2puzc2>Iq+^UBO6vO@7O;u{pgc`gU$#~9`G6970Z{cS+zRNw=@G>%VDgG z_!HgNNn2{ zhYfSYi?+xF7&^^UI-6k^uwJ}EEZvdWS};im@?04UM1u;Mri#fCRuWfE0KX zl0x*3OmRd&4p9*koHzMC0+6se<`M^}R0LLGTjE0k2eC-_h8u6%+P0&rs^W_Gz2}ZQ z{vHYkV$sN{r=B)u%!J0~7Bs;Sg(h@HCh&b}bOZ}InsxLA*G@cHvDCE0x<4Gmh~x$b zM(!A;21}f?3jA0i-?#=E*n(<_)X3x02CX-DR5~JLv~r}CjO1H!;YabryRe*9aD-YI ze>Rk`IL5p0J6VLdl2(sSA zhAMxBDVjpZ&O>`33Z{nB%mVLYLxc*A;FB9k+@Psb#T0nzjaB?EZ%Z*WGXRwfJd;EsieyWoWKur}hDlyj_WqMPYbk0g;z*mPa zb}STNtrF32MIvey>|`X=SQV>DhLiEIiFu_Nuo3k^*+cX5&n4y0dh6y?J& zjYS>49C%HzFIFuzkpV+WAS_|#a@J|;05%2&=?e111twKB0V>QQ#1aSKN;aFL>=2Qj z&FAsM+pd9wfhSl_((hh%n^`v zq#go{f9RA2FYfLdbUtumLkKoN>Tr0fimFd$OA2W@WDQABx5+Oy<(D$0+R2`J&@1Qf zOMud3QmX_wQXBqNiE1rr_Mvv>;<1io z)Og>#T0@itwHj3#dPFa%#%7>2XR<^z_)h7YT2 zY(Ob3gf~P28>rUoTl5X|n%r8$0@5Li+2a7ok}ww;udt9=PnKEOLZ7>Y$ei!?Hb7{8@W;OIrwomSO#hO_t0ztv8wrPi3uE54Y5nk) zMmRZ$rdF+5r$;I(8yXqRndbhE-BroB88l%K9=!LVaT6xhHa3AnsJf+f)3D(~*tgGl z;rT_;WOZFblj01RiTJ0tx2I$8-feAd?d`j_?`Yq@e}5mcdV2Q(I=HK=ua8Efpuy%9 zV<$%&#u0(dh-eY(0trUPIe|%Y5y8Ub^WD#21kDWo_?ik@CtiMptwLN_;Oms>T1h;N zz04PQMWB6@Jpwb{VMTL?fRL&XRtf+?kcwVS0g4gkfo4ra2t@=oXDI|(5rgSKx4;~U zMEEurnI<)9Oca6E13RHP9*e%XWO4t%U@{p`r&D}SHT}ixh!G<}RVWkz9ocNwwsT56 zVD5n!%*k68Y&Rv7pgdWwK{3n)xSRcbeKt>`lP4M80j56w`h)TcF(Q#Nl@DD1<}<(^nTJDZ0A)BphL<|xpgMk8 zYX3DTf}PI}^!KL*2Aq6eH~IV~u)z*G1zU_F@0sF>F&b5# zfP*y&1#~AnxNFCz&W^U!z<$@s#S`IZG~)QusdT4P$c4kuy}XXcSL!3c(Q-%wGooP; zSPQX+rXzqh7z$IxQDI_c3i7-R@m7Xg(K zt>}dUdwMB2Xt78K9+Z;h6Q(7D(vaE+xBI)?#pgyA6UMn>$!Eimu~84 z+uN7P+lY;M3WNA%npFqvRSs10U^qMzIi(>eKu&qJ^7P?Qs#>bX1k?EEnO!rBFV zM!;_d{K1eBis-?R76|$SVLcG?1wxt`)WcCT5Y~bb9ciB8j~MZaa5Nc;S4NVRkyu42 zng~V{A&6Wo5sJiuk!Ua$3&xR?3@4J|Xe=0xn2~rW6b2q67!1f=1H6s{IvCl)kcsC5 zF9M^5;4p&aX&G=14k9%z=*HUM5J)|kBH28F%twteE-nLEPY_&@JhqZC%Z?@VDdhJh z0CNukZfb5kz$^9hGWB0?D3Ku`DiI@+XMi=^cl?#78VU2DDu*`t4+Ht1_dW63he7tq zA2?l)D&BiTDZ!DX`8DqguH%sifQ4b8ozWZl$1LB%){bR62TmLlA5zJ;>4++p;Ys|W z3=17qu6M~V0vD2C5NuK|`K&8Y)Ht$+ilqWL#Nv_+X2hzZwpXsUiOE8&<{mXSie8}$0zq5H7ao7jB4Jb!a*qP=uEH) ze%TmU9N?7z3HFj+8hH000QUO=!7#NB5%TNA4GoQKEHtrZ5ecvUAww95wD*)Wjtex; zq(aq0eUeA-T;Y@qVqvEY+QBN06b6?VV1`L5qbaG&n(Ugthl1px8WXInYQG{#HG+36 zP&z!c018`$UcB9gXSQ^EmjEpUFB5LZ|`n4PGy6eGfE-B2hxhH; zVwzb!mrkYP!-IWohY#kmsbDBbuSif7NE^r)a#m4@G$!PskW0t5Y+T*baaa*e8S*%n zJbYlsaDQiMc>r#S%PpExY&d>kIJz&EIT%jti=++?#&$-M2P28Y@pwln)fY>4B~o3n zcxxQtcxO7@m(C1ljYv8hi6w?onM5j=h{T5z*=Wj03`F~Hz5O?eNAmc6$y_`f9~_MK zrSw!X8$-5KHUWbGml-3S$i$+FkxVx0)dx(C>;Zdl{?y=T7O{Mp~3FqbS6i#p6vh<*`{6y zbNXB&nFESuiLy?&a3PL7jB~yAlkxeCySS*#v8tGIvmdwVJnOGtfi6x`4 zL@s9y4TnL6R5BBfr-w&kh=-nyMiP;5yuWX_zkhh3cW`KEI2w-9OHb43WIUOSr=ziC zBpOd7(!;|MJ!ixs@pMK{Br@rwjygeXrU*eum>)2Vt>OOegL`*&wI1&6IyTVV>V+NS z_R>CnTAC+y&MenLr!asR20b3`KXPzaXY1k4_G3LgU5X;PJziooXjB?g%Fa$?!q8mf zBhRV;jOG(0XVR(K+L{8b3fT&QHyK8a8tXZbeY-iptNyhE3~b+IgkSgO-~cnb_KgHu zJ9aj;8VM@;rI3^=0Ay$TddAAXw0HTj$%neCg z^A=bel!qIYY$cSHC7^=rmoyJSo+atTE2IRpPlXV4QrQptBg>xWW0Mo{lur3sENhc8 zvRo7kznQFHD!`LbkReMBs7+r}g;{=hDDjoQ?QD(9cYk{J8TEd`4^vs7Eh|(FE6ST> zm#=IYzZ|w~*#g(dA1Z<4gQihhVY)hx03UaLW{(@u=1ltb3_O8MIx^7HX0VqkA&a3K zs;br0)vN9Rb({^8N#;5$OJDN^SO`Rh`%}rdY3Q+79Qn#?YRW6d2(pKK7q$~Dol|P3Gf4w5MjWk1guXq zaI_J~?QsvM#cwU^-#RExta5$voZ>n)3)d6M5*_OA9eC=Q7y1SxrKKg8UwT1BMH%^6 zAc$l~2fM=^hZ`H~9)0l9rI)?8tg_mG60l53l~VCoUr$F_N%7h>8|R;~pt!UgxRHLa zjoAPKPT>Z+l`j+cG+-svtG|!b~QM zoTveQax@x;D~_g7xvpm!CQd`Fpn)*P&g=I4^rt^V?YBrlP^lTvDq34|7DC=1x zn~BBa!QwJ+px6*WPf0gL5P~?KoNz`ZVp{MDvAtzr#D?`O?K5|K1O7k}rV%p2L?9Vt zD`anhfYb}>3Zo6pB%Fxm{F*#w%hdIjmg6tMqO7CX9)+FIzXm5aD}}bHRYpCQLdB^e z7N$15fq*Nlj^QE;JBX!DYr;BcT?T&|&Mt3qZqPQS$GqNfeW`^XV zDSPCgTk*iPgS;l16SDNQi(#9gP+2UIh^Mr!?rdxOh%4ZeU8F1LF0Xj@rD8L);F zg)Z;~{dy+H9<))Q2i%%Vr?(%`Lm3c<YGXU1ir*r-7{p(2EvNuRm!k;w}m(D>+J4N>!wo60=r&1#z5P^zGDQkBTbjR(r$ zPyqj<`;y0>$BgRE$?)TfEdvz)TOK{u3R=_L$QH8(0rDe$)sIwm*4Bl(VK2a zWy_-I_4vSAZkIciNTJ)5mA#q-)H!8(%hgw3YRhIS5!t+PZFN;i%lJl*2g=SG2}d@s z-{A5TpR(XWNpb7!DPS_G=!~AB7qBgoNA_;bC5NU?n-~iDGkO-z`M&)}!?D!aOD=c0 zi}*9gqsamy&|D)D0B9uG6;%j8YGfpQ>Z!BQA;yNt=IGkdlzejl_&5QEHoqjk$q3(> za-)>Bzr67$-Z~Gv#m6%e6qws-@!?E11!EY7KCDK%&%%`^=uNcdC7D>ISh7Cp zmng%g6EaYJ7#a#P;6Eg!sBd(|V%QZ2RxPzelZ2uPLFXT5=0UO2w#M!|5jp_)PHa*k z$V^*SJrl)L9VJmBHNZA=P&{!zCF7h&5ptA7j3_9Q>@r2ou$2#=H}TpG=0=@>V5 zyeHt7CB-6_+aB!e=x%SXt{)dDZxlsxUGmQW(_l)10fill43-ub)l}8dG!gY=GJ5Pt zM`u@eqdAm4MKrmHy;~6ypPgSA!PiC`OTappadO*7m z0EkB=@p#%%De(3tREzY_k4r>>7mVPq*#6=9ZvvJgYE$hST4K5}?tIz=rQ zL-seP-K4wipYHvYbg~1?{@$uEnm(LBn2Y-l9TlCAr8yZm=@8~U$wwl@f2`+kN^zGcVhi{D|}up>!|8n&)!LU-%Ik%8_r z7B1B@nWr9mr2Xh2c&GKvP3JDXQg$g@Us~1E(|YCwi`MUcVmRHAGvgkggfnD(&dgd6 zNtWc-{E$7E^$;N0EbVs2WQOf(SXoI?hei^`71KpWkKkabSf>& zlB&6pmqw7Srov3HNw=7x;vzEGO#w1*KzysD#ThVqumGb$0XU&XLxI8t z8d8|WFyc7{Mpwe}@XU01ye$H-vf=d5)H23GIv>JO(O;OS{qmX)*}&MZI4 ze6s2wgkfaC7LaH`Q&31Xaj8u8vUa(T%M=d?Ni_+AThzyu`z}3we08~>zLa1=vvVYg z@W{i^B=p#?(?=2%Zf}OHP651St9}D-U zGcnB_AcKT&bcYHC#t%q9$nQjTe1VVN&59$Rcz|@3w!uF*} zh7LvPVK`7tL{`vG6wf|u?#DiUSvHf|vT@DAv*&xUX1_b)iKllUf+QDaj3jB0$Z)XeH4dW6_7o{_i^Oummx_u@&<58QC{^g3gBSf$fZ@q?#_=40{4_Wr zvOppP0LX%C7NkhbRJx=;@|qwackI{&e-QrL@JQqbKl;h4RcltgxTdeK-|h8v^$i_5 z*52IQtSA^g5yF+VDchzV^e79OirRXH_YF(!{kfTqJ~yotKt-Y*OI2uy;SoBn8dsWN zZ$-%&wxqfcL(VC62*by;EFH*2_nc6RVd#j^jogam&!4sEEVx+xeSL113&zvr$u0Bd z&0Vlyf!|NhwFZld2KxJBF?t~uJ&sG8f#ECB-BkKvTZ^f)R42XEil!Mb0gEz#J%F=D zPYw|yflS;1Mtp&W0Dg%xk&NBWrN^9UsQ~Ja-t5BOa7tBkN0-`QVI=SXd;ZoyGPk59_jBNsBaw0cn^f<{6HfBej!mr-zPD1*^Hje z_&hF;OJ!?MLNFAntE(@ssOaz57ar^hl+@9vlJQ5Z#HJ@)=UfgxvyiSREe-{XRF~-Y z2TCfcN=r*Sjvh4hoX=N;L4X@f4O4Me3P5KJlgS5yE+~Nwmt~cf{{L@*Mg??ot^j-z zjm9L(cdiw$E07w4i9pHmjNFbWz>B1w}flSE8PXFuR4eAsTE-kFM z^;t_5&b#4!Q9~;QjdL8{`XuETVww*Ph1tz6Tyowxjy!%wb%e}8`p+fyY+Z5Ic?$$l zdHj(_?!D)}fJc*r?C?-;d+U*^s+x+b8sr-q914bt!Ecy}qHSh#@!i`tFFfb$R4Vn| zZ-0H~w)KLL(lfDvzV^1ZBU7f#t*ak*VDHX>k%7vZ`dn6Ut0gY2Xm~Iw38=m-;I5EG zeH=-JqV;R3qGINlx_SLW1EyhSlSVq0wsgB;%ovyEDh>p5 ziHs`B#i62LAXF3zhWr7StQk48qO9ES3%FdGl{IV2>gGH zdF1Fb1^B_@cuWC~=W%Qv(nRc%C((RTcZogWixw^|@TM9}$*4ok1dqdejUtjDMyUiIv$VYj{y;ne0yrL*fso z^j$~#0v@HNBETFuvV0ik#38t3csiJm!ruwJ3Y=8rIFNpF;CL!)2$Bot&f3-6BGGUv z8#T>rb-AZ3q{P#)Y%T>&UmWs{ZLF%SD9NT$Zm%+F;)F4^H36R=N*1<6QBhIT*!nNr z^vOpbdyMvdS*E7RuzcuICPO!MI~eqqmK7_qnodJUJMXnbvtEy@s3-va3u*;?+JZ&1 zSFKvLXyF+ikG6jOnxFstmK7^ktX;Ea)4Gk-l~pa%W(Iuj#~*!U^0ZlOIf;-*pCn7) zwC065bEj98*X-D_{l0teUAgkbmo{uZbl`AxRdsbuLuGaO!w=j$WyT!pKlPVN(rpAr z2Tp35K@>)iV%V>kPN(W>YdAMiW*%bU{~{E|j*v8j7jJ!5G=&A%o~H)YlQ4S)9{BG8 zXliHem4AE=)IIy!C6bS=`4f^3)^9$xuX~Gc#ujJ})CxnNxgvB$%a`;jB?-dFVlD?q zgsc*#Q|Om?hQtvq%V7%SV>uac<^d-}GX!mLsZq#=OBRvO>|C%bRGkmxlk;&bh8m_D zbvywMgM|s4&qy(J;$a?OZL{pSqIxI{;lVpc$PrLF&w<9EQpnn6a-N)Py2-}%3}hTd zvRKnS z|7KvIOJg1llu6Ur@t?f$TW(MAsmGs~Hs{RJ@;aczd`lt)Z#xg14{`ALLcjrsIfyFN9KcYgrq5jt<-S!Y~+#k+~*>1an0jS zop(ko5%c?fwPVH{I(Yc#;a0e9EV&5d0iFl@Q6)6RnG-9R#7{Qd z*oepH5sd8f&pf{Mr42?d<#oF!O`3A)yWU-1QnGXF7Ejege_1`d2}}Y^VP%uiA&(}O zmV`E~dw$!NmqteV;ml8&I(xyQrKROnJ6_sYR9;h+#E+=L6zJaj55D{T zcf8}mQ%^k=C@~U}t8W>``0?ZZzwZFEdPolD%fJk#5n()VydDm`U0NQ@SL@_pR}51J zMz_j}oS6SrVRTslFM`O?Wea%-c@89^907C{Q09)Ujc9Y?;f3k;ffp&&&G|k_L*8k`5a{9m@IB@vb z=sUoO<(W?G0Avt#6Rdi0+sg6d%PZ?@9((xlM<0G_&g`j`WhIb!%p@^Y)pg0`AChJD zxo4K2cGeQQ6)B6Bm5YUYO)Jwhw&{1j`qh?A8=A({db}FD#cG>^Syeag!yo-ZF023a zmT$c8;~(tkKHA=WZ0-832M>3-+^#@SJNMlAie_zGx23mpu&h$K_|h4YsP^_oIy*+T zZ|OMeqNdu0kS)4OO6OKp%)9+BckJ4+cVuv+ys~n5c%*)Ot-r*Z7>u{=Yj=4yU&y0* z;StlDjbhQb;@05%`9p!?(jb)AoR&EsS$Z8kwroIZVs<$F=fH_pAS0t0L4mBJDGYGZ z3z1}HkwPf|5uEaHnF&DHNk=pZ2Ffo+borSrt!sAmq%)=}7_}w7$xUTV6@ki9Z*j=$ zrMFtJyeJJ##FQU2a$2{CW0~&3#F6gU;oew0OQr&CwS}T*%Z|E*Q3D1v3e+4Ggdsqm zS4Kr{$vSgl`T6t4yGXRchlVC%o7)(wyld3XXd!uG_g@aLn3LBq`po0;gG&H($xpt2 zduv-SCuDk5gg|S#FROBBS8h-le_08j(%1TQWNgdbH z43w8G+fZ3mb=BpUUH9?NK@IzSu1|mJ!{y~=KlssadwRm>ojtQ^+&E%{zW?pgS;_jaA`E#eQT=BwP_uK&_X@40ECPj3+ z)DL{-vJ)=8Klbm9pF4!-yCd56XD zbY%L}fS}2OTef|w7*K^E&YDo9i6Koaa!Exlna*wm6r77)IOGzSj57{Obt7Iaa;Zg{ z8gk)Kf|?wnLn+dfpo&8dsfu&37zB_MqIj7uS$>qtA5zdI;T*uB$bMA{xaA-_0%+Zh zb`?T~9jK5OXNN@fxR4Vyu&U?`d=$SX`!xl{{hH)cB#$C_711k;ZaQRo?+y`ztwNGD z3VpyNaDLnopg3Z_*9s2P&^>FSJY*#TBaz6je))6AY6u!O7^sv9f6{3r-3R(xYwJpe zhkEb2`wrdAc>ON7NAtK{KCfrT_Kj^v_S%v(dHS@&2X?}SCloQ5k{k&Sc->M?Pyh4Y zzsC~8&^&&>HxTgpihSXC|Fciu55zCL_|knlx4>gUqvW@-=1&AJ;yE`0`I9pct}ic? z2cCjn6EMSsMNlas0&h+fk{Nx==3Tu#ecc@$s-!BiO0QkcGgVjP+~6nGLcJFJ*q-?G8Mrv=^ku4ok?d>*<8kizlv6&wc%&+`?Fd4;-8+QFi`@u zFtVvs0{&zslR>Ou<}#UdDxFLw6RA`ZNr_}Uo&bXJTsDo0&^;2077Z(W+EglS7zUE4 zd^(N7R1p91I6KE;u`nIc2o7AvWAI)_hDQcQ!b9CXU0q$BJ-yw%eO>WHG)*r6GhJ?X zAQ%jVLZBdb^n<~Gs;Ui54bx{#yXb-ouKUN*ZI3i;4UN&g2Y z1F@*1Pr$l-g5h)m-G~FjL8q#yhwk-3i7)#2)woA9Wr*SW#PrVjI@4YaTnM zp?(a_Hxbqi`AykOy1%a@l}KuuqUSPvilP`KYgu_|c(8Bh)-9Fr+x%{Nt1mrfMKiRg z`{mb%9O_@A0+?z>{?BBQN@R7rd7dM@DMolalUAAn^{dYfq?9h;D(IU0W<=wum z^Zt8xy|lhBnNUWCQzPMoWzqW<;M&o4Bv}rWl+0eVsJy1O{YbxJ``QopmsZy_PM%_! zYPc^E9!!n&#!ORenlL$=wR+lmp&!U~L^qiXBdkYLfdi*c9w>qxuL#J%vJ>5$JoLkE zy7H^MvzO1p4`vlXh|!%8$&jRj!`81J-|^f_ZK`ctG^g%+SD*2nt51Lb;+E5=R5n)y zVW+9cW$Cu1TSktaTQPH@k(DhypqPy%>KT(tKX`8Qm#&y`$(*VRzvvcql``lq*kWW8 z(64v*gu#2OnO2&=6#j)Om6^KO7jhaIye++^fSY=HxLrA14}s z(U6e{_@Hm3qrD!Xp|KbYS6>@|(J^QCcvTU9fBU_E`pZ3VWkW@tP1|-oy=>*m)vJaF z`hWA=I}RN_R2&RKy<$|M0qYvdM`DAD%c`j^%Grt2P94|Pd+h1wpZ~}G|G4C$`PFr$ za9jO;?Nc|r=gFs^0t#-g$E~VoE|~S)v(HVQIvF&2>d8l8Gbu7D7$`HCC5C1H^Pm5S zM#Ie$#vMDb9noYciS%8m{@$KR)2Bn(Z{NNRIMaeUx`W=(Cy4cB%bvAO1Yl&Rrbw$fmw6zQ>cr9buRwl`3Q$0b29Sr|;!xm6Qjtsu&@4nh3h^)F z*ta7v26~eLL?lu=fY}0bUZ$H%^l$+g^>99j(##K`1A!9{mW2+wWb=Ub9+NpY`k*%; zj5-Q2qmv4m(O{u|);P;XVFHdgLuFJEc8rR&nN^9BB&^xN3~kVuwhy2^30N|Wd4L*l zI>K6Fg-F`5_WnogMb#0|_~HluMa4yzU3OWXwuq)?2pM)u3WBDmw>=ngA8R`#$+j=x zgV#}9Tm%RPgKm#|+ty9CnXPXeGtk$KawtI63&Q%fD~n4)(B*K7ii?9KB}Ji7AXF4A z3Zay1-@fe~9fwf)?AfzvUE8r%k4rQTB-vppP(1H7&V_>@KkF!l+Rcv$D_F=$2fL&n zoKcD&Y;dGhBJ<3%t8V$l?f2dHm|Js){9bU}3#-?D?Q7q?}PW867JkoAi}0cVCD-5+H* zQVjc8(blcoQL?SAZE$F?ys})?luS0`cDs%Ihj|UdfRpR>x&r}!Fz7EUD=954@%!Ns zyL?`^-|O-DG6Iq#0Wl@({4KL2AMx#shq{cQc1x~hsY^aAc{G#VKk8iLD?BhRZ2 z{T-6iAmD5b4D@2W_U_u;*VEw-dcpZ#zmJ{0@pOFc>SeYhm6im%+YZ=*0Xb8_?MGx7uvYny(`)CJUT{HG zRTZ%Xo1}TjBl({LN)pGSb{vI@@B{Y3K}!{|+2}wN_>(SS|ImeV01tLJs{_Z6{5-

*SDU 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


h7Yj;APcRrTEc4YB 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

%P1W1tVV@{O2Kob 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%0A9-TJr0LTR zJp6!zW}R@t8K`*vg_j(D#GFG9KYHdNhyUqMuj+;lSLyrTzislA8L?Qbw4`LhxKWLD zO;=rY%ba89O+WOQ1EwE2Cz7$dFZj@PdpB> zD<&?TZ->3OPYIT#Xe`F7F>r-xV?@h&^1~Jg1n4V~cNSo3_e3I21jER(j2l78VIQ!H zQO2vgaR(?Mja>ZGI?*EW2pj8v359Rr%R#LNlpYmL#-VpC6zqHaUkPf+#o_{lWzi6- zgw+B1*(xPKdyO!Pm%I>dHdL?rXyJ(AgJ#d2J89~Elcw!AYY73;c%C3gyV^rEgp*-5kv1WbmVk8Y+Bb*T^=N-0ImIQiTWWUSc}RaIp~;Tq?Z ztBG7@v3EM1h-I;SBXG58&g!}b#OAStqcQ3i| zS9rp-qEq(kbJ~H$$4oBB^O|G&`i_~Bd*Xgs$4U_}X2AWoiq#Zf{VGkyZb7m}ssB^Z8UVZh1&8Ms|; zhvqbG8ZV|gz>?gyCKtdBQ;!?bnBHxe5i=g^=xXu%;#XgCR3y^Y+1Vb28bo{aa9c-f zT~mE^M|)E=+<`6J+1yaSGt$-S)(o2&bMj$!Gj1gGSiHL@;`g`=BW#+na8K)}AH3>F zlpT6-zgdS3o-ut;evV`Hr;FEpwiF7k+&cz;T#(R1o;AimHSVe2u=>-yoKQ(&eoa15P{bT@2;z(3nK-3SO%~u3{^pa$`a}Q2Y`KM zucdKok3Yuj{Ff{)X}$dJ3!FQgLy4DP`QzAeQ?9@1*5_V&`L(y-`s1Hp`@xTIJN$?v zni`sjLMn;Y)|TUrKlzF)uX*W}R~CJ+_~lps{G;3MIP|c?*REZ|Wm1$y)i#@6D22u>lyUTU?u`uzWtAYl5D^*{pch{)uzwPggY+$Y1*FR-eS-bh0yWE) zz^b+Kv(@>1O0XWV19nF&YPPmD=jG+Wey2JG!^}cVODs09>9D9avtrjKBidY4kmq#S z{a&vgjn>sS1%jEG`TcG7K+FVvt}+Hs9&@pgHf_=F#+Lf6!I0hW!|LvWE}Mp3^JKcb z#RsSab6=9q0*D!wKn7$CR$c3VUHg@7UR13j|e**7rywpXP*tevNAL4>gqc? zyL>)hPdMTa26FTAqLJ9B;Y07Z-F9J7VXyJ4mVFEIO3XJcWKe-1I^QB_H)?{p1dVGKeQ;7 zgeNYvYF&j=D2CJ#`bzT$;EtzssRc@olGB^O9@S*8MoAsVKt?D?m zDoPbguTUy$4mv9%!m&^u4SIrMB@v*3CyY0*$HwitX^)}=KAZ3&#UAE#8j}~@Dwym6ZBYxno0pk0S915m`E-0+=Pm9jJ$4-T+390V?!&%1B#l*iVy4V z31o42f4!*e(NF5Wcl@BkM~C!;_mrQ!=}$!8zw;~)Jxi!J)sA#TBiI^MSdsq{P@~Kc z8h$aKaW>7kSzlj2Wy*fGyhgf^o&e#hABOkd*X>wj$zvK`TJHZM4YZ>IHs750`7clcMgKtsU*%9c=XlI%+r z*22FNGX?o}TX#pp=FgVQJ?0pfFR*Fd+S)x8!K}}+kQ zudS(zban<^_JRGgrj8jN=`^-fG|t~xF?o2t*OORR*}b-^D?8}zUy@zX+MS!_J8=5` z$DDKZjlX<(Q=OTUo0Xdza%v``yQ-ST?#`b6B^f0JL6+V0tEZoF#tA2!0E6=EGtWHx%(Fd_h|a62$~4l?;8X@d zc;TA8Z~y*hT=3oLGiJnWj(cC<+8yJSO}fxxY=I+2k`Fh>jo78LhfNuk3*LCzf$SzW zY^xkHxKF@?WfjNf@~xdOf3W%c=S}jt5^+FA^4df4ELl*RKw{7dFY9dh&fyv2P>OZyG@(T{KAjqVfxURLMyD%%`@Po$=9ayw^TlJRRH5E0j(Ex}&T< zCpRb0o3*VXvb~~X=k~3q%o%pZ31h+?-77wM^Z27DWMzih+j>6Vv^`<-jvhND6fD@W zW7}sd)*W`_F>YTFCIbDT7$9AT8R=-atRgO~#8J)MI@ zByq>+>m1Se-~J4ego3ZX{>FLdUkL4*GG)@W*IrXlP*7c6{rKZgu3WkDwZHrc69HAA zY!_d2$(wJ^FDS^r{`zajk00CJ-TmYfPrdcl{9(g~FIu=TBO?RqqZ$IfB{4N5Fx`f6 z&ROR!{@}yxoXi_19H@MQ0RqIfe zU8a#jwpxXytz>`1gerW+16mh+?&XhWLpV~PW<61nExBT7QUt#q`1Tg)zYXc~`MTx* zjR4pM&(UyXC7%IC01WGiOh+Uf>+b2qWI${wh+Hrv!9Da1i;yiIS-t9`f&KIP6_>>0 zvF`46(=dI3fX5qbYN+e%?9MM4o3Oj%T=#i948;N6hJReO)gEss$O~YVg1>4*T#U%l za7ANAPdJg0Kg{Ov^VPRlHzo9yb{T1ai5H)F?w}bn`VZ&_e!xmoOUwK3y+3>Qtel)| zQn!FiDu&ZX!OBTxVh;oBa4cD}1aZ3@+Oo4Ui;IgYD=POiG=N!`ruFSxGI`1*T{q*r zXH>uUp1XQ_!ln^-xm}tgv3bj`W9J@b#{%bcE?&HBPhB%oDgZ_cyi+!f0l6THcF6{S zL53w&WLrEddz{Kutiqfifl|Rof~B%k=){pCaVG5c@%tTk(iK0w_4%eQ(@krJ%8tnR z{P53C$-DW|@3uD7X?Bh81OcOvJXd`z&5Q&n12&ml7TAj7McQLKl2mO;DwP0GOO$gV zdsRwM6;-~&9teg;Pn*~-r z7^Krgsv8WFvP7o%Omct(`+x&WRMNckM8qjSf+Ii_p-4#PASDFk5W~jK@S_e1GaiEn zo=?Y|`mztdPK^qLl^5O5&+rp0LImj;ABoFj>AP6LQ0);*?c}Gmwzh5cjrZ`lXst(e!N(i7b z(|jcfmY`*2UFSc)-Q(0wo|b*|)S@fydDj(>z4y~I5CB7GU0A*l=QCbKO_2sK?IhEd zzU>9<7{g8-d#I6VGn<-QhYuUOVZ+LP{V-3Z>*Ngp!SGung9eUX_}-hNM-4*(W;k+x zblcCSAGF_5M;t=^tu>@Ow&R2mb{Bf$ez;ew%Lxn`H3D~|LFe919q9uQWYZK zm&E@dB=w(=njT*(P_@nG`0Zn_HGMV&!0FEbQ&E!e&9wfn!rt=X4*xrMl|zj zA2T_aT|j)&O~j(@E0-=f=J?ZGF6YZHJhN)~r+z;cAZIA(A2WXPVRKH2bhW|;k9 zbA02Dt!3+0uG+A3!`6zCeKQ3(Mdu4rln5R6u z^ti|C%FA$`cFM7bo_yX<9{5wBxZlAuM{V1=J(QV|nUnF_+bgT8s=t5z$t|rN;b=#3 zzW<5mKiE>%>@pKa9XPQgnzLzl7oWI*a~;*Ejx9a!v;#WYQ~=D!5h(u3tvN zkyuQpiy**7S1r4?gv;aU+i$>ixBj?vzyRImxc{x49T7VAy!C})BYBdhXtLsZa0a{{kD|Pk^DnrNR+;Sz zQ&1DIMKy_cHJ0UP$NB0&3XK6U*%cffO9H>FLJ-?8zmOWwBRJgi-&u9=tP^ZDKB4>T z$KKgl-8OPa&e^Aon7{CooLt}0v&OtIf9JaG9p{}mZD?tZVcO2W@u|F=;LVpD+uYu@ z_Ve9G9y~>l#%}xV8wXAub=EP{F1huAc_&XSD)esNTAvYc&NyJq?RUL;>PbiBW(M*y zeLdmWAKzKi)fp`;%z&>nZrGslBSt>(`;YcCb#=Bj9eH4%YcHKK|MfSIJ7!c?z`Nj` z58i%jNi<@DTfZ-K{zVs$9y59C)@>hu{MpH;osn>e&nY?sm0I=DhX)+AzujSc`r!wg zK3@~lV=jl5m6JPT=286z4d1wWU43)g!AH!A^X3W&1}+-w&fBiE^i9~mI&zLb|>*^b49CW~+{`5zF zZkh;*Xw=xTW5>vm!!;*QE$!Z2F?H&Gm{_mA`o|eFrmLnA10Qk3tgYL(|MZUAufFND8kF`M3ZgZYJF|0(c{vwLI!W>6AFYk$?TwoT z^eyaa?_9JHvFGw7i$7k!>hn-mR#8zY!i%Q*s!%8wO9u5h*)FGroY=%FJ81AAEG3E$ zpWioV;GoRR4230o&bz+?GBqqrBpjMHbm)+w!-ftYhX3LH`wz&?%^fso;MlQa#*P^^ zYV^qB5_EyLX2ZOCoUXRkmT)-Q-qzOG&{SEur@fhzooBRPEU1~7_ zB#w5HZ2>TI<%lehN2>_Pvhqr2r3Ulq0;K9D6Dr5rOHK-s=rj@yb$fC%y(gWtKimUd zw`F+s$^D$y9bGv8sfRbOTVq44f@MCzM_3ak_6AmYY-TKC#=>T-o2Ra0-A1&>i1nDs zEslM(+l*o_36&r1(XG-jH$80X;e-*18a$ZHHSyWwS z=OJ^brRXme1wW8J{*uv+#DLs*q-s%AR56uDAcA#7V=BK^8H@OaWX)ze?Qxea+R;$8 zYT3KHKVKDYsUFxjXZVoPc%**Chl>Ue84G3*!^KSlj+94UljYJ9UY9-O(c+QT+TB|! zcdYMfsp(r(SX@-twr{tJa z9jD}ykd{mVMTmK67={_s33WAl9(&};v(Gs_7z&BM31uUWq6vTU{`-D&#g&(2WM;zI zlye-m`SaiFQ&c!={P3f<-1399Yd2hU(FG1CVuRpsAAD%h!iA<0U9o)mU3dKo z{M>QJ?H-?3F1Cx>DEQKT0h9^|5C>MzW_xzg+L#%?c+ON_n@JUXxoG}}fl~Pf01{0^ z5=$Oh5O>-Szx*h>ym`keOM`Ey^{)|xLH;+lw94rzDipvn;)K0A!6^VmNhB(FZyGVY ze?dv{OV2;McJ(Ji2KAL^)Zw@rEp2s;4K;&@j4mlDUA269acO^<{jgF-P1&~5qeo`u z=Dqgkmp@waenv3hR4-(R#4rUphw#LBBcr~)!hzGRW!OMXG&ywgtu88p78 ztfMOi_T(NX8W%=a3ZJGDR@Y|VUDLL`wxhhhdskiO*6Oa!m0cUk+BQ~nY^dyBSJt(z zqNlaXwyU}|iylU%V(?=RMZ)Fpfd42i13a2ml z{_;(3x5G^6Z!BK@;fl>IEv-i!JmrlKH{@hzOd2!rjrTtrGq!JCW7o5=FpjA z8(MoZvU8q%`J-XO`t7c6eE#*7jqN=(&25oLY|bH5?|x{(&dSDEPp4*&o_^x^%^TJo zbnvh~`I*l?`|6u-ER97?xi8!a-QK)u^Ps^)h721W>F(?aN3wJBcwT}*SG>NeqM#rz zJ16J0KR&l@`^JQ+bC?~8SggCEeCNPHBZmwf@!tH``j+vSbP$gpjTofmOQ+`ZX^!6c$O=J4`!!B8b0Bzx8^_n^fNwx z0FiA`QK3u+UT|@`w1R>H3aK}1-p0c zxcEC4^Lq_SO1(`=B5r&2kAGUU`2F$Y#{J?KKer=JW=Lz#%F1%P-3t~js;#NH=%R}- ztf&s1jbmoWSF+>;x!Kv#QBz&j(gdvz!oiSHqT8@z`;I*|{CJ96?siaP2Vm=VTQm}e zpW~FX{Bhl=sj1nub0^4#La;B2y|^BWmG3TVZ*6h8UFschVXdQ7J+{uchv zfTe0s5Lt`>w5-$@Dv(-H04!h@c0>}yct>Zm!yYRsDW3nv%kM4tb6Z=z!)EXf3nRK} z#gbUG$K~_EhBen!$b(4$#J~=hLoeU@$%qjHJ371W`^}S!K3K84Y)@N9cu!sP>wkK^ zzOK&W4}}7O<~>`qcoS6eTndO=8|i3C>A zNHi9WnGxN@dK!)Ck(d!?0y*)R4g>^=B#3!z*Ai!)HSdQ%yy>^Ux#tg0Kl;D}zbNTb zdi7P8UVrTs7hiPFkii3C(mC~c$_kCj?Q35GWQM}+WsLOI!o>rw{d>(dVcFt2y(==y zg$|F1fJ1q3DDwKVzyH%OZrDGt@yEy5e|~CkPD$M}_x^OzJMWM@+6FRq(g;nhRbRCs zE3PcM*wBUEO}q(itS_Z(+u}lHrbNvF5|Uz2xG{O(RxOQTg7&MHmvF&;Qty&t7@`_b$8QhVw7FV%f)^Jo?xlF2DTRi@$T# zW#7G~ySoQ;voZtICQsnoc--!v|NN)$Xf>w;!SK|H6R@&#bT#KmC!g@n+i&I-6y5jh zhnFv3dFB~sy!6uZyxQV$3>iA?xo4gpF>2f+kH7HHBhQWUPBB_4d#EZuBJMq z63IOUC`kfRlpz&@m-6>2`xgFQND7=Pr9>#|mV}g*`|k(EDE6Ej> z%3(&gwbb<=G!VZ2#~;1lx3ox9m5U=ymfhaiP|;9VXsgxJ8SHi zv7HH5Pt2S+GOx5Sux3+TM!=IWVll%UJ)od}pHQFtV8ZBv^}rh4*4)so#|8}QKV-xZ z!|r)!@fyt=++N-8_6HL-cUzC)@nt09_A^gC{>j%?cSr0|UGMIRh9hPq$~RYw<;D~j zXO;#+BtQ`3%==5=n$w>1#uXsbzRL@eC;?@8fKOy)mtf&|22{@UiH;<^KHuqQoFz25 z?hqf%#1nGnj0lL0XU{&;?SQ#+_#N?y{WCl^g9aHqB@ANlETTF$XU1)gmAl$L+|;^Y zP2;N{?|E@?%^yG9^YRDPe_2-dmyhb+S<(2xhPH}5v2fJ+d8ILbMf285xHP<34io_B z0r+IQJTJ)$%NVv}Pdq6rCl8Fncjt*ZB2nMDu5i_{&73hKzaS56fOpkl0Dg%i#~4a3 zK@=ZXE(%Ra66%0op73RaBa#Ggy%UqB(1irw*N7f+m7sViR0raTd8f=c^Q@V>YP+9& zech&=wJ*N$StP-)@&d17PxA|JuGm>ohuQ=BmejX}F{D@+A%Ey-#BdE5((md^k3H^~ zX+2SM!3Ucjd;X)kmY!J5v}>;H?5xth1%8ij?h(_9i?b(<9~ksGva&s)U}8W?XvxPb zii-=wJ+Y6Mt(T9@Lx4P=49YP*`tnQ9!D$>mazs_xE)F18X};`q=}QJ&7M7{Z0F8cq-X24 zt%uE;J!$f^{STZmeE6t2bLN(p?ZV784Y?Bzeu-g@A3v?M-{7{EmIohvc)+0H!-kJJ zaQcj)BSxQl&Utz)irDx!zkU#zqsLAhJ$6EAzX3PibWTK^CJgDF7BM+K;)FEe`di>#s%}}#WSRh$NnoARN$efBKxtv*O zDL_$jex zU;q{dD-1t3y*d@2}gQ)-h3TcPDNmAMbFQERhsNCk(Mb7gOBY6y7v z*3-BD{IbXI%r7X&%`42x&iDE=)~(yL^!)`{xjE}TU6_b%#NmNuOs4! zcP;qyllDY7Gc)81_+1`%q^INE`F~o!VsTbhNQ-wTBCQxutojr%dq`1oePS2!hXYEF zqbJOX(_{6EOiC70tcsN_iAEn&BMxyvFyXZ&jvbwG|0zSCxOjY~TlY9k86OB)mPE)L zOc0-%3$2&slVtHv^8B$t2Eg{Z`smCpM3Pe^5q{bTe^7h z`|mASFn{5~x9|MN{O(7$ z|L|wOxbr7Jxg(U33BU2mE5AGUn4=wt5TG$meme_$m&f_cb5D~s;RJ@x%D! zWB~dFAS>!Kz$0d&jij$9c6o%L*OfRuCPDWXbdy#Nr$>1!;+F%&S$GVKQ zIi~Bhiz4u&=gvLh#FM;UuiNeRy3kjLSO`_ke%!Ig9y50?QSAs&6Gx27ykU0fcMt1( z(6Au73@O_ae6tMy*g1lmxgI zxuwh>60D*^VswGaB2Uk;Fb)MH4Mvj~557(;tjD{$wA}nY#YM#f`xTEEP!#D2$70cp zfG6YyO(5EhL=35ukKF%&11A0UnRjAxS5J(eSft_fxLm`A23 zP3i`eFWS>BZ^`PGNR2%J=a?W+`0`y_fzAGMoY+13pk}I2pbpdFOEdqoz|pcm#`*69NNd@$Pcb#-9Cf5&8oC}e^$2h4LntZlh7=tB z^1OoTH9F5Jm5@Lo_Rj|n8sKz# zw{Ne^&dJEi2!#T{pg+S8T0UQMV~Z)L8#`KC4VY`O{z(vp7EmEv3KVCONnj3v)m34N z`Se=AOz)Da3rJRCdvYu(EG7(1P-=hr*%$8q)o*|DlY74Ry`Mes>)*k3xa#WfUwqlM zS6+L|+ixuZ_r#`gP?eeBk3cFdr94O#D$_1`!h)2GIsbA<8xae|I+o6pQ3-G{a#%Uw zn7H`bD=xqS;?ql$T!y$3NtDEu9UJ3S32qtmV%1A-^iGJ0Ow!=`C7V>Y@+D-Gmqan> zO>Q8|1cNuQYme&2I}6_X!?Vvm^X$tnzx;YtZS&85e%}v%aK|mT{P@NjZvDace-w$u ztRArf8CCuiJpgVz@hEGY^j(Oii%M2d?j^yr#UHtr4Sgd|vQL9FG#v1eEjm9eLEi~J zk1s1bZ|VDQMH2Ds+@g%^f>1`DH<<19XL*8|mG!My$A^s?wd#|l&==Zqwr@1mm%Fs+ z>gDfORPFQxg5E$d5DaBxWqSe{Hiv8Lwr#qh=N4pF?cRdI1Q`efwtg+1iKPcDqMIZ|YC=XN%GHhXQ_YEtlSPt9 z0csWG=MNb&aM17ukG3zk5*Bc53^0Kpv`xF)x78dm>95A3?-{O)!MTJF0g_;b92gXG@qyzq|$ZlYHP z>nbb(=A|Eh3x5MFCHn%1Hh)#&e=mI1=u^S)pHed_C4TLGe-LIRD?0;GTR0qnR*E-I zFm&F~>+|`6i9_Ub;xot*Lu9kTa=@hpO-^)&1DdJBfsGr8s57!dhCLBOFp^04d>%tj zc%6=eCXJXps-G=ttY5Qr&Dw2^P3F3_ot2elU1Q9iaCsc|lDyEc0Rx25`{73~oX$ZOZ)SODq8@MRw` z$NZMNllFr#GrA=w2@yZUGzQY9CMT0kBZdfs&lV-j$y27>ecyfK$4>xTTpDR-HAIcG zW*u?g1NUcSWzs&SDSR?b1BJ9`6^9u|JjtQ%W>O~zc+K2;J0w(uAB^B)&A68xz{YGi z0MG~?Lu!Uj&&2Ka8VT1!&#t}q(a%2L(KKO1Up>alyL;-}-7X(S!0khioyQ(J`RF62 z-~Z@KRn-lUlHcQ%DA@3LZ0pwVxaCLB-Tj-_;|b&7gGXx)yB>>1!v=<+vZ@-Z|IopG z7re9N)6cdn{b=RniG8Db)b23!xUFwViO1!)*?qhK4~30mfZd47QD*A#XatcjoJl7V zYH*Y|V6h?O?CdPCA?F|H8By*SSQ9urX#)KzC@hRdqFm=K>tab2$SMIqI(4WLBII5K z!rn*!QLwu3_dq1lQ&C636WtUxZ{q;9K|J(~0Ik}I7of|x4 z2qpe$PzM$!;r*78GIi@Lw$WpN}@?AHmFI(C4Di(TQ+Y&RRGsh;-CifpQl^4 zZQaIU6Tr#~7ijb5&4ULIeC6dAcJA1U@c5>iZoqupzGK&=mt8e#T2-*RHB6-?e7dXQM}rGK}~io_PkLy~V`WI-+!>zJ>pLpfpzLeQK`~X<+HKDuLcR zovw_GY=0nFR8Ux2+&42b3oAD^x7*#-*@*xcL1|A<50(s75p}$NpPS3S3s$^OVV|sw z48Pao^SOOq0%nxKxoWhuwDV&#Y@dy$W)vVAjmk1ez$~F}n&eX@c+9CS6I5!d{4`(` zfrWu{pADc?T4JW0=92nISUFM#Qdp3^ZqKc^+L{5>kx*!NDptUw2!~W6-pliTRB@&K!LN0UL#b2<9Gm#|6 zD(aqTkDQ(J-)8)?)LW9>^}MB)n&4t0MI`6 zWW?kvOtd|X?M z%QCe=-NdTQB4W^55HZ=}xA1pBN>WPlDcI-me+B+J+tf_aVZPLnYKxH2YcmqQU~tN` zY0ZtT2<>z}eWN4(1tkQKh?BftUwd1p%k6bA+TojDgz5`Z82O%9Z$Jwbn_n5hjiR|?|>lS~wy0N}t%&3y0K3RDgfsU50 zj+Rc$qV3zNF&&OPY~10~1{CJI^srvBr!8h0!-w_H2>GyfMq@F))sS~-%cjZ4cO;=X zJ(|O#IlWFNA}+*Rey7W;xx5k~J5`X3$%>VPmtq}SG_1>88eOn{AgM%(J=RwI9(DAb zhkyUz9e3V&(M8|6^s>tk`absL6No%xJTJfy7txkPP5j&s%uzUsY0N9_bg!{GnkGC7 zne=f)uLx!3tfdhQx(jmx`PqKI7p6GI=+_Z{K_jXx%4swBrm@B(rvfjk(*awSq(KAl2bw{ zi~5IcmTYB#1%=C+GXAh>Txo$Nr!$cdz(8W{g=v=!(Ky;bHl&Ft0z@Hhr`^Nzfp%|J zAm6~!q?ul)-RF$E*sny;;~Y|wb^g2~o_+DP*47TUBjE-g@r1`kpUobRmlWp&10D}o z8qLcAj`Lpnxas%WJofmwk)@ZMb;QWweL`M)Znn3+zAY5Uh(?{IeFs#O*GD5UuP;zq zT8uF;_>`FuGXNZnlA_}5%*>wdj_&R*c3RnbyCW9U(Wx=xrZ^nVI6pz006P2!&K5I1 zWY8#{&WMKh)YN)CUP?wzva5xNbdXF!>abVb>F{NF|6%yMS!$?nit*`#1mfNU4m$Lj z>u&n}<4-;R$}5jO`Sg`nUHz+j?!^E>kDyiuAAB$rXw}+vJ9h5mipE8aU-P>E{`wuDs$3x(7Df#PQ>vfA-1o<3<$}6!hs+c>j0lB7gN6?L!4GZ`*5beV)h}+n^`-#>`iC-t zLxv8y=IX03^xL-Y2uH%g2EbB-uLU5wZ{hzOP~Cfth3x4l%kwPs`J@D(ifD=98N29B zCUWu%{N4Z-Hh%zdugm3fXM{5RzJS~95&eu}hKROv?H60^v*|X?=^ip{kV|ux^zBnv zR8Wv#kdu{(+K7euAWA&m*%hG2|)_k2T3b@btqBiS4;q_ z8c@)8h6b!|0n%JDx$39|2a}m@x#0FK?z7*tsVAIp{Ken7==kG~E$UPFz_0Im;_(N6 z`|DrMo^=S;?-X$XR3ZaH4bAXAUi?@q8xa|KuzljB)e{e2YDy%YEK=P=^of|6A`wtU zz@W)dq*2Z>btY`^7$o*!)WIc;q`-~HSGY0ZUP0#Eq$*lg8>1g0SepXDK?#oOTF4ln zZL}qIn4pzV)fvdBwk%NmYS5FzW*zaJ%P+m)vWt&6>WBkp9C*nUmz{s{g{Ph|@6aQU z7&dAc`$Q8;QWB<0q{^s>B^(>{6m5|{MS&&+fm<@HC8BhM;zJIOfzMu}AZ=6U(a9Y^ zJ>{GdDbb}{>?7CY+KL?sTePUKPbioh4CRJ0@&bYE?A$(qKqg$Yj9`%V+HPxWN3e=+ zqbk;E!_eUl#+~j!pOQhDIR*Y;razGB^7%ClQ^(`+dAobMJZ^7YLoFMT02UKQ`O6p< ztZYyG;pL|0R$&GI91O*wbWcfLLPr2gn2-||D8>}Vd|?&wDcC&DrtBBDiHT1wJGsPqZ}Y~n;UPX6Xwtcg^Hlj4&r<|nPTR5IAssw za^pSXe8$PVQ32}4Z(5LurI=()4pG+xDYVNODmsgVY`o)v@1SOYN{O&Jwed8W5}B~7 z`XFMGfwnS}8*?yhY?0z-ErK-8HthzAq$WEG44%BA{(u+kzlFa6dkKm1PwxLGfvn^I zt9zg{O@L7eelm0W)YaC(t2^$*lMxuSG_^${5k$b43~q;e?1cRg_qMgRw0Cy7Jbnki zSc?gZ$T8T~+UjQM;UwQe@?;(cF_VLX&meJo~zd9Ry~Cd0JAJ?IHXTANzy_te!?R8?10RaI0~mRD7kSJzZl)l^hhmsM8n zuB_Z$R=K;pstoy+)#Vi^sxGgrDyyv6jReqYc5d5MQ&Wd2#&;q@n3(XrIs+?_&<#^_ zc@Efb+PUYSbLQD+O`SH)>2bra7sJF^FY^-yK&m7hG33*!!HPgrhy;+iCh?ptJQFM? zeC(;EtqprV|77S0BYBO|)Fn2iO_Fai!k8I|G2O79h|F{|26U4jN))r8nrDQ81!>CE zX=j{q*7@h3d;Cc!WaZ_~RUQghoPj*~!=IozedFt775AeCQ%TGDt{9_Kd`kdLeXwRuf9eBqTr~Lfd zGp<}z`~U#|^hrcPRI&phhT1kh9A)Z8PDs1?%GozuK6m4~9q+yM+4bk2@WV?_9Nagr zPqzP_@11qt+yg^e;^vEvyXThECy(e~R^H}Fcw5@yp->i<0k0<*4u?-X`S?J(4D%P>f%1da%PsNpkeb}Za*Yb*r(*68HYozhEBO5^u>S#Jy{3r zH&b&sKK^h~QE{=`>$had)y?%St_UVoLqnsq#?v@(qQELB9(>RY@WyNrQE6!@W*LqSJm5fNijwnh*sx)! z7>Puio0`}GK>ED;m*LyDK>q`vM(ck9;G);m)bK6PmX5)*jCXW&IMw?b=tfhG)Lu=_ zNKcok_vGc~G}qO1wYT!yokV7JECc-q4bRFffDxMvzr6nD+i$NnB)pqkPI_WN5V_1tJP{09-~Es>a_1s4E+5Sd1kP6;Y%W4t^8@+P5$%TC8IZ z+rfv-7(I4m|GvdzMvwex>4%viUt3Glx^=5}Zr`?Y`KN;h4)*gtK$uaoMmp**$)*ZO za3mQ*ABEBj_zp>|RrNSR^*9g5FFlN|b7$cJfmI1*h=WnQNaBi_{=(KNaL z$_6J4zE9MV(1#5eP|~loqN1j?!x%Sl3j3T$7}0RWuFZo6_7AxIk+9)(I5D}{io*s~ zkA%Ai4;x%kS{jRVe!jVE+{A-<%|{+{!hkVwM=u@mekFYd^e=Ha*$K%ahhQ%+HybmQ z3{s7-lXXz_fjy!lMN}cjigF+*{6mcT{+E5v1{ z6v>B8I3C!GZgFG2O7qvk<&RPYj)fXT9;JQ=y*Ub5d`Wdkf{GvPC8u{|3A@Y$b5esS zgQ_;E)C);|tPP`LC6YuyQgB4sppFT9%;9)s;pc9r_MKT1Jqigup>d)-ttS6Z0QKM- z0Ln9x`0$~36E54~-<@M;T=OOH4YmGtf{ZwRTUy(|t|+_Y@|WtJ-i1^e1%AK3zP2Vm zH!~RUj~hS5<8&L*XwaY0f8enF4?4Wxz%emB`snX|f7nsS2Qu?yL55}~ygqMv+3u3! zqF_eWqzO}^ktmE~RxmJf_?Y8QKE1GSzj!SA*uD3jIPYw4B2l(xg%*n?45O{7CC}%Y zIyC>7X~SCfGz{sJli`YcH6z;9;kL&|^y_1bgaZz(9|(CpuI$q6k^6nLbanQSA#R^L zKRdIuIH#_>{;gM++Y(y;0fnV~3I_ErS-NC*MR}~FJ>J?H3-`F9F^9(;sI2U7!cwxy!FamdJVLx+vny{l|zS=or;!-tO?rNk}*M~umLb|5T@ z8Hmo{dLT#6c3H-Pqag=0XE3L_>G*7Wv)nj_>CPFC)tcxsJ|b<}06sbiqt2_7JdMXY zDiO@`>>V~a_lD|mR6@|pOOc4m%y>M@YE1*9oE&=^Tw-hZr`$d z=eF`4TgtX?DciBNV*8egZJWzBZrt7-wM{-?2F4EkT)1pYM|-%jwQc?OJ-aJf%PU(K zF4@r587s^Q*41>b-B7oAOG8aGnvYE|0J2~gMvBUj;->JTL?##}D{8$wH^G#28b=9d;r%qL!s?*)K``Ny> zw#2%1jgA`$_=BmW)6_h;XV<{){X@@g?cTh#qqRNJ(3pJesg}L_;i*G?&XR?b7tWv2 z(b+P6N=0>L#k{$5Qi%~Kn<8 zLOZr?o-t?UlxefD0PO4OfhQj_LzU&VmtOM5%IfODo~}D?y5;&0{(GpTj7nr{DlHO9 ztJvXC(65Rd85*25YbIhlA7Y2t0nwwkRboEt>7B8m8guka8@5tX7owD-eM;?6?Jny~lp*w%{ zli&X4_f|IZ+0TBaso@|j;ni1Ny=2)E=FPeH{q??WJ9n;Fe(dXCf4NsFu*v1_zwf@5 zw)Sh@boDWd7P21nlUd-mzx`c|j7u-Mc*&B*;yn8?uD|(>Z(%^+aKn46YpS6XHEMc$ zdT+nu4vg0Kz4txU)z!!iAfdOr`?eqc5aG99|JIt?T9JH=qFxHDET51m>RhkkFcjnRMQWC(9r|Hzl+NbZk`i+;T2KpYo z|JOtPef$ZIiO#HtqovDFI$hI3dLYo=He5gB7~Yfd8&HX<`R@Jw&))F*Gs3~ZpZ@UI zy}NhC!V%05RyG~4D8Jy+OLa52e)R_1Uvk;E z*x1$43D*}ZjC9uN?d?cqFst!N<4`ap7Xqk81V}Mi@Pck`r#*Y?;C}ckp zSO9@sA~+d%QJDF;9N@~rhMr8r3&y6-Sl67@%^(_oiKC$ z!iOJyI?E2g=YLYk#K>T;-%4I}^_yzy>wk3nFONIxb+Z>N=6wfbb*`Ubhs6`c zqb9kmnm>1TAOJ;CN)pgdmoR8hcdt$uL~IDD5~3tlRFca1FaF{^>5<|4zVem;lQG=c zS>%o;cz^+2Xr9O*;+5Tr;FZV#cM``+$WbxK>zCsRL7~exrpikSFCq^$OaYIQWD+L< zuX+>XuvF%f=O#R$bS`yCsm9YNB!wAREdS9jZRrB~K*l)f6L-(74&M7eZw!lN(d8-= z=<)Y_0=*hgXc6G~)%*VpsM6_kKfmasZrJyg?cdj8EM>IRyZ|p#=`Rt*`cW;8w-rVW&($ZW`v$L2#a+v#kx<1g~`=eWK zo-}LO*%$H)t~tlSyz0QvxOQ@=udR9SNhd6eMPnHJ8O!3uW(kf&2 z33uG{$Sx-`=rc18JQO!)>8{J0hXHUgF@fuj6)^ZN8vZ^%olZpp0Si-~9)OD&i-i`= zDS6*pRzhryHO*&X66a)!F(P%RZp5NN9kenSdAy>>D`=uBrtknVm?A{^`PBf#{^d`9 z{KY-Ly5y3}uDbea*eIn|X$}Sp%>usC3g~4yFpyJmLdlYQOAq|&k^P$v^neta<1H&g z=gnBjYr=PRZ9a}JTvBBW*%3qlAY8h-cElV+U0v<{}S*ab)R zDVVCaC$m8H2mzSNQF3`HVuLXw(sVPHH6e-O3SKT9ZK@8UfR-oungXmjA0{^pEL$v} z@tjvUmLlSLN(WLxvgOCdx&)V8WTHfwtQ_T7zH zD}(hQ=Cz<{q|*r_5J?QDT-VQcNVw>Ym^=8ya&>t;=fl#7^EspnnEvbEwCsX27wmrS zx%z5-;oM1nm+upGvNm7P5HQgN4(vN{)Aw#&deWJfTzOsE;)P#!5K7=4+P@o3bnJ1* zL(TAT2KxHZ`Kqd`Of!@m8T{^-zk2HV=Px_uZ0Ld4WIYv1`-nnCNu$7tqG)SsJo}t8 z*-50DfOq&O!IPU3LJ;&Ie=hBQVbQ;98Q-VYel0X5EPZ(ts)7oQ4UMzsFEIT2uYdE) z^UptrU6c+ac)GXTbjK$?^5^4voe?yQ z1;;Gz?d^Z$!TV1>^;E9Ag?~XgY)Cnv>4pbK9(drveftl|P`Wprowiq4Pr|HjbSlzt$*|)y=GR&a|_U~(MJOo=8is7OLA ztcp>&@~ND6c&nQB7sE#}BsEIYHD75-$abt$Vq_#SJUlRT^Q}LM#lzWjb|jJBy=OoC z5)5gXC}~1uVp9$>o4z8le*NDl&oNEcni6ac4 zk{rcwZc~nnYHl(IWHFW(#sibYS(*@|vOO>%QqHWcSu!uLIH9{z}&xW&Gz+Ayyt^ABom3JpL*=jf&Ce*0aM8-wbkcea6w(& zwEesG{Pr)8zw@J?LC1Cc4(i~SZ&CQ1Of=+XhkMqqTQkttmlzptZE2Z0W9sEszOJge zrmea0M|a+R{rkVH1+jD}l*xK28NdP41dmcl=n;|7~z3b_R)^5Ay1Lv-sHw7J6^K<8|+LTVYLr!X4v^`!|UU5Zz1ABEk7D!U8 zyoOT5Kru1Gh4=}9VF;QRbj8(PmB~{HbCy))BDF|Jtoyt`QOVMSRTR|iU@+T${jvRn zZ~xAHZ#b^*|K4#9zf{gY@F6|BDUYvW6l=bqoTCeLT;%{e;sEQfeg}B}!A98Ri5y^# zwW2IJtmzOVLnznV)jZtSQC=Rctga|4EB9&U(D2~u)vGtJS-6qebHpGHN)u}&i8zJzMm$sa=oJDe>9L0&x$U;wF1hT|YuM$9C+n20?QQB!WU>~2Y9T-A=Wl4RWM>Ov1%%O_;Vob`qG|Z} zi(k13FC4iXp>vKP=Ln8{-R}f-UujHVG^+xpQ@&RxOC*-8j1_Xx!YD~_j)1(*ff4~+ zD|o4tmo-L!odpLq-LW)@mm1}XWn%%@BZR&3fe{BP%mBJyxB06O<5OR{dw+93CltSK z>gJ@{@{UgUl1aZmpz$#b`hhH(9xpnJPSxk&)$8&)aT9fhlxSkd&cJ7Zc5rGKfpp3O zbR83&{Gimep}=S?hVF(lu4y$ z+p}99d+f>jDRZuQ$A`0yX4(AJH$Q;|3k*fr&f2FR@%!xM%a%@>G&NwDU}|SmJGX4P z=jXp%wEVb>uDaGj#ifNE z=bR6`_X9t=`))YEKfLocjrND-q1+F?=L2{B>Q_IyY-}!((#%D{K6>KPjLr*#ezly4sbTJZq53tx_VwOWF1B&SG7>}%GZtq2t6Eb z%ujxFYban}b;YGqCQqi(l>X^t?V+LmoEA31C&{6KhpTxt6?&xuEIA(*QLv+BP^V+zvC7J;?kK{>#j z-=q?xnMfz1N?~$j2lz-(4WQ~$D54M`1p}Cx>9)a~nY#YAw_Uej;d~R`o1y>ou3voa zb6)~UM^{%_c?Bk1S&@L75{Ydg{KyMp7CbxE`uIZ(+D6i83TeGPa;cGre6}%>Kp|cM zrICR5Z;__t$HDJ6Oe1Lc?z-g%GfLRiYTekb$<{dx##UJ1P z!B14w*5^yXLc+$l(A=z+%hr@>rZ3ac-I*LoSJqUQmX|x(Oym9oci#Hr^IrFsS;w9x zixxoTWq*J$m}TJWnx?!Em4F&qKi9Sv%%2-Di+*;Vr$9(*fzv`|3jqQNE*Rwe5AW{$ z#O?RTwB+|bbm{b}IMzD4W}?4f3CRmU>`KfDg-SlfBwq^Xyr4HQ<;qw-HJ=GdkV{s% zpz;3kN2M}Zq!day=TV}-k$rN2ZJ>qj*@V)i#Q!ss|~nA9|W=FEcdYOVbAq>Nz9lh!=;#Q4T-)?O54h zILe>9W*wMMcz%8}h!RI!W8;ATM_YQ`lImcv1pZIZ3?_z?j-8`rFfdsoH@ybF1{n^n zgY3G62_C#*tbF!K%PZgi?(_YQjZ~?%G%n2Am`Sz(5~(OjVh-qs3s=#tobnw`k3RCy z4{yKy$}6sX-IZ5xGGnxiKlv|4aVhz*Qa|etA?SGWj6>ENzfzncVe`<9q}3$@PM(T` z@_`j+oO)rH6wEw@=@sq7hoMm@=Q`-skxTPPM-il87Llsp0Mkj705W6mov1SMbFqvI z6(%1A#SI`sp(Y{iqvFO?PKLY`Yku~tcOPsS0VQ18U?3Qe$J$!@Ez8fZb@<`m8jg*8 zT*2`@TKo(ISfHbVfw~95M-AYbA`l9o|H4uByS6VF3?L(X;7lq74e_VZeqSJH@DZ;Z zZ}7rphr7D+*qV=h@B%oraGiJU+_7oXI>$=6cGk)|4%}VWcihU;SFSpr-yCL_XI-RD zTm*n^HkI1GeRI>neQ?cDVmg^>ZEAs#XJ2^H{H4cYnFvkGD<_mjC|w?mD?SI*I~>}Z zo6bCQ^bYVintvpe)T}T9+~b6{B$x7u1MGfk?bpLo!ssZfdJ3TTLg3)$R-JkFx(%DY z{muV<*Sp@yF3#S-_13eSHlK0!Iq^sd9AFv0=s?IwMg?}z_#gl9r?TFj8owzWbg3`|Rhxv~=mBHLIUNKjDyfoe#Y4h9BR3_jT7? zcgGKJ(KWul4y+*32i|kTPk!~QJ8!@Bs;jO9H+h7`pUGsaD(fsed&lj!U3=X%Gtr{rU%PPeB4noM@~-J+#~ue7IL3>XEQTx~M&I4Jb;pVmPSgzlhPA7gEH9q^vqL_ z*49>5R+J(aSh-f_yz|eWHE)?u=g&A{6s6w^ID2ZCcYpn>pKaXubUbEOSCy2Pl!U{f z*>mSDTzaw*sKojkgGA0K`ZqCnQX@tALV|2Ohn!LOugI-~T9%h|!;bhB9FzPcPzyA=Ti$GKj%i2_$7=hydfuod^`f3yNHF&KSjB z%0c@T+JeggM!BxV>%{Jvt4^LgX_6t=1)qFk^|33C&1S8Z)|PZC9gal*=ks6o!&MYM zW8{%@Di%R6N)&?GBJTjBhh@{LaFDNIE7-pAd?c3_^0FNc5+IRW_%l~<@Rh{EJsq9D zz2{e%k-k$;Ua@T1F|k-Ql^kg}*tl`+mgjcuzx0jQEji&7$)=d#0PhzoAsfE`aMzxS zuvJk}9gM`VYV2%nf99#DpLufqspq}!w2Q99+QZ>`MP($w1rr2Z-+-xek&)rop+u`t zB&Hr)9AG{I4KQC(Ri3{cDHgBY<`Pcs?q?c)@%XkxVi+?a2B^umig6vpVMY-+?I~r* zk#VXZ^h1z?q9(NfS<}4LgbgSC1$fG#ZwAY1?P>)6V`YkDv0n zYflVfjiBr&Dalc|zPjOQLBMLg3}CnY7ju9QHv0IMUC#klQ>v2RqsLyl3A>V{Vl8R# z5kI)2^1D?oD=}{b_@*J!Gm~XAm%%S*f(@rc_^rB@!|dWnKAHg6HTjDhLmuVj#KTY5 z!}V}2!=R5UBii*@S@v?<7JrD3Jaec8B3S3Tt{<}++*lOFAEszVD(iL(f|B19gBt|a zuwJN~#@7Ms*{lOAghtfS{k>;yIa$LXnTBRYa^BL7WsL6EF@W=E;XvA zm!Zxh{%LR}gn}P?^x>b~b=MVFTzT>)%CI_q^b5X`8;ciS(}1)P#ddS4 zR5lbe(U{<7*)Ap>xTau(j%^t9sNj;&Tg^HK@*!hR%Vz9Az_e}0&QIqDI?|leypD z(bBwX)hc!dNgtE#9}CrL(v)mVo{e*W*L^)a`S~1RDD6An{obel`?D)gJnnCQ{gW98 zs8lrGd*Ao|U*7ZEQ%*kl;fL;5#Kl}Bh!%D)yXPK5i9~Y6aVNC5cYW@2|MT&W|2waqfYx3k*(JX2`-5u-Ju5NE@g~h9_s#>^U z{%ouvK%7m+s{n$Apk6 zRx-K)LmwXMZ)$Gp=xFcl?QL&sd*+#SspN1vW5Hlybs=6cR|?>urc^SJ9a)V+1jrW; zT8X3~L!3;mV`UJiJlH9M7X*iYp$IrNDpDzNEL2&Aq;aPc0lM`#Q))S?n}L!^HJq%D zga&Pa7+OERv&2rP_~}3hhjkk!v+}Zvy87D6s`8SOlDhi(X;Y@1xbk#$`%!^>RTpwG z)8!W(GW|;uA5kl;Z!jO<{nNXzyY@|?FrVyFk;N#^2q5I;91B%@MX5wb&#ybpQRp!1el*3L>*j1IwO4@Th~0Wb<<`{1CHe+ zlG$mq=bv}+>!;0KWK&-#3$wXbqAD6YOa@Jjha!=1X(>M)DXM@zp~^81FiJ+C9OefHRQOEs{CPJkcdQy-v&WEn-|7@QGZJACnsx z!8cXcgLxNP9;!nO&H(l<%8UR9p6!l0{}dt*l*1ZHPy|%E;!|<2GzVCLvPwH}q~#sp z|62R?$n)L-MkTwudyZMWER{@t?JHk=_q*Q-C4+kP>NS_W{wiqo```b+>#u(cD8b=@ z2Og}bEI)3=v8Xxe?!h!R~;xt-bU5>#x7-$9L7$*GM@i zRNK6HGm2iZd>NQQ_m*XU=))iR)vtbCTU)nw?dr;^3aAv#fTR!I@WCJc^e5N7>6#z? z=yojiMBtnapZuNg`T1{t^TS(izWN$Ez;w3h>spnSwQzv%{NWwfT=PaU@%!Yt=z7bs zp53r+!J=c745-(xox7K>I1Y7Ox8~_(#~#bBKx>uTv31*u6IL>Q_0!8&tnd_6tf`lP z*Bsy%MzMa5lGW9cFmf#6*cv8F@~+oS)9%oZKsg1YQ;6;*rBEKp=0ZEj|M%S zwgf{8*|EUql|1C-M`1}SCD8!VT=J9g(P$JAq~v2%l!TKd4Vm&FSQe=XF~poa7-?Bn zXJ==9eVvHM*DnZ-*EtJ9=JP5rT!;Y;f)rH>QEYKq$Xi@fCJ@N&223p$3yEf!YoNdP zlb`tXTi$jxMlZJe{`T;;?RzlPX+DGr6{G@VWn*1A&q6=6$k3KpB-kh>q#O&Sd2el@3iCf}Nz<s2 z``TLCCf84b9w(}o;xn2gr=A8Rj38;)5{kdX3ovo!u(Axn4L1F#MrV6RPfrhKcew54 zRdudkXWzw)EDJsa^QAB|k7y6S!zUO!J561mHf?sivVylFk%3SABe(RJyi}maIK(vY zh0lHA(#tM6<>Zs85H6QFue*-DaNb-qV5%&DmrGEn;PU{3lnYh|2n|N6;v@`; zxE3f?yzs%1TfWC5vpU7zYZxJ8ND;8Ty)aA5S6#q?3Z-C5hu--UNaQ3jvbb=$lzG83{slhzhr+!sTj>!89jUr zCFWgB)~2B)lj&e60ykJUgN``BaKAb6`V8dO{Q*eCMqzn$dB9BW2Z=zcSzxkoh8#$R ziR3%L7~|N=l=0bUr~xD}EX*XsPU$4y#?RlrkVYwrnNYRIAARH(cmM2)E3Z8Nq6>wO zj6#nD|Hb^}BoD>MD^dswsrhM2>cM=}6!v155D9WGn-Fm)$I-b%C5SlKamggn0K0omlpN2&rv4$*Zjc0GV2hG z)Z`-}*^^bVLM0Kxy%HT@2Bconll*`G9bhN`cJ7^mtJzg6|cVx#^itg z`*STF-N!9ke*gV{32}Yp8yFgyGjCxglUjMg30J-0^~qG?*T4SVuHAbL-MHnJo8EZ! z)lv#O0C@h#$3FSvpWJoAiWPsk_fIB&Y31LzVe|PHU4&-3^r8#SJNIm?=kEC7ox6AM z4F-dE+`0x*Z@{>1Td+lwv-(={f>N)5N?|H|&fAO2&-g4vj zuYL2ihWHO?N6X4qSJh{->7V`Vr&nBYIq#AA{pnPyx_XlBT3a@)pSN%!iMuUY-n@)gI5A~0-SIKao9uoC8R{hFtj9($~eFzL)Bc&T{J0e)c=>!-MbzT%)P z7`rN$p)gBp*Q}|iuHzkG_Ap+*`NV&I{DvFeH+#-p&PHM%#OVcSfh0HPNlv$(P4WCW z^f!zlFyN}%movC>kz6b;hN|+Bq3Fj60&wxb;$=e1 zGZ~HKqD>~nuYC0@3+FG)SgD@w&P^NE&zU_p5(*|WSA=YOQPu*cq zpbI^=K(FRtJvN?_6?Fztsfs(iUPr3wSdQd@UdK6D_dB}o26+A20AqRnO2^XCMOap^ z`HMI#G=B}kgN|(I9_-;VYe6LJIYPLj);yWP1bd0kQ73ce&SnK9l^Icnojqp3y#MDr zzyOyjYR$r&ED^bc3G;dff@~E-{HyVD1pa7<(fH90`9e67u&P4EsYOy@fJr};Ul>XZ zC{YK*;GYL3s%Y*3&@qA&y!2sJUol;TR2`@MQ#lD0F2t)i#(*sjq(eq&=vOyhZ2x)j z;8NA;%YAOqM{;4`m+1hr6s1HeceEW}j?!N$iuEJnQpmjr8f40oX^XvzG)jI%sw_BV z$3&z=<3#g0SS!LDCr1Xb_$#ZZG|dQ>eXuSW%gs6#od{SKy1P&dhNA72%56b;qD6%wV*Yc@0nrYI&fVI?8k34W%6t5=NALR4omX7-hD$HI zEI-f`D+vipXdm>7p~{GW;xiUZ%I8&KX*D*Hcg}m4p7r+lNc0#;5^{NEA&*28MRu>i zl7PC@DRQtpj|t+v9X8ZW@p~SqbT0!X&DU2tpE7YGGh0xq7I@(4ZK;f359;#pGg}gZ zTQ+~9%s%VTe}J9`2NI>F@qlS&vKFGzrO}Akxwf6O>~PRTNl*@p!o=a~W`Hk413d?T zKgTEbbFQKJqLDx%nHotXkrLE=v9SNFl_uyFQ6HW*Kp>)vy4qWt z&ph)?1PV6YJN%QNBoz5P8FOj(bBq67Pv>6v5opN`Eq>`sU%C1ATP@2%rMXCOeW$Ek zdHd}*PnkSPRTPc(?eBd5>)-lDCY|xFhUEOAK;ZMA`|J(xe;;i@L6V&BmYZ+;{1?7( zt@fL!^IvyYvQh5z3#m8FFSvx>vTUhXn=y)dDR|8Reqj{r=Vv>yzux+ePcvaps`NLp<;z2z{3;`*d zfB8!Z&;~>)Op35@PCo1_IKWagGKuo@Kz?C?xY1~yc#Of*)4Y-a1_=jV(PwcUQL%I= z!wbC-gpw;W@0?RMpt37A>HqQ{v(wWQ{QYlv07cJ~? zULaObqX?0OS&(`I5an?yq86wO#eJy=W6Dye#blDKBF0f38ESMWx$$2pm!nH@VXQ=r zhmcDet0T1e>}+VURnJ@Ys{t>z|Gapxt2=$Z!yMpzS$P3onaV8I4?B&RH8{Xn#36uD zDV>9rQ1UB!wFj|W7i9#jFxG=sdg##ZE#X)&8ZF7f<+W@i)=ipTR$1%#j4Z!HOP(0# z$O0|~3USiuk)iIccAXcNIo*yVlZFwRK6_rgsvgd>l}mr?kGDSAxY05A-g25qWP*kA z<>0rLghM6KaC^tV%vsYL8rv~#!-?RHXMRN2hH=JB9t)R^B+^dK5}y}EV0B;xOaopz zVhr7nKX@Rhk8W~>X&QW&FG!t?of~ngf^}cG{(nt>SUtx?3!|zpHOIga`^~Td;uS#= z#;o*_4~!mr?6Du+amO3pc=hF%U#>1U2*W&Co~0@UDl4qT4`Z%Sl$Q`0l!U^E4selO z664^>$$1#jGy(Z!0hdE#i^~f+3J8W66)8Q%OXYfq;Atk6!XX?EBYe2<9zzvRvntgn zE;N54dD-E(NbzZ(`TEbghLV=dF<7av#rZ~OOV>;|u+fqdtnXu?*zoXRFdPF#hK~;D zK0SvCIuHzFan_d@$XIFmD~9IUPAZj#-&_(agDZtz5eV_8U+5T^*FwQSMO9gMcdwJp zriKPf%Sz8adF}__d=jJy26W3xHyvt9CPvCiOAa+QhNC457A^}$VmZD^j`E?3P!uWv z2{_|WhqX`{a{Po^|$_rp{Mbu}LJp zsk!;Szuni=)NGo;dGqG2T6M;hDU+y2uVZ6FDA&~3*wx)Td)ADy@^aBLIiP@shK7+u za_*ejSOBw}1>}?&WKAzK3-A3(kLQIQpPNh!jSLT92qM`5LBaUTgNO|@RA&0VFp_C zn$gk2%6dVhDn6(Z4qj}Yj!*>_#{dNe6Q=$@Lvd61J9w(G43(+?QKTPdGSCu_t|~9&rjq4l+kqS9q;1&6Aa7xtQ!1wa*JYoEPX&=_ znL#6CWVAie*w}bZMR}2Vh`KP8Wcpw#Cq=03vBw_0>&`phc2B{1NBvM&a z@?e-TjP_gE3`~CE>+aYWqnM$JA#f&?jF%pURGET7&R2Y67Wwb5|D?5d2p+GUv%$l% z-AvYTEtd|hKU5McNv1N9a4??opII)bKiOOa=*?OSsmE3 zcly-o^0HVcKD4}ldmiR)#3+Wy{QidC4vA?a73>vJOV9|qSk*Bid&g| zK>jKF-|YYcDh+!DgcSky0AeuL^EA%_N7ySQK?48+jN~Q+*eUj+K#v2!%iCn1XM^#n z%Mt}bkIsOFGDu1qQEh-nh%!*EtrV2onKLP^Y^V#4VK z#1OZLxhnA`0}inM`OkmeJ9`Z;1l6Tpp~!a%?4&p4T3cE}kr+D-#b#RGj(7(gk%CI` zy0Va-QxQAm+UayE3FC_bq;sosl^>l~e#fz*Q1{6CV zTL=gw%(}=C2L#lnAQ5@wGTF?5gZn^MSy3@<^3>Y;s$bvphZ}GD*6S|4;EGEx?r3js zXl#QH0bx~?6;RAo5a}wAuMX%LB__bLMq^N@^(a6iD+vTuD)u;+EngBXfr|HHsY+~2 zl0CwhXbNIHFVGeRGS9dORJ#-drz}S)Uz*PYEfnTd!?^x!*I#?>wHI7;?#h#n_4}=} z&RkVpRb7f%v83d{zJ2W-UDee!a_`r>5w41$pkOA7RM!^}pt^XgW3&_%FZo!yoE2l- zX#vIg#y}-t0)iIhu8NCJ3?JB!b)%bUZ)s?0IuwbN8fH+La0)7UL|C37BSEh<8;^xc zOClYujjfG`Lcw4l7(j;rZxTrEe1Xs)g-5jNI>^oh#&BF<21C#1MXQMbGB0#wP|ExP zO(jExVZ~8Jf`EH^@^V5^aF*W$LS7WlsL|BXc-a)C%A!!5I^kBJQ`_M@C*1Ox7*JV@ zK^`ig4r5Ws?&XxTBAyC`E|;hH7eYZlM;B0;oANz=^L;+kfA;$?(gLa!?(wh23&Sr@ z=|>an4HUAcuirCt5)E*`N(?aC&AcNoiY5BG4{Tq5+Bp|Q!qGjucJAA^dt_)R6fnyx z%POjChK2{44j!zjpNdtS>+<9CV5n(sUsromL&GVjomo*)+0oJ3+}b!i&>M_ItE%fO zt7;DI-)pBc6;;){8g_RN^|v>5^dIU@bdER)c&E8YFsM0N?}6Td)`84Osv=$*356ZU zHT-5@Yfn0n4hI6UNO;AZC1)-^>B)!JbTxDhH}-Ws*J%%A;=$PbS#uk9G^E>7!wo~j z%|m77wv=lO(l#_SY~Q+N>GEZ>XU`Fp7H1qi#l))?#iaQ=`VcKHCPrFWMXTiGX|cpu zk#J$8AT62S9}!~9DTdf|5*DN(5AM}GFDyxc14DfMwgv-ST>gZ}vjY$ma>YtOwIPzVg!ZrXDjpvT{kuj7iahja?PTESTNdaiC%M=JKj(h8e(Ap05X*#vK_MY(BVa;ljC9Rh5q8G`BS- z63N=S$&;te=)v@G^N+asPO* z2NcTZQHA|JJNNj_4`{aU^mm)yk*{TzDc<=5rxZ&nn8I zMS8rjL;y!n7y7)!ay-fzvnc+Wd<;ev!wia*EEO0-CJ0HZNI)3z$RIE26_YWiIwj;x zXeA&+TD2=lg-q(g5)scN#HoVRP6cE;DzLKFYYy;>z-U{(0wMjX02u4G))qLxu#|-k zBi*g&6xBgz6T6Cy*VbT+4(&}2_f%Dshr&VAFvF2REFO=QR=^GJ@9PRj;{4r)a8OnW zLk8V-ps&Nu4pde|0s($5ozG#x<_Ci5;lAPFfhh0(VIE_l%*B4MI(Y#FkuU(Y>Y5sQ zzW@g)50b=*$MNM3HZ;VdQRO5^i>Qs^VyJV(PXtd{&{BVY|K~pUg+Kh^FMs;uU+=&F z!N(tex~sE$!-h>yKJnDL^&7YE+%uBO@E4wP`&VIq;u}7iKC=Ql#I03DiUpy2GuK@0#klsOhF|uQL zk`;jfuO!ZyJrnHvdV7Wj2V0uko_TuB+I1UNKePJTO`D$Exoh6MdDS(wR0O?09_cp= z7v+>G&roqja>4r*#WBoE2}a2##ssNemOLv!onvrdgUy#ujA+4t$safc^|A`M?V&x} zH={b0RkeH`Qs|Y)6qf4Yx#7>1#v^cgO+8mp7OyCcG#%L0-_=%LR_WIa(y_AWKNMeT zD4BD)aEPyawfUg9oKqy;5U#GNM&Fj|kFVzoRosJ+38fsd!)lK~31hFOxBQt3j7K4U zg0#bsr}VfLGCoh<0%hL(ya*IBcx_n#_~oH!3X}>gQ7T^8yo6CQ#gZLT0{>EA)sHsV zadUn*?LL0<{W;Tr&R7R{^zibOew5*fnCtBwfL$2hyGEf>#EPjg?Phjtc=F5(FEoRZ zU;q54&#qrHG|HWyZ{SX?b@?MIB`}TL|(m7wom+DDm2eW}-AQ}%>#4Apm zcOt(!%-1&2++*ON+M)yk)=TMa>>N=r*whndPj65`Ws=r-=)k6DH!fbXWcKXY#n#rCcc;LwmeF^KB1@#x4GykDA&vp&=U3l)o%Ie5) zdgP4LW=*OO&zN5R=rh}#oSn=JOsft2`wbU2b+qknXg31>g$rg>Rz{xLwB^c67I*b` zbaZ!5pAC`Pdw|((HFUqER&NyNEj{PmIeFF<;m0or6lHWhDuA^(Pp|Rson=_IL zxc=OdS!J`Qmp}H{6IZ?NG*fdQ_}jfdz5Az6KK;y^HS0F4*)V1L^kbGCH_+d`W%HI< za~E^PVncpxu9L~^-M#g=6Hf@3`nD~b@4ferJ9cc@yL;!p{d*@*nK@_PG1=6}+BK`^ zE?C5y#mvKsD~(a5%H&WBo??)MD6G*&hK6R$m;o9#u&1ei4)X0QD3-(a!%iv(*od3s zL_Az%)`iH=*!dWhs?JnYAweB^&U96H{!I1?A|I2PMKXClt{Q3*?Hw3kFO(=nBVZz< zR0h)VoXAIbv?>x{3^(E8#SvauYRLdb4KFyVum=W|&||W`B)sMTzc?I4)xX?82Wo9; z2}YvQb;M@S7E^xdN`w%K7bMZHYwh2&-O#c#rcY~a-uH)J|NP0v?_cxuquVyGGkngZ zDbrzMI$I8vR8;!>;tvQ1__f`wdq;+vs;er7`gd|N&PK`^I;rB72rL4LyUyd!1$@$U@=%ruC8{PD*t%F5#LxXL1X$f9OY z?{p#{X?!ZUmXySfKmOS1QzzF{RcMAjG(6pMN%Fl&^vac!>p{r_ z300slI^|SiR6Jsp{r1Q_jIoasL2(&F)IK;1#MkdSE{6 zl(y9dC{Y=vwWB#CsYovHDyx7h6akZ(h1JYcPd)R@>UHZkJlownm`J9R$rMDYs3@N` zXZA@aonr8(9pI2Rm;&AdRgzKcJb%bhD9TG5jgTm{O^Au($$TseR#Tp{##$HE)qQq< zPxEs-Hg$G1*;b~mrhdkp*;aC3=jILd(`JEyLeX7Q4?iQq4d}T@$gor0Th~9(bZ}eP z)G8{gYO2be)Zl@gn=5K3<#^$rWsi0P70met`}!T%G1T>15^){nI(Bt69bi#FK^-1O z_49W?vU?kIGBdKPy&~{7g+c&O;X8_yex3jxx*b`^zuSy175z;j~enK_Vo?;#o)uVAx`ZjWlVK&LQCm)_wLv- zZRX@jQ|cdk=)q^6cx3YA8a_y>8*a|&?&-q3SzkA$tgK?&w(WKGQ+1v1M{pdwr@MXO zqJ@!?*u(ez`O$~(t0;>F0tU>AV`m$i8q7dw{xQdN zpIA{|G1xhn%fPA7LXqG(=bhf%(mpbr_5}hbt~_Pq)6WJ%M(vb}Y{qgOUu9X@yjk2 zmeiEQD@tlBYgSBO!Os=T!;-AE8oSukFH=MdN+-oCQa~i92#My*&RL3dhYlXtvu3b; z{1X!9As<#?7{vJFq%j6K9c4QvlSipiM@s_a`a9W41`Yl5k=5Ja08gqbJ!Wq8kAL$_ zV{8AhOQv>okGO`pdw-MPjAkw8xdW}~bUJ5e-uKq?x9w^A)5FhVN-~VV{P{EE@z9!$ zJ5D)q&YvFK^7OL}4Trj4chSkMy~C?FH{AQ^jtkB`b@j6cTe^lyBKnf~Gk)=xjSXF? zrjFD|Hk|XDexH5eY14M@+;++-i>B6<{P@RrJ^J|LsZ^R3*7Qs!yM5<#$1FZ>+N=eQ zhYp#6aJ;M>jfHiBoAb4`9-KaN2G(7F`O9zDta-w+(p+5m{OQcd-hDggFIYNb*8G-+ zy{&Dnlc&x^w^5J4iVhA}7G`5lOXv#)2UzURSkiwU#>i~@UX%koA;xqID#6<`ARO>N zj)oY^UD1P#3mE}}VzgBsJDf>z_F|}!H7->c^fwnN33k3uebHlhyU2$-)06e|D`*c_sa)X(CyhFHD9*7b6a(lnaTEj_q*SH^pVF7 z9ct+5?QL#6^oQU4y0Njbva-6ry=kbo8Aj8Ery;_4@I)My6e05Eh{_-7Z+OE66N&EE z&N}nVNt5^nykaQQ0$li2Fr7skIf5qw(2n9K;}Fiz%$d_Kx%9$!z32M>{>;Zd^5OR_ zoImr1_rC1|?|th#uD^EC!g;!UK%6KlK|~v!bPJ_3UI|^;ONvB~f>A|qRr%X3bwXb85|=t!p%NB0n~02->x^T+&W=oBokR@BX`P`Qo2`b?3dm{?Yfo{;6BP z{XhG5ZkU4lPp#Rv{!zaxUqn*+SE8bIlLPWLo=eGvYPThG#n`l$16)pYs+h<*QPb6cep>RS;4AM z`JC$VsTDrMXZfs1MZ}2cHa{PZN@8vq9f;5a2Z@~L^+V(-l)5HH5iu+w>@U9pm8ULb z9|K{VFPmqa-&6=Ys;j^tk8v?dFxfFaFXuQihAE6hswx%%k=`;x1P~)Gz*MD3k(%e6 zXDi2|_%UGxoE1eN08`9EE<9Ns|E^!pxcZrAF1q6NC&XeUkF48&-y>Vs zK6_Bp12d-8*_M;G(#w}l50{qw_3^DnP(SbF`9^@>Y8B5%x82BjXRZ9e+g|_f>tFYW z2e&=Ay79?pJ4?!Hbv>%-LC0}QW2LjE%>L%5-uM1%&%N-Jg<(D8_gf*;o?IK;wRhLN zIdwxr18di9L=R)9&KZ73$1)_HO#k86zp<^{l4Z*`ZdgNU<@s0)mTWdtKdFBAuI>Bx z?~*42lnS6*e=hWSmkMxmnYva)&S zfESV9@&Gr_>BWAmq7iO`q1d?>X@S)McXFaQ|Mz*B6f1 ztDk%l^I26*Rdo&6lvP%h#!DmHw`>SRVl(E<-M-~X&B+u#27_rCXkpZ(nDKKAkd zsIDoms;mqJgMB?cyLatazjk$BZy%RC+$c*i*sNS(u_Tm{ujgp-tf-{qWyTTts3*XS z8dtwOo3SiOli%}ABK!fbWjWbYHqpI)^+Om1k!ZN2Bwk)t>R2N`{n3pFc0W6J!QAyv zJ(5k2K)q_|gS?$ByR(UQpELN_1HbKPYlB{N-9*nicyQNUKe}Fdv+$S&-t$`0k)T7?5~&5jUm8Zom3PW>>G`r(W1)~N1PVf#4~RrO<*ei- z9lnuRAVDFPDG)&wTfBMT2$Fps#RP>t14`7Q?MQfj8pexC5E2@S#?#mE5+M3}zApQ! z*KbiLk-%t$5MoEq}!6Lq$$aeS=EV##Jfabz= zt)>IJ2m1Shfq)D&&VZaQa=A=qr0L)uI4b286^ZmnIAmf}IXO3z%XA*i? z@9yv2-*{;4#tmt|ZEKDZGxeyMveNBcotc~+C<|vCCy~lnD7DCf2}YHWuce2Au8L_C zaPFCY=`~=;56tm$ASsJ7P5_nYR6o-p3CZ5@gBFN5TI2xN5dt!!#N~z@0Q!@6Orit#s-n+N-b67Rh3)JxBttr?cCXI(eFV8JxMFVof4 z1veW@58bDW-RFbLXw~M%rfkO5^w8kI04umAhBo>XvDpqBB}6P1D=CeQ4EOt7ClZg(nmyO`@l$4= zP!a&fb#XwXl2w2V4^; z^yqJY_t!uF<*%DI@A&A){^$C4e)zh#-tgeVPhp}~lVaZFvSGHYi$4K*T4D2&wt_T-~7g{x8C}j zU;ie9>DnMg+SK@b9R33i)2J>X0kHIPsb6McLnUI- z$WUKLdsj<&c^S5NyabELveI}o8r-{ktLr3l3!|H5cEYtRZ0}eJ;PX8U}2|DR3ybHs7H~E-{>R@6EDm2Z)~!nEuWFfWmQPy z#Q+k?W4`!8jGX2NT0SG?^8yoWLh4~$WN|=+3w!ht2r7e!_fnKbu&E%!*u93o7t|G- zT>=WK4RP+Z>#G5t%wtZak>eDF6k_^1xA{BTs$XysgfMaDJ* z0XV=J_`dw?nI!si{4|J@si>~ZX*%LDuVLKNc=5|}{9sbNw9Ij`wryoHsjBK~pP_+& zFl@$4qsZ<$Ig4MYabu-n*TDR)Z`-gjpyy`ItvzNz?VK6a@Px9-3<`t1{FH&A*{<8w z*FAam6fr3lr)`?6xLknV3(D}9mFcKq` z2L$#)gcr_hX3QzGiE&^IBM~EAh97iMl%x=1?6CKc4>KNHp+p>LCk0IQ$RHmg$Wx&} zBtKk13!+9YrZ_dHtEoY4Dn>Dp{b-VGAf|~XC*D3KKqGUF%0=PSQN^%uOm7S-u|2j0 z@S>-eeSFe5&}FB_7^Zem*<3CXi6Sl-&`r&}@$SdIdCS9FcQ;*i=}OZKVEvUyTUl4j zTK0*@EvTz2UAbbx*{3W%<)pc3^gutltDdnOp9W7@U$cGxx9@)NTR-~iTi%OkR5zDdA^8G`@Pi)-z!{0x8_n)6xxNxf9Kv(w%L!qjwctEGyOQGoX@|HgP zFD)s0r=88Dp{Z;pgMNfjAu8jG##4y_zT<^?gkDw3A*^iHaWimzM@EL_z0qVQIsm98 z)}2A6QZ|j3j5d-aXubIHu~!Dz6(AhyB9bYQJ;7ggpvad&A7ClZK8)E4k*Z9!9TEBD z=c9RgbHlwlh0U8jW2(Gd3URPYDw^QP#B}Ytrl|*mW+W001p{#`>&q%j z<7LrE6jQZrIYGn3yv%QBaW?Ure5Qr2SoP%DrXIoAE-eYiOM)fQU_2a*1WlM`zt0{T z?1NpKI%A$s4{|A9gi!-P`!@!R%M+;60$4AR-toCu9Xz{nBPMc1!vxF;LIxnfp-4t! zI0%F)=L?5IpZLT_zxnMifANc-fd_Z>)mKKMk*cc7nyQMDSR@cMGy`s*w<&*2m0o~M za~}V3NqMN$F*49ArmHzRufTw3e7&raRA7ZP*(8i4 z)k36~iJ#z}nI@D?pgB&irLA@6uIKjdKe+#3!*C)wW$Lsg%a)#d?zz{$?d_lX^rvg< zYEcU;9n|6hd3a!eMJX;=WT*gFT1RR!Njj1w#qr+4#XIxrqGnV4t0c^#RyGyT?ar?D zP$(FS#Y&^`vXat}8RWMlG{2omB@#o+k6*TZ+g56k%OIa^Vf8p{=)Qe>p9@7w$||Z$ z;uXPgNiY-(hf2cX2qyJRCL6CP-S^yfpUZ_7CTD4E@qzPIP*A57E)Seg`H1!+UK~(I z1&6niz=vNK1uwebN)X7$Www05*;TGNJ!FInr*2_$kyO}_U6zpELK3Hittd-=6IQ}D zA1-Wm(N-KkCL_X<_xU#Q)zt=dNkyqTmA#lJ1jeBAD#BYmfQCMRBq~JdNU07fUSE3+ ze;>rc{7V8hs!%m${{dyYR3Gu{8lV4kT{tB37c9(-B>4GUj52gxc*9w%BvuiQm5L{j z4FyBqu!B|L%U6wxs;UbvJbySbl7@He!r`F9?AmVqq$#zNYTz~R-M1U_5!{({CS_%^ zreB{lxz^2D{5=tT(t!WOGfvQRRxoGijvWsL0j3OO9fa-jtugk5tCZ0 zQKI&FkjM+=Qws!R=m2yW3_5Wp3p54fRXYk5!>L2TwhUDSu&DL#>>i9opS7d-tfknbbD`)+>KwmLW9Yf^veIZcTwYc&dD4^;%#FbyHaO3Q zX7XMMKWvylr-3CS?_AEZ49zuRnMzASQzlnUnp9m?6)!CdN29QNn4sNkCgE6CUvHOX zr=`Ckn^!uHYJL(4Mjj>C>jpm_B9hoT)#$^ZP&l=`BCJ^*g7Xd^|6^3z#dfw*tie zLR^NCTHrqh<1-PwA*E zg(sXzWMh9AeWnNi8?q4OgQKa!i712-2n5XQuD$j@KmPIm{P@3r=tFP6;KEZs@rjSW z=RNPe?6S+3AG-q6DQhcC=zLL9N-fO2qIi%X=n${i7Jw60LpT%)6^tR90Atg^gGwBY z)ei37>10PD(O6k&WocPuSw&?1@g?li71NUt^Q=Y37va zv+JhJsHmzduc#?4uMPyF=x&*eg%T_~cAD5Sn} z^nehDTM^&~!hKcL^ae@KQ#6majp52}#u249o))&EEJYgykRGTuFUBj}Lm`Qt!8i^Q zKWYAc2asDxpO#gxn_GJB)~CecI2GSZ7FK#~rNeGL=C>(#~jdiClKgLGWe;}qi^ zJ*Y5z5tFAu@7Akpr?fORBYfo>uPLpl9vtk4g@7|_WixP6PdNE>ziuRkl8y_PAi&(h zAsQ>`?C3Ou=J^+0Fmuk_q2b|FYQ)ZFVOh*z=(5+n-j}nQ5AJO^xVNUZc5idzU@|o@ zH1gEb>mPpP$>B`8Y;slg%z8|RJJvnhb)Y#C4ot17u82h1wlwW}XxENMcLj33U>LI# zra#EdQ3wZP{ln{aZQO}jy`rX~w6eTqPg}>1w(U=B!$g!#+9Q35q26Km<|SpNZ7rSf zS#$~vXI=)m2#(1D_HzPLhEY}&m)B1oT>IyP$O{WkS4c$_D8bwd9S(0ARx_sbIXRWp z%qS*mKK$qTk|G}{K*cEFllDl0;m*4 ziU?K_Q&KwPbNoh7hwJ+Of4ltO-}U-jHu~@rEvwEr`wbVpZpFgIh93IhyWTpzZqEIW zHvizx4Y&P#``v%s-PoSh{h?SGPHafm10$*IsVf)1?b`FMd&325w>4JR)?RkbNpHL6 z!l6X+t=C*~{dJdibthmpKl#z?KJ$@(tFEqn>T*L|12?mW%Z z=>5WnwcT`v_i@j;;KH)7b)3K6d+(BCm&z3)Y^b+dH;&?PO;IfqDex7A{De+nCGZ;l$$0H8&@TcLS;JQ% z#1!OOTbjesnEHYX4UnL4!F8;)DBeCQ$N{MmGR#?0CA zvPxLqeY^KBUU9O#s0f*I{XKo9(LgvF>TGH2>+cPPOcd^@XSnQ)ZWv3K9jEKsU3dI+ z#fhu@x+#*3*CbDhBD`Qe27(soA+}{%iUTGp&96P<-toS;={{` zhy^!0`}xm(@uxre#eIK!@QEkaY}>wTXlUfXfdkFWEgkKhTet1(?H@+2LdGIL(F1fM zdzFAaG~*Sg&I`a)?S%kV!3!P5F^{4!YjRjd=)nu+!BqwM zQ1?=21R%~BfJ9V?B;HUw>#Q^9&Y7(n+VIdwQ&anagALoZZhQRkCm(zKiM4Cj&6_tr z5D21;RIWS&#aT{93mpY1B~qa{DUU)96&O8LA;|9Cw~;;rh{U`QfE6A3YDeR9QzqBj zIp4_0pcxF9fj}k;$JNy|Ur%S(aVH#CSzXg`psA}rz3jLXkyFzQUGw*}ADB9AhG9lp zn_J@XGCp6(*3||EhO*gAU0vOxrAzkg*pUlHrp#H)cT7Wj>H;<;BUELJKq+0@si~>f z!Apc6OHizdBZJjrXTi>^Hx79XD2(AU+EqOuA5`U?ymSb6#m>9Z~4K^XPkY0G+rj1k2wQDv+2Nr>YB=MGp`eFmID_ zr~V10Apu7jQaPQe8HNA8#)gCIH*7ri*kk9;olD+F##mEHZiOO>i^)SJN~+3NoVyTN z1R>8ue*c3%7IPSobA09^z!*8|hqWxCm~hm{iW(+>lwHU&aUnG9UI^OO)@*F-9Zn4l zJKJ`3ZrjznbNBGN^_`h?&`#=24c*V}>3wc@_kn{WyLa_vGgt-&{XRWwn|t>4WYW&D zi)Kbck+oY6v~~^+4m(}lnRV+MpWW7JXl67NSi9-ahAqtp5B5Is&BbTi$;C%2lU# zbaj30tKYu%E$;|NVx0asDfvx9KX7o@4BJ^>286eSKZy zp+i6W$uHmc@1G1sOLIQ;0YYF@Ck)9bQYUOH_C|gOc-G8W1wBrz#D54zTMA-$3q+~B zdD#mIu~latpR=+L-+zBgV{<4R()gAjd(Pa2 z%a1?R@te9Yw`+g+Z2LF&{JgKPGhPw}OJs9gd-;mf zmM&kpch`YUTMxbNn(H0Ji>>1HS)|)>olp#hPzWfxXdYxapL_40|9t%M$4{Cx8Act` z$>`D*bRU_xawVt89f*L(+o{re6z9Bl9G%p_ACon42T8s&DX zYno;_5;b%Kvl^9Gv{Lp8$#)5rN`>TSJ2m4gGDb?pB|HY>_#6)M<(lLF1z>(8&V{7B zgku2BdZ8mgi`0+pf{Hiy;9xNYz@VBY-0AFU47|CYS z13f*ZWo2)?`WihLy6v`~A9vbCiD2TkL_d;jQU)0&~V78c4Q z`*-j0`>d<4dDHCq$NcE_TNWLE#?-~9Ixc^AK&4`jvN`l}b|#B8w!v4_sER-&H=9l` zUc3msPP(xYb`-@rL83ZQ0i_D;*{c<=9OhZg@>r7=qfQR=u1PGL0s}Hb7a)|Q6g;Z1 zh=qz!g$z@s0wE%mj5t*>3aZJ_7DCKiUV@;IU5>>``DieO+NA7)4$y#H1`3fUxmUAM zHjHLdk3z1RF#>#8E>>8s#Ro=k!v4rtxiCQrD^~cc6slt=yiC>MBenzX=N5j%7x902 z`}g!1OHo~p$P4hwRA#Y$l!%DgxBsBuFgcb0Nkhd?e@sFD~{OZ|fEZ2gjkzJz@oWtRWU=--4-w62Cdm%M0s`(T(1?EFg zzGc&9FP=H?7xzCnoXzH3tF$5x5mNAhY{%qJm;K>z7~C+u*;zZCOdfaK@&o%CgF!Q$ z&cFu_=JZqNocPYO-mE*io-fe00kFvcoXB|uQ~3acv5Qjx@rbxj`VT{`i10`WjX@{IC}nLF{L`>AUE(neTklDSMvV z88ovi7EeI{CPCT0E-PcTG_{qLSC&^-Lm5rYZD0QK|DAuq<>#Dtfz7)U8U#mP*Rl5R z-yRBBOP0^grRD6i&q9Z!-b8!Scyb6U(L4!3 zmA@MBkJN3kf{wa=_;b!NE$|u+!^_$LM;%I53^dnq;Q*Ic*TG;xZn}Cft61$}_0DM- z6@j^y>M#Xx?aavPNB>k3w$DE66d1(jrsjd}Ze*{nnN(g?2m58`Ob2VsV3p4Z@=N|= zXkgSHzwZxjs_%+xE;o$8wk_)$_HK7FsbC~FbIyXf3zoLEcYf>Zw|(rh{~IYOQ%}CK zT+jFRbUUsS$_&J*6-Qc473(3_+S*cATc;Z)mH;rxw&TF|BLTuFK9q_fP5{C~;@~Rd zDD#slO=QU#hA(KssFMb!xwEV1JKz5HF$?E|IWn(Vx4x;Ri?2$|-w=?UOm3Xw!|GZQaZ~&0xtun>}@g(Qe z!yi#1FBWq)p9gk=!9YbtMKo4YT~%gfoOitQ`jU8T|GquP9d~?dTW3688IHz9{e;pd zvh!sxqvfNPs=8xp!S|Qs!8y+hdJvidi!q5RyA;T>=zxJO8cq^9D*U-UTh})2dG75W z{9sR4`~CO*va7QN?tEfoXwu}V*S`53!GO`**7@CAe){oGf7SKFFQxm)C9f~zxY<}l z4{Et}&pfqZ{rYSwolPb~;n11qtUCUrlLmVG?zruaYi{_jT)4{Ta$SUl1ci~|HZnB$ z?1qh4PMopobS|vnL!e^0TsD(hylAmu!eN%0irCC1pzwJhR-GW=RY>ZK6*87?3CsP{ z#+LiHb{_2Lhf~dUj4#7q0cz@5M#z9JEcNF<@~aC|iVZkxa+OHxsv?wgNeLuIibROn z8DNl66c>zSe6WKFDU+3isuxQeNOlE@WpRqA0CJ%kym%BYl-}wP)lhk){n?o_bXJti z*ii%~FbmBHfSeeUhCdh3a{*I}g+n!Er6(_)ea*@lVZQ7KBw|S_^NMQ`~Sgc!t(8zf9`yPJq zp&M_$`Q7h)`z4oLT9j{0KN%aQ{bmEOlA};GV@u*YoV{Qkl5rHMFZGCjw8>#|9tIjo zkb7kn(T~YnBraM-Nh#?b4bqQPRz3+wvB@G8`Q`KTD5~cLJUGCb`9I(I?2)(wUUw@)Jg}k{IV= zDVBYnMdQTHq1W(tb6~}bE7+h2-PBKAQU9^`oN4H}#~*#d?~I&r%CfSOh+*nJEr5ca zczpFA|NPLIXJ2yhC6`%nxWSRuoEMNS%QB7J*3Hi(hdY)nTUb+5qZTF$%V!o^D#a#lqyxDl4MapU$o@3`kZAO6IQ`3t#} z@LtD3s2Q)IUKQZ9Gz!{GkaJ4#Vi=ZIz{cqTnZ(G9W)t=>mNeNyKp>jS4ea?es=5SF zfcxVg-42slRZ&${Re_{Uo7TPioo^|LmLTmbU;E~kZF^v~3l6XpAg(O0!WQ%4olL;c z;5-odRX0lKREUDWgB%V6a(T?hf|-k|rf_)7ON1(V99tDRW}#7_l$)x`i2~5GFmWQ~ zD_{BY!i5XKCY?_F-*>+MsZW0#)AHIiYfe4&^u2rbwzPGvJmqxZL3N^W9)0xD>9b}| zn=%EF!X9bfQNrE{%P7*@=t4jbu0`Lwlz{# z8jOdvLx&n0_8+XRuAMV?b|`2Z+~4q%JAbn3f~)5ocP2WcEz2h*7uKc_Ae&Bhw6;Ye zk-GX?C>ctG--@cGGs(q^78xd%FEYE2txiEF0Ap2JJ`QKRSnqSww)U0Z?fC1Ce(*Ki zlnklw1?Z%r3{U`a^N;Q53CB|a93dl4gf$A4fOk?Pk}6q|N*w5fCs!xTgRE-H zgZF`im+T}8`AEv_NE`)u^1vJrk*N$z8FCQ;jLC@p2^rvw?*)=9h!$3ICL5ZZCQnvj znirR|d21tRhDxqFW$t^=oEtFA04bmxbPy7&Os{Gb8Ve}yKSvR;>-IqIa|=J53;Vvh z^ZNw{SUM0}3#Ttr(Jvi`>jyD#fHgA!%QnsdMvd6>U;x;EK+i6yrW?4R0nKNnhIVe> z+SAn;39H(8LJK1!5OG8WZ!I6<6%gUzH*^KQw z?xZv3FIk2XZJ+ba-~F;FHKb`SrdG}`oJk!+$E2<6e%;Duvzd%x8Zcj32hN5QfHTZ% zH-0!A>5RqOcV@sqYdAjJveXP{=%!3jFl2Ja*bnyx9UpTSJyd?4#-B@$43&h96|;{y zYso2o8}4tw;V`6`6-ZT35|lxM!V_;==Z>mWM*!5K>U@mmf8@c3zJKG5?|t_>FS_U= zEJzBZGIe?=lmReEs|Bv3k%S^DqGbE1hRw%e;enkp3dKADNszz<(kd{3ykoNEp^5=Z z1QchL4Ln5^N?pawN$&+E`&fBYxImmgXMV*+(Q7#^@TG76{<#CaI?Yxn5DXy^6ERJi zU*i*Ny5})knJoAPOf!RkPY;Bm$#fb$*We-veGl^js9ektw5x1>-ZF7`-Gs%tnA}-7 z@4#{amvi|ffX{#a*|V>E{Rui>H)!p7Zr7UCt0O_Jrn-D+Xn4nS`=YVRi!Ql*$+F{Y zCyTWx8F8~IIc6okuPwcC%_9eP?=SZeqp?<4RCY;Q7Nm)hk)!kD?qi#jVFUvi=fLMADeD0CYEyTJ>pq`(%_ zJNEg;$f3WZgMgu9C;o8vPltyG&b#EIV-_zq4I`Z%Ido{>nx|Gj^VFIv-gw>V=e$ln zhKU&&J>S-Hwt?n$(w37>jcxn|7Xm`I}BY>r!+#%=!7x zYp_BTMf^i9QQ0Bbd!+)H>fLlYwPf)kJ%0yyJc{*0NWOd=!VnRC@=qIEK6}s3sN?0!9s75UmDKdHk4opS=>MVay$m^ZiNGI}nQL^V# zixMw?c}OlrmPdhLlnU^Qr2wKgl?#+&D=57rOC(~vdsB*u@bfZx7Kc=lljnTl7TWY+ z=it|Vzkb`Hk#E0y)g?>nu?Pee$1YcYaBTRzpUV3xMe*2pnd*Z6>p8#?|5vwvPm@QW zmCo4;s(oImYCK#&h&k*LX#UgCD0)74uPP;-j2vtXWjY2Lp8$eQ92psLU4OJBu3`S= zWhq{HlI++xb1^HO3dVs64i;aYYXQMvG*(gqACv|M4v5cA89v8v^Ex$pJf9)q6TZ48 zpIxPN=&zXNDg8()1-lY50yyET-DIGMpmO&XbDwxJ63fvE{~2=GyoSlAySx-wb=Dl7 zGjIFSZOOt<#sD*5$xyWzAJ`^XIt5ULH;K=GmR`XdjV`xaO#{d{E&aT*l1{0Lu zHBBR(;!7>U0Ru69xVf5c^L@`6mTDlBw_T7NYN5Q2#-|GSrWon(B08C&7r?vDq4OXW z9nQt7NcTB9s*7Gl?c`dTT6=r@v$iv3>a0nVrom`i7Wx&uZpw`fEr(1x<{XR)!!-0< zVtBZ@@!-(#kfECu)wT7LruiTg{cK*6LHi*WANq$7ywNSqAOn(($aNKKE&L&X+tJeU z%5i|Xm)-|)@GI_{4Xofja!@-mkr1-J6uavi8SLM*VPk7^tL->t@zObS=fcB*G38_` z4}fAdQT%L@H|gb-44Dttugocg(6T)KGo*|>D#2f{h$NiS!8GU38b+@9z=3JAW~Y)V z)8ut?SbQs+O=ql7xI`8;WCGU>`9lFMlTLPZ_4Ic4bab@e_qY4IdOEY23@?K6`-$pm zI?DxUkSQvxI18sPs4!{+MENG5JgNvzh)hA)^VlUxC`E@t^ZY2V0+h4#G6NMFEl~lp z9keU18)iXNof8wS2bvViHhw!YokDe>u7GLIpEtL@zP`M&Z2I)+CGq&Q>C-3IPs56k zPa@=UrpezEK`mJANrb8qA45<96o+L5R&1O?@}~f_Jx(m-&1WYaAXAQn1Yp8tj{@i!!q; zxRJr@(4(1EG2ZX2m;!#P4{pBe7s9>yqxWoUx{S6qL z9GOVYcT@lY_Tjt(3}Cs=I6fnq({xwY)RYQShPe`x4!a-0XA{&ASNS-)WKc2;?Rm7*f;1 z$!juT8u;`TFaEMQFw^oHF)!-UUB?Cz*loxmwPh_`7e0t>VTQDP@SrfxGzSha-vcddci3#5wL%; z!?A4S;2vDrSJ@~aX73Tcs1AA;V=*%P=xK13SvrLxJHBKFUC6ZM2j8IK`U<^B=%v0C zjKw1&=Yw+&naG`W16Qs9)kPn1a=j`S|3nHmPy|8C0n`9&Yq)45Nr|3>K5-~cP>sN}pp3o-u~6f5ZH>Ia;YiKN#yui;2| z`5NG;1ENw^kr6gz%`?xGSJ%m#qG*qhXz;2w0`%Wt?u49XPtCpD(XM*n?9aQxhz23- zk|U2lfk;xNC~-VB7)2N^&|zNW=kjGX7v{{!$1(|oi3uHG07*=t#U1UFES$2VPV|LT z-ITD1-MwdDe{b(eCmtUN1|&Xb=zhb5Y_?&z&piC_NvEGRJUkK(MffUgzF(mu7>Y!q zWsrsQKZJ3dRB~iwxGxe4L?V%JFf=eQ@QrVL^F#lB15AA;nflFd|F~}bW>{whl)|M1 z)$7fmQ~>106vB(69@L#i@Rv;3E5B~M11ymfKoI~%G^49* zxo-XXE3do)-9+^WSrw}4P+bxr5XG5{QC|9()FSN_hZUsDc!02y5C34my^3egX91kQ zF$<%^qVqV8&CA$5J-Tkpm@%`mx*7|>rzmQKw=e? zY$~8)3Q+M1>=cDl$*$;CJWEnl5l%uh7939!KT#s!r3#8kRH0tcG-Rq64^$55M8yn$tNANGbHRB)r2NF6mrnR&U;_h7y(`G4%V)Q#B6W>R@?w<3Jw`5d z8PPN5CY(><4~80lY^eNn zU0b(P2JZmFtWh7V1sE6F6vV}+NT#185Jh=m1+`$1&cXjY3o(*DzXd7N>3C_WidGoc zc~q0A$Z>m>q)-T|$l_cCh(}3Ak#AWd&uttPN`b}Zj4X38xr`N10Z}SrApjJICjipe z&t%9HqqttOa^uw%EuuT<9~^0DDT3_<3KbM?kkZD&P4n|gD2rE><_Tz=oQ?j5;hS?E z_9Ar0obB2cJX3_wJ?PN-bWHh%W@zZJ?60oo@?kpg_1P9CGfbeaYlFF=o0bJ$aH$RS ze;FEb8AawG6p8@DR6Q7Ayui>JVzeO+2|&z;_t?XwrgHE`NFKsLbvYF+OhNTZa)1k< zY>-1$2giZ~yx|++Nw365pp`fUIdF;|!_j(}Z2uTpixqTq^#jhYIlwQBm#+a{4!~qU zNOW0DjqBE|E~~1|JHV7&38$VpG&C3vM=;|fXIo2aS!tyih|=|uqT#v?4G;g< ze|-{@Za5I+7b!xariMf3UwCFD6bc0ck39C&?mY*wp5U@r6)g@hb*SW_!cjhFLeUGs z%c_WxtDXj5ts|Ea@~T#RK){nDU?LjHOn~|5U9SQ_oLA2O3&!RxRAm&S9?Ck0ZhQe*F?U!77$(*_KhlZ1V z{ryv?PLU?y+^3pXFkT_3kDbk;gkUg;Q?=$O;BW;p2656f2>6v3&1#^7fSIQ1g^XDH zk~`RQRl!Ap2+T3WuEK{8dBKSKlZs%E9+OR{mMmR_g)B2mRgj>E>sA!AuH$dV_>9~B>k;_P`!q>e@sMfAwv9o0doshA=X@E4#FxNJmB+V!9G@!vbT zx%TUqm(Z1AyC4B2PALDY3#h6WqI!;gb-*5fbbuFp*dNuty#4>iIl!ucUa^`Ss~_$V zvu}R`3^zOnWy1?Js0EAwMzU8OIzq5Y=*AdJ=uP~2WWdB|bGo{F;K){#*C4;c8)BrA zds)mV3|+aTm@^EWkIne_dB4HI0eG;`XI++Iq@0|dOJ&orRp5wP2F$R}7cC3aowe*@-A7*tf){H;1(efRI3)pW zk%Wu}f;2*di1-7of5rfPEnqfxK)g24^@OZN3RWV@P3&QA9tQ zpjhRLU|2;<5<`c{h;vC84FIEI$(8R&qwr3}K#i$*K`I2Gz?@+{vgyGAdytbNIv5r` zGL>+>rD<4ofC}nF@51cFTl`u6GTcP3wz4SJb!@t=Ru)rGBoef&l&Fu5f(`A5Igk@P zyx*Lbb@_5~-3Yolzhyh7KNJi`r+wsClUeF=FZYQ(m3l zzvPMtgv~53nNVlTSY0*4on7)7#PBIWX9lOl6vy4{_n)gG~>`qA_uASRxC`JHVVAs6L+Z zfpAF41VSi09b#>hcYvu|*)zdx!kBu^0G!{*)M-;^PM>z>s&mZ{{8;Fc&*WqJ zh1i(!)J!i`zy?W1>*Dx*yS8mlBoZgCTqz>*E+IV>=^;WgCQQFG&xK%57L5xKDX09b z0;o_CoMHM$l&sdk8@-oPFshG=U=D{bjNWVK__P-*i{8%13v(Dz$VRuBxjdclLXr2T zalZ{Iq(?v^x~7zc3r&e&8OWHkZGP@ZS{8c+3l8uSI>4jTOi|+&ssq*#MuJqGr%1B) zC4IS-AN!rpNk09}H%GX}q!UL*24S^4kqBo&YU$b7%9b~KEsEb zy%K4B*gZM?Z7a2J*G|XEmXt)`4%=C4cqBc0!NMuiW@Rj^Z>0YRzq_L&-Jf>SSvy@; z7Hw{6>FMr{#>2Xiv*7pgVqGo}3Jj%^p-?~`p{5rdFawyyV$mp0VW+VWK(B}6lTByJ zO2a4u_J@8l=6PMWGr2=eofUNzuqD%{Pd;?0)v-`jw<1z{{InC^ckzb|zCGRK=%vY4 zRq)zWnHF`LubujdQ1L`EnuXSfRu^H($z19Pio$LT3T2H0;tNSdG|GTrhdmpqU@Z&a zbSAc!DUwe~o)4&PT%n#_Qb|CbQn8X0W=EQ;k?{AJsEiB?aUrk7dYL^Ig;MhIUX02G zaJtg1@BHekySjFvf0}wA6bwM0e4;It!F&}C2l+fZT82w5zU>)30R6$x^i(2+<&3GD z6(yyqWV*Gpo3}_bx2z(LWlS=W0dq5C#7d%8)=DIk=t|*80E<6eCOFMHNU`M@J@COqskC!+_F*)E@ncY^akWb+xrLpC=A5PYT-nX8oFzlM0b}~tylX0A^m%=jSDj~~( zQI}Zpr-ctsc@PVy!m{@)9>P44c;%wANRmh;nIK}&L9u%~JDLt293B`R=pQuA;GFpj zh6YDkTiYj1nq+0NyLRrHIdc{~G*1Kw!w)I>mo7QxxMP={cFHN|o`2S=Rj0JJw9TJ4 z>y(pEo<4p0;NYNT*_1&bW%EJ+HkK;|L#Gr?DL^(r$T?wvrm(4aNk@QJLKQiGQ|6@; zMKm4|28}c&f49ZvEP_Wwpg0ebLUE|_FvAg$NV%75gMzP|!r%Ml8N zqLD~67Kue8*Ij$f*=L_|&beoveb$*llgq47Br5Khh@bzxx0=rm69c|3i>j=yuBojH z7<|T0W$80$W2%PSi#iRREc0Dl>bp6A9I6PbpWm;kWof10) zXTk?SWI-?>A3YvI=A{;j;i*7QxJUb_bQ#O&!TviQ+=+;Hp1&x>mX}1@IjW9S|0?j5 zaCCtIfWM6Iu^aE#0{(N}e-WRyl(JM4FrAI}Do~@+4?13d{{VkABT%vNg?=_dL+pI!6Rl4Z-69D8DQb$vx;RsG~ip+I2UrVTIyWtG+JP;%)-j2^ln9qfU= zt|uP4Z}Eb;%a1|7sIsog z7c_lFAY2*`$78{0X|SZ+^_k&F%rJuSvT98W2Sf3oUUI>i*VNT6=pV==M*JlebtR?s zeLab3b7%R@NVp_!2IID?YeqN_j>GS%pEAh|24HhtM~}xVFx|tJPp+PN{EXvxmyYH_ z8WJiHRp5_N1Y9%;tCjlx>GRX-u(^jZ6rCS`STONxbWQRu+DjrZ_6$yG3P@E~G z045)Hm9|^0EW8p`=OpA5#2(86L!c0*OGeAa+&twON>qvYj^RP5BrrC<056+Bk&Kez zd^D4~=AKVQ0ytuJ+SIVVE79ZFZfZE?WLa;GxBcBr)=sBvT{ru>herm}Q>RaBZRt&n zIOsc>jFYuoGZ>D>D&GJ04>UG+H?(w?R8;%*ke!2f95h2w%?t*^@w9~**l>M;Xh~T% zV-F8zOuxyGZrQwEVyCSIQ;(T9Z7!VQEWOji<;4Ju&H5R)1ia4^^;6KjgQ$) z=5+i^lTp{AOmz{QmPMLDX$lD=LxZzt%~DOn|9>8e8jms-POy-8;^qhZw(pGhooB?< zWHXB5T>nf+ho&e{yb24L#EB6BFZ>S{_o(Z~%37~Ez%K$vy#Zbh-$veR8 z$+=DIH&j+unSmgT1v@tli!vhU)%-Dsd5%~5d+T$KADvoO7(YIss7TKSsDvR3^S1))G*@p07X*dG6S&?IU55+DO2I4 z@q}mexsZ*q%+0-!F#r?Dr+?g>rNe30ef9OV$1Gklcm9I;$1I+|XelgpNlDq1snZY$ z1Ol^W&j|#Bym8B{atGLT2m1QfZ`#z+*)cfO4;7^niM7wH{`6-)cH(izp1ShH#>S>Y zhgy`p*sB05lNZ1{MOZ@PfFeMWzqMY-u7I$oLlW`NJ1r(t1_UA=Q<)tqe_!K zxv7Alp#ITP6jX9?7$}_P_gLozO&^7H7|M{_xee9!exax}6zwWZVyPtd0)mPTk zRtHR8neOcD?CBlgx=L1ms_1-xt&3Cemdz`OX-LpCoo_EzWlApTw+f;WQbNtrK?ucx znqq)!1@1L15{XpR)J4n6K!H^DWQLF%`7zmJ83-R9QC3?^Lw|33Pj_23ITDMOx;~wc zKqC)X7qds%?0y=5&g7zzao*R{={Qy(6j2iK;A#Pr_=q&X7ms$&tix zfbH6vYBgrP*dmA&p2)(KXUd(!9!GFU`FuA&ur+Ad@4jG}DJAljHTaFP^YTeuMq^(p zSXHk{$rd3Mh6DhUc&&s@Md~~OzyQOf@uC1|kIjw{r6k9{S5(rn0B-|C5XP&XqXbkT zz|r&{-oFDyzw5%qL6oWJrNlg^e-Y%XeY64H!2!Mr4zPCi`!DpHqP60(*m$o3HG1vs z_xJVnW6Hqn;6>A9dh(CfOZ+!%v{t z(q_75FsZtd+IY;Wu8>mIaHj;V(_o4N-&lh#OXs3V!|%a%ss ziGHiUEjiL{^|ucN+(5e5e#`6MAM!^#o4a;z-f!fh4bQa=cBZpK?m%azt0B?8r+2tL zJ=ATL#%oi3_Q7opiJo-x-j2T3q2b9)xi*1?|?@3`o{;Pi=dwbFkaBa&0?Wx)1hsH)6`_FRLu8 zsH{4;tGTZ&)zdaS(3_gOVD6^%yM}u+Lj%dK*1q13LBkBzRZl+ejC0nk+t}INn;yw9 zzH6kbb8yk(C4D^uySMD`Z0T>^*V)iT)j0e*2f z>J9L603t$8^xoE%)=)Sm>u{c`TexLqW&D+_*LC>_F=lX(%i}GE?poa~yOTq0@vs&& zVPi9apivSpiIWPe>xUl>i<%yabZwg?YlAmj{41M0+SSUM_}sD^K&eCOr_G<_z8N z$xApQYaJqvG15k3I3wBTuYeyZ)JHp4qT*)84)N@4Ns0$Dep+ z#^U^NC7%hWXUh(WK0!5+TLDs>w2_2?aZlVSs3aB0w<(VKO%lZC z#GYAVs4F{^~ruh5;)mmUH zd0cfFK#d(#$TV0pII|_uP;1k{{@yMuVSVy#Z8g>;yVt;6TWMNZdATmPnk9~P#Bv)8 zu134e)hNd}hPT;vuiM zeBdQPl@2jnpKaUn>J#Cqs*N(FbI|+cK7T7i1O|{udO!LQ!hF-7mro>?ph%e)nCC}^ zqNG9&t5^QKz*i}ct?2l)A3nIl^*QglU`Y_-s|0{MIr&$Cs?X5|nYtPOV>dmZnLaqc z{H^G?vOJx?(ovAPx3>?o1%Lg|?&!&0R3p`U+08H_dGX0g?b^ETqDx783P zK9x-mc6T=I-Ls>+v!#B@wAu6Kw>Itzm;o~w^vP?1c#TVQ)<5<5MHgNe4#&Rx&ChS$ z@$~*ZJ2r1xyLQcE!$Sk}=PsC9lZrmT9TYow>KbNaMt5hI%HAMx3_fEJuuTbJk^zWDr0Ticu38XFt7@2RbJEN%vooza&nmm9{j`OPdu=9@6O$OceJ)N z&X_*Ewr-N&$!^@Re$M>GN==>*42?tktU0fY64-m!u_fB?A0B)~IKWEmF+xB}^mYUs z|Kqnj00;Pt_r6jcVAVOXu|oE zG;OM1UNDPPJ`u!#+@O;Fp0iUejobUW55}Wrd+VXU{^3`5-17bJef^7f-t?`8JzHZX zv1l~V*SnOc4}@~Boe`tg*XDn^>J}uy{<1a4mN~2eX3*xNa17+zpdvic^fBxr{aTOp3U-Q z5B$!*<+>I`MLylgc`qo068!#HB=r9Gyz?`k{Es(Xb;Zh+C(fQTbNYK7W*R*t+Jpmj?7Z`Hth4NsTs?;LzDXznSc<#AzW>mG}DO-n= zCRYsHWBsP7hqqA$<#0->&z3v67yuoeZOtvs?H%nMU0seZH-G-T$#tdMx31%Fmi(B& z;VUsWJZe`sz{8Elj8Gum+PwAP{xv<_4SK-8X!+v$$(6fzY?Pmo=jhb&cUbus>abEG ztg5nfCzQpj2oj4ue^|{9A)`#9)tPEudE*uDNn-#?DuEM-gx)`B`&=`?x1_LUV4v5> zXsaOrMZo|tztDKw^PoUbAXcXZJpRN}7hiIjy2B67Diy)+e*dO-zUPK_zUO@(`@|=2 zy6MJepWS3x8U99*WGue9rR75({rH@D3unxj`^GoDdCi*D4#zA~mA4F5 zB|zz*C_(iv=^4BVhKSLA&1fFvxpDfCefEoCah#C z5;T@Cn>%OLB+&S*tmd;TtKu_fPn}d(of;VOWh~Qg#A5N;^XAr0s;Q_f3rB9<4SPUM!Sv zmU6X`p(Iv7yP%fiIWAR8VmO>NjdNdNoT1eCRv#+dWqj%{>AeqYY?ca_K zCqFTqbS-=S!kLSf%;dCUXEeX7nR+5MeC(-910@>FHBN)!fU7$WUny;6(pXlx3+K*x z^x^xLFIyarn!ozhosT^9$HYhv`nl_O`Ukr2y5pwqu9hiNXH1_~bMU|(6eRNV8t3kv z+fO)QIU@e}ySw-9-flbDoLm6y=x+JLpMGgOnFWiM4Rp0O?B6Mqq4M{o+7lTU)m}B3@X;brjR8{A`G+OK7LyIaIxU{TNyCWUEJC!Krt8P{I(hBsY(MQvTxr~m6e zet6qW-}?HOPe1J>gCC_J@&XXzqWB$Nog~x`VepWGuW~vDQXx2?{8^WT$BD;Ws1`yhRS~O76f7ZPsYA(&zH!=Vr@ZT3 zZ-4i@u7Cgg-*NisC*OR__rLYcum8t?eDt!*FPl7ds-K@mU|E=YrK0|=Tls=3;RKP# z3&|ep1(osD)~;Rmoo{}NzYEHPG+te$nsQM>axoT}cz2q9BKGL)a)VJ`L&YDflLne{ zv8qgGQm$id-m>|Bzx99r`|TUQ{LP!c@U@#h|JCnp+`41N+)h~VQsV5(-uBnyCQInM6qfjwE?)etaRwK!VQH zmIswrh$%GRD<2}Mx1MH*L!AM{sQ%0VBUCp69sb;|_NF=W<|T&u)~|oEqO#QB$MpU1 zSJBx(G0@-H*!WyH5*`^G(D*874tNZ7zu%rYYxeM9*V;7?g@eHWrdJqA`Kc|&`>s9D zH8mcrpEf5DC@Bq>mPbnAn7Fn-lS=ipb!)aiYy?W8F*wGDcJB*^ke8ob>OR!!Pg`@R zPx56m&piA@MR}>I`?Bc-Cc$Vl*xl8E`8pa2hJ%`^X~TU(nZ!_Y)1lPJkd|`-K{$Ty zbDP%f-t=te!A5u{FsQnr2h2b$S{5sb7g`e2mAq0w0Y|lo`tq@(0iw7EsDx1s7xpSp z2m>lyh*7Oje5wM)C`2M4kZb*7J|Q+XKyg47-un@luVb|>csViCV?_zd(G zSPkQe-j2RY#pzngO5Ok0zc_Yw`HE%FZQm^O0_%cVOV@LClPB-m@oax@H)1#rcsYpk z>PTwv;fMZe1kH;tyX23*`Z<~fl}A3g(_2u>I4Fg44{hOaB)WeXJQ+C6vhDKnc$S3o zFQ6(mrVG4+AaZe+=pM=TC0V1qsQKy;#o<>a)a|v`@UMrw;Z#G69hGZnp3D7Gfs8-d z_;z0lZe;zWdQ&qVe&|8V%9fVKtE#H1tE($3%fr#&mQ8DP)2ObmJ-BBp7T)~n9IUV} zH{8=)8q)(2-;<9%X1PvTd3h;v3Zk)+-Me<6?2@v|_NE5$I=qr)b(ueVKG3Y97&QV} z4Uw5M5~l9d;jv2yMEHq)}BtMkxRa5MDd<^X7&9K zJUn3)m@F49uvbeSlySmIE8q3L8~mE*hm%Zh=z8f~K_KjjP3ahxp2jH@j&4!cm#kc( z`W@R&8(L1++>M*oVj&SUjeubU0-;38`q@4AZhLOu>^TcIZQOu}^jk@K6r=H?dD zmkeu}U;Xm7q5dv2U~0OF6>n!x?=SB8<<4C@CrzHz*n9}Rh?PM3(tEM@?jEQolc_%X z?II`i$R#r%BFo)hWX8d3YOWQ?j47_;`fSIwuu65DgzNvtBZofomxG(yQx@;C`&|Ak zU-U=5WXZw=RChk^XaU@Lj~fCxTw$t0^LyX4Y16K{>J9I|;eEgV%{^cK@>g!Z?T#Hg zcc9A1@u^S$cO(@0(;t5G_P4+Fiq~Ip*Ijp>edemqf8mR^Wg)Bd0alm3sp#$b!J;SH zCW4Blh*Ul_&$jTQm9p}xdkrrDYEJaUuByxfHOC&y@T(7=*z5qR4;0k{kqQjU@(H0x z$nfh(892EoRgP*M7 z&qMrt%{*Vh)!5wN`pn7Grgt=VO|7a8>UzjDb=y~N#C!KPrklHS{mFox8}91QrIVSF z)NoH_j^4I5|_Jb1wDg4xmc%dO#S%US6BeMhC{I zY%G*U$3e1;fr=^K7a+wF-gyxUl*L)bGbzeQQ;Jp;v#i`;0F(vdaRKb*nm0@<&ty9s z6V;HIkk|vc79{i_byPa#^?O=#@Rq8>d-W%?Y0I_Y^X7aGf_BE%O-{sceFr-GLOCt$ zYRR5qYbZUrqB7|E%OjD}a5R@p!xPr*oCZ%i=L;Z@ruFp>q>|b4cs!_?K|K&JDXA#jD(+MSphu{Mk zf#AqsFP%edA^?#;9uBVaaR7nP(Cjlz`_EMFe72q0wS5~W0@tc4k7#`SlU2Zy0-NT~ zWix4qZ?Voeb~2Ys`+XVBpD}bx*D@!bxJcJ!veSH#NcfCZXDnH|6drp^Yscy}8(Z2t ze{j>S|NgO0yyM;Pd+3qJvueh}mY*O!wGnh@L>@^H#TK9nFhP<+ z;Zy|*fE>@CssxoiH`Go7{?3nnI`e!r=4!!kfun~^hg*U+#zrsiTp*wk|ThzItXWB46@7Rc|Q z&*ySjIwXRool5i#_jT69BGvI|O*~o=4V8w&CE;juQ!|!{)iq`NcJK6|YgsAR&bXPx zmi14U#q@>)yHbP0m8CWHRrPh1HB}{*v2aN!5Za zBH3Fx-ncM#(*m(S9ql1HY zgQ_>)gReZ%|ST{o$Y4+!XHI2!x%m%g-l z%eDji_midfL^V4DSSg-I3FJo8r=;Z~3VM|YFXreL_pb}8OcuB5iIK7J8t+wtyr`;5 z5@JX23?fg9dPP1gvtkfE+>MuF#tUS#79Y~!PabScNI2S-T@outhQZ-M*Oq4=_;|Eo z7-7w?*VNR7BXJAE7+#o+QK*dHfU&hmq{ej(cm)w75ODR(VA4)x^o;M4vn~iEoMcOP z&%qYmXD?bZ8>7h#nCWC977GOf=C-XnAx5+$#_u8Y_fD>#)YsLM&1NFuh-sKGB-sqV z|7QfW=`$u*R+mD4BVd%*R2;K%>9MO$n7?#UCS|ubc36B_7e+L%7K#r-t#Eb*xB?JI zP&qGSF;TO7>dLFu!&u5uMoPU@{scN7O;x7_jEkY1p0hfdM5k8;INf-V2oE?>&O9>7 zMm~}qHo{w+$Wmr(O$ZgilzegMOJY!5hjVLyzecmPB?a;sk^teE8xTI z8GySBpS7YquKV@!XxVVjP)HBym_KtyMM>4%>2v)lzvk!_@v6EhGjw0bPG@T;)uKa$ zLS|Vkn$4uJ5Yr6IN0_jvOFoz63-wH=QmPr)LJWBtBY7S?Cj~9IB)+ncpKet>C@K!By01iW$HDcR zS;Nd=wSt8%D^ZXcfmeb2F9@uXywGcS^`p=!WvGdf<+;R(rQl;%G_7*SNlYn?Il49d z4$U+oBSXmuX5E^qcxh=M91LL#hRi?+&a7o+>>Q>|H=W^!2WgY#?rYjg#wsdwSb2Z0 ztgMv&ax_*Ffzu3o95u1(x3gGWcJ*}10#jsT$rOTu9SIbUGQwsupZbg`V^9mGCWnXj z@7;~502Y?(3`FVhkqo|x$N+IJnH&iR^+?!=M9gr=ZwC0FkgRZ(68JMoOe1g;F1_TU z_q_WZpZ?4zzVn^0fB*a6TDoMx)G5Nd>t&Q2bRgy7XZbZap~9q80Y!sE*(Lxh zG!_s$o3#fAM~0KhzQG~%o6}A^<%%obaLqN>eCEGDeZvj!2}i<#U?^=__doc^(C|oK zU$3tF;_(QI_c*A7K!wqz*aJu)PaBA|C>z3=x)BWU8jBtb>)|k#idrOQMB`?xJWx_; zmQ)2wtGUI!y%Dc6ORLOym0nV*$14M+-WDydt(!6@S}~(?%HofI{`;T&(holK)tf&3 z)f@l&Yd8JRH*WsyH*Y-m%D1NjC0D-rZOczSt)#ZTq;_(wW>Q)G)VI9v16swbDa$W- z?-zdZ-Y@*@17E)TqyPKM|NPc3K6m49|M#}vUVQBh{#f0)uY2RP`HM%9=<5Bh z)@%Fw9RGmr@3*x9M;`!{XYGV+Xmp&zvZO(WlO`AAv)aXN8*T5X;7x8&vC7Z zzMEHm9yAX5?eB#Y!=G1>W6>B?%<{r>^bn&YiP zCs5tdZN8Tkv@xm*2+4`ppHYW=_hu>rIOSZz>B*mSLb1RJCmoM@$AZht=OOswH;p4n zFR!RU{?d3n91PnwramL*(|v}CZf^v`mtOw*q2WX(L(kcUGXV-aS6Ws(@0b;kVC|D@ zD@!YKwo_SJQWcH4sbtfx9oR>sp{X+`cXjudRh6{2cTb%$xxBWbenx%&NVwTKxCRN4Xr~x!`4W~#9WYavV&R2 z^@BKI1W{pS5m0~CkY0n*9?Jy7pr

82Q7LSA)>T%tMAs2QgybpkMR9)(ktRNT7? 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 ZLDaDqC9Qyd8y1hx{%T4ZFt67rX8 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 z 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%0AC?@+wIoPi&_q@`w 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 KslaNS@@1I9 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 z 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 KM7u%DKIT8J7m0EJ literal 0 HcmV?d00001 diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewd b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewd new file mode 100644 index 0000000000..9778c921c2 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewd @@ -0,0 +1,2974 @@ + + + 3 + + Debug + + ARM + + 0 + + C-SPY + 2 + + 32 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 0 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 0 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 0 + + + + + + + + STLINK_ID + 2 + + 7 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + ARM + + 0 + + C-SPY + 2 + + 32 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 0 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 0 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 0 + + + + + + + + STLINK_ID + 2 + + 7 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewp b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewp new file mode 100644 index 0000000000..3c24caf09d --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.ewp @@ -0,0 +1,2239 @@ + + 2 + + Debug + + ARM + + 0 + + General + 3 + + 24 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 17 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 24 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 17 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + Applications + + $PROJ_DIR$\applications\main.c + + + $PROJ_DIR$\applications\xtal32_fcm.c + + + + Compiler + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\cctype.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\cstdlib.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\cstring.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\ctime.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\cunistd.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\cwchar.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c + + + + DeviceDrivers + + $PROJ_DIR$\..\..\..\components\drivers\core\device.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\pin\pin.c + + + $PROJ_DIR$\..\..\..\components\drivers\serial\serial.c + + + + Drivers + + $PROJ_DIR$\board\board.c + + + $PROJ_DIR$\board\board_config.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Source\IAR\startup_hc32f4a0.s + + + $PROJ_DIR$\..\libraries\hc32_drivers\drv_common.c + + + $PROJ_DIR$\..\libraries\hc32_drivers\drv_gpio.c + + + $PROJ_DIR$\..\libraries\hc32_drivers\drv_irq.c + + + $PROJ_DIR$\..\libraries\hc32_drivers\drv_usart.c + + + + Finsh + + $PROJ_DIR$\..\..\..\components\finsh\shell.c + + + $PROJ_DIR$\..\..\..\components\finsh\msh.c + + + $PROJ_DIR$\..\..\..\components\finsh\msh_parse.c + + + $PROJ_DIR$\..\..\..\components\finsh\cmd.c + + + + Kernel + + $PROJ_DIR$\..\..\..\src\clock.c + + + $PROJ_DIR$\..\..\..\src\components.c + + + $PROJ_DIR$\..\..\..\src\idle.c + + + $PROJ_DIR$\..\..\..\src\ipc.c + + + $PROJ_DIR$\..\..\..\src\irq.c + + + $PROJ_DIR$\..\..\..\src\klibc\kstdio.c + + + $PROJ_DIR$\..\..\..\src\klibc\kstring.c + + + $PROJ_DIR$\..\..\..\src\kservice.c + + + $PROJ_DIR$\..\..\..\src\mem.c + + + $PROJ_DIR$\..\..\..\src\mempool.c + + + $PROJ_DIR$\..\..\..\src\object.c + + + $PROJ_DIR$\..\..\..\src\scheduler_comm.c + + + $PROJ_DIR$\..\..\..\src\scheduler_up.c + + + $PROJ_DIR$\..\..\..\src\thread.c + + + $PROJ_DIR$\..\..\..\src\timer.c + + + + libcpu + + $PROJ_DIR$\..\..\..\libcpu\arm\common\atomic_arm.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S + + + $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c + + + + Libraries + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_clk.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_icg.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_utility.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_fcg.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_interrupts.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_pwc.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_aos.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_sram.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_efm.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32f4a0_ll_interrupts_share.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_gpio.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_usart.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_rmu.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Source\system_hc32f4a0.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_tmr0.c + + + $PROJ_DIR$\..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_dma.c + + + + POSIX + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.eww b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.eww new file mode 100644 index 0000000000..c2cb02eb1e --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\project.ewp + + + + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvoptx b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvoptx new file mode 100644 index 0000000000..b094ed2f3a --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvoptx @@ -0,0 +1,1100 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + rt-thread + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\keil\List\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 3 + + + + + + + + + + + BIN\CMSIS_AGDI.dll + + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 ) -FN2 -FC4000 -FD1FFE0000 -FF0HC32F4A0_2M -FF1HC32F4A0_otp -FL0200000 -FL11800 -FS00 -FS13000000 -FP0($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_2M.FLM) -FP1($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_otp.FLM) + + + 0 + CMSIS_AGDI + -X"LCKFB-CMSIS-DAP" -ULCKFB-V1.0.0-8437443312050767921 -O206 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD1FFE0000 -FC4000 -FN2 -FF0HC32F4A0_2M.FLM -FS00 -FL0200000 -FP0($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_2M.FLM) -FF1HC32F4A0_otp.FLM -FS13000000 -FL11800 -FP1($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_otp.FLM) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 1000000 + + + + + + Applications + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + applications\xtal32_fcm.c + xtal32_fcm.c + 0 + 0 + + + 1 + 2 + 1 + 0 + 0 + 0 + applications\main.c + main.c + 0 + 0 + + + + + Compiler + 0 + 0 + 0 + 0 + + 2 + 3 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\armlibc\syscall_mem.c + syscall_mem.c + 0 + 0 + + + 2 + 4 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\armlibc\syscalls.c + syscalls.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\cctype.c + cctype.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\cstdlib.c + cstdlib.c + 0 + 0 + + + 2 + 7 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\cstring.c + cstring.c + 0 + 0 + + + 2 + 8 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\ctime.c + ctime.c + 0 + 0 + + + 2 + 9 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\cunistd.c + cunistd.c + 0 + 0 + + + 2 + 10 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\cwchar.c + cwchar.c + 0 + 0 + + + + + DeviceDrivers + 0 + 0 + 0 + 0 + + 3 + 11 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\core\device.c + device.c + 0 + 0 + + + 3 + 12 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\completion_comm.c + completion_comm.c + 0 + 0 + + + 3 + 13 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\completion_up.c + completion_up.c + 0 + 0 + + + 3 + 14 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\condvar.c + condvar.c + 0 + 0 + + + 3 + 15 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\dataqueue.c + dataqueue.c + 0 + 0 + + + 3 + 16 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\pipe.c + pipe.c + 0 + 0 + + + 3 + 17 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\ringblk_buf.c + ringblk_buf.c + 0 + 0 + + + 3 + 18 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\ringbuffer.c + ringbuffer.c + 0 + 0 + + + 3 + 19 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\waitqueue.c + waitqueue.c + 0 + 0 + + + 3 + 20 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\ipc\workqueue.c + workqueue.c + 0 + 0 + + + 3 + 21 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\pin\pin.c + pin.c + 0 + 0 + + + 3 + 22 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\serial\serial.c + serial.c + 0 + 0 + + + + + Drivers + 0 + 0 + 0 + 0 + + 4 + 23 + 1 + 0 + 0 + 0 + board\board.c + board.c + 0 + 0 + + + 4 + 24 + 1 + 0 + 0 + 0 + board\board_config.c + board_config.c + 0 + 0 + + + 4 + 25 + 2 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Source\ARM\startup_hc32f4a0.s + startup_hc32f4a0.s + 0 + 0 + + + 4 + 26 + 1 + 0 + 0 + 0 + ..\libraries\hc32_drivers\drv_common.c + drv_common.c + 0 + 0 + + + 4 + 27 + 1 + 0 + 0 + 0 + ..\libraries\hc32_drivers\drv_gpio.c + drv_gpio.c + 0 + 0 + + + 4 + 28 + 1 + 0 + 0 + 0 + ..\libraries\hc32_drivers\drv_irq.c + drv_irq.c + 0 + 0 + + + 4 + 29 + 1 + 0 + 0 + 0 + ..\libraries\hc32_drivers\drv_usart.c + drv_usart.c + 0 + 0 + + + + + Finsh + 0 + 0 + 0 + 0 + + 5 + 30 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\shell.c + shell.c + 0 + 0 + + + 5 + 31 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\msh_parse.c + msh_parse.c + 0 + 0 + + + 5 + 32 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\msh.c + msh.c + 0 + 0 + + + 5 + 33 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\cmd.c + cmd.c + 0 + 0 + + + + + Kernel + 0 + 0 + 0 + 0 + + 6 + 34 + 1 + 0 + 0 + 0 + ..\..\..\src\clock.c + clock.c + 0 + 0 + + + 6 + 35 + 1 + 0 + 0 + 0 + ..\..\..\src\components.c + components.c + 0 + 0 + + + 6 + 36 + 1 + 0 + 0 + 0 + ..\..\..\src\cpu_up.c + cpu_up.c + 0 + 0 + + + 6 + 37 + 1 + 0 + 0 + 0 + ..\..\..\src\idle.c + idle.c + 0 + 0 + + + 6 + 38 + 1 + 0 + 0 + 0 + ..\..\..\src\ipc.c + ipc.c + 0 + 0 + + + 6 + 39 + 1 + 0 + 0 + 0 + ..\..\..\src\irq.c + irq.c + 0 + 0 + + + 6 + 40 + 1 + 0 + 0 + 0 + ..\..\..\src\klibc\kstdio.c + kstdio.c + 0 + 0 + + + 6 + 41 + 1 + 0 + 0 + 0 + ..\..\..\src\klibc\kstring.c + kstring.c + 0 + 0 + + + 6 + 42 + 1 + 0 + 0 + 0 + ..\..\..\src\kservice.c + kservice.c + 0 + 0 + + + 6 + 43 + 1 + 0 + 0 + 0 + ..\..\..\src\mem.c + mem.c + 0 + 0 + + + 6 + 44 + 1 + 0 + 0 + 0 + ..\..\..\src\mempool.c + mempool.c + 0 + 0 + + + 6 + 45 + 1 + 0 + 0 + 0 + ..\..\..\src\object.c + object.c + 0 + 0 + + + 6 + 46 + 1 + 0 + 0 + 0 + ..\..\..\src\scheduler_comm.c + scheduler_comm.c + 0 + 0 + + + 6 + 47 + 1 + 0 + 0 + 0 + ..\..\..\src\scheduler_up.c + scheduler_up.c + 0 + 0 + + + 6 + 48 + 1 + 0 + 0 + 0 + ..\..\..\src\thread.c + thread.c + 0 + 0 + + + 6 + 49 + 1 + 0 + 0 + 0 + ..\..\..\src\timer.c + timer.c + 0 + 0 + + + + + libcpu + 0 + 0 + 0 + 0 + + 7 + 50 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\common\atomic_arm.c + atomic_arm.c + 0 + 0 + + + 7 + 51 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\common\div0.c + div0.c + 0 + 0 + + + 7 + 52 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\common\showmem.c + showmem.c + 0 + 0 + + + 7 + 53 + 2 + 0 + 0 + 0 + ..\..\..\libcpu\arm\cortex-m4\context_rvds.S + context_rvds.S + 0 + 0 + + + 7 + 54 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\cortex-m4\cpuport.c + cpuport.c + 0 + 0 + + + + + Libraries + 0 + 0 + 0 + 0 + + 8 + 55 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_efm.c + hc32_ll_efm.c + 0 + 0 + + + 8 + 56 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_clk.c + hc32_ll_clk.c + 0 + 0 + + + 8 + 57 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_fcg.c + hc32_ll_fcg.c + 0 + 0 + + + 8 + 58 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_aos.c + hc32_ll_aos.c + 0 + 0 + + + 8 + 59 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_dma.c + hc32_ll_dma.c + 0 + 0 + + + 8 + 60 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_gpio.c + hc32_ll_gpio.c + 0 + 0 + + + 8 + 61 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_interrupts.c + hc32_ll_interrupts.c + 0 + 0 + + + 8 + 62 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_usart.c + hc32_ll_usart.c + 0 + 0 + + + 8 + 63 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_tmr0.c + hc32_ll_tmr0.c + 0 + 0 + + + 8 + 64 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_utility.c + hc32_ll_utility.c + 0 + 0 + + + 8 + 65 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_icg.c + hc32_ll_icg.c + 0 + 0 + + + 8 + 66 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll.c + hc32_ll.c + 0 + 0 + + + 8 + 67 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32f4a0_ll_interrupts_share.c + hc32f4a0_ll_interrupts_share.c + 0 + 0 + + + 8 + 68 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_sram.c + hc32_ll_sram.c + 0 + 0 + + + 8 + 69 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_rmu.c + hc32_ll_rmu.c + 0 + 0 + + + 8 + 70 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Source\system_hc32f4a0.c + system_hc32f4a0.c + 0 + 0 + + + 8 + 71 + 1 + 0 + 0 + 0 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_pwc.c + hc32_ll_pwc.c + 0 + 0 + + + +
diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvprojx b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvprojx new file mode 100644 index 0000000000..d078c77f97 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/project.uvprojx @@ -0,0 +1,2217 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + rt-thread + 0x4 + ARM-ADS + 5060960::V5.06 update 7 (build 960)::.\ac5 + 0 + + + HC32F4A0PITB + HDSC + HDSC.HC32F4A0.1.0.5 + https://raw.githubusercontent.com/hdscmcu/pack/master/ + IRAM(0x1FFE0000,0x80000) IROM(0x00000000,0x200000) IROM2(0x03000000,0x1800) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE + + + UL2CM3(-S0 -C0 -P0 -FD1FFE0000 -FC4000 -FN2 -FF0HC32F4A0_2M -FS00 -FL0200000 -FF1HC32F4A0_otp -FS13000000 -FL11800 -FP0($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_2M.FLM) -FP1($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_otp.FLM)) + 0 + $$Device:HC32F4A0PITB$Device\Include\HC32F4A0PITB.h + + + + + + + + + + $$Device:HC32F4A0PITB$SVD\HDSC_HC32F4A0PITB.svd + 1 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\build\keil\Obj\ + rt-thread + 1 + 0 + 1 + 1 + 0 + .\build\keil\List\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + fromelf --bin !L --output rtthread.bin + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM4 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + 1 + BIN\UL2CM3.DLL + + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 1 + 8 + 0 + 0 + 0 + 0 + 4 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x1ffe0000 + 0x80000 + + + 1 + 0x0 + 0x200000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x200000 + + + 1 + 0x3000000 + 0x1800 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x1ffe0000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + RT_USING_ARMLIBC, __DEBUG, __STDC_LIMIT_MACROS, HC32F4A0, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, USE_DDL_DRIVER + + ..\..\..\components\drivers\include;..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Include;..\libraries\hc32_drivers;..\libraries\hc32f4a0_ddl\drivers\cmsis\Include;board\config\usb_config;applications;..\..\..\libcpu\arm\cortex-m4;board;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\finsh;.;..\..\..\components\libc\posix\io\epoll;..\..\..\include;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\poll;board\ports;..\..\..\components\libc\posix\io\eventfd;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;board\config;..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\inc;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 0 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x1FFF8000 + + .\board\linker_scripts\link.sct + + + + + + + + + + + Applications + + + xtal32_fcm.c + 1 + applications\xtal32_fcm.c + + + main.c + 1 + applications\main.c + + + + + Compiler + + + syscall_mem.c + 1 + ..\..\..\components\libc\compilers\armlibc\syscall_mem.c + + + syscalls.c + 1 + ..\..\..\components\libc\compilers\armlibc\syscalls.c + + + cctype.c + 1 + ..\..\..\components\libc\compilers\common\cctype.c + + + cstdlib.c + 1 + ..\..\..\components\libc\compilers\common\cstdlib.c + + + cstring.c + 1 + ..\..\..\components\libc\compilers\common\cstring.c + + + ctime.c + 1 + ..\..\..\components\libc\compilers\common\ctime.c + + + cunistd.c + 1 + ..\..\..\components\libc\compilers\common\cunistd.c + + + cwchar.c + 1 + ..\..\..\components\libc\compilers\common\cwchar.c + + + + + DeviceDrivers + + + device.c + 1 + ..\..\..\components\drivers\core\device.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + completion_comm.c + 1 + ..\..\..\components\drivers\ipc\completion_comm.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + completion_up.c + 1 + ..\..\..\components\drivers\ipc\completion_up.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + condvar.c + 1 + ..\..\..\components\drivers\ipc\condvar.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + dataqueue.c + 1 + ..\..\..\components\drivers\ipc\dataqueue.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + pipe.c + 1 + ..\..\..\components\drivers\ipc\pipe.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + ringblk_buf.c + 1 + ..\..\..\components\drivers\ipc\ringblk_buf.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + ringbuffer.c + 1 + ..\..\..\components\drivers\ipc\ringbuffer.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + waitqueue.c + 1 + ..\..\..\components\drivers\ipc\waitqueue.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + workqueue.c + 1 + ..\..\..\components\drivers\ipc\workqueue.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + pin.c + 1 + ..\..\..\components\drivers\pin\pin.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + serial.c + 1 + ..\..\..\components\drivers\serial\serial.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_IPC_SOURCE__ + + + + + + + + + + + Drivers + + + board.c + 1 + board\board.c + + + board_config.c + 1 + board\board_config.c + + + startup_hc32f4a0.s + 2 + ..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Source\ARM\startup_hc32f4a0.s + + + drv_common.c + 1 + ..\libraries\hc32_drivers\drv_common.c + + + drv_gpio.c + 1 + ..\libraries\hc32_drivers\drv_gpio.c + + + drv_irq.c + 1 + ..\libraries\hc32_drivers\drv_irq.c + + + drv_usart.c + 1 + ..\libraries\hc32_drivers\drv_usart.c + + + + + Finsh + + + shell.c + 1 + ..\..\..\components\finsh\shell.c + + + msh_parse.c + 1 + ..\..\..\components\finsh\msh_parse.c + + + msh.c + 1 + ..\..\..\components\finsh\msh.c + + + cmd.c + 1 + ..\..\..\components\finsh\cmd.c + + + + + Kernel + + + clock.c + 1 + ..\..\..\src\clock.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + components.c + 1 + ..\..\..\src\components.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + cpu_up.c + 1 + ..\..\..\src\cpu_up.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + idle.c + 1 + ..\..\..\src\idle.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + ipc.c + 1 + ..\..\..\src\ipc.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + irq.c + 1 + ..\..\..\src\irq.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + kstdio.c + 1 + ..\..\..\src\klibc\kstdio.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + kstring.c + 1 + ..\..\..\src\klibc\kstring.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + kservice.c + 1 + ..\..\..\src\kservice.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + mem.c + 1 + ..\..\..\src\mem.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + mempool.c + 1 + ..\..\..\src\mempool.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + object.c + 1 + ..\..\..\src\object.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + scheduler_comm.c + 1 + ..\..\..\src\scheduler_comm.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + scheduler_up.c + 1 + ..\..\..\src\scheduler_up.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + thread.c + 1 + ..\..\..\src\thread.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + timer.c + 1 + ..\..\..\src\timer.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + __RT_KERNEL_SOURCE__ + + + + + + + + + + + libcpu + + + atomic_arm.c + 1 + ..\..\..\libcpu\arm\common\atomic_arm.c + + + div0.c + 1 + ..\..\..\libcpu\arm\common\div0.c + + + showmem.c + 1 + ..\..\..\libcpu\arm\common\showmem.c + + + context_rvds.S + 2 + ..\..\..\libcpu\arm\cortex-m4\context_rvds.S + + + cpuport.c + 1 + ..\..\..\libcpu\arm\cortex-m4\cpuport.c + + + + + Libraries + + + hc32_ll_efm.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_efm.c + + + hc32_ll_clk.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_clk.c + + + hc32_ll_fcg.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_fcg.c + + + hc32_ll_aos.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_aos.c + + + hc32_ll_dma.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_dma.c + + + hc32_ll_gpio.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_gpio.c + + + hc32_ll_interrupts.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_interrupts.c + + + hc32_ll_usart.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_usart.c + + + hc32_ll_tmr0.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_tmr0.c + + + hc32_ll_utility.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_utility.c + + + hc32_ll_icg.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_icg.c + + + hc32_ll.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll.c + + + hc32f4a0_ll_interrupts_share.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32f4a0_ll_interrupts_share.c + + + hc32_ll_sram.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_sram.c + + + hc32_ll_rmu.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_rmu.c + + + system_hc32f4a0.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\cmsis\Device\HDSC\hc32f4xx\Source\system_hc32f4a0.c + + + hc32_ll_pwc.c + 1 + ..\libraries\hc32f4a0_ddl\drivers\hc32_ll_driver\src\hc32_ll_pwc.c + + + + + + + + + + + + + +
diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.h b/bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.h new file mode 100644 index 0000000000..eec81b94d9 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.h @@ -0,0 +1,354 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +/* RT-Thread Kernel */ + +#define RT_NAME_MAX 8 +#define RT_CPUS_NR 1 +#define RT_ALIGN_SIZE 8 +#define RT_THREAD_PRIORITY_32 +#define RT_THREAD_PRIORITY_MAX 32 +#define RT_TICK_PER_SECOND 1000 +#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 256 +#define RT_USING_TIMER_SOFT +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 512 + +/* kservice optimization */ + +/* end of kservice optimization */ + +/* klibc optimization */ + +/* end of klibc optimization */ +#define RT_USING_DEBUG +#define RT_DEBUGING_ASSERT +#define RT_DEBUGING_COLOR +#define RT_DEBUGING_CONTEXT +#define RT_USING_OVERFLOW_CHECK + +/* 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_SMALL_MEM +#define RT_USING_SMALL_MEM_AS_HEAP +#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 */ +#define RT_USING_HW_ATOMIC +#define RT_USING_CPU_FFS +#define ARCH_ARM +#define ARCH_ARM_CORTEX_M +#define ARCH_ARM_CORTEX_M4 + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 2048 +#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 */ + +/* end of DFS: device virtual file system */ + +/* Device Drivers */ + +#define RT_USING_DEVICE_IPC +#define RT_UNAMED_PIPE_NUMBER 64 +#define RT_USING_SYSTEM_WORKQUEUE +#define RT_SYSTEM_WORKQUEUE_STACKSIZE 2048 +#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_PIN +/* 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 */ + + +/* 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 */ + +/* end of Network */ + +/* Memory protection */ + +/* end of Memory protection */ + +/* Utilities */ + +/* end of Utilities */ + +/* 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 */ + +/* Infineon HAL Packages */ + +/* end of Infineon HAL Packages */ + +/* 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 */ + +/* 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 */ +#define SOC_FAMILY_HC32 +#define SOC_SERIES_HC32F4 + +/* Hardware Drivers Config */ + +#define SOC_HC32F4A0SI + +/* On-chip Drivers */ + +#define BSP_USING_ON_CHIP_FLASH_CACHE +#define BSP_USING_ON_CHIP_FLASH_ICODE_CACHE +#define BSP_USING_ON_CHIP_FLASH_DCODE_CACHE +#define BSP_USING_ON_CHIP_FLASH_ICODE_PREFETCH +/* end of On-chip Drivers */ + +/* Onboard Peripheral Drivers */ + +/* end of Onboard Peripheral Drivers */ + +/* On-chip Peripheral Drivers */ + +#define BSP_USING_GPIO +#define BSP_USING_UART +#define BSP_USING_UART1 +/* end of On-chip Peripheral Drivers */ + +/* Board extended module Drivers */ + +/* end of Hardware Drivers Config */ + +#endif diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.py b/bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.py new file mode 100644 index 0000000000..568d50f2a6 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/rtconfig.py @@ -0,0 +1,150 @@ +import os + +# toolchains options +ARCH='arm' +CPU='cortex-m4' +CROSS_TOOL='gcc' + +# bsp lib config +BSP_LIBRARY_TYPE = None + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') + +# cross_tool provides the cross compiler +# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR +if CROSS_TOOL == 'gcc': + PLATFORM = 'gcc' + if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + else: + EXEC_PATH = r'C:/Users/XXYYZZ' +elif CROSS_TOOL == 'keil': + PLATFORM = 'armcc' + EXEC_PATH = r'C:/Keil_v5' +elif CROSS_TOOL == 'iar': + PLATFORM = 'iccarm' + EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.4' + +BUILD = 'debug' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = 'arm-none-eabi-' + CC = PREFIX + 'gcc' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + CXX = PREFIX + 'g++' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections' + CFLAGS = DEVICE + ' -Dgcc' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb ' + LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.ld' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -gdwarf-2 -g' + AFLAGS += ' -gdwarf-2' + else: + CFLAGS += ' -O2' + + CXXFLAGS = CFLAGS + + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' + +elif PLATFORM == 'armcc': + # toolchains + CC = 'armcc' + CXX = 'armcc' + AS = 'armasm' + AR = 'armar' + LINK = 'armlink' + TARGET_EXT = 'axf' + + DEVICE = ' --cpu Cortex-M4.fp ' + CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99' + AFLAGS = DEVICE + ' --apcs=interwork ' + LFLAGS = DEVICE + ' --scatter "board\linker_scripts\link.sct" --info sizes --info totals --info unused --info veneers --list rtthread.map --strict' + CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include' + LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib' + + CFLAGS += ' -D__MICROLIB ' + AFLAGS += ' --pd "__MICROLIB SETA 1" ' + LFLAGS += ' --library_type=microlib ' + EXEC_PATH += '/ARM/ARMCC/bin/' + + if BUILD == 'debug': + CFLAGS += ' -g -O0' + AFLAGS += ' -g' + else: + CFLAGS += ' -O2' + + CXXFLAGS = CFLAGS + CFLAGS += ' -std=c99' + + POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET' + +elif PLATFORM == 'iccarm': + # toolchains + CC = 'iccarm' + CXX = 'iccarm' + AS = 'iasmarm' + AR = 'iarchive' + LINK = 'ilinkarm' + TARGET_EXT = 'out' + + DEVICE = '-Dewarm' + + CFLAGS = DEVICE + CFLAGS += ' --diag_suppress Pa050' + CFLAGS += ' --no_cse' + CFLAGS += ' --no_unroll' + CFLAGS += ' --no_inline' + CFLAGS += ' --no_code_motion' + CFLAGS += ' --no_tbaa' + CFLAGS += ' --no_clustering' + CFLAGS += ' --no_scheduling' + CFLAGS += ' --endian=little' + CFLAGS += ' --cpu=Cortex-M4' + CFLAGS += ' -e' + CFLAGS += ' --fpu=VFPv4_sp' + CFLAGS += ' --dlib_config "' + EXEC_PATH + '/arm/INC/c/DLib_Config_Normal.h"' + CFLAGS += ' --silent' + + AFLAGS = DEVICE + AFLAGS += ' -s+' + AFLAGS += ' -w+' + AFLAGS += ' -r' + AFLAGS += ' --cpu Cortex-M4' + AFLAGS += ' --fpu VFPv4_sp' + AFLAGS += ' -S' + + if BUILD == 'debug': + CFLAGS += ' --debug' + CFLAGS += ' -On' + else: + CFLAGS += ' -Oh' + + LFLAGS = ' --config "board/linker_scripts/link.icf"' + LFLAGS += ' --entry __iar_program_start' + + CXXFLAGS = CFLAGS + + EXEC_PATH = EXEC_PATH + '/arm/bin/' + POST_ACTION = 'ielftool --bin $TARGET rtthread.bin' + +def dist_handle(BSP_ROOT, dist_dir): + import sys + cwd_path = os.getcwd() + sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools')) + from sdk_dist import dist_do_building + dist_do_building(BSP_ROOT, dist_dir) diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.ewp b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.ewp new file mode 100644 index 0000000000..28a74860dc --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.ewp @@ -0,0 +1,1927 @@ + + + + 2 + + Debug + + ARM + + 0 + + General + 3 + + 24 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 17 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 24 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 17 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.eww b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.eww new file mode 100644 index 0000000000..bd036bb4c9 --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\template.ewp + + + + + diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvoptx b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvoptx new file mode 100644 index 0000000000..42535c50ec --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvoptx @@ -0,0 +1,184 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + rt-thread + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\keil\List\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 3 + + + + + + + + + + + BIN\CMSIS_AGDI.dll + + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 ) -FN2 -FC4000 -FD1FFE0000 -FF0HC32F4A0_2M -FF1HC32F4A0_otp -FL0200000 -FL11800 -FS00 -FS13000000 -FP0($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_2M.FLM) -FP1($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_otp.FLM) + + + 0 + CMSIS_AGDI + -X"LCKFB-CMSIS-DAP" -ULCKFB-V1.0.0-8437443312050767921 -O206 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD1FFE0000 -FC4000 -FN2 -FF0HC32F4A0_2M.FLM -FS00 -FL0200000 -FP0($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_2M.FLM) -FF1HC32F4A0_otp.FLM -FS13000000 -FL11800 -FP1($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_otp.FLM) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 1000000 + + + + +
diff --git a/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvprojx b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvprojx new file mode 100644 index 0000000000..591f3cb5cc --- /dev/null +++ b/bsp/hc32/lckfb-hc32f4a0-lqfp100/template.uvprojx @@ -0,0 +1,392 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + rt-thread + 0x4 + ARM-ADS + 5060960::V5.06 update 7 (build 960)::.\ARMCC + 0 + + + HC32F4A0PITB + HDSC + HDSC.HC32F4A0.1.0.5 + https://raw.githubusercontent.com/hdscmcu/pack/master/ + IRAM(0x1FFE0000,0x80000) IROM(0x00000000,0x200000) IROM2(0x03000000,0x1800) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE + + + UL2CM3(-S0 -C0 -P0 -FD1FFE0000 -FC4000 -FN2 -FF0HC32F4A0_2M -FS00 -FL0200000 -FF1HC32F4A0_otp -FS13000000 -FL11800 -FP0($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_2M.FLM) -FP1($$Device:HC32F4A0PITB$FlashARM\HC32F4A0_otp.FLM)) + 0 + $$Device:HC32F4A0PITB$Device\Include\HC32F4A0PITB.h + + + + + + + + + + $$Device:HC32F4A0PITB$SVD\HDSC_HC32F4A0PITB.svd + 1 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\build\keil\Obj\ + rt-thread + 1 + 0 + 1 + 1 + 0 + .\build\keil\List\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + fromelf --bin !L --output rtthread.bin + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM4 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + 1 + BIN\UL2CM3.DLL + + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 1 + 8 + 0 + 0 + 0 + 0 + 4 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x1ffe0000 + 0x80000 + + + 1 + 0x0 + 0x200000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x200000 + + + 1 + 0x3000000 + 0x1800 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x1ffe0000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 0 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x1FFF8000 + + .\board\linker_scripts\link.sct + + + + + + + + + + + + + + + + + +