Compare commits
15 Commits
a7fc276166
...
Develop_Wi
| Author | SHA1 | Date | |
|---|---|---|---|
| 1503b03c01 | |||
| 29c2a9e10a | |||
| b02f79e095 | |||
| 12dbf26ada | |||
| 5721f88ac8 | |||
| 1ef0139a35 | |||
| 5ebe86a2e1 | |||
| 92987fe512 | |||
| 2ce96adacd | |||
| b7f88865a7 | |||
| b96fd78ebe | |||
| 61be427409 | |||
| fa4a1ca8f5 | |||
| de86827e25 | |||
| 32edff0b7c |
21
.gitignore
vendored
21
.gitignore
vendored
@ -1,22 +1,25 @@
|
||||
|
||||
install/
|
||||
out/
|
||||
|
||||
host-tools
|
||||
host-tools/
|
||||
tags
|
||||
.svim
|
||||
.DS_Store
|
||||
compile_commands*.json
|
||||
|
||||
*~
|
||||
*.swp
|
||||
*.swo
|
||||
*.bak
|
||||
*.rej
|
||||
.DS_Store
|
||||
*.patch
|
||||
|
||||
tags
|
||||
.tags*
|
||||
cscope.*
|
||||
ncscope.*
|
||||
.svim
|
||||
|
||||
out/
|
||||
install/
|
||||
host-tools/
|
||||
|
||||
.vscode/
|
||||
.cache/
|
||||
__pycache__
|
||||
.vscode
|
||||
|
||||
|
||||
6
build.sh
6
build.sh
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
26
buildroot-2024.02/package/duo-wiringx/0001-fix-time_t.patch
Normal file
26
buildroot-2024.02/package/duo-wiringx/0001-fix-time_t.patch
Normal 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
|
||||
|
||||
6
buildroot-2024.02/package/duo-wiringx/Config.in
Normal file
6
buildroot-2024.02/package/duo-wiringx/Config.in
Normal 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
|
||||
4
buildroot-2024.02/package/duo-wiringx/duo-wiringx.hash
Normal file
4
buildroot-2024.02/package/duo-wiringx/duo-wiringx.hash
Normal 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
|
||||
7
buildroot-2024.02/package/duo-wiringx/duo-wiringx.mk
Normal file
7
buildroot-2024.02/package/duo-wiringx/duo-wiringx.mk
Normal 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))
|
||||
5
buildroot-2024.02/package/sophgo-library/Config.in
Normal file
5
buildroot-2024.02/package/sophgo-library/Config.in
Normal 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.
|
||||
@ -0,0 +1 @@
|
||||
sha256 fff9781ee598761c72dbd75f5d51f1b74b9d5546eb33ba891710ae70e1e84a07 sophgo-library-1.0.0.tar.gz
|
||||
30
buildroot-2024.02/package/sophgo-library/sophgo-library.mk
Normal file
30
buildroot-2024.02/package/sophgo-library/sophgo-library.mk
Normal 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))
|
||||
@ -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
|
||||
|
||||
@ -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 $?
|
||||
@ -25,7 +25,7 @@ sleep 0.5
|
||||
set_gpio ${usb_select} 0
|
||||
sleep 0.5
|
||||
|
||||
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
|
||||
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
|
||||
/etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ image boot.vfat {
|
||||
image rootfs.ext4 {
|
||||
ext4 {
|
||||
label = "rootfs"
|
||||
use-mke2fs = true
|
||||
}
|
||||
size = 768M
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ image boot.vfat {
|
||||
image rootfs.ext4 {
|
||||
ext4 {
|
||||
label = "rootfs"
|
||||
use-mke2fs = true
|
||||
}
|
||||
size = 768M
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ image boot.vfat {
|
||||
image rootfs.ext4 {
|
||||
ext4 {
|
||||
label = "rootfs"
|
||||
use-mke2fs = true
|
||||
}
|
||||
size = 768M
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ image boot.vfat {
|
||||
image rootfs.ext4 {
|
||||
ext4 {
|
||||
label = "rootfs"
|
||||
use-mke2fs = true
|
||||
}
|
||||
size = 768M
|
||||
}
|
||||
|
||||
@ -66,3 +66,5 @@ obj-$(CONFIG_USBIP_CORE) += usbip/
|
||||
obj-$(CONFIG_TYPEC) += typec/
|
||||
|
||||
obj-$(CONFIG_USB_ROLE_SWITCH) += roles/
|
||||
|
||||
subdir-ccflags-y += -DDEBUG -DCONFIG_GAOYANG
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
|
||||
/* #define VERBOSE_DEBUG */
|
||||
|
||||
#include "linux/types.h"
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/slab.h>
|
||||
@ -664,6 +665,58 @@ static int bos_desc(struct usb_composite_dev *cdev)
|
||||
struct usb_ext_cap_descriptor *usb_ext;
|
||||
struct usb_dcd_config_params dcd_config_params;
|
||||
struct usb_bos_descriptor *bos = cdev->req->buf;
|
||||
#if defined (CONFIG_GAOYANG)
|
||||
#if defined (CONFIG_GAOYANG_WCID20)
|
||||
/* WCID20 device capability descriptor */
|
||||
#define USB_CAP_TYPE_WCID 5
|
||||
#define USB_CAP_WCID_SIZE 0x1C
|
||||
#define WINUSB20_WCID_VENDOR_CODE 0x00
|
||||
#define WINUSB20_WCID_DESC_SET_SIZE 162
|
||||
|
||||
struct usb_cap_wcid20_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDevCapabilityType;
|
||||
__u8 bReserved ;
|
||||
__u8 bPlatformCapabilityUUID_16[16];
|
||||
__u32 dwWindowsVersion;
|
||||
__le32 wDescriptorSetTotalLength;
|
||||
__u8 bVendorCode;
|
||||
__u8 bAltEnumCode;
|
||||
} __attribute__((packed));
|
||||
|
||||
char winusb20_wcidbos_uuid[] = {
|
||||
0xdf, 0x60, 0xdd, 0xd8, 0x89, 0x45, 0xc7, 0x4c,
|
||||
0x9c, 0xd2, 0x65, 0x9d, 0x9e, 0x64, 0x8a, 0x9f,
|
||||
};
|
||||
|
||||
uint32_t winusb20_wcidbos_version = 0x06030000;
|
||||
|
||||
struct usb_cap_wcid20_descriptor *usb_cap_wcid;
|
||||
#endif // !defined (CONFIG_GAOYANG_WCID20)
|
||||
/* WCID10 device capability descriptor */
|
||||
#define USB_OS_SIZE 0x12
|
||||
#define USB_DT_OS USB_DT_STRING
|
||||
#define WCID_VENDOR_CODE 0x00
|
||||
|
||||
struct usb_cap_wcid10_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u16 MicrosoftString[7];
|
||||
__u8 bVendorCode;
|
||||
union {
|
||||
__u8 bPad;
|
||||
__u8 bFlags;
|
||||
};
|
||||
} __attribute__((packed));
|
||||
|
||||
uint8_t os_string[] = {
|
||||
0x4D, 0x00, 0x53, 0x00, 0x46, 0x00, 0x54,
|
||||
0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00
|
||||
};
|
||||
|
||||
struct usb_cap_wcid10_descriptor *usb_os = cdev->req->buf;
|
||||
#endif // defined (CONFIG_GAOYANG)
|
||||
unsigned int besl = 0;
|
||||
|
||||
bos->bLength = USB_DT_BOS_SIZE;
|
||||
@ -671,6 +724,15 @@ static int bos_desc(struct usb_composite_dev *cdev)
|
||||
|
||||
bos->wTotalLength = cpu_to_le16(USB_DT_BOS_SIZE);
|
||||
bos->bNumDeviceCaps = 0;
|
||||
#if defined (CONFIG_GAOYANG)
|
||||
usb_os->bLength = USB_OS_SIZE;
|
||||
usb_os->bDescriptorType = USB_DT_OS;
|
||||
usb_os->bVendorCode = WCID_VENDOR_CODE;
|
||||
memcpy(usb_os->MicrosoftString, os_string, sizeof(os_string));
|
||||
|
||||
bos->wTotalLength = cpu_to_le16(USB_OS_SIZE);
|
||||
bos->bNumDeviceCaps = 0;
|
||||
#endif // defined (CONFIG_GAOYANG_WCID20)
|
||||
|
||||
/* Get Controller configuration */
|
||||
if (cdev->gadget->ops->get_config_params) {
|
||||
@ -694,7 +756,6 @@ static int bos_desc(struct usb_composite_dev *cdev)
|
||||
if (dcd_config_params.besl_deep != USB_DEFAULT_BESL_UNSPECIFIED)
|
||||
besl |= USB_BESL_DEEP_VALID |
|
||||
USB_SET_BESL_DEEP(dcd_config_params.besl_deep);
|
||||
|
||||
/*
|
||||
* A SuperSpeed device shall include the USB2.0 extension descriptor
|
||||
* and shall support LPM when operating in USB2.0 HS mode.
|
||||
@ -708,6 +769,21 @@ static int bos_desc(struct usb_composite_dev *cdev)
|
||||
usb_ext->bmAttributes = cpu_to_le32(USB_LPM_SUPPORT |
|
||||
USB_BESL_SUPPORT | besl);
|
||||
|
||||
#if defined (CONFIG_GAOYANG)
|
||||
#if defined (CONFIG_GAOYANG_WCID20)
|
||||
usb_cap_wcid = cdev->req->buf + le16_to_cpu(bos->wTotalLength);
|
||||
le16_add_cpu(&bos->wTotalLength, USB_CAP_WCID_SIZE);
|
||||
bos->bNumDeviceCaps++;
|
||||
|
||||
usb_cap_wcid->bLength = USB_CAP_WCID_SIZE;
|
||||
usb_cap_wcid->bDescriptorType = USB_DT_DEVICE_CAPABILITY;
|
||||
usb_cap_wcid->bDevCapabilityType = USB_CAP_TYPE_WCID;
|
||||
usb_cap_wcid->dwWindowsVersion = winusb20_wcidbos_version;
|
||||
usb_cap_wcid->wDescriptorSetTotalLength = cpu_to_le32(WINUSB20_WCID_DESC_SET_SIZE);
|
||||
usb_cap_wcid->bVendorCode = WINUSB20_WCID_VENDOR_CODE;
|
||||
memcpy(usb_cap_wcid->bPlatformCapabilityUUID_16, winusb20_wcidbos_uuid, sizeof(winusb20_wcidbos_uuid));
|
||||
#endif // !defined (CONFIG_GAOYANG_WCID20)
|
||||
#endif // defined (CONFIG_GAOYANG)
|
||||
/*
|
||||
* The Superspeed USB Capability descriptor shall be implemented by all
|
||||
* SuperSpeed devices.
|
||||
@ -1685,7 +1761,7 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
|
||||
if (gadget->lpm_capable)
|
||||
cdev->desc.bcdUSB = cpu_to_le16(0x0201);
|
||||
else
|
||||
cdev->desc.bcdUSB = cpu_to_le16(0x0200);
|
||||
cdev->desc.bcdUSB = cpu_to_le16(0x0201);
|
||||
}
|
||||
|
||||
value = min(w_length, (u16) sizeof cdev->desc);
|
||||
@ -1716,11 +1792,16 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
|
||||
value = min(w_length, (u16) value);
|
||||
break;
|
||||
case USB_DT_BOS:
|
||||
#if !defined (CONFIG_GAOYANG)
|
||||
if (gadget_is_superspeed(gadget) ||
|
||||
gadget->lpm_capable) {
|
||||
value = bos_desc(cdev);
|
||||
value = min(w_length, (u16) value);
|
||||
}
|
||||
#else
|
||||
value = bos_desc(cdev);
|
||||
value = min(w_length, (u16) value);
|
||||
#endif // defined (CONFIG_GAOYANG)
|
||||
break;
|
||||
case USB_DT_OTG:
|
||||
if (gadget_is_otg(gadget)) {
|
||||
|
||||
Reference in New Issue
Block a user