10 Commits

Author SHA1 Message Date
1ef0139a35 it is very important to check OUTPUT_DIR
Signed-off-by: carbon <carbon@milkv.io>
2024-08-13 20:16:42 +08:00
5ebe86a2e1 duo256m and duos use their own loadsystemko.sh
Signed-off-by: carbon <carbon@milkv.io>
2024-08-13 19:54:24 +08:00
92987fe512 kernel: support usb sound card audio
Signed-off-by: carbon <carbon@milkv.io>
2024-08-12 19:22:06 +08:00
2ce96adacd add parted,i2c-tools,spi-tools,c-periphery
Signed-off-by: carbon <carbon@milkv.io>
2024-08-09 17:10:20 +08:00
b7f88865a7 enable sophgo-library for duo256m and duos
Signed-off-by: carbon <carbon@milkv.io>
2024-08-08 21:18:53 +08:00
b96fd78ebe buildroot: add sophgo-library package
Signed-off-by: carbon <carbon@milkv.io>
2024-08-08 21:17:14 +08:00
61be427409 use mke2fs instead of genext2fs for genimage
When genimage makes an SD card image, it uses genext2fs
by default to create the rootfs partition.
However, starting from commit 4618c08e2, the creation fails.
Use mke2fs instead.

Signed-off-by: carbon <carbon@milkv.io>
2024-08-08 20:11:04 +08:00
fa4a1ca8f5 add 3rd lib dir to profile
Signed-off-by: carbon <carbon@milkv.io>
2024-08-08 16:03:02 +08:00
de86827e25 duo256m and duos support wiringx
Signed-off-by: carbon <carbon@milkv.io>
2024-08-07 21:40:29 +08:00
32edff0b7c buildroot add duo-wiringx package
Signed-off-by: carbon <carbon@milkv.io>
2024-08-07 21:39:50 +08:00
28 changed files with 170 additions and 8 deletions

View File

@ -81,7 +81,11 @@ function prepare_env()
source build/${MV_BUILD_ENV} > /dev/null 2>&1
defconfig ${MV_BOARD_LINK} > /dev/null 2>&1
echo "OUTPUT_DIR: ${OUTPUT_DIR}" # @build/milkvsetup.sh
echo "OUTPUT_DIR: ${OUTPUT_DIR}" # @build/envsetup_milkv.sh
if [ -z "${OUTPUT_DIR// }" ]; then
print_err "OUTPUT_DIR is not assigned, please check!"
exit 1
fi
if [ "${STORAGE_TYPE}" == "sd" ]; then
MILKV_IMAGE_CONFIG=device/${MILKV_BOARD}/genimage.cfg

View File

@ -152,7 +152,7 @@ CONFIG_SND=y
# 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_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y

View File

@ -150,7 +150,7 @@ CONFIG_SND=y
# 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_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y

View File

@ -161,7 +161,7 @@ CONFIG_SND=y
# 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_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y

View File

@ -160,7 +160,7 @@ CONFIG_SND=y
# 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_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y

View File

@ -143,7 +143,7 @@ CONFIG_SND=y
# 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_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y

View File

@ -153,7 +153,7 @@ CONFIG_SND=y
# 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_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_CV182XA_CV182XAADC=y
CONFIG_SND_SOC_CV182XA_CV182XADAC=y

View File

@ -36,6 +36,9 @@ BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@ -47,6 +50,7 @@ BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_C_PERIPHERY=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
@ -70,6 +74,8 @@ BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUO256M=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_SOPHGO_LIBRARY=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y

View File

@ -36,6 +36,9 @@ BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@ -48,6 +51,7 @@ BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_C_PERIPHERY=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
@ -71,6 +75,8 @@ BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUO256M=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_SOPHGO_LIBRARY=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y

View File

@ -36,6 +36,9 @@ BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@ -47,6 +50,7 @@ BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_C_PERIPHERY=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
@ -76,6 +80,8 @@ BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUOS=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_SOPHGO_LIBRARY=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y

