Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5d591e659 | ||
|
|
48b1c0c3e8 | ||
|
|
d8c2cf152d | ||
|
|
37b3b54b50 | ||
|
|
2aa0dc9607 | ||
|
|
2eec57d66f | ||
|
|
0fde37e681 | ||
|
|
df0a1768ec | ||
|
|
6976680043 | ||
|
|
54fe12b755 | ||
|
|
ee169a5caa | ||
|
|
53aa17a9b6 | ||
|
|
d021abeaa0 | ||
|
|
a34ee348b3 | ||
|
|
d1f54c3292 | ||
|
|
6ebac57538 | ||
|
|
155c1db7ff | ||
|
|
6cf426630a | ||
|
|
17972d0511 | ||
|
|
16ee54451d | ||
|
|
356d026942 | ||
|
|
988afb1801 | ||
|
|
4c2ae49097 | ||
|
|
5516f07924 | ||
|
|
6e767291b5 | ||
|
|
1d3a392fd3 | ||
|
|
154fb84449 | ||
|
|
7c7662e99b |
906
.config
Normal file
906
.config
Normal file
@ -0,0 +1,906 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# ArtInChip Luban SDK Configuration
|
||||
#
|
||||
BR2_HAVE_DOT_CONFIG=y
|
||||
BR2_JLEVEL=0
|
||||
BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_PACKAGES_DIR="$(TOPDIR)/source"
|
||||
BR2_PREBUILT_DIR="$(TOPDIR)/prebuilt"
|
||||
BR2_HOST_DIR="$(BASE_DIR)/host"
|
||||
BR2_SHARED_STATIC_LIBS=y
|
||||
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_OPENSSH="ssh"
|
||||
BR2_HG="hg"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_XZCAT="xzcat"
|
||||
BR2_LZCAT="lzip -d -c"
|
||||
BR2_TAR_OPTIONS=""
|
||||
|
||||
#
|
||||
# Target options
|
||||
#
|
||||
BR2_ARCH_IS_64=y
|
||||
BR2_ARCH_HAS_MMU_OPTIONAL=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_ISA_RVC=y
|
||||
BR2_RISCV_ISA_RVXTHEAD=y
|
||||
# BR2_riscv32_gcxthead is not set
|
||||
# BR2_riscv32_gcvxthead is not set
|
||||
BR2_riscv64_gcxthead=y
|
||||
# BR2_riscv64_gcvxthead is not set
|
||||
BR2_RISCV_64=y
|
||||
BR2_RISCV_ABI_LP64D=y
|
||||
LUBAN_CHIP_D211=y
|
||||
LUBAN_BOARD_D211_PER1_MMC=y
|
||||
# LUBAN_BOARD_D211_PER2_SPINOR is not set
|
||||
# LUBAN_BOARD_D211_PER2_SPINAND is not set
|
||||
# LUBAN_BOARD_D211_DEMO is not set
|
||||
# LUBAN_BOARD_D211_DEMO88_NAND is not set
|
||||
# LUBAN_BOARD_D211_PER1_MMC_SECURE_BOOT is not set
|
||||
# LUBAN_BOARD_D211_OTA is not set
|
||||
# LUBAN_BOARD_D211_DEMO100_NAND is not set
|
||||
# LUBAN_BOARD_D211_DEMO128_NAND is not set
|
||||
# LUBAN_BOARD_D211_OTA_EMMC is not set
|
||||
# LUBAN_BOARD_D211_DEMO88_NOR is not set
|
||||
# LUBAN_BOARD_D211_DEMO88_NOR_MUSL is not set
|
||||
# LUBAN_BOARD_D211_QC128_MMC is not set
|
||||
# LUBAN_BOARD_D211_AISHOOT88_NOR is not set
|
||||
LUBAN_BOARD_OF_D211="per1"
|
||||
LUBAN_CHIP_NAME="d211"
|
||||
LUBAN_BOARD_NAME="per1"
|
||||
|
||||
#
|
||||
# Toolchain
|
||||
#
|
||||
BR2_TOOLCHAIN=y
|
||||
BR2_USE_MMU=y
|
||||
BR2_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
|
||||
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
|
||||
BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
|
||||
BR2_TOOLCHAIN_EXTERNAL_URL=""
|
||||
BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH="bin"
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="$(ARCH)-linux"
|
||||
BR2_TOOLCHAIN_EXTERNAL_GCC_11=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_10 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_9 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_8 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_7 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_6 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_5 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_7 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_6 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_5 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_4 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GCC_OLD is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_15 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_14 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_13 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_12 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_11 is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_8 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_7 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_6 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_5 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_4 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_3 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_2 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_1 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_0 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0 is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL is not set
|
||||
BR2_TARGET_OPTIMIZATION=""
|
||||
|
||||
#
|
||||
# Advance setting
|
||||
#
|
||||
# BR2_TOOLCHAIN_EXTERNAL_WCHAR is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_LOCALE is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG=y
|
||||
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set
|
||||
# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
|
||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||
# BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY is not set
|
||||
BR2_TOOLCHAIN_EXTRA_LIBS=""
|
||||
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=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_SYNC_4=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y
|
||||
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
|
||||
BR2_HOST_GCC_AT_LEAST_4_9=y
|
||||
BR2_HOST_GCC_AT_LEAST_5=y
|
||||
BR2_HOST_GCC_AT_LEAST_6=y
|
||||
|
||||
#
|
||||
# Build options
|
||||
#
|
||||
BR2_MAKE_WITH_MULTI_THREAD=y
|
||||
# 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_S=y
|
||||
# BR2_ENABLE_DEBUG is not set
|
||||
BR2_STRIP_strip=y
|
||||
BR2_STRIP_EXCLUDE_FILES=""
|
||||
BR2_STRIP_EXCLUDE_DIRS=""
|
||||
# BR2_FORCE_BUILD_FROM_SOURCE is not set
|
||||
# BR2_GENERATE_PREBUILT_TARBALL is not set
|
||||
|
||||
#
|
||||
# System configuration
|
||||
#
|
||||
BR2_TARGET_GENERIC_HOSTNAME="aic"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to ArtInChip Luban Linux"
|
||||
BR2_TARGET_ENABLE_ROOT_LOGIN=y
|
||||
BR2_TARGET_GENERIC_ROOT_PASSWD=""
|
||||
BR2_SYSTEM_DHCP=""
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_ROOTFS_USERS_TABLES=""
|
||||
BR2_ROOTFS_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/rootfs_overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT=""
|
||||
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT=""
|
||||
|
||||
#
|
||||
# Advance setting
|
||||
#
|
||||
BR2_ROOTFS_SKELETON_DEFAULT=y
|
||||
BR2_INIT_BUSYBOX=y
|
||||
# BR2_INIT_SYSV is not set
|
||||
# BR2_INIT_NONE is not set
|
||||
BR2_TARGET_INSTALL_ETC_CONFIG=y
|
||||
BR2_ENABLE_LOCALE_PURGE=y
|
||||
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
|
||||
|
||||
#
|
||||
# NLS support needs a toolchain w/ wchar, dynamic library
|
||||
#
|
||||
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_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="package/system/device_table.txt"
|
||||
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
|
||||
# BR2_ROOTFS_MERGED_USR is not set
|
||||
BR2_TARGET_GENERIC_PASSWD_SHA256=y
|
||||
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
|
||||
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_REMOUNT_ROOTFS_RW is not set
|
||||
BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256"
|
||||
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
|
||||
#
|
||||
# Filesystem images
|
||||
#
|
||||
|
||||
#
|
||||
# RootFS images
|
||||
#
|
||||
# BR2_TARGET_ROOTFS_EXT2 is not set
|
||||
# BR2_TARGET_ROOTFS_CPIO is not set
|
||||
# BR2_TARGET_ROOTFS_INITRAMFS is not set
|
||||
# BR2_TARGET_ROOTFS_JFFS2 is not set
|
||||
# BR2_TARGET_ROOTFS_SQUASHFS is not set
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
BR2_TARGET_ROOTFS_TAR_NONE=y
|
||||
# BR2_TARGET_ROOTFS_TAR_GZIP is not set
|
||||
# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set
|
||||
# BR2_TARGET_ROOTFS_TAR_LZ4 is not set
|
||||
# BR2_TARGET_ROOTFS_TAR_LZMA is not set
|
||||
# BR2_TARGET_ROOTFS_TAR_LZO is not set
|
||||
# BR2_TARGET_ROOTFS_TAR_XZ is not set
|
||||
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
|
||||
BR2_UBI_DEVICE_SPI_NAND_2K_128K=y
|
||||
BR2_UBI_DEVICE_SPI_NAND_4K_256K=y
|
||||
BR2_UBI_PARAM_ALL_SPI_NAND=y
|
||||
# BR2_UBI_PARAM_SPI_NAND_2K_128K is not set
|
||||
# BR2_UBI_PARAM_SPI_NAND_4K_256K is not set
|
||||
# BR2_UBI_PARAM_USER_CUSTOM is not set
|
||||
# BR2_TARGET_ROOTFS_UBI is not set
|
||||
# BR2_TARGET_ROOTFS_UBIFS is not set
|
||||
# BR2_TARGET_USERFS1 is not set
|
||||
# BR2_TARGET_USERFS2 is not set
|
||||
# BR2_TARGET_USERFS3 is not set
|
||||
# BR2_GENERATE_BURNER_IMAGE is not set
|
||||
# BR2_GENERATE_IMAGE_AUTO_CALCULATE_SIZE is not set
|
||||
|
||||
#
|
||||
# Bootloader
|
||||
#
|
||||
|
||||
#
|
||||
# OpenSBI
|
||||
#
|
||||
BR2_PACKAGE_OPENSBI=y
|
||||
# BR2_PACKAGE_OPENSBI_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_OPENSBI_FW_TEXT_BASE=0x40000000
|
||||
|
||||
#
|
||||
# U-Boot
|
||||
#
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_VERSION="2021.10"
|
||||
BR2_TARGET_UBOOT_USE_DEFCONFIG=y
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG=""
|
||||
|
||||
#
|
||||
# Advance setting
|
||||
#
|
||||
BR2_TARGET_UBOOT_NEEDS_PYTHON_NONE=y
|
||||
# BR2_TARGET_UBOOT_NEEDS_PYTHON2 is not set
|
||||
# BR2_TARGET_UBOOT_NEEDS_PYTHON3 is not set
|
||||
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
|
||||
BR2_TARGET_UBOOT_NEEDS_OPENSBI=y
|
||||
|
||||
#
|
||||
# U-Boot binary format
|
||||
#
|
||||
BR2_TARGET_UBOOT_FORMAT_BIN=y
|
||||
# BR2_TARGET_UBOOT_FORMAT_DTB is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_DTB_BIN is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_NODTB_BIN is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_NAND_BIN is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_ELF is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_IMG is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_DTB_IMG is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_ITB is not set
|
||||
# BR2_TARGET_UBOOT_FORMAT_CUSTOM is not set
|
||||
# BR2_TARGET_UBOOT_SPL is not set
|
||||
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS=""
|
||||
|
||||
#
|
||||
# Linux kernel
|
||||
#
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=""
|
||||
BR2_LINUX_KERNEL_VERSION=""
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG=""
|
||||
|
||||
#
|
||||
# Advance setting
|
||||
#
|
||||
BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH=""
|
||||
BR2_LINUX_KERNEL_IMAGE=y
|
||||
# BR2_LINUX_KERNEL_IMAGEBZ2 is not set
|
||||
# BR2_LINUX_KERNEL_IMAGEGZ is not set
|
||||
# BR2_LINUX_KERNEL_IMAGELZ4 is not set
|
||||
# BR2_LINUX_KERNEL_IMAGEXZ is not set
|
||||
# BR2_LINUX_KERNEL_IMAGELZMA is not set
|
||||
# BR2_LINUX_KERNEL_IMAGELZO is not set
|
||||
# BR2_LINUX_KERNEL_VMLINUX is not set
|
||||
# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set
|
||||
|
||||
#
|
||||
# Linux Kernel Tools
|
||||
#
|
||||
|
||||
#
|
||||
# bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads
|
||||
#
|
||||
# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_SPI is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_IIO is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_PCI is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_PERF is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_TMON is not set
|
||||
# BR2_PACKAGE_LINUX_TOOLS_TESTUSB is not set
|
||||
|
||||
#
|
||||
# ArtInChip packages
|
||||
#
|
||||
BR2_PACKAGE_OPENSSL_HWENGINE=y
|
||||
# BR2_PACKAGE_OPENSSL_HWENGINE_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_AIC_AUTHORIZATION=y
|
||||
# BR2_PACKAGE_AIC_AUTHORIZATION_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_AIC_MPP=y
|
||||
# BR2_PACKAGE_AIC_MPP_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_AIC_MPP_MIDDLEWARE=y
|
||||
# BR2_PACKAGE_AIC_MPP_AAC_DECODER is not set
|
||||
# BR2_PACKAGE_AIC_MPP_WAV_DEMUXER is not set
|
||||
# BR2_PACKAGE_AIC_MPP_AVI_DEMUXER is not set
|
||||
# BR2_PACKAGE_AIC_MPP_MKV_DEMUXER is not set
|
||||
# BR2_PACKAGE_AIC_MPP_TS_DEMUXER is not set
|
||||
# BR2_PACKAGE_AIC_MPP_FLV_DEMUXER is not set
|
||||
# BR2_PACKAGE_AIC_MPP_RTSP_DEMUXER is not set
|
||||
BR2_PACKAGE_AIC_LOGO=y
|
||||
BR2_PACKAGE_LIBUSERID=y
|
||||
# BR2_PACKAGE_LIBUSERID_USE_PREBUILT is not set
|
||||
# BR2_PACKAGE_GST1_PLUGINS_AIC is not set
|
||||
# BR2_PACKAGE_AWTK_UI is not set
|
||||
# BR2_PACKAGE_LVGL_UI is not set
|
||||
BR2_PACKAGE_AICP_DEC=y
|
||||
BR2_PACKAGE_AIC_MEM=y
|
||||
BR2_PACKAGE_AIC_MEM_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_WIFIMANAGER is not set
|
||||
# BR2_PACKAGE_P2P_AUTO is not set
|
||||
# BR2_PACKAGE_HTTP_WIFICONFIG is not set
|
||||
|
||||
#
|
||||
# Sample code
|
||||
#
|
||||
BR2_PACKAGE_TEST_MTOP=y
|
||||
# BR2_PACKAGE_TEST_MTOP_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_CE=y
|
||||
# BR2_PACKAGE_TEST_CE_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_DMA_BUF=y
|
||||
# BR2_PACKAGE_TEST_DMA_BUF_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_DVP=y
|
||||
# BR2_PACKAGE_TEST_DVP_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_FB=y
|
||||
# BR2_PACKAGE_TEST_FB_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_TOUCHSCREEN=y
|
||||
# BR2_PACKAGE_TEST_TOUCHSCREEN_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_UART=y
|
||||
# BR2_PACKAGE_TEST_UART_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_WATCHDOG=y
|
||||
# BR2_PACKAGE_TEST_WATCHDOG_USE_PREBUILT is not set
|
||||
# BR2_PACKAGE_TEST_LIBMAD is not set
|
||||
BR2_PACKAGE_TEST_CLOCK=y
|
||||
# BR2_PACKAGE_TEST_CLOCK_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_KEYADC=y
|
||||
# BR2_PACKAGE_TEST_KEYADC_USE_PREBUILT is not set
|
||||
# BR2_PACKAGE_TEST_BATTERY is not set
|
||||
BR2_PACKAGE_REG_DUMP=y
|
||||
# BR2_PACKAGE_REG_DUMP_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_GPIO=y
|
||||
# BR2_PACKAGE_TEST_GPIO_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_CAN=y
|
||||
# BR2_PACKAGE_TEST_CAN_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_ETH=y
|
||||
# BR2_PACKAGE_TEST_ETH_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_AUDIO=y
|
||||
# BR2_PACKAGE_TEST_AUDIO_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_BLKDEV=y
|
||||
# BR2_PACKAGE_TEST_BLKDEV_USE_PREBUILT is not set
|
||||
# BR2_PACKAGE_TEST_TP2825 is not set
|
||||
# BR2_PACKAGE_TEST_PM_MBOX is not set
|
||||
BR2_PACKAGE_TEST_EFUSE=y
|
||||
# BR2_PACKAGE_TEST_EFUSE_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_TEST_COREDUMP=y
|
||||
# BR2_PACKAGE_TEST_COREDUMP_USE_PREBUILT is not set
|
||||
|
||||
#
|
||||
# Launchers
|
||||
#
|
||||
# BR2_PACKAGE_QTLAUNCHER is not set
|
||||
|
||||
#
|
||||
# Vendor packages
|
||||
#
|
||||
# BR2_PACKAGE_MSNLINK is not set
|
||||
# BR2_PACKAGE_ZJINNOVA is not set
|
||||
# BR2_PACKAGE_CARBIT is not set
|
||||
|
||||
#
|
||||
# Third-party packages
|
||||
#
|
||||
|
||||
#
|
||||
# ************************ System ******************************
|
||||
#
|
||||
BR2_PACKAGE_BUSYBOX=y
|
||||
BR2_PACKAGE_BUSYBOX_USE_PREBUILT=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/third-party/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_INITSCRIPTS=y
|
||||
# BR2_PACKAGE_KMOD 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
|
||||
# BR2_PACKAGE_UTIL_LINUX is not set
|
||||
# BR2_PACKAGE_GPERF is not set
|
||||
|
||||
#
|
||||
# eudev needs eudev /dev management
|
||||
#
|
||||
|
||||
#
|
||||
# eudev needs a toolchain w/ wchar, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_GMP is not set
|
||||
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
|
||||
|
||||
#
|
||||
# gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8
|
||||
#
|
||||
|
||||
#
|
||||
# binutils needs a toolchain w/ wchar
|
||||
#
|
||||
# BR2_PACKAGE_SQLITE is not set
|
||||
BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LIBATOMIC_OPS is not set
|
||||
# BR2_PACKAGE_LIBPTHREAD_STUBS is not set
|
||||
# BR2_PACKAGE_LIBDAEMON is not set
|
||||
|
||||
#
|
||||
# ************************ Multimedia **************************
|
||||
#
|
||||
BR2_PACKAGE_ALSA_LIB=y
|
||||
BR2_PACKAGE_ALSA_LIB_USE_PREBUILT=y
|
||||
BR2_PACKAGE_ALSA_LIB_DEVDIR="/dev/snd"
|
||||
BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS="all"
|
||||
BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS="all"
|
||||
BR2_PACKAGE_ALSA_LIB_ALOAD=y
|
||||
BR2_PACKAGE_ALSA_LIB_MIXER=y
|
||||
BR2_PACKAGE_ALSA_LIB_PCM=y
|
||||
BR2_PACKAGE_ALSA_LIB_RAWMIDI=y
|
||||
BR2_PACKAGE_ALSA_LIB_HWDEP=y
|
||||
BR2_PACKAGE_ALSA_LIB_SEQ=y
|
||||
BR2_PACKAGE_ALSA_LIB_UCM=y
|
||||
BR2_PACKAGE_ALSA_LIB_ALISP=y
|
||||
BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS=y
|
||||
# BR2_PACKAGE_ALSA_UTILS is not set
|
||||
BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y
|
||||
|
||||
#
|
||||
# pulseaudio needs a toolchain w/ wchar, threads, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_LIBSAMPLERATE is not set
|
||||
|
||||
#
|
||||
# directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_FREETYPE is not set
|
||||
# BR2_PACKAGE_FONTCONFIG is not set
|
||||
# BR2_PACKAGE_JPEG is not set
|
||||
# BR2_PACKAGE_LIBPNG is not set
|
||||
# BR2_PACKAGE_LIBSNDFILE is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y
|
||||
|
||||
#
|
||||
# Qt5 needs host g++ >= 5.0, and a toolchain w/ gcc >= 5.0, wchar, NPTL, C++, dynamic library
|
||||
#
|
||||
|
||||
#
|
||||
# gstreamer 1.x needs a toolchain w/ wchar, threads
|
||||
#
|
||||
# BR2_PACKAGE_FBDUMP is not set
|
||||
# BR2_PACKAGE_LIBDRM is not set
|
||||
# BR2_PACKAGE_LIBMAD is not set
|
||||
# BR2_PACKAGE_SBC is not set
|
||||
# BR2_PACKAGE_FFMPEG is not set
|
||||
# BR2_PACKAGE_CAIRO is not set
|
||||
# BR2_PACKAGE_PIXMAN is not set
|
||||
# BR2_PACKAGE_FAAD2 is not set
|
||||
# BR2_PACKAGE_LAME is not set
|
||||
# BR2_PACKAGE_MPG123 is not set
|
||||
# BR2_PACKAGE_LIBPJSIP is not set
|
||||
# BR2_PACKAGE_V4L_UTILS is not set
|
||||
|
||||
#
|
||||
# ************************ Network *****************************
|
||||
#
|
||||
# BR2_PACKAGE_LIBMODBUS is not set
|
||||
# BR2_PACKAGE_CAN_UTILS is not set
|
||||
# BR2_PACKAGE_ETHTOOL is not set
|
||||
# BR2_PACKAGE_IPROUTE2 is not set
|
||||
# BR2_PACKAGE_IPERF3 is not set
|
||||
# BR2_PACKAGE_LIBMNL is not set
|
||||
# BR2_PACKAGE_LIBNL is not set
|
||||
# BR2_PACKAGE_LIBTIRPC is not set
|
||||
# BR2_PACKAGE_NETPERF is not set
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT is not set
|
||||
# BR2_PACKAGE_WIRELESS_TOOLS is not set
|
||||
# BR2_PACKAGE_PPPD is not set
|
||||
# BR2_PACKAGE_LIBPCAP is not set
|
||||
# BR2_PACKAGE_HOSTAPD is not set
|
||||
# BR2_PACKAGE_AIC8800_FW is not set
|
||||
# BR2_PACKAGE_ASR5505S_FW is not set
|
||||
# BR2_PACKAGE_TCPDUMP is not set
|
||||
# BR2_PACKAGE_AVAHI is not set
|
||||
|
||||
#
|
||||
# ************************ Security ****************************
|
||||
#
|
||||
|
||||
#
|
||||
# libselinux needs a toolchain w/ threads, dynamic library, gcc >= 5
|
||||
#
|
||||
|
||||
#
|
||||
# libsepol needs a toolchain w/ threads, gcc >= 5
|
||||
#
|
||||
# BR2_PACKAGE_LIBSRTP is not set
|
||||
BR2_PACKAGE_LIBKCAPI=y
|
||||
BR2_PACKAGE_LIBKCAPI_USE_PREBUILT=y
|
||||
BR2_PACKAGE_LIBKCAPI_ASYM=y
|
||||
# BR2_PACKAGE_LIBKCAPI_DGSTAPP is not set
|
||||
# BR2_PACKAGE_LIBKCAPI_ENCAPP is not set
|
||||
# BR2_PACKAGE_LIBKCAPI_HASHER is not set
|
||||
# BR2_PACKAGE_LIBKCAPI_KPP is not set
|
||||
# BR2_PACKAGE_LIBKCAPI_RNGAPP is not set
|
||||
# BR2_PACKAGE_LIBKCAPI_SPEED is not set
|
||||
# BR2_PACKAGE_LIBKCAPI_TEST is not set
|
||||
# BR2_PACKAGE_OPENSSL is not set
|
||||
BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl"
|
||||
# BR2_PACKAGE_CRYPTSETUP is not set
|
||||
|
||||
#
|
||||
# linux-pam needs a toolchain w/ wchar, locale, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_FSCRYPT is not set
|
||||
|
||||
#
|
||||
# ************************ Memory ******************************
|
||||
#
|
||||
# BR2_PACKAGE_E2FSPROGS is not set
|
||||
# BR2_PACKAGE_IOZONE is not set
|
||||
# BR2_PACKAGE_MEMTESTER is not set
|
||||
# BR2_PACKAGE_MTD is not set
|
||||
# BR2_PACKAGE_SQUASHFS is not set
|
||||
|
||||
#
|
||||
# ************************ Connectivity ************************
|
||||
#
|
||||
BR2_PACKAGE_TSLIB=y
|
||||
BR2_PACKAGE_TSLIB_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_LIBGPIOD is not set
|
||||
|
||||
#
|
||||
# ************* Debugging, profiling and benchmark *************
|
||||
#
|
||||
# BR2_PACKAGE_TRACE_CMD is not set
|
||||
|
||||
#
|
||||
# ************************ Other Tools *************************
|
||||
#
|
||||
# BR2_PACKAGE_ACL is not set
|
||||
|
||||
#
|
||||
# bluez-alsa needs a toolchain w/ wchar, NPTL, headers >= 3.4, dynamic library, gcc >= 4.9
|
||||
#
|
||||
# BR2_PACKAGE_BLUEZ5_UTILS_HEADERS is not set
|
||||
|
||||
#
|
||||
# bluez5-utils needs a toolchain w/ wchar, threads, headers >= 3.4, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_NCURSES is not set
|
||||
# BR2_PACKAGE_PKGCONF is not set
|
||||
# BR2_PACKAGE_ATTR is not set
|
||||
# BR2_PACKAGE_DBUS is not set
|
||||
# BR2_PACKAGE_EXPAT is not set
|
||||
# BR2_PACKAGE_FLEX is not set
|
||||
# BR2_PACKAGE_GETTEXT is not set
|
||||
BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
|
||||
# BR2_PACKAGE_JSON_C is not set
|
||||
# BR2_PACKAGE_LIBAIO is not set
|
||||
# BR2_PACKAGE_LIBARGON2 is not set
|
||||
# BR2_PACKAGE_LIBFFI is not set
|
||||
|
||||
#
|
||||
# libglib2 needs a toolchain w/ wchar, threads
|
||||
#
|
||||
# BR2_PACKAGE_LIBTOOL is not set
|
||||
# BR2_PACKAGE_LVM2 is not set
|
||||
# BR2_PACKAGE_ANDROID_TOOLS is not set
|
||||
# BR2_PACKAGE_BZIP2 is not set
|
||||
# BR2_PACKAGE_LRZSZ is not set
|
||||
# BR2_PACKAGE_LZ4 is not set
|
||||
# BR2_PACKAGE_LZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZOP is not set
|
||||
# BR2_PACKAGE_PCRE is not set
|
||||
# BR2_PACKAGE_PCRE2 is not set
|
||||
# BR2_PACKAGE_POPT is not set
|
||||
# BR2_PACKAGE_READLINE is not set
|
||||
# BR2_PACKAGE_XZ is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
BR2_PACKAGE_ZLIB_USE_PREBUILT=y
|
||||
BR2_PACKAGE_LIBZLIB_USE_PREBUILT=y
|
||||
BR2_PACKAGE_ZLIB_NG_USE_PREBUILT=y
|
||||
BR2_PACKAGE_LIBZLIB=y
|
||||
BR2_PACKAGE_HAS_ZLIB=y
|
||||
BR2_PACKAGE_PROVIDES_ZLIB="libzlib"
|
||||
BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib"
|
||||
# BR2_PACKAGE_ZSTD is not set
|
||||
# BR2_PACKAGE_PYTHON_SETUPTOOLS is not set
|
||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||
BR2_PACKAGE_UBOOT_TOOLS_USE_PREBUILT=y
|
||||
BR2_PACKAGE_LIBUBOOTENV=y
|
||||
BR2_PACKAGE_LIBUBOOTENV_USE_PREBUILT=y
|
||||
BR2_PACKAGE_LIBCONFIG=y
|
||||
BR2_PACKAGE_LIBCONFIG_USE_PREBUILT=y
|
||||
BR2_PACKAGE_LIBCURL=y
|
||||
BR2_PACKAGE_LIBCURL_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_LIBCURL_CURL is not set
|
||||
# BR2_PACKAGE_LIBCURL_VERBOSE is not set
|
||||
BR2_PACKAGE_LIBCURL_PROXY_SUPPORT=y
|
||||
BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT=y
|
||||
BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES=y
|
||||
BR2_PACKAGE_LIBCURL_TLS_NONE=y
|
||||
BR2_PACKAGE_SWUPDATE=y
|
||||
BR2_PACKAGE_SWUPDATE_USE_PREBUILT=y
|
||||
BR2_PACKAGE_SWUPDATE_CONFIG="package/third-party/swupdate/luban_swupdate.config"
|
||||
|
||||
#
|
||||
# swupdate usb needs systemd
|
||||
#
|
||||
BR2_PACKAGE_SWUPDATE_WEBSERVER=y
|
||||
BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE=y
|
||||
# BR2_PACKAGE_PERL is not set
|
||||
# BR2_PACKAGE_OPENSSH is not set
|
||||
# BR2_PACKAGE_CJSON is not set
|
||||
# BR2_PACKAGE_LIVE555 is not set
|
||||
# BR2_PACKAGE_RTL8733BS_BT_FW is not set
|
||||
# BR2_PACKAGE_RTL8733BU_BT_FW is not set
|
||||
|
||||
#
|
||||
# ************************ MTP Tools *************************
|
||||
#
|
||||
# BR2_PACKAGE_LIBFUSE is not set
|
||||
# BR2_PACKAGE_LIBICONV is not set
|
||||
|
||||
#
|
||||
# libusb needs a toolchain w/ threads, gcc >= 4.9
|
||||
#
|
||||
# BR2_PACKAGE_MTPFS is not set
|
||||
# BR2_PACKAGE_UMTPRD is not set
|
||||
# BR2_PACKAGE_LIBMTP is not set
|
||||
|
||||
#
|
||||
# Host utilities
|
||||
#
|
||||
|
||||
#
|
||||
# ************************ System ******************************
|
||||
#
|
||||
BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS=y
|
||||
BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS=y
|
||||
BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y
|
||||
BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y
|
||||
BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_COREUTILS is not set
|
||||
BR2_PACKAGE_HOST_FAKEROOT=y
|
||||
BR2_PACKAGE_HOST_FAKEROOT_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_KMOD=y
|
||||
BR2_PACKAGE_HOST_KMOD_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_KMOD_GZ is not set
|
||||
# BR2_PACKAGE_HOST_KMOD_ZSTD is not set
|
||||
# BR2_PACKAGE_HOST_KMOD_XZ is not set
|
||||
BR2_PACKAGE_HOST_MAKEDEVS=y
|
||||
BR2_PACKAGE_HOST_MAKEDEVS_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_MKPASSWD=y
|
||||
BR2_PACKAGE_HOST_MKPASSWD_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_UTIL_LINUX is not set
|
||||
BR2_PACKAGE_HOST_ZIC=y
|
||||
BR2_PACKAGE_HOST_ZIC_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y
|
||||
|
||||
#
|
||||
# Host GDB Options
|
||||
#
|
||||
# BR2_PACKAGE_HOST_GDB is not set
|
||||
|
||||
#
|
||||
# Binutils Options
|
||||
#
|
||||
BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y
|
||||
# BR2_BINUTILS_VERSION_2_37_X is not set
|
||||
BR2_BINUTILS_VERSION_2_38_X=y
|
||||
# BR2_BINUTILS_VERSION_2_39_X is not set
|
||||
BR2_BINUTILS_VERSION="2.38"
|
||||
BR2_BINUTILS_EXTRA_CONFIG_OPTIONS=""
|
||||
|
||||
#
|
||||
# ************************ Storage/Memory **********************
|
||||
#
|
||||
# BR2_PACKAGE_HOST_E2FSPROGS is not set
|
||||
# BR2_PACKAGE_HOST_MTD is not set
|
||||
# BR2_PACKAGE_HOST_SQUASHFS is not set
|
||||
|
||||
#
|
||||
# ************************ Security ****************************
|
||||
#
|
||||
# BR2_PACKAGE_HOST_CRYPTSETUP is not set
|
||||
|
||||
#
|
||||
# ************************ Multimedia **************************
|
||||
#
|
||||
|
||||
#
|
||||
# ************************ Compression *************************
|
||||
#
|
||||
# BR2_PACKAGE_HOST_TAR is not set
|
||||
# BR2_PACKAGE_HOST_BZIP2 is not set
|
||||
# BR2_PACKAGE_HOST_GZIP is not set
|
||||
# BR2_PACKAGE_HOST_LZ4 is not set
|
||||
# BR2_PACKAGE_HOST_LZMA is not set
|
||||
# BR2_PACKAGE_HOST_LZO is not set
|
||||
# BR2_PACKAGE_HOST_LZOP is not set
|
||||
# BR2_PACKAGE_HOST_XZ is not set
|
||||
# BR2_PACKAGE_HOST_LIBZLIB is not set
|
||||
# BR2_PACKAGE_HOST_ZSTD is not set
|
||||
|
||||
#
|
||||
# ************************ Tools *******************************
|
||||
#
|
||||
# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set
|
||||
# BR2_PACKAGE_HOST_ACL is not set
|
||||
# BR2_PACKAGE_HOST_ATTR is not set
|
||||
BR2_PACKAGE_HOST_AUTOCONF=y
|
||||
BR2_PACKAGE_HOST_AUTOCONF_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_AUTOCONF_ARCHIVE is not set
|
||||
BR2_PACKAGE_HOST_AUTOMAKE=y
|
||||
BR2_PACKAGE_HOST_AUTOMAKE_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_BISON=y
|
||||
BR2_PACKAGE_HOST_BISON_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_CMAKE is not set
|
||||
# BR2_PACKAGE_HOST_FLEX is not set
|
||||
# BR2_PACKAGE_HOST_LIBTOOL is not set
|
||||
# BR2_PACKAGE_HOST_MAKE is not set
|
||||
# BR2_PACKAGE_HOST_MESON is not set
|
||||
# BR2_PACKAGE_HOST_NINJA is not set
|
||||
# BR2_PACKAGE_HOST_PKGCONF is not set
|
||||
BR2_PACKAGE_HOST_PATCHELF=y
|
||||
BR2_PACKAGE_HOST_PATCHELF_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_PYTHON3 is not set
|
||||
BR2_PACKAGE_HOST_PYTHON3_FDT=y
|
||||
BR2_PACKAGE_HOST_PYTHON3_FDT_USE_PREBUILT=y
|
||||
BR2_PACKAGE_HOST_PYTHON3_PYCRYPTODOMEX=y
|
||||
BR2_PACKAGE_HOST_PYTHON3_PYCRYPTODOMEX_USE_PREBUILT=y
|
||||
# BR2_PACKAGE_HOST_SWIG is not set
|
||||
|
||||
#
|
||||
# Firmwares
|
||||
#
|
||||
61
clean.sh
Executable file
61
clean.sh
Executable file
@ -0,0 +1,61 @@
|
||||
make distclean
|
||||
#rm source/uboot-2021.10/include/configs/image_cfg.json
|
||||
rm -fr output/*
|
||||
rm tools/scripts/Cryptodome/Cipher/AES.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_cbc.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_ccm.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_cfb.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_ctr.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_eax.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_ecb.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_gcm.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_ocb.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_ofb.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_openpgp.pyc
|
||||
rm tools/scripts/Cryptodome/Cipher/_mode_siv.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/BLAKE2s.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/CMAC.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/HMAC.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/MD5.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/SHA1.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/SHA256.pyc
|
||||
rm tools/scripts/Cryptodome/Hash/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Math/Numbers.pyc
|
||||
rm tools/scripts/Cryptodome/Math/Primality.pyc
|
||||
rm tools/scripts/Cryptodome/Math/_IntegerBase.pyc
|
||||
rm tools/scripts/Cryptodome/Math/_IntegerGMP.pyc
|
||||
rm tools/scripts/Cryptodome/Math/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Protocol/KDF.pyc
|
||||
rm tools/scripts/Cryptodome/Protocol/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/PublicKey/RSA.pyc
|
||||
rm tools/scripts/Cryptodome/PublicKey/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Random/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Signature/PKCS1_v1_5.pyc
|
||||
rm tools/scripts/Cryptodome/Signature/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Signature/pkcs1_15.pyc
|
||||
rm tools/scripts/Cryptodome/Util/__init__.pyc
|
||||
rm tools/scripts/Cryptodome/Util/_cpu_features.pyc
|
||||
rm tools/scripts/Cryptodome/Util/_file_system.pyc
|
||||
rm tools/scripts/Cryptodome/Util/_raw_api.pyc
|
||||
rm tools/scripts/Cryptodome/Util/asn1.pyc
|
||||
rm tools/scripts/Cryptodome/Util/number.pyc
|
||||
rm tools/scripts/Cryptodome/Util/py3compat.pyc
|
||||
rm tools/scripts/Cryptodome/Util/strxor.pyc
|
||||
rm tools/scripts/Cryptodome/__init__.pyc
|
||||
rm tools/scripts/asn1crypto/__init__.pyc
|
||||
rm tools/scripts/asn1crypto/_errors.pyc
|
||||
rm tools/scripts/asn1crypto/_iri.pyc
|
||||
rm tools/scripts/asn1crypto/_ordereddict.pyc
|
||||
rm tools/scripts/asn1crypto/_teletex_codec.pyc
|
||||
rm tools/scripts/asn1crypto/_types.pyc
|
||||
rm tools/scripts/asn1crypto/core.pyc
|
||||
rm tools/scripts/asn1crypto/parser.pyc
|
||||
rm tools/scripts/asn1crypto/util.pyc
|
||||
rm tools/scripts/asn1crypto/version.pyc
|
||||
rm tools/scripts/gmssl/__init__.pyc
|
||||
rm tools/scripts/gmssl/func.pyc
|
||||
rm tools/scripts/gmssl/sm2.pyc
|
||||
rm tools/scripts/gmssl/sm3.pyc
|
||||
rm tools/scripts/gmssl/sm4.pyc
|
||||
|
||||
1
doc/net_doc.txt
Executable file
1
doc/net_doc.txt
Executable file
@ -0,0 +1 @@
|
||||
https://aicdoc.artinchip.com/topics/sdk/wifi/wifi-rtl8821cs-luban.html
|
||||
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.34.1
|
||||
# Tue Nov 21 10:34:55 2023
|
||||
# Wed Apr 15 10:32:02 2026
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
@ -936,10 +936,10 @@ CONFIG_FEATURE_NETSTAT_PRG=y
|
||||
# CONFIG_NSLOOKUP is not set
|
||||
# CONFIG_FEATURE_NSLOOKUP_BIG is not set
|
||||
# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set
|
||||
# CONFIG_NTPD is not set
|
||||
# CONFIG_FEATURE_NTPD_SERVER is not set
|
||||
# CONFIG_FEATURE_NTPD_CONF is not set
|
||||
# CONFIG_FEATURE_NTP_AUTH is not set
|
||||
CONFIG_NTPD=y
|
||||
CONFIG_FEATURE_NTPD_SERVER=y
|
||||
CONFIG_FEATURE_NTPD_CONF=y
|
||||
CONFIG_FEATURE_NTP_AUTH=y
|
||||
CONFIG_PING=y
|
||||
# CONFIG_PING6 is not set
|
||||
CONFIG_FEATURE_FANCY_PING=y
|
||||
|
||||
1
package/third-party/initscripts/init.d/rcS
vendored
1
package/third-party/initscripts/init.d/rcS
vendored
@ -25,3 +25,4 @@ for i in /etc/init.d/S??* ;do
|
||||
esac
|
||||
done
|
||||
|
||||
/data/bin/e_player &
|
||||
|
||||
11
package/third-party/swupdate/swupdate.mk
vendored
11
package/third-party/swupdate/swupdate.mk
vendored
@ -288,4 +288,15 @@ define SWUPDATE_INSTALL_INIT_SYSV
|
||||
$(TARGET_DIR)/usr/lib/swupdate
|
||||
endef
|
||||
|
||||
# When BR2_PACKAGE_SWUPDATE_USE_PREBUILT is enabled, the package infrastructure
|
||||
# installs files from the prebuilt tarball into TARGET_DIR/STAGING_DIR.
|
||||
# Ensure our local helper scripts override any prebuilt versions.
|
||||
define SWUPDATE_OVERWRITE_HELPER_SCRIPTS
|
||||
$(INSTALL) -D -m 755 $(SWUPDATE_PKGDIR)/swupdate_cmd.sh \
|
||||
$(TARGET_DIR)/usr/lib/swupdate/swupdate_cmd.sh
|
||||
$(INSTALL) -D -m 755 $(SWUPDATE_PKGDIR)/swupdate_end.sh \
|
||||
$(TARGET_DIR)/usr/lib/swupdate/swupdate_end.sh
|
||||
endef
|
||||
SWUPDATE_POST_INSTALL_TARGET_HOOKS += SWUPDATE_OVERWRITE_HELPER_SCRIPTS
|
||||
|
||||
$(eval $(kconfig-package))
|
||||
|
||||
4
package/third-party/swupdate/swupdate_cmd.sh
vendored
4
package/third-party/swupdate/swupdate_cmd.sh
vendored
@ -29,8 +29,8 @@ swupdate_cmd()
|
||||
|
||||
echo "###now do swupdate###"
|
||||
|
||||
echo "##swupdate -v$swu_param -e "$swu_boardname,$swu_entry" ##"
|
||||
swupdate -v$swu_param -e "$swu_boardname,$swu_entry"
|
||||
echo "##swupdate -v $swu_param -e "$swu_boardname,$swu_entry" ##"
|
||||
swupdate -v $swu_param -e "$swu_boardname,$swu_entry"
|
||||
|
||||
swu_reboot=$(fw_printenv -n swu_reboot 2>/dev/null)
|
||||
echo "swu_reboot: ##$swu_reboot##"
|
||||
|
||||
@ -569,10 +569,21 @@ $(BUILD_DIR)/%/.stamp_prebuilt_rsynced:
|
||||
$(Q)touch $@
|
||||
$(BUILD_DIR)/%/.stamp_prebuilt_patched:
|
||||
$(Q)touch $@
|
||||
#$(BUILD_DIR)/%/.stamp_prebuilt_extracted:
|
||||
# @$(call MESSAGE,"Extracting prebuilt binary tarball")
|
||||
# $($(PKG)_PREBUILT_EXTRACT_CMDS)
|
||||
# @tools/support/scripts/fix-prebuilt-rpath.sh $($(PKG)_NAME) $($(PKG)_BASENAME) $($(PKG)_DIR)
|
||||
# $(Q)touch $@
|
||||
$(BUILD_DIR)/%/.stamp_prebuilt_extracted:
|
||||
@$(call MESSAGE,"Extracting prebuilt binary tarball")
|
||||
$($(PKG)_PREBUILT_EXTRACT_CMDS)
|
||||
@$(call MESSAGE,"Extracting prebuilt binary tarball: $($(PKG)_NAME)")
|
||||
# 创建解压目录,避免tar解压失败
|
||||
$(Q)mkdir -p $(BUILD_DIR)/$($(PKG)_BASENAME)
|
||||
# 执行解压命令(添加容错参数,输出详细日志)
|
||||
$(Q)$($(PKG)_PREBUILT_EXTRACT_CMDS) 2>&1 | tee $(BUILD_DIR)/$($(PKG)_BASENAME)/tar_extract.log || \
|
||||
(echo "WARN: Extract failed, skip error files..." && true)
|
||||
# 修复预编译包的RPATH(运行时库路径)
|
||||
@tools/support/scripts/fix-prebuilt-rpath.sh $($(PKG)_NAME) $($(PKG)_BASENAME) $($(PKG)_DIR)
|
||||
# 生成标记文件,避免重复执行
|
||||
$(Q)touch $@
|
||||
|
||||
# Remove package sources
|
||||
|
||||
Binary file not shown.
@ -94,11 +94,14 @@ CONFIG_NET_ARTINCHIP_MAC=y
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
# CONFIG_NET_VENDOR_XILINX is not set
|
||||
CONFIG_REALTEK_PHY=y
|
||||
# CONFIG_RTL_CARDS is not set
|
||||
CONFIG_AIC_WLAN_SUPPORT=y
|
||||
CONFIG_AIC8800_WLAN_SUPPORT=m
|
||||
CONFIG_AIC8800_BTLPM_SUPPORT=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_ARTINCHIP=y
|
||||
CONFIG_TOUCHSCREEN_GT9XX=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
@ -127,11 +130,12 @@ CONFIG_FB=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_BACKLIGHT_GPIO=y
|
||||
CONFIG_LT8911EXB=y
|
||||
CONFIG_ARTINCHIP_GE=y
|
||||
CONFIG_ARTINCHIP_VE=y
|
||||
CONFIG_ARTINCHIP_FB=y
|
||||
CONFIG_AIC_DISP_LVDS=y
|
||||
CONFIG_AIC_PANEL_LVDS_GENERAL=y
|
||||
CONFIG_AIC_DISP_MIPI_DSI=y
|
||||
CONFIG_AIC_PANEL_DSI_SIMPLE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_SOC=y
|
||||
@ -197,8 +201,8 @@ CONFIG_CRYPTO_STATS=y
|
||||
CONFIG_CRYPTO_USER_API_AKCIPHER=y
|
||||
CONFIG_CRYPTO_DEV_ARTINCHIP_CE=y
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_CMA_SIZE_MBYTES=24
|
||||
CONFIG_CMA_MPP_SIZE_MBYTES=16
|
||||
CONFIG_CMA_SIZE_MBYTES=52
|
||||
CONFIG_CMA_MPP_SIZE_MBYTES=28
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
|
||||
@ -46,12 +46,17 @@ extern int aicwf_dbg_level_bsp;
|
||||
|
||||
#define AICWF_LOG "AICWFDBG("
|
||||
|
||||
#define AICWFDBG(level, args, arg...) \
|
||||
//#define AICWFDBG(level, args, arg...) \
|
||||
do { \
|
||||
if (aicwf_dbg_level_bsp & level) { \
|
||||
printk(AICWF_LOG#level")\t" args, ##arg); \
|
||||
} \
|
||||
} while (0)
|
||||
#define AICWFDBG(level, args, arg...) \
|
||||
do { \
|
||||
if (aicwf_dbg_level_bsp & level) { \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define RWNX_DBG(fmt, ...) \
|
||||
do { \
|
||||
|
||||
@ -20,12 +20,17 @@ void rwnx_data_dump(char* tag, void* data, unsigned long len);
|
||||
|
||||
#define AICWF_LOG "AICWFDBG("
|
||||
|
||||
#define AICWFDBG(level, args, arg...) \
|
||||
//#define AICWFDBG(level, args, arg...) \
|
||||
do { \
|
||||
if (aicwf_dbg_level & level) { \
|
||||
printk(AICWF_LOG#level")\t" args, ##arg); \
|
||||
} \
|
||||
} while (0)
|
||||
#define AICWFDBG(level, args, arg...) \
|
||||
do { \
|
||||
if (aicwf_dbg_level & level) { \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define RWNX_DBG(fmt, ...) \
|
||||
do { \
|
||||
|
||||
@ -24,6 +24,7 @@ source "drivers/video/fbdev/Kconfig"
|
||||
endmenu
|
||||
|
||||
source "drivers/video/backlight/Kconfig"
|
||||
source "drivers/video/lt8911exb/Kconfig"
|
||||
|
||||
config VGASTATE
|
||||
tristate
|
||||
|
||||
@ -9,6 +9,7 @@ obj-y += backlight/
|
||||
|
||||
obj-y += fbdev/
|
||||
obj-y += artinchip/
|
||||
obj-y += lt8911exb/
|
||||
|
||||
obj-$(CONFIG_VIDEOMODE_HELPERS) += display_timing.o videomode.o
|
||||
ifeq ($(CONFIG_OF),y)
|
||||
|
||||
@ -71,15 +71,15 @@ static struct aic_panel_funcs panel_funcs = {
|
||||
|
||||
/* Init the videomode parameter, dts will override the initial value. */
|
||||
static struct videomode panel_vm = {
|
||||
.pixelclock = 130000000,
|
||||
.hactive = 1200,
|
||||
.hfront_porch = 160,
|
||||
.hback_porch = 160,
|
||||
.hsync_len = 40,
|
||||
.vactive = 1920,
|
||||
.vfront_porch = 10,
|
||||
.vback_porch = 20,
|
||||
.vsync_len = 8,
|
||||
.pixelclock = 150 * 1000 * 1000,
|
||||
.hactive = 1920,
|
||||
.hfront_porch = 188,
|
||||
.hback_porch = 148,
|
||||
.hsync_len = 44,
|
||||
.vactive = 1080,
|
||||
.vfront_porch = 4,
|
||||
.vback_porch = 36,
|
||||
.vsync_len = 5,
|
||||
.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
|
||||
DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE
|
||||
};
|
||||
|
||||
10
source/linux-5.10/drivers/video/lt8911exb/Kconfig
Executable file
10
source/linux-5.10/drivers/video/lt8911exb/Kconfig
Executable file
@ -0,0 +1,10 @@
|
||||
|
||||
config LT8911EXB
|
||||
tristate "LT8911EXB Driver"
|
||||
default n
|
||||
help
|
||||
Control LT8911EXB Chip
|
||||
Select m:build as a separate module;
|
||||
Select y:Build into the kernel
|
||||
Select n:Not build
|
||||
|
||||
32
source/linux-5.10/drivers/video/lt8911exb/LT8911EXB_Main.c
Executable file
32
source/linux-5.10/drivers/video/lt8911exb/LT8911EXB_Main.c
Executable file
@ -0,0 +1,32 @@
|
||||
#include "include/include.h"
|
||||
|
||||
bool g_irq_flag = 0;
|
||||
|
||||
|
||||
int LT8911EXB_Main(void *data)
|
||||
{
|
||||
|
||||
printk("LT8911EXB Init Start:");
|
||||
|
||||
LT8911_Reset();
|
||||
msleep(100);
|
||||
LT8911_ChipID();
|
||||
LT8911_SetVideoTiming(&video);
|
||||
LT8911_Init(&video);
|
||||
LT8911_LinkTrain();
|
||||
|
||||
LT8911_LinkTrainResultCheck();
|
||||
LT8911_video_check() ;
|
||||
LT8911_pcr_mk_printk();
|
||||
LT8911_htotal_stable_printk();
|
||||
|
||||
|
||||
while(!atomic_read(&thread_should_stop))
|
||||
{
|
||||
LT8911_MainLoop(&video);
|
||||
msleep(500);
|
||||
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
283
source/linux-5.10/drivers/video/lt8911exb/LontiumDrv.c
Executable file
283
source/linux-5.10/drivers/video/lt8911exb/LontiumDrv.c
Executable file
@ -0,0 +1,283 @@
|
||||
#include "include/include.h"
|
||||
|
||||
|
||||
struct _lt8911exb *lt8911exb;
|
||||
static struct task_struct *kthread_obj;
|
||||
atomic_t thread_should_stop = ATOMIC_INIT(0);
|
||||
char *ChipName = "lt8911exb"; //Define Lontium Chip Name
|
||||
static int major = 0;
|
||||
static struct cdev chip_cdev;
|
||||
static struct class *chip_class;
|
||||
|
||||
|
||||
|
||||
static int chip_open(struct inode *inode, struct file *filp)
|
||||
{
|
||||
printk("chip open\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int chip_close (struct inode *node, struct file *file)
|
||||
{
|
||||
printk("chip close\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static ssize_t chip_read(struct file *filp, char __user *buf, size_t cnt, loff_t *offt)
|
||||
{
|
||||
Chip_Control_Args parameter;
|
||||
|
||||
if (copy_from_user(¶meter, buf, sizeof(parameter))) {
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
parameter.value = HDMI_ReadI2C_Byte(parameter.address);
|
||||
|
||||
if (copy_to_user(buf, ¶meter, sizeof(parameter))) {
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
return sizeof(parameter);
|
||||
|
||||
}
|
||||
|
||||
static ssize_t chip_write(struct file *filp, const char __user *buf, size_t cnt, loff_t *offt)
|
||||
{
|
||||
Chip_Control_Args parameter;
|
||||
|
||||
if (copy_from_user(¶meter, buf, sizeof(parameter))) {
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
HDMI_WriteI2C_Byte(parameter.address, parameter.value);
|
||||
|
||||
return sizeof(parameter);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static struct file_operations chip_drv = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = chip_open,
|
||||
.release = chip_close,
|
||||
.read = chip_read,
|
||||
.write = chip_write,
|
||||
};
|
||||
|
||||
|
||||
|
||||
static int chip_dev_init(void)
|
||||
{
|
||||
int ret;
|
||||
dev_t devid;
|
||||
|
||||
ret = alloc_chrdev_region(&devid, 0, 1, ChipName);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
major = MAJOR(devid);
|
||||
cdev_init(&chip_cdev, &chip_drv);
|
||||
cdev_add(&chip_cdev, devid, 1);
|
||||
chip_class = class_create(THIS_MODULE, "chip_class");
|
||||
if (IS_ERR(chip_class)) {
|
||||
unregister_chrdev(major, ChipName);
|
||||
return -1;
|
||||
}
|
||||
|
||||
device_create(chip_class, NULL, MKDEV(major, 0), NULL, ChipName); /* /dev/ChipName */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void chip_dev_exit(void)
|
||||
{
|
||||
device_destroy(chip_class, MKDEV(major, 0));
|
||||
class_destroy(chip_class);
|
||||
cdev_del(&chip_cdev);
|
||||
unregister_chrdev_region(MKDEV(major,0), 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static const struct regmap_range chip_ranges[] = {
|
||||
{ .range_min = 0, .range_max = 0xffff },
|
||||
};
|
||||
|
||||
static const struct regmap_access_table chip_table = {
|
||||
.yes_ranges = chip_ranges,
|
||||
.n_yes_ranges = ARRAY_SIZE(chip_ranges),
|
||||
};
|
||||
|
||||
static const struct regmap_config chip_regmap_config = {
|
||||
.reg_bits = 8,
|
||||
.val_bits = 8,
|
||||
.volatile_table = &chip_table,
|
||||
.cache_type = REGCACHE_NONE,
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* devm_gpiod_get_optional - If this fails, NULL is returned and no error pointer.
|
||||
*
|
||||
* devm_gpiod_get - If this fails, an error pointer is returned, usually ERR_PTR(-ENOENT).
|
||||
*
|
||||
* The devm_gpiod_get function is recommended for practical use.
|
||||
*/
|
||||
static int chip_parse_dts(struct device *dev)
|
||||
{
|
||||
|
||||
//Gets the handle to power gpio in dts
|
||||
|
||||
lt8911exb->power_gpio=devm_gpiod_get_optional(dev, "power", GPIOD_OUT_LOW);
|
||||
if (IS_ERR(lt8911exb->power_gpio)) {
|
||||
dev_err(dev, "Failed to get power GPIO\n");
|
||||
return PTR_ERR(lt8911exb->power_gpio);
|
||||
}
|
||||
|
||||
|
||||
//Gets the handle to reset gpio in dts
|
||||
|
||||
lt8911exb->reset_gpio=devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
|
||||
if (IS_ERR(lt8911exb->reset_gpio)) {
|
||||
dev_err(dev, "Failed to get reset GPIO\n");
|
||||
return PTR_ERR(lt8911exb->reset_gpio);
|
||||
}
|
||||
|
||||
|
||||
// Additional GPIO pins can be added here if needed
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int chip_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||
{
|
||||
int ret;
|
||||
|
||||
chip_dev_init();
|
||||
|
||||
lt8911exb = devm_kzalloc(&client->dev, sizeof(*lt8911exb), GFP_KERNEL);
|
||||
if (lt8911exb == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
lt8911exb->trans_i2c = client;
|
||||
|
||||
lt8911exb->dev = &client->dev;
|
||||
|
||||
lt8911exb->chip_regmap = devm_regmap_init_i2c(client, &chip_regmap_config);
|
||||
if (IS_ERR(lt8911exb->chip_regmap)) {
|
||||
dev_err(&client->dev, "Failed to initialize regmap\n");
|
||||
return PTR_ERR(lt8911exb->chip_regmap);
|
||||
}
|
||||
|
||||
ret = chip_parse_dts(lt8911exb->dev);
|
||||
if (ret<0){
|
||||
dev_err(&client->dev, "Failed to parse device tree\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
i2c_set_clientdata(client, lt8911exb);
|
||||
|
||||
kthread_obj = kthread_run(LT8911EXB_Main, NULL, "LT8911EXB_kthread");
|
||||
if (IS_ERR(kthread_obj)) {
|
||||
kthread_obj = NULL;
|
||||
chip_dev_exit();
|
||||
dev_err(&client->dev, "Failed to create kernel thread\n");
|
||||
return PTR_ERR(kthread_obj);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
static int chip_remove(struct i2c_client *client)
|
||||
{
|
||||
|
||||
if (kthread_obj) {
|
||||
atomic_set(&thread_should_stop, 1);
|
||||
kthread_stop(kthread_obj);
|
||||
kthread_obj = NULL;
|
||||
}
|
||||
|
||||
chip_dev_exit();
|
||||
|
||||
printk("driver removed\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int chip_suspend(struct device *dev)
|
||||
{
|
||||
|
||||
//power off
|
||||
atomic_set(&thread_should_stop, 1);
|
||||
kthread_stop(kthread_obj);
|
||||
msleep(5);
|
||||
gpiod_set_value(lt8911exb->power_gpio,0);
|
||||
printk(KERN_INFO "lt8911exb Suspend");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int chip_resume(struct device *dev)
|
||||
{
|
||||
|
||||
//power on
|
||||
gpiod_set_value(lt8911exb->power_gpio,1);
|
||||
msleep(5);
|
||||
atomic_set(&thread_should_stop, 0);
|
||||
kthread_obj = kthread_run(LT8911EXB_Main, NULL, "LT8911EXB_kthread");
|
||||
printk(KERN_INFO "lt8911exb Resume");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const struct dev_pm_ops chip_pm_ops = {
|
||||
.suspend = chip_suspend,
|
||||
.resume = chip_resume,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
static const struct i2c_device_id chip_ids[] = {
|
||||
{"lt8911exb", 0},
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, chip_ids);
|
||||
|
||||
|
||||
static const struct of_device_id chip_id_table[] = {
|
||||
{.compatible = "lontium,lt8911exb"},
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, chip_id_table);
|
||||
|
||||
|
||||
static struct i2c_driver chip_driver = {
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "lt8911exb",
|
||||
.pm = &chip_pm_ops,
|
||||
.of_match_table = chip_id_table,
|
||||
|
||||
},
|
||||
.probe = chip_probe,
|
||||
.remove = chip_remove,
|
||||
.id_table = chip_ids,
|
||||
};
|
||||
|
||||
|
||||
module_i2c_driver(chip_driver);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("LT8911EXB driver");
|
||||
MODULE_AUTHOR("Tony <syyang@lontium.com>");
|
||||
5
source/linux-5.10/drivers/video/lt8911exb/Makefile
Executable file
5
source/linux-5.10/drivers/video/lt8911exb/Makefile
Executable file
@ -0,0 +1,5 @@
|
||||
|
||||
lt8911exb-y := LontiumDrv.o LT8911EXB_Main.o OcmI2cMaster.o lt8911.o
|
||||
|
||||
obj-$(CONFIG_LT8911EXB) += lt8911exb.o
|
||||
|
||||
72
source/linux-5.10/drivers/video/lt8911exb/OcmI2cMaster.c
Executable file
72
source/linux-5.10/drivers/video/lt8911exb/OcmI2cMaster.c
Executable file
@ -0,0 +1,72 @@
|
||||
#include "include/include.h"
|
||||
|
||||
|
||||
|
||||
static unsigned char g_ucLogLevel = LOG_DEBUG;
|
||||
static char *messageTypeStr[] = {"DEBUG","INFO","WARN", "ERROR","CRIT"};
|
||||
|
||||
//void Ocm_PrintLevel_Set(unsigned char ucLvl)
|
||||
//{
|
||||
// g_ucLogLevel = ucLvl;
|
||||
//}
|
||||
|
||||
void LTLog(unsigned char ucLvl, const char *fmt, ...)
|
||||
{
|
||||
char buf[MAX_NUMBER_BYTES] = {0};
|
||||
va_list args;
|
||||
if (ucLvl > LOG_NOTRACE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//打印大于等于该级别的字符串
|
||||
if(ucLvl >= g_ucLogLevel)
|
||||
{
|
||||
va_start(args, fmt);
|
||||
vsprintf(buf, fmt, args);
|
||||
va_end(args);
|
||||
//左对齐5个字符
|
||||
printk("\n[%-5s] %s", messageTypeStr[ucLvl], buf);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int HDMI_WriteI2C_Byte(u8 addr,u8 data)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
|
||||
ret = regmap_write(lt8911exb->chip_regmap, addr, data);
|
||||
|
||||
if (ret < 0) {
|
||||
printk("regmap_write error: (0x%02x 0x%02x 0x%02x) %d",
|
||||
lt8911exb->trans_i2c->addr, addr, data, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int HDMI_ReadI2C_Byte(u8 addr)
|
||||
{
|
||||
int ret = 0;
|
||||
unsigned int val = 0;
|
||||
|
||||
ret = regmap_read(lt8911exb->chip_regmap, addr, &val);
|
||||
|
||||
if (ret < 0) {
|
||||
printk("regmap_read error: (0x%02x 0x%02x) %d",
|
||||
lt8911exb->trans_i2c->addr, addr, ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
return (u8)val;
|
||||
}
|
||||
|
||||
|
||||
EXPORT_SYMBOL(HDMI_WriteI2C_Byte);
|
||||
EXPORT_SYMBOL(HDMI_ReadI2C_Byte);
|
||||
Binary file not shown.
Binary file not shown.
11
source/linux-5.10/drivers/video/lt8911exb/include/LT8911EXB_Main.h
Executable file
11
source/linux-5.10/drivers/video/lt8911exb/include/LT8911EXB_Main.h
Executable file
@ -0,0 +1,11 @@
|
||||
#ifndef _LT8911EXB_MAIN_H_
|
||||
#define _LT8911EXB_MAIN_H_
|
||||
|
||||
|
||||
|
||||
|
||||
extern bool g_irq_flag;
|
||||
extern int LT8911EXB_Main(void *data);
|
||||
|
||||
|
||||
#endif
|
||||
27
source/linux-5.10/drivers/video/lt8911exb/include/LontiumDrv.h
Executable file
27
source/linux-5.10/drivers/video/lt8911exb/include/LontiumDrv.h
Executable file
@ -0,0 +1,27 @@
|
||||
#ifndef _LONTIUMDRV_H_
|
||||
#define _LONTIUMDRV_H_
|
||||
|
||||
|
||||
struct _lt8911exb{
|
||||
struct device *dev;
|
||||
struct mutex ocm_lock;
|
||||
struct gpio_desc *reset_gpio;
|
||||
struct gpio_desc *power_gpio;
|
||||
struct i2c_client *trans_i2c;
|
||||
struct regmap *chip_regmap;
|
||||
};
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 address; // 寄存器地址
|
||||
u8 value; // 寄存器值
|
||||
} Chip_Control_Args;
|
||||
|
||||
|
||||
extern struct _lt8911exb *lt8911exb;
|
||||
extern atomic_t thread_should_stop;
|
||||
|
||||
|
||||
#endif
|
||||
22
source/linux-5.10/drivers/video/lt8911exb/include/OcmI2cMaster.h
Executable file
22
source/linux-5.10/drivers/video/lt8911exb/include/OcmI2cMaster.h
Executable file
@ -0,0 +1,22 @@
|
||||
#ifndef _OCMI2CMASTER_H_
|
||||
#define _OCMI2CMASTER_H_
|
||||
|
||||
#define MAX_NUMBER_BYTES 128
|
||||
|
||||
typedef enum
|
||||
{
|
||||
LOG_DEBUG =0x00,
|
||||
LOG_INFO,
|
||||
LOG_WARN,
|
||||
LOG_ERROR,
|
||||
LOG_CRITICAL,
|
||||
LOG_NOTRACE,
|
||||
} LT_LogLevel;
|
||||
|
||||
void LTLog(unsigned char ucLvl, const char *fmt, ...);
|
||||
|
||||
|
||||
extern int HDMI_WriteI2C_Byte(u8 addr,u8 data);
|
||||
extern int HDMI_ReadI2C_Byte(u8 addr);
|
||||
|
||||
#endif
|
||||
39
source/linux-5.10/drivers/video/lt8911exb/include/include.h
Executable file
39
source/linux-5.10/drivers/video/lt8911exb/include/include.h
Executable file
@ -0,0 +1,39 @@
|
||||
#ifndef _INCLUDE_H_
|
||||
#define _INCLUDE_H_
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/sysfs.h>
|
||||
#include <linux/printk.h>
|
||||
|
||||
#include <linux/miscdevice.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/major.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/stat.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/kmod.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
|
||||
#include "type.h"
|
||||
#include "LontiumDrv.h"
|
||||
|
||||
#include "LT8911EXB_Main.h"
|
||||
#include "lt8911.h"
|
||||
|
||||
#include "OcmI2cMaster.h"
|
||||
|
||||
|
||||
#endif
|
||||
72
source/linux-5.10/drivers/video/lt8911exb/include/lt8911.h
Executable file
72
source/linux-5.10/drivers/video/lt8911exb/include/lt8911.h
Executable file
@ -0,0 +1,72 @@
|
||||
#ifndef _LT8911EXB_H_
|
||||
#define _LT8911EXB_H_
|
||||
|
||||
//////////////////////LT8911 Config///////////////////
|
||||
//#define _1920x1200_eDP_Panel_
|
||||
#define _1080P_eDP_Panel_
|
||||
//#define _1366x768_eDP_Panel_
|
||||
//#define _1280x800_eDP_Panel_
|
||||
//#define _1600x900_eDP_Panel_
|
||||
|
||||
#define SCRAMBLE_MODE 0x00 //0x80: edp, 0x00: dp
|
||||
|
||||
//#define sync_polarity 0x00 //0x00: no_adj; 0x20: vs_adj; 0x10: hs_adj; 0x30: H/Vs adj;
|
||||
|
||||
//#define _6bit_
|
||||
|
||||
//#define _dither_enable_
|
||||
|
||||
#define _eDP_2G7_
|
||||
//#define _eDP_1G62_
|
||||
|
||||
#define _link_train_enable_
|
||||
|
||||
//////////option for debug///////////
|
||||
//#define _read_edid_
|
||||
//#define _EDP_Pattern_
|
||||
//#define _Msa_Active_Only_
|
||||
#define _pcr_mk_printk_
|
||||
#define _htotal_stable_check_
|
||||
|
||||
//#define _gpio_sync_output_
|
||||
//#define sync_source 0x01 //gpio output lvds Rx sync
|
||||
#define sync_source 0x02 //gpio output lvds portA sync
|
||||
//#define sync_source 0x03 //gpio output lvds portB sync
|
||||
//gpio2: de, gpio3: vs, gpio4: hs.
|
||||
|
||||
struct video_timing{
|
||||
u16 hfp;
|
||||
u16 hs;
|
||||
u16 hbp;
|
||||
u16 hact;
|
||||
u16 htotal;
|
||||
u16 vfp;
|
||||
u16 vs;
|
||||
u16 vbp;
|
||||
u16 vact;
|
||||
u16 vtotal;
|
||||
u32 pclk_khz;
|
||||
};
|
||||
|
||||
struct Lane_No{
|
||||
u8 swing_high_byte;
|
||||
u8 swing_low_byte;
|
||||
u8 emph_high_byte;
|
||||
u8 emph_low_byte;
|
||||
};
|
||||
|
||||
|
||||
extern struct video_timing video;
|
||||
|
||||
extern void LT8911_Reset(void);
|
||||
extern void LT8911_ChipID(void);
|
||||
extern void LT8911_SetVideoTiming(struct video_timing *video_format);
|
||||
extern void LT8911_Init(struct video_timing *video_format);
|
||||
extern void LT8911_LinkTrain(void);
|
||||
extern void LT8911_LinkTrainResultCheck(void);
|
||||
extern void LT8911_video_check(void);
|
||||
extern void LT8911_pcr_mk_printk(void);
|
||||
extern void LT8911_htotal_stable_printk(void);
|
||||
extern void LT8911_MainLoop(struct video_timing *video_format);
|
||||
|
||||
#endif
|
||||
10
source/linux-5.10/drivers/video/lt8911exb/include/type.h
Executable file
10
source/linux-5.10/drivers/video/lt8911exb/include/type.h
Executable file
@ -0,0 +1,10 @@
|
||||
#ifndef _TYPE_H_
|
||||
#define _TYPE_H_
|
||||
|
||||
|
||||
#define HIGH 1
|
||||
#define LOW 0
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
1027
source/linux-5.10/drivers/video/lt8911exb/lt8911.c
Executable file
1027
source/linux-5.10/drivers/video/lt8911exb/lt8911.c
Executable file
File diff suppressed because it is too large
Load Diff
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IAB
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IAB
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IAD
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IAD
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IMB
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IMB
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IMD
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.IMD
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PFI
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PFI
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PO
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PO
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PR
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PR
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PRI
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PRI
Executable file
Binary file not shown.
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PS
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.PS
Executable file
Binary file not shown.
4
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.SearchResults
Executable file
4
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.SearchResults
Executable file
@ -0,0 +1,4 @@
|
||||
---- LT8911_Init Matches (3 in 3 files) ----
|
||||
Lt8911.c (d:\龙迅产品程序整理(深圳)\lt8911\lt8911\lt8911exb\democode\for linux\lt8911exb_linux_driver_v1.0.2):void LT8911_Init(struct video_timing *video_format)
|
||||
Lt8911.h (d:\龙迅产品程序整理(深圳)\lt8911\lt8911\lt8911exb\democode\for linux\lt8911exb_linux_driver_v1.0.2\include):extern void LT8911_Init(struct video_timing *video_format);
|
||||
LT8911EXB_Main.c (d:\龙迅产品程序整理(深圳)\lt8911\lt8911\lt8911exb\democode\for linux\lt8911exb_linux_driver_v1.0.2): LT8911_Init();
|
||||
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.WK3
Executable file
BIN
source/linux-5.10/drivers/video/lt8911exb/si/LT8911EXB.WK3
Executable file
Binary file not shown.
@ -99,6 +99,7 @@ CONFIG_NAND_BBT_OFFSET=0x240000
|
||||
CONFIG_SYS_SPI_NAND_U_BOOT_LOCATIONS=y
|
||||
CONFIG_SPI_NAND_WINBOND=y
|
||||
CONFIG_SPI_NAND_GIGADEVICE=y
|
||||
CONFIG_SPI_NAND_TOSHIBA=y
|
||||
CONFIG_SPI_NAND_FMSH=y
|
||||
CONFIG_SPI_NAND_FORESEE=y
|
||||
CONFIG_SPI_NAND_ZBIT=y
|
||||
@ -138,8 +139,8 @@ CONFIG_DM_VIDEO=y
|
||||
CONFIG_DISPLAY=y
|
||||
CONFIG_ARTINCHIP_GRAPHICS=y
|
||||
CONFIG_VIDEO_ARTINCHIP=y
|
||||
CONFIG_AIC_DISP_LVDS=y
|
||||
CONFIG_AIC_PANEL_LVDS_GENERAL=y
|
||||
CONFIG_AIC_DISP_MIPI_DSI=y
|
||||
CONFIG_AIC_PANEL_DSI_SIMPLE=y
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_WATCHDOG_AUTOSTART is not set
|
||||
CONFIG_WDT=y
|
||||
|
||||
@ -139,12 +139,16 @@ static struct aic_pll clk_plls[] = {
|
||||
0, AIC_PLL_INT),
|
||||
CLK_PLL(CLK_PLL_INT1, PLL_INT1_GEN_REG, PLL_INT1_CFG_REG,
|
||||
0, AIC_PLL_INT),
|
||||
// CLK_PLL(CLK_PLL_FRA0, PLL_FRA0_GEN_REG, PLL_FRA0_CFG_REG,
|
||||
// PLL_FRA0_SDM_REG, AIC_PLL_SDM),
|
||||
CLK_PLL(CLK_PLL_FRA0, PLL_FRA0_GEN_REG, PLL_FRA0_CFG_REG,
|
||||
PLL_FRA0_SDM_REG, AIC_PLL_SDM),
|
||||
PLL_FRA0_SDM_REG, AIC_PLL_FRA),
|
||||
CLK_PLL(CLK_PLL_FRA1, PLL_FRA1_GEN_REG, PLL_FRA1_CFG_REG,
|
||||
PLL_FRA1_SDM_REG, AIC_PLL_FRA),
|
||||
// CLK_PLL_VIDEO(CLK_PLL_FRA2, PLL_FRA2_GEN_REG, PLL_FRA2_CFG_REG,
|
||||
// PLL_FRA2_SDM_REG, AIC_PLL_SDM, 0, 1200000000),
|
||||
CLK_PLL_VIDEO(CLK_PLL_FRA2, PLL_FRA2_GEN_REG, PLL_FRA2_CFG_REG,
|
||||
PLL_FRA2_SDM_REG, AIC_PLL_SDM, 0, 1200000000),
|
||||
PLL_FRA2_SDM_REG, AIC_PLL_FRA, 0, 1200000000),
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -192,6 +192,26 @@ static const struct spinand_info gigadevice_spinand_table[] = {
|
||||
SPINAND_HAS_QE_BIT,
|
||||
SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
|
||||
gd5fxgq4uexxg_ecc_get_status)),
|
||||
SPINAND_INFO("GD5F2GM7UEY1G",
|
||||
SPINAND_ID(0x92),
|
||||
NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
|
||||
NAND_ECCREQ(8, 512),
|
||||
SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
|
||||
&write_cache_variants,
|
||||
&update_cache_variants),
|
||||
SPINAND_HAS_QE_BIT,
|
||||
SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
|
||||
gd5fxgq4uexxg_ecc_get_status)),
|
||||
SPINAND_INFO("GD5F2GQ5UEY1G",
|
||||
SPINAND_ID(0x52),
|
||||
NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
|
||||
NAND_ECCREQ(8, 512),
|
||||
SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
|
||||
&write_cache_variants,
|
||||
&update_cache_variants),
|
||||
SPINAND_HAS_QE_BIT,
|
||||
SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
|
||||
gd5fxgq4uexxg_ecc_get_status)),
|
||||
};
|
||||
|
||||
static int gigadevice_spinand_detect(struct spinand_device *spinand)
|
||||
|
||||
@ -281,7 +281,7 @@ static void aicfb_video_init(struct udevice *dev)
|
||||
uc_priv->fb = (void *)priv->fb_start;
|
||||
uc_priv->fb_size = dt->stride * dt->height;
|
||||
|
||||
memset(uc_priv->fb, 0xFF, uc_priv->fb_size);
|
||||
memset(uc_priv->fb, 0, uc_priv->fb_size);
|
||||
flush_dcache_range(priv->fb_start, priv->fb_start + uc_priv->fb_size);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -62,6 +62,15 @@ static struct aic_panel_funcs panel_funcs = {
|
||||
|
||||
/* Init the videomode parameter, dts will override the initial value. */
|
||||
static struct fb_videomode panel_vm = {
|
||||
.pixclock = 150 * 1000 * 1000,
|
||||
.xres = 1920,
|
||||
.right_margin = 188,
|
||||
.left_margin = 148,
|
||||
.hsync_len = 44,
|
||||
.yres = 1080,
|
||||
.lower_margin = 4,
|
||||
.upper_margin = 36,
|
||||
.vsync_len = 5,
|
||||
.flag = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
|
||||
DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE
|
||||
};
|
||||
|
||||
1
source/uboot-2021.10/include/configs/image_cfg.json
Symbolic link
1
source/uboot-2021.10/include/configs/image_cfg.json
Symbolic link
@ -0,0 +1 @@
|
||||
/opt/linuxOS_D21X/target/d211/demo128_nand/image_cfg.json
|
||||
@ -7,7 +7,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
|
||||
BR2_TARGET_GENERIC_HOSTNAME="ArtInChip-Device"
|
||||
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
|
||||
BR2_TARGET_TZ_INFO=y
|
||||
BR2_TARGET_LOCALTIME="Asia/Shanghai"
|
||||
BR2_TARGET_LOCALTIME="UTC"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="target/d211/common/post-image.sh"
|
||||
# BR2_TARGET_GENERIC_GETTY is not set
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
|
||||
@ -17,6 +17,15 @@ BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
BR2_TARGET_ROOTFS_UBIFS_MAX_SIZE=0x4000000
|
||||
BR2_TARGET_ROOTFS_UBIFS_OPTS="-F"
|
||||
BR2_TARGET_USERFS1=y
|
||||
BR2_TARGET_USERFS1_NAME="system"
|
||||
BR2_TARGET_USERFS1_TYPE_UBIFS=y
|
||||
BR2_TARGET_USERFS1_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/system"
|
||||
BR2_TARGET_USERFS2=y
|
||||
BR2_TARGET_USERFS2_NAME="data"
|
||||
BR2_TARGET_USERFS2_TYPE_UBIFS=y
|
||||
BR2_TARGET_USERFS2_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/data"
|
||||
BR2_GENERATE_BURNER_IMAGE=y
|
||||
BR2_GENERATE_IMAGE_AUTO_CALCULATE_SIZE=y
|
||||
BR2_PACKAGE_OPENSBI_FW_TEXT_BASE=0x47FE0000
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="d211_demo128_nand"
|
||||
@ -35,9 +44,10 @@ BR2_LINUX_KERNEL_DEFCONFIG="d211_demo128_nand"
|
||||
BR2_LINUX_KERNEL_IMAGEGZ=y
|
||||
BR2_PACKAGE_LINUX_TOOLS_SELFTESTS=y
|
||||
# BR2_PACKAGE_AIC_AUTHORIZATION is not set
|
||||
BR2_PACKAGE_LVGL_UI=y
|
||||
BR2_PACKAGE_AIC_MPP_AAC_DECODER=y
|
||||
# BR2_PACKAGE_TEST_DVP is not set
|
||||
# BR2_PACKAGE_TEST_TOUCHSCREEN is not set
|
||||
# BR2_PACKAGE_BUSYBOX_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/third-party/busybox/configs/d211_demo128_nand_defconfig"
|
||||
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
||||
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
|
||||
@ -50,12 +60,31 @@ BR2_PACKAGE_ALSA_UTILS_ACONNECT=y
|
||||
BR2_PACKAGE_FBDUMP=y
|
||||
BR2_PACKAGE_CAN_UTILS=y
|
||||
BR2_PACKAGE_ETHTOOL=y
|
||||
BR2_PACKAGE_IPERF3=y
|
||||
BR2_PACKAGE_LIBMNL=y
|
||||
BR2_PACKAGE_LIBNL_TOOLS=y
|
||||
BR2_PACKAGE_NETPERF=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
# BR2_PACKAGE_WPA_SUPPLICANT_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
# BR2_PACKAGE_WIRELESS_TOOLS_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
|
||||
BR2_PACKAGE_HOSTAPD=y
|
||||
# BR2_PACKAGE_HOSTAPD_USE_PREBUILT is not set
|
||||
BR2_PACKAGE_HOSTAPD_DRIVER_WIRED=y
|
||||
BR2_PACKAGE_HOSTAPD_EAP=y
|
||||
BR2_PACKAGE_HOSTAPD_WPS=y
|
||||
BR2_PACKAGE_HOSTAPD_WPA3=y
|
||||
BR2_PACKAGE_AIC8800_FW=y
|
||||
BR2_PACKAGE_LIBKCAPI_ENCAPP=y
|
||||
BR2_PACKAGE_LIBKCAPI_HASHER=y
|
||||
BR2_PACKAGE_LIBKCAPI_RNGAPP=y
|
||||
@ -73,6 +102,7 @@ BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL=y
|
||||
BR2_PACKAGE_BLUEZ_TOOLS=y
|
||||
BR2_PACKAGE_ANDROID_TOOLS=y
|
||||
BR2_PACKAGE_SWUPDATE=y
|
||||
BR2_PACKAGE_RTL8733BS_BT_FW=y
|
||||
# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set
|
||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||
|
||||
Binary file not shown.
@ -1481,8 +1481,8 @@
|
||||
<AIC_PINMUX('C', 2, 2)>,
|
||||
<AIC_PINMUX('C', 3, 2)>,
|
||||
<AIC_PINMUX('C', 4, 2)>,
|
||||
<AIC_PINMUX('C', 5, 2)>,
|
||||
<AIC_PINMUX('C', 6, 2)>;
|
||||
<AIC_PINMUX('C', 5, 2)>;
|
||||
//<AIC_PINMUX('C', 6, 2)>;
|
||||
bias-pull-up;
|
||||
drive-strength = <3>;
|
||||
};
|
||||
|
||||
@ -34,7 +34,7 @@ kernel_comp_size=0x1000000
|
||||
# set_commonargs=setenv bootargs earlycon=${earlycon} earlyprintk rdinit=${init} initramfs_dbg=${ramfs_dbg}
|
||||
set_commonargs_recovery=setenv bootargs earlycon=${earlycon} earlyprintk rdinit=/linuxrc
|
||||
# Case 2: Mount rootfs directly
|
||||
set_commonargs=setenv bootargs quiet earlycon=${earlycon} earlyprintk init=/linuxrc firmware_class.path=/etc/firmware
|
||||
set_commonargs=setenv bootargs earlycon=${earlycon} earlyprintk init=/linuxrc firmware_class.path=/etc/firmware
|
||||
|
||||
|
||||
#===============================================================================
|
||||
@ -63,7 +63,7 @@ set_nand_mtdargs=env delete mtdparts
|
||||
|
||||
set_nand_bootargs=run set_nand_mtdargs; \
|
||||
run set_commonargs; \
|
||||
setenv bootargs ${bootargs} mtdparts=${MTD} ubi.mtd=${ubi_rootfs_mtd} root=${nand_root} rootfstype=${nand_rootfstype}
|
||||
setenv bootargs ${bootargs} mtdparts=${MTD} ubi.mtd=${ubi_rootfs_mtd} ubi.mtd=11 root=${nand_root} rootfstype=${nand_rootfstype}
|
||||
|
||||
set_nand_bootargs_recovery=run set_nand_mtdargs; \
|
||||
run set_commonargs_recovery; \
|
||||
|
||||
@ -167,106 +167,49 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
panel_rgb {
|
||||
compatible = "artinchip,aic-general-rgb-panel";
|
||||
status = "disabled";
|
||||
|
||||
enable-gpios = <&gpio_e 19 GPIO_ACTIVE_HIGH>;
|
||||
rgb-mode = <PRGB>;
|
||||
interface-format = <PRGB_16BIT_LD>;
|
||||
clock-phase = <DEGREE_0>;
|
||||
data-order = <RGB>;
|
||||
disp-dither = <DITHER_RGB565>;
|
||||
panel_dsi {
|
||||
compatible = "artinchip,aic-dsi-panel-simple";
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
port {
|
||||
u-boot,dm-pre-reloc;
|
||||
panel_rgb_in: endpoint {
|
||||
remote-endpoint = <&rgb0_out>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
display-timings {
|
||||
native-mode = <&timing0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
timing0: 1024x600 {
|
||||
clock-frequency = <52000000>;
|
||||
hactive = <1024>;
|
||||
vactive = <600>;
|
||||
hback-porch = <160>;
|
||||
hfront-porch = <160>;
|
||||
hsync-len = <20>;
|
||||
vback-porch = <12>;
|
||||
vfront-porch = <20>;
|
||||
vsync-len = <3>;
|
||||
de-active = <1>;
|
||||
pixelclk-active = <1>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
panel_lvds {
|
||||
compatible = "artinchip,aic-general-lvds-panel";
|
||||
data-mapping = "vesa-24";
|
||||
data-channel = "single-link1";
|
||||
backlight = <&backlight>;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
enable-gpios = <&gpio_c 7 GPIO_ACTIVE_HIGH>;
|
||||
sleep-gpios = <&gpio_a 3 GPIO_ACTIVE_HIGH>;
|
||||
//reset-gpios = <&gpio_e 1 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
port {
|
||||
panel_lvds_in: endpoint {
|
||||
remote-endpoint = <&lvds0_out>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
display-timings {
|
||||
native-mode = <&timing1>;
|
||||
u-boot,dm-pre-reloc;
|
||||
timing1: 1024x600 {
|
||||
clock-frequency = <52000000>;
|
||||
hactive = <1024>;
|
||||
vactive = <600>;
|
||||
hback-porch = <160>;
|
||||
hfront-porch = <160>;
|
||||
hsync-len = <20>;
|
||||
vback-porch = <20>;
|
||||
vfront-porch = <12>;
|
||||
vsync-len = <3>;
|
||||
de-active = <1>;
|
||||
pixelclk-active = <1>;
|
||||
panel_dsi_in: endpoint {
|
||||
u-boot,dm-pre-reloc;
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
/* pwm node name; pwm device No.; period_ns; pwm_polarity */
|
||||
pwms = <&pwm 3 1000000 0>;
|
||||
pwms = <&pwm 0 1000000 0>;
|
||||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
||||
default-brightness-level = <6>;
|
||||
u-boot,dm-pre-reloc;
|
||||
status = "disabled";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
rfkill_bt {
|
||||
compatible = "rfkill-gpio";
|
||||
rfkill-name = "bluetooth";
|
||||
rfkill-type = <2>;
|
||||
reset-gpios = <&gpio_d 3 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio_c 6 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
rfkill_wlan {
|
||||
compatible = "rfkill-gpio";
|
||||
rfkill-name = "wlan";
|
||||
rfkill-type = <1>;
|
||||
reset-gpios = <&gpio_d 1 GPIO_ACTIVE_HIGH>;
|
||||
//reset-gpios = <&gpio_c 6 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
*/
|
||||
keys: gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
@ -370,8 +313,9 @@
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins_a>;
|
||||
status = "disabled";
|
||||
//pinctrl-0 = <&uart2_pins_a>;
|
||||
pinctrl-0 = <&uart2_pins_a>, <&uart2_rts_pins_a>, <&uart2_cts_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
@ -409,11 +353,16 @@
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_b>;
|
||||
status = "disabled";
|
||||
rtc@32 {
|
||||
compatible = "epson,rx8010";
|
||||
reg = <0x32>;
|
||||
status = "okay";
|
||||
|
||||
lt8911exb@29 {
|
||||
status = "okay";
|
||||
compatible = "lontium,lt8911exb";
|
||||
reg = <0x29>;
|
||||
reset-gpios = <&gpio_e 6 GPIO_ACTIVE_HIGH>;
|
||||
power-gpios = <&gpio_e 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
@ -431,10 +380,10 @@
|
||||
&i2c3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_pins_a>;
|
||||
status = "okay";
|
||||
status = "disabled";
|
||||
|
||||
gt9xx@5d {
|
||||
status = "okay";
|
||||
status = "disabled";
|
||||
compatible = "goodix,gt9xx";
|
||||
reg = <0x5d>;
|
||||
reset-gpios = <&gpio_a 8 GPIO_ACTIVE_LOW>;
|
||||
@ -501,10 +450,14 @@
|
||||
&sdmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmc1_pins>;
|
||||
max-frequency= <40000000>;
|
||||
//power-gpios = <&gpio_c 6 GPIO_ACTIVE_HIGH>;
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
no-mmc;
|
||||
no-sd;
|
||||
non-removable;
|
||||
cap-sdio-irq;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&sdmc2 {
|
||||
@ -515,7 +468,7 @@
|
||||
no-sd;
|
||||
non-removable;
|
||||
cap-sdio-irq;
|
||||
status = "okay";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* case 1: USB0 = OTG Enable */
|
||||
@ -610,9 +563,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
pwm3_pins_d: pwm3-3 {
|
||||
pwm0_pins_d: pwm0-3 {
|
||||
pins {
|
||||
pinmux = <AIC_PINMUX('E', 19, 5)>;
|
||||
pinmux = <AIC_PINMUX('E', 1, 8)>;
|
||||
bias-disable;
|
||||
drive-strength = <3>;
|
||||
};
|
||||
@ -643,12 +596,12 @@
|
||||
gpio_f: bank-5 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
lvds1_pins: lvds1-0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
pins {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
dsi_pins: dsi-0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
pins {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
uart0_pins_a: uart0-0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
pins1 {
|
||||
@ -664,6 +617,12 @@
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
pwm0_pins_d: pwm0-3 {
|
||||
u-boot,dm-pre-reloc;
|
||||
pins {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
sdmc1_pins: sdmc1-0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
pins {
|
||||
@ -683,7 +642,7 @@
|
||||
aic,use_extclk;
|
||||
|
||||
|
||||
status = "okay";
|
||||
status = "disabled";
|
||||
|
||||
gmac0_mdio: mdio {
|
||||
compatible = "aicmac-mdio";
|
||||
@ -701,8 +660,8 @@
|
||||
|
||||
&codec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spk_pins_d>, <&dmic_pins_a>;
|
||||
pa-gpios = <&gpio_a 7 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-0 = <&spk_pins_c>, <&dmic_pins_a>;
|
||||
pa-gpios = <&gpio_a 7 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -718,7 +677,7 @@
|
||||
|
||||
&fb0 {
|
||||
artinchip,uboot-logo-on=<1>;
|
||||
height-virtual = <1200>;
|
||||
height-virtual = <2160>;
|
||||
u-boot,dm-pre-reloc;
|
||||
port {
|
||||
u-boot,dm-pre-reloc;
|
||||
@ -739,6 +698,7 @@
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
de0_in: endpoint {
|
||||
remote-endpoint = <&fb0_out>;
|
||||
u-boot,dm-pre-reloc;
|
||||
@ -747,48 +707,27 @@
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
u-boot,dm-pre-reloc;
|
||||
de0_out: endpoint {
|
||||
remote-endpoint = <&lvds0_in>;
|
||||
remote-endpoint = <&dsi0_in>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rgb0 {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&lcd_rgb565_ld_pins>;
|
||||
pinctrl-1 = <&lcd_rgb565_ld_sleep_pins>;
|
||||
u-boot,dm-pre-reloc;
|
||||
status = "disabled";
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
rgb0_in: endpoint {
|
||||
remote-endpoint = <&rgb0_in>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
u-boot,dm-pre-reloc;
|
||||
rgb0_out: endpoint {
|
||||
remote-endpoint = <&panel_rgb_in>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lvds0 {
|
||||
&dsi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lvds1_pins>;
|
||||
pinctrl-0 = <&dsi_pins>;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
data-lanes = <3 2 1 0>;
|
||||
lane-polarities = <0 0 0 0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
lvds0_in: endpoint {
|
||||
u-boot,dm-pre-reloc;
|
||||
dsi0_in: endpoint {
|
||||
remote-endpoint = <&de0_out>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
@ -796,8 +735,9 @@
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
lvds0_out: endpoint {
|
||||
remote-endpoint = <&panel_lvds_in>;
|
||||
u-boot,dm-pre-reloc;
|
||||
dsi0_out: endpoint {
|
||||
remote-endpoint = <&panel_dsi_in>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
@ -877,10 +817,10 @@
|
||||
};
|
||||
|
||||
&pwm {
|
||||
status = "disabled";
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm3_pins_d>;
|
||||
pinctrl-0 = <&pwm0_pins_d>;
|
||||
/* mode: up-count, down-count, up-down-count
|
||||
action: none, low, high, inverse */
|
||||
pwm0 {
|
||||
@ -891,7 +831,7 @@
|
||||
/* CBD, CBU, CAD, CAU, PRD, ZRO */
|
||||
aic,action0 = "none", "none", "none", "low", "none", "high";
|
||||
aic,action1 = "none", "none", "none", "high", "none", "low";
|
||||
status = "disabled";
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
|
||||
BIN
target/d211/demo128_nand/data/bin/e_player
Executable file
BIN
target/d211/demo128_nand/data/bin/e_player
Executable file
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
{
|
||||
"spi-nand": { // Device, The name should be the same with string in image:info:media:type
|
||||
"size": "128m", // Size of SPI NAND
|
||||
"size": "256m", // Size of SPI NAND
|
||||
"partitions": {
|
||||
"spl": { "size": "1m" },
|
||||
"uboot": { "size": "1m" },
|
||||
@ -13,7 +13,7 @@
|
||||
"kernel": { "size": "12m" },
|
||||
"recovery": { "size": "16m" },
|
||||
"ubiroot": {
|
||||
"size": "64m",
|
||||
"size": "40m",
|
||||
"ubi": { // Volume in UBI device
|
||||
"rootfs": { "size": "-" },
|
||||
},
|
||||
@ -21,7 +21,8 @@
|
||||
"ubisystem": {
|
||||
"size": "-",
|
||||
"ubi": { // Volume in UBI device
|
||||
"user": { "size": "-" },
|
||||
"system": { "size": "8m" },
|
||||
"data": { "size": "-" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -103,10 +104,15 @@
|
||||
"attr": ["ubi", "required"],
|
||||
"part": ["ubiroot:rootfs"]
|
||||
},
|
||||
"app": {
|
||||
"file": "user*.ubifs",
|
||||
"system": {
|
||||
"file": "system*.ubifs",
|
||||
"attr": ["ubi", "optional"],
|
||||
"part": ["ubisystem:user"]
|
||||
"part": ["ubisystem:system"]
|
||||
},
|
||||
"data": {
|
||||
"file": "data*.ubifs",
|
||||
"attr": ["ubi", "optional"],
|
||||
"part": ["ubisystem:data"]
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 33 KiB |
1
target/d211/demo128_nand/ota/.keep
Normal file
1
target/d211/demo128_nand/ota/.keep
Normal file
@ -0,0 +1 @@
|
||||
placeholder
|
||||
11
target/d211/demo128_nand/rootfs_overlay/etc/fstab
Normal file
11
target/d211/demo128_nand/rootfs_overlay/etc/fstab
Normal file
@ -0,0 +1,11 @@
|
||||
# <file system> <mount pt> <type> <options> <dump> <pass>
|
||||
/dev/root / ext2 rw,noauto 0 1
|
||||
proc /proc proc defaults 0 0
|
||||
devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0
|
||||
tmpfs /dev/shm tmpfs mode=0777 0 0
|
||||
tmpfs /tmp tmpfs mode=1777 0 0
|
||||
tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
|
||||
sysfs /sys sysfs defaults 0 0
|
||||
|
||||
ubi1:system /system ubifs ro,defaults 0 0
|
||||
ubi1:data /data ubifs defaults 0 0
|
||||
55
target/d211/demo128_nand/rootfs_overlay/etc/init.d/S01ubivol
Executable file
55
target/d211/demo128_nand/rootfs_overlay/etc/init.d/S01ubivol
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Auto-create and mount UBI volumes for system and data partitions
|
||||
#
|
||||
|
||||
start() {
|
||||
echo "Initializing UBI volumes..."
|
||||
|
||||
# Check if ubi1 device exists
|
||||
if [ ! -e /dev/ubi1 ]; then
|
||||
echo "ubi1 device not found, skipping..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Create mount points
|
||||
mkdir -p /system /data
|
||||
|
||||
# Mount system (read-only)
|
||||
if ! mountpoint -q /system; then
|
||||
echo "Mounting /system..."
|
||||
mount -t ubifs -o ro ubi1:system /system 2>/dev/null || echo "Failed to mount /system"
|
||||
fi
|
||||
|
||||
# Mount data (read-write)
|
||||
if ! mountpoint -q /data; then
|
||||
echo "Mounting /data..."
|
||||
mount -t ubifs ubi1:data /data 2>/dev/null || echo "Failed to mount /data"
|
||||
fi
|
||||
|
||||
echo "UBI volumes initialized"
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo "Unmounting UBI volumes..."
|
||||
umount /data 2>/dev/null
|
||||
umount /system 2>/dev/null
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
114
target/d211/demo128_nand/rootfs_overlay/etc/init.d/S80bluetooth
Executable file
114
target/d211/demo128_nand/rootfs_overlay/etc/init.d/S80bluetooth
Executable file
@ -0,0 +1,114 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
HCI_DEV=hci0
|
||||
UART_DEV=/dev/ttyS2
|
||||
HCIATTACH_BIN=/usr/bin/hciattach
|
||||
HCIATTACH_ARGS="-s 1500000 ${UART_DEV} any 1500000 flow nosleep"
|
||||
HCI_TOOL=/usr/bin/bt-hci-tool
|
||||
BTGATT_BIN=/usr/bin/btgatt-server
|
||||
BTGATT_ARGS="-m 256 -i ${HCI_DEV} -s low -t public"
|
||||
BLUETOOTHD_BIN=/usr/libexec/bluetooth/bluetoothd
|
||||
BT_LOCAL_NAME="AIC-BT"
|
||||
HCI_WAIT_TIMEOUT=10
|
||||
|
||||
ATTACH_PIDFILE=/var/run/hciattach.pid
|
||||
BTGATT_PIDFILE=/var/run/btgatt-server.pid
|
||||
BLUETOOTHD_PIDFILE=/var/run/bluetoothd.pid
|
||||
|
||||
wait_for_hci()
|
||||
{
|
||||
"${HCI_TOOL}" wait "${HCI_DEV}" "${HCI_WAIT_TIMEOUT}"
|
||||
}
|
||||
|
||||
bring_hci_up()
|
||||
{
|
||||
"${HCI_TOOL}" up "${HCI_DEV}"
|
||||
}
|
||||
|
||||
start_bt()
|
||||
{
|
||||
echo "[BT] Init AIC8800..."
|
||||
insmod /lib/modules/5.10.44/kernel/drivers/net/wireless/aic8800/aic8800_btlpm/aic8800_btlpm.ko 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
killall hciattach 2>/dev/null
|
||||
killall bluetoothd 2>/dev/null
|
||||
killall btgatt-server 2>/dev/null
|
||||
rm -f "${ATTACH_PIDFILE}" "${BLUETOOTHD_PIDFILE}" "${BTGATT_PIDFILE}"
|
||||
|
||||
"${HCIATTACH_BIN}" ${HCIATTACH_ARGS} &
|
||||
echo $! > "${ATTACH_PIDFILE}"
|
||||
|
||||
if ! wait_for_hci; then
|
||||
echo "[BT] ERROR: ${HCI_DEV} not ready"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! bring_hci_up; then
|
||||
echo "[BT] ERROR: failed to bring ${HCI_DEV} up"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 先启动 LE 广播
|
||||
hciconfig ${HCI_DEV} leadv 0
|
||||
sleep 1
|
||||
|
||||
# <20><><EFBFBD>动 bluetoothd
|
||||
"${BLUETOOTHD_BIN}" &
|
||||
echo $! > "${BLUETOOTHD_PIDFILE}"
|
||||
echo "[BT] Waiting 10 seconds before init..."
|
||||
sleep 10
|
||||
# 启动 btgatt-server
|
||||
"${BTGATT_BIN}" ${BTGATT_ARGS} >/dev/null 2>&1 &
|
||||
echo $! > "${BTGATT_PIDFILE}"
|
||||
|
||||
echo "[BT] Bluetooth ready with GATT server"
|
||||
}
|
||||
|
||||
stop_bt()
|
||||
{
|
||||
hciconfig ${HCI_DEV} noleadv 2>/dev/null
|
||||
|
||||
if [ -f "${BTGATT_PIDFILE}" ]; then
|
||||
kill "$(cat "${BTGATT_PIDFILE}")" 2>/dev/null
|
||||
rm -f "${BTGATT_PIDFILE}"
|
||||
else
|
||||
killall btgatt-server 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ -f "${BLUETOOTHD_PIDFILE}" ]; then
|
||||
kill "$(cat "${BLUETOOTHD_PIDFILE}")" 2>/dev/null
|
||||
rm -f "${BLUETOOTHD_PIDFILE}"
|
||||
else
|
||||
killall bluetoothd 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ -f "${ATTACH_PIDFILE}" ]; then
|
||||
kill "$(cat "${ATTACH_PIDFILE}")" 2>/dev/null
|
||||
rm -f "${ATTACH_PIDFILE}"
|
||||
else
|
||||
killall hciattach 2>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start_bt >/dev/null 2>&1 &
|
||||
;;
|
||||
stop)
|
||||
stop_bt
|
||||
;;
|
||||
restart)
|
||||
stop_bt
|
||||
sleep 1
|
||||
start_bt
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
||||
42
target/d211/demo128_nand/rootfs_overlay/etc/inittab
Normal file
42
target/d211/demo128_nand/rootfs_overlay/etc/inittab
Normal file
@ -0,0 +1,42 @@
|
||||
# /etc/inittab
|
||||
#
|
||||
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
|
||||
#
|
||||
# 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>:<runlevels>:<action>:<process>
|
||||
#
|
||||
# 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
|
||||
|
||||
# e_player monitor and auto-restart
|
||||
::respawn:/usr/bin/e_player_wrapper
|
||||
|
||||
::sysinit:/bin/cat /etc/issue # Put a getty on the serial port
|
||||
console::respawn:-/bin/sh # GENERIC_SERIAL
|
||||
|
||||
# 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
|
||||
1
target/d211/demo128_nand/rootfs_overlay/etc/ota_build_id
Normal file
1
target/d211/demo128_nand/rootfs_overlay/etc/ota_build_id
Normal file
@ -0,0 +1 @@
|
||||
demo128_nand-ota-marker=2026-04-27_v1001
|
||||
@ -2,33 +2,13 @@
|
||||
# Run the swupdate daemon
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting swupdate... "
|
||||
# obtain ubisystem mtd number
|
||||
|
||||
param=$(cat /proc/mtd | grep "ubisystem")
|
||||
mtd_param=$(echo "$param" | awk -F ':' '{print $1}')
|
||||
mtd_num=$(echo "$mtd_param" | awk -F 'mtd' '{print $2}')
|
||||
echo "ubisystem mtd number is $mtd_num"
|
||||
|
||||
ubiattach /dev/ubi_ctrl -m $mtd_num
|
||||
|
||||
# obtain the ota part device node
|
||||
|
||||
param=$(grep -H -r "ota" /sys/class/ubi/* | sed 1q)
|
||||
ubi_param=$(echo "$param" | awk -F '/name:ota' '{print $1}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/sys/class/ubi/' '{print $2}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/' '{print $2}')
|
||||
echo "ota part device node is /dev/$ubi_param"
|
||||
|
||||
if [ -c "/dev/$ubi_param" ]; then
|
||||
mkdir -p /mnt/ota
|
||||
mount -t ubifs /dev/$ubi_param /mnt/ota
|
||||
fi
|
||||
start)
|
||||
echo "swupdate_main: /data should already be mounted by S01ubivol"
|
||||
mountpoint -q /data && echo "/data is ready" || \
|
||||
echo "Warning: /data is NOT mounted"
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping swupdate... "
|
||||
umount /mnt/ota
|
||||
;;
|
||||
echo "swupdate_main: nothing to do (/data is managed by S01ubivol)"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libaic_mem.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libaic_mem.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libcurl.so.4
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libcurl.so.4
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/liblogo_fdt.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/liblogo_fdt.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmedia_audio_player.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmedia_audio_player.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmedia_player.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmedia_player.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmedia_recorder.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmedia_recorder.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmm_base.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmm_base.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmm_component.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmm_component.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmosquitto.so.1
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmosquitto.so.1
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_audio_decoder.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_audio_decoder.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_base.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_base.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_decoder.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_decoder.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_encoder.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_encoder.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_ge.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_ge.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_ve.so
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/lib/libmpp_ve.so
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/usr/bin/bt-hci-tool
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/usr/bin/bt-hci-tool
Executable file
Binary file not shown.
BIN
target/d211/demo128_nand/rootfs_overlay/usr/bin/btgatt-server
Executable file
BIN
target/d211/demo128_nand/rootfs_overlay/usr/bin/btgatt-server
Executable file
Binary file not shown.
106
target/d211/demo128_nand/rootfs_overlay/usr/bin/e_player_wrapper
Executable file
106
target/d211/demo128_nand/rootfs_overlay/usr/bin/e_player_wrapper
Executable file
@ -0,0 +1,106 @@
|
||||
#!/bin/sh
|
||||
# e_player 崩溃监控和恢复脚本
|
||||
|
||||
CRASH_COUNT_FILE="/data/.e_player_crash_count"
|
||||
STABLE_COUNT_FILE="/data/.e_player_stable_count"
|
||||
MAX_CRASH=5
|
||||
CHECK_INTERVAL=1
|
||||
STABLE_CHECKS=120 # 连续检测120s 进程存在才认为稳定
|
||||
|
||||
if [ ! -f "$CRASH_COUNT_FILE" ]; then
|
||||
echo 0 > "$CRASH_COUNT_FILE"
|
||||
fi
|
||||
if [ ! -f "$STABLE_COUNT_FILE" ]; then
|
||||
echo 0 > "$STABLE_COUNT_FILE"
|
||||
fi
|
||||
|
||||
echo "$(date): e_player_wrapper starting, waiting for e_player..." >> /data/crash.log
|
||||
WAIT_COUNT=0
|
||||
while [ $WAIT_COUNT -lt 20 ]; do
|
||||
if ps | grep -v grep | grep -v e_player_wrapper | grep e_player > /dev/null; then
|
||||
echo "$(date): e_player detected after ${WAIT_COUNT} checks, starting monitoring..." >> /data/crash.log
|
||||
break
|
||||
fi
|
||||
sleep 3
|
||||
WAIT_COUNT=$((WAIT_COUNT + 1))
|
||||
done
|
||||
|
||||
if ! ps | grep -v grep | grep -v e_player_wrapper | grep e_player > /dev/null; then
|
||||
echo "$(date): WARNING - e_player not found after 60s, will monitor anyway..." >> /data/crash.log
|
||||
fi
|
||||
|
||||
echo "$(date): Starting main monitoring loop..." >> /data/crash.log
|
||||
|
||||
HEARTBEAT=0
|
||||
while true; do
|
||||
HEARTBEAT=$((HEARTBEAT + 1))
|
||||
if [ $HEARTBEAT -ge 120 ]; then
|
||||
echo "$(date): [Heartbeat] Monitoring active, stable_count=$(cat $STABLE_COUNT_FILE)" >> /data/crash.log
|
||||
HEARTBEAT=0
|
||||
fi
|
||||
|
||||
if ! ps | grep -v grep | grep -v e_player_wrapper | grep e_player > /dev/null; then
|
||||
# 进程不存在,崩溃了
|
||||
echo 0 > "$STABLE_COUNT_FILE" # 重置稳定计数
|
||||
|
||||
COUNT=$(cat "$CRASH_COUNT_FILE")
|
||||
COUNT=$((COUNT + 1))
|
||||
echo $COUNT > "$CRASH_COUNT_FILE"
|
||||
|
||||
echo "$(date): e_player crashed, count: $COUNT" >> /data/crash.log
|
||||
|
||||
if [ $COUNT -ge $MAX_CRASH ]; then
|
||||
echo "$(date): Crash count exceeded $MAX_CRASH, restoring from factory..." >> /data/crash.log
|
||||
|
||||
# 从factory恢复bin文件
|
||||
if [ -f /system/factory/bin/e_player ]; then
|
||||
cp /system/factory/bin/e_player /data/bin/e_player
|
||||
chmod +x /data/bin/e_player
|
||||
echo "$(date): Restored e_player from factory" >> /data/crash.log
|
||||
fi
|
||||
|
||||
if [ -f /system/factory/bin/lbh_client ]; then
|
||||
cp /system/factory/bin/lbh_client /data/bin/lbh_client
|
||||
chmod +x /data/bin/lbh_client
|
||||
echo "$(date): Restored lbh_client from factory" >> /data/crash.log
|
||||
fi
|
||||
|
||||
# 恢复配置文件
|
||||
if [ -f /system/factory/system_properties.cfg ]; then
|
||||
cp /system/factory/system_properties.cfg /data/system_properties.cfg
|
||||
echo "$(date): Restored system_properties.cfg from factory" >> /data/crash.log
|
||||
fi
|
||||
|
||||
# 重置崩溃计数,重新开始
|
||||
echo 0 > "$CRASH_COUNT_FILE"
|
||||
echo "$(date): Reset crash count, retrying..." >> /data/crash.log
|
||||
fi
|
||||
|
||||
echo "$(date): Restarting e_player..." >> /data/crash.log
|
||||
killall -9 e_player 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
export LD_LIBRARY_PATH=/data/bin/libs:/vendor/qua/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
|
||||
cd /data
|
||||
/data/bin/e_player &
|
||||
sleep 3
|
||||
else
|
||||
# 进程存在,累加稳定计数
|
||||
STABLE=$(cat "$STABLE_COUNT_FILE")
|
||||
STABLE=$((STABLE + 1))
|
||||
echo $STABLE > "$STABLE_COUNT_FILE"
|
||||
|
||||
# 如果稳定运行120秒,重置崩溃计数
|
||||
if [ $STABLE -ge $STABLE_CHECKS ]; then
|
||||
COUNT=$(cat "$CRASH_COUNT_FILE")
|
||||
if [ $COUNT -gt 0 ]; then
|
||||
echo "$(date): e_player stable, resetting crash count" >> /data/crash.log
|
||||
echo 0 > "$CRASH_COUNT_FILE"
|
||||
fi
|
||||
echo 0 > "$STABLE_COUNT_FILE" # 重置稳定计数,下次再累计
|
||||
fi
|
||||
fi
|
||||
|
||||
sleep $CHECK_INTERVAL
|
||||
done
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
software =
|
||||
{
|
||||
version = "1.0.0.0";
|
||||
version = "1.0.0.1";
|
||||
description = "Firmware update for Luban Project";
|
||||
|
||||
stable = {
|
||||
@ -66,6 +66,16 @@ software =
|
||||
* Step1: Download and upgrade partitons
|
||||
* Step2: Setup ENV variables, and mark OTA "finish"
|
||||
* Step3: Reboot to main system
|
||||
*
|
||||
* data UBIFS (ubi1:data, ubisystem):
|
||||
* Optional factory/user data image built from
|
||||
* target/.../data/ overlay (see image_cfg.json "data").
|
||||
* Listed last so earlier images are processed first.
|
||||
*
|
||||
* IMPORTANT: If the .swu file itself is stored on /data (ubi1:data),
|
||||
* updating this volume can corrupt the stream while it is being read.
|
||||
* Prefer placing the package in RAM (/tmp), on the network, or on
|
||||
* external media for OTA that includes "data".
|
||||
*/
|
||||
upgrade_kernel = {
|
||||
images: (
|
||||
@ -86,6 +96,12 @@ software =
|
||||
volume = "rootfs";
|
||||
installed-directly = true;
|
||||
sha256 = "@rootfs";
|
||||
},
|
||||
{
|
||||
filename = "data";
|
||||
volume = "data";
|
||||
installed-directly = true;
|
||||
sha256 = "@data";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -4,5 +4,7 @@ ${BINARIES_DIR}/recovery.itb:recovery
|
||||
${BINARIES_DIR}/kernel.itb:kernel
|
||||
${BINARIES_DIR}/logo.itb:logo
|
||||
${BINARIES_DIR}/rootfs_page_2k_block_128k.ubifs:rootfs
|
||||
${BINARIES_DIR}/data_page_2k_block_128k.ubifs:data
|
||||
#${BINARIES_DIR}/rootfs_page_4k_block_256k.ubifs:rootfs
|
||||
#${BINARIES_DIR}/data_page_4k_block_256k.ubifs:data
|
||||
)
|
||||
|
||||
BIN
target/d211/demo128_nand/system/factory/bin/e_player
Executable file
BIN
target/d211/demo128_nand/system/factory/bin/e_player
Executable file
Binary file not shown.
@ -1,34 +1,152 @@
|
||||
#!/bin/sh
|
||||
# Run the swupdate daemon
|
||||
# Run the swupdate daemon (recovery side, second stage of OTA)
|
||||
|
||||
attach_ubi_by_name()
|
||||
{
|
||||
want="$1"
|
||||
mtdline=$(grep "\"$want\"" /proc/mtd)
|
||||
[ -z "$mtdline" ] && {
|
||||
echo "S91: cannot find mtd partition '$want'"
|
||||
return 1
|
||||
}
|
||||
mtd_num=$(echo "$mtdline" | sed -e 's/^mtd//' -e 's/:.*//')
|
||||
echo "S91: '$want' is on mtd${mtd_num}"
|
||||
|
||||
# If some ubi device is already on this mtd, do nothing.
|
||||
for u in /sys/class/ubi/ubi[0-9]*; do
|
||||
[ -e "$u/mtd_num" ] || continue
|
||||
cur=$(cat "$u/mtd_num" 2>/dev/null)
|
||||
[ "x$cur" = "x$mtd_num" ] && {
|
||||
echo "S91: $u already attached to mtd${mtd_num}"
|
||||
return 0
|
||||
}
|
||||
done
|
||||
ubiattach /dev/ubi_ctrl -m "$mtd_num" 2>&1
|
||||
}
|
||||
|
||||
# If the .swu path in swu_param is under /data, swupdate cannot rewrite the
|
||||
# ubi "data" volume while UBIFS holds it mounted (kernel: ubi_open_volume -EBUSY).
|
||||
# Copy the archive to a dedicated tmpfs and umount /data before swupdate_cmd runs.
|
||||
# Note: the .swu must fit in RAM (tmpfs quota below).
|
||||
#
|
||||
# Initramfs root is often ramfs/tmpfs where "remount,size=" does not give swupdate's
|
||||
# statvfs() enough reported space; it then fails extracting kernel with ~8 MiB free.
|
||||
# A fresh tmpfs on /mnt/swutmp with an explicit size= fixes that; TMPDIR must point
|
||||
# there before swupdate runs (see start).
|
||||
relocate_swu_off_data()
|
||||
{
|
||||
swu_param=$(fw_printenv -n swu_param 2>/dev/null) || return 0
|
||||
[ -z "$swu_param" ] && return 0
|
||||
|
||||
set -- $swu_param
|
||||
swu_in=""
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ "$1" = "-i" ] && [ -n "$2" ]; then
|
||||
swu_in="$2"
|
||||
break
|
||||
fi
|
||||
shift
|
||||
done
|
||||
[ -z "$swu_in" ] && return 0
|
||||
[ ! -f "$swu_in" ] && return 0
|
||||
case "$swu_in" in
|
||||
/data/*) ;;
|
||||
*) return 0 ;;
|
||||
esac
|
||||
|
||||
SWU_STAGED=/mnt/swutmp/ota.swu
|
||||
mkdir -p /mnt/swutmp
|
||||
umount /mnt/swutmp 2>/dev/null
|
||||
echo "S91: mount dedicated tmpfs on /mnt/swutmp for .swu + swupdate extract"
|
||||
if ! mount -t tmpfs -o size=110m,nr_inodes=16k tmpfs /mnt/swutmp; then
|
||||
echo "S91: ERROR: tmpfs mount /mnt/swutmp failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "S91: OTA package on $swu_in — copy to $SWU_STAGED and umount /data (unlock ubi data volume)"
|
||||
if ! cp "$swu_in" "$SWU_STAGED"; then
|
||||
echo "S91: ERROR: copy to $SWU_STAGED failed (increase tmpfs size= ?)"
|
||||
umount /mnt/swutmp 2>/dev/null
|
||||
return 1
|
||||
fi
|
||||
sync
|
||||
if ! umount /data; then
|
||||
echo "S91: ERROR: umount /data failed"
|
||||
umount /mnt/swutmp 2>/dev/null
|
||||
return 1
|
||||
fi
|
||||
|
||||
set -- $swu_param
|
||||
new_param=""
|
||||
first=1
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ "$1" = "-i" ] && [ -n "$2" ]; then
|
||||
if [ $first -eq 1 ]; then
|
||||
new_param="-i $SWU_STAGED"
|
||||
first=0
|
||||
else
|
||||
new_param="$new_param -i $SWU_STAGED"
|
||||
fi
|
||||
shift 2
|
||||
continue
|
||||
fi
|
||||
if [ $first -eq 1 ]; then
|
||||
new_param="$1"
|
||||
first=0
|
||||
else
|
||||
new_param="$new_param $1"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
# Values starting with "-i" are parsed as fw_setenv options; use import file.
|
||||
printf 'swu_param=%s\n' "$new_param" > /tmp/swu_param.relocsave
|
||||
fw_setenv -s /tmp/swu_param.relocsave
|
||||
sync
|
||||
echo "S91: swu_param is now $(fw_printenv -n swu_param 2>/dev/null)"
|
||||
touch /mnt/swutmp/.ota_use_tmpdir
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting swupdate... "
|
||||
# obtain ubisystem mtd number
|
||||
param=$(cat /proc/mtd | grep "ubisystem")
|
||||
mtd_param=$(echo "$param" | awk -F ':' '{print $1}')
|
||||
mtd_num=$(echo "$mtd_param" | awk -F 'mtd' '{print $2}')
|
||||
echo "S91: starting OTA second stage"
|
||||
|
||||
echo "ubisystem mtd number is $mtd_num"
|
||||
ubiattach dev/ubi_ctrl -m $mtd_num
|
||||
# Attach both UBI devices so swupdate can write to:
|
||||
# /dev/mtdX (logo, kernel, recovery)
|
||||
# ubi0:rootfs (ubiroot)
|
||||
# ubi1:data (ubisystem) -- holds the .swu package
|
||||
attach_ubi_by_name "ubiroot"
|
||||
attach_ubi_by_name "ubisystem"
|
||||
|
||||
# obtain the ota part device node
|
||||
param=$(grep -H -r "ota" /sys/class/ubi/* | sed 1q)
|
||||
ubi_param=$(echo "$param" | awk -F '/name:ota' '{print $1}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/sys/class/ubi/' '{print $2}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/' '{print $2}')
|
||||
|
||||
echo "ota part device node is /dev/$ubi_param"
|
||||
|
||||
if [ -c "/dev/$ubi_param" ]; then
|
||||
mkdir -p /mnt/ota
|
||||
mount -t ubifs /dev/$ubi_param /mnt/ota
|
||||
# Mount ubi*:data so we can read the .swu placed there by main system.
|
||||
mkdir -p /data
|
||||
if ! mountpoint -q /data; then
|
||||
# Try ubi0 then ubi1 — depending on attach order data may be on either.
|
||||
for d in /dev/ubi1 /dev/ubi0; do
|
||||
[ -e "$d" ] || continue
|
||||
idx=$(echo "$d" | sed 's|.*ubi||')
|
||||
if mount -t ubifs "ubi${idx}:data" /data 2>/dev/null; then
|
||||
echo "S91: mounted ubi${idx}:data on /data"
|
||||
break
|
||||
fi
|
||||
done
|
||||
mountpoint -q /data || echo "S91: WARNING /data not mounted"
|
||||
fi
|
||||
|
||||
./usr/lib/swupdate/swupdate_cmd.sh
|
||||
if ! relocate_swu_off_data; then
|
||||
echo "S91: ERROR: could not move OTA package off /data; aborting swupdate"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f /mnt/swutmp/.ota_use_tmpdir ]; then
|
||||
export TMPDIR=/mnt/swutmp
|
||||
echo "S91: TMPDIR=$TMPDIR (swupdate extract uses same tmpfs as .swu)"
|
||||
fi
|
||||
|
||||
exec /usr/lib/swupdate/swupdate_cmd.sh
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping swupdate... "
|
||||
umount /mnt/ota
|
||||
umount /data 2>/dev/null
|
||||
umount /mnt/swutmp 2>/dev/null
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -9,7 +9,7 @@ case "$1" in
|
||||
mkdir -p /mnt/ota
|
||||
mount /dev/mmcblk0p11 /mnt/ota
|
||||
|
||||
./usr/lib/swupdate/swupdate_cmd.sh
|
||||
/usr/lib/swupdate/swupdate_cmd.sh
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping swupdate... "
|
||||
|
||||
Loading…
Reference in New Issue
Block a user