From ee8cfe62cfa10bda954c48f6ac597cfa74dd05a4 Mon Sep 17 00:00:00 2001 From: carbon Date: Sun, 16 Jun 2024 15:39:39 +0800 Subject: [PATCH] add board sg2002_milkv_duo256m_glibc_arm64_sd Signed-off-by: carbon --- .../config.json | 8 + .../sg2002_milkv_duo256m_glibc_arm64_sd.dts | 14 + ...002_milkv_duo256m_glibc_arm64_sd_defconfig | 285 ++++++++++++++++++ .../memmap.py | 85 ++++++ .../partition/partition_sd.xml | 4 + .../rootfs_script/clean_rootfs.sh | 17 ++ ...002_milkv_duo256m_glibc_arm64_sd_defconfig | 35 +++ .../u-boot/cvi_board_init.c | 70 +++++ .../u-boot/cvitek.h | 13 + ...002_milkv_duo256m_glibc_arm64_sd_defconfig | 49 +++ 10 files changed, 580 insertions(+) create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/config.json create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/dts_arm64/sg2002_milkv_duo256m_glibc_arm64_sd.dts create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/linux/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/memmap.py create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/partition/partition_sd.xml create mode 100755 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/rootfs_script/clean_rootfs.sh create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/sg2002_milkv_duo256m_glibc_arm64_sd_defconfig create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvi_board_init.c create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek.h create mode 100644 build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/config.json b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/config.json new file mode 100644 index 000000000..ccb587d77 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/config.json @@ -0,0 +1,8 @@ +{ + "ddr_cfg_list": [ + "ddr3_1866_x16", + "ddr3_2133_x16", + "ddr_auto_x16" + ], + "board_information": "CA53 + DDR 256MB" +} diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/dts_arm64/sg2002_milkv_duo256m_glibc_arm64_sd.dts b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/dts_arm64/sg2002_milkv_duo256m_glibc_arm64_sd.dts new file mode 100644 index 000000000..412c54ec9 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/dts_arm64/sg2002_milkv_duo256m_glibc_arm64_sd.dts @@ -0,0 +1,14 @@ +/dts-v1/; +#include "cv181x_base_arm.dtsi" +#include "cv181x_asic_qfn.dtsi" +#include "cv181x_asic_sd.dtsi" +#include "cv181x_default_memmap.dtsi" + +/ { + model = "Milk-V Duo256M"; + + sd:cv-sd@4310000 { + max-frequency = <10000000>; + }; +}; + diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/linux/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/linux/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig new file mode 100644 index 000000000..7a0fce9ec --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/linux/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig @@ -0,0 +1,285 @@ +CONFIG_KERNEL_XZ=y +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_FRAME_WARN=2048 +CONFIG_PREEMPT=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_BLK_DEV_INITRD=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_UID16 is not set +# 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_ARM_LPAE=y +CONFIG_SWP_EMULATE=y +# CONFIG_VDSO is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_ARM_PSCI=y +CONFIG_THUMB2_KERNEL=y +CONFIG_FORCE_MAX_ZONEORDER=10 +# CONFIG_ATAGS is not set +CONFIG_VFP=y +CONFIG_NEON=y +# CONFIG_SUSPEND is not set +CONFIG_ARCH_CVITEK=y +CONFIG_ARCH_CV181X=y +CONFIG_ARCH_CVITEK_CHIP="cv181x" +CONFIG_ARCH_CV181X_ASIC=y +CONFIG_POWER_RESET=y +# CONFIG_STACKPROTECTOR is not set +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_LBDAF is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ 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_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_CFG80211=m +CONFIG_RFKILL=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_DMA_CMA=n +CONFIG_CMA_SIZE_MBYTES=0 +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_BLOCK=y +CONFIG_MTD_NAND=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_PLATFORM=y +CONFIG_MTD_NAND_CVSNFC=y +CONFIG_MTD_SPI_NOR=y +CONFIG_SPI_CVI_SPIF=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_CIRRUS is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_HISILICON 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_MELLANOX 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_SMSC 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=m +# 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_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_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_SMBUS=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_SPI=y +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_CVITEK_PINCTRL_CV1835=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_DWAPB=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_CVITEK=m +CONFIG_VIDEO_CVITEK_CIF=m +CONFIG_VIDEO_CVITEK_SNS_I2C=m +CONFIG_VIDEO_CVITEK_MIPI_TX=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=n +# CONFIG_SND_ARM 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_CV182X_CV182XPDM is not set +# CONFIG_SND_SOC_CV1835PDM is not set +# CONFIG_SND_SOC_CV1835_CONCURRENT_I2S is not set +CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y +CONFIG_CV1835_I2S_SUBSYS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_CVI=y +CONFIG_DMADEVICES=n +CONFIG_DW_DMAC_CVITEK=n +# 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=n +CONFIG_PWM=y +CONFIG_ANDROID=y +# CONFIG_TEE=y +# CONFIG_OPTEE=y +# CONFIG_MANDATORY_FILE_LOCKING is not set +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=m +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_UBIFS_FS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_ZLIB is not set +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_EMBEDDED=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=1 +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_ECHAINIV is not set +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_PRINTK_TIME=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_DEBUG_FS=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set + +CONFIG_RTC_CLASS=y + +CONFIG_BLK_DEV_LOOP=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=y +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_STORAGE=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_UAC1=y +CONFIG_USB_F_UVC=y +CONFIG_USB_UAS=y +CONFIG_USB_DWC2=m +CONFIG_USB_DWC2_DUAL_ROLE=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_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_USB_CONFIGFS_F_UVC=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_PHY=y +CONFIG_USB_GPIO_VBUS=y diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/memmap.py b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/memmap.py new file mode 100644 index 000000000..fcc097d01 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_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/sg2002_milkv_duo256m_glibc_arm64_sd/partition/partition_sd.xml b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/partition/partition_sd.xml new file mode 100644 index 000000000..9a2a33aa4 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/partition/partition_sd.xml @@ -0,0 +1,4 @@ + + + + diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/rootfs_script/clean_rootfs.sh b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/rootfs_script/clean_rootfs.sh new file mode 100755 index 000000000..8531fb1bf --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/rootfs_script/clean_rootfs.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +SYSTEM_DIR=$1 +rm -rf $SYSTEM_DIR/mnt/system/usr +rm -rf $SYSTEM_DIR/mnt/system/lib +rm -rf $SYSTEM_DIR/mnt/system/lib/libsns_gc* +rm -rf $SYSTEM_DIR/mnt/system/lib/libsns_imx* +rm -rf $SYSTEM_DIR/mnt/system/lib/libsns_sc* +rm -rf $SYSTEM_DIR/mnt/system/lib/libcipher.so + +rm -rf $SYSTEM_DIR/mnt/system/m2m-deinterlace.ko +rm -rf $SYSTEM_DIR/mnt/system/efivarfs.ko + +du -sh $SYSTEM_DIR/* |sort -rh + +rm -rf $SYSTEM_DIR/etc/init.d/S23ntp +rm -rf $SYSTEM_DIR/bin/ntpd diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/sg2002_milkv_duo256m_glibc_arm64_sd_defconfig b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/sg2002_milkv_duo256m_glibc_arm64_sd_defconfig new file mode 100644 index 000000000..4a9244144 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/sg2002_milkv_duo256m_glibc_arm64_sd_defconfig @@ -0,0 +1,35 @@ +CONFIG_CHIP_sg2002=y +CONFIG_BOARD_milkv_duo256m_glibc_arm64_sd=y +CONFIG_DDR_CFG_ddr3_1866_x16=y +CONFIG_ARCH="arm64" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CROSS_COMPILE_KERNEL="aarch64-linux-gnu-" +CONFIG_KERNEL_ENTRY_HACK=y +CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80108000" +CONFIG_TOOLCHAIN_GLIBC_ARM64=y +CONFIG_FLASH_SIZE_SHRINK=y +CONFIG_BOOT_IMAGE_SINGLE_DTB=y +CONFIG_STORAGE_TYPE_sd=y +CONFIG_SENSOR_GCORE_GC2053=y +CONFIG_SENSOR_GCORE_GC2053_1L=y +CONFIG_SENSOR_GCORE_GC2093=y +CONFIG_SENSOR_GCORE_GC4653=y +CONFIG_SENSOR_PIXELPLUS_PR2020=y +CONFIG_SENSOR_SONY_IMX307=y +CONFIG_SENSOR_SONY_IMX327=y +CONFIG_UBOOT_2021_10=y +CONFIG_KERNEL_SRC_5.10=y +CONFIG_KERNEL_SRC="linux_5.10" +CONFIG_KERNEL_LZMA=y +CONFIG_SKIP_RAMDISK=y +CONFIG_SENSOR_TUNING_PARAM_cv181x_src_gcore_gc4653=y +CONFIG_ROOTFS_OVERLAYFS=y +CONFIG_BUILDROOT_FS=y +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=y +CONFIG_ENABLE_RTOS_DUMP_PRINT=y +CONFIG_DUMP_PRINT_SZ_IDX=17 +CONFIG_TARGET_PACKAGE_NTP=y diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvi_board_init.c b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvi_board_init.c new file mode 100644 index 000000000..3d95e69f4 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvi_board_init.c @@ -0,0 +1,70 @@ + +static void set_rtc_register_for_power(void) +{ + mmio_write_32(0x050250AC, 0x2); + mmio_write_32(0x050260D0, 0x3); + mmio_write_32(0x03001098, 0x0); + mmio_write_32(0x0300109C, 0x0); + mmio_write_32(0x03001090, 0x0); + mmio_write_32(0x03001094, 0x0); + mmio_write_32(0x05027084, 0x0); + mmio_write_32(0x05027088, 0x0); + mmio_write_32(0x0502708C, 0x0); + mmio_write_32(0x05027090, 0x0); + mmio_write_32(0x050260BC, 0x1700); + mmio_write_32(0x05026128, 0x0); +} + +int cvi_board_init(void) +{ + PINMUX_CONFIG(CAM_MCLK0, CAM_MCLK0); + + PINMUX_CONFIG(IIC3_SCL, IIC3_SCL); + PINMUX_CONFIG(IIC3_SDA, IIC3_SDA); + + + //##########I2C0 ######### demo board i2c0 need using gpio to simulate i2c + /*touch panel*/ + PINMUX_CONFIG(IIC0_SCL, XGPIOA_28); + PINMUX_CONFIG(IIC0_SDA, XGPIOA_29); + PINMUX_CONFIG(VIVO_D9, XGPIOB_12); + PINMUX_CONFIG(VIVO_D8, XGPIOB_13); + //#########SENSOR_PWR_EN + PINMUX_CONFIG(CAM_PD0, XGPIOA_1); + //#########WIFI + pinmux_config(PINMUX_SDIO1); + PINMUX_CONFIG(VIVO_D10, XGPIOB_11); + //########AHD + PINMUX_CONFIG(ADC3, IIC4_SCL); + PINMUX_CONFIG(ADC2, IIC4_SDA); + + PINMUX_CONFIG(USB_VBUS_EN, XGPIOB_5); + PINMUX_CONFIG(PAD_MIPIRX5N, XGPIOC_0); + + //#######tp + PINMUX_CONFIG(VIVO_D9, XGPIOB_12); + PINMUX_CONFIG(VIVO_D8, XGPIOB_13); + //########panel + PINMUX_CONFIG(JTAG_CPU_TRST, XGPIOA_20); + pinmux_config(PINMUX_DSI); + PINMUX_CONFIG(AUX0, XGPIOA_30); + PINMUX_CONFIG(PWR_GPIO0, PWR_GPIO_0); + + //######## mipi-dsi + PINMUX_CONFIG(PAD_MIPI_TXM0, XGPIOC_12); + PINMUX_CONFIG(PAD_MIPI_TXP0, XGPIOC_13); + PINMUX_CONFIG(PAD_MIPI_TXM1, XGPIOC_14); + PINMUX_CONFIG(PAD_MIPI_TXP1, XGPIOC_15); + PINMUX_CONFIG(PAD_MIPI_TXM2, XGPIOC_16); + PINMUX_CONFIG(PAD_MIPI_TXP2, XGPIOC_17); + PINMUX_CONFIG(PAD_MIPI_TXM3, XGPIOC_20); + PINMUX_CONFIG(PAD_MIPI_TXP3, XGPIOC_21); + PINMUX_CONFIG(PAD_MIPI_TXM4, XGPIOC_18); + PINMUX_CONFIG(PAD_MIPI_TXP4, XGPIOC_19); + + //######## usb + PINMUX_CONFIG(USB_VBUS_DET, XGPIOB_6); + set_rtc_register_for_power(); + + return 0; +} diff --git a/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek.h b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek.h new file mode 100644 index 000000000..d515dc254 --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/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/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig new file mode 100644 index 000000000..958013f2a --- /dev/null +++ b/build/boards/cv181x/sg2002_milkv_duo256m_glibc_arm64_sd/u-boot/cvitek_sg2002_milkv_duo256m_glibc_arm64_sd_defconfig @@ -0,0 +1,49 @@ +CONFIG_ARM=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEFAULT_DEVICE_TREE="cv181x_asic" +CONFIG_IDENT_STRING=" cvitek_cv181x" +CONFIG_ARMV8_SET_SMPEN=y +CONFIG_TARGET_CVITEK_CV181X=y +#CONFIG_CVITEK_SPI_FLASH=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_FIT=y +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set +CONFIG_BOOTDELAY=1 +# CONFIG_DISPLAY_CPUINFO is not set +# CONFIG_DISPLAY_BOARDINFO is not set +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_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_OF_CONTROL=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_DM_MMC=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_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_ENV_IS_NOWHERE=y