diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/config.json b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/config.json new file mode 100644 index 000000000..1a9742fdb --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/config.json @@ -0,0 +1,9 @@ +{ + "ddr_cfg_list": [ + "", + "ddr3_1866_x16", + "ddr3_2133_x16", + "ddr_auto_x16" + ], + "board_information": "C906B + SD + QFN SIP 256MB" +} diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/cv1812cp_milkv_duo256m_sd_defconfig b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/cv1812cp_milkv_duo256m_sd_defconfig new file mode 100644 index 000000000..55e3485a3 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/cv1812cp_milkv_duo256m_sd_defconfig @@ -0,0 +1,30 @@ +CONFIG_CHIP_cv1812cp=y +CONFIG_BOARD_milkv_duo256m_sd=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_FLASH_SIZE_SHRINK=y +CONFIG_BOOT_IMAGE_SINGLE_DTB=y +CONFIG_STORAGE_TYPE_sd=y +CONFIG_SENSOR_SONY_IMX327=y +CONFIG_SENSOR_SMS_SC035HGS=y +CONFIG_UBOOT_2021_10=y +CONFIG_KERNEL_SRC_5.10=y +CONFIG_KERNEL_LZMA=y +CONFIG_SKIP_RAMDISK=y +# CONFIG_ROOTFS_OVERLAYFS is not set +CONFIG_TARGET_PACKAGE_DROPBEAR=y +CONFIG_TARGET_PACKAGE_MTD-UTILS=y +# CONFIG_TARGET_PACKAGE_RSYSLOG is not set +CONFIG_TARGET_PACKAGE_BUSYBOX_SYSLOGD_SCRIPT=y +# CONFIG_ENABLE_FREERTOS is not set +CONFIG_ENABLE_RTOS_DUMP_PRINT=y +CONFIG_DUMP_PRINT_SZ_IDX=17 +CONFIG_TARGET_PACKAGE_GATORD=n +CONFIG_TARGET_PACKAGE_NTP=y +# CONFIG_TARGET_PACKAGE_WIFI is not set +CONFIG_BUILDROOT_FS=y diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/dts_riscv/cv1812cp_milkv_duo256m_sd.dts b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/dts_riscv/cv1812cp_milkv_duo256m_sd.dts new file mode 100644 index 000000000..ae1618529 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/dts_riscv/cv1812cp_milkv_duo256m_sd.dts @@ -0,0 +1,22 @@ +/dts-v1/; +#include "cv181x_base_riscv.dtsi" +#include "cv181x_asic_qfn.dtsi" +#include "cv181x_asic_sd.dtsi" +#include "cv181x_default_memmap.dtsi" + +&mipi_rx{ + snsr-reset = <&portc 17 GPIO_ACTIVE_LOW>, <&portc 17 GPIO_ACTIVE_LOW>, <&portc 17 GPIO_ACTIVE_LOW>; +}; + +&i2c0 { + status = "disabled"; +}; + +&i2c4 { + status = "disabled"; +}; + +/ { + +}; + diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/linux/cvitek_cv1812cp_milkv_duo256m_sd_defconfig b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/linux/cvitek_cv1812cp_milkv_duo256m_sd_defconfig new file mode 100644 index 000000000..0de820d9e --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/linux/cvitek_cv1812cp_milkv_duo256m_sd_defconfig @@ -0,0 +1,277 @@ +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# 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_BLK_DEV_INITRD=y +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +# CONFIG_BASE_FULL is not set +# CONFIG_AIO 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_POWER_RESET=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_STRICT_KERNEL_RWX=n +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +# CONFIG_COREDUMP 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=y +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_UBI=y +CONFIG_MTD_UBI_BLOCK=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_NET_DRIVERS is not set +# 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_RTL8188FU 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=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_EVDEV=y +# CONFIG_SERIO is not set +# 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_MEDIA_SUPPORT=n +CONFIG_VIDEO_V4L2_SUBDEV_API=n +# CONFIG_DVB_NET is not set +# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_V4L_PLATFORM_DRIVERS=n +CONFIG_V4L_MEM2MEM_DRIVERS=n +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=n +CONFIG_VIDEO_CVITEK_CIF=m +CONFIG_VIDEO_CVITEK_SNS_I2C=m +CONFIG_FB=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_HDA_PREALLOC_SIZE=1 +# 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_DWC2=y +CONFIG_USB_GADGET=y +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_U_AUDIO=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_EEM=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_UAC1=y +CONFIG_USB_F_UVC=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_ACM=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_RTC_CLASS=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_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_CONFIGFS_FS=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_UBIFS_FS=y +CONFIG_SQUASHFS=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT4_DEBUG=y +# CONFIG_SQUASHFS_ZLIB is not set +CONFIG_SQUASHFS_LZ4=n +CONFIG_SQUASHFS_XZ=y +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_ROOT_NFS=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_DEBUG_BUGVERBOSE is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DEBUG_INFO=n +CONFIG_DEBUG_INFO_DWARF4=n +CONFIG_DEBUG_FS=y +CONFIG_GDB_SCRIPTS=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_DEBUG_FS=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +CONFIG_RD_ZSTD=y +CONFIG_KALLSYMS=y +CONFIG_FRAME_POINTER=n +CONFIG_DEBUG_MISC=n +CONFIG_RCU_TRACE=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_MULTIUSER=y +CONFIG_BUG=n +CONFIG_IO_URING=n +CONFIG_ADVISE_SYSCALLS=n +CONFIG_SIGNALFD=n +CONFIG_TIMERFD=n +CONFIG_EPOLL=n +CONFIG_ELF_CORE=y +CONFIG_COREDUMP=y +CONFIG_PROC_SYSCTL=y diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/memmap.py b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/memmap.py new file mode 100755 index 000000000..fcc097d01 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/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 = 256 * 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 = 75 * 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 = 1800 * 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/cv1812cp_milkv_duo256m_sd/partition/partition_sd.xml b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/partition/partition_sd.xml new file mode 100644 index 000000000..c127b61ab --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/partition/partition_sd.xml @@ -0,0 +1,4 @@ + + + + diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/rootfs_script/clean_rootfs.sh b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/rootfs_script/clean_rootfs.sh new file mode 100755 index 000000000..26692d889 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/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/cv1812cp_milkv_duo256m_sd/u-boot/cvi_board_init.c b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvi_board_init.c new file mode 100644 index 000000000..2938a3ec9 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvi_board_init.c @@ -0,0 +1,8 @@ +int cvi_board_init(void) +{ + PINMUX_CONFIG(PAD_MIPI_TXM1, IIC2_SDA); + PINMUX_CONFIG(PAD_MIPI_TXP1, IIC2_SCL); + PINMUX_CONFIG(PAD_MIPI_TXM0, CAM_MCLK1); + + return 0; +} diff --git a/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvitek.h b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvitek.h new file mode 100644 index 000000000..8a122c238 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvitek.h @@ -0,0 +1,12 @@ +/* + *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/cv1812cp_milkv_duo256m_sd/u-boot/cvitek_cv1812cp_milkv_duo256m_sd_defconfig b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvitek_cv1812cp_milkv_duo256m_sd_defconfig new file mode 100644 index 000000000..055f12eb5 --- /dev/null +++ b/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvitek_cv1812cp_milkv_duo256m_sd_defconfig @@ -0,0 +1,43 @@ +CONFIG_RISCV=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEFAULT_DEVICE_TREE="cv181x_asic" +CONFIG_IDENT_STRING=" cvitek_cv181x" +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="cv181x_c906# " +# 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_LOADS is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_ITEST is not set +CONFIG_CMD_CACHE=y +CONFIG_CMD_CVI_SD_UPDATE=y +# CONFIG_ISO_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +CONFIG_MMC_SDHCI_CVITEK=y +CONFIG_MTD=y +# CONFIG_PHY_SMSC is not set +CONFIG_DM_ETH=y +CONFIG_ETH_DESIGNWARE=y +CONFIG_PHY_CVITEK=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_LZ4=y +CONFIG_LZMA=y +# CONFIG_TOOLS_LIBCRYPTO is not set +CONFIG_ENV_IS_NOWHERE=y diff --git a/build/boards/default/dts/cv181x/cv181x_asic_qfn.dtsi b/build/boards/default/dts/cv181x/cv181x_asic_qfn.dtsi index 5bb417dc9..93081c5d7 100644 --- a/build/boards/default/dts/cv181x/cv181x_asic_qfn.dtsi +++ b/build/boards/default/dts/cv181x/cv181x_asic_qfn.dtsi @@ -13,7 +13,7 @@ }; &dac{ - mute-gpio-r = <&porte 2 GPIO_ACTIVE_LOW>; + mute-gpio-r = <&porte 1 GPIO_ACTIVE_LOW>; }; &spi0 { diff --git a/build/boards/default/dts/cv181x/cv181x_asic_sd.dtsi b/build/boards/default/dts/cv181x/cv181x_asic_sd.dtsi new file mode 100644 index 000000000..5af9620d8 --- /dev/null +++ b/build/boards/default/dts/cv181x/cv181x_asic_sd.dtsi @@ -0,0 +1,4 @@ +/ { + /delete-node/ cv-emmc@4300000; + /delete-node/ cv-spinf@4060000; +}; diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/.gitignore b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/.gitignore new file mode 100644 index 000000000..602738bf8 --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/.gitignore @@ -0,0 +1,2 @@ +mnt/system/ +usr/bin diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/dnsmasq.conf b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/dnsmasq.conf new file mode 100644 index 000000000..fcdb620ff --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/dnsmasq.conf @@ -0,0 +1,4 @@ +interface=usb0 +dhcp-range=192.168.42.2,192.168.42.242,1h +dhcp-option=3 +dhcp-option=6 diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/init.d/S99user b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/init.d/S99user new file mode 100755 index 000000000..32b524845 --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/init.d/S99user @@ -0,0 +1,50 @@ +#!/bin/sh +${CVI_SHOPTS} +# +# Start firmware +# +export USERDATAPATH=/mnt/data/ +export SYSTEMPATH=/mnt/system/ + +case "$1" in + start) + echo "init mpp system..." + if [ -d $SYSTEMPATH/ko ]; then + sh $SYSTEMPATH/ko/loadsystemko.sh + fi + + echo "Starting app..." + + if [ -f $SYSTEMPATH/duo-init.sh ]; then + . $SYSTEMPATH/duo-init.sh & + fi + + if [ -f $SYSTEMPATH/blink.sh ]; then + . $SYSTEMPATH/blink.sh & + fi + + if [ -f $SYSTEMPATH/usb.sh ]; then + . $SYSTEMPATH/usb.sh & + fi + + if [ -f $USERDATAPATH/auto.sh ]; then + usleep 30000 + . $USERDATAPATH/auto.sh & + exit 1 + fi + if [ -f $SYSTEMPATH/auto.sh ]; then + usleep 30000 + . $SYSTEMPATH/auto.sh & + fi + ;; + stop) + ;; + restart|reload) + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? + diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/inittab b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/inittab new file mode 100644 index 000000000..2c9793ce9 --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/inittab @@ -0,0 +1,40 @@ +# /etc/inittab +# +# Copyright (C) 2001 Erik Andersen +# +# Note: BusyBox init doesn't support runlevels. The runlevels field is +# completely ignored by BusyBox init. If you want runlevels, use +# sysvinit. +# +# Format for each entry: ::: +# +# id == tty to run on, or empty for /dev/console +# runlevels == ignored +# action == one of sysinit, respawn, askfirst, wait, and once +# process == program to run + +# Startup the system +::sysinit:/bin/mount -t proc proc /proc +::sysinit:/bin/mount -o remount,rw / +::sysinit:/bin/mkdir -p /dev/pts /dev/shm +::sysinit:/bin/mount -a +::sysinit:/sbin/swapon -a +null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd +null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin +null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout +null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr +::sysinit:/bin/hostname -F /etc/hostname +# now run any rc scripts +::sysinit:/etc/init.d/rcS + +# Put a getty on the serial port +# console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL +console::respawn:/sbin/getty -L console 115200 vt100 -n -l /usr/local/bin/autologin + +# Stuff to do for the 3-finger salute +#::ctrlaltdel:/sbin/reboot + +# Stuff to do before rebooting +::shutdown:/etc/init.d/rcK +::shutdown:/sbin/swapoff -a +::shutdown:/bin/umount -a -r diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/profile b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/profile new file mode 100644 index 000000000..d99b37863 --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/profile @@ -0,0 +1,37 @@ +export PATH="/bin:/sbin:/usr/bin:/usr/sbin" +export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/system/usr/bin:/mnt/system/usr/sbin:/mnt/data/bin:/mnt/data/sbin" + +if [ "$PS1" ]; then + if [ "`id -u`" -eq 0 ]; then + export PS1='# ' + else + export PS1='$ ' + fi +fi + +export PAGER='/bin/more ' +export EDITOR='/bin/vi' + +# Source configuration files from /etc/profile.d +for i in /etc/profile.d/*.sh ; do + if [ -r "$i" ]; then + . $i + fi + unset i +done + +export HOSTNAME="$(hostname)" +export OLDPWD=/root + +if [ '$USER' == 'root' ]; then + export PS1='[\u@\h]\w\# ' +else + export PS1='[\u@\h]\w\$ ' +fi + +alias ll='ls -alF' +alias la='ls -A' +alias l='ls -CF' + +export TERM=vt100 +export TERMINFO=/usr/share/terminfo diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/run_usb.sh b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/run_usb.sh new file mode 100755 index 000000000..760c70284 --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/run_usb.sh @@ -0,0 +1,292 @@ +CLASS=acm +VID=0x3346 +PID=0x1003 +MSC_PID=0x1008 +RNDIS_PID=0x1009 +UVC_PID=0x100A +UAC_PID=0x100B +ADB_VID=0x18D1 +ADB_PID=0x4EE0 +ADB_PID_M1=0x4EE2 +ADB_PID_M2=0x4EE4 +MANUFACTURER="Cvitek" +PRODUCT="USB Com Port" +PRODUCT_RNDIS="RNDIS" +PRODUCT_UVC="UVC" +PRODUCT_UAC="UAC" +PRODUCT_ADB="ADB" +ADBD_PATH=/usr/bin/ +SERIAL="0123456789" +MSC_FILE=$3 +CVI_DIR=/tmp/usb +CVI_GADGET=$CVI_DIR/usb_gadget/cvitek +CVI_FUNC=$CVI_GADGET/functions +FUNC_NUM=0 +MAX_EP_NUM=4 +TMP_NUM=0 +INTF_NUM=0 +EP_IN=0 +EP_OUT=0 + +case "$2" in + acm) + CLASS=acm + ;; + msc) + CLASS=mass_storage + PID=$MSC_PID + ;; + cvg) + CLASS=cvg + ;; + rndis) + CLASS=rndis + PID=$RNDIS_PID + PRODUCT=$PRODUCT_RNDIS + ;; + uvc) + CLASS=uvc + PID=$UVC_PID + PRODUCT=$PRODUCT_UVC + ;; + uac1) + CLASS=uac1 + PID=$UAC_PID + PRODUCT=$PRODUCT_UAC + ;; + adb) + CLASS=ffs.adb + VID=$ADB_VID + PID=$ADB_PID + PRODUCT=$PRODUCT_ADB + ;; + *) + if [ "$1" = "probe" ] ; then + echo "Usage: $0 probe {acm|msc|cvg|rndis|uvc|uac1|adb}" + exit 1 + fi +esac + +calc_func() { + FUNC_NUM=$(ls $CVI_GADGET/functions -l | grep ^d | wc -l) + echo "$FUNC_NUM file(s)" +} + +res_check() { + TMP_NUM=$(find $CVI_GADGET/functions/ -name "acm*" | wc -l) + EP_OUT=$(($EP_OUT+$TMP_NUM)) + TMP_NUM=$(($TMP_NUM * 2)) + EP_IN=$(($EP_IN+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + TMP_NUM=$(find $CVI_GADGET/functions/ -name "mass_storage*" | wc -l) + EP_IN=$(($EP_IN+$TMP_NUM)) + EP_OUT=$(($EP_OUT+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + TMP_NUM=$(find $CVI_GADGET/functions/ -name "cvg*" | wc -l) + EP_IN=$(($EP_IN+$TMP_NUM)) + EP_OUT=$(($EP_OUT+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + TMP_NUM=$(find $CVI_GADGET/functions/ -name "rndis*" | wc -l) + EP_OUT=$(($EP_OUT+$TMP_NUM)) + TMP_NUM=$(($TMP_NUM * 2)) + EP_IN=$(($EP_IN+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + TMP_NUM=$(find $CVI_GADGET/functions/ -name "uvc*" | wc -l) + TMP_NUM=$(($TMP_NUM * 2)) + EP_IN=$(($EP_IN+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + TMP_NUM=$(find $CVI_GADGET/functions/ -name "uac1*" | wc -l) + TMP_NUM=$(($TMP_NUM * 2)) + EP_IN=$(($EP_IN+$TMP_NUM)) + EP_OUT=$(($EP_OUT+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + TMP_NUM=$(find $CVI_GADGET/functions/ -name ffs.adb | wc -l) + EP_IN=$(($EP_IN+$TMP_NUM)) + EP_OUT=$(($EP_OUT+$TMP_NUM)) + INTF_NUM=$(($INTF_NUM+$TMP_NUM)) + + if [ "$CLASS" = "acm" ] ; then + EP_IN=$(($EP_IN+2)) + EP_OUT=$(($EP_OUT+1)) + fi + if [ "$CLASS" = "mass_storage" ] ; then + EP_IN=$(($EP_IN+1)) + EP_OUT=$(($EP_OUT+1)) + fi + if [ "$CLASS" = "cvg" ] ; then + EP_IN=$(($EP_IN+1)) + EP_OUT=$(($EP_OUT+1)) + fi + if [ "$CLASS" = "rndis" ] ; then + EP_IN=$(($EP_IN+2)) + EP_OUT=$(($EP_OUT+1)) + fi + if [ "$CLASS" = "uvc" ] ; then + EP_IN=$(($EP_IN+2)) + fi + if [ "$CLASS" = "uac1" ] ; then + EP_IN=$(($EP_IN+1)) + EP_OUT=$(($EP_OUT+1)) + fi + if [ "$CLASS" = "ffs.adb" ] ; then + EP_IN=$(($EP_IN+1)) + EP_OUT=$(($EP_OUT+1)) + fi + echo "$EP_IN in ep" + echo "$EP_OUT out ep" + if [ $EP_IN -gt $MAX_EP_NUM ]; then + echo "reach maximum resource" + exit 1 + fi + if [ $EP_OUT -gt $MAX_EP_NUM ]; then + echo "reach maximum resource" + exit 1 + fi +} + +probe() { + if [ ! -d $CVI_DIR ]; then + mkdir $CVI_DIR + fi + if [ ! -d $CVI_DIR/usb_gadget ]; then + # Enale USB ConfigFS + mount none $CVI_DIR -t configfs + # Create gadget dev + mkdir $CVI_GADGET + # Set the VID and PID + echo $VID >$CVI_GADGET/idVendor + echo $PID >$CVI_GADGET/idProduct + # Set the product information string + mkdir $CVI_GADGET/strings/0x409 + echo $MANUFACTURER>$CVI_GADGET/strings/0x409/manufacturer + echo $PRODUCT>$CVI_GADGET/strings/0x409/product + echo $SERIAL>$CVI_GADGET/strings/0x409/serialnumber + # Set the USB configuration + mkdir $CVI_GADGET/configs/c.1 + mkdir $CVI_GADGET/configs/c.1/strings/0x409 + echo "config1">$CVI_GADGET/configs/c.1/strings/0x409/configuration + # Set the MaxPower of USB descriptor + echo 120 >$CVI_GADGET/configs/c.1/MaxPower + fi + # get current functions number + calc_func + # assign the class code for composite device + if [ ! $FUNC_NUM -eq 0 ]; then + echo 0xEF >$CVI_GADGET/bDeviceClass + echo 0x02 >$CVI_GADGET/bDeviceSubClass + echo 0x01 >$CVI_GADGET/bDeviceProtocol + fi + # resource check + res_check + # create the desired function + if [ "$CLASS" = "ffs.adb" ] ; then + # adb shall be the last function to probe. Override the pid/vid + echo $VID >$CVI_GADGET/idVendor + echo $PID >$CVI_GADGET/idProduct + # choose pid for different function number + if [ $INTF_NUM -eq 1 ]; then + echo $ADB_PID_M1 >$CVI_GADGET/idProduct + fi + if [ $INTF_NUM -eq 2 ]; then + echo $ADB_PID_M2 >$CVI_GADGET/idProduct + fi + mkdir $CVI_GADGET/functions/$CLASS + else + mkdir $CVI_GADGET/functions/$CLASS.usb$FUNC_NUM + fi + if [ "$CLASS" = "mass_storage" ] ; then + echo $MSC_FILE >$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/lun.0/file + fi + if [ "$CLASS" = "rndis" ] ; then + #OS STRING + echo 1 >$CVI_GADGET/os_desc/use + echo 0xcd >$CVI_GADGET/os_desc/b_vendor_code + echo MSFT100 >$CVI_GADGET/os_desc/qw_sign + #COMPATIBLE ID + echo RNDIS >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/compatible_id + #MAKE c.1 THE ONE ASSOCIATED WITH OS DESCRIPTORS + ln -s $CVI_GADGET/configs/c.1 $CVI_GADGET/os_desc + #MAKE "Icons" EXTENDED PROPERTY + mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons + echo 2 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/type + echo "%SystemRoot%\\system32\\shell32.dll,-233" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Icons/data + #MAKE "Label" EXTENDED PROPERTY + mkdir $CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label + echo 1 >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/type + echo "XYZ Device" >$CVI_FUNC/rndis.usb$FUNC_NUM/os_desc/interface.rndis/Label/data + fi + +} + +start() { + # link this function to the configuration + calc_func + if [ $FUNC_NUM -eq 0 ]; then + echo "Functions Empty!" + exit 1 + fi + if [ -d $CVI_GADGET/functions/ffs.adb ]; then + FUNC_NUM=$(($FUNC_NUM-1)) + fi + for i in `seq 0 $(($FUNC_NUM-1))`; + do + find $CVI_GADGET/functions/ -name "*.usb$i" | xargs -I % ln -s % $CVI_GADGET/configs/c.1 + done + if [ -d $CVI_GADGET/functions/ffs.adb ]; then + ln -s $CVI_GADGET/functions/ffs.adb $CVI_GADGET/configs/c.1 + mkdir /dev/usb-ffs/adb -p + mount -t functionfs adb /dev/usb-ffs/adb + if [ -f $ADBD_PATH/adbd ]; then + $ADBD_PATH/adbd & + fi + else + # Start the gadget driver + UDC=`ls /sys/class/udc/ | awk '{print $1}'` + echo ${UDC} >$CVI_GADGET/UDC + fi +} + +stop() { + if [ -d $CVI_GADGET/configs/c.1/ffs.adb ]; then + pkill adbd + rm $CVI_GADGET/configs/c.1/ffs.adb + else + echo "" >$CVI_GADGET/UDC + fi + find $CVI_GADGET/configs/ -name "*.usb*" | xargs rm -f + rmdir $CVI_GADGET/configs/c.*/strings/0x409/ + tmp_dirs=$(find $CVI_GADGET/os_desc/c.* -type d) + if [ -n tmp_dirs ]; then + echo "remove os_desc!" + rm -rf $CVI_GADGET/os_desc/c.*/ + find $CVI_GADGET/functions/ -name Icons | xargs rmdir + find $CVI_GADGET/functions/ -name Label | xargs rmdir + fi + rmdir $CVI_GADGET/configs/c.*/ + rmdir $CVI_GADGET/functions/* + rmdir $CVI_GADGET/strings/0x409/ + rmdir $CVI_GADGET + umount $CVI_DIR + rmdir $CVI_DIR +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + probe) + probe + ;; + UDC) + ls /sys/class/udc/ >$CVI_GADGET/UDC + ;; + *) + echo "Usage: $0 probe {acm|msc|cvg|uvc|uac1} {file (msc)}" + echo "Usage: $0 start" + echo "Usage: $0 stop" + exit 1 +esac +exit $? diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/uhubon.sh b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/uhubon.sh new file mode 100755 index 000000000..a8256765d --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/etc/uhubon.sh @@ -0,0 +1,83 @@ +GPIO_HUBPORT_EN=449 +GPIO_ROLESEL=450 +GPIO_HUBRST=451 +SYS_GPIO=/sys/class/gpio + +hub_on() { + echo "turn on usb hub" + if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then + echo $GPIO_HUBPORT_EN >/sys/class/gpio/export + fi + + if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then + echo $GPIO_ROLESEL >/sys/class/gpio/export + fi + + if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then + echo $GPIO_HUBRST >/sys/class/gpio/export + fi + + echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction + echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction + echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction + + echo 1 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value + echo 0 >/sys/class/gpio/gpio$GPIO_ROLESEL/value + echo 0 >/sys/class/gpio/gpio$GPIO_HUBRST/value +} + +hub_off() { + echo "turn off usb hub" + if [ ! -d $SYS_GPIO/gpio$GPIO_HUBPORT_EN ]; then + echo $GPIO_HUBPORT_EN >/sys/class/gpio/export + fi + + if [ ! -d $SYS_GPIO/gpio$GPIO_ROLESEL ]; then + echo $GPIO_ROLESEL >/sys/class/gpio/export + fi + + if [ ! -d $SYS_GPIO/gpio$GPIO_HUBRST ]; then + echo $GPIO_HUBRST >/sys/class/gpio/export + fi + + echo "out" >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/direction + echo "out" >/sys/class/gpio/gpio$GPIO_ROLESEL/direction + echo "out" >/sys/class/gpio/gpio$GPIO_HUBRST/direction + + echo 0 >/sys/class/gpio/gpio$GPIO_HUBPORT_EN/value + echo 1 >/sys/class/gpio/gpio$GPIO_ROLESEL/value + echo 1 >/sys/class/gpio/gpio$GPIO_HUBRST/value +} + +inst_mod() { + insmod /mnt/system/ko/configfs.ko + insmod /mnt/system/ko/libcomposite.ko + insmod /mnt/system/ko/u_serial.ko + insmod /mnt/system/ko/usb_f_acm.ko + insmod /mnt/system/ko/cvi_usb_f_cvg.ko + insmod /mnt/system/ko/usb_f_uvc.ko + insmod /mnt/system/ko/usb_f_fs.ko + insmod /mnt/system/ko/u_audio.ko + insmod /mnt/system/ko/usb_f_uac1.ko + insmod /mnt/system/ko/usb_f_serial.ko + insmod /mnt/system/ko/usb_f_mass_storage.ko + insmod /mnt/system/ko/u_ether.ko + insmod /mnt/system/ko/usb_f_ecm.ko + insmod /mnt/system/ko/usb_f_eem.ko + insmod /mnt/system/ko/usb_f_rndis.ko +} + +case "$1" in + host) + insmod /mnt/system/ko/dwc2.ko + echo host > /proc/cviusb/otg_role + ;; + device) + echo device > /proc/cviusb/otg_role + ;; + *) + echo "Usage: $0 host" + echo "Usage: $0 device" + exit 1 +esac +exit $? diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/lib/ld-musl-riscv64v0p7_xthead.so.1 b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/lib/ld-musl-riscv64v0p7_xthead.so.1 new file mode 120000 index 000000000..4665bcf84 --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/lib/ld-musl-riscv64v0p7_xthead.so.1 @@ -0,0 +1 @@ +../usr/lib64v0p7_xthead/lp64d/libc.so \ No newline at end of file diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/usr/lib64v0p7_xthead/lp64d/libc.so b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/usr/lib64v0p7_xthead/lp64d/libc.so new file mode 100755 index 000000000..8a2b8ff7d Binary files /dev/null and b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/usr/lib64v0p7_xthead/lp64d/libc.so differ diff --git a/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/usr/local/bin/autologin b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/usr/local/bin/autologin new file mode 100755 index 000000000..6f12842ec --- /dev/null +++ b/buildroot-2021.05/board/milkv/milkv-duo256m/overlay/usr/local/bin/autologin @@ -0,0 +1,2 @@ +#! /bin/sh +exec /bin/login -f root diff --git a/buildroot-2021.05/configs/milkv-duo256m_musl_riscv64_defconfig b/buildroot-2021.05/configs/milkv-duo256m_musl_riscv64_defconfig new file mode 100644 index 000000000..3555b8f51 --- /dev/null +++ b/buildroot-2021.05/configs/milkv-duo256m_musl_riscv64_defconfig @@ -0,0 +1,469 @@ +# +# Automatically generated file; DO NOT EDIT. +# Buildroot -g8c59e72e33-dirty Configuration +# +BR2_HAVE_DOT_CONFIG=y +BR2_HOST_GCC_AT_LEAST_4_9=y +BR2_HOST_GCC_AT_LEAST_5=y +BR2_HOST_GCC_AT_LEAST_6=y +BR2_HOST_GCC_AT_LEAST_7=y + +# +# Target options +# +BR2_ARCH_IS_64=y +BR2_ARCH_HAS_MMU_MANDATORY=y +BR2_riscv=y +BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y +BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y +BR2_ARCH="riscv64" +BR2_ENDIAN="LITTLE" +BR2_GCC_TARGET_ABI="lp64d" +BR2_BINFMT_SUPPORTS_SHARED=y +BR2_READELF_ARCH_NAME="RISC-V" +BR2_BINFMT_ELF=y +BR2_RISCV_ISA_RVI=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_riscv_g=y +# BR2_riscv_custom is not set +# BR2_RISCV_32 is not set +BR2_RISCV_64=y +# BR2_RISCV_ABI_LP64 is not set +# BR2_RISCV_ABI_LP64F is not set +BR2_RISCV_ABI_LP64D=y + +# +# Build options +# + +# +# Commands +# +BR2_WGET="wget --passive-ftp -nd -t 3" +BR2_SVN="svn --non-interactive" +BR2_BZR="bzr" +BR2_GIT="git" +BR2_CVS="cvs" +BR2_LOCALFILES="cp" +BR2_SCP="scp" +BR2_HG="hg" +BR2_ZCAT="gzip -d -c" +BR2_BZCAT="bzcat" +BR2_XZCAT="xzcat" +BR2_LZCAT="lzip -d -c" +BR2_TAR_OPTIONS="" +BR2_DEFCONFIG="./configs/milkv-duo256m_musl_riscv64_defconfig" +BR2_DL_DIR="$(TOPDIR)/dl" +BR2_HOST_DIR="$(BASE_DIR)/host" + +# +# Mirrors and Download locations +# +BR2_PRIMARY_SITE="" +BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" +BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" +BR2_CPAN_MIRROR="http://cpan.metacpan.org" +BR2_JLEVEL=0 +# BR2_CCACHE is not set +# BR2_ENABLE_DEBUG is not set +BR2_STRIP_strip=y +BR2_STRIP_EXCLUDE_FILES="" +BR2_STRIP_EXCLUDE_DIRS="" +# BR2_OPTIMIZE_0 is not set +# BR2_OPTIMIZE_1 is not set +# BR2_OPTIMIZE_2 is not set +# BR2_OPTIMIZE_3 is not set +# BR2_OPTIMIZE_G is not set +BR2_OPTIMIZE_S=y +# BR2_OPTIMIZE_FAST is not set +# BR2_STATIC_LIBS is not set +BR2_SHARED_LIBS=y +# BR2_SHARED_STATIC_LIBS is not set +BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" +BR2_GLOBAL_PATCH_DIR="" + +# +# Advanced +# +BR2_COMPILER_PARANOID_UNSAFE_PATH=y +# BR2_FORCE_HOST_BUILD is not set +# BR2_REPRODUCIBLE is not set +# BR2_PER_PACKAGE_DIRECTORIES is not set + +# +# Security Hardening Options +# +BR2_PIC_PIE=y +# BR2_SSP_NONE is not set +# BR2_SSP_REGULAR is not set +BR2_SSP_STRONG=y +# BR2_SSP_ALL is not set +BR2_SSP_OPTION="-fstack-protector-strong" +# BR2_RELRO_NONE is not set +# BR2_RELRO_PARTIAL is not set +BR2_RELRO_FULL=y + +# +# Fortify Source needs a glibc toolchain and optimization +# + +# +# Toolchain +# +BR2_TOOLCHAIN=y +BR2_TOOLCHAIN_USES_MUSL=y +# BR2_TOOLCHAIN_BUILDROOT is not set +BR2_TOOLCHAIN_EXTERNAL=y + +# +# Toolchain External Options +# +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set +BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y +# BR2_TOOLCHAIN_EXTERNAL_PATH="/data/sam/sdk/cv180x_v400/host-tools/gcc/riscv64-linux-musl-x86_64" +BR2_TOOLCHAIN_EXTERNAL_MUSL=y +BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y +BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom" +BR2_TOOLCHAIN_EXTERNAL_PREFIX="riscv64-unknown-linux-musl" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-musl" +BR2_TOOLCHAIN_EXTERNAL_GCC_10=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y +BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y + +# +# Toolchain Generic Options +# +BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y +BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y +BR2_USE_WCHAR=y +BR2_ENABLE_LOCALE=y +BR2_INSTALL_LIBSTDCPP=y +BR2_TOOLCHAIN_HAS_THREADS=y +BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y +BR2_TOOLCHAIN_HAS_THREADS_NPTL=y +BR2_TOOLCHAIN_HAS_SSP=y +BR2_TOOLCHAIN_HAS_SSP_STRONG=y +BR2_TOOLCHAIN_HAS_UCONTEXT=y +BR2_TOOLCHAIN_SUPPORTS_PIE=y +BR2_TOOLCHAIN_EXTRA_LIBS="" +BR2_USE_MMU=y +BR2_TARGET_OPTIMIZATION="" +BR2_TARGET_LDFLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" +# BR2_ECLIPSE_REGISTER is not set +BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y +BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10" +BR2_TOOLCHAIN_GCC_AT_LEAST_10=y +BR2_TOOLCHAIN_GCC_AT_LEAST="10" +BR2_TOOLCHAIN_HAS_MNAN_OPTION=y +BR2_TOOLCHAIN_HAS_SYNC_1=y +BR2_TOOLCHAIN_HAS_SYNC_2=y +BR2_TOOLCHAIN_HAS_SYNC_4=y +BR2_TOOLCHAIN_HAS_SYNC_8=y +BR2_TOOLCHAIN_HAS_LIBATOMIC=y +BR2_TOOLCHAIN_HAS_ATOMIC=y + +# +# System configuration +# +BR2_ROOTFS_SKELETON_DEFAULT=y +# BR2_ROOTFS_SKELETON_CUSTOM is not set +BR2_TARGET_GENERIC_HOSTNAME="milkv-duo" +BR2_TARGET_GENERIC_ISSUE="Welcome to Milk-V Duo 256M" +BR2_TARGET_GENERIC_PASSWD_SHA256=y +# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set +BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" +BR2_INIT_BUSYBOX=y +# BR2_INIT_SYSV is not set +# BR2_INIT_OPENRC is not set + +# +# systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5 +# +# BR2_INIT_NONE is not set +# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set +# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set +BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" +# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set +# BR2_ROOTFS_MERGED_USR is not set +BR2_TARGET_ENABLE_ROOT_LOGIN=y +BR2_TARGET_GENERIC_ROOT_PASSWD="milkv" +BR2_SYSTEM_BIN_SH_BUSYBOX=y + +# +# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS +# +# BR2_SYSTEM_BIN_SH_NONE is not set +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="console" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set +# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set +BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" +BR2_TARGET_GENERIC_GETTY_TERM="vt100" +BR2_TARGET_GENERIC_GETTY_OPTIONS="" +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y +BR2_SYSTEM_DHCP="" +BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" +BR2_ENABLE_LOCALE_PURGE=y +BR2_ENABLE_LOCALE_WHITELIST="C en_US" +# BR2_SYSTEM_ENABLE_NLS is not set +# BR2_TARGET_TZ_INFO is not set +BR2_ROOTFS_USERS_TABLES="" +BR2_ROOTFS_OVERLAY="board/milkv/milkv-duo256m/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="" +BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" +BR2_ROOTFS_POST_IMAGE_SCRIPT="" + +# +# Kernel +# +# BR2_LINUX_KERNEL is not set + +# +# Target packages +# +BR2_PACKAGE_BUSYBOX=y +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" +# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set +# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set +# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set +BR2_PACKAGE_SKELETON=y +BR2_PACKAGE_HAS_SKELETON=y +BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" +BR2_PACKAGE_SKELETON_INIT_COMMON=y +BR2_PACKAGE_SKELETON_INIT_SYSV=y + +# +# dt needs a glibc or uClibc toolchain w/ threads +# +# BR2_PACKAGE_DUMA is not set +# BR2_PACKAGE_FIO is not set +BR2_PACKAGE_GDB_ARCH_SUPPORTS=y +BR2_PACKAGE_GDB=y +# BR2_PACKAGE_IOZONE is not set + +# +# ktap needs a Linux kernel to be built +# +# BR2_PACKAGE_LATENCYTOP is not set +# BR2_PACKAGE_LMBENCH is not set +BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y +# BR2_PACKAGE_LTP_TESTSUITE is not set +# BR2_PACKAGE_LTTNG_BABELTRACE is not set + +# +# Development tools +# +BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" + +# +# Filesystem and flash utilities +# +# BR2_PACKAGE_ABOOTIMG is not set + +# +# davfs2 needs a glibc or uClibc toolchain +# +# BR2_PACKAGE_DOSFSTOOLS is not set +BR2_PACKAGE_E2FSPROGS=y +# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set +# BR2_PACKAGE_E2FSPROGS_E2IMAGE is not set + +BR2_PACKAGE_HOST_GENIMAGE=y + +# +# e2scrub needs bash, coreutils, lvm2, and util-linux +# +# BR2_PACKAGE_E2FSPROGS_E4DEFRAG is not set +BR2_PACKAGE_E2FSPROGS_FSCK=y +# BR2_PACKAGE_E2FSPROGS_FUSE2FS is not set +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y + +# +# eudev needs eudev /dev management +# +# BR2_PACKAGE_EVEMU is not set +BR2_PACKAGE_EVTEST=y +# BR2_PACKAGE_FAN_CTRL is not set +# BR2_PACKAGE_FCONFIG is not set +BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y + +# +# Compression and decompression +# +BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" +# BR2_PACKAGE_ZZIPLIB is not set + +# +# Crypto +# +# BR2_PACKAGE_BEARSSL is not set +# BR2_PACKAGE_BEECRYPT is not set +BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y +# BR2_PACKAGE_BOTAN is not set +# BR2_PACKAGE_CA_CERTIFICATES is not set + +# +# cryptodev needs a Linux kernel to be built +# +BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBGPG_ERROR is not set +BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu" +BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" + +# +# JSON/XML +# +BR2_PACKAGE_JSON_C=y + +# +# Multimedia +# +BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y +# BR2_PACKAGE_LIBCAMERA is not set + +# +# libcgroup needs a glibc toolchain w/ C++ +# +BR2_PACKAGE_MUSL_COMPAT_HEADERS=y +# BR2_PACKAGE_MUSL_FTS is not set +# BR2_PACKAGE_ORC is not set +# BR2_PACKAGE_P11_KIT is not set +BR2_PACKAGE_POCO_ARCH_SUPPORTS=y +# BR2_PACKAGE_POCO is not set +BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y +# BR2_PACKAGE_PROTOBUF is not set +# BR2_PACKAGE_PROTOBUF_C is not set + +# +# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9 +# +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set +BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y +# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set + +# +# emlog needs a Linux kernel to be built +# +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_INITSCRIPTS=y + +# +# iotop depends on python or python3 +# +# BR2_PACKAGE_IPRUTILS is not set +# BR2_PACKAGE_IRQBALANCE is not set +# BR2_PACKAGE_KEYUTILS is not set +BR2_PACKAGE_KMOD=y + +# +# unscd needs a glibc toolchain +# +BR2_PACKAGE_UTIL_LINUX=y +BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y +# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set +# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set +# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set +BR2_PACKAGE_UTIL_LINUX_LIBUUID=y + +# +# su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library +# +BR2_PACKAGE_UTIL_LINUX_UUIDD=y + +# +# Filesystem images +# +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_EXT2_2r0 is not set +# BR2_TARGET_ROOTFS_EXT2_2r1 is not set +# BR2_TARGET_ROOTFS_EXT2_3 is not set +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_GEN=4 +BR2_TARGET_ROOTFS_EXT2_REV=1 +BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +BR2_TARGET_ROOTFS_EXT2_INODES=0 +BR2_TARGET_ROOTFS_EXT2_RESBLKS=5 +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit" +BR2_TARGET_ROOTFS_EXT2_NONE=y + +# +# initramfs needs a Linux kernel to be built +# +BR2_TARGET_ROOTFS_TAR=y +BR2_TARGET_ROOTFS_TAR_XZ=y +BR2_TARGET_ROOTFS_TAR_OPTIONS="" + +# +# Host utilities +# +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_UTIL_LINUX=y + +# +# Legacy options removed in 2019.11 +# +BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" + +# +# Legacy options removed in 2017.08 +# +# BR2_TARGET_GRUB is not set +# BR2_PACKAGE_SIMICSFS is not set +# BR2_BINUTILS_VERSION_2_26_X is not set +BR2_XTENSA_OVERLAY_DIR="" +BR2_XTENSA_CUSTOM_NAME="" +# BR2_PACKAGE_HOST_MKE2IMG is not set +BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 +BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 + +# +# Legacy options removed in 2017.05 +# +BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 + +BR2_PACKAGE_SPIDEV_TEST=y +BR2_PACKAGE_STRACE=y + +# +# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads +# + +BR2_PACKAGE_DHCPCD=y +BR2_PACKAGE_DNSMASQ=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_CLIENT=y +# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set +BR2_PACKAGE_DROPBEAR_SMALL=y +# BR2_PACKAGE_DROPBEAR_WTMP is not set +# BR2_PACKAGE_DROPBEAR_LASTLOG is not set +# BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO is not set +# BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE="" + +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_NTP_NTPTIME=y diff --git a/device/milkv-duo256m/boardconfig.sh b/device/milkv-duo256m/boardconfig.sh new file mode 100644 index 000000000..d5a54ef6c --- /dev/null +++ b/device/milkv-duo256m/boardconfig.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export MV_BOARD=milkv-duo256m +export MV_BOARD_CPU=cv1812cp +export MV_VENDOR=milkv +export MV_BUILD_ENV=milkvsetup.sh +export MV_BOARD_LINK=cv1812cp_milkv_duo256m_sd + diff --git a/device/milkv-duo256m/genimage.cfg b/device/milkv-duo256m/genimage.cfg new file mode 100644 index 000000000..027bde1eb --- /dev/null +++ b/device/milkv-duo256m/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + label = "boot" + files = { + "fip.bin", + "rawimages/boot.sd", + } + } + size = 128M +} + +image rootfs.ext4 { + ext4 { + label = "rootfs" + } + size = 768M +} + +image milkv-duo256m.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/device/milkv-duo256m/overlay/mnt/system/blink.sh b/device/milkv-duo256m/overlay/mnt/system/blink.sh new file mode 100755 index 000000000..0670e77b6 --- /dev/null +++ b/device/milkv-duo256m/overlay/mnt/system/blink.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +LED_PIN=354 + +LED_GPIO=/sys/class/gpio/gpio${LED_PIN} + +if test -d ${LED_GPIO}; then + echo "PIN ${LED_PIN} already exported" +else + echo ${LED_PIN} > /sys/class/gpio/export +fi + +echo out > ${LED_GPIO}/direction + +while true; do + echo 0 > ${LED_GPIO}/value + sleep 0.5 + echo 1 > ${LED_GPIO}/value + sleep 0.5 +done + diff --git a/device/milkv-duo256m/overlay/mnt/system/duo-init.sh b/device/milkv-duo256m/overlay/mnt/system/duo-init.sh new file mode 100755 index 000000000..fda9d7862 --- /dev/null +++ b/device/milkv-duo256m/overlay/mnt/system/duo-init.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# Set Pin-29(GP22) to GPIO +devmem 0x0502707c 32 0x111 +devmem 0x03001068 32 0x3 + +# Set Pin-19(GP14) to GPIO +duo-pinmux -w GP14/GP14 > /dev/null + +# insmod pwm module +insmod /mnt/system/ko/cv181x_pwm.ko diff --git a/device/milkv-duo256m/overlay/mnt/system/usb-host.sh b/device/milkv-duo256m/overlay/mnt/system/usb-host.sh new file mode 100755 index 000000000..a80cdb89f --- /dev/null +++ b/device/milkv-duo256m/overlay/mnt/system/usb-host.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo host > /proc/cviusb/otg_role >> /tmp/usb.log 2>&1 + diff --git a/device/milkv-duo256m/overlay/mnt/system/usb-rndis.sh b/device/milkv-duo256m/overlay/mnt/system/usb-rndis.sh new file mode 100755 index 000000000..e0f132b3a --- /dev/null +++ b/device/milkv-duo256m/overlay/mnt/system/usb-rndis.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +/etc/uhubon.sh device >> /tmp/rndis.log 2>&1 +/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1 +/etc/run_usb.sh start rndis >> /tmp/rndis.log 2>&1 + +sleep 0.5 +ifconfig usb0 192.168.42.1 + +count=`ps | grep dnsmasq | grep -v grep | wc -l` +if [ ${count} -lt 1 ] ;then + echo "/etc/init.d/S80dnsmasq start" >> /tmp/rndis.log 2>&1 + /etc/init.d/S80dnsmasq start >> /tmp/rndis.log 2>&1 +fi diff --git a/device/milkv-duo256m/overlay/mnt/system/usb.sh b/device/milkv-duo256m/overlay/mnt/system/usb.sh new file mode 120000 index 000000000..3827f5be8 --- /dev/null +++ b/device/milkv-duo256m/overlay/mnt/system/usb.sh @@ -0,0 +1 @@ +usb-rndis.sh \ No newline at end of file diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/LzmaDec.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/LzmaDec.o new file mode 100644 index 000000000..6f1f5e00a Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/LzmaDec.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/assert.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/assert.o new file mode 100644 index 000000000..66f0c9d51 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/assert.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bigdigits.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bigdigits.o new file mode 100644 index 000000000..4cc799de9 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bigdigits.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bl2_helper.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bl2_helper.o new file mode 100644 index 000000000..a1b9be274 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bl2_helper.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bl2_opt.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bl2_opt.o new file mode 100644 index 000000000..f324d9f9f Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/bl2_opt.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cache.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cache.o new file mode 100644 index 000000000..1aa15e30b Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cache.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cpu_helper.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cpu_helper.o new file mode 100644 index 000000000..de42c6c53 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cpu_helper.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cvx16_dram_cap_check.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cvx16_dram_cap_check.o new file mode 100644 index 000000000..182ff5bc7 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cvx16_dram_cap_check.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cvx16_pinmux.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cvx16_pinmux.o new file mode 100644 index 000000000..f42ed1e9e Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/cvx16_pinmux.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr.o new file mode 100644 index 000000000..a4b761ff1 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_patch_regs.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_patch_regs.o new file mode 100644 index 000000000..c7c55d036 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_patch_regs.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_pkg_info.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_pkg_info.o new file mode 100644 index 000000000..678b5d0f1 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_pkg_info.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_sys.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_sys.o new file mode 100644 index 000000000..824190936 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_sys.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_sys_bring_up.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_sys_bring_up.o new file mode 100644 index 000000000..7eb5e0ddd Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddr_sys_bring_up.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddrc_init.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddrc_init.o new file mode 100644 index 000000000..b1c5b3d4c Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/ddrc_init.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/decompress.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/decompress.o new file mode 100644 index 000000000..d62b9aebc Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/decompress.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/delay_timer.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/delay_timer.o new file mode 100644 index 000000000..5d4733a7d Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/delay_timer.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/lz4_all.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/lz4_all.o new file mode 100644 index 000000000..0070f5a7b Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/lz4_all.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/mem.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/mem.o new file mode 100644 index 000000000..8d9581dfc Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/mem.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/misc.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/misc.o new file mode 100644 index 000000000..6fbaeddad Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/misc.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/misc_helpers.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/misc_helpers.o new file mode 100644 index 000000000..f0c1708be Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/misc_helpers.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/phy_init.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/phy_init.o new file mode 100644 index 000000000..f436caf48 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/phy_init.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/phy_pll_init.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/phy_pll_init.o new file mode 100644 index 000000000..00269ecc2 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/phy_pll_init.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/platform.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/platform.o new file mode 100644 index 000000000..2b0f8c0ac Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/platform.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/putchar.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/putchar.o new file mode 100644 index 000000000..e0faaffe1 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/putchar.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/security.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/security.o new file mode 100644 index 000000000..ef0cb094a Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/security.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/sha256.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/sha256.o new file mode 100644 index 000000000..e35dd8775 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/sha256.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strchr.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strchr.o new file mode 100644 index 000000000..bd6c9310f Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strchr.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strcmp.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strcmp.o new file mode 100644 index 000000000..ef55ea70b Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strcmp.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strlen.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strlen.o new file mode 100644 index 000000000..0d78f4b3c Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strlen.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strncmp.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strncmp.o new file mode 100644 index 000000000..79394bc13 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strncmp.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strnlen.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strnlen.o new file mode 100644 index 000000000..92bc06633 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/strnlen.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/tf_printf.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/tf_printf.o new file mode 100644 index 000000000..56a17b211 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/tf_printf.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/uart_dw.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/uart_dw.o new file mode 100644 index 000000000..8cfd76e90 Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/uart_dw.o differ diff --git a/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/xxhash.o b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/xxhash.o new file mode 100644 index 000000000..6394f000c Binary files /dev/null and b/fsbl/plat/cv181x/bl2_objs/cv1812cp_milkv_duo256m_sd/bl2/xxhash.o differ diff --git a/middleware/v2/.gitignore b/middleware/v2/.gitignore index 78682dc5f..6e87ce078 100644 --- a/middleware/v2/.gitignore +++ b/middleware/v2/.gitignore @@ -6,6 +6,7 @@ *.dwo ko +ko_shrink lib bin diff --git a/middleware/v2/cv181x/ko/cv181x_fast_image.ko b/middleware/v2/cv181x/ko/cv181x_fast_image.ko deleted file mode 100644 index 54ccd039b..000000000 Binary files a/middleware/v2/cv181x/ko/cv181x_fast_image.ko and /dev/null differ diff --git a/middleware/v2/cv181x/ko/cv181x_rtos_cmdqu.ko b/middleware/v2/cv181x/ko/cv181x_rtos_cmdqu.ko deleted file mode 100644 index e1eb0beae..000000000 Binary files a/middleware/v2/cv181x/ko/cv181x_rtos_cmdqu.ko and /dev/null differ diff --git a/middleware/v2/cv181x/ko_shrink/cv181x_fast_image.ko b/middleware/v2/cv181x/ko_shrink/cv181x_fast_image.ko deleted file mode 100644 index c51ce7492..000000000 Binary files a/middleware/v2/cv181x/ko_shrink/cv181x_fast_image.ko and /dev/null differ diff --git a/middleware/v2/cv181x/ko_shrink/cv181x_rtos_cmdqu.ko b/middleware/v2/cv181x/ko_shrink/cv181x_rtos_cmdqu.ko deleted file mode 100644 index 6c6597ca5..000000000 Binary files a/middleware/v2/cv181x/ko_shrink/cv181x_rtos_cmdqu.ko and /dev/null differ diff --git a/ramdisk/rootfs/overlay/cv181x_musl_riscv64/system/ko/loadsystemko.sh b/ramdisk/rootfs/overlay/cv181x_musl_riscv64/system/ko/loadsystemko.sh index 4da66be11..6c3bdf5d6 100644 --- a/ramdisk/rootfs/overlay/cv181x_musl_riscv64/system/ko/loadsystemko.sh +++ b/ramdisk/rootfs/overlay/cv181x_musl_riscv64/system/ko/loadsystemko.sh @@ -5,8 +5,8 @@ ${CVI_SHOPTS} # insmod /mnt/system/ko/cv181x_sys.ko insmod /mnt/system/ko/cv181x_base.ko -insmod /mnt/system/ko/cv181x_rtos_cmdqu.ko -insmod /mnt/system/ko/cv181x_fast_image.ko +#insmod /mnt/system/ko/cv181x_rtos_cmdqu.ko +#insmod /mnt/system/ko/cv181x_fast_image.ko insmod /mnt/system/ko/cvi_mipi_rx.ko insmod /mnt/system/ko/snsr_i2c.ko insmod /mnt/system/ko/cv181x_vi.ko diff --git a/u-boot-2021.10/include/configs/cv181x-asic.h b/u-boot-2021.10/include/configs/cv181x-asic.h index 70de6daeb..1c276f1c4 100644 --- a/u-boot-2021.10/include/configs/cv181x-asic.h +++ b/u-boot-2021.10/include/configs/cv181x-asic.h @@ -210,6 +210,8 @@ #else #define ROOTARGS "ubi.mtd=ROOTFS ubi.block=0,0" #endif /* CONFIG_SKIP_RAMDISK */ + #elif defined(CONFIG_SD_BOOT) + #define ROOTARGS "root=" ROOTFS_DEV " rootwait rw" #else #define ROOTARGS "rootfstype=squashfs rootwait ro root=" ROOTFS_DEV #endif @@ -289,16 +291,22 @@ #define SD_BOOTM_COMMAND \ SET_BOOTARGS \ - "echo Boot from SD with ramboot.itb;" \ - "mmc dev 1 && fatload mmc 1 ${uImage_addr} ramboot.itb; " \ + "echo Boot from SD ...;" \ + "mmc dev 0 && fatload mmc 0 ${uImage_addr} boot.sd; " \ "if test $? -eq 0; then " \ UBOOT_VBOOT_BOOTM_COMMAND \ "fi;" - #ifdef CONFIG_ENABLE_ALIOS_UPDATE - #define CONFIG_BOOTCOMMAND "cvi_update_rtos" + + #ifndef CONFIG_SD_BOOT + #ifdef CONFIG_ENABLE_ALIOS_UPDATE + #define CONFIG_BOOTCOMMAND "cvi_update_rtos" + #else + #define CONFIG_BOOTCOMMAND SHOWLOGOCMD "cvi_update || run norboot || run nandboot ||run emmcboot" + #endif #else - #define CONFIG_BOOTCOMMAND SHOWLOGOCMD "cvi_update || run norboot || run nandboot ||run emmcboot" + #define CONFIG_BOOTCOMMAND SHOWLOGOCMD "run sdboot" #endif + #if defined(CONFIG_NAND_SUPPORT) /* For spi nand boot, need to reset DMA and its setting before exiting uboot */ /* 0x4330058 : DMA reset */