diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/config.json b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/config.json new file mode 100644 index 000000000..ec6c03e73 --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/config.json @@ -0,0 +1,8 @@ +{ + "ddr_cfg_list": [ + "ddr3_1866_x16", + "ddr3_2133_x16", + "ddr_auto_x16" + ], + "board_information": "C906B + eMMC + DDR 512MB" +} diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts new file mode 100644 index 000000000..8e5a8ffa0 --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/dts_riscv/sg2000_milkv_duos_musl_riscv64_emmc.dts @@ -0,0 +1,48 @@ +/dts-v1/; +#include "cv181x_base_riscv.dtsi" +#include "cv181x_asic_bga.dtsi" +#include "cv181x_asic_emmc.dtsi" +#include "cv181x_default_memmap.dtsi" + +/ { + model = "Milk-V DuoS"; +}; + +&mipi_rx { + snsr-reset = <&porta 2 GPIO_ACTIVE_LOW>, <&porta 2 GPIO_ACTIVE_LOW>, <&porta 2 GPIO_ACTIVE_LOW>; +}; + +&i2c4 { + status = "okay"; + + gt9xx: gt9xx@14 { + compatible = "goodix,gt9xx"; + reg = <0x14>; + goodix,irq-gpio = <&porta 18 0>; + goodix,rst-gpio = <&porta 19 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; +}; + +&dac { + /delete-property/ mute-gpio-l; + /delete-property/ mute-gpio-r; +}; + +/* mipi dsi for u-boot */ +&vo { + compatible = "cvitek,vo"; + reset-gpio = <&porte 2 GPIO_ACTIVE_LOW>; + pwm-gpio = <&porte 0 GPIO_ACTIVE_HIGH>; + power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +/* mipi dsi for kernel */ +&mipi_tx { + compatible = "cvitek,mipi_tx"; + reset-gpio = <&porte 2 GPIO_ACTIVE_LOW>; + pwm-gpio = <&porte 0 GPIO_ACTIVE_HIGH>; + power-ct-gpio = <&porte 1 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig new file mode 100644 index 000000000..a93ff598e --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/linux/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig @@ -0,0 +1,239 @@ +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +# CONFIG_EPOLL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_AIO is not set +# CONFIG_IO_URING is not set +# CONFIG_ADVISE_SYSCALLS is not set +CONFIG_EMBEDDED=y +# CONFIG_SLUB_DEBUG is not set +CONFIG_FORCE_MAX_ZONEORDER=10 +CONFIG_ARCH_CVITEK=y +CONFIG_SOC_THEAD=y +# CONFIG_RISCV_SWIOTLB is not set +CONFIG_VECTOR=y +CONFIG_VECTOR_0_7=y +# CONFIG_COMPAT is not set +CONFIG_ARCH_CVITEK_CHIP="cv181x" +CONFIG_ARCH_CV181X_ASIC=y +CONFIG_COMPAT_32BIT_TIME=y +# CONFIG_STRICT_KERNEL_RWX is not set +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_CFG80211=m +CONFIG_RFKILL=y +CONFIG_UEVENT_HELPER=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_BLOCK=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_PLATFORM=y +CONFIG_MTD_NAND_CVSNFC=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_SPI_CVI_SPIF=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BLOCK=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=y +CONFIG_NETDEVICES=y +# CONFIG_NET_CORE is not set +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +CONFIG_STMMAC_ETH=y +# CONFIG_DWMAC_GENERIC is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_CVITEK_PHY=y +CONFIG_USB_USBNET=y +CONFIG_USB_NET_SMSC95XX=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=5 +CONFIG_SERIAL_8250_RUNTIME_UARTS=5 +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_SPI=y +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_PINCTRL=y +CONFIG_CVITEK_PINCTRL_CV1835=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_DWAPB=y +CONFIG_POWER_RESET=y +CONFIG_THERMAL=y +CONFIG_THERMAL_NETLINK=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_EMULATION=y +CONFIG_WATCHDOG=y +CONFIG_FB=y +CONFIG_FB_SIMPLE=y +CONFIG_FB_CVITEK=m +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_PROC_FS is not set +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_CV182XA_CV182XAADC=y +CONFIG_SND_SOC_CV182XA_CV182XADAC=y +CONFIG_SND_CV1835_I2S=y +CONFIG_SND_SOC_CV182XAADC=y +CONFIG_SND_SOC_CV182XADAC=y +CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y +CONFIG_CV1835_I2S_SUBSYS=y +CONFIG_USB=y +CONFIG_USB_STORAGE=y +CONFIG_USB_UAS=y +CONFIG_USB_DWC2=y +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_GADGET=y +CONFIG_U_SERIAL_CONSOLE=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_CVI=y +CONFIG_RTC_CLASS=y +CONFIG_DMADEVICES=y +CONFIG_DW_DMAC_CVITEK=y +# CONFIG_VIRTIO_MENU is not set +CONFIG_STAGING=y +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CARVEOUT_HEAP=y +CONFIG_ION_CMA_HEAP=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_CV1835_SYSDMA_REMAP=y +CONFIG_PWM=y +CONFIG_SIFIVE_PLIC=y +CONFIG_ANDROID=y +CONFIG_EXT4_FS=y +# CONFIG_MANDATORY_FILE_LOCKING is not set +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_ZLIB is not set +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_EMBEDDED=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=1 +CONFIG_NFS_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +CONFIG_NLS_ISO8859_3=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_HW is not set +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=0 +CONFIG_PRINTK_TIME=y +CONFIG_DYNAMIC_DEBUG=y +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_FRAME_POINTER is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_MISC is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/memmap.py b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/memmap.py new file mode 100644 index 000000000..d18d314ca --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/memmap.py @@ -0,0 +1,85 @@ +SIZE_1M = 0x100000 +SIZE_1K = 1024 + + +# Only attributes in class MemoryMap are generated to .h +class MemoryMap: + # No prefix "CVIMMAP_" for the items in _no_prefix[] + _no_prefix = [ + "CONFIG_SYS_TEXT_BASE" # u-boot's CONFIG_SYS_TEXT_BASE is used without CPP. + ] + + DRAM_BASE = 0x80000000 + DRAM_SIZE = 512 * SIZE_1M + + # ============== + # C906L FreeRTOS + # ============== + FREERTOS_SIZE = 2 * SIZE_1M + # FreeRTOS is at the end of DRAM + FREERTOS_ADDR = DRAM_BASE + DRAM_SIZE - FREERTOS_SIZE + FSBL_C906L_START_ADDR = FREERTOS_ADDR + + # ============================== + # OpenSBI | arm-trusted-firmware + # ============================== + # Monitor is at the begining of DRAM + MONITOR_ADDR = DRAM_BASE + + ATF_SIZE = 512 * SIZE_1K + OPENSBI_SIZE = 512 * SIZE_1K + OPENSBI_FDT_ADDR = MONITOR_ADDR + OPENSBI_SIZE + + # ========================= + # memory@DRAM_BASE in .dts. + # ========================= + # Ignore the area of FreeRTOS in u-boot and kernel + KERNEL_MEMORY_ADDR = DRAM_BASE + KERNEL_MEMORY_SIZE = DRAM_SIZE - FREERTOS_SIZE + + # ================= + # Multimedia buffer. Used by u-boot/kernel/FreeRTOS + # ================= + ION_SIZE = 170 * SIZE_1M + H26X_BITSTREAM_SIZE = 2 * SIZE_1M + H26X_ENC_BUFF_SIZE = 0 + ISP_MEM_BASE_SIZE = 20 * SIZE_1M + FREERTOS_RESERVED_ION_SIZE = H26X_BITSTREAM_SIZE + H26X_ENC_BUFF_SIZE + ISP_MEM_BASE_SIZE + + # ION after FreeRTOS + ION_ADDR = FREERTOS_ADDR - ION_SIZE + + # Buffers of the fast image are inside the ION buffer + H26X_BITSTREAM_ADDR = ION_ADDR + H26X_ENC_BUFF_ADDR = H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE + ISP_MEM_BASE_ADDR = H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE + + assert ISP_MEM_BASE_ADDR + ISP_MEM_BASE_SIZE <= ION_ADDR + ION_SIZE + + # Boot logo is after the ION buffer + # Framebuffer uses boot logo's reserved memory + BOOTLOGO_SIZE = 8000 * SIZE_1K + BOOTLOGO_ADDR = ION_ADDR - BOOTLOGO_SIZE + FRAMEBUFFER_SIZE = BOOTLOGO_SIZE + FRAMEBUFFER_ADDR = BOOTLOGO_ADDR + + # =================== + # FSBL and u-boot-2021 + # =================== + CVI_UPDATE_HEADER_SIZE = SIZE_1K + UIMAG_SIZE = 16 * SIZE_1M + + # kernel image loading buffer + UIMAG_ADDR = DRAM_BASE + 24 * SIZE_1M + CVI_UPDATE_HEADER_ADDR = UIMAG_ADDR - CVI_UPDATE_HEADER_SIZE + + # FSBL decompress buffer + FSBL_UNZIP_ADDR = UIMAG_ADDR + FSBL_UNZIP_SIZE = UIMAG_SIZE + + assert UIMAG_ADDR + UIMAG_SIZE <= BOOTLOGO_ADDR + + # u-boot's run address and entry point + CONFIG_SYS_TEXT_BASE = DRAM_BASE + 2 * SIZE_1M + # u-boot's init stack point is only used before board_init_f() + CONFIG_SYS_INIT_SP_ADDR = UIMAG_ADDR + UIMAG_SIZE diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/partition/partition_emmc.xml b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/partition/partition_emmc.xml new file mode 100644 index 000000000..d9df3a74c --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/partition/partition_emmc.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/rootfs_script/clean_rootfs.sh b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/rootfs_script/clean_rootfs.sh new file mode 100755 index 000000000..26692d889 --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/rootfs_script/clean_rootfs.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +SYSTEM_DIR=$1 +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libz* +rm -f $SYSTEM_DIR/mnt/system/lib/libz* + +rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libcvi* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libmad* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libmp3* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/3rd/libopencv* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libopencv* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_rtsp.so +rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcvi_rtsp.so +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvikernel.so +rm -f $SYSTEM_DIR/mnt/system/usr/lib/*.a +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libgst* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libg* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/gstreamer-1.0/libgst* +rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcrypto.so* +rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libssl.so* +rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libcvi_protobuf.so* +rm -f $SYSTEM_DIR/mnt/system/data/install/lib/libprotobuf-lite.so* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcviai* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_ispd.so* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libraw_replay.so* +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvi_ive_tpu.so* +rm -rf $SYSTEM_DIR/mnt/system/usr/lib/gio +rm -rf $SYSTEM_DIR/mnt/system/usr/lib/glib* +rm -rf $SYSTEM_DIR/mnt/system/usr/lib/gstreamer-1.0* +rm -rf $SYSTEM_DIR/mnt/system/usr/libexec* +rm -rf $SYSTEM_DIR/mnt/system/usr/bin +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcvimath.so +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcviruntime.so +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcnpy.so +rm -f $SYSTEM_DIR/mnt/system/usr/lib/libcipher.so + +rm -f $SYSTEM_DIR/mnt/system/lib/libcipher.so* +rm -f $SYSTEM_DIR/mnt/system/lib/libcvi_ispd.so* +rm -f $SYSTEM_DIR/mnt/system/lib/libraw_replay.so* +rm -f $SYSTEM_DIR/mnt/system/lib/libmad.so* +rm -f $SYSTEM_DIR/mnt/system/lib/libmp3* +rm -f $SYSTEM_DIR/mnt/system/lib/libnanomsg* + +#del 3rdparty lib +#del thttpd/libwebsockets lib +rm -f $SYSTEM_DIR/mnt/system/lib/libthttpd* +rm -f $SYSTEM_DIR/mnt/system/lib/libwebsocket* +if [ $SDK_VER = "uclibc" ] +then + #del opencv lib + rm -f $SYSTEM_DIR/mnt/system/lib/libopencv* + #del ffmpeg lib + rm -f $SYSTEM_DIR/mnt/system/lib/libav* + #save /mnt/system/lib/ openssl lib; need by ntpdate/wpa_supplicant +else + #glibc ramdisk(rootfs/common_arm/usr/lib/) has libcrypto.so and libssl.so + #del openssl + rm -f $SYSTEM_DIR/mnt/system/lib/libssl* + rm -f $SYSTEM_DIR/mnt/system/lib/libcrypto* +fi + +rm -rf $SYSTEM_DIR/etc/init.d/S23ntp +rm -rf $SYSTEM_DIR/bin/ntpd + +du -sh $SYSTEM_DIR/* |sort -rh +du -sh $SYSTEM_DIR/mnt/* |sort -rh +du -sh $SYSTEM_DIR/mnt/system/* |sort -rh +du -sh $SYSTEM_DIR/mnt/system/lib/* |sort -rh +du -sh $SYSTEM_DIR/mnt/system/data/install/* |sort -rh +du -sh $SYSTEM_DIR/usr/* |sort -rh diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/sg2000_milkv_duos_musl_riscv64_emmc_defconfig b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/sg2000_milkv_duos_musl_riscv64_emmc_defconfig new file mode 100644 index 000000000..e6f2f56ae --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/sg2000_milkv_duos_musl_riscv64_emmc_defconfig @@ -0,0 +1,29 @@ +CONFIG_CHIP_sg2000=y +CONFIG_BOARD_milkv_duos_musl_riscv64_emmc=y +CONFIG_DDR_CFG_ddr3_1866_x16=y +CONFIG_ARCH="riscv" +CONFIG_CROSS_COMPILE="riscv64-unknown-linux-musl-" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_KERNEL_ENTRY_HACK=y +CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80200000" +CONFIG_TOOLCHAIN_MUSL_RISCV64=y +CONFIG_BOOT_IMAGE_SINGLE_DTB=y +CONFIG_STORAGE_TYPE_emmc=y +CONFIG_SENSOR_GCORE_GC2083=y +CONFIG_SENSOR_GCORE_GC4653=y +CONFIG_SENSOR_OV_OV5647=y +CONFIG_MIPI_PANEL_MILKV_8HD=y +CONFIG_UBOOT_2021_10=y +CONFIG_KERNEL_SRC_5.10=y +CONFIG_KERNEL_LZMA=y +CONFIG_SKIP_RAMDISK=y +CONFIG_BUILDROOT_FS=y +CONFIG_ENABLE_FREERTOS=y +CONFIG_ENABLE_RTOS_DUMP_PRINT=y +CONFIG_DUMP_PRINT_SZ_IDX=17 +CONFIG_TARGET_PACKAGE_DROPBEAR=y +CONFIG_TARGET_PACKAGE_PARTED=y +# CONFIG_TARGET_PACKAGE_RSYSLOG is not set +# CONFIG_TARGET_PACKAGE_GATORD is not set +CONFIG_TARGET_PACKAGE_NTP=y +CONFIG_TARGET_PACKAGE_ENVTOOLS=y diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c new file mode 100644 index 000000000..01b5c7cc2 --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvi_board_init.c @@ -0,0 +1,41 @@ +static void set_rtc_register_for_power(void) +{ + printf("set_rtc_register_for_power\n"); + + // Reset Key + mmio_write_32(0x050260D0, 0x7); +} + +int cvi_board_init(void) +{ + // LED + PINMUX_CONFIG(IIC0_SDA, XGPIOA_29); + + // USB + PINMUX_CONFIG(USB_VBUS_EN, XGPIOB_5); + + // I2C4 for TP + PINMUX_CONFIG(VIVO_D1, IIC4_SCL); + PINMUX_CONFIG(VIVO_D0, IIC4_SDA); + + // TP INT + PINMUX_CONFIG(JTAG_CPU_TCK, XGPIOA_18); + // TP Reset + PINMUX_CONFIG(JTAG_CPU_TMS, XGPIOA_19); + + // Camera0 + PINMUX_CONFIG(IIC3_SCL, IIC3_SCL); + PINMUX_CONFIG(IIC3_SDA, IIC3_SDA); + PINMUX_CONFIG(CAM_MCLK0, CAM_MCLK0); // Sensor0 MCLK + PINMUX_CONFIG(CAM_RST0, XGPIOA_2); // Sensor0 RESET + + // Camera1 + PINMUX_CONFIG(IIC2_SDA, IIC2_SDA); + PINMUX_CONFIG(IIC2_SCL, IIC2_SCL); + PINMUX_CONFIG(CAM_MCLK1, CAM_MCLK1); // Sensor1 MCLK + PINMUX_CONFIG(CAM_PD1, XGPIOA_4); // Sensor1 RESET + + set_rtc_register_for_power(); + + return 0; +} diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvitek.h b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvitek.h new file mode 100644 index 000000000..d515dc254 --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvitek.h @@ -0,0 +1,13 @@ +/* + *VO control GPIOs + */ +#define VO_GPIO_RESET_PORT portb +#define VO_GPIO_RESET_INDEX 5 +#define VO_GPIO_RESET_ACTIVE GPIO_ACTIVE_LOW +#define VO_GPIO_PWM_PORT portb +#define VO_GPIO_PWM_INDEX 4 +#define VO_GPIO_PWM_ACTIVE GPIO_ACTIVE_HIGH +#define VO_GPIO_POWER_CT_PORT portb +#define VO_GPIO_POWER_CT_INDEX 3 +#define VO_GPIO_POWER_CT_ACTIVE GPIO_ACTIVE_HIGH + diff --git a/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig new file mode 100644 index 000000000..e866f9052 --- /dev/null +++ b/build/boards/cv181x/sg2000_milkv_duos_musl_riscv64_emmc/u-boot/cvitek_sg2000_milkv_duos_musl_riscv64_emmc_defconfig @@ -0,0 +1,50 @@ +CONFIG_RISCV=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DM_GPIO=y +CONFIG_DEFAULT_DEVICE_TREE="soph_asic" +CONFIG_IDENT_STRING="soph" +CONFIG_ARCH_RV64I=y +CONFIG_RISCV_SMODE=y +CONFIG_TARGET_CVITEK_CV181X=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_FIT=y +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set +CONFIG_BOOTDELAY=1 +CONFIG_SYS_PROMPT="soph# " +# CONFIG_CMD_CONSOLE is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_CRC32 is not set +# CONFIG_CMD_LZMADEC is not set +# CONFIG_CMD_UNLZ4 is not set +# CONFIG_CMD_UNZIP is not set +CONFIG_CMD_GPIO=y +CONFIG_BOOTLOGO=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_ITEST is not set +CONFIG_CMD_CACHE=y +CONFIG_CMD_CVI_VO=y +# CONFIG_ISO_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +CONFIG_ENV_IS_IN_MMC=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DWAPB_GPIO=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +CONFIG_MMC_SDHCI_CVITEK=y +CONFIG_MTD=y +CONFIG_PHY_CVITEK=y +CONFIG_DM_ETH=y +CONFIG_ETH_DESIGNWARE=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_DM_VIDEO=y +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y +CONFIG_BMP_32BPP=y +CONFIG_LZ4=y +CONFIG_LZMA=y +# CONFIG_TOOLS_LIBCRYPTO is not set