View File

@ -36,6 +36,9 @@ BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@ -47,6 +50,7 @@ BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_C_PERIPHERY=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
@ -76,6 +80,8 @@ BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUOS=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_SOPHGO_LIBRARY=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y

View File

@ -36,6 +36,9 @@ BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@ -48,6 +51,7 @@ BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_C_PERIPHERY=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
@ -77,6 +81,8 @@ BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUOS=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_SOPHGO_LIBRARY=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y

View File

@ -36,6 +36,9 @@ BR2_PACKAGE_TREE=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y
BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON3_BZIP2=y
@ -48,6 +51,7 @@ BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBOPENSSL_BIN=y
BR2_PACKAGE_LIBOPENSSL_ENGINES=y
BR2_PACKAGE_C_PERIPHERY=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_EXAMPLES=y
BR2_PACKAGE_JSON_C=y
@ -77,6 +81,8 @@ BR2_PACKAGE_CVI_PINMUX=y
BR2_PACKAGE_CVI_PINMUX_SG200X=y
BR2_PACKAGE_DUO_PINMUX=y
BR2_PACKAGE_DUO_PINMUX_DUOS=y
BR2_PACKAGE_DUO_WIRINGX=y
BR2_PACKAGE_SOPHGO_LIBRARY=y
BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_KMOD=y

View File

@ -2712,6 +2712,8 @@ endmenu
menu "Sophgo packages"
source "package/cvi-pinmux/Config.in"
source "package/duo-pinmux/Config.in"
source "package/duo-wiringx/Config.in"
source "package/sophgo-library/Config.in"
endmenu
menu "System tools"

View File

