Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
260d5fbf9a
@ -70,7 +70,8 @@ menu "Global build settings"
|
|||||||
|
|
||||||
config USE_APK
|
config USE_APK
|
||||||
imply PACKAGE_apk-mbedtls
|
imply PACKAGE_apk-mbedtls
|
||||||
bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)"
|
bool "Use APK instead of OPKG to build distribution (BROKEN)"
|
||||||
|
depends on BROKEN
|
||||||
|
|
||||||
comment "General build options"
|
comment "General build options"
|
||||||
|
|
||||||
@ -295,12 +296,22 @@ menu "Global build settings"
|
|||||||
Enable GCC Stack Smashing Protection (SSP) for userspace applications
|
Enable GCC Stack Smashing Protection (SSP) for userspace applications
|
||||||
config PKG_CC_STACKPROTECTOR_NONE
|
config PKG_CC_STACKPROTECTOR_NONE
|
||||||
bool "None"
|
bool "None"
|
||||||
|
help
|
||||||
|
No stack smashing protection.
|
||||||
config PKG_CC_STACKPROTECTOR_REGULAR
|
config PKG_CC_STACKPROTECTOR_REGULAR
|
||||||
bool "Regular"
|
bool "Regular"
|
||||||
|
help
|
||||||
|
Protects functions with vulnerable objects.
|
||||||
|
This includes functions with buffers larger than 8 bytes or calls to alloca.
|
||||||
config PKG_CC_STACKPROTECTOR_STRONG
|
config PKG_CC_STACKPROTECTOR_STRONG
|
||||||
bool "Strong"
|
bool "Strong"
|
||||||
|
help
|
||||||
|
Like Regular, but also protects functions with
|
||||||
|
local arrays or references to local frame addresses.
|
||||||
config PKG_CC_STACKPROTECTOR_ALL
|
config PKG_CC_STACKPROTECTOR_ALL
|
||||||
bool "All"
|
bool "All"
|
||||||
|
help
|
||||||
|
Protects all functions.
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
choice
|
choice
|
||||||
@ -310,10 +321,18 @@ menu "Global build settings"
|
|||||||
Enable GCC Stack-Smashing Protection (SSP) for the kernel
|
Enable GCC Stack-Smashing Protection (SSP) for the kernel
|
||||||
config KERNEL_CC_STACKPROTECTOR_NONE
|
config KERNEL_CC_STACKPROTECTOR_NONE
|
||||||
bool "None"
|
bool "None"
|
||||||
|
help
|
||||||
|
No stack smashing protection.
|
||||||
config KERNEL_CC_STACKPROTECTOR_REGULAR
|
config KERNEL_CC_STACKPROTECTOR_REGULAR
|
||||||
bool "Regular"
|
bool "Regular"
|
||||||
|
help
|
||||||
|
Protects functions with vulnerable objects.
|
||||||
|
This includes functions with buffers larger than 8 bytes or calls to alloca.
|
||||||
config KERNEL_CC_STACKPROTECTOR_STRONG
|
config KERNEL_CC_STACKPROTECTOR_STRONG
|
||||||
bool "Strong"
|
bool "Strong"
|
||||||
|
help
|
||||||
|
Like Regular, but also protects functions with
|
||||||
|
local arrays or references to local frame addresses.
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config KERNEL_STACKPROTECTOR
|
config KERNEL_STACKPROTECTOR
|
||||||
|
@ -333,6 +333,25 @@ if KERNEL_TASKSTATS
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
config KERNEL_PSI
|
||||||
|
bool "Compile the kernel with pressure stall information tracking"
|
||||||
|
help
|
||||||
|
Collect metrics that indicate how overcommitted the CPU, memory,
|
||||||
|
and IO capacity are in the system.
|
||||||
|
|
||||||
|
If you say Y here, the kernel will create /proc/pressure/ with the
|
||||||
|
pressure statistics files cpu, memory, and io. These will indicate
|
||||||
|
the share of walltime in which some or all tasks in the system are
|
||||||
|
delayed due to contention of the respective resource.
|
||||||
|
|
||||||
|
In kernels with cgroup support, cgroups (cgroup2 only) will
|
||||||
|
have cpu.pressure, memory.pressure, and io.pressure files,
|
||||||
|
which aggregate pressure stalls for the grouped tasks only.
|
||||||
|
|
||||||
|
For more details see Documentation/accounting/psi.rst.
|
||||||
|
|
||||||
|
Say N if unsure.
|
||||||
|
|
||||||
config KERNEL_KALLSYMS
|
config KERNEL_KALLSYMS
|
||||||
bool "Compile the kernel with symbol table information"
|
bool "Compile the kernel with symbol table information"
|
||||||
default y if !SMALL_FLASH
|
default y if !SMALL_FLASH
|
||||||
|
@ -97,7 +97,7 @@ define Build/Configure/Default
|
|||||||
-DCMAKE_SYSTEM_NAME=Linux \
|
-DCMAKE_SYSTEM_NAME=Linux \
|
||||||
-DCMAKE_SYSTEM_VERSION=1 \
|
-DCMAKE_SYSTEM_VERSION=1 \
|
||||||
-DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \
|
-DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=$(if $(CONFIG_DEBUG),Debug,Release) \
|
||||||
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
|
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
|
||||||
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
|
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \
|
-DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \
|
||||||
|
@ -21,6 +21,11 @@ include $(INCLUDE_DIR)/rootfs.mk
|
|||||||
override MAKE:=$(_SINGLE)$(SUBMAKE)
|
override MAKE:=$(_SINGLE)$(SUBMAKE)
|
||||||
override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE)
|
override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Convert size with unit postfix to unitless expression in bytes.
|
||||||
|
#
|
||||||
|
# @param 1: Size with unit. Possible unit postfix are `g`, `m`, `k`.
|
||||||
|
##
|
||||||
exp_units = $(subst k, * 1024,$(subst m, * 1024k,$(subst g, * 1024m,$(1))))
|
exp_units = $(subst k, * 1024,$(subst m, * 1024k,$(subst g, * 1024m,$(1))))
|
||||||
|
|
||||||
target_params = $(subst +,$(space),$*)
|
target_params = $(subst +,$(space),$*)
|
||||||
@ -111,6 +116,12 @@ endef
|
|||||||
|
|
||||||
PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE))))
|
PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE))))
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Call function for each group of arguments.
|
||||||
|
#
|
||||||
|
# @param 1: List of lists of arguments. Lists are separated by `|`.
|
||||||
|
# @param 2: Function to call for list of arguments.
|
||||||
|
##
|
||||||
define split_args
|
define split_args
|
||||||
$(foreach data, \
|
$(foreach data, \
|
||||||
$(subst |,$(space),\
|
$(subst |,$(space),\
|
||||||
@ -118,12 +129,24 @@ $(foreach data, \
|
|||||||
$(call $(2),$(strip $(subst ^,$(space),$(data)))))
|
$(call $(2),$(strip $(subst ^,$(space),$(data)))))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Call build function with arguments.
|
||||||
|
#
|
||||||
|
# @param 1: Function to call. Function name is prepended with `Build/`.
|
||||||
|
# @param 2...: Function arguments.
|
||||||
|
##
|
||||||
define build_cmd
|
define build_cmd
|
||||||
$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1))))
|
$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1))))
|
||||||
$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1)))
|
$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1)))
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Call build functions from the list.
|
||||||
|
#
|
||||||
|
# @param 1: List of build functions with arguments, separated by `|`.
|
||||||
|
# First word in each group is a build command without `Build/` prefix.
|
||||||
|
##
|
||||||
define concat_cmd
|
define concat_cmd
|
||||||
$(call split_args,$(1),build_cmd)
|
$(call split_args,$(1),build_cmd)
|
||||||
endef
|
endef
|
||||||
@ -163,6 +186,12 @@ DTC_WARN_FLAGS := \
|
|||||||
DTC_FLAGS += $(DTC_WARN_FLAGS)
|
DTC_FLAGS += $(DTC_WARN_FLAGS)
|
||||||
DTCO_FLAGS += $(DTC_WARN_FLAGS)
|
DTCO_FLAGS += $(DTC_WARN_FLAGS)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Pad file to specified size.
|
||||||
|
#
|
||||||
|
# @param 1: File.
|
||||||
|
# @param 2: Padding.
|
||||||
|
##
|
||||||
define Image/pad-to
|
define Image/pad-to
|
||||||
dd if=$(1) of=$(1).new bs=$(2) conv=sync
|
dd if=$(1) of=$(1).new bs=$(2) conv=sync
|
||||||
mv $(1).new $(1)
|
mv $(1).new $(1)
|
||||||
@ -403,26 +432,53 @@ define Device/InitProfile
|
|||||||
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
|
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Image configuration variables.
|
||||||
|
#
|
||||||
|
# @param 1: Device name.
|
||||||
|
##
|
||||||
define Device/Init
|
define Device/Init
|
||||||
|
##@ Device name.
|
||||||
DEVICE_NAME := $(1)
|
DEVICE_NAME := $(1)
|
||||||
|
##@ Commands to build kernel.
|
||||||
|
# Commands with arguments are separated by `|`.
|
||||||
|
##
|
||||||
KERNEL:=
|
KERNEL:=
|
||||||
|
##@ Commands to build initramfs.
|
||||||
|
# Commands with arguments are separated by `|`.
|
||||||
|
##
|
||||||
KERNEL_INITRAMFS = $$(KERNEL)
|
KERNEL_INITRAMFS = $$(KERNEL)
|
||||||
|
##@ Kernel command line.
|
||||||
CMDLINE:=
|
CMDLINE:=
|
||||||
|
|
||||||
|
##@ Images to build.
|
||||||
IMAGES :=
|
IMAGES :=
|
||||||
|
##@ Artifacts to build.
|
||||||
ARTIFACTS :=
|
ARTIFACTS :=
|
||||||
|
##@ Device image prefix.
|
||||||
DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
|
DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
|
||||||
|
##@ Device image name.
|
||||||
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
|
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
|
||||||
|
##@ Factory image name.
|
||||||
FACTORY_IMG_NAME :=
|
FACTORY_IMG_NAME :=
|
||||||
|
##@ Maximum image size. Optional.
|
||||||
IMAGE_SIZE :=
|
IMAGE_SIZE :=
|
||||||
|
##@ Maximum image size. Optional.
|
||||||
NAND_SIZE :=
|
NAND_SIZE :=
|
||||||
|
##@ Kernel image prefix.
|
||||||
KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
|
KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
|
||||||
|
##@ Kernel image suffix.
|
||||||
KERNEL_SUFFIX := -kernel.bin
|
KERNEL_SUFFIX := -kernel.bin
|
||||||
|
##@ Initramfs image suffix.
|
||||||
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
||||||
|
##@ Kernel image name.
|
||||||
KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
|
KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
|
||||||
|
##@ Initramfs image prefix.
|
||||||
KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
|
KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
|
||||||
KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
|
KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
|
||||||
|
##@ Initramfs image name.
|
||||||
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
|
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
|
||||||
|
##@ Kernel install flag.
|
||||||
KERNEL_INSTALL :=
|
KERNEL_INSTALL :=
|
||||||
KERNEL_NAME := vmlinux
|
KERNEL_NAME := vmlinux
|
||||||
KERNEL_DEPENDS :=
|
KERNEL_DEPENDS :=
|
||||||
|
@ -124,7 +124,7 @@ define Build/Configure/Meson
|
|||||||
$(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt)
|
$(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt)
|
||||||
$(call Meson, \
|
$(call Meson, \
|
||||||
setup \
|
setup \
|
||||||
--buildtype plain \
|
--buildtype $(if $(CONFIG_DEBUG),debug,plain) \
|
||||||
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
|
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
|
||||||
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
|
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
|
||||||
-Ddefault_library=both \
|
-Ddefault_library=both \
|
||||||
|
113
include/optee-os.mk
Normal file
113
include/optee-os.mk
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
include $(INCLUDE_DIR)/prereq.mk
|
||||||
|
|
||||||
|
PKG_NAME ?= optee-os
|
||||||
|
|
||||||
|
ifndef PKG_SOURCE_PROTO
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL_FILE:=$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL = https://github.com/OP-TEE/optee_os/archive/refs/tags/
|
||||||
|
TAR_OPTIONS+= --transform 's/optee_os/$(PKG_NAME)/'
|
||||||
|
endif
|
||||||
|
|
||||||
|
PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
|
PKG_TARGETS := bin
|
||||||
|
PKG_FLAGS:=nonshared
|
||||||
|
|
||||||
|
PKG_LICENSE:=BSD 2-Clause
|
||||||
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|
||||||
|
PKG_BUILD_PARALLEL ?= 1
|
||||||
|
|
||||||
|
$(eval $(call TestHostCommand,python3-cryptography, \
|
||||||
|
Please install the Python3 cryptography module, \
|
||||||
|
$(STAGING_DIR_HOST)/bin/python3 -c 'import cryptography'))
|
||||||
|
|
||||||
|
$(eval $(call TestHostCommand,python3-pyelftools, \
|
||||||
|
Please install the Python3 pyelftools module, \
|
||||||
|
$(STAGING_DIR_HOST)/bin/python3 -c 'import elftools'))
|
||||||
|
|
||||||
|
export GCC_HONOUR_COPTS=s
|
||||||
|
|
||||||
|
define Package/optee-os/install/default
|
||||||
|
$(CP) $(patsubst %,$(PKG_BUILD_DIR)/out/arm-plat-$(PLAT)/core/%,$(OPTEE_IMAGE)) $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
Package/optee-os/install = $(Package/optee-os/install/default)
|
||||||
|
|
||||||
|
define Optee-os/Init
|
||||||
|
BUILD_TARGET:=
|
||||||
|
BUILD_SUBTARGET:=
|
||||||
|
BUILD_DEVICES:=
|
||||||
|
NAME:=
|
||||||
|
DEPENDS:=
|
||||||
|
HIDDEN:=
|
||||||
|
DEFAULT:=
|
||||||
|
VARIANT:=$(1)
|
||||||
|
PLAT:=$(1)
|
||||||
|
PLAT_FLAVOR:=
|
||||||
|
OPTEE_IMAGE:=tee-header_v2.bin tee-pager_v2.bin tee-pageable_v2.bin
|
||||||
|
endef
|
||||||
|
|
||||||
|
TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
|
||||||
|
|
||||||
|
define Build/Optee-os/Target
|
||||||
|
$(eval $(call Optee-os/Init,$(1)))
|
||||||
|
$(eval $(call Optee-os/Default,$(1)))
|
||||||
|
$(eval $(call Optee-os/$(1),$(1)))
|
||||||
|
|
||||||
|
define Package/optee-os-$(1)
|
||||||
|
SECTION:=boot
|
||||||
|
CATEGORY:=Boot Loaders
|
||||||
|
TITLE:=OPTEE-OS for $(NAME)
|
||||||
|
VARIANT:=$(VARIANT)
|
||||||
|
DEPENDS:=@!IN_SDK $(DEPENDS)
|
||||||
|
HIDDEN:=$(HIDDEN)
|
||||||
|
ifneq ($(BUILD_TARGET),)
|
||||||
|
DEPENDS += @$(TARGET_DEP)
|
||||||
|
ifneq ($(BUILD_DEVICES),)
|
||||||
|
DEFAULT := y if ($(TARGET_DEP)_Default \
|
||||||
|
$(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
|
||||||
|
$(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
$(if $(DEFAULT),DEFAULT:=$(DEFAULT))
|
||||||
|
URL:=https://optee.readthedocs.io
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/optee-os-$(1)/install
|
||||||
|
$$(Package/optee-os/install)
|
||||||
|
endef
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Configure/Optee-os
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile/Optee-os
|
||||||
|
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||||
|
PATH=$(LINUX_DIR)/scripts/dtc/:$(PATH) \
|
||||||
|
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||||
|
CROSS_COMPILE_core="$(TARGET_CROSS)" \
|
||||||
|
CROSS_COMPILE_ta_arm64="$(TARGET_CROSS)" \
|
||||||
|
CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" \
|
||||||
|
$(if $(CONFIG_ARCH_64BIT), CFG_ARM64_core=y CFG_USER_TA_TARGETS=ta_arm64, CFG_ARM32_core=y) \
|
||||||
|
PLATFORM="$(PLAT)" \
|
||||||
|
PLATFORM_FLAVOR="$(call qstrip,$(PLAT_FLAVOR))" \
|
||||||
|
$(OPTEE_MAKE_FLAGS)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define BuildPackage/Optee-os/Defaults
|
||||||
|
Build/Configure/Default = $$$$(Build/Configure/Optee-os)
|
||||||
|
Build/Compile/Default = $$$$(Build/Compile/Optee-os)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define BuildPackage/Optee-os
|
||||||
|
$(eval $(call BuildPackage/Optee-os/Defaults))
|
||||||
|
$(foreach type,$(if $(DUMP),$(OPTEE_TARGETS),$(BUILD_VARIANT)), \
|
||||||
|
$(eval $(call Build/Optee-os/Target,$(type)))
|
||||||
|
)
|
||||||
|
$(eval $(call Build/DefaultTargets))
|
||||||
|
$(foreach type,$(if $(DUMP),$(OPTEE_TARGETS),$(BUILD_VARIANT)), \
|
||||||
|
$(call BuildPackage,optee-os-$(type))
|
||||||
|
)
|
||||||
|
endef
|
@ -7,10 +7,17 @@ ifneq ($(__target_inc),1)
|
|||||||
__target_inc=1
|
__target_inc=1
|
||||||
|
|
||||||
|
|
||||||
# default device type
|
##@
|
||||||
|
# @brief Default device type ( basic | nas | router ).
|
||||||
|
##
|
||||||
DEVICE_TYPE?=router
|
DEVICE_TYPE?=router
|
||||||
|
|
||||||
# Default packages - the really basic set
|
##@
|
||||||
|
# @brief Default packages.
|
||||||
|
#
|
||||||
|
# The really basic set. Additional packages are added based on @DEVICE_TYPE and
|
||||||
|
# @CONFIG_* values.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES:=\
|
DEFAULT_PACKAGES:=\
|
||||||
base-files \
|
base-files \
|
||||||
ca-bundle \
|
ca-bundle \
|
||||||
@ -27,15 +34,21 @@ DEFAULT_PACKAGES:=\
|
|||||||
urandom-seed \
|
urandom-seed \
|
||||||
urngd
|
urngd
|
||||||
|
|
||||||
# For the basic set
|
##@
|
||||||
|
# @brief Default packages for @DEVICE_TYPE basic.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.basic:=
|
DEFAULT_PACKAGES.basic:=
|
||||||
# For nas targets
|
##@
|
||||||
|
# @brief Default packages for @DEVICE_TYPE nas.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.nas:=\
|
DEFAULT_PACKAGES.nas:=\
|
||||||
block-mount \
|
block-mount \
|
||||||
fdisk \
|
fdisk \
|
||||||
lsblk \
|
lsblk \
|
||||||
mdadm
|
mdadm
|
||||||
# For router targets
|
##@
|
||||||
|
# @brief Default packages for @DEVICE_TYPE router.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.router:=\
|
DEFAULT_PACKAGES.router:=\
|
||||||
dnsmasq-full \
|
dnsmasq-full \
|
||||||
firewall4 \
|
firewall4 \
|
||||||
@ -45,7 +58,9 @@ DEFAULT_PACKAGES.router:=\
|
|||||||
odhcpd-ipv6only \
|
odhcpd-ipv6only \
|
||||||
ppp \
|
ppp \
|
||||||
ppp-mod-pppoe
|
ppp-mod-pppoe
|
||||||
# For easy usage
|
##@
|
||||||
|
# @brief For easy usage
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.tweak:=\
|
DEFAULT_PACKAGES.tweak:=\
|
||||||
block-mount \
|
block-mount \
|
||||||
default-settings-chn \
|
default-settings-chn \
|
||||||
@ -135,7 +150,18 @@ DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
|
|||||||
# Add tweaked packages
|
# Add tweaked packages
|
||||||
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.tweak)
|
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.tweak)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Filter out packages, prepended with `-`.
|
||||||
|
#
|
||||||
|
# @param 1: Package list.
|
||||||
|
##
|
||||||
filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1))
|
filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1))
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Append extra package dependencies.
|
||||||
|
#
|
||||||
|
# @param 1: Package list.
|
||||||
|
##
|
||||||
extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo)
|
extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo)
|
||||||
|
|
||||||
define ProfileDefault
|
define ProfileDefault
|
||||||
|
@ -24,6 +24,8 @@ boot() {
|
|||||||
chmod 1777 /var/lock
|
chmod 1777 /var/lock
|
||||||
mkdir -p /var/log
|
mkdir -p /var/log
|
||||||
mkdir -p /var/run
|
mkdir -p /var/run
|
||||||
|
ln -s /var/run /run
|
||||||
|
ln -s /var/lock /run/lock
|
||||||
mkdir -p /var/state
|
mkdir -p /var/state
|
||||||
mkdir -p /var/tmp
|
mkdir -p /var/tmp
|
||||||
mkdir -p /tmp/.uci
|
mkdir -p /tmp/.uci
|
||||||
@ -34,9 +36,9 @@ boot() {
|
|||||||
touch /tmp/resolv.conf.d/resolv.conf.auto
|
touch /tmp/resolv.conf.d/resolv.conf.auto
|
||||||
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf.auto
|
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf.auto
|
||||||
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf
|
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf
|
||||||
grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug
|
grep -q debugfs /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime -t debugfs debugfs /sys/kernel/debug
|
||||||
grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf
|
grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf
|
||||||
grep -q pstore /proc/filesystems && /bin/mount -o noatime -t pstore pstore /sys/fs/pstore
|
grep -q pstore /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime -t pstore pstore /sys/fs/pstore
|
||||||
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
|
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
|
||||||
|
|
||||||
touch /tmp/.config_pending
|
touch /tmp/.config_pending
|
||||||
|
63
package/boot/arm-trusted-firmware-stm32/Makefile
Normal file
63
package/boot/arm-trusted-firmware-stm32/Makefile
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2024 Bootlin
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_VERSION:=2.10
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_HASH:=88215a62291b9ba87da8e50b077741103cdc08fb6c9e1ebd34dfaace746d3201
|
||||||
|
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
include $(INCLUDE_DIR)/trusted-firmware-a.mk
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Trusted-Firmware-A/Default
|
||||||
|
BUILD_TARGET:=stm32
|
||||||
|
BUILD_DEVICES:=$(1)
|
||||||
|
DEPENDS:=+u-boot-$(1) +optee-os-$(1)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Trusted-Firmware-A/stm32mp1
|
||||||
|
BUILD_SUBTARGET:=stm32mp1
|
||||||
|
PLAT:=stm32mp1
|
||||||
|
MAKE_ARGS += BL32_EXTRA2=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-tee-pageable_v2.bin \
|
||||||
|
STM32MP_USB_PROGRAMMER=1 \
|
||||||
|
STM32MP1_OPTEE_IN_SYSRAM=1 \
|
||||||
|
ARM_ARCH_MAJOR=7
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Trusted-Firmware-A/stm32mp135f-dk
|
||||||
|
$(call Trusted-Firmware-A/stm32mp1)
|
||||||
|
NAME:=STM32MP135F-DK
|
||||||
|
DTB_FILE_NAME=stm32mp135f-dk.dtb
|
||||||
|
endef
|
||||||
|
|
||||||
|
TFA_TARGETS := stm32mp135f-dk
|
||||||
|
|
||||||
|
TFA_MAKE_FLAGS += \
|
||||||
|
ARCH=aarch32 AARCH32_SP=optee \
|
||||||
|
BL32=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-tee-header_v2.bin \
|
||||||
|
BL32_EXTRA1=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-tee-pager_v2.bin \
|
||||||
|
BL33=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.bin \
|
||||||
|
BL33_CFG=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.dtb \
|
||||||
|
DTB_FILE_NAME=$(DTB_FILE_NAME) \
|
||||||
|
STM32MP_SDMMC=1 \
|
||||||
|
TARGET_BOARD="" \
|
||||||
|
$(MAKE_ARGS) \
|
||||||
|
all fip
|
||||||
|
|
||||||
|
define Package/trusted-firmware-a/install
|
||||||
|
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/tf-a-$(BUILD_VARIANT).stm32 \
|
||||||
|
$(STAGING_DIR_IMAGE)/tf-a-$(BUILD_VARIANT).stm32
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
|
||||||
|
$(STAGING_DIR_IMAGE)/fip-$(BUILD_VARIANT).bin
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/Trusted-Firmware-A))
|
49
package/boot/optee-os-stm32/Makefile
Normal file
49
package/boot/optee-os-stm32/Makefile
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2024 Bootlin
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_VERSION:=4.3.0
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_HASH:=390b271905c828d6def9fa6a77bbaa425f3b434d733c8eb18f582ccbc6896096
|
||||||
|
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
|
||||||
|
|
||||||
|
OPTEE_USE_INTREE_DTC:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
include $(INCLUDE_DIR)/optee-os.mk
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Optee-os/Default
|
||||||
|
BUILD_TARGET:=stm32
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Optee-os/stm32mp1
|
||||||
|
BUILD_SUBTARGET:=stm32mp1
|
||||||
|
PLAT:=stm32mp1
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Optee-os/stm32mp135f-dk
|
||||||
|
$(call Optee-os/stm32mp1)
|
||||||
|
NAME:=STM32MP135F-DK
|
||||||
|
PLAT_FLAVOR:=135F_DK
|
||||||
|
endef
|
||||||
|
|
||||||
|
OPTEE_TARGETS := stm32mp135f-dk
|
||||||
|
|
||||||
|
define Package/optee-os/install/default
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/InstallDev
|
||||||
|
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||||
|
$(foreach img,$(OPTEE_IMAGE), \
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/out/arm-plat-$(PLAT)/core/$(img) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(img); \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/Optee-os))
|
@ -43,6 +43,7 @@ livinet,zr-3020-ubootmod|\
|
|||||||
netcore,n60|\
|
netcore,n60|\
|
||||||
nokia,ea0326gmp|\
|
nokia,ea0326gmp|\
|
||||||
qihoo,360t7|\
|
qihoo,360t7|\
|
||||||
|
routerich,ax3000-ubootmod|\
|
||||||
tplink,tl-xdr4288|\
|
tplink,tl-xdr4288|\
|
||||||
tplink,tl-xdr6086|\
|
tplink,tl-xdr6086|\
|
||||||
tplink,tl-xdr6088|\
|
tplink,tl-xdr6088|\
|
||||||
@ -53,6 +54,16 @@ xiaomi,redmi-router-ax6000-ubootmod|\
|
|||||||
zyxel,ex5601-t0-ubootmod)
|
zyxel,ex5601-t0-ubootmod)
|
||||||
ubootenv_add_ubi_default
|
ubootenv_add_ubi_default
|
||||||
;;
|
;;
|
||||||
|
acer,predator-w6|\
|
||||||
|
acer,predator-w6d|\
|
||||||
|
acer,vero-w6m|\
|
||||||
|
glinet,gl-mt2500|\
|
||||||
|
glinet,gl-mt6000|\
|
||||||
|
glinet,gl-x3000|\
|
||||||
|
glinet,gl-xe3000)
|
||||||
|
local envdev=$(find_mmc_part "u-boot-env")
|
||||||
|
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
|
||||||
|
;;
|
||||||
asus,rt-ax59u)
|
asus,rt-ax59u)
|
||||||
ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
|
ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
|
||||||
;;
|
;;
|
||||||
@ -92,12 +103,8 @@ comfast,cf-e393ax)
|
|||||||
dlink,aquila-pro-ai-m30-a1)
|
dlink,aquila-pro-ai-m30-a1)
|
||||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
|
||||||
;;
|
;;
|
||||||
glinet,gl-x3000|\
|
gatonetworks,gdsp)
|
||||||
glinet,gl-xe3000|\
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
|
||||||
glinet,gl-mt2500|\
|
|
||||||
glinet,gl-mt6000)
|
|
||||||
local envdev=$(find_mmc_part "u-boot-env")
|
|
||||||
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
|
|
||||||
;;
|
;;
|
||||||
glinet,gl-mt3000)
|
glinet,gl-mt3000)
|
||||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
|
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
|
||||||
|
@ -449,6 +449,19 @@ define U-Boot/mt7981_rfb-emmc
|
|||||||
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr3
|
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr3
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define U-Boot/mt7981_gatonetworks_gdsp
|
||||||
|
NAME:=GatoNetworks GDSP
|
||||||
|
BUILD_SUBTARGET:=filogic
|
||||||
|
BUILD_DEVICES:=gatonetworks_gdsp
|
||||||
|
UBOOT_CONFIG:=mt7981_gatonetworks_gdsp
|
||||||
|
UBOOT_IMAGE:=u-boot.fip
|
||||||
|
BL2_BOOTDEV:=nor
|
||||||
|
BL2_SOC:=mt7981
|
||||||
|
BL2_DDRTYPE:=ddr3
|
||||||
|
DEPENDS:=+trusted-firmware-a-mt7981-nor-ddr3
|
||||||
|
FIP_COMPRESS:=1
|
||||||
|
endef
|
||||||
|
|
||||||
define U-Boot/mt7981_rfb-nor
|
define U-Boot/mt7981_rfb-nor
|
||||||
NAME:=MT7981 Reference Board
|
NAME:=MT7981 Reference Board
|
||||||
BUILD_SUBTARGET:=filogic
|
BUILD_SUBTARGET:=filogic
|
||||||
@ -485,6 +498,18 @@ define U-Boot/mt7981_rfb-snfi
|
|||||||
DEPENDS:=+trusted-firmware-a-mt7981-snand-ddr3
|
DEPENDS:=+trusted-firmware-a-mt7981-snand-ddr3
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define U-Boot/mt7981_routerich_ax3000
|
||||||
|
NAME:=Routerich AX3000
|
||||||
|
BUILD_SUBTARGET:=filogic
|
||||||
|
BUILD_DEVICES:=routerich_ax3000-ubootmod
|
||||||
|
UBOOT_CONFIG:=mt7981_routerich_ax3000
|
||||||
|
UBOOT_IMAGE:=u-boot.fip
|
||||||
|
BL2_BOOTDEV:=spim-nand
|
||||||
|
BL2_SOC:=mt7981
|
||||||
|
BL2_DDRTYPE:=ddr3
|
||||||
|
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr3
|
||||||
|
endef
|
||||||
|
|
||||||
define U-Boot/mt7981_qihoo_360t7
|
define U-Boot/mt7981_qihoo_360t7
|
||||||
NAME:=Qihoo 360T7
|
NAME:=Qihoo 360T7
|
||||||
BUILD_SUBTARGET:=filogic
|
BUILD_SUBTARGET:=filogic
|
||||||
@ -884,6 +909,7 @@ UBOOT_TARGETS := \
|
|||||||
mt7981_cmcc_a10 \
|
mt7981_cmcc_a10 \
|
||||||
mt7981_cmcc_rax3000m-emmc \
|
mt7981_cmcc_rax3000m-emmc \
|
||||||
mt7981_cmcc_rax3000m-nand \
|
mt7981_cmcc_rax3000m-nand \
|
||||||
|
mt7981_gatonetworks_gdsp \
|
||||||
mt7981_glinet_gl-x3000 \
|
mt7981_glinet_gl-x3000 \
|
||||||
mt7981_glinet_gl-xe3000 \
|
mt7981_glinet_gl-xe3000 \
|
||||||
mt7981_h3c_magic-nx30-pro \
|
mt7981_h3c_magic-nx30-pro \
|
||||||
@ -901,6 +927,7 @@ UBOOT_TARGETS := \
|
|||||||
mt7981_rfb-nor \
|
mt7981_rfb-nor \
|
||||||
mt7981_rfb-sd \
|
mt7981_rfb-sd \
|
||||||
mt7981_rfb-snfi \
|
mt7981_rfb-snfi \
|
||||||
|
mt7981_routerich_ax3000 \
|
||||||
mt7981_qihoo_360t7 \
|
mt7981_qihoo_360t7 \
|
||||||
mt7981_xiaomi_mi-router-ax3000t \
|
mt7981_xiaomi_mi-router-ax3000t \
|
||||||
mt7981_xiaomi_mi-router-wr30u \
|
mt7981_xiaomi_mi-router-wr30u \
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
From 9c1ad8a18ac1a20aee7a617964bcae3e90dac700 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Enrico Mioso <mrkiko.rs@gmail.com>
|
||||||
|
Date: Wed, 23 Oct 2024 17:46:35 +0200
|
||||||
|
Subject: [PATCH] uboot-mediatek: initialized the watchdog subsystem later
|
||||||
|
|
||||||
|
Initialize the watchdog subsystem later during initialization, to allow for
|
||||||
|
the gpio-wdt driver to work.
|
||||||
|
|
||||||
|
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
|
||||||
|
---
|
||||||
|
common/board_r.c | 11 ++++-------
|
||||||
|
1 file changed, 4 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
--- a/common/board_r.c
|
||||||
|
+++ b/common/board_r.c
|
||||||
|
@@ -663,19 +663,13 @@ static init_fnc_t init_sequence_r[] = {
|
||||||
|
serial_initialize,
|
||||||
|
initr_announce,
|
||||||
|
dm_announce,
|
||||||
|
-#if CONFIG_IS_ENABLED(WDT)
|
||||||
|
- initr_watchdog,
|
||||||
|
-#endif
|
||||||
|
- INIT_FUNC_WATCHDOG_RESET
|
||||||
|
arch_initr_trap,
|
||||||
|
#if defined(CONFIG_BOARD_EARLY_INIT_R)
|
||||||
|
board_early_init_r,
|
||||||
|
#endif
|
||||||
|
- INIT_FUNC_WATCHDOG_RESET
|
||||||
|
#ifdef CONFIG_POST
|
||||||
|
post_output_backlog,
|
||||||
|
#endif
|
||||||
|
- INIT_FUNC_WATCHDOG_RESET
|
||||||
|
#if defined(CONFIG_PCI_INIT_R) && defined(CONFIG_SYS_EARLY_PCI_INIT)
|
||||||
|
/*
|
||||||
|
* Do early PCI configuration _before_ the flash gets initialised,
|
||||||
|
@@ -690,7 +684,6 @@ static init_fnc_t init_sequence_r[] = {
|
||||||
|
#ifdef CONFIG_MTD_NOR_FLASH
|
||||||
|
initr_flash,
|
||||||
|
#endif
|
||||||
|
- INIT_FUNC_WATCHDOG_RESET
|
||||||
|
#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_X86)
|
||||||
|
/* initialize higher level parts of CPU like time base and timers */
|
||||||
|
cpu_init_r,
|
||||||
|
@@ -719,6 +712,10 @@ static init_fnc_t init_sequence_r[] = {
|
||||||
|
#ifdef CONFIG_PVBLOCK
|
||||||
|
initr_pvblock,
|
||||||
|
#endif
|
||||||
|
+#if CONFIG_IS_ENABLED(WDT)
|
||||||
|
+ initr_watchdog,
|
||||||
|
+#endif
|
||||||
|
+ INIT_FUNC_WATCHDOG_RESET
|
||||||
|
initr_env,
|
||||||
|
#ifdef CONFIG_SYS_MALLOC_BOOTPARAMS
|
||||||
|
initr_malloc_bootparams,
|
@ -0,0 +1,406 @@
|
|||||||
|
From 57d0f608d925cb688b5c9b71512fca7d228f07f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Enrico Mioso <mrkiko.rs@gmail.com>
|
||||||
|
Date: Wed, 23 Oct 2024 20:39:28 +0200
|
||||||
|
Subject: [PATCH] add GatoNetworks GDSP
|
||||||
|
|
||||||
|
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
|
||||||
|
---
|
||||||
|
arch/arm/dts/mt7981-gatonetworks_gdsp.dts | 200 +++++++++++++++++++++
|
||||||
|
configs/mt7981_gatonetworks_gdsp_defconfig | 144 +++++++++++++++
|
||||||
|
gatonetworks_gdsp_env | 38 ++++
|
||||||
|
3 files changed, 382 insertions(+)
|
||||||
|
create mode 100644 arch/arm/dts/mt7981-gatonetworks_gdsp.dts
|
||||||
|
create mode 100644 configs/mt7981_gatonetworks_gdsp_defconfig
|
||||||
|
create mode 100644 gatonetworks_gdsp_env
|
||||||
|
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/arch/arm/dts/mt7981-gatonetworks_gdsp.dts
|
||||||
|
@@ -0,0 +1,200 @@
|
||||||
|
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
+
|
||||||
|
+/dts-v1/;
|
||||||
|
+#include "mt7981.dtsi"
|
||||||
|
+#include <dt-bindings/gpio/gpio.h>
|
||||||
|
+#include <dt-bindings/input/linux-event-codes.h>
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <1>;
|
||||||
|
+ model = "GatoNetworks GDSP";
|
||||||
|
+ compatible = "gatonetworks,gdsp", "mediatek,mt7981";
|
||||||
|
+ chosen {
|
||||||
|
+ stdout-path = &uart0;
|
||||||
|
+ tick-timer = &timer0;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ memory {
|
||||||
|
+ device_type = "memory";
|
||||||
|
+ reg = <0x40000000 0x10000000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ keys {
|
||||||
|
+ compatible = "gpio-keys";
|
||||||
|
+
|
||||||
|
+ reset {
|
||||||
|
+ label = "reset";
|
||||||
|
+ linux,code = <KEY_RESTART>;
|
||||||
|
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ leds {
|
||||||
|
+ compatible = "gpio-leds";
|
||||||
|
+
|
||||||
|
+ sim1 {
|
||||||
|
+ label = "sim1";
|
||||||
|
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sim2 {
|
||||||
|
+ label = "sim2";
|
||||||
|
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sg1 {
|
||||||
|
+ label = "sg1";
|
||||||
|
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sg2 {
|
||||||
|
+ label = "sg2";
|
||||||
|
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sg3 {
|
||||||
|
+ label = "sg3";
|
||||||
|
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sg4 {
|
||||||
|
+ label = "sg4";
|
||||||
|
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sg5 {
|
||||||
|
+ label = "sg5";
|
||||||
|
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sg6 {
|
||||||
|
+ label = "sg6";
|
||||||
|
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ gpio-watchdog {
|
||||||
|
+ compatible = "linux,wdt-gpio";
|
||||||
|
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
|
||||||
|
+ hw_algo = "toggle";
|
||||||
|
+ hw_margin_ms = <25000>;
|
||||||
|
+ always-running;
|
||||||
|
+ u-boot,autostart;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+ð {
|
||||||
|
+ status = "okay";
|
||||||
|
+ mediatek,gmac-id = <0>;
|
||||||
|
+ phy-mode = "2500base-x";
|
||||||
|
+ mediatek,switch = "mt7531";
|
||||||
|
+ reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
|
||||||
|
+
|
||||||
|
+ fixed-link {
|
||||||
|
+ speed = <2500>;
|
||||||
|
+ full-duplex;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&spi2 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&spi2_flash_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+ must_tx;
|
||||||
|
+ enhance_timing;
|
||||||
|
+ dma_ext;
|
||||||
|
+ ipm_design;
|
||||||
|
+ support_quad;
|
||||||
|
+ tick_dly = <2>;
|
||||||
|
+ sample_sel = <0>;
|
||||||
|
+
|
||||||
|
+ flash@0 {
|
||||||
|
+ compatible = "jedec,spi-nor";
|
||||||
|
+ reg = <0>;
|
||||||
|
+ spi-max-frequency = <52000000>;
|
||||||
|
+
|
||||||
|
+ partitions {
|
||||||
|
+ compatible = "fixed-partitions";
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <1>;
|
||||||
|
+
|
||||||
|
+ partition@00000 {
|
||||||
|
+ label = "BL2";
|
||||||
|
+ reg = <0x00000 0x0040000>;
|
||||||
|
+ read-only;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@40000 {
|
||||||
|
+ label = "u-boot-env";
|
||||||
|
+ reg = <0x40000 0x0010000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@50000 {
|
||||||
|
+ label = "Factory";
|
||||||
|
+ reg = <0x50000 0x00B0000>;
|
||||||
|
+ read-only;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@100000 {
|
||||||
|
+ label = "FIP";
|
||||||
|
+ reg = <0x100000 0x0080000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@180000 {
|
||||||
|
+ label = "firmware";
|
||||||
|
+ reg = <0x180000 0x1E80000>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pinctrl {
|
||||||
|
+ uart1_pins: uart1-pins {
|
||||||
|
+ mux {
|
||||||
|
+ function = "uart";
|
||||||
|
+ groups = "uart1_0";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart2_pins: uart2-pins {
|
||||||
|
+ mux {
|
||||||
|
+ function = "uart";
|
||||||
|
+ groups = "uart2_0_tx_rx";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi2_flash_pins: spi2-pins {
|
||||||
|
+ mux {
|
||||||
|
+ function = "spi";
|
||||||
|
+ groups = "spi2", "spi2_wp_hold";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ conf-pu {
|
||||||
|
+ pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
|
||||||
|
+ drive-strength = <MTK_DRIVE_8mA>;
|
||||||
|
+ bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ conf-pd {
|
||||||
|
+ pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
|
||||||
|
+ drive-strength = <MTK_DRIVE_8mA>;
|
||||||
|
+ bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart0 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart1_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart2 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart2_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/configs/mt7981_gatonetworks_gdsp_defconfig
|
||||||
|
@@ -0,0 +1,144 @@
|
||||||
|
+CONFIG_ARM=y
|
||||||
|
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
|
||||||
|
+CONFIG_POSITION_INDEPENDENT=y
|
||||||
|
+CONFIG_ARCH_MEDIATEK=y
|
||||||
|
+CONFIG_TEXT_BASE=0x41e00000
|
||||||
|
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||||||
|
+CONFIG_NR_DRAM_BANKS=1
|
||||||
|
+CONFIG_ENV_SIZE=0x10000
|
||||||
|
+CONFIG_ENV_OFFSET=0x0
|
||||||
|
+CONFIG_DEFAULT_DEVICE_TREE="mt7981-gatonetworks_gdsp"
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
+CONFIG_TARGET_MT7981=y
|
||||||
|
+CONFIG_WATCHDOG_TIMEOUT_MSECS=25000
|
||||||
|
+CONFIG_DEBUG_UART_BASE=0x11002000
|
||||||
|
+CONFIG_DEBUG_UART_CLOCK=40000000
|
||||||
|
+CONFIG_SYS_LOAD_ADDR=0x46000000
|
||||||
|
+CONFIG_DEBUG_UART=y
|
||||||
|
+CONFIG_FIT=y
|
||||||
|
+CONFIG_SPI_BOOT=y
|
||||||
|
+CONFIG_AUTOBOOT_MENU_SHOW=y
|
||||||
|
+CONFIG_USE_PREBOOT=y
|
||||||
|
+CONFIG_DEFAULT_FDT_FILE="mt7981-gatonetworks_gdsp"
|
||||||
|
+CONFIG_SYS_CBSIZE=512
|
||||||
|
+CONFIG_SYS_PBSIZE=1049
|
||||||
|
+CONFIG_LOGLEVEL=7
|
||||||
|
+CONFIG_CONSOLE_MUX=y
|
||||||
|
+CONFIG_LOG=y
|
||||||
|
+CONFIG_BOARD_LATE_INIT=y
|
||||||
|
+CONFIG_HUSH_PARSER=y
|
||||||
|
+CONFIG_SYS_PROMPT="GDSP> "
|
||||||
|
+CONFIG_SYS_MAXARGS=16
|
||||||
|
+CONFIG_CMD_BDINFO_EXTRA=y
|
||||||
|
+CONFIG_CMD_CPU=y
|
||||||
|
+CONFIG_CMD_HISTORY=y
|
||||||
|
+CONFIG_CMD_LICENSE=y
|
||||||
|
+# CONFIG_BOOTM_NETBSD is not set
|
||||||
|
+# CONFIG_BOOTM_PLAN9 is not set
|
||||||
|
+# CONFIG_BOOTM_RTEMS is not set
|
||||||
|
+# CONFIG_BOOTM_VXWORKS is not set
|
||||||
|
+# CONFIG_CMD_BOOTEFI_BOOTMGR is not set
|
||||||
|
+CONFIG_CMD_BOOTMENU=y
|
||||||
|
+CONFIG_CMD_ASKENV=y
|
||||||
|
+CONFIG_CMD_ERASEENV=y
|
||||||
|
+CONFIG_CMD_ENV_CALLBACK=y
|
||||||
|
+CONFIG_CMD_ENV_FLAGS=y
|
||||||
|
+CONFIG_CRC32_VERIFY=y
|
||||||
|
+CONFIG_LOOPW=y
|
||||||
|
+CONFIG_CMD_MEMINFO=y
|
||||||
|
+CONFIG_CMD_MEMTEST=y
|
||||||
|
+CONFIG_CMD_STRINGS=y
|
||||||
|
+# CONFIG_CMD_UNLZ4 is not set
|
||||||
|
+# CONFIG_CMD_UNZIP is not set
|
||||||
|
+CONFIG_CMD_DM=y
|
||||||
|
+CONFIG_CMD_GPIO=y
|
||||||
|
+CONFIG_CMD_GPIO_READ=y
|
||||||
|
+CONFIG_CMD_PWM=y
|
||||||
|
+CONFIG_CMD_MTD=y
|
||||||
|
+# CONFIG_CMD_NAND_EXT is not set
|
||||||
|
+CONFIG_CMD_SF_TEST=y
|
||||||
|
+CONFIG_CMD_CAT=y
|
||||||
|
+CONFIG_CMD_SETEXPR_FMT=y
|
||||||
|
+CONFIG_CMD_XXD=y
|
||||||
|
+CONFIG_CMD_DHCP=y
|
||||||
|
+CONFIG_CMD_TFTPPUT=y
|
||||||
|
+CONFIG_CMD_TFTPSRV=y
|
||||||
|
+CONFIG_CMD_RARP=y
|
||||||
|
+CONFIG_CMD_PING=y
|
||||||
|
+CONFIG_CMD_CDP=y
|
||||||
|
+CONFIG_CMD_SNTP=y
|
||||||
|
+CONFIG_CMD_DNS=y
|
||||||
|
+CONFIG_CMD_LINK_LOCAL=y
|
||||||
|
+CONFIG_CMD_PXE=y
|
||||||
|
+CONFIG_CMD_CACHE=y
|
||||||
|
+# CONFIG_CMD_EFICONFIG is not set
|
||||||
|
+CONFIG_CMD_PSTORE=y
|
||||||
|
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
|
||||||
|
+CONFIG_CMD_UUID=y
|
||||||
|
+CONFIG_CMD_HASH=y
|
||||||
|
+CONFIG_CMD_SMC=y
|
||||||
|
+CONFIG_CMD_FAT=y
|
||||||
|
+CONFIG_CMD_FS_GENERIC=y
|
||||||
|
+CONFIG_CMD_FS_UUID=y
|
||||||
|
+CONFIG_ENV_OVERWRITE=y
|
||||||
|
+CONFIG_ENV_IS_IN_MTD=y
|
||||||
|
+CONFIG_ENV_MTD_NAME="u-boot-env"
|
||||||
|
+CONFIG_ENV_SIZE_REDUND=0x0
|
||||||
|
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
|
+CONFIG_USE_DEFAULT_ENV_FILE=y
|
||||||
|
+CONFIG_DEFAULT_ENV_FILE="gatonetworks_gdsp_env"
|
||||||
|
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||||
|
+CONFIG_VERSION_VARIABLE=y
|
||||||
|
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||||
|
+CONFIG_NETCONSOLE=y
|
||||||
|
+CONFIG_REGMAP=y
|
||||||
|
+CONFIG_SYSCON=y
|
||||||
|
+CONFIG_BUTTON=y
|
||||||
|
+CONFIG_BUTTON_GPIO=y
|
||||||
|
+CONFIG_CLK=y
|
||||||
|
+CONFIG_GPIO_HOG=y
|
||||||
|
+CONFIG_LED=y
|
||||||
|
+CONFIG_LED_BLINK=y
|
||||||
|
+CONFIG_LED_GPIO=y
|
||||||
|
+# CONFIG_MMC is not set
|
||||||
|
+CONFIG_MTD=y
|
||||||
|
+CONFIG_DM_MTD=y
|
||||||
|
+CONFIG_MTD_SPI_NAND=y
|
||||||
|
+CONFIG_DM_SPI_FLASH=y
|
||||||
|
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||||
|
+CONFIG_SPI_FLASH_EON=y
|
||||||
|
+CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||||
|
+CONFIG_SPI_FLASH_ISSI=y
|
||||||
|
+CONFIG_SPI_FLASH_MACRONIX=y
|
||||||
|
+CONFIG_SPI_FLASH_SPANSION=y
|
||||||
|
+CONFIG_SPI_FLASH_STMICRO=y
|
||||||
|
+CONFIG_SPI_FLASH_WINBOND=y
|
||||||
|
+CONFIG_SPI_FLASH_XMC=y
|
||||||
|
+CONFIG_SPI_FLASH_XTX=y
|
||||||
|
+CONFIG_SPI_FLASH_MTD=y
|
||||||
|
+CONFIG_UBI_SILENCE_MSG=y
|
||||||
|
+CONFIG_PHY_FIXED=y
|
||||||
|
+CONFIG_MEDIATEK_ETH=y
|
||||||
|
+CONFIG_PHY=y
|
||||||
|
+CONFIG_PHY_MTK_TPHY=y
|
||||||
|
+CONFIG_PINCTRL=y
|
||||||
|
+CONFIG_PINCONF=y
|
||||||
|
+CONFIG_PINCTRL_MT7981=y
|
||||||
|
+CONFIG_POWER_DOMAIN=y
|
||||||
|
+CONFIG_MTK_POWER_DOMAIN=y
|
||||||
|
+CONFIG_DM_PWM=y
|
||||||
|
+CONFIG_PWM_MTK=y
|
||||||
|
+CONFIG_DM_SERIAL=y
|
||||||
|
+CONFIG_MTK_SERIAL=y
|
||||||
|
+CONFIG_SPI=y
|
||||||
|
+CONFIG_DM_SPI=y
|
||||||
|
+CONFIG_MTK_SPIM=y
|
||||||
|
+CONFIG_USB=y
|
||||||
|
+CONFIG_USB_XHCI_HCD=y
|
||||||
|
+CONFIG_USB_XHCI_MTK=y
|
||||||
|
+CONFIG_USB_STORAGE=y
|
||||||
|
+CONFIG_WDT=y
|
||||||
|
+CONFIG_WDT_GPIO=y
|
||||||
|
+CONFIG_UBIFS_SILENCE_MSG=y
|
||||||
|
+CONFIG_HEXDUMP=y
|
||||||
|
+CONFIG_LMB_MAX_REGIONS=64
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gatonetworks_gdsp_env
|
||||||
|
@@ -0,0 +1,38 @@
|
||||||
|
+load_factory_data=if env exists factory_data_present ; then else mtd read Factory $loadaddr 0x0 0x1000 ; setenv factory_data_present 1 ; fi
|
||||||
|
+lan_mac_factory=run load_factory_data ; setexpr macoffs $loadaddr + 0x2a ; env readmem -b lan_mac $macoffs 0x6 ; setenv lan_mac_factory ; setenv macoffs
|
||||||
|
+wan_mac_factory=run load_factory_data ; setexpr macoffs $loadaddr + 0x24 ; env readmem -b wan_mac $macoffs 0x6 ; setenv wan_mac_factory ; setenv macoffs
|
||||||
|
+label_mac_factory=run load_factory_data ; setexpr macoffs $loadaddr + 0x4 ; env readmem -b label_mac $macoffs 0x6 ; setenv label_mac_factory ; setenv macoffs
|
||||||
|
+ethaddr_factory=setenv ethaddr $lan_mac ; setenv ethaddr_factory
|
||||||
|
+wifi_mac_factory=setenv wifi_mac $label_mac ; setenv wifi_mac_factory
|
||||||
|
+env_cleanup=setenv load_factory_data ; setenv factory_data_present ; setenv env_cleanup
|
||||||
|
+ipaddr=192.168.1.1
|
||||||
|
+serverip=192.168.1.10
|
||||||
|
+loadaddr=0x46000000
|
||||||
|
+bootcmd=run boot_nor
|
||||||
|
+bootdelay=0
|
||||||
|
+bootfile=openwrt-mediatek-filogic-gatonetworks_gdsp-initramfs-kernel.bin
|
||||||
|
+bootfile_upg=openwrt-mediatek-filogic-gatonetworks_gdsp-squashfs-sysupgrade.bin
|
||||||
|
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
|
||||||
|
+bootmenu_default=0
|
||||||
|
+bootmenu_delay=0
|
||||||
|
+bootmenu_title= [0;34m( ( ( [1;39mOpenWrt[0;34m ) ) )[0m
|
||||||
|
+bootmenu_0=Initialize environment.=run _firstboot
|
||||||
|
+bootmenu_0d=Run default boot command.=run boot_default
|
||||||
|
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_2=Boot system from flash.=run boot_nor ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_3=Load system via TFTP then write to flash.=run boot_tftp_sysupgrade ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_4=Reset all settings to factory defaults.=run reset_factory ; reset
|
||||||
|
+bootmenu_5=Reboot.=reset
|
||||||
|
+boot_first=if button reset ; then run boot_tftp ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu
|
||||||
|
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_tftp_forever
|
||||||
|
+boot_nor=mtd read firmware ${loadaddr} ; bootm $loadaddr
|
||||||
|
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr
|
||||||
|
+boot_tftp_forever=while true ; do run boot_tftp ; sleep 1 ; done
|
||||||
|
+boot_tftp_sysupgrade=tftpboot $loadaddr $bootfile_upg && iminfo $loadaddr && run nor_write_production
|
||||||
|
+reset_factory=env default -a && saveenv && reset
|
||||||
|
+nor_pad_size=setexpr image_eb $filesize / 0x1000 ; setexpr tmp1 image_size % 0x1000 ; test 0x$tmp1 -gt 0 && setexpr image_eb $image_eb + 1 ; setexpr image_eb $image_eb * 0x1000
|
||||||
|
+nor_write_production=run nor_pad_size ; test 0x$image_eb -le 0x1e80000 && mtd erase firmware 0x0 0x$image_eb && mtd write firmware $loadaddr 0x0 $filesize
|
||||||
|
+_init_env=setenv _init_env ; saveenv
|
||||||
|
+_firstboot=setenv _firstboot ; run _switch_to_menu ; run lan_mac_factory ; run wan_mac_factory ; run label_mac_factory ; run env_cleanup ; run ethaddr_factory ; run wifi_mac_factory ; run _init_env ; run boot_first
|
||||||
|
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
|
||||||
|
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title [33m$ver[0m"
|
@ -0,0 +1,362 @@
|
|||||||
|
--- /dev/null
|
||||||
|
+++ b/configs/mt7981_routerich_ax3000_defconfig
|
||||||
|
@@ -0,0 +1,107 @@
|
||||||
|
+CONFIG_ARM=y
|
||||||
|
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
|
||||||
|
+CONFIG_POSITION_INDEPENDENT=y
|
||||||
|
+CONFIG_ARCH_MEDIATEK=y
|
||||||
|
+CONFIG_TEXT_BASE=0x41e00000
|
||||||
|
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||||||
|
+CONFIG_NR_DRAM_BANKS=1
|
||||||
|
+CONFIG_DEFAULT_DEVICE_TREE="mt7981-routerich_ax3000"
|
||||||
|
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
+CONFIG_TARGET_MT7981=y
|
||||||
|
+CONFIG_PRE_CON_BUF_ADDR=0x4007ef00
|
||||||
|
+CONFIG_DEBUG_UART_BASE=0x11002000
|
||||||
|
+CONFIG_DEBUG_UART_CLOCK=40000000
|
||||||
|
+CONFIG_SYS_LOAD_ADDR=0x46000000
|
||||||
|
+CONFIG_DEBUG_UART=y
|
||||||
|
+CONFIG_FIT=y
|
||||||
|
+CONFIG_BOOTDELAY=30
|
||||||
|
+CONFIG_AUTOBOOT_KEYED=y
|
||||||
|
+CONFIG_AUTOBOOT_MENU_SHOW=y
|
||||||
|
+CONFIG_DEFAULT_FDT_FILE="mediatek/mt7981-routerich_ax3000.dtb"
|
||||||
|
+CONFIG_LOGLEVEL=7
|
||||||
|
+CONFIG_PRE_CONSOLE_BUFFER=y
|
||||||
|
+CONFIG_LOG=y
|
||||||
|
+CONFIG_BOARD_LATE_INIT=y
|
||||||
|
+CONFIG_HUSH_PARSER=y
|
||||||
|
+CONFIG_SYS_PROMPT="MT7981> "
|
||||||
|
+CONFIG_CMD_CPU=y
|
||||||
|
+CONFIG_CMD_LICENSE=y
|
||||||
|
+CONFIG_CMD_BOOTMENU=y
|
||||||
|
+CONFIG_CMD_ASKENV=y
|
||||||
|
+CONFIG_CMD_ERASEENV=y
|
||||||
|
+CONFIG_CMD_ENV_FLAGS=y
|
||||||
|
+CONFIG_CMD_STRINGS=y
|
||||||
|
+CONFIG_CMD_DM=y
|
||||||
|
+CONFIG_CMD_GPIO=y
|
||||||
|
+CONFIG_CMD_GPT=y
|
||||||
|
+CONFIG_CMD_MTD=y
|
||||||
|
+CONFIG_CMD_PART=y
|
||||||
|
+CONFIG_CMD_DHCP=y
|
||||||
|
+CONFIG_CMD_TFTPSRV=y
|
||||||
|
+CONFIG_CMD_RARP=y
|
||||||
|
+CONFIG_CMD_PING=y
|
||||||
|
+CONFIG_CMD_CDP=y
|
||||||
|
+CONFIG_CMD_SNTP=y
|
||||||
|
+CONFIG_CMD_DNS=y
|
||||||
|
+CONFIG_CMD_LINK_LOCAL=y
|
||||||
|
+CONFIG_CMD_PXE=y
|
||||||
|
+CONFIG_CMD_CACHE=y
|
||||||
|
+CONFIG_CMD_PSTORE=y
|
||||||
|
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
|
||||||
|
+CONFIG_CMD_UUID=y
|
||||||
|
+CONFIG_CMD_HASH=y
|
||||||
|
+CONFIG_CMD_SMC=y
|
||||||
|
+CONFIG_CMD_UBI=y
|
||||||
|
+CONFIG_CMD_UBI_RENAME=y
|
||||||
|
+CONFIG_OF_EMBED=y
|
||||||
|
+CONFIG_ENV_OVERWRITE=y
|
||||||
|
+CONFIG_ENV_IS_IN_UBI=y
|
||||||
|
+CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||||||
|
+CONFIG_ENV_UBI_PART="ubi"
|
||||||
|
+CONFIG_ENV_UBI_VOLUME="ubootenv"
|
||||||
|
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
|
||||||
|
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
|
+CONFIG_USE_DEFAULT_ENV_FILE=y
|
||||||
|
+CONFIG_DEFAULT_ENV_FILE="routerich_ax3000_env"
|
||||||
|
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||||
|
+CONFIG_VERSION_VARIABLE=y
|
||||||
|
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||||
|
+CONFIG_NETCONSOLE=y
|
||||||
|
+CONFIG_USE_IPADDR=y
|
||||||
|
+CONFIG_IPADDR="192.168.1.1"
|
||||||
|
+CONFIG_USE_SERVERIP=y
|
||||||
|
+CONFIG_SERVERIP="192.168.1.254"
|
||||||
|
+CONFIG_REGMAP=y
|
||||||
|
+CONFIG_SYSCON=y
|
||||||
|
+CONFIG_BUTTON=y
|
||||||
|
+CONFIG_BUTTON_GPIO=y
|
||||||
|
+CONFIG_CLK=y
|
||||||
|
+CONFIG_GPIO_HOG=y
|
||||||
|
+CONFIG_LED=y
|
||||||
|
+CONFIG_LED_BLINK=y
|
||||||
|
+CONFIG_LED_GPIO=y
|
||||||
|
+# CONFIG_MMC is not set
|
||||||
|
+CONFIG_MTD=y
|
||||||
|
+CONFIG_DM_MTD=y
|
||||||
|
+CONFIG_MTD_SPI_NAND=y
|
||||||
|
+CONFIG_MTD_UBI_FASTMAP=y
|
||||||
|
+CONFIG_PHY_FIXED=y
|
||||||
|
+CONFIG_MEDIATEK_ETH=y
|
||||||
|
+CONFIG_PHY=y
|
||||||
|
+CONFIG_PHY_MTK_TPHY=y
|
||||||
|
+CONFIG_PINCTRL=y
|
||||||
|
+CONFIG_PINCONF=y
|
||||||
|
+CONFIG_PINCTRL_MT7981=y
|
||||||
|
+CONFIG_POWER_DOMAIN=y
|
||||||
|
+CONFIG_MTK_POWER_DOMAIN=y
|
||||||
|
+CONFIG_DM_REGULATOR=y
|
||||||
|
+CONFIG_DM_REGULATOR_FIXED=y
|
||||||
|
+CONFIG_DM_REGULATOR_GPIO=y
|
||||||
|
+CONFIG_RAM=y
|
||||||
|
+CONFIG_DM_SERIAL=y
|
||||||
|
+CONFIG_MTK_SERIAL=y
|
||||||
|
+CONFIG_SPI=y
|
||||||
|
+CONFIG_DM_SPI=y
|
||||||
|
+CONFIG_MTK_SPIM=y
|
||||||
|
+CONFIG_ZSTD=y
|
||||||
|
+CONFIG_HEXDUMP=y
|
||||||
|
+CONFIG_LMB_MAX_REGIONS=64
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/arch/arm/dts/mt7981-routerich_ax3000.dts
|
||||||
|
@@ -0,0 +1,187 @@
|
||||||
|
+// SPDX-License-Identifier: GPL-2.0
|
||||||
|
+/*
|
||||||
|
+ * Copyright (c) 2022 MediaTek Inc.
|
||||||
|
+ * Author: Sam Shih <sam.shih@mediatek.com>
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+/dts-v1/;
|
||||||
|
+#include "mt7981.dtsi"
|
||||||
|
+#include <dt-bindings/gpio/gpio.h>
|
||||||
|
+#include <dt-bindings/input/linux-event-codes.h>
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <1>;
|
||||||
|
+ model = "Routerich AX3000";
|
||||||
|
+ compatible = "routerich,ax3000", "mediatek,mt7981";
|
||||||
|
+
|
||||||
|
+ chosen {
|
||||||
|
+ stdout-path = &uart0;
|
||||||
|
+ tick-timer = &timer0;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ memory@40000000 {
|
||||||
|
+ device_type = "memory";
|
||||||
|
+ reg = <0x40000000 0x10000000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ keys {
|
||||||
|
+ compatible = "gpio-keys";
|
||||||
|
+
|
||||||
|
+ button-0 {
|
||||||
|
+ label = "mesh";
|
||||||
|
+ linux,code = <BTN_0>;
|
||||||
|
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ button-1 {
|
||||||
|
+ label = "reset";
|
||||||
|
+ linux,code = <KEY_RESTART>;
|
||||||
|
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ leds {
|
||||||
|
+ compatible = "gpio-leds";
|
||||||
|
+
|
||||||
|
+ led-0 {
|
||||||
|
+ label = "red:wlan5g";
|
||||||
|
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-1 {
|
||||||
|
+ label = "red:wan";
|
||||||
|
+ gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-2 {
|
||||||
|
+ label = "blue:power";
|
||||||
|
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-3 {
|
||||||
|
+ label = "blue:lan1";
|
||||||
|
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-4 {
|
||||||
|
+ label = "blue:lan2";
|
||||||
|
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-5 {
|
||||||
|
+ label = "blue:lan3";
|
||||||
|
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-6 {
|
||||||
|
+ label = "blue:wan";
|
||||||
|
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-7 {
|
||||||
|
+ label = "blue:wlan2g";
|
||||||
|
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ led-8 {
|
||||||
|
+ label = "blue:mesh";
|
||||||
|
+ gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart0 {
|
||||||
|
+ mediatek,force-highspeed;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+ð {
|
||||||
|
+ status = "okay";
|
||||||
|
+ mediatek,gmac-id = <0>;
|
||||||
|
+ phy-mode = "2500base-x";
|
||||||
|
+ mediatek,switch = "mt7531";
|
||||||
|
+ reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
|
||||||
|
+
|
||||||
|
+ fixed-link {
|
||||||
|
+ speed = <2500>;
|
||||||
|
+ full-duplex;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pinctrl {
|
||||||
|
+ spi_flash_pins: spi0-pins-func-1 {
|
||||||
|
+ mux {
|
||||||
|
+ function = "flash";
|
||||||
|
+ groups = "spi0", "spi0_wp_hold";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ conf-pu {
|
||||||
|
+ pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
|
||||||
|
+ drive-strength = <MTK_DRIVE_8mA>;
|
||||||
|
+ bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ conf-pd {
|
||||||
|
+ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
|
||||||
|
+ drive-strength = <MTK_DRIVE_8mA>;
|
||||||
|
+ bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&spi0 {
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <0>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&spi_flash_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+ must_tx;
|
||||||
|
+ enhance_timing;
|
||||||
|
+ dma_ext;
|
||||||
|
+ ipm_design;
|
||||||
|
+ support_quad;
|
||||||
|
+ tick_dly = <2>;
|
||||||
|
+ sample_sel = <0>;
|
||||||
|
+
|
||||||
|
+ spi_nand@0 {
|
||||||
|
+ compatible = "spi-nand";
|
||||||
|
+ reg = <0>;
|
||||||
|
+ spi-max-frequency = <52000000>;
|
||||||
|
+
|
||||||
|
+ partitions {
|
||||||
|
+ compatible = "fixed-partitions";
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <1>;
|
||||||
|
+
|
||||||
|
+ partition@0 {
|
||||||
|
+ label = "bl2";
|
||||||
|
+ reg = <0x0 0x100000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@100000 {
|
||||||
|
+ label = "uboot-env-orig";
|
||||||
|
+ reg = <0x100000 0x80000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@160000 {
|
||||||
|
+ label = "Factory";
|
||||||
|
+ reg = <0x180000 0x200000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@380000 {
|
||||||
|
+ label = "fip";
|
||||||
|
+ reg = <0x380000 0x200000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ partition@580000 {
|
||||||
|
+ label = "ubi";
|
||||||
|
+ reg = <0x580000 0x7a80000>;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&watchdog {
|
||||||
|
+ status = "disabled";
|
||||||
|
+};
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/routerich_ax3000_env
|
||||||
|
@@ -0,0 +1,58 @@
|
||||||
|
+ipaddr=192.168.1.1
|
||||||
|
+serverip=192.168.1.254
|
||||||
|
+loadaddr=0x46000000
|
||||||
|
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
|
||||||
|
+bootcmd=run check_buttons ; if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
|
||||||
|
+bootconf=config-1
|
||||||
|
+bootdelay=0
|
||||||
|
+bootfile=openwrt-mediatek-filogic-routerich_ax3000-ubootmod-initramfs-recovery.itb
|
||||||
|
+bootfile_bl2=openwrt-mediatek-filogic-routerich_ax3000-ubootmod-preloader.bin
|
||||||
|
+bootfile_fip=openwrt-mediatek-filogic-routerich_ax3000-ubootmod-bl31-uboot.fip
|
||||||
|
+bootfile_upg=openwrt-mediatek-filogic-routerich_ax3000-ubootmod-squashfs-sysupgrade.itb
|
||||||
|
+bootled_pwr=blue:power
|
||||||
|
+bootled_rec=blue:power
|
||||||
|
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
|
||||||
|
+bootmenu_default=0
|
||||||
|
+bootmenu_delay=0
|
||||||
|
+bootmenu_title= [0;34m( ( ( [1;39mOpenWrt[0;34m ) ) )
|
||||||
|
+bootmenu_0=Initialize environment.=run _firstboot
|
||||||
|
+bootmenu_0d=Run default boot command.=run boot_default
|
||||||
|
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_6=[31mLoad BL31+U-Boot FIP via TFTP then write to NAND.[0m=run boot_tftp_write_fip ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_7=[31mLoad BL2 preloader via TFTP then write to NAND.[0m=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
|
||||||
|
+bootmenu_8=Reboot.=reset
|
||||||
|
+bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
|
||||||
|
+boot_first=if button reset ; then led $bootled_rec on ; run boot_default ; fi ; bootmenu
|
||||||
|
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
|
||||||
|
+boot_production=led $bootled_pwr on ; run ubi_read_production && bootm $loadaddr#$bootconf ; led $bootled_pwr off
|
||||||
|
+boot_recovery=led $bootled_rec on ; run ubi_read_recovery && bootm $loadaddr#$bootconf ; led $bootled_rec off
|
||||||
|
+boot_ubi=run boot_production ; run boot_recovery ; run boot_tftp_forever
|
||||||
|
+boot_tftp_forever=led $bootled_rec on ; while true ; do run boot_tftp ; sleep 1 ; done
|
||||||
|
+boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run ubi_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
|
||||||
|
+boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run ubi_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
|
||||||
|
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
|
||||||
|
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
|
||||||
|
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
|
||||||
|
+check_buttons=if button reset ; then run boot_tftp ; fi
|
||||||
|
+ethaddr_factory=mtd read Factory 0x40080000 0x0 0x20000 && env readmem -b ethaddr 0x40080004 0x6 ; setenv ethaddr_factory
|
||||||
|
+part_default=production
|
||||||
|
+part_recovery=recovery
|
||||||
|
+reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
|
||||||
|
+mtd_write_fip=mtd erase fip && mtd write fip $loadaddr
|
||||||
|
+mtd_write_bl2=mtd erase bl2 && mtd write bl2 $loadaddr
|
||||||
|
+ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x100000 dynamic || run ubi_format ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic || run ubi_format
|
||||||
|
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
|
||||||
|
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
|
||||||
|
+ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
|
||||||
|
+ubi_read_recovery=ubi check recovery && ubi read $loadaddr recovery
|
||||||
|
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
|
||||||
|
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic && ubi write $loadaddr fit $filesize
|
||||||
|
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic && ubi write $loadaddr recovery $filesize
|
||||||
|
+_init_env=setenv _init_env ; run ubi_create_env ; saveenv ; saveenv
|
||||||
|
+_firstboot=setenv _firstboot ; run ethaddr_factory ; run _switch_to_menu ; run _init_env ; run boot_first
|
||||||
|
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
|
||||||
|
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title [33m$ver[0m"
|
51
package/boot/uboot-stm32/Makefile
Normal file
51
package/boot/uboot-stm32/Makefile
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2024 Bootlin
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_VERSION:=2024.07
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_HASH:=f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f
|
||||||
|
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
|
||||||
|
|
||||||
|
UBOOT_USE_INTREE_DTC:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/u-boot.mk
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define U-Boot/Default
|
||||||
|
BUILD_TARGET:=stm32
|
||||||
|
UBOOT_IMAGE:=u-boot.bin u-boot.dtb
|
||||||
|
endef
|
||||||
|
|
||||||
|
define U-Boot/stm32mp13
|
||||||
|
BUILD_SUBTARGET:=stm32mp1
|
||||||
|
UBOOT_CONFIG:=stm32mp13
|
||||||
|
endef
|
||||||
|
|
||||||
|
define U-Boot/stm32mp135f-dk
|
||||||
|
$(call U-Boot/stm32mp13)
|
||||||
|
NAME:=STM32MP135F-DK
|
||||||
|
DEVICE_TREE:=stm32mp135f-dk
|
||||||
|
endef
|
||||||
|
|
||||||
|
UBOOT_TARGETS := stm32mp135f-dk
|
||||||
|
|
||||||
|
UBOOT_MAKE_FLAGS += DEVICE_TREE=$(DEVICE_TREE)
|
||||||
|
|
||||||
|
define Build/InstallDev
|
||||||
|
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||||
|
$(foreach img,$(UBOOT_IMAGE), \
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/$(img) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(img); \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/u-boot/install/default
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage/U-Boot))
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=gdb
|
PKG_NAME:=gdb
|
||||||
PKG_VERSION:=15.2
|
PKG_VERSION:=15.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@GNU/gdb
|
PKG_SOURCE_URL:=@GNU/gdb
|
||||||
@ -37,7 +37,7 @@ $(call Package/gdb/Default)
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/gdb/description
|
define Package/gdb/description
|
||||||
GDB, the GNU Project debugger, allows you to see what is going on `inside'
|
GDB, the GNU Project debugger, allows you to see what is going on 'inside'
|
||||||
another program while it executes -- or what another program was doing at the
|
another program while it executes -- or what another program was doing at the
|
||||||
moment it crashed.
|
moment it crashed.
|
||||||
endef
|
endef
|
||||||
|
@ -199,6 +199,14 @@ define Package/iwlwifi-firmware-ax210/install
|
|||||||
endef
|
endef
|
||||||
$(eval $(call BuildPackage,iwlwifi-firmware-ax210))
|
$(eval $(call BuildPackage,iwlwifi-firmware-ax210))
|
||||||
|
|
||||||
|
Package/iwlwifi-firmware-ax411 = $(call Package/firmware-default,Intel AX411 firmware)
|
||||||
|
define Package/iwlwifi-firmware-ax411/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware
|
||||||
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-so-a0-gf4-a0-89.ucode $(1)/lib/firmware
|
||||||
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-so-a0-gf4-a0.pnvm $(1)/lib/firmware
|
||||||
|
endef
|
||||||
|
$(eval $(call BuildPackage,iwlwifi-firmware-ax411))
|
||||||
|
|
||||||
Package/iwlwifi-firmware-be200 = $(call Package/firmware-default,Intel BE200 firmware)
|
Package/iwlwifi-firmware-be200 = $(call Package/firmware-default,Intel BE200 firmware)
|
||||||
define Package/iwlwifi-firmware-be200/install
|
define Package/iwlwifi-firmware-be200/install
|
||||||
$(INSTALL_DIR) $(1)/lib/firmware
|
$(INSTALL_DIR) $(1)/lib/firmware
|
||||||
@ -216,29 +224,49 @@ define Package/e100-firmware/install
|
|||||||
endef
|
endef
|
||||||
$(eval $(call BuildPackage,e100-firmware))
|
$(eval $(call BuildPackage,e100-firmware))
|
||||||
|
|
||||||
Package/intel-igpu-firmware-dmc = $(call Package/firmware-default,Intel iGPU DMC Display MC firmware)
|
i915_deps:=+i915-firmware-dmc +i915-firmware-guc +i915-firmware-huc +i915-firmware-gsc
|
||||||
define Package/intel-igpu-firmware-dmc/install
|
Package/i915-firmware = $(call Package/firmware-default,Intel I915 firmware \(meta package\),$(i915_deps),LICENSE.i915)
|
||||||
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
define Package/i915-firmware/install
|
||||||
$(CP) \
|
true
|
||||||
$(PKG_BUILD_DIR)/i915/*_dmc_*.bin* \
|
|
||||||
$(1)/lib/firmware/i915/
|
|
||||||
endef
|
endef
|
||||||
$(eval $(call BuildPackage,intel-igpu-firmware-dmc))
|
$(eval $(call BuildPackage,i915-firmware))
|
||||||
|
|
||||||
Package/intel-igpu-firmware-guc = $(call Package/firmware-default,Intel iGPU GUC Graphics MC firmware)
|
Package/i915-firmware-dmc = $(call Package/firmware-default,Intel I915 DMC firmware,,LICENSE.i915)
|
||||||
define Package/intel-igpu-firmware-guc/install
|
define Package/i915-firmware-dmc/install
|
||||||
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||||
$(CP) \
|
for f in $(PKG_BUILD_DIR)/i915/*_dmc*.bin; do \
|
||||||
$(PKG_BUILD_DIR)/i915/*_guc_*.bin* \
|
t=`echo $$$${f##*/} | cut -d_ -f2 | cut -d. -f1`; \
|
||||||
$(1)/lib/firmware/i915/
|
if [ "$$$$t" = dmc ]; then $(CP) $$$$f $(1)/lib/firmware/i915/; fi \
|
||||||
|
done
|
||||||
endef
|
endef
|
||||||
$(eval $(call BuildPackage,intel-igpu-firmware-guc))
|
$(eval $(call BuildPackage,i915-firmware-dmc))
|
||||||
|
|
||||||
Package/intel-igpu-firmware-huc = $(call Package/firmware-default,Intel iGPU HUC H.265 MC firmware)
|
Package/i915-firmware-guc = $(call Package/firmware-default,Intel I915 GUC firmware,,LICENSE.i915)
|
||||||
define Package/intel-igpu-firmware-huc/install
|
define Package/i915-firmware-guc/install
|
||||||
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||||
$(CP) \
|
for f in $(PKG_BUILD_DIR)/i915/*_guc*.bin; do \
|
||||||
$(PKG_BUILD_DIR)/i915/*_huc_*.bin* \
|
t=`echo $$$${f##*/} | cut -d_ -f2 | cut -d. -f1`; \
|
||||||
$(1)/lib/firmware/i915/
|
if [ "$$$$t" = guc ]; then $(CP) $$$$f $(1)/lib/firmware/i915/; fi \
|
||||||
|
done
|
||||||
endef
|
endef
|
||||||
$(eval $(call BuildPackage,intel-igpu-firmware-huc))
|
$(eval $(call BuildPackage,i915-firmware-guc))
|
||||||
|
|
||||||
|
Package/i915-firmware-huc = $(call Package/firmware-default,Intel I915 HUC firmware,,LICENSE.i915)
|
||||||
|
define Package/i915-firmware-huc/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||||
|
for f in $(PKG_BUILD_DIR)/i915/*_huc*.bin; do \
|
||||||
|
t=`echo $$$${f##*/} | cut -d_ -f2 | cut -d. -f1`; \
|
||||||
|
if [ "$$$$t" = huc ]; then $(CP) $$$$f $(1)/lib/firmware/i915/; fi \
|
||||||
|
done
|
||||||
|
endef
|
||||||
|
$(eval $(call BuildPackage,i915-firmware-huc))
|
||||||
|
|
||||||
|
Package/i915-firmware-gsc = $(call Package/firmware-default,Intel I915 GSC firmware,,LICENSE.i915)
|
||||||
|
define Package/i915-firmware-gsc/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||||
|
for f in $(PKG_BUILD_DIR)/i915/*_gsc*.bin; do \
|
||||||
|
t=`echo $$$${f##*/} | cut -d_ -f2 | cut -d. -f1`; \
|
||||||
|
if [ "$$$$t" = gsc ]; then $(CP) $$$$f $(1)/lib/firmware/i915/; fi \
|
||||||
|
done
|
||||||
|
endef
|
||||||
|
$(eval $(call BuildPackage,i915-firmware-gsc))
|
||||||
|
57
package/firmware/murata-firmware/Makefile
Normal file
57
package/firmware/murata-firmware/Makefile
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2024 Bootlin
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=murata-firmware
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_DATE:=2024-09-12
|
||||||
|
PKG_SOURCE_URL:=https://github.com/murata-wireless/cyw-fmac-fw.git
|
||||||
|
PKG_MIRROR_HASH:=26f8a2df800666daab183b2842e5b3d591b1e5b31769d5429f9d70527f43d152
|
||||||
|
PKG_SOURCE_VERSION:=50ac17bb65b2342cd954d49d9bc492709d431c3c
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
|
||||||
|
PKG_LICENSE_FILES:=LICENCE
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/murata-firmware-default
|
||||||
|
SECTION:=firmware
|
||||||
|
CATEGORY:=Firmware
|
||||||
|
URL:=https://community.murata.com/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/murata-firmware-43430-sdio
|
||||||
|
$(Package/murata-firmware-default)
|
||||||
|
TITLE:=BCM43430 FullMac SDIO firmware
|
||||||
|
CONFLICTS:=cypress-firmware-43430-sdio
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/murata-firmware-43430-sdio/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware/murata
|
||||||
|
$(INSTALL_DATA) \
|
||||||
|
$(PKG_BUILD_DIR)/cyfmac43430-sdio.bin \
|
||||||
|
$(1)/lib/firmware/murata/
|
||||||
|
$(INSTALL_DATA) \
|
||||||
|
$(PKG_BUILD_DIR)/cyfmac43430-sdio.1DX.clm_blob \
|
||||||
|
$(1)/lib/firmware/murata/
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
||||||
|
$(LN) \
|
||||||
|
../murata/cyfmac43430-sdio.bin \
|
||||||
|
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin
|
||||||
|
$(LN) \
|
||||||
|
../murata/cyfmac43430-sdio.1DX.clm_blob \
|
||||||
|
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,murata-firmware-43430-sdio))
|
||||||
|
|
48
package/firmware/murata-nvram/Makefile
Normal file
48
package/firmware/murata-nvram/Makefile
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2024 Bootlin
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=murata-nvram
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_DATE:=2024-09-28
|
||||||
|
PKG_SOURCE_URL:=https://github.com/murata-wireless/cyw-fmac-nvram.git
|
||||||
|
PKG_MIRROR_HASH:=e2fc6f1f9898edfd67f5495e615882700f03b42a75efa2e3f4e2d524aed0efb8
|
||||||
|
PKG_SOURCE_VERSION:=255819aab07572d87576a13329ef9d4c654167aa
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
|
||||||
|
PKG_LICENSE_FILES:=LICENCE.cypress
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/murata-nvram-default
|
||||||
|
SECTION:=firmware
|
||||||
|
CATEGORY:=Firmware
|
||||||
|
URL:=https://community.murata.com/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/murata-nvram-43430-sdio
|
||||||
|
$(Package/murata-nvram-default)
|
||||||
|
TITLE:=BCM43430 SDIO NVRAM
|
||||||
|
CONFLICTS:=brcmfmac-nvram-43430-sdio
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/murata-nvram-43430-sdio/install
|
||||||
|
$(INSTALL_DIR) $(1)/lib/firmware/brcm
|
||||||
|
$(INSTALL_DATA) ./files/cyfmac43430-sdio.1DX.stm32.txt \
|
||||||
|
$(1)/lib/firmware/brcm/
|
||||||
|
$(LN) \
|
||||||
|
cyfmac43430-sdio.1DX.stm32.txt \
|
||||||
|
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.st,stm32mp135f-dk.txt
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,murata-nvram-43430-sdio))
|
47
package/firmware/murata-nvram/files/cyfmac43430-sdio.1DX.stm32.txt
Executable file
47
package/firmware/murata-nvram/files/cyfmac43430-sdio.1DX.stm32.txt
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
# This NVRAM file is based on cyfmac43430-sdio.1DX.txt, except that the muxenab
|
||||||
|
# parameter was unset to enable IB IRQ (OOB IRQ is not stable on STM32
|
||||||
|
# platforms).
|
||||||
|
# 2.4 GHz, 20 MHz BW mode
|
||||||
|
manfid=0x2d0
|
||||||
|
prodid=0x0726
|
||||||
|
vendid=0x14e4
|
||||||
|
devid=0x43e2
|
||||||
|
boardtype=0x0726
|
||||||
|
boardrev=0x1202
|
||||||
|
boardnum=22
|
||||||
|
macaddr=00:90:4c:c5:12:38
|
||||||
|
sromrev=11
|
||||||
|
boardflags=0x00404201
|
||||||
|
boardflags3=0x08000000
|
||||||
|
xtalfreq=37400
|
||||||
|
nocrc=1
|
||||||
|
ag0=0
|
||||||
|
aa2g=1
|
||||||
|
ccode=ALL
|
||||||
|
#pa0itssit=0x20
|
||||||
|
extpagain2g=0
|
||||||
|
pa2ga0=-145,6667,-751
|
||||||
|
AvVmid_c0=0x0,0xc8
|
||||||
|
cckpwroffset0=2
|
||||||
|
maxp2ga0=74
|
||||||
|
#txpwrbckof=6
|
||||||
|
cckbw202gpo=0
|
||||||
|
legofdmbw202gpo=0x88888888
|
||||||
|
mcsbw202gpo=0xaaaaaaaa
|
||||||
|
propbw202gpo=0xdd
|
||||||
|
ofdmdigfilttype=18
|
||||||
|
ofdmdigfilttypebe=18
|
||||||
|
papdmode=1
|
||||||
|
papdvalidtest=1
|
||||||
|
pacalidx2g=48
|
||||||
|
papdepsoffset=-22
|
||||||
|
papdendidx=58
|
||||||
|
il0macaddr=00:90:4c:c5:12:38
|
||||||
|
wl0id=0x431b
|
||||||
|
# muxenab defined to enable OOB IRQ. Level sensitive interrupt via WL_HOST_WAKE line.
|
||||||
|
# muxenab=0x10
|
||||||
|
#BT COEX deferral limit setting
|
||||||
|
#btc_params 8 45000
|
||||||
|
#btc_params 10 20000
|
||||||
|
#spurconfig=0x3
|
||||||
|
# End of NVRAM - do not remove this line #
|
@ -29,7 +29,6 @@ define Package/omnia-mcu-firmware
|
|||||||
CATEGORY:=Firmware
|
CATEGORY:=Firmware
|
||||||
URL:=https://gitlab.nic.cz/turris/hw/$(PKG_DISTNAME)/-/releases
|
URL:=https://gitlab.nic.cz/turris/hw/$(PKG_DISTNAME)/-/releases
|
||||||
TITLE:=CZ.NIC Turris Omnia MCU firmware
|
TITLE:=CZ.NIC Turris Omnia MCU firmware
|
||||||
DEPENDS:=@TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/omnia-mcu-firmware/description
|
define Package/omnia-mcu-firmware/description
|
||||||
|
@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||||||
define KernelPackage/cryptodev
|
define KernelPackage/cryptodev
|
||||||
SUBMENU:=Cryptographic API modules
|
SUBMENU:=Cryptographic API modules
|
||||||
TITLE:=Driver for cryptographic acceleration
|
TITLE:=Driver for cryptographic acceleration
|
||||||
URL:=http://cryptodev-linux.org/
|
URL:=https://github.com/cryptodev-linux/cryptodev-linux
|
||||||
DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash
|
DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash
|
||||||
FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX)
|
FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX)
|
||||||
AUTOLOAD:=$(call AutoLoad,50,cryptodev)
|
AUTOLOAD:=$(call AutoLoad,50,cryptodev)
|
||||||
@ -36,8 +36,9 @@ define KernelPackage/cryptodev
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/cryptodev/description
|
define KernelPackage/cryptodev/description
|
||||||
This is a driver for that allows to use the Linux kernel supported
|
This driver allows use of the Linux kernel supported hardware-based
|
||||||
hardware ciphers by user-space applications.
|
cryptographic and hash accelerators by user-space applications,
|
||||||
|
via a "/dev/crypto" device.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Configure
|
define Build/Configure
|
||||||
|
@ -693,7 +693,6 @@ static struct platform_driver gpio_keys_driver = {
|
|||||||
.remove = gpio_keys_remove,
|
.remove = gpio_keys_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "gpio-keys",
|
.name = "gpio-keys",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_match_ptr(gpio_keys_of_match),
|
.of_match_table = of_match_ptr(gpio_keys_of_match),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -703,7 +702,6 @@ static struct platform_driver gpio_keys_polled_driver = {
|
|||||||
.remove = gpio_keys_remove,
|
.remove = gpio_keys_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "gpio-keys-polled",
|
.name = "gpio-keys-polled",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
|
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -366,7 +366,6 @@ err:
|
|||||||
|
|
||||||
static struct platform_driver nct5104d_gpio_driver = {
|
static struct platform_driver nct5104d_gpio_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.name = DRVNAME,
|
.name = DRVNAME,
|
||||||
},
|
},
|
||||||
.probe = nct5104d_gpio_probe,
|
.probe = nct5104d_gpio_probe,
|
||||||
|
@ -2807,7 +2807,6 @@ static struct platform_driver ltq_mei_driver = {
|
|||||||
.remove = ltq_mei_remove,
|
.remove = ltq_mei_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "lantiq,mei-xway",
|
.name = "lantiq,mei-xway",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_mei_match,
|
.of_match_table = ltq_mei_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef _lint
|
#ifndef _lint
|
||||||
@@ -1159,8 +1159,30 @@ module_param(debug_level, byte, 0);
|
@@ -1159,8 +1159,29 @@ module_param(debug_level, byte, 0);
|
||||||
MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs");
|
MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs");
|
||||||
#endif /* #ifndef DSL_DEBUG_DISABLE*/
|
#endif /* #ifndef DSL_DEBUG_DISABLE*/
|
||||||
|
|
||||||
@ -59,7 +59,6 @@
|
|||||||
+ .remove = __devexit_p(ltq_adsl_remove),
|
+ .remove = __devexit_p(ltq_adsl_remove),
|
||||||
+ .driver = {
|
+ .driver = {
|
||||||
+ .name = "adsl",
|
+ .name = "adsl",
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .of_match_table = ltq_adsl_match,
|
+ .of_match_table = ltq_adsl_match,
|
||||||
+ },
|
+ },
|
||||||
+};
|
+};
|
||||||
|
@ -1894,7 +1894,6 @@ static struct platform_driver ltq_atm_driver = {
|
|||||||
.remove = ltq_atm_remove,
|
.remove = ltq_atm_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "atm",
|
.name = "atm",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_atm_match,
|
.of_match_table = ltq_atm_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -196,7 +196,6 @@ static struct platform_driver ltq_deu_driver = {
|
|||||||
.remove = ltq_deu_remove,
|
.remove = ltq_deu_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "deu",
|
.name = "deu",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_deu_match,
|
.of_match_table = ltq_deu_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1600,7 +1600,6 @@ static struct platform_driver ltq_ptm_driver = {
|
|||||||
.remove = ltq_ptm_remove,
|
.remove = ltq_ptm_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ptm",
|
.name = "ptm",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_ptm_match,
|
.of_match_table = ltq_ptm_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1138,7 +1138,6 @@ static struct platform_driver ltq_ptm_driver = {
|
|||||||
.remove = ltq_ptm_remove,
|
.remove = ltq_ptm_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ptm",
|
.name = "ptm",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ltq_ptm_match,
|
.of_match_table = ltq_ptm_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -245,6 +245,25 @@ endef
|
|||||||
$(eval $(call KernelPackage,can-usb-esd))
|
$(eval $(call KernelPackage,can-usb-esd))
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/can-usb-gs
|
||||||
|
TITLE:=Geschwister Schneider UG interfaces
|
||||||
|
KCONFIG:=CONFIG_CAN_GS_USB
|
||||||
|
FILES:= \
|
||||||
|
$(LINUX_DIR)/drivers/net/can/usb/gs_usb.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,gs_usb)
|
||||||
|
$(call AddDepends/can,+kmod-usb-core)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/can-usb-gsr/description
|
||||||
|
This driver supports the Geschwister Schneider and
|
||||||
|
bytewerk.org candleLight compatible
|
||||||
|
(https://github.com/candle-usb/candleLight_fw) USB/CAN
|
||||||
|
interfaces.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,can-usb-gs))
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/can-usb-kvaser
|
define KernelPackage/can-usb-kvaser
|
||||||
TITLE:=Kvaser CAN/USB interface
|
TITLE:=Kvaser CAN/USB interface
|
||||||
KCONFIG:=CONFIG_CAN_KVASER_USB
|
KCONFIG:=CONFIG_CAN_KVASER_USB
|
||||||
|
@ -249,6 +249,15 @@ endef
|
|||||||
|
|
||||||
$(eval $(call KernelPackage,crypto-echainiv))
|
$(eval $(call KernelPackage,crypto-echainiv))
|
||||||
|
|
||||||
|
define KernelPackage/crypto-engine
|
||||||
|
TITLE:=Crypto engine
|
||||||
|
KCONFIG:=CONFIG_CRYPTO_ENGINE
|
||||||
|
FILES:=$(LINUX_DIR)/crypto/crypto_engine.ko
|
||||||
|
AUTOLOAD:=$(call AutoLoad,09,crypto_engine)
|
||||||
|
$(call AddDepends/crypto, +kmod-crypto-rsa +kmod-crypto-kpp)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,crypto-engine))
|
||||||
|
|
||||||
define KernelPackage/crypto-essiv
|
define KernelPackage/crypto-essiv
|
||||||
TITLE:=ESSIV support for block encryption
|
TITLE:=ESSIV support for block encryption
|
||||||
|
@ -46,6 +46,38 @@ endef
|
|||||||
$(eval $(call KernelPackage,iio-kfifo-buf))
|
$(eval $(call KernelPackage,iio-kfifo-buf))
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/industrialio-hw-consumer
|
||||||
|
TITLE:=Provides a bonding way to an other device in hardware
|
||||||
|
KCONFIG:=CONFIG_IIO_BUFFER_HW_CONSUMER
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-hw-consumer.ko
|
||||||
|
AUTOLOAD:=$(call AutoLoad,55,industrialio-hw-consumer)
|
||||||
|
$(call AddDepends/iio,+kmod-iio-kfifo-buf)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/industrialio-hw-consumer/description
|
||||||
|
Provides a way to bonding when an IIO device has a direct connection
|
||||||
|
to another device in hardware. In this case buffers for data transfers
|
||||||
|
are handled by hardware.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,industrialio-hw-consumer))
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/industrialio-buffer-cb
|
||||||
|
TITLE:=Provides callback buffer used for push in-kernel interfaces
|
||||||
|
KCONFIG:=CONFIG_IIO_BUFFER_CB
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-buffer-cb.ko
|
||||||
|
AUTOLOAD:=$(call AutoLoad,55,industrialio-triggered-buffer-cb)
|
||||||
|
$(call AddDepends/iio)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/industrialio-buffer-cb/description
|
||||||
|
Should be selected by any drivers that do in-kernel push usage.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,industrialio-buffer-cb))
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/industrialio-triggered-buffer
|
define KernelPackage/industrialio-triggered-buffer
|
||||||
TITLE:=Provides helper functions for setting up triggered buffers.
|
TITLE:=Provides helper functions for setting up triggered buffers.
|
||||||
DEPENDS:=+kmod-iio-kfifo-buf
|
DEPENDS:=+kmod-iio-kfifo-buf
|
||||||
|
@ -42,6 +42,24 @@ endef
|
|||||||
$(eval $(call KernelPackage,atmtcp))
|
$(eval $(call KernelPackage,atmtcp))
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/appletalk
|
||||||
|
SUBMENU:=$(NETWORK_SUPPORT_MENU)
|
||||||
|
TITLE:=Appletalk protocol support
|
||||||
|
KCONFIG:= \
|
||||||
|
CONFIG_ATALK \
|
||||||
|
CONFIG_DEV_APPLETALK \
|
||||||
|
CONFIG_IPDDP=n
|
||||||
|
FILES:=$(LINUX_DIR)/net/appletalk/appletalk.ko
|
||||||
|
AUTOLOAD:=$(call AutoLoad,40,appletalk)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/appletalk/description
|
||||||
|
Kernel module for AppleTalk protocol.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,appletalk))
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/bonding
|
define KernelPackage/bonding
|
||||||
SUBMENU:=$(NETWORK_SUPPORT_MENU)
|
SUBMENU:=$(NETWORK_SUPPORT_MENU)
|
||||||
TITLE:=Ethernet bonding driver
|
TITLE:=Ethernet bonding driver
|
||||||
|
@ -962,6 +962,7 @@ define KernelPackage/thermal
|
|||||||
CONFIG_THERMAL=y \
|
CONFIG_THERMAL=y \
|
||||||
CONFIG_THERMAL_OF=y \
|
CONFIG_THERMAL_OF=y \
|
||||||
CONFIG_CPU_THERMAL=y \
|
CONFIG_CPU_THERMAL=y \
|
||||||
|
CONFIG_DEVFREQ_THERMAL=n \
|
||||||
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
|
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
|
||||||
CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
|
CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
|
||||||
CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
|
CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
|
||||||
|
@ -314,6 +314,17 @@ endef
|
|||||||
$(eval $(call KernelPackage,sound-soc-spdif))
|
$(eval $(call KernelPackage,sound-soc-spdif))
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/sound-soc-dmic
|
||||||
|
TITLE:=Generic Digital Microphone CODEC
|
||||||
|
KCONFIG:=CONFIG_SND_SOC_DMIC
|
||||||
|
FILES:=$(LINUX_DIR)/sound/soc/codecs/snd-soc-dmic.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,snd-soc-dmic)
|
||||||
|
$(call AddDepends/sound,+kmod-sound-soc-core)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,sound-soc-dmic))
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/pcspkr
|
define KernelPackage/pcspkr
|
||||||
DEPENDS:=@TARGET_x86 +kmod-input-core
|
DEPENDS:=@TARGET_x86 +kmod-input-core
|
||||||
TITLE:=PC speaker support
|
TITLE:=PC speaker support
|
||||||
|
@ -576,6 +576,7 @@ define KernelPackage/usb-audio
|
|||||||
CONFIG_SND_USB_AUDIO
|
CONFIG_SND_USB_AUDIO
|
||||||
$(call AddDepends/usb)
|
$(call AddDepends/usb)
|
||||||
$(call AddDepends/sound)
|
$(call AddDepends/sound)
|
||||||
|
DEPENDS+=+kmod-media-controller
|
||||||
FILES:= \
|
FILES:= \
|
||||||
$(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
|
$(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
|
||||||
$(LINUX_DIR)/sound/usb/snd-usb-audio.ko
|
$(LINUX_DIR)/sound/usb/snd-usb-audio.ko
|
||||||
|
@ -12,6 +12,28 @@ V4L2_DIR=v4l2-core
|
|||||||
V4L2_USB_DIR=usb
|
V4L2_USB_DIR=usb
|
||||||
V4L2_MEM2MEM_DIR=platform
|
V4L2_MEM2MEM_DIR=platform
|
||||||
|
|
||||||
|
#
|
||||||
|
# Media
|
||||||
|
#
|
||||||
|
define KernelPackage/media-controller
|
||||||
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
|
TITLE:=Media Controller API
|
||||||
|
KCONFIG:= \
|
||||||
|
CONFIG_MEDIA_SUPPORT \
|
||||||
|
CONFIG_MEDIA_CONTROLLER=y
|
||||||
|
FILES:= \
|
||||||
|
$(LINUX_DIR)/drivers/media/mc/mc.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,mc)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/media-controller/description
|
||||||
|
Kernel modules for media controller API used to query media devices
|
||||||
|
internal topology and configure it dynamically.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,media-controller))
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Video Display
|
# Video Display
|
||||||
#
|
#
|
||||||
@ -336,7 +358,7 @@ $(eval $(call KernelPackage,drm-exec))
|
|||||||
define KernelPackage/drm-gem-shmem-helper
|
define KernelPackage/drm-gem-shmem-helper
|
||||||
SUBMENU:=$(VIDEO_MENU)
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
TITLE:=GEM shmem helper functions
|
TITLE:=GEM shmem helper functions
|
||||||
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm @!LINUX_5_15
|
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm
|
||||||
KCONFIG:=CONFIG_DRM_GEM_SHMEM_HELPER
|
KCONFIG:=CONFIG_DRM_GEM_SHMEM_HELPER
|
||||||
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_shmem_helper.ko
|
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_shmem_helper.ko
|
||||||
AUTOLOAD:=$(call AutoProbe,drm_shmem_helper)
|
AUTOLOAD:=$(call AutoProbe,drm_shmem_helper)
|
||||||
@ -345,6 +367,38 @@ endef
|
|||||||
$(eval $(call KernelPackage,drm-gem-shmem-helper))
|
$(eval $(call KernelPackage,drm-gem-shmem-helper))
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/drm-dma-helper
|
||||||
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
|
HIDDEN:=1
|
||||||
|
TITLE:=GEM DMA helper functions
|
||||||
|
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper
|
||||||
|
KCONFIG:=CONFIG_DRM_GEM_DMA_HELPER
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_dma_helper.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,drm_dma_helper)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/drm-dma-helper/description
|
||||||
|
GEM DMA helper functions.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,drm-dma-helper))
|
||||||
|
|
||||||
|
define KernelPackage/drm-mipi-dbi
|
||||||
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
|
HIDDEN:=1
|
||||||
|
TITLE:=MIPI DBI helpers
|
||||||
|
DEPENDS:=@DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper
|
||||||
|
KCONFIG:=CONFIG_DRM_MIPI_DBI
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_mipi_dbi.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,drm_mipi_dbi)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/drm-mipi-dbi/description
|
||||||
|
MIPI Display Bus Interface (DBI) LCD controller support.
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,drm-mipi-dbi))
|
||||||
|
|
||||||
define KernelPackage/drm-ttm
|
define KernelPackage/drm-ttm
|
||||||
SUBMENU:=$(VIDEO_MENU)
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
TITLE:=GPU memory management subsystem
|
TITLE:=GPU memory management subsystem
|
||||||
@ -440,6 +494,49 @@ endef
|
|||||||
|
|
||||||
$(eval $(call KernelPackage,drm-amdgpu))
|
$(eval $(call KernelPackage,drm-amdgpu))
|
||||||
|
|
||||||
|
define KernelPackage/drm-i915
|
||||||
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
|
TITLE:=Intel i915 DRM support
|
||||||
|
DEPENDS:=@(TARGET_x86_64||TARGET_x86_generic||TARGET_x86_legacy) \
|
||||||
|
@DISPLAY_SUPPORT +kmod-backlight +kmod-drm-ttm \
|
||||||
|
+kmod-drm-ttm-helper +kmod-drm-kms-helper +kmod-i2c-algo-bit +i915-firmware-dmc \
|
||||||
|
+kmod-drm-display-helper +kmod-drm-buddy +kmod-acpi-video \
|
||||||
|
+kmod-drm-exec +kmod-drm-suballoc-helper
|
||||||
|
KCONFIG:=CONFIG_DRM_I915 \
|
||||||
|
CONFIG_DRM_I915_CAPTURE_ERROR=y \
|
||||||
|
CONFIG_DRM_I915_COMPRESS_ERROR=y \
|
||||||
|
CONFIG_DRM_I915_DEBUG=n \
|
||||||
|
CONFIG_DRM_I915_DEBUG_GUC=n \
|
||||||
|
CONFIG_DRM_I915_DEBUG_MMIO=n \
|
||||||
|
CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n \
|
||||||
|
CONFIG_DRM_I915_DEBUG_VBLANK_EVADE=n \
|
||||||
|
CONFIG_DRM_I915_FENCE_TIMEOUT=10000 \
|
||||||
|
CONFIG_DRM_I915_FORCE_PROBE="" \
|
||||||
|
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 \
|
||||||
|
CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=n \
|
||||||
|
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 \
|
||||||
|
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640 \
|
||||||
|
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500 \
|
||||||
|
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 \
|
||||||
|
CONFIG_DRM_I915_SELFTEST=n \
|
||||||
|
CONFIG_DRM_I915_STOP_TIMEOUT=100 \
|
||||||
|
CONFIG_DRM_I915_SW_FENCE_CHECK_DAG=n \
|
||||||
|
CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS=n \
|
||||||
|
CONFIG_DRM_I915_TIMESLICE_DURATION=1 \
|
||||||
|
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 \
|
||||||
|
CONFIG_DRM_I915_USERPTR=y \
|
||||||
|
CONFIG_DRM_I915_WERROR=n \
|
||||||
|
CONFIG_FB_INTEL=n
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/gpu/drm/i915/i915.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,i915)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/drm-i915/description
|
||||||
|
Direct Rendering Manager (DRM) support for Intel GPU
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,drm-i915))
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/drm-imx
|
define KernelPackage/drm-imx
|
||||||
SUBMENU:=$(VIDEO_MENU)
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
@ -577,6 +674,24 @@ endef
|
|||||||
|
|
||||||
$(eval $(call KernelPackage,drm-panthor))
|
$(eval $(call KernelPackage,drm-panthor))
|
||||||
|
|
||||||
|
define KernelPackage/drm-panel-mipi-dbi
|
||||||
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
|
TITLE:=Generic MIPI DBI LCD panel
|
||||||
|
DEPENDS:=+kmod-drm-mipi-dbi +kmod-drm-dma-helper
|
||||||
|
KCONFIG:=CONFIG_DRM_PANEL_MIPI_DBI \
|
||||||
|
CONFIG_DRM_FBDEV_EMULATION=y \
|
||||||
|
CONFIG_DRM_FBDEV_OVERALLOC=100
|
||||||
|
FILES:= \
|
||||||
|
$(LINUX_DIR)/drivers/gpu/drm/tiny/panel-mipi-dbi.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,panel-mipi-dbi)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/drm-panel-mipi-dbi/description
|
||||||
|
Generic driver for MIPI Alliance Display Bus Interface
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,drm-panel-mipi-dbi))
|
||||||
|
|
||||||
define KernelPackage/drm-radeon
|
define KernelPackage/drm-radeon
|
||||||
SUBMENU:=$(VIDEO_MENU)
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
TITLE:=Radeon DRM support
|
TITLE:=Radeon DRM support
|
||||||
@ -601,9 +716,8 @@ $(eval $(call KernelPackage,drm-radeon))
|
|||||||
define KernelPackage/video-core
|
define KernelPackage/video-core
|
||||||
SUBMENU:=$(VIDEO_MENU)
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
TITLE=Video4Linux support
|
TITLE=Video4Linux support
|
||||||
DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core
|
DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core +kmod-media-controller
|
||||||
KCONFIG:= \
|
KCONFIG:= \
|
||||||
CONFIG_MEDIA_SUPPORT \
|
|
||||||
CONFIG_MEDIA_CAMERA_SUPPORT=y \
|
CONFIG_MEDIA_CAMERA_SUPPORT=y \
|
||||||
CONFIG_VIDEO_DEV \
|
CONFIG_VIDEO_DEV \
|
||||||
CONFIG_V4L_PLATFORM_DRIVERS=y \
|
CONFIG_V4L_PLATFORM_DRIVERS=y \
|
||||||
@ -659,6 +773,25 @@ endef
|
|||||||
|
|
||||||
$(eval $(call KernelPackage,video-videobuf2))
|
$(eval $(call KernelPackage,video-videobuf2))
|
||||||
|
|
||||||
|
define KernelPackage/video-async
|
||||||
|
TITLE:=V4L2 ASYNC support
|
||||||
|
KCONFIG:=CONFIG_V4L2_ASYNC
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-async.ko
|
||||||
|
$(call AddDepends/video)
|
||||||
|
AUTOLOAD:=$(call AutoProbe,v4l2-async)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,video-async))
|
||||||
|
|
||||||
|
define KernelPackage/video-fwnode
|
||||||
|
TITLE:=V4L2 FWNODE support
|
||||||
|
KCONFIG:=CONFIG_V4L2_FWNODE
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-fwnode.ko
|
||||||
|
$(call AddDepends/video,+kmod-video-async)
|
||||||
|
AUTOLOAD:=$(call AutoProbe,v4l2-fwnode)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,video-fwnode))
|
||||||
|
|
||||||
define KernelPackage/video-cpia2
|
define KernelPackage/video-cpia2
|
||||||
TITLE:=CPIA2 video driver
|
TITLE:=CPIA2 video driver
|
||||||
|
@ -437,6 +437,7 @@ define KernelPackage/brcmfmac/config
|
|||||||
default y if TARGET_starfive
|
default y if TARGET_starfive
|
||||||
default y if TARGET_rockchip
|
default y if TARGET_rockchip
|
||||||
default y if TARGET_sunxi
|
default y if TARGET_sunxi
|
||||||
|
default y if TARGET_stm32
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable support for cards attached to an SDIO bus.
|
Enable support for cards attached to an SDIO bus.
|
||||||
|
@ -146,7 +146,6 @@ static struct platform_driver ubootenv_driver = {
|
|||||||
.remove = ubootenv_remove,
|
.remove = ubootenv_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = NAME,
|
.name = NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = of_ubootenv_match,
|
.of_match_table = of_ubootenv_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -7,12 +7,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=elfutils
|
PKG_NAME:=elfutils
|
||||||
PKG_VERSION:=0.191
|
PKG_VERSION:=0.192
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) \
|
||||||
PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871
|
https://mirrors.kernel.org/sourceware/$(PKG_NAME)/$(PKG_VERSION)
|
||||||
|
PKG_HASH:=616099beae24aba11f9b63d86ca6cc8d566d968b802391334c91df54eab416b4
|
||||||
|
|
||||||
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
||||||
PKG_LICENSE:=GPL-3.0-or-later
|
PKG_LICENSE:=GPL-3.0-or-later
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
Requires.private: zlib @LIBZSTD@
|
Requires.private: zlib @LIBZSTD@
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -717,6 +717,9 @@ dnl AM_GNU_GETTEXT_REQUIRE_VERSION suppo
|
@@ -728,6 +728,9 @@ dnl AM_GNU_GETTEXT_REQUIRE_VERSION suppo
|
||||||
AM_GNU_GETTEXT_VERSION([0.19.6])
|
AM_GNU_GETTEXT_VERSION([0.19.6])
|
||||||
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6])
|
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6])
|
||||||
|
|
||||||
|
@ -8,4 +8,4 @@
|
|||||||
+ libasm
|
+ libasm
|
||||||
|
|
||||||
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING SECURITY \
|
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING SECURITY \
|
||||||
COPYING COPYING-GPLV2 COPYING-LGPLV3
|
COPYING COPYING-GPLV2 COPYING-LGPLV3 CONDUCT
|
||||||
|
@ -32,8 +32,8 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
|||||||
+# include <sys/uio.h>
|
+# include <sys/uio.h>
|
||||||
# include <sys/user.h>
|
# include <sys/user.h>
|
||||||
# include <sys/ptrace.h>
|
# include <sys/ptrace.h>
|
||||||
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
|
# include <asm/ptrace.h>
|
||||||
@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t
|
@@ -94,7 +94,7 @@ aarch64_set_initial_registers_tid (pid_t
|
||||||
|
|
||||||
Dwarf_Word dwarf_fregs[32];
|
Dwarf_Word dwarf_fregs[32];
|
||||||
for (int r = 0; r < 32; r++)
|
for (int r = 0; r < 32; r++)
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
From f5d6e088f84dd05278c4698a21cbf1ff4569978d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
|
Date: Tue, 22 Oct 2024 15:03:42 +0200
|
||||||
|
Subject: [PATCH] libelf: Add libeu objects to libelf.a static archive
|
||||||
|
|
||||||
|
libelf might use some symbols from libeu.a, specifically the eu-search
|
||||||
|
wrappers. But we don't ship libeu.a separately. So include the libeu
|
||||||
|
objects in the libelf.a archive to facilitate static linking.
|
||||||
|
|
||||||
|
* libelf/Makefile.am (libeu_objects): New variable.
|
||||||
|
(libelf_a_LIBADD): New, add libeu_objects.
|
||||||
|
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=32293
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
---
|
||||||
|
libelf/Makefile.am | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
--- a/libelf/Makefile.am
|
||||||
|
+++ b/libelf/Makefile.am
|
||||||
|
@@ -122,6 +122,9 @@ libelf.so: $(srcdir)/libelf.map $(libelf
|
||||||
|
@$(textrel_check)
|
||||||
|
$(AM_V_at)ln -fs $@ $@.$(VERSION)
|
||||||
|
|
||||||
|
+libeu_objects = $(shell $(AR) t ../lib/libeu.a)
|
||||||
|
+libelf_a_LIBADD = $(addprefix ../lib/,$(libeu_objects))
|
||||||
|
+
|
||||||
|
install: install-am libelf.so
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||||
|
$(INSTALL_PROGRAM) libelf.so $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so
|
@ -0,0 +1,24 @@
|
|||||||
|
From f3c664d069d81a4872a1ec8241ee709f37c53e9c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aaron Merey <amerey@redhat.com>
|
||||||
|
Date: Tue, 29 Oct 2024 14:16:57 -0400
|
||||||
|
Subject: [PATCH] configure.ac: Fix ENABLE_IMA_VERIFICATION conditional
|
||||||
|
|
||||||
|
Fix test statement for ENABLE_IMA_VERIFICATION always evalutating to
|
||||||
|
false due to a missing 'x'.
|
||||||
|
|
||||||
|
Signed-off-by: Aaron Merey <amerey@redhat.com>
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -895,7 +895,7 @@ AS_IF([test "x$enable_debuginfod" != "xn
|
||||||
|
AM_CONDITIONAL([DEBUGINFOD],[test "x$enable_debuginfod" = "xyes"])
|
||||||
|
AS_IF([test "x$enable_debuginfod_ima_verification" = "xyes"],AC_DEFINE([ENABLE_IMA_VERIFICATION],[1],[Build IMA verification]))
|
||||||
|
AS_IF([test "x$have_libarchive" = "xyes"],AC_DEFINE([HAVE_LIBARCHIVE],[1],[Define to 1 if libarchive is available]))
|
||||||
|
-AM_CONDITIONAL([ENABLE_IMA_VERIFICATION],[test "$enable_debuginfod_ima_verification" = "xyes"])
|
||||||
|
+AM_CONDITIONAL([ENABLE_IMA_VERIFICATION],[test "x$enable_debuginfod_ima_verification" = "xyes"])
|
||||||
|
AM_CONDITIONAL([OLD_LIBMICROHTTPD],[test "x$old_libmicrohttpd" = "xyes"])
|
||||||
|
|
||||||
|
dnl for /etc/profile.d/elfutils.{csh,sh}
|
@ -0,0 +1,193 @@
|
|||||||
|
From 8707194a9f2f0b13e53041b03ebfdbdbd2942e43 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
|
Date: Tue, 5 Nov 2024 23:31:14 +0100
|
||||||
|
Subject: [PATCH 1/1] libelf: Only fetch shdr once in elf_compress[_gnu]
|
||||||
|
|
||||||
|
Some compilers assume the second call to elf[32|64]_getshdr can fail
|
||||||
|
and produce error: potential null pointer dereference. Just store the
|
||||||
|
result of the first call and reuse (when not NULL).
|
||||||
|
|
||||||
|
* libelf/elf_compress.c (elf_compress): Store getshdr result in
|
||||||
|
a shdr union var.
|
||||||
|
* libelf/elf_compress_gnu.c (): Likewise
|
||||||
|
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=32311
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
---
|
||||||
|
libelf/elf_compress.c | 55 +++++++++++++++++++++------------------
|
||||||
|
libelf/elf_compress_gnu.c | 45 ++++++++++++++------------------
|
||||||
|
2 files changed, 48 insertions(+), 52 deletions(-)
|
||||||
|
|
||||||
|
--- a/libelf/elf_compress.c
|
||||||
|
+++ b/libelf/elf_compress.c
|
||||||
|
@@ -584,25 +584,30 @@ elf_compress (Elf_Scn *scn, int type, un
|
||||||
|
Elf64_Xword sh_flags;
|
||||||
|
Elf64_Word sh_type;
|
||||||
|
Elf64_Xword sh_addralign;
|
||||||
|
+ union shdr
|
||||||
|
+ {
|
||||||
|
+ Elf32_Shdr *s32;
|
||||||
|
+ Elf64_Shdr *s64;
|
||||||
|
+ } shdr;
|
||||||
|
if (elfclass == ELFCLASS32)
|
||||||
|
{
|
||||||
|
- Elf32_Shdr *shdr = elf32_getshdr (scn);
|
||||||
|
- if (shdr == NULL)
|
||||||
|
+ shdr.s32 = elf32_getshdr (scn);
|
||||||
|
+ if (shdr.s32 == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
- sh_flags = shdr->sh_flags;
|
||||||
|
- sh_type = shdr->sh_type;
|
||||||
|
- sh_addralign = shdr->sh_addralign;
|
||||||
|
+ sh_flags = shdr.s32->sh_flags;
|
||||||
|
+ sh_type = shdr.s32->sh_type;
|
||||||
|
+ sh_addralign = shdr.s32->sh_addralign;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- Elf64_Shdr *shdr = elf64_getshdr (scn);
|
||||||
|
- if (shdr == NULL)
|
||||||
|
+ shdr.s64 = elf64_getshdr (scn);
|
||||||
|
+ if (shdr.s64 == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
- sh_flags = shdr->sh_flags;
|
||||||
|
- sh_type = shdr->sh_type;
|
||||||
|
- sh_addralign = shdr->sh_addralign;
|
||||||
|
+ sh_flags = shdr.s64->sh_flags;
|
||||||
|
+ sh_type = shdr.s64->sh_type;
|
||||||
|
+ sh_addralign = shdr.s64->sh_addralign;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((sh_flags & SHF_ALLOC) != 0)
|
||||||
|
@@ -679,17 +684,17 @@ elf_compress (Elf_Scn *scn, int type, un
|
||||||
|
correctly and ignored when SHF_COMPRESSED is set. */
|
||||||
|
if (elfclass == ELFCLASS32)
|
||||||
|
{
|
||||||
|
- Elf32_Shdr *shdr = elf32_getshdr (scn);
|
||||||
|
- shdr->sh_size = new_size;
|
||||||
|
- shdr->sh_addralign = __libelf_type_align (ELFCLASS32, ELF_T_CHDR);
|
||||||
|
- shdr->sh_flags |= SHF_COMPRESSED;
|
||||||
|
+ shdr.s32->sh_size = new_size;
|
||||||
|
+ shdr.s32->sh_addralign = __libelf_type_align (ELFCLASS32,
|
||||||
|
+ ELF_T_CHDR);
|
||||||
|
+ shdr.s32->sh_flags |= SHF_COMPRESSED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- Elf64_Shdr *shdr = elf64_getshdr (scn);
|
||||||
|
- shdr->sh_size = new_size;
|
||||||
|
- shdr->sh_addralign = __libelf_type_align (ELFCLASS64, ELF_T_CHDR);
|
||||||
|
- shdr->sh_flags |= SHF_COMPRESSED;
|
||||||
|
+ shdr.s64->sh_size = new_size;
|
||||||
|
+ shdr.s64->sh_addralign = __libelf_type_align (ELFCLASS64,
|
||||||
|
+ ELF_T_CHDR);
|
||||||
|
+ shdr.s64->sh_flags |= SHF_COMPRESSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
__libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_CHDR);
|
||||||
|
@@ -731,17 +736,15 @@ elf_compress (Elf_Scn *scn, int type, un
|
||||||
|
correctly and ignored when SHF_COMPRESSED is set. */
|
||||||
|
if (elfclass == ELFCLASS32)
|
||||||
|
{
|
||||||
|
- Elf32_Shdr *shdr = elf32_getshdr (scn);
|
||||||
|
- shdr->sh_size = scn->zdata_size;
|
||||||
|
- shdr->sh_addralign = scn->zdata_align;
|
||||||
|
- shdr->sh_flags &= ~SHF_COMPRESSED;
|
||||||
|
+ shdr.s32->sh_size = scn->zdata_size;
|
||||||
|
+ shdr.s32->sh_addralign = scn->zdata_align;
|
||||||
|
+ shdr.s32->sh_flags &= ~SHF_COMPRESSED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- Elf64_Shdr *shdr = elf64_getshdr (scn);
|
||||||
|
- shdr->sh_size = scn->zdata_size;
|
||||||
|
- shdr->sh_addralign = scn->zdata_align;
|
||||||
|
- shdr->sh_flags &= ~SHF_COMPRESSED;
|
||||||
|
+ shdr.s64->sh_size = scn->zdata_size;
|
||||||
|
+ shdr.s64->sh_addralign = scn->zdata_align;
|
||||||
|
+ shdr.s64->sh_flags &= ~SHF_COMPRESSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
__libelf_reset_rawdata (scn, scn->zdata_base,
|
||||||
|
--- a/libelf/elf_compress_gnu.c
|
||||||
|
+++ b/libelf/elf_compress_gnu.c
|
||||||
|
@@ -59,25 +59,30 @@ elf_compress_gnu (Elf_Scn *scn, int infl
|
||||||
|
Elf64_Xword sh_flags;
|
||||||
|
Elf64_Word sh_type;
|
||||||
|
Elf64_Xword sh_addralign;
|
||||||
|
+ union shdr
|
||||||
|
+ {
|
||||||
|
+ Elf32_Shdr *s32;
|
||||||
|
+ Elf64_Shdr *s64;
|
||||||
|
+ } shdr;
|
||||||
|
if (elfclass == ELFCLASS32)
|
||||||
|
{
|
||||||
|
- Elf32_Shdr *shdr = elf32_getshdr (scn);
|
||||||
|
- if (shdr == NULL)
|
||||||
|
+ shdr.s32 = elf32_getshdr (scn);
|
||||||
|
+ if (shdr.s32 == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
- sh_flags = shdr->sh_flags;
|
||||||
|
- sh_type = shdr->sh_type;
|
||||||
|
- sh_addralign = shdr->sh_addralign;
|
||||||
|
+ sh_flags = shdr.s32->sh_flags;
|
||||||
|
+ sh_type = shdr.s32->sh_type;
|
||||||
|
+ sh_addralign = shdr.s32->sh_addralign;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- Elf64_Shdr *shdr = elf64_getshdr (scn);
|
||||||
|
- if (shdr == NULL)
|
||||||
|
+ shdr.s64 = elf64_getshdr (scn);
|
||||||
|
+ if (shdr.s64 == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
- sh_flags = shdr->sh_flags;
|
||||||
|
- sh_type = shdr->sh_type;
|
||||||
|
- sh_addralign = shdr->sh_addralign;
|
||||||
|
+ sh_flags = shdr.s64->sh_flags;
|
||||||
|
+ sh_type = shdr.s64->sh_type;
|
||||||
|
+ sh_addralign = shdr.s64->sh_addralign;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Allocated sections, or sections that are already are compressed
|
||||||
|
@@ -122,15 +127,9 @@ elf_compress_gnu (Elf_Scn *scn, int infl
|
||||||
|
sh_flags won't have a SHF_COMPRESSED hint in the GNU format.
|
||||||
|
Just adjust the sh_size. */
|
||||||
|
if (elfclass == ELFCLASS32)
|
||||||
|
- {
|
||||||
|
- Elf32_Shdr *shdr = elf32_getshdr (scn);
|
||||||
|
- shdr->sh_size = new_size;
|
||||||
|
- }
|
||||||
|
+ shdr.s32->sh_size = new_size;
|
||||||
|
else
|
||||||
|
- {
|
||||||
|
- Elf64_Shdr *shdr = elf64_getshdr (scn);
|
||||||
|
- shdr->sh_size = new_size;
|
||||||
|
- }
|
||||||
|
+ shdr.s64->sh_size = new_size;
|
||||||
|
|
||||||
|
__libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_BYTE);
|
||||||
|
|
||||||
|
@@ -187,15 +186,9 @@ elf_compress_gnu (Elf_Scn *scn, int infl
|
||||||
|
sh_flags won't have a SHF_COMPRESSED hint in the GNU format.
|
||||||
|
Just adjust the sh_size. */
|
||||||
|
if (elfclass == ELFCLASS32)
|
||||||
|
- {
|
||||||
|
- Elf32_Shdr *shdr = elf32_getshdr (scn);
|
||||||
|
- shdr->sh_size = size;
|
||||||
|
- }
|
||||||
|
+ shdr.s32->sh_size = size;
|
||||||
|
else
|
||||||
|
- {
|
||||||
|
- Elf64_Shdr *shdr = elf64_getshdr (scn);
|
||||||
|
- shdr->sh_size = size;
|
||||||
|
- }
|
||||||
|
+ shdr.s64->sh_size = size;
|
||||||
|
|
||||||
|
__libelf_reset_rawdata (scn, buf_out, size, sh_addralign,
|
||||||
|
__libelf_data_type (&ehdr, sh_type,
|
@ -0,0 +1,55 @@
|
|||||||
|
strip.c: Pointer `arhdr` created at strip.c:2741 and then dereferenced without NULL-check.
|
||||||
|
The same situation for the `arhdr` pointer at the objdump.c:313 and
|
||||||
|
the `h` pointer at the readelf.c:13545.
|
||||||
|
|
||||||
|
Triggers found by static analyzer Svace.
|
||||||
|
|
||||||
|
Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
|
||||||
|
---
|
||||||
|
src/objdump.c | 5 +++++
|
||||||
|
src/readelf.c | 5 +++++
|
||||||
|
src/strip.c | 5 +++++
|
||||||
|
3 files changed, 15 insertions(+)
|
||||||
|
|
||||||
|
--- a/src/objdump.c
|
||||||
|
+++ b/src/objdump.c
|
||||||
|
@@ -311,6 +311,11 @@ handle_ar (int fd, Elf *elf, const char
|
||||||
|
{
|
||||||
|
/* The the header for this element. */
|
||||||
|
Elf_Arhdr *arhdr = elf_getarhdr (subelf);
|
||||||
|
+ if (arhdr == NULL)
|
||||||
|
+ {
|
||||||
|
+ printf ("cannot get arhdr: %s\n", elf_errmsg (-1));
|
||||||
|
+ exit (1);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Skip over the index entries. */
|
||||||
|
if (strcmp (arhdr->ar_name, "/") != 0
|
||||||
|
--- a/src/readelf.c
|
||||||
|
+++ b/src/readelf.c
|
||||||
|
@@ -13543,6 +13543,11 @@ dump_archive_index (Elf *elf, const char
|
||||||
|
as_off, fname, elf_errmsg (-1));
|
||||||
|
|
||||||
|
const Elf_Arhdr *h = elf_getarhdr (subelf);
|
||||||
|
+ if (h == NULL)
|
||||||
|
+ {
|
||||||
|
+ printf ("cannot get arhdr: %s\n", elf_errmsg (-1));
|
||||||
|
+ exit (1);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
printf (_("Archive member '%s' contains:\n"), h->ar_name);
|
||||||
|
|
||||||
|
--- a/src/strip.c
|
||||||
|
+++ b/src/strip.c
|
||||||
|
@@ -2739,6 +2739,11 @@ handle_ar (int fd, Elf *elf, const char
|
||||||
|
{
|
||||||
|
/* The the header for this element. */
|
||||||
|
Elf_Arhdr *arhdr = elf_getarhdr (subelf);
|
||||||
|
+ if (arhdr == NULL)
|
||||||
|
+ {
|
||||||
|
+ printf ("cannot get arhdr: %s\n", elf_errmsg (-1));
|
||||||
|
+ exit (1);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (elf_kind (subelf) == ELF_K_ELF)
|
||||||
|
result |= handle_elf (fd, subelf, new_prefix, arhdr->ar_name, 0, NULL);
|
@ -69,7 +69,7 @@ endef
|
|||||||
|
|
||||||
define Package/libreadline/install
|
define Package/libreadline/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.so.* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.so* $(1)/usr/lib/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call HostBuild))
|
$(eval $(call HostBuild))
|
||||||
|
@ -8,13 +8,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=odhcp6c
|
PKG_NAME:=odhcp6c
|
||||||
PKG_RELEASE:=20
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
|
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
|
||||||
PKG_SOURCE_DATE:=2023-05-12
|
PKG_SOURCE_DATE:=2024-09-25
|
||||||
PKG_SOURCE_VERSION:=bcd283632ac13391aac3ebdd074d1fd832d76fa3
|
PKG_SOURCE_VERSION:=b6ae9ffaeb0e18e9fa3d5be62faa8d3c9f340a58
|
||||||
PKG_MIRROR_HASH:=0c18c578045f9251bd86a5b8fb0518b69c519e83f69907bf76583a2985482508
|
PKG_MIRROR_HASH:=25499b6a0d403815e6b04869a02d2d5a32582348bff2bc2626559d297425a908
|
||||||
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
|
@ -8,14 +8,14 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=dropbear
|
PKG_NAME:=dropbear
|
||||||
PKG_VERSION:=2024.85
|
PKG_VERSION:=2024.86
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:= \
|
PKG_SOURCE_URL:= \
|
||||||
https://matt.ucc.asn.au/dropbear/releases/ \
|
https://matt.ucc.asn.au/dropbear/releases/ \
|
||||||
https://dropbear.nl/mirror/releases/
|
https://dropbear.nl/mirror/releases/
|
||||||
PKG_HASH:=86b036c433a69d89ce51ebae335d65c47738ccf90d13e5eb0fea832e556da502
|
PKG_HASH:=e78936dffc395f2e0db099321d6be659190966b99712b55c530dd0a1822e0a5e
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=LICENSE libtomcrypt/LICENSE libtommath/LICENSE
|
PKG_LICENSE_FILES:=LICENSE libtomcrypt/LICENSE libtommath/LICENSE
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
config dropbear
|
# See https://openwrt.org/docs/guide-user/base-system/dropbear
|
||||||
|
config dropbear main
|
||||||
|
option enable '1'
|
||||||
option PasswordAuth 'on'
|
option PasswordAuth 'on'
|
||||||
option RootPasswordAuth 'on'
|
option RootPasswordAuth 'on'
|
||||||
option Port '22'
|
option Port '22'
|
||||||
|
@ -361,7 +361,7 @@ dropbear_instance()
|
|||||||
load_interfaces()
|
load_interfaces()
|
||||||
{
|
{
|
||||||
local enable
|
local enable
|
||||||
config_get enable "$1" enable 1
|
config_get_bool enable "$1" enable 1
|
||||||
[ "${enable}" = "1" ] || return 0
|
[ "${enable}" = "1" ] || return 0
|
||||||
|
|
||||||
local direct_iface iface
|
local direct_iface iface
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/src/svr-chansession.c
|
--- a/src/svr-chansession.c
|
||||||
+++ b/src/svr-chansession.c
|
+++ b/src/svr-chansession.c
|
||||||
@@ -987,12 +987,12 @@ static void execchild(const void *user_d
|
@@ -984,12 +984,12 @@ static void execchild(const void *user_d
|
||||||
/* We can only change uid/gid as root ... */
|
/* We can only change uid/gid as root ... */
|
||||||
if (getuid() == 0) {
|
if (getuid() == 0) {
|
||||||
|
|
||||||
|
@ -84,7 +84,11 @@ ifneq ($(CONFIG_DRIVER_11BE_SUPPORT),)
|
|||||||
HOSTAPD_IEEE80211BE:=y
|
HOSTAPD_IEEE80211BE:=y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CORE_DEPENDS = +ucode +libubus +libucode +ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop +libblobmsg-json +libudebug
|
|
||||||
|
CORE_DEPENDS = +ucode +libucode \
|
||||||
|
+ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop \
|
||||||
|
+libubus +libblobmsg-json \
|
||||||
|
+libudebug
|
||||||
OPENSSL_DEPENDS = +PACKAGE_$(1):libopenssl +PACKAGE_$(1):libopenssl-legacy
|
OPENSSL_DEPENDS = +PACKAGE_$(1):libopenssl +PACKAGE_$(1):libopenssl-legacy
|
||||||
|
|
||||||
DRIVER_MAKEOPTS= \
|
DRIVER_MAKEOPTS= \
|
||||||
@ -716,7 +720,13 @@ define Install/supplicant
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/hostapd-common/install
|
define Package/hostapd-common/install
|
||||||
$(INSTALL_DIR) $(1)/etc/capabilities $(1)/etc/rc.button $(1)/etc/hotplug.d/ieee80211 $(1)/etc/init.d $(1)/lib/netifd $(1)/usr/share/acl.d $(1)/usr/share/hostap
|
$(INSTALL_DIR) \
|
||||||
|
$(1)/etc/capabilities \
|
||||||
|
$(1)/etc/rc.button \
|
||||||
|
$(1)/etc/hotplug.d/ieee80211 \
|
||||||
|
$(1)/etc/init.d $(1)/lib/netifd \
|
||||||
|
$(1)/usr/share/acl.d \
|
||||||
|
$(1)/usr/share/hostap
|
||||||
$(INSTALL_BIN) ./files/dhcp-get-server.sh $(1)/lib/netifd/dhcp-get-server.sh
|
$(INSTALL_BIN) ./files/dhcp-get-server.sh $(1)/lib/netifd/dhcp-get-server.sh
|
||||||
$(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad
|
$(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad
|
||||||
$(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps
|
$(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps
|
||||||
|
@ -10,7 +10,14 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
|
|
||||||
--- a/pppd/sys-linux.c
|
--- a/pppd/sys-linux.c
|
||||||
+++ b/pppd/sys-linux.c
|
+++ b/pppd/sys-linux.c
|
||||||
@@ -231,7 +231,7 @@ static int driver_is_old = 0;
|
@@ -224,14 +224,10 @@ static fd_set in_fds; /* set of fds tha
|
||||||
|
static int max_in_fd; /* highest fd set in in_fds */
|
||||||
|
|
||||||
|
static int has_proxy_arp = 0;
|
||||||
|
-static int driver_version = 0;
|
||||||
|
-static int driver_modification = 0;
|
||||||
|
-static int driver_patch = 0;
|
||||||
|
-static int driver_is_old = 0;
|
||||||
static int restore_term = 0; /* 1 => we've munged the terminal */
|
static int restore_term = 0; /* 1 => we've munged the terminal */
|
||||||
static struct termios inittermios; /* Initial TTY termios */
|
static struct termios inittermios; /* Initial TTY termios */
|
||||||
|
|
||||||
@ -19,17 +26,18 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
|
|
||||||
static char loop_name[20];
|
static char loop_name[20];
|
||||||
static unsigned char inbuf[512]; /* buffer for chars read from loopback */
|
static unsigned char inbuf[512]; /* buffer for chars read from loopback */
|
||||||
@@ -250,8 +250,8 @@ static int looped; /* 1 if using loop
|
@@ -249,9 +245,8 @@ static int dynaddr_set; /* 1 if ip_dyna
|
||||||
|
static int looped; /* 1 if using loop */
|
||||||
static int link_mtu; /* mtu for the link (not bundle) */
|
static int link_mtu; /* mtu for the link (not bundle) */
|
||||||
|
|
||||||
static struct utsname utsname; /* for the kernel version */
|
-static struct utsname utsname; /* for the kernel version */
|
||||||
-static int kernel_version;
|
-static int kernel_version;
|
||||||
#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
|
#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
|
||||||
+static const int kernel_version = KVERSION(2,6,37);
|
+static const int kernel_version = KVERSION(4,9,0);
|
||||||
|
|
||||||
#define MAX_IFS 100
|
#define MAX_IFS 100
|
||||||
|
|
||||||
@@ -1970,11 +1970,12 @@ int ccp_fatal_error (int unit)
|
@@ -1970,11 +1965,12 @@ int ccp_fatal_error (int unit)
|
||||||
*
|
*
|
||||||
* path_to_procfs - find the path to the proc file system mount point
|
* path_to_procfs - find the path to the proc file system mount point
|
||||||
*/
|
*/
|
||||||
@ -44,7 +52,7 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
struct mntent *mntent;
|
struct mntent *mntent;
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
@@ -1996,6 +1997,7 @@ static char *path_to_procfs(const char *
|
@@ -1996,6 +1992,7 @@ static char *path_to_procfs(const char *
|
||||||
fclose (fp);
|
fclose (fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,35 +60,24 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
|
|
||||||
strlcpy(proc_path + proc_path_len, tail,
|
strlcpy(proc_path + proc_path_len, tail,
|
||||||
sizeof(proc_path) - proc_path_len);
|
sizeof(proc_path) - proc_path_len);
|
||||||
@@ -2895,15 +2897,19 @@ int ppp_check_kernel_support(void)
|
@@ -2889,6 +2886,8 @@ ppp_registered(void)
|
||||||
int my_version, my_modification, my_patch;
|
|
||||||
int osmaj, osmin, ospatch;
|
|
||||||
|
|
||||||
|
int ppp_check_kernel_support(void)
|
||||||
|
{
|
||||||
|
+ return 1; /* OpenWrt support ppp device "/dev/ppp" by default */
|
||||||
+#if 0
|
+#if 0
|
||||||
/* get the kernel version now, since we are called before sys_init */
|
int s, ok, fd;
|
||||||
uname(&utsname);
|
struct ifreq ifr;
|
||||||
osmaj = osmin = ospatch = 0;
|
int size;
|
||||||
sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
|
@@ -3016,6 +3015,7 @@ int ppp_check_kernel_support(void)
|
||||||
kernel_version = KVERSION(osmaj, osmin, ospatch);
|
}
|
||||||
|
close(s);
|
||||||
|
return ok;
|
||||||
+#endif
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
fd = open("/dev/ppp", O_RDWR);
|
#ifndef HAVE_LOGWTMP
|
||||||
if (fd >= 0) {
|
@@ -3577,6 +3577,7 @@ get_pty(int *master_fdp, int *slave_fdp,
|
||||||
+#if 0
|
|
||||||
new_style_driver = 1;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* XXX should get from driver */
|
|
||||||
driver_version = 2;
|
|
||||||
@@ -2963,6 +2969,7 @@ int ppp_check_kernel_support(void)
|
|
||||||
|
|
||||||
if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
|
|
||||||
ok = 0;
|
|
||||||
+ return ok;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is the PPP device. Validate the version of the driver at this
|
|
||||||
@@ -3577,6 +3584,7 @@ get_pty(int *master_fdp, int *slave_fdp,
|
|
||||||
}
|
}
|
||||||
#endif /* TIOCGPTN */
|
#endif /* TIOCGPTN */
|
||||||
|
|
||||||
@ -88,7 +85,7 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
if (sfd < 0) {
|
if (sfd < 0) {
|
||||||
/* the old way - scan through the pty name space */
|
/* the old way - scan through the pty name space */
|
||||||
for (i = 0; i < 64; ++i) {
|
for (i = 0; i < 64; ++i) {
|
||||||
@@ -3601,6 +3609,7 @@ get_pty(int *master_fdp, int *slave_fdp,
|
@@ -3601,6 +3602,7 @@ get_pty(int *master_fdp, int *slave_fdp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -96,23 +93,35 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
|
|
||||||
if (sfd < 0)
|
if (sfd < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -3716,6 +3718,7 @@ get_host_seed(void)
|
||||||
|
int
|
||||||
|
sys_check_options(void)
|
||||||
|
{
|
||||||
|
+#if 0
|
||||||
|
if (demand && driver_is_old) {
|
||||||
|
ppp_option_error("demand dialling is not supported by kernel driver "
|
||||||
|
"version %d.%d.%d", driver_version, driver_modification,
|
||||||
|
@@ -3726,6 +3729,7 @@ sys_check_options(void)
|
||||||
|
warn("Warning: multilink is not supported by the kernel driver");
|
||||||
|
multilink = 0;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
--- a/pppd/plugins/pppoatm/pppoatm.c
|
--- a/pppd/plugins/pppoatm/pppoatm.c
|
||||||
+++ b/pppd/plugins/pppoatm/pppoatm.c
|
+++ b/pppd/plugins/pppoatm/pppoatm.c
|
||||||
@@ -179,14 +179,6 @@ static void disconnect_pppoatm(void)
|
@@ -180,10 +180,6 @@ static void disconnect_pppoatm(void)
|
||||||
|
|
||||||
void plugin_init(void)
|
void plugin_init(void)
|
||||||
{
|
{
|
||||||
-#ifdef linux
|
#ifdef linux
|
||||||
- extern int new_style_driver; /* From sys-linux.c */
|
- extern int new_style_driver; /* From sys-linux.c */
|
||||||
- if (!ppp_check_kernel_support() && !new_style_driver)
|
- if (!ppp_check_kernel_support() && !new_style_driver)
|
||||||
- fatal("Kernel doesn't support ppp_generic - "
|
- fatal("Kernel doesn't support ppp_generic - "
|
||||||
- "needed for PPPoATM");
|
- "needed for PPPoATM");
|
||||||
-#else
|
#else
|
||||||
- fatal("No PPPoATM support on this OS");
|
fatal("No PPPoATM support on this OS");
|
||||||
-#endif
|
#endif
|
||||||
ppp_add_options(pppoa_options);
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/pppd/plugins/pppoe/plugin.c
|
--- a/pppd/plugins/pppoe/plugin.c
|
||||||
+++ b/pppd/plugins/pppoe/plugin.c
|
+++ b/pppd/plugins/pppoe/plugin.c
|
||||||
@@ -57,9 +57,6 @@ static char const RCSID[] =
|
@@ -57,9 +57,6 @@ static char const RCSID[] =
|
||||||
@ -138,17 +147,14 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|||||||
info("PPPoE plugin from pppd %s", PPPD_VERSION);
|
info("PPPoE plugin from pppd %s", PPPD_VERSION);
|
||||||
--- a/pppd/plugins/pppol2tp/pppol2tp.c
|
--- a/pppd/plugins/pppol2tp/pppol2tp.c
|
||||||
+++ b/pppd/plugins/pppol2tp/pppol2tp.c
|
+++ b/pppd/plugins/pppol2tp/pppol2tp.c
|
||||||
@@ -500,12 +500,7 @@ static void pppol2tp_cleanup(void)
|
@@ -501,10 +501,6 @@ static void pppol2tp_cleanup(void)
|
||||||
|
|
||||||
void plugin_init(void)
|
void plugin_init(void)
|
||||||
{
|
{
|
||||||
-#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
- extern int new_style_driver; /* From sys-linux.c */
|
- extern int new_style_driver; /* From sys-linux.c */
|
||||||
- if (!ppp_check_kernel_support() && !new_style_driver)
|
- if (!ppp_check_kernel_support() && !new_style_driver)
|
||||||
- fatal("Kernel doesn't support ppp_generic - "
|
- fatal("Kernel doesn't support ppp_generic - "
|
||||||
- "needed for PPPoL2TP");
|
- "needed for PPPoL2TP");
|
||||||
-#else
|
#else
|
||||||
+#if !defined(__linux__)
|
|
||||||
fatal("No PPPoL2TP support on this OS");
|
fatal("No PPPoL2TP support on this OS");
|
||||||
#endif
|
#endif
|
||||||
ppp_add_options(pppol2tp_options);
|
|
||||||
|
@ -27,7 +27,7 @@ define Package/apk/default
|
|||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
TITLE:=apk package manager
|
TITLE:=apk package manager
|
||||||
DEPENDS:=+zlib
|
DEPENDS:=@BROKEN +zlib
|
||||||
URL:=$(PKG_SOURCE_URL)
|
URL:=$(PKG_SOURCE_URL)
|
||||||
PROVIDES:=apk
|
PROVIDES:=apk
|
||||||
endef
|
endef
|
||||||
|
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
|||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git
|
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git
|
||||||
PKG_MIRROR_HASH:=0f494faf2811af6cd7332acda8049ad9713dcabc4b2885dc14acbd9f61920be1
|
PKG_MIRROR_HASH:=56c5f71da3f68036c63ae59d01992785e74027726da5973297895985cd27c215
|
||||||
PKG_SOURCE_DATE:=2024-11-06
|
PKG_SOURCE_DATE:=2024-11-13
|
||||||
PKG_SOURCE_VERSION:=109fa41b2321506280397e03757976c468832668
|
PKG_SOURCE_VERSION:=7330fa55c5211eb7b3c675d1c7b8281b69b53553
|
||||||
CMAKE_INSTALL:=1
|
CMAKE_INSTALL:=1
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
@ -48,86 +48,86 @@ static inline size_t special_min(size_t a, size_t b)
|
|||||||
is an error reading or writing the files. */
|
is an error reading or writing the files. */
|
||||||
static int inf(FILE *source, FILE *dest, size_t limit, size_t skip)
|
static int inf(FILE *source, FILE *dest, size_t limit, size_t skip)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
size_t have;
|
size_t have;
|
||||||
z_stream strm;
|
z_stream strm;
|
||||||
unsigned char in[CHUNK];
|
unsigned char in[CHUNK];
|
||||||
unsigned char out[CHUNK];
|
unsigned char out[CHUNK];
|
||||||
|
|
||||||
/* allocate inflate state */
|
/* allocate inflate state */
|
||||||
strm.zalloc = Z_NULL;
|
strm.zalloc = Z_NULL;
|
||||||
strm.zfree = Z_NULL;
|
strm.zfree = Z_NULL;
|
||||||
strm.opaque = Z_NULL;
|
strm.opaque = Z_NULL;
|
||||||
strm.avail_in = 0;
|
strm.avail_in = 0;
|
||||||
strm.next_in = Z_NULL;
|
strm.next_in = Z_NULL;
|
||||||
ret = inflateInit(&strm);
|
ret = inflateInit(&strm);
|
||||||
if (ret != Z_OK)
|
if (ret != Z_OK)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/* decompress until deflate stream ends or end of file */
|
/* decompress until deflate stream ends or end of file */
|
||||||
do {
|
do {
|
||||||
strm.avail_in = fread(in, 1, CHUNK, source);
|
strm.avail_in = fread(in, 1, CHUNK, source);
|
||||||
if (ferror(source)) {
|
if (ferror(source)) {
|
||||||
(void)inflateEnd(&strm);
|
(void)inflateEnd(&strm);
|
||||||
return Z_ERRNO;
|
return Z_ERRNO;
|
||||||
}
|
}
|
||||||
if (strm.avail_in == 0)
|
if (strm.avail_in == 0)
|
||||||
break;
|
break;
|
||||||
strm.next_in = in;
|
strm.next_in = in;
|
||||||
|
|
||||||
/* run inflate() on input until output buffer not full */
|
/* run inflate() on input until output buffer not full */
|
||||||
do {
|
do {
|
||||||
strm.avail_out = CHUNK;
|
strm.avail_out = CHUNK;
|
||||||
strm.next_out = out;
|
strm.next_out = out;
|
||||||
ret = inflate(&strm, Z_NO_FLUSH);
|
ret = inflate(&strm, Z_NO_FLUSH);
|
||||||
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
|
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
|
||||||
switch (ret) {
|
switch (ret) {
|
||||||
case Z_NEED_DICT:
|
case Z_NEED_DICT:
|
||||||
ret = Z_DATA_ERROR; /* and fall through */
|
ret = Z_DATA_ERROR; /* and fall through */
|
||||||
case Z_DATA_ERROR:
|
case Z_DATA_ERROR:
|
||||||
case Z_MEM_ERROR:
|
case Z_MEM_ERROR:
|
||||||
(void)inflateEnd(&strm);
|
(void)inflateEnd(&strm);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
have = special_min(limit, CHUNK - strm.avail_out) - skip;
|
have = special_min(limit, CHUNK - strm.avail_out) - skip;
|
||||||
if (fwrite(&out[skip], have, 1, dest) != 1 || ferror(dest)) {
|
if (fwrite(&out[skip], have, 1, dest) != 1 || ferror(dest)) {
|
||||||
(void)inflateEnd(&strm);
|
(void)inflateEnd(&strm);
|
||||||
return Z_ERRNO;
|
return Z_ERRNO;
|
||||||
}
|
}
|
||||||
skip = 0;
|
skip = 0;
|
||||||
limit -= have;
|
limit -= have;
|
||||||
} while (strm.avail_out == 0 && limit > 0);
|
} while (strm.avail_out == 0 && limit > 0);
|
||||||
|
|
||||||
/* done when inflate() says it's done */
|
/* done when inflate() says it's done */
|
||||||
} while (ret != Z_STREAM_END && limit > 0);
|
} while (ret != Z_STREAM_END && limit > 0);
|
||||||
|
|
||||||
/* clean up and return */
|
/* clean up and return */
|
||||||
(void)inflateEnd(&strm);
|
(void)inflateEnd(&strm);
|
||||||
return (limit == 0 ? Z_OK : (ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR));
|
return (limit == 0 ? Z_OK : (ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* report a zlib or i/o error */
|
/* report a zlib or i/o error */
|
||||||
static void zerr(int ret)
|
static void zerr(int ret)
|
||||||
{
|
{
|
||||||
switch (ret) {
|
switch (ret) {
|
||||||
case Z_ERRNO:
|
case Z_ERRNO:
|
||||||
if (ferror(stdin))
|
if (ferror(stdin))
|
||||||
fputs("error reading stdin\n", stderr);
|
fputs("error reading stdin\n", stderr);
|
||||||
if (ferror(stdout))
|
if (ferror(stdout))
|
||||||
fputs("error writing stdout\n", stderr);
|
fputs("error writing stdout\n", stderr);
|
||||||
break;
|
break;
|
||||||
case Z_STREAM_ERROR:
|
case Z_STREAM_ERROR:
|
||||||
fputs("invalid compression level\n", stderr);
|
fputs("invalid compression level\n", stderr);
|
||||||
break;
|
break;
|
||||||
case Z_DATA_ERROR:
|
case Z_DATA_ERROR:
|
||||||
fputs("invalid or incomplete deflate data\n", stderr);
|
fputs("invalid or incomplete deflate data\n", stderr);
|
||||||
break;
|
break;
|
||||||
case Z_MEM_ERROR:
|
case Z_MEM_ERROR:
|
||||||
fputs("out of memory\n", stderr);
|
fputs("out of memory\n", stderr);
|
||||||
break;
|
break;
|
||||||
case Z_VERSION_ERROR:
|
case Z_VERSION_ERROR:
|
||||||
fputs("zlib version mismatch!\n", stderr);
|
fputs("zlib version mismatch!\n", stderr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int get_num(char *str)
|
static unsigned int get_num(char *str)
|
||||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=mdadm
|
PKG_NAME:=mdadm
|
||||||
PKG_VERSION:=4.3
|
PKG_VERSION:=4.3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
|
PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
|
||||||
|
24
package/utils/mdadm/patches/060-gcc14.patch
Normal file
24
package/utils/mdadm/patches/060-gcc14.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From 8bda86099089b44129ef6206764f9de47a45f0db Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Kanavin <alex@linutronix.de>
|
||||||
|
Date: Tue, 12 Mar 2024 11:01:50 +0100
|
||||||
|
Subject: [PATCH] util.c: add limits.h include for NAME_MAX definition
|
||||||
|
|
||||||
|
Add limits.h include for NAME_MAX definition.
|
||||||
|
|
||||||
|
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||||
|
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
||||||
|
---
|
||||||
|
util.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/util.c
|
||||||
|
+++ b/util.c
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <dlfcn.h>
|
||||||
|
-
|
||||||
|
+#include <limits.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* following taken from linux/blkpg.h because they aren't
|
@ -65,12 +65,20 @@ CONFIGURE_ARGS += \
|
|||||||
--without-lzo \
|
--without-lzo \
|
||||||
--without-zlib
|
--without-zlib
|
||||||
|
|
||||||
|
define Package/ubi-utils/conffiles
|
||||||
|
/etc/config/ubihealthd
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/ubi-utils/install
|
define Package/ubi-utils/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(INSTALL_BIN) \
|
$(INSTALL_BIN) \
|
||||||
$(PKG_INSTALL_DIR)/usr/sbin/{ubiattach,ubicrc32,ubiblock,ubidetach,ubiformat,ubimkvol} $(1)/usr/sbin/
|
$(PKG_INSTALL_DIR)/usr/sbin/{ubiattach,ubicrc32,ubiblock,ubidetach,ubiformat,ubihealthd} $(1)/usr/sbin/
|
||||||
$(INSTALL_BIN) \
|
$(INSTALL_BIN) \
|
||||||
$(PKG_INSTALL_DIR)/usr/sbin/{ubinfo,ubinize,ubirename,ubirmvol,ubirsvol,ubiupdatevol} $(1)/usr/sbin/
|
$(PKG_INSTALL_DIR)/usr/sbin/{ubimkvol,ubinfo,ubinize,ubirename,ubirmvol,ubirsvol,ubiupdatevol} $(1)/usr/sbin/
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/ubihealthd.init $(1)/etc/init.d/ubihealthd
|
||||||
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||||
|
$(INSTALL_DATA) ./files/ubihealthd.defaults $(1)/etc/uci-defaults/ubihealthd
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/nand-utils/install
|
define Package/nand-utils/install
|
||||||
|
18
package/utils/mtd-utils/files/ubihealthd.defaults
Normal file
18
package/utils/mtd-utils/files/ubihealthd.defaults
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ -e "/etc/config/ubihealthd" ] && exit 0
|
||||||
|
[ ! -e "/sys/class/ubi" ] && exit 0
|
||||||
|
|
||||||
|
touch "/etc/config/ubihealthd"
|
||||||
|
|
||||||
|
for ubidev in /sys/class/ubi/*/total_eraseblocks; do
|
||||||
|
ubidev="${ubidev%/*}"
|
||||||
|
ubidev="${ubidev##*/}"
|
||||||
|
uci batch <<EOF
|
||||||
|
set ubihealthd.$ubidev=ubi-device
|
||||||
|
set ubihealthd.$ubidev.device="/dev/$ubidev"
|
||||||
|
set ubihealthd.$ubidev.enable=1
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
|
||||||
|
uci commit ubihealthd
|
27
package/utils/mtd-utils/files/ubihealthd.init
Normal file
27
package/utils/mtd-utils/files/ubihealthd.init
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
START=99
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
PROG=/usr/sbin/ubihealthd
|
||||||
|
|
||||||
|
ubihealthd_instance() {
|
||||||
|
local cfg="$1"
|
||||||
|
local device interval enable
|
||||||
|
|
||||||
|
config_get_bool enable "$cfg" "enable" 1
|
||||||
|
[ "$enable" = "1" ] || return 0
|
||||||
|
|
||||||
|
config_get device "$cfg" "device"
|
||||||
|
config_get interval "$cfg" "interval"
|
||||||
|
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command "$PROG" -f -d "$device"
|
||||||
|
[ -n "$interval" ] && procd_append_param command -i "$interval"
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
config_load ubihealthd
|
||||||
|
config_foreach ubihealthd_instance ubi-device
|
||||||
|
}
|
57
package/utils/omnia-eeprom/Makefile
Normal file
57
package/utils/omnia-eeprom/Makefile
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2024 Marek Behún <kabel@kernel.org>
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=omnia-eeprom
|
||||||
|
PKG_VERSION:=0.1
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-v$(PKG_VERSION)
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2
|
||||||
|
PKG_SOURCE_URL:=https://gitlab.nic.cz/turris/omnia-eeprom/-/archive/v$(PKG_VERSION)/
|
||||||
|
PKG_HASH:=6f949d0b8080adca8bae088774ce615b563ba6ec2807cce97ee6769b4eee7bbf
|
||||||
|
PKG_FLAGS:=nonshared
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Marek Behun <kabel@kernel.org>
|
||||||
|
PKG_LICENSE:=GPL-2.0-or-later
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/omnia-eeprom
|
||||||
|
SECTION:=utils
|
||||||
|
CATEGORY:=Utilities
|
||||||
|
URL:=https://gitlab.nic.cz/turris/omnia-eeprom
|
||||||
|
TITLE:=CZ.NIC Turris Omnia EEPROM accessing utility
|
||||||
|
DEPENDS:=@TARGET_mvebu_cortexa9 +kmod-eeprom-at24
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/omnia-eeprom/description
|
||||||
|
This package contains the omnia-eeprom utility, which allows you to display
|
||||||
|
and update EEPROM fields on the Turris Omnia router.
|
||||||
|
The EEPROM is normally not meant to be updated by users, but there are some
|
||||||
|
exceptions where it might be useful.
|
||||||
|
One such example is to change the DDR3 speed from the default 1600K mode to
|
||||||
|
1333H mode, in order to solve random crashes that occur on some boards with
|
||||||
|
newer versions of the U-Boot bootloader (because of bugs in newer versions of
|
||||||
|
the DDR training algorithm).
|
||||||
|
endef
|
||||||
|
|
||||||
|
MAKE_VARS += OMNIA_EEPROM_VERSION="v$(PKG_VERSION)"
|
||||||
|
|
||||||
|
TARGET_CFLAGS += -Wall
|
||||||
|
|
||||||
|
Build/Compile = $(Build/Compile/Default)
|
||||||
|
|
||||||
|
define Package/omnia-eeprom/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/omnia-eeprom $(1)/usr/bin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,omnia-eeprom))
|
@ -27,7 +27,7 @@ define Package/omnia-mcutool
|
|||||||
CATEGORY:=Utilities
|
CATEGORY:=Utilities
|
||||||
URL:=https://gitlab.nic.cz/turris/$(PKG_NAME)
|
URL:=https://gitlab.nic.cz/turris/$(PKG_NAME)
|
||||||
TITLE:=CZ.NIC Turris Omnia MCU utility
|
TITLE:=CZ.NIC Turris Omnia MCU utility
|
||||||
DEPENDS:=+libopenssl +omnia-mcu-firmware @TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia
|
DEPENDS:=+libopenssl +omnia-mcu-firmware
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/omnia-mcutool/description
|
define Package/omnia-mcutool/description
|
||||||
|
97
rules.mk
97
rules.mk
@ -20,6 +20,11 @@ endif
|
|||||||
export TMP_DIR:=$(TOPDIR)/tmp
|
export TMP_DIR:=$(TOPDIR)/tmp
|
||||||
export TMPDIR:=$(TMP_DIR)
|
export TMPDIR:=$(TMP_DIR)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Strip quotes `"` and pounds `#` from string.
|
||||||
|
#
|
||||||
|
# @param 1: String.
|
||||||
|
##
|
||||||
qstrip=$(strip $(subst ",,$(1)))
|
qstrip=$(strip $(subst ",,$(1)))
|
||||||
#"))
|
#"))
|
||||||
|
|
||||||
@ -27,8 +32,23 @@ empty:=
|
|||||||
space:= $(empty) $(empty)
|
space:= $(empty) $(empty)
|
||||||
comma:=,
|
comma:=,
|
||||||
pound:=\#
|
pound:=\#
|
||||||
|
##@
|
||||||
|
# @brief Merge strings by removing spaces.
|
||||||
|
#
|
||||||
|
# @param 1: String.
|
||||||
|
##
|
||||||
merge=$(subst $(space),,$(1))
|
merge=$(subst $(space),,$(1))
|
||||||
|
##@
|
||||||
|
# @brief Get hash sum of variable list.
|
||||||
|
#
|
||||||
|
# @param 1: List of variable names.
|
||||||
|
##
|
||||||
confvar=$(shell echo '$(foreach v,$(1),$(v)=$(subst ','\'',$($(v))))' | $(MKHASH) md5)
|
confvar=$(shell echo '$(foreach v,$(1),$(v)=$(subst ','\'',$($(v))))' | $(MKHASH) md5)
|
||||||
|
##@
|
||||||
|
# @brief Strip last extension from file name.
|
||||||
|
#
|
||||||
|
# @param 1: File name.
|
||||||
|
##
|
||||||
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
|
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
|
||||||
|
|
||||||
paren_left = (
|
paren_left = (
|
||||||
@ -51,9 +71,18 @@ __tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_st
|
|||||||
__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right)))
|
__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right)))
|
||||||
__tr_template = $(__tr_head)$$(1)$(__tr_tail)
|
__tr_template = $(__tr_head)$$(1)$(__tr_tail)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Convert string characters to upper.
|
||||||
|
##
|
||||||
$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper)))
|
$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper)))
|
||||||
|
##@
|
||||||
|
# @brief Convert string characters to lower.
|
||||||
|
##
|
||||||
$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower)))
|
$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower)))
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Abbreviate version. Truncate to 8 characters.
|
||||||
|
##
|
||||||
version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1)))
|
version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1)))
|
||||||
|
|
||||||
_SINGLE=export MAKEFLAGS=$(space);
|
_SINGLE=export MAKEFLAGS=$(space);
|
||||||
@ -102,6 +131,13 @@ endif
|
|||||||
|
|
||||||
DEFAULT_SUBDIR_TARGETS:=clean download prepare compile update refresh prereq dist distcheck configure check check-depends
|
DEFAULT_SUBDIR_TARGETS:=clean download prepare compile update refresh prereq dist distcheck configure check check-depends
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Create default targets.
|
||||||
|
#
|
||||||
|
# Targets are created from @DEFAULT_SUBDIR_TARGETS and input argument lists.
|
||||||
|
#
|
||||||
|
# @param 1: Additional targets list.
|
||||||
|
##
|
||||||
define DefaultTargets
|
define DefaultTargets
|
||||||
$(foreach t,$(DEFAULT_SUBDIR_TARGETS) $(1),
|
$(foreach t,$(DEFAULT_SUBDIR_TARGETS) $(1),
|
||||||
.$(t):
|
.$(t):
|
||||||
@ -371,16 +407,28 @@ export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison
|
|||||||
export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib
|
export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib
|
||||||
export M4:=$(STAGING_DIR_HOST)/bin/m4
|
export M4:=$(STAGING_DIR_HOST)/bin/m4
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Slugify variable name and prepend suffix.
|
||||||
|
##
|
||||||
define shvar
|
define shvar
|
||||||
V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Create and export variable, set to function result.
|
||||||
|
#
|
||||||
|
# @param 1: Function name. Used as variable name, prepended with `V_`.
|
||||||
|
##
|
||||||
define shexport
|
define shexport
|
||||||
export $(call shvar,$(1))=$$(call $(1))
|
export $(call shvar,$(1))=$$(call $(1))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Support 64 bit tine in C code.
|
||||||
|
#
|
||||||
# Test support for 64-bit time with C code from largefile.m4 provided by GNU Gnulib
|
# Test support for 64-bit time with C code from largefile.m4 provided by GNU Gnulib
|
||||||
# the value is 'y' when successful and '' otherwise
|
# the value is `y` when successful and `` otherwise
|
||||||
|
##
|
||||||
define YEAR_2038
|
define YEAR_2038
|
||||||
$(shell \
|
$(shell \
|
||||||
mkdir -p $(TMP_DIR); \
|
mkdir -p $(TMP_DIR); \
|
||||||
@ -392,9 +440,12 @@ $(shell \
|
|||||||
)
|
)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Execute commands under flock
|
##@
|
||||||
# $(1) => The shell expression.
|
# @brief Execute commands under flock
|
||||||
# $(2) => The lock name. If not given, the global lock will be used.
|
#
|
||||||
|
# @param 1: The shell expression.
|
||||||
|
# @param 2: The lock name. If not given, the global lock will be used.
|
||||||
|
##
|
||||||
ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),)
|
ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),)
|
||||||
define locked
|
define locked
|
||||||
SHELL= \
|
SHELL= \
|
||||||
@ -406,10 +457,14 @@ else
|
|||||||
locked=$(1)
|
locked=$(1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Recursively copy paths into another directory, purge dangling
|
|
||||||
|
##@
|
||||||
|
# @brief Recursively copy paths into another directory, purge dangling
|
||||||
# symlinks before.
|
# symlinks before.
|
||||||
# $(1) => File glob expression
|
#
|
||||||
# $(2) => Destination directory
|
# @param 1: File glob expression.
|
||||||
|
# @param 1: Destination directory.
|
||||||
|
##
|
||||||
define file_copy
|
define file_copy
|
||||||
for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \
|
for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \
|
||||||
( cd $$src_dir; find -type f -or -type d ) | \
|
( cd $$src_dir; find -type f -or -type d ) | \
|
||||||
@ -424,19 +479,30 @@ define file_copy
|
|||||||
$(CP) $(1) $(2)
|
$(CP) $(1) $(2)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Calculate sha256sum of any plain file within a given directory
|
##@
|
||||||
# $(1) => Input directory
|
# @brief Calculate sha256sum of any plain file within a given directory.
|
||||||
# $(2) => If set, recurse into subdirectories
|
#
|
||||||
|
# @param 1: Input directory.
|
||||||
|
# @param 2: If set, recurse into subdirectories.
|
||||||
|
##
|
||||||
define sha256sums
|
define sha256sums
|
||||||
(cd $(1); find . $(if $(2),,-maxdepth 1) -type f -not -name 'sha256sums' -printf "%P\n" | sort | \
|
(cd $(1); find . $(if $(2),,-maxdepth 1) -type f -not -name 'sha256sums' -printf "%P\n" | sort | \
|
||||||
xargs -r $(MKHASH) -n sha256 | sed -ne 's!^\(.*\) \(.*\)$$!\1 *\2!p' > sha256sums)
|
xargs -r $(MKHASH) -n sha256 | sed -ne 's!^\(.*\) \(.*\)$$!\1 *\2!p' > sha256sums)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# file extension
|
##@
|
||||||
|
# @brief Retrieve file extension.
|
||||||
|
#
|
||||||
|
# @param 1: File name.
|
||||||
|
##
|
||||||
ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
|
ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
|
||||||
|
|
||||||
# Count Git commits of a package
|
##@
|
||||||
# $(1) => if non-empty: count commits since last ": [uU]pdate to " or ": [bB]ump to " in commit message
|
# @brief Count Git commits of a package.
|
||||||
|
#
|
||||||
|
# @param 1: if non-empty: count commits since last ": [uU]pdate to "
|
||||||
|
# or ": [bB]ump to " in commit message.
|
||||||
|
##
|
||||||
define commitcount
|
define commitcount
|
||||||
$(shell \
|
$(shell \
|
||||||
if git log -1 >/dev/null 2>/dev/null; then \
|
if git log -1 >/dev/null 2>/dev/null; then \
|
||||||
@ -458,6 +524,11 @@ $(shell \
|
|||||||
)
|
)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Get ABI version string, stripping `-`, `_` and `.`.
|
||||||
|
#
|
||||||
|
# @param 1: Version string.
|
||||||
|
##
|
||||||
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
|
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
|
||||||
|
|
||||||
COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
|
COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
|
||||||
|
159
scripts/download-check-artifact.sh
Executable file
159
scripts/download-check-artifact.sh
Executable file
@ -0,0 +1,159 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Script to perform verified file downloads.
|
||||||
|
# Exit codes:
|
||||||
|
# 0 - File downloaded successfully and verified
|
||||||
|
# 1 - Failed to download requested file
|
||||||
|
# 2 - Failed to download sha256sums file
|
||||||
|
# 3 - Failed to download sha256sums.gpg file
|
||||||
|
# 4 - GnuPG is available but fails to verify the signature (missing pubkey, file integrity error, ...)
|
||||||
|
# 5 - The checksums do not match
|
||||||
|
# 6 - Unable to copy the requested file to its final destination
|
||||||
|
# 254 - The script got interrupted by a signal
|
||||||
|
# 255 - A suitable download or checksum utility is missing
|
||||||
|
|
||||||
|
[ -n "$1" ] || {
|
||||||
|
echo "$0 - Download and verify build artifacts"
|
||||||
|
echo "Usage: $0 <url>" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
finish() {
|
||||||
|
[ -e "/tmp/verify.$$" ] && {
|
||||||
|
echo "Cleaning up."
|
||||||
|
rm -r "/tmp/verify.$$"
|
||||||
|
}
|
||||||
|
exit "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "finish 254" INT TERM
|
||||||
|
|
||||||
|
destdir="$(pwd)"
|
||||||
|
image_url="$1"
|
||||||
|
image_file="${image_url##*/}"
|
||||||
|
sha256_url="${image_url%/*}/sha256sums"
|
||||||
|
gpgsig_url="${image_url%/*}/sha256sums.asc"
|
||||||
|
keyserver_url="hkp://keyserver.ubuntu.com"
|
||||||
|
|
||||||
|
# Find a suitable download utility
|
||||||
|
if which curl >/dev/null; then
|
||||||
|
download() { curl --progress-bar -o "$1" "$2"; }
|
||||||
|
elif which wget >/dev/null; then
|
||||||
|
download() { wget -O "$1" "$2"; }
|
||||||
|
elif which fetch >/dev/null; then
|
||||||
|
download() { fetch -o "$1" "$2"; }
|
||||||
|
else
|
||||||
|
echo "No suitable download utility found, cannot download files!" >&2
|
||||||
|
finish 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find a suitable checksum utility
|
||||||
|
if which sha256sum >/dev/null; then
|
||||||
|
checksum() { sha256sum -c --ignore-missing "sha256sums"; }
|
||||||
|
elif which shasum >/dev/null; then
|
||||||
|
checksum() {
|
||||||
|
local sum
|
||||||
|
sum="$(shasum -a 256 "$image_file")";
|
||||||
|
grep -xF "${sum%% *} *$image_file" "sha256sums";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
echo "No SHA256 checksum executable installed, cannot verify checksums!" >&2
|
||||||
|
finish 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for gpg availability
|
||||||
|
if which gpg >/dev/null; then
|
||||||
|
runpgp() { gpg "$@"; }
|
||||||
|
else
|
||||||
|
runpgp() {
|
||||||
|
echo "WARNING: No GnuPG installed, cannot verify digital signature!" >&2
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpdir="$(mktemp -d)"
|
||||||
|
cd "$tmpdir" || {
|
||||||
|
echo "Failed to create temporary directory!" >&2
|
||||||
|
finish 255
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "1) Downloading artifact file"
|
||||||
|
echo "========================="
|
||||||
|
download "$image_file" "$image_url" || {
|
||||||
|
echo "Failed to download image file!" >&2
|
||||||
|
finish 1
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "2) Downloading checksum file"
|
||||||
|
echo "============================"
|
||||||
|
download "sha256sums" "$sha256_url" || {
|
||||||
|
echo "Failed to download checksum file!" >&2
|
||||||
|
finish 2
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "3) Downloading the GPG signature"
|
||||||
|
echo "================================"
|
||||||
|
download "sha256sums.gpg" "$gpgsig_url" || {
|
||||||
|
echo "Failed to download GPG signature!" >&2
|
||||||
|
finish 3
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "4) Verifying GPG signature"
|
||||||
|
echo "=========================="
|
||||||
|
missing_key=$(runpgp --status-fd 1 --with-fingerprint --verify \
|
||||||
|
"sha256sums.gpg" "sha256sums" 2>/dev/null | sed -ne 's!^.* NO_PUBKEY !!p')
|
||||||
|
|
||||||
|
if [ -n "$missing_key" ]; then
|
||||||
|
echo "The signature was signed by a public key with the id $missing_key" >&2
|
||||||
|
echo "which is not present on this system." >&2
|
||||||
|
echo "" >&2
|
||||||
|
|
||||||
|
echo "Provide a public keyserver url below or press enter to accept the" >&2
|
||||||
|
echo "default suggestion. Hit Ctrl-C to abort the operation." >&2
|
||||||
|
echo "" >&2
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
printf 'Keyserver to use? [%s] > ' "$keyserver_url"
|
||||||
|
read -r url; case "${url:-$keyserver_url}" in
|
||||||
|
hkp://*)
|
||||||
|
gpg --keyserver "${url:-$keyserver_url}" --recv-keys "$missing_key" || {
|
||||||
|
echo "Failed to download public key." >&2
|
||||||
|
finish 7
|
||||||
|
}
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Expecting a key server url in the form 'hkp://hostname'." >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
runpgp --with-fingerprint --verify "sha256sums.gpg" "sha256sums" || {
|
||||||
|
echo "Failed to verify checksum file with GPG signature!" >&2
|
||||||
|
finish 4
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "5) Verifying SHA256 checksum"
|
||||||
|
echo "============================"
|
||||||
|
checksum || {
|
||||||
|
echo "Checksums do not match!" >&2
|
||||||
|
finish 5
|
||||||
|
}
|
||||||
|
|
||||||
|
cp "$image_file" "$destdir/$image_file" || {
|
||||||
|
echo "Failed to write '$destdir/$image_file'" >&2
|
||||||
|
finish 6
|
||||||
|
}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Verification done!"
|
||||||
|
echo "=================="
|
||||||
|
echo "Downloaded artifact placed in '$destdir/$image_file'."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
finish 0
|
@ -47,7 +47,13 @@ for device_id, profile in output.get("profiles", {}).items():
|
|||||||
|
|
||||||
|
|
||||||
if output:
|
if output:
|
||||||
default_packages, output["arch_packages"] = run(
|
(
|
||||||
|
default_packages,
|
||||||
|
output["arch_packages"],
|
||||||
|
linux_version,
|
||||||
|
linux_release,
|
||||||
|
linux_vermagic,
|
||||||
|
) = run(
|
||||||
[
|
[
|
||||||
"make",
|
"make",
|
||||||
"--no-print-directory",
|
"--no-print-directory",
|
||||||
@ -55,6 +61,9 @@ if output:
|
|||||||
"target/linux/",
|
"target/linux/",
|
||||||
"val.DEFAULT_PACKAGES",
|
"val.DEFAULT_PACKAGES",
|
||||||
"val.ARCH_PACKAGES",
|
"val.ARCH_PACKAGES",
|
||||||
|
"val.LINUX_VERSION",
|
||||||
|
"val.LINUX_RELEASE",
|
||||||
|
"val.LINUX_VERMAGIC",
|
||||||
"V=s",
|
"V=s",
|
||||||
],
|
],
|
||||||
stdout=PIPE,
|
stdout=PIPE,
|
||||||
@ -64,7 +73,11 @@ if output:
|
|||||||
).stdout.splitlines()
|
).stdout.splitlines()
|
||||||
|
|
||||||
output["default_packages"] = sorted(default_packages.split())
|
output["default_packages"] = sorted(default_packages.split())
|
||||||
|
output["linux_kernel"] = {
|
||||||
|
"version": linux_version,
|
||||||
|
"release": linux_release,
|
||||||
|
"vermagic": linux_vermagic,
|
||||||
|
}
|
||||||
output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":")))
|
output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":")))
|
||||||
else:
|
else:
|
||||||
print("JSON info file script could not find any JSON files for target")
|
print("JSON info file script could not find any JSON files for target")
|
||||||
|
@ -111,8 +111,6 @@ CONFIG_CAVIUM_ERRATUM_30115=y
|
|||||||
CONFIG_CAVIUM_TX2_ERRATUM_219=y
|
CONFIG_CAVIUM_TX2_ERRATUM_219=y
|
||||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
# CONFIG_CFS_BANDWIDTH is not set
|
# CONFIG_CFS_BANDWIDTH is not set
|
||||||
CONFIG_CGROUPS=y
|
CONFIG_CGROUPS=y
|
||||||
CONFIG_CGROUP_CPUACCT=y
|
CONFIG_CGROUP_CPUACCT=y
|
||||||
@ -232,7 +230,6 @@ CONFIG_FUNCTION_ALIGNMENT_4B=y
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||||
|
@ -45,8 +45,6 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_CACHE_L2X0=y
|
CONFIG_CACHE_L2X0=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
|
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
|
||||||
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
||||||
@ -102,7 +100,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||||
|
@ -34,8 +34,6 @@ CONFIG_BOOKE=y
|
|||||||
CONFIG_BOOKE_OR_40x=y
|
CONFIG_BOOKE_OR_40x=y
|
||||||
CONFIG_BOOKE_WDT=y
|
CONFIG_BOOKE_WDT=y
|
||||||
# CONFIG_CANYONLANDS is not set
|
# CONFIG_CANYONLANDS is not set
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMDLINE="rootfstype=squashfs noinitrd"
|
CONFIG_CMDLINE="rootfstype=squashfs noinitrd"
|
||||||
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
||||||
@ -83,7 +81,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ATOMIC64=y
|
CONFIG_GENERIC_ATOMIC64=y
|
||||||
CONFIG_GENERIC_BUG=y
|
CONFIG_GENERIC_BUG=y
|
||||||
|
@ -47,8 +47,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
|
|||||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
CONFIG_BUFFER_HEAD=y
|
CONFIG_BUFFER_HEAD=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLK_HSDK=y
|
CONFIG_CLK_HSDK=y
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_COMMON_CLK=y
|
CONFIG_COMMON_CLK=y
|
||||||
@ -103,7 +101,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
CONFIG_GENERIC_CSUM=y
|
CONFIG_GENERIC_CSUM=y
|
||||||
|
@ -44,8 +44,6 @@ CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
|
|||||||
CONFIG_BLK_PM=y
|
CONFIG_BLK_PM=y
|
||||||
CONFIG_BUFFER_HEAD=y
|
CONFIG_BUFFER_HEAD=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_COMMON_CLK=y
|
CONFIG_COMMON_CLK=y
|
||||||
CONFIG_COMMON_CLK_AT91=y
|
CONFIG_COMMON_CLK_AT91=y
|
||||||
@ -109,7 +107,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ATOMIC64=y
|
CONFIG_GENERIC_ATOMIC64=y
|
||||||
CONFIG_GENERIC_BUG=y
|
CONFIG_GENERIC_BUG=y
|
||||||
|
@ -54,8 +54,6 @@ CONFIG_BLK_PM=y
|
|||||||
CONFIG_BUFFER_HEAD=y
|
CONFIG_BUFFER_HEAD=y
|
||||||
CONFIG_CACHE_L2X0=y
|
CONFIG_CACHE_L2X0=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMA=y
|
CONFIG_CMA=y
|
||||||
CONFIG_CMA_ALIGNMENT=8
|
CONFIG_CMA_ALIGNMENT=8
|
||||||
@ -181,7 +179,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_BUG=y
|
CONFIG_GENERIC_BUG=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
|
@ -45,8 +45,6 @@ CONFIG_BUFFER_HEAD=y
|
|||||||
# CONFIG_CACHE_L2X0 is not set
|
# CONFIG_CACHE_L2X0 is not set
|
||||||
CONFIG_CAN=y
|
CONFIG_CAN=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMA=y
|
CONFIG_CMA=y
|
||||||
CONFIG_CMA_ALIGNMENT=9
|
CONFIG_CMA_ALIGNMENT=9
|
||||||
@ -162,7 +160,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_BUG=y
|
CONFIG_GENERIC_BUG=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
|
@ -14,8 +14,6 @@ CONFIG_AT803X_PHY=y
|
|||||||
CONFIG_ATH79=y
|
CONFIG_ATH79=y
|
||||||
CONFIG_ATH79_WDT=y
|
CONFIG_ATH79_WDT=y
|
||||||
CONFIG_BLK_MQ_PCI=y
|
CONFIG_BLK_MQ_PCI=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CEVT_R4K=y
|
CONFIG_CEVT_R4K=y
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
|
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
|
||||||
@ -58,7 +56,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ATOMIC64=y
|
CONFIG_GENERIC_ATOMIC64=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
aliases {
|
aliases {
|
||||||
label-mac-device = ð0;
|
|
||||||
led-boot = &led_status;
|
led-boot = &led_status;
|
||||||
led-failsafe = &led_status;
|
led-failsafe = &led_status;
|
||||||
led-upgrade = &led_status;
|
led-upgrade = &led_status;
|
||||||
@ -108,9 +107,6 @@
|
|||||||
phy-mode = "rgmii-rxid";
|
phy-mode = "rgmii-rxid";
|
||||||
pll-data = <0xae000000 0x80000101 0x80001313>;
|
pll-data = <0xae000000 0x80000101 0x80001313>;
|
||||||
|
|
||||||
nvmem-cells = <&macaddr_uboot_ethaddr 0>;
|
|
||||||
nvmem-cell-names = "mac-address";
|
|
||||||
|
|
||||||
gmac-config {
|
gmac-config {
|
||||||
device = <&gmac>;
|
device = <&gmac>;
|
||||||
|
|
||||||
@ -148,8 +144,8 @@
|
|||||||
wifi@0,0 {
|
wifi@0,0 {
|
||||||
compatible = "qcom,ath10k";
|
compatible = "qcom,ath10k";
|
||||||
reg = <0x0000 0 0 0 0>;
|
reg = <0x0000 0 0 0 0>;
|
||||||
nvmem-cells = <&cal_art_5000>, <&macaddr_uboot_ethaddr 1>;
|
nvmem-cells = <&cal_art_5000>;
|
||||||
nvmem-cell-names = "calibration", "mac-address";
|
nvmem-cell-names = "calibration";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -173,14 +169,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
partition@40000 {
|
partition@40000 {
|
||||||
compatible = "u-boot,env";
|
|
||||||
label = "u-boot-env";
|
label = "u-boot-env";
|
||||||
reg = <0x40000 0x10000>;
|
reg = <0x40000 0x10000>;
|
||||||
read-only;
|
read-only;
|
||||||
|
|
||||||
macaddr_uboot_ethaddr: ethaddr {
|
|
||||||
#nvmem-cell-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
partition@50000 {
|
partition@50000 {
|
||||||
@ -261,6 +252,6 @@
|
|||||||
&wmac {
|
&wmac {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
nvmem-cells = <&cal_art_1000>, <&macaddr_uboot_ethaddr 0>;
|
nvmem-cells = <&cal_art_1000>;
|
||||||
nvmem-cell-names = "calibration", "mac-address";
|
nvmem-cell-names = "calibration";
|
||||||
};
|
};
|
||||||
|
@ -1,151 +1,13 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
#include "qca956x.dtsi"
|
#include "qca9563_tplink_cpe710.dtsi"
|
||||||
|
|
||||||
#include <dt-bindings/gpio/gpio.h>
|
|
||||||
#include <dt-bindings/input/input.h>
|
|
||||||
#include <dt-bindings/leds/common.h>
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "TP-Link CPE710 v1";
|
model = "TP-Link CPE710 v1";
|
||||||
compatible = "tplink,cpe710-v1", "qca,qca9563";
|
compatible = "tplink,cpe710-v1", "qca,qca9563";
|
||||||
|
|
||||||
aliases {
|
|
||||||
label-mac-device = ð0;
|
|
||||||
led-boot = &led_lan;
|
|
||||||
led-failsafe = &led_lan;
|
|
||||||
led-upgrade = &led_lan;
|
|
||||||
};
|
|
||||||
|
|
||||||
leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
|
|
||||||
led_lan: lan {
|
|
||||||
function = LED_FUNCTION_LAN;
|
|
||||||
color = <LED_COLOR_ID_BLUE>;
|
|
||||||
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
|
|
||||||
wlan5g {
|
|
||||||
label = "blue:wlan5g";
|
|
||||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
|
||||||
linux,default-trigger = "phy0tpt";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keys {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
|
|
||||||
reset {
|
|
||||||
label = "Reset button";
|
|
||||||
linux,code = <KEY_RESTART>;
|
|
||||||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
|
||||||
debounce-interval = <60>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&pcie {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
wifi@0,0 {
|
|
||||||
compatible = "qcom,ath10k";
|
|
||||||
reg = <0x0000 0 0 0 0>;
|
|
||||||
nvmem-cells = <&precal_art_5000>, <&macaddr_info_8>;
|
|
||||||
nvmem-cell-names = "pre-calibration", "mac-address";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
flash@0 {
|
|
||||||
compatible = "jedec,spi-nor";
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <40000000>;
|
|
||||||
|
|
||||||
partitions {
|
|
||||||
compatible = "fixed-partitions";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
partition@0 {
|
|
||||||
label = "u-boot";
|
|
||||||
reg = <0x000000 0x040000>;
|
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@40000 {
|
|
||||||
label = "u-boot-env";
|
|
||||||
reg = <0x040000 0x010000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@50000 {
|
|
||||||
label = "partition-table";
|
|
||||||
reg = <0x050000 0x010000>;
|
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
info: partition@60000 {
|
|
||||||
label = "info";
|
|
||||||
reg = <0x060000 0x010000>;
|
|
||||||
read-only;
|
|
||||||
|
|
||||||
nvmem-layout {
|
|
||||||
compatible = "fixed-layout";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
macaddr_info_8: macaddr@8 {
|
|
||||||
reg = <0x8 0x6>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@70000 {
|
|
||||||
compatible = "denx,uimage";
|
|
||||||
label = "firmware";
|
|
||||||
reg = <0x070000 0xf50000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@fc0000 {
|
|
||||||
label = "config";
|
|
||||||
reg = <0xfc0000 0x030000>;
|
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@ff0000 {
|
|
||||||
label = "art";
|
|
||||||
reg = <0xff0000 0x010000>;
|
|
||||||
read-only;
|
|
||||||
|
|
||||||
nvmem-layout {
|
|
||||||
compatible = "fixed-layout";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
precal_art_5000: pre-calibration@5000 {
|
|
||||||
reg = <0x5000 0x2f20>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&pinmux {
|
|
||||||
mdio_pins: mdio_pins {
|
|
||||||
/* GPIO 10 as MDIO(0x20), GPIO 8 as MDC(0x21) */
|
|
||||||
pinctrl-single,bits = <0x8 0x00200021 0x00ff00ff>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&mdio0 {
|
&mdio0 {
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&mdio_pins>;
|
|
||||||
|
|
||||||
phy4: ethernet-phy@4 {
|
phy4: ethernet-phy@4 {
|
||||||
reg = <4>;
|
reg = <4>;
|
||||||
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
||||||
@ -153,17 +15,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
ð0 {
|
ð0 {
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
phy-handle = <&phy4>;
|
phy-handle = <&phy4>;
|
||||||
phy-mode = "sgmii";
|
phy-mode = "sgmii";
|
||||||
|
|
||||||
nvmem-cells = <&macaddr_info_8>;
|
|
||||||
nvmem-cell-names = "mac-address";
|
|
||||||
|
|
||||||
qca956x-serdes-fixup;
|
|
||||||
|
|
||||||
gmac-config {
|
|
||||||
device = <&gmac>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
20
target/linux/ath79/dts/qca9563_tplink_cpe710-v2.dts
Normal file
20
target/linux/ath79/dts/qca9563_tplink_cpe710-v2.dts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "qca9563_tplink_cpe710.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "TP-Link CPE710 v2";
|
||||||
|
compatible = "tplink,cpe710-v2", "qca,qca9563";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
phy0: ethernet-phy@0 {
|
||||||
|
reg = <0>;
|
||||||
|
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
phy-handle = <&phy0>;
|
||||||
|
phy-mode = "sgmii";
|
||||||
|
};
|
160
target/linux/ath79/dts/qca9563_tplink_cpe710.dtsi
Normal file
160
target/linux/ath79/dts/qca9563_tplink_cpe710.dtsi
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "qca956x.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
led-boot = &led_lan;
|
||||||
|
led-failsafe = &led_lan;
|
||||||
|
led-upgrade = &led_lan;
|
||||||
|
label-mac-device = ð0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led_lan: lan {
|
||||||
|
function = LED_FUNCTION_LAN;
|
||||||
|
color = <LED_COLOR_ID_BLUE>;
|
||||||
|
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wlan5g {
|
||||||
|
color = <LED_COLOR_ID_BLUE>;
|
||||||
|
function = LED_FUNCTION_WLAN_5GHZ;
|
||||||
|
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,default-trigger = "phy0tpt";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
reset {
|
||||||
|
label = "Reset button";
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
wifi@0,0 {
|
||||||
|
compatible = "qcom,ath10k";
|
||||||
|
reg = <0x0000 0 0 0 0>;
|
||||||
|
nvmem-cells = <&precal_art_5000>, <&macaddr_info_8>;
|
||||||
|
nvmem-cell-names = "pre-calibration", "mac-address";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <40000000>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x000000 0x040000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@40000 {
|
||||||
|
label = "u-boot-env";
|
||||||
|
reg = <0x040000 0x010000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@50000 {
|
||||||
|
label = "partition-table";
|
||||||
|
reg = <0x050000 0x010000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@60000 {
|
||||||
|
label = "info";
|
||||||
|
reg = <0x060000 0x010000>;
|
||||||
|
read-only;
|
||||||
|
|
||||||
|
nvmem-layout {
|
||||||
|
compatible = "fixed-layout";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
macaddr_info_8: macaddr@8 {
|
||||||
|
reg = <0x8 0x6>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@70000 {
|
||||||
|
compatible = "denx,uimage";
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x070000 0xf50000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@fc0000 {
|
||||||
|
label = "config";
|
||||||
|
reg = <0xfc0000 0x030000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@ff0000 {
|
||||||
|
label = "art";
|
||||||
|
reg = <0xff0000 0x010000>;
|
||||||
|
read-only;
|
||||||
|
|
||||||
|
nvmem-layout {
|
||||||
|
compatible = "fixed-layout";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
precal_art_5000: pre-calibration@5000 {
|
||||||
|
reg = <0x5000 0x2f20>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinmux {
|
||||||
|
mdio_pins: mdio_pins {
|
||||||
|
/* GPIO 10 as MDIO(0x20), GPIO 8 as MDC(0x21) */
|
||||||
|
pinctrl-single,bits = <0x8 0x00200021 0x00ff00ff>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mdio_pins>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
nvmem-cells = <&macaddr_info_8>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
|
|
||||||
|
qca956x-serdes-fixup;
|
||||||
|
|
||||||
|
gmac-config {
|
||||||
|
device = <&gmac>;
|
||||||
|
};
|
||||||
|
};
|
@ -28,11 +28,6 @@ struct gpio_latch_chip {
|
|||||||
struct gpio_desc *gpios[GPIO_LATCH_LINES];
|
struct gpio_desc *gpios[GPIO_LATCH_LINES];
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline struct gpio_latch_chip *to_gpio_latch_chip(struct gpio_chip *gc)
|
|
||||||
{
|
|
||||||
return container_of(gc, struct gpio_latch_chip, gc);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gpio_latch_lock(struct gpio_latch_chip *glc, bool enable)
|
static void gpio_latch_lock(struct gpio_latch_chip *glc, bool enable)
|
||||||
{
|
{
|
||||||
mutex_lock(&glc->mutex);
|
mutex_lock(&glc->mutex);
|
||||||
@ -58,7 +53,7 @@ static void gpio_latch_unlock(struct gpio_latch_chip *glc, bool disable)
|
|||||||
static int
|
static int
|
||||||
gpio_latch_get(struct gpio_chip *gc, unsigned offset)
|
gpio_latch_get(struct gpio_chip *gc, unsigned offset)
|
||||||
{
|
{
|
||||||
struct gpio_latch_chip *glc = to_gpio_latch_chip(gc);
|
struct gpio_latch_chip *glc = gpiochip_get_data(gc);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gpio_latch_lock(glc, false);
|
gpio_latch_lock(glc, false);
|
||||||
@ -71,7 +66,7 @@ gpio_latch_get(struct gpio_chip *gc, unsigned offset)
|
|||||||
static void
|
static void
|
||||||
gpio_latch_set(struct gpio_chip *gc, unsigned offset, int value)
|
gpio_latch_set(struct gpio_chip *gc, unsigned offset, int value)
|
||||||
{
|
{
|
||||||
struct gpio_latch_chip *glc = to_gpio_latch_chip(gc);
|
struct gpio_latch_chip *glc = gpiochip_get_data(gc);
|
||||||
bool enable_latch = false;
|
bool enable_latch = false;
|
||||||
bool disable_latch = false;
|
bool disable_latch = false;
|
||||||
|
|
||||||
@ -88,7 +83,7 @@ gpio_latch_set(struct gpio_chip *gc, unsigned offset, int value)
|
|||||||
static int
|
static int
|
||||||
gpio_latch_direction_output(struct gpio_chip *gc, unsigned offset, int value)
|
gpio_latch_direction_output(struct gpio_chip *gc, unsigned offset, int value)
|
||||||
{
|
{
|
||||||
struct gpio_latch_chip *glc = to_gpio_latch_chip(gc);
|
struct gpio_latch_chip *glc = gpiochip_get_data(gc);
|
||||||
bool enable_latch = false;
|
bool enable_latch = false;
|
||||||
bool disable_latch = false;
|
bool disable_latch = false;
|
||||||
int ret;
|
int ret;
|
||||||
@ -173,7 +168,6 @@ static struct platform_driver gpio_latch_driver = {
|
|||||||
.probe = gpio_latch_probe,
|
.probe = gpio_latch_probe,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = GPIO_LATCH_DRIVER_NAME,
|
.name = GPIO_LATCH_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = gpio_latch_match,
|
.of_match_table = gpio_latch_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -41,14 +41,9 @@ struct gpio_rb91x_key {
|
|||||||
struct gpio_desc *gpio;
|
struct gpio_desc *gpio;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline struct gpio_rb91x_key *to_gpio_rb91x_key(struct gpio_chip *gc)
|
|
||||||
{
|
|
||||||
return container_of(gc, struct gpio_rb91x_key, gc);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int gpio_rb91x_key_get(struct gpio_chip *gc, unsigned offset)
|
static int gpio_rb91x_key_get(struct gpio_chip *gc, unsigned offset)
|
||||||
{
|
{
|
||||||
struct gpio_rb91x_key *drvdata = to_gpio_rb91x_key(gc);
|
struct gpio_rb91x_key *drvdata = gpiochip_get_data(gc);
|
||||||
struct gpio_desc *gpio = drvdata->gpio;
|
struct gpio_desc *gpio = drvdata->gpio;
|
||||||
int val, bak_val;
|
int val, bak_val;
|
||||||
|
|
||||||
@ -97,7 +92,7 @@ static int gpio_rb91x_key_direction_input(struct gpio_chip *gc, unsigned offset)
|
|||||||
|
|
||||||
static void gpio_rb91x_key_set(struct gpio_chip *gc, unsigned offset, int value)
|
static void gpio_rb91x_key_set(struct gpio_chip *gc, unsigned offset, int value)
|
||||||
{
|
{
|
||||||
struct gpio_rb91x_key *drvdata = to_gpio_rb91x_key(gc);
|
struct gpio_rb91x_key *drvdata = gpiochip_get_data(gc);
|
||||||
struct gpio_desc *gpio = drvdata->gpio;
|
struct gpio_desc *gpio = drvdata->gpio;
|
||||||
|
|
||||||
mutex_lock(&drvdata->mutex);
|
mutex_lock(&drvdata->mutex);
|
||||||
@ -187,7 +182,6 @@ static struct platform_driver gpio_rb91x_key_driver = {
|
|||||||
.probe = gpio_rb91x_key_probe,
|
.probe = gpio_rb91x_key_probe,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = GPIO_RB91X_KEY_DRIVER_NAME,
|
.name = GPIO_RB91X_KEY_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = gpio_rb91x_key_match,
|
.of_match_table = gpio_rb91x_key_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1478,7 +1478,6 @@ static struct platform_driver ar934x_nfc_driver = {
|
|||||||
.remove = ar934x_nfc_remove,
|
.remove = ar934x_nfc_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = AR934X_NFC_DRIVER_NAME,
|
.name = AR934X_NFC_DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = ar934x_nfc_match,
|
.of_match_table = ar934x_nfc_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -356,7 +356,6 @@ static struct platform_driver rb91x_nand_driver = {
|
|||||||
.remove = rb91x_nand_remove,
|
.remove = rb91x_nand_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "rb91x-nand",
|
.name = "rb91x-nand",
|
||||||
.owner = THIS_MODULE,
|
|
||||||
.of_match_table = rb91x_nand_match,
|
.of_match_table = rb91x_nand_match,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -222,7 +222,8 @@ openmesh,mr900-v1|\
|
|||||||
openmesh,mr900-v2|\
|
openmesh,mr900-v2|\
|
||||||
openmesh,mr1750-v1|\
|
openmesh,mr1750-v1|\
|
||||||
openmesh,mr1750-v2|\
|
openmesh,mr1750-v2|\
|
||||||
tplink,cpe710-v1)
|
tplink,cpe710-v1|\
|
||||||
|
tplink,cpe710-v2)
|
||||||
ucidef_set_led_netdev "lan" "LAN" "blue:lan" "eth0"
|
ucidef_set_led_netdev "lan" "LAN" "blue:lan" "eth0"
|
||||||
;;
|
;;
|
||||||
compex,wpj344-16m|\
|
compex,wpj344-16m|\
|
||||||
|
@ -89,6 +89,7 @@ ath79_setup_interfaces()
|
|||||||
tplink,cpe610-v1|\
|
tplink,cpe610-v1|\
|
||||||
tplink,cpe610-v2|\
|
tplink,cpe610-v2|\
|
||||||
tplink,cpe710-v1|\
|
tplink,cpe710-v1|\
|
||||||
|
tplink,cpe710-v2|\
|
||||||
tplink,eap225-outdoor-v1|\
|
tplink,eap225-outdoor-v1|\
|
||||||
tplink,eap225-outdoor-v3|\
|
tplink,eap225-outdoor-v3|\
|
||||||
tplink,eap225-v1|\
|
tplink,eap225-v1|\
|
||||||
@ -716,6 +717,9 @@ ath79_setup_macs()
|
|||||||
lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
|
lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
|
||||||
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
|
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
|
||||||
;;
|
;;
|
||||||
|
elecom,wab-i1750-ps|\
|
||||||
|
elecom,wab-s1167-ps|\
|
||||||
|
elecom,wab-s600-ps|\
|
||||||
engenius,ecb1200|\
|
engenius,ecb1200|\
|
||||||
engenius,ecb1750)
|
engenius,ecb1750)
|
||||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||||
|
@ -42,6 +42,16 @@ case "$board" in
|
|||||||
[ "$PHYNBR" -eq 1 ] && \
|
[ "$PHYNBR" -eq 1 ] && \
|
||||||
mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
|
mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
|
||||||
;;
|
;;
|
||||||
|
elecom,wab-i1750-ps|\
|
||||||
|
elecom,wab-s1167-ps|\
|
||||||
|
elecom,wab-s600-ps)
|
||||||
|
# set the 5G MAC address (= ethaddr + 1)
|
||||||
|
[ "$PHYNBR" -eq 0 ] && \
|
||||||
|
macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1 > /sys${DEVPATH}/macaddress
|
||||||
|
# set the 2.4G MAC address (= ethaddr)
|
||||||
|
[ "$PHYNBR" -eq 1 ] && \
|
||||||
|
mtd_get_mac_ascii u-boot-env "ethaddr" > /sys${DEVPATH}/macaddress
|
||||||
|
;;
|
||||||
engenius,ecb1200|\
|
engenius,ecb1200|\
|
||||||
engenius,ecb1750)
|
engenius,ecb1750)
|
||||||
[ "$PHYNBR" -eq 0 ] && \
|
[ "$PHYNBR" -eq 0 ] && \
|
||||||
|
@ -392,6 +392,17 @@ define Device/tplink_cpe710-v1
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += tplink_cpe710-v1
|
TARGET_DEVICES += tplink_cpe710-v1
|
||||||
|
|
||||||
|
define Device/tplink_cpe710-v2
|
||||||
|
$(Device/tplink-safeloader-uimage)
|
||||||
|
SOC := qca9563
|
||||||
|
IMAGE_SIZE := 15680k
|
||||||
|
DEVICE_MODEL := CPE710
|
||||||
|
DEVICE_VARIANT := v2
|
||||||
|
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
|
||||||
|
TPLINK_BOARD_ID := CPE710V2
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += tplink_cpe710-v2
|
||||||
|
|
||||||
define Device/tplink-eap2x5
|
define Device/tplink-eap2x5
|
||||||
$(Device/tplink-safeloader)
|
$(Device/tplink-safeloader)
|
||||||
LOADER_TYPE := elf
|
LOADER_TYPE := elf
|
||||||
|
@ -55,8 +55,6 @@ CONFIG_BRCM_CHAR_DRIVERS=y
|
|||||||
CONFIG_BUFFER_HEAD=y
|
CONFIG_BUFFER_HEAD=y
|
||||||
# CONFIG_CACHE_L2X0 is not set
|
# CONFIG_CACHE_L2X0 is not set
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLKSRC_MMIO=y
|
CONFIG_CLKSRC_MMIO=y
|
||||||
CONFIG_CLK_BCM2711_DVP=y
|
CONFIG_CLK_BCM2711_DVP=y
|
||||||
CONFIG_CLK_BCM2835=y
|
CONFIG_CLK_BCM2835=y
|
||||||
@ -172,7 +170,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_BUG=y
|
CONFIG_GENERIC_BUG=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
|
@ -69,8 +69,6 @@ CONFIG_BROADCOM_PHY=y
|
|||||||
CONFIG_BUFFER_HEAD=y
|
CONFIG_BUFFER_HEAD=y
|
||||||
# CONFIG_CACHE_L2X0 is not set
|
# CONFIG_CACHE_L2X0 is not set
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLKSRC_MMIO=y
|
CONFIG_CLKSRC_MMIO=y
|
||||||
CONFIG_CLK_BCM2711_DVP=y
|
CONFIG_CLK_BCM2711_DVP=y
|
||||||
CONFIG_CLK_BCM2835=y
|
CONFIG_CLK_BCM2835=y
|
||||||
@ -211,7 +209,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||||
CONFIG_GENERIC_BUG=y
|
CONFIG_GENERIC_BUG=y
|
||||||
|
@ -85,8 +85,6 @@ CONFIG_CAVIUM_ERRATUM_23154=y
|
|||||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLKSRC_MMIO=y
|
CONFIG_CLKSRC_MMIO=y
|
||||||
CONFIG_CLK_BCM2711_DVP=y
|
CONFIG_CLK_BCM2711_DVP=y
|
||||||
CONFIG_CLK_BCM2835=y
|
CONFIG_CLK_BCM2835=y
|
||||||
@ -218,7 +216,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||||
|
@ -84,8 +84,6 @@ CONFIG_CAVIUM_ERRATUM_23154=y
|
|||||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLKSRC_MMIO=y
|
CONFIG_CLKSRC_MMIO=y
|
||||||
CONFIG_CLK_BCM2711_DVP=y
|
CONFIG_CLK_BCM2711_DVP=y
|
||||||
CONFIG_CLK_BCM2835=y
|
CONFIG_CLK_BCM2835=y
|
||||||
@ -219,7 +217,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_NUMA=y
|
CONFIG_GENERIC_ARCH_NUMA=y
|
||||||
|
@ -110,8 +110,6 @@ CONFIG_BUFFER_HEAD=y
|
|||||||
CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
||||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLKSRC_MMIO=y
|
CONFIG_CLKSRC_MMIO=y
|
||||||
CONFIG_CLK_BCM2711_DVP=y
|
CONFIG_CLK_BCM2711_DVP=y
|
||||||
CONFIG_CLK_BCM2835=y
|
CONFIG_CLK_BCM2835=y
|
||||||
@ -262,7 +260,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CACHE=y
|
CONFIG_FW_CACHE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_NUMA=y
|
CONFIG_GENERIC_ARCH_NUMA=y
|
||||||
|
@ -27,8 +27,6 @@ CONFIG_BCMA_PFLASH=y
|
|||||||
CONFIG_BCMA_SFLASH=y
|
CONFIG_BCMA_SFLASH=y
|
||||||
# CONFIG_BGMAC_BCMA is not set
|
# CONFIG_BGMAC_BCMA is not set
|
||||||
CONFIG_BLK_MQ_PCI=y
|
CONFIG_BLK_MQ_PCI=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CEVT_R4K=y
|
CONFIG_CEVT_R4K=y
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMDLINE="noinitrd console=ttyS0,115200"
|
CONFIG_CMDLINE="noinitrd console=ttyS0,115200"
|
||||||
@ -66,7 +64,6 @@ CONFIG_FS_IOMAP=y
|
|||||||
CONFIG_FUNCTION_ALIGNMENT=0
|
CONFIG_FUNCTION_ALIGNMENT=0
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC11_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
||||||
CONFIG_GENERIC_ATOMIC64=y
|
CONFIG_GENERIC_ATOMIC64=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
|
@ -32,7 +32,7 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
|
|||||||
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
|
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/watchdog/old_gpio_wdt.c
|
+++ b/drivers/watchdog/old_gpio_wdt.c
|
||||||
@@ -0,0 +1,301 @@
|
@@ -0,0 +1,300 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Driver for GPIO-controlled Hardware Watchdogs.
|
+ * Driver for GPIO-controlled Hardware Watchdogs.
|
||||||
+ *
|
+ *
|
||||||
@ -294,7 +294,6 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
|
|||||||
+ .probe = gpio_wdt_probe,
|
+ .probe = gpio_wdt_probe,
|
||||||
+ .remove = gpio_wdt_remove,
|
+ .remove = gpio_wdt_remove,
|
||||||
+ .driver.name = "gpio-wdt",
|
+ .driver.name = "gpio-wdt",
|
||||||
+ .driver.owner = THIS_MODULE,
|
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+static int __init gpio_wdt_init(void)
|
+static int __init gpio_wdt_init(void)
|
||||||
|
@ -49,8 +49,6 @@ CONFIG_BLK_PM=y
|
|||||||
CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
||||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLK_BCM_63XX=y
|
CONFIG_CLK_BCM_63XX=y
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_CMDLINE="earlycon=bcm63xx_uart,0xff800640 console=ttyS0,115200"
|
CONFIG_CMDLINE="earlycon=bcm63xx_uart,0xff800640 console=ttyS0,115200"
|
||||||
@ -94,7 +92,6 @@ CONFIG_FUNCTION_ALIGNMENT_4B=y
|
|||||||
CONFIG_FWNODE_MDIO=y
|
CONFIG_FWNODE_MDIO=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC11_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
||||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
|
@ -73,8 +73,6 @@ CONFIG_BOUNCE=y
|
|||||||
CONFIG_BROADCOM_PHY=y
|
CONFIG_BROADCOM_PHY=y
|
||||||
CONFIG_CACHE_L2X0=y
|
CONFIG_CACHE_L2X0=y
|
||||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y
|
CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y
|
||||||
CONFIG_CLKSRC_MMIO=y
|
CONFIG_CLKSRC_MMIO=y
|
||||||
# CONFIG_CLK_BCM_NS2 is not set
|
# CONFIG_CLK_BCM_NS2 is not set
|
||||||
@ -140,7 +138,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
|
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
|
||||||
CONFIG_GCC11_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||||
|
@ -17,8 +17,6 @@ CONFIG_BCM7038_WDT=y
|
|||||||
CONFIG_BLK_MQ_PCI=y
|
CONFIG_BLK_MQ_PCI=y
|
||||||
CONFIG_BLK_PM=y
|
CONFIG_BLK_PM=y
|
||||||
CONFIG_BMIPS_GENERIC=y
|
CONFIG_BMIPS_GENERIC=y
|
||||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
|
||||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_CEVT_R4K=y
|
CONFIG_CEVT_R4K=y
|
||||||
# CONFIG_CLK_BCM63268_TIMER is not set
|
# CONFIG_CLK_BCM63268_TIMER is not set
|
||||||
CONFIG_CLK_BCM_63XX_GATE=y
|
CONFIG_CLK_BCM_63XX_GATE=y
|
||||||
@ -86,7 +84,6 @@ CONFIG_FWNODE_MDIO=y
|
|||||||
CONFIG_FW_CFE=y
|
CONFIG_FW_CFE=y
|
||||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||||
CONFIG_FW_LOADER_SYSFS=y
|
CONFIG_FW_LOADER_SYSFS=y
|
||||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
|
||||||
CONFIG_GENERIC_ATOMIC64=y
|
CONFIG_GENERIC_ATOMIC64=y
|
||||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user