From f62a89a8bbd219b5febdc20acfb5f1cce55933e5 Mon Sep 17 00:00:00 2001 From: LeenixP Date: Wed, 30 Jul 2025 10:40:21 +0800 Subject: [PATCH 1/6] rk3566 bsp: * Add RK3566 Code (Forked from rt-thread/tree/master/bsp/rockchip/rk3500). * Added to the original RK3566 documentation, more detailed usage instructions. Signed-off-by: lipeng --- bsp/rockchip/rk3566/.config | 1707 ++++++ bsp/rockchip/rk3566/Kconfig | 31 + bsp/rockchip/rk3566/README.md | 368 ++ bsp/rockchip/rk3566/README_ZH.md | 370 ++ bsp/rockchip/rk3566/SConscript | 14 + bsp/rockchip/rk3566/SConstruct | 29 + bsp/rockchip/rk3566/applications/SConscript | 14 + bsp/rockchip/rk3566/applications/main.c | 18 + bsp/rockchip/rk3566/boot.cmd | 3 + bsp/rockchip/rk3566/boot.scr | Bin 0 -> 197 bytes bsp/rockchip/rk3566/driver/Kconfig | 6 + bsp/rockchip/rk3566/driver/SConscript | 19 + bsp/rockchip/rk3566/driver/board.c | 37 + bsp/rockchip/rk3566/driver/board.h | 25 + bsp/rockchip/rk3566/driver/clk/Kconfig | 15 + bsp/rockchip/rk3566/driver/clk/SConscript | 16 + .../rk3566/driver/clk/clk-mmc-phase.c | 123 + .../rk3566/driver/clk/clk-pll-rk3568.c | 403 ++ .../rk3566/driver/clk/clk-pll-rk3588.c | 727 +++ bsp/rockchip/rk3566/driver/clk/clk-rk3568.c | 4791 +++++++++++++++++ bsp/rockchip/rk3566/driver/clk/clk-rk3568.h | 116 + bsp/rockchip/rk3566/driver/clk/clk-rk3588.c | 3292 +++++++++++ bsp/rockchip/rk3566/driver/clk/clk-rk3588.h | 151 + bsp/rockchip/rk3566/driver/clk/rk3568-cru.h | 926 ++++ bsp/rockchip/rk3566/driver/clk/rk3588-cru.h | 1497 +++++ bsp/rockchip/rk3566/driver/clk/softrst.c | 110 + bsp/rockchip/rk3566/driver/hwtimer/Kconfig | 5 + bsp/rockchip/rk3566/driver/hwtimer/SConscript | 13 + .../driver/hwtimer/hwtimer-rockchip_timer.c | 393 ++ bsp/rockchip/rk3566/driver/rockchip.h | 22 + bsp/rockchip/rk3566/driver/uart8250/8250-dw.c | 341 ++ bsp/rockchip/rk3566/driver/uart8250/8250.h | 74 + bsp/rockchip/rk3566/driver/uart8250/Kconfig | 3 + .../rk3566/driver/uart8250/SConscript | 13 + bsp/rockchip/rk3566/driver/uart8250/core.c | 303 ++ bsp/rockchip/rk3566/driver/uart8250/early.c | 162 + .../rk3566/driver/uart8250/fiq-debugger.c | 378 ++ bsp/rockchip/rk3566/driver/uart8250/regs.h | 365 ++ .../rk3566/driver/uart8250/serial_dm.h | 29 + .../rk3566/readme-images/rockchip-clean.jpg | Bin 0 -> 645671 bytes bsp/rockchip/rk3566/readme-images/rufus.jpg | Bin 0 -> 644116 bytes bsp/rockchip/rk3566/readme-images/tf.jpg | Bin 0 -> 390246 bytes bsp/rockchip/rk3566/rtconfig.h | 660 +++ bsp/rockchip/rk3566/rtconfig.py | 57 + 44 files changed, 17626 insertions(+) create mode 100644 bsp/rockchip/rk3566/.config create mode 100644 bsp/rockchip/rk3566/Kconfig create mode 100644 bsp/rockchip/rk3566/README.md create mode 100644 bsp/rockchip/rk3566/README_ZH.md create mode 100644 bsp/rockchip/rk3566/SConscript create mode 100644 bsp/rockchip/rk3566/SConstruct create mode 100644 bsp/rockchip/rk3566/applications/SConscript create mode 100644 bsp/rockchip/rk3566/applications/main.c create mode 100644 bsp/rockchip/rk3566/boot.cmd create mode 100644 bsp/rockchip/rk3566/boot.scr create mode 100644 bsp/rockchip/rk3566/driver/Kconfig create mode 100644 bsp/rockchip/rk3566/driver/SConscript create mode 100644 bsp/rockchip/rk3566/driver/board.c create mode 100644 bsp/rockchip/rk3566/driver/board.h create mode 100644 bsp/rockchip/rk3566/driver/clk/Kconfig create mode 100644 bsp/rockchip/rk3566/driver/clk/SConscript create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3568.c create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3568.h create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3588.c create mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3588.h create mode 100644 bsp/rockchip/rk3566/driver/clk/rk3568-cru.h create mode 100644 bsp/rockchip/rk3566/driver/clk/rk3588-cru.h create mode 100644 bsp/rockchip/rk3566/driver/clk/softrst.c create mode 100755 bsp/rockchip/rk3566/driver/hwtimer/Kconfig create mode 100644 bsp/rockchip/rk3566/driver/hwtimer/SConscript create mode 100644 bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c create mode 100644 bsp/rockchip/rk3566/driver/rockchip.h create mode 100644 bsp/rockchip/rk3566/driver/uart8250/8250-dw.c create mode 100644 bsp/rockchip/rk3566/driver/uart8250/8250.h create mode 100644 bsp/rockchip/rk3566/driver/uart8250/Kconfig create mode 100755 bsp/rockchip/rk3566/driver/uart8250/SConscript create mode 100644 bsp/rockchip/rk3566/driver/uart8250/core.c create mode 100644 bsp/rockchip/rk3566/driver/uart8250/early.c create mode 100644 bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c create mode 100644 bsp/rockchip/rk3566/driver/uart8250/regs.h create mode 100644 bsp/rockchip/rk3566/driver/uart8250/serial_dm.h create mode 100644 bsp/rockchip/rk3566/readme-images/rockchip-clean.jpg create mode 100644 bsp/rockchip/rk3566/readme-images/rufus.jpg create mode 100644 bsp/rockchip/rk3566/readme-images/tf.jpg create mode 100644 bsp/rockchip/rk3566/rtconfig.h create mode 100644 bsp/rockchip/rk3566/rtconfig.py diff --git a/bsp/rockchip/rk3566/.config b/bsp/rockchip/rk3566/.config new file mode 100644 index 00000000000..7284b2397fa --- /dev/null +++ b/bsp/rockchip/rk3566/.config @@ -0,0 +1,1707 @@ + +# +# RT-Thread Kernel +# + +# +# klibc options +# + +# +# rt_vsnprintf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set +CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y +# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set +CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32 +CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32 +CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6 +CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9 +CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4 +# end of rt_vsnprintf options + +# +# rt_vsscanf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set +# end of rt_vsscanf options + +# +# rt_memset options +# +# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set +# end of rt_memset options + +# +# rt_memcpy options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set +# end of rt_memcpy options + +# +# rt_memmove options +# +# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set +# end of rt_memmove options + +# +# rt_memcmp options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set +# end of rt_memcmp options + +# +# rt_strstr options +# +# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set +# end of rt_strstr options + +# +# rt_strcasecmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set +# end of rt_strcasecmp options + +# +# rt_strncpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set +# end of rt_strncpy options + +# +# rt_strcpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set +# end of rt_strcpy options + +# +# rt_strncmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set +# end of rt_strncmp options + +# +# rt_strcmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set +# end of rt_strcmp options + +# +# rt_strlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set +# end of rt_strlen options + +# +# rt_strnlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set +# end of rt_strnlen options + +# CONFIG_RT_UTEST_TC_USING_KLIBC is not set +# end of klibc options + +CONFIG_RT_NAME_MAX=8 +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +# CONFIG_RT_USING_NANO is not set +CONFIG_RT_USING_SMART=y +# CONFIG_RT_USING_AMP is not set +CONFIG_RT_USING_SMP=y +CONFIG_RT_CPUS_NR=4 +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_OVERFLOW_CHECK is not set +CONFIG_RT_USING_HOOK=y +CONFIG_RT_HOOK_USING_FUNC_PTR=y +CONFIG_RT_USING_HOOKLIST=y +CONFIG_RT_USING_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=16384 +CONFIG_SYSTEM_THREAD_STACK_SIZE=16384 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=32768 +CONFIG_RT_USING_TIMER_ALL_SOFT=y +CONFIG_RT_USING_CPU_USAGE_TRACER=y + +# +# kservice options +# +# CONFIG_RT_USING_TINY_FFS is not set +# end of kservice options + +CONFIG_RT_USING_DEBUG=y +# CONFIG_RT_DEBUGING_ASSERT is not set +CONFIG_RT_DEBUGING_COLOR=y +# CONFIG_RT_DEBUGING_CONTEXT is not set +# CONFIG_RT_DEBUGING_AUTO_INIT is not set +# CONFIG_RT_DEBUGING_SPINLOCK is not set +# CONFIG_RT_DEBUGING_CRITICAL is not set +# CONFIG_RT_USING_CI_ACTION is not set + +# +# Inter-Thread communication +# +CONFIG_RT_USING_SEMAPHORE=y +CONFIG_RT_USING_MUTEX=y +CONFIG_RT_USING_EVENT=y +CONFIG_RT_USING_MAILBOX=y +CONFIG_RT_USING_MESSAGEQUEUE=y +CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y +# CONFIG_RT_USING_SIGNALS is not set +# end of Inter-Thread communication + +# +# Memory Management +# +# CONFIG_RT_USING_MEMPOOL is not set +# CONFIG_RT_USING_SMALL_MEM is not set +CONFIG_RT_USING_SLAB=y +CONFIG_RT_USING_MEMHEAP=y +CONFIG_RT_MEMHEAP_FAST_MODE=y +# CONFIG_RT_MEMHEAP_BEST_MODE is not set +# CONFIG_RT_USING_SMALL_MEM_AS_HEAP is not set +CONFIG_RT_USING_MEMHEAP_AS_HEAP=y +CONFIG_RT_USING_MEMHEAP_AUTO_BINDING=y +# 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=y +# CONFIG_RT_USING_INTERRUPT_INFO is not set +CONFIG_RT_USING_THREADSAFE_PRINTF=y +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=1024 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart2" +CONFIG_RT_VER_NUM=0x50201 +CONFIG_RT_USING_STDC_ATOMIC=y +CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32 +# end of RT-Thread Kernel + +# +# AArch64 Architecture Configuration +# +CONFIG_ARCH_TEXT_OFFSET=0x00480000 +CONFIG_ARCH_RAM_OFFSET=0x200000 +CONFIG_ARCH_SECONDARY_CPU_STACK_SIZE=16384 +CONFIG_ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USING_GENERIC_CPUID=y +CONFIG_ARCH_HEAP_SIZE=0x4000000 +CONFIG_ARCH_INIT_PAGE_SIZE=0x200000 +# end of AArch64 Architecture Configuration + +CONFIG_ARCH_CPU_64BIT=y +CONFIG_RT_USING_CACHE=y +CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE=y +CONFIG_RT_USING_CPU_FFS=y +CONFIG_ARCH_MM_MMU=y +CONFIG_ARCH_ARM=y +CONFIG_ARCH_ARM_MMU=y +CONFIG_KERNEL_VADDR_START=0xffff000000000000 +CONFIG_ARCH_ARMV8=y +CONFIG_ARCH_USING_ASID=y +CONFIG_ARCH_USING_HW_THREAD_SELF=y +CONFIG_ARCH_USING_IRQ_CTX_LIST=y + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=16384 +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=16384 +CONFIG_FINSH_USING_HISTORY=y +CONFIG_FINSH_HISTORY_LINES=5 +CONFIG_FINSH_USING_SYMTAB=y +CONFIG_FINSH_CMD_SIZE=80 +CONFIG_MSH_USING_BUILT_IN_COMMANDS=y +CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set +# CONFIG_FINSH_USING_AUTH is not set +CONFIG_FINSH_ARG_MAX=10 +CONFIG_FINSH_USING_OPTION_COMPLETION=y + +# +# DFS: device virtual file system +# +CONFIG_RT_USING_DFS=y +CONFIG_DFS_USING_POSIX=y +CONFIG_DFS_USING_WORKDIR=y +CONFIG_DFS_FD_MAX=512 +CONFIG_RT_USING_DFS_V2=y +# CONFIG_RT_USING_DFS_ELMFAT is not set +CONFIG_RT_USING_DFS_DEVFS=y +# CONFIG_RT_USING_DFS_ROMFS is not set +CONFIG_RT_USING_DFS_PTYFS=y +CONFIG_RT_USING_DFS_PROCFS=y +CONFIG_RT_USING_DFS_CROMFS=y +CONFIG_RT_USING_DFS_TMPFS=y +CONFIG_RT_USING_DFS_MQUEUE=y +CONFIG_RT_USING_PAGECACHE=y + +# +# page cache config +# +CONFIG_RT_PAGECACHE_COUNT=128 +CONFIG_RT_PAGECACHE_ASPACE_COUNT=32 +CONFIG_RT_PAGECACHE_PRELOAD=4 +CONFIG_RT_PAGECACHE_HASH_NR=180 +CONFIG_RT_PAGECACHE_GC_WORK_LEVEL=90 +CONFIG_RT_PAGECACHE_GC_STOP_LEVEL=70 +# end of page cache config +# end of DFS: device virtual file system + +# CONFIG_RT_USING_FAL is not set + +# +# Device Drivers +# +CONFIG_RT_USING_DM=y +CONFIG_RT_USING_DEV_BUS=y +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_UNAMED_PIPE_NUMBER=64 +CONFIG_RT_USING_SYSTEM_WORKQUEUE=y +CONFIG_RT_SYSTEM_WORKQUEUE_STACKSIZE=16384 +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 is not set +CONFIG_RT_SERIAL_RB_BUFSZ=64 +CONFIG_RT_USING_SERIAL_BYPASS=y +# 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_PHY_V2 is not set +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +CONFIG_RT_USING_NULL=y +CONFIG_RT_USING_ZERO=y +CONFIG_RT_USING_RANDOM=y +# CONFIG_RT_USING_PWM 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=y +# CONFIG_RT_USING_ALARM is not set +CONFIG_RT_USING_SOFT_RTC=y +CONFIG_RT_USING_SDIO=y +CONFIG_RT_SDIO_STACK_SIZE=16384 +CONFIG_RT_SDIO_THREAD_PRIORITY=15 +CONFIG_RT_MMCSD_STACK_SIZE=16384 +CONFIG_RT_MMCSD_THREAD_PRIORITY=22 +CONFIG_RT_MMCSD_MAX_PARTITION=16 +# CONFIG_RT_SDIO_DEBUG is not set +# CONFIG_RT_USING_SDHCI is not set +# CONFIG_RT_USING_SPI 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_LED is not set +# CONFIG_RT_USING_MBOX is not set +# CONFIG_RT_USING_PHYE is not set +CONFIG_RT_USING_BLK=y + +# +# Partition Types +# +CONFIG_RT_BLK_PARTITION_DFS=y +CONFIG_RT_BLK_PARTITION_EFI=y +# end of Partition Types + +# CONFIG_RT_USING_SCSI is not set +# CONFIG_RT_USING_REGULATOR is not set +CONFIG_RT_USING_RESET=y +# CONFIG_RT_RESET_SIMPLE is not set +# CONFIG_RT_USING_THERMAL is not set +# CONFIG_RT_USING_VIRTIO is not set +# CONFIG_RT_USING_DMA is not set +# CONFIG_RT_USING_MFD is not set +CONFIG_RT_USING_OFW=y +# CONFIG_RT_USING_BUILTIN_FDT is not set +CONFIG_RT_FDT_EARLYCON_MSG_SIZE=128 +CONFIG_RT_USING_OFW_BUS_RANGES_NUMBER=8 +# CONFIG_RT_USING_PCI is not set +CONFIG_RT_USING_PIC=y +CONFIG_MAX_HANDLERS=1024 +# CONFIG_RT_PIC_ARM_GIC is not set +CONFIG_RT_PIC_ARM_GIC_V3=y +CONFIG_RT_USING_PIN=y +CONFIG_RT_USING_PINCTRL=y +CONFIG_RT_USING_KTIME=y +CONFIG_RT_USING_CLK=y +CONFIG_RT_USING_HWTIMER=y +CONFIG_RT_HWTIMER_ARM_ARCH=y +# 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=y +CONFIG_RT_USING_POSIX_DEVIO=y +CONFIG_RT_USING_POSIX_STDIO=y +CONFIG_RT_USING_POSIX_POLL=y +CONFIG_RT_USING_POSIX_SELECT=y +CONFIG_RT_USING_POSIX_EVENTFD=y +CONFIG_RT_USING_POSIX_EPOLL=y +CONFIG_RT_USING_POSIX_SIGNALFD=y +CONFIG_RT_SIGNALFD_MAX_NUM=10 +CONFIG_RT_USING_POSIX_TIMERFD=y +CONFIG_RT_USING_POSIX_SOCKET=y +CONFIG_RT_USING_POSIX_TERMIOS=y +# CONFIG_RT_USING_POSIX_AIO is not set +CONFIG_RT_USING_POSIX_MMAN=y +CONFIG_RT_USING_POSIX_DELAY=y +CONFIG_RT_USING_POSIX_CLOCK=y +CONFIG_RT_USING_POSIX_TIMER=y +# CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set + +# +# Interprocess Communication (IPC) +# +CONFIG_RT_USING_POSIX_PIPE=y +CONFIG_RT_USING_POSIX_PIPE_SIZE=2048 +CONFIG_RT_USING_POSIX_MESSAGE_QUEUE=y +# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set + +# +# Socket is in the 'Network' category +# +# end of Interprocess Communication (IPC) +# end of POSIX (Portable Operating System Interface) layer + +# CONFIG_RT_USING_CPLUSPLUS is not set +# end of C/C++ and POSIX layer + +# +# Network +# +CONFIG_RT_USING_SAL=y +CONFIG_SAL_INTERNET_CHECK=y + +# +# Docking with protocol stacks +# +CONFIG_SAL_USING_LWIP=y +# CONFIG_SAL_USING_AT is not set +# CONFIG_SAL_USING_TLS is not set +# end of Docking with protocol stacks + +CONFIG_SAL_USING_POSIX=y +CONFIG_RT_USING_NETDEV=y +CONFIG_NETDEV_USING_IFCONFIG=y +CONFIG_NETDEV_USING_PING=y +CONFIG_NETDEV_USING_NETSTAT=y +CONFIG_NETDEV_USING_AUTO_DEFAULT=y +# CONFIG_NETDEV_USING_LINK_STATUS_CALLBACK is not set +# CONFIG_NETDEV_USING_IPV6 is not set +CONFIG_NETDEV_IPV4=1 +CONFIG_NETDEV_IPV6=0 +CONFIG_RT_USING_LWIP=y +# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set +# CONFIG_RT_USING_LWIP141 is not set +# CONFIG_RT_USING_LWIP203 is not set +CONFIG_RT_USING_LWIP212=y +# CONFIG_RT_USING_LWIP_LATEST is not set +CONFIG_RT_USING_LWIP_VER_NUM=0x20102 +# CONFIG_RT_USING_LWIP_IPV6 is not set +CONFIG_RT_LWIP_MEM_ALIGNMENT=8 +CONFIG_RT_LWIP_IGMP=y +CONFIG_RT_LWIP_ICMP=y +# CONFIG_RT_LWIP_SNMP is not set +CONFIG_RT_LWIP_DNS=y +CONFIG_RT_LWIP_DHCP=y +CONFIG_IP_SOF_BROADCAST=1 +CONFIG_IP_SOF_BROADCAST_RECV=1 + +# +# Static IPv4 Address +# +CONFIG_RT_LWIP_IPADDR="192.168.1.30" +CONFIG_RT_LWIP_GWADDR="192.168.1.1" +CONFIG_RT_LWIP_MSKADDR="255.255.255.0" +# end of Static IPv4 Address + +CONFIG_RT_LWIP_UDP=y +CONFIG_RT_LWIP_TCP=y +CONFIG_RT_LWIP_RAW=y +# CONFIG_RT_LWIP_PPP is not set +CONFIG_RT_MEMP_NUM_NETCONN=64 +CONFIG_RT_LWIP_PBUF_NUM=320 +CONFIG_RT_LWIP_RAW_PCB_NUM=32 +CONFIG_RT_LWIP_UDP_PCB_NUM=32 +CONFIG_RT_LWIP_TCP_PCB_NUM=64 +CONFIG_RT_LWIP_TCP_SEG_NUM=480 +CONFIG_RT_LWIP_TCP_SND_BUF=65535 +CONFIG_RT_LWIP_TCP_WND=49512 +CONFIG_RT_LWIP_TCPTHREAD_PRIORITY=8 +CONFIG_RT_LWIP_TCPTHREAD_MBOX_SIZE=256 +CONFIG_RT_LWIP_TCPTHREAD_STACKSIZE=65536 +# CONFIG_LWIP_NO_RX_THREAD is not set +CONFIG_LWIP_NO_TX_THREAD=y +CONFIG_RT_LWIP_ETHTHREAD_PRIORITY=9 +CONFIG_RT_LWIP_ETHTHREAD_STACKSIZE=16384 +CONFIG_RT_LWIP_ETHTHREAD_MBOX_SIZE=256 +# CONFIG_RT_LWIP_REASSEMBLY_FRAG is not set +CONFIG_LWIP_NETIF_STATUS_CALLBACK=1 +CONFIG_LWIP_NETIF_LINK_CALLBACK=1 +CONFIG_RT_LWIP_NETIF_NAMESIZE=6 +CONFIG_SO_REUSE=1 +CONFIG_LWIP_SO_RCVTIMEO=1 +CONFIG_LWIP_SO_SNDTIMEO=1 +CONFIG_LWIP_SO_RCVBUF=1 +CONFIG_LWIP_SO_LINGER=0 +CONFIG_RT_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_NETIF_LOOPBACK=1 +# CONFIG_RT_LWIP_STATS is not set +CONFIG_RT_LWIP_USING_HW_CHECKSUM=y +CONFIG_RT_LWIP_USING_PING=y +# CONFIG_LWIP_USING_DHCPD is not set +# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set +# CONFIG_RT_LWIP_DEBUG is not set +# CONFIG_RT_USING_AT is not set +# end of Network + +# +# Memory protection +# +# CONFIG_RT_USING_MEM_PROTECTION is not set +# CONFIG_RT_USING_HW_STACK_GUARD is not set +# end of Memory protection + +# +# Utilities +# +# CONFIG_RT_USING_RYM is not set +# CONFIG_RT_USING_ULOG is not set +CONFIG_RT_USING_UTEST=y +CONFIG_UTEST_THR_STACK_SIZE=32768 +CONFIG_UTEST_THR_PRIORITY=20 +# CONFIG_RT_UTEST_USING_AUTO_RUN is not set +# CONFIG_RT_UTEST_USING_ALL_CASES is not set +# CONFIG_RT_USING_VAR_EXPORT is not set +CONFIG_RT_USING_RESOURCE_ID=y +CONFIG_RT_USING_ADT=y +CONFIG_RT_USING_ADT_AVL=y +CONFIG_RT_USING_ADT_BITMAP=y +CONFIG_RT_USING_ADT_HASHMAP=y +CONFIG_RT_USING_ADT_REF=y +# CONFIG_RT_USING_RT_LINK is not set +# end of Utilities + +# CONFIG_RT_USING_VBUS is not set + +# +# Memory management +# +CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000 +CONFIG_RT_PAGE_MAX_ORDER=11 +CONFIG_RT_USING_MEMBLOCK=y +CONFIG_RT_INIT_MEMORY_REGIONS=128 + +# +# Debugging +# +# CONFIG_RT_DEBUGGING_ALIASING is not set +# CONFIG_RT_DEBUGING_PAGE_LEAK is not set +# CONFIG_RT_DEBUGGING_PAGE_POISON is not set +# end of Debugging +# end of Memory management + +CONFIG_RT_USING_LWP=y +CONFIG_LWP_DEBUG=y +CONFIG_LWP_DEBUG_INIT=y +CONFIG_LWP_USING_RUNTIME=y +CONFIG_RT_LWP_MAX_NR=128 +CONFIG_LWP_TASK_STACK_SIZE=32768 +CONFIG_RT_CH_MSG_MAX_NR=1024 +CONFIG_LWP_TID_MAX_NR=128 +CONFIG_RT_LWP_SHM_MAX_NR=64 +CONFIG_RT_USING_LDSO=y +# CONFIG_ELF_DEBUG_ENABLE is not set +# CONFIG_ELF_LOAD_RANDOMIZE is not set +CONFIG_LWP_USING_TERMINAL=y +CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 +CONFIG_RT_USING_VDSO=y + +# +# 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=y + +# +# Utest Self Testcase +# +# CONFIG_UTEST_SELF_PASS_TC is not set +# end of Utest Self Testcase + +# +# Kernel Testcase +# +# CONFIG_UTEST_MEMHEAP_TC is not set +# CONFIG_UTEST_SLAB_TC is not set +# CONFIG_UTEST_IRQ_TC is not set +# CONFIG_UTEST_SEMAPHORE_TC is not set +# CONFIG_UTEST_EVENT_TC is not set +# CONFIG_UTEST_TIMER_TC is not set +# CONFIG_UTEST_MESSAGEQUEUE_TC is not set +# CONFIG_UTEST_SIGNAL_TC is not set +# CONFIG_UTEST_MUTEX_TC is not set +# CONFIG_UTEST_MAILBOX_TC is not set +# CONFIG_UTEST_THREAD_TC is not set +# CONFIG_UTEST_DEVICE_TC is not set +# CONFIG_UTEST_ATOMIC_TC is not set +# CONFIG_UTEST_HOOKLIST_TC is not set +# CONFIG_UTEST_MTSAFE_KPRINT_TC is not set +# CONFIG_UTEST_SCHEDULER_TC is not set + +# +# Kernel SMP Testcase +# +# CONFIG_UTEST_SMP_AFFFINITY_TC is not set +# CONFIG_UTEST_SMP_ASSIGNED_IDLE_CORE_TC is not set +# CONFIG_UTEST_SMP_INTERRUPT_PRI_TC is not set +# CONFIG_UTEST_SMP_SPINLOCK_TC is not set +# CONFIG_UTEST_SMP_THREAD_PREEMPTION_TC is not set +# end of Kernel SMP Testcase +# end of Kernel Testcase + +# +# CPP11 Testcase +# +# CONFIG_UTEST_CPP11_THREAD_TC is not set +# end of CPP11 Testcase + +# +# Utest Serial Testcase +# +# CONFIG_UTEST_SERIAL_TC is not set +# end of Utest Serial Testcase + +# +# Serial-Bypass Testcase +# +# CONFIG_UTEST_SERIAL_BYPASS is not set +# end of Serial-Bypass Testcase + +# +# Utest IPC Testcase +# +# CONFIG_UTEST_COMPLETION_TC is not set +# CONFIG_UTEST_WORKQUEUE_TC is not set +# end of Utest IPC Testcase + +# +# RTT Posix Testcase +# +# CONFIG_RTT_POSIX_TESTCASE is not set +# end of RTT Posix Testcase + +# +# Memory Management Subsytem Testcase +# +# CONFIG_UTEST_MM_API_TC is not set +# CONFIG_UTEST_MM_LWP_TC is not set +# end of Memory Management Subsytem Testcase + +# +# Tmpfs Testcase +# +# CONFIG_UTEST_TMPFS_CP is not set +# end of Tmpfs Testcase + +# +# SMP-Call Testcase +# +CONFIG_UTEST_SMP_CALL_FUNC=y +# end of SMP-Call Testcase +# 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 +# CONFIG_PKG_USING_PNET is not set +# CONFIG_PKG_USING_OPENER 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 +# CONFIG_PKG_USING_RYAN_JSON is not set +# end of JSON: JavaScript Object Notation, a lightweight data-interchange format + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set +# end of XML: Extensible Markup Language + +# CONFIG_PKG_USING_LUATOS_SOC is not set +# CONFIG_PKG_USING_LUA is not set +# CONFIG_PKG_USING_JERRYSCRIPT is not set +# CONFIG_PKG_USING_MICROPYTHON is not set +# CONFIG_PKG_USING_PIKASCRIPT is not set +# CONFIG_PKG_USING_RTT_RUST is not set +# end of language packages + +# +# multimedia packages +# + +# +# LVGL: powerful and easy-to-use embedded GUI library +# +# CONFIG_PKG_USING_LVGL is not set +# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set +# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set +# end of LVGL: powerful and easy-to-use embedded GUI library + +# +# u8g2: a monochrome graphic library +# +# CONFIG_PKG_USING_U8G2_OFFICIAL is not set +# CONFIG_PKG_USING_U8G2 is not set +# end of u8g2: a monochrome graphic library + +# CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set +# CONFIG_PKG_USING_STEMWIN is not set +# CONFIG_PKG_USING_WAVPLAYER is not set +# CONFIG_PKG_USING_TJPGD is not set +# CONFIG_PKG_USING_PDFGEN is not set +# CONFIG_PKG_USING_HELIX is not set +# CONFIG_PKG_USING_AZUREGUIX is not set +# CONFIG_PKG_USING_TOUCHGFX2RTT is not set +# CONFIG_PKG_USING_NUEMWIN is not set +# CONFIG_PKG_USING_MP3PLAYER is not set +# CONFIG_PKG_USING_TINYJPEG is not set +# CONFIG_PKG_USING_UGUI is not set +# CONFIG_PKG_USING_MCURSES is not set +# CONFIG_PKG_USING_TERMBOX is not set +# CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_3GPP_AMRNB is not set +# end of multimedia packages + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_EASYFLASH is not set +# CONFIG_PKG_USING_EASYLOGGER is not set +# CONFIG_PKG_USING_SYSTEMVIEW is not set +# CONFIG_PKG_USING_SEGGER_RTT is not set +# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set +# CONFIG_PKG_USING_RDB is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_LOGMGR is not set +# CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_MEMORYPERF is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set +# CONFIG_PKG_USING_UMCN is not set +# CONFIG_PKG_USING_LWRB2RTT is not set +# CONFIG_PKG_USING_CPU_USAGE is not set +# CONFIG_PKG_USING_GBK2UTF8 is not set +# CONFIG_PKG_USING_VCONSOLE is not set +# CONFIG_PKG_USING_KDB is not set +# CONFIG_PKG_USING_WAMR is not set +# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set +# CONFIG_PKG_USING_LWLOG is not set +# CONFIG_PKG_USING_ANV_TRACE is not set +# CONFIG_PKG_USING_ANV_MEMLEAK is not set +# CONFIG_PKG_USING_ANV_TESTSUIT is not set +# CONFIG_PKG_USING_ANV_BENCH is not set +# CONFIG_PKG_USING_DEVMEM is not set +# CONFIG_PKG_USING_REGEX is not set +# CONFIG_PKG_USING_MEM_SANDBOX is not set +# CONFIG_PKG_USING_SOLAR_TERMS is not set +# CONFIG_PKG_USING_GAN_ZHI is not set +# CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set +# CONFIG_PKG_USING_HASH_MATCH is not set +# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set +# CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set +# CONFIG_PKG_USING_RVBACKTRACE is not set +# CONFIG_PKG_USING_HPATCHLITE 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 +# 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_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_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_UART_FRAMEWORK 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_RMP is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set +# CONFIG_PKG_USING_HEARTBEAT is not set +# end of system packages + +# +# peripheral libraries and drivers +# + +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32F0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_STM32WL_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WL_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_CMSIS_DRIVER 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 +# CONFIG_PKG_USING_MM32 is not set + +# +# WCH HAL & SDK Drivers +# +# CONFIG_PKG_USING_CH32V20x_SDK is not set +# CONFIG_PKG_USING_CH32V307_SDK is not set +# end of WCH HAL & SDK Drivers + +# +# AT32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_AT32A403A_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A403A_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_CMSIS_DRIVER is not set +# end of AT32 HAL & SDK Drivers + +# +# HC32 DDL Drivers +# +# end of HC32 DDL Drivers + +# +# NXP HAL & SDK Drivers +# +# CONFIG_PKG_USING_NXP_MCX_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NXP_MCX_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC55S_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6SX_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6UL_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMXRT_DRIVER is not set +# end of NXP HAL & SDK Drivers +# 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_MAX31855 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_MLX90382 is not set +# CONFIG_PKG_USING_MLX90393 is not set +# CONFIG_PKG_USING_MLX90392 is not set +# CONFIG_PKG_USING_MLX90394 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 +# CONFIG_PKG_USING_P3T1755 is not set +# CONFIG_PKG_USING_QMI8658 is not set +# CONFIG_PKG_USING_ICM20948 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_BT_MX02 is not set +# CONFIG_PKG_USING_GC9A01 is not set +# CONFIG_PKG_USING_IK485 is not set +# CONFIG_PKG_USING_SERVO is not set +# CONFIG_PKG_USING_SEAN_WS2812B is not set +# CONFIG_PKG_USING_IC74HC165 is not set +# CONFIG_PKG_USING_IST8310 is not set +# CONFIG_PKG_USING_SPI_TOOLS is not set +# end of peripheral libraries and drivers + +# +# AI packages +# +# CONFIG_PKG_USING_LIBANN is not set +# CONFIG_PKG_USING_NNOM is not set +# CONFIG_PKG_USING_ONNX_BACKEND is not set +# CONFIG_PKG_USING_ONNX_PARSER is not set +# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set +# CONFIG_PKG_USING_ELAPACK is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_QUEST is not set +# CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set +# CONFIG_PKG_USING_LLMCHAT 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 +# 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=y +CONFIG_PKG_ZLIB_PATH="/packages/misc/zlib" +# CONFIG_ZLIB_USING_SAMPLE is not set +# CONFIG_PKG_USING_ZLIB_V100 is not set +# CONFIG_PKG_USING_ZLIB_V123 is not set +CONFIG_PKG_USING_ZLIB_LATEST_VERSION=y +CONFIG_PKG_ZLIB_VER="latest" +# 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_LIBCRC 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 +# CONFIG_PKG_USING_DRMP 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_RTDUINO_SENSORFUSION_SHIELD 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 + +# +# RT-Thread rockchip RK3500 drivers +# +CONFIG_RT_CLK_ROCKCHIP=y +CONFIG_RT_CLK_ROCKCHIP_RK3568=y +CONFIG_RT_CLK_ROCKCHIP_RK3588=y +CONFIG_RT_SERIAL_8250=y +CONFIG_RT_HWTIMER_ROCKCHIP=y +# end of RT-Thread rockchip RK3500 drivers + +CONFIG_SOC_RK3568=y diff --git a/bsp/rockchip/rk3566/Kconfig b/bsp/rockchip/rk3566/Kconfig new file mode 100644 index 00000000000..cdb605ecc70 --- /dev/null +++ b/bsp/rockchip/rk3566/Kconfig @@ -0,0 +1,31 @@ +mainmenu "RT-Thread Project Configuration" + +config BSP_DIR + string + option env="BSP_ROOT" + default "." + +config RTT_DIR + string + option env="RTT_ROOT" + default "../../.." + +config PKGS_DIR + string + option env="PKGS_ROOT" + default "packages" + +source "$RTT_DIR/Kconfig" +source "$PKGS_DIR/Kconfig" +source "$BSP_DIR/driver/Kconfig" + +config SOC_RK3568 + bool + select ARCH_ARMV8 + select ARCH_CPU_64BIT + select RT_USING_CACHE + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + select ARCH_ARM_BOOTWITH_FLUSH_CACHE + default y + diff --git a/bsp/rockchip/rk3566/README.md b/bsp/rockchip/rk3566/README.md new file mode 100644 index 00000000000..be1e3392f57 --- /dev/null +++ b/bsp/rockchip/rk3566/README.md @@ -0,0 +1,368 @@ +# RK3566 Board Support Package (BSP) Usage Guide + +中文页 | [English](./README.md) + +## Code Source Statement + +- The `rk3566` code originates from `bsp/rockchip/rk3500` + +`Commit: a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` + +Based on the[original documentation](https://github.com/RT-Thread/rt-thread/tree/master/bsp/rockchip/rk3500), this guide supplements and elaborates on the content with additional documentation and detailed step-by-step instructions. + +## 1. Introduction + +This support package usage guide is written based on the[ TaishanPi 1 ](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)development board. + +[All schematic diagrams, PCB files, and software resources for TaishanPi 1 are open-source](https://wiki.lckfb.com/zh-hans/tspi-rk3566/open-source-hardware/) + +This guide provides detailed instructions and relevant precautions. + +### 1.1. Chip Introduction + +`Rockchip RK3566` is a mid-to-high-end `AIOT` chip: + +- Manufactured using `22nm` process technology +- Quad-core `Cortex-A55` 64-bit CPU +- Clock speed up to `1.8GHz` +- Integrated `ARM Mali-G52 GPU` +- Integrated `1Tops` AI accelerator `NPU` +- Supports `4K 60FPS` decoding +- Supports `1080P 60FPS` encoding +- Supports `5M ISP` and `HDR` + +### 1.2. Host Machine Environment + +This guide uses `Ubuntu22.04.5 LTS Desktop` running on`VMware`. + +System information: + +```bash +$ cat /etc/os-release +PRETTY_NAME="Ubuntu 22.04.5 LTS" +NAME="Ubuntu" +VERSION_ID="22.04" +VERSION="22.04.5 LTS (Jammy Jellyfish)" +VERSION_CODENAME=jammy +ID=ubuntu +ID_LIKE=debian +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +UBUNTU_CODENAME=jammy + +``` + +```bash +$ lsb_release -a +No LSB modules are available. +Distributor ID: Ubuntu +Description: Ubuntu 22.04.2 LTS +Release: 22.04 +Codename: jammy +``` + +`Python`version: +```bash +$ python --version +Python 3.10.12 +``` + + +## 2. Environment Setup + +Run the following commands to install required packages: + +1. Essential tools: +```bash +sudo apt update && \ +sudo apt install -y python3 python3-pip u-boot-tools device-tree-compiler +``` + +2. Install tools using `pip`: +```bash +pip3 install --user tqdm +``` + + +3. Set `Python version`: +```bash +sudo rm -rf /usr/bin/python && \ +sudo ln -s /usr/bin/python3 /usr/bin/python +``` + + +4. Download `RT-Thread Smart` toolchain: +```bash +wget https://download.rt-thread.org/download/rt-smart/toolchains/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 + +``` + +5. Extract the toolchain: +```bash +sudo tar -xf aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt +``` + +6. Set environment variables after extraction: + +```bash +export RTT_CC="gcc" +export RTT_EXEC_PATH="/opt/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/" +export RTT_CC_PREFIX="aarch64-linux-musleabi-" +export PATH="$RTT_EXEC_PATH:$PATH" +``` + +## 3. 编译 + +Navigate to the `rt-thread/bsp/rockchip/rk3566` directory and run: + +> This command pulls the `zlib` package required for compilation. + +```bash +source ~/.env/tools/scripts/pkgs --update +``` + +Start compilation: + +> Alternatively, use `scons --exec-path="GCC toolchain path"` to specify the toolchain location directly. + +```bash +scons -j$(nproc) +``` + +The `rtthread.elf` and `rtthread.bin` files will be generated in the current `rk3566` directory. + +## 3. Running + +### 3.1. Flashing the Board + +To boot the `rtthread` system using U-Boot commands, flash the following files using the Rockchip development tool. + +This guide uses the [ TaishanPi 1 ](https://wiki.lckfb.com/zh-hans/tspi-rk3566/) `Rockchip Linux5.10 SDK`: + +- `Github`:https://github.com/TaishanPi + +- Tutorial [Host Machine Build Method](https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/openkylin-sdk-compilation.html) + +After compilation, required files will be in the `rockdev/` directory. + +Erase all existing firmware from the board: + +![rockchip-clean](./readme-images/rockchip-clean.jpg) + +Flash these 4 files using the Rockchip Development Tool: + +> > Note: The TaishanPi 1 SDK uses a custom partition layout. Other boards may require different files. + +- `MiniLoaderAll.bin` +- `parameter.txt` +- `uboot.img` +- `boot.img` + +### 3.2. Formatting the TF Card + +Prepare a TF card to store files. + +Download `Rufus`:https://rufus.org.cn/ + +Configure with these settings and click "Start": + +![rockchip-clean](./readme-images/rufus.jpg) + + +### 3.3. Creating boot.scr + +> You can use the existing `boot.scr` in this directory, or create your own using the method below. + +Create `boot.cmd` with the following content: + +```bash +fatload mmc 1:1 0x480000 rtthread.bin; +fatload mmc 1:1 0x8300000 tspi-rk3566-user-v10-linux.dtb; +booti 0x480000 - 0x8300000; +``` +> The Device Tree Blob (DTB) file is required for system startup. For TaishanPi 1, the DTB file is located at `kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dtb`. Other boards may use different DTB files. Without the correct DTB, rtthread will fail to boot (see "Common Issues and Solutions"). + + +Generate `boot.scr` + +```bash +mkimage -C none -A arm -T script -d boot.cmd boot.scr +``` + +### 3.4. Copying Files to TF Card + +Copy these three files to the TF card: + +- `boot.scr` +- `tspi-rk3566-user-v10-linux.dtb` +- `rtthread.bin` + +![tf](./readme-images/tf.jpg) + +### 3.5. Running + +Connect to the board's serial port using a tool like [MoBaXterm](https://wiki.lckfb.com/zh-hans/tspi-rk3566/tool-use/debug-tools-use.html): + +- Select the correct serial port +- Set baud rate to `1500000` + +With `boot.scr` present, the system will boot automatically: + +> Note 1: If stuck at `[I/rtdm.ofw] Console: uart0 (fiq-debugger)`, see "Common Issues and Solutions". + +> Note 2: After failed boot attempts, completely power cycle the board to clear memory. + +> Note 3: If automatic boot fails, manually execute the `boot.cmd` content in U-Boot. + +```bash +Hit key to stop autoboot('CTRL+C'): 0 +switch to partitions #0, OK +mmc1 is current device +Scanning mmc 1:1... +Found U-Boot script /boot.scr +reading /boot.scr +197 bytes read in 3 ms (63.5 KiB/s) +## Executing script at 00c00000 +reading rtthread.bin +1220848 bytes read in 104 ms (11.2 MiB/s) +reading tspi-rk3566-user-v10-linux.dtb +167469 bytes read in 17 ms (9.4 MiB/s) +Fdt Ramdisk skip relocation +No misc partition +## Flattened Device Tree blob at 0x08300000 + Booting using the fdt blob at 0x08300000 + Using Device Tree in place at 0000000008300000, end 000000000832be2c +No resource file: logo_kernel.bmp +** Unable to read file logo_kernel.bmp ** +Failed to do_load +VP0 fail to load kernel logo +vp0, plane_mask:0x3f, primary-id:4, curser-id:-1 +vp1, plane_mask:0x0, primary-id:0, curser-id:-1 +vp2, plane_mask:0x0, primary-id:0, curser-id:-1 +## reserved-memory: + drm-logo@00000000: addr=7df00000 size=ad000 + drm-cubic-lut@00000000: addr=7ff00000 size=8000 + ramoops@110000: addr=110000 size=f0000 +Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000) +Adding bank: 0x09400000 - 0x80000000 (size: 0x76c00000) +board seed: Pseudo +Total: 600.154/648.331 ms + +Starting kernel ... + +[I/rtdm.ofw] Booting RT-Thread on physical CPU 0x0 +[I/rtdm.ofw] Machine model: lckfb tspi V10 Board +[I/rtdm.ofw] Earlycon: uart8250 at MMIO/PIO 0x00000000fe660000 (options '') +[I/rtdm.ofw] Memory node(1) ranges: 0x0000000000200000 - 0x0000000008400000 +[I/rtdm.ofw] Memory node(1) ranges: 0x0000000009400000 - 0x0000000080000000 +[I/mm.memblock] System memory: +[I/mm.memblock] [0x0000000000200000, 0x0000000008400000] +[I/mm.memblock] [0x0000000009400000, 0x0000000080000000] +[I/mm.memblock] Reserved memory: +[I/mm.memblock] [0x0000000000110000, 0x0000000000200000] +[I/mm.memblock] [0x0000000000480000, 0x00000000006d0000] +[I/mm.memblock] [0x00000000006d0000, 0x00000000046d0000] +[I/mm.memblock] [0x00000000046d0000, 0x00000000048d0000] +[I/mm.memblock] [0x00000000048d0000, 0x00000000048fa000] +[I/mm.memblock] [0x0000000008300000, 0x000000000832a000] +[I/mm.memblock] [0x000000007df00000, 0x000000007dfad000] +[I/mm.memblock] [0x000000007ff00000, 0x000000007ff08000] +[I/mm.memblock] physical memory region [0x0000000000200000-0x0000000000480000] installed to system page +[I/mm.memblock] physical memory region [0x00000000048fa000-0x0000000008300000] installed to system page +[I/mm.memblock] physical memory region [0x000000000832a000-0x0000000008400000] installed to system page +[I/mm.memblock] physical memory region [0x0000000009400000-0x000000007df00000] installed to system page +[I/mm.memblock] physical memory region [0x000000007dfad000-0x000000007ff00000] installed to system page +[I/mm.memblock] physical memory region [0x000000007ff08000-0x0000000080000000] installed to system page +[I/mm.memblock] 2055 MB memory installed to system page +[I/osi.psci] Using PSCI v1.1 Function IDs +[I/clk.rk3568] set cpu_freq to 1800000000 +[I/rtdm.ofw] Console: uart0 (fiq-debugger) + + \ | / +- RT - Thread Smart Operating System + / | \ 5.2.1 build Jul 30 2025 08:58:40 + 2006 - 2024 Copyright by RT-Thread team +lwIP-2.1.2 initialized! +[I/sal.skt] Socket Abstraction Layer initialize success. +[I/utest] utest is initialize success. +[I/utest] total utest testcase num: (5) +[I/drivers.serial] Using /dev/ttyS0 as default console +Press any key to stop init process startup ... 3 +Press any key to stop init process startup ... 2 +Press any key to stop init process startup ... 1 +Starting init ... +[E/DFS.fs] mount point (/proc) already mounted! +[I/rtdm.mnt] File system initialization done +Hi, this is RT-Thread!! +msh />I/TC: Secondary CPU 1 initializing +I/TC: Secondary CPU 1 switching to normal world boot +o/[C3:2 mS[eIc/ocnpdua.raya 6C4P]U 2 inCiatlila lcipzui n1g + n success +I/TC: Secondary CPU 2 switching to normal world boot +I/TC: Secondary CPU 3 initializing +I/TC: Secondary CPU 3 switching to normal world boot +[I/cpu.aa64] Call cpu 2 on success +[I/cpu.aa64] Call cpu 3 on success + +msh /> +msh /> +``` + +## Common Issues and Solutions + +### Could not find a valid device tree + +This error occurs when booting without loading the `.dtb` device tree file: + +```bash +Hit key to stop autoboot('CTRL+C'): 0 +=> +=> +=> +=> +=> +=> fatload mmc 1:1 0x480000 rtthread.bin +reading rtthread.bin +1220848 bytes read in 104 ms (11.2 MiB/s) +=> booti 0x480000 - 0x8300000 +Fdt Ramdisk skip relocation +No misc partition +ERROR: Did not find a cmdline Flattened Device Tree +Could not find a valid device tree +=> +``` + +Solution: + +1. Power cycle the board completely after failed boot attempts +2. Copy the compiled `.dtb` file from `kernel/arch/arm64/boot/dts/rockchip/` to the TF card +3. Load the `DTB` to address `0x8300000` using `fatload` +4. Execute the boot command again + + +### System Stuck at `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` + +This is typically caused by incorrect device tree configuration. The `chosen` node parameters are critical. + +Example configuration for TaishanPi 1 (Debug UART: `uart2m0`): + +```ini + chosen: chosen { + bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0"; + }; + + fiq-debugger { + compatible = "rockchip,fiq-debugger"; + rockchip,serial-id = <2>; + rockchip,wake-irq = <0>; + /* If enable uart uses irq instead of fiq */ + rockchip,irq-mode-enable = <1>; + rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart2m0_xfer>; + status = "okay"; + }; +``` \ No newline at end of file diff --git a/bsp/rockchip/rk3566/README_ZH.md b/bsp/rockchip/rk3566/README_ZH.md new file mode 100644 index 00000000000..b610bb3bb7b --- /dev/null +++ b/bsp/rockchip/rk3566/README_ZH.md @@ -0,0 +1,370 @@ +# RK3566 板级支持包使用说明 + +中文页 | [English](./README.md) + +## 代码来源说明 + +- `rk3566` 代码源于 `bsp/rockchip/rk3500` + +`Commit: a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` + +在[原有文档](https://github.com/RT-Thread/rt-thread/tree/master/bsp/rockchip/rk3500)基础上面进行了文档补充和步骤说明,丰富了一下原有内容。 + +## 1. 介绍 + +这份支持包使用说明是根据[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)所写的一份使用指南。 + +[泰山派1中原理图、PCB文件和软件资料全部开源](https://wiki.lckfb.com/zh-hans/tspi-rk3566/open-source-hardware/) + +在本指南中会尽可能的详细介绍使用步骤和相关注意事项。 + +### 1.1. 芯片介绍 + +`Rockchip RK3566` 是中高端 `AIOT` 芯片: + +- 采用`22nm`制程工艺。 +- `4`核`Cortex-A55`的`64`位CPU。 +- 主频高达`1.8GHz`。 +- 集成`ARM Mali-G52 GPU` +- 集成`1Tops`算力的`AI`加速器`NPU`; +- 支持`4K 60FPS`解码。 +- 支持`1080P 60FPS`解码。 +- 支持`5M ISP`和`HDR`。 + +### 1.2. 宿主机环境介绍 + +本次使用的是 `Ubuntu22.04.5 LTS Desktop` 运行在`VMware`中。 + +系统信息如下: + +```bash +$ cat /etc/os-release +PRETTY_NAME="Ubuntu 22.04.5 LTS" +NAME="Ubuntu" +VERSION_ID="22.04" +VERSION="22.04.5 LTS (Jammy Jellyfish)" +VERSION_CODENAME=jammy +ID=ubuntu +ID_LIKE=debian +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +UBUNTU_CODENAME=jammy + +``` + +```bash +$ lsb_release -a +No LSB modules are available. +Distributor ID: Ubuntu +Description: Ubuntu 22.04.2 LTS +Release: 22.04 +Codename: jammy +``` + +`Python`版本如下: +```bash +$ python --version +Python 3.10.12 +``` + + +## 2. 环境搭建 + +运行下面的命令安装相关的软件包: + +1. 必要工具: +```bash +sudo apt update && \ +sudo apt install -y python3 python3-pip u-boot-tools device-tree-compiler +``` + +2. 使用`pip`安装工具: +```bash +pip3 install --user tqdm +``` + + +3. 设定`python`版本: +```bash +sudo rm -rf /usr/bin/python && \ +sudo ln -s /usr/bin/python3 /usr/bin/python +``` + + +4. 下载 `RT-Thread Smart` 工具链: +```bash +wget https://download.rt-thread.org/download/rt-smart/toolchains/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 + +``` + +5. 解压: +```bash +sudo tar -xf aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt +``` + +5. 将工具链下载后,解压至`/opt`目录。并设置环境变量 + +> 直接复制全部,然后粘贴到命令行回车即可。 + +```bash +export RTT_CC="gcc" +export RTT_EXEC_PATH="/opt/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/" +export RTT_CC_PREFIX="aarch64-linux-musleabi-" +export PATH="$RTT_EXEC_PATH:$PATH" +``` + +## 3. 编译 + +进入`rt-thread/bsp/rockchip/rk3566`目录下输入下面的命令: + +> 这个用于拉取`zlib`软件包,我们编译的时候需要用到。 + +```bash +source ~/.env/tools/scripts/pkgs --update +``` + +开始编译: + +> 或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。 + +```bash +scons -j$(nproc) +``` + +可以看到在当前`rk3566`文件夹中正常生成`rtthread.elf`与`rtthread.bin`文件。 + +## 3. 运行 + +### 3.1. 为板子烧录镜像 + +因为我需要在 `Uboot` 环境中使用命令进行引导 `rtthread` 系统,所以需要烧录相关的文件。 + +这里我是用的内核是 [泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/) 的 `Rockchip Linux5.10 SDK`: + +- `Github`:https://github.com/TaishanPi + +- 教程看 [宿主机构建方式](https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/openkylin-sdk-compilation.html) + +编译完成之后会在 `rockdev/` 目录下生成我们所需要的文件 + +将板子的所有镜像全部擦除: + +![rockchip-clean](./readme-images/rockchip-clean.jpg) + +然后使用`瑞芯微开发工具`烧录下面的`4`个文件: + +> > 注意: 因为我们的SDK是重新进行分区的,所以使用[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)需要下面的`4`个文件,其他板子没有测试,可以自行尝试。 + +- `MiniLoaderAll.bin` +- `parameter.txt` +- `uboot.img` +- `boot.img` + +### 3.2. 格式化TF卡 + +我们需要准备一张 `TF` 卡,用来存放 `rtthread.bin` 文件。 + +下载 `Rufus`:https://rufus.org.cn/ + +设定为下列的模式,然后点击`开始`: + +![rockchip-clean](./readme-images/rufus.jpg) + + +### 3.3. 制作boot.scr + +> 这里可以直接使用当前目录下的 `boot.scr`,同样也是用下面的方式制作出来的,如果有需求可以根据下面的方法自己制作。 + +前面我们已经安装过 `u-boot-tools` 所以直接使用即可。 + +创建 `boot.cmd`,并写入下面的内容: + +```bash +fatload mmc 1:1 0x480000 rtthread.bin; +fatload mmc 1:1 0x8300000 tspi-rk3566-user-v10-linux.dtb; +booti 0x480000 - 0x8300000; +``` +> 系统启动需要`设备树文件DTB`,这里我们[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)的`dtb`文件是`kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dtb`,其他的文件有不同的名字,可以根据不同的开发板选择。不然`rtthread`就会无法启动,详情请看文档最后面的 `常见问题与解决办法` + + +运行生成`boot.scr` + +```bash +mkimage -C none -A arm -T script -d boot.cmd boot.scr +``` + +### 3.4. 复制文件到TF卡 + +将下面三个文件复制到TF中: + +- `boot.scr` +- `tspi-rk3566-user-v10-linux.dtb` +- `rtthread.bin` + +![tf](./readme-images/tf.jpg) + +### 3.5. 运行 + +连接[开发板串口->MoBaXterm](https://wiki.lckfb.com/zh-hans/tspi-rk3566/tool-use/debug-tools-use.html): + +打开串口工具,选择对应串口,设置波特率为 `1500000` + +因为有 `boot.scr` 会自动引导启动`rtthread`: + +> 注意1:如果卡死在了 `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` 那么看`常见问题与解决办法`。 + +> 注意2:记得每次`rtthread`启动失败(在`uboot`中引导失败后),都应该将开发板完全断电然后在上电,清空内存。 + +> 注意3:如果多次自动引导失败可以手动在`uboot`界面运行 `boot.cmd` 的内容,手动引导,如果还不行,那就要考虑其他的因素了,例如TF质量问题,传输到TF卡中的文件有损坏等等等。 + +```bash +Hit key to stop autoboot('CTRL+C'): 0 +switch to partitions #0, OK +mmc1 is current device +Scanning mmc 1:1... +Found U-Boot script /boot.scr +reading /boot.scr +197 bytes read in 3 ms (63.5 KiB/s) +## Executing script at 00c00000 +reading rtthread.bin +1220848 bytes read in 104 ms (11.2 MiB/s) +reading tspi-rk3566-user-v10-linux.dtb +167469 bytes read in 17 ms (9.4 MiB/s) +Fdt Ramdisk skip relocation +No misc partition +## Flattened Device Tree blob at 0x08300000 + Booting using the fdt blob at 0x08300000 + Using Device Tree in place at 0000000008300000, end 000000000832be2c +No resource file: logo_kernel.bmp +** Unable to read file logo_kernel.bmp ** +Failed to do_load +VP0 fail to load kernel logo +vp0, plane_mask:0x3f, primary-id:4, curser-id:-1 +vp1, plane_mask:0x0, primary-id:0, curser-id:-1 +vp2, plane_mask:0x0, primary-id:0, curser-id:-1 +## reserved-memory: + drm-logo@00000000: addr=7df00000 size=ad000 + drm-cubic-lut@00000000: addr=7ff00000 size=8000 + ramoops@110000: addr=110000 size=f0000 +Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000) +Adding bank: 0x09400000 - 0x80000000 (size: 0x76c00000) +board seed: Pseudo +Total: 600.154/648.331 ms + +Starting kernel ... + +[I/rtdm.ofw] Booting RT-Thread on physical CPU 0x0 +[I/rtdm.ofw] Machine model: lckfb tspi V10 Board +[I/rtdm.ofw] Earlycon: uart8250 at MMIO/PIO 0x00000000fe660000 (options '') +[I/rtdm.ofw] Memory node(1) ranges: 0x0000000000200000 - 0x0000000008400000 +[I/rtdm.ofw] Memory node(1) ranges: 0x0000000009400000 - 0x0000000080000000 +[I/mm.memblock] System memory: +[I/mm.memblock] [0x0000000000200000, 0x0000000008400000] +[I/mm.memblock] [0x0000000009400000, 0x0000000080000000] +[I/mm.memblock] Reserved memory: +[I/mm.memblock] [0x0000000000110000, 0x0000000000200000] +[I/mm.memblock] [0x0000000000480000, 0x00000000006d0000] +[I/mm.memblock] [0x00000000006d0000, 0x00000000046d0000] +[I/mm.memblock] [0x00000000046d0000, 0x00000000048d0000] +[I/mm.memblock] [0x00000000048d0000, 0x00000000048fa000] +[I/mm.memblock] [0x0000000008300000, 0x000000000832a000] +[I/mm.memblock] [0x000000007df00000, 0x000000007dfad000] +[I/mm.memblock] [0x000000007ff00000, 0x000000007ff08000] +[I/mm.memblock] physical memory region [0x0000000000200000-0x0000000000480000] installed to system page +[I/mm.memblock] physical memory region [0x00000000048fa000-0x0000000008300000] installed to system page +[I/mm.memblock] physical memory region [0x000000000832a000-0x0000000008400000] installed to system page +[I/mm.memblock] physical memory region [0x0000000009400000-0x000000007df00000] installed to system page +[I/mm.memblock] physical memory region [0x000000007dfad000-0x000000007ff00000] installed to system page +[I/mm.memblock] physical memory region [0x000000007ff08000-0x0000000080000000] installed to system page +[I/mm.memblock] 2055 MB memory installed to system page +[I/osi.psci] Using PSCI v1.1 Function IDs +[I/clk.rk3568] set cpu_freq to 1800000000 +[I/rtdm.ofw] Console: uart0 (fiq-debugger) + + \ | / +- RT - Thread Smart Operating System + / | \ 5.2.1 build Jul 30 2025 08:58:40 + 2006 - 2024 Copyright by RT-Thread team +lwIP-2.1.2 initialized! +[I/sal.skt] Socket Abstraction Layer initialize success. +[I/utest] utest is initialize success. +[I/utest] total utest testcase num: (5) +[I/drivers.serial] Using /dev/ttyS0 as default console +Press any key to stop init process startup ... 3 +Press any key to stop init process startup ... 2 +Press any key to stop init process startup ... 1 +Starting init ... +[E/DFS.fs] mount point (/proc) already mounted! +[I/rtdm.mnt] File system initialization done +Hi, this is RT-Thread!! +msh />I/TC: Secondary CPU 1 initializing +I/TC: Secondary CPU 1 switching to normal world boot +o/[C3:2 mS[eIc/ocnpdua.raya 6C4P]U 2 inCiatlila lcipzui n1g + n success +I/TC: Secondary CPU 2 switching to normal world boot +I/TC: Secondary CPU 3 initializing +I/TC: Secondary CPU 3 switching to normal world boot +[I/cpu.aa64] Call cpu 2 on success +[I/cpu.aa64] Call cpu 3 on success + +msh /> +msh /> +``` + +## 常见问题与解决办法 + +### Could not find a valid device tree + +我们没有加载 `.dtb` 设备树文件直接启动就会出现这样的情况: + +```bash +Hit key to stop autoboot('CTRL+C'): 0 +=> +=> +=> +=> +=> +=> fatload mmc 1:1 0x480000 rtthread.bin +reading rtthread.bin +1220848 bytes read in 104 ms (11.2 MiB/s) +=> booti 0x480000 - 0x8300000 +Fdt Ramdisk skip relocation +No misc partition +ERROR: Did not find a cmdline Flattened Device Tree +Could not find a valid device tree +=> +``` + +> 注意:记得每次`rtthread`启动失败(在`uboot`中引导失败后),都应该将开发板完全断电然后在上电,清空内存。 + +然后将 `kernel/arch/arm64/boot/dts/rockchip/` 文件夹中编译之后的`.dtb`文件转移到TF卡中,然后使用 `fatload`从TF卡中加载到`0x8300000`地址然后再次跳转即可。 + + +### 卡在 `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` 无法启动 + +大概率和你的设备树有关系,在设备树中有一个参数很重要,需要被读取: + +> 这里我贴出我的参数,我的`Debug`串口硬件是`uart2m0` + +> 这个`chosen` 是重要的,如果不清楚,可以参照我这么写。 + +```ini + chosen: chosen { + bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0"; + }; + + fiq-debugger { + compatible = "rockchip,fiq-debugger"; + rockchip,serial-id = <2>; + rockchip,wake-irq = <0>; + /* If enable uart uses irq instead of fiq */ + rockchip,irq-mode-enable = <1>; + rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart2m0_xfer>; + status = "okay"; + }; +``` \ No newline at end of file diff --git a/bsp/rockchip/rk3566/SConscript b/bsp/rockchip/rk3566/SConscript new file mode 100644 index 00000000000..744d8d78214 --- /dev/null +++ b/bsp/rockchip/rk3566/SConscript @@ -0,0 +1,14 @@ +# for module compiling +import os +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/rockchip/rk3566/SConstruct b/bsp/rockchip/rk3566/SConstruct new file mode 100644 index 00000000000..ec6fe0187f2 --- /dev/null +++ b/bsp/rockchip/rk3566/SConstruct @@ -0,0 +1,29 @@ +import os +import sys +import rtconfig + +from rtconfig import RTT_ROOT + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +from building import * + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, + CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) +env['ASCOM'] = env['ASPPCOM'] + +Export('RTT_ROOT') +Export('rtconfig') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT, has_libcpu = False) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/rockchip/rk3566/applications/SConscript b/bsp/rockchip/rk3566/applications/SConscript new file mode 100644 index 00000000000..f407db0bc2d --- /dev/null +++ b/bsp/rockchip/rk3566/applications/SConscript @@ -0,0 +1,14 @@ +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') + Glob('*.cpp') +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 += SConscript(os.path.join(item, 'SConscript')) + +Return('group') diff --git a/bsp/rockchip/rk3566/applications/main.c b/bsp/rockchip/rk3566/applications/main.c new file mode 100644 index 00000000000..02155bf206a --- /dev/null +++ b/bsp/rockchip/rk3566/applications/main.c @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2017-5-30 Bernard the first version + */ + +#include + +int main(int argc, char** argv) +{ + rt_kprintf("Hi, this is RT-Thread!!\n"); + + return 0; +} diff --git a/bsp/rockchip/rk3566/boot.cmd b/bsp/rockchip/rk3566/boot.cmd new file mode 100644 index 00000000000..a78c42607ae --- /dev/null +++ b/bsp/rockchip/rk3566/boot.cmd @@ -0,0 +1,3 @@ +fatload mmc 1:1 0x480000 rtthread.bin; +fatload mmc 1:1 0x8300000 tspi-rk3566-user-v10-linux.dtb; +booti 0x480000 - 0x8300000; diff --git a/bsp/rockchip/rk3566/boot.scr b/bsp/rockchip/rk3566/boot.scr new file mode 100644 index 0000000000000000000000000000000000000000..14dae4e6d3ad238c7605a188d4e527e70d885af3 GIT binary patch literal 197 zcmY#ql?6R9!7U`B58tCR^ b=9O0HrIaLDb0y{Hmt-Q0)de!4TCKSNAd@V% literal 0 HcmV?d00001 diff --git a/bsp/rockchip/rk3566/driver/Kconfig b/bsp/rockchip/rk3566/driver/Kconfig new file mode 100644 index 00000000000..d0730821614 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/Kconfig @@ -0,0 +1,6 @@ +menu "RT-Thread rockchip RK3500 drivers" + +source "$BSP_DIR/driver/clk/Kconfig" +source "$BSP_DIR/driver/uart8250/Kconfig" +source "$BSP_DIR/driver/hwtimer/Kconfig" +endmenu diff --git a/bsp/rockchip/rk3566/driver/SConscript b/bsp/rockchip/rk3566/driver/SConscript new file mode 100644 index 00000000000..17f80c100b7 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/SConscript @@ -0,0 +1,19 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +list = os.listdir(cwd) +CPPPATH = [cwd] +objs = [] + +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +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')) +objs = objs + group + +Return('objs') diff --git a/bsp/rockchip/rk3566/driver/board.c b/bsp/rockchip/rk3566/driver/board.c new file mode 100644 index 00000000000..9d19b8b3961 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/board.c @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ +#include +#include +#include + +void rt_hw_board_init(void) +{ +#if RT_VER_NUM < 0x50200 + rt_fdt_commit_memregion_early(&(rt_region_t) + { + .name = "memheap", + .start = (rt_size_t)rt_kmem_v2p(HEAP_BEGIN), + .end = (rt_size_t)rt_kmem_v2p(HEAP_END), + }, RT_TRUE); +#endif + rt_hw_common_setup(); +} + +void reboot(void) +{ + psci_system_reboot(); +} +MSH_CMD_EXPORT(reboot, reboot...); + +void rt_hw_cpu_shutdown(void) +{ + psci_system_off(); +} +MSH_CMD_EXPORT_ALIAS(rt_hw_cpu_shutdown, shutdown, shutdown...); diff --git a/bsp/rockchip/rk3566/driver/board.h b/bsp/rockchip/rk3566/driver/board.h new file mode 100644 index 00000000000..1c02d75a6b9 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/board.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2017-5-30 Bernard the first version + */ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +#include + +extern unsigned char __bss_start; +extern unsigned char __bss_end; + +#define HEAP_BEGIN (void *)&__bss_end +#define HEAP_END ((void *)HEAP_BEGIN + 64 * 1024 * 1024) + + +void rt_hw_board_init(void); + +#endif /* __BOARD_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/Kconfig b/bsp/rockchip/rk3566/driver/clk/Kconfig new file mode 100644 index 00000000000..15a2b1e99e0 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/Kconfig @@ -0,0 +1,15 @@ +menuconfig RT_CLK_ROCKCHIP + bool "Rockchip clock controller common" + select RT_USING_OFW + select RT_USING_RESET + default n + +config RT_CLK_ROCKCHIP_RK3568 + bool "Rockchip RK3568 clock controller support" + depends on RT_CLK_ROCKCHIP + default n + +config RT_CLK_ROCKCHIP_RK3588 + bool "Rockchip RK3588 clock controller support" + depends on RT_CLK_ROCKCHIP + default n diff --git a/bsp/rockchip/rk3566/driver/clk/SConscript b/bsp/rockchip/rk3566/driver/clk/SConscript new file mode 100644 index 00000000000..91bb28839db --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/SConscript @@ -0,0 +1,16 @@ +from building import * + +cwd = GetCurrentDir() +CPPPATH = [cwd] + +src = [] + +if GetDepend(['RT_CLK_ROCKCHIP_RK3568']): + src += ['clk-rk3568.c'] + +if GetDepend(['RT_CLK_ROCKCHIP_RK3588']): + src += ['clk-rk3588.c'] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c b/bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c new file mode 100644 index 00000000000..a27c921cc6a --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ + +#define ROCKCHIP_MMC_DELAY_SEL RT_BIT(11) +#define ROCKCHIP_MMC_DEGREE_OFFSET 1 +#define ROCKCHIP_MMC_DEGREE_MASK (0x3 << ROCKCHIP_MMC_DEGREE_OFFSET) +#define ROCKCHIP_MMC_DELAYNUM_OFFSET 3 +#define ROCKCHIP_MMC_DELAYNUM_MASK (0xff << ROCKCHIP_MMC_DELAYNUM_OFFSET) +/* + * Each fine delay is between 44ps-77ps. Assume each fine delay is 60ps to + * simplify calculations. So 45degs could be anywhere between 33deg and 57.8deg. + */ +#define ROCKCHIP_MMC_DELAY_ELEMENT_PSEC 60 + +#define PSECS_PER_SEC 1000000000000LL + +#define RK3288_MMC_CLKGEN_DIV 2 + +rt_inline rt_ubase_t rk_clk_mmc_recalc(rt_ubase_t parent_rate) +{ + return parent_rate / RK3288_MMC_CLKGEN_DIV; +} + +static rt_err_t rk_clk_mmc_set_phase(rt_ubase_t rate, void *reg, int shift, + int degrees) +{ + rt_uint32_t raw_value, delay; + rt_uint8_t nineties, remainder, delay_num; + + /* + * The below calculation is based on the output clock from + * MMC host to the card, which expects the phase clock inherits + * the clock rate from its parent, namely the output clock + * provider of MMC host. However, things may go wrong if + * (1) It is orphan. + * (2) It is assigned to the wrong parent. + * + * This check help debug the case (1), which seems to be the + * most likely problem we often face and which makes it difficult + * for people to debug unstable mmc tuning results. + */ + if (!rate) + { + LOG_E("Invalid CLK rate in phase setting"); + + return -RT_EINVAL; + } + + nineties = degrees / 90; + remainder = (degrees % 90); + + /* + * Due to the inexact nature of the "fine" delay, we might + * actually go non-monotonic. We don't go _too_ monotonic + * though, so we should be OK. Here are options of how we may + * work: + * + * Ideally we end up with: + * 1.0, 2.0, ..., 69.0, 70.0, ..., 89.0, 90.0 + * + * On one extreme (if delay is actually 44ps): + * .73, 1.5, ..., 50.6, 51.3, ..., 65.3, 90.0 + * The other (if delay is actually 77ps): + * 1.3, 2.6, ..., 88.6. 89.8, ..., 114.0, 90 + * + * It's possible we might make a delay that is up to 25 + * degrees off from what we think we're making. That's OK + * though because we should be REALLY far from any bad range. + */ + + /* + * Convert to delay; do a little extra work to make sure we + * don't overflow 32-bit / 64-bit numbers. + */ + delay = 10000000; /* PSECS_PER_SEC / 10000 / 10 */ + delay *= remainder; + delay = RT_DIV_ROUND_CLOSEST(delay, (rate / 1000) * 36 * + (ROCKCHIP_MMC_DELAY_ELEMENT_PSEC / 10)); + + delay_num = (rt_uint8_t)rt_min_t(rt_uint32_t, delay, 255); + + raw_value = delay_num ? ROCKCHIP_MMC_DELAY_SEL : 0; + raw_value |= delay_num << ROCKCHIP_MMC_DELAYNUM_OFFSET; + raw_value |= nineties; + HWREG32(reg) = HIWORD_UPDATE(raw_value, 0x07ff, shift); + + return RT_EOK; +} + +static rt_base_t rk_clk_mmc_get_phase(rt_ubase_t rate, void *reg, int shift) +{ + rt_uint16_t degrees; + rt_uint32_t raw_value, delay_num = 0; + + /* Constant signal, no measurable phase shift */ + if (!rate) + { + return 0; + } + + raw_value = HWREG32(reg) >> shift; + degrees = (raw_value & ROCKCHIP_MMC_DEGREE_MASK) * 90; + + if (raw_value & ROCKCHIP_MMC_DELAY_SEL) + { + /* degrees/delaynum * 1000000 */ + rt_ubase_t factor = (ROCKCHIP_MMC_DELAY_ELEMENT_PSEC / 10) * + 36 * (rate / 10000); + + delay_num = (raw_value & ROCKCHIP_MMC_DELAYNUM_MASK); + delay_num >>= ROCKCHIP_MMC_DELAYNUM_OFFSET; + degrees += RT_DIV_ROUND_CLOSEST(delay_num * factor, 1000000); + } + + return degrees % 360; +} diff --git a/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c b/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c new file mode 100644 index 00000000000..385f54853b7 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c @@ -0,0 +1,403 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ + +/* Define pll mode */ +#define RKCLK_PLL_MODE_SLOW 0 +#define RKCLK_PLL_MODE_NORMAL 1 +#define RKCLK_PLL_MODE_DEEP 2 + +/* Only support RK3036 type CLK */ +#define PLLCON0_FBDIV_MASK 0xfff +#define PLLCON0_FBDIV_SHIFT 0 +#define PLLCON0_POSTDIV1_MASK (0x7 << 12) +#define PLLCON0_POSTDIV1_SHIFT 12 +#define PLLCON1_LOCK_STATUS (1 << 10) +#define PLLCON1_REFDIV_MASK 0x3f +#define PLLCON1_REFDIV_SHIFT 0 +#define PLLCON1_POSTDIV2_MASK (0x7 << 6) +#define PLLCON1_POSTDIV2_SHIFT 6 +#define PLLCON1_DSMPD_MASK (0x1 << 12) +#define PLLCON1_DSMPD_SHIFT 12 +#define PLLCON2_FRAC_MASK 0xffffff +#define PLLCON2_FRAC_SHIFT 0 +#define PLLCON1_PWRDOWN_SHIT 13 +#define PLLCON1_PWRDOWN (1 << PLLCON1_PWRDOWN_SHIT) + +#define MIN_FOUTVCO_FREQ (800 * MHZ) +#define MAX_FOUTVCO_FREQ (2000 * MHZ) + +static struct rk_pll_rate_table auto_table; + +static int gcd(int m, int n) +{ + while (m > 0) + { + if (n > m) + { + int t = m; + m = n; + n = t; + } + m -= n; + } + + return n; +} + +/* + * rational_best_approximation(31415, 10000, + * (1 << 8) - 1, (1 << 5) - 1, &n, &d); + * + * you may look at given_numerator as a fixed point number, + * with the fractional part size described in given_denominator. + * + * for theoretical background, see: + * http://en.wikipedia.org/wiki/Continued_fraction + */ +static void rational_best_approximation(rt_ubase_t given_numerator, + rt_ubase_t given_denominator, + rt_ubase_t max_numerator, + rt_ubase_t max_denominator, + rt_ubase_t *best_numerator, + rt_ubase_t *best_denominator) +{ + rt_ubase_t n, d, n0, d0, n1, d1; + + n = given_numerator; + d = given_denominator; + n0 = 0; + d1 = 0; + n1 = 1; + d0 = 1; + + for (;;) + { + rt_ubase_t t, a; + + if (n1 > max_numerator || d1 > max_denominator) + { + n1 = n0; + d1 = d0; + break; + } + if (d == 0) + { + break; + } + t = d; + a = n / d; + d = n % d; + n = t; + t = n0 + a * n1; + n0 = n1; + n1 = t; + t = d0 + a * d1; + d0 = d1; + d1 = t; + } + *best_numerator = n1; + *best_denominator = d1; +} + +/* + * How to calculate the PLL(from TRM V0.3 Part 1 Page 63): + * Formulas also embedded within the Fractional PLL Verilog model: + * If DSMPD = 1 (DSM is disabled, "integer mode") + * FOUTVCO = FREF / REFDIV * FBDIV + * FOUTPOSTDIV = FOUTVCO / POSTDIV1 / POSTDIV2 + * Where: + * FOUTVCO = Fractional PLL non-divided output frequency + * FOUTPOSTDIV = Fractional PLL divided output frequency + * (output of second post divider) + * FREF = Fractional PLL input reference frequency, (the OSC_HZ 24MHz input) + * REFDIV = Fractional PLL input reference clock divider + * FBDIV = Integer value programmed into feedback divide + */ + +static int rk_pll_clk_set_postdiv(rt_ubase_t fout_hz, rt_uint32_t *postdiv1, + rt_uint32_t *postdiv2, rt_uint32_t *foutvco) +{ + rt_ubase_t freq; + + if (fout_hz < MIN_FOUTVCO_FREQ) + { + for (*postdiv1 = 1; *postdiv1 <= 7; ++(*postdiv1)) + { + for (*postdiv2 = 1; *postdiv2 <= 7; ++(*postdiv2)) + { + freq = fout_hz * (*postdiv1) * (*postdiv2); + if (freq >= MIN_FOUTVCO_FREQ && freq <= MAX_FOUTVCO_FREQ) + { + *foutvco = freq; + return 0; + } + } + } + } + else + { + *postdiv1 = 1; + *postdiv2 = 1; + } + return 0; +} + +static struct rk_pll_rate_table *rk_pll_clk_set_by_auto(rt_ubase_t fin_hz, rt_ubase_t fout_hz) +{ + struct rk_pll_rate_table *rate_table = &auto_table; + rt_uint32_t foutvco = fout_hz; + rt_ubase_t fin_64, frac_64; + rt_uint32_t f_frac, postdiv1, postdiv2; + rt_ubase_t clk_gcd = 0; + + if (fin_hz == 0 || fout_hz == 0 || fout_hz == fin_hz) + { + return RT_NULL; + } + + rk_pll_clk_set_postdiv(fout_hz, &postdiv1, &postdiv2, &foutvco); + rate_table->postdiv1 = postdiv1; + rate_table->postdiv2 = postdiv2; + rate_table->dsmpd = 1; + + if (fin_hz / MHZ * MHZ == fin_hz && fout_hz / MHZ * MHZ == fout_hz) + { + fin_hz /= MHZ; + foutvco /= MHZ; + clk_gcd = gcd(fin_hz, foutvco); + rate_table->refdiv = fin_hz / clk_gcd; + rate_table->fbdiv = foutvco / clk_gcd; + + rate_table->frac = 0; + } + else + { + clk_gcd = gcd(fin_hz / MHZ, foutvco / MHZ); + rate_table->refdiv = fin_hz / MHZ / clk_gcd; + rate_table->fbdiv = foutvco / MHZ / clk_gcd; + + rate_table->frac = 0; + + f_frac = (foutvco % MHZ); + fin_64 = fin_hz; + fin_64 = fin_64 / rate_table->refdiv; + frac_64 = f_frac << 24; + frac_64 = frac_64 / fin_64; + rate_table->frac = frac_64; + + if (rate_table->frac > 0) + { + rate_table->dsmpd = 0; + } + } + return rate_table; +} + +static const struct rk_pll_rate_table *rk_get_pll_settings(struct rk_pll_clock *pll, rt_ubase_t rate) +{ + struct rk_pll_rate_table *rate_table = pll->rate_table; + + while (rate_table->rate) + { + if (rate_table->rate == rate) + { + break; + } + ++rate_table; + } + + if (rate_table->rate != rate) + { + return rk_pll_clk_set_by_auto(24 * MHZ, rate); + } + else + { + return rate_table; + } +} + +static rt_ubase_t rk_pll_get_rate(struct rk_pll_clock *pll, void *base); + +static int rk_pll_set_rate(struct rk_pll_clock *pll, void *base, rt_ubase_t drate) +{ + const struct rk_pll_rate_table *rate; + + if (rk_pll_get_rate(pll, base) == drate) + { + return 0; + } + + pll->mode_mask = PLL_MODE_MASK; + rate = rk_get_pll_settings(pll, drate); + + if (!rate) + { + return -RT_ERROR; + } + + /* + * When power on or changing PLL setting, we must force PLL into slow mode + * to ensure output stable clock. + */ + rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_SLOW << pll->mode_shift); + + /* Power down */ + rk_setreg(base + pll->con_offset + 0x4, 1 << PLLCON1_PWRDOWN_SHIT); + + rk_clrsetreg(base + pll->con_offset, (PLLCON0_POSTDIV1_MASK | PLLCON0_FBDIV_MASK), + (rate->postdiv1 << PLLCON0_POSTDIV1_SHIFT) |rate->fbdiv); + rk_clrsetreg(base + pll->con_offset + 0x4, (PLLCON1_POSTDIV2_MASK | PLLCON1_REFDIV_MASK), + (rate->postdiv2 << PLLCON1_POSTDIV2_SHIFT | rate->refdiv << PLLCON1_REFDIV_SHIFT)); + + if (!rate->dsmpd) + { + rt_uint32_t val; + + rk_clrsetreg(base + pll->con_offset + 0x4, PLLCON1_DSMPD_MASK, + rate->dsmpd << PLLCON1_DSMPD_SHIFT); + + val = HWREG32(base + pll->con_offset + 0x8) & (~PLLCON2_FRAC_MASK); + HWREG32(base + pll->con_offset + 0x8) = val | (rate->frac << PLLCON2_FRAC_SHIFT); + } + + /* Power Up */ + rk_clrreg(base + pll->con_offset + 0x4, 1 << PLLCON1_PWRDOWN_SHIT); + + /* Waiting for pll lock */ + while (!(HWREG32(base + pll->con_offset + 0x4) & (1 << pll->lock_shift))) + { + } + + rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_NORMAL << pll->mode_shift); + + return 0; +} + +static rt_ubase_t rk_pll_get_rate(struct rk_pll_clock *pll, void *base) +{ + rt_uint32_t refdiv, fbdiv, postdiv1, postdiv2, dsmpd, frac; + rt_uint32_t con = 0, shift, mask; + rt_ubase_t rate; + + pll->mode_mask = PLL_MODE_MASK; + + con = HWREG32(base + pll->mode_offset); + shift = pll->mode_shift; + mask = pll->mode_mask << shift; + + switch ((con & mask) >> shift) + { + case RKCLK_PLL_MODE_SLOW: + return OSC_HZ; + case RKCLK_PLL_MODE_NORMAL: + /* normal mode */ + con = HWREG32(base + pll->con_offset); + postdiv1 = (con & PLLCON0_POSTDIV1_MASK) >> PLLCON0_POSTDIV1_SHIFT; + fbdiv = (con & PLLCON0_FBDIV_MASK) >> PLLCON0_FBDIV_SHIFT; + con = HWREG32(base + pll->con_offset + 0x4); + postdiv2 = (con & PLLCON1_POSTDIV2_MASK) >> PLLCON1_POSTDIV2_SHIFT; + refdiv = (con & PLLCON1_REFDIV_MASK) >> PLLCON1_REFDIV_SHIFT; + dsmpd = (con & PLLCON1_DSMPD_MASK) >> PLLCON1_DSMPD_SHIFT; + con = HWREG32(base + pll->con_offset + 0x8); + frac = (con & PLLCON2_FRAC_MASK) >> PLLCON2_FRAC_SHIFT; + rate = (24 * fbdiv / (refdiv * postdiv1 * postdiv2)) * 1000000; + + if (dsmpd == 0) + { + rt_uint64_t frac_rate = OSC_HZ * (rt_uint64_t)frac; + + rt_do_div(frac_rate, refdiv); + frac_rate >>= 24; + rt_do_div(frac_rate, postdiv1); + rt_do_div(frac_rate, postdiv1); + rate += frac_rate; + } + return rate; + case RKCLK_PLL_MODE_DEEP: + default: + return 32768; + } +} + +static const struct rk_cpu_rate_table *rk_get_cpu_settings(struct rk_cpu_rate_table *cpu_table, rt_ubase_t rate) +{ + struct rk_cpu_rate_table *ps = cpu_table; + + while (ps->rate) + { + if (ps->rate == rate) + { + break; + } + ++ps; + } + if (ps->rate != rate) + { + return RT_NULL; + } + else + { + return ps; + } +} + +static rt_base_t rk_clk_pll_round_rate(const struct rk_pll_rate_table *pll_rates, + rt_size_t rate_count, rt_ubase_t drate, rt_ubase_t *prate) +{ + int i; + + /* Assumming rate_table is in descending order */ + for (i = 0; i < rate_count; i++) + { + if (drate >= pll_rates[i].rate) + { + return pll_rates[i].rate; + } + } + + /* return minimum supported value */ + return pll_rates[i - 1].rate; +} + +static void rk_clk_set_default_rates(struct rt_clk *clk, + rt_err_t (*clk_set_rate)(struct rt_clk *, rt_ubase_t, rt_ubase_t), int id) +{ + rt_uint32_t rate; + struct rt_ofw_cell_args clk_args; + struct rt_ofw_node *np = clk->fw_node; + const char *rate_propname = "assigned-clock-rates"; + + if (!rt_ofw_prop_read_bool(np, rate_propname)) + { + return; + } + + for (int i = 0; ; ++i) + { + if (rt_ofw_parse_phandle_cells(np, "assigned-clocks", "#clock-cells", i, &clk_args)) + { + break; + } + + rt_ofw_node_put(clk_args.data); + + if (clk_args.args[0] != id) + { + continue; + } + + if (!rt_ofw_prop_read_u32_index(np, rate_propname, i, &rate)) + { + clk_set_rate(clk, rate, 0); + } + + break; + } +} diff --git a/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c b/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c new file mode 100644 index 00000000000..1b8ad79370f --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c @@ -0,0 +1,727 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-11-03 zmshahaha the first version + */ + +#define PLL_MODE_MASK 0x3 +#define PLL_RK3328_MODE_MASK 0x1 + +/* Define pll mode */ +#define RKCLK_PLL_MODE_SLOW 0 +#define RKCLK_PLL_MODE_NORMAL 1 +#define RKCLK_PLL_MODE_DEEP 2 + +/* Only support RK3036 type CLK */ +#define RK3036_PLLCON0_FBDIV_MASK 0xfff +#define RK3036_PLLCON0_FBDIV_SHIFT 0 +#define RK3036_PLLCON0_POSTDIV1_MASK (0x7 << 12) +#define RK3036_PLLCON0_POSTDIV1_SHIFT 12 +#define RK3036_PLLCON1_LOCK_STATUS (1 << 10) +#define RK3036_PLLCON1_REFDIV_MASK 0x3f +#define RK3036_PLLCON1_REFDIV_SHIFT 0 +#define RK3036_PLLCON1_POSTDIV2_MASK (0x7 << 6) +#define RK3036_PLLCON1_POSTDIV2_SHIFT 6 +#define RK3036_PLLCON1_DSMPD_MASK (0x1 << 12) +#define RK3036_PLLCON1_DSMPD_SHIFT 12 +#define RK3036_PLLCON2_FRAC_MASK 0xffffff +#define RK3036_PLLCON2_FRAC_SHIFT 0 +#define RK3036_PLLCON1_PWRDOWN_SHIT 13 +#define RK3036_PLLCON1_PWRDOWN (1 << RK3036_PLLCON1_PWRDOWN_SHIT) + +#define VCO_MAX_HZ (3200UL * MHZ) +#define VCO_MIN_HZ (800UL * MHZ) +#define OUTPUT_MAX_HZ (3200UL * MHZ) +#define OUTPUT_MIN_HZ (24UL * MHZ) +#define MIN_FOUTVCO_FREQ (800UL * MHZ) +#define MAX_FOUTVCO_FREQ (2000UL * MHZ) + +#define RK3588_VCO_MIN_HZ (2250UL * MHZ) +#define RK3588_VCO_MAX_HZ (4500UL * MHZ) +#define RK3588_FOUT_MIN_HZ (37UL * MHZ) +#define RK3588_FOUT_MAX_HZ (4500UL * MHZ) + +#define RK3588_PLLCON(i) ((i) * 0x4) +#define RK3588_PLLCON0_M_MASK (0x3ff << 0) +#define RK3588_PLLCON0_M_SHIFT 0 +#define RK3588_PLLCON1_P_MASK (0x3f << 0) +#define RK3588_PLLCON1_P_SHIFT 0 +#define RK3588_PLLCON1_S_MASK (0x7 << 6) +#define RK3588_PLLCON1_S_SHIFT 6 +#define RK3588_PLLCON2_K_MASK 0xffff +#define RK3588_PLLCON2_K_SHIFT 0 +#define RK3588_PLLCON1_PWRDOWN (1 << 13) +#define RK3588_PLLCON6_LOCK_STATUS (1 << 15) +#define RK3588_B0PLL_CLKSEL_CON(i) ((i) * 0x4 + 0x50000 + 0x300) +#define RK3588_B1PLL_CLKSEL_CON(i) ((i) * 0x4 + 0x52000 + 0x300) +#define RK3588_LPLL_CLKSEL_CON(i) ((i) * 0x4 + 0x58000 + 0x300) +#define RK3588_CORE_DIV_MASK 0x1f +#define RK3588_CORE_L02_DIV_SHIFT 0 +#define RK3588_CORE_L13_DIV_SHIFT 7 +#define RK3588_CORE_B02_DIV_SHIFT 8 +#define RK3588_CORE_B13_DIV_SHIFT 0 + +static struct rk_pll_rate_table auto_table; + +static int gcd(int m, int n) +{ + while (m > 0) + { + if (n > m) + { + int t = m; + m = n; + n = t; + } + m -= n; + } + + return n; +} + +/* + * rational_best_approximation(31415, 10000, + * (1 << 8) - 1, (1 << 5) - 1, &n, &d); + * + * you may look at given_numerator as a fixed point number, + * with the fractional part size described in given_denominator. + * + * for theoretical background, see: + * http://en.wikipedia.org/wiki/Continued_fraction + */ +void rational_best_approximation(rt_ubase_t given_numerator, + rt_ubase_t given_denominator, + rt_ubase_t max_numerator, + rt_ubase_t max_denominator, + rt_ubase_t *best_numerator, + rt_ubase_t *best_denominator) +{ + rt_ubase_t n, d, n0, d0, n1, d1; + + n = given_numerator; + d = given_denominator; + n0 = 0; + d1 = 0; + n1 = 1; + d0 = 1; + + for (;;) + { + rt_ubase_t t, a; + + if (n1 > max_numerator || d1 > max_denominator) + { + n1 = n0; + d1 = d0; + break; + } + if (d == 0) + { + break; + } + t = d; + a = n / d; + d = n % d; + n = t; + t = n0 + a * n1; + n0 = n1; + n1 = t; + t = d0 + a * d1; + d0 = d1; + d1 = t; + } + *best_numerator = n1; + *best_denominator = d1; +} + +/* + * How to calculate the PLL(from TRM V0.3 Part 1 Page 63): + * Formulas also embedded within the Fractional PLL Verilog model: + * If DSMPD = 1 (DSM is disabled, "integer mode") + * FOUTVCO = FREF / REFDIV * FBDIV + * FOUTPOSTDIV = FOUTVCO / POSTDIV1 / POSTDIV2 + * Where: + * FOUTVCO = Fractional PLL non-divided output frequency + * FOUTPOSTDIV = Fractional PLL divided output frequency + * (output of second post divider) + * FREF = Fractional PLL input reference frequency, (the OSC_HZ 24MHz input) + * REFDIV = Fractional PLL input reference clock divider + * FBDIV = Integer value programmed into feedback divide + */ + +static int rk_pll_clk_set_postdiv(rt_ubase_t fout_hz, rt_uint32_t *postdiv1, + rt_uint32_t *postdiv2, rt_uint32_t *foutvco) +{ + rt_ubase_t freq; + + if (fout_hz < MIN_FOUTVCO_FREQ) + { + for (*postdiv1 = 1; *postdiv1 <= 7; ++(*postdiv1)) + { + for (*postdiv2 = 1; *postdiv2 <= 7; ++(*postdiv2)) + { + freq = fout_hz * (*postdiv1) * (*postdiv2); + if (freq >= MIN_FOUTVCO_FREQ && freq <= MAX_FOUTVCO_FREQ) + { + *foutvco = freq; + return 0; + } + } + } + } + else + { + *postdiv1 = 1; + *postdiv2 = 1; + } + return 0; +} + +static struct rk_pll_rate_table *rk_pll_clk_set_by_auto(rt_ubase_t fin_hz, rt_ubase_t fout_hz) +{ + struct rk_pll_rate_table *rate_table = &auto_table; + rt_uint32_t foutvco = fout_hz; + rt_ubase_t fin_64, frac_64; + rt_uint32_t f_frac, postdiv1, postdiv2; + rt_ubase_t clk_gcd = 0; + + if (fin_hz == 0 || fout_hz == 0 || fout_hz == fin_hz) + { + return RT_NULL; + } + + rk_pll_clk_set_postdiv(fout_hz, &postdiv1, &postdiv2, &foutvco); + rate_table->postdiv1 = postdiv1; + rate_table->postdiv2 = postdiv2; + rate_table->dsmpd = 1; + + if (fin_hz / MHZ * MHZ == fin_hz && fout_hz / MHZ * MHZ == fout_hz) + { + fin_hz /= MHZ; + foutvco /= MHZ; + clk_gcd = gcd(fin_hz, foutvco); + rate_table->refdiv = fin_hz / clk_gcd; + rate_table->fbdiv = foutvco / clk_gcd; + + rate_table->frac = 0; + } + else + { + clk_gcd = gcd(fin_hz / MHZ, foutvco / MHZ); + rate_table->refdiv = fin_hz / MHZ / clk_gcd; + rate_table->fbdiv = foutvco / MHZ / clk_gcd; + + rate_table->frac = 0; + + f_frac = (foutvco % MHZ); + fin_64 = fin_hz; + fin_64 = fin_64 / rate_table->refdiv; + frac_64 = f_frac << 24; + frac_64 = frac_64 / fin_64; + rate_table->frac = frac_64; + + if (rate_table->frac > 0) + { + rate_table->dsmpd = 0; + } + } + return rate_table; +} + +static struct rk_pll_rate_table * +rk3588_pll_clk_set_by_auto(rt_ubase_t fin_hz, + rt_ubase_t fout_hz) +{ + struct rk_pll_rate_table *rate_table = &auto_table; + rt_uint32_t p, m, s; + rt_ubase_t fvco, fref, fout, ffrac; + + if (fin_hz == 0 || fout_hz == 0 || fout_hz == fin_hz) + return NULL; + + if (fout_hz > RK3588_FOUT_MAX_HZ || fout_hz < RK3588_FOUT_MIN_HZ) + return NULL; + + if (fin_hz / MHZ * MHZ == fin_hz && fout_hz / MHZ * MHZ == fout_hz) + { + for (s = 0; s <= 6; s++) + { + fvco = fout_hz << s; + if (fvco < RK3588_VCO_MIN_HZ || + fvco > RK3588_VCO_MAX_HZ) + continue; + for (p = 2; p <= 4; p++) + { + for (m = 64; m <= 1023; m++) + { + if (fvco == m * fin_hz / p) + { + rate_table->p = p; + rate_table->m = m; + rate_table->s = s; + rate_table->k = 0; + return rate_table; + } + } + } + } + LOG_E("CANNOT FIND Fout by auto,fout = %lu\n", fout_hz); + } else { + for (s = 0; s <= 6; s++) + { + fvco = fout_hz << s; + if (fvco < RK3588_VCO_MIN_HZ || + fvco > RK3588_VCO_MAX_HZ) + continue; + for (p = 1; p <= 4; p++) + { + for (m = 64; m <= 1023; m++) + { + if ((fvco >= m * fin_hz / p) && (fvco < (m + 1) * fin_hz / p)) + { + rate_table->p = p; + rate_table->m = m; + rate_table->s = s; + fref = fin_hz / p; + ffrac = fvco - (m * fref); + fout = ffrac * 65536; + rate_table->k = fout / fref; + return rate_table; + } + } + } + } + LOG_E("CANNOT FIND Fout by auto,fout = %lu\n", fout_hz); + } + return NULL; +} + +static const struct rk_pll_rate_table *rk_get_pll_settings(struct rk_pll_clock *pll, rt_ubase_t rate) +{ + struct rk_pll_rate_table *rate_table = pll->rate_table; + + while (rate_table->rate) + { + if (rate_table->rate == rate) + { + break; + } + ++rate_table; + } + + if (rate_table->rate != rate) + { + if (pll->type == pll_rk3588) + return rk3588_pll_clk_set_by_auto(24 * MHZ, rate); + else + return rk_pll_clk_set_by_auto(24 * MHZ, rate); + } + else + { + return rate_table; + } +} + +static int rk3036_pll_set_rate(struct rk_pll_clock *pll, void *base, rt_ubase_t pll_id, rt_ubase_t drate) +{ + const struct rk_pll_rate_table *rate; + + rate = rk_get_pll_settings(pll, drate); + + if (!rate) + { + return -RT_ERROR; + } + + /* + * When power on or changing PLL setting, we must force PLL into slow mode + * to ensure output stable clock. + */ + rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_SLOW << pll->mode_shift); + + /* Power down */ + rk_setreg(base + pll->con_offset + 0x4, 1 << RK3036_PLLCON1_PWRDOWN_SHIT); + + rk_clrsetreg(base + pll->con_offset, (RK3036_PLLCON0_POSTDIV1_MASK | RK3036_PLLCON0_FBDIV_MASK), + (rate->postdiv1 << RK3036_PLLCON0_POSTDIV1_SHIFT) |rate->fbdiv); + rk_clrsetreg(base + pll->con_offset + 0x4, (RK3036_PLLCON1_POSTDIV2_MASK | RK3036_PLLCON1_REFDIV_MASK), + (rate->postdiv2 << RK3036_PLLCON1_POSTDIV2_SHIFT | rate->refdiv << RK3036_PLLCON1_REFDIV_SHIFT)); + + if (!rate->dsmpd) + { + rt_uint32_t val; + + rk_clrsetreg(base + pll->con_offset + 0x4, RK3036_PLLCON1_DSMPD_MASK, + rate->dsmpd << RK3036_PLLCON1_DSMPD_SHIFT); + + val = HWREG32(base + pll->con_offset + 0x8) & (~RK3036_PLLCON2_FRAC_MASK); + HWREG32(base + pll->con_offset + 0x8) = val | (rate->frac << RK3036_PLLCON2_FRAC_SHIFT); + } + + /* Power Up */ + rk_clrreg(base + pll->con_offset + 0x4, 1 << RK3036_PLLCON1_PWRDOWN_SHIT); + + /* Waiting for pll lock */ + while (!(HWREG32(base + pll->con_offset + 0x4) & (1 << pll->lock_shift))) + { + } + + rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_NORMAL << pll->mode_shift); + + return 0; +} + +static rt_ubase_t rk3036_pll_get_rate(struct rk_pll_clock *pll, void *base, rt_ubase_t pll_id) +{ + rt_uint32_t refdiv, fbdiv, postdiv1, postdiv2, dsmpd, frac; + rt_uint32_t con = 0, shift, mask; + rt_ubase_t rate; + + pll->mode_mask = PLL_MODE_MASK; + + con = HWREG32(base + pll->mode_offset); + shift = pll->mode_shift; + mask = pll->mode_mask << shift; + + switch ((con & mask) >> shift) + { + case RKCLK_PLL_MODE_SLOW: + return OSC_HZ; + case RKCLK_PLL_MODE_NORMAL: + /* normal mode */ + con = HWREG32(base + pll->con_offset); + postdiv1 = (con & RK3036_PLLCON0_POSTDIV1_MASK) >> RK3036_PLLCON0_POSTDIV1_SHIFT; + fbdiv = (con & RK3036_PLLCON0_FBDIV_MASK) >> RK3036_PLLCON0_FBDIV_SHIFT; + con = HWREG32(base + pll->con_offset + 0x4); + postdiv2 = (con & RK3036_PLLCON1_POSTDIV2_MASK) >> RK3036_PLLCON1_POSTDIV2_SHIFT; + refdiv = (con & RK3036_PLLCON1_REFDIV_MASK) >> RK3036_PLLCON1_REFDIV_SHIFT; + dsmpd = (con & RK3036_PLLCON1_DSMPD_MASK) >> RK3036_PLLCON1_DSMPD_SHIFT; + con = HWREG32(base + pll->con_offset + 0x8); + frac = (con & RK3036_PLLCON2_FRAC_MASK) >> RK3036_PLLCON2_FRAC_SHIFT; + rate = (24 * fbdiv / (refdiv * postdiv1 * postdiv2)) * 1000000; + + if (dsmpd == 0) + { + rt_uint64_t frac_rate = OSC_HZ * (rt_uint64_t)frac; + + rt_do_div(frac_rate, refdiv); + frac_rate >>= 24; + rt_do_div(frac_rate, postdiv1); + rt_do_div(frac_rate, postdiv1); + rate += frac_rate; + } + return rate; + case RKCLK_PLL_MODE_DEEP: + default: + return 32768; + } +} + +static int rk3588_pll_set_rate(struct rk_pll_clock *pll, + void *base, rt_ubase_t pll_id, + rt_ubase_t drate) +{ + const struct rk_pll_rate_table *rate; + + rate = rk_get_pll_settings(pll, drate); + if (!rate) + { + LOG_D("%s unsupported rate\n", __func__); + return -RT_EINVAL; + } + + LOG_D("%s: rate settings for %lu p: %d, m: %d, s: %d, k: %d\n", + __func__, rate->rate, rate->p, rate->m, rate->s, rate->k); + + /* + * When power on or changing PLL setting, + * we must force PLL into slow mode to ensure output stable clock. + */ + if (pll_id == 3) + rk_clrsetreg(base + 0x84c, 0x1 << 1, 0x1 << 1); + + rk_clrsetreg(base + pll->mode_offset, + pll->mode_mask << pll->mode_shift, + RKCLK_PLL_MODE_SLOW << pll->mode_shift); + if (pll_id == 0) + rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(0), + pll->mode_mask << 6, + RKCLK_PLL_MODE_SLOW << 6); + else if (pll_id == 1) + rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(0), + pll->mode_mask << 6, + RKCLK_PLL_MODE_SLOW << 6); + else if (pll_id == 2) + rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(5), + pll->mode_mask << 14, + RKCLK_PLL_MODE_SLOW << 14); + + /* Power down */ + rk_setreg(base + pll->con_offset + RK3588_PLLCON(1), + RK3588_PLLCON1_PWRDOWN); + + rk_clrsetreg(base + pll->con_offset, + RK3588_PLLCON0_M_MASK, + (rate->m << RK3588_PLLCON0_M_SHIFT)); + rk_clrsetreg(base + pll->con_offset + RK3588_PLLCON(1), + (RK3588_PLLCON1_P_MASK | + RK3588_PLLCON1_S_MASK), + (rate->p << RK3588_PLLCON1_P_SHIFT | + rate->s << RK3588_PLLCON1_S_SHIFT)); + if (rate->k) + { + rk_clrsetreg(base + pll->con_offset + RK3588_PLLCON(2), + RK3588_PLLCON2_K_MASK, + rate->k << RK3588_PLLCON2_K_SHIFT); + } + /* Power up */ + rk_clrreg(base + pll->con_offset + RK3588_PLLCON(1), + RK3588_PLLCON1_PWRDOWN); + + /* waiting for pll lock */ + while (!(HWREG32(base + pll->con_offset + RK3588_PLLCON(6)) & + RK3588_PLLCON6_LOCK_STATUS)) + { + } + + rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, + RKCLK_PLL_MODE_NORMAL << pll->mode_shift); + if (pll_id == 0) + { + rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(0), + pll->mode_mask << 6, + 2 << 6); + rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(0), + RK3588_CORE_DIV_MASK << RK3588_CORE_B02_DIV_SHIFT, + 0 << RK3588_CORE_B02_DIV_SHIFT); + rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(1), + RK3588_CORE_DIV_MASK << RK3588_CORE_B13_DIV_SHIFT, + 0 << RK3588_CORE_B13_DIV_SHIFT); + } else if (pll_id == 1) + { + rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(0), + pll->mode_mask << 6, + 2 << 6); + rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(0), + RK3588_CORE_DIV_MASK << RK3588_CORE_B02_DIV_SHIFT, + 0 << RK3588_CORE_B02_DIV_SHIFT); + rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(1), + RK3588_CORE_DIV_MASK << RK3588_CORE_B13_DIV_SHIFT, + 0 << RK3588_CORE_B13_DIV_SHIFT); + } else if (pll_id == 2) + { + rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(5), + pll->mode_mask << 14, + 2 << 14); + rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(6), + RK3588_CORE_DIV_MASK << RK3588_CORE_L13_DIV_SHIFT, + 0 << RK3588_CORE_L13_DIV_SHIFT); + rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(6), + RK3588_CORE_DIV_MASK << RK3588_CORE_L02_DIV_SHIFT, + 0 << RK3588_CORE_L02_DIV_SHIFT); + rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(7), + RK3588_CORE_DIV_MASK << RK3588_CORE_L13_DIV_SHIFT, + 0 << RK3588_CORE_L13_DIV_SHIFT); + rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(7), + RK3588_CORE_DIV_MASK << RK3588_CORE_L02_DIV_SHIFT, + 0 << RK3588_CORE_L02_DIV_SHIFT); + } + + if (pll_id == 3) + rk_clrsetreg(base + 0x84c, 0x1 << 1, 0); + + LOG_D("PLL at %p: con0=%x con1= %x con2= %x mode= %x\n", + pll, HWREG32(base + pll->con_offset), + HWREG32(base + pll->con_offset + 0x4), + HWREG32(base + pll->con_offset + 0x8), + HWREG32(base + pll->mode_offset)); + + return 0; +} + +static rt_ubase_t rk3588_pll_get_rate(struct rk_pll_clock *pll, + void *base, rt_ubase_t pll_id) +{ + rt_uint32_t m, p, s, k; + rt_uint32_t con = 0, shift, mode; + rt_uint64_t rate, postdiv; + + con = HWREG32(base + pll->mode_offset); + shift = pll->mode_shift; + if (pll_id == 8) + mode = RKCLK_PLL_MODE_NORMAL; + else + mode = (con & (pll->mode_mask << shift)) >> shift; + switch (mode) + { + case RKCLK_PLL_MODE_SLOW: + return OSC_HZ; + case RKCLK_PLL_MODE_NORMAL: + /* normal mode */ + con = HWREG32(base + pll->con_offset); + m = (con & RK3588_PLLCON0_M_MASK) >> + RK3588_PLLCON0_M_SHIFT; + con = HWREG32(base + pll->con_offset + RK3588_PLLCON(1)); + p = (con & RK3588_PLLCON1_P_MASK) >> + RK3036_PLLCON0_FBDIV_SHIFT; + s = (con & RK3588_PLLCON1_S_MASK) >> + RK3588_PLLCON1_S_SHIFT; + con = HWREG32(base + pll->con_offset + RK3588_PLLCON(2)); + k = (con & RK3588_PLLCON2_K_MASK) >> + RK3588_PLLCON2_K_SHIFT; + + rate = OSC_HZ / p; + rate *= m; + if (k) + { + /* fractional mode */ + rt_uint64_t frac_rate64 = OSC_HZ * k; + + postdiv = p * 65536; + rt_do_div(frac_rate64, postdiv); + rate += frac_rate64; + } + rate = rate >> s; + return rate; + case RKCLK_PLL_MODE_DEEP: + default: + return 32768; + } +} + +rt_ubase_t rk_pll_get_rate(struct rk_pll_clock *pll, + void *base, + rt_ubase_t pll_id) +{ + rt_ubase_t rate = 0; + + switch (pll->type) + { + case pll_rk3036: + pll->mode_mask = PLL_MODE_MASK; + rate = rk3036_pll_get_rate(pll, base, pll_id); + break; + case pll_rk3328: + pll->mode_mask = PLL_RK3328_MODE_MASK; + rate = rk3036_pll_get_rate(pll, base, pll_id); + break; + case pll_rk3588: + pll->mode_mask = PLL_MODE_MASK; + rate = rk3588_pll_get_rate(pll, base, pll_id); + break; + default: + LOG_D("%s: Unknown pll type for pll clk %ld\n", + __func__, pll_id); + } + return rate; +} + +int rk_pll_set_rate(struct rk_pll_clock *pll, + void *base, rt_ubase_t pll_id, + rt_ubase_t drate) +{ + int ret = 0; + + if (rk_pll_get_rate(pll, base, pll_id) == drate) + return 0; + + switch (pll->type) + { + case pll_rk3036: + pll->mode_mask = PLL_MODE_MASK; + ret = rk3036_pll_set_rate(pll, base, pll_id, drate); + break; + case pll_rk3328: + pll->mode_mask = PLL_RK3328_MODE_MASK; + ret = rk3036_pll_set_rate(pll, base, pll_id, drate); + break; + case pll_rk3588: + pll->mode_mask = PLL_MODE_MASK; + ret = rk3588_pll_set_rate(pll, base, pll_id, drate); + break; + default: + LOG_D("%s: Unknown pll type for pll clk %ld\n", + __func__, pll_id); + } + return ret; +} + +const struct rk_cpu_rate_table *rk_get_cpu_settings(struct rk_cpu_rate_table *cpu_table, rt_ubase_t rate) +{ + struct rk_cpu_rate_table *ps = cpu_table; + + while (ps->rate) + { + if (ps->rate == rate) + { + break; + } + ++ps; + } + if (ps->rate != rate) + { + return RT_NULL; + } + else + { + return ps; + } +} + +rt_base_t rk_clk_pll_round_rate(const struct rk_pll_rate_table *pll_rates, + rt_size_t rate_count, rt_ubase_t drate, rt_ubase_t *prate) +{ + int i; + + /* Assumming rate_table is in descending order */ + for (i = 0; i < rate_count; i++) + { + if (drate >= pll_rates[i].rate) + { + return pll_rates[i].rate; + } + } + + /* return minimum supported value */ + return pll_rates[i - 1].rate; +} + +void rk_clk_set_default_rates(struct rt_clk *clk, + rt_err_t (*clk_set_rate)(struct rt_clk *, rt_ubase_t, rt_ubase_t), int id) +{ + rt_uint32_t rate; + struct rt_ofw_cell_args clk_args; + struct rt_ofw_node *np = clk->fw_node; + const char *rate_propname = "assigned-clock-rates"; + + if (!rt_ofw_prop_read_bool(np, rate_propname)) + { + return; + } + + for (int i = 0; ; ++i) + { + if (rt_ofw_parse_phandle_cells(np, "assigned-clocks", "#clock-cells", i, &clk_args)) + { + break; + } + + rt_ofw_node_put(clk_args.data); + + if (clk_args.args[0] != id) + { + continue; + } + + if (!rt_ofw_prop_read_u32_index(np, rate_propname, i, &rate)) + { + clk_set_rate(clk, rate, 0); + } + + break; + } +} diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3568.c b/bsp/rockchip/rk3566/driver/clk/clk-rk3568.c new file mode 100644 index 00000000000..4672e897609 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-rk3568.c @@ -0,0 +1,4791 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ + +#include "clk-rk3568.h" + +#define DBG_TAG "clk.rk3568" +#define DBG_LVL DBG_INFO +#include + +#include "rk3568-cru.h" + +#define APLL_HZ (816 * MHZ) +#define GPLL_HZ (1188 * MHZ) +#define CPLL_HZ (1000 * MHZ) +#define PPLL_HZ (100 * MHZ) + +struct rk_pll +{ + rt_uint32_t con0; + rt_uint32_t con1; + rt_uint32_t con2; + rt_uint32_t con3; + rt_uint32_t con4; + rt_uint32_t reserved0[3]; +}; + +struct rk_pmucru +{ + struct rk_pll pll[2]; + rt_uint32_t reserved0[16]; + rt_uint32_t mode_con00; + rt_uint32_t reserved1[31]; + rt_uint32_t pmu_clksel_con[10]; + rt_uint32_t reserved2[22]; + rt_uint32_t pmu_clkgate_con[3]; + rt_uint32_t reserved3[29]; + rt_uint32_t pmu_softrst_con[1]; +}; + +struct rk_cru +{ + struct rk_pll pll[6]; + rt_uint32_t mode_con00; + rt_uint32_t misc_con[3]; + rt_uint32_t glb_cnt_th; + rt_uint32_t glb_srst_fst; + rt_uint32_t glb_srsr_snd; + rt_uint32_t glb_rst_con; + rt_uint32_t glb_rst_st; + rt_uint32_t reserved0[7]; + rt_uint32_t clksel_con[85]; + rt_uint32_t reserved1[43]; + rt_uint32_t clkgate_con[36]; + rt_uint32_t reserved2[28]; + rt_uint32_t softrst_con[30]; + rt_uint32_t reserved3[2]; + rt_uint32_t ssgtbl[32]; + rt_uint32_t reserved4[32]; + rt_uint32_t sdmmc0_con[2]; + rt_uint32_t sdmmc1_con[2]; + rt_uint32_t sdmmc2_con[2]; + rt_uint32_t emmc_con[2]; +}; + +struct rk_pmuclk_priv +{ + struct rk_pmucru *pmucru; + rt_ubase_t ppll_hz; + rt_ubase_t hpll_hz; +}; + +struct rk_clk_priv +{ + struct rk_cru *cru; + rt_ubase_t ppll_hz; + rt_ubase_t hpll_hz; + rt_ubase_t gpll_hz; + rt_ubase_t cpll_hz; + rt_ubase_t npll_hz; + rt_ubase_t vpll_hz; + rt_ubase_t armclk_hz; + rt_ubase_t armclk_enter_hz; + rt_ubase_t armclk_init_hz; + rt_bool_t sync_kernel; + rt_bool_t set_armclk_rate; +}; + +struct rk_clk_platform_data +{ + rt_uint32_t id; + void *base; +}; + +enum rk_clk_type +{ + rk_clk_type_clk, + rk_clk_type_pmuclk, +}; + +struct rt_reset_controller_clk_node +{ + struct rt_clk_node parent; + + struct rt_reset_controller rstcer; +}; + +struct rk_clk +{ + struct rt_reset_controller_clk_node parent; + + void *base; + enum rk_clk_type type; + + union + { + struct rk_clk_priv clk_info; + struct rk_pmuclk_priv pmuclk_info; + }; + + struct rk_clk_platform_data pdata[]; +}; + +#define raw_to_rk_clk(raw) rt_container_of(raw, struct rk_clk, parent) + +#define PMU_MODE 0x80 +#define PMU_PLL_CON(x) ((x) * 0x4) +#define PLL_CON(x) ((x) * 0x4) +#define MODE_CON 0xc0 + +enum pmu_plls +{ + ppll, hpll, +}; + +enum plls +{ + apll, dpll, gpll, cpll, npll, vpll, +}; + +enum +{ + /* CRU_PMU_CLK_SEL0_CON */ + RTC32K_SEL_SHIFT = 6, + RTC32K_SEL_MASK = 0x3 << RTC32K_SEL_SHIFT, + RTC32K_SEL_PMUPVTM = 0, + RTC32K_SEL_OSC1_32K, + RTC32K_SEL_OSC0_DIV32K, + + /* CRU_PMU_CLK_SEL1_CON */ + RTC32K_FRAC_NUMERATOR_SHIFT = 16, + RTC32K_FRAC_NUMERATOR_MASK = 0xffff << 16, + RTC32K_FRAC_DENOMINATOR_SHIFT = 0, + RTC32K_FRAC_DENOMINATOR_MASK = 0xffff, + + /* CRU_PMU_CLK_SEL2_CON */ + PCLK_PDPMU_SEL_SHIFT = 15, + PCLK_PDPMU_SEL_MASK = 1 << PCLK_PDPMU_SEL_SHIFT, + PCLK_PDPMU_SEL_PPLL = 0, + PCLK_PDPMU_SEL_GPLL, + PCLK_PDPMU_DIV_SHIFT = 0, + PCLK_PDPMU_DIV_MASK = 0x1f, + + /* CRU_PMU_CLK_SEL3_CON */ + CLK_I2C0_DIV_SHIFT = 0, + CLK_I2C0_DIV_MASK = 0x7f, + + /* PMUCRU_PMUCLKSEL_CON04 */ + CLK_UART0_SEL_SHIFT = 10, + CLK_UART0_SEL_MASK = 0x3 << CLK_UART0_SEL_SHIFT, + CLK_UART0_SEL_DIV = 0, + CLK_UART0_SEL_FRACDIV, + CLK_UART0_SEL_XIN24M, + CLK_UART0_DIV_SEL_SHIFT = 8, + CLK_UART0_DIV_SEL_MASK = 0x3 << CLK_UART0_DIV_SEL_SHIFT, + CLK_UART0_SRC_SEL_PPLL = 0, + CLK_UART0_SRC_SEL_480M, + CLK_UART0_SRC_SEL_CPLL, + CLK_UART0_SRC_SEL_GPLL, + CLK_UART0_DIV_DIV_SHIFT = 0, + CLK_UART0_DIV_DIV_MASK = 0x3f << CLK_UART0_DIV_DIV_SHIFT, + + /* PMUCRU_PMUCLKSEL_CON05 */ + CLK_UART0_FRAC_NUMERATOR_SHIFT = 16, + CLK_UART0_FRAC_NUMERATOR_MASK = 0xffff << 16, + CLK_UART0_FRAC_DENOMINATOR_SHIFT= 0, + CLK_UART0_FRAC_DENOMINATOR_MASK = 0xffff, + + /* PMUCRU_PMUCLKSEL_CON09 */ + CLK_PCIE_PHY2_REF_SEL_SHIFT = 11, + CLK_PCIE_PHY2_REF_SEL_MASK = 1 << CLK_PCIE_PHY2_REF_SEL_SHIFT, + CLK_PCIE_PHY1_REF_SEL_SHIFT = 7, + CLK_PCIE_PHY1_REF_SEL_MASK = 1 << CLK_PCIE_PHY1_REF_SEL_SHIFT, + CLK_PCIE_PHY0_REF_SEL_SHIFT = 3, + CLK_PCIE_PHY0_REF_SEL_MASK = 1 << CLK_PCIE_PHY0_REF_SEL_SHIFT, + CLK_PCIE_PHY_REF_SEL_24M = 0, + CLK_PCIE_PHY_REF_SEL_PPLL, + CLK_PCIE_PHY2_PLL_DIV_SHIFT = 8, + CLK_PCIE_PHY2_PLL_DIV_MASK = 7 << CLK_PCIE_PHY2_PLL_DIV_SHIFT, + CLK_PCIE_PHY1_PLL_DIV_SHIFT = 4, + CLK_PCIE_PHY1_PLL_DIV_MASK = 7 << CLK_PCIE_PHY1_PLL_DIV_SHIFT, + CLK_PCIE_PHY0_PLL_DIV_SHIFT = 0, + CLK_PCIE_PHY0_PLL_DIV_MASK = 7 << CLK_PCIE_PHY0_PLL_DIV_SHIFT, + + /* CRU_PMU_CLK_SEL6_CON */ + CLK_PWM0_SEL_SHIFT = 7, + CLK_PWM0_SEL_MASK = 1 << CLK_PWM0_SEL_SHIFT, + CLK_PWM0_SEL_XIN24M = 0, + CLK_PWM0_SEL_PPLL, + CLK_PWM0_DIV_SHIFT = 0, + CLK_PWM0_DIV_MASK = 0x7f, + + /* CRU_CLK_SEL0_CON */ + CLK_CORE_PRE_SEL_SHIFT = 7, + CLK_CORE_PRE_SEL_MASK = 1 << CLK_CORE_PRE_SEL_SHIFT, + CLK_CORE_PRE_SEL_SRC = 0, + CLK_CORE_PRE_SEL_APLL, + + /* CRU_CLK_SEL2_CON */ + SCLK_CORE_PRE_SEL_SHIFT = 15, + SCLK_CORE_PRE_SEL_MASK = 1 << SCLK_CORE_PRE_SEL_SHIFT, + SCLK_CORE_PRE_SEL_SRC = 0, + SCLK_CORE_PRE_SEL_NPLL, + SCLK_CORE_SRC_SEL_SHIFT = 8, + SCLK_CORE_SRC_SEL_MASK = 3 << SCLK_CORE_SRC_SEL_SHIFT, + SCLK_CORE_SRC_SEL_APLL = 0, + SCLK_CORE_SRC_SEL_GPLL, + SCLK_CORE_SRC_SEL_NPLL, + SCLK_CORE_SRC_DIV_SHIFT = 0, + SCLK_CORE_SRC_DIV_MASK = 0x1f << SCLK_CORE_SRC_DIV_SHIFT, + + /* CRU_CLK_SEL3_CON */ + GICCLK_CORE_DIV_SHIFT = 8, + GICCLK_CORE_DIV_MASK = 0x1f << GICCLK_CORE_DIV_SHIFT, + ATCLK_CORE_DIV_SHIFT = 0, + ATCLK_CORE_DIV_MASK = 0x1f << ATCLK_CORE_DIV_SHIFT, + + /* CRU_CLK_SEL4_CON */ + PERIPHCLK_CORE_PRE_DIV_SHIFT = 8, + PERIPHCLK_CORE_PRE_DIV_MASK = 0x1f << PERIPHCLK_CORE_PRE_DIV_SHIFT, + PCLK_CORE_PRE_DIV_SHIFT = 0, + PCLK_CORE_PRE_DIV_MASK = 0x1f << PCLK_CORE_PRE_DIV_SHIFT, + + /* CRU_CLK_SEL5_CON */ + ACLK_CORE_NIU2BUS_SEL_SHIFT = 14, + ACLK_CORE_NIU2BUS_SEL_MASK = 0x3 << ACLK_CORE_NIU2BUS_SEL_SHIFT, + ACLK_CORE_NDFT_DIV_SHIFT = 8, + ACLK_CORE_NDFT_DIV_MASK = 0x1f << ACLK_CORE_NDFT_DIV_SHIFT, + + /* CRU_CLK_SEL10_CON */ + HCLK_PERIMID_SEL_SHIFT = 6, + HCLK_PERIMID_SEL_MASK = 3 << HCLK_PERIMID_SEL_SHIFT, + HCLK_PERIMID_SEL_150M = 0, + HCLK_PERIMID_SEL_100M, + HCLK_PERIMID_SEL_75M, + HCLK_PERIMID_SEL_24M, + ACLK_PERIMID_SEL_SHIFT = 4, + ACLK_PERIMID_SEL_MASK = 3 << ACLK_PERIMID_SEL_SHIFT, + ACLK_PERIMID_SEL_300M = 0, + ACLK_PERIMID_SEL_200M, + ACLK_PERIMID_SEL_100M, + ACLK_PERIMID_SEL_24M, + + /* CRU_CLK_SEL27_CON */ + CLK_CRYPTO_PKA_SEL_SHIFT = 6, + CLK_CRYPTO_PKA_SEL_MASK = 3 << CLK_CRYPTO_PKA_SEL_SHIFT, + CLK_CRYPTO_PKA_SEL_300M = 0, + CLK_CRYPTO_PKA_SEL_200M, + CLK_CRYPTO_PKA_SEL_100M, + CLK_CRYPTO_CORE_SEL_SHIFT = 4, + CLK_CRYPTO_CORE_SEL_MASK = 3 << CLK_CRYPTO_CORE_SEL_SHIFT, + CLK_CRYPTO_CORE_SEL_200M = 0, + CLK_CRYPTO_CORE_SEL_150M, + CLK_CRYPTO_CORE_SEL_100M, + HCLK_SECURE_FLASH_SEL_SHIFT = 2, + HCLK_SECURE_FLASH_SEL_MASK = 3 << HCLK_SECURE_FLASH_SEL_SHIFT, + HCLK_SECURE_FLASH_SEL_150M = 0, + HCLK_SECURE_FLASH_SEL_100M, + HCLK_SECURE_FLASH_SEL_75M, + HCLK_SECURE_FLASH_SEL_24M, + ACLK_SECURE_FLASH_SEL_SHIFT = 0, + ACLK_SECURE_FLASH_SEL_MASK = 3 << ACLK_SECURE_FLASH_SEL_SHIFT, + ACLK_SECURE_FLASH_SEL_200M = 0, + ACLK_SECURE_FLASH_SEL_150M, + ACLK_SECURE_FLASH_SEL_100M, + ACLK_SECURE_FLASH_SEL_24M, + + /* CRU_CLK_SEL28_CON */ + CCLK_EMMC_SEL_SHIFT = 12, + CCLK_EMMC_SEL_MASK = 7 << CCLK_EMMC_SEL_SHIFT, + CCLK_EMMC_SEL_24M = 0, + CCLK_EMMC_SEL_200M, + CCLK_EMMC_SEL_150M, + CCLK_EMMC_SEL_100M, + CCLK_EMMC_SEL_50M, + CCLK_EMMC_SEL_375K, + BCLK_EMMC_SEL_SHIFT = 8, + BCLK_EMMC_SEL_MASK = 3 << BCLK_EMMC_SEL_SHIFT, + BCLK_EMMC_SEL_200M = 0, + BCLK_EMMC_SEL_150M, + BCLK_EMMC_SEL_125M, + SCLK_SFC_SEL_SHIFT = 4, + SCLK_SFC_SEL_MASK = 7 << SCLK_SFC_SEL_SHIFT, + SCLK_SFC_SEL_24M = 0, + SCLK_SFC_SEL_50M, + SCLK_SFC_SEL_75M, + SCLK_SFC_SEL_100M, + SCLK_SFC_SEL_125M, + SCLK_SFC_SEL_150M, + NCLK_NANDC_SEL_SHIFT = 0, + NCLK_NANDC_SEL_MASK = 3 << NCLK_NANDC_SEL_SHIFT, + NCLK_NANDC_SEL_200M = 0, + NCLK_NANDC_SEL_150M, + NCLK_NANDC_SEL_100M, + NCLK_NANDC_SEL_24M, + + /* CRU_CLK_SEL30_CON */ + CLK_SDMMC1_SEL_SHIFT = 12, + CLK_SDMMC1_SEL_MASK = 7 << CLK_SDMMC1_SEL_SHIFT, + CLK_SDMMC0_SEL_SHIFT = 8, + CLK_SDMMC0_SEL_MASK = 7 << CLK_SDMMC0_SEL_SHIFT, + CLK_SDMMC_SEL_24M = 0, + CLK_SDMMC_SEL_400M, + CLK_SDMMC_SEL_300M, + CLK_SDMMC_SEL_100M, + CLK_SDMMC_SEL_50M, + CLK_SDMMC_SEL_750K, + + /* CRU_CLK_SEL31_CON */ + CLK_MAC0_OUT_SEL_SHIFT = 14, + CLK_MAC0_OUT_SEL_MASK = 3 << CLK_MAC0_OUT_SEL_SHIFT, + CLK_MAC0_OUT_SEL_125M = 0, + CLK_MAC0_OUT_SEL_50M, + CLK_MAC0_OUT_SEL_25M, + CLK_MAC0_OUT_SEL_24M, + CLK_GMAC0_PTP_REF_SEL_SHIFT = 12, + CLK_GMAC0_PTP_REF_SEL_MASK = 3 << CLK_GMAC0_PTP_REF_SEL_SHIFT, + CLK_GMAC0_PTP_REF_SEL_62_5M = 0, + CLK_GMAC0_PTP_REF_SEL_100M, + CLK_GMAC0_PTP_REF_SEL_50M, + CLK_GMAC0_PTP_REF_SEL_24M, + CLK_MAC0_2TOP_SEL_SHIFT = 8, + CLK_MAC0_2TOP_SEL_MASK = 3 << CLK_MAC0_2TOP_SEL_SHIFT, + CLK_MAC0_2TOP_SEL_125M = 0, + CLK_MAC0_2TOP_SEL_50M, + CLK_MAC0_2TOP_SEL_25M, + CLK_MAC0_2TOP_SEL_PPLL, + RGMII0_CLK_SEL_SHIFT = 4, + RGMII0_CLK_SEL_MASK = 3 << RGMII0_CLK_SEL_SHIFT, + RGMII0_CLK_SEL_125M = 0, + RGMII0_CLK_SEL_125M_1, + RGMII0_CLK_SEL_2_5M, + RGMII0_CLK_SEL_25M, + RMII0_CLK_SEL_SHIFT = 3, + RMII0_CLK_SEL_MASK = 1 << RMII0_CLK_SEL_SHIFT, + RMII0_CLK_SEL_2_5M = 0, + RMII0_CLK_SEL_25M, + RMII0_EXTCLK_SEL_SHIFT = 2, + RMII0_EXTCLK_SEL_MASK = 1 << RMII0_EXTCLK_SEL_SHIFT, + RMII0_EXTCLK_SEL_MAC0_TOP = 0, + RMII0_EXTCLK_SEL_IO, + RMII0_MODE_SHIFT = 0, + RMII0_MODE_MASK = 3 << RMII0_MODE_SHIFT, + RMII0_MODE_SEL_RGMII = 0, + RMII0_MODE_SEL_RMII, + RMII0_MODE_SEL_GMII, + + /* CRU_CLK_SEL32_CON */ + CLK_SDMMC2_SEL_SHIFT = 8, + CLK_SDMMC2_SEL_MASK = 7 << CLK_SDMMC2_SEL_SHIFT, + + /* CRU_CLK_SEL38_CON */ + ACLK_VOP_PRE_SEL_SHIFT = 6, + ACLK_VOP_PRE_SEL_MASK = 3 << ACLK_VOP_PRE_SEL_SHIFT, + ACLK_VOP_PRE_SEL_CPLL = 0, + ACLK_VOP_PRE_SEL_GPLL, + ACLK_VOP_PRE_SEL_HPLL, + ACLK_VOP_PRE_SEL_VPLL, + ACLK_VOP_PRE_DIV_SHIFT = 0, + ACLK_VOP_PRE_DIV_MASK = 0x1f << ACLK_VOP_PRE_DIV_SHIFT, + + /* CRU_CLK_SEL39_CON */ + DCLK0_VOP_SEL_SHIFT = 10, + DCLK0_VOP_SEL_MASK = 3 << DCLK0_VOP_SEL_SHIFT, + DCLK_VOP_SEL_HPLL = 0, + DCLK_VOP_SEL_VPLL, + DCLK_VOP_SEL_GPLL, + DCLK_VOP_SEL_CPLL, + DCLK0_VOP_DIV_SHIFT = 0, + DCLK0_VOP_DIV_MASK = 0xff << DCLK0_VOP_DIV_SHIFT, + + /* CRU_CLK_SEL40_CON */ + DCLK1_VOP_SEL_SHIFT = 10, + DCLK1_VOP_SEL_MASK = 3 << DCLK1_VOP_SEL_SHIFT, + DCLK1_VOP_DIV_SHIFT = 0, + DCLK1_VOP_DIV_MASK = 0xff << DCLK1_VOP_DIV_SHIFT, + + /* CRU_CLK_SEL41_CON */ + DCLK2_VOP_SEL_SHIFT = 10, + DCLK2_VOP_SEL_MASK = 3 << DCLK2_VOP_SEL_SHIFT, + DCLK2_VOP_DIV_SHIFT = 0, + DCLK2_VOP_DIV_MASK = 0xff << DCLK2_VOP_DIV_SHIFT, + + /* CRU_CLK_SEL43_CON */ + DCLK_EBC_SEL_SHIFT = 6, + DCLK_EBC_SEL_MASK = 3 << DCLK_EBC_SEL_SHIFT, + DCLK_EBC_SEL_GPLL_400M = 0, + DCLK_EBC_SEL_CPLL_333M, + DCLK_EBC_SEL_GPLL_200M, + + /* CRU_CLK_SEL47_CON */ + ACLK_RKVDEC_SEL_SHIFT = 7, + ACLK_RKVDEC_SEL_MASK = 1 << ACLK_RKVDEC_SEL_SHIFT, + ACLK_RKVDEC_SEL_GPLL = 0, + ACLK_RKVDEC_SEL_CPLL, + ACLK_RKVDEC_DIV_SHIFT = 0, + ACLK_RKVDEC_DIV_MASK = 0x1f << ACLK_RKVDEC_DIV_SHIFT, + + /* CRU_CLK_SEL49_CON */ + CLK_RKVDEC_CORE_SEL_SHIFT = 14, + CLK_RKVDEC_CORE_SEL_MASK = 0x3 << CLK_RKVDEC_CORE_SEL_SHIFT, + CLK_RKVDEC_CORE_SEL_GPLL = 0, + CLK_RKVDEC_CORE_SEL_CPLL, + CLK_RKVDEC_CORE_SEL_NPLL, + CLK_RKVDEC_CORE_SEL_VPLL, + CLK_RKVDEC_CORE_DIV_SHIFT = 8, + CLK_RKVDEC_CORE_DIV_MASK = 0x1f << CLK_RKVDEC_CORE_DIV_SHIFT, + + /* CRU_CLK_SEL50_CON */ + PCLK_BUS_SEL_SHIFT = 4, + PCLK_BUS_SEL_MASK = 3 << PCLK_BUS_SEL_SHIFT, + PCLK_BUS_SEL_100M = 0, + PCLK_BUS_SEL_75M, + PCLK_BUS_SEL_50M, + PCLK_BUS_SEL_24M, + ACLK_BUS_SEL_SHIFT = 0, + ACLK_BUS_SEL_MASK = 3 << ACLK_BUS_SEL_SHIFT, + ACLK_BUS_SEL_200M = 0, + ACLK_BUS_SEL_150M, + ACLK_BUS_SEL_100M, + ACLK_BUS_SEL_24M, + + /* CRU_CLK_SEL51_CON */ + CLK_TSADC_DIV_SHIFT = 8, + CLK_TSADC_DIV_MASK = 0x7f << CLK_TSADC_DIV_SHIFT, + CLK_TSADC_TSEN_SEL_SHIFT = 4, + CLK_TSADC_TSEN_SEL_MASK = 0x3 << CLK_TSADC_TSEN_SEL_SHIFT, + CLK_TSADC_TSEN_SEL_24M = 0, + CLK_TSADC_TSEN_SEL_100M, + CLK_TSADC_TSEN_SEL_CPLL_100M, + CLK_TSADC_TSEN_DIV_SHIFT = 0, + CLK_TSADC_TSEN_DIV_MASK = 0x7 << CLK_TSADC_TSEN_DIV_SHIFT, + + /* CRU_CLK_SEL52_CON */ + CLK_UART_SEL_SHIFT = 12, + CLK_UART_SEL_MASK = 0x3 << CLK_UART_SEL_SHIFT, + CLK_UART_SEL_SRC = 0, + CLK_UART_SEL_FRAC, + CLK_UART_SEL_XIN24M, + CLK_UART_SRC_SEL_SHIFT = 8, + CLK_UART_SRC_SEL_MASK = 0x3 << CLK_UART_SRC_SEL_SHIFT, + CLK_UART_SRC_SEL_GPLL = 0, + CLK_UART_SRC_SEL_CPLL, + CLK_UART_SRC_SEL_480M, + CLK_UART_SRC_DIV_SHIFT = 0, + CLK_UART_SRC_DIV_MASK = 0x3f << CLK_UART_SRC_DIV_SHIFT, + + /* CRU_CLK_SEL53_CON */ + CLK_UART_FRAC_NUMERATOR_SHIFT = 16, + CLK_UART_FRAC_NUMERATOR_MASK = 0xffff << 16, + CLK_UART_FRAC_DENOMINATOR_SHIFT = 0, + CLK_UART_FRAC_DENOMINATOR_MASK = 0xffff, + + /* CRU_CLK_SEL71_CON */ + CLK_I2C_SEL_SHIFT = 8, + CLK_I2C_SEL_MASK = 3 << CLK_I2C_SEL_SHIFT, + CLK_I2C_SEL_200M = 0, + CLK_I2C_SEL_100M, + CLK_I2C_SEL_24M, + CLK_I2C_SEL_CPLL_100M, + + /* CRU_CLK_SEL72_CON */ + CLK_PWM3_SEL_SHIFT = 12, + CLK_PWM3_SEL_MASK = 3 << CLK_PWM3_SEL_SHIFT, + CLK_PWM2_SEL_SHIFT = 10, + CLK_PWM2_SEL_MASK = 3 << CLK_PWM2_SEL_SHIFT, + CLK_PWM1_SEL_SHIFT = 8, + CLK_PWM1_SEL_MASK = 3 << CLK_PWM1_SEL_SHIFT, + CLK_PWM_SEL_100M = 0, + CLK_PWM_SEL_24M, + CLK_PWM_SEL_CPLL_100M, + CLK_SPI3_SEL_SHIFT = 6, + CLK_SPI3_SEL_MASK = 3 << CLK_SPI3_SEL_SHIFT, + CLK_SPI2_SEL_SHIFT = 4, + CLK_SPI2_SEL_MASK = 3 << CLK_SPI2_SEL_SHIFT, + CLK_SPI1_SEL_SHIFT = 2, + CLK_SPI1_SEL_MASK = 3 << CLK_SPI1_SEL_SHIFT, + CLK_SPI0_SEL_SHIFT = 0, + CLK_SPI0_SEL_MASK = 3 << CLK_SPI0_SEL_SHIFT, + CLK_SPI_SEL_200M = 0, + CLK_SPI_SEL_24M, + CLK_SPI_SEL_CPLL_100M, + + /* CRU_CLK_SEL73_CON */ + PCLK_TOP_SEL_SHIFT = 12, + PCLK_TOP_SEL_MASK = 3 << PCLK_TOP_SEL_SHIFT, + PCLK_TOP_SEL_100M = 0, + PCLK_TOP_SEL_75M, + PCLK_TOP_SEL_50M, + PCLK_TOP_SEL_24M, + HCLK_TOP_SEL_SHIFT = 8, + HCLK_TOP_SEL_MASK = 3 << HCLK_TOP_SEL_SHIFT, + HCLK_TOP_SEL_150M = 0, + HCLK_TOP_SEL_100M, + HCLK_TOP_SEL_75M, + HCLK_TOP_SEL_24M, + ACLK_TOP_LOW_SEL_SHIFT = 4, + ACLK_TOP_LOW_SEL_MASK = 3 << ACLK_TOP_LOW_SEL_SHIFT, + ACLK_TOP_LOW_SEL_400M = 0, + ACLK_TOP_LOW_SEL_300M, + ACLK_TOP_LOW_SEL_200M, + ACLK_TOP_LOW_SEL_24M, + ACLK_TOP_HIGH_SEL_SHIFT = 0, + ACLK_TOP_HIGH_SEL_MASK = 3 << ACLK_TOP_HIGH_SEL_SHIFT, + ACLK_TOP_HIGH_SEL_500M = 0, + ACLK_TOP_HIGH_SEL_400M, + ACLK_TOP_HIGH_SEL_300M, + ACLK_TOP_HIGH_SEL_24M, + + /* CRU_CLK_SEL78_CON */ + CPLL_500M_DIV_SHIFT = 8, + CPLL_500M_DIV_MASK = 0x1f << CPLL_500M_DIV_SHIFT, + + /* CRU_CLK_SEL79_CON */ + CPLL_250M_DIV_SHIFT = 8, + CPLL_250M_DIV_MASK = 0x1f << CPLL_250M_DIV_SHIFT, + CPLL_333M_DIV_SHIFT = 0, + CPLL_333M_DIV_MASK = 0x1f << CPLL_333M_DIV_SHIFT, + + /* CRU_CLK_SEL80_CON */ + CPLL_62P5M_DIV_SHIFT = 8, + CPLL_62P5M_DIV_MASK = 0x1f << CPLL_62P5M_DIV_SHIFT, + CPLL_125M_DIV_SHIFT = 0, + CPLL_125M_DIV_MASK = 0x1f << CPLL_125M_DIV_SHIFT, + + /* CRU_CLK_SEL81_CON */ + CPLL_25M_DIV_SHIFT = 8, + CPLL_25M_DIV_MASK = 0x1f << CPLL_25M_DIV_SHIFT, + CPLL_50M_DIV_SHIFT = 0, + CPLL_50M_DIV_MASK = 0x1f << CPLL_50M_DIV_SHIFT, + + /* CRU_CLK_SEL82_CON */ + CPLL_100M_DIV_SHIFT = 0, + CPLL_100M_DIV_MASK = 0x1f << CPLL_100M_DIV_SHIFT, +}; + +static struct rk_cpu_rate_table cpu_rates[] = +{ + CPUCLK_RATE(1800000000, 1, 7), + CPUCLK_RATE(1704000000, 1, 7), + CPUCLK_RATE(1608000000, 1, 5), + CPUCLK_RATE(1584000000, 1, 5), + CPUCLK_RATE(1560000000, 1, 5), + CPUCLK_RATE(1536000000, 1, 5), + CPUCLK_RATE(1512000000, 1, 5), + CPUCLK_RATE(1488000000, 1, 5), + CPUCLK_RATE(1464000000, 1, 5), + CPUCLK_RATE(1440000000, 1, 5), + CPUCLK_RATE(1416000000, 1, 5), + CPUCLK_RATE(1392000000, 1, 5), + CPUCLK_RATE(1368000000, 1, 5), + CPUCLK_RATE(1344000000, 1, 5), + CPUCLK_RATE(1320000000, 1, 5), + CPUCLK_RATE(1296000000, 1, 5), + CPUCLK_RATE(1272000000, 1, 5), + CPUCLK_RATE(1248000000, 1, 5), + CPUCLK_RATE(1224000000, 1, 5), + CPUCLK_RATE(1200000000, 1, 3), + CPUCLK_RATE(1104000000, 1, 3), + CPUCLK_RATE(1008000000, 1, 3), + CPUCLK_RATE(912000000, 1, 3), + CPUCLK_RATE(816000000, 1, 3), + CPUCLK_RATE(696000000, 1, 3), + CPUCLK_RATE(600000000, 1, 3), + CPUCLK_RATE(408000000, 1, 3), + CPUCLK_RATE(312000000, 1, 3), + CPUCLK_RATE(216000000, 1, 3), + CPUCLK_RATE(96000000, 1, 3), + { /* sentinel */ }, +}; + +static struct rk_pll_rate_table pll_rates[] = +{ + /* _mhz, _refdiv, _fbdiv, _postdiv1, _postdiv2, _dsmpd, _frac */ + PLL_RATE(2208000000, 1, 92, 1, 1, 1, 0), + PLL_RATE(2184000000, 1, 91, 1, 1, 1, 0), + PLL_RATE(2160000000, 1, 90, 1, 1, 1, 0), + PLL_RATE(2088000000, 1, 87, 1, 1, 1, 0), + PLL_RATE(2064000000, 1, 86, 1, 1, 1, 0), + PLL_RATE(2040000000, 1, 85, 1, 1, 1, 0), + PLL_RATE(2016000000, 1, 84, 1, 1, 1, 0), + PLL_RATE(1992000000, 1, 83, 1, 1, 1, 0), + PLL_RATE(1920000000, 1, 80, 1, 1, 1, 0), + PLL_RATE(1896000000, 1, 79, 1, 1, 1, 0), + PLL_RATE(1800000000, 1, 75, 1, 1, 1, 0), + PLL_RATE(1704000000, 1, 71, 1, 1, 1, 0), + PLL_RATE(1608000000, 1, 67, 1, 1, 1, 0), + PLL_RATE(1600000000, 3, 200, 1, 1, 1, 0), + PLL_RATE(1584000000, 1, 132, 2, 1, 1, 0), + PLL_RATE(1560000000, 1, 130, 2, 1, 1, 0), + PLL_RATE(1536000000, 1, 128, 2, 1, 1, 0), + PLL_RATE(1512000000, 1, 126, 2, 1, 1, 0), + PLL_RATE(1488000000, 1, 124, 2, 1, 1, 0), + PLL_RATE(1464000000, 1, 122, 2, 1, 1, 0), + PLL_RATE(1440000000, 1, 120, 2, 1, 1, 0), + PLL_RATE(1416000000, 1, 118, 2, 1, 1, 0), + PLL_RATE(1400000000, 3, 350, 2, 1, 1, 0), + PLL_RATE(1392000000, 1, 116, 2, 1, 1, 0), + PLL_RATE(1368000000, 1, 114, 2, 1, 1, 0), + PLL_RATE(1344000000, 1, 112, 2, 1, 1, 0), + PLL_RATE(1320000000, 1, 110, 2, 1, 1, 0), + PLL_RATE(1296000000, 1, 108, 2, 1, 1, 0), + PLL_RATE(1272000000, 1, 106, 2, 1, 1, 0), + PLL_RATE(1248000000, 1, 104, 2, 1, 1, 0), + PLL_RATE(1200000000, 1, 100, 2, 1, 1, 0), + PLL_RATE(1188000000, 1, 99, 2, 1, 1, 0), + PLL_RATE(1104000000, 1, 92, 2, 1, 1, 0), + PLL_RATE(1100000000, 3, 275, 2, 1, 1, 0), + PLL_RATE(1008000000, 1, 84, 2, 1, 1, 0), + PLL_RATE(1000000000, 3, 250, 2, 1, 1, 0), + PLL_RATE(912000000, 1, 76, 2, 1, 1, 0), + PLL_RATE(816000000, 1, 68, 2, 1, 1, 0), + PLL_RATE(800000000, 3, 200, 2, 1, 1, 0), + PLL_RATE(700000000, 3, 350, 4, 1, 1, 0), + PLL_RATE(696000000, 1, 116, 4, 1, 1, 0), + PLL_RATE(600000000, 1, 100, 4, 1, 1, 0), + PLL_RATE(594000000, 1, 99, 4, 1, 1, 0), + PLL_RATE(500000000, 1, 125, 6, 1, 1, 0), + PLL_RATE(408000000, 1, 68, 2, 2, 1, 0), + PLL_RATE(312000000, 1, 78, 6, 1, 1, 0), + PLL_RATE(297000000, 2, 99, 4, 1, 1, 0), + PLL_RATE(241500000, 2, 161, 4, 2, 1, 0), + PLL_RATE(216000000, 1, 72, 4, 2, 1, 0), + PLL_RATE(200000000, 1, 100, 3, 4, 1, 0), + PLL_RATE(148500000, 1, 99, 4, 4, 1, 0), + PLL_RATE(135000000, 2, 45, 4, 1, 1, 0), + PLL_RATE(119000000, 3, 119, 4, 2, 1, 0), + PLL_RATE(108000000, 2, 45, 5, 1, 1, 0), + PLL_RATE(100000000, 1, 150, 6, 6, 1, 0), + PLL_RATE(96000000, 1, 96, 6, 4, 1, 0), + PLL_RATE(78750000, 1, 96, 6, 4, 1, 0), + PLL_RATE(74250000, 2, 99, 4, 4, 1, 0), + { /* sentinel */ }, +}; + +static struct rk_pll_clock pmu_pll_clks[] = +{ + [ppll] = PLL(PLL_PPLL, PMU_PLL_CON(0), PMU_MODE, 0, 10, 0, pll_rates), + [hpll] = PLL(PLL_HPLL, PMU_PLL_CON(16), PMU_MODE, 2, 10, 0, pll_rates), +}; + +static struct rk_pll_clock pll_clks[] = +{ + [apll] = PLL(PLL_APLL, PLL_CON(0), MODE_CON, 0, 10, 0, pll_rates), + [dpll] = PLL(PLL_DPLL, PLL_CON(8), MODE_CON, 2, 10, 0, RT_NULL), + [gpll] = PLL(PLL_HPLL, PLL_CON(16), MODE_CON, 6, 10, 0, pll_rates), + [cpll] = PLL(PLL_CPLL, PLL_CON(24), MODE_CON, 4, 10, 0, pll_rates), + [npll] = PLL(PLL_NPLL, PLL_CON(32), MODE_CON, 10, 10, 0, pll_rates), + [vpll] = PLL(PLL_VPLL, PLL_CON(40), MODE_CON, 12, 10, 0, pll_rates), +}; + +static struct rk_clk_gate clk_gates[] = +{ + /* CRU_GATE_CON00 */ + /* CRU_GATE_CON01 */ + GATE(PCLK_CORE_PVTM, "pclk_core_pvtm", "pclk_core_pre", 1, 9), + GATE(CLK_CORE_PVTM, "clk_core_pvtm", "xin24m", 1, 10), + GATE(CLK_CORE_PVTM_CORE, "clk_core_pvtm_core", "armclk", 1, 11), + GATE(CLK_CORE_PVTPLL, "clk_core_pvtpll", "armclk", 1, 12), + /* CRU_GATE_CON02 */ + GATE(CLK_GPU_SRC, "clk_gpu_src", "clk_gpu_pre_c", 2, 0), + GATE(PCLK_GPU_PRE, "pclk_gpu_pre", "pclk_gpu_pre_div", 2, 2), + GATE(CLK_GPU, "clk_gpu", "clk_gpu_pre_c", 2, 3), + GATE(PCLK_GPU_PVTM, "pclk_gpu_pvtm", "pclk_gpu_pre", 2, 6), + GATE(CLK_GPU_PVTM, "clk_gpu_pvtm", "xin24m", 2, 7), + GATE(CLK_GPU_PVTM_CORE, "clk_gpu_pvtm_core", "clk_gpu_src", 2, 8), + GATE(CLK_GPU_PVTPLL, "clk_gpu_pvtpll", "clk_gpu_src", 2, 9), + GATE(ACLK_GPU_PRE, "aclk_gpu_pre", "aclk_gpu_pre_div", 2, 11), + /* CRU_GATE_CON03 */ + GATE(CLK_NPU_SRC, "clk_npu_src", "clk_npu_src_c", 3, 0), + GATE(CLK_NPU_NP5, "clk_npu_np5", "clk_npu_np5_c", 3, 1), + GATE(HCLK_NPU_PRE, "hclk_npu_pre", "hclk_npu_pre_div", 3, 2), + GATE(PCLK_NPU_PRE, "pclk_npu_pre", "pclk_npu_pre_div", 3, 3), + GATE(ACLK_NPU_PRE, "aclk_npu_pre", "clk_npu", 3, 4), + GATE(ACLK_NPU, "aclk_npu", "aclk_npu_pre", 3, 7), + GATE(HCLK_NPU, "hclk_npu", "hclk_npu_pre", 3, 8), + GATE(PCLK_NPU_PVTM, "pclk_npu_pvtm", "pclk_npu_pre", 3, 9), + GATE(CLK_NPU_PVTM, "clk_npu_pvtm", "xin24m", 3, 10), + GATE(CLK_NPU_PVTM_CORE, "clk_npu_pvtm_core", "clk_npu_pre_ndft", 3, 11), + GATE(CLK_NPU_PVTPLL, "clk_npu_pvtpll", "clk_npu_pre_ndft", 3, 12), + /* CRU_GATE_CON04 */ + GATE(CLK_DDRPHY1X_SRC, "clk_ddrphy1x_src", "clk_ddrphy1x_src_c", 4, 0), + GATE(CLK_MSCH, "clk_msch", "clk_msch_div", 4, 2), + GATE(CLK24_DDRMON, "clk24_ddrmon", "xin24m", 4, 15), + /* CRU_GATE_CON05 */ + GATE(ACLK_GIC_AUDIO, "aclk_gic_audio", "aclk_gic_audio_sel", 5, 0), + GATE(HCLK_GIC_AUDIO, "hclk_gic_audio", "hclk_gic_audio_sel", 5, 1), + GATE(ACLK_GIC600, "aclk_gic600", "aclk_gic_audio", 5, 4), + GATE(ACLK_SPINLOCK, "aclk_spinlock", "aclk_gic_audio", 5, 7), + GATE(HCLK_SDMMC_BUFFER, "hclk_sdmmc_buffer", "hclk_gic_audio", 5, 8), + GATE(DCLK_SDMMC_BUFFER, "dclk_sdmmc_buffer", "dclk_sdmmc_buffer_sel", 5, 9), + GATE(HCLK_I2S0_8CH, "hclk_i2s0_8ch", "hclk_gic_audio", 5, 10), + GATE(HCLK_I2S1_8CH, "hclk_i2s1_8ch", "hclk_gic_audio", 5, 11), + GATE(HCLK_I2S2_2CH, "hclk_i2s2_2ch", "hclk_gic_audio", 5, 12), + GATE(HCLK_I2S3_2CH, "hclk_i2s3_2ch", "hclk_gic_audio", 5, 13), + GATE(HCLK_PDM, "hclk_pdm", "hclk_gic_audio", 5, 14), + GATE(MCLK_PDM, "mclk_pdm", "mclk_pdm_sel", 5, 15), + /* CRU_GATE_CON06 */ + GATE(CLK_I2S0_8CH_TX_SRC, "clk_i2s0_8ch_tx_src", "clk_i2s0_8ch_tx_src_c", 6, 0), + GATE(CLK_I2S0_8CH_TX_FRAC, "clk_i2s0_8ch_tx_frac", "clk_i2s0_8ch_tx_frac_div", 6, 1), + GATE(MCLK_I2S0_8CH_TX, "mclk_i2s0_8ch_tx", "clk_i2s0_8ch_tx", 6, 2), + GATE(I2S0_MCLKOUT_TX, "i2s0_mclkout_tx", "i2s0_mclkout_tx_sel", 6, 3), + GATE(CLK_I2S0_8CH_RX_SRC, "clk_i2s0_8ch_rx_src", "clk_i2s0_8ch_rx_src_c", 6, 4), + GATE(CLK_I2S0_8CH_RX_FRAC, "clk_i2s0_8ch_rx_frac", "clk_i2s0_8ch_rx_frac_div", 6, 5), + GATE(MCLK_I2S0_8CH_RX, "mclk_i2s0_8ch_rx", "clk_i2s0_8ch_rx", 6, 6), + GATE(I2S0_MCLKOUT_RX, "i2s0_mclkout_rx", "i2s0_mclkout_rx_sel", 6, 7), + GATE(CLK_I2S1_8CH_TX_SRC, "clk_i2s1_8ch_tx_src", "clk_i2s1_8ch_tx_src_c", 6, 8), + GATE(CLK_I2S1_8CH_TX_FRAC, "clk_i2s1_8ch_tx_frac", "clk_i2s1_8ch_tx_frac_div", 6, 9), + GATE(MCLK_I2S1_8CH_TX, "mclk_i2s1_8ch_tx", "clk_i2s1_8ch_tx", 6, 10), + GATE(I2S1_MCLKOUT_TX, "i2s1_mclkout_tx", "i2s1_mclkout_tx_sel", 6, 11), + GATE(CLK_I2S1_8CH_RX_SRC, "clk_i2s1_8ch_rx_src", "clk_i2s1_8ch_rx_src_c", 6, 12), + GATE(CLK_I2S1_8CH_RX_FRAC, "clk_i2s1_8ch_rx_frac", "clk_i2s1_8ch_rx_frac_div", 6, 13), + GATE(MCLK_I2S1_8CH_RX, "mclk_i2s1_8ch_rx", "clk_i2s1_8ch_rx", 6, 14), + GATE(I2S1_MCLKOUT_RX, "i2s1_mclkout_rx", "i2s1_mclkout_rx_sel", 6, 15), + /* CRU_GATE_CON07 */ + GATE(CLK_I2S2_2CH_SRC, "clk_i2s2_2ch_src", "clk_i2s2_2ch_src_c", 7, 0), + GATE(CLK_I2S2_2CH_FRAC, "clk_i2s2_2ch_frac", "clk_i2s2_2ch_frac_div", 7, 1), + GATE(MCLK_I2S2_2CH, "mclk_i2s2_2ch", "clk_i2s2_2ch", 7, 2), + GATE(I2S2_MCLKOUT, "i2s2_mclkout", "i2s2_mclkout_sel", 7, 3), + GATE(CLK_I2S3_2CH_TX, "clk_i2s3_2ch_tx_src", "clk_i2s3_2ch_tx_src_c", 7, 4), + GATE(CLK_I2S3_2CH_TX_FRAC, "clk_i2s3_2ch_tx_frac", "clk_i2s3_2ch_tx_frac_div", 7, 5), + GATE(MCLK_I2S3_2CH_TX, "mclk_i2s3_2ch_tx", "clk_i2s3_2ch_tx", 7, 6), + GATE(I2S3_MCLKOUT_TX, "i2s3_mclkout_tx", "i2s3_mclkout_tx_sel", 7, 7), + GATE(CLK_I2S3_2CH_RX, "clk_i2s3_2ch_rx_src", "clk_i2s3_2ch_rx_src_div", 7, 8), + GATE(CLK_I2S3_2CH_RX_FRAC, "clk_i2s3_2ch_rx_frac", "clk_i2s3_2ch_rx_frac_div", 7, 9), + GATE(MCLK_I2S3_2CH_RX, "mclk_i2s3_2ch_rx", "clk_i2s3_2ch_rx", 7, 10), + GATE(I2S3_MCLKOUT_RX, "i2s3_mclkout_rx", "i2s3_mclkout_rx_sel", 7, 11), + GATE(HCLK_VAD, "hclk_vad", "hclk_gic_audio", 7, 12), + GATE(HCLK_SPDIF_8CH, "hclk_spdif_8ch", "hclk_gic_audio", 7, 13), + GATE(MCLK_SPDIF_8CH_SRC, "mclk_spdif_8ch_src", "mclk_spdif_8ch_src_c", 7, 14), + GATE(MCLK_SPDIF_8CH_FRAC, "mclk_spdif_8ch_frac", "mclk_spdif_8ch_frac_div", 7, 15), + /* CRU_GATE_CON08 */ + GATE(HCLK_AUDPWM, "hclk_audpwm", "hclk_gic_audio", 8, 0), + GATE(SCLK_AUDPWM_SRC, "sclk_audpwm_src", "sclk_audpwm_src_c", 8, 1), + GATE(SCLK_AUDPWM_FRAC, "sclk_audpwm_frac", "sclk_audpwm_frac_frac", 8, 2), + GATE(HCLK_ACDCDIG, "hclk_acdcdig", "hclk_gic_audio", 8, 3), + GATE(CLK_ACDCDIG_I2C, "clk_acdcdig_i2c", "clk_acdcdig_i2c_sel", 8, 4), + GATE(CLK_ACDCDIG_DAC, "clk_acdcdig_dac", "mclk_i2s3_2ch_tx", 8, 5), + GATE(CLK_ACDCDIG_ADC, "clk_acdcdig_adc", "mclk_i2s3_2ch_rx", 8, 6), + GATE(ACLK_SECURE_FLASH, "aclk_secure_flash", "aclk_secure_flash_sel", 8, 7), + GATE(HCLK_SECURE_FLASH, "hclk_secure_flash", "hclk_secure_flash_sel", 8, 8), + GATE(ACLK_CRYPTO_NS, "aclk_crypto_ns", "aclk_secure_flash", 8, 11), + GATE(HCLK_CRYPTO_NS, "hclk_crypto_ns", "hclk_secure_flash", 8, 12), + GATE(CLK_CRYPTO_NS_CORE, "clk_crypto_ns_core", "clk_crypto_ns_core_sel", 8, 13), + GATE(CLK_CRYPTO_NS_PKA, "clk_crypto_ns_pka", "clk_crypto_ns_pka_sel", 8, 14), + GATE(CLK_CRYPTO_NS_RNG, "clk_crypto_ns_rng", "hclk_secure_flash", 8, 15), + /* CRU_GATE_CON09 */ + GATE(HCLK_NANDC, "hclk_nandc", "hclk_secure_flash", 9, 0), + GATE(NCLK_NANDC, "nclk_nandc", "nclk_nandc_sel", 9, 1), + GATE(HCLK_SFC, "hclk_sfc", "hclk_secure_flash", 9, 2), + GATE(HCLK_SFC_XIP, "hclk_sfc_xip", "hclk_secure_flash", 9, 3), + GATE(SCLK_SFC, "sclk_sfc", "sclk_sfc_sel", 9, 4), + GATE(ACLK_EMMC, "aclk_emmc", "aclk_secure_flash", 9, 5), + GATE(HCLK_EMMC, "hclk_emmc", "hclk_secure_flash", 9, 6), + GATE(BCLK_EMMC, "bclk_emmc", "bclk_emmc_sel", 9, 7), + GATE(CCLK_EMMC, "cclk_emmc", "cclk_emmc_sel", 9, 8), + GATE(TCLK_EMMC, "tclk_emmc", "xin24m", 9, 9), + GATE(HCLK_TRNG_NS, "hclk_trng_ns", "hclk_secure_flash", 9, 10), + GATE(CLK_TRNG_NS, "clk_trng_ns", "hclk_secure_flash", 9, 11), + /* CRU_GATE_CON10 */ + GATE(ACLK_PIPE, "aclk_pipe", "aclk_pipe_sel", 10, 0), + GATE(PCLK_PIPE, "pclk_pipe", "pclk_pipe_div", 10, 1), + GATE(CLK_XPCS_EEE, "clk_xpcs_eee", "clk_xpcs_eee_sel", 10, 4), + GATE(ACLK_USB3OTG0, "aclk_usb3otg0", "aclk_pipe", 10, 8), + GATE(CLK_USB3OTG0_REF, "clk_usb3otg0_ref", "xin24m", 10, 9), + GATE(CLK_USB3OTG0_SUSPEND, "clk_usb3otg0_suspend", "clk_usb3otg0_suspend_sel", 10, 10), + GATE(ACLK_USB3OTG1, "aclk_usb3otg1", "aclk_pipe", 10, 12), + GATE(CLK_USB3OTG1_REF, "clk_usb3otg1_ref", "xin24m", 10, 13), + GATE(CLK_USB3OTG1_SUSPEND, "clk_usb3otg1_suspend", "clk_usb3otg1_suspend_sel", 10, 14), + /* CRU_GATE_CON11 */ + GATE(ACLK_SATA0, "aclk_sata0", "aclk_pipe", 11, 0), + GATE(CLK_SATA0_PMALIVE, "clk_sata0_pmalive", "clk_gpll_div_20m", 11, 1), + GATE(CLK_SATA0_RXOOB, "clk_sata0_rxoob", "clk_cpll_div_50m", 11, 2), + GATE(ACLK_SATA1, "aclk_sata1", "aclk_pipe", 11, 4), + GATE(CLK_SATA1_PMALIVE, "clk_sata1_pmalive", "clk_gpll_div_20m", 11, 5), + GATE(CLK_SATA1_RXOOB, "clk_sata1_rxoob", "clk_cpll_div_50m", 11, 6), + GATE(ACLK_SATA2, "aclk_sata2", "aclk_pipe", 11, 8), + GATE(CLK_SATA2_PMALIVE, "clk_sata2_pmalive", "clk_gpll_div_20m", 11, 9), + GATE(CLK_SATA2_RXOOB, "clk_sata2_rxoob", "clk_cpll_div_50m", 11, 10), + /* CRU_GATE_CON12 */ + GATE(ACLK_PCIE20_MST, "aclk_pcie20_mst", "aclk_pipe", 12, 0), + GATE(ACLK_PCIE20_SLV, "aclk_pcie20_slv", "aclk_pipe", 12, 1), + GATE(ACLK_PCIE20_DBI, "aclk_pcie20_dbi", "aclk_pipe", 12, 2), + GATE(PCLK_PCIE20, "pclk_pcie20", "pclk_pipe", 12, 3), + GATE(CLK_PCIE20_AUX_NDFT, "clk_pcie20_aux_ndft", "xin24m", 12, 4), + GATE(ACLK_PCIE30X1_MST, "aclk_pcie30x1_mst", "aclk_pipe", 12, 8), + GATE(ACLK_PCIE30X1_SLV, "aclk_pcie30x1_slv", "aclk_pipe", 12, 9), + GATE(ACLK_PCIE30X1_DBI, "aclk_pcie30x1_dbi", "aclk_pipe", 12, 10), + GATE(PCLK_PCIE30X1, "pclk_pcie30x1", "pclk_pipe", 12, 11), + GATE(CLK_PCIE30X1_AUX_NDFT, "clk_pcie30x1_aux_ndft", "xin24m", 12, 12), + /* CRU_GATE_CON13 */ + GATE(ACLK_PCIE30X2_MST, "aclk_pcie30x2_mst", "aclk_pipe", 13, 0), + GATE(ACLK_PCIE30X2_SLV, "aclk_pcie30x2_slv", "aclk_pipe", 13, 1), + GATE(ACLK_PCIE30X2_DBI, "aclk_pcie30x2_dbi", "aclk_pipe", 13, 2), + GATE(PCLK_PCIE30X2, "pclk_pcie30x2", "pclk_pipe", 13, 3), + GATE(CLK_PCIE30X2_AUX_NDFT, "clk_pcie30x2_aux_ndft", "xin24m", 13, 4), + GATE(PCLK_XPCS, "pclk_xpcs", "pclk_pipe", 13, 6), + /* CRU_GATE_CON14 */ + GATE(ACLK_PERIMID, "aclk_perimid", "aclk_perimid_sel", 14, 0), + GATE(HCLK_PERIMID, "hclk_perimid", "hclk_perimid_sel", 14, 1), + GATE(ACLK_PHP, "aclk_php", "aclk_php_sel", 14, 8), + GATE(HCLK_PHP, "hclk_php", "hclk_php_sel", 14, 9), + GATE(PCLK_PHP, "pclk_php", "pclk_php_div", 14, 10), + /* CRU_GATE_CON15 */ + GATE(HCLK_SDMMC0, "hclk_sdmmc0", "hclk_php", 15, 0), + GATE(CLK_SDMMC0, "clk_sdmmc0", "clk_sdmmc0_sel", 15, 1), + GATE(HCLK_SDMMC1, "hclk_sdmmc1", "hclk_php", 15, 2), + GATE(CLK_SDMMC1, "clk_sdmmc1", "clk_sdmmc1_sel", 15, 3), + GATE(CLK_GMAC0_PTP_REF, "clk_gmac0_ptp_ref", "clk_gmac0_ptp_ref_sel", 15, 4), + GATE(ACLK_GMAC0, "aclk_gmac0", "aclk_php", 15, 5), + GATE(PCLK_GMAC0, "pclk_gmac0", "pclk_php", 15, 6), + GATE(CLK_MAC0_2TOP, "clk_mac0_2top", "clk_mac0_2top_sel", 15, 7), + GATE(CLK_MAC0_OUT, "clk_mac0_out", "clk_mac0_out_sel", 15, 8), + GATE(CLK_MAC0_REFOUT, "clk_mac0_refout", "clk_mac0_2top", 15, 12), + /* CRU_GATE_CON16 */ + GATE(ACLK_USB, "aclk_usb", "aclk_usb_sel", 16, 0), + GATE(HCLK_USB, "hclk_usb", "hclk_usb_sel", 16, 1), + GATE(PCLK_USB, "pclk_usb", "pclk_usb_div", 16, 2), + GATE(HCLK_USB2HOST0, "hclk_usb2host0", "hclk_usb", 16, 12), + GATE(HCLK_USB2HOST0_ARB, "hclk_usb2host0_arb", "hclk_usb", 16, 13), + GATE(HCLK_USB2HOST1, "hclk_usb2host1", "hclk_usb", 16, 14), + GATE(HCLK_USB2HOST1_ARB, "hclk_usb2host1_arb", "hclk_usb", 16, 15), + /* CRU_GATE_CON17 */ + GATE(HCLK_SDMMC2, "hclk_sdmmc2", "hclk_usb", 17, 0), + GATE(CLK_SDMMC2, "clk_sdmmc2", "clk_sdmmc2_sel", 17, 1), + GATE(CLK_GMAC1_PTP_REF, "clK_gmac1_ptp_ref", "clk_gmac1_ptp_ref_sel", 17, 2), + GATE(ACLK_GMAC1, "aclk_gmac1", "aclk_usb", 17, 3), + GATE(PCLK_GMAC1, "pclk_gmac1", "pclk_usb", 17, 4), + GATE(CLK_MAC1_2TOP, "clk_mac1_2top", "clk_mac1_2top_sel", 17, 5), + GATE(CLK_MAC1_OUT, "clk_mac1_out", "clk_mac1_out_sel", 17, 6), + GATE(CLK_MAC1_REFOUT, "clk_mac1_refout", "clk_mac1_2top", 17, 10), + /* CRU_GATE_CON18 */ + GATE(ACLK_VI, "aclk_vi", "aclk_vi_sel", 18, 0), + GATE(HCLK_VI, "hclk_vi", "hclk_vi_div", 18, 1), + GATE(PCLK_VI, "pclk_vi", "pclk_vi_div", 18, 2), + GATE(ACLK_VICAP, "aclk_vicap", "aclk_vi", 18, 9), + GATE(HCLK_VICAP, "hclk_vicap", "hclk_vi", 18, 10), + GATE(DCLK_VICAP, "dclk_vicap", "dclk_vicap1_sel", 18, 11), + /* CRU_GATE_CON19 */ + GATE(ACLK_ISP, "aclk_isp", "aclk_vi", 19, 0), + GATE(HCLK_ISP, "hclk_isp", "hclk_vi", 19, 1), + GATE(CLK_ISP, "clk_isp", "clk_isp_c", 19, 2), + GATE(PCLK_CSI2HOST1, "pclk_csi2host1", "pclk_vi", 19, 4), + GATE(CLK_CIF_OUT, "clk_cif_out", "clk_cif_out_c", 19, 8), + GATE(CLK_CAM0_OUT, "clk_cam0_out", "clk_cam0_out_c", 19, 9), + GATE(CLK_CAM1_OUT, "clk_cam1_out", "clk_cam1_out_c", 19, 9), + /* CRU_GATE_CON20 */ + GATE(ACLK_VO, "aclk_vo", "aclk_vo_sel", 20, 0), + GATE(HCLK_VO, "hclk_vo", "hclk_vo_div", 20, 1), + GATE(PCLK_VO, "pclk_vo", "pclk_vo_div", 20, 2), + GATE(ACLK_VOP_PRE, "aclk_vop_pre", "aclk_vop_pre_c", 20, 6), + GATE(ACLK_VOP, "aclk_vop", "aclk_vop_pre", 20, 8), + GATE(HCLK_VOP, "hclk_vop", "hclk_vo", 20, 9), + GATE(DCLK_VOP0, "dclk_vop0", "dclk_vop0_c", 20, 10), + GATE(DCLK_VOP1, "dclk_vop1", "dclk_vop1_c", 20, 11), + GATE(DCLK_VOP2, "dclk_vop2", "dclk_vop2_c", 20, 12), + GATE(CLK_VOP_PWM, "clk_vop_pwm", "xin24m", 20, 13), + /* CRU_GATE_CON21 */ + GATE(ACLK_HDCP, "aclk_hdcp", "aclk_vo", 21, 0), + GATE(HCLK_HDCP, "hclk_hdcp", "hclk_vo", 21, 1), + GATE(PCLK_HDCP, "pclk_hdcp", "pclk_vo", 21, 2), + GATE(PCLK_HDMI_HOST, "pclk_hdmi_host", "pclk_vo", 21, 3), + GATE(CLK_HDMI_SFR, "clk_hdmi_sfr", "xin24m", 21, 4), + GATE(CLK_HDMI_CEC, "clk_hdmi_cec", "clk_rtc_32k", 21, 5), + GATE(PCLK_DSITX_0, "pclk_dsitx_0", "pclk_vo", 21, 6), + GATE(PCLK_DSITX_1, "pclk_dsitx_1", "pclk_vo", 21, 7), + GATE(PCLK_EDP_CTRL, "pclk_edp_ctrl", "pclk_vo", 21, 8), + GATE(CLK_EDP_200M, "clk_edp_200m", "clk_edp_200m_sel", 21, 9), + /* CRU_GATE_CON22 */ + GATE(ACLK_VPU_PRE, "aclk_vpu_pre", "aclk_vpu_pre_c", 22, 0), + GATE(HCLK_VPU_PRE, "hclk_vpu_pre", "aclk_vpu_pre_c", 22, 1), + GATE(ACLK_VPU, "aclk_vpu", "aclk_vpu_pre", 22, 4), + GATE(HCLK_VPU, "hclk_vpu", "hclk_vpu_pre", 22, 5), + GATE(PCLK_RGA_PRE, "pclk_rga_pre", "pclk_rga_pre_div", 22, 12), + GATE(PCLK_EINK, "pclk_eink", "pclk_rga_pre", 22, 14), + GATE(HCLK_EINK, "hclk_eink", "hclk_rga_pre", 22, 15), + /* CRU_GATE_CON23 */ + GATE(ACLK_RGA_PRE, "aclk_rga_pre", "aclk_rga_pre_sel", 23, 0), + GATE(HCLK_RGA_PRE, "hclk_rga_pre", "hclk_rga_pre_div", 23, 1), + GATE(ACLK_RGA, "aclk_rga", "aclk_rga_pre", 23, 4), + GATE(HCLK_RGA, "hclk_rga", "hclk_rga_pre", 23, 5), + GATE(CLK_RGA_CORE, "clk_rga_core", "clk_rga_core_sel", 23, 6), + GATE(ACLK_IEP, "aclk_iep", "aclk_rga_pre", 23, 7), + GATE(HCLK_IEP, "hclk_iep", "hclk_rga_pre", 23, 8), + GATE(CLK_IEP_CORE, "clk_iep_core", "clk_iep_core_sel", 23, 9), + GATE(HCLK_EBC, "hclk_ebc", "hclk_rga_pre", 23, 10), + GATE(DCLK_EBC, "dclk_ebc", "dclk_ebc_sel", 23, 11), + GATE(ACLK_JDEC, "aclk_jdec", "aclk_rga_pre", 23, 12), + GATE(HCLK_JDEC, "hclk_jdec", "hclk_rga_pre", 23, 13), + GATE(ACLK_JENC, "aclk_jenc", "aclk_rga_pre", 23, 14), + GATE(HCLK_JENC, "hclk_jenc", "hclk_rga_pre", 23, 15), + /* CRU_GATE_CON24 */ + GATE(ACLK_RKVENC_PRE, "aclk_rkvenc_pre", "aclk_rkvenc_pre_c", 24, 0), + GATE(HCLK_RKVENC_PRE, "hclk_rkvenc_pre", "hclk_rkvenc_pre_div", 24, 1), + GATE(ACLK_RKVENC, "aclk_rkvenc", "aclk_rkvenc_pre", 24, 6), + GATE(HCLK_RKVENC, "hclk_rkvenc", "hclk_rkvenc_pre", 24, 7), + GATE(CLK_RKVENC_CORE, "clk_rkvenc_core", "clk_rkvenc_core_c", 24, 8), + GATE(ACLK_RKVDEC_PRE, "aclk_rkvdec_pre", "aclk_rkvdec_pre_c", 25, 0), + /* CRU_GATE_CON25 */ + GATE(HCLK_RKVDEC_PRE, "hclk_rkvdec_pre", "hclk_rkvdec_pre_div", 25, 1), + GATE(ACLK_RKVDEC, "aclk_rkvdec", "aclk_rkvdec_pre", 25, 4), + GATE(HCLK_RKVDEC, "hclk_rkvdec", "hclk_rkvdec_pre", 25, 5), + GATE(CLK_RKVDEC_CA, "clk_rkvdec_ca", "clk_rkvdec_ca_c", 25, 6), + GATE(CLK_RKVDEC_CORE, "clk_rkvdec_core", "clk_rkvdec_core_c", 25, 7), + GATE(CLK_RKVDEC_HEVC_CA, "clk_rkvdec_hevc_ca", "clk_rkvdec_hevc_ca_c", 25, 8), + /* CRU_GATE_CON26 */ + GATE(ACLK_BUS, "aclk_bus", "aclk_bus_sel", 26, 0), + GATE(PCLK_BUS, "pclk_bus", "pclk_bus_sel", 26, 1), + GATE(PCLK_TSADC, "pclk_tsadc", "pclk_bus", 26, 4), + GATE(CLK_TSADC_TSEN, "clk_tsadc_tsen", "clk_tsadc_tsen_c", 26, 5), + GATE(CLK_TSADC, "clk_tsadc", "clk_tsadc_div", 26, 6), + GATE(PCLK_SARADC, "pclk_saradc", "pclk_bus", 26, 7), + GATE(CLK_SARADC, "clk_saradc", "xin24m", 26, 8), + GATE(PCLK_OTPC_NS, "pclk_otpc_ns", "hclk_secure_flash", 26, 9), + GATE(CLK_OTPC_NS_SBPI, "clk_otpc_ns_sbpi", "xin24m", 26, 10), + GATE(CLK_OTPC_NS_USR, "clk_otpc_ns_usr", "xin_osc0_half", 26, 11), + GATE(PCLK_SCR, "pclk_scr", "pclk_bus", 26, 12), + GATE(PCLK_WDT_NS, "pclk_wdt_ns", "pclk_bus", 26, 13), + GATE(TCLK_WDT_NS, "tclk_wdt_ns", "xin24m", 26, 14), + /* CRU_GATE_CON27 */ + GATE(PCLK_CAN0, "pclk_can0", "pclk_bus", 27, 5), + GATE(CLK_CAN0, "clk_can0", "clk_can0_c", 27, 6), + GATE(PCLK_CAN1, "pclk_can1", "pclk_bus", 27, 7), + GATE(CLK_CAN1, "clk_can1", "clk_can1_c", 27, 8), + GATE(PCLK_CAN2, "pclk_can2", "pclk_bus", 27, 9), + GATE(CLK_CAN2, "clk_can2", "clk_can2_c", 27, 10), + GATE(PCLK_UART1, "pclk_uart1", "pclk_bus", 27, 12), + GATE(CLK_UART1_SRC, "clk_uart1_src", "clk_uart1_src_c", 27, 13), + GATE(CLK_UART1_FRAC, "clk_uart1_frac", "clk_uart1_frac_frac", 27, 14), + GATE(SCLK_UART1, "sclk_uart1", "sclk_uart1_sel", 27, 15), + /* CRU_GATE_CON28 */ + GATE(PCLK_UART2, "pclk_uart2", "pclk_bus", 28, 0), + GATE(CLK_UART2_SRC, "clk_uart2_src", "clk_uart2_src_c", 28, 1), + GATE(CLK_UART2_FRAC, "clk_uart2_frac", "clk_uart2_frac_frac", 28, 2), + GATE(SCLK_UART2, "sclk_uart2", "sclk_uart2_sel", 28, 3), + GATE(PCLK_UART3, "pclk_uart3", "pclk_bus", 28, 4), + GATE(CLK_UART3_SRC, "clk_uart3_src", "clk_uart3_src_c", 28, 5), + GATE(CLK_UART3_FRAC, "clk_uart3_frac", "clk_uart3_frac_frac", 28, 6), + GATE(SCLK_UART3, "sclk_uart3", "sclk_uart3_sel", 28, 7), + GATE(PCLK_UART4, "pclk_uart4", "pclk_bus", 28, 8), + GATE(CLK_UART4_SRC, "clk_uart4_src", "clk_uart4_src_c", 28, 9), + GATE(CLK_UART4_FRAC, "clk_uart4_frac", "clk_uart4_frac_frac", 28, 10), + GATE(SCLK_UART4, "sclk_uart4", "sclk_uart4_sel", 28, 11), + GATE(PCLK_UART5, "pclk_uart5", "pclk_bus", 28, 12), + GATE(CLK_UART5_SRC, "clk_uart5_src", "clk_uart5_src_c", 28, 13), + GATE(CLK_UART5_FRAC, "clk_uart5_frac", "clk_uart5_frac_frac", 28, 14), + GATE(SCLK_UART5, "sclk_uart5", "sclk_uart5_sel", 28, 15), + /* CRU_GATE_CON29 */ + GATE(PCLK_UART6, "pclk_uart6", "pclk_bus", 29, 0), + GATE(CLK_UART6_SRC, "clk_uart6_src", "clk_uart6_src_c", 29, 1), + GATE(CLK_UART6_FRAC, "clk_uart6_frac", "clk_uart6_frac_frac", 29, 2), + GATE(SCLK_UART6, "sclk_uart6", "sclk_uart6_sel", 29, 3), + GATE(PCLK_UART7, "pclk_uart7", "pclk_bus", 29, 4), + GATE(CLK_UART7_SRC, "clk_uart7_src", "clk_uart7_src_c", 29, 5), + GATE(CLK_UART7_FRAC, "clk_uart7_frac", "clk_uart7_frac_frac", 29, 6), + GATE(SCLK_UART7, "sclk_uart7", "sclk_uart7_sel", 29, 7), + GATE(PCLK_UART8, "pclk_uart8", "pclk_bus", 29, 8), + GATE(CLK_UART8_SRC, "clk_uart8_src", "clk_uart8_src_c", 29, 9), + GATE(CLK_UART8_FRAC, "clk_uart8_frac", "clk_uart8_frac_frac", 29, 10), + GATE(SCLK_UART8, "sclk_uart8", "sclk_uart8_sel", 29, 11), + GATE(PCLK_UART9, "pclk_uart9", "pclk_bus", 29, 12), + GATE(CLK_UART9_SRC, "clk_uart9_src", "clk_uart9_src_c", 29, 13), + GATE(CLK_UART9_FRAC, "clk_uart9_frac", "clk_uart9_frac_frac", 29, 14), + GATE(SCLK_UART9, "sclk_uart9", "sclk_uart9_sel", 29, 15), + /* CRU_GATE_CON30 */ + GATE(PCLK_I2C1, "pclk_i2c1", "pclk_bus", 30, 0), + GATE(CLK_I2C1, "clk_i2c1", "clk_i2c", 30, 1), + GATE(PCLK_I2C2, "pclk_i2c2", "pclk_bus", 30, 2), + GATE(CLK_I2C2, "clk_i2c2", "clk_i2c", 30, 3), + GATE(PCLK_I2C3, "pclk_i2c3", "pclk_bus", 30, 4), + GATE(CLK_I2C3, "clk_i2c3", "clk_i2c", 30, 5), + GATE(PCLK_I2C4, "pclk_i2c4", "pclk_bus", 30, 6), + GATE(CLK_I2C4, "clk_i2c4", "clk_i2c", 30, 7), + GATE(PCLK_I2C5, "pclk_i2c5", "pclk_bus", 30, 8), + GATE(CLK_I2C5, "clk_i2c5", "clk_i2c", 30, 9), + GATE(PCLK_SPI0, "pclk_spi0", "pclk_bus", 30, 10), + GATE(CLK_SPI0, "clk_spi0", "clk_spi0_sel", 30, 11), + GATE(PCLK_SPI1, "pclk_spi1", "pclk_bus", 30, 12), + GATE(CLK_SPI1, "clk_spi1", "clk_spi1_sel", 30, 13), + GATE(PCLK_SPI2, "pclk_spi2", "pclk_bus", 30, 14), + GATE(CLK_SPI2, "clk_spi2", "clk_spi2_sel", 30, 15), + /* CRU_GATE_CON31 */ + GATE(PCLK_SPI3, "pclk_spi3", "pclk_bus", 31, 0), + GATE(CLK_SPI3, "clk_spi3", "clk_spi3_sel", 31, 1), + GATE(PCLK_GPIO1, "pclk_gpio1", "pclk_bus", 31, 2), + GATE(DBCLK_GPIO1, "dbclk_gpio1", "dbclk_gpio", 31, 3), + GATE(PCLK_GPIO2, "pclk_gpio2", "pclk_bus", 31, 4), + GATE(DBCLK_GPIO2, "dbclk_gpio2", "dbclk_gpio", 31, 5), + GATE(PCLK_GPIO3, "pclk_gpio3", "pclk_bus", 31, 6), + GATE(DBCLK_GPIO3, "dbclk_gpio3", "dbclk_gpio", 31, 7), + GATE(PCLK_GPIO4, "pclk_gpio4", "pclk_bus", 31, 8), + GATE(DBCLK_GPIO4, "dbclk_gpio4", "dbclk_gpio", 31, 9), + GATE(PCLK_PWM1, "pclk_pwm1", "pclk_bus", 31, 10), + GATE(CLK_PWM1, "clk_pwm1", "clk_pwm1_sel", 31, 11), + GATE(CLK_PWM1_CAPTURE, "clk_pwm1_capture", "xin24m", 31, 12), + GATE(PCLK_PWM2, "pclk_pwm2", "pclk_bus", 31, 13), + GATE(CLK_PWM2, "clk_pwm2", "clk_pwm2_sel", 31, 14), + GATE(CLK_PWM2_CAPTURE, "clk_pwm2_capture", "xin24m", 31, 15), + /* CRU_GATE_CON32 */ + GATE(PCLK_PWM3, "pclk_pwm3", "pclk_bus", 32, 0), + GATE(CLK_PWM3, "clk_pwm3", "clk_pwm3_sel", 32, 1), + GATE(CLK_PWM3_CAPTURE, "clk_pwm3_capture", "xin24m", 32, 2), + GATE(PCLK_TIMER, "pclk_timer", "pclk_bus", 32, 3), + GATE(CLK_TIMER0, "clk_timer0", "xin24m", 32, 4), + GATE(CLK_TIMER1, "clk_timer1", "xin24m", 32, 5), + GATE(CLK_TIMER2, "clk_timer2", "xin24m", 32, 6), + GATE(CLK_TIMER3, "clk_timer3", "xin24m", 32, 7), + GATE(CLK_TIMER4, "clk_timer4", "xin24m", 32, 8), + GATE(CLK_TIMER5, "clk_timer5", "xin24m", 32, 9), + GATE(CLK_I2C, "clk_i2c", "clk_i2c_sel", 32, 10), + GATE(DBCLK_GPIO, "dbclk_gpio", "dbclk_gpio_sel", 32, 11), + GATE(ACLK_MCU, "aclk_mcu", "aclk_bus", 32, 13), + GATE(PCLK_INTMUX, "pclk_intmux", "pclk_bus", 32, 14), + GATE(PCLK_MAILBOX, "pclk_mailbox", "pclk_bus", 32, 15), + /* CRU_GATE_CON33 */ + GATE(ACLK_TOP_HIGH, "aclk_top_high", "aclk_top_high_sel", 33, 0), + GATE(ACLK_TOP_LOW, "aclk_top_low", "aclk_top_low_sel", 33, 1), + GATE(HCLK_TOP, "hclk_top", "hclk_top_sel", 33, 2), + GATE(PCLK_TOP, "pclk_top", "pclk_top_sel", 33, 3), + GATE(PCLK_PCIE30PHY, "pclk_pcie30phy", "pclk_top", 33, 8), + GATE(CLK_OPTC_ARB, "clk_optc_arb", "clk_optc_arb_sel", 33, 9), + GATE(PCLK_MIPICSIPHY, "pclk_mipicsiphy", "pclk_top", 33, 13), + GATE(PCLK_MIPIDSIPHY0, "pclk_mipidsiphy0", "pclk_top", 33, 14), + GATE(PCLK_MIPIDSIPHY1, "pclk_mipidsiphy1", "pclk_top", 33, 15), + /* CRU_GATE_CON34 */ + GATE(PCLK_PIPEPHY0, "pclk_pipephy0", "pclk_top", 34, 4), + GATE(PCLK_PIPEPHY1, "pclk_pipephy1", "pclk_top", 34, 5), + GATE(PCLK_PIPEPHY2, "pclk_pipephy2", "pclk_top", 34, 6), + GATE(PCLK_CPU_BOOST, "pclk_cpu_boost", "pclk_top", 34, 11), + GATE(CLK_CPU_BOOST, "clk_cpu_boost", "xin24m", 34, 12), + GATE(PCLK_OTPPHY, "pclk_otpphy", "pclk_top", 34, 13), + GATE(PCLK_EDPPHY_GRF, "pclk_edpphy_grf", "pclk_top", 34, 14), + /* CRU_GATE_CON35 */ + GATE(CPLL_500M, "clk_cpll_div_500m", "clk_cpll_div_500m_div", 35, 7), + GATE(CPLL_333M, "clk_cpll_div_333m", "clk_cpll_div_333m_div", 35, 8), + GATE(CPLL_250M, "clk_cpll_div_250m", "clk_cpll_div_250m_div", 35, 9), + GATE(CPLL_125M, "clk_cpll_div_125m", "clk_cpll_div_125m_div", 35, 10), + GATE(CPLL_100M, "clk_cpll_div_100m", "clk_cpll_div_100m_div", 35, 11), + GATE(CPLL_62P5M, "clk_cpll_div_62P5m", "clk_cpll_div_62P5m_div", 35, 12), + GATE(CPLL_50M, "clk_cpll_div_50m", "clk_cpll_div_50m_div", 35, 13), + GATE(CPLL_25M, "clk_cpll_div_25m", "clk_cpll_div_25m_div", 35, 14), +}; + +static struct rk_clk_gate pmu_clk_gates[] = +{ + /* PMUCRU_PMUGATE_CON00 */ + GATE(XIN_OSC0_DIV, "xin_osc0_div", "xin_osc0_div_div", 0, 0), + GATE(CLK_RTC_32K, "clk_rtc_32k", "clk_rtc_32k_mux", 0, 1), + GATE(PCLK_PDPMU, "pclk_pdpmu", "pclk_pdpmu_pre", 0, 2), + GATE(PCLK_PMU, "pclk_pmu", "pclk_pdpmu", 0, 6), + GATE(CLK_PMU, "clk_pmu", "xin24m", 0, 7), + /* PMUCRU_PMUGATE_CON01 */ + GATE(PCLK_I2C0, "pclk_i2c0", "pclk_pdpmu", 1, 0), + GATE(CLK_I2C0, "clk_i2c0", "clk_i2c0_div", 1, 1), + GATE(PCLK_UART0, "pclk_uart0", "pclk_pdpmu", 1, 2), + GATE(CLK_UART0_DIV, "sclk_uart0_div", "sclk_uart0_div_div", 1, 3), + GATE(CLK_UART0_FRAC, "sclk_uart0_frac", "sclk_uart0_frac_div", 1, 4), + GATE(SCLK_UART0, "sclk_uart0", "sclk_uart0_mux", 1, 5), + GATE(PCLK_PWM0, "pclk_pwm0", "pclk_pdpmu", 1, 6), + GATE(CLK_PWM0, "clk_pwm0", "clk_pwm0_div", 1, 7), + GATE(CLK_CAPTURE_PWM0_NDFT, "clk_capture_pwm0_ndft", "xin24m", 1, 8), + GATE(PCLK_GPIO0, "pclk_gpio0", "pclk_pdpmu", 1, 9), + GATE(DBCLK_GPIO0, "dbclk_gpio0", "dbclk_gpio0_sel", 1, 10), + GATE(PCLK_PMUPVTM, "pclk_pmupvtm", "pclk_pdpmu", 1, 11), + GATE(CLK_PMUPVTM, "clk_pmupvtm", "xin24m", 1, 12), + GATE(CLK_CORE_PMUPVTM, "clk_core_pmupvtm", "xin24m", 1, 13), + /* PMUCRU_PMUGATE_CON02 */ + GATE(CLK_REF24M, "clk_ref24m", "clk_ref24m_div", 2, 0), + GATE(XIN_OSC0_USBPHY0_G, "xin_osc0_usbphy0_g", "xin24m", 2, 1), + GATE(XIN_OSC0_USBPHY1_G, "xin_osc0_usbphy1_g", "xin24m", 2, 2), + GATE(XIN_OSC0_MIPIDSIPHY0_G, "xin_osc0_mipidsiphy0_g", "xin24m", 2, 3), + GATE(XIN_OSC0_MIPIDSIPHY1_G, "xin_osc0_mipidsiphy1_g", "xin24m", 2, 4), + GATE(CLK_WIFI_DIV, "clk_wifi_div", "clk_wifi_div_div", 2, 5), + GATE(CLK_WIFI_OSC0, "clk_wifi_osc0", "xin24m", 2, 6), + GATE(CLK_PCIEPHY0_DIV, "clk_pciephy0_div", "clk_pciephy0_div_div", 2, 7), + GATE(CLK_PCIEPHY0_OSC0, "clk_pciephy0_osc0", "xin24m", 2, 8), + GATE(CLK_PCIEPHY1_DIV, "clk_pciephy1_div", "clk_pciephy1_div_div", 2, 9), + GATE(CLK_PCIEPHY1_OSC0, "clk_pciephy1_osc0", "xin24m", 2, 10), + GATE(CLK_PCIEPHY2_DIV, "clk_pciephy2_div", "clk_pciephy2_div_div", 2, 11), + GATE(CLK_PCIEPHY2_OSC0, "clk_pciephy2_osc0", "xin24m", 2, 12), + GATE(CLK_PCIE30PHY_REF_M, "clk_pcie30phy_ref_m", "ppll_ph0", 2, 13), + GATE(CLK_PCIE30PHY_REF_N, "clk_pcie30phy_ref_n", "ppll_ph180", 2, 14), + GATE(XIN_OSC0_EDPPHY_G, "xin_osc0_edpphy_g", "xin24m", 2, 15), +}; + +#define PLL_MODE_MASK 0x1 +#include "clk-pll-rk3568.c" +#include "clk-mmc-phase.c" +#include "softrst.c" + +static struct rk_pmuclk_priv *find_pmu(void) +{ + struct rk_pmuclk_priv *pmu_priv = RT_NULL; + const char *compatible = "rockchip,rk3568-pmucru"; + struct rt_ofw_node *np = rt_ofw_find_node_by_compatible(RT_NULL, compatible); + + if (np) + { + struct rk_clk *rk_clk = rt_ofw_data(np); + + pmu_priv = &rk_clk->pmuclk_info; + rt_ofw_node_put(np); + } + else + { + LOG_E("Find pmucru %s fail", compatible); + } + + return pmu_priv; +} + +static rt_ubase_t pmu_pll_set_rate(rt_ubase_t pll_id, rt_ubase_t rate) +{ + struct rk_pmuclk_priv *pmu_priv = find_pmu(); + + if (pmu_priv) + { + rk_pll_set_rate(&pmu_pll_clks[pll_id], pmu_priv->pmucru, rate); + } + + return 0; +} + +static rt_ubase_t pmu_pll_get_rate(rt_ubase_t pll_id) +{ + struct rk_pmuclk_priv *pmu_priv = find_pmu(); + + if (pmu_priv) + { + return rk_pll_get_rate(&pmu_pll_clks[pll_id], &pmu_priv->pmucru); + } + + return 0; +} + +static rt_ubase_t rtc32k_get_pmuclk(struct rk_pmuclk_priv *priv) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_ubase_t m, n; + rt_uint32_t fracdiv; + + fracdiv = HWREG32(&pmucru->pmu_clksel_con[1]); + m = fracdiv & RTC32K_FRAC_NUMERATOR_MASK; + m >>= RTC32K_FRAC_NUMERATOR_SHIFT; + n = fracdiv & RTC32K_FRAC_DENOMINATOR_MASK; + n >>= RTC32K_FRAC_DENOMINATOR_SHIFT; + + return OSC_HZ * m / n; +} + +static rt_ubase_t rtc32k_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t rate) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_ubase_t m, n, val; + + rk_clrsetreg(&pmucru->pmu_clksel_con[0], RTC32K_SEL_MASK, RTC32K_SEL_OSC0_DIV32K << RTC32K_SEL_SHIFT); + + rational_best_approximation(rate, OSC_HZ, RT_GENMASK(16 - 1, 0), RT_GENMASK(16 - 1, 0), &m, &n); + val = m << RTC32K_FRAC_NUMERATOR_SHIFT | n; + HWREG32(&pmucru->pmu_clksel_con[1]) = val; + + return rtc32k_get_pmuclk(priv); +} + +static rt_ubase_t uart_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_uint32_t reg, con, fracdiv, div, src, p_src, p_rate; + rt_ubase_t m, n; + + switch (clk_id) + { + case SCLK_UART0: + reg = 4; + break; + default: + return -RT_ERROR; + } + + con = HWREG32(&pmucru->pmu_clksel_con[reg]); + src = (con & CLK_UART0_SEL_MASK) >> CLK_UART0_SEL_SHIFT; + div = (con & CLK_UART0_DIV_DIV_MASK) >> CLK_UART0_DIV_DIV_SHIFT; + p_src = (con & CLK_UART0_DIV_SEL_MASK) >> CLK_UART0_DIV_SEL_SHIFT; + + if (p_src == CLK_UART0_SRC_SEL_PPLL) + { + p_rate = priv->ppll_hz; + } + else if (p_src == CLK_UART0_SRC_SEL_GPLL) + { + p_rate = priv->hpll_hz; + } + else + { + p_rate = 480000000; + } + if (src == CLK_UART0_SEL_DIV) + { + return DIV_TO_RATE(p_rate, div); + } + else if (src == CLK_UART0_SEL_FRACDIV) + { + fracdiv = HWREG32(&pmucru->pmu_clksel_con[reg + 1]); + n = fracdiv & CLK_UART0_FRAC_NUMERATOR_MASK; + n >>= CLK_UART0_FRAC_NUMERATOR_SHIFT; + m = fracdiv & CLK_UART0_FRAC_DENOMINATOR_MASK; + m >>= CLK_UART0_FRAC_DENOMINATOR_SHIFT; + return DIV_TO_RATE(p_rate, div) * n / m; + } + else + { + return OSC_HZ; + } +} + +static rt_ubase_t uart_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_uint32_t reg, clk_src, uart_src, div; + rt_ubase_t m = 0, n = 0, val; + + if (priv->ppll_hz % rate == 0) + { + clk_src = CLK_UART0_SRC_SEL_PPLL; + uart_src = CLK_UART0_SEL_DIV; + div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); + } + else if (priv->hpll_hz % rate == 0) + { + clk_src = CLK_UART0_SRC_SEL_GPLL; + uart_src = CLK_UART0_SEL_DIV; + div = RT_DIV_ROUND_UP(priv->hpll_hz, rate); + } + else if (rate == OSC_HZ) + { + clk_src = CLK_UART0_SRC_SEL_GPLL; + uart_src = CLK_UART0_SEL_XIN24M; + div = 2; + } + + switch (clk_id) + { + case SCLK_UART0: + reg = 4; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&pmucru->pmu_clksel_con[reg], CLK_UART0_SEL_MASK | CLK_UART0_DIV_SEL_MASK | CLK_UART0_DIV_DIV_MASK, + (clk_src << CLK_UART0_DIV_SEL_SHIFT) | (uart_src << CLK_UART0_SEL_SHIFT) | + ((div - 1) << CLK_UART0_DIV_DIV_SHIFT)); + if (m && n) + { + val = m << CLK_UART0_FRAC_NUMERATOR_SHIFT | n; + HWREG32(&pmucru->pmu_clksel_con[reg + 1]) = val; + } + + return uart_get_pmuclk(priv, clk_id); +} + +static rt_ubase_t i2c_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_uint32_t div, con; + + switch (clk_id) + { + case CLK_I2C0: + con = HWREG32(&pmucru->pmu_clksel_con[3]); + div = (con & CLK_I2C0_DIV_MASK) >> CLK_I2C0_DIV_SHIFT; + break; + default: + return -RT_ERROR; + } + + return DIV_TO_RATE(priv->ppll_hz, div); +} + +static rt_ubase_t i2c_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_pmucru *pmucru = priv->pmucru; + int src_clk_div; + + src_clk_div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 127); + + switch (clk_id) + { + case CLK_I2C0: + rk_clrsetreg(&pmucru->pmu_clksel_con[3], CLK_I2C0_DIV_MASK, (src_clk_div - 1) << CLK_I2C0_DIV_SHIFT); + break; + default: + return -RT_ERROR; + } + + return i2c_get_pmuclk(priv, clk_id); +} + +static rt_ubase_t pwm_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_uint32_t div, sel, con, parent; + + switch (clk_id) + { + case CLK_PWM0: + con = HWREG32(&pmucru->pmu_clksel_con[6]); + sel = (con & CLK_PWM0_SEL_MASK) >> CLK_PWM0_SEL_SHIFT; + div = (con & CLK_PWM0_DIV_MASK) >> CLK_PWM0_DIV_SHIFT; + if (sel == CLK_PWM0_SEL_XIN24M) + { + parent = OSC_HZ; + } + else + { + parent = priv->ppll_hz; + } + break; + default: + return -RT_ERROR; + } + + return DIV_TO_RATE(parent, div); +} + +static rt_ubase_t pwm_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_pmucru *pmucru = priv->pmucru; + int src_clk_div; + + switch (clk_id) + { + case CLK_PWM0: + if (rate == OSC_HZ) + { + rk_clrsetreg(&pmucru->pmu_clksel_con[6], CLK_PWM0_SEL_MASK | CLK_PWM0_DIV_MASK, + (CLK_PWM0_SEL_XIN24M << CLK_PWM0_SEL_SHIFT) | 0 << CLK_PWM0_SEL_SHIFT); + } + else + { + src_clk_div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 127); + rk_clrsetreg(&pmucru->pmu_clksel_con[6], CLK_PWM0_DIV_MASK | CLK_PWM0_DIV_MASK, + (CLK_PWM0_SEL_PPLL << CLK_PWM0_SEL_SHIFT) | (src_clk_div - 1) << CLK_PWM0_DIV_SHIFT); + } + break; + default: + return -RT_ERROR; + } + + return pwm_get_pmuclk(priv, clk_id); +} + +static int armclk_set_clk(struct rk_clk_priv *priv, rt_ubase_t hz) +{ + struct rk_cru *cru = priv->cru; + const struct rk_cpu_rate_table *rate; + rt_ubase_t old_rate; + + rate = rk_get_cpu_settings(cpu_rates, hz); + if (!rate) + { + LOG_E("Unsupport rate %u", hz); + + return -RT_ENOSYS; + } + + LOG_I("set cpu_freq to %lu", hz); + + rk_clrsetreg(&cru->clksel_con[0], CLK_CORE_PRE_SEL_MASK, (CLK_CORE_PRE_SEL_SRC << CLK_CORE_PRE_SEL_SHIFT)); + rk_clrsetreg(&cru->clksel_con[2], + SCLK_CORE_PRE_SEL_MASK | SCLK_CORE_SRC_SEL_MASK | SCLK_CORE_SRC_DIV_MASK, + (SCLK_CORE_PRE_SEL_SRC << SCLK_CORE_PRE_SEL_SHIFT) | + (SCLK_CORE_SRC_SEL_APLL <cru); + if (old_rate > hz) + { + if (rk_pll_set_rate(&pll_clks[apll], priv->cru, hz)) + { + LOG_E("cpu_rate adjust error"); + return -RT_ENOSYS; + } + rk_clrsetreg(&cru->clksel_con[3], GICCLK_CORE_DIV_MASK | ATCLK_CORE_DIV_MASK, + rate->pclk_div << GICCLK_CORE_DIV_SHIFT | rate->pclk_div << ATCLK_CORE_DIV_SHIFT); + rk_clrsetreg(&cru->clksel_con[4], PERIPHCLK_CORE_PRE_DIV_MASK | PCLK_CORE_PRE_DIV_MASK, + rate->pclk_div << PCLK_CORE_PRE_DIV_SHIFT | rate->pclk_div << PERIPHCLK_CORE_PRE_DIV_SHIFT); + rk_clrsetreg(&cru->clksel_con[5], ACLK_CORE_NDFT_DIV_MASK, rate->aclk_div << ACLK_CORE_NDFT_DIV_SHIFT); + } + else if (old_rate < hz) + { + rk_clrsetreg(&cru->clksel_con[3], GICCLK_CORE_DIV_MASK | ATCLK_CORE_DIV_MASK, + rate->pclk_div << GICCLK_CORE_DIV_SHIFT | rate->pclk_div << ATCLK_CORE_DIV_SHIFT); + rk_clrsetreg(&cru->clksel_con[4], PERIPHCLK_CORE_PRE_DIV_MASK | PCLK_CORE_PRE_DIV_MASK, + rate->pclk_div << PCLK_CORE_PRE_DIV_SHIFT | rate->pclk_div << PERIPHCLK_CORE_PRE_DIV_SHIFT); + rk_clrsetreg(&cru->clksel_con[5], ACLK_CORE_NDFT_DIV_MASK, rate->aclk_div << ACLK_CORE_NDFT_DIV_SHIFT); + + if (rk_pll_set_rate(&pll_clks[apll], priv->cru, hz)) + { + LOG_E("cpu_rate adjust error"); + return -RT_ENOSYS; + } + } + + return 0; +} + +static rt_ubase_t cpll_div_get_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + int div, mask, shift, con; + + switch (clk_id) + { + case CPLL_500M: + con = 78; + mask = CPLL_500M_DIV_MASK; + shift = CPLL_500M_DIV_SHIFT; + break; + case CPLL_333M: + con = 79; + mask = CPLL_333M_DIV_MASK; + shift = CPLL_333M_DIV_SHIFT; + break; + case CPLL_250M: + con = 79; + mask = CPLL_250M_DIV_MASK; + shift = CPLL_250M_DIV_SHIFT; + break; + case CPLL_125M: + con = 80; + mask = CPLL_125M_DIV_MASK; + shift = CPLL_125M_DIV_SHIFT; + break; + case CPLL_100M: + con = 82; + mask = CPLL_100M_DIV_MASK; + shift = CPLL_100M_DIV_SHIFT; + break; + case CPLL_62P5M: + con = 80; + mask = CPLL_62P5M_DIV_MASK; + shift = CPLL_62P5M_DIV_SHIFT; + break; + case CPLL_50M: + con = 81; + mask = CPLL_50M_DIV_MASK; + shift = CPLL_50M_DIV_SHIFT; + break; + case CPLL_25M: + con = 81; + mask = CPLL_25M_DIV_MASK; + shift = CPLL_25M_DIV_SHIFT; + break; + default: + return -RT_ERROR; + } + + div = (HWREG32(&cru->clksel_con[con]) & mask) >> shift; + return DIV_TO_RATE(priv->cpll_hz, div); +} + +static rt_ubase_t cpll_div_set_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int div, mask, shift, con; + + switch (clk_id) + { + case CPLL_500M: + con = 78; + mask = CPLL_500M_DIV_MASK; + shift = CPLL_500M_DIV_SHIFT; + break; + case CPLL_333M: + con = 79; + mask = CPLL_333M_DIV_MASK; + shift = CPLL_333M_DIV_SHIFT; + break; + case CPLL_250M: + con = 79; + mask = CPLL_250M_DIV_MASK; + shift = CPLL_250M_DIV_SHIFT; + break; + case CPLL_125M: + con = 80; + mask = CPLL_125M_DIV_MASK; + shift = CPLL_125M_DIV_SHIFT; + break; + case CPLL_100M: + con = 82; + mask = CPLL_100M_DIV_MASK; + shift = CPLL_100M_DIV_SHIFT; + break; + case CPLL_62P5M: + con = 80; + mask = CPLL_62P5M_DIV_MASK; + shift = CPLL_62P5M_DIV_SHIFT; + break; + case CPLL_50M: + con = 81; + mask = CPLL_50M_DIV_MASK; + shift = CPLL_50M_DIV_SHIFT; + break; + case CPLL_25M: + con = 81; + mask = CPLL_25M_DIV_MASK; + shift = CPLL_25M_DIV_SHIFT; + break; + default: + return -RT_ERROR; + } + + div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + RT_ASSERT(div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[con], mask, (div - 1) << shift); + + return cpll_div_get_rate(priv, clk_id); +} + +static rt_ubase_t bus_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t con, sel, rate; + + switch (clk_id) + { + case ACLK_BUS: + con = HWREG32(&cru->clksel_con[50]); + sel = (con & ACLK_BUS_SEL_MASK) >> ACLK_BUS_SEL_SHIFT; + + if (sel == ACLK_BUS_SEL_200M) + { + rate = 200 * MHZ; + } + else if (sel == ACLK_BUS_SEL_150M) + { + rate = 150 * MHZ; + } + else if (sel == ACLK_BUS_SEL_100M) + { + rate = 100 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + case PCLK_BUS: + case PCLK_WDT_NS: + con = HWREG32(&cru->clksel_con[50]); + sel = (con & PCLK_BUS_SEL_MASK) >> PCLK_BUS_SEL_SHIFT; + if (sel == PCLK_BUS_SEL_100M) + { + rate = 100 * MHZ; + } + else if (sel == PCLK_BUS_SEL_75M) + { + rate = 75 * MHZ; + } + else if (sel == PCLK_BUS_SEL_50M) + { + rate = 50 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + default: + return -RT_ERROR; + } + + return rate; +} + +static rt_ubase_t bus_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (clk_id) + { + case ACLK_BUS: + if (rate == 200 * MHZ) + { + src_clk = ACLK_BUS_SEL_200M; + } + else if (rate == 150 * MHZ) + { + src_clk = ACLK_BUS_SEL_150M; + } + else if (rate == 100 * MHZ) + { + src_clk = ACLK_BUS_SEL_100M; + } + else + { + src_clk = ACLK_BUS_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[50], ACLK_BUS_SEL_MASK, src_clk << ACLK_BUS_SEL_SHIFT); + break; + case PCLK_BUS: + case PCLK_WDT_NS: + if (rate == 100 * MHZ) + { + src_clk = PCLK_BUS_SEL_100M; + } + else if (rate == 75 * MHZ) + { + src_clk = PCLK_BUS_SEL_75M; + } + else if (rate == 50 * MHZ) + { + src_clk = PCLK_BUS_SEL_50M; + } + else + { + src_clk = PCLK_BUS_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[50], PCLK_BUS_SEL_MASK, src_clk << PCLK_BUS_SEL_SHIFT); + break; + + default: + return -RT_ENOSYS; + } + + return bus_get_clk(priv, clk_id); +} + +static rt_ubase_t perimid_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t con, sel, rate; + + switch (clk_id) + { + case ACLK_PERIMID: + con = HWREG32(&cru->clksel_con[10]); + sel = (con & ACLK_PERIMID_SEL_MASK) >> ACLK_PERIMID_SEL_SHIFT; + if (sel == ACLK_PERIMID_SEL_300M) + { + rate = 300 * MHZ; + } + else if (sel == ACLK_PERIMID_SEL_200M) + { + rate = 200 * MHZ; + } + else if (sel == ACLK_PERIMID_SEL_100M) + { + rate = 100 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + case HCLK_PERIMID: + con = HWREG32(&cru->clksel_con[10]); + sel = (con & HCLK_PERIMID_SEL_MASK) >> HCLK_PERIMID_SEL_SHIFT; + if (sel == HCLK_PERIMID_SEL_150M) + { + rate = 150 * MHZ; + } + else if (sel == HCLK_PERIMID_SEL_100M) + { + rate = 100 * MHZ; + } + else if (sel == HCLK_PERIMID_SEL_75M) + { + rate = 75 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + default: + return -RT_ERROR; + } + + return rate; +} + +static rt_ubase_t perimid_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (clk_id) + { + case ACLK_PERIMID: + if (rate == 300 * MHZ) + { + src_clk = ACLK_PERIMID_SEL_300M; + } + else if (rate == 200 * MHZ) + { + src_clk = ACLK_PERIMID_SEL_200M; + } + else if (rate == 100 * MHZ) + { + src_clk = ACLK_PERIMID_SEL_100M; + } + else + { + src_clk = ACLK_PERIMID_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[10], ACLK_PERIMID_SEL_MASK, src_clk << ACLK_PERIMID_SEL_SHIFT); + break; + case HCLK_PERIMID: + if (rate == 150 * MHZ) + { + src_clk = HCLK_PERIMID_SEL_150M; + } + else if (rate == 100 * MHZ) + { + src_clk = HCLK_PERIMID_SEL_100M; + } + else if (rate == 75 * MHZ) + { + src_clk = HCLK_PERIMID_SEL_75M; + } + else + { + src_clk = HCLK_PERIMID_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[10], HCLK_PERIMID_SEL_MASK, src_clk << HCLK_PERIMID_SEL_SHIFT); + break; + + default: + return -RT_ENOSYS; + } + + return perimid_get_clk(priv, clk_id); +} + +static rt_ubase_t top_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t con, sel, rate; + + switch (clk_id) + { + case ACLK_TOP_HIGH: + con = HWREG32(&cru->clksel_con[73]); + sel = (con & ACLK_TOP_HIGH_SEL_MASK) >> ACLK_TOP_HIGH_SEL_SHIFT; + if (sel == ACLK_TOP_HIGH_SEL_500M) + { + rate = 500 * MHZ; + } + else if (sel == ACLK_TOP_HIGH_SEL_400M) + { + rate = 400 * MHZ; + } + else if (sel == ACLK_TOP_HIGH_SEL_300M) + { + rate = 300 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + case ACLK_TOP_LOW: + con = HWREG32(&cru->clksel_con[73]); + sel = (con & ACLK_TOP_LOW_SEL_MASK) >> ACLK_TOP_LOW_SEL_SHIFT; + if (sel == ACLK_TOP_LOW_SEL_400M) + { + rate = 400 * MHZ; + } + else if (sel == ACLK_TOP_LOW_SEL_300M) + { + rate = 300 * MHZ; + } + else if (sel == ACLK_TOP_LOW_SEL_200M) + { + rate = 200 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + case HCLK_TOP: + con = HWREG32(&cru->clksel_con[73]); + sel = (con & HCLK_TOP_SEL_MASK) >> HCLK_TOP_SEL_SHIFT; + if (sel == HCLK_TOP_SEL_150M) + { + rate = 150 * MHZ; + } + else if (sel == HCLK_TOP_SEL_100M) + { + rate = 100 * MHZ; + } + else if (sel == HCLK_TOP_SEL_75M) + { + rate = 75 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + case PCLK_TOP: + con = HWREG32(&cru->clksel_con[73]); + sel = (con & PCLK_TOP_SEL_MASK) >> PCLK_TOP_SEL_SHIFT; + if (sel == PCLK_TOP_SEL_100M) + { + rate = 100 * MHZ; + } + else if (sel == PCLK_TOP_SEL_75M) + { + rate = 75 * MHZ; + } + else if (sel == PCLK_TOP_SEL_50M) + { + rate = 50 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + default: + return -RT_ERROR; + } + + return rate; +} + +static rt_ubase_t top_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (clk_id) + { + case ACLK_TOP_HIGH: + if (rate == 500 * MHZ) + { + src_clk = ACLK_TOP_HIGH_SEL_500M; + } + else if (rate == 400 * MHZ) + { + src_clk = ACLK_TOP_HIGH_SEL_400M; + } + else if (rate == 300 * MHZ) + { + src_clk = ACLK_TOP_HIGH_SEL_300M; + } + else + { + src_clk = ACLK_TOP_HIGH_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[73], ACLK_TOP_HIGH_SEL_MASK, src_clk << ACLK_TOP_HIGH_SEL_SHIFT); + break; + case ACLK_TOP_LOW: + if (rate == 400 * MHZ) + { + src_clk = ACLK_TOP_LOW_SEL_400M; + } + else if (rate == 300 * MHZ) + { + src_clk = ACLK_TOP_LOW_SEL_300M; + } + else if (rate == 200 * MHZ) + { + src_clk = ACLK_TOP_LOW_SEL_200M; + } + else + { + src_clk = ACLK_TOP_LOW_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[73], ACLK_TOP_LOW_SEL_MASK, src_clk << ACLK_TOP_LOW_SEL_SHIFT); + break; + case HCLK_TOP: + if (rate == 150 * MHZ) + { + src_clk = HCLK_TOP_SEL_150M; + } + else if (rate == 100 * MHZ) + { + src_clk = HCLK_TOP_SEL_100M; + } + else if (rate == 75 * MHZ) + { + src_clk = HCLK_TOP_SEL_75M; + } + else + { + src_clk = HCLK_TOP_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[73], HCLK_TOP_SEL_MASK, src_clk << HCLK_TOP_SEL_SHIFT); + break; + case PCLK_TOP: + if (rate == 100 * MHZ) + { + src_clk = PCLK_TOP_SEL_100M; + } + else if (rate == 75 * MHZ) + { + src_clk = PCLK_TOP_SEL_75M; + } + else if (rate == 50 * MHZ) + { + src_clk = PCLK_TOP_SEL_50M; + } + else + { + src_clk = PCLK_TOP_SEL_24M; + } + rk_clrsetreg(&cru->clksel_con[73], PCLK_TOP_SEL_MASK, src_clk << PCLK_TOP_SEL_SHIFT); + break; + + default: + return -RT_ENOSYS; + } + + return top_get_clk(priv, clk_id); +} + +static rt_ubase_t i2c_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + rt_ubase_t rate; + + switch (clk_id) + { + case CLK_I2C1: + case CLK_I2C2: + case CLK_I2C3: + case CLK_I2C4: + case CLK_I2C5: + con = HWREG32(&cru->clksel_con[71]); + sel = (con & CLK_I2C_SEL_MASK) >> CLK_I2C_SEL_SHIFT; + if (sel == CLK_I2C_SEL_200M) + { + rate = 200 * MHZ; + } + else if (sel == CLK_I2C_SEL_100M) + { + rate = 100 * MHZ; + } + else if (sel == CLK_I2C_SEL_CPLL_100M) + { + rate = 100 * MHZ; + } + else + { + rate = OSC_HZ; + } + break; + default: + return -RT_ERROR; + } + + return rate; +} + +static rt_ubase_t i2c_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + if (rate == 200 * MHZ) + { + src_clk = CLK_I2C_SEL_200M; + } + else if (rate == 100 * MHZ) + { + src_clk = CLK_I2C_SEL_100M; + } + else + { + src_clk = CLK_I2C_SEL_24M; + } + + switch (clk_id) + { + case CLK_I2C1: + case CLK_I2C2: + case CLK_I2C3: + case CLK_I2C4: + case CLK_I2C5: + rk_clrsetreg(&cru->clksel_con[71], CLK_I2C_SEL_MASK, src_clk << CLK_I2C_SEL_SHIFT); + break; + default: + return -RT_ERROR; + } + + return i2c_get_clk(priv, clk_id); +} + +static rt_ubase_t spi_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[72]); + + switch (clk_id) + { + case CLK_SPI0: + sel = (con & CLK_SPI0_SEL_MASK) >> CLK_SPI0_SEL_SHIFT; + break; + case CLK_SPI1: + sel = (con & CLK_SPI1_SEL_MASK) >> CLK_SPI1_SEL_SHIFT; + break; + case CLK_SPI2: + sel = (con & CLK_SPI2_SEL_MASK) >> CLK_SPI2_SEL_SHIFT; + break; + case CLK_SPI3: + sel = (con & CLK_SPI3_SEL_MASK) >> CLK_SPI3_SEL_SHIFT; + break; + default: + return -RT_ERROR; + } + + switch (sel) + { + case CLK_SPI_SEL_200M: + return 200 * MHZ; + case CLK_SPI_SEL_24M: + return OSC_HZ; + case CLK_SPI_SEL_CPLL_100M: + return 100 * MHZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t spi_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + if (rate == 200 * MHZ) + { + src_clk = CLK_SPI_SEL_200M; + } + else if (rate == 100 * MHZ) + { + src_clk = CLK_SPI_SEL_CPLL_100M; + } + else + { + src_clk = CLK_SPI_SEL_24M; + } + + switch (clk_id) + { + case CLK_SPI0: + rk_clrsetreg(&cru->clksel_con[72], CLK_SPI0_SEL_MASK, src_clk << CLK_SPI0_SEL_SHIFT); + break; + case CLK_SPI1: + rk_clrsetreg(&cru->clksel_con[72], CLK_SPI1_SEL_MASK, src_clk << CLK_SPI1_SEL_SHIFT); + break; + case CLK_SPI2: + rk_clrsetreg(&cru->clksel_con[72], CLK_SPI2_SEL_MASK, src_clk << CLK_SPI2_SEL_SHIFT); + break; + case CLK_SPI3: + rk_clrsetreg(&cru->clksel_con[72], CLK_SPI3_SEL_MASK, src_clk << CLK_SPI3_SEL_SHIFT); + break; + default: + return -RT_ERROR; + } + + return spi_get_clk(priv, clk_id); +} + +static rt_ubase_t pwm_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[72]); + + switch (clk_id) + { + case CLK_PWM1: + sel = (con & CLK_PWM1_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; + break; + case CLK_PWM2: + sel = (con & CLK_PWM2_SEL_MASK) >> CLK_PWM2_SEL_SHIFT; + break; + case CLK_PWM3: + sel = (con & CLK_PWM3_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; + break; + default: + return -RT_ERROR; + } + + switch (sel) + { + case CLK_PWM_SEL_100M: + return 100 * MHZ; + case CLK_PWM_SEL_24M: + return OSC_HZ; + case CLK_PWM_SEL_CPLL_100M: + return 100 * MHZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t pwm_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + if (rate == 100 * MHZ) + { + src_clk = CLK_PWM_SEL_100M; + } + else + { + src_clk = CLK_PWM_SEL_24M; + } + + switch (clk_id) + { + case CLK_PWM1: + rk_clrsetreg(&cru->clksel_con[72], CLK_PWM1_SEL_MASK, src_clk << CLK_PWM1_SEL_SHIFT); + break; + case CLK_PWM2: + rk_clrsetreg(&cru->clksel_con[72], CLK_PWM2_SEL_MASK, src_clk << CLK_PWM2_SEL_SHIFT); + break; + case CLK_PWM3: + rk_clrsetreg(&cru->clksel_con[72], CLK_PWM3_SEL_MASK, src_clk << CLK_PWM3_SEL_SHIFT); + break; + default: + return -RT_ERROR; + } + + return pwm_get_clk(priv, clk_id); +} + +static rt_ubase_t adc_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t div, sel, con, prate; + + switch (clk_id) + { + case CLK_SARADC: + return OSC_HZ; + case CLK_TSADC_TSEN: + con = HWREG32(&cru->clksel_con[51]); + div = (con & CLK_TSADC_TSEN_DIV_MASK) >> CLK_TSADC_TSEN_DIV_SHIFT; + sel = (con & CLK_TSADC_TSEN_SEL_MASK) >> CLK_TSADC_TSEN_SEL_SHIFT; + if (sel == CLK_TSADC_TSEN_SEL_24M) + { + prate = OSC_HZ; + } + else + { + prate = 100 * MHZ; + } + return DIV_TO_RATE(prate, div); + case CLK_TSADC: + con = HWREG32(&cru->clksel_con[51]); + div = (con & CLK_TSADC_DIV_MASK) >> CLK_TSADC_DIV_SHIFT; + prate = adc_get_clk(priv, CLK_TSADC_TSEN); + return DIV_TO_RATE(prate, div); + default: + return -RT_ERROR; + } +} + +static rt_ubase_t adc_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk_div; + rt_ubase_t prate = 0; + + switch (clk_id) + { + case CLK_SARADC: + return OSC_HZ; + case CLK_TSADC_TSEN: + if (!(OSC_HZ % rate)) + { + src_clk_div = RT_DIV_ROUND_UP(OSC_HZ, rate); + RT_ASSERT(src_clk_div - 1 <= 7); + rk_clrsetreg(&cru->clksel_con[51], CLK_TSADC_TSEN_SEL_MASK | CLK_TSADC_TSEN_DIV_MASK, + (CLK_TSADC_TSEN_SEL_24M << CLK_TSADC_TSEN_SEL_SHIFT) | + (src_clk_div - 1) << CLK_TSADC_TSEN_DIV_SHIFT); + } + else + { + src_clk_div = RT_DIV_ROUND_UP(100 * MHZ, rate); + RT_ASSERT(src_clk_div - 1 <= 7); + rk_clrsetreg(&cru->clksel_con[51], CLK_TSADC_TSEN_SEL_MASK | CLK_TSADC_TSEN_DIV_MASK, + (CLK_TSADC_TSEN_SEL_100M << CLK_TSADC_TSEN_SEL_SHIFT) | + (src_clk_div - 1) << CLK_TSADC_TSEN_DIV_SHIFT); + } + break; + case CLK_TSADC: + prate = adc_get_clk(priv, CLK_TSADC_TSEN); + src_clk_div = RT_DIV_ROUND_UP(prate, rate); + RT_ASSERT(src_clk_div - 1 <= 128); + rk_clrsetreg(&cru->clksel_con[51], CLK_TSADC_DIV_MASK, (src_clk_div - 1) << CLK_TSADC_DIV_SHIFT); + break; + default: + return -RT_ERROR; + } + return adc_get_clk(priv, clk_id); +} + +static rt_ubase_t crypto_get_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + switch (clk_id) + { + case ACLK_SECURE_FLASH: + case ACLK_CRYPTO_NS: + con = HWREG32(&cru->clksel_con[27]); + sel = (con & ACLK_SECURE_FLASH_SEL_MASK) >> ACLK_SECURE_FLASH_SEL_SHIFT; + if (sel == ACLK_SECURE_FLASH_SEL_200M) + { + return 200 * MHZ; + } + else if (sel == ACLK_SECURE_FLASH_SEL_150M) + { + return 150 * MHZ; + } + else if (sel == ACLK_SECURE_FLASH_SEL_100M) + { + return 100 * MHZ; + } + else + { + return 24 * MHZ; + } + case HCLK_SECURE_FLASH: + case HCLK_CRYPTO_NS: + case CLK_CRYPTO_NS_RNG: + con = HWREG32(&cru->clksel_con[27]); + sel = (con & HCLK_SECURE_FLASH_SEL_MASK) >> HCLK_SECURE_FLASH_SEL_SHIFT; + if (sel == HCLK_SECURE_FLASH_SEL_150M) + { + return 150 * MHZ; + } + else if (sel == HCLK_SECURE_FLASH_SEL_100M) + { + return 100 * MHZ; + } + else if (sel == HCLK_SECURE_FLASH_SEL_75M) + { + return 75 * MHZ; + } + else + { + return 24 * MHZ; + } + case CLK_CRYPTO_NS_CORE: + con = HWREG32(&cru->clksel_con[27]); + sel = (con & CLK_CRYPTO_CORE_SEL_MASK) >> CLK_CRYPTO_CORE_SEL_SHIFT; + if (sel == CLK_CRYPTO_CORE_SEL_200M) + { + return 200 * MHZ; + } + else if (sel == CLK_CRYPTO_CORE_SEL_150M) + { + return 150 * MHZ; + } + else + { + return 100 * MHZ; + } + case CLK_CRYPTO_NS_PKA: + con = HWREG32(&cru->clksel_con[27]); + sel = (con & CLK_CRYPTO_PKA_SEL_MASK) >> CLK_CRYPTO_PKA_SEL_SHIFT; + if (sel == CLK_CRYPTO_PKA_SEL_300M) + { + return 300 * MHZ; + } + else if (sel == CLK_CRYPTO_PKA_SEL_200M) + { + return 200 * MHZ; + } + else + { + return 100 * MHZ; + } + default: + return -RT_ERROR; + } +} + +static rt_ubase_t crypto_set_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t src_clk, mask, shift; + + switch (clk_id) + { + case ACLK_SECURE_FLASH: + case ACLK_CRYPTO_NS: + mask = ACLK_SECURE_FLASH_SEL_MASK; + shift = ACLK_SECURE_FLASH_SEL_SHIFT; + if (rate == 200 * MHZ) + { + src_clk = ACLK_SECURE_FLASH_SEL_200M; + } + else if (rate == 150 * MHZ) + { + src_clk = ACLK_SECURE_FLASH_SEL_150M; + } + else if (rate == 100 * MHZ) + { + src_clk = ACLK_SECURE_FLASH_SEL_100M; + } + else + { + src_clk = ACLK_SECURE_FLASH_SEL_24M; + } + break; + case HCLK_SECURE_FLASH: + case HCLK_CRYPTO_NS: + case CLK_CRYPTO_NS_RNG: + mask = HCLK_SECURE_FLASH_SEL_MASK; + shift = HCLK_SECURE_FLASH_SEL_SHIFT; + if (rate == 150 * MHZ) + { + src_clk = HCLK_SECURE_FLASH_SEL_150M; + } + else if (rate == 100 * MHZ) + { + src_clk = HCLK_SECURE_FLASH_SEL_100M; + } + else if (rate == 75 * MHZ) + { + src_clk = HCLK_SECURE_FLASH_SEL_75M; + } + else + { + src_clk = HCLK_SECURE_FLASH_SEL_24M; + } + break; + case CLK_CRYPTO_NS_CORE: + mask = CLK_CRYPTO_CORE_SEL_MASK; + shift = CLK_CRYPTO_CORE_SEL_SHIFT; + if (rate == 200 * MHZ) + { + src_clk = CLK_CRYPTO_CORE_SEL_200M; + } + else if (rate == 150 * MHZ) + { + src_clk = CLK_CRYPTO_CORE_SEL_150M; + } + else + { + src_clk = CLK_CRYPTO_CORE_SEL_100M; + } + break; + case CLK_CRYPTO_NS_PKA: + mask = CLK_CRYPTO_PKA_SEL_MASK; + shift = CLK_CRYPTO_PKA_SEL_SHIFT; + if (rate == 300 * MHZ) + { + src_clk = CLK_CRYPTO_PKA_SEL_300M; + } + else if (rate == 200 * MHZ) + { + src_clk = CLK_CRYPTO_PKA_SEL_200M; + } + else + { + src_clk = CLK_CRYPTO_PKA_SEL_100M; + } + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[27], mask, src_clk << shift); + + return crypto_get_rate(priv, clk_id); +} + +static rt_ubase_t sdmmc_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + switch (clk_id) + { + case HCLK_SDMMC0: + case CLK_SDMMC0: + con = HWREG32(&cru->clksel_con[30]); + sel = (con & CLK_SDMMC0_SEL_MASK) >> CLK_SDMMC0_SEL_SHIFT; + break; + case CLK_SDMMC1: + con = HWREG32(&cru->clksel_con[30]); + sel = (con & CLK_SDMMC1_SEL_MASK) >> CLK_SDMMC1_SEL_SHIFT; + break; + case CLK_SDMMC2: + con = HWREG32(&cru->clksel_con[32]); + sel = (con & CLK_SDMMC2_SEL_MASK) >> CLK_SDMMC2_SEL_SHIFT; + break; + default: + return -RT_ERROR; + } + + switch (sel) + { + case CLK_SDMMC_SEL_24M: + return OSC_HZ; + case CLK_SDMMC_SEL_400M: + return 400 * MHZ; + case CLK_SDMMC_SEL_300M: + return 300 * MHZ; + case CLK_SDMMC_SEL_100M: + return 100 * MHZ; + case CLK_SDMMC_SEL_50M: + return 50 * MHZ; + case CLK_SDMMC_SEL_750K: + return 750 * KHZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t sdmmc_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case OSC_HZ: + src_clk = CLK_SDMMC_SEL_24M; + break; + case 400 * MHZ: + src_clk = CLK_SDMMC_SEL_400M; + break; + case 300 * MHZ: + src_clk = CLK_SDMMC_SEL_300M; + break; + case 100 * MHZ: + src_clk = CLK_SDMMC_SEL_100M; + break; + case 52 * MHZ: + case 50 * MHZ: + src_clk = CLK_SDMMC_SEL_50M; + break; + case 750 * KHZ: + case 400 * KHZ: + src_clk = CLK_SDMMC_SEL_750K; + break; + default: + return -RT_ERROR; + } + + switch (clk_id) + { + case HCLK_SDMMC0: + case CLK_SDMMC0: + rk_clrsetreg(&cru->clksel_con[30], CLK_SDMMC0_SEL_MASK, src_clk << CLK_SDMMC0_SEL_SHIFT); + break; + case CLK_SDMMC1: + rk_clrsetreg(&cru->clksel_con[30], CLK_SDMMC1_SEL_MASK, src_clk << CLK_SDMMC1_SEL_SHIFT); + break; + case CLK_SDMMC2: + rk_clrsetreg(&cru->clksel_con[32], CLK_SDMMC2_SEL_MASK, src_clk << CLK_SDMMC2_SEL_SHIFT); + break; + default: + return -RT_ERROR; + } + + return sdmmc_get_clk(priv, clk_id); +} + +static rt_ubase_t sfc_get_clk(struct rk_clk_priv *priv) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[28]); + sel = (con & SCLK_SFC_SEL_MASK) >> SCLK_SFC_SEL_SHIFT; + + switch (sel) + { + case SCLK_SFC_SEL_24M: + return OSC_HZ; + case SCLK_SFC_SEL_50M: + return 50 * MHZ; + case SCLK_SFC_SEL_75M: + return 75 * MHZ; + case SCLK_SFC_SEL_100M: + return 100 * MHZ; + case SCLK_SFC_SEL_125M: + return 125 * MHZ; + case SCLK_SFC_SEL_150M: + return 150 * KHZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t sfc_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case OSC_HZ: + src_clk = SCLK_SFC_SEL_24M; + break; + case 50 * MHZ: + src_clk = SCLK_SFC_SEL_50M; + break; + case 75 * MHZ: + src_clk = SCLK_SFC_SEL_75M; + break; + case 100 * MHZ: + src_clk = SCLK_SFC_SEL_100M; + break; + case 125 * MHZ: + src_clk = SCLK_SFC_SEL_125M; + break; + case 150 * KHZ: + src_clk = SCLK_SFC_SEL_150M; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[28], SCLK_SFC_SEL_MASK, src_clk << SCLK_SFC_SEL_SHIFT); + + return sfc_get_clk(priv); +} + +static rt_ubase_t nand_get_clk(struct rk_clk_priv *priv) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[28]); + sel = (con & NCLK_NANDC_SEL_MASK) >> NCLK_NANDC_SEL_SHIFT; + + switch (sel) + { + case NCLK_NANDC_SEL_200M: + return 200 * MHZ; + case NCLK_NANDC_SEL_150M: + return 150 * MHZ; + case NCLK_NANDC_SEL_100M: + return 100 * MHZ; + case NCLK_NANDC_SEL_24M: + return OSC_HZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t nand_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case OSC_HZ: + src_clk = NCLK_NANDC_SEL_24M; + break; + case 100 * MHZ: + src_clk = NCLK_NANDC_SEL_100M; + break; + case 150 * MHZ: + src_clk = NCLK_NANDC_SEL_150M; + break; + case 200 * MHZ: + src_clk = NCLK_NANDC_SEL_200M; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[28], NCLK_NANDC_SEL_MASK, src_clk << NCLK_NANDC_SEL_SHIFT); + + return nand_get_clk(priv); +} + +static rt_ubase_t emmc_get_clk(struct rk_clk_priv *priv) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[28]); + sel = (con & CCLK_EMMC_SEL_MASK) >> CCLK_EMMC_SEL_SHIFT; + + switch (sel) + { + case CCLK_EMMC_SEL_200M: + return 200 * MHZ; + case CCLK_EMMC_SEL_150M: + return 150 * MHZ; + case CCLK_EMMC_SEL_100M: + return 100 * MHZ; + case CCLK_EMMC_SEL_50M: + return 50 * MHZ; + case CCLK_EMMC_SEL_375K: + return 375 * KHZ; + case CCLK_EMMC_SEL_24M: + return OSC_HZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t emmc_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case OSC_HZ: + src_clk = CCLK_EMMC_SEL_24M; + break; + case 52 * MHZ: + case 50 * MHZ: + src_clk = CCLK_EMMC_SEL_50M; + break; + case 100 * MHZ: + src_clk = CCLK_EMMC_SEL_100M; + break; + case 150 * MHZ: + src_clk = CCLK_EMMC_SEL_150M; + break; + case 200 * MHZ: + src_clk = CCLK_EMMC_SEL_200M; + break; + case 400 * KHZ: + case 375 * KHZ: + src_clk = CCLK_EMMC_SEL_375K; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[28], CCLK_EMMC_SEL_MASK, src_clk << CCLK_EMMC_SEL_SHIFT); + + return emmc_get_clk(priv); +} + +static rt_ubase_t emmc_get_bclk(struct rk_clk_priv *priv) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[28]); + sel = (con & BCLK_EMMC_SEL_MASK) >> BCLK_EMMC_SEL_SHIFT; + + switch (sel) + { + case BCLK_EMMC_SEL_200M: + return 200 * MHZ; + case BCLK_EMMC_SEL_150M: + return 150 * MHZ; + case BCLK_EMMC_SEL_125M: + return 125 * MHZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t emmc_set_bclk(struct rk_clk_priv *priv, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case 200 * MHZ: + src_clk = BCLK_EMMC_SEL_200M; + break; + case 150 * MHZ: + src_clk = BCLK_EMMC_SEL_150M; + break; + case 125 * MHZ: + src_clk = BCLK_EMMC_SEL_125M; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[28], BCLK_EMMC_SEL_MASK, src_clk << BCLK_EMMC_SEL_SHIFT); + + return emmc_get_bclk(priv); +} + +static rt_ubase_t aclk_vop_get_clk(struct rk_clk_priv *priv) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t div, sel, con, parent; + + con = HWREG32(&cru->clksel_con[38]); + div = (con & ACLK_VOP_PRE_DIV_MASK) >> ACLK_VOP_PRE_DIV_SHIFT; + sel = (con & ACLK_VOP_PRE_SEL_MASK) >> ACLK_VOP_PRE_SEL_SHIFT; + + if (sel == ACLK_VOP_PRE_SEL_GPLL) + { + parent = priv->gpll_hz; + } + else if (sel == ACLK_VOP_PRE_SEL_CPLL) + { + parent = priv->cpll_hz; + } + else if (sel == ACLK_VOP_PRE_SEL_VPLL) + { + parent = priv->vpll_hz; + } + else + { + parent = priv->hpll_hz; + } + + return DIV_TO_RATE(parent, div); +} + +static rt_ubase_t aclk_vop_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk_div, src_clk_mux; + + if ((priv->cpll_hz % rate) == 0) + { + src_clk_div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + src_clk_mux = ACLK_VOP_PRE_SEL_CPLL; + } + else + { + src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + src_clk_mux = ACLK_VOP_PRE_SEL_GPLL; + } + + RT_ASSERT(src_clk_div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[38], ACLK_VOP_PRE_SEL_MASK | ACLK_VOP_PRE_DIV_MASK, + src_clk_mux << ACLK_VOP_PRE_SEL_SHIFT | (src_clk_div - 1) << ACLK_VOP_PRE_DIV_SHIFT); + + return aclk_vop_get_clk(priv); +} + +static rt_ubase_t dclk_vop_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t conid, div, sel, con, parent; + + switch (clk_id) + { + case DCLK_VOP0: + conid = 39; + break; + case DCLK_VOP1: + conid = 40; + break; + case DCLK_VOP2: + conid = 41; + break; + default: + return -RT_ERROR; + } + + con = HWREG32(&cru->clksel_con[conid]); + div = (con & DCLK0_VOP_DIV_MASK) >> DCLK0_VOP_DIV_SHIFT; + sel = (con & DCLK0_VOP_SEL_MASK) >> DCLK0_VOP_SEL_SHIFT; + + if (sel == DCLK_VOP_SEL_HPLL) + { + parent = pmu_pll_get_rate(hpll); + } + else if (sel == DCLK_VOP_SEL_VPLL) + { + parent = rk_pll_get_rate(&pll_clks[vpll], &priv->cru); + } + else if (sel == DCLK_VOP_SEL_GPLL) + { + parent = priv->gpll_hz; + } + else if (sel == DCLK_VOP_SEL_CPLL) + { + parent = priv->cpll_hz; + } + else + { + return -RT_ERROR; + } + + return DIV_TO_RATE(parent, div); +} + +#define VOP_PLL_LIMIT_FREQ 600000000 + +static rt_ubase_t dclk_vop_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + rt_ubase_t pll_rate, now, best_rate = 0; + rt_uint32_t i, conid, con, sel, div, best_div = 0, best_sel = 0; + + switch (clk_id) + { + case DCLK_VOP0: + conid = 39; + break; + case DCLK_VOP1: + conid = 40; + break; + case DCLK_VOP2: + conid = 41; + break; + default: + return -RT_ERROR; + } + + con = HWREG32(&cru->clksel_con[conid]); + sel = (con & DCLK0_VOP_SEL_MASK) >> DCLK0_VOP_SEL_SHIFT; + + if (sel == DCLK_VOP_SEL_HPLL) + { + div = 1; + rk_clrsetreg(&cru->clksel_con[conid], DCLK0_VOP_DIV_MASK | DCLK0_VOP_SEL_MASK, + (DCLK_VOP_SEL_HPLL << DCLK0_VOP_SEL_SHIFT) | ((div - 1) << DCLK0_VOP_DIV_SHIFT)); + pmu_pll_set_rate(hpll, div * rate); + } + else if (sel == DCLK_VOP_SEL_VPLL) + { + div = RT_DIV_ROUND_UP(VOP_PLL_LIMIT_FREQ, rate); + rk_clrsetreg(&cru->clksel_con[conid], DCLK0_VOP_DIV_MASK | DCLK0_VOP_SEL_MASK, + (DCLK_VOP_SEL_VPLL << DCLK0_VOP_SEL_SHIFT) | ((div - 1) << DCLK0_VOP_DIV_SHIFT)); + rk_pll_set_rate(&pll_clks[vpll], priv->cru, div * rate); + } + else + { + for (i = 0; i <= DCLK_VOP_SEL_CPLL; i++) + { + switch (i) + { + case DCLK_VOP_SEL_GPLL: + pll_rate = priv->gpll_hz; + break; + case DCLK_VOP_SEL_CPLL: + pll_rate = priv->cpll_hz; + break; + default: + return -RT_ENOSYS; + } + + div = RT_DIV_ROUND_UP(pll_rate, rate); + + if (div > 255) + { + continue; + } + + now = pll_rate / div; + + if (rt_abs(rate - now) < rt_abs(rate - best_rate)) + { + best_rate = now; + best_div = div; + best_sel = i; + } + } + + if (best_rate) + { + rk_clrsetreg(&cru->clksel_con[conid], DCLK0_VOP_DIV_MASK | DCLK0_VOP_SEL_MASK, + best_sel << DCLK0_VOP_SEL_SHIFT | (best_div - 1) << DCLK0_VOP_DIV_SHIFT); + } + else + { + return -RT_ENOSYS; + } + } + return dclk_vop_get_clk(priv, clk_id); +} + +static rt_ubase_t gmac_src_get_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); + sel = (con & CLK_MAC0_2TOP_SEL_MASK) >> CLK_MAC0_2TOP_SEL_SHIFT; + + switch (sel) + { + case CLK_MAC0_2TOP_SEL_125M: + return 125 * MHZ; + case CLK_MAC0_2TOP_SEL_50M: + return 50 * MHZ; + case CLK_MAC0_2TOP_SEL_25M: + return 25 * MHZ; + case CLK_MAC0_2TOP_SEL_PPLL: + return pmu_pll_get_rate(hpll); + default: + return -RT_ERROR; + } +} + +static rt_ubase_t gmac_src_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case 125 * MHZ: + src_clk = CLK_MAC0_2TOP_SEL_125M; + break; + case 50 * MHZ: + src_clk = CLK_MAC0_2TOP_SEL_50M; + break; + case 25 * MHZ: + src_clk = CLK_MAC0_2TOP_SEL_25M; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], CLK_MAC0_2TOP_SEL_MASK, src_clk << CLK_MAC0_2TOP_SEL_SHIFT); + + return gmac_src_get_clk(priv, mac_id); +} + +static rt_ubase_t gmac_out_get_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); + sel = (con & CLK_MAC0_OUT_SEL_MASK) >> CLK_MAC0_OUT_SEL_SHIFT; + + switch (sel) + { + case CLK_MAC0_OUT_SEL_125M: + return 125 * MHZ; + case CLK_MAC0_OUT_SEL_50M: + return 50 * MHZ; + case CLK_MAC0_OUT_SEL_25M: + return 25 * MHZ; + case CLK_MAC0_OUT_SEL_24M: + return OSC_HZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t gmac_out_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case 125 * MHZ: + src_clk = CLK_MAC0_OUT_SEL_125M; + break; + case 50 * MHZ: + src_clk = CLK_MAC0_OUT_SEL_50M; + break; + case 25 * MHZ: + src_clk = CLK_MAC0_OUT_SEL_25M; + break; + case 24 * MHZ: + src_clk = CLK_MAC0_OUT_SEL_24M; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], CLK_MAC0_OUT_SEL_MASK, src_clk << CLK_MAC0_OUT_SEL_SHIFT); + + return gmac_out_get_clk(priv, mac_id); +} + +static rt_ubase_t gmac_ptp_ref_get_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); + sel = (con & CLK_GMAC0_PTP_REF_SEL_MASK) >> CLK_GMAC0_PTP_REF_SEL_SHIFT; + + switch (sel) + { + case CLK_GMAC0_PTP_REF_SEL_62_5M: + return 62500 * KHZ; + case CLK_GMAC0_PTP_REF_SEL_100M: + return 100 * MHZ; + case CLK_GMAC0_PTP_REF_SEL_50M: + return 50 * MHZ; + case CLK_GMAC0_PTP_REF_SEL_24M: + return OSC_HZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t gmac_ptp_ref_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk; + + switch (rate) + { + case 62500 * KHZ: + src_clk = CLK_GMAC0_PTP_REF_SEL_62_5M; + break; + case 100 * MHZ: + src_clk = CLK_GMAC0_PTP_REF_SEL_100M; + break; + case 50 * MHZ: + src_clk = CLK_GMAC0_PTP_REF_SEL_50M; + break; + case 24 * MHZ: + src_clk = CLK_GMAC0_PTP_REF_SEL_24M; + break; + default: + return -RT_ERROR; + } + + rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], CLK_GMAC0_PTP_REF_SEL_MASK, src_clk << CLK_GMAC0_PTP_REF_SEL_SHIFT); + + return gmac_ptp_ref_get_clk(priv, mac_id); +} + +static rt_ubase_t gmac_tx_rx_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t con, sel, div_sel; + + con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); + sel = (con & RMII0_MODE_MASK) >> RMII0_MODE_SHIFT; + + if (sel == RMII0_MODE_SEL_RGMII) + { + if (rate == 2500000) + { + div_sel = RGMII0_CLK_SEL_2_5M; + } + else if (rate == 25000000) + { + div_sel = RGMII0_CLK_SEL_25M; + } + else + { + div_sel = RGMII0_CLK_SEL_125M; + } + rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], RGMII0_CLK_SEL_MASK, div_sel << RGMII0_CLK_SEL_SHIFT); + } + else if (sel == RMII0_MODE_SEL_RMII) + { + if (rate == 2500000) + { + div_sel = RMII0_CLK_SEL_2_5M; + } + else + { + div_sel = RMII0_CLK_SEL_25M; + } + rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], RMII0_CLK_SEL_MASK, div_sel << RMII0_CLK_SEL_SHIFT); + } + + return 0; +} + +static rt_ubase_t ebc_get_clk(struct rk_clk_priv *priv) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t con, div, p_rate; + + con = HWREG32(&cru->clksel_con[79]); + div = (con & CPLL_333M_DIV_MASK) >> CPLL_333M_DIV_SHIFT; + p_rate = DIV_TO_RATE(priv->cpll_hz, div); + + con = HWREG32(&cru->clksel_con[43]); + div = (con & DCLK_EBC_SEL_MASK) >> DCLK_EBC_SEL_SHIFT; + + switch (div) + { + case DCLK_EBC_SEL_GPLL_400M: + return 400 * MHZ; + case DCLK_EBC_SEL_CPLL_333M: + return p_rate; + case DCLK_EBC_SEL_GPLL_200M: + return 200 * MHZ; + default: + return -RT_ERROR; + } +} + +static rt_ubase_t ebc_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk_div; + + src_clk_div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[79], CPLL_333M_DIV_MASK, (src_clk_div - 1) << CPLL_333M_DIV_SHIFT); + rk_clrsetreg(&cru->clksel_con[43], DCLK_EBC_SEL_MASK, DCLK_EBC_SEL_CPLL_333M << DCLK_EBC_SEL_SHIFT); + + return ebc_get_clk(priv); +} + +static rt_ubase_t rkvdec_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t con, div, src, p_rate; + + switch (clk_id) + { + case ACLK_RKVDEC_PRE: + case ACLK_RKVDEC: + con = HWREG32(&cru->clksel_con[47]); + src = (con & ACLK_RKVDEC_SEL_MASK) >> ACLK_RKVDEC_SEL_SHIFT; + div = (con & ACLK_RKVDEC_DIV_MASK) >> ACLK_RKVDEC_DIV_SHIFT; + + if (src == ACLK_RKVDEC_SEL_CPLL) + { + p_rate = priv->cpll_hz; + } + else + { + p_rate = priv->gpll_hz; + } + return DIV_TO_RATE(p_rate, div); + case CLK_RKVDEC_CORE: + con = HWREG32(&cru->clksel_con[49]); + src = (con & CLK_RKVDEC_CORE_SEL_MASK) >> CLK_RKVDEC_CORE_SEL_SHIFT; + div = (con & CLK_RKVDEC_CORE_DIV_MASK) >> CLK_RKVDEC_CORE_DIV_SHIFT; + + if (src == CLK_RKVDEC_CORE_SEL_CPLL) + { + p_rate = priv->cpll_hz; + } + else if (src == CLK_RKVDEC_CORE_SEL_NPLL) + { + p_rate = priv->npll_hz; + } + else if (src == CLK_RKVDEC_CORE_SEL_VPLL) + { + p_rate = priv->vpll_hz; + } + else + { + p_rate = priv->gpll_hz; + } + return DIV_TO_RATE(p_rate, div); + default: + return -RT_ERROR; + } +} + +static rt_ubase_t rkvdec_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + int src_clk_div, src, p_rate; + + switch (clk_id) + { + case ACLK_RKVDEC_PRE: + case ACLK_RKVDEC: + src = (HWREG32(&cru->clksel_con[47]) & ACLK_RKVDEC_SEL_MASK) >> ACLK_RKVDEC_SEL_SHIFT; + if (src == ACLK_RKVDEC_SEL_CPLL) + { + p_rate = priv->cpll_hz; + } + else + { + p_rate = priv->gpll_hz; + } + src_clk_div = RT_DIV_ROUND_UP(p_rate, rate); + RT_ASSERT(src_clk_div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[47], ACLK_RKVDEC_SEL_MASK | ACLK_RKVDEC_DIV_MASK, + (src << ACLK_RKVDEC_SEL_SHIFT) | (src_clk_div - 1) << ACLK_RKVDEC_DIV_SHIFT); + break; + case CLK_RKVDEC_CORE: + src = (HWREG32(&cru->clksel_con[49]) & CLK_RKVDEC_CORE_SEL_MASK) >> CLK_RKVDEC_CORE_SEL_SHIFT; + if (src == CLK_RKVDEC_CORE_SEL_CPLL) + { + p_rate = priv->cpll_hz; + } + else if (src == CLK_RKVDEC_CORE_SEL_NPLL) + { + p_rate = priv->npll_hz; + } + else if (src == CLK_RKVDEC_CORE_SEL_VPLL) + { + p_rate = priv->vpll_hz; + } + else + { + p_rate = priv->gpll_hz; + } + src_clk_div = RT_DIV_ROUND_UP(p_rate, rate); + RT_ASSERT(src_clk_div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[49], CLK_RKVDEC_CORE_SEL_MASK | CLK_RKVDEC_CORE_DIV_MASK, + (src << CLK_RKVDEC_CORE_SEL_SHIFT) | (src_clk_div - 1) << CLK_RKVDEC_CORE_DIV_SHIFT); + break; + default: + return -RT_ERROR; + } + + return rkvdec_get_clk(priv, clk_id); +} + +static rt_ubase_t uart_get_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t reg, con, fracdiv, div, src, p_src, p_rate; + rt_ubase_t m, n; + + switch (clk_id) + { + case SCLK_UART1: + reg = 52; + break; + case SCLK_UART2: + reg = 54; + break; + case SCLK_UART3: + reg = 56; + break; + case SCLK_UART4: + reg = 58; + break; + case SCLK_UART5: + reg = 60; + break; + case SCLK_UART6: + reg = 62; + break; + case SCLK_UART7: + reg = 64; + break; + case SCLK_UART8: + reg = 66; + break; + case SCLK_UART9: + reg = 68; + break; + default: + return -RT_ERROR; + } + + con = HWREG32(&cru->clksel_con[reg]); + src = (con & CLK_UART_SEL_MASK) >> CLK_UART_SEL_SHIFT; + div = (con & CLK_UART_SRC_DIV_MASK) >> CLK_UART_SRC_DIV_SHIFT; + p_src = (con & CLK_UART_SRC_SEL_MASK) >> CLK_UART_SRC_SEL_SHIFT; + + if (p_src == CLK_UART_SRC_SEL_GPLL) + { + p_rate = priv->gpll_hz; + } + else if (p_src == CLK_UART_SRC_SEL_CPLL) + { + p_rate = priv->cpll_hz; + } + else + { + p_rate = 480000000; + } + if (src == CLK_UART_SEL_SRC) + { + return DIV_TO_RATE(p_rate, div); + } + else if (src == CLK_UART_SEL_FRAC) + { + fracdiv = HWREG32(&cru->clksel_con[reg + 1]); + n = fracdiv & CLK_UART_FRAC_NUMERATOR_MASK; + n >>= CLK_UART_FRAC_NUMERATOR_SHIFT; + m = fracdiv & CLK_UART_FRAC_DENOMINATOR_MASK; + m >>= CLK_UART_FRAC_DENOMINATOR_SHIFT; + return DIV_TO_RATE(p_rate, div) * n / m; + } + else + { + return OSC_HZ; + } +} + +static rt_ubase_t uart_set_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk_cru *cru = priv->cru; + rt_uint32_t reg, clk_src, uart_src, div; + rt_ubase_t m = 0, n = 0, val; + + if (priv->gpll_hz % rate == 0) + { + clk_src = CLK_UART_SRC_SEL_GPLL; + uart_src = CLK_UART_SEL_SRC; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + else if (priv->cpll_hz % rate == 0) + { + clk_src = CLK_UART_SRC_SEL_CPLL; + uart_src = CLK_UART_SEL_SRC; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + else if (rate == OSC_HZ) + { + clk_src = CLK_UART_SRC_SEL_GPLL; + uart_src = CLK_UART_SEL_XIN24M; + div = 2; + } + else + { + clk_src = CLK_UART_SRC_SEL_GPLL; + uart_src = CLK_UART_SEL_FRAC; + div = 2; + rational_best_approximation(rate, priv->gpll_hz / div, RT_GENMASK(16 - 1, 0), RT_GENMASK(16 - 1, 0), &m, &n); + } + + switch (clk_id) + { + case SCLK_UART1: + reg = 52; + break; + case SCLK_UART2: + reg = 54; + break; + case SCLK_UART3: + reg = 56; + break; + case SCLK_UART4: + reg = 58; + break; + case SCLK_UART5: + reg = 60; + break; + case SCLK_UART6: + reg = 62; + break; + case SCLK_UART7: + reg = 64; + break; + case SCLK_UART8: + reg = 66; + break; + case SCLK_UART9: + reg = 68; + break; + default: + return -RT_ERROR; + } + rk_clrsetreg(&cru->clksel_con[reg], CLK_UART_SEL_MASK | CLK_UART_SRC_SEL_MASK | CLK_UART_SRC_DIV_MASK, + (clk_src << CLK_UART_SRC_SEL_SHIFT) | (uart_src << CLK_UART_SEL_SHIFT) | + ((div - 1) << CLK_UART_SRC_DIV_SHIFT)); + if (m && n) + { + val = m << CLK_UART_FRAC_NUMERATOR_SHIFT | n; + HWREG32(&cru->clksel_con[reg + 1]) = val; + } + + return uart_get_rate(priv, clk_id); +} + +static rt_ubase_t pmu_get_pmuclk(struct rk_pmuclk_priv *priv) +{ + struct rk_pmucru *pmucru = priv->pmucru; + rt_uint32_t div, con, sel, parent; + + con = HWREG32(&pmucru->pmu_clksel_con[2]); + sel = (con & PCLK_PDPMU_SEL_MASK) >> PCLK_PDPMU_SEL_SHIFT; + div = (con & PCLK_PDPMU_DIV_MASK) >> PCLK_PDPMU_DIV_SHIFT; + + if (sel) + { + parent = GPLL_HZ; + } + else + { + parent = priv->ppll_hz; + } + + return DIV_TO_RATE(parent, div); +} + +static rt_ubase_t pmu_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t rate) +{ + struct rk_pmucru *pmucru = priv->pmucru; + int src_clk_div; + + src_clk_div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 31); + + rk_clrsetreg(&pmucru->pmu_clksel_con[2], PCLK_PDPMU_DIV_MASK | PCLK_PDPMU_SEL_MASK, + (PCLK_PDPMU_SEL_PPLL << PCLK_PDPMU_SEL_SHIFT) | ((src_clk_div - 1) << PCLK_PDPMU_DIV_SHIFT)); + + return pmu_get_pmuclk(priv); +} + +static rt_ubase_t pciephy_ref_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) +{ + rt_uint32_t con, div, src; + struct rk_pmucru *pmucru = priv->pmucru; + + switch (clk_id) + { + case CLK_PCIEPHY0_REF: + con = HWREG32(&pmucru->pmu_clksel_con[9]); + src = (con & CLK_PCIE_PHY0_REF_SEL_MASK) >> CLK_PCIE_PHY0_REF_SEL_SHIFT; + con = HWREG32(&pmucru->pmu_clksel_con[9]); + div = (con & CLK_PCIE_PHY0_PLL_DIV_MASK) >> CLK_PCIE_PHY0_PLL_DIV_SHIFT; + break; + case CLK_PCIEPHY1_REF: + con = HWREG32(&pmucru->pmu_clksel_con[9]); + src = (con & CLK_PCIE_PHY1_REF_SEL_MASK) >> CLK_PCIE_PHY1_REF_SEL_SHIFT; + con = HWREG32(&pmucru->pmu_clksel_con[9]); + div = (con & CLK_PCIE_PHY1_PLL_DIV_MASK) >> CLK_PCIE_PHY1_PLL_DIV_SHIFT; + break; + case CLK_PCIEPHY2_REF: + con = HWREG32(&pmucru->pmu_clksel_con[9]); + src = (con & CLK_PCIE_PHY2_REF_SEL_MASK) >> CLK_PCIE_PHY2_REF_SEL_SHIFT; + con = HWREG32(&pmucru->pmu_clksel_con[9]); + div = (con & CLK_PCIE_PHY2_PLL_DIV_MASK) >> CLK_PCIE_PHY2_PLL_DIV_SHIFT; + break; + } + + if (src == CLK_PCIE_PHY_REF_SEL_PPLL) + { + return DIV_TO_RATE(priv->ppll_hz, div); + } + else + { + return OSC_HZ; + } +} + +static rt_ubase_t pciephy_ref_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) +{ + rt_uint32_t clk_src, div; + struct rk_pmucru *pmucru = priv->pmucru; + + if (rate == OSC_HZ) + { + clk_src = CLK_PCIE_PHY_REF_SEL_24M; + div = 1; + } + else + { + clk_src = CLK_PCIE_PHY_REF_SEL_PPLL; + div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); + } + + switch (clk_id) + { + case CLK_PCIEPHY0_REF: + rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY0_REF_SEL_MASK, + (clk_src << CLK_PCIE_PHY0_REF_SEL_SHIFT)); + rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY0_PLL_DIV_MASK, + ((div - 1) << CLK_PCIE_PHY0_PLL_DIV_SHIFT)); + break; + case CLK_PCIEPHY1_REF: + rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY1_REF_SEL_MASK, + (clk_src << CLK_PCIE_PHY1_REF_SEL_SHIFT)); + rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY1_PLL_DIV_MASK, + ((div - 1) << CLK_PCIE_PHY1_PLL_DIV_SHIFT)); + break; + case CLK_PCIEPHY2_REF: + rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY2_REF_SEL_MASK, + (clk_src << CLK_PCIE_PHY2_REF_SEL_SHIFT)); + rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY2_PLL_DIV_MASK, + ((div - 1) << CLK_PCIE_PHY2_PLL_DIV_SHIFT)); + break; + default: + return -RT_EINVAL; + } + + return pciephy_ref_get_pmuclk(priv, clk_id); +} + +static rt_ubase_t rk_pmuclk_type_get_rate(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk) +{ + struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; + rt_ubase_t rate = 0; + + if (!priv->ppll_hz) + { + return -RT_ERROR; + } + + switch (pdata->id) + { + case PLL_PPLL: + rate = rk_pll_get_rate(&pmu_pll_clks[ppll], &priv->pmucru); + break; + case PLL_HPLL: + rate = rk_pll_get_rate(&pmu_pll_clks[hpll], &priv->pmucru); + break; + case CLK_RTC_32K: + case CLK_RTC32K_FRAC: + rate = rtc32k_get_pmuclk(priv); + break; + case SCLK_UART0: + rate = uart_get_pmuclk(priv, pdata->id); + break; + case CLK_I2C0: + rate = i2c_get_pmuclk(priv, pdata->id); + break; + case CLK_PWM0: + rate = pwm_get_pmuclk(priv, pdata->id); + break; + case PCLK_PMU: + rate = pmu_get_pmuclk(priv); + break; + case CLK_PCIEPHY0_REF: + case CLK_PCIEPHY1_REF: + case CLK_PCIEPHY2_REF: + rate = pciephy_ref_get_pmuclk(priv, pdata->id); + break; + default: + return -RT_ERROR; + } + + return rate; +} + +static rt_ubase_t rk_pmuclk_set_rate(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk, rt_ubase_t rate) +{ + struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; + rt_ubase_t res = 0; + + if (!priv->ppll_hz) + { + return -RT_ERROR; + } + + switch (pdata->id) + { + case PLL_PPLL: + res = rk_pll_set_rate(&pmu_pll_clks[ppll], priv->pmucru, rate); + priv->ppll_hz = rk_pll_get_rate(&pmu_pll_clks[ppll], &priv->pmucru); + break; + case PLL_HPLL: + res = rk_pll_set_rate(&pmu_pll_clks[hpll], priv->pmucru, rate); + priv->hpll_hz = rk_pll_get_rate(&pmu_pll_clks[hpll], &priv->pmucru); + break; + case CLK_RTC_32K: + case CLK_RTC32K_FRAC: + res = rtc32k_set_pmuclk(priv, rate); + break; + case SCLK_UART0: + res = uart_set_pmuclk(priv, pdata->id, rate); + break; + case CLK_I2C0: + res = i2c_set_pmuclk(priv, pdata->id, rate); + break; + case CLK_PWM0: + res = pwm_set_pmuclk(priv, pdata->id, rate); + break; + case PCLK_PMU: + res = pmu_set_pmuclk(priv, rate); + break; + case CLK_PCIEPHY0_REF: + case CLK_PCIEPHY1_REF: + case CLK_PCIEPHY2_REF: + res = pciephy_ref_set_pmuclk(priv, pdata->id, rate); + break; + default: + return -RT_ERROR; + } + + return res; +} + +static rt_ubase_t rk_clk_type_get_rate(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + rt_ubase_t rate = 0; + + if (!priv->gpll_hz) + { + return -RT_ERROR; + } + + switch (pdata->id) + { + case PLL_APLL: + case ARMCLK: + rate = rk_pll_get_rate(&pll_clks[apll], &priv->cru); + break; + case PLL_CPLL: + rate = rk_pll_get_rate(&pll_clks[cpll], &priv->cru); + break; + case PLL_GPLL: + rate = rk_pll_get_rate(&pll_clks[gpll], &priv->cru); + break; + case PLL_NPLL: + rate = rk_pll_get_rate(&pll_clks[npll], &priv->cru); + break; + case PLL_VPLL: + rate = rk_pll_get_rate(&pll_clks[vpll], &priv->cru); + break; + case PLL_DPLL: + rate = rk_pll_get_rate(&pll_clks[dpll], &priv->cru); + break; + case ACLK_BUS: + case PCLK_BUS: + case PCLK_WDT_NS: + rate = bus_get_clk(priv, pdata->id); + break; + case ACLK_PERIMID: + case HCLK_PERIMID: + rate = perimid_get_clk(priv, pdata->id); + break; + case ACLK_TOP_HIGH: + case ACLK_TOP_LOW: + case HCLK_TOP: + case PCLK_TOP: + rate = top_get_clk(priv, pdata->id); + break; + case CLK_I2C1: + case CLK_I2C2: + case CLK_I2C3: + case CLK_I2C4: + case CLK_I2C5: + rate = i2c_get_clk(priv, pdata->id); + break; + case CLK_SPI0: + case CLK_SPI1: + case CLK_SPI2: + case CLK_SPI3: + rate = spi_get_clk(priv, pdata->id); + break; + case CLK_PWM1: + case CLK_PWM2: + case CLK_PWM3: + rate = pwm_get_clk(priv, pdata->id); + break; + case CLK_SARADC: + case CLK_TSADC_TSEN: + case CLK_TSADC: + rate = adc_get_clk(priv, pdata->id); + break; + case HCLK_SDMMC0: + case CLK_SDMMC0: + case CLK_SDMMC1: + case CLK_SDMMC2: + rate = sdmmc_get_clk(priv, pdata->id); + break; + case SCLK_SFC: + rate = sfc_get_clk(priv); + break; + case NCLK_NANDC: + rate = nand_get_clk(priv); + break; + case CCLK_EMMC: + rate = emmc_get_clk(priv); + break; + case BCLK_EMMC: + rate = emmc_get_bclk(priv); + break; + case ACLK_VOP: + rate = aclk_vop_get_clk(priv); + break; + case DCLK_VOP0: + case DCLK_VOP1: + case DCLK_VOP2: + rate = dclk_vop_get_clk(priv, pdata->id); + break; + case SCLK_GMAC0: + case CLK_MAC0_2TOP: + case CLK_MAC0_REFOUT: + rate = gmac_src_get_clk(priv, 0); + break; + case CLK_MAC0_OUT: + rate = gmac_out_get_clk(priv, 0); + break; + case CLK_GMAC0_PTP_REF: + rate = gmac_ptp_ref_get_clk(priv, 0); + break; + case SCLK_GMAC1: + case CLK_MAC1_2TOP: + case CLK_MAC1_REFOUT: + rate = gmac_src_get_clk(priv, 1); + break; + case CLK_MAC1_OUT: + rate = gmac_out_get_clk(priv, 1); + break; + case CLK_GMAC1_PTP_REF: + rate = gmac_ptp_ref_get_clk(priv, 1); + break; + case DCLK_EBC: + rate = ebc_get_clk(priv); + break; + case ACLK_RKVDEC_PRE: + case ACLK_RKVDEC: + case CLK_RKVDEC_CORE: + rate = rkvdec_get_clk(priv, pdata->id); + break; + case TCLK_WDT_NS: + rate = OSC_HZ; + break; + case SCLK_UART1: + case SCLK_UART2: + case SCLK_UART3: + case SCLK_UART4: + case SCLK_UART5: + case SCLK_UART6: + case SCLK_UART7: + case SCLK_UART8: + case SCLK_UART9: + rate = uart_get_rate(priv, pdata->id); + break; + case ACLK_SECURE_FLASH: + case ACLK_CRYPTO_NS: + case HCLK_SECURE_FLASH: + case HCLK_CRYPTO_NS: + case CLK_CRYPTO_NS_RNG: + case CLK_CRYPTO_NS_CORE: + case CLK_CRYPTO_NS_PKA: + rate = crypto_get_rate(priv, pdata->id); + break; + case CPLL_500M: + case CPLL_333M: + case CPLL_250M: + case CPLL_125M: + case CPLL_100M: + case CPLL_62P5M: + case CPLL_50M: + case CPLL_25M: + rate = cpll_div_get_rate(priv, pdata->id); + break; + case CLK_TIMER0: + case CLK_TIMER1: + case CLK_TIMER2: + case CLK_TIMER3: + case CLK_TIMER4: + case CLK_TIMER5: + rate = OSC_HZ; + break; + default: + return -RT_ERROR; + } + + return rate; +}; + +static rt_ubase_t rk_clk_set_rate(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk, rt_ubase_t rate) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + rt_ubase_t res = 0; + + if (!priv->gpll_hz) + { + return -RT_ERROR; + } + + switch (pdata->id) + { + case PLL_APLL: + case ARMCLK: + if (priv->armclk_hz) + { + armclk_set_clk(priv, rate); + } + priv->armclk_hz = rate; + break; + case PLL_CPLL: + res = rk_pll_set_rate(&pll_clks[cpll], priv->cru, rate); + priv->cpll_hz = rk_pll_get_rate(&pll_clks[cpll], &priv->cru); + break; + case PLL_GPLL: + res = rk_pll_set_rate(&pll_clks[gpll], priv->cru, rate); + priv->gpll_hz = rk_pll_get_rate(&pll_clks[gpll], &priv->cru); + break; + case PLL_NPLL: + res = rk_pll_set_rate(&pll_clks[npll], priv->cru, rate); + break; + case PLL_VPLL: + res = rk_pll_set_rate(&pll_clks[vpll], priv->cru, rate); + priv->vpll_hz = rk_pll_get_rate(&pll_clks[vpll], &priv->cru); + break; + case ACLK_BUS: + case PCLK_BUS: + case PCLK_WDT_NS: + res = bus_set_clk(priv, pdata->id, rate); + break; + case ACLK_PERIMID: + case HCLK_PERIMID: + res = perimid_set_clk(priv, pdata->id, rate); + break; + case ACLK_TOP_HIGH: + case ACLK_TOP_LOW: + case HCLK_TOP: + case PCLK_TOP: + res = top_set_clk(priv, pdata->id, rate); + break; + case CLK_I2C1: + case CLK_I2C2: + case CLK_I2C3: + case CLK_I2C4: + case CLK_I2C5: + res = i2c_set_clk(priv, pdata->id, rate); + break; + case CLK_SPI0: + case CLK_SPI1: + case CLK_SPI2: + case CLK_SPI3: + res = spi_set_clk(priv, pdata->id, rate); + break; + case CLK_PWM1: + case CLK_PWM2: + case CLK_PWM3: + res = pwm_set_clk(priv, pdata->id, rate); + break; + case CLK_SARADC: + case CLK_TSADC_TSEN: + case CLK_TSADC: + res = adc_set_clk(priv, pdata->id, rate); + break; + case HCLK_SDMMC0: + case CLK_SDMMC0: + case CLK_SDMMC1: + case CLK_SDMMC2: + res = sdmmc_set_clk(priv, pdata->id, rate); + break; + case SCLK_SFC: + res = sfc_set_clk(priv, rate); + break; + case NCLK_NANDC: + res = nand_set_clk(priv, rate); + break; + case CCLK_EMMC: + res = emmc_set_clk(priv, rate); + break; + case BCLK_EMMC: + res = emmc_set_bclk(priv, rate); + break; + case ACLK_VOP: + res = aclk_vop_set_clk(priv, rate); + break; + case DCLK_VOP0: + case DCLK_VOP1: + case DCLK_VOP2: + res = dclk_vop_set_clk(priv, pdata->id, rate); + break; + case SCLK_GMAC0: + case CLK_MAC0_2TOP: + case CLK_MAC0_REFOUT: + res = gmac_src_set_clk(priv, 0, rate); + break; + case CLK_MAC0_OUT: + res = gmac_out_set_clk(priv, 0, rate); + break; + case SCLK_GMAC0_RX_TX: + res = gmac_tx_rx_set_clk(priv, 0, rate); + break; + case CLK_GMAC0_PTP_REF: + res = gmac_ptp_ref_set_clk(priv, 0, rate); + break; + case SCLK_GMAC1: + case CLK_MAC1_2TOP: + case CLK_MAC1_REFOUT: + res = gmac_src_set_clk(priv, 1, rate); + break; + case CLK_MAC1_OUT: + res = gmac_out_set_clk(priv, 1, rate); + break; + case SCLK_GMAC1_RX_TX: + res = gmac_tx_rx_set_clk(priv, 1, rate); + break; + case CLK_GMAC1_PTP_REF: + res = gmac_ptp_ref_set_clk(priv, 1, rate); + break; + case DCLK_EBC: + res = ebc_set_clk(priv, rate); + break; + case ACLK_RKVDEC_PRE: + case ACLK_RKVDEC: + case CLK_RKVDEC_CORE: + res = rkvdec_set_clk(priv, pdata->id, rate); + break; + case TCLK_WDT_NS: + res = OSC_HZ; + break; + case SCLK_UART1: + case SCLK_UART2: + case SCLK_UART3: + case SCLK_UART4: + case SCLK_UART5: + case SCLK_UART6: + case SCLK_UART7: + case SCLK_UART8: + case SCLK_UART9: + res = uart_set_rate(priv, pdata->id, rate); + break; + case ACLK_SECURE_FLASH: + case ACLK_CRYPTO_NS: + case HCLK_SECURE_FLASH: + case HCLK_CRYPTO_NS: + case CLK_CRYPTO_NS_RNG: + case CLK_CRYPTO_NS_CORE: + case CLK_CRYPTO_NS_PKA: + res = crypto_set_rate(priv, pdata->id, rate); + break; + case CPLL_500M: + case CPLL_333M: + case CPLL_250M: + case CPLL_125M: + case CPLL_100M: + case CPLL_62P5M: + case CPLL_50M: + case CPLL_25M: + res = cpll_div_set_rate(priv, pdata->id, rate); + break; + default: + return -RT_ERROR; + } + + return res; +}; + +static rt_uint32_t rk_clk_get_rate(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk) +{ + rt_uint32_t rate = 0; + + if (rk_clk->type == rk_clk_type_clk) + { + rate = rk_clk_type_get_rate(pdata, rk_clk); + } + else if (rk_clk->type == rk_clk_type_pmuclk) + { + rate = rk_pmuclk_type_get_rate(pdata, rk_clk); + } + + return rate; +} + +static rt_err_t rk_clk_wait_lock(struct rk_clk_platform_data *pdata) +{ + rt_err_t err = RT_EOK; + rt_uint32_t count = 0, pllcon; + + /* + * Lock time typical 250, max 500 input clock cycles @24MHz, So define a + * very safe maximum of 1000us, meaning 24000 cycles. + */ + do { + pllcon = HWREG32(pdata->base + PLL_CON(1)); + rt_hw_us_delay(100); + ++count; + } while (pllcon & PLLCON1_LOCK_STATUS && count < 10); + + if (count >= 10) + { + err = -RT_ETIMEOUT; + } + + return err; +} + +static rt_err_t rtc32k_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; + struct rk_pmucru *pmucru = priv->pmucru; + + if (ppdata->id == CLK_RTC32K_FRAC) + { + rk_clrsetreg(&pmucru->pmu_clksel_con[0], RTC32K_SEL_MASK, + RTC32K_SEL_OSC0_DIV32K << RTC32K_SEL_SHIFT); + } + else + { + rk_clrsetreg(&pmucru->pmu_clksel_con[0], RTC32K_SEL_MASK, + RTC32K_SEL_OSC1_32K << RTC32K_SEL_SHIFT); + } + + return RT_EOK; +} + +static rt_err_t rk_pmuclk_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + switch (pdata->id) + { + case CLK_RTC_32K: + return rtc32k_set_parent(pdata, ppdata, rk_clk); + + default: + return -RT_EINVAL; + } + + return RT_EOK; +} + +static rt_err_t gmac0_src_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + + if (ppdata->id == CLK_MAC0_2TOP) + { + rk_clrsetreg(&cru->clksel_con[31], RMII0_EXTCLK_SEL_MASK, + RMII0_EXTCLK_SEL_MAC0_TOP << RMII0_EXTCLK_SEL_SHIFT); + } + else + { + rk_clrsetreg(&cru->clksel_con[31], RMII0_EXTCLK_SEL_MASK, + RMII0_EXTCLK_SEL_IO << RMII0_EXTCLK_SEL_SHIFT); + } + + return RT_EOK; +} + +static rt_err_t gmac1_src_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + + if (ppdata->id == CLK_MAC1_2TOP) + { + rk_clrsetreg(&cru->clksel_con[33], RMII0_EXTCLK_SEL_MASK, + RMII0_EXTCLK_SEL_MAC0_TOP << RMII0_EXTCLK_SEL_SHIFT); + } + else + { + rk_clrsetreg(&cru->clksel_con[33], RMII0_EXTCLK_SEL_MASK, + RMII0_EXTCLK_SEL_IO << RMII0_EXTCLK_SEL_SHIFT); + } + + return RT_EOK; +} + +static rt_err_t gmac0_tx_rx_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + + if (ppdata->id == SCLK_GMAC0_RGMII_SPEED) + { + rk_clrsetreg(&cru->clksel_con[31], RMII0_MODE_MASK, + RMII0_MODE_SEL_RGMII << RMII0_MODE_SHIFT); + } + else if (ppdata->id == SCLK_GMAC0_RMII_SPEED) + { + rk_clrsetreg(&cru->clksel_con[31], RMII0_MODE_MASK, + RMII0_MODE_SEL_RMII << RMII0_MODE_SHIFT); + } + else + { + rk_clrsetreg(&cru->clksel_con[31], RMII0_MODE_MASK, + RMII0_MODE_SEL_GMII << RMII0_MODE_SHIFT); + } + + return RT_EOK; +} + +static rt_err_t gmac1_tx_rx_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + + if (ppdata->id == SCLK_GMAC1_RGMII_SPEED) + { + rk_clrsetreg(&cru->clksel_con[33], RMII0_MODE_MASK, + RMII0_MODE_SEL_RGMII << RMII0_MODE_SHIFT); + } + else if (ppdata->id == SCLK_GMAC1_RMII_SPEED) + { + rk_clrsetreg(&cru->clksel_con[33], RMII0_MODE_MASK, + RMII0_MODE_SEL_RMII << RMII0_MODE_SHIFT); + } + else + { + rk_clrsetreg(&cru->clksel_con[33], RMII0_MODE_MASK, + RMII0_MODE_SEL_GMII << RMII0_MODE_SHIFT); + } + + return RT_EOK; +} + +static rt_err_t dclk_vop_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + rt_uint32_t con_id; + + switch (pdata->id) + { + case DCLK_VOP0: + con_id = 39; + break; + + case DCLK_VOP1: + con_id = 40; + break; + + case DCLK_VOP2: + con_id = 41; + break; + + default: + return -RT_EINVAL; + } + + if (ppdata->id == PLL_VPLL) + { + rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, + DCLK_VOP_SEL_VPLL << DCLK0_VOP_SEL_SHIFT); + } + else + { + rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, + DCLK_VOP_SEL_HPLL << DCLK0_VOP_SEL_SHIFT); + } + + return RT_EOK; +} + +static rt_err_t rkvdec_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + rt_uint32_t con_id, mask, shift; + + switch (pdata->id) + { + case ACLK_RKVDEC_PRE: + con_id = 47; + mask = ACLK_RKVDEC_SEL_MASK; + shift = ACLK_RKVDEC_SEL_SHIFT; + break; + + case CLK_RKVDEC_CORE: + con_id = 49; + mask = CLK_RKVDEC_CORE_SEL_MASK; + shift = CLK_RKVDEC_CORE_SEL_SHIFT; + break; + + default: + return -RT_EINVAL; + } + + if (ppdata->id == PLL_CPLL) + { + rk_clrsetreg(&cru->clksel_con[con_id], mask, + ACLK_RKVDEC_SEL_CPLL << shift); + } + else + { + rk_clrsetreg(&cru->clksel_con[con_id], mask, + ACLK_RKVDEC_SEL_GPLL << shift); + } + + return RT_EOK; +} + +static int rk_clk_set_parent(struct rk_clk_platform_data *pdata, + struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) +{ + switch (pdata->id) + { + case SCLK_GMAC0: + return gmac0_src_set_parent(pdata, ppdata, rk_clk); + + case SCLK_GMAC1: + return gmac1_src_set_parent(pdata, ppdata, rk_clk); + + case SCLK_GMAC0_RX_TX: + return gmac0_tx_rx_set_parent(pdata, ppdata, rk_clk); + + case SCLK_GMAC1_RX_TX: + return gmac1_tx_rx_set_parent(pdata, ppdata, rk_clk); + + case DCLK_VOP0: + case DCLK_VOP1: + case DCLK_VOP2: + return dclk_vop_set_parent(pdata, ppdata, rk_clk); + + case ACLK_RKVDEC_PRE: + case CLK_RKVDEC_CORE: + return rkvdec_set_parent(pdata, ppdata, rk_clk); + + default: + return -RT_EINVAL; + } + + return RT_EOK; +} + +static rt_err_t mmc_set_phase(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk, rt_uint32_t degrees) +{ + void *reg; + rt_ubase_t rate; + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + + rate = rk_clk_get_rate(pdata, rk_clk); + + switch (pdata->id) + { + case SCLK_SDMMC0_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_SDMMC0_SAMPLE: + reg = &cru->emmc_con[1]; + break; + + case SCLK_SDMMC1_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_SDMMC1_SAMPLE: + reg = &cru->emmc_con[1]; + break; + + case SCLK_SDMMC2_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_SDMMC2_SAMPLE: + reg = &cru->emmc_con[1]; + break; + + case SCLK_EMMC_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_EMMC_SAMPLE: + reg = &cru->emmc_con[1]; + break; + } + + return rk_clk_mmc_set_phase(rate, reg, 1, degrees); +} + +static rt_base_t mmc_get_phase(struct rk_clk_platform_data *pdata, + struct rk_clk *rk_clk) +{ + void *reg; + rt_ubase_t rate; + struct rk_clk_priv *priv = &rk_clk->clk_info; + struct rk_cru *cru = priv->cru; + + rate = rk_clk_get_rate(pdata, rk_clk); + + switch (pdata->id) + { + case SCLK_SDMMC0_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_SDMMC0_SAMPLE: + reg = &cru->emmc_con[1]; + break; + + case SCLK_SDMMC1_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_SDMMC1_SAMPLE: + reg = &cru->emmc_con[1]; + break; + + case SCLK_SDMMC2_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_SDMMC2_SAMPLE: + reg = &cru->emmc_con[1]; + break; + + case SCLK_EMMC_DRV: + reg = &cru->emmc_con[0]; + break; + + case SCLK_EMMC_SAMPLE: + reg = &cru->emmc_con[1]; + break; + } + + return rk_clk_mmc_get_phase(rate, reg, 1); +} + +static rt_err_t rk3568_clk_init(struct rt_clk *clk, void *fw_data) +{ + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rt_ofw_cell_args *args = fw_data; + struct rk_clk_platform_data *pdata; + rt_uint32_t clk_id = args->args[0]; + rt_ubase_t reg_base; + + pdata = &rk_clk->pdata[clk_id]; + + if (rk_clk->type == rk_clk_type_pmuclk) + { + reg_base = (rt_ubase_t)rk_clk->pmuclk_info.pmucru; + + switch (clk_id) + { + case PLL_PPLL: + reg_base += pmu_pll_clks[ppll].con_offset; + break; + case PLL_HPLL: + reg_base += pmu_pll_clks[hpll].con_offset; + break; + default: + reg_base = RT_NULL; + break; + } + } + else if (rk_clk->type == rk_clk_type_clk) + { + reg_base = (rt_ubase_t)rk_clk->clk_info.cru; + + switch (clk_id) + { + case PLL_APLL: + case ARMCLK: + reg_base += pll_clks[apll].con_offset; + break; + case PLL_CPLL: + reg_base += pll_clks[cpll].con_offset; + break; + case PLL_GPLL: + reg_base += pll_clks[gpll].con_offset; + break; + case PLL_NPLL: + reg_base += pll_clks[npll].con_offset; + break; + case PLL_VPLL: + reg_base += pll_clks[vpll].con_offset; + break; + case PLL_DPLL: + reg_base += pll_clks[dpll].con_offset; + break; + default: + reg_base = RT_NULL; + break; + } + } + else + { + LOG_E("Unknow type of rk clk = %d", rk_clk->type); + RT_ASSERT(0); + } + + pdata->id = clk_id; + pdata->base = (void *)reg_base; + + clk->rate = rk_clk_get_rate(pdata, rk_clk); + clk->priv = pdata; + + rk_clk_set_default_rates(clk, clk->clk_np->ops->set_rate, clk_id); + + return RT_EOK; +} + +static rt_err_t rk3568_clk_enable(struct rt_clk *clk) +{ + struct rk_clk_platform_data *pdata = clk->priv; + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rk_cru *cru = rk_clk->clk_info.cru; + struct rk_pmucru *pmucru = rk_clk->pmuclk_info.pmucru; + + if (pdata->base) + { + HWREG32(pdata->base + PLL_CON(1)) = HIWORD_UPDATE(0, PLLCON1_PWRDOWN, 0); + + rk_clk_wait_lock(pdata); + } + else + { + void *con_regs; + struct rk_clk_gate *gate; + + if (rk_clk->type == rk_clk_type_clk) + { + gate = &clk_gates[pdata->id]; + con_regs = &cru->clkgate_con[gate->con_idx]; + } + else if (rk_clk->type == rk_clk_type_pmuclk) + { + gate = &pmu_clk_gates[pdata->id]; + con_regs = &pmucru->pmu_clkgate_con[gate->con_idx]; + } + else + { + return -RT_EINVAL; + } + + rk_clrreg(con_regs, RT_BIT(gate->con_bit)); + } + + return RT_EOK; +} + +static void rk3568_clk_disable(struct rt_clk *clk) +{ + struct rk_clk_platform_data *pdata = clk->priv; + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rk_cru *cru = rk_clk->clk_info.cru; + struct rk_pmucru *pmucru = rk_clk->pmuclk_info.pmucru; + + if (pdata->base) + { + HWREG32(pdata->base + PLL_CON(1)) = HIWORD_UPDATE(PLLCON1_PWRDOWN, PLLCON1_PWRDOWN, 0); + } + else + { + void *con_regs; + struct rk_clk_gate *gate; + + if (rk_clk->type == rk_clk_type_clk) + { + gate = &clk_gates[pdata->id]; + con_regs = &cru->clkgate_con[gate->con_idx]; + } + else if (rk_clk->type == rk_clk_type_pmuclk) + { + gate = &pmu_clk_gates[pdata->id]; + con_regs = &pmucru->pmu_clkgate_con[gate->con_idx]; + } + else + { + return; + } + + rk_setreg(con_regs, RT_BIT(gate->con_bit)); + } +} + +static rt_bool_t rk3568_clk_is_enabled(struct rt_clk *clk) +{ + struct rk_clk_platform_data *pdata = clk->priv; + + if (pdata->base) + { + rt_uint32_t pllcon = HWREG32(pdata->base + PLL_CON(1)); + + return !(pllcon & PLLCON1_PWRDOWN); + } + + return RT_TRUE; +} + +static rt_err_t rk3568_clk_set_rate(struct rt_clk *clk, rt_ubase_t rate, rt_ubase_t parent_rate) +{ + rt_ubase_t res_rate; + struct rk_clk_platform_data *pdata = clk->priv; + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + + if (rk_clk->type == rk_clk_type_clk) + { + res_rate = rk_clk_set_rate(pdata, rk_clk, rate); + + if ((rt_base_t)res_rate > 0) + { + clk->rate = res_rate; + } + } + else if (rk_clk->type == rk_clk_type_pmuclk) + { + res_rate = rk_pmuclk_set_rate(pdata, rk_clk, rate); + + if ((rt_base_t)res_rate > 0) + { + clk->rate = res_rate; + } + } + else + { + return -RT_EINVAL; + } + + return (rt_ubase_t)res_rate > 0 ? RT_EOK : (rt_err_t)res_rate; +} + +static rt_err_t rk3568_clk_set_parent(struct rt_clk *clk, struct rt_clk *parent) +{ + rt_err_t err; + struct rk_clk_platform_data *pdata = clk->priv, *ppdata = parent->priv; + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rk_clk *rk_clk_parent = raw_to_rk_clk(clk->clk_np); + + if (rk_clk->type != rk_clk_parent->type) + { + return -RT_EINVAL; + } + + if (rk_clk->type == rk_clk_type_clk) + { + err = rk_clk_set_parent(pdata, ppdata, rk_clk); + } + else if (rk_clk->type == rk_clk_type_pmuclk) + { + err = rk_pmuclk_set_parent(pdata, ppdata, rk_clk); + } + else + { + return -RT_EINVAL; + } + + return err; +} + +static rt_err_t rk3568_clk_set_phase(struct rt_clk *clk, int degrees) +{ + rt_err_t res; + struct rk_clk_platform_data *pdata = clk->priv; + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + + switch (pdata->id) + { + case SCLK_SDMMC0_DRV: + case SCLK_SDMMC0_SAMPLE: + case SCLK_SDMMC1_DRV: + case SCLK_SDMMC1_SAMPLE: + case SCLK_SDMMC2_DRV: + case SCLK_SDMMC2_SAMPLE: + case SCLK_EMMC_DRV: + case SCLK_EMMC_SAMPLE: + res = mmc_set_phase(pdata, rk_clk, degrees); + break; + + default: + return -RT_EINVAL; + } + + return res; +} + +static rt_base_t rk3568_clk_get_phase(struct rt_clk *clk) +{ + rt_base_t res; + struct rk_clk_platform_data *pdata = clk->priv; + struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + + switch (pdata->id) + { + case SCLK_SDMMC0_DRV: + case SCLK_SDMMC0_SAMPLE: + case SCLK_SDMMC1_DRV: + case SCLK_SDMMC1_SAMPLE: + case SCLK_SDMMC2_DRV: + case SCLK_SDMMC2_SAMPLE: + case SCLK_EMMC_DRV: + case SCLK_EMMC_SAMPLE: + res = mmc_get_phase(pdata, rk_clk); + break; + + default: + return -RT_EINVAL; + } + + return res; +} + +static rt_base_t rk3568_clk_round_rate(struct rt_clk *clk, rt_ubase_t drate, + rt_ubase_t *prate) +{ + return rk_clk_pll_round_rate(pll_rates, RT_ARRAY_SIZE(pll_rates), drate, prate); +} + +static const struct rt_clk_ops rk3568_clk_ops = +{ + .init = rk3568_clk_init, + .enable = rk3568_clk_enable, + .disable = rk3568_clk_disable, + .is_enabled = rk3568_clk_is_enabled, + .set_rate = rk3568_clk_set_rate, + .set_parent = rk3568_clk_set_parent, + .set_phase = rk3568_clk_set_phase, + .get_phase = rk3568_clk_get_phase, + .round_rate = rk3568_clk_round_rate, +}; + +static void rk3568_clk_type_init(struct rk_clk *rk_clk, struct rt_ofw_node *np) +{ + rt_ubase_t cpu_freq = APLL_HZ; + struct rk_clk_priv *priv = &rk_clk->clk_info; + const char *rockchip_cpu_freq = rt_ofw_bootargs_select("rockchip.cpu_freq=", 0); + + priv->cru = (struct rk_cru *)rk_clk->base; + + if (!priv->armclk_enter_hz) + { + priv->armclk_enter_hz = rk_pll_get_rate(&pll_clks[apll], &priv->cru); + priv->armclk_init_hz = priv->armclk_enter_hz; + } + + if (rockchip_cpu_freq) + { + cpu_freq = atol(rockchip_cpu_freq); + } + else + { + cpu_freq = 1800000000; + } + + if (!armclk_set_clk(priv, cpu_freq)) + { + priv->armclk_init_hz = cpu_freq; + } + + if (priv->cpll_hz != CPLL_HZ) + { + if (!rk_pll_set_rate(&pll_clks[cpll], priv->cru, CPLL_HZ)) + { + priv->cpll_hz = CPLL_HZ; + } + } + + if (priv->gpll_hz != GPLL_HZ) + { + if (!rk_pll_set_rate(&pll_clks[gpll], priv->cru, GPLL_HZ)) + { + priv->gpll_hz = GPLL_HZ; + } + } + + priv->ppll_hz = pmu_pll_get_rate(ppll); + priv->hpll_hz = pmu_pll_get_rate(hpll); +} + +static void rk3568_pmu_clk_type_init(struct rk_clk *rk_clk, struct rt_ofw_node *np) +{ + struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; + priv->pmucru = (struct rk_pmucru *)rk_clk->base; + + if (priv->ppll_hz != PPLL_HZ) + { + if (!rk_pll_set_rate(&pmu_pll_clks[ppll], priv->pmucru, PPLL_HZ)) + { + priv->ppll_hz = PPLL_HZ; + } + } + + /* Ungate PCIe30phy refclk_m and refclk_n */ + rk_clrsetreg(&priv->pmucru->pmu_clkgate_con[2], 0x3 << 13, 0 << 13); +} + +static rt_err_t clk_rk3568_probe(struct rt_platform_device *pdev) +{ + rt_err_t err; + rt_size_t data_size = 0; + struct rk_clk *rk_clk; + struct rt_ofw_node *np = pdev->parent.ofw_node; + enum rk_clk_type type = (rt_ubase_t)pdev->id->data; + + if (type == rk_clk_type_clk) + { + data_size = CLK_NR_CLKS; + } + else if (type == rk_clk_type_pmuclk) + { + data_size = CLKPMU_NR_CLKS; + } + + data_size *= sizeof(struct rk_clk_platform_data); + rk_clk = rt_malloc(sizeof(*rk_clk) + data_size); + + if (rk_clk) + { + void *softrst_regs = RT_NULL; + rt_memset(&rk_clk->parent, 0, sizeof(rk_clk->parent)); + + rk_clk->base = rt_ofw_iomap(np, 0); + + if (!rk_clk->base) + { + err = -RT_EIO; + goto _fail; + } + + if (type == rk_clk_type_clk) + { + rk_clk->type = rk_clk_type_clk; + + rk3568_clk_type_init(rk_clk, np); + softrst_regs = &rk_clk->clk_info.cru->softrst_con; + } + else if (type == rk_clk_type_pmuclk) + { + rk_clk->type = rk_clk_type_pmuclk; + + rk3568_pmu_clk_type_init(rk_clk, np); + softrst_regs = &rk_clk->pmuclk_info.pmucru->pmu_softrst_con; + } + + rk_clk->parent.parent.ops = &rk3568_clk_ops; + + if ((err = rt_clk_register(&rk_clk->parent.parent, RT_NULL))) + { + goto _fail; + } + + if ((err = rk_register_softrst(&rk_clk->parent.rstcer, np, + softrst_regs, ROCKCHIP_SOFTRST_HIWORD_MASK))) + { + goto _fail; + } + + rt_ofw_data(np) = &rk_clk->parent; + } + else + { + err = -RT_ENOMEM; + } + + return err; + +_fail: + if (rk_clk->base) + { + rt_iounmap(rk_clk->base); + } + + rt_free(rk_clk); + + return err; +} + +static const struct rt_ofw_node_id clk_rk3568_ofw_ids[] = +{ + { .compatible = "rockchip,rk3568-cru", .data = (void *)rk_clk_type_clk }, + { .compatible = "rockchip,rk3568-pmucru", .data = (void *)rk_clk_type_pmuclk }, + { /* sentinel */ } +}; + +static struct rt_platform_driver clk_rk3568_driver = +{ + .name = "clk-rk3568", + .ids = clk_rk3568_ofw_ids, + + .probe = clk_rk3568_probe, +}; + +static int clk_rk3568_register(void) +{ + rt_platform_driver_register(&clk_rk3568_driver); + + return 0; +} +INIT_SUBSYS_EXPORT(clk_rk3568_register); diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3568.h b/bsp/rockchip/rk3566/driver/clk/clk-rk3568.h new file mode 100644 index 00000000000..710d3211f6e --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-rk3568.h @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ + +#ifndef __ROCKCHIP_CLK3568_H__ +#define __ROCKCHIP_CLK3568_H__ + +#include +#include +#include +#include +#include "../rockchip.h" + +#define HZ 100 +#define KHZ 1000 +#define MHZ 1000000 +#define OSC_HZ (24 * MHZ) + +struct rk_cpu_rate_table +{ + rt_ubase_t rate; + rt_uint32_t aclk_div; + rt_uint32_t pclk_div; +}; + +struct rk_pll_rate_table +{ + rt_ubase_t rate; + rt_uint32_t nr; + rt_uint32_t nf; + rt_uint32_t no; + rt_uint32_t nb; + + rt_uint32_t fbdiv; + rt_uint32_t postdiv1; + rt_uint32_t refdiv; + rt_uint32_t postdiv2; + rt_uint32_t dsmpd; + rt_uint32_t frac; +}; + +struct rk_pll_clock +{ + rt_uint32_t id; + rt_uint32_t con_offset; + rt_uint32_t mode_offset; + rt_uint32_t mode_shift; + rt_uint32_t lock_shift; + rt_uint32_t pll_flags; + struct rk_pll_rate_table *rate_table; + rt_uint32_t mode_mask; +}; + +struct rk_clk_gate +{ + const char *name; + const char *parent_name; + + int con_idx; + int con_bit; +}; + +#define GATE(_id, _name, \ +_pname, _con_idx, _con_bit) \ +[_id] = \ +{ \ + .name = _name, \ + .parent_name = _pname, \ + .con_idx = _con_idx, \ + .con_bit = _con_bit, \ +} + + +#define CPUCLK_RATE(_rate, \ + _aclk_div, _pclk_div) \ +{ \ + .rate = _rate##U, \ + .aclk_div = _aclk_div, \ + .pclk_div = _pclk_div, \ +} + +#define PLL_RATE(_rate, _refdiv, _fbdiv, \ + _postdiv1, _postdiv2, _dsmpd, _frac) \ +{ \ + .rate = _rate##U, \ + .fbdiv = _fbdiv, \ + .postdiv1 = _postdiv1, \ + .refdiv = _refdiv, \ + .postdiv2 = _postdiv2, \ + .dsmpd = _dsmpd, \ + .frac = _frac, \ +} + +#define PLL(_id, _con, _mode, _mshift, \ + _lshift, _pflags, _rtable) \ +{ \ + .id = _id, \ + .con_offset = _con, \ + .mode_offset = _mode, \ + .mode_shift = _mshift, \ + .lock_shift = _lshift, \ + .pll_flags = _pflags, \ + .rate_table = _rtable, \ +} + +#define DIV_TO_RATE(input_rate, div) ((input_rate) / ((div) + 1)) + +#define ROCKCHIP_SOFTRST_HIWORD_MASK RT_BIT(0) + +#endif /* __ROCKCHIP_CLK3568_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3588.c b/bsp/rockchip/rk3566/driver/clk/clk-rk3588.c new file mode 100644 index 00000000000..a25e2e8d4f2 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-rk3588.c @@ -0,0 +1,3292 @@ +#include "clk-rk3588.h" +#define DBG_TAG "clk.rk3588" +#define DBG_LVL DBG_INFO +#include +#include +#include "rk3588-cru.h" +#define raw_to_rk_clk(raw) rt_container_of(raw, struct rk3588_clk, parent) +#define MHz 1000000 +#define KHz 1000 + +#define CPU_PVTPLL_HZ (1008 * MHz) +#define LPLL_HZ (816 * MHz) +#define GPLL_HZ (1188 * MHz) +#define CPLL_HZ (1500 * MHz) +#define NPLL_HZ (850 * MHz) +#define PPLL_HZ (1100 * MHz) + +/* RK3588 pll id */ +enum rk3588_pll_id { + B0PLL, + B1PLL, + LPLL, + CPLL, + GPLL, + NPLL, + V0PLL, + AUPLL, + PPLL, + PLL_COUNT, +}; + +struct rk3588_clk_info { + unsigned long id; + char *name; + rt_bool_t is_cru; +}; + +struct rk3588_pll { + unsigned int con0; + unsigned int con1; + unsigned int con2; + unsigned int con3; + unsigned int con4; + unsigned int reserved0[3]; +}; +struct rk3588_cru { + struct rk3588_pll pll[18]; /*144*/ + unsigned int reserved0[16];/* Address Offset: 0x0240 */ /*160*/ + unsigned int mode_con00;/* Address Offset: 0x0280 */ /*161*/ + unsigned int reserved1[31];/* Address Offset: 0x0284 */ /*192*/ + unsigned int clksel_con[178]; /* Address Offset: 0x0300 */ /*370*/ + unsigned int reserved2[142];/* Address Offset: 0x05c8 */ /*512*/ + unsigned int clkgate_con[78];/* Address Offset: 0x0800 */ /*590*/ + unsigned int reserved3[50];/* Address Offset: 0x0938 */ /*640*/ + unsigned int softrst_con[78];/* Address Offset: 0xa00 */ /* for convenient of softrst register //718*/ + unsigned int reserved4[50];/* Address Offset: 0x0b38 */ /*768*/ + unsigned int glb_cnt_th;/* Address Offset: 0x0c00 */ + unsigned int glb_rst_st;/* Address Offset: 0x0c04 */ + unsigned int glb_srst_fst;/* Address Offset: 0x0c08 */ + unsigned int glb_srsr_snd; /* Address Offset: 0x0c0c */ + unsigned int glb_rst_con;/* Address Offset: 0x0c10 */ + unsigned int reserved5[4];/* Address Offset: 0x0c14 */ + unsigned int sdio_con[2];/* Address Offset: 0x0c24 */ + unsigned int reserved7;/* Address Offset: 0x0c2c */ + unsigned int sdmmc_con[2];/* Address Offset: 0x0c30 */ + unsigned int reserved8[48562];/* Address Offset: 0x0c38 */ + unsigned int pmuclksel_con[21]; /* Address Offset: 0x0100 */ + unsigned int reserved9[299];/* Address Offset: 0x0c38 */ + unsigned int pmuclkgate_con[9]; /* Address Offset: 0x0100 */ +}; + +struct rk3588_clk_priv { + struct rk3588_cru *cru; + + rt_ubase_t ppll_hz; + rt_ubase_t gpll_hz; + rt_ubase_t cpll_hz; + rt_ubase_t npll_hz; + rt_ubase_t v0pll_hz; + rt_ubase_t aupll_hz; + rt_ubase_t armclk_hz; + rt_ubase_t armclk_enter_hz; + rt_ubase_t armclk_init_hz; + rt_bool_t sync_kernel; + rt_bool_t set_armclk_rate; +}; +struct rk3588_clk_platform_data +{ + rt_uint32_t id; + void *base; +}; +struct rt_reset_controller_clk_node +{ + struct rt_clk_node parent; + + struct rt_reset_controller rstcer; +}; +struct rk3588_clk +{ + struct rt_reset_controller_clk_node parent; + + void *base; + + struct rk3588_clk_priv clk_info; + + struct rk3588_clk_platform_data pdata[]; +}; +struct pll_rate_table { + unsigned long rate; + unsigned int m; + unsigned int p; + unsigned int s; + unsigned int k; +}; + +#define RK3588_PLL_CON(x) ((x) * 0x4) +#define RK3588_MODE_CON 0x280 + +#define RK3588_PHP_CRU_BASE 0x8000 +#define RK3588_PMU_CRU_BASE 0x30000 +#define RK3588_BIGCORE0_CRU_BASE 0x50000 +#define RK3588_BIGCORE1_CRU_BASE 0x52000 +#define RK3588_DSU_CRU_BASE 0x58000 + +#define RK3588_PLL_CON(x) ((x) * 0x4) +#define RK3588_MODE_CON0 0x280 +#define RK3588_CLKSEL_CON(x) ((x) * 0x4 + 0x300) +#define RK3588_CLKGATE_CON(x) ((x) * 0x4 + 0x800) +#define RK3588_SOFTRST_CON(x) ((x) * 0x4 + 0xa00) +#define RK3588_GLB_CNT_TH 0xc00 +#define RK3588_GLB_SRST_FST 0xc08 +#define RK3588_GLB_SRST_SND 0xc0c +#define RK3588_GLB_RST_CON 0xc10 +#define RK3588_GLB_RST_ST 0xc04 +#define RK3588_SDIO_CON0 0xC24 +#define RK3588_SDIO_CON1 0xC28 +#define RK3588_SDMMC_CON0 0xC30 +#define RK3588_SDMMC_CON1 0xC34 + +#define RK3588_PHP_CLKGATE_CON(x) ((x) * 0x4 + RK3588_PHP_CRU_BASE + 0x800) +#define RK3588_PHP_SOFTRST_CON(x) ((x) * 0x4 + RK3588_PHP_CRU_BASE + 0xa00) + +#define RK3588_PMU_PLL_CON(x) ((x) * 0x4 + RK3588_PHP_CRU_BASE) +#define RK3588_PMU_CLKSEL_CON(x) ((x) * 0x4 + RK3588_PMU_CRU_BASE + 0x300) +#define RK3588_PMU_CLKGATE_CON(x) ((x) * 0x4 + RK3588_PMU_CRU_BASE + 0x800) +#define RK3588_PMU_SOFTRST_CON(x) ((x) * 0x4 + RK3588_PMU_CRU_BASE + 0xa00) + +#define RK3588_B0_PLL_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE) +#define RK3588_B0_PLL_MODE_CON (RK3588_BIGCORE0_CRU_BASE + 0x280) +#define RK3588_BIGCORE0_CLKSEL_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE + 0x300) +#define RK3588_BIGCORE0_CLKGATE_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE + 0x800) +#define RK3588_BIGCORE0_SOFTRST_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE + 0xa00) +#define RK3588_B1_PLL_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE) +#define RK3588_B1_PLL_MODE_CON (RK3588_BIGCORE1_CRU_BASE + 0x280) +#define RK3588_BIGCORE1_CLKSEL_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE + 0x300) +#define RK3588_BIGCORE1_CLKGATE_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE + 0x800) +#define RK3588_BIGCORE1_SOFTRST_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE + 0xa00) +#define RK3588_LPLL_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE) +#define RK3588_LPLL_MODE_CON (RK3588_DSU_CRU_BASE + 0x280) +#define RK3588_DSU_CLKSEL_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE + 0x300) +#define RK3588_DSU_CLKGATE_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE + 0x800) +#define RK3588_DSU_SOFTRST_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE + 0xa00) + +enum { + /* CRU_CLK_SEL8_CON */ + ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT = 14, + ACLK_LOW_TOP_ROOT_SRC_SEL_MASK = 1 << ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT, + ACLK_LOW_TOP_ROOT_SRC_SEL_GPLL = 0, + ACLK_LOW_TOP_ROOT_SRC_SEL_CPLL, + ACLK_LOW_TOP_ROOT_DIV_SHIFT = 9, + ACLK_LOW_TOP_ROOT_DIV_MASK = 0x1f << ACLK_LOW_TOP_ROOT_DIV_SHIFT, + PCLK_TOP_ROOT_SEL_SHIFT = 7, + PCLK_TOP_ROOT_SEL_MASK = 3 << PCLK_TOP_ROOT_SEL_SHIFT, + PCLK_TOP_ROOT_SEL_100M = 0, + PCLK_TOP_ROOT_SEL_50M, + PCLK_TOP_ROOT_SEL_24M, + ACLK_TOP_ROOT_SRC_SEL_SHIFT = 5, + ACLK_TOP_ROOT_SRC_SEL_MASK = 3 << ACLK_TOP_ROOT_SRC_SEL_SHIFT, + ACLK_TOP_ROOT_SRC_SEL_GPLL = 0, + ACLK_TOP_ROOT_SRC_SEL_CPLL, + ACLK_TOP_ROOT_SRC_SEL_AUPLL, + ACLK_TOP_ROOT_DIV_SHIFT = 0, + ACLK_TOP_ROOT_DIV_MASK = 0x1f << ACLK_TOP_ROOT_DIV_SHIFT, + + /* CRU_CLK_SEL9_CON */ + ACLK_TOP_S400_SEL_SHIFT = 8, + ACLK_TOP_S400_SEL_MASK = 3 << ACLK_TOP_S400_SEL_SHIFT, + ACLK_TOP_S400_SEL_400M = 0, + ACLK_TOP_S400_SEL_200M, + ACLK_TOP_S200_SEL_SHIFT = 6, + ACLK_TOP_S200_SEL_MASK = 3 << ACLK_TOP_S200_SEL_SHIFT, + ACLK_TOP_S200_SEL_200M = 0, + ACLK_TOP_S200_SEL_100M, + + /* CRU_CLK_SEL38_CON */ + CLK_I2C8_SEL_SHIFT = 13, + CLK_I2C8_SEL_MASK = 1 << CLK_I2C8_SEL_SHIFT, + CLK_I2C7_SEL_SHIFT = 12, + CLK_I2C7_SEL_MASK = 1 << CLK_I2C7_SEL_SHIFT, + CLK_I2C6_SEL_SHIFT = 11, + CLK_I2C6_SEL_MASK = 1 << CLK_I2C6_SEL_SHIFT, + CLK_I2C5_SEL_SHIFT = 10, + CLK_I2C5_SEL_MASK = 1 << CLK_I2C5_SEL_SHIFT, + CLK_I2C4_SEL_SHIFT = 9, + CLK_I2C4_SEL_MASK = 1 << CLK_I2C4_SEL_SHIFT, + CLK_I2C3_SEL_SHIFT = 8, + CLK_I2C3_SEL_MASK = 1 << CLK_I2C3_SEL_SHIFT, + CLK_I2C2_SEL_SHIFT = 7, + CLK_I2C2_SEL_MASK = 1 << CLK_I2C2_SEL_SHIFT, + CLK_I2C1_SEL_SHIFT = 6, + CLK_I2C1_SEL_MASK = 1 << CLK_I2C1_SEL_SHIFT, + ACLK_BUS_ROOT_SEL_SHIFT = 5, + ACLK_BUS_ROOT_SEL_MASK = 3 << ACLK_BUS_ROOT_SEL_SHIFT, + ACLK_BUS_ROOT_SEL_GPLL = 0, + ACLK_BUS_ROOT_SEL_CPLL, + ACLK_BUS_ROOT_DIV_SHIFT = 0, + ACLK_BUS_ROOT_DIV_MASK = 0x1f << ACLK_BUS_ROOT_DIV_SHIFT, + + /* CRU_CLK_SEL40_CON */ + CLK_SARADC_SEL_SHIFT = 14, + CLK_SARADC_SEL_MASK = 0x1 << CLK_SARADC_SEL_SHIFT, + CLK_SARADC_SEL_GPLL = 0, + CLK_SARADC_SEL_24M, + CLK_SARADC_DIV_SHIFT = 6, + CLK_SARADC_DIV_MASK = 0xff << CLK_SARADC_DIV_SHIFT, + + /* CRU_CLK_SEL41_CON */ + CLK_UART_SRC_SEL_SHIFT = 14, + CLK_UART_SRC_SEL_MASK = 0x1 << CLK_UART_SRC_SEL_SHIFT, + CLK_UART_SRC_SEL_GPLL = 0, + CLK_UART_SRC_SEL_CPLL, + CLK_UART_SRC_DIV_SHIFT = 9, + CLK_UART_SRC_DIV_MASK = 0x1f << CLK_UART_SRC_DIV_SHIFT, + CLK_TSADC_SEL_SHIFT = 8, + CLK_TSADC_SEL_MASK = 0x1 << CLK_TSADC_SEL_SHIFT, + CLK_TSADC_SEL_GPLL = 0, + CLK_TSADC_SEL_24M, + CLK_TSADC_DIV_SHIFT = 0, + CLK_TSADC_DIV_MASK = 0xff << CLK_TSADC_DIV_SHIFT, + + /* CRU_CLK_SEL42_CON */ + CLK_UART_FRAC_NUMERATOR_SHIFT = 16, + CLK_UART_FRAC_NUMERATOR_MASK = 0xffff << 16, + CLK_UART_FRAC_DENOMINATOR_SHIFT = 0, + CLK_UART_FRAC_DENOMINATOR_MASK = 0xffff, + + /* CRU_CLK_SEL43_CON */ + CLK_UART_SEL_SHIFT = 0, + CLK_UART_SEL_MASK = 0x3 << CLK_UART_SEL_SHIFT, + CLK_UART_SEL_SRC = 0, + CLK_UART_SEL_FRAC, + CLK_UART_SEL_XIN24M, + + /* CRU_CLK_SEL59_CON */ + CLK_PWM2_SEL_SHIFT = 14, + CLK_PWM2_SEL_MASK = 3 << CLK_PWM2_SEL_SHIFT, + CLK_PWM1_SEL_SHIFT = 12, + CLK_PWM1_SEL_MASK = 3 << CLK_PWM1_SEL_SHIFT, + CLK_SPI4_SEL_SHIFT = 10, + CLK_SPI4_SEL_MASK = 3 << CLK_SPI4_SEL_SHIFT, + CLK_SPI3_SEL_SHIFT = 8, + CLK_SPI3_SEL_MASK = 3 << CLK_SPI3_SEL_SHIFT, + CLK_SPI2_SEL_SHIFT = 6, + CLK_SPI2_SEL_MASK = 3 << CLK_SPI2_SEL_SHIFT, + CLK_SPI1_SEL_SHIFT = 4, + CLK_SPI1_SEL_MASK = 3 << CLK_SPI1_SEL_SHIFT, + CLK_SPI0_SEL_SHIFT = 2, + CLK_SPI0_SEL_MASK = 3 << CLK_SPI0_SEL_SHIFT, + CLK_SPI_SEL_200M = 0, + CLK_SPI_SEL_150M, + CLK_SPI_SEL_24M, + + /* CRU_CLK_SEL60_CON */ + CLK_PWM3_SEL_SHIFT = 0, + CLK_PWM3_SEL_MASK = 3 << CLK_PWM3_SEL_SHIFT, + CLK_PWM_SEL_100M = 0, + CLK_PWM_SEL_50M, + CLK_PWM_SEL_24M, + + /* CRU_CLK_SEL62_CON */ + DCLK_DECOM_SEL_SHIFT = 5, + DCLK_DECOM_SEL_MASK = 1 << DCLK_DECOM_SEL_SHIFT, + DCLK_DECOM_SEL_GPLL = 0, + DCLK_DECOM_SEL_SPLL, + DCLK_DECOM_DIV_SHIFT = 0, + DCLK_DECOM_DIV_MASK = 0x1F << DCLK_DECOM_DIV_SHIFT, + + /* CRU_CLK_SEL77_CON */ + CCLK_EMMC_SEL_SHIFT = 14, + CCLK_EMMC_SEL_MASK = 3 << CCLK_EMMC_SEL_SHIFT, + CCLK_EMMC_SEL_GPLL = 0, + CCLK_EMMC_SEL_CPLL, + CCLK_EMMC_SEL_24M, + CCLK_EMMC_DIV_SHIFT = 8, + CCLK_EMMC_DIV_MASK = 0x3f << CCLK_EMMC_DIV_SHIFT, + + /* CRU_CLK_SEL78_CON */ + SCLK_SFC_SEL_SHIFT = 12, + SCLK_SFC_SEL_MASK = 3 << SCLK_SFC_SEL_SHIFT, + SCLK_SFC_SEL_GPLL = 0, + SCLK_SFC_SEL_CPLL, + SCLK_SFC_SEL_24M, + SCLK_SFC_DIV_SHIFT = 6, + SCLK_SFC_DIV_MASK = 0x3f << SCLK_SFC_DIV_SHIFT, + BCLK_EMMC_SEL_SHIFT = 5, + BCLK_EMMC_SEL_MASK = 1 << BCLK_EMMC_SEL_SHIFT, + BCLK_EMMC_SEL_GPLL = 0, + BCLK_EMMC_SEL_CPLL, + BCLK_EMMC_DIV_SHIFT = 0, + BCLK_EMMC_DIV_MASK = 0x1f << BCLK_EMMC_DIV_SHIFT, + + /* CRU_CLK_SEL81_CON */ + CLK_GMAC1_PTP_SEL_SHIFT = 13, + CLK_GMAC1_PTP_SEL_MASK = 1 << CLK_GMAC1_PTP_SEL_SHIFT, + CLK_GMAC1_PTP_SEL_CPLL = 0, + CLK_GMAC1_PTP_DIV_SHIFT = 7, + CLK_GMAC1_PTP_DIV_MASK = 0x3f << CLK_GMAC1_PTP_DIV_SHIFT, + CLK_GMAC0_PTP_SEL_SHIFT = 6, + CLK_GMAC0_PTP_SEL_MASK = 1 << CLK_GMAC0_PTP_SEL_SHIFT, + CLK_GMAC0_PTP_SEL_CPLL = 0, + CLK_GMAC0_PTP_DIV_SHIFT = 0, + CLK_GMAC0_PTP_DIV_MASK = 0x3f << CLK_GMAC0_PTP_DIV_SHIFT, + + /* CRU_CLK_SEL83_CON */ + CLK_GMAC_125M_SEL_SHIFT = 15, + CLK_GMAC_125M_SEL_MASK = 1 << CLK_GMAC_125M_SEL_SHIFT, + CLK_GMAC_125M_SEL_GPLL = 0, + CLK_GMAC_125M_SEL_CPLL, + CLK_GMAC_125M_DIV_SHIFT = 8, + CLK_GMAC_125M_DIV_MASK = 0x7f << CLK_GMAC_125M_DIV_SHIFT, + + /* CRU_CLK_SEL84_CON */ + CLK_GMAC_50M_SEL_SHIFT = 7, + CLK_GMAC_50M_SEL_MASK = 1 << CLK_GMAC_50M_SEL_SHIFT, + CLK_GMAC_50M_SEL_GPLL = 0, + CLK_GMAC_50M_SEL_CPLL, + CLK_GMAC_50M_DIV_SHIFT = 0, + CLK_GMAC_50M_DIV_MASK = 0x7f << CLK_GMAC_50M_DIV_SHIFT, + + /* CRU_CLK_SEL110_CON */ + HCLK_VOP_ROOT_SEL_SHIFT = 10, + HCLK_VOP_ROOT_SEL_MASK = 3 << HCLK_VOP_ROOT_SEL_SHIFT, + HCLK_VOP_ROOT_SEL_200M = 0, + HCLK_VOP_ROOT_SEL_100M, + HCLK_VOP_ROOT_SEL_50M, + HCLK_VOP_ROOT_SEL_24M, + ACLK_VOP_LOW_ROOT_SEL_SHIFT = 8, + ACLK_VOP_LOW_ROOT_SEL_MASK = 3 << ACLK_VOP_LOW_ROOT_SEL_SHIFT, + ACLK_VOP_LOW_ROOT_SEL_400M = 0, + ACLK_VOP_LOW_ROOT_SEL_200M, + ACLK_VOP_LOW_ROOT_SEL_100M, + ACLK_VOP_LOW_ROOT_SEL_24M, + ACLK_VOP_ROOT_SEL_SHIFT = 5, + ACLK_VOP_ROOT_SEL_MASK = 7 << ACLK_VOP_ROOT_SEL_SHIFT, + ACLK_VOP_ROOT_SEL_GPLL = 0, + ACLK_VOP_ROOT_SEL_CPLL, + ACLK_VOP_ROOT_SEL_AUPLL, + ACLK_VOP_ROOT_SEL_NPLL, + ACLK_VOP_ROOT_SEL_SPLL, + ACLK_VOP_ROOT_DIV_SHIFT = 0, + ACLK_VOP_ROOT_DIV_MASK = 0x1f << ACLK_VOP_ROOT_DIV_SHIFT, + + /* CRU_CLK_SEL111_CON */ + DCLK1_VOP_SRC_SEL_SHIFT = 14, + DCLK1_VOP_SRC_SEL_MASK = 3 << DCLK1_VOP_SRC_SEL_SHIFT, + DCLK1_VOP_SRC_DIV_SHIFT = 9, + DCLK1_VOP_SRC_DIV_MASK = 0x1f << DCLK1_VOP_SRC_DIV_SHIFT, + DCLK0_VOP_SRC_SEL_SHIFT = 7, + DCLK0_VOP_SRC_SEL_MASK = 3 << DCLK0_VOP_SRC_SEL_SHIFT, + DCLK_VOP_SRC_SEL_GPLL = 0, + DCLK_VOP_SRC_SEL_CPLL, + DCLK_VOP_SRC_SEL_V0PLL, + DCLK_VOP_SRC_SEL_AUPLL, + DCLK0_VOP_SRC_DIV_SHIFT = 0, + DCLK0_VOP_SRC_DIV_MASK = 0x7f << DCLK0_VOP_SRC_DIV_SHIFT, + + /* CRU_CLK_SEL112_CON */ + DCLK2_VOP_SEL_SHIFT = 11, + DCLK2_VOP_SEL_MASK = 3 << DCLK2_VOP_SEL_SHIFT, + DCLK1_VOP_SEL_SHIFT = 9, + DCLK1_VOP_SEL_MASK = 3 << DCLK1_VOP_SEL_SHIFT, + DCLK0_VOP_SEL_SHIFT = 7, + DCLK0_VOP_SEL_MASK = 3 << DCLK0_VOP_SEL_SHIFT, + DCLK2_VOP_SRC_SEL_SHIFT = 5, + DCLK2_VOP_SRC_SEL_MASK = 3 << DCLK2_VOP_SRC_SEL_SHIFT, + DCLK2_VOP_SRC_DIV_SHIFT = 0, + DCLK2_VOP_SRC_DIV_MASK = 0x1f << DCLK2_VOP_SRC_DIV_SHIFT, + + /* CRU_CLK_SEL113_CON */ + DCLK3_VOP_SRC_SEL_SHIFT = 7, + DCLK3_VOP_SRC_SEL_MASK = 3 << DCLK3_VOP_SRC_SEL_SHIFT, + DCLK3_VOP_SRC_DIV_SHIFT = 0, + DCLK3_VOP_SRC_DIV_MASK = 0x7f << DCLK3_VOP_SRC_DIV_SHIFT, + + /* CRU_CLK_SEL117_CON */ + CLK_AUX16MHZ_1_DIV_SHIFT = 8, + CLK_AUX16MHZ_1_DIV_MASK = 0xff << CLK_AUX16MHZ_1_DIV_SHIFT, + CLK_AUX16MHZ_0_DIV_SHIFT = 0, + CLK_AUX16MHZ_0_DIV_MASK = 0xff << CLK_AUX16MHZ_0_DIV_SHIFT, + + /* CRU_CLK_SEL165_CON */ + PCLK_CENTER_ROOT_SEL_SHIFT = 6, + PCLK_CENTER_ROOT_SEL_MASK = 3 << PCLK_CENTER_ROOT_SEL_SHIFT, + PCLK_CENTER_ROOT_SEL_200M = 0, + PCLK_CENTER_ROOT_SEL_100M, + PCLK_CENTER_ROOT_SEL_50M, + PCLK_CENTER_ROOT_SEL_24M, + HCLK_CENTER_ROOT_SEL_SHIFT = 4, + HCLK_CENTER_ROOT_SEL_MASK = 3 << HCLK_CENTER_ROOT_SEL_SHIFT, + HCLK_CENTER_ROOT_SEL_400M = 0, + HCLK_CENTER_ROOT_SEL_200M, + HCLK_CENTER_ROOT_SEL_100M, + HCLK_CENTER_ROOT_SEL_24M, + ACLK_CENTER_LOW_ROOT_SEL_SHIFT = 2, + ACLK_CENTER_LOW_ROOT_SEL_MASK = 3 << ACLK_CENTER_LOW_ROOT_SEL_SHIFT, + ACLK_CENTER_LOW_ROOT_SEL_500M = 0, + ACLK_CENTER_LOW_ROOT_SEL_250M, + ACLK_CENTER_LOW_ROOT_SEL_100M, + ACLK_CENTER_LOW_ROOT_SEL_24M, + ACLK_CENTER_ROOT_SEL_SHIFT = 0, + ACLK_CENTER_ROOT_SEL_MASK = 3 << ACLK_CENTER_ROOT_SEL_SHIFT, + ACLK_CENTER_ROOT_SEL_700M = 0, + ACLK_CENTER_ROOT_SEL_400M, + ACLK_CENTER_ROOT_SEL_200M, + ACLK_CENTER_ROOT_SEL_24M, + + /* CRU_CLK_SEL172_CON */ + CCLK_SDIO_SRC_SEL_SHIFT = 8, + CCLK_SDIO_SRC_SEL_MASK = 3 << CCLK_SDIO_SRC_SEL_SHIFT, + CCLK_SDIO_SRC_SEL_GPLL = 0, + CCLK_SDIO_SRC_SEL_CPLL, + CCLK_SDIO_SRC_SEL_24M, + CCLK_SDIO_SRC_DIV_SHIFT = 2, + CCLK_SDIO_SRC_DIV_MASK = 0x3f << CCLK_SDIO_SRC_DIV_SHIFT, + + /* CRU_CLK_SEL176_CON */ + CLK_PCIE_PHY1_PLL_DIV_SHIFT = 6, + CLK_PCIE_PHY1_PLL_DIV_MASK = 0x3f << CLK_PCIE_PHY1_PLL_DIV_SHIFT, + CLK_PCIE_PHY0_PLL_DIV_SHIFT = 0, + CLK_PCIE_PHY0_PLL_DIV_MASK = 0x3f << CLK_PCIE_PHY0_PLL_DIV_SHIFT, + + /* CRU_CLK_SEL177_CON */ + CLK_PCIE_PHY2_REF_SEL_SHIFT = 8, + CLK_PCIE_PHY2_REF_SEL_MASK = 1 << CLK_PCIE_PHY2_REF_SEL_SHIFT, + CLK_PCIE_PHY1_REF_SEL_SHIFT = 7, + CLK_PCIE_PHY1_REF_SEL_MASK = 1 << CLK_PCIE_PHY1_REF_SEL_SHIFT, + CLK_PCIE_PHY0_REF_SEL_SHIFT = 6, + CLK_PCIE_PHY0_REF_SEL_MASK = 1 << CLK_PCIE_PHY0_REF_SEL_SHIFT, + CLK_PCIE_PHY_REF_SEL_24M = 0, + CLK_PCIE_PHY_REF_SEL_PPLL, + CLK_PCIE_PHY2_PLL_DIV_SHIFT = 0, + CLK_PCIE_PHY2_PLL_DIV_MASK = 0x3f << CLK_PCIE_PHY2_PLL_DIV_SHIFT, + + /* PMUCRU_CLK_SEL2_CON */ + CLK_PMU1PWM_SEL_SHIFT = 9, + CLK_PMU1PWM_SEL_MASK = 3 << CLK_PMU1PWM_SEL_SHIFT, + + /* PMUCRU_CLK_SEL3_CON */ + CLK_I2C0_SEL_SHIFT = 6, + CLK_I2C0_SEL_MASK = 1 << CLK_I2C0_SEL_SHIFT, + CLK_I2C_SEL_200M = 0, + CLK_I2C_SEL_100M, +}; + +static struct rk_pll_rate_table rk3588_pll_rates[] = { + /* _mhz, _p, _m, _s, _k */ + RK3588_PLL_RATE(1500000000, 2, 250, 1, 0), + RK3588_PLL_RATE(1200000000, 2, 200, 1, 0), + RK3588_PLL_RATE(1188000000, 2, 198, 1, 0), + RK3588_PLL_RATE(1100000000, 3, 550, 2, 0), + RK3588_PLL_RATE(1008000000, 2, 336, 2, 0), + RK3588_PLL_RATE(1000000000, 3, 500, 2, 0), + RK3588_PLL_RATE(900000000, 2, 300, 2, 0), + RK3588_PLL_RATE(850000000, 3, 425, 2, 0), + RK3588_PLL_RATE(816000000, 2, 272, 2, 0), + RK3588_PLL_RATE(786432000, 2, 262, 2, 9437), + RK3588_PLL_RATE(786000000, 1, 131, 2, 0), + RK3588_PLL_RATE(742500000, 4, 495, 2, 0), + RK3588_PLL_RATE(722534400, 8, 963, 2, 24850), + RK3588_PLL_RATE(600000000, 2, 200, 2, 0), + RK3588_PLL_RATE(594000000, 2, 198, 2, 0), + RK3588_PLL_RATE(200000000, 3, 400, 4, 0), + RK3588_PLL_RATE(100000000, 3, 400, 5, 0), + { /* sentinel */ }, +}; + +static struct rk_pll_clock rk3588_pll_clks[] = { + [B0PLL] = PLL(pll_rk3588, PLL_B0PLL, RK3588_B0_PLL_CON(0), + RK3588_B0_PLL_MODE_CON, 0, 15, 0, + rk3588_pll_rates), + [B1PLL] = PLL(pll_rk3588, PLL_B1PLL, RK3588_B1_PLL_CON(8), + RK3588_B1_PLL_MODE_CON, 0, 15, 0, + rk3588_pll_rates), + [LPLL] = PLL(pll_rk3588, PLL_LPLL, RK3588_LPLL_CON(16), + RK3588_LPLL_MODE_CON, 0, 15, 0, rk3588_pll_rates), + [V0PLL] = PLL(pll_rk3588, PLL_V0PLL, RK3588_PLL_CON(88), + RK3588_MODE_CON0, 4, 15, 0, rk3588_pll_rates), + [AUPLL] = PLL(pll_rk3588, PLL_AUPLL, RK3588_PLL_CON(96), + RK3588_MODE_CON0, 6, 15, 0, rk3588_pll_rates), + [CPLL] = PLL(pll_rk3588, PLL_CPLL, RK3588_PLL_CON(104), + RK3588_MODE_CON0, 8, 15, 0, rk3588_pll_rates), + [GPLL] = PLL(pll_rk3588, PLL_GPLL, RK3588_PLL_CON(112), + RK3588_MODE_CON0, 2, 15, 0, rk3588_pll_rates), + [NPLL] = PLL(pll_rk3588, PLL_NPLL, RK3588_PLL_CON(120), + RK3588_MODE_CON0, 0, 15, 0, rk3588_pll_rates), + [PPLL] = PLL(pll_rk3588, PLL_PPLL, RK3588_PMU_PLL_CON(128), + RK3588_MODE_CON0, 10, 15, 0, rk3588_pll_rates), +}; +struct rk3588_clk_gate +{ + const char *name; + const char *parent_name; + + int offset; + int con_bit; +}; +#undef GATE +#define GATE(_id, _name, \ +_pname, _offset, _con_bit) \ +[_id] = \ +{ \ + .name = _name, \ + .parent_name = _pname, \ + .offset = _offset, \ + .con_bit = _con_bit, \ +} +static struct rk3588_clk_gate clk_gates[] = +{ + /* + * CRU Clock-Architecture + */ + /* fixed */ + + /* top */ + GATE(PCLK_MIPI_DCPHY0, "pclk_mipi_dcphy0", "pclk_top_root", RK3588_CLKGATE_CON(3), 14), + GATE(PCLK_MIPI_DCPHY1, "pclk_mipi_dcphy1", "pclk_top_root", RK3588_CLKGATE_CON(4), 3), + GATE(PCLK_CSIPHY0, "pclk_csiphy0", "pclk_top_root", RK3588_CLKGATE_CON(1), 6), + GATE(PCLK_CSIPHY1, "pclk_csiphy1", "pclk_top_root", RK3588_CLKGATE_CON(1), 8), + GATE(PCLK_CRU, "pclk_cru", "pclk_top_root", RK3588_CLKGATE_CON(5), 0), + + /* bigcore0 */ + GATE(PCLK_BIGCORE0_PVTM, "pclk_bigcore0_pvtm", "pclk_bigcore0_root", RK3588_BIGCORE0_CLKGATE_CON(1), 0), + GATE(CLK_BIGCORE0_PVTM, "clk_bigcore0_pvtm", "xin24m", RK3588_BIGCORE0_CLKGATE_CON(0), 12), + GATE(CLK_CORE_BIGCORE0_PVTM, "clk_core_bigcore0_pvtm", "armclk_b01", RK3588_BIGCORE0_CLKGATE_CON(0), 13), + + /* bigcore1 */ + GATE(PCLK_BIGCORE1_PVTM, "pclk_bigcore1_pvtm", "pclk_bigcore1_root", RK3588_BIGCORE1_CLKGATE_CON(1), 0), + GATE(CLK_BIGCORE1_PVTM, "clk_bigcore1_pvtm", "xin24m", RK3588_BIGCORE1_CLKGATE_CON(0), 12), + GATE(CLK_CORE_BIGCORE1_PVTM, "clk_core_bigcore1_pvtm", "armclk_b23", RK3588_BIGCORE1_CLKGATE_CON(0), 13), + + /* dsu */ + GATE(PCLK_LITCORE_PVTM, "pclk_litcore_pvtm", "pclk_dsu_ns_root", RK3588_DSU_CLKGATE_CON(2), 6), + GATE(PCLK_DBG, "pclk_dbg", "pclk_dsu_root", RK3588_DSU_CLKGATE_CON(1), 7), + GATE(PCLK_DSU, "pclk_dsu", "pclk_dsu_root", RK3588_DSU_CLKGATE_CON(1), 6), + GATE(PCLK_S_DAPLITE, "pclk_s_daplite", "pclk_dsu_ns_root", RK3588_DSU_CLKGATE_CON(1), 8), + GATE(PCLK_M_DAPLITE, "pclk_m_daplite", "pclk_dsu_root", RK3588_DSU_CLKGATE_CON(1), 9), + GATE(CLK_LITCORE_PVTM, "clk_litcore_pvtm", "xin24m", RK3588_DSU_CLKGATE_CON(2), 0), + GATE(CLK_CORE_LITCORE_PVTM, "clk_core_litcore_pvtm", "armclk_l", RK3588_DSU_CLKGATE_CON(2), 1), + + /* audio */ + GATE(HCLK_I2S2_2CH, "hclk_i2s2_2ch", "hclk_audio_root", RK3588_CLKGATE_CON(7), 12), + GATE(HCLK_I2S3_2CH, "hclk_i2s3_2ch", "hclk_audio_root", RK3588_CLKGATE_CON(7), 13), + GATE(MCLK_I2S2_2CH, "mclk_i2s2_2ch", "clk_i2s2_2ch", RK3588_CLKGATE_CON(8), 0), + GATE(MCLK_I2S3_2CH, "mclk_i2s3_2ch", "clk_i2s3_2ch", RK3588_CLKGATE_CON(8), 3), + GATE(CLK_DAC_ACDCDIG, "clk_dac_acdcdig", "mclk_i2s3_2ch", RK3588_CLKGATE_CON(8), 4), + GATE(PCLK_ACDCDIG, "pclk_acdcdig", "pclk_audio_root", RK3588_CLKGATE_CON(7), 11), + GATE(HCLK_I2S0_8CH, "hclk_i2s0_8ch", "hclk_audio_root", RK3588_CLKGATE_CON(7), 4), + + GATE(MCLK_I2S0_8CH_TX, "mclk_i2s0_8ch_tx", "clk_i2s0_8ch_tx", RK3588_CLKGATE_CON(7), 7), + + GATE(MCLK_I2S0_8CH_RX, "mclk_i2s0_8ch_rx", "clk_i2s0_8ch_rx", RK3588_CLKGATE_CON(7), 10), + + GATE(HCLK_PDM1, "hclk_pdm1", "hclk_audio_root", RK3588_CLKGATE_CON(9), 6), + + GATE(HCLK_SPDIF0, "hclk_spdif0", "hclk_audio_root", RK3588_CLKGATE_CON(8), 14), + GATE(MCLK_SPDIF0, "mclk_spdif0", "clk_spdif0", RK3588_CLKGATE_CON(9), 1), + + GATE(HCLK_SPDIF1, "hclk_spdif1", "hclk_audio_root", RK3588_CLKGATE_CON(9), 2), + GATE(MCLK_SPDIF1, "mclk_spdif1", "clk_spdif1", RK3588_CLKGATE_CON(9), 5), + + /* bus */ + GATE(PCLK_MAILBOX0, "pclk_mailbox0", "pclk_top_root", RK3588_CLKGATE_CON(16), 11), + GATE(PCLK_MAILBOX1, "pclk_mailbox1", "pclk_top_root", RK3588_CLKGATE_CON(16), 12), + GATE(PCLK_MAILBOX2, "pclk_mailbox2", "pclk_top_root", RK3588_CLKGATE_CON(16), 13), + GATE(PCLK_PMU2, "pclk_pmu2", "pclk_top_root", RK3588_CLKGATE_CON(19), 3), + GATE(PCLK_PMUCM0_INTMUX, "pclk_pmucm0_intmux", "pclk_top_root", RK3588_CLKGATE_CON(19), 4), + GATE(PCLK_DDRCM0_INTMUX, "pclk_ddrcm0_intmux", "pclk_top_root", RK3588_CLKGATE_CON(19), 5), + + GATE(PCLK_PWM1, "pclk_pwm1", "pclk_top_root", RK3588_CLKGATE_CON(15), 3), + GATE(CLK_PWM1_CAPTURE, "clk_pwm1_capture", "xin24m", RK3588_CLKGATE_CON(15), 5), + GATE(PCLK_PWM2, "pclk_pwm2", "pclk_top_root", RK3588_CLKGATE_CON(15), 6), + GATE(CLK_PWM2_CAPTURE, "clk_pwm2_capture", "xin24m", RK3588_CLKGATE_CON(15), 8), + GATE(PCLK_PWM3, "pclk_pwm3", "pclk_top_root", RK3588_CLKGATE_CON(15), 9), + GATE(CLK_PWM3_CAPTURE, "clk_pwm3_capture", "xin24m", RK3588_CLKGATE_CON(15), 11), + + GATE(PCLK_BUSTIMER0, "pclk_bustimer0", "pclk_top_root", RK3588_CLKGATE_CON(15), 12), + GATE(PCLK_BUSTIMER1, "pclk_bustimer1", "pclk_top_root", RK3588_CLKGATE_CON(15), 13), + GATE(CLK_BUSTIMER0, "clk_bustimer0", "clk_bus_timer_root", RK3588_CLKGATE_CON(15), 15), + GATE(CLK_BUSTIMER1, "clk_bustimer1", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 0), + GATE(CLK_BUSTIMER2, "clk_bustimer2", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 1), + GATE(CLK_BUSTIMER3, "clk_bustimer3", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 2), + GATE(CLK_BUSTIMER4, "clk_bustimer4", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 3), + GATE(CLK_BUSTIMER5, "clk_bustimer5", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 4), + GATE(CLK_BUSTIMER6, "clk_bustimer6", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 5), + GATE(CLK_BUSTIMER7, "clk_bustimer7", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 6), + GATE(CLK_BUSTIMER8, "clk_bustimer8", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 7), + GATE(CLK_BUSTIMER9, "clk_bustimer9", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 8), + GATE(CLK_BUSTIMER10, "clk_bustimer10", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 9), + GATE(CLK_BUSTIMER11, "clk_bustimer11", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 10), + + GATE(PCLK_WDT0, "pclk_wdt0", "pclk_top_root", RK3588_CLKGATE_CON(15), 0), + GATE(TCLK_WDT0, "tclk_wdt0", "xin24m", RK3588_CLKGATE_CON(15), 1), + + GATE(PCLK_CAN0, "pclk_can0", "pclk_top_root", RK3588_CLKGATE_CON(11), 8), + GATE(CLK_CAN0, "clk_can0", "gpll_cpll_p", RK3588_CLKGATE_CON(11), 9), + GATE(PCLK_CAN1, "pclk_can1", "pclk_top_root", RK3588_CLKGATE_CON(11), 10), + GATE(CLK_CAN1, "clk_can1", "gpll_cpll_p", RK3588_CLKGATE_CON(11), 11), + GATE(PCLK_CAN2, "pclk_can2", "pclk_top_root", RK3588_CLKGATE_CON(11), 12), + GATE(CLK_CAN2, "clk_can2", "gpll_cpll_p", RK3588_CLKGATE_CON(11), 13), + + GATE(ACLK_DECOM, "aclk_decom", "aclk_bus_root", RK3588_CLKGATE_CON(17), 6), + GATE(PCLK_DECOM, "pclk_decom", "pclk_top_root", RK3588_CLKGATE_CON(17), 7), + GATE(DCLK_DECOM, "dclk_decom", "gpll_spll_p", RK3588_CLKGATE_CON(17), 8), + GATE(ACLK_DMAC0, "aclk_dmac0", "aclk_bus_root", RK3588_CLKGATE_CON(10), 5), + GATE(ACLK_DMAC1, "aclk_dmac1", "aclk_bus_root", RK3588_CLKGATE_CON(10), 6), + GATE(ACLK_DMAC2, "aclk_dmac2", "aclk_bus_root", RK3588_CLKGATE_CON(10), 7), + GATE(ACLK_GIC, "aclk_gic", "aclk_bus_root", RK3588_CLKGATE_CON(10), 3), + + GATE(PCLK_GPIO1, "pclk_gpio1", "pclk_top_root", RK3588_CLKGATE_CON(16), 14), + GATE(DBCLK_GPIO1, "dbclk_gpio1", "mux_24m_32k_p", RK3588_CLKGATE_CON(16), 15), + GATE(PCLK_GPIO2, "pclk_gpio2", "pclk_top_root", RK3588_CLKGATE_CON(17), 0), + GATE(DBCLK_GPIO2, "dbclk_gpio2", "mux_24m_32k_p", RK3588_CLKGATE_CON(17), 1), + GATE(PCLK_GPIO3, "pclk_gpio3", "pclk_top_root", RK3588_CLKGATE_CON(17), 2), + GATE(DBCLK_GPIO3, "dbclk_gpio3", "mux_24m_32k_p", RK3588_CLKGATE_CON(17), 3), + GATE(PCLK_GPIO4, "pclk_gpio4", "pclk_top_root", RK3588_CLKGATE_CON(17), 4), + GATE(DBCLK_GPIO4, "dbclk_gpio4", "mux_24m_32k_p", RK3588_CLKGATE_CON(17), 5), + + GATE(PCLK_I2C1, "pclk_i2c1", "pclk_top_root", RK3588_CLKGATE_CON(10), 8), + GATE(PCLK_I2C2, "pclk_i2c2", "pclk_top_root", RK3588_CLKGATE_CON(10), 9), + GATE(PCLK_I2C3, "pclk_i2c3", "pclk_top_root", RK3588_CLKGATE_CON(10), 10), + GATE(PCLK_I2C4, "pclk_i2c4", "pclk_top_root", RK3588_CLKGATE_CON(10), 11), + GATE(PCLK_I2C5, "pclk_i2c5", "pclk_top_root", RK3588_CLKGATE_CON(10), 12), + GATE(PCLK_I2C6, "pclk_i2c6", "pclk_top_root", RK3588_CLKGATE_CON(10), 13), + GATE(PCLK_I2C7, "pclk_i2c7", "pclk_top_root", RK3588_CLKGATE_CON(10), 14), + GATE(PCLK_I2C8, "pclk_i2c8", "pclk_top_root", RK3588_CLKGATE_CON(10), 15), + GATE(CLK_I2C1, "clk_i2c1", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 0), + GATE(CLK_I2C2, "clk_i2c2", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 1), + GATE(CLK_I2C3, "clk_i2c3", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 2), + GATE(CLK_I2C4, "clk_i2c4", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 3), + GATE(CLK_I2C5, "clk_i2c5", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 4), + GATE(CLK_I2C6, "clk_i2c6", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 5), + GATE(CLK_I2C7, "clk_i2c7", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 6), + GATE(CLK_I2C8, "clk_i2c8", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 7), + + GATE(PCLK_OTPC_NS, "pclk_otpc_ns", "pclk_top_root", RK3588_CLKGATE_CON(18), 9), + GATE(CLK_OTPC_NS, "clk_otpc_ns", "xin24m", RK3588_CLKGATE_CON(18), 10), + GATE(CLK_OTPC_ARB, "clk_otpc_arb", "xin24m", RK3588_CLKGATE_CON(18), 11), + GATE(CLK_OTP_PHY_G, "clk_otp_phy_g", "xin24m", RK3588_CLKGATE_CON(18), 13), + GATE(CLK_OTPC_AUTO_RD_G, "clk_otpc_auto_rd_g", "xin24m", RK3588_CLKGATE_CON(18), 12), + + GATE(PCLK_SARADC, "pclk_saradc", "pclk_top_root", RK3588_CLKGATE_CON(11), 14), + GATE(CLK_SARADC, "clk_saradc", "gpll_24m_p", RK3588_CLKGATE_CON(11), 15), + + GATE(PCLK_SPI0, "pclk_spi0", "pclk_top_root", RK3588_CLKGATE_CON(14), 6), + GATE(PCLK_SPI1, "pclk_spi1", "pclk_top_root", RK3588_CLKGATE_CON(14), 7), + GATE(PCLK_SPI2, "pclk_spi2", "pclk_top_root", RK3588_CLKGATE_CON(14), 8), + GATE(PCLK_SPI3, "pclk_spi3", "pclk_top_root", RK3588_CLKGATE_CON(14), 9), + GATE(PCLK_SPI4, "pclk_spi4", "pclk_top_root", RK3588_CLKGATE_CON(14), 10), + GATE(CLK_SPI0, "clk_spi0", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 11), + GATE(CLK_SPI1, "clk_spi1", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 12), + GATE(CLK_SPI2, "clk_spi2", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 13), + GATE(CLK_SPI3, "clk_spi3", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 14), + GATE(CLK_SPI4, "clk_spi4", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 15), + + GATE(ACLK_SPINLOCK, "aclk_spinlock", "aclk_bus_root", RK3588_CLKGATE_CON(18), 6), + GATE(PCLK_TSADC, "pclk_tsadc", "pclk_top_root", RK3588_CLKGATE_CON(12), 0), + GATE(CLK_TSADC, "clk_tsadc", "gpll_24m_p", RK3588_CLKGATE_CON(12), 1), + + GATE(PCLK_UART1, "pclk_uart1", "pclk_top_root", RK3588_CLKGATE_CON(12), 2), + GATE(PCLK_UART2, "pclk_uart2", "pclk_top_root", RK3588_CLKGATE_CON(12), 3), + GATE(PCLK_UART3, "pclk_uart3", "pclk_top_root", RK3588_CLKGATE_CON(12), 4), + GATE(PCLK_UART4, "pclk_uart4", "pclk_top_root", RK3588_CLKGATE_CON(12), 5), + GATE(PCLK_UART5, "pclk_uart5", "pclk_top_root", RK3588_CLKGATE_CON(12), 6), + GATE(PCLK_UART6, "pclk_uart6", "pclk_top_root", RK3588_CLKGATE_CON(12), 7), + GATE(PCLK_UART7, "pclk_uart7", "pclk_top_root", RK3588_CLKGATE_CON(12), 8), + GATE(PCLK_UART8, "pclk_uart8", "pclk_top_root", RK3588_CLKGATE_CON(12), 9), + GATE(PCLK_UART9, "pclk_uart9", "pclk_top_root", RK3588_CLKGATE_CON(12), 10), + + GATE(CLK_UART1_SRC, "clk_uart1_src", "gpll_cpll_p", RK3588_CLKGATE_CON(12), 11), + GATE(CLK_UART1_FRAC, "clk_uart1_frac", "clk_uart1_src", RK3588_CLKGATE_CON(12), 12), + GATE(SCLK_UART1, "sclk_uart1", "clk_uart1", RK3588_CLKGATE_CON(12), 13), + GATE(CLK_UART2_SRC, "clk_uart2_src", "gpll_cpll_p", RK3588_CLKGATE_CON(12), 14), + GATE(CLK_UART2_FRAC, "clk_uart2_frac", "clk_uart2_src", RK3588_CLKGATE_CON(12), 15), + GATE(SCLK_UART2, "sclk_uart2", "clk_uart2", RK3588_CLKGATE_CON(13), 0), + GATE(CLK_UART3_SRC, "clk_uart3_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 1), + GATE(CLK_UART3_FRAC, "clk_uart3_frac", "clk_uart3_src", RK3588_CLKGATE_CON(13), 2), + GATE(SCLK_UART3, "sclk_uart3", "clk_uart3", RK3588_CLKGATE_CON(13), 3), + GATE(CLK_UART4_SRC, "clk_uart4_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 4), + GATE(CLK_UART4_FRAC, "clk_uart4_frac", "clk_uart4_src", RK3588_CLKGATE_CON(13), 5), + GATE(SCLK_UART4, "sclk_uart4", "clk_uart4", RK3588_CLKGATE_CON(13), 6), + GATE(CLK_UART5_SRC, "clk_uart5_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 7), + GATE(CLK_UART5_FRAC, "clk_uart5_frac", "clk_uart5_src", RK3588_CLKGATE_CON(13), 8), + GATE(SCLK_UART5, "sclk_uart5", "clk_uart5", RK3588_CLKGATE_CON(13), 9), + GATE(CLK_UART6_SRC, "clk_uart6_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 10), + GATE(CLK_UART6_FRAC, "clk_uart6_frac", "clk_uart6_src", RK3588_CLKGATE_CON(13), 11), + GATE(SCLK_UART6, "sclk_uart6", "clk_uart6", RK3588_CLKGATE_CON(13), 12), + GATE(CLK_UART7_SRC, "clk_uart7_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 13), + GATE(CLK_UART7_FRAC, "clk_uart7_frac", "clk_uart7_src", RK3588_CLKGATE_CON(13), 14), + GATE(SCLK_UART7, "sclk_uart7", "clk_uart7", RK3588_CLKGATE_CON(13), 15), + GATE(CLK_UART8_SRC, "clk_uart8_src", "gpll_cpll_p", RK3588_CLKGATE_CON(14), 0), + GATE(CLK_UART8_FRAC, "clk_uart8_frac", "clk_uart8_src", RK3588_CLKGATE_CON(14), 1), + GATE(SCLK_UART8, "sclk_uart8", "clk_uart8", RK3588_CLKGATE_CON(14), 2), + GATE(CLK_UART9_SRC, "clk_uart9_src", "gpll_cpll_p", RK3588_CLKGATE_CON(14), 3), + GATE(CLK_UART9_FRAC, "clk_uart9_frac", "clk_uart9_src", RK3588_CLKGATE_CON(14), 4), + GATE(SCLK_UART9, "sclk_uart9", "clk_uart9", RK3588_CLKGATE_CON(14), 5), + + /* center */ + GATE(ACLK_DMA2DDR, "aclk_dma2ddr", "aclk_center_root", RK3588_CLKGATE_CON(69), 5), + GATE(ACLK_DDR_SHAREMEM, "aclk_ddr_sharemem", "aclk_center_low_root", RK3588_CLKGATE_CON(69), 6), + GATE(FCLK_DDR_CM0_CORE, "fclk_ddr_cm0_core", "hclk_center_root", RK3588_CLKGATE_CON(69), 14), + GATE(CLK_DDR_TIMER0, "clk_ddr_timer0", "clk_ddr_timer_root", RK3588_CLKGATE_CON(70), 0), + GATE(CLK_DDR_TIMER1, "clk_ddr_timer1", "clk_ddr_timer_root", RK3588_CLKGATE_CON(70), 1), + GATE(TCLK_WDT_DDR, "tclk_wdt_ddr", "xin24m", RK3588_CLKGATE_CON(70), 2), + GATE(PCLK_WDT, "pclk_wdt", "pclk_center_root", RK3588_CLKGATE_CON(70), 7), + GATE(PCLK_TIMER, "pclk_timer", "pclk_center_root", RK3588_CLKGATE_CON(70), 8), + GATE(PCLK_DMA2DDR, "pclk_dma2ddr", "pclk_center_root", RK3588_CLKGATE_CON(70), 9), + GATE(PCLK_SHAREMEM, "pclk_sharemem", "pclk_center_root", RK3588_CLKGATE_CON(70), 10), + + /* gpu */ + GATE(CLK_GPU, "clk_gpu", "clk_gpu_src", RK3588_CLKGATE_CON(66), 4), + GATE(CLK_GPU_COREGROUP, "clk_gpu_coregroup", "clk_gpu_src", RK3588_CLKGATE_CON(66), 6), + GATE(CLK_GPU_PVTM, "clk_gpu_pvtm", "xin24m", RK3588_CLKGATE_CON(67), 0), + GATE(CLK_CORE_GPU_PVTM, "clk_core_gpu_pvtm", "clk_gpu_src", RK3588_CLKGATE_CON(67), 1), + + /* isp1 */ + GATE(CLK_ISP1_CORE_MARVIN, "clk_isp1_core_marvin", "clk_isp1_core", RK3588_CLKGATE_CON(26), 3), + GATE(CLK_ISP1_CORE_VICAP, "clk_isp1_core_vicap", "clk_isp1_core", RK3588_CLKGATE_CON(26), 4), + + /* npu */ + GATE(ACLK_NPU1, "aclk_npu1", "clk_npu_dsu0", RK3588_CLKGATE_CON(27), 0), + GATE(HCLK_NPU1, "hclk_npu1", "hclk_npu_root", RK3588_CLKGATE_CON(27), 2), + GATE(ACLK_NPU2, "aclk_npu2", "clk_npu_dsu0", RK3588_CLKGATE_CON(28), 0), + GATE(HCLK_NPU2, "hclk_npu2", "hclk_npu_root", RK3588_CLKGATE_CON(28), 2), + GATE(FCLK_NPU_CM0_CORE, "fclk_npu_cm0_core", "hclk_npu_cm0_root", RK3588_CLKGATE_CON(30), 3), + GATE(PCLK_NPU_PVTM, "pclk_npu_pvtm", "pclk_npu_root", RK3588_CLKGATE_CON(29), 12), + GATE(PCLK_NPU_GRF, "pclk_npu_grf", "pclk_npu_root", RK3588_CLKGATE_CON(29), 13), + GATE(CLK_NPU_PVTM, "clk_npu_pvtm", "xin24m", RK3588_CLKGATE_CON(29), 14), + GATE(CLK_CORE_NPU_PVTM, "clk_core_npu_pvtm", "clk_npu_dsu0", RK3588_CLKGATE_CON(29), 15), + GATE(ACLK_NPU0, "aclk_npu0", "clk_npu_dsu0", RK3588_CLKGATE_CON(30), 6), + GATE(HCLK_NPU0, "hclk_npu0", "hclk_npu_root", RK3588_CLKGATE_CON(30), 8), + GATE(PCLK_NPU_TIMER, "pclk_npu_timer", "pclk_npu_root", RK3588_CLKGATE_CON(29), 6), + GATE(CLK_NPUTIMER0, "clk_nputimer0", "clk_nputimer_root", RK3588_CLKGATE_CON(29), 8), + GATE(CLK_NPUTIMER1, "clk_nputimer1", "clk_nputimer_root", RK3588_CLKGATE_CON(29), 9), + GATE(PCLK_NPU_WDT, "pclk_npu_wdt", "pclk_npu_root", RK3588_CLKGATE_CON(29), 10), + GATE(TCLK_NPU_WDT, "tclk_npu_wdt", "xin24m", RK3588_CLKGATE_CON(29), 11), + + /* nvm */ + GATE(ACLK_EMMC, "aclk_emmc", "aclk_nvm_root", RK3588_CLKGATE_CON(31), 5), + GATE(TMCLK_EMMC, "tmclk_emmc", "xin24m", RK3588_CLKGATE_CON(31), 8), + + + /* php */ + GATE(ACLK_PHP_GIC_ITS, "aclk_php_gic_its", "aclk_pcie_root", RK3588_CLKGATE_CON(34), 6), + GATE(ACLK_PCIE_BRIDGE, "aclk_pcie_bridge", "aclk_pcie_root", RK3588_CLKGATE_CON(32), 8), + GATE(ACLK_MMU_PCIE, "aclk_mmu_pcie", "aclk_pcie_bridge", RK3588_CLKGATE_CON(34), 7), + GATE(ACLK_MMU_PHP, "aclk_mmu_php", "aclk_php_root", RK3588_CLKGATE_CON(34), 8), + GATE(ACLK_PCIE_4L_DBI, "aclk_pcie_4l_dbi", "aclk_php_root", RK3588_CLKGATE_CON(32), 13), + GATE(ACLK_PCIE_2L_DBI, "aclk_pcie_2l_dbi", "aclk_php_root", RK3588_CLKGATE_CON(32), 14), + GATE(ACLK_PCIE_1L0_DBI, "aclk_pcie_1l0_dbi", "aclk_php_root", RK3588_CLKGATE_CON(32), 15), + GATE(ACLK_PCIE_1L1_DBI, "aclk_pcie_1l1_dbi", "aclk_php_root", RK3588_CLKGATE_CON(33), 0), + GATE(ACLK_PCIE_1L2_DBI, "aclk_pcie_1l2_dbi", "aclk_php_root", RK3588_CLKGATE_CON(33), 1), + GATE(ACLK_PCIE_4L_MSTR, "aclk_pcie_4l_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 2), + GATE(ACLK_PCIE_2L_MSTR, "aclk_pcie_2l_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 3), + GATE(ACLK_PCIE_1L0_MSTR, "aclk_pcie_1l0_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 4), + GATE(ACLK_PCIE_1L1_MSTR, "aclk_pcie_1l1_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 5), + GATE(ACLK_PCIE_1L2_MSTR, "aclk_pcie_1l2_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 6), + GATE(ACLK_PCIE_4L_SLV, "aclk_pcie_4l_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 7), + GATE(ACLK_PCIE_2L_SLV, "aclk_pcie_2l_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 8), + GATE(ACLK_PCIE_1L0_SLV, "aclk_pcie_1l0_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 9), + GATE(ACLK_PCIE_1L1_SLV, "aclk_pcie_1l1_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 10), + GATE(ACLK_PCIE_1L2_SLV, "aclk_pcie_1l2_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 11), + GATE(PCLK_PCIE_4L, "pclk_pcie_4l", "pclk_php_root", RK3588_CLKGATE_CON(33), 12), + GATE(PCLK_PCIE_2L, "pclk_pcie_2l", "pclk_php_root", RK3588_CLKGATE_CON(33), 13), + GATE(PCLK_PCIE_1L0, "pclk_pcie_1l0", "pclk_php_root", RK3588_CLKGATE_CON(33), 14), + GATE(PCLK_PCIE_1L1, "pclk_pcie_1l1", "pclk_php_root", RK3588_CLKGATE_CON(33), 15), + GATE(PCLK_PCIE_1L2, "pclk_pcie_1l2", "pclk_php_root", RK3588_CLKGATE_CON(34), 0), + GATE(CLK_PCIE_AUX0, "clk_pcie_aux0", "xin24m", RK3588_CLKGATE_CON(34), 1), + GATE(CLK_PCIE_AUX1, "clk_pcie_aux1", "xin24m", RK3588_CLKGATE_CON(34), 2), + GATE(CLK_PCIE_AUX2, "clk_pcie_aux2", "xin24m", RK3588_CLKGATE_CON(34), 3), + GATE(CLK_PCIE_AUX3, "clk_pcie_aux3", "xin24m", RK3588_CLKGATE_CON(34), 4), + GATE(CLK_PCIE_AUX4, "clk_pcie_aux4", "xin24m", RK3588_CLKGATE_CON(34), 5), + GATE(CLK_PIPEPHY0_REF, "clk_pipephy0_ref", "xin24m", RK3588_CLKGATE_CON(37), 0), + GATE(CLK_PIPEPHY1_REF, "clk_pipephy1_ref", "xin24m", RK3588_CLKGATE_CON(37), 1), + GATE(CLK_PIPEPHY2_REF, "clk_pipephy2_ref", "xin24m", RK3588_CLKGATE_CON(37), 2), + GATE(PCLK_GMAC0, "pclk_gmac0", "pclk_php_root", RK3588_CLKGATE_CON(32), 3), + GATE(PCLK_GMAC1, "pclk_gmac1", "pclk_php_root", RK3588_CLKGATE_CON(32), 4), + GATE(ACLK_GMAC0, "aclk_gmac0", "aclk_mmu_php", RK3588_CLKGATE_CON(32), 10), + GATE(ACLK_GMAC1, "aclk_gmac1", "aclk_mmu_php", RK3588_CLKGATE_CON(32), 11), + GATE(CLK_PMALIVE0, "clk_pmalive0", "xin24m", RK3588_CLKGATE_CON(37), 4), + GATE(CLK_PMALIVE1, "clk_pmalive1", "xin24m", RK3588_CLKGATE_CON(37), 5), + GATE(CLK_PMALIVE2, "clk_pmalive2", "xin24m", RK3588_CLKGATE_CON(37), 6), + GATE(ACLK_SATA0, "aclk_sata0", "aclk_mmu_php", RK3588_CLKGATE_CON(37), 7), + GATE(ACLK_SATA1, "aclk_sata1", "aclk_mmu_php", RK3588_CLKGATE_CON(37), 8), + GATE(ACLK_SATA2, "aclk_sata2", "aclk_mmu_php", RK3588_CLKGATE_CON(37), 9), + GATE(ACLK_USB3OTG2, "aclk_usb3otg2", "aclk_mmu_php", RK3588_CLKGATE_CON(35), 7), + GATE(SUSPEND_CLK_USB3OTG2, "suspend_clk_usb3otg2", "xin24m", RK3588_CLKGATE_CON(35), 8), + GATE(REF_CLK_USB3OTG2, "ref_clk_usb3otg2", "xin24m", RK3588_CLKGATE_CON(35), 9), + GATE(PCLK_PCIE_COMBO_PIPE_PHY0, "pclk_pcie_combo_pipe_phy0", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 5), + GATE(PCLK_PCIE_COMBO_PIPE_PHY1, "pclk_pcie_combo_pipe_phy1", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 6), + GATE(PCLK_PCIE_COMBO_PIPE_PHY2, "pclk_pcie_combo_pipe_phy2", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 7), + GATE(PCLK_PCIE_COMBO_PIPE_PHY, "pclk_pcie_combo_pipe_phy", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 8), + + /* rga */ + GATE(HCLK_RGA3_1, "hclk_rga3_1", "hclk_rga3_root", RK3588_CLKGATE_CON(76), 4), + GATE(ACLK_RGA3_1, "aclk_rga3_1", "aclk_rga3_root", RK3588_CLKGATE_CON(76), 5), + + /* vdec */ + GATE(SUSPEND_CLK_USB3OTG0, "suspend_clk_usb3otg0", "xin24m", RK3588_CLKGATE_CON(42), 5), + GATE(REF_CLK_USB3OTG0, "ref_clk_usb3otg0", "xin24m", RK3588_CLKGATE_CON(42), 6), + GATE(SUSPEND_CLK_USB3OTG1, "suspend_clk_usb3otg1", "xin24m", RK3588_CLKGATE_CON(42), 8), + GATE(REF_CLK_USB3OTG1, "ref_clk_usb3otg1", "xin24m", RK3588_CLKGATE_CON(42), 9), + + /* vdpu */ + GATE(HCLK_IEP2P0, "hclk_iep2p0", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 4), + GATE(HCLK_JPEG_ENCODER0, "hclk_jpeg_encoder0", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 11), + GATE(HCLK_JPEG_ENCODER1, "hclk_jpeg_encoder1", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 13), + GATE(HCLK_JPEG_ENCODER2, "hclk_jpeg_encoder2", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 15), + GATE(HCLK_JPEG_ENCODER3, "hclk_jpeg_encoder3", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 1), + GATE(HCLK_JPEG_DECODER, "hclk_jpeg_decoder", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 3), + GATE(HCLK_RGA2, "hclk_rga2", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 7), + GATE(ACLK_RGA2, "aclk_rga2", "aclk_vdpu_root", RK3588_CLKGATE_CON(45), 8), + GATE(HCLK_RGA3_0, "hclk_rga3_0", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 10), + GATE(ACLK_RGA3_0, "aclk_rga3_0", "aclk_vdpu_root", RK3588_CLKGATE_CON(45), 11), + GATE(HCLK_VPU, "hclk_vpu", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 9), + + /* venc */ + GATE(HCLK_RKVENC0, "hclk_rkvenc0", "hclk_rkvenc0_root", RK3588_CLKGATE_CON(47), 4), + GATE(ACLK_RKVENC0, "aclk_rkvenc0", "aclk_rkvenc0_root", RK3588_CLKGATE_CON(47), 5), + + /* vi */ + GATE(ICLK_CSIHOST0, "iclk_csihost0", "iclk_csihost01", RK3588_CLKGATE_CON(51), 11), + GATE(ICLK_CSIHOST1, "iclk_csihost1", "iclk_csihost01", RK3588_CLKGATE_CON(51), 12), + GATE(PCLK_CSI_HOST_0, "pclk_csi_host_0", "pclk_vi_root", RK3588_CLKGATE_CON(50), 4), + GATE(PCLK_CSI_HOST_1, "pclk_csi_host_1", "pclk_vi_root", RK3588_CLKGATE_CON(50), 5), + GATE(PCLK_CSI_HOST_2, "pclk_csi_host_2", "pclk_vi_root", RK3588_CLKGATE_CON(50), 6), + GATE(PCLK_CSI_HOST_3, "pclk_csi_host_3", "pclk_vi_root", RK3588_CLKGATE_CON(50), 7), + GATE(PCLK_CSI_HOST_4, "pclk_csi_host_4", "pclk_vi_root", RK3588_CLKGATE_CON(50), 8), + GATE(PCLK_CSI_HOST_5, "pclk_csi_host_5", "pclk_vi_root", RK3588_CLKGATE_CON(50), 9), + GATE(ACLK_FISHEYE0, "aclk_fisheye0", "aclk_vi_root", RK3588_CLKGATE_CON(49), 14), + GATE(HCLK_FISHEYE0, "hclk_fisheye0", "hclk_vi_root", RK3588_CLKGATE_CON(49), 15), + GATE(ACLK_FISHEYE1, "aclk_fisheye1", "aclk_vi_root", RK3588_CLKGATE_CON(50), 1), + GATE(HCLK_FISHEYE1, "hclk_fisheye1", "hclk_vi_root", RK3588_CLKGATE_CON(50), 2), + GATE(CLK_ISP0_CORE_MARVIN, "clk_isp0_core_marvin", "clk_isp0_core", RK3588_CLKGATE_CON(49), 10), + GATE(CLK_ISP0_CORE_VICAP, "clk_isp0_core_vicap", "clk_isp0_core", RK3588_CLKGATE_CON(49), 11), + GATE(ACLK_ISP0, "aclk_isp0", "aclk_vi_root", RK3588_CLKGATE_CON(49), 12), + GATE(HCLK_ISP0, "hclk_isp0", "hclk_vi_root", RK3588_CLKGATE_CON(49), 13), + GATE(ACLK_VICAP, "aclk_vicap", "aclk_vi_root", RK3588_CLKGATE_CON(49), 7), + GATE(HCLK_VICAP, "hclk_vicap", "hclk_vi_root", RK3588_CLKGATE_CON(49), 8), + + /* vo0 */ + GATE(PCLK_DP0, "pclk_dp0", "pclk_vo0_root", RK3588_CLKGATE_CON(56), 4), + GATE(PCLK_DP1, "pclk_dp1", "pclk_vo0_root", RK3588_CLKGATE_CON(56), 5), + GATE(PCLK_S_DP0, "pclk_s_dp0", "pclk_vo0_s_root", RK3588_CLKGATE_CON(56), 6), + GATE(PCLK_S_DP1, "pclk_s_dp1", "pclk_vo0_s_root", RK3588_CLKGATE_CON(56), 7), + GATE(CLK_DP0, "clk_dp0", "aclk_vo0_root", RK3588_CLKGATE_CON(56), 8), + GATE(CLK_DP1, "clk_dp1", "aclk_vo0_root", RK3588_CLKGATE_CON(56), 9), + GATE(HCLK_HDCP_KEY0, "hclk_hdcp_key0", "hclk_vo0_s_root", RK3588_CLKGATE_CON(55), 11), + GATE(PCLK_HDCP0, "pclk_hdcp0", "pclk_vo0_root", RK3588_CLKGATE_CON(55), 14), + GATE(ACLK_TRNG0, "aclk_trng0", "aclk_vo0_root", RK3588_CLKGATE_CON(56), 0), + GATE(PCLK_TRNG0, "pclk_trng0", "pclk_vo0_root", RK3588_CLKGATE_CON(56), 1), + GATE(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", RK3588_CLKGATE_CON(55), 10), + GATE(MCLK_I2S4_8CH_TX, "mclk_i2s4_8ch_tx", "clk_i2s4_8ch_tx", RK3588_CLKGATE_CON(56), 13), + GATE(MCLK_I2S8_8CH_TX, "mclk_i2s8_8ch_tx", "clk_i2s8_8ch_tx", RK3588_CLKGATE_CON(57), 1), + GATE(MCLK_SPDIF2_DP0, "mclk_spdif2_dp0", "clk_spdif2_dp0", RK3588_CLKGATE_CON(57), 5), + GATE(MCLK_SPDIF2, "mclk_spdif2", "clk_spdif2_dp0", RK3588_CLKGATE_CON(57), 6), + GATE(MCLK_SPDIF5_DP1, "mclk_spdif5_dp1", "clk_spdif5_dp1", RK3588_CLKGATE_CON(57), 10), + GATE(MCLK_SPDIF5, "mclk_spdif5", "clk_spdif5_dp1", RK3588_CLKGATE_CON(57), 11), + + /* vo1 */ + GATE(PCLK_EDP0, "pclk_edp0", "pclk_vo1_root", RK3588_CLKGATE_CON(62), 0), + GATE(CLK_EDP0_24M, "clk_edp0_24m", "xin24m", RK3588_CLKGATE_CON(62), 1), + GATE(PCLK_EDP1, "pclk_edp1", "pclk_vo1_root", RK3588_CLKGATE_CON(62), 3), + GATE(CLK_EDP1_24M, "clk_edp1_24m", "xin24m", RK3588_CLKGATE_CON(62), 4), + GATE(HCLK_HDCP_KEY1, "hclk_hdcp_key1", "hclk_vo1_s_root", RK3588_CLKGATE_CON(60), 4), + GATE(PCLK_HDCP1, "pclk_hdcp1", "pclk_vo1_root", RK3588_CLKGATE_CON(60), 7), + GATE(ACLK_HDMIRX, "aclk_hdmirx", "aclk_hdmirx_root", RK3588_CLKGATE_CON(61), 9), + GATE(PCLK_HDMIRX, "pclk_hdmirx", "pclk_vo1_root", RK3588_CLKGATE_CON(61), 10), + GATE(CLK_HDMIRX_REF, "clk_hdmirx_ref", "aclk_hdcp1_root", RK3588_CLKGATE_CON(61), 11), + GATE(CLK_HDMIRX_AUD, "clk_hdmirx_aud", "clk_hdmirx_aud_mux", RK3588_CLKGATE_CON(61), 14), + GATE(PCLK_HDMITX0, "pclk_hdmitx0", "pclk_vo1_root", RK3588_CLKGATE_CON(60), 11), + GATE(CLK_HDMITX0_REF, "clk_hdmitx0_ref", "aclk_hdcp1_root", RK3588_CLKGATE_CON(61), 0), + GATE(PCLK_HDMITX1, "pclk_hdmitx1", "pclk_vo1_root", RK3588_CLKGATE_CON(61), 2), + GATE(CLK_HDMITX1_REF, "clk_hdmitx1_ref", "aclk_hdcp1_root", RK3588_CLKGATE_CON(61), 7), + GATE(ACLK_TRNG1, "aclk_trng1", "aclk_hdcp1_root", RK3588_CLKGATE_CON(60), 9), + GATE(PCLK_TRNG1, "pclk_trng1", "pclk_vo1_root", RK3588_CLKGATE_CON(60), 10), + GATE(0, "pclk_vo1grf", "pclk_vo1_root", RK3588_CLKGATE_CON(59), 12), + GATE(PCLK_S_EDP0, "pclk_s_edp0", "pclk_vo1_s_root", RK3588_CLKGATE_CON(59), 14), + GATE(PCLK_S_EDP1, "pclk_s_edp1", "pclk_vo1_s_root", RK3588_CLKGATE_CON(59), 15), + GATE(PCLK_S_HDMIRX, "pclk_s_hdmirx", "pclk_vo1_s_root", RK3588_CLKGATE_CON(65), 8), + GATE(MCLK_I2S10_8CH_RX, "mclk_i2s10_8ch_rx", "clk_i2s10_8ch_rx", RK3588_CLKGATE_CON(65), 7), + GATE(MCLK_I2S7_8CH_RX, "mclk_i2s7_8ch_rx", "clk_i2s7_8ch_rx", RK3588_CLKGATE_CON(60), 3), + GATE(MCLK_I2S9_8CH_RX, "mclk_i2s9_8ch_rx", "clk_i2s9_8ch_rx", RK3588_CLKGATE_CON(65), 3), + GATE(MCLK_I2S5_8CH_TX, "mclk_i2s5_8ch_tx", "clk_i2s5_8ch_tx", RK3588_CLKGATE_CON(62), 8), + GATE(MCLK_I2S6_8CH_TX, "mclk_i2s6_8ch_tx", "clk_i2s6_8ch_tx", RK3588_CLKGATE_CON(62), 15), + GATE(MCLK_I2S6_8CH_RX, "mclk_i2s6_8ch_rx", "clk_i2s6_8ch_rx", RK3588_CLKGATE_CON(63), 2), + GATE(MCLK_SPDIF3, "mclk_spdif3", "clk_spdif3", RK3588_CLKGATE_CON(63), 7), + GATE(MCLK_SPDIF4, "mclk_spdif4", "clk_spdif4", RK3588_CLKGATE_CON(63), 11), + GATE(CLK_HDMIHDP0, "clk_hdmihdp0", "xin24m", RK3588_CLKGATE_CON(73), 12), + GATE(CLK_HDMIHDP1, "clk_hdmihdp1", "xin24m", RK3588_CLKGATE_CON(73), 13), + GATE(PCLK_HDPTX0, "pclk_hdptx0", "pclk_top_root", RK3588_CLKGATE_CON(72), 5), + GATE(PCLK_HDPTX1, "pclk_hdptx1", "pclk_top_root", RK3588_CLKGATE_CON(72), 6), + GATE(PCLK_USBDPPHY0, "pclk_usbdpphy0", "pclk_top_root", RK3588_CLKGATE_CON(72), 2), + GATE(PCLK_USBDPPHY1, "pclk_usbdpphy1", "pclk_top_root", RK3588_CLKGATE_CON(72), 4), + GATE(HCLK_VOP, "hclk_vop", "hclk_vop_root", RK3588_CLKGATE_CON(52), 8), + GATE(ACLK_VOP, "aclk_vop", "aclk_vop_sub_src", RK3588_CLKGATE_CON(52), 9), + GATE(PCLK_DSIHOST0, "pclk_dsihost0", "pclk_vop_root", RK3588_CLKGATE_CON(53), 4), + GATE(PCLK_DSIHOST1, "pclk_dsihost1", "pclk_vop_root", RK3588_CLKGATE_CON(53), 5), + GATE(CLK_VOP_PMU, "clk_vop_pmu", "xin24m", RK3588_CLKGATE_CON(53), 8), + GATE(ACLK_VOP_DOBY, "aclk_vop_doby", "aclk_vop_root", RK3588_CLKGATE_CON(53), 10), + GATE(CLK_USBDP_PHY0_IMMORTAL, "clk_usbdp_phy0_immortal", "xin24m", RK3588_CLKGATE_CON(2), 8), + GATE(CLK_USBDP_PHY1_IMMORTAL, "clk_usbdp_phy1_immortal", "xin24m", RK3588_CLKGATE_CON(2), 15), + + GATE(CLK_REF_PIPE_PHY0_OSC_SRC, "clk_ref_pipe_phy0_osc_src", "xin24m", RK3588_CLKGATE_CON(77), 0), + GATE(CLK_REF_PIPE_PHY1_OSC_SRC, "clk_ref_pipe_phy1_osc_src", "xin24m", RK3588_CLKGATE_CON(77), 1), + GATE(CLK_REF_PIPE_PHY2_OSC_SRC, "clk_ref_pipe_phy2_osc_src", "xin24m", RK3588_CLKGATE_CON(77), 2), + + /* pmu */ + GATE(PCLK_PMU0_ROOT, "pclk_pmu0_root", "pclk_pmu1_root", RK3588_PMU_CLKGATE_CON(5), 0), + GATE(CLK_PMU0, "clk_pmu0", "xin24m", RK3588_PMU_CLKGATE_CON(5), 1), + GATE(PCLK_PMU0, "pclk_pmu0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(5), 2), + GATE(PCLK_PMU0IOC, "pclk_pmu0ioc", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(5), 4), + GATE(PCLK_GPIO0, "pclk_gpio0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(5), 5), + GATE(PCLK_I2C0, "pclk_i2c0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(2), 1), + GATE(HCLK_I2S1_8CH, "hclk_i2s1_8ch", "hclk_pmu1_root", RK3588_PMU_CLKGATE_CON(2), 7), + GATE(MCLK_I2S1_8CH_TX, "mclk_i2s1_8ch_tx", "clk_i2s1_8ch_tx", RK3588_PMU_CLKGATE_CON(2), 10), + GATE(MCLK_I2S1_8CH_RX, "mclk_i2s1_8ch_rx", "clk_i2s1_8ch_rx", RK3588_PMU_CLKGATE_CON(2), 13), + GATE(PCLK_PMU1, "pclk_pmu1", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 0), + GATE(CLK_DDR_FAIL_SAFE, "clk_ddr_fail_safe", "clk_pmu0", RK3588_PMU_CLKGATE_CON(1), 1), + GATE(CLK_PMU1, "clk_pmu1", "clk_pmu0", RK3588_PMU_CLKGATE_CON(1), 3), + GATE(HCLK_PDM0, "hclk_pdm0", "hclk_pmu1_root", RK3588_PMU_CLKGATE_CON(2), 14), + GATE(HCLK_VAD, "hclk_vad", "hclk_pmu1_root", RK3588_PMU_CLKGATE_CON(3), 0), + GATE(FCLK_PMU_CM0_CORE, "fclk_pmu_cm0_core", "hclk_pmu_cm0_root", RK3588_PMU_CLKGATE_CON(0), 13), + GATE(PCLK_PMU1_IOC, "pclk_pmu1_ioc", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 5), + GATE(PCLK_PMU1PWM, "pclk_pmu1pwm", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 12), + GATE(CLK_PMU1PWM_CAPTURE, "clk_pmu1pwm_capture", "xin24m", RK3588_PMU_CLKGATE_CON(1), 14), + GATE(PCLK_PMU1TIMER, "pclk_pmu1timer", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 8), + GATE(CLK_PMU1TIMER0, "clk_pmu1timer0", "clk_pmu1timer_root", RK3588_PMU_CLKGATE_CON(1), 10), + GATE(CLK_PMU1TIMER1, "clk_pmu1timer1", "clk_pmu1timer_root", RK3588_PMU_CLKGATE_CON(1), 11), + GATE(SCLK_UART0, "sclk_uart0", "clk_uart0", RK3588_PMU_CLKGATE_CON(2), 5), + GATE(PCLK_UART0, "pclk_uart0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(2), 6), + GATE(PCLK_PMU1WDT, "pclk_pmu1wdt", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 6), +#define RK3588_PHYREF_ALT_GATE 0xc38 + GATE(CLK_PHY0_REF_ALT_P, "clk_phy0_ref_alt_p", "ppll", RK3588_PHYREF_ALT_GATE, 0), + GATE(CLK_PHY0_REF_ALT_M, "clk_phy0_ref_alt_m", "ppll", RK3588_PHYREF_ALT_GATE, 1), + GATE(CLK_PHY1_REF_ALT_P, "clk_phy1_ref_alt_p", "ppll", RK3588_PHYREF_ALT_GATE, 2), + GATE(CLK_PHY1_REF_ALT_M, "clk_phy1_ref_alt_m", "ppll", RK3588_PHYREF_ALT_GATE, 3), + + GATE(HCLK_SPDIFRX0, "hclk_spdifrx0", "hclk_vo1", RK3588_CLKGATE_CON(63), 12), + GATE(HCLK_SPDIFRX1, "hclk_spdifrx1", "hclk_vo1", RK3588_CLKGATE_CON(63), 14), + GATE(HCLK_SPDIFRX2, "hclk_spdifrx2", "hclk_vo1", RK3588_CLKGATE_CON(64), 0), + GATE(HCLK_SPDIF4, "hclk_spdif4", "hclk_vo1", RK3588_CLKGATE_CON(63), 8), + GATE(HCLK_SPDIF3, "hclk_spdif3", "hclk_vo1", RK3588_CLKGATE_CON(63), 4), + GATE(HCLK_I2S6_8CH, "hclk_i2s6_8ch", "hclk_vo1", RK3588_CLKGATE_CON(63), 3), + GATE(HCLK_I2S5_8CH, "hclk_i2s5_8ch", "hclk_vo1", RK3588_CLKGATE_CON(62), 12), + GATE(HCLK_I2S9_8CH, "hclk_i2s9_8ch", "hclk_vo1", RK3588_CLKGATE_CON(65), 0), + GATE(HCLK_I2S7_8CH, "hclk_i2s7_8ch", "hclk_vo1", RK3588_CLKGATE_CON(60), 0), + GATE(HCLK_I2S10_8CH, "hclk_i2s10_8ch", "hclk_vo1", RK3588_CLKGATE_CON(65), 4), + GATE(ACLK_HDCP1, "aclk_hdcp1", "aclk_hdcp1_pre", RK3588_CLKGATE_CON(60), 5), + GATE(HCLK_HDCP1, "hclk_hdcp1", "hclk_vo1", RK3588_CLKGATE_CON(60), 6), + GATE(HCLK_SPDIF5_DP1, "hclk_spdif5_dp1", "hclk_vo0", RK3588_CLKGATE_CON(57), 7), + GATE(HCLK_SPDIF2_DP0, "hclk_spdif2_dp0", "hclk_vo0", RK3588_CLKGATE_CON(57), 2), + GATE(HCLK_I2S8_8CH, "hclk_i2s8_8ch", "hclk_vo0", RK3588_CLKGATE_CON(56), 14), + GATE(HCLK_I2S4_8CH, "hclk_i2s4_8ch", "hclk_vo0", RK3588_CLKGATE_CON(56), 10), + GATE(ACLK_HDCP0, "aclk_hdcp0", "aclk_hdcp0_pre", RK3588_CLKGATE_CON(55), 12), + GATE(HCLK_HDCP0, "hclk_hdcp0", "hclk_vo0", RK3588_CLKGATE_CON(55), 13), + GATE(HCLK_RKVENC1, "hclk_rkvenc1", "hclk_rkvenc1_pre", RK3588_CLKGATE_CON(48), 4), + GATE(ACLK_RKVENC1, "aclk_rkvenc1", "aclk_rkvenc1_pre", RK3588_CLKGATE_CON(48), 5), + GATE(ACLK_VPU, "aclk_vpu", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 8), + GATE(ACLK_IEP2P0, "aclk_iep2p0", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(45), 5), + GATE(ACLK_JPEG_ENCODER0, "aclk_jpeg_encoder0", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 10), + GATE(ACLK_JPEG_ENCODER1, "aclk_jpeg_encoder1", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 12), + GATE(ACLK_JPEG_ENCODER2, "aclk_jpeg_encoder2", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 14), + GATE(ACLK_JPEG_ENCODER3, "aclk_jpeg_encoder3", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(45), 0), + GATE(ACLK_JPEG_DECODER, "aclk_jpeg_decoder", "aclk_jpeg_decoder_pre", RK3588_CLKGATE_CON(45), 2), + GATE(ACLK_USB3OTG1, "aclk_usb3otg1", "aclk_usb", RK3588_CLKGATE_CON(42), 7), + GATE(HCLK_HOST0, "hclk_host0", "hclk_usb", RK3588_CLKGATE_CON(42), 10), + GATE(HCLK_HOST_ARB0, "hclk_host_arb0", "hclk_usb", RK3588_CLKGATE_CON(42), 11), + GATE(HCLK_HOST1, "hclk_host1", "hclk_usb", RK3588_CLKGATE_CON(42), 12), + GATE(HCLK_HOST_ARB1, "hclk_host_arb1", "hclk_usb", RK3588_CLKGATE_CON(42), 13), + GATE(ACLK_USB3OTG0, "aclk_usb3otg0", "aclk_usb", RK3588_CLKGATE_CON(42), 4), + GATE(HCLK_SDIO, "hclk_sdio", "hclk_sdio_pre", RK3588_CLKGATE_CON(75), 2), + GATE(HCLK_RKVDEC1, "hclk_rkvdec1", "hclk_rkvdec1_pre", RK3588_CLKGATE_CON(41), 2), + GATE(ACLK_RKVDEC1, "aclk_rkvdec1", "aclk_rkvdec1_pre", RK3588_CLKGATE_CON(41), 3), + GATE(HCLK_RKVDEC0, "hclk_rkvdec0", "hclk_rkvdec0_pre", RK3588_CLKGATE_CON(40), 3), + GATE(ACLK_RKVDEC0, "aclk_rkvdec0", "aclk_rkvdec0_pre", RK3588_CLKGATE_CON(40), 4), + GATE(CLK_PCIE4L_PIPE, "clk_pcie4l_pipe", "clk_pipe30phy_pipe0_i", RK3588_CLKGATE_CON(39), 0), + GATE(CLK_PCIE2L_PIPE, "clk_pcie2l_pipe", "clk_pipe30phy_pipe2_i", RK3588_CLKGATE_CON(39), 1), + GATE(CLK_PIPEPHY0_PIPE_G, "clk_pipephy0_pipe_g", "clk_pipephy0_pipe_i", RK3588_CLKGATE_CON(38), 3), + GATE(CLK_PIPEPHY1_PIPE_G, "clk_pipephy1_pipe_g", "clk_pipephy1_pipe_i", RK3588_CLKGATE_CON(38), 4), + GATE(CLK_PIPEPHY2_PIPE_G, "clk_pipephy2_pipe_g", "clk_pipephy2_pipe_i", RK3588_CLKGATE_CON(38), 5), + GATE(CLK_PIPEPHY0_PIPE_ASIC_G, "clk_pipephy0_pipe_asic_g", "clk_pipephy0_pipe_i", RK3588_CLKGATE_CON(38), 6), + GATE(CLK_PIPEPHY1_PIPE_ASIC_G, "clk_pipephy1_pipe_asic_g", "clk_pipephy1_pipe_i", RK3588_CLKGATE_CON(38), 7), + GATE(CLK_PIPEPHY2_PIPE_ASIC_G, "clk_pipephy2_pipe_asic_g", "clk_pipephy2_pipe_i", RK3588_CLKGATE_CON(38), 8), + GATE(CLK_PIPEPHY2_PIPE_U3_G, "clk_pipephy2_pipe_u3_g", "clk_pipephy2_pipe_i", RK3588_CLKGATE_CON(38), 9), + GATE(CLK_PCIE1L2_PIPE, "clk_pcie1l2_pipe", "clk_pipephy0_pipe_g", RK3588_CLKGATE_CON(38), 13), + GATE(CLK_PCIE1L0_PIPE, "clk_pcie1l0_pipe", "clk_pipephy1_pipe_g", RK3588_CLKGATE_CON(38), 14), + GATE(CLK_PCIE1L1_PIPE, "clk_pcie1l1_pipe", "clk_pipephy2_pipe_g", RK3588_CLKGATE_CON(38), 15), + GATE(HCLK_SFC, "hclk_sfc", "hclk_nvm", RK3588_CLKGATE_CON(31), 10), + GATE(HCLK_SFC_XIP, "hclk_sfc_xip", "hclk_nvm", RK3588_CLKGATE_CON(31), 11), + GATE(HCLK_EMMC, "hclk_emmc", "hclk_nvm", RK3588_CLKGATE_CON(31), 4), + GATE(ACLK_ISP1, "aclk_isp1", "aclk_isp1_pre", RK3588_CLKGATE_CON(26), 5), + GATE(HCLK_ISP1, "hclk_isp1", "hclk_isp1_pre", RK3588_CLKGATE_CON(26), 7), + GATE(PCLK_AV1, "pclk_av1", "pclk_av1_pre", RK3588_CLKGATE_CON(68), 5), + GATE(ACLK_AV1, "aclk_av1", "aclk_av1_pre", RK3588_CLKGATE_CON(68), 2), +/* + GATE(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", RK3588_CLKGATE_CON(26), 6), + GATE(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", RK3588_CLKGATE_CON(26), 8), + GATE(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", RK3588_CLKGATE_CON(31), 2), + GATE(ACLK_USB, "aclk_usb", "aclk_usb_root", RK3588_CLKGATE_CON(42), 2), + GATE(HCLK_USB, "hclk_usb", "hclk_usb_root", RK3588_CLKGATE_CON(42), 3), + GATE(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", RK3588_CLKGATE_CON(44), 7), + GATE(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", RK3588_CLKGATE_CON(44), 5), + GATE(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", RK3588_CLKGATE_CON(48), 3), + GATE(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", RK3588_CLKGATE_CON(48), 2), + GATE(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", RK3588_CLKGATE_CON(40), 5), + GATE(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", RK3588_CLKGATE_CON(40), 6), + GATE(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", RK3588_CLKGATE_CON(41), 4), + GATE(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", RK3588_CLKGATE_CON(41), 5), + GATE(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", RK3588_CLKGATE_CON(55), 9), + GATE(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", RK3588_CLKGATE_CON(55), 5), + GATE(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", RK3588_CLKGATE_CON(59), 6), + GATE(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", RK3588_CLKGATE_CON(59), 9), + GATE(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", RK3588_CLKGATE_CON(68), 1), + GATE(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", RK3588_CLKGATE_CON(68), 4), + GATE(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", RK3588_CLKGATE_CON(75), 1), +*/ +}; + +#include "clk-pll-rk3588.c" +#include "clk-mmc-phase.c" +#include "softrst.c" + +static rt_ubase_t rk3588_center_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t con, sel, rate; + + switch (clk_id) + { + case ACLK_CENTER_ROOT: + con = HWREG32(&cru->clksel_con[165]); + sel = (con & ACLK_CENTER_ROOT_SEL_MASK) >> + ACLK_CENTER_ROOT_SEL_SHIFT; + if (sel == ACLK_CENTER_ROOT_SEL_700M) + rate = 702 * MHz; + else if (sel == ACLK_CENTER_ROOT_SEL_400M) + rate = 396 * MHz; + else if (sel == ACLK_CENTER_ROOT_SEL_200M) + rate = 200 * MHz; + else + rate = OSC_HZ; + break; + case ACLK_CENTER_LOW_ROOT: + con = HWREG32(&cru->clksel_con[165]); + sel = (con & ACLK_CENTER_LOW_ROOT_SEL_MASK) >> + ACLK_CENTER_LOW_ROOT_SEL_SHIFT; + if (sel == ACLK_CENTER_LOW_ROOT_SEL_500M) + rate = 500 * MHz; + else if (sel == ACLK_CENTER_LOW_ROOT_SEL_250M) + rate = 250 * MHz; + else if (sel == ACLK_CENTER_LOW_ROOT_SEL_100M) + rate = 100 * MHz; + else + rate = OSC_HZ; + break; + case HCLK_CENTER_ROOT: + con = HWREG32(&cru->clksel_con[165]); + sel = (con & HCLK_CENTER_ROOT_SEL_MASK) >> + HCLK_CENTER_ROOT_SEL_SHIFT; + if (sel == HCLK_CENTER_ROOT_SEL_400M) + rate = 396 * MHz; + else if (sel == HCLK_CENTER_ROOT_SEL_200M) + rate = 200 * MHz; + else if (sel == HCLK_CENTER_ROOT_SEL_100M) + rate = 100 * MHz; + else + rate = OSC_HZ; + break; + case PCLK_CENTER_ROOT: + con = HWREG32(&cru->clksel_con[165]); + sel = (con & PCLK_CENTER_ROOT_SEL_MASK) >> + PCLK_CENTER_ROOT_SEL_SHIFT; + if (sel == PCLK_CENTER_ROOT_SEL_200M) + rate = 200 * MHz; + else if (sel == PCLK_CENTER_ROOT_SEL_100M) + rate = 100 * MHz; + else if (sel == PCLK_CENTER_ROOT_SEL_50M) + rate = 50 * MHz; + else + rate = OSC_HZ; + break; + default: + return -RT_ENOENT; + } + + return rate; +} + +static rt_ubase_t rk3588_center_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk; + + switch (clk_id) + { + case ACLK_CENTER_ROOT: + if (rate >= 700 * MHz) + src_clk = ACLK_CENTER_ROOT_SEL_700M; + else if (rate >= 396 * MHz) + src_clk = ACLK_CENTER_ROOT_SEL_400M; + else if (rate >= 200 * MHz) + src_clk = ACLK_CENTER_ROOT_SEL_200M; + else + src_clk = ACLK_CENTER_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[165], + ACLK_CENTER_ROOT_SEL_MASK, + src_clk << ACLK_CENTER_ROOT_SEL_SHIFT); + break; + case ACLK_CENTER_LOW_ROOT: + if (rate >= 500 * MHz) + src_clk = ACLK_CENTER_LOW_ROOT_SEL_500M; + else if (rate >= 250 * MHz) + src_clk = ACLK_CENTER_LOW_ROOT_SEL_250M; + else if (rate >= 99 * MHz) + src_clk = ACLK_CENTER_LOW_ROOT_SEL_100M; + else + src_clk = ACLK_CENTER_LOW_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[165], + ACLK_CENTER_LOW_ROOT_SEL_MASK, + src_clk << ACLK_CENTER_LOW_ROOT_SEL_SHIFT); + break; + case HCLK_CENTER_ROOT: + if (rate >= 396 * MHz) + src_clk = HCLK_CENTER_ROOT_SEL_400M; + else if (rate >= 198 * MHz) + src_clk = HCLK_CENTER_ROOT_SEL_200M; + else if (rate >= 99 * MHz) + src_clk = HCLK_CENTER_ROOT_SEL_100M; + else + src_clk = HCLK_CENTER_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[165], + HCLK_CENTER_ROOT_SEL_MASK, + src_clk << HCLK_CENTER_ROOT_SEL_SHIFT); + break; + case PCLK_CENTER_ROOT: + if (rate >= 198 * MHz) + src_clk = PCLK_CENTER_ROOT_SEL_200M; + else if (rate >= 99 * MHz) + src_clk = PCLK_CENTER_ROOT_SEL_100M; + else if (rate >= 50 * MHz) + src_clk = PCLK_CENTER_ROOT_SEL_50M; + else + src_clk = PCLK_CENTER_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[165], + PCLK_CENTER_ROOT_SEL_MASK, + src_clk << PCLK_CENTER_ROOT_SEL_SHIFT); + break; + default: + LOG_D("do not support this center freq\n"); + return -RT_EINVAL; + } + + return rk3588_center_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_top_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t con, sel, div, rate, prate; + + switch (clk_id) + { + case ACLK_TOP_ROOT: + con = HWREG32(&cru->clksel_con[8]); + div = (con & ACLK_TOP_ROOT_DIV_MASK) >> + ACLK_TOP_ROOT_DIV_SHIFT; + sel = (con & ACLK_TOP_ROOT_SRC_SEL_MASK) >> + ACLK_TOP_ROOT_SRC_SEL_SHIFT; + if (sel == ACLK_TOP_ROOT_SRC_SEL_CPLL) + prate = priv->cpll_hz; + else + prate = priv->gpll_hz; + return DIV_TO_RATE(prate, div); + case ACLK_LOW_TOP_ROOT: + con = HWREG32(&cru->clksel_con[8]); + div = (con & ACLK_LOW_TOP_ROOT_DIV_MASK) >> + ACLK_LOW_TOP_ROOT_DIV_SHIFT; + sel = (con & ACLK_LOW_TOP_ROOT_SRC_SEL_MASK) >> + ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT; + if (sel == ACLK_LOW_TOP_ROOT_SRC_SEL_CPLL) + prate = priv->cpll_hz; + else + prate = priv->gpll_hz; + return DIV_TO_RATE(prate, div); + case PCLK_TOP_ROOT: + con = HWREG32(&cru->clksel_con[8]); + sel = (con & PCLK_TOP_ROOT_SEL_MASK) >> PCLK_TOP_ROOT_SEL_SHIFT; + if (sel == PCLK_TOP_ROOT_SEL_100M) + rate = 100 * MHz; + else if (sel == PCLK_TOP_ROOT_SEL_50M) + rate = 50 * MHz; + else + rate = OSC_HZ; + break; + default: + return -RT_ENOENT; + } + + return rate; +} + +static rt_ubase_t rk3588_top_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk, src_clk_div; + + switch (clk_id) + { + case ACLK_TOP_ROOT: + if (!(priv->cpll_hz % rate)) + { + src_clk = ACLK_TOP_ROOT_SRC_SEL_CPLL; + src_clk_div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + } else { + src_clk = ACLK_TOP_ROOT_SRC_SEL_GPLL; + src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + RT_ASSERT(src_clk_div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[8], + ACLK_TOP_ROOT_DIV_MASK | + ACLK_TOP_ROOT_SRC_SEL_MASK, + (src_clk << + ACLK_TOP_ROOT_SRC_SEL_SHIFT) | + (src_clk_div - 1) << ACLK_TOP_ROOT_DIV_SHIFT); + break; + case ACLK_LOW_TOP_ROOT: + src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 31); + rk_clrsetreg(&cru->clksel_con[8], + ACLK_LOW_TOP_ROOT_DIV_MASK | + ACLK_LOW_TOP_ROOT_SRC_SEL_MASK, + (ACLK_LOW_TOP_ROOT_SRC_SEL_GPLL << + ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT) | + (src_clk_div - 1) << ACLK_LOW_TOP_ROOT_DIV_SHIFT); + break; + case PCLK_TOP_ROOT: + if (rate == 100 * MHz) + src_clk = PCLK_TOP_ROOT_SEL_100M; + else if (rate == 50 * MHz) + src_clk = PCLK_TOP_ROOT_SEL_50M; + else + src_clk = PCLK_TOP_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[8], + PCLK_TOP_ROOT_SEL_MASK, + src_clk << PCLK_TOP_ROOT_SEL_SHIFT); + break; + default: + LOG_D("do not support this top freq\n"); + return -RT_EINVAL; + } + + return rk3588_top_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_i2c_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t sel, con; + rt_ubase_t rate; + + switch (clk_id) + { + case CLK_I2C0: + con = HWREG32(&cru->pmuclksel_con[3]); + sel = (con & CLK_I2C0_SEL_MASK) >> CLK_I2C0_SEL_SHIFT; + break; + case CLK_I2C1: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C1_SEL_MASK) >> CLK_I2C1_SEL_SHIFT; + break; + case CLK_I2C2: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C2_SEL_MASK) >> CLK_I2C2_SEL_SHIFT; + break; + case CLK_I2C3: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C3_SEL_MASK) >> CLK_I2C3_SEL_SHIFT; + break; + case CLK_I2C4: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C4_SEL_MASK) >> CLK_I2C4_SEL_SHIFT; + break; + case CLK_I2C5: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C5_SEL_MASK) >> CLK_I2C5_SEL_SHIFT; + break; + case CLK_I2C6: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C6_SEL_MASK) >> CLK_I2C6_SEL_SHIFT; + break; + case CLK_I2C7: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C7_SEL_MASK) >> CLK_I2C7_SEL_SHIFT; + break; + case CLK_I2C8: + con = HWREG32(&cru->clksel_con[38]); + sel = (con & CLK_I2C8_SEL_MASK) >> CLK_I2C8_SEL_SHIFT; + break; + default: + return -RT_ENOENT; + } + if (sel == CLK_I2C_SEL_200M) + rate = 200 * MHz; + else + rate = 100 * MHz; + + return rate; +} + +static rt_ubase_t rk3588_i2c_set_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id, + rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk; + + if (rate >= 198 * MHz) + src_clk = CLK_I2C_SEL_200M; + else + src_clk = CLK_I2C_SEL_100M; + + switch (clk_id) + { + case CLK_I2C0: + rk_clrsetreg(&cru->pmuclksel_con[3], CLK_I2C0_SEL_MASK, + src_clk << CLK_I2C0_SEL_SHIFT); + break; + case CLK_I2C1: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C1_SEL_MASK, + src_clk << CLK_I2C1_SEL_SHIFT); + break; + case CLK_I2C2: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C2_SEL_MASK, + src_clk << CLK_I2C2_SEL_SHIFT); + break; + case CLK_I2C3: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C3_SEL_MASK, + src_clk << CLK_I2C3_SEL_SHIFT); + break; + case CLK_I2C4: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C4_SEL_MASK, + src_clk << CLK_I2C4_SEL_SHIFT); + break; + case CLK_I2C5: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C5_SEL_MASK, + src_clk << CLK_I2C5_SEL_SHIFT); + break; + case CLK_I2C6: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C6_SEL_MASK, + src_clk << CLK_I2C6_SEL_SHIFT); + break; + case CLK_I2C7: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C7_SEL_MASK, + src_clk << CLK_I2C7_SEL_SHIFT); + break; + case CLK_I2C8: + rk_clrsetreg(&cru->clksel_con[38], CLK_I2C8_SEL_MASK, + src_clk << CLK_I2C8_SEL_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_i2c_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_spi_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t sel, con; + + con = HWREG32(&cru->clksel_con[59]); + + switch (clk_id) + { + case CLK_SPI0: + sel = (con & CLK_SPI0_SEL_MASK) >> CLK_SPI0_SEL_SHIFT; + break; + case CLK_SPI1: + sel = (con & CLK_SPI1_SEL_MASK) >> CLK_SPI1_SEL_SHIFT; + break; + case CLK_SPI2: + sel = (con & CLK_SPI2_SEL_MASK) >> CLK_SPI2_SEL_SHIFT; + break; + case CLK_SPI3: + sel = (con & CLK_SPI3_SEL_MASK) >> CLK_SPI3_SEL_SHIFT; + break; + case CLK_SPI4: + sel = (con & CLK_SPI4_SEL_MASK) >> CLK_SPI4_SEL_SHIFT; + break; + default: + return -RT_ENOENT; + } + + switch (sel) + { + case CLK_SPI_SEL_200M: + return 200 * MHz; + case CLK_SPI_SEL_150M: + return 150 * MHz; + case CLK_SPI_SEL_24M: + return OSC_HZ; + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_spi_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk; + + if (rate >= 198 * MHz) + src_clk = CLK_SPI_SEL_200M; + else if (rate >= 140 * MHz) + src_clk = CLK_SPI_SEL_150M; + else + src_clk = CLK_SPI_SEL_24M; + + switch (clk_id) + { + case CLK_SPI0: + rk_clrsetreg(&cru->clksel_con[59], + CLK_SPI0_SEL_MASK, + src_clk << CLK_SPI0_SEL_SHIFT); + break; + case CLK_SPI1: + rk_clrsetreg(&cru->clksel_con[59], + CLK_SPI1_SEL_MASK, + src_clk << CLK_SPI1_SEL_SHIFT); + break; + case CLK_SPI2: + rk_clrsetreg(&cru->clksel_con[59], + CLK_SPI2_SEL_MASK, + src_clk << CLK_SPI2_SEL_SHIFT); + break; + case CLK_SPI3: + rk_clrsetreg(&cru->clksel_con[59], + CLK_SPI3_SEL_MASK, + src_clk << CLK_SPI3_SEL_SHIFT); + break; + case CLK_SPI4: + rk_clrsetreg(&cru->clksel_con[59], + CLK_SPI4_SEL_MASK, + src_clk << CLK_SPI4_SEL_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_spi_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_pwm_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t sel, con; + + switch (clk_id) + { + case CLK_PWM1: + con = HWREG32(&cru->clksel_con[59]); + sel = (con & CLK_PWM1_SEL_MASK) >> CLK_PWM1_SEL_SHIFT; + break; + case CLK_PWM2: + con = HWREG32(&cru->clksel_con[59]); + sel = (con & CLK_PWM2_SEL_MASK) >> CLK_PWM2_SEL_SHIFT; + break; + case CLK_PWM3: + con = HWREG32(&cru->clksel_con[60]); + sel = (con & CLK_PWM3_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; + break; + case CLK_PMU1PWM: + con = HWREG32(&cru->pmuclksel_con[2]); + sel = (con & CLK_PMU1PWM_SEL_MASK) >> CLK_PMU1PWM_SEL_SHIFT; + break; + default: + return -RT_ENOENT; + } + + switch (sel) + { + case CLK_PWM_SEL_100M: + return 100 * MHz; + case CLK_PWM_SEL_50M: + return 50 * MHz; + case CLK_PWM_SEL_24M: + return OSC_HZ; + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_pwm_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk; + + if (rate >= 99 * MHz) + src_clk = CLK_PWM_SEL_100M; + else if (rate >= 50 * MHz) + src_clk = CLK_PWM_SEL_50M; + else + src_clk = CLK_PWM_SEL_24M; + + switch (clk_id) + { + case CLK_PWM1: + rk_clrsetreg(&cru->clksel_con[59], + CLK_PWM1_SEL_MASK, + src_clk << CLK_PWM1_SEL_SHIFT); + break; + case CLK_PWM2: + rk_clrsetreg(&cru->clksel_con[59], + CLK_PWM2_SEL_MASK, + src_clk << CLK_PWM2_SEL_SHIFT); + break; + case CLK_PWM3: + rk_clrsetreg(&cru->clksel_con[60], + CLK_PWM3_SEL_MASK, + src_clk << CLK_PWM3_SEL_SHIFT); + break; + case CLK_PMU1PWM: + rk_clrsetreg(&cru->pmuclksel_con[2], + CLK_PMU1PWM_SEL_MASK, + src_clk << CLK_PMU1PWM_SEL_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_pwm_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_adc_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t div, sel, con, prate; + + switch (clk_id) + { + case CLK_SARADC: + con = HWREG32(&cru->clksel_con[40]); + div = (con & CLK_SARADC_DIV_MASK) >> CLK_SARADC_DIV_SHIFT; + sel = (con & CLK_SARADC_SEL_MASK) >> + CLK_SARADC_SEL_SHIFT; + if (sel == CLK_SARADC_SEL_24M) + prate = OSC_HZ; + else + prate = priv->gpll_hz; + return DIV_TO_RATE(prate, div); + case CLK_TSADC: + con = HWREG32(&cru->clksel_con[41]); + div = (con & CLK_TSADC_DIV_MASK) >> + CLK_TSADC_DIV_SHIFT; + sel = (con & CLK_TSADC_SEL_MASK) >> + CLK_TSADC_SEL_SHIFT; + if (sel == CLK_TSADC_SEL_24M) + prate = OSC_HZ; + else + prate = 100 * MHz; + return DIV_TO_RATE(prate, div); + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_adc_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk_div; + + switch (clk_id) + { + case CLK_SARADC: + if (!(OSC_HZ % rate)) + { + src_clk_div = RT_DIV_ROUND_UP(OSC_HZ, rate); + RT_ASSERT(src_clk_div - 1 <= 255); + rk_clrsetreg(&cru->clksel_con[40], + CLK_SARADC_SEL_MASK | + CLK_SARADC_DIV_MASK, + (CLK_SARADC_SEL_24M << + CLK_SARADC_SEL_SHIFT) | + (src_clk_div - 1) << + CLK_SARADC_DIV_SHIFT); + } else { + src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 255); + rk_clrsetreg(&cru->clksel_con[40], + CLK_SARADC_SEL_MASK | + CLK_SARADC_DIV_MASK, + (CLK_SARADC_SEL_GPLL << + CLK_SARADC_SEL_SHIFT) | + (src_clk_div - 1) << + CLK_SARADC_DIV_SHIFT); + } + break; + case CLK_TSADC: + if (!(OSC_HZ % rate)) + { + src_clk_div = RT_DIV_ROUND_UP(OSC_HZ, rate); + RT_ASSERT(src_clk_div - 1 <= 255); + rk_clrsetreg(&cru->clksel_con[41], + CLK_TSADC_SEL_MASK | + CLK_TSADC_DIV_MASK, + (CLK_TSADC_SEL_24M << + CLK_TSADC_SEL_SHIFT) | + (src_clk_div - 1) << + CLK_TSADC_DIV_SHIFT); + } else { + src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + RT_ASSERT(src_clk_div - 1 <= 7); + rk_clrsetreg(&cru->clksel_con[41], + CLK_TSADC_SEL_MASK | + CLK_TSADC_DIV_MASK, + (CLK_TSADC_SEL_GPLL << + CLK_TSADC_SEL_SHIFT) | + (src_clk_div - 1) << + CLK_TSADC_DIV_SHIFT); + } + break; + default: + return -RT_ENOENT; + } + return rk3588_adc_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_mmc_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t sel, con, div, prate; + + switch (clk_id) + { + case CCLK_SRC_SDIO: + con = HWREG32(&cru->clksel_con[172]); + div = (con & CCLK_SDIO_SRC_DIV_MASK) >> CCLK_SDIO_SRC_DIV_SHIFT; + sel = (con & CCLK_SDIO_SRC_SEL_MASK) >> + CCLK_SDIO_SRC_SEL_SHIFT; + if (sel == CCLK_SDIO_SRC_SEL_GPLL) + prate = priv->gpll_hz; + else if (sel == CCLK_SDIO_SRC_SEL_CPLL) + prate = priv->cpll_hz; + else + prate = OSC_HZ; + return DIV_TO_RATE(prate, div); + case CCLK_EMMC: + con = HWREG32(&cru->clksel_con[77]); + div = (con & CCLK_EMMC_DIV_MASK) >> CCLK_EMMC_DIV_SHIFT; + sel = (con & CCLK_EMMC_SEL_MASK) >> + CCLK_EMMC_SEL_SHIFT; + if (sel == CCLK_EMMC_SEL_GPLL) + prate = priv->gpll_hz; + else if (sel == CCLK_EMMC_SEL_CPLL) + prate = priv->cpll_hz; + else + prate = OSC_HZ; + return DIV_TO_RATE(prate, div); + case BCLK_EMMC: + con = HWREG32(&cru->clksel_con[78]); + div = (con & BCLK_EMMC_DIV_MASK) >> BCLK_EMMC_DIV_SHIFT; + sel = (con & BCLK_EMMC_SEL_MASK) >> + BCLK_EMMC_SEL_SHIFT; + if (sel == CCLK_EMMC_SEL_CPLL) + prate = priv->cpll_hz; + else + prate = priv->gpll_hz; + return DIV_TO_RATE(prate, div); + case SCLK_SFC: + con = HWREG32(&cru->clksel_con[78]); + div = (con & SCLK_SFC_DIV_MASK) >> SCLK_SFC_DIV_SHIFT; + sel = (con & SCLK_SFC_SEL_MASK) >> + SCLK_SFC_SEL_SHIFT; + if (sel == SCLK_SFC_SEL_GPLL) + prate = priv->gpll_hz; + else if (sel == SCLK_SFC_SEL_CPLL) + prate = priv->cpll_hz; + else + prate = OSC_HZ; + return DIV_TO_RATE(prate, div); + case DCLK_DECOM: + con = HWREG32(&cru->clksel_con[62]); + div = (con & DCLK_DECOM_DIV_MASK) >> DCLK_DECOM_DIV_SHIFT; + sel = (con & DCLK_DECOM_SEL_MASK) >> + DCLK_DECOM_SEL_SHIFT; + if (sel == DCLK_DECOM_SEL_SPLL) + prate = 702 * MHz; + else + prate = priv->gpll_hz; + return DIV_TO_RATE(prate, div); + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_mmc_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk, div; + /*rt_min_t(rt_ubase_t, 48 * MHZ, rate);*/ + switch (clk_id) + { + case CCLK_SRC_SDIO: + case CCLK_EMMC: + case SCLK_SFC: + if (!(OSC_HZ % rate)) + { + src_clk = SCLK_SFC_SEL_24M; + div = RT_DIV_ROUND_UP(OSC_HZ, rate); + } else if (!(priv->cpll_hz % rate)) + { + src_clk = SCLK_SFC_SEL_CPLL; + div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + } else { + src_clk = SCLK_SFC_SEL_GPLL; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + break; + case BCLK_EMMC: + if (!(priv->cpll_hz % rate)) + { + src_clk = CCLK_EMMC_SEL_CPLL; + div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + } else { + src_clk = CCLK_EMMC_SEL_GPLL; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + break; + case DCLK_DECOM: + if (!(702 * MHz % rate)) + { + src_clk = DCLK_DECOM_SEL_SPLL; + div = RT_DIV_ROUND_UP(702 * MHz, rate); + } else { + src_clk = DCLK_DECOM_SEL_GPLL; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + break; + default: + return -RT_ENOENT; + } + + switch (clk_id) + { + case CCLK_SRC_SDIO: + rk_clrsetreg(&cru->clksel_con[172], + CCLK_SDIO_SRC_SEL_MASK | + CCLK_SDIO_SRC_DIV_MASK, + (src_clk << CCLK_SDIO_SRC_SEL_SHIFT) | + (div - 1) << CCLK_SDIO_SRC_DIV_SHIFT); + break; + case CCLK_EMMC: + rk_clrsetreg(&cru->clksel_con[77], + CCLK_EMMC_SEL_MASK | + CCLK_EMMC_DIV_MASK, + (src_clk << CCLK_EMMC_SEL_SHIFT) | + (div - 1) << CCLK_EMMC_DIV_SHIFT); + break; + case BCLK_EMMC: + rk_clrsetreg(&cru->clksel_con[78], + BCLK_EMMC_DIV_MASK | + BCLK_EMMC_SEL_MASK, + (src_clk << BCLK_EMMC_SEL_SHIFT) | + (div - 1) << BCLK_EMMC_DIV_SHIFT); + break; + case SCLK_SFC: + rk_clrsetreg(&cru->clksel_con[78], + SCLK_SFC_DIV_MASK | + SCLK_SFC_SEL_MASK, + (src_clk << SCLK_SFC_SEL_SHIFT) | + (div - 1) << SCLK_SFC_DIV_SHIFT); + break; + case DCLK_DECOM: + rk_clrsetreg(&cru->clksel_con[62], + DCLK_DECOM_DIV_MASK | + DCLK_DECOM_SEL_MASK, + (src_clk << DCLK_DECOM_SEL_SHIFT) | + (div - 1) << DCLK_DECOM_DIV_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_mmc_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_aux16m_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t div, con, parent; + + parent = priv->gpll_hz; + con = HWREG32(&cru->clksel_con[117]); + + switch (clk_id) + { + case CLK_AUX16M_0: + div = (con & CLK_AUX16MHZ_0_DIV_MASK) >> CLK_AUX16MHZ_0_DIV_SHIFT; + return DIV_TO_RATE(parent, div); + case CLK_AUX16M_1: + div = (con & CLK_AUX16MHZ_1_DIV_MASK) >> CLK_AUX16MHZ_1_DIV_SHIFT; + return DIV_TO_RATE(parent, div); + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_aux16m_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t div; + + if (!priv->gpll_hz) + { + LOG_D("%s gpll=%lu\n", __func__, priv->gpll_hz); + return -RT_ENOENT; + } + + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + + switch (clk_id) + { + case CLK_AUX16M_0: + rk_clrsetreg(&cru->clksel_con[117], CLK_AUX16MHZ_0_DIV_MASK, + (div - 1) << CLK_AUX16MHZ_0_DIV_SHIFT); + break; + case CLK_AUX16M_1: + rk_clrsetreg(&cru->clksel_con[117], CLK_AUX16MHZ_1_DIV_MASK, + (div - 1) << CLK_AUX16MHZ_1_DIV_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_aux16m_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_aclk_vop_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t div, sel, con, parent; + + switch (clk_id) + { + case ACLK_VOP_ROOT: + case ACLK_VOP: + con = HWREG32(&cru->clksel_con[110]); + div = (con & ACLK_VOP_ROOT_DIV_MASK) >> ACLK_VOP_ROOT_DIV_SHIFT; + sel = (con & ACLK_VOP_ROOT_SEL_MASK) >> ACLK_VOP_ROOT_SEL_SHIFT; + if (sel == ACLK_VOP_ROOT_SEL_GPLL) + parent = priv->gpll_hz; + else if (sel == ACLK_VOP_ROOT_SEL_CPLL) + parent = priv->cpll_hz; + else if (sel == ACLK_VOP_ROOT_SEL_AUPLL) + parent = priv->aupll_hz; + else if (sel == ACLK_VOP_ROOT_SEL_NPLL) + parent = priv->npll_hz; + else + parent = 702 * MHz; + return DIV_TO_RATE(parent, div); + case ACLK_VOP_LOW_ROOT: + con = HWREG32(&cru->clksel_con[110]); + sel = (con & ACLK_VOP_LOW_ROOT_SEL_MASK) >> + ACLK_VOP_LOW_ROOT_SEL_SHIFT; + if (sel == ACLK_VOP_LOW_ROOT_SEL_400M) + return 396 * MHz; + else if (sel == ACLK_VOP_LOW_ROOT_SEL_200M) + return 200 * MHz; + else if (sel == ACLK_VOP_LOW_ROOT_SEL_100M) + return 100 * MHz; + else + return OSC_HZ; + case HCLK_VOP_ROOT: + con = HWREG32(&cru->clksel_con[110]); + sel = (con & HCLK_VOP_ROOT_SEL_MASK) >> HCLK_VOP_ROOT_SEL_SHIFT; + if (sel == HCLK_VOP_ROOT_SEL_200M) + return 200 * MHz; + else if (sel == HCLK_VOP_ROOT_SEL_100M) + return 100 * MHz; + else if (sel == HCLK_VOP_ROOT_SEL_50M) + return 50 * MHz; + else + return OSC_HZ; + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_aclk_vop_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int src_clk, div; + + switch (clk_id) + { + case ACLK_VOP_ROOT: + case ACLK_VOP: + if (rate >= 850 * MHz) + { + src_clk = ACLK_VOP_ROOT_SEL_NPLL; + div = 1; + } else if (rate >= 750 * MHz) + { + src_clk = ACLK_VOP_ROOT_SEL_CPLL; + div = 2; + } else if (rate >= 700 * MHz) + { + src_clk = ACLK_VOP_ROOT_SEL_SPLL; + div = 1; + } else if (!(priv->cpll_hz % rate)) + { + src_clk = ACLK_VOP_ROOT_SEL_CPLL; + div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + } else { + src_clk = ACLK_VOP_ROOT_SEL_GPLL; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } + rk_clrsetreg(&cru->clksel_con[110], + ACLK_VOP_ROOT_DIV_MASK | + ACLK_VOP_ROOT_SEL_MASK, + (src_clk << ACLK_VOP_ROOT_SEL_SHIFT) | + (div - 1) << ACLK_VOP_ROOT_DIV_SHIFT); + break; + case ACLK_VOP_LOW_ROOT: + if (rate == 400 * MHz || rate == 396 * MHz) + src_clk = ACLK_VOP_LOW_ROOT_SEL_400M; + else if (rate == 200 * MHz) + src_clk = ACLK_VOP_LOW_ROOT_SEL_200M; + else if (rate == 100 * MHz) + src_clk = ACLK_VOP_LOW_ROOT_SEL_100M; + else + src_clk = ACLK_VOP_LOW_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[110], + ACLK_VOP_LOW_ROOT_SEL_MASK, + src_clk << ACLK_VOP_LOW_ROOT_SEL_SHIFT); + break; + case HCLK_VOP_ROOT: + if (rate == 200 * MHz) + src_clk = HCLK_VOP_ROOT_SEL_200M; + else if (rate == 100 * MHz) + src_clk = HCLK_VOP_ROOT_SEL_100M; + else if (rate == 50 * MHz) + src_clk = HCLK_VOP_ROOT_SEL_50M; + else + src_clk = HCLK_VOP_ROOT_SEL_24M; + rk_clrsetreg(&cru->clksel_con[110], + HCLK_VOP_ROOT_SEL_MASK, + src_clk << HCLK_VOP_ROOT_SEL_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_aclk_vop_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_dclk_vop_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t div, sel, con, parent; + + switch (clk_id) + { + case DCLK_VOP0: + case DCLK_VOP0_SRC: + con = HWREG32(&cru->clksel_con[111]); + div = (con & DCLK0_VOP_SRC_DIV_MASK) >> DCLK0_VOP_SRC_DIV_SHIFT; + sel = (con & DCLK0_VOP_SRC_SEL_MASK) >> DCLK0_VOP_SRC_SEL_SHIFT; + break; + case DCLK_VOP1: + case DCLK_VOP1_SRC: + con = HWREG32(&cru->clksel_con[111]); + div = (con & DCLK1_VOP_SRC_DIV_MASK) >> DCLK1_VOP_SRC_DIV_SHIFT; + sel = (con & DCLK1_VOP_SRC_SEL_MASK) >> DCLK1_VOP_SRC_SEL_SHIFT; + break; + case DCLK_VOP2: + case DCLK_VOP2_SRC: + con = HWREG32(&cru->clksel_con[112]); + div = (con & DCLK2_VOP_SRC_DIV_MASK) >> DCLK2_VOP_SRC_DIV_SHIFT; + sel = (con & DCLK2_VOP_SRC_SEL_MASK) >> DCLK2_VOP_SRC_SEL_SHIFT; + break; + case DCLK_VOP3: + con = HWREG32(&cru->clksel_con[113]); + div = (con & DCLK3_VOP_SRC_DIV_MASK) >> DCLK3_VOP_SRC_DIV_SHIFT; + sel = (con & DCLK3_VOP_SRC_SEL_MASK) >> DCLK3_VOP_SRC_SEL_SHIFT; + break; + default: + return -RT_ENOENT; + } + + if (sel == DCLK_VOP_SRC_SEL_AUPLL) + parent = priv->aupll_hz; + else if (sel == DCLK_VOP_SRC_SEL_V0PLL) + parent = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], + priv->cru, V0PLL); + else if (sel == DCLK_VOP_SRC_SEL_GPLL) + parent = priv->gpll_hz; + else + parent = priv->cpll_hz; + + return DIV_TO_RATE(parent, div); +} + +#define RK3588_VOP_PLL_LIMIT_FREQ 600000000 + +static rt_ubase_t rk3588_dclk_vop_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + rt_ubase_t pll_rate, now, best_rate = 0; + rt_uint32_t i, conid, con, sel, div, best_div = 0, best_sel = 0; + rt_uint32_t mask, div_shift, sel_shift; + + switch (clk_id) + { + case DCLK_VOP0: + case DCLK_VOP0_SRC: + conid = 111; + con = HWREG32(&cru->clksel_con[111]); + sel = (con & DCLK0_VOP_SRC_SEL_MASK) >> DCLK0_VOP_SRC_SEL_SHIFT; + mask = DCLK0_VOP_SRC_SEL_MASK | DCLK0_VOP_SRC_DIV_MASK; + div_shift = DCLK0_VOP_SRC_DIV_SHIFT; + sel_shift = DCLK0_VOP_SRC_SEL_SHIFT; + break; + case DCLK_VOP1: + case DCLK_VOP1_SRC: + conid = 111; + con = HWREG32(&cru->clksel_con[111]); + sel = (con & DCLK1_VOP_SRC_SEL_MASK) >> DCLK1_VOP_SRC_SEL_SHIFT; + mask = DCLK1_VOP_SRC_SEL_MASK | DCLK1_VOP_SRC_DIV_MASK; + div_shift = DCLK1_VOP_SRC_DIV_SHIFT; + sel_shift = DCLK1_VOP_SRC_SEL_SHIFT; + break; + case DCLK_VOP2: + case DCLK_VOP2_SRC: + conid = 112; + con = HWREG32(&cru->clksel_con[112]); + sel = (con & DCLK2_VOP_SRC_SEL_MASK) >> DCLK2_VOP_SRC_SEL_SHIFT; + mask = DCLK2_VOP_SRC_SEL_MASK | DCLK2_VOP_SRC_DIV_MASK; + div_shift = DCLK2_VOP_SRC_DIV_SHIFT; + sel_shift = DCLK2_VOP_SRC_SEL_SHIFT; + break; + case DCLK_VOP3: + conid = 113; + con = HWREG32(&cru->clksel_con[113]); + sel = (con & DCLK3_VOP_SRC_SEL_MASK) >> DCLK3_VOP_SRC_SEL_SHIFT; + mask = DCLK3_VOP_SRC_SEL_MASK | DCLK3_VOP_SRC_DIV_MASK; + div_shift = DCLK3_VOP_SRC_DIV_SHIFT; + sel_shift = DCLK3_VOP_SRC_SEL_SHIFT; + break; + default: + return -RT_ENOENT; + } + + if (sel == DCLK_VOP_SRC_SEL_V0PLL) + { + pll_rate = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], + priv->cru, V0PLL); + if (pll_rate >= RK3588_VOP_PLL_LIMIT_FREQ && pll_rate % rate == 0) + { + div = RT_DIV_ROUND_UP(pll_rate, rate); + rk_clrsetreg(&cru->clksel_con[conid], + mask, + DCLK_VOP_SRC_SEL_V0PLL << sel_shift | + ((div - 1) << div_shift)); + } else { + div = RT_DIV_ROUND_UP(RK3588_VOP_PLL_LIMIT_FREQ, rate); + rk_clrsetreg(&cru->clksel_con[conid], + mask, + DCLK_VOP_SRC_SEL_V0PLL << sel_shift | + ((div - 1) << div_shift)); + rk_pll_set_rate(&rk3588_pll_clks[V0PLL], + priv->cru, V0PLL, div * rate); + } + } else { + for (i = 0; i <= DCLK_VOP_SRC_SEL_AUPLL; i++) + { + switch (i) + { + case DCLK_VOP_SRC_SEL_GPLL: + pll_rate = priv->gpll_hz; + break; + case DCLK_VOP_SRC_SEL_CPLL: + pll_rate = priv->cpll_hz; + break; + case DCLK_VOP_SRC_SEL_AUPLL: + pll_rate = priv->aupll_hz; + break; + case DCLK_VOP_SRC_SEL_V0PLL: + pll_rate = 0; + break; + default: + LOG_D("do not support this vop pll sel\n"); + return -RT_EINVAL; + } + + div = RT_DIV_ROUND_UP(pll_rate, rate); + if (div > 255) + continue; + now = pll_rate / div; + if (abs(rate - now) < abs(rate - best_rate)) + { + best_rate = now; + best_div = div; + best_sel = i; + } + LOG_D("p_rate=%lu, best_rate=%lu, div=%u, sel=%u\n", + pll_rate, best_rate, best_div, best_sel); + } + + if (best_rate) + { + rk_clrsetreg(&cru->clksel_con[conid], + mask, + best_sel << sel_shift | + (best_div - 1) << div_shift); + } else { + LOG_D("do not support this vop freq %lu\n", rate); + return -RT_EINVAL; + } + } + return rk3588_dclk_vop_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_gmac_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t con, div; + + switch (clk_id) + { + case CLK_GMAC0_PTP_REF: + con = HWREG32(&cru->clksel_con[81]); + div = (con & CLK_GMAC0_PTP_DIV_MASK) >> CLK_GMAC0_PTP_DIV_SHIFT; + return DIV_TO_RATE(priv->cpll_hz, div); + case CLK_GMAC1_PTP_REF: + con = HWREG32(&cru->clksel_con[81]); + div = (con & CLK_GMAC1_PTP_DIV_MASK) >> CLK_GMAC1_PTP_DIV_SHIFT; + return DIV_TO_RATE(priv->cpll_hz, div); + case CLK_GMAC_125M: + con = HWREG32(&cru->clksel_con[83]); + div = (con & CLK_GMAC_125M_DIV_MASK) >> CLK_GMAC_125M_DIV_SHIFT; + return DIV_TO_RATE(priv->cpll_hz, div); + case CLK_GMAC_50M: + con = HWREG32(&cru->clksel_con[84]); + div = (con & CLK_GMAC_50M_DIV_MASK) >> CLK_GMAC_50M_DIV_SHIFT; + return DIV_TO_RATE(priv->cpll_hz, div); + default: + return -RT_ENOENT; + } +} + +static rt_ubase_t rk3588_gmac_set_clk(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + int div; + + div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); + + switch (clk_id) + { + case CLK_GMAC0_PTP_REF: + rk_clrsetreg(&cru->clksel_con[81], + CLK_GMAC0_PTP_DIV_MASK | CLK_GMAC0_PTP_SEL_MASK, + CLK_GMAC0_PTP_SEL_CPLL << CLK_GMAC0_PTP_SEL_SHIFT | + (div - 1) << CLK_GMAC0_PTP_DIV_SHIFT); + break; + case CLK_GMAC1_PTP_REF: + rk_clrsetreg(&cru->clksel_con[81], + CLK_GMAC1_PTP_DIV_MASK | CLK_GMAC1_PTP_SEL_MASK, + CLK_GMAC1_PTP_SEL_CPLL << CLK_GMAC1_PTP_SEL_SHIFT | + (div - 1) << CLK_GMAC1_PTP_DIV_SHIFT); + break; + + case CLK_GMAC_125M: + rk_clrsetreg(&cru->clksel_con[83], + CLK_GMAC_125M_DIV_MASK | CLK_GMAC_125M_SEL_MASK, + CLK_GMAC_125M_SEL_CPLL << CLK_GMAC_125M_SEL_SHIFT | + (div - 1) << CLK_GMAC_125M_DIV_SHIFT); + break; + case CLK_GMAC_50M: + rk_clrsetreg(&cru->clksel_con[84], + CLK_GMAC_50M_DIV_MASK | CLK_GMAC_50M_SEL_MASK, + CLK_GMAC_50M_SEL_CPLL << CLK_GMAC_50M_SEL_SHIFT | + (div - 1) << CLK_GMAC_50M_DIV_SHIFT); + break; + default: + return -RT_ENOENT; + } + + return rk3588_gmac_get_clk(priv, clk_id); +} + +static rt_ubase_t rk3588_uart_get_rate(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t reg, con, fracdiv, div, src, p_src, p_rate; + unsigned long m, n; + + switch (clk_id) + { + case SCLK_UART1: + reg = 41; + break; + case SCLK_UART2: + reg = 43; + break; + case SCLK_UART3: + reg = 45; + break; + case SCLK_UART4: + reg = 47; + break; + case SCLK_UART5: + reg = 49; + break; + case SCLK_UART6: + reg = 51; + break; + case SCLK_UART7: + reg = 53; + break; + case SCLK_UART8: + reg = 55; + break; + case SCLK_UART9: + reg = 57; + break; + default: + return -RT_ENOENT; + } + con = HWREG32(&cru->clksel_con[reg + 2]); + src = (con & CLK_UART_SEL_MASK) >> CLK_UART_SEL_SHIFT; + con = HWREG32(&cru->clksel_con[reg]); + div = (con & CLK_UART_SRC_DIV_MASK) >> CLK_UART_SRC_DIV_SHIFT; + p_src = (con & CLK_UART_SRC_SEL_MASK) >> CLK_UART_SRC_SEL_SHIFT; + if (p_src == CLK_UART_SRC_SEL_GPLL) + p_rate = priv->gpll_hz; + else + p_rate = priv->cpll_hz; + + if (src == CLK_UART_SEL_SRC) + { + return DIV_TO_RATE(p_rate, div); + } else if (src == CLK_UART_SEL_FRAC) + { + fracdiv = HWREG32(&cru->clksel_con[reg + 1]); + n = fracdiv & CLK_UART_FRAC_NUMERATOR_MASK; + n >>= CLK_UART_FRAC_NUMERATOR_SHIFT; + m = fracdiv & CLK_UART_FRAC_DENOMINATOR_MASK; + m >>= CLK_UART_FRAC_DENOMINATOR_SHIFT; + return DIV_TO_RATE(p_rate, div) * n / m; + } else { + return OSC_HZ; + } +} + +static rt_ubase_t rk3588_uart_set_rate(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t reg, clk_src, uart_src, div; + unsigned long m = 0, n = 0, val; + + if (priv->gpll_hz % rate == 0) + { + clk_src = CLK_UART_SRC_SEL_GPLL; + uart_src = CLK_UART_SEL_SRC; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } else if (priv->cpll_hz % rate == 0) + { + clk_src = CLK_UART_SRC_SEL_CPLL; + uart_src = CLK_UART_SEL_SRC; + div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); + } else if (rate == OSC_HZ) + { + clk_src = CLK_UART_SRC_SEL_GPLL; + uart_src = CLK_UART_SEL_XIN24M; + div = 2; + } else { + clk_src = CLK_UART_SRC_SEL_GPLL; + uart_src = CLK_UART_SEL_FRAC; + div = 2; + rational_best_approximation(rate, priv->gpll_hz / div, + RT_GENMASK(16 - 1, 0), + RT_GENMASK(16 - 1, 0), + &m, &n); + } + + switch (clk_id) + { + case SCLK_UART1: + reg = 41; + break; + case SCLK_UART2: + reg = 43; + break; + case SCLK_UART3: + reg = 45; + break; + case SCLK_UART4: + reg = 47; + break; + case SCLK_UART5: + reg = 49; + break; + case SCLK_UART6: + reg = 51; + break; + case SCLK_UART7: + reg = 53; + break; + case SCLK_UART8: + reg = 55; + break; + case SCLK_UART9: + reg = 57; + break; + default: + return -RT_ENOENT; + } + rk_clrsetreg(&cru->clksel_con[reg], + CLK_UART_SRC_SEL_MASK | + CLK_UART_SRC_DIV_MASK, + (clk_src << CLK_UART_SRC_SEL_SHIFT) | + ((div - 1) << CLK_UART_SRC_DIV_SHIFT)); + rk_clrsetreg(&cru->clksel_con[reg + 2], + CLK_UART_SEL_MASK, + (uart_src << CLK_UART_SEL_SHIFT)); + if (m && n) + { + val = m << CLK_UART_FRAC_NUMERATOR_SHIFT | n; + HWREG32(&cru->clksel_con[reg + 1]) = val; + } + + return rk3588_uart_get_rate(priv, clk_id); +} + +static rt_ubase_t rk3588_pciephy_get_rate(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t con, div, src; + + switch (clk_id) + { + case CLK_REF_PIPE_PHY0: + con = HWREG32(&cru->clksel_con[177]); + src = (con & CLK_PCIE_PHY0_REF_SEL_MASK) >> CLK_PCIE_PHY0_REF_SEL_SHIFT; + con = HWREG32(&cru->clksel_con[176]); + div = (con & CLK_PCIE_PHY0_PLL_DIV_MASK) >> CLK_PCIE_PHY0_PLL_DIV_SHIFT; + break; + case CLK_REF_PIPE_PHY1: + con = HWREG32(&cru->clksel_con[177]); + src = (con & CLK_PCIE_PHY1_REF_SEL_MASK) >> CLK_PCIE_PHY1_REF_SEL_SHIFT; + con = HWREG32(&cru->clksel_con[176]); + div = (con & CLK_PCIE_PHY1_PLL_DIV_MASK) >> CLK_PCIE_PHY1_PLL_DIV_SHIFT; + break; + case CLK_REF_PIPE_PHY2: + con = HWREG32(&cru->clksel_con[177]); + src = (con & CLK_PCIE_PHY2_REF_SEL_MASK) >> CLK_PCIE_PHY2_REF_SEL_SHIFT; + div = (con & CLK_PCIE_PHY2_PLL_DIV_MASK) >> CLK_PCIE_PHY2_PLL_DIV_SHIFT; + break; + default: + return -RT_ENOENT; + } + + if (src == CLK_PCIE_PHY_REF_SEL_PPLL) + { + return DIV_TO_RATE(priv->ppll_hz, div); + } else { + return OSC_HZ; + } +} + +static rt_ubase_t rk3588_pciephy_set_rate(struct rk3588_clk_priv *priv, + rt_ubase_t clk_id, rt_ubase_t rate) +{ + struct rk3588_cru *cru = priv->cru; + rt_uint32_t clk_src, div; + + if (rate == OSC_HZ) + { + clk_src = CLK_PCIE_PHY_REF_SEL_24M; + div = 1; + } else { + clk_src = CLK_PCIE_PHY_REF_SEL_PPLL; + div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); + } + + switch (clk_id) + { + case CLK_REF_PIPE_PHY0: + rk_clrsetreg(&cru->clksel_con[177], + CLK_PCIE_PHY0_REF_SEL_MASK, + (clk_src << CLK_PCIE_PHY0_REF_SEL_SHIFT)); + rk_clrsetreg(&cru->clksel_con[176], + CLK_PCIE_PHY0_PLL_DIV_MASK, + ((div - 1) << CLK_PCIE_PHY0_PLL_DIV_SHIFT)); + break; + case CLK_REF_PIPE_PHY1: + rk_clrsetreg(&cru->clksel_con[177], + CLK_PCIE_PHY1_REF_SEL_MASK, + (clk_src << CLK_PCIE_PHY1_REF_SEL_SHIFT)); + rk_clrsetreg(&cru->clksel_con[176], + CLK_PCIE_PHY1_PLL_DIV_MASK, + ((div - 1) << CLK_PCIE_PHY1_PLL_DIV_SHIFT)); + break; + case CLK_REF_PIPE_PHY2: + rk_clrsetreg(&cru->clksel_con[177], + CLK_PCIE_PHY2_REF_SEL_MASK | + CLK_PCIE_PHY2_PLL_DIV_MASK, + (clk_src << CLK_PCIE_PHY2_REF_SEL_SHIFT) | + ((div - 1) << CLK_PCIE_PHY2_PLL_DIV_SHIFT)); + break; + default: + return -RT_ENOENT; + } + + return rk3588_pciephy_get_rate(priv, clk_id); +} + +static rt_ubase_t rk_clk_get_rate(struct rk3588_clk_platform_data *pdata, + struct rk3588_clk *rk_clk) +{ + struct rk3588_clk_priv *priv = &rk_clk->clk_info; + rt_ubase_t rate = 0; + + if (!priv->gpll_hz) + { + return -RT_ERROR; + } + if (!priv->ppll_hz) + { + priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], + priv->cru, PPLL); + } + switch (pdata->id) + { + case PLL_B0PLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[B0PLL], &priv->cru, B0PLL); + break; + case PLL_B1PLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[B1PLL], &priv->cru, B1PLL); + break; + case PLL_LPLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[LPLL], &priv->cru, LPLL); + break; + case PLL_V0PLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], &priv->cru, V0PLL); + break; + case PLL_AUPLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[AUPLL], &priv->cru, AUPLL); + break; + case PLL_CPLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[CPLL], &priv->cru, CPLL); + break; + case PLL_GPLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[GPLL], &priv->cru, GPLL); + break; + case PLL_NPLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[NPLL], &priv->cru, NPLL); + break; + case PLL_PPLL: + rate = rk_pll_get_rate(&rk3588_pll_clks[PPLL], &priv->cru, PPLL); + break; + case ACLK_CENTER_ROOT: + case PCLK_CENTER_ROOT: + case HCLK_CENTER_ROOT: + case ACLK_CENTER_LOW_ROOT: + rate = rk3588_center_get_clk(priv, pdata->id); + break; + case ACLK_TOP_ROOT: + case PCLK_TOP_ROOT: + case ACLK_LOW_TOP_ROOT: + rate = rk3588_top_get_clk(priv, pdata->id); + break; + case CLK_I2C0: + case CLK_I2C1: + case CLK_I2C2: + case CLK_I2C3: + case CLK_I2C4: + case CLK_I2C5: + case CLK_I2C6: + case CLK_I2C7: + case CLK_I2C8: + rate = rk3588_i2c_get_clk(priv, pdata->id); + break; + case CLK_SPI0: + case CLK_SPI1: + case CLK_SPI2: + case CLK_SPI3: + case CLK_SPI4: + rate = rk3588_spi_get_clk(priv, pdata->id); + break; + case CLK_PWM1: + case CLK_PWM2: + case CLK_PWM3: + case CLK_PMU1PWM: + rate = rk3588_pwm_get_clk(priv, pdata->id); + break; + case CLK_SARADC: + case CLK_TSADC: + rate = rk3588_adc_get_clk(priv, pdata->id); + break; + case CCLK_SRC_SDIO: + case CCLK_EMMC: + case BCLK_EMMC: + case SCLK_SFC: + case DCLK_DECOM: + rate = rk3588_mmc_get_clk(priv, pdata->id); + break; + case TCLK_WDT0: + rate = OSC_HZ; + break; +#ifndef CONFIG_SPL_BUILD + case CLK_AUX16M_0: + case CLK_AUX16M_1: + rk3588_aux16m_get_clk(priv, pdata->id); + break; + case ACLK_VOP_ROOT: + case ACLK_VOP: + case ACLK_VOP_LOW_ROOT: + case HCLK_VOP_ROOT: + rate = rk3588_aclk_vop_get_clk(priv, pdata->id); + break; + case DCLK_VOP0: + case DCLK_VOP0_SRC: + case DCLK_VOP1: + case DCLK_VOP1_SRC: + case DCLK_VOP2: + case DCLK_VOP2_SRC: + case DCLK_VOP3: + rate = rk3588_dclk_vop_get_clk(priv, pdata->id); + break; + case CLK_GMAC0_PTP_REF: + case CLK_GMAC1_PTP_REF: + case CLK_GMAC_125M: + case CLK_GMAC_50M: + rate = rk3588_gmac_get_clk(priv, pdata->id); + break; + case SCLK_UART1: + case SCLK_UART2: + case SCLK_UART3: + case SCLK_UART4: + case SCLK_UART5: + case SCLK_UART6: + case SCLK_UART7: + case SCLK_UART8: + case SCLK_UART9: + rate = rk3588_uart_get_rate(priv, pdata->id); + break; + case CLK_REF_PIPE_PHY0: + case CLK_REF_PIPE_PHY1: + case CLK_REF_PIPE_PHY2: + rate = rk3588_pciephy_get_rate(priv, pdata->id); + break; +#endif + default: + return -RT_ENOENT; + } + + return rate; +}; + +static rt_err_t mmc_set_phase(struct rk3588_clk_platform_data *pdata, + struct rk3588_clk *rk_clk, rt_uint32_t degrees) +{ + void *reg; + rt_ubase_t rate; + struct rk3588_clk_priv *priv = &rk_clk->clk_info; + struct rk3588_cru *cru = priv->cru; + + rate = rk_clk_get_rate(pdata, rk_clk); + + switch (pdata->id) + { + case SCLK_SDIO_DRV: + reg = &cru->sdio_con[0]; + break; + + case SCLK_SDIO_SAMPLE: + reg = &cru->sdio_con[1]; + break; + + case SCLK_SDMMC_DRV: + reg = &cru->sdmmc_con[0]; + break; + + case SCLK_SDMMC_SAMPLE: + reg = &cru->sdmmc_con[1]; + break; + } + + return rk_clk_mmc_set_phase(rate, reg, 1, degrees); +} + +static rt_base_t mmc_get_phase(struct rk3588_clk_platform_data *pdata, + struct rk3588_clk *rk_clk) +{ + void *reg; + rt_ubase_t rate; + struct rk3588_clk_priv *priv = &rk_clk->clk_info; + struct rk3588_cru *cru = priv->cru; + + rate = rk_clk_get_rate(pdata, rk_clk); + + switch (pdata->id) + { + case SCLK_SDIO_DRV: + reg = &cru->sdio_con[0]; + break; + + case SCLK_SDIO_SAMPLE: + reg = &cru->sdio_con[1]; + break; + + case SCLK_SDMMC_DRV: + reg = &cru->sdmmc_con[0]; + break; + + case SCLK_SDMMC_SAMPLE: + reg = &cru->sdmmc_con[1]; + break; + } + + return rk_clk_mmc_get_phase(rate, reg, 1); +} + +static rt_err_t rk3588_clk_init(struct rt_clk *clk, void *fw_data) +{ + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rt_ofw_cell_args *args = fw_data; + struct rk3588_clk_platform_data *pdata; + rt_uint32_t clk_id = args->args[0]; + rt_ubase_t reg_base; + + pdata = &rk_clk->pdata[clk_id]; + + reg_base = (rt_ubase_t)rk_clk->clk_info.cru; + + switch (clk_id) + { + case PLL_B0PLL: + reg_base += rk3588_pll_clks[B0PLL].con_offset; + break; + case PLL_B1PLL: + reg_base += rk3588_pll_clks[B1PLL].con_offset; + break; + case PLL_LPLL: + reg_base += rk3588_pll_clks[LPLL].con_offset; + break; + case PLL_V0PLL: + reg_base += rk3588_pll_clks[V0PLL].con_offset; + break; + case PLL_AUPLL: + reg_base += rk3588_pll_clks[AUPLL].con_offset; + break; + case PLL_CPLL: + reg_base += rk3588_pll_clks[CPLL].con_offset; + break; + case PLL_GPLL: + reg_base += rk3588_pll_clks[GPLL].con_offset; + break; + case PLL_NPLL: + reg_base += rk3588_pll_clks[NPLL].con_offset; + break; + case PLL_PPLL: + reg_base += rk3588_pll_clks[PPLL].con_offset; + break; + default: + reg_base = RT_NULL; + break; + } + + pdata->id = clk_id; + pdata->base = (void *)reg_base; + + clk->rate = rk_clk_get_rate(pdata, rk_clk); + clk->priv = pdata; + + rk_clk_set_default_rates(clk, clk->clk_np->ops->set_rate, clk_id); + + return RT_EOK; +} + +static rt_err_t rk_clk_wait_lock(struct rk3588_clk_platform_data *pdata) +{ + rt_err_t err = RT_EOK; + rt_uint32_t count = 0, pllcon; + + /* + * Lock time typical 250, max 500 input clock cycles @24MHz, So define a + * very safe maximum of 1000us, meaning 24000 cycles. + */ + do { + pllcon = HWREG32(pdata->base + 6*4); + ++count; + } while (pllcon & RK3588_PLLCON6_LOCK_STATUS && count < 10); + + if (count >= 10) + { + err = -RT_ETIMEOUT; + } + + return err; +} + +static rt_err_t rk3588_clk_enable(struct rt_clk *clk) +{ + struct rk3588_clk_platform_data *pdata = clk->priv; + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rk3588_cru *cru = rk_clk->clk_info.cru; + + if (pdata->base) + { + #define PLL_CON(x) ((x) * 0x4) + HWREG32(pdata->base + PLL_CON(6)) = HIWORD_UPDATE(0, RK3588_PLLCON1_PWRDOWN, 0); + + rk_clk_wait_lock(pdata); + } + else + { + void *con_regs; + struct rk3588_clk_gate *gate; + + gate = &clk_gates[pdata->id]; + con_regs = (void*)cru + gate->offset; + + rk_clrreg(con_regs, RT_BIT(gate->con_bit)); + } + + return RT_EOK; +} + + +static void rk3588_clk_disable(struct rt_clk *clk) +{ + struct rk3588_clk_platform_data *pdata = clk->priv; + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rk3588_cru *cru = rk_clk->clk_info.cru; + + if (pdata->base) + { + HWREG32(pdata->base + PLL_CON(1)) = HIWORD_UPDATE(RK3588_PLLCON1_PWRDOWN, RK3588_PLLCON1_PWRDOWN, 0); + } + else + { + void *con_regs; + struct rk3588_clk_gate *gate; + + gate = &clk_gates[pdata->id]; + con_regs = (void*)cru + gate->offset; + + rk_setreg(con_regs, RT_BIT(gate->con_bit)); + } + +} + +static rt_bool_t rk3588_clk_is_enabled(struct rt_clk *clk) +{ + struct rk3588_clk_platform_data *pdata = clk->priv; + + if (pdata->base) + { + rt_uint32_t pllcon = HWREG32(pdata->base + PLL_CON(1)); + + return !(pllcon & RK3588_PLLCON1_PWRDOWN); + } + + return RT_TRUE; +} + +static rt_err_t rk3588_clk_set_rate(struct rt_clk *clk, rt_ubase_t rate, rt_ubase_t prate) +{ + rt_ubase_t ret = 0; + rt_ubase_t res_rate; + struct rk3588_clk_platform_data *pdata = clk->priv; + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + struct rk3588_clk_priv *priv = &rk_clk->clk_info; + + if (!priv->gpll_hz) + { + LOG_D("%s gpll=%lu\n", __func__, priv->gpll_hz); + return -RT_ENOENT; + } + + if (!priv->ppll_hz) + { + priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], + priv->cru, PPLL); + } + + switch (pdata->id) + { + case PLL_CPLL: + res_rate = rk_pll_set_rate(&rk3588_pll_clks[CPLL], priv->cru, + CPLL, rate); + priv->cpll_hz = rk_pll_get_rate(&rk3588_pll_clks[CPLL], + priv->cru, CPLL); + break; + case PLL_GPLL: + res_rate = rk_pll_set_rate(&rk3588_pll_clks[GPLL], priv->cru, + GPLL, rate); + priv->gpll_hz = rk_pll_get_rate(&rk3588_pll_clks[GPLL], + priv->cru, GPLL); + break; + case PLL_NPLL: + res_rate = rk_pll_set_rate(&rk3588_pll_clks[NPLL], priv->cru, + NPLL, rate); + break; + case PLL_V0PLL: + res_rate = rk_pll_set_rate(&rk3588_pll_clks[V0PLL], priv->cru, + V0PLL, rate); + priv->v0pll_hz = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], + priv->cru, V0PLL); + break; + case PLL_AUPLL: + res_rate = rk_pll_set_rate(&rk3588_pll_clks[AUPLL], priv->cru, + AUPLL, rate); + priv->aupll_hz = rk_pll_get_rate(&rk3588_pll_clks[AUPLL], + priv->cru, AUPLL); + break; + case PLL_PPLL: + res_rate = rk_pll_set_rate(&rk3588_pll_clks[PPLL], priv->cru, + PPLL, rate); + priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], + priv->cru, PPLL); + break; + case ACLK_CENTER_ROOT: + case PCLK_CENTER_ROOT: + case HCLK_CENTER_ROOT: + case ACLK_CENTER_LOW_ROOT: + res_rate = rk3588_center_set_clk(priv, pdata->id, rate); + break; + case ACLK_TOP_ROOT: + case PCLK_TOP_ROOT: + case ACLK_LOW_TOP_ROOT: + res_rate = rk3588_top_set_clk(priv, pdata->id, rate); + break; + case CLK_I2C0: + case CLK_I2C1: + case CLK_I2C2: + case CLK_I2C3: + case CLK_I2C4: + case CLK_I2C5: + case CLK_I2C6: + case CLK_I2C7: + case CLK_I2C8: + res_rate = rk3588_i2c_set_clk(priv, pdata->id, rate); + break; + case CLK_SPI0: + case CLK_SPI1: + case CLK_SPI2: + case CLK_SPI3: + case CLK_SPI4: + res_rate = rk3588_spi_set_clk(priv, pdata->id, rate); + break; + case CLK_PWM1: + case CLK_PWM2: + case CLK_PWM3: + case CLK_PMU1PWM: + res_rate = rk3588_pwm_set_clk(priv, pdata->id, rate); + break; + case CLK_SARADC: + case CLK_TSADC: + res_rate = rk3588_adc_set_clk(priv, pdata->id, rate); + break; + case CCLK_SRC_SDIO: + case CCLK_EMMC: + case BCLK_EMMC: + case SCLK_SFC: + case DCLK_DECOM: + res_rate = rk3588_mmc_set_clk(priv, pdata->id, rate); + break; + case TCLK_WDT0: + res_rate = OSC_HZ; + break; +#ifndef CONFIG_SPL_BUILD + case CLK_AUX16M_0: + case CLK_AUX16M_1: + rk3588_aux16m_set_clk(priv, pdata->id, rate); + break; + case ACLK_VOP_ROOT: + case ACLK_VOP: + case ACLK_VOP_LOW_ROOT: + case HCLK_VOP_ROOT: + res_rate = rk3588_aclk_vop_set_clk(priv, pdata->id, rate); + break; + case DCLK_VOP0: + case DCLK_VOP0_SRC: + case DCLK_VOP1: + case DCLK_VOP1_SRC: + case DCLK_VOP2: + case DCLK_VOP2_SRC: + case DCLK_VOP3: + res_rate = rk3588_dclk_vop_set_clk(priv, pdata->id, rate); + break; + case CLK_GMAC0_PTP_REF: + case CLK_GMAC1_PTP_REF: + case CLK_GMAC_125M: + case CLK_GMAC_50M: + res_rate = rk3588_gmac_set_clk(priv, pdata->id, rate); + break; + case SCLK_UART1: + case SCLK_UART2: + case SCLK_UART3: + case SCLK_UART4: + case SCLK_UART5: + case SCLK_UART6: + case SCLK_UART7: + case SCLK_UART8: + case SCLK_UART9: + res_rate = rk3588_uart_set_rate(priv, pdata->id, rate); + break; + case CLK_REF_PIPE_PHY0: + case CLK_REF_PIPE_PHY1: + case CLK_REF_PIPE_PHY2: + res_rate = rk3588_pciephy_set_rate(priv, pdata->id, rate); + break; +#endif + default: + return -RT_ENOENT; + } + + if ((rt_base_t)res_rate > 0) + { + clk->rate = res_rate; + } + else + { + ret = (rt_ubase_t)res_rate > 0 ? RT_EOK : (rt_err_t)res_rate; + } + + return ret; +}; + +static int rk3588_dclk_vop_set_parent(struct rt_clk *clk, + struct rt_clk *parent) +{ + struct rk3588_clk_platform_data *pdata = clk->priv; + struct rk3588_clk_platform_data *ppdata = parent->priv; + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + /*struct rk3588_clk_priv *priv = &rk_clk->clk_info;*/ + struct rk3588_cru *cru = rk_clk->clk_info.cru; + + rt_uint32_t sel; + const char *clock_dev_name = parent->dev_id; + + if (ppdata->id == PLL_V0PLL) + sel = 2; + else if (ppdata->id == PLL_GPLL) + sel = 0; + else if (ppdata->id == PLL_CPLL) + sel = 1; + else + sel = 3; + + switch (pdata->id) + { + case DCLK_VOP0_SRC: + rk_clrsetreg(&cru->clksel_con[111], DCLK0_VOP_SRC_SEL_MASK, + sel << DCLK0_VOP_SRC_SEL_SHIFT); + break; + case DCLK_VOP1_SRC: + rk_clrsetreg(&cru->clksel_con[111], DCLK1_VOP_SRC_SEL_MASK, + sel << DCLK1_VOP_SRC_SEL_SHIFT); + break; + case DCLK_VOP2_SRC: + rk_clrsetreg(&cru->clksel_con[112], DCLK2_VOP_SRC_SEL_MASK, + sel << DCLK2_VOP_SRC_SEL_SHIFT); + break; + case DCLK_VOP3: + rk_clrsetreg(&cru->clksel_con[113], DCLK3_VOP_SRC_SEL_MASK, + sel << DCLK3_VOP_SRC_SEL_SHIFT); + break; + case DCLK_VOP0: + if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk0")) + sel = 1; + else if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk1")) + sel = 2; + else + sel = 0; + rk_clrsetreg(&cru->clksel_con[112], DCLK0_VOP_SEL_MASK, + sel << DCLK0_VOP_SEL_SHIFT); + break; + case DCLK_VOP1: + if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk0")) + sel = 1; + else if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk1")) + sel = 2; + else + sel = 0; + rk_clrsetreg(&cru->clksel_con[112], DCLK1_VOP_SEL_MASK, + sel << DCLK1_VOP_SEL_SHIFT); + break; + case DCLK_VOP2: + if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk0")) + sel = 1; + else if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk1")) + sel = 2; + else + sel = 0; + rk_clrsetreg(&cru->clksel_con[112], DCLK2_VOP_SEL_MASK, + sel << DCLK2_VOP_SEL_SHIFT); + break; + default: + return -RT_EINVAL; + } + return 0; +} + +static rt_err_t rk3588_clk_set_parent(struct rt_clk *clk, struct rt_clk *parent) +{ + struct rk3588_clk_platform_data *pdata = clk->priv; + switch (pdata->id) + { + case DCLK_VOP0_SRC: + case DCLK_VOP1_SRC: + case DCLK_VOP2_SRC: + case DCLK_VOP0: + case DCLK_VOP1: + case DCLK_VOP2: + case DCLK_VOP3: + return rk3588_dclk_vop_set_parent(clk, parent); + default: + return -RT_ENOENT; + } + + return 0; +} + +static rt_err_t rk3588_clk_set_phase(struct rt_clk *clk, int degrees) +{ + rt_err_t res; + struct rk3588_clk_platform_data *pdata = clk->priv; + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + + switch (pdata->id) + { + case SCLK_SDIO_DRV: + case SCLK_SDIO_SAMPLE: + case SCLK_SDMMC_DRV: + case SCLK_SDMMC_SAMPLE: + res = mmc_set_phase(pdata, rk_clk, degrees); + break; + + default: + return -RT_EINVAL; + } + + return res; +} + +static rt_base_t rk3588_clk_get_phase(struct rt_clk *clk) +{ + rt_base_t res; + struct rk3588_clk_platform_data *pdata = clk->priv; + struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); + + switch (pdata->id) + { + case SCLK_SDIO_DRV: + case SCLK_SDIO_SAMPLE: + case SCLK_SDMMC_DRV: + case SCLK_SDMMC_SAMPLE: + res = mmc_get_phase(pdata, rk_clk); + break; + + default: + return -RT_EINVAL; + } + + return res; +} + +static rt_base_t rk3588_clk_round_rate(struct rt_clk *clk, rt_ubase_t drate, + rt_ubase_t *prate) +{ + return rk_clk_pll_round_rate(rk3588_pll_rates, RT_ARRAY_SIZE(rk3588_pll_rates), drate, prate); +} + +static const struct rt_clk_ops rk3588_clk_ops = +{ + .init = rk3588_clk_init, + .enable = rk3588_clk_enable, + .disable = rk3588_clk_disable, + .is_enabled = rk3588_clk_is_enabled, + .set_rate = rk3588_clk_set_rate, + .set_parent = rk3588_clk_set_parent, + .set_phase = rk3588_clk_set_phase, + .get_phase = rk3588_clk_get_phase, + .round_rate = rk3588_clk_round_rate, +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +static void rk3588_cru_init(struct rk3588_clk *rk_clk, struct rt_ofw_node *np) +{ + rt_int32_t ret, div; + + struct rk3588_clk_priv *priv = &rk_clk->clk_info; + +div = RT_DIV_ROUND_UP(GPLL_HZ, 300 * MHz); +priv->cru = (struct rk3588_cru *)rk_clk->base; + rk_clrsetreg(&priv->cru->clksel_con[38], + ACLK_BUS_ROOT_SEL_MASK | + ACLK_BUS_ROOT_DIV_MASK, + div << ACLK_BUS_ROOT_DIV_SHIFT); + + + if (priv->cpll_hz != CPLL_HZ) + { + ret = rk_pll_set_rate(&rk3588_pll_clks[CPLL], priv->cru, + CPLL, CPLL_HZ); + if (!ret) + priv->cpll_hz = CPLL_HZ; + } + if (priv->gpll_hz != GPLL_HZ) + { + ret = rk_pll_set_rate(&rk3588_pll_clks[GPLL], priv->cru, + GPLL, GPLL_HZ); + if (!ret) + priv->gpll_hz = GPLL_HZ; + } + + if (priv->ppll_hz != PPLL_HZ) + { + ret = rk_pll_set_rate(&rk3588_pll_clks[PPLL], priv->cru, + PPLL, PPLL_HZ); + priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], + priv->cru, PPLL); + } + rk_clrsetreg(&priv->cru->clksel_con[9], + ACLK_TOP_S400_SEL_MASK | + ACLK_TOP_S200_SEL_MASK, + (ACLK_TOP_S400_SEL_400M << ACLK_TOP_S400_SEL_SHIFT) | + (ACLK_TOP_S200_SEL_200M << ACLK_TOP_S200_SEL_SHIFT)); +} +static rt_err_t clk_rk3588_probe(struct rt_platform_device *pdev) +{ + rt_err_t err; + rt_size_t data_size = CLK_NR_CLKS * sizeof(struct rk3588_clk_platform_data); + struct rk3588_clk *rk_clk; + struct rt_ofw_node *np = pdev->parent.ofw_node; + + rk_clk = rt_malloc(sizeof(*rk_clk) + data_size); + + if (rk_clk) + { + void *softrst_regs = RT_NULL; + rt_memset(&rk_clk->parent, 0, sizeof(rk_clk->parent)); + + rk_clk->base = rt_ofw_iomap(np, 0); +/*rt_kprintf("base %p\n", rk_clk->base);*/ + if (!rk_clk->base) + { + err = -RT_EIO; + goto _fail; + } + + + rk3588_cru_init(rk_clk, np); + softrst_regs = &rk_clk->clk_info.cru->softrst_con; + + + rk_clk->parent.parent.ops = &rk3588_clk_ops; + + if ((err = rt_clk_register(&rk_clk->parent.parent, RT_NULL))) + { + goto _fail; + } + + if ((err = rk_register_softrst(&rk_clk->parent.rstcer, np, + softrst_regs, ROCKCHIP_SOFTRST_HIWORD_MASK))) + { + goto _fail; + } + + rt_ofw_data(np) = &rk_clk->parent; + } + else + { + err = -RT_ENOMEM; + } + + return err; + +_fail: + if (rk_clk->base) + { + rt_iounmap(rk_clk->base); + } + + rt_free(rk_clk); + + return err; +} + +static const struct rt_ofw_node_id clk_rk3588_ofw_ids[] = +{ + { .compatible = "rockchip,rk3588-cru" }, + { /* sentinel */ } +}; + +static struct rt_platform_driver clk_rk3588_driver = +{ + .name = "clk-rk3588", + .ids = clk_rk3588_ofw_ids, + + .probe = clk_rk3588_probe, +}; + +static int clk_rk3588_register(void) +{ + rt_platform_driver_register(&clk_rk3588_driver); + + return 0; +} +INIT_SUBSYS_EXPORT(clk_rk3588_register); diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3588.h b/bsp/rockchip/rk3566/driver/clk/clk-rk3588.h new file mode 100644 index 00000000000..5a8a3152a7f --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/clk-rk3588.h @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ + +#ifndef __ROCKCHIP_CLK_H__ +#define __ROCKCHIP_CLK_H__ + +#include +#include +#include +#include +#include "../rockchip.h" + +#define HZ 100 +#define KHZ 1000 +#define MHZ 1000000 +#define OSC_HZ (24 * MHZ) + +struct rk_cpu_rate_table +{ + rt_ubase_t rate; + rt_uint32_t aclk_div; + rt_uint32_t pclk_div; +}; + +struct rk_pll_rate_table +{ + rt_ubase_t rate; + union { + struct { + /* for RK3066 */ + rt_uint32_t nr; + rt_uint32_t nf; + rt_uint32_t no; + rt_uint32_t nb; + }; + struct { + /* for RK3036/RK3399 */ + rt_uint32_t fbdiv; + rt_uint32_t postdiv1; + rt_uint32_t refdiv; + rt_uint32_t postdiv2; + rt_uint32_t dsmpd; + rt_uint32_t frac; + }; + struct { + /* for RK3588 */ + rt_uint32_t m; + rt_uint32_t p; + rt_uint32_t s; + rt_uint32_t k; + }; + }; +}; + +enum rk_pll_type { + pll_rk3036, + pll_rk3066, + pll_rk3328, + pll_rk3366, + pll_rk3399, + pll_rk3588, +}; + +typedef rt_uint32_t rk_pll_type_t; + +struct rk_pll_clock +{ + rt_uint32_t id; + rt_uint32_t con_offset; + rt_uint32_t mode_offset; + rt_uint32_t mode_shift; + rt_uint32_t lock_shift; + rk_pll_type_t type; + rt_uint32_t pll_flags; + struct rk_pll_rate_table *rate_table; + rt_uint32_t mode_mask; +}; +struct rk_clk_gate +{ + const char *name; + const char *parent_name; + + int con_idx; + int con_bit; +}; + +#define GATE(_id, _name, \ +_pname, _con_idx, _con_bit) \ +[_id] = \ +{ \ + .name = _name, \ + .parent_name = _pname, \ + .con_idx = _con_idx, \ + .con_bit = _con_bit, \ +} + + +#define CPUCLK_RATE(_rate, \ + _aclk_div, _pclk_div) \ +{ \ + .rate = _rate##U, \ + .aclk_div = _aclk_div, \ + .pclk_div = _pclk_div, \ +} + +#define RK3036_PLL_RATE(_rate, _refdiv, _fbdiv, \ + _postdiv1, _postdiv2, _dsmpd, _frac) \ +{ \ + .rate = _rate##U, \ + .fbdiv = _fbdiv, \ + .postdiv1 = _postdiv1, \ + .refdiv = _refdiv, \ + .postdiv2 = _postdiv2, \ + .dsmpd = _dsmpd, \ + .frac = _frac, \ +} + +#define RK3588_PLL_RATE(_rate, _p, _m, _s, _k) \ +{ \ + .rate = _rate##U, \ + .p = _p, \ + .m = _m, \ + .s = _s, \ + .k = _k, \ +} + +#define PLL(_type, _id, _con, _mode, _mshift, \ + _lshift, _pflags, _rtable) \ +{ \ + .type = _type, \ + .id = _id, \ + .con_offset = _con, \ + .mode_offset = _mode, \ + .mode_shift = _mshift, \ + .lock_shift = _lshift, \ + .pll_flags = _pflags, \ + .rate_table = _rtable, \ +} + +#define DIV_TO_RATE(input_rate, div) ((input_rate) / ((div) + 1)) + +#define ROCKCHIP_SOFTRST_HIWORD_MASK RT_BIT(0) + +#endif /* __ROCKCHIP_CLK_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/rk3568-cru.h b/bsp/rockchip/rk3566/driver/clk/rk3568-cru.h new file mode 100644 index 00000000000..00f59f71068 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/rk3568-cru.h @@ -0,0 +1,926 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef __DT_BINDINGS_CLK_ROCKCHIP_RK3568_H__ +#define __DT_BINDINGS_CLK_ROCKCHIP_RK3568_H__ + +/* pmucru-clocks indices */ + +/* pmucru plls */ +#define PLL_PPLL 1 +#define PLL_HPLL 2 + +/* pmucru clocks */ +#define XIN_OSC0_DIV 4 +#define CLK_RTC_32K 5 +#define CLK_PMU 6 +#define CLK_I2C0 7 +#define CLK_RTC32K_FRAC 8 +#define CLK_UART0_DIV 9 +#define CLK_UART0_FRAC 10 +#define SCLK_UART0 11 +#define DBCLK_GPIO0 12 +#define CLK_PWM0 13 +#define CLK_CAPTURE_PWM0_NDFT 14 +#define CLK_PMUPVTM 15 +#define CLK_CORE_PMUPVTM 16 +#define CLK_REF24M 17 +#define XIN_OSC0_USBPHY0_G 18 +#define CLK_USBPHY0_REF 19 +#define XIN_OSC0_USBPHY1_G 20 +#define CLK_USBPHY1_REF 21 +#define XIN_OSC0_MIPIDSIPHY0_G 22 +#define CLK_MIPIDSIPHY0_REF 23 +#define XIN_OSC0_MIPIDSIPHY1_G 24 +#define CLK_MIPIDSIPHY1_REF 25 +#define CLK_WIFI_DIV 26 +#define CLK_WIFI_OSC0 27 +#define CLK_WIFI 28 +#define CLK_PCIEPHY0_DIV 29 +#define CLK_PCIEPHY0_OSC0 30 +#define CLK_PCIEPHY0_REF 31 +#define CLK_PCIEPHY1_DIV 32 +#define CLK_PCIEPHY1_OSC0 33 +#define CLK_PCIEPHY1_REF 34 +#define CLK_PCIEPHY2_DIV 35 +#define CLK_PCIEPHY2_OSC0 36 +#define CLK_PCIEPHY2_REF 37 +#define CLK_PCIE30PHY_REF_M 38 +#define CLK_PCIE30PHY_REF_N 39 +#define CLK_HDMI_REF 40 +#define XIN_OSC0_EDPPHY_G 41 +#define PCLK_PDPMU 42 +#define PCLK_PMU 43 +#define PCLK_UART0 44 +#define PCLK_I2C0 45 +#define PCLK_GPIO0 46 +#define PCLK_PMUPVTM 47 +#define PCLK_PWM0 48 +#define CLK_PDPMU 49 +#define SCLK_32K_IOE 50 + +#define CLKPMU_NR_CLKS (SCLK_32K_IOE + 1) + +/* cru-clocks indices */ + +/* cru plls */ +#define PLL_APLL 1 +#define PLL_DPLL 2 +#define PLL_CPLL 3 +#define PLL_GPLL 4 +#define PLL_VPLL 5 +#define PLL_NPLL 6 + +/* cru clocks */ +#define CPLL_333M 9 +#define ARMCLK 10 +#define USB480M 11 +#define ACLK_CORE_NIU2BUS 18 +#define CLK_CORE_PVTM 19 +#define CLK_CORE_PVTM_CORE 20 +#define CLK_CORE_PVTPLL 21 +#define CLK_GPU_SRC 22 +#define CLK_GPU_PRE_NDFT 23 +#define CLK_GPU_PRE_MUX 24 +#define ACLK_GPU_PRE 25 +#define PCLK_GPU_PRE 26 +#define CLK_GPU 27 +#define CLK_GPU_NP5 28 +#define PCLK_GPU_PVTM 29 +#define CLK_GPU_PVTM 30 +#define CLK_GPU_PVTM_CORE 31 +#define CLK_GPU_PVTPLL 32 +#define CLK_NPU_SRC 33 +#define CLK_NPU_PRE_NDFT 34 +#define CLK_NPU 35 +#define CLK_NPU_NP5 36 +#define HCLK_NPU_PRE 37 +#define PCLK_NPU_PRE 38 +#define ACLK_NPU_PRE 39 +#define ACLK_NPU 40 +#define HCLK_NPU 41 +#define PCLK_NPU_PVTM 42 +#define CLK_NPU_PVTM 43 +#define CLK_NPU_PVTM_CORE 44 +#define CLK_NPU_PVTPLL 45 +#define CLK_DDRPHY1X_SRC 46 +#define CLK_DDRPHY1X_HWFFC_SRC 47 +#define CLK_DDR1X 48 +#define CLK_MSCH 49 +#define CLK24_DDRMON 50 +#define ACLK_GIC_AUDIO 51 +#define HCLK_GIC_AUDIO 52 +#define HCLK_SDMMC_BUFFER 53 +#define DCLK_SDMMC_BUFFER 54 +#define ACLK_GIC600 55 +#define ACLK_SPINLOCK 56 +#define HCLK_I2S0_8CH 57 +#define HCLK_I2S1_8CH 58 +#define HCLK_I2S2_2CH 59 +#define HCLK_I2S3_2CH 60 +#define CLK_I2S0_8CH_TX_SRC 61 +#define CLK_I2S0_8CH_TX_FRAC 62 +#define MCLK_I2S0_8CH_TX 63 +#define I2S0_MCLKOUT_TX 64 +#define CLK_I2S0_8CH_RX_SRC 65 +#define CLK_I2S0_8CH_RX_FRAC 66 +#define MCLK_I2S0_8CH_RX 67 +#define I2S0_MCLKOUT_RX 68 +#define CLK_I2S1_8CH_TX_SRC 69 +#define CLK_I2S1_8CH_TX_FRAC 70 +#define MCLK_I2S1_8CH_TX 71 +#define I2S1_MCLKOUT_TX 72 +#define CLK_I2S1_8CH_RX_SRC 73 +#define CLK_I2S1_8CH_RX_FRAC 74 +#define MCLK_I2S1_8CH_RX 75 +#define I2S1_MCLKOUT_RX 76 +#define CLK_I2S2_2CH_SRC 77 +#define CLK_I2S2_2CH_FRAC 78 +#define MCLK_I2S2_2CH 79 +#define I2S2_MCLKOUT 80 +#define CLK_I2S3_2CH_TX_SRC 81 +#define CLK_I2S3_2CH_TX_FRAC 82 +#define MCLK_I2S3_2CH_TX 83 +#define I2S3_MCLKOUT_TX 84 +#define CLK_I2S3_2CH_RX_SRC 85 +#define CLK_I2S3_2CH_RX_FRAC 86 +#define MCLK_I2S3_2CH_RX 87 +#define I2S3_MCLKOUT_RX 88 +#define HCLK_PDM 89 +#define MCLK_PDM 90 +#define HCLK_VAD 91 +#define HCLK_SPDIF_8CH 92 +#define MCLK_SPDIF_8CH_SRC 93 +#define MCLK_SPDIF_8CH_FRAC 94 +#define MCLK_SPDIF_8CH 95 +#define HCLK_AUDPWM 96 +#define SCLK_AUDPWM_SRC 97 +#define SCLK_AUDPWM_FRAC 98 +#define SCLK_AUDPWM 99 +#define HCLK_ACDCDIG 100 +#define CLK_ACDCDIG_I2C 101 +#define CLK_ACDCDIG_DAC 102 +#define CLK_ACDCDIG_ADC 103 +#define ACLK_SECURE_FLASH 104 +#define HCLK_SECURE_FLASH 105 +#define ACLK_CRYPTO_NS 106 +#define HCLK_CRYPTO_NS 107 +#define CLK_CRYPTO_NS_CORE 108 +#define CLK_CRYPTO_NS_PKA 109 +#define CLK_CRYPTO_NS_RNG 110 +#define HCLK_TRNG_NS 111 +#define CLK_TRNG_NS 112 +#define PCLK_OTPC_NS 113 +#define CLK_OTPC_NS_SBPI 114 +#define CLK_OTPC_NS_USR 115 +#define HCLK_NANDC 116 +#define NCLK_NANDC 117 +#define HCLK_SFC 118 +#define HCLK_SFC_XIP 119 +#define SCLK_SFC 120 +#define ACLK_EMMC 121 +#define HCLK_EMMC 122 +#define BCLK_EMMC 123 +#define CCLK_EMMC 124 +#define TCLK_EMMC 125 +#define ACLK_PIPE 126 +#define PCLK_PIPE 127 +#define PCLK_PIPE_GRF 128 +#define ACLK_PCIE20_MST 129 +#define ACLK_PCIE20_SLV 130 +#define ACLK_PCIE20_DBI 131 +#define PCLK_PCIE20 132 +#define CLK_PCIE20_AUX_NDFT 133 +#define CLK_PCIE20_AUX_DFT 134 +#define CLK_PCIE20_PIPE_DFT 135 +#define ACLK_PCIE30X1_MST 136 +#define ACLK_PCIE30X1_SLV 137 +#define ACLK_PCIE30X1_DBI 138 +#define PCLK_PCIE30X1 139 +#define CLK_PCIE30X1_AUX_NDFT 140 +#define CLK_PCIE30X1_AUX_DFT 141 +#define CLK_PCIE30X1_PIPE_DFT 142 +#define ACLK_PCIE30X2_MST 143 +#define ACLK_PCIE30X2_SLV 144 +#define ACLK_PCIE30X2_DBI 145 +#define PCLK_PCIE30X2 146 +#define CLK_PCIE30X2_AUX_NDFT 147 +#define CLK_PCIE30X2_AUX_DFT 148 +#define CLK_PCIE30X2_PIPE_DFT 149 +#define ACLK_SATA0 150 +#define CLK_SATA0_PMALIVE 151 +#define CLK_SATA0_RXOOB 152 +#define CLK_SATA0_PIPE_NDFT 153 +#define CLK_SATA0_PIPE_DFT 154 +#define ACLK_SATA1 155 +#define CLK_SATA1_PMALIVE 156 +#define CLK_SATA1_RXOOB 157 +#define CLK_SATA1_PIPE_NDFT 158 +#define CLK_SATA1_PIPE_DFT 159 +#define ACLK_SATA2 160 +#define CLK_SATA2_PMALIVE 161 +#define CLK_SATA2_RXOOB 162 +#define CLK_SATA2_PIPE_NDFT 163 +#define CLK_SATA2_PIPE_DFT 164 +#define ACLK_USB3OTG0 165 +#define CLK_USB3OTG0_REF 166 +#define CLK_USB3OTG0_SUSPEND 167 +#define ACLK_USB3OTG1 168 +#define CLK_USB3OTG1_REF 169 +#define CLK_USB3OTG1_SUSPEND 170 +#define CLK_XPCS_EEE 171 +#define PCLK_XPCS 172 +#define ACLK_PHP 173 +#define HCLK_PHP 174 +#define PCLK_PHP 175 +#define HCLK_SDMMC0 176 +#define CLK_SDMMC0 177 +#define HCLK_SDMMC1 178 +#define CLK_SDMMC1 179 +#define ACLK_GMAC0 180 +#define PCLK_GMAC0 181 +#define CLK_MAC0_2TOP 182 +#define CLK_MAC0_OUT 183 +#define CLK_MAC0_REFOUT 184 +#define CLK_GMAC0_PTP_REF 185 +#define ACLK_USB 186 +#define HCLK_USB 187 +#define PCLK_USB 188 +#define HCLK_USB2HOST0 189 +#define HCLK_USB2HOST0_ARB 190 +#define HCLK_USB2HOST1 191 +#define HCLK_USB2HOST1_ARB 192 +#define HCLK_SDMMC2 193 +#define CLK_SDMMC2 194 +#define ACLK_GMAC1 195 +#define PCLK_GMAC1 196 +#define CLK_MAC1_2TOP 197 +#define CLK_MAC1_OUT 198 +#define CLK_MAC1_REFOUT 199 +#define CLK_GMAC1_PTP_REF 200 +#define ACLK_PERIMID 201 +#define HCLK_PERIMID 202 +#define ACLK_VI 203 +#define HCLK_VI 204 +#define PCLK_VI 205 +#define ACLK_VICAP 206 +#define HCLK_VICAP 207 +#define DCLK_VICAP 208 +#define ICLK_VICAP_G 209 +#define ACLK_ISP 210 +#define HCLK_ISP 211 +#define CLK_ISP 212 +#define PCLK_CSI2HOST1 213 +#define CLK_CIF_OUT 214 +#define CLK_CAM0_OUT 215 +#define CLK_CAM1_OUT 216 +#define ACLK_VO 217 +#define HCLK_VO 218 +#define PCLK_VO 219 +#define ACLK_VOP_PRE 220 +#define ACLK_VOP 221 +#define HCLK_VOP 222 +#define DCLK_VOP0 223 +#define DCLK_VOP1 224 +#define DCLK_VOP2 225 +#define CLK_VOP_PWM 226 +#define ACLK_HDCP 227 +#define HCLK_HDCP 228 +#define PCLK_HDCP 229 +#define PCLK_HDMI_HOST 230 +#define CLK_HDMI_SFR 231 +#define PCLK_DSITX_0 232 +#define PCLK_DSITX_1 233 +#define PCLK_EDP_CTRL 234 +#define CLK_EDP_200M 235 +#define ACLK_VPU_PRE 236 +#define HCLK_VPU_PRE 237 +#define ACLK_VPU 238 +#define HCLK_VPU 239 +#define ACLK_RGA_PRE 240 +#define HCLK_RGA_PRE 241 +#define PCLK_RGA_PRE 242 +#define ACLK_RGA 243 +#define HCLK_RGA 244 +#define CLK_RGA_CORE 245 +#define ACLK_IEP 246 +#define HCLK_IEP 247 +#define CLK_IEP_CORE 248 +#define HCLK_EBC 249 +#define DCLK_EBC 250 +#define ACLK_JDEC 251 +#define HCLK_JDEC 252 +#define ACLK_JENC 253 +#define HCLK_JENC 254 +#define PCLK_EINK 255 +#define HCLK_EINK 256 +#define ACLK_RKVENC_PRE 257 +#define HCLK_RKVENC_PRE 258 +#define ACLK_RKVENC 259 +#define HCLK_RKVENC 260 +#define CLK_RKVENC_CORE 261 +#define ACLK_RKVDEC_PRE 262 +#define HCLK_RKVDEC_PRE 263 +#define ACLK_RKVDEC 264 +#define HCLK_RKVDEC 265 +#define CLK_RKVDEC_CA 266 +#define CLK_RKVDEC_CORE 267 +#define CLK_RKVDEC_HEVC_CA 268 +#define ACLK_BUS 269 +#define PCLK_BUS 270 +#define PCLK_TSADC 271 +#define CLK_TSADC_TSEN 272 +#define CLK_TSADC 273 +#define PCLK_SARADC 274 +#define CLK_SARADC 275 +#define PCLK_SCR 276 +#define PCLK_WDT_NS 277 +#define TCLK_WDT_NS 278 +#define ACLK_DMAC0 279 +#define ACLK_DMAC1 280 +#define ACLK_MCU 281 +#define PCLK_INTMUX 282 +#define PCLK_MAILBOX 283 +#define PCLK_UART1 284 +#define CLK_UART1_SRC 285 +#define CLK_UART1_FRAC 286 +#define SCLK_UART1 287 +#define PCLK_UART2 288 +#define CLK_UART2_SRC 289 +#define CLK_UART2_FRAC 290 +#define SCLK_UART2 291 +#define PCLK_UART3 292 +#define CLK_UART3_SRC 293 +#define CLK_UART3_FRAC 294 +#define SCLK_UART3 295 +#define PCLK_UART4 296 +#define CLK_UART4_SRC 297 +#define CLK_UART4_FRAC 298 +#define SCLK_UART4 299 +#define PCLK_UART5 300 +#define CLK_UART5_SRC 301 +#define CLK_UART5_FRAC 302 +#define SCLK_UART5 303 +#define PCLK_UART6 304 +#define CLK_UART6_SRC 305 +#define CLK_UART6_FRAC 306 +#define SCLK_UART6 307 +#define PCLK_UART7 308 +#define CLK_UART7_SRC 309 +#define CLK_UART7_FRAC 310 +#define SCLK_UART7 311 +#define PCLK_UART8 312 +#define CLK_UART8_SRC 313 +#define CLK_UART8_FRAC 314 +#define SCLK_UART8 315 +#define PCLK_UART9 316 +#define CLK_UART9_SRC 317 +#define CLK_UART9_FRAC 318 +#define SCLK_UART9 319 +#define PCLK_CAN0 320 +#define CLK_CAN0 321 +#define PCLK_CAN1 322 +#define CLK_CAN1 323 +#define PCLK_CAN2 324 +#define CLK_CAN2 325 +#define CLK_I2C 326 +#define PCLK_I2C1 327 +#define CLK_I2C1 328 +#define PCLK_I2C2 329 +#define CLK_I2C2 330 +#define PCLK_I2C3 331 +#define CLK_I2C3 332 +#define PCLK_I2C4 333 +#define CLK_I2C4 334 +#define PCLK_I2C5 335 +#define CLK_I2C5 336 +#define PCLK_SPI0 337 +#define CLK_SPI0 338 +#define PCLK_SPI1 339 +#define CLK_SPI1 340 +#define PCLK_SPI2 341 +#define CLK_SPI2 342 +#define PCLK_SPI3 343 +#define CLK_SPI3 344 +#define PCLK_PWM1 345 +#define CLK_PWM1 346 +#define CLK_PWM1_CAPTURE 347 +#define PCLK_PWM2 348 +#define CLK_PWM2 349 +#define CLK_PWM2_CAPTURE 350 +#define PCLK_PWM3 351 +#define CLK_PWM3 352 +#define CLK_PWM3_CAPTURE 353 +#define DBCLK_GPIO 354 +#define PCLK_GPIO1 355 +#define DBCLK_GPIO1 356 +#define PCLK_GPIO2 357 +#define DBCLK_GPIO2 358 +#define PCLK_GPIO3 359 +#define DBCLK_GPIO3 360 +#define PCLK_GPIO4 361 +#define DBCLK_GPIO4 362 +#define OCC_SCAN_CLK_GPIO 363 +#define PCLK_TIMER 364 +#define CLK_TIMER0 365 +#define CLK_TIMER1 366 +#define CLK_TIMER2 367 +#define CLK_TIMER3 368 +#define CLK_TIMER4 369 +#define CLK_TIMER5 370 +#define ACLK_TOP_HIGH 371 +#define ACLK_TOP_LOW 372 +#define HCLK_TOP 373 +#define PCLK_TOP 374 +#define PCLK_PCIE30PHY 375 +#define CLK_OPTC_ARB 376 +#define PCLK_MIPICSIPHY 377 +#define PCLK_MIPIDSIPHY0 378 +#define PCLK_MIPIDSIPHY1 379 +#define PCLK_PIPEPHY0 380 +#define PCLK_PIPEPHY1 381 +#define PCLK_PIPEPHY2 382 +#define PCLK_CPU_BOOST 383 +#define CLK_CPU_BOOST 384 +#define PCLK_OTPPHY 385 +#define SCLK_GMAC0 386 +#define SCLK_GMAC0_RGMII_SPEED 387 +#define SCLK_GMAC0_RMII_SPEED 388 +#define SCLK_GMAC0_RX_TX 389 +#define SCLK_GMAC1 390 +#define SCLK_GMAC1_RGMII_SPEED 391 +#define SCLK_GMAC1_RMII_SPEED 392 +#define SCLK_GMAC1_RX_TX 393 +#define SCLK_SDMMC0_DRV 394 +#define SCLK_SDMMC0_SAMPLE 395 +#define SCLK_SDMMC1_DRV 396 +#define SCLK_SDMMC1_SAMPLE 397 +#define SCLK_SDMMC2_DRV 398 +#define SCLK_SDMMC2_SAMPLE 399 +#define SCLK_EMMC_DRV 400 +#define SCLK_EMMC_SAMPLE 401 +#define PCLK_EDPPHY_GRF 402 +#define CLK_HDMI_CEC 403 +#define CLK_I2S0_8CH_TX 404 +#define CLK_I2S0_8CH_RX 405 +#define CLK_I2S1_8CH_TX 406 +#define CLK_I2S1_8CH_RX 407 +#define CLK_I2S2_2CH 408 +#define CLK_I2S3_2CH_TX 409 +#define CLK_I2S3_2CH_RX 410 +#define CPLL_500M 411 +#define CPLL_250M 412 +#define CPLL_125M 413 +#define CPLL_62P5M 414 +#define CPLL_50M 415 +#define CPLL_25M 416 +#define CPLL_100M 417 +#define SCLK_DDRCLK 418 + +#define PCLK_CORE_PVTM 450 + +#define CLK_NR_CLKS (PCLK_CORE_PVTM + 1) + +/* pmu soft-reset indices */ +/* pmucru_softrst_con0 */ +#define SRST_P_PDPMU_NIU 0 +#define SRST_P_PMUCRU 1 +#define SRST_P_PMUGRF 2 +#define SRST_P_I2C0 3 +#define SRST_I2C0 4 +#define SRST_P_UART0 5 +#define SRST_S_UART0 6 +#define SRST_P_PWM0 7 +#define SRST_PWM0 8 +#define SRST_P_GPIO0 9 +#define SRST_GPIO0 10 +#define SRST_P_PMUPVTM 11 +#define SRST_PMUPVTM 12 + +/* soft-reset indices */ + +/* cru_softrst_con0 */ +#define SRST_NCORERESET0 0 +#define SRST_NCORERESET1 1 +#define SRST_NCORERESET2 2 +#define SRST_NCORERESET3 3 +#define SRST_NCPUPORESET0 4 +#define SRST_NCPUPORESET1 5 +#define SRST_NCPUPORESET2 6 +#define SRST_NCPUPORESET3 7 +#define SRST_NSRESET 8 +#define SRST_NSPORESET 9 +#define SRST_NATRESET 10 +#define SRST_NGICRESET 11 +#define SRST_NPRESET 12 +#define SRST_NPERIPHRESET 13 + +/* cru_softrst_con1 */ +#define SRST_A_CORE_NIU2DDR 16 +#define SRST_A_CORE_NIU2BUS 17 +#define SRST_P_DBG_NIU 18 +#define SRST_P_DBG 19 +#define SRST_P_DBG_DAPLITE 20 +#define SRST_DAP 21 +#define SRST_A_ADB400_CORE2GIC 22 +#define SRST_A_ADB400_GIC2CORE 23 +#define SRST_P_CORE_GRF 24 +#define SRST_P_CORE_PVTM 25 +#define SRST_CORE_PVTM 26 +#define SRST_CORE_PVTPLL 27 + +/* cru_softrst_con2 */ +#define SRST_GPU 32 +#define SRST_A_GPU_NIU 33 +#define SRST_P_GPU_NIU 34 +#define SRST_P_GPU_PVTM 35 +#define SRST_GPU_PVTM 36 +#define SRST_GPU_PVTPLL 37 +#define SRST_A_NPU_NIU 40 +#define SRST_H_NPU_NIU 41 +#define SRST_P_NPU_NIU 42 +#define SRST_A_NPU 43 +#define SRST_H_NPU 44 +#define SRST_P_NPU_PVTM 45 +#define SRST_NPU_PVTM 46 +#define SRST_NPU_PVTPLL 47 + +/* cru_softrst_con3 */ +#define SRST_A_MSCH 51 +#define SRST_HWFFC_CTRL 52 +#define SRST_DDR_ALWAYSON 53 +#define SRST_A_DDRSPLIT 54 +#define SRST_DDRDFI_CTL 55 +#define SRST_A_DMA2DDR 57 + +/* cru_softrst_con4 */ +#define SRST_A_PERIMID_NIU 64 +#define SRST_H_PERIMID_NIU 65 +#define SRST_A_GIC_AUDIO_NIU 66 +#define SRST_H_GIC_AUDIO_NIU 67 +#define SRST_A_GIC600 68 +#define SRST_A_GIC600_DEBUG 69 +#define SRST_A_GICADB_CORE2GIC 70 +#define SRST_A_GICADB_GIC2CORE 71 +#define SRST_A_SPINLOCK 72 +#define SRST_H_SDMMC_BUFFER 73 +#define SRST_D_SDMMC_BUFFER 74 +#define SRST_H_I2S0_8CH 75 +#define SRST_H_I2S1_8CH 76 +#define SRST_H_I2S2_2CH 77 +#define SRST_H_I2S3_2CH 78 + +/* cru_softrst_con5 */ +#define SRST_M_I2S0_8CH_TX 80 +#define SRST_M_I2S0_8CH_RX 81 +#define SRST_M_I2S1_8CH_TX 82 +#define SRST_M_I2S1_8CH_RX 83 +#define SRST_M_I2S2_2CH 84 +#define SRST_M_I2S3_2CH_TX 85 +#define SRST_M_I2S3_2CH_RX 86 +#define SRST_H_PDM 87 +#define SRST_M_PDM 88 +#define SRST_H_VAD 89 +#define SRST_H_SPDIF_8CH 90 +#define SRST_M_SPDIF_8CH 91 +#define SRST_H_AUDPWM 92 +#define SRST_S_AUDPWM 93 +#define SRST_H_ACDCDIG 94 +#define SRST_ACDCDIG 95 + +/* cru_softrst_con6 */ +#define SRST_A_SECURE_FLASH_NIU 96 +#define SRST_H_SECURE_FLASH_NIU 97 +#define SRST_A_CRYPTO_NS 103 +#define SRST_H_CRYPTO_NS 104 +#define SRST_CRYPTO_NS_CORE 105 +#define SRST_CRYPTO_NS_PKA 106 +#define SRST_CRYPTO_NS_RNG 107 +#define SRST_H_TRNG_NS 108 +#define SRST_TRNG_NS 109 + +/* cru_softrst_con7 */ +#define SRST_H_NANDC 112 +#define SRST_N_NANDC 113 +#define SRST_H_SFC 114 +#define SRST_H_SFC_XIP 115 +#define SRST_S_SFC 116 +#define SRST_A_EMMC 117 +#define SRST_H_EMMC 118 +#define SRST_B_EMMC 119 +#define SRST_C_EMMC 120 +#define SRST_T_EMMC 121 + +/* cru_softrst_con8 */ +#define SRST_A_PIPE_NIU 128 +#define SRST_P_PIPE_NIU 130 +#define SRST_P_PIPE_GRF 133 +#define SRST_A_SATA0 134 +#define SRST_SATA0_PIPE 135 +#define SRST_SATA0_PMALIVE 136 +#define SRST_SATA0_RXOOB 137 +#define SRST_A_SATA1 138 +#define SRST_SATA1_PIPE 139 +#define SRST_SATA1_PMALIVE 140 +#define SRST_SATA1_RXOOB 141 + +/* cru_softrst_con9 */ +#define SRST_A_SATA2 144 +#define SRST_SATA2_PIPE 145 +#define SRST_SATA2_PMALIVE 146 +#define SRST_SATA2_RXOOB 147 +#define SRST_USB3OTG0 148 +#define SRST_USB3OTG1 149 +#define SRST_XPCS 150 +#define SRST_XPCS_TX_DIV10 151 +#define SRST_XPCS_RX_DIV10 152 +#define SRST_XPCS_XGXS_RX 153 + +/* cru_softrst_con10 */ +#define SRST_P_PCIE20 160 +#define SRST_PCIE20_POWERUP 161 +#define SRST_MSTR_ARESET_PCIE20 162 +#define SRST_SLV_ARESET_PCIE20 163 +#define SRST_DBI_ARESET_PCIE20 164 +#define SRST_BRESET_PCIE20 165 +#define SRST_PERST_PCIE20 166 +#define SRST_CORE_RST_PCIE20 167 +#define SRST_NSTICKY_RST_PCIE20 168 +#define SRST_STICKY_RST_PCIE20 169 +#define SRST_PWR_RST_PCIE20 170 + +/* cru_softrst_con11 */ +#define SRST_P_PCIE30X1 176 +#define SRST_PCIE30X1_POWERUP 177 +#define SRST_M_ARESET_PCIE30X1 178 +#define SRST_S_ARESET_PCIE30X1 179 +#define SRST_D_ARESET_PCIE30X1 180 +#define SRST_BRESET_PCIE30X1 181 +#define SRST_PERST_PCIE30X1 182 +#define SRST_CORE_RST_PCIE30X1 183 +#define SRST_NSTC_RST_PCIE30X1 184 +#define SRST_STC_RST_PCIE30X1 185 +#define SRST_PWR_RST_PCIE30X1 186 + +/* cru_softrst_con12 */ +#define SRST_P_PCIE30X2 192 +#define SRST_PCIE30X2_POWERUP 193 +#define SRST_M_ARESET_PCIE30X2 194 +#define SRST_S_ARESET_PCIE30X2 195 +#define SRST_D_ARESET_PCIE30X2 196 +#define SRST_BRESET_PCIE30X2 197 +#define SRST_PERST_PCIE30X2 198 +#define SRST_CORE_RST_PCIE30X2 199 +#define SRST_NSTC_RST_PCIE30X2 200 +#define SRST_STC_RST_PCIE30X2 201 +#define SRST_PWR_RST_PCIE30X2 202 + +/* cru_softrst_con13 */ +#define SRST_A_PHP_NIU 208 +#define SRST_H_PHP_NIU 209 +#define SRST_P_PHP_NIU 210 +#define SRST_H_SDMMC0 211 +#define SRST_SDMMC0 212 +#define SRST_H_SDMMC1 213 +#define SRST_SDMMC1 214 +#define SRST_A_GMAC0 215 +#define SRST_GMAC0_TIMESTAMP 216 + +/* cru_softrst_con14 */ +#define SRST_A_USB_NIU 224 +#define SRST_H_USB_NIU 225 +#define SRST_P_USB_NIU 226 +#define SRST_P_USB_GRF 227 +#define SRST_H_USB2HOST0 228 +#define SRST_H_USB2HOST0_ARB 229 +#define SRST_USB2HOST0_UTMI 230 +#define SRST_H_USB2HOST1 231 +#define SRST_H_USB2HOST1_ARB 232 +#define SRST_USB2HOST1_UTMI 233 +#define SRST_H_SDMMC2 234 +#define SRST_SDMMC2 235 +#define SRST_A_GMAC1 236 +#define SRST_GMAC1_TIMESTAMP 237 + +/* cru_softrst_con15 */ +#define SRST_A_VI_NIU 240 +#define SRST_H_VI_NIU 241 +#define SRST_P_VI_NIU 242 +#define SRST_A_VICAP 247 +#define SRST_H_VICAP 248 +#define SRST_D_VICAP 249 +#define SRST_I_VICAP 250 +#define SRST_P_VICAP 251 +#define SRST_H_ISP 252 +#define SRST_ISP 253 +#define SRST_P_CSI2HOST1 255 + +/* cru_softrst_con16 */ +#define SRST_A_VO_NIU 256 +#define SRST_H_VO_NIU 257 +#define SRST_P_VO_NIU 258 +#define SRST_A_VOP_NIU 259 +#define SRST_A_VOP 260 +#define SRST_H_VOP 261 +#define SRST_VOP0 262 +#define SRST_VOP1 263 +#define SRST_VOP2 264 +#define SRST_VOP_PWM 265 +#define SRST_A_HDCP 266 +#define SRST_H_HDCP 267 +#define SRST_P_HDCP 268 +#define SRST_P_HDMI_HOST 270 +#define SRST_HDMI_HOST 271 + +/* cru_softrst_con17 */ +#define SRST_P_DSITX_0 272 +#define SRST_P_DSITX_1 273 +#define SRST_P_EDP_CTRL 274 +#define SRST_EDP_24M 275 +#define SRST_A_VPU_NIU 280 +#define SRST_H_VPU_NIU 281 +#define SRST_A_VPU 282 +#define SRST_H_VPU 283 +#define SRST_H_EINK 286 +#define SRST_P_EINK 287 + +/* cru_softrst_con18 */ +#define SRST_A_RGA_NIU 288 +#define SRST_H_RGA_NIU 289 +#define SRST_P_RGA_NIU 290 +#define SRST_A_RGA 292 +#define SRST_H_RGA 293 +#define SRST_RGA_CORE 294 +#define SRST_A_IEP 295 +#define SRST_H_IEP 296 +#define SRST_IEP_CORE 297 +#define SRST_H_EBC 298 +#define SRST_D_EBC 299 +#define SRST_A_JDEC 300 +#define SRST_H_JDEC 301 +#define SRST_A_JENC 302 +#define SRST_H_JENC 303 + +/* cru_softrst_con19 */ +#define SRST_A_VENC_NIU 304 +#define SRST_H_VENC_NIU 305 +#define SRST_A_RKVENC 307 +#define SRST_H_RKVENC 308 +#define SRST_RKVENC_CORE 309 + +/* cru_softrst_con20 */ +#define SRST_A_RKVDEC_NIU 320 +#define SRST_H_RKVDEC_NIU 321 +#define SRST_A_RKVDEC 322 +#define SRST_H_RKVDEC 323 +#define SRST_RKVDEC_CA 324 +#define SRST_RKVDEC_CORE 325 +#define SRST_RKVDEC_HEVC_CA 326 + +/* cru_softrst_con21 */ +#define SRST_A_BUS_NIU 336 +#define SRST_P_BUS_NIU 338 +#define SRST_P_CAN0 340 +#define SRST_CAN0 341 +#define SRST_P_CAN1 342 +#define SRST_CAN1 343 +#define SRST_P_CAN2 344 +#define SRST_CAN2 345 +#define SRST_P_GPIO1 346 +#define SRST_GPIO1 347 +#define SRST_P_GPIO2 348 +#define SRST_GPIO2 349 +#define SRST_P_GPIO3 350 +#define SRST_GPIO3 351 + +/* cru_softrst_con22 */ +#define SRST_P_GPIO4 352 +#define SRST_GPIO4 353 +#define SRST_P_I2C1 354 +#define SRST_I2C1 355 +#define SRST_P_I2C2 356 +#define SRST_I2C2 357 +#define SRST_P_I2C3 358 +#define SRST_I2C3 359 +#define SRST_P_I2C4 360 +#define SRST_I2C4 361 +#define SRST_P_I2C5 362 +#define SRST_I2C5 363 +#define SRST_P_OTPC_NS 364 +#define SRST_OTPC_NS_SBPI 365 +#define SRST_OTPC_NS_USR 366 + +/* cru_softrst_con23 */ +#define SRST_P_PWM1 368 +#define SRST_PWM1 369 +#define SRST_P_PWM2 370 +#define SRST_PWM2 371 +#define SRST_P_PWM3 372 +#define SRST_PWM3 373 +#define SRST_P_SPI0 374 +#define SRST_SPI0 375 +#define SRST_P_SPI1 376 +#define SRST_SPI1 377 +#define SRST_P_SPI2 378 +#define SRST_SPI2 379 +#define SRST_P_SPI3 380 +#define SRST_SPI3 381 + +/* cru_softrst_con24 */ +#define SRST_P_SARADC 384 +#define SRST_P_TSADC 385 +#define SRST_TSADC 386 +#define SRST_P_TIMER 387 +#define SRST_TIMER0 388 +#define SRST_TIMER1 389 +#define SRST_TIMER2 390 +#define SRST_TIMER3 391 +#define SRST_TIMER4 392 +#define SRST_TIMER5 393 +#define SRST_P_UART1 394 +#define SRST_S_UART1 395 + +/* cru_softrst_con25 */ +#define SRST_P_UART2 400 +#define SRST_S_UART2 401 +#define SRST_P_UART3 402 +#define SRST_S_UART3 403 +#define SRST_P_UART4 404 +#define SRST_S_UART4 405 +#define SRST_P_UART5 406 +#define SRST_S_UART5 407 +#define SRST_P_UART6 408 +#define SRST_S_UART6 409 +#define SRST_P_UART7 410 +#define SRST_S_UART7 411 +#define SRST_P_UART8 412 +#define SRST_S_UART8 413 +#define SRST_P_UART9 414 +#define SRST_S_UART9 415 + +/* cru_softrst_con26 */ +#define SRST_P_GRF 416 +#define SRST_P_GRF_VCCIO12 417 +#define SRST_P_GRF_VCCIO34 418 +#define SRST_P_GRF_VCCIO567 419 +#define SRST_P_SCR 420 +#define SRST_P_WDT_NS 421 +#define SRST_T_WDT_NS 422 +#define SRST_P_DFT2APB 423 +#define SRST_A_MCU 426 +#define SRST_P_INTMUX 427 +#define SRST_P_MAILBOX 428 + +/* cru_softrst_con27 */ +#define SRST_A_TOP_HIGH_NIU 432 +#define SRST_A_TOP_LOW_NIU 433 +#define SRST_H_TOP_NIU 434 +#define SRST_P_TOP_NIU 435 +#define SRST_P_TOP_CRU 438 +#define SRST_P_DDRPHY 439 +#define SRST_DDRPHY 440 +#define SRST_P_MIPICSIPHY 442 +#define SRST_P_MIPIDSIPHY0 443 +#define SRST_P_MIPIDSIPHY1 444 +#define SRST_P_PCIE30PHY 445 +#define SRST_PCIE30PHY 446 +#define SRST_P_PCIE30PHY_GRF 447 + +/* cru_softrst_con28 */ +#define SRST_P_APB2ASB_LEFT 448 +#define SRST_P_APB2ASB_BOTTOM 449 +#define SRST_P_ASB2APB_LEFT 450 +#define SRST_P_ASB2APB_BOTTOM 451 +#define SRST_P_PIPEPHY0 452 +#define SRST_PIPEPHY0 453 +#define SRST_P_PIPEPHY1 454 +#define SRST_PIPEPHY1 455 +#define SRST_P_PIPEPHY2 456 +#define SRST_PIPEPHY2 457 +#define SRST_P_USB2PHY0_GRF 458 +#define SRST_P_USB2PHY1_GRF 459 +#define SRST_P_CPU_BOOST 460 +#define SRST_CPU_BOOST 461 +#define SRST_P_OTPPHY 462 +#define SRST_OTPPHY 463 + +/* cru_softrst_con29 */ +#define SRST_USB2PHY0_POR 464 +#define SRST_USB2PHY0_USB3OTG0 465 +#define SRST_USB2PHY0_USB3OTG1 466 +#define SRST_USB2PHY1_POR 467 +#define SRST_USB2PHY1_USB2HOST0 468 +#define SRST_USB2PHY1_USB2HOST1 469 +#define SRST_P_EDPPHY_GRF 470 +#define SRST_TSADCPHY 471 +#define SRST_GMAC0_DELAYLINE 472 +#define SRST_GMAC1_DELAYLINE 473 +#define SRST_OTPC_ARB 474 +#define SRST_P_PIPEPHY0_GRF 475 +#define SRST_P_PIPEPHY1_GRF 476 +#define SRST_P_PIPEPHY2_GRF 477 + +#endif /* __DT_BINDINGS_CLK_ROCKCHIP_RK3568_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/rk3588-cru.h b/bsp/rockchip/rk3566/driver/clk/rk3588-cru.h new file mode 100644 index 00000000000..1982073979d --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/rk3588-cru.h @@ -0,0 +1,1497 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef __DT_BINDINGS_CLK_ROCKCHIP_RK3588_H__ +#define __DT_BINDINGS_CLK_ROCKCHIP_RK3588_H__ + +/* cru-clocks indices */ + +/* cru plls */ +#define PLL_B0PLL 1 +#define PLL_B1PLL 2 +#define PLL_LPLL 3 +#define PLL_V0PLL 4 +#define PLL_AUPLL 5 +#define PLL_CPLL 6 +#define PLL_GPLL 7 +#define PLL_NPLL 8 +#define PLL_PPLL 9 +#define ARMCLK_L 10 +#define ARMCLK_B01 11 +#define ARMCLK_B23 12 + +/* cru clocks */ +#define PCLK_BIGCORE0_ROOT 20 +#define PCLK_BIGCORE0_PVTM 21 +#define PCLK_BIGCORE1_ROOT 22 +#define PCLK_BIGCORE1_PVTM 23 +#define PCLK_DSU_S_ROOT 24 +#define PCLK_DSU_ROOT 25 +#define PCLK_DSU_NS_ROOT 26 +#define PCLK_LITCORE_PVTM 27 +#define PCLK_DBG 28 +#define PCLK_DSU 29 +#define PCLK_S_DAPLITE 30 +#define PCLK_M_DAPLITE 31 +#define MBIST_MCLK_PDM1 32 +#define MBIST_CLK_ACDCDIG 33 +#define HCLK_I2S2_2CH 34 +#define HCLK_I2S3_2CH 35 +#define CLK_I2S2_2CH_SRC 36 +#define CLK_I2S2_2CH_FRAC 37 +#define CLK_I2S2_2CH 38 +#define MCLK_I2S2_2CH 39 +#define I2S2_2CH_MCLKOUT 40 +#define CLK_DAC_ACDCDIG 41 +#define CLK_I2S3_2CH_SRC 42 +#define CLK_I2S3_2CH_FRAC 43 +#define CLK_I2S3_2CH 44 +#define MCLK_I2S3_2CH 45 +#define I2S3_2CH_MCLKOUT 46 +#define PCLK_ACDCDIG 47 +#define HCLK_I2S0_8CH 48 +#define CLK_I2S0_8CH_TX_SRC 49 +#define CLK_I2S0_8CH_TX_FRAC 50 +#define MCLK_I2S0_8CH_TX 51 +#define CLK_I2S0_8CH_TX 52 +#define CLK_I2S0_8CH_RX_SRC 53 +#define CLK_I2S0_8CH_RX_FRAC 54 +#define MCLK_I2S0_8CH_RX 55 +#define CLK_I2S0_8CH_RX 56 +#define I2S0_8CH_MCLKOUT 57 +#define HCLK_PDM1 58 +#define MCLK_PDM1 59 +#define HCLK_AUDIO_ROOT 60 +#define PCLK_AUDIO_ROOT 61 +#define HCLK_SPDIF0 62 +#define CLK_SPDIF0_SRC 63 +#define CLK_SPDIF0_FRAC 64 +#define MCLK_SPDIF0 65 +#define CLK_SPDIF0 66 +#define CLK_SPDIF1 67 +#define HCLK_SPDIF1 68 +#define CLK_SPDIF1_SRC 69 +#define CLK_SPDIF1_FRAC 70 +#define MCLK_SPDIF1 71 +#define ACLK_AV1_ROOT 72 +#define ACLK_AV1 73 +#define PCLK_AV1_ROOT 74 +#define PCLK_AV1 75 +#define PCLK_MAILBOX0 76 +#define PCLK_MAILBOX1 77 +#define PCLK_MAILBOX2 78 +#define PCLK_PMU2 79 +#define PCLK_PMUCM0_INTMUX 80 +#define PCLK_DDRCM0_INTMUX 81 +#define PCLK_TOP 82 +#define PCLK_PWM1 83 +#define CLK_PWM1 84 +#define CLK_PWM1_CAPTURE 85 +#define PCLK_PWM2 86 +#define CLK_PWM2 87 +#define CLK_PWM2_CAPTURE 88 +#define PCLK_PWM3 89 +#define CLK_PWM3 90 +#define CLK_PWM3_CAPTURE 91 +#define PCLK_BUSTIMER0 92 +#define PCLK_BUSTIMER1 93 +#define CLK_BUS_TIMER_ROOT 94 +#define CLK_BUSTIMER0 95 +#define CLK_BUSTIMER1 96 +#define CLK_BUSTIMER2 97 +#define CLK_BUSTIMER3 98 +#define CLK_BUSTIMER4 99 +#define CLK_BUSTIMER5 100 +#define CLK_BUSTIMER6 101 +#define CLK_BUSTIMER7 102 +#define CLK_BUSTIMER8 103 +#define CLK_BUSTIMER9 104 +#define CLK_BUSTIMER10 105 +#define CLK_BUSTIMER11 106 +#define PCLK_WDT0 107 +#define TCLK_WDT0 108 +#define PCLK_CAN0 111 +#define CLK_CAN0 112 +#define PCLK_CAN1 113 +#define CLK_CAN1 114 +#define PCLK_CAN2 115 +#define CLK_CAN2 116 +#define ACLK_DECOM 117 +#define PCLK_DECOM 118 +#define DCLK_DECOM 119 +#define ACLK_DMAC0 120 +#define ACLK_DMAC1 121 +#define ACLK_DMAC2 122 +#define ACLK_BUS_ROOT 123 +#define ACLK_GIC 124 +#define PCLK_GPIO1 125 +#define DBCLK_GPIO1 126 +#define PCLK_GPIO2 127 +#define DBCLK_GPIO2 128 +#define PCLK_GPIO3 129 +#define DBCLK_GPIO3 130 +#define PCLK_GPIO4 131 +#define DBCLK_GPIO4 132 +#define PCLK_I2C1 133 +#define PCLK_I2C2 134 +#define PCLK_I2C3 135 +#define PCLK_I2C4 136 +#define PCLK_I2C5 137 +#define PCLK_I2C6 138 +#define PCLK_I2C7 139 +#define PCLK_I2C8 140 +#define CLK_I2C1 141 +#define CLK_I2C2 142 +#define CLK_I2C3 143 +#define CLK_I2C4 144 +#define CLK_I2C5 145 +#define CLK_I2C6 146 +#define CLK_I2C7 147 +#define CLK_I2C8 148 +#define PCLK_OTPC_NS 149 +#define CLK_OTPC_NS 150 +#define CLK_OTPC_ARB 151 +#define CLK_OTPC_AUTO_RD_G 152 +#define CLK_OTP_PHY_G 153 +#define PCLK_SARADC 156 +#define CLK_SARADC 157 +#define PCLK_SPI0 158 +#define PCLK_SPI1 159 +#define PCLK_SPI2 160 +#define PCLK_SPI3 161 +#define PCLK_SPI4 162 +#define CLK_SPI0 163 +#define CLK_SPI1 164 +#define CLK_SPI2 165 +#define CLK_SPI3 166 +#define CLK_SPI4 167 +#define ACLK_SPINLOCK 168 +#define PCLK_TSADC 169 +#define CLK_TSADC 170 +#define PCLK_UART1 171 +#define PCLK_UART2 172 +#define PCLK_UART3 173 +#define PCLK_UART4 174 +#define PCLK_UART5 175 +#define PCLK_UART6 176 +#define PCLK_UART7 177 +#define PCLK_UART8 178 +#define PCLK_UART9 179 +#define CLK_UART1_SRC 180 +#define CLK_UART1_FRAC 181 +#define CLK_UART1 182 +#define SCLK_UART1 183 +#define CLK_UART2_SRC 184 +#define CLK_UART2_FRAC 185 +#define CLK_UART2 186 +#define SCLK_UART2 187 +#define CLK_UART3_SRC 188 +#define CLK_UART3_FRAC 189 +#define CLK_UART3 190 +#define SCLK_UART3 191 +#define CLK_UART4_SRC 192 +#define CLK_UART4_FRAC 193 +#define CLK_UART4 194 +#define SCLK_UART4 195 +#define CLK_UART5_SRC 196 +#define CLK_UART5_FRAC 197 +#define CLK_UART5 198 +#define SCLK_UART5 199 +#define CLK_UART6_SRC 200 +#define CLK_UART6_FRAC 201 +#define CLK_UART6 202 +#define SCLK_UART6 203 +#define CLK_UART7_SRC 204 +#define CLK_UART7_FRAC 205 +#define CLK_UART7 206 +#define SCLK_UART7 207 +#define CLK_UART8_SRC 208 +#define CLK_UART8_FRAC 209 +#define CLK_UART8 210 +#define SCLK_UART8 211 +#define CLK_UART9_SRC 212 +#define CLK_UART9_FRAC 213 +#define CLK_UART9 214 +#define SCLK_UART9 215 +#define ACLK_CENTER_ROOT 216 +#define ACLK_CENTER_LOW_ROOT 217 +#define HCLK_CENTER_ROOT 218 +#define PCLK_CENTER_ROOT 219 +#define ACLK_DMA2DDR 220 +#define ACLK_DDR_SHAREMEM 221 +#define ACLK_CENTER_S200_ROOT 222 +#define ACLK_CENTER_S400_ROOT 223 +#define FCLK_DDR_CM0_CORE 224 +#define CLK_DDR_TIMER_ROOT 225 +#define CLK_DDR_TIMER0 226 +#define CLK_DDR_TIMER1 227 +#define TCLK_WDT_DDR 228 +#define CLK_DDR_CM0_RTC 228 +#define PCLK_WDT 230 +#define PCLK_TIMER 231 +#define PCLK_DMA2DDR 232 +#define PCLK_SHAREMEM 233 +#define CLK_50M_SRC 234 +#define CLK_100M_SRC 235 +#define CLK_150M_SRC 236 +#define CLK_200M_SRC 237 +#define CLK_250M_SRC 238 +#define CLK_300M_SRC 239 +#define CLK_350M_SRC 240 +#define CLK_400M_SRC 241 +#define CLK_450M_SRC 242 +#define CLK_500M_SRC 243 +#define CLK_600M_SRC 244 +#define CLK_650M_SRC 245 +#define CLK_700M_SRC 246 +#define CLK_800M_SRC 247 +#define CLK_1000M_SRC 248 +#define CLK_1200M_SRC 249 +#define ACLK_TOP_M300_ROOT 250 +#define ACLK_TOP_M500_ROOT 251 +#define ACLK_TOP_M400_ROOT 252 +#define ACLK_TOP_S200_ROOT 253 +#define ACLK_TOP_S400_ROOT 254 +#define CLK_MIPI_CAMARAOUT_M0 255 +#define CLK_MIPI_CAMARAOUT_M1 256 +#define CLK_MIPI_CAMARAOUT_M2 257 +#define CLK_MIPI_CAMARAOUT_M3 258 +#define CLK_MIPI_CAMARAOUT_M4 259 +#define MCLK_GMAC0_OUT 260 +#define REFCLKO25M_ETH0_OUT 261 +#define REFCLKO25M_ETH1_OUT 262 +#define CLK_CIFOUT_OUT 263 +#define PCLK_MIPI_DCPHY0 264 +#define PCLK_MIPI_DCPHY1 265 +#define PCLK_CSIPHY0 268 +#define PCLK_CSIPHY1 269 +#define ACLK_TOP_ROOT 270 +#define PCLK_TOP_ROOT 271 +#define ACLK_LOW_TOP_ROOT 272 +#define PCLK_CRU 273 +#define PCLK_GPU_ROOT 274 +#define CLK_GPU_SRC 275 +#define CLK_GPU 276 +#define CLK_GPU_COREGROUP 277 +#define CLK_GPU_STACKS 278 +#define PCLK_GPU_PVTM 279 +#define CLK_GPU_PVTM 280 +#define CLK_CORE_GPU_PVTM 281 +#define PCLK_GPU_GRF 282 +#define ACLK_ISP1_ROOT 283 +#define HCLK_ISP1_ROOT 284 +#define CLK_ISP1_CORE 285 +#define CLK_ISP1_CORE_MARVIN 286 +#define CLK_ISP1_CORE_VICAP 287 +#define ACLK_ISP1 288 +#define HCLK_ISP1 289 +#define ACLK_NPU1 290 +#define HCLK_NPU1 291 +#define ACLK_NPU2 292 +#define HCLK_NPU2 293 +#define HCLK_NPU_CM0_ROOT 294 +#define FCLK_NPU_CM0_CORE 295 +#define CLK_NPU_CM0_RTC 296 +#define PCLK_NPU_PVTM 297 +#define PCLK_NPU_GRF 298 +#define CLK_NPU_PVTM 299 +#define CLK_CORE_NPU_PVTM 300 +#define ACLK_NPU0 301 +#define HCLK_NPU0 302 +#define HCLK_NPU_ROOT 303 +#define CLK_NPU_DSU0 304 +#define PCLK_NPU_ROOT 305 +#define PCLK_NPU_TIMER 306 +#define CLK_NPUTIMER_ROOT 307 +#define CLK_NPUTIMER0 308 +#define CLK_NPUTIMER1 309 +#define PCLK_NPU_WDT 310 +#define TCLK_NPU_WDT 311 +#define HCLK_EMMC 312 +#define ACLK_EMMC 313 +#define CCLK_EMMC 314 +#define BCLK_EMMC 315 +#define TMCLK_EMMC 316 +#define SCLK_SFC 317 +#define HCLK_SFC 318 +#define HCLK_SFC_XIP 319 +#define HCLK_NVM_ROOT 320 +#define ACLK_NVM_ROOT 321 +#define CLK_GMAC0_PTP_REF 322 +#define CLK_GMAC1_PTP_REF 323 +#define CLK_GMAC_125M 324 +#define CLK_GMAC_50M 325 +#define ACLK_PHP_GIC_ITS 326 +#define ACLK_MMU_PCIE 327 +#define ACLK_MMU_PHP 328 +#define ACLK_PCIE_4L_DBI 329 +#define ACLK_PCIE_2L_DBI 330 +#define ACLK_PCIE_1L0_DBI 331 +#define ACLK_PCIE_1L1_DBI 332 +#define ACLK_PCIE_1L2_DBI 333 +#define ACLK_PCIE_4L_MSTR 334 +#define ACLK_PCIE_2L_MSTR 335 +#define ACLK_PCIE_1L0_MSTR 336 +#define ACLK_PCIE_1L1_MSTR 337 +#define ACLK_PCIE_1L2_MSTR 338 +#define ACLK_PCIE_4L_SLV 339 +#define ACLK_PCIE_2L_SLV 340 +#define ACLK_PCIE_1L0_SLV 341 +#define ACLK_PCIE_1L1_SLV 342 +#define ACLK_PCIE_1L2_SLV 343 +#define PCLK_PCIE_4L 344 +#define PCLK_PCIE_2L 345 +#define PCLK_PCIE_1L0 347 +#define PCLK_PCIE_1L1 348 +#define PCLK_PCIE_1L2 349 +#define CLK_PCIE_AUX0 350 +#define CLK_PCIE_AUX1 351 +#define CLK_PCIE_AUX2 352 +#define CLK_PCIE_AUX3 353 +#define CLK_PCIE_AUX4 354 +#define CLK_PIPEPHY0_REF 355 +#define CLK_PIPEPHY1_REF 356 +#define CLK_PIPEPHY2_REF 357 +#define PCLK_PHP_ROOT 358 +#define PCLK_GMAC0 359 +#define PCLK_GMAC1 360 +#define ACLK_PCIE_ROOT 361 +#define ACLK_PHP_ROOT 362 +#define ACLK_PCIE_BRIDGE 363 +#define ACLK_GMAC0 364 +#define ACLK_GMAC1 365 +#define CLK_PMALIVE0 366 +#define CLK_PMALIVE1 367 +#define CLK_PMALIVE2 368 +#define ACLK_SATA0 369 +#define ACLK_SATA1 370 +#define ACLK_SATA2 371 +#define CLK_RXOOB0 372 +#define CLK_RXOOB1 373 +#define CLK_RXOOB2 374 +#define ACLK_USB3OTG2 375 +#define SUSPEND_CLK_USB3OTG2 376 +#define REF_CLK_USB3OTG2 377 +#define CLK_UTMI_OTG2 378 +#define CLK_PIPEPHY0_PIPE_G 379 +#define CLK_PIPEPHY1_PIPE_G 380 +#define CLK_PIPEPHY2_PIPE_G 381 +#define CLK_PIPEPHY0_PIPE_ASIC_G 382 +#define CLK_PIPEPHY1_PIPE_ASIC_G 383 +#define CLK_PIPEPHY2_PIPE_ASIC_G 384 +#define CLK_PIPEPHY2_PIPE_U3_G 385 +#define CLK_PCIE1L2_PIPE 386 +#define CLK_PCIE4L_PIPE 387 +#define CLK_PCIE2L_PIPE 388 +#define PCLK_PCIE_COMBO_PIPE_PHY0 389 +#define PCLK_PCIE_COMBO_PIPE_PHY1 390 +#define PCLK_PCIE_COMBO_PIPE_PHY2 391 +#define PCLK_PCIE_COMBO_PIPE_PHY 392 +#define HCLK_RGA3_1 393 +#define ACLK_RGA3_1 394 +#define CLK_RGA3_1_CORE 395 +#define ACLK_RGA3_ROOT 396 +#define HCLK_RGA3_ROOT 397 +#define ACLK_RKVDEC_CCU 398 +#define HCLK_RKVDEC0 399 +#define ACLK_RKVDEC0 400 +#define CLK_RKVDEC0_CA 401 +#define CLK_RKVDEC0_HEVC_CA 402 +#define CLK_RKVDEC0_CORE 403 +#define HCLK_RKVDEC1 404 +#define ACLK_RKVDEC1 405 +#define CLK_RKVDEC1_CA 406 +#define CLK_RKVDEC1_HEVC_CA 407 +#define CLK_RKVDEC1_CORE 408 +#define HCLK_SDIO 409 +#define CCLK_SRC_SDIO 410 +#define ACLK_USB_ROOT 411 +#define HCLK_USB_ROOT 412 +#define HCLK_HOST0 413 +#define HCLK_HOST_ARB0 414 +#define HCLK_HOST1 415 +#define HCLK_HOST_ARB1 416 +#define ACLK_USB3OTG0 417 +#define SUSPEND_CLK_USB3OTG0 418 +#define REF_CLK_USB3OTG0 419 +#define ACLK_USB3OTG1 420 +#define SUSPEND_CLK_USB3OTG1 421 +#define REF_CLK_USB3OTG1 422 +#define UTMI_OHCI_CLK48_HOST0 423 +#define UTMI_OHCI_CLK48_HOST1 424 +#define HCLK_IEP2P0 425 +#define ACLK_IEP2P0 426 +#define CLK_IEP2P0_CORE 427 +#define ACLK_JPEG_ENCODER0 428 +#define HCLK_JPEG_ENCODER0 429 +#define ACLK_JPEG_ENCODER1 430 +#define HCLK_JPEG_ENCODER1 431 +#define ACLK_JPEG_ENCODER2 432 +#define HCLK_JPEG_ENCODER2 433 +#define ACLK_JPEG_ENCODER3 434 +#define HCLK_JPEG_ENCODER3 435 +#define ACLK_JPEG_DECODER 436 +#define HCLK_JPEG_DECODER 437 +#define HCLK_RGA2 438 +#define ACLK_RGA2 439 +#define CLK_RGA2_CORE 440 +#define HCLK_RGA3_0 441 +#define ACLK_RGA3_0 442 +#define CLK_RGA3_0_CORE 443 +#define ACLK_VDPU_ROOT 444 +#define ACLK_VDPU_LOW_ROOT 445 +#define HCLK_VDPU_ROOT 446 +#define ACLK_JPEG_DECODER_ROOT 447 +#define ACLK_VPU 448 +#define HCLK_VPU 449 +#define HCLK_RKVENC0_ROOT 450 +#define ACLK_RKVENC0_ROOT 451 +#define HCLK_RKVENC0 452 +#define ACLK_RKVENC0 453 +#define CLK_RKVENC0_CORE 454 +#define HCLK_RKVENC1_ROOT 455 +#define ACLK_RKVENC1_ROOT 456 +#define HCLK_RKVENC1 457 +#define ACLK_RKVENC1 458 +#define CLK_RKVENC1_CORE 459 +#define ICLK_CSIHOST01 460 +#define ICLK_CSIHOST0 461 +#define ICLK_CSIHOST1 462 +#define PCLK_CSI_HOST_0 463 +#define PCLK_CSI_HOST_1 464 +#define PCLK_CSI_HOST_2 465 +#define PCLK_CSI_HOST_3 466 +#define PCLK_CSI_HOST_4 467 +#define PCLK_CSI_HOST_5 468 +#define ACLK_FISHEYE0 469 +#define HCLK_FISHEYE0 470 +#define CLK_FISHEYE0_CORE 471 +#define ACLK_FISHEYE1 472 +#define HCLK_FISHEYE1 473 +#define CLK_FISHEYE1_CORE 474 +#define CLK_ISP0_CORE 475 +#define CLK_ISP0_CORE_MARVIN 476 +#define CLK_ISP0_CORE_VICAP 477 +#define ACLK_ISP0 478 +#define HCLK_ISP0 479 +#define ACLK_VI_ROOT 480 +#define HCLK_VI_ROOT 481 +#define PCLK_VI_ROOT 482 +#define DCLK_VICAP 483 +#define ACLK_VICAP 484 +#define HCLK_VICAP 485 +#define PCLK_DP0 486 +#define PCLK_DP1 487 +#define PCLK_S_DP0 488 +#define PCLK_S_DP1 489 +#define CLK_DP0 490 +#define CLK_DP1 491 +#define HCLK_HDCP_KEY0 492 +#define ACLK_HDCP0 493 +#define HCLK_HDCP0 494 +#define PCLK_HDCP0 495 +#define HCLK_I2S4_8CH 496 +#define ACLK_TRNG0 497 +#define PCLK_TRNG0 498 +#define ACLK_VO0_ROOT 499 +#define HCLK_VO0_ROOT 500 +#define HCLK_VO0_S_ROOT 501 +#define PCLK_VO0_ROOT 502 +#define PCLK_VO0_S_ROOT 503 +#define PCLK_VO0GRF 504 +#define CLK_I2S4_8CH_TX_SRC 505 +#define CLK_I2S4_8CH_TX_FRAC 506 +#define MCLK_I2S4_8CH_TX 507 +#define CLK_I2S4_8CH_TX 508 +#define HCLK_I2S8_8CH 510 +#define CLK_I2S8_8CH_TX_SRC 511 +#define CLK_I2S8_8CH_TX_FRAC 512 +#define MCLK_I2S8_8CH_TX 513 +#define CLK_I2S8_8CH_TX 514 +#define HCLK_SPDIF2_DP0 516 +#define CLK_SPDIF2_DP0_SRC 517 +#define CLK_SPDIF2_DP0_FRAC 518 +#define MCLK_SPDIF2_DP0 519 +#define CLK_SPDIF2_DP0 520 +#define MCLK_SPDIF2 521 +#define HCLK_SPDIF5_DP1 522 +#define CLK_SPDIF5_DP1_SRC 523 +#define CLK_SPDIF5_DP1_FRAC 524 +#define MCLK_SPDIF5_DP1 525 +#define CLK_SPDIF5_DP1 526 +#define MCLK_SPDIF5 527 +#define PCLK_EDP0 528 +#define CLK_EDP0_24M 529 +#define CLK_EDP0_200M 530 +#define PCLK_EDP1 531 +#define CLK_EDP1_24M 532 +#define CLK_EDP1_200M 533 +#define HCLK_HDCP_KEY1 534 +#define ACLK_HDCP1 535 +#define HCLK_HDCP1 536 +#define PCLK_HDCP1 537 +#define ACLK_HDMIRX 538 +#define PCLK_HDMIRX 539 +#define CLK_HDMIRX_REF 540 +#define CLK_HDMIRX_AUD_SRC 541 +#define CLK_HDMIRX_AUD_FRAC 542 +#define CLK_HDMIRX_AUD 543 +#define CLK_HDMIRX_AUD_P_MUX 544 +#define PCLK_HDMITX0 545 +#define CLK_HDMITX0_EARC 546 +#define CLK_HDMITX0_REF 547 +#define PCLK_HDMITX1 548 +#define CLK_HDMITX1_EARC 549 +#define CLK_HDMITX1_REF 550 +#define CLK_HDMITRX_REFSRC 551 +#define ACLK_TRNG1 552 +#define PCLK_TRNG1 553 +#define ACLK_HDCP1_ROOT 554 +#define ACLK_HDMIRX_ROOT 555 +#define HCLK_VO1_ROOT 556 +#define HCLK_VO1_S_ROOT 557 +#define PCLK_VO1_ROOT 558 +#define PCLK_VO1_S_ROOT 559 +#define PCLK_S_EDP0 560 +#define PCLK_S_EDP1 561 +#define PCLK_S_HDMIRX 562 +#define HCLK_I2S10_8CH 563 +#define CLK_I2S10_8CH_RX_SRC 564 +#define CLK_I2S10_8CH_RX_FRAC 565 +#define CLK_I2S10_8CH_RX 566 +#define MCLK_I2S10_8CH_RX 567 +#define HCLK_I2S7_8CH 568 +#define CLK_I2S7_8CH_RX_SRC 569 +#define CLK_I2S7_8CH_RX_FRAC 570 +#define CLK_I2S7_8CH_RX 571 +#define MCLK_I2S7_8CH_RX 572 +#define HCLK_I2S9_8CH 574 +#define CLK_I2S9_8CH_RX_SRC 575 +#define CLK_I2S9_8CH_RX_FRAC 576 +#define CLK_I2S9_8CH_RX 577 +#define MCLK_I2S9_8CH_RX 578 +#define CLK_I2S5_8CH_TX_SRC 579 +#define CLK_I2S5_8CH_TX_FRAC 580 +#define CLK_I2S5_8CH_TX 581 +#define MCLK_I2S5_8CH_TX 582 +#define HCLK_I2S5_8CH 584 +#define CLK_I2S6_8CH_TX_SRC 585 +#define CLK_I2S6_8CH_TX_FRAC 586 +#define CLK_I2S6_8CH_TX 587 +#define MCLK_I2S6_8CH_TX 588 +#define CLK_I2S6_8CH_RX_SRC 589 +#define CLK_I2S6_8CH_RX_FRAC 590 +#define CLK_I2S6_8CH_RX 591 +#define MCLK_I2S6_8CH_RX 592 +#define I2S6_8CH_MCLKOUT 593 +#define HCLK_I2S6_8CH 594 +#define HCLK_SPDIF3 595 +#define CLK_SPDIF3_SRC 596 +#define CLK_SPDIF3_FRAC 597 +#define CLK_SPDIF3 598 +#define MCLK_SPDIF3 599 +#define HCLK_SPDIF4 600 +#define CLK_SPDIF4_SRC 601 +#define CLK_SPDIF4_FRAC 602 +#define CLK_SPDIF4 603 +#define MCLK_SPDIF4 604 +#define HCLK_SPDIFRX0 605 +#define MCLK_SPDIFRX0 606 +#define HCLK_SPDIFRX1 607 +#define MCLK_SPDIFRX1 608 +#define HCLK_SPDIFRX2 609 +#define MCLK_SPDIFRX2 610 +#define ACLK_VO1USB_TOP_ROOT 611 +#define HCLK_VO1USB_TOP_ROOT 612 +#define CLK_HDMIHDP0 613 +#define CLK_HDMIHDP1 614 +#define PCLK_HDPTX0 615 +#define PCLK_HDPTX1 616 +#define PCLK_USBDPPHY0 617 +#define PCLK_USBDPPHY1 618 +#define ACLK_VOP_ROOT 619 +#define ACLK_VOP_LOW_ROOT 620 +#define HCLK_VOP_ROOT 621 +#define PCLK_VOP_ROOT 622 +#define HCLK_VOP 623 +#define ACLK_VOP 624 +#define DCLK_VOP0_SRC 625 +#define DCLK_VOP1_SRC 626 +#define DCLK_VOP2_SRC 627 +#define DCLK_VOP0 628 +#define DCLK_VOP1 629 +#define DCLK_VOP2 630 +#define DCLK_VOP3 631 +#define PCLK_DSIHOST0 632 +#define PCLK_DSIHOST1 633 +#define CLK_DSIHOST0 634 +#define CLK_DSIHOST1 635 +#define CLK_VOP_PMU 636 +#define ACLK_VOP_DOBY 637 +#define ACLK_VOP_SUB_SRC 638 +#define CLK_USBDP_PHY0_IMMORTAL 639 +#define CLK_USBDP_PHY1_IMMORTAL 640 +#define CLK_PMU0 641 +#define PCLK_PMU0 642 +#define PCLK_PMU0IOC 643 +#define PCLK_GPIO0 644 +#define DBCLK_GPIO0 645 +#define PCLK_I2C0 646 +#define CLK_I2C0 647 +#define HCLK_I2S1_8CH 648 +#define CLK_I2S1_8CH_TX_SRC 649 +#define CLK_I2S1_8CH_TX_FRAC 650 +#define CLK_I2S1_8CH_TX 651 +#define MCLK_I2S1_8CH_TX 652 +#define CLK_I2S1_8CH_RX_SRC 653 +#define CLK_I2S1_8CH_RX_FRAC 654 +#define CLK_I2S1_8CH_RX 655 +#define MCLK_I2S1_8CH_RX 656 +#define I2S1_8CH_MCLKOUT 657 +#define CLK_PMU1_50M_SRC 658 +#define CLK_PMU1_100M_SRC 659 +#define CLK_PMU1_200M_SRC 660 +#define CLK_PMU1_300M_SRC 661 +#define CLK_PMU1_400M_SRC 662 +#define HCLK_PMU1_ROOT 663 +#define PCLK_PMU1_ROOT 664 +#define PCLK_PMU0_ROOT 665 +#define HCLK_PMU_CM0_ROOT 666 +#define PCLK_PMU1 667 +#define CLK_DDR_FAIL_SAFE 668 +#define CLK_PMU1 669 +#define HCLK_PDM0 670 +#define MCLK_PDM0 671 +#define HCLK_VAD 672 +#define FCLK_PMU_CM0_CORE 673 +#define CLK_PMU_CM0_RTC 674 +#define PCLK_PMU1_IOC 675 +#define PCLK_PMU1PWM 676 +#define CLK_PMU1PWM 677 +#define CLK_PMU1PWM_CAPTURE 678 +#define PCLK_PMU1TIMER 679 +#define CLK_PMU1TIMER_ROOT 680 +#define CLK_PMU1TIMER0 681 +#define CLK_PMU1TIMER1 682 +#define CLK_UART0_SRC 683 +#define CLK_UART0_FRAC 684 +#define CLK_UART0 685 +#define SCLK_UART0 686 +#define PCLK_UART0 687 +#define PCLK_PMU1WDT 688 +#define TCLK_PMU1WDT 689 +#define CLK_CR_PARA 690 +#define CLK_USB2PHY_HDPTXRXPHY_REF 693 +#define CLK_USBDPPHY_MIPIDCPPHY_REF 694 +#define CLK_REF_PIPE_PHY0_OSC_SRC 695 +#define CLK_REF_PIPE_PHY1_OSC_SRC 696 +#define CLK_REF_PIPE_PHY2_OSC_SRC 697 +#define CLK_REF_PIPE_PHY0_PLL_SRC 698 +#define CLK_REF_PIPE_PHY1_PLL_SRC 699 +#define CLK_REF_PIPE_PHY2_PLL_SRC 700 +#define CLK_REF_PIPE_PHY0 701 +#define CLK_REF_PIPE_PHY1 702 +#define CLK_REF_PIPE_PHY2 703 +#define SCLK_SDIO_DRV 704 +#define SCLK_SDIO_SAMPLE 705 +#define SCLK_SDMMC_DRV 706 +#define SCLK_SDMMC_SAMPLE 707 +#define CLK_PCIE1L0_PIPE 708 +#define CLK_PCIE1L1_PIPE 709 +#define CLK_BIGCORE0_PVTM 710 +#define CLK_CORE_BIGCORE0_PVTM 711 +#define CLK_BIGCORE1_PVTM 712 +#define CLK_CORE_BIGCORE1_PVTM 713 +#define CLK_LITCORE_PVTM 714 +#define CLK_CORE_LITCORE_PVTM 715 +#define CLK_AUX16M_0 716 +#define CLK_AUX16M_1 717 +#define CLK_PHY0_REF_ALT_P 718 +#define CLK_PHY0_REF_ALT_M 719 +#define CLK_PHY1_REF_ALT_P 720 +#define CLK_PHY1_REF_ALT_M 721 + +#define CLK_NR_CLKS (CLK_PHY1_REF_ALT_M + 1) + +/********Name=SOFTRST_CON01,Offset=0xA04********/ +#define SRST_A_TOP_BIU 19 +#define SRST_P_TOP_BIU 20 +#define SRST_P_CSIPHY0 22 +#define SRST_CSIPHY0 23 +#define SRST_P_CSIPHY1 24 +#define SRST_CSIPHY1 25 +#define SRST_A_TOP_M500_BIU 31 +/********Name=SOFTRST_CON02,Offset=0xA08********/ +#define SRST_A_TOP_M400_BIU 32 +#define SRST_A_TOP_S200_BIU 33 +#define SRST_A_TOP_S400_BIU 34 +#define SRST_A_TOP_M300_BIU 35 +#define SRST_USBDP_COMBO_PHY0_INIT 40 +#define SRST_USBDP_COMBO_PHY0_CMN 41 +#define SRST_USBDP_COMBO_PHY0_LANE 42 +#define SRST_USBDP_COMBO_PHY0_PCS 43 +#define SRST_USBDP_COMBO_PHY1_INIT 47 +/********Name=SOFTRST_CON03,Offset=0xA0C********/ +#define SRST_USBDP_COMBO_PHY1_CMN 48 +#define SRST_USBDP_COMBO_PHY1_LANE 49 +#define SRST_USBDP_COMBO_PHY1_PCS 50 +#define SRST_DCPHY0 59 +#define SRST_P_MIPI_DCPHY0 62 +#define SRST_P_MIPI_DCPHY0_GRF 63 +/********Name=SOFTRST_CON04,Offset=0xA10********/ +#define SRST_DCPHY1 64 +#define SRST_P_MIPI_DCPHY1 67 +#define SRST_P_MIPI_DCPHY1_GRF 68 +#define SRST_P_APB2ASB_SLV_CDPHY 69 +#define SRST_P_APB2ASB_SLV_CSIPHY 70 +#define SRST_P_APB2ASB_SLV_VCCIO3_5 71 +#define SRST_P_APB2ASB_SLV_VCCIO6 72 +#define SRST_P_APB2ASB_SLV_EMMCIO 73 +#define SRST_P_APB2ASB_SLV_IOC_TOP 74 +#define SRST_P_APB2ASB_SLV_IOC_RIGHT 75 +/********Name=SOFTRST_CON05,Offset=0xA14********/ +#define SRST_P_CRU 80 +#define SRST_A_CHANNEL_SECURE2VO1USB 87 +#define SRST_A_CHANNEL_SECURE2CENTER 88 +#define SRST_H_CHANNEL_SECURE2VO1USB 94 +#define SRST_H_CHANNEL_SECURE2CENTER 95 +/********Name=SOFTRST_CON06,Offset=0xA18********/ +#define SRST_P_CHANNEL_SECURE2VO1USB 96 +#define SRST_P_CHANNEL_SECURE2CENTER 97 +/********Name=SOFTRST_CON07,Offset=0xA1C********/ +#define SRST_H_AUDIO_BIU 114 +#define SRST_P_AUDIO_BIU 115 +#define SRST_H_I2S0_8CH 116 +#define SRST_M_I2S0_8CH_TX 119 +#define SRST_M_I2S0_8CH_RX 122 +#define SRST_P_ACDCDIG 123 +#define SRST_H_I2S2_2CH 124 +#define SRST_H_I2S3_2CH 125 +/********Name=SOFTRST_CON08,Offset=0xA20********/ +#define SRST_M_I2S2_2CH 128 +#define SRST_M_I2S3_2CH 131 +#define SRST_DAC_ACDCDIG 132 +#define SRST_H_SPDIF0 142 +/********Name=SOFTRST_CON09,Offset=0xA24********/ +#define SRST_M_SPDIF0 145 +#define SRST_H_SPDIF1 146 +#define SRST_M_SPDIF1 149 +#define SRST_H_PDM1 150 +#define SRST_PDM1 151 +/********Name=SOFTRST_CON10,Offset=0xA28********/ +#define SRST_A_BUS_BIU 161 +#define SRST_P_BUS_BIU 162 +#define SRST_A_GIC 163 +#define SRST_A_GIC_DBG 164 +#define SRST_A_DMAC0 165 +#define SRST_A_DMAC1 166 +#define SRST_A_DMAC2 167 +#define SRST_P_I2C1 168 +#define SRST_P_I2C2 169 +#define SRST_P_I2C3 170 +#define SRST_P_I2C4 171 +#define SRST_P_I2C5 172 +#define SRST_P_I2C6 173 +#define SRST_P_I2C7 174 +#define SRST_P_I2C8 175 +/********Name=SOFTRST_CON11,Offset=0xA2C********/ +#define SRST_I2C1 176 +#define SRST_I2C2 177 +#define SRST_I2C3 178 +#define SRST_I2C4 179 +#define SRST_I2C5 180 +#define SRST_I2C6 181 +#define SRST_I2C7 182 +#define SRST_I2C8 183 +#define SRST_P_CAN0 184 +#define SRST_CAN0 185 +#define SRST_P_CAN1 186 +#define SRST_CAN1 187 +#define SRST_P_CAN2 188 +#define SRST_CAN2 189 +#define SRST_P_SARADC 190 +/********Name=SOFTRST_CON12,Offset=0xA30********/ +#define SRST_P_TSADC 192 +#define SRST_TSADC 193 +#define SRST_P_UART1 194 +#define SRST_P_UART2 195 +#define SRST_P_UART3 196 +#define SRST_P_UART4 197 +#define SRST_P_UART5 198 +#define SRST_P_UART6 199 +#define SRST_P_UART7 200 +#define SRST_P_UART8 201 +#define SRST_P_UART9 202 +#define SRST_S_UART1 205 +/********Name=SOFTRST_CON13,Offset=0xA34********/ +#define SRST_S_UART2 208 +#define SRST_S_UART3 211 +#define SRST_S_UART4 214 +#define SRST_S_UART5 217 +#define SRST_S_UART6 220 +#define SRST_S_UART7 223 +/********Name=SOFTRST_CON14,Offset=0xA38********/ +#define SRST_S_UART8 226 +#define SRST_S_UART9 229 +#define SRST_P_SPI0 230 +#define SRST_P_SPI1 231 +#define SRST_P_SPI2 232 +#define SRST_P_SPI3 233 +#define SRST_P_SPI4 234 +#define SRST_SPI0 235 +#define SRST_SPI1 236 +#define SRST_SPI2 237 +#define SRST_SPI3 238 +#define SRST_SPI4 239 +/********Name=SOFTRST_CON15,Offset=0xA3C********/ +#define SRST_P_WDT0 240 +#define SRST_T_WDT0 241 +#define SRST_P_SYS_GRF 242 +#define SRST_P_PWM1 243 +#define SRST_PWM1 244 +#define SRST_P_PWM2 246 +#define SRST_PWM2 247 +#define SRST_P_PWM3 249 +#define SRST_PWM3 250 +#define SRST_P_BUSTIMER0 252 +#define SRST_P_BUSTIMER1 253 +#define SRST_BUSTIMER0 255 +/********Name=SOFTRST_CON16,Offset=0xA40********/ +#define SRST_BUSTIMER1 256 +#define SRST_BUSTIMER2 257 +#define SRST_BUSTIMER3 258 +#define SRST_BUSTIMER4 259 +#define SRST_BUSTIMER5 260 +#define SRST_BUSTIMER6 261 +#define SRST_BUSTIMER7 262 +#define SRST_BUSTIMER8 263 +#define SRST_BUSTIMER9 264 +#define SRST_BUSTIMER10 265 +#define SRST_BUSTIMER11 266 +#define SRST_P_MAILBOX0 267 +#define SRST_P_MAILBOX1 268 +#define SRST_P_MAILBOX2 269 +#define SRST_P_GPIO1 270 +#define SRST_GPIO1 271 +/********Name=SOFTRST_CON17,Offset=0xA44********/ +#define SRST_P_GPIO2 272 +#define SRST_GPIO2 273 +#define SRST_P_GPIO3 274 +#define SRST_GPIO3 275 +#define SRST_P_GPIO4 276 +#define SRST_GPIO4 277 +#define SRST_A_DECOM 278 +#define SRST_P_DECOM 279 +#define SRST_D_DECOM 280 +#define SRST_P_TOP 281 +#define SRST_A_GICADB_GIC2CORE_BUS 283 +#define SRST_P_DFT2APB 284 +#define SRST_P_APB2ASB_MST_TOP 285 +#define SRST_P_APB2ASB_MST_CDPHY 286 +#define SRST_P_APB2ASB_MST_BOT_RIGHT 287 +/********Name=SOFTRST_CON18,Offset=0xA48********/ +#define SRST_P_APB2ASB_MST_IOC_TOP 288 +#define SRST_P_APB2ASB_MST_IOC_RIGHT 289 +#define SRST_P_APB2ASB_MST_CSIPHY 290 +#define SRST_P_APB2ASB_MST_VCCIO3_5 291 +#define SRST_P_APB2ASB_MST_VCCIO6 292 +#define SRST_P_APB2ASB_MST_EMMCIO 293 +#define SRST_A_SPINLOCK 294 +#define SRST_P_OTPC_NS 297 +#define SRST_OTPC_NS 298 +#define SRST_OTPC_ARB 299 +/********Name=SOFTRST_CON19,Offset=0xA4C********/ +#define SRST_P_BUSIOC 304 +#define SRST_P_PMUCM0_INTMUX 308 +#define SRST_P_DDRCM0_INTMUX 309 +/********Name=SOFTRST_CON20,Offset=0xA50********/ +#define SRST_P_DDR_DFICTL_CH0 320 +#define SRST_P_DDR_MON_CH0 321 +#define SRST_P_DDR_STANDBY_CH0 322 +#define SRST_P_DDR_UPCTL_CH0 323 +#define SRST_TM_DDR_MON_CH0 324 +#define SRST_P_DDR_GRF_CH01 325 +#define SRST_DFI_CH0 326 +#define SRST_SBR_CH0 327 +#define SRST_DDR_UPCTL_CH0 328 +#define SRST_DDR_DFICTL_CH0 329 +#define SRST_DDR_MON_CH0 330 +#define SRST_DDR_STANDBY_CH0 331 +#define SRST_A_DDR_UPCTL_CH0 332 +#define SRST_P_DDR_DFICTL_CH1 333 +#define SRST_P_DDR_MON_CH1 334 +#define SRST_P_DDR_STANDBY_CH1 335 +/********Name=SOFTRST_CON21,Offset=0xA54********/ +#define SRST_P_DDR_UPCTL_CH1 336 +#define SRST_TM_DDR_MON_CH1 337 +#define SRST_DFI_CH1 338 +#define SRST_SBR_CH1 339 +#define SRST_DDR_UPCTL_CH1 340 +#define SRST_DDR_DFICTL_CH1 341 +#define SRST_DDR_MON_CH1 342 +#define SRST_DDR_STANDBY_CH1 343 +#define SRST_A_DDR_UPCTL_CH1 344 +#define SRST_A_DDR01_MSCH0 349 +#define SRST_A_DDR01_RS_MSCH0 350 +#define SRST_A_DDR01_FRS_MSCH0 351 +/********Name=SOFTRST_CON22,Offset=0xA58********/ +#define SRST_A_DDR01_SCRAMBLE0 352 +#define SRST_A_DDR01_FRS_SCRAMBLE0 353 +#define SRST_A_DDR01_MSCH1 354 +#define SRST_A_DDR01_RS_MSCH1 355 +#define SRST_A_DDR01_FRS_MSCH1 356 +#define SRST_A_DDR01_SCRAMBLE1 357 +#define SRST_A_DDR01_FRS_SCRAMBLE1 358 +#define SRST_P_DDR01_MSCH0 359 +#define SRST_P_DDR01_MSCH1 360 +/********Name=SOFTRST_CON23,Offset=0xA5C********/ +#define SRST_P_DDR_DFICTL_CH2 368 +#define SRST_P_DDR_MON_CH2 369 +#define SRST_P_DDR_STANDBY_CH2 370 +#define SRST_P_DDR_UPCTL_CH2 371 +#define SRST_TM_DDR_MON_CH2 372 +#define SRST_P_DDR_GRF_CH23 373 +#define SRST_DFI_CH2 374 +#define SRST_SBR_CH2 375 +#define SRST_DDR_UPCTL_CH2 376 +#define SRST_DDR_DFICTL_CH2 377 +#define SRST_DDR_MON_CH2 378 +#define SRST_DDR_STANDBY_CH2 379 +#define SRST_A_DDR_UPCTL_CH2 380 +#define SRST_P_DDR_DFICTL_CH3 381 +#define SRST_P_DDR_MON_CH3 382 +#define SRST_P_DDR_STANDBY_CH3 383 +/********Name=SOFTRST_CON24,Offset=0xA60********/ +#define SRST_P_DDR_UPCTL_CH3 384 +#define SRST_TM_DDR_MON_CH3 385 +#define SRST_DFI_CH3 386 +#define SRST_SBR_CH3 387 +#define SRST_DDR_UPCTL_CH3 388 +#define SRST_DDR_DFICTL_CH3 389 +#define SRST_DDR_MON_CH3 390 +#define SRST_DDR_STANDBY_CH3 391 +#define SRST_A_DDR_UPCTL_CH3 392 +#define SRST_A_DDR23_MSCH2 397 +#define SRST_A_DDR23_RS_MSCH2 398 +#define SRST_A_DDR23_FRS_MSCH2 399 +/********Name=SOFTRST_CON25,Offset=0xA64********/ +#define SRST_A_DDR23_SCRAMBLE2 400 +#define SRST_A_DDR23_FRS_SCRAMBLE2 401 +#define SRST_A_DDR23_MSCH3 402 +#define SRST_A_DDR23_RS_MSCH3 403 +#define SRST_A_DDR23_FRS_MSCH3 404 +#define SRST_A_DDR23_SCRAMBLE3 405 +#define SRST_A_DDR23_FRS_SCRAMBLE3 406 +#define SRST_P_DDR23_MSCH2 407 +#define SRST_P_DDR23_MSCH3 408 +/********Name=SOFTRST_CON26,Offset=0xA68********/ +#define SRST_ISP1 419 +#define SRST_ISP1_VICAP 420 +#define SRST_A_ISP1_BIU 422 +#define SRST_H_ISP1_BIU 424 +/********Name=SOFTRST_CON27,Offset=0xA6C********/ +#define SRST_A_RKNN1 432 +#define SRST_A_RKNN1_BIU 433 +#define SRST_H_RKNN1 434 +#define SRST_H_RKNN1_BIU 435 +/********Name=SOFTRST_CON28,Offset=0xA70********/ +#define SRST_A_RKNN2 448 +#define SRST_A_RKNN2_BIU 449 +#define SRST_H_RKNN2 450 +#define SRST_H_RKNN2_BIU 451 +/********Name=SOFTRST_CON29,Offset=0xA74********/ +#define SRST_A_RKNN_DSU0 467 +#define SRST_P_NPUTOP_BIU 469 +#define SRST_P_NPU_TIMER 470 +#define SRST_NPUTIMER0 472 +#define SRST_NPUTIMER1 473 +#define SRST_P_NPU_WDT 474 +#define SRST_T_NPU_WDT 475 +#define SRST_P_NPU_PVTM 476 +#define SRST_P_NPU_GRF 477 +#define SRST_NPU_PVTM 478 +/********Name=SOFTRST_CON30,Offset=0xA78********/ +#define SRST_NPU_PVTPLL 480 +#define SRST_H_NPU_CM0_BIU 482 +#define SRST_F_NPU_CM0_CORE 483 +#define SRST_T_NPU_CM0_JTAG 484 +#define SRST_A_RKNN0 486 +#define SRST_A_RKNN0_BIU 487 +#define SRST_H_RKNN0 488 +#define SRST_H_RKNN0_BIU 489 +/********Name=SOFTRST_CON31,Offset=0xA7C********/ +#define SRST_H_NVM_BIU 498 +#define SRST_A_NVM_BIU 499 +#define SRST_H_EMMC 500 +#define SRST_A_EMMC 501 +#define SRST_C_EMMC 502 +#define SRST_B_EMMC 503 +#define SRST_T_EMMC 504 +#define SRST_S_SFC 505 +#define SRST_H_SFC 506 +#define SRST_H_SFC_XIP 507 +/********Name=SOFTRST_CON32,Offset=0xA80********/ +#define SRST_P_GRF 513 +#define SRST_P_DEC_BIU 514 +#define SRST_P_PHP_BIU 517 +#define SRST_A_PCIE_GRIDGE 520 +#define SRST_A_PHP_BIU 521 +#define SRST_A_GMAC0 522 +#define SRST_A_GMAC1 523 +#define SRST_A_PCIE_BIU 524 +#define SRST_PCIE0_POWER_UP 525 +#define SRST_PCIE1_POWER_UP 526 +#define SRST_PCIE2_POWER_UP 527 +/********Name=SOFTRST_CON33,Offset=0xA84********/ +#define SRST_PCIE3_POWER_UP 528 +#define SRST_PCIE4_POWER_UP 529 +#define SRST_P_PCIE0 540 +#define SRST_P_PCIE1 541 +#define SRST_P_PCIE2 542 +#define SRST_P_PCIE3 543 +/********Name=SOFTRST_CON34,Offset=0xA88********/ +#define SRST_P_PCIE4 544 +#define SRST_A_PHP_GIC_ITS 550 +#define SRST_A_MMU_PCIE 551 +#define SRST_A_MMU_PHP 552 +#define SRST_A_MMU_BIU 553 +/********Name=SOFTRST_CON35,Offset=0xA8C********/ +#define SRST_A_USB3OTG2 567 +/********Name=SOFTRST_CON37,Offset=0xA94********/ +#define SRST_PMALIVE0 596 +#define SRST_PMALIVE1 597 +#define SRST_PMALIVE2 598 +#define SRST_A_SATA0 599 +#define SRST_A_SATA1 600 +#define SRST_A_SATA2 601 +#define SRST_RXOOB0 602 +#define SRST_RXOOB1 603 +#define SRST_RXOOB2 604 +#define SRST_ASIC0 605 +#define SRST_ASIC1 606 +#define SRST_ASIC2 607 +/********Name=SOFTRST_CON40,Offset=0xAA0********/ +#define SRST_A_RKVDEC_CCU 642 +#define SRST_H_RKVDEC0 643 +#define SRST_A_RKVDEC0 644 +#define SRST_H_RKVDEC0_BIU 645 +#define SRST_A_RKVDEC0_BIU 646 +#define SRST_RKVDEC0_CA 647 +#define SRST_RKVDEC0_HEVC_CA 648 +#define SRST_RKVDEC0_CORE 649 +/********Name=SOFTRST_CON41,Offset=0xAA4********/ +#define SRST_H_RKVDEC1 658 +#define SRST_A_RKVDEC1 659 +#define SRST_H_RKVDEC1_BIU 660 +#define SRST_A_RKVDEC1_BIU 661 +#define SRST_RKVDEC1_CA 662 +#define SRST_RKVDEC1_HEVC_CA 663 +#define SRST_RKVDEC1_CORE 664 +/********Name=SOFTRST_CON42,Offset=0xAA8********/ +#define SRST_A_USB_BIU 674 +#define SRST_H_USB_BIU 675 +#define SRST_A_USB3OTG0 676 +#define SRST_A_USB3OTG1 679 +#define SRST_H_HOST0 682 +#define SRST_H_HOST_ARB0 683 +#define SRST_H_HOST1 684 +#define SRST_H_HOST_ARB1 685 +#define SRST_A_USB_GRF 686 +#define SRST_C_USB2P0_HOST0 687 +/********Name=SOFTRST_CON43,Offset=0xAAC********/ +#define SRST_C_USB2P0_HOST1 688 +#define SRST_HOST_UTMI0 689 +#define SRST_HOST_UTMI1 690 +/********Name=SOFTRST_CON44,Offset=0xAB0********/ +#define SRST_A_VDPU_BIU 708 +#define SRST_A_VDPU_LOW_BIU 709 +#define SRST_H_VDPU_BIU 710 +#define SRST_A_JPEG_DECODER_BIU 711 +#define SRST_A_VPU 712 +#define SRST_H_VPU 713 +#define SRST_A_JPEG_ENCODER0 714 +#define SRST_H_JPEG_ENCODER0 715 +#define SRST_A_JPEG_ENCODER1 716 +#define SRST_H_JPEG_ENCODER1 717 +#define SRST_A_JPEG_ENCODER2 718 +#define SRST_H_JPEG_ENCODER2 719 +/********Name=SOFTRST_CON45,Offset=0xAB4********/ +#define SRST_A_JPEG_ENCODER3 720 +#define SRST_H_JPEG_ENCODER3 721 +#define SRST_A_JPEG_DECODER 722 +#define SRST_H_JPEG_DECODER 723 +#define SRST_H_IEP2P0 724 +#define SRST_A_IEP2P0 725 +#define SRST_IEP2P0_CORE 726 +#define SRST_H_RGA2 727 +#define SRST_A_RGA2 728 +#define SRST_RGA2_CORE 729 +#define SRST_H_RGA3_0 730 +#define SRST_A_RGA3_0 731 +#define SRST_RGA3_0_CORE 732 +/********Name=SOFTRST_CON47,Offset=0xABC********/ +#define SRST_H_RKVENC0_BIU 754 +#define SRST_A_RKVENC0_BIU 755 +#define SRST_H_RKVENC0 756 +#define SRST_A_RKVENC0 757 +#define SRST_RKVENC0_CORE 758 +/********Name=SOFTRST_CON48,Offset=0xAC0********/ +#define SRST_H_RKVENC1_BIU 770 +#define SRST_A_RKVENC1_BIU 771 +#define SRST_H_RKVENC1 772 +#define SRST_A_RKVENC1 773 +#define SRST_RKVENC1_CORE 774 +/********Name=SOFTRST_CON49,Offset=0xAC4********/ +#define SRST_A_VI_BIU 787 +#define SRST_H_VI_BIU 788 +#define SRST_P_VI_BIU 789 +#define SRST_D_VICAP 790 +#define SRST_A_VICAP 791 +#define SRST_H_VICAP 792 +#define SRST_ISP0 794 +#define SRST_ISP0_VICAP 795 +/********Name=SOFTRST_CON50,Offset=0xAC8********/ +#define SRST_FISHEYE0 800 +#define SRST_FISHEYE1 803 +#define SRST_P_CSI_HOST_0 804 +#define SRST_P_CSI_HOST_1 805 +#define SRST_P_CSI_HOST_2 806 +#define SRST_P_CSI_HOST_3 807 +#define SRST_P_CSI_HOST_4 808 +#define SRST_P_CSI_HOST_5 809 +/********Name=SOFTRST_CON51,Offset=0xACC********/ +#define SRST_CSIHOST0_VICAP 820 +#define SRST_CSIHOST1_VICAP 821 +#define SRST_CSIHOST2_VICAP 822 +#define SRST_CSIHOST3_VICAP 823 +#define SRST_CSIHOST4_VICAP 824 +#define SRST_CSIHOST5_VICAP 825 +#define SRST_CIFIN 829 +/********Name=SOFTRST_CON52,Offset=0xAD0********/ +#define SRST_A_VOP_BIU 836 +#define SRST_A_VOP_LOW_BIU 837 +#define SRST_H_VOP_BIU 838 +#define SRST_P_VOP_BIU 839 +#define SRST_H_VOP 840 +#define SRST_A_VOP 841 +#define SRST_D_VOP0 845 +#define SRST_D_VOP2HDMI_BRIDGE0 846 +#define SRST_D_VOP2HDMI_BRIDGE1 847 +/********Name=SOFTRST_CON53,Offset=0xAD4********/ +#define SRST_D_VOP1 848 +#define SRST_D_VOP2 849 +#define SRST_D_VOP3 850 +#define SRST_P_VOPGRF 851 +#define SRST_P_DSIHOST0 852 +#define SRST_P_DSIHOST1 853 +#define SRST_DSIHOST0 854 +#define SRST_DSIHOST1 855 +#define SRST_VOP_PMU 856 +#define SRST_P_VOP_CHANNEL_BIU 857 +/********Name=SOFTRST_CON55,Offset=0xADC********/ +#define SRST_H_VO0_BIU 885 +#define SRST_H_VO0_S_BIU 886 +#define SRST_P_VO0_BIU 887 +#define SRST_P_VO0_S_BIU 888 +#define SRST_A_HDCP0_BIU 889 +#define SRST_P_VO0GRF 890 +#define SRST_H_HDCP_KEY0 891 +#define SRST_A_HDCP0 892 +#define SRST_H_HDCP0 893 +#define SRST_HDCP0 895 +/********Name=SOFTRST_CON56,Offset=0xAE0********/ +#define SRST_P_TRNG0 897 +#define SRST_DP0 904 +#define SRST_DP1 905 +#define SRST_H_I2S4_8CH 906 +#define SRST_M_I2S4_8CH_TX 909 +#define SRST_H_I2S8_8CH 910 +/********Name=SOFTRST_CON57,Offset=0xAE4********/ +#define SRST_M_I2S8_8CH_TX 913 +#define SRST_H_SPDIF2_DP0 914 +#define SRST_M_SPDIF2_DP0 918 +#define SRST_H_SPDIF5_DP1 919 +#define SRST_M_SPDIF5_DP1 923 +/********Name=SOFTRST_CON59,Offset=0xAEC********/ +#define SRST_A_HDCP1_BIU 950 +#define SRST_A_HDMIRX_BIU 951 +#define SRST_A_VO1_BIU 952 +#define SRST_H_VOP1_BIU 953 +#define SRST_H_VOP1_S_BIU 954 +#define SRST_P_VOP1_BIU 955 +#define SRST_P_VO1GRF 956 +#define SRST_P_VO1_S_BIU 957 +/********Name=SOFTRST_CON60,Offset=0xAF0********/ +#define SRST_H_I2S7_8CH 960 +#define SRST_M_I2S7_8CH_RX 963 +#define SRST_H_HDCP_KEY1 964 +#define SRST_A_HDCP1 965 +#define SRST_H_HDCP1 966 +#define SRST_HDCP1 968 +#define SRST_P_TRNG1 970 +#define SRST_P_HDMITX0 971 +/********Name=SOFTRST_CON61,Offset=0xAF4********/ +#define SRST_HDMITX0_REF 976 +#define SRST_P_HDMITX1 978 +#define SRST_HDMITX1_REF 983 +#define SRST_A_HDMIRX 985 +#define SRST_P_HDMIRX 986 +#define SRST_HDMIRX_REF 987 +/********Name=SOFTRST_CON62,Offset=0xAF8********/ +#define SRST_P_EDP0 992 +#define SRST_EDP0_24M 993 +#define SRST_P_EDP1 995 +#define SRST_EDP1_24M 996 +#define SRST_M_I2S5_8CH_TX 1000 +#define SRST_H_I2S5_8CH 1004 +#define SRST_M_I2S6_8CH_TX 1007 +/********Name=SOFTRST_CON63,Offset=0xAFC********/ +#define SRST_M_I2S6_8CH_RX 1010 +#define SRST_H_I2S6_8CH 1011 +#define SRST_H_SPDIF3 1012 +#define SRST_M_SPDIF3 1015 +#define SRST_H_SPDIF4 1016 +#define SRST_M_SPDIF4 1019 +#define SRST_H_SPDIFRX0 1020 +#define SRST_M_SPDIFRX0 1021 +#define SRST_H_SPDIFRX1 1022 +#define SRST_M_SPDIFRX1 1023 +/********Name=SOFTRST_CON64,Offset=0xB00********/ +#define SRST_H_SPDIFRX2 1024 +#define SRST_M_SPDIFRX2 1025 +#define SRST_LINKSYM_HDMITXPHY0 1036 +#define SRST_LINKSYM_HDMITXPHY1 1037 +#define SRST_VO1_BRIDGE0 1038 +#define SRST_VO1_BRIDGE1 1039 +/********Name=SOFTRST_CON65,Offset=0xB04********/ +#define SRST_H_I2S9_8CH 1040 +#define SRST_M_I2S9_8CH_RX 1043 +#define SRST_H_I2S10_8CH 1044 +#define SRST_M_I2S10_8CH_RX 1047 +#define SRST_P_S_HDMIRX 1048 +/********Name=SOFTRST_CON66,Offset=0xB08********/ +#define SRST_GPU 1060 +#define SRST_SYS_GPU 1061 +#define SRST_A_S_GPU_BIU 1064 +#define SRST_A_M0_GPU_BIU 1065 +#define SRST_A_M1_GPU_BIU 1066 +#define SRST_A_M2_GPU_BIU 1067 +#define SRST_A_M3_GPU_BIU 1068 +#define SRST_P_GPU_BIU 1070 +#define SRST_P_GPU_PVTM 1071 +/********Name=SOFTRST_CON67,Offset=0xB0C********/ +#define SRST_GPU_PVTM 1072 +#define SRST_P_GPU_GRF 1074 +#define SRST_GPU_PVTPLL 1075 +#define SRST_GPU_JTAG 1076 +/********Name=SOFTRST_CON68,Offset=0xB10********/ +#define SRST_A_AV1_BIU 1089 +#define SRST_A_AV1 1090 +#define SRST_P_AV1_BIU 1092 +#define SRST_P_AV1 1093 +/********Name=SOFTRST_CON69,Offset=0xB14********/ +#define SRST_A_DDR_BIU 1108 +#define SRST_A_DMA2DDR 1109 +#define SRST_A_DDR_SHAREMEM 1110 +#define SRST_A_DDR_SHAREMEM_BIU 1111 +#define SRST_A_CENTER_S200_BIU 1114 +#define SRST_A_CENTER_S400_BIU 1115 +#define SRST_H_AHB2APB 1116 +#define SRST_H_CENTER_BIU 1117 +#define SRST_F_DDR_CM0_CORE 1118 +/********Name=SOFTRST_CON70,Offset=0xB18********/ +#define SRST_DDR_TIMER0 1120 +#define SRST_DDR_TIMER1 1121 +#define SRST_T_WDT_DDR 1122 +#define SRST_T_DDR_CM0_JTAG 1123 +#define SRST_P_CENTER_GRF 1125 +#define SRST_P_AHB2APB 1126 +#define SRST_P_WDT 1127 +#define SRST_P_TIMER 1128 +#define SRST_P_DMA2DDR 1129 +#define SRST_P_SHAREMEM 1130 +#define SRST_P_CENTER_BIU 1131 +#define SRST_P_CENTER_CHANNEL_BIU 1132 +/********Name=SOFTRST_CON72,Offset=0xB20********/ +#define SRST_P_USBDPGRF0 1153 +#define SRST_P_USBDPPHY0 1154 +#define SRST_P_USBDPGRF1 1155 +#define SRST_P_USBDPPHY1 1156 +#define SRST_P_HDPTX0 1157 +#define SRST_P_HDPTX1 1158 +#define SRST_P_APB2ASB_SLV_BOT_RIGHT 1159 +#define SRST_P_USB2PHY_U3_0_GRF0 1160 +#define SRST_P_USB2PHY_U3_1_GRF0 1161 +#define SRST_P_USB2PHY_U2_0_GRF0 1162 +#define SRST_P_USB2PHY_U2_1_GRF0 1163 +#define SRST_HDPTX0_ROPLL 1164 +#define SRST_HDPTX0_LCPLL 1165 +#define SRST_HDPTX0 1166 +#define SRST_HDPTX1_ROPLL 1167 +/********Name=SOFTRST_CON73,Offset=0xB24********/ +#define SRST_HDPTX1_LCPLL 1168 +#define SRST_HDPTX1 1169 +#define SRST_HDPTX0_HDMIRXPHY_SET 1170 +#define SRST_USBDP_COMBO_PHY0 1171 +#define SRST_USBDP_COMBO_PHY0_LCPLL 1172 +#define SRST_USBDP_COMBO_PHY0_ROPLL 1173 +#define SRST_USBDP_COMBO_PHY0_PCS_HS 1174 +#define SRST_USBDP_COMBO_PHY1 1175 +#define SRST_USBDP_COMBO_PHY1_LCPLL 1176 +#define SRST_USBDP_COMBO_PHY1_ROPLL 1177 +#define SRST_USBDP_COMBO_PHY1_PCS_HS 1178 +#define SRST_HDMIHDP0 1180 +#define SRST_HDMIHDP1 1181 +/********Name=SOFTRST_CON74,Offset=0xB28********/ +#define SRST_A_VO1USB_TOP_BIU 1185 +#define SRST_H_VO1USB_TOP_BIU 1187 +/********Name=SOFTRST_CON75,Offset=0xB2C********/ +#define SRST_H_SDIO_BIU 1201 +#define SRST_H_SDIO 1202 +#define SRST_SDIO 1203 +/********Name=SOFTRST_CON76,Offset=0xB30********/ +#define SRST_H_RGA3_BIU 1218 +#define SRST_A_RGA3_BIU 1219 +#define SRST_H_RGA3_1 1220 +#define SRST_A_RGA3_1 1221 +#define SRST_RGA3_1_CORE 1222 +/********Name=SOFTRST_CON77,Offset=0xB34********/ +#define SRST_REF_PIPE_PHY0 1238 +#define SRST_REF_PIPE_PHY1 1239 +#define SRST_REF_PIPE_PHY2 1240 + +/********Name=PHPTOPSOFTRST_CON0,Offset=0x8A00********/ +#define SRST_P_PHPTOP_CRU 131073 +#define SRST_P_PCIE2_GRF0 131074 +#define SRST_P_PCIE2_GRF1 131075 +#define SRST_P_PCIE2_GRF2 131076 +#define SRST_P_PCIE2_PHY0 131077 +#define SRST_P_PCIE2_PHY1 131078 +#define SRST_P_PCIE2_PHY2 131079 +#define SRST_P_PCIE3_PHY 131080 +#define SRST_P_APB2ASB_SLV_CHIP_TOP 131081 +#define SRST_PCIE30_PHY 131082 + +/********Name=PMU1SOFTRST_CON00,Offset=0x30A00********/ +#define SRST_H_PMU1_BIU 786442 +#define SRST_P_PMU1_BIU 786443 +#define SRST_H_PMU_CM0_BIU 786444 +#define SRST_F_PMU_CM0_CORE 786445 +#define SRST_T_PMU1_CM0_JTAG 786446 + +/********Name=PMU1SOFTRST_CON01,Offset=0x30A04********/ +#define SRST_DDR_FAIL_SAFE 786449 +#define SRST_P_CRU_PMU1 786450 +#define SRST_P_PMU1_GRF 786452 +#define SRST_P_PMU1_IOC 786453 +#define SRST_P_PMU1WDT 786454 +#define SRST_T_PMU1WDT 786455 +#define SRST_P_PMU1TIMER 786456 +#define SRST_PMU1TIMER0 786458 +#define SRST_PMU1TIMER1 786459 +#define SRST_P_PMU1PWM 786460 +#define SRST_PMU1PWM 786461 + +/********Name=PMU1SOFTRST_CON02,Offset=0x30A08********/ +#define SRST_P_I2C0 786465 +#define SRST_I2C0 786466 +#define SRST_S_UART0 786469 +#define SRST_P_UART0 786470 +#define SRST_H_I2S1_8CH 786471 +#define SRST_M_I2S1_8CH_TX 786474 +#define SRST_M_I2S1_8CH_RX 786477 +#define SRST_H_PDM0 786478 +#define SRST_PDM0 786479 + +/********Name=PMU1SOFTRST_CON03,Offset=0x30A0C********/ +#define SRST_H_VAD 786480 +#define SRST_HDPTX0_INIT 786491 +#define SRST_HDPTX0_CMN 786492 +#define SRST_HDPTX0_LANE 786493 +#define SRST_HDPTX1_INIT 786495 + +/********Name=PMU1SOFTRST_CON04,Offset=0x30A10********/ +#define SRST_HDPTX1_CMN 786496 +#define SRST_HDPTX1_LANE 786497 +#define SRST_M_MIPI_DCPHY0 786499 +#define SRST_S_MIPI_DCPHY0 786500 +#define SRST_M_MIPI_DCPHY1 786501 +#define SRST_S_MIPI_DCPHY1 786502 +#define SRST_OTGPHY_U3_0 786503 +#define SRST_OTGPHY_U3_1 786504 +#define SRST_OTGPHY_U2_0 786505 +#define SRST_OTGPHY_U2_1 786506 + +/********Name=PMU1SOFTRST_CON05,Offset=0x30A14********/ +#define SRST_P_PMU0GRF 786515 +#define SRST_P_PMU0IOC 786516 +#define SRST_P_GPIO0 786517 +#define SRST_GPIO0 786518 + +/* scmi-clocks indices */ + +#define SCMI_CLK_CPUL 0 +#define SCMI_CLK_DSU 1 +#define SCMI_CLK_CPUB01 2 +#define SCMI_CLK_CPUB23 3 +#define SCMI_CLK_DDR 4 +#define SCMI_CLK_GPU 5 +#define SCMI_CLK_NPU 6 +#define SCMI_CLK_SBUS 7 +#define SCMI_PCLK_SBUS 8 +#define SCMI_CCLK_SD 9 +#define SCMI_DCLK_SD 10 +#define SCMI_ACLK_SECURE_NS 11 +#define SCMI_HCLK_SECURE_NS 12 +#define SCMI_TCLK_WDT 13 +#define SCMI_KEYLADDER_CORE 14 +#define SCMI_KEYLADDER_RNG 15 +#define SCMI_ACLK_SECURE_S 16 +#define SCMI_HCLK_SECURE_S 17 +#define SCMI_PCLK_SECURE_S 18 +#define SCMI_CRYPTO_RNG 19 +#define SCMI_CRYPTO_CORE 20 +#define SCMI_CRYPTO_PKA 21 +#define SCMI_SPLL 22 +#define SCMI_HCLK_SD 23 + +/********Name=SECURE_SOFTRST_CON00,Offset=0xA00********/ +#define SRST_A_SECURE_NS_BIU 10 +#define SRST_H_SECURE_NS_BIU 11 +#define SRST_A_SECURE_S_BIU 12 +#define SRST_H_SECURE_S_BIU 13 +#define SRST_P_SECURE_S_BIU 14 +#define SRST_CRYPTO_CORE 15 +/********Name=SECURE_SOFTRST_CON01,Offset=0xA04********/ +#define SRST_CRYPTO_PKA 16 +#define SRST_CRYPTO_RNG 17 +#define SRST_A_CRYPTO 18 +#define SRST_H_CRYPTO 19 +#define SRST_KEYLADDER_CORE 25 +#define SRST_KEYLADDER_RNG 26 +#define SRST_A_KEYLADDER 27 +#define SRST_H_KEYLADDER 28 +#define SRST_P_OTPC_S 29 +#define SRST_OTPC_S 30 +#define SRST_WDT_S 31 +/********Name=SECURE_SOFTRST_CON02,Offset=0xA08********/ +#define SRST_T_WDT_S 32 +#define SRST_H_BOOTROM 33 +#define SRST_A_DCF 34 +#define SRST_P_DCF 35 +#define SRST_H_BOOTROM_NS 37 +#define SRST_P_KEYLADDER 46 +#define SRST_H_TRNG_S 47 +/********Name=SECURE_SOFTRST_CON03,Offset=0xA0C********/ +#define SRST_H_TRNG_NS 48 +#define SRST_D_SDMMC_BUFFER 49 +#define SRST_H_SDMMC 50 +#define SRST_H_SDMMC_BUFFER 51 +#define SRST_SDMMC 52 +#define SRST_P_TRNG_CHK 53 +#define SRST_TRNG_S 54 + +#endif /* __DT_BINDINGS_CLK_ROCKCHIP_RK3588_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/softrst.c b/bsp/rockchip/rk3566/driver/clk/softrst.c new file mode 100644 index 00000000000..fc8c2853b27 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/clk/softrst.c @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-26 GuEe-GUI first version + */ + +struct rockchip_softrst +{ + void *regs; + int num_per_reg; + rt_uint8_t flags; + + struct rt_spinlock lock; +}; + +static rt_err_t rockchip_softrst_assert(struct rt_reset_control *rstc) +{ + int bank, offset; + struct rockchip_softrst *softrst = rstc->rstcer->priv; + + bank = rstc->id / softrst->num_per_reg; + offset = rstc->id % softrst->num_per_reg; + + if (softrst->flags & ROCKCHIP_SOFTRST_HIWORD_MASK) + { + HWREG32(softrst->regs + (bank * 4)) = RT_BIT(offset) | (RT_BIT(offset) << 16); + } + else + { + rt_uint32_t reg; + rt_ubase_t level; + + level = rt_spin_lock_irqsave(&softrst->lock); + + reg = HWREG32(softrst->regs + (bank * 4)); + HWREG32(softrst->regs + (bank * 4)) = reg | RT_BIT(offset); + + rt_spin_unlock_irqrestore(&softrst->lock, level); + } + + return RT_EOK; +} + +static rt_err_t rockchip_softrst_deassert(struct rt_reset_control *rstc) +{ + int bank, offset; + struct rockchip_softrst *softrst = rstc->rstcer->priv; + + bank = rstc->id / softrst->num_per_reg; + offset = rstc->id % softrst->num_per_reg; + + if (softrst->flags & ROCKCHIP_SOFTRST_HIWORD_MASK) + { + HWREG32(softrst->regs + (bank * 4)) = (RT_BIT(offset) << 16); + } + else + { + rt_uint32_t reg; + rt_ubase_t level; + + level = rt_spin_lock_irqsave(&softrst->lock); + + reg = HWREG32(softrst->regs + (bank * 4)); + HWREG32(softrst->regs + (bank * 4)) = reg & ~RT_BIT(offset); + + rt_spin_unlock_irqrestore(&softrst->lock, level); + } + + return RT_EOK; +} + +static const struct rt_reset_control_ops rockchip_softrst_ops = +{ + .assert = rockchip_softrst_assert, + .deassert = rockchip_softrst_deassert, +}; + +static rt_err_t rk_register_softrst(struct rt_reset_controller *rstcer, + struct rt_ofw_node *np, void *regs, rt_uint8_t flags) +{ + rt_err_t err; + struct rockchip_softrst *softrst = rt_calloc(1, sizeof(*softrst)); + + if (!softrst) + { + return -RT_ENOMEM; + } + + rstcer->priv = softrst; + + rt_spin_lock_init(&softrst->lock); + + softrst->regs = regs; + softrst->flags = flags; + softrst->num_per_reg = (flags & ROCKCHIP_SOFTRST_HIWORD_MASK) ? 16 : 32; + + rstcer->ofw_node = np; + rstcer->ops = &rockchip_softrst_ops; + + if ((err = rt_reset_controller_register(rstcer))) + { + rt_free(softrst); + } + + return err; +} diff --git a/bsp/rockchip/rk3566/driver/hwtimer/Kconfig b/bsp/rockchip/rk3566/driver/hwtimer/Kconfig new file mode 100755 index 00000000000..3dfe6bf159b --- /dev/null +++ b/bsp/rockchip/rk3566/driver/hwtimer/Kconfig @@ -0,0 +1,5 @@ +config RT_HWTIMER_ROCKCHIP + bool "RockChip Timer" + depends on RT_USING_DM + depends on RT_USING_HWTIMER + default n diff --git a/bsp/rockchip/rk3566/driver/hwtimer/SConscript b/bsp/rockchip/rk3566/driver/hwtimer/SConscript new file mode 100644 index 00000000000..90934983d56 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/hwtimer/SConscript @@ -0,0 +1,13 @@ +from building import * + +cwd = GetCurrentDir() +CPPPATH = [cwd] + +src = [] + +if GetDepend(['RT_HWTIMER_ROCKCHIP']): + src += ['hwtimer-rockchip_timer.c'] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c b/bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c new file mode 100644 index 00000000000..b5213efa8af --- /dev/null +++ b/bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c @@ -0,0 +1,393 @@ +/* + * Copyright (c) 2006-2022, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-12-06 GuEe-GUI first version + */ + +#define DBG_TAG "drv.rk_timer" +#define DBG_LVL DBG_INFO +#include + +#include +#include +#include + +#ifdef RT_USING_KTIME +#include +#endif + +#define HZ 100 +#define KHZ 1000 +#define MHZ 1000000 +#define OSC_HZ (24 * MHZ) + +#define TIMER_LOAD_COUNT0 0x00 +#define TIMER_LOAD_COUNT1 0x04 +#define TIMER_CURRENT_VALUE0 0x08 +#define TIMER_CURRENT_VALUE1 0x0c +#define TIMER_CONTROL_REG3288 0x10 +#define TIMER_CONTROL_REG3399 0x1c +#define TIMER_INT_STATUS 0x18 + +#define TIMER_DISABLE 0x0 +#define TIMER_ENABLE 0x1 +#define TIMER_MODE_FREE_RUNNING (0 << 1) +#define TIMER_MODE_USER_DEFINED_COUNT (1 << 1) +#define TIMER_INT_UNMASK (1 << 2) + +struct rk_timer +{ + struct rt_hwtimer_device parent; + + void *base; + void *ctrl; + struct rt_clk *clk; + struct rt_clk *pclk; + + int irq; + rt_uint32_t freq; + rt_uint32_t cycle; + rt_bool_t status; + + struct rt_hwtimer_info info; +}; +#ifdef RT_USING_KTIME +struct hrt_timer +{ + struct rk_timer *timer; + uint64_t cnt; + void (*outcb)(void *param); + void *param; +}; +static struct hrt_timer _timer0 = {0}; +static struct rt_spinlock _spinlock; +#endif +#define raw_to_rk_timer(raw) rt_container_of(raw, struct rk_timer, parent) + +struct rk_timer_data +{ + rt_uint32_t ctrl_reg; +}; + +rt_inline void rk_timer_disable(struct rk_timer *timer) +{ + HWREG32(timer->ctrl) = TIMER_DISABLE; +} + +rt_inline void rk_timer_enable(struct rk_timer *timer, rt_uint32_t flags) +{ + HWREG32(timer->ctrl) = TIMER_ENABLE | flags; +} + +rt_inline rt_uint32_t rk_timer_current_value(struct rk_timer *timer) +{ + return HWREG32(timer->base + TIMER_CURRENT_VALUE0); +} + +static void rk_timer_update_counter(unsigned long cycles, struct rk_timer *timer) +{ + HWREG32(timer->base + TIMER_LOAD_COUNT0) = cycles; + HWREG32(timer->base + TIMER_LOAD_COUNT1) = 0; +} + +static void rk_timer_interrupt_clear(struct rk_timer *timer) +{ + HWREG32(timer->base + TIMER_INT_STATUS) = 1; +} + +static void rk_timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state) +{ +} + +static rt_err_t rk_timer_start(struct rt_hwtimer_device *timer, rt_uint32_t cnt, rt_hwtimer_mode_t mode) +{ + rt_err_t err = RT_EOK; + struct rk_timer *rk_timer = raw_to_rk_timer(timer); + + switch (mode) + { + case HWTIMER_MODE_ONESHOT: + rk_timer_disable(rk_timer); + rk_timer_update_counter(cnt, rk_timer); + rk_timer_enable(rk_timer, TIMER_MODE_USER_DEFINED_COUNT | TIMER_INT_UNMASK); + break; + + case HWTIMER_MODE_PERIOD: + rk_timer_disable(rk_timer); + rk_timer_update_counter(rk_timer->freq / HZ - 1, rk_timer); + rk_timer_enable(rk_timer, TIMER_MODE_FREE_RUNNING | TIMER_INT_UNMASK); + break; + + default: + err = -RT_EINVAL; + break; + } + + if (!err) + { + rk_timer->cycle = cnt; + rk_timer->status = RT_TRUE; + } + + return err; +} + +static void rk_timer_stop(struct rt_hwtimer_device *timer) +{ + struct rk_timer *rk_timer = raw_to_rk_timer(timer); + + rk_timer->status = RT_FALSE; + rk_timer_disable(rk_timer); +} + +static rt_uint32_t rk_timer_count_get(struct rt_hwtimer_device *timer) +{ + struct rk_timer *rk_timer = raw_to_rk_timer(timer); + + return rk_timer_current_value(rk_timer); +} + +static rt_err_t rk_timer_ctrl(struct rt_hwtimer_device *timer, rt_uint32_t cmd, void *args) +{ + rt_err_t err = RT_EOK; + struct rk_timer *rk_timer = raw_to_rk_timer(timer); + + switch (cmd) + { + case HWTIMER_CTRL_FREQ_SET: + err = -RT_ENOSYS; + break; + + case HWTIMER_CTRL_STOP: + rk_timer_stop(timer); + break; + + case HWTIMER_CTRL_INFO_GET: + if (args) + { + rt_memcpy(args, &rk_timer->info, sizeof(rk_timer->info)); + } + else + { + err = -RT_ERROR; + } + break; + + case HWTIMER_CTRL_MODE_SET: + err = rk_timer_start(timer, rk_timer->cycle, (rt_hwtimer_mode_t)args); + break; + + default: + err = -RT_EINVAL; + break; + } + + return err; +} + +const static struct rt_hwtimer_ops rk_timer_ops = +{ + .init = rk_timer_init, + .start = rk_timer_start, + .stop = rk_timer_stop, + .count_get = rk_timer_count_get, + .control = rk_timer_ctrl, +}; + +static void rk_timer_isr(int irqno, void *param) +{ + struct hrt_timer *timer = &_timer0; + struct rk_timer *time = timer->timer; + + rk_timer_interrupt_clear(time); + + rt_ktime_hrtimer_process(); +} + +void rt_ktime_hrtimer_bind(rt_bitmap_t *affinity) +{ + struct rk_timer *timer = _timer0.timer; + + if (rt_pic_irq_set_affinity(timer->irq, affinity) == -RT_ENOSYS) + { + LOG_E("timer irq affinity init fail\n"); + } + else + { + LOG_D("timer irq(%d) binding done\n", timer->irq); + } +} + +static rt_err_t rk_timer_probe(struct rt_platform_device *pdev) +{ + rt_err_t err = RT_EOK; + const char *dev_name; + struct rt_device *dev = &pdev->parent; + struct rk_timer *timer = rt_calloc(1, sizeof(*timer)); + const struct rk_timer_data *timer_data = pdev->id->data; + if (!timer) + { + return -RT_ENOMEM; + } +#ifdef RT_USING_KTIME + _timer0.timer = timer; + rt_spin_lock_init(&_spinlock); +#endif + if (!(timer->pclk = rt_clk_get_by_name(dev, "pclk"))) + { + err = -RT_EIO; + + goto _fail; + } + + if (!(timer->clk = rt_clk_get_by_name(dev, "timer"))) + { + err = -RT_EIO; + + goto _fail; + } + + timer->base = rt_dm_dev_iomap(dev, 0); + + if (!timer->base) + { + err = -RT_EIO; + + goto _fail; + } + + timer->ctrl = timer->base + timer_data->ctrl_reg; + + rt_clk_enable(timer->pclk); + rt_clk_enable(timer->clk); + timer->freq = rt_clk_get_rate(timer->clk); + timer->irq = rt_dm_dev_get_irq(dev, 0); + + rk_timer_interrupt_clear(timer); + rk_timer_disable(timer); + + timer->parent.ops = &rk_timer_ops; + timer->parent.info = &timer->info; + + timer->info.maxfreq = timer->freq; + timer->info.minfreq = timer->freq; + timer->info.maxcnt = 0xffffffff; + timer->info.cntmode = HWTIMER_CNTMODE_DW; + + rt_dm_dev_set_name_auto(&timer->parent.parent, "timer"); + dev_name = rt_dm_dev_get_name(&timer->parent.parent); + + rt_device_hwtimer_register(&timer->parent, dev_name, RT_NULL); + + RT_BITMAP_DECLARE(affinity, RT_CPUS_NR) = { 0 }; + rt_bitmap_set_bit(affinity, RT_CPUS_NR - 1); + rt_ktime_hrtimer_bind(affinity); + + rt_pic_attach_irq(timer->irq, rk_timer_isr, timer, dev_name, RT_IRQ_F_NONE); + rt_pic_irq_unmask(timer->irq); + +#if KTIMER_BIND_CPU + RT_BITMAP_DECLARE(affinity, RT_CPUS_NR) = {0}; + rt_bitmap_set_bit(affinity, 1); + rt_pic_irq_set_affinity(timer->irq, affinity); +#endif + + return err; + +_fail: + if (timer->base) + { + rt_iounmap(timer->base); + } + if (timer->pclk) + { + rt_clk_put(timer->pclk); + } + if (timer->clk) + { + rt_clk_put(timer->clk); + } + rt_free(timer); + + return err; +} + +static const struct rk_timer_data rk3288_timer_data = +{ + .ctrl_reg = TIMER_CONTROL_REG3288, +}; + +static const struct rk_timer_data rk3399_timer_data = +{ + .ctrl_reg = TIMER_CONTROL_REG3399, +}; + +#ifdef RT_USING_KTIME + +uint64_t rt_ktime_hrtimer_getfrq(void) +{ + return (24 * 1000 * 1000UL); +} + +uint64_t rt_ktime_hrtimer_getres(void) +{ + return ((1000UL * 1000 * 1000) * RT_KTIME_RESMUL) / (24 * 1000 * 1000UL); +} + +uint64_t rt_ktime_hrtimer_getcnt(void) +{ + return rk_timer_current_value(_timer0.timer); +} + +/** + * @brief set the timeout function for hrtimer framework + * + * @warning application should not call this API directly + * + * @param cnt the count of timer dealy + * @return rt_err_t 0 forever + */ +rt_err_t rt_ktime_hrtimer_settimeout(unsigned long cnt) +{ + struct hrt_timer *timer = &_timer0; + struct rk_timer *time = timer->timer; + + timer->cnt = cnt; + + if (cnt) + { + rk_timer_disable(time); + rk_timer_update_counter(cnt, time); + rk_timer_enable(time, TIMER_MODE_USER_DEFINED_COUNT | TIMER_INT_UNMASK); + } + + return 0; +} +#endif + +static const struct rt_ofw_node_id rk_timer_ofw_ids[] = +{ + { .compatible = "rockchip,rk3288-timer", .data = &rk3288_timer_data }, + { .compatible = "rockchip,rk3399-timer", .data = &rk3399_timer_data }, + { /* sentinel */ } +}; + +static struct rt_platform_driver rk_timer_driver = +{ + .name = "hwtimer-rockchip", + .ids = rk_timer_ofw_ids, + + .probe = rk_timer_probe, +}; + +static int rk_timer_drv_register(void) +{ + rt_platform_driver_register(&rk_timer_driver); + + return 0; +} +INIT_PLATFORM_EXPORT(rk_timer_drv_register); diff --git a/bsp/rockchip/rk3566/driver/rockchip.h b/bsp/rockchip/rk3566/driver/rockchip.h new file mode 100644 index 00000000000..b121be0a3f1 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/rockchip.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-3-08 GuEe-GUI the first version + */ + +#ifndef __ROCKCHIP_H__ +#define __ROCKCHIP_H__ + +#include + +#define rk_clrsetreg(addr, clr, set) HWREG32(addr) = (((clr) | (set)) << 16 | (set)) +#define rk_clrreg(addr, clr) HWREG32(addr) = ((clr) << 16) +#define rk_setreg(addr, set) HWREG32(addr) = ((set) << 16 | (set)) + +#define HIWORD_UPDATE(val, mask, shift) ((val) << (shift) | (mask) << ((shift) + 16)) + +#endif /* __ROCKCHIP_H__ */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/8250-dw.c b/bsp/rockchip/rk3566/driver/uart8250/8250-dw.c new file mode 100644 index 00000000000..2df3086474d --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/8250-dw.c @@ -0,0 +1,341 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-22 GuEe-GUI first version + */ + +/* + * The Synopsys DesignWare 8250 has an extra feature whereby it detects if the + * LCR is written whilst busy. If it is, then a busy detect interrupt is + * raised, the LCR needs to be rewritten and the uart status register read. + */ + +#include + +#include "8250.h" + +/* Offsets for the DesignWare specific registers */ +#define DW_UART_USR 0x1f /* UART Status Register */ +#define DW_UART_DMASA 0xa8 /* DMA Software Ack */ + +#define OCTEON_UART_USR 0x27 /* UART Status Register */ + +#define RZN1_UART_TDMACR 0x10c /* DMA Control Register Transmit Mode */ +#define RZN1_UART_RDMACR 0x110 /* DMA Control Register Receive Mode */ + +/* DesignWare specific register fields */ +#define DW_UART_MCR_SIRE RT_BIT(6) + +/* Renesas specific register fields */ +#define RZN1_UART_xDMACR_DMA_EN RT_BIT(0) +#define RZN1_UART_xDMACR_1_WORD_BURST (0 << 1) +#define RZN1_UART_xDMACR_4_WORD_BURST (1 << 1) +#define RZN1_UART_xDMACR_8_WORD_BURST (2 << 1) +#define RZN1_UART_xDMACR_BLK_SZ(x) ((x) << 3) + +/* Quirks */ +#define DW_UART_QUIRK_OCTEON RT_BIT(0) +#define DW_UART_QUIRK_ARMADA_38X RT_BIT(1) +#define DW_UART_QUIRK_SKIP_SET_RATE RT_BIT(2) +#define DW_UART_QUIRK_IS_DMA_FC RT_BIT(3) + +struct dw8250_platform_data +{ + rt_uint8_t usr_reg; + rt_uint32_t cpr_val; + rt_uint32_t quirks; +}; + +struct dw8250 +{ + struct serial8250 parent; + struct rt_spinlock spinlock; + + struct rt_clk *pclk; + + rt_bool_t uart_16550_compatible; + struct dw8250_platform_data *platform_data; +}; + +#define to_dw8250(serial8250) rt_container_of(serial8250, struct dw8250, parent) + +static void dw8250_check_lcr(struct serial8250 *serial, int value) +{ + void *offset = (void *)(serial->base + (UART_LCR << serial->regshift)); + int tries = 1000; + + /* Make sure LCR write wasn't ignored */ + while (tries--) + { + rt_uint32_t lcr = serial->serial_in(serial, UART_LCR); + + if ((value & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR)) + { + break; + } + + serial->serial_out(serial, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); + serial->serial_in(serial, UART_RX); + + if (serial->iotype == PORT_MMIO32) + { + HWREG32(offset) = value; + } + else if (serial->iotype == PORT_MMIO32BE) + { + HWREG32(offset) = rt_cpu_to_be32(value); + } + else + { + HWREG8(offset) = value; + } + } +} + +static void dw8250_serial_out32(struct serial8250 *serial, int offset, int value) +{ + struct dw8250 *dw8250 = to_dw8250(serial); + + HWREG32(serial->base + (offset << serial->regshift)) = value; + + if (offset == UART_LCR && !dw8250->uart_16550_compatible) + { + dw8250_check_lcr(serial, value); + } +} + +static rt_uint32_t dw8250_serial_in32(struct serial8250 *serial, int offset) +{ + return HWREG32(serial->base + (offset << serial->regshift)); +} + +static rt_err_t dw8250_isr(struct serial8250 *serial, int irq) +{ + unsigned int iir, status; + struct dw8250 *dw8250 = to_dw8250(serial); + + iir = serial8250_in(serial, UART_IIR); + + /* + * If don't do this in non-DMA mode then the "RX TIMEOUT" interrupt will + * fire forever. + */ + if ((iir & 0x3f) == UART_IIR_RX_TIMEOUT) + { + rt_base_t level = rt_spin_lock_irqsave(&dw8250->spinlock); + + status = serial8250_in(serial, UART_LSR); + + if (!(status & (UART_LSR_DR | UART_LSR_BI))) + { + serial8250_in(serial, UART_RX); + } + + rt_spin_unlock_irqrestore(&dw8250->spinlock, level); + } + + if (!(iir & UART_IIR_NO_INT)) + { + rt_hw_serial_isr(&serial->parent, RT_SERIAL_EVENT_RX_IND); + } + + if ((iir & UART_IIR_BUSY) == UART_IIR_BUSY) + { + /* Clear the USR */ + serial8250_in(serial, dw8250->platform_data->usr_reg); + } + + return RT_EOK; +} + +static void dw8250_free_resource(struct dw8250 *dw8250) +{ + struct serial8250 *serial = &dw8250->parent; + + if (serial->base) + { + rt_iounmap(serial->base); + } + + if (serial->clk) + { + rt_clk_disable_unprepare(serial->clk); + rt_clk_put(serial->clk); + } + + if (dw8250->pclk) + { + rt_clk_disable_unprepare(dw8250->pclk); + rt_clk_put(dw8250->pclk); + } + + rt_free(dw8250); +} + +static void dw8250_remove(struct serial8250 *serial) +{ + struct dw8250 *dw8250 = to_dw8250(serial); + + dw8250_free_resource(dw8250); +} + +static rt_err_t dw8250_probe(struct rt_platform_device *pdev) +{ + rt_err_t err; + rt_uint32_t val; + struct serial8250 *serial; + struct rt_device *dev = &pdev->parent; + struct dw8250 *dw8250 = serial8250_alloc(dw8250); + struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; + + if (!dw8250) + { + return -RT_ENOMEM; + } + + serial = &dw8250->parent; + serial->base = rt_dm_dev_iomap(dev, 0); + + if (!serial->base) + { + err = -RT_EIO; + + goto _free_res; + } + + serial->irq = rt_dm_dev_get_irq(dev, 0); + + if (serial->irq < 0) + { + err = serial->irq; + + goto _free_res; + } + + serial->clk = rt_clk_get_by_name(dev, "baudclk"); + dw8250->pclk = rt_clk_get_by_name(dev, "apb_pclk"); + + if (!serial->clk) + { + if ((err = rt_dm_dev_prop_read_u32(dev, "clock-frequency", &serial->freq))) + { + goto _free_res; + } + } + else + { + if ((err = rt_clk_prepare_enable(serial->clk))) + { + goto _free_res; + } + + serial->freq = rt_clk_get_rate(serial->clk); + } + + if (!dw8250->pclk) + { + err = -RT_EIO; + + goto _free_res; + } + + if ((err = rt_clk_prepare_enable(dw8250->pclk))) + { + goto _free_res; + } + + rt_dm_dev_prop_read_u32(dev, "reg-shift", &serial->regshift); + + if (!rt_dm_dev_prop_read_u32(dev, "reg-io-width", &val) && val == 4) + { + serial->iotype = PORT_MMIO32; + serial->serial_in = &dw8250_serial_in32; + serial->serial_out = &dw8250_serial_out32; + } + + dw8250->uart_16550_compatible = rt_dm_dev_prop_read_bool(dev, "snps,uart-16550-compatible"); + dw8250->platform_data = (struct dw8250_platform_data *)pdev->id->data; + + rt_dm_dev_bind_fwdata(&serial->parent.parent, pdev->parent.ofw_node, &serial->parent); + + serial = &dw8250->parent; + serial->parent.ops = &serial8250_uart_ops; + serial->parent.config = config; + serial->handle_irq = &dw8250_isr; + serial->remove = &dw8250_remove; + serial->data = dw8250; + + rt_spin_lock_init(&dw8250->spinlock); + + if ((err = serial8250_setup(serial))) + { + goto _free_res; + } + + return RT_EOK; + +_free_res: + dw8250_free_resource(dw8250); + + return err; +} + +static const struct dw8250_platform_data dw8250_dw_apb = +{ + .usr_reg = DW_UART_USR, +}; + +static const struct dw8250_platform_data dw8250_octeon_3860_data = +{ + .usr_reg = OCTEON_UART_USR, + .quirks = DW_UART_QUIRK_OCTEON, +}; + +static const struct dw8250_platform_data dw8250_armada_38x_data = +{ + .usr_reg = DW_UART_USR, + .quirks = DW_UART_QUIRK_ARMADA_38X, +}; + +static const struct dw8250_platform_data dw8250_renesas_rzn1_data = +{ + .usr_reg = DW_UART_USR, + .cpr_val = 0x00012f32, + .quirks = DW_UART_QUIRK_IS_DMA_FC, +}; + +static const struct dw8250_platform_data dw8250_starfive_jh7100_data = +{ + .usr_reg = DW_UART_USR, + .quirks = DW_UART_QUIRK_SKIP_SET_RATE, +}; + +static const struct rt_ofw_node_id dw8250_ofw_ids[] = +{ + { .type = "ttyS", .compatible = "snps,dw-apb-uart", .data = &dw8250_dw_apb }, + { .type = "ttyS", .compatible = "cavium,octeon-3860-uart", .data = &dw8250_octeon_3860_data }, + { .type = "ttyS", .compatible = "marvell,armada-38x-uart", .data = &dw8250_armada_38x_data }, + { .type = "ttyS", .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data }, + { .type = "ttyS", .compatible = "starfive,jh7100-uart", .data = &dw8250_starfive_jh7100_data }, + { /* sentinel */ } +}; + +static struct rt_platform_driver dw8250_driver = +{ + .name = "dw-apb-uart", + .ids = dw8250_ofw_ids, + + .probe = dw8250_probe, +}; + +static int dw8250_drv_register(void) +{ + rt_platform_driver_register(&dw8250_driver); + + return 0; +} +INIT_PLATFORM_EXPORT(dw8250_drv_register); diff --git a/bsp/rockchip/rk3566/driver/uart8250/8250.h b/bsp/rockchip/rk3566/driver/uart8250/8250.h new file mode 100644 index 00000000000..5eeb3a376cc --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/8250.h @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-16 GuEe-GUI first version + */ + +#ifndef __SERIAL_8250_H__ +#define __SERIAL_8250_H__ + +#include +#include +#include +#include +#include "regs.h" +#include "serial_dm.h" + +enum +{ + PORT_IO, + PORT_MMIO, + PORT_MMIO16, + PORT_MMIO32, + PORT_MMIO32BE, +}; + +struct serial8250 +{ + struct rt_serial_device parent; + struct rt_clk *clk; + + int irq; + void *base; + rt_size_t size; + rt_uint32_t freq; /* frequency */ + rt_uint32_t regshift; /* reg offset shift */ + rt_uint8_t iotype; /* io access style */ + + struct rt_spinlock spinlock; + + rt_uint32_t (*serial_in)(struct serial8250 *, int offset); + void (*serial_out)(struct serial8250 *, int offset, int value); + rt_err_t (*handle_irq)(struct serial8250 *, int irq); + + /* Free all resource (and parent) by child */ + void (*remove)(struct serial8250 *); + void *data; +}; + +#define serial8250_alloc(obj) rt_calloc(1, sizeof(typeof(*obj))) +#define raw_to_serial8250(raw_serial) rt_container_of(raw_serial, struct serial8250, parent) + +rt_err_t serial8250_config(struct serial8250 *serial, const char *options); +rt_err_t serial8250_setup(struct serial8250 *serial); +rt_err_t serial8250_remove(struct serial8250 *serial); + +rt_uint32_t serial8250_in(struct serial8250 *serial, int offset); +void serial8250_out(struct serial8250 *serial, int offset, int value); + +rt_err_t serial8250_uart_configure(struct rt_serial_device *raw_serial, struct serial_configure *cfg); +rt_err_t serial8250_uart_control(struct rt_serial_device *raw_serial, int cmd, void *arg); +int serial8250_uart_putc(struct rt_serial_device *raw_serial, char c); +int serial8250_uart_getc(struct rt_serial_device *raw_serial); + +int serial8250_early_putc(struct rt_serial_device *raw_serial, char c); +rt_err_t serial8250_early_fdt_setup(struct serial8250 *serial, struct rt_fdt_earlycon *con, const char *options); + +extern struct serial8250 early_serial8250; +extern const struct rt_uart_ops serial8250_uart_ops; + +#endif /* __SERIAL_8250_H__ */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/Kconfig b/bsp/rockchip/rk3566/driver/uart8250/Kconfig new file mode 100644 index 00000000000..e67e9f619ee --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/Kconfig @@ -0,0 +1,3 @@ +config RT_SERIAL_8250 + bool "8250 Serila Family" + default n diff --git a/bsp/rockchip/rk3566/driver/uart8250/SConscript b/bsp/rockchip/rk3566/driver/uart8250/SConscript new file mode 100755 index 00000000000..7f7b94a1474 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/SConscript @@ -0,0 +1,13 @@ +from building import * + +cwd = GetCurrentDir() +CPPPATH = [cwd] + +src = ['core.c', 'early.c'] + +if GetDepend(['RT_SERIAL_8250']): + src += ['8250-dw.c'] + src += ['fiq-debugger.c'] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) +Return('group') diff --git a/bsp/rockchip/rk3566/driver/uart8250/core.c b/bsp/rockchip/rk3566/driver/uart8250/core.c new file mode 100644 index 00000000000..37fd912355f --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/core.c @@ -0,0 +1,303 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-16 GuEe-GUI first version + */ + +#include "8250.h" + +rt_err_t serial8250_config(struct serial8250 *serial, const char *options) +{ + rt_err_t ret = -RT_EINVAL; + + if (serial) + { + char *arg; + rt_bool_t has_iotype = RT_FALSE; + + /* + * uart8250,io,[,options] + * uart8250,mmio,[,options] + * uart8250,mmio16,[,options] + * uart8250,mmio32,[,options] + * uart8250,mmio32be,[,options] + * uart8250,0x[,options] + */ + serial_for_each_args(arg, options) + { + if (!rt_strcmp(arg, "uart8250")) + { + ret = RT_EOK; + continue; + } + /* user call error */ + if (ret) + { + break; + } + if (!rt_strncmp(arg, "0x", 2)) + { + serial->base = serial_base_from_args(arg); + continue; + } + if (!has_iotype) + { + const struct + { + char *param; + int type; + } iotype_table[] = + { + { "io", PORT_IO }, + { "mmio", PORT_MMIO }, + { "mmio16", PORT_MMIO16 }, + { "mmio32", PORT_MMIO32 }, + { "mmio32be", PORT_MMIO32BE }, + }; + + serial->iotype = PORT_MMIO32; + + for (int i = 0; i < RT_ARRAY_SIZE(iotype_table); ++i) + { + if (!rt_strcmp(arg, iotype_table[i].param)) + { + serial->iotype = iotype_table[i].type; + break; + } + } + + has_iotype = RT_TRUE; + continue; + } + + serial->parent.config = serial_cfg_from_args(arg); + } + + if (!serial->size) + { + serial->size = 0x1000; + } + } + + return ret; +} + +static void serial8250_isr(int irqno, void *param) +{ + struct serial8250 *serial = (struct serial8250 *)param; + + if (serial->handle_irq) + { + serial->handle_irq(serial, irqno); + } + else + { + rt_hw_serial_isr(&serial->parent, RT_SERIAL_EVENT_RX_IND); + } +} + +rt_err_t serial8250_setup(struct serial8250 *serial) +{ + rt_err_t ret = RT_EOK; + const char *uart_name; + char dev_name[RT_NAME_MAX]; + + if (serial) + { + rt_spin_lock_init(&serial->spinlock); + + serial->serial_in = serial->serial_in ? : &serial8250_in; + serial->serial_out = serial->serial_out ? : &serial8250_out; + + serial_dev_set_name(&serial->parent); + uart_name = rt_dm_dev_get_name(&serial->parent.parent); + + rt_hw_serial_register(&serial->parent, uart_name, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, serial->data); + + rt_snprintf(dev_name, sizeof(dev_name), "%s-8250", uart_name); + rt_pic_attach_irq(serial->irq, serial8250_isr, serial, dev_name, RT_IRQ_F_NONE); + } + else + { + ret = -RT_EINVAL; + } + + return ret; +} + +rt_err_t serial8250_remove(struct serial8250 *serial) +{ + rt_err_t err; + + rt_iounmap((void *)serial->base); + serial->base = RT_NULL; + + rt_pic_irq_mask(serial->irq); + rt_pic_detach_irq(serial->irq, serial); + + err = rt_device_unregister(&serial->parent.parent); + + if (!err && serial->remove) + { + serial->remove(serial); + } + + return err; +} + +rt_uint32_t serial8250_in(struct serial8250 *serial, int offset) +{ + rt_uint32_t ret = 0; + offset <<= serial->regshift; + + switch (serial->iotype) + { + case PORT_MMIO: + ret = HWREG8(serial->base + offset); + break; + case PORT_MMIO16: + ret = HWREG16(serial->base + offset); + break; + case PORT_MMIO32: + ret = HWREG32(serial->base + offset); + break; + case PORT_MMIO32BE: + ret = rt_cpu_to_be32(HWREG32(serial->base + offset)); + break; +#ifdef ARCH_SUPPORT_PIO + case PORT_IO: + ret = inb(serial->base + offset, value); + break; +#endif + default: + break; + } + + return ret; +} + +void serial8250_out(struct serial8250 *serial, int offset, int value) +{ + offset <<= serial->regshift; + + switch (serial->iotype) + { + case PORT_MMIO: + HWREG8(serial->base + offset) = value; + break; + case PORT_MMIO16: + HWREG16(serial->base + offset) = value; + break; + case PORT_MMIO32: + HWREG32(serial->base + offset) = value; + break; + case PORT_MMIO32BE: + HWREG32(serial->base + offset) = rt_cpu_to_be32(value); + break; +#ifdef ARCH_SUPPORT_PIO + case PORT_IO: + outb(serial->base + offset, value); + break; +#endif + default: + break; + } +} + +rt_err_t serial8250_uart_configure(struct rt_serial_device *raw_serial, struct serial_configure *cfg) +{ + rt_err_t err = RT_EOK; + struct serial8250 *serial = raw_to_serial8250(raw_serial); + + /* Disable interrupt */ + serial->serial_out(serial, UART_IER, !UART_IER_RDI); + + /* Enable FIFO, Clear FIFO*/ + serial->serial_out(serial, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); + + /* DTR + RTS */ + serial->serial_out(serial, UART_MCR, UART_MCR_DTR | UART_MCR_RTS); + + if (serial->freq) + { + rt_uint32_t wlen = cfg->data_bits - DATA_BITS_5 + UART_LCR_WLEN5; + rt_uint32_t divisor = serial->freq / 16 / cfg->baud_rate; + + /* Enable access DLL & DLH */ + serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) | UART_LCR_DLAB); + serial->serial_out(serial, UART_DLL, (divisor & 0xff)); + serial->serial_out(serial, UART_DLM, (divisor >> 8) & 0xff); + /* Clear DLAB bit */ + serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) & (~UART_LCR_DLAB)); + + serial->serial_out(serial, UART_LCR, (serial->serial_in(serial, UART_LCR) & (~wlen)) | wlen); + serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) & (~UART_LCR_STOP)); + serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) & (~UART_LCR_PARITY)); + } + + serial->serial_out(serial, UART_IER, UART_IER_RDI); + + return err; +} + +rt_err_t serial8250_uart_control(struct rt_serial_device *raw_serial, int cmd, void *arg) +{ + rt_err_t err = RT_EOK; + struct serial8250 *serial = raw_to_serial8250(raw_serial); + + switch (cmd) + { + case RT_DEVICE_CTRL_CLR_INT: + /* disable rx irq */ + serial->serial_out(serial, UART_IER, !UART_IER_RDI); + rt_pic_irq_mask(serial->irq); + break; + + case RT_DEVICE_CTRL_SET_INT: + /* enable rx irq */ + serial->serial_out(serial, UART_IER, UART_IER_RDI); + rt_pic_irq_unmask(serial->irq); + break; + } + + return err; +} + +int serial8250_uart_putc(struct rt_serial_device *raw_serial, char c) +{ + struct serial8250 *serial = raw_to_serial8250(raw_serial); + + while (!(serial->serial_in(serial, UART_LSR) & 0x20)) + { + rt_hw_cpu_relax(); + } + + serial->serial_out(serial, UART_TX, c); + + return 1; +} + +int serial8250_uart_getc(struct rt_serial_device *raw_serial) +{ + int ch = -1; + struct serial8250 *serial = raw_to_serial8250(raw_serial); + + if ((serial->serial_in(serial, UART_LSR) & 0x1)) + { + ch = serial->serial_in(serial, UART_RX) & 0xff; + } + + return ch; +} + +const struct rt_uart_ops serial8250_uart_ops = +{ + .configure = serial8250_uart_configure, + .control = serial8250_uart_control, + .putc = serial8250_uart_putc, + .getc = serial8250_uart_getc, +}; diff --git a/bsp/rockchip/rk3566/driver/uart8250/early.c b/bsp/rockchip/rk3566/driver/uart8250/early.c new file mode 100644 index 00000000000..971550fcc44 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/early.c @@ -0,0 +1,162 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-16 GuEe-GUI first version + */ + +#include "8250.h" + +struct serial8250 early_serial8250 = { 0 }; + +static rt_uint32_t serial8250_early_in(struct serial8250 *serial, int offset) +{ + return serial8250_in(serial, offset); +} + +static void serial8250_early_out(struct serial8250 *serial, int offset, int value) +{ + serial8250_out(serial, offset, value); +} + +int serial8250_early_putc(struct rt_serial_device *raw_serial, char c) +{ + if (raw_serial) + { + /* FIFO and shifting register empty */ + const int uart_lsr_both_empty = (UART_LSR_TEMT | UART_LSR_THRE); + struct serial8250 *serial = rt_container_of(raw_serial, struct serial8250, parent); + + serial8250_early_out(serial, UART_TX, c); + + while ((serial8250_early_in(serial, UART_LSR) & uart_lsr_both_empty) != uart_lsr_both_empty) + { + rt_hw_cpu_relax(); + } + } + + return 1; +} + +static void init_serial(struct serial8250 *serial) +{ + unsigned char c; + rt_uint32_t ier, divisor; + + serial8250_early_out(serial, UART_LCR, 0x3); /* 8n1 */ + ier = serial8250_early_in(serial, UART_IER); + serial8250_early_out(serial, UART_IER, ier & UART_IER_UUE); /* no interrupt */ + serial8250_early_out(serial, UART_FCR, 0); /* no fifo */ + serial8250_early_out(serial, UART_MCR, 0x3); /* DTR + RTS */ + + if (serial->freq) + { + divisor = RT_DIV_ROUND_CLOSEST(serial->freq, 16 * serial->parent.config.baud_rate); + c = serial8250_early_in(serial, UART_LCR); + serial8250_early_out(serial, UART_LCR, c | UART_LCR_DLAB); + serial8250_early_out(serial, UART_DLL, divisor & 0xff); + serial8250_early_out(serial, UART_DLM, (divisor >> 8) & 0xff); + serial8250_early_out(serial, UART_LCR, c & ~UART_LCR_DLAB); + } +} + +static void serial8250_early_kick(struct rt_fdt_earlycon *con, int why) +{ + struct serial8250 *serial = raw_to_serial8250(con->data); + + switch (why) + { + case FDT_EARLYCON_KICK_UPDATE: + serial->base = rt_ioremap((void *)con->mmio, con->size); + break; + + case FDT_EARLYCON_KICK_COMPLETED: + rt_iounmap(serial->base); + break; + + default: + break; + } +} + +rt_err_t serial8250_early_fdt_setup(struct serial8250 *serial, struct rt_fdt_earlycon *con, const char *options) +{ + rt_err_t ret = RT_EOK; + + if (!serial->base && con) + { + serial8250_config(serial, options); + con->mmio = (rt_ubase_t)serial->base; + con->size = serial->size; + } + + if (serial->base && con) + { + serial->base = rt_ioremap_early((void *)serial->base, serial->size); + } + + if (serial->base && con) + { + con->console_putc = (typeof(con->console_putc))&serial8250_early_putc; + con->console_kick = serial8250_early_kick; + con->data = &serial->parent; + + if (!serial->parent.config.baud_rate) + { + /* assume the device was initialized, only mask interrupts */ + rt_uint32_t ier = serial8250_early_in(serial, UART_IER); + serial8250_early_out(serial, UART_IER, ier & UART_IER_UUE); + } + else + { + init_serial(serial); + } + } + else + { + ret = -RT_ERROR; + } + + return ret; +} + +static void common_init(struct serial8250 *serial, struct rt_fdt_earlycon *con) +{ + serial->base = (void *)con->mmio; + serial->size = con->size; + serial->iotype = PORT_MMIO32; +} + +static rt_err_t common_early_setup(struct rt_fdt_earlycon *con, const char *options) +{ + struct serial8250 *serial = &early_serial8250; + + common_init(serial, con); + serial->regshift = 2; + fdt_getprop_u32(con->fdt, con->nodeoffset, "reg-shift", &serial->regshift, RT_NULL); + + return serial8250_early_fdt_setup(serial, con, options); +} +RT_FDT_EARLYCON_EXPORT(bcm2835aux, "uart8250", "brcm,bcm2835-aux-uart", common_early_setup); +RT_FDT_EARLYCON_EXPORT(tegra20, "uart8250", "nvidia,tegra20-uart", common_early_setup); +RT_FDT_EARLYCON_EXPORT(dw8250, "uart8250", "snps,dw-apb-uart", common_early_setup); +RT_FDT_EARLYCON_EXPORT(ns16550a, "uart8250", "ns16550a", common_early_setup); +RT_FDT_EARLYCON_EXPORT(ns16550, "uart8250", "ns16550", common_early_setup); + +#ifdef RT_USING_8250_OMAP +static rt_err_t omap8250_early_setup(struct rt_fdt_earlycon *con, const char *options) +{ + struct serial8250 *serial = &early_serial8250; + + common_init(serial, con); + serial->regshift = 2; + + return serial8250_early_fdt_setup(serial, con, options); +} +RT_FDT_EARLYCON_EXPORT(omap8250, "uart8250", "ti,omap2-uart", omap8250_early_setup); +RT_FDT_EARLYCON_EXPORT(omap8250, "uart8250", "ti,omap3-uart", omap8250_early_setup); +RT_FDT_EARLYCON_EXPORT(omap8250, "uart8250", "ti,omap4-uart", omap8250_early_setup); +#endif /* RT_USING_8250_OMAP */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c b/bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c new file mode 100644 index 00000000000..4cbd803d4f1 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c @@ -0,0 +1,378 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-21 GuEe-GUI first version + */ + +#include +#include +#include + +#include +#include + +#include "regs.h" +#include "serial_dm.h" + +#define UART_USR 0x1f /* In: UART Status Register */ +#define UART_USR_RX_FIFO_FULL 0x10 /* Receive FIFO full */ +#define UART_USR_RX_FIFO_NOT_EMPTY 0x08 /* Receive FIFO not empty */ +#define UART_USR_TX_FIFO_EMPTY 0x04 /* Transmit FIFO empty */ +#define UART_USR_TX_FIFO_NOT_FULL 0x02 /* Transmit FIFO not full */ +#define UART_USR_BUSY 0x01 /* UART busy indicator */ +#define UART_SRR 0x22 /* software reset register */ + +#define FIQ_DEBUGGER_NO_CHAR -1 +#define FIQ_DEBUGGER_BREAK -2 + +struct rockchip_fiq_debugger +{ + struct rt_serial_device parent; + + int irq; + int baudrate; + void *debug_port_base; + rt_bool_t break_seen; +}; + +#define raw_to_fiq_debugger(raw) rt_container_of(raw, struct rockchip_fiq_debugger, parent) + +rt_inline void rockchip_fiq_write(struct rockchip_fiq_debugger *t, rt_uint32_t val, int off) +{ + HWREG32(t->debug_port_base + off * 4) = val; +} + +rt_inline rt_uint32_t rockchip_fiq_read(struct rockchip_fiq_debugger *t, int off) +{ + return HWREG32(t->debug_port_base + off * 4); +} + +rt_inline rt_uint32_t rockchip_fiq_read_lsr(struct rockchip_fiq_debugger *t) +{ + rt_uint32_t ret = rockchip_fiq_read(t, UART_LSR); + + if (ret & UART_LSR_BI) + { + t->break_seen = true; + } + + return ret; +} + +static void fiq_debugger_isr(int irqno, void *param) +{ + rt_uint32_t usr; + struct rt_serial_device *serial = (struct rt_serial_device*)param; + struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); + + usr = rockchip_fiq_read(t, UART_USR); + + if ((usr & UART_USR_RX_FIFO_NOT_EMPTY) == UART_USR_RX_FIFO_NOT_EMPTY) + { + rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); + } + + if ((usr & UART_USR_BUSY) == UART_USR_BUSY) + { + /* Clear the USR */ + (void)rockchip_fiq_read(t, UART_USR); + } +} + +static rt_err_t fiq_debugger_uart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) +{ + int dll = 0, dlm = 0; + rt_uint32_t count = 10000; + struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); + + if (rockchip_fiq_read(t, UART_LSR) & UART_LSR_DR) + { + (void)rockchip_fiq_read(t, UART_RX); + } + + while (!(rockchip_fiq_read(t, UART_LSR) & UART_LSR_TEMT) && count--) + { + rt_hw_us_delay(10); + } + + switch (t->baudrate) + { + case 1500000: + dll = 0x1; + break; + case 115200: + default: + dll = 0xd; + break; + } + /* reset uart */ + rockchip_fiq_write(t, (1 << 1) | (1 << 2), UART_SRR); + rt_hw_us_delay(10); + /* set uart to loop back mode */ + rockchip_fiq_write(t, 0x10, UART_MCR); + + rockchip_fiq_write(t, 0x83, UART_LCR); + /* set baud rate */ + rockchip_fiq_write(t, dll, UART_DLL); + rockchip_fiq_write(t, dlm, UART_DLM); + rockchip_fiq_write(t, 0x03, UART_LCR); + + /* enable rx interrupt */ + rockchip_fiq_write(t, UART_IER_RDI, UART_IER); + + /* + * interrupt on every character when received, but we can enable fifo for TX + * I found that if we enable the RX fifo, some problem may vanish such as + * when you continuously input characters in the command line the uart irq + * may be disable because of the uart irq is served when CPU is at IRQ + * exception, but it is found unregistered, so it is disable. + */ + rockchip_fiq_write(t, 0x01, UART_FCR); + + /* disbale loop back mode */ + rockchip_fiq_write(t, 0x0, UART_MCR); + + return RT_EOK; +} + +static rt_err_t fiq_debugger_uart_control(struct rt_serial_device *serial, int cmd, void *arg) +{ + struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); + + switch (cmd) + { + case RT_DEVICE_CTRL_CLR_INT: + rt_pic_irq_mask(t->irq); + break; + + case RT_DEVICE_CTRL_SET_INT: + rt_pic_irq_unmask(t->irq); + break; + } + + return RT_EOK; +} + +static int fiq_debugger_uart_putc(struct rt_serial_device *serial, char c) +{ + struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); + rt_uint32_t count = 10000; + + while (!(rockchip_fiq_read(t, UART_USR) & UART_USR_TX_FIFO_NOT_FULL) && count--) + { + rt_hw_cpu_relax(); + } + + rockchip_fiq_write(t, c, UART_TX); + + return 1; +} + +static int fiq_debugger_uart_getc(struct rt_serial_device *serial) +{ + int ch = FIQ_DEBUGGER_NO_CHAR; + rt_uint32_t lsr, temp; + static rt_uint32_t n = 0; + static char buf[32] = {}; + struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); + + /* Clear uart interrupt status */ + rockchip_fiq_read(t, UART_USR); + lsr = rockchip_fiq_read_lsr(t); + + if (lsr & UART_LSR_DR) + { + temp = rockchip_fiq_read(t, UART_RX); + buf[n & 0x1f] = temp; + n++; + + if (temp == 'q' && n > 2) + { + if ((buf[(n - 2) & 0x1f] == 'i') && (buf[(n - 3) & 0x1f] == 'f')) + { + ch = FIQ_DEBUGGER_BREAK; + } + else + { + ch = temp; + } + } + else + { + ch = temp; + } + } + + return ch; +} + +static const struct rt_uart_ops fiq_debugger_uart_ops = +{ + .configure = fiq_debugger_uart_configure, + .control = fiq_debugger_uart_control, + .putc = fiq_debugger_uart_putc, + .getc = fiq_debugger_uart_getc, +}; + +struct rockchip_fiq_debugger *rk_serial_debug_init(void *base, rt_ubase_t paddr, + int irq, int signal_irq, int wakeup_irq, rt_uint32_t baudrate) +{ + struct rockchip_fiq_debugger *t = rt_calloc(1, sizeof(*t)); + + if (t) + { + const char *name; + + t->parent.ops = &fiq_debugger_uart_ops; + t->parent.config = (struct serial_configure)RT_SERIAL_CONFIG_DEFAULT; + t->parent.config.baud_rate = baudrate; + t->irq = irq; + t->baudrate = baudrate; + t->debug_port_base = base; + t->break_seen = RT_FALSE; + + serial_dev_set_name(&t->parent); + name = rt_dm_dev_get_name(&t->parent.parent); + + rt_hw_serial_register(&t->parent, name, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, t); + rt_pic_attach_irq(t->irq, fiq_debugger_isr, &t->parent, name, RT_IRQ_F_NONE); + } + + return t; +} + +static rt_err_t rockchip_fiq_debugger_probe(struct rt_platform_device *pdev) +{ + rt_err_t err = RT_EOK; + void *base; + rt_uint64_t regs[2]; + struct rt_clk *clk, *pclk; + rt_bool_t found = RT_FALSE; + char dev_name[RT_NAME_MAX]; + int irq, signal_irq = -1; + rt_uint32_t serial_id, baudrate = 0, irq_mode = 0, wake_irq = -1; + struct rt_ofw_node *np = pdev->parent.ofw_node; + + if (rt_ofw_prop_read_u32(np, "rockchip,serial-id", &serial_id) || serial_id == -1) + { + return -RT_EINVAL; + } + + if (rt_ofw_prop_read_u32(np, "rockchip,irq-mode-enable", &irq_mode)) + { + irq_mode = -1; + } + + if (irq_mode == 1) + { + signal_irq = -1; + } + else if (!(signal_irq = rt_ofw_get_irq(np, 0))) + { + return -RT_EINVAL; + } + + if (rt_ofw_prop_read_u32(np, "rockchip,wake-irq", &wake_irq)) + { + wake_irq = -1; + } + + if (rt_ofw_prop_read_u32(np, "rockchip,baudrate", &baudrate)) + { + baudrate = 1500000; + } + + rt_snprintf(dev_name, RT_NAME_MAX, "serial%d", serial_id); + + np = RT_NULL; + + do { + np = rt_ofw_find_node_by_tag(np, "serial"); + + if (np && rt_ofw_get_alias_id(np, "serial") == serial_id) + { + found = RT_TRUE; + break; + } + } while(np); + + if (!found) + { + return -RT_EINVAL; + } + + rt_memset(regs, 0, sizeof(regs)); + rt_ofw_get_address_array(np, 1, regs); + + pclk = rt_ofw_get_clk_by_name(np, "apb_pclk"); + clk = rt_ofw_get_clk_by_name(np, "baudclk"); + + if (!pclk || !clk) + { + err = -RT_ERROR; + goto _fail; + } + + rt_clk_enable(clk); + rt_clk_enable(pclk); + + if ((irq = rt_ofw_get_irq(np, 0)) < 0) + { + err = -RT_ERROR; + goto _fail; + } + + if ((base = rt_ioremap((void *)regs[0], regs[1]))) + { + struct rockchip_fiq_debugger *t = rk_serial_debug_init(base, + (rt_ubase_t)regs[0], irq, signal_irq, wake_irq, baudrate); + + if (t) + { + rt_dm_dev_bind_fwdata(&t->parent.parent, pdev->parent.ofw_node, &t->parent); + } + } + + return err; + +_fail: + if (clk) + { + rt_clk_disable(clk); + rt_clk_put(clk); + } + + if (pclk) + { + rt_clk_disable(pclk); + rt_clk_put(pclk); + } + + return err; +} + +static const struct rt_ofw_node_id rockchip_fiq_debugger_ofw_ids[] = +{ + { .type = "ttyFIQ", .compatible = "rockchip,fiq-debugger" }, + { /* sentinel */ } +}; + +static struct rt_platform_driver rockchip_fiq_debugger_driver = +{ + .name = "rockchip-fiq-debugger", + .ids = rockchip_fiq_debugger_ofw_ids, + + .probe = rockchip_fiq_debugger_probe, +}; + +static int rockchip_fiq_debugger_drv_register(void) +{ + rt_platform_driver_register(&rockchip_fiq_debugger_driver); + + return 0; +} +INIT_PLATFORM_EXPORT(rockchip_fiq_debugger_drv_register); diff --git a/bsp/rockchip/rk3566/driver/uart8250/regs.h b/bsp/rockchip/rk3566/driver/uart8250/regs.h new file mode 100644 index 00000000000..ae675c8c71a --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/regs.h @@ -0,0 +1,365 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef __SERIAL_8250_REGS_H__ +#define __SERIAL_8250_REGS_H__ + +/* + * DLAB=0 + */ +#define UART_RX 0 /* In: Receive buffer */ +#define UART_TX 0 /* Out: Transmit buffer */ + +#define UART_IER 1 /* Out: Interrupt Enable Register */ +#define UART_IER_MSI 0x08 /* Enable Modem status interrupt */ +#define UART_IER_RLSI 0x04 /* Enable receiver line status interrupt */ +#define UART_IER_THRI 0x02 /* Enable Transmitter holding register int. */ +#define UART_IER_RDI 0x01 /* Enable receiver data interrupt */ +/* + * Sleep mode for ST16650 and TI16750. For the ST16650, EFR[4]=1 + */ +#define UART_IERX_SLEEP 0x10 /* Enable sleep mode */ + +#define UART_IIR 2 /* In: Interrupt ID Register */ +#define UART_IIR_NO_INT 0x01 /* No interrupts pending */ +#define UART_IIR_ID 0x0e /* Mask for the interrupt ID */ +#define UART_IIR_MSI 0x00 /* Modem status interrupt */ +#define UART_IIR_THRI 0x02 /* Transmitter holding register empty */ +#define UART_IIR_RDI 0x04 /* Receiver data interrupt */ +#define UART_IIR_RLSI 0x06 /* Receiver line status interrupt */ + +#define UART_IIR_BUSY 0x07 /* DesignWare APB Busy Detect */ + +#define UART_IIR_RX_TIMEOUT 0x0c /* OMAP RX Timeout interrupt */ +#define UART_IIR_XOFF 0x10 /* OMAP XOFF/Special Character */ +#define UART_IIR_CTS_RTS_DSR 0x20 /* OMAP CTS/RTS/DSR Change */ + +#define UART_FCR 2 /* Out: FIFO Control Register */ +#define UART_FCR_ENABLE_FIFO 0x01 /* Enable the FIFO */ +#define UART_FCR_CLEAR_RCVR 0x02 /* Clear the RCVR FIFO */ +#define UART_FCR_CLEAR_XMIT 0x04 /* Clear the XMIT FIFO */ +#define UART_FCR_DMA_SELECT 0x08 /* For DMA applications */ +/* + * Note: The FIFO trigger levels are chip specific: + * RX:76 = 00 01 10 11 TX:54 = 00 01 10 11 + * PC16550D: 1 4 8 14 xx xx xx xx + * TI16C550A: 1 4 8 14 xx xx xx xx + * TI16C550C: 1 4 8 14 xx xx xx xx + * ST16C550: 1 4 8 14 xx xx xx xx + * ST16C650: 8 16 24 28 16 8 24 30 PORT_16650V2 + * NS16C552: 1 4 8 14 xx xx xx xx + * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654 + * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750 + * TI16C752: 8 16 56 60 8 16 32 56 + * OX16C950: 16 32 112 120 16 32 64 112 PORT_16C950 + * Tegra: 1 4 8 14 16 8 4 1 PORT_TEGRA + */ +#define UART_FCR_R_TRIG_00 0x00 +#define UART_FCR_R_TRIG_01 0x40 +#define UART_FCR_R_TRIG_10 0x80 +#define UART_FCR_R_TRIG_11 0xc0 +#define UART_FCR_T_TRIG_00 0x00 +#define UART_FCR_T_TRIG_01 0x10 +#define UART_FCR_T_TRIG_10 0x20 +#define UART_FCR_T_TRIG_11 0x30 + +#define UART_FCR_TRIGGER_MASK 0xC0 /* Mask for the FIFO trigger range */ +#define UART_FCR_TRIGGER_1 0x00 /* Mask for trigger set at 1 */ +#define UART_FCR_TRIGGER_4 0x40 /* Mask for trigger set at 4 */ +#define UART_FCR_TRIGGER_8 0x80 /* Mask for trigger set at 8 */ +#define UART_FCR_TRIGGER_14 0xC0 /* Mask for trigger set at 14 */ +/* 16650 definitions */ +#define UART_FCR6_R_TRIGGER_8 0x00 /* Mask for receive trigger set at 1 */ +#define UART_FCR6_R_TRIGGER_16 0x40 /* Mask for receive trigger set at 4 */ +#define UART_FCR6_R_TRIGGER_24 0x80 /* Mask for receive trigger set at 8 */ +#define UART_FCR6_R_TRIGGER_28 0xC0 /* Mask for receive trigger set at 14 */ +#define UART_FCR6_T_TRIGGER_16 0x00 /* Mask for transmit trigger set at 16 */ +#define UART_FCR6_T_TRIGGER_8 0x10 /* Mask for transmit trigger set at 8 */ +#define UART_FCR6_T_TRIGGER_24 0x20 /* Mask for transmit trigger set at 24 */ +#define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */ +#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750 and some Freescale UARTs) */ + +#define UART_FCR_R_TRIG_SHIFT 6 +#define UART_FCR_R_TRIG_BITS(x) (((x) & UART_FCR_TRIGGER_MASK) >> UART_FCR_R_TRIG_SHIFT) +#define UART_FCR_R_TRIG_MAX_STATE 4 + +#define UART_LCR 3 /* Out: Line Control Register */ +/* + * Note: if the word length is 5 bits (UART_LCR_WLEN5), then setting + * UART_LCR_STOP will select 1.5 stop bits, not 2 stop bits. + */ +#define UART_LCR_DLAB 0x80 /* Divisor latch access bit */ +#define UART_LCR_SBC 0x40 /* Set break control */ +#define UART_LCR_SPAR 0x20 /* Stick parity (?) */ +#define UART_LCR_EPAR 0x10 /* Even parity select */ +#define UART_LCR_PARITY 0x08 /* Parity Enable */ +#define UART_LCR_STOP 0x04 /* Stop bits: 0=1 bit, 1=2 bits */ +#define UART_LCR_WLEN5 0x00 /* Wordlength: 5 bits */ +#define UART_LCR_WLEN6 0x01 /* Wordlength: 6 bits */ +#define UART_LCR_WLEN7 0x02 /* Wordlength: 7 bits */ +#define UART_LCR_WLEN8 0x03 /* Wordlength: 8 bits */ + +/* + * Access to some registers depends on register access / configuration mode. + */ +#define UART_LCR_CONF_MODE_A UART_LCR_DLAB /* Configutation mode A */ +#define UART_LCR_CONF_MODE_B 0xBF /* Configutation mode B */ + +#define UART_MCR 4 /* Out: Modem Control Register */ +#define UART_MCR_CLKSEL 0x80 /* Divide clock by 4 (TI16C752, EFR[4]=1) */ +#define UART_MCR_TCRTLR 0x40 /* Access TCR/TLR (TI16C752, EFR[4]=1) */ +#define UART_MCR_XONANY 0x20 /* Enable Xon Any (TI16C752, EFR[4]=1) */ +#define UART_MCR_AFE 0x20 /* Enable auto-RTS/CTS (TI16C550C/TI16C750) */ +#define UART_MCR_LOOP 0x10 /* Enable loopback test mode */ +#define UART_MCR_OUT2 0x08 /* Out2 complement */ +#define UART_MCR_OUT1 0x04 /* Out1 complement */ +#define UART_MCR_RTS 0x02 /* RTS complement */ +#define UART_MCR_DTR 0x01 /* DTR complement */ + +#define UART_LSR 5 /* In: Line Status Register */ +#define UART_LSR_FIFOE 0x80 /* Fifo error */ +#define UART_LSR_TEMT 0x40 /* Transmitter empty */ +#define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ +#define UART_LSR_BI 0x10 /* Break interrupt indicator */ +#define UART_LSR_FE 0x08 /* Frame error indicator */ +#define UART_LSR_PE 0x04 /* Parity error indicator */ +#define UART_LSR_OE 0x02 /* Overrun error indicator */ +#define UART_LSR_DR 0x01 /* Receiver data ready */ +#define UART_LSR_BRK_ERROR_BITS (UART_LSR_BI|UART_LSR_FE|UART_LSR_PE|UART_LSR_OE) + +#define UART_MSR 6 /* In: Modem Status Register */ +#define UART_MSR_DCD 0x80 /* Data Carrier Detect */ +#define UART_MSR_RI 0x40 /* Ring Indicator */ +#define UART_MSR_DSR 0x20 /* Data Set Ready */ +#define UART_MSR_CTS 0x10 /* Clear to Send */ +#define UART_MSR_DDCD 0x08 /* Delta DCD */ +#define UART_MSR_TERI 0x04 /* Trailing edge ring indicator */ +#define UART_MSR_DDSR 0x02 /* Delta DSR */ +#define UART_MSR_DCTS 0x01 /* Delta CTS */ +#define UART_MSR_ANY_DELTA (UART_MSR_DDCD|UART_MSR_TERI|UART_MSR_DDSR|UART_MSR_DCTS) + +#define UART_SCR 7 /* I/O: Scratch Register */ + +/* + * DLAB=1 + */ +#define UART_DLL 0 /* Out: Divisor Latch Low */ +#define UART_DLM 1 /* Out: Divisor Latch High */ +#define UART_DIV_MAX 0xFFFF /* Max divisor value */ + +/* + * LCR=0xBF (or DLAB=1 for 16C660) + */ +#define UART_EFR 2 /* I/O: Extended Features Register */ +#define UART_XR_EFR 9 /* I/O: Extended Features Register (XR17D15x) */ +#define UART_EFR_CTS 0x80 /* CTS flow control */ +#define UART_EFR_RTS 0x40 /* RTS flow control */ +#define UART_EFR_SCD 0x20 /* Special character detect */ +#define UART_EFR_ECB 0x10 /* Enhanced control bit */ +/* + * the low four bits control software flow control + */ + +/* + * LCR=0xBF, TI16C752, ST16650, ST16650A, ST16654 + */ +#define UART_XON1 4 /* I/O: Xon character 1 */ +#define UART_XON2 5 /* I/O: Xon character 2 */ +#define UART_XOFF1 6 /* I/O: Xoff character 1 */ +#define UART_XOFF2 7 /* I/O: Xoff character 2 */ + +/* + * EFR[4]=1 MCR[6]=1, TI16C752 + */ +#define UART_TI752_TCR 6 /* I/O: transmission control register */ +#define UART_TI752_TLR 7 /* I/O: trigger level register */ + +/* + * LCR=0xBF, XR16C85x + */ +#define UART_TRG 0 /* FCTR bit 7 selects Rx or Tx In: Fifo count Out: Fifo custom trigger levels */ +/* + * These are the definitions for the Programmable Trigger Register + */ +#define UART_TRG_1 0x01 +#define UART_TRG_4 0x04 +#define UART_TRG_8 0x08 +#define UART_TRG_16 0x10 +#define UART_TRG_32 0x20 +#define UART_TRG_64 0x40 +#define UART_TRG_96 0x60 +#define UART_TRG_120 0x78 +#define UART_TRG_128 0x80 + +#define UART_FCTR 1 /* Feature Control Register */ +#define UART_FCTR_RTS_NODELAY 0x00 /* RTS flow control delay */ +#define UART_FCTR_RTS_4DELAY 0x01 +#define UART_FCTR_RTS_6DELAY 0x02 +#define UART_FCTR_RTS_8DELAY 0x03 +#define UART_FCTR_IRDA 0x04 /* IrDa data encode select */ +#define UART_FCTR_TX_INT 0x08 /* Tx interrupt type select */ +#define UART_FCTR_TRGA 0x00 /* Tx/Rx 550 trigger table select */ +#define UART_FCTR_TRGB 0x10 /* Tx/Rx 650 trigger table select */ +#define UART_FCTR_TRGC 0x20 /* Tx/Rx 654 trigger table select */ +#define UART_FCTR_TRGD 0x30 /* Tx/Rx 850 programmable trigger select */ +#define UART_FCTR_SCR_SWAP 0x40 /* Scratch pad register swap */ +#define UART_FCTR_RX 0x00 /* Programmable trigger mode select */ +#define UART_FCTR_TX 0x80 /* Programmable trigger mode select */ + +/* + * LCR=0xBF, FCTR[6]=1 + */ +#define UART_EMSR 7 /* Extended Mode Select Register */ +#define UART_EMSR_FIFO_COUNT 0x01 /* Rx/Tx select */ +#define UART_EMSR_ALT_COUNT 0x02 /* Alternating count select */ + +/* + * The Intel XScale on-chip UARTs define these bits + */ +#define UART_IER_DMAE 0x80 /* DMA Requests Enable */ +#define UART_IER_UUE 0x40 /* UART Unit Enable */ +#define UART_IER_NRZE 0x20 /* NRZ coding Enable */ +#define UART_IER_RTOIE 0x10 /* Receiver Time Out Interrupt Enable */ + +#define UART_IIR_TOD 0x08 /* Character Timeout Indication Detected */ + +#define UART_FCR_PXAR1 0x00 /* receive FIFO threshold = 1 */ +#define UART_FCR_PXAR8 0x40 /* receive FIFO threshold = 8 */ +#define UART_FCR_PXAR16 0x80 /* receive FIFO threshold = 16 */ +#define UART_FCR_PXAR32 0xc0 /* receive FIFO threshold = 32 */ + +/* + * These register definitions are for the 16C950 + */ +#define UART_ASR 0x01 /* Additional Status Register */ +#define UART_RFL 0x03 /* Receiver FIFO level */ +#define UART_TFL 0x04 /* Transmitter FIFO level */ +#define UART_ICR 0x05 /* Index Control Register */ + +/* The 16950 ICR registers */ +#define UART_ACR 0x00 /* Additional Control Register */ +#define UART_CPR 0x01 /* Clock Prescalar Register */ +#define UART_TCR 0x02 /* Times Clock Register */ +#define UART_CKS 0x03 /* Clock Select Register */ +#define UART_TTL 0x04 /* Transmitter Interrupt Trigger Level */ +#define UART_RTL 0x05 /* Receiver Interrupt Trigger Level */ +#define UART_FCL 0x06 /* Flow Control Level Lower */ +#define UART_FCH 0x07 /* Flow Control Level Higher */ +#define UART_ID1 0x08 /* ID #1 */ +#define UART_ID2 0x09 /* ID #2 */ +#define UART_ID3 0x0A /* ID #3 */ +#define UART_REV 0x0B /* Revision */ +#define UART_CSR 0x0C /* Channel Software Reset */ +#define UART_NMR 0x0D /* Nine-bit Mode Register */ +#define UART_CTR 0xFF + +/* + * The 16C950 Additional Control Register + */ +#define UART_ACR_RXDIS 0x01 /* Receiver disable */ +#define UART_ACR_TXDIS 0x02 /* Transmitter disable */ +#define UART_ACR_DSRFC 0x04 /* DSR Flow Control */ +#define UART_ACR_TLENB 0x20 /* 950 trigger levels enable */ +#define UART_ACR_ICRRD 0x40 /* ICR Read enable */ +#define UART_ACR_ASREN 0x80 /* Additional status enable */ + +/* + * These definitions are for the RSA-DV II/S card, from + * + * Kiyokazu SUTO + */ + +#define UART_RSA_BASE (-8) + +#define UART_RSA_MSR ((UART_RSA_BASE) + 0) /* I/O: Mode Select Register */ + +#define UART_RSA_MSR_SWAP (1 << 0) /* Swap low/high 8 bytes in I/O port addr */ +#define UART_RSA_MSR_FIFO (1 << 2) /* Enable the external FIFO */ +#define UART_RSA_MSR_FLOW (1 << 3) /* Enable the auto RTS/CTS flow control */ +#define UART_RSA_MSR_ITYP (1 << 4) /* Level (1) / Edge triger (0) */ + +#define UART_RSA_IER ((UART_RSA_BASE) + 1) /* I/O: Interrupt Enable Register */ + +#define UART_RSA_IER_Rx_FIFO_H (1 << 0) /* Enable Rx FIFO half full int. */ +#define UART_RSA_IER_Tx_FIFO_H (1 << 1) /* Enable Tx FIFO half full int. */ +#define UART_RSA_IER_Tx_FIFO_E (1 << 2) /* Enable Tx FIFO empty int. */ +#define UART_RSA_IER_Rx_TOUT (1 << 3) /* Enable char receive timeout int */ +#define UART_RSA_IER_TIMER (1 << 4) /* Enable timer interrupt */ + +#define UART_RSA_SRR ((UART_RSA_BASE) + 2) /* IN: Status Read Register */ + +#define UART_RSA_SRR_Tx_FIFO_NEMP (1 << 0) /* Tx FIFO is not empty (1) */ +#define UART_RSA_SRR_Tx_FIFO_NHFL (1 << 1) /* Tx FIFO is not half full (1) */ +#define UART_RSA_SRR_Tx_FIFO_NFUL (1 << 2) /* Tx FIFO is not full (1) */ +#define UART_RSA_SRR_Rx_FIFO_NEMP (1 << 3) /* Rx FIFO is not empty (1) */ +#define UART_RSA_SRR_Rx_FIFO_NHFL (1 << 4) /* Rx FIFO is not half full (1) */ +#define UART_RSA_SRR_Rx_FIFO_NFUL (1 << 5) /* Rx FIFO is not full (1) */ +#define UART_RSA_SRR_Rx_TOUT (1 << 6) /* Character reception timeout occurred (1) */ +#define UART_RSA_SRR_TIMER (1 << 7) /* Timer interrupt occurred */ + +#define UART_RSA_FRR ((UART_RSA_BASE) + 2) /* OUT: FIFO Reset Register */ + +#define UART_RSA_TIVSR ((UART_RSA_BASE) + 3) /* I/O: Timer Interval Value Set Register */ + +#define UART_RSA_TCR ((UART_RSA_BASE) + 4) /* OUT: Timer Control Register */ + +#define UART_RSA_TCR_SWITCH (1 << 0) /* Timer on */ + +/* + * The RSA DSV/II board has two fixed clock frequencies. One is the + * standard rate, and the other is 8 times faster. + */ +#define SERIAL_RSA_BAUD_BASE (921600) +#define SERIAL_RSA_BAUD_BASE_LO (SERIAL_RSA_BAUD_BASE / 8) + +/* Extra registers for TI DA8xx/66AK2x */ +#define UART_DA830_PWREMU_MGMT 12 + +/* PWREMU_MGMT register bits */ +#define UART_DA830_PWREMU_MGMT_FREE (1 << 0) /* Free-running mode */ +#define UART_DA830_PWREMU_MGMT_URRST (1 << 13) /* Receiver reset/enable */ +#define UART_DA830_PWREMU_MGMT_UTRST (1 << 14) /* Transmitter reset/enable */ + +/* + * Extra serial register definitions for the internal UARTs + * in TI OMAP processors. + */ +#define OMAP1_UART1_BASE 0xfffb0000 +#define OMAP1_UART2_BASE 0xfffb0800 +#define OMAP1_UART3_BASE 0xfffb9800 +#define UART_OMAP_MDR1 0x08 /* Mode definition register */ +#define UART_OMAP_MDR2 0x09 /* Mode definition register 2 */ +#define UART_OMAP_SCR 0x10 /* Supplementary control register */ +#define UART_OMAP_SSR 0x11 /* Supplementary status register */ +#define UART_OMAP_EBLR 0x12 /* BOF length register */ +#define UART_OMAP_OSC_12M_SEL 0x13 /* OMAP1510 12MHz osc select */ +#define UART_OMAP_MVER 0x14 /* Module version register */ +#define UART_OMAP_SYSC 0x15 /* System configuration register */ +#define UART_OMAP_SYSS 0x16 /* System status register */ +#define UART_OMAP_WER 0x17 /* Wake-up enable register */ +#define UART_OMAP_TX_LVL 0x1a /* TX FIFO level register */ + +/* + * These are the definitions for the MDR1 register + */ +#define UART_OMAP_MDR1_16X_MODE 0x00 /* UART 16x mode */ +#define UART_OMAP_MDR1_SIR_MODE 0x01 /* SIR mode */ +#define UART_OMAP_MDR1_16X_ABAUD_MODE 0x02 /* UART 16x auto-baud */ +#define UART_OMAP_MDR1_13X_MODE 0x03 /* UART 13x mode */ +#define UART_OMAP_MDR1_MIR_MODE 0x04 /* MIR mode */ +#define UART_OMAP_MDR1_FIR_MODE 0x05 /* FIR mode */ +#define UART_OMAP_MDR1_CIR_MODE 0x06 /* CIR mode */ +#define UART_OMAP_MDR1_DISABLE 0x07 /* Disable (default state) */ + +/* + * These are definitions for the Altera ALTR_16550_F32/F64/F128 + * Normalized from 0x100 to 0x40 because of shift by 2 (32 bit regs). + */ +#define UART_ALTR_AFR 0x40 /* Additional Features Register */ +#define UART_ALTR_EN_TXFIFO_LW 0x01 /* Enable the TX FIFO Low Watermark */ +#define UART_ALTR_TX_LOW 0x41 /* Tx FIFO Low Watermark */ + +#endif /* __SERIAL_8250_REGS_H__ */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/serial_dm.h b/bsp/rockchip/rk3566/driver/uart8250/serial_dm.h new file mode 100644 index 00000000000..1ec07ef86b6 --- /dev/null +++ b/bsp/rockchip/rk3566/driver/uart8250/serial_dm.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2006-2024 RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-11-16 GuEe-GUI first version + */ + +#ifndef __SERIAL_DM_H__ +#define __SERIAL_DM_H__ + +#include +#include +#include + +int serial_dev_set_name(struct rt_serial_device *sdev); + +void *serial_base_from_args(char *str); +struct serial_configure serial_cfg_from_args(char *str); + +#define serial_for_each_args(arg, args) \ + for (char *context = (arg = (typeof(arg))args, (void *)RT_NULL), \ + *context_end = strchrnul((char *)args, ' '); \ + (arg = strtok_r(arg, ",", &context)) && arg < context_end; \ + arg = RT_NULL) + +#endif /* __SERIAL_DM_H__ */ diff --git a/bsp/rockchip/rk3566/readme-images/rockchip-clean.jpg b/bsp/rockchip/rk3566/readme-images/rockchip-clean.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db063d4db31ad0d06522f8b297352dc157c349df GIT binary patch literal 645671 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 %@ymEz8Q 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%0A|Z6jcY=TL^bNNR7hasWdm#&u!b47#((U3%YK^6y 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⋘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

OpBaD5=4FBU~IX@Pg{+&O=9 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
X$vGZ?SY~TO~(vC7g|jhItcvDJBwVw9J3&4 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

U%Dhwa9@%_-2B8|068C99}kz%^)LWZUa{` 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 literal 0 HcmV?d00001 diff --git a/bsp/rockchip/rk3566/readme-images/tf.jpg b/bsp/rockchip/rk3566/readme-images/tf.jpg new file mode 100644 index 0000000000000000000000000000000000000000..31e1e784e891f18c4616a57766f0e6ac33df46bd GIT binary patch literal 390246 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

OpBaD5=4FBU~IX@Pg{+&O=9 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 z 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
X$vGZ?SY~TO~(vC7g|jhItcvDJBwVw9J3&4 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

U%Dhwa9@%_-2B8|068C99}kz%^)LWZUa{` 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 diff --git a/bsp/rockchip/rk3500/figures/tf.jpg b/bsp/rockchip/rk3500/figures/tf.jpg index 31e1e784e891f18c4616a57766f0e6ac33df46bd..8d63a47a9ae28a0906688b422acdd5d5c3986408 100644 GIT binary patch literal 10052 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 ZOMx#a9@K*heGF{A-ec_pUPW&Y{14Utcn1Ig literal 390246 zcmdRXdq7pyw*CfD0Z{?bwu%ZHQN%~!D>EeJp@^t}plDhuXbDzFtCJdb&=3I;CB;`M zf}(=>zSPmme1eZmQ?a+0kMMDhXlQ8G>GzE}*IIk6wbzCX+PU}l$2~W;Yt1$1m}8DP z=NR8NMq2oYAx-Vu*z0t=#rS^>r^W>bMs{3wMR#rM z$PR{FPOZHrN@w5J`U)l8X{_4`Ve0_a$BV4BKiaEc3zg4?7Z6Xu4wX*kY z*ShsrX=!$g^FkIK&HMHK{TpY_q>f7{4)?l#>{#lEu&`HLg2#1hRlH-z$b~5>=f{=Z zy*s1(%9H(lBhJs8XVtE4+ffPIMsJP&_pMv!0&+Kcc*ORXeZ^n=O2c+~{n=-cx_+s>!1Je_X&HZF24AWKi`}4^@O)?%&i`wN{_~`JYGk zw|{c`?4#SCjO_5v^kV-z2Lk7u?Edlfc5nZXOHV$k{QRZLeYe_wR=L0Ny#<7)Y-;Xz zC+XtMlilZ(wtM@=&9a31|9RBm{3o~f4Xga5(tqy1c9q_n*SP(e7hc;tyz-w{dQA9i zPBG;9hak@%H!m6R>naGN0SV&i)bloEJO6WbjH18cGo1Y;u*=|)1DHG&23Fh%wC4Ss%D~pGpCN*1Vt9H~>^%mmR3wp)%jo zfl4^2Jii48l_fZ+NLJ_ZnqX%g+VegT&N}j;lIj@GWTN)r7{aWMbS4`$s>jNq58h4R zx6gHd?_m1!M(+4 zP6_K2+-aG6x}j62PN{jRiT)$KuQgaPb8pz8>bW;>-n=t6Cm?rV|FuV}=Z<^fgVjB! z*biIL?WZ$=&8OZtn}6@#y`9s)b#B!y=0Ha4UaNd#+t5F*f3Ml(X!?{dR`*)iWz;60m%nsv=67e{itaCz%x~BPuQlp5H7xe{`@ybno*C3_ z?C#`(QJZ&9|F&nVZmUW&TA!l_(C%fa-Tv8APOjKF@u2n8FIJV{!!f(#>>9Uw(-99% zx_Q1m+C3z+o8~!e#ox{hYP>7%xM9IiwD5GJM zRz9&M4$i7U?4B}=27x|$pdIIC{jWQ&=r;Dq`GNs>DY;>jpM8awuAqk#F^sUatcSaJ z4+lXQQ!p|sj4ZWa)H^XBO}A^(>WkQtjIm#=@?GpXtkn$OL+4E+)}AOD+Y29S4~e-#PiHz4IGCe=+IA@-8${ z4VsTXzI)0^KJqWzgpt!rhxo_^amhNB|NgLQ?5@eJ)1H0fXP+r2Tz>vy z^+(Iuuei-K3D1wpt{mQb@IK$veSUjmc`fd)6~-b>Hm#lPi7y@sstY zkvStK-#r`bI_nOtwhZXxsy+#=NGFe`x9mvrS>EMGt^^&R*hS$r(gVH`Lt1E z_a(MA6|YQDXNToH``(eu`NR6%xg;p~uQk~jxjisW%Zs0`>T+&V&o_SU_Vd%@wWek2 zsWn&>O=5OUZrF8nx7aT~92>T}=K^TS-?0CQlDv20+-mxcEi)Iasl%eZGuqMq*~Up2H2KR9pH=o#w7-(>!|3_Ebu&t4Uq!Xs$?V|T6UK!N zC7(uyiPntp9^`UVkc;V>F=G%$jb&D?n|#ffwLWA*1w%sbwdU4v8kr}fy@oZcm%Wxx zj!_xpn~Ks5yHKR3?e~j$A4yFs6lptZ*$Cv@)njlD+eGL0XZ+eCA8?bh?Z)}^$ z_l?D50I}bYiHE5cmZN%m=9}Mlhb7Y*hFz|;pk7HvNn?AiqSFFw?}3exT?)%mOeOzh~6eDUk&(W$~-yi$mEf zqldC4yk$?}rNXkF1m(;FH-wcz)cr z_wgOs6ZF|y|HKfYyo2#_QAQ;WBV zqM)Wc6dk1(xIl!SDTKj?a&1}Ylr5t@(4HijDL55EFc7YHwtMz3T-MSDx4j?2VX%QDbn)8`;zU{Sb*TlCywt*z?tO8atWYjFl4M;Z1C`=hL47mM zEbD5W|E%rXf9=QW*t$t)>-auj0`(JAo!+fyM`eo>`YSBnL}r+>l|%L+ZcvOCQnG-9SMA$3C$W6<_#Vr2P&60&hKbJyPna-Z|La~W z7cD3w8NDb*Iyk5Wxv20e~cNkuyQjW`~jGAFPBhu zHHMJFO`dCe;+o;w%+^U*sk!0o(mNAl6J&X{YIdI2)BBUW2urPfA2u` zC{b+k?xxUnJST7b_Q)PjSz&4{Z%(*-TPQa^1!j6yYg5Kv?T+i&1+%BE3YJZPMOtN9 zQ^vV`1if(9VXZ0@gDI%8sr>Ohtf3gkDyo7ajvP5+6XB9|JT63sT~ec8@O8KZhlPbX z20N_|OR*VPJTAYEI%aXdn7UfltJ;QGyXM!>D?`rd7Qs#}TC@m?2!hwgDty~$wwBE; zqW?})$~kz$5#fUAqn))@k}q2G%KuAW9Zfmu>1bXW$^iV z?S>U~w1G;%{5fOEz()Hxpl3lY!5tIJJ39qC4RXXH!HYxrL-XC-90K#a47Psr-G=K+ zk|%{Y+H}O<=s=oRdI*}+r{I4K=>}*12{&7OC%N*G@Q`V9^kmMV>Za7KXl!4q?zn~U zjvK!(HH}tn1`T9A#r{C=w<;g$WHT*qOQ_3&2m23J&*dExzj=3VARm_P*`SE*9YLm*c;LD%Xu4rpaf z0BI3C^6E6|1c>&o8KaBpC>EQ^A&y zILf?Zmmm4>e;vj_Dd80MCmE(Cm2Fk)_YW6lq5_S&5y$l2j^v!0C#lycn|VV-1Gd5| z9m|}oNOYbTtlSsJj@cH5`sZ}EwZ7c1Q)YHbN+a)VXAcjLE#5fD;<-}a8Lnr~gb&G& zoD>)55bcS5)5dCs>oR@YwjOIooI8I$IW^qN#rCk{>8g<4y?cijMCn_%9u$4Nq6*8$ zwY1}!HEX<9o^)v1)Cy<7Mv+}|yb7Izotidn8s*(`@ZiDWbRL04D)mjuVv)iXJQQJ$R zwoSdVN*b?wRO~Mg=U`8P1lczN1`jR?Uo1(rq@*Nd^SR!A`nVf#%YhPB`Dt~!#&1|G zQ{$v-%hYtzpK$jkPoJLgX8+-%Mzt^m1_ah&I=KXqI-bCgpoVijlE+an^{<)8gX;f^a{@UQjWc>vHXjO(uC}hG=aZ`Q{t_ zjW^e9+SDm18If3h%B*!mYPJP+mtNf!L+YNibn79#nr&&HPNL1VWcjV>*DUSIDwXyX zU8>3693xxmOXgl-gPfukkS&#Lu4i0aoDF2UqqD6a_6o%U#BXf>2vkV$J~kd^z+e#h zq_3LZcNos(S*NBRkDIwXw4pQZo9rh~{B$fX5e7>w`XiG;$t{H*b$vdwI% z%@RGfB<>D_<7V8jz8~aAc~8o4&pEv;G#`#&7~G;_lh6Om2c+zi(EHGQYjK=XM=?%~ zKB;~(ifE)LH5#MpDf)?h0#d_s8{x7c`O?pI8Y4Ue$EKcJelptm+v#htg&zVy`3 z(& zK{pSa(Q#kF#bZX1&7d`j{!8L<7lLaZXOB*oW74iHb-ROO{uUh2596wWeeDkJBl;9r z{~*6LYue!WjRTGo?k&`0)fR6Y$DZHVnXU?Aw>c4g>PQ$p% z;IiSL6C92E$cD%+v>9Wk#qA~M^oGKW42Mw#QLntR#UnGjUnZ_T7+qn{o;?HdBXMF% z6JH(@-MV$_+{l76s+Tju3zqYjgB&;F%Aq+n<2Z2FvbA24=)Xw#L~d@b6)uDDh2@41 z40H?_UzTF`&&wIW5Vr`A}m#YeownO zbak=6l4^_lAZ|`L)*8jHdfOV?b>Rt|VQ^E#u@*-YCmXAWiS47O#Kk3t<_F*oiTf&? z4@N1Vi}Q?9fCx8fN`X2<*TF%KOHWrsL^GxF=1OBS>ssB@nqjT(Y0R*Lh6D%8XIPMx zrQOp~Kqh-L(iYj!~r8QH7+Sg^mwIpikglkAorjOF9Ou~)n zkk7_&FE<0O`nXKBZrk=SZu*n-kzOv2PH-o1EA$gi_dX7YU&xk=R`+U}aM^NcF{21i zauX(7=Co4HXp8LSTGm>f$EL8bv1&_fGzDfw-(GDB-WN;(TthI3Fa?=p3g!**&yi_H zkn2KoGJv%j8&#`ZGPBvfu!>xF?(l5GMQ&>ie?D`>EoH$5n|JNYpMmQgkMRErGT252 zMFz$A1-NLg^-P|ygE$^Q6PMPho$d(?Y0?Yul#o_F_c0P372RD zROp8lUWM>yQV7JPe>wyuNE}D2NAa;Rr?I?CAueMR%Sl8e3Fcsh;}h|P*F*3L=pZ>R zo2Gf~=Atq)A|ZlfG9E>L(U>^AE00pNd#jL!`fcVz6(U7A97vN#B4@D(V<>}#U3d_P zk4tkR>e_7zTgkM79NyTPq(~0MP)t6IAcrxAf@6eBFlic}WH@qbm|vN^>hs~haKx!% zz=s3~|0)H*C=x~MV7?pR7xEEXxMC=LhXtsbV{rj$i<(8= zwk?4F|8mUnYjihov+nlo^mQM7)a>TXHmR=$^;n6^fUeO_cvZgp?z=5pw|ZoHWccFT zhoc=1fK250pM-?2d&g&nb!spW*W9xgE(`|Z1zYLKYq)Ue=xXumtKESc33uU{Lh68qi61Q zT^(lcgAes)AL@h4gXxEguFiaxpd)Fx4!!U~TTo1n%)kIWFuP{O(TgEM)IoJkt{no#pJOPJY(#l`Jn-PSh4eMdRu8305Mh;IGgtBt4H;L{nx_bN`WofSMfjp^U+6aVruV^LKDq*+``AS$H!++ zM_#LsKI#i%QtB0btOIV3iT)#Tjbyv={>pRTeHU7r&T%n>nSX4eS#|yINbuh^tN_`P z7X+=j0hQDN?{H6M)DXo^ZDAGCD zi*RPVo{SihJk6Q$$6h?lMnZx>(*qLiT!9h4ea}>ElU{p(7!#Vc8L|;@4SS3Nq`(-*g&39WrZrkK-p4kkYePl*P zs-ulnS$xZc?uZ-^NIx?+DA~=HL)Q=a1Vtm74PYhy0WS6IP&j!C(<|%<_zJxHXy{sK zK8{||N2~leb~f3!5o?M-wc|Qv1_l9OBz=(q_oc386t6(b!YBhAZGiEsrK>~ep(*r` zzy@$Fg(#SKAPR=^ms(Fp>nA#ApMdPruIQcIZLK+w-p3aHnS@GThakueWXImAXC zR1YAixDEDW1Me5cHc7vs5O+0BFz_)q?loLik`QAO1WLdRR}TY@ti|JwjuW8dieCie zalg@m@U`9>#`y@w(OejZei0;D5(7Sln^7U6^gIr9NFRuoYSjnGPBn?dXwau@@rFNw z#f~~=_|~&aq@<=ZQ|r8&c8Tj%Eh>6&oCQ)c-=*$=jR;d-v_P$#ObPNVPy*#Ts!49K z!8Y>`Y^e8wtmkNncB9gXzhG?AqBB)f^Ao@xsMHj;PGz<2~DFK*Zq4E&!o{9JQt$0M`4<}oS8^XkG`QiE@M?7r(2%$eF zEw&*i3phs1cUvrL9sB`D>_NEKg2cf3{*d|A+0`F0Ki5)$13;?~Hz!1oGh>OJu;5TX zE(hW@^vfhHzL^)9w2V)&I~b6>>uKSl^W82C29>~TcUYKws zbDkUBF>C94sOfNwKeZHRN1A(cvtuehjk#~dJR!(yMaKZTV#XveA1kSmdBGeQ2R|DJ z-D8WNjjNWfXhD6oNTZ*?($Hot?}Ek*vP+;!u`HPz3O!+uXS5U;ae-=3pA~Q-+$)3j zYD*V|LK&30P5hRc#vJ0hFbRh$%Y>y?WFR~!PF3rI)@a?-Txh5a;Ny%B^!PUA7Y*&x zn0gjbR4o%rW|d)9i7O(hZLvkNV%`)`gRJTFN}dlgYw#J@rhOU$t!18TFl#joFjmK$ zRMD6F!SM+*>aAlQdHh{cJqr3+XpLDT@3m{`gZ<5+uE6G7BL>L^G2d-qv=!zVencGd z31N@tvG(BF#>JZm1iI*kFvEo4F7@4C*?|9>?v7t`=2XBgF*GQvA!`n%UYE$A!NL!n z$$j4@T6c%}-f>C64q?;2(30O zK;*xr0nq?!>>$v)h4!)!H0GVR0zwR)KSLAz6U38VsGGHJAqy-x+HCRGalduH%)4_t zz<P}a&^?-#`ruR|wNF~B~3k!8}5n4Bown8r`I1-(91^#CeD*Yk~ zRo!QmP)sIGkdJO%1?wro!Dff78UP^G6sM7koERaZ1ia0NTs6SD=?D$@Wlbattdp$?!E(kXfacQy0hf~`c z5!R16jS?Fqhq|VGRnuvuwZx3WscnU-#0Q4W#)w*06ix3RkQ(A*B+$p~aBcIgjltDgSy8@>Zn*YUv2mK0t;a(&vKmh%i9-4pT!7Qt2&$T1) z<_y;sr6;gw03vZ}s*@AYmvFhxZolrSrN`q4^toiohC=x9Ijo+wc<8|cufk9`Ss7v! z=Rf0PR-6cc6BnNU;FQ7OvM3midPKZ&YR0XCFa6B)Mb+hgg#nsf zHhD~YWWr<8FoL{VErN5oqG88Qozf9|?)$-Daby))IBFu!T~b;a5e=ulQ6>jGJ{azy zArrB&*&VU_W``b=&(1Q9#%8#_fBY(NN%AkaBaR~fG0E*tYAl>sLW@v>8V9B!O(Ik~ z+90A6lstJ?h)Xc84a6VjGiG~qau%2F1_Y9izkg=o`y)1UmIm&<`+svn65V!^v+9;5S- zO4rkX9tHVCu3yVc`g__#q3Lx~8x84Z2KHR-3c!58ZqY%M>sroc-WNo!)m*YIwI+h^@el`ebEZlZ{ZVhuV9~lwAGT zP+|%x2BrBJAN$kmwSI2;!{A+Qx+oL-DGIft;HxaPgC^N|@L zK>jnpDzqtRJlZNpB+%i^E=SAs{=_V}?b(TzKx&k?C!8qQu>de_wP=ese!Mo*q3L2DhFLr^!yyKN(G07yRasfSjA?Z_ zCIU>XJ^EOkzD=9;k#_JEA*uw->z=Ws_lF%>|FANF^+SB%{_q z>m`O8;lkn&5diB>-9y2EhDLe!gj?p+R4c#;SR4fRI~}mRv_Wuwz!dDsmbkEf;m|S>xT%vtTI^(|XosB(a8IZk%0>*YI zP8c&Y!lS{=rwF()gh_y50s+e&{ooXzTX--rw>nOFU~w2+S&qj+j_}CAx2D-7x~TD} zvPq~*p<`*Nq*gUd#Y3~b)cm^kfHGqlHY%5w`(H3f%_c2bUbJE#dnz=)UcXlL zEa0n)@^+7iJ02H#&hgDVlE7o&zW!ss1 z`$uI%MfD|=MTZ(L3g5QE=`KJ#LpQ$xY8DQ@n;WDbwZl4|c>VhI^#HOHZD6GB{NCB2 zAq7zZM>gc=gSUsIwg;+`qfTr_%AIa2tX@gDwSNEpb=Z>tmn6T^W`Ojgr{Fvu-zN_M zm}pOT1NO6>7xD`Av0_(T3w>cyFf_tr#Zm%`lh?u*gIfe>KSy5SrV7c#hlxXEZ$1Lp zh7Tfz12_P$0p?{xj+w-5>j3^gG?K#YXPPUy-4pA0sxKxv}D zK5=)5Wr&)kfc?}m3Jbs54Eh9d~& za$EIhM{tvIWe&wQ-(zK9GNr2hmIm&LlcYL#G9Cm;;U?4PYl~ayWs~;RoU)v-I zxb%W3N2i;&pseTkzKf4%hc-WhV_# zbfezVz|LcVt}Wy!{m25h8nxM?wV|a|TJ3YRJMO=RfVp!A;Ql*vZ-z!UG#-Nw-E?Ir zrL9=pMrkuKrpPU!D^3A&6@_uMQ1v)l240S!Nbvw61V!<>R0OW|E_3+$_PVvt`{c51;r`Z+2Ml@1 zlQI}i7ZF$p5Fl|~#{;@nP7NL4{7;2{lSLD7W1wU|g5z;Cxk1wndB^D3L7wdtLcrT3 z+2U>#)13vGGiN@FG@n)>;KMPu8M1BQ1Yg|7YAJkdK@kLI+PnwX9cNt{cu^uUieh}& z1;%x6(8_60bVN(tfxNtPyY%kmg1a$V8+IN*3VrI2LgM*zkrC*=Aod z_K<&xyu$F^3m@zj5rwEsQ{ji_kq!qvpm{-;D4YUMuB^RxDQl86Vp)3>(-CF?DOH4+ z4&F?4q-;Hy90-KXR+bI`bRhr|qD!?E5a`nD5pjH;HAjPJ3x$Xj0y7F+XrHNx@pbfA z4A3xH;-X!r?vW3bM@O=Bj!q)ULY%HzzV5Y~%>jZn;@s4=JF3wrrk2tpiOzO$b*PjJ z^C?CvtlSJDiKRx>kWD3LpqQUJwQR`WD8xqC*O)Vt2gfw^Sk+nWi7gV;_yD6SIFZ%R zST`mUQL~!a)uyF2$-UMkP|Ku9;|$ZMAXZB7>H}5T@7$i9H1gfcRi8dQ_4?0cJKptt zeb(VyvmSk4e&SL2pMx&`=hwG?`R(h^vp)XxT6cQn>f+ZE2Xy%TQsccSspZos$ggNY ze6c-3Rq!alsOn3$*gs4hP@`Gc zt~379udv-ZC1Yi$oE@8SpuXdm-y;WBe||u&4RP7HLVY`ZAp9QghO0B*LPsXTQ9FKn z=HwakC-1UNDx}0MEb$N>p;@$IexX}l$EXF#sY}D7ix!9E_k^z;+44=u1RgMufWH~R z{*=6);P?oRQedP;u>W0wyl|}rlhaf1oj^_k>RbfJi}VGK4KL#^FUp@Ua2)uxK?1{D zhB8JVXSjHyFaVMXkzBwP15*YAN4u4$?O9?bu;;E}0n%@rO+dir-gF5mW_yt-5y8yJ zsr~_3TG)L=lUT_Fee6yXoV*51+k_vn*z`4-q?KBOQ7G6E^}yg;L<<17gtQ$PQl=^1 zb}X!xjF{V&%jnUTeYr<%!(Bfi6 z1|(*PM%x&^N|L6?b&EJ37IA<~hkFzR3lyfH)k&u<%OUR?V=ben^I6n)5$b`x_pqu0wTBEppUOFWXu+bf z|MQAd#fNV+1I2aQ3m;pzaym*Wl6`$6f}+{ssc}rvVnUD3QUZ>13w78Cg6$$&9&n>f znL%!ZtcO$FxzwJg($~PN&u|^(6}G<3mDzy&48FUo73|^6y~oxK_{3^a#ml%IG;k<% zv4hN(Vqa%`hC~9pxMZ*3p3i^tfYYOP`IAl(HK_=YVo9 z^jzdKu^w~@4r&<%!IM8koCgz<#Ue)GFiJssuP3`{3#5dl$FB-Z0(2dBQFhFJQlyUP z%P}=jCDa@X#Y7N>p6AR^FbOPzh1VC7jTGo=y*4vjDkgzkpv3afA~O^}LCiTgIBMv< z2AsUUh<3EjR~O>}F+J93UC@6S2M3teJSukae-+WrVn{?q($Ei$$uS)u$~)9gKQvl@ zjLG3s|BPN2>p+NrP<={VPk+Er{~@nw%Rwg z6{u+I{OLDg!l>2Hz3$ZH=cgwhoIgA9)(bB+zO-@Kh@T3# zZU^MX8XhAY9q9Idw)K)_2vSzQTm2|$%71=e;CJr~rG&#NRX1_=AGcmQojvBop+tvG zuWb9#tKT2Gcca(dTif5!4GV}K3VO@Z!NfFpPlyW`Va7}0_aJJ5fa`vpF50_sXsC&d zK#uUla$x&Mfy~fIATtPL10$J%T#!htqr%BIX8s$MxN2ZOblYEf1=&81In%fRKJL>9 z)|bHiW2ud%gD&N^Y0!v4&KbjEB;e>JNyz@wkzQex2M*6?bTZ9xkrx=bg{;uxRYC(^we|@ zvHuf+h0uW~INJ(H#{^_22BxJ&i{Pm4H{KkG1o<<186ThbhQFz9B`z;rM;&Itc_l>ZP1Yh-RzPG0PWn<|HXkK0GM*8 zsbJR}i=FE;!f{qy&u4?IFaB}6diSKmo&G+({EN(gw|(|+*Q_>lOPK%_Yvg5&Mo6|i&>gT2Wq0>~W}nMHm} zhMERZK@&9{sX$FHy?fWXaK)SbagIh1-U1-`S;(KkvX|>SJiVR~Fu;TeWJ8rPA=)E; z&j7IKZ$l&X!?28FpPydu4K&lBONe4(q``8GJAYG~rU2^3aF5Fo-BzR-76FrBgak|6 z5)GWX77sv_xH*J>V>s$uyD}uAkwa29WW5O?W449Rb#YE*oR>5WT($;s--78gH_P?z zZGEIGkTEnSL2K+}0#qCbE$F(1k7-EKvawr;ptrCaPxdj5L20Om25m-*V4<<9{(FxB zTmjIYZway$#C+(M8MymfzZpgP27AZb#~v8xmF*qVWL?FiZIfS3uCQBIVHFOTH(7$X zJ=5TBCvq^Z>UfHw8G(v|X;HzL?V_!^z4Yj}F|(>ZDE~5c$$&=AR*k^NVGw&l#vyj< z0M~*R44GI3$T1evWJXa;f}M5q@@Kq|0rRUL&RPxpN4Z<M4?^klJ{`1NbBnq1L$}72%T_U_P0Aq%o8SyfH2#5wQ z`^b#c4oR1CZ_c=ywXoM4KS%Z0cim9bkO4qg1_OqF_ai+2ZX|cQ%XRqVQ znQ?n&OHWd=aAFM@SrA|i5TIQoR`4e&brPp6=z_BH$C0D=!G5dtjEBIoky8W%chsU{ z#02_&&=5Egs2uaZNTb$Zk;uQR&Ay<}iMigGnJ$45qV71wK!{f_qh(C*%cmzA9|41$ z){CYFm_En28z${(%1pb-Iy|aLEil&sB(x$B0;MzYnz#+jOk4#m1H7BCANpmQG^PzK zuT^`W9KnRGxzX^l^EHQTl$LP;G{_xwn1R3MQB$pgr`m)sVmd;cL?4ep@z>0k(CWIG zd(-Vi=y*=&wO{t^+jm}t9iiDrdjuupcF=z6?Cksn2=xCn;jMbeZ&s!ey z*|fa})xd!dN(7_t1O}i%VZb51t#xxmbP;afc=j!9hA^LB=ij*TT5#;iJ9qkBn;G=- z%g=$Ti+hfMv3F-Qf`3--Z@j8cLaWBE|ICQ*6JT@mR@KIHV_{|t^HUcVPTmIiLvqgV z4_^NC_bEHz1-jgi_OhRTS~vz!_>)rr|IazyqSSpx5o{1J<9#*>0P$z3=79i@FEL`~ zGs#Uh>gvqaQL!j7Qvk=$i@oLSm zV$c*&FOJg`F2^9_L64P#_`rM#`M!&}nT+HG*1IB1$x`qcSOr!=7%o;sM%M64aHY6QoyVf2yM)?Tn{)Y!E)%eQu#Fa62{Il3W+xRVyhNVzupLW zExtg#LE#$x*J@t_6prJWf`UVb#J~Kp$6%s7!AaLZ(t{mn3FpKzc7w`zJ)YA3pIsC+ zQ3xhd{G=P)wT;S8I;OM)jIg31^Hq!JdqA;YOcG%5$aif^Dg7B58(|96+q81rMF?dA zY8tWbNe%B?#e5pqM)Q#BL3|=kp(oKf*#f#pkl4km9S-@?3-F{KeGIaG9j(J9oF0n|Ze3C8&R z)y6fk6lgC9kIlDvI)gwk5Q!|0*LdB;A~Bgj%R?XmbR3jZ_$M&Ao({1DmR{Qodp>Yj zi-DB{U{JTNGlTh4LZL#W)^8`nzh?UsQGwq3DpWVbYNL0aI4Jgvi_Xz%VuqE&wV5nI zvw%bIrUG0ePI-B@bqo$Xnb}L`{wwxh-<6&G_21uryYnaCpvk&M3ril{e*4`o@{XQ- z_P6UB06J>lw(s_X`VN5QBVHoG@)?>NK76D=Dn+%fw9kLP_Vm5`_jgS>+3KU$e*EI2 zS6}FN`=3|BTNW)KUc>KqM}A(ScU+bixp+%dlT_P>iR}>XCel8K085mBINwGBC^+wY zSsxN!9Dw}Dm=H3(tF6^rZ{26B9}++fO~7kF01$!Li3jAI0MML3c+ewr269}-FiDJb z8CzI}9BnP+$mmkWis*!vWbk|8wSh(kf)VWxN&s(LpkMeYNC{7+#Re0QpE85NLr0Kj zoRLUq1E{D3;NqY_2(%1|T(FZ<0ss!5DI1-DSf9f*+&oJFX|d4*wzF7*f`=M;OqeQAkEl_CrB}qBkPK+A1m-M2pUm4F~YPD$XB6ed00d*cybSE=#<7_RLY?}e^2ZowL!y{qro6C z<^LGT8WIoV$qA}%El~par2>E-7;c9_OFJQRJlLslb@({g9ftR*AS%Tt0}19whU6nv ze>6;&5&S%IDB<=~#SHlh6f-dYuN*5Zy9IyD#gdW#_;qfpr(bkH7H0ydi=cDlcVux0 zcw42U?wyhGH4q9rs9~QfFgLh`ja@^vn20Cl42Zy?y;=I022OpU4f+b2mtf0cgdl`0J6;b zz}27VtVG%a^gRt@EQ`+q$3P?oWaCg66^rG_aQR5s%>m>jWhAZ+0v1&y88CshLOxEy zi((}JGQNDI4B@|#GAL=J+sG=-uPe38a+%Y|G%Yg_%+FJuHH%1FWpd`>w$Qs4IG&cs6D6t&MBgsDJ-` z*u83AOwscqRNXi)8Wa+&ERlOc3i`eef*ru-!zR=b(66B?mUKy@>c{_fmt>3?E#`@w z)C4K5N=x&NLdX;_f!@zNbME`^OAid}FvAt8;8{NTwIenZBKy_cK$qy%tMswew+FyQ zj^bdzc(V%);^Zkvt#7qDteFp`$|@m)iEA!Af4B+(G_TX0EG$c)jo{$OfBe#*)zjm2 zdL4mPVMoMl{v4o=0=&v}*^~6K83(JImQW_cGmfW6?s})%O?Ph7NcUyG>RqpUX12UD zZTj?0;a)hQqi)xO{fyg3fO`ajT9k(7`mm(`H{MK&&nRvc>rgnqczt22t-&`n_->bM z@6>_*D-ZRW=AFG1?jYD(lictpHjD6FCH_7S$)d|gB9)s6k@v|=MJX2?o7tIGOz$7+ zxDh8}c448^4rt!iW*)jq7o*Yi5FN(72@0l4YY#|12nOUCff0~NN`mC$doZwEcv58o zCuIo*ISB)d1{>PS19Fp%FJ5sJv-BhW!7DU~3Z76&mEc2Zs1>W<`5}C>r)u zk=Rq3z;}6^hJIq#2A+R>Bvl;KOx*vZu*^G|w47y16v(E+5*9$cGrF@oKQJ+B(gw;| zjG`MAt3d(ag2!dx6Ge5G1phe2E2KRA;xg2#aG`i8ZZ)r{;l6CBRilK1mVoPx2z-?uj~9DeS7+sw2_JPN51>Zvcx;@b-22r!yjHbzhCVK$3 z!=L@|SLws6ou3~*`QoRui^lJDW=Rv^;^Im7ZCHI>w~!5r6!~t}mkxLMts~;L%@MzC zAA)^>!PXrp%RR96UH89^B=*s=wEj7V^c@nq>q?SRC%&2-J*cDG%9B>%-7>RIJ-GVI z{pF#ErUHuSXbVp`Rm7y)mmJ!@XXdqeKm7fBq~V0q8xDEq)y^$Uot5gPvvc~X^Yi~{ zxMS8e8>lC9sh_H34X0WglyCjR=qWmu9)=!a_ zD^TRx=i>tQo;=_{FU0VI1S+sNlKfES{5YXaB=kqllq`vdAm)>o@e&XS5FLx0xzJEo z-Wbx)Vnl?_wthlNeerM86#J-p(3b2rf&<2~2B@5jdk=o*N$HKL`hc2+fJh9A`r7Uk@(NL$gzcj`zo)??LHa1Rtc;qX-5gRa%xAH#$DDwXYFxd# z=z|*f{)EaJn5{xkOIrPBcqI=txkfpiT!I1(Mye`dSy6#nzHd^A#2jzHmlCTJZZo~x zx{A9c&+N}ahJ_zldY-kFiJhA~)gvfq*29x8eR=DpKj$Eo-;EnLemeE~yInzRdgmdf zYQXQ~0Oyir$#zHq6+ZACY;dWcczjc4H z>zreQHb$nHgZJZfujDmYFQHVQKthEVBvY}2Hd&O#zBdEb10Fwxa_lc2x_J*zi_XXt zEYWzZl-XYZ8Go8oxO4;*~(Nl~7)9PoG< z6XV5!Wm1ZLhU)GquoP+`GoTW|5LqPx*59d#i7wIZYk69D-V>_zkO#uR*!gb5<)8IW z$G|q*K~So^`zu(^eg&8u$X-egN=373%k6I_KfeV?cNDS+6)6skeSyhYqwX9pD4^&Z zuWVtK^Pwu(pn)B)u_%C)KOSYEsV2q=?a~>w)M2PMO5WJF&|NW|$TaYp3x2>_Qq2YW ziPhXNDSxo8vj*s1(OgGr?kBpcqo4?gHnogF{#ZNQH^sH26fi>z*HcNfrqwcZ{$r3g z3_~s04Q2HYRYerbngipf&N4UOxw^NO&JvHI2rq7Z1h239`P7E-J*v(G zHsAH~>Gp?w;%;5oR`k;6>$0+(;BZLzdi%>0Cnnv#{deY5(4m@)kUShmTF?XvqSlY! zjwF)M2uel22NzummXTW^%G;{Z=@wBaE8rM?uqrtSnRy5a>WV7!xGo~GSp#^l89E+& zgglu!;OGsJR@e6ItQQZQ{>OiY^?mJ!W0~!q`)2PO&m~;&|6=dcbF3B*@BaJ0UjFr;+(MC45#Li+HUW{r#^p>564vAvB_X05Q-fFU-Is~4T%-cmB&t=>~OjYEp=Yl zevXfahes-I2)W+B-x&Fi%OAe+C5oF={r1eKD*yp{=1AY4FMiTt%IVuLe)()gSW%zl zp)DDP-L=#do9@lXb#OIB!V{F|UGji^m}O+&cx)==-9>K%q&&jwFhnQ@fQ%R57r+^V zx(NeWZ6Bc&gP61*xz|x}JZDF#erI3YF((md8@!IP_+)u02A;Xy1ZppI6NCp;bzub` z@*@{0;mVw_fv<>F1SmzRoCSd@0>}^Sncl605_6a-Ex_K#D614x4U~fv zOn=0egdc^h`L#gIH+p5;6Iq3-2x!35<)jCd*p({h(Ruxv8CwM^08Tq|>;rQM zeB=94r3X41*ys1++`7f*d-GdS@fY;jDG2EP@qH1fB7nqyiVB7Q+A;wHQ?*WRD_D zYktyNY74@0{Xm@uHD$!yjG2%p*lE?Ij>caC#wRWktR?bHCUl4UDWN+~6}<9_sze00 zJ*VMyr(&Eqlvm7VMy_659d6`s$uc#abt$S+TL)TSA*?u|+j&`l{zb*pfB0wC@DKXp zknl=E!j*%KJ6zpW+CKKTdpA%H7WmHVx4sYd&uQ#{+E+lU@7PgFxyoZeFmt~g@ltt+ z`SkVxG!dvBQ2I#kB`s1IsGa!RtWpintIw0!i%I%rpmy+M;ZE5*z7bNv7cyx2vy&52 zV-eoKZ)Hm(XMaeE@DtoJ*+-Dh|GjvW5pZKv1FWG>|8xKKtLxsm{nMc)PuonKK0PBe zKPVvq%<(MS!>f2sc(5ye^%`^HUq5_xdf1Dchp#sfhU3oV*^fjV>)z@ zJ&I76N}Z41*EAnJ75pJFE)Yos#{SAN|4UDn$;%03A~p`Mn08GBMcVYtmQvXP>JuwZ zAkaw~m92t((hFF9ft4Yn5r{BS(13wB&G-Jz+FgmFS_yNh;z8u8HAjw8W1d= z^8Cj@kL}&lb(Cfwm~wmio6#iT?E%bl{2QmDKfSwn2i5uNu@Z%8P@xQ!JX!3*ZYMJ2 zM_<2jV^Zm_i$A^e@Z}c4j={cQ9RP1F8V-H+zc*_yi0vFJRgce~GY>VCHs0Q3Dz5oRaXvw{0RX$~2|y6ZyR%fn8Jvn(*HA zq20;{Q6X^SwDEdiQLzbB$`iw@c<`DavgHE>>Zr-u_+Mck zFgC3s%{*!_Q9@(HK2T|mpy&qF<#H$FJE}6-TBAY~OX^HMN-0ZttdO9eLD+??-8u%3 zXX)GffGo<=@dKcbU@Ffkj~KQhL%#^nC+Pbk%JjTgCu3}2lS6$%41lR@SgY#75!{_ye^wI0#n)7W7N@)p1OaF=al3KvVuA zw%>?}?h$xZ<*@hA`4RXAc0)U-JeHa%nFFX^#IXHE=fhXx;bWY$*njIi7qrsMYJ?dImq1q?I}7bVpIAY{K^VOdYgn2)qWNKrvmQW%h1hujNDeP_P_ zPDg^ZqHsL?{c?zQ{DCtA}6cqdYCu|1%0Yw!S+RU&(nfunRTeNPmt5{AsHEgV2`AC8Wv zAv%FIhb-2ZL1g}BG!$*PdJ2+vpfE25F{q*rl~-elV8uEL&Smk8iYP1QU=|(jM-K^X z4^Sp(fPnTAw?N3?ksQX%;YBoh!GdUlk0G>|GLE7Xj7 zWXfAGS3iLjl)x=bG$OPxk!Fj25$G@`)R!m2Ct+%5!Y#nUw?*k1#N@C}pjJ30)pLF= zSZRF>vN|h5{ScMS!7A3Eg;>ybZ3Rq}tCO8h>$=dP&c2jh-iT!fOrS&$c7Q&RDwENr z5|9NXz$UOcOCr|*J_~l50B&JmG%C4-bz;f#)yQFQ%2#ef!Rb+S#SlQ&E{+-)cvWI` zQ!p%0@ktVVA2oRoydOG+C;DGnLe1kCZi9SqUzL|P*8?n+_SIJr_~3eB%TEPfLBQ`P z9gT1KJn*K(JBZJyXt?p*w5Zsk1zNCY{g5Lbl#4$cY2Rc3e()ynL0I-ilz`5Q#>0Q2 zA$H>cesBnIUY6pY(ux6KdS+@?NVmVwi$~@|-Y~cq?Q2v>ZlV{%)>&<2i z`&IA#IVjHnC#pb+!1gf>o-Ddo#2V51XB8v@a&!sB1x$0{+pP|3q)X^-4u`LxqDb`{ zq{;=6N`2_6!;UMa!e;Q64gybjU93Ueau&yh+uu;1RLakk3qz~qY;JgVs z@#$FpHdUth6X9SLfQo`uB4 zkn7$L{G*75JK_Fx+=ygxW^{o!OLue!UFCqxL zfkfgMrEZ0M++b&jod_a*;{DWwfv2doOEo41QHAO+90(MYixn=QdJL#40d5A=RTFn^ z8EpO;8ls{Uf)z6kafI&9D}q?=W?z5*X0wni9v3WHo#6J`&DR2~9(gd!D%ulibBwTFPlCu7 zQ=<8$6o{=OU=`{8`*Xl*$INUIn(oR!F^y7M68@2ACNEp{X8&Q1Hi*XN?ccu+DfR#O zu!>6akjS~=)VLDoQ2YrwrZ1wvM@fwEuLQK)qQXx9Q3_KZtR zbS1$LXM#7fJohN=p~Q4M3) z`^IebHR__gw=?Ebn!hC$P!4RdBq)D3u~TGIGb2o6q^8X^8;XhX8>c0ccd@AZ5Q`>EMReg@5}7!a zG#s;1mmUiXb3qLf#e9ifYvlwOIg595zJ|5H*RVvsqUAL5cQ&w6A#QGUx5E~jjC3lC z3)n1*ar-kgI!-0>Y+;lW4gbZ!-``GO1Dtk26v1xiVU-fHmkjkT%Kre}k1Pn< zJ01uhfcKXjXQ}8}mtKGJXK-CfOed71`umqJauVC?PvEZV%GJv6>8> zjhJVR%=y~S86ma=`$v}n~P{Gn$I!TfjPygLB|U9S5Wv>EW%)fIGfZMFdz;rl_SXT zO{oD%J)|HC?k!fOLPK**-bL34&Tg7IHCH0zOBl_Q4p$+Dy*y2^o z7C4zW;}SC?0cHz`+63DG?B9xb^4<%!MUz>9yR%7l|GxzNPsYmBTw{MSt)8H1*8eY; z7XaiSgXfu#_R97KxM;$Jb~9X&3=|xCjimB~zbBwKvfL8-Mk8A}y^QPo%)M%Stj14| zBtX2G6z?JmcuM%{1cR(34XOsK`Z5RM|GXaR@Xko;}EAb;k#7k-QRRGzQ0HMPa z@C5hm@87?VbJ?|-PD0{wXJj<}`fHR3V%|&~RY@vSB$V=)nsSN{k_6gd25v_gTqXfx zLVgR;a9)RsZXzx_4` z-hgW}wbIQag!UIc23S{izh;QV%4iiJv78jq;|vflXKqNfHwfz9Od~zMMt|#1QV{Xp z4u!xNag0>Z46c~%~b#?I}RzLZQ~t#&&bZu0McvW?d57Ev3g82 z*|Pp0uChUr(8D;o&QA@0=_QnK*~C%|tBDa>44Eg{57E9VtA{9v9ndo^VuwT+fbt@@ z%Rsn|DM3BUlSBDc0E3ngj#dGrA$%8ML?Bf!m(3n0+bZcK<=y4z{_CtIs?jI3tslxVDF8n5`woK1+E0# zeq&a1f>9CDQ>j1TWMt`pZhfo_`Xva>K#Kpw+*E8sN>Aux3F4g>5kYijS4RRx%rG9G9|VhS=B^IBMyf z@c`1nM0!Wx`80`-b>dKb*2mv}L_ri-RYF&F)YaYQIt7jj9KSm+AZ>&w7k8Ls!^tB- zP6^#{q!MR<@fzT*<#b=`f#maq?-}=L%A2GdDQmPu-?r_B$O7F`dMPpS!^nc%Gq5NN2R7PxzMKG&lJ;|hMtsRqPZoRHTYo@i;PB6$y!zG$NnME}# z7Zc-cj|7C4b<~_al8l^kg*NZVQjG;b`h#R|cfogAM|-M!#%L0N zFiK51rJ)=FLG?$2WPzs%3Xi7p#&us7+L{j&Zc0j)&ZHuHlZ}WKH^9pr(%q9pK*NTn&$Zjk0r*1r5tu2=knW;-N%0UQN_;)|-r7Xtm+30Zsu4u$gHnaapoP!HH# zgYx-Tea@(33UTA}#3GREm#|PQAD_B+rn4g-3YK(yAFc}k_~P4Gqg<6Ew+#l{h;@Z& z&xxf?4ssrhyt}VoVaL|%3!+KD0*f_U1}DG zrT;p(BeR7>DZ--SVn8~LW(-4%ur2WP`8avwCaC1O(Ls}6^GFp+h2)* zW0E_ewoBlm*tf5LV)^FrJ(lTE5M`9ta?myVE2@xs=txkO*KYiRxSkHG z0AfJpBUWDw@MZ)2w;WUpp8*v!V7O~*&I4fIKn*V3q-boQk9Bbg#S_GZGzzo}c&BX3 z8{`soW_M8CqCQ}5fron8;Ba)pS!)sdo&Tz&H!=q(T0y%3AQdy zHFjdp=JGmY0CvlJCJI;~rE1J_M*-1aUX7Z-tSN8VFze75LGgzY1id~(Tz1@Q1#AZL zSyk8JlS2QyWO~uEC}vU9jNkwmXw(sO6&LIVbSljC z$)t5kgm7HWZHN>3gh=fOz{ zqm{-=(ZcCu(>@{&xvE&v3IqOOk{(V&AVEW5_YLWV$QNCOG7pf(o|QylvsL zjy5o%E@LTiKLM`sUnY+*PckmF&Kxga=$t}};r_EQIX(_|=XPMga{e3O@bI$YAMgR{H!D9&AqFlE$635E z@*gfn>9U+Y-S+1&pHGeQV^U+iqNaJP0L9TvylXFZ!YFR-$9vb4vI8@NG{&W)x_QWm8!Q4JM|k01y^yQnB64jqEv zAswZj8ngw&crifY3DYeTY|VYKZ0Pb85#e%KrCS;wqXmMq0A_)yxT!GZEo!YX?MY`k z!b&SZ;emT)K`!LopyJ#l`$3l=uZTF(WqAFfrH9D9EJ_$j7x%v&BCR{>qaM)?nZV61 z{MtKJ*+QIaIBx}IR!KlLyN~rT#VSQz3#HmK#q~-TX9APJbO&jF9yNl8dwwBhoS|gy zX;+q}q%;C786H~7heFVLV9ni|HXR=2?e5_bxTOSVQoIZ>DSVE=c&=Hq#*xxILpNu) zU-#6RGiQSGBPYkj*+zTfa0o^Kq2U7q8?Y4qtWB`3@KauH?mQ$8hcBg&4l=d``OM5t zN$CWiKb*!}=)i++$9jHs=FC8$MPxFD-9*rr|28Qu&L&#xH{r{!%U*fqmGzMYK0SM; z#D}3ivF%wJjBnGXP2tr=Xds-jt3d3fzG-ll0{1X{`0!K;4Pa*cnxAe0H>k(j5$DdI z&q$5*%D{vIfx?=!gRecHPbWS=;WK7`i^hQ+HqNzcT1rZPq_dQb?#iko@W|eHbIqnr zt%CeSDdIUyfm{l*=Q;(EJ6xZFq=^t=CKI7PegKYnPqv?Shc=2SOpA{X2*N!sc~UAsF>Ttk zfkQhZBZF!|%av=aq+BtGhd67^n>aK{VJsP%Cuy5pi6n*5nsMp3Yi1na&f;0?TBO0o?#(BO3FYIGfIlZ`fTnaT!n;H zsQQQ`7il5Mrm}bM-pItNZ{2!OG;S=U;icxMQnV8@4*8T+S^J&dpj!U*{IIaJv_D*v zzQk^^f0($!?M~{IrC16rn04}vT0km33)acCD|?w)Ji!vNHE0Vw_oz`#42TID9J+$4 zIs4Ez-`KDPZ28n#Ce;AZZj^RZXqG3}EUm$r8nGpHU+41mD_BqMNoTTOLzPlC)-;*Y zMj$iC$%T^v8N~$%=l8xJc%s0GcXkMz8SKZ^V4ry|8_Iv`vin=0(ePXtdk%S-0k_9B z32{p}bx;w2Tq>u2?vibfBJ)UXZ+sRFv?MTm&(^Y5DFrw_r1&Yq8|Xy5uKKYhp5ra9 zMk+Y*>(a}->r^Agv_>-Xv@ey;QIW7#*fCTtqoj449*{P`rfwL~D1mczL zE&j|!$MT#Tf0Tp=frJ32e!7CkDX`sK7zfz^6dnd7=CYw6?m%D=E`B5u1JxM7y>%HR z4(V{jJbM<`L*=s#V-u0iC~_KN386~+##cOa`y%LiE`F2Df_!t2mheL=&9_qP)}AefIG0^4JclL5dsznp9`i5zA8wNvsr5S$!~R7 zW@JH-##1Ev?UCLskHC|0FPqgdS!Hj!`*qBw~)(}IzjA~pBzT6Of0{#eB=Ei-`@vyj7p zYG(vnU?!Hz42m5w6xOkz0vuOHBLRz0%NiE!hWV!gLAMpHi}|PIHi(|;WNVFMb0Oln z07WdoNfL*`%s^aja!zk3#BmfL5uAJIsx!zD7o>=2Tp4gs#kmLh`~bdXnOtyXz%8hx zWH3$={YIlqmVZugG_D7z0DxNx5`2LKU}N<#v3>LuAX!55190#LU=&wYFnxq~xzgN%g0wgLpTfO|;rZ``u*iG$?VG}B095iA zcLiLATH}_P8B6`atg>%I9YdfdobQ0`CH3t2^We=+nLZs*=@5XosX>g|z#3$uHdR`A zgThpcgAsL+4u>jTjLgl=wF17>&)uP`i@j%%-9?FHe z80&3Aq}{X{7HbhDI5G-c0Fx^|>_qHfTx0xmhVTVk0B44JT`E6pvV+2 zWW+Xkgo5SBGlm~n5;$2L0UHs=7*pr~-qRIGo~>*G<_}>MF$j>Y_3td|!7}obm(d?3 zQW)U(ia>urSDA0z7&sBzjIh~Xi7GsZ0Z=-!wt2_izau!14Yp^Im{*EafQ!U{y=+X~ z_ICgtoQpyVSHNNr{*OHUL|mYhQ4WC=>}ZOpOR9lo(18nzVS|ANrWgj|K3KDe1Gz*~ zc!YfKMrp7Z5lM?&#eyeWCK*bhWPn<8V7lN)rnj52a1+%5b|$|xE5r=II9L|t%~{Ar zQUK$8vJO*B1paJi^6rXp9C9Z^E{ApoFib292q}aqMkjbjDA2{ftmqe_HmvNr81$lk z(*&_<)=ZZuDU*+bs%Ids7y}rGe2|bJv3x114#9Ip;fkt(@Rxoxf^Q~oU{pfPi6)Fm zf;CI+(4-6EWvQ;9_56?lZoG1{I(o*a;i{1%56d^(b8^YS;5l;=JWeZ1$$PI->7j=yS zOPgVRIq5}O14Q{S22Rwo5vVmpOM7BQwmd_aI1WY|_+oDLkEL^~2ORjWPup+zz10{Z0}-vV_0V!Y>$Fp-kPszX2*n^InL=VLsbm=riJ7r9!YIPAmQc3JGHUE3qnIp%WT_CEVeCsp z8fy`wWcfXwuj{(bxvta6nD^&<`~C5Ln>wBAdcB^n=WBbu?$5^yC3}%xKJx0`yfc9@ z-LmkU-eaEMOq+P;_l8y(4A%{jElx!*%Fib z{i$A-HM*CY&&Ug_L;nu%6ny_gxvf(8tmCAcCr{Pre(uhUyJt_;a1)voX5gFj?VYzA z-CTMrZcp;?{c*Ei{Jz1sXs*g{w?93&qx$W3Hzjr{D)@iCV)4$t0 z>$iEI?3PS_dNpNIj{ns?Lvy;#xN~9g^ru79eyBztz0I3ti)sdG3Kd_ie#g`&e`X*0 zbhq3qdHBKTNy889n|xu|i^ESRt6y1O)I1fxJ22_Sx!w3!MZo3=KURGXo zEao(Rcm2Sm`pkYuUW_~S`|{*rX^YE?j>pr-DB(U$X>u0Sa66BBjJ~{hIn^}6cFx)( zMd=X{w&9U`HXJOz_n}4#igW$9(T$hT@9^0M;j@&{cTmUQ*Wg3rcSzLC0296 z+wK`jy@%}o{<0OUdxp0zHBGmSs~2vC7N0O4%B=g_l5gsFB&$w=bzfGnZV_2nd1w8V ziMNg}l3ADDd@Q13m6(C?=-YFPFg(EM2U-swdT?fgx3{Nvs(*D4`O=h6$KI|CI5@8L ztpgK-;EcDYUc2KOn)e}j=ClqQI!+vSdGQ<9_ZbUr&o1od`u?8B#5+e9F=vT!%i3P8 zejoZBKKoYvnQizAKb@cb9;^A@h8w?qZ(5`Kd#8#Hyc-|Y#ET!^kFb4&uKwu0vF(_r zk6OEie)343`Pvx<^vcKY@?Ufm}HwEoq- zL07iyKCJPhj{CL!XjW0<)X8_cz>m(O&mAuO^~epGA5lMKe)K5e$csnnzV-m!<>qPX zW9Vy{)UfjIvQqdg?*jkXhR=KF8>+>N<8R$8SywnPiSM6>BhVGd_k^ynKVj0X11PSM ztShi8NVp}yn9>lwKHQG8jP*zed7 zJt|iiqWReE#VEb-cmU5t}w)h}P7hu*9$z^z`Zlns})DzIoc|)%C#Lhvk!55au3C zX2&Fh{7MY+xCA<8%C(JeX^>CBATOC8yl7syubCfO>z)TCmZ&dGq8QouNpSy9&u3y1 zl$b$138E&~LNE!IWa!s;iQ?WkGzBA2!m;2nv>bEx5AY^8%SV52i5XXLt{~Y}*}~ZN=qhy2 zpJQ9a?;n#{HQM!+SG3!^@BDuqarRtnPUq5l`kmhwdkj4s(z%s?^1U;SV;-5E9pR)J6Eixj%c`UN{%qs*g>`nMTP0smmJ2xc zt0AjgO7ATYp4vkG)YvA~-Adi7cYi;S3J_JhmCLI$jXS^lyD^Z0^uvBK-t;C1VT*NK&ADtR3&5Q|FuEPtxh0@_cVuc<^l>gtWM zDpA%SQGkm&%DPr=8gH29987Z_rh#pF)7Z>@y^<_hkP{#B_aftXQ)gPrau0B39sy2Q-DA`5XG{@huaK)+W1v>+y$7L!|pzyyN*-StG zr}{IG>i2hUiB@JRa)wUH@UGtZp}Bu@z=@T;8=mExH>Z!yv@<7cemZ@hzS6tF)URM) z<&CHUn~>|9*jv!@wOjfBSiC9X$G@C=@6T7oIu1|$*`s>r$Su)b=GQiM9FG@wF8#wJ zAU(vex6Sk>{6icAshHEw%oCrTGvwEM_{u{RXG~^PP?PFi9xAJM&Hs@qUeIdDkEbnq z|M=IS-YNO20xF7egAk{P22)&GRS!7(s-SP@{GE+EKUuqlYC$#V5n*$FbZ?uBQTqP- z!V9WKyFBrV?()QeKEkg;{%B-8_4??DRP=|qy(3Oo^lor=P`1ql`fL2EdY8ZLule;?eoZ&MnLnl3iCUsL^eq_^liJg80VZn-zVi+d^irLA^ux z7Ab%+Uz^KnG$>-K&{`D@t^OVyvdcsF>Rn%%s2f54nYw|tM0Zq{l z{L#aB%5{r~ebm}~pX;0xxA)-+>T`U59GW`D(AajSiMpk0=X7Q*4M)aDI+~J(zWEEP zcZrmZ1Ana)JM|LvXK=IdvJl?!`SPCbVcg*K=!ga_dTjd=*l?F#+ z+i)jrP+VFK`IYsGu!r}>ar89q@jj2$^F<7>WTf5=!3tfDspTH7>@Ch{^g27d&O!6Km3ZBsG_Q+c7q(P6ic1mC^su!;e}MUs7!lKeB27k!CBgqTjpF! z`D;dY$R)*PVw`m#!f_#o&D@bNILNU-XB23ren5-={s1e5Qx>Ayly8NE(XTxbMMaqd zGFF@&%Xvkb45~$i&tV&ovHFROBX<$yUVz zA#^IA5}8k26YY|Uukr%PAQw+hYUTQZRe7tkyc<@F%>h4i z67Pw;)bzK3#rm}+f=kO`2<+)H& zy$6n1pyg3IO)z#Ptw49M@VI;(pV5bZ{ zS;LVvGdMeY9BRNb?SOVk8WqrlyiuJfbxztaR$4Bdp@&2#@?pU^XSvT9NBheaEWk1& z;awGcs)7Zi9p-a?t-JeGVsP?MX=SxLoTF0S0}ae5(Ux^^O%H6OG3{2)L+n2A8uKnqh1XX*dDFy+bk>M9kQSW709$23Yb7phDd*L;nj|mh z^l=)7b7$0Fm5GPa-L||PGsd7EgM}(9@GW&knpUuKWs?rW`pJug^7lkD(oM_t=f#s8wUpvCKIuosKnB z@JO1R-qP*pk$j7YUxejK;zHwGmey`>Va#@w7f;)p0(g*8t;(%18&IUfXuPO z)c@E6Dt=KxYJ}>NVh$5KK#Igyb$MVKN9T0Wf&Z=NXzE0s4mSzlaG1+Ho(s_QW0^@w zR&HUMl?vno@9q00GmRSM=Kl$Hb&0oqvm(-{6`542;ql4Amgn=iqz0t^rw;s5+~ z(3RGKUfbG50`M~QGt4M)1r?lSjm3-o*V}x0bTGnibX9S!riykZmq4h|goPeWBd=0; zsE>|^HWXi@{ZNR5kx2idNc;z`K1wJAaLBadBSSTof(5^hYo>yv7+&sTsEO>Q=hvp?zF@2$2LFNQ%CRGKcw8qT^g6rCIP%VwXn5_Vdem?SMep9>IpWaKCzgV<7fv`g#=l$xDl=(ke4&vJ57cFHNk9F6)vd5C;in98PF6xp#xxL6a@}HQz7EV;D_Hi++~hN5uJ{0T zU-l*^;NS%0X_Dr_)e`FVt;8w9KGPU{uT%E`=A7z^OU5@%)5zLV{&hgy8h36=11oYs zcKHtU!&O*Yd|N8;V5sqHyoeG&(BC4FQMDc!5Y~%1;-BT;iL>)U+RHAD!*lG0o4%Sp zVW4teJfe-UJN86lFyCXaj?Yohnwk~{)`1W_XL~VPLV#cVPtV$L0jYJEc)K(}hXt#K zt6IbY!|sjDJih#q0UV|nlmWmzyx-0q*eBX{w6z{eq!{SOl!>ZZC@|aTGLxz5hkj}G zu(3C{5U#DjLTW)IZns535M-9Ho^Wq7L~R2LgYS_CB@Wcc4^V0wO%L~ABMaw0HJ1X* zL|9X0XogNOp*4rL#Pqc^vNz!JN|4+7jnY4H-!GUg1(swrup|My;i#^KAKQL<39K!)5UAR{d;KX|o&f2_Q7 zRl!0=ZaG@0AOnV<7)A;eU|TEJfDrgnfVb5ANdmIY^f0VyN=r+N3QfvklFun%!Ixw# z6_FJc(wVd5T?CWS;StqUh$)=LJ^>h==2@sY$DB|cGidJOJxuJc_~QzF<-Z$7DIE}C z5!zS@J!j!)6I9pGy~Fll%h?hNt^vDgjX3xYw-e%B(4kut$-&_&J_JK>n|OVS)1_i_ zqTSgHWc9>U{{>^Cj^^XXGTdCgvHuqG!{jvh1STeTPdFeIu=a%3e4jM8xb&EH#4(hH zr-vz31cYc*7OcoW& z*?{#+W)Dm?jiZvVC#FF}S4q7j4{04p_Nk<-7}g}!XS)ejeFSTNNW+rNkm~DrctkYY zFkmDktACZ`EVM&{@Eg7zTJufiXy5SjX0Bi*S7s%@&1dw`$=Fr_E5SyjD5DU6A$AFJ zil7QkQCI2|UnO~`4a*uv9<94QQ*e)l#z}Bdnc7Ldk~qool&h;QjFY~XcSdG>$a7aP z3f`JItgmLMUrvK@Dju>O`tfT2tyt7dDryCrI5L|6Nry{AHWI3XxCv7*f2D7#ytvA< zLdVdyi8%PsG!Vt|J0-qTSx2c@+6s>`Lu_sl)^|vf`dSR|a1KK{TYhUA828s=oBRc4r;Us5M`$_@&7k}M z)>ty;f5z#ad4p3Jj$N<7 zuKz_mkQSbx#c2#yAY@5QIpUKI!C%kbvZwG+x@%qKigaHd83* zsE8(vfquBE!fnu4Hm6C;!UZq^0=fucv>EiJ@Bkf;5i2XLLzKNxG)z1ivv5{{;hNW5 zVHLnvsmh?Sw1lr%KiS)UNm6A}7?dJM*hK8iqVNKnjKAIZIfQKC5a;m18&KPHb_T; zhd{-ls=IxB4&oOy&l}P)9()L+1zUu(v*DZqWX<>)+OeZo4C~=}z5NtkNJ8f<@ke=Y z+2F^K@B{pQf&yzsw!K7tIzJ}m6hQHs9n|s;&i2}LTB@^1SPRh!HbzH`J$M@yob+t0 zB*kZ2$lg`4LO8xwSIEdrC|7-2`#>XCQx1Ncff{o3UsMea(g--@Z9|fyz9@yH_S<|~ zC~ykv!}~23m#`H_3H=WH_+n8p>~WS_5K@{RlcX1iFTRpt8QC^WnH2ib7fcQ{U1u8y2@u{;xfrlZ_8wY&o67 z$^wL7_<)r)4F))KVan&U{GnfC_GRkwH0|>u*tBTjMOJ9Bg8`n@=3#QDEGP}rT8XJi zP~2}5evKiY-=EP+hzYaPEX=R6X?=v7Uuh}D-hqWw3U&`)`~ou+5GA3>hP{LCu);Bc z{QKK{X!^mgQ9D}j{YwFx#hz2L0+wNLpuhLtMk_x61$Y^)ui!T73ekx7c>_R&KM3FF z7ULR3f83HQRG6dVAOtYf79>+K3&tsMx+-}=W9=5udLjN^W^wU_ajX@v5X|6fz~L8U ze_C2f+ISxAoQukN^U(Z@34+TTz_$;4U>>{WRN7>T0sJb1gYnSF>UPsODjkXHF0}R=D(OjD?dV_SlsWAp#AcJV zlCGYp{e4(W?&#W%8|y7?M(j-FM$>i!DB~}n^*ig`bT=Ljv1A40dmg!$V4;6`AVupw z`#{kzb5shgHsQyPN}5?cb}+}3mY9--|I6T}ZBnhSMR!QhSm0Cv^n+G(Wq{iM4e*h$ zbz0n53Md9_!*Ig+@5oXL#PYo*R8j?$j6RF~qDPTGh%eSc4SBYWj^ji?&y+?v=`Xaw zEgF>A<{Vdak+J(V(|0Elt0hi58EDBlO1}<)e**3F1<(#aBF}j->_#N-WF#4+{)4n& zu5-GXI(>I-rjA*S7)m*}CIJ-5_a!)&k4oXLX_Gz*BNd%L6S<;sj=E~&XxoAY)JO<7 zYj8hYXs?qY^R(%C#H92t|#_%V(1$m=T`S=5X!He~vA z^7`LQE$wAG9aFG?lZFx_Qqa^|!wt##KN?DD4rU}8v}U`wH}g&IfbA&BS&4tm@X2MV8cELG+`2< zxH|nH5`!8hOoML`pC)2}VqI~B2s<<~xfC#gJ|pdPT*|rwtA9cYQAiTO65+?4RaKEV zRKaRN!LBMKyeyQ~4lINs11xAKc@+1F}tzJ2^-5Z%)tY+Gq% zFE$1(HnB?J=wo(uDA9Es)$M`gF+#I(j+M139s@-VT9@oHds!9JlGKHr$yoyY7;9-@TVU7|%&vZBj! zp1j|SuKvIFV_jYFKU0e|#7LY|>Kg7sgIW!iV}Dt?5hrathzE1n!KfBDDC26t7YU3M z9$;dvW`AS=*ka#vy-(v(PLb}y+LhKwA`)g{05vtOQt~gswGspsF@G2(h1O2Xh)vY#_>Kw z21;t_tXSWFFqCoKc**TG1iP6bOT;A|L?v|12@ zCk}Vnv9H9R#Rf!lu&1vf<6dQ;Y6cXDL=Ki-0gn~Egon0aet~oR9J2WTf=&Z{n?pkf z;k>pN3Q_O#@IPVh`kzX=5AluKnXQHSB9caCJctisbi0t!;9hawZ zcAEig;-nV?4D|b;$6VLemXb_da|3Y$36I*L=V14+pfC&yr`-IE#&VEVtpCCv%y91e z85|Z^CN#)(7(Rm&pE3UjGw?@vA8%%M12ByikX{96gn%?dY9SZ*fFY{@YuPW*E;uh# zk_Yr_mJRh^jL`U&zW!{%t|ZA!83ed%U4d&~@GQ|Rfn&z#=>iJZ!_ze=E(0$Ev9HAW zh(Nb$dz+etvrMWgwZnRG#A9%#y7%x{u!M6%rO_P$35)!OfS$@pLs@TR-CKrJO1h`d zE(C5lyg-CKv3AF3|3!{Q_$!0H_{JitO6GYLz*KeRMdrUE2ng2_aNspD|G&Y8Y7o1Z zCnmX_Ek|2}0$hC-YOENsTE^-jK_)p39iReiXvGsl1~~9z#9kA03F^^mzDoyn#Xp39 z4fwl_{q?PKO%Yp!F>#D$Fb@*JBFY39h@ksMN}eH7H5KSW@>(g;DE>WqHG}j;^a<@u z870UoF~D((rIOTvaa%*1c!sVu-FR`cl%xDNIIl$d8ssxTToJi#C^LsaB{>a8opclw zo@Wd|!xz$;NG4))iU@1At1Gu3SSMEkl`ym@lD-xQIqH5GXMj2g5S_W)#5<9K$mcuK z7>{eFF+7_OLdBE3K_o{9K6(0-RSqH8O-Z02uCzp4OY~Es0vLx!v293qnziB}f6eZx zrIC%b96)n9tGAS~dL2PK3&5C!wv<;$pidc>&O=nasAFN1Z{}giO`kp;6~#HMyh0EV zr42KVaOqqfNrs8JShdiVYIOcii&B5e5S`GPW&`+vOEl(8d|~I_y~e)`bU-`|^5pyg ze_^}AW1G*3VSRDWQ?v(9RIAY~Hl#Q_o@V8TBc9JfuF$-$409DBI%3CrF)kKoH?SLS zZ1qJ%+sh^b%J3WlMZ@}noOX3>3*~r>(R3{*N1EfS`>?xSbC3)P?e4ETK*@NSliBwZ zo}!20F(d~MS$~8Y-o3;8iZlT@m2WJ@D4PgeSxbpDBCxkRpgx8QzNw`=Fh~cox zEQ#703po5gVy(D-fG>k?WC^!S(NVFKLKOdyI!txO&^=gd5P)SAiyKlr5Tla_=G`>m zoIF?d8O!V3c}(N0P1RE>yn`pHpJ9y){; zm_8BFLI}`tv^8#IrhFKuEToE6!NCP=2GxM%G-?n=H&XD6LDw3X3=+va6z0bva~UbE z_6ltrkRSsd!?d$cZkc5bU$bjukNi@~ZJ?wLg7R>RD}_0ePOsE6lCfS`Ph&6Elcs!A zYmq8MNU~Iefif77?(O7ZNVY@ZnLqGPwCJSLv6+kKKndzb6i39Z12Rx=k@DhEMg*ey z)i+RE0~I!e0?G%|QSbVu(v%{472S zabC66$(FU9Fa!}-86ZQ`7*L0_S&BVN5IRH{F$*)R6W)qg<4Sfoh7^t!FrN1|&ux}^ zPG_wbq*)|6E4h@b@E&Yy(0|Z|R!(pU2zy`~$)#YEj%kWgoCpnDSXc$uDS!z;Bv8aO6kgCg8$U37lU?m4?!jZ$JIF)gTYA}nzt~?*8qE#$Iuu=BR zd;@L?W@;>aFe~HA6dWiC{3POduomHX0W|ej#PPI2M$QuMtn$PS^gYb6XF~q}sj5u3 zr!Y)-kTrWy@IY)gc`|PZgEW;r0P2Bxd3&~?U1>T?g#*zmmJ;ulyvd(3Vf3l%DHVuB z;8qP}BRk#l=!Mhviv1Y*IOGwiLmYc)E4n7q^KqEE5Y2#0{}9QJbED>J0vK zSf+2KdiQQ7VH;T65{tT(h(iTs2=%luSKyQicRVQGSz_t}(W%td${u&Jd{6NEBa3zZB^dEn4obvBy&zhhPn3 zSyBZ~jB8JLIK>k8*dPTEcL@scO2}cg%@~2IAt^D&i8$hNj?W#_)lZDNJMEmQQqU1P zXF(9=fK9Yx;ppN!O+V1d5URVNHlWDBCJ7k~D}fr8SP32o7(w$3GbJZ*m1gOQG}og6 zARi=!C5iZCo*{i!2L6Q5!JcZgSnLWqnA}Q;WO&KH6UqN0pD2=@I4`Djx&?GIIagv&t!UA}fV^wDBa7CPG{2A{lciVSp`l8SZZeF^!Cy zk*%&;xqM2ka&d0*nY~2~^WRmg$$-M;9EUR

zg)`t8IpQ)><$CIEcf+UW+bXvD-a z&~ewAm^3S<(1iIHQ;`siByBCkDbPRxSSj&Pp;y*L~Lp?Wq9K;xC>fgr;Xpxz)FZDs!p|~3j446etT+y6n2ndZ1 zP~Zx3``B|tiek+v0;L#mkr}*)7`POYHj(~;HXT^kNrD%G0JYG8tgi45A~cgVd=P@B zbP|n}cH9JmPzKgP6c*65A0iyMx{!uiAgpcT38bs9;CSMYWzr0wIfJeJg$LnA(oIg) ztx>lvAT7)dkVA+pdc6S4UOp7gq#Ag$A(&N>vR~NSYD05Ju)7SB6}U3*GJc6hE}{+J zDPd%usiaeP8murgBRC)MvvTXi&TmgPN+`*mbKp(PgRq9Q;A7kJ)Q);AN*>J?00{rl zID*L9_XtVUwQb8(ln{ZW#zmxTjW??#bUCn+ELeT^Asd-ls94`BuM@ajcrWc5@D!j7 z(w{;0@u*-o=m}$fwht4PKarI~`AcD;2b_@f3qVZFy*8uF0x+$G@N%|7?Em<3D zgU}k7k%XAUjv#%3HqZIR59A?OZJtxWFBdvzrObLedGewAMw1U0SYbTPnrGb5E1ws8 zESPxr=sHMcN8buQzVYr|H|zqmP$FGAh?o;}K}xhEf$$&UdL^znEK<_tL6O+sXAkIf zG_+5H$G!>IZ0}~Jwr>v{0vD&G27venm)7@d6ZR9S-fh*W-q9*nuAP^{$$&Y~NG~yk zEQ^lT`!T0Ykb}2Ax0sHiq2dUYM9lYSAJm56mqeBlfITv!t^nMqg%4#afVeIV8y^_n zXO{sjdgwL}|6~^xNwMBJGNZkd6U4&a&ZZ=Mfe95<4qX&#?vK~Xi(?ew;*f17r8EHX z?3R`uASnPoW>h+qpnQ^y zRU#HhX%}1*-~qJ3wKKtG;;g{-&V$C1z7128R9aXhFGAH!!GjswIlH==1VDxg_k~TH zR*S9QYt{^;xj8(KPS0#9T_;sy&L$W)gz`e1F^Cb`T7;*Fy5b@v>{rG@&rZPou=FMu z(!g$YppV%yb_@=Ti0|6wbM)hY`j5S0T|#E5dski#ZHcXC$F?)8R!w20!Zq@}dS_Dv%(rFc>C@QQjA(PJwA6(n<-8?mOW@-e z$BV*Ie-Tv_Wt1N-z;;L?RN=GAo%1%0h~{|R$)7oU5Mwz5+YF&B2RC~pL6B4HpcCc1 zp#*A_3r%k2^i?uGQv4oeWEnYetjqAyrYwl zpPJ_3wMe5fs}LBeQ%aRB!=%q=Xr~{cp#N_`ND;EMR(*Tqrzs?<3vuy3FJC_OKPkwaQ7x(bL{H*%H<1TM+ zjX?_J%)VKN&U?&`ySo{YFaVwq=?ll=2Ej8X6zL&Vc$CN;rbL?1qKsI1l*FYvu1n=G zc-;;w+<1FR_O~PEet2^`B-H_{w697>O60Kd^Nh5`c^hE+L@6nP19)NY7-DZOx^+cUY!v1g&)`V80 z*oojtywNx-k+;-Gm=z6y)w6pOBeFcPnXKiUF(4^jmnM6GROK|Kl4yZF2aAaF#r)(iJ8CFP_OW0!h{7}8sL}2MRe-3%84L!Z`UJ?$o$<=t1-Y%smB>jiae8Ao7lv;P}A_cEjDVIPUz0N&i7R zg02qDu1YO3i1H~)A3j|V2fpslc@Tu^r7c>C>`WeH%~Az@_%l|;PVgl}-*Vi_d{d7a)rFN!bTV*BZ5!ttt3xSE__dv9p% z^rETnUuN$QEAb~8wk&IG(mAXjnm*i@^K1U02Lo6LXe-pf9p|jT?V@xpcA+E^GBPz2U%@Lr8 zw5sYM3Tu{Wv^_y*Y3Y#CGr-~oQMif5Wa$6w@NJp8C3tP8Pm_%2&bkwRvwp~Rhey40 zC*1$0&I{#M`_KfAR5(au1CauRayDGBw+Bt-8#{FWqZKai{@xOH?Z{n^xpTXB|8TZO zX?gcH%{E+sCVttUF>_8Xs`C+n=`(--?SLd2AM6@VIz8;&{axLIcV^Zp2wBI69?G`P zx4|K!w51RsLYLs_%_(}k7YA}#S@tY{1tDMt->dX6*Lg(vf<@q!`` zn^rm`EHMdblv#12M3SDEwmz@dNh1V^BrO@$7TPp@s^p4j&?dJrhP$tjJ(tARF* zDmFKUX=peT`yne@2P2F_SdQ>`?^0g>va)B0;H}^?mFVai=z?lnYC*N1e?$eOR;-0s z0(BkcBc6}lTE0s!RL$ijxg0&4% z;0jWVY9f(W0!Gu&L}ylQxl>@4nWuq;dG~vJYb>9iXbA2DT`;|~Y_4*oPF|YVXNWOxOtOQX&k*HLIZY?$?(KZ++ z6hs`6*^P_<>gXIc@z{6gyNnABHMgMUD@N~O-~$oKge+o|J#CkAF(W16n%=SPI@9b2 zvKEYE5{FK6W8!+k^(jaQqk9_60W&yYo6n{ZEjf#XDlj1$CPQ0T5lcYQxoaG7HTg!y z!SoN`-hCN;5NABLWoLSqKI(M*?D`H9AUw!9Id|-ZXeyn~^r4h6G{eB4SBDsADDdO^k2KW zonPN!L7C~JcGI8q8~HKn8bOtu5|<56>_~wTOr`h*23CkrUP7^9E%KcK4z<*FROe+7 z|AXZxf+l{3G^;~4u&@MtVCI;W)4I5ye$aQ+JIn5$$_5;MxT1+h(5jwBVfw z<1w}np$XX(Zopm(WHi26qqk;$u4V1 zp6i4Ui?Yn}p6a9qbA4pux8LJ*cTlZO_4F+g679`s%7JP6)#{ak%n8@FN}yl>pt%5$ zmW&8@i9V|hl%5$!9wb+yl>GvP_+>y2;;51WRcSzm9D!X;DJPq>t!Yn0xFP$6Y8ytm z#Tup1lu!}|RX1W4M&85CVInL%$p%$<8^~Z+qQ-fD|0>p-gqK+Qk2uz-$I35&YT0{u zxnJeWqZp;-rWJny!A?q#H)m?NlJ7{{N5Uol7w)!~C;I8mmRK=3M4c(zA5cFv>G-+4 zt82=#->vQL>U3`Ji@T?aUf4c7H)(P28Fi3R3TINnFpLINvt!G5`8Td0#VF`=R@ag$ zY=-5BOZD%;1A^rDcK!W`L5~JCiW;7}33i3bQXBRkZGGu_Kn&qBh88jXni;zbkY=;! zKwX@p8Z4Ux`&A(4wpTe-RcUTful@#SI)Os&!@lVwQn!0vd>i&+ewT#(b~$~f?hlx- zYe4<}>jr0U9Nza?z5N7`Yp6$7PmDNnsXTzJ-;;)}Mk|r=mJ(4>L}P~y9}e4`E5Om@ z%G^T4q$adZs6!{kmdYCE^-;2jqqV#{;FTHoC!n{G+Of_iDp>}NGqhW9XV)bIM! zGrQEl@^L>+%sUg^pzHP2z&c$IyxkX=UHxNeL>>pVCt{mC7cO3G99J|1Ptv?h=1d2-va=_vW<+u1G=Qh386lG z4QY&kX0YVh#^p3|;+kA^D-Xl&bouG%=f{pd@!OjpXj^WwcjlD|p;vZ~%#3bu1m!lq zHDltVJ;AdZn@@S>+`QfNbNyz{oVm7LP}RBbAJ}$&np}t(aoV`tgq&4P`>t)bZ9~Xm zZ<|&q&BD=!n5YwTwbF?lyoWbzmd|iPCOLGWP6JxO1T(qe;Xsb+ao!2%?{S zZq0HDeas6u1D-x*f3+Su+0|i_Z~H!ss#Y`nL-J&-OZ#SM8RX zo2_e9xq#11ugi;Ev zEH#aQYKtPOS{U$hOcO}>Q}d?F$mVph0rg=S2#i61Bx^A{WRW_n=uq@3N%6H{VZJYF zVBreG3!h9S^Ik-<5T(_6yM$$)fT>PbFA$*FK%78Vkg*j7Wi#yaSAJHsQ%ok2RsD-! z&Qt*aP(?Y?gk=1auS;P6sCdVmlB5OeJI@%jxWuY3?Be{dcE4+lfU6*637A`?`6PU( z0O-&r*k=!3KKeq!iU*Ij-*Eo5-11SP(wH4Lbb!Y~9q&s|w@WX8!xm-jn9@3*>LRHWXDfqqW& zi*`8p=HM_+inE$Yv@Ib4fS4^0vy$kjsDhbUvJgRM5UjO^Vrf z-`<_E|Hl(HID!i}^kbudfx$BhthJ`!B{R8&L)YrGQBURIPGrLVAH`eWMrz z+cMUYtCCv+O7Cd-ouY@|1kbG5cGiuY&=aO3GjKwYy?f-FdL#eYH>7xeoujHcNAKB; zELnf8_)>iOnmXylBQAC=YI^j2LEA!vhMY&0ox28XJEcj+3T~}I-05t$e_CwszwRue zbEns|7)%TQhz37d58lzg5JS9yeN>X3+rhgtTXp?u^62t^_SnpNmiqof(cB#e55`>B zfTe#)FUun{ilBWCq8kw&tSJl`1%(Y9hB!n*a<_l8f$NL-x^)%;Z8ELGZ#+N0lv$jvk6% z8DhYB@>~vaaP0W)(T2SDU2uov!{@0K@ML~9Av=Ts?b3LQ(0w9Ghb?vPN$?3 zbA?^AMQKERdu=m|4Y6=iQ8#K?8?9>I$e#2%EKUqtDtRbQt9Vu)ke*KBn}0n93S0KssfiW&l% zI-CTpW)h~b0v!}+`ZgL(hcP5n^XKG?<@7Kk#^q1`{BfA z;HbRFqVly4Cki0wK3wu$9g9I(d(~-8}&qG|9O1#~-JE z@3Awk>a=TNp7l~^C!e2vjxya>)4~Ua8eP0h-FOM@|E)JIy7zjSlDb?W-xMh&Xc=zbJQ7oIDf!pA) zM^&~M(u`XW{DhIb*rF1zsX;I^^f)(e)W=JO0f&@Uk;d+O7Ma$0m9}?wwG@@&-dT7U z4%LI4MrLfk(6y|zxtl(29?>()vi5Z4a3-ZXZTqRT_fOBRpT^nnMXV=jU0JvNIOo83 zzLSrogxlp$)iWT(#wwpm#j{FzpNy;d!lKZLn;b|zke~~`2DtX%WB4toasEb{8snU zH+$z^C@W0NHLNot17)0LIkzmwFg(Ae?Wq!jrbgl15AzBN+Rp7vW8;kDA8LA?zLod! zr@J5jnNfm~bsoz4TvagRczNy1I|dZu51ZPS6*s2=_44*_Mn5`#0|&^hf1Y}=^ZCT% zD=k;`hCip!i#$!ocVs}NvEt5gew-& zr0$ndn6j&L!f}VpS#9rBgH9T^_A6IcfceLc#bSlL!|hF7G}(#x^w&*O&K1ompNa|Z z5#mo(m+Trm{#EYW5%VM4xwxFUr|fQ9no;hOAGswUMX4wX%{~%}rE(4``uOj^@3l`X ztCh8X>)@fTZJ~9n;d+52%N1G?tER@}g?o*zSj)SxGBk7rR^jD1mfu5clIwth!wYOb zy*Hj)`k-uCOdZbat4`OZ-rCctWP$Dbg{i4kI693%=+7Q%1ag5_72#fT@mHjXGDMxn ztw{{H0m1yLrZQ(^g$JH|g{bkW0UFZ1zAvaf$$+CUqpl?%5vVKSU~3Z+BCx~3EwzG5 zu%>JxBrSHj5W_r^J4e&{xL63T*6uX9@+RIXP{j%^+|8Lm?L&X7x&%xUm>q7Pf=l1$tbM z726R7rjt6XJu_%$hSZUJ<(24bT4Tzj#VQV+=!Bk4OjwCfAPG;*!2?ouJZrzD&BI?C z^lUS8?6TI4y=ULsANbYSqhk(F9=tBIfnt9>M*K1ymL@VrkMgpN7y~s=C%%~0yXx1` zFF^1@fK*S-EnD>Td-;K|YoL7g8>>V3nil2OfuuI176{!|PhH+1PJlZ>RP-@~*mdL& zwZQ-V0;-dt&uZ0Gf8c0X6@F!4k->3Rs$ohlwB0gi#80uuG&IY5f3?P;kMEwA<=1h` z{O$1_y09K$H~W)=dN(++rp2B2C5fL5IL9igBSnWdpi@upx3S|=3`(yGyMI~(EB+JYoa3Fj>qUFmQgNGdo9KNLQ)mofB7r-G*fuIP>(6O#tcT0M@h04IEz;Ex& z7F~aOai13DOB!@NFy&%NV&B=b6A%`1d$qDg>JL}ybqv1SFF3d@jk%?m+j3sq>H7Hj zoy-Wg*NV;Ni15)a?_U&Pwd6-304Fr6SnI@he~mA_c`ZFNXVlA<{(FWQdPX`N|8U1P z^jg>M8HH}2f!$ES3?txR?eYEwd5j8*1B%Mj&BG(4~f}VeEC&&y?WB z_bAc$|MEa}fyM~zVHT1;u=xa?nD=&_Z<~0!gQNeBbq>oEO46L8BL>Pbkg&82=B`LH z$}ftir67(W5(-mO=jzpu?>uc-oc{KX?e_laHOnJvP#+|Zt_8_Ug71r$EWw^Pn=Tw? z**_QpkU)ptj?;WLMe%sEL}K&Y4hC;i>1e?Tqy%T~v`;kA0|~M1k9G}vxwhk4*pB?| zw?z-eJsSGQ%3gkle+pdEbYlyv>0=#YTk@U*B{@auDXPWhf^w-2x0pF78m^E!?7=WHC=oik1N zWO-onEyXZJwa%~3oLbjqQcFal9|YQd`ifhPK?A_o4&(z;DEs2Y$&YdqbIvwTJVO+4 zLLrU>u?xnkWNe5?&T8aUd)l3hlr+!El@Utd4mt!zo|D+~{Dg>G*T9|bmZ zZ~ER@)hJfs@-%s>OVQEz;(hVQmJPv2v=To0EU4`R1YnxB1*8)Cu_Q6~+VPh`8Q4{E zmdZXVh4RwXJsZ|x1&u}K4xb56uWrO{*}iHh-{e%)Q#GLD2I8}^RmIUWM$?qBXDw09+;g$5hW_@Q1t8}d;C-!@stl1i zDb>tPp%o?SuXHBfklYaICQz>RlOw&cRY}Q~B@AWg6+bnO3jcVzOTG3jd|KG%);x(+ zRA+)LRfbE>gevknZ&_M&r=uB0cOxSsI{KT|o$~tcLCyEhdD9AYY}x(YpEcYA z5m+ukV_A)QcPZWr(WKbD;crYCw1(r%_AV~SCrnLE2no{zPhS!}FDLuOm1_)G`8%CMGnqrXzgphvT8di z-p`6^)tp0$IO3V;mwhSu3K1G%)Ue>3`1awlAWX`J6}|^@z+PE%$q8+&$iyBB;=2XC zatW3lpt6uI#$rTRRLhOQr0#`2Jv)(YL--#2nSo2FB^EvZ>F))r$cv0QN~{u?&p^6B zX$dklty~AtRYJ5DZ;tfWtHT&VO_KwJqC~)1Mp{;YOVtQB9grb>_ICC=@06VvcC>!* z=VfcBJxx#j+$-qmz-2&q=Tp)Yj@6pef+Y%=1cq#+qSGbiUr{thfK-Vi76o5bJ&Dt$ z@`UG6M2MIDfo;8()$TjC$-{>|m)rai+qeK?zm1-!Zf&1=@}IA;OxI_qF=Q9`OWrBb z4`e=(#{x?WE?rc9ZnkE5!3$c`Tp^Mx%cpAjq7|n%>w^Z6wNA%z>##uDvs07Xp%y!Y%IJ}u<*9z&nmOq zj61(}UZh^!>25Q+BZzb7Eb$Nrf)UJV(Dm=9PXkXau9iIPgHvMJ`Q{jV7j6>3YecZ| zBX$VYUG8z!yT2be-wr4+_J0|T%}8lSLrx1C#ZFk!#1z#hwA&MjukdCwq46CE-5@+1 zS7a#`uYT0&Wt8bZ_hyGT*fk)zS^48?54#^(^jG#Z{HEHC0l{`3&UV=9c6i-iJ35AB z75$W&(yf}io*5x8ylxxDgyZk847iat!5FrB+rx2uVu?LPJEEU&D7&8Rb`nAIM)>*U zANNea(Asm&6T{o_dl_uNK|EnkIkj+dbhm#(^IZ&>1h5MC0cbPMq#%M$A@&$GhcEUY zcwv?`@s}yzU+(hLi`(b+)y_$Mq9~4vKfd;3`nSo$-#X-mU94N$W4-T+z>7Z*op?KC z@y4zPUm>ss@s&suB3p6QEoJ{)kwtkDyZ+`wW}<;b;$Gd&gDGCD$q&Fy zZa8>GThN|O>@5cKj434%V+!Ai^=gRu0t^O+d1N1o2@Be4z^sRU=EM0M?G`Y?Vmzu? z1_U%KV&z&U7X}V(ZD;x-PEJV*D~cqy%qM^|LJVacj@vnm#OQ$8&R2)ktG^x*53GnV zAh%#gQzGJ839ncIHe_YTRsuaVdi{-z^KrNx5HeEnIe#j@ezZMX@!jOf&0@VR7S~Q* z#IAf2`Rf(}OkBx5_UI$Xpb<$%(1c9A6*D=I5^zmhlCW1F9~gJJ@ZooTsvrcmigTIO zr<>`m%be@`VuXTm%{uJ`Xj%d5F35$7celHLUZ|65cZ|&O>dW zz1zrNuvEcZyLq4kT!lRs_#nw62<$U-+9c}7B0$`n>zn>7uVEgE*+$fdWxyg)4exMpDphh)>S6Ky`T z8eKICe>FHU@Z6g3ZGO7m1M`)KCq*hLM%%l=bOYt}eL=DqaKV0bO+6`<1`v=+ASXqnaPmen zB)fb^lj0-tp*PnfxlMH)d6`}6S7YI7bOwVtewe8zr)s2ds^Z8EKlozolfQQL+j#R7 zg^samq?Pgh=}*TY1nPHS;*HE1$KUGTefx0+%}5C?25%>15BZ;w|NPUx-iBA_Q) zFqjr0F<@{1iFOVY{~QSfNCcZzSLo7EY?k5TWPDl?^2oKo$5T9nm*x(j*;L|gjJjV& zsjQef0cn%)DwapsEWpc%&9_#O)>={vKA))K7kKGv14MO1>1xuQ z*2f!&**DRPagvnaO9o9bYeIaSwL}SlF}~|@1r@jU%y%kU|tkXpJHQ=wFIK& zkoCms6UVx~EqPHa8s%Uy-J+^$p<)ShNIWX-_TSFNHuGYV-);bAG#MhX7B>$=A87C1 z9W>IpRS$sn-Igs6l82>5A$}-aSTAsnJnN~OC3L22TM;COaIZS)heNOgaX?HJwEjVA z5`x}#_Dy)DG&3_Z3^)oXxCp!}Nu^85ja{!?=@vstr9#Fys>HmFsffA8IP@cQI|O*9 z7G4CG^Ewm(u`FD zap;ZY0?r=XC6`;1fqqFLug}|j3VqY>;=4D^xRD`q+SWPx+ft9;^@ST3(d*{h;j{=$ z%J_lbyj+w!cm2k$ou(p<6#N!0kqt7@v6IaAEq2YeyeVXWU#^ z?yQD|8)r1!8(z>VtSo2L#i8Rjo?1F`T0^WnW1O>mTKWM&N%C>1l>#XYrL}EaT6oi1 z^q=QlZycJ^7%0m4?C1s*4uA9X8WDA#u5SPQIiUFIs1M7oFFyKmd2mqS#f=khA6nUA zg8!d+$2Y9J?|io;p~gUmHFSaiZ>Gxw5dmU|J=%ym#ihrp@bm=oCCdAi*Bs7~GB3>n;V;VePt3i1 z^QQNvff>V011{}yeDJ_9!zu95!~?;%PA`5FlR7EKKfQF(-dF2#!{<$Zdi7<-g15!R zr)pffaic#_G|J6af(d7lTxVzJUPvIrX$rE*ZRd}ImXmQ2ad99WgMqQ(pq#%nLIrdnA#3dY1 zfDJ(QKx|7@BMmj5QL<3d0U?vjTBx>W@LNtqi#Y61P79?cQGx+KR$&!@19ZvA#Qua& zM}#i*7Yw1=<@eAY4F0F5Fe~UBNPBsHH*un;A0|4;6#{^qVzU~>@7HWW64A+gnzY{jjmO4m6+v*_)R)f~E(D zW~|?F;xAjaEWoU*#xh05kq4qh-t&=K_7xYy@-nm);7M1U`;sPAf8%A#mRV$bcWJ=( zL9PR^_}$qOs*8xt-@JJfi(2duc`&neUea8MUkoV;ULA%R81^S^<)ISI)d+!s)g=L};q{x~^iZP=O^^_@ zLmUTkdq`{qT41*RNlvC{O79e&ooyE_))7 z9r+SWdyOk=e@Ls8_HCr0eKT)@oR(v;tuftWAq@@evhZ$92$=rn8}Sx|omq(eu!M$_ zDSFV-&nXz_hmm-S&D2+k*(++eEeoGkZP$QFTR)Zzce0&h9ro$enF!l$FLRF2XJuy^ zk9A9nd(^fl|L45t*j_?NdiwOvq%*)M@GMMYu*8rbGtPOG-Y#^@o_f)>_R6*WI+|KK zedW^Y@Q7we+KR(9-gG#!71VaCqmRD{RzCTwA>}GhO(=2oU4%>#n`|IbOrshCS^o+4 zWis3l7?8>Hs%dX;#qPL?zs?i-C6{J#<%fmplml%Mad)~iLc+E4ote`iI*nL@kTYU} ztGK#sbxEJqWUpv(i~S;RrWV^Cp6ON;q#9%rTZ%I?m<#nXOYyVv_p-zvjP+F zDH7I8aaDp=W{1W$7B?m){QC%{MWm+l}(~u@=Yw8 z|NNs~Z<{FwpeFia`50k4$HBP4G_IsDmxfM6(6wZK1^w2RN~|{!V?ZDtDypD6>EswV z0WeP{bxhs4>LSa7w?k@nx*OVf#+~VPuqLkG>CUv8_?_vDyJ5}gXX1IW>vtUX8!6i| zbQMaFUc59t1j+k7ww3?dWZ;%(epQB;o1J}kg? z?cRM#5R^6}4P9C}fE(3-r)@#5a+Y(HOD6UcwT{JVGbMl0?KRJ&+mS;PikA!s*JCx^ zcY4bC(Sy5fZriq?co$@mcsqeU=bC*$%H!Db1K<2S{pz|>M6|M|&6rUF_!k>>GR2)c z8;QETJ*{N=>(|p1MuFjXUvEE{g5XZa;Gq|ASW2*~8`0`Jy|J{!6025Eis3@0r3q;p zAQEEbBq&Zx(RhY1=csCcAs`D{2ZBS5TNoLUM)w{hG?&y_O+F)}!1M07^aQ%ob)cU> zvN;ch1IL=qmi}J#0TVKx$MQ-{;HEP+roD*20Br(yz+dO`CMN^8%6sAk_XPR!s(o zUVTGIH;y3?huh^zpusDoHNJmeqo`{hm)?aC$w@1pW_yro4e!P;m-KXr|f-r z%fwM$1tleiOFOhj9196PPS}w1&w+YBrK$GqIB|qWa8dP>KM)V?ytq^P<1}nu_8L2K zN{%FoD4}RIHa=Mi-HzP&?faS=I!?NOcUBPzE$;Fqj)S#P1#d+vF(pD!sGW#pwYIkg zP-Y}IxUM({|IOw+f^MhhnANvtPtpy*q7i&IF-=4>V+#OdAU+IrH|C4v7KD6N=%2Jl zBzB2;P^}>f+X_8P{ozo7bBD^p<})PE$q;8H4mi=Z1u$CdDZJNkLMDR_GFliBq&&4o z?V5EO-5r~-mOWyZs~Fc;CZx{v;z-e>mAxA(ltTwZ zEp2FXzebH^As@H&{CLGl z%usT?>1$7O`wS4?bOhey$&)9D1Y;+#A~K}29tFXRyY<{-7*6+#>2aQzm0fc^q=2}f zs0=;e_#6Zigp%`!El6_HCv>P!B796Rn(J$wg`AC8Z;UY5gDTm9KDDyQyr&=>{05am zaya1VS|AJt4`$lPjYTA0Xf`EMLPEmi1L$W=?wqQK;ts--c+$2SRR)(kadC*B;9!XMM+Hde;P~3Wv`fC;#JO+Y zv?gGmbV6(2BXbzY9xMCz^TR0)UxJsf}SMLF^q_s<`w9AeI-&5CQX_|eV$fvHgn&< zJio5Jv8v$C^rQLr{6`-Bs&{@+PW`Ye^Y$E7PKg^@4W7^RkTf_blaK8{$JRW*T=8>~ zXU2sF&P>ad@Fb}9(A6DSDuw42F3K6+Ik->U=^X#Rrk=e0CBz{`GWkN_8VAxDWrQFQ zMiF|XJ24PZMs6z!67qBq7Un2< z6q-`8#=wQWK|HSjxozC;v6EIDBtuoj2}@*IX@QD~`nxSjE0}Kapb1KN+ip&kX`M)E z+=7YXL|UGqF0eIcWzjU6vgHH{mU2L)4`9XZfXo-~AVe)GVv9xT*Smb_hGmZkisxgII=o0KjkTIs*@2Xg6_dyETxn* z$Qh5j&4)inWD?F8CZI)!({s_2dr@X5X;rtuB_1#!4IHuFP|3kvi(C`e0WE5`QUTM! z0VFJMuCQv1d;=4eK>+s;v?cgI!-9(sO%hSg$|69)8v9c1a5_%?4fACpRzTW98qS#3r?65*$`@+m znr_AWyru{cV^wz&ZMV}JS_I*B?T-5eCHOqJtmcd>7)4!xFRU^^GkC|QflT(7^kso} z&{Z(F(8ENJM=;^Q5>oi{fFlk$Wq>2yYGJL5G8MOJUE}CKob_*CjNJ>(@rgIFz`X&Jk zdB!pi%A4y{-c1ci>|ek{gYgnoBMEUyOK~#}^OR5_xkj?Yfau|nh-8xdblW>MpOX>K zyBeu@q%*^shp@RwuO0iAE&qnJm+)j@=p5Z7Au~|`x;`a#1e#^Jr$IxVH>sy}+vOsu z+JC&-Wwd~Dh;c)EU*Zz1b<|v`HOxW+M9>J8X$KQ^YfVHsL2q=^F1<;6P^9lg?PkVpiG7N{sgwt8*>y||zZcM4Rv(C9vYYQQvIp4N*B(pP zB=hYYq$fpjsh99%txWow!SS$hI<2HbO3u5QIS=2cO%<~WfVT)tYlQ7P*?VH9kbqo}u-m`Yc`fQ11B@{K@ zMHdk1WHG~lB|(UNoet^Hbtu<9(j=jfsr1q{mOxfZ(~)RMW>ae&SEkrZbOaB})ko;Z z4vL8o2S*#zy@)tA3eO{jUeEYQ@IfLyp*zSyh*u&uO&Mh(TnKC*DMaYj zwD)2bFyh4%*!Kkb837zYc~@hPVvg+5UFDF>xoIFwp;rGNZD$@(Rn`6d!=T{ApdzRU zinF4iWr7lzh?<&H4rmTIS0C|N9*>|sW0AK9>`anjEt zkyWZ;Y3%}1Si$^-1RcxmMz=i|Yu6 zum9?@We}if{t{2GN=a#Ngv%(Vf>q}L;Y|l;gjteAvEt^!u%KJ$cn)lO^5~=iGO8Yy zzXxaf5RW&77&r+`3xt*AzYQVxLd0>3E@6P0I{2y3JuX-jyjQ=!XnA%FEOdSF>W@-; z2}~Gi9=JtRXjuJKI*rz#uyX%VRiw4uN7Py!7SzI4v!3h(TH0Q5d+L<`^hLs;z>`4H z5eK1Q1nPT}E&|r%q&FhgGg`{5Iy9!EygI8CrAmt;feUUDkRuR%AEYz%SxMMN;VMBh z8YtqN~ z!G{&;R$}q+HHCvjn&2Tq?N@MXI5L;xTVXH%Wt@Cus6FfOQUFF+F+^$Uv#2Mlaw-B5x# zi%~XOR)B+nVhF>yhe){-?n-!MC!tM?MO}dhxO;3`$s$_L4?qyu3#3HBwhIPei|O9C zU_co(qiR7iNH`vf)lVepq$t&q$zyX0B^rNNkbg+?geQW#?GU|M=r+^doL0sP)rp6S zI`go_d)*+1nD!8{5~-EYR4p%%pg5^mvGGOYfq6!Pd-wvImL&Ko)v+Fv3ju1_TK>p^ zRr%#eq@&9H9;0L+GJ6RML8t^1HI8FsBtTbL%6;Ty5HO~o>HV&rlO%AJ4Kbc@ok)wC z(>Iagytg#6qxZ>XBRY(t7-~XwJ7HaD>^E8bJamNU=aFj*qo}4LiWlm9fV}YL&71vL zN}JqU7Sg6hQeaK!HVVeom;AW9KF_OiuzFp`w7vo2tZf6~`LgP-=qe<1%8o(L#PBQB zytRdp`&N@0`j(2M+i1J8u4mx1gPTi8Pt$o&4JBYRX-IQ*bWxF4eWU%G^0fN5W0|41 zsf2y?ZVUFnWIYzxIFhO}4J@4zUaUrDuiDrS;7k)qGku-G|6s7k`KnP=zhl0ap!tuz zvZ9tM*f#3IM340)wv7NYnB{$O!U7Vk8?Z^*&8loB*0~__szF_T{17g|ECk0Qag3Ii ztE)T&G^C8M!h_nI8xu>0hY(bWJq!GkB~Ed;grNl8LH-evy!sllp?VL&s&B=Fu4a7@ zg^OAuNib1-TH34H58@N^ducxbS5)i8+WC6*B212a0kGYKu0-!K;U^Ux`F(wK85C_Qo31VYAk~k{pB0->v z!!6g8_GnYJ!Kcx&d{{q%B`Hivv73!TB-_R6EQMekUi_hlpvME&RpC3Kf2t@QfNp&z zs%+|u;y}KZ`A5u*HIj>bdPcQW1za&PVlFZ1Q_b%{BaDDK)dpknZ{}32nP#y z`^#FnT7; zVA7-PO^E3Q@5hdZOEL0paHotk4ipGDrQ)Q#J~O0tO{Zyk7M<$hu0%qnfe6?gs^79l zQuH^cECdsyhg=uPc)6Ua0eC&cs+pw40s<$r#`Q6A$ebpD1cq!a^PhHHhBinWM4*_~ z8#Nv~a{pI`z^LkxG?~;q2IvHbp=2UliU$oGfO3virgh;m8X8t0soYEO%mcJ=sfnOf z+D-QawfU=~qXIy!fxfTS(}dRe|H@O_5etAgJ(}XINR^mK7BnwU<>KbQp&weGCsF1J zNcxZ*fG0TgC1U^dfG(N++cUn)G>tT8i?0Atjycu@O+a6&nJpr<>Z$Z40bp#PTPl9C z%w3uZQBVcLV#Q3E@A|2l6sHQ_5w0g|<#r}L$`)UB!jg(9JGq8z0Zialbo{PZ03oH_ z{-LNO`wMAceQZ>rsfI#RRelWCh8ieKDSqE}n@l)_xHZJ1t365ROZGFSM80%ALyK7y zUgp;{N}gulYN;|6^-39!gEO`p(Xv{}TWtJya^YsEkZA`Z`4n1HXZ-HGVIasEc!VVxXK^y3vDylICtO}3?YXXBAWsdc6k@jK7(=!G3c?Iu1O}_s zh$ZR~TW8@%snmK5FtR{xHzF>ztY5Wq0RZ9Z4#WmQ;h7Il)foCGjWb#pEk$)@-|Ij9 zgq}jNib1Ll%Mdo=Vmyes!F-0H659jedqfX#)Rulv>Y^<@z`ymW8(N z|I1~u;~0MI@%$hjft)jR1j3og>;e>o8U3GRi zt`eAZc1frj7Kgy?_)SCP3DHB?iil*_7zi27io@9%(S1Bh9^f0p#-wd2MoFB1Ezvwf z!QuEBrWEYVoEa9naz)~#WmDEb!jtp^knxQ2t@AL!5E^`%TbfQ#(9K3npbJep*TEuR zk^0o}X{>t6pOouF$!Qx*@uhfi@ipB0F@%M68J$;Mpgll+Z*dH&VMj+n2u=rijpA*? zDramtu`s~_txkVe6#{k!M%IW9VdY=Jj0>EGx`(g&HTt4kJ8p3dL5WIgB$iDl2?}l-VFXjJ)-7MR4=1 z6dgD68huk}dTG>ENihl$yChOUuBA}AbtL@;!fs6M1@J<|p7BYpaP)@A@T>D4A8W-y z)Q2jSLCfLTxdtjR$qpWF0P(7hkJDqNCd`2R@mmY@0Nl zNmoY+#uZLM8`OX2*t#yL(#1G;qhk@*8bCu{^W#WeH#WTDgNkG5lg!#O(OD9X-!UQ~ zP#D+nVaOVQ_p$!QXiSHIfD467T*;w>M#yQ3FSMo=q#mb+-34E#)ug_8$1X0cy27M_ zG2(ZLSc8q}Rs_2o0;_OsC<}KwC6O)_qjFx$W#LMdtYQkPHm2xsMj-uUu~_&NFU`d7 z9>6{t8_9JbLs(c&3{Jeyq}w>uM9`En6}B{g26{2oCQko3`U08y-}`dNs^A2N^b%4R zqq|)rncu{eg{sI_CYnxYT`G{3K7)zfKHm>2CDJpR;PvFEHUk977k`26}|!44Yk}zXsdUgfjLv9w*vfN*YOdX?1)eT7>Y(7745= zTO;|_6eoZN!lGK2As@qDUdPNC>Y1`as1V;>JPHZVabk;M3DJ?bStDOZgGjD2V~DIJ z#zQ@b93dNiK9g~SUXLW6Mt z4@FC8y2V=Btxt-F%b@{?&MN45qnn1?}Bkwk^knD8n{Hz{TXv+@Sc;f9MdRZ&kwqQSJXBVW`&`4BbJmtbkRk z5uK`WgwSge-=p98_)E-iIMzcF-CAI(K;n@MIq3uA#E8$%X;Q)IH?2|} zDJpn%N-2#%nC$d{Ba%)e;tzT|K%122c9~nF9 z+CD`d63QC-+}x{~D2U{684N!m=cZ>ncWFeCI0j|V!F;spL03}#Aft9#kjtRdxUlQf z!`TEk;95mhN>+rRa7JZd6RZPp=toNyxBxXREt3g=;}MWmXkj4zmg$r;t&8kC6zT!O zaUXtzXCW{!gm}_1F_J|v0;$E_44a;oSvB|$dn08DM@z9cYONwPY-Q(r#Sh8^p15tK zPO9-8Ag>Xue$6lzo{ljRM}2jPmu81;i|px4JdPs$P6KR}qB!8xwVe~9TPf~ta_3`J z616*f>&M!5JxswF>H~aEHp84k_l_E)H#UmO%^ic8gB07K@(Zg{;sK4j_t#ZHs;wjb zXiY&Ev(!x#Y>}3$uQci_A5fDc_54QQW7QqY@PPz@QmfI?s_-KW5pXmfGRQS(B7(#< z-O^XHsZ5<3_6@9a|9t`eFKRr7wiaRxGjt<^Mz2=Dz2KW@_5_QvnUdCn#09+y$zkx% zbRU?s5vf*9lw|U85TJ3F8Zx`k z8lFk=9r+GvBs2d~olA^HAOn1>8l;6gS72U1utWhP%prXPJdWy?L|MmutWgJA;v&|C zu(=upSQ{{?-^q#&-4$U(V2YcE(SkrWsONIYlM*^L2!NP%OSOKx1*!b5YF=|>UmdvyXG>}LK@ieUdF+>W!l1N5P>ACxK zNB66%|mLTn}w` zQ_7=MTy)NrPJ{6yw0DsZ3Zd&t@<{MMXmLDCN7%kjy8;JCogaAtxP z1s&88Uq$n)jIPNU*+l`S=@_n>@jr!Ma@G@1bRrbZoYDg+*cwekMAmS%n5$PSrB8y1 z!ayn)Ow>)QZYx?26dI%mr3N@ix$g{Xr4nX{s=}d&hD}rohvJwLO@P~aiQdlMTJ2}( zauL_T3P-6BTsl&%Ce=ojhg4ufo$b7QyLD!@PNM(EeFaX0u>`@Ul%grJ+>mJQEVi>|_~H zNrTGKW{1|q_&NM8Kcx%7`lN;3aB`f#zk>jNVKGa8P=d-`5KB&c!=^0t$9Q< zs}>-2T5X4^&j0C}WH&=EbWDKWg?lutCTaDCC6e2^Ilj84`B5$c(= z(Z4Qs4c>tP0`ixwoR~@wpaah6X}Kis`x%s=jOt|(=DHlQM$<@w-KnpVN|!i4y|m>z z_(+2WVd_@o?qq5WgA?mBDnJyCCb$Jb3U8eDtHmNPzdETW_$WmukQDQ3RItN-i<^Z} zxcZo!WnRe`v={&q?{BU zGy|b^b!gx*;2cShP-698LjGm*Yb>#OxDDzJObExxng)Q-v;I#)PZN7PLqDl4yn;2r zCTS402BMqL6+f6V^|_+i{f%WL48jNe5Cvd0q%q+ZYN?HfWH#h;iC8lKPy20vV^2Vz)>k;G$%&0Z}!5t_khi4A@zf@6+;h z)!LIG0pX@3kt&Ohsu<%T#dt*H*7%DWN|Xu&7>&jeB!3pTn&@ub^y>r%(H6?!Con+k zDbrT#82_`cQ+NOW^L)XhAgGQ6UU5oG8JNf5UwiD zkuHb)vpE5m{MUR8B4H-M>p++vaC7hY)^NZE!L@JHF3D%r! zZKwL3ad2-ya%qJL6`W6o92?>y-LT$bz$DpTy;d@U0LwN}m>z^7U~tjl1z;8#R@SBY zM$@BJsIeXNXf_0+Dd-2pRdLBJ;a7OMk32Gv&%*f{LjCX^hU6&vj_s-Ph}^dD2jfTx zz{wN#E=VF67Pp#~=^&l@6NNuR_RINyz@I4sh;0d+R_!7SU4r1#dM`i7lqnKXMZc>^ zh3sFS=$3sQw{!w??wh13uOi`S=nmEN8L<f>XtPTjo?X-oCdSCnGSCm$!d6oI_e~VMpfP82jk`K@y!sr6> zwWKk_%{3dFL`R1R4zCx~mF!l)xv-1TS4%{yYf?+3+psk!p_k^sWC8S;5c|n16M-;* z)lmOZBe6p|Y`7(q-v3KjET1 ziYvo^X)Bn_S6WFZ9O~tRM?w%Sd#ezmxQS<;m&9~&%BW(Q|B6)gMNA^FdzPjog4EF0 zu?GQN!e-=+5zlo1aaAMbs`XRw*C2z&F)WvsTGSZipZ!y#)kr+7VNv1b`UX<47u|4d2e4{0DJ?reOt&i|lm_#>N$tbcGpww{E)%o666y+5^ql0(# z$Z6$Aa1{N|W>FU~qER)h@xE>)>7iby(nETaP-3L#538U|vlYoO*Ouoe#@?TkxamxO z!geUuY%b3aT~Dv^-_8M!i}9M@-+m@PC=Bm!#p`H#|I*iyhcb_xd74>Op5NZT{K=_# zkp3?I{p*8)1?R)#pM2l@^y4FoPQR=wrz~ze9|Yz7=JDe9P7c8ZQ)Zue^48PDmm#wg zD?fjlP(Irsq;!h>dT7H)&lep~R2LMr{etwxE|y*u^qPylQj|xOPcAQ&hs%F|&YA6+ z@+$RF-rq@O9^g3c;=~2NU92ogAC~p}{+v7{n#;X4z%l2%nPcwv_h)CLE_u)I=RbnJ zTTW)UV~%(|2Y;KBb8Eo8xi3v3=axTN5K!{lf?|ku&wE)}5`fnm1OL7?`a$T+rCim; zCBISb5xlO%>nHR#s`@`v`DIH@m0jg3x92LKdHO>nHH%W!-uY*_s%DO7W6^|5@qW1G z{hi|diOEYXJ+G7I8mgN{`KY16mU_|B>w0C0*A=|JN`L!0@<>+9qNmxg1l2k>q5Ns~ z!$l6cM|wMEJnfyIwZ!b{hfjWZ57~&|-7jxz*N$F+EuiF>?(mJvzX>rNC%b%W_mo{-h@fB~&V&(PaC#Q;jX?^f? z`HeGBs|v?|W~Z~izaRhj#{HnbHuUiL`(|r0xyRh}$_M`UpHPWCif&$1Ubk^r^hpm( zj{>U&4?gc*^5C}s;% zC9>PZ1rM%Hi}bkWZRv5H+UvIk50hcTVOeCiBfXzKB0KIfbI5)E!JKT>o{OGlZU}eC zT~eN(v+jfZjCJ?%xyugO+?eH0+xwGU@3mL}J4P1WG_edQKYYr+WaolH*tj@}{28zD z{_#I=-GLi_O?LE{3s?5P+~UE!d%x-IS$-Jr?eutlHwRk@o&MUuW=k>Uz zao*I{mTxPs;k@CFin9vm4VRr6jX({fbMB{);M_T)G1%GJxdVi;EjOOdzI*@l<8^1? zxdVcJUt$(tiP!Ae2^ciVoS$75=KVVfBg^9!iW}>j`TmoCZASP!n-M-Qd=fr4F8Nh% z^@!X`bsL>qTn;QfA5PsaC?lafo+^=dWD$hp1_bi!=O4spf8RUk?^^@J`{8tc^^6a(r*{Q=MN?dysUwK$c2jXJXO z`t6bj7c~RojTZRsw8%qQY9FRCQR%~Qsdc@dX6W3i+L&4M`}}=!yQh!v{VdHGkhjFl zA%mtn8uaP!yTToKI>dCIrJc^j7~yT{fB(}{{+R3L(KN4_`{?y1%zXpmG0(?WKJOi0 z{&Z1LX=b?m`u@9^_`X&rLj8$xCy&&xejjeVc)m?ZI!}zfu@>lA!&*RHyF|-t6Iu)G z#M3pX zB`dk!xcC5fg=cA>bzW7z>pY6)MmdkW&??;i0={;=XvS)! z|L#Z{g!qaFX%r5Q>gtzsZ4YZbF8qC${i45a(Z8K1on61Bb2JIU9uLSFY2h)qEvXt( zvKh?qEmzyROwYNNL&}i$0aset|KE3+A)D36D3{4MtuEnLuN37B#sr zaGHv?8Ed5|6HAZv$*XP2`cym%_eWOrO_=IhQBJCRX$F1kYgDQ=SIS|bD>V>=)vZ>d z_7Sbuc|>?yPQJRseRcffr{&{L&-HwN?~p0iHqVYaIw2*<#XWk{Q1>sRz8^!rf*)@g zb=a43FuMP~eyRJ@W!dgo-?koiHn5wS<3jUr`_DV1j&Yv(>+u=(^RJw@UvQz&-v8$f z&Xayvw$$?NW!@IOH_zxCb>fp>yIb^n)Ms7q%)oVSe-3QoGV#Lsa0ghW1^w{5@>h@9 z`#-uxU$rqi^eD_^4E!K`?sfkG^OBaBo%qkysbdcLreI}pQT^(SRNwEXb~I}d;CgxI zT#o_vpS6M2a^VkfE{hL;U4?e&^~et+njO^Ut?<-K>Q`-2$9?}v9elOr<(+}hpvPCE zyJlv1TV|per~Z1}$N7U}o0nR6Zq6R+7SnoNuZ_urqvsav3ZHvrO8D_lk^>s*p6YKZ zKQ&kLRK2>cG8q$)^p05oz8i4e|1$mi_kegpys+Vf#s4mlfUA4!4e!(vL1zB~3ozHIlhi|8jJ(58``1EWo`$ZN0_H%D8 zah`BC0xll#pw4CF`Uv-jnd9UtwY=N{onL2-ER<=6Y)Dk8(A1#$t{=A&LfrM)SD~L#k~sCE2L6d&XBL?vLWU-E&V*!@svUkN;r} zRr7SCbvc?}7ESc_GBi;XnrMgGM492oP#<#Jcf#$j`?t4GvmVgmM%JFeZlyQ9-SETX z@LafU&R5ajXKcw2A&y4d=8f4-2JG#?f z!`Hb#^`(C|=`!v*c?LH_jh>}(%GcZSnw~A?t`OaIYO+zPfh|qOeK);ZXA9q}WR;>V zo!wySFMEeNTy_Yxr!v>Gb(var&4xQNTcdOeTO&2fpRG~YK7g!&B;v9)hQk^|^{s)y z*3Hjdwnm4`_6wZ#tZ_Qq*FP!1!mYsX71o%i_OoBRb0eBLUXvT~szD>JTx#KtF4KFR zUi(+;q6UUMK7;DSU)A;QxU8@()H}!l?B_i=#yw^HaqeH#&>F{+hm}m#W`B<`7za1G{hr}1hR}%CzGvsxQM8Pk zHOpXTRiBDH_U;8qChk}exMQn8|E9^Q^VlPguqeop3%uv>;pG_e<`tYbVHtST4IX(mrZ^lY@IPH#u#1jWGC`!%xzgUex7qJ;6 z_=$)ain1A0rbY>L*NeK5iFJgNQoiQldwkafWj9ZMr(KHz_|n3Pg$Vph_xr7=t8| z6i_rojBLx~=loeG0!a9^X0ZKy%WhG))Tc#+3C<(cjiI$<3 zaMpyjaIaJJvyn!@ATUMNFIQ>}Ju;m?qSlIkQa{scON!Ibyss;fswOV$vA@!}^g1$O zE55V#L)KY#j(-`e(lHhalm9YQgg{pE9YrHwZECrLR1@rel@$?SXwWA`k5hb2F`CXO z1|?jj()$uPawJzE?zkfdcM3XxwY8&&lOW|@4Rnv-1%;89qK33%K`kMnN_j1eD0GG) zd9;p@&;{$S31v`1OjNOL!s?etKs!c_kRdfDofLM%{on2K-6lj*De5DtU#A=rK6Dhp z5w_gBwVb}JoU9)lF=F=>BD^GTgoz*_0fN9O0)azVB+7vdEolyga7E*bH1r_3x_eH_ z`f*N(?a{#G)$V^>`nrr#zoms%%^S6R;+fBl*8gYLEGk;CHVorc0RSxji})_m`R1bS z5+cvR2o*X`T2T~4BDwOrMv7{9$JnXI>MPMYeN62z;L71b-PM2@K!wvlo0DnCl*0Jc zBWg(aT8ZOuB6A@G-9!Q!poz2q>4DfFu;3IhV9@M{wQwcz@$Brcr8XcKkO2pTDWlLL zI7UB~CuyU;I(1898cJYjVzfnwwRpW0e#hZ8_{I!4*0+O{=!kky0%L(`3J%i5uxK3% zzsDloie7djF3~=X8gv{h2+Kh(6p_;jz@i9NYUPA$Y~^X>bc)L$I%CitZ9^h(N|l;s z<6uTFHQKfzR|g)aPED-g}f^Zyh_LT-V1(r(3?$VlW* z!rif6w2q&V)^5765NO~2JN;|b<&_w%YEdhihN>ZS2tz2AXj9iQwp74>it0e741mAL$>U7%%pfT6zX)4r-G2Ma0>#IlMCeL} zk+mAB&~mrJ={Ki%QwZ}0(yD{v3n;L~40B>>0`lSMeu?B^gj}`r7gnX5_6w?)%WaYn zh{qblG{s<%s~@>wsK(2>t0Dk_w3Rrt1q%v>m*2@ikck{k<7dr6+x?cUTv_K~>D~ne zS;dns6~`>7`)qB4@4ox4Ft=wS(kJK63!4I2d4lRQX40CL>iXK?1zBC0g2d5MjeQ_2 zB^N1-;)D%?fsk1jm>7rn%wYv=1oeuLzH?pCS5pT8XfJSc`lD=wikch|8i(7%p zsvJ|Jw6Tz>mc^gt$O8$>L1G==vBJ~jI0zqW*a%tNlpr5%RFAWf(hznP5_DmNRya>* zLj4)>9a!dR0&YOs;5q_p8r^ll8pCF^vm(YlSNVpu!6K!Nw zsQDpkU)g|&h9PzwKZwv6XM$iZcjIR$&8Nm{2*G$XCJ7?RwY1jOQrCQ>5l&7b_m+KF zp>iNelCk2sBs6ZSl#T@BWy{JM+=gZSq9qpLazqYiM55B7?PCGUSNmq1hS4<_JP?*tx`bjkjZS5fE+zh zWG(o6%4(vCr(mAD4k3ZM$ddZl&-%`yvw)UYilTa+`!dh7q|NYM@%wjXW=?6>u3g~E z^7O%;v3nCdhwT~;(M_iBvrLt!5~a|>zDkj)fD}E*gNGUpA{3y#)gT1yH#q4%z-Eo0 zw~#0os>E`&ohb}L6uBpb4w3XH%SvP5z)D?t32XMc5Sz7e^c>&Rhv6$}sx~Z7;{Kw8x>t9z-I7 zqyoPxyaSUR)kpry4hcO$=s2r3`gWA81FRU@H`oQ=BD9ro)y|Dqv(5;cK-JowGmytC zRU*52L!kNK>RGRvLj5ozsev%s5HC&C%4SH*s1`wJbph5UX{q zy>0t;BP>jX%oHl`OKf^ZdB!47{emIpQAFq%BSJ?ln10X}hfC#Y0#_h|qp#|&9}AXB z`$8v#;~EAYX)4PhI>S_La_+QpvyiX>_cjY7mZcQ2G5RrBHN`Rs{cP^{|Cv3zHqvo| zu|-MrTDC6nrHV6P<-jpK7+U^6N@{DKF9c@!`Q3Z<;-!$z8EYD2ULSrnVy%$8;BXgH zz5ghLS}lY!LUG#)J^9+YYKWuF{b zH>fSi?Ri8}VyjnS>1r??l|I{wQC|^8UY3xI*V0@|H)zk zj+QN^1P$pM)eZ}soi|2y+5&YyQZBc@ym^q#nr={I5J3bI#P%r!`2!aahF0p);G>+wVm}Cn<_O z7<+!KmI7l)z#Z*1g=9@(oG1z$W0XnLp?^2Y>`{A{k#a9ytsh#x}A#WvI$ zLvc<5#ZhUcEO0GCHN~%L;|8*n~1*a%k1FFT=Xu<~M=r1zs^zN_w4k_J>u8ma)$DO@8H0Zn<^P=$I zIJi)P7D!whfjCVzYz;nQJsOD+0OvPo@EKMR@cpZgBpmbmGANJ9%Wg#*si+L++kELk z364-oY1DyQhsFn#^(VIZbI=Jo&uS&;7`4d-&h?uop z=lyekj6Q0-4UI8yG7?+Fu>}M{CGR~W&yOEWO8OMWX44`1p!D6zlN-|VIyO#$mc01T zx0~C?-G$Mx{G&1H`EVP!;N8AD2k3KnfKJ~z$qAzKHmdJ|9d8gIfOJlG~kpR0z%#wdjU-8tk{h> z)IR;-Vc&K_-XAxM{Rd}BEsdIlolBPEMYYoOTu&nrd&GUvTNQ;@18I25dX=<3x|3ly zplBSda9-PWbQ0+QEFwOQZvNmF8r@}Cl^OXean0vRE3d<2urPcOnEm6~l5_bvcaDa% zJsMisJgEGB`qk~}6=NnnJ21BJ&#{Ty79WQuA?r&Go z!7Y@U4;VLrLW$FA61=qAQZS?s5|2>@P9wfj3T*ct{uj3mgIVO62MoFdR8@ePKHyh6 zL2@aMf0mCer+kVm(n8YsTfT)w&?beI(+KEVd$$!`p~CU3=?IJ5&zU5YAq1&tCaZeN ziu^Y#ZqvLWR{Iikym1cP&~JndoxQR6a2R6LX|_R}qbyxrEY!K{_w(O^!)Xj+jiZgc zvA1XG@?ppiKu3!GMv(F#cQzq19wFq=S@e)TsnMQBsP_mV)qQ}V2-o_BtT;|LSifTp5mC-Nq5qiUyoZd+Sr8-% zSBd;n9#D59aZ1=0WB}66VAq6G=a#H%u8}Jz9dDf+J5mYBs_&HOnT9zb|PSZ&f_6uDfP^!l*i3vyTfI8`XRmi;!J2Ex7_Jc|j%k7Wp#L&a} z+7#k$>BDxR+wdKhP{mG>!lq1}YAnUQ*`r6nsl>{qJ!ai4NOlQ{$qy+x6a4Jpuu{DEz_kyO%O94y$CPjLn&%RACgg>C z!so+~*Boiq>>Me6*0@Oo$vAIFhI~KiPc|paVk`+B%LxgoD!|8C=hfK1?fA9RAaCQW3evQU;%)B`*t_%Ocn4+5zzp zdnOI-+M^)~Nw>+!%K-uApZkYd_7PImGjQ!8zp3hBo5=6w(0f8-8S&cq;```A5K1;L z6=kX}xh&~4pL^mwl|+>#-+*6nk1=5M67!#j3)StWTpfN2scu{78kHo(sdB6`PTJ)- z>(fY`%M$8D`#_V>UMuX3zf}Kp6Gh>ANIRc)n_4T#z&)|!Q9xVASpI5-KG*b5mW5wFF~no&z7Hz&8ju$g|o}zyy(EH z=3W=)O)egBWAS5Kx5uBwK6(^gvF(f$7VMc?nONqWemae=q7S;{zHw^Yw(ZXga-z?L z|1`PmotT#?X$31HgJT^J*S6k;3~5cmf)ip|nnU?la?TlKZb!vN#g}2zNq7RbpD>D^ z+IG2YU0?a5)ilo;D8r73B*Rs0a@;#>T#FT_ku{EU*pLirQ$4|SSNa2{VTnZR(XKv_ z$CpLxTXy^WCzrsdvqCS}OuKn|CpSe%Ump zAj`6Q*^AuJyFz$8x@|8DdnGpz?Dn^G@5AZ2I7arS5Yaw4x=yj z{|aq$6F)4+uw~`^D6kP`JEj^*t(fwp6Ql{@8!%YX3dFrc07AA%D;~HffY~!AsFFj2 zli|zTzy0>(yqIE-u4n#gn1nn{*gVmp5t5l;V@^roNlv_@wEo6lx%=iMZcbhGLFuhC zUguNOi`!1BSeNF1JIFEP(7liqB@?^h8uOFNyiXL+U6^YpybIkeKfs<3#T+v)tb zZX}lXS@*U%9SOH`@}2eWo?wu7mLhp5?a_%DBlwdzw1z(7#vgnV054ibG27QF$83~0 zdxnG=6(4v#;D}WMDV_1rLtVNhrQ>0&a8w+1WCN8T12UsggqC%< z4F#ID`p8j~Ra)SOGVdxyxTc_9+Ay~3R99mKHV|uRM*=YV~fIF$mUJ3QIwuR z@rU}fCR1oqFo`GYV(q@<;~oY&?KZAxDXh1l%3HL5Olw*+;esCBj(Ve>kDjb6>###6 z4#^)haHuTw4&8ZKl3br=M)?Bd;fvo zNO48U6N(;>4M5b4Wo7A!358YO?>d%zT=jhA*S|-!MinW2z>JY0VS4!nNU~FSzc1Ev zw0u;(fc8HMJKL0&B-j8!(O<87FcGY;u&!n>kmbl#=f)yOL6qhGMc9rO->qgZp%2a} z3uw?JycSIv)7iDE4za&oE)2MiK=fgwZlY)G@+#lQ%auh#0F;jdnUER`cARO_76Xe zYa!p3PCI`rC~!=;KKNl!wn(o z>B8S99;T*;JRdsg?!;PCgG0Ya49@HI{Z_NmKR@tH{`Kg~`ZLcKwf4wA8Jlq~+A=HX ziwG;9C}0r~N`DtS&xk;534z)<`_XwWQF!nmoF?$ZO%$G+QCQ(^jJBAqomUDhPvPon zL(F{C3dScHqs5{SE)0EeRU}&iN~J=6Bg0y0SV$}?@L>i!vFarDvK|Q_asg_CrQobR z3?wSNC6kV z4zp#90k(9qnT}k+fEYuNJ4aN9$O5okm5t%Icpy`_Aca&7Zw+aO#SLj{3WHYDy6%|7 z%q;<2Vy9s6StJ!iNgFk4Bm}@uexF{_(*F4RkIe6Pt?D?Z{IS*V!4F?vj4Vu>d^RTU z&P=zmT9<#CbS&=CCsl>1!~ApLFO$6%)t{H#^7zW$`3||ZjxS8p7CmY2R^GrdvusX9 z{e8hDlal=Y9A6lW>`AKb`=5`S0Xo8c;Ny4aWNjMIabM!g<`b&U91S?%Ja>b8(emKJ z)40Pw^PkxtLlCODwD@nxYCPG~{5$}}sa{xPn|_Au!%wl7w&N&~X}u;#;@ z4Yl?pJDIX3E}HOEQtsz$N`6S4E*wVk1jZRh`tnFdha&QlZc7mX+>F{`SqgI(S?dJm z0qZJq^ZZ-Ta09sW^PL_TK1JhgnHm^KqQqYof3cwOvZa0h-cqZwADr)YeRMAIg?;*> zhYj~Wv%@rjW0nUr}3lq(6(Su`6D{$B5()$zFL%0nF(-NnW+!Q&c5=&X9o9Il{96jU#oE3H>@&703!Nmt6UEyf&qJYwRE^=j-Pn zV5@>(TzU1~B?)@BkF&I>v(CDDze?<~w!hBN zu*PzCs#$2hn%H{S4?px$6Bz`PF$wrm5*rv&uA0uJS02yW^<{=qis(S+pp*~>kR490 zC}Aru`O$8?K16y@tgtXXG~QC@>$(Zi*npvbHpU%PtZV%`#(>p0Oo~&&1JI+i;B*ml zK=M2{wrX36=X|&Hs;YAL(z~(#SLd#p-)Zokh8HVCvwaf(F1=zKxuIbp zuwY`yxhI~U*nb5)ZytIre}QxEw8YXjp)Y@pKK*yk$&Zewhpdcj@!^+ue>G-laU6x> zg>n*-#^8>m_I%gU(9}WEk8gt2ow)}s#sy?slODGQJ>{p`DYPO9Yk!1^ z8F&&4v3DS*lQx7@onye^B&#WFB4xIhUdp2NC_VwMe(&17i+v{{txkgV6f)^yK9^cU zlw7||I0X~PW?Y0hEduC>4YQ`o9`lu>P&3!Sr<7bzEf66+2ov+8H2}UBHhMzft=ZDe z#&6tM*gU%8&-bxDOMdVy#bxf@$47US&vVQ(G24d(O zxemq_Tx;ElFsSF%MO`PRE{`p>OI!3?e*B2LMO%6XuQ-vo*yUE2&XN4RoyAd9g zx!voc`<&7@^AeuTJ6rH$Z06Fjk(4zrHD*@G`7 z&$t*`G#EP;?oWhcaMdw_)M&9BRgq1%eMukxM{>j`|P*&l0A1 z9|`5x?;Tl(CLy>KVXsK?gB8=7b?Y!u?m=d>3$E>M{jwF~`WxLnjQ)IoEaWExFZtt6 zdCi(NxaIxNM}J7bzHqv%M1^*2T$fUa8G8+G>@z>Ms@;+D7aiYh(*Mh%9ko6w|9xNS zZ_k}AE1!1W5mN44^2zXX*%Wp_p|qYhF%8CeKcQMRPGpf zwRghxdJq2|cO&@DfFL>`>zrQRW9Xu?v86XIdXvYKFJJFAr`+D_#e?nfS(`4q&U!v! zP3hmyPZm9N42~Ea^329FG&pMSUP@p_%f5W?_1EZLjT*F7@@=~eq@g6~{=ssC)y9l2 zAZaYgT-S(>g+V*Z%~S@j2{Y~~(9&w+{4geBQ9*~*51@FN#Y$^mg6dJTNY=hB`y!GsQ7Hhz5k|UjXk^F(&3Z+V;aBw zeQZJ6nj{9loBU}b`vOV{a^|aMDGGh}f>>Yb~ zqWYKaHXLxxHy$f)B{Ku{N=*FJ?HL6!LdP*O47#U4xf-RmN|L zetTaX$yNIHyQ1BvVz1oIuUdX)6re^|N^K#JwS*^d{s(ywAm~wfKT;;5t7p$ZIDrcG zl4AO{rg6B9o}i}rmHWIBo4Q4fJCMqLulkBJHm%o`y7~JT|n!$ zV9y4W8M$9SsgHL+*}`qjB6HklzFC}>7P_i@-HSKJCQNGzd>_342lAM2tkM@*Mt=9a z=(hzg*Ts6?z2d&_l;4`jyn1&A)%o=8ZIA&B+`AHIh;0c8Y$XvOD~o~iUxW}d=s`Yd zx5Jg52{P+8Nu{uC499O}zmGf~gmaU`J~M>xkqkSb19X~$$wP?RH#4cN;c%Jhf_(@8 z*skiz?iC8~D}f392v!&)r5{j&k^7C|?x4CfnH7>0CG2ImsNz|yMuB<_kf}#T-jNwq zu!J7Ckmb}bNCn?v3ut5&?GdD;q>)|M36!~T zG4JY1tkgjd2PNj$Rl~Aj|BBhtPtwrPt68gG!yd`f;zZwV#SJ4#b#u$r3cECWPA!+W zN8vZyPJbAbpSv+VcxS$+ZAj6>(C#JMCueS(vv^g0WznVyr3ae22KIIgEVgya-r|@U z0%1o2_lnMFwEI2P{>JT;Iud{-v|Wpe?p-Si+n+8S8=F^@zW7TF zfb({|yf|#`9Y?PVALQnB7~T2Xl(1IYug*)p_we$;^p_28R9rY*-@;3Feaw1&o3s2sTB^|E8t9cU$1dJGROAzxV90QHn5Mh+Cv6=h_hIKU{ zxRlf*y|mfU;QXF$RX(SVm41-_sCU{&kTq#*U+`y1QRGsGEL!x>Johwv$BUwpqO-A{ zb?qEZ7kxNr@V;9s+78UQnu}eM&BXZ@FN3qEdboi0IR2$GUA+*8{6?={gTU)k4zPbz z><6!Yi2!O^cF_2#=ZD0WPOByNNJ@l&w^`|#;9$`sv2R|VdWSO@a=%|P;H~ZZAd%mU zh&E2hKoJhFqjm-93)+ETQyFLnn}9W4g!%r>yCyvN@x?Ri1#kaQD-4M%7B7BVLN@RG zJE!8F`COj6)!c7*=QV5BTHm+p6`Av_{n0#=$!F?`s0#I&$jA*UQxuD4qT!uJ>#~H% z-eRot78xGb^iw&*LG|9G`kd}Nf$#>+XjILluZaoh-|yXhZ$pLu&Qw{(+TWh=Ocv%B zkTUq42y+Mngbmu$H-5r5`}Z$#8BBEAxkVLxvv`ZWoU5bZ@fdx$*-!tFX6AH zXUlJgtm*b4BwG6AEh}-%BLbKPP#}&IuyzyxayMd$Df5FMVTY=yV-S_{Gmy2%uKMNwYS9T4hwXUQNU#_eTqg7ifKGIY()r0solaOsNj$Hy$Sz=^@La zD1Bv2SBWlA%dbpBCMvh9K&sH-=fFWdlp7&#Ftw26|9HsBW>d(!be|B7f%fyjRTN@f zaiGcjyhA7L15yfylq~K(&JpmsW%1#A!P^{jCS7ft7}zNMw_@)bFG_1Y@bc^9k#)S` z0>?C$(3dl+s>-sr`d?XH_OLi=Zqd~lRr7x}Z(g;q+pOsKX1w#g1rC?a58hO_J7}*p z2aq<*-+pNdT)}fo|It8cMjdE-a2=Qh5ZCm}k>_wdHlJJ{-p7$%i<<(30)-UoPmYi*_kow*P!g9vjK`6ka3B%qqq zfFf5$G`6Oc=HSn16-iu{ibiv9e2+&cH0GVHANPPh4iXeFl_@m+X~Aq>E$swlxQNoA z&LGl*aBVkpanVl`UTk-nm+f;j)75!--{n0HrnqNiw9CrLD~g;P95pz!*yl)9_NlVG z=C<#jD;^enAi%<__nc;Tjo-Quh>V3s2TM~9dR+qq^jX!$FRu*|*x*13FdD{iWRel+ zT$`kgy6W&$@pUJ)r)j|W8T!tO+e_+uxQ`Qk4{1O+iH7LYEVM+9hX78v6_C{plBSQV zxgh#;$bmoAyEo*eMj(O*7)V{&3oU7P?Iq%Vi8z!0Iy zX`!(3>@yVEK`}nn1`Vataf}5gsQ6cWv`Frw=5){vMg&SJIV%htOU5pf=5$ z5&m&^{3x3^=|SP9VFeXEgJaS^{b98ToYQybdjryA9g&<=H~-78TFJKk_Vk(e#pkMBZoE$WHR9crs_+`5Si9Xo_2B zc#C!+{V^-bxTh4Qg1}CsRV9P2&UBVGVpQ8z&P>$kShOZamKrdyT`%f$(!2#PZJ)4Gh}&fbj}JNz)KVd_#>?Hj|$eU%*^4{fL08 zkJE^QKsGw1r;~DILgME^mqPnIpa6I*>4)(TSs8iCO%;Tk(9GP@)rv^-g4+!RH>UEC zl#!s|bzHEHhSreU!|2En`VW*fL=td%2i#%wajNeAYq@UPCyg_M z9ActVQtAcX!%=)s%S90-XRF>1zLW69>d-Q$NA1(I^A|fD=yrEZH}k5We=2=3E6?O+ z(0@B#KT|s3Y+;&@#pGWRhv|2C$uE8$t0U0;jSwZ+_%f_uX*ccklgo}-Z=4zxpVK}z zFaBs*hqRZ4oxZOuEn;f#j(h(=r@KbIC*F#ogris2R;T8gS zhB%kTG7;y-xTXqb-^MG{M%aWODJXjo%;OZWyc4*dB%BrLxeom!veqzAp|CG5`Jb5;c*zwPE>Xp8e zcPBXC+G^Z|Gogj#+W z_baSyEKpX0z7hM}eD}@WpLg*pyVde&=y_v{g*TjL$Cq}K8u}SsoM`KHsoR|1EA|Hh z6~KYS=G8d7xE-=BAbwE1$M&%a!F5kfSontFvzUl?!a25>j#QFc_`oZQh3hQ1Jh5C; z?6~|J1e1^QQ(OS^-w1RN!?CW1q&1=_CH$Ac|4)waazH7Z|`f#4W*1t%&Fe7Yu3!ldPR76(EQP>?!~;dCFY~|ujU-w z@v<;IGqL0oi;E)8;Y zPIz$Xy~&wp-oEFbdob~OZr-`=w)4Mm1bx=2?!m6PL9st<_$(JQ<_hq+Yj9jqe`Ua)flVd1%-_+^&$?2f}I*sjajgs5jg_ks%4k#W`CTK8yA` z2=<tYIPYRb=6%PUe6N@Gr$YY->^^Via4**_X_bE#PbfNg zbZ%y(SMqYND${h&6JJi~dhuLhg>%~CXZr|oPcEKR((PejmBW#;yY1cb8pJ+YKBuhl z%*3kqJxVt9JobaDQJ>wrc44MaK)J8K^3AEjlVhu* zR^Cfkm3Okw=ebRTzsehb)0!Hw;?gC<<~2gl2fs4oZW+qqqu*t{;CfR)x9M0D%Jr zqr`fmV73a1RB~Elcfh8e-N<)jtkfB6zB?b&@d~C69F<6ZAI+XUWB&ZDtd$CO)OyUc z3m2M9GprX zEu-7ydS?r|#AbaL9U3t&A+Y&p&)om~^H1NR+j+;A8GlyRu4t0kzQqOS&dv+6NlVM9 z^%0g~VOw0XZl}feY3zeiVbBd@AzBt}6@O5m$>XxTDu~%@z(29-QpHd)%CXEWcxPE1 zm6FgCBMS8t{0cQa6c4owH5lj!n&rWbV_;`UdNf6U(G7;cnOP)O!>vkC^M!x9V#*hs zH!Yp;%ea&kUl%B7cUl|O%<=j*B$!sPvIPB#FGS#$Ndwnn4V^wrK)zVNF8Nr48Y{Fu z$zh2y4kox=#~v%NsO|$QJ1e8XH8a{|Qba6h*kar(vlnn|Aub}e6p;p>Y$mMbw+xzc zm;(|9L9+KCPDEX?vVebL)h@m1|1>Z0LVD~Qmp+*Ea@>s|KkMkq+*xNA1z{hR@#Ke< zr_L5_+OhbZMu{(qu6}d$MMoTaMUQ$|`fio~L%aN-)U>kV?>k|~_ z(CnE!?pz;h^<5ChftWSOckdp63EWz ziou@4GNUFJpS>6I#n=gNEKLtCGzl&1 zI8(g^M$$@peF)m>3ix0rt zG$RYDkC9#=^P1Wy@d2{G0aoS7Gg%H<5!E%6qwbVKRMqCe*;q-#9>9UU5KYZoCduY@ zth?M8r)qc{+R=4Kz_oWLeEw@&q_eIEMt1Dj@Vw4B*GzLp+7vK_n3ili`5IEzNcC_r z2Q&0Doz)um4fV13hmI{StZcs-SM}$xdCB>S7nXaKbwE@_>xxQ5%pLFwSvvXb=}n)s zg9s81%dyOU*Zk)2*gXMxu|ZYa6OzhZn$NiV-B2ETu@JG=k*X$r`d-4Z(yHV-v`VxH zTNZ)yYgEIPLeLN`ERav;o257~1k7ZTnw=o3%Lrsq7p(1(~9#|h&~Cy1s% zJ@)E1z)Q8Nt-yh`g0dRoo9%~D4E9601mnls6a){*ztCKMt?0ngYxZy417n{D07?n7s*#Rn8C^5P zr(YPnZy%WJ87^6A^?LeWT;lS`XX2ojpCx9|5+nA9kGiJjy+>Kc6XtZ-(pPHu$9%0o zF$ErJ0sv@fNcK|=u0p$r;}DR4HGyS>AefIB1@ReU$(r1gf)Q8?7F!${AXkWfthQ*q z0>XX+eO{PQ(-@q!+q}=ji3o9}@LTZxp5ETAClsD^DMtKfwC%)hYmWx!Ew0F19DdX2 z=Q}N~Zx1b~Q&o1*B=GkZlON$Kvhlv)f|B6J@5koSy`)QUYI_QY%GuE~cw5N?kEHj! zUbGR>6g^^d|GF3Y1tEWDa~E0SXHV)@u-EiVsl0ZMDBuQ~HhQ zFk(8v9<->}sg5@RHUWtzC(I56Nuwv%)-x4{fEfVhdeIdW>_E2Ky4B7^iA^|FS?ayx z@9PRU;)Uiee@(m9 zt@B5AEwD6w_G~TPry3}MBclL~n5l^F!;)30KLST-$)g=kNU7NH^&Tr(w0s~&CziC* zBgRQcTF#Wuk%3GfR)l0W0iJcIf1VOW(xR9Ar_GNDqQUW`(jbVA?odQtbn& z`^F8orQd&Vk?`zre!=roiCZp}dlk%n_%gw=2(Pvy=>5srmzDW>jbckpf7<(A=IEmf zYtgX{u9I-Dw8ku@6epaRl<$tm7@F5{PG)NR4=JQ(MTg_0nq*(tEMe}1+I)GtuW(0X z%+&y=HPI=(OLJ(T&)6Lsyu;GoG^Rb@AP9Q33*)!bNOBT#pbU2}rl@!U$Vw#GF%4>Y zw7?}0R8|9ypi??NR6-DrzM3no+}mLFk7Wk-7PN%Mp|1pu(^Vw;EGbH_$2HWeY$rV# z-$7R2AY9Bu;qI+W!`kXdZv`PGNd?knE|9Qt!O={=4Y+Bib4rEChM=t}9bwYZrToMw zom4QM9bhaH@QW4J{$9?Qp57lk|mVe08i@Y@z*um!n8E|AK!F7|J_ez z{~hM}qitjwPVius6|HVwh@V{AFgjsIQ@^ir>=MdzlkKJnXx-#H|J(sFm#t&4O}AM1 z+rGei-B)v&t9H3$Z{OF`*z>2DVv8fC7xT)>(-5q&|xuJR@9x&!6~9jhf>So5~?ZSA+$}QWg}b<_eXlH zyOn{Iw2qeM@uQ`L3l>eVgvJY1S#-f&o6PqW=BGCjE^&FR>K8m72tR!rd z1s1Q-3#XH0KWkZKVK%$RZq-1)fQuHh26%!VUI<@mTPwDzj}BeLvPWJuDf zgl7#xs!mKUx}RPZlV0`wUd3NCy)tKdl{cMSdciiZsyMCP&Y_G@3&k1VzUBqc;KS1g z;%10tQvutdgOc1W&Ite9x^=6cpPz)#DT<^YxstEs4nTtxrzl}G(vajUmZMfe9T``z zn+Mer{ITG^tz+H=U*?)3K6A(TKwY|>(;%fnpZ1GB=H9gSfKi!*cGU;6Tlwjsl|G3%=y8$#W!WJp*wr5#@m(>fVXC1{wH;yNNu5vC{6T={(`8pxp|3*}TuU6WcZ zP9{Wrg0n`=ct13KaJfe}_au)^Q-(s4>)KE7wVL+NpuB5#ac}$8xu~v zrWFG8*y1t+h`@Owa(9885{1x-XA3%A=JQnnU}gz%vAK6|I|1lpDf$K7YH`zgL@vWw zQ@2StAEwJSJQ` z{C{(#)o|$665% zyktqBkVf^t9I{T}*P|hOi6PF0w&1wRU`P-G>8oTSx!tC(1?o8r;}tHIpj8eg0AFPZ zv6dGskMr^q21uT|f$`8K1GL}iB>jBn&aMCccMy}#h$$s=S<}%hluPMSwHv};aKxcN zU5xHp#Q_>jVg*5nD_GYGhBpWe&(#Bm^xCp#)B)UfL&DcMQmF&?eu+AQ;5FA8VKmoc zi_w!vSC;u2R_!#}Gjcf!%xatF#HI@V*W8!fQ>P@`mxZ2H8C9sBQ9!c>bX4?eLHG(2 z!)KsZ%X-7F2R)6@{wNP4)qn~1kAfIB%P00_GvU&iWQrjk9HRsr?J05tmnq8$vye5H z?l!0?c|<}pb)s%dbDJDzpkDzDa_Bd#1FO{v7G_{J3FI$?@RBy_pdZmFLfG~revqLt zKdK3*j!q@y3o}2Rm$ANdglpFOot9Hrb};(ch|x(-rf3rhXOHMzFMk*%jvtgpB%2fOK@dxTDMab&Pt{0cOf?I43(FN_q=aAq0NK|+s0 zhg4ufv@8+QjCx1O9&FH?*clsgy+sfM2S-5c`X_|!bsEjwC&WF`O@(kS;+V0LM>-Aw zG>E_+4MAos589y4BvAHd&r_J}F=)fx=!_NJpxq{Q1yMsc5KrcAkV2ZQ^gBWqT==3K zo&bbdbT6Ka#SkKdQ>o#gHz!7e_z5ZhC4oOpBcTV%zf0=kKPnwg%a(8ENd^Ok&fM0d zL4Tkdf=*^NU|)Ne8QHeq06Xj=w*k|dgbmyUdHW^;xCKVLr&*I@B-X6OHv^aLVyFmM znV?xIvJ5K?gu@E$(iu7`RAoS+ciP9^2cg9n7gqrcWOOZHPO2 zvh~IF_y%muE1X3r&vS%o;vY>mJGNlfp76woZw~-z) zF34RR$IGt14ZJh1u}E-zWEe&iKcatYEGsW02!L08PH1uyW<)~d&1imr?CAzDA}S*6 z0GUhtJmx@N-YFb4%&T+|D^YwU44}HVfc664MUrb62u0siWRMlu9yP4<$_G{NMX%6J zXQFe34H}lBdMGOo1-6i-26sj1Hf?@1`{4gWutXVq{6Q{5)MPOiBRn@|E0ZywA;5JYpj&VXF!1a?_9c*3Pg=%n| zB>_NmCJL5yU*p=WDeb4~$6_v8Q@9c`umae{Ijb*A755S3?*R~&5)vWq#`Z-hz2YKP z13D5iI~~r9D>*u%rGYe63Jd|S#n|J7c6GbxG;P;PfPGWQn?}Dg4HskhQbVg|NnKjOSGtjC}kIwEo()QeM!h3*+s@OqPxYG5M?NgCA+a_ zjO{HIQAR_Sv5lEZN%l%;mGAR)&UIb)eP`zL`~CBtcd5JUI@dYpI_JC|ug8lz)@o-+ zghBr?TpbJ)hX8p`q%b?VejNyK?F!<8{wUu6)RCqb@t+hiPGGw#H8PGT0e`Y)A>xx_{;e2l^<`))I^+;(0G-vK$m&6X@+NKR{&BIa3+LX z!>Klzk~dQg2bxeN>>d0u!N77$vMXOfF9;PmO^_(-ZiJzOVk2|+zqFhwp%Bo0;cvs; ziAA`El$ayz%*RbQI}GJi3);Ldx(R1aDGs1vb|&;3TXZe4G~;U-3Y5?+gUiFY5rfZFH-n>E`ilbaOm@^NV&I(hSn`j)pXj**Z{e4crrS z11kAwMq7`w%aHh16Pdip|+?0C=|)85dQjQn7dj zXxd)evPks%l2BC`q^9JRL0eH?%+<%?O*t|NWj%uD;hyc0S?`UyNU*q~#_`SRjSwtg z_?!a-SbZ6ZjWvsKcl*NT2;~6+)*e3h=x7IyypB2p87vkFgd<|Ri0ny%?|^*CO4vrs zz&wHfYRD=~+$f07Sxac*7hdX4bPM}SePN&hsFxs!RIaRRhDnekv7PmpaGA4+I7cF! z7oeudy!ufIG7(#p47VC8R}tBT1X}!?c+?DsUC3IJoWLCK6xOMcreZTo7%JS@FsuFl za>QcUAkoR^(CQf^^rV2NWCYe0NRvoUAhom(mf_=2m5~#^=)0VY#!s7ZDivvNrl?7W zPh>w1p|SM%=$A3?F_Pl{0G$zL&nzg`W+{IvUU^XaX97uY>E@aA7O`wrDVujd@&uof z{|ziI=m|-W3_h2xANYj|xpW}Pn9o0S1N1ny{EpGWpj-y6%A6%9c;zqE0cZL4DLO9w zwvn)oQsnL8GtG1qNEY}HQ*R&&R;gMhgwhHTk*ALt#XxD&7Zb&TVo?YfOlYsJ{QW=7 z!F4bs8iL!N<}HcGwblBf7d9aq1&wDb{i_JE$BDQu8yJcsQ?bkz@M4iXeygZz~lVfIJ=tHGEHT$5nOgQaX|PuF;yqtn|}yj)D) zcstQhw~`28jkZSTMEoxWKn5|f*Q{_1O>7PhKj=Ujg$f9w!*L^LwnWJ z9TD=PWGDuH(GrmA#H%}6nFpERL99JAJ`lM`qBXc_>=*1oM8dCmY!{4j4~}xlF22W8jEPBHQ$E>l9C8S48g|_BFQ-^EQc-AzV@YI+|Yd z-vO~(hfx=G!soSN7obK#q9`O2qb_p_gi4Ua5glA4g7}%qyH)hPha$meyjuS41 zJHU4=iB%BcPCHygTYQ86Q5eYyJ>G}_i27aBXcowtL1>BXYI`k`>>rH5)PQp9$nCqxyrZ z=|Dy^Plqs)Fca2Sh!N$jB##EHk}-Y|#K4nO@9sozQ)iSl!3-Le5n0UH?bHLXGL@;ob<=A3M zlE(vuW4_0$rAN=r%_Qo!q}R4a%c!I6Dso+^(;Y?YJMbzcaP#(;(bs<4oyo^ zG%z+0yh-E_RNWKd&fg6(_GrNMLuIb&EoA7{{DwFTYfJ;IJ4p?HgO$dnw<~%8!J5D~ zh(y2|4f&WFI3B%YHE~Av95f8I zA6o;Qa}ckFrJFexT9(Ht5TH$|5#gA~`gmfWcLP;}a}azK`kU82fK7%-N1~s}uq9Ht z@WRItFUVBlYjHn#pHR>YV*}q~`d-_n`hj1JN{%gSW2SaSZ? zH>kF_S_5L^#SEla!=P)c@Iy7uM=41`7|0piAuq9rAC(&iEo{7Gs|+)*1hn zAqi`-KEfatZ;%OxX*Ab>_V~YJjwL0s2<;uCf|DGGBYw070EnI;lB*ic!=J3gnuhD5 zprUA$y`|$vAIv~s^klY#sBs}|3INBsfvJ?~SvI$Lq1L>3&7+TV%9wG*dQRlKmeD@| z@zj=`^wb+iy))ru!v7==6fkvTalm0f*nU-CACi2&ys>MEe~&wDYg^$4FpnV+MT-zW z%pe>N0i7fEP8 z;pQ~JylNyW?-<0pm0}Sl4#S}w)%h3KEdX%dn#aUPYe=oBY6`Lki;d0X!%Pn>$%jQN zwTfA$iQ#*y6n0@}XJ-Y2Qpxwq8E(mB4DG)B6flg`h}&jZ`%FD!B;5;Be4`5^Lz|Bx zS;EaHAtZ3pgNHR->N%8A#QMBupI%SBiB|C(k!3;`1dXwb=Td1xwlPYvaKyR+&x%2R zc+h<9r1lN|2SsSuN?nyp_0a^FO)F7QOhlUKL$Q8PSwex5;2d0p*#uv}FsO2hHx%B@ zweg!&u!$f?uus?$g5Tr?>|I6DZY!`UX6FTQHR`UFb8A||a=R?7r6uKeTw+ka1 zP4H?XfKy-uU2HAy1`^ANV-%(v)gT?U2>g=7xp*b1nSD|8jb9^!6dC-9lQ?!rq6Ud^ z){e_%r=pu7x`%(I_a47K2hnKCHNX79sOg*WXFz$_;INQ6XGzzsf(|+Lh}Q=e z>w+mQ4Zt_iHiStgabbhwT^qAsMQQkf5;}_d(6uE-Ql*d;fmHe^BI#6KWm6nJqf{jw z$PrHKAh2663pJFkDMpd&geL72H3BP;42r>vr7icLR$ywO`{Oi zq3yyHs#!t(&L97ar%VelY<#Ha1<^i*^*m}Oc7>7+m==5JXksJL>KEsLOu76+6uiTo zx;*la8fHT0#Hen{FizGD)$l!01Fc3#LN;qi*UbbJ98~0pF$W|;2FvUreW(`iy>&Fk z6Xm3F_LiZ_YU*h$n?+KX_ayezaMwVSY4e0TzyRaYXY6$FK#}Xt{I+U6o4DcE503cb zz@3(btjXwd9SD76?6Src61~d1nfeEds$3aJrVG|=1r9dXd^owKNHw=R;{VWre@RanAk3|7&FQr!WPIg5$S0_Ytz!E; z?9S@}u@QBg-Uz%)I?g$pryez+$Ao6T8{>U+rHbWisBO9@-cCgw24YW(;57xTMq`?1 zj&f?OGNgU1&h(P5hz_*P_)x}6qw-~9psn(U#b(F>kE)TSUT z#Jg6*8Z?>FmMr+k{le%6P5oNO_EF)hT%S0hy}zn8QNF!|uCong<6t>TE#W``TXdcd zHJYj=b!B#46#b_~6wU;wJN7?>)Iye!BX-Ad=XlS9bpa0uzP#_C19pBjuW z!dtwhw?;>bTvAWIFO^_gB!!3#jioG?-u_p25eK9O@LP+GHsB-w2{6)g(6LpG6xLNQMIBcbFH7t)&i~S7cqgT)gB0Cr#$VN3!pEb`4P!MWUuYjuSSkX zybVK^W(sY*Zq{|Js{pa3#=-I-PCZ7Ro?<}SiW3@tgJ@E%MiSL3vzjWnll4*c>5P|6 zhoS_@yL>RwJZe{S#LLZxq(w#%tMimhTr59BCzkHdO1$HY#2K*zR+QyT7cB=r^g#{o z5MCg}4{!*KLiF==Kxat~O%6$_kzQjZV2FWf=NfVm@F8!=Rl)F$MRPnFXM3%qVoje~ z1RKl%hX!+M5i`32vuJ_BTAn=tcz|066D16a8MyiOpN#7idJbzH3q)s`KpqPmA=%r7 zqs%K-1z>34RKl3T8bBQ<4uU68WBS6O5ZAZ?Gi(nLFO#&LROyXB(OoEq z%-Be(bT1*IYLA#}QrRgn6(UDj79{K|IbcHSM&Nd%5JE({0n#(EHX~f|D5P0fxkV0Z zKSt^_SQZu|1jouMq4+OvtQy!S+H=SuGlWg)Hhb2!!fr{0sRHU%K~IhGX2KtJ!f^s3 zGB}B6Pams!J#7Esl8GINO$!#6h*b%~pfg=pP)-;7S$7@UE7R#AsZx!gOR?O5pVg#8 zAuB_lCOIYHc$g`Pqpi*0Ti8?ibRa8^Q3i$L&kU}68qfsH9#zaMXSCotq6ODtuOzaS z30m&gN_s-h!V2<0AS9%@OKn7Ms+wFb>)h1nmK3R#&6bihm9dEGZQe}ggNcL25<-_o z*-I*XeN2nPeHuV0G0zfjH{i(Ge*+qE_qYoc1ZhC?t>6yaqQ_xGiV2QvaqJdl^D^*u^x=hKzi5YznA1VpR&Mgo`V{fZqpW?2CnVr;F+ zD~WPCQ7V?J0aa5-lPMqyxDxEBM!~V4h@kQComf@+NLnte%L6_YjT6FSu%bQchXWk8 zmB*YO6A3?;b=z{~9uc;iDZ@qrBO4-hV2!Z{=AY09SSzO?!Bau$jY)@H+D}9E$sx7+ z9O`P<_U$=rogMa&?3c9Ym)cU9AqE&qD3=v>M7!0jspRb@b^({e7O0Gnap2}nAbV>- z`7{2FFk8ZvUaI4T9G8^%WG;>cWyaY-@X4H}I{DM>7m~M_e&#>WF1)rxitk_AnqM4M z8DKXg@p%ufclqu+fI{ zP*DlVpNm4|P!_Rl7Q6%1Ot?-pp;28*vEm(t8(lez#L!{3XwvLz{ovDP-;tXU9?Tle z2s~G`UXoT(4rKu_Sfo}0Y-a2_d54GGg{Tes4h<4MK4tO~`yKIFqPxl@B~x%y58&Mu6hFU^ z47Tp63Gzudf(F*$OFQwuf_dRzho0zr)womq0kniVT`LcV1Op6^zKpKr)E`gAAi$!- zBVhB4dSbdm$+9ZGc+@=5-_eAyBEy9zj$X8JGi?7om0|@5^_I$EO3Quf0jWs%p#1@q>z0?tM>KQkWT}Rgu@@4P?I8$D9uLuQT>~#SBdkZ%1dAy zL`5Yh<4DUYGk_%X!84^pL$aq5W*E_`DUOA>O;M%DBy$~hH>p`Mn+H~2EP5u<}wRN+9bndlj%KVx!kR1D5+aqu`7 zMb^-{#49GohF!m3@fCCpx+p9O^ljxqyFF=jS|ND?glswQ4ZBQXWdPUB_N8B4T)?^P9SdF(q>l%9k5q4Wq*45JuV5GREIXzB){Y%k^r~^HA>5?vslrzW@0=e<_z>fOq~?|M<@#oNZT6Z zJ07QC_3zWriNS**kZL3lONGDCt!JhOsW$g@H7pC?w{IVnKspCbmg3bANE#(=>qC}y z4kD_wqp`Il)bf~?26Tn@unastqQwHgQi%y9CaRkj;K=DXE5vongrjVe(5%}S{ zWu8iw56ap?;_cc)5;ftJ8vRI%2c|-`B>Yam=I;L}NH6IyYbYHhTPA#wuE!WWM^s-2 z#5+dmGE@yI0MBrciE%6uWk%#%#R4Q;7Yv^y*0h#dm_0*ZTnc?7yea4O`q7F{eoP!Y zl^z?``RuWE@M(*w39(f6lA?Pfx`?Swk4l+Gh=ui25Ewe27ZdwH((8w43kz* z_=Xkg89d6$B=A0rmvR zGft0~cX`>LDmcg_tIFLDwv zQsa&YZ9+$p$fi+*4KfIxs@TH=sRPRfL1DIblBAP~A#E@fv$HGwr@2AT4zIftAW_R7 zP1``?Ws!gUJ#GXNGhP3RMr zKr(J<0rY4Ut^Pzv5@i3t=~!>mgXs%65z#}|jzrB6O!z(j$FRyqW1!%ZIm=qvDpWLL zj<1dkZnDk+)Dw$*_7p_L<6!n=Kw*J)?Tlq4>AM)4r;9{T8D2F3kBPZPdX$uX!a7I? zWWn&>5gzH2GvcH#tsB@~;)4un=*r)4$U$sF^%4K>@sv6stuUy+lfV`DDOF0`!p)8D z&_s!dElxUlFU4xwjt>gri&#q$dq~SoX&6!J4c)ldVbGj|!DgyG46%#C)+VWM83suY z=Q~!DLj7u#ZeF;tgj$LnhE|qzbT1Cv4j2)%^q0FRVFolQicsxw$_pZACw@V#Y1MxN z=co7$1o0#SfQy4oqC?|dpGpUHr0Z&7bbpdIr zt=6}SOA~B(&2=oWO#3NeA|P2j&Mk}2n5Lvt_yV%4QH{e`-#cR295Rrw=q?RB8 z4UASpZEVf)I*@-|?E=+NPtmJ6&t!G0)d=e`A}wyUgrQO;VX9Zpq?s!Ws9K}|gotsU zqGVLU`bb{hIt6b(`p2#uZHs|FuodxQvK{hQ3Qsa$qG(sO*Mx5H3DkK|cIvgv zNN`|F!Ci~6Q6d>L%xmkW=u@|0I3CbHwze_E=VB*`E-OSrppN__V%c) z1xa`%V=9-_V#+1J7gcAm(%3RUA-GD&sNAw-+eDfYT{HbZiL4X+@K%isl3RM3Kms)t zeMcsRR!VUF3~}#p`+FneWi5q0YHQIdp7t7Ev`kw5W+;;g&v_e1Z1Q$gP;x8{r<&l ziUB5$K>Rwch$a`2XZ@EUj8e92vJtFQHQCk0hKyEZ%ovdvjF6-0mX7Uc*@sXE74pS~ zm`lM@j8jTk4g$38C{;wy79lh9S5dn-%r5EIs81l;TwhNlgPOt>ese;lGqzWxB z>1x;F90cWT)qb}j-lfDblA(?ShysU;u@;JKrSkJ3J4CZA`f7v&CFpJ}sVEK5vBeK! zgc+;AB(Z56B9N_sHK4bmvp5@MsGk~FN5?ggI?(N?c(WpbGEDF}@Dc)oq4!*~6Qfbj ziW-|%)ny87E3ri5UvV9$TVI@cqs~expvLf~z(w&asAPR9odyw4K?i(l$fL8Wb;)43 z!DbqGG+J$g?<5?q6MGUzuo|%P#A{5T#Rj#us0c-SvO`nwuyp8jZH@(%*Nr68Xozyy znK^jRv#a%0<~`S^?GJg$K`Y>Yryxa>{)>P_F1x@-0)NEeH(Z*8#-J<@hiP#>Nl*qJ zYHj+WkIfCgI}#xh@WnrezCv+##$3`fl#G{Xda|f8X7m{E zWV8jLt};sSBzsqJ$f|Qt)}T}7NmS^+SU1D_8_~_9%>>>ED^s*Ze($DB#AF6TVLXd!Fou)YG>Q0 z2#_!x{<70!!P7hvg(#8=u_ksv2ZQH98eM$!YmN!}VDTat@2ckC6am+hH?THUcd@No z+#PvOeLPX#5WDR?fZG_i1#vcGuC%~`YjQ|ZfpZv))udVd$n|H}=a4spmxwODNyh<2 zJrz0Qv&-Atd@U=uly^%1RiVu^Wq?6~&QWXb=p{u8$Il4AGWo6)y2|@#`dx8xI8ecA zVpxippk$P+VT%-D&V+FXeNRwef@G2OhnjNWio9tOnWI9mP$P#ESAZlfF%Ze%ry++U zm`RJ*|71K=BQue*6cH@4`Kho=91a^&$0Q_DYfgIJtykrY(D+7g zJyxJyssOD9gmRWO9SDy)Z`dlLyQ%nkb|Or3i5hAPEtdv}+Sffshg{7L~_h zVefjIgZzn7F!LN*g=Q8t$Ky~!t;x#AxxUsmR}XM2mq^+UIP}0kAuGXt(8@bR%P51` zfwdl5F}$e_(YQ)aZkL3ug&0KiTtwW_3+7oczG*^A&}`nB$H6MHij}qIHw8R}`xg0_ zxaCzOjv7281YcQCA%`z{Yb4e#p==VpC&|DF5H)5hmMLOiFi8->%GTGflc|sMF}hK7 z3@$T~fLXAKrSFii5D}V!W#Z$mN3RLHO%@^{e9P;)W?Qgb0`6RsgG6ud^H5vGAwyKk zuehlRE4|W=X=C+SZwGHQMCw?O%ToV8>H{LEO>A%0In&%%)79|#f?tgXfom`}s(5A( zZps8L$8CfKtr=bPE4S}lt0S!qXezd(2|_87&;=REBaj50=hLs z`DxIg7(x`~k%4XzqBKz-jWQ)pz%89?X@_^`HwK;>x!Q=Z+W)Qj zbH_cYSV;L=NU9pmrW3}%f#f4yC?mCqaPt|lbmXUWMpg%PQOo=E&Ipu42CwbX0ryz+(O!?m6a9Z@6^7_gO?J026CwD zXhxC(4FODv(_47PQ69cScTb?QwmXXz!$0FJL#H>EVJT&0U7t?S7HVzYj;hy@`T|{> z@Mv6GS{mNBrV0ntiy+($WM=TVL0*C@d zL@^qL+mHGnC@)Yg0J*|Eo}gh(VlSOQYTPp$&rCi#N`y*Qqx`#QVYMR}87&Xx&jp@| zo-VZ`i$~$?JOh!Q>u2ojV1JvP!XYhB)KG(!3_(RxXy6dzB?=!QEIR6;&l?mL=2ov> zz3}E7zFc@I3c(mE8NY@OOR1F`d}z7pIQ1N(x^*dW1JgkGfIS5Y&?Y#4!?tO6-NdB*&Op73B9Q+@?`Uo<20E<+C*t?syfWUN@55CQfXO zcwo=rC?VUSA-@JVb>$E=J`PS*pQn2=elIsWSEjWu3t%(3jh=l~rj=tTA>^Mvy z$T-LS2Oo@;>&43yvJ7(ltcG32X=0aBrD}QZ8qRP@j;aCNqi7pifi1B_R87H&IVLgn zNU>$6M8>xf&no`RZ24+fA$1LGYlwBMVwH*Pf`mnLHdZDwiOIc`+!h8bP!b6OcvO+G z012JxFX6r!ILAD99JU4fKu7`W0ic{j(nx~-04JG@pp1R2CYg~D?~c8zoyRt8*l_r$ z7A;y}E`9lOM(!_0$07${ktSf}12G5Y?}d~XasIre&zk4YryvY5abhpuxho8i&0w6s z3*PHdD5gy;7A#u6KkxhtjQ-a3{^+G;kp|_;Cg(;$RQ!YW$jR9T?pk#ef_BP5`oXB; z*#QBboo6VOyITGF+i$-KPPObzjGY9^TXJvKBKDXU0rzv;yayOfbyK958 zE3?v3>flG$Py39E_Zf$TyCfCgZkAP=WL$Km@ayj2V@n2`r$yRjq$Y>BgpISOGw(JJ z&AwdCF3Gz*6>zwa=KJ%{jYbS{?$V{7Rm5-S4abCieqZ(FIg$YeYoQ9>9|w~22aWj* z5uroxHft|bXk}F&_hRQ{1~jGM*`8Q~i)Ier0k~%}3(aMj1x?xN4M1^3U%3%Lv0~Y` ziOWYtPFePJiZIv+#0XTXOPmYKV5Q((#zYEd#infxQX6LqruL^r~m^ z8W3=PrND&y5Jf!ju(9k|vZR|2lK?EqOK>x`I&+y+b14;EIgerT7P znx`y(o1OdTmgs`_fuY(DF8_6JfpxZ3&(kX=Ub)<@EaecuJYT!>7CGQ2q-jWaWOzM~T+2Smtne;FL$k%BShAPl3mvrn&4?Z`Q1 zlUag~YnC!~o^Jmw8K@Mn0pk=IPrC$L%({V12xkXhCc|bdi zWQ5s}W+sYYf(4;6l^RgwSkV$`D{B4NKO&8V*N~^DOJ}Q zCKuO~z$T*wybQ6To>efts;c9d1k+a8U;SN+_6;kJyO6kZ>6OY2e@_xJhmAPd&u8g` zJJGJit+PI#T3UQ+X;N&qt5%No@V2|ZvpIfUdlHk<8xDOs+-ggJWg8_VUU(z z=EKSP6APUMcvQSqWy*JrmciGJbXK zuSor{$|duy6-K_}ua!16^2c#$8En^9l;dJ@L)4p6ce4a`i!>AT+&+VF9*&e~B;qnw zR&bD*W-5$Ji0dkJ+~9%c<3y}hrN|`sGmSMYu?fr`j3ZXSqpVjma#loq|W3b+! zfj^2d1e778ISpV9PCv!x6NVvkYMOqKBdkVpL2A%j#NZ)#4bqcFC6-8i&rMJ$0p*#q z8J1rC*bfpKK$EosuPic}_17RxPijGwNzkDM`vHY%$k)`wZ>ctUH$9A}Jc`=kF!tBg z4~Dtz&>nrF+0H`0f;;~tzFy)u<-@xM;mvo>#R&q+14J6E>7$4gJUl#L#r8Wn9ko3Y zn*H_HU)TTxeDG@&)+*;Q{THbl3@O$%TlQ(Y~;(fKk z%O<>_*EaiM%Z;-uUXH;GlbjhHR^<^|^n1ZQ(D{IH=ZoSit+SQStUn}w9Fg`b(hl(?gePZ%!}k;@cNK+0 z*3dJ>WSjECmBhEZm*zIM{0U$(%8bLeuPq^*B0xD9>~)%_8Vi zwDO&OSZdPqXUfvc*)M~$D=po+zHm)aes1F9AN0aFvGjQK4>>K9QcIIc8=GZUJ{kDo z+x_6O_Z}Gf*wzTO+=M|5M&)nL4q10x|New;Cm$C*HxApHseHLe`Ld&1e(t<_@1C6B zJ+)T%?%jc|4s4G1iPCl0t+ngc^-fvYFe1Wb(ZeyWf26xr|B&?Mq2tHR(aP1V%;VdM z$@#9Y3+_86ZdiKdZR5nZ6ASH%Po18S+GOjjg60#>yfvx&M#!F=`n5;hDN_#Ujz@V< zg-tjyE&ETM!ulEg&*2x&!!Qc9xgMiXNm@%l@|?k)9n_i~Dc#5}C9sH%T;7fhE?LNz zmJ`}DTvP(2i5h0&UP*$BIhFClm={q26=ids7|;>)JdSRhmC2|L-%DL1gpcWz&nwsCRt^S8?U8yyk* zpYB_=KCpO;O<266vid>d!D>fkvExo*)~s0|r^xU)WXKQ=8SWe-(CccpSQQeCyZj!Z zHSpz?c^}T%feal{8Y)^kb2|t}7dN4I5F;b0<|a;+Xn`h@k(kn$T9FiIn6l_?VyH8> z4*fiIf>>$TPEFr5$+h^ka#7QQ>Q#f#KKvH51z8! zN~{qxOUT_bTJY%ONk>iYi2e%IK;jjEix&SpxP=!E)#^}5qlL{6;~2%s2slqfgkC?d zbnc@db{gUM{gISzCGvp)k&t4}2vrebgsUFZtSJR0Sc~W($WPoYa)=O)A#4v}UrA8O zl!KJd^gaE_Lezx!jRtqC{V)MEC@QQoGK`~|2vHhEXmq7dq*w|A zJHvHTRGviq06fiBc_SH_>jC#csujm*kJDC&FwKYDH7b_zW*$BfdS$eqM8zUc1ED&` zb&{cY-_jEEox0kOF=uMZl3MyLl=x~u`clQdwAf) z?y&ZbJ$t5KzpnF#>reFy#+?1Z&TqeyUYXD=<^DfU4dAvGjP|(17ASLfDob`|&Ya!+ zy78}8{)qF*l&ZRC)vtF?#%Pjr6t*zH+$`;)mj7Ow^NFMeY{^;MLyS%UYa3Ccbzk=s zou#@f9~u-9<*O<(e-a0pF@`<8TYEH5jGtWnO0g*@-6iO~;i@@CzP?|UyZ$(?{wak44-E|#`UfBl}zB_2)_t3xR#R6~F((^7Qn{2Yzl;#vJ%e?HCqVHBVB`GA2 zB84DmPy|VfvKINsz{=J8q_0HE@}V?voli_EHtMoxSPjL+&l5eayAl`)A!gL=kq@ax zEE9=M;0kMXCYNU;k0bE#UTXS8kp#r0yit#T-w_{FXG5x)pYM-1or8iao?3X(T>7;5 zS=qglwY$x}r}K1hlg!!-^YriUJNHb(DMpcF(@$qtH#)zos(sdigr>W1Azt*0PoMj( zSK&T8Pkr?FA)GO!{Degw{!0f_lFb#28|dtY1lsWN>B~`j^_Cz+m_oL4OR2H?4X03a z7AL_ZQtSzk0|W$?>8*!r)@^H{|?P;9PoD{MB&#X>NL9e<>lp9?;Gbtrq=%$F(%pC|5xlnP+SVCw`>HV z!W+BgU%LH%+S$*ML5bytwcUR#7#39gDRbe7eb-M-yzKXOShvex^ZtJDWBtHej(MH8 zMHfBj=v|gxy>*_Q)uKA5>-Y97O6-*MZD{p~c7kbIKz?QV%b@o+#(bPH;JHny_WAi= zUA=y9bWuy&>PeCPrk`9E=~`Y~>5{P-tDnGrp8c)M|Jf)YuHsysQqZ+qrRj%{Jy)i9 zx0-Z)=a2}5Zd|i(UaBA4+H&pFE0x<4?ROu#a%K0IFGD|;UszyaYljnc+=l~fHl3K9 zl#pNoZk^OLjDcjsZz>VK{y4A4a#|%{C|H5*mLW8wE5?^ zPKr+*o*0LH`?GfWrz6QXmnH?fG+NlLqGG8+h>L67^7ALr^`rqGHuarZ>hB~@rjn*@& zxS9I*(wx@2{%V3+!hZdYK7Ib_w(g(0t#S5af50Ou>crI2CcijlrH;ueA9Cu0?vo*f z^D{z{gYj{)`!4JM_~5o8pJ3 zLwDdvXM^(X&g|z$+`e|RseF=N_UJ;=)o8b6W*s|3?7M2Za`uKNA=xt!01@0hQi|?s zf3*&BZz-`z$ej6DOxlqqMOOCTUr1%ksPdS(qkmHj3Z+t<=dyhJxL4)l>kUV z>&Z~}?}89VOixV(s|YJ&oekcIIB2lQq3hXJnXl_iM&M}FDy^sT@$SLh7Bm=H6@KsD z6u(IQ_Lp|Pp1Hes(r~{-CxyFfJOQG8JyBaZ>Rj-}mv58z74C}ucs@0Rk|EF&d>ifq z?2j$?j`z>{#5wHx{jQ%I*21%92_)^|I#F@BNp@rCqs0jTQoR4m3`?vGbNa$!iQPYy z=%!eKSiL;~RyG1{!V6n7##Gcx(h)9~VKUuZ60CBPK$NkpRRRusBZC5NFVFh6FLSED z`>}WL{<;16!rymJSC`GK4t@IYM0UcO*tYeH&KM`v?vD~JfC;gO9(Da-fBnm4SL+|I zQU>TejJf4D=|<)qW#=(|oAErGqTmD$%?&o>nGdS>BB*ZiWuX=ACaf{m2?|}Gz3c0+J@qXj=PNswD2=ac8wn;WJ%wgD zb+gV^1o&7?EbaB8*Xfs+8ws{6B6LFcI2j$)+Ot%<@R#5Qr6JSn5Ly}tzZ<&m#}f3_y9SFTGgc#V+p4=i9H{wZv?mC%i&_f6PCX_$jn**F2r>rgT2P zPXELIHXdr(q+d%?K+RdQ)#q3fy$>%gyCv?n&-!9mcWAALPKU=?=$)$2D_s6KIH)wU z@Zgan7T2}+j{b4E%k4&vxfSgII_+5EvgqDn!~8be2lv|EroX}BMQ^;4GE0-b`Qre) zu&B6T-t+pCFRkdEt!3 zj$@#ZK~<1GytNCV(kE2$*u@_Dhc{_!D-4l#JsQy>N*;I8RzO(DWZpHFtq^i{W%s+ z)Gwuk3+jR3f4AHAr{WY`z05qplr_Odfh|r5L|7keIXt{83zi8^3$!N(m#z&e40gSF zB_rvU{;>H9WF@UnuP(Cq;9H@X6gJ!)Ws`9zZ@b^hA0sT%Ht6rKXB`&~P&Pc>IF*2-Z4&1ore%bHcq|j5J>YyhX>KMY_`@)pv+#08T?xC;iMogye`1Mv3$q zs4qme19TZW?rD{#%x~m|1N?hgV{!g5WAS3^tEtBK-@R_M_w3nqnPDHbr=4vF_Xb`( z4trWQ!!%#FMM5&$-79 zZg0E0I5Mxpz2@~x&e|uZ#%K31_BVReZ^2)|<;BHe`71ZrAImp;vVG}<%8`5C);gnW zXM7L26*%zM5;o=Zu<2S)c-d=h$tEAc%w&bmw7+`nh+O+>r`77Vr(dqz5|&YJ^Yaj^ z(e54=Ch;#EvD0Y- zMZ#Akb8vYsx)_(a0#Q)W%35(Lned=ty#Ub&$G#c-%dNEP6lhn)zj-o6gDM$Qi-})e zchqMpgX+kUB+70%j}APM6S^4ub&|HB^1DDlJt$YvD@!=)&r-ee=t2)fo=pxe#G?Ui zYp1lq{hZg6iB*blaa0yqh#GIZ!T>u{Nn}hrZ8!)x9PhKABlQeq=b*1Dm4H#^jFl~B zm^2Y-w5#^s>)Ymj*!$A5S4&-fcv6s*no)n$ipZyHt^as6>v~R(t*|3%So>`Uymttr zlx~@KGLoY=>vxFBjlfy40Eod6{ zwJZaN8`+ul3wuP?x9PYo?r@t)$GScNwhXiD6)^h`C)m zR6sre5#QjuSMl=mP$ZJ2j|g-cvg6#<$?RIH$00sbQB92^_xu^->s6hk2Zpo{=~G6; z;J8zKU_`c?;anGcYBtIjE$V23x9PnFMs7|Z)91FcTj{LV^xC*^6Vu+;wf)Q*u55Vs z=;EcmDOeA9>SUI`8izDyfl$7KMaE*v*&hJauzl_jhRU!{IdN8-V z3?!nTQY2JUAQNIUz)5pdgN=#7W`a`4TtPai<%8heL&FiU#3uh^b<&HT7lv%HsVW+8 zT~!nul)mlM6yrYU3%e(stqvMGd7SRvLxY2yb}+CEv&!VXD~6800gSTz`vkF0`^p zzxnbF!r$H}<5;2v)SPOr&JLix0k4b5mrBe^Y-|kbQV%?Y7p<4|LR+sUzeawz^JDiO zhc{<*Ntl`0q)Xu6*Atg@EWbT0DZR{>@Xh{5jA-IfD0`CW@@hojqB$YjfydqAuU$9D zD-Bz>rQ?zps}Sz#zqXUJIr5I)Hk#dWB1YS_fjcI2v0a}LG^wsz{{!RfTA)fzxKZq_ zDb^SNZW(JiFn>D;vogE`&-nBnq2)dgxw`8|dGrz*wAd~Hm`w2=GiI%`Q}^zJkD62hP-w%!lVER1un_brclNks5b>OL{^+Jzp+BRZT~H|8K$1bov!?69*Ef!%g~vr z>#MkRjB7!{--)21DMi6qTFforpID2**NeSdf`LM%$Hn#o5Hni!p%uYFq8<2BIFel0 zJcP4UdeiX>#tAZV@zorotIZ%%I|y!+@zi-ETW=fjSwMCQ+MMPm zaoSo_exc&n1QSYHS|=UBVMV+Kr!A58svptJa4^C85J}Px0xsq}P%eMlTKT?hVE)!G z2H7s41y?oy%g*E6rFB=YPV~Gtzte{q<@a}Bb&~r$J0v_XdiU*NVV`=}&8%ydt_7|z z{pL*rzu5tQJb2JCcH!7ph5F&w(v}2_b&bD)S3er&jL(a!gWB7F%U$F<+h|Rn6=`Yx za=RWbjA&%l?d7aZ#{v&dXm8f9>D%^YMmA%YHgo&-T0iLOuI_sJ>45&eyxYI<%^=@> zmld_Guiw(fdE-B8C;;c(PT^W^pM9+`>|3yF$&SpT9WKFJyR@5D{F}K)YKW~uICs~? zAO%!@q|G#(!$MMuK9w^QZ&2tcNK=i4KT{uD7^GTB$spGcj?~m&V-d)_{p2!6)&)Hi zDgVpD9mO8RUPM0wngJaVi2#W6`NZ@#AcZl;scoMT$M&(DgcNW76N97bH)zxd!q#c! zQ>;5D?sz-K*gr~vfrBc+#|$%!^Iu&ZUzXACfY9vE(G462oAg@T{K6Q^4woM|b?AU4 z6&)BH?6q>M*HLq`h&sC}HW!xQ3}}sG$m`n5s*QtYUuZhycAaUzF56FjiG-c&&aBy0 zd1G=>d1hFgV_5ld7L@jKt2Xy4sIW@)-WIt3kcMEDha+Uc*!=jsoWjXp-eP@?W$@+BIrTCG}-<~rb+7JSk;^kT~ z!1d#mXHUG_fMZH2t+OV#6&>D6Ll$l}ageB)x$}Sc^=T)(*)_z|R^)xw#(CX!Y=`M_ zA@PGSOn{JBQu=bWv%0+6lQ4ZCK0KuexeO{tFlZuX4cGh*^9Zv=7=qM|);fgU?$K?| zE9VbS64xC6rqo{I|G4PuFy&7!$>q0|m1)iqrz%_6lxNKgXg7xM=O2yB?V2XEom4sd zPSoiaBa?%p7XNjieYRkQrQb2DqU4j>+|Q&c>9oZu4Xy~AO1W4 zlcZlwWrS2Y2w429We2RbqE1Y27*-%2j5vc{kg3pW&rEHj@#h2l_l7lUX&vTpWOq=9%&)@h4X%h{Po<6h9zY$ox98% zP%pyy__wOL^F3z$UQp})wVVA-JLw8X;;-(UALe$t;)A7-vNj|6cJRAJ-R8|O$Q?1J zVAWyHc6WYMZ()zS0Y|jCyfi{hRoeU@s=c>E)`$2bz3?NQ zugPvzB&lqqSNs{Wx*`pR9JfcfTNRu<`z1>9;m;B6w+z&=tZ2PK#poH&&4j!>E5huV z3C^B0;oqhvP4Rvh%dgH9`C~YPrU&g#$toxCvGm4puyaNg`EyM~zb<5}dz(%*dOf(Y zjQ_XTbSu0!E=R4hyd-u-$$AMMCnir#JDX?4@~Xl)SxplmgY;|KleLI)V?6ZScJD6j zIR3$H*M%#g4QBN>AM4W#)9LK$b-R2jv@gv2GHc%Z6jx=t$&-7n^*B8Gb--s1BekoU1n*Pgw9(IjK6giMw-)L38J}J$9@A zt(c^W#{s7b@s0@E>ea+>d#|(lqhRc$+>ehK#W;yZk(`fr14FMh9%R|ke*LWC$HlQr zLy49A@z*1nT9(ano@ZD8TzU9}-`LCGBYNA~DsFg39)nY!QoX3*Oi2ih0w!D$O(t-r zW@a+&O;mGA57%78;uO%Cb5 z`P7ex^%@NKI5WJtQBwrq=O^#%aePp>6ZPJ_ZKP;rZs<8;#h%t3ang!m@cY5=n1RjV z9PV;%M6KgK8OIy!ESf!MPVZ63n!yHY-1zZVGqE7Mw|^UjJz@((3*T0~o9ULDUf4CF zxcoHM@D+NDN~`u7He*H?efLA&SH}%ruJPHjXT)k=(8c!3#b9$t45rT1DBB_T+C8aa26eW zDrbDyq`uI`)Ozyc@7WhmPOp`I`{x@2Y^wAa!&_Y%c5_%*#mGrvG0nq1^(dB2h7zvdD6vL2|1GjmVME1}{9I3#BSlXFd(CZ)+E+ zb90f$sf#7M|A@3pF)JHO1-eY9SY3;HTvAY|mpF4$L+9363Dv@;;$BE+9=8tXMssE< z2DRCZ4Z+c^{{3g-EpY6i){p!9hfM5$qQ2}uW^+mGV_NAzXs@3~aLVc3?EB`HY^Kn4!K&4{@kp;Ly6m^c_}hG#!;ntuvq zwXrv3LQp6b;A4G(5H*%)Ko48YE}=cLthOefyAF7Y;&n)c2%kgp7%|sGJ-LKkAbuuz z>6wXv&mR|t=@%|5tX!7fBP;b;_Luq9iI%@UZEgKI*ZxV-?h7U5nIXHQzneVJeP6oZ2W{2S+*OEWLN%8V8ZWF|E|-q6G`;wsc$vg^!-z z+9z`Yb24qp4NixB?ZL7iaKPWU{a+@-Z`xe#G5N1+b+XI5<9MqwsPb9Z;HsZb<8%y~ zy4_QX1UO=V{x&fV%qZ{$r95^2zVc7atp)1nJ<|!s@%V~CK;fjFv8*Qdx0p7{FWOUM} zQ?nE|QG1paZO6S^k7%8KaO5&A>R7f~4r$XaeH&Bw{A6HA51VB#OhPNR z6w>=*#hMGrJ28`bvkBYZFtA2lZ--?Q@tC=BU746;4+e@5|)F(W+94I^{0~`Nz>d0`n3t|Nw%ya z=4Gm#>7MD|-jK+c_-p~nLQEdG5ZdS=r>m=uUqHa>I*lIxP;T+qv|n7RagWHf2T~g`;zWUmMlToRrr&T8_JMaWpi+Zg`Zww(n;tq4*FW<$JvBM>wh-h zWpVJ#Bd5?&Tj%p;nR4EX z4q10QE3EvQ#0Qo2&gybt;Gbn?r&>?Cb)@c`842a1CUmQ|xRY}KX}8^dGT)ZHuSmDD z{(IG%!mg*B>K=5z^I{mVlzK)+pGNE|({r31a1ennY7=gc9t3j*Y}I2FT+Hj$Sr1>; z2aS!42y$2Z_4dCNYekCR)KcU!2uuu(iY{ZgX&ZPuOPJ`+^CR&CF?^VY@@zEppeDQ0yDqE~S1j@OWQWbD|BzeX|g=27v_#)!~JqrIl4LTDs+~b*pIaxWh)<^nUq-N#BlU7X3afWNV3J=|VaW`AoRU-e>b87}YEp!$6W@94gz%Cs zfKQulD~9$I?#4KE5*&i_AD4eB>0UfI{20NA!k`vgkom`R9>@nSI_VM66=C}Z34rsv z!)YdZ;1R;czJz?}3U?2xSuUEaAEK`z6p5^xLzsDZ0?f*Ya0HpC|5=1z|Fa-8&ZY4# zJwz|JOt@n|KdcFEj&V)t^|TIP=7m=tV;1`VlM(cOcH^jxND+#Qi|f+iX-{qKkb{b5`+fdOdpLQSn@w4c*V6^> zqRWe;!)|VyUZDQ7Pqz(u4?O zC%z9wVS)a$j1slcfk#l6HMax)Nfvs;L5bEjcBh`g9|f7faqt{zP$xZcEqJgDWo3`a z1!Izzx7F934a2w%{2p2<_s4|p%-qviJG&IsDYV0pRyO@~McvaArOH%qW>La7LFme3Va zDgq!wG)RlLBp1@A!?=vT7(&=W*|IckLrPwlHGh5!qqgD3?uZqpdW2A{?bl0s_!$8K zyPpwaK?gzSg3(0I`#6p@ed$Pkckl$lO-@7xOY)#)85jpk6CWSfF(ueuLH`4S<+^-+;;o`i*8S$ zoI&YZP5; zb0y;P{J`n2f9gj`Ig~WeUb{6Nk#4Nh4e@Zij%^LB8aGBw%AUw2K>{qA9eZ1n{K6}; zeLLb`h`!dV=O2zF&K4_>enTe;Y%g>dJ^*slGB37h`|dz1^w?Xd%?Mv{xldbiK#)6> zo&Z*x*ldYuE+jOk1aWF3QwSwF4hbf0I4W|`FT^5cLd!G5cKRFjcrBg@t6e~i&e8^0vj%lbh%vnY}|BB8v zz=dOrC#&iyTLF1MBo3$340K3r0C-*yl9$lMJ8L0Ku67O5*9Z$nl2?HL00R#A2f(%3 zbl7tEK^Fbq(yWF{7tR%Qb;ig3xcG z9zD)VXT~pSF}eI>!H#Zo>yk1VtBQ(>3MAMMn%k11{8q(4@(9m9BY9T(Tpq~pt7zNtoBM+jYqfwB%7NSV>F9|rw!#vW) zqF=uV%-10y_OSjHHcCrRe|mmiBf;d}(}%Qd^+&9G&F1H!$c?P1Sf0XoW6yoVL4v_` z{ipt3QTAMiR;(m=VSF>^!XdI?-)O^dw&7TIgJ0&LxDf-8Q8@&U`^HoYoRx6j@*r~S z6Dut0j{PX9h{lnKER#<8qiHeG`Dk3M!r=KHuJT3OseI8!WxcV)#=a@`W9zsU93&-Q zx18^Qm>Sj{ENcmWAZ4oR7a&}Y(()rEDm_~2#%kFl-r)*&F*|^P@hGrLmCSiZ=!;e& zqDIY*&D`>%2xq{$#oSMzA`u`!qnaAE#l&7Z@?F-IM&UlUTJF4kKidrnqL(hkLZE}) zZp7llo9^Ay!aAwK2u?kRsos>#wJh=7&ccEhU5Y}sZ*PTYQ=goftFii(^}o>xZrbkBV9#ELB;BO)U3p6h?45#AqI908FKTR&2WXBS2z+s+x4 zttc@QD}m?Fd$U*TKuB}+1Yf*gT8X(J@!mfep$|V8%l@!d(=Dg`gMzHkY@IsU>L7uJ z0@kgZK4Ner%f52arm^YY(tpM2eQ} ze$O+K%^%G!%F213g;=)${X{j(NT9r=E4NfIYqiw5X>4cKQ)WZjCN#ry#W^b+CwTc_ z4NIwJ*fqL)3a}zjuBA{LxuU>d$p$3Rwe)CQcin7f4;l?_G~bSdY#NuGkGI5Tq6dIgze z2#cC3Y@6DVKS|5<=;FBl{ZEg^(hEV3Ie|O zBQf(nG=EsJdzu8{8j$~k4Km6;^v)qG6a5@~ePCEyD~yoHOGnh_i~z60xd$OUB;CZr z){C$ZkjDSZ@#FSU1H+r5r+J}Oz=vXnx_(BWN(hLj;|vxf1qc9hm8X-994kO9n(3B_ zpjDCbB;KZihg7TWS5yf=dq}kHvG0B9qH0;665EMIrX>Q7CUcut5dtFGs)HY zg_77W1>Sw^H#pdyfRp8ViaALz!SV2DG z<2VklfYTQZO166Hp;*T=1HC{c$ZLKuR9URW7&|U@K|2w{m#%4LVI#_IWx-!91lz*N z>ItVoI66NdEF@u5WCzDCSXS#|(#A+}U#)KSr)3@6IWQWI7XTm|JXfKc)p&45l0KNW zH6}VfZJHy2iV_<{lQ%KYYPhFp!zSF5Ir}vkTb#G2TCF-q^_opgqZBB4UZ+kS9J3_M z9pflqTcu3e^Zy8Y?|>+e?)`h|MUm!h)t_c}B8y?{@?zxSUQV9VSyXU@!=`JC%O z3f2u}gAY=kE3&ddbW`da&SxUhjcJKg$5;0Vz(?39AF5fw<;yP-~U$mVJtti)WQxMCoJJ$$aR(>w|`>(R5$iUpj)0 z6h5$(u)8kK+<=%Tcv8bcWb)+zaudv3F!jp5c?P)GtTgf)J(Hj@-2hS>e&)Hcwy&#ux&ghqt%^-Z^r z7m-h4aIoWmQXKZ0&9E{uf2IJVVjV@p0~4n)21ageZPW+(a&R0iMb>EmKT9uYM$zBA zSvFxphu2D_9u7WRPCz0Wd=WA{NhKK9@`yx1hmwSckS;;nMDOFHuycKcnv6)T&Bakf zkPau3gggT9a!9*YdE?HB5R&r&^RWHH9^lJEh#_Hl#~@*sTZE;O`;RwooZ0tF(NW_z z-+h^ij>0xAezmo}Nd+P}EKdR{m)L=>AH%?5_%}FvhJ-Uw3{m)-xa|OZD7G4a-r%6H zg4seIo$HIMs~${D-6o1OQx|Vb0=ln;C_f{_S*JTufJQWU{=HBnqz=~H!OE&P|D8@^ zsJlliaCJD&*f_s4PG3nu|n$kEs*{opmvIC@(J%%al|=vlc;^=J^P` zFBCC;acW_a`y7a5Q2mve3ZY= zZv*?MB2UOB!vM2eOY{k>itrC7Lf1$E8#hN#xZ~(yH=>ncFF3?QpBg$`INPEZNgWsR zKjV)=b{G=?G0q9U<0BL3bP6&t#hw6=I|SKD{}FA+j)B=6?;60K$D5&R4b$8%)W-&;iGHQVnZZ1}cFjbUxfjdWLEjwem>3zM zH2Xth>K(Na31+ITVEAy@VcmhK1p@w#5_;AI3C_Pg)Q~a>rIF+{TZ4sn7-@LN>XTR+ zlB{Cs0_R0l*l$d|&sJe7Yfp zh1v1EAy?+l-1p0kA?vox85@z;&MR0loUr!_!l{F*# z_U+4h2c8FVXqvj^lcwUb4A&3FG`Lhzi^Co2_+dxSF?O)rw$JTnhQ z4ZVXUOO~(($9gYVMjGC@hB~)RPelyzJS4lq&5NVWfAo-hzumkAYgGD$A!aufT6VCbAkT}?m?|oAP zJ^pycgV#~w#8p$aG#N#>kdhKjI2DXI4c2qg1ZUm>n&1vh6P%z=ru&T9Va|BNB_8A; zC_4s(@1SEd63)>x!gJwnXk64$NN{mYE;?LC+XP?Kr&-E2<=DT0!2tq)Fr&UPdD-(^X_!;Z_)Qgl!{q+|y%Vta z6-|`{jO|Fl8F(@la72rz;<7_PEa`{`tHC4l-{AZ#u^m7B-9ez9xKD+MG9pQ&5I>zf zAaCu)1=bsgM}*B%VsuAwOaWRT5hKfy?r`{M%%?ZRbJ1~cT-J7`Js!(KgQ_d;$mk6? zFW?QRwn;DGET|-2V=)Pg;cmEUB%j$njl_#luFWP~#^CIdE0Wnt`p=_X0C)bj92N{VBtE1y{T>Bq2H zy8CLOnU3;;Ubu`Reey2dY0}?tLiPbgd15E}C%Yr6dkQB^XnP`^6nFq3+U_{K;o^!x zV_f&}O}UrnfH6*4>yxTqm3$xGSHSTevjnQP?6|Rg=rr8loSBBqKuu|uKKc3} z>|YRDfN;Xh+!+#gTO)URAk29|51jZ*5(3uc3dZct>d=V|6x+4PW!nNqHZcwF=EhIO zX_!w+)`=SknP*sD0H>ifTlCW=w1BaTbTdz$iSjS76yumf)i-ErPp7CFuw35TXq=2g zxB=U6nkH79F6M&+MlaDeV___$^OOAYSmI3GJ0zoOVYX?h+f3B;L&vO( z4O-%18AHch^st0?B<@Bf5?wrJ3F@91!6D9#hu4*WO+S4R2VnZkA${mJaTRugrA29G zlA=Z=4CS9G>k@X{4Z8+x+z?8~-t^)OQl2n{%nTx6VBr|Q8LyVUpN7D@MKp7dY$Q%@ zp&buwOt2hn3y!;ba3ka3gBV-ljJo2MnT9UyQ=`(!qI97uhKbgwbR;V?;olXigE&Cmf2ci;|^ z{m2`$!Tu=L#MBRJg|UZDp1>tB)jyru9qLMp`x3;CL`GbW!00*4+dLmg&7Tp`sA|CX zFaP5sXa_HWbS=XwG0AcJtNxMHX*q?(m^T9Ah|pqE(~J(_s?FxK$$BumMbLIrdV7=Ad^wHOqV)Fd7LD;d3!k&8Z-_;9yQp>1PT9m z^a#C+#h7$j5nO_}CYny=l?)-9bsP){N)`W>$cHGeG>Rf~0@4dve1>$jp*2SkNzT;V zbn6ACAA*4lX#+0FflpL5r7nphl|3_&FC@;?TGN{2p(tYA+&Th;0sn~4iS3CV^mhB9 zdKE*97vWHf#!BKu7FI$6fFy>FEz(IQ=8T(J#>&N|PJ?hX`ygzoS*uRqmU$t3{5f;l z9D@9c>b`kg0r!1qBq+&q0wswFhwvrJq7e5$3^yGBnEz<;n9+-HKMd3l9+&JmuN2Q8 zg}U+ZZzn0Bd2zBP>9-qA@}mhnc#n?J3A#^;b=36$TZ2p(6bz@DKpH18ctt%{&HNuzgXT=~6f9|gknJQG?skeHJrVXH1rtd(Y`6BOfnUbiX$%$hit3>| z6*>zV-Uxdlo%V@7yOziJGW3*@8xj>e zVYpWZg#5^GBmrdCG;&Ndnl^?4zbsm?1V;dx?YPntrrPHdn#rzzK~Yw!(0=G9>!>^e z6^YqJb_{|wq;~y3{38Gx^~9w{2oo3W@`7_~sq$WmYhXl6Byq@$$8cjw^w>7$AXXPd zU%Z)`s$_9rNSozXp|l;gz*NuVe6jrwW<`|NtZ z%#E{Eve~Mv3t`z^3p2YaKA7Jdp&U7TS>eX8cZ&mkyuKdcliaUV+4SqS&Cd-GL^bpQ zco&Nu2Fgov@n@{?jJP60W>?i{3Nk1pC}hh~(bf96sHc%3`iUal65K}+7Ki%}_6woq z(DF$kMu*HppWd;ZA1z^z4hX)%hrGTv@b(`QfoXkn6zwR(iQ`wJ)f9W?^dG}mIekeWCEI4>1*omeM<-L$bgb-T zM~Ds6!tJ4cDu6%hFPg`?HOnd^^#7eD_R=g=KxNh-iVatxmis+-WDS*b=G}=6>N&7o zkMRWR#}1f0x?QVQGf8A`?4B%Ru(8@Sz6|kD2^3KnzlkN;W8FHy=@Wi_tQiD7J~{(s zlJqO~LcDe{?Qnc)`xS#ICta~~XX~hozvC>7auqmyFc6ZBFt+Ox+X7bt(}18pqcR!j zd(;`h99lU{;BP60eq?fIHvR_Zx{ch58&l51g8bVAuSg!4b$^fs$5H7Q;sC;dF}jd$ zf>>8N7io#g#l%ZrTtw+pfTo&pOsaGuS}NVGNFWSJ_DCc$nJ)IFrZD!7bVo%IhI5+O z&O!x-%@iBCqM3`7`6k&T6-&`A`5WT%qOw9z3;HX)G^re;hOoDQ~+N7i6r z6F6$zdd?TW5CLaQ1;5)jp6E0DfDl(wX&3FBwraEuYXLms7tONBfYw`01b9RQmcdmr ztQABJk*jPXY|nb4FJP`Tmyn|gt7FK`j07y1xPOn>z^t6=y3hp1v4O{`cpL0l{2GK7 zrV^>%V^QQr2)y|ezCl8FPgsV@`(;&)B&QGI75)o}M<~+`jf%Ck&z+&=Hpb)JU?7k< zg*fI0o$0PY=m7_zM2_#Os+ za8c9$a!FiVXtJrobd{NoFjSHkS~4?Xopku{;V7L0XV12S*+EH$>Tl}M^~E_bL8yj= z4`r<7xhQ-d<_0tc0fGpuCDU?c%pD;#hG54?8kU+zyp+f0qa>R|7`4ON+`B)7pZ;nA$yo`J@I1Uhu#nJ98bLg1F#v`Ns7qTPP%I=3#UV}Y~YX>&yH zaW=zw8vck0Ad|?>(aD5{nK0389G0w6P#YUIz((xFo>&R#?x8nzmeh?sy&>*BK<{Ye zw;UHsl_;3lCdpT_)EhLB_?~Rt69Q*b9lC^!kz?C2G+KB^FPc_57g{umqZD0I-R|jlq13BVtHc84nJH77f1) z+6b$`&e|u-LQ0AGl!t%~CR1EzbRs58i@|}Gs7P(nMZD-~C^d&DBN{B`JK$T^3skFw zdjR-p&{@PX5}enI|HuS=8LFq|&gjbG`h08xX!*o`g%VSio`w=6EpgWRh$SG7mmcM} z$!?m7_4dKquPHfW(V$}J8@2Hd3?G(#*d25w3lo`OcL1~v^F{#QV)Y37p}S=ImK)=V zwCY%LRA3z^t=We7lAz{$-{hK|{sY?Fp&1N(^I`%7 zwRmLGY^J4`w%7>30aYB`g*J{9Z#l_O%Z0RWyk?BBIO??`fDB}iLXdud1OUb3DUs4d zTf{^tRedgkO2r6S@ryh>++|%-q77i2Vj3n|Kz4UHNbz z+=(y2c;M1gFhV|9wtUR7(SmJ&;AIvdj)qL32f()Mx!&|c-$tFvs9$kbYBn+uI_%B7 zYv*6z`_wm@YFWe|Dc1`r-5B`mj!`{rZ78`3T`H{~q--eZLPHTzOi{F| zGv)>sEnHz!4SHe}NITPtpO>)x3Bb7G&>7HXMce6y?d^;{D05GG&5|en&^r%`p(6{C z*@yf5vn9^ofatR%y2++cz%>=9h7fqv^&Ko_=*(nktz28nK zT40d9Q!UPEo{7#Q)m{SNx)Lec2m1}&6Oz}*l%`L0&vYzQ__}O8dSO6Ptk=PbxS+t{ zMIb-#)+(>=zm%`C+rDUZ%KqobnZPNGh_KP|z9J0;Hj{WYXQGLC&+HatHANlZ7F?Mh zf}BiK5xXKvupw3=mo5zGN!&38h$O(oM0Af0fx_oG^FD-dg1zjb1?rRdLG(EP6d;bx z-O+~+3J1JMQJYpg5lzFLDfm_aO~aUK1p6I?nlCJ4T+UMcE|URG&fZOnAQ5m08VuR6 z$)&>qipGa&k_K=ms0I>QNvhD@skkWdnS5ASJ2Y^!MQ9zJsTr^-U@thB^`38{sYb?b zmsrfjsV-I@2R;Po=`wqaN5$i&&5-73NPqVZ1ud1e!wcHsXxuv?=+4;2id!M&?^i~~ z4#_B;GV@Vaz?CD0aM^IV8w*lHc}G{*n8P!&O_;8?=WT?sdyuGx^C?q_utLoOQ z_H>A6aHsyd?{AdKY7;_AkpMCt7#~R*ykJhvW={Kt@Op2 zkX3fd+Glfd3p@V0(^#)InZx_ld?>5A_vK-#e>ORF4FFU1z~KJ3g;7m_b^)fF8s}5! z(Nfle?<2`{a!}$cVv!QhS0BOb1k###Uakqt6A65Ui9W4o$Bp!0s)(*V_Wgd-HS)({ zI<7tzy%DX);#D3KQnWEcu6OQ_M}sCBxYK@dcE1GWjhv;X<=A#1n@Te&Mrs+f^to+e z&Am%i&<{wiZmb>s=0;lCl#uW~DDSu@tolk}zE?)%2zQF66n9K3gF7Uy4vK@;PXzm@^SQwsDpgQi9Sw(7>qav+qaO}YyloSQMqQi`iBlU z%Xp;thshBGwSq7U9?^Vh#$-9bMDs-eX9+6;Z3XH5_=IQol!}Jg5zGA7;~b1o5ssX< zOKnR^4o3yQb#=KB_!v7n!*An_p50DXR74au=IOb)Th(RPg`%=!{s=|IY-spYm;aI< zcqa-sfD&sMq#1U&j9DczROk#`JaR#0+Rov6k3EB+dQ9eR#7(JKnTxR`#- z9V{5;u}23iBi^8IaH}3%@Hl2@ZBh3Q_9P`lI(}5CnNf=%-k>?WCRaPvQtTO~6Rbu$ z8CQnR>(0p(#w@^MkV%D(i7TNx?M&boF<{#H0|0`$io*`t{$l2RmrHP}Aj+!|G}5Qv z*T`GNN`nX}2V0QWjqn?NVgM=s0m)@BTQ0Xl35HsY{3x#W= z{hc|sF^jAGMmS0a&Jk3_PR;{v{tn;|) zc-qWye=nBb^UwG+J)-{o;jn*;UnB()xn;P@ry7AIqOz<@NGpF~6>A;JcP z2!9Eg;0lUk86fKn$6s88sz3<0C+gD2@rO~0hVlg@Kz0XZ!TZ4-4XG*&9A$I`inPj~ zjFnB9UaI>sE;;z){Il=1p7<7(=(*mx5^-U}_(yX}ye^k#OG~$=)OS-h{1X`V>R@2` ztsz%8qSWju*{czke)lyBFIe_Ear;PRg7i5Fw&1qHVJG&%A%%L_*N+H@!NH z$5UXsS5z!TSBQ$-w1LC?A^p-sjg31y2zuMoaF)da%VaER-$zqL0)!t^LD=+co7{`C zg2i7Tdk$M$H9k6KDlr>;;s-J9RSG>CJM!NUYGDH*1T~86gJq96L##=r(S{PNXTnzt z&~r-)6-P}pX0sac)i?G!!YXcrtq0 z)$%uiU>jqR%UsSDq#GOJ#(`kW9gxz4Yldu&AC%#5h8sW4bM1F|XGT+%^z_#m+Z9c( zL!Pcs%sO%AfkKh*ao#O|Td$nWX6rk8%z2RNuxJ#*@eCqFl_;!jZQFi%!VsZmeB<)v zqX@nLTTXbfV|cCK?%jWfeK`N_#7Bf#oJ=K;HKAF8F!~se(VEDJFx6;_BQyer8s-CY zW&n7jld4aL=o5xm;}A~)yt?O0tsUdLgTTaPE)IKHj`O}d65EBE4hM+_P@xwlh6Zq! zpx48O=Lg})hbZHtor?l;XSfgEL;54O%^lQ?!J$_f;%A|W$R)ur0iX@ovdb6}Q!=wEABOd-uDWlfQxQ8C;f|XxHGg~ZHM~C&t6ipQ z3?KR~TLHE7&|!K3v2&?v7-N#?3XIA9Vq2(BL|<@RPffxC2*dRT^XAzszsyK#zK$~q zZ#EqmZ3#+U_)SaN^cEi$BgQV05-T7NB$DHcBxae{LZ}{j?>J?6@k3etDg{+&u|kEG zm8!y(8RLpS>a{tcW8^R*e(n3Fwu)bW+VsPs?)__TcT%ZP6#kNH#mvOvwGFa&$r&%! zN@blCHATPw_u-8d8CQ4z5v=!MoHRM|`MdP0eaaW^(pr5gbcJ=P@VcH$xrR$c#m3M8 z+yHGq;dij~g>m`Ew8-s{&fHUv&M885^1h^n7S>d!$iG}QcIV*3+lg4MK%)GK-q_6y zO-xNo6E-I8CNjVl&IsTxOi_45TcWt(u^0|dTHDi@*0vd^>Y3KI^W!e!wuw0P-iY#% zFz`Zbz)AjAm~P~<{+x#Jpjx4u2w;=vyP^cEXGs8ff#~;`AojU2-?<}RedM7AqxA`v zhAU{%7{Z>Sv#2=i|G>Yhqft$H~me{RH5P52~^kJII|?HJs+ z#93JNoAYrJ&hHrmek@!N`gd@z+}sV&NU^iETy}H(j2T^!v2*akg25*=g3JP#T#FjZ zjVCPk-@JemTj^TTy)9w}ED9RWTduCdsh4dk!$89MBjr&-Ht_gZXq*IbB z_()=0*{jXZMIqCyHMwY}BB}l;$X){4C?5LqkB2FF@xy#V=Y9Ok)VUejM%W($OhaUK%U26}xzt8jclEIBphhN;CIa+(>?LBvw)|cxkJ#y@pK1~{8b13IA z`1GKPOO5N?OWV#|t@EFvFH*Ovatjog%%JL)=BzA`L@!qCFaAf7xkS0wH@rmevIgA3 zR4O&c5X>l#fT`3a&>M2hHCa#k2$0xSbD}pjnT9Tab|RiweisWk610T_4yh>%?4)Fe z<7w)8ZET^fH=Lv(te+0)6)=j`G|1r81{@9($|AY-Cf zvk~h@)R}Gs;vC~~a6+VaeMizyP>cN{S%iRTocvfyFRY7NX;_3SBb&sHCoZ1*=?mlC zm;ZZd?5q7tK3EM;-flK`NtZ{{j!pRZ=Y<7uw4_X|Q6Bux-m3E0!@@46>qm69IQO)A zDW(-@TY(M zvaU2if_v56oPe$ej9qW9{l;+AKBuL>Zkm$+s`U2T7+ei(Q-($To%}`i(uAoa+fPjO z>*+rxQ(}Gu*x^L!pV!{cUOj3^WkPlMo<2XW&-{;WZCm4pPirauR{AcasqI^dsqs{u z-ch3`=uSm4Hs#OZ27q0yu&xWJxBjxjbR68Zi8iLq21Uyc{W<{@4x4~%QWVWn%3`(T)qM+BPX6Mrz2_RUj4N`7$ah_eC=M}7dYW^|rEy%LD!QP& z?uOBov#Kwep3c5rrL)=UtH%46YCc`cxCJM^gsRg*kTYUm&XA0cAA)$ z;x3q1supqyV{&z)Z}^)jvRCfX;)D>Ho$Id`$JlF8))FwPk-pFdAOeGPywIlrSP6VN z2pfKGR?{>j_*4e*b4))L>@}N5nn7Hc99K9{!X|8lX;Z8DdFnV#TT%1cg0g)W?=4ts z8w)k*&PB=}IfFLFg$Hj0@$}97FbD6Uj7ygn1VMw4hk%HBu43B}XJ_-X6K2Q;eyu~r z>T@PZlOr0-KBP2ED*W+RV>6NlLgcb!uGSv~by3g;8f+yC>ZEsOrar2t;zpg1F|J-( z%tV5n3Fv402v+Exv;IW)lda&XMD=Y8u#}#xi9Cpbdvn5dxhQNKAOJx0)qElZb4ZYP zD&ib0iB-Zhbdb}g>)KEUtE*B*+xgN{Qb`-S<nh7)Zj^=Qb)5gtlC=51T-`DxZ)50-ulGz$nAA3|f3FHl<(ZiW zT>_*Xv-9uOkH{}D`>Afk&bi_DQRsP~cAO+?;P?HNfz_Hw{#x-UIj-=NS;Vi`kzZO8 zw&vuR!Nvg_jv82J8NV-mcxASyWla3Drm)`1uwkxG3>VZ-xLlv`eUZO3c-||Yy-`OI z8UsoN4tw&#LnatxEYHwb#dg&~Ksqt&2`N!)?&7pV;P5ae_KYppK}x=F@iTF@B(zIi z%z;u!a3$wKHc=2@C3F>UKwZx3GqhCrKAHw`6OcmC5!eTk8KI|Z2@1UwGt-|P(grVVRp%<*lR(yZrilzsP+-c<7TL86eSXZ;c{WrGRr8(F$(emZnj8n zCAUtRuWH3oaLWX@QuB9s*niCx{5c3MfrJ!N4Pf-mVDvmeptm2*6}MfPzH?WF6z93h zW45QcCa;~+>&GR5ZMtZN$rLEjc63Hot_^7!>7V%S>gu%mS3kB3ui7}wp=*)eGs}j1 zX;oL1O*^4TIzm=IY){Q~|9h~q6?(>&}o&ENEbJL^xMm9M}>r}_Xs{8-vc)zY% z(H=fNZFWrnv-sfm3HkRnUaqv!vItd;@As^Gkakq&CASGjA7m|6)|e}5?yXeS)gU*k`-d^w7<0#-(c&y-7>oip34rEYFl> zxZJTyewSDzmsY~TLXW-b46a|KFJ>ttTp^}@CA7f*?Aj?VH>>4M%XZ9#=A&odfkRd- ztBi@rFUV+I;ZlFFy5f5Oh~2IYHTmg3g}DVPJIro)bA8<-3yb1o%Jigad36Kr>|bU} z8?D&~0_jCismALuc3feT7p9!Q-2eFqMGZepJS}taDu%4Gc_egu!){EPURygyVuo`& z(71tv1_6seSeUe=SvCQ#4yj}fJ>NLf_2$qBB8;qM=S-DsidCl`xQy3VkzfVE)llbY z(T_3kRinhLhvaL$MM2 zitnElDDLRFs3ysqu2x-+pE5Mu6M*r^{WO!|m{}eLHwwxbWWaiB!ENR;kQmNW9Y|)F z5Ftki$u{6LgClo9<|e~sxL~9Q6%f^yG$-Ue2vWvM%aBnI6#3K+z)db!36-=?)2s`9R^aj22)uJ|4D z?e^stgzv@Hk#a{K)|4w<#ym^A=jO4gB*R@U-!;6yd+;HT0b$Wuwm}Dv#+m8s;la`1S>rVuGA$%d_un)F9>`s<&S%XB3R{RZG> z-UHZ2k(TbzZ6WDp9$5VYLe2XR{ljj9#0^+go1@MP^X>NCMo8?$HvjUHq?9#IE{_%- zue_Z-z^}Jq074?KC!kCWsbBEUu-0IA>$J;qTPHoD*3k?&xt$~M=oPlqk_xeabPMn@ z0co_kZ9z*wF0S7@Zz(*p{E)&Zs`vm|5 zrF-vv)P(?4IU+1T#*{yYU$heXB@8@3)*nMi*eobxhezW*dhfeIS#gtlxesz^k8%Ng z!kMO8gWe?&y%}siG@~zM?xNH@Ep^70^bN?1L#a!_xxHG<#Y6mY|sRetE7}#`R>m zYI;QN!y(RP(aNflEAYJt*#>l3n>eNBW>@1#znp`zXn1Yaboo0gt3T(Ome>^^Jb9w8-Jz&!GcfmP-^YyK8DTvBb5yL~ljB_| z(8KX!&p{5F(For|q7OTDK2wC@R72$Al;wFYOs^HS1VNhN<#Z^}=5IsgZtJBek)8*y zj1uX;C*OYB19Mle_U+K; zepWAOt(Bswv6}Y!xKgQ|is*kz<-?T5ZE2Auo(`Fs=38%1xmA4rutSSUktO)&87Z9(1j{@;`C3Km?)9Kyb;S)#1vrp1W+##<^yt2)gFq3 zU9r=`jXReYBT?zqi>@q6HD$<0zvLW7ZWJ9o}5}x~C=zz9PMq z^l&l9J7{3i3WPUUCbg_EliLNhkEyAa&W7KekKhNNVa=H^4y0PGVeQT9?KY>k!67OJJ1F0e~$6#m(e=dqDsje#pmEd*SSg2masJxb}DV*frwRp0MTL zT$oqkJiFm!!3BtcS;=0_P8{*(du<j+XB8NASK4$3YND66gg6wo@u<>xT+LWR?^D*nI%{ zj?Kw2f8TJuPE~(zfU2>&@cQy&IYAvAy^k4OnY;7dBg2Who#!3s@4j+Dr=sNrzKVPP zbt&1#8BJFAUYYiuimc}C<2585GxdI!bo(^&2iFnCGqTn=Y8%p4*IALz#luQ=Fs-dedA;V;o0>oKw*%u-(0>psuL=Ean*0 z5FpVK21kkm<#~V@2H))+t3Sz)&~ls(pJ)xDga2aHyX1cJ3*L7PJ>iP$jI}P6JtD3x z4*U4P#8Ki9S$YY<`p6vkd94UlwzRU+Q|CkG(Y?!VucF7wRyLLQaQX42LvE+^b!i!8 zj>FG+PfRLn6CCjTxdNn+y!vW7&Qv8U(pI&X*53CbAn1BsVYSzL=ux{k{M6aC?k`_e zP7jydOY)Cx5zt8~rz_t4@b}BR$v<68t4KV|G>dVi1E)e+AKf?SJtDgk4Uy7*T4tPR z#6fFX%pjrUL?J7H=ws}BY2zbgVL(7s4VF{d2OI?f_2gA?;myfsI)c--&DLpB0E6vV z!YK0pDPMwlw`I62Uq31HhL{t=Mb1TJp34v09AYEDQdGoQAtazk#KF#4>OFi9E($O( z7+}u9r;hw8^?*af_2Z$VUykkftKGaG=0%~1og})~lw(fw7xfsg9}uu~sGgHsh?MCL zlK&JRgVl{7Tu^8jvO?&=n|tQpdqPOCkRbGqZAKdc$V+yDfiHH3zQ4${6PFIjQ=;gJ zx<#<*I1~tRC<&?vfge%a*?U$53MM2Vm_evsdn?|2C0Cw@q$J_K zHFMCzStrdj_g5Hrw~scJ=;N+z({0A2LKOf=f$8SfH6{VxKY!Jwf1sYSWGeZ}i)-iX9xo~Iw%&KoYUevX^vOn+cu)SeX*WSx_ zEVddMTaf;PZjh5byYAQiE#}&2jkc?!Vj`;-yx+6Tq|fj%K|_q6UD~&HTEFZ83niJh zKW~VU{u5mKvpM3J`t_#MM*S93>SM08Nk2N|dGUxHmB$M1YDvJW?l1dY{+;Qp>iV^d z>)O8dv-@6Hi3Tu86;2)B$nU&?rh9fp{sZyd$Y>I6hNW4E2^k)w42i2k!i8xwZcCkt!q}N}W;Z*{6Rl>uGtt z`>F0F7&+g0=c*bCUw-Lwm;=Iq(WCs!pD7D(dk@#4R7h;?a6;s`1MG}r>nJ2Iq}E7q zb_C%Gb!tjb6%cu$+y`MT|(0u&JfOFHN-&w zviP>-LsI&#u!6`q-}<>DK7LHVem6Ha=Gznb4<;(y4o(~`4ck`t>cA;GO`sp7_1H4o z=KuPMasJKDf>hA?{JD-Z7+7sc#DaUU8g1=&+lC?GL%2CGBBEJa+07%h!yLw@gXYHF zm>IpN$aLC9XuHzqfh!KW^-blr@g1q2%&%`(*9|R+f2g0mX~(BtPnX@eIFM)D%?LwA=EpT7FZ11BS?<NaTG9R7X@6elO`1^qcRC6Jj-A==u0A6f|VSPgK1QQ^` z{+w=F(Ox3?xDs#@Exly2KB=fstU38LGA1dxVYNO(Xe~-0Xl(*(Aca*1sI}mmNmv;; z8b^O&WKc?i!SLp7BiY|E=so^1&9uL9^KT%7v$Zkm*x54Z*Y{Qt6=yG1{&MMR z64mHTFS{yzQJvH|%kl2QkfH0JyUO;iyjo_L{!Y&+t?s_T54JlS_r*UNm1V4`G{o0z{IDF9YG@|TJW)(?R)vr=z>$%>9cdLZPBne~!w$f&$g6j&yIgxJ1QG9_I>qIUaJ}yJ z)mv?&6TY+DH;fNkv+Q!tT9i(eHr~GxrdZ{gY$B&Kvh{_ z`>VCx9qi{l`J;2Z`2&a0*LAALmkRTzKYSRksGa4qs=%zUuCjM>;~R}%cKF06CekJp zQ4kWM5gwR|2H=(+8bFYdC2W2S46io|o#IZGH0mgy8~YAYl5a6BxD5L0*vx#hXzmeN z5)2WW&D~aF64gS#8L0)|^+6VZp%ar92dfD+RE||#~J zin$-+<~KYUH1boOamDXR5xbKj{+W_qS7sBUD%?0d5gZ|o^UXHWtQ^nsASfWicVS`& zPzoeh--pg6cWf-RMaVnC(=t-@9wbD;XrQve&JJ`9Lh17)ID;NxcYu&v?W*AdMhV?7 zfZL?l>Na?WPMIkt#&MX?=F=)7S)x`6UC-+QTR#PCq)Ax7Z zVLi4(lwj%8g24oBK0dSOa-F~Hg0-`+8I<-8ws5YVb;<08=ZC~g&c2m?y?az1KCy05 z{G#=9p8vh~D?`)K^X)?}AH135>u;@TI=(davhuf%7pI;+v#g;yCoju3aIhKBWdN||7`pd(6Z!f9&@%f^{K{wFf zoQkMqYO$^=wLZ zK#(%?5J6&e+H5VQ`vul7&^#jI4SmubT(g&ov>~+RPz05D${3)G0>0khs2V#8T{hQM+Rts4KEhTY}iJIb52$r6y1x5n5 zK9I_Z)r_8;3QB|cVJoiWt}yd zW9m91l&&c48rbCQTK{`qK%&lpfl5!=ySIuLH&B|}wXP;f^`yWhuRvbwIs2mJ$dKMQ z(%*I!>ad~?WkdO-f!hoNKK}Vb-j_#`hVK1sjHx7l3e@`^d_Pdx^fGUHBJ}W5{UEkh zm8rOQ{9KR=N@X)nJoe?)SayS4wa2vx42p|u?eCXrp7^`w=b29(t$F8mK^3Y*@5+yC zyii}iz_obRjTfnYbC3gybRdk)!k1Kv715YUR#w>`_=vdgS=4D zZmyzgs=P6wKdO_4?~_K<`*j(Q++l5-1CvwFy(kSVwL5;%R+}T{$opg}tr!aecxet# zquzgV*zc@aG*}Tq4ZZsxW2yQ&-o*9IVG6t;0m~173^_x&)mBOxr#Q3-BP3+QXqk^j zaVc0a96K}|-z8T*0(gU^e0h4^sImc{vXZJUrbTRKeWSdhDA}Ws4XA(FAp5Xt$nQzP zxx-SPFAl6TlMXwxZ^sVv|EOL*o6z*(M$PjZzNI@mg~z3ZFBy!)!H+VPT}tt+j9Cc~ z6zFwua>B%^Kc{M(ZLIYQMTu46+en03uuof0Qe0 zuJv%ezQCobSD`9*NENaU*MjKvLxS>LHh(TaBOY?ib!5&s7|GS`=cr9zE0Q^VZI=u z@^HGc`-Podjtu>17g_Q)u*p89?&$);d2dzA>zsF#fO92%eReh7A~}L@mXX8AvXRvL zN=oEwt)I_2Vs~?LDteqbmQy> zTc0+MJEK9^?L(s6J1++4It2ubNgPPuvYZm%;uCg>M<%y>{eEHD{#79*xo^*A&KUa7 z{kfsTUi+Dg!qZvJizZy`5_|^5 z>^KBVK%UqQl+7l9!;`66i;ob{Iq7!S}lkyv?f}Biq)wF zaFFIsy(neD>Cw4ZmR-USIFfE9V0sq--zjHiG!HSUAF~9U=~*Hj4qZH(WJZ}gb|X8*(wk6>$wE@vy2x!;^WDOC ze?C}{L#K=rrWg%1bEM_6j`xqVmEg`xdo>9OUHflYWnqYHBg&3HlvR%iDSH~$83nYd z)TF_huM#7bWi|hN-R|%g-+p(x$JSdD`}t3A+%2uhmR{Z92^=+9!>3=Qc1ZoL{x$Vw zu6dUNoumUj(mVV$!D{OK)A#SBN^6I^HoQ*4-LX8MI8k|1!;t0QxolkIjS=cQ&w0wQ z3N6J80*2TXb4`BaJ-Wumt#O&-ki=VMRTTFDkl&o{z|D=u&9t24Zc_ozuyM*P?(EZHx|uk| z*};gX;&|~?oOZmrLi6Mm9XwCy;e}At$bDWw8zx!bDl143s0Z-QW(O$`a3hWi^R9>n*g{|6jV@Jae|CZa?qrR`fsX{w-e}cVh8DklvcW|0hkA zNpZvh>P-ynISPmgsJ9WA<3qn7*d_cdvCYyK8QpkjeGwD^jYL#Faz}s?%W&y!?Sk3M zdo7lR#}>|7rFxdul=*Q;;mws9)nCd#T+gpu-#>g;NO;*5*}KIGWD7CS^(J8|3=;lu4!Bn3jJZUm3W=DebV`q4115)T>%(|zd;lOKmRE3nzFPBG_fP;B zBCb_V#TYTN*s&uwUM*E@NGj3n!KXoZlPMAXuVy$2;bDP9JsC{|l}T7mjpm{U=#C-S z58E0B2a~`L&U}yP0s?dn^)Kcmwm5X>LUcG7|C2>XK*1F$o@OZ_Aw(lHJ#Sn^nz1Er z1M(x;vuYxqLCXSk+0>x0B&w)+ks)^ zRJBT^_Zf7pNuSEH6$IiOf-SKUcdlVh5n#bMDn@qSFcRYwaOm8a4sA%627_)IU>7mU)8>gM&#hr2bL2foC;He6n`J7&l8c zVynoz9^q#!trVk-={fDR4ry5HP>)fmK?alu8EpeC}vBHT~;Ald<3$ed8}n_JLLR1q5~K4fJQRHMZ=38q2?E*$6< zg^cXni3B%IL~b!SkP#D-IY=Le29T)%3HXiFtTLAi09-+mL9{<}T>H-1DY_M2VTK zw@9;GptYHvH@2ubn$d)B(-U&une)$F_xb1vI>1f1xUS)m@BRLfhVn|CWs15kveE%N z(;}l^wMki%CX4oXzbep9^|I6RJ}IlyWQI+90uNUHm6Yx8;(n-ffuiKf7j4u3Q#Mw< z)3;)2YGrA9>6G}YgWvA$Kj=u!%(0;%3)lJ9%y&ut#UoIqjnC~ypMPyghJIj;kwMkP zeADpfCFR@mui?{#uPN%2k{$7S3VxaC@8b1xMBwO*%5fj^=)0qzR?FK3)>yt=oMKm- zbpx-ANs}ewm!r$?_RsQn(F&~T@bYb-ZEei+2eViz)ab@HZ2-q zcx{MWGq6UJJ!^O(o;4~>)x*CSpJKm#}3l$G^) z~#P^*KtTm#?bXL@u)gH}17}z)vKfaJxPgUJs;22nE`Fkf9Jc3bNt5y$u zxj4|eHme6(jmO-Lzm4Tjq=%OZPm8Zz&!1NK+uDW)^qA53<(-xCHE6@DWLF(@!DVGc zo4TXE)Tg#p`_c{sHg+(OS9YeJ|Kvko&<;PLfrhoEzG$EWZ{VPRlBokN@zXqcRY&yr z*o^vdX!Wh|>aX#1!SYYT4)vF5;=QWd$8X}7+KPHxde%DyE?ytj`(n7-;Qg1C;R!{1 z0@0iFHTatk{>Iu;eKpNYR<#kIwOQy1jlddo&vJCnpfw>8rg**C|Mj$J8hRkFpw>#03p_fc~FKrTf$rv9(_9BdX+rS!!!UFjORSiu-viXm$^@CrB zM0Redq`vvL&Zr>s6FQ^Y14SdoZ8@xknn#Z>uUvR%h}`?bdYW_Ywrrr@(m-L{*48{J zL-P#q0p7wubw)omn==LxCjStBYl}g|-`F5_=jJR-P@(C@ZO#jsjVrqf=KN>>a1428GiDaI>5I(qqcC~!4J{_mp}*Env!{zcqj38|x?P4xyC!QGfWMJ%>Grdtp*M_Ef?+UFz76bFUw?zU>cm=U#MTd& zGUB;=!V^yyn~6T%2lIpPfcdo=->Dcw@)qz0uu~dXc!R0%2A&!9)KfRZm5W<-A6WwZ z65R)9+M;VMsTT!r06RygVh+gNxThdXX#U&hjS##6zOSs=QwVc_8Oz3oO7g=t=#^wL z1z0|Qw1eRWXME^|7I_Ok%pMl}B~}*LVLQIuv`6dF=i+k1yQ)jo#r`JY&*^Wp>NKx- zEp4d9!|1{w=|cqnITCSeFZbI3wBufPqBanSu z-VHtB6j(R1aflo{1&6IKPNl3(lkFf|t;ne8j=%2e7T7QnpA;I{1hcy^p;G>-J6?rx z#&o5Q6y9#cmb44q_$T0RWQ0*o3AA6x>sIrotmqUuB6Ao=Nn{E6ye(*ym%KI%pD_-O z#j2?*x#>hK91fL_$RolZ(-!1LQ!ed^=5LXew!zz;hd0na&bR8GByUnbbGf`xhdu~@ zDG6`bc+=k%OAcJaa{OYB{8Lzchzzzf-Ts#P56xdGJjiDLVYD*hE0fVW))nX_d`2<< zRazSs(nh;Kw^(--f0!M_!4b|CM7N8K^5uplFrzkQ3)K6+W3oBrfP;L$G7 zlAgr-2ulQYv(RwbvI*TpUpc0^n>2Vg?LaqKR$^kC!OHo zJgL@SgHo8eZY~FaYQcb3B{J~GD}=*gBX@z03mqvJyhQVrWUpe4+l zsHa48YB5~sV6wdCp=pCjC#;3y(4d3iZZ$FK$k?~OU`sUhE#J(s?hy=!#;f{ce>ls$ zZoKnhbV7%yn_-3_6r0^_IC!fU42K5s-{;px^#?Bw6kph4RE252!vkAnGD36#%~A1{ zScm9)$>Ly5^I-yPy72xIrvWz>YA-nqj02ws>;Y`JW9fDWy)3qbj}+@-zCN-p_M+j$ zU>7wz4)_0gFmXn}vk4DIyJVV+g2nEd*LvVs8+mv6;3-5Cf~8<**TPle**6Na7^C)? zt0b4(Y_M>2%to?d>SVNdD~+Bln`IZerKd%b_1lNRmvRFUp6s)^PD9qZ8KQR=Cbi%X zMbAXulua*j>htNvJPduO(5r&yB)brNn6O}AP?$Gp;ls8H-WyNAy*HbJYK!}S8orG( zyp825>xlC_KTM1GKb(+>rlmwgiV++@G8*E4ETLvYFY}FJIz-FN0WHY!dQK&#hEfhJ zD03n?wXxLr-2C>Ee#>{|&3x&ceEH7&eszJ_JH9NxROLjH*_1f(Ib_e$?>L2D=aS3l zLr4mfV2ol&v(z_>r!mE8DyE6c22*)Od2OBK`{r+2{#R3PY__-}JyaG| zMUh#G9dDj~fsSvPuQb)S)N1~2~?f6p2rCCWx*a?|QCZ?H_dw06|vWp~ir0m6% zZmOHd<6Kos@z1Uf;YB6on|%RA=}2n^{;ucJ4*wXqRQ5V#EHiScTxeGN+}Eihv3joS z2YUUuc=^Xsc>UHQyA)ellh^OYk%siD?bQ+5_}AW3sv3%ST=R1I5`VryuR17g>~MW$ zxJljfq-^|pPVpDYwMnwwn?1(8igBe!+WH|oWnGfYQg{|> z*_tHT7S-C6D6~RbTGOFI&s762@7c{Ci46z7$B>@=|M(K2(R1-#)M)w!`T(KPcaNaO z7$WhL$RaQ_FcAa%UtD>E^m@drt*v_dxc53`lf@@@>gg^p9_ko0l6RC#xf6bdrI^te zpbJ~Qb{xiszI@#CI@joi`#sddyAXdkR9R?z81{pQ?RHyP<0y=BY>U3<<24|Tn*_cn z%o+c|Ft9$uo4d(gP-9zms!S0h8t$X&@D6Ae35uOYGYpWhhvxf5HJu}L(1$&Bn zaK%-h`u3j~^hYC&LpQ-Z=zFtM4pbH<9ca~NvR;}6rPVSEd>B5x+ay_m9vj#CYh?Yb zV_#{Jo$MaR?U6k*CLtLKe;|9_BwI3JZVqgu{(o&tobNDK>RtQK%(aDWp{pMH71o*Z zA)$ffoi18Ce>?B-&3KGs=F%Fxhh`qLBm7GIG|w@v^}RMIYpt7&!oIK~LU$a3;J z1A4Wb&kN~kdH;|>z|KS?glTMuP|?@WvwsYiuE(^()TQ=LD7H%(<64P_qmH%5CsTKe zpZv{a-oZ5IH@s?)t`<7DoiK7j2a{E{uvhLG`6s~>jI-s9gb5w0l_v$cei&EpE8D#1UYK#pFx9iYquxGqShC7E;d=7VIs31B zC0|{C%{O8X`k7CO>1%u=sKYSVV&E~xJxFPEMo+=l8yPgU4|H>_U)WpO&=a3-t9nt^ zOa69k`R06EX@kS%{O~xHR?0W8zEslpPOM&^hUE_Q?8Ig)@#UGIsd+3F%!}E*6>o5Fi9KPXAoy+Qm`^U>&D|CvD z;d|;~xn<~rFzNzTV-mi}08eQJ6<64^jg7QnpiET)=L6qwS^0bZAt~bCF9yKI@uv>8 z&-1Bi81=C(wbRk3@UfqL;2d;YdQ#+m*bBU~xl3hd{A7iGnHa9{Ixns5(AY!nhFJo; za?h$$Eude)D{A8vC6UE#T0KFP@C0k{1QqNF=nFfW72a@7YAEtbl~-ru6}sqMYd9;| zFxFTzWl3OW#H)vXNZG_Qu5XI#ZxUI)l~3k`>Wcmt*Ip-;b+mkBHsy4pp`xx1l{SsU zuZ~~@=n>H;tN9~f&8G*_prH*{+`x80cm!H;+hBBAYwjOEfiXa940&s4GQw@>Dob$3 zpl;1-b!+nBhF7<4P1gUmMzF($WQV*py6AAUMi;G_(yBGop<2=!ZJ{+}5khOwDTXyS zd&Iev(=H2-(;1ekQFT7wRNe%)m~RamgrSb*p2Mg7R(}}Uuqc1sxJAMn9&u+cNPshfot z!3R@^VzBdR<-_*S5*_p$_5>Hyle-`@*_%FOPgqbV;LEnu{*jEabd-^!&ksf$Vb%6O zHPKQ{qjtPfZj3ICk$t!@&!ws(Y<^Em)YKJCni<8*Y}xx|AE>?YU6( zp^isuv%Oq>Yaa&EBDyQIY!$u0Ii*GuYckgV=`Rkabg$ag-{fjjHg>pI(a3J_0ttNU zM*Zyz8|*At>1TG~04qHPE2SoID)}W4l#MWW!qjZ}H4j#~Nbnl6rMjmD)ShTX z{a5I)p(_Gax_pI15WNI9kgvqYVv{et2&2Ou3sVvMrf#qmBiM@R|Hs#v$JLnr|NlOx zRiZ^mmQH0!LS-ivMNQe-lx37+>>4ps>6DX5Q9{Z#DocZGH3nm(4pI@aGYmy4dmAbh zzt{V^?^BuY=kfb%MxE|+-PiTL_UHTclGfCs8I<|4PFq^zBE-sgK32Nkil?rF38aF? z$$f@j^riKk3LI@*S_8L27|ZB+6np$wHl(*O0P>^9*O6cQjb+qlw+KV{IDQsm^A@YHue1n8g&CuM+f>+Qj2`GR7(M!V?69lu+opP;rS*?mduDV3+uF+i7!) zBcS#PJcHb>h=DVQhpr%hX$kihy&2)(GRpQo)N6QG{BY&#$T2aIeT{RrdTM=mK4498 z!I+cld~7Yok+2uO3#J6{*aMvaGLMR&X-_7dz%gOCEK>(3CyR-(?5p8V4tQi^6s`VX zCX_B`56Z8vH`NxC$O-c0A=L`A6(U9OIXIa**{xe(z2BQMApz#V7Gspig@RIBMpfE{2B?+*t+O{6sgFyy%j$dR;F2V@A)Rx-%Mhslb%tr@&B+^>*ax}Nbb zeKhRlYDibmkHX0Yxy~EI{g(Kl#1=fJ71#jkQ9^p0j5Pv6vym?@!4d>ga11=6KO|M$ zx$P*&x&@^m@C0%Z47qaD+cB=Q0{a11^TNuPy*IcMkIub$@FNcx3*k>tH3Eu6sFYlH zdU|l*$pR3>@TV3ML4)FxYGKhCzg# zfegwr@P?9wF@Yg5*}m;JMH+;}SX~Ukrz*l{p$0?pEV1pPkHeZ$x6>?;pcx0rD>NKEC=10i@5S%Zymq0|9m*X;1|n1^G*~sj(pbxDjTUBq_{; zPawm7fMhAO(j-u!LQNz(6C_NWE%k@eohbETl_X_d(wYP-L?H=*LU217^M-ta;5DkA zoC9OV@8ftd2=(Q!nR#3rsp z293t|6b4~=wi&IM;Dti_O_nCut1}Hi7^jdpPs^pEg9I_6G_AcdIhB*xV_H?DdAgYM zzLqA2yLd%yQ_VB0fNyX6st#@MVBHk8T6J~ZG_MqsQ}c9&K3LiCUaNXn_f1V7Z(5Q; zyc2Zz0Mt^F5+al9{pL-ea(^vo?-^f99^1_I{(Y*?Wwn{f`6C|YauT9Uos`ER1sute zYvLH(Xf}~W$24dNl+$G_1*FfFkV&!ZtV`OTm%8;ZEQM3dI_KS z{gS_=)fPlEMeIRN$WD+JLy^J>`GPG9gLcXjA*cyaH{p7h6_0~X>W0e3!+Cbf)BAft z-;m@8seJ9i8&#OHCPV{KA@GAm#4It9Zz~)@qJx|0*~>8g z(QF5^39HvV7hr?hR?a{4A4`nxQ zRZvhu;r!?WC<>{Ml4dC`09ad|fa+A46$A|zYclCZXhI-b!VEp3*TtG^(2h%5n(0vY zBq>Bpsl2GE)Aj+K_~(T7rwkTUFeO${6m$j#fBUwLe9OXR%aCKxDc^{Taqfe6-Ze?1 zs6Ap%7dnq(NkkMU+c*1!*g{(Ru;Ed@O&*kPY+#!eRC}%{JcevavRo5;iWV+j3~?K1cgQd2l(~3)S{o(VSbe9epdst+*`pEaLw`p}P!YVcBa@m$ zs~?3#D@>2 z?@v{TrUBbK$O}l*ee&e=E5ys=s;xi>x@yN5xaqk8fIX=HaO?$2&}l{e1VqgNb2FhG=SL zF8DLI$nbF0BMGJ0kvSxi#Gngd2eTK<0$VJ$?Z4!YbHZP#PdMTd_D{GOJ!e&0SLq;o^H&OXwFL@fC1oNX3!>`wd98bZFoLeprY z`knsbQp%vzag9AVZSp=1c&u&`+ZeB{7Mu4u2613=-o>KsxteyA2I>GnI61ewb;Bi3 z+xs+T@qS7FaMXNKe_{7)^l|cO$N14wg)XQJDHc#9&zJu zd_Dmm1)xs(EbNgG(sSdaSS-;{B`xN4_++r`#diSC?Qq0{%HR!!CH_mTFp8w#r)R2C zS+fJ2n5rJp-}tvLCMmv@1`v=VS!5`A@PDxos!F8JN23rFRbD_BmMLHoEkpe8K{tGn zb6Yh&qUsg)@`9Z_lU!6;d%8=Dy*%8Dw_dHkx9rORI81aWOVj*AHlJ25AN)m6qttF) z#mTa%a1{&)djeV9^Em~R4*;5WRq6G0Y~|_-HL_AF;N6l2LLB^>%M16HUbL z;gA|&sH({&yvo@au%=}Ehpg%`S!DwQo|7H{G+5N?2-U~@YWp_q? z{PCie?XT_Lj*WMF4KuA1WRiFxzV5=e1^*i6Ll?BbEWF`CPz~g}cEqn~+VijL(s{6H zCgsq)eo>-LBUYId2Ul(ge)8nmMM|ptn)TQbnscxYxH_+(;?&YF`G@e9wgvrc8y4Ao z&Wx}AVp!b4Vcw~32F|cRc$k$)1D*8qkd%_jS$AUNb|C8jY5gP@O2)bOp`@qiQ1E8c z_eY)!3ltLegy0m3bGCe9K31#~No!W|i6jvRk#@v`45Fn4^cP5)piDkwHh5e+L^FrJ z5*{F1_1M33eM-rvfZ*X;MMY0pM%m};%3e|xPY{rbmKnTqOP&-WOX z91my~d)0~HIUf9~F6-@phnX9+nO`gm9o&WP+BLXIY+HX(3(2F|7Z2GqTZT6jrqrA- z{u;xJl~u=`tS%kVBe$TS?}>(gRBwhfM<`#M8D9N>iO_G*3NI=nUo+8ptmB2+EAzfJ`7iHQWRlFn+fMnr8og}H_r-}2$`K?dvF@LCoDls4 z=LQe_9y=tOpx0H-hY%WDKKN;R48Q_h7zO35UqPSS!_0or+4U(|&nHXE(#K+{Og38R zk1QE5!m*)H%_jHka{b>)S$4{yt6e{oB%BN#0y*c<`j>~o<;P2Vk)DOg+lI@bw$~xf z@$0isH+?cSBBQYiARQkwQk1lAdQ!LY>uQTUw}D=%l@qf+f6%HRwD>gq^$0BtF(-s@5&1fXS7Men^We}4;W4b3aWKedBBIrnw zn6IKFa!cTW0wMuy*vbKOi1%;MWMXF4Bqt{^PQ2;XMvg862^a8Zx8jVsX@#}cydql@ z)`jXMROfCUt7Ic6w5_~tA9?Ieip*o#jqT;x0&z3;Mo1Yz^+09jOx1x-HCc^OdSil?D*d|RpQBx>v-jM6_s)#bqGol?U zSnaviT1D+4|APDwv2w(Q(_N~@)udWZKbmUkYq5>wXXZV7a&Bz))}ZUy8)3tPs)1n# zmeQ!j44T?dHtaNcJw1gGUCR%W9ME(BKbH1b?inTCgros9{;+UBQXr}h^=>ZKnJ9&P z6kCon5kKB#T2QNm8@#cvrD~G|qEyTs-Ly+T&Vp|_;R(NSf*KzB%@O$lUSm{?)`V;{ zCyhmgoxHXP$fP|~6Xp6<%{v2Wt%q3Pp^wn<=X9A&U>hyPJT*N-I0unEj=}w$?&bHul2#S0NuZkWMeMv%iI9*S$%EPGDjAljZqqzK-g#=8I$f z?f7sx-1Ua(7JsR4zjLq6?iqI{B4q~Jcf+6ks#ThAm_I)1uTST@dw={iwHju)yMlV1 z+v?N2d;pqymDa-C|9~6AZu~Apr%*x)~fX)%?@#t!)Ib&`Z7Med&;+_L!>;Gcd|I#H1zX3@tKvE z4IfxF_AD-g?5}!C_;bw<->ww@^Y{_zD^WXkzm|y6jHxv;!OLW~6S)j|#juj0sCcH{ zNaGBw>apfkCtXuSN;|lF!`OiBQ>a}RY2uiOI{BTEibwMP-!z60J$vQWEsop!^wiEz zYX?^$V>GsC%?J0a%nGaQy0cGdeH_@JnY;krp{Zi|^9@r=@A&+9rI(&e*>4<uQ(c3+yaz4Bi-Fub=PK2-CT-})o0{gv9}qV3(Y3mpf~+%)37Z_=4x zS6;PV!_lO>=Ff54$&Doaj8Wos^Efv;vZ6JNEq#!Ay=UrxDoNb2aPdL@^=# z#Nm3IJh8;9&&D5!Ia)`ut_0t9z6rJ$y(&;$-ux`T;oX7}TSwpVm-^{(7T6tQ1L14& z)4I3WUu~W>l|MORK7b^I^n3MEeGphyWawKyW=%nb?YBiXYnJbJSray7{omGe|Jv|2 z`?KkWuy64DYAh}vHsHg{emS94R8NpH zcaY_8a+{)Gs4@E$X>rBl)0dH(*!AGP?DbGPTR!8-R5<1?4jm9__+j5jn{nCuM0Z4q z&M`+H#$udivssHPeJv*H!v>wEZ&Hq!=2fg&KS^(5LB&e=Nm*K2<~hub{`+suym|-} zJ6PuV9#_%i;C02>IgC!&m%VR2S!hyoip+5sR?^T7MYnUPidEsTL#oe?SnT8w8!dSu z;yiP6qfIwz=|iI=!)~3vp$YA**Hw0>BejdQ%-1&>k`Gt{VWp2FN#v+Qa9=kMh#IR6 zg=imXvXf^b|4T#t{ZPP+Mt_~Af-+(<#Q9{jdW04&UKDl2KUTAi`d@oEG}3R=#ghFv zeWH^){=?evRE1^wx$>WU0=;TX=GmFAzc?G_)TojvGkA#zM zdxKU~nyk%O>$T>k@@UsoaiLa)q+8lqEf`sR_|QdLB*g*65Aw^iLp`JByVO9s722IK z#)X%=`ds?+Y<6tqT^p`lQStRpUS%`>{;Su*=YPgu_)RHG-6_-eie+$^y=HLKUv(Wn z{Bveo#olKVhI^?Exml9?VAhONgCyt=W{}37V}N^((lqlFtvuP;8mH-x_rCkrU&oqh zQbTGQ3Y*ji>>RF^?T#3F<&wwd(GZrHxN&7iU)M$L{X0d;)zBJB(AUI4DT{fTdZ~({ zUB}T80D1)J$wImUeZiZ9LM&PmLWwc$*22_T(UO~@b?d2Xz}kwg0HPIgk>MPIOJWSA zDLFKL6RzgYyCW)dp5*VM1F-t{aX9v!j+>kGOF# z;PH$4iA+WR1{=Aks9a?Q65P1vS9 zKZ=a;v)xjG`ddRTUKw*M<#mty<)%u`D=-pg!iEb8j!U^LwYWcj{*s?vq_w8rAnA&w>oKN*&?|JylbKUW-YH3~{?SVeS@5%S!=MMT z2C=V84r*Q4Il&>idd7-^+mCvle-w#q={hE>tK_2R72(-b9kwR5?wsL^#6n}7|61gw z=0YEJ(%wuY$I}4_ju@ah5gn{N&Oq_zC?7v`=<9NgH1m`6D(a?HauZ{MGC#;xThf4z z-40|3=uqFR4=pUK!whi)fzAx&$ca#nv_jf7Hq3NJMOKi#HBGqBUE1i?Vfa2^R>JSW zpe7A<(y#}bGouqn>V90X;g7dZXDqi}(8J>1!-sd_%2kkmXj=ccySHvnoNc<|)8$!Y zS^$j$v7OoJgp-EGSugf)3O-tSH#l!skCZtDq02WI?tPQ_>QlhnBa@zc?&w&3cgUUV ztFNSeyg%P`@zy)*DReb{2OK%=7#Mn{i!Lh}} zm{gUZ!R21luv%liI5INQ&Y^FD@u|6;&h9wBaJh1h#r1L|J$v?2aSIOb>VBy4-J?u3 zE?TDTbU^E5sm=TS(4+nJ&iU>i8n1-X;SH%}b?wzx+(Bf&c0;eZmoIhlzBP@uSm^p+ z({rj4diGmcvu(?yzc&Y-yZ-2rvh`=}JxM(-?{kOx-#B}zt&85pv1gx+FN#?Cs@gc~ zqS3F%taql_{rIC&r%q8Xa!ua7c{*YEo_@so<#P331E-8$X3}-eA1YPV4^EcuyF8`z z@u)R6!S?Rn?5 zs?{!ypyJc(=Wkk2+6ZNW(oz*Y+)4MQ8^4*OKK)V@>5?rEFm&T|4{O2G8`4#X5-Z<= zhx6M>gG(MVa}+IGFcBf2cAO~5EY6OEpGlasc29A6so}TYw&zw3uL%3JB&+VP;WMX> z+1)Ko96vjJ)XMnTc@Y8iIaYb1nD(@YXk7&AUjg5LARIEjw z6SEB#EIn3WQuqGl!P4KiIis^^WNch=LVuk9rntJFZ_J-H>aDv^1x+5sA*Hupi2_RV zZNGN$`Szu2aN)igLN5}k23L3dG})#;Y0;$P=qc|<4zsZQfLbTbHl_N}>P_an_9RwW zxCc))8n?wr6RzBpfS|j=ob}X1NYXPY<`q36qm;vws9EVtn941d5725ka6sjr#*Kl? zu&bb3P}UoCs#DY(;TJd3CU^7RS)9|Mnu9|^(x3M|vs?|gqzA0#>MKQ^j<>mV zFEZ)wa(_8Ln!u&KV8P0RP2wGEUO#*{vN=rpF80@B!|*6sMfU@98-W=;V!<5f`PgLIto)eWmJ!YtCb@h#~tcrc7uwi}mrE**I ztGD%^;h{ko3aP$ATN70cr~^l3IN{>Z^Jpwu2S$LzcR}_jFKVr6c5X@1bmg!ECCOvt z&sc)0xW>floFT`9^D#3=3>aeAKqoF1d6FMGMs|`3RH&eCV#ohlAA`_M#`XA z@CdlKZn^P$3~p6P?NxY;s!VD#)n(;ajBYQUKCHgm{>+Ly8|LK4-gf=GbVj71zSXXY zoNoHYiuT$OW?Q1ho~^oKSbQxaAlRr-wDVF-<+nkw{MKR`f%!N8mDkz)qI3Q}x8<+* zNqfAdO*)fY(ysngi*vK3S$oDTpK&>J@aV`U2NjY-2@4w=^i0~bHhxreM~uZ5nXe6{ zWj`8L!0>x$e9zCG&wlwc{^a1H&DR|v`D2O;9m9jP+E)}E^w{`)oAc2nnM@*vM^e`jjlo1#5h$!@lS~ku zieu2?!S^`Priukv9nj#%|B+&zZ`0(&h$tR|cvE3w&h$sPNAdI{(`CMF(|$ zt^1&ix#yxclCONUEg1X0--^Il zT)loL?FprJF_Hq5uia%Pmfe+%8QOF-)@5j9R1BwwUo>=Mb?sZ@V*Ae)z%f zIFjRkaE(n-)GmufeN?3|WTTNVA_WZt?><~WTTktuXwoX7NiD@xQMdh2v2fwS)M=&` zHZ~pYwAHWpb!H<>Ee>8V^hS9&V@l=D{j<{BEh}M@VXUYmv+%E9O(h*oB$v8pMFe0? z$Yjiu(|n#opVco`%MQpF;xjDlg5E~Y)hCXJ{>6>0l6+FgvIo;A^yomk(NPD5dY*bBUwU_mm)Hq1H5&_gVwY( zbUC+c8M<5)6&U-y_56w+&}byN$_WssJnG$jD~1FAw$hmpze|Ra>}Tv~1fe;l?K>CW z_ai|{zh!{)q{V8!a}MY_>dcuK?cb;VQD3gFilI-WbXDh?+rMZJSkWWUcWN?p<631b zw*=o!vwg0~nMcc%Io!;ORCC2LWx1=gA~L^IzUR)6j)QH7Pp|Du|P7jEH$f@-o=RCUJ96IEtUo^g7Gn(NTLXTMe5I2ax%j*E*6E^6-9sgu24>CUFT zXKPQ{XWtB+;_BdsRrD0wichhhKD$Soym|YUt@)}Ac8)q9^YCkF=yd~wRD&+BL!N3i zJeZsFB4CG-s#~&3ro)Q$1-Y#XdSI+rJ33URCthIgvpvUR$pAtJ0fyO7o;$^A{w z{7&nV@+AFAH84nFd(tWZNMf9QaG9bI(M!r);WYfA9Szvdqk9s{<9Q4Mu2APpHNsC4 z9a)1cVUoy9pYV`t9O;LWUMIB#lZj-1CH%zL!J1dM6l5p?*R-gYGGR)|bUI;N_1OOV zC-Y)_Q4@~M{A1T@c+FrcSTxSx<@DmrF6cgZQA)e%1+#@>5W7(T>XUs-mz2ufb9sZX~`@f2t_t&ZW#MzkWKZ04gW;?uGPD8X(ZUDN7H3HB?~2cmW=nr zNVR0(u2`+Ghc$0q+^y?66+aIx{?-N4-qF|DFPAiZ)=8~(c-EX)_wytZegB0^-r9L~ z>(wi-N3iMOCHl{^_fB}UveTNs(&KhW%brLp&-;{|O0nHjzA3xF_DmTqq_wMC#98@( zpeXut10tvTE}qawYQ>v-@ZmCA7oF z=$_#xt2t+W?)mW9$f)$10uwFEIRkG$9TrC?bvk4+XK&K^*lC>W%hADa1r5x(uv*Jk zblIe?SZ&PU7n>?q53c-j$$pjLJyD+0u#eVtmr0iU`JUn??$GJP0w=p4v)g&5d0+qe z<)-pKYVS1uW1_mMLr(LH_dV+WPI%RulVm!2Rqb})kMEWekFG+ zXTwfz`)Jx9JB`H-mg+5f!0@r>2Q^khx^99(DjVK@ICO^>{p58twT)hEJq zzG|tn4R8d#RuY#!KL54!Wrqzlw@%v1VRby^S#^Bho8JH2{CLEs#J-}N^krjlNhlG{R%rj>13<&JlALr;rkPLsmIOb%Z>Ayx9Jzf@6= zo4jj5Q=VR{DE{QwO9kHxrq?48K3}EUa9{skqSR8*4h6fr_P=ul#yr?e?oX$&3Zsq? zcdt1mUKp_*FU!nyBtd%r(LxJr()b`K^xBCY?O~#TIMqE!95<|hz>c-kdH!fd$Std6 zbu-b{VFzt8ld2ah%Qt?|^mU33kZc^e`X>Vz2m_%OalNAZh_=|>1v%<#2hS&X6N)-- zQ7db)$ z_GI6%g6OZ2`j+i!23iz;cf29erEqIA`>+ zF1oDk>mMCcZLO^{O{AG8i{77m_!Hfsg5o9hLJz`u6&jgQrh__N(SYp)fEt1~P=4XJ zg4ChT6{a1!qT5ha+@+wJASSpS-Nz6o;B)o=j|wSnbzsn{33E1u_+ozm^1!4KMUYVJ zN1CL7t*E*^MUe~cV8C_26&UWSaKfu7qd77f#-qdlkYyUa7Okq8@M{J$MM90TbUGSh zlqiRC>`y0vL}TCs;C-3{0774(vtS&s;BqC^j5hSlncf>43bMEn{?b_9PtzVQ!D)UW z^+AR&y4w#fakQwk=VH!ecs*3`;D%)hbrm7z^;MbK{rSb}z(vb?K< zmG_b#pcy{xcoG-yk)G@U)8nLn!s~i|G+d#s_N70L2PB#0e=j+lyjpkDC4hS)a4Iym z?%$ho9mhb~4v;8hijb`}*TeUAVR7E`=I%3wz0>jRr+#+XJmsobN4<`jVdsnfT=WS! z9(p<;>oY3$cCQw%cbh1s>BjDSg!g-(>|2 zdosO8e$2oLvDML+BEA2?`fZ^d_Vl zp($~l)mw6@cAcQWiWp!Tt6&9H_iJP9z;OXdbK?fiVQ!46GIBmHJM6pUV03WM;Dc^S zF){7>mJcfXOX^T817Y5My}p)%^$Vwr2Y#9uc>8M1*et!BdEKY3>!6uC7WnzaBC<*6 z5;f!7?VTawl1^E;M|y`NHYbeQ>r?f_QIjk5X`YN5jLPZ@mCZ7629du#JI>h^oG7#{ zWQMy{5dk$12U>RKP_*>9Tb*mGvl<&BrPX`M6h3?1hxnWn_c3=lnTl`2k^H-TY=(b^ zKO_jWu;{w1y2z~B9|OvI+Me%Rd#f^}xY70sXdoMmX-D-{9oCJUj&T@X72k=060^U> z;zg$kNvKp>Nw{|YuD_6UEg!cP{aro8QsUw@?f3tssn4e`;BwzcgD#s`-U{SuSrhO{ z2EOgY@scu~>4~^buuw%x&AMp6<5y;C5sW{#VF24G*5!O#mR-Ab(63L&M1JVVIi(tD zpK7`vP@4Kwt7cjXNuuxExs#K)7H^sFw{-iA!BVZki~iah@LSH-z(qZ($VLau032wv z=XM;qO=+p&`7gLy&3J&NHysk-orF9Uwvtk|8}Gm!p3mE|2;Ca;Ak_S=~|fsgKM!J@{QTAFAEcal);ezIA2@N6aPagA+oOK0luzYQHu|! zs`fUH^&g#`u{Fk`{FB-U7*hg+X!@+#ugHSOe=859+iA*sTl5BxDidXLsWzOp$jFJ4 zP5a$r(6m7!yC3&ntaHQH{r0uTv*7&DhR2nhDqI4!=GP8g;07cJ|rZw;rC292@$% zD*tG}g2#V$!zIe8@;!sgnuBs;Dr`seMxs=D2|U&fwD!5d7Y;O8?pByC{a|9uO)`Vs zFgb|gDwfCom699=&Dv0T2>U;|8=&DBlN4D-+tRLt8CpR-wN%SQ~&SDbAL~L^`urk^b2S1erU>qyFTBp7ay3?@wN77uR&=I zXM9%tlEQVXX_(V1O#97SJ?YxCT^!K8j_Ti<&zy5u$ z;9f^Nf8(PLnc!L$0BN4zUKX9lqBD!E4W@4<~dwfx8Vf4p6b>z(4F^WlvWTsb&=w5~|N656)pd~x&8qCGE$ z;0VK8vj0eC92TfO4b-@Qu77x@$N7%)m#+;jDU+*LZ}X~p9}pH-8D24<2??7eY5}8n z|NPGr8ujv^lJAL&Xp=>%lv2VnD%!+8pT;sD=_VA-tls!M6&iuY^En1W_Zp_k-C_N! zL26L!vd;_^p4d+KL&HAG?4f+(43ZVd#u_&{rJ?=bym^Dr0XI%s)xNkTt<^7u#5Ene zo0pvW62E4DUC4qA<Wsp$U0K%YA2>8oSI1H2lohS=NC+b=-=T=QrtBtx7MI-0Wx&NIPTi1q{r@u`3U`Nsz=$> z+@4xfdVZsw(xL1R9>0ET3d5nKVfj+M8dyb;PO_ue%ms#$vMAOVw+Do_`~>`=UU%l z?~Td6=+f0ehQYoie$0^z!~%?Ez-Z5nrTiY2;-W{9g%u*T;ieWUUUDf|bbllJ1XoE!-$#Uq3v)e|0ROyk}bN{(>iGNG3R8>hR1g9+MUmR+9 zc5rf`8#pz}p>VL@qHZDC``eeTUYWm*o!xw2tLj6e)(adFj4lrS6lftHuBv%{P{U{f z@Pms&ZSsG)jC_%yX)lyZPBjFiP}7qG{9+uUGTuUwl)!L)ZDp7VB{`2e=te`N+dr%O`-IjR z24ANQHgLM&IkE+0IU>1JblN9$aAj~ll5oZp=O?<`Ty>nf1h&<$Ms9uh>yLQ|oVf@O zt(q$?PeLv`PD$;gC3E=k$DTKC+|bn08e(njymA0SB`WIg;EP>-@+^-IesQ2UCt>n> zOVAhxMucyQmwrshdfp+R;;HSx+H%9JSS5z9Y|+-i?uD|Lwoj$Je%9q#k7k36Zvb)`l6$uMQ`rfzFVKtev!>z;kdD=$3uB{twn^THe#Y?=JB$S ztj6JGhZczK#2t1ueh8iB`SC%JMb~(8RJ^Z!p}FVvvXCZ^%9l@9?(@K5c+ImhA4;0r zuMZ4S4aojA)-ZW7CPVM`C71uL3p_tP^9)irY)4%-4xTjWW7W-B_8yQa4!jYRoj0tL zPw71KU6VFvnq)ic?Qr$n|7y^jZ&4?$!tcM`+3{u48ky~~=79lw7X6U6qc&4*0D!ZU zeP@HZcIxDxd;8=lOHGmCuEr@J{N9AQ|&5RBFUD^XbSyz}W@rRFQ$8NDts*5Xn5vYlt-;d|%+O2v8)0 z?55c|fPWx^WT&3961C;f*I@w(9M~fY)POew83WI$+fiS^`5jy)St9R^ z+5oAkDw4!&bi&v22^Zte$nyt2K}hknv=wsUErc)Svmmrx_ZN`=Cv6qvXn1TH0Yh=9 z;Eom?Wh-0??$ui4=v?-Dq@3-Vq{>BW$He%h0qMZL!3rl6=m(mcipm^qn?$w^uLn0= z>Y6R@nq4(2`|Ih!)t^lQQ!Q6nL!9Q@1{`9OpZJ>og(5B~XIp@@_6cmBY;k1yP1Uyk zxmUx35ji&tyAHT@V^>POWeQoyeLkCWNy|3e+Pzt`Q>XbD#fvfm`wTfXDlb1DR|P7{ z?#Y+OGMmsJ?#W+Y{%1EAJHVzj(`jY%MgoAw^%sINIz=NwwFt)_m0M_|aX@ z#mG0cVWdrMtzq^3lhTMvX~mUeAH~)QEb&rZtd)`R?vr5r*w`_~>*O@KUH;XqcS?iH z*L879JGA2Ff;BfVdA75uj)|`>3+i=sf6{c8CDJjtJ@a;a<7Io%E9Xo9IoVE53y2H? zi3%{4GJ}{b13Qp~r%2#@F?Rhd##&lO$S7ef_y}rXBdj*@2;jMqZF)8Z6~V>mhRBx_ zx^|w-@F2gmXQl7_D=YjBLkDAOSvhjwxi||wZhBVv80ou@ z9dT&%=g&22IfZYvG#;H>*^g3Mq~WRq<}_N`e0^LtRCN6Kd&n@L7tH;1;QXl9^}DL7 z3`4#(+7_tU*3!&EzaANemlxPJc9}Es?tvTe=bq0pEI)lRw9|;9#vaA>c@OK$W@)L!jT0y3l<#2? zbGm6We50FL{+(JMjeZurqSf>C{g!~cw>~*3%}O*6?$wl>ri@kDA;4Y#>5eSPf*-Hi zq!_qk*NpzURL~A8g{6 zWTvr7NZ=h=^~v_-kB$`(n_GQMUS8%hLzN1;-_)(^toZX+&SloD z?w2p$4ZdR6PHwjn#I}&V-$meE%G>ya?UckaL=T{J#)sM+%q-h-qjUDhWz<5Y-UZ= z<==mA_!zUS>GQw+vzlLZp@llwJ1ib_M5$d2)&_IEG1th{F&jxPY2CpZnsMGROw!TP zfeCV#-f*$9$Mrdn#2ttH3lj?E-QW!*ZSTz9?I3#fF)>T_u zC#Xt{_Tz-L#|9ZLvpFYfukG4ZqBd`&&LClynZWp99>FGq71ei-@(_K+d!r)qOCL>&>IGh=)s$ zk@AH9_Q+R`Py=6qj0aq@a?!asqlbxfJQA5R>XUWzHR>T*QCvsvUtMgSkhOsEKU$_o zE6qbdC~$E+PAum*q&-uch-B*HEaw<3fewdr1G)-sZp}_dod2-!r`Owla#-gfL6$Ld zyv9*7ZrRcv{#@5{nfZ^~kt2$fakc0u zd|Oe4h^E4t2J7{gM)I*(0&$=|>c;y`IjMtkab1KupJ#{T@@RD=3t*K6T9~h%R{EW9 z1%#D;)diS85#GKXu}UE?v`H}ECjDLMmVTTzUKYtan>&r3aVJ!F& zT|WTF=rH;Xs|=;d$4EF-f2lWGN21)0du9FUK-TK@w?f{i)fXHYDC?8BJMVU7c>lXs z1Izn`U!S_BMrn>!jh8@YSNoDeFHZ8p$k=BZ~6tVkQT^4!hWyAHWH~y_Jf2|qrHz=li@z8{# z-|pmHbid1NXge&P&(vT(M?NV03v#=vve9zD|c{Xu0Et?j)<=5cX1Ae!>W%8Dr* zI?XS?i~@2@mUt_AxOdn@i^Yl%n2K2-sSET8DotI4qi`bHSz;vykXG!T>d4-BvkJps z`6`-9SxjxXd>(7Hyg^W77taFm+UPoAGxd-Sc$YRF;t8R})FWrt3N=}jANFuQJbj$ldT=T)xL%{viO4Z# zp83x)$0K@HSRdPs?nz4&9KIuU2oX(J-hQ);Gz;xC{59Lr$^1Mw@FjV98*yS&7*aab z=1RL8M%r6%zJ!nw(XSv#W9W8kO3zE@d_uI;f=h`NMCucFXHmTKuz7y_sj^|548F#G z%Qb*9=ocBm$%sg_3lh09IGM=T&EJ2>fddELJwDwY^rnlA&r|{mv4J=~9k7$kEW0?G zO+L|1Y0%rDJt8Ivq;^ArYY`95^9|dQ+dy}Oe7mW$6pe0GSm!$Q*pO-jgih0+_M6!O z=uy-PER4;&M5x=UBZr@3v6lH;ffGlN~Btvmid5g()09Va}S$sK_1V3)BSGA z94?7?k}HYFy=eeoDIk;*LfHgh+xug9W7Q;@>w$y`{DgI8b+H0%Kg3spiy6FlO!zz% zo6B%jz&n(aVA(+L@p9laP$74Q}N}u9ft~|jM7B6mcDC` zT)609T(2eE(yro^b9NYW`)lXj2XOh=mf z{!VzDqP@^MY}gS;wY_>&f{6uzh=vw;P3~}KtS>R_eg9c}0PB0!L-m!?+~A9O7+P`=D3l1$HL@Wyy>n;M zbviOp<>J(IK0hXdU~l>UH?9ozhTl1OPPs|KRabP=St?SV`IHz(<1zY>J9K~&4>DSz zh*0Ft{sQY}jK22Bn#i`9N;x=WP<}*DeCyF8r>Rr57@#eiePT11ZCOSCh!jFB4an3L z**#c1=h@+J%&>TXLYV?WhZ(xS`=dn(%Iv=nd<3fjym$*fUS+)xI4YyZlbzF;nY^GA zBtYKFI+GKq+X_u5>=I$f;BjpNB?R#wA{TX5U%U#380i{(m9B*Z7SALz=2t}$Dhg&f806TkYBuiQGDJc}fA`6VTx9<*tdLaT3nrT!-j7YfoOmvPW z(^@3ZT{5F0uJJo?I@h>?R!!+s372A9m2`fuTW&Jg9-vh0ql7y z+M$K|C|7GI>_;`0G?F*7haaDIL5UA-!U+_&3VS)^Zt#RQYl`rsrNgJ9xhU_!8o3da zdZgg(&65w&5=)W1VMfUteJ4{Z3j{RYgAGWiBmSFM#s}+0t*=VD6lpaheR20!Tt~y2 z2IdONIm*N4n(6}62!)?yyb2ph%wrHWcJA&7@f8ohsA4k96hx-t-2Qzu1xQh{b;eoaoVVm!o zhz>w3X08eQ%m9^R!&nKG&52W=*y5D_;xBb*q7uA_>oq@m!M?P>WxysOtq<@Z1)(^U zcU*UAMX)y!Q9(ZKzXQ2#fglI^6W0zd2lwyzu4Rdfhg~8+0tRkx2RcoPVnoT8VNJ_z z-MQ-bj;P*&{zCQ2nM1+$ErQH2P4QGhSvuBXitobdK$~}GC^u^U6mxIy?!^zD`s=Xz z=ZVtO&IF0$IYLto^e41jNzsCR4$h3rP;lC4e^JYef`N%JT?@7dv;qc0Y+4v`)*Gsj z_jM@Emc6Cr>q$N7Px6Qe#&iPq&`CCxce!7TL`Xn_if2Sz-^Ije@p(MyL5iGh`|eprl14lSkCi*&(iFB7$ZCi4aLLNQ1R@F8`=ZwG>M?*NNey*&8g{Ie z^F{qp1RQ7i5X5uo0N&;s^Qb41ys#Rkm=Lv87-E#ZoW%``+V0x3APOtQ#QbA%1uexP zz#CXTUxTsUZ`m13gy>k2pP-Qm`+>A4*&E--3JCj zZRjSTo;B_(k`y+y3ULF{6@mq2HemhgyWYss7LISbagS6s__09fjd;`6KFp5=EHEj} z&BH%^t}sRl@7@v{Q~BfzA@>D*cM@{BdHNm$E5pPoE;mKZ7g#{v!6fLmLVvH`ajv0fQ{x(UKMVY3zrGNo$GtO7x zxZWERCb^+OKd$!h^g>>=STKxt&}+{?WE}#8bpb~U1hzyhXWHNx5O9z~Cn(TH#zM9g zx@=*XiBdM7JC7tEiaJ4G45vRhB5rs1MF<_Z;hd5%RWK-`YGW=hf#R|Mx zjK9Q{@OLaUB6odfTFvY~%pHXID_*35J$w(c~y1zMW)x@L4t2?(5!jMF+L zr8t0^N9U`amn3`iuj+#q62uNjfD;?u;F1SEKa)-VnSEgNQd9r>+u7E+l8R#TYeqdikglw z!By6MHg-lYVq7nqwf<;*cht)~9ATHH5!ntgdI)3-G_Ba!8mE^)e(@Mjgf~^8qMBMt zz*O(qo42V4Ar`@Z%JrlD7+MU*zfi`@sOz?1y+oGdxZxvZF~rvgp^`*3s}sV3xC3teHH96t_ML(w$UXf zPTD*sFYhOu>p;L{R1$ub~*9n5ccE{p)*G~-8R90x3GyQJ@fkF3KVO>tL(007Uw*Uz% zWRw}zN5A7`lu1~40(2Dl62wKQ-xDgQf0JZWx>#q+?}UH0HEq`M5K*!ZX)p^a*{IwW zKsy5ozM~*A!k3=2OPqZ|r+Df<5RSkjC8}xOV_R+4ntS4#+L9?`>zCa1|X03RT+*%Q&WQu4t_8uI%Grf{l+26m2OS z!BfU}kYsXYCI_xnjq@;Vr8*f`uET`dAY(pE72sxP);^?EZUzlSFp#{!HnHN$FBG73 z6NmjCWYz&)qX-Or=Abf-$MIF^$8)u)I;MFJk#I&x2zuzek~$&I^>ZK*Pqb)+2B7I- z7-G{k98xXIoYnOyjga17sf!GSX#J-u{`p<&?&72ZBHc&XoWO1*%m|Uoi(3Pt&(>jW zgz#fZ>uuYJ;p6j}e)TnFj<{;Z#hOzSWzfQz8XJ*I{iHoauc%PzBoj`&G5>m?4^dI9 zP$i+bZDK{FYNG};<2#HhLEwfmT_u~A)(z*<#k{^b_Udhjb_8o{8PNDbyrI4aAXtSc z(eTzL`k#~XC0b{vyqGlS1zB&tGf_CUb|#sMVhm99v_D#8?iFI&?tJf2#{q1c5=G`I z>On=Js=ic-szC-<^Alo4EAvBx08?XZVQTt3bKl(qfFpHwh0Hg_4BztqA@*BTz99|` zw~sVlEgAz8(CWGD%o^Kp2;^esL++3WH?Y{_%VuI#j-y>%pkVtv6qkFnH)W(J_*~HY zm^49ef#ZNCXsebiPA;%VqFPmmpyK9(h&Mf%9#$AA06aUkXjplW@Is#5Fmt6Ykl4Nx zf@ec8u0^((kzj%%HlsQ!Az$}Koz?HBgPO(zMt9VQ^c~-xN$f9pf|*g!E)a63 zkl~*oP|?J!b|=b`y+x+S0Jc;msYq{S1q4l0E0NdTs&H?}x0ZrWR|FNWH(iLU7#0Dz zCZgLec4zM#WPh<^@1^69L*gIAx+I2EGhmHdW?tA7Dh~l+u-9o=0`F zHLZjNloz{UphNDko&gF2@!f8MoH222*A7vsmdWDv+js(1gBP__ z7S6-_eMrHaM_r?kooLabX)CW=7dVRLz-a4W!Xo>XL$q4ZVQs5HTpq-OCvZGxIR*XcV%>J3ym$i1iK525;NK&N zhl4b0BOcxlvjzqsW{89VmhcZjBARhLP#h#&i?O_juk>U;=mD~?bWtH#kP1l+sbuQ4 z@jGy{JJE)MV?1`Yn5C|j886g?CNgB4G=6V#{y7 z-#F-(V)!Lpbs-i6toa1)*fClmVzI&Jd$j^vW;_u^Y_yXKfD?QvMs&6t!Ys>>S)nQf zavHm29xYFW$|bKajRvMgvXW3JsynI~`8KTL{?pO^+wu5+6Do+lOj_$H=>33)T7JM( znlto;A7FV(l}+;SLhVb8JI`aa&w>WooUGLRTYSfd^ZcmL*?CkKr#_nGCP3oWaNJQ) zzCw>^=}j0$ELg2z>&2)($ws&==*;n*vmbNk$Jk@vT#}h!| zVOvaRgBUnB&Bx6yib0zl58lrshNZG9gJlvxChE7VypQKo0y3)B~8IAhXzBw=M@;RM7E zIvz3YnuaP=Vi`ad(E=8N-H6t%$JmLGW8mY~oxl~bbY&c!aq3zL@GF`M`M2DJw_HS% zEhc}W>`cdPA-BaA4w9i-m?2G1z_|vp%UBy`*5{dQw8jV|QJ1M_=qFrZBFvCBp?^Ek z--h8lj9ATHbo_Qvi=lqi068;+YD2y_eJxGE^kE!iu}5P}LO()vq^@-W|3D{6s>Sg! zm$a*N#Gu|V!cr+UTx9Xlj;u{AyVw>`)(a`i(&-$J%z45}wz3`Bec&~&%%3&^t*TCkm-wpwILhKlKUgv>2L8OYHIoh9q}V71JHEIH~^0TKEU zXDI{-9;FZp=7o5@o8-`pU`(yHs1=NLR)Dbt)k0JlZ-Dinz^qanVp)T`S=5|4qO>Ji zP?3zsMJP3K`z@4tOqR~+Sifl-!uEW{ML=<%jWCSt)jg=3!B0wbu#FbAR)hzuHw1Xw zM>%u$Jn&2iBm$2wBI$|?5;J@l@-;#I468QwH552R_Z!;jwJR~9)*~$riUd^Ce%6=_ zq(*Z8_s^BQzy+PqVKI8>P&{LWi1`a3Hpluas~Fr32rB99SNtya2t&**^!UMDgNoLW?u=p%i zeh_FAwEHwJJbRcTz z-7LtUI^ITumhfKlR@HKzXvFalt8R)HreRHSXoJj6P@1j5Ta>T$2a7}Xxrh0(pc+{> zqL|akKz#A+Xs_1aJIc^d?#_BLjUjA+z{`_yfY6q0*vK|Yz!$adFv58}34XWszm|v* ziq5$6HcwC}kJCDoTRdY)8<3e=t7XWIV%=S$Ie;EMNq`J_6ijTsYiTl%OMz|!WY|MV z6Gv7UL|Xu=G&rnmqm-J@eX33gxZiw%azhDsO^PCnlZ%=(8XT3erv07Q*vL7aHb7oI z);BkAPRVY38j!K<$?&gD`L?b;K2y_X+963tTbT$cT>lQ*p=8dT|Fwe!HuLcH^~bqA zXU9%e#2sQT>7ILLyJGs2!usc39$g3>vHpcA=R3_4<2@IH-0t*5^+#8N;-^%9UP7nO zTn3c8qSY8bSXd_0-GbXktJa)oG1#&BHlz^D6TU7b6@dYFy|b>~#cg&CQ@+UmQOj`jENgqR2SsHycSA`g9P z)#$>Tdqc@7vB>?*(ivK2%Hw(h5ePgN8#e%?%nv4rPcRVo?ZZ4&JZb=_1ok`~IJKo)r~~ zY1hOIdvbtNgYGx@7AsaTGP2t>@v{R5Snssp;LTJsTIEL`;zUNzU8t6jK(xe=VG77V z(~SWF*cku06d(kUB$CmwjDQ5oF5!us%cY_}^&rNb2k#mY!J!Mn@~59GZfMY}mWuOn zVM%U`h-AO?OEfPl0*ueX2{s>^SzutYaz|EunLxQ_s)D&AxS@W_;7A=hi$9NDa5bn5 zk^C~qY)CN(1qL|DOXuwnS_dDjKS+QfBWV{m%78#UQf4_uJ{i${DHe8c#>PzPu^)u$R?w)GGu# zg@SV|XSpriQ6`IWG@_bAQd(M6I`3+?H%l(0!o^-cOgGf}sq=QU8KxVfg0FE_xr!9c zSZ&!uuvg<^g3uB}%{V~r?ne+R!icdiU2V)>AZW3AgT@cfAJXC@=Sy4TmA>bZ9HeR8 zAkNAb}7ASKf?qe5**B}>E~E!O3oOmOe|0RP#cNW(L7gPXq8CZyJyEqlQC=iEG|o`{qs*f91~nPf zQVI6C*1)=#&v5U9Q!aic2Vz^`4JvQHEbLfh*_veHa#(#DUVKqVuY^KNEeeYm&sy$I z0RQyq)4Pj{XUwpbqDDJKIn|Kj zOGv6KDrO4}oIElKBk2aaEwze`HXAc$%<)Wgl~&p{^zVfphxI|Qv4}O8bISYt(z4{W zZughs&san2#GN`!JSyGw+F$1Odq;;)vZG|i&Lx-fT9y@R9bgXJ?&xvW!u+UlpUFTM zhU{SKM7eeyEj!5~u}BG6ZZa|4cb9Cy)~#Fafm!a&Vfy$+STM5s)bN1&7pOU`W_69H z?h!{~(fydY2mRbqGm*BcxoWp)ksk7CNXogMiQ^eQG&aV*j1!uqte6Cns;I>fG&2~J zR!`0WiW}g)U8k_63sTr{_m*0tx@^n#E5QM_FY2$^%UL!nRI^E2S#({LgiYOs^K4*m zy>mHqLMLPhzr=?Wer?EZ6Cu3UNi;upDs&PRf4P378xdXw-2fHr=~hvB;lsB-Db?((+w)@f|I zM4~gRVV{53WW|-UR=un2ZGk%y?^_nonyfyA;T5dzxDQMRu&3)PTECVBI(i`m#=GgU zFBAK%{0Js$O;t)t_ZY8&i-&N6X_h>HQLn%D#?A}*g3yqfekoN)D%<4>gYD2J4mFUc z@7^ic@FW*J^sj8y6@uWmgdaHD=4Neyw8+_ZfwW~Y^|Gb*qwBX^v(p^0X_ErNHMARp z;?d)jP)}e~6xcc-O*??nbN9u3uNNeO_&B^sh1Y57uZ3t=!%I?NH%^lCbr93++K<6*j;^ z!ZFhxdHJ~!<7W5V)o2bAC}h3C&XHl5JQGJM!@YIo{Pe!=PiCEQtN!T~8ZUi0`RX8* zT|;erFJ7BS!UbqY;ld?V(#U?$2YQY~Od(5Q5UJddyTFNv)J8A(IRP0Xh+L3oKu{nA zH_{l{D#5Ks?s*_yk)}w5jfO55!gq=4#Xy@5LBP(6rb#v$ovZtLO+O5p4y$DTqcQ%^ zYxY7vyavmd-naK%vZsoK)+8DgN^x->QI6;-pPC=%3F=2|W9yHUJ!!pu0hG$Eis;|` zDfsQ%@JH5j`jDJj|IG8PVS<>p<_?D~-p1G=klX@O8>SM)Uq5=fKUc_=dN@O|MP znt15Ct|->r>|a^BtwLZ~(et$pPqQFiF|=#zjL{2ll9E3H(K2x31GTkrVIA0YOB zw4%&s$3Gh8|ECn1j1ROyWRi?D()1kJZ*dh~;)g^ekzY?J(Vnt5(^?X3E%Eq~2ZBN+ znnOYdI6+fp_R2x~XZLYvtU%5Mn;RttY{JW2|_jO{%l? zTv*V=aq!{Oh+C&mjLhUhuAgZJ@#~uENwz=t2VRa|b)dAe-S$yP>00Kv?kDZ*NAwDA z^nIan=c)Rgret#C9sJojY^+dn+2RwdJ_Q9gvv zIQKE4z~$jGxBxLP-5HoSR>-R`rm_$i0M)|Q)+k}0blmeiV+p$)c?FrojUMWQ2QFW7 znZcjJ??sEh?Wk^fxMb8JrGjBaib!7FTBYn>Qsxvqbai1NIxcedh99{tofyI^B{Pax z&G=&Y?RmDdFs4m^w(k%~MudJWW zUO6P(+9jq;cJrIs|J8$7Cp*ELeI+ty&EihGnx#F16dk2P8}uN=VWi5cJdca13vtOn z^C|;$2E|q`Pcr0${#3FtA;Mm*;LVT}bq=O2mB2}fyMTcfi4wkqe6&N_W|grWszdZ@ zWABJ4(@X>cuWwB^H>$ef^;6TU=l+29Ta!+&e`jt|^~g2qfLT`iQ|;Hm4Yuu%@(Lfc zRX)FS$E$s;Vv%n4fqm;dimn%a4=(tg?j)$+;#3>yzv#i2e$&B6+O@~5;b>cM!H-rG zwoTE68$o7lHPaxWnAhL$(-min4)?wjew+_!J?qtAYt<=>KWyG{f1A_tbq)G`7pLMH z=FW6#FL2mce8wn8vAOZ=vX+)6KnmH0x2=mjJMZ)fQs>!rd>Qa_X4{d1JMh^%7Ibya z9@+82@w+&aX)k6p#q>dX%C<>ps(wSlmM};Np&+L?SAW94a%xYhWyzs}?-L5T3u+e# z8Xc~N`fi_^3R^a3#?_B!3w_!Gt!}jy{2E)(_Rr>#JvClI$dJZvc-`3K`@y{Mfq7xa z(u%F^dfo2_#3CmkJSe;)42#qDaH)U-T_o~B{ig$Jt%M|i_R9bC=~q2^>5yP$XEg{n`c|^@9yY)Sx_{;;G1NH<)^Kd zJ%ZiXCEm(;GfD&N_L>yz$Sdsm5>h4JR0~YFIiNX{K#>c(*K=`qY2o+T6&+c50_<#u z+6o$X0FZBei{}%Lw-9G8imzZ z{fOR+sVClvyV#e7@@aRPmRPlnijO-`nr!7EyIf4obf-@=JX^F0`65asskIrUm7%;Y z7h?yo52i2nLDFpBg>K+K3h-XpEvwiKNYa-8=N5~YWm7Zmw@iyfN^4S!t6+&BG?Tj8 z0!+<~rW+~k{82gRkA@Pd>lyyE!p8WQ4{HLgx-GrB-pp_Be7X3RC%X%adDk_33f2dg znQSB>+P9oJM22=hqY^pYdvsyXt%Qw*)!^H_aBxxOKNkG!MBJBsO`*RQ=AY}h5YlyP zEv{2I9?0~FqB85r!2=hezjxxO1VoIoKYw(*ggX{(*#L9HtOmKRDZ8cB30jekf-!KO z{vkQkcSXQo?})e!6NJ!G=;m-FilJ3)pY04YgjiJuq?Lr4&`hWtfC(nP%uD1PBx4JfNHi6~97N;jYx1V%{I#n{M2=5h=Gb^GZ0=oXU*YWPk)Gz#_uX z8uF*xU_dg?r*7Oh=6Vk;3z&^tw#)%YM-A-{Nnc6;x#Ck>&%x$PIL{&8!O;e+IHyj9$pVf*(xGI1+bu7ui>$lqVSoYz4aCEHpO^*w$Xk`9m6c~{Cuj`}c> zg7T)Fb5c6`BtCxr+y)&acG?|qb%_Yh7c`8*!Q!bX=U2;<)a$QZ@K@#HE;&m< zjMm3bf+dfB8l`x3JC4jBkBcKfZ<-^@J&xN%YBEX@C|UCVBEAJV5MAIhjZ--{7C)2L ziHPAC#4)TMQX#_dnx|e^-1ND+Mc{uZvHG^CpgSS(u-8!?yVEPytQnGU-+Qf{L#eFhRf}b1$zksg-!tnl`_{4YdHplk z800?(AC}&dRrO$whPCRvd|u0=LthH!*W>vi#JCyeL^!?K+x+k;5_G3*UyRnBa zL`%-fhTZ-XBMr*B##H`%^s?jYZl|<J6{>*xR5bRVg7gU;GSU(0zggaJ|2Q|3(H$XcEw1Z2(+ol{N7Kn(r7p2Fhgs z^sWg-#H?PA2A5+h)d-&-x4yfp;6ARSt}zeFtAhtZdww~k&##Mr`z>Ct zbKc!!;oEylkSdnv9X@>jM``=LFAfvBOm)4yb~gs=>!MCedF*cf(^m(F+pVp6+0;Ja z`lD{Q$;+nynGqbL3kFAU%!^6uh1)IMu|BR%LW!+Jm9 zV!i#nTPCNtO(bY3lSz6=J*tNw{eYncicYl-$%Yds9^!}SJV3r?CuKNX^nnm$)xb*` zRE&{>`j#3qEvPoPHss6QF%OsjjEp#C)E2gR0(Zfix2NOnZ|o?Qjo8%Pe3h5y6*~BW zd9ckz=$S1yZky~gUTk6btt7{kh98txvPG!^$%{jPaK0)obINMGVP0|T>~>~C`@Zi_ zqguqy&1GJ7>&3J@J#4;s?<#qwh7&pBXNz7;NXwH4lHMAhwDxzrPU3_)J1u%waxLBR zHX`40ulx0_7t+2CS7;B@^1G99FrO2&cyMvu_;1(I1kzdp?3HuB zbWfXy?{q*t|3~-sXBriylC_d}I^uXTP5WEzm)Liyjrk)f39mXIac;MT2EYy&H`{y5%6U7X6c@S7+d z_$Hp2O5zj+1qGa5Zk!b>)-3yerR!?Ixm^>^^RtY%dIrfr@Z4C>6U!dNTE{g_C*fPpI5GJ>tRfsYI=&b{W?X@!HL;7eXW2v=%Co zP~FW?I7fgpBP}`s1flE0Wq=f|FIL&$mP2}cNtU$gVN7ZinnNs^kqi--J?^d%yK|+8 zbdBJ26t%q(&a&Ub#i$g(+d%q!xGyB*`NHhh%UfEWJoA`>!ruwCxsoB?haYMb zCs}Qi^X5!LPT$YZk7@`6pkg<0lAp6Wb`Y3Iz;~AU{E&!LBAK_)$08(Ik3ue?7ZPqv zB0VfrQq7Vo@!;Nm?Nfe>L;KjIZHMYrm2`dLgb~JrxeuMubhO}w><~o|B--)WuUW{o z_ll#18r&EN5}`WwOvd#G#(GvdkIWu~1Sq#brJ&v{J`K`v=%dry)7Mo!+gDZBSWymjueJY8(&lZ#wk_s7o*C(QRdv10putHrle{X54GaCCch zZE4(wdr$jb&dWP-MGk6C6q2Il+n|Q;c;;}SAz_ef!I#jDE_eDlPpxsN+@2K3F?p?Y zqHw&pX?As&=FkN;qq=L4nyuT`W~8I=py6HKoeaYp*Yhq3mMgXt3mz@sW?0fZ8Eq`n zFZi@hKvI5~XY0}j+ZGqcUXeQ&9{0AXor$$DFZS4%^=sU>P0Gt^vqWS7TDuB&_4(8p-;{260UU1-|6cvH)i zkj@CBGaCn=JgMwu_3`D=IfL}V+IQG!l#5#;ctKEiW$m0t!7t4I4gOh~^!{tA+rRu5 z;R{Q)6?V^1+v;q%pRx1}d3t6d6*AS|FI1QU@eiVlB|7n0n3Rwhv)XYb;LjLdkiPB; z8TGhr!DX3&F8c>wZxW;6^W%)1Yoglrk%*%I)` zvvpDVuR3=CRdk3696sVgVx#lVPclB6#Lh1L8IlZjz?k;N=1=Rzy*y=2tilg}biA-+ zLEkrT{_dz3jI6&~FuA{6==<~j4JIa`=JVA#q-1A#jgcG9Fzr~i18tDB6w-P@mxP&! zi%cXjk9kqE3>8!u5^b0kL*P`u0q#J0y-;V4qi9&Xv@AdqC$7$dj*C%2_X!Z?lWlXx z&uaQQnWy-~ue-*7()ebD#!>N6UlzVZj+2YJIofUC$`Bh=yY2p?!IPMjgLwyc3x zmi4nXL33k+?1QuZbbZ$0p4(bCJ27QLe`BNy(;4lp{tagf^OJT|v~v^vjt8nuo^+w= zzOBS+V~b9wtbhGDY;9D%xVV@nQ`QIN8Dy8p*l=mnr_IIdx^*jiD$ws!Tf110$y5C6 zWO}ab^NXjqNN2EMGgZE+)-|vq*liG19sexUQJg{I=n4=e zBOFx5VOYF4gM9UW`OnVqO$ephPsdk@ll26@&y6O}kZ{RDNeyKY#G0kTYrbKEZ%Bw{ z)QWZMhS=5X_m{)77CD+XP%uacE`RrEhlp1s|AEW*2 z)s|~T$q&pf=^>ZEA{%dIi>Wi+$vYP02z;}?h$~N*$-aJ}{^GGx_a_5=hTH+i(9hg! zTK(lYhX)4DT9Y4fL|_{jatU5SGs|&P48PO{?`;}!#}%yX__}n+?WjF5He0z zCMgn6H~t=jj0t8M7=BD5JO`{{;UejlR50(dhZLnD*A0yYW3yzGfiqx|$o?P!!|cIp ztx4I&LP6&UttN1moMX)r3iTTXvS&{(l$%xhBQ{#v`^V@8Lv?FeR(uKF|0q`M4zLnm z-SjW))~@FhBa|x5k;1rr*EHuwY^q-P%|@$V3oL&gR{|12^qgbV$^@Y4rQ0Vg3~OF6vT;_$w|_UsF(|>RwS;W;`k{(SS(_kh zOK4)(b+3nJg5nQf1~WQO-n`kHDMqAm5y%)f3nV`=QmnCsGG`vgSv|SX7V{skg^-FK zrSGzYbVuq)&ImQjV4i9(*~5iEx>uUb>cy33$fFRAm_>(6`bQ$iW!fvHkx_jv3CS0T zMBBY$@DthFwGpA9U8fv`=~1}{1MOW=FcDCxPN)`+lYz9F&2pfygH=UeJQP4d+mVLyKejBZAb3}nN4{N-5}(t zN|-&2(XmU7-rHxe5A1lkB zAz4?);mQhWEh%a4C|*RAho_FfXNnSCL3V1VL6}6E;Y#mXIR>SQE`Sh~g4ni%5TCJf zXAb_IpvTnCqbNWIS!SsEa9=?zhr}R658qIC|D4~wI^=yn^T6)|3hpmd6zCta|2`{e zisn+J!CuHOVK z?C*JXScFa4)0$^e%&kx_XCA34W zZ}jzR7`AW43Mu&=|gESj)(q^QE5zhpuIJ zn-x5R{Q3;fZ+jNfEZ$T-+$y+_U>zX*`6p#Mc67W_w7h%fSmL9s4>}wM9oV9z(-7A_ zUT@^zRkOUkTCw1cPwb6Dd12LtKXgQp-r^dKSba6&QgymjtjcH22j?hQy#?`;3JE9C z4wRJbQ2h#3{FWGDq2yd9im>zP>6)pt7RPBBGXyt{4 zH$w~m*&8O$UETif(AR3-OHEs8)|B_9+IMl7?`R}iSG^GgRhA|KVw@J@kUOd`uaQ+g z$U`bYb12MPI1B#c!C+(&&DSbXs}gkGiQLI@WU2B1=dU#+xHW*jkmA!F@~z+Q4SY$u zBw%bbOWF$*|9ovT1FS8;PK11Q#3y1_Ec=?}DpNlng|O z#QZ_c)E2?#3}QJ=OP_kJzW*aj{_yyF&MPe<;}h4_<&3R8JhxHs>`Pg7LP;HK%mg3= z!_OCI=$G3UBo=m#$p7byQ^=Qvc~7OIWb7o=pUX`y>*-(F_0^of(2q)-Jj?Q|Ld-s0 zB6|j9#t`rS*KNSM0LYRKr1fz%8P=slR~;KNHz3bMjuLVQur6JnwL1rD4Hl!AEznW|}krn=dK=IGC2aIQmaol70HQ1gWH`?naoG`V6CZUq;Y%pA?V#piPi%&thk z@QM$0=))}$+&13cxSYvwb3pOi^i)jir;-(G6;^nR8Jv3mN5mrcZ7NoCr;lCM_O(xN zrP#D_FL^TZePhspOu_)Do|x+&Aav{=?NW*H16+-B!K&`5Gl!Nh&|K@aE}0 zR5t2AH;ONa%UAMrEn@`|F9DYqxJP>|w-vZ|| z5OLy8yQZ*b*yh0-O{If4$&Eg1i*6T&nt1&i%Ehwm8lO8tyqy{1-r~yA;Cq_FQ<_53 z_I+vl{`dulJ9X+nj2_~L) zsY)(}vEpjYE-l_|BY!AuH+-*tearF>U)Sm4*}K_;C@q$VTZv_iy65fC>qa8kI?N?u zaj3rvM-nGo!Z+o3)H#o5G6)5POze6+#KO8PWRwJE^T;qs9h#6Sw~+wFU+4tT7VQE; zXmnLq)i#1jLM(%)(9^RcW2zEdecZj0p>_6OKaSsZtwRjy4O|9S0vhO(!N9sx9jx{4 z-LWWO^$%OGl_-s=Z+@=hSBo??@N<-aLkolK!(SVlZ$8`7l9X2%kKQA`r@}s-JX#J( z69*kFA58eT;?)i5xw^SMu9oeou`T6!1;@7B5S$NbxS*l`u5;Srwtw=PliNZLJ9WR; ziWDa}6EeZYFrL!%`Az5r4LN;Olnn5sFVv}Vb?-3L5Iz`MT_^nnLwZe!jRmU+23+hU zk-(AB(v@H_w3KnXUrVoXW#0$YW`PA8b>Z*P_O;CbCk)&s*&albhEW8gDbs5Kk`);g z80;v1l-ug1l#5I*)Z0V2V%Qos9v5cXUK~!URKUICsde2?n)z@UY`S!h9JjMK{tXjM zG+g+z$hM+;BCAI#DcSJdt4E>Y=baI+r?I4z{dA>+dd{vx3!YJz+557p1cjmfqm;xz z=our$RZ6w0yk}snj0|{`{_Wd4a1P>692J)l`eIW3;u-+p-c_#NL$6n6)Jnuz&S#2*x?V$7>uK8$I*og4BLwr3avhR% zLe?|cCLk4Ga%6`bLTzY#$TP-fG-qJxz`PT)D?2l7v=(B7Yo2KPT+?O1(ugBW&*=m~ z6V2$HaMmX)$otPni{HODy}o%N@?>l4+CqLA_IXhIE^lq^B-@Hoz12oax;EXNPfH`v zU-IWR|C&;b%A5CWZL_!ase1DC&3;^ROyyUuStDVj8xD@nqQ{;XP^HJ*?hX;4e*OJV!ap6Zch3~68_T4wx+&s-aD6V8)0;kWCtMxZ7 zH2B-zIPh%wuE(2)m|SeCbF_Lbk>+!|to`GKnA-HRMRuD$8szJQjP~z%J zNq0@q;?3o=SjZv@Dejn==j8*+Jo@k-efo88)jgFNswc*JH4ZnI;`>&FzMWAJ*sgHy zjq{90L0bO*^!TCCE=MPzw5zggk@12Prb{+1(X8A-F^keSxaY*uC70GB&FZEab$3Y!{v`9l`OKuYPoA#?Lkl(xKIc`KoN5*NSJT6v zlTyYHhv2~;vs(wxRao44!y=xW6PY54o^)Bhu#(x9y zzjd}XpFDyNnzjKoW(8f<{<QK6@@v*&(Q8ZVEoW>iMLI24#!O zl7=rN%^XNqq`nwVl9Gp~I6H{oI8zb{D-w>qUcK>8e zTZFMCZKvZIi`j@DNw!Y0EMT8n>Gnyc(VP{lKk*_Kwm)3DHoqa^(#lmUiVlydLYl#+ zS~h=t_=J~PG3r_ahi`2*{Q5OWyv&O4SC!MJy*2$yNc+3pPoGUra5X6Q=wm%@(t}fu zemvcj)k_-F=da&VqO$B%skPPF`KlA%^M=x5Ua{Ig)isp&=|X8>kq>l>9CGppRhXg~ zuW$X{rKml8_bOZ3X4I%~VR7^-B-Dr0WJJ&H)6VmGq5adYDbQ)TPcDjb?lwCCkU;(` zH8m9#Tl-XJ29~DFMvEgoJLi0j)%cJ!YX8(~PS!v9u^oX&?#}z#;CG>8%>1?pqe=0N z>vezSpWa?`JM!(dH&**<8)I)Lk7#ePx)NXZ5?#a|WsMlQ?CrN_<1d!@d3!TLvxW#f zE}QNe!BRhkBv&$|_{d}B4~v;51j`B~eT+M6384lIbNMwaVqTu?1}s&4HGq>aU)cZ0 z#=?tbmH71}7j>jX(4)sokY>q9mT7&?qr%!<2zKrKCqbVFwKNBu>ErD*M>yjz8OgTIXW7v`!WA{;A|j6%{|0K zlL9S_#GFgjr-^Xu6jzWWN9L)>@MZ?sDI64VjnIK?BQe_2?B+2=3xJvp6QXJl0~wDd z9x;AJX}xe^g87cgk+cJVm_^D8@zT)poA9wnjaM6^?Ii5rzzmN)aJNzs8n&+U<{m*1>*3FzLj)v~3 zgZfEmK?KBb&K%_E#Q3?XmiZqac_=;0^3ICVvmG6o{(g_{Z+PxfSa;yIRoSFI%lk=e zl9(bcs2F>!PgaQ8CFKnrwDl#{_@wmy1#GaEap4C?Ad9X@=2FF%~vDd6xF5S^?9DGR(f6Q>#sw7i6NFcs-Y~?$9 zd6nI@i|J?8Zm%_IbZJgW^4-gM-+r8Qp9X)L+6XH2MC@yRNl&q>7&%LVrBU7trcfo&ge))EhtKA)Or}} zjq=)rC-X4vRl$V7R8maKVy5hY5!zM+-^T zBambePQL^(P^#y!VC^EjW)+SrAzYm>sf3XQXt4p8AxQHG*h+X`Z>W#h3ptWho7bK& zxw_jb{CjP_0Ok+43D7LHaa+gRQ}Xrpk$zsAjcUU?<-Iz-wFSR)s%{_PsHYuydFkXU zGt33?TMCaThP?#!u`Jr+941xHn-vh~eAzjnN^#i}r*O***kx>eDn z%2rDfo_@P-n;G;||7GZxY5BEZnySC}hYvrrF)S)Jx!m5c{-hzaqPfT$kZu%pd`W0$ zGYoGYd=~WU?2(SH#N}9p#y}<{ zo?m}NJpbF|-KKiS(*F%oFuS$iv3fPNtp2?v3_Pp+ z$B1B4cTs`8H8Jox5=<4*DP06c{5F-V}8!PkI>}RiDMP<5<+~3buc~k2{r6owavO5%muJ*$6G;Tcr0fSlt@MQ0VVh=HA zQ1?YJ_r5^d#LYfU_9gfx{}V0k?}cSc=|KO2KS^GZY2>GYf%3OksjCYgc2%_LR{VsWBqrrx@Rz(YKS@q+Glt((b9*6{ zo`ulkBoaaB|1Vcu=++e%_I3ay9e!2#J-8~T1|{Z{-xgS4Cdp=_rTX5HazcDQ{X9?d1s5p5lix1E`L@fj4 z&vQB7e0z=&qvZ3TPrFa5b-L?u4}<1?jRr_cV6C9cG+u>SR?xH6P4z|Gk?`)&bunT0 z?lJr`R)(n)BUUN*+!LS{^B}Ze-fN{7>bY~nLbfvP{EZcX3-87{#YWXCfjKk`Y=oUr zO32%;80TMTU=tqD7lA%AJz6$Oull+6{A(R+FQM{)E>{z0yjfhjRBsv-LGc?}wrQG; ziiDioekn8@MOVbstK7m&e=K@5d#S!tu=vY_f_t(y?KdZc81;Qsg*W4&mSJi`n0_J$nIK`5G(U}S@mm2 zOPC&R>^_{6qidfYa6f%@aM`x7?KkRs9^7P1nx~$cRX6Z|UM$>;Z#_PZX_f3Bun%x~6}Qu@o}ll>jHtp|+j0L=7{_+`UJyKs+q|{e~kvCEo`D){dvHqc-u7`X&Qdx_pvK-Xj4^cPZ2c>GZ zOP&tgyJ>h!)`hTR7s6TtyWf|XEMJ#ncgAh|>*a!z+C4}8!)mXG2sFH^VMA20YQLEm z^xD@!ee?Q%w-pw*6|@ajsqA`hwvlW7_wEb-X!iZvY4~1D`2&)?a=(uEii;oB2zgD_ zsUt?tQ1qNF&8X#S{quP)31b_tSN4po?5cR#@pDTdq@t~B7hfC0Oq@`EyR!OvW!EsP z?&`J)!15X z9UHiBDP_AcS}@xYnm$Wq7lX_kl@1QU>kow~s6T8W0r?olLA@B!EQ$)yl!0!96hEEt zMyPJUu|)?xV){QAaMV|&n6&sgR^8JI+TLlS_hdNC2u){0n)FJZ&Xj{J6he7fy%E8$ z%^&%>sEa{$>^=Uou~qF^ubxrpIXfR+pRI127Y1ty_L_0GLoc_}&T4*W$7J?APTf&> zkDf$9+u!L7&!^*TVJZFR;?fJSc~;!%Dh$?pdltsmndzYxP8lS)6e~Xt}= zoJo=*e9yU^uJ$2z%~jWv7CiV^3wXRnzJW#+A)JP=#;|D(Jnd(i85^A z^`AgGWl`sYq~-VgaS1T!KqLp!6bY&^Peu4`$fU<(5*9S+sVMIn+O5;)BfylfgQDNW zSrEucNrwhdL!|(0fbtWu4Bh1zacko-5;@j`7#V9Z=CRTkDP4fJmHYlRipp5CeG@0ukrAo4>q~bmyA}HmpJ3imsXuj+nFUnz$)tD)anc zj2o=Q9Ks@w;oj- zFlMM8@Y0bUUTMJ2}M7)6$RFC$T!dgYPEaRy}G-H zchodmJ+!s@KE?9K0mbG!W#Ne?VP6Fy-=}Fe>`VDI1}&hW4|@g}3pwD?Q3RbxnKX{w zaY!BKNP%tv4kjR=fa7{oerQEQz(*LNX@ ztAh`u;>=Ozo8E(JL!*W|*>K4wACyd55OhZYG?7@3jd##p*i;N=Jaiz6d-P~C@F}LO zO>23X){Gf5;2dL_bkN{o1w0o}|ok&L$`{`gy zk5O%HE!AppfiipnM|L~t@Mqkh!HMRaovR}jQj~_PJEMj@nlJ5*E{drAHM15>p&}gW z4PjD@PZ1{$8mJEJBnM`u0(VWoe-t%^@^ZE%I4m#hwuSe_|I%YI;)sk1BpDxTM2^~Q z_yh1CSUU1^w-1%!JT2T1}4asGCUbSNXM}+Vj`m7krZzxT3qwf zV2EHlAM;VP)T)0v{>(--a;T$J>SpK%_z8W;KeYb64C!rz8h4;*h3I@Cg#N#5b%PYz zl-NcGf7y4q@5eSGTohO=iEcUsU8O$&b47+6xWaS}qE7(pKfr~T{gR}tC%P+XRC}iv zgP<+ zePVywC9t-T8KS|A##D>2rNRx_Kh*ZMC;R3zl}>CM76OSsRR{VFse6*D60@4L!^)BH z29F@c=S<9Nh+avGjha4{WAISjEt^xFnqOQ9KN1`MtzSrWsaMqquP!yOu7_S#Wb3avoF(=mTVuMJC#?sCa{+!>AC1pXjKu|&mG_b*QJYr3#27t0?L;tMfs9_S8W|;DY_4|JHeyD0 z4BJvu=z5@77AqTJBc3iw^_awr@)RH^aaW>~1kC3k##)Xi;eK3f6}r~g(D}*T+wzp^ zO&AnxP*@DY*&oMxBzUncPw}+UJs8qa;2saa%(B*xFPI_A9vzhx9x6*w4K`)!1QeX5 zrt0#sd{Huio(C;p=FdknSVm2m{GU-W;yZ4Lw!+BW+c?^$pc)Y(4~>NjTJ#gAl31Cz zb^D^Y5{MQN^D_!l{HWi(_e|7bgsNQL(D-`@Y=kUwqF*D7PWXl=EyNk4xHx4Rb`%&r zfQ*+fI4y#F%R%y7O0Yncq|4GO7zteNArWTW;e^J)YPgG7$&=Gr11p9Qr;)d;SnRAT z$v1CKVfbivd$*`a9oI^vG>=1NooEBlyS1?lpcd2!6-wi>J`}wn?q(N|k}{zwkngeS ze}{BssMpEC@dw2*y;OjgVqej5#Q0m=m=;4Eggv6m^5n_eBmhNsXdD{w^o=|OwFL)z zL2?Q@?=p*`BzhfsS!qJm717FSt1blMmO5tEaPcz>f z6v{^>$uoQKrF(VJ_<*8b24+>;re0IQTtj-(H$V&rA;KYe63Ch)=B;954aAj>uWyJt z=nN2K2*+`j9Arys!(UxGjhW=&K&Xf57+74w0P%#Vh5-fyKFz0OP(uzyfzu{p&AG`(t3{%t+6ah>&K<*2uLGhJ80Q z==7CvT^6^lf|cO6f>WQcZ#vD{gE&$!`>{8Dgl5`wvy{r#5d&-Hop*#it6udU zPDpRCX}wbk$_hGR?wD%@7-2#%0JNdTMRAxN8bF&_TK2_J$(4CZyFF$cu4(t^al^Yf zd%3}(v-tB+V(aR1am)E@=1cneN*9wX(p|BXFt5Ei&D|)v;%3cow?~PoH7jHIfIyiE zuo^8KG3;Oze?WgLg#&j_Eg|ADI`n8oY<9|IggEW-6#>t|zZU~@m6gpZRc|vuhqPR^ zC~IKZ3A+nz4@_q`*jYhoaa$<5L894(@b&uS6eqO?9Qq`mGK=J!TgxG9$!f5qptk1C zTmgcFoiz>}mVDhPi<}HXVF|{aAuYD|Us2xCQ*gvU^@ZwbKR#;)A#S|24Y5LZM!_%1 zW|fZ3MsqHFi;cx62hGE?sp^sGP5d;lfMIdU5Oq>|n@<{r(gp2sur%Uc|l_Ifn78)TXCji5O-&l$@(n z8Ty)ted){gKEh$FP#WzM(3VlCOlB7<1c4l#8UkL+(h6b+i5;?DX*Qx1AolagzYF!! zbQ`l`X&v1f4fDjve3=7X6e;C`$ki6{-BOJ;wOmGDXbF z{wI*OPQ#wrEnhyoSbg)?e`n&cJg+~3eHnVj)00i7Uh|wzWGQVHpQ6p133#)Xk2=wF zv1`*))g`VoWSiJXz~sOo2Yhq7D@}BnsB{lWMmHA)^{ltTt)Qz;c> zme|$-q-Z3Ulf_LBam)~$+ekd}1*0iK-p#Cea~Te;Y4E;qZ~gf47Hfo97>F*h83Ioe z1;F>oj~omv0297BcOO4iqGM_Z-4d0R-4X~2AZz;k#S1etvzvTx69zJ1(0lE38Fgra z5;h#zvu6}Vb+nWF@jU>d$KJ@@OBYa#B8{dUT)EUk$ jVOH`2ncXTrXZr1bpGeL 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 H{J#GK16b-b From 42b4fd2cc16278c90a99b93f27c4b2ba040a7874 Mon Sep 17 00:00:00 2001 From: LeenixP Date: Wed, 30 Jul 2025 18:13:56 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0menuconfig=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md | 10 ++++++++-- bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md b/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md index 9c74a1309ee..2d57bf174b9 100644 --- a/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md +++ b/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md @@ -81,7 +81,7 @@ sudo apt install -y python3 python3-pip u-boot-tools device-tree-compiler 2. 使用`pip`安装工具: ```bash -pip3 install --user tqdm +pip3 install --user tqdm scons ``` @@ -118,7 +118,13 @@ export PATH="$RTT_EXEC_PATH:$PATH" 进入`rt-thread/bsp/rockchip/rk3566`目录下输入下面的命令: -> 这个用于拉取`zlib`软件包,我们编译的时候需要用到。 +进入 `menuconfig` 后直接 保存退出,生成一个 `.config` 文件: + +```bash +scons --menuconfig +``` + +> 拉取`zlib`软件包,我们编译的时候需要用到。 ```bash source ~/.env/tools/scripts/pkgs --update diff --git a/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md b/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md index c793ca639a8..5afcd841a92 100644 --- a/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md +++ b/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md @@ -81,7 +81,7 @@ sudo apt install -y python3 python3-pip u-boot-tools device-tree-compiler 2. Install tools using `pip`: ```bash -pip3 install --user tqdm +pip3 install --user tqdm scons ``` @@ -116,6 +116,12 @@ export PATH="$RTT_EXEC_PATH:$PATH" Navigate to the `rt-thread/bsp/rockchip/rk3566` directory and run: +After entering `menuconfig`, simply save and exit to generate a `.config` file: + +```bash +scons --menuconfig +``` + > This command pulls the `zlib` package required for compilation. ```bash

j{=kCuEjgP#ujBqOyq&F`8 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�<`t0(KQp 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 jVOH`2ncXTrXZr1bpGeL zYNuf|uqD$^SfV%9HLIOHXs;UGLc#W)Gj442`8ofgnyZ}11OrM8tL>Z`wh3AofLtSV ze914eIZ#kw$v}33uJSnRv(rXz!aV{50Hmf2YWrA*2u!`FSTHIpWN@4yy-MhckV>Qq zk&3gnah?mvj`H*(+&UaIN5E{s5II_fi>?c(>e1~*Kvh08Ek;?V_Ap{{Y?wP=7*@sK zt3!H>5NU~SaX?0phKS|0Ln_2nN?XZ50De3xD+V&o&dx2OeTHIeD9(wa&ZVnOl%FJ7 z0a(@c4AEC-mENqRcBlPN8)U~tcjNynAyuWdUgR>+l(G{dg1&I>dwXG0ZI_^wLV_IN zxkT#6-`&f2uU{XhBeP<~3TvBz0|(OGZ{jg@U&u|wA~h{W+Ma@O#&ig?DxLjZgqd{H zH@r)A7X*HOpk?ilK*)?{onXcFes)NPsoQU(EW58l@`)O3uo-M%Wu-|ZswGwU*lp({xf($%ueYklG#}!gq$ijuB z^@H}3nC{P3GPoY%3$vIwWlT;66Act#nqY?b80>?gCIy&8B2v4MWG~v`5MWYyqIVV$ zC|$H_=uChL7kXzJ7U-RCVtES1*4z0fk^6|mdMCw}L26O2eh(|-2wg5jDq*2wOJ1Mp zQXz=c1T= z=6wkIabg_5|H@s~l*xbx6HA>-mm;eA;KD;Hd4#I^Se@9Ia5B#tCH44l(&z!G(Yb3p zdG>5qqpUanKJu$NQ(bOl{x$owvNGvNmBgUkVIL7M%Jmx2{zzO&9B5pK@ZcqBB-2Sw z%Zl!?c2Ta#&d7B;i_R{H)8Mj+8X6OdJSr|4=nn2pZM88ygx}c@vx|KP$*JkIi(ub{ z!VRgRr%624MS)p>w*&~u5nCHV`%{ibW~967!r1rm<44AM?yXe^)?{&%Ias75kAUU( z6l(~;hDYy=f53B~v^}nP){7QJmN%#wCaBMqH2UC{j33#gjh^tW!-7@MPLzJxsWA-!#+zrfk}ZFf~Nw^7+qc@O!1BRDrv4n*&PROqlb_^}q?b z??8WiejxOLdKjEuLvJbc_tJM;GlEnv>ne;RnT-Pvz{x4}-q@>Zs zRwdGQ5|u&|HQ};nch5Z}hJh}I`hnt#g6EF|)7zz0m<)z8 zmlbrYnPwQ`Gt(ByP|lK_Xb$X12PLyVpfPh4{Qy!?Ft5dqXJWe01yc;x5c~ikFhdGY z_@I#dWl* z9u|%crrZM+MkNU}kP zhasaZj+|_Kv6m=3Ct}*O)MjjN-Yv8K9v?H4H}u#e#NsY)L*)s83tg>Sg0IiP@oIwx z{f$fsD^fmr#XffstC$rb&<7vy70Veh@%&M;j4ZwMz~PM(t>=m$+6z$Qu$Ji+=dRYn zLl5{2)-oZS@yq?Q)qu=qgCKfMF&^YO>Li3ydpcOVm)Iep-{K+TrWDV`Z)M^NG%hRd zVLfjQDKUurO!PMD43j`Fa>2gwTZ)M{vfg>P|A&o#fW!3Jr()L6ApN#`A7ng)Vi_R| zna)aDrbP(ie*f`azrac%`lu(kaG#({)!NO`iK2HPkU&*x{j zug3mRL_%mHyijGaSoki}_(FLd`?oP~K&#)W5BxAnd#7Z(jeOMct(9~s7Gn)5xg<@a zmK$A!UxxjYffmwv|4g=_A6?VmynX93H!?C3$M421j#OvRsd4f0QgoNwrQ*{6$*Wg( z$igToQ(6+|0v<={I7$uT?;uGCU4gKNEEw)2j=*>!ONo65m|*~rsJwgr{P{XTF!mIo z6T{WO4Hq7Kmx;%QK@!V7u_RD|`bvZTl2S(fsQGqsa|ttE0}_4-wR#gizfyM%2;|v^ zK@*Dh0ii6DRCi>LM#+?o(^yD0x!BRYo1H4te$P2tbgNmK^E`SK6Rp?Utw*Seql98FNnR+D#Y)(T zxKkl2AA8CTGI=x9XCP>SmYB&dKQX8_SPZ3k#P&F@xA&(j8bkuH2Bc?Y^_`pUtPTR} z{{8!r_yNfrSPciPLt~ts6hg`1x(|6Kk;JKXX>;(uI|J^f>{0%E`aAXmA>USnvCf9V zm$h`@UH;b+L6SkVXa}x_M4nynTK{>CWA7#_Tt=9e&nW65)eegMZ2KVm4la1Tt5G!D z`P@G;Q2gzEU?js;U^_R59R!Y$(TgQ5kC>4SN3pY_5;taC`AI`45ug+T)`uMj#FY%R z>*uiwMW1ExajZsm0tl~F>=$6R^N2V~_ZM{{*S%;&xnaq0=H(tx#Nt>IEzK zqD+oRx8n^r_B_p!pkxfYH!@`SF_M+&=Z(Y&6&v~=lGTIh9JzIlwGEyw+7(co6#Hr( z(Pje9A-<&I2Nd9LnaTKxo2gc(O~XjXxg2;A-+s6vI9amq~zMdmQ#puZmSJ}kaiwYdf2=ZpB~JyDsu zF6Vf-aZ$$goHvk#=r%>GCsQP;`(Ju4c5K*d2K&Y=wi+qD1(=CLh}%m8N6A=HC0-QH zh~J-rWtsy)iBbaO#8J)Bw&(?cTNV4I)ymSKLC6-3GU`HldrRpfi0I286p690Y|zz> zz$|9d5UL1NFb8moVa6DV-j^JrNJ-LHhxi#Ifl)qYq8Cpt-p`QX6Bs==?am9AweRoYGfZp63yRYPj+NznFCrR@j`tr z2a-X`j9)~|$N(nJM)fG7;%7Jr=z>Rg4+(jcW@7wQgxea_FTxRKH%ey6Z+YPFO@|hi zaGtWGf}A#@Pm#ZWUhzP0t`<;2ezhK>0zCk5 zRGuTDV8JkX8=$E&QFMh$t)!h2%=7Jr8L6IoICl6L-OO`zOFfQ1pJ-$0h30FRkbKvy z{u~1F(mNCj(W+oU(OXCj1+SLA0)&nmSS=YV9g~BMN&_i6RyPHE%)N#^&`nWy3uzmi zyJ!NB7D$zCxSWeorP7^NDA2!|yrEP+rw$jl+d`kugUyJo)B-;{j*JQDDMr7H)2Wv~ zOO-U?;L!|b>xlSWMQf4?0-F^nRPQOkWb17JXt(ft8^Bu2H|%|JTPPYCfk4d4p9Tv7 z#6o!+0f=+ST*4P)yDf{J63Z8+5AlK>LR$Ya>Y{IeaQGm~-H00c<2Z!hRSJqp+{TQc z@#%qx}w8q*aQGj^9R zUyi$%7UhS9NO>1)n?<2|tjG-zUxrS8QcTNOTc(`$FyL4Ma*J6`qjlurD9dq>5u)nk za^@g18WgWFY{r%@=RwIxwCEBbj&TSLoy>|aycr7paqHZDxIblNOQ%0pGKF%EG=OmM z3N?J11u0W0>PFRapm6En$>YezgTkyQ&9VqFO!JpzXtTd68hWXr67m=?Y?Y!X&i0~W z_TVeKM&RU9M29d5Bc`=A7NZGcu;J(aYIbD3OJ9%AL~?-$WJl~5H*?%g|F?$BBVmIto%cH7_@@(G~g z<0q~r&wgqamd2dVq9tpQQnqR=67?6O)s@E`VQR(c6K?BUoP`O4Vtwk~pGaA!K z#c>0(=cBL4*TjgT6}a>qPJk$8(ZzlDP3m0wF+OBxM(C#o^89VFxjKc*n#*c$q?JEU zbGy>swZh!Bumext{0h<{0WP%3}UqW9X3d+Q%Q&WD0cpRJpHjMZ@IS}j* z`*cE5H^vlgHP&sO2K`=`F5?u#06lrJwBQ^iO0mmEti1F@f}nKZE@q#GCZkoru{GHL zldH}y3YTZ*IQo#klEGv%lF7kN#|iNl7;mYBV#7lhKgTg-4cb2;N_;vO39aG8)qo3AYMV{;=i54dV??>lff5+%#}|0|LBC6II8jseW0$8bDRa~$ ze_ReGAHt)M01@~53~_|sBHWrQ&*O{}VfgnXc@`!`B)5f&ozlCi+7}=;UA;2zifa4= z-qVK+7UnZLgp&}Xw#wRQYfeT*W3LV>CnIA*mJTZ&%vNWhImoJp#D)xX6bICKcD&%< z=M5!Vqoys9L@=%(09UH4k$IHS|I~^&DbRLRYCQPOS>rKAhT#w9SDr*52{INW4|_DX z9g5GA2wb|PPt=?zkOulc$+c5d6<`CN1cr?_h{MzKHH`aAFLI->)T#_{X0rzkbO~){ zGh;Ip4M7&jrG$w!8Epd>uQJ3qz$AorNnGL*Ggm4;%%)y)%wRsp(ZfHG%$sp!Cm!(C(iqc3L(t*U{0T z6;DWZ?z>Rt=5{g4>z_Orrj<-);ILMHdJBB19EfEb5>y7iz>Ni(5W~U)8pVI=2>L+w zY_$ghJv%8XbKdKX5H$W_U!XEKXptaY>FWcvxFa7Gix7~$U_Vhs1SQaZSBq?#>7TN% zOklth|zYGPu5uC{t3XsA~G67OcBe{39v7ua2-D4 zpU@x{>#o~lP?F9w_T&7C$*MXIKctq?r4=2GhZYqJh;@}Wn#91-^Ta+?F<|$Wat3S& z;sltODoO<69Kz&iLlQXE^QHBReB?BoNJNf&N){phkIq7m2>g)TH3J(* z*???L8%G_uky@<23Lp+67;YtPft*OhkAW}L75s4tiJd%G2_7YwQ+5PO?+VWLNK)We zLiYXt{70AVVh9RksXztXgds5`5aSgpFpoo&wty&!5=T!68)AS7kp)oe&?>Fjd?4g} z4kIv!sk!2Icr9tgBBo|rF_s)yi`4trBeS7{b(vYGA)inguE#Wt8OAmpF{)v=p1I`* z7cP?p2BkEoIJlI`tlDX=ANEHUU3!?f+%#AjEPuUCRuEiR-KF-C_w4iUP?wL?e2t4A2OMyqj)Tc8c#hL35+V>^rz z^jibtA`^}V{D)!6VI7QHLK-PUIK;=@2D42lHG6w(?J!eo{$1ne)^;9S(1%?9mt;<~ zzlajjN{ih&ZQ1PBMS#M_l2L3fN(VRX`mHkpWSqO=Mvj)>MiA#gejnVY!f}QnPsbF2 z7DkQn1lO#FO<+y`BB`i?D^*g#Y{sA&9{vwQZR|6AH&}@T8(q7C>Bd0-i-Ws|07*nA zZTHUO068RUo2ND?O2kErmhAzh7Q0B>JfirfSLh0_kcv|It4>+ZOZ}=WVv#IT`C(Sl zje;cQ4A-*N@kOsPg12~uzCUO4)1v|M*XLq$B3ehjXy8}gcLDCVa9@bqlfDn!+n)43 zMk@y3h!=K3~CIeT~*wA7OC_Ax$)0wp!O3*Tdux0CL4{G=X|41$`BF)zlno2!c{L^%m_Oa19!> zB=ib@qPZf*ZqsTtHh3If16&2ur4!<7L~0CSF(#xZ4Cq_SAp|>`0AvrtMqz;sR8=8% z>9~;yBgoCdgGkz!ByLP-7&-t8>r`t>kYX-?jqy!3z`D(DyabPdD{R$#=zstZXrT$X zQ)6fzc`CRpYLN~ukN`f?JsCobd})`?-YfV!sk%~Kd1!GkMNisX(R)bMK`82f-Si&z zxm@x?^TZBgMi8Ej@J2v4JXi6dRPWER#~h{sh5mzf!|B zw!;w7OuLscQ$%1?v@kndq2Y9cJ}0B0E;vd1N|+E*Fp>{iMKG?x9WrxpV5H%5V|3v{ zG1GO|MR*c73q}C~Qs`YZ-wmh28YiU2?Ny%NE9p<98vG`tDzC8ge0<18$BoN261SO#6s05}20X8S;Zm7Q`Bw{Na7@vIvc%X6iSOo9GGO#&rCDKh#l{a> zm?)iSK_yEEY^E9)tI!K#mi*RHXw%BD*a;nqIg?u)r#1v z=W)8r?-s8-^;^iY*3aA?UHMH`cCR$?&SLr8{>N`ENh%!_Qda46@`6(jrqnxQT}l z3v3w0`(efO{elt)2F%)dR^8h)IdpV`FkQR@!dRFyOz)HPAZSBg{*Z-t-_yg{5q#$F2sHN0$rO$zjqas&cpBASnrh z(E-84%Eqv`yPLfiXt&1Ig$d*0C_k$U{3RRgE!Q*u1+DrNwWpS+1j2?C#oi9=#D@OR0mO*b}Sq$I0zF4*OjtelGWfE9IGg3 zyjw#zcthNhI1H9PnvNovYt~{gG1sw#^U_z&h#f%+n`ve2vB!F^DZa-x^Ngsz+jH-SMkFjy zlCtFX^IP$?dks1#+rNJ-w+pPgmbNsd`P8&tS$A(A4EHXeIy73(+fGaA2P3LR>UI}YZJzJzOp`k!TLV-X3^ zBeh+%pHOe6EKVlE%X`=DYOq_VELM4~y^_}Er)roT348dh)Iw2$%3wTzUM(rX#J|hU<+aY{y9$Gg zu`4J3WrX7@qIBUGX!hpa(D_jnKGEkx%gvy_VtO&)sbBe%%B-|_nLNTTv6^l2Uj+MI z-1^NzH@DD&%Q#*rZXfP9@Y1MCE4PZj`t>pN>;vgFY zUfTg_D8Tld)jrc}w1A0M6hw4yk^y9MAfmJYnEuU`OzcYz|g0cmp=B)Xlv|=RIb>RV7MLzr77siWxwp2tR~#lhLcAe> zcWe=oOQ)0ih7#8yaLIgUc$~DXgf^JXcir&@;rx-P2gDAj(Ks|l$HNOnT+sVi)6vbf z09C4Bxvvj9ubCu(o`t&#%?EbOVY(co(_!z`(4;^BGm=!cpsN~`R_NY_5Ilgb5}>Ws z{hG2R)X(Sx!)&4kY@c^}Ir@%h56ty&2!-j{7M)Y0taxt|KziL-!>*WPLLGH04=bgL z!i4P%JZ8h_)_K1$oVRI4#%TL-0&$7$1~ZzCf$ob0s?BBwqhBmi3QG&6iG-y{m9 zMw&_X@?biEazq%-Zuf^~MdW;;OMh zcYd8e@1NJ*dOy0^F@ECJ6-QRbdZ~l6;1Kfgz z|J|W2v;TVR`26k4V4UJFWq&($N64!42VF5TyW+U}`gOq%CEBlcFH$xH5>)*T#z`ncf|2zjfM z{v^d!MQwFq38w6bz>v~633HYX+YDrAS<9a{-^yLO_`6~4x?LORS7{3+{K-tXsl97) zN7tIfH@-cbJ)AcAemY(VIoqU_7caIhzi}by`rHYBPdm~-a!Kf`bMn$%S`l&dQmc->a((3G9lDRY?r(s}jgQTA$`d*3_Z8p~c8TEk;QTB?Ma;&TvgyzmaT`#9UCOv~f7WxlzKBK^Cq`n6 zm{P0@7CzX=IErGTPEfze9|u*^-9>i~g2>I5QE^9${hub%x!(mD^mE zEkcwj4}b7+ZIFz}U_2jDzkTS=-wf$!y3KohY3-FOPyfhi{;=fHmiU7CLuYO0IpbkVWW(ak1SJ^0;OwHf!%32&M$=}rpjzZy+~6+!~`wrbui4tK>_)io2U z-d{*MG{vZyjg8JeNCTnVsDZ8FK5xbLhwE?${qv=`QpGMEs&esj>#2@fb}jb~ADg8d zaN5)b+X6&h#^>)j*3|m-X} ziEz@1wpSYuvK#=G467VzeyqoU*JflZ)G8@yK%3v;@e>Ku87IeMA%|$@a2%VBz_xfF zx;Ohc0|0?(-T+7>!GQb!@j4`+XYVzT$DXgv8KH5tRs8_83lh5@^dP+T(C_fzudj7PM+VgOz=tV#`_v1U6`O0O(Gye438i zPetC!l!eYjTmwjN7Fm*5ws7*rJ*&H&^ZET$!2Mq@p0tcTa-^xx-8d3BBXf+?-c;DuT}DP4IjVBTZvZCx_&OvwB= z?(};dIJuI;f`m3N6C*2sY&NC1C5mQRa(am(GJZ;8bJCpxqdV#aDXQ9!KYL^r)^@V?;mi}>t=aldc9^IU7t#VPH&G@bo; zp?M+nCx<2EwJ6MPQ5e*`Fr@5q`Hi8jsevs=j_s0$in!eVal)sq@#zPSZ`kppyfCczBihAZB&oud^fbA>;lCm^5ko(+8!mA0Q)$0yTA}_yjvx&JChDVbI#woaRW(^K~n+3BFGO8IOJn# zV{&U+`0au%S$;QP^p7jKvTZUcRDpC~aP8&G-UtwxoLh7G!r6u81DU+`aRlJ}Jp>CC z>g>)|2n1B{@C5Akd4xcdu*9|XVeh&X;{gU#M)ItK{-XFRR7{sr9h(iNC{6kiQd$Iz z9=Bi`m{zU1Vl8Ax4I{9xoqfQJ9S~MQ*HX}jNW%3QQ%j#rC|dI{X|<32pxFuTOB39U zhwZd14qAKfk**Lgf8e?F&C|>QeeVNJp&2FF`&hJlluzG`z`db*vo=MJJ=V0tl(N1d zl~qfMBS%CmY#Zp66!9P{bHv3dZ8nTpHQ~C851Be^Z-$PaAC#mHSUdle zW0vtT^TwUsw+a_`^PAF$GNfMZ5kGxQ_ShX(`@4==k=r&QFE4G;6{V1ur!#Ux@al6q zv1^MxgO=v6o>zXorBC|N&I_MjE)e=`4vXzyR=E4%xDS6{IG0?iqP_7Cj&Re)LKOPk z4oy~ant;~@n@rId_F5fjKW{SVz#k?aN6*{xWX{ZOGEEnOh2-_Xed-xV_;O^~BGvc6 zA0sTat$c{wS$jac=O(RK2nIv5p*T2V;Cg7u8Kzi~&?^*HKo66sBtu(0u<0TuUF5I# zwGxJSOPKE_3G;PdH47O?b%_Mg|9AqY+1P-B>DwVe<(< zqPm)}Sax_sd>aVZFO%Iv8A^IBDbg`mUqrQ0_eT#)*`>Llbdi;&e z;?$dqp>WhSwdijD3k#E9#og5pyZ-*-ruf8ygG?n=5#^UVsC}>2Tc?+u4skF>q*T)k z58t_?0rUMmDdE^Ri|180k8#x&W`2yS3OHeLLN7z-EXWxLfA@yMwwGB~PCtt|SGiAC zl2{nBtuQ#Z%^%NWraYU)2MeRC9n4pg$`&y(G?dJZga=j>lE$%1^EGs*$}ZzUp-{_7 z?WzOdAA=5=&=|mt6&Kz>tkyuR28q^jyJ<`B?^2|lIy|{NuK<4G zkWwM%Sr+-9O=aabOfOD*1R#8EcF~0rh@ysL4qjH3ZIG4sG^?g(R{5W0N+fE!zRR@7 zwP^?xLx#rKd4=Dlb<;{6nRCcAF|zUGfys!S?HJR3UvZnv%FKYBxdwnL?4ve+xcj5L zT1S>Yt8C=xW82NJA;%hsT&cL5w9-y~y}Z?v6Pyr8D(~^?wo%FQ~t2+L6{<`nnY4R15Yf6S^7Om-36n!Bi_Mgc~$-S~dU4C3` zr(({r{1NTTL2`Hj4$zFN5qls;bllKp`m9sh8F!}R1PqqW-$c^0yC%dP0YRb0T%rVw6o`jQBUC}4~9stzP(f$6snX^ulV?rm^UhMP5LHe*pIQO4zG&zcWO zYwuh8P`1dkdi~OzEv{^@D46BMY5!iGw?5(Bslwb8Sxw&w6|)wUY(srp9@7r2nr`R<)m2{dgFY{22MiZ3+-jgo52^El(J~bI~s7}FoGrROvUY37)Yd>1+ ztotvz)+I;ML#{PL3K*s-8rC-E6i9KV)yfcB;=Ey?00jB?IxiMt}s6$;h#hDy0!@vZ`^X)>m=1ADJib%#O z0VF-gg*TGQDap>D=3Jo^yBkOxs+jITC>fY(BZzj{=^FjQ+9xY*%3jEd*Q^XU+2gm2 z$&C&*v$lq$v(t=QmcL%?4rQaa7xU*PR4-a`F882c?zr^MA)5z#V5Dr0_^>~`+pLc* zPIewRd2;iee>GR$c`>%P|7s`|>QszaAT7Y%Yf#>+d=#)KXUdKD^KQ1_FQ)_W;Q12EPnx73VnCcEzT#eM++jybt|> zsV?gab_>gYW*yeRif}8^goR6U&dBrDS}+JXQ*xyYk-%(ix7iyYb*`r_?u_ zrj2s-d}EaEdwxz&zse^Ml@H=Wt{aT{et*G5S^l!D+E#A0<&F^GZiw`vJ$@bePf6>k zACFHc-r`vEOXmkeo;=yrA?EjzlnV)~;mS{xznhztdoc8wb~51+THno^*N)+{6fy!F zkgM6+vv>*$kWqv5g89XHEocM~us#_5%Huz2&xJ-#OCdo@O9;d`)R?m7*s$V$vF)7Lh1o@k= zFc4MTOL895S;GXtCUxi$i{-C8YD}WZP;C=wSF9dHn)=+@eCrU4iXqq)*D{0-lgK9V zwbo6c{7wOjh?1}f+1#$la}hH3Ja3`JL2|5LR#8|t0Ux|ecs(v25b(XdtzI1NxWTgH z#!Xv4*}hu_#l3|W^&vjdwp~m*vcr$DABPY*QpPzveYy8=EjTrfOz|G^B4S=sI9M8` z8Lh=S-+fFETa!rt>lU^S0ry&U%sS|8q!l*g-m7gp`W-ZJ4;bVgFm~@>XYJsmur;)5 z(I+gU@bQY*v9m)m9In}4_R6NqZ0%X^P^$D$)K+#(j6S_=jb(&>nf36 zGcErOxcSi|27s{ZXiS-;w91t_0md^XnNH?Dw;*Q5l=Zzcw zJwD7*jdS}9p8-xtAXpT$E%tl@LPQxiz*cm|IFrV$)CYw0FKY(BIHCGy06~w?B{G9W zMnDj!wJTO1_%eMUa@tu3GV+cj%m^nlBa2Podl3=)LH2EZP9W5dsnQ<0M~MO$QOl22 zs1G6#wTKa>)tQ9Mn)7#ZMxTk)QlVWR%%SWgZJT^cQLF4FBQ0aJbfhwM))Dnzfkw@G z=jVDg?!umHy^?Brj{4p)U}W^19xDcJsVLUIUSX3L(0boW%hWeJ-IiEG>Bgnxa#?Xy zW454LgB{WgY_+1p;}dlEmfA!I zU=KW?$C1LCWsep;`pYI8fs^D2!m%_j>|x@rsHd{r8rNjsgc{eMu8)&@jqZ2t(>tyE zM|uEa#W@v(hnB1`>|t@9tadZ5*LMMLn*YJgC2ICJ1DVW8=WAPqK`Tyo{1BmMXRB}I z?sC_PqR4WNX-Heza92@=r+=q#u7u7@gH`WL`-l7Cbo@t z5y%?~GO727^CnR6!ME^f0>|TMOL6m1hYc|oUp)=X{-!Xbd2G%5uQ!}ZL>1rv2-4Iq z`2Zydi#UOvk;{20=_KDugDSZj?Pe=p?~Q`fZF=}*3M=;>6LU|N*!SGCG9 z^i?-``JRH}UrpuPKt#QB_+^K!$MB6!tXwPl%RkQbdrqk*kSOE=a+!zTNRPI>`TWUF)j%5Ad;Ro&Fp6>2!>!m{2ucj?)fN273NEso%lpZLenhJU?WIQ zHpb8m^}+-k*du|#l1N+K9tRF6j+lwaz!1p0Qw-YRaDNQM>1 zVrEhZhoM-C8R}moXOa>cO*kytv`);8mQ){-RX;Vvie&OAq>BK2u(-Jfby#2gMu!P= z(nrD&4zU`N<&gN&I;zJ&C_>EQrdS(nq{)Rz8d*ULXv%4eHMfvN-V>LJeoihfBmK1} z?Rr}DA8+fo0gJ!0^g((EibpB2st!&>#1SdQ2^P5>ql~MRF$FsMMUSi3mzC^a=9h9T z?fQ+K1;tPLx!q`xRAB|?{`;y{g)!&){MgrWQ{P`MWK}z5mOnK@8GMX$)&&-|9Q8ua zb5-WEr#A~qZ~yWaiG|m0%2>F)&vL&H151-L%Cj>rApgPLL?m<>uw+5?ox~rqoii6d zH7Ng>*gwqlpBqb(E|?=0yaH<=ynCSFOerRmM3yyCbcFlq^gPPDl+w3?MQ)ogFR6ku%_1AiMogb((^Vzn95GC9g{{Yyq5DTu zh{*<1Yi-woh+ik_3bC)>3Iar8Nu-8B*iiIkT_r)-=At62`18HqXeP0^xKF}1-2*P{9b5RBfX$4`5cR zP!Iu8ar)*sOCu74pNI$}q1@53u2hu`XEBjt6C+R@45+z-7k)^8a&T$- zo3F;$e=RgaFj3sAz{yuHmZt}O+jUU8$r;&q3Q8~UKiKC-*Y4X3^JAAd@!emwbHS(zDWi=AoaLhqSzu6q&cFpGBCiNAf|J9||oSx$J8!fK=?6 znbLpB`|PkL4X}Rd1Wzc9%5oisD6Nib0uy!`969~%@VQ1!V{a_FxP7k7vsJsnNcLTI zKFA`@;a74&@|a~I0Jjl*w4KaxLSxc`8Lg3*%+KkTd8=;!yW z!J++SGrJ_kN9j!XonS&Bi>&3DkT+`!EtS$Y$@n^qacIIrINS$%tj&dT8|3WKa)N~z z)FVZhP)JMibYiDPK7Ne&bh@X6%vO*C&Kj zH&7InmzAt&b}s1pLq$epNL7DD$)9wm24?oA8Nqlna!)*vRY%?gi*cv(6 z6d4l~B~271_sV~Z{j|WfcC}aO#`wfNWBaY1_xtVdkKA2_KtqhV%S#H^j2JoDv(xA&~28-F0VG*oY9#1Bs;JBZc8mAdgyXeR?w~=mDYF zd^AhHFkxc-6iLB=W46y{15k`_TG*tksBAor^sTjQ5y-=$-6*ty0u`tiAw)fIq$OHmor2OQXF?!je{HG3**EvsAFFxk+b%?IvC^;K?kn*&_=~pf zo|56SULW;As6N<pjN;iibx3aIxB{{c7_cT$0YjEKD9c-ZnR9 zS+lBhc3qN6_uSqvXhrr#dHh1723f9Hf(Cba7`D4lvRk0MMd`@sDIsms+?Mpoa^1i3 z(*2M-?=P9?y^HHQCe=YH7)N7j@q@;qiwaBE@YB9NFG zCd&pXP&BocTUSV3Ao7ZWIS^b0DGqo_JfMC^9Cw(ET!<`Gg@ydmUmd7lnhVKkT+dh+ z&h8aHjVKtD0rbn)M06NnuX70Ds}${#>-^n@9hMYjit8%GEPK&xOFv1)XfXmPL%=M6D7Vt~MWv3M}WexO40vabF9vS&!C!nCNSEOZ0H7J?Jr zJS!~lIL)&>KZ1OJrX+_8(&KvPW4_DbkrD&T3FXL89zA zEH*7FN=ErxK__D+5gh0f(LtIiuRU;?0}DPkh~^$X6A>#@?NI;&+pYf zDSzqP@{g5EvzEDCs|=YPRN8)1+_ND_#8;r_JGVGt+Ue?we*EG(v&{AM-inT{KX`ZY zH*?eT9o+yycmD1`(uZ}53sL^K*sr8B2vT^79l!A?dy|!RY>yTXA3~eJJp_BFs3B1X z9lPTMXzNfmnxSaNBwIR9NY)qhkr7Nz0Zgp<->HbOi zvtDdZ-#+8@kvF$ZOYa1dL!+>>jq|&5`G*vQE%HS-E#v-}~Mq zNUA5`N&wNU#}TbRAbVP#Sy8h~Ir{pICJ*ssGG3I!G_8Gy=v2yHy?#kzX@?_+p&9xM=#N`kmNi!`!eAyce9F`8D{7Lk*T#)CMTDB2r0 z2JEwfxuOt5oQ-2q=N!V<6v4EncO%V+3G^b9YuCnJeA;1STqGdXvi9A(cijU5Q0CQV z&pKKE;$m%Wy<^9Yt8YT9#*hD}x`AuasmWH|R|L8+KLA2J@(`|LR#@32;nOb1X)UGL z3^=s;d>{@j3YEe}W3vG5YpGKB9nL^>uR&7;6p>k;qnSaA5qrY~kD)esY&(enL%_&Y z)Wx+GvDe&6eN5xfi6-EGWr2}!o}K_-Fr_Ae76KdYlzRdaxPaqE?s<~(m1~)iYw=mr z;8)U(?1_`zO3-jLv2Dgr_xHeSz{(>SsCaGv5%h7b!G&JHu(#MbT>JwSnac(t6 zo$qW!cqqgv&5zlpD1!_NFOMy+E)4aw2{&o@e!q8x^{iniE=2CFmNrWAzWyX)`s@v7 zN;?0UjM>}!mCJ+I3*<|G_-cX8LF)q*jYqBhRY1~?yHzEgz8@bA@(B!TogNds+2G@V z%vF~?d zyP$SR0FP||7-f&6;0I5w2*R%C^3-Z~-w2SiqKMbp+OZ zt~*J6vKf1AWJ@A@6*YX(OOp68af?>tJ2Xwz!X|=buHC8hT=1N*YzRjq$f20}Tg;9H|vKgU@O- z{P4MmAPOJh)Uz?w(K*6UMEF)ojft6&f!Ek>UCN%~T6xj2Xis2m815m4Rw>i6awlgg zwH^Izyki2V+XY(|Bo_2X?oz)O1#Y1_;WJ1>)%S;%Zps|5@=q6%(t9b2dnhXR1mem` z9{%w3htcnHwws2ABkZa`UIQ$?+Hud2PMe26Je!mM=BUHop^XJ7?~|vXCiBF^M##Xi z&TjlSi}ZH3ZggbqbW92s&*DP2A}pyAL1KRSbN%{<&oHEvG*^D#b0b_)+F4QZz_F-W zmasu5Sk?wZ3Uv)I8F2UJg2HlrzpC7rath2y%XkY%Vs7s>e>a8$!}Z3oJ=kneZcatU z&{6Ys{4H#*ok*&kj|jl{(!|2xs0ofJ82!#Hi;Ihn z<6Q;H+JceAWD;xWBmzsT?1=ugHC)xzhYqzgwUP8V;qRSrVx>4qij2aUx~jUW)u_H* z8YtgheEslbzt@Wrz8zx@q|Ebd?y{)|RwumbmXx2{?@jMF{~3jtUF6EiNpvef)U{J#&4a{89a3?L14kU=ZEin$ zWQ9CSNJoY_TC5_7)!!J8&0w@h6ZiSq8Krz#83w@C<@s+r12xR zCpDI4d=s>9jZ=xD_gKY)h(MkDKqs0{5cXi=xb!@QByh=g40LF^WAWQ{=hxgGS$Unq z^}wAEFgr8+DH7#f&DWa)`B=p763(}D%H$ZxdqccuX9Jgx5Q@027>sTlq zj}Ou6Iw5Ouzm$Wm5ikokI!OR*zFF~YHxS($kV1{gs-JGuldi}(`cyo&J($v-E5o+kssP}#*zi2#@9 zaY;9Zx)m=_D5D%pKL&=dk5m<fI zcwZc0l}cxDj19=?+Rx|^1(^-xlUv%dTy723@}`|3(*!Ti{b$b_A&mVba-9ekUw{4M z$emBVK70U5T{wu2xb9@Dt8E#J9-V`HEs*La*<==63lTzoeM!>ib$Dhd>1}SugC|7s zaV-+o=U8wLePoIlZNC~!p+GXOBkf~Iyzdxnv<@%yK-t?+3`Q}vTYvs4 zB6Mw{wAK%!_)@4On+!_cdgqWJ1EzV3MXi!rJ*E@Le;@OiF3!!!(25X?oj+@aBw%~? zc#002ts#s_ksE{RQOXd2rE6NQV-2#g4|}r2f8(Z>LMXU8a%!A+#{;jy8u5US*xyqHQCkk zcK)HpN4hyXYrETY68tGm5~(#7#^;{y_sc}ZZ_Qd^Za}*c>Qm%$-Am8M-U*Yh6Vx=I zo6z{F8H>KfO(P{CL6rM8T=gNV>0qWRCLABZ7WiQlH( zZ6)h8LbT&A-111{nsOc%Rb?bbHJ;QDpy^1rH;v^lx6izH3>k)uzROt}TVs+DyDbh| z9G01RcJEK$B;;fx)5d*yRb~0h+5K&l6|$13c=_70mN5oM)V6tMMX77rvQ2x^&K8zC z$4{CA+R1x%%UPlC=QYac`PV=HjGXc3M0rj5{g=I81XMk5@0N4Iaj#CdjQno1?i|>^ zpA_upm>>WKjYye{SH2!N_0yf01-?J&#|3{_#=^JZps-I;Ue8b>hxhH6qz^xaU;5ml) z9`2XuNG~=Y%M(Jz%SH+dL_qpiEKgEs0_pBUieE!EpTqyWJ+ZJnrobX_416wR%Ia+7 zV0T3G-Q#&J3E@Y|!*a?r;LXLc8JkLC=O)l-Gegu6rPyF=J1hoS11L-=z&7Rt;#AQ6 zl$%e_&9YD(`Z{j5%B3EMhgweq^w|Ad=}9 zanpcU&uRG=jkIQ}=BbosPsHmx=@F5?6!QWBt~w+re^rveW+5K*eWbD#XT-InoDTWz zRZQ_3xj`82l?=IRwx%->n^KljTp3%Gk>J3bA+E7gP7|hoVlb)J+Iec@6AaroUf`oY z&chkeNL)#~?XMSYL`CyPqnnR`M)zmY7laS1d-90w6+Vj1;6pkQ~)3a24&Gm{w-rdA0pYp2U)gV4qjf@2lh^-z8 z`XWV+2v@h;1c7W`sT4aB%U1*O6y+c)c=I|zx!z*>DKAlQ9nd@p)Qhc-{TU)acG@t} zc(SD<@UQDTbwuXWG5HJb8TkE~^El$jk#;oSLLXlYcAy>Hne7j&i}H3qnnMRK@X{9*rB*FV;WQfq|Jw&{o2!$Wjrj(?F>QOWaJ%-q9sKTo|kR^&ReDz!SaW4|wZ@a4@ zi~G~;z=?>UMIgv*Q(C|opiXO><@g9Y!nN2A9|R=P$KPs6zYu|Sl^*?LNsoRu?CU(H z2V_>zh&wnnU5q>6`275+IS)h_nj=b7EGhp@uF63!zDvr2`V zYvb3KU*{nz)Or3SQoRoOL%aAf@dB=sO|sJ1UC{|;5EGOp&RP6LCt3i(J>u3=6=Xw+ zIz_d3*5733oP?L^j7tW}p^Aw@T^7pWC&mLfi+LDC<#O!1SWAh0wAlIq@-eN$Xyr2W zVom@aH^h-t$OaJ!#s;fRIL`p08mpWfC!K1t20A10j^$Hh>Lj*uBj;*e!TSLC5-|c2}!92Jr z1e6`7`3yuV4tAY=5{kO3#u%L+XUlG~NMhuuMXEVgH+Jt%`jE)F90Ua+Tss4iKjUF( zB&wgA8|58Vk+HhINOGzE34AO`iE~p8YfCcAB59V z%O`~qyw%_6pv7LJi0N8{%&$A{G0mv!(Vqz<0vNWjle@0F)pE74^tj&N@Dd#m9`Mtz%X$hXE04q{1dGupq@=U_N$3<5gn$<4#<*u zYH7rDe3h9pa9HR*Nz(3StD!Xr*BaF?hLV9JWfIBFc6>2nB=)6DARFNjw4rJakBzC_Cjx0x8TG>hVp+5!E!t5?l?+@5B~7lF(!oV0<;94Fqnl zZY!$0^D?6a+4$GCgS&&l(AdgKYVYpY^+MK`sdtfj)2e9^th;xoU|Zm z3OTN6@gA@fO2Qsym`95cH*0eejl$(BdO#H&0U|INGdich{he|ftHWj72T7%3-9@lD zRCh>#oQ)uIo$=rice-kf?a(EFiSc&=3ChO>Q`q-V4HFVzXE#f{ugO4D%rL^l90XWj z$f)edQ9vj-vIo(IKvYEMb1RG3u!DLzUn&S>Q;kzYIKJ{If)T;E6txH+Ci~k1E9xsK za#Qq)F;!GlOCQFx;knR#vNl!$-U!65Gq;pfG>ymjgu9m zmj=~FZ2`geOi7&7i=i@!RfI%N0f2yrZ`xJ-Q2<&Au$0iy=9spx14kx_?!hqR=qbN1 zhr+LkN;%sBtSKlx9q3KNrcQR&T0@^8$x^64z@m}FzDpLo%)o%YGsHh57;U;4Cl28d zt=mktnW?->qTt8r^(wLx%r>Y`_?bn*Rq(y_!Vp=lS;4Iln#f>va29Tun@A&-a#f28 z=<|`^m0AYtX$(A!EGZ4-p5K{2wnDylyqv#@k<1~+ItE=*$d-CQM)r5a(~*6|D9Q z$dz%Dn-at@T!$?c)R;u`X;Yd!7|LAQfz|6rQWK^=hUdLbGZ3guF#w1y5rN`4zJQFl z`9R2=Vh%{vmKzvD`BhTgxJ^bzLMobjeh6He^DCP% z-$KSdx-K!@89OszliGNdnxKYLj8#(b5~j)3o>e6DDP+@;)X%ZA z90UZPu9^vwg_^m48x)%GzU#hLgf@qCDGMnuDqR~$u1UxR#n#0qJlc@f2ox4T5&Mbci*~V zcz&gCq+r-_wikJJc+*q98U#pj(R2wCr(`E+OybJ9?mJ6t2VmWlsj5>okYglKttRbB z_92xDyCl+{7vwVUR}ScR)Pnf^x+?64ArdD+&6G}=l(2D@c)qBk@oIDju40?6hqYkV z<3>b`xUC_s8{yVKu5;wQ(n0QXhR9+^!lb;>wX}6(IQ$8C$=&VeQ@9hSU}>KVF*wm8 zxpF+$>Lv)++}~;HFKBSdL?r|9P!bxiHc{tew&AoFkhpZU4U(a&ICe5IVj<9Z`Zzvt z5>_y3&1AppH7q$}Xqcen)1ffV!C&@D1_I++yqrcOHnuPsYWU%7*ibj~apqsV5^i0R z^~O;{k~HV(1K1N$J4H+@J`$OzIY)=BB$$2zZJN1ezgP)A(u6jm1pP#s1E^(D6fWv7 zwY&zL%*$5~Ru+pWnICL|8!U-7vSw8Y##5s};#{=08KmW^IZ}~TfD-gl?=@WSVU8mT zPkbN^5!EoHTn7Xr(OjTmzUIuFQF} zX>!l};WSnd290~8fzxclAdCRd6!-;z5YB8nM8qi8LyB^hokj*OVY;1-p|sq4rm#)ZUZB$JIpnA(yjLuohJ6bz?|e*N_$a{R37 zaGZSLf@iz?h5}><2$gLw41)d}Ha|_<(}{u;or16Ta^giXc>&8l4M!RL;&k^c;(NN9 z_#UaQbA@IOn6f=DjR_6>5wX|kYDNOW1COXi>>H7L^8gMogz#c(NH8x1@dz9PT0v$f zGjF>tols>1LK%f<)K$g$itlHQfybpYGu8NjR6vd*X~4%w_^Tv?WhJ|1+iPfPKZ@d-96C6H)gVzL?0vhj>yQ04Ya~W zeEQfrra>?q_Qu_HVE_<{XZ>47@m0u=v?q?>N)zSs{ZlrvV4gMM;acluhla2$2D7MPP1nKAb2TZ$vp^ z1`?s_;9qwiJPHek0*z0~kgXR@G6GNMFVG^?arM@;4D4i}2Zz6rG9=?>O0q~Vr zV!6ifRl~}4@ZEHV@8T*;rD47v15q3`G;?(MimzExKS9>c2!t@!S`tf!Dmb5Eu#%IA z_92>e>AHbbz$s;nQ>rl9vk8Dw5%c^O9l-HY6;KEbXvWfUNpCoWHPy3mcY(o(jj1bU z{>D&ME5^@p*baz4bJz^4o)VjYR-2CFzsM9u+Xa*Y1f6%wY#w%k1Tx7GHsU3O)*J2? zSxH#AIJXBM4u$#PJyaPL@kcTVDnO2I7~v)`)CLC1%#2vw4p;|eSzdI*1omx#4b>qV z_zn|ucd*m8Vj8i$P=jnbNzf}vy*tp8!&(so8%%d^gj+VmMhj;s+^=vwYSJaH#H|}N zh_y}CXl7W1g>Fl!z$g@+fQ8LOIe;WpB;jVMl{=^bQA@3+=CtlYgo0A)h>GQ6#UXK} zi`_F+f6pRw7g7=C`WmeeXy46y6?!omZ0R`UiN*B?BGHh_;(#xci&wQFB?cvyw9SS? z{JShqCezX%39&<5>3L9&X{F-IB$hq^zJj2sK)-MR#I_L{&R`5Rz)7jdh=+pvf^;ot zuTvjj71>1Wj})&- zD)w?zQk9i+%9U42Wo}J4p^k_#{vbHQfDL0~%B`HIEWk*moY$b77C?2IE}+SBNqwIn zfAHs2LMX3-1EC!xYaeQZIvpK}A62u6dW`bK2wVw#jc&36t%QNf2cz^bUIn@bT-gk% zW@!KAfmlrJZCPj1FvYdociuD_Og(rpg+UyW0dfl{4*6VV-A5?7J9;F_BG-U|#VRPS|g9Zu7YN zssbbYS>rdLvbu@bqeN~s#XgkMEpzOVbfyEeLj!V=!c~sZ#`Scjy^vdz z;ddw-(v$JhO5)WjFdBz! zqD=5w#0h0tz0{;zQv^!E5Y)dw9uVG=?5QN9jMEhxbMDBOr+NJYS>)2(zAM}fQ+Cj9uCO@_m$fU$Sji~>M*!w8(X1NtRS0%K*xNy4#9)b* zLl)2Lvzpo(fr+El81fEYzK;DO`cs87 z+e3Z;V~2yuXAOO6CB=Z_CQP-XNrY*_KT2+hT9|x#?>N3Zo zA|{J=Rn@nFXyTkFeqbdH1F1fgTS9^_Y3y(yT2*1DQ!T=tGz6qH0g~3dM9YfZpfP&u zrww2;iJ?TvF?~foow4y=uax8fQn&iQ7D7aJH5!kN|GIUs(t*Gym;I*%8@Q}d*QXkn z%~At6(Rdq+jPAe}cf&J)0f)=WGXkdAlX`SXhg(>|7lRag4*25noHLI8NRU80n5sK4 zPuC~wNRkhPDH~G99A9G!eTWoZH4QiC8=RgmM1D?JRD=0up~rlBIb)SLkCcpRb6w~9 zXcY)QrY}1}VB9GIYi#r}{Zd|fMr=`GRZm$(>d<-&I7IeovG{g0>mpK^G@7GvBE2?A zKuO^SdoX7wvd2M}NyHqPs4E8-Sh(SV}jX8&Q~A3;#?TC4Yj~kh|S1Y zVDQ4MVULJpERA!V{#`--F_?^vd{MLbuvkGRTg^L=f(Pi5nfOVK>R|q8%Nmxh!X28@ z;&su7s04f`$r+IgNJ~5i5`MO z2;0dX_7=0-I>0?=1$G*~&h`;QQ! z>y1O|Yuu!149u?FT8LF5japJX;8YRYx^LP>d3R6Hs)<^$A%mMhdH%{ju$l5eE44zrR&OkGlR_vC~19YH*dj zm4V)>@JBuoa@JF$TB|fIh_DhB*2b8cb;BezP%Fk9kN_QsM2J)YeAB}8g)RBf>l0kp zhm@ZyipsF{t9E!57}`ux(k$08*rvK<*3FQz6E9=j8v2!+lsw4TTJtF;yHjkdn%wq( zIfh2RU6Qmer2Ibrq6xl;xN3YcMEi?h%=wouif^2aFY5o>7u(h3#@%%c-K%<|S8G*K z>5EOPOX8@gC`xv4b?GC=;B~qv^2Ng7mD#)eu7$iB%m1?Ikz=TS<>8Dg6I=(qU*^|Z zng7*Uzlt^$FEWxRxQ5F=o;#FOJwtgbZf%mXMvT#U!42wiyiUBzIDDRzHv6b z*tX6azs4Jv$ICb2jYHILMB&9Z;)|MZyox`Rear|*`q1%hj4S%gMxz1h^x_0{XZ)gS zQ>pun6eWGorWRtGs=v6o=F^wI*s4xveEvnU8}W_k#Z7qQCY9Y#_v4Kd@kZ-9Z?uHL zZBu^{1}7Gk`m*jDjsMMV$Wrmfx|XV8aQ|ab#WxzmkTM^-MONR78-_P;uFQOBs3_M% z3$J9AAX9WvjT+W$H$uwhqS;K&QlyUWHcN3sM)6O`_Fq~#TVub8v1M?s=p}C z8Lcsb)eYJ`^I=j%-3A?u235C<*he&*NTsa%NHi!Wg<0y(C94qUFL4?Yzt{<1L|#K1 zn3HIS?P~5x^H(Ev=bphtAb)ZHxuUG$iog)_%EMkX(A48e2Om{84ZRLi&3duXy5lc< z)Kg84dJ>|))SZNAdNRf&gega362e^3Ey%Cd<&$UZ6+U0V(k2)w%G;u0^wh=Fut91v z{N-O7b8Sd@H+7rvIbCyV#y2(EM4Z#rv%wdPOk51m5dYH`rC#{_jT)4_+!~E`HRKglR~(-IcWe5r0qWJ`b2I$c>9Ec+D%r1ShSDB;FKi&>TLm&xn297c z&+uX^x^g7^iO|U=EW(se&r6^o}Y+KseBT%IXr&or=0pk+;T& zv@Cq%=fPWJ3%8SYFrP1*Kw9OOOhBX1+ipK}^;#hsS^nJEq3pqA02&3L9--oh1!#l< zxGPHZ&>dm{l((qJsEX8K|4UWyBvya2PWG@0SWrQ|+F;(%Flhb_>Th+U(Cm3t{;sr* zhWU}*lKH9YNMi>b$vOsIT-VG$?_zOO?T8QFi-G4r4HU_{tDY&^j3L25ar8=PP+MpWPz_HJ2j$s;z8pE3A3wr$L7DZp?(^EZ*VkNKB z;50p!ri}m5tiD*Krf6%?xVd#o zKWVfKx6Vc4O!~#gNOmYqx2mx=Ts6>UQ9pk+(*M6yLVA1MH6y)ESmH!@{j79UY&j^k zRfsZCXQvou1p=gxD8wAY1RphcTxal95_8Jav`EZmT2ZzpM&Tj(ubrY~flmyWL~c;1#;E^6o~J`@Nt5+E7+*N&noM-8#12G`A1K zl{eycevAKG$e-VD^ETX73!mMF{|{e5530V~KBsl;%&qwU@S-hV+s?=;bn(HFzsf4w zd>RxRCVmDFQ-20O40NmNm}`nHbx|Dq6Uu{cAC%R!DK>Ch&VNc7>Z*r#RpfYy#h@49 zpGJ7OQJn&}kw2&EY?Z2!%)hBw4Ws(ipeNvKRHNm*5@KzsKB$_t*amAN<;M7Dy+_(z z8S1(b#k?k~(nSH$Zd6nwR0j=!;@oeeywUzF+5&B`O5ILUlSxfQpJYvCgr2YvKRX=% zPY!vxO>9o_Y3#uoEh?7MwWMR+8la+716CR8GO^7xs?X|7)u&!uUR{(XeO%)+tf!^V zP)}RqMfm$)rlISUD`VZ!efSAqwA(MMvD7Gd8#D|xh4?G<2>rG0Z;f3`hU434o;Diw z#&1~@&}YBC8uGF+N-q9$8(K4Nn1;bxROUp&Jm_PrnP5ZoPx=@&?SVRW)NQz1)o{^f zB*UfZX#8q`)G??LbvO!$zcLG_8lZ>GLyH=}40mI_jPHI(VK2nHy4{pstWiFdCBiW7 zw1N3dhuNZVC}%1!GJUNvm3QYMG@#n(Sz+<(&l;NgfRC0Tb;b@WxoY^-d(!7!#$E@r zKwSn`UGdt7my-?NGYzHoN4472WVgS|e`@zC+>LCYZuPg}L)X-m*oJCr*Rx)!3#o6U zF8spB>KXYL2ZH9KSer?$jIw>X0(NyPuv%k=q5+B8(wMJr+x33+#fh!XXhk21L;c^& zjlMBPpGCMSjnHV+Q^VD>S)EB$Do)+0=>ItJ)-B(kUTaS$HMh2A%BB*cLf{QUN7UGf zKRLG}Mg0JH$`IU7dq~;oTuUb2PIDbfJ*ECjZ~Vp3wWOKG zU#`mEmf|~K_>1_oFaM?9cf!jb6|8krV#;Af%Bgf4Rs4+%y`hitZb9eZFL50bD_cW| zW_?+41}2t4FA`;gRrQL#ciC-&{KKLkS*?rwc{iWT%4z7%<#<5(%UMpcN*nQ!SnQ|? z0$e}!!PNLdrc5!r7M_Oc;N320;nutz(OP50*0NHyEX&Rjgv!bV&n*ZB&saL5_1}Qd7x`WAGFy}82DI~8Fy3nipKk3JaKrRi-sBV z8drxXZxo32qW)Tgp|(Q);hcJ?jlodElH9ahHPrs=E)hq(WK&{;!lov|rm)n7$iC2NXs4>|7ZJMc9ck0sr z;)^J%#{48U8opRix2S{bOl*zRmM2<-&1Vz#m#5f8uoaEzWM!QxR-?hm8rAb*y#}Yr zfaXKYl>hZ#Xh~3;7TzqiSM z{TG@hX+5a>G-^ln{G-v1|Ls!sdA&534sn(dYpgMqqgCsbL}PI-ty@Nozx?}mzWA3O zfp*``M})41I-bOz0c}Ni4aCuycb)O~btKQAuQa!_3g{t%?lU9?zYwX1+1Q{!!&QhT zsjN~0E%lg6lQx5K@}Y_a6q>7P)qxmDI_qC~BuNMpJW_p1Mos;QLXK*@g`f@KMG_gc zb<`|XZfhvzaw)Nm0<_trT=q@Q5J9&(3=l8}Fc8Sk_(1+zjm+k#o}?&-*T!wXr3dm5 znYbAX;bfMx6Kn{?KZp?XMZiNdV9R29RHUb6neEpQ&`W%a);?c{>GPq)p(Z#;%J56% z4l%!KxU8Oj7TYcIR;DDk)XK!Y5E02L1KbQE8AvxIJ;fVxBG84GUZhtyAN*|I0xCu= zmB;rYN=&SalfU`@>+S4g^s4GSerGxzX4;{4fR0l@q(j?n%T(J+&^0X9zEKMZEp2xo zWHV691`Q#&nm`sd!^`5()>5PecU`4afm$dTCGH<)vzY~~V3Rc~uGx@HG$`3Yij=%W>?OC5n~w z^`W)9?%Td!i4}e*XR+fgyZ-^~h)Y>p-YCC@_-)}=$P=y zK$jr@LdPfqE0+s}-;ag!fqD;^j)?y>Oj!E{`*uTbhFEczcNOk0;#v9W_HQ*wqYG~! zB?6%b6@*FVCMIJo5+H)_>Wji0gX+b(2u`+Bz6aEPFb;|hS0jkm3gW*^;$ZAFIVJf4 z(ObQsiH)>Z$tTZO1zLjYh)dcmdAZE&sR!ITDW35P}03?DMB z<}kb^3=O0w0rrd)d?Do5k-ZZiqTds2MC2n)B#&NssvS-NCvS_>Xuk#fT&}c&rZ?E! zmM-!&Ns%kzt)nRJ&c&Lf*sZRfB|e%*D9IrEzH@RHH26V61%KIZz!(oR)mf93%e41r zsbv#e8Pe0Ec5VqkCaD;ur`X>lTfn!4s*JBl!6^*Wh-E()Wd_@defTa0YuBNae{!zWiIQ}9_*jxVys3lP*)84AttmK{bFVvo&eRZ0 zoc77He!OY>vqPU*1X5P4HIR}8g6!TtnpP-vfztqFDK%Liyl~Gb_L9KGfc;ecFMT=D zMQt)`o1~T}S=N5%38tzhP1erPc;Z`=+tpc*s>H94rw3u2-bx`?^Q&AmK6n|dk$mWW z@AXMK$1cu&VlVK92rm%q9RJGDY+`cjpvr;9$WpYsxOV|=8piPn1fN`xxa*#N=s0#O zsUWcMb>++4<_8Q?G66-ysa@%(Ce}Wf%gmB_Mg19fRZwV!IOkwUTh9W@ynioX+~nEkVYY*= zcex@2VNuR_L#$q61o}JVy|v&KWaOrun4li=>caqS9BbF-rw7xc{KQ>nqSNbm5NEnP z6-8;oz?nW@25fNhtwL74^$`4S`^>$lW6$pc*_qVp#fuwiJophedKY;qi`|VI9;8Dy zbXy@C0IIh&-Zs+C0D7M{v=(yh-pD~#450KdT5k=*xwyrK!$5tyZ#6cSplW0s@_#A4 zk`C_1_DkxrQs))&1^X8$}AF*su6G+_omW3|^XZ>;ftjM5#17j;qEKllwrC2aGNA z1MAh}hS~3o*EtueAnwwn4ofCk`2TDL^B8h0nft84-y_r~pyAJg{OtlfXP7>ShTb@6 z>bux1JfCGR0x^f-47(PhzV0PX67?S;bQsv>y+8$<8Mp?q?Jyd^q%*(G-GFQ%L>);T zU;{CG!s6anY`sx7l2Na+y7$N{^sF44GnQ!9X8%ww75mO{sd6aO(H+ALU2BSV75`Iw zVUwg)NC0ozr-nA{NznSkE_*9R#uUjvYDoo)n*K9ycu595L}l|~<;C|viKOTMvLM*p z%!S03#Q48%2uzEf7QeDt@O$_cl2qW!eBSHmh!>`V#VRf+)cn)tL*(iPLTna@Ccs46 z7RE;UtE$4I5mDR9bI4V`R)qn8h#-CN^Z7~Jo|)jnLDlYNEn$}qFO+o^cFu4Ms(Sbq z9b0Xc55OKRnAMWhy`MGqrAGCeja#c0?SDKxJG&8R55+FI3M=xX@Ni3x`NV8$+SEaY zq--~dVUy*$C~rFFrj>;4=^5Kg3*2oO0G9ZjyO>GMx1{v)irb3gkZs_B`N9Z__P%MUhS_?&t;gAS6kZ5-!YzYk``nge8#<67}noylw zT4Bd&kDiwqz`m$|D<`44G(Rqsgm{0XQZ`BbMq_{@QNJ6$n>~K=+T)v4JSGEAYxg8; zS3|=2IYD^V&|MfHsfA3tk}1{_L=NW~Et`qXOpi)uU#$9&jr~tywD73REH@vaI^>dJ zCj!4<5d0PN3f9<#PYsd;-cKGsNj=$S*RP?_+4k>69gC`Ni#igUdpLBd>JlrC99P`M z%cQb3SIzPNITk|cg=VP6Xp3Z*LlW4wajn{mYn$=Urd7Yj+aAPJl*};2IgvP7;w+!| zZY~r3ODZlS!lWuVY-`U_Ze^Rhijr`TCrjke5FcZ_9bnI`d#K=Jdp7#mkOapcaMP{q z(^iiZoJds036=zfg2?99P_v*v<9uz)Qw)Ve)*xMMdqyto#+`NB$EAH~9m6i^a1Px1 zhIYr(N}3_DtwHpJ>*eF%=z|-lCH zP1#NL?wp18BB!Ojhgk5uJKgZM*A;+l>zyaDNt_dB!`Jpe+u{99w=NBMWp8 zaVmndB}b^>n8JHLdG@g7qIwL%K8aWlO=mR+t}F=J*jd~&D;7fct>JK}IY}qhaUhC6 ze8g@}hP7eb5?F7T&<>Cq;*MI312rQa67ivA{G#Vr)=0)o#=%YrTu+>Em=P_v{#VOf zEC_Q5dOLA&tBf)8p@pINmS%V@f^V_`beXY1D+>s=(XRux#1K| zlBTztc!r$sde8C$85w6D$#iIAe5no6`k~T-O;5lsiM|lkB)YM!_=K65##*;%ZKZ7} zenNcZlFR>I>e0g6Olsa>M|g%4K~#&_(oR8!pmsFKArf`egaj6eTn!InRu!xVnz_i_ zqY#`7KS6f9%)X@Isj0q6^eQsBLEX4>N!?g6h7~e2amm$OR=?_`LaDk8M9dkAwYS1oNQa8tWUw4C8zl zm2s1#-A#h1A$+>xoa^b~c<8DVXH?jVypZ-Ri3I13-af5;YpB-@l2!SG7`;2hn=+EC zDU>-6rzdCQ?Sl(i_*R#6*x7hEAWu*m@HU#gQehWlZc4h2zxt^)6L_O%Zavj~jR32q z@B{7FD<(U!*95U!U0tW@EELBWT$Q`&n#iMYL+{cv_v__DCo8YFDO?}48j^Dj>nme^ z{m)HHw}lG8y`XD7SeWf6`XN)bVZ{zJbnN#Q(_01Sn>6?BYSI&d7hVUT(s6#8L!7wS zP~DjujLF9Lr^mZ+ky!EI_2XQ!dWag4{A6O^grQQFwn^%Ev03l;@*X6ghAiVsJZ#w1 z9!d}QCV1#FEu47=rSI`YNot{o-DBdw)K~U6zE|O%N+Cr<`FXL2DOn?~=z z{H;e`p<{+qO3|?4L8xsxMo1e64~?thJ9yp_jhk1d_myfBK!af`$jMBm2D#PrtbxiRp#8E^ z85eG6&>TtLFTcZAwCk6~Ug)ptQEl@l2k&Im8jaAu$taF%dC!LiT(o!5n9 zAfX%In?&hycG2#M!!O#m&csVX|3A;J^*-TyqVd5HnEPRFSJ=Q*dt$##YU@LW)6ce1qBM{7+x@G zD^Nle)PU(3S-vkCTbR?>#8~yCoSO21}!eSFA314 zBP?}pjp8d;sZTePnIo-Vh>;D@B%ux8~)`3+qmG>=XC*Qn~-_#(t zf=&hoEo26Z;0`J4bKFPQkBHrEkywIPYDh;vSO3h5)~m`e2Vc92w|RJYdRk})hKahEH^8vMx%?lFB`aPbAXUhFqb6qYKUylpmP1KoXwO2OUM zoMIp8vR1Y>{Pp0eqe!TPB2G*?KfRLWcmrHEN65a77p5*oGcN|uqV(GDkp`Lg$nsuG z&#A>-0eZn%!2$={Q;0kaV?cFM>Vw2w^^_^kXfE@TObv_eZUa;6`1J)_-_j3-Mo&Hz zCdg7znBA<%>j}ERIcZUz9bPEz^y-m3-9Nwap4a|s;Nkt_$GN(;bm>w|*gtFZUY+;S z5YZeGTZfS4#qFJBDGk*cVC)`^X|~8}!$`&$t;x3vg3T>+mT)c}s@@=oGcnbY{p+g@ zmoe^EoL*PHIQ+`)^F#*z^6P#0@*J^80W{T?26Qm7OeuGD*4G`stDS2C9{>w|@!Bq- zFHdZLY2=&Rdk5d6hAf;2EyW>e6*r|siPu>((GZFtTi&m`<<1vS(B)6s*{Q)w;Xw2% zaKHpH1o3m{!7YniwYLRJp9vj!S29k7CrI$LIhEy$N(S)O=|Gf1RPQ;#m1mv8?1-wy zuv5s=b4-Il4H={fhUmUJjs*VAm8njPCOtLHVWrERUAX;VM*Y=!C=*!D`0^?$z4%@e zXjR3RIGhLL5iBbs@TFn*?kxdgQ3w|EPv`+fy+-J68bir}x52MHL1|y|6XzQlLY>F} zN4^5!W=^7AgTYP$CYu^2USz;+bz)FsdUF+7W(vcy`DGu(qY-8{X^JIZ{pW2YE6F#u zQjs;Wifu~>ZpNB=&8cPUSf~kGQ+}u*BOc-555%L8Y(_`pD;Q*EJ{GH5#C6^Rq-DKu z)APs&QGS2g0KAUqTTsAtGYVH=Gt9I<`qig3_4eJ^=+aXuY;>4$w!E7bu<3mZpIG+U z|M>mGhtIuk#SVPW{O)(pzvH==@7M=KwjF6VcTCWX04p89H^2}_dD=M7robYlRFJ1y z27u2aUrTCh>Hd(is`TTnX+Wi9_u@Izt@sA9Gt6}7uadM#4FttRXN%*U%!Z0|6$<=F zLRS@mv@gIutk9ezS#Hn6QYgNqy+~+_r@!K17%G+egFSDyVib6Z#(D1|k0N!DG*C{> z%@SG{-%TAQ4W!zl;(QYT^*m6$cK;Gu6I7+&mDtw{@V4D(E(_TW*B!yM2RVKFGIQJw z0#&B0gdc}H#J!rYAabo~KZZ||fLpHhYCj4XGucBtUglH^cJxn?EalW%BL)eBWxv6E z;vh5>SZK4rsQM>>QALTUplm2g#2{Zp-nNOetJOara7^>ePb3>L-in$py+q4+o}lE- zV4aANmi_W`LpdSJoYfOpsgpmF21qY2bb9DeB8(0!7MS2_3!--A5R(< zCp8#*u&Jd`J>0n<1S_+QODt2y5ScD4xyv9z@OJGUAkX0$KL=IH*yoTw463LZWYp3h zN4$I5Wo_DtWUz*Mzl(F55%LBfy6f21$sHiIF+9nF5O)OjL9{MHM-IL1#h2*>hx*!k z@iw2YKOIf%1aZQnxy1a!pW)$;fr0m#i0Huk!{G)zkLjIY%Hb=Pw^f+>%!PTD9GZ|{ zn}7%nKd8(m*W8yWyVs9YQ@nx`_6uTQ4+!0XwMC5{trqXQmlqrkMB~@RavWLVla$hG z2VdNPlzF`mi<3qVPJd}t0~n`gfOl$6jcN?8uz{_}FtYQC6>_^xdgju^RHR}%O9F~I zfA)IcD)`7=mKa~h?TD%|jsv90Xyr60<|XJci8IZCw`MRdG>u#Z!)*PC<2Cv%2JRxs zco>Wf-mC8!<#vyohL0TMI=3K=g6W+IeFs2uwl?a~J(8v>RHArbgj&Uhtx#g|`uRGX zC5M@xyrOgdmESTQZ=BOmoSw*>QoK0|i-=eQ1BH@J0+*ppmcc7|u?BJ0AwJ0})|^}? z2opq8<7g4n*V%~S3O`epvCdFnh)zA?T{${}ETuNtX^@7=017$4{JxQ75fdMJXw`F} zNt#P%BZf|>a)29_vfQf3Ti}nk{L8;vhV7-7DlOuK*h#$aPZ2htbi^JQg`^c_S(*5W zg~vJunebQ=U0Y&u-ECqt7YGD6MU+qiX?e`GG6@I(*f=-3@E%xM(=q)wj8c9zzPcsTNgkxj+OT-M~JpDM$`yG=i(x%#hoCU70V=FFc=K1=Rbb} zB==9w6_6`W#vNnEZaaRg!k#{fjm?5tPhiWUQl$Z5W1Nx@j|b8uSCi*hVABOn=r$aPF1B1y&J$yj0W{j;ImlylW4IrA8jjjf%D#7a^t zBvl$WTe5g1d-u^gYdU)dzAhmULm+b#(C4R+p@N?ta2Ax6`)Mq)&rl+kZ#**<$iP`S zwH6(a6vc2ypQ&Kw-VpR$HYMEfS#c$85QmD#DrW^A23dY>5tqtO^U`Rt0RGGGVx)>2aDBxf+4a+{z***OG z-9XV&Gz&Bsp3B1aIjM(mSuEK*cUdun6IT%+$BMk>r@sT(M3(CWS@f7vE|V!($>%G( zpFdzsZplW0G;ZYPm|R8TY~`#3{zS;@WO+{yLzj+y zM&cV0po|GIk}%03doeEH)g(mZw~4?!$DnPwE=do@1WO<^h9*Z6@fnBcph# za?FRMYh@dUCLTz}N`BMI+q?(B23rE~4Feb~Zs%L~BR zz;R=ij=hpDm`bS(X_Mhh16O{et!Ui zPq|RGUL!^c2$LbRiV6z8_6x_?9#e8|dgM+G*R4izqN{+aXs6Cyi$5H|+x2sH(4n%J zj3H@KP>dnDHWGE!Td0TFh9USh;FPs4Rd1=)i+Bt|3~ftV(fGa;=UdL%6(=J8;b@T_ zKEDG&An)t)YF2VqWX7oO3)BQ#P-d`k4=3p#G@4+*`;1WvvJLxJX?Rf;y192giJJ{0&7 z76_WdOne2Qq>})Z6(@H{8z!KBMq30&q`!WT&4U>4Q7YS6EM8ohdlS zfKDQUibY;lVe;UgQk;Bx)RcY$Pia|_Ajp;w3G|3k%kG>B5)(=iFWCa$iF{H8y1L&J z+90_~qv-BEgVVJLe_g_T+UN?*l(80w+mG^Pz_PB&djS{n^WVwzN`feBol@|Eql&@H zVM!Aj@k!FK22BFN!6rv3gyBfFX1v>(060)zpFpw}Q!M$$J|i6gTRsDp$Lnc6ksMr! z%!Bvuy6?g)33+-Jp6kw2qJp$Y&McasmiCIsWNCD5E3F=RVW+vjIA(0tz+J9DY?*)j zb$|h#5|vp?t&wA^M({HnH0jrjS~bGYq1wEOk7D_|Whr3;w(y!^9OliR43H)|lkd&Y z%nhJmtRpny(hSB#&au~6?cW$ldzzeLaN;036Y9|k~{F_wLnR4RXT0`r~uKz0=7i3p{^jpU>f zs4_+~N9=Nj>cSOV15C;*HfJ}bIOaLq85%jB#_gE*qHA$u$_@acsF4E9iz$iMg~v@( zqYXc1%HVL@j8(;4k$g-huv?bv6_o_5pM(jQC}gPStcy;NrObZv2Ve#R9O<0mT?O$u zzC7=8EY~E^Xp%Y{MycJq8akpqKy8D(<)1(O{PX+84UONRPHgF;7d0E(JRwvVpf6OD zcfzBD0)rLmfVk6Y99klRvt&$UHr7BX(9&4k0mg{|k1yccS45c_+ANEkRALEy9+vBp z4A&1Fj`BW`jtaa5z|irJ1D|}x%#4?Q#cg9(16Kk(Az)o1gIfS@F=vZr2Xrl*E+(O3 z8^AXlyst`d2@HT25ju){kF#!aeXh#`l3=-{czyLY78hif6gMJ!ers#!i}&`dbNCFD zMhom`@Jed1c%THYwzOcBdJJe&P|RhEi`3czeopL z6HOva$`pg#!xVLlpy3o@%@k}cfuBe#2~7=A-t~!f@cR=R{rnuKy0;!RrcpwX%3C#Rx}3oiPLIB5V6$&tltDM%?}}V!z1a*sn%>mHJq4 z7my)A`!`!D6M~Wg*e$5Bl|Hls2KID~IJ>LXuyVJ`Ffcg`dHDc_$xjZZjHBU|t(iKo zWkx0{p5<&AidQzt)Z0|}=`$iehk2W%N7v3`uOpnOo0331Ly#4!G{r2qFP`V;Wp=|M zKyt$oL>P)MQ507$oNsWnF=kFF;GG2|8-~oS7)ea(CC_0yYHrfF*wV|bw zCu7XISF$C=RjP z&f24X7)lrKHS7(ty=Ft&VQeK!7(BDCVP%3w##clIo0}9%fttcfP-PEp#7m@zIVK1k zL~+Vq(ecQeBsQTcJP50oVBLIoL#gPVwhUUL*fW+gisgufi3LcEfGzm0A>wi}wDkiw zbg#viYb70TnEq0qyBFa)%yfoz$DQ6}{U|j6?t9pWAL+=P4U9BsfFq6S<9B%o*06~l zp2duF3p60-)=`xAdSAF8a0H+;9Wll7SSse@Yi8cQh_YK95Y?;{cmyga4O7z_;#(|! zOR2TPzv`0LvNzqp-%k%*59f=GTq4QL}Ou&jyvps|SJOegpX z01@i*^f1>rW{MlLlB_6GG}vNboJJXzNF6{v#k%n#&vN}7@{}IVB!dPka$k^&mlYmu z2_E`2$={_stO2<-;@5PiTqPAvXryCjEC45W>y>DoXeEnK-K5tF#Ioa2QLE?E$C90L z#F7ozUZuA(bSl*=!U1QP6Lp$HE>VNA4G-V|2)0A-0<0*KK(bn>))aFDSJ?fa5l*|Q zlIs#NUv=dN9>@J}`)r|~W`eFTh}1Nv;9#JkCS+09dC4IM5(Td#yo41(fS}w~RtM@x zGvaPxf;~L9>2iTXc5E(%c-AZ^CGO={_A&l;opx(f^+8WLbvP>R+*#-vz38AcgCT^K zOCQDkA1?#&rM|p?oc#hL6@HujY!1HVn&XTOb;6xy9f|fZS)$XK0*)y@Djf+X6`KIK z&>tYdD=4|EB8W)ABUiq)Wgffnc|!q(-t5Ls1fxc?11K(uJKFfGZ~iJH8DS4B`jlKI z#56=w@h!6Gq^wKV5PM0xH~^m!fivu`*UBz5y&o5jpHhaIDJ^|SV5Qi`QZ*)^!;Q}? z#0isR?%0g#MK@3?`&q3InBV<21_{7sRB$}+3N>EpPr*2aepaf}T#Jz+&D$$0)7oXF z6~uab7r))swCYXWS$nNYv8!&pzTPZD(FA_(UsGWl*4nu(0MG?Wfml{Gn)uY($rFJ{ zWOBWg)aKCEiJ5>>Pj&kq9#1S?{szFqon3P$R$uO<;@!t?8iZ5%6ktL8g8JS}3fB&A zJ5Cs_z?w?w;7VEWOl*8i&*0oZ&?HeOS~~4PaVz5Kh(#WWndLMI4I^aMG}@BjA?G0l za943Hj#q815W%P39DD-zTrhtMLSee#_CGO9hGq;0#A2C{m}`_itD#-xB{g0`8Ngdb zv7TLm0QDlmYt3$rl~iISlEf`5-sEOvhX{MPM#x{YxQMQ$lreZ9ak2x{?0#h_kvh;yz#gLZ zc0a7s<1)P2gdc722~y^hA#rf4Xp?EJ?T)}{KEOI;>dxh4SDL&PJsL-7!q{RO9oWv9 zN@=DuEE^fOAWi`yeTqA_oS`ARdJ~F;Q;x3xKP++2YNM1~`UcMwSphyqTaZTu9!xBWUbg(M3-j$-p}KyZ{1D52Ikj=?k(N=#!YamOl=n8qlu( z0H)Y*f|v9vA7boV&N`X0Pk}X;;sq$LFdi-xG79UyO8FJg*gBC9eyb1eKq6XLv%oi+ z*itma?I0wne!T31$3-Pb6IcpG4M6jQ2X=?hR5U3DDIAn$i9E2{g*$4~nUCQeq=*aI z3g-khU}%LDO`LcjlM1r6?{7z?I!h)(aqWNH%`qPJLf^dT4Q$YHMsO57OB8ZWbg9l! zlgqnk@LL8<4mhk3qsdv#Db6ZqWr8KcT121afYTqSWyF&<1uT!Y+n(C_g)FrmXMFS1#mP5Ml_D-G=+Dd2-w#Rv)&86uu7bJ~&{;Z^4?01DIBpE9I z8tK(esJT?38T!K*##jI%jBJkv2IMob1hxR@8i>Xm#^c`wGhzZNwkSF$Z4Ef=Shs2P zr5^R2*L?Evv5HtXoEj>&T0;su{>2te*jY=|p+!E>?*3^2{h)7ZCgRA_E^=SpoWZBI z!4?J8++~JJ^|K^tv@19#fdQ`yZnKnQ60Wb{yHp7mxxbzZ`z~{J;pGqg+fK-!KyoEM zyuP<(RZg$s`@cOC29`RTRoAE0EPFZLl^jzps(yf+rJ`*@6412mPTjK}eSHwN#8a|W z<YA+a|iw-wT(Z(yfMN4*-b zQAK(U8!g)e!JrU8j)$CM1|K6}xfXmJ)06Ks_g?KxYd>(7!A>0`z9jUt zI$FCMU%BNqcd_X~z&3K~L=Mw3r5BfkXy7ab-)#yRZq)we=T=7>B|kZ#2V1!)GX_|P zn~NqhTo13`Uxijuf|EDl1yhP&HmeD-t z)6OlBKP19}#t}b&UVP^FON@B6q~Z+la~97axdG*@=teR&(ZR5a2BDjeFNwO$HYUVN z5`E&zUC2MKE9W#kGbZWwjEa0JAdV?cw{lmfIlv{+H5G)CDkAioTFQya{fJ~$!sw*{ z>a7}bnq`RRroKRVA1h6LbzrMat6BbKV-s}T^rMC1aF;X*g;;LxGySCno(C+^E_wHJ z326K-PyY)OA1@Hxnvk*9ATZEMzLlC(~2zQS{93?OH`2H*aYJ$z+ z4=r-pKI08$zw^zf+XUUSmS<4I);6#el0dsE7z~?uu?G|Au`Syd{C$e6DQ7m>qh?;` z1)ZA`v0y?OKEf6Dto6k>rxWNdkfl5%0Y#iJogYHoJMr4(xLT(IJOkiB=r^bm8&0crN-~T- za(SM$Y?{Hm!IF&Tk+a56{R7|mHxh$6mtdBwXQH8}TSs>HbdQn}xuN1|o{VNk zPSR7%@`o3RGPHp-%&MVtcr~lqtiHts+zb@^Illd|XFhb>6@Rg9)0ztZePZJ$H$1;? H{J#GK16b-b literal 0 HcmV?d00001 diff --git a/bsp/rockchip/rk3566/rtconfig.h b/bsp/rockchip/rk3566/rtconfig.h new file mode 100644 index 00000000000..8906353fb23 --- /dev/null +++ b/bsp/rockchip/rk3566/rtconfig.h @@ -0,0 +1,660 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +/* RT-Thread Kernel */ + +/* klibc options */ + +/* rt_vsnprintf options */ + +#define RT_KLIBC_USING_VSNPRINTF_LONGLONG +#define RT_KLIBC_USING_VSNPRINTF_STANDARD +#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS +#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS +#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER +#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER +#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32 +#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32 +#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6 +#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9 +#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4 +/* end of rt_vsnprintf options */ + +/* rt_vsscanf options */ + +/* end of rt_vsscanf options */ + +/* rt_memset options */ + +/* end of rt_memset options */ + +/* rt_memcpy options */ + +/* end of rt_memcpy options */ + +/* rt_memmove options */ + +/* end of rt_memmove options */ + +/* rt_memcmp options */ + +/* end of rt_memcmp options */ + +/* rt_strstr options */ + +/* end of rt_strstr options */ + +/* rt_strcasecmp options */ + +/* end of rt_strcasecmp options */ + +/* rt_strncpy options */ + +/* end of rt_strncpy options */ + +/* rt_strcpy options */ + +/* end of rt_strcpy options */ + +/* rt_strncmp options */ + +/* end of rt_strncmp options */ + +/* rt_strcmp options */ + +/* end of rt_strcmp options */ + +/* rt_strlen options */ + +/* end of rt_strlen options */ + +/* rt_strnlen options */ + +/* end of rt_strnlen options */ +/* end of klibc options */ +#define RT_NAME_MAX 8 +#define RT_USING_SMART +#define RT_USING_SMP +#define RT_CPUS_NR 4 +#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_HOOKLIST +#define RT_USING_IDLE_HOOK +#define RT_IDLE_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 16384 +#define SYSTEM_THREAD_STACK_SIZE 16384 +#define RT_USING_TIMER_SOFT +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 32768 +#define RT_USING_TIMER_ALL_SOFT +#define RT_USING_CPU_USAGE_TRACER + +/* kservice options */ + +/* end of kservice options */ +#define RT_USING_DEBUG +#define RT_DEBUGING_COLOR + +/* Inter-Thread communication */ + +#define RT_USING_SEMAPHORE +#define RT_USING_MUTEX +#define RT_USING_EVENT +#define RT_USING_MAILBOX +#define RT_USING_MESSAGEQUEUE +#define RT_USING_MESSAGEQUEUE_PRIORITY +/* end of Inter-Thread communication */ + +/* Memory Management */ + +#define RT_USING_SLAB +#define RT_USING_MEMHEAP +#define RT_MEMHEAP_FAST_MODE +#define RT_USING_MEMHEAP_AS_HEAP +#define RT_USING_MEMHEAP_AUTO_BINDING +#define RT_USING_HEAP +/* end of Memory Management */ +#define RT_USING_DEVICE +#define RT_USING_DEVICE_OPS +#define RT_USING_THREADSAFE_PRINTF +#define RT_USING_CONSOLE +#define RT_CONSOLEBUF_SIZE 1024 +#define RT_CONSOLE_DEVICE_NAME "uart2" +#define RT_VER_NUM 0x50201 +#define RT_USING_STDC_ATOMIC +#define RT_BACKTRACE_LEVEL_MAX_NR 32 +/* end of RT-Thread Kernel */ + +/* AArch64 Architecture Configuration */ + +#define ARCH_TEXT_OFFSET 0x00480000 +#define ARCH_RAM_OFFSET 0x200000 +#define ARCH_SECONDARY_CPU_STACK_SIZE 16384 +#define ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS +#define ARCH_USING_GENERIC_CPUID +#define ARCH_HEAP_SIZE 0x4000000 +#define ARCH_INIT_PAGE_SIZE 0x200000 +/* end of AArch64 Architecture Configuration */ +#define ARCH_CPU_64BIT +#define RT_USING_CACHE +#define ARCH_ARM_BOOTWITH_FLUSH_CACHE +#define RT_USING_CPU_FFS +#define ARCH_MM_MMU +#define ARCH_ARM +#define ARCH_ARM_MMU +#define KERNEL_VADDR_START 0xffff000000000000 +#define ARCH_ARMV8 +#define ARCH_USING_ASID +#define ARCH_USING_HW_THREAD_SELF +#define ARCH_USING_IRQ_CTX_LIST + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 16384 +#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 16384 +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 +#define FINSH_USING_SYMTAB +#define FINSH_CMD_SIZE 80 +#define MSH_USING_BUILT_IN_COMMANDS +#define FINSH_USING_DESCRIPTION +#define FINSH_ARG_MAX 10 +#define FINSH_USING_OPTION_COMPLETION + +/* DFS: device virtual file system */ + +#define RT_USING_DFS +#define DFS_USING_POSIX +#define DFS_USING_WORKDIR +#define DFS_FD_MAX 512 +#define RT_USING_DFS_V2 +#define RT_USING_DFS_DEVFS +#define RT_USING_DFS_PTYFS +#define RT_USING_DFS_PROCFS +#define RT_USING_DFS_CROMFS +#define RT_USING_DFS_TMPFS +#define RT_USING_DFS_MQUEUE +#define RT_USING_PAGECACHE + +/* page cache config */ + +#define RT_PAGECACHE_COUNT 128 +#define RT_PAGECACHE_ASPACE_COUNT 32 +#define RT_PAGECACHE_PRELOAD 4 +#define RT_PAGECACHE_HASH_NR 180 +#define RT_PAGECACHE_GC_WORK_LEVEL 90 +#define RT_PAGECACHE_GC_STOP_LEVEL 70 +/* end of page cache config */ +/* end of DFS: device virtual file system */ + +/* Device Drivers */ + +#define RT_USING_DM +#define RT_USING_DEV_BUS +#define RT_USING_DEVICE_IPC +#define RT_UNAMED_PIPE_NUMBER 64 +#define RT_USING_SYSTEM_WORKQUEUE +#define RT_SYSTEM_WORKQUEUE_STACKSIZE 16384 +#define RT_SYSTEM_WORKQUEUE_PRIORITY 23 +#define RT_USING_SERIAL +#define RT_USING_SERIAL_V1 +#define RT_SERIAL_RB_BUFSZ 64 +#define RT_USING_SERIAL_BYPASS +#define RT_USING_NULL +#define RT_USING_ZERO +#define RT_USING_RANDOM +#define RT_USING_RTC +#define RT_USING_SOFT_RTC +#define RT_USING_SDIO +#define RT_SDIO_STACK_SIZE 16384 +#define RT_SDIO_THREAD_PRIORITY 15 +#define RT_MMCSD_STACK_SIZE 16384 +#define RT_MMCSD_THREAD_PRIORITY 22 +#define RT_MMCSD_MAX_PARTITION 16 +#define RT_USING_BLK + +/* Partition Types */ + +#define RT_BLK_PARTITION_DFS +#define RT_BLK_PARTITION_EFI +/* end of Partition Types */ +#define RT_USING_RESET +#define RT_USING_OFW +#define RT_FDT_EARLYCON_MSG_SIZE 128 +#define RT_USING_OFW_BUS_RANGES_NUMBER 8 +#define RT_USING_PIC +#define MAX_HANDLERS 1024 +#define RT_PIC_ARM_GIC_V3 +#define RT_USING_PIN +#define RT_USING_PINCTRL +#define RT_USING_KTIME +#define RT_USING_CLK +#define RT_USING_HWTIMER +#define RT_HWTIMER_ARM_ARCH +/* end of Device Drivers */ + +/* C/C++ and POSIX layer */ + +/* ISO-ANSI C layer */ + +/* Timezone and Daylight Saving Time */ + +#define RT_LIBC_USING_LIGHT_TZ_DST +#define RT_LIBC_TZ_DEFAULT_HOUR 8 +#define RT_LIBC_TZ_DEFAULT_MIN 0 +#define RT_LIBC_TZ_DEFAULT_SEC 0 +/* end of Timezone and Daylight Saving Time */ +/* end of ISO-ANSI C layer */ + +/* POSIX (Portable Operating System Interface) layer */ + +#define RT_USING_POSIX_FS +#define RT_USING_POSIX_DEVIO +#define RT_USING_POSIX_STDIO +#define RT_USING_POSIX_POLL +#define RT_USING_POSIX_SELECT +#define RT_USING_POSIX_EVENTFD +#define RT_USING_POSIX_EPOLL +#define RT_USING_POSIX_SIGNALFD +#define RT_SIGNALFD_MAX_NUM 10 +#define RT_USING_POSIX_TIMERFD +#define RT_USING_POSIX_SOCKET +#define RT_USING_POSIX_TERMIOS +#define RT_USING_POSIX_MMAN +#define RT_USING_POSIX_DELAY +#define RT_USING_POSIX_CLOCK +#define RT_USING_POSIX_TIMER + +/* Interprocess Communication (IPC) */ + +#define RT_USING_POSIX_PIPE +#define RT_USING_POSIX_PIPE_SIZE 2048 +#define RT_USING_POSIX_MESSAGE_QUEUE + +/* Socket is in the 'Network' category */ + +/* end of Interprocess Communication (IPC) */ +/* end of POSIX (Portable Operating System Interface) layer */ +/* end of C/C++ and POSIX layer */ + +/* Network */ + +#define RT_USING_SAL +#define SAL_INTERNET_CHECK + +/* Docking with protocol stacks */ + +#define SAL_USING_LWIP +/* end of Docking with protocol stacks */ +#define SAL_USING_POSIX +#define RT_USING_NETDEV +#define NETDEV_USING_IFCONFIG +#define NETDEV_USING_PING +#define NETDEV_USING_NETSTAT +#define NETDEV_USING_AUTO_DEFAULT +#define NETDEV_IPV4 1 +#define NETDEV_IPV6 0 +#define RT_USING_LWIP +#define RT_USING_LWIP212 +#define RT_USING_LWIP_VER_NUM 0x20102 +#define RT_LWIP_MEM_ALIGNMENT 8 +#define RT_LWIP_IGMP +#define RT_LWIP_ICMP +#define RT_LWIP_DNS +#define RT_LWIP_DHCP +#define IP_SOF_BROADCAST 1 +#define IP_SOF_BROADCAST_RECV 1 + +/* Static IPv4 Address */ + +#define RT_LWIP_IPADDR "192.168.1.30" +#define RT_LWIP_GWADDR "192.168.1.1" +#define RT_LWIP_MSKADDR "255.255.255.0" +/* end of Static IPv4 Address */ +#define RT_LWIP_UDP +#define RT_LWIP_TCP +#define RT_LWIP_RAW +#define RT_MEMP_NUM_NETCONN 64 +#define RT_LWIP_PBUF_NUM 320 +#define RT_LWIP_RAW_PCB_NUM 32 +#define RT_LWIP_UDP_PCB_NUM 32 +#define RT_LWIP_TCP_PCB_NUM 64 +#define RT_LWIP_TCP_SEG_NUM 480 +#define RT_LWIP_TCP_SND_BUF 65535 +#define RT_LWIP_TCP_WND 49512 +#define RT_LWIP_TCPTHREAD_PRIORITY 8 +#define RT_LWIP_TCPTHREAD_MBOX_SIZE 256 +#define RT_LWIP_TCPTHREAD_STACKSIZE 65536 +#define LWIP_NO_TX_THREAD +#define RT_LWIP_ETHTHREAD_PRIORITY 9 +#define RT_LWIP_ETHTHREAD_STACKSIZE 16384 +#define RT_LWIP_ETHTHREAD_MBOX_SIZE 256 +#define LWIP_NETIF_STATUS_CALLBACK 1 +#define LWIP_NETIF_LINK_CALLBACK 1 +#define RT_LWIP_NETIF_NAMESIZE 6 +#define SO_REUSE 1 +#define LWIP_SO_RCVTIMEO 1 +#define LWIP_SO_SNDTIMEO 1 +#define LWIP_SO_RCVBUF 1 +#define LWIP_SO_LINGER 0 +#define RT_LWIP_NETIF_LOOPBACK +#define LWIP_NETIF_LOOPBACK 1 +#define RT_LWIP_USING_HW_CHECKSUM +#define RT_LWIP_USING_PING +/* end of Network */ + +/* Memory protection */ + +/* end of Memory protection */ + +/* Utilities */ + +#define RT_USING_UTEST +#define UTEST_THR_STACK_SIZE 32768 +#define UTEST_THR_PRIORITY 20 +#define RT_USING_RESOURCE_ID +#define RT_USING_ADT +#define RT_USING_ADT_AVL +#define RT_USING_ADT_BITMAP +#define RT_USING_ADT_HASHMAP +#define RT_USING_ADT_REF +/* end of Utilities */ + +/* Memory management */ + +#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000 +#define RT_PAGE_MAX_ORDER 11 +#define RT_USING_MEMBLOCK +#define RT_INIT_MEMORY_REGIONS 128 + +/* Debugging */ + +/* end of Debugging */ +/* end of Memory management */ +#define RT_USING_LWP +#define LWP_DEBUG +#define LWP_DEBUG_INIT +#define LWP_USING_RUNTIME +#define RT_LWP_MAX_NR 128 +#define LWP_TASK_STACK_SIZE 32768 +#define RT_CH_MSG_MAX_NR 1024 +#define LWP_TID_MAX_NR 128 +#define RT_LWP_SHM_MAX_NR 64 +#define RT_USING_LDSO +#define LWP_USING_TERMINAL +#define LWP_PTY_MAX_PARIS_LIMIT 64 +#define RT_USING_VDSO + +/* Using USB legacy version */ + +/* end of Using USB legacy version */ +/* end of RT-Thread Components */ + +/* RT-Thread Utestcases */ + +#define RT_USING_UTESTCASES + +/* Utest Self Testcase */ + +/* end of Utest Self Testcase */ + +/* Kernel Testcase */ + + +/* Kernel SMP Testcase */ + +/* end of Kernel SMP Testcase */ +/* end of Kernel Testcase */ + +/* CPP11 Testcase */ + +/* end of CPP11 Testcase */ + +/* Utest Serial Testcase */ + +/* end of Utest Serial Testcase */ + +/* Serial-Bypass Testcase */ + +/* end of Serial-Bypass Testcase */ + +/* Utest IPC Testcase */ + +/* end of Utest IPC Testcase */ + +/* RTT Posix Testcase */ + +/* end of RTT Posix Testcase */ + +/* Memory Management Subsytem Testcase */ + +/* end of Memory Management Subsytem Testcase */ + +/* Tmpfs Testcase */ + +/* end of Tmpfs Testcase */ + +/* SMP-Call Testcase */ + +#define UTEST_SMP_CALL_FUNC +/* end of SMP-Call Testcase */ +/* 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 */ + +/* WCH HAL & SDK Drivers */ + +/* end of WCH HAL & SDK Drivers */ + +/* AT32 HAL & SDK Drivers */ + +/* end of AT32 HAL & SDK Drivers */ + +/* HC32 DDL Drivers */ + +/* end of HC32 DDL Drivers */ + +/* NXP HAL & SDK Drivers */ + +/* end of NXP HAL & SDK Drivers */ +/* 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 */ +#define PKG_USING_ZLIB +#define PKG_USING_ZLIB_LATEST_VERSION +/* 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 */ + +/* RT-Thread rockchip RK3500 drivers */ + +#define RT_CLK_ROCKCHIP +#define RT_CLK_ROCKCHIP_RK3568 +#define RT_CLK_ROCKCHIP_RK3588 +#define RT_SERIAL_8250 +#define RT_HWTIMER_ROCKCHIP +/* end of RT-Thread rockchip RK3500 drivers */ +#define SOC_RK3568 + +#endif diff --git a/bsp/rockchip/rk3566/rtconfig.py b/bsp/rockchip/rk3566/rtconfig.py new file mode 100644 index 00000000000..5d4395155a5 --- /dev/null +++ b/bsp/rockchip/rk3566/rtconfig.py @@ -0,0 +1,57 @@ +import os + +# toolchains options +ARCH ='aarch64' +CPU ='cortex-a' +CROSS_TOOL ='gcc' + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.join(os.getcwd(), '..', '..', '..') + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') + +PLATFORM = 'gcc' +EXEC_PATH = r'/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/' + +EXEC_PATH = os.getenv('RTT_EXEC_PATH') or '/usr/bin' + +BUILD = 'release' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = os.getenv('RTT_CC_PREFIX') or 'aarch64-none-elf-' + CC = PREFIX + 'gcc' + CXX = PREFIX + 'g++' + CPP = PREFIX + 'cpp' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -g -march=armv8.2-a -mtune=cortex-a55 -fdiagnostics-color=always' + CPPFLAGS= ' -E -P -x assembler-with-cpp' + CFLAGS = DEVICE + ' -Wall -Wno-cpp' + AFLAGS = ' -c' + ' -x assembler-with-cpp -D__ASSEMBLY__' + LFLAGS = DEVICE + ' -nostartfiles -Wl,--no-warn-rwx-segments -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors -T link.lds' + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -ggdb' + CPPFLAGS += ' -O0 -ggdb' + AFLAGS += ' -ggdb' + else: + CFLAGS += ' -O2 -ggdb' + CPPFLAGS += ' -O2 -ggdb' + + CXXFLAGS = CFLAGS + +DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' +POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' +POST_ACTION += 'md5sum rtthread.bin\n' From f2c635c9a4da21a493bc99542d26fe3a3fdf18f8 Mon Sep 17 00:00:00 2001 From: LeenixP Date: Wed, 30 Jul 2025 10:42:43 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BF=AE=E5=A4=8DREADME?= =?UTF-8?q?=E4=B8=AD=E8=8B=B1=E6=96=87=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/rockchip/rk3566/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/rockchip/rk3566/README.md b/bsp/rockchip/rk3566/README.md index be1e3392f57..68fed84337e 100644 --- a/bsp/rockchip/rk3566/README.md +++ b/bsp/rockchip/rk3566/README.md @@ -1,6 +1,6 @@ # RK3566 Board Support Package (BSP) Usage Guide -中文页 | [English](./README.md) +[中文页](./README_ZH.md) | English ## Code Source Statement From 21076a7007af53f7a72b3d439e0d461f9edb8685 Mon Sep 17 00:00:00 2001 From: LeenixP Date: Wed, 30 Jul 2025 14:32:09 +0800 Subject: [PATCH 3/6] Modify the "rockchip" folder: * Add the "Taishanpi-RK3566 Board Support Package (BSP) Usage Guide" document to the rk3500 folder. Signed-off-by: lipeng --- .../Taishanpi-RK3566_CN.md} | 19 +- .../Taishanpi-RK3566_ZH.md} | 19 +- .../figures}/rockchip-clean.jpg | Bin .../figures}/rufus.jpg | Bin .../readme-images => rk3500/figures}/tf.jpg | Bin bsp/rockchip/rk3566/.config | 1707 ------ bsp/rockchip/rk3566/Kconfig | 31 - bsp/rockchip/rk3566/SConscript | 14 - bsp/rockchip/rk3566/SConstruct | 29 - bsp/rockchip/rk3566/applications/SConscript | 14 - bsp/rockchip/rk3566/applications/main.c | 18 - bsp/rockchip/rk3566/boot.cmd | 3 - bsp/rockchip/rk3566/boot.scr | Bin 197 -> 0 bytes bsp/rockchip/rk3566/driver/Kconfig | 6 - bsp/rockchip/rk3566/driver/SConscript | 19 - bsp/rockchip/rk3566/driver/board.c | 37 - bsp/rockchip/rk3566/driver/board.h | 25 - bsp/rockchip/rk3566/driver/clk/Kconfig | 15 - bsp/rockchip/rk3566/driver/clk/SConscript | 16 - .../rk3566/driver/clk/clk-mmc-phase.c | 123 - .../rk3566/driver/clk/clk-pll-rk3568.c | 403 -- .../rk3566/driver/clk/clk-pll-rk3588.c | 727 --- bsp/rockchip/rk3566/driver/clk/clk-rk3568.c | 4791 ----------------- bsp/rockchip/rk3566/driver/clk/clk-rk3568.h | 116 - bsp/rockchip/rk3566/driver/clk/clk-rk3588.c | 3292 ----------- bsp/rockchip/rk3566/driver/clk/clk-rk3588.h | 151 - bsp/rockchip/rk3566/driver/clk/rk3568-cru.h | 926 ---- bsp/rockchip/rk3566/driver/clk/rk3588-cru.h | 1497 ----- bsp/rockchip/rk3566/driver/clk/softrst.c | 110 - bsp/rockchip/rk3566/driver/hwtimer/Kconfig | 5 - bsp/rockchip/rk3566/driver/hwtimer/SConscript | 13 - .../driver/hwtimer/hwtimer-rockchip_timer.c | 393 -- bsp/rockchip/rk3566/driver/rockchip.h | 22 - bsp/rockchip/rk3566/driver/uart8250/8250-dw.c | 341 -- bsp/rockchip/rk3566/driver/uart8250/8250.h | 74 - bsp/rockchip/rk3566/driver/uart8250/Kconfig | 3 - .../rk3566/driver/uart8250/SConscript | 13 - bsp/rockchip/rk3566/driver/uart8250/core.c | 303 -- bsp/rockchip/rk3566/driver/uart8250/early.c | 162 - .../rk3566/driver/uart8250/fiq-debugger.c | 378 -- bsp/rockchip/rk3566/driver/uart8250/regs.h | 365 -- .../rk3566/driver/uart8250/serial_dm.h | 29 - bsp/rockchip/rk3566/rtconfig.h | 660 --- bsp/rockchip/rk3566/rtconfig.py | 57 - 44 files changed, 18 insertions(+), 16908 deletions(-) rename bsp/rockchip/{rk3566/README.md => rk3500/Taishanpi-RK3566_CN.md} (94%) rename bsp/rockchip/{rk3566/README_ZH.md => rk3500/Taishanpi-RK3566_ZH.md} (95%) rename bsp/rockchip/{rk3566/readme-images => rk3500/figures}/rockchip-clean.jpg (100%) rename bsp/rockchip/{rk3566/readme-images => rk3500/figures}/rufus.jpg (100%) rename bsp/rockchip/{rk3566/readme-images => rk3500/figures}/tf.jpg (100%) delete mode 100644 bsp/rockchip/rk3566/.config delete mode 100644 bsp/rockchip/rk3566/Kconfig delete mode 100644 bsp/rockchip/rk3566/SConscript delete mode 100644 bsp/rockchip/rk3566/SConstruct delete mode 100644 bsp/rockchip/rk3566/applications/SConscript delete mode 100644 bsp/rockchip/rk3566/applications/main.c delete mode 100644 bsp/rockchip/rk3566/boot.cmd delete mode 100644 bsp/rockchip/rk3566/boot.scr delete mode 100644 bsp/rockchip/rk3566/driver/Kconfig delete mode 100644 bsp/rockchip/rk3566/driver/SConscript delete mode 100644 bsp/rockchip/rk3566/driver/board.c delete mode 100644 bsp/rockchip/rk3566/driver/board.h delete mode 100644 bsp/rockchip/rk3566/driver/clk/Kconfig delete mode 100644 bsp/rockchip/rk3566/driver/clk/SConscript delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3568.c delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3568.h delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3588.c delete mode 100644 bsp/rockchip/rk3566/driver/clk/clk-rk3588.h delete mode 100644 bsp/rockchip/rk3566/driver/clk/rk3568-cru.h delete mode 100644 bsp/rockchip/rk3566/driver/clk/rk3588-cru.h delete mode 100644 bsp/rockchip/rk3566/driver/clk/softrst.c delete mode 100755 bsp/rockchip/rk3566/driver/hwtimer/Kconfig delete mode 100644 bsp/rockchip/rk3566/driver/hwtimer/SConscript delete mode 100644 bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c delete mode 100644 bsp/rockchip/rk3566/driver/rockchip.h delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/8250-dw.c delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/8250.h delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/Kconfig delete mode 100755 bsp/rockchip/rk3566/driver/uart8250/SConscript delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/core.c delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/early.c delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/regs.h delete mode 100644 bsp/rockchip/rk3566/driver/uart8250/serial_dm.h delete mode 100644 bsp/rockchip/rk3566/rtconfig.h delete mode 100644 bsp/rockchip/rk3566/rtconfig.py diff --git a/bsp/rockchip/rk3566/README.md b/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md similarity index 94% rename from bsp/rockchip/rk3566/README.md rename to bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md index 68fed84337e..c793ca639a8 100644 --- a/bsp/rockchip/rk3566/README.md +++ b/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md @@ -1,14 +1,13 @@ -# RK3566 Board Support Package (BSP) Usage Guide +# Taishanpi-RK3566 Board Support Package (BSP) Usage Guide -[中文页](./README_ZH.md) | English +[中文页](./Taishanpi-RK3566_CN.md) | English -## Code Source Statement +## 0. Code Source Statement -- The `rk3566` code originates from `bsp/rockchip/rk3500` +The commit used in this document: +- `a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` -`Commit: a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` - -Based on the[original documentation](https://github.com/RT-Thread/rt-thread/tree/master/bsp/rockchip/rk3500), this guide supplements and elaborates on the content with additional documentation and detailed step-by-step instructions. +Based on the[original documentation](./README.md), this guide supplements and elaborates on the content with additional documentation and detailed step-by-step instructions. ## 1. Introduction @@ -149,7 +148,7 @@ After compilation, required files will be in the `rockdev/` directory. Erase all existing firmware from the board: -![rockchip-clean](./readme-images/rockchip-clean.jpg) +![rockchip-clean](./figures/rockchip-clean.jpg) Flash these 4 files using the Rockchip Development Tool: @@ -168,7 +167,7 @@ Download `Rufus`:https://rufus.org.cn/ Configure with these settings and click "Start": -![rockchip-clean](./readme-images/rufus.jpg) +![rockchip-clean](./figures/rufus.jpg) ### 3.3. Creating boot.scr @@ -199,7 +198,7 @@ Copy these three files to the TF card: - `tspi-rk3566-user-v10-linux.dtb` - `rtthread.bin` -![tf](./readme-images/tf.jpg) +![tf](./figures/tf.jpg) ### 3.5. Running diff --git a/bsp/rockchip/rk3566/README_ZH.md b/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md similarity index 95% rename from bsp/rockchip/rk3566/README_ZH.md rename to bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md index b610bb3bb7b..9c74a1309ee 100644 --- a/bsp/rockchip/rk3566/README_ZH.md +++ b/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md @@ -1,14 +1,13 @@ -# RK3566 板级支持包使用说明 +# Taishanpi-RK3566 板级支持包使用说明 -中文页 | [English](./README.md) +中文页 | [English](./Taishanpi-RK3566_ZH.md) -## 代码来源说明 +## 0. 说明 -- `rk3566` 代码源于 `bsp/rockchip/rk3500` +此文档使用的Commit: +- `a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` -`Commit: a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` - -在[原有文档](https://github.com/RT-Thread/rt-thread/tree/master/bsp/rockchip/rk3500)基础上面进行了文档补充和步骤说明,丰富了一下原有内容。 +在[原有文档](./README.md)基础上面进行了文档补充和步骤说明,丰富了一下原有内容。 ## 1. 介绍 @@ -151,7 +150,7 @@ scons -j$(nproc) 将板子的所有镜像全部擦除: -![rockchip-clean](./readme-images/rockchip-clean.jpg) +![rockchip-clean](./figures/rockchip-clean.jpg) 然后使用`瑞芯微开发工具`烧录下面的`4`个文件: @@ -170,7 +169,7 @@ scons -j$(nproc) 设定为下列的模式,然后点击`开始`: -![rockchip-clean](./readme-images/rufus.jpg) +![rockchip-clean](./figures/rufus.jpg) ### 3.3. 制作boot.scr @@ -203,7 +202,7 @@ mkimage -C none -A arm -T script -d boot.cmd boot.scr - `tspi-rk3566-user-v10-linux.dtb` - `rtthread.bin` -![tf](./readme-images/tf.jpg) +![tf](./figures/tf.jpg) ### 3.5. 运行 diff --git a/bsp/rockchip/rk3566/readme-images/rockchip-clean.jpg b/bsp/rockchip/rk3500/figures/rockchip-clean.jpg similarity index 100% rename from bsp/rockchip/rk3566/readme-images/rockchip-clean.jpg rename to bsp/rockchip/rk3500/figures/rockchip-clean.jpg diff --git a/bsp/rockchip/rk3566/readme-images/rufus.jpg b/bsp/rockchip/rk3500/figures/rufus.jpg similarity index 100% rename from bsp/rockchip/rk3566/readme-images/rufus.jpg rename to bsp/rockchip/rk3500/figures/rufus.jpg diff --git a/bsp/rockchip/rk3566/readme-images/tf.jpg b/bsp/rockchip/rk3500/figures/tf.jpg similarity index 100% rename from bsp/rockchip/rk3566/readme-images/tf.jpg rename to bsp/rockchip/rk3500/figures/tf.jpg diff --git a/bsp/rockchip/rk3566/.config b/bsp/rockchip/rk3566/.config deleted file mode 100644 index 7284b2397fa..00000000000 --- a/bsp/rockchip/rk3566/.config +++ /dev/null @@ -1,1707 +0,0 @@ - -# -# RT-Thread Kernel -# - -# -# klibc options -# - -# -# rt_vsnprintf options -# -# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set -CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y -CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y -CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y -CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y -CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y -CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y -# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set -CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32 -CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32 -CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6 -CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9 -CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4 -# end of rt_vsnprintf options - -# -# rt_vsscanf options -# -# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set -# end of rt_vsscanf options - -# -# rt_memset options -# -# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set -# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set -# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set -# end of rt_memset options - -# -# rt_memcpy options -# -# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set -# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set -# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set -# end of rt_memcpy options - -# -# rt_memmove options -# -# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set -# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set -# end of rt_memmove options - -# -# rt_memcmp options -# -# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set -# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set -# end of rt_memcmp options - -# -# rt_strstr options -# -# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set -# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set -# end of rt_strstr options - -# -# rt_strcasecmp options -# -# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set -# end of rt_strcasecmp options - -# -# rt_strncpy options -# -# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set -# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set -# end of rt_strncpy options - -# -# rt_strcpy options -# -# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set -# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set -# end of rt_strcpy options - -# -# rt_strncmp options -# -# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set -# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set -# end of rt_strncmp options - -# -# rt_strcmp options -# -# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set -# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set -# end of rt_strcmp options - -# -# rt_strlen options -# -# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set -# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set -# end of rt_strlen options - -# -# rt_strnlen options -# -# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set -# end of rt_strnlen options - -# CONFIG_RT_UTEST_TC_USING_KLIBC is not set -# end of klibc options - -CONFIG_RT_NAME_MAX=8 -# CONFIG_RT_USING_ARCH_DATA_TYPE is not set -# CONFIG_RT_USING_NANO is not set -CONFIG_RT_USING_SMART=y -# CONFIG_RT_USING_AMP is not set -CONFIG_RT_USING_SMP=y -CONFIG_RT_CPUS_NR=4 -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_OVERFLOW_CHECK is not set -CONFIG_RT_USING_HOOK=y -CONFIG_RT_HOOK_USING_FUNC_PTR=y -CONFIG_RT_USING_HOOKLIST=y -CONFIG_RT_USING_IDLE_HOOK=y -CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 -CONFIG_IDLE_THREAD_STACK_SIZE=16384 -CONFIG_SYSTEM_THREAD_STACK_SIZE=16384 -CONFIG_RT_USING_TIMER_SOFT=y -CONFIG_RT_TIMER_THREAD_PRIO=4 -CONFIG_RT_TIMER_THREAD_STACK_SIZE=32768 -CONFIG_RT_USING_TIMER_ALL_SOFT=y -CONFIG_RT_USING_CPU_USAGE_TRACER=y - -# -# kservice options -# -# CONFIG_RT_USING_TINY_FFS is not set -# end of kservice options - -CONFIG_RT_USING_DEBUG=y -# CONFIG_RT_DEBUGING_ASSERT is not set -CONFIG_RT_DEBUGING_COLOR=y -# CONFIG_RT_DEBUGING_CONTEXT is not set -# CONFIG_RT_DEBUGING_AUTO_INIT is not set -# CONFIG_RT_DEBUGING_SPINLOCK is not set -# CONFIG_RT_DEBUGING_CRITICAL is not set -# CONFIG_RT_USING_CI_ACTION is not set - -# -# Inter-Thread communication -# -CONFIG_RT_USING_SEMAPHORE=y -CONFIG_RT_USING_MUTEX=y -CONFIG_RT_USING_EVENT=y -CONFIG_RT_USING_MAILBOX=y -CONFIG_RT_USING_MESSAGEQUEUE=y -CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY=y -# CONFIG_RT_USING_SIGNALS is not set -# end of Inter-Thread communication - -# -# Memory Management -# -# CONFIG_RT_USING_MEMPOOL is not set -# CONFIG_RT_USING_SMALL_MEM is not set -CONFIG_RT_USING_SLAB=y -CONFIG_RT_USING_MEMHEAP=y -CONFIG_RT_MEMHEAP_FAST_MODE=y -# CONFIG_RT_MEMHEAP_BEST_MODE is not set -# CONFIG_RT_USING_SMALL_MEM_AS_HEAP is not set -CONFIG_RT_USING_MEMHEAP_AS_HEAP=y -CONFIG_RT_USING_MEMHEAP_AUTO_BINDING=y -# 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=y -# CONFIG_RT_USING_INTERRUPT_INFO is not set -CONFIG_RT_USING_THREADSAFE_PRINTF=y -CONFIG_RT_USING_CONSOLE=y -CONFIG_RT_CONSOLEBUF_SIZE=1024 -CONFIG_RT_CONSOLE_DEVICE_NAME="uart2" -CONFIG_RT_VER_NUM=0x50201 -CONFIG_RT_USING_STDC_ATOMIC=y -CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32 -# end of RT-Thread Kernel - -# -# AArch64 Architecture Configuration -# -CONFIG_ARCH_TEXT_OFFSET=0x00480000 -CONFIG_ARCH_RAM_OFFSET=0x200000 -CONFIG_ARCH_SECONDARY_CPU_STACK_SIZE=16384 -CONFIG_ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_ARCH_USING_GENERIC_CPUID=y -CONFIG_ARCH_HEAP_SIZE=0x4000000 -CONFIG_ARCH_INIT_PAGE_SIZE=0x200000 -# end of AArch64 Architecture Configuration - -CONFIG_ARCH_CPU_64BIT=y -CONFIG_RT_USING_CACHE=y -CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE=y -CONFIG_RT_USING_CPU_FFS=y -CONFIG_ARCH_MM_MMU=y -CONFIG_ARCH_ARM=y -CONFIG_ARCH_ARM_MMU=y -CONFIG_KERNEL_VADDR_START=0xffff000000000000 -CONFIG_ARCH_ARMV8=y -CONFIG_ARCH_USING_ASID=y -CONFIG_ARCH_USING_HW_THREAD_SELF=y -CONFIG_ARCH_USING_IRQ_CTX_LIST=y - -# -# RT-Thread Components -# -CONFIG_RT_USING_COMPONENTS_INIT=y -CONFIG_RT_USING_USER_MAIN=y -CONFIG_RT_MAIN_THREAD_STACK_SIZE=16384 -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=16384 -CONFIG_FINSH_USING_HISTORY=y -CONFIG_FINSH_HISTORY_LINES=5 -CONFIG_FINSH_USING_SYMTAB=y -CONFIG_FINSH_CMD_SIZE=80 -CONFIG_MSH_USING_BUILT_IN_COMMANDS=y -CONFIG_FINSH_USING_DESCRIPTION=y -# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set -# CONFIG_FINSH_USING_AUTH is not set -CONFIG_FINSH_ARG_MAX=10 -CONFIG_FINSH_USING_OPTION_COMPLETION=y - -# -# DFS: device virtual file system -# -CONFIG_RT_USING_DFS=y -CONFIG_DFS_USING_POSIX=y -CONFIG_DFS_USING_WORKDIR=y -CONFIG_DFS_FD_MAX=512 -CONFIG_RT_USING_DFS_V2=y -# CONFIG_RT_USING_DFS_ELMFAT is not set -CONFIG_RT_USING_DFS_DEVFS=y -# CONFIG_RT_USING_DFS_ROMFS is not set -CONFIG_RT_USING_DFS_PTYFS=y -CONFIG_RT_USING_DFS_PROCFS=y -CONFIG_RT_USING_DFS_CROMFS=y -CONFIG_RT_USING_DFS_TMPFS=y -CONFIG_RT_USING_DFS_MQUEUE=y -CONFIG_RT_USING_PAGECACHE=y - -# -# page cache config -# -CONFIG_RT_PAGECACHE_COUNT=128 -CONFIG_RT_PAGECACHE_ASPACE_COUNT=32 -CONFIG_RT_PAGECACHE_PRELOAD=4 -CONFIG_RT_PAGECACHE_HASH_NR=180 -CONFIG_RT_PAGECACHE_GC_WORK_LEVEL=90 -CONFIG_RT_PAGECACHE_GC_STOP_LEVEL=70 -# end of page cache config -# end of DFS: device virtual file system - -# CONFIG_RT_USING_FAL is not set - -# -# Device Drivers -# -CONFIG_RT_USING_DM=y -CONFIG_RT_USING_DEV_BUS=y -CONFIG_RT_USING_DEVICE_IPC=y -CONFIG_RT_UNAMED_PIPE_NUMBER=64 -CONFIG_RT_USING_SYSTEM_WORKQUEUE=y -CONFIG_RT_SYSTEM_WORKQUEUE_STACKSIZE=16384 -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 is not set -CONFIG_RT_SERIAL_RB_BUFSZ=64 -CONFIG_RT_USING_SERIAL_BYPASS=y -# 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_PHY_V2 is not set -# CONFIG_RT_USING_ADC is not set -# CONFIG_RT_USING_DAC is not set -CONFIG_RT_USING_NULL=y -CONFIG_RT_USING_ZERO=y -CONFIG_RT_USING_RANDOM=y -# CONFIG_RT_USING_PWM 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=y -# CONFIG_RT_USING_ALARM is not set -CONFIG_RT_USING_SOFT_RTC=y -CONFIG_RT_USING_SDIO=y -CONFIG_RT_SDIO_STACK_SIZE=16384 -CONFIG_RT_SDIO_THREAD_PRIORITY=15 -CONFIG_RT_MMCSD_STACK_SIZE=16384 -CONFIG_RT_MMCSD_THREAD_PRIORITY=22 -CONFIG_RT_MMCSD_MAX_PARTITION=16 -# CONFIG_RT_SDIO_DEBUG is not set -# CONFIG_RT_USING_SDHCI is not set -# CONFIG_RT_USING_SPI 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_LED is not set -# CONFIG_RT_USING_MBOX is not set -# CONFIG_RT_USING_PHYE is not set -CONFIG_RT_USING_BLK=y - -# -# Partition Types -# -CONFIG_RT_BLK_PARTITION_DFS=y -CONFIG_RT_BLK_PARTITION_EFI=y -# end of Partition Types - -# CONFIG_RT_USING_SCSI is not set -# CONFIG_RT_USING_REGULATOR is not set -CONFIG_RT_USING_RESET=y -# CONFIG_RT_RESET_SIMPLE is not set -# CONFIG_RT_USING_THERMAL is not set -# CONFIG_RT_USING_VIRTIO is not set -# CONFIG_RT_USING_DMA is not set -# CONFIG_RT_USING_MFD is not set -CONFIG_RT_USING_OFW=y -# CONFIG_RT_USING_BUILTIN_FDT is not set -CONFIG_RT_FDT_EARLYCON_MSG_SIZE=128 -CONFIG_RT_USING_OFW_BUS_RANGES_NUMBER=8 -# CONFIG_RT_USING_PCI is not set -CONFIG_RT_USING_PIC=y -CONFIG_MAX_HANDLERS=1024 -# CONFIG_RT_PIC_ARM_GIC is not set -CONFIG_RT_PIC_ARM_GIC_V3=y -CONFIG_RT_USING_PIN=y -CONFIG_RT_USING_PINCTRL=y -CONFIG_RT_USING_KTIME=y -CONFIG_RT_USING_CLK=y -CONFIG_RT_USING_HWTIMER=y -CONFIG_RT_HWTIMER_ARM_ARCH=y -# 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=y -CONFIG_RT_USING_POSIX_DEVIO=y -CONFIG_RT_USING_POSIX_STDIO=y -CONFIG_RT_USING_POSIX_POLL=y -CONFIG_RT_USING_POSIX_SELECT=y -CONFIG_RT_USING_POSIX_EVENTFD=y -CONFIG_RT_USING_POSIX_EPOLL=y -CONFIG_RT_USING_POSIX_SIGNALFD=y -CONFIG_RT_SIGNALFD_MAX_NUM=10 -CONFIG_RT_USING_POSIX_TIMERFD=y -CONFIG_RT_USING_POSIX_SOCKET=y -CONFIG_RT_USING_POSIX_TERMIOS=y -# CONFIG_RT_USING_POSIX_AIO is not set -CONFIG_RT_USING_POSIX_MMAN=y -CONFIG_RT_USING_POSIX_DELAY=y -CONFIG_RT_USING_POSIX_CLOCK=y -CONFIG_RT_USING_POSIX_TIMER=y -# CONFIG_RT_USING_PTHREADS is not set -# CONFIG_RT_USING_MODULE is not set - -# -# Interprocess Communication (IPC) -# -CONFIG_RT_USING_POSIX_PIPE=y -CONFIG_RT_USING_POSIX_PIPE_SIZE=2048 -CONFIG_RT_USING_POSIX_MESSAGE_QUEUE=y -# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set - -# -# Socket is in the 'Network' category -# -# end of Interprocess Communication (IPC) -# end of POSIX (Portable Operating System Interface) layer - -# CONFIG_RT_USING_CPLUSPLUS is not set -# end of C/C++ and POSIX layer - -# -# Network -# -CONFIG_RT_USING_SAL=y -CONFIG_SAL_INTERNET_CHECK=y - -# -# Docking with protocol stacks -# -CONFIG_SAL_USING_LWIP=y -# CONFIG_SAL_USING_AT is not set -# CONFIG_SAL_USING_TLS is not set -# end of Docking with protocol stacks - -CONFIG_SAL_USING_POSIX=y -CONFIG_RT_USING_NETDEV=y -CONFIG_NETDEV_USING_IFCONFIG=y -CONFIG_NETDEV_USING_PING=y -CONFIG_NETDEV_USING_NETSTAT=y -CONFIG_NETDEV_USING_AUTO_DEFAULT=y -# CONFIG_NETDEV_USING_LINK_STATUS_CALLBACK is not set -# CONFIG_NETDEV_USING_IPV6 is not set -CONFIG_NETDEV_IPV4=1 -CONFIG_NETDEV_IPV6=0 -CONFIG_RT_USING_LWIP=y -# CONFIG_RT_USING_LWIP_LOCAL_VERSION is not set -# CONFIG_RT_USING_LWIP141 is not set -# CONFIG_RT_USING_LWIP203 is not set -CONFIG_RT_USING_LWIP212=y -# CONFIG_RT_USING_LWIP_LATEST is not set -CONFIG_RT_USING_LWIP_VER_NUM=0x20102 -# CONFIG_RT_USING_LWIP_IPV6 is not set -CONFIG_RT_LWIP_MEM_ALIGNMENT=8 -CONFIG_RT_LWIP_IGMP=y -CONFIG_RT_LWIP_ICMP=y -# CONFIG_RT_LWIP_SNMP is not set -CONFIG_RT_LWIP_DNS=y -CONFIG_RT_LWIP_DHCP=y -CONFIG_IP_SOF_BROADCAST=1 -CONFIG_IP_SOF_BROADCAST_RECV=1 - -# -# Static IPv4 Address -# -CONFIG_RT_LWIP_IPADDR="192.168.1.30" -CONFIG_RT_LWIP_GWADDR="192.168.1.1" -CONFIG_RT_LWIP_MSKADDR="255.255.255.0" -# end of Static IPv4 Address - -CONFIG_RT_LWIP_UDP=y -CONFIG_RT_LWIP_TCP=y -CONFIG_RT_LWIP_RAW=y -# CONFIG_RT_LWIP_PPP is not set -CONFIG_RT_MEMP_NUM_NETCONN=64 -CONFIG_RT_LWIP_PBUF_NUM=320 -CONFIG_RT_LWIP_RAW_PCB_NUM=32 -CONFIG_RT_LWIP_UDP_PCB_NUM=32 -CONFIG_RT_LWIP_TCP_PCB_NUM=64 -CONFIG_RT_LWIP_TCP_SEG_NUM=480 -CONFIG_RT_LWIP_TCP_SND_BUF=65535 -CONFIG_RT_LWIP_TCP_WND=49512 -CONFIG_RT_LWIP_TCPTHREAD_PRIORITY=8 -CONFIG_RT_LWIP_TCPTHREAD_MBOX_SIZE=256 -CONFIG_RT_LWIP_TCPTHREAD_STACKSIZE=65536 -# CONFIG_LWIP_NO_RX_THREAD is not set -CONFIG_LWIP_NO_TX_THREAD=y -CONFIG_RT_LWIP_ETHTHREAD_PRIORITY=9 -CONFIG_RT_LWIP_ETHTHREAD_STACKSIZE=16384 -CONFIG_RT_LWIP_ETHTHREAD_MBOX_SIZE=256 -# CONFIG_RT_LWIP_REASSEMBLY_FRAG is not set -CONFIG_LWIP_NETIF_STATUS_CALLBACK=1 -CONFIG_LWIP_NETIF_LINK_CALLBACK=1 -CONFIG_RT_LWIP_NETIF_NAMESIZE=6 -CONFIG_SO_REUSE=1 -CONFIG_LWIP_SO_RCVTIMEO=1 -CONFIG_LWIP_SO_SNDTIMEO=1 -CONFIG_LWIP_SO_RCVBUF=1 -CONFIG_LWIP_SO_LINGER=0 -CONFIG_RT_LWIP_NETIF_LOOPBACK=y -CONFIG_LWIP_NETIF_LOOPBACK=1 -# CONFIG_RT_LWIP_STATS is not set -CONFIG_RT_LWIP_USING_HW_CHECKSUM=y -CONFIG_RT_LWIP_USING_PING=y -# CONFIG_LWIP_USING_DHCPD is not set -# CONFIG_RT_LWIP_ENABLE_USER_HOOKS is not set -# CONFIG_RT_LWIP_DEBUG is not set -# CONFIG_RT_USING_AT is not set -# end of Network - -# -# Memory protection -# -# CONFIG_RT_USING_MEM_PROTECTION is not set -# CONFIG_RT_USING_HW_STACK_GUARD is not set -# end of Memory protection - -# -# Utilities -# -# CONFIG_RT_USING_RYM is not set -# CONFIG_RT_USING_ULOG is not set -CONFIG_RT_USING_UTEST=y -CONFIG_UTEST_THR_STACK_SIZE=32768 -CONFIG_UTEST_THR_PRIORITY=20 -# CONFIG_RT_UTEST_USING_AUTO_RUN is not set -# CONFIG_RT_UTEST_USING_ALL_CASES is not set -# CONFIG_RT_USING_VAR_EXPORT is not set -CONFIG_RT_USING_RESOURCE_ID=y -CONFIG_RT_USING_ADT=y -CONFIG_RT_USING_ADT_AVL=y -CONFIG_RT_USING_ADT_BITMAP=y -CONFIG_RT_USING_ADT_HASHMAP=y -CONFIG_RT_USING_ADT_REF=y -# CONFIG_RT_USING_RT_LINK is not set -# end of Utilities - -# CONFIG_RT_USING_VBUS is not set - -# -# Memory management -# -CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000 -CONFIG_RT_PAGE_MAX_ORDER=11 -CONFIG_RT_USING_MEMBLOCK=y -CONFIG_RT_INIT_MEMORY_REGIONS=128 - -# -# Debugging -# -# CONFIG_RT_DEBUGGING_ALIASING is not set -# CONFIG_RT_DEBUGING_PAGE_LEAK is not set -# CONFIG_RT_DEBUGGING_PAGE_POISON is not set -# end of Debugging -# end of Memory management - -CONFIG_RT_USING_LWP=y -CONFIG_LWP_DEBUG=y -CONFIG_LWP_DEBUG_INIT=y -CONFIG_LWP_USING_RUNTIME=y -CONFIG_RT_LWP_MAX_NR=128 -CONFIG_LWP_TASK_STACK_SIZE=32768 -CONFIG_RT_CH_MSG_MAX_NR=1024 -CONFIG_LWP_TID_MAX_NR=128 -CONFIG_RT_LWP_SHM_MAX_NR=64 -CONFIG_RT_USING_LDSO=y -# CONFIG_ELF_DEBUG_ENABLE is not set -# CONFIG_ELF_LOAD_RANDOMIZE is not set -CONFIG_LWP_USING_TERMINAL=y -CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 -CONFIG_RT_USING_VDSO=y - -# -# 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=y - -# -# Utest Self Testcase -# -# CONFIG_UTEST_SELF_PASS_TC is not set -# end of Utest Self Testcase - -# -# Kernel Testcase -# -# CONFIG_UTEST_MEMHEAP_TC is not set -# CONFIG_UTEST_SLAB_TC is not set -# CONFIG_UTEST_IRQ_TC is not set -# CONFIG_UTEST_SEMAPHORE_TC is not set -# CONFIG_UTEST_EVENT_TC is not set -# CONFIG_UTEST_TIMER_TC is not set -# CONFIG_UTEST_MESSAGEQUEUE_TC is not set -# CONFIG_UTEST_SIGNAL_TC is not set -# CONFIG_UTEST_MUTEX_TC is not set -# CONFIG_UTEST_MAILBOX_TC is not set -# CONFIG_UTEST_THREAD_TC is not set -# CONFIG_UTEST_DEVICE_TC is not set -# CONFIG_UTEST_ATOMIC_TC is not set -# CONFIG_UTEST_HOOKLIST_TC is not set -# CONFIG_UTEST_MTSAFE_KPRINT_TC is not set -# CONFIG_UTEST_SCHEDULER_TC is not set - -# -# Kernel SMP Testcase -# -# CONFIG_UTEST_SMP_AFFFINITY_TC is not set -# CONFIG_UTEST_SMP_ASSIGNED_IDLE_CORE_TC is not set -# CONFIG_UTEST_SMP_INTERRUPT_PRI_TC is not set -# CONFIG_UTEST_SMP_SPINLOCK_TC is not set -# CONFIG_UTEST_SMP_THREAD_PREEMPTION_TC is not set -# end of Kernel SMP Testcase -# end of Kernel Testcase - -# -# CPP11 Testcase -# -# CONFIG_UTEST_CPP11_THREAD_TC is not set -# end of CPP11 Testcase - -# -# Utest Serial Testcase -# -# CONFIG_UTEST_SERIAL_TC is not set -# end of Utest Serial Testcase - -# -# Serial-Bypass Testcase -# -# CONFIG_UTEST_SERIAL_BYPASS is not set -# end of Serial-Bypass Testcase - -# -# Utest IPC Testcase -# -# CONFIG_UTEST_COMPLETION_TC is not set -# CONFIG_UTEST_WORKQUEUE_TC is not set -# end of Utest IPC Testcase - -# -# RTT Posix Testcase -# -# CONFIG_RTT_POSIX_TESTCASE is not set -# end of RTT Posix Testcase - -# -# Memory Management Subsytem Testcase -# -# CONFIG_UTEST_MM_API_TC is not set -# CONFIG_UTEST_MM_LWP_TC is not set -# end of Memory Management Subsytem Testcase - -# -# Tmpfs Testcase -# -# CONFIG_UTEST_TMPFS_CP is not set -# end of Tmpfs Testcase - -# -# SMP-Call Testcase -# -CONFIG_UTEST_SMP_CALL_FUNC=y -# end of SMP-Call Testcase -# 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 -# CONFIG_PKG_USING_PNET is not set -# CONFIG_PKG_USING_OPENER 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 -# CONFIG_PKG_USING_RYAN_JSON is not set -# end of JSON: JavaScript Object Notation, a lightweight data-interchange format - -# -# XML: Extensible Markup Language -# -# CONFIG_PKG_USING_SIMPLE_XML is not set -# CONFIG_PKG_USING_EZXML is not set -# end of XML: Extensible Markup Language - -# CONFIG_PKG_USING_LUATOS_SOC is not set -# CONFIG_PKG_USING_LUA is not set -# CONFIG_PKG_USING_JERRYSCRIPT is not set -# CONFIG_PKG_USING_MICROPYTHON is not set -# CONFIG_PKG_USING_PIKASCRIPT is not set -# CONFIG_PKG_USING_RTT_RUST is not set -# end of language packages - -# -# multimedia packages -# - -# -# LVGL: powerful and easy-to-use embedded GUI library -# -# CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set -# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set -# end of LVGL: powerful and easy-to-use embedded GUI library - -# -# u8g2: a monochrome graphic library -# -# CONFIG_PKG_USING_U8G2_OFFICIAL is not set -# CONFIG_PKG_USING_U8G2 is not set -# end of u8g2: a monochrome graphic library - -# CONFIG_PKG_USING_OPENMV is not set -# CONFIG_PKG_USING_MUPDF is not set -# CONFIG_PKG_USING_STEMWIN is not set -# CONFIG_PKG_USING_WAVPLAYER is not set -# CONFIG_PKG_USING_TJPGD is not set -# CONFIG_PKG_USING_PDFGEN is not set -# CONFIG_PKG_USING_HELIX is not set -# CONFIG_PKG_USING_AZUREGUIX is not set -# CONFIG_PKG_USING_TOUCHGFX2RTT is not set -# CONFIG_PKG_USING_NUEMWIN is not set -# CONFIG_PKG_USING_MP3PLAYER is not set -# CONFIG_PKG_USING_TINYJPEG is not set -# CONFIG_PKG_USING_UGUI is not set -# CONFIG_PKG_USING_MCURSES is not set -# CONFIG_PKG_USING_TERMBOX is not set -# CONFIG_PKG_USING_VT100 is not set -# CONFIG_PKG_USING_QRCODE is not set -# CONFIG_PKG_USING_GUIENGINE is not set -# CONFIG_PKG_USING_3GPP_AMRNB is not set -# end of multimedia packages - -# -# tools packages -# -# CONFIG_PKG_USING_CMBACKTRACE is not set -# CONFIG_PKG_USING_EASYFLASH is not set -# CONFIG_PKG_USING_EASYLOGGER is not set -# CONFIG_PKG_USING_SYSTEMVIEW is not set -# CONFIG_PKG_USING_SEGGER_RTT is not set -# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set -# CONFIG_PKG_USING_RDB is not set -# CONFIG_PKG_USING_ULOG_EASYFLASH is not set -# CONFIG_PKG_USING_LOGMGR is not set -# CONFIG_PKG_USING_ADBD is not set -# CONFIG_PKG_USING_COREMARK is not set -# CONFIG_PKG_USING_DHRYSTONE is not set -# CONFIG_PKG_USING_MEMORYPERF is not set -# CONFIG_PKG_USING_NR_MICRO_SHELL is not set -# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set -# CONFIG_PKG_USING_LUNAR_CALENDAR is not set -# CONFIG_PKG_USING_BS8116A is not set -# CONFIG_PKG_USING_GPS_RMC is not set -# CONFIG_PKG_USING_URLENCODE is not set -# CONFIG_PKG_USING_UMCN is not set -# CONFIG_PKG_USING_LWRB2RTT is not set -# CONFIG_PKG_USING_CPU_USAGE is not set -# CONFIG_PKG_USING_GBK2UTF8 is not set -# CONFIG_PKG_USING_VCONSOLE is not set -# CONFIG_PKG_USING_KDB is not set -# CONFIG_PKG_USING_WAMR is not set -# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set -# CONFIG_PKG_USING_LWLOG is not set -# CONFIG_PKG_USING_ANV_TRACE is not set -# CONFIG_PKG_USING_ANV_MEMLEAK is not set -# CONFIG_PKG_USING_ANV_TESTSUIT is not set -# CONFIG_PKG_USING_ANV_BENCH is not set -# CONFIG_PKG_USING_DEVMEM is not set -# CONFIG_PKG_USING_REGEX is not set -# CONFIG_PKG_USING_MEM_SANDBOX is not set -# CONFIG_PKG_USING_SOLAR_TERMS is not set -# CONFIG_PKG_USING_GAN_ZHI is not set -# CONFIG_PKG_USING_FDT is not set -# CONFIG_PKG_USING_CBOX is not set -# CONFIG_PKG_USING_SNOWFLAKE is not set -# CONFIG_PKG_USING_HASH_MATCH is not set -# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set -# CONFIG_PKG_USING_VOFA_PLUS is not set -# CONFIG_PKG_USING_ZDEBUG is not set -# CONFIG_PKG_USING_RVBACKTRACE is not set -# CONFIG_PKG_USING_HPATCHLITE 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 -# 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_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_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_UART_FRAMEWORK 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_RMP is not set -# CONFIG_PKG_USING_R_RHEALSTONE is not set -# CONFIG_PKG_USING_HEARTBEAT is not set -# end of system packages - -# -# peripheral libraries and drivers -# - -# -# HAL & SDK Drivers -# - -# -# STM32 HAL & SDK Drivers -# -# CONFIG_PKG_USING_STM32F0_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32F0_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32F1_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32F1_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32F2_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32F2_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32F3_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32F3_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32F7_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32F7_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32G0_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32G0_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32G4_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32G4_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32H5_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32H5_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32H7_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32H7_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32H7RS_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32H7RS_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32L0_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32L0_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32L5_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32L5_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32U5_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32U5_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_STM32WL_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32WL_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32WB_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32WB_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_STM32MP1_M4_HAL_DRIVER is not set -# CONFIG_PKG_USING_STM32MP1_M4_CMSIS_DRIVER 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 -# CONFIG_PKG_USING_MM32 is not set - -# -# WCH HAL & SDK Drivers -# -# CONFIG_PKG_USING_CH32V20x_SDK is not set -# CONFIG_PKG_USING_CH32V307_SDK is not set -# end of WCH HAL & SDK Drivers - -# -# AT32 HAL & SDK Drivers -# -# CONFIG_PKG_USING_AT32A403A_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32A403A_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32A423_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32A423_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F45x_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F45x_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F402_405_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F402_405_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F403A_407_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F403A_407_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F413_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F413_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F415_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F415_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F421_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F421_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F423_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F423_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F425_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F425_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32F435_437_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32F435_437_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_AT32M412_416_HAL_DRIVER is not set -# CONFIG_PKG_USING_AT32M412_416_CMSIS_DRIVER is not set -# end of AT32 HAL & SDK Drivers - -# -# HC32 DDL Drivers -# -# end of HC32 DDL Drivers - -# -# NXP HAL & SDK Drivers -# -# CONFIG_PKG_USING_NXP_MCX_CMSIS_DRIVER is not set -# CONFIG_PKG_USING_NXP_MCX_SERIES_DRIVER is not set -# CONFIG_PKG_USING_NXP_LPC_DRIVER is not set -# CONFIG_PKG_USING_NXP_LPC55S_DRIVER is not set -# CONFIG_PKG_USING_NXP_IMX6SX_DRIVER is not set -# CONFIG_PKG_USING_NXP_IMX6UL_DRIVER is not set -# CONFIG_PKG_USING_NXP_IMXRT_DRIVER is not set -# end of NXP HAL & SDK Drivers -# 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_MAX31855 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_MLX90382 is not set -# CONFIG_PKG_USING_MLX90393 is not set -# CONFIG_PKG_USING_MLX90392 is not set -# CONFIG_PKG_USING_MLX90394 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 -# CONFIG_PKG_USING_P3T1755 is not set -# CONFIG_PKG_USING_QMI8658 is not set -# CONFIG_PKG_USING_ICM20948 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_BT_MX02 is not set -# CONFIG_PKG_USING_GC9A01 is not set -# CONFIG_PKG_USING_IK485 is not set -# CONFIG_PKG_USING_SERVO is not set -# CONFIG_PKG_USING_SEAN_WS2812B is not set -# CONFIG_PKG_USING_IC74HC165 is not set -# CONFIG_PKG_USING_IST8310 is not set -# CONFIG_PKG_USING_SPI_TOOLS is not set -# end of peripheral libraries and drivers - -# -# AI packages -# -# CONFIG_PKG_USING_LIBANN is not set -# CONFIG_PKG_USING_NNOM is not set -# CONFIG_PKG_USING_ONNX_BACKEND is not set -# CONFIG_PKG_USING_ONNX_PARSER is not set -# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set -# CONFIG_PKG_USING_ELAPACK is not set -# CONFIG_PKG_USING_ULAPACK is not set -# CONFIG_PKG_USING_QUEST is not set -# CONFIG_PKG_USING_NAXOS is not set -# CONFIG_PKG_USING_NCNN is not set -# CONFIG_PKG_USING_R_TINYMAIX is not set -# CONFIG_PKG_USING_LLMCHAT 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 -# 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=y -CONFIG_PKG_ZLIB_PATH="/packages/misc/zlib" -# CONFIG_ZLIB_USING_SAMPLE is not set -# CONFIG_PKG_USING_ZLIB_V100 is not set -# CONFIG_PKG_USING_ZLIB_V123 is not set -CONFIG_PKG_USING_ZLIB_LATEST_VERSION=y -CONFIG_PKG_ZLIB_VER="latest" -# 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_LIBCRC 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 -# CONFIG_PKG_USING_DRMP 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_RTDUINO_SENSORFUSION_SHIELD 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 - -# -# RT-Thread rockchip RK3500 drivers -# -CONFIG_RT_CLK_ROCKCHIP=y -CONFIG_RT_CLK_ROCKCHIP_RK3568=y -CONFIG_RT_CLK_ROCKCHIP_RK3588=y -CONFIG_RT_SERIAL_8250=y -CONFIG_RT_HWTIMER_ROCKCHIP=y -# end of RT-Thread rockchip RK3500 drivers - -CONFIG_SOC_RK3568=y diff --git a/bsp/rockchip/rk3566/Kconfig b/bsp/rockchip/rk3566/Kconfig deleted file mode 100644 index cdb605ecc70..00000000000 --- a/bsp/rockchip/rk3566/Kconfig +++ /dev/null @@ -1,31 +0,0 @@ -mainmenu "RT-Thread Project Configuration" - -config BSP_DIR - string - option env="BSP_ROOT" - default "." - -config RTT_DIR - string - option env="RTT_ROOT" - default "../../.." - -config PKGS_DIR - string - option env="PKGS_ROOT" - default "packages" - -source "$RTT_DIR/Kconfig" -source "$PKGS_DIR/Kconfig" -source "$BSP_DIR/driver/Kconfig" - -config SOC_RK3568 - bool - select ARCH_ARMV8 - select ARCH_CPU_64BIT - select RT_USING_CACHE - select RT_USING_COMPONENTS_INIT - select RT_USING_USER_MAIN - select ARCH_ARM_BOOTWITH_FLUSH_CACHE - default y - diff --git a/bsp/rockchip/rk3566/SConscript b/bsp/rockchip/rk3566/SConscript deleted file mode 100644 index 744d8d78214..00000000000 --- a/bsp/rockchip/rk3566/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -# for module compiling -import os -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/rockchip/rk3566/SConstruct b/bsp/rockchip/rk3566/SConstruct deleted file mode 100644 index ec6fe0187f2..00000000000 --- a/bsp/rockchip/rk3566/SConstruct +++ /dev/null @@ -1,29 +0,0 @@ -import os -import sys -import rtconfig - -from rtconfig import RTT_ROOT - -sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] -from building import * - -TARGET = 'rtthread.' + rtconfig.TARGET_EXT - -DefaultEnvironment(tools=[]) -env = Environment(tools = ['mingw'], - AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, - CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, - CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, - AR = rtconfig.AR, ARFLAGS = '-rc', - LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) -env.PrependENVPath('PATH', rtconfig.EXEC_PATH) -env['ASCOM'] = env['ASPPCOM'] - -Export('RTT_ROOT') -Export('rtconfig') - -# prepare building environment -objs = PrepareBuilding(env, RTT_ROOT, has_libcpu = False) - -# make a building -DoBuilding(TARGET, objs) diff --git a/bsp/rockchip/rk3566/applications/SConscript b/bsp/rockchip/rk3566/applications/SConscript deleted file mode 100644 index f407db0bc2d..00000000000 --- a/bsp/rockchip/rk3566/applications/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -from building import * - -cwd = GetCurrentDir() -src = Glob('*.c') + Glob('*.cpp') -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 += SConscript(os.path.join(item, 'SConscript')) - -Return('group') diff --git a/bsp/rockchip/rk3566/applications/main.c b/bsp/rockchip/rk3566/applications/main.c deleted file mode 100644 index 02155bf206a..00000000000 --- a/bsp/rockchip/rk3566/applications/main.c +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2017-5-30 Bernard the first version - */ - -#include - -int main(int argc, char** argv) -{ - rt_kprintf("Hi, this is RT-Thread!!\n"); - - return 0; -} diff --git a/bsp/rockchip/rk3566/boot.cmd b/bsp/rockchip/rk3566/boot.cmd deleted file mode 100644 index a78c42607ae..00000000000 --- a/bsp/rockchip/rk3566/boot.cmd +++ /dev/null @@ -1,3 +0,0 @@ -fatload mmc 1:1 0x480000 rtthread.bin; -fatload mmc 1:1 0x8300000 tspi-rk3566-user-v10-linux.dtb; -booti 0x480000 - 0x8300000; diff --git a/bsp/rockchip/rk3566/boot.scr b/bsp/rockchip/rk3566/boot.scr deleted file mode 100644 index 14dae4e6d3ad238c7605a188d4e527e70d885af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmY#ql?6R9!7U`B58tCR^ b=9O0HrIaLDb0y{Hmt-Q0)de!4TCKSNAd@V% diff --git a/bsp/rockchip/rk3566/driver/Kconfig b/bsp/rockchip/rk3566/driver/Kconfig deleted file mode 100644 index d0730821614..00000000000 --- a/bsp/rockchip/rk3566/driver/Kconfig +++ /dev/null @@ -1,6 +0,0 @@ -menu "RT-Thread rockchip RK3500 drivers" - -source "$BSP_DIR/driver/clk/Kconfig" -source "$BSP_DIR/driver/uart8250/Kconfig" -source "$BSP_DIR/driver/hwtimer/Kconfig" -endmenu diff --git a/bsp/rockchip/rk3566/driver/SConscript b/bsp/rockchip/rk3566/driver/SConscript deleted file mode 100644 index 17f80c100b7..00000000000 --- a/bsp/rockchip/rk3566/driver/SConscript +++ /dev/null @@ -1,19 +0,0 @@ -# RT-Thread building script for component - -from building import * - -cwd = GetCurrentDir() -src = Glob('*.c') -list = os.listdir(cwd) -CPPPATH = [cwd] -objs = [] - -group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) - -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')) -objs = objs + group - -Return('objs') diff --git a/bsp/rockchip/rk3566/driver/board.c b/bsp/rockchip/rk3566/driver/board.c deleted file mode 100644 index 9d19b8b3961..00000000000 --- a/bsp/rockchip/rk3566/driver/board.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ -#include -#include -#include - -void rt_hw_board_init(void) -{ -#if RT_VER_NUM < 0x50200 - rt_fdt_commit_memregion_early(&(rt_region_t) - { - .name = "memheap", - .start = (rt_size_t)rt_kmem_v2p(HEAP_BEGIN), - .end = (rt_size_t)rt_kmem_v2p(HEAP_END), - }, RT_TRUE); -#endif - rt_hw_common_setup(); -} - -void reboot(void) -{ - psci_system_reboot(); -} -MSH_CMD_EXPORT(reboot, reboot...); - -void rt_hw_cpu_shutdown(void) -{ - psci_system_off(); -} -MSH_CMD_EXPORT_ALIAS(rt_hw_cpu_shutdown, shutdown, shutdown...); diff --git a/bsp/rockchip/rk3566/driver/board.h b/bsp/rockchip/rk3566/driver/board.h deleted file mode 100644 index 1c02d75a6b9..00000000000 --- a/bsp/rockchip/rk3566/driver/board.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2017-5-30 Bernard the first version - */ - -#ifndef __BOARD_H__ -#define __BOARD_H__ - -#include - -extern unsigned char __bss_start; -extern unsigned char __bss_end; - -#define HEAP_BEGIN (void *)&__bss_end -#define HEAP_END ((void *)HEAP_BEGIN + 64 * 1024 * 1024) - - -void rt_hw_board_init(void); - -#endif /* __BOARD_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/Kconfig b/bsp/rockchip/rk3566/driver/clk/Kconfig deleted file mode 100644 index 15a2b1e99e0..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/Kconfig +++ /dev/null @@ -1,15 +0,0 @@ -menuconfig RT_CLK_ROCKCHIP - bool "Rockchip clock controller common" - select RT_USING_OFW - select RT_USING_RESET - default n - -config RT_CLK_ROCKCHIP_RK3568 - bool "Rockchip RK3568 clock controller support" - depends on RT_CLK_ROCKCHIP - default n - -config RT_CLK_ROCKCHIP_RK3588 - bool "Rockchip RK3588 clock controller support" - depends on RT_CLK_ROCKCHIP - default n diff --git a/bsp/rockchip/rk3566/driver/clk/SConscript b/bsp/rockchip/rk3566/driver/clk/SConscript deleted file mode 100644 index 91bb28839db..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/SConscript +++ /dev/null @@ -1,16 +0,0 @@ -from building import * - -cwd = GetCurrentDir() -CPPPATH = [cwd] - -src = [] - -if GetDepend(['RT_CLK_ROCKCHIP_RK3568']): - src += ['clk-rk3568.c'] - -if GetDepend(['RT_CLK_ROCKCHIP_RK3588']): - src += ['clk-rk3588.c'] - -group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) - -Return('group') diff --git a/bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c b/bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c deleted file mode 100644 index a27c921cc6a..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-mmc-phase.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ - -#define ROCKCHIP_MMC_DELAY_SEL RT_BIT(11) -#define ROCKCHIP_MMC_DEGREE_OFFSET 1 -#define ROCKCHIP_MMC_DEGREE_MASK (0x3 << ROCKCHIP_MMC_DEGREE_OFFSET) -#define ROCKCHIP_MMC_DELAYNUM_OFFSET 3 -#define ROCKCHIP_MMC_DELAYNUM_MASK (0xff << ROCKCHIP_MMC_DELAYNUM_OFFSET) -/* - * Each fine delay is between 44ps-77ps. Assume each fine delay is 60ps to - * simplify calculations. So 45degs could be anywhere between 33deg and 57.8deg. - */ -#define ROCKCHIP_MMC_DELAY_ELEMENT_PSEC 60 - -#define PSECS_PER_SEC 1000000000000LL - -#define RK3288_MMC_CLKGEN_DIV 2 - -rt_inline rt_ubase_t rk_clk_mmc_recalc(rt_ubase_t parent_rate) -{ - return parent_rate / RK3288_MMC_CLKGEN_DIV; -} - -static rt_err_t rk_clk_mmc_set_phase(rt_ubase_t rate, void *reg, int shift, - int degrees) -{ - rt_uint32_t raw_value, delay; - rt_uint8_t nineties, remainder, delay_num; - - /* - * The below calculation is based on the output clock from - * MMC host to the card, which expects the phase clock inherits - * the clock rate from its parent, namely the output clock - * provider of MMC host. However, things may go wrong if - * (1) It is orphan. - * (2) It is assigned to the wrong parent. - * - * This check help debug the case (1), which seems to be the - * most likely problem we often face and which makes it difficult - * for people to debug unstable mmc tuning results. - */ - if (!rate) - { - LOG_E("Invalid CLK rate in phase setting"); - - return -RT_EINVAL; - } - - nineties = degrees / 90; - remainder = (degrees % 90); - - /* - * Due to the inexact nature of the "fine" delay, we might - * actually go non-monotonic. We don't go _too_ monotonic - * though, so we should be OK. Here are options of how we may - * work: - * - * Ideally we end up with: - * 1.0, 2.0, ..., 69.0, 70.0, ..., 89.0, 90.0 - * - * On one extreme (if delay is actually 44ps): - * .73, 1.5, ..., 50.6, 51.3, ..., 65.3, 90.0 - * The other (if delay is actually 77ps): - * 1.3, 2.6, ..., 88.6. 89.8, ..., 114.0, 90 - * - * It's possible we might make a delay that is up to 25 - * degrees off from what we think we're making. That's OK - * though because we should be REALLY far from any bad range. - */ - - /* - * Convert to delay; do a little extra work to make sure we - * don't overflow 32-bit / 64-bit numbers. - */ - delay = 10000000; /* PSECS_PER_SEC / 10000 / 10 */ - delay *= remainder; - delay = RT_DIV_ROUND_CLOSEST(delay, (rate / 1000) * 36 * - (ROCKCHIP_MMC_DELAY_ELEMENT_PSEC / 10)); - - delay_num = (rt_uint8_t)rt_min_t(rt_uint32_t, delay, 255); - - raw_value = delay_num ? ROCKCHIP_MMC_DELAY_SEL : 0; - raw_value |= delay_num << ROCKCHIP_MMC_DELAYNUM_OFFSET; - raw_value |= nineties; - HWREG32(reg) = HIWORD_UPDATE(raw_value, 0x07ff, shift); - - return RT_EOK; -} - -static rt_base_t rk_clk_mmc_get_phase(rt_ubase_t rate, void *reg, int shift) -{ - rt_uint16_t degrees; - rt_uint32_t raw_value, delay_num = 0; - - /* Constant signal, no measurable phase shift */ - if (!rate) - { - return 0; - } - - raw_value = HWREG32(reg) >> shift; - degrees = (raw_value & ROCKCHIP_MMC_DEGREE_MASK) * 90; - - if (raw_value & ROCKCHIP_MMC_DELAY_SEL) - { - /* degrees/delaynum * 1000000 */ - rt_ubase_t factor = (ROCKCHIP_MMC_DELAY_ELEMENT_PSEC / 10) * - 36 * (rate / 10000); - - delay_num = (raw_value & ROCKCHIP_MMC_DELAYNUM_MASK); - delay_num >>= ROCKCHIP_MMC_DELAYNUM_OFFSET; - degrees += RT_DIV_ROUND_CLOSEST(delay_num * factor, 1000000); - } - - return degrees % 360; -} diff --git a/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c b/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c deleted file mode 100644 index 385f54853b7..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3568.c +++ /dev/null @@ -1,403 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ - -/* Define pll mode */ -#define RKCLK_PLL_MODE_SLOW 0 -#define RKCLK_PLL_MODE_NORMAL 1 -#define RKCLK_PLL_MODE_DEEP 2 - -/* Only support RK3036 type CLK */ -#define PLLCON0_FBDIV_MASK 0xfff -#define PLLCON0_FBDIV_SHIFT 0 -#define PLLCON0_POSTDIV1_MASK (0x7 << 12) -#define PLLCON0_POSTDIV1_SHIFT 12 -#define PLLCON1_LOCK_STATUS (1 << 10) -#define PLLCON1_REFDIV_MASK 0x3f -#define PLLCON1_REFDIV_SHIFT 0 -#define PLLCON1_POSTDIV2_MASK (0x7 << 6) -#define PLLCON1_POSTDIV2_SHIFT 6 -#define PLLCON1_DSMPD_MASK (0x1 << 12) -#define PLLCON1_DSMPD_SHIFT 12 -#define PLLCON2_FRAC_MASK 0xffffff -#define PLLCON2_FRAC_SHIFT 0 -#define PLLCON1_PWRDOWN_SHIT 13 -#define PLLCON1_PWRDOWN (1 << PLLCON1_PWRDOWN_SHIT) - -#define MIN_FOUTVCO_FREQ (800 * MHZ) -#define MAX_FOUTVCO_FREQ (2000 * MHZ) - -static struct rk_pll_rate_table auto_table; - -static int gcd(int m, int n) -{ - while (m > 0) - { - if (n > m) - { - int t = m; - m = n; - n = t; - } - m -= n; - } - - return n; -} - -/* - * rational_best_approximation(31415, 10000, - * (1 << 8) - 1, (1 << 5) - 1, &n, &d); - * - * you may look at given_numerator as a fixed point number, - * with the fractional part size described in given_denominator. - * - * for theoretical background, see: - * http://en.wikipedia.org/wiki/Continued_fraction - */ -static void rational_best_approximation(rt_ubase_t given_numerator, - rt_ubase_t given_denominator, - rt_ubase_t max_numerator, - rt_ubase_t max_denominator, - rt_ubase_t *best_numerator, - rt_ubase_t *best_denominator) -{ - rt_ubase_t n, d, n0, d0, n1, d1; - - n = given_numerator; - d = given_denominator; - n0 = 0; - d1 = 0; - n1 = 1; - d0 = 1; - - for (;;) - { - rt_ubase_t t, a; - - if (n1 > max_numerator || d1 > max_denominator) - { - n1 = n0; - d1 = d0; - break; - } - if (d == 0) - { - break; - } - t = d; - a = n / d; - d = n % d; - n = t; - t = n0 + a * n1; - n0 = n1; - n1 = t; - t = d0 + a * d1; - d0 = d1; - d1 = t; - } - *best_numerator = n1; - *best_denominator = d1; -} - -/* - * How to calculate the PLL(from TRM V0.3 Part 1 Page 63): - * Formulas also embedded within the Fractional PLL Verilog model: - * If DSMPD = 1 (DSM is disabled, "integer mode") - * FOUTVCO = FREF / REFDIV * FBDIV - * FOUTPOSTDIV = FOUTVCO / POSTDIV1 / POSTDIV2 - * Where: - * FOUTVCO = Fractional PLL non-divided output frequency - * FOUTPOSTDIV = Fractional PLL divided output frequency - * (output of second post divider) - * FREF = Fractional PLL input reference frequency, (the OSC_HZ 24MHz input) - * REFDIV = Fractional PLL input reference clock divider - * FBDIV = Integer value programmed into feedback divide - */ - -static int rk_pll_clk_set_postdiv(rt_ubase_t fout_hz, rt_uint32_t *postdiv1, - rt_uint32_t *postdiv2, rt_uint32_t *foutvco) -{ - rt_ubase_t freq; - - if (fout_hz < MIN_FOUTVCO_FREQ) - { - for (*postdiv1 = 1; *postdiv1 <= 7; ++(*postdiv1)) - { - for (*postdiv2 = 1; *postdiv2 <= 7; ++(*postdiv2)) - { - freq = fout_hz * (*postdiv1) * (*postdiv2); - if (freq >= MIN_FOUTVCO_FREQ && freq <= MAX_FOUTVCO_FREQ) - { - *foutvco = freq; - return 0; - } - } - } - } - else - { - *postdiv1 = 1; - *postdiv2 = 1; - } - return 0; -} - -static struct rk_pll_rate_table *rk_pll_clk_set_by_auto(rt_ubase_t fin_hz, rt_ubase_t fout_hz) -{ - struct rk_pll_rate_table *rate_table = &auto_table; - rt_uint32_t foutvco = fout_hz; - rt_ubase_t fin_64, frac_64; - rt_uint32_t f_frac, postdiv1, postdiv2; - rt_ubase_t clk_gcd = 0; - - if (fin_hz == 0 || fout_hz == 0 || fout_hz == fin_hz) - { - return RT_NULL; - } - - rk_pll_clk_set_postdiv(fout_hz, &postdiv1, &postdiv2, &foutvco); - rate_table->postdiv1 = postdiv1; - rate_table->postdiv2 = postdiv2; - rate_table->dsmpd = 1; - - if (fin_hz / MHZ * MHZ == fin_hz && fout_hz / MHZ * MHZ == fout_hz) - { - fin_hz /= MHZ; - foutvco /= MHZ; - clk_gcd = gcd(fin_hz, foutvco); - rate_table->refdiv = fin_hz / clk_gcd; - rate_table->fbdiv = foutvco / clk_gcd; - - rate_table->frac = 0; - } - else - { - clk_gcd = gcd(fin_hz / MHZ, foutvco / MHZ); - rate_table->refdiv = fin_hz / MHZ / clk_gcd; - rate_table->fbdiv = foutvco / MHZ / clk_gcd; - - rate_table->frac = 0; - - f_frac = (foutvco % MHZ); - fin_64 = fin_hz; - fin_64 = fin_64 / rate_table->refdiv; - frac_64 = f_frac << 24; - frac_64 = frac_64 / fin_64; - rate_table->frac = frac_64; - - if (rate_table->frac > 0) - { - rate_table->dsmpd = 0; - } - } - return rate_table; -} - -static const struct rk_pll_rate_table *rk_get_pll_settings(struct rk_pll_clock *pll, rt_ubase_t rate) -{ - struct rk_pll_rate_table *rate_table = pll->rate_table; - - while (rate_table->rate) - { - if (rate_table->rate == rate) - { - break; - } - ++rate_table; - } - - if (rate_table->rate != rate) - { - return rk_pll_clk_set_by_auto(24 * MHZ, rate); - } - else - { - return rate_table; - } -} - -static rt_ubase_t rk_pll_get_rate(struct rk_pll_clock *pll, void *base); - -static int rk_pll_set_rate(struct rk_pll_clock *pll, void *base, rt_ubase_t drate) -{ - const struct rk_pll_rate_table *rate; - - if (rk_pll_get_rate(pll, base) == drate) - { - return 0; - } - - pll->mode_mask = PLL_MODE_MASK; - rate = rk_get_pll_settings(pll, drate); - - if (!rate) - { - return -RT_ERROR; - } - - /* - * When power on or changing PLL setting, we must force PLL into slow mode - * to ensure output stable clock. - */ - rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_SLOW << pll->mode_shift); - - /* Power down */ - rk_setreg(base + pll->con_offset + 0x4, 1 << PLLCON1_PWRDOWN_SHIT); - - rk_clrsetreg(base + pll->con_offset, (PLLCON0_POSTDIV1_MASK | PLLCON0_FBDIV_MASK), - (rate->postdiv1 << PLLCON0_POSTDIV1_SHIFT) |rate->fbdiv); - rk_clrsetreg(base + pll->con_offset + 0x4, (PLLCON1_POSTDIV2_MASK | PLLCON1_REFDIV_MASK), - (rate->postdiv2 << PLLCON1_POSTDIV2_SHIFT | rate->refdiv << PLLCON1_REFDIV_SHIFT)); - - if (!rate->dsmpd) - { - rt_uint32_t val; - - rk_clrsetreg(base + pll->con_offset + 0x4, PLLCON1_DSMPD_MASK, - rate->dsmpd << PLLCON1_DSMPD_SHIFT); - - val = HWREG32(base + pll->con_offset + 0x8) & (~PLLCON2_FRAC_MASK); - HWREG32(base + pll->con_offset + 0x8) = val | (rate->frac << PLLCON2_FRAC_SHIFT); - } - - /* Power Up */ - rk_clrreg(base + pll->con_offset + 0x4, 1 << PLLCON1_PWRDOWN_SHIT); - - /* Waiting for pll lock */ - while (!(HWREG32(base + pll->con_offset + 0x4) & (1 << pll->lock_shift))) - { - } - - rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_NORMAL << pll->mode_shift); - - return 0; -} - -static rt_ubase_t rk_pll_get_rate(struct rk_pll_clock *pll, void *base) -{ - rt_uint32_t refdiv, fbdiv, postdiv1, postdiv2, dsmpd, frac; - rt_uint32_t con = 0, shift, mask; - rt_ubase_t rate; - - pll->mode_mask = PLL_MODE_MASK; - - con = HWREG32(base + pll->mode_offset); - shift = pll->mode_shift; - mask = pll->mode_mask << shift; - - switch ((con & mask) >> shift) - { - case RKCLK_PLL_MODE_SLOW: - return OSC_HZ; - case RKCLK_PLL_MODE_NORMAL: - /* normal mode */ - con = HWREG32(base + pll->con_offset); - postdiv1 = (con & PLLCON0_POSTDIV1_MASK) >> PLLCON0_POSTDIV1_SHIFT; - fbdiv = (con & PLLCON0_FBDIV_MASK) >> PLLCON0_FBDIV_SHIFT; - con = HWREG32(base + pll->con_offset + 0x4); - postdiv2 = (con & PLLCON1_POSTDIV2_MASK) >> PLLCON1_POSTDIV2_SHIFT; - refdiv = (con & PLLCON1_REFDIV_MASK) >> PLLCON1_REFDIV_SHIFT; - dsmpd = (con & PLLCON1_DSMPD_MASK) >> PLLCON1_DSMPD_SHIFT; - con = HWREG32(base + pll->con_offset + 0x8); - frac = (con & PLLCON2_FRAC_MASK) >> PLLCON2_FRAC_SHIFT; - rate = (24 * fbdiv / (refdiv * postdiv1 * postdiv2)) * 1000000; - - if (dsmpd == 0) - { - rt_uint64_t frac_rate = OSC_HZ * (rt_uint64_t)frac; - - rt_do_div(frac_rate, refdiv); - frac_rate >>= 24; - rt_do_div(frac_rate, postdiv1); - rt_do_div(frac_rate, postdiv1); - rate += frac_rate; - } - return rate; - case RKCLK_PLL_MODE_DEEP: - default: - return 32768; - } -} - -static const struct rk_cpu_rate_table *rk_get_cpu_settings(struct rk_cpu_rate_table *cpu_table, rt_ubase_t rate) -{ - struct rk_cpu_rate_table *ps = cpu_table; - - while (ps->rate) - { - if (ps->rate == rate) - { - break; - } - ++ps; - } - if (ps->rate != rate) - { - return RT_NULL; - } - else - { - return ps; - } -} - -static rt_base_t rk_clk_pll_round_rate(const struct rk_pll_rate_table *pll_rates, - rt_size_t rate_count, rt_ubase_t drate, rt_ubase_t *prate) -{ - int i; - - /* Assumming rate_table is in descending order */ - for (i = 0; i < rate_count; i++) - { - if (drate >= pll_rates[i].rate) - { - return pll_rates[i].rate; - } - } - - /* return minimum supported value */ - return pll_rates[i - 1].rate; -} - -static void rk_clk_set_default_rates(struct rt_clk *clk, - rt_err_t (*clk_set_rate)(struct rt_clk *, rt_ubase_t, rt_ubase_t), int id) -{ - rt_uint32_t rate; - struct rt_ofw_cell_args clk_args; - struct rt_ofw_node *np = clk->fw_node; - const char *rate_propname = "assigned-clock-rates"; - - if (!rt_ofw_prop_read_bool(np, rate_propname)) - { - return; - } - - for (int i = 0; ; ++i) - { - if (rt_ofw_parse_phandle_cells(np, "assigned-clocks", "#clock-cells", i, &clk_args)) - { - break; - } - - rt_ofw_node_put(clk_args.data); - - if (clk_args.args[0] != id) - { - continue; - } - - if (!rt_ofw_prop_read_u32_index(np, rate_propname, i, &rate)) - { - clk_set_rate(clk, rate, 0); - } - - break; - } -} diff --git a/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c b/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c deleted file mode 100644 index 1b8ad79370f..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-pll-rk3588.c +++ /dev/null @@ -1,727 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2023-11-03 zmshahaha the first version - */ - -#define PLL_MODE_MASK 0x3 -#define PLL_RK3328_MODE_MASK 0x1 - -/* Define pll mode */ -#define RKCLK_PLL_MODE_SLOW 0 -#define RKCLK_PLL_MODE_NORMAL 1 -#define RKCLK_PLL_MODE_DEEP 2 - -/* Only support RK3036 type CLK */ -#define RK3036_PLLCON0_FBDIV_MASK 0xfff -#define RK3036_PLLCON0_FBDIV_SHIFT 0 -#define RK3036_PLLCON0_POSTDIV1_MASK (0x7 << 12) -#define RK3036_PLLCON0_POSTDIV1_SHIFT 12 -#define RK3036_PLLCON1_LOCK_STATUS (1 << 10) -#define RK3036_PLLCON1_REFDIV_MASK 0x3f -#define RK3036_PLLCON1_REFDIV_SHIFT 0 -#define RK3036_PLLCON1_POSTDIV2_MASK (0x7 << 6) -#define RK3036_PLLCON1_POSTDIV2_SHIFT 6 -#define RK3036_PLLCON1_DSMPD_MASK (0x1 << 12) -#define RK3036_PLLCON1_DSMPD_SHIFT 12 -#define RK3036_PLLCON2_FRAC_MASK 0xffffff -#define RK3036_PLLCON2_FRAC_SHIFT 0 -#define RK3036_PLLCON1_PWRDOWN_SHIT 13 -#define RK3036_PLLCON1_PWRDOWN (1 << RK3036_PLLCON1_PWRDOWN_SHIT) - -#define VCO_MAX_HZ (3200UL * MHZ) -#define VCO_MIN_HZ (800UL * MHZ) -#define OUTPUT_MAX_HZ (3200UL * MHZ) -#define OUTPUT_MIN_HZ (24UL * MHZ) -#define MIN_FOUTVCO_FREQ (800UL * MHZ) -#define MAX_FOUTVCO_FREQ (2000UL * MHZ) - -#define RK3588_VCO_MIN_HZ (2250UL * MHZ) -#define RK3588_VCO_MAX_HZ (4500UL * MHZ) -#define RK3588_FOUT_MIN_HZ (37UL * MHZ) -#define RK3588_FOUT_MAX_HZ (4500UL * MHZ) - -#define RK3588_PLLCON(i) ((i) * 0x4) -#define RK3588_PLLCON0_M_MASK (0x3ff << 0) -#define RK3588_PLLCON0_M_SHIFT 0 -#define RK3588_PLLCON1_P_MASK (0x3f << 0) -#define RK3588_PLLCON1_P_SHIFT 0 -#define RK3588_PLLCON1_S_MASK (0x7 << 6) -#define RK3588_PLLCON1_S_SHIFT 6 -#define RK3588_PLLCON2_K_MASK 0xffff -#define RK3588_PLLCON2_K_SHIFT 0 -#define RK3588_PLLCON1_PWRDOWN (1 << 13) -#define RK3588_PLLCON6_LOCK_STATUS (1 << 15) -#define RK3588_B0PLL_CLKSEL_CON(i) ((i) * 0x4 + 0x50000 + 0x300) -#define RK3588_B1PLL_CLKSEL_CON(i) ((i) * 0x4 + 0x52000 + 0x300) -#define RK3588_LPLL_CLKSEL_CON(i) ((i) * 0x4 + 0x58000 + 0x300) -#define RK3588_CORE_DIV_MASK 0x1f -#define RK3588_CORE_L02_DIV_SHIFT 0 -#define RK3588_CORE_L13_DIV_SHIFT 7 -#define RK3588_CORE_B02_DIV_SHIFT 8 -#define RK3588_CORE_B13_DIV_SHIFT 0 - -static struct rk_pll_rate_table auto_table; - -static int gcd(int m, int n) -{ - while (m > 0) - { - if (n > m) - { - int t = m; - m = n; - n = t; - } - m -= n; - } - - return n; -} - -/* - * rational_best_approximation(31415, 10000, - * (1 << 8) - 1, (1 << 5) - 1, &n, &d); - * - * you may look at given_numerator as a fixed point number, - * with the fractional part size described in given_denominator. - * - * for theoretical background, see: - * http://en.wikipedia.org/wiki/Continued_fraction - */ -void rational_best_approximation(rt_ubase_t given_numerator, - rt_ubase_t given_denominator, - rt_ubase_t max_numerator, - rt_ubase_t max_denominator, - rt_ubase_t *best_numerator, - rt_ubase_t *best_denominator) -{ - rt_ubase_t n, d, n0, d0, n1, d1; - - n = given_numerator; - d = given_denominator; - n0 = 0; - d1 = 0; - n1 = 1; - d0 = 1; - - for (;;) - { - rt_ubase_t t, a; - - if (n1 > max_numerator || d1 > max_denominator) - { - n1 = n0; - d1 = d0; - break; - } - if (d == 0) - { - break; - } - t = d; - a = n / d; - d = n % d; - n = t; - t = n0 + a * n1; - n0 = n1; - n1 = t; - t = d0 + a * d1; - d0 = d1; - d1 = t; - } - *best_numerator = n1; - *best_denominator = d1; -} - -/* - * How to calculate the PLL(from TRM V0.3 Part 1 Page 63): - * Formulas also embedded within the Fractional PLL Verilog model: - * If DSMPD = 1 (DSM is disabled, "integer mode") - * FOUTVCO = FREF / REFDIV * FBDIV - * FOUTPOSTDIV = FOUTVCO / POSTDIV1 / POSTDIV2 - * Where: - * FOUTVCO = Fractional PLL non-divided output frequency - * FOUTPOSTDIV = Fractional PLL divided output frequency - * (output of second post divider) - * FREF = Fractional PLL input reference frequency, (the OSC_HZ 24MHz input) - * REFDIV = Fractional PLL input reference clock divider - * FBDIV = Integer value programmed into feedback divide - */ - -static int rk_pll_clk_set_postdiv(rt_ubase_t fout_hz, rt_uint32_t *postdiv1, - rt_uint32_t *postdiv2, rt_uint32_t *foutvco) -{ - rt_ubase_t freq; - - if (fout_hz < MIN_FOUTVCO_FREQ) - { - for (*postdiv1 = 1; *postdiv1 <= 7; ++(*postdiv1)) - { - for (*postdiv2 = 1; *postdiv2 <= 7; ++(*postdiv2)) - { - freq = fout_hz * (*postdiv1) * (*postdiv2); - if (freq >= MIN_FOUTVCO_FREQ && freq <= MAX_FOUTVCO_FREQ) - { - *foutvco = freq; - return 0; - } - } - } - } - else - { - *postdiv1 = 1; - *postdiv2 = 1; - } - return 0; -} - -static struct rk_pll_rate_table *rk_pll_clk_set_by_auto(rt_ubase_t fin_hz, rt_ubase_t fout_hz) -{ - struct rk_pll_rate_table *rate_table = &auto_table; - rt_uint32_t foutvco = fout_hz; - rt_ubase_t fin_64, frac_64; - rt_uint32_t f_frac, postdiv1, postdiv2; - rt_ubase_t clk_gcd = 0; - - if (fin_hz == 0 || fout_hz == 0 || fout_hz == fin_hz) - { - return RT_NULL; - } - - rk_pll_clk_set_postdiv(fout_hz, &postdiv1, &postdiv2, &foutvco); - rate_table->postdiv1 = postdiv1; - rate_table->postdiv2 = postdiv2; - rate_table->dsmpd = 1; - - if (fin_hz / MHZ * MHZ == fin_hz && fout_hz / MHZ * MHZ == fout_hz) - { - fin_hz /= MHZ; - foutvco /= MHZ; - clk_gcd = gcd(fin_hz, foutvco); - rate_table->refdiv = fin_hz / clk_gcd; - rate_table->fbdiv = foutvco / clk_gcd; - - rate_table->frac = 0; - } - else - { - clk_gcd = gcd(fin_hz / MHZ, foutvco / MHZ); - rate_table->refdiv = fin_hz / MHZ / clk_gcd; - rate_table->fbdiv = foutvco / MHZ / clk_gcd; - - rate_table->frac = 0; - - f_frac = (foutvco % MHZ); - fin_64 = fin_hz; - fin_64 = fin_64 / rate_table->refdiv; - frac_64 = f_frac << 24; - frac_64 = frac_64 / fin_64; - rate_table->frac = frac_64; - - if (rate_table->frac > 0) - { - rate_table->dsmpd = 0; - } - } - return rate_table; -} - -static struct rk_pll_rate_table * -rk3588_pll_clk_set_by_auto(rt_ubase_t fin_hz, - rt_ubase_t fout_hz) -{ - struct rk_pll_rate_table *rate_table = &auto_table; - rt_uint32_t p, m, s; - rt_ubase_t fvco, fref, fout, ffrac; - - if (fin_hz == 0 || fout_hz == 0 || fout_hz == fin_hz) - return NULL; - - if (fout_hz > RK3588_FOUT_MAX_HZ || fout_hz < RK3588_FOUT_MIN_HZ) - return NULL; - - if (fin_hz / MHZ * MHZ == fin_hz && fout_hz / MHZ * MHZ == fout_hz) - { - for (s = 0; s <= 6; s++) - { - fvco = fout_hz << s; - if (fvco < RK3588_VCO_MIN_HZ || - fvco > RK3588_VCO_MAX_HZ) - continue; - for (p = 2; p <= 4; p++) - { - for (m = 64; m <= 1023; m++) - { - if (fvco == m * fin_hz / p) - { - rate_table->p = p; - rate_table->m = m; - rate_table->s = s; - rate_table->k = 0; - return rate_table; - } - } - } - } - LOG_E("CANNOT FIND Fout by auto,fout = %lu\n", fout_hz); - } else { - for (s = 0; s <= 6; s++) - { - fvco = fout_hz << s; - if (fvco < RK3588_VCO_MIN_HZ || - fvco > RK3588_VCO_MAX_HZ) - continue; - for (p = 1; p <= 4; p++) - { - for (m = 64; m <= 1023; m++) - { - if ((fvco >= m * fin_hz / p) && (fvco < (m + 1) * fin_hz / p)) - { - rate_table->p = p; - rate_table->m = m; - rate_table->s = s; - fref = fin_hz / p; - ffrac = fvco - (m * fref); - fout = ffrac * 65536; - rate_table->k = fout / fref; - return rate_table; - } - } - } - } - LOG_E("CANNOT FIND Fout by auto,fout = %lu\n", fout_hz); - } - return NULL; -} - -static const struct rk_pll_rate_table *rk_get_pll_settings(struct rk_pll_clock *pll, rt_ubase_t rate) -{ - struct rk_pll_rate_table *rate_table = pll->rate_table; - - while (rate_table->rate) - { - if (rate_table->rate == rate) - { - break; - } - ++rate_table; - } - - if (rate_table->rate != rate) - { - if (pll->type == pll_rk3588) - return rk3588_pll_clk_set_by_auto(24 * MHZ, rate); - else - return rk_pll_clk_set_by_auto(24 * MHZ, rate); - } - else - { - return rate_table; - } -} - -static int rk3036_pll_set_rate(struct rk_pll_clock *pll, void *base, rt_ubase_t pll_id, rt_ubase_t drate) -{ - const struct rk_pll_rate_table *rate; - - rate = rk_get_pll_settings(pll, drate); - - if (!rate) - { - return -RT_ERROR; - } - - /* - * When power on or changing PLL setting, we must force PLL into slow mode - * to ensure output stable clock. - */ - rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_SLOW << pll->mode_shift); - - /* Power down */ - rk_setreg(base + pll->con_offset + 0x4, 1 << RK3036_PLLCON1_PWRDOWN_SHIT); - - rk_clrsetreg(base + pll->con_offset, (RK3036_PLLCON0_POSTDIV1_MASK | RK3036_PLLCON0_FBDIV_MASK), - (rate->postdiv1 << RK3036_PLLCON0_POSTDIV1_SHIFT) |rate->fbdiv); - rk_clrsetreg(base + pll->con_offset + 0x4, (RK3036_PLLCON1_POSTDIV2_MASK | RK3036_PLLCON1_REFDIV_MASK), - (rate->postdiv2 << RK3036_PLLCON1_POSTDIV2_SHIFT | rate->refdiv << RK3036_PLLCON1_REFDIV_SHIFT)); - - if (!rate->dsmpd) - { - rt_uint32_t val; - - rk_clrsetreg(base + pll->con_offset + 0x4, RK3036_PLLCON1_DSMPD_MASK, - rate->dsmpd << RK3036_PLLCON1_DSMPD_SHIFT); - - val = HWREG32(base + pll->con_offset + 0x8) & (~RK3036_PLLCON2_FRAC_MASK); - HWREG32(base + pll->con_offset + 0x8) = val | (rate->frac << RK3036_PLLCON2_FRAC_SHIFT); - } - - /* Power Up */ - rk_clrreg(base + pll->con_offset + 0x4, 1 << RK3036_PLLCON1_PWRDOWN_SHIT); - - /* Waiting for pll lock */ - while (!(HWREG32(base + pll->con_offset + 0x4) & (1 << pll->lock_shift))) - { - } - - rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, RKCLK_PLL_MODE_NORMAL << pll->mode_shift); - - return 0; -} - -static rt_ubase_t rk3036_pll_get_rate(struct rk_pll_clock *pll, void *base, rt_ubase_t pll_id) -{ - rt_uint32_t refdiv, fbdiv, postdiv1, postdiv2, dsmpd, frac; - rt_uint32_t con = 0, shift, mask; - rt_ubase_t rate; - - pll->mode_mask = PLL_MODE_MASK; - - con = HWREG32(base + pll->mode_offset); - shift = pll->mode_shift; - mask = pll->mode_mask << shift; - - switch ((con & mask) >> shift) - { - case RKCLK_PLL_MODE_SLOW: - return OSC_HZ; - case RKCLK_PLL_MODE_NORMAL: - /* normal mode */ - con = HWREG32(base + pll->con_offset); - postdiv1 = (con & RK3036_PLLCON0_POSTDIV1_MASK) >> RK3036_PLLCON0_POSTDIV1_SHIFT; - fbdiv = (con & RK3036_PLLCON0_FBDIV_MASK) >> RK3036_PLLCON0_FBDIV_SHIFT; - con = HWREG32(base + pll->con_offset + 0x4); - postdiv2 = (con & RK3036_PLLCON1_POSTDIV2_MASK) >> RK3036_PLLCON1_POSTDIV2_SHIFT; - refdiv = (con & RK3036_PLLCON1_REFDIV_MASK) >> RK3036_PLLCON1_REFDIV_SHIFT; - dsmpd = (con & RK3036_PLLCON1_DSMPD_MASK) >> RK3036_PLLCON1_DSMPD_SHIFT; - con = HWREG32(base + pll->con_offset + 0x8); - frac = (con & RK3036_PLLCON2_FRAC_MASK) >> RK3036_PLLCON2_FRAC_SHIFT; - rate = (24 * fbdiv / (refdiv * postdiv1 * postdiv2)) * 1000000; - - if (dsmpd == 0) - { - rt_uint64_t frac_rate = OSC_HZ * (rt_uint64_t)frac; - - rt_do_div(frac_rate, refdiv); - frac_rate >>= 24; - rt_do_div(frac_rate, postdiv1); - rt_do_div(frac_rate, postdiv1); - rate += frac_rate; - } - return rate; - case RKCLK_PLL_MODE_DEEP: - default: - return 32768; - } -} - -static int rk3588_pll_set_rate(struct rk_pll_clock *pll, - void *base, rt_ubase_t pll_id, - rt_ubase_t drate) -{ - const struct rk_pll_rate_table *rate; - - rate = rk_get_pll_settings(pll, drate); - if (!rate) - { - LOG_D("%s unsupported rate\n", __func__); - return -RT_EINVAL; - } - - LOG_D("%s: rate settings for %lu p: %d, m: %d, s: %d, k: %d\n", - __func__, rate->rate, rate->p, rate->m, rate->s, rate->k); - - /* - * When power on or changing PLL setting, - * we must force PLL into slow mode to ensure output stable clock. - */ - if (pll_id == 3) - rk_clrsetreg(base + 0x84c, 0x1 << 1, 0x1 << 1); - - rk_clrsetreg(base + pll->mode_offset, - pll->mode_mask << pll->mode_shift, - RKCLK_PLL_MODE_SLOW << pll->mode_shift); - if (pll_id == 0) - rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(0), - pll->mode_mask << 6, - RKCLK_PLL_MODE_SLOW << 6); - else if (pll_id == 1) - rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(0), - pll->mode_mask << 6, - RKCLK_PLL_MODE_SLOW << 6); - else if (pll_id == 2) - rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(5), - pll->mode_mask << 14, - RKCLK_PLL_MODE_SLOW << 14); - - /* Power down */ - rk_setreg(base + pll->con_offset + RK3588_PLLCON(1), - RK3588_PLLCON1_PWRDOWN); - - rk_clrsetreg(base + pll->con_offset, - RK3588_PLLCON0_M_MASK, - (rate->m << RK3588_PLLCON0_M_SHIFT)); - rk_clrsetreg(base + pll->con_offset + RK3588_PLLCON(1), - (RK3588_PLLCON1_P_MASK | - RK3588_PLLCON1_S_MASK), - (rate->p << RK3588_PLLCON1_P_SHIFT | - rate->s << RK3588_PLLCON1_S_SHIFT)); - if (rate->k) - { - rk_clrsetreg(base + pll->con_offset + RK3588_PLLCON(2), - RK3588_PLLCON2_K_MASK, - rate->k << RK3588_PLLCON2_K_SHIFT); - } - /* Power up */ - rk_clrreg(base + pll->con_offset + RK3588_PLLCON(1), - RK3588_PLLCON1_PWRDOWN); - - /* waiting for pll lock */ - while (!(HWREG32(base + pll->con_offset + RK3588_PLLCON(6)) & - RK3588_PLLCON6_LOCK_STATUS)) - { - } - - rk_clrsetreg(base + pll->mode_offset, pll->mode_mask << pll->mode_shift, - RKCLK_PLL_MODE_NORMAL << pll->mode_shift); - if (pll_id == 0) - { - rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(0), - pll->mode_mask << 6, - 2 << 6); - rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(0), - RK3588_CORE_DIV_MASK << RK3588_CORE_B02_DIV_SHIFT, - 0 << RK3588_CORE_B02_DIV_SHIFT); - rk_clrsetreg(base + RK3588_B0PLL_CLKSEL_CON(1), - RK3588_CORE_DIV_MASK << RK3588_CORE_B13_DIV_SHIFT, - 0 << RK3588_CORE_B13_DIV_SHIFT); - } else if (pll_id == 1) - { - rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(0), - pll->mode_mask << 6, - 2 << 6); - rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(0), - RK3588_CORE_DIV_MASK << RK3588_CORE_B02_DIV_SHIFT, - 0 << RK3588_CORE_B02_DIV_SHIFT); - rk_clrsetreg(base + RK3588_B1PLL_CLKSEL_CON(1), - RK3588_CORE_DIV_MASK << RK3588_CORE_B13_DIV_SHIFT, - 0 << RK3588_CORE_B13_DIV_SHIFT); - } else if (pll_id == 2) - { - rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(5), - pll->mode_mask << 14, - 2 << 14); - rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(6), - RK3588_CORE_DIV_MASK << RK3588_CORE_L13_DIV_SHIFT, - 0 << RK3588_CORE_L13_DIV_SHIFT); - rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(6), - RK3588_CORE_DIV_MASK << RK3588_CORE_L02_DIV_SHIFT, - 0 << RK3588_CORE_L02_DIV_SHIFT); - rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(7), - RK3588_CORE_DIV_MASK << RK3588_CORE_L13_DIV_SHIFT, - 0 << RK3588_CORE_L13_DIV_SHIFT); - rk_clrsetreg(base + RK3588_LPLL_CLKSEL_CON(7), - RK3588_CORE_DIV_MASK << RK3588_CORE_L02_DIV_SHIFT, - 0 << RK3588_CORE_L02_DIV_SHIFT); - } - - if (pll_id == 3) - rk_clrsetreg(base + 0x84c, 0x1 << 1, 0); - - LOG_D("PLL at %p: con0=%x con1= %x con2= %x mode= %x\n", - pll, HWREG32(base + pll->con_offset), - HWREG32(base + pll->con_offset + 0x4), - HWREG32(base + pll->con_offset + 0x8), - HWREG32(base + pll->mode_offset)); - - return 0; -} - -static rt_ubase_t rk3588_pll_get_rate(struct rk_pll_clock *pll, - void *base, rt_ubase_t pll_id) -{ - rt_uint32_t m, p, s, k; - rt_uint32_t con = 0, shift, mode; - rt_uint64_t rate, postdiv; - - con = HWREG32(base + pll->mode_offset); - shift = pll->mode_shift; - if (pll_id == 8) - mode = RKCLK_PLL_MODE_NORMAL; - else - mode = (con & (pll->mode_mask << shift)) >> shift; - switch (mode) - { - case RKCLK_PLL_MODE_SLOW: - return OSC_HZ; - case RKCLK_PLL_MODE_NORMAL: - /* normal mode */ - con = HWREG32(base + pll->con_offset); - m = (con & RK3588_PLLCON0_M_MASK) >> - RK3588_PLLCON0_M_SHIFT; - con = HWREG32(base + pll->con_offset + RK3588_PLLCON(1)); - p = (con & RK3588_PLLCON1_P_MASK) >> - RK3036_PLLCON0_FBDIV_SHIFT; - s = (con & RK3588_PLLCON1_S_MASK) >> - RK3588_PLLCON1_S_SHIFT; - con = HWREG32(base + pll->con_offset + RK3588_PLLCON(2)); - k = (con & RK3588_PLLCON2_K_MASK) >> - RK3588_PLLCON2_K_SHIFT; - - rate = OSC_HZ / p; - rate *= m; - if (k) - { - /* fractional mode */ - rt_uint64_t frac_rate64 = OSC_HZ * k; - - postdiv = p * 65536; - rt_do_div(frac_rate64, postdiv); - rate += frac_rate64; - } - rate = rate >> s; - return rate; - case RKCLK_PLL_MODE_DEEP: - default: - return 32768; - } -} - -rt_ubase_t rk_pll_get_rate(struct rk_pll_clock *pll, - void *base, - rt_ubase_t pll_id) -{ - rt_ubase_t rate = 0; - - switch (pll->type) - { - case pll_rk3036: - pll->mode_mask = PLL_MODE_MASK; - rate = rk3036_pll_get_rate(pll, base, pll_id); - break; - case pll_rk3328: - pll->mode_mask = PLL_RK3328_MODE_MASK; - rate = rk3036_pll_get_rate(pll, base, pll_id); - break; - case pll_rk3588: - pll->mode_mask = PLL_MODE_MASK; - rate = rk3588_pll_get_rate(pll, base, pll_id); - break; - default: - LOG_D("%s: Unknown pll type for pll clk %ld\n", - __func__, pll_id); - } - return rate; -} - -int rk_pll_set_rate(struct rk_pll_clock *pll, - void *base, rt_ubase_t pll_id, - rt_ubase_t drate) -{ - int ret = 0; - - if (rk_pll_get_rate(pll, base, pll_id) == drate) - return 0; - - switch (pll->type) - { - case pll_rk3036: - pll->mode_mask = PLL_MODE_MASK; - ret = rk3036_pll_set_rate(pll, base, pll_id, drate); - break; - case pll_rk3328: - pll->mode_mask = PLL_RK3328_MODE_MASK; - ret = rk3036_pll_set_rate(pll, base, pll_id, drate); - break; - case pll_rk3588: - pll->mode_mask = PLL_MODE_MASK; - ret = rk3588_pll_set_rate(pll, base, pll_id, drate); - break; - default: - LOG_D("%s: Unknown pll type for pll clk %ld\n", - __func__, pll_id); - } - return ret; -} - -const struct rk_cpu_rate_table *rk_get_cpu_settings(struct rk_cpu_rate_table *cpu_table, rt_ubase_t rate) -{ - struct rk_cpu_rate_table *ps = cpu_table; - - while (ps->rate) - { - if (ps->rate == rate) - { - break; - } - ++ps; - } - if (ps->rate != rate) - { - return RT_NULL; - } - else - { - return ps; - } -} - -rt_base_t rk_clk_pll_round_rate(const struct rk_pll_rate_table *pll_rates, - rt_size_t rate_count, rt_ubase_t drate, rt_ubase_t *prate) -{ - int i; - - /* Assumming rate_table is in descending order */ - for (i = 0; i < rate_count; i++) - { - if (drate >= pll_rates[i].rate) - { - return pll_rates[i].rate; - } - } - - /* return minimum supported value */ - return pll_rates[i - 1].rate; -} - -void rk_clk_set_default_rates(struct rt_clk *clk, - rt_err_t (*clk_set_rate)(struct rt_clk *, rt_ubase_t, rt_ubase_t), int id) -{ - rt_uint32_t rate; - struct rt_ofw_cell_args clk_args; - struct rt_ofw_node *np = clk->fw_node; - const char *rate_propname = "assigned-clock-rates"; - - if (!rt_ofw_prop_read_bool(np, rate_propname)) - { - return; - } - - for (int i = 0; ; ++i) - { - if (rt_ofw_parse_phandle_cells(np, "assigned-clocks", "#clock-cells", i, &clk_args)) - { - break; - } - - rt_ofw_node_put(clk_args.data); - - if (clk_args.args[0] != id) - { - continue; - } - - if (!rt_ofw_prop_read_u32_index(np, rate_propname, i, &rate)) - { - clk_set_rate(clk, rate, 0); - } - - break; - } -} diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3568.c b/bsp/rockchip/rk3566/driver/clk/clk-rk3568.c deleted file mode 100644 index 4672e897609..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-rk3568.c +++ /dev/null @@ -1,4791 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ - -#include "clk-rk3568.h" - -#define DBG_TAG "clk.rk3568" -#define DBG_LVL DBG_INFO -#include - -#include "rk3568-cru.h" - -#define APLL_HZ (816 * MHZ) -#define GPLL_HZ (1188 * MHZ) -#define CPLL_HZ (1000 * MHZ) -#define PPLL_HZ (100 * MHZ) - -struct rk_pll -{ - rt_uint32_t con0; - rt_uint32_t con1; - rt_uint32_t con2; - rt_uint32_t con3; - rt_uint32_t con4; - rt_uint32_t reserved0[3]; -}; - -struct rk_pmucru -{ - struct rk_pll pll[2]; - rt_uint32_t reserved0[16]; - rt_uint32_t mode_con00; - rt_uint32_t reserved1[31]; - rt_uint32_t pmu_clksel_con[10]; - rt_uint32_t reserved2[22]; - rt_uint32_t pmu_clkgate_con[3]; - rt_uint32_t reserved3[29]; - rt_uint32_t pmu_softrst_con[1]; -}; - -struct rk_cru -{ - struct rk_pll pll[6]; - rt_uint32_t mode_con00; - rt_uint32_t misc_con[3]; - rt_uint32_t glb_cnt_th; - rt_uint32_t glb_srst_fst; - rt_uint32_t glb_srsr_snd; - rt_uint32_t glb_rst_con; - rt_uint32_t glb_rst_st; - rt_uint32_t reserved0[7]; - rt_uint32_t clksel_con[85]; - rt_uint32_t reserved1[43]; - rt_uint32_t clkgate_con[36]; - rt_uint32_t reserved2[28]; - rt_uint32_t softrst_con[30]; - rt_uint32_t reserved3[2]; - rt_uint32_t ssgtbl[32]; - rt_uint32_t reserved4[32]; - rt_uint32_t sdmmc0_con[2]; - rt_uint32_t sdmmc1_con[2]; - rt_uint32_t sdmmc2_con[2]; - rt_uint32_t emmc_con[2]; -}; - -struct rk_pmuclk_priv -{ - struct rk_pmucru *pmucru; - rt_ubase_t ppll_hz; - rt_ubase_t hpll_hz; -}; - -struct rk_clk_priv -{ - struct rk_cru *cru; - rt_ubase_t ppll_hz; - rt_ubase_t hpll_hz; - rt_ubase_t gpll_hz; - rt_ubase_t cpll_hz; - rt_ubase_t npll_hz; - rt_ubase_t vpll_hz; - rt_ubase_t armclk_hz; - rt_ubase_t armclk_enter_hz; - rt_ubase_t armclk_init_hz; - rt_bool_t sync_kernel; - rt_bool_t set_armclk_rate; -}; - -struct rk_clk_platform_data -{ - rt_uint32_t id; - void *base; -}; - -enum rk_clk_type -{ - rk_clk_type_clk, - rk_clk_type_pmuclk, -}; - -struct rt_reset_controller_clk_node -{ - struct rt_clk_node parent; - - struct rt_reset_controller rstcer; -}; - -struct rk_clk -{ - struct rt_reset_controller_clk_node parent; - - void *base; - enum rk_clk_type type; - - union - { - struct rk_clk_priv clk_info; - struct rk_pmuclk_priv pmuclk_info; - }; - - struct rk_clk_platform_data pdata[]; -}; - -#define raw_to_rk_clk(raw) rt_container_of(raw, struct rk_clk, parent) - -#define PMU_MODE 0x80 -#define PMU_PLL_CON(x) ((x) * 0x4) -#define PLL_CON(x) ((x) * 0x4) -#define MODE_CON 0xc0 - -enum pmu_plls -{ - ppll, hpll, -}; - -enum plls -{ - apll, dpll, gpll, cpll, npll, vpll, -}; - -enum -{ - /* CRU_PMU_CLK_SEL0_CON */ - RTC32K_SEL_SHIFT = 6, - RTC32K_SEL_MASK = 0x3 << RTC32K_SEL_SHIFT, - RTC32K_SEL_PMUPVTM = 0, - RTC32K_SEL_OSC1_32K, - RTC32K_SEL_OSC0_DIV32K, - - /* CRU_PMU_CLK_SEL1_CON */ - RTC32K_FRAC_NUMERATOR_SHIFT = 16, - RTC32K_FRAC_NUMERATOR_MASK = 0xffff << 16, - RTC32K_FRAC_DENOMINATOR_SHIFT = 0, - RTC32K_FRAC_DENOMINATOR_MASK = 0xffff, - - /* CRU_PMU_CLK_SEL2_CON */ - PCLK_PDPMU_SEL_SHIFT = 15, - PCLK_PDPMU_SEL_MASK = 1 << PCLK_PDPMU_SEL_SHIFT, - PCLK_PDPMU_SEL_PPLL = 0, - PCLK_PDPMU_SEL_GPLL, - PCLK_PDPMU_DIV_SHIFT = 0, - PCLK_PDPMU_DIV_MASK = 0x1f, - - /* CRU_PMU_CLK_SEL3_CON */ - CLK_I2C0_DIV_SHIFT = 0, - CLK_I2C0_DIV_MASK = 0x7f, - - /* PMUCRU_PMUCLKSEL_CON04 */ - CLK_UART0_SEL_SHIFT = 10, - CLK_UART0_SEL_MASK = 0x3 << CLK_UART0_SEL_SHIFT, - CLK_UART0_SEL_DIV = 0, - CLK_UART0_SEL_FRACDIV, - CLK_UART0_SEL_XIN24M, - CLK_UART0_DIV_SEL_SHIFT = 8, - CLK_UART0_DIV_SEL_MASK = 0x3 << CLK_UART0_DIV_SEL_SHIFT, - CLK_UART0_SRC_SEL_PPLL = 0, - CLK_UART0_SRC_SEL_480M, - CLK_UART0_SRC_SEL_CPLL, - CLK_UART0_SRC_SEL_GPLL, - CLK_UART0_DIV_DIV_SHIFT = 0, - CLK_UART0_DIV_DIV_MASK = 0x3f << CLK_UART0_DIV_DIV_SHIFT, - - /* PMUCRU_PMUCLKSEL_CON05 */ - CLK_UART0_FRAC_NUMERATOR_SHIFT = 16, - CLK_UART0_FRAC_NUMERATOR_MASK = 0xffff << 16, - CLK_UART0_FRAC_DENOMINATOR_SHIFT= 0, - CLK_UART0_FRAC_DENOMINATOR_MASK = 0xffff, - - /* PMUCRU_PMUCLKSEL_CON09 */ - CLK_PCIE_PHY2_REF_SEL_SHIFT = 11, - CLK_PCIE_PHY2_REF_SEL_MASK = 1 << CLK_PCIE_PHY2_REF_SEL_SHIFT, - CLK_PCIE_PHY1_REF_SEL_SHIFT = 7, - CLK_PCIE_PHY1_REF_SEL_MASK = 1 << CLK_PCIE_PHY1_REF_SEL_SHIFT, - CLK_PCIE_PHY0_REF_SEL_SHIFT = 3, - CLK_PCIE_PHY0_REF_SEL_MASK = 1 << CLK_PCIE_PHY0_REF_SEL_SHIFT, - CLK_PCIE_PHY_REF_SEL_24M = 0, - CLK_PCIE_PHY_REF_SEL_PPLL, - CLK_PCIE_PHY2_PLL_DIV_SHIFT = 8, - CLK_PCIE_PHY2_PLL_DIV_MASK = 7 << CLK_PCIE_PHY2_PLL_DIV_SHIFT, - CLK_PCIE_PHY1_PLL_DIV_SHIFT = 4, - CLK_PCIE_PHY1_PLL_DIV_MASK = 7 << CLK_PCIE_PHY1_PLL_DIV_SHIFT, - CLK_PCIE_PHY0_PLL_DIV_SHIFT = 0, - CLK_PCIE_PHY0_PLL_DIV_MASK = 7 << CLK_PCIE_PHY0_PLL_DIV_SHIFT, - - /* CRU_PMU_CLK_SEL6_CON */ - CLK_PWM0_SEL_SHIFT = 7, - CLK_PWM0_SEL_MASK = 1 << CLK_PWM0_SEL_SHIFT, - CLK_PWM0_SEL_XIN24M = 0, - CLK_PWM0_SEL_PPLL, - CLK_PWM0_DIV_SHIFT = 0, - CLK_PWM0_DIV_MASK = 0x7f, - - /* CRU_CLK_SEL0_CON */ - CLK_CORE_PRE_SEL_SHIFT = 7, - CLK_CORE_PRE_SEL_MASK = 1 << CLK_CORE_PRE_SEL_SHIFT, - CLK_CORE_PRE_SEL_SRC = 0, - CLK_CORE_PRE_SEL_APLL, - - /* CRU_CLK_SEL2_CON */ - SCLK_CORE_PRE_SEL_SHIFT = 15, - SCLK_CORE_PRE_SEL_MASK = 1 << SCLK_CORE_PRE_SEL_SHIFT, - SCLK_CORE_PRE_SEL_SRC = 0, - SCLK_CORE_PRE_SEL_NPLL, - SCLK_CORE_SRC_SEL_SHIFT = 8, - SCLK_CORE_SRC_SEL_MASK = 3 << SCLK_CORE_SRC_SEL_SHIFT, - SCLK_CORE_SRC_SEL_APLL = 0, - SCLK_CORE_SRC_SEL_GPLL, - SCLK_CORE_SRC_SEL_NPLL, - SCLK_CORE_SRC_DIV_SHIFT = 0, - SCLK_CORE_SRC_DIV_MASK = 0x1f << SCLK_CORE_SRC_DIV_SHIFT, - - /* CRU_CLK_SEL3_CON */ - GICCLK_CORE_DIV_SHIFT = 8, - GICCLK_CORE_DIV_MASK = 0x1f << GICCLK_CORE_DIV_SHIFT, - ATCLK_CORE_DIV_SHIFT = 0, - ATCLK_CORE_DIV_MASK = 0x1f << ATCLK_CORE_DIV_SHIFT, - - /* CRU_CLK_SEL4_CON */ - PERIPHCLK_CORE_PRE_DIV_SHIFT = 8, - PERIPHCLK_CORE_PRE_DIV_MASK = 0x1f << PERIPHCLK_CORE_PRE_DIV_SHIFT, - PCLK_CORE_PRE_DIV_SHIFT = 0, - PCLK_CORE_PRE_DIV_MASK = 0x1f << PCLK_CORE_PRE_DIV_SHIFT, - - /* CRU_CLK_SEL5_CON */ - ACLK_CORE_NIU2BUS_SEL_SHIFT = 14, - ACLK_CORE_NIU2BUS_SEL_MASK = 0x3 << ACLK_CORE_NIU2BUS_SEL_SHIFT, - ACLK_CORE_NDFT_DIV_SHIFT = 8, - ACLK_CORE_NDFT_DIV_MASK = 0x1f << ACLK_CORE_NDFT_DIV_SHIFT, - - /* CRU_CLK_SEL10_CON */ - HCLK_PERIMID_SEL_SHIFT = 6, - HCLK_PERIMID_SEL_MASK = 3 << HCLK_PERIMID_SEL_SHIFT, - HCLK_PERIMID_SEL_150M = 0, - HCLK_PERIMID_SEL_100M, - HCLK_PERIMID_SEL_75M, - HCLK_PERIMID_SEL_24M, - ACLK_PERIMID_SEL_SHIFT = 4, - ACLK_PERIMID_SEL_MASK = 3 << ACLK_PERIMID_SEL_SHIFT, - ACLK_PERIMID_SEL_300M = 0, - ACLK_PERIMID_SEL_200M, - ACLK_PERIMID_SEL_100M, - ACLK_PERIMID_SEL_24M, - - /* CRU_CLK_SEL27_CON */ - CLK_CRYPTO_PKA_SEL_SHIFT = 6, - CLK_CRYPTO_PKA_SEL_MASK = 3 << CLK_CRYPTO_PKA_SEL_SHIFT, - CLK_CRYPTO_PKA_SEL_300M = 0, - CLK_CRYPTO_PKA_SEL_200M, - CLK_CRYPTO_PKA_SEL_100M, - CLK_CRYPTO_CORE_SEL_SHIFT = 4, - CLK_CRYPTO_CORE_SEL_MASK = 3 << CLK_CRYPTO_CORE_SEL_SHIFT, - CLK_CRYPTO_CORE_SEL_200M = 0, - CLK_CRYPTO_CORE_SEL_150M, - CLK_CRYPTO_CORE_SEL_100M, - HCLK_SECURE_FLASH_SEL_SHIFT = 2, - HCLK_SECURE_FLASH_SEL_MASK = 3 << HCLK_SECURE_FLASH_SEL_SHIFT, - HCLK_SECURE_FLASH_SEL_150M = 0, - HCLK_SECURE_FLASH_SEL_100M, - HCLK_SECURE_FLASH_SEL_75M, - HCLK_SECURE_FLASH_SEL_24M, - ACLK_SECURE_FLASH_SEL_SHIFT = 0, - ACLK_SECURE_FLASH_SEL_MASK = 3 << ACLK_SECURE_FLASH_SEL_SHIFT, - ACLK_SECURE_FLASH_SEL_200M = 0, - ACLK_SECURE_FLASH_SEL_150M, - ACLK_SECURE_FLASH_SEL_100M, - ACLK_SECURE_FLASH_SEL_24M, - - /* CRU_CLK_SEL28_CON */ - CCLK_EMMC_SEL_SHIFT = 12, - CCLK_EMMC_SEL_MASK = 7 << CCLK_EMMC_SEL_SHIFT, - CCLK_EMMC_SEL_24M = 0, - CCLK_EMMC_SEL_200M, - CCLK_EMMC_SEL_150M, - CCLK_EMMC_SEL_100M, - CCLK_EMMC_SEL_50M, - CCLK_EMMC_SEL_375K, - BCLK_EMMC_SEL_SHIFT = 8, - BCLK_EMMC_SEL_MASK = 3 << BCLK_EMMC_SEL_SHIFT, - BCLK_EMMC_SEL_200M = 0, - BCLK_EMMC_SEL_150M, - BCLK_EMMC_SEL_125M, - SCLK_SFC_SEL_SHIFT = 4, - SCLK_SFC_SEL_MASK = 7 << SCLK_SFC_SEL_SHIFT, - SCLK_SFC_SEL_24M = 0, - SCLK_SFC_SEL_50M, - SCLK_SFC_SEL_75M, - SCLK_SFC_SEL_100M, - SCLK_SFC_SEL_125M, - SCLK_SFC_SEL_150M, - NCLK_NANDC_SEL_SHIFT = 0, - NCLK_NANDC_SEL_MASK = 3 << NCLK_NANDC_SEL_SHIFT, - NCLK_NANDC_SEL_200M = 0, - NCLK_NANDC_SEL_150M, - NCLK_NANDC_SEL_100M, - NCLK_NANDC_SEL_24M, - - /* CRU_CLK_SEL30_CON */ - CLK_SDMMC1_SEL_SHIFT = 12, - CLK_SDMMC1_SEL_MASK = 7 << CLK_SDMMC1_SEL_SHIFT, - CLK_SDMMC0_SEL_SHIFT = 8, - CLK_SDMMC0_SEL_MASK = 7 << CLK_SDMMC0_SEL_SHIFT, - CLK_SDMMC_SEL_24M = 0, - CLK_SDMMC_SEL_400M, - CLK_SDMMC_SEL_300M, - CLK_SDMMC_SEL_100M, - CLK_SDMMC_SEL_50M, - CLK_SDMMC_SEL_750K, - - /* CRU_CLK_SEL31_CON */ - CLK_MAC0_OUT_SEL_SHIFT = 14, - CLK_MAC0_OUT_SEL_MASK = 3 << CLK_MAC0_OUT_SEL_SHIFT, - CLK_MAC0_OUT_SEL_125M = 0, - CLK_MAC0_OUT_SEL_50M, - CLK_MAC0_OUT_SEL_25M, - CLK_MAC0_OUT_SEL_24M, - CLK_GMAC0_PTP_REF_SEL_SHIFT = 12, - CLK_GMAC0_PTP_REF_SEL_MASK = 3 << CLK_GMAC0_PTP_REF_SEL_SHIFT, - CLK_GMAC0_PTP_REF_SEL_62_5M = 0, - CLK_GMAC0_PTP_REF_SEL_100M, - CLK_GMAC0_PTP_REF_SEL_50M, - CLK_GMAC0_PTP_REF_SEL_24M, - CLK_MAC0_2TOP_SEL_SHIFT = 8, - CLK_MAC0_2TOP_SEL_MASK = 3 << CLK_MAC0_2TOP_SEL_SHIFT, - CLK_MAC0_2TOP_SEL_125M = 0, - CLK_MAC0_2TOP_SEL_50M, - CLK_MAC0_2TOP_SEL_25M, - CLK_MAC0_2TOP_SEL_PPLL, - RGMII0_CLK_SEL_SHIFT = 4, - RGMII0_CLK_SEL_MASK = 3 << RGMII0_CLK_SEL_SHIFT, - RGMII0_CLK_SEL_125M = 0, - RGMII0_CLK_SEL_125M_1, - RGMII0_CLK_SEL_2_5M, - RGMII0_CLK_SEL_25M, - RMII0_CLK_SEL_SHIFT = 3, - RMII0_CLK_SEL_MASK = 1 << RMII0_CLK_SEL_SHIFT, - RMII0_CLK_SEL_2_5M = 0, - RMII0_CLK_SEL_25M, - RMII0_EXTCLK_SEL_SHIFT = 2, - RMII0_EXTCLK_SEL_MASK = 1 << RMII0_EXTCLK_SEL_SHIFT, - RMII0_EXTCLK_SEL_MAC0_TOP = 0, - RMII0_EXTCLK_SEL_IO, - RMII0_MODE_SHIFT = 0, - RMII0_MODE_MASK = 3 << RMII0_MODE_SHIFT, - RMII0_MODE_SEL_RGMII = 0, - RMII0_MODE_SEL_RMII, - RMII0_MODE_SEL_GMII, - - /* CRU_CLK_SEL32_CON */ - CLK_SDMMC2_SEL_SHIFT = 8, - CLK_SDMMC2_SEL_MASK = 7 << CLK_SDMMC2_SEL_SHIFT, - - /* CRU_CLK_SEL38_CON */ - ACLK_VOP_PRE_SEL_SHIFT = 6, - ACLK_VOP_PRE_SEL_MASK = 3 << ACLK_VOP_PRE_SEL_SHIFT, - ACLK_VOP_PRE_SEL_CPLL = 0, - ACLK_VOP_PRE_SEL_GPLL, - ACLK_VOP_PRE_SEL_HPLL, - ACLK_VOP_PRE_SEL_VPLL, - ACLK_VOP_PRE_DIV_SHIFT = 0, - ACLK_VOP_PRE_DIV_MASK = 0x1f << ACLK_VOP_PRE_DIV_SHIFT, - - /* CRU_CLK_SEL39_CON */ - DCLK0_VOP_SEL_SHIFT = 10, - DCLK0_VOP_SEL_MASK = 3 << DCLK0_VOP_SEL_SHIFT, - DCLK_VOP_SEL_HPLL = 0, - DCLK_VOP_SEL_VPLL, - DCLK_VOP_SEL_GPLL, - DCLK_VOP_SEL_CPLL, - DCLK0_VOP_DIV_SHIFT = 0, - DCLK0_VOP_DIV_MASK = 0xff << DCLK0_VOP_DIV_SHIFT, - - /* CRU_CLK_SEL40_CON */ - DCLK1_VOP_SEL_SHIFT = 10, - DCLK1_VOP_SEL_MASK = 3 << DCLK1_VOP_SEL_SHIFT, - DCLK1_VOP_DIV_SHIFT = 0, - DCLK1_VOP_DIV_MASK = 0xff << DCLK1_VOP_DIV_SHIFT, - - /* CRU_CLK_SEL41_CON */ - DCLK2_VOP_SEL_SHIFT = 10, - DCLK2_VOP_SEL_MASK = 3 << DCLK2_VOP_SEL_SHIFT, - DCLK2_VOP_DIV_SHIFT = 0, - DCLK2_VOP_DIV_MASK = 0xff << DCLK2_VOP_DIV_SHIFT, - - /* CRU_CLK_SEL43_CON */ - DCLK_EBC_SEL_SHIFT = 6, - DCLK_EBC_SEL_MASK = 3 << DCLK_EBC_SEL_SHIFT, - DCLK_EBC_SEL_GPLL_400M = 0, - DCLK_EBC_SEL_CPLL_333M, - DCLK_EBC_SEL_GPLL_200M, - - /* CRU_CLK_SEL47_CON */ - ACLK_RKVDEC_SEL_SHIFT = 7, - ACLK_RKVDEC_SEL_MASK = 1 << ACLK_RKVDEC_SEL_SHIFT, - ACLK_RKVDEC_SEL_GPLL = 0, - ACLK_RKVDEC_SEL_CPLL, - ACLK_RKVDEC_DIV_SHIFT = 0, - ACLK_RKVDEC_DIV_MASK = 0x1f << ACLK_RKVDEC_DIV_SHIFT, - - /* CRU_CLK_SEL49_CON */ - CLK_RKVDEC_CORE_SEL_SHIFT = 14, - CLK_RKVDEC_CORE_SEL_MASK = 0x3 << CLK_RKVDEC_CORE_SEL_SHIFT, - CLK_RKVDEC_CORE_SEL_GPLL = 0, - CLK_RKVDEC_CORE_SEL_CPLL, - CLK_RKVDEC_CORE_SEL_NPLL, - CLK_RKVDEC_CORE_SEL_VPLL, - CLK_RKVDEC_CORE_DIV_SHIFT = 8, - CLK_RKVDEC_CORE_DIV_MASK = 0x1f << CLK_RKVDEC_CORE_DIV_SHIFT, - - /* CRU_CLK_SEL50_CON */ - PCLK_BUS_SEL_SHIFT = 4, - PCLK_BUS_SEL_MASK = 3 << PCLK_BUS_SEL_SHIFT, - PCLK_BUS_SEL_100M = 0, - PCLK_BUS_SEL_75M, - PCLK_BUS_SEL_50M, - PCLK_BUS_SEL_24M, - ACLK_BUS_SEL_SHIFT = 0, - ACLK_BUS_SEL_MASK = 3 << ACLK_BUS_SEL_SHIFT, - ACLK_BUS_SEL_200M = 0, - ACLK_BUS_SEL_150M, - ACLK_BUS_SEL_100M, - ACLK_BUS_SEL_24M, - - /* CRU_CLK_SEL51_CON */ - CLK_TSADC_DIV_SHIFT = 8, - CLK_TSADC_DIV_MASK = 0x7f << CLK_TSADC_DIV_SHIFT, - CLK_TSADC_TSEN_SEL_SHIFT = 4, - CLK_TSADC_TSEN_SEL_MASK = 0x3 << CLK_TSADC_TSEN_SEL_SHIFT, - CLK_TSADC_TSEN_SEL_24M = 0, - CLK_TSADC_TSEN_SEL_100M, - CLK_TSADC_TSEN_SEL_CPLL_100M, - CLK_TSADC_TSEN_DIV_SHIFT = 0, - CLK_TSADC_TSEN_DIV_MASK = 0x7 << CLK_TSADC_TSEN_DIV_SHIFT, - - /* CRU_CLK_SEL52_CON */ - CLK_UART_SEL_SHIFT = 12, - CLK_UART_SEL_MASK = 0x3 << CLK_UART_SEL_SHIFT, - CLK_UART_SEL_SRC = 0, - CLK_UART_SEL_FRAC, - CLK_UART_SEL_XIN24M, - CLK_UART_SRC_SEL_SHIFT = 8, - CLK_UART_SRC_SEL_MASK = 0x3 << CLK_UART_SRC_SEL_SHIFT, - CLK_UART_SRC_SEL_GPLL = 0, - CLK_UART_SRC_SEL_CPLL, - CLK_UART_SRC_SEL_480M, - CLK_UART_SRC_DIV_SHIFT = 0, - CLK_UART_SRC_DIV_MASK = 0x3f << CLK_UART_SRC_DIV_SHIFT, - - /* CRU_CLK_SEL53_CON */ - CLK_UART_FRAC_NUMERATOR_SHIFT = 16, - CLK_UART_FRAC_NUMERATOR_MASK = 0xffff << 16, - CLK_UART_FRAC_DENOMINATOR_SHIFT = 0, - CLK_UART_FRAC_DENOMINATOR_MASK = 0xffff, - - /* CRU_CLK_SEL71_CON */ - CLK_I2C_SEL_SHIFT = 8, - CLK_I2C_SEL_MASK = 3 << CLK_I2C_SEL_SHIFT, - CLK_I2C_SEL_200M = 0, - CLK_I2C_SEL_100M, - CLK_I2C_SEL_24M, - CLK_I2C_SEL_CPLL_100M, - - /* CRU_CLK_SEL72_CON */ - CLK_PWM3_SEL_SHIFT = 12, - CLK_PWM3_SEL_MASK = 3 << CLK_PWM3_SEL_SHIFT, - CLK_PWM2_SEL_SHIFT = 10, - CLK_PWM2_SEL_MASK = 3 << CLK_PWM2_SEL_SHIFT, - CLK_PWM1_SEL_SHIFT = 8, - CLK_PWM1_SEL_MASK = 3 << CLK_PWM1_SEL_SHIFT, - CLK_PWM_SEL_100M = 0, - CLK_PWM_SEL_24M, - CLK_PWM_SEL_CPLL_100M, - CLK_SPI3_SEL_SHIFT = 6, - CLK_SPI3_SEL_MASK = 3 << CLK_SPI3_SEL_SHIFT, - CLK_SPI2_SEL_SHIFT = 4, - CLK_SPI2_SEL_MASK = 3 << CLK_SPI2_SEL_SHIFT, - CLK_SPI1_SEL_SHIFT = 2, - CLK_SPI1_SEL_MASK = 3 << CLK_SPI1_SEL_SHIFT, - CLK_SPI0_SEL_SHIFT = 0, - CLK_SPI0_SEL_MASK = 3 << CLK_SPI0_SEL_SHIFT, - CLK_SPI_SEL_200M = 0, - CLK_SPI_SEL_24M, - CLK_SPI_SEL_CPLL_100M, - - /* CRU_CLK_SEL73_CON */ - PCLK_TOP_SEL_SHIFT = 12, - PCLK_TOP_SEL_MASK = 3 << PCLK_TOP_SEL_SHIFT, - PCLK_TOP_SEL_100M = 0, - PCLK_TOP_SEL_75M, - PCLK_TOP_SEL_50M, - PCLK_TOP_SEL_24M, - HCLK_TOP_SEL_SHIFT = 8, - HCLK_TOP_SEL_MASK = 3 << HCLK_TOP_SEL_SHIFT, - HCLK_TOP_SEL_150M = 0, - HCLK_TOP_SEL_100M, - HCLK_TOP_SEL_75M, - HCLK_TOP_SEL_24M, - ACLK_TOP_LOW_SEL_SHIFT = 4, - ACLK_TOP_LOW_SEL_MASK = 3 << ACLK_TOP_LOW_SEL_SHIFT, - ACLK_TOP_LOW_SEL_400M = 0, - ACLK_TOP_LOW_SEL_300M, - ACLK_TOP_LOW_SEL_200M, - ACLK_TOP_LOW_SEL_24M, - ACLK_TOP_HIGH_SEL_SHIFT = 0, - ACLK_TOP_HIGH_SEL_MASK = 3 << ACLK_TOP_HIGH_SEL_SHIFT, - ACLK_TOP_HIGH_SEL_500M = 0, - ACLK_TOP_HIGH_SEL_400M, - ACLK_TOP_HIGH_SEL_300M, - ACLK_TOP_HIGH_SEL_24M, - - /* CRU_CLK_SEL78_CON */ - CPLL_500M_DIV_SHIFT = 8, - CPLL_500M_DIV_MASK = 0x1f << CPLL_500M_DIV_SHIFT, - - /* CRU_CLK_SEL79_CON */ - CPLL_250M_DIV_SHIFT = 8, - CPLL_250M_DIV_MASK = 0x1f << CPLL_250M_DIV_SHIFT, - CPLL_333M_DIV_SHIFT = 0, - CPLL_333M_DIV_MASK = 0x1f << CPLL_333M_DIV_SHIFT, - - /* CRU_CLK_SEL80_CON */ - CPLL_62P5M_DIV_SHIFT = 8, - CPLL_62P5M_DIV_MASK = 0x1f << CPLL_62P5M_DIV_SHIFT, - CPLL_125M_DIV_SHIFT = 0, - CPLL_125M_DIV_MASK = 0x1f << CPLL_125M_DIV_SHIFT, - - /* CRU_CLK_SEL81_CON */ - CPLL_25M_DIV_SHIFT = 8, - CPLL_25M_DIV_MASK = 0x1f << CPLL_25M_DIV_SHIFT, - CPLL_50M_DIV_SHIFT = 0, - CPLL_50M_DIV_MASK = 0x1f << CPLL_50M_DIV_SHIFT, - - /* CRU_CLK_SEL82_CON */ - CPLL_100M_DIV_SHIFT = 0, - CPLL_100M_DIV_MASK = 0x1f << CPLL_100M_DIV_SHIFT, -}; - -static struct rk_cpu_rate_table cpu_rates[] = -{ - CPUCLK_RATE(1800000000, 1, 7), - CPUCLK_RATE(1704000000, 1, 7), - CPUCLK_RATE(1608000000, 1, 5), - CPUCLK_RATE(1584000000, 1, 5), - CPUCLK_RATE(1560000000, 1, 5), - CPUCLK_RATE(1536000000, 1, 5), - CPUCLK_RATE(1512000000, 1, 5), - CPUCLK_RATE(1488000000, 1, 5), - CPUCLK_RATE(1464000000, 1, 5), - CPUCLK_RATE(1440000000, 1, 5), - CPUCLK_RATE(1416000000, 1, 5), - CPUCLK_RATE(1392000000, 1, 5), - CPUCLK_RATE(1368000000, 1, 5), - CPUCLK_RATE(1344000000, 1, 5), - CPUCLK_RATE(1320000000, 1, 5), - CPUCLK_RATE(1296000000, 1, 5), - CPUCLK_RATE(1272000000, 1, 5), - CPUCLK_RATE(1248000000, 1, 5), - CPUCLK_RATE(1224000000, 1, 5), - CPUCLK_RATE(1200000000, 1, 3), - CPUCLK_RATE(1104000000, 1, 3), - CPUCLK_RATE(1008000000, 1, 3), - CPUCLK_RATE(912000000, 1, 3), - CPUCLK_RATE(816000000, 1, 3), - CPUCLK_RATE(696000000, 1, 3), - CPUCLK_RATE(600000000, 1, 3), - CPUCLK_RATE(408000000, 1, 3), - CPUCLK_RATE(312000000, 1, 3), - CPUCLK_RATE(216000000, 1, 3), - CPUCLK_RATE(96000000, 1, 3), - { /* sentinel */ }, -}; - -static struct rk_pll_rate_table pll_rates[] = -{ - /* _mhz, _refdiv, _fbdiv, _postdiv1, _postdiv2, _dsmpd, _frac */ - PLL_RATE(2208000000, 1, 92, 1, 1, 1, 0), - PLL_RATE(2184000000, 1, 91, 1, 1, 1, 0), - PLL_RATE(2160000000, 1, 90, 1, 1, 1, 0), - PLL_RATE(2088000000, 1, 87, 1, 1, 1, 0), - PLL_RATE(2064000000, 1, 86, 1, 1, 1, 0), - PLL_RATE(2040000000, 1, 85, 1, 1, 1, 0), - PLL_RATE(2016000000, 1, 84, 1, 1, 1, 0), - PLL_RATE(1992000000, 1, 83, 1, 1, 1, 0), - PLL_RATE(1920000000, 1, 80, 1, 1, 1, 0), - PLL_RATE(1896000000, 1, 79, 1, 1, 1, 0), - PLL_RATE(1800000000, 1, 75, 1, 1, 1, 0), - PLL_RATE(1704000000, 1, 71, 1, 1, 1, 0), - PLL_RATE(1608000000, 1, 67, 1, 1, 1, 0), - PLL_RATE(1600000000, 3, 200, 1, 1, 1, 0), - PLL_RATE(1584000000, 1, 132, 2, 1, 1, 0), - PLL_RATE(1560000000, 1, 130, 2, 1, 1, 0), - PLL_RATE(1536000000, 1, 128, 2, 1, 1, 0), - PLL_RATE(1512000000, 1, 126, 2, 1, 1, 0), - PLL_RATE(1488000000, 1, 124, 2, 1, 1, 0), - PLL_RATE(1464000000, 1, 122, 2, 1, 1, 0), - PLL_RATE(1440000000, 1, 120, 2, 1, 1, 0), - PLL_RATE(1416000000, 1, 118, 2, 1, 1, 0), - PLL_RATE(1400000000, 3, 350, 2, 1, 1, 0), - PLL_RATE(1392000000, 1, 116, 2, 1, 1, 0), - PLL_RATE(1368000000, 1, 114, 2, 1, 1, 0), - PLL_RATE(1344000000, 1, 112, 2, 1, 1, 0), - PLL_RATE(1320000000, 1, 110, 2, 1, 1, 0), - PLL_RATE(1296000000, 1, 108, 2, 1, 1, 0), - PLL_RATE(1272000000, 1, 106, 2, 1, 1, 0), - PLL_RATE(1248000000, 1, 104, 2, 1, 1, 0), - PLL_RATE(1200000000, 1, 100, 2, 1, 1, 0), - PLL_RATE(1188000000, 1, 99, 2, 1, 1, 0), - PLL_RATE(1104000000, 1, 92, 2, 1, 1, 0), - PLL_RATE(1100000000, 3, 275, 2, 1, 1, 0), - PLL_RATE(1008000000, 1, 84, 2, 1, 1, 0), - PLL_RATE(1000000000, 3, 250, 2, 1, 1, 0), - PLL_RATE(912000000, 1, 76, 2, 1, 1, 0), - PLL_RATE(816000000, 1, 68, 2, 1, 1, 0), - PLL_RATE(800000000, 3, 200, 2, 1, 1, 0), - PLL_RATE(700000000, 3, 350, 4, 1, 1, 0), - PLL_RATE(696000000, 1, 116, 4, 1, 1, 0), - PLL_RATE(600000000, 1, 100, 4, 1, 1, 0), - PLL_RATE(594000000, 1, 99, 4, 1, 1, 0), - PLL_RATE(500000000, 1, 125, 6, 1, 1, 0), - PLL_RATE(408000000, 1, 68, 2, 2, 1, 0), - PLL_RATE(312000000, 1, 78, 6, 1, 1, 0), - PLL_RATE(297000000, 2, 99, 4, 1, 1, 0), - PLL_RATE(241500000, 2, 161, 4, 2, 1, 0), - PLL_RATE(216000000, 1, 72, 4, 2, 1, 0), - PLL_RATE(200000000, 1, 100, 3, 4, 1, 0), - PLL_RATE(148500000, 1, 99, 4, 4, 1, 0), - PLL_RATE(135000000, 2, 45, 4, 1, 1, 0), - PLL_RATE(119000000, 3, 119, 4, 2, 1, 0), - PLL_RATE(108000000, 2, 45, 5, 1, 1, 0), - PLL_RATE(100000000, 1, 150, 6, 6, 1, 0), - PLL_RATE(96000000, 1, 96, 6, 4, 1, 0), - PLL_RATE(78750000, 1, 96, 6, 4, 1, 0), - PLL_RATE(74250000, 2, 99, 4, 4, 1, 0), - { /* sentinel */ }, -}; - -static struct rk_pll_clock pmu_pll_clks[] = -{ - [ppll] = PLL(PLL_PPLL, PMU_PLL_CON(0), PMU_MODE, 0, 10, 0, pll_rates), - [hpll] = PLL(PLL_HPLL, PMU_PLL_CON(16), PMU_MODE, 2, 10, 0, pll_rates), -}; - -static struct rk_pll_clock pll_clks[] = -{ - [apll] = PLL(PLL_APLL, PLL_CON(0), MODE_CON, 0, 10, 0, pll_rates), - [dpll] = PLL(PLL_DPLL, PLL_CON(8), MODE_CON, 2, 10, 0, RT_NULL), - [gpll] = PLL(PLL_HPLL, PLL_CON(16), MODE_CON, 6, 10, 0, pll_rates), - [cpll] = PLL(PLL_CPLL, PLL_CON(24), MODE_CON, 4, 10, 0, pll_rates), - [npll] = PLL(PLL_NPLL, PLL_CON(32), MODE_CON, 10, 10, 0, pll_rates), - [vpll] = PLL(PLL_VPLL, PLL_CON(40), MODE_CON, 12, 10, 0, pll_rates), -}; - -static struct rk_clk_gate clk_gates[] = -{ - /* CRU_GATE_CON00 */ - /* CRU_GATE_CON01 */ - GATE(PCLK_CORE_PVTM, "pclk_core_pvtm", "pclk_core_pre", 1, 9), - GATE(CLK_CORE_PVTM, "clk_core_pvtm", "xin24m", 1, 10), - GATE(CLK_CORE_PVTM_CORE, "clk_core_pvtm_core", "armclk", 1, 11), - GATE(CLK_CORE_PVTPLL, "clk_core_pvtpll", "armclk", 1, 12), - /* CRU_GATE_CON02 */ - GATE(CLK_GPU_SRC, "clk_gpu_src", "clk_gpu_pre_c", 2, 0), - GATE(PCLK_GPU_PRE, "pclk_gpu_pre", "pclk_gpu_pre_div", 2, 2), - GATE(CLK_GPU, "clk_gpu", "clk_gpu_pre_c", 2, 3), - GATE(PCLK_GPU_PVTM, "pclk_gpu_pvtm", "pclk_gpu_pre", 2, 6), - GATE(CLK_GPU_PVTM, "clk_gpu_pvtm", "xin24m", 2, 7), - GATE(CLK_GPU_PVTM_CORE, "clk_gpu_pvtm_core", "clk_gpu_src", 2, 8), - GATE(CLK_GPU_PVTPLL, "clk_gpu_pvtpll", "clk_gpu_src", 2, 9), - GATE(ACLK_GPU_PRE, "aclk_gpu_pre", "aclk_gpu_pre_div", 2, 11), - /* CRU_GATE_CON03 */ - GATE(CLK_NPU_SRC, "clk_npu_src", "clk_npu_src_c", 3, 0), - GATE(CLK_NPU_NP5, "clk_npu_np5", "clk_npu_np5_c", 3, 1), - GATE(HCLK_NPU_PRE, "hclk_npu_pre", "hclk_npu_pre_div", 3, 2), - GATE(PCLK_NPU_PRE, "pclk_npu_pre", "pclk_npu_pre_div", 3, 3), - GATE(ACLK_NPU_PRE, "aclk_npu_pre", "clk_npu", 3, 4), - GATE(ACLK_NPU, "aclk_npu", "aclk_npu_pre", 3, 7), - GATE(HCLK_NPU, "hclk_npu", "hclk_npu_pre", 3, 8), - GATE(PCLK_NPU_PVTM, "pclk_npu_pvtm", "pclk_npu_pre", 3, 9), - GATE(CLK_NPU_PVTM, "clk_npu_pvtm", "xin24m", 3, 10), - GATE(CLK_NPU_PVTM_CORE, "clk_npu_pvtm_core", "clk_npu_pre_ndft", 3, 11), - GATE(CLK_NPU_PVTPLL, "clk_npu_pvtpll", "clk_npu_pre_ndft", 3, 12), - /* CRU_GATE_CON04 */ - GATE(CLK_DDRPHY1X_SRC, "clk_ddrphy1x_src", "clk_ddrphy1x_src_c", 4, 0), - GATE(CLK_MSCH, "clk_msch", "clk_msch_div", 4, 2), - GATE(CLK24_DDRMON, "clk24_ddrmon", "xin24m", 4, 15), - /* CRU_GATE_CON05 */ - GATE(ACLK_GIC_AUDIO, "aclk_gic_audio", "aclk_gic_audio_sel", 5, 0), - GATE(HCLK_GIC_AUDIO, "hclk_gic_audio", "hclk_gic_audio_sel", 5, 1), - GATE(ACLK_GIC600, "aclk_gic600", "aclk_gic_audio", 5, 4), - GATE(ACLK_SPINLOCK, "aclk_spinlock", "aclk_gic_audio", 5, 7), - GATE(HCLK_SDMMC_BUFFER, "hclk_sdmmc_buffer", "hclk_gic_audio", 5, 8), - GATE(DCLK_SDMMC_BUFFER, "dclk_sdmmc_buffer", "dclk_sdmmc_buffer_sel", 5, 9), - GATE(HCLK_I2S0_8CH, "hclk_i2s0_8ch", "hclk_gic_audio", 5, 10), - GATE(HCLK_I2S1_8CH, "hclk_i2s1_8ch", "hclk_gic_audio", 5, 11), - GATE(HCLK_I2S2_2CH, "hclk_i2s2_2ch", "hclk_gic_audio", 5, 12), - GATE(HCLK_I2S3_2CH, "hclk_i2s3_2ch", "hclk_gic_audio", 5, 13), - GATE(HCLK_PDM, "hclk_pdm", "hclk_gic_audio", 5, 14), - GATE(MCLK_PDM, "mclk_pdm", "mclk_pdm_sel", 5, 15), - /* CRU_GATE_CON06 */ - GATE(CLK_I2S0_8CH_TX_SRC, "clk_i2s0_8ch_tx_src", "clk_i2s0_8ch_tx_src_c", 6, 0), - GATE(CLK_I2S0_8CH_TX_FRAC, "clk_i2s0_8ch_tx_frac", "clk_i2s0_8ch_tx_frac_div", 6, 1), - GATE(MCLK_I2S0_8CH_TX, "mclk_i2s0_8ch_tx", "clk_i2s0_8ch_tx", 6, 2), - GATE(I2S0_MCLKOUT_TX, "i2s0_mclkout_tx", "i2s0_mclkout_tx_sel", 6, 3), - GATE(CLK_I2S0_8CH_RX_SRC, "clk_i2s0_8ch_rx_src", "clk_i2s0_8ch_rx_src_c", 6, 4), - GATE(CLK_I2S0_8CH_RX_FRAC, "clk_i2s0_8ch_rx_frac", "clk_i2s0_8ch_rx_frac_div", 6, 5), - GATE(MCLK_I2S0_8CH_RX, "mclk_i2s0_8ch_rx", "clk_i2s0_8ch_rx", 6, 6), - GATE(I2S0_MCLKOUT_RX, "i2s0_mclkout_rx", "i2s0_mclkout_rx_sel", 6, 7), - GATE(CLK_I2S1_8CH_TX_SRC, "clk_i2s1_8ch_tx_src", "clk_i2s1_8ch_tx_src_c", 6, 8), - GATE(CLK_I2S1_8CH_TX_FRAC, "clk_i2s1_8ch_tx_frac", "clk_i2s1_8ch_tx_frac_div", 6, 9), - GATE(MCLK_I2S1_8CH_TX, "mclk_i2s1_8ch_tx", "clk_i2s1_8ch_tx", 6, 10), - GATE(I2S1_MCLKOUT_TX, "i2s1_mclkout_tx", "i2s1_mclkout_tx_sel", 6, 11), - GATE(CLK_I2S1_8CH_RX_SRC, "clk_i2s1_8ch_rx_src", "clk_i2s1_8ch_rx_src_c", 6, 12), - GATE(CLK_I2S1_8CH_RX_FRAC, "clk_i2s1_8ch_rx_frac", "clk_i2s1_8ch_rx_frac_div", 6, 13), - GATE(MCLK_I2S1_8CH_RX, "mclk_i2s1_8ch_rx", "clk_i2s1_8ch_rx", 6, 14), - GATE(I2S1_MCLKOUT_RX, "i2s1_mclkout_rx", "i2s1_mclkout_rx_sel", 6, 15), - /* CRU_GATE_CON07 */ - GATE(CLK_I2S2_2CH_SRC, "clk_i2s2_2ch_src", "clk_i2s2_2ch_src_c", 7, 0), - GATE(CLK_I2S2_2CH_FRAC, "clk_i2s2_2ch_frac", "clk_i2s2_2ch_frac_div", 7, 1), - GATE(MCLK_I2S2_2CH, "mclk_i2s2_2ch", "clk_i2s2_2ch", 7, 2), - GATE(I2S2_MCLKOUT, "i2s2_mclkout", "i2s2_mclkout_sel", 7, 3), - GATE(CLK_I2S3_2CH_TX, "clk_i2s3_2ch_tx_src", "clk_i2s3_2ch_tx_src_c", 7, 4), - GATE(CLK_I2S3_2CH_TX_FRAC, "clk_i2s3_2ch_tx_frac", "clk_i2s3_2ch_tx_frac_div", 7, 5), - GATE(MCLK_I2S3_2CH_TX, "mclk_i2s3_2ch_tx", "clk_i2s3_2ch_tx", 7, 6), - GATE(I2S3_MCLKOUT_TX, "i2s3_mclkout_tx", "i2s3_mclkout_tx_sel", 7, 7), - GATE(CLK_I2S3_2CH_RX, "clk_i2s3_2ch_rx_src", "clk_i2s3_2ch_rx_src_div", 7, 8), - GATE(CLK_I2S3_2CH_RX_FRAC, "clk_i2s3_2ch_rx_frac", "clk_i2s3_2ch_rx_frac_div", 7, 9), - GATE(MCLK_I2S3_2CH_RX, "mclk_i2s3_2ch_rx", "clk_i2s3_2ch_rx", 7, 10), - GATE(I2S3_MCLKOUT_RX, "i2s3_mclkout_rx", "i2s3_mclkout_rx_sel", 7, 11), - GATE(HCLK_VAD, "hclk_vad", "hclk_gic_audio", 7, 12), - GATE(HCLK_SPDIF_8CH, "hclk_spdif_8ch", "hclk_gic_audio", 7, 13), - GATE(MCLK_SPDIF_8CH_SRC, "mclk_spdif_8ch_src", "mclk_spdif_8ch_src_c", 7, 14), - GATE(MCLK_SPDIF_8CH_FRAC, "mclk_spdif_8ch_frac", "mclk_spdif_8ch_frac_div", 7, 15), - /* CRU_GATE_CON08 */ - GATE(HCLK_AUDPWM, "hclk_audpwm", "hclk_gic_audio", 8, 0), - GATE(SCLK_AUDPWM_SRC, "sclk_audpwm_src", "sclk_audpwm_src_c", 8, 1), - GATE(SCLK_AUDPWM_FRAC, "sclk_audpwm_frac", "sclk_audpwm_frac_frac", 8, 2), - GATE(HCLK_ACDCDIG, "hclk_acdcdig", "hclk_gic_audio", 8, 3), - GATE(CLK_ACDCDIG_I2C, "clk_acdcdig_i2c", "clk_acdcdig_i2c_sel", 8, 4), - GATE(CLK_ACDCDIG_DAC, "clk_acdcdig_dac", "mclk_i2s3_2ch_tx", 8, 5), - GATE(CLK_ACDCDIG_ADC, "clk_acdcdig_adc", "mclk_i2s3_2ch_rx", 8, 6), - GATE(ACLK_SECURE_FLASH, "aclk_secure_flash", "aclk_secure_flash_sel", 8, 7), - GATE(HCLK_SECURE_FLASH, "hclk_secure_flash", "hclk_secure_flash_sel", 8, 8), - GATE(ACLK_CRYPTO_NS, "aclk_crypto_ns", "aclk_secure_flash", 8, 11), - GATE(HCLK_CRYPTO_NS, "hclk_crypto_ns", "hclk_secure_flash", 8, 12), - GATE(CLK_CRYPTO_NS_CORE, "clk_crypto_ns_core", "clk_crypto_ns_core_sel", 8, 13), - GATE(CLK_CRYPTO_NS_PKA, "clk_crypto_ns_pka", "clk_crypto_ns_pka_sel", 8, 14), - GATE(CLK_CRYPTO_NS_RNG, "clk_crypto_ns_rng", "hclk_secure_flash", 8, 15), - /* CRU_GATE_CON09 */ - GATE(HCLK_NANDC, "hclk_nandc", "hclk_secure_flash", 9, 0), - GATE(NCLK_NANDC, "nclk_nandc", "nclk_nandc_sel", 9, 1), - GATE(HCLK_SFC, "hclk_sfc", "hclk_secure_flash", 9, 2), - GATE(HCLK_SFC_XIP, "hclk_sfc_xip", "hclk_secure_flash", 9, 3), - GATE(SCLK_SFC, "sclk_sfc", "sclk_sfc_sel", 9, 4), - GATE(ACLK_EMMC, "aclk_emmc", "aclk_secure_flash", 9, 5), - GATE(HCLK_EMMC, "hclk_emmc", "hclk_secure_flash", 9, 6), - GATE(BCLK_EMMC, "bclk_emmc", "bclk_emmc_sel", 9, 7), - GATE(CCLK_EMMC, "cclk_emmc", "cclk_emmc_sel", 9, 8), - GATE(TCLK_EMMC, "tclk_emmc", "xin24m", 9, 9), - GATE(HCLK_TRNG_NS, "hclk_trng_ns", "hclk_secure_flash", 9, 10), - GATE(CLK_TRNG_NS, "clk_trng_ns", "hclk_secure_flash", 9, 11), - /* CRU_GATE_CON10 */ - GATE(ACLK_PIPE, "aclk_pipe", "aclk_pipe_sel", 10, 0), - GATE(PCLK_PIPE, "pclk_pipe", "pclk_pipe_div", 10, 1), - GATE(CLK_XPCS_EEE, "clk_xpcs_eee", "clk_xpcs_eee_sel", 10, 4), - GATE(ACLK_USB3OTG0, "aclk_usb3otg0", "aclk_pipe", 10, 8), - GATE(CLK_USB3OTG0_REF, "clk_usb3otg0_ref", "xin24m", 10, 9), - GATE(CLK_USB3OTG0_SUSPEND, "clk_usb3otg0_suspend", "clk_usb3otg0_suspend_sel", 10, 10), - GATE(ACLK_USB3OTG1, "aclk_usb3otg1", "aclk_pipe", 10, 12), - GATE(CLK_USB3OTG1_REF, "clk_usb3otg1_ref", "xin24m", 10, 13), - GATE(CLK_USB3OTG1_SUSPEND, "clk_usb3otg1_suspend", "clk_usb3otg1_suspend_sel", 10, 14), - /* CRU_GATE_CON11 */ - GATE(ACLK_SATA0, "aclk_sata0", "aclk_pipe", 11, 0), - GATE(CLK_SATA0_PMALIVE, "clk_sata0_pmalive", "clk_gpll_div_20m", 11, 1), - GATE(CLK_SATA0_RXOOB, "clk_sata0_rxoob", "clk_cpll_div_50m", 11, 2), - GATE(ACLK_SATA1, "aclk_sata1", "aclk_pipe", 11, 4), - GATE(CLK_SATA1_PMALIVE, "clk_sata1_pmalive", "clk_gpll_div_20m", 11, 5), - GATE(CLK_SATA1_RXOOB, "clk_sata1_rxoob", "clk_cpll_div_50m", 11, 6), - GATE(ACLK_SATA2, "aclk_sata2", "aclk_pipe", 11, 8), - GATE(CLK_SATA2_PMALIVE, "clk_sata2_pmalive", "clk_gpll_div_20m", 11, 9), - GATE(CLK_SATA2_RXOOB, "clk_sata2_rxoob", "clk_cpll_div_50m", 11, 10), - /* CRU_GATE_CON12 */ - GATE(ACLK_PCIE20_MST, "aclk_pcie20_mst", "aclk_pipe", 12, 0), - GATE(ACLK_PCIE20_SLV, "aclk_pcie20_slv", "aclk_pipe", 12, 1), - GATE(ACLK_PCIE20_DBI, "aclk_pcie20_dbi", "aclk_pipe", 12, 2), - GATE(PCLK_PCIE20, "pclk_pcie20", "pclk_pipe", 12, 3), - GATE(CLK_PCIE20_AUX_NDFT, "clk_pcie20_aux_ndft", "xin24m", 12, 4), - GATE(ACLK_PCIE30X1_MST, "aclk_pcie30x1_mst", "aclk_pipe", 12, 8), - GATE(ACLK_PCIE30X1_SLV, "aclk_pcie30x1_slv", "aclk_pipe", 12, 9), - GATE(ACLK_PCIE30X1_DBI, "aclk_pcie30x1_dbi", "aclk_pipe", 12, 10), - GATE(PCLK_PCIE30X1, "pclk_pcie30x1", "pclk_pipe", 12, 11), - GATE(CLK_PCIE30X1_AUX_NDFT, "clk_pcie30x1_aux_ndft", "xin24m", 12, 12), - /* CRU_GATE_CON13 */ - GATE(ACLK_PCIE30X2_MST, "aclk_pcie30x2_mst", "aclk_pipe", 13, 0), - GATE(ACLK_PCIE30X2_SLV, "aclk_pcie30x2_slv", "aclk_pipe", 13, 1), - GATE(ACLK_PCIE30X2_DBI, "aclk_pcie30x2_dbi", "aclk_pipe", 13, 2), - GATE(PCLK_PCIE30X2, "pclk_pcie30x2", "pclk_pipe", 13, 3), - GATE(CLK_PCIE30X2_AUX_NDFT, "clk_pcie30x2_aux_ndft", "xin24m", 13, 4), - GATE(PCLK_XPCS, "pclk_xpcs", "pclk_pipe", 13, 6), - /* CRU_GATE_CON14 */ - GATE(ACLK_PERIMID, "aclk_perimid", "aclk_perimid_sel", 14, 0), - GATE(HCLK_PERIMID, "hclk_perimid", "hclk_perimid_sel", 14, 1), - GATE(ACLK_PHP, "aclk_php", "aclk_php_sel", 14, 8), - GATE(HCLK_PHP, "hclk_php", "hclk_php_sel", 14, 9), - GATE(PCLK_PHP, "pclk_php", "pclk_php_div", 14, 10), - /* CRU_GATE_CON15 */ - GATE(HCLK_SDMMC0, "hclk_sdmmc0", "hclk_php", 15, 0), - GATE(CLK_SDMMC0, "clk_sdmmc0", "clk_sdmmc0_sel", 15, 1), - GATE(HCLK_SDMMC1, "hclk_sdmmc1", "hclk_php", 15, 2), - GATE(CLK_SDMMC1, "clk_sdmmc1", "clk_sdmmc1_sel", 15, 3), - GATE(CLK_GMAC0_PTP_REF, "clk_gmac0_ptp_ref", "clk_gmac0_ptp_ref_sel", 15, 4), - GATE(ACLK_GMAC0, "aclk_gmac0", "aclk_php", 15, 5), - GATE(PCLK_GMAC0, "pclk_gmac0", "pclk_php", 15, 6), - GATE(CLK_MAC0_2TOP, "clk_mac0_2top", "clk_mac0_2top_sel", 15, 7), - GATE(CLK_MAC0_OUT, "clk_mac0_out", "clk_mac0_out_sel", 15, 8), - GATE(CLK_MAC0_REFOUT, "clk_mac0_refout", "clk_mac0_2top", 15, 12), - /* CRU_GATE_CON16 */ - GATE(ACLK_USB, "aclk_usb", "aclk_usb_sel", 16, 0), - GATE(HCLK_USB, "hclk_usb", "hclk_usb_sel", 16, 1), - GATE(PCLK_USB, "pclk_usb", "pclk_usb_div", 16, 2), - GATE(HCLK_USB2HOST0, "hclk_usb2host0", "hclk_usb", 16, 12), - GATE(HCLK_USB2HOST0_ARB, "hclk_usb2host0_arb", "hclk_usb", 16, 13), - GATE(HCLK_USB2HOST1, "hclk_usb2host1", "hclk_usb", 16, 14), - GATE(HCLK_USB2HOST1_ARB, "hclk_usb2host1_arb", "hclk_usb", 16, 15), - /* CRU_GATE_CON17 */ - GATE(HCLK_SDMMC2, "hclk_sdmmc2", "hclk_usb", 17, 0), - GATE(CLK_SDMMC2, "clk_sdmmc2", "clk_sdmmc2_sel", 17, 1), - GATE(CLK_GMAC1_PTP_REF, "clK_gmac1_ptp_ref", "clk_gmac1_ptp_ref_sel", 17, 2), - GATE(ACLK_GMAC1, "aclk_gmac1", "aclk_usb", 17, 3), - GATE(PCLK_GMAC1, "pclk_gmac1", "pclk_usb", 17, 4), - GATE(CLK_MAC1_2TOP, "clk_mac1_2top", "clk_mac1_2top_sel", 17, 5), - GATE(CLK_MAC1_OUT, "clk_mac1_out", "clk_mac1_out_sel", 17, 6), - GATE(CLK_MAC1_REFOUT, "clk_mac1_refout", "clk_mac1_2top", 17, 10), - /* CRU_GATE_CON18 */ - GATE(ACLK_VI, "aclk_vi", "aclk_vi_sel", 18, 0), - GATE(HCLK_VI, "hclk_vi", "hclk_vi_div", 18, 1), - GATE(PCLK_VI, "pclk_vi", "pclk_vi_div", 18, 2), - GATE(ACLK_VICAP, "aclk_vicap", "aclk_vi", 18, 9), - GATE(HCLK_VICAP, "hclk_vicap", "hclk_vi", 18, 10), - GATE(DCLK_VICAP, "dclk_vicap", "dclk_vicap1_sel", 18, 11), - /* CRU_GATE_CON19 */ - GATE(ACLK_ISP, "aclk_isp", "aclk_vi", 19, 0), - GATE(HCLK_ISP, "hclk_isp", "hclk_vi", 19, 1), - GATE(CLK_ISP, "clk_isp", "clk_isp_c", 19, 2), - GATE(PCLK_CSI2HOST1, "pclk_csi2host1", "pclk_vi", 19, 4), - GATE(CLK_CIF_OUT, "clk_cif_out", "clk_cif_out_c", 19, 8), - GATE(CLK_CAM0_OUT, "clk_cam0_out", "clk_cam0_out_c", 19, 9), - GATE(CLK_CAM1_OUT, "clk_cam1_out", "clk_cam1_out_c", 19, 9), - /* CRU_GATE_CON20 */ - GATE(ACLK_VO, "aclk_vo", "aclk_vo_sel", 20, 0), - GATE(HCLK_VO, "hclk_vo", "hclk_vo_div", 20, 1), - GATE(PCLK_VO, "pclk_vo", "pclk_vo_div", 20, 2), - GATE(ACLK_VOP_PRE, "aclk_vop_pre", "aclk_vop_pre_c", 20, 6), - GATE(ACLK_VOP, "aclk_vop", "aclk_vop_pre", 20, 8), - GATE(HCLK_VOP, "hclk_vop", "hclk_vo", 20, 9), - GATE(DCLK_VOP0, "dclk_vop0", "dclk_vop0_c", 20, 10), - GATE(DCLK_VOP1, "dclk_vop1", "dclk_vop1_c", 20, 11), - GATE(DCLK_VOP2, "dclk_vop2", "dclk_vop2_c", 20, 12), - GATE(CLK_VOP_PWM, "clk_vop_pwm", "xin24m", 20, 13), - /* CRU_GATE_CON21 */ - GATE(ACLK_HDCP, "aclk_hdcp", "aclk_vo", 21, 0), - GATE(HCLK_HDCP, "hclk_hdcp", "hclk_vo", 21, 1), - GATE(PCLK_HDCP, "pclk_hdcp", "pclk_vo", 21, 2), - GATE(PCLK_HDMI_HOST, "pclk_hdmi_host", "pclk_vo", 21, 3), - GATE(CLK_HDMI_SFR, "clk_hdmi_sfr", "xin24m", 21, 4), - GATE(CLK_HDMI_CEC, "clk_hdmi_cec", "clk_rtc_32k", 21, 5), - GATE(PCLK_DSITX_0, "pclk_dsitx_0", "pclk_vo", 21, 6), - GATE(PCLK_DSITX_1, "pclk_dsitx_1", "pclk_vo", 21, 7), - GATE(PCLK_EDP_CTRL, "pclk_edp_ctrl", "pclk_vo", 21, 8), - GATE(CLK_EDP_200M, "clk_edp_200m", "clk_edp_200m_sel", 21, 9), - /* CRU_GATE_CON22 */ - GATE(ACLK_VPU_PRE, "aclk_vpu_pre", "aclk_vpu_pre_c", 22, 0), - GATE(HCLK_VPU_PRE, "hclk_vpu_pre", "aclk_vpu_pre_c", 22, 1), - GATE(ACLK_VPU, "aclk_vpu", "aclk_vpu_pre", 22, 4), - GATE(HCLK_VPU, "hclk_vpu", "hclk_vpu_pre", 22, 5), - GATE(PCLK_RGA_PRE, "pclk_rga_pre", "pclk_rga_pre_div", 22, 12), - GATE(PCLK_EINK, "pclk_eink", "pclk_rga_pre", 22, 14), - GATE(HCLK_EINK, "hclk_eink", "hclk_rga_pre", 22, 15), - /* CRU_GATE_CON23 */ - GATE(ACLK_RGA_PRE, "aclk_rga_pre", "aclk_rga_pre_sel", 23, 0), - GATE(HCLK_RGA_PRE, "hclk_rga_pre", "hclk_rga_pre_div", 23, 1), - GATE(ACLK_RGA, "aclk_rga", "aclk_rga_pre", 23, 4), - GATE(HCLK_RGA, "hclk_rga", "hclk_rga_pre", 23, 5), - GATE(CLK_RGA_CORE, "clk_rga_core", "clk_rga_core_sel", 23, 6), - GATE(ACLK_IEP, "aclk_iep", "aclk_rga_pre", 23, 7), - GATE(HCLK_IEP, "hclk_iep", "hclk_rga_pre", 23, 8), - GATE(CLK_IEP_CORE, "clk_iep_core", "clk_iep_core_sel", 23, 9), - GATE(HCLK_EBC, "hclk_ebc", "hclk_rga_pre", 23, 10), - GATE(DCLK_EBC, "dclk_ebc", "dclk_ebc_sel", 23, 11), - GATE(ACLK_JDEC, "aclk_jdec", "aclk_rga_pre", 23, 12), - GATE(HCLK_JDEC, "hclk_jdec", "hclk_rga_pre", 23, 13), - GATE(ACLK_JENC, "aclk_jenc", "aclk_rga_pre", 23, 14), - GATE(HCLK_JENC, "hclk_jenc", "hclk_rga_pre", 23, 15), - /* CRU_GATE_CON24 */ - GATE(ACLK_RKVENC_PRE, "aclk_rkvenc_pre", "aclk_rkvenc_pre_c", 24, 0), - GATE(HCLK_RKVENC_PRE, "hclk_rkvenc_pre", "hclk_rkvenc_pre_div", 24, 1), - GATE(ACLK_RKVENC, "aclk_rkvenc", "aclk_rkvenc_pre", 24, 6), - GATE(HCLK_RKVENC, "hclk_rkvenc", "hclk_rkvenc_pre", 24, 7), - GATE(CLK_RKVENC_CORE, "clk_rkvenc_core", "clk_rkvenc_core_c", 24, 8), - GATE(ACLK_RKVDEC_PRE, "aclk_rkvdec_pre", "aclk_rkvdec_pre_c", 25, 0), - /* CRU_GATE_CON25 */ - GATE(HCLK_RKVDEC_PRE, "hclk_rkvdec_pre", "hclk_rkvdec_pre_div", 25, 1), - GATE(ACLK_RKVDEC, "aclk_rkvdec", "aclk_rkvdec_pre", 25, 4), - GATE(HCLK_RKVDEC, "hclk_rkvdec", "hclk_rkvdec_pre", 25, 5), - GATE(CLK_RKVDEC_CA, "clk_rkvdec_ca", "clk_rkvdec_ca_c", 25, 6), - GATE(CLK_RKVDEC_CORE, "clk_rkvdec_core", "clk_rkvdec_core_c", 25, 7), - GATE(CLK_RKVDEC_HEVC_CA, "clk_rkvdec_hevc_ca", "clk_rkvdec_hevc_ca_c", 25, 8), - /* CRU_GATE_CON26 */ - GATE(ACLK_BUS, "aclk_bus", "aclk_bus_sel", 26, 0), - GATE(PCLK_BUS, "pclk_bus", "pclk_bus_sel", 26, 1), - GATE(PCLK_TSADC, "pclk_tsadc", "pclk_bus", 26, 4), - GATE(CLK_TSADC_TSEN, "clk_tsadc_tsen", "clk_tsadc_tsen_c", 26, 5), - GATE(CLK_TSADC, "clk_tsadc", "clk_tsadc_div", 26, 6), - GATE(PCLK_SARADC, "pclk_saradc", "pclk_bus", 26, 7), - GATE(CLK_SARADC, "clk_saradc", "xin24m", 26, 8), - GATE(PCLK_OTPC_NS, "pclk_otpc_ns", "hclk_secure_flash", 26, 9), - GATE(CLK_OTPC_NS_SBPI, "clk_otpc_ns_sbpi", "xin24m", 26, 10), - GATE(CLK_OTPC_NS_USR, "clk_otpc_ns_usr", "xin_osc0_half", 26, 11), - GATE(PCLK_SCR, "pclk_scr", "pclk_bus", 26, 12), - GATE(PCLK_WDT_NS, "pclk_wdt_ns", "pclk_bus", 26, 13), - GATE(TCLK_WDT_NS, "tclk_wdt_ns", "xin24m", 26, 14), - /* CRU_GATE_CON27 */ - GATE(PCLK_CAN0, "pclk_can0", "pclk_bus", 27, 5), - GATE(CLK_CAN0, "clk_can0", "clk_can0_c", 27, 6), - GATE(PCLK_CAN1, "pclk_can1", "pclk_bus", 27, 7), - GATE(CLK_CAN1, "clk_can1", "clk_can1_c", 27, 8), - GATE(PCLK_CAN2, "pclk_can2", "pclk_bus", 27, 9), - GATE(CLK_CAN2, "clk_can2", "clk_can2_c", 27, 10), - GATE(PCLK_UART1, "pclk_uart1", "pclk_bus", 27, 12), - GATE(CLK_UART1_SRC, "clk_uart1_src", "clk_uart1_src_c", 27, 13), - GATE(CLK_UART1_FRAC, "clk_uart1_frac", "clk_uart1_frac_frac", 27, 14), - GATE(SCLK_UART1, "sclk_uart1", "sclk_uart1_sel", 27, 15), - /* CRU_GATE_CON28 */ - GATE(PCLK_UART2, "pclk_uart2", "pclk_bus", 28, 0), - GATE(CLK_UART2_SRC, "clk_uart2_src", "clk_uart2_src_c", 28, 1), - GATE(CLK_UART2_FRAC, "clk_uart2_frac", "clk_uart2_frac_frac", 28, 2), - GATE(SCLK_UART2, "sclk_uart2", "sclk_uart2_sel", 28, 3), - GATE(PCLK_UART3, "pclk_uart3", "pclk_bus", 28, 4), - GATE(CLK_UART3_SRC, "clk_uart3_src", "clk_uart3_src_c", 28, 5), - GATE(CLK_UART3_FRAC, "clk_uart3_frac", "clk_uart3_frac_frac", 28, 6), - GATE(SCLK_UART3, "sclk_uart3", "sclk_uart3_sel", 28, 7), - GATE(PCLK_UART4, "pclk_uart4", "pclk_bus", 28, 8), - GATE(CLK_UART4_SRC, "clk_uart4_src", "clk_uart4_src_c", 28, 9), - GATE(CLK_UART4_FRAC, "clk_uart4_frac", "clk_uart4_frac_frac", 28, 10), - GATE(SCLK_UART4, "sclk_uart4", "sclk_uart4_sel", 28, 11), - GATE(PCLK_UART5, "pclk_uart5", "pclk_bus", 28, 12), - GATE(CLK_UART5_SRC, "clk_uart5_src", "clk_uart5_src_c", 28, 13), - GATE(CLK_UART5_FRAC, "clk_uart5_frac", "clk_uart5_frac_frac", 28, 14), - GATE(SCLK_UART5, "sclk_uart5", "sclk_uart5_sel", 28, 15), - /* CRU_GATE_CON29 */ - GATE(PCLK_UART6, "pclk_uart6", "pclk_bus", 29, 0), - GATE(CLK_UART6_SRC, "clk_uart6_src", "clk_uart6_src_c", 29, 1), - GATE(CLK_UART6_FRAC, "clk_uart6_frac", "clk_uart6_frac_frac", 29, 2), - GATE(SCLK_UART6, "sclk_uart6", "sclk_uart6_sel", 29, 3), - GATE(PCLK_UART7, "pclk_uart7", "pclk_bus", 29, 4), - GATE(CLK_UART7_SRC, "clk_uart7_src", "clk_uart7_src_c", 29, 5), - GATE(CLK_UART7_FRAC, "clk_uart7_frac", "clk_uart7_frac_frac", 29, 6), - GATE(SCLK_UART7, "sclk_uart7", "sclk_uart7_sel", 29, 7), - GATE(PCLK_UART8, "pclk_uart8", "pclk_bus", 29, 8), - GATE(CLK_UART8_SRC, "clk_uart8_src", "clk_uart8_src_c", 29, 9), - GATE(CLK_UART8_FRAC, "clk_uart8_frac", "clk_uart8_frac_frac", 29, 10), - GATE(SCLK_UART8, "sclk_uart8", "sclk_uart8_sel", 29, 11), - GATE(PCLK_UART9, "pclk_uart9", "pclk_bus", 29, 12), - GATE(CLK_UART9_SRC, "clk_uart9_src", "clk_uart9_src_c", 29, 13), - GATE(CLK_UART9_FRAC, "clk_uart9_frac", "clk_uart9_frac_frac", 29, 14), - GATE(SCLK_UART9, "sclk_uart9", "sclk_uart9_sel", 29, 15), - /* CRU_GATE_CON30 */ - GATE(PCLK_I2C1, "pclk_i2c1", "pclk_bus", 30, 0), - GATE(CLK_I2C1, "clk_i2c1", "clk_i2c", 30, 1), - GATE(PCLK_I2C2, "pclk_i2c2", "pclk_bus", 30, 2), - GATE(CLK_I2C2, "clk_i2c2", "clk_i2c", 30, 3), - GATE(PCLK_I2C3, "pclk_i2c3", "pclk_bus", 30, 4), - GATE(CLK_I2C3, "clk_i2c3", "clk_i2c", 30, 5), - GATE(PCLK_I2C4, "pclk_i2c4", "pclk_bus", 30, 6), - GATE(CLK_I2C4, "clk_i2c4", "clk_i2c", 30, 7), - GATE(PCLK_I2C5, "pclk_i2c5", "pclk_bus", 30, 8), - GATE(CLK_I2C5, "clk_i2c5", "clk_i2c", 30, 9), - GATE(PCLK_SPI0, "pclk_spi0", "pclk_bus", 30, 10), - GATE(CLK_SPI0, "clk_spi0", "clk_spi0_sel", 30, 11), - GATE(PCLK_SPI1, "pclk_spi1", "pclk_bus", 30, 12), - GATE(CLK_SPI1, "clk_spi1", "clk_spi1_sel", 30, 13), - GATE(PCLK_SPI2, "pclk_spi2", "pclk_bus", 30, 14), - GATE(CLK_SPI2, "clk_spi2", "clk_spi2_sel", 30, 15), - /* CRU_GATE_CON31 */ - GATE(PCLK_SPI3, "pclk_spi3", "pclk_bus", 31, 0), - GATE(CLK_SPI3, "clk_spi3", "clk_spi3_sel", 31, 1), - GATE(PCLK_GPIO1, "pclk_gpio1", "pclk_bus", 31, 2), - GATE(DBCLK_GPIO1, "dbclk_gpio1", "dbclk_gpio", 31, 3), - GATE(PCLK_GPIO2, "pclk_gpio2", "pclk_bus", 31, 4), - GATE(DBCLK_GPIO2, "dbclk_gpio2", "dbclk_gpio", 31, 5), - GATE(PCLK_GPIO3, "pclk_gpio3", "pclk_bus", 31, 6), - GATE(DBCLK_GPIO3, "dbclk_gpio3", "dbclk_gpio", 31, 7), - GATE(PCLK_GPIO4, "pclk_gpio4", "pclk_bus", 31, 8), - GATE(DBCLK_GPIO4, "dbclk_gpio4", "dbclk_gpio", 31, 9), - GATE(PCLK_PWM1, "pclk_pwm1", "pclk_bus", 31, 10), - GATE(CLK_PWM1, "clk_pwm1", "clk_pwm1_sel", 31, 11), - GATE(CLK_PWM1_CAPTURE, "clk_pwm1_capture", "xin24m", 31, 12), - GATE(PCLK_PWM2, "pclk_pwm2", "pclk_bus", 31, 13), - GATE(CLK_PWM2, "clk_pwm2", "clk_pwm2_sel", 31, 14), - GATE(CLK_PWM2_CAPTURE, "clk_pwm2_capture", "xin24m", 31, 15), - /* CRU_GATE_CON32 */ - GATE(PCLK_PWM3, "pclk_pwm3", "pclk_bus", 32, 0), - GATE(CLK_PWM3, "clk_pwm3", "clk_pwm3_sel", 32, 1), - GATE(CLK_PWM3_CAPTURE, "clk_pwm3_capture", "xin24m", 32, 2), - GATE(PCLK_TIMER, "pclk_timer", "pclk_bus", 32, 3), - GATE(CLK_TIMER0, "clk_timer0", "xin24m", 32, 4), - GATE(CLK_TIMER1, "clk_timer1", "xin24m", 32, 5), - GATE(CLK_TIMER2, "clk_timer2", "xin24m", 32, 6), - GATE(CLK_TIMER3, "clk_timer3", "xin24m", 32, 7), - GATE(CLK_TIMER4, "clk_timer4", "xin24m", 32, 8), - GATE(CLK_TIMER5, "clk_timer5", "xin24m", 32, 9), - GATE(CLK_I2C, "clk_i2c", "clk_i2c_sel", 32, 10), - GATE(DBCLK_GPIO, "dbclk_gpio", "dbclk_gpio_sel", 32, 11), - GATE(ACLK_MCU, "aclk_mcu", "aclk_bus", 32, 13), - GATE(PCLK_INTMUX, "pclk_intmux", "pclk_bus", 32, 14), - GATE(PCLK_MAILBOX, "pclk_mailbox", "pclk_bus", 32, 15), - /* CRU_GATE_CON33 */ - GATE(ACLK_TOP_HIGH, "aclk_top_high", "aclk_top_high_sel", 33, 0), - GATE(ACLK_TOP_LOW, "aclk_top_low", "aclk_top_low_sel", 33, 1), - GATE(HCLK_TOP, "hclk_top", "hclk_top_sel", 33, 2), - GATE(PCLK_TOP, "pclk_top", "pclk_top_sel", 33, 3), - GATE(PCLK_PCIE30PHY, "pclk_pcie30phy", "pclk_top", 33, 8), - GATE(CLK_OPTC_ARB, "clk_optc_arb", "clk_optc_arb_sel", 33, 9), - GATE(PCLK_MIPICSIPHY, "pclk_mipicsiphy", "pclk_top", 33, 13), - GATE(PCLK_MIPIDSIPHY0, "pclk_mipidsiphy0", "pclk_top", 33, 14), - GATE(PCLK_MIPIDSIPHY1, "pclk_mipidsiphy1", "pclk_top", 33, 15), - /* CRU_GATE_CON34 */ - GATE(PCLK_PIPEPHY0, "pclk_pipephy0", "pclk_top", 34, 4), - GATE(PCLK_PIPEPHY1, "pclk_pipephy1", "pclk_top", 34, 5), - GATE(PCLK_PIPEPHY2, "pclk_pipephy2", "pclk_top", 34, 6), - GATE(PCLK_CPU_BOOST, "pclk_cpu_boost", "pclk_top", 34, 11), - GATE(CLK_CPU_BOOST, "clk_cpu_boost", "xin24m", 34, 12), - GATE(PCLK_OTPPHY, "pclk_otpphy", "pclk_top", 34, 13), - GATE(PCLK_EDPPHY_GRF, "pclk_edpphy_grf", "pclk_top", 34, 14), - /* CRU_GATE_CON35 */ - GATE(CPLL_500M, "clk_cpll_div_500m", "clk_cpll_div_500m_div", 35, 7), - GATE(CPLL_333M, "clk_cpll_div_333m", "clk_cpll_div_333m_div", 35, 8), - GATE(CPLL_250M, "clk_cpll_div_250m", "clk_cpll_div_250m_div", 35, 9), - GATE(CPLL_125M, "clk_cpll_div_125m", "clk_cpll_div_125m_div", 35, 10), - GATE(CPLL_100M, "clk_cpll_div_100m", "clk_cpll_div_100m_div", 35, 11), - GATE(CPLL_62P5M, "clk_cpll_div_62P5m", "clk_cpll_div_62P5m_div", 35, 12), - GATE(CPLL_50M, "clk_cpll_div_50m", "clk_cpll_div_50m_div", 35, 13), - GATE(CPLL_25M, "clk_cpll_div_25m", "clk_cpll_div_25m_div", 35, 14), -}; - -static struct rk_clk_gate pmu_clk_gates[] = -{ - /* PMUCRU_PMUGATE_CON00 */ - GATE(XIN_OSC0_DIV, "xin_osc0_div", "xin_osc0_div_div", 0, 0), - GATE(CLK_RTC_32K, "clk_rtc_32k", "clk_rtc_32k_mux", 0, 1), - GATE(PCLK_PDPMU, "pclk_pdpmu", "pclk_pdpmu_pre", 0, 2), - GATE(PCLK_PMU, "pclk_pmu", "pclk_pdpmu", 0, 6), - GATE(CLK_PMU, "clk_pmu", "xin24m", 0, 7), - /* PMUCRU_PMUGATE_CON01 */ - GATE(PCLK_I2C0, "pclk_i2c0", "pclk_pdpmu", 1, 0), - GATE(CLK_I2C0, "clk_i2c0", "clk_i2c0_div", 1, 1), - GATE(PCLK_UART0, "pclk_uart0", "pclk_pdpmu", 1, 2), - GATE(CLK_UART0_DIV, "sclk_uart0_div", "sclk_uart0_div_div", 1, 3), - GATE(CLK_UART0_FRAC, "sclk_uart0_frac", "sclk_uart0_frac_div", 1, 4), - GATE(SCLK_UART0, "sclk_uart0", "sclk_uart0_mux", 1, 5), - GATE(PCLK_PWM0, "pclk_pwm0", "pclk_pdpmu", 1, 6), - GATE(CLK_PWM0, "clk_pwm0", "clk_pwm0_div", 1, 7), - GATE(CLK_CAPTURE_PWM0_NDFT, "clk_capture_pwm0_ndft", "xin24m", 1, 8), - GATE(PCLK_GPIO0, "pclk_gpio0", "pclk_pdpmu", 1, 9), - GATE(DBCLK_GPIO0, "dbclk_gpio0", "dbclk_gpio0_sel", 1, 10), - GATE(PCLK_PMUPVTM, "pclk_pmupvtm", "pclk_pdpmu", 1, 11), - GATE(CLK_PMUPVTM, "clk_pmupvtm", "xin24m", 1, 12), - GATE(CLK_CORE_PMUPVTM, "clk_core_pmupvtm", "xin24m", 1, 13), - /* PMUCRU_PMUGATE_CON02 */ - GATE(CLK_REF24M, "clk_ref24m", "clk_ref24m_div", 2, 0), - GATE(XIN_OSC0_USBPHY0_G, "xin_osc0_usbphy0_g", "xin24m", 2, 1), - GATE(XIN_OSC0_USBPHY1_G, "xin_osc0_usbphy1_g", "xin24m", 2, 2), - GATE(XIN_OSC0_MIPIDSIPHY0_G, "xin_osc0_mipidsiphy0_g", "xin24m", 2, 3), - GATE(XIN_OSC0_MIPIDSIPHY1_G, "xin_osc0_mipidsiphy1_g", "xin24m", 2, 4), - GATE(CLK_WIFI_DIV, "clk_wifi_div", "clk_wifi_div_div", 2, 5), - GATE(CLK_WIFI_OSC0, "clk_wifi_osc0", "xin24m", 2, 6), - GATE(CLK_PCIEPHY0_DIV, "clk_pciephy0_div", "clk_pciephy0_div_div", 2, 7), - GATE(CLK_PCIEPHY0_OSC0, "clk_pciephy0_osc0", "xin24m", 2, 8), - GATE(CLK_PCIEPHY1_DIV, "clk_pciephy1_div", "clk_pciephy1_div_div", 2, 9), - GATE(CLK_PCIEPHY1_OSC0, "clk_pciephy1_osc0", "xin24m", 2, 10), - GATE(CLK_PCIEPHY2_DIV, "clk_pciephy2_div", "clk_pciephy2_div_div", 2, 11), - GATE(CLK_PCIEPHY2_OSC0, "clk_pciephy2_osc0", "xin24m", 2, 12), - GATE(CLK_PCIE30PHY_REF_M, "clk_pcie30phy_ref_m", "ppll_ph0", 2, 13), - GATE(CLK_PCIE30PHY_REF_N, "clk_pcie30phy_ref_n", "ppll_ph180", 2, 14), - GATE(XIN_OSC0_EDPPHY_G, "xin_osc0_edpphy_g", "xin24m", 2, 15), -}; - -#define PLL_MODE_MASK 0x1 -#include "clk-pll-rk3568.c" -#include "clk-mmc-phase.c" -#include "softrst.c" - -static struct rk_pmuclk_priv *find_pmu(void) -{ - struct rk_pmuclk_priv *pmu_priv = RT_NULL; - const char *compatible = "rockchip,rk3568-pmucru"; - struct rt_ofw_node *np = rt_ofw_find_node_by_compatible(RT_NULL, compatible); - - if (np) - { - struct rk_clk *rk_clk = rt_ofw_data(np); - - pmu_priv = &rk_clk->pmuclk_info; - rt_ofw_node_put(np); - } - else - { - LOG_E("Find pmucru %s fail", compatible); - } - - return pmu_priv; -} - -static rt_ubase_t pmu_pll_set_rate(rt_ubase_t pll_id, rt_ubase_t rate) -{ - struct rk_pmuclk_priv *pmu_priv = find_pmu(); - - if (pmu_priv) - { - rk_pll_set_rate(&pmu_pll_clks[pll_id], pmu_priv->pmucru, rate); - } - - return 0; -} - -static rt_ubase_t pmu_pll_get_rate(rt_ubase_t pll_id) -{ - struct rk_pmuclk_priv *pmu_priv = find_pmu(); - - if (pmu_priv) - { - return rk_pll_get_rate(&pmu_pll_clks[pll_id], &pmu_priv->pmucru); - } - - return 0; -} - -static rt_ubase_t rtc32k_get_pmuclk(struct rk_pmuclk_priv *priv) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_ubase_t m, n; - rt_uint32_t fracdiv; - - fracdiv = HWREG32(&pmucru->pmu_clksel_con[1]); - m = fracdiv & RTC32K_FRAC_NUMERATOR_MASK; - m >>= RTC32K_FRAC_NUMERATOR_SHIFT; - n = fracdiv & RTC32K_FRAC_DENOMINATOR_MASK; - n >>= RTC32K_FRAC_DENOMINATOR_SHIFT; - - return OSC_HZ * m / n; -} - -static rt_ubase_t rtc32k_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t rate) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_ubase_t m, n, val; - - rk_clrsetreg(&pmucru->pmu_clksel_con[0], RTC32K_SEL_MASK, RTC32K_SEL_OSC0_DIV32K << RTC32K_SEL_SHIFT); - - rational_best_approximation(rate, OSC_HZ, RT_GENMASK(16 - 1, 0), RT_GENMASK(16 - 1, 0), &m, &n); - val = m << RTC32K_FRAC_NUMERATOR_SHIFT | n; - HWREG32(&pmucru->pmu_clksel_con[1]) = val; - - return rtc32k_get_pmuclk(priv); -} - -static rt_ubase_t uart_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_uint32_t reg, con, fracdiv, div, src, p_src, p_rate; - rt_ubase_t m, n; - - switch (clk_id) - { - case SCLK_UART0: - reg = 4; - break; - default: - return -RT_ERROR; - } - - con = HWREG32(&pmucru->pmu_clksel_con[reg]); - src = (con & CLK_UART0_SEL_MASK) >> CLK_UART0_SEL_SHIFT; - div = (con & CLK_UART0_DIV_DIV_MASK) >> CLK_UART0_DIV_DIV_SHIFT; - p_src = (con & CLK_UART0_DIV_SEL_MASK) >> CLK_UART0_DIV_SEL_SHIFT; - - if (p_src == CLK_UART0_SRC_SEL_PPLL) - { - p_rate = priv->ppll_hz; - } - else if (p_src == CLK_UART0_SRC_SEL_GPLL) - { - p_rate = priv->hpll_hz; - } - else - { - p_rate = 480000000; - } - if (src == CLK_UART0_SEL_DIV) - { - return DIV_TO_RATE(p_rate, div); - } - else if (src == CLK_UART0_SEL_FRACDIV) - { - fracdiv = HWREG32(&pmucru->pmu_clksel_con[reg + 1]); - n = fracdiv & CLK_UART0_FRAC_NUMERATOR_MASK; - n >>= CLK_UART0_FRAC_NUMERATOR_SHIFT; - m = fracdiv & CLK_UART0_FRAC_DENOMINATOR_MASK; - m >>= CLK_UART0_FRAC_DENOMINATOR_SHIFT; - return DIV_TO_RATE(p_rate, div) * n / m; - } - else - { - return OSC_HZ; - } -} - -static rt_ubase_t uart_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_uint32_t reg, clk_src, uart_src, div; - rt_ubase_t m = 0, n = 0, val; - - if (priv->ppll_hz % rate == 0) - { - clk_src = CLK_UART0_SRC_SEL_PPLL; - uart_src = CLK_UART0_SEL_DIV; - div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); - } - else if (priv->hpll_hz % rate == 0) - { - clk_src = CLK_UART0_SRC_SEL_GPLL; - uart_src = CLK_UART0_SEL_DIV; - div = RT_DIV_ROUND_UP(priv->hpll_hz, rate); - } - else if (rate == OSC_HZ) - { - clk_src = CLK_UART0_SRC_SEL_GPLL; - uart_src = CLK_UART0_SEL_XIN24M; - div = 2; - } - - switch (clk_id) - { - case SCLK_UART0: - reg = 4; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&pmucru->pmu_clksel_con[reg], CLK_UART0_SEL_MASK | CLK_UART0_DIV_SEL_MASK | CLK_UART0_DIV_DIV_MASK, - (clk_src << CLK_UART0_DIV_SEL_SHIFT) | (uart_src << CLK_UART0_SEL_SHIFT) | - ((div - 1) << CLK_UART0_DIV_DIV_SHIFT)); - if (m && n) - { - val = m << CLK_UART0_FRAC_NUMERATOR_SHIFT | n; - HWREG32(&pmucru->pmu_clksel_con[reg + 1]) = val; - } - - return uart_get_pmuclk(priv, clk_id); -} - -static rt_ubase_t i2c_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_uint32_t div, con; - - switch (clk_id) - { - case CLK_I2C0: - con = HWREG32(&pmucru->pmu_clksel_con[3]); - div = (con & CLK_I2C0_DIV_MASK) >> CLK_I2C0_DIV_SHIFT; - break; - default: - return -RT_ERROR; - } - - return DIV_TO_RATE(priv->ppll_hz, div); -} - -static rt_ubase_t i2c_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_pmucru *pmucru = priv->pmucru; - int src_clk_div; - - src_clk_div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 127); - - switch (clk_id) - { - case CLK_I2C0: - rk_clrsetreg(&pmucru->pmu_clksel_con[3], CLK_I2C0_DIV_MASK, (src_clk_div - 1) << CLK_I2C0_DIV_SHIFT); - break; - default: - return -RT_ERROR; - } - - return i2c_get_pmuclk(priv, clk_id); -} - -static rt_ubase_t pwm_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_uint32_t div, sel, con, parent; - - switch (clk_id) - { - case CLK_PWM0: - con = HWREG32(&pmucru->pmu_clksel_con[6]); - sel = (con & CLK_PWM0_SEL_MASK) >> CLK_PWM0_SEL_SHIFT; - div = (con & CLK_PWM0_DIV_MASK) >> CLK_PWM0_DIV_SHIFT; - if (sel == CLK_PWM0_SEL_XIN24M) - { - parent = OSC_HZ; - } - else - { - parent = priv->ppll_hz; - } - break; - default: - return -RT_ERROR; - } - - return DIV_TO_RATE(parent, div); -} - -static rt_ubase_t pwm_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_pmucru *pmucru = priv->pmucru; - int src_clk_div; - - switch (clk_id) - { - case CLK_PWM0: - if (rate == OSC_HZ) - { - rk_clrsetreg(&pmucru->pmu_clksel_con[6], CLK_PWM0_SEL_MASK | CLK_PWM0_DIV_MASK, - (CLK_PWM0_SEL_XIN24M << CLK_PWM0_SEL_SHIFT) | 0 << CLK_PWM0_SEL_SHIFT); - } - else - { - src_clk_div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 127); - rk_clrsetreg(&pmucru->pmu_clksel_con[6], CLK_PWM0_DIV_MASK | CLK_PWM0_DIV_MASK, - (CLK_PWM0_SEL_PPLL << CLK_PWM0_SEL_SHIFT) | (src_clk_div - 1) << CLK_PWM0_DIV_SHIFT); - } - break; - default: - return -RT_ERROR; - } - - return pwm_get_pmuclk(priv, clk_id); -} - -static int armclk_set_clk(struct rk_clk_priv *priv, rt_ubase_t hz) -{ - struct rk_cru *cru = priv->cru; - const struct rk_cpu_rate_table *rate; - rt_ubase_t old_rate; - - rate = rk_get_cpu_settings(cpu_rates, hz); - if (!rate) - { - LOG_E("Unsupport rate %u", hz); - - return -RT_ENOSYS; - } - - LOG_I("set cpu_freq to %lu", hz); - - rk_clrsetreg(&cru->clksel_con[0], CLK_CORE_PRE_SEL_MASK, (CLK_CORE_PRE_SEL_SRC << CLK_CORE_PRE_SEL_SHIFT)); - rk_clrsetreg(&cru->clksel_con[2], - SCLK_CORE_PRE_SEL_MASK | SCLK_CORE_SRC_SEL_MASK | SCLK_CORE_SRC_DIV_MASK, - (SCLK_CORE_PRE_SEL_SRC << SCLK_CORE_PRE_SEL_SHIFT) | - (SCLK_CORE_SRC_SEL_APLL <cru); - if (old_rate > hz) - { - if (rk_pll_set_rate(&pll_clks[apll], priv->cru, hz)) - { - LOG_E("cpu_rate adjust error"); - return -RT_ENOSYS; - } - rk_clrsetreg(&cru->clksel_con[3], GICCLK_CORE_DIV_MASK | ATCLK_CORE_DIV_MASK, - rate->pclk_div << GICCLK_CORE_DIV_SHIFT | rate->pclk_div << ATCLK_CORE_DIV_SHIFT); - rk_clrsetreg(&cru->clksel_con[4], PERIPHCLK_CORE_PRE_DIV_MASK | PCLK_CORE_PRE_DIV_MASK, - rate->pclk_div << PCLK_CORE_PRE_DIV_SHIFT | rate->pclk_div << PERIPHCLK_CORE_PRE_DIV_SHIFT); - rk_clrsetreg(&cru->clksel_con[5], ACLK_CORE_NDFT_DIV_MASK, rate->aclk_div << ACLK_CORE_NDFT_DIV_SHIFT); - } - else if (old_rate < hz) - { - rk_clrsetreg(&cru->clksel_con[3], GICCLK_CORE_DIV_MASK | ATCLK_CORE_DIV_MASK, - rate->pclk_div << GICCLK_CORE_DIV_SHIFT | rate->pclk_div << ATCLK_CORE_DIV_SHIFT); - rk_clrsetreg(&cru->clksel_con[4], PERIPHCLK_CORE_PRE_DIV_MASK | PCLK_CORE_PRE_DIV_MASK, - rate->pclk_div << PCLK_CORE_PRE_DIV_SHIFT | rate->pclk_div << PERIPHCLK_CORE_PRE_DIV_SHIFT); - rk_clrsetreg(&cru->clksel_con[5], ACLK_CORE_NDFT_DIV_MASK, rate->aclk_div << ACLK_CORE_NDFT_DIV_SHIFT); - - if (rk_pll_set_rate(&pll_clks[apll], priv->cru, hz)) - { - LOG_E("cpu_rate adjust error"); - return -RT_ENOSYS; - } - } - - return 0; -} - -static rt_ubase_t cpll_div_get_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - int div, mask, shift, con; - - switch (clk_id) - { - case CPLL_500M: - con = 78; - mask = CPLL_500M_DIV_MASK; - shift = CPLL_500M_DIV_SHIFT; - break; - case CPLL_333M: - con = 79; - mask = CPLL_333M_DIV_MASK; - shift = CPLL_333M_DIV_SHIFT; - break; - case CPLL_250M: - con = 79; - mask = CPLL_250M_DIV_MASK; - shift = CPLL_250M_DIV_SHIFT; - break; - case CPLL_125M: - con = 80; - mask = CPLL_125M_DIV_MASK; - shift = CPLL_125M_DIV_SHIFT; - break; - case CPLL_100M: - con = 82; - mask = CPLL_100M_DIV_MASK; - shift = CPLL_100M_DIV_SHIFT; - break; - case CPLL_62P5M: - con = 80; - mask = CPLL_62P5M_DIV_MASK; - shift = CPLL_62P5M_DIV_SHIFT; - break; - case CPLL_50M: - con = 81; - mask = CPLL_50M_DIV_MASK; - shift = CPLL_50M_DIV_SHIFT; - break; - case CPLL_25M: - con = 81; - mask = CPLL_25M_DIV_MASK; - shift = CPLL_25M_DIV_SHIFT; - break; - default: - return -RT_ERROR; - } - - div = (HWREG32(&cru->clksel_con[con]) & mask) >> shift; - return DIV_TO_RATE(priv->cpll_hz, div); -} - -static rt_ubase_t cpll_div_set_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int div, mask, shift, con; - - switch (clk_id) - { - case CPLL_500M: - con = 78; - mask = CPLL_500M_DIV_MASK; - shift = CPLL_500M_DIV_SHIFT; - break; - case CPLL_333M: - con = 79; - mask = CPLL_333M_DIV_MASK; - shift = CPLL_333M_DIV_SHIFT; - break; - case CPLL_250M: - con = 79; - mask = CPLL_250M_DIV_MASK; - shift = CPLL_250M_DIV_SHIFT; - break; - case CPLL_125M: - con = 80; - mask = CPLL_125M_DIV_MASK; - shift = CPLL_125M_DIV_SHIFT; - break; - case CPLL_100M: - con = 82; - mask = CPLL_100M_DIV_MASK; - shift = CPLL_100M_DIV_SHIFT; - break; - case CPLL_62P5M: - con = 80; - mask = CPLL_62P5M_DIV_MASK; - shift = CPLL_62P5M_DIV_SHIFT; - break; - case CPLL_50M: - con = 81; - mask = CPLL_50M_DIV_MASK; - shift = CPLL_50M_DIV_SHIFT; - break; - case CPLL_25M: - con = 81; - mask = CPLL_25M_DIV_MASK; - shift = CPLL_25M_DIV_SHIFT; - break; - default: - return -RT_ERROR; - } - - div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - RT_ASSERT(div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[con], mask, (div - 1) << shift); - - return cpll_div_get_rate(priv, clk_id); -} - -static rt_ubase_t bus_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t con, sel, rate; - - switch (clk_id) - { - case ACLK_BUS: - con = HWREG32(&cru->clksel_con[50]); - sel = (con & ACLK_BUS_SEL_MASK) >> ACLK_BUS_SEL_SHIFT; - - if (sel == ACLK_BUS_SEL_200M) - { - rate = 200 * MHZ; - } - else if (sel == ACLK_BUS_SEL_150M) - { - rate = 150 * MHZ; - } - else if (sel == ACLK_BUS_SEL_100M) - { - rate = 100 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - case PCLK_BUS: - case PCLK_WDT_NS: - con = HWREG32(&cru->clksel_con[50]); - sel = (con & PCLK_BUS_SEL_MASK) >> PCLK_BUS_SEL_SHIFT; - if (sel == PCLK_BUS_SEL_100M) - { - rate = 100 * MHZ; - } - else if (sel == PCLK_BUS_SEL_75M) - { - rate = 75 * MHZ; - } - else if (sel == PCLK_BUS_SEL_50M) - { - rate = 50 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - default: - return -RT_ERROR; - } - - return rate; -} - -static rt_ubase_t bus_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (clk_id) - { - case ACLK_BUS: - if (rate == 200 * MHZ) - { - src_clk = ACLK_BUS_SEL_200M; - } - else if (rate == 150 * MHZ) - { - src_clk = ACLK_BUS_SEL_150M; - } - else if (rate == 100 * MHZ) - { - src_clk = ACLK_BUS_SEL_100M; - } - else - { - src_clk = ACLK_BUS_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[50], ACLK_BUS_SEL_MASK, src_clk << ACLK_BUS_SEL_SHIFT); - break; - case PCLK_BUS: - case PCLK_WDT_NS: - if (rate == 100 * MHZ) - { - src_clk = PCLK_BUS_SEL_100M; - } - else if (rate == 75 * MHZ) - { - src_clk = PCLK_BUS_SEL_75M; - } - else if (rate == 50 * MHZ) - { - src_clk = PCLK_BUS_SEL_50M; - } - else - { - src_clk = PCLK_BUS_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[50], PCLK_BUS_SEL_MASK, src_clk << PCLK_BUS_SEL_SHIFT); - break; - - default: - return -RT_ENOSYS; - } - - return bus_get_clk(priv, clk_id); -} - -static rt_ubase_t perimid_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t con, sel, rate; - - switch (clk_id) - { - case ACLK_PERIMID: - con = HWREG32(&cru->clksel_con[10]); - sel = (con & ACLK_PERIMID_SEL_MASK) >> ACLK_PERIMID_SEL_SHIFT; - if (sel == ACLK_PERIMID_SEL_300M) - { - rate = 300 * MHZ; - } - else if (sel == ACLK_PERIMID_SEL_200M) - { - rate = 200 * MHZ; - } - else if (sel == ACLK_PERIMID_SEL_100M) - { - rate = 100 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - case HCLK_PERIMID: - con = HWREG32(&cru->clksel_con[10]); - sel = (con & HCLK_PERIMID_SEL_MASK) >> HCLK_PERIMID_SEL_SHIFT; - if (sel == HCLK_PERIMID_SEL_150M) - { - rate = 150 * MHZ; - } - else if (sel == HCLK_PERIMID_SEL_100M) - { - rate = 100 * MHZ; - } - else if (sel == HCLK_PERIMID_SEL_75M) - { - rate = 75 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - default: - return -RT_ERROR; - } - - return rate; -} - -static rt_ubase_t perimid_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (clk_id) - { - case ACLK_PERIMID: - if (rate == 300 * MHZ) - { - src_clk = ACLK_PERIMID_SEL_300M; - } - else if (rate == 200 * MHZ) - { - src_clk = ACLK_PERIMID_SEL_200M; - } - else if (rate == 100 * MHZ) - { - src_clk = ACLK_PERIMID_SEL_100M; - } - else - { - src_clk = ACLK_PERIMID_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[10], ACLK_PERIMID_SEL_MASK, src_clk << ACLK_PERIMID_SEL_SHIFT); - break; - case HCLK_PERIMID: - if (rate == 150 * MHZ) - { - src_clk = HCLK_PERIMID_SEL_150M; - } - else if (rate == 100 * MHZ) - { - src_clk = HCLK_PERIMID_SEL_100M; - } - else if (rate == 75 * MHZ) - { - src_clk = HCLK_PERIMID_SEL_75M; - } - else - { - src_clk = HCLK_PERIMID_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[10], HCLK_PERIMID_SEL_MASK, src_clk << HCLK_PERIMID_SEL_SHIFT); - break; - - default: - return -RT_ENOSYS; - } - - return perimid_get_clk(priv, clk_id); -} - -static rt_ubase_t top_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t con, sel, rate; - - switch (clk_id) - { - case ACLK_TOP_HIGH: - con = HWREG32(&cru->clksel_con[73]); - sel = (con & ACLK_TOP_HIGH_SEL_MASK) >> ACLK_TOP_HIGH_SEL_SHIFT; - if (sel == ACLK_TOP_HIGH_SEL_500M) - { - rate = 500 * MHZ; - } - else if (sel == ACLK_TOP_HIGH_SEL_400M) - { - rate = 400 * MHZ; - } - else if (sel == ACLK_TOP_HIGH_SEL_300M) - { - rate = 300 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - case ACLK_TOP_LOW: - con = HWREG32(&cru->clksel_con[73]); - sel = (con & ACLK_TOP_LOW_SEL_MASK) >> ACLK_TOP_LOW_SEL_SHIFT; - if (sel == ACLK_TOP_LOW_SEL_400M) - { - rate = 400 * MHZ; - } - else if (sel == ACLK_TOP_LOW_SEL_300M) - { - rate = 300 * MHZ; - } - else if (sel == ACLK_TOP_LOW_SEL_200M) - { - rate = 200 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - case HCLK_TOP: - con = HWREG32(&cru->clksel_con[73]); - sel = (con & HCLK_TOP_SEL_MASK) >> HCLK_TOP_SEL_SHIFT; - if (sel == HCLK_TOP_SEL_150M) - { - rate = 150 * MHZ; - } - else if (sel == HCLK_TOP_SEL_100M) - { - rate = 100 * MHZ; - } - else if (sel == HCLK_TOP_SEL_75M) - { - rate = 75 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - case PCLK_TOP: - con = HWREG32(&cru->clksel_con[73]); - sel = (con & PCLK_TOP_SEL_MASK) >> PCLK_TOP_SEL_SHIFT; - if (sel == PCLK_TOP_SEL_100M) - { - rate = 100 * MHZ; - } - else if (sel == PCLK_TOP_SEL_75M) - { - rate = 75 * MHZ; - } - else if (sel == PCLK_TOP_SEL_50M) - { - rate = 50 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - default: - return -RT_ERROR; - } - - return rate; -} - -static rt_ubase_t top_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (clk_id) - { - case ACLK_TOP_HIGH: - if (rate == 500 * MHZ) - { - src_clk = ACLK_TOP_HIGH_SEL_500M; - } - else if (rate == 400 * MHZ) - { - src_clk = ACLK_TOP_HIGH_SEL_400M; - } - else if (rate == 300 * MHZ) - { - src_clk = ACLK_TOP_HIGH_SEL_300M; - } - else - { - src_clk = ACLK_TOP_HIGH_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[73], ACLK_TOP_HIGH_SEL_MASK, src_clk << ACLK_TOP_HIGH_SEL_SHIFT); - break; - case ACLK_TOP_LOW: - if (rate == 400 * MHZ) - { - src_clk = ACLK_TOP_LOW_SEL_400M; - } - else if (rate == 300 * MHZ) - { - src_clk = ACLK_TOP_LOW_SEL_300M; - } - else if (rate == 200 * MHZ) - { - src_clk = ACLK_TOP_LOW_SEL_200M; - } - else - { - src_clk = ACLK_TOP_LOW_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[73], ACLK_TOP_LOW_SEL_MASK, src_clk << ACLK_TOP_LOW_SEL_SHIFT); - break; - case HCLK_TOP: - if (rate == 150 * MHZ) - { - src_clk = HCLK_TOP_SEL_150M; - } - else if (rate == 100 * MHZ) - { - src_clk = HCLK_TOP_SEL_100M; - } - else if (rate == 75 * MHZ) - { - src_clk = HCLK_TOP_SEL_75M; - } - else - { - src_clk = HCLK_TOP_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[73], HCLK_TOP_SEL_MASK, src_clk << HCLK_TOP_SEL_SHIFT); - break; - case PCLK_TOP: - if (rate == 100 * MHZ) - { - src_clk = PCLK_TOP_SEL_100M; - } - else if (rate == 75 * MHZ) - { - src_clk = PCLK_TOP_SEL_75M; - } - else if (rate == 50 * MHZ) - { - src_clk = PCLK_TOP_SEL_50M; - } - else - { - src_clk = PCLK_TOP_SEL_24M; - } - rk_clrsetreg(&cru->clksel_con[73], PCLK_TOP_SEL_MASK, src_clk << PCLK_TOP_SEL_SHIFT); - break; - - default: - return -RT_ENOSYS; - } - - return top_get_clk(priv, clk_id); -} - -static rt_ubase_t i2c_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - rt_ubase_t rate; - - switch (clk_id) - { - case CLK_I2C1: - case CLK_I2C2: - case CLK_I2C3: - case CLK_I2C4: - case CLK_I2C5: - con = HWREG32(&cru->clksel_con[71]); - sel = (con & CLK_I2C_SEL_MASK) >> CLK_I2C_SEL_SHIFT; - if (sel == CLK_I2C_SEL_200M) - { - rate = 200 * MHZ; - } - else if (sel == CLK_I2C_SEL_100M) - { - rate = 100 * MHZ; - } - else if (sel == CLK_I2C_SEL_CPLL_100M) - { - rate = 100 * MHZ; - } - else - { - rate = OSC_HZ; - } - break; - default: - return -RT_ERROR; - } - - return rate; -} - -static rt_ubase_t i2c_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - if (rate == 200 * MHZ) - { - src_clk = CLK_I2C_SEL_200M; - } - else if (rate == 100 * MHZ) - { - src_clk = CLK_I2C_SEL_100M; - } - else - { - src_clk = CLK_I2C_SEL_24M; - } - - switch (clk_id) - { - case CLK_I2C1: - case CLK_I2C2: - case CLK_I2C3: - case CLK_I2C4: - case CLK_I2C5: - rk_clrsetreg(&cru->clksel_con[71], CLK_I2C_SEL_MASK, src_clk << CLK_I2C_SEL_SHIFT); - break; - default: - return -RT_ERROR; - } - - return i2c_get_clk(priv, clk_id); -} - -static rt_ubase_t spi_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[72]); - - switch (clk_id) - { - case CLK_SPI0: - sel = (con & CLK_SPI0_SEL_MASK) >> CLK_SPI0_SEL_SHIFT; - break; - case CLK_SPI1: - sel = (con & CLK_SPI1_SEL_MASK) >> CLK_SPI1_SEL_SHIFT; - break; - case CLK_SPI2: - sel = (con & CLK_SPI2_SEL_MASK) >> CLK_SPI2_SEL_SHIFT; - break; - case CLK_SPI3: - sel = (con & CLK_SPI3_SEL_MASK) >> CLK_SPI3_SEL_SHIFT; - break; - default: - return -RT_ERROR; - } - - switch (sel) - { - case CLK_SPI_SEL_200M: - return 200 * MHZ; - case CLK_SPI_SEL_24M: - return OSC_HZ; - case CLK_SPI_SEL_CPLL_100M: - return 100 * MHZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t spi_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - if (rate == 200 * MHZ) - { - src_clk = CLK_SPI_SEL_200M; - } - else if (rate == 100 * MHZ) - { - src_clk = CLK_SPI_SEL_CPLL_100M; - } - else - { - src_clk = CLK_SPI_SEL_24M; - } - - switch (clk_id) - { - case CLK_SPI0: - rk_clrsetreg(&cru->clksel_con[72], CLK_SPI0_SEL_MASK, src_clk << CLK_SPI0_SEL_SHIFT); - break; - case CLK_SPI1: - rk_clrsetreg(&cru->clksel_con[72], CLK_SPI1_SEL_MASK, src_clk << CLK_SPI1_SEL_SHIFT); - break; - case CLK_SPI2: - rk_clrsetreg(&cru->clksel_con[72], CLK_SPI2_SEL_MASK, src_clk << CLK_SPI2_SEL_SHIFT); - break; - case CLK_SPI3: - rk_clrsetreg(&cru->clksel_con[72], CLK_SPI3_SEL_MASK, src_clk << CLK_SPI3_SEL_SHIFT); - break; - default: - return -RT_ERROR; - } - - return spi_get_clk(priv, clk_id); -} - -static rt_ubase_t pwm_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[72]); - - switch (clk_id) - { - case CLK_PWM1: - sel = (con & CLK_PWM1_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; - break; - case CLK_PWM2: - sel = (con & CLK_PWM2_SEL_MASK) >> CLK_PWM2_SEL_SHIFT; - break; - case CLK_PWM3: - sel = (con & CLK_PWM3_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; - break; - default: - return -RT_ERROR; - } - - switch (sel) - { - case CLK_PWM_SEL_100M: - return 100 * MHZ; - case CLK_PWM_SEL_24M: - return OSC_HZ; - case CLK_PWM_SEL_CPLL_100M: - return 100 * MHZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t pwm_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - if (rate == 100 * MHZ) - { - src_clk = CLK_PWM_SEL_100M; - } - else - { - src_clk = CLK_PWM_SEL_24M; - } - - switch (clk_id) - { - case CLK_PWM1: - rk_clrsetreg(&cru->clksel_con[72], CLK_PWM1_SEL_MASK, src_clk << CLK_PWM1_SEL_SHIFT); - break; - case CLK_PWM2: - rk_clrsetreg(&cru->clksel_con[72], CLK_PWM2_SEL_MASK, src_clk << CLK_PWM2_SEL_SHIFT); - break; - case CLK_PWM3: - rk_clrsetreg(&cru->clksel_con[72], CLK_PWM3_SEL_MASK, src_clk << CLK_PWM3_SEL_SHIFT); - break; - default: - return -RT_ERROR; - } - - return pwm_get_clk(priv, clk_id); -} - -static rt_ubase_t adc_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t div, sel, con, prate; - - switch (clk_id) - { - case CLK_SARADC: - return OSC_HZ; - case CLK_TSADC_TSEN: - con = HWREG32(&cru->clksel_con[51]); - div = (con & CLK_TSADC_TSEN_DIV_MASK) >> CLK_TSADC_TSEN_DIV_SHIFT; - sel = (con & CLK_TSADC_TSEN_SEL_MASK) >> CLK_TSADC_TSEN_SEL_SHIFT; - if (sel == CLK_TSADC_TSEN_SEL_24M) - { - prate = OSC_HZ; - } - else - { - prate = 100 * MHZ; - } - return DIV_TO_RATE(prate, div); - case CLK_TSADC: - con = HWREG32(&cru->clksel_con[51]); - div = (con & CLK_TSADC_DIV_MASK) >> CLK_TSADC_DIV_SHIFT; - prate = adc_get_clk(priv, CLK_TSADC_TSEN); - return DIV_TO_RATE(prate, div); - default: - return -RT_ERROR; - } -} - -static rt_ubase_t adc_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk_div; - rt_ubase_t prate = 0; - - switch (clk_id) - { - case CLK_SARADC: - return OSC_HZ; - case CLK_TSADC_TSEN: - if (!(OSC_HZ % rate)) - { - src_clk_div = RT_DIV_ROUND_UP(OSC_HZ, rate); - RT_ASSERT(src_clk_div - 1 <= 7); - rk_clrsetreg(&cru->clksel_con[51], CLK_TSADC_TSEN_SEL_MASK | CLK_TSADC_TSEN_DIV_MASK, - (CLK_TSADC_TSEN_SEL_24M << CLK_TSADC_TSEN_SEL_SHIFT) | - (src_clk_div - 1) << CLK_TSADC_TSEN_DIV_SHIFT); - } - else - { - src_clk_div = RT_DIV_ROUND_UP(100 * MHZ, rate); - RT_ASSERT(src_clk_div - 1 <= 7); - rk_clrsetreg(&cru->clksel_con[51], CLK_TSADC_TSEN_SEL_MASK | CLK_TSADC_TSEN_DIV_MASK, - (CLK_TSADC_TSEN_SEL_100M << CLK_TSADC_TSEN_SEL_SHIFT) | - (src_clk_div - 1) << CLK_TSADC_TSEN_DIV_SHIFT); - } - break; - case CLK_TSADC: - prate = adc_get_clk(priv, CLK_TSADC_TSEN); - src_clk_div = RT_DIV_ROUND_UP(prate, rate); - RT_ASSERT(src_clk_div - 1 <= 128); - rk_clrsetreg(&cru->clksel_con[51], CLK_TSADC_DIV_MASK, (src_clk_div - 1) << CLK_TSADC_DIV_SHIFT); - break; - default: - return -RT_ERROR; - } - return adc_get_clk(priv, clk_id); -} - -static rt_ubase_t crypto_get_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - switch (clk_id) - { - case ACLK_SECURE_FLASH: - case ACLK_CRYPTO_NS: - con = HWREG32(&cru->clksel_con[27]); - sel = (con & ACLK_SECURE_FLASH_SEL_MASK) >> ACLK_SECURE_FLASH_SEL_SHIFT; - if (sel == ACLK_SECURE_FLASH_SEL_200M) - { - return 200 * MHZ; - } - else if (sel == ACLK_SECURE_FLASH_SEL_150M) - { - return 150 * MHZ; - } - else if (sel == ACLK_SECURE_FLASH_SEL_100M) - { - return 100 * MHZ; - } - else - { - return 24 * MHZ; - } - case HCLK_SECURE_FLASH: - case HCLK_CRYPTO_NS: - case CLK_CRYPTO_NS_RNG: - con = HWREG32(&cru->clksel_con[27]); - sel = (con & HCLK_SECURE_FLASH_SEL_MASK) >> HCLK_SECURE_FLASH_SEL_SHIFT; - if (sel == HCLK_SECURE_FLASH_SEL_150M) - { - return 150 * MHZ; - } - else if (sel == HCLK_SECURE_FLASH_SEL_100M) - { - return 100 * MHZ; - } - else if (sel == HCLK_SECURE_FLASH_SEL_75M) - { - return 75 * MHZ; - } - else - { - return 24 * MHZ; - } - case CLK_CRYPTO_NS_CORE: - con = HWREG32(&cru->clksel_con[27]); - sel = (con & CLK_CRYPTO_CORE_SEL_MASK) >> CLK_CRYPTO_CORE_SEL_SHIFT; - if (sel == CLK_CRYPTO_CORE_SEL_200M) - { - return 200 * MHZ; - } - else if (sel == CLK_CRYPTO_CORE_SEL_150M) - { - return 150 * MHZ; - } - else - { - return 100 * MHZ; - } - case CLK_CRYPTO_NS_PKA: - con = HWREG32(&cru->clksel_con[27]); - sel = (con & CLK_CRYPTO_PKA_SEL_MASK) >> CLK_CRYPTO_PKA_SEL_SHIFT; - if (sel == CLK_CRYPTO_PKA_SEL_300M) - { - return 300 * MHZ; - } - else if (sel == CLK_CRYPTO_PKA_SEL_200M) - { - return 200 * MHZ; - } - else - { - return 100 * MHZ; - } - default: - return -RT_ERROR; - } -} - -static rt_ubase_t crypto_set_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t src_clk, mask, shift; - - switch (clk_id) - { - case ACLK_SECURE_FLASH: - case ACLK_CRYPTO_NS: - mask = ACLK_SECURE_FLASH_SEL_MASK; - shift = ACLK_SECURE_FLASH_SEL_SHIFT; - if (rate == 200 * MHZ) - { - src_clk = ACLK_SECURE_FLASH_SEL_200M; - } - else if (rate == 150 * MHZ) - { - src_clk = ACLK_SECURE_FLASH_SEL_150M; - } - else if (rate == 100 * MHZ) - { - src_clk = ACLK_SECURE_FLASH_SEL_100M; - } - else - { - src_clk = ACLK_SECURE_FLASH_SEL_24M; - } - break; - case HCLK_SECURE_FLASH: - case HCLK_CRYPTO_NS: - case CLK_CRYPTO_NS_RNG: - mask = HCLK_SECURE_FLASH_SEL_MASK; - shift = HCLK_SECURE_FLASH_SEL_SHIFT; - if (rate == 150 * MHZ) - { - src_clk = HCLK_SECURE_FLASH_SEL_150M; - } - else if (rate == 100 * MHZ) - { - src_clk = HCLK_SECURE_FLASH_SEL_100M; - } - else if (rate == 75 * MHZ) - { - src_clk = HCLK_SECURE_FLASH_SEL_75M; - } - else - { - src_clk = HCLK_SECURE_FLASH_SEL_24M; - } - break; - case CLK_CRYPTO_NS_CORE: - mask = CLK_CRYPTO_CORE_SEL_MASK; - shift = CLK_CRYPTO_CORE_SEL_SHIFT; - if (rate == 200 * MHZ) - { - src_clk = CLK_CRYPTO_CORE_SEL_200M; - } - else if (rate == 150 * MHZ) - { - src_clk = CLK_CRYPTO_CORE_SEL_150M; - } - else - { - src_clk = CLK_CRYPTO_CORE_SEL_100M; - } - break; - case CLK_CRYPTO_NS_PKA: - mask = CLK_CRYPTO_PKA_SEL_MASK; - shift = CLK_CRYPTO_PKA_SEL_SHIFT; - if (rate == 300 * MHZ) - { - src_clk = CLK_CRYPTO_PKA_SEL_300M; - } - else if (rate == 200 * MHZ) - { - src_clk = CLK_CRYPTO_PKA_SEL_200M; - } - else - { - src_clk = CLK_CRYPTO_PKA_SEL_100M; - } - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[27], mask, src_clk << shift); - - return crypto_get_rate(priv, clk_id); -} - -static rt_ubase_t sdmmc_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - switch (clk_id) - { - case HCLK_SDMMC0: - case CLK_SDMMC0: - con = HWREG32(&cru->clksel_con[30]); - sel = (con & CLK_SDMMC0_SEL_MASK) >> CLK_SDMMC0_SEL_SHIFT; - break; - case CLK_SDMMC1: - con = HWREG32(&cru->clksel_con[30]); - sel = (con & CLK_SDMMC1_SEL_MASK) >> CLK_SDMMC1_SEL_SHIFT; - break; - case CLK_SDMMC2: - con = HWREG32(&cru->clksel_con[32]); - sel = (con & CLK_SDMMC2_SEL_MASK) >> CLK_SDMMC2_SEL_SHIFT; - break; - default: - return -RT_ERROR; - } - - switch (sel) - { - case CLK_SDMMC_SEL_24M: - return OSC_HZ; - case CLK_SDMMC_SEL_400M: - return 400 * MHZ; - case CLK_SDMMC_SEL_300M: - return 300 * MHZ; - case CLK_SDMMC_SEL_100M: - return 100 * MHZ; - case CLK_SDMMC_SEL_50M: - return 50 * MHZ; - case CLK_SDMMC_SEL_750K: - return 750 * KHZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t sdmmc_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case OSC_HZ: - src_clk = CLK_SDMMC_SEL_24M; - break; - case 400 * MHZ: - src_clk = CLK_SDMMC_SEL_400M; - break; - case 300 * MHZ: - src_clk = CLK_SDMMC_SEL_300M; - break; - case 100 * MHZ: - src_clk = CLK_SDMMC_SEL_100M; - break; - case 52 * MHZ: - case 50 * MHZ: - src_clk = CLK_SDMMC_SEL_50M; - break; - case 750 * KHZ: - case 400 * KHZ: - src_clk = CLK_SDMMC_SEL_750K; - break; - default: - return -RT_ERROR; - } - - switch (clk_id) - { - case HCLK_SDMMC0: - case CLK_SDMMC0: - rk_clrsetreg(&cru->clksel_con[30], CLK_SDMMC0_SEL_MASK, src_clk << CLK_SDMMC0_SEL_SHIFT); - break; - case CLK_SDMMC1: - rk_clrsetreg(&cru->clksel_con[30], CLK_SDMMC1_SEL_MASK, src_clk << CLK_SDMMC1_SEL_SHIFT); - break; - case CLK_SDMMC2: - rk_clrsetreg(&cru->clksel_con[32], CLK_SDMMC2_SEL_MASK, src_clk << CLK_SDMMC2_SEL_SHIFT); - break; - default: - return -RT_ERROR; - } - - return sdmmc_get_clk(priv, clk_id); -} - -static rt_ubase_t sfc_get_clk(struct rk_clk_priv *priv) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[28]); - sel = (con & SCLK_SFC_SEL_MASK) >> SCLK_SFC_SEL_SHIFT; - - switch (sel) - { - case SCLK_SFC_SEL_24M: - return OSC_HZ; - case SCLK_SFC_SEL_50M: - return 50 * MHZ; - case SCLK_SFC_SEL_75M: - return 75 * MHZ; - case SCLK_SFC_SEL_100M: - return 100 * MHZ; - case SCLK_SFC_SEL_125M: - return 125 * MHZ; - case SCLK_SFC_SEL_150M: - return 150 * KHZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t sfc_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case OSC_HZ: - src_clk = SCLK_SFC_SEL_24M; - break; - case 50 * MHZ: - src_clk = SCLK_SFC_SEL_50M; - break; - case 75 * MHZ: - src_clk = SCLK_SFC_SEL_75M; - break; - case 100 * MHZ: - src_clk = SCLK_SFC_SEL_100M; - break; - case 125 * MHZ: - src_clk = SCLK_SFC_SEL_125M; - break; - case 150 * KHZ: - src_clk = SCLK_SFC_SEL_150M; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[28], SCLK_SFC_SEL_MASK, src_clk << SCLK_SFC_SEL_SHIFT); - - return sfc_get_clk(priv); -} - -static rt_ubase_t nand_get_clk(struct rk_clk_priv *priv) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[28]); - sel = (con & NCLK_NANDC_SEL_MASK) >> NCLK_NANDC_SEL_SHIFT; - - switch (sel) - { - case NCLK_NANDC_SEL_200M: - return 200 * MHZ; - case NCLK_NANDC_SEL_150M: - return 150 * MHZ; - case NCLK_NANDC_SEL_100M: - return 100 * MHZ; - case NCLK_NANDC_SEL_24M: - return OSC_HZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t nand_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case OSC_HZ: - src_clk = NCLK_NANDC_SEL_24M; - break; - case 100 * MHZ: - src_clk = NCLK_NANDC_SEL_100M; - break; - case 150 * MHZ: - src_clk = NCLK_NANDC_SEL_150M; - break; - case 200 * MHZ: - src_clk = NCLK_NANDC_SEL_200M; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[28], NCLK_NANDC_SEL_MASK, src_clk << NCLK_NANDC_SEL_SHIFT); - - return nand_get_clk(priv); -} - -static rt_ubase_t emmc_get_clk(struct rk_clk_priv *priv) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[28]); - sel = (con & CCLK_EMMC_SEL_MASK) >> CCLK_EMMC_SEL_SHIFT; - - switch (sel) - { - case CCLK_EMMC_SEL_200M: - return 200 * MHZ; - case CCLK_EMMC_SEL_150M: - return 150 * MHZ; - case CCLK_EMMC_SEL_100M: - return 100 * MHZ; - case CCLK_EMMC_SEL_50M: - return 50 * MHZ; - case CCLK_EMMC_SEL_375K: - return 375 * KHZ; - case CCLK_EMMC_SEL_24M: - return OSC_HZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t emmc_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case OSC_HZ: - src_clk = CCLK_EMMC_SEL_24M; - break; - case 52 * MHZ: - case 50 * MHZ: - src_clk = CCLK_EMMC_SEL_50M; - break; - case 100 * MHZ: - src_clk = CCLK_EMMC_SEL_100M; - break; - case 150 * MHZ: - src_clk = CCLK_EMMC_SEL_150M; - break; - case 200 * MHZ: - src_clk = CCLK_EMMC_SEL_200M; - break; - case 400 * KHZ: - case 375 * KHZ: - src_clk = CCLK_EMMC_SEL_375K; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[28], CCLK_EMMC_SEL_MASK, src_clk << CCLK_EMMC_SEL_SHIFT); - - return emmc_get_clk(priv); -} - -static rt_ubase_t emmc_get_bclk(struct rk_clk_priv *priv) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[28]); - sel = (con & BCLK_EMMC_SEL_MASK) >> BCLK_EMMC_SEL_SHIFT; - - switch (sel) - { - case BCLK_EMMC_SEL_200M: - return 200 * MHZ; - case BCLK_EMMC_SEL_150M: - return 150 * MHZ; - case BCLK_EMMC_SEL_125M: - return 125 * MHZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t emmc_set_bclk(struct rk_clk_priv *priv, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case 200 * MHZ: - src_clk = BCLK_EMMC_SEL_200M; - break; - case 150 * MHZ: - src_clk = BCLK_EMMC_SEL_150M; - break; - case 125 * MHZ: - src_clk = BCLK_EMMC_SEL_125M; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[28], BCLK_EMMC_SEL_MASK, src_clk << BCLK_EMMC_SEL_SHIFT); - - return emmc_get_bclk(priv); -} - -static rt_ubase_t aclk_vop_get_clk(struct rk_clk_priv *priv) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t div, sel, con, parent; - - con = HWREG32(&cru->clksel_con[38]); - div = (con & ACLK_VOP_PRE_DIV_MASK) >> ACLK_VOP_PRE_DIV_SHIFT; - sel = (con & ACLK_VOP_PRE_SEL_MASK) >> ACLK_VOP_PRE_SEL_SHIFT; - - if (sel == ACLK_VOP_PRE_SEL_GPLL) - { - parent = priv->gpll_hz; - } - else if (sel == ACLK_VOP_PRE_SEL_CPLL) - { - parent = priv->cpll_hz; - } - else if (sel == ACLK_VOP_PRE_SEL_VPLL) - { - parent = priv->vpll_hz; - } - else - { - parent = priv->hpll_hz; - } - - return DIV_TO_RATE(parent, div); -} - -static rt_ubase_t aclk_vop_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk_div, src_clk_mux; - - if ((priv->cpll_hz % rate) == 0) - { - src_clk_div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - src_clk_mux = ACLK_VOP_PRE_SEL_CPLL; - } - else - { - src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - src_clk_mux = ACLK_VOP_PRE_SEL_GPLL; - } - - RT_ASSERT(src_clk_div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[38], ACLK_VOP_PRE_SEL_MASK | ACLK_VOP_PRE_DIV_MASK, - src_clk_mux << ACLK_VOP_PRE_SEL_SHIFT | (src_clk_div - 1) << ACLK_VOP_PRE_DIV_SHIFT); - - return aclk_vop_get_clk(priv); -} - -static rt_ubase_t dclk_vop_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t conid, div, sel, con, parent; - - switch (clk_id) - { - case DCLK_VOP0: - conid = 39; - break; - case DCLK_VOP1: - conid = 40; - break; - case DCLK_VOP2: - conid = 41; - break; - default: - return -RT_ERROR; - } - - con = HWREG32(&cru->clksel_con[conid]); - div = (con & DCLK0_VOP_DIV_MASK) >> DCLK0_VOP_DIV_SHIFT; - sel = (con & DCLK0_VOP_SEL_MASK) >> DCLK0_VOP_SEL_SHIFT; - - if (sel == DCLK_VOP_SEL_HPLL) - { - parent = pmu_pll_get_rate(hpll); - } - else if (sel == DCLK_VOP_SEL_VPLL) - { - parent = rk_pll_get_rate(&pll_clks[vpll], &priv->cru); - } - else if (sel == DCLK_VOP_SEL_GPLL) - { - parent = priv->gpll_hz; - } - else if (sel == DCLK_VOP_SEL_CPLL) - { - parent = priv->cpll_hz; - } - else - { - return -RT_ERROR; - } - - return DIV_TO_RATE(parent, div); -} - -#define VOP_PLL_LIMIT_FREQ 600000000 - -static rt_ubase_t dclk_vop_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - rt_ubase_t pll_rate, now, best_rate = 0; - rt_uint32_t i, conid, con, sel, div, best_div = 0, best_sel = 0; - - switch (clk_id) - { - case DCLK_VOP0: - conid = 39; - break; - case DCLK_VOP1: - conid = 40; - break; - case DCLK_VOP2: - conid = 41; - break; - default: - return -RT_ERROR; - } - - con = HWREG32(&cru->clksel_con[conid]); - sel = (con & DCLK0_VOP_SEL_MASK) >> DCLK0_VOP_SEL_SHIFT; - - if (sel == DCLK_VOP_SEL_HPLL) - { - div = 1; - rk_clrsetreg(&cru->clksel_con[conid], DCLK0_VOP_DIV_MASK | DCLK0_VOP_SEL_MASK, - (DCLK_VOP_SEL_HPLL << DCLK0_VOP_SEL_SHIFT) | ((div - 1) << DCLK0_VOP_DIV_SHIFT)); - pmu_pll_set_rate(hpll, div * rate); - } - else if (sel == DCLK_VOP_SEL_VPLL) - { - div = RT_DIV_ROUND_UP(VOP_PLL_LIMIT_FREQ, rate); - rk_clrsetreg(&cru->clksel_con[conid], DCLK0_VOP_DIV_MASK | DCLK0_VOP_SEL_MASK, - (DCLK_VOP_SEL_VPLL << DCLK0_VOP_SEL_SHIFT) | ((div - 1) << DCLK0_VOP_DIV_SHIFT)); - rk_pll_set_rate(&pll_clks[vpll], priv->cru, div * rate); - } - else - { - for (i = 0; i <= DCLK_VOP_SEL_CPLL; i++) - { - switch (i) - { - case DCLK_VOP_SEL_GPLL: - pll_rate = priv->gpll_hz; - break; - case DCLK_VOP_SEL_CPLL: - pll_rate = priv->cpll_hz; - break; - default: - return -RT_ENOSYS; - } - - div = RT_DIV_ROUND_UP(pll_rate, rate); - - if (div > 255) - { - continue; - } - - now = pll_rate / div; - - if (rt_abs(rate - now) < rt_abs(rate - best_rate)) - { - best_rate = now; - best_div = div; - best_sel = i; - } - } - - if (best_rate) - { - rk_clrsetreg(&cru->clksel_con[conid], DCLK0_VOP_DIV_MASK | DCLK0_VOP_SEL_MASK, - best_sel << DCLK0_VOP_SEL_SHIFT | (best_div - 1) << DCLK0_VOP_DIV_SHIFT); - } - else - { - return -RT_ENOSYS; - } - } - return dclk_vop_get_clk(priv, clk_id); -} - -static rt_ubase_t gmac_src_get_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); - sel = (con & CLK_MAC0_2TOP_SEL_MASK) >> CLK_MAC0_2TOP_SEL_SHIFT; - - switch (sel) - { - case CLK_MAC0_2TOP_SEL_125M: - return 125 * MHZ; - case CLK_MAC0_2TOP_SEL_50M: - return 50 * MHZ; - case CLK_MAC0_2TOP_SEL_25M: - return 25 * MHZ; - case CLK_MAC0_2TOP_SEL_PPLL: - return pmu_pll_get_rate(hpll); - default: - return -RT_ERROR; - } -} - -static rt_ubase_t gmac_src_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case 125 * MHZ: - src_clk = CLK_MAC0_2TOP_SEL_125M; - break; - case 50 * MHZ: - src_clk = CLK_MAC0_2TOP_SEL_50M; - break; - case 25 * MHZ: - src_clk = CLK_MAC0_2TOP_SEL_25M; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], CLK_MAC0_2TOP_SEL_MASK, src_clk << CLK_MAC0_2TOP_SEL_SHIFT); - - return gmac_src_get_clk(priv, mac_id); -} - -static rt_ubase_t gmac_out_get_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); - sel = (con & CLK_MAC0_OUT_SEL_MASK) >> CLK_MAC0_OUT_SEL_SHIFT; - - switch (sel) - { - case CLK_MAC0_OUT_SEL_125M: - return 125 * MHZ; - case CLK_MAC0_OUT_SEL_50M: - return 50 * MHZ; - case CLK_MAC0_OUT_SEL_25M: - return 25 * MHZ; - case CLK_MAC0_OUT_SEL_24M: - return OSC_HZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t gmac_out_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case 125 * MHZ: - src_clk = CLK_MAC0_OUT_SEL_125M; - break; - case 50 * MHZ: - src_clk = CLK_MAC0_OUT_SEL_50M; - break; - case 25 * MHZ: - src_clk = CLK_MAC0_OUT_SEL_25M; - break; - case 24 * MHZ: - src_clk = CLK_MAC0_OUT_SEL_24M; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], CLK_MAC0_OUT_SEL_MASK, src_clk << CLK_MAC0_OUT_SEL_SHIFT); - - return gmac_out_get_clk(priv, mac_id); -} - -static rt_ubase_t gmac_ptp_ref_get_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); - sel = (con & CLK_GMAC0_PTP_REF_SEL_MASK) >> CLK_GMAC0_PTP_REF_SEL_SHIFT; - - switch (sel) - { - case CLK_GMAC0_PTP_REF_SEL_62_5M: - return 62500 * KHZ; - case CLK_GMAC0_PTP_REF_SEL_100M: - return 100 * MHZ; - case CLK_GMAC0_PTP_REF_SEL_50M: - return 50 * MHZ; - case CLK_GMAC0_PTP_REF_SEL_24M: - return OSC_HZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t gmac_ptp_ref_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk; - - switch (rate) - { - case 62500 * KHZ: - src_clk = CLK_GMAC0_PTP_REF_SEL_62_5M; - break; - case 100 * MHZ: - src_clk = CLK_GMAC0_PTP_REF_SEL_100M; - break; - case 50 * MHZ: - src_clk = CLK_GMAC0_PTP_REF_SEL_50M; - break; - case 24 * MHZ: - src_clk = CLK_GMAC0_PTP_REF_SEL_24M; - break; - default: - return -RT_ERROR; - } - - rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], CLK_GMAC0_PTP_REF_SEL_MASK, src_clk << CLK_GMAC0_PTP_REF_SEL_SHIFT); - - return gmac_ptp_ref_get_clk(priv, mac_id); -} - -static rt_ubase_t gmac_tx_rx_set_clk(struct rk_clk_priv *priv, rt_ubase_t mac_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t con, sel, div_sel; - - con = HWREG32(&cru->clksel_con[31 + mac_id * 2]); - sel = (con & RMII0_MODE_MASK) >> RMII0_MODE_SHIFT; - - if (sel == RMII0_MODE_SEL_RGMII) - { - if (rate == 2500000) - { - div_sel = RGMII0_CLK_SEL_2_5M; - } - else if (rate == 25000000) - { - div_sel = RGMII0_CLK_SEL_25M; - } - else - { - div_sel = RGMII0_CLK_SEL_125M; - } - rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], RGMII0_CLK_SEL_MASK, div_sel << RGMII0_CLK_SEL_SHIFT); - } - else if (sel == RMII0_MODE_SEL_RMII) - { - if (rate == 2500000) - { - div_sel = RMII0_CLK_SEL_2_5M; - } - else - { - div_sel = RMII0_CLK_SEL_25M; - } - rk_clrsetreg(&cru->clksel_con[31 + mac_id * 2], RMII0_CLK_SEL_MASK, div_sel << RMII0_CLK_SEL_SHIFT); - } - - return 0; -} - -static rt_ubase_t ebc_get_clk(struct rk_clk_priv *priv) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t con, div, p_rate; - - con = HWREG32(&cru->clksel_con[79]); - div = (con & CPLL_333M_DIV_MASK) >> CPLL_333M_DIV_SHIFT; - p_rate = DIV_TO_RATE(priv->cpll_hz, div); - - con = HWREG32(&cru->clksel_con[43]); - div = (con & DCLK_EBC_SEL_MASK) >> DCLK_EBC_SEL_SHIFT; - - switch (div) - { - case DCLK_EBC_SEL_GPLL_400M: - return 400 * MHZ; - case DCLK_EBC_SEL_CPLL_333M: - return p_rate; - case DCLK_EBC_SEL_GPLL_200M: - return 200 * MHZ; - default: - return -RT_ERROR; - } -} - -static rt_ubase_t ebc_set_clk(struct rk_clk_priv *priv, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk_div; - - src_clk_div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[79], CPLL_333M_DIV_MASK, (src_clk_div - 1) << CPLL_333M_DIV_SHIFT); - rk_clrsetreg(&cru->clksel_con[43], DCLK_EBC_SEL_MASK, DCLK_EBC_SEL_CPLL_333M << DCLK_EBC_SEL_SHIFT); - - return ebc_get_clk(priv); -} - -static rt_ubase_t rkvdec_get_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t con, div, src, p_rate; - - switch (clk_id) - { - case ACLK_RKVDEC_PRE: - case ACLK_RKVDEC: - con = HWREG32(&cru->clksel_con[47]); - src = (con & ACLK_RKVDEC_SEL_MASK) >> ACLK_RKVDEC_SEL_SHIFT; - div = (con & ACLK_RKVDEC_DIV_MASK) >> ACLK_RKVDEC_DIV_SHIFT; - - if (src == ACLK_RKVDEC_SEL_CPLL) - { - p_rate = priv->cpll_hz; - } - else - { - p_rate = priv->gpll_hz; - } - return DIV_TO_RATE(p_rate, div); - case CLK_RKVDEC_CORE: - con = HWREG32(&cru->clksel_con[49]); - src = (con & CLK_RKVDEC_CORE_SEL_MASK) >> CLK_RKVDEC_CORE_SEL_SHIFT; - div = (con & CLK_RKVDEC_CORE_DIV_MASK) >> CLK_RKVDEC_CORE_DIV_SHIFT; - - if (src == CLK_RKVDEC_CORE_SEL_CPLL) - { - p_rate = priv->cpll_hz; - } - else if (src == CLK_RKVDEC_CORE_SEL_NPLL) - { - p_rate = priv->npll_hz; - } - else if (src == CLK_RKVDEC_CORE_SEL_VPLL) - { - p_rate = priv->vpll_hz; - } - else - { - p_rate = priv->gpll_hz; - } - return DIV_TO_RATE(p_rate, div); - default: - return -RT_ERROR; - } -} - -static rt_ubase_t rkvdec_set_clk(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - int src_clk_div, src, p_rate; - - switch (clk_id) - { - case ACLK_RKVDEC_PRE: - case ACLK_RKVDEC: - src = (HWREG32(&cru->clksel_con[47]) & ACLK_RKVDEC_SEL_MASK) >> ACLK_RKVDEC_SEL_SHIFT; - if (src == ACLK_RKVDEC_SEL_CPLL) - { - p_rate = priv->cpll_hz; - } - else - { - p_rate = priv->gpll_hz; - } - src_clk_div = RT_DIV_ROUND_UP(p_rate, rate); - RT_ASSERT(src_clk_div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[47], ACLK_RKVDEC_SEL_MASK | ACLK_RKVDEC_DIV_MASK, - (src << ACLK_RKVDEC_SEL_SHIFT) | (src_clk_div - 1) << ACLK_RKVDEC_DIV_SHIFT); - break; - case CLK_RKVDEC_CORE: - src = (HWREG32(&cru->clksel_con[49]) & CLK_RKVDEC_CORE_SEL_MASK) >> CLK_RKVDEC_CORE_SEL_SHIFT; - if (src == CLK_RKVDEC_CORE_SEL_CPLL) - { - p_rate = priv->cpll_hz; - } - else if (src == CLK_RKVDEC_CORE_SEL_NPLL) - { - p_rate = priv->npll_hz; - } - else if (src == CLK_RKVDEC_CORE_SEL_VPLL) - { - p_rate = priv->vpll_hz; - } - else - { - p_rate = priv->gpll_hz; - } - src_clk_div = RT_DIV_ROUND_UP(p_rate, rate); - RT_ASSERT(src_clk_div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[49], CLK_RKVDEC_CORE_SEL_MASK | CLK_RKVDEC_CORE_DIV_MASK, - (src << CLK_RKVDEC_CORE_SEL_SHIFT) | (src_clk_div - 1) << CLK_RKVDEC_CORE_DIV_SHIFT); - break; - default: - return -RT_ERROR; - } - - return rkvdec_get_clk(priv, clk_id); -} - -static rt_ubase_t uart_get_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t reg, con, fracdiv, div, src, p_src, p_rate; - rt_ubase_t m, n; - - switch (clk_id) - { - case SCLK_UART1: - reg = 52; - break; - case SCLK_UART2: - reg = 54; - break; - case SCLK_UART3: - reg = 56; - break; - case SCLK_UART4: - reg = 58; - break; - case SCLK_UART5: - reg = 60; - break; - case SCLK_UART6: - reg = 62; - break; - case SCLK_UART7: - reg = 64; - break; - case SCLK_UART8: - reg = 66; - break; - case SCLK_UART9: - reg = 68; - break; - default: - return -RT_ERROR; - } - - con = HWREG32(&cru->clksel_con[reg]); - src = (con & CLK_UART_SEL_MASK) >> CLK_UART_SEL_SHIFT; - div = (con & CLK_UART_SRC_DIV_MASK) >> CLK_UART_SRC_DIV_SHIFT; - p_src = (con & CLK_UART_SRC_SEL_MASK) >> CLK_UART_SRC_SEL_SHIFT; - - if (p_src == CLK_UART_SRC_SEL_GPLL) - { - p_rate = priv->gpll_hz; - } - else if (p_src == CLK_UART_SRC_SEL_CPLL) - { - p_rate = priv->cpll_hz; - } - else - { - p_rate = 480000000; - } - if (src == CLK_UART_SEL_SRC) - { - return DIV_TO_RATE(p_rate, div); - } - else if (src == CLK_UART_SEL_FRAC) - { - fracdiv = HWREG32(&cru->clksel_con[reg + 1]); - n = fracdiv & CLK_UART_FRAC_NUMERATOR_MASK; - n >>= CLK_UART_FRAC_NUMERATOR_SHIFT; - m = fracdiv & CLK_UART_FRAC_DENOMINATOR_MASK; - m >>= CLK_UART_FRAC_DENOMINATOR_SHIFT; - return DIV_TO_RATE(p_rate, div) * n / m; - } - else - { - return OSC_HZ; - } -} - -static rt_ubase_t uart_set_rate(struct rk_clk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk_cru *cru = priv->cru; - rt_uint32_t reg, clk_src, uart_src, div; - rt_ubase_t m = 0, n = 0, val; - - if (priv->gpll_hz % rate == 0) - { - clk_src = CLK_UART_SRC_SEL_GPLL; - uart_src = CLK_UART_SEL_SRC; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - else if (priv->cpll_hz % rate == 0) - { - clk_src = CLK_UART_SRC_SEL_CPLL; - uart_src = CLK_UART_SEL_SRC; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - else if (rate == OSC_HZ) - { - clk_src = CLK_UART_SRC_SEL_GPLL; - uart_src = CLK_UART_SEL_XIN24M; - div = 2; - } - else - { - clk_src = CLK_UART_SRC_SEL_GPLL; - uart_src = CLK_UART_SEL_FRAC; - div = 2; - rational_best_approximation(rate, priv->gpll_hz / div, RT_GENMASK(16 - 1, 0), RT_GENMASK(16 - 1, 0), &m, &n); - } - - switch (clk_id) - { - case SCLK_UART1: - reg = 52; - break; - case SCLK_UART2: - reg = 54; - break; - case SCLK_UART3: - reg = 56; - break; - case SCLK_UART4: - reg = 58; - break; - case SCLK_UART5: - reg = 60; - break; - case SCLK_UART6: - reg = 62; - break; - case SCLK_UART7: - reg = 64; - break; - case SCLK_UART8: - reg = 66; - break; - case SCLK_UART9: - reg = 68; - break; - default: - return -RT_ERROR; - } - rk_clrsetreg(&cru->clksel_con[reg], CLK_UART_SEL_MASK | CLK_UART_SRC_SEL_MASK | CLK_UART_SRC_DIV_MASK, - (clk_src << CLK_UART_SRC_SEL_SHIFT) | (uart_src << CLK_UART_SEL_SHIFT) | - ((div - 1) << CLK_UART_SRC_DIV_SHIFT)); - if (m && n) - { - val = m << CLK_UART_FRAC_NUMERATOR_SHIFT | n; - HWREG32(&cru->clksel_con[reg + 1]) = val; - } - - return uart_get_rate(priv, clk_id); -} - -static rt_ubase_t pmu_get_pmuclk(struct rk_pmuclk_priv *priv) -{ - struct rk_pmucru *pmucru = priv->pmucru; - rt_uint32_t div, con, sel, parent; - - con = HWREG32(&pmucru->pmu_clksel_con[2]); - sel = (con & PCLK_PDPMU_SEL_MASK) >> PCLK_PDPMU_SEL_SHIFT; - div = (con & PCLK_PDPMU_DIV_MASK) >> PCLK_PDPMU_DIV_SHIFT; - - if (sel) - { - parent = GPLL_HZ; - } - else - { - parent = priv->ppll_hz; - } - - return DIV_TO_RATE(parent, div); -} - -static rt_ubase_t pmu_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t rate) -{ - struct rk_pmucru *pmucru = priv->pmucru; - int src_clk_div; - - src_clk_div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 31); - - rk_clrsetreg(&pmucru->pmu_clksel_con[2], PCLK_PDPMU_DIV_MASK | PCLK_PDPMU_SEL_MASK, - (PCLK_PDPMU_SEL_PPLL << PCLK_PDPMU_SEL_SHIFT) | ((src_clk_div - 1) << PCLK_PDPMU_DIV_SHIFT)); - - return pmu_get_pmuclk(priv); -} - -static rt_ubase_t pciephy_ref_get_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id) -{ - rt_uint32_t con, div, src; - struct rk_pmucru *pmucru = priv->pmucru; - - switch (clk_id) - { - case CLK_PCIEPHY0_REF: - con = HWREG32(&pmucru->pmu_clksel_con[9]); - src = (con & CLK_PCIE_PHY0_REF_SEL_MASK) >> CLK_PCIE_PHY0_REF_SEL_SHIFT; - con = HWREG32(&pmucru->pmu_clksel_con[9]); - div = (con & CLK_PCIE_PHY0_PLL_DIV_MASK) >> CLK_PCIE_PHY0_PLL_DIV_SHIFT; - break; - case CLK_PCIEPHY1_REF: - con = HWREG32(&pmucru->pmu_clksel_con[9]); - src = (con & CLK_PCIE_PHY1_REF_SEL_MASK) >> CLK_PCIE_PHY1_REF_SEL_SHIFT; - con = HWREG32(&pmucru->pmu_clksel_con[9]); - div = (con & CLK_PCIE_PHY1_PLL_DIV_MASK) >> CLK_PCIE_PHY1_PLL_DIV_SHIFT; - break; - case CLK_PCIEPHY2_REF: - con = HWREG32(&pmucru->pmu_clksel_con[9]); - src = (con & CLK_PCIE_PHY2_REF_SEL_MASK) >> CLK_PCIE_PHY2_REF_SEL_SHIFT; - con = HWREG32(&pmucru->pmu_clksel_con[9]); - div = (con & CLK_PCIE_PHY2_PLL_DIV_MASK) >> CLK_PCIE_PHY2_PLL_DIV_SHIFT; - break; - } - - if (src == CLK_PCIE_PHY_REF_SEL_PPLL) - { - return DIV_TO_RATE(priv->ppll_hz, div); - } - else - { - return OSC_HZ; - } -} - -static rt_ubase_t pciephy_ref_set_pmuclk(struct rk_pmuclk_priv *priv, rt_ubase_t clk_id, rt_ubase_t rate) -{ - rt_uint32_t clk_src, div; - struct rk_pmucru *pmucru = priv->pmucru; - - if (rate == OSC_HZ) - { - clk_src = CLK_PCIE_PHY_REF_SEL_24M; - div = 1; - } - else - { - clk_src = CLK_PCIE_PHY_REF_SEL_PPLL; - div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); - } - - switch (clk_id) - { - case CLK_PCIEPHY0_REF: - rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY0_REF_SEL_MASK, - (clk_src << CLK_PCIE_PHY0_REF_SEL_SHIFT)); - rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY0_PLL_DIV_MASK, - ((div - 1) << CLK_PCIE_PHY0_PLL_DIV_SHIFT)); - break; - case CLK_PCIEPHY1_REF: - rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY1_REF_SEL_MASK, - (clk_src << CLK_PCIE_PHY1_REF_SEL_SHIFT)); - rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY1_PLL_DIV_MASK, - ((div - 1) << CLK_PCIE_PHY1_PLL_DIV_SHIFT)); - break; - case CLK_PCIEPHY2_REF: - rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY2_REF_SEL_MASK, - (clk_src << CLK_PCIE_PHY2_REF_SEL_SHIFT)); - rk_clrsetreg(&pmucru->pmu_clksel_con[9], CLK_PCIE_PHY2_PLL_DIV_MASK, - ((div - 1) << CLK_PCIE_PHY2_PLL_DIV_SHIFT)); - break; - default: - return -RT_EINVAL; - } - - return pciephy_ref_get_pmuclk(priv, clk_id); -} - -static rt_ubase_t rk_pmuclk_type_get_rate(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk) -{ - struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; - rt_ubase_t rate = 0; - - if (!priv->ppll_hz) - { - return -RT_ERROR; - } - - switch (pdata->id) - { - case PLL_PPLL: - rate = rk_pll_get_rate(&pmu_pll_clks[ppll], &priv->pmucru); - break; - case PLL_HPLL: - rate = rk_pll_get_rate(&pmu_pll_clks[hpll], &priv->pmucru); - break; - case CLK_RTC_32K: - case CLK_RTC32K_FRAC: - rate = rtc32k_get_pmuclk(priv); - break; - case SCLK_UART0: - rate = uart_get_pmuclk(priv, pdata->id); - break; - case CLK_I2C0: - rate = i2c_get_pmuclk(priv, pdata->id); - break; - case CLK_PWM0: - rate = pwm_get_pmuclk(priv, pdata->id); - break; - case PCLK_PMU: - rate = pmu_get_pmuclk(priv); - break; - case CLK_PCIEPHY0_REF: - case CLK_PCIEPHY1_REF: - case CLK_PCIEPHY2_REF: - rate = pciephy_ref_get_pmuclk(priv, pdata->id); - break; - default: - return -RT_ERROR; - } - - return rate; -} - -static rt_ubase_t rk_pmuclk_set_rate(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk, rt_ubase_t rate) -{ - struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; - rt_ubase_t res = 0; - - if (!priv->ppll_hz) - { - return -RT_ERROR; - } - - switch (pdata->id) - { - case PLL_PPLL: - res = rk_pll_set_rate(&pmu_pll_clks[ppll], priv->pmucru, rate); - priv->ppll_hz = rk_pll_get_rate(&pmu_pll_clks[ppll], &priv->pmucru); - break; - case PLL_HPLL: - res = rk_pll_set_rate(&pmu_pll_clks[hpll], priv->pmucru, rate); - priv->hpll_hz = rk_pll_get_rate(&pmu_pll_clks[hpll], &priv->pmucru); - break; - case CLK_RTC_32K: - case CLK_RTC32K_FRAC: - res = rtc32k_set_pmuclk(priv, rate); - break; - case SCLK_UART0: - res = uart_set_pmuclk(priv, pdata->id, rate); - break; - case CLK_I2C0: - res = i2c_set_pmuclk(priv, pdata->id, rate); - break; - case CLK_PWM0: - res = pwm_set_pmuclk(priv, pdata->id, rate); - break; - case PCLK_PMU: - res = pmu_set_pmuclk(priv, rate); - break; - case CLK_PCIEPHY0_REF: - case CLK_PCIEPHY1_REF: - case CLK_PCIEPHY2_REF: - res = pciephy_ref_set_pmuclk(priv, pdata->id, rate); - break; - default: - return -RT_ERROR; - } - - return res; -} - -static rt_ubase_t rk_clk_type_get_rate(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - rt_ubase_t rate = 0; - - if (!priv->gpll_hz) - { - return -RT_ERROR; - } - - switch (pdata->id) - { - case PLL_APLL: - case ARMCLK: - rate = rk_pll_get_rate(&pll_clks[apll], &priv->cru); - break; - case PLL_CPLL: - rate = rk_pll_get_rate(&pll_clks[cpll], &priv->cru); - break; - case PLL_GPLL: - rate = rk_pll_get_rate(&pll_clks[gpll], &priv->cru); - break; - case PLL_NPLL: - rate = rk_pll_get_rate(&pll_clks[npll], &priv->cru); - break; - case PLL_VPLL: - rate = rk_pll_get_rate(&pll_clks[vpll], &priv->cru); - break; - case PLL_DPLL: - rate = rk_pll_get_rate(&pll_clks[dpll], &priv->cru); - break; - case ACLK_BUS: - case PCLK_BUS: - case PCLK_WDT_NS: - rate = bus_get_clk(priv, pdata->id); - break; - case ACLK_PERIMID: - case HCLK_PERIMID: - rate = perimid_get_clk(priv, pdata->id); - break; - case ACLK_TOP_HIGH: - case ACLK_TOP_LOW: - case HCLK_TOP: - case PCLK_TOP: - rate = top_get_clk(priv, pdata->id); - break; - case CLK_I2C1: - case CLK_I2C2: - case CLK_I2C3: - case CLK_I2C4: - case CLK_I2C5: - rate = i2c_get_clk(priv, pdata->id); - break; - case CLK_SPI0: - case CLK_SPI1: - case CLK_SPI2: - case CLK_SPI3: - rate = spi_get_clk(priv, pdata->id); - break; - case CLK_PWM1: - case CLK_PWM2: - case CLK_PWM3: - rate = pwm_get_clk(priv, pdata->id); - break; - case CLK_SARADC: - case CLK_TSADC_TSEN: - case CLK_TSADC: - rate = adc_get_clk(priv, pdata->id); - break; - case HCLK_SDMMC0: - case CLK_SDMMC0: - case CLK_SDMMC1: - case CLK_SDMMC2: - rate = sdmmc_get_clk(priv, pdata->id); - break; - case SCLK_SFC: - rate = sfc_get_clk(priv); - break; - case NCLK_NANDC: - rate = nand_get_clk(priv); - break; - case CCLK_EMMC: - rate = emmc_get_clk(priv); - break; - case BCLK_EMMC: - rate = emmc_get_bclk(priv); - break; - case ACLK_VOP: - rate = aclk_vop_get_clk(priv); - break; - case DCLK_VOP0: - case DCLK_VOP1: - case DCLK_VOP2: - rate = dclk_vop_get_clk(priv, pdata->id); - break; - case SCLK_GMAC0: - case CLK_MAC0_2TOP: - case CLK_MAC0_REFOUT: - rate = gmac_src_get_clk(priv, 0); - break; - case CLK_MAC0_OUT: - rate = gmac_out_get_clk(priv, 0); - break; - case CLK_GMAC0_PTP_REF: - rate = gmac_ptp_ref_get_clk(priv, 0); - break; - case SCLK_GMAC1: - case CLK_MAC1_2TOP: - case CLK_MAC1_REFOUT: - rate = gmac_src_get_clk(priv, 1); - break; - case CLK_MAC1_OUT: - rate = gmac_out_get_clk(priv, 1); - break; - case CLK_GMAC1_PTP_REF: - rate = gmac_ptp_ref_get_clk(priv, 1); - break; - case DCLK_EBC: - rate = ebc_get_clk(priv); - break; - case ACLK_RKVDEC_PRE: - case ACLK_RKVDEC: - case CLK_RKVDEC_CORE: - rate = rkvdec_get_clk(priv, pdata->id); - break; - case TCLK_WDT_NS: - rate = OSC_HZ; - break; - case SCLK_UART1: - case SCLK_UART2: - case SCLK_UART3: - case SCLK_UART4: - case SCLK_UART5: - case SCLK_UART6: - case SCLK_UART7: - case SCLK_UART8: - case SCLK_UART9: - rate = uart_get_rate(priv, pdata->id); - break; - case ACLK_SECURE_FLASH: - case ACLK_CRYPTO_NS: - case HCLK_SECURE_FLASH: - case HCLK_CRYPTO_NS: - case CLK_CRYPTO_NS_RNG: - case CLK_CRYPTO_NS_CORE: - case CLK_CRYPTO_NS_PKA: - rate = crypto_get_rate(priv, pdata->id); - break; - case CPLL_500M: - case CPLL_333M: - case CPLL_250M: - case CPLL_125M: - case CPLL_100M: - case CPLL_62P5M: - case CPLL_50M: - case CPLL_25M: - rate = cpll_div_get_rate(priv, pdata->id); - break; - case CLK_TIMER0: - case CLK_TIMER1: - case CLK_TIMER2: - case CLK_TIMER3: - case CLK_TIMER4: - case CLK_TIMER5: - rate = OSC_HZ; - break; - default: - return -RT_ERROR; - } - - return rate; -}; - -static rt_ubase_t rk_clk_set_rate(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk, rt_ubase_t rate) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - rt_ubase_t res = 0; - - if (!priv->gpll_hz) - { - return -RT_ERROR; - } - - switch (pdata->id) - { - case PLL_APLL: - case ARMCLK: - if (priv->armclk_hz) - { - armclk_set_clk(priv, rate); - } - priv->armclk_hz = rate; - break; - case PLL_CPLL: - res = rk_pll_set_rate(&pll_clks[cpll], priv->cru, rate); - priv->cpll_hz = rk_pll_get_rate(&pll_clks[cpll], &priv->cru); - break; - case PLL_GPLL: - res = rk_pll_set_rate(&pll_clks[gpll], priv->cru, rate); - priv->gpll_hz = rk_pll_get_rate(&pll_clks[gpll], &priv->cru); - break; - case PLL_NPLL: - res = rk_pll_set_rate(&pll_clks[npll], priv->cru, rate); - break; - case PLL_VPLL: - res = rk_pll_set_rate(&pll_clks[vpll], priv->cru, rate); - priv->vpll_hz = rk_pll_get_rate(&pll_clks[vpll], &priv->cru); - break; - case ACLK_BUS: - case PCLK_BUS: - case PCLK_WDT_NS: - res = bus_set_clk(priv, pdata->id, rate); - break; - case ACLK_PERIMID: - case HCLK_PERIMID: - res = perimid_set_clk(priv, pdata->id, rate); - break; - case ACLK_TOP_HIGH: - case ACLK_TOP_LOW: - case HCLK_TOP: - case PCLK_TOP: - res = top_set_clk(priv, pdata->id, rate); - break; - case CLK_I2C1: - case CLK_I2C2: - case CLK_I2C3: - case CLK_I2C4: - case CLK_I2C5: - res = i2c_set_clk(priv, pdata->id, rate); - break; - case CLK_SPI0: - case CLK_SPI1: - case CLK_SPI2: - case CLK_SPI3: - res = spi_set_clk(priv, pdata->id, rate); - break; - case CLK_PWM1: - case CLK_PWM2: - case CLK_PWM3: - res = pwm_set_clk(priv, pdata->id, rate); - break; - case CLK_SARADC: - case CLK_TSADC_TSEN: - case CLK_TSADC: - res = adc_set_clk(priv, pdata->id, rate); - break; - case HCLK_SDMMC0: - case CLK_SDMMC0: - case CLK_SDMMC1: - case CLK_SDMMC2: - res = sdmmc_set_clk(priv, pdata->id, rate); - break; - case SCLK_SFC: - res = sfc_set_clk(priv, rate); - break; - case NCLK_NANDC: - res = nand_set_clk(priv, rate); - break; - case CCLK_EMMC: - res = emmc_set_clk(priv, rate); - break; - case BCLK_EMMC: - res = emmc_set_bclk(priv, rate); - break; - case ACLK_VOP: - res = aclk_vop_set_clk(priv, rate); - break; - case DCLK_VOP0: - case DCLK_VOP1: - case DCLK_VOP2: - res = dclk_vop_set_clk(priv, pdata->id, rate); - break; - case SCLK_GMAC0: - case CLK_MAC0_2TOP: - case CLK_MAC0_REFOUT: - res = gmac_src_set_clk(priv, 0, rate); - break; - case CLK_MAC0_OUT: - res = gmac_out_set_clk(priv, 0, rate); - break; - case SCLK_GMAC0_RX_TX: - res = gmac_tx_rx_set_clk(priv, 0, rate); - break; - case CLK_GMAC0_PTP_REF: - res = gmac_ptp_ref_set_clk(priv, 0, rate); - break; - case SCLK_GMAC1: - case CLK_MAC1_2TOP: - case CLK_MAC1_REFOUT: - res = gmac_src_set_clk(priv, 1, rate); - break; - case CLK_MAC1_OUT: - res = gmac_out_set_clk(priv, 1, rate); - break; - case SCLK_GMAC1_RX_TX: - res = gmac_tx_rx_set_clk(priv, 1, rate); - break; - case CLK_GMAC1_PTP_REF: - res = gmac_ptp_ref_set_clk(priv, 1, rate); - break; - case DCLK_EBC: - res = ebc_set_clk(priv, rate); - break; - case ACLK_RKVDEC_PRE: - case ACLK_RKVDEC: - case CLK_RKVDEC_CORE: - res = rkvdec_set_clk(priv, pdata->id, rate); - break; - case TCLK_WDT_NS: - res = OSC_HZ; - break; - case SCLK_UART1: - case SCLK_UART2: - case SCLK_UART3: - case SCLK_UART4: - case SCLK_UART5: - case SCLK_UART6: - case SCLK_UART7: - case SCLK_UART8: - case SCLK_UART9: - res = uart_set_rate(priv, pdata->id, rate); - break; - case ACLK_SECURE_FLASH: - case ACLK_CRYPTO_NS: - case HCLK_SECURE_FLASH: - case HCLK_CRYPTO_NS: - case CLK_CRYPTO_NS_RNG: - case CLK_CRYPTO_NS_CORE: - case CLK_CRYPTO_NS_PKA: - res = crypto_set_rate(priv, pdata->id, rate); - break; - case CPLL_500M: - case CPLL_333M: - case CPLL_250M: - case CPLL_125M: - case CPLL_100M: - case CPLL_62P5M: - case CPLL_50M: - case CPLL_25M: - res = cpll_div_set_rate(priv, pdata->id, rate); - break; - default: - return -RT_ERROR; - } - - return res; -}; - -static rt_uint32_t rk_clk_get_rate(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk) -{ - rt_uint32_t rate = 0; - - if (rk_clk->type == rk_clk_type_clk) - { - rate = rk_clk_type_get_rate(pdata, rk_clk); - } - else if (rk_clk->type == rk_clk_type_pmuclk) - { - rate = rk_pmuclk_type_get_rate(pdata, rk_clk); - } - - return rate; -} - -static rt_err_t rk_clk_wait_lock(struct rk_clk_platform_data *pdata) -{ - rt_err_t err = RT_EOK; - rt_uint32_t count = 0, pllcon; - - /* - * Lock time typical 250, max 500 input clock cycles @24MHz, So define a - * very safe maximum of 1000us, meaning 24000 cycles. - */ - do { - pllcon = HWREG32(pdata->base + PLL_CON(1)); - rt_hw_us_delay(100); - ++count; - } while (pllcon & PLLCON1_LOCK_STATUS && count < 10); - - if (count >= 10) - { - err = -RT_ETIMEOUT; - } - - return err; -} - -static rt_err_t rtc32k_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; - struct rk_pmucru *pmucru = priv->pmucru; - - if (ppdata->id == CLK_RTC32K_FRAC) - { - rk_clrsetreg(&pmucru->pmu_clksel_con[0], RTC32K_SEL_MASK, - RTC32K_SEL_OSC0_DIV32K << RTC32K_SEL_SHIFT); - } - else - { - rk_clrsetreg(&pmucru->pmu_clksel_con[0], RTC32K_SEL_MASK, - RTC32K_SEL_OSC1_32K << RTC32K_SEL_SHIFT); - } - - return RT_EOK; -} - -static rt_err_t rk_pmuclk_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - switch (pdata->id) - { - case CLK_RTC_32K: - return rtc32k_set_parent(pdata, ppdata, rk_clk); - - default: - return -RT_EINVAL; - } - - return RT_EOK; -} - -static rt_err_t gmac0_src_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - - if (ppdata->id == CLK_MAC0_2TOP) - { - rk_clrsetreg(&cru->clksel_con[31], RMII0_EXTCLK_SEL_MASK, - RMII0_EXTCLK_SEL_MAC0_TOP << RMII0_EXTCLK_SEL_SHIFT); - } - else - { - rk_clrsetreg(&cru->clksel_con[31], RMII0_EXTCLK_SEL_MASK, - RMII0_EXTCLK_SEL_IO << RMII0_EXTCLK_SEL_SHIFT); - } - - return RT_EOK; -} - -static rt_err_t gmac1_src_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - - if (ppdata->id == CLK_MAC1_2TOP) - { - rk_clrsetreg(&cru->clksel_con[33], RMII0_EXTCLK_SEL_MASK, - RMII0_EXTCLK_SEL_MAC0_TOP << RMII0_EXTCLK_SEL_SHIFT); - } - else - { - rk_clrsetreg(&cru->clksel_con[33], RMII0_EXTCLK_SEL_MASK, - RMII0_EXTCLK_SEL_IO << RMII0_EXTCLK_SEL_SHIFT); - } - - return RT_EOK; -} - -static rt_err_t gmac0_tx_rx_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - - if (ppdata->id == SCLK_GMAC0_RGMII_SPEED) - { - rk_clrsetreg(&cru->clksel_con[31], RMII0_MODE_MASK, - RMII0_MODE_SEL_RGMII << RMII0_MODE_SHIFT); - } - else if (ppdata->id == SCLK_GMAC0_RMII_SPEED) - { - rk_clrsetreg(&cru->clksel_con[31], RMII0_MODE_MASK, - RMII0_MODE_SEL_RMII << RMII0_MODE_SHIFT); - } - else - { - rk_clrsetreg(&cru->clksel_con[31], RMII0_MODE_MASK, - RMII0_MODE_SEL_GMII << RMII0_MODE_SHIFT); - } - - return RT_EOK; -} - -static rt_err_t gmac1_tx_rx_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - - if (ppdata->id == SCLK_GMAC1_RGMII_SPEED) - { - rk_clrsetreg(&cru->clksel_con[33], RMII0_MODE_MASK, - RMII0_MODE_SEL_RGMII << RMII0_MODE_SHIFT); - } - else if (ppdata->id == SCLK_GMAC1_RMII_SPEED) - { - rk_clrsetreg(&cru->clksel_con[33], RMII0_MODE_MASK, - RMII0_MODE_SEL_RMII << RMII0_MODE_SHIFT); - } - else - { - rk_clrsetreg(&cru->clksel_con[33], RMII0_MODE_MASK, - RMII0_MODE_SEL_GMII << RMII0_MODE_SHIFT); - } - - return RT_EOK; -} - -static rt_err_t dclk_vop_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - rt_uint32_t con_id; - - switch (pdata->id) - { - case DCLK_VOP0: - con_id = 39; - break; - - case DCLK_VOP1: - con_id = 40; - break; - - case DCLK_VOP2: - con_id = 41; - break; - - default: - return -RT_EINVAL; - } - - if (ppdata->id == PLL_VPLL) - { - rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, - DCLK_VOP_SEL_VPLL << DCLK0_VOP_SEL_SHIFT); - } - else - { - rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, - DCLK_VOP_SEL_HPLL << DCLK0_VOP_SEL_SHIFT); - } - - return RT_EOK; -} - -static rt_err_t rkvdec_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - rt_uint32_t con_id, mask, shift; - - switch (pdata->id) - { - case ACLK_RKVDEC_PRE: - con_id = 47; - mask = ACLK_RKVDEC_SEL_MASK; - shift = ACLK_RKVDEC_SEL_SHIFT; - break; - - case CLK_RKVDEC_CORE: - con_id = 49; - mask = CLK_RKVDEC_CORE_SEL_MASK; - shift = CLK_RKVDEC_CORE_SEL_SHIFT; - break; - - default: - return -RT_EINVAL; - } - - if (ppdata->id == PLL_CPLL) - { - rk_clrsetreg(&cru->clksel_con[con_id], mask, - ACLK_RKVDEC_SEL_CPLL << shift); - } - else - { - rk_clrsetreg(&cru->clksel_con[con_id], mask, - ACLK_RKVDEC_SEL_GPLL << shift); - } - - return RT_EOK; -} - -static int rk_clk_set_parent(struct rk_clk_platform_data *pdata, - struct rk_clk_platform_data *ppdata, struct rk_clk *rk_clk) -{ - switch (pdata->id) - { - case SCLK_GMAC0: - return gmac0_src_set_parent(pdata, ppdata, rk_clk); - - case SCLK_GMAC1: - return gmac1_src_set_parent(pdata, ppdata, rk_clk); - - case SCLK_GMAC0_RX_TX: - return gmac0_tx_rx_set_parent(pdata, ppdata, rk_clk); - - case SCLK_GMAC1_RX_TX: - return gmac1_tx_rx_set_parent(pdata, ppdata, rk_clk); - - case DCLK_VOP0: - case DCLK_VOP1: - case DCLK_VOP2: - return dclk_vop_set_parent(pdata, ppdata, rk_clk); - - case ACLK_RKVDEC_PRE: - case CLK_RKVDEC_CORE: - return rkvdec_set_parent(pdata, ppdata, rk_clk); - - default: - return -RT_EINVAL; - } - - return RT_EOK; -} - -static rt_err_t mmc_set_phase(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk, rt_uint32_t degrees) -{ - void *reg; - rt_ubase_t rate; - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - - rate = rk_clk_get_rate(pdata, rk_clk); - - switch (pdata->id) - { - case SCLK_SDMMC0_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_SDMMC0_SAMPLE: - reg = &cru->emmc_con[1]; - break; - - case SCLK_SDMMC1_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_SDMMC1_SAMPLE: - reg = &cru->emmc_con[1]; - break; - - case SCLK_SDMMC2_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_SDMMC2_SAMPLE: - reg = &cru->emmc_con[1]; - break; - - case SCLK_EMMC_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_EMMC_SAMPLE: - reg = &cru->emmc_con[1]; - break; - } - - return rk_clk_mmc_set_phase(rate, reg, 1, degrees); -} - -static rt_base_t mmc_get_phase(struct rk_clk_platform_data *pdata, - struct rk_clk *rk_clk) -{ - void *reg; - rt_ubase_t rate; - struct rk_clk_priv *priv = &rk_clk->clk_info; - struct rk_cru *cru = priv->cru; - - rate = rk_clk_get_rate(pdata, rk_clk); - - switch (pdata->id) - { - case SCLK_SDMMC0_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_SDMMC0_SAMPLE: - reg = &cru->emmc_con[1]; - break; - - case SCLK_SDMMC1_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_SDMMC1_SAMPLE: - reg = &cru->emmc_con[1]; - break; - - case SCLK_SDMMC2_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_SDMMC2_SAMPLE: - reg = &cru->emmc_con[1]; - break; - - case SCLK_EMMC_DRV: - reg = &cru->emmc_con[0]; - break; - - case SCLK_EMMC_SAMPLE: - reg = &cru->emmc_con[1]; - break; - } - - return rk_clk_mmc_get_phase(rate, reg, 1); -} - -static rt_err_t rk3568_clk_init(struct rt_clk *clk, void *fw_data) -{ - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rt_ofw_cell_args *args = fw_data; - struct rk_clk_platform_data *pdata; - rt_uint32_t clk_id = args->args[0]; - rt_ubase_t reg_base; - - pdata = &rk_clk->pdata[clk_id]; - - if (rk_clk->type == rk_clk_type_pmuclk) - { - reg_base = (rt_ubase_t)rk_clk->pmuclk_info.pmucru; - - switch (clk_id) - { - case PLL_PPLL: - reg_base += pmu_pll_clks[ppll].con_offset; - break; - case PLL_HPLL: - reg_base += pmu_pll_clks[hpll].con_offset; - break; - default: - reg_base = RT_NULL; - break; - } - } - else if (rk_clk->type == rk_clk_type_clk) - { - reg_base = (rt_ubase_t)rk_clk->clk_info.cru; - - switch (clk_id) - { - case PLL_APLL: - case ARMCLK: - reg_base += pll_clks[apll].con_offset; - break; - case PLL_CPLL: - reg_base += pll_clks[cpll].con_offset; - break; - case PLL_GPLL: - reg_base += pll_clks[gpll].con_offset; - break; - case PLL_NPLL: - reg_base += pll_clks[npll].con_offset; - break; - case PLL_VPLL: - reg_base += pll_clks[vpll].con_offset; - break; - case PLL_DPLL: - reg_base += pll_clks[dpll].con_offset; - break; - default: - reg_base = RT_NULL; - break; - } - } - else - { - LOG_E("Unknow type of rk clk = %d", rk_clk->type); - RT_ASSERT(0); - } - - pdata->id = clk_id; - pdata->base = (void *)reg_base; - - clk->rate = rk_clk_get_rate(pdata, rk_clk); - clk->priv = pdata; - - rk_clk_set_default_rates(clk, clk->clk_np->ops->set_rate, clk_id); - - return RT_EOK; -} - -static rt_err_t rk3568_clk_enable(struct rt_clk *clk) -{ - struct rk_clk_platform_data *pdata = clk->priv; - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rk_cru *cru = rk_clk->clk_info.cru; - struct rk_pmucru *pmucru = rk_clk->pmuclk_info.pmucru; - - if (pdata->base) - { - HWREG32(pdata->base + PLL_CON(1)) = HIWORD_UPDATE(0, PLLCON1_PWRDOWN, 0); - - rk_clk_wait_lock(pdata); - } - else - { - void *con_regs; - struct rk_clk_gate *gate; - - if (rk_clk->type == rk_clk_type_clk) - { - gate = &clk_gates[pdata->id]; - con_regs = &cru->clkgate_con[gate->con_idx]; - } - else if (rk_clk->type == rk_clk_type_pmuclk) - { - gate = &pmu_clk_gates[pdata->id]; - con_regs = &pmucru->pmu_clkgate_con[gate->con_idx]; - } - else - { - return -RT_EINVAL; - } - - rk_clrreg(con_regs, RT_BIT(gate->con_bit)); - } - - return RT_EOK; -} - -static void rk3568_clk_disable(struct rt_clk *clk) -{ - struct rk_clk_platform_data *pdata = clk->priv; - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rk_cru *cru = rk_clk->clk_info.cru; - struct rk_pmucru *pmucru = rk_clk->pmuclk_info.pmucru; - - if (pdata->base) - { - HWREG32(pdata->base + PLL_CON(1)) = HIWORD_UPDATE(PLLCON1_PWRDOWN, PLLCON1_PWRDOWN, 0); - } - else - { - void *con_regs; - struct rk_clk_gate *gate; - - if (rk_clk->type == rk_clk_type_clk) - { - gate = &clk_gates[pdata->id]; - con_regs = &cru->clkgate_con[gate->con_idx]; - } - else if (rk_clk->type == rk_clk_type_pmuclk) - { - gate = &pmu_clk_gates[pdata->id]; - con_regs = &pmucru->pmu_clkgate_con[gate->con_idx]; - } - else - { - return; - } - - rk_setreg(con_regs, RT_BIT(gate->con_bit)); - } -} - -static rt_bool_t rk3568_clk_is_enabled(struct rt_clk *clk) -{ - struct rk_clk_platform_data *pdata = clk->priv; - - if (pdata->base) - { - rt_uint32_t pllcon = HWREG32(pdata->base + PLL_CON(1)); - - return !(pllcon & PLLCON1_PWRDOWN); - } - - return RT_TRUE; -} - -static rt_err_t rk3568_clk_set_rate(struct rt_clk *clk, rt_ubase_t rate, rt_ubase_t parent_rate) -{ - rt_ubase_t res_rate; - struct rk_clk_platform_data *pdata = clk->priv; - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - - if (rk_clk->type == rk_clk_type_clk) - { - res_rate = rk_clk_set_rate(pdata, rk_clk, rate); - - if ((rt_base_t)res_rate > 0) - { - clk->rate = res_rate; - } - } - else if (rk_clk->type == rk_clk_type_pmuclk) - { - res_rate = rk_pmuclk_set_rate(pdata, rk_clk, rate); - - if ((rt_base_t)res_rate > 0) - { - clk->rate = res_rate; - } - } - else - { - return -RT_EINVAL; - } - - return (rt_ubase_t)res_rate > 0 ? RT_EOK : (rt_err_t)res_rate; -} - -static rt_err_t rk3568_clk_set_parent(struct rt_clk *clk, struct rt_clk *parent) -{ - rt_err_t err; - struct rk_clk_platform_data *pdata = clk->priv, *ppdata = parent->priv; - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rk_clk *rk_clk_parent = raw_to_rk_clk(clk->clk_np); - - if (rk_clk->type != rk_clk_parent->type) - { - return -RT_EINVAL; - } - - if (rk_clk->type == rk_clk_type_clk) - { - err = rk_clk_set_parent(pdata, ppdata, rk_clk); - } - else if (rk_clk->type == rk_clk_type_pmuclk) - { - err = rk_pmuclk_set_parent(pdata, ppdata, rk_clk); - } - else - { - return -RT_EINVAL; - } - - return err; -} - -static rt_err_t rk3568_clk_set_phase(struct rt_clk *clk, int degrees) -{ - rt_err_t res; - struct rk_clk_platform_data *pdata = clk->priv; - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - - switch (pdata->id) - { - case SCLK_SDMMC0_DRV: - case SCLK_SDMMC0_SAMPLE: - case SCLK_SDMMC1_DRV: - case SCLK_SDMMC1_SAMPLE: - case SCLK_SDMMC2_DRV: - case SCLK_SDMMC2_SAMPLE: - case SCLK_EMMC_DRV: - case SCLK_EMMC_SAMPLE: - res = mmc_set_phase(pdata, rk_clk, degrees); - break; - - default: - return -RT_EINVAL; - } - - return res; -} - -static rt_base_t rk3568_clk_get_phase(struct rt_clk *clk) -{ - rt_base_t res; - struct rk_clk_platform_data *pdata = clk->priv; - struct rk_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - - switch (pdata->id) - { - case SCLK_SDMMC0_DRV: - case SCLK_SDMMC0_SAMPLE: - case SCLK_SDMMC1_DRV: - case SCLK_SDMMC1_SAMPLE: - case SCLK_SDMMC2_DRV: - case SCLK_SDMMC2_SAMPLE: - case SCLK_EMMC_DRV: - case SCLK_EMMC_SAMPLE: - res = mmc_get_phase(pdata, rk_clk); - break; - - default: - return -RT_EINVAL; - } - - return res; -} - -static rt_base_t rk3568_clk_round_rate(struct rt_clk *clk, rt_ubase_t drate, - rt_ubase_t *prate) -{ - return rk_clk_pll_round_rate(pll_rates, RT_ARRAY_SIZE(pll_rates), drate, prate); -} - -static const struct rt_clk_ops rk3568_clk_ops = -{ - .init = rk3568_clk_init, - .enable = rk3568_clk_enable, - .disable = rk3568_clk_disable, - .is_enabled = rk3568_clk_is_enabled, - .set_rate = rk3568_clk_set_rate, - .set_parent = rk3568_clk_set_parent, - .set_phase = rk3568_clk_set_phase, - .get_phase = rk3568_clk_get_phase, - .round_rate = rk3568_clk_round_rate, -}; - -static void rk3568_clk_type_init(struct rk_clk *rk_clk, struct rt_ofw_node *np) -{ - rt_ubase_t cpu_freq = APLL_HZ; - struct rk_clk_priv *priv = &rk_clk->clk_info; - const char *rockchip_cpu_freq = rt_ofw_bootargs_select("rockchip.cpu_freq=", 0); - - priv->cru = (struct rk_cru *)rk_clk->base; - - if (!priv->armclk_enter_hz) - { - priv->armclk_enter_hz = rk_pll_get_rate(&pll_clks[apll], &priv->cru); - priv->armclk_init_hz = priv->armclk_enter_hz; - } - - if (rockchip_cpu_freq) - { - cpu_freq = atol(rockchip_cpu_freq); - } - else - { - cpu_freq = 1800000000; - } - - if (!armclk_set_clk(priv, cpu_freq)) - { - priv->armclk_init_hz = cpu_freq; - } - - if (priv->cpll_hz != CPLL_HZ) - { - if (!rk_pll_set_rate(&pll_clks[cpll], priv->cru, CPLL_HZ)) - { - priv->cpll_hz = CPLL_HZ; - } - } - - if (priv->gpll_hz != GPLL_HZ) - { - if (!rk_pll_set_rate(&pll_clks[gpll], priv->cru, GPLL_HZ)) - { - priv->gpll_hz = GPLL_HZ; - } - } - - priv->ppll_hz = pmu_pll_get_rate(ppll); - priv->hpll_hz = pmu_pll_get_rate(hpll); -} - -static void rk3568_pmu_clk_type_init(struct rk_clk *rk_clk, struct rt_ofw_node *np) -{ - struct rk_pmuclk_priv *priv = &rk_clk->pmuclk_info; - priv->pmucru = (struct rk_pmucru *)rk_clk->base; - - if (priv->ppll_hz != PPLL_HZ) - { - if (!rk_pll_set_rate(&pmu_pll_clks[ppll], priv->pmucru, PPLL_HZ)) - { - priv->ppll_hz = PPLL_HZ; - } - } - - /* Ungate PCIe30phy refclk_m and refclk_n */ - rk_clrsetreg(&priv->pmucru->pmu_clkgate_con[2], 0x3 << 13, 0 << 13); -} - -static rt_err_t clk_rk3568_probe(struct rt_platform_device *pdev) -{ - rt_err_t err; - rt_size_t data_size = 0; - struct rk_clk *rk_clk; - struct rt_ofw_node *np = pdev->parent.ofw_node; - enum rk_clk_type type = (rt_ubase_t)pdev->id->data; - - if (type == rk_clk_type_clk) - { - data_size = CLK_NR_CLKS; - } - else if (type == rk_clk_type_pmuclk) - { - data_size = CLKPMU_NR_CLKS; - } - - data_size *= sizeof(struct rk_clk_platform_data); - rk_clk = rt_malloc(sizeof(*rk_clk) + data_size); - - if (rk_clk) - { - void *softrst_regs = RT_NULL; - rt_memset(&rk_clk->parent, 0, sizeof(rk_clk->parent)); - - rk_clk->base = rt_ofw_iomap(np, 0); - - if (!rk_clk->base) - { - err = -RT_EIO; - goto _fail; - } - - if (type == rk_clk_type_clk) - { - rk_clk->type = rk_clk_type_clk; - - rk3568_clk_type_init(rk_clk, np); - softrst_regs = &rk_clk->clk_info.cru->softrst_con; - } - else if (type == rk_clk_type_pmuclk) - { - rk_clk->type = rk_clk_type_pmuclk; - - rk3568_pmu_clk_type_init(rk_clk, np); - softrst_regs = &rk_clk->pmuclk_info.pmucru->pmu_softrst_con; - } - - rk_clk->parent.parent.ops = &rk3568_clk_ops; - - if ((err = rt_clk_register(&rk_clk->parent.parent, RT_NULL))) - { - goto _fail; - } - - if ((err = rk_register_softrst(&rk_clk->parent.rstcer, np, - softrst_regs, ROCKCHIP_SOFTRST_HIWORD_MASK))) - { - goto _fail; - } - - rt_ofw_data(np) = &rk_clk->parent; - } - else - { - err = -RT_ENOMEM; - } - - return err; - -_fail: - if (rk_clk->base) - { - rt_iounmap(rk_clk->base); - } - - rt_free(rk_clk); - - return err; -} - -static const struct rt_ofw_node_id clk_rk3568_ofw_ids[] = -{ - { .compatible = "rockchip,rk3568-cru", .data = (void *)rk_clk_type_clk }, - { .compatible = "rockchip,rk3568-pmucru", .data = (void *)rk_clk_type_pmuclk }, - { /* sentinel */ } -}; - -static struct rt_platform_driver clk_rk3568_driver = -{ - .name = "clk-rk3568", - .ids = clk_rk3568_ofw_ids, - - .probe = clk_rk3568_probe, -}; - -static int clk_rk3568_register(void) -{ - rt_platform_driver_register(&clk_rk3568_driver); - - return 0; -} -INIT_SUBSYS_EXPORT(clk_rk3568_register); diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3568.h b/bsp/rockchip/rk3566/driver/clk/clk-rk3568.h deleted file mode 100644 index 710d3211f6e..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-rk3568.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ - -#ifndef __ROCKCHIP_CLK3568_H__ -#define __ROCKCHIP_CLK3568_H__ - -#include -#include -#include -#include -#include "../rockchip.h" - -#define HZ 100 -#define KHZ 1000 -#define MHZ 1000000 -#define OSC_HZ (24 * MHZ) - -struct rk_cpu_rate_table -{ - rt_ubase_t rate; - rt_uint32_t aclk_div; - rt_uint32_t pclk_div; -}; - -struct rk_pll_rate_table -{ - rt_ubase_t rate; - rt_uint32_t nr; - rt_uint32_t nf; - rt_uint32_t no; - rt_uint32_t nb; - - rt_uint32_t fbdiv; - rt_uint32_t postdiv1; - rt_uint32_t refdiv; - rt_uint32_t postdiv2; - rt_uint32_t dsmpd; - rt_uint32_t frac; -}; - -struct rk_pll_clock -{ - rt_uint32_t id; - rt_uint32_t con_offset; - rt_uint32_t mode_offset; - rt_uint32_t mode_shift; - rt_uint32_t lock_shift; - rt_uint32_t pll_flags; - struct rk_pll_rate_table *rate_table; - rt_uint32_t mode_mask; -}; - -struct rk_clk_gate -{ - const char *name; - const char *parent_name; - - int con_idx; - int con_bit; -}; - -#define GATE(_id, _name, \ -_pname, _con_idx, _con_bit) \ -[_id] = \ -{ \ - .name = _name, \ - .parent_name = _pname, \ - .con_idx = _con_idx, \ - .con_bit = _con_bit, \ -} - - -#define CPUCLK_RATE(_rate, \ - _aclk_div, _pclk_div) \ -{ \ - .rate = _rate##U, \ - .aclk_div = _aclk_div, \ - .pclk_div = _pclk_div, \ -} - -#define PLL_RATE(_rate, _refdiv, _fbdiv, \ - _postdiv1, _postdiv2, _dsmpd, _frac) \ -{ \ - .rate = _rate##U, \ - .fbdiv = _fbdiv, \ - .postdiv1 = _postdiv1, \ - .refdiv = _refdiv, \ - .postdiv2 = _postdiv2, \ - .dsmpd = _dsmpd, \ - .frac = _frac, \ -} - -#define PLL(_id, _con, _mode, _mshift, \ - _lshift, _pflags, _rtable) \ -{ \ - .id = _id, \ - .con_offset = _con, \ - .mode_offset = _mode, \ - .mode_shift = _mshift, \ - .lock_shift = _lshift, \ - .pll_flags = _pflags, \ - .rate_table = _rtable, \ -} - -#define DIV_TO_RATE(input_rate, div) ((input_rate) / ((div) + 1)) - -#define ROCKCHIP_SOFTRST_HIWORD_MASK RT_BIT(0) - -#endif /* __ROCKCHIP_CLK3568_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3588.c b/bsp/rockchip/rk3566/driver/clk/clk-rk3588.c deleted file mode 100644 index a25e2e8d4f2..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-rk3588.c +++ /dev/null @@ -1,3292 +0,0 @@ -#include "clk-rk3588.h" -#define DBG_TAG "clk.rk3588" -#define DBG_LVL DBG_INFO -#include -#include -#include "rk3588-cru.h" -#define raw_to_rk_clk(raw) rt_container_of(raw, struct rk3588_clk, parent) -#define MHz 1000000 -#define KHz 1000 - -#define CPU_PVTPLL_HZ (1008 * MHz) -#define LPLL_HZ (816 * MHz) -#define GPLL_HZ (1188 * MHz) -#define CPLL_HZ (1500 * MHz) -#define NPLL_HZ (850 * MHz) -#define PPLL_HZ (1100 * MHz) - -/* RK3588 pll id */ -enum rk3588_pll_id { - B0PLL, - B1PLL, - LPLL, - CPLL, - GPLL, - NPLL, - V0PLL, - AUPLL, - PPLL, - PLL_COUNT, -}; - -struct rk3588_clk_info { - unsigned long id; - char *name; - rt_bool_t is_cru; -}; - -struct rk3588_pll { - unsigned int con0; - unsigned int con1; - unsigned int con2; - unsigned int con3; - unsigned int con4; - unsigned int reserved0[3]; -}; -struct rk3588_cru { - struct rk3588_pll pll[18]; /*144*/ - unsigned int reserved0[16];/* Address Offset: 0x0240 */ /*160*/ - unsigned int mode_con00;/* Address Offset: 0x0280 */ /*161*/ - unsigned int reserved1[31];/* Address Offset: 0x0284 */ /*192*/ - unsigned int clksel_con[178]; /* Address Offset: 0x0300 */ /*370*/ - unsigned int reserved2[142];/* Address Offset: 0x05c8 */ /*512*/ - unsigned int clkgate_con[78];/* Address Offset: 0x0800 */ /*590*/ - unsigned int reserved3[50];/* Address Offset: 0x0938 */ /*640*/ - unsigned int softrst_con[78];/* Address Offset: 0xa00 */ /* for convenient of softrst register //718*/ - unsigned int reserved4[50];/* Address Offset: 0x0b38 */ /*768*/ - unsigned int glb_cnt_th;/* Address Offset: 0x0c00 */ - unsigned int glb_rst_st;/* Address Offset: 0x0c04 */ - unsigned int glb_srst_fst;/* Address Offset: 0x0c08 */ - unsigned int glb_srsr_snd; /* Address Offset: 0x0c0c */ - unsigned int glb_rst_con;/* Address Offset: 0x0c10 */ - unsigned int reserved5[4];/* Address Offset: 0x0c14 */ - unsigned int sdio_con[2];/* Address Offset: 0x0c24 */ - unsigned int reserved7;/* Address Offset: 0x0c2c */ - unsigned int sdmmc_con[2];/* Address Offset: 0x0c30 */ - unsigned int reserved8[48562];/* Address Offset: 0x0c38 */ - unsigned int pmuclksel_con[21]; /* Address Offset: 0x0100 */ - unsigned int reserved9[299];/* Address Offset: 0x0c38 */ - unsigned int pmuclkgate_con[9]; /* Address Offset: 0x0100 */ -}; - -struct rk3588_clk_priv { - struct rk3588_cru *cru; - - rt_ubase_t ppll_hz; - rt_ubase_t gpll_hz; - rt_ubase_t cpll_hz; - rt_ubase_t npll_hz; - rt_ubase_t v0pll_hz; - rt_ubase_t aupll_hz; - rt_ubase_t armclk_hz; - rt_ubase_t armclk_enter_hz; - rt_ubase_t armclk_init_hz; - rt_bool_t sync_kernel; - rt_bool_t set_armclk_rate; -}; -struct rk3588_clk_platform_data -{ - rt_uint32_t id; - void *base; -}; -struct rt_reset_controller_clk_node -{ - struct rt_clk_node parent; - - struct rt_reset_controller rstcer; -}; -struct rk3588_clk -{ - struct rt_reset_controller_clk_node parent; - - void *base; - - struct rk3588_clk_priv clk_info; - - struct rk3588_clk_platform_data pdata[]; -}; -struct pll_rate_table { - unsigned long rate; - unsigned int m; - unsigned int p; - unsigned int s; - unsigned int k; -}; - -#define RK3588_PLL_CON(x) ((x) * 0x4) -#define RK3588_MODE_CON 0x280 - -#define RK3588_PHP_CRU_BASE 0x8000 -#define RK3588_PMU_CRU_BASE 0x30000 -#define RK3588_BIGCORE0_CRU_BASE 0x50000 -#define RK3588_BIGCORE1_CRU_BASE 0x52000 -#define RK3588_DSU_CRU_BASE 0x58000 - -#define RK3588_PLL_CON(x) ((x) * 0x4) -#define RK3588_MODE_CON0 0x280 -#define RK3588_CLKSEL_CON(x) ((x) * 0x4 + 0x300) -#define RK3588_CLKGATE_CON(x) ((x) * 0x4 + 0x800) -#define RK3588_SOFTRST_CON(x) ((x) * 0x4 + 0xa00) -#define RK3588_GLB_CNT_TH 0xc00 -#define RK3588_GLB_SRST_FST 0xc08 -#define RK3588_GLB_SRST_SND 0xc0c -#define RK3588_GLB_RST_CON 0xc10 -#define RK3588_GLB_RST_ST 0xc04 -#define RK3588_SDIO_CON0 0xC24 -#define RK3588_SDIO_CON1 0xC28 -#define RK3588_SDMMC_CON0 0xC30 -#define RK3588_SDMMC_CON1 0xC34 - -#define RK3588_PHP_CLKGATE_CON(x) ((x) * 0x4 + RK3588_PHP_CRU_BASE + 0x800) -#define RK3588_PHP_SOFTRST_CON(x) ((x) * 0x4 + RK3588_PHP_CRU_BASE + 0xa00) - -#define RK3588_PMU_PLL_CON(x) ((x) * 0x4 + RK3588_PHP_CRU_BASE) -#define RK3588_PMU_CLKSEL_CON(x) ((x) * 0x4 + RK3588_PMU_CRU_BASE + 0x300) -#define RK3588_PMU_CLKGATE_CON(x) ((x) * 0x4 + RK3588_PMU_CRU_BASE + 0x800) -#define RK3588_PMU_SOFTRST_CON(x) ((x) * 0x4 + RK3588_PMU_CRU_BASE + 0xa00) - -#define RK3588_B0_PLL_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE) -#define RK3588_B0_PLL_MODE_CON (RK3588_BIGCORE0_CRU_BASE + 0x280) -#define RK3588_BIGCORE0_CLKSEL_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE + 0x300) -#define RK3588_BIGCORE0_CLKGATE_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE + 0x800) -#define RK3588_BIGCORE0_SOFTRST_CON(x) ((x) * 0x4 + RK3588_BIGCORE0_CRU_BASE + 0xa00) -#define RK3588_B1_PLL_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE) -#define RK3588_B1_PLL_MODE_CON (RK3588_BIGCORE1_CRU_BASE + 0x280) -#define RK3588_BIGCORE1_CLKSEL_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE + 0x300) -#define RK3588_BIGCORE1_CLKGATE_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE + 0x800) -#define RK3588_BIGCORE1_SOFTRST_CON(x) ((x) * 0x4 + RK3588_BIGCORE1_CRU_BASE + 0xa00) -#define RK3588_LPLL_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE) -#define RK3588_LPLL_MODE_CON (RK3588_DSU_CRU_BASE + 0x280) -#define RK3588_DSU_CLKSEL_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE + 0x300) -#define RK3588_DSU_CLKGATE_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE + 0x800) -#define RK3588_DSU_SOFTRST_CON(x) ((x) * 0x4 + RK3588_DSU_CRU_BASE + 0xa00) - -enum { - /* CRU_CLK_SEL8_CON */ - ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT = 14, - ACLK_LOW_TOP_ROOT_SRC_SEL_MASK = 1 << ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT, - ACLK_LOW_TOP_ROOT_SRC_SEL_GPLL = 0, - ACLK_LOW_TOP_ROOT_SRC_SEL_CPLL, - ACLK_LOW_TOP_ROOT_DIV_SHIFT = 9, - ACLK_LOW_TOP_ROOT_DIV_MASK = 0x1f << ACLK_LOW_TOP_ROOT_DIV_SHIFT, - PCLK_TOP_ROOT_SEL_SHIFT = 7, - PCLK_TOP_ROOT_SEL_MASK = 3 << PCLK_TOP_ROOT_SEL_SHIFT, - PCLK_TOP_ROOT_SEL_100M = 0, - PCLK_TOP_ROOT_SEL_50M, - PCLK_TOP_ROOT_SEL_24M, - ACLK_TOP_ROOT_SRC_SEL_SHIFT = 5, - ACLK_TOP_ROOT_SRC_SEL_MASK = 3 << ACLK_TOP_ROOT_SRC_SEL_SHIFT, - ACLK_TOP_ROOT_SRC_SEL_GPLL = 0, - ACLK_TOP_ROOT_SRC_SEL_CPLL, - ACLK_TOP_ROOT_SRC_SEL_AUPLL, - ACLK_TOP_ROOT_DIV_SHIFT = 0, - ACLK_TOP_ROOT_DIV_MASK = 0x1f << ACLK_TOP_ROOT_DIV_SHIFT, - - /* CRU_CLK_SEL9_CON */ - ACLK_TOP_S400_SEL_SHIFT = 8, - ACLK_TOP_S400_SEL_MASK = 3 << ACLK_TOP_S400_SEL_SHIFT, - ACLK_TOP_S400_SEL_400M = 0, - ACLK_TOP_S400_SEL_200M, - ACLK_TOP_S200_SEL_SHIFT = 6, - ACLK_TOP_S200_SEL_MASK = 3 << ACLK_TOP_S200_SEL_SHIFT, - ACLK_TOP_S200_SEL_200M = 0, - ACLK_TOP_S200_SEL_100M, - - /* CRU_CLK_SEL38_CON */ - CLK_I2C8_SEL_SHIFT = 13, - CLK_I2C8_SEL_MASK = 1 << CLK_I2C8_SEL_SHIFT, - CLK_I2C7_SEL_SHIFT = 12, - CLK_I2C7_SEL_MASK = 1 << CLK_I2C7_SEL_SHIFT, - CLK_I2C6_SEL_SHIFT = 11, - CLK_I2C6_SEL_MASK = 1 << CLK_I2C6_SEL_SHIFT, - CLK_I2C5_SEL_SHIFT = 10, - CLK_I2C5_SEL_MASK = 1 << CLK_I2C5_SEL_SHIFT, - CLK_I2C4_SEL_SHIFT = 9, - CLK_I2C4_SEL_MASK = 1 << CLK_I2C4_SEL_SHIFT, - CLK_I2C3_SEL_SHIFT = 8, - CLK_I2C3_SEL_MASK = 1 << CLK_I2C3_SEL_SHIFT, - CLK_I2C2_SEL_SHIFT = 7, - CLK_I2C2_SEL_MASK = 1 << CLK_I2C2_SEL_SHIFT, - CLK_I2C1_SEL_SHIFT = 6, - CLK_I2C1_SEL_MASK = 1 << CLK_I2C1_SEL_SHIFT, - ACLK_BUS_ROOT_SEL_SHIFT = 5, - ACLK_BUS_ROOT_SEL_MASK = 3 << ACLK_BUS_ROOT_SEL_SHIFT, - ACLK_BUS_ROOT_SEL_GPLL = 0, - ACLK_BUS_ROOT_SEL_CPLL, - ACLK_BUS_ROOT_DIV_SHIFT = 0, - ACLK_BUS_ROOT_DIV_MASK = 0x1f << ACLK_BUS_ROOT_DIV_SHIFT, - - /* CRU_CLK_SEL40_CON */ - CLK_SARADC_SEL_SHIFT = 14, - CLK_SARADC_SEL_MASK = 0x1 << CLK_SARADC_SEL_SHIFT, - CLK_SARADC_SEL_GPLL = 0, - CLK_SARADC_SEL_24M, - CLK_SARADC_DIV_SHIFT = 6, - CLK_SARADC_DIV_MASK = 0xff << CLK_SARADC_DIV_SHIFT, - - /* CRU_CLK_SEL41_CON */ - CLK_UART_SRC_SEL_SHIFT = 14, - CLK_UART_SRC_SEL_MASK = 0x1 << CLK_UART_SRC_SEL_SHIFT, - CLK_UART_SRC_SEL_GPLL = 0, - CLK_UART_SRC_SEL_CPLL, - CLK_UART_SRC_DIV_SHIFT = 9, - CLK_UART_SRC_DIV_MASK = 0x1f << CLK_UART_SRC_DIV_SHIFT, - CLK_TSADC_SEL_SHIFT = 8, - CLK_TSADC_SEL_MASK = 0x1 << CLK_TSADC_SEL_SHIFT, - CLK_TSADC_SEL_GPLL = 0, - CLK_TSADC_SEL_24M, - CLK_TSADC_DIV_SHIFT = 0, - CLK_TSADC_DIV_MASK = 0xff << CLK_TSADC_DIV_SHIFT, - - /* CRU_CLK_SEL42_CON */ - CLK_UART_FRAC_NUMERATOR_SHIFT = 16, - CLK_UART_FRAC_NUMERATOR_MASK = 0xffff << 16, - CLK_UART_FRAC_DENOMINATOR_SHIFT = 0, - CLK_UART_FRAC_DENOMINATOR_MASK = 0xffff, - - /* CRU_CLK_SEL43_CON */ - CLK_UART_SEL_SHIFT = 0, - CLK_UART_SEL_MASK = 0x3 << CLK_UART_SEL_SHIFT, - CLK_UART_SEL_SRC = 0, - CLK_UART_SEL_FRAC, - CLK_UART_SEL_XIN24M, - - /* CRU_CLK_SEL59_CON */ - CLK_PWM2_SEL_SHIFT = 14, - CLK_PWM2_SEL_MASK = 3 << CLK_PWM2_SEL_SHIFT, - CLK_PWM1_SEL_SHIFT = 12, - CLK_PWM1_SEL_MASK = 3 << CLK_PWM1_SEL_SHIFT, - CLK_SPI4_SEL_SHIFT = 10, - CLK_SPI4_SEL_MASK = 3 << CLK_SPI4_SEL_SHIFT, - CLK_SPI3_SEL_SHIFT = 8, - CLK_SPI3_SEL_MASK = 3 << CLK_SPI3_SEL_SHIFT, - CLK_SPI2_SEL_SHIFT = 6, - CLK_SPI2_SEL_MASK = 3 << CLK_SPI2_SEL_SHIFT, - CLK_SPI1_SEL_SHIFT = 4, - CLK_SPI1_SEL_MASK = 3 << CLK_SPI1_SEL_SHIFT, - CLK_SPI0_SEL_SHIFT = 2, - CLK_SPI0_SEL_MASK = 3 << CLK_SPI0_SEL_SHIFT, - CLK_SPI_SEL_200M = 0, - CLK_SPI_SEL_150M, - CLK_SPI_SEL_24M, - - /* CRU_CLK_SEL60_CON */ - CLK_PWM3_SEL_SHIFT = 0, - CLK_PWM3_SEL_MASK = 3 << CLK_PWM3_SEL_SHIFT, - CLK_PWM_SEL_100M = 0, - CLK_PWM_SEL_50M, - CLK_PWM_SEL_24M, - - /* CRU_CLK_SEL62_CON */ - DCLK_DECOM_SEL_SHIFT = 5, - DCLK_DECOM_SEL_MASK = 1 << DCLK_DECOM_SEL_SHIFT, - DCLK_DECOM_SEL_GPLL = 0, - DCLK_DECOM_SEL_SPLL, - DCLK_DECOM_DIV_SHIFT = 0, - DCLK_DECOM_DIV_MASK = 0x1F << DCLK_DECOM_DIV_SHIFT, - - /* CRU_CLK_SEL77_CON */ - CCLK_EMMC_SEL_SHIFT = 14, - CCLK_EMMC_SEL_MASK = 3 << CCLK_EMMC_SEL_SHIFT, - CCLK_EMMC_SEL_GPLL = 0, - CCLK_EMMC_SEL_CPLL, - CCLK_EMMC_SEL_24M, - CCLK_EMMC_DIV_SHIFT = 8, - CCLK_EMMC_DIV_MASK = 0x3f << CCLK_EMMC_DIV_SHIFT, - - /* CRU_CLK_SEL78_CON */ - SCLK_SFC_SEL_SHIFT = 12, - SCLK_SFC_SEL_MASK = 3 << SCLK_SFC_SEL_SHIFT, - SCLK_SFC_SEL_GPLL = 0, - SCLK_SFC_SEL_CPLL, - SCLK_SFC_SEL_24M, - SCLK_SFC_DIV_SHIFT = 6, - SCLK_SFC_DIV_MASK = 0x3f << SCLK_SFC_DIV_SHIFT, - BCLK_EMMC_SEL_SHIFT = 5, - BCLK_EMMC_SEL_MASK = 1 << BCLK_EMMC_SEL_SHIFT, - BCLK_EMMC_SEL_GPLL = 0, - BCLK_EMMC_SEL_CPLL, - BCLK_EMMC_DIV_SHIFT = 0, - BCLK_EMMC_DIV_MASK = 0x1f << BCLK_EMMC_DIV_SHIFT, - - /* CRU_CLK_SEL81_CON */ - CLK_GMAC1_PTP_SEL_SHIFT = 13, - CLK_GMAC1_PTP_SEL_MASK = 1 << CLK_GMAC1_PTP_SEL_SHIFT, - CLK_GMAC1_PTP_SEL_CPLL = 0, - CLK_GMAC1_PTP_DIV_SHIFT = 7, - CLK_GMAC1_PTP_DIV_MASK = 0x3f << CLK_GMAC1_PTP_DIV_SHIFT, - CLK_GMAC0_PTP_SEL_SHIFT = 6, - CLK_GMAC0_PTP_SEL_MASK = 1 << CLK_GMAC0_PTP_SEL_SHIFT, - CLK_GMAC0_PTP_SEL_CPLL = 0, - CLK_GMAC0_PTP_DIV_SHIFT = 0, - CLK_GMAC0_PTP_DIV_MASK = 0x3f << CLK_GMAC0_PTP_DIV_SHIFT, - - /* CRU_CLK_SEL83_CON */ - CLK_GMAC_125M_SEL_SHIFT = 15, - CLK_GMAC_125M_SEL_MASK = 1 << CLK_GMAC_125M_SEL_SHIFT, - CLK_GMAC_125M_SEL_GPLL = 0, - CLK_GMAC_125M_SEL_CPLL, - CLK_GMAC_125M_DIV_SHIFT = 8, - CLK_GMAC_125M_DIV_MASK = 0x7f << CLK_GMAC_125M_DIV_SHIFT, - - /* CRU_CLK_SEL84_CON */ - CLK_GMAC_50M_SEL_SHIFT = 7, - CLK_GMAC_50M_SEL_MASK = 1 << CLK_GMAC_50M_SEL_SHIFT, - CLK_GMAC_50M_SEL_GPLL = 0, - CLK_GMAC_50M_SEL_CPLL, - CLK_GMAC_50M_DIV_SHIFT = 0, - CLK_GMAC_50M_DIV_MASK = 0x7f << CLK_GMAC_50M_DIV_SHIFT, - - /* CRU_CLK_SEL110_CON */ - HCLK_VOP_ROOT_SEL_SHIFT = 10, - HCLK_VOP_ROOT_SEL_MASK = 3 << HCLK_VOP_ROOT_SEL_SHIFT, - HCLK_VOP_ROOT_SEL_200M = 0, - HCLK_VOP_ROOT_SEL_100M, - HCLK_VOP_ROOT_SEL_50M, - HCLK_VOP_ROOT_SEL_24M, - ACLK_VOP_LOW_ROOT_SEL_SHIFT = 8, - ACLK_VOP_LOW_ROOT_SEL_MASK = 3 << ACLK_VOP_LOW_ROOT_SEL_SHIFT, - ACLK_VOP_LOW_ROOT_SEL_400M = 0, - ACLK_VOP_LOW_ROOT_SEL_200M, - ACLK_VOP_LOW_ROOT_SEL_100M, - ACLK_VOP_LOW_ROOT_SEL_24M, - ACLK_VOP_ROOT_SEL_SHIFT = 5, - ACLK_VOP_ROOT_SEL_MASK = 7 << ACLK_VOP_ROOT_SEL_SHIFT, - ACLK_VOP_ROOT_SEL_GPLL = 0, - ACLK_VOP_ROOT_SEL_CPLL, - ACLK_VOP_ROOT_SEL_AUPLL, - ACLK_VOP_ROOT_SEL_NPLL, - ACLK_VOP_ROOT_SEL_SPLL, - ACLK_VOP_ROOT_DIV_SHIFT = 0, - ACLK_VOP_ROOT_DIV_MASK = 0x1f << ACLK_VOP_ROOT_DIV_SHIFT, - - /* CRU_CLK_SEL111_CON */ - DCLK1_VOP_SRC_SEL_SHIFT = 14, - DCLK1_VOP_SRC_SEL_MASK = 3 << DCLK1_VOP_SRC_SEL_SHIFT, - DCLK1_VOP_SRC_DIV_SHIFT = 9, - DCLK1_VOP_SRC_DIV_MASK = 0x1f << DCLK1_VOP_SRC_DIV_SHIFT, - DCLK0_VOP_SRC_SEL_SHIFT = 7, - DCLK0_VOP_SRC_SEL_MASK = 3 << DCLK0_VOP_SRC_SEL_SHIFT, - DCLK_VOP_SRC_SEL_GPLL = 0, - DCLK_VOP_SRC_SEL_CPLL, - DCLK_VOP_SRC_SEL_V0PLL, - DCLK_VOP_SRC_SEL_AUPLL, - DCLK0_VOP_SRC_DIV_SHIFT = 0, - DCLK0_VOP_SRC_DIV_MASK = 0x7f << DCLK0_VOP_SRC_DIV_SHIFT, - - /* CRU_CLK_SEL112_CON */ - DCLK2_VOP_SEL_SHIFT = 11, - DCLK2_VOP_SEL_MASK = 3 << DCLK2_VOP_SEL_SHIFT, - DCLK1_VOP_SEL_SHIFT = 9, - DCLK1_VOP_SEL_MASK = 3 << DCLK1_VOP_SEL_SHIFT, - DCLK0_VOP_SEL_SHIFT = 7, - DCLK0_VOP_SEL_MASK = 3 << DCLK0_VOP_SEL_SHIFT, - DCLK2_VOP_SRC_SEL_SHIFT = 5, - DCLK2_VOP_SRC_SEL_MASK = 3 << DCLK2_VOP_SRC_SEL_SHIFT, - DCLK2_VOP_SRC_DIV_SHIFT = 0, - DCLK2_VOP_SRC_DIV_MASK = 0x1f << DCLK2_VOP_SRC_DIV_SHIFT, - - /* CRU_CLK_SEL113_CON */ - DCLK3_VOP_SRC_SEL_SHIFT = 7, - DCLK3_VOP_SRC_SEL_MASK = 3 << DCLK3_VOP_SRC_SEL_SHIFT, - DCLK3_VOP_SRC_DIV_SHIFT = 0, - DCLK3_VOP_SRC_DIV_MASK = 0x7f << DCLK3_VOP_SRC_DIV_SHIFT, - - /* CRU_CLK_SEL117_CON */ - CLK_AUX16MHZ_1_DIV_SHIFT = 8, - CLK_AUX16MHZ_1_DIV_MASK = 0xff << CLK_AUX16MHZ_1_DIV_SHIFT, - CLK_AUX16MHZ_0_DIV_SHIFT = 0, - CLK_AUX16MHZ_0_DIV_MASK = 0xff << CLK_AUX16MHZ_0_DIV_SHIFT, - - /* CRU_CLK_SEL165_CON */ - PCLK_CENTER_ROOT_SEL_SHIFT = 6, - PCLK_CENTER_ROOT_SEL_MASK = 3 << PCLK_CENTER_ROOT_SEL_SHIFT, - PCLK_CENTER_ROOT_SEL_200M = 0, - PCLK_CENTER_ROOT_SEL_100M, - PCLK_CENTER_ROOT_SEL_50M, - PCLK_CENTER_ROOT_SEL_24M, - HCLK_CENTER_ROOT_SEL_SHIFT = 4, - HCLK_CENTER_ROOT_SEL_MASK = 3 << HCLK_CENTER_ROOT_SEL_SHIFT, - HCLK_CENTER_ROOT_SEL_400M = 0, - HCLK_CENTER_ROOT_SEL_200M, - HCLK_CENTER_ROOT_SEL_100M, - HCLK_CENTER_ROOT_SEL_24M, - ACLK_CENTER_LOW_ROOT_SEL_SHIFT = 2, - ACLK_CENTER_LOW_ROOT_SEL_MASK = 3 << ACLK_CENTER_LOW_ROOT_SEL_SHIFT, - ACLK_CENTER_LOW_ROOT_SEL_500M = 0, - ACLK_CENTER_LOW_ROOT_SEL_250M, - ACLK_CENTER_LOW_ROOT_SEL_100M, - ACLK_CENTER_LOW_ROOT_SEL_24M, - ACLK_CENTER_ROOT_SEL_SHIFT = 0, - ACLK_CENTER_ROOT_SEL_MASK = 3 << ACLK_CENTER_ROOT_SEL_SHIFT, - ACLK_CENTER_ROOT_SEL_700M = 0, - ACLK_CENTER_ROOT_SEL_400M, - ACLK_CENTER_ROOT_SEL_200M, - ACLK_CENTER_ROOT_SEL_24M, - - /* CRU_CLK_SEL172_CON */ - CCLK_SDIO_SRC_SEL_SHIFT = 8, - CCLK_SDIO_SRC_SEL_MASK = 3 << CCLK_SDIO_SRC_SEL_SHIFT, - CCLK_SDIO_SRC_SEL_GPLL = 0, - CCLK_SDIO_SRC_SEL_CPLL, - CCLK_SDIO_SRC_SEL_24M, - CCLK_SDIO_SRC_DIV_SHIFT = 2, - CCLK_SDIO_SRC_DIV_MASK = 0x3f << CCLK_SDIO_SRC_DIV_SHIFT, - - /* CRU_CLK_SEL176_CON */ - CLK_PCIE_PHY1_PLL_DIV_SHIFT = 6, - CLK_PCIE_PHY1_PLL_DIV_MASK = 0x3f << CLK_PCIE_PHY1_PLL_DIV_SHIFT, - CLK_PCIE_PHY0_PLL_DIV_SHIFT = 0, - CLK_PCIE_PHY0_PLL_DIV_MASK = 0x3f << CLK_PCIE_PHY0_PLL_DIV_SHIFT, - - /* CRU_CLK_SEL177_CON */ - CLK_PCIE_PHY2_REF_SEL_SHIFT = 8, - CLK_PCIE_PHY2_REF_SEL_MASK = 1 << CLK_PCIE_PHY2_REF_SEL_SHIFT, - CLK_PCIE_PHY1_REF_SEL_SHIFT = 7, - CLK_PCIE_PHY1_REF_SEL_MASK = 1 << CLK_PCIE_PHY1_REF_SEL_SHIFT, - CLK_PCIE_PHY0_REF_SEL_SHIFT = 6, - CLK_PCIE_PHY0_REF_SEL_MASK = 1 << CLK_PCIE_PHY0_REF_SEL_SHIFT, - CLK_PCIE_PHY_REF_SEL_24M = 0, - CLK_PCIE_PHY_REF_SEL_PPLL, - CLK_PCIE_PHY2_PLL_DIV_SHIFT = 0, - CLK_PCIE_PHY2_PLL_DIV_MASK = 0x3f << CLK_PCIE_PHY2_PLL_DIV_SHIFT, - - /* PMUCRU_CLK_SEL2_CON */ - CLK_PMU1PWM_SEL_SHIFT = 9, - CLK_PMU1PWM_SEL_MASK = 3 << CLK_PMU1PWM_SEL_SHIFT, - - /* PMUCRU_CLK_SEL3_CON */ - CLK_I2C0_SEL_SHIFT = 6, - CLK_I2C0_SEL_MASK = 1 << CLK_I2C0_SEL_SHIFT, - CLK_I2C_SEL_200M = 0, - CLK_I2C_SEL_100M, -}; - -static struct rk_pll_rate_table rk3588_pll_rates[] = { - /* _mhz, _p, _m, _s, _k */ - RK3588_PLL_RATE(1500000000, 2, 250, 1, 0), - RK3588_PLL_RATE(1200000000, 2, 200, 1, 0), - RK3588_PLL_RATE(1188000000, 2, 198, 1, 0), - RK3588_PLL_RATE(1100000000, 3, 550, 2, 0), - RK3588_PLL_RATE(1008000000, 2, 336, 2, 0), - RK3588_PLL_RATE(1000000000, 3, 500, 2, 0), - RK3588_PLL_RATE(900000000, 2, 300, 2, 0), - RK3588_PLL_RATE(850000000, 3, 425, 2, 0), - RK3588_PLL_RATE(816000000, 2, 272, 2, 0), - RK3588_PLL_RATE(786432000, 2, 262, 2, 9437), - RK3588_PLL_RATE(786000000, 1, 131, 2, 0), - RK3588_PLL_RATE(742500000, 4, 495, 2, 0), - RK3588_PLL_RATE(722534400, 8, 963, 2, 24850), - RK3588_PLL_RATE(600000000, 2, 200, 2, 0), - RK3588_PLL_RATE(594000000, 2, 198, 2, 0), - RK3588_PLL_RATE(200000000, 3, 400, 4, 0), - RK3588_PLL_RATE(100000000, 3, 400, 5, 0), - { /* sentinel */ }, -}; - -static struct rk_pll_clock rk3588_pll_clks[] = { - [B0PLL] = PLL(pll_rk3588, PLL_B0PLL, RK3588_B0_PLL_CON(0), - RK3588_B0_PLL_MODE_CON, 0, 15, 0, - rk3588_pll_rates), - [B1PLL] = PLL(pll_rk3588, PLL_B1PLL, RK3588_B1_PLL_CON(8), - RK3588_B1_PLL_MODE_CON, 0, 15, 0, - rk3588_pll_rates), - [LPLL] = PLL(pll_rk3588, PLL_LPLL, RK3588_LPLL_CON(16), - RK3588_LPLL_MODE_CON, 0, 15, 0, rk3588_pll_rates), - [V0PLL] = PLL(pll_rk3588, PLL_V0PLL, RK3588_PLL_CON(88), - RK3588_MODE_CON0, 4, 15, 0, rk3588_pll_rates), - [AUPLL] = PLL(pll_rk3588, PLL_AUPLL, RK3588_PLL_CON(96), - RK3588_MODE_CON0, 6, 15, 0, rk3588_pll_rates), - [CPLL] = PLL(pll_rk3588, PLL_CPLL, RK3588_PLL_CON(104), - RK3588_MODE_CON0, 8, 15, 0, rk3588_pll_rates), - [GPLL] = PLL(pll_rk3588, PLL_GPLL, RK3588_PLL_CON(112), - RK3588_MODE_CON0, 2, 15, 0, rk3588_pll_rates), - [NPLL] = PLL(pll_rk3588, PLL_NPLL, RK3588_PLL_CON(120), - RK3588_MODE_CON0, 0, 15, 0, rk3588_pll_rates), - [PPLL] = PLL(pll_rk3588, PLL_PPLL, RK3588_PMU_PLL_CON(128), - RK3588_MODE_CON0, 10, 15, 0, rk3588_pll_rates), -}; -struct rk3588_clk_gate -{ - const char *name; - const char *parent_name; - - int offset; - int con_bit; -}; -#undef GATE -#define GATE(_id, _name, \ -_pname, _offset, _con_bit) \ -[_id] = \ -{ \ - .name = _name, \ - .parent_name = _pname, \ - .offset = _offset, \ - .con_bit = _con_bit, \ -} -static struct rk3588_clk_gate clk_gates[] = -{ - /* - * CRU Clock-Architecture - */ - /* fixed */ - - /* top */ - GATE(PCLK_MIPI_DCPHY0, "pclk_mipi_dcphy0", "pclk_top_root", RK3588_CLKGATE_CON(3), 14), - GATE(PCLK_MIPI_DCPHY1, "pclk_mipi_dcphy1", "pclk_top_root", RK3588_CLKGATE_CON(4), 3), - GATE(PCLK_CSIPHY0, "pclk_csiphy0", "pclk_top_root", RK3588_CLKGATE_CON(1), 6), - GATE(PCLK_CSIPHY1, "pclk_csiphy1", "pclk_top_root", RK3588_CLKGATE_CON(1), 8), - GATE(PCLK_CRU, "pclk_cru", "pclk_top_root", RK3588_CLKGATE_CON(5), 0), - - /* bigcore0 */ - GATE(PCLK_BIGCORE0_PVTM, "pclk_bigcore0_pvtm", "pclk_bigcore0_root", RK3588_BIGCORE0_CLKGATE_CON(1), 0), - GATE(CLK_BIGCORE0_PVTM, "clk_bigcore0_pvtm", "xin24m", RK3588_BIGCORE0_CLKGATE_CON(0), 12), - GATE(CLK_CORE_BIGCORE0_PVTM, "clk_core_bigcore0_pvtm", "armclk_b01", RK3588_BIGCORE0_CLKGATE_CON(0), 13), - - /* bigcore1 */ - GATE(PCLK_BIGCORE1_PVTM, "pclk_bigcore1_pvtm", "pclk_bigcore1_root", RK3588_BIGCORE1_CLKGATE_CON(1), 0), - GATE(CLK_BIGCORE1_PVTM, "clk_bigcore1_pvtm", "xin24m", RK3588_BIGCORE1_CLKGATE_CON(0), 12), - GATE(CLK_CORE_BIGCORE1_PVTM, "clk_core_bigcore1_pvtm", "armclk_b23", RK3588_BIGCORE1_CLKGATE_CON(0), 13), - - /* dsu */ - GATE(PCLK_LITCORE_PVTM, "pclk_litcore_pvtm", "pclk_dsu_ns_root", RK3588_DSU_CLKGATE_CON(2), 6), - GATE(PCLK_DBG, "pclk_dbg", "pclk_dsu_root", RK3588_DSU_CLKGATE_CON(1), 7), - GATE(PCLK_DSU, "pclk_dsu", "pclk_dsu_root", RK3588_DSU_CLKGATE_CON(1), 6), - GATE(PCLK_S_DAPLITE, "pclk_s_daplite", "pclk_dsu_ns_root", RK3588_DSU_CLKGATE_CON(1), 8), - GATE(PCLK_M_DAPLITE, "pclk_m_daplite", "pclk_dsu_root", RK3588_DSU_CLKGATE_CON(1), 9), - GATE(CLK_LITCORE_PVTM, "clk_litcore_pvtm", "xin24m", RK3588_DSU_CLKGATE_CON(2), 0), - GATE(CLK_CORE_LITCORE_PVTM, "clk_core_litcore_pvtm", "armclk_l", RK3588_DSU_CLKGATE_CON(2), 1), - - /* audio */ - GATE(HCLK_I2S2_2CH, "hclk_i2s2_2ch", "hclk_audio_root", RK3588_CLKGATE_CON(7), 12), - GATE(HCLK_I2S3_2CH, "hclk_i2s3_2ch", "hclk_audio_root", RK3588_CLKGATE_CON(7), 13), - GATE(MCLK_I2S2_2CH, "mclk_i2s2_2ch", "clk_i2s2_2ch", RK3588_CLKGATE_CON(8), 0), - GATE(MCLK_I2S3_2CH, "mclk_i2s3_2ch", "clk_i2s3_2ch", RK3588_CLKGATE_CON(8), 3), - GATE(CLK_DAC_ACDCDIG, "clk_dac_acdcdig", "mclk_i2s3_2ch", RK3588_CLKGATE_CON(8), 4), - GATE(PCLK_ACDCDIG, "pclk_acdcdig", "pclk_audio_root", RK3588_CLKGATE_CON(7), 11), - GATE(HCLK_I2S0_8CH, "hclk_i2s0_8ch", "hclk_audio_root", RK3588_CLKGATE_CON(7), 4), - - GATE(MCLK_I2S0_8CH_TX, "mclk_i2s0_8ch_tx", "clk_i2s0_8ch_tx", RK3588_CLKGATE_CON(7), 7), - - GATE(MCLK_I2S0_8CH_RX, "mclk_i2s0_8ch_rx", "clk_i2s0_8ch_rx", RK3588_CLKGATE_CON(7), 10), - - GATE(HCLK_PDM1, "hclk_pdm1", "hclk_audio_root", RK3588_CLKGATE_CON(9), 6), - - GATE(HCLK_SPDIF0, "hclk_spdif0", "hclk_audio_root", RK3588_CLKGATE_CON(8), 14), - GATE(MCLK_SPDIF0, "mclk_spdif0", "clk_spdif0", RK3588_CLKGATE_CON(9), 1), - - GATE(HCLK_SPDIF1, "hclk_spdif1", "hclk_audio_root", RK3588_CLKGATE_CON(9), 2), - GATE(MCLK_SPDIF1, "mclk_spdif1", "clk_spdif1", RK3588_CLKGATE_CON(9), 5), - - /* bus */ - GATE(PCLK_MAILBOX0, "pclk_mailbox0", "pclk_top_root", RK3588_CLKGATE_CON(16), 11), - GATE(PCLK_MAILBOX1, "pclk_mailbox1", "pclk_top_root", RK3588_CLKGATE_CON(16), 12), - GATE(PCLK_MAILBOX2, "pclk_mailbox2", "pclk_top_root", RK3588_CLKGATE_CON(16), 13), - GATE(PCLK_PMU2, "pclk_pmu2", "pclk_top_root", RK3588_CLKGATE_CON(19), 3), - GATE(PCLK_PMUCM0_INTMUX, "pclk_pmucm0_intmux", "pclk_top_root", RK3588_CLKGATE_CON(19), 4), - GATE(PCLK_DDRCM0_INTMUX, "pclk_ddrcm0_intmux", "pclk_top_root", RK3588_CLKGATE_CON(19), 5), - - GATE(PCLK_PWM1, "pclk_pwm1", "pclk_top_root", RK3588_CLKGATE_CON(15), 3), - GATE(CLK_PWM1_CAPTURE, "clk_pwm1_capture", "xin24m", RK3588_CLKGATE_CON(15), 5), - GATE(PCLK_PWM2, "pclk_pwm2", "pclk_top_root", RK3588_CLKGATE_CON(15), 6), - GATE(CLK_PWM2_CAPTURE, "clk_pwm2_capture", "xin24m", RK3588_CLKGATE_CON(15), 8), - GATE(PCLK_PWM3, "pclk_pwm3", "pclk_top_root", RK3588_CLKGATE_CON(15), 9), - GATE(CLK_PWM3_CAPTURE, "clk_pwm3_capture", "xin24m", RK3588_CLKGATE_CON(15), 11), - - GATE(PCLK_BUSTIMER0, "pclk_bustimer0", "pclk_top_root", RK3588_CLKGATE_CON(15), 12), - GATE(PCLK_BUSTIMER1, "pclk_bustimer1", "pclk_top_root", RK3588_CLKGATE_CON(15), 13), - GATE(CLK_BUSTIMER0, "clk_bustimer0", "clk_bus_timer_root", RK3588_CLKGATE_CON(15), 15), - GATE(CLK_BUSTIMER1, "clk_bustimer1", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 0), - GATE(CLK_BUSTIMER2, "clk_bustimer2", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 1), - GATE(CLK_BUSTIMER3, "clk_bustimer3", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 2), - GATE(CLK_BUSTIMER4, "clk_bustimer4", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 3), - GATE(CLK_BUSTIMER5, "clk_bustimer5", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 4), - GATE(CLK_BUSTIMER6, "clk_bustimer6", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 5), - GATE(CLK_BUSTIMER7, "clk_bustimer7", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 6), - GATE(CLK_BUSTIMER8, "clk_bustimer8", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 7), - GATE(CLK_BUSTIMER9, "clk_bustimer9", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 8), - GATE(CLK_BUSTIMER10, "clk_bustimer10", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 9), - GATE(CLK_BUSTIMER11, "clk_bustimer11", "clk_bus_timer_root", RK3588_CLKGATE_CON(16), 10), - - GATE(PCLK_WDT0, "pclk_wdt0", "pclk_top_root", RK3588_CLKGATE_CON(15), 0), - GATE(TCLK_WDT0, "tclk_wdt0", "xin24m", RK3588_CLKGATE_CON(15), 1), - - GATE(PCLK_CAN0, "pclk_can0", "pclk_top_root", RK3588_CLKGATE_CON(11), 8), - GATE(CLK_CAN0, "clk_can0", "gpll_cpll_p", RK3588_CLKGATE_CON(11), 9), - GATE(PCLK_CAN1, "pclk_can1", "pclk_top_root", RK3588_CLKGATE_CON(11), 10), - GATE(CLK_CAN1, "clk_can1", "gpll_cpll_p", RK3588_CLKGATE_CON(11), 11), - GATE(PCLK_CAN2, "pclk_can2", "pclk_top_root", RK3588_CLKGATE_CON(11), 12), - GATE(CLK_CAN2, "clk_can2", "gpll_cpll_p", RK3588_CLKGATE_CON(11), 13), - - GATE(ACLK_DECOM, "aclk_decom", "aclk_bus_root", RK3588_CLKGATE_CON(17), 6), - GATE(PCLK_DECOM, "pclk_decom", "pclk_top_root", RK3588_CLKGATE_CON(17), 7), - GATE(DCLK_DECOM, "dclk_decom", "gpll_spll_p", RK3588_CLKGATE_CON(17), 8), - GATE(ACLK_DMAC0, "aclk_dmac0", "aclk_bus_root", RK3588_CLKGATE_CON(10), 5), - GATE(ACLK_DMAC1, "aclk_dmac1", "aclk_bus_root", RK3588_CLKGATE_CON(10), 6), - GATE(ACLK_DMAC2, "aclk_dmac2", "aclk_bus_root", RK3588_CLKGATE_CON(10), 7), - GATE(ACLK_GIC, "aclk_gic", "aclk_bus_root", RK3588_CLKGATE_CON(10), 3), - - GATE(PCLK_GPIO1, "pclk_gpio1", "pclk_top_root", RK3588_CLKGATE_CON(16), 14), - GATE(DBCLK_GPIO1, "dbclk_gpio1", "mux_24m_32k_p", RK3588_CLKGATE_CON(16), 15), - GATE(PCLK_GPIO2, "pclk_gpio2", "pclk_top_root", RK3588_CLKGATE_CON(17), 0), - GATE(DBCLK_GPIO2, "dbclk_gpio2", "mux_24m_32k_p", RK3588_CLKGATE_CON(17), 1), - GATE(PCLK_GPIO3, "pclk_gpio3", "pclk_top_root", RK3588_CLKGATE_CON(17), 2), - GATE(DBCLK_GPIO3, "dbclk_gpio3", "mux_24m_32k_p", RK3588_CLKGATE_CON(17), 3), - GATE(PCLK_GPIO4, "pclk_gpio4", "pclk_top_root", RK3588_CLKGATE_CON(17), 4), - GATE(DBCLK_GPIO4, "dbclk_gpio4", "mux_24m_32k_p", RK3588_CLKGATE_CON(17), 5), - - GATE(PCLK_I2C1, "pclk_i2c1", "pclk_top_root", RK3588_CLKGATE_CON(10), 8), - GATE(PCLK_I2C2, "pclk_i2c2", "pclk_top_root", RK3588_CLKGATE_CON(10), 9), - GATE(PCLK_I2C3, "pclk_i2c3", "pclk_top_root", RK3588_CLKGATE_CON(10), 10), - GATE(PCLK_I2C4, "pclk_i2c4", "pclk_top_root", RK3588_CLKGATE_CON(10), 11), - GATE(PCLK_I2C5, "pclk_i2c5", "pclk_top_root", RK3588_CLKGATE_CON(10), 12), - GATE(PCLK_I2C6, "pclk_i2c6", "pclk_top_root", RK3588_CLKGATE_CON(10), 13), - GATE(PCLK_I2C7, "pclk_i2c7", "pclk_top_root", RK3588_CLKGATE_CON(10), 14), - GATE(PCLK_I2C8, "pclk_i2c8", "pclk_top_root", RK3588_CLKGATE_CON(10), 15), - GATE(CLK_I2C1, "clk_i2c1", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 0), - GATE(CLK_I2C2, "clk_i2c2", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 1), - GATE(CLK_I2C3, "clk_i2c3", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 2), - GATE(CLK_I2C4, "clk_i2c4", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 3), - GATE(CLK_I2C5, "clk_i2c5", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 4), - GATE(CLK_I2C6, "clk_i2c6", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 5), - GATE(CLK_I2C7, "clk_i2c7", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 6), - GATE(CLK_I2C8, "clk_i2c8", "mux_200m_100m_p", RK3588_CLKGATE_CON(11), 7), - - GATE(PCLK_OTPC_NS, "pclk_otpc_ns", "pclk_top_root", RK3588_CLKGATE_CON(18), 9), - GATE(CLK_OTPC_NS, "clk_otpc_ns", "xin24m", RK3588_CLKGATE_CON(18), 10), - GATE(CLK_OTPC_ARB, "clk_otpc_arb", "xin24m", RK3588_CLKGATE_CON(18), 11), - GATE(CLK_OTP_PHY_G, "clk_otp_phy_g", "xin24m", RK3588_CLKGATE_CON(18), 13), - GATE(CLK_OTPC_AUTO_RD_G, "clk_otpc_auto_rd_g", "xin24m", RK3588_CLKGATE_CON(18), 12), - - GATE(PCLK_SARADC, "pclk_saradc", "pclk_top_root", RK3588_CLKGATE_CON(11), 14), - GATE(CLK_SARADC, "clk_saradc", "gpll_24m_p", RK3588_CLKGATE_CON(11), 15), - - GATE(PCLK_SPI0, "pclk_spi0", "pclk_top_root", RK3588_CLKGATE_CON(14), 6), - GATE(PCLK_SPI1, "pclk_spi1", "pclk_top_root", RK3588_CLKGATE_CON(14), 7), - GATE(PCLK_SPI2, "pclk_spi2", "pclk_top_root", RK3588_CLKGATE_CON(14), 8), - GATE(PCLK_SPI3, "pclk_spi3", "pclk_top_root", RK3588_CLKGATE_CON(14), 9), - GATE(PCLK_SPI4, "pclk_spi4", "pclk_top_root", RK3588_CLKGATE_CON(14), 10), - GATE(CLK_SPI0, "clk_spi0", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 11), - GATE(CLK_SPI1, "clk_spi1", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 12), - GATE(CLK_SPI2, "clk_spi2", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 13), - GATE(CLK_SPI3, "clk_spi3", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 14), - GATE(CLK_SPI4, "clk_spi4", "mux_200m_150m_24m_p", RK3588_CLKGATE_CON(14), 15), - - GATE(ACLK_SPINLOCK, "aclk_spinlock", "aclk_bus_root", RK3588_CLKGATE_CON(18), 6), - GATE(PCLK_TSADC, "pclk_tsadc", "pclk_top_root", RK3588_CLKGATE_CON(12), 0), - GATE(CLK_TSADC, "clk_tsadc", "gpll_24m_p", RK3588_CLKGATE_CON(12), 1), - - GATE(PCLK_UART1, "pclk_uart1", "pclk_top_root", RK3588_CLKGATE_CON(12), 2), - GATE(PCLK_UART2, "pclk_uart2", "pclk_top_root", RK3588_CLKGATE_CON(12), 3), - GATE(PCLK_UART3, "pclk_uart3", "pclk_top_root", RK3588_CLKGATE_CON(12), 4), - GATE(PCLK_UART4, "pclk_uart4", "pclk_top_root", RK3588_CLKGATE_CON(12), 5), - GATE(PCLK_UART5, "pclk_uart5", "pclk_top_root", RK3588_CLKGATE_CON(12), 6), - GATE(PCLK_UART6, "pclk_uart6", "pclk_top_root", RK3588_CLKGATE_CON(12), 7), - GATE(PCLK_UART7, "pclk_uart7", "pclk_top_root", RK3588_CLKGATE_CON(12), 8), - GATE(PCLK_UART8, "pclk_uart8", "pclk_top_root", RK3588_CLKGATE_CON(12), 9), - GATE(PCLK_UART9, "pclk_uart9", "pclk_top_root", RK3588_CLKGATE_CON(12), 10), - - GATE(CLK_UART1_SRC, "clk_uart1_src", "gpll_cpll_p", RK3588_CLKGATE_CON(12), 11), - GATE(CLK_UART1_FRAC, "clk_uart1_frac", "clk_uart1_src", RK3588_CLKGATE_CON(12), 12), - GATE(SCLK_UART1, "sclk_uart1", "clk_uart1", RK3588_CLKGATE_CON(12), 13), - GATE(CLK_UART2_SRC, "clk_uart2_src", "gpll_cpll_p", RK3588_CLKGATE_CON(12), 14), - GATE(CLK_UART2_FRAC, "clk_uart2_frac", "clk_uart2_src", RK3588_CLKGATE_CON(12), 15), - GATE(SCLK_UART2, "sclk_uart2", "clk_uart2", RK3588_CLKGATE_CON(13), 0), - GATE(CLK_UART3_SRC, "clk_uart3_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 1), - GATE(CLK_UART3_FRAC, "clk_uart3_frac", "clk_uart3_src", RK3588_CLKGATE_CON(13), 2), - GATE(SCLK_UART3, "sclk_uart3", "clk_uart3", RK3588_CLKGATE_CON(13), 3), - GATE(CLK_UART4_SRC, "clk_uart4_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 4), - GATE(CLK_UART4_FRAC, "clk_uart4_frac", "clk_uart4_src", RK3588_CLKGATE_CON(13), 5), - GATE(SCLK_UART4, "sclk_uart4", "clk_uart4", RK3588_CLKGATE_CON(13), 6), - GATE(CLK_UART5_SRC, "clk_uart5_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 7), - GATE(CLK_UART5_FRAC, "clk_uart5_frac", "clk_uart5_src", RK3588_CLKGATE_CON(13), 8), - GATE(SCLK_UART5, "sclk_uart5", "clk_uart5", RK3588_CLKGATE_CON(13), 9), - GATE(CLK_UART6_SRC, "clk_uart6_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 10), - GATE(CLK_UART6_FRAC, "clk_uart6_frac", "clk_uart6_src", RK3588_CLKGATE_CON(13), 11), - GATE(SCLK_UART6, "sclk_uart6", "clk_uart6", RK3588_CLKGATE_CON(13), 12), - GATE(CLK_UART7_SRC, "clk_uart7_src", "gpll_cpll_p", RK3588_CLKGATE_CON(13), 13), - GATE(CLK_UART7_FRAC, "clk_uart7_frac", "clk_uart7_src", RK3588_CLKGATE_CON(13), 14), - GATE(SCLK_UART7, "sclk_uart7", "clk_uart7", RK3588_CLKGATE_CON(13), 15), - GATE(CLK_UART8_SRC, "clk_uart8_src", "gpll_cpll_p", RK3588_CLKGATE_CON(14), 0), - GATE(CLK_UART8_FRAC, "clk_uart8_frac", "clk_uart8_src", RK3588_CLKGATE_CON(14), 1), - GATE(SCLK_UART8, "sclk_uart8", "clk_uart8", RK3588_CLKGATE_CON(14), 2), - GATE(CLK_UART9_SRC, "clk_uart9_src", "gpll_cpll_p", RK3588_CLKGATE_CON(14), 3), - GATE(CLK_UART9_FRAC, "clk_uart9_frac", "clk_uart9_src", RK3588_CLKGATE_CON(14), 4), - GATE(SCLK_UART9, "sclk_uart9", "clk_uart9", RK3588_CLKGATE_CON(14), 5), - - /* center */ - GATE(ACLK_DMA2DDR, "aclk_dma2ddr", "aclk_center_root", RK3588_CLKGATE_CON(69), 5), - GATE(ACLK_DDR_SHAREMEM, "aclk_ddr_sharemem", "aclk_center_low_root", RK3588_CLKGATE_CON(69), 6), - GATE(FCLK_DDR_CM0_CORE, "fclk_ddr_cm0_core", "hclk_center_root", RK3588_CLKGATE_CON(69), 14), - GATE(CLK_DDR_TIMER0, "clk_ddr_timer0", "clk_ddr_timer_root", RK3588_CLKGATE_CON(70), 0), - GATE(CLK_DDR_TIMER1, "clk_ddr_timer1", "clk_ddr_timer_root", RK3588_CLKGATE_CON(70), 1), - GATE(TCLK_WDT_DDR, "tclk_wdt_ddr", "xin24m", RK3588_CLKGATE_CON(70), 2), - GATE(PCLK_WDT, "pclk_wdt", "pclk_center_root", RK3588_CLKGATE_CON(70), 7), - GATE(PCLK_TIMER, "pclk_timer", "pclk_center_root", RK3588_CLKGATE_CON(70), 8), - GATE(PCLK_DMA2DDR, "pclk_dma2ddr", "pclk_center_root", RK3588_CLKGATE_CON(70), 9), - GATE(PCLK_SHAREMEM, "pclk_sharemem", "pclk_center_root", RK3588_CLKGATE_CON(70), 10), - - /* gpu */ - GATE(CLK_GPU, "clk_gpu", "clk_gpu_src", RK3588_CLKGATE_CON(66), 4), - GATE(CLK_GPU_COREGROUP, "clk_gpu_coregroup", "clk_gpu_src", RK3588_CLKGATE_CON(66), 6), - GATE(CLK_GPU_PVTM, "clk_gpu_pvtm", "xin24m", RK3588_CLKGATE_CON(67), 0), - GATE(CLK_CORE_GPU_PVTM, "clk_core_gpu_pvtm", "clk_gpu_src", RK3588_CLKGATE_CON(67), 1), - - /* isp1 */ - GATE(CLK_ISP1_CORE_MARVIN, "clk_isp1_core_marvin", "clk_isp1_core", RK3588_CLKGATE_CON(26), 3), - GATE(CLK_ISP1_CORE_VICAP, "clk_isp1_core_vicap", "clk_isp1_core", RK3588_CLKGATE_CON(26), 4), - - /* npu */ - GATE(ACLK_NPU1, "aclk_npu1", "clk_npu_dsu0", RK3588_CLKGATE_CON(27), 0), - GATE(HCLK_NPU1, "hclk_npu1", "hclk_npu_root", RK3588_CLKGATE_CON(27), 2), - GATE(ACLK_NPU2, "aclk_npu2", "clk_npu_dsu0", RK3588_CLKGATE_CON(28), 0), - GATE(HCLK_NPU2, "hclk_npu2", "hclk_npu_root", RK3588_CLKGATE_CON(28), 2), - GATE(FCLK_NPU_CM0_CORE, "fclk_npu_cm0_core", "hclk_npu_cm0_root", RK3588_CLKGATE_CON(30), 3), - GATE(PCLK_NPU_PVTM, "pclk_npu_pvtm", "pclk_npu_root", RK3588_CLKGATE_CON(29), 12), - GATE(PCLK_NPU_GRF, "pclk_npu_grf", "pclk_npu_root", RK3588_CLKGATE_CON(29), 13), - GATE(CLK_NPU_PVTM, "clk_npu_pvtm", "xin24m", RK3588_CLKGATE_CON(29), 14), - GATE(CLK_CORE_NPU_PVTM, "clk_core_npu_pvtm", "clk_npu_dsu0", RK3588_CLKGATE_CON(29), 15), - GATE(ACLK_NPU0, "aclk_npu0", "clk_npu_dsu0", RK3588_CLKGATE_CON(30), 6), - GATE(HCLK_NPU0, "hclk_npu0", "hclk_npu_root", RK3588_CLKGATE_CON(30), 8), - GATE(PCLK_NPU_TIMER, "pclk_npu_timer", "pclk_npu_root", RK3588_CLKGATE_CON(29), 6), - GATE(CLK_NPUTIMER0, "clk_nputimer0", "clk_nputimer_root", RK3588_CLKGATE_CON(29), 8), - GATE(CLK_NPUTIMER1, "clk_nputimer1", "clk_nputimer_root", RK3588_CLKGATE_CON(29), 9), - GATE(PCLK_NPU_WDT, "pclk_npu_wdt", "pclk_npu_root", RK3588_CLKGATE_CON(29), 10), - GATE(TCLK_NPU_WDT, "tclk_npu_wdt", "xin24m", RK3588_CLKGATE_CON(29), 11), - - /* nvm */ - GATE(ACLK_EMMC, "aclk_emmc", "aclk_nvm_root", RK3588_CLKGATE_CON(31), 5), - GATE(TMCLK_EMMC, "tmclk_emmc", "xin24m", RK3588_CLKGATE_CON(31), 8), - - - /* php */ - GATE(ACLK_PHP_GIC_ITS, "aclk_php_gic_its", "aclk_pcie_root", RK3588_CLKGATE_CON(34), 6), - GATE(ACLK_PCIE_BRIDGE, "aclk_pcie_bridge", "aclk_pcie_root", RK3588_CLKGATE_CON(32), 8), - GATE(ACLK_MMU_PCIE, "aclk_mmu_pcie", "aclk_pcie_bridge", RK3588_CLKGATE_CON(34), 7), - GATE(ACLK_MMU_PHP, "aclk_mmu_php", "aclk_php_root", RK3588_CLKGATE_CON(34), 8), - GATE(ACLK_PCIE_4L_DBI, "aclk_pcie_4l_dbi", "aclk_php_root", RK3588_CLKGATE_CON(32), 13), - GATE(ACLK_PCIE_2L_DBI, "aclk_pcie_2l_dbi", "aclk_php_root", RK3588_CLKGATE_CON(32), 14), - GATE(ACLK_PCIE_1L0_DBI, "aclk_pcie_1l0_dbi", "aclk_php_root", RK3588_CLKGATE_CON(32), 15), - GATE(ACLK_PCIE_1L1_DBI, "aclk_pcie_1l1_dbi", "aclk_php_root", RK3588_CLKGATE_CON(33), 0), - GATE(ACLK_PCIE_1L2_DBI, "aclk_pcie_1l2_dbi", "aclk_php_root", RK3588_CLKGATE_CON(33), 1), - GATE(ACLK_PCIE_4L_MSTR, "aclk_pcie_4l_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 2), - GATE(ACLK_PCIE_2L_MSTR, "aclk_pcie_2l_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 3), - GATE(ACLK_PCIE_1L0_MSTR, "aclk_pcie_1l0_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 4), - GATE(ACLK_PCIE_1L1_MSTR, "aclk_pcie_1l1_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 5), - GATE(ACLK_PCIE_1L2_MSTR, "aclk_pcie_1l2_mstr", "aclk_mmu_pcie", RK3588_CLKGATE_CON(33), 6), - GATE(ACLK_PCIE_4L_SLV, "aclk_pcie_4l_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 7), - GATE(ACLK_PCIE_2L_SLV, "aclk_pcie_2l_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 8), - GATE(ACLK_PCIE_1L0_SLV, "aclk_pcie_1l0_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 9), - GATE(ACLK_PCIE_1L1_SLV, "aclk_pcie_1l1_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 10), - GATE(ACLK_PCIE_1L2_SLV, "aclk_pcie_1l2_slv", "aclk_php_root", RK3588_CLKGATE_CON(33), 11), - GATE(PCLK_PCIE_4L, "pclk_pcie_4l", "pclk_php_root", RK3588_CLKGATE_CON(33), 12), - GATE(PCLK_PCIE_2L, "pclk_pcie_2l", "pclk_php_root", RK3588_CLKGATE_CON(33), 13), - GATE(PCLK_PCIE_1L0, "pclk_pcie_1l0", "pclk_php_root", RK3588_CLKGATE_CON(33), 14), - GATE(PCLK_PCIE_1L1, "pclk_pcie_1l1", "pclk_php_root", RK3588_CLKGATE_CON(33), 15), - GATE(PCLK_PCIE_1L2, "pclk_pcie_1l2", "pclk_php_root", RK3588_CLKGATE_CON(34), 0), - GATE(CLK_PCIE_AUX0, "clk_pcie_aux0", "xin24m", RK3588_CLKGATE_CON(34), 1), - GATE(CLK_PCIE_AUX1, "clk_pcie_aux1", "xin24m", RK3588_CLKGATE_CON(34), 2), - GATE(CLK_PCIE_AUX2, "clk_pcie_aux2", "xin24m", RK3588_CLKGATE_CON(34), 3), - GATE(CLK_PCIE_AUX3, "clk_pcie_aux3", "xin24m", RK3588_CLKGATE_CON(34), 4), - GATE(CLK_PCIE_AUX4, "clk_pcie_aux4", "xin24m", RK3588_CLKGATE_CON(34), 5), - GATE(CLK_PIPEPHY0_REF, "clk_pipephy0_ref", "xin24m", RK3588_CLKGATE_CON(37), 0), - GATE(CLK_PIPEPHY1_REF, "clk_pipephy1_ref", "xin24m", RK3588_CLKGATE_CON(37), 1), - GATE(CLK_PIPEPHY2_REF, "clk_pipephy2_ref", "xin24m", RK3588_CLKGATE_CON(37), 2), - GATE(PCLK_GMAC0, "pclk_gmac0", "pclk_php_root", RK3588_CLKGATE_CON(32), 3), - GATE(PCLK_GMAC1, "pclk_gmac1", "pclk_php_root", RK3588_CLKGATE_CON(32), 4), - GATE(ACLK_GMAC0, "aclk_gmac0", "aclk_mmu_php", RK3588_CLKGATE_CON(32), 10), - GATE(ACLK_GMAC1, "aclk_gmac1", "aclk_mmu_php", RK3588_CLKGATE_CON(32), 11), - GATE(CLK_PMALIVE0, "clk_pmalive0", "xin24m", RK3588_CLKGATE_CON(37), 4), - GATE(CLK_PMALIVE1, "clk_pmalive1", "xin24m", RK3588_CLKGATE_CON(37), 5), - GATE(CLK_PMALIVE2, "clk_pmalive2", "xin24m", RK3588_CLKGATE_CON(37), 6), - GATE(ACLK_SATA0, "aclk_sata0", "aclk_mmu_php", RK3588_CLKGATE_CON(37), 7), - GATE(ACLK_SATA1, "aclk_sata1", "aclk_mmu_php", RK3588_CLKGATE_CON(37), 8), - GATE(ACLK_SATA2, "aclk_sata2", "aclk_mmu_php", RK3588_CLKGATE_CON(37), 9), - GATE(ACLK_USB3OTG2, "aclk_usb3otg2", "aclk_mmu_php", RK3588_CLKGATE_CON(35), 7), - GATE(SUSPEND_CLK_USB3OTG2, "suspend_clk_usb3otg2", "xin24m", RK3588_CLKGATE_CON(35), 8), - GATE(REF_CLK_USB3OTG2, "ref_clk_usb3otg2", "xin24m", RK3588_CLKGATE_CON(35), 9), - GATE(PCLK_PCIE_COMBO_PIPE_PHY0, "pclk_pcie_combo_pipe_phy0", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 5), - GATE(PCLK_PCIE_COMBO_PIPE_PHY1, "pclk_pcie_combo_pipe_phy1", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 6), - GATE(PCLK_PCIE_COMBO_PIPE_PHY2, "pclk_pcie_combo_pipe_phy2", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 7), - GATE(PCLK_PCIE_COMBO_PIPE_PHY, "pclk_pcie_combo_pipe_phy", "pclk_top_root", RK3588_PHP_CLKGATE_CON(0), 8), - - /* rga */ - GATE(HCLK_RGA3_1, "hclk_rga3_1", "hclk_rga3_root", RK3588_CLKGATE_CON(76), 4), - GATE(ACLK_RGA3_1, "aclk_rga3_1", "aclk_rga3_root", RK3588_CLKGATE_CON(76), 5), - - /* vdec */ - GATE(SUSPEND_CLK_USB3OTG0, "suspend_clk_usb3otg0", "xin24m", RK3588_CLKGATE_CON(42), 5), - GATE(REF_CLK_USB3OTG0, "ref_clk_usb3otg0", "xin24m", RK3588_CLKGATE_CON(42), 6), - GATE(SUSPEND_CLK_USB3OTG1, "suspend_clk_usb3otg1", "xin24m", RK3588_CLKGATE_CON(42), 8), - GATE(REF_CLK_USB3OTG1, "ref_clk_usb3otg1", "xin24m", RK3588_CLKGATE_CON(42), 9), - - /* vdpu */ - GATE(HCLK_IEP2P0, "hclk_iep2p0", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 4), - GATE(HCLK_JPEG_ENCODER0, "hclk_jpeg_encoder0", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 11), - GATE(HCLK_JPEG_ENCODER1, "hclk_jpeg_encoder1", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 13), - GATE(HCLK_JPEG_ENCODER2, "hclk_jpeg_encoder2", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 15), - GATE(HCLK_JPEG_ENCODER3, "hclk_jpeg_encoder3", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 1), - GATE(HCLK_JPEG_DECODER, "hclk_jpeg_decoder", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 3), - GATE(HCLK_RGA2, "hclk_rga2", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 7), - GATE(ACLK_RGA2, "aclk_rga2", "aclk_vdpu_root", RK3588_CLKGATE_CON(45), 8), - GATE(HCLK_RGA3_0, "hclk_rga3_0", "hclk_vdpu_root", RK3588_CLKGATE_CON(45), 10), - GATE(ACLK_RGA3_0, "aclk_rga3_0", "aclk_vdpu_root", RK3588_CLKGATE_CON(45), 11), - GATE(HCLK_VPU, "hclk_vpu", "hclk_vdpu_root", RK3588_CLKGATE_CON(44), 9), - - /* venc */ - GATE(HCLK_RKVENC0, "hclk_rkvenc0", "hclk_rkvenc0_root", RK3588_CLKGATE_CON(47), 4), - GATE(ACLK_RKVENC0, "aclk_rkvenc0", "aclk_rkvenc0_root", RK3588_CLKGATE_CON(47), 5), - - /* vi */ - GATE(ICLK_CSIHOST0, "iclk_csihost0", "iclk_csihost01", RK3588_CLKGATE_CON(51), 11), - GATE(ICLK_CSIHOST1, "iclk_csihost1", "iclk_csihost01", RK3588_CLKGATE_CON(51), 12), - GATE(PCLK_CSI_HOST_0, "pclk_csi_host_0", "pclk_vi_root", RK3588_CLKGATE_CON(50), 4), - GATE(PCLK_CSI_HOST_1, "pclk_csi_host_1", "pclk_vi_root", RK3588_CLKGATE_CON(50), 5), - GATE(PCLK_CSI_HOST_2, "pclk_csi_host_2", "pclk_vi_root", RK3588_CLKGATE_CON(50), 6), - GATE(PCLK_CSI_HOST_3, "pclk_csi_host_3", "pclk_vi_root", RK3588_CLKGATE_CON(50), 7), - GATE(PCLK_CSI_HOST_4, "pclk_csi_host_4", "pclk_vi_root", RK3588_CLKGATE_CON(50), 8), - GATE(PCLK_CSI_HOST_5, "pclk_csi_host_5", "pclk_vi_root", RK3588_CLKGATE_CON(50), 9), - GATE(ACLK_FISHEYE0, "aclk_fisheye0", "aclk_vi_root", RK3588_CLKGATE_CON(49), 14), - GATE(HCLK_FISHEYE0, "hclk_fisheye0", "hclk_vi_root", RK3588_CLKGATE_CON(49), 15), - GATE(ACLK_FISHEYE1, "aclk_fisheye1", "aclk_vi_root", RK3588_CLKGATE_CON(50), 1), - GATE(HCLK_FISHEYE1, "hclk_fisheye1", "hclk_vi_root", RK3588_CLKGATE_CON(50), 2), - GATE(CLK_ISP0_CORE_MARVIN, "clk_isp0_core_marvin", "clk_isp0_core", RK3588_CLKGATE_CON(49), 10), - GATE(CLK_ISP0_CORE_VICAP, "clk_isp0_core_vicap", "clk_isp0_core", RK3588_CLKGATE_CON(49), 11), - GATE(ACLK_ISP0, "aclk_isp0", "aclk_vi_root", RK3588_CLKGATE_CON(49), 12), - GATE(HCLK_ISP0, "hclk_isp0", "hclk_vi_root", RK3588_CLKGATE_CON(49), 13), - GATE(ACLK_VICAP, "aclk_vicap", "aclk_vi_root", RK3588_CLKGATE_CON(49), 7), - GATE(HCLK_VICAP, "hclk_vicap", "hclk_vi_root", RK3588_CLKGATE_CON(49), 8), - - /* vo0 */ - GATE(PCLK_DP0, "pclk_dp0", "pclk_vo0_root", RK3588_CLKGATE_CON(56), 4), - GATE(PCLK_DP1, "pclk_dp1", "pclk_vo0_root", RK3588_CLKGATE_CON(56), 5), - GATE(PCLK_S_DP0, "pclk_s_dp0", "pclk_vo0_s_root", RK3588_CLKGATE_CON(56), 6), - GATE(PCLK_S_DP1, "pclk_s_dp1", "pclk_vo0_s_root", RK3588_CLKGATE_CON(56), 7), - GATE(CLK_DP0, "clk_dp0", "aclk_vo0_root", RK3588_CLKGATE_CON(56), 8), - GATE(CLK_DP1, "clk_dp1", "aclk_vo0_root", RK3588_CLKGATE_CON(56), 9), - GATE(HCLK_HDCP_KEY0, "hclk_hdcp_key0", "hclk_vo0_s_root", RK3588_CLKGATE_CON(55), 11), - GATE(PCLK_HDCP0, "pclk_hdcp0", "pclk_vo0_root", RK3588_CLKGATE_CON(55), 14), - GATE(ACLK_TRNG0, "aclk_trng0", "aclk_vo0_root", RK3588_CLKGATE_CON(56), 0), - GATE(PCLK_TRNG0, "pclk_trng0", "pclk_vo0_root", RK3588_CLKGATE_CON(56), 1), - GATE(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", RK3588_CLKGATE_CON(55), 10), - GATE(MCLK_I2S4_8CH_TX, "mclk_i2s4_8ch_tx", "clk_i2s4_8ch_tx", RK3588_CLKGATE_CON(56), 13), - GATE(MCLK_I2S8_8CH_TX, "mclk_i2s8_8ch_tx", "clk_i2s8_8ch_tx", RK3588_CLKGATE_CON(57), 1), - GATE(MCLK_SPDIF2_DP0, "mclk_spdif2_dp0", "clk_spdif2_dp0", RK3588_CLKGATE_CON(57), 5), - GATE(MCLK_SPDIF2, "mclk_spdif2", "clk_spdif2_dp0", RK3588_CLKGATE_CON(57), 6), - GATE(MCLK_SPDIF5_DP1, "mclk_spdif5_dp1", "clk_spdif5_dp1", RK3588_CLKGATE_CON(57), 10), - GATE(MCLK_SPDIF5, "mclk_spdif5", "clk_spdif5_dp1", RK3588_CLKGATE_CON(57), 11), - - /* vo1 */ - GATE(PCLK_EDP0, "pclk_edp0", "pclk_vo1_root", RK3588_CLKGATE_CON(62), 0), - GATE(CLK_EDP0_24M, "clk_edp0_24m", "xin24m", RK3588_CLKGATE_CON(62), 1), - GATE(PCLK_EDP1, "pclk_edp1", "pclk_vo1_root", RK3588_CLKGATE_CON(62), 3), - GATE(CLK_EDP1_24M, "clk_edp1_24m", "xin24m", RK3588_CLKGATE_CON(62), 4), - GATE(HCLK_HDCP_KEY1, "hclk_hdcp_key1", "hclk_vo1_s_root", RK3588_CLKGATE_CON(60), 4), - GATE(PCLK_HDCP1, "pclk_hdcp1", "pclk_vo1_root", RK3588_CLKGATE_CON(60), 7), - GATE(ACLK_HDMIRX, "aclk_hdmirx", "aclk_hdmirx_root", RK3588_CLKGATE_CON(61), 9), - GATE(PCLK_HDMIRX, "pclk_hdmirx", "pclk_vo1_root", RK3588_CLKGATE_CON(61), 10), - GATE(CLK_HDMIRX_REF, "clk_hdmirx_ref", "aclk_hdcp1_root", RK3588_CLKGATE_CON(61), 11), - GATE(CLK_HDMIRX_AUD, "clk_hdmirx_aud", "clk_hdmirx_aud_mux", RK3588_CLKGATE_CON(61), 14), - GATE(PCLK_HDMITX0, "pclk_hdmitx0", "pclk_vo1_root", RK3588_CLKGATE_CON(60), 11), - GATE(CLK_HDMITX0_REF, "clk_hdmitx0_ref", "aclk_hdcp1_root", RK3588_CLKGATE_CON(61), 0), - GATE(PCLK_HDMITX1, "pclk_hdmitx1", "pclk_vo1_root", RK3588_CLKGATE_CON(61), 2), - GATE(CLK_HDMITX1_REF, "clk_hdmitx1_ref", "aclk_hdcp1_root", RK3588_CLKGATE_CON(61), 7), - GATE(ACLK_TRNG1, "aclk_trng1", "aclk_hdcp1_root", RK3588_CLKGATE_CON(60), 9), - GATE(PCLK_TRNG1, "pclk_trng1", "pclk_vo1_root", RK3588_CLKGATE_CON(60), 10), - GATE(0, "pclk_vo1grf", "pclk_vo1_root", RK3588_CLKGATE_CON(59), 12), - GATE(PCLK_S_EDP0, "pclk_s_edp0", "pclk_vo1_s_root", RK3588_CLKGATE_CON(59), 14), - GATE(PCLK_S_EDP1, "pclk_s_edp1", "pclk_vo1_s_root", RK3588_CLKGATE_CON(59), 15), - GATE(PCLK_S_HDMIRX, "pclk_s_hdmirx", "pclk_vo1_s_root", RK3588_CLKGATE_CON(65), 8), - GATE(MCLK_I2S10_8CH_RX, "mclk_i2s10_8ch_rx", "clk_i2s10_8ch_rx", RK3588_CLKGATE_CON(65), 7), - GATE(MCLK_I2S7_8CH_RX, "mclk_i2s7_8ch_rx", "clk_i2s7_8ch_rx", RK3588_CLKGATE_CON(60), 3), - GATE(MCLK_I2S9_8CH_RX, "mclk_i2s9_8ch_rx", "clk_i2s9_8ch_rx", RK3588_CLKGATE_CON(65), 3), - GATE(MCLK_I2S5_8CH_TX, "mclk_i2s5_8ch_tx", "clk_i2s5_8ch_tx", RK3588_CLKGATE_CON(62), 8), - GATE(MCLK_I2S6_8CH_TX, "mclk_i2s6_8ch_tx", "clk_i2s6_8ch_tx", RK3588_CLKGATE_CON(62), 15), - GATE(MCLK_I2S6_8CH_RX, "mclk_i2s6_8ch_rx", "clk_i2s6_8ch_rx", RK3588_CLKGATE_CON(63), 2), - GATE(MCLK_SPDIF3, "mclk_spdif3", "clk_spdif3", RK3588_CLKGATE_CON(63), 7), - GATE(MCLK_SPDIF4, "mclk_spdif4", "clk_spdif4", RK3588_CLKGATE_CON(63), 11), - GATE(CLK_HDMIHDP0, "clk_hdmihdp0", "xin24m", RK3588_CLKGATE_CON(73), 12), - GATE(CLK_HDMIHDP1, "clk_hdmihdp1", "xin24m", RK3588_CLKGATE_CON(73), 13), - GATE(PCLK_HDPTX0, "pclk_hdptx0", "pclk_top_root", RK3588_CLKGATE_CON(72), 5), - GATE(PCLK_HDPTX1, "pclk_hdptx1", "pclk_top_root", RK3588_CLKGATE_CON(72), 6), - GATE(PCLK_USBDPPHY0, "pclk_usbdpphy0", "pclk_top_root", RK3588_CLKGATE_CON(72), 2), - GATE(PCLK_USBDPPHY1, "pclk_usbdpphy1", "pclk_top_root", RK3588_CLKGATE_CON(72), 4), - GATE(HCLK_VOP, "hclk_vop", "hclk_vop_root", RK3588_CLKGATE_CON(52), 8), - GATE(ACLK_VOP, "aclk_vop", "aclk_vop_sub_src", RK3588_CLKGATE_CON(52), 9), - GATE(PCLK_DSIHOST0, "pclk_dsihost0", "pclk_vop_root", RK3588_CLKGATE_CON(53), 4), - GATE(PCLK_DSIHOST1, "pclk_dsihost1", "pclk_vop_root", RK3588_CLKGATE_CON(53), 5), - GATE(CLK_VOP_PMU, "clk_vop_pmu", "xin24m", RK3588_CLKGATE_CON(53), 8), - GATE(ACLK_VOP_DOBY, "aclk_vop_doby", "aclk_vop_root", RK3588_CLKGATE_CON(53), 10), - GATE(CLK_USBDP_PHY0_IMMORTAL, "clk_usbdp_phy0_immortal", "xin24m", RK3588_CLKGATE_CON(2), 8), - GATE(CLK_USBDP_PHY1_IMMORTAL, "clk_usbdp_phy1_immortal", "xin24m", RK3588_CLKGATE_CON(2), 15), - - GATE(CLK_REF_PIPE_PHY0_OSC_SRC, "clk_ref_pipe_phy0_osc_src", "xin24m", RK3588_CLKGATE_CON(77), 0), - GATE(CLK_REF_PIPE_PHY1_OSC_SRC, "clk_ref_pipe_phy1_osc_src", "xin24m", RK3588_CLKGATE_CON(77), 1), - GATE(CLK_REF_PIPE_PHY2_OSC_SRC, "clk_ref_pipe_phy2_osc_src", "xin24m", RK3588_CLKGATE_CON(77), 2), - - /* pmu */ - GATE(PCLK_PMU0_ROOT, "pclk_pmu0_root", "pclk_pmu1_root", RK3588_PMU_CLKGATE_CON(5), 0), - GATE(CLK_PMU0, "clk_pmu0", "xin24m", RK3588_PMU_CLKGATE_CON(5), 1), - GATE(PCLK_PMU0, "pclk_pmu0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(5), 2), - GATE(PCLK_PMU0IOC, "pclk_pmu0ioc", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(5), 4), - GATE(PCLK_GPIO0, "pclk_gpio0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(5), 5), - GATE(PCLK_I2C0, "pclk_i2c0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(2), 1), - GATE(HCLK_I2S1_8CH, "hclk_i2s1_8ch", "hclk_pmu1_root", RK3588_PMU_CLKGATE_CON(2), 7), - GATE(MCLK_I2S1_8CH_TX, "mclk_i2s1_8ch_tx", "clk_i2s1_8ch_tx", RK3588_PMU_CLKGATE_CON(2), 10), - GATE(MCLK_I2S1_8CH_RX, "mclk_i2s1_8ch_rx", "clk_i2s1_8ch_rx", RK3588_PMU_CLKGATE_CON(2), 13), - GATE(PCLK_PMU1, "pclk_pmu1", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 0), - GATE(CLK_DDR_FAIL_SAFE, "clk_ddr_fail_safe", "clk_pmu0", RK3588_PMU_CLKGATE_CON(1), 1), - GATE(CLK_PMU1, "clk_pmu1", "clk_pmu0", RK3588_PMU_CLKGATE_CON(1), 3), - GATE(HCLK_PDM0, "hclk_pdm0", "hclk_pmu1_root", RK3588_PMU_CLKGATE_CON(2), 14), - GATE(HCLK_VAD, "hclk_vad", "hclk_pmu1_root", RK3588_PMU_CLKGATE_CON(3), 0), - GATE(FCLK_PMU_CM0_CORE, "fclk_pmu_cm0_core", "hclk_pmu_cm0_root", RK3588_PMU_CLKGATE_CON(0), 13), - GATE(PCLK_PMU1_IOC, "pclk_pmu1_ioc", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 5), - GATE(PCLK_PMU1PWM, "pclk_pmu1pwm", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 12), - GATE(CLK_PMU1PWM_CAPTURE, "clk_pmu1pwm_capture", "xin24m", RK3588_PMU_CLKGATE_CON(1), 14), - GATE(PCLK_PMU1TIMER, "pclk_pmu1timer", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 8), - GATE(CLK_PMU1TIMER0, "clk_pmu1timer0", "clk_pmu1timer_root", RK3588_PMU_CLKGATE_CON(1), 10), - GATE(CLK_PMU1TIMER1, "clk_pmu1timer1", "clk_pmu1timer_root", RK3588_PMU_CLKGATE_CON(1), 11), - GATE(SCLK_UART0, "sclk_uart0", "clk_uart0", RK3588_PMU_CLKGATE_CON(2), 5), - GATE(PCLK_UART0, "pclk_uart0", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(2), 6), - GATE(PCLK_PMU1WDT, "pclk_pmu1wdt", "pclk_pmu0_root", RK3588_PMU_CLKGATE_CON(1), 6), -#define RK3588_PHYREF_ALT_GATE 0xc38 - GATE(CLK_PHY0_REF_ALT_P, "clk_phy0_ref_alt_p", "ppll", RK3588_PHYREF_ALT_GATE, 0), - GATE(CLK_PHY0_REF_ALT_M, "clk_phy0_ref_alt_m", "ppll", RK3588_PHYREF_ALT_GATE, 1), - GATE(CLK_PHY1_REF_ALT_P, "clk_phy1_ref_alt_p", "ppll", RK3588_PHYREF_ALT_GATE, 2), - GATE(CLK_PHY1_REF_ALT_M, "clk_phy1_ref_alt_m", "ppll", RK3588_PHYREF_ALT_GATE, 3), - - GATE(HCLK_SPDIFRX0, "hclk_spdifrx0", "hclk_vo1", RK3588_CLKGATE_CON(63), 12), - GATE(HCLK_SPDIFRX1, "hclk_spdifrx1", "hclk_vo1", RK3588_CLKGATE_CON(63), 14), - GATE(HCLK_SPDIFRX2, "hclk_spdifrx2", "hclk_vo1", RK3588_CLKGATE_CON(64), 0), - GATE(HCLK_SPDIF4, "hclk_spdif4", "hclk_vo1", RK3588_CLKGATE_CON(63), 8), - GATE(HCLK_SPDIF3, "hclk_spdif3", "hclk_vo1", RK3588_CLKGATE_CON(63), 4), - GATE(HCLK_I2S6_8CH, "hclk_i2s6_8ch", "hclk_vo1", RK3588_CLKGATE_CON(63), 3), - GATE(HCLK_I2S5_8CH, "hclk_i2s5_8ch", "hclk_vo1", RK3588_CLKGATE_CON(62), 12), - GATE(HCLK_I2S9_8CH, "hclk_i2s9_8ch", "hclk_vo1", RK3588_CLKGATE_CON(65), 0), - GATE(HCLK_I2S7_8CH, "hclk_i2s7_8ch", "hclk_vo1", RK3588_CLKGATE_CON(60), 0), - GATE(HCLK_I2S10_8CH, "hclk_i2s10_8ch", "hclk_vo1", RK3588_CLKGATE_CON(65), 4), - GATE(ACLK_HDCP1, "aclk_hdcp1", "aclk_hdcp1_pre", RK3588_CLKGATE_CON(60), 5), - GATE(HCLK_HDCP1, "hclk_hdcp1", "hclk_vo1", RK3588_CLKGATE_CON(60), 6), - GATE(HCLK_SPDIF5_DP1, "hclk_spdif5_dp1", "hclk_vo0", RK3588_CLKGATE_CON(57), 7), - GATE(HCLK_SPDIF2_DP0, "hclk_spdif2_dp0", "hclk_vo0", RK3588_CLKGATE_CON(57), 2), - GATE(HCLK_I2S8_8CH, "hclk_i2s8_8ch", "hclk_vo0", RK3588_CLKGATE_CON(56), 14), - GATE(HCLK_I2S4_8CH, "hclk_i2s4_8ch", "hclk_vo0", RK3588_CLKGATE_CON(56), 10), - GATE(ACLK_HDCP0, "aclk_hdcp0", "aclk_hdcp0_pre", RK3588_CLKGATE_CON(55), 12), - GATE(HCLK_HDCP0, "hclk_hdcp0", "hclk_vo0", RK3588_CLKGATE_CON(55), 13), - GATE(HCLK_RKVENC1, "hclk_rkvenc1", "hclk_rkvenc1_pre", RK3588_CLKGATE_CON(48), 4), - GATE(ACLK_RKVENC1, "aclk_rkvenc1", "aclk_rkvenc1_pre", RK3588_CLKGATE_CON(48), 5), - GATE(ACLK_VPU, "aclk_vpu", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 8), - GATE(ACLK_IEP2P0, "aclk_iep2p0", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(45), 5), - GATE(ACLK_JPEG_ENCODER0, "aclk_jpeg_encoder0", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 10), - GATE(ACLK_JPEG_ENCODER1, "aclk_jpeg_encoder1", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 12), - GATE(ACLK_JPEG_ENCODER2, "aclk_jpeg_encoder2", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(44), 14), - GATE(ACLK_JPEG_ENCODER3, "aclk_jpeg_encoder3", "aclk_vdpu_low_pre", RK3588_CLKGATE_CON(45), 0), - GATE(ACLK_JPEG_DECODER, "aclk_jpeg_decoder", "aclk_jpeg_decoder_pre", RK3588_CLKGATE_CON(45), 2), - GATE(ACLK_USB3OTG1, "aclk_usb3otg1", "aclk_usb", RK3588_CLKGATE_CON(42), 7), - GATE(HCLK_HOST0, "hclk_host0", "hclk_usb", RK3588_CLKGATE_CON(42), 10), - GATE(HCLK_HOST_ARB0, "hclk_host_arb0", "hclk_usb", RK3588_CLKGATE_CON(42), 11), - GATE(HCLK_HOST1, "hclk_host1", "hclk_usb", RK3588_CLKGATE_CON(42), 12), - GATE(HCLK_HOST_ARB1, "hclk_host_arb1", "hclk_usb", RK3588_CLKGATE_CON(42), 13), - GATE(ACLK_USB3OTG0, "aclk_usb3otg0", "aclk_usb", RK3588_CLKGATE_CON(42), 4), - GATE(HCLK_SDIO, "hclk_sdio", "hclk_sdio_pre", RK3588_CLKGATE_CON(75), 2), - GATE(HCLK_RKVDEC1, "hclk_rkvdec1", "hclk_rkvdec1_pre", RK3588_CLKGATE_CON(41), 2), - GATE(ACLK_RKVDEC1, "aclk_rkvdec1", "aclk_rkvdec1_pre", RK3588_CLKGATE_CON(41), 3), - GATE(HCLK_RKVDEC0, "hclk_rkvdec0", "hclk_rkvdec0_pre", RK3588_CLKGATE_CON(40), 3), - GATE(ACLK_RKVDEC0, "aclk_rkvdec0", "aclk_rkvdec0_pre", RK3588_CLKGATE_CON(40), 4), - GATE(CLK_PCIE4L_PIPE, "clk_pcie4l_pipe", "clk_pipe30phy_pipe0_i", RK3588_CLKGATE_CON(39), 0), - GATE(CLK_PCIE2L_PIPE, "clk_pcie2l_pipe", "clk_pipe30phy_pipe2_i", RK3588_CLKGATE_CON(39), 1), - GATE(CLK_PIPEPHY0_PIPE_G, "clk_pipephy0_pipe_g", "clk_pipephy0_pipe_i", RK3588_CLKGATE_CON(38), 3), - GATE(CLK_PIPEPHY1_PIPE_G, "clk_pipephy1_pipe_g", "clk_pipephy1_pipe_i", RK3588_CLKGATE_CON(38), 4), - GATE(CLK_PIPEPHY2_PIPE_G, "clk_pipephy2_pipe_g", "clk_pipephy2_pipe_i", RK3588_CLKGATE_CON(38), 5), - GATE(CLK_PIPEPHY0_PIPE_ASIC_G, "clk_pipephy0_pipe_asic_g", "clk_pipephy0_pipe_i", RK3588_CLKGATE_CON(38), 6), - GATE(CLK_PIPEPHY1_PIPE_ASIC_G, "clk_pipephy1_pipe_asic_g", "clk_pipephy1_pipe_i", RK3588_CLKGATE_CON(38), 7), - GATE(CLK_PIPEPHY2_PIPE_ASIC_G, "clk_pipephy2_pipe_asic_g", "clk_pipephy2_pipe_i", RK3588_CLKGATE_CON(38), 8), - GATE(CLK_PIPEPHY2_PIPE_U3_G, "clk_pipephy2_pipe_u3_g", "clk_pipephy2_pipe_i", RK3588_CLKGATE_CON(38), 9), - GATE(CLK_PCIE1L2_PIPE, "clk_pcie1l2_pipe", "clk_pipephy0_pipe_g", RK3588_CLKGATE_CON(38), 13), - GATE(CLK_PCIE1L0_PIPE, "clk_pcie1l0_pipe", "clk_pipephy1_pipe_g", RK3588_CLKGATE_CON(38), 14), - GATE(CLK_PCIE1L1_PIPE, "clk_pcie1l1_pipe", "clk_pipephy2_pipe_g", RK3588_CLKGATE_CON(38), 15), - GATE(HCLK_SFC, "hclk_sfc", "hclk_nvm", RK3588_CLKGATE_CON(31), 10), - GATE(HCLK_SFC_XIP, "hclk_sfc_xip", "hclk_nvm", RK3588_CLKGATE_CON(31), 11), - GATE(HCLK_EMMC, "hclk_emmc", "hclk_nvm", RK3588_CLKGATE_CON(31), 4), - GATE(ACLK_ISP1, "aclk_isp1", "aclk_isp1_pre", RK3588_CLKGATE_CON(26), 5), - GATE(HCLK_ISP1, "hclk_isp1", "hclk_isp1_pre", RK3588_CLKGATE_CON(26), 7), - GATE(PCLK_AV1, "pclk_av1", "pclk_av1_pre", RK3588_CLKGATE_CON(68), 5), - GATE(ACLK_AV1, "aclk_av1", "aclk_av1_pre", RK3588_CLKGATE_CON(68), 2), -/* - GATE(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", RK3588_CLKGATE_CON(26), 6), - GATE(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", RK3588_CLKGATE_CON(26), 8), - GATE(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", RK3588_CLKGATE_CON(31), 2), - GATE(ACLK_USB, "aclk_usb", "aclk_usb_root", RK3588_CLKGATE_CON(42), 2), - GATE(HCLK_USB, "hclk_usb", "hclk_usb_root", RK3588_CLKGATE_CON(42), 3), - GATE(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", RK3588_CLKGATE_CON(44), 7), - GATE(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", RK3588_CLKGATE_CON(44), 5), - GATE(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", RK3588_CLKGATE_CON(48), 3), - GATE(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", RK3588_CLKGATE_CON(48), 2), - GATE(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", RK3588_CLKGATE_CON(40), 5), - GATE(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", RK3588_CLKGATE_CON(40), 6), - GATE(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", RK3588_CLKGATE_CON(41), 4), - GATE(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", RK3588_CLKGATE_CON(41), 5), - GATE(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", RK3588_CLKGATE_CON(55), 9), - GATE(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", RK3588_CLKGATE_CON(55), 5), - GATE(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", RK3588_CLKGATE_CON(59), 6), - GATE(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", RK3588_CLKGATE_CON(59), 9), - GATE(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", RK3588_CLKGATE_CON(68), 1), - GATE(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", RK3588_CLKGATE_CON(68), 4), - GATE(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", RK3588_CLKGATE_CON(75), 1), -*/ -}; - -#include "clk-pll-rk3588.c" -#include "clk-mmc-phase.c" -#include "softrst.c" - -static rt_ubase_t rk3588_center_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t con, sel, rate; - - switch (clk_id) - { - case ACLK_CENTER_ROOT: - con = HWREG32(&cru->clksel_con[165]); - sel = (con & ACLK_CENTER_ROOT_SEL_MASK) >> - ACLK_CENTER_ROOT_SEL_SHIFT; - if (sel == ACLK_CENTER_ROOT_SEL_700M) - rate = 702 * MHz; - else if (sel == ACLK_CENTER_ROOT_SEL_400M) - rate = 396 * MHz; - else if (sel == ACLK_CENTER_ROOT_SEL_200M) - rate = 200 * MHz; - else - rate = OSC_HZ; - break; - case ACLK_CENTER_LOW_ROOT: - con = HWREG32(&cru->clksel_con[165]); - sel = (con & ACLK_CENTER_LOW_ROOT_SEL_MASK) >> - ACLK_CENTER_LOW_ROOT_SEL_SHIFT; - if (sel == ACLK_CENTER_LOW_ROOT_SEL_500M) - rate = 500 * MHz; - else if (sel == ACLK_CENTER_LOW_ROOT_SEL_250M) - rate = 250 * MHz; - else if (sel == ACLK_CENTER_LOW_ROOT_SEL_100M) - rate = 100 * MHz; - else - rate = OSC_HZ; - break; - case HCLK_CENTER_ROOT: - con = HWREG32(&cru->clksel_con[165]); - sel = (con & HCLK_CENTER_ROOT_SEL_MASK) >> - HCLK_CENTER_ROOT_SEL_SHIFT; - if (sel == HCLK_CENTER_ROOT_SEL_400M) - rate = 396 * MHz; - else if (sel == HCLK_CENTER_ROOT_SEL_200M) - rate = 200 * MHz; - else if (sel == HCLK_CENTER_ROOT_SEL_100M) - rate = 100 * MHz; - else - rate = OSC_HZ; - break; - case PCLK_CENTER_ROOT: - con = HWREG32(&cru->clksel_con[165]); - sel = (con & PCLK_CENTER_ROOT_SEL_MASK) >> - PCLK_CENTER_ROOT_SEL_SHIFT; - if (sel == PCLK_CENTER_ROOT_SEL_200M) - rate = 200 * MHz; - else if (sel == PCLK_CENTER_ROOT_SEL_100M) - rate = 100 * MHz; - else if (sel == PCLK_CENTER_ROOT_SEL_50M) - rate = 50 * MHz; - else - rate = OSC_HZ; - break; - default: - return -RT_ENOENT; - } - - return rate; -} - -static rt_ubase_t rk3588_center_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk; - - switch (clk_id) - { - case ACLK_CENTER_ROOT: - if (rate >= 700 * MHz) - src_clk = ACLK_CENTER_ROOT_SEL_700M; - else if (rate >= 396 * MHz) - src_clk = ACLK_CENTER_ROOT_SEL_400M; - else if (rate >= 200 * MHz) - src_clk = ACLK_CENTER_ROOT_SEL_200M; - else - src_clk = ACLK_CENTER_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[165], - ACLK_CENTER_ROOT_SEL_MASK, - src_clk << ACLK_CENTER_ROOT_SEL_SHIFT); - break; - case ACLK_CENTER_LOW_ROOT: - if (rate >= 500 * MHz) - src_clk = ACLK_CENTER_LOW_ROOT_SEL_500M; - else if (rate >= 250 * MHz) - src_clk = ACLK_CENTER_LOW_ROOT_SEL_250M; - else if (rate >= 99 * MHz) - src_clk = ACLK_CENTER_LOW_ROOT_SEL_100M; - else - src_clk = ACLK_CENTER_LOW_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[165], - ACLK_CENTER_LOW_ROOT_SEL_MASK, - src_clk << ACLK_CENTER_LOW_ROOT_SEL_SHIFT); - break; - case HCLK_CENTER_ROOT: - if (rate >= 396 * MHz) - src_clk = HCLK_CENTER_ROOT_SEL_400M; - else if (rate >= 198 * MHz) - src_clk = HCLK_CENTER_ROOT_SEL_200M; - else if (rate >= 99 * MHz) - src_clk = HCLK_CENTER_ROOT_SEL_100M; - else - src_clk = HCLK_CENTER_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[165], - HCLK_CENTER_ROOT_SEL_MASK, - src_clk << HCLK_CENTER_ROOT_SEL_SHIFT); - break; - case PCLK_CENTER_ROOT: - if (rate >= 198 * MHz) - src_clk = PCLK_CENTER_ROOT_SEL_200M; - else if (rate >= 99 * MHz) - src_clk = PCLK_CENTER_ROOT_SEL_100M; - else if (rate >= 50 * MHz) - src_clk = PCLK_CENTER_ROOT_SEL_50M; - else - src_clk = PCLK_CENTER_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[165], - PCLK_CENTER_ROOT_SEL_MASK, - src_clk << PCLK_CENTER_ROOT_SEL_SHIFT); - break; - default: - LOG_D("do not support this center freq\n"); - return -RT_EINVAL; - } - - return rk3588_center_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_top_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t con, sel, div, rate, prate; - - switch (clk_id) - { - case ACLK_TOP_ROOT: - con = HWREG32(&cru->clksel_con[8]); - div = (con & ACLK_TOP_ROOT_DIV_MASK) >> - ACLK_TOP_ROOT_DIV_SHIFT; - sel = (con & ACLK_TOP_ROOT_SRC_SEL_MASK) >> - ACLK_TOP_ROOT_SRC_SEL_SHIFT; - if (sel == ACLK_TOP_ROOT_SRC_SEL_CPLL) - prate = priv->cpll_hz; - else - prate = priv->gpll_hz; - return DIV_TO_RATE(prate, div); - case ACLK_LOW_TOP_ROOT: - con = HWREG32(&cru->clksel_con[8]); - div = (con & ACLK_LOW_TOP_ROOT_DIV_MASK) >> - ACLK_LOW_TOP_ROOT_DIV_SHIFT; - sel = (con & ACLK_LOW_TOP_ROOT_SRC_SEL_MASK) >> - ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT; - if (sel == ACLK_LOW_TOP_ROOT_SRC_SEL_CPLL) - prate = priv->cpll_hz; - else - prate = priv->gpll_hz; - return DIV_TO_RATE(prate, div); - case PCLK_TOP_ROOT: - con = HWREG32(&cru->clksel_con[8]); - sel = (con & PCLK_TOP_ROOT_SEL_MASK) >> PCLK_TOP_ROOT_SEL_SHIFT; - if (sel == PCLK_TOP_ROOT_SEL_100M) - rate = 100 * MHz; - else if (sel == PCLK_TOP_ROOT_SEL_50M) - rate = 50 * MHz; - else - rate = OSC_HZ; - break; - default: - return -RT_ENOENT; - } - - return rate; -} - -static rt_ubase_t rk3588_top_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk, src_clk_div; - - switch (clk_id) - { - case ACLK_TOP_ROOT: - if (!(priv->cpll_hz % rate)) - { - src_clk = ACLK_TOP_ROOT_SRC_SEL_CPLL; - src_clk_div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - } else { - src_clk = ACLK_TOP_ROOT_SRC_SEL_GPLL; - src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - RT_ASSERT(src_clk_div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[8], - ACLK_TOP_ROOT_DIV_MASK | - ACLK_TOP_ROOT_SRC_SEL_MASK, - (src_clk << - ACLK_TOP_ROOT_SRC_SEL_SHIFT) | - (src_clk_div - 1) << ACLK_TOP_ROOT_DIV_SHIFT); - break; - case ACLK_LOW_TOP_ROOT: - src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 31); - rk_clrsetreg(&cru->clksel_con[8], - ACLK_LOW_TOP_ROOT_DIV_MASK | - ACLK_LOW_TOP_ROOT_SRC_SEL_MASK, - (ACLK_LOW_TOP_ROOT_SRC_SEL_GPLL << - ACLK_LOW_TOP_ROOT_SRC_SEL_SHIFT) | - (src_clk_div - 1) << ACLK_LOW_TOP_ROOT_DIV_SHIFT); - break; - case PCLK_TOP_ROOT: - if (rate == 100 * MHz) - src_clk = PCLK_TOP_ROOT_SEL_100M; - else if (rate == 50 * MHz) - src_clk = PCLK_TOP_ROOT_SEL_50M; - else - src_clk = PCLK_TOP_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[8], - PCLK_TOP_ROOT_SEL_MASK, - src_clk << PCLK_TOP_ROOT_SEL_SHIFT); - break; - default: - LOG_D("do not support this top freq\n"); - return -RT_EINVAL; - } - - return rk3588_top_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_i2c_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t sel, con; - rt_ubase_t rate; - - switch (clk_id) - { - case CLK_I2C0: - con = HWREG32(&cru->pmuclksel_con[3]); - sel = (con & CLK_I2C0_SEL_MASK) >> CLK_I2C0_SEL_SHIFT; - break; - case CLK_I2C1: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C1_SEL_MASK) >> CLK_I2C1_SEL_SHIFT; - break; - case CLK_I2C2: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C2_SEL_MASK) >> CLK_I2C2_SEL_SHIFT; - break; - case CLK_I2C3: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C3_SEL_MASK) >> CLK_I2C3_SEL_SHIFT; - break; - case CLK_I2C4: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C4_SEL_MASK) >> CLK_I2C4_SEL_SHIFT; - break; - case CLK_I2C5: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C5_SEL_MASK) >> CLK_I2C5_SEL_SHIFT; - break; - case CLK_I2C6: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C6_SEL_MASK) >> CLK_I2C6_SEL_SHIFT; - break; - case CLK_I2C7: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C7_SEL_MASK) >> CLK_I2C7_SEL_SHIFT; - break; - case CLK_I2C8: - con = HWREG32(&cru->clksel_con[38]); - sel = (con & CLK_I2C8_SEL_MASK) >> CLK_I2C8_SEL_SHIFT; - break; - default: - return -RT_ENOENT; - } - if (sel == CLK_I2C_SEL_200M) - rate = 200 * MHz; - else - rate = 100 * MHz; - - return rate; -} - -static rt_ubase_t rk3588_i2c_set_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id, - rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk; - - if (rate >= 198 * MHz) - src_clk = CLK_I2C_SEL_200M; - else - src_clk = CLK_I2C_SEL_100M; - - switch (clk_id) - { - case CLK_I2C0: - rk_clrsetreg(&cru->pmuclksel_con[3], CLK_I2C0_SEL_MASK, - src_clk << CLK_I2C0_SEL_SHIFT); - break; - case CLK_I2C1: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C1_SEL_MASK, - src_clk << CLK_I2C1_SEL_SHIFT); - break; - case CLK_I2C2: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C2_SEL_MASK, - src_clk << CLK_I2C2_SEL_SHIFT); - break; - case CLK_I2C3: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C3_SEL_MASK, - src_clk << CLK_I2C3_SEL_SHIFT); - break; - case CLK_I2C4: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C4_SEL_MASK, - src_clk << CLK_I2C4_SEL_SHIFT); - break; - case CLK_I2C5: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C5_SEL_MASK, - src_clk << CLK_I2C5_SEL_SHIFT); - break; - case CLK_I2C6: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C6_SEL_MASK, - src_clk << CLK_I2C6_SEL_SHIFT); - break; - case CLK_I2C7: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C7_SEL_MASK, - src_clk << CLK_I2C7_SEL_SHIFT); - break; - case CLK_I2C8: - rk_clrsetreg(&cru->clksel_con[38], CLK_I2C8_SEL_MASK, - src_clk << CLK_I2C8_SEL_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_i2c_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_spi_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t sel, con; - - con = HWREG32(&cru->clksel_con[59]); - - switch (clk_id) - { - case CLK_SPI0: - sel = (con & CLK_SPI0_SEL_MASK) >> CLK_SPI0_SEL_SHIFT; - break; - case CLK_SPI1: - sel = (con & CLK_SPI1_SEL_MASK) >> CLK_SPI1_SEL_SHIFT; - break; - case CLK_SPI2: - sel = (con & CLK_SPI2_SEL_MASK) >> CLK_SPI2_SEL_SHIFT; - break; - case CLK_SPI3: - sel = (con & CLK_SPI3_SEL_MASK) >> CLK_SPI3_SEL_SHIFT; - break; - case CLK_SPI4: - sel = (con & CLK_SPI4_SEL_MASK) >> CLK_SPI4_SEL_SHIFT; - break; - default: - return -RT_ENOENT; - } - - switch (sel) - { - case CLK_SPI_SEL_200M: - return 200 * MHz; - case CLK_SPI_SEL_150M: - return 150 * MHz; - case CLK_SPI_SEL_24M: - return OSC_HZ; - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_spi_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk; - - if (rate >= 198 * MHz) - src_clk = CLK_SPI_SEL_200M; - else if (rate >= 140 * MHz) - src_clk = CLK_SPI_SEL_150M; - else - src_clk = CLK_SPI_SEL_24M; - - switch (clk_id) - { - case CLK_SPI0: - rk_clrsetreg(&cru->clksel_con[59], - CLK_SPI0_SEL_MASK, - src_clk << CLK_SPI0_SEL_SHIFT); - break; - case CLK_SPI1: - rk_clrsetreg(&cru->clksel_con[59], - CLK_SPI1_SEL_MASK, - src_clk << CLK_SPI1_SEL_SHIFT); - break; - case CLK_SPI2: - rk_clrsetreg(&cru->clksel_con[59], - CLK_SPI2_SEL_MASK, - src_clk << CLK_SPI2_SEL_SHIFT); - break; - case CLK_SPI3: - rk_clrsetreg(&cru->clksel_con[59], - CLK_SPI3_SEL_MASK, - src_clk << CLK_SPI3_SEL_SHIFT); - break; - case CLK_SPI4: - rk_clrsetreg(&cru->clksel_con[59], - CLK_SPI4_SEL_MASK, - src_clk << CLK_SPI4_SEL_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_spi_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_pwm_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t sel, con; - - switch (clk_id) - { - case CLK_PWM1: - con = HWREG32(&cru->clksel_con[59]); - sel = (con & CLK_PWM1_SEL_MASK) >> CLK_PWM1_SEL_SHIFT; - break; - case CLK_PWM2: - con = HWREG32(&cru->clksel_con[59]); - sel = (con & CLK_PWM2_SEL_MASK) >> CLK_PWM2_SEL_SHIFT; - break; - case CLK_PWM3: - con = HWREG32(&cru->clksel_con[60]); - sel = (con & CLK_PWM3_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; - break; - case CLK_PMU1PWM: - con = HWREG32(&cru->pmuclksel_con[2]); - sel = (con & CLK_PMU1PWM_SEL_MASK) >> CLK_PMU1PWM_SEL_SHIFT; - break; - default: - return -RT_ENOENT; - } - - switch (sel) - { - case CLK_PWM_SEL_100M: - return 100 * MHz; - case CLK_PWM_SEL_50M: - return 50 * MHz; - case CLK_PWM_SEL_24M: - return OSC_HZ; - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_pwm_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk; - - if (rate >= 99 * MHz) - src_clk = CLK_PWM_SEL_100M; - else if (rate >= 50 * MHz) - src_clk = CLK_PWM_SEL_50M; - else - src_clk = CLK_PWM_SEL_24M; - - switch (clk_id) - { - case CLK_PWM1: - rk_clrsetreg(&cru->clksel_con[59], - CLK_PWM1_SEL_MASK, - src_clk << CLK_PWM1_SEL_SHIFT); - break; - case CLK_PWM2: - rk_clrsetreg(&cru->clksel_con[59], - CLK_PWM2_SEL_MASK, - src_clk << CLK_PWM2_SEL_SHIFT); - break; - case CLK_PWM3: - rk_clrsetreg(&cru->clksel_con[60], - CLK_PWM3_SEL_MASK, - src_clk << CLK_PWM3_SEL_SHIFT); - break; - case CLK_PMU1PWM: - rk_clrsetreg(&cru->pmuclksel_con[2], - CLK_PMU1PWM_SEL_MASK, - src_clk << CLK_PMU1PWM_SEL_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_pwm_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_adc_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t div, sel, con, prate; - - switch (clk_id) - { - case CLK_SARADC: - con = HWREG32(&cru->clksel_con[40]); - div = (con & CLK_SARADC_DIV_MASK) >> CLK_SARADC_DIV_SHIFT; - sel = (con & CLK_SARADC_SEL_MASK) >> - CLK_SARADC_SEL_SHIFT; - if (sel == CLK_SARADC_SEL_24M) - prate = OSC_HZ; - else - prate = priv->gpll_hz; - return DIV_TO_RATE(prate, div); - case CLK_TSADC: - con = HWREG32(&cru->clksel_con[41]); - div = (con & CLK_TSADC_DIV_MASK) >> - CLK_TSADC_DIV_SHIFT; - sel = (con & CLK_TSADC_SEL_MASK) >> - CLK_TSADC_SEL_SHIFT; - if (sel == CLK_TSADC_SEL_24M) - prate = OSC_HZ; - else - prate = 100 * MHz; - return DIV_TO_RATE(prate, div); - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_adc_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk_div; - - switch (clk_id) - { - case CLK_SARADC: - if (!(OSC_HZ % rate)) - { - src_clk_div = RT_DIV_ROUND_UP(OSC_HZ, rate); - RT_ASSERT(src_clk_div - 1 <= 255); - rk_clrsetreg(&cru->clksel_con[40], - CLK_SARADC_SEL_MASK | - CLK_SARADC_DIV_MASK, - (CLK_SARADC_SEL_24M << - CLK_SARADC_SEL_SHIFT) | - (src_clk_div - 1) << - CLK_SARADC_DIV_SHIFT); - } else { - src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 255); - rk_clrsetreg(&cru->clksel_con[40], - CLK_SARADC_SEL_MASK | - CLK_SARADC_DIV_MASK, - (CLK_SARADC_SEL_GPLL << - CLK_SARADC_SEL_SHIFT) | - (src_clk_div - 1) << - CLK_SARADC_DIV_SHIFT); - } - break; - case CLK_TSADC: - if (!(OSC_HZ % rate)) - { - src_clk_div = RT_DIV_ROUND_UP(OSC_HZ, rate); - RT_ASSERT(src_clk_div - 1 <= 255); - rk_clrsetreg(&cru->clksel_con[41], - CLK_TSADC_SEL_MASK | - CLK_TSADC_DIV_MASK, - (CLK_TSADC_SEL_24M << - CLK_TSADC_SEL_SHIFT) | - (src_clk_div - 1) << - CLK_TSADC_DIV_SHIFT); - } else { - src_clk_div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - RT_ASSERT(src_clk_div - 1 <= 7); - rk_clrsetreg(&cru->clksel_con[41], - CLK_TSADC_SEL_MASK | - CLK_TSADC_DIV_MASK, - (CLK_TSADC_SEL_GPLL << - CLK_TSADC_SEL_SHIFT) | - (src_clk_div - 1) << - CLK_TSADC_DIV_SHIFT); - } - break; - default: - return -RT_ENOENT; - } - return rk3588_adc_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_mmc_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t sel, con, div, prate; - - switch (clk_id) - { - case CCLK_SRC_SDIO: - con = HWREG32(&cru->clksel_con[172]); - div = (con & CCLK_SDIO_SRC_DIV_MASK) >> CCLK_SDIO_SRC_DIV_SHIFT; - sel = (con & CCLK_SDIO_SRC_SEL_MASK) >> - CCLK_SDIO_SRC_SEL_SHIFT; - if (sel == CCLK_SDIO_SRC_SEL_GPLL) - prate = priv->gpll_hz; - else if (sel == CCLK_SDIO_SRC_SEL_CPLL) - prate = priv->cpll_hz; - else - prate = OSC_HZ; - return DIV_TO_RATE(prate, div); - case CCLK_EMMC: - con = HWREG32(&cru->clksel_con[77]); - div = (con & CCLK_EMMC_DIV_MASK) >> CCLK_EMMC_DIV_SHIFT; - sel = (con & CCLK_EMMC_SEL_MASK) >> - CCLK_EMMC_SEL_SHIFT; - if (sel == CCLK_EMMC_SEL_GPLL) - prate = priv->gpll_hz; - else if (sel == CCLK_EMMC_SEL_CPLL) - prate = priv->cpll_hz; - else - prate = OSC_HZ; - return DIV_TO_RATE(prate, div); - case BCLK_EMMC: - con = HWREG32(&cru->clksel_con[78]); - div = (con & BCLK_EMMC_DIV_MASK) >> BCLK_EMMC_DIV_SHIFT; - sel = (con & BCLK_EMMC_SEL_MASK) >> - BCLK_EMMC_SEL_SHIFT; - if (sel == CCLK_EMMC_SEL_CPLL) - prate = priv->cpll_hz; - else - prate = priv->gpll_hz; - return DIV_TO_RATE(prate, div); - case SCLK_SFC: - con = HWREG32(&cru->clksel_con[78]); - div = (con & SCLK_SFC_DIV_MASK) >> SCLK_SFC_DIV_SHIFT; - sel = (con & SCLK_SFC_SEL_MASK) >> - SCLK_SFC_SEL_SHIFT; - if (sel == SCLK_SFC_SEL_GPLL) - prate = priv->gpll_hz; - else if (sel == SCLK_SFC_SEL_CPLL) - prate = priv->cpll_hz; - else - prate = OSC_HZ; - return DIV_TO_RATE(prate, div); - case DCLK_DECOM: - con = HWREG32(&cru->clksel_con[62]); - div = (con & DCLK_DECOM_DIV_MASK) >> DCLK_DECOM_DIV_SHIFT; - sel = (con & DCLK_DECOM_SEL_MASK) >> - DCLK_DECOM_SEL_SHIFT; - if (sel == DCLK_DECOM_SEL_SPLL) - prate = 702 * MHz; - else - prate = priv->gpll_hz; - return DIV_TO_RATE(prate, div); - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_mmc_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk, div; - /*rt_min_t(rt_ubase_t, 48 * MHZ, rate);*/ - switch (clk_id) - { - case CCLK_SRC_SDIO: - case CCLK_EMMC: - case SCLK_SFC: - if (!(OSC_HZ % rate)) - { - src_clk = SCLK_SFC_SEL_24M; - div = RT_DIV_ROUND_UP(OSC_HZ, rate); - } else if (!(priv->cpll_hz % rate)) - { - src_clk = SCLK_SFC_SEL_CPLL; - div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - } else { - src_clk = SCLK_SFC_SEL_GPLL; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - break; - case BCLK_EMMC: - if (!(priv->cpll_hz % rate)) - { - src_clk = CCLK_EMMC_SEL_CPLL; - div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - } else { - src_clk = CCLK_EMMC_SEL_GPLL; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - break; - case DCLK_DECOM: - if (!(702 * MHz % rate)) - { - src_clk = DCLK_DECOM_SEL_SPLL; - div = RT_DIV_ROUND_UP(702 * MHz, rate); - } else { - src_clk = DCLK_DECOM_SEL_GPLL; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - break; - default: - return -RT_ENOENT; - } - - switch (clk_id) - { - case CCLK_SRC_SDIO: - rk_clrsetreg(&cru->clksel_con[172], - CCLK_SDIO_SRC_SEL_MASK | - CCLK_SDIO_SRC_DIV_MASK, - (src_clk << CCLK_SDIO_SRC_SEL_SHIFT) | - (div - 1) << CCLK_SDIO_SRC_DIV_SHIFT); - break; - case CCLK_EMMC: - rk_clrsetreg(&cru->clksel_con[77], - CCLK_EMMC_SEL_MASK | - CCLK_EMMC_DIV_MASK, - (src_clk << CCLK_EMMC_SEL_SHIFT) | - (div - 1) << CCLK_EMMC_DIV_SHIFT); - break; - case BCLK_EMMC: - rk_clrsetreg(&cru->clksel_con[78], - BCLK_EMMC_DIV_MASK | - BCLK_EMMC_SEL_MASK, - (src_clk << BCLK_EMMC_SEL_SHIFT) | - (div - 1) << BCLK_EMMC_DIV_SHIFT); - break; - case SCLK_SFC: - rk_clrsetreg(&cru->clksel_con[78], - SCLK_SFC_DIV_MASK | - SCLK_SFC_SEL_MASK, - (src_clk << SCLK_SFC_SEL_SHIFT) | - (div - 1) << SCLK_SFC_DIV_SHIFT); - break; - case DCLK_DECOM: - rk_clrsetreg(&cru->clksel_con[62], - DCLK_DECOM_DIV_MASK | - DCLK_DECOM_SEL_MASK, - (src_clk << DCLK_DECOM_SEL_SHIFT) | - (div - 1) << DCLK_DECOM_DIV_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_mmc_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_aux16m_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t div, con, parent; - - parent = priv->gpll_hz; - con = HWREG32(&cru->clksel_con[117]); - - switch (clk_id) - { - case CLK_AUX16M_0: - div = (con & CLK_AUX16MHZ_0_DIV_MASK) >> CLK_AUX16MHZ_0_DIV_SHIFT; - return DIV_TO_RATE(parent, div); - case CLK_AUX16M_1: - div = (con & CLK_AUX16MHZ_1_DIV_MASK) >> CLK_AUX16MHZ_1_DIV_SHIFT; - return DIV_TO_RATE(parent, div); - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_aux16m_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t div; - - if (!priv->gpll_hz) - { - LOG_D("%s gpll=%lu\n", __func__, priv->gpll_hz); - return -RT_ENOENT; - } - - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - - switch (clk_id) - { - case CLK_AUX16M_0: - rk_clrsetreg(&cru->clksel_con[117], CLK_AUX16MHZ_0_DIV_MASK, - (div - 1) << CLK_AUX16MHZ_0_DIV_SHIFT); - break; - case CLK_AUX16M_1: - rk_clrsetreg(&cru->clksel_con[117], CLK_AUX16MHZ_1_DIV_MASK, - (div - 1) << CLK_AUX16MHZ_1_DIV_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_aux16m_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_aclk_vop_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t div, sel, con, parent; - - switch (clk_id) - { - case ACLK_VOP_ROOT: - case ACLK_VOP: - con = HWREG32(&cru->clksel_con[110]); - div = (con & ACLK_VOP_ROOT_DIV_MASK) >> ACLK_VOP_ROOT_DIV_SHIFT; - sel = (con & ACLK_VOP_ROOT_SEL_MASK) >> ACLK_VOP_ROOT_SEL_SHIFT; - if (sel == ACLK_VOP_ROOT_SEL_GPLL) - parent = priv->gpll_hz; - else if (sel == ACLK_VOP_ROOT_SEL_CPLL) - parent = priv->cpll_hz; - else if (sel == ACLK_VOP_ROOT_SEL_AUPLL) - parent = priv->aupll_hz; - else if (sel == ACLK_VOP_ROOT_SEL_NPLL) - parent = priv->npll_hz; - else - parent = 702 * MHz; - return DIV_TO_RATE(parent, div); - case ACLK_VOP_LOW_ROOT: - con = HWREG32(&cru->clksel_con[110]); - sel = (con & ACLK_VOP_LOW_ROOT_SEL_MASK) >> - ACLK_VOP_LOW_ROOT_SEL_SHIFT; - if (sel == ACLK_VOP_LOW_ROOT_SEL_400M) - return 396 * MHz; - else if (sel == ACLK_VOP_LOW_ROOT_SEL_200M) - return 200 * MHz; - else if (sel == ACLK_VOP_LOW_ROOT_SEL_100M) - return 100 * MHz; - else - return OSC_HZ; - case HCLK_VOP_ROOT: - con = HWREG32(&cru->clksel_con[110]); - sel = (con & HCLK_VOP_ROOT_SEL_MASK) >> HCLK_VOP_ROOT_SEL_SHIFT; - if (sel == HCLK_VOP_ROOT_SEL_200M) - return 200 * MHz; - else if (sel == HCLK_VOP_ROOT_SEL_100M) - return 100 * MHz; - else if (sel == HCLK_VOP_ROOT_SEL_50M) - return 50 * MHz; - else - return OSC_HZ; - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_aclk_vop_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int src_clk, div; - - switch (clk_id) - { - case ACLK_VOP_ROOT: - case ACLK_VOP: - if (rate >= 850 * MHz) - { - src_clk = ACLK_VOP_ROOT_SEL_NPLL; - div = 1; - } else if (rate >= 750 * MHz) - { - src_clk = ACLK_VOP_ROOT_SEL_CPLL; - div = 2; - } else if (rate >= 700 * MHz) - { - src_clk = ACLK_VOP_ROOT_SEL_SPLL; - div = 1; - } else if (!(priv->cpll_hz % rate)) - { - src_clk = ACLK_VOP_ROOT_SEL_CPLL; - div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - } else { - src_clk = ACLK_VOP_ROOT_SEL_GPLL; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } - rk_clrsetreg(&cru->clksel_con[110], - ACLK_VOP_ROOT_DIV_MASK | - ACLK_VOP_ROOT_SEL_MASK, - (src_clk << ACLK_VOP_ROOT_SEL_SHIFT) | - (div - 1) << ACLK_VOP_ROOT_DIV_SHIFT); - break; - case ACLK_VOP_LOW_ROOT: - if (rate == 400 * MHz || rate == 396 * MHz) - src_clk = ACLK_VOP_LOW_ROOT_SEL_400M; - else if (rate == 200 * MHz) - src_clk = ACLK_VOP_LOW_ROOT_SEL_200M; - else if (rate == 100 * MHz) - src_clk = ACLK_VOP_LOW_ROOT_SEL_100M; - else - src_clk = ACLK_VOP_LOW_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[110], - ACLK_VOP_LOW_ROOT_SEL_MASK, - src_clk << ACLK_VOP_LOW_ROOT_SEL_SHIFT); - break; - case HCLK_VOP_ROOT: - if (rate == 200 * MHz) - src_clk = HCLK_VOP_ROOT_SEL_200M; - else if (rate == 100 * MHz) - src_clk = HCLK_VOP_ROOT_SEL_100M; - else if (rate == 50 * MHz) - src_clk = HCLK_VOP_ROOT_SEL_50M; - else - src_clk = HCLK_VOP_ROOT_SEL_24M; - rk_clrsetreg(&cru->clksel_con[110], - HCLK_VOP_ROOT_SEL_MASK, - src_clk << HCLK_VOP_ROOT_SEL_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_aclk_vop_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_dclk_vop_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t div, sel, con, parent; - - switch (clk_id) - { - case DCLK_VOP0: - case DCLK_VOP0_SRC: - con = HWREG32(&cru->clksel_con[111]); - div = (con & DCLK0_VOP_SRC_DIV_MASK) >> DCLK0_VOP_SRC_DIV_SHIFT; - sel = (con & DCLK0_VOP_SRC_SEL_MASK) >> DCLK0_VOP_SRC_SEL_SHIFT; - break; - case DCLK_VOP1: - case DCLK_VOP1_SRC: - con = HWREG32(&cru->clksel_con[111]); - div = (con & DCLK1_VOP_SRC_DIV_MASK) >> DCLK1_VOP_SRC_DIV_SHIFT; - sel = (con & DCLK1_VOP_SRC_SEL_MASK) >> DCLK1_VOP_SRC_SEL_SHIFT; - break; - case DCLK_VOP2: - case DCLK_VOP2_SRC: - con = HWREG32(&cru->clksel_con[112]); - div = (con & DCLK2_VOP_SRC_DIV_MASK) >> DCLK2_VOP_SRC_DIV_SHIFT; - sel = (con & DCLK2_VOP_SRC_SEL_MASK) >> DCLK2_VOP_SRC_SEL_SHIFT; - break; - case DCLK_VOP3: - con = HWREG32(&cru->clksel_con[113]); - div = (con & DCLK3_VOP_SRC_DIV_MASK) >> DCLK3_VOP_SRC_DIV_SHIFT; - sel = (con & DCLK3_VOP_SRC_SEL_MASK) >> DCLK3_VOP_SRC_SEL_SHIFT; - break; - default: - return -RT_ENOENT; - } - - if (sel == DCLK_VOP_SRC_SEL_AUPLL) - parent = priv->aupll_hz; - else if (sel == DCLK_VOP_SRC_SEL_V0PLL) - parent = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], - priv->cru, V0PLL); - else if (sel == DCLK_VOP_SRC_SEL_GPLL) - parent = priv->gpll_hz; - else - parent = priv->cpll_hz; - - return DIV_TO_RATE(parent, div); -} - -#define RK3588_VOP_PLL_LIMIT_FREQ 600000000 - -static rt_ubase_t rk3588_dclk_vop_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - rt_ubase_t pll_rate, now, best_rate = 0; - rt_uint32_t i, conid, con, sel, div, best_div = 0, best_sel = 0; - rt_uint32_t mask, div_shift, sel_shift; - - switch (clk_id) - { - case DCLK_VOP0: - case DCLK_VOP0_SRC: - conid = 111; - con = HWREG32(&cru->clksel_con[111]); - sel = (con & DCLK0_VOP_SRC_SEL_MASK) >> DCLK0_VOP_SRC_SEL_SHIFT; - mask = DCLK0_VOP_SRC_SEL_MASK | DCLK0_VOP_SRC_DIV_MASK; - div_shift = DCLK0_VOP_SRC_DIV_SHIFT; - sel_shift = DCLK0_VOP_SRC_SEL_SHIFT; - break; - case DCLK_VOP1: - case DCLK_VOP1_SRC: - conid = 111; - con = HWREG32(&cru->clksel_con[111]); - sel = (con & DCLK1_VOP_SRC_SEL_MASK) >> DCLK1_VOP_SRC_SEL_SHIFT; - mask = DCLK1_VOP_SRC_SEL_MASK | DCLK1_VOP_SRC_DIV_MASK; - div_shift = DCLK1_VOP_SRC_DIV_SHIFT; - sel_shift = DCLK1_VOP_SRC_SEL_SHIFT; - break; - case DCLK_VOP2: - case DCLK_VOP2_SRC: - conid = 112; - con = HWREG32(&cru->clksel_con[112]); - sel = (con & DCLK2_VOP_SRC_SEL_MASK) >> DCLK2_VOP_SRC_SEL_SHIFT; - mask = DCLK2_VOP_SRC_SEL_MASK | DCLK2_VOP_SRC_DIV_MASK; - div_shift = DCLK2_VOP_SRC_DIV_SHIFT; - sel_shift = DCLK2_VOP_SRC_SEL_SHIFT; - break; - case DCLK_VOP3: - conid = 113; - con = HWREG32(&cru->clksel_con[113]); - sel = (con & DCLK3_VOP_SRC_SEL_MASK) >> DCLK3_VOP_SRC_SEL_SHIFT; - mask = DCLK3_VOP_SRC_SEL_MASK | DCLK3_VOP_SRC_DIV_MASK; - div_shift = DCLK3_VOP_SRC_DIV_SHIFT; - sel_shift = DCLK3_VOP_SRC_SEL_SHIFT; - break; - default: - return -RT_ENOENT; - } - - if (sel == DCLK_VOP_SRC_SEL_V0PLL) - { - pll_rate = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], - priv->cru, V0PLL); - if (pll_rate >= RK3588_VOP_PLL_LIMIT_FREQ && pll_rate % rate == 0) - { - div = RT_DIV_ROUND_UP(pll_rate, rate); - rk_clrsetreg(&cru->clksel_con[conid], - mask, - DCLK_VOP_SRC_SEL_V0PLL << sel_shift | - ((div - 1) << div_shift)); - } else { - div = RT_DIV_ROUND_UP(RK3588_VOP_PLL_LIMIT_FREQ, rate); - rk_clrsetreg(&cru->clksel_con[conid], - mask, - DCLK_VOP_SRC_SEL_V0PLL << sel_shift | - ((div - 1) << div_shift)); - rk_pll_set_rate(&rk3588_pll_clks[V0PLL], - priv->cru, V0PLL, div * rate); - } - } else { - for (i = 0; i <= DCLK_VOP_SRC_SEL_AUPLL; i++) - { - switch (i) - { - case DCLK_VOP_SRC_SEL_GPLL: - pll_rate = priv->gpll_hz; - break; - case DCLK_VOP_SRC_SEL_CPLL: - pll_rate = priv->cpll_hz; - break; - case DCLK_VOP_SRC_SEL_AUPLL: - pll_rate = priv->aupll_hz; - break; - case DCLK_VOP_SRC_SEL_V0PLL: - pll_rate = 0; - break; - default: - LOG_D("do not support this vop pll sel\n"); - return -RT_EINVAL; - } - - div = RT_DIV_ROUND_UP(pll_rate, rate); - if (div > 255) - continue; - now = pll_rate / div; - if (abs(rate - now) < abs(rate - best_rate)) - { - best_rate = now; - best_div = div; - best_sel = i; - } - LOG_D("p_rate=%lu, best_rate=%lu, div=%u, sel=%u\n", - pll_rate, best_rate, best_div, best_sel); - } - - if (best_rate) - { - rk_clrsetreg(&cru->clksel_con[conid], - mask, - best_sel << sel_shift | - (best_div - 1) << div_shift); - } else { - LOG_D("do not support this vop freq %lu\n", rate); - return -RT_EINVAL; - } - } - return rk3588_dclk_vop_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_gmac_get_clk(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t con, div; - - switch (clk_id) - { - case CLK_GMAC0_PTP_REF: - con = HWREG32(&cru->clksel_con[81]); - div = (con & CLK_GMAC0_PTP_DIV_MASK) >> CLK_GMAC0_PTP_DIV_SHIFT; - return DIV_TO_RATE(priv->cpll_hz, div); - case CLK_GMAC1_PTP_REF: - con = HWREG32(&cru->clksel_con[81]); - div = (con & CLK_GMAC1_PTP_DIV_MASK) >> CLK_GMAC1_PTP_DIV_SHIFT; - return DIV_TO_RATE(priv->cpll_hz, div); - case CLK_GMAC_125M: - con = HWREG32(&cru->clksel_con[83]); - div = (con & CLK_GMAC_125M_DIV_MASK) >> CLK_GMAC_125M_DIV_SHIFT; - return DIV_TO_RATE(priv->cpll_hz, div); - case CLK_GMAC_50M: - con = HWREG32(&cru->clksel_con[84]); - div = (con & CLK_GMAC_50M_DIV_MASK) >> CLK_GMAC_50M_DIV_SHIFT; - return DIV_TO_RATE(priv->cpll_hz, div); - default: - return -RT_ENOENT; - } -} - -static rt_ubase_t rk3588_gmac_set_clk(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - int div; - - div = RT_DIV_ROUND_UP(priv->cpll_hz, rate); - - switch (clk_id) - { - case CLK_GMAC0_PTP_REF: - rk_clrsetreg(&cru->clksel_con[81], - CLK_GMAC0_PTP_DIV_MASK | CLK_GMAC0_PTP_SEL_MASK, - CLK_GMAC0_PTP_SEL_CPLL << CLK_GMAC0_PTP_SEL_SHIFT | - (div - 1) << CLK_GMAC0_PTP_DIV_SHIFT); - break; - case CLK_GMAC1_PTP_REF: - rk_clrsetreg(&cru->clksel_con[81], - CLK_GMAC1_PTP_DIV_MASK | CLK_GMAC1_PTP_SEL_MASK, - CLK_GMAC1_PTP_SEL_CPLL << CLK_GMAC1_PTP_SEL_SHIFT | - (div - 1) << CLK_GMAC1_PTP_DIV_SHIFT); - break; - - case CLK_GMAC_125M: - rk_clrsetreg(&cru->clksel_con[83], - CLK_GMAC_125M_DIV_MASK | CLK_GMAC_125M_SEL_MASK, - CLK_GMAC_125M_SEL_CPLL << CLK_GMAC_125M_SEL_SHIFT | - (div - 1) << CLK_GMAC_125M_DIV_SHIFT); - break; - case CLK_GMAC_50M: - rk_clrsetreg(&cru->clksel_con[84], - CLK_GMAC_50M_DIV_MASK | CLK_GMAC_50M_SEL_MASK, - CLK_GMAC_50M_SEL_CPLL << CLK_GMAC_50M_SEL_SHIFT | - (div - 1) << CLK_GMAC_50M_DIV_SHIFT); - break; - default: - return -RT_ENOENT; - } - - return rk3588_gmac_get_clk(priv, clk_id); -} - -static rt_ubase_t rk3588_uart_get_rate(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t reg, con, fracdiv, div, src, p_src, p_rate; - unsigned long m, n; - - switch (clk_id) - { - case SCLK_UART1: - reg = 41; - break; - case SCLK_UART2: - reg = 43; - break; - case SCLK_UART3: - reg = 45; - break; - case SCLK_UART4: - reg = 47; - break; - case SCLK_UART5: - reg = 49; - break; - case SCLK_UART6: - reg = 51; - break; - case SCLK_UART7: - reg = 53; - break; - case SCLK_UART8: - reg = 55; - break; - case SCLK_UART9: - reg = 57; - break; - default: - return -RT_ENOENT; - } - con = HWREG32(&cru->clksel_con[reg + 2]); - src = (con & CLK_UART_SEL_MASK) >> CLK_UART_SEL_SHIFT; - con = HWREG32(&cru->clksel_con[reg]); - div = (con & CLK_UART_SRC_DIV_MASK) >> CLK_UART_SRC_DIV_SHIFT; - p_src = (con & CLK_UART_SRC_SEL_MASK) >> CLK_UART_SRC_SEL_SHIFT; - if (p_src == CLK_UART_SRC_SEL_GPLL) - p_rate = priv->gpll_hz; - else - p_rate = priv->cpll_hz; - - if (src == CLK_UART_SEL_SRC) - { - return DIV_TO_RATE(p_rate, div); - } else if (src == CLK_UART_SEL_FRAC) - { - fracdiv = HWREG32(&cru->clksel_con[reg + 1]); - n = fracdiv & CLK_UART_FRAC_NUMERATOR_MASK; - n >>= CLK_UART_FRAC_NUMERATOR_SHIFT; - m = fracdiv & CLK_UART_FRAC_DENOMINATOR_MASK; - m >>= CLK_UART_FRAC_DENOMINATOR_SHIFT; - return DIV_TO_RATE(p_rate, div) * n / m; - } else { - return OSC_HZ; - } -} - -static rt_ubase_t rk3588_uart_set_rate(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t reg, clk_src, uart_src, div; - unsigned long m = 0, n = 0, val; - - if (priv->gpll_hz % rate == 0) - { - clk_src = CLK_UART_SRC_SEL_GPLL; - uart_src = CLK_UART_SEL_SRC; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } else if (priv->cpll_hz % rate == 0) - { - clk_src = CLK_UART_SRC_SEL_CPLL; - uart_src = CLK_UART_SEL_SRC; - div = RT_DIV_ROUND_UP(priv->gpll_hz, rate); - } else if (rate == OSC_HZ) - { - clk_src = CLK_UART_SRC_SEL_GPLL; - uart_src = CLK_UART_SEL_XIN24M; - div = 2; - } else { - clk_src = CLK_UART_SRC_SEL_GPLL; - uart_src = CLK_UART_SEL_FRAC; - div = 2; - rational_best_approximation(rate, priv->gpll_hz / div, - RT_GENMASK(16 - 1, 0), - RT_GENMASK(16 - 1, 0), - &m, &n); - } - - switch (clk_id) - { - case SCLK_UART1: - reg = 41; - break; - case SCLK_UART2: - reg = 43; - break; - case SCLK_UART3: - reg = 45; - break; - case SCLK_UART4: - reg = 47; - break; - case SCLK_UART5: - reg = 49; - break; - case SCLK_UART6: - reg = 51; - break; - case SCLK_UART7: - reg = 53; - break; - case SCLK_UART8: - reg = 55; - break; - case SCLK_UART9: - reg = 57; - break; - default: - return -RT_ENOENT; - } - rk_clrsetreg(&cru->clksel_con[reg], - CLK_UART_SRC_SEL_MASK | - CLK_UART_SRC_DIV_MASK, - (clk_src << CLK_UART_SRC_SEL_SHIFT) | - ((div - 1) << CLK_UART_SRC_DIV_SHIFT)); - rk_clrsetreg(&cru->clksel_con[reg + 2], - CLK_UART_SEL_MASK, - (uart_src << CLK_UART_SEL_SHIFT)); - if (m && n) - { - val = m << CLK_UART_FRAC_NUMERATOR_SHIFT | n; - HWREG32(&cru->clksel_con[reg + 1]) = val; - } - - return rk3588_uart_get_rate(priv, clk_id); -} - -static rt_ubase_t rk3588_pciephy_get_rate(struct rk3588_clk_priv *priv, rt_ubase_t clk_id) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t con, div, src; - - switch (clk_id) - { - case CLK_REF_PIPE_PHY0: - con = HWREG32(&cru->clksel_con[177]); - src = (con & CLK_PCIE_PHY0_REF_SEL_MASK) >> CLK_PCIE_PHY0_REF_SEL_SHIFT; - con = HWREG32(&cru->clksel_con[176]); - div = (con & CLK_PCIE_PHY0_PLL_DIV_MASK) >> CLK_PCIE_PHY0_PLL_DIV_SHIFT; - break; - case CLK_REF_PIPE_PHY1: - con = HWREG32(&cru->clksel_con[177]); - src = (con & CLK_PCIE_PHY1_REF_SEL_MASK) >> CLK_PCIE_PHY1_REF_SEL_SHIFT; - con = HWREG32(&cru->clksel_con[176]); - div = (con & CLK_PCIE_PHY1_PLL_DIV_MASK) >> CLK_PCIE_PHY1_PLL_DIV_SHIFT; - break; - case CLK_REF_PIPE_PHY2: - con = HWREG32(&cru->clksel_con[177]); - src = (con & CLK_PCIE_PHY2_REF_SEL_MASK) >> CLK_PCIE_PHY2_REF_SEL_SHIFT; - div = (con & CLK_PCIE_PHY2_PLL_DIV_MASK) >> CLK_PCIE_PHY2_PLL_DIV_SHIFT; - break; - default: - return -RT_ENOENT; - } - - if (src == CLK_PCIE_PHY_REF_SEL_PPLL) - { - return DIV_TO_RATE(priv->ppll_hz, div); - } else { - return OSC_HZ; - } -} - -static rt_ubase_t rk3588_pciephy_set_rate(struct rk3588_clk_priv *priv, - rt_ubase_t clk_id, rt_ubase_t rate) -{ - struct rk3588_cru *cru = priv->cru; - rt_uint32_t clk_src, div; - - if (rate == OSC_HZ) - { - clk_src = CLK_PCIE_PHY_REF_SEL_24M; - div = 1; - } else { - clk_src = CLK_PCIE_PHY_REF_SEL_PPLL; - div = RT_DIV_ROUND_UP(priv->ppll_hz, rate); - } - - switch (clk_id) - { - case CLK_REF_PIPE_PHY0: - rk_clrsetreg(&cru->clksel_con[177], - CLK_PCIE_PHY0_REF_SEL_MASK, - (clk_src << CLK_PCIE_PHY0_REF_SEL_SHIFT)); - rk_clrsetreg(&cru->clksel_con[176], - CLK_PCIE_PHY0_PLL_DIV_MASK, - ((div - 1) << CLK_PCIE_PHY0_PLL_DIV_SHIFT)); - break; - case CLK_REF_PIPE_PHY1: - rk_clrsetreg(&cru->clksel_con[177], - CLK_PCIE_PHY1_REF_SEL_MASK, - (clk_src << CLK_PCIE_PHY1_REF_SEL_SHIFT)); - rk_clrsetreg(&cru->clksel_con[176], - CLK_PCIE_PHY1_PLL_DIV_MASK, - ((div - 1) << CLK_PCIE_PHY1_PLL_DIV_SHIFT)); - break; - case CLK_REF_PIPE_PHY2: - rk_clrsetreg(&cru->clksel_con[177], - CLK_PCIE_PHY2_REF_SEL_MASK | - CLK_PCIE_PHY2_PLL_DIV_MASK, - (clk_src << CLK_PCIE_PHY2_REF_SEL_SHIFT) | - ((div - 1) << CLK_PCIE_PHY2_PLL_DIV_SHIFT)); - break; - default: - return -RT_ENOENT; - } - - return rk3588_pciephy_get_rate(priv, clk_id); -} - -static rt_ubase_t rk_clk_get_rate(struct rk3588_clk_platform_data *pdata, - struct rk3588_clk *rk_clk) -{ - struct rk3588_clk_priv *priv = &rk_clk->clk_info; - rt_ubase_t rate = 0; - - if (!priv->gpll_hz) - { - return -RT_ERROR; - } - if (!priv->ppll_hz) - { - priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], - priv->cru, PPLL); - } - switch (pdata->id) - { - case PLL_B0PLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[B0PLL], &priv->cru, B0PLL); - break; - case PLL_B1PLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[B1PLL], &priv->cru, B1PLL); - break; - case PLL_LPLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[LPLL], &priv->cru, LPLL); - break; - case PLL_V0PLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], &priv->cru, V0PLL); - break; - case PLL_AUPLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[AUPLL], &priv->cru, AUPLL); - break; - case PLL_CPLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[CPLL], &priv->cru, CPLL); - break; - case PLL_GPLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[GPLL], &priv->cru, GPLL); - break; - case PLL_NPLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[NPLL], &priv->cru, NPLL); - break; - case PLL_PPLL: - rate = rk_pll_get_rate(&rk3588_pll_clks[PPLL], &priv->cru, PPLL); - break; - case ACLK_CENTER_ROOT: - case PCLK_CENTER_ROOT: - case HCLK_CENTER_ROOT: - case ACLK_CENTER_LOW_ROOT: - rate = rk3588_center_get_clk(priv, pdata->id); - break; - case ACLK_TOP_ROOT: - case PCLK_TOP_ROOT: - case ACLK_LOW_TOP_ROOT: - rate = rk3588_top_get_clk(priv, pdata->id); - break; - case CLK_I2C0: - case CLK_I2C1: - case CLK_I2C2: - case CLK_I2C3: - case CLK_I2C4: - case CLK_I2C5: - case CLK_I2C6: - case CLK_I2C7: - case CLK_I2C8: - rate = rk3588_i2c_get_clk(priv, pdata->id); - break; - case CLK_SPI0: - case CLK_SPI1: - case CLK_SPI2: - case CLK_SPI3: - case CLK_SPI4: - rate = rk3588_spi_get_clk(priv, pdata->id); - break; - case CLK_PWM1: - case CLK_PWM2: - case CLK_PWM3: - case CLK_PMU1PWM: - rate = rk3588_pwm_get_clk(priv, pdata->id); - break; - case CLK_SARADC: - case CLK_TSADC: - rate = rk3588_adc_get_clk(priv, pdata->id); - break; - case CCLK_SRC_SDIO: - case CCLK_EMMC: - case BCLK_EMMC: - case SCLK_SFC: - case DCLK_DECOM: - rate = rk3588_mmc_get_clk(priv, pdata->id); - break; - case TCLK_WDT0: - rate = OSC_HZ; - break; -#ifndef CONFIG_SPL_BUILD - case CLK_AUX16M_0: - case CLK_AUX16M_1: - rk3588_aux16m_get_clk(priv, pdata->id); - break; - case ACLK_VOP_ROOT: - case ACLK_VOP: - case ACLK_VOP_LOW_ROOT: - case HCLK_VOP_ROOT: - rate = rk3588_aclk_vop_get_clk(priv, pdata->id); - break; - case DCLK_VOP0: - case DCLK_VOP0_SRC: - case DCLK_VOP1: - case DCLK_VOP1_SRC: - case DCLK_VOP2: - case DCLK_VOP2_SRC: - case DCLK_VOP3: - rate = rk3588_dclk_vop_get_clk(priv, pdata->id); - break; - case CLK_GMAC0_PTP_REF: - case CLK_GMAC1_PTP_REF: - case CLK_GMAC_125M: - case CLK_GMAC_50M: - rate = rk3588_gmac_get_clk(priv, pdata->id); - break; - case SCLK_UART1: - case SCLK_UART2: - case SCLK_UART3: - case SCLK_UART4: - case SCLK_UART5: - case SCLK_UART6: - case SCLK_UART7: - case SCLK_UART8: - case SCLK_UART9: - rate = rk3588_uart_get_rate(priv, pdata->id); - break; - case CLK_REF_PIPE_PHY0: - case CLK_REF_PIPE_PHY1: - case CLK_REF_PIPE_PHY2: - rate = rk3588_pciephy_get_rate(priv, pdata->id); - break; -#endif - default: - return -RT_ENOENT; - } - - return rate; -}; - -static rt_err_t mmc_set_phase(struct rk3588_clk_platform_data *pdata, - struct rk3588_clk *rk_clk, rt_uint32_t degrees) -{ - void *reg; - rt_ubase_t rate; - struct rk3588_clk_priv *priv = &rk_clk->clk_info; - struct rk3588_cru *cru = priv->cru; - - rate = rk_clk_get_rate(pdata, rk_clk); - - switch (pdata->id) - { - case SCLK_SDIO_DRV: - reg = &cru->sdio_con[0]; - break; - - case SCLK_SDIO_SAMPLE: - reg = &cru->sdio_con[1]; - break; - - case SCLK_SDMMC_DRV: - reg = &cru->sdmmc_con[0]; - break; - - case SCLK_SDMMC_SAMPLE: - reg = &cru->sdmmc_con[1]; - break; - } - - return rk_clk_mmc_set_phase(rate, reg, 1, degrees); -} - -static rt_base_t mmc_get_phase(struct rk3588_clk_platform_data *pdata, - struct rk3588_clk *rk_clk) -{ - void *reg; - rt_ubase_t rate; - struct rk3588_clk_priv *priv = &rk_clk->clk_info; - struct rk3588_cru *cru = priv->cru; - - rate = rk_clk_get_rate(pdata, rk_clk); - - switch (pdata->id) - { - case SCLK_SDIO_DRV: - reg = &cru->sdio_con[0]; - break; - - case SCLK_SDIO_SAMPLE: - reg = &cru->sdio_con[1]; - break; - - case SCLK_SDMMC_DRV: - reg = &cru->sdmmc_con[0]; - break; - - case SCLK_SDMMC_SAMPLE: - reg = &cru->sdmmc_con[1]; - break; - } - - return rk_clk_mmc_get_phase(rate, reg, 1); -} - -static rt_err_t rk3588_clk_init(struct rt_clk *clk, void *fw_data) -{ - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rt_ofw_cell_args *args = fw_data; - struct rk3588_clk_platform_data *pdata; - rt_uint32_t clk_id = args->args[0]; - rt_ubase_t reg_base; - - pdata = &rk_clk->pdata[clk_id]; - - reg_base = (rt_ubase_t)rk_clk->clk_info.cru; - - switch (clk_id) - { - case PLL_B0PLL: - reg_base += rk3588_pll_clks[B0PLL].con_offset; - break; - case PLL_B1PLL: - reg_base += rk3588_pll_clks[B1PLL].con_offset; - break; - case PLL_LPLL: - reg_base += rk3588_pll_clks[LPLL].con_offset; - break; - case PLL_V0PLL: - reg_base += rk3588_pll_clks[V0PLL].con_offset; - break; - case PLL_AUPLL: - reg_base += rk3588_pll_clks[AUPLL].con_offset; - break; - case PLL_CPLL: - reg_base += rk3588_pll_clks[CPLL].con_offset; - break; - case PLL_GPLL: - reg_base += rk3588_pll_clks[GPLL].con_offset; - break; - case PLL_NPLL: - reg_base += rk3588_pll_clks[NPLL].con_offset; - break; - case PLL_PPLL: - reg_base += rk3588_pll_clks[PPLL].con_offset; - break; - default: - reg_base = RT_NULL; - break; - } - - pdata->id = clk_id; - pdata->base = (void *)reg_base; - - clk->rate = rk_clk_get_rate(pdata, rk_clk); - clk->priv = pdata; - - rk_clk_set_default_rates(clk, clk->clk_np->ops->set_rate, clk_id); - - return RT_EOK; -} - -static rt_err_t rk_clk_wait_lock(struct rk3588_clk_platform_data *pdata) -{ - rt_err_t err = RT_EOK; - rt_uint32_t count = 0, pllcon; - - /* - * Lock time typical 250, max 500 input clock cycles @24MHz, So define a - * very safe maximum of 1000us, meaning 24000 cycles. - */ - do { - pllcon = HWREG32(pdata->base + 6*4); - ++count; - } while (pllcon & RK3588_PLLCON6_LOCK_STATUS && count < 10); - - if (count >= 10) - { - err = -RT_ETIMEOUT; - } - - return err; -} - -static rt_err_t rk3588_clk_enable(struct rt_clk *clk) -{ - struct rk3588_clk_platform_data *pdata = clk->priv; - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rk3588_cru *cru = rk_clk->clk_info.cru; - - if (pdata->base) - { - #define PLL_CON(x) ((x) * 0x4) - HWREG32(pdata->base + PLL_CON(6)) = HIWORD_UPDATE(0, RK3588_PLLCON1_PWRDOWN, 0); - - rk_clk_wait_lock(pdata); - } - else - { - void *con_regs; - struct rk3588_clk_gate *gate; - - gate = &clk_gates[pdata->id]; - con_regs = (void*)cru + gate->offset; - - rk_clrreg(con_regs, RT_BIT(gate->con_bit)); - } - - return RT_EOK; -} - - -static void rk3588_clk_disable(struct rt_clk *clk) -{ - struct rk3588_clk_platform_data *pdata = clk->priv; - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rk3588_cru *cru = rk_clk->clk_info.cru; - - if (pdata->base) - { - HWREG32(pdata->base + PLL_CON(1)) = HIWORD_UPDATE(RK3588_PLLCON1_PWRDOWN, RK3588_PLLCON1_PWRDOWN, 0); - } - else - { - void *con_regs; - struct rk3588_clk_gate *gate; - - gate = &clk_gates[pdata->id]; - con_regs = (void*)cru + gate->offset; - - rk_setreg(con_regs, RT_BIT(gate->con_bit)); - } - -} - -static rt_bool_t rk3588_clk_is_enabled(struct rt_clk *clk) -{ - struct rk3588_clk_platform_data *pdata = clk->priv; - - if (pdata->base) - { - rt_uint32_t pllcon = HWREG32(pdata->base + PLL_CON(1)); - - return !(pllcon & RK3588_PLLCON1_PWRDOWN); - } - - return RT_TRUE; -} - -static rt_err_t rk3588_clk_set_rate(struct rt_clk *clk, rt_ubase_t rate, rt_ubase_t prate) -{ - rt_ubase_t ret = 0; - rt_ubase_t res_rate; - struct rk3588_clk_platform_data *pdata = clk->priv; - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - struct rk3588_clk_priv *priv = &rk_clk->clk_info; - - if (!priv->gpll_hz) - { - LOG_D("%s gpll=%lu\n", __func__, priv->gpll_hz); - return -RT_ENOENT; - } - - if (!priv->ppll_hz) - { - priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], - priv->cru, PPLL); - } - - switch (pdata->id) - { - case PLL_CPLL: - res_rate = rk_pll_set_rate(&rk3588_pll_clks[CPLL], priv->cru, - CPLL, rate); - priv->cpll_hz = rk_pll_get_rate(&rk3588_pll_clks[CPLL], - priv->cru, CPLL); - break; - case PLL_GPLL: - res_rate = rk_pll_set_rate(&rk3588_pll_clks[GPLL], priv->cru, - GPLL, rate); - priv->gpll_hz = rk_pll_get_rate(&rk3588_pll_clks[GPLL], - priv->cru, GPLL); - break; - case PLL_NPLL: - res_rate = rk_pll_set_rate(&rk3588_pll_clks[NPLL], priv->cru, - NPLL, rate); - break; - case PLL_V0PLL: - res_rate = rk_pll_set_rate(&rk3588_pll_clks[V0PLL], priv->cru, - V0PLL, rate); - priv->v0pll_hz = rk_pll_get_rate(&rk3588_pll_clks[V0PLL], - priv->cru, V0PLL); - break; - case PLL_AUPLL: - res_rate = rk_pll_set_rate(&rk3588_pll_clks[AUPLL], priv->cru, - AUPLL, rate); - priv->aupll_hz = rk_pll_get_rate(&rk3588_pll_clks[AUPLL], - priv->cru, AUPLL); - break; - case PLL_PPLL: - res_rate = rk_pll_set_rate(&rk3588_pll_clks[PPLL], priv->cru, - PPLL, rate); - priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], - priv->cru, PPLL); - break; - case ACLK_CENTER_ROOT: - case PCLK_CENTER_ROOT: - case HCLK_CENTER_ROOT: - case ACLK_CENTER_LOW_ROOT: - res_rate = rk3588_center_set_clk(priv, pdata->id, rate); - break; - case ACLK_TOP_ROOT: - case PCLK_TOP_ROOT: - case ACLK_LOW_TOP_ROOT: - res_rate = rk3588_top_set_clk(priv, pdata->id, rate); - break; - case CLK_I2C0: - case CLK_I2C1: - case CLK_I2C2: - case CLK_I2C3: - case CLK_I2C4: - case CLK_I2C5: - case CLK_I2C6: - case CLK_I2C7: - case CLK_I2C8: - res_rate = rk3588_i2c_set_clk(priv, pdata->id, rate); - break; - case CLK_SPI0: - case CLK_SPI1: - case CLK_SPI2: - case CLK_SPI3: - case CLK_SPI4: - res_rate = rk3588_spi_set_clk(priv, pdata->id, rate); - break; - case CLK_PWM1: - case CLK_PWM2: - case CLK_PWM3: - case CLK_PMU1PWM: - res_rate = rk3588_pwm_set_clk(priv, pdata->id, rate); - break; - case CLK_SARADC: - case CLK_TSADC: - res_rate = rk3588_adc_set_clk(priv, pdata->id, rate); - break; - case CCLK_SRC_SDIO: - case CCLK_EMMC: - case BCLK_EMMC: - case SCLK_SFC: - case DCLK_DECOM: - res_rate = rk3588_mmc_set_clk(priv, pdata->id, rate); - break; - case TCLK_WDT0: - res_rate = OSC_HZ; - break; -#ifndef CONFIG_SPL_BUILD - case CLK_AUX16M_0: - case CLK_AUX16M_1: - rk3588_aux16m_set_clk(priv, pdata->id, rate); - break; - case ACLK_VOP_ROOT: - case ACLK_VOP: - case ACLK_VOP_LOW_ROOT: - case HCLK_VOP_ROOT: - res_rate = rk3588_aclk_vop_set_clk(priv, pdata->id, rate); - break; - case DCLK_VOP0: - case DCLK_VOP0_SRC: - case DCLK_VOP1: - case DCLK_VOP1_SRC: - case DCLK_VOP2: - case DCLK_VOP2_SRC: - case DCLK_VOP3: - res_rate = rk3588_dclk_vop_set_clk(priv, pdata->id, rate); - break; - case CLK_GMAC0_PTP_REF: - case CLK_GMAC1_PTP_REF: - case CLK_GMAC_125M: - case CLK_GMAC_50M: - res_rate = rk3588_gmac_set_clk(priv, pdata->id, rate); - break; - case SCLK_UART1: - case SCLK_UART2: - case SCLK_UART3: - case SCLK_UART4: - case SCLK_UART5: - case SCLK_UART6: - case SCLK_UART7: - case SCLK_UART8: - case SCLK_UART9: - res_rate = rk3588_uart_set_rate(priv, pdata->id, rate); - break; - case CLK_REF_PIPE_PHY0: - case CLK_REF_PIPE_PHY1: - case CLK_REF_PIPE_PHY2: - res_rate = rk3588_pciephy_set_rate(priv, pdata->id, rate); - break; -#endif - default: - return -RT_ENOENT; - } - - if ((rt_base_t)res_rate > 0) - { - clk->rate = res_rate; - } - else - { - ret = (rt_ubase_t)res_rate > 0 ? RT_EOK : (rt_err_t)res_rate; - } - - return ret; -}; - -static int rk3588_dclk_vop_set_parent(struct rt_clk *clk, - struct rt_clk *parent) -{ - struct rk3588_clk_platform_data *pdata = clk->priv; - struct rk3588_clk_platform_data *ppdata = parent->priv; - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - /*struct rk3588_clk_priv *priv = &rk_clk->clk_info;*/ - struct rk3588_cru *cru = rk_clk->clk_info.cru; - - rt_uint32_t sel; - const char *clock_dev_name = parent->dev_id; - - if (ppdata->id == PLL_V0PLL) - sel = 2; - else if (ppdata->id == PLL_GPLL) - sel = 0; - else if (ppdata->id == PLL_CPLL) - sel = 1; - else - sel = 3; - - switch (pdata->id) - { - case DCLK_VOP0_SRC: - rk_clrsetreg(&cru->clksel_con[111], DCLK0_VOP_SRC_SEL_MASK, - sel << DCLK0_VOP_SRC_SEL_SHIFT); - break; - case DCLK_VOP1_SRC: - rk_clrsetreg(&cru->clksel_con[111], DCLK1_VOP_SRC_SEL_MASK, - sel << DCLK1_VOP_SRC_SEL_SHIFT); - break; - case DCLK_VOP2_SRC: - rk_clrsetreg(&cru->clksel_con[112], DCLK2_VOP_SRC_SEL_MASK, - sel << DCLK2_VOP_SRC_SEL_SHIFT); - break; - case DCLK_VOP3: - rk_clrsetreg(&cru->clksel_con[113], DCLK3_VOP_SRC_SEL_MASK, - sel << DCLK3_VOP_SRC_SEL_SHIFT); - break; - case DCLK_VOP0: - if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk0")) - sel = 1; - else if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk1")) - sel = 2; - else - sel = 0; - rk_clrsetreg(&cru->clksel_con[112], DCLK0_VOP_SEL_MASK, - sel << DCLK0_VOP_SEL_SHIFT); - break; - case DCLK_VOP1: - if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk0")) - sel = 1; - else if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk1")) - sel = 2; - else - sel = 0; - rk_clrsetreg(&cru->clksel_con[112], DCLK1_VOP_SEL_MASK, - sel << DCLK1_VOP_SEL_SHIFT); - break; - case DCLK_VOP2: - if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk0")) - sel = 1; - else if (!rt_strcmp(clock_dev_name, "hdmiphypll_clk1")) - sel = 2; - else - sel = 0; - rk_clrsetreg(&cru->clksel_con[112], DCLK2_VOP_SEL_MASK, - sel << DCLK2_VOP_SEL_SHIFT); - break; - default: - return -RT_EINVAL; - } - return 0; -} - -static rt_err_t rk3588_clk_set_parent(struct rt_clk *clk, struct rt_clk *parent) -{ - struct rk3588_clk_platform_data *pdata = clk->priv; - switch (pdata->id) - { - case DCLK_VOP0_SRC: - case DCLK_VOP1_SRC: - case DCLK_VOP2_SRC: - case DCLK_VOP0: - case DCLK_VOP1: - case DCLK_VOP2: - case DCLK_VOP3: - return rk3588_dclk_vop_set_parent(clk, parent); - default: - return -RT_ENOENT; - } - - return 0; -} - -static rt_err_t rk3588_clk_set_phase(struct rt_clk *clk, int degrees) -{ - rt_err_t res; - struct rk3588_clk_platform_data *pdata = clk->priv; - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - - switch (pdata->id) - { - case SCLK_SDIO_DRV: - case SCLK_SDIO_SAMPLE: - case SCLK_SDMMC_DRV: - case SCLK_SDMMC_SAMPLE: - res = mmc_set_phase(pdata, rk_clk, degrees); - break; - - default: - return -RT_EINVAL; - } - - return res; -} - -static rt_base_t rk3588_clk_get_phase(struct rt_clk *clk) -{ - rt_base_t res; - struct rk3588_clk_platform_data *pdata = clk->priv; - struct rk3588_clk *rk_clk = raw_to_rk_clk(clk->clk_np); - - switch (pdata->id) - { - case SCLK_SDIO_DRV: - case SCLK_SDIO_SAMPLE: - case SCLK_SDMMC_DRV: - case SCLK_SDMMC_SAMPLE: - res = mmc_get_phase(pdata, rk_clk); - break; - - default: - return -RT_EINVAL; - } - - return res; -} - -static rt_base_t rk3588_clk_round_rate(struct rt_clk *clk, rt_ubase_t drate, - rt_ubase_t *prate) -{ - return rk_clk_pll_round_rate(rk3588_pll_rates, RT_ARRAY_SIZE(rk3588_pll_rates), drate, prate); -} - -static const struct rt_clk_ops rk3588_clk_ops = -{ - .init = rk3588_clk_init, - .enable = rk3588_clk_enable, - .disable = rk3588_clk_disable, - .is_enabled = rk3588_clk_is_enabled, - .set_rate = rk3588_clk_set_rate, - .set_parent = rk3588_clk_set_parent, - .set_phase = rk3588_clk_set_phase, - .get_phase = rk3588_clk_get_phase, - .round_rate = rk3588_clk_round_rate, -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -static void rk3588_cru_init(struct rk3588_clk *rk_clk, struct rt_ofw_node *np) -{ - rt_int32_t ret, div; - - struct rk3588_clk_priv *priv = &rk_clk->clk_info; - -div = RT_DIV_ROUND_UP(GPLL_HZ, 300 * MHz); -priv->cru = (struct rk3588_cru *)rk_clk->base; - rk_clrsetreg(&priv->cru->clksel_con[38], - ACLK_BUS_ROOT_SEL_MASK | - ACLK_BUS_ROOT_DIV_MASK, - div << ACLK_BUS_ROOT_DIV_SHIFT); - - - if (priv->cpll_hz != CPLL_HZ) - { - ret = rk_pll_set_rate(&rk3588_pll_clks[CPLL], priv->cru, - CPLL, CPLL_HZ); - if (!ret) - priv->cpll_hz = CPLL_HZ; - } - if (priv->gpll_hz != GPLL_HZ) - { - ret = rk_pll_set_rate(&rk3588_pll_clks[GPLL], priv->cru, - GPLL, GPLL_HZ); - if (!ret) - priv->gpll_hz = GPLL_HZ; - } - - if (priv->ppll_hz != PPLL_HZ) - { - ret = rk_pll_set_rate(&rk3588_pll_clks[PPLL], priv->cru, - PPLL, PPLL_HZ); - priv->ppll_hz = rk_pll_get_rate(&rk3588_pll_clks[PPLL], - priv->cru, PPLL); - } - rk_clrsetreg(&priv->cru->clksel_con[9], - ACLK_TOP_S400_SEL_MASK | - ACLK_TOP_S200_SEL_MASK, - (ACLK_TOP_S400_SEL_400M << ACLK_TOP_S400_SEL_SHIFT) | - (ACLK_TOP_S200_SEL_200M << ACLK_TOP_S200_SEL_SHIFT)); -} -static rt_err_t clk_rk3588_probe(struct rt_platform_device *pdev) -{ - rt_err_t err; - rt_size_t data_size = CLK_NR_CLKS * sizeof(struct rk3588_clk_platform_data); - struct rk3588_clk *rk_clk; - struct rt_ofw_node *np = pdev->parent.ofw_node; - - rk_clk = rt_malloc(sizeof(*rk_clk) + data_size); - - if (rk_clk) - { - void *softrst_regs = RT_NULL; - rt_memset(&rk_clk->parent, 0, sizeof(rk_clk->parent)); - - rk_clk->base = rt_ofw_iomap(np, 0); -/*rt_kprintf("base %p\n", rk_clk->base);*/ - if (!rk_clk->base) - { - err = -RT_EIO; - goto _fail; - } - - - rk3588_cru_init(rk_clk, np); - softrst_regs = &rk_clk->clk_info.cru->softrst_con; - - - rk_clk->parent.parent.ops = &rk3588_clk_ops; - - if ((err = rt_clk_register(&rk_clk->parent.parent, RT_NULL))) - { - goto _fail; - } - - if ((err = rk_register_softrst(&rk_clk->parent.rstcer, np, - softrst_regs, ROCKCHIP_SOFTRST_HIWORD_MASK))) - { - goto _fail; - } - - rt_ofw_data(np) = &rk_clk->parent; - } - else - { - err = -RT_ENOMEM; - } - - return err; - -_fail: - if (rk_clk->base) - { - rt_iounmap(rk_clk->base); - } - - rt_free(rk_clk); - - return err; -} - -static const struct rt_ofw_node_id clk_rk3588_ofw_ids[] = -{ - { .compatible = "rockchip,rk3588-cru" }, - { /* sentinel */ } -}; - -static struct rt_platform_driver clk_rk3588_driver = -{ - .name = "clk-rk3588", - .ids = clk_rk3588_ofw_ids, - - .probe = clk_rk3588_probe, -}; - -static int clk_rk3588_register(void) -{ - rt_platform_driver_register(&clk_rk3588_driver); - - return 0; -} -INIT_SUBSYS_EXPORT(clk_rk3588_register); diff --git a/bsp/rockchip/rk3566/driver/clk/clk-rk3588.h b/bsp/rockchip/rk3566/driver/clk/clk-rk3588.h deleted file mode 100644 index 5a8a3152a7f..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/clk-rk3588.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ - -#ifndef __ROCKCHIP_CLK_H__ -#define __ROCKCHIP_CLK_H__ - -#include -#include -#include -#include -#include "../rockchip.h" - -#define HZ 100 -#define KHZ 1000 -#define MHZ 1000000 -#define OSC_HZ (24 * MHZ) - -struct rk_cpu_rate_table -{ - rt_ubase_t rate; - rt_uint32_t aclk_div; - rt_uint32_t pclk_div; -}; - -struct rk_pll_rate_table -{ - rt_ubase_t rate; - union { - struct { - /* for RK3066 */ - rt_uint32_t nr; - rt_uint32_t nf; - rt_uint32_t no; - rt_uint32_t nb; - }; - struct { - /* for RK3036/RK3399 */ - rt_uint32_t fbdiv; - rt_uint32_t postdiv1; - rt_uint32_t refdiv; - rt_uint32_t postdiv2; - rt_uint32_t dsmpd; - rt_uint32_t frac; - }; - struct { - /* for RK3588 */ - rt_uint32_t m; - rt_uint32_t p; - rt_uint32_t s; - rt_uint32_t k; - }; - }; -}; - -enum rk_pll_type { - pll_rk3036, - pll_rk3066, - pll_rk3328, - pll_rk3366, - pll_rk3399, - pll_rk3588, -}; - -typedef rt_uint32_t rk_pll_type_t; - -struct rk_pll_clock -{ - rt_uint32_t id; - rt_uint32_t con_offset; - rt_uint32_t mode_offset; - rt_uint32_t mode_shift; - rt_uint32_t lock_shift; - rk_pll_type_t type; - rt_uint32_t pll_flags; - struct rk_pll_rate_table *rate_table; - rt_uint32_t mode_mask; -}; -struct rk_clk_gate -{ - const char *name; - const char *parent_name; - - int con_idx; - int con_bit; -}; - -#define GATE(_id, _name, \ -_pname, _con_idx, _con_bit) \ -[_id] = \ -{ \ - .name = _name, \ - .parent_name = _pname, \ - .con_idx = _con_idx, \ - .con_bit = _con_bit, \ -} - - -#define CPUCLK_RATE(_rate, \ - _aclk_div, _pclk_div) \ -{ \ - .rate = _rate##U, \ - .aclk_div = _aclk_div, \ - .pclk_div = _pclk_div, \ -} - -#define RK3036_PLL_RATE(_rate, _refdiv, _fbdiv, \ - _postdiv1, _postdiv2, _dsmpd, _frac) \ -{ \ - .rate = _rate##U, \ - .fbdiv = _fbdiv, \ - .postdiv1 = _postdiv1, \ - .refdiv = _refdiv, \ - .postdiv2 = _postdiv2, \ - .dsmpd = _dsmpd, \ - .frac = _frac, \ -} - -#define RK3588_PLL_RATE(_rate, _p, _m, _s, _k) \ -{ \ - .rate = _rate##U, \ - .p = _p, \ - .m = _m, \ - .s = _s, \ - .k = _k, \ -} - -#define PLL(_type, _id, _con, _mode, _mshift, \ - _lshift, _pflags, _rtable) \ -{ \ - .type = _type, \ - .id = _id, \ - .con_offset = _con, \ - .mode_offset = _mode, \ - .mode_shift = _mshift, \ - .lock_shift = _lshift, \ - .pll_flags = _pflags, \ - .rate_table = _rtable, \ -} - -#define DIV_TO_RATE(input_rate, div) ((input_rate) / ((div) + 1)) - -#define ROCKCHIP_SOFTRST_HIWORD_MASK RT_BIT(0) - -#endif /* __ROCKCHIP_CLK_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/rk3568-cru.h b/bsp/rockchip/rk3566/driver/clk/rk3568-cru.h deleted file mode 100644 index 00f59f71068..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/rk3568-cru.h +++ /dev/null @@ -1,926 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef __DT_BINDINGS_CLK_ROCKCHIP_RK3568_H__ -#define __DT_BINDINGS_CLK_ROCKCHIP_RK3568_H__ - -/* pmucru-clocks indices */ - -/* pmucru plls */ -#define PLL_PPLL 1 -#define PLL_HPLL 2 - -/* pmucru clocks */ -#define XIN_OSC0_DIV 4 -#define CLK_RTC_32K 5 -#define CLK_PMU 6 -#define CLK_I2C0 7 -#define CLK_RTC32K_FRAC 8 -#define CLK_UART0_DIV 9 -#define CLK_UART0_FRAC 10 -#define SCLK_UART0 11 -#define DBCLK_GPIO0 12 -#define CLK_PWM0 13 -#define CLK_CAPTURE_PWM0_NDFT 14 -#define CLK_PMUPVTM 15 -#define CLK_CORE_PMUPVTM 16 -#define CLK_REF24M 17 -#define XIN_OSC0_USBPHY0_G 18 -#define CLK_USBPHY0_REF 19 -#define XIN_OSC0_USBPHY1_G 20 -#define CLK_USBPHY1_REF 21 -#define XIN_OSC0_MIPIDSIPHY0_G 22 -#define CLK_MIPIDSIPHY0_REF 23 -#define XIN_OSC0_MIPIDSIPHY1_G 24 -#define CLK_MIPIDSIPHY1_REF 25 -#define CLK_WIFI_DIV 26 -#define CLK_WIFI_OSC0 27 -#define CLK_WIFI 28 -#define CLK_PCIEPHY0_DIV 29 -#define CLK_PCIEPHY0_OSC0 30 -#define CLK_PCIEPHY0_REF 31 -#define CLK_PCIEPHY1_DIV 32 -#define CLK_PCIEPHY1_OSC0 33 -#define CLK_PCIEPHY1_REF 34 -#define CLK_PCIEPHY2_DIV 35 -#define CLK_PCIEPHY2_OSC0 36 -#define CLK_PCIEPHY2_REF 37 -#define CLK_PCIE30PHY_REF_M 38 -#define CLK_PCIE30PHY_REF_N 39 -#define CLK_HDMI_REF 40 -#define XIN_OSC0_EDPPHY_G 41 -#define PCLK_PDPMU 42 -#define PCLK_PMU 43 -#define PCLK_UART0 44 -#define PCLK_I2C0 45 -#define PCLK_GPIO0 46 -#define PCLK_PMUPVTM 47 -#define PCLK_PWM0 48 -#define CLK_PDPMU 49 -#define SCLK_32K_IOE 50 - -#define CLKPMU_NR_CLKS (SCLK_32K_IOE + 1) - -/* cru-clocks indices */ - -/* cru plls */ -#define PLL_APLL 1 -#define PLL_DPLL 2 -#define PLL_CPLL 3 -#define PLL_GPLL 4 -#define PLL_VPLL 5 -#define PLL_NPLL 6 - -/* cru clocks */ -#define CPLL_333M 9 -#define ARMCLK 10 -#define USB480M 11 -#define ACLK_CORE_NIU2BUS 18 -#define CLK_CORE_PVTM 19 -#define CLK_CORE_PVTM_CORE 20 -#define CLK_CORE_PVTPLL 21 -#define CLK_GPU_SRC 22 -#define CLK_GPU_PRE_NDFT 23 -#define CLK_GPU_PRE_MUX 24 -#define ACLK_GPU_PRE 25 -#define PCLK_GPU_PRE 26 -#define CLK_GPU 27 -#define CLK_GPU_NP5 28 -#define PCLK_GPU_PVTM 29 -#define CLK_GPU_PVTM 30 -#define CLK_GPU_PVTM_CORE 31 -#define CLK_GPU_PVTPLL 32 -#define CLK_NPU_SRC 33 -#define CLK_NPU_PRE_NDFT 34 -#define CLK_NPU 35 -#define CLK_NPU_NP5 36 -#define HCLK_NPU_PRE 37 -#define PCLK_NPU_PRE 38 -#define ACLK_NPU_PRE 39 -#define ACLK_NPU 40 -#define HCLK_NPU 41 -#define PCLK_NPU_PVTM 42 -#define CLK_NPU_PVTM 43 -#define CLK_NPU_PVTM_CORE 44 -#define CLK_NPU_PVTPLL 45 -#define CLK_DDRPHY1X_SRC 46 -#define CLK_DDRPHY1X_HWFFC_SRC 47 -#define CLK_DDR1X 48 -#define CLK_MSCH 49 -#define CLK24_DDRMON 50 -#define ACLK_GIC_AUDIO 51 -#define HCLK_GIC_AUDIO 52 -#define HCLK_SDMMC_BUFFER 53 -#define DCLK_SDMMC_BUFFER 54 -#define ACLK_GIC600 55 -#define ACLK_SPINLOCK 56 -#define HCLK_I2S0_8CH 57 -#define HCLK_I2S1_8CH 58 -#define HCLK_I2S2_2CH 59 -#define HCLK_I2S3_2CH 60 -#define CLK_I2S0_8CH_TX_SRC 61 -#define CLK_I2S0_8CH_TX_FRAC 62 -#define MCLK_I2S0_8CH_TX 63 -#define I2S0_MCLKOUT_TX 64 -#define CLK_I2S0_8CH_RX_SRC 65 -#define CLK_I2S0_8CH_RX_FRAC 66 -#define MCLK_I2S0_8CH_RX 67 -#define I2S0_MCLKOUT_RX 68 -#define CLK_I2S1_8CH_TX_SRC 69 -#define CLK_I2S1_8CH_TX_FRAC 70 -#define MCLK_I2S1_8CH_TX 71 -#define I2S1_MCLKOUT_TX 72 -#define CLK_I2S1_8CH_RX_SRC 73 -#define CLK_I2S1_8CH_RX_FRAC 74 -#define MCLK_I2S1_8CH_RX 75 -#define I2S1_MCLKOUT_RX 76 -#define CLK_I2S2_2CH_SRC 77 -#define CLK_I2S2_2CH_FRAC 78 -#define MCLK_I2S2_2CH 79 -#define I2S2_MCLKOUT 80 -#define CLK_I2S3_2CH_TX_SRC 81 -#define CLK_I2S3_2CH_TX_FRAC 82 -#define MCLK_I2S3_2CH_TX 83 -#define I2S3_MCLKOUT_TX 84 -#define CLK_I2S3_2CH_RX_SRC 85 -#define CLK_I2S3_2CH_RX_FRAC 86 -#define MCLK_I2S3_2CH_RX 87 -#define I2S3_MCLKOUT_RX 88 -#define HCLK_PDM 89 -#define MCLK_PDM 90 -#define HCLK_VAD 91 -#define HCLK_SPDIF_8CH 92 -#define MCLK_SPDIF_8CH_SRC 93 -#define MCLK_SPDIF_8CH_FRAC 94 -#define MCLK_SPDIF_8CH 95 -#define HCLK_AUDPWM 96 -#define SCLK_AUDPWM_SRC 97 -#define SCLK_AUDPWM_FRAC 98 -#define SCLK_AUDPWM 99 -#define HCLK_ACDCDIG 100 -#define CLK_ACDCDIG_I2C 101 -#define CLK_ACDCDIG_DAC 102 -#define CLK_ACDCDIG_ADC 103 -#define ACLK_SECURE_FLASH 104 -#define HCLK_SECURE_FLASH 105 -#define ACLK_CRYPTO_NS 106 -#define HCLK_CRYPTO_NS 107 -#define CLK_CRYPTO_NS_CORE 108 -#define CLK_CRYPTO_NS_PKA 109 -#define CLK_CRYPTO_NS_RNG 110 -#define HCLK_TRNG_NS 111 -#define CLK_TRNG_NS 112 -#define PCLK_OTPC_NS 113 -#define CLK_OTPC_NS_SBPI 114 -#define CLK_OTPC_NS_USR 115 -#define HCLK_NANDC 116 -#define NCLK_NANDC 117 -#define HCLK_SFC 118 -#define HCLK_SFC_XIP 119 -#define SCLK_SFC 120 -#define ACLK_EMMC 121 -#define HCLK_EMMC 122 -#define BCLK_EMMC 123 -#define CCLK_EMMC 124 -#define TCLK_EMMC 125 -#define ACLK_PIPE 126 -#define PCLK_PIPE 127 -#define PCLK_PIPE_GRF 128 -#define ACLK_PCIE20_MST 129 -#define ACLK_PCIE20_SLV 130 -#define ACLK_PCIE20_DBI 131 -#define PCLK_PCIE20 132 -#define CLK_PCIE20_AUX_NDFT 133 -#define CLK_PCIE20_AUX_DFT 134 -#define CLK_PCIE20_PIPE_DFT 135 -#define ACLK_PCIE30X1_MST 136 -#define ACLK_PCIE30X1_SLV 137 -#define ACLK_PCIE30X1_DBI 138 -#define PCLK_PCIE30X1 139 -#define CLK_PCIE30X1_AUX_NDFT 140 -#define CLK_PCIE30X1_AUX_DFT 141 -#define CLK_PCIE30X1_PIPE_DFT 142 -#define ACLK_PCIE30X2_MST 143 -#define ACLK_PCIE30X2_SLV 144 -#define ACLK_PCIE30X2_DBI 145 -#define PCLK_PCIE30X2 146 -#define CLK_PCIE30X2_AUX_NDFT 147 -#define CLK_PCIE30X2_AUX_DFT 148 -#define CLK_PCIE30X2_PIPE_DFT 149 -#define ACLK_SATA0 150 -#define CLK_SATA0_PMALIVE 151 -#define CLK_SATA0_RXOOB 152 -#define CLK_SATA0_PIPE_NDFT 153 -#define CLK_SATA0_PIPE_DFT 154 -#define ACLK_SATA1 155 -#define CLK_SATA1_PMALIVE 156 -#define CLK_SATA1_RXOOB 157 -#define CLK_SATA1_PIPE_NDFT 158 -#define CLK_SATA1_PIPE_DFT 159 -#define ACLK_SATA2 160 -#define CLK_SATA2_PMALIVE 161 -#define CLK_SATA2_RXOOB 162 -#define CLK_SATA2_PIPE_NDFT 163 -#define CLK_SATA2_PIPE_DFT 164 -#define ACLK_USB3OTG0 165 -#define CLK_USB3OTG0_REF 166 -#define CLK_USB3OTG0_SUSPEND 167 -#define ACLK_USB3OTG1 168 -#define CLK_USB3OTG1_REF 169 -#define CLK_USB3OTG1_SUSPEND 170 -#define CLK_XPCS_EEE 171 -#define PCLK_XPCS 172 -#define ACLK_PHP 173 -#define HCLK_PHP 174 -#define PCLK_PHP 175 -#define HCLK_SDMMC0 176 -#define CLK_SDMMC0 177 -#define HCLK_SDMMC1 178 -#define CLK_SDMMC1 179 -#define ACLK_GMAC0 180 -#define PCLK_GMAC0 181 -#define CLK_MAC0_2TOP 182 -#define CLK_MAC0_OUT 183 -#define CLK_MAC0_REFOUT 184 -#define CLK_GMAC0_PTP_REF 185 -#define ACLK_USB 186 -#define HCLK_USB 187 -#define PCLK_USB 188 -#define HCLK_USB2HOST0 189 -#define HCLK_USB2HOST0_ARB 190 -#define HCLK_USB2HOST1 191 -#define HCLK_USB2HOST1_ARB 192 -#define HCLK_SDMMC2 193 -#define CLK_SDMMC2 194 -#define ACLK_GMAC1 195 -#define PCLK_GMAC1 196 -#define CLK_MAC1_2TOP 197 -#define CLK_MAC1_OUT 198 -#define CLK_MAC1_REFOUT 199 -#define CLK_GMAC1_PTP_REF 200 -#define ACLK_PERIMID 201 -#define HCLK_PERIMID 202 -#define ACLK_VI 203 -#define HCLK_VI 204 -#define PCLK_VI 205 -#define ACLK_VICAP 206 -#define HCLK_VICAP 207 -#define DCLK_VICAP 208 -#define ICLK_VICAP_G 209 -#define ACLK_ISP 210 -#define HCLK_ISP 211 -#define CLK_ISP 212 -#define PCLK_CSI2HOST1 213 -#define CLK_CIF_OUT 214 -#define CLK_CAM0_OUT 215 -#define CLK_CAM1_OUT 216 -#define ACLK_VO 217 -#define HCLK_VO 218 -#define PCLK_VO 219 -#define ACLK_VOP_PRE 220 -#define ACLK_VOP 221 -#define HCLK_VOP 222 -#define DCLK_VOP0 223 -#define DCLK_VOP1 224 -#define DCLK_VOP2 225 -#define CLK_VOP_PWM 226 -#define ACLK_HDCP 227 -#define HCLK_HDCP 228 -#define PCLK_HDCP 229 -#define PCLK_HDMI_HOST 230 -#define CLK_HDMI_SFR 231 -#define PCLK_DSITX_0 232 -#define PCLK_DSITX_1 233 -#define PCLK_EDP_CTRL 234 -#define CLK_EDP_200M 235 -#define ACLK_VPU_PRE 236 -#define HCLK_VPU_PRE 237 -#define ACLK_VPU 238 -#define HCLK_VPU 239 -#define ACLK_RGA_PRE 240 -#define HCLK_RGA_PRE 241 -#define PCLK_RGA_PRE 242 -#define ACLK_RGA 243 -#define HCLK_RGA 244 -#define CLK_RGA_CORE 245 -#define ACLK_IEP 246 -#define HCLK_IEP 247 -#define CLK_IEP_CORE 248 -#define HCLK_EBC 249 -#define DCLK_EBC 250 -#define ACLK_JDEC 251 -#define HCLK_JDEC 252 -#define ACLK_JENC 253 -#define HCLK_JENC 254 -#define PCLK_EINK 255 -#define HCLK_EINK 256 -#define ACLK_RKVENC_PRE 257 -#define HCLK_RKVENC_PRE 258 -#define ACLK_RKVENC 259 -#define HCLK_RKVENC 260 -#define CLK_RKVENC_CORE 261 -#define ACLK_RKVDEC_PRE 262 -#define HCLK_RKVDEC_PRE 263 -#define ACLK_RKVDEC 264 -#define HCLK_RKVDEC 265 -#define CLK_RKVDEC_CA 266 -#define CLK_RKVDEC_CORE 267 -#define CLK_RKVDEC_HEVC_CA 268 -#define ACLK_BUS 269 -#define PCLK_BUS 270 -#define PCLK_TSADC 271 -#define CLK_TSADC_TSEN 272 -#define CLK_TSADC 273 -#define PCLK_SARADC 274 -#define CLK_SARADC 275 -#define PCLK_SCR 276 -#define PCLK_WDT_NS 277 -#define TCLK_WDT_NS 278 -#define ACLK_DMAC0 279 -#define ACLK_DMAC1 280 -#define ACLK_MCU 281 -#define PCLK_INTMUX 282 -#define PCLK_MAILBOX 283 -#define PCLK_UART1 284 -#define CLK_UART1_SRC 285 -#define CLK_UART1_FRAC 286 -#define SCLK_UART1 287 -#define PCLK_UART2 288 -#define CLK_UART2_SRC 289 -#define CLK_UART2_FRAC 290 -#define SCLK_UART2 291 -#define PCLK_UART3 292 -#define CLK_UART3_SRC 293 -#define CLK_UART3_FRAC 294 -#define SCLK_UART3 295 -#define PCLK_UART4 296 -#define CLK_UART4_SRC 297 -#define CLK_UART4_FRAC 298 -#define SCLK_UART4 299 -#define PCLK_UART5 300 -#define CLK_UART5_SRC 301 -#define CLK_UART5_FRAC 302 -#define SCLK_UART5 303 -#define PCLK_UART6 304 -#define CLK_UART6_SRC 305 -#define CLK_UART6_FRAC 306 -#define SCLK_UART6 307 -#define PCLK_UART7 308 -#define CLK_UART7_SRC 309 -#define CLK_UART7_FRAC 310 -#define SCLK_UART7 311 -#define PCLK_UART8 312 -#define CLK_UART8_SRC 313 -#define CLK_UART8_FRAC 314 -#define SCLK_UART8 315 -#define PCLK_UART9 316 -#define CLK_UART9_SRC 317 -#define CLK_UART9_FRAC 318 -#define SCLK_UART9 319 -#define PCLK_CAN0 320 -#define CLK_CAN0 321 -#define PCLK_CAN1 322 -#define CLK_CAN1 323 -#define PCLK_CAN2 324 -#define CLK_CAN2 325 -#define CLK_I2C 326 -#define PCLK_I2C1 327 -#define CLK_I2C1 328 -#define PCLK_I2C2 329 -#define CLK_I2C2 330 -#define PCLK_I2C3 331 -#define CLK_I2C3 332 -#define PCLK_I2C4 333 -#define CLK_I2C4 334 -#define PCLK_I2C5 335 -#define CLK_I2C5 336 -#define PCLK_SPI0 337 -#define CLK_SPI0 338 -#define PCLK_SPI1 339 -#define CLK_SPI1 340 -#define PCLK_SPI2 341 -#define CLK_SPI2 342 -#define PCLK_SPI3 343 -#define CLK_SPI3 344 -#define PCLK_PWM1 345 -#define CLK_PWM1 346 -#define CLK_PWM1_CAPTURE 347 -#define PCLK_PWM2 348 -#define CLK_PWM2 349 -#define CLK_PWM2_CAPTURE 350 -#define PCLK_PWM3 351 -#define CLK_PWM3 352 -#define CLK_PWM3_CAPTURE 353 -#define DBCLK_GPIO 354 -#define PCLK_GPIO1 355 -#define DBCLK_GPIO1 356 -#define PCLK_GPIO2 357 -#define DBCLK_GPIO2 358 -#define PCLK_GPIO3 359 -#define DBCLK_GPIO3 360 -#define PCLK_GPIO4 361 -#define DBCLK_GPIO4 362 -#define OCC_SCAN_CLK_GPIO 363 -#define PCLK_TIMER 364 -#define CLK_TIMER0 365 -#define CLK_TIMER1 366 -#define CLK_TIMER2 367 -#define CLK_TIMER3 368 -#define CLK_TIMER4 369 -#define CLK_TIMER5 370 -#define ACLK_TOP_HIGH 371 -#define ACLK_TOP_LOW 372 -#define HCLK_TOP 373 -#define PCLK_TOP 374 -#define PCLK_PCIE30PHY 375 -#define CLK_OPTC_ARB 376 -#define PCLK_MIPICSIPHY 377 -#define PCLK_MIPIDSIPHY0 378 -#define PCLK_MIPIDSIPHY1 379 -#define PCLK_PIPEPHY0 380 -#define PCLK_PIPEPHY1 381 -#define PCLK_PIPEPHY2 382 -#define PCLK_CPU_BOOST 383 -#define CLK_CPU_BOOST 384 -#define PCLK_OTPPHY 385 -#define SCLK_GMAC0 386 -#define SCLK_GMAC0_RGMII_SPEED 387 -#define SCLK_GMAC0_RMII_SPEED 388 -#define SCLK_GMAC0_RX_TX 389 -#define SCLK_GMAC1 390 -#define SCLK_GMAC1_RGMII_SPEED 391 -#define SCLK_GMAC1_RMII_SPEED 392 -#define SCLK_GMAC1_RX_TX 393 -#define SCLK_SDMMC0_DRV 394 -#define SCLK_SDMMC0_SAMPLE 395 -#define SCLK_SDMMC1_DRV 396 -#define SCLK_SDMMC1_SAMPLE 397 -#define SCLK_SDMMC2_DRV 398 -#define SCLK_SDMMC2_SAMPLE 399 -#define SCLK_EMMC_DRV 400 -#define SCLK_EMMC_SAMPLE 401 -#define PCLK_EDPPHY_GRF 402 -#define CLK_HDMI_CEC 403 -#define CLK_I2S0_8CH_TX 404 -#define CLK_I2S0_8CH_RX 405 -#define CLK_I2S1_8CH_TX 406 -#define CLK_I2S1_8CH_RX 407 -#define CLK_I2S2_2CH 408 -#define CLK_I2S3_2CH_TX 409 -#define CLK_I2S3_2CH_RX 410 -#define CPLL_500M 411 -#define CPLL_250M 412 -#define CPLL_125M 413 -#define CPLL_62P5M 414 -#define CPLL_50M 415 -#define CPLL_25M 416 -#define CPLL_100M 417 -#define SCLK_DDRCLK 418 - -#define PCLK_CORE_PVTM 450 - -#define CLK_NR_CLKS (PCLK_CORE_PVTM + 1) - -/* pmu soft-reset indices */ -/* pmucru_softrst_con0 */ -#define SRST_P_PDPMU_NIU 0 -#define SRST_P_PMUCRU 1 -#define SRST_P_PMUGRF 2 -#define SRST_P_I2C0 3 -#define SRST_I2C0 4 -#define SRST_P_UART0 5 -#define SRST_S_UART0 6 -#define SRST_P_PWM0 7 -#define SRST_PWM0 8 -#define SRST_P_GPIO0 9 -#define SRST_GPIO0 10 -#define SRST_P_PMUPVTM 11 -#define SRST_PMUPVTM 12 - -/* soft-reset indices */ - -/* cru_softrst_con0 */ -#define SRST_NCORERESET0 0 -#define SRST_NCORERESET1 1 -#define SRST_NCORERESET2 2 -#define SRST_NCORERESET3 3 -#define SRST_NCPUPORESET0 4 -#define SRST_NCPUPORESET1 5 -#define SRST_NCPUPORESET2 6 -#define SRST_NCPUPORESET3 7 -#define SRST_NSRESET 8 -#define SRST_NSPORESET 9 -#define SRST_NATRESET 10 -#define SRST_NGICRESET 11 -#define SRST_NPRESET 12 -#define SRST_NPERIPHRESET 13 - -/* cru_softrst_con1 */ -#define SRST_A_CORE_NIU2DDR 16 -#define SRST_A_CORE_NIU2BUS 17 -#define SRST_P_DBG_NIU 18 -#define SRST_P_DBG 19 -#define SRST_P_DBG_DAPLITE 20 -#define SRST_DAP 21 -#define SRST_A_ADB400_CORE2GIC 22 -#define SRST_A_ADB400_GIC2CORE 23 -#define SRST_P_CORE_GRF 24 -#define SRST_P_CORE_PVTM 25 -#define SRST_CORE_PVTM 26 -#define SRST_CORE_PVTPLL 27 - -/* cru_softrst_con2 */ -#define SRST_GPU 32 -#define SRST_A_GPU_NIU 33 -#define SRST_P_GPU_NIU 34 -#define SRST_P_GPU_PVTM 35 -#define SRST_GPU_PVTM 36 -#define SRST_GPU_PVTPLL 37 -#define SRST_A_NPU_NIU 40 -#define SRST_H_NPU_NIU 41 -#define SRST_P_NPU_NIU 42 -#define SRST_A_NPU 43 -#define SRST_H_NPU 44 -#define SRST_P_NPU_PVTM 45 -#define SRST_NPU_PVTM 46 -#define SRST_NPU_PVTPLL 47 - -/* cru_softrst_con3 */ -#define SRST_A_MSCH 51 -#define SRST_HWFFC_CTRL 52 -#define SRST_DDR_ALWAYSON 53 -#define SRST_A_DDRSPLIT 54 -#define SRST_DDRDFI_CTL 55 -#define SRST_A_DMA2DDR 57 - -/* cru_softrst_con4 */ -#define SRST_A_PERIMID_NIU 64 -#define SRST_H_PERIMID_NIU 65 -#define SRST_A_GIC_AUDIO_NIU 66 -#define SRST_H_GIC_AUDIO_NIU 67 -#define SRST_A_GIC600 68 -#define SRST_A_GIC600_DEBUG 69 -#define SRST_A_GICADB_CORE2GIC 70 -#define SRST_A_GICADB_GIC2CORE 71 -#define SRST_A_SPINLOCK 72 -#define SRST_H_SDMMC_BUFFER 73 -#define SRST_D_SDMMC_BUFFER 74 -#define SRST_H_I2S0_8CH 75 -#define SRST_H_I2S1_8CH 76 -#define SRST_H_I2S2_2CH 77 -#define SRST_H_I2S3_2CH 78 - -/* cru_softrst_con5 */ -#define SRST_M_I2S0_8CH_TX 80 -#define SRST_M_I2S0_8CH_RX 81 -#define SRST_M_I2S1_8CH_TX 82 -#define SRST_M_I2S1_8CH_RX 83 -#define SRST_M_I2S2_2CH 84 -#define SRST_M_I2S3_2CH_TX 85 -#define SRST_M_I2S3_2CH_RX 86 -#define SRST_H_PDM 87 -#define SRST_M_PDM 88 -#define SRST_H_VAD 89 -#define SRST_H_SPDIF_8CH 90 -#define SRST_M_SPDIF_8CH 91 -#define SRST_H_AUDPWM 92 -#define SRST_S_AUDPWM 93 -#define SRST_H_ACDCDIG 94 -#define SRST_ACDCDIG 95 - -/* cru_softrst_con6 */ -#define SRST_A_SECURE_FLASH_NIU 96 -#define SRST_H_SECURE_FLASH_NIU 97 -#define SRST_A_CRYPTO_NS 103 -#define SRST_H_CRYPTO_NS 104 -#define SRST_CRYPTO_NS_CORE 105 -#define SRST_CRYPTO_NS_PKA 106 -#define SRST_CRYPTO_NS_RNG 107 -#define SRST_H_TRNG_NS 108 -#define SRST_TRNG_NS 109 - -/* cru_softrst_con7 */ -#define SRST_H_NANDC 112 -#define SRST_N_NANDC 113 -#define SRST_H_SFC 114 -#define SRST_H_SFC_XIP 115 -#define SRST_S_SFC 116 -#define SRST_A_EMMC 117 -#define SRST_H_EMMC 118 -#define SRST_B_EMMC 119 -#define SRST_C_EMMC 120 -#define SRST_T_EMMC 121 - -/* cru_softrst_con8 */ -#define SRST_A_PIPE_NIU 128 -#define SRST_P_PIPE_NIU 130 -#define SRST_P_PIPE_GRF 133 -#define SRST_A_SATA0 134 -#define SRST_SATA0_PIPE 135 -#define SRST_SATA0_PMALIVE 136 -#define SRST_SATA0_RXOOB 137 -#define SRST_A_SATA1 138 -#define SRST_SATA1_PIPE 139 -#define SRST_SATA1_PMALIVE 140 -#define SRST_SATA1_RXOOB 141 - -/* cru_softrst_con9 */ -#define SRST_A_SATA2 144 -#define SRST_SATA2_PIPE 145 -#define SRST_SATA2_PMALIVE 146 -#define SRST_SATA2_RXOOB 147 -#define SRST_USB3OTG0 148 -#define SRST_USB3OTG1 149 -#define SRST_XPCS 150 -#define SRST_XPCS_TX_DIV10 151 -#define SRST_XPCS_RX_DIV10 152 -#define SRST_XPCS_XGXS_RX 153 - -/* cru_softrst_con10 */ -#define SRST_P_PCIE20 160 -#define SRST_PCIE20_POWERUP 161 -#define SRST_MSTR_ARESET_PCIE20 162 -#define SRST_SLV_ARESET_PCIE20 163 -#define SRST_DBI_ARESET_PCIE20 164 -#define SRST_BRESET_PCIE20 165 -#define SRST_PERST_PCIE20 166 -#define SRST_CORE_RST_PCIE20 167 -#define SRST_NSTICKY_RST_PCIE20 168 -#define SRST_STICKY_RST_PCIE20 169 -#define SRST_PWR_RST_PCIE20 170 - -/* cru_softrst_con11 */ -#define SRST_P_PCIE30X1 176 -#define SRST_PCIE30X1_POWERUP 177 -#define SRST_M_ARESET_PCIE30X1 178 -#define SRST_S_ARESET_PCIE30X1 179 -#define SRST_D_ARESET_PCIE30X1 180 -#define SRST_BRESET_PCIE30X1 181 -#define SRST_PERST_PCIE30X1 182 -#define SRST_CORE_RST_PCIE30X1 183 -#define SRST_NSTC_RST_PCIE30X1 184 -#define SRST_STC_RST_PCIE30X1 185 -#define SRST_PWR_RST_PCIE30X1 186 - -/* cru_softrst_con12 */ -#define SRST_P_PCIE30X2 192 -#define SRST_PCIE30X2_POWERUP 193 -#define SRST_M_ARESET_PCIE30X2 194 -#define SRST_S_ARESET_PCIE30X2 195 -#define SRST_D_ARESET_PCIE30X2 196 -#define SRST_BRESET_PCIE30X2 197 -#define SRST_PERST_PCIE30X2 198 -#define SRST_CORE_RST_PCIE30X2 199 -#define SRST_NSTC_RST_PCIE30X2 200 -#define SRST_STC_RST_PCIE30X2 201 -#define SRST_PWR_RST_PCIE30X2 202 - -/* cru_softrst_con13 */ -#define SRST_A_PHP_NIU 208 -#define SRST_H_PHP_NIU 209 -#define SRST_P_PHP_NIU 210 -#define SRST_H_SDMMC0 211 -#define SRST_SDMMC0 212 -#define SRST_H_SDMMC1 213 -#define SRST_SDMMC1 214 -#define SRST_A_GMAC0 215 -#define SRST_GMAC0_TIMESTAMP 216 - -/* cru_softrst_con14 */ -#define SRST_A_USB_NIU 224 -#define SRST_H_USB_NIU 225 -#define SRST_P_USB_NIU 226 -#define SRST_P_USB_GRF 227 -#define SRST_H_USB2HOST0 228 -#define SRST_H_USB2HOST0_ARB 229 -#define SRST_USB2HOST0_UTMI 230 -#define SRST_H_USB2HOST1 231 -#define SRST_H_USB2HOST1_ARB 232 -#define SRST_USB2HOST1_UTMI 233 -#define SRST_H_SDMMC2 234 -#define SRST_SDMMC2 235 -#define SRST_A_GMAC1 236 -#define SRST_GMAC1_TIMESTAMP 237 - -/* cru_softrst_con15 */ -#define SRST_A_VI_NIU 240 -#define SRST_H_VI_NIU 241 -#define SRST_P_VI_NIU 242 -#define SRST_A_VICAP 247 -#define SRST_H_VICAP 248 -#define SRST_D_VICAP 249 -#define SRST_I_VICAP 250 -#define SRST_P_VICAP 251 -#define SRST_H_ISP 252 -#define SRST_ISP 253 -#define SRST_P_CSI2HOST1 255 - -/* cru_softrst_con16 */ -#define SRST_A_VO_NIU 256 -#define SRST_H_VO_NIU 257 -#define SRST_P_VO_NIU 258 -#define SRST_A_VOP_NIU 259 -#define SRST_A_VOP 260 -#define SRST_H_VOP 261 -#define SRST_VOP0 262 -#define SRST_VOP1 263 -#define SRST_VOP2 264 -#define SRST_VOP_PWM 265 -#define SRST_A_HDCP 266 -#define SRST_H_HDCP 267 -#define SRST_P_HDCP 268 -#define SRST_P_HDMI_HOST 270 -#define SRST_HDMI_HOST 271 - -/* cru_softrst_con17 */ -#define SRST_P_DSITX_0 272 -#define SRST_P_DSITX_1 273 -#define SRST_P_EDP_CTRL 274 -#define SRST_EDP_24M 275 -#define SRST_A_VPU_NIU 280 -#define SRST_H_VPU_NIU 281 -#define SRST_A_VPU 282 -#define SRST_H_VPU 283 -#define SRST_H_EINK 286 -#define SRST_P_EINK 287 - -/* cru_softrst_con18 */ -#define SRST_A_RGA_NIU 288 -#define SRST_H_RGA_NIU 289 -#define SRST_P_RGA_NIU 290 -#define SRST_A_RGA 292 -#define SRST_H_RGA 293 -#define SRST_RGA_CORE 294 -#define SRST_A_IEP 295 -#define SRST_H_IEP 296 -#define SRST_IEP_CORE 297 -#define SRST_H_EBC 298 -#define SRST_D_EBC 299 -#define SRST_A_JDEC 300 -#define SRST_H_JDEC 301 -#define SRST_A_JENC 302 -#define SRST_H_JENC 303 - -/* cru_softrst_con19 */ -#define SRST_A_VENC_NIU 304 -#define SRST_H_VENC_NIU 305 -#define SRST_A_RKVENC 307 -#define SRST_H_RKVENC 308 -#define SRST_RKVENC_CORE 309 - -/* cru_softrst_con20 */ -#define SRST_A_RKVDEC_NIU 320 -#define SRST_H_RKVDEC_NIU 321 -#define SRST_A_RKVDEC 322 -#define SRST_H_RKVDEC 323 -#define SRST_RKVDEC_CA 324 -#define SRST_RKVDEC_CORE 325 -#define SRST_RKVDEC_HEVC_CA 326 - -/* cru_softrst_con21 */ -#define SRST_A_BUS_NIU 336 -#define SRST_P_BUS_NIU 338 -#define SRST_P_CAN0 340 -#define SRST_CAN0 341 -#define SRST_P_CAN1 342 -#define SRST_CAN1 343 -#define SRST_P_CAN2 344 -#define SRST_CAN2 345 -#define SRST_P_GPIO1 346 -#define SRST_GPIO1 347 -#define SRST_P_GPIO2 348 -#define SRST_GPIO2 349 -#define SRST_P_GPIO3 350 -#define SRST_GPIO3 351 - -/* cru_softrst_con22 */ -#define SRST_P_GPIO4 352 -#define SRST_GPIO4 353 -#define SRST_P_I2C1 354 -#define SRST_I2C1 355 -#define SRST_P_I2C2 356 -#define SRST_I2C2 357 -#define SRST_P_I2C3 358 -#define SRST_I2C3 359 -#define SRST_P_I2C4 360 -#define SRST_I2C4 361 -#define SRST_P_I2C5 362 -#define SRST_I2C5 363 -#define SRST_P_OTPC_NS 364 -#define SRST_OTPC_NS_SBPI 365 -#define SRST_OTPC_NS_USR 366 - -/* cru_softrst_con23 */ -#define SRST_P_PWM1 368 -#define SRST_PWM1 369 -#define SRST_P_PWM2 370 -#define SRST_PWM2 371 -#define SRST_P_PWM3 372 -#define SRST_PWM3 373 -#define SRST_P_SPI0 374 -#define SRST_SPI0 375 -#define SRST_P_SPI1 376 -#define SRST_SPI1 377 -#define SRST_P_SPI2 378 -#define SRST_SPI2 379 -#define SRST_P_SPI3 380 -#define SRST_SPI3 381 - -/* cru_softrst_con24 */ -#define SRST_P_SARADC 384 -#define SRST_P_TSADC 385 -#define SRST_TSADC 386 -#define SRST_P_TIMER 387 -#define SRST_TIMER0 388 -#define SRST_TIMER1 389 -#define SRST_TIMER2 390 -#define SRST_TIMER3 391 -#define SRST_TIMER4 392 -#define SRST_TIMER5 393 -#define SRST_P_UART1 394 -#define SRST_S_UART1 395 - -/* cru_softrst_con25 */ -#define SRST_P_UART2 400 -#define SRST_S_UART2 401 -#define SRST_P_UART3 402 -#define SRST_S_UART3 403 -#define SRST_P_UART4 404 -#define SRST_S_UART4 405 -#define SRST_P_UART5 406 -#define SRST_S_UART5 407 -#define SRST_P_UART6 408 -#define SRST_S_UART6 409 -#define SRST_P_UART7 410 -#define SRST_S_UART7 411 -#define SRST_P_UART8 412 -#define SRST_S_UART8 413 -#define SRST_P_UART9 414 -#define SRST_S_UART9 415 - -/* cru_softrst_con26 */ -#define SRST_P_GRF 416 -#define SRST_P_GRF_VCCIO12 417 -#define SRST_P_GRF_VCCIO34 418 -#define SRST_P_GRF_VCCIO567 419 -#define SRST_P_SCR 420 -#define SRST_P_WDT_NS 421 -#define SRST_T_WDT_NS 422 -#define SRST_P_DFT2APB 423 -#define SRST_A_MCU 426 -#define SRST_P_INTMUX 427 -#define SRST_P_MAILBOX 428 - -/* cru_softrst_con27 */ -#define SRST_A_TOP_HIGH_NIU 432 -#define SRST_A_TOP_LOW_NIU 433 -#define SRST_H_TOP_NIU 434 -#define SRST_P_TOP_NIU 435 -#define SRST_P_TOP_CRU 438 -#define SRST_P_DDRPHY 439 -#define SRST_DDRPHY 440 -#define SRST_P_MIPICSIPHY 442 -#define SRST_P_MIPIDSIPHY0 443 -#define SRST_P_MIPIDSIPHY1 444 -#define SRST_P_PCIE30PHY 445 -#define SRST_PCIE30PHY 446 -#define SRST_P_PCIE30PHY_GRF 447 - -/* cru_softrst_con28 */ -#define SRST_P_APB2ASB_LEFT 448 -#define SRST_P_APB2ASB_BOTTOM 449 -#define SRST_P_ASB2APB_LEFT 450 -#define SRST_P_ASB2APB_BOTTOM 451 -#define SRST_P_PIPEPHY0 452 -#define SRST_PIPEPHY0 453 -#define SRST_P_PIPEPHY1 454 -#define SRST_PIPEPHY1 455 -#define SRST_P_PIPEPHY2 456 -#define SRST_PIPEPHY2 457 -#define SRST_P_USB2PHY0_GRF 458 -#define SRST_P_USB2PHY1_GRF 459 -#define SRST_P_CPU_BOOST 460 -#define SRST_CPU_BOOST 461 -#define SRST_P_OTPPHY 462 -#define SRST_OTPPHY 463 - -/* cru_softrst_con29 */ -#define SRST_USB2PHY0_POR 464 -#define SRST_USB2PHY0_USB3OTG0 465 -#define SRST_USB2PHY0_USB3OTG1 466 -#define SRST_USB2PHY1_POR 467 -#define SRST_USB2PHY1_USB2HOST0 468 -#define SRST_USB2PHY1_USB2HOST1 469 -#define SRST_P_EDPPHY_GRF 470 -#define SRST_TSADCPHY 471 -#define SRST_GMAC0_DELAYLINE 472 -#define SRST_GMAC1_DELAYLINE 473 -#define SRST_OTPC_ARB 474 -#define SRST_P_PIPEPHY0_GRF 475 -#define SRST_P_PIPEPHY1_GRF 476 -#define SRST_P_PIPEPHY2_GRF 477 - -#endif /* __DT_BINDINGS_CLK_ROCKCHIP_RK3568_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/rk3588-cru.h b/bsp/rockchip/rk3566/driver/clk/rk3588-cru.h deleted file mode 100644 index 1982073979d..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/rk3588-cru.h +++ /dev/null @@ -1,1497 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef __DT_BINDINGS_CLK_ROCKCHIP_RK3588_H__ -#define __DT_BINDINGS_CLK_ROCKCHIP_RK3588_H__ - -/* cru-clocks indices */ - -/* cru plls */ -#define PLL_B0PLL 1 -#define PLL_B1PLL 2 -#define PLL_LPLL 3 -#define PLL_V0PLL 4 -#define PLL_AUPLL 5 -#define PLL_CPLL 6 -#define PLL_GPLL 7 -#define PLL_NPLL 8 -#define PLL_PPLL 9 -#define ARMCLK_L 10 -#define ARMCLK_B01 11 -#define ARMCLK_B23 12 - -/* cru clocks */ -#define PCLK_BIGCORE0_ROOT 20 -#define PCLK_BIGCORE0_PVTM 21 -#define PCLK_BIGCORE1_ROOT 22 -#define PCLK_BIGCORE1_PVTM 23 -#define PCLK_DSU_S_ROOT 24 -#define PCLK_DSU_ROOT 25 -#define PCLK_DSU_NS_ROOT 26 -#define PCLK_LITCORE_PVTM 27 -#define PCLK_DBG 28 -#define PCLK_DSU 29 -#define PCLK_S_DAPLITE 30 -#define PCLK_M_DAPLITE 31 -#define MBIST_MCLK_PDM1 32 -#define MBIST_CLK_ACDCDIG 33 -#define HCLK_I2S2_2CH 34 -#define HCLK_I2S3_2CH 35 -#define CLK_I2S2_2CH_SRC 36 -#define CLK_I2S2_2CH_FRAC 37 -#define CLK_I2S2_2CH 38 -#define MCLK_I2S2_2CH 39 -#define I2S2_2CH_MCLKOUT 40 -#define CLK_DAC_ACDCDIG 41 -#define CLK_I2S3_2CH_SRC 42 -#define CLK_I2S3_2CH_FRAC 43 -#define CLK_I2S3_2CH 44 -#define MCLK_I2S3_2CH 45 -#define I2S3_2CH_MCLKOUT 46 -#define PCLK_ACDCDIG 47 -#define HCLK_I2S0_8CH 48 -#define CLK_I2S0_8CH_TX_SRC 49 -#define CLK_I2S0_8CH_TX_FRAC 50 -#define MCLK_I2S0_8CH_TX 51 -#define CLK_I2S0_8CH_TX 52 -#define CLK_I2S0_8CH_RX_SRC 53 -#define CLK_I2S0_8CH_RX_FRAC 54 -#define MCLK_I2S0_8CH_RX 55 -#define CLK_I2S0_8CH_RX 56 -#define I2S0_8CH_MCLKOUT 57 -#define HCLK_PDM1 58 -#define MCLK_PDM1 59 -#define HCLK_AUDIO_ROOT 60 -#define PCLK_AUDIO_ROOT 61 -#define HCLK_SPDIF0 62 -#define CLK_SPDIF0_SRC 63 -#define CLK_SPDIF0_FRAC 64 -#define MCLK_SPDIF0 65 -#define CLK_SPDIF0 66 -#define CLK_SPDIF1 67 -#define HCLK_SPDIF1 68 -#define CLK_SPDIF1_SRC 69 -#define CLK_SPDIF1_FRAC 70 -#define MCLK_SPDIF1 71 -#define ACLK_AV1_ROOT 72 -#define ACLK_AV1 73 -#define PCLK_AV1_ROOT 74 -#define PCLK_AV1 75 -#define PCLK_MAILBOX0 76 -#define PCLK_MAILBOX1 77 -#define PCLK_MAILBOX2 78 -#define PCLK_PMU2 79 -#define PCLK_PMUCM0_INTMUX 80 -#define PCLK_DDRCM0_INTMUX 81 -#define PCLK_TOP 82 -#define PCLK_PWM1 83 -#define CLK_PWM1 84 -#define CLK_PWM1_CAPTURE 85 -#define PCLK_PWM2 86 -#define CLK_PWM2 87 -#define CLK_PWM2_CAPTURE 88 -#define PCLK_PWM3 89 -#define CLK_PWM3 90 -#define CLK_PWM3_CAPTURE 91 -#define PCLK_BUSTIMER0 92 -#define PCLK_BUSTIMER1 93 -#define CLK_BUS_TIMER_ROOT 94 -#define CLK_BUSTIMER0 95 -#define CLK_BUSTIMER1 96 -#define CLK_BUSTIMER2 97 -#define CLK_BUSTIMER3 98 -#define CLK_BUSTIMER4 99 -#define CLK_BUSTIMER5 100 -#define CLK_BUSTIMER6 101 -#define CLK_BUSTIMER7 102 -#define CLK_BUSTIMER8 103 -#define CLK_BUSTIMER9 104 -#define CLK_BUSTIMER10 105 -#define CLK_BUSTIMER11 106 -#define PCLK_WDT0 107 -#define TCLK_WDT0 108 -#define PCLK_CAN0 111 -#define CLK_CAN0 112 -#define PCLK_CAN1 113 -#define CLK_CAN1 114 -#define PCLK_CAN2 115 -#define CLK_CAN2 116 -#define ACLK_DECOM 117 -#define PCLK_DECOM 118 -#define DCLK_DECOM 119 -#define ACLK_DMAC0 120 -#define ACLK_DMAC1 121 -#define ACLK_DMAC2 122 -#define ACLK_BUS_ROOT 123 -#define ACLK_GIC 124 -#define PCLK_GPIO1 125 -#define DBCLK_GPIO1 126 -#define PCLK_GPIO2 127 -#define DBCLK_GPIO2 128 -#define PCLK_GPIO3 129 -#define DBCLK_GPIO3 130 -#define PCLK_GPIO4 131 -#define DBCLK_GPIO4 132 -#define PCLK_I2C1 133 -#define PCLK_I2C2 134 -#define PCLK_I2C3 135 -#define PCLK_I2C4 136 -#define PCLK_I2C5 137 -#define PCLK_I2C6 138 -#define PCLK_I2C7 139 -#define PCLK_I2C8 140 -#define CLK_I2C1 141 -#define CLK_I2C2 142 -#define CLK_I2C3 143 -#define CLK_I2C4 144 -#define CLK_I2C5 145 -#define CLK_I2C6 146 -#define CLK_I2C7 147 -#define CLK_I2C8 148 -#define PCLK_OTPC_NS 149 -#define CLK_OTPC_NS 150 -#define CLK_OTPC_ARB 151 -#define CLK_OTPC_AUTO_RD_G 152 -#define CLK_OTP_PHY_G 153 -#define PCLK_SARADC 156 -#define CLK_SARADC 157 -#define PCLK_SPI0 158 -#define PCLK_SPI1 159 -#define PCLK_SPI2 160 -#define PCLK_SPI3 161 -#define PCLK_SPI4 162 -#define CLK_SPI0 163 -#define CLK_SPI1 164 -#define CLK_SPI2 165 -#define CLK_SPI3 166 -#define CLK_SPI4 167 -#define ACLK_SPINLOCK 168 -#define PCLK_TSADC 169 -#define CLK_TSADC 170 -#define PCLK_UART1 171 -#define PCLK_UART2 172 -#define PCLK_UART3 173 -#define PCLK_UART4 174 -#define PCLK_UART5 175 -#define PCLK_UART6 176 -#define PCLK_UART7 177 -#define PCLK_UART8 178 -#define PCLK_UART9 179 -#define CLK_UART1_SRC 180 -#define CLK_UART1_FRAC 181 -#define CLK_UART1 182 -#define SCLK_UART1 183 -#define CLK_UART2_SRC 184 -#define CLK_UART2_FRAC 185 -#define CLK_UART2 186 -#define SCLK_UART2 187 -#define CLK_UART3_SRC 188 -#define CLK_UART3_FRAC 189 -#define CLK_UART3 190 -#define SCLK_UART3 191 -#define CLK_UART4_SRC 192 -#define CLK_UART4_FRAC 193 -#define CLK_UART4 194 -#define SCLK_UART4 195 -#define CLK_UART5_SRC 196 -#define CLK_UART5_FRAC 197 -#define CLK_UART5 198 -#define SCLK_UART5 199 -#define CLK_UART6_SRC 200 -#define CLK_UART6_FRAC 201 -#define CLK_UART6 202 -#define SCLK_UART6 203 -#define CLK_UART7_SRC 204 -#define CLK_UART7_FRAC 205 -#define CLK_UART7 206 -#define SCLK_UART7 207 -#define CLK_UART8_SRC 208 -#define CLK_UART8_FRAC 209 -#define CLK_UART8 210 -#define SCLK_UART8 211 -#define CLK_UART9_SRC 212 -#define CLK_UART9_FRAC 213 -#define CLK_UART9 214 -#define SCLK_UART9 215 -#define ACLK_CENTER_ROOT 216 -#define ACLK_CENTER_LOW_ROOT 217 -#define HCLK_CENTER_ROOT 218 -#define PCLK_CENTER_ROOT 219 -#define ACLK_DMA2DDR 220 -#define ACLK_DDR_SHAREMEM 221 -#define ACLK_CENTER_S200_ROOT 222 -#define ACLK_CENTER_S400_ROOT 223 -#define FCLK_DDR_CM0_CORE 224 -#define CLK_DDR_TIMER_ROOT 225 -#define CLK_DDR_TIMER0 226 -#define CLK_DDR_TIMER1 227 -#define TCLK_WDT_DDR 228 -#define CLK_DDR_CM0_RTC 228 -#define PCLK_WDT 230 -#define PCLK_TIMER 231 -#define PCLK_DMA2DDR 232 -#define PCLK_SHAREMEM 233 -#define CLK_50M_SRC 234 -#define CLK_100M_SRC 235 -#define CLK_150M_SRC 236 -#define CLK_200M_SRC 237 -#define CLK_250M_SRC 238 -#define CLK_300M_SRC 239 -#define CLK_350M_SRC 240 -#define CLK_400M_SRC 241 -#define CLK_450M_SRC 242 -#define CLK_500M_SRC 243 -#define CLK_600M_SRC 244 -#define CLK_650M_SRC 245 -#define CLK_700M_SRC 246 -#define CLK_800M_SRC 247 -#define CLK_1000M_SRC 248 -#define CLK_1200M_SRC 249 -#define ACLK_TOP_M300_ROOT 250 -#define ACLK_TOP_M500_ROOT 251 -#define ACLK_TOP_M400_ROOT 252 -#define ACLK_TOP_S200_ROOT 253 -#define ACLK_TOP_S400_ROOT 254 -#define CLK_MIPI_CAMARAOUT_M0 255 -#define CLK_MIPI_CAMARAOUT_M1 256 -#define CLK_MIPI_CAMARAOUT_M2 257 -#define CLK_MIPI_CAMARAOUT_M3 258 -#define CLK_MIPI_CAMARAOUT_M4 259 -#define MCLK_GMAC0_OUT 260 -#define REFCLKO25M_ETH0_OUT 261 -#define REFCLKO25M_ETH1_OUT 262 -#define CLK_CIFOUT_OUT 263 -#define PCLK_MIPI_DCPHY0 264 -#define PCLK_MIPI_DCPHY1 265 -#define PCLK_CSIPHY0 268 -#define PCLK_CSIPHY1 269 -#define ACLK_TOP_ROOT 270 -#define PCLK_TOP_ROOT 271 -#define ACLK_LOW_TOP_ROOT 272 -#define PCLK_CRU 273 -#define PCLK_GPU_ROOT 274 -#define CLK_GPU_SRC 275 -#define CLK_GPU 276 -#define CLK_GPU_COREGROUP 277 -#define CLK_GPU_STACKS 278 -#define PCLK_GPU_PVTM 279 -#define CLK_GPU_PVTM 280 -#define CLK_CORE_GPU_PVTM 281 -#define PCLK_GPU_GRF 282 -#define ACLK_ISP1_ROOT 283 -#define HCLK_ISP1_ROOT 284 -#define CLK_ISP1_CORE 285 -#define CLK_ISP1_CORE_MARVIN 286 -#define CLK_ISP1_CORE_VICAP 287 -#define ACLK_ISP1 288 -#define HCLK_ISP1 289 -#define ACLK_NPU1 290 -#define HCLK_NPU1 291 -#define ACLK_NPU2 292 -#define HCLK_NPU2 293 -#define HCLK_NPU_CM0_ROOT 294 -#define FCLK_NPU_CM0_CORE 295 -#define CLK_NPU_CM0_RTC 296 -#define PCLK_NPU_PVTM 297 -#define PCLK_NPU_GRF 298 -#define CLK_NPU_PVTM 299 -#define CLK_CORE_NPU_PVTM 300 -#define ACLK_NPU0 301 -#define HCLK_NPU0 302 -#define HCLK_NPU_ROOT 303 -#define CLK_NPU_DSU0 304 -#define PCLK_NPU_ROOT 305 -#define PCLK_NPU_TIMER 306 -#define CLK_NPUTIMER_ROOT 307 -#define CLK_NPUTIMER0 308 -#define CLK_NPUTIMER1 309 -#define PCLK_NPU_WDT 310 -#define TCLK_NPU_WDT 311 -#define HCLK_EMMC 312 -#define ACLK_EMMC 313 -#define CCLK_EMMC 314 -#define BCLK_EMMC 315 -#define TMCLK_EMMC 316 -#define SCLK_SFC 317 -#define HCLK_SFC 318 -#define HCLK_SFC_XIP 319 -#define HCLK_NVM_ROOT 320 -#define ACLK_NVM_ROOT 321 -#define CLK_GMAC0_PTP_REF 322 -#define CLK_GMAC1_PTP_REF 323 -#define CLK_GMAC_125M 324 -#define CLK_GMAC_50M 325 -#define ACLK_PHP_GIC_ITS 326 -#define ACLK_MMU_PCIE 327 -#define ACLK_MMU_PHP 328 -#define ACLK_PCIE_4L_DBI 329 -#define ACLK_PCIE_2L_DBI 330 -#define ACLK_PCIE_1L0_DBI 331 -#define ACLK_PCIE_1L1_DBI 332 -#define ACLK_PCIE_1L2_DBI 333 -#define ACLK_PCIE_4L_MSTR 334 -#define ACLK_PCIE_2L_MSTR 335 -#define ACLK_PCIE_1L0_MSTR 336 -#define ACLK_PCIE_1L1_MSTR 337 -#define ACLK_PCIE_1L2_MSTR 338 -#define ACLK_PCIE_4L_SLV 339 -#define ACLK_PCIE_2L_SLV 340 -#define ACLK_PCIE_1L0_SLV 341 -#define ACLK_PCIE_1L1_SLV 342 -#define ACLK_PCIE_1L2_SLV 343 -#define PCLK_PCIE_4L 344 -#define PCLK_PCIE_2L 345 -#define PCLK_PCIE_1L0 347 -#define PCLK_PCIE_1L1 348 -#define PCLK_PCIE_1L2 349 -#define CLK_PCIE_AUX0 350 -#define CLK_PCIE_AUX1 351 -#define CLK_PCIE_AUX2 352 -#define CLK_PCIE_AUX3 353 -#define CLK_PCIE_AUX4 354 -#define CLK_PIPEPHY0_REF 355 -#define CLK_PIPEPHY1_REF 356 -#define CLK_PIPEPHY2_REF 357 -#define PCLK_PHP_ROOT 358 -#define PCLK_GMAC0 359 -#define PCLK_GMAC1 360 -#define ACLK_PCIE_ROOT 361 -#define ACLK_PHP_ROOT 362 -#define ACLK_PCIE_BRIDGE 363 -#define ACLK_GMAC0 364 -#define ACLK_GMAC1 365 -#define CLK_PMALIVE0 366 -#define CLK_PMALIVE1 367 -#define CLK_PMALIVE2 368 -#define ACLK_SATA0 369 -#define ACLK_SATA1 370 -#define ACLK_SATA2 371 -#define CLK_RXOOB0 372 -#define CLK_RXOOB1 373 -#define CLK_RXOOB2 374 -#define ACLK_USB3OTG2 375 -#define SUSPEND_CLK_USB3OTG2 376 -#define REF_CLK_USB3OTG2 377 -#define CLK_UTMI_OTG2 378 -#define CLK_PIPEPHY0_PIPE_G 379 -#define CLK_PIPEPHY1_PIPE_G 380 -#define CLK_PIPEPHY2_PIPE_G 381 -#define CLK_PIPEPHY0_PIPE_ASIC_G 382 -#define CLK_PIPEPHY1_PIPE_ASIC_G 383 -#define CLK_PIPEPHY2_PIPE_ASIC_G 384 -#define CLK_PIPEPHY2_PIPE_U3_G 385 -#define CLK_PCIE1L2_PIPE 386 -#define CLK_PCIE4L_PIPE 387 -#define CLK_PCIE2L_PIPE 388 -#define PCLK_PCIE_COMBO_PIPE_PHY0 389 -#define PCLK_PCIE_COMBO_PIPE_PHY1 390 -#define PCLK_PCIE_COMBO_PIPE_PHY2 391 -#define PCLK_PCIE_COMBO_PIPE_PHY 392 -#define HCLK_RGA3_1 393 -#define ACLK_RGA3_1 394 -#define CLK_RGA3_1_CORE 395 -#define ACLK_RGA3_ROOT 396 -#define HCLK_RGA3_ROOT 397 -#define ACLK_RKVDEC_CCU 398 -#define HCLK_RKVDEC0 399 -#define ACLK_RKVDEC0 400 -#define CLK_RKVDEC0_CA 401 -#define CLK_RKVDEC0_HEVC_CA 402 -#define CLK_RKVDEC0_CORE 403 -#define HCLK_RKVDEC1 404 -#define ACLK_RKVDEC1 405 -#define CLK_RKVDEC1_CA 406 -#define CLK_RKVDEC1_HEVC_CA 407 -#define CLK_RKVDEC1_CORE 408 -#define HCLK_SDIO 409 -#define CCLK_SRC_SDIO 410 -#define ACLK_USB_ROOT 411 -#define HCLK_USB_ROOT 412 -#define HCLK_HOST0 413 -#define HCLK_HOST_ARB0 414 -#define HCLK_HOST1 415 -#define HCLK_HOST_ARB1 416 -#define ACLK_USB3OTG0 417 -#define SUSPEND_CLK_USB3OTG0 418 -#define REF_CLK_USB3OTG0 419 -#define ACLK_USB3OTG1 420 -#define SUSPEND_CLK_USB3OTG1 421 -#define REF_CLK_USB3OTG1 422 -#define UTMI_OHCI_CLK48_HOST0 423 -#define UTMI_OHCI_CLK48_HOST1 424 -#define HCLK_IEP2P0 425 -#define ACLK_IEP2P0 426 -#define CLK_IEP2P0_CORE 427 -#define ACLK_JPEG_ENCODER0 428 -#define HCLK_JPEG_ENCODER0 429 -#define ACLK_JPEG_ENCODER1 430 -#define HCLK_JPEG_ENCODER1 431 -#define ACLK_JPEG_ENCODER2 432 -#define HCLK_JPEG_ENCODER2 433 -#define ACLK_JPEG_ENCODER3 434 -#define HCLK_JPEG_ENCODER3 435 -#define ACLK_JPEG_DECODER 436 -#define HCLK_JPEG_DECODER 437 -#define HCLK_RGA2 438 -#define ACLK_RGA2 439 -#define CLK_RGA2_CORE 440 -#define HCLK_RGA3_0 441 -#define ACLK_RGA3_0 442 -#define CLK_RGA3_0_CORE 443 -#define ACLK_VDPU_ROOT 444 -#define ACLK_VDPU_LOW_ROOT 445 -#define HCLK_VDPU_ROOT 446 -#define ACLK_JPEG_DECODER_ROOT 447 -#define ACLK_VPU 448 -#define HCLK_VPU 449 -#define HCLK_RKVENC0_ROOT 450 -#define ACLK_RKVENC0_ROOT 451 -#define HCLK_RKVENC0 452 -#define ACLK_RKVENC0 453 -#define CLK_RKVENC0_CORE 454 -#define HCLK_RKVENC1_ROOT 455 -#define ACLK_RKVENC1_ROOT 456 -#define HCLK_RKVENC1 457 -#define ACLK_RKVENC1 458 -#define CLK_RKVENC1_CORE 459 -#define ICLK_CSIHOST01 460 -#define ICLK_CSIHOST0 461 -#define ICLK_CSIHOST1 462 -#define PCLK_CSI_HOST_0 463 -#define PCLK_CSI_HOST_1 464 -#define PCLK_CSI_HOST_2 465 -#define PCLK_CSI_HOST_3 466 -#define PCLK_CSI_HOST_4 467 -#define PCLK_CSI_HOST_5 468 -#define ACLK_FISHEYE0 469 -#define HCLK_FISHEYE0 470 -#define CLK_FISHEYE0_CORE 471 -#define ACLK_FISHEYE1 472 -#define HCLK_FISHEYE1 473 -#define CLK_FISHEYE1_CORE 474 -#define CLK_ISP0_CORE 475 -#define CLK_ISP0_CORE_MARVIN 476 -#define CLK_ISP0_CORE_VICAP 477 -#define ACLK_ISP0 478 -#define HCLK_ISP0 479 -#define ACLK_VI_ROOT 480 -#define HCLK_VI_ROOT 481 -#define PCLK_VI_ROOT 482 -#define DCLK_VICAP 483 -#define ACLK_VICAP 484 -#define HCLK_VICAP 485 -#define PCLK_DP0 486 -#define PCLK_DP1 487 -#define PCLK_S_DP0 488 -#define PCLK_S_DP1 489 -#define CLK_DP0 490 -#define CLK_DP1 491 -#define HCLK_HDCP_KEY0 492 -#define ACLK_HDCP0 493 -#define HCLK_HDCP0 494 -#define PCLK_HDCP0 495 -#define HCLK_I2S4_8CH 496 -#define ACLK_TRNG0 497 -#define PCLK_TRNG0 498 -#define ACLK_VO0_ROOT 499 -#define HCLK_VO0_ROOT 500 -#define HCLK_VO0_S_ROOT 501 -#define PCLK_VO0_ROOT 502 -#define PCLK_VO0_S_ROOT 503 -#define PCLK_VO0GRF 504 -#define CLK_I2S4_8CH_TX_SRC 505 -#define CLK_I2S4_8CH_TX_FRAC 506 -#define MCLK_I2S4_8CH_TX 507 -#define CLK_I2S4_8CH_TX 508 -#define HCLK_I2S8_8CH 510 -#define CLK_I2S8_8CH_TX_SRC 511 -#define CLK_I2S8_8CH_TX_FRAC 512 -#define MCLK_I2S8_8CH_TX 513 -#define CLK_I2S8_8CH_TX 514 -#define HCLK_SPDIF2_DP0 516 -#define CLK_SPDIF2_DP0_SRC 517 -#define CLK_SPDIF2_DP0_FRAC 518 -#define MCLK_SPDIF2_DP0 519 -#define CLK_SPDIF2_DP0 520 -#define MCLK_SPDIF2 521 -#define HCLK_SPDIF5_DP1 522 -#define CLK_SPDIF5_DP1_SRC 523 -#define CLK_SPDIF5_DP1_FRAC 524 -#define MCLK_SPDIF5_DP1 525 -#define CLK_SPDIF5_DP1 526 -#define MCLK_SPDIF5 527 -#define PCLK_EDP0 528 -#define CLK_EDP0_24M 529 -#define CLK_EDP0_200M 530 -#define PCLK_EDP1 531 -#define CLK_EDP1_24M 532 -#define CLK_EDP1_200M 533 -#define HCLK_HDCP_KEY1 534 -#define ACLK_HDCP1 535 -#define HCLK_HDCP1 536 -#define PCLK_HDCP1 537 -#define ACLK_HDMIRX 538 -#define PCLK_HDMIRX 539 -#define CLK_HDMIRX_REF 540 -#define CLK_HDMIRX_AUD_SRC 541 -#define CLK_HDMIRX_AUD_FRAC 542 -#define CLK_HDMIRX_AUD 543 -#define CLK_HDMIRX_AUD_P_MUX 544 -#define PCLK_HDMITX0 545 -#define CLK_HDMITX0_EARC 546 -#define CLK_HDMITX0_REF 547 -#define PCLK_HDMITX1 548 -#define CLK_HDMITX1_EARC 549 -#define CLK_HDMITX1_REF 550 -#define CLK_HDMITRX_REFSRC 551 -#define ACLK_TRNG1 552 -#define PCLK_TRNG1 553 -#define ACLK_HDCP1_ROOT 554 -#define ACLK_HDMIRX_ROOT 555 -#define HCLK_VO1_ROOT 556 -#define HCLK_VO1_S_ROOT 557 -#define PCLK_VO1_ROOT 558 -#define PCLK_VO1_S_ROOT 559 -#define PCLK_S_EDP0 560 -#define PCLK_S_EDP1 561 -#define PCLK_S_HDMIRX 562 -#define HCLK_I2S10_8CH 563 -#define CLK_I2S10_8CH_RX_SRC 564 -#define CLK_I2S10_8CH_RX_FRAC 565 -#define CLK_I2S10_8CH_RX 566 -#define MCLK_I2S10_8CH_RX 567 -#define HCLK_I2S7_8CH 568 -#define CLK_I2S7_8CH_RX_SRC 569 -#define CLK_I2S7_8CH_RX_FRAC 570 -#define CLK_I2S7_8CH_RX 571 -#define MCLK_I2S7_8CH_RX 572 -#define HCLK_I2S9_8CH 574 -#define CLK_I2S9_8CH_RX_SRC 575 -#define CLK_I2S9_8CH_RX_FRAC 576 -#define CLK_I2S9_8CH_RX 577 -#define MCLK_I2S9_8CH_RX 578 -#define CLK_I2S5_8CH_TX_SRC 579 -#define CLK_I2S5_8CH_TX_FRAC 580 -#define CLK_I2S5_8CH_TX 581 -#define MCLK_I2S5_8CH_TX 582 -#define HCLK_I2S5_8CH 584 -#define CLK_I2S6_8CH_TX_SRC 585 -#define CLK_I2S6_8CH_TX_FRAC 586 -#define CLK_I2S6_8CH_TX 587 -#define MCLK_I2S6_8CH_TX 588 -#define CLK_I2S6_8CH_RX_SRC 589 -#define CLK_I2S6_8CH_RX_FRAC 590 -#define CLK_I2S6_8CH_RX 591 -#define MCLK_I2S6_8CH_RX 592 -#define I2S6_8CH_MCLKOUT 593 -#define HCLK_I2S6_8CH 594 -#define HCLK_SPDIF3 595 -#define CLK_SPDIF3_SRC 596 -#define CLK_SPDIF3_FRAC 597 -#define CLK_SPDIF3 598 -#define MCLK_SPDIF3 599 -#define HCLK_SPDIF4 600 -#define CLK_SPDIF4_SRC 601 -#define CLK_SPDIF4_FRAC 602 -#define CLK_SPDIF4 603 -#define MCLK_SPDIF4 604 -#define HCLK_SPDIFRX0 605 -#define MCLK_SPDIFRX0 606 -#define HCLK_SPDIFRX1 607 -#define MCLK_SPDIFRX1 608 -#define HCLK_SPDIFRX2 609 -#define MCLK_SPDIFRX2 610 -#define ACLK_VO1USB_TOP_ROOT 611 -#define HCLK_VO1USB_TOP_ROOT 612 -#define CLK_HDMIHDP0 613 -#define CLK_HDMIHDP1 614 -#define PCLK_HDPTX0 615 -#define PCLK_HDPTX1 616 -#define PCLK_USBDPPHY0 617 -#define PCLK_USBDPPHY1 618 -#define ACLK_VOP_ROOT 619 -#define ACLK_VOP_LOW_ROOT 620 -#define HCLK_VOP_ROOT 621 -#define PCLK_VOP_ROOT 622 -#define HCLK_VOP 623 -#define ACLK_VOP 624 -#define DCLK_VOP0_SRC 625 -#define DCLK_VOP1_SRC 626 -#define DCLK_VOP2_SRC 627 -#define DCLK_VOP0 628 -#define DCLK_VOP1 629 -#define DCLK_VOP2 630 -#define DCLK_VOP3 631 -#define PCLK_DSIHOST0 632 -#define PCLK_DSIHOST1 633 -#define CLK_DSIHOST0 634 -#define CLK_DSIHOST1 635 -#define CLK_VOP_PMU 636 -#define ACLK_VOP_DOBY 637 -#define ACLK_VOP_SUB_SRC 638 -#define CLK_USBDP_PHY0_IMMORTAL 639 -#define CLK_USBDP_PHY1_IMMORTAL 640 -#define CLK_PMU0 641 -#define PCLK_PMU0 642 -#define PCLK_PMU0IOC 643 -#define PCLK_GPIO0 644 -#define DBCLK_GPIO0 645 -#define PCLK_I2C0 646 -#define CLK_I2C0 647 -#define HCLK_I2S1_8CH 648 -#define CLK_I2S1_8CH_TX_SRC 649 -#define CLK_I2S1_8CH_TX_FRAC 650 -#define CLK_I2S1_8CH_TX 651 -#define MCLK_I2S1_8CH_TX 652 -#define CLK_I2S1_8CH_RX_SRC 653 -#define CLK_I2S1_8CH_RX_FRAC 654 -#define CLK_I2S1_8CH_RX 655 -#define MCLK_I2S1_8CH_RX 656 -#define I2S1_8CH_MCLKOUT 657 -#define CLK_PMU1_50M_SRC 658 -#define CLK_PMU1_100M_SRC 659 -#define CLK_PMU1_200M_SRC 660 -#define CLK_PMU1_300M_SRC 661 -#define CLK_PMU1_400M_SRC 662 -#define HCLK_PMU1_ROOT 663 -#define PCLK_PMU1_ROOT 664 -#define PCLK_PMU0_ROOT 665 -#define HCLK_PMU_CM0_ROOT 666 -#define PCLK_PMU1 667 -#define CLK_DDR_FAIL_SAFE 668 -#define CLK_PMU1 669 -#define HCLK_PDM0 670 -#define MCLK_PDM0 671 -#define HCLK_VAD 672 -#define FCLK_PMU_CM0_CORE 673 -#define CLK_PMU_CM0_RTC 674 -#define PCLK_PMU1_IOC 675 -#define PCLK_PMU1PWM 676 -#define CLK_PMU1PWM 677 -#define CLK_PMU1PWM_CAPTURE 678 -#define PCLK_PMU1TIMER 679 -#define CLK_PMU1TIMER_ROOT 680 -#define CLK_PMU1TIMER0 681 -#define CLK_PMU1TIMER1 682 -#define CLK_UART0_SRC 683 -#define CLK_UART0_FRAC 684 -#define CLK_UART0 685 -#define SCLK_UART0 686 -#define PCLK_UART0 687 -#define PCLK_PMU1WDT 688 -#define TCLK_PMU1WDT 689 -#define CLK_CR_PARA 690 -#define CLK_USB2PHY_HDPTXRXPHY_REF 693 -#define CLK_USBDPPHY_MIPIDCPPHY_REF 694 -#define CLK_REF_PIPE_PHY0_OSC_SRC 695 -#define CLK_REF_PIPE_PHY1_OSC_SRC 696 -#define CLK_REF_PIPE_PHY2_OSC_SRC 697 -#define CLK_REF_PIPE_PHY0_PLL_SRC 698 -#define CLK_REF_PIPE_PHY1_PLL_SRC 699 -#define CLK_REF_PIPE_PHY2_PLL_SRC 700 -#define CLK_REF_PIPE_PHY0 701 -#define CLK_REF_PIPE_PHY1 702 -#define CLK_REF_PIPE_PHY2 703 -#define SCLK_SDIO_DRV 704 -#define SCLK_SDIO_SAMPLE 705 -#define SCLK_SDMMC_DRV 706 -#define SCLK_SDMMC_SAMPLE 707 -#define CLK_PCIE1L0_PIPE 708 -#define CLK_PCIE1L1_PIPE 709 -#define CLK_BIGCORE0_PVTM 710 -#define CLK_CORE_BIGCORE0_PVTM 711 -#define CLK_BIGCORE1_PVTM 712 -#define CLK_CORE_BIGCORE1_PVTM 713 -#define CLK_LITCORE_PVTM 714 -#define CLK_CORE_LITCORE_PVTM 715 -#define CLK_AUX16M_0 716 -#define CLK_AUX16M_1 717 -#define CLK_PHY0_REF_ALT_P 718 -#define CLK_PHY0_REF_ALT_M 719 -#define CLK_PHY1_REF_ALT_P 720 -#define CLK_PHY1_REF_ALT_M 721 - -#define CLK_NR_CLKS (CLK_PHY1_REF_ALT_M + 1) - -/********Name=SOFTRST_CON01,Offset=0xA04********/ -#define SRST_A_TOP_BIU 19 -#define SRST_P_TOP_BIU 20 -#define SRST_P_CSIPHY0 22 -#define SRST_CSIPHY0 23 -#define SRST_P_CSIPHY1 24 -#define SRST_CSIPHY1 25 -#define SRST_A_TOP_M500_BIU 31 -/********Name=SOFTRST_CON02,Offset=0xA08********/ -#define SRST_A_TOP_M400_BIU 32 -#define SRST_A_TOP_S200_BIU 33 -#define SRST_A_TOP_S400_BIU 34 -#define SRST_A_TOP_M300_BIU 35 -#define SRST_USBDP_COMBO_PHY0_INIT 40 -#define SRST_USBDP_COMBO_PHY0_CMN 41 -#define SRST_USBDP_COMBO_PHY0_LANE 42 -#define SRST_USBDP_COMBO_PHY0_PCS 43 -#define SRST_USBDP_COMBO_PHY1_INIT 47 -/********Name=SOFTRST_CON03,Offset=0xA0C********/ -#define SRST_USBDP_COMBO_PHY1_CMN 48 -#define SRST_USBDP_COMBO_PHY1_LANE 49 -#define SRST_USBDP_COMBO_PHY1_PCS 50 -#define SRST_DCPHY0 59 -#define SRST_P_MIPI_DCPHY0 62 -#define SRST_P_MIPI_DCPHY0_GRF 63 -/********Name=SOFTRST_CON04,Offset=0xA10********/ -#define SRST_DCPHY1 64 -#define SRST_P_MIPI_DCPHY1 67 -#define SRST_P_MIPI_DCPHY1_GRF 68 -#define SRST_P_APB2ASB_SLV_CDPHY 69 -#define SRST_P_APB2ASB_SLV_CSIPHY 70 -#define SRST_P_APB2ASB_SLV_VCCIO3_5 71 -#define SRST_P_APB2ASB_SLV_VCCIO6 72 -#define SRST_P_APB2ASB_SLV_EMMCIO 73 -#define SRST_P_APB2ASB_SLV_IOC_TOP 74 -#define SRST_P_APB2ASB_SLV_IOC_RIGHT 75 -/********Name=SOFTRST_CON05,Offset=0xA14********/ -#define SRST_P_CRU 80 -#define SRST_A_CHANNEL_SECURE2VO1USB 87 -#define SRST_A_CHANNEL_SECURE2CENTER 88 -#define SRST_H_CHANNEL_SECURE2VO1USB 94 -#define SRST_H_CHANNEL_SECURE2CENTER 95 -/********Name=SOFTRST_CON06,Offset=0xA18********/ -#define SRST_P_CHANNEL_SECURE2VO1USB 96 -#define SRST_P_CHANNEL_SECURE2CENTER 97 -/********Name=SOFTRST_CON07,Offset=0xA1C********/ -#define SRST_H_AUDIO_BIU 114 -#define SRST_P_AUDIO_BIU 115 -#define SRST_H_I2S0_8CH 116 -#define SRST_M_I2S0_8CH_TX 119 -#define SRST_M_I2S0_8CH_RX 122 -#define SRST_P_ACDCDIG 123 -#define SRST_H_I2S2_2CH 124 -#define SRST_H_I2S3_2CH 125 -/********Name=SOFTRST_CON08,Offset=0xA20********/ -#define SRST_M_I2S2_2CH 128 -#define SRST_M_I2S3_2CH 131 -#define SRST_DAC_ACDCDIG 132 -#define SRST_H_SPDIF0 142 -/********Name=SOFTRST_CON09,Offset=0xA24********/ -#define SRST_M_SPDIF0 145 -#define SRST_H_SPDIF1 146 -#define SRST_M_SPDIF1 149 -#define SRST_H_PDM1 150 -#define SRST_PDM1 151 -/********Name=SOFTRST_CON10,Offset=0xA28********/ -#define SRST_A_BUS_BIU 161 -#define SRST_P_BUS_BIU 162 -#define SRST_A_GIC 163 -#define SRST_A_GIC_DBG 164 -#define SRST_A_DMAC0 165 -#define SRST_A_DMAC1 166 -#define SRST_A_DMAC2 167 -#define SRST_P_I2C1 168 -#define SRST_P_I2C2 169 -#define SRST_P_I2C3 170 -#define SRST_P_I2C4 171 -#define SRST_P_I2C5 172 -#define SRST_P_I2C6 173 -#define SRST_P_I2C7 174 -#define SRST_P_I2C8 175 -/********Name=SOFTRST_CON11,Offset=0xA2C********/ -#define SRST_I2C1 176 -#define SRST_I2C2 177 -#define SRST_I2C3 178 -#define SRST_I2C4 179 -#define SRST_I2C5 180 -#define SRST_I2C6 181 -#define SRST_I2C7 182 -#define SRST_I2C8 183 -#define SRST_P_CAN0 184 -#define SRST_CAN0 185 -#define SRST_P_CAN1 186 -#define SRST_CAN1 187 -#define SRST_P_CAN2 188 -#define SRST_CAN2 189 -#define SRST_P_SARADC 190 -/********Name=SOFTRST_CON12,Offset=0xA30********/ -#define SRST_P_TSADC 192 -#define SRST_TSADC 193 -#define SRST_P_UART1 194 -#define SRST_P_UART2 195 -#define SRST_P_UART3 196 -#define SRST_P_UART4 197 -#define SRST_P_UART5 198 -#define SRST_P_UART6 199 -#define SRST_P_UART7 200 -#define SRST_P_UART8 201 -#define SRST_P_UART9 202 -#define SRST_S_UART1 205 -/********Name=SOFTRST_CON13,Offset=0xA34********/ -#define SRST_S_UART2 208 -#define SRST_S_UART3 211 -#define SRST_S_UART4 214 -#define SRST_S_UART5 217 -#define SRST_S_UART6 220 -#define SRST_S_UART7 223 -/********Name=SOFTRST_CON14,Offset=0xA38********/ -#define SRST_S_UART8 226 -#define SRST_S_UART9 229 -#define SRST_P_SPI0 230 -#define SRST_P_SPI1 231 -#define SRST_P_SPI2 232 -#define SRST_P_SPI3 233 -#define SRST_P_SPI4 234 -#define SRST_SPI0 235 -#define SRST_SPI1 236 -#define SRST_SPI2 237 -#define SRST_SPI3 238 -#define SRST_SPI4 239 -/********Name=SOFTRST_CON15,Offset=0xA3C********/ -#define SRST_P_WDT0 240 -#define SRST_T_WDT0 241 -#define SRST_P_SYS_GRF 242 -#define SRST_P_PWM1 243 -#define SRST_PWM1 244 -#define SRST_P_PWM2 246 -#define SRST_PWM2 247 -#define SRST_P_PWM3 249 -#define SRST_PWM3 250 -#define SRST_P_BUSTIMER0 252 -#define SRST_P_BUSTIMER1 253 -#define SRST_BUSTIMER0 255 -/********Name=SOFTRST_CON16,Offset=0xA40********/ -#define SRST_BUSTIMER1 256 -#define SRST_BUSTIMER2 257 -#define SRST_BUSTIMER3 258 -#define SRST_BUSTIMER4 259 -#define SRST_BUSTIMER5 260 -#define SRST_BUSTIMER6 261 -#define SRST_BUSTIMER7 262 -#define SRST_BUSTIMER8 263 -#define SRST_BUSTIMER9 264 -#define SRST_BUSTIMER10 265 -#define SRST_BUSTIMER11 266 -#define SRST_P_MAILBOX0 267 -#define SRST_P_MAILBOX1 268 -#define SRST_P_MAILBOX2 269 -#define SRST_P_GPIO1 270 -#define SRST_GPIO1 271 -/********Name=SOFTRST_CON17,Offset=0xA44********/ -#define SRST_P_GPIO2 272 -#define SRST_GPIO2 273 -#define SRST_P_GPIO3 274 -#define SRST_GPIO3 275 -#define SRST_P_GPIO4 276 -#define SRST_GPIO4 277 -#define SRST_A_DECOM 278 -#define SRST_P_DECOM 279 -#define SRST_D_DECOM 280 -#define SRST_P_TOP 281 -#define SRST_A_GICADB_GIC2CORE_BUS 283 -#define SRST_P_DFT2APB 284 -#define SRST_P_APB2ASB_MST_TOP 285 -#define SRST_P_APB2ASB_MST_CDPHY 286 -#define SRST_P_APB2ASB_MST_BOT_RIGHT 287 -/********Name=SOFTRST_CON18,Offset=0xA48********/ -#define SRST_P_APB2ASB_MST_IOC_TOP 288 -#define SRST_P_APB2ASB_MST_IOC_RIGHT 289 -#define SRST_P_APB2ASB_MST_CSIPHY 290 -#define SRST_P_APB2ASB_MST_VCCIO3_5 291 -#define SRST_P_APB2ASB_MST_VCCIO6 292 -#define SRST_P_APB2ASB_MST_EMMCIO 293 -#define SRST_A_SPINLOCK 294 -#define SRST_P_OTPC_NS 297 -#define SRST_OTPC_NS 298 -#define SRST_OTPC_ARB 299 -/********Name=SOFTRST_CON19,Offset=0xA4C********/ -#define SRST_P_BUSIOC 304 -#define SRST_P_PMUCM0_INTMUX 308 -#define SRST_P_DDRCM0_INTMUX 309 -/********Name=SOFTRST_CON20,Offset=0xA50********/ -#define SRST_P_DDR_DFICTL_CH0 320 -#define SRST_P_DDR_MON_CH0 321 -#define SRST_P_DDR_STANDBY_CH0 322 -#define SRST_P_DDR_UPCTL_CH0 323 -#define SRST_TM_DDR_MON_CH0 324 -#define SRST_P_DDR_GRF_CH01 325 -#define SRST_DFI_CH0 326 -#define SRST_SBR_CH0 327 -#define SRST_DDR_UPCTL_CH0 328 -#define SRST_DDR_DFICTL_CH0 329 -#define SRST_DDR_MON_CH0 330 -#define SRST_DDR_STANDBY_CH0 331 -#define SRST_A_DDR_UPCTL_CH0 332 -#define SRST_P_DDR_DFICTL_CH1 333 -#define SRST_P_DDR_MON_CH1 334 -#define SRST_P_DDR_STANDBY_CH1 335 -/********Name=SOFTRST_CON21,Offset=0xA54********/ -#define SRST_P_DDR_UPCTL_CH1 336 -#define SRST_TM_DDR_MON_CH1 337 -#define SRST_DFI_CH1 338 -#define SRST_SBR_CH1 339 -#define SRST_DDR_UPCTL_CH1 340 -#define SRST_DDR_DFICTL_CH1 341 -#define SRST_DDR_MON_CH1 342 -#define SRST_DDR_STANDBY_CH1 343 -#define SRST_A_DDR_UPCTL_CH1 344 -#define SRST_A_DDR01_MSCH0 349 -#define SRST_A_DDR01_RS_MSCH0 350 -#define SRST_A_DDR01_FRS_MSCH0 351 -/********Name=SOFTRST_CON22,Offset=0xA58********/ -#define SRST_A_DDR01_SCRAMBLE0 352 -#define SRST_A_DDR01_FRS_SCRAMBLE0 353 -#define SRST_A_DDR01_MSCH1 354 -#define SRST_A_DDR01_RS_MSCH1 355 -#define SRST_A_DDR01_FRS_MSCH1 356 -#define SRST_A_DDR01_SCRAMBLE1 357 -#define SRST_A_DDR01_FRS_SCRAMBLE1 358 -#define SRST_P_DDR01_MSCH0 359 -#define SRST_P_DDR01_MSCH1 360 -/********Name=SOFTRST_CON23,Offset=0xA5C********/ -#define SRST_P_DDR_DFICTL_CH2 368 -#define SRST_P_DDR_MON_CH2 369 -#define SRST_P_DDR_STANDBY_CH2 370 -#define SRST_P_DDR_UPCTL_CH2 371 -#define SRST_TM_DDR_MON_CH2 372 -#define SRST_P_DDR_GRF_CH23 373 -#define SRST_DFI_CH2 374 -#define SRST_SBR_CH2 375 -#define SRST_DDR_UPCTL_CH2 376 -#define SRST_DDR_DFICTL_CH2 377 -#define SRST_DDR_MON_CH2 378 -#define SRST_DDR_STANDBY_CH2 379 -#define SRST_A_DDR_UPCTL_CH2 380 -#define SRST_P_DDR_DFICTL_CH3 381 -#define SRST_P_DDR_MON_CH3 382 -#define SRST_P_DDR_STANDBY_CH3 383 -/********Name=SOFTRST_CON24,Offset=0xA60********/ -#define SRST_P_DDR_UPCTL_CH3 384 -#define SRST_TM_DDR_MON_CH3 385 -#define SRST_DFI_CH3 386 -#define SRST_SBR_CH3 387 -#define SRST_DDR_UPCTL_CH3 388 -#define SRST_DDR_DFICTL_CH3 389 -#define SRST_DDR_MON_CH3 390 -#define SRST_DDR_STANDBY_CH3 391 -#define SRST_A_DDR_UPCTL_CH3 392 -#define SRST_A_DDR23_MSCH2 397 -#define SRST_A_DDR23_RS_MSCH2 398 -#define SRST_A_DDR23_FRS_MSCH2 399 -/********Name=SOFTRST_CON25,Offset=0xA64********/ -#define SRST_A_DDR23_SCRAMBLE2 400 -#define SRST_A_DDR23_FRS_SCRAMBLE2 401 -#define SRST_A_DDR23_MSCH3 402 -#define SRST_A_DDR23_RS_MSCH3 403 -#define SRST_A_DDR23_FRS_MSCH3 404 -#define SRST_A_DDR23_SCRAMBLE3 405 -#define SRST_A_DDR23_FRS_SCRAMBLE3 406 -#define SRST_P_DDR23_MSCH2 407 -#define SRST_P_DDR23_MSCH3 408 -/********Name=SOFTRST_CON26,Offset=0xA68********/ -#define SRST_ISP1 419 -#define SRST_ISP1_VICAP 420 -#define SRST_A_ISP1_BIU 422 -#define SRST_H_ISP1_BIU 424 -/********Name=SOFTRST_CON27,Offset=0xA6C********/ -#define SRST_A_RKNN1 432 -#define SRST_A_RKNN1_BIU 433 -#define SRST_H_RKNN1 434 -#define SRST_H_RKNN1_BIU 435 -/********Name=SOFTRST_CON28,Offset=0xA70********/ -#define SRST_A_RKNN2 448 -#define SRST_A_RKNN2_BIU 449 -#define SRST_H_RKNN2 450 -#define SRST_H_RKNN2_BIU 451 -/********Name=SOFTRST_CON29,Offset=0xA74********/ -#define SRST_A_RKNN_DSU0 467 -#define SRST_P_NPUTOP_BIU 469 -#define SRST_P_NPU_TIMER 470 -#define SRST_NPUTIMER0 472 -#define SRST_NPUTIMER1 473 -#define SRST_P_NPU_WDT 474 -#define SRST_T_NPU_WDT 475 -#define SRST_P_NPU_PVTM 476 -#define SRST_P_NPU_GRF 477 -#define SRST_NPU_PVTM 478 -/********Name=SOFTRST_CON30,Offset=0xA78********/ -#define SRST_NPU_PVTPLL 480 -#define SRST_H_NPU_CM0_BIU 482 -#define SRST_F_NPU_CM0_CORE 483 -#define SRST_T_NPU_CM0_JTAG 484 -#define SRST_A_RKNN0 486 -#define SRST_A_RKNN0_BIU 487 -#define SRST_H_RKNN0 488 -#define SRST_H_RKNN0_BIU 489 -/********Name=SOFTRST_CON31,Offset=0xA7C********/ -#define SRST_H_NVM_BIU 498 -#define SRST_A_NVM_BIU 499 -#define SRST_H_EMMC 500 -#define SRST_A_EMMC 501 -#define SRST_C_EMMC 502 -#define SRST_B_EMMC 503 -#define SRST_T_EMMC 504 -#define SRST_S_SFC 505 -#define SRST_H_SFC 506 -#define SRST_H_SFC_XIP 507 -/********Name=SOFTRST_CON32,Offset=0xA80********/ -#define SRST_P_GRF 513 -#define SRST_P_DEC_BIU 514 -#define SRST_P_PHP_BIU 517 -#define SRST_A_PCIE_GRIDGE 520 -#define SRST_A_PHP_BIU 521 -#define SRST_A_GMAC0 522 -#define SRST_A_GMAC1 523 -#define SRST_A_PCIE_BIU 524 -#define SRST_PCIE0_POWER_UP 525 -#define SRST_PCIE1_POWER_UP 526 -#define SRST_PCIE2_POWER_UP 527 -/********Name=SOFTRST_CON33,Offset=0xA84********/ -#define SRST_PCIE3_POWER_UP 528 -#define SRST_PCIE4_POWER_UP 529 -#define SRST_P_PCIE0 540 -#define SRST_P_PCIE1 541 -#define SRST_P_PCIE2 542 -#define SRST_P_PCIE3 543 -/********Name=SOFTRST_CON34,Offset=0xA88********/ -#define SRST_P_PCIE4 544 -#define SRST_A_PHP_GIC_ITS 550 -#define SRST_A_MMU_PCIE 551 -#define SRST_A_MMU_PHP 552 -#define SRST_A_MMU_BIU 553 -/********Name=SOFTRST_CON35,Offset=0xA8C********/ -#define SRST_A_USB3OTG2 567 -/********Name=SOFTRST_CON37,Offset=0xA94********/ -#define SRST_PMALIVE0 596 -#define SRST_PMALIVE1 597 -#define SRST_PMALIVE2 598 -#define SRST_A_SATA0 599 -#define SRST_A_SATA1 600 -#define SRST_A_SATA2 601 -#define SRST_RXOOB0 602 -#define SRST_RXOOB1 603 -#define SRST_RXOOB2 604 -#define SRST_ASIC0 605 -#define SRST_ASIC1 606 -#define SRST_ASIC2 607 -/********Name=SOFTRST_CON40,Offset=0xAA0********/ -#define SRST_A_RKVDEC_CCU 642 -#define SRST_H_RKVDEC0 643 -#define SRST_A_RKVDEC0 644 -#define SRST_H_RKVDEC0_BIU 645 -#define SRST_A_RKVDEC0_BIU 646 -#define SRST_RKVDEC0_CA 647 -#define SRST_RKVDEC0_HEVC_CA 648 -#define SRST_RKVDEC0_CORE 649 -/********Name=SOFTRST_CON41,Offset=0xAA4********/ -#define SRST_H_RKVDEC1 658 -#define SRST_A_RKVDEC1 659 -#define SRST_H_RKVDEC1_BIU 660 -#define SRST_A_RKVDEC1_BIU 661 -#define SRST_RKVDEC1_CA 662 -#define SRST_RKVDEC1_HEVC_CA 663 -#define SRST_RKVDEC1_CORE 664 -/********Name=SOFTRST_CON42,Offset=0xAA8********/ -#define SRST_A_USB_BIU 674 -#define SRST_H_USB_BIU 675 -#define SRST_A_USB3OTG0 676 -#define SRST_A_USB3OTG1 679 -#define SRST_H_HOST0 682 -#define SRST_H_HOST_ARB0 683 -#define SRST_H_HOST1 684 -#define SRST_H_HOST_ARB1 685 -#define SRST_A_USB_GRF 686 -#define SRST_C_USB2P0_HOST0 687 -/********Name=SOFTRST_CON43,Offset=0xAAC********/ -#define SRST_C_USB2P0_HOST1 688 -#define SRST_HOST_UTMI0 689 -#define SRST_HOST_UTMI1 690 -/********Name=SOFTRST_CON44,Offset=0xAB0********/ -#define SRST_A_VDPU_BIU 708 -#define SRST_A_VDPU_LOW_BIU 709 -#define SRST_H_VDPU_BIU 710 -#define SRST_A_JPEG_DECODER_BIU 711 -#define SRST_A_VPU 712 -#define SRST_H_VPU 713 -#define SRST_A_JPEG_ENCODER0 714 -#define SRST_H_JPEG_ENCODER0 715 -#define SRST_A_JPEG_ENCODER1 716 -#define SRST_H_JPEG_ENCODER1 717 -#define SRST_A_JPEG_ENCODER2 718 -#define SRST_H_JPEG_ENCODER2 719 -/********Name=SOFTRST_CON45,Offset=0xAB4********/ -#define SRST_A_JPEG_ENCODER3 720 -#define SRST_H_JPEG_ENCODER3 721 -#define SRST_A_JPEG_DECODER 722 -#define SRST_H_JPEG_DECODER 723 -#define SRST_H_IEP2P0 724 -#define SRST_A_IEP2P0 725 -#define SRST_IEP2P0_CORE 726 -#define SRST_H_RGA2 727 -#define SRST_A_RGA2 728 -#define SRST_RGA2_CORE 729 -#define SRST_H_RGA3_0 730 -#define SRST_A_RGA3_0 731 -#define SRST_RGA3_0_CORE 732 -/********Name=SOFTRST_CON47,Offset=0xABC********/ -#define SRST_H_RKVENC0_BIU 754 -#define SRST_A_RKVENC0_BIU 755 -#define SRST_H_RKVENC0 756 -#define SRST_A_RKVENC0 757 -#define SRST_RKVENC0_CORE 758 -/********Name=SOFTRST_CON48,Offset=0xAC0********/ -#define SRST_H_RKVENC1_BIU 770 -#define SRST_A_RKVENC1_BIU 771 -#define SRST_H_RKVENC1 772 -#define SRST_A_RKVENC1 773 -#define SRST_RKVENC1_CORE 774 -/********Name=SOFTRST_CON49,Offset=0xAC4********/ -#define SRST_A_VI_BIU 787 -#define SRST_H_VI_BIU 788 -#define SRST_P_VI_BIU 789 -#define SRST_D_VICAP 790 -#define SRST_A_VICAP 791 -#define SRST_H_VICAP 792 -#define SRST_ISP0 794 -#define SRST_ISP0_VICAP 795 -/********Name=SOFTRST_CON50,Offset=0xAC8********/ -#define SRST_FISHEYE0 800 -#define SRST_FISHEYE1 803 -#define SRST_P_CSI_HOST_0 804 -#define SRST_P_CSI_HOST_1 805 -#define SRST_P_CSI_HOST_2 806 -#define SRST_P_CSI_HOST_3 807 -#define SRST_P_CSI_HOST_4 808 -#define SRST_P_CSI_HOST_5 809 -/********Name=SOFTRST_CON51,Offset=0xACC********/ -#define SRST_CSIHOST0_VICAP 820 -#define SRST_CSIHOST1_VICAP 821 -#define SRST_CSIHOST2_VICAP 822 -#define SRST_CSIHOST3_VICAP 823 -#define SRST_CSIHOST4_VICAP 824 -#define SRST_CSIHOST5_VICAP 825 -#define SRST_CIFIN 829 -/********Name=SOFTRST_CON52,Offset=0xAD0********/ -#define SRST_A_VOP_BIU 836 -#define SRST_A_VOP_LOW_BIU 837 -#define SRST_H_VOP_BIU 838 -#define SRST_P_VOP_BIU 839 -#define SRST_H_VOP 840 -#define SRST_A_VOP 841 -#define SRST_D_VOP0 845 -#define SRST_D_VOP2HDMI_BRIDGE0 846 -#define SRST_D_VOP2HDMI_BRIDGE1 847 -/********Name=SOFTRST_CON53,Offset=0xAD4********/ -#define SRST_D_VOP1 848 -#define SRST_D_VOP2 849 -#define SRST_D_VOP3 850 -#define SRST_P_VOPGRF 851 -#define SRST_P_DSIHOST0 852 -#define SRST_P_DSIHOST1 853 -#define SRST_DSIHOST0 854 -#define SRST_DSIHOST1 855 -#define SRST_VOP_PMU 856 -#define SRST_P_VOP_CHANNEL_BIU 857 -/********Name=SOFTRST_CON55,Offset=0xADC********/ -#define SRST_H_VO0_BIU 885 -#define SRST_H_VO0_S_BIU 886 -#define SRST_P_VO0_BIU 887 -#define SRST_P_VO0_S_BIU 888 -#define SRST_A_HDCP0_BIU 889 -#define SRST_P_VO0GRF 890 -#define SRST_H_HDCP_KEY0 891 -#define SRST_A_HDCP0 892 -#define SRST_H_HDCP0 893 -#define SRST_HDCP0 895 -/********Name=SOFTRST_CON56,Offset=0xAE0********/ -#define SRST_P_TRNG0 897 -#define SRST_DP0 904 -#define SRST_DP1 905 -#define SRST_H_I2S4_8CH 906 -#define SRST_M_I2S4_8CH_TX 909 -#define SRST_H_I2S8_8CH 910 -/********Name=SOFTRST_CON57,Offset=0xAE4********/ -#define SRST_M_I2S8_8CH_TX 913 -#define SRST_H_SPDIF2_DP0 914 -#define SRST_M_SPDIF2_DP0 918 -#define SRST_H_SPDIF5_DP1 919 -#define SRST_M_SPDIF5_DP1 923 -/********Name=SOFTRST_CON59,Offset=0xAEC********/ -#define SRST_A_HDCP1_BIU 950 -#define SRST_A_HDMIRX_BIU 951 -#define SRST_A_VO1_BIU 952 -#define SRST_H_VOP1_BIU 953 -#define SRST_H_VOP1_S_BIU 954 -#define SRST_P_VOP1_BIU 955 -#define SRST_P_VO1GRF 956 -#define SRST_P_VO1_S_BIU 957 -/********Name=SOFTRST_CON60,Offset=0xAF0********/ -#define SRST_H_I2S7_8CH 960 -#define SRST_M_I2S7_8CH_RX 963 -#define SRST_H_HDCP_KEY1 964 -#define SRST_A_HDCP1 965 -#define SRST_H_HDCP1 966 -#define SRST_HDCP1 968 -#define SRST_P_TRNG1 970 -#define SRST_P_HDMITX0 971 -/********Name=SOFTRST_CON61,Offset=0xAF4********/ -#define SRST_HDMITX0_REF 976 -#define SRST_P_HDMITX1 978 -#define SRST_HDMITX1_REF 983 -#define SRST_A_HDMIRX 985 -#define SRST_P_HDMIRX 986 -#define SRST_HDMIRX_REF 987 -/********Name=SOFTRST_CON62,Offset=0xAF8********/ -#define SRST_P_EDP0 992 -#define SRST_EDP0_24M 993 -#define SRST_P_EDP1 995 -#define SRST_EDP1_24M 996 -#define SRST_M_I2S5_8CH_TX 1000 -#define SRST_H_I2S5_8CH 1004 -#define SRST_M_I2S6_8CH_TX 1007 -/********Name=SOFTRST_CON63,Offset=0xAFC********/ -#define SRST_M_I2S6_8CH_RX 1010 -#define SRST_H_I2S6_8CH 1011 -#define SRST_H_SPDIF3 1012 -#define SRST_M_SPDIF3 1015 -#define SRST_H_SPDIF4 1016 -#define SRST_M_SPDIF4 1019 -#define SRST_H_SPDIFRX0 1020 -#define SRST_M_SPDIFRX0 1021 -#define SRST_H_SPDIFRX1 1022 -#define SRST_M_SPDIFRX1 1023 -/********Name=SOFTRST_CON64,Offset=0xB00********/ -#define SRST_H_SPDIFRX2 1024 -#define SRST_M_SPDIFRX2 1025 -#define SRST_LINKSYM_HDMITXPHY0 1036 -#define SRST_LINKSYM_HDMITXPHY1 1037 -#define SRST_VO1_BRIDGE0 1038 -#define SRST_VO1_BRIDGE1 1039 -/********Name=SOFTRST_CON65,Offset=0xB04********/ -#define SRST_H_I2S9_8CH 1040 -#define SRST_M_I2S9_8CH_RX 1043 -#define SRST_H_I2S10_8CH 1044 -#define SRST_M_I2S10_8CH_RX 1047 -#define SRST_P_S_HDMIRX 1048 -/********Name=SOFTRST_CON66,Offset=0xB08********/ -#define SRST_GPU 1060 -#define SRST_SYS_GPU 1061 -#define SRST_A_S_GPU_BIU 1064 -#define SRST_A_M0_GPU_BIU 1065 -#define SRST_A_M1_GPU_BIU 1066 -#define SRST_A_M2_GPU_BIU 1067 -#define SRST_A_M3_GPU_BIU 1068 -#define SRST_P_GPU_BIU 1070 -#define SRST_P_GPU_PVTM 1071 -/********Name=SOFTRST_CON67,Offset=0xB0C********/ -#define SRST_GPU_PVTM 1072 -#define SRST_P_GPU_GRF 1074 -#define SRST_GPU_PVTPLL 1075 -#define SRST_GPU_JTAG 1076 -/********Name=SOFTRST_CON68,Offset=0xB10********/ -#define SRST_A_AV1_BIU 1089 -#define SRST_A_AV1 1090 -#define SRST_P_AV1_BIU 1092 -#define SRST_P_AV1 1093 -/********Name=SOFTRST_CON69,Offset=0xB14********/ -#define SRST_A_DDR_BIU 1108 -#define SRST_A_DMA2DDR 1109 -#define SRST_A_DDR_SHAREMEM 1110 -#define SRST_A_DDR_SHAREMEM_BIU 1111 -#define SRST_A_CENTER_S200_BIU 1114 -#define SRST_A_CENTER_S400_BIU 1115 -#define SRST_H_AHB2APB 1116 -#define SRST_H_CENTER_BIU 1117 -#define SRST_F_DDR_CM0_CORE 1118 -/********Name=SOFTRST_CON70,Offset=0xB18********/ -#define SRST_DDR_TIMER0 1120 -#define SRST_DDR_TIMER1 1121 -#define SRST_T_WDT_DDR 1122 -#define SRST_T_DDR_CM0_JTAG 1123 -#define SRST_P_CENTER_GRF 1125 -#define SRST_P_AHB2APB 1126 -#define SRST_P_WDT 1127 -#define SRST_P_TIMER 1128 -#define SRST_P_DMA2DDR 1129 -#define SRST_P_SHAREMEM 1130 -#define SRST_P_CENTER_BIU 1131 -#define SRST_P_CENTER_CHANNEL_BIU 1132 -/********Name=SOFTRST_CON72,Offset=0xB20********/ -#define SRST_P_USBDPGRF0 1153 -#define SRST_P_USBDPPHY0 1154 -#define SRST_P_USBDPGRF1 1155 -#define SRST_P_USBDPPHY1 1156 -#define SRST_P_HDPTX0 1157 -#define SRST_P_HDPTX1 1158 -#define SRST_P_APB2ASB_SLV_BOT_RIGHT 1159 -#define SRST_P_USB2PHY_U3_0_GRF0 1160 -#define SRST_P_USB2PHY_U3_1_GRF0 1161 -#define SRST_P_USB2PHY_U2_0_GRF0 1162 -#define SRST_P_USB2PHY_U2_1_GRF0 1163 -#define SRST_HDPTX0_ROPLL 1164 -#define SRST_HDPTX0_LCPLL 1165 -#define SRST_HDPTX0 1166 -#define SRST_HDPTX1_ROPLL 1167 -/********Name=SOFTRST_CON73,Offset=0xB24********/ -#define SRST_HDPTX1_LCPLL 1168 -#define SRST_HDPTX1 1169 -#define SRST_HDPTX0_HDMIRXPHY_SET 1170 -#define SRST_USBDP_COMBO_PHY0 1171 -#define SRST_USBDP_COMBO_PHY0_LCPLL 1172 -#define SRST_USBDP_COMBO_PHY0_ROPLL 1173 -#define SRST_USBDP_COMBO_PHY0_PCS_HS 1174 -#define SRST_USBDP_COMBO_PHY1 1175 -#define SRST_USBDP_COMBO_PHY1_LCPLL 1176 -#define SRST_USBDP_COMBO_PHY1_ROPLL 1177 -#define SRST_USBDP_COMBO_PHY1_PCS_HS 1178 -#define SRST_HDMIHDP0 1180 -#define SRST_HDMIHDP1 1181 -/********Name=SOFTRST_CON74,Offset=0xB28********/ -#define SRST_A_VO1USB_TOP_BIU 1185 -#define SRST_H_VO1USB_TOP_BIU 1187 -/********Name=SOFTRST_CON75,Offset=0xB2C********/ -#define SRST_H_SDIO_BIU 1201 -#define SRST_H_SDIO 1202 -#define SRST_SDIO 1203 -/********Name=SOFTRST_CON76,Offset=0xB30********/ -#define SRST_H_RGA3_BIU 1218 -#define SRST_A_RGA3_BIU 1219 -#define SRST_H_RGA3_1 1220 -#define SRST_A_RGA3_1 1221 -#define SRST_RGA3_1_CORE 1222 -/********Name=SOFTRST_CON77,Offset=0xB34********/ -#define SRST_REF_PIPE_PHY0 1238 -#define SRST_REF_PIPE_PHY1 1239 -#define SRST_REF_PIPE_PHY2 1240 - -/********Name=PHPTOPSOFTRST_CON0,Offset=0x8A00********/ -#define SRST_P_PHPTOP_CRU 131073 -#define SRST_P_PCIE2_GRF0 131074 -#define SRST_P_PCIE2_GRF1 131075 -#define SRST_P_PCIE2_GRF2 131076 -#define SRST_P_PCIE2_PHY0 131077 -#define SRST_P_PCIE2_PHY1 131078 -#define SRST_P_PCIE2_PHY2 131079 -#define SRST_P_PCIE3_PHY 131080 -#define SRST_P_APB2ASB_SLV_CHIP_TOP 131081 -#define SRST_PCIE30_PHY 131082 - -/********Name=PMU1SOFTRST_CON00,Offset=0x30A00********/ -#define SRST_H_PMU1_BIU 786442 -#define SRST_P_PMU1_BIU 786443 -#define SRST_H_PMU_CM0_BIU 786444 -#define SRST_F_PMU_CM0_CORE 786445 -#define SRST_T_PMU1_CM0_JTAG 786446 - -/********Name=PMU1SOFTRST_CON01,Offset=0x30A04********/ -#define SRST_DDR_FAIL_SAFE 786449 -#define SRST_P_CRU_PMU1 786450 -#define SRST_P_PMU1_GRF 786452 -#define SRST_P_PMU1_IOC 786453 -#define SRST_P_PMU1WDT 786454 -#define SRST_T_PMU1WDT 786455 -#define SRST_P_PMU1TIMER 786456 -#define SRST_PMU1TIMER0 786458 -#define SRST_PMU1TIMER1 786459 -#define SRST_P_PMU1PWM 786460 -#define SRST_PMU1PWM 786461 - -/********Name=PMU1SOFTRST_CON02,Offset=0x30A08********/ -#define SRST_P_I2C0 786465 -#define SRST_I2C0 786466 -#define SRST_S_UART0 786469 -#define SRST_P_UART0 786470 -#define SRST_H_I2S1_8CH 786471 -#define SRST_M_I2S1_8CH_TX 786474 -#define SRST_M_I2S1_8CH_RX 786477 -#define SRST_H_PDM0 786478 -#define SRST_PDM0 786479 - -/********Name=PMU1SOFTRST_CON03,Offset=0x30A0C********/ -#define SRST_H_VAD 786480 -#define SRST_HDPTX0_INIT 786491 -#define SRST_HDPTX0_CMN 786492 -#define SRST_HDPTX0_LANE 786493 -#define SRST_HDPTX1_INIT 786495 - -/********Name=PMU1SOFTRST_CON04,Offset=0x30A10********/ -#define SRST_HDPTX1_CMN 786496 -#define SRST_HDPTX1_LANE 786497 -#define SRST_M_MIPI_DCPHY0 786499 -#define SRST_S_MIPI_DCPHY0 786500 -#define SRST_M_MIPI_DCPHY1 786501 -#define SRST_S_MIPI_DCPHY1 786502 -#define SRST_OTGPHY_U3_0 786503 -#define SRST_OTGPHY_U3_1 786504 -#define SRST_OTGPHY_U2_0 786505 -#define SRST_OTGPHY_U2_1 786506 - -/********Name=PMU1SOFTRST_CON05,Offset=0x30A14********/ -#define SRST_P_PMU0GRF 786515 -#define SRST_P_PMU0IOC 786516 -#define SRST_P_GPIO0 786517 -#define SRST_GPIO0 786518 - -/* scmi-clocks indices */ - -#define SCMI_CLK_CPUL 0 -#define SCMI_CLK_DSU 1 -#define SCMI_CLK_CPUB01 2 -#define SCMI_CLK_CPUB23 3 -#define SCMI_CLK_DDR 4 -#define SCMI_CLK_GPU 5 -#define SCMI_CLK_NPU 6 -#define SCMI_CLK_SBUS 7 -#define SCMI_PCLK_SBUS 8 -#define SCMI_CCLK_SD 9 -#define SCMI_DCLK_SD 10 -#define SCMI_ACLK_SECURE_NS 11 -#define SCMI_HCLK_SECURE_NS 12 -#define SCMI_TCLK_WDT 13 -#define SCMI_KEYLADDER_CORE 14 -#define SCMI_KEYLADDER_RNG 15 -#define SCMI_ACLK_SECURE_S 16 -#define SCMI_HCLK_SECURE_S 17 -#define SCMI_PCLK_SECURE_S 18 -#define SCMI_CRYPTO_RNG 19 -#define SCMI_CRYPTO_CORE 20 -#define SCMI_CRYPTO_PKA 21 -#define SCMI_SPLL 22 -#define SCMI_HCLK_SD 23 - -/********Name=SECURE_SOFTRST_CON00,Offset=0xA00********/ -#define SRST_A_SECURE_NS_BIU 10 -#define SRST_H_SECURE_NS_BIU 11 -#define SRST_A_SECURE_S_BIU 12 -#define SRST_H_SECURE_S_BIU 13 -#define SRST_P_SECURE_S_BIU 14 -#define SRST_CRYPTO_CORE 15 -/********Name=SECURE_SOFTRST_CON01,Offset=0xA04********/ -#define SRST_CRYPTO_PKA 16 -#define SRST_CRYPTO_RNG 17 -#define SRST_A_CRYPTO 18 -#define SRST_H_CRYPTO 19 -#define SRST_KEYLADDER_CORE 25 -#define SRST_KEYLADDER_RNG 26 -#define SRST_A_KEYLADDER 27 -#define SRST_H_KEYLADDER 28 -#define SRST_P_OTPC_S 29 -#define SRST_OTPC_S 30 -#define SRST_WDT_S 31 -/********Name=SECURE_SOFTRST_CON02,Offset=0xA08********/ -#define SRST_T_WDT_S 32 -#define SRST_H_BOOTROM 33 -#define SRST_A_DCF 34 -#define SRST_P_DCF 35 -#define SRST_H_BOOTROM_NS 37 -#define SRST_P_KEYLADDER 46 -#define SRST_H_TRNG_S 47 -/********Name=SECURE_SOFTRST_CON03,Offset=0xA0C********/ -#define SRST_H_TRNG_NS 48 -#define SRST_D_SDMMC_BUFFER 49 -#define SRST_H_SDMMC 50 -#define SRST_H_SDMMC_BUFFER 51 -#define SRST_SDMMC 52 -#define SRST_P_TRNG_CHK 53 -#define SRST_TRNG_S 54 - -#endif /* __DT_BINDINGS_CLK_ROCKCHIP_RK3588_H__ */ diff --git a/bsp/rockchip/rk3566/driver/clk/softrst.c b/bsp/rockchip/rk3566/driver/clk/softrst.c deleted file mode 100644 index fc8c2853b27..00000000000 --- a/bsp/rockchip/rk3566/driver/clk/softrst.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-26 GuEe-GUI first version - */ - -struct rockchip_softrst -{ - void *regs; - int num_per_reg; - rt_uint8_t flags; - - struct rt_spinlock lock; -}; - -static rt_err_t rockchip_softrst_assert(struct rt_reset_control *rstc) -{ - int bank, offset; - struct rockchip_softrst *softrst = rstc->rstcer->priv; - - bank = rstc->id / softrst->num_per_reg; - offset = rstc->id % softrst->num_per_reg; - - if (softrst->flags & ROCKCHIP_SOFTRST_HIWORD_MASK) - { - HWREG32(softrst->regs + (bank * 4)) = RT_BIT(offset) | (RT_BIT(offset) << 16); - } - else - { - rt_uint32_t reg; - rt_ubase_t level; - - level = rt_spin_lock_irqsave(&softrst->lock); - - reg = HWREG32(softrst->regs + (bank * 4)); - HWREG32(softrst->regs + (bank * 4)) = reg | RT_BIT(offset); - - rt_spin_unlock_irqrestore(&softrst->lock, level); - } - - return RT_EOK; -} - -static rt_err_t rockchip_softrst_deassert(struct rt_reset_control *rstc) -{ - int bank, offset; - struct rockchip_softrst *softrst = rstc->rstcer->priv; - - bank = rstc->id / softrst->num_per_reg; - offset = rstc->id % softrst->num_per_reg; - - if (softrst->flags & ROCKCHIP_SOFTRST_HIWORD_MASK) - { - HWREG32(softrst->regs + (bank * 4)) = (RT_BIT(offset) << 16); - } - else - { - rt_uint32_t reg; - rt_ubase_t level; - - level = rt_spin_lock_irqsave(&softrst->lock); - - reg = HWREG32(softrst->regs + (bank * 4)); - HWREG32(softrst->regs + (bank * 4)) = reg & ~RT_BIT(offset); - - rt_spin_unlock_irqrestore(&softrst->lock, level); - } - - return RT_EOK; -} - -static const struct rt_reset_control_ops rockchip_softrst_ops = -{ - .assert = rockchip_softrst_assert, - .deassert = rockchip_softrst_deassert, -}; - -static rt_err_t rk_register_softrst(struct rt_reset_controller *rstcer, - struct rt_ofw_node *np, void *regs, rt_uint8_t flags) -{ - rt_err_t err; - struct rockchip_softrst *softrst = rt_calloc(1, sizeof(*softrst)); - - if (!softrst) - { - return -RT_ENOMEM; - } - - rstcer->priv = softrst; - - rt_spin_lock_init(&softrst->lock); - - softrst->regs = regs; - softrst->flags = flags; - softrst->num_per_reg = (flags & ROCKCHIP_SOFTRST_HIWORD_MASK) ? 16 : 32; - - rstcer->ofw_node = np; - rstcer->ops = &rockchip_softrst_ops; - - if ((err = rt_reset_controller_register(rstcer))) - { - rt_free(softrst); - } - - return err; -} diff --git a/bsp/rockchip/rk3566/driver/hwtimer/Kconfig b/bsp/rockchip/rk3566/driver/hwtimer/Kconfig deleted file mode 100755 index 3dfe6bf159b..00000000000 --- a/bsp/rockchip/rk3566/driver/hwtimer/Kconfig +++ /dev/null @@ -1,5 +0,0 @@ -config RT_HWTIMER_ROCKCHIP - bool "RockChip Timer" - depends on RT_USING_DM - depends on RT_USING_HWTIMER - default n diff --git a/bsp/rockchip/rk3566/driver/hwtimer/SConscript b/bsp/rockchip/rk3566/driver/hwtimer/SConscript deleted file mode 100644 index 90934983d56..00000000000 --- a/bsp/rockchip/rk3566/driver/hwtimer/SConscript +++ /dev/null @@ -1,13 +0,0 @@ -from building import * - -cwd = GetCurrentDir() -CPPPATH = [cwd] - -src = [] - -if GetDepend(['RT_HWTIMER_ROCKCHIP']): - src += ['hwtimer-rockchip_timer.c'] - -group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) - -Return('group') diff --git a/bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c b/bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c deleted file mode 100644 index b5213efa8af..00000000000 --- a/bsp/rockchip/rk3566/driver/hwtimer/hwtimer-rockchip_timer.c +++ /dev/null @@ -1,393 +0,0 @@ -/* - * Copyright (c) 2006-2022, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-12-06 GuEe-GUI first version - */ - -#define DBG_TAG "drv.rk_timer" -#define DBG_LVL DBG_INFO -#include - -#include -#include -#include - -#ifdef RT_USING_KTIME -#include -#endif - -#define HZ 100 -#define KHZ 1000 -#define MHZ 1000000 -#define OSC_HZ (24 * MHZ) - -#define TIMER_LOAD_COUNT0 0x00 -#define TIMER_LOAD_COUNT1 0x04 -#define TIMER_CURRENT_VALUE0 0x08 -#define TIMER_CURRENT_VALUE1 0x0c -#define TIMER_CONTROL_REG3288 0x10 -#define TIMER_CONTROL_REG3399 0x1c -#define TIMER_INT_STATUS 0x18 - -#define TIMER_DISABLE 0x0 -#define TIMER_ENABLE 0x1 -#define TIMER_MODE_FREE_RUNNING (0 << 1) -#define TIMER_MODE_USER_DEFINED_COUNT (1 << 1) -#define TIMER_INT_UNMASK (1 << 2) - -struct rk_timer -{ - struct rt_hwtimer_device parent; - - void *base; - void *ctrl; - struct rt_clk *clk; - struct rt_clk *pclk; - - int irq; - rt_uint32_t freq; - rt_uint32_t cycle; - rt_bool_t status; - - struct rt_hwtimer_info info; -}; -#ifdef RT_USING_KTIME -struct hrt_timer -{ - struct rk_timer *timer; - uint64_t cnt; - void (*outcb)(void *param); - void *param; -}; -static struct hrt_timer _timer0 = {0}; -static struct rt_spinlock _spinlock; -#endif -#define raw_to_rk_timer(raw) rt_container_of(raw, struct rk_timer, parent) - -struct rk_timer_data -{ - rt_uint32_t ctrl_reg; -}; - -rt_inline void rk_timer_disable(struct rk_timer *timer) -{ - HWREG32(timer->ctrl) = TIMER_DISABLE; -} - -rt_inline void rk_timer_enable(struct rk_timer *timer, rt_uint32_t flags) -{ - HWREG32(timer->ctrl) = TIMER_ENABLE | flags; -} - -rt_inline rt_uint32_t rk_timer_current_value(struct rk_timer *timer) -{ - return HWREG32(timer->base + TIMER_CURRENT_VALUE0); -} - -static void rk_timer_update_counter(unsigned long cycles, struct rk_timer *timer) -{ - HWREG32(timer->base + TIMER_LOAD_COUNT0) = cycles; - HWREG32(timer->base + TIMER_LOAD_COUNT1) = 0; -} - -static void rk_timer_interrupt_clear(struct rk_timer *timer) -{ - HWREG32(timer->base + TIMER_INT_STATUS) = 1; -} - -static void rk_timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state) -{ -} - -static rt_err_t rk_timer_start(struct rt_hwtimer_device *timer, rt_uint32_t cnt, rt_hwtimer_mode_t mode) -{ - rt_err_t err = RT_EOK; - struct rk_timer *rk_timer = raw_to_rk_timer(timer); - - switch (mode) - { - case HWTIMER_MODE_ONESHOT: - rk_timer_disable(rk_timer); - rk_timer_update_counter(cnt, rk_timer); - rk_timer_enable(rk_timer, TIMER_MODE_USER_DEFINED_COUNT | TIMER_INT_UNMASK); - break; - - case HWTIMER_MODE_PERIOD: - rk_timer_disable(rk_timer); - rk_timer_update_counter(rk_timer->freq / HZ - 1, rk_timer); - rk_timer_enable(rk_timer, TIMER_MODE_FREE_RUNNING | TIMER_INT_UNMASK); - break; - - default: - err = -RT_EINVAL; - break; - } - - if (!err) - { - rk_timer->cycle = cnt; - rk_timer->status = RT_TRUE; - } - - return err; -} - -static void rk_timer_stop(struct rt_hwtimer_device *timer) -{ - struct rk_timer *rk_timer = raw_to_rk_timer(timer); - - rk_timer->status = RT_FALSE; - rk_timer_disable(rk_timer); -} - -static rt_uint32_t rk_timer_count_get(struct rt_hwtimer_device *timer) -{ - struct rk_timer *rk_timer = raw_to_rk_timer(timer); - - return rk_timer_current_value(rk_timer); -} - -static rt_err_t rk_timer_ctrl(struct rt_hwtimer_device *timer, rt_uint32_t cmd, void *args) -{ - rt_err_t err = RT_EOK; - struct rk_timer *rk_timer = raw_to_rk_timer(timer); - - switch (cmd) - { - case HWTIMER_CTRL_FREQ_SET: - err = -RT_ENOSYS; - break; - - case HWTIMER_CTRL_STOP: - rk_timer_stop(timer); - break; - - case HWTIMER_CTRL_INFO_GET: - if (args) - { - rt_memcpy(args, &rk_timer->info, sizeof(rk_timer->info)); - } - else - { - err = -RT_ERROR; - } - break; - - case HWTIMER_CTRL_MODE_SET: - err = rk_timer_start(timer, rk_timer->cycle, (rt_hwtimer_mode_t)args); - break; - - default: - err = -RT_EINVAL; - break; - } - - return err; -} - -const static struct rt_hwtimer_ops rk_timer_ops = -{ - .init = rk_timer_init, - .start = rk_timer_start, - .stop = rk_timer_stop, - .count_get = rk_timer_count_get, - .control = rk_timer_ctrl, -}; - -static void rk_timer_isr(int irqno, void *param) -{ - struct hrt_timer *timer = &_timer0; - struct rk_timer *time = timer->timer; - - rk_timer_interrupt_clear(time); - - rt_ktime_hrtimer_process(); -} - -void rt_ktime_hrtimer_bind(rt_bitmap_t *affinity) -{ - struct rk_timer *timer = _timer0.timer; - - if (rt_pic_irq_set_affinity(timer->irq, affinity) == -RT_ENOSYS) - { - LOG_E("timer irq affinity init fail\n"); - } - else - { - LOG_D("timer irq(%d) binding done\n", timer->irq); - } -} - -static rt_err_t rk_timer_probe(struct rt_platform_device *pdev) -{ - rt_err_t err = RT_EOK; - const char *dev_name; - struct rt_device *dev = &pdev->parent; - struct rk_timer *timer = rt_calloc(1, sizeof(*timer)); - const struct rk_timer_data *timer_data = pdev->id->data; - if (!timer) - { - return -RT_ENOMEM; - } -#ifdef RT_USING_KTIME - _timer0.timer = timer; - rt_spin_lock_init(&_spinlock); -#endif - if (!(timer->pclk = rt_clk_get_by_name(dev, "pclk"))) - { - err = -RT_EIO; - - goto _fail; - } - - if (!(timer->clk = rt_clk_get_by_name(dev, "timer"))) - { - err = -RT_EIO; - - goto _fail; - } - - timer->base = rt_dm_dev_iomap(dev, 0); - - if (!timer->base) - { - err = -RT_EIO; - - goto _fail; - } - - timer->ctrl = timer->base + timer_data->ctrl_reg; - - rt_clk_enable(timer->pclk); - rt_clk_enable(timer->clk); - timer->freq = rt_clk_get_rate(timer->clk); - timer->irq = rt_dm_dev_get_irq(dev, 0); - - rk_timer_interrupt_clear(timer); - rk_timer_disable(timer); - - timer->parent.ops = &rk_timer_ops; - timer->parent.info = &timer->info; - - timer->info.maxfreq = timer->freq; - timer->info.minfreq = timer->freq; - timer->info.maxcnt = 0xffffffff; - timer->info.cntmode = HWTIMER_CNTMODE_DW; - - rt_dm_dev_set_name_auto(&timer->parent.parent, "timer"); - dev_name = rt_dm_dev_get_name(&timer->parent.parent); - - rt_device_hwtimer_register(&timer->parent, dev_name, RT_NULL); - - RT_BITMAP_DECLARE(affinity, RT_CPUS_NR) = { 0 }; - rt_bitmap_set_bit(affinity, RT_CPUS_NR - 1); - rt_ktime_hrtimer_bind(affinity); - - rt_pic_attach_irq(timer->irq, rk_timer_isr, timer, dev_name, RT_IRQ_F_NONE); - rt_pic_irq_unmask(timer->irq); - -#if KTIMER_BIND_CPU - RT_BITMAP_DECLARE(affinity, RT_CPUS_NR) = {0}; - rt_bitmap_set_bit(affinity, 1); - rt_pic_irq_set_affinity(timer->irq, affinity); -#endif - - return err; - -_fail: - if (timer->base) - { - rt_iounmap(timer->base); - } - if (timer->pclk) - { - rt_clk_put(timer->pclk); - } - if (timer->clk) - { - rt_clk_put(timer->clk); - } - rt_free(timer); - - return err; -} - -static const struct rk_timer_data rk3288_timer_data = -{ - .ctrl_reg = TIMER_CONTROL_REG3288, -}; - -static const struct rk_timer_data rk3399_timer_data = -{ - .ctrl_reg = TIMER_CONTROL_REG3399, -}; - -#ifdef RT_USING_KTIME - -uint64_t rt_ktime_hrtimer_getfrq(void) -{ - return (24 * 1000 * 1000UL); -} - -uint64_t rt_ktime_hrtimer_getres(void) -{ - return ((1000UL * 1000 * 1000) * RT_KTIME_RESMUL) / (24 * 1000 * 1000UL); -} - -uint64_t rt_ktime_hrtimer_getcnt(void) -{ - return rk_timer_current_value(_timer0.timer); -} - -/** - * @brief set the timeout function for hrtimer framework - * - * @warning application should not call this API directly - * - * @param cnt the count of timer dealy - * @return rt_err_t 0 forever - */ -rt_err_t rt_ktime_hrtimer_settimeout(unsigned long cnt) -{ - struct hrt_timer *timer = &_timer0; - struct rk_timer *time = timer->timer; - - timer->cnt = cnt; - - if (cnt) - { - rk_timer_disable(time); - rk_timer_update_counter(cnt, time); - rk_timer_enable(time, TIMER_MODE_USER_DEFINED_COUNT | TIMER_INT_UNMASK); - } - - return 0; -} -#endif - -static const struct rt_ofw_node_id rk_timer_ofw_ids[] = -{ - { .compatible = "rockchip,rk3288-timer", .data = &rk3288_timer_data }, - { .compatible = "rockchip,rk3399-timer", .data = &rk3399_timer_data }, - { /* sentinel */ } -}; - -static struct rt_platform_driver rk_timer_driver = -{ - .name = "hwtimer-rockchip", - .ids = rk_timer_ofw_ids, - - .probe = rk_timer_probe, -}; - -static int rk_timer_drv_register(void) -{ - rt_platform_driver_register(&rk_timer_driver); - - return 0; -} -INIT_PLATFORM_EXPORT(rk_timer_drv_register); diff --git a/bsp/rockchip/rk3566/driver/rockchip.h b/bsp/rockchip/rk3566/driver/rockchip.h deleted file mode 100644 index b121be0a3f1..00000000000 --- a/bsp/rockchip/rk3566/driver/rockchip.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-3-08 GuEe-GUI the first version - */ - -#ifndef __ROCKCHIP_H__ -#define __ROCKCHIP_H__ - -#include - -#define rk_clrsetreg(addr, clr, set) HWREG32(addr) = (((clr) | (set)) << 16 | (set)) -#define rk_clrreg(addr, clr) HWREG32(addr) = ((clr) << 16) -#define rk_setreg(addr, set) HWREG32(addr) = ((set) << 16 | (set)) - -#define HIWORD_UPDATE(val, mask, shift) ((val) << (shift) | (mask) << ((shift) + 16)) - -#endif /* __ROCKCHIP_H__ */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/8250-dw.c b/bsp/rockchip/rk3566/driver/uart8250/8250-dw.c deleted file mode 100644 index 2df3086474d..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/8250-dw.c +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-22 GuEe-GUI first version - */ - -/* - * The Synopsys DesignWare 8250 has an extra feature whereby it detects if the - * LCR is written whilst busy. If it is, then a busy detect interrupt is - * raised, the LCR needs to be rewritten and the uart status register read. - */ - -#include - -#include "8250.h" - -/* Offsets for the DesignWare specific registers */ -#define DW_UART_USR 0x1f /* UART Status Register */ -#define DW_UART_DMASA 0xa8 /* DMA Software Ack */ - -#define OCTEON_UART_USR 0x27 /* UART Status Register */ - -#define RZN1_UART_TDMACR 0x10c /* DMA Control Register Transmit Mode */ -#define RZN1_UART_RDMACR 0x110 /* DMA Control Register Receive Mode */ - -/* DesignWare specific register fields */ -#define DW_UART_MCR_SIRE RT_BIT(6) - -/* Renesas specific register fields */ -#define RZN1_UART_xDMACR_DMA_EN RT_BIT(0) -#define RZN1_UART_xDMACR_1_WORD_BURST (0 << 1) -#define RZN1_UART_xDMACR_4_WORD_BURST (1 << 1) -#define RZN1_UART_xDMACR_8_WORD_BURST (2 << 1) -#define RZN1_UART_xDMACR_BLK_SZ(x) ((x) << 3) - -/* Quirks */ -#define DW_UART_QUIRK_OCTEON RT_BIT(0) -#define DW_UART_QUIRK_ARMADA_38X RT_BIT(1) -#define DW_UART_QUIRK_SKIP_SET_RATE RT_BIT(2) -#define DW_UART_QUIRK_IS_DMA_FC RT_BIT(3) - -struct dw8250_platform_data -{ - rt_uint8_t usr_reg; - rt_uint32_t cpr_val; - rt_uint32_t quirks; -}; - -struct dw8250 -{ - struct serial8250 parent; - struct rt_spinlock spinlock; - - struct rt_clk *pclk; - - rt_bool_t uart_16550_compatible; - struct dw8250_platform_data *platform_data; -}; - -#define to_dw8250(serial8250) rt_container_of(serial8250, struct dw8250, parent) - -static void dw8250_check_lcr(struct serial8250 *serial, int value) -{ - void *offset = (void *)(serial->base + (UART_LCR << serial->regshift)); - int tries = 1000; - - /* Make sure LCR write wasn't ignored */ - while (tries--) - { - rt_uint32_t lcr = serial->serial_in(serial, UART_LCR); - - if ((value & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR)) - { - break; - } - - serial->serial_out(serial, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); - serial->serial_in(serial, UART_RX); - - if (serial->iotype == PORT_MMIO32) - { - HWREG32(offset) = value; - } - else if (serial->iotype == PORT_MMIO32BE) - { - HWREG32(offset) = rt_cpu_to_be32(value); - } - else - { - HWREG8(offset) = value; - } - } -} - -static void dw8250_serial_out32(struct serial8250 *serial, int offset, int value) -{ - struct dw8250 *dw8250 = to_dw8250(serial); - - HWREG32(serial->base + (offset << serial->regshift)) = value; - - if (offset == UART_LCR && !dw8250->uart_16550_compatible) - { - dw8250_check_lcr(serial, value); - } -} - -static rt_uint32_t dw8250_serial_in32(struct serial8250 *serial, int offset) -{ - return HWREG32(serial->base + (offset << serial->regshift)); -} - -static rt_err_t dw8250_isr(struct serial8250 *serial, int irq) -{ - unsigned int iir, status; - struct dw8250 *dw8250 = to_dw8250(serial); - - iir = serial8250_in(serial, UART_IIR); - - /* - * If don't do this in non-DMA mode then the "RX TIMEOUT" interrupt will - * fire forever. - */ - if ((iir & 0x3f) == UART_IIR_RX_TIMEOUT) - { - rt_base_t level = rt_spin_lock_irqsave(&dw8250->spinlock); - - status = serial8250_in(serial, UART_LSR); - - if (!(status & (UART_LSR_DR | UART_LSR_BI))) - { - serial8250_in(serial, UART_RX); - } - - rt_spin_unlock_irqrestore(&dw8250->spinlock, level); - } - - if (!(iir & UART_IIR_NO_INT)) - { - rt_hw_serial_isr(&serial->parent, RT_SERIAL_EVENT_RX_IND); - } - - if ((iir & UART_IIR_BUSY) == UART_IIR_BUSY) - { - /* Clear the USR */ - serial8250_in(serial, dw8250->platform_data->usr_reg); - } - - return RT_EOK; -} - -static void dw8250_free_resource(struct dw8250 *dw8250) -{ - struct serial8250 *serial = &dw8250->parent; - - if (serial->base) - { - rt_iounmap(serial->base); - } - - if (serial->clk) - { - rt_clk_disable_unprepare(serial->clk); - rt_clk_put(serial->clk); - } - - if (dw8250->pclk) - { - rt_clk_disable_unprepare(dw8250->pclk); - rt_clk_put(dw8250->pclk); - } - - rt_free(dw8250); -} - -static void dw8250_remove(struct serial8250 *serial) -{ - struct dw8250 *dw8250 = to_dw8250(serial); - - dw8250_free_resource(dw8250); -} - -static rt_err_t dw8250_probe(struct rt_platform_device *pdev) -{ - rt_err_t err; - rt_uint32_t val; - struct serial8250 *serial; - struct rt_device *dev = &pdev->parent; - struct dw8250 *dw8250 = serial8250_alloc(dw8250); - struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; - - if (!dw8250) - { - return -RT_ENOMEM; - } - - serial = &dw8250->parent; - serial->base = rt_dm_dev_iomap(dev, 0); - - if (!serial->base) - { - err = -RT_EIO; - - goto _free_res; - } - - serial->irq = rt_dm_dev_get_irq(dev, 0); - - if (serial->irq < 0) - { - err = serial->irq; - - goto _free_res; - } - - serial->clk = rt_clk_get_by_name(dev, "baudclk"); - dw8250->pclk = rt_clk_get_by_name(dev, "apb_pclk"); - - if (!serial->clk) - { - if ((err = rt_dm_dev_prop_read_u32(dev, "clock-frequency", &serial->freq))) - { - goto _free_res; - } - } - else - { - if ((err = rt_clk_prepare_enable(serial->clk))) - { - goto _free_res; - } - - serial->freq = rt_clk_get_rate(serial->clk); - } - - if (!dw8250->pclk) - { - err = -RT_EIO; - - goto _free_res; - } - - if ((err = rt_clk_prepare_enable(dw8250->pclk))) - { - goto _free_res; - } - - rt_dm_dev_prop_read_u32(dev, "reg-shift", &serial->regshift); - - if (!rt_dm_dev_prop_read_u32(dev, "reg-io-width", &val) && val == 4) - { - serial->iotype = PORT_MMIO32; - serial->serial_in = &dw8250_serial_in32; - serial->serial_out = &dw8250_serial_out32; - } - - dw8250->uart_16550_compatible = rt_dm_dev_prop_read_bool(dev, "snps,uart-16550-compatible"); - dw8250->platform_data = (struct dw8250_platform_data *)pdev->id->data; - - rt_dm_dev_bind_fwdata(&serial->parent.parent, pdev->parent.ofw_node, &serial->parent); - - serial = &dw8250->parent; - serial->parent.ops = &serial8250_uart_ops; - serial->parent.config = config; - serial->handle_irq = &dw8250_isr; - serial->remove = &dw8250_remove; - serial->data = dw8250; - - rt_spin_lock_init(&dw8250->spinlock); - - if ((err = serial8250_setup(serial))) - { - goto _free_res; - } - - return RT_EOK; - -_free_res: - dw8250_free_resource(dw8250); - - return err; -} - -static const struct dw8250_platform_data dw8250_dw_apb = -{ - .usr_reg = DW_UART_USR, -}; - -static const struct dw8250_platform_data dw8250_octeon_3860_data = -{ - .usr_reg = OCTEON_UART_USR, - .quirks = DW_UART_QUIRK_OCTEON, -}; - -static const struct dw8250_platform_data dw8250_armada_38x_data = -{ - .usr_reg = DW_UART_USR, - .quirks = DW_UART_QUIRK_ARMADA_38X, -}; - -static const struct dw8250_platform_data dw8250_renesas_rzn1_data = -{ - .usr_reg = DW_UART_USR, - .cpr_val = 0x00012f32, - .quirks = DW_UART_QUIRK_IS_DMA_FC, -}; - -static const struct dw8250_platform_data dw8250_starfive_jh7100_data = -{ - .usr_reg = DW_UART_USR, - .quirks = DW_UART_QUIRK_SKIP_SET_RATE, -}; - -static const struct rt_ofw_node_id dw8250_ofw_ids[] = -{ - { .type = "ttyS", .compatible = "snps,dw-apb-uart", .data = &dw8250_dw_apb }, - { .type = "ttyS", .compatible = "cavium,octeon-3860-uart", .data = &dw8250_octeon_3860_data }, - { .type = "ttyS", .compatible = "marvell,armada-38x-uart", .data = &dw8250_armada_38x_data }, - { .type = "ttyS", .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data }, - { .type = "ttyS", .compatible = "starfive,jh7100-uart", .data = &dw8250_starfive_jh7100_data }, - { /* sentinel */ } -}; - -static struct rt_platform_driver dw8250_driver = -{ - .name = "dw-apb-uart", - .ids = dw8250_ofw_ids, - - .probe = dw8250_probe, -}; - -static int dw8250_drv_register(void) -{ - rt_platform_driver_register(&dw8250_driver); - - return 0; -} -INIT_PLATFORM_EXPORT(dw8250_drv_register); diff --git a/bsp/rockchip/rk3566/driver/uart8250/8250.h b/bsp/rockchip/rk3566/driver/uart8250/8250.h deleted file mode 100644 index 5eeb3a376cc..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/8250.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-16 GuEe-GUI first version - */ - -#ifndef __SERIAL_8250_H__ -#define __SERIAL_8250_H__ - -#include -#include -#include -#include -#include "regs.h" -#include "serial_dm.h" - -enum -{ - PORT_IO, - PORT_MMIO, - PORT_MMIO16, - PORT_MMIO32, - PORT_MMIO32BE, -}; - -struct serial8250 -{ - struct rt_serial_device parent; - struct rt_clk *clk; - - int irq; - void *base; - rt_size_t size; - rt_uint32_t freq; /* frequency */ - rt_uint32_t regshift; /* reg offset shift */ - rt_uint8_t iotype; /* io access style */ - - struct rt_spinlock spinlock; - - rt_uint32_t (*serial_in)(struct serial8250 *, int offset); - void (*serial_out)(struct serial8250 *, int offset, int value); - rt_err_t (*handle_irq)(struct serial8250 *, int irq); - - /* Free all resource (and parent) by child */ - void (*remove)(struct serial8250 *); - void *data; -}; - -#define serial8250_alloc(obj) rt_calloc(1, sizeof(typeof(*obj))) -#define raw_to_serial8250(raw_serial) rt_container_of(raw_serial, struct serial8250, parent) - -rt_err_t serial8250_config(struct serial8250 *serial, const char *options); -rt_err_t serial8250_setup(struct serial8250 *serial); -rt_err_t serial8250_remove(struct serial8250 *serial); - -rt_uint32_t serial8250_in(struct serial8250 *serial, int offset); -void serial8250_out(struct serial8250 *serial, int offset, int value); - -rt_err_t serial8250_uart_configure(struct rt_serial_device *raw_serial, struct serial_configure *cfg); -rt_err_t serial8250_uart_control(struct rt_serial_device *raw_serial, int cmd, void *arg); -int serial8250_uart_putc(struct rt_serial_device *raw_serial, char c); -int serial8250_uart_getc(struct rt_serial_device *raw_serial); - -int serial8250_early_putc(struct rt_serial_device *raw_serial, char c); -rt_err_t serial8250_early_fdt_setup(struct serial8250 *serial, struct rt_fdt_earlycon *con, const char *options); - -extern struct serial8250 early_serial8250; -extern const struct rt_uart_ops serial8250_uart_ops; - -#endif /* __SERIAL_8250_H__ */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/Kconfig b/bsp/rockchip/rk3566/driver/uart8250/Kconfig deleted file mode 100644 index e67e9f619ee..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/Kconfig +++ /dev/null @@ -1,3 +0,0 @@ -config RT_SERIAL_8250 - bool "8250 Serila Family" - default n diff --git a/bsp/rockchip/rk3566/driver/uart8250/SConscript b/bsp/rockchip/rk3566/driver/uart8250/SConscript deleted file mode 100755 index 7f7b94a1474..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/SConscript +++ /dev/null @@ -1,13 +0,0 @@ -from building import * - -cwd = GetCurrentDir() -CPPPATH = [cwd] - -src = ['core.c', 'early.c'] - -if GetDepend(['RT_SERIAL_8250']): - src += ['8250-dw.c'] - src += ['fiq-debugger.c'] - -group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) -Return('group') diff --git a/bsp/rockchip/rk3566/driver/uart8250/core.c b/bsp/rockchip/rk3566/driver/uart8250/core.c deleted file mode 100644 index 37fd912355f..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/core.c +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-16 GuEe-GUI first version - */ - -#include "8250.h" - -rt_err_t serial8250_config(struct serial8250 *serial, const char *options) -{ - rt_err_t ret = -RT_EINVAL; - - if (serial) - { - char *arg; - rt_bool_t has_iotype = RT_FALSE; - - /* - * uart8250,io,[,options] - * uart8250,mmio,[,options] - * uart8250,mmio16,[,options] - * uart8250,mmio32,[,options] - * uart8250,mmio32be,[,options] - * uart8250,0x[,options] - */ - serial_for_each_args(arg, options) - { - if (!rt_strcmp(arg, "uart8250")) - { - ret = RT_EOK; - continue; - } - /* user call error */ - if (ret) - { - break; - } - if (!rt_strncmp(arg, "0x", 2)) - { - serial->base = serial_base_from_args(arg); - continue; - } - if (!has_iotype) - { - const struct - { - char *param; - int type; - } iotype_table[] = - { - { "io", PORT_IO }, - { "mmio", PORT_MMIO }, - { "mmio16", PORT_MMIO16 }, - { "mmio32", PORT_MMIO32 }, - { "mmio32be", PORT_MMIO32BE }, - }; - - serial->iotype = PORT_MMIO32; - - for (int i = 0; i < RT_ARRAY_SIZE(iotype_table); ++i) - { - if (!rt_strcmp(arg, iotype_table[i].param)) - { - serial->iotype = iotype_table[i].type; - break; - } - } - - has_iotype = RT_TRUE; - continue; - } - - serial->parent.config = serial_cfg_from_args(arg); - } - - if (!serial->size) - { - serial->size = 0x1000; - } - } - - return ret; -} - -static void serial8250_isr(int irqno, void *param) -{ - struct serial8250 *serial = (struct serial8250 *)param; - - if (serial->handle_irq) - { - serial->handle_irq(serial, irqno); - } - else - { - rt_hw_serial_isr(&serial->parent, RT_SERIAL_EVENT_RX_IND); - } -} - -rt_err_t serial8250_setup(struct serial8250 *serial) -{ - rt_err_t ret = RT_EOK; - const char *uart_name; - char dev_name[RT_NAME_MAX]; - - if (serial) - { - rt_spin_lock_init(&serial->spinlock); - - serial->serial_in = serial->serial_in ? : &serial8250_in; - serial->serial_out = serial->serial_out ? : &serial8250_out; - - serial_dev_set_name(&serial->parent); - uart_name = rt_dm_dev_get_name(&serial->parent.parent); - - rt_hw_serial_register(&serial->parent, uart_name, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, serial->data); - - rt_snprintf(dev_name, sizeof(dev_name), "%s-8250", uart_name); - rt_pic_attach_irq(serial->irq, serial8250_isr, serial, dev_name, RT_IRQ_F_NONE); - } - else - { - ret = -RT_EINVAL; - } - - return ret; -} - -rt_err_t serial8250_remove(struct serial8250 *serial) -{ - rt_err_t err; - - rt_iounmap((void *)serial->base); - serial->base = RT_NULL; - - rt_pic_irq_mask(serial->irq); - rt_pic_detach_irq(serial->irq, serial); - - err = rt_device_unregister(&serial->parent.parent); - - if (!err && serial->remove) - { - serial->remove(serial); - } - - return err; -} - -rt_uint32_t serial8250_in(struct serial8250 *serial, int offset) -{ - rt_uint32_t ret = 0; - offset <<= serial->regshift; - - switch (serial->iotype) - { - case PORT_MMIO: - ret = HWREG8(serial->base + offset); - break; - case PORT_MMIO16: - ret = HWREG16(serial->base + offset); - break; - case PORT_MMIO32: - ret = HWREG32(serial->base + offset); - break; - case PORT_MMIO32BE: - ret = rt_cpu_to_be32(HWREG32(serial->base + offset)); - break; -#ifdef ARCH_SUPPORT_PIO - case PORT_IO: - ret = inb(serial->base + offset, value); - break; -#endif - default: - break; - } - - return ret; -} - -void serial8250_out(struct serial8250 *serial, int offset, int value) -{ - offset <<= serial->regshift; - - switch (serial->iotype) - { - case PORT_MMIO: - HWREG8(serial->base + offset) = value; - break; - case PORT_MMIO16: - HWREG16(serial->base + offset) = value; - break; - case PORT_MMIO32: - HWREG32(serial->base + offset) = value; - break; - case PORT_MMIO32BE: - HWREG32(serial->base + offset) = rt_cpu_to_be32(value); - break; -#ifdef ARCH_SUPPORT_PIO - case PORT_IO: - outb(serial->base + offset, value); - break; -#endif - default: - break; - } -} - -rt_err_t serial8250_uart_configure(struct rt_serial_device *raw_serial, struct serial_configure *cfg) -{ - rt_err_t err = RT_EOK; - struct serial8250 *serial = raw_to_serial8250(raw_serial); - - /* Disable interrupt */ - serial->serial_out(serial, UART_IER, !UART_IER_RDI); - - /* Enable FIFO, Clear FIFO*/ - serial->serial_out(serial, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); - - /* DTR + RTS */ - serial->serial_out(serial, UART_MCR, UART_MCR_DTR | UART_MCR_RTS); - - if (serial->freq) - { - rt_uint32_t wlen = cfg->data_bits - DATA_BITS_5 + UART_LCR_WLEN5; - rt_uint32_t divisor = serial->freq / 16 / cfg->baud_rate; - - /* Enable access DLL & DLH */ - serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) | UART_LCR_DLAB); - serial->serial_out(serial, UART_DLL, (divisor & 0xff)); - serial->serial_out(serial, UART_DLM, (divisor >> 8) & 0xff); - /* Clear DLAB bit */ - serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) & (~UART_LCR_DLAB)); - - serial->serial_out(serial, UART_LCR, (serial->serial_in(serial, UART_LCR) & (~wlen)) | wlen); - serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) & (~UART_LCR_STOP)); - serial->serial_out(serial, UART_LCR, serial->serial_in(serial, UART_LCR) & (~UART_LCR_PARITY)); - } - - serial->serial_out(serial, UART_IER, UART_IER_RDI); - - return err; -} - -rt_err_t serial8250_uart_control(struct rt_serial_device *raw_serial, int cmd, void *arg) -{ - rt_err_t err = RT_EOK; - struct serial8250 *serial = raw_to_serial8250(raw_serial); - - switch (cmd) - { - case RT_DEVICE_CTRL_CLR_INT: - /* disable rx irq */ - serial->serial_out(serial, UART_IER, !UART_IER_RDI); - rt_pic_irq_mask(serial->irq); - break; - - case RT_DEVICE_CTRL_SET_INT: - /* enable rx irq */ - serial->serial_out(serial, UART_IER, UART_IER_RDI); - rt_pic_irq_unmask(serial->irq); - break; - } - - return err; -} - -int serial8250_uart_putc(struct rt_serial_device *raw_serial, char c) -{ - struct serial8250 *serial = raw_to_serial8250(raw_serial); - - while (!(serial->serial_in(serial, UART_LSR) & 0x20)) - { - rt_hw_cpu_relax(); - } - - serial->serial_out(serial, UART_TX, c); - - return 1; -} - -int serial8250_uart_getc(struct rt_serial_device *raw_serial) -{ - int ch = -1; - struct serial8250 *serial = raw_to_serial8250(raw_serial); - - if ((serial->serial_in(serial, UART_LSR) & 0x1)) - { - ch = serial->serial_in(serial, UART_RX) & 0xff; - } - - return ch; -} - -const struct rt_uart_ops serial8250_uart_ops = -{ - .configure = serial8250_uart_configure, - .control = serial8250_uart_control, - .putc = serial8250_uart_putc, - .getc = serial8250_uart_getc, -}; diff --git a/bsp/rockchip/rk3566/driver/uart8250/early.c b/bsp/rockchip/rk3566/driver/uart8250/early.c deleted file mode 100644 index 971550fcc44..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/early.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-16 GuEe-GUI first version - */ - -#include "8250.h" - -struct serial8250 early_serial8250 = { 0 }; - -static rt_uint32_t serial8250_early_in(struct serial8250 *serial, int offset) -{ - return serial8250_in(serial, offset); -} - -static void serial8250_early_out(struct serial8250 *serial, int offset, int value) -{ - serial8250_out(serial, offset, value); -} - -int serial8250_early_putc(struct rt_serial_device *raw_serial, char c) -{ - if (raw_serial) - { - /* FIFO and shifting register empty */ - const int uart_lsr_both_empty = (UART_LSR_TEMT | UART_LSR_THRE); - struct serial8250 *serial = rt_container_of(raw_serial, struct serial8250, parent); - - serial8250_early_out(serial, UART_TX, c); - - while ((serial8250_early_in(serial, UART_LSR) & uart_lsr_both_empty) != uart_lsr_both_empty) - { - rt_hw_cpu_relax(); - } - } - - return 1; -} - -static void init_serial(struct serial8250 *serial) -{ - unsigned char c; - rt_uint32_t ier, divisor; - - serial8250_early_out(serial, UART_LCR, 0x3); /* 8n1 */ - ier = serial8250_early_in(serial, UART_IER); - serial8250_early_out(serial, UART_IER, ier & UART_IER_UUE); /* no interrupt */ - serial8250_early_out(serial, UART_FCR, 0); /* no fifo */ - serial8250_early_out(serial, UART_MCR, 0x3); /* DTR + RTS */ - - if (serial->freq) - { - divisor = RT_DIV_ROUND_CLOSEST(serial->freq, 16 * serial->parent.config.baud_rate); - c = serial8250_early_in(serial, UART_LCR); - serial8250_early_out(serial, UART_LCR, c | UART_LCR_DLAB); - serial8250_early_out(serial, UART_DLL, divisor & 0xff); - serial8250_early_out(serial, UART_DLM, (divisor >> 8) & 0xff); - serial8250_early_out(serial, UART_LCR, c & ~UART_LCR_DLAB); - } -} - -static void serial8250_early_kick(struct rt_fdt_earlycon *con, int why) -{ - struct serial8250 *serial = raw_to_serial8250(con->data); - - switch (why) - { - case FDT_EARLYCON_KICK_UPDATE: - serial->base = rt_ioremap((void *)con->mmio, con->size); - break; - - case FDT_EARLYCON_KICK_COMPLETED: - rt_iounmap(serial->base); - break; - - default: - break; - } -} - -rt_err_t serial8250_early_fdt_setup(struct serial8250 *serial, struct rt_fdt_earlycon *con, const char *options) -{ - rt_err_t ret = RT_EOK; - - if (!serial->base && con) - { - serial8250_config(serial, options); - con->mmio = (rt_ubase_t)serial->base; - con->size = serial->size; - } - - if (serial->base && con) - { - serial->base = rt_ioremap_early((void *)serial->base, serial->size); - } - - if (serial->base && con) - { - con->console_putc = (typeof(con->console_putc))&serial8250_early_putc; - con->console_kick = serial8250_early_kick; - con->data = &serial->parent; - - if (!serial->parent.config.baud_rate) - { - /* assume the device was initialized, only mask interrupts */ - rt_uint32_t ier = serial8250_early_in(serial, UART_IER); - serial8250_early_out(serial, UART_IER, ier & UART_IER_UUE); - } - else - { - init_serial(serial); - } - } - else - { - ret = -RT_ERROR; - } - - return ret; -} - -static void common_init(struct serial8250 *serial, struct rt_fdt_earlycon *con) -{ - serial->base = (void *)con->mmio; - serial->size = con->size; - serial->iotype = PORT_MMIO32; -} - -static rt_err_t common_early_setup(struct rt_fdt_earlycon *con, const char *options) -{ - struct serial8250 *serial = &early_serial8250; - - common_init(serial, con); - serial->regshift = 2; - fdt_getprop_u32(con->fdt, con->nodeoffset, "reg-shift", &serial->regshift, RT_NULL); - - return serial8250_early_fdt_setup(serial, con, options); -} -RT_FDT_EARLYCON_EXPORT(bcm2835aux, "uart8250", "brcm,bcm2835-aux-uart", common_early_setup); -RT_FDT_EARLYCON_EXPORT(tegra20, "uart8250", "nvidia,tegra20-uart", common_early_setup); -RT_FDT_EARLYCON_EXPORT(dw8250, "uart8250", "snps,dw-apb-uart", common_early_setup); -RT_FDT_EARLYCON_EXPORT(ns16550a, "uart8250", "ns16550a", common_early_setup); -RT_FDT_EARLYCON_EXPORT(ns16550, "uart8250", "ns16550", common_early_setup); - -#ifdef RT_USING_8250_OMAP -static rt_err_t omap8250_early_setup(struct rt_fdt_earlycon *con, const char *options) -{ - struct serial8250 *serial = &early_serial8250; - - common_init(serial, con); - serial->regshift = 2; - - return serial8250_early_fdt_setup(serial, con, options); -} -RT_FDT_EARLYCON_EXPORT(omap8250, "uart8250", "ti,omap2-uart", omap8250_early_setup); -RT_FDT_EARLYCON_EXPORT(omap8250, "uart8250", "ti,omap3-uart", omap8250_early_setup); -RT_FDT_EARLYCON_EXPORT(omap8250, "uart8250", "ti,omap4-uart", omap8250_early_setup); -#endif /* RT_USING_8250_OMAP */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c b/bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c deleted file mode 100644 index 4cbd803d4f1..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/fiq-debugger.c +++ /dev/null @@ -1,378 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-21 GuEe-GUI first version - */ - -#include -#include -#include - -#include -#include - -#include "regs.h" -#include "serial_dm.h" - -#define UART_USR 0x1f /* In: UART Status Register */ -#define UART_USR_RX_FIFO_FULL 0x10 /* Receive FIFO full */ -#define UART_USR_RX_FIFO_NOT_EMPTY 0x08 /* Receive FIFO not empty */ -#define UART_USR_TX_FIFO_EMPTY 0x04 /* Transmit FIFO empty */ -#define UART_USR_TX_FIFO_NOT_FULL 0x02 /* Transmit FIFO not full */ -#define UART_USR_BUSY 0x01 /* UART busy indicator */ -#define UART_SRR 0x22 /* software reset register */ - -#define FIQ_DEBUGGER_NO_CHAR -1 -#define FIQ_DEBUGGER_BREAK -2 - -struct rockchip_fiq_debugger -{ - struct rt_serial_device parent; - - int irq; - int baudrate; - void *debug_port_base; - rt_bool_t break_seen; -}; - -#define raw_to_fiq_debugger(raw) rt_container_of(raw, struct rockchip_fiq_debugger, parent) - -rt_inline void rockchip_fiq_write(struct rockchip_fiq_debugger *t, rt_uint32_t val, int off) -{ - HWREG32(t->debug_port_base + off * 4) = val; -} - -rt_inline rt_uint32_t rockchip_fiq_read(struct rockchip_fiq_debugger *t, int off) -{ - return HWREG32(t->debug_port_base + off * 4); -} - -rt_inline rt_uint32_t rockchip_fiq_read_lsr(struct rockchip_fiq_debugger *t) -{ - rt_uint32_t ret = rockchip_fiq_read(t, UART_LSR); - - if (ret & UART_LSR_BI) - { - t->break_seen = true; - } - - return ret; -} - -static void fiq_debugger_isr(int irqno, void *param) -{ - rt_uint32_t usr; - struct rt_serial_device *serial = (struct rt_serial_device*)param; - struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); - - usr = rockchip_fiq_read(t, UART_USR); - - if ((usr & UART_USR_RX_FIFO_NOT_EMPTY) == UART_USR_RX_FIFO_NOT_EMPTY) - { - rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); - } - - if ((usr & UART_USR_BUSY) == UART_USR_BUSY) - { - /* Clear the USR */ - (void)rockchip_fiq_read(t, UART_USR); - } -} - -static rt_err_t fiq_debugger_uart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) -{ - int dll = 0, dlm = 0; - rt_uint32_t count = 10000; - struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); - - if (rockchip_fiq_read(t, UART_LSR) & UART_LSR_DR) - { - (void)rockchip_fiq_read(t, UART_RX); - } - - while (!(rockchip_fiq_read(t, UART_LSR) & UART_LSR_TEMT) && count--) - { - rt_hw_us_delay(10); - } - - switch (t->baudrate) - { - case 1500000: - dll = 0x1; - break; - case 115200: - default: - dll = 0xd; - break; - } - /* reset uart */ - rockchip_fiq_write(t, (1 << 1) | (1 << 2), UART_SRR); - rt_hw_us_delay(10); - /* set uart to loop back mode */ - rockchip_fiq_write(t, 0x10, UART_MCR); - - rockchip_fiq_write(t, 0x83, UART_LCR); - /* set baud rate */ - rockchip_fiq_write(t, dll, UART_DLL); - rockchip_fiq_write(t, dlm, UART_DLM); - rockchip_fiq_write(t, 0x03, UART_LCR); - - /* enable rx interrupt */ - rockchip_fiq_write(t, UART_IER_RDI, UART_IER); - - /* - * interrupt on every character when received, but we can enable fifo for TX - * I found that if we enable the RX fifo, some problem may vanish such as - * when you continuously input characters in the command line the uart irq - * may be disable because of the uart irq is served when CPU is at IRQ - * exception, but it is found unregistered, so it is disable. - */ - rockchip_fiq_write(t, 0x01, UART_FCR); - - /* disbale loop back mode */ - rockchip_fiq_write(t, 0x0, UART_MCR); - - return RT_EOK; -} - -static rt_err_t fiq_debugger_uart_control(struct rt_serial_device *serial, int cmd, void *arg) -{ - struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); - - switch (cmd) - { - case RT_DEVICE_CTRL_CLR_INT: - rt_pic_irq_mask(t->irq); - break; - - case RT_DEVICE_CTRL_SET_INT: - rt_pic_irq_unmask(t->irq); - break; - } - - return RT_EOK; -} - -static int fiq_debugger_uart_putc(struct rt_serial_device *serial, char c) -{ - struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); - rt_uint32_t count = 10000; - - while (!(rockchip_fiq_read(t, UART_USR) & UART_USR_TX_FIFO_NOT_FULL) && count--) - { - rt_hw_cpu_relax(); - } - - rockchip_fiq_write(t, c, UART_TX); - - return 1; -} - -static int fiq_debugger_uart_getc(struct rt_serial_device *serial) -{ - int ch = FIQ_DEBUGGER_NO_CHAR; - rt_uint32_t lsr, temp; - static rt_uint32_t n = 0; - static char buf[32] = {}; - struct rockchip_fiq_debugger *t = raw_to_fiq_debugger(serial); - - /* Clear uart interrupt status */ - rockchip_fiq_read(t, UART_USR); - lsr = rockchip_fiq_read_lsr(t); - - if (lsr & UART_LSR_DR) - { - temp = rockchip_fiq_read(t, UART_RX); - buf[n & 0x1f] = temp; - n++; - - if (temp == 'q' && n > 2) - { - if ((buf[(n - 2) & 0x1f] == 'i') && (buf[(n - 3) & 0x1f] == 'f')) - { - ch = FIQ_DEBUGGER_BREAK; - } - else - { - ch = temp; - } - } - else - { - ch = temp; - } - } - - return ch; -} - -static const struct rt_uart_ops fiq_debugger_uart_ops = -{ - .configure = fiq_debugger_uart_configure, - .control = fiq_debugger_uart_control, - .putc = fiq_debugger_uart_putc, - .getc = fiq_debugger_uart_getc, -}; - -struct rockchip_fiq_debugger *rk_serial_debug_init(void *base, rt_ubase_t paddr, - int irq, int signal_irq, int wakeup_irq, rt_uint32_t baudrate) -{ - struct rockchip_fiq_debugger *t = rt_calloc(1, sizeof(*t)); - - if (t) - { - const char *name; - - t->parent.ops = &fiq_debugger_uart_ops; - t->parent.config = (struct serial_configure)RT_SERIAL_CONFIG_DEFAULT; - t->parent.config.baud_rate = baudrate; - t->irq = irq; - t->baudrate = baudrate; - t->debug_port_base = base; - t->break_seen = RT_FALSE; - - serial_dev_set_name(&t->parent); - name = rt_dm_dev_get_name(&t->parent.parent); - - rt_hw_serial_register(&t->parent, name, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, t); - rt_pic_attach_irq(t->irq, fiq_debugger_isr, &t->parent, name, RT_IRQ_F_NONE); - } - - return t; -} - -static rt_err_t rockchip_fiq_debugger_probe(struct rt_platform_device *pdev) -{ - rt_err_t err = RT_EOK; - void *base; - rt_uint64_t regs[2]; - struct rt_clk *clk, *pclk; - rt_bool_t found = RT_FALSE; - char dev_name[RT_NAME_MAX]; - int irq, signal_irq = -1; - rt_uint32_t serial_id, baudrate = 0, irq_mode = 0, wake_irq = -1; - struct rt_ofw_node *np = pdev->parent.ofw_node; - - if (rt_ofw_prop_read_u32(np, "rockchip,serial-id", &serial_id) || serial_id == -1) - { - return -RT_EINVAL; - } - - if (rt_ofw_prop_read_u32(np, "rockchip,irq-mode-enable", &irq_mode)) - { - irq_mode = -1; - } - - if (irq_mode == 1) - { - signal_irq = -1; - } - else if (!(signal_irq = rt_ofw_get_irq(np, 0))) - { - return -RT_EINVAL; - } - - if (rt_ofw_prop_read_u32(np, "rockchip,wake-irq", &wake_irq)) - { - wake_irq = -1; - } - - if (rt_ofw_prop_read_u32(np, "rockchip,baudrate", &baudrate)) - { - baudrate = 1500000; - } - - rt_snprintf(dev_name, RT_NAME_MAX, "serial%d", serial_id); - - np = RT_NULL; - - do { - np = rt_ofw_find_node_by_tag(np, "serial"); - - if (np && rt_ofw_get_alias_id(np, "serial") == serial_id) - { - found = RT_TRUE; - break; - } - } while(np); - - if (!found) - { - return -RT_EINVAL; - } - - rt_memset(regs, 0, sizeof(regs)); - rt_ofw_get_address_array(np, 1, regs); - - pclk = rt_ofw_get_clk_by_name(np, "apb_pclk"); - clk = rt_ofw_get_clk_by_name(np, "baudclk"); - - if (!pclk || !clk) - { - err = -RT_ERROR; - goto _fail; - } - - rt_clk_enable(clk); - rt_clk_enable(pclk); - - if ((irq = rt_ofw_get_irq(np, 0)) < 0) - { - err = -RT_ERROR; - goto _fail; - } - - if ((base = rt_ioremap((void *)regs[0], regs[1]))) - { - struct rockchip_fiq_debugger *t = rk_serial_debug_init(base, - (rt_ubase_t)regs[0], irq, signal_irq, wake_irq, baudrate); - - if (t) - { - rt_dm_dev_bind_fwdata(&t->parent.parent, pdev->parent.ofw_node, &t->parent); - } - } - - return err; - -_fail: - if (clk) - { - rt_clk_disable(clk); - rt_clk_put(clk); - } - - if (pclk) - { - rt_clk_disable(pclk); - rt_clk_put(pclk); - } - - return err; -} - -static const struct rt_ofw_node_id rockchip_fiq_debugger_ofw_ids[] = -{ - { .type = "ttyFIQ", .compatible = "rockchip,fiq-debugger" }, - { /* sentinel */ } -}; - -static struct rt_platform_driver rockchip_fiq_debugger_driver = -{ - .name = "rockchip-fiq-debugger", - .ids = rockchip_fiq_debugger_ofw_ids, - - .probe = rockchip_fiq_debugger_probe, -}; - -static int rockchip_fiq_debugger_drv_register(void) -{ - rt_platform_driver_register(&rockchip_fiq_debugger_driver); - - return 0; -} -INIT_PLATFORM_EXPORT(rockchip_fiq_debugger_drv_register); diff --git a/bsp/rockchip/rk3566/driver/uart8250/regs.h b/bsp/rockchip/rk3566/driver/uart8250/regs.h deleted file mode 100644 index ae675c8c71a..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/regs.h +++ /dev/null @@ -1,365 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef __SERIAL_8250_REGS_H__ -#define __SERIAL_8250_REGS_H__ - -/* - * DLAB=0 - */ -#define UART_RX 0 /* In: Receive buffer */ -#define UART_TX 0 /* Out: Transmit buffer */ - -#define UART_IER 1 /* Out: Interrupt Enable Register */ -#define UART_IER_MSI 0x08 /* Enable Modem status interrupt */ -#define UART_IER_RLSI 0x04 /* Enable receiver line status interrupt */ -#define UART_IER_THRI 0x02 /* Enable Transmitter holding register int. */ -#define UART_IER_RDI 0x01 /* Enable receiver data interrupt */ -/* - * Sleep mode for ST16650 and TI16750. For the ST16650, EFR[4]=1 - */ -#define UART_IERX_SLEEP 0x10 /* Enable sleep mode */ - -#define UART_IIR 2 /* In: Interrupt ID Register */ -#define UART_IIR_NO_INT 0x01 /* No interrupts pending */ -#define UART_IIR_ID 0x0e /* Mask for the interrupt ID */ -#define UART_IIR_MSI 0x00 /* Modem status interrupt */ -#define UART_IIR_THRI 0x02 /* Transmitter holding register empty */ -#define UART_IIR_RDI 0x04 /* Receiver data interrupt */ -#define UART_IIR_RLSI 0x06 /* Receiver line status interrupt */ - -#define UART_IIR_BUSY 0x07 /* DesignWare APB Busy Detect */ - -#define UART_IIR_RX_TIMEOUT 0x0c /* OMAP RX Timeout interrupt */ -#define UART_IIR_XOFF 0x10 /* OMAP XOFF/Special Character */ -#define UART_IIR_CTS_RTS_DSR 0x20 /* OMAP CTS/RTS/DSR Change */ - -#define UART_FCR 2 /* Out: FIFO Control Register */ -#define UART_FCR_ENABLE_FIFO 0x01 /* Enable the FIFO */ -#define UART_FCR_CLEAR_RCVR 0x02 /* Clear the RCVR FIFO */ -#define UART_FCR_CLEAR_XMIT 0x04 /* Clear the XMIT FIFO */ -#define UART_FCR_DMA_SELECT 0x08 /* For DMA applications */ -/* - * Note: The FIFO trigger levels are chip specific: - * RX:76 = 00 01 10 11 TX:54 = 00 01 10 11 - * PC16550D: 1 4 8 14 xx xx xx xx - * TI16C550A: 1 4 8 14 xx xx xx xx - * TI16C550C: 1 4 8 14 xx xx xx xx - * ST16C550: 1 4 8 14 xx xx xx xx - * ST16C650: 8 16 24 28 16 8 24 30 PORT_16650V2 - * NS16C552: 1 4 8 14 xx xx xx xx - * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654 - * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750 - * TI16C752: 8 16 56 60 8 16 32 56 - * OX16C950: 16 32 112 120 16 32 64 112 PORT_16C950 - * Tegra: 1 4 8 14 16 8 4 1 PORT_TEGRA - */ -#define UART_FCR_R_TRIG_00 0x00 -#define UART_FCR_R_TRIG_01 0x40 -#define UART_FCR_R_TRIG_10 0x80 -#define UART_FCR_R_TRIG_11 0xc0 -#define UART_FCR_T_TRIG_00 0x00 -#define UART_FCR_T_TRIG_01 0x10 -#define UART_FCR_T_TRIG_10 0x20 -#define UART_FCR_T_TRIG_11 0x30 - -#define UART_FCR_TRIGGER_MASK 0xC0 /* Mask for the FIFO trigger range */ -#define UART_FCR_TRIGGER_1 0x00 /* Mask for trigger set at 1 */ -#define UART_FCR_TRIGGER_4 0x40 /* Mask for trigger set at 4 */ -#define UART_FCR_TRIGGER_8 0x80 /* Mask for trigger set at 8 */ -#define UART_FCR_TRIGGER_14 0xC0 /* Mask for trigger set at 14 */ -/* 16650 definitions */ -#define UART_FCR6_R_TRIGGER_8 0x00 /* Mask for receive trigger set at 1 */ -#define UART_FCR6_R_TRIGGER_16 0x40 /* Mask for receive trigger set at 4 */ -#define UART_FCR6_R_TRIGGER_24 0x80 /* Mask for receive trigger set at 8 */ -#define UART_FCR6_R_TRIGGER_28 0xC0 /* Mask for receive trigger set at 14 */ -#define UART_FCR6_T_TRIGGER_16 0x00 /* Mask for transmit trigger set at 16 */ -#define UART_FCR6_T_TRIGGER_8 0x10 /* Mask for transmit trigger set at 8 */ -#define UART_FCR6_T_TRIGGER_24 0x20 /* Mask for transmit trigger set at 24 */ -#define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */ -#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750 and some Freescale UARTs) */ - -#define UART_FCR_R_TRIG_SHIFT 6 -#define UART_FCR_R_TRIG_BITS(x) (((x) & UART_FCR_TRIGGER_MASK) >> UART_FCR_R_TRIG_SHIFT) -#define UART_FCR_R_TRIG_MAX_STATE 4 - -#define UART_LCR 3 /* Out: Line Control Register */ -/* - * Note: if the word length is 5 bits (UART_LCR_WLEN5), then setting - * UART_LCR_STOP will select 1.5 stop bits, not 2 stop bits. - */ -#define UART_LCR_DLAB 0x80 /* Divisor latch access bit */ -#define UART_LCR_SBC 0x40 /* Set break control */ -#define UART_LCR_SPAR 0x20 /* Stick parity (?) */ -#define UART_LCR_EPAR 0x10 /* Even parity select */ -#define UART_LCR_PARITY 0x08 /* Parity Enable */ -#define UART_LCR_STOP 0x04 /* Stop bits: 0=1 bit, 1=2 bits */ -#define UART_LCR_WLEN5 0x00 /* Wordlength: 5 bits */ -#define UART_LCR_WLEN6 0x01 /* Wordlength: 6 bits */ -#define UART_LCR_WLEN7 0x02 /* Wordlength: 7 bits */ -#define UART_LCR_WLEN8 0x03 /* Wordlength: 8 bits */ - -/* - * Access to some registers depends on register access / configuration mode. - */ -#define UART_LCR_CONF_MODE_A UART_LCR_DLAB /* Configutation mode A */ -#define UART_LCR_CONF_MODE_B 0xBF /* Configutation mode B */ - -#define UART_MCR 4 /* Out: Modem Control Register */ -#define UART_MCR_CLKSEL 0x80 /* Divide clock by 4 (TI16C752, EFR[4]=1) */ -#define UART_MCR_TCRTLR 0x40 /* Access TCR/TLR (TI16C752, EFR[4]=1) */ -#define UART_MCR_XONANY 0x20 /* Enable Xon Any (TI16C752, EFR[4]=1) */ -#define UART_MCR_AFE 0x20 /* Enable auto-RTS/CTS (TI16C550C/TI16C750) */ -#define UART_MCR_LOOP 0x10 /* Enable loopback test mode */ -#define UART_MCR_OUT2 0x08 /* Out2 complement */ -#define UART_MCR_OUT1 0x04 /* Out1 complement */ -#define UART_MCR_RTS 0x02 /* RTS complement */ -#define UART_MCR_DTR 0x01 /* DTR complement */ - -#define UART_LSR 5 /* In: Line Status Register */ -#define UART_LSR_FIFOE 0x80 /* Fifo error */ -#define UART_LSR_TEMT 0x40 /* Transmitter empty */ -#define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ -#define UART_LSR_BI 0x10 /* Break interrupt indicator */ -#define UART_LSR_FE 0x08 /* Frame error indicator */ -#define UART_LSR_PE 0x04 /* Parity error indicator */ -#define UART_LSR_OE 0x02 /* Overrun error indicator */ -#define UART_LSR_DR 0x01 /* Receiver data ready */ -#define UART_LSR_BRK_ERROR_BITS (UART_LSR_BI|UART_LSR_FE|UART_LSR_PE|UART_LSR_OE) - -#define UART_MSR 6 /* In: Modem Status Register */ -#define UART_MSR_DCD 0x80 /* Data Carrier Detect */ -#define UART_MSR_RI 0x40 /* Ring Indicator */ -#define UART_MSR_DSR 0x20 /* Data Set Ready */ -#define UART_MSR_CTS 0x10 /* Clear to Send */ -#define UART_MSR_DDCD 0x08 /* Delta DCD */ -#define UART_MSR_TERI 0x04 /* Trailing edge ring indicator */ -#define UART_MSR_DDSR 0x02 /* Delta DSR */ -#define UART_MSR_DCTS 0x01 /* Delta CTS */ -#define UART_MSR_ANY_DELTA (UART_MSR_DDCD|UART_MSR_TERI|UART_MSR_DDSR|UART_MSR_DCTS) - -#define UART_SCR 7 /* I/O: Scratch Register */ - -/* - * DLAB=1 - */ -#define UART_DLL 0 /* Out: Divisor Latch Low */ -#define UART_DLM 1 /* Out: Divisor Latch High */ -#define UART_DIV_MAX 0xFFFF /* Max divisor value */ - -/* - * LCR=0xBF (or DLAB=1 for 16C660) - */ -#define UART_EFR 2 /* I/O: Extended Features Register */ -#define UART_XR_EFR 9 /* I/O: Extended Features Register (XR17D15x) */ -#define UART_EFR_CTS 0x80 /* CTS flow control */ -#define UART_EFR_RTS 0x40 /* RTS flow control */ -#define UART_EFR_SCD 0x20 /* Special character detect */ -#define UART_EFR_ECB 0x10 /* Enhanced control bit */ -/* - * the low four bits control software flow control - */ - -/* - * LCR=0xBF, TI16C752, ST16650, ST16650A, ST16654 - */ -#define UART_XON1 4 /* I/O: Xon character 1 */ -#define UART_XON2 5 /* I/O: Xon character 2 */ -#define UART_XOFF1 6 /* I/O: Xoff character 1 */ -#define UART_XOFF2 7 /* I/O: Xoff character 2 */ - -/* - * EFR[4]=1 MCR[6]=1, TI16C752 - */ -#define UART_TI752_TCR 6 /* I/O: transmission control register */ -#define UART_TI752_TLR 7 /* I/O: trigger level register */ - -/* - * LCR=0xBF, XR16C85x - */ -#define UART_TRG 0 /* FCTR bit 7 selects Rx or Tx In: Fifo count Out: Fifo custom trigger levels */ -/* - * These are the definitions for the Programmable Trigger Register - */ -#define UART_TRG_1 0x01 -#define UART_TRG_4 0x04 -#define UART_TRG_8 0x08 -#define UART_TRG_16 0x10 -#define UART_TRG_32 0x20 -#define UART_TRG_64 0x40 -#define UART_TRG_96 0x60 -#define UART_TRG_120 0x78 -#define UART_TRG_128 0x80 - -#define UART_FCTR 1 /* Feature Control Register */ -#define UART_FCTR_RTS_NODELAY 0x00 /* RTS flow control delay */ -#define UART_FCTR_RTS_4DELAY 0x01 -#define UART_FCTR_RTS_6DELAY 0x02 -#define UART_FCTR_RTS_8DELAY 0x03 -#define UART_FCTR_IRDA 0x04 /* IrDa data encode select */ -#define UART_FCTR_TX_INT 0x08 /* Tx interrupt type select */ -#define UART_FCTR_TRGA 0x00 /* Tx/Rx 550 trigger table select */ -#define UART_FCTR_TRGB 0x10 /* Tx/Rx 650 trigger table select */ -#define UART_FCTR_TRGC 0x20 /* Tx/Rx 654 trigger table select */ -#define UART_FCTR_TRGD 0x30 /* Tx/Rx 850 programmable trigger select */ -#define UART_FCTR_SCR_SWAP 0x40 /* Scratch pad register swap */ -#define UART_FCTR_RX 0x00 /* Programmable trigger mode select */ -#define UART_FCTR_TX 0x80 /* Programmable trigger mode select */ - -/* - * LCR=0xBF, FCTR[6]=1 - */ -#define UART_EMSR 7 /* Extended Mode Select Register */ -#define UART_EMSR_FIFO_COUNT 0x01 /* Rx/Tx select */ -#define UART_EMSR_ALT_COUNT 0x02 /* Alternating count select */ - -/* - * The Intel XScale on-chip UARTs define these bits - */ -#define UART_IER_DMAE 0x80 /* DMA Requests Enable */ -#define UART_IER_UUE 0x40 /* UART Unit Enable */ -#define UART_IER_NRZE 0x20 /* NRZ coding Enable */ -#define UART_IER_RTOIE 0x10 /* Receiver Time Out Interrupt Enable */ - -#define UART_IIR_TOD 0x08 /* Character Timeout Indication Detected */ - -#define UART_FCR_PXAR1 0x00 /* receive FIFO threshold = 1 */ -#define UART_FCR_PXAR8 0x40 /* receive FIFO threshold = 8 */ -#define UART_FCR_PXAR16 0x80 /* receive FIFO threshold = 16 */ -#define UART_FCR_PXAR32 0xc0 /* receive FIFO threshold = 32 */ - -/* - * These register definitions are for the 16C950 - */ -#define UART_ASR 0x01 /* Additional Status Register */ -#define UART_RFL 0x03 /* Receiver FIFO level */ -#define UART_TFL 0x04 /* Transmitter FIFO level */ -#define UART_ICR 0x05 /* Index Control Register */ - -/* The 16950 ICR registers */ -#define UART_ACR 0x00 /* Additional Control Register */ -#define UART_CPR 0x01 /* Clock Prescalar Register */ -#define UART_TCR 0x02 /* Times Clock Register */ -#define UART_CKS 0x03 /* Clock Select Register */ -#define UART_TTL 0x04 /* Transmitter Interrupt Trigger Level */ -#define UART_RTL 0x05 /* Receiver Interrupt Trigger Level */ -#define UART_FCL 0x06 /* Flow Control Level Lower */ -#define UART_FCH 0x07 /* Flow Control Level Higher */ -#define UART_ID1 0x08 /* ID #1 */ -#define UART_ID2 0x09 /* ID #2 */ -#define UART_ID3 0x0A /* ID #3 */ -#define UART_REV 0x0B /* Revision */ -#define UART_CSR 0x0C /* Channel Software Reset */ -#define UART_NMR 0x0D /* Nine-bit Mode Register */ -#define UART_CTR 0xFF - -/* - * The 16C950 Additional Control Register - */ -#define UART_ACR_RXDIS 0x01 /* Receiver disable */ -#define UART_ACR_TXDIS 0x02 /* Transmitter disable */ -#define UART_ACR_DSRFC 0x04 /* DSR Flow Control */ -#define UART_ACR_TLENB 0x20 /* 950 trigger levels enable */ -#define UART_ACR_ICRRD 0x40 /* ICR Read enable */ -#define UART_ACR_ASREN 0x80 /* Additional status enable */ - -/* - * These definitions are for the RSA-DV II/S card, from - * - * Kiyokazu SUTO - */ - -#define UART_RSA_BASE (-8) - -#define UART_RSA_MSR ((UART_RSA_BASE) + 0) /* I/O: Mode Select Register */ - -#define UART_RSA_MSR_SWAP (1 << 0) /* Swap low/high 8 bytes in I/O port addr */ -#define UART_RSA_MSR_FIFO (1 << 2) /* Enable the external FIFO */ -#define UART_RSA_MSR_FLOW (1 << 3) /* Enable the auto RTS/CTS flow control */ -#define UART_RSA_MSR_ITYP (1 << 4) /* Level (1) / Edge triger (0) */ - -#define UART_RSA_IER ((UART_RSA_BASE) + 1) /* I/O: Interrupt Enable Register */ - -#define UART_RSA_IER_Rx_FIFO_H (1 << 0) /* Enable Rx FIFO half full int. */ -#define UART_RSA_IER_Tx_FIFO_H (1 << 1) /* Enable Tx FIFO half full int. */ -#define UART_RSA_IER_Tx_FIFO_E (1 << 2) /* Enable Tx FIFO empty int. */ -#define UART_RSA_IER_Rx_TOUT (1 << 3) /* Enable char receive timeout int */ -#define UART_RSA_IER_TIMER (1 << 4) /* Enable timer interrupt */ - -#define UART_RSA_SRR ((UART_RSA_BASE) + 2) /* IN: Status Read Register */ - -#define UART_RSA_SRR_Tx_FIFO_NEMP (1 << 0) /* Tx FIFO is not empty (1) */ -#define UART_RSA_SRR_Tx_FIFO_NHFL (1 << 1) /* Tx FIFO is not half full (1) */ -#define UART_RSA_SRR_Tx_FIFO_NFUL (1 << 2) /* Tx FIFO is not full (1) */ -#define UART_RSA_SRR_Rx_FIFO_NEMP (1 << 3) /* Rx FIFO is not empty (1) */ -#define UART_RSA_SRR_Rx_FIFO_NHFL (1 << 4) /* Rx FIFO is not half full (1) */ -#define UART_RSA_SRR_Rx_FIFO_NFUL (1 << 5) /* Rx FIFO is not full (1) */ -#define UART_RSA_SRR_Rx_TOUT (1 << 6) /* Character reception timeout occurred (1) */ -#define UART_RSA_SRR_TIMER (1 << 7) /* Timer interrupt occurred */ - -#define UART_RSA_FRR ((UART_RSA_BASE) + 2) /* OUT: FIFO Reset Register */ - -#define UART_RSA_TIVSR ((UART_RSA_BASE) + 3) /* I/O: Timer Interval Value Set Register */ - -#define UART_RSA_TCR ((UART_RSA_BASE) + 4) /* OUT: Timer Control Register */ - -#define UART_RSA_TCR_SWITCH (1 << 0) /* Timer on */ - -/* - * The RSA DSV/II board has two fixed clock frequencies. One is the - * standard rate, and the other is 8 times faster. - */ -#define SERIAL_RSA_BAUD_BASE (921600) -#define SERIAL_RSA_BAUD_BASE_LO (SERIAL_RSA_BAUD_BASE / 8) - -/* Extra registers for TI DA8xx/66AK2x */ -#define UART_DA830_PWREMU_MGMT 12 - -/* PWREMU_MGMT register bits */ -#define UART_DA830_PWREMU_MGMT_FREE (1 << 0) /* Free-running mode */ -#define UART_DA830_PWREMU_MGMT_URRST (1 << 13) /* Receiver reset/enable */ -#define UART_DA830_PWREMU_MGMT_UTRST (1 << 14) /* Transmitter reset/enable */ - -/* - * Extra serial register definitions for the internal UARTs - * in TI OMAP processors. - */ -#define OMAP1_UART1_BASE 0xfffb0000 -#define OMAP1_UART2_BASE 0xfffb0800 -#define OMAP1_UART3_BASE 0xfffb9800 -#define UART_OMAP_MDR1 0x08 /* Mode definition register */ -#define UART_OMAP_MDR2 0x09 /* Mode definition register 2 */ -#define UART_OMAP_SCR 0x10 /* Supplementary control register */ -#define UART_OMAP_SSR 0x11 /* Supplementary status register */ -#define UART_OMAP_EBLR 0x12 /* BOF length register */ -#define UART_OMAP_OSC_12M_SEL 0x13 /* OMAP1510 12MHz osc select */ -#define UART_OMAP_MVER 0x14 /* Module version register */ -#define UART_OMAP_SYSC 0x15 /* System configuration register */ -#define UART_OMAP_SYSS 0x16 /* System status register */ -#define UART_OMAP_WER 0x17 /* Wake-up enable register */ -#define UART_OMAP_TX_LVL 0x1a /* TX FIFO level register */ - -/* - * These are the definitions for the MDR1 register - */ -#define UART_OMAP_MDR1_16X_MODE 0x00 /* UART 16x mode */ -#define UART_OMAP_MDR1_SIR_MODE 0x01 /* SIR mode */ -#define UART_OMAP_MDR1_16X_ABAUD_MODE 0x02 /* UART 16x auto-baud */ -#define UART_OMAP_MDR1_13X_MODE 0x03 /* UART 13x mode */ -#define UART_OMAP_MDR1_MIR_MODE 0x04 /* MIR mode */ -#define UART_OMAP_MDR1_FIR_MODE 0x05 /* FIR mode */ -#define UART_OMAP_MDR1_CIR_MODE 0x06 /* CIR mode */ -#define UART_OMAP_MDR1_DISABLE 0x07 /* Disable (default state) */ - -/* - * These are definitions for the Altera ALTR_16550_F32/F64/F128 - * Normalized from 0x100 to 0x40 because of shift by 2 (32 bit regs). - */ -#define UART_ALTR_AFR 0x40 /* Additional Features Register */ -#define UART_ALTR_EN_TXFIFO_LW 0x01 /* Enable the TX FIFO Low Watermark */ -#define UART_ALTR_TX_LOW 0x41 /* Tx FIFO Low Watermark */ - -#endif /* __SERIAL_8250_REGS_H__ */ diff --git a/bsp/rockchip/rk3566/driver/uart8250/serial_dm.h b/bsp/rockchip/rk3566/driver/uart8250/serial_dm.h deleted file mode 100644 index 1ec07ef86b6..00000000000 --- a/bsp/rockchip/rk3566/driver/uart8250/serial_dm.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2006-2024 RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-11-16 GuEe-GUI first version - */ - -#ifndef __SERIAL_DM_H__ -#define __SERIAL_DM_H__ - -#include -#include -#include - -int serial_dev_set_name(struct rt_serial_device *sdev); - -void *serial_base_from_args(char *str); -struct serial_configure serial_cfg_from_args(char *str); - -#define serial_for_each_args(arg, args) \ - for (char *context = (arg = (typeof(arg))args, (void *)RT_NULL), \ - *context_end = strchrnul((char *)args, ' '); \ - (arg = strtok_r(arg, ",", &context)) && arg < context_end; \ - arg = RT_NULL) - -#endif /* __SERIAL_DM_H__ */ diff --git a/bsp/rockchip/rk3566/rtconfig.h b/bsp/rockchip/rk3566/rtconfig.h deleted file mode 100644 index 8906353fb23..00000000000 --- a/bsp/rockchip/rk3566/rtconfig.h +++ /dev/null @@ -1,660 +0,0 @@ -#ifndef RT_CONFIG_H__ -#define RT_CONFIG_H__ - -/* RT-Thread Kernel */ - -/* klibc options */ - -/* rt_vsnprintf options */ - -#define RT_KLIBC_USING_VSNPRINTF_LONGLONG -#define RT_KLIBC_USING_VSNPRINTF_STANDARD -#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS -#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS -#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER -#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER -#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32 -#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32 -#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6 -#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9 -#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4 -/* end of rt_vsnprintf options */ - -/* rt_vsscanf options */ - -/* end of rt_vsscanf options */ - -/* rt_memset options */ - -/* end of rt_memset options */ - -/* rt_memcpy options */ - -/* end of rt_memcpy options */ - -/* rt_memmove options */ - -/* end of rt_memmove options */ - -/* rt_memcmp options */ - -/* end of rt_memcmp options */ - -/* rt_strstr options */ - -/* end of rt_strstr options */ - -/* rt_strcasecmp options */ - -/* end of rt_strcasecmp options */ - -/* rt_strncpy options */ - -/* end of rt_strncpy options */ - -/* rt_strcpy options */ - -/* end of rt_strcpy options */ - -/* rt_strncmp options */ - -/* end of rt_strncmp options */ - -/* rt_strcmp options */ - -/* end of rt_strcmp options */ - -/* rt_strlen options */ - -/* end of rt_strlen options */ - -/* rt_strnlen options */ - -/* end of rt_strnlen options */ -/* end of klibc options */ -#define RT_NAME_MAX 8 -#define RT_USING_SMART -#define RT_USING_SMP -#define RT_CPUS_NR 4 -#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_HOOKLIST -#define RT_USING_IDLE_HOOK -#define RT_IDLE_HOOK_LIST_SIZE 4 -#define IDLE_THREAD_STACK_SIZE 16384 -#define SYSTEM_THREAD_STACK_SIZE 16384 -#define RT_USING_TIMER_SOFT -#define RT_TIMER_THREAD_PRIO 4 -#define RT_TIMER_THREAD_STACK_SIZE 32768 -#define RT_USING_TIMER_ALL_SOFT -#define RT_USING_CPU_USAGE_TRACER - -/* kservice options */ - -/* end of kservice options */ -#define RT_USING_DEBUG -#define RT_DEBUGING_COLOR - -/* Inter-Thread communication */ - -#define RT_USING_SEMAPHORE -#define RT_USING_MUTEX -#define RT_USING_EVENT -#define RT_USING_MAILBOX -#define RT_USING_MESSAGEQUEUE -#define RT_USING_MESSAGEQUEUE_PRIORITY -/* end of Inter-Thread communication */ - -/* Memory Management */ - -#define RT_USING_SLAB -#define RT_USING_MEMHEAP -#define RT_MEMHEAP_FAST_MODE -#define RT_USING_MEMHEAP_AS_HEAP -#define RT_USING_MEMHEAP_AUTO_BINDING -#define RT_USING_HEAP -/* end of Memory Management */ -#define RT_USING_DEVICE -#define RT_USING_DEVICE_OPS -#define RT_USING_THREADSAFE_PRINTF -#define RT_USING_CONSOLE -#define RT_CONSOLEBUF_SIZE 1024 -#define RT_CONSOLE_DEVICE_NAME "uart2" -#define RT_VER_NUM 0x50201 -#define RT_USING_STDC_ATOMIC -#define RT_BACKTRACE_LEVEL_MAX_NR 32 -/* end of RT-Thread Kernel */ - -/* AArch64 Architecture Configuration */ - -#define ARCH_TEXT_OFFSET 0x00480000 -#define ARCH_RAM_OFFSET 0x200000 -#define ARCH_SECONDARY_CPU_STACK_SIZE 16384 -#define ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS -#define ARCH_USING_GENERIC_CPUID -#define ARCH_HEAP_SIZE 0x4000000 -#define ARCH_INIT_PAGE_SIZE 0x200000 -/* end of AArch64 Architecture Configuration */ -#define ARCH_CPU_64BIT -#define RT_USING_CACHE -#define ARCH_ARM_BOOTWITH_FLUSH_CACHE -#define RT_USING_CPU_FFS -#define ARCH_MM_MMU -#define ARCH_ARM -#define ARCH_ARM_MMU -#define KERNEL_VADDR_START 0xffff000000000000 -#define ARCH_ARMV8 -#define ARCH_USING_ASID -#define ARCH_USING_HW_THREAD_SELF -#define ARCH_USING_IRQ_CTX_LIST - -/* RT-Thread Components */ - -#define RT_USING_COMPONENTS_INIT -#define RT_USING_USER_MAIN -#define RT_MAIN_THREAD_STACK_SIZE 16384 -#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 16384 -#define FINSH_USING_HISTORY -#define FINSH_HISTORY_LINES 5 -#define FINSH_USING_SYMTAB -#define FINSH_CMD_SIZE 80 -#define MSH_USING_BUILT_IN_COMMANDS -#define FINSH_USING_DESCRIPTION -#define FINSH_ARG_MAX 10 -#define FINSH_USING_OPTION_COMPLETION - -/* DFS: device virtual file system */ - -#define RT_USING_DFS -#define DFS_USING_POSIX -#define DFS_USING_WORKDIR -#define DFS_FD_MAX 512 -#define RT_USING_DFS_V2 -#define RT_USING_DFS_DEVFS -#define RT_USING_DFS_PTYFS -#define RT_USING_DFS_PROCFS -#define RT_USING_DFS_CROMFS -#define RT_USING_DFS_TMPFS -#define RT_USING_DFS_MQUEUE -#define RT_USING_PAGECACHE - -/* page cache config */ - -#define RT_PAGECACHE_COUNT 128 -#define RT_PAGECACHE_ASPACE_COUNT 32 -#define RT_PAGECACHE_PRELOAD 4 -#define RT_PAGECACHE_HASH_NR 180 -#define RT_PAGECACHE_GC_WORK_LEVEL 90 -#define RT_PAGECACHE_GC_STOP_LEVEL 70 -/* end of page cache config */ -/* end of DFS: device virtual file system */ - -/* Device Drivers */ - -#define RT_USING_DM -#define RT_USING_DEV_BUS -#define RT_USING_DEVICE_IPC -#define RT_UNAMED_PIPE_NUMBER 64 -#define RT_USING_SYSTEM_WORKQUEUE -#define RT_SYSTEM_WORKQUEUE_STACKSIZE 16384 -#define RT_SYSTEM_WORKQUEUE_PRIORITY 23 -#define RT_USING_SERIAL -#define RT_USING_SERIAL_V1 -#define RT_SERIAL_RB_BUFSZ 64 -#define RT_USING_SERIAL_BYPASS -#define RT_USING_NULL -#define RT_USING_ZERO -#define RT_USING_RANDOM -#define RT_USING_RTC -#define RT_USING_SOFT_RTC -#define RT_USING_SDIO -#define RT_SDIO_STACK_SIZE 16384 -#define RT_SDIO_THREAD_PRIORITY 15 -#define RT_MMCSD_STACK_SIZE 16384 -#define RT_MMCSD_THREAD_PRIORITY 22 -#define RT_MMCSD_MAX_PARTITION 16 -#define RT_USING_BLK - -/* Partition Types */ - -#define RT_BLK_PARTITION_DFS -#define RT_BLK_PARTITION_EFI -/* end of Partition Types */ -#define RT_USING_RESET -#define RT_USING_OFW -#define RT_FDT_EARLYCON_MSG_SIZE 128 -#define RT_USING_OFW_BUS_RANGES_NUMBER 8 -#define RT_USING_PIC -#define MAX_HANDLERS 1024 -#define RT_PIC_ARM_GIC_V3 -#define RT_USING_PIN -#define RT_USING_PINCTRL -#define RT_USING_KTIME -#define RT_USING_CLK -#define RT_USING_HWTIMER -#define RT_HWTIMER_ARM_ARCH -/* end of Device Drivers */ - -/* C/C++ and POSIX layer */ - -/* ISO-ANSI C layer */ - -/* Timezone and Daylight Saving Time */ - -#define RT_LIBC_USING_LIGHT_TZ_DST -#define RT_LIBC_TZ_DEFAULT_HOUR 8 -#define RT_LIBC_TZ_DEFAULT_MIN 0 -#define RT_LIBC_TZ_DEFAULT_SEC 0 -/* end of Timezone and Daylight Saving Time */ -/* end of ISO-ANSI C layer */ - -/* POSIX (Portable Operating System Interface) layer */ - -#define RT_USING_POSIX_FS -#define RT_USING_POSIX_DEVIO -#define RT_USING_POSIX_STDIO -#define RT_USING_POSIX_POLL -#define RT_USING_POSIX_SELECT -#define RT_USING_POSIX_EVENTFD -#define RT_USING_POSIX_EPOLL -#define RT_USING_POSIX_SIGNALFD -#define RT_SIGNALFD_MAX_NUM 10 -#define RT_USING_POSIX_TIMERFD -#define RT_USING_POSIX_SOCKET -#define RT_USING_POSIX_TERMIOS -#define RT_USING_POSIX_MMAN -#define RT_USING_POSIX_DELAY -#define RT_USING_POSIX_CLOCK -#define RT_USING_POSIX_TIMER - -/* Interprocess Communication (IPC) */ - -#define RT_USING_POSIX_PIPE -#define RT_USING_POSIX_PIPE_SIZE 2048 -#define RT_USING_POSIX_MESSAGE_QUEUE - -/* Socket is in the 'Network' category */ - -/* end of Interprocess Communication (IPC) */ -/* end of POSIX (Portable Operating System Interface) layer */ -/* end of C/C++ and POSIX layer */ - -/* Network */ - -#define RT_USING_SAL -#define SAL_INTERNET_CHECK - -/* Docking with protocol stacks */ - -#define SAL_USING_LWIP -/* end of Docking with protocol stacks */ -#define SAL_USING_POSIX -#define RT_USING_NETDEV -#define NETDEV_USING_IFCONFIG -#define NETDEV_USING_PING -#define NETDEV_USING_NETSTAT -#define NETDEV_USING_AUTO_DEFAULT -#define NETDEV_IPV4 1 -#define NETDEV_IPV6 0 -#define RT_USING_LWIP -#define RT_USING_LWIP212 -#define RT_USING_LWIP_VER_NUM 0x20102 -#define RT_LWIP_MEM_ALIGNMENT 8 -#define RT_LWIP_IGMP -#define RT_LWIP_ICMP -#define RT_LWIP_DNS -#define RT_LWIP_DHCP -#define IP_SOF_BROADCAST 1 -#define IP_SOF_BROADCAST_RECV 1 - -/* Static IPv4 Address */ - -#define RT_LWIP_IPADDR "192.168.1.30" -#define RT_LWIP_GWADDR "192.168.1.1" -#define RT_LWIP_MSKADDR "255.255.255.0" -/* end of Static IPv4 Address */ -#define RT_LWIP_UDP -#define RT_LWIP_TCP -#define RT_LWIP_RAW -#define RT_MEMP_NUM_NETCONN 64 -#define RT_LWIP_PBUF_NUM 320 -#define RT_LWIP_RAW_PCB_NUM 32 -#define RT_LWIP_UDP_PCB_NUM 32 -#define RT_LWIP_TCP_PCB_NUM 64 -#define RT_LWIP_TCP_SEG_NUM 480 -#define RT_LWIP_TCP_SND_BUF 65535 -#define RT_LWIP_TCP_WND 49512 -#define RT_LWIP_TCPTHREAD_PRIORITY 8 -#define RT_LWIP_TCPTHREAD_MBOX_SIZE 256 -#define RT_LWIP_TCPTHREAD_STACKSIZE 65536 -#define LWIP_NO_TX_THREAD -#define RT_LWIP_ETHTHREAD_PRIORITY 9 -#define RT_LWIP_ETHTHREAD_STACKSIZE 16384 -#define RT_LWIP_ETHTHREAD_MBOX_SIZE 256 -#define LWIP_NETIF_STATUS_CALLBACK 1 -#define LWIP_NETIF_LINK_CALLBACK 1 -#define RT_LWIP_NETIF_NAMESIZE 6 -#define SO_REUSE 1 -#define LWIP_SO_RCVTIMEO 1 -#define LWIP_SO_SNDTIMEO 1 -#define LWIP_SO_RCVBUF 1 -#define LWIP_SO_LINGER 0 -#define RT_LWIP_NETIF_LOOPBACK -#define LWIP_NETIF_LOOPBACK 1 -#define RT_LWIP_USING_HW_CHECKSUM -#define RT_LWIP_USING_PING -/* end of Network */ - -/* Memory protection */ - -/* end of Memory protection */ - -/* Utilities */ - -#define RT_USING_UTEST -#define UTEST_THR_STACK_SIZE 32768 -#define UTEST_THR_PRIORITY 20 -#define RT_USING_RESOURCE_ID -#define RT_USING_ADT -#define RT_USING_ADT_AVL -#define RT_USING_ADT_BITMAP -#define RT_USING_ADT_HASHMAP -#define RT_USING_ADT_REF -/* end of Utilities */ - -/* Memory management */ - -#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000 -#define RT_PAGE_MAX_ORDER 11 -#define RT_USING_MEMBLOCK -#define RT_INIT_MEMORY_REGIONS 128 - -/* Debugging */ - -/* end of Debugging */ -/* end of Memory management */ -#define RT_USING_LWP -#define LWP_DEBUG -#define LWP_DEBUG_INIT -#define LWP_USING_RUNTIME -#define RT_LWP_MAX_NR 128 -#define LWP_TASK_STACK_SIZE 32768 -#define RT_CH_MSG_MAX_NR 1024 -#define LWP_TID_MAX_NR 128 -#define RT_LWP_SHM_MAX_NR 64 -#define RT_USING_LDSO -#define LWP_USING_TERMINAL -#define LWP_PTY_MAX_PARIS_LIMIT 64 -#define RT_USING_VDSO - -/* Using USB legacy version */ - -/* end of Using USB legacy version */ -/* end of RT-Thread Components */ - -/* RT-Thread Utestcases */ - -#define RT_USING_UTESTCASES - -/* Utest Self Testcase */ - -/* end of Utest Self Testcase */ - -/* Kernel Testcase */ - - -/* Kernel SMP Testcase */ - -/* end of Kernel SMP Testcase */ -/* end of Kernel Testcase */ - -/* CPP11 Testcase */ - -/* end of CPP11 Testcase */ - -/* Utest Serial Testcase */ - -/* end of Utest Serial Testcase */ - -/* Serial-Bypass Testcase */ - -/* end of Serial-Bypass Testcase */ - -/* Utest IPC Testcase */ - -/* end of Utest IPC Testcase */ - -/* RTT Posix Testcase */ - -/* end of RTT Posix Testcase */ - -/* Memory Management Subsytem Testcase */ - -/* end of Memory Management Subsytem Testcase */ - -/* Tmpfs Testcase */ - -/* end of Tmpfs Testcase */ - -/* SMP-Call Testcase */ - -#define UTEST_SMP_CALL_FUNC -/* end of SMP-Call Testcase */ -/* 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 */ - -/* WCH HAL & SDK Drivers */ - -/* end of WCH HAL & SDK Drivers */ - -/* AT32 HAL & SDK Drivers */ - -/* end of AT32 HAL & SDK Drivers */ - -/* HC32 DDL Drivers */ - -/* end of HC32 DDL Drivers */ - -/* NXP HAL & SDK Drivers */ - -/* end of NXP HAL & SDK Drivers */ -/* 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 */ -#define PKG_USING_ZLIB -#define PKG_USING_ZLIB_LATEST_VERSION -/* 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 */ - -/* RT-Thread rockchip RK3500 drivers */ - -#define RT_CLK_ROCKCHIP -#define RT_CLK_ROCKCHIP_RK3568 -#define RT_CLK_ROCKCHIP_RK3588 -#define RT_SERIAL_8250 -#define RT_HWTIMER_ROCKCHIP -/* end of RT-Thread rockchip RK3500 drivers */ -#define SOC_RK3568 - -#endif diff --git a/bsp/rockchip/rk3566/rtconfig.py b/bsp/rockchip/rk3566/rtconfig.py deleted file mode 100644 index 5d4395155a5..00000000000 --- a/bsp/rockchip/rk3566/rtconfig.py +++ /dev/null @@ -1,57 +0,0 @@ -import os - -# toolchains options -ARCH ='aarch64' -CPU ='cortex-a' -CROSS_TOOL ='gcc' - -if os.getenv('RTT_ROOT'): - RTT_ROOT = os.getenv('RTT_ROOT') -else: - RTT_ROOT = os.path.join(os.getcwd(), '..', '..', '..') - -if os.getenv('RTT_CC'): - CROSS_TOOL = os.getenv('RTT_CC') - -PLATFORM = 'gcc' -EXEC_PATH = r'/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/' - -EXEC_PATH = os.getenv('RTT_EXEC_PATH') or '/usr/bin' - -BUILD = 'release' - -if PLATFORM == 'gcc': - # toolchains - PREFIX = os.getenv('RTT_CC_PREFIX') or 'aarch64-none-elf-' - CC = PREFIX + 'gcc' - CXX = PREFIX + 'g++' - CPP = PREFIX + 'cpp' - AS = PREFIX + 'gcc' - AR = PREFIX + 'ar' - LINK = PREFIX + 'gcc' - TARGET_EXT = 'elf' - SIZE = PREFIX + 'size' - OBJDUMP = PREFIX + 'objdump' - OBJCPY = PREFIX + 'objcopy' - - DEVICE = ' -g -march=armv8.2-a -mtune=cortex-a55 -fdiagnostics-color=always' - CPPFLAGS= ' -E -P -x assembler-with-cpp' - CFLAGS = DEVICE + ' -Wall -Wno-cpp' - AFLAGS = ' -c' + ' -x assembler-with-cpp -D__ASSEMBLY__' - LFLAGS = DEVICE + ' -nostartfiles -Wl,--no-warn-rwx-segments -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors -T link.lds' - CPATH = '' - LPATH = '' - - if BUILD == 'debug': - CFLAGS += ' -O0 -ggdb' - CPPFLAGS += ' -O0 -ggdb' - AFLAGS += ' -ggdb' - else: - CFLAGS += ' -O2 -ggdb' - CPPFLAGS += ' -O2 -ggdb' - - CXXFLAGS = CFLAGS - -DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' -POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' -POST_ACTION += 'md5sum rtthread.bin\n' From c63d2ce7010b5f4f42f9d6e6026e54e4735bcd77 Mon Sep 17 00:00:00 2001 From: LeenixP Date: Wed, 30 Jul 2025 14:45:47 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AD=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=88=87=E6=8D=A2=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md | 182 +++++++++++---------- bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md | 182 ++++++++++----------- 2 files changed, 182 insertions(+), 182 deletions(-) diff --git a/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md b/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md index c793ca639a8..9c74a1309ee 100644 --- a/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md +++ b/bsp/rockchip/rk3500/Taishanpi-RK3566_CN.md @@ -1,40 +1,40 @@ -# Taishanpi-RK3566 Board Support Package (BSP) Usage Guide +# Taishanpi-RK3566 板级支持包使用说明 -[中文页](./Taishanpi-RK3566_CN.md) | English +中文页 | [English](./Taishanpi-RK3566_ZH.md) -## 0. Code Source Statement +## 0. 说明 -The commit used in this document: +此文档使用的Commit: - `a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` -Based on the[original documentation](./README.md), this guide supplements and elaborates on the content with additional documentation and detailed step-by-step instructions. +在[原有文档](./README.md)基础上面进行了文档补充和步骤说明,丰富了一下原有内容。 -## 1. Introduction +## 1. 介绍 -This support package usage guide is written based on the[ TaishanPi 1 ](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)development board. +这份支持包使用说明是根据[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)所写的一份使用指南。 -[All schematic diagrams, PCB files, and software resources for TaishanPi 1 are open-source](https://wiki.lckfb.com/zh-hans/tspi-rk3566/open-source-hardware/) +[泰山派1中原理图、PCB文件和软件资料全部开源](https://wiki.lckfb.com/zh-hans/tspi-rk3566/open-source-hardware/) -This guide provides detailed instructions and relevant precautions. +在本指南中会尽可能的详细介绍使用步骤和相关注意事项。 -### 1.1. Chip Introduction +### 1.1. 芯片介绍 -`Rockchip RK3566` is a mid-to-high-end `AIOT` chip: +`Rockchip RK3566` 是中高端 `AIOT` 芯片: -- Manufactured using `22nm` process technology -- Quad-core `Cortex-A55` 64-bit CPU -- Clock speed up to `1.8GHz` -- Integrated `ARM Mali-G52 GPU` -- Integrated `1Tops` AI accelerator `NPU` -- Supports `4K 60FPS` decoding -- Supports `1080P 60FPS` encoding -- Supports `5M ISP` and `HDR` +- 采用`22nm`制程工艺。 +- `4`核`Cortex-A55`的`64`位CPU。 +- 主频高达`1.8GHz`。 +- 集成`ARM Mali-G52 GPU` +- 集成`1Tops`算力的`AI`加速器`NPU`; +- 支持`4K 60FPS`解码。 +- 支持`1080P 60FPS`解码。 +- 支持`5M ISP`和`HDR`。 -### 1.2. Host Machine Environment +### 1.2. 宿主机环境介绍 -This guide uses `Ubuntu22.04.5 LTS Desktop` running on`VMware`. +本次使用的是 `Ubuntu22.04.5 LTS Desktop` 运行在`VMware`中。 -System information: +系统信息如下: ```bash $ cat /etc/os-release @@ -62,48 +62,50 @@ Release: 22.04 Codename: jammy ``` -`Python`version: +`Python`版本如下: ```bash $ python --version Python 3.10.12 ``` -## 2. Environment Setup +## 2. 环境搭建 -Run the following commands to install required packages: +运行下面的命令安装相关的软件包: -1. Essential tools: +1. 必要工具: ```bash sudo apt update && \ sudo apt install -y python3 python3-pip u-boot-tools device-tree-compiler ``` -2. Install tools using `pip`: +2. 使用`pip`安装工具: ```bash pip3 install --user tqdm ``` -3. Set `Python version`: +3. 设定`python`版本: ```bash sudo rm -rf /usr/bin/python && \ sudo ln -s /usr/bin/python3 /usr/bin/python ``` -4. Download `RT-Thread Smart` toolchain: +4. 下载 `RT-Thread Smart` 工具链: ```bash wget https://download.rt-thread.org/download/rt-smart/toolchains/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 ``` -5. Extract the toolchain: +5. 解压: ```bash sudo tar -xf aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt ``` -6. Set environment variables after extraction: +5. 将工具链下载后,解压至`/opt`目录。并设置环境变量 + +> 直接复制全部,然后粘贴到命令行回车即可。 ```bash export RTT_CC="gcc" @@ -114,85 +116,87 @@ export PATH="$RTT_EXEC_PATH:$PATH" ## 3. 编译 -Navigate to the `rt-thread/bsp/rockchip/rk3566` directory and run: +进入`rt-thread/bsp/rockchip/rk3566`目录下输入下面的命令: -> This command pulls the `zlib` package required for compilation. +> 这个用于拉取`zlib`软件包,我们编译的时候需要用到。 ```bash source ~/.env/tools/scripts/pkgs --update ``` -Start compilation: +开始编译: -> Alternatively, use `scons --exec-path="GCC toolchain path"` to specify the toolchain location directly. +> 或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。 ```bash scons -j$(nproc) ``` -The `rtthread.elf` and `rtthread.bin` files will be generated in the current `rk3566` directory. +可以看到在当前`rk3566`文件夹中正常生成`rtthread.elf`与`rtthread.bin`文件。 -## 3. Running +## 3. 运行 -### 3.1. Flashing the Board +### 3.1. 为板子烧录镜像 -To boot the `rtthread` system using U-Boot commands, flash the following files using the Rockchip development tool. +因为我需要在 `Uboot` 环境中使用命令进行引导 `rtthread` 系统,所以需要烧录相关的文件。 -This guide uses the [ TaishanPi 1 ](https://wiki.lckfb.com/zh-hans/tspi-rk3566/) `Rockchip Linux5.10 SDK`: +这里我是用的内核是 [泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/) 的 `Rockchip Linux5.10 SDK`: - `Github`:https://github.com/TaishanPi -- Tutorial [Host Machine Build Method](https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/openkylin-sdk-compilation.html) +- 教程看 [宿主机构建方式](https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/openkylin-sdk-compilation.html) -After compilation, required files will be in the `rockdev/` directory. +编译完成之后会在 `rockdev/` 目录下生成我们所需要的文件 -Erase all existing firmware from the board: +将板子的所有镜像全部擦除: ![rockchip-clean](./figures/rockchip-clean.jpg) -Flash these 4 files using the Rockchip Development Tool: +然后使用`瑞芯微开发工具`烧录下面的`4`个文件: -> > Note: The TaishanPi 1 SDK uses a custom partition layout. Other boards may require different files. +> > 注意: 因为我们的SDK是重新进行分区的,所以使用[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)需要下面的`4`个文件,其他板子没有测试,可以自行尝试。 - `MiniLoaderAll.bin` - `parameter.txt` - `uboot.img` - `boot.img` -### 3.2. Formatting the TF Card +### 3.2. 格式化TF卡 -Prepare a TF card to store files. +我们需要准备一张 `TF` 卡,用来存放 `rtthread.bin` 文件。 -Download `Rufus`:https://rufus.org.cn/ +下载 `Rufus`:https://rufus.org.cn/ -Configure with these settings and click "Start": +设定为下列的模式,然后点击`开始`: ![rockchip-clean](./figures/rufus.jpg) -### 3.3. Creating boot.scr +### 3.3. 制作boot.scr + +> 这里可以直接使用当前目录下的 `boot.scr`,同样也是用下面的方式制作出来的,如果有需求可以根据下面的方法自己制作。 -> You can use the existing `boot.scr` in this directory, or create your own using the method below. +前面我们已经安装过 `u-boot-tools` 所以直接使用即可。 -Create `boot.cmd` with the following content: +创建 `boot.cmd`,并写入下面的内容: ```bash fatload mmc 1:1 0x480000 rtthread.bin; fatload mmc 1:1 0x8300000 tspi-rk3566-user-v10-linux.dtb; booti 0x480000 - 0x8300000; ``` -> The Device Tree Blob (DTB) file is required for system startup. For TaishanPi 1, the DTB file is located at `kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dtb`. Other boards may use different DTB files. Without the correct DTB, rtthread will fail to boot (see "Common Issues and Solutions"). +> 系统启动需要`设备树文件DTB`,这里我们[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)的`dtb`文件是`kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dtb`,其他的文件有不同的名字,可以根据不同的开发板选择。不然`rtthread`就会无法启动,详情请看文档最后面的 `常见问题与解决办法` -Generate `boot.scr` +运行生成`boot.scr` ```bash mkimage -C none -A arm -T script -d boot.cmd boot.scr ``` -### 3.4. Copying Files to TF Card +### 3.4. 复制文件到TF卡 -Copy these three files to the TF card: +将下面三个文件复制到TF中: - `boot.scr` - `tspi-rk3566-user-v10-linux.dtb` @@ -200,20 +204,19 @@ Copy these three files to the TF card: ![tf](./figures/tf.jpg) -### 3.5. Running +### 3.5. 运行 -Connect to the board's serial port using a tool like [MoBaXterm](https://wiki.lckfb.com/zh-hans/tspi-rk3566/tool-use/debug-tools-use.html): +连接[开发板串口->MoBaXterm](https://wiki.lckfb.com/zh-hans/tspi-rk3566/tool-use/debug-tools-use.html): -- Select the correct serial port -- Set baud rate to `1500000` +打开串口工具,选择对应串口,设置波特率为 `1500000` -With `boot.scr` present, the system will boot automatically: +因为有 `boot.scr` 会自动引导启动`rtthread`: -> Note 1: If stuck at `[I/rtdm.ofw] Console: uart0 (fiq-debugger)`, see "Common Issues and Solutions". +> 注意1:如果卡死在了 `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` 那么看`常见问题与解决办法`。 -> Note 2: After failed boot attempts, completely power cycle the board to clear memory. +> 注意2:记得每次`rtthread`启动失败(在`uboot`中引导失败后),都应该将开发板完全断电然后在上电,清空内存。 -> Note 3: If automatic boot fails, manually execute the `boot.cmd` content in U-Boot. +> 注意3:如果多次自动引导失败可以手动在`uboot`界面运行 `boot.cmd` 的内容,手动引导,如果还不行,那就要考虑其他的因素了,例如TF质量问题,传输到TF卡中的文件有损坏等等等。 ```bash Hit key to stop autoboot('CTRL+C'): 0 @@ -309,11 +312,11 @@ msh /> msh /> ``` -## Common Issues and Solutions +## 常见问题与解决办法 ### Could not find a valid device tree -This error occurs when booting without loading the `.dtb` device tree file: +我们没有加载 `.dtb` 设备树文件直接启动就会出现这样的情况: ```bash Hit key to stop autoboot('CTRL+C'): 0 @@ -333,35 +336,34 @@ Could not find a valid device tree => ``` -Solution: +> 注意:记得每次`rtthread`启动失败(在`uboot`中引导失败后),都应该将开发板完全断电然后在上电,清空内存。 + +然后将 `kernel/arch/arm64/boot/dts/rockchip/` 文件夹中编译之后的`.dtb`文件转移到TF卡中,然后使用 `fatload`从TF卡中加载到`0x8300000`地址然后再次跳转即可。 -1. Power cycle the board completely after failed boot attempts -2. Copy the compiled `.dtb` file from `kernel/arch/arm64/boot/dts/rockchip/` to the TF card -3. Load the `DTB` to address `0x8300000` using `fatload` -4. Execute the boot command again +### 卡在 `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` 无法启动 -### System Stuck at `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` +大概率和你的设备树有关系,在设备树中有一个参数很重要,需要被读取: -This is typically caused by incorrect device tree configuration. The `chosen` node parameters are critical. +> 这里我贴出我的参数,我的`Debug`串口硬件是`uart2m0` -Example configuration for TaishanPi 1 (Debug UART: `uart2m0`): +> 这个`chosen` 是重要的,如果不清楚,可以参照我这么写。 ```ini - chosen: chosen { - bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0"; - }; - - fiq-debugger { - compatible = "rockchip,fiq-debugger"; - rockchip,serial-id = <2>; - rockchip,wake-irq = <0>; - /* If enable uart uses irq instead of fiq */ - rockchip,irq-mode-enable = <1>; - rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ - interrupts = ; - pinctrl-names = "default"; - pinctrl-0 = <&uart2m0_xfer>; - status = "okay"; - }; + chosen: chosen { + bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0"; + }; + + fiq-debugger { + compatible = "rockchip,fiq-debugger"; + rockchip,serial-id = <2>; + rockchip,wake-irq = <0>; + /* If enable uart uses irq instead of fiq */ + rockchip,irq-mode-enable = <1>; + rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart2m0_xfer>; + status = "okay"; + }; ``` \ No newline at end of file diff --git a/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md b/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md index 9c74a1309ee..c793ca639a8 100644 --- a/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md +++ b/bsp/rockchip/rk3500/Taishanpi-RK3566_ZH.md @@ -1,40 +1,40 @@ -# Taishanpi-RK3566 板级支持包使用说明 +# Taishanpi-RK3566 Board Support Package (BSP) Usage Guide -中文页 | [English](./Taishanpi-RK3566_ZH.md) +[中文页](./Taishanpi-RK3566_CN.md) | English -## 0. 说明 +## 0. Code Source Statement -此文档使用的Commit: +The commit used in this document: - `a1c642aa3a2848b47f2a1b52679dc4ee5156f2f4` -在[原有文档](./README.md)基础上面进行了文档补充和步骤说明,丰富了一下原有内容。 +Based on the[original documentation](./README.md), this guide supplements and elaborates on the content with additional documentation and detailed step-by-step instructions. -## 1. 介绍 +## 1. Introduction -这份支持包使用说明是根据[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)所写的一份使用指南。 +This support package usage guide is written based on the[ TaishanPi 1 ](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)development board. -[泰山派1中原理图、PCB文件和软件资料全部开源](https://wiki.lckfb.com/zh-hans/tspi-rk3566/open-source-hardware/) +[All schematic diagrams, PCB files, and software resources for TaishanPi 1 are open-source](https://wiki.lckfb.com/zh-hans/tspi-rk3566/open-source-hardware/) -在本指南中会尽可能的详细介绍使用步骤和相关注意事项。 +This guide provides detailed instructions and relevant precautions. -### 1.1. 芯片介绍 +### 1.1. Chip Introduction -`Rockchip RK3566` 是中高端 `AIOT` 芯片: +`Rockchip RK3566` is a mid-to-high-end `AIOT` chip: -- 采用`22nm`制程工艺。 -- `4`核`Cortex-A55`的`64`位CPU。 -- 主频高达`1.8GHz`。 -- 集成`ARM Mali-G52 GPU` -- 集成`1Tops`算力的`AI`加速器`NPU`; -- 支持`4K 60FPS`解码。 -- 支持`1080P 60FPS`解码。 -- 支持`5M ISP`和`HDR`。 +- Manufactured using `22nm` process technology +- Quad-core `Cortex-A55` 64-bit CPU +- Clock speed up to `1.8GHz` +- Integrated `ARM Mali-G52 GPU` +- Integrated `1Tops` AI accelerator `NPU` +- Supports `4K 60FPS` decoding +- Supports `1080P 60FPS` encoding +- Supports `5M ISP` and `HDR` -### 1.2. 宿主机环境介绍 +### 1.2. Host Machine Environment -本次使用的是 `Ubuntu22.04.5 LTS Desktop` 运行在`VMware`中。 +This guide uses `Ubuntu22.04.5 LTS Desktop` running on`VMware`. -系统信息如下: +System information: ```bash $ cat /etc/os-release @@ -62,50 +62,48 @@ Release: 22.04 Codename: jammy ``` -`Python`版本如下: +`Python`version: ```bash $ python --version Python 3.10.12 ``` -## 2. 环境搭建 +## 2. Environment Setup -运行下面的命令安装相关的软件包: +Run the following commands to install required packages: -1. 必要工具: +1. Essential tools: ```bash sudo apt update && \ sudo apt install -y python3 python3-pip u-boot-tools device-tree-compiler ``` -2. 使用`pip`安装工具: +2. Install tools using `pip`: ```bash pip3 install --user tqdm ``` -3. 设定`python`版本: +3. Set `Python version`: ```bash sudo rm -rf /usr/bin/python && \ sudo ln -s /usr/bin/python3 /usr/bin/python ``` -4. 下载 `RT-Thread Smart` 工具链: +4. Download `RT-Thread Smart` toolchain: ```bash wget https://download.rt-thread.org/download/rt-smart/toolchains/aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 ``` -5. 解压: +5. Extract the toolchain: ```bash sudo tar -xf aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt ``` -5. 将工具链下载后,解压至`/opt`目录。并设置环境变量 - -> 直接复制全部,然后粘贴到命令行回车即可。 +6. Set environment variables after extraction: ```bash export RTT_CC="gcc" @@ -116,87 +114,85 @@ export PATH="$RTT_EXEC_PATH:$PATH" ## 3. 编译 -进入`rt-thread/bsp/rockchip/rk3566`目录下输入下面的命令: +Navigate to the `rt-thread/bsp/rockchip/rk3566` directory and run: -> 这个用于拉取`zlib`软件包,我们编译的时候需要用到。 +> This command pulls the `zlib` package required for compilation. ```bash source ~/.env/tools/scripts/pkgs --update ``` -开始编译: +Start compilation: -> 或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。 +> Alternatively, use `scons --exec-path="GCC toolchain path"` to specify the toolchain location directly. ```bash scons -j$(nproc) ``` -可以看到在当前`rk3566`文件夹中正常生成`rtthread.elf`与`rtthread.bin`文件。 +The `rtthread.elf` and `rtthread.bin` files will be generated in the current `rk3566` directory. -## 3. 运行 +## 3. Running -### 3.1. 为板子烧录镜像 +### 3.1. Flashing the Board -因为我需要在 `Uboot` 环境中使用命令进行引导 `rtthread` 系统,所以需要烧录相关的文件。 +To boot the `rtthread` system using U-Boot commands, flash the following files using the Rockchip development tool. -这里我是用的内核是 [泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/) 的 `Rockchip Linux5.10 SDK`: +This guide uses the [ TaishanPi 1 ](https://wiki.lckfb.com/zh-hans/tspi-rk3566/) `Rockchip Linux5.10 SDK`: - `Github`:https://github.com/TaishanPi -- 教程看 [宿主机构建方式](https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/openkylin-sdk-compilation.html) +- Tutorial [Host Machine Build Method](https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/openkylin-sdk-compilation.html) -编译完成之后会在 `rockdev/` 目录下生成我们所需要的文件 +After compilation, required files will be in the `rockdev/` directory. -将板子的所有镜像全部擦除: +Erase all existing firmware from the board: ![rockchip-clean](./figures/rockchip-clean.jpg) -然后使用`瑞芯微开发工具`烧录下面的`4`个文件: +Flash these 4 files using the Rockchip Development Tool: -> > 注意: 因为我们的SDK是重新进行分区的,所以使用[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)需要下面的`4`个文件,其他板子没有测试,可以自行尝试。 +> > Note: The TaishanPi 1 SDK uses a custom partition layout. Other boards may require different files. - `MiniLoaderAll.bin` - `parameter.txt` - `uboot.img` - `boot.img` -### 3.2. 格式化TF卡 +### 3.2. Formatting the TF Card -我们需要准备一张 `TF` 卡,用来存放 `rtthread.bin` 文件。 +Prepare a TF card to store files. -下载 `Rufus`:https://rufus.org.cn/ +Download `Rufus`:https://rufus.org.cn/ -设定为下列的模式,然后点击`开始`: +Configure with these settings and click "Start": ![rockchip-clean](./figures/rufus.jpg) -### 3.3. 制作boot.scr - -> 这里可以直接使用当前目录下的 `boot.scr`,同样也是用下面的方式制作出来的,如果有需求可以根据下面的方法自己制作。 +### 3.3. Creating boot.scr -前面我们已经安装过 `u-boot-tools` 所以直接使用即可。 +> You can use the existing `boot.scr` in this directory, or create your own using the method below. -创建 `boot.cmd`,并写入下面的内容: +Create `boot.cmd` with the following content: ```bash fatload mmc 1:1 0x480000 rtthread.bin; fatload mmc 1:1 0x8300000 tspi-rk3566-user-v10-linux.dtb; booti 0x480000 - 0x8300000; ``` -> 系统启动需要`设备树文件DTB`,这里我们[泰山派1](https://wiki.lckfb.com/zh-hans/tspi-rk3566/)的`dtb`文件是`kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dtb`,其他的文件有不同的名字,可以根据不同的开发板选择。不然`rtthread`就会无法启动,详情请看文档最后面的 `常见问题与解决办法` +> The Device Tree Blob (DTB) file is required for system startup. For TaishanPi 1, the DTB file is located at `kernel/arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dtb`. Other boards may use different DTB files. Without the correct DTB, rtthread will fail to boot (see "Common Issues and Solutions"). -运行生成`boot.scr` +Generate `boot.scr` ```bash mkimage -C none -A arm -T script -d boot.cmd boot.scr ``` -### 3.4. 复制文件到TF卡 +### 3.4. Copying Files to TF Card -将下面三个文件复制到TF中: +Copy these three files to the TF card: - `boot.scr` - `tspi-rk3566-user-v10-linux.dtb` @@ -204,19 +200,20 @@ mkimage -C none -A arm -T script -d boot.cmd boot.scr ![tf](./figures/tf.jpg) -### 3.5. 运行 +### 3.5. Running -连接[开发板串口->MoBaXterm](https://wiki.lckfb.com/zh-hans/tspi-rk3566/tool-use/debug-tools-use.html): +Connect to the board's serial port using a tool like [MoBaXterm](https://wiki.lckfb.com/zh-hans/tspi-rk3566/tool-use/debug-tools-use.html): -打开串口工具,选择对应串口,设置波特率为 `1500000` +- Select the correct serial port +- Set baud rate to `1500000` -因为有 `boot.scr` 会自动引导启动`rtthread`: +With `boot.scr` present, the system will boot automatically: -> 注意1:如果卡死在了 `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` 那么看`常见问题与解决办法`。 +> Note 1: If stuck at `[I/rtdm.ofw] Console: uart0 (fiq-debugger)`, see "Common Issues and Solutions". -> 注意2:记得每次`rtthread`启动失败(在`uboot`中引导失败后),都应该将开发板完全断电然后在上电,清空内存。 +> Note 2: After failed boot attempts, completely power cycle the board to clear memory. -> 注意3:如果多次自动引导失败可以手动在`uboot`界面运行 `boot.cmd` 的内容,手动引导,如果还不行,那就要考虑其他的因素了,例如TF质量问题,传输到TF卡中的文件有损坏等等等。 +> Note 3: If automatic boot fails, manually execute the `boot.cmd` content in U-Boot. ```bash Hit key to stop autoboot('CTRL+C'): 0 @@ -312,11 +309,11 @@ msh /> msh /> ``` -## 常见问题与解决办法 +## Common Issues and Solutions ### Could not find a valid device tree -我们没有加载 `.dtb` 设备树文件直接启动就会出现这样的情况: +This error occurs when booting without loading the `.dtb` device tree file: ```bash Hit key to stop autoboot('CTRL+C'): 0 @@ -336,34 +333,35 @@ Could not find a valid device tree => ``` -> 注意:记得每次`rtthread`启动失败(在`uboot`中引导失败后),都应该将开发板完全断电然后在上电,清空内存。 - -然后将 `kernel/arch/arm64/boot/dts/rockchip/` 文件夹中编译之后的`.dtb`文件转移到TF卡中,然后使用 `fatload`从TF卡中加载到`0x8300000`地址然后再次跳转即可。 +Solution: +1. Power cycle the board completely after failed boot attempts +2. Copy the compiled `.dtb` file from `kernel/arch/arm64/boot/dts/rockchip/` to the TF card +3. Load the `DTB` to address `0x8300000` using `fatload` +4. Execute the boot command again -### 卡在 `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` 无法启动 -大概率和你的设备树有关系,在设备树中有一个参数很重要,需要被读取: +### System Stuck at `[I/rtdm.ofw] Console: uart0 (fiq-debugger)` -> 这里我贴出我的参数,我的`Debug`串口硬件是`uart2m0` +This is typically caused by incorrect device tree configuration. The `chosen` node parameters are critical. -> 这个`chosen` 是重要的,如果不清楚,可以参照我这么写。 +Example configuration for TaishanPi 1 (Debug UART: `uart2m0`): ```ini - chosen: chosen { - bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0"; - }; - - fiq-debugger { - compatible = "rockchip,fiq-debugger"; - rockchip,serial-id = <2>; - rockchip,wake-irq = <0>; - /* If enable uart uses irq instead of fiq */ - rockchip,irq-mode-enable = <1>; - rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ - interrupts = ; - pinctrl-names = "default"; - pinctrl-0 = <&uart2m0_xfer>; - status = "okay"; - }; + chosen: chosen { + bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0"; + }; + + fiq-debugger { + compatible = "rockchip,fiq-debugger"; + rockchip,serial-id = <2>; + rockchip,wake-irq = <0>; + /* If enable uart uses irq instead of fiq */ + rockchip,irq-mode-enable = <1>; + rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart2m0_xfer>; + status = "okay"; + }; ``` \ No newline at end of file From d62e6b1b89cc5fad6f8d57f4f8f8b29663d4c6cd Mon Sep 17 00:00:00 2001 From: LeenixP Date: Wed, 30 Jul 2025 15:40:01 +0800 Subject: [PATCH 5/6] Compress the image file --- .../rk3500/figures/rockchip-clean.jpg | Bin 645671 -> 31125 bytes bsp/rockchip/rk3500/figures/rufus.jpg | Bin 644116 -> 29462 bytes bsp/rockchip/rk3500/figures/tf.jpg | Bin 390246 -> 10052 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bsp/rockchip/rk3500/figures/rockchip-clean.jpg b/bsp/rockchip/rk3500/figures/rockchip-clean.jpg index db063d4db31ad0d06522f8b297352dc157c349df..eae2deac95603d9d045aa46c57dfe4280d008c44 100644 GIT binary patch literal 31125 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 literal 645671 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 %@ymEz8Q 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%0A|Z6jcY=TL^bNNR7hasWdm#&u!b47#((U3%YK^6y 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⋘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

j{=kCuEjgP#ujBqOyq&F`8 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�<`t0(KQp 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 z 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