@ -0,0 +1,26 @@
From 027658db506ccc0097ad9c1d2cd4f7c9d8210edb Mon Sep 17 00:00:00 2001
From: carbon <carbon@milkv.io>
Date: Wed, 17 Apr 2024 15:09:26 +0800
Subject: [PATCH] fix time_t
---
src/wiringx.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/wiringx.c b/src/wiringx.c
index 034674a..4171a75 100644
--- a/src/wiringx.c
+++ b/src/wiringx.c
@@ -113,6 +113,9 @@ static struct spi_t spi[2] = {
} while(0)
#endif
+typedef time_t __time_t;
+typedef suseconds_t __suseconds_t;
+
/* Both the delayMicroseconds and the delayMicrosecondsHard
are taken from wiringPi */
static void delayMicrosecondsHard(unsigned int howLong) {
--
2.25.1

View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_DUO_WIRINGX
bool "wiringX"
help
wiringX for Milk-V Duo series
https://github.com/milkv-duo/duo-wiringx

View File

@ -0,0 +1,4 @@
# From https://github.com/milkv-duo/duo-wiringx
sha256 1e2ef2d87fa7b24e84e52464f77ac54b96c0854fb3ead66541b411552ca6256e duo-wiringx-1.0.2.tar.gz
# Locally calculated
sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE

View File

@ -0,0 +1,7 @@
DUO_WIRINGX_VERSION = 1.0.2
DUO_WIRINGX_SITE = $(call github,milkv-duo,duo-wiringx,$(DUO_WIRINGX_VERSION))
DUO_WIRINGX_LICENSE = MPL-2.0
DUO_WIRINGX_LICENSE_FILES = COPYING
DUO_WIRINGX_INSTALL_STAGING = YES
$(eval $(cmake-package))

View File

@ -0,0 +1,5 @@
config BR2_PACKAGE_SOPHGO_LIBRARY
bool "sophgo library"
depends on BR2_aarch64 || BR2_RISCV_64
help
Some library files provided by Sophgo.

View File

@ -0,0 +1 @@
sha256 fff9781ee598761c72dbd75f5d51f1b74b9d5546eb33ba891710ae70e1e84a07 sophgo-library-1.0.0.tar.gz

View File

@ -0,0 +1,30 @@
SOPHGO_LIBRARY_VERSION = 1.0.0
SOPHGO_LIBRARY_SITE = $(call github,milkv-duo,sophgo-library,$(SOPHGO_LIBRARY_VERSION))
SOPHGO_LIBRARY_INSTALL_STAGING = YES
ifeq ($(BR2_aarch64),y)
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
SOPHGO_LIB_DIR = glibc_arm64
else ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
SOPHGO_LIB_DIR = musl_arm64
endif
else ifeq ($(BR2_RISCV_64),y)
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
SOPHGO_LIB_DIR = glibc_riscv64
else ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
SOPHGO_LIB_DIR = musl_riscv64
endif
else
SOPHGO_LIB_DIR = $(BR2_ARCH)
endif
define SOPHGO_LIBRARY_INSTALL_STAGING_CMDS
cp -a $(@D)/$(SOPHGO_LIB_DIR)/lib/* $(STAGING_DIR)/usr/lib/
endef
define SOPHGO_LIBRARY_INSTALL_TARGET_CMDS
$(Q)mkdir -p $(TARGET_DIR)/mnt/system/lib
cp -a $(@D)/$(SOPHGO_LIB_DIR)/lib/* $(TARGET_DIR)/mnt/system/lib/
endef
$(eval $(generic-package))

View File

@ -1,5 +1,5 @@
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/system/usr/bin:/mnt/system/usr/sbin"
export LD_LIBRARY_PATH="/mnt/system/lib:/mnt/system/usr/lib"
export LD_LIBRARY_PATH="/mnt/system/lib:/mnt/system/usr/lib:/mnt/system/usr/lib/3rd"
if [ "$PS1" ]; then
if [ "`id -u`" -eq 0 ]; then

View File

@ -0,0 +1,37 @@
#!/bin/sh
${CVI_SHOPTS}
#
# Start to insert kernel modules
#
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/cvi_mipi_rx.ko
insmod /mnt/system/ko/snsr_i2c.ko
insmod /mnt/system/ko/cv181x_vi.ko
insmod /mnt/system/ko/cv181x_vpss.ko
insmod /mnt/system/ko/cv181x_dwa.ko
insmod /mnt/system/ko/cv181x_vo.ko
insmod /mnt/system/ko/cv181x_mipi_tx.ko
insmod /mnt/system/ko/cv181x_rgn.ko
#insmod /mnt/system/ko/cv181x_wdt.ko
insmod /mnt/system/ko/cv181x_clock_cooling.ko
insmod /mnt/system/ko/cv181x_tpu.ko
insmod /mnt/system/ko/cv181x_vcodec.ko
insmod /mnt/system/ko/cv181x_jpeg.ko
insmod /mnt/system/ko/cvi_vc_driver.ko MaxVencChnNum=9 MaxVdecChnNum=9
#insmod /mnt/system/ko/cv181x_rtc.ko
insmod /mnt/system/ko/cv181x_ive.ko
#insmod /mnt/system/ko/3rd/gt9xx.ko
echo 3 > /proc/sys/vm/drop_caches
dmesg -n 4
#usb hub control
#/etc/uhubon.sh host
exit $?

View File

@ -12,6 +12,7 @@ image boot.vfat {
image rootfs.ext4 {
ext4 {
label = "rootfs"
use-mke2fs = true
}
size = 768M
}

View File

@ -12,6 +12,7 @@ image boot.vfat {
image rootfs.ext4 {
ext4 {
label = "rootfs"
use-mke2fs = true
}
size = 768M
}

View File

@ -12,6 +12,7 @@ image boot.vfat {
image rootfs.ext4 {
ext4 {
label = "rootfs"
use-mke2fs = true
}
size = 768M
}

View File

@ -12,6 +12,7 @@ image boot.vfat {
image rootfs.ext4 {
ext4 {
label = "rootfs"
use-mke2fs = true
}
size = 768M
}