From 35c564c01a3a15b4912241a8340339e8ba3cd85e Mon Sep 17 00:00:00 2001 From: flyingcys Date: Thu, 28 Mar 2024 23:35:54 +0800 Subject: [PATCH] support cv181x c906_little (#8680) --- bsp/cvitek/.gitignore | 6 +- bsp/cvitek/README.md | 38 +- bsp/cvitek/c906_little/.config | 3 + bsp/cvitek/c906_little/Kconfig | 12 +- bsp/cvitek/c906_little/README.md | 23 +- bsp/cvitek/c906_little/SConstruct | 4 + .../script/cv180x}/cv180x_lscript.ld | 5 +- .../board/script/cv180x/cvi_board_memmap.ld | 30 + .../board/script/cv181x/cv181x_lscript.ld | 225 +++++ .../board/script/cv181x/cvi_board_memmap.ld | 32 + bsp/cvitek/c906_little/rtconfig.h | 1 + bsp/cvitek/c906_little/rtconfig.py | 7 +- bsp/cvitek/combine-fip.sh | 99 ++- bsp/cvitek/cv1800b/mksdimg.sh | 7 - bsp/cvitek/{cv1800b => cv180x}/.config | 4 +- bsp/cvitek/{cv1800b => cv180x}/.gitignore | 0 bsp/cvitek/{cv1800b => cv180x}/Kconfig | 10 +- bsp/cvitek/{cv1800b => cv180x}/README.md | 5 +- bsp/cvitek/{cv1800b => cv180x}/README_en.md | 0 bsp/cvitek/{cv1800b => cv180x}/SConscript | 0 bsp/cvitek/{cv1800b => cv180x}/SConstruct | 0 .../applications/SConscript | 0 .../{cv1800b => cv180x}/applications/main.c | 0 bsp/cvitek/{cv1800b => cv180x}/board/Kconfig | 0 .../{cv1800b => cv180x}/board/SConscript | 0 bsp/cvitek/{cv1800b => cv180x}/board/board.c | 0 bsp/cvitek/{cv1800b => cv180x}/board/board.h | 0 .../cv1800b_milkv_duo_sd.dtb | Bin bsp/cvitek/{cv1800b => cv180x}/link.lds | 0 .../{cv1800b => cv180x}/link_stacksize.lds | 0 bsp/cvitek/{cv1800b => cv180x}/multi.its | 0 bsp/cvitek/{cv1800b => cv180x}/rtconfig.h | 3 +- bsp/cvitek/{cv1800b => cv180x}/rtconfig.py | 4 +- bsp/cvitek/drivers/.ignore_format.yml | 6 + bsp/cvitek/drivers/SConscript | 19 +- .../cv180x}/cv180x_pinlist_swconfig.h | 0 .../cv180x}/cv180x_pinmux.h | 0 .../cv180x}/cv180x_reg_fmux_gpio.h | 0 .../{cv1800b => libraries/cv180x}/pinctrl.h | 0 .../cv180x}/pwm/cvi_pwm.h | 0 .../cv181x/cv181x_pinlist_swconfig.h | 653 ++++++++++++++ .../drivers/libraries/cv181x/cv181x_pinmux.h | 46 + .../libraries/cv181x/cv181x_reg_fmux_gpio.h | 475 +++++++++++ bsp/cvitek/drivers/libraries/cv181x/pinctrl.h | 35 + .../drivers/{cv1800b => libraries}/mmio.h | 0 .../drivers/{cv1800b => libraries}/types.h | 0 bsp/cvitek/{cv1800b => }/mkimage | Bin bsp/cvitek/mksdimg.sh | 37 + .../fsbl/build/cv1800b_milkv_duo_sd/bl2.bin | Bin 47152 -> 0 bytes .../build/cv1800b_milkv_duo_sd/blmacros.bin | 1 - .../build/cv1800b_milkv_duo_sd/blmacros.env | 2 - .../build/cv1800b_milkv_duo_sd/chip_conf.bin | Bin 24 -> 0 bytes .../pre-build/fsbl/build/cvi_board_memmap.h | 35 - .../pre-build/fsbl/plat/cv180x/chip_conf.py | 38 - .../pre-build/fsbl/plat/cv180x/fipsign.py | 252 ------ .../pre-build/fsbl/plat/cv180x/fiptool.py | 802 ------------------ .../pre-build/fsbl/plat/cv180x/platform.mk | 85 -- .../pre-build/fsbl/test/cv181x/blcp.bin | Bin 16384 -> 0 bytes .../pre-build/fsbl/test/cv181x/blcp_param.bin | Bin 504 -> 0 bytes .../fsbl/test/cv181x/cmm/cv181x_clear_rom.cmm | 16 - .../test/cv181x/cmm/cv181x_fpga_bl1_c906.cmm | 14 - .../test/cv181x/cmm/cv181x_fpga_bl1_ca53.cmm | 13 - .../pre-build/fsbl/test/cv181x/cmm/up.cmm | 40 - .../fsbl/test/cv181x/cv181x_c906b_bl1.bin | Bin 98306 -> 0 bytes .../fsbl/test/cv181x/cv181x_ca53_bl1.bin | Bin 98306 -> 0 bytes .../pre-build/fsbl/test/cv181x/ddr_param.bin | Bin 8192 -> 0 bytes bsp/cvitek/pre-build/fsbl/test/empty.bin | 0 bsp/cvitek/pre-build/fw_dynamic.bin | Bin 110472 -> 0 bytes bsp/cvitek/pre-build/u-boot-raw.bin | Bin 273429 -> 0 bytes 69 files changed, 1737 insertions(+), 1350 deletions(-) rename bsp/cvitek/c906_little/{ => board/script/cv180x}/cv180x_lscript.ld (98%) create mode 100755 bsp/cvitek/c906_little/board/script/cv180x/cvi_board_memmap.ld create mode 100755 bsp/cvitek/c906_little/board/script/cv181x/cv181x_lscript.ld create mode 100755 bsp/cvitek/c906_little/board/script/cv181x/cvi_board_memmap.ld delete mode 100755 bsp/cvitek/cv1800b/mksdimg.sh rename bsp/cvitek/{cv1800b => cv180x}/.config (99%) rename bsp/cvitek/{cv1800b => cv180x}/.gitignore (100%) rename bsp/cvitek/{cv1800b => cv180x}/Kconfig (83%) rename bsp/cvitek/{cv1800b => cv180x}/README.md (95%) rename bsp/cvitek/{cv1800b => cv180x}/README_en.md (100%) rename bsp/cvitek/{cv1800b => cv180x}/SConscript (100%) rename bsp/cvitek/{cv1800b => cv180x}/SConstruct (100%) rename bsp/cvitek/{cv1800b => cv180x}/applications/SConscript (100%) rename bsp/cvitek/{cv1800b => cv180x}/applications/main.c (100%) rename bsp/cvitek/{cv1800b => cv180x}/board/Kconfig (100%) rename bsp/cvitek/{cv1800b => cv180x}/board/SConscript (100%) rename bsp/cvitek/{cv1800b => cv180x}/board/board.c (100%) rename bsp/cvitek/{cv1800b => cv180x}/board/board.h (100%) rename bsp/cvitek/{cv1800b => cv180x}/cv1800b_milkv_duo_sd.dtb (100%) rename bsp/cvitek/{cv1800b => cv180x}/link.lds (100%) rename bsp/cvitek/{cv1800b => cv180x}/link_stacksize.lds (100%) rename bsp/cvitek/{cv1800b => cv180x}/multi.its (100%) rename bsp/cvitek/{cv1800b => cv180x}/rtconfig.h (99%) rename bsp/cvitek/{cv1800b => cv180x}/rtconfig.py (90%) create mode 100755 bsp/cvitek/drivers/.ignore_format.yml rename bsp/cvitek/drivers/{cv1800b => libraries/cv180x}/cv180x_pinlist_swconfig.h (100%) rename bsp/cvitek/drivers/{cv1800b => libraries/cv180x}/cv180x_pinmux.h (100%) rename bsp/cvitek/drivers/{cv1800b => libraries/cv180x}/cv180x_reg_fmux_gpio.h (100%) rename bsp/cvitek/drivers/{cv1800b => libraries/cv180x}/pinctrl.h (100%) rename bsp/cvitek/drivers/{cv1800b => libraries/cv180x}/pwm/cvi_pwm.h (100%) mode change 100644 => 100755 create mode 100755 bsp/cvitek/drivers/libraries/cv181x/cv181x_pinlist_swconfig.h create mode 100755 bsp/cvitek/drivers/libraries/cv181x/cv181x_pinmux.h create mode 100755 bsp/cvitek/drivers/libraries/cv181x/cv181x_reg_fmux_gpio.h create mode 100755 bsp/cvitek/drivers/libraries/cv181x/pinctrl.h rename bsp/cvitek/drivers/{cv1800b => libraries}/mmio.h (100%) mode change 100644 => 100755 rename bsp/cvitek/drivers/{cv1800b => libraries}/types.h (100%) rename bsp/cvitek/{cv1800b => }/mkimage (100%) create mode 100755 bsp/cvitek/mksdimg.sh delete mode 100755 bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/bl2.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.env delete mode 100755 bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/chip_conf.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/build/cvi_board_memmap.h delete mode 100755 bsp/cvitek/pre-build/fsbl/plat/cv180x/chip_conf.py delete mode 100755 bsp/cvitek/pre-build/fsbl/plat/cv180x/fipsign.py delete mode 100755 bsp/cvitek/pre-build/fsbl/plat/cv180x/fiptool.py delete mode 100755 bsp/cvitek/pre-build/fsbl/plat/cv180x/platform.mk delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/blcp.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/blcp_param.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_clear_rom.cmm delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_c906.cmm delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_ca53.cmm delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/up.cmm delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/cv181x_c906b_bl1.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/cv181x_ca53_bl1.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/test/cv181x/ddr_param.bin delete mode 100755 bsp/cvitek/pre-build/fsbl/test/empty.bin delete mode 100755 bsp/cvitek/pre-build/fw_dynamic.bin delete mode 100755 bsp/cvitek/pre-build/u-boot-raw.bin diff --git a/bsp/cvitek/.gitignore b/bsp/cvitek/.gitignore index 97d926d957..93694d216f 100755 --- a/bsp/cvitek/.gitignore +++ b/bsp/cvitek/.gitignore @@ -1,2 +1,6 @@ +cvitek_bootloader fip.bin -boot.sd \ No newline at end of file +boot.sd +output +c906_little/board/script +Image.lzma \ No newline at end of file diff --git a/bsp/cvitek/README.md b/bsp/cvitek/README.md index d9c7ae1077..a343b557ce 100755 --- a/bsp/cvitek/README.md +++ b/bsp/cvitek/README.md @@ -8,7 +8,7 @@ | 芯片名称 | 芯片架构 | 内存大小 | 默认日志串口 | 备注 | | ------- | ------- |------- | -------- | -------- | -| cv1800b | RISC-V C906 | 64MByte | uart0 | 默认开启 MMU,运行 RT-SMART 模式 | +| cv180x | RISC-V C906 | 64MByte | uart0 | 默认开启 MMU,运行 RT-SMART 模式 | - 小核 @@ -18,10 +18,30 @@ > 注:异构芯片需单独编译每个核的 OS +## 编译 +异构芯片需单独编译每个核的 OS,在大/小核对应的目录下,依次执行: + +1. 开发板选择 +Linux平台下,可以先执行: +```shell +$ scons --menuconfig +``` + +选择当前需要编译的目标开发板类型 +```shell +Board Type (milkv-duo) ---> + ( ) milkv-duo + (X) milkv-duo256m +``` + +2. 编译 +```shell +$ scons +``` ## 运行 -编译成功后,会在 `bsp/cvitek` 目录下自动生成 `fip.bin` 和 `boot.sd` 文件,其中大核运行文件在 `boot.sd` 中,小核的运行文件在 `fip.bin` 中。 +编译成功后,会在 `bsp/cvitek/output` 对应开发板型号目录下自动生成 `fip.bin` 和 `boot.sd` 文件,其中大核运行文件在 `boot.sd` 中,小核的运行文件在 `fip.bin` 中。 1. 将 SD 卡分为 2 个分区,第 1 个分区用于存放 bin 文件,第 2 个分区用于作为数据存储分区,分区格式为 `FAT32`。 2. 将根目录下的 `fip.bin` 和 `boot.sd` 复制 SD 卡第一个分区中。 @@ -39,10 +59,22 @@ ## 支持开发板 - milk-v duo: [https://milkv.io/duo](https://milkv.io/duo) +- milk-v duo256m: [https://milkv.io/duo256m](https://milkv.io/docs/duo/getting-started/duo256m) ## FAQ 1. 如遇到不能正常编译,请先使用 `scons --menuconfig` 重新生成配置。 +2. 错误:./mkimage: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory + +可在 [http://security.ubuntu.com/ubuntu/pool/main/o/openssl](http://security.ubuntu.com/ubuntu/pool/main/o/openssl) 下载 `libssl1.1_1.1.1f-1ubuntu2_amd64.deb` 文件后安装即可解决。 +或使用以下命令下载安装: +```shell +$ wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb +$ sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb +``` + ## 联系人信息 -维护人:[flyingcys](https://github.com/flyingcys) \ No newline at end of file +维护人:[flyingcys](https://github.com/flyingcys) + +更多信息请参考 [https://riscv-rtthread-programming-manual.readthedocs.io](https://riscv-rtthread-programming-manual.readthedocs.io) \ No newline at end of file diff --git a/bsp/cvitek/c906_little/.config b/bsp/cvitek/c906_little/.config index 56756b1f7d..4e65cfbb5f 100644 --- a/bsp/cvitek/c906_little/.config +++ b/bsp/cvitek/c906_little/.config @@ -1001,6 +1001,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0 # 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 # # Display @@ -1087,3 +1088,5 @@ CONFIG_BSP_USING_C906_LITTLE=y CONFIG_PLIC_PHY_ADDR=0x70000000 CONFIG_IRQ_MAX_NR=128 CONFIG_TIMER_CLK_FREQ=25000000 +# CONFIG_BOARD_TYPE_MILKV_DUO is not set +CONFIG_BOARD_TYPE_MILKV_DUO256M=y diff --git a/bsp/cvitek/c906_little/Kconfig b/bsp/cvitek/c906_little/Kconfig index 2e6980adea..a759cc313d 100755 --- a/bsp/cvitek/c906_little/Kconfig +++ b/bsp/cvitek/c906_little/Kconfig @@ -37,4 +37,14 @@ config IRQ_MAX_NR config TIMER_CLK_FREQ int - default 25000000 \ No newline at end of file + default 25000000 + +choice + prompt "Board Type" + default BOARD_TYPE_MILKV_DUO256M + + config BOARD_TYPE_MILKV_DUO + bool "milkv-duo" + config BOARD_TYPE_MILKV_DUO256M + bool "milkv-duo256m" +endchoice diff --git a/bsp/cvitek/c906_little/README.md b/bsp/cvitek/c906_little/README.md index 71a3d6135d..5f7e0e8591 100755 --- a/bsp/cvitek/c906_little/README.md +++ b/bsp/cvitek/c906_little/README.md @@ -17,20 +17,37 @@ $ export RTT_EXEC_PATH=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.1/bin ``` ## 编译 -1. Linux平台下,可以先执行: +1. 依赖安装 + +```shell +$ sudo apt install -y scons libncurses5-dev wget flex bison +``` + + +2. Linux平台下,先执行: ```shell $ scons --menuconfig ``` -它会自动下载env相关脚本到~/.env目录,然后执行 +选择当前需要编译的目标开发板类型 +```shell +Board Type (milkv-duo) ---> + ( ) milkv-duo + (X) milkv-duo256m +``` + +它会自动下载 env 相关脚本到 ~/.env 目录,然后执行 ```shell $ source ~/.env/env.sh $ pkgs --update ``` -更新完软件包后,执行 `scons -j10` 或 `scons -j10 --verbose` 来编译这个板级支持包。或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。编译正确无误,会产生rtthread.elf文件。 +更新完软件包后,执行 `scons -j10` 或 `scons -j10 --verbose` 来编译这个板级支持包。或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。编译正确无误,会产生rtthread.elf 文件。 编译完成后脚本自动调用 `combine-fip.sh` 脚本进行打包,并生成 `fip.sd`, 该文件即为 SD 卡启动的 c906_little 文件。 +第一次调用 `combine-fip.sh` 脚本时会自动下载打包需要的 `opsbsbi`、`fsbl`、`uboot` 等相关文件至 `bsp/cvitek/cvitek_bootloader` 目录,请耐心等待。 + +下载完成后会自动解压、编译,后续再次编译同一类型开发板只会调用相关文件打包合成 `fip.bin`。如需手工编译相关 `cvitek_bootloader` 文件,可在 `bsp/cvitek/cvitek_bootloader` 目录下执行 `bash build.sh lunch` 选择对应的开发板编译。 ## 运行 1. 将 SD 卡分为 2 个分区,第 1 个分区用于存放 bin 文件,第 2 个分区用于作为数据存储分区,分区格式为 `FAT32`。 diff --git a/bsp/cvitek/c906_little/SConstruct b/bsp/cvitek/c906_little/SConstruct index b331ef4db8..0a1878479d 100755 --- a/bsp/cvitek/c906_little/SConstruct +++ b/bsp/cvitek/c906_little/SConstruct @@ -37,5 +37,9 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu = False) # include libraries objs.extend(SConscript(drivers_path_prefix + '/SConscript', variant_dir='build/drivers', duplicate=0)) +if GetDepend('BOARD_TYPE_MILKV_DUO256M'): + env['LINKFLAGS'] = env['LINKFLAGS'].replace('cv180x_lscript.ld', 'cv181x_lscript.ld') + env['LINKFLAGS'] = env['LINKFLAGS'].replace('-L board/script/cv180x', '-L board/script/cv181x') + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/cvitek/c906_little/cv180x_lscript.ld b/bsp/cvitek/c906_little/board/script/cv180x/cv180x_lscript.ld similarity index 98% rename from bsp/cvitek/c906_little/cv180x_lscript.ld rename to bsp/cvitek/c906_little/board/script/cv180x/cv180x_lscript.ld index 180e319311..a91067f725 100755 --- a/bsp/cvitek/c906_little/cv180x_lscript.ld +++ b/bsp/cvitek/c906_little/board/script/cv180x/cv180x_lscript.ld @@ -7,6 +7,8 @@ * Date Author Notes * 2024/01/11 flyingcys The first version */ +INCLUDE ./cvi_board_memmap.ld + _STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x20000; /* _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x1000000; */ /*_HEAP_SIZE = 0x20000;*/ @@ -15,9 +17,6 @@ _EL0_STACK_SIZE = DEFINED(_EL0_STACK_SIZE) ? _EL0_STACK_SIZE : 1024; _EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 2048; _EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024; -CVIMMAP_FREERTOS_ADDR = 0x83f40000; -CVIMMAP_FREERTOS_SIZE = 0xc0000; - /* Define Memories in the system */ MEMORY diff --git a/bsp/cvitek/c906_little/board/script/cv180x/cvi_board_memmap.ld b/bsp/cvitek/c906_little/board/script/cv180x/cvi_board_memmap.ld new file mode 100755 index 0000000000..9f2f155826 --- /dev/null +++ b/bsp/cvitek/c906_little/board/script/cv180x/cvi_board_memmap.ld @@ -0,0 +1,30 @@ +CONFIG_SYS_TEXT_BASE = 0x80200000; +CVIMMAP_ATF_SIZE = 0x80000; +CVIMMAP_BOOTLOGO_ADDR = 0x82473000; +CVIMMAP_BOOTLOGO_SIZE = 0x0; +CVIMMAP_CONFIG_SYS_INIT_SP_ADDR = 0x82300000; +CVIMMAP_CVI_UPDATE_HEADER_ADDR = 0x813ffc00; +CVIMMAP_CVI_UPDATE_HEADER_SIZE = 0x400; +CVIMMAP_DRAM_BASE = 0x80000000; +CVIMMAP_DRAM_SIZE = 0x4000000; +CVIMMAP_FREERTOS_ADDR = 0x83f40000; +CVIMMAP_FREERTOS_RESERVED_ION_SIZE = 0x0; +CVIMMAP_FREERTOS_SIZE = 0xc0000; +CVIMMAP_FSBL_C906L_START_ADDR = 0x83f40000; +CVIMMAP_FSBL_UNZIP_ADDR = 0x81400000; +CVIMMAP_FSBL_UNZIP_SIZE = 0xf00000; +CVIMMAP_H26X_BITSTREAM_ADDR = 0x82473000; +CVIMMAP_H26X_BITSTREAM_SIZE = 0x0; +CVIMMAP_H26X_ENC_BUFF_ADDR = 0x82473000; +CVIMMAP_H26X_ENC_BUFF_SIZE = 0x0; +CVIMMAP_ION_ADDR = 0x82473000; +CVIMMAP_ION_SIZE = 0x1acd000; +CVIMMAP_ISP_MEM_BASE_ADDR = 0x82473000; +CVIMMAP_ISP_MEM_BASE_SIZE = 0x0; +CVIMMAP_KERNEL_MEMORY_ADDR = 0x80000000; +CVIMMAP_KERNEL_MEMORY_SIZE = 0x3f40000; +CVIMMAP_MONITOR_ADDR = 0x80000000; +CVIMMAP_OPENSBI_FDT_ADDR = 0x80080000; +CVIMMAP_OPENSBI_SIZE = 0x80000; +CVIMMAP_UIMAG_ADDR = 0x81400000; +CVIMMAP_UIMAG_SIZE = 0xf00000; \ No newline at end of file diff --git a/bsp/cvitek/c906_little/board/script/cv181x/cv181x_lscript.ld b/bsp/cvitek/c906_little/board/script/cv181x/cv181x_lscript.ld new file mode 100755 index 0000000000..a91067f725 --- /dev/null +++ b/bsp/cvitek/c906_little/board/script/cv181x/cv181x_lscript.ld @@ -0,0 +1,225 @@ +/* + * Copyright (c) 2006-2024, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2024/01/11 flyingcys The first version + */ +INCLUDE ./cvi_board_memmap.ld + +_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x20000; +/* _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x1000000; */ +/*_HEAP_SIZE = 0x20000;*/ + +_EL0_STACK_SIZE = DEFINED(_EL0_STACK_SIZE) ? _EL0_STACK_SIZE : 1024; +_EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 2048; +_EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024; + +/* Define Memories in the system */ + +MEMORY +{ + psu_ddr_0_MEM_0 : ORIGIN = CVIMMAP_FREERTOS_ADDR , LENGTH = CVIMMAP_FREERTOS_SIZE +} + +/* Specify the default entry point to the program */ + +/*ENTRY(_vector_table)*/ +ENTRY(_start) + +/* Define the sections, and where they are mapped in memory */ + +SECTIONS +{ +.text : { + KEEP (*(.vectors)) + *(.boot) + *(.text) + *(.text.*) + *(.gnu.linkonce.t.*) + *(.plt) + *(.gnu_warning) + *(.gcc_execpt_table) + *(.glue_7) + *(.glue_7t) + *(.ARM.extab) + *(.gnu.linkonce.armextab.*) + + /* section information for finsh shell */ + . = ALIGN(8); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(8); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(8); + + /* section information for initial. */ + . = ALIGN(8); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + . = ALIGN(8); + + __rt_utest_tc_tab_start = .; + KEEP(*(UtestTcTab)) + __rt_utest_tc_tab_end = .; +} > psu_ddr_0_MEM_0 + +.init (ALIGN(64)) : { + KEEP (*(.init)) +} > psu_ddr_0_MEM_0 + +.fini (ALIGN(64)) : { + KEEP (*(.fini)) +} > psu_ddr_0_MEM_0 + +.interp : { + KEEP (*(.interp)) +} > psu_ddr_0_MEM_0 + +.note-ABI-tag : { + KEEP (*(.note-ABI-tag)) +} > psu_ddr_0_MEM_0 + +.rodata : { + . = ALIGN(64); + __rodata_start = .; + *(.rodata) + *(.rodata.*) + *(.srodata*) + *(.gnu.linkonce.r.*) + __rodata_end = .; +} > psu_ddr_0_MEM_0 + +.rodata1 : { + . = ALIGN(64); + __rodata1_start = .; + *(.rodata1) + *(.rodata1.*) + __rodata1_end = .; +} > psu_ddr_0_MEM_0 + +.data : { + . = ALIGN(64); + _data = .; + *(.data) + *(.data.*) + *(.sdata) + *(.sdata.*) + *(.gnu.linkonce.d.*) + *(.jcr) + *(.got) + *(.got.plt) + _edata = .; +} > psu_ddr_0_MEM_0 + +.data1 : { + . = ALIGN(64); + __data1_start = .; + *(.data1) + *(.data1.*) + __data1_end = .; +} > psu_ddr_0_MEM_0 + +.got : { + *(.got) +} > psu_ddr_0_MEM_0 + +.got1 : { + *(.got1) +} > psu_ddr_0_MEM_0 + +.got2 : { + *(.got2) +} > psu_ddr_0_MEM_0 + +.ctors : { + . = ALIGN(64); + __CTOR_LIST__ = .; + ___CTORS_LIST___ = .; + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __CTOR_END__ = .; + ___CTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.dtors : { + . = ALIGN(64); + __DTOR_LIST__ = .; + ___DTORS_LIST___ = .; + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __DTOR_END__ = .; + ___DTORS_END___ = .; +} > psu_ddr_0_MEM_0 + +.fixup : { + __fixup_start = .; + *(.fixup) + __fixup_end = .; +} > psu_ddr_0_MEM_0 + +.eh_frame : { + *(.eh_frame) +} > psu_ddr_0_MEM_0 + +.eh_framehdr : { + __eh_framehdr_start = .; + *(.eh_framehdr) + __eh_framehdr_end = .; +} > psu_ddr_0_MEM_0 + +.gcc_except_table : { + *(.gcc_except_table) +} > psu_ddr_0_MEM_0 + +.bss (NOLOAD) : { + . = ALIGN(64); + _bss = .; + *(.bss) + *(.bss.*) + *(.sbss) + *(.sbss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(64); + _ebss = .; +} > psu_ddr_0_MEM_0 + +/*_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );*/ + _data_lma = LOADADDR(.data); + +/* Generate Stack and Heap definitions */ +.stack (NOLOAD) : { + . = ALIGN(64); + _stack_end_end = .; + . += _STACK_SIZE; + _stack_top = .; + __rt_rvstack = .; +} > psu_ddr_0_MEM_0 + +.heap (NOLOAD) : { + . = ALIGN(64); + _heap = .; + HeapBase = .; + _heap_start = .; + *(.heap*) + /*. += _HEAP_SIZE;*/ + /*_heap_size = _HEAP_SIZE; */ + _heap_end = .; + HeapLimit = .; +} > psu_ddr_0_MEM_0 + +HeapLimit = ORIGIN(psu_ddr_0_MEM_0) + LENGTH(psu_ddr_0_MEM_0); +_end = .; +} + diff --git a/bsp/cvitek/c906_little/board/script/cv181x/cvi_board_memmap.ld b/bsp/cvitek/c906_little/board/script/cv181x/cvi_board_memmap.ld new file mode 100755 index 0000000000..d2b8744044 --- /dev/null +++ b/bsp/cvitek/c906_little/board/script/cv181x/cvi_board_memmap.ld @@ -0,0 +1,32 @@ +CONFIG_SYS_TEXT_BASE = 0x80200000; +CVIMMAP_ATF_SIZE = 0x80000; +CVIMMAP_BOOTLOGO_ADDR = 0x8b13e000; +CVIMMAP_BOOTLOGO_SIZE = 0x1c2000; +CVIMMAP_CONFIG_SYS_INIT_SP_ADDR = 0x82800000; +CVIMMAP_CVI_UPDATE_HEADER_ADDR = 0x817ffc00; +CVIMMAP_CVI_UPDATE_HEADER_SIZE = 0x400; +CVIMMAP_DRAM_BASE = 0x80000000; +CVIMMAP_DRAM_SIZE = 0x10000000; +CVIMMAP_FRAMEBUFFER_ADDR = 0x8b13e000; +CVIMMAP_FRAMEBUFFER_SIZE = 0x1c2000; +CVIMMAP_FREERTOS_ADDR = 0x8fe00000; +CVIMMAP_FREERTOS_RESERVED_ION_SIZE = 0x1600000; +CVIMMAP_FREERTOS_SIZE = 0x200000; +CVIMMAP_FSBL_C906L_START_ADDR = 0x8fe00000; +CVIMMAP_FSBL_UNZIP_ADDR = 0x81800000; +CVIMMAP_FSBL_UNZIP_SIZE = 0x1000000; +CVIMMAP_H26X_BITSTREAM_ADDR = 0x8b300000; +CVIMMAP_H26X_BITSTREAM_SIZE = 0x200000; +CVIMMAP_H26X_ENC_BUFF_ADDR = 0x8b500000; +CVIMMAP_H26X_ENC_BUFF_SIZE = 0x0; +CVIMMAP_ION_ADDR = 0x8b300000; +CVIMMAP_ION_SIZE = 0x4b00000; +CVIMMAP_ISP_MEM_BASE_ADDR = 0x8b500000; +CVIMMAP_ISP_MEM_BASE_SIZE = 0x1400000; +CVIMMAP_KERNEL_MEMORY_ADDR = 0x80000000; +CVIMMAP_KERNEL_MEMORY_SIZE = 0xfe00000; +CVIMMAP_MONITOR_ADDR = 0x80000000; +CVIMMAP_OPENSBI_FDT_ADDR = 0x80080000; +CVIMMAP_OPENSBI_SIZE = 0x80000; +CVIMMAP_UIMAG_ADDR = 0x81800000; +CVIMMAP_UIMAG_SIZE = 0x1000000; \ No newline at end of file diff --git a/bsp/cvitek/c906_little/rtconfig.h b/bsp/cvitek/c906_little/rtconfig.h index 40db54549b..d4fced8b33 100755 --- a/bsp/cvitek/c906_little/rtconfig.h +++ b/bsp/cvitek/c906_little/rtconfig.h @@ -268,5 +268,6 @@ #define PLIC_PHY_ADDR 0x70000000 #define IRQ_MAX_NR 128 #define TIMER_CLK_FREQ 25000000 +#define BOARD_TYPE_MILKV_DUO256M #endif diff --git a/bsp/cvitek/c906_little/rtconfig.py b/bsp/cvitek/c906_little/rtconfig.py index dd7ed95f05..50c32d5561 100755 --- a/bsp/cvitek/c906_little/rtconfig.py +++ b/bsp/cvitek/c906_little/rtconfig.py @@ -18,7 +18,7 @@ if os.getenv('RTT_CC'): if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' - EXEC_PATH = r'/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.0/bin' + EXEC_PATH = r'/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.1/bin' else: print('Please make sure your toolchains is GNU GCC!') exit(0) @@ -47,9 +47,10 @@ if PLATFORM == 'gcc': CFLAGS += ' -DCONFIG_64BIT' LINKER_SCRIPTS = r'cv180x_lscript.ld' + LINKER_SCRIPTS_PATH = r' -L board/script/cv180x' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' - LFLAGS = DEVICE + ' -nostartfiles -fms-extensions -ffunction-sections -fdata-sections -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,_start -T ' + LINKER_SCRIPTS + LFLAGS = DEVICE + ' -nostartfiles -fms-extensions -ffunction-sections -fdata-sections -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,_start -T ' + LINKER_SCRIPTS + LINKER_SCRIPTS_PATH CPATH = '' LPATH = '' @@ -63,4 +64,4 @@ if PLATFORM == 'gcc': DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' -POST_ACTION += 'cd .. && ./combine-fip.sh c906_little/rtthread.bin\n' \ No newline at end of file +POST_ACTION += 'cd .. && bash combine-fip.sh ' + os.getcwd() + ' rtthread.bin' + ' \n' \ No newline at end of file diff --git a/bsp/cvitek/combine-fip.sh b/bsp/cvitek/combine-fip.sh index fee521077c..82e2edf5b1 100755 --- a/bsp/cvitek/combine-fip.sh +++ b/bsp/cvitek/combine-fip.sh @@ -1,23 +1,84 @@ #!/bin/bash -set -e +PROJECT_PATH=$1 +IMAGE_NAME=$2 -LITTLE_BIN=$1 +if [ -z "$PROJECT_PATH" ] || [ -z "$IMAGE_NAME" ]; then + echo "Usage: $0 " + exit 1 +fi -. ./pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.env && \ -./pre-build/fsbl/plat/cv180x/fiptool.py -v genfip \ - 'fip.bin' \ - --MONITOR_RUNADDR="${MONITOR_RUNADDR}" \ - --BLCP_2ND_RUNADDR="${BLCP_2ND_RUNADDR}" \ - --CHIP_CONF='./pre-build/fsbl/build/cv1800b_milkv_duo_sd/chip_conf.bin' \ - --NOR_INFO='FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' \ - --NAND_INFO='00000000'\ - --BL2='pre-build/fsbl/build/cv1800b_milkv_duo_sd/bl2.bin' \ - --BLCP_IMG_RUNADDR=0x05200200 \ - --BLCP_PARAM_LOADADDR=0 \ - --BLCP=pre-build/fsbl/test/empty.bin \ - --DDR_PARAM='pre-build/fsbl/test/cv181x/ddr_param.bin' \ - --BLCP_2ND=$LITTLE_BIN \ - --MONITOR='pre-build/fw_dynamic.bin' \ - --LOADER_2ND='pre-build/u-boot-raw.bin' \ - --compress='lzma' \ No newline at end of file +ROOT_PATH=$(pwd) +echo $ROOT_PATH + +function get_board_type() +{ + BOARD_CONFIG=("CONFIG_BOARD_TYPE_MILKV_DUO" "CONFIG_BOARD_TYPE_MILKV_DUO_SPINOR" "CONFIG_BOARD_TYPE_MILKV_DUO_SPINAND" "CONFIG_BOARD_TYPE_MILKV_DUO256M") + BOARD_VALUE=("milkv-duo" "milkv-duo-spinor" "milkv-duo-spinand" "milkv-duo256m") + + for ((i=0;i<${#BOARD_CONFIG[@]};i++)) + do + config_value=$(grep -w "${BOARD_CONFIG[i]}" ${PROJECT_PATH}/.config | cut -d= -f2) + if [ "$config_value" == "y" ]; then + BOARD_TYPE=${BOARD_VALUE[i]} + break + fi + done +} + +get_board_type +echo "board_type: ${BOARD_TYPE}" + +COUNTRY=China +function get_country() +{ + restult=$(curl -m 10 -s http://www.ip-api.com/json) + COUNTRY=$(echo $restult | sed 's/.*"country":"\([^"]*\)".*/\1/') + echo "Country: $COUNTRY" +} + +if [ "$COUNTRY" == "China" ]; then + cvitek_bootloader_url=https://gitee.com/flyingcys/cvitek_bootloader +else + cvitek_bootloader_url=https://github.com/flyingcys/cvitek_bootloader +fi + +if [ ! -d cvitek_bootloader ]; then + echo "cvitek_bootloader not exist, clone it from ${cvitek_bootloader_url}" + git clone ${cvitek_bootloader_url} + + if [ $? -ne 0 ]; then + echo "Failed to clone ${cvitek_bootloader_url} !" + exit 1 + fi +fi + +export BLCP_2ND_PATH=${PROJECT_PATH}/${IMAGE_NAME} + +pushd cvitek_bootloader + +. env.sh + +get_build_board ${BOARD_TYPE} + +echo "board: ${MV_BOARD_LINK}" + +if [ ! -d opensbi/build/platform/generic ] || [ ! -d fsbl/build/${MV_BOARD_LINK} ] || [ ! -d u-boot-2021.10/build/${MV_BOARD_LINK} ]; then + do_build + + CHIP_ARCH_L=$(echo $CHIP_ARCH | tr '[:upper:]' '[:lower:]') + cp -rf build/output/${MV_BOARD_LINK}/cvi_board_memmap.ld ${ROOT_PATH}/c906_little/board/script/${CHIP_ARCH_L} +else + echo "Build already done, skip build" + + do_combine + + if [ $? -ne 0 ]; then + do_build + fi +fi + +popd + +mkdir -p output/${MV_BOARD} +cp -rf cvitek_bootloader/install/soc_${MV_BOARD_LINK}/fip.bin output/${MV_BOARD}/fip.bin \ No newline at end of file diff --git a/bsp/cvitek/cv1800b/mksdimg.sh b/bsp/cvitek/cv1800b/mksdimg.sh deleted file mode 100755 index 60dd65a076..0000000000 --- a/bsp/cvitek/cv1800b/mksdimg.sh +++ /dev/null @@ -1,7 +0,0 @@ -#/bin/sh -set -e -echo "start compress kernel..." - -lzma -c -9 -f -k Image > Image.lzma - -./mkimage -f multi.its -r ../boot.sd \ No newline at end of file diff --git a/bsp/cvitek/cv1800b/.config b/bsp/cvitek/cv180x/.config similarity index 99% rename from bsp/cvitek/cv1800b/.config rename to bsp/cvitek/cv180x/.config index fd58346a23..306a0d77ca 100644 --- a/bsp/cvitek/cv1800b/.config +++ b/bsp/cvitek/cv180x/.config @@ -1048,6 +1048,7 @@ CONFIG_RT_USING_LDSO=y # 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 # # Display @@ -1130,8 +1131,9 @@ CONFIG_UART_IRQ_BASE=44 # CONFIG_RT_USING_UART4 is not set # CONFIG_BSP_USING_ADC is not set # CONFIG_BSP_USING_PWM is not set -CONFIG_BSP_USING_CV1800B=y +CONFIG_BSP_USING_CV180X=y CONFIG_C906_PLIC_PHY_ADDR=0x70000000 CONFIG_IRQ_MAX_NR=64 CONFIG_TIMER_CLK_FREQ=25000000 CONFIG___STACKSIZE__=4096 +CONFIG_BOARD_TYPE_MILKV_DUO=y diff --git a/bsp/cvitek/cv1800b/.gitignore b/bsp/cvitek/cv180x/.gitignore similarity index 100% rename from bsp/cvitek/cv1800b/.gitignore rename to bsp/cvitek/cv180x/.gitignore diff --git a/bsp/cvitek/cv1800b/Kconfig b/bsp/cvitek/cv180x/Kconfig similarity index 83% rename from bsp/cvitek/cv1800b/Kconfig rename to bsp/cvitek/cv180x/Kconfig index 18394dca61..2758a776fb 100755 --- a/bsp/cvitek/cv1800b/Kconfig +++ b/bsp/cvitek/cv180x/Kconfig @@ -19,7 +19,7 @@ source "$RTT_DIR/Kconfig" source "$PKGS_DIR/Kconfig" source "board/Kconfig" -config BSP_USING_CV1800B +config BSP_USING_CV180X bool select ARCH_RISCV64 select RT_USING_SYSTEM_WORKQUEUE @@ -45,3 +45,11 @@ config TIMER_CLK_FREQ config __STACKSIZE__ int "stack size for interrupt" default 4096 + +choice + prompt "Board Type" + default BOARD_TYPE_MILKV_DUO + + config BOARD_TYPE_MILKV_DUO + bool "milkv-duo" +endchoice diff --git a/bsp/cvitek/cv1800b/README.md b/bsp/cvitek/cv180x/README.md similarity index 95% rename from bsp/cvitek/cv1800b/README.md rename to bsp/cvitek/cv180x/README.md index 9293cf2e29..006c07ee1a 100755 --- a/bsp/cvitek/cv1800b/README.md +++ b/bsp/cvitek/cv180x/README.md @@ -49,8 +49,9 @@ $ export RTT_EXEC_PATH=/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin 1. 依赖安装 ```shell -$ sudo apt install -y device-tree-compiler +$ sudo apt install -y scons libncurses5-dev device-tree-compiler ``` + 2. Linux平台下,可以先执行: ```shell $ scons --menuconfig @@ -61,7 +62,7 @@ $ scons --menuconfig $ source ~/.env/env.sh $ pkgs --update ``` -更新完软件包后,执行 `scons -j10` 或 `scons -j10 --verbose` 来编译这个板级支持包。或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。编译正确无误,会产生rtthread.elf文件。 +更新完软件包后,执行 `scons -j10` 或 `scons -j10 --verbose` 来编译这个板级支持包。或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。编译正确无误,会产生 rtthread.elf 文件。 编译完成后脚本自动调用 `./mksdimg.sh` 脚本进行打包,并生成 `boot.sd`, 该文件即为 SD 卡启动的 kernel 文件。 diff --git a/bsp/cvitek/cv1800b/README_en.md b/bsp/cvitek/cv180x/README_en.md similarity index 100% rename from bsp/cvitek/cv1800b/README_en.md rename to bsp/cvitek/cv180x/README_en.md diff --git a/bsp/cvitek/cv1800b/SConscript b/bsp/cvitek/cv180x/SConscript similarity index 100% rename from bsp/cvitek/cv1800b/SConscript rename to bsp/cvitek/cv180x/SConscript diff --git a/bsp/cvitek/cv1800b/SConstruct b/bsp/cvitek/cv180x/SConstruct similarity index 100% rename from bsp/cvitek/cv1800b/SConstruct rename to bsp/cvitek/cv180x/SConstruct diff --git a/bsp/cvitek/cv1800b/applications/SConscript b/bsp/cvitek/cv180x/applications/SConscript similarity index 100% rename from bsp/cvitek/cv1800b/applications/SConscript rename to bsp/cvitek/cv180x/applications/SConscript diff --git a/bsp/cvitek/cv1800b/applications/main.c b/bsp/cvitek/cv180x/applications/main.c similarity index 100% rename from bsp/cvitek/cv1800b/applications/main.c rename to bsp/cvitek/cv180x/applications/main.c diff --git a/bsp/cvitek/cv1800b/board/Kconfig b/bsp/cvitek/cv180x/board/Kconfig similarity index 100% rename from bsp/cvitek/cv1800b/board/Kconfig rename to bsp/cvitek/cv180x/board/Kconfig diff --git a/bsp/cvitek/cv1800b/board/SConscript b/bsp/cvitek/cv180x/board/SConscript similarity index 100% rename from bsp/cvitek/cv1800b/board/SConscript rename to bsp/cvitek/cv180x/board/SConscript diff --git a/bsp/cvitek/cv1800b/board/board.c b/bsp/cvitek/cv180x/board/board.c similarity index 100% rename from bsp/cvitek/cv1800b/board/board.c rename to bsp/cvitek/cv180x/board/board.c diff --git a/bsp/cvitek/cv1800b/board/board.h b/bsp/cvitek/cv180x/board/board.h similarity index 100% rename from bsp/cvitek/cv1800b/board/board.h rename to bsp/cvitek/cv180x/board/board.h diff --git a/bsp/cvitek/cv1800b/cv1800b_milkv_duo_sd.dtb b/bsp/cvitek/cv180x/cv1800b_milkv_duo_sd.dtb similarity index 100% rename from bsp/cvitek/cv1800b/cv1800b_milkv_duo_sd.dtb rename to bsp/cvitek/cv180x/cv1800b_milkv_duo_sd.dtb diff --git a/bsp/cvitek/cv1800b/link.lds b/bsp/cvitek/cv180x/link.lds similarity index 100% rename from bsp/cvitek/cv1800b/link.lds rename to bsp/cvitek/cv180x/link.lds diff --git a/bsp/cvitek/cv1800b/link_stacksize.lds b/bsp/cvitek/cv180x/link_stacksize.lds similarity index 100% rename from bsp/cvitek/cv1800b/link_stacksize.lds rename to bsp/cvitek/cv180x/link_stacksize.lds diff --git a/bsp/cvitek/cv1800b/multi.its b/bsp/cvitek/cv180x/multi.its similarity index 100% rename from bsp/cvitek/cv1800b/multi.its rename to bsp/cvitek/cv180x/multi.its diff --git a/bsp/cvitek/cv1800b/rtconfig.h b/bsp/cvitek/cv180x/rtconfig.h similarity index 99% rename from bsp/cvitek/cv1800b/rtconfig.h rename to bsp/cvitek/cv180x/rtconfig.h index 236544eee3..ea9b8dd4e5 100755 --- a/bsp/cvitek/cv1800b/rtconfig.h +++ b/bsp/cvitek/cv180x/rtconfig.h @@ -311,10 +311,11 @@ #define BSP_USING_UART #define RT_USING_UART0 #define UART_IRQ_BASE 44 -#define BSP_USING_CV1800B +#define BSP_USING_CV180X #define C906_PLIC_PHY_ADDR 0x70000000 #define IRQ_MAX_NR 64 #define TIMER_CLK_FREQ 25000000 #define __STACKSIZE__ 4096 +#define BOARD_TYPE_MILKV_DUO #endif diff --git a/bsp/cvitek/cv1800b/rtconfig.py b/bsp/cvitek/cv180x/rtconfig.py similarity index 90% rename from bsp/cvitek/cv1800b/rtconfig.py rename to bsp/cvitek/cv180x/rtconfig.py index 0914d5c010..4ca7b664bb 100755 --- a/bsp/cvitek/cv1800b/rtconfig.py +++ b/bsp/cvitek/cv180x/rtconfig.py @@ -25,6 +25,7 @@ if os.getenv('RTT_EXEC_PATH'): EXEC_PATH = os.getenv('RTT_EXEC_PATH') BUILD = 'debug' +CHIP_TYPE = 'cv180x' if PLATFORM == 'gcc': # toolchains @@ -56,4 +57,5 @@ if PLATFORM == 'gcc': CXXFLAGS = CFLAGS DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtthread.asm\n' -POST_ACTION = OBJCPY + ' -O binary $TARGET Image\n' + SIZE + ' $TARGET \n' + './mksdimg.sh\n' +POST_ACTION = OBJCPY + ' -O binary $TARGET Image \n' + SIZE + ' $TARGET \n' +POST_ACTION += 'cd .. && bash mksdimg.sh ' + os.getcwd() + ' Image \n' diff --git a/bsp/cvitek/drivers/.ignore_format.yml b/bsp/cvitek/drivers/.ignore_format.yml new file mode 100755 index 0000000000..821281b7e9 --- /dev/null +++ b/bsp/cvitek/drivers/.ignore_format.yml @@ -0,0 +1,6 @@ +# files format check exclude path, please follow the instructions below to modify; +# If you need to exclude an entire folder, add the folder path in dir_path; +# If you need to exclude a file, add the path to the file in file_path. + +dir_path: +- libraries \ No newline at end of file diff --git a/bsp/cvitek/drivers/SConscript b/bsp/cvitek/drivers/SConscript index 83c882470c..f5cde6b1e8 100755 --- a/bsp/cvitek/drivers/SConscript +++ b/bsp/cvitek/drivers/SConscript @@ -2,17 +2,23 @@ from building import * cwd = GetCurrentDir() src = Split(''' -drv_uart.c -drv_por.c + drv_uart.c + drv_por.c ''') CPPDEFINES = [] CPPPATH = [cwd] -if GetDepend('BSP_USING_CV1800B') or GetDepend('BSP_USING_C906_LITTLE'): - CPPPATH += [cwd + r'/cv1800b'] +CHIP_TYPE = 'cv180x' +if GetDepend('BOARD_TYPE_MILKV_DUO256M'): + CHIP_TYPE = 'cv181x' +elif GetDepend('BOARD_TYPE_MILKV_DUO') or GetDepend('BOARD_TYPE_MILKV_DUO_SPINOR') or GetDepend('BOARD_TYPE_MILKV_DUO_SPINAND'): + CHIP_TYPE = 'cv180x' -if GetDepend('BSP_USING_CV1800B'): +CPPPATH += [cwd + r'/libraries'] +CPPPATH += [cwd + r'/libraries/' + CHIP_TYPE] + +if GetDepend('BSP_USING_CV180X'): src += ['drv_gpio.c'] if GetDepend('BSP_USING_I2C'): @@ -26,7 +32,8 @@ if GetDepend('BSP_USING_WDT'): if GetDepend('BSP_USING_PWM'): src += ['drv_pwm.c'] - CPPPATH += [cwd + r'/cv1800b/pwm'] + CPPPATH += [cwd + r'/libraries/cv180x/pwm'] + CPPDEFINES += ['-DCONFIG_64BIT'] if GetDepend('BSP_USING_RTC'): diff --git a/bsp/cvitek/drivers/cv1800b/cv180x_pinlist_swconfig.h b/bsp/cvitek/drivers/libraries/cv180x/cv180x_pinlist_swconfig.h similarity index 100% rename from bsp/cvitek/drivers/cv1800b/cv180x_pinlist_swconfig.h rename to bsp/cvitek/drivers/libraries/cv180x/cv180x_pinlist_swconfig.h diff --git a/bsp/cvitek/drivers/cv1800b/cv180x_pinmux.h b/bsp/cvitek/drivers/libraries/cv180x/cv180x_pinmux.h similarity index 100% rename from bsp/cvitek/drivers/cv1800b/cv180x_pinmux.h rename to bsp/cvitek/drivers/libraries/cv180x/cv180x_pinmux.h diff --git a/bsp/cvitek/drivers/cv1800b/cv180x_reg_fmux_gpio.h b/bsp/cvitek/drivers/libraries/cv180x/cv180x_reg_fmux_gpio.h similarity index 100% rename from bsp/cvitek/drivers/cv1800b/cv180x_reg_fmux_gpio.h rename to bsp/cvitek/drivers/libraries/cv180x/cv180x_reg_fmux_gpio.h diff --git a/bsp/cvitek/drivers/cv1800b/pinctrl.h b/bsp/cvitek/drivers/libraries/cv180x/pinctrl.h similarity index 100% rename from bsp/cvitek/drivers/cv1800b/pinctrl.h rename to bsp/cvitek/drivers/libraries/cv180x/pinctrl.h diff --git a/bsp/cvitek/drivers/cv1800b/pwm/cvi_pwm.h b/bsp/cvitek/drivers/libraries/cv180x/pwm/cvi_pwm.h old mode 100644 new mode 100755 similarity index 100% rename from bsp/cvitek/drivers/cv1800b/pwm/cvi_pwm.h rename to bsp/cvitek/drivers/libraries/cv180x/pwm/cvi_pwm.h diff --git a/bsp/cvitek/drivers/libraries/cv181x/cv181x_pinlist_swconfig.h b/bsp/cvitek/drivers/libraries/cv181x/cv181x_pinlist_swconfig.h new file mode 100755 index 0000000000..64d4ec9cdb --- /dev/null +++ b/bsp/cvitek/drivers/libraries/cv181x/cv181x_pinlist_swconfig.h @@ -0,0 +1,653 @@ + +#define CAM_MCLK0__CAM_MCLK0 0 +#define CAM_MCLK0__AUX1 2 +#define CAM_MCLK0__XGPIOA_0 3 +#define CAM_PD0__IIS1_MCLK 1 +#define CAM_PD0__XGPIOA_1 3 +#define CAM_PD0__CAM_HS0 4 +#define CAM_RST0__XGPIOA_2 3 +#define CAM_RST0__CAM_VS0 4 +#define CAM_RST0__IIC4_SCL 6 +#define CAM_MCLK1__CAM_MCLK1 0 +#define CAM_MCLK1__AUX2 2 +#define CAM_MCLK1__XGPIOA_3 3 +#define CAM_MCLK1__CAM_HS0 4 +#define CAM_PD1__IIS1_MCLK 1 +#define CAM_PD1__XGPIOA_4 3 +#define CAM_PD1__CAM_VS0 4 +#define CAM_PD1__IIC4_SDA 6 +#define IIC3_SCL__IIC3_SCL 0 +#define IIC3_SCL__XGPIOA_5 3 +#define IIC3_SDA__IIC3_SDA 0 +#define IIC3_SDA__XGPIOA_6 3 +#define SD0_CLK__SDIO0_CLK 0 +#define SD0_CLK__IIC1_SDA 1 +#define SD0_CLK__SPI0_SCK 2 +#define SD0_CLK__XGPIOA_7 3 +#define SD0_CLK__PWM_15 5 +#define SD0_CLK__EPHY_LNK_LED 6 +#define SD0_CLK__DBG_0 7 +#define SD0_CMD__SDIO0_CMD 0 +#define SD0_CMD__IIC1_SCL 1 +#define SD0_CMD__SPI0_SDO 2 +#define SD0_CMD__XGPIOA_8 3 +#define SD0_CMD__PWM_14 5 +#define SD0_CMD__EPHY_SPD_LED 6 +#define SD0_CMD__DBG_1 7 +#define SD0_D0__SDIO0_D_0 0 +#define SD0_D0__CAM_MCLK1 1 +#define SD0_D0__SPI0_SDI 2 +#define SD0_D0__XGPIOA_9 3 +#define SD0_D0__UART3_TX 4 +#define SD0_D0__PWM_13 5 +#define SD0_D0__WG0_D0 6 +#define SD0_D0__DBG_2 7 +#define SD0_D1__SDIO0_D_1 0 +#define SD0_D1__IIC1_SDA 1 +#define SD0_D1__AUX0 2 +#define SD0_D1__XGPIOA_10 3 +#define SD0_D1__UART1_TX 4 +#define SD0_D1__PWM_12 5 +#define SD0_D1__WG0_D1 6 +#define SD0_D1__DBG_3 7 +#define SD0_D2__SDIO0_D_2 0 +#define SD0_D2__IIC1_SCL 1 +#define SD0_D2__AUX1 2 +#define SD0_D2__XGPIOA_11 3 +#define SD0_D2__UART1_RX 4 +#define SD0_D2__PWM_11 5 +#define SD0_D2__WG1_D0 6 +#define SD0_D2__DBG_4 7 +#define SD0_D3__SDIO0_D_3 0 +#define SD0_D3__CAM_MCLK0 1 +#define SD0_D3__SPI0_CS_X 2 +#define SD0_D3__XGPIOA_12 3 +#define SD0_D3__UART3_RX 4 +#define SD0_D3__PWM_10 5 +#define SD0_D3__WG1_D1 6 +#define SD0_D3__DBG_5 7 +#define SD0_CD__SDIO0_CD 0 +#define SD0_CD__XGPIOA_13 3 +#define SD0_PWR_EN__SDIO0_PWR_EN 0 +#define SD0_PWR_EN__XGPIOA_14 3 +#define SPK_EN__XGPIOA_15 3 +#define UART0_TX__UART0_TX 0 +#define UART0_TX__CAM_MCLK1 1 +#define UART0_TX__PWM_4 2 +#define UART0_TX__XGPIOA_16 3 +#define UART0_TX__UART1_TX 4 +#define UART0_TX__AUX1 5 +#define UART0_TX__DBG_6 7 +#define UART0_RX__UART0_RX 0 +#define UART0_RX__CAM_MCLK0 1 +#define UART0_RX__PWM_5 2 +#define UART0_RX__XGPIOA_17 3 +#define UART0_RX__UART1_RX 4 +#define UART0_RX__AUX0 5 +#define UART0_RX__DBG_7 7 +#define EMMC_RSTN__EMMC_RSTN 0 +#define EMMC_RSTN__XGPIOA_21 3 +#define EMMC_RSTN__AUX2 4 +#define EMMC_DAT2__EMMC_DAT_2 0 +#define EMMC_DAT2__SPINOR_HOLD_X 1 +#define EMMC_DAT2__SPINAND_HOLD 2 +#define EMMC_DAT2__XGPIOA_26 3 +#define EMMC_CLK__EMMC_CLK 0 +#define EMMC_CLK__SPINOR_SCK 1 +#define EMMC_CLK__SPINAND_CLK 2 +#define EMMC_CLK__XGPIOA_22 3 +#define EMMC_DAT0__EMMC_DAT_0 0 +#define EMMC_DAT0__SPINOR_MOSI 1 +#define EMMC_DAT0__SPINAND_MOSI 2 +#define EMMC_DAT0__XGPIOA_25 3 +#define EMMC_DAT3__EMMC_DAT_3 0 +#define EMMC_DAT3__SPINOR_WP_X 1 +#define EMMC_DAT3__SPINAND_WP 2 +#define EMMC_DAT3__XGPIOA_27 3 +#define EMMC_CMD__EMMC_CMD 0 +#define EMMC_CMD__SPINOR_MISO 1 +#define EMMC_CMD__SPINAND_MISO 2 +#define EMMC_CMD__XGPIOA_23 3 +#define EMMC_DAT1__EMMC_DAT_1 0 +#define EMMC_DAT1__SPINOR_CS_X 1 +#define EMMC_DAT1__SPINAND_CS 2 +#define EMMC_DAT1__XGPIOA_24 3 +#define JTAG_CPU_TMS__JTAG_CPU_TMS 0 +#define JTAG_CPU_TMS__CAM_MCLK0 1 +#define JTAG_CPU_TMS__PWM_7 2 +#define JTAG_CPU_TMS__XGPIOA_19 3 +#define JTAG_CPU_TMS__UART1_RTS 4 +#define JTAG_CPU_TMS__AUX0 5 +#define JTAG_CPU_TMS__UART1_TX 6 +#define JTAG_CPU_TMS__VO_D_28 7 +#define JTAG_CPU_TCK__JTAG_CPU_TCK 0 +#define JTAG_CPU_TCK__CAM_MCLK1 1 +#define JTAG_CPU_TCK__PWM_6 2 +#define JTAG_CPU_TCK__XGPIOA_18 3 +#define JTAG_CPU_TCK__UART1_CTS 4 +#define JTAG_CPU_TCK__AUX1 5 +#define JTAG_CPU_TCK__UART1_RX 6 +#define JTAG_CPU_TCK__VO_D_29 7 +#define JTAG_CPU_TRST__JTAG_CPU_TRST 0 +#define JTAG_CPU_TRST__XGPIOA_20 3 +#define JTAG_CPU_TRST__VO_D_30 6 +#define IIC0_SCL__IIC0_SCL 0 +#define IIC0_SCL__UART1_TX 1 +#define IIC0_SCL__UART2_TX 2 +#define IIC0_SCL__XGPIOA_28 3 +#define IIC0_SCL__WG0_D0 5 +#define IIC0_SCL__DBG_10 7 +#define IIC0_SDA__IIC0_SDA 0 +#define IIC0_SDA__UART1_RX 1 +#define IIC0_SDA__UART2_RX 2 +#define IIC0_SDA__XGPIOA_29 3 +#define IIC0_SDA__WG0_D1 5 +#define IIC0_SDA__WG1_D0 6 +#define IIC0_SDA__DBG_11 7 +#define AUX0__AUX0 0 +#define AUX0__XGPIOA_30 3 +#define AUX0__IIS1_MCLK 4 +#define AUX0__VO_D_31 5 +#define AUX0__WG1_D1 6 +#define AUX0__DBG_12 7 +#define PWR_VBAT_DET__PWR_VBAT_DET 0 +#define PWR_RSTN__PWR_RSTN 0 +#define PWR_SEQ1__PWR_SEQ1 0 +#define PWR_SEQ1__PWR_GPIO_3 3 +#define PWR_SEQ2__PWR_SEQ2 0 +#define PWR_SEQ2__PWR_GPIO_4 3 +#define PWR_SEQ3__PWR_SEQ3 0 +#define PWR_SEQ3__PWR_GPIO_5 3 +#define PTEST__PWR_PTEST 0 +#define PWR_WAKEUP0__PWR_WAKEUP0 0 +#define PWR_WAKEUP0__PWR_IR0 1 +#define PWR_WAKEUP0__PWR_UART0_TX 2 +#define PWR_WAKEUP0__PWR_GPIO_6 3 +#define PWR_WAKEUP0__UART1_TX 4 +#define PWR_WAKEUP0__IIC4_SCL 5 +#define PWR_WAKEUP0__EPHY_LNK_LED 6 +#define PWR_WAKEUP0__WG2_D0 7 +#define PWR_WAKEUP1__PWR_WAKEUP1 0 +#define PWR_WAKEUP1__PWR_IR1 1 +#define PWR_WAKEUP1__PWR_GPIO_7 3 +#define PWR_WAKEUP1__UART1_TX 4 +#define PWR_WAKEUP1__IIC4_SCL 5 +#define PWR_WAKEUP1__EPHY_LNK_LED 6 +#define PWR_WAKEUP1__WG0_D0 7 +#define PWR_BUTTON1__PWR_BUTTON1 0 +#define PWR_BUTTON1__PWR_GPIO_8 3 +#define PWR_BUTTON1__UART1_RX 4 +#define PWR_BUTTON1__IIC4_SDA 5 +#define PWR_BUTTON1__EPHY_SPD_LED 6 +#define PWR_BUTTON1__WG2_D1 7 +#define PWR_ON__PWR_ON 0 +#define PWR_ON__PWR_GPIO_9 3 +#define PWR_ON__UART1_RX 4 +#define PWR_ON__IIC4_SDA 5 +#define PWR_ON__EPHY_SPD_LED 6 +#define PWR_ON__WG0_D1 7 +#define XTAL_XIN__PWR_XTAL_CLKIN 0 +#define PWR_GPIO0__PWR_GPIO_0 0 +#define PWR_GPIO0__UART2_TX 1 +#define PWR_GPIO0__PWR_UART0_RX 2 +#define PWR_GPIO0__PWM_8 4 +#define PWR_GPIO1__PWR_GPIO_1 0 +#define PWR_GPIO1__UART2_RX 1 +#define PWR_GPIO1__EPHY_LNK_LED 3 +#define PWR_GPIO1__PWM_9 4 +#define PWR_GPIO1__PWR_IIC_SCL 5 +#define PWR_GPIO1__IIC2_SCL 6 +#define PWR_GPIO1__PWR_MCU_JTAG_TMS 7 +#define PWR_GPIO2__PWR_GPIO_2 0 +#define PWR_GPIO2__PWR_SECTICK 2 +#define PWR_GPIO2__EPHY_SPD_LED 3 +#define PWR_GPIO2__PWM_10 4 +#define PWR_GPIO2__PWR_IIC_SDA 5 +#define PWR_GPIO2__IIC2_SDA 6 +#define PWR_GPIO2__PWR_MCU_JTAG_TCK 7 +#define CLK32K__CLK32K 0 +#define CLK32K__AUX0 1 +#define CLK32K__PWR_MCU_JTAG_TDI 2 +#define CLK32K__PWR_GPIO_10 3 +#define CLK32K__PWM_2 4 +#define CLK32K__KEY_COL0 5 +#define CLK32K__CAM_MCLK0 6 +#define CLK32K__DBG_0 7 +#define CLK25M__CLK25M 0 +#define CLK25M__AUX1 1 +#define CLK25M__PWR_MCU_JTAG_TDO 2 +#define CLK25M__PWR_GPIO_11 3 +#define CLK25M__PWM_3 4 +#define CLK25M__KEY_COL1 5 +#define CLK25M__CAM_MCLK1 6 +#define CLK25M__DBG_1 7 +#define IIC2_SCL__IIC2_SCL 0 +#define IIC2_SCL__PWM_14 1 +#define IIC2_SCL__PWR_GPIO_12 3 +#define IIC2_SCL__UART2_RX 4 +#define IIC2_SCL__KEY_COL2 7 +#define IIC2_SDA__IIC2_SDA 0 +#define IIC2_SDA__PWM_15 1 +#define IIC2_SDA__PWR_GPIO_13 3 +#define IIC2_SDA__UART2_TX 4 +#define IIC2_SDA__IIS1_MCLK 5 +#define IIC2_SDA__IIS2_MCLK 6 +#define IIC2_SDA__KEY_COL3 7 +#define UART2_TX__UART2_TX 0 +#define UART2_TX__PWM_11 1 +#define UART2_TX__PWR_UART1_TX 2 +#define UART2_TX__PWR_GPIO_14 3 +#define UART2_TX__KEY_ROW3 4 +#define UART2_TX__UART4_TX 5 +#define UART2_TX__IIS2_BCLK 6 +#define UART2_TX__WG2_D0 7 +#define UART2_RTS__UART2_RTS 0 +#define UART2_RTS__PWM_8 1 +#define UART2_RTS__PWR_GPIO_15 3 +#define UART2_RTS__KEY_ROW0 4 +#define UART2_RTS__UART4_RTS 5 +#define UART2_RTS__IIS2_DO 6 +#define UART2_RTS__WG1_D0 7 +#define UART2_RX__UART2_RX 0 +#define UART2_RX__PWM_10 1 +#define UART2_RX__PWR_UART1_RX 2 +#define UART2_RX__PWR_GPIO_16 3 +#define UART2_RX__KEY_COL3 4 +#define UART2_RX__UART4_RX 5 +#define UART2_RX__IIS2_DI 6 +#define UART2_RX__WG2_D1 7 +#define UART2_CTS__UART2_CTS 0 +#define UART2_CTS__PWM_9 1 +#define UART2_CTS__PWR_GPIO_17 3 +#define UART2_CTS__KEY_ROW1 4 +#define UART2_CTS__UART4_CTS 5 +#define UART2_CTS__IIS2_LRCK 6 +#define UART2_CTS__WG1_D1 7 +#define SD1_D3__PWR_SD1_D3_VO32 0 +#define SD1_D3__SPI2_CS_X 1 +#define SD1_D3__IIC1_SCL 2 +#define SD1_D3__PWR_GPIO_18 3 +#define SD1_D3__CAM_MCLK0 4 +#define SD1_D3__UART3_CTS 5 +#define SD1_D3__PWR_SPINOR1_CS_X 6 +#define SD1_D3__PWM_4 7 +#define SD1_D2__PWR_SD1_D2_VO33 0 +#define SD1_D2__IIC1_SCL 1 +#define SD1_D2__UART2_TX 2 +#define SD1_D2__PWR_GPIO_19 3 +#define SD1_D2__CAM_MCLK0 4 +#define SD1_D2__UART3_TX 5 +#define SD1_D2__PWR_SPINOR1_HOLD_X 6 +#define SD1_D2__PWM_5 7 +#define SD1_D1__PWR_SD1_D1_VO34 0 +#define SD1_D1__IIC1_SDA 1 +#define SD1_D1__UART2_RX 2 +#define SD1_D1__PWR_GPIO_20 3 +#define SD1_D1__CAM_MCLK1 4 +#define SD1_D1__UART3_RX 5 +#define SD1_D1__PWR_SPINOR1_WP_X 6 +#define SD1_D1__PWM_6 7 +#define SD1_D0__PWR_SD1_D0_VO35 0 +#define SD1_D0__SPI2_SDI 1 +#define SD1_D0__IIC1_SDA 2 +#define SD1_D0__PWR_GPIO_21 3 +#define SD1_D0__CAM_MCLK1 4 +#define SD1_D0__UART3_RTS 5 +#define SD1_D0__PWR_SPINOR1_MISO 6 +#define SD1_D0__PWM_7 7 +#define SD1_CMD__PWR_SD1_CMD_VO36 0 +#define SD1_CMD__SPI2_SDO 1 +#define SD1_CMD__IIC3_SCL 2 +#define SD1_CMD__PWR_GPIO_22 3 +#define SD1_CMD__CAM_VS0 4 +#define SD1_CMD__EPHY_LNK_LED 5 +#define SD1_CMD__PWR_SPINOR1_MOSI 6 +#define SD1_CMD__PWM_8 7 +#define SD1_CLK__PWR_SD1_CLK_VO37 0 +#define SD1_CLK__SPI2_SCK 1 +#define SD1_CLK__IIC3_SDA 2 +#define SD1_CLK__PWR_GPIO_23 3 +#define SD1_CLK__CAM_HS0 4 +#define SD1_CLK__EPHY_SPD_LED 5 +#define SD1_CLK__PWR_SPINOR1_SCK 6 +#define SD1_CLK__PWM_9 7 +#define RSTN__RSTN 0 +#define PWM0_BUCK__PWM_0 0 +#define PWM0_BUCK__XGPIOB_0 3 +#define ADC3__CAM_MCLK0 1 +#define ADC3__IIC4_SCL 2 +#define ADC3__XGPIOB_1 3 +#define ADC3__PWM_12 4 +#define ADC3__EPHY_LNK_LED 5 +#define ADC3__WG2_D0 6 +#define ADC3__UART3_TX 7 +#define ADC2__CAM_MCLK1 1 +#define ADC2__IIC4_SDA 2 +#define ADC2__XGPIOB_2 3 +#define ADC2__PWM_13 4 +#define ADC2__EPHY_SPD_LED 5 +#define ADC2__WG2_D1 6 +#define ADC2__UART3_RX 7 +#define ADC1__XGPIOB_3 3 +#define ADC1__KEY_COL2 4 +#define USB_ID__USB_ID 0 +#define USB_ID__XGPIOB_4 3 +#define USB_VBUS_EN__USB_VBUS_EN 0 +#define USB_VBUS_EN__XGPIOB_5 3 +#define PKG_TYPE0__PKG_TYPE0 0 +#define USB_VBUS_DET__USB_VBUS_DET 0 +#define USB_VBUS_DET__XGPIOB_6 3 +#define USB_VBUS_DET__CAM_MCLK0 4 +#define USB_VBUS_DET__CAM_MCLK1 5 +#define PKG_TYPE1__PKG_TYPE1 0 +#define PKG_TYPE2__PKG_TYPE2 0 +#define MUX_SPI1_MISO__UART3_RTS 1 +#define MUX_SPI1_MISO__IIC1_SDA 2 +#define MUX_SPI1_MISO__XGPIOB_8 3 +#define MUX_SPI1_MISO__PWM_9 4 +#define MUX_SPI1_MISO__KEY_COL1 5 +#define MUX_SPI1_MISO__SPI1_SDI 6 +#define MUX_SPI1_MISO__DBG_14 7 +#define MUX_SPI1_MOSI__UART3_RX 1 +#define MUX_SPI1_MOSI__IIC1_SCL 2 +#define MUX_SPI1_MOSI__XGPIOB_7 3 +#define MUX_SPI1_MOSI__PWM_8 4 +#define MUX_SPI1_MOSI__KEY_COL0 5 +#define MUX_SPI1_MOSI__SPI1_SDO 6 +#define MUX_SPI1_MOSI__DBG_13 7 +#define MUX_SPI1_CS__UART3_CTS 1 +#define MUX_SPI1_CS__CAM_MCLK0 2 +#define MUX_SPI1_CS__XGPIOB_10 3 +#define MUX_SPI1_CS__PWM_11 4 +#define MUX_SPI1_CS__KEY_ROW3 5 +#define MUX_SPI1_CS__SPI1_CS_X 6 +#define MUX_SPI1_CS__DBG_16 7 +#define MUX_SPI1_SCK__UART3_TX 1 +#define MUX_SPI1_SCK__CAM_MCLK1 2 +#define MUX_SPI1_SCK__XGPIOB_9 3 +#define MUX_SPI1_SCK__PWM_10 4 +#define MUX_SPI1_SCK__KEY_ROW2 5 +#define MUX_SPI1_SCK__SPI1_SCK 6 +#define MUX_SPI1_SCK__DBG_15 7 +#define PAD_ETH_TXM__UART3_RTS 1 +#define PAD_ETH_TXM__IIC1_SDA 2 +#define PAD_ETH_TXM__XGPIOB_24 3 +#define PAD_ETH_TXM__PWM_12 4 +#define PAD_ETH_TXM__CAM_MCLK1 5 +#define PAD_ETH_TXM__SPI1_SDI 6 +#define PAD_ETH_TXM__IIS2_BCLK 7 +#define PAD_ETH_TXP__UART3_RX 1 +#define PAD_ETH_TXP__IIC1_SCL 2 +#define PAD_ETH_TXP__XGPIOB_25 3 +#define PAD_ETH_TXP__PWM_13 4 +#define PAD_ETH_TXP__CAM_MCLK0 5 +#define PAD_ETH_TXP__SPI1_SDO 6 +#define PAD_ETH_TXP__IIS2_LRCK 7 +#define PAD_ETH_RXM__UART3_CTS 1 +#define PAD_ETH_RXM__CAM_MCLK0 2 +#define PAD_ETH_RXM__XGPIOB_26 3 +#define PAD_ETH_RXM__PWM_14 4 +#define PAD_ETH_RXM__CAM_VS0 5 +#define PAD_ETH_RXM__SPI1_CS_X 6 +#define PAD_ETH_RXM__IIS2_DI 7 +#define PAD_ETH_RXP__UART3_TX 1 +#define PAD_ETH_RXP__CAM_MCLK1 2 +#define PAD_ETH_RXP__XGPIOB_27 3 +#define PAD_ETH_RXP__PWM_15 4 +#define PAD_ETH_RXP__CAM_HS0 5 +#define PAD_ETH_RXP__SPI1_SCK 6 +#define PAD_ETH_RXP__IIS2_DO 7 +#define VIVO_D10__PWM_1 0 +#define VIVO_D10__VI1_D_10 1 +#define VIVO_D10__VO_D_23 2 +#define VIVO_D10__XGPIOB_11 3 +#define VIVO_D10__RMII0_IRQ 4 +#define VIVO_D10__CAM_MCLK0 5 +#define VIVO_D10__IIC1_SDA 6 +#define VIVO_D10__UART2_TX 7 +#define VIVO_D9__PWM_2 0 +#define VIVO_D9__VI1_D_9 1 +#define VIVO_D9__VO_D_22 2 +#define VIVO_D9__XGPIOB_12 3 +#define VIVO_D9__CAM_MCLK1 5 +#define VIVO_D9__IIC1_SCL 6 +#define VIVO_D9__UART2_RX 7 +#define VIVO_D8__PWM_3 0 +#define VIVO_D8__VI1_D_8 1 +#define VIVO_D8__VO_D_21 2 +#define VIVO_D8__XGPIOB_13 3 +#define VIVO_D8__RMII0_MDIO 4 +#define VIVO_D8__SPI3_SDO 5 +#define VIVO_D8__IIC2_SCL 6 +#define VIVO_D8__CAM_VS0 7 +#define VIVO_D7__VI2_D_7 0 +#define VIVO_D7__VI1_D_7 1 +#define VIVO_D7__VO_D_20 2 +#define VIVO_D7__XGPIOB_14 3 +#define VIVO_D7__RMII0_RXD1 4 +#define VIVO_D7__SPI3_SDI 5 +#define VIVO_D7__IIC2_SDA 6 +#define VIVO_D7__CAM_HS0 7 +#define VIVO_D6__VI2_D_6 0 +#define VIVO_D6__VI1_D_6 1 +#define VIVO_D6__VO_D_19 2 +#define VIVO_D6__XGPIOB_15 3 +#define VIVO_D6__RMII0_REFCLKI 4 +#define VIVO_D6__SPI3_SCK 5 +#define VIVO_D6__UART2_TX 6 +#define VIVO_D6__CAM_VS0 7 +#define VIVO_D5__VI2_D_5 0 +#define VIVO_D5__VI1_D_5 1 +#define VIVO_D5__VO_D_18 2 +#define VIVO_D5__XGPIOB_16 3 +#define VIVO_D5__RMII0_RXD0 4 +#define VIVO_D5__SPI3_CS_X 5 +#define VIVO_D5__UART2_RX 6 +#define VIVO_D5__CAM_HS0 7 +#define VIVO_D4__VI2_D_4 0 +#define VIVO_D4__VI1_D_4 1 +#define VIVO_D4__VO_D_17 2 +#define VIVO_D4__XGPIOB_17 3 +#define VIVO_D4__RMII0_MDC 4 +#define VIVO_D4__IIC1_SDA 5 +#define VIVO_D4__UART2_CTS 6 +#define VIVO_D4__CAM_VS0 7 +#define VIVO_D3__VI2_D_3 0 +#define VIVO_D3__VI1_D_3 1 +#define VIVO_D3__VO_D_16 2 +#define VIVO_D3__XGPIOB_18 3 +#define VIVO_D3__RMII0_TXD0 4 +#define VIVO_D3__IIC1_SCL 5 +#define VIVO_D3__UART2_RTS 6 +#define VIVO_D3__CAM_HS0 7 +#define VIVO_D2__VI2_D_2 0 +#define VIVO_D2__VI1_D_2 1 +#define VIVO_D2__VO_D_15 2 +#define VIVO_D2__XGPIOB_19 3 +#define VIVO_D2__RMII0_TXD1 4 +#define VIVO_D2__CAM_MCLK1 5 +#define VIVO_D2__PWM_2 6 +#define VIVO_D2__UART2_TX 7 +#define VIVO_D1__VI2_D_1 0 +#define VIVO_D1__VI1_D_1 1 +#define VIVO_D1__VO_D_14 2 +#define VIVO_D1__XGPIOB_20 3 +#define VIVO_D1__RMII0_RXDV 4 +#define VIVO_D1__IIC3_SDA 5 +#define VIVO_D1__PWM_3 6 +#define VIVO_D1__IIC4_SCL 7 +#define VIVO_D0__VI2_D_0 0 +#define VIVO_D0__VI1_D_0 1 +#define VIVO_D0__VO_D_13 2 +#define VIVO_D0__XGPIOB_21 3 +#define VIVO_D0__RMII0_TXCLK 4 +#define VIVO_D0__IIC3_SCL 5 +#define VIVO_D0__WG1_D0 6 +#define VIVO_D0__IIC4_SDA 7 +#define VIVO_CLK__VI2_CLK 0 +#define VIVO_CLK__VI1_CLK 1 +#define VIVO_CLK__VO_CLK1 2 +#define VIVO_CLK__XGPIOB_22 3 +#define VIVO_CLK__RMII0_TXEN 4 +#define VIVO_CLK__CAM_MCLK0 5 +#define VIVO_CLK__WG1_D1 6 +#define VIVO_CLK__UART2_RX 7 +#define PAD_MIPIRX5N__VI1_D_11 1 +#define PAD_MIPIRX5N__VO_D_12 2 +#define PAD_MIPIRX5N__XGPIOC_0 3 +#define PAD_MIPIRX5N__CAM_MCLK0 5 +#define PAD_MIPIRX5N__WG0_D0 6 +#define PAD_MIPIRX5N__DBG_0 7 +#define PAD_MIPIRX5P__VI1_D_12 1 +#define PAD_MIPIRX5P__VO_D_11 2 +#define PAD_MIPIRX5P__XGPIOC_1 3 +#define PAD_MIPIRX5P__IIS1_MCLK 4 +#define PAD_MIPIRX5P__CAM_MCLK1 5 +#define PAD_MIPIRX5P__WG0_D1 6 +#define PAD_MIPIRX5P__DBG_1 7 +#define PAD_MIPIRX4N__VI0_CLK 1 +#define PAD_MIPIRX4N__VI1_D_13 2 +#define PAD_MIPIRX4N__XGPIOC_2 3 +#define PAD_MIPIRX4N__IIC1_SDA 4 +#define PAD_MIPIRX4N__CAM_MCLK0 5 +#define PAD_MIPIRX4N__KEY_ROW0 6 +#define PAD_MIPIRX4N__MUX_SPI1_SCK 7 +#define PAD_MIPIRX4P__VI0_D_0 1 +#define PAD_MIPIRX4P__VI1_D_14 2 +#define PAD_MIPIRX4P__XGPIOC_3 3 +#define PAD_MIPIRX4P__IIC1_SCL 4 +#define PAD_MIPIRX4P__CAM_MCLK1 5 +#define PAD_MIPIRX4P__KEY_ROW1 6 +#define PAD_MIPIRX4P__MUX_SPI1_CS 7 +#define PAD_MIPIRX3N__VI0_D_1 1 +#define PAD_MIPIRX3N__VI1_D_15 2 +#define PAD_MIPIRX3N__XGPIOC_4 3 +#define PAD_MIPIRX3N__CAM_MCLK0 4 +#define PAD_MIPIRX3N__MUX_SPI1_MISO 7 +#define PAD_MIPIRX3P__VI0_D_2 1 +#define PAD_MIPIRX3P__VI1_D_16 2 +#define PAD_MIPIRX3P__XGPIOC_5 3 +#define PAD_MIPIRX3P__MUX_SPI1_MOSI 7 +#define PAD_MIPIRX2N__VI0_D_3 1 +#define PAD_MIPIRX2N__VO_D_10 2 +#define PAD_MIPIRX2N__XGPIOC_6 3 +#define PAD_MIPIRX2N__VI1_D_17 4 +#define PAD_MIPIRX2N__IIC4_SCL 5 +#define PAD_MIPIRX2N__DBG_6 7 +#define PAD_MIPIRX2P__VI0_D_4 1 +#define PAD_MIPIRX2P__VO_D_9 2 +#define PAD_MIPIRX2P__XGPIOC_7 3 +#define PAD_MIPIRX2P__VI1_D_18 4 +#define PAD_MIPIRX2P__IIC4_SDA 5 +#define PAD_MIPIRX2P__DBG_7 7 +#define PAD_MIPIRX1N__VI0_D_5 1 +#define PAD_MIPIRX1N__VO_D_8 2 +#define PAD_MIPIRX1N__XGPIOC_8 3 +#define PAD_MIPIRX1N__KEY_ROW3 6 +#define PAD_MIPIRX1N__DBG_8 7 +#define PAD_MIPIRX1P__VI0_D_6 1 +#define PAD_MIPIRX1P__VO_D_7 2 +#define PAD_MIPIRX1P__XGPIOC_9 3 +#define PAD_MIPIRX1P__IIC1_SDA 4 +#define PAD_MIPIRX1P__KEY_ROW2 6 +#define PAD_MIPIRX1P__DBG_9 7 +#define PAD_MIPIRX0N__VI0_D_7 1 +#define PAD_MIPIRX0N__VO_D_6 2 +#define PAD_MIPIRX0N__XGPIOC_10 3 +#define PAD_MIPIRX0N__IIC1_SCL 4 +#define PAD_MIPIRX0N__CAM_MCLK1 5 +#define PAD_MIPIRX0N__DBG_10 7 +#define PAD_MIPIRX0P__VI0_D_8 1 +#define PAD_MIPIRX0P__VO_D_5 2 +#define PAD_MIPIRX0P__XGPIOC_11 3 +#define PAD_MIPIRX0P__CAM_MCLK0 4 +#define PAD_MIPIRX0P__DBG_11 7 +#define PAD_MIPI_TXM4__SD1_CLK 1 +#define PAD_MIPI_TXM4__VO_D_24 2 +#define PAD_MIPI_TXM4__XGPIOC_18 3 +#define PAD_MIPI_TXM4__CAM_MCLK1 4 +#define PAD_MIPI_TXM4__PWM_12 5 +#define PAD_MIPI_TXM4__IIC1_SDA 6 +#define PAD_MIPI_TXM4__DBG_18 7 +#define PAD_MIPI_TXP4__SD1_CMD 1 +#define PAD_MIPI_TXP4__VO_D_25 2 +#define PAD_MIPI_TXP4__XGPIOC_19 3 +#define PAD_MIPI_TXP4__CAM_MCLK0 4 +#define PAD_MIPI_TXP4__PWM_13 5 +#define PAD_MIPI_TXP4__IIC1_SCL 6 +#define PAD_MIPI_TXP4__DBG_19 7 +#define PAD_MIPI_TXM3__SD1_D0 1 +#define PAD_MIPI_TXM3__VO_D_26 2 +#define PAD_MIPI_TXM3__XGPIOC_20 3 +#define PAD_MIPI_TXM3__IIC2_SDA 4 +#define PAD_MIPI_TXM3__PWM_14 5 +#define PAD_MIPI_TXM3__IIC1_SDA 6 +#define PAD_MIPI_TXM3__CAM_VS0 7 +#define PAD_MIPI_TXP3__SD1_D1 1 +#define PAD_MIPI_TXP3__VO_D_27 2 +#define PAD_MIPI_TXP3__XGPIOC_21 3 +#define PAD_MIPI_TXP3__IIC2_SCL 4 +#define PAD_MIPI_TXP3__PWM_15 5 +#define PAD_MIPI_TXP3__IIC1_SCL 6 +#define PAD_MIPI_TXP3__CAM_HS0 7 +#define PAD_MIPI_TXM2__VI0_D_13 1 +#define PAD_MIPI_TXM2__VO_D_0 2 +#define PAD_MIPI_TXM2__XGPIOC_16 3 +#define PAD_MIPI_TXM2__IIC1_SDA 4 +#define PAD_MIPI_TXM2__PWM_8 5 +#define PAD_MIPI_TXM2__SPI0_SCK 6 +#define PAD_MIPI_TXM2__SD1_D2 7 +#define PAD_MIPI_TXP2__VI0_D_14 1 +#define PAD_MIPI_TXP2__VO_CLK0 2 +#define PAD_MIPI_TXP2__XGPIOC_17 3 +#define PAD_MIPI_TXP2__IIC1_SCL 4 +#define PAD_MIPI_TXP2__PWM_9 5 +#define PAD_MIPI_TXP2__SPI0_CS_X 6 +#define PAD_MIPI_TXP2__SD1_D3 7 +#define PAD_MIPI_TXM1__VI0_D_11 1 +#define PAD_MIPI_TXM1__VO_D_2 2 +#define PAD_MIPI_TXM1__XGPIOC_14 3 +#define PAD_MIPI_TXM1__IIC2_SDA 4 +#define PAD_MIPI_TXM1__PWM_10 5 +#define PAD_MIPI_TXM1__SPI0_SDO 6 +#define PAD_MIPI_TXM1__DBG_14 7 +#define PAD_MIPI_TXP1__VI0_D_12 1 +#define PAD_MIPI_TXP1__VO_D_1 2 +#define PAD_MIPI_TXP1__XGPIOC_15 3 +#define PAD_MIPI_TXP1__IIC2_SCL 4 +#define PAD_MIPI_TXP1__PWM_11 5 +#define PAD_MIPI_TXP1__SPI0_SDI 6 +#define PAD_MIPI_TXP1__DBG_15 7 +#define PAD_MIPI_TXM0__VI0_D_9 1 +#define PAD_MIPI_TXM0__VO_D_4 2 +#define PAD_MIPI_TXM0__XGPIOC_12 3 +#define PAD_MIPI_TXM0__CAM_MCLK1 4 +#define PAD_MIPI_TXM0__PWM_14 5 +#define PAD_MIPI_TXM0__CAM_VS0 6 +#define PAD_MIPI_TXM0__DBG_12 7 +#define PAD_MIPI_TXP0__VI0_D_10 1 +#define PAD_MIPI_TXP0__VO_D_3 2 +#define PAD_MIPI_TXP0__XGPIOC_13 3 +#define PAD_MIPI_TXP0__CAM_MCLK0 4 +#define PAD_MIPI_TXP0__PWM_15 5 +#define PAD_MIPI_TXP0__CAM_HS0 6 +#define PAD_MIPI_TXP0__DBG_13 7 +#define PAD_AUD_AINL_MIC__XGPIOC_23 3 +#define PAD_AUD_AINL_MIC__IIS1_BCLK 4 +#define PAD_AUD_AINL_MIC__IIS2_BCLK 5 +#define PAD_AUD_AINR_MIC__XGPIOC_22 3 +#define PAD_AUD_AINR_MIC__IIS1_DO 4 +#define PAD_AUD_AINR_MIC__IIS2_DI 5 +#define PAD_AUD_AINR_MIC__IIS1_DI 6 +#define PAD_AUD_AOUTL__XGPIOC_25 3 +#define PAD_AUD_AOUTL__IIS1_LRCK 4 +#define PAD_AUD_AOUTL__IIS2_LRCK 5 +#define PAD_AUD_AOUTR__XGPIOC_24 3 +#define PAD_AUD_AOUTR__IIS1_DI 4 +#define PAD_AUD_AOUTR__IIS2_DO 5 +#define PAD_AUD_AOUTR__IIS1_DO 6 +#define GPIO_RTX__XGPIOB_23 3 +#define GPIO_RTX__PWM_1 4 +#define GPIO_RTX__CAM_MCLK0 5 +#define GPIO_ZQ__PWR_GPIO_24 3 +#define GPIO_ZQ__PWM_2 4 diff --git a/bsp/cvitek/drivers/libraries/cv181x/cv181x_pinmux.h b/bsp/cvitek/drivers/libraries/cv181x/cv181x_pinmux.h new file mode 100755 index 0000000000..9b3e81ef42 --- /dev/null +++ b/bsp/cvitek/drivers/libraries/cv181x/cv181x_pinmux.h @@ -0,0 +1,46 @@ +#ifndef _CV181X_PINMUX_H_ +#define _CV181X_PINMUX_H_ + +#define PINMUX_UART0 0 +#define PINMUX_UART1 1 +#define PINMUX_UART2 2 +#define PINMUX_UART3 3 +#define PINMUX_UART3_2 4 +#define PINMUX_I2C0 5 +#define PINMUX_I2C1 6 +#define PINMUX_I2C2 7 +#define PINMUX_I2C3 8 +#define PINMUX_I2C4 9 +#define PINMUX_I2C4_2 10 +#define PINMUX_SPI0 11 +#define PINMUX_SPI1 12 +#define PINMUX_SPI2 13 +#define PINMUX_SPI2_2 14 +#define PINMUX_SPI3 15 +#define PINMUX_SPI3_2 16 +#define PINMUX_I2S0 17 +#define PINMUX_I2S1 18 +#define PINMUX_I2S2 19 +#define PINMUX_I2S3 20 +#define PINMUX_USBID 21 +#define PINMUX_SDIO0 22 +#define PINMUX_SDIO1 23 +#define PINMUX_ND 24 +#define PINMUX_EMMC 25 +#define PINMUX_SPI_NOR 26 +#define PINMUX_SPI_NAND 27 +#define PINMUX_CAM0 28 +#define PINMUX_CAM1 29 +#define PINMUX_PCM0 30 +#define PINMUX_PCM1 31 +#define PINMUX_CSI0 32 +#define PINMUX_CSI1 33 +#define PINMUX_CSI2 34 +#define PINMUX_DSI 35 +#define PINMUX_VI0 36 +#define PINMUX_VO 37 +#define PINMUX_PWM1 38 +#define PINMUX_UART4 39 +#define PINMUX_SPI_NOR1 40 + +#endif // end of _CV181X_PINMUX_H_ diff --git a/bsp/cvitek/drivers/libraries/cv181x/cv181x_reg_fmux_gpio.h b/bsp/cvitek/drivers/libraries/cv181x/cv181x_reg_fmux_gpio.h new file mode 100755 index 0000000000..5dbf34be30 --- /dev/null +++ b/bsp/cvitek/drivers/libraries/cv181x/cv181x_reg_fmux_gpio.h @@ -0,0 +1,475 @@ +// $Module: fmux_gpio $ +// $RegisterBank Version: V 1.0.00 $ +// $Author: ghost $ +// $Date: Fri, 30 Jul 2021 08:58:54 PM $ +// + +//GEN REG ADDR/OFFSET/MASK +#define FMUX_GPIO_REG_IOCTRL_CAM_MCLK0 0x0 +#define FMUX_GPIO_REG_IOCTRL_CAM_PD0 0x4 +#define FMUX_GPIO_REG_IOCTRL_CAM_RST0 0x8 +#define FMUX_GPIO_REG_IOCTRL_CAM_MCLK1 0xc +#define FMUX_GPIO_REG_IOCTRL_CAM_PD1 0x10 +#define FMUX_GPIO_REG_IOCTRL_IIC3_SCL 0x14 +#define FMUX_GPIO_REG_IOCTRL_IIC3_SDA 0x18 +#define FMUX_GPIO_REG_IOCTRL_SD0_CLK 0x1c +#define FMUX_GPIO_REG_IOCTRL_SD0_CMD 0x20 +#define FMUX_GPIO_REG_IOCTRL_SD0_D0 0x24 +#define FMUX_GPIO_REG_IOCTRL_SD0_D1 0x28 +#define FMUX_GPIO_REG_IOCTRL_SD0_D2 0x2c +#define FMUX_GPIO_REG_IOCTRL_SD0_D3 0x30 +#define FMUX_GPIO_REG_IOCTRL_SD0_CD 0x34 +#define FMUX_GPIO_REG_IOCTRL_SD0_PWR_EN 0x38 +#define FMUX_GPIO_REG_IOCTRL_SPK_EN 0x3c +#define FMUX_GPIO_REG_IOCTRL_UART0_TX 0x40 +#define FMUX_GPIO_REG_IOCTRL_UART0_RX 0x44 +#define FMUX_GPIO_REG_IOCTRL_EMMC_RSTN 0x48 +#define FMUX_GPIO_REG_IOCTRL_EMMC_DAT2 0x4c +#define FMUX_GPIO_REG_IOCTRL_EMMC_CLK 0x50 +#define FMUX_GPIO_REG_IOCTRL_EMMC_DAT0 0x54 +#define FMUX_GPIO_REG_IOCTRL_EMMC_DAT3 0x58 +#define FMUX_GPIO_REG_IOCTRL_EMMC_CMD 0x5c +#define FMUX_GPIO_REG_IOCTRL_EMMC_DAT1 0x60 +#define FMUX_GPIO_REG_IOCTRL_JTAG_CPU_TMS 0x64 +#define FMUX_GPIO_REG_IOCTRL_JTAG_CPU_TCK 0x68 +#define FMUX_GPIO_REG_IOCTRL_JTAG_CPU_TRST 0x6c +#define FMUX_GPIO_REG_IOCTRL_IIC0_SCL 0x70 +#define FMUX_GPIO_REG_IOCTRL_IIC0_SDA 0x74 +#define FMUX_GPIO_REG_IOCTRL_AUX0 0x78 +#define FMUX_GPIO_REG_IOCTRL_PWR_VBAT_DET 0x7c +#define FMUX_GPIO_REG_IOCTRL_PWR_RSTN 0x80 +#define FMUX_GPIO_REG_IOCTRL_PWR_SEQ1 0x84 +#define FMUX_GPIO_REG_IOCTRL_PWR_SEQ2 0x88 +#define FMUX_GPIO_REG_IOCTRL_PWR_SEQ3 0x8c +#define FMUX_GPIO_REG_IOCTRL_PWR_WAKEUP0 0x90 +#define FMUX_GPIO_REG_IOCTRL_PWR_WAKEUP1 0x94 +#define FMUX_GPIO_REG_IOCTRL_PWR_BUTTON1 0x98 +#define FMUX_GPIO_REG_IOCTRL_PWR_ON 0x9c +#define FMUX_GPIO_REG_IOCTRL_XTAL_XIN 0xa0 +#define FMUX_GPIO_REG_IOCTRL_PWR_GPIO0 0xa4 +#define FMUX_GPIO_REG_IOCTRL_PWR_GPIO1 0xa8 +#define FMUX_GPIO_REG_IOCTRL_PWR_GPIO2 0xac +#define FMUX_GPIO_REG_IOCTRL_CLK32K 0xb0 +#define FMUX_GPIO_REG_IOCTRL_CLK25M 0xb4 +#define FMUX_GPIO_REG_IOCTRL_IIC2_SCL 0xb8 +#define FMUX_GPIO_REG_IOCTRL_IIC2_SDA 0xbc +#define FMUX_GPIO_REG_IOCTRL_UART2_TX 0xc0 +#define FMUX_GPIO_REG_IOCTRL_UART2_RTS 0xc4 +#define FMUX_GPIO_REG_IOCTRL_UART2_RX 0xc8 +#define FMUX_GPIO_REG_IOCTRL_UART2_CTS 0xcc +#define FMUX_GPIO_REG_IOCTRL_SD1_D3 0xd0 +#define FMUX_GPIO_REG_IOCTRL_SD1_D2 0xd4 +#define FMUX_GPIO_REG_IOCTRL_SD1_D1 0xd8 +#define FMUX_GPIO_REG_IOCTRL_SD1_D0 0xdc +#define FMUX_GPIO_REG_IOCTRL_SD1_CMD 0xe0 +#define FMUX_GPIO_REG_IOCTRL_SD1_CLK 0xe4 +#define FMUX_GPIO_REG_IOCTRL_RSTN 0xe8 +#define FMUX_GPIO_REG_IOCTRL_PWM0_BUCK 0xec +#define FMUX_GPIO_REG_IOCTRL_ADC3 0xf0 +#define FMUX_GPIO_REG_IOCTRL_ADC2 0xf4 +#define FMUX_GPIO_REG_IOCTRL_ADC1 0xf8 +#define FMUX_GPIO_REG_IOCTRL_USB_ID 0xfc +#define FMUX_GPIO_REG_IOCTRL_USB_VBUS_EN 0x100 +#define FMUX_GPIO_REG_IOCTRL_PKG_TYPE0 0x104 +#define FMUX_GPIO_REG_IOCTRL_USB_VBUS_DET 0x108 +#define FMUX_GPIO_REG_IOCTRL_PKG_TYPE1 0x10c +#define FMUX_GPIO_REG_IOCTRL_PKG_TYPE2 0x110 +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_MISO 0x114 +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_MOSI 0x118 +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_CS 0x11c +#define FMUX_GPIO_REG_IOCTRL_MUX_SPI1_SCK 0x120 +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_TXM 0x124 +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_TXP 0x128 +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_RXM 0x12c +#define FMUX_GPIO_REG_IOCTRL_PAD_ETH_RXP 0x130 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D10 0x134 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D9 0x138 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D8 0x13c +#define FMUX_GPIO_REG_IOCTRL_VIVO_D7 0x140 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D6 0x144 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D5 0x148 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D4 0x14c +#define FMUX_GPIO_REG_IOCTRL_VIVO_D3 0x150 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D2 0x154 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D1 0x158 +#define FMUX_GPIO_REG_IOCTRL_VIVO_D0 0x15c +#define FMUX_GPIO_REG_IOCTRL_VIVO_CLK 0x160 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX5N 0x164 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX5P 0x168 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX4N 0x16c +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX4P 0x170 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX3N 0x174 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX3P 0x178 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX2N 0x17c +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX2P 0x180 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX1N 0x184 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX1P 0x188 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX0N 0x18c +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPIRX0P 0x190 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM4 0x194 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP4 0x198 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM3 0x19c +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP3 0x1a0 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM2 0x1a4 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP2 0x1a8 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM1 0x1ac +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP1 0x1b0 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXM0 0x1b4 +#define FMUX_GPIO_REG_IOCTRL_PAD_MIPI_TXP0 0x1b8 +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AINL_MIC 0x1bc +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AINR_MIC 0x1c0 +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AOUTL 0x1c4 +#define FMUX_GPIO_REG_IOCTRL_PAD_AUD_AOUTR 0x1c8 +#define FMUX_GPIO_REG_IOCTRL_GPIO_RTX 0x1cc +#define FMUX_GPIO_REG_IOCTRL_GPIO_ZQ 0x1d0 +#define FMUX_GPIO_FUNCSEL_CAM_MCLK0 0x0 +#define FMUX_GPIO_FUNCSEL_CAM_MCLK0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CAM_MCLK0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_CAM_PD0 0x4 +#define FMUX_GPIO_FUNCSEL_CAM_PD0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CAM_PD0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_CAM_RST0 0x8 +#define FMUX_GPIO_FUNCSEL_CAM_RST0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CAM_RST0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_CAM_MCLK1 0xc +#define FMUX_GPIO_FUNCSEL_CAM_MCLK1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CAM_MCLK1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_CAM_PD1 0x10 +#define FMUX_GPIO_FUNCSEL_CAM_PD1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CAM_PD1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC3_SCL 0x14 +#define FMUX_GPIO_FUNCSEL_IIC3_SCL_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC3_SCL_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC3_SDA 0x18 +#define FMUX_GPIO_FUNCSEL_IIC3_SDA_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC3_SDA_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_CLK 0x1c +#define FMUX_GPIO_FUNCSEL_SD0_CLK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_CLK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_CMD 0x20 +#define FMUX_GPIO_FUNCSEL_SD0_CMD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_CMD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D0 0x24 +#define FMUX_GPIO_FUNCSEL_SD0_D0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D1 0x28 +#define FMUX_GPIO_FUNCSEL_SD0_D1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D2 0x2c +#define FMUX_GPIO_FUNCSEL_SD0_D2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_D3 0x30 +#define FMUX_GPIO_FUNCSEL_SD0_D3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_D3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_CD 0x34 +#define FMUX_GPIO_FUNCSEL_SD0_CD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_CD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD0_PWR_EN 0x38 +#define FMUX_GPIO_FUNCSEL_SD0_PWR_EN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD0_PWR_EN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SPK_EN 0x3c +#define FMUX_GPIO_FUNCSEL_SPK_EN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SPK_EN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART0_TX 0x40 +#define FMUX_GPIO_FUNCSEL_UART0_TX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART0_TX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART0_RX 0x44 +#define FMUX_GPIO_FUNCSEL_UART0_RX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART0_RX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_RSTN 0x48 +#define FMUX_GPIO_FUNCSEL_EMMC_RSTN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_RSTN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT2 0x4c +#define FMUX_GPIO_FUNCSEL_EMMC_DAT2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_CLK 0x50 +#define FMUX_GPIO_FUNCSEL_EMMC_CLK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_CLK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT0 0x54 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT3 0x58 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_CMD 0x5c +#define FMUX_GPIO_FUNCSEL_EMMC_CMD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_CMD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT1 0x60 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_EMMC_DAT1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TMS 0x64 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TMS_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TMS_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TCK 0x68 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TRST 0x6c +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TRST_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_JTAG_CPU_TRST_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC0_SCL 0x70 +#define FMUX_GPIO_FUNCSEL_IIC0_SCL_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC0_SCL_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC0_SDA 0x74 +#define FMUX_GPIO_FUNCSEL_IIC0_SDA_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC0_SDA_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_AUX0 0x78 +#define FMUX_GPIO_FUNCSEL_AUX0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_AUX0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_VBAT_DET 0x7c +#define FMUX_GPIO_FUNCSEL_PWR_VBAT_DET_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_VBAT_DET_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_RSTN 0x80 +#define FMUX_GPIO_FUNCSEL_PWR_RSTN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_RSTN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ1 0x84 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ2 0x88 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ3 0x8c +#define FMUX_GPIO_FUNCSEL_PWR_SEQ3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_SEQ3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP0 0x90 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP1 0x94 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_WAKEUP1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_BUTTON1 0x98 +#define FMUX_GPIO_FUNCSEL_PWR_BUTTON1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_BUTTON1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_ON 0x9c +#define FMUX_GPIO_FUNCSEL_PWR_ON_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_ON_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_XTAL_XIN 0xa0 +#define FMUX_GPIO_FUNCSEL_XTAL_XIN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_XTAL_XIN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO0 0xa4 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO1 0xa8 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO2 0xac +#define FMUX_GPIO_FUNCSEL_PWR_GPIO2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWR_GPIO2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_CLK32K 0xb0 +#define FMUX_GPIO_FUNCSEL_CLK32K_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CLK32K_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_CLK25M 0xb4 +#define FMUX_GPIO_FUNCSEL_CLK25M_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_CLK25M_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC2_SCL 0xb8 +#define FMUX_GPIO_FUNCSEL_IIC2_SCL_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC2_SCL_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_IIC2_SDA 0xbc +#define FMUX_GPIO_FUNCSEL_IIC2_SDA_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_IIC2_SDA_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART2_TX 0xc0 +#define FMUX_GPIO_FUNCSEL_UART2_TX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART2_TX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART2_RTS 0xc4 +#define FMUX_GPIO_FUNCSEL_UART2_RTS_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART2_RTS_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART2_RX 0xc8 +#define FMUX_GPIO_FUNCSEL_UART2_RX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART2_RX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_UART2_CTS 0xcc +#define FMUX_GPIO_FUNCSEL_UART2_CTS_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_UART2_CTS_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D3 0xd0 +#define FMUX_GPIO_FUNCSEL_SD1_D3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D2 0xd4 +#define FMUX_GPIO_FUNCSEL_SD1_D2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D1 0xd8 +#define FMUX_GPIO_FUNCSEL_SD1_D1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_D0 0xdc +#define FMUX_GPIO_FUNCSEL_SD1_D0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_D0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_CMD 0xe0 +#define FMUX_GPIO_FUNCSEL_SD1_CMD_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_CMD_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_SD1_CLK 0xe4 +#define FMUX_GPIO_FUNCSEL_SD1_CLK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_SD1_CLK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_RSTN 0xe8 +#define FMUX_GPIO_FUNCSEL_RSTN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_RSTN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PWM0_BUCK 0xec +#define FMUX_GPIO_FUNCSEL_PWM0_BUCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PWM0_BUCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_ADC3 0xf0 +#define FMUX_GPIO_FUNCSEL_ADC3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_ADC3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_ADC2 0xf4 +#define FMUX_GPIO_FUNCSEL_ADC2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_ADC2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_ADC1 0xf8 +#define FMUX_GPIO_FUNCSEL_ADC1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_ADC1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_USB_ID 0xfc +#define FMUX_GPIO_FUNCSEL_USB_ID_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_USB_ID_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_EN 0x100 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_EN_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_EN_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE0 0x104 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_DET 0x108 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_DET_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_USB_VBUS_DET_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE1 0x10c +#define FMUX_GPIO_FUNCSEL_PKG_TYPE1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE2 0x110 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PKG_TYPE2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MISO 0x114 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MISO_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MISO_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MOSI 0x118 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MOSI_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_MOSI_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_CS 0x11c +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_CS_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_CS_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_SCK 0x120 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_SCK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_MUX_SPI1_SCK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXM 0x124 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXM_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXM_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXP 0x128 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXP_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_TXP_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXM 0x12c +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXM_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXM_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXP 0x130 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXP_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_ETH_RXP_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D10 0x134 +#define FMUX_GPIO_FUNCSEL_VIVO_D10_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D10_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D9 0x138 +#define FMUX_GPIO_FUNCSEL_VIVO_D9_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D9_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D8 0x13c +#define FMUX_GPIO_FUNCSEL_VIVO_D8_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D8_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D7 0x140 +#define FMUX_GPIO_FUNCSEL_VIVO_D7_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D7_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D6 0x144 +#define FMUX_GPIO_FUNCSEL_VIVO_D6_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D6_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D5 0x148 +#define FMUX_GPIO_FUNCSEL_VIVO_D5_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D5_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D4 0x14c +#define FMUX_GPIO_FUNCSEL_VIVO_D4_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D4_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D3 0x150 +#define FMUX_GPIO_FUNCSEL_VIVO_D3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D2 0x154 +#define FMUX_GPIO_FUNCSEL_VIVO_D2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D1 0x158 +#define FMUX_GPIO_FUNCSEL_VIVO_D1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_D0 0x15c +#define FMUX_GPIO_FUNCSEL_VIVO_D0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_D0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_VIVO_CLK 0x160 +#define FMUX_GPIO_FUNCSEL_VIVO_CLK_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_VIVO_CLK_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX5N 0x164 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX5N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX5N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX5P 0x168 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX5P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX5P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4N 0x16c +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4P 0x170 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX4P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3N 0x174 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3P 0x178 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX3P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2N 0x17c +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2P 0x180 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX2P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1N 0x184 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1P 0x188 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX1P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0N 0x18c +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0N_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0N_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0P 0x190 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0P_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPIRX0P_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM4 0x194 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM4_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM4_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP4 0x198 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP4_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP4_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM3 0x19c +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP3 0x1a0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP3_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP3_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM2 0x1a4 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP2 0x1a8 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP2_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP2_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM1 0x1ac +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP1 0x1b0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP1_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP1_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM0 0x1b4 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXM0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP0 0x1b8 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP0_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_MIPI_TXP0_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINL_MIC 0x1bc +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINL_MIC_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINL_MIC_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINR_MIC 0x1c0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINR_MIC_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AINR_MIC_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTL 0x1c4 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTL_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTL_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTR 0x1c8 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTR_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_PAD_AUD_AOUTR_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_GPIO_RTX 0x1cc +#define FMUX_GPIO_FUNCSEL_GPIO_RTX_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_GPIO_RTX_MASK 0x7 +#define FMUX_GPIO_FUNCSEL_GPIO_ZQ 0x1d0 +#define FMUX_GPIO_FUNCSEL_GPIO_ZQ_OFFSET 0 +#define FMUX_GPIO_FUNCSEL_GPIO_ZQ_MASK 0x7 diff --git a/bsp/cvitek/drivers/libraries/cv181x/pinctrl.h b/bsp/cvitek/drivers/libraries/cv181x/pinctrl.h new file mode 100755 index 0000000000..58bd0938d3 --- /dev/null +++ b/bsp/cvitek/drivers/libraries/cv181x/pinctrl.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved. + * + * File Name: pinctrl.h + * Description: + */ + +#ifndef __PINCTRL_CV181X_H__ +#define __PINCTRL_CV181X_H__ + +//#include "../core.h" +#include "cv181x_pinlist_swconfig.h" +#include "cv181x_reg_fmux_gpio.h" + +#define PAD_MIPI_TXM4__MIPI_TXM4 0 +#define PAD_MIPI_TXP4__MIPI_TXP4 0 +#define PAD_MIPI_TXM3__MIPI_TXM3 0 +#define PAD_MIPI_TXP3__MIPI_TXP3 0 +#define PAD_MIPI_TXM2__MIPI_TXM2 0 +#define PAD_MIPI_TXP2__MIPI_TXP2 0 +#define PAD_MIPI_TXM1__MIPI_TXM1 0 +#define PAD_MIPI_TXP1__MIPI_TXP1 0 +#define PAD_MIPI_TXM0__MIPI_TXM0 0 +#define PAD_MIPI_TXP0__MIPI_TXP0 0 + +#define PINMUX_BASE 0x03001000 +#define PINMUX_MASK(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_MASK +#define PINMUX_OFFSET(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_OFFSET +#define PINMUX_VALUE(PIN_NAME, FUNC_NAME) PIN_NAME##__##FUNC_NAME +#define PINMUX_CONFIG(PIN_NAME, FUNC_NAME) \ + mmio_clrsetbits_32(PINMUX_BASE + FMUX_GPIO_FUNCSEL_##PIN_NAME, \ + PINMUX_MASK(PIN_NAME) << PINMUX_OFFSET(PIN_NAME), \ + PINMUX_VALUE(PIN_NAME, FUNC_NAME)) + +#endif /* __PINCTRL_CV181X_H__ */ diff --git a/bsp/cvitek/drivers/cv1800b/mmio.h b/bsp/cvitek/drivers/libraries/mmio.h old mode 100644 new mode 100755 similarity index 100% rename from bsp/cvitek/drivers/cv1800b/mmio.h rename to bsp/cvitek/drivers/libraries/mmio.h diff --git a/bsp/cvitek/drivers/cv1800b/types.h b/bsp/cvitek/drivers/libraries/types.h similarity index 100% rename from bsp/cvitek/drivers/cv1800b/types.h rename to bsp/cvitek/drivers/libraries/types.h diff --git a/bsp/cvitek/cv1800b/mkimage b/bsp/cvitek/mkimage similarity index 100% rename from bsp/cvitek/cv1800b/mkimage rename to bsp/cvitek/mkimage diff --git a/bsp/cvitek/mksdimg.sh b/bsp/cvitek/mksdimg.sh new file mode 100755 index 0000000000..788def063a --- /dev/null +++ b/bsp/cvitek/mksdimg.sh @@ -0,0 +1,37 @@ +#/bin/sh +set -e + +PROJECT_PATH=$1 +IMAGE_NAME=$2 + +if [ -z "$PROJECT_PATH" ] || [ -z "$IMAGE_NAME" ]; then + echo "Usage: $0 " + exit 1 +fi + +ROOT_PATH=$(pwd) +echo ${ROOT_PATH} + +function get_board_type() +{ + BOARD_CONFIG=("CONFIG_BOARD_TYPE_MILKV_DUO" "CONFIG_BOARD_TYPE_MILKV_DUO_SPINOR" "CONFIG_BOARD_TYPE_MILKV_DUO_SPINAND" "CONFIG_BOARD_TYPE_MILKV_DUO256M") + BOARD_VALUE=("milkv-duo" "milkv-duo-spinor" "milkv-duo-spinand" "milkv-duo256m") + + for ((i=0;i<${#BOARD_CONFIG[@]};i++)) + do + config_value=$(grep -w "${BOARD_CONFIG[i]}" ${PROJECT_PATH}/.config | cut -d= -f2) + if [ "$config_value" == "y" ]; then + BOARD_TYPE=${BOARD_VALUE[i]} + break + fi + done +} + +get_board_type + +echo "start compress kernel..." + +lzma -c -9 -f -k ${PROJECT_PATH}/${IMAGE_NAME} > ${PROJECT_PATH}/Image.lzma + +mkdir -p ${ROOT_PATH}/output/${BOARD_TYPE} +./mkimage -f ${PROJECT_PATH}/multi.its -r ${ROOT_PATH}/output/${BOARD_TYPE}/boot.sd \ No newline at end of file diff --git a/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/bl2.bin b/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/bl2.bin deleted file mode 100755 index 84ea0561c04c2b694d0830ab5add073f970f1a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47152 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 WqP(GPi$F)lmi^=T<_I5plK&q<2<4gp diff --git a/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.bin b/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.bin deleted file mode 100755 index c9902e4a9e..0000000000 --- a/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.bin +++ /dev/null @@ -1 +0,0 @@ -ᆳ \ No newline at end of file diff --git a/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.env b/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.env deleted file mode 100755 index cff9e11100..0000000000 --- a/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/blmacros.env +++ /dev/null @@ -1,2 +0,0 @@ -MONITOR_RUNADDR=0x0000000080000000 -BLCP_2ND_RUNADDR=0x0000000083f40000 diff --git a/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/chip_conf.bin b/bsp/cvitek/pre-build/fsbl/build/cv1800b_milkv_duo_sd/chip_conf.bin deleted file mode 100755 index d2dabd68683c0cb83e7ff96be08429c5de74a043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 Ycmd;KVBlk9U|7Hdq?v&9g8vWz05v2D5dZ)H diff --git a/bsp/cvitek/pre-build/fsbl/build/cvi_board_memmap.h b/bsp/cvitek/pre-build/fsbl/build/cvi_board_memmap.h deleted file mode 100755 index 906c5b0ba6..0000000000 --- a/bsp/cvitek/pre-build/fsbl/build/cvi_board_memmap.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __BOARD_MMAP__83494f74__ -#define __BOARD_MMAP__83494f74__ - -#define CONFIG_SYS_TEXT_BASE 0x80200000 /* offset 2.0MiB */ -#define CVIMMAP_ATF_SIZE 0x80000 /* 512.0KiB */ -#define CVIMMAP_BOOTLOGO_ADDR 0x82473000 /* offset 36.44921875MiB */ -#define CVIMMAP_BOOTLOGO_SIZE 0x0 /* 0.0KiB */ -#define CVIMMAP_CONFIG_SYS_INIT_SP_ADDR 0x82300000 /* offset 35.0MiB */ -#define CVIMMAP_CVI_UPDATE_HEADER_ADDR 0x813ffc00 /* offset 19.9990234375MiB */ -#define CVIMMAP_CVI_UPDATE_HEADER_SIZE 0x400 /* 1.0KiB */ -#define CVIMMAP_DRAM_BASE 0x80000000 /* offset 0.0KiB */ -#define CVIMMAP_DRAM_SIZE 0x4000000 /* 64.0MiB */ -#define CVIMMAP_FREERTOS_ADDR 0x83f40000 /* offset 63.25MiB */ -#define CVIMMAP_FREERTOS_RESERVED_ION_SIZE 0x0 /* 0.0KiB */ -#define CVIMMAP_FREERTOS_SIZE 0xc0000 /* 768.0KiB */ -#define CVIMMAP_FSBL_C906L_START_ADDR 0x83f40000 /* offset 63.25MiB */ -#define CVIMMAP_FSBL_UNZIP_ADDR 0x81400000 /* offset 20.0MiB */ -#define CVIMMAP_FSBL_UNZIP_SIZE 0xf00000 /* 15.0MiB */ -#define CVIMMAP_H26X_BITSTREAM_ADDR 0x82473000 /* offset 36.44921875MiB */ -#define CVIMMAP_H26X_BITSTREAM_SIZE 0x0 /* 0.0KiB */ -#define CVIMMAP_H26X_ENC_BUFF_ADDR 0x82473000 /* offset 36.44921875MiB */ -#define CVIMMAP_H26X_ENC_BUFF_SIZE 0x0 /* 0.0KiB */ -#define CVIMMAP_ION_ADDR 0x82473000 /* offset 36.44921875MiB */ -#define CVIMMAP_ION_SIZE 0x1acd000 /* 26.80078125MiB */ -#define CVIMMAP_ISP_MEM_BASE_ADDR 0x82473000 /* offset 36.44921875MiB */ -#define CVIMMAP_ISP_MEM_BASE_SIZE 0x0 /* 0.0KiB */ -#define CVIMMAP_KERNEL_MEMORY_ADDR 0x80000000 /* offset 0.0KiB */ -#define CVIMMAP_KERNEL_MEMORY_SIZE 0x3f40000 /* 63.25MiB */ -#define CVIMMAP_MONITOR_ADDR 0x80000000 /* offset 0.0KiB */ -#define CVIMMAP_OPENSBI_FDT_ADDR 0x80080000 /* offset 512.0KiB */ -#define CVIMMAP_OPENSBI_SIZE 0x80000 /* 512.0KiB */ -#define CVIMMAP_UIMAG_ADDR 0x81400000 /* offset 20.0MiB */ -#define CVIMMAP_UIMAG_SIZE 0xf00000 /* 15.0MiB */ - -#endif /* __BOARD_MMAP__83494f74__ */ diff --git a/bsp/cvitek/pre-build/fsbl/plat/cv180x/chip_conf.py b/bsp/cvitek/pre-build/fsbl/plat/cv180x/chip_conf.py deleted file mode 100755 index 2c487eda69..0000000000 --- a/bsp/cvitek/pre-build/fsbl/plat/cv180x/chip_conf.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python3 - -import logging -import struct -import argparse - -CHIP_CONF_CMD_DELAY_MS = 0xFFFFFFFD -CHIP_CONF_CMD_DELAY_US = 0xFFFFFFFE - -CHIP_CONF_SCAN_START_1 = 0xFFFFFFA0 - - -def gen_chip_conf(args): - logging.info("gen_chip_conf") - regs = [ - (0x0E00000C, 0xA0000001), # ATF_DBG_REG = 0x0E00000C - (0x0E00000C, 0xA0000002), - # (CHIP_CONF_CMD_DELAY_MS, 100), - # (CHIP_CONF_CMD_DELAY_US, 100), - (CHIP_CONF_SCAN_START_1, 0xFFFFFFFF), - ] - - chip_conf = b"".join(struct.pack("= %r is required" % (PYTHON_MIN_VERSION,)) - sys.exit(-1) - - -try: - import coloredlogs -except ImportError: - coloredlogs = None - -try: - import argcomplete -except ImportError: - argcomplete = None - - -LOADER_2ND_MAGIC_ORIG = b"BL33" -LOADER_2ND_MAGIC_LZMA = b"B3MA" -LOADER_2ND_MAGIC_LZ4 = b"B3Z4" - -LOADER_2ND_MAGIC_LIST = [ - LOADER_2ND_MAGIC_ORIG, - LOADER_2ND_MAGIC_LZMA, - LOADER_2ND_MAGIC_LZ4, -] - -IMAGE_ALIGN = 512 -PARAM1_SIZE = 0x1000 -PARAM1_SIZE_WO_SIG = 0x800 -PARAM2_SIZE = 0x1000 - - -def round_up(divident, divisor): - return ((divident + divisor - 1) // divisor) * divisor - - -def lzma_compress(body): - z = lzma.LZMACompressor(lzma.FORMAT_ALONE, preset=lzma.PRESET_EXTREME) - compressed = z.compress(body) - compressed += z.flush() - - return compressed - - -def lz4_compress(body): - try: - import lz4.frame - except ImportError: - logging.error("lz4 is not installed. Run 'pip install lz4'.") - raise - - compressed = lz4.frame.compress(body) - return compressed - - -class Entry: - __slots__ = "name", "type", "addr", "_content", "entry_size" - - def __init__(self): - self.addr = None - self._content = None - - @property - def end(self): - return self.addr + self.entry_size - - @property - def content(self): - return self._content - - @content.setter - def content(self, value): - if type(value) == int: - value = value.to_bytes(self.entry_size, "little") - - if self.entry_size is not None: - if len(value) > self.entry_size: - raise ValueError("%s (%d bytes) must <= %#r" % (self.name, len(value), self.entry_size)) - value = value + b"\0" * (self.entry_size - len(value)) - - self._content = value - - @classmethod - def make(cls, name, entry_size, _type, init=None): - entry = Entry() - entry.name = name - entry.type = _type - entry.entry_size = entry_size - - if type(init) in (bytes, bytearray): - entry.content = bytes(init) - elif entry_size is not None: - entry.content = b"\0" * entry.entry_size - else: - entry.content = b"" - - return (name, entry) - - def toint(self): - if self.type != int: - raise TypeError("%s is not int type" % self.name) - - return int.from_bytes(self.content, "little") - - def tostr(self): - v = self.content - if self.type == int: - v = "%#08x" % self.toint() - elif type(self.content) in [bytes, bytearray]: - v = v.hex() - if len(v) > 32: - v = v[:32] + "..." - - return v - - def __str__(self): - v = self.tostr() - return "<%s=%s (%dbytes)>" % (self.name, v, self.entry_size) - - def __repr__(self): - v = self.tostr() - return "<%s: a=%#x s=%#x c=%s %r>" % (self.name, self.addr, self.entry_size, v, self.type) - - -class FIP: - param1 = OrderedDict( - [ - Entry.make("MAGIC1", 8, int, b"CVBL01\n\0"), - Entry.make("MAGIC2", 4, int), - Entry.make("PARAM_CKSUM", 4, int), - Entry.make("NAND_INFO", 128, int), - Entry.make("NOR_INFO", 36, int), - Entry.make("FIP_FLAGS", 8, int), - Entry.make("CHIP_CONF_SIZE", 4, int), - Entry.make("BLCP_IMG_CKSUM", 4, int), - Entry.make("BLCP_IMG_SIZE", 4, int), - Entry.make("BLCP_IMG_RUNADDR", 4, int), - Entry.make("BLCP_PARAM_LOADADDR", 4, int), - Entry.make("BLCP_PARAM_SIZE", 4, int), - Entry.make("BL2_IMG_CKSUM", 4, int), - Entry.make("BL2_IMG_SIZE", 4, int), - Entry.make("BLD_IMG_SIZE", 4, int), - Entry.make("PARAM2_LOADADDR", 4, int), - Entry.make("RESERVED1", 4, int), - Entry.make("CHIP_CONF", 760, bytes), - Entry.make("BL_EK", 32, bytes), - Entry.make("ROOT_PK", 512, bytes), - Entry.make("BL_PK", 512, bytes), - Entry.make("BL_PK_SIG", 512, bytes), - Entry.make("CHIP_CONF_SIG", 512, bytes), - Entry.make("BL2_IMG_SIG", 512, bytes), - Entry.make("BLCP_IMG_SIG", 512, bytes), - ] - ) - - body1 = OrderedDict( - [ - Entry.make("BLCP", None, bytes), - Entry.make("BL2", None, bytes), - ] - ) - - param2 = OrderedDict( - [ - Entry.make("MAGIC1", 8, int, b"CVLD02\n\0"), - Entry.make("PARAM2_CKSUM", 4, int), - Entry.make("RESERVED1", 4, bytes), - # DDR param - Entry.make("DDR_PARAM_CKSUM", 4, int), - Entry.make("DDR_PARAM_LOADADDR", 4, int), - Entry.make("DDR_PARAM_SIZE", 4, int), - Entry.make("DDR_PARAM_RESERVED", 4, int), - # BLCP_2ND - Entry.make("BLCP_2ND_CKSUM", 4, int), - Entry.make("BLCP_2ND_LOADADDR", 4, int), - Entry.make("BLCP_2ND_SIZE", 4, int), - Entry.make("BLCP_2ND_RUNADDR", 4, int), - # ATF-BL31 or OpenSBI - Entry.make("MONITOR_CKSUM", 4, int), - Entry.make("MONITOR_LOADADDR", 4, int), - Entry.make("MONITOR_SIZE", 4, int), - Entry.make("MONITOR_RUNADDR", 4, int), - # u-boot - Entry.make("LOADER_2ND_RESERVED0", 4, int), - Entry.make("LOADER_2ND_LOADADDR", 4, int), - Entry.make("LOADER_2ND_RESERVED1", 4, int), - Entry.make("LOADER_2ND_RESERVED2", 4, int), - # Reserved - Entry.make("RESERVED_LAST", 4096 - 16 * 5, bytes), - ] - ) - - body2 = OrderedDict( - [ - Entry.make("DDR_PARAM", None, bytes), - Entry.make("BLCP_2ND", None, bytes), - Entry.make("MONITOR", None, bytes), - Entry.make("LOADER_2ND", None, bytes), - ] - ) - - ldr_2nd_hdr = OrderedDict( - [ - Entry.make("JUMP0", 4, int), - Entry.make("MAGIC", 4, int), - Entry.make("CKSUM", 4, int), - Entry.make("SIZE", 4, int), - Entry.make("RUNADDR", 8, int), - Entry.make("RESERVED1", 4, int), - Entry.make("RESERVED2", 4, int), - ] - ) - - FIP_FLAGS_SCS_MASK = 0x000c - FIP_FLAGS_ENCRYPTED_MASK = 0x0030 - - def _param_size(self, param): - return max((e.end for e in param.values())) - - def _gen_param(self): - addr = 0 - for entry in self.param1.values(): - entry.addr = addr - addr += entry.entry_size - - assert PARAM1_SIZE_WO_SIG == self.param1["BL_PK_SIG"].addr - - addr = 0 - for entry in self.param2.values(): - entry.addr = addr - addr += entry.entry_size - - assert PARAM2_SIZE == self.param2["RESERVED_LAST"].addr + self.param2["RESERVED_LAST"].entry_size - - addr = 0 - for entry in self.ldr_2nd_hdr.values(): - entry.addr = addr - addr += entry.entry_size - - def __init__(self): - self.compress_algo = None - self._gen_param() - - def image_crc(self, image): - crc = binascii.crc_hqx(image, 0) - crc = pack("xoF5C8zT000h~fPeuT0dN5m5wQUyupj`F0RR9u0w4t&0)haO0)P(#GXem! zfnfj>0zv?jg2Mmfm;(N{000h~fB*s`urL6(000h~fPeuT0dN5m5wQUi0r3DMupj_$ z0001Q00000000000001oYKsDWB_bt)*oao#pXou+8(a$#ajSsc&T~pY#?-`ARQw}T zO*9tUhCCU?4k8m?E9w6737WR*Kb|D}rF(4|4^`GV_sV?@BmOBv&<(r&^%xj_pRtQh zeq!@OBY;0Zikumd>n*V?=~oI-s^vsTV$s4YSNtIif9YlBAEM9~CmTUvC9NK;2$2^J z7HUww%|W{lh>fg`EFl2YE+b3MykPfG*PKFVqPu;&Lf{g^2H6$nym@ta&Kj9{&cHNw1C;tnpKXQi+kZTH{5@2O7gd1rV$b zn*1Ayp#ccBd9gkhZjD?CA?(0w{M=Xf%-OHG_I}4%>wj}W%a&f#YBKjP7Z1xm(+w*P z?&BJwEr`(1=5=nxz7myN`}PMzj>UzvL*9`)#v#P6YID?!)!v*e31FU^ZO+~J#aB>lmQF2Lb@B4$iu%*l4?kI2W|7zm;Z3Cywb1E+Prp|bWhq}{i1D8}2M?iv zYKt*0-cH@sK^|WS$8HRrP11#D4dyCG_ZE^%8fxbbdR)eV2Wj_2kVL0mv{a|2v-rCL!yaK z5w68rywmc9f_bjXS%IW|op#?Ys2ldDYbHfbg<;y(duhTK{K)2CXfK_$_x7p3H9I~} zz(h~laqc`rS6i6JIVrgPjoBV4`#cd``UdG85#!sTzM)jLDqAl15VJ)9hUsR=UqK5vE^lPncOK2zzXz57&2VQtQW))KT_yIu?X2&;oCx?-pKT=wWSVC zCyGrx3|~TtMKYM|UPFzLX~yWfj){#%nNKSg^l23b9{jKs2N zF9Sv^{#LsYl&(S+r8j_8_`^K0qtVhb(D12{U9Lf=8fBx=eS)x7h?T0UHUQB%>Pk7Q$5sY$FgoT1P|HQCI0!5&A{-&>*hY28~YE1T+%54^;+rToK{KExTE@EUGx zPsQ*}q%m8a?+Q(!0g-lwc@yM|@v37f0ceWJd5W?IrnFl;n zQ1>jl!-OO2uQ}n^Ksfl2tIP+kIbj3zIsq2Wl(65y#6}wRnVt(__&X(3Z^Fk-Zr2xY zV@g5x7^AX=1auHHfdBxL2p|SYwV@3ZuxB%7ag#4{QJt9D7SlHaVXt0Lc-h zP$!Ns$_T5yX%I8#2uj_PY3!fBT+wov_BxpN1iz=yBzf#hHQDTi{jC-*MNsaH$oM#u zqNn;6G(TBOo}Z!@MCSqU1~|eu6P6ockG{-SWe+UP3+rK@2N>8)co#)20&%zy({z_T zp51>N$YWyjFE(zEC(U}Tx|<$`FPEp}XP=LMrywSz!I_m>$R{eQ21?E{0%ZAvUc#*cUy&t(Y#X5ffaK{hY> zXYD=78U_<>2B#V1@-?AFRPt$GdUtt7Hm+{}DkFfhc_P?mb8t~fd~ z-Rj+oICUBjzR{VaW``b(o30#>y++52>9h3gV0ug4MW&S!mS018nW$h;7C)Cr8XW+~ zEE&vx5|$put5}nZbJJG9tevxwNz#qeAd)$A?(K)yHP;4k6Aan{f%2S9pW-MW3SmhR zQ$Max6Q!9^MQa9IETbd~F(2It!#0?a^6$@Ph`GF- zB6|GD3b4XX=32)mKy@W@Z!N;7f*k~27eDLnQ((=qIgCU@Nh_|N7FdEz%xZ&iWR}1rA9$9WBbQ~k!uT5gQ6~HVZ~$rYztQn z9vx+VS*Ggl3_Ulg`S|$Lk5&{4_(Wp(*mj?WS5KY6Y!iu>m@K^ea-W79xE{~4)H9T; z^@op`{FnyfWLY{R2WnwGd1yib|6-Z-6$6m% z(<(pBli0r;#tz=9A#1zCnzhff(w;_!*=CnfjXA=5-d?4+#F9|Nx;ah-{xdtO>1{0L zFrm6w&B?vk=qdRc1r%EHM7?-0inM=1zv;U)qhDUL#?3v1 z3%P*ci~pL2r=Ygdn^-aBUt*tPyIh#Io5ZmLu(_G{bj!2+4GOe;teO@^U4CLgcVwsO z4wR^07ioy}HroP$MF@fVB+r%fW!;`G!ojpZneZ3?#mKf$lJ=ERuF@YjKcBfhowN{h zMEL(@_EQkdLfGfo$loEp^n>%J6`>jNVd89S@s zm|?3XH!0p}g)0j-X^y`CY6-uZ23FA-&v|t2J#yQ!Qa3a1iWT#*z{lb7@cQWH1NsZ< z61?`4)s+YQ5k1X|Q2kt-IvwTQLiU44kwGI0Tz2)t7j4qoC4z?Z_Uq)Z$Qu+tX+Mg1 zu0w`?i1HdDitai8GO-zMWBpG0R!2uqcgs!?Gr*gC$J8J0KIDgnUr7d^X;CNLt2Kj+I$ zLqqn%RR?|^=S9CDO6%RITFOq3>~3}N>Re#%O`znHUbne;Gjr})#JKkKLc_Pmaliyxq~5}5YJ|LLqOOSx)|GU0Og8m20N9~4H@nVzH!d!P3!h2{O7F1|@AJ4(~Vo@oHS9;|p zkCbsa-4l7Pa>*>j50pATzrqTX&0+8+$vtVo=ug4X6TOHTSkBJgv1|;$Lk%CtejC?U z+(hFH7eX(&3jF#1u^cW);d9dwy3CKq><6E@NtV6GM!d-9Une`CgvGxH`|4c$ZYLj< z`*B11jA#`-%bGVF53m_yH{qR8W>TG880W~_m)WqQW?pVNRmQufHNcwX zT#DYaUPBN^rlN}i<-pTbcF1&AEUNmtGcw0H@D|sU4dTAJ9n)*TeFl5KZ;>ssh-EkL zprx3~{S8j&W|yeh9|I?j571pCO1n zbs)#po)5KQ<8KN+jNzv(X zCw06x+AhQpJ3At>;ded1-?102UR@N>d7`in6D0P5i8RaeZ7)gry*b4>I;2P9(4Tyw zHyLq-KHaE!W>rXp!i0a&J0Dvet0al53b-+K5XR^@2#ZOZr@K{!A^3%(0lVmM^FzN$JHO-3&YBXsS z@|+3xpioH*;f}@)mWf1am6#7ow=`9QrJ2kJ#xN>v2N*%EUuniUIusT4M{st=JL0y# zkt7=zRv!a(jb^$)xvxw7jOS+I;mMgfZTWIB(j8GI19|zLA^anBL&&o5&7VNMNzNDz z>Td2#C>Yv58ERu{i2JA#(vtH?AId?%eQJzv>LlMPT!)9mM@8plMJ~Y`&v5kCD+dl+ z3}`6aci8VU`1H{XGFhlxQhQ|p{t%aJyQjdc;X>m%svo^h-t&IXFHRfjTk>o4fjhKM zVE$n>VQ~Mxp7ghpP4VdpMhKy;fJFLQxgfoa!imOp`Y81B4WPP~{fnVI{bVfTysQ-2 z5ADHUC3j&>x9lZ&(gSqEJrNHlkUxtrbb^+YytC;CHDuUWX-?{awQ=l5Uq)SPq@OOs z+zB;^BiYWnI5~oge#y8EMZvDJoneTctCHEqo2tmzwYX2chvwt}wv*{z%B~P%DRnCFr;vgU@bjTd*4Np!GUX>CA@Az}NoEor#(2ENb@(*{LwW!?yyOl><3)aqHlzay5RfSN&6yR%Y5|WqeN{z2 zx3##AX!A%Pmg6)}wt0~L42qEsMOU92+AB>}n z_uiy>Cw-+8gjlT|i!lEk=25K+6LC@p4Zq={c1{^i+A3@i3%p{VuUN))dkrOoz!P{tV(PUuUB|U@=HGk`a_}dE>Q;^)-O!V=g=E?H9wOs7fUf^hVxy}JgXD) zcEW;VJ*lS#cFr`i6Gue^7oNaYS5a9NFY}oEhx=UT*`~BMF@_coIh8!$-u5~37p961 z*xW!xO44$hx-F;>@Jr<}&?tCOd8F9%N>30ZeHMzZJ#JHhYS0Rwb+a9V`%o9b7Sskw zg4s{C4@h`k0rIRkSdJI974J_V2ZnMst(&3rG1Cp#mfgJ!m|V0;(|$2ZGsqz|$M^|Y zcOmiwFHJ|_M28Wn)lt!#83aTBp@OICpe};Xn9p|~XqXZl%r?d>vD@~A0 zTNwt#O~}bp@wpF-j5dhXhXt6NTihd{>ZnP>kh7R8u?T#mqqq5rBGU`9z&slP@uG0c zt5Tj9#iue>a6>~!lxm&(;uMoU&Yjrd@FLKiQusWG#l=2gJ1PYxx(m0!c-c;%7k!em zHL+g`rTEzT8G%W=50%HXM{n2k6P>J;K{dz>gp~!Bif~>&A5-^9BmX<_BqtQG)p(Di z(GPO0N}rcrodXZ^^89AAO-qEL#&-u-)8r6S#|r2^0sHFCV1Alb3UcN>i$2`O)_ZIK z$uRfB9XY)M@~(36VSkFK$9)J}sFK!8V&MAq69XK<+ zh!i|ldQ!~c5{TX{R^AjWmUEB@2`G33H(LC!(bkk!?y!yg%*ZxVlrbb{v$uH$%tjj< zWaT$T3BNI>OHs7Yq&_>o)_+SiOqN-bDUvG! zPRj^*I{d4(^_Ee;duwo>J^|lGzc+LHVH9(p<Uo}jhLfcjTiB!oAaXkfY3U6qib)>Q>0(DeTvCu|iyn4{ zd=z21vM%p{mcPXk33QFj?ea~9&~?v)g?IFI z1o8!%K;PH3*JwSDxw?R67K2aiU4#wcC(d+tG>hOA0B73}diR)q=f{va3Dje(0-mrK zlQNc0x3usXt68DliFUCUfY6(U^oN5WImKV`D` zU1*zYPOibT!q?`RMJU-YCB5Z8lVurVSFz21^cswt}1_lT|8AOQ#Z_} zK7NN#ZHF9jwh4)z|4=8yjDUiFi1d$Pa|RkYUFm0q8);~iRBca~Yc?ui^oDE%uTKeadNz(x`NQvtR00AGtg%Lo#SFHfXt}Oa9r_Ro<0z3rM zDpi7@ZReZ-hcOS`|4MFv?a0_TDnjyn{)>Vb)Wj(WhL#cyJw%;630qe1r!2bZ6=kNG z;$(2ib0_m8mg_B49^D|oX?q?M33#&??L^6xzn;)PWU}qx#l49?Q9{0k+$eh=*l%P! z0!F!#^rqDVQPK?~a83H^s4Rl~!rUQKBDY02rUb~-U`Nr%ljp6Qr=)7+`(8M9!Wi!o zTT(7i!wvPgAS1R|g}*dDS0S>c4f;pIEe>CHujsX1LcdV@2lZ6-%DJ$x#=7&QfAQH) zNB&r(V~#mM{>YBnPsE3>t9gRvS+`0fYXkAg{(G&ciXWyEE)b=TF{cKs5`$>7-|X)v zxDzg2vMlAIePc|hfDny6QOlQrz&L;!%cmJFN8n`l2E-R`%!^t`R@7%FN5;PM$N3bN z7W6TXaamU=`Y-xAmdMx3-a4`PntVj!aeY0kyW2Uqk`*GFt4nf|h4mkI?jKW30Tvq) z3yr;c2C`v-j64e-$LcgLLBD_F#eJR;7)W$`rJxL8-3_xJ) zn5=d-72|adqn#hT3PjI5$LFIPR%6CG?x;TM2{^bbd@3mV^<+u&7}r9j z64fGB$pRg%N>}rM@HuNhz-2W>id~N!fZO{<%c<2~Hgeb5@@LlU{oqGU#Ys`b|NDT@ z*WO*=>G6QjrViq+D35mlfU0W^1D$%>J`X|UazBW~(9zdN*>B*plYEOPfrzVaePgnk z^4aN96omAp3{AbYI&b~103-p-#ZGl%4ZJKU>F!iQ6J&$La^rfh@<*kd&9zNp%7 zM3n>|8VA{#DN~VJv!M+K?Wy=c34~(J5V~LLN85C%0YK=V3E($u7(PJ1`rP#FRLzS$ zH#VJx>hYDWk&GEIU(8zOFTXp_(DE`9RKXz^FvY*3|?2}bC5&GC^seu za^t&dk+O#T-+)AHZqoB#tC#(MofKF_v8A7^MjLxxU+vfbDt5i6K>_2x*k>lPNm`OZ zo6Ns+`ul)DOb14(P%W~<=m99vi$!;#`Z>;~w|t?A)8jig71auxmKXbqNfu_95))q1 zUCwQsW`_wak#SFEg!s?={C9RaZ!O`*0i2>lV69E5j3i2)rB=vaDKJvfV)4+_-YXIN z8SN8A<2$Es0T(p(AuBXQ2uLQsN3#iSw8t(I>wN(qi~G)-Cz3iBbqpGZgLxuC~^^n_82l-^m2@#PMgTwC}289n)VJfsETHC1l=SMNMXsLcat!1oFg zkiyX1M)E#dx`qTd4TlG4V`s{e_2xk~$Ao@S*W(g?g}O4ij49b;(3prI$#iF=Zf4M= z#^sb;kUfQaw_+7pYcdVX8Ue5Uv4_za%Z;+L%lV@}@esxI^bv9Ww|EHD5tB_5(m{PN zY45`8;yK7yBg=WzlTSNVnVc=soNYG4c}n#3iE+{?xa`tHP9xp+QH!2CxlAts*Zex# zrO!Q_+Q=3+2j37l5+Mn*#yNYLXY6pTW_PZczSyeQfNl_co`T&83Y>4!p0ow8b*+5v zsitDelLVRM4pk>{QeE^SWbuUfLx1~_H&6MJ`1TS;k8=BxD(a=pJt6Bfvi61Y{*qn# zS09rvZXl|dVb8&s#}L(Q3FKX3b!*3tuGO&gbmq-x-`nbshS_rBH#K2>F+-sv1#=zN zljk4O#oM^l|8hMS$h55H;Fbn(Z^>s^vP zh4^}$A%`hKVjfW2d)u?yhcFBdMOngqciPw+Lm+|#O{PaYY%-@aEDfQBg-)Ehc$9$j zdeRNo+Wfs3lDoNmB80C$bf=jS=r_1R^y*l-3`ir-w!afG`-x6fpmcOQ&g3p~9J&*m zEA1EeDEcm*2ZGvuIk>SqD|a`H=@f;!j$M>Sen~m=fJqUrIY;{zqPXCMbzIm9uYdNM zoa$0m7Rd(D<}pd0XeH8`?;bJeWi zTxExX@w(KQL6=WXW|(9mmredKjMN=5T;ph=LRDYb_m}7cijPb~Sw1pq$26z49ZrFSigzNy1-8~-{?5H$ZHga#U z+YtnbiJG1&EbEESJJk(<3~zIW-0hfCa)<;ylWg5euB7GpU=i8^pq>6@;gmIAnG!N5h>85qTGtnocLhvaeui^Fi*~MJ#@>Ts%%R)GjKA zG>F%{ZKQL0c-pn~1Sw;E|hsE@! zAkZc234`{=4$7u$-5q&(jIQ=S{0*=9(7Scx=rizrf=BmZclRoQHyEC#d1R-cz1It3 zCTS)HF_GDTVjVnX>O^iN&lC)TGk+CDtjkSR)DmsWh8>=*YRx7_zsxOglu!>Z*cPa1 z>gsg7nO=*X#fi&D{^hPa-MOzk`j9OaueCFu3%#DRwu5>jmoJy!c_^vIAOwKnVB{YP zMZ3K)T!IL>mQ5qWX}dZ#FjKhb&Y@jgGeFR_JRfiX1g3BOwTzGBS&sbSM@Sh`BI8Wy zm1-12G~)8FF@y6B&#LJj!)l(V>&=HZ2O-jaVf({$lf2E?(z(m7Z)i=)b0+7ShIrky zme{n`)`D|j61}5?fRtLBaTe5apKf+-@qakm@zl%SR|N*JRPA3ykxhki3bbS}D9;?A z*mt_teHy*6>teVX-zt@zlqO3XZPgS3(xPTz!$3vCs;Rn%fMRb-Ps+-Jl%xz-AT&dG zW`Yw`Zl|sr!9;{a7H?{$md95>?05QDkW;OG^Jb-yc7#>)X3=47RzIV8lXw#Pki3}*X^6V3b3;lClOw`;H>}p zlFTM0=0jn=@VgW0HGbm7Lm-Hr%CHSkU@*NzS&(JIYI2*Q?^`Q^8ZqY}U=nd-+xo&n zj=F-Mu`PF}cf6Np^_i5N7(?3m+Am&58@#|y%)yLHU0SPFmCsKdKdj)xTxz?`#7EC% zW+7*6hI^zFxBz$mbsjM)d!yk6YGEOkI#LdZi@1Jo=Q72=b1y zXJ5^Op#k5?HtTUDdQ}jYZ^35QPGYRGa${!r&fmFOR<7+46l>Np#5zRuFhH_uu-MdN zf$zd`))vlE+%i=-4cQy4i^%K*XaT6Q4r=SxC?oghzr~bUd{GCAF^pJh7VwCna+h!^ zh@fJZ4inFudNhb+@55W=rnewV|4e@buZZ|2sg(pPz$L~C& zZkAd-$hpH&h032h-2+do8mR~CzJ$QQ00v3|h^3JPm{Cw}2_DoP&3lS0;+=3m-Q}jL ze0#qa@>__y$A)V~jVYNH$=9oDzBgrd2D`$;Ej@)TtEbyi_WI;xlSU|>P>n>{7l~Z@ z2hJfhv(s;4$im#}aWJ##HWfOrF`PTF*RU~twOfyM%~S*@h+eX;UrMxitG{?NP$RnQ z8bd344~rG;82Nx^s3EGdSlQm2mu~Ns>4EWYSKsLl`ume-)!2JDX_Wsxq|*W2DaBTR z35-7>ZYg%X&_d2v z0uso}bf_F;><1%?!~YPz-iGvwcV?#>Ffr1_hCX}bA?cRYqgY}D@N=e90^}P-)H8&? z^l(i@yzRCBQ25gP+@$(xtOi=k7k$!QXy8#MD7H{@g~ubnsjxydP)fy9;|Qi}-lLZF zZMSarQ6-7?p;VSU^1h~6-cgMt9*EV^m0RPX{$l-LFTGgI4ybQ!yVxm{dhDlva;v-V zMaWoz32TkFM7_w7&?q>pXX&?`wyvYZDTMCW#q35OFsTX2W4_n__Q5Ec{Z zK}=pk7@7rm9|*yfje{;!5rTQ7WP2Nkf5f$ey1q;lDP)HM@0zDzZPiPthyhSQRJK<| z^CP^8c0L9K1|ujjsj>|lVAD_shVL8*k%xitxc%8%5AgEG9=jqC2Mum)+G}ftf%_sCAoAE#b2}&BqP>9RiOH1B#!N2 z_pLmm9x<-N+^=82xX&Rz=Nu9Q{Y*m4|20J_)#}?iN|H<#_`;9Yx$NGJA;X=JXc7F#n_j3!ZK0i}2M)9Lk8Q3iPK47_rh;Mw zGkIyx-Ad4!v7Dkhx4zu7Fo#m;=%9G1g~Jwb1JW}s#pcWT?yV7+;$hlUD#>Ek3G_mU7n4ZAh5KqD*atXl$_x5bMV1PSlncORCmQS+AYU0IM&|nk2W-9 zdE|3n!k_Fn<8Hg!H8~J#_MqwWmN>D`0*kKrzH~S_6|e;Jz{njEtE5Ri&~)l`Lb#)Ys@50i0 zti5XzXW!|<++pM3EzyRlUr5#Fmor8QeD*11Ynrf}X-utW24X)wk|7J0SB}KL!s-u< zsJRkL5pFrjHxv37jgmmzw~EBaH9xn4Qp_~`pT;9Veu=qC@+3& z_t+)23;mv@u!?qRnzPXghQi$O&7ul4($N~{g?u#WRr<2*Nc2*%BG&4>$ZzNKO3fbP zKEk}PUz}_0k^$zz#_yj!R$nKu*#&}Pk06^8*K2G8P?NNXrNSs&9x048WS1&QF^hcK z%SRRBdD9MgVg8Y%c*Q$}cD8XZ>?8A}{8cBENeBZABhrc}0$Ms-&uZ%Vp-Su$)$V!4 zwB)^)5EK7{gQ~*BK;GVkn@Z>rz8q*CDOtEh{N;z=AR=J6)jO_aHj5M|w5TJls{Oec zegBgV;%np5RvYxB&{-tbHon4SE(WLkMRI+)h>;%>4~K%Q5hKi>Z3GkiEn z=4Cfb_#}c&rh~6oeXpUCc#^07zc0cKX(yq%^|l=+UfM$m{bM>pqalibm4TPdQZrUr zV!M&#eFHkC&Qzj@G(?~ct$*%XSA|Cqy0{|#HdX)Z-8Q1`0(r#(NNEK34m%^%Uyk29 zY}8ml0NwB>6>G{8Aw)6%`dv05pk_yu_UC=DvI@tHKQLjdNfc=_nHZ2 zAq>q8+b2$px7&W6CLCwkkLTJUXN)9|%0YRaFKo+-H8mC;pF)Oj0lMN(yW=8NJO3`t znnW27CIMgJT3Yk|STHf;?F#U8ttwC>vm*$n34%Rm-gh}Q=#zo-v+*H0ziu-pkjwDv zFwfGf!poxB3n67FHj|H|9-H!(>i|Yp)nrB$Lzulvvdsot6AsLohLjnvn9lwni9uX) zCY-4iI*X+}w?<JlYhh_25B>re@7?q^sN=qC^w@(9Eb5ccpM*- z*k?r6SW8q27GB9Cn1C3JIk7_?2{sE@+H{)HRuQ8YP(Mw3zEFFR2IeV4j9mZWs83sW zb68$T98u0>r_a!WOP|xY(`PEPxymPZ*r~|n@l-f_VcfhCzRJmqLg-t)GW6R0tWgXj zgd6PXEIV-Wwoixde}>tX4$mHgF!2r)V{tj(4^>`vGb!|EZRrfhkCVx@FP{CK)0DI; zvV+7oFAJO&c|7tY1C0)1vyQ=q2RKvQhwuZ^LX^b^I67`R+IoP18dWZgrXOMPObE)e zoElJ(P|RDz3W?u8Yq%1Yo;^Dq({T*#LjPmTw>x({!q>Ye2nP!1Np$6%B%#SBsg?5* zKIa*3a*pCssSPS@;nQao;rFMJm6{Eca-Y5{8i=H)rjd9ULv{Ux3u;>TQa1SYz9umtQnW2i_e@3d`TuH=HR5`azQOX6)&PKJD&I1-^fPry{y_yd_D4 z*Oa{6s!Rkq%e;%0J1+x9(WfBq1#sjTx4kx1>ipM1n5qB549GHNb6^*&iIG>dlqlMW z61(d6&%yuSNitO^ijINu^k<-?l+@+y|5TOT(Gb6 zYMo-$@qWNCkK{k(f^+=2j?B?Ox6v8QEe<uicwqJU3_=Nj;U$myW@J5vmB5#Ze1 zSI`ZtQn`GXgh?I&UWmWSpEykdZ7ur5v9-k#RChF}OIb|+mQfP|x;Y^%H3Az33F;Y9 zUw%AF(VZH^>B6iZ+d|+`l}H$Ml)@6NFoPgTNJpe=cW@@JJd%@((l%*hh+^fF;L~;J z&h7#}&fnfew`y0ie_BsKNuf+siHhho1elE({p;&`*i4vu05Z5x;&ZI+Hdr2N0a^9! z_`CK0HpCm7V^0if)$9%BE!${gh=egkPfF6kAwva?*YK8=AX9`23hkSC(UExWU03yU}61RQS%mQC)BAI#>ep71tUOq*!my7ZM8> zT^^wnZ_k&XUVfM?_kgH^H3%H1=q2&hK`d8MFfewDxMjiCtbbgcgL`4}C0-WB=h0a^ zBB<2S0LQ^@i{(pj2PN878;8xRZJ~udoiM7{$7dMz1PSRbg}!uTM=D9yd$xA0789MJ zJLk3ESukxmKtYf{gmdim=<10UxBWjeI56}UuFw%Zeu(u=hMjrNv6{=NOqVYgwP$e- zU|bViS#gQ=rSAhFJOP}cgSq_UZgZsNxu=w8>y_+w|4+V<>l!@FbSL4`@D*8^=FB-J zyp7Mx-CdKL02vV;fZj}Q?UCq3MzXBAh|DUMcOi(W*mBQPee^g_+}ulh2o>M^R{lFJ z`%U{IW^QDkGY3=Q@NNH|6f7hI*$P;r>;|fy4pF;wCOh~*UyHC^O3@jrD2$Bm&Pj1=VP-hQq@3u-d``e^oe{poCoH@ z_^dTF*%a+BWSN9f`)yuMzWf}#Z|oC-i&*O@(kZu!rJEL<>02OCS;;raZb|%8TD1E5 zrb*P3g1`Qe%}Y}mWV;IuO#$c(uFILJ$_BAcSYD)u`XsrxsWH-QP@jg>1aRsKbC&o# zkJOaji*<8yq2PI!Rd8Ng1SXpo6BhD72BH}ILGM>#TO1{~A}bCV(WGfZ6l1iK%^9Fn zz-bH!pS_bR4oJ+^6^3DOxJWK`{!gIrA$+u`0E1gK`wGqoOV!r zu-n_~Gq${c5k}OdQK4WqI7mA1yzoieS88eoySrm%{KcHWIUdCD)$fw_y7NPqPyLs7 z6qi{7`;*9t3Bg%o%mKFirf>8c8gx?Aa@P^ygEcB|aB%W`koosq^$eyKFF<;mME}zb z{l}_~0aM6kUjZ>?b`<8xZmv5fprld-t9Ot+5GDRKkDLagr1AM<;kZ1D{u~_2-ixQQ z-W2+tH{J0hKR_mE)o-P$Nx#eUdi5{26)BL#ASxyAJ8aA?KJe>0Hn0%h$$Oe;lu!2; z5S2n=``u4vY3y_F^FfX1qi-S#klK|qSHsP~-nYxP|GfgLB;b9x-SZ>r_^XxWw_uCI z8z-V@VGR1bFp(*j6wyynI@?e$nJAb!??ulZL<(^^+XOe@yWg*eOZ$gukbPae8GaO^ ztTqi?GcUY#hWm2l1> zUyA+*4wy8osEz%{)?5J0iV2QrTs7nDczRx@O>+jKTY%@G*RcsN6>1wA(4Z8`)XZ2n ztm-suGAXU+O&tlrHu`4y`5IyzaM9F6UaA%F_J`$r>48AbjP$Yt?5o6Ed=0c`S%GjCoI>UPWM zk|h?O$byi9eGu}Z^}>9Tgckwe!U^8275)|=lu|^I_wimPVni*Wx6k_v+`ocUcYaSKm zkq`;a!YBW#-ew+v5!WPvbyde1Hs|CB9Yl-W#9%ou#3a9LoSL*KJw0nRQ%B10)dGTy zZJKsmwDx8`X>uOK4XV7pmYLTuAHbF5!58!&2?F6WtBl**YK}CzR;4>x(+A#r8JUN# z2;)v^k-5Pb5x&dxR1cYk9>j7Yd=A~nGbNWh1y3?JvZG!I?`J0jr6RnWKE8_q;Z?G! z!G`vaNk{jL5;vEq22&kW<WamU&rl{g}CcLscK3?KKAAQZrN6`i+3nmhL#}}k8y!B=Ws+OXUtwu(2`XC+4 zWp+%h?ITWArQHj|x$DluYt}7}LGU1u#nkHtjWdpMZ;aL+6tY@5N-XFu*5f!!m!RqG zL`fW;4(==d`wd%ByqSj$O|lftwH&&3o7L}onQsG!eE2K|-=85yyk-9`{dtki9UnX` zRy!v-``cQm`(X7Ws~NgBKzMzuyg5g384WiV{%Cg_nf?sp;J%tXn z_C1@y6&H&OyJnx{5qq1q$-y(yEX=|qaI%K2L0F0?orP*6f7Y0C_Vd@}rl}Bp#ICia z96?PWssH$|%z5OiFMJaU+ZFkc8^5wDBt+_=o;<}jkUl=vM<3(eG3D&C(K+?9IfL~h zyaO>Rxr##wwyA9vF>>QI)GoHY_MM0noSZ{_T~cJr-aWAW#Jx%UU-F9eUJ)P=QH?Tu z)uyoyokaxhzc;oH`!U#K+$KLP;M>ouDAR5oGT?9Nz6oRH5owAwiR-%3ngT-y^OmelWTQ&Y5Hb*BwY7<+-w6C;z zjY#YU%lP>OK%I}wiF(~vZP^p~g!pp)58?kuArKvgq4b}(thyKLWAAf`LfJZ;YN+AL zkJld&e^obaQd)}c)BpwfxBV%zg%rcZgC(E^=kCJ258dc}t&4QX3&;Bn);k5N9vsy4 za%(t+OS-v2FMForFGbtwz@&-r6U7>E`6`)>fMUB0Gp<3F1{I~zDT~!A?P#E%eR`rGo zn?6n|X@qwq{%vMusT2e}Zq66Jh+xV6cW@2i5va`PzC5f+9i=d-~HbMw4nz`d{q1G z*sQHr2<#_2sbJVCcj1e##@6QXmsE8VcQuOGoI{L1;L>Uoh;3H34_*k0R7?)k)+Pu5 z`W(rHabvdTK=kUA0-EQcUh3kPyN?akRb% z_3v?`hS?=&(9Bj&Q}z}l9Hrsqj@$E#UNCbMwpmxkr}kz6-`xUwZyZXU9%Ln+(mAkm)W zmeSR32NAH(hQHd*tQDh%w#b~+xrmr&voidW#DKwk=xL-&=5}CbU%~3`Ct4EkRa62Z zwy|&wmFA7%^u+s&vfpE+O5#~d0#Lys*R0|2aSFVW=XZWaCCUVjJ-pN#?QH&mES1Q& zgEJ(VflWf+o+H6qJ^@x`(r59zAW)}KM928Y`xh*ZD>Ulm<3&3*A6lK7CAQ>UJxTKG z6DOm37cpi=nKD~ecqIJ$sb8a&@a}OBnDy66@l9Us39oCSugZzUcIF z>;T*&9M)WWf$V85h#sGFSF`>uFdP}q`Z?c=OGKZhsksoe<>Oy0#M7ayW&0ez|Ey0J z`6{h@av*Eqzn|D|ZTlZ@%p-GDBvSNf{W9FwEZDaKlpw%(yjP*=uTU)X&nniihk*D$ z3CuLufg5%baC>cG5T}>XfVG$-|AL+{^Mq$%xDFd*OC^k)ExXruxTgCK9kB_ z>YhY79w-xWO*=@Cy%XVLnfH6e)QUlC>l_lwmG3Xc=z9mZgb~%?#e6-6Abb`b6)yT; zVbgFaYH_A@`bi|+$u8t>co@00>z(*vD;34hOP_mT-c1dG3?pHgUbymns-REy+w?Di zcbGq83K!#|@-}&wBa!qL zt^99iTm5xZrd2k2s2%d#vIk}h>lna3swl0!huVeTKGD}0=TZ9551mW>!m&@vmN?m} zEzsn;;R4r5d5B8g8@P`g=ro#Y<~sc+Ei@g_fmhmnzJ)%1$gceg^lQ>V`I-j)|0Jw1 zO*me?rL%-3WO0CF*SIUneHokA4O9^|fhK=&ej^$a+UD0N8$-rpAXB+tW^JOuj&+7C z5f~9fP|OiWZntCTnA9Y9v-&iLjgv=~4J#;W05#$$e39;7_rs`riRzYU1>06y$MiMz zcZR=JA^+O3OcE=Q0-M^}`vU_hKucRO5*5)X;!ZK47>G6HE?10ltIGFp`vH$9=lb1VqVg|bhbQ&a4! Ov3p@E%xEtN*&s3M^U&V_ diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/blcp_param.bin b/bsp/cvitek/pre-build/fsbl/test/cv181x/blcp_param.bin deleted file mode 100755 index 0b7e4f9f9ebf2e2d174ff1ee2252b43a8e66dbcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmVLxLgMXMv1K@D#*tUzB&p=pJaa4Mnh?9~ zy0ZZj6e~V(C74CWqT9#mE`KGzB{c&XW+@uBEVuzNTwL|O+0n_|$;yj%*0PNh)mGjL zVt8KDVV&#+WS)G6ZPEAgmBlhzfbVn7w8=kHEi-XO(Q<9vc96-U+nqv0K@zi+m=3Y{6BG`rKk0D>{;}Bu zzR?R~cNwUA<-^O|>Cnh*~ zx?*)fro(7CoZLj@TU4p)h|ZDTT>v>1+h69FY4m?$6F60Q&l#V9Z+v&)IoxEWPT;(w zI0kT&a>4^7sH4R_24ar$;Q5;8cNaPYwU2-69HtR)NlDcJwV@-+v51luuhF*!VQE#u uKEBA`as|yhOEl5#u+ehiDemkofc=ABA3QuKjPqhl!^pCsNZ2-aC1MkH_V>U5 diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_clear_rom.cmm b/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_clear_rom.cmm deleted file mode 100755 index 0e3a45b299..0000000000 --- a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_clear_rom.cmm +++ /dev/null @@ -1,16 +0,0 @@ -sys.up - -; Reset -break; -WAIT !ISRUN() ;wait until target stop - -; MWriteS32 PM:0x0C000000++0x3ffff 0x14000000 -MWriteS32 PM:0x4400000++0xf 0x14000000 -MWriteS32 0x4400000++0xf 0x14000000 -Register.Set pc 0x04400000 - -; MWriteS32 PM:0x03000008 0x4 // wdt reset enable -; MWriteS32 PM:0x03010004 0x1 // Set timeout range reigster -; MWriteS32 PM:0x0301000c 0x76 // Counter restart register -; MWriteS32 PM:0x03010000 0x13 -print "CLEAR ROM" diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_c906.cmm b/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_c906.cmm deleted file mode 100755 index c469b694eb..0000000000 --- a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_c906.cmm +++ /dev/null @@ -1,14 +0,0 @@ -DO up.cmm - -MWriteS32 PM:0x4400000++0xf 0x14000000 -MWriteS32 PM:0x4418000++0xf 0x6F -Register.Set pc 0x04400000 -print "clear ROM" - -LoadBINARY ..\cv181x_c906b_bl1.bin 0x04418000 %S32 -print "C906B BL1 loaded" - -Data.Set PM:0x3003024 %LONG Data.Long(PM:0x3003024)|(1<<5) -print "Release C906B" - -END diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_ca53.cmm b/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_ca53.cmm deleted file mode 100755 index f2682d40c6..0000000000 --- a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/cv181x_fpga_bl1_ca53.cmm +++ /dev/null @@ -1,13 +0,0 @@ -DO up.cmm - -MWriteS32 PM:0x4400000++0xf 0x14000000 -Register.Set pc 0x04400000 -print "clear ROM" - -LoadBINARY ..\cv181x_ca53_bl1.bin 0x04400000 %S32 -print "CA53 BL1 loaded" - -Register.Set r0 0 -Register.Set pc 0x04400000 - -END diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/up.cmm b/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/up.cmm deleted file mode 100755 index 7436716988..0000000000 --- a/bsp/cvitek/pre-build/fsbl/test/cv181x/cmm/up.cmm +++ /dev/null @@ -1,40 +0,0 @@ - -;winclear -system.reset -translation.reset - -system.cpu cortexa53 -system.config debugaccessport 0 -system.config apbaccessport 0 -system.config axiaccessport 1 -system.config memoryaccessport 1 -; set corenumber first -sys.config corenumber 1 -; then set corebase and ctibase -sys.config corebase 0x81010000 -sys.config ctibase 0x81020000 -sys.jc 5mhz - -Wait 10.ms -system.option enreset on -system.option trst on -system.option resetbreak on -system.option waitreset 500.ms -OPTION.SerialWire ON - -sys.down -Wait 50.ms -sys.up - -if system.up() -( - ; data.list -) -else -( - dialog.ok "system.up failed" -) - -; Reset -break; -WAIT !ISRUN() ;wait until target stop diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/cv181x_c906b_bl1.bin b/bsp/cvitek/pre-build/fsbl/test/cv181x/cv181x_c906b_bl1.bin deleted file mode 100755 index 1a01bc75c14ba076eb42d75cba7766c8469fc146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98306 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 jUS4lzXH?Js*{i-Yg^3~_NqN= diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/cv181x_ca53_bl1.bin b/bsp/cvitek/pre-build/fsbl/test/cv181x/cv181x_ca53_bl1.bin deleted file mode 100755 index 4da6a37fc663619b42f81eb8ea79dc06a115520c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98306 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%0D2^zP5k+C=!Y*8F_`oUPs!Vfwt4vRd=G&u$~K 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 F|3B-Hv>X5c diff --git a/bsp/cvitek/pre-build/fsbl/test/cv181x/ddr_param.bin b/bsp/cvitek/pre-build/fsbl/test/cv181x/ddr_param.bin deleted file mode 100755 index fb4c648fd75d14d22a2d582dc95f6f31f68713b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 zcmV+bAphTDRR?$|R4yZh&L3{e&D`mz5=&#ZonrQ6G!r`6(e|_^S*nQ<$?*&h#bD23KhDtdCzWZ~eoT9Dp48mCP41A=^H~?% z{=}P;D#(e9kCpoP%f$M* zN5RPPVkXUZ)~1>oiG7J9p&AQbHAff1ViL+Lt%m2~fnXBvb0AoyV9j*}wqu_*JSYVv z5!p7E+7m{gIb2K^;zjSk=h-$c2EgPhh&faAbhuXkVGV>72?;m^asUI%ZCJD+scaS} zn0rRnBX5Aeug8}r*RIIPTyCa+wd6l=s`Mozo_C;$r2|PWDg9;`8dg)I3qld~Q z+JG;Qx;lj{ExKqV3s{L^Gh$82uJY67DC_)ru4wPu(h}R%RWFOQktHfddD116=V(q0hd~#F`C0CW! zPZ}IGI*ce1e}&Z0P=Y8%ko z8d08P(#|JMOl0Z@hCy{M8J>@OR0Sc6ERQ#ytBhxkB`hQLJEBN?8b@c!YF(35IzLIb z0JG{UZa|@Jq$H28(_$>SIi9Z%)#NQ#oj|Qp-VrxhpJQ)+6yNyF#Q?~xUx*eg| z<}JGCa_GSWC);f0k;O46;&wf0KKmaDjOuwc>0P2*X)s1+kgL&oHk=V3>xc){tH{MOu}JtcpQqL+m%LsK*zi z+5x(L--ZyL9(D<~4XY<-&2~)d)m!x0?9%0A-{{nRyRQ8f2D_CM$+Np;wXI9pE-OtY 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 diff --git a/bsp/cvitek/pre-build/fsbl/test/empty.bin b/bsp/cvitek/pre-build/fsbl/test/empty.bin deleted file mode 100755 index e69de29bb2..0000000000 diff --git a/bsp/cvitek/pre-build/fw_dynamic.bin b/bsp/cvitek/pre-build/fw_dynamic.bin deleted file mode 100755 index 25ccd174eb636bc7a8e717b50796c18f17808045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110472 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 O=+5Z)Ox*5y690e1j>+r* diff --git a/bsp/cvitek/pre-build/u-boot-raw.bin b/bsp/cvitek/pre-build/u-boot-raw.bin deleted file mode 100755 index fec5f90f6fcada21d7ab1d7d4379459b7eb6cfa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273429 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
!DWEbA$= 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