mirror of
https://github.com/Lienol/openwrt
synced 2025-01-08 11:37:34 +08:00
Merge branch 'openwrt-24.10' of https://github.com/openwrt/openwrt into 24.10
This commit is contained in:
commit
0217b6c6be
7
.github/labeler.yml
vendored
7
.github/labeler.yml
vendored
@ -180,6 +180,13 @@
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- "target/linux/starfive/**"
|
||||
"target/stm32":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- "target/linux/stm32/**"
|
||||
- "package/boot/arm-trusted-firmware-stm32/**"
|
||||
- "package/boot/optee-os-stm32/**"
|
||||
- "package/boot/uboot-stm32/**"
|
||||
"target/sunxi":
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
|
@ -70,7 +70,8 @@ menu "Global build settings"
|
||||
|
||||
config USE_APK
|
||||
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"
|
||||
|
||||
@ -295,12 +296,22 @@ menu "Global build settings"
|
||||
Enable GCC Stack Smashing Protection (SSP) for userspace applications
|
||||
config PKG_CC_STACKPROTECTOR_NONE
|
||||
bool "None"
|
||||
help
|
||||
No stack smashing protection.
|
||||
config PKG_CC_STACKPROTECTOR_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
|
||||
bool "Strong"
|
||||
help
|
||||
Like Regular, but also protects functions with
|
||||
local arrays or references to local frame addresses.
|
||||
config PKG_CC_STACKPROTECTOR_ALL
|
||||
bool "All"
|
||||
help
|
||||
Protects all functions.
|
||||
endchoice
|
||||
|
||||
choice
|
||||
@ -310,10 +321,18 @@ menu "Global build settings"
|
||||
Enable GCC Stack-Smashing Protection (SSP) for the kernel
|
||||
config KERNEL_CC_STACKPROTECTOR_NONE
|
||||
bool "None"
|
||||
help
|
||||
No stack smashing protection.
|
||||
config KERNEL_CC_STACKPROTECTOR_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
|
||||
bool "Strong"
|
||||
help
|
||||
Like Regular, but also protects functions with
|
||||
local arrays or references to local frame addresses.
|
||||
endchoice
|
||||
|
||||
config KERNEL_STACKPROTECTOR
|
||||
|
@ -333,6 +333,25 @@ if KERNEL_TASKSTATS
|
||||
|
||||
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
|
||||
bool "Compile the kernel with symbol table information"
|
||||
default y if !SMALL_FLASH
|
||||
|
@ -97,7 +97,7 @@ define Build/Configure/Default
|
||||
-DCMAKE_SYSTEM_NAME=Linux \
|
||||
-DCMAKE_SYSTEM_VERSION=1 \
|
||||
-DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_BUILD_TYPE=$(if $(CONFIG_DEBUG),Debug,Release) \
|
||||
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \
|
||||
|
@ -21,6 +21,11 @@ include $(INCLUDE_DIR)/rootfs.mk
|
||||
override MAKE:=$(_SINGLE)$(SUBMAKE)
|
||||
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))))
|
||||
|
||||
target_params = $(subst +,$(space),$*)
|
||||
@ -111,6 +116,12 @@ endef
|
||||
|
||||
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
|
||||
$(foreach data, \
|
||||
$(subst |,$(space),\
|
||||
@ -118,12 +129,24 @@ $(foreach data, \
|
||||
$(call $(2),$(strip $(subst ^,$(space),$(data)))))
|
||||
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
|
||||
$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1))))
|
||||
$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1)))
|
||||
|
||||
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
|
||||
$(call split_args,$(1),build_cmd)
|
||||
endef
|
||||
@ -163,6 +186,12 @@ DTC_WARN_FLAGS := \
|
||||
DTC_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
|
||||
dd if=$(1) of=$(1).new bs=$(2) conv=sync
|
||||
mv $(1).new $(1)
|
||||
@ -403,26 +432,53 @@ define Device/InitProfile
|
||||
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
|
||||
endef
|
||||
|
||||
##@
|
||||
# @brief Image configuration variables.
|
||||
#
|
||||
# @param 1: Device name.
|
||||
##
|
||||
define Device/Init
|
||||
##@ Device name.
|
||||
DEVICE_NAME := $(1)
|
||||
##@ Commands to build kernel.
|
||||
# Commands with arguments are separated by `|`.
|
||||
##
|
||||
KERNEL:=
|
||||
##@ Commands to build initramfs.
|
||||
# Commands with arguments are separated by `|`.
|
||||
##
|
||||
KERNEL_INITRAMFS = $$(KERNEL)
|
||||
##@ Kernel command line.
|
||||
CMDLINE:=
|
||||
|
||||
##@ Images to build.
|
||||
IMAGES :=
|
||||
##@ Artifacts to build.
|
||||
ARTIFACTS :=
|
||||
##@ Device image prefix.
|
||||
DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
|
||||
##@ Device image name.
|
||||
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
|
||||
##@ Factory image name.
|
||||
FACTORY_IMG_NAME :=
|
||||
##@ Maximum image size. Optional.
|
||||
IMAGE_SIZE :=
|
||||
##@ Maximum image size. Optional.
|
||||
NAND_SIZE :=
|
||||
##@ Kernel image prefix.
|
||||
KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
|
||||
##@ Kernel image suffix.
|
||||
KERNEL_SUFFIX := -kernel.bin
|
||||
##@ Initramfs image suffix.
|
||||
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
||||
##@ Kernel image name.
|
||||
KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
|
||||
##@ Initramfs image prefix.
|
||||
KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
|
||||
KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
|
||||
##@ Initramfs image name.
|
||||
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
|
||||
##@ Kernel install flag.
|
||||
KERNEL_INSTALL :=
|
||||
KERNEL_NAME := vmlinux
|
||||
KERNEL_DEPENDS :=
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .60
|
||||
LINUX_KERNEL_HASH-6.6.60 = 52f9e32d5082ab94253447fd66670d0c3bb765cfcb99b0bf61d1b8eae25952ef
|
||||
LINUX_VERSION-6.6 = .63
|
||||
LINUX_KERNEL_HASH-6.6.63 = d1054ab4803413efe2850f50f1a84349c091631ec50a1cf9e891d1b1f9061835
|
||||
|
@ -124,7 +124,7 @@ define Build/Configure/Meson
|
||||
$(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt)
|
||||
$(call Meson, \
|
||||
setup \
|
||||
--buildtype plain \
|
||||
--buildtype $(if $(CONFIG_DEBUG),debug,plain) \
|
||||
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
|
||||
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
|
||||
-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
|
||||
|
||||
|
||||
# default device type
|
||||
##@
|
||||
# @brief Default device type ( basic | nas | 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:=\
|
||||
base-files \
|
||||
ca-bundle \
|
||||
@ -31,15 +38,21 @@ DEFAULT_PACKAGES:=\
|
||||
luci-app-timecontrol luci-app-control-timewol luci-app-control-webrestriction luci-app-control-weburl \
|
||||
urngd
|
||||
|
||||
# For the basic set
|
||||
##@
|
||||
# @brief Default packages for @DEVICE_TYPE basic.
|
||||
##
|
||||
DEFAULT_PACKAGES.basic:=
|
||||
# For nas targets
|
||||
##@
|
||||
# @brief Default packages for @DEVICE_TYPE nas.
|
||||
##
|
||||
DEFAULT_PACKAGES.nas:=\
|
||||
block-mount \
|
||||
fdisk \
|
||||
lsblk \
|
||||
mdadm
|
||||
# For router targets
|
||||
##@
|
||||
# @brief Default packages for @DEVICE_TYPE router.
|
||||
##
|
||||
DEFAULT_PACKAGES.router:=\
|
||||
dnsmasq-full \
|
||||
firewall4 \
|
||||
@ -119,7 +132,18 @@ endif
|
||||
# Add device specific packages (here below to allow device type set from subtarget)
|
||||
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
|
||||
|
||||
##@
|
||||
# @brief Filter out packages, prepended with `-`.
|
||||
#
|
||||
# @param 1: Package list.
|
||||
##
|
||||
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)
|
||||
|
||||
define ProfileDefault
|
||||
|
@ -24,6 +24,8 @@ boot() {
|
||||
chmod 1777 /var/lock
|
||||
mkdir -p /var/log
|
||||
mkdir -p /var/run
|
||||
ln -s /var/run /run
|
||||
ln -s /var/lock /run/lock
|
||||
mkdir -p /var/state
|
||||
mkdir -p /var/tmp
|
||||
mkdir -p /tmp/.uci
|
||||
@ -33,9 +35,9 @@ boot() {
|
||||
mkdir -p /tmp/resolv.conf.d
|
||||
touch /tmp/resolv.conf.d/resolv.conf.auto
|
||||
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 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
|
||||
|
||||
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))
|
@ -39,6 +39,7 @@ jcg,q30-pro|\
|
||||
netcore,n60|\
|
||||
nokia,ea0326gmp|\
|
||||
qihoo,360t7|\
|
||||
routerich,ax3000-ubootmod|\
|
||||
tplink,tl-xdr4288|\
|
||||
tplink,tl-xdr6086|\
|
||||
tplink,tl-xdr6088|\
|
||||
@ -49,6 +50,16 @@ xiaomi,redmi-router-ax6000-ubootmod|\
|
||||
zyxel,ex5601-t0-ubootmod)
|
||||
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)
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
|
||||
;;
|
||||
@ -86,12 +97,8 @@ zbtlink,zbt-z8103ax)
|
||||
dlink,aquila-pro-ai-m30-a1)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
|
||||
;;
|
||||
glinet,gl-x3000|\
|
||||
glinet,gl-xe3000|\
|
||||
glinet,gl-mt2500|\
|
||||
glinet,gl-mt6000)
|
||||
local envdev=$(find_mmc_part "u-boot-env")
|
||||
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
|
||||
gatonetworks,gdsp)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
glinet,gl-mt3000)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
|
||||
|
@ -364,6 +364,19 @@ define U-Boot/mt7981_rfb-emmc
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr3
|
||||
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
|
||||
NAME:=MT7981 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
@ -400,6 +413,18 @@ define U-Boot/mt7981_rfb-snfi
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-snand-ddr3
|
||||
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
|
||||
NAME:=Qihoo 360T7
|
||||
BUILD_SUBTARGET:=filogic
|
||||
@ -797,6 +822,7 @@ UBOOT_TARGETS := \
|
||||
mt7981_abt_asr3000 \
|
||||
mt7981_cmcc_rax3000m-emmc \
|
||||
mt7981_cmcc_rax3000m-nand \
|
||||
mt7981_gatonetworks_gdsp \
|
||||
mt7981_glinet_gl-x3000 \
|
||||
mt7981_glinet_gl-xe3000 \
|
||||
mt7981_h3c_magic-nx30-pro \
|
||||
@ -809,6 +835,7 @@ UBOOT_TARGETS := \
|
||||
mt7981_rfb-nor \
|
||||
mt7981_rfb-sd \
|
||||
mt7981_rfb-snfi \
|
||||
mt7981_routerich_ax3000 \
|
||||
mt7981_qihoo_360t7 \
|
||||
mt7981_xiaomi_mi-router-ax3000t \
|
||||
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_VERSION:=15.2
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@GNU/gdb
|
||||
@ -37,7 +37,7 @@ $(call Package/gdb/Default)
|
||||
endef
|
||||
|
||||
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
|
||||
moment it crashed.
|
||||
endef
|
||||
|
@ -199,6 +199,14 @@ define Package/iwlwifi-firmware-ax210/install
|
||||
endef
|
||||
$(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)
|
||||
define Package/iwlwifi-firmware-be200/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware
|
||||
@ -216,29 +224,49 @@ define Package/e100-firmware/install
|
||||
endef
|
||||
$(eval $(call BuildPackage,e100-firmware))
|
||||
|
||||
Package/intel-igpu-firmware-dmc = $(call Package/firmware-default,Intel iGPU DMC Display MC firmware)
|
||||
define Package/intel-igpu-firmware-dmc/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||
$(CP) \
|
||||
$(PKG_BUILD_DIR)/i915/*_dmc_*.bin* \
|
||||
$(1)/lib/firmware/i915/
|
||||
i915_deps:=+i915-firmware-dmc +i915-firmware-guc +i915-firmware-huc +i915-firmware-gsc
|
||||
Package/i915-firmware = $(call Package/firmware-default,Intel I915 firmware \(meta package\),$(i915_deps),LICENSE.i915)
|
||||
define Package/i915-firmware/install
|
||||
true
|
||||
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)
|
||||
define Package/intel-igpu-firmware-guc/install
|
||||
Package/i915-firmware-dmc = $(call Package/firmware-default,Intel I915 DMC firmware,,LICENSE.i915)
|
||||
define Package/i915-firmware-dmc/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||
$(CP) \
|
||||
$(PKG_BUILD_DIR)/i915/*_guc_*.bin* \
|
||||
$(1)/lib/firmware/i915/
|
||||
for f in $(PKG_BUILD_DIR)/i915/*_dmc*.bin; do \
|
||||
t=`echo $$$${f##*/} | cut -d_ -f2 | cut -d. -f1`; \
|
||||
if [ "$$$$t" = dmc ]; then $(CP) $$$$f $(1)/lib/firmware/i915/; fi \
|
||||
done
|
||||
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)
|
||||
define Package/intel-igpu-firmware-huc/install
|
||||
Package/i915-firmware-guc = $(call Package/firmware-default,Intel I915 GUC firmware,,LICENSE.i915)
|
||||
define Package/i915-firmware-guc/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/i915
|
||||
$(CP) \
|
||||
$(PKG_BUILD_DIR)/i915/*_huc_*.bin* \
|
||||
$(1)/lib/firmware/i915/
|
||||
for f in $(PKG_BUILD_DIR)/i915/*_guc*.bin; do \
|
||||
t=`echo $$$${f##*/} | cut -d_ -f2 | cut -d. -f1`; \
|
||||
if [ "$$$$t" = guc ]; then $(CP) $$$$f $(1)/lib/firmware/i915/; fi \
|
||||
done
|
||||
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
|
||||
URL:=https://gitlab.nic.cz/turris/hw/$(PKG_DISTNAME)/-/releases
|
||||
TITLE:=CZ.NIC Turris Omnia MCU firmware
|
||||
DEPENDS:=@TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia
|
||||
endef
|
||||
|
||||
define Package/omnia-mcu-firmware/description
|
||||
|
@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
|
||||
define KernelPackage/cryptodev
|
||||
SUBMENU:=Cryptographic API modules
|
||||
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
|
||||
FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,50,cryptodev)
|
||||
@ -36,8 +36,9 @@ define KernelPackage/cryptodev
|
||||
endef
|
||||
|
||||
define KernelPackage/cryptodev/description
|
||||
This is a driver for that allows to use the Linux kernel supported
|
||||
hardware ciphers by user-space applications.
|
||||
This driver allows use of the Linux kernel supported hardware-based
|
||||
cryptographic and hash accelerators by user-space applications,
|
||||
via a "/dev/crypto" device.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
|
@ -693,7 +693,6 @@ static struct platform_driver gpio_keys_driver = {
|
||||
.remove = gpio_keys_remove,
|
||||
.driver = {
|
||||
.name = "gpio-keys",
|
||||
.owner = THIS_MODULE,
|
||||
.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,
|
||||
.driver = {
|
||||
.name = "gpio-keys-polled",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
|
||||
},
|
||||
};
|
||||
|
@ -366,7 +366,6 @@ err:
|
||||
|
||||
static struct platform_driver nct5104d_gpio_driver = {
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = DRVNAME,
|
||||
},
|
||||
.probe = nct5104d_gpio_probe,
|
||||
|
@ -2807,7 +2807,6 @@ static struct platform_driver ltq_mei_driver = {
|
||||
.remove = ltq_mei_remove,
|
||||
.driver = {
|
||||
.name = "lantiq,mei-xway",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_mei_match,
|
||||
},
|
||||
};
|
||||
|
@ -36,7 +36,7 @@
|
||||
}
|
||||
|
||||
#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");
|
||||
#endif /* #ifndef DSL_DEBUG_DISABLE*/
|
||||
|
||||
@ -59,7 +59,6 @@
|
||||
+ .remove = __devexit_p(ltq_adsl_remove),
|
||||
+ .driver = {
|
||||
+ .name = "adsl",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = ltq_adsl_match,
|
||||
+ },
|
||||
+};
|
||||
|
@ -1894,7 +1894,6 @@ static struct platform_driver ltq_atm_driver = {
|
||||
.remove = ltq_atm_remove,
|
||||
.driver = {
|
||||
.name = "atm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_atm_match,
|
||||
},
|
||||
};
|
||||
|
@ -196,7 +196,6 @@ static struct platform_driver ltq_deu_driver = {
|
||||
.remove = ltq_deu_remove,
|
||||
.driver = {
|
||||
.name = "deu",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_deu_match,
|
||||
},
|
||||
};
|
||||
|
@ -1600,7 +1600,6 @@ static struct platform_driver ltq_ptm_driver = {
|
||||
.remove = ltq_ptm_remove,
|
||||
.driver = {
|
||||
.name = "ptm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_ptm_match,
|
||||
},
|
||||
};
|
||||
|
@ -1138,7 +1138,6 @@ static struct platform_driver ltq_ptm_driver = {
|
||||
.remove = ltq_ptm_remove,
|
||||
.driver = {
|
||||
.name = "ptm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ltq_ptm_match,
|
||||
},
|
||||
};
|
||||
|
@ -245,6 +245,25 @@ endef
|
||||
$(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
|
||||
TITLE:=Kvaser CAN/USB interface
|
||||
KCONFIG:=CONFIG_CAN_KVASER_USB
|
||||
|
@ -249,6 +249,15 @@ endef
|
||||
|
||||
$(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
|
||||
TITLE:=ESSIV support for block encryption
|
||||
|
@ -46,6 +46,38 @@ endef
|
||||
$(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
|
||||
TITLE:=Provides helper functions for setting up triggered buffers.
|
||||
DEPENDS:=+kmod-iio-kfifo-buf
|
||||
|
@ -42,6 +42,24 @@ endef
|
||||
$(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
|
||||
SUBMENU:=$(NETWORK_SUPPORT_MENU)
|
||||
TITLE:=Ethernet bonding driver
|
||||
|
@ -961,6 +961,7 @@ define KernelPackage/thermal
|
||||
CONFIG_THERMAL=y \
|
||||
CONFIG_THERMAL_OF=y \
|
||||
CONFIG_CPU_THERMAL=y \
|
||||
CONFIG_DEVFREQ_THERMAL=n \
|
||||
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
|
||||
CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
|
||||
CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
|
||||
|
@ -314,6 +314,17 @@ endef
|
||||
$(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
|
||||
DEPENDS:=@TARGET_x86 +kmod-input-core
|
||||
TITLE:=PC speaker support
|
||||
|
@ -576,6 +576,7 @@ define KernelPackage/usb-audio
|
||||
CONFIG_SND_USB_AUDIO
|
||||
$(call AddDepends/usb)
|
||||
$(call AddDepends/sound)
|
||||
DEPENDS+=+kmod-media-controller
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \
|
||||
$(LINUX_DIR)/sound/usb/snd-usb-audio.ko
|
||||
|
@ -12,6 +12,28 @@ V4L2_DIR=v4l2-core
|
||||
V4L2_USB_DIR=usb
|
||||
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
|
||||
#
|
||||
@ -311,6 +333,38 @@ endef
|
||||
|
||||
$(eval $(call KernelPackage,drm-exec))
|
||||
|
||||
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
|
||||
SUBMENU:=$(VIDEO_MENU)
|
||||
TITLE:=GPU memory management subsystem
|
||||
@ -406,6 +460,49 @@ endef
|
||||
|
||||
$(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
|
||||
SUBMENU:=$(VIDEO_MENU)
|
||||
@ -484,6 +581,24 @@ endef
|
||||
|
||||
$(eval $(call KernelPackage,drm-imx-ldb))
|
||||
|
||||
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
|
||||
SUBMENU:=$(VIDEO_MENU)
|
||||
TITLE:=Radeon DRM support
|
||||
@ -508,9 +623,8 @@ $(eval $(call KernelPackage,drm-radeon))
|
||||
define KernelPackage/video-core
|
||||
SUBMENU:=$(VIDEO_MENU)
|
||||
TITLE=Video4Linux support
|
||||
DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core
|
||||
DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core +kmod-media-controller
|
||||
KCONFIG:= \
|
||||
CONFIG_MEDIA_SUPPORT \
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y \
|
||||
CONFIG_VIDEO_DEV \
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y \
|
||||
@ -566,6 +680,25 @@ endef
|
||||
|
||||
$(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
|
||||
TITLE:=CPIA2 video driver
|
||||
|
@ -437,6 +437,7 @@ define KernelPackage/brcmfmac/config
|
||||
default y if TARGET_starfive
|
||||
default y if TARGET_rockchip
|
||||
default y if TARGET_sunxi
|
||||
default y if TARGET_stm32
|
||||
default n
|
||||
help
|
||||
Enable support for cards attached to an SDIO bus.
|
||||
|
@ -146,7 +146,6 @@ static struct platform_driver ubootenv_driver = {
|
||||
.remove = ubootenv_remove,
|
||||
.driver = {
|
||||
.name = NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_ubootenv_match,
|
||||
},
|
||||
};
|
||||
|
@ -7,12 +7,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=elfutils
|
||||
PKG_VERSION:=0.191
|
||||
PKG_VERSION:=0.192
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
||||
PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871
|
||||
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) \
|
||||
https://mirrors.kernel.org/sourceware/$(PKG_NAME)/$(PKG_VERSION)
|
||||
PKG_HASH:=616099beae24aba11f9b63d86ca6cc8d566d968b802391334c91df54eab416b4
|
||||
|
||||
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
|
@ -11,7 +11,7 @@
|
||||
Requires.private: zlib @LIBZSTD@
|
||||
--- a/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_REQUIRE_VERSION([0.19.6])
|
||||
|
||||
|
@ -8,4 +8,4 @@
|
||||
+ libasm
|
||||
|
||||
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/user.h>
|
||||
# include <sys/ptrace.h>
|
||||
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
|
||||
@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t
|
||||
# include <asm/ptrace.h>
|
||||
@@ -94,7 +94,7 @@ aarch64_set_initial_registers_tid (pid_t
|
||||
|
||||
Dwarf_Word dwarf_fregs[32];
|
||||
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
|
||||
$(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
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
|
@ -208,7 +208,7 @@ mac80211_hostapd_setup_base() {
|
||||
dsss_cck_40:1
|
||||
|
||||
ht_cap_mask=0
|
||||
for cap in $(iw phy "$phy" info | grep 'Capabilities:' | cut -d: -f2); do
|
||||
for cap in $(iw phy "$phy" info | grep -E '^\s*Capabilities:' | cut -d: -f2); do
|
||||
ht_cap_mask="$(($ht_cap_mask | $cap))"
|
||||
done
|
||||
|
||||
|
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=odhcp6c
|
||||
PKG_RELEASE:=20
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
|
||||
PKG_SOURCE_DATE:=2023-05-12
|
||||
PKG_SOURCE_VERSION:=bcd283632ac13391aac3ebdd074d1fd832d76fa3
|
||||
PKG_MIRROR_HASH:=0c18c578045f9251bd86a5b8fb0518b69c519e83f69907bf76583a2985482508
|
||||
PKG_SOURCE_DATE:=2024-09-25
|
||||
PKG_SOURCE_VERSION:=b6ae9ffaeb0e18e9fa3d5be62faa8d3c9f340a58
|
||||
PKG_MIRROR_HASH:=25499b6a0d403815e6b04869a02d2d5a32582348bff2bc2626559d297425a908
|
||||
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
|
@ -8,14 +8,14 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=dropbear
|
||||
PKG_VERSION:=2024.85
|
||||
PKG_VERSION:=2024.86
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
https://matt.ucc.asn.au/dropbear/releases/ \
|
||||
https://dropbear.nl/mirror/releases/
|
||||
PKG_HASH:=86b036c433a69d89ce51ebae335d65c47738ccf90d13e5eb0fea832e556da502
|
||||
PKG_HASH:=e78936dffc395f2e0db099321d6be659190966b99712b55c530dd0a1822e0a5e
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
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 RootPasswordAuth 'on'
|
||||
option Port '22'
|
||||
|
@ -361,7 +361,7 @@ dropbear_instance()
|
||||
load_interfaces()
|
||||
{
|
||||
local enable
|
||||
config_get enable "$1" enable 1
|
||||
config_get_bool enable "$1" enable 1
|
||||
[ "${enable}" = "1" ] || return 0
|
||||
|
||||
local direct_iface iface
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/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 ... */
|
||||
if (getuid() == 0) {
|
||||
|
||||
|
@ -84,7 +84,11 @@ ifneq ($(CONFIG_DRIVER_11BE_SUPPORT),)
|
||||
HOSTAPD_IEEE80211BE:=y
|
||||
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
|
||||
|
||||
DRIVER_MAKEOPTS= \
|
||||
@ -716,7 +720,13 @@ define Install/supplicant
|
||||
endef
|
||||
|
||||
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/wpad.init $(1)/etc/init.d/wpad
|
||||
$(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
|
||||
+++ 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 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 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 struct utsname utsname; /* for the kernel version */
|
||||
-static struct utsname utsname; /* for the kernel version */
|
||||
-static int kernel_version;
|
||||
#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
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@ -44,7 +52,7 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
||||
struct mntent *mntent;
|
||||
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);
|
||||
}
|
||||
}
|
||||
@ -52,35 +60,24 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
||||
|
||||
strlcpy(proc_path + proc_path_len, tail,
|
||||
sizeof(proc_path) - proc_path_len);
|
||||
@@ -2895,15 +2897,19 @@ int ppp_check_kernel_support(void)
|
||||
int my_version, my_modification, my_patch;
|
||||
int osmaj, osmin, ospatch;
|
||||
@@ -2889,6 +2886,8 @@ ppp_registered(void)
|
||||
|
||||
int ppp_check_kernel_support(void)
|
||||
{
|
||||
+ return 1; /* OpenWrt support ppp device "/dev/ppp" by default */
|
||||
+#if 0
|
||||
/* get the kernel version now, since we are called before sys_init */
|
||||
uname(&utsname);
|
||||
osmaj = osmin = ospatch = 0;
|
||||
sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
|
||||
kernel_version = KVERSION(osmaj, osmin, ospatch);
|
||||
int s, ok, fd;
|
||||
struct ifreq ifr;
|
||||
int size;
|
||||
@@ -3016,6 +3015,7 @@ int ppp_check_kernel_support(void)
|
||||
}
|
||||
close(s);
|
||||
return ok;
|
||||
+#endif
|
||||
}
|
||||
|
||||
fd = open("/dev/ppp", O_RDWR);
|
||||
if (fd >= 0) {
|
||||
+#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,
|
||||
#ifndef HAVE_LOGWTMP
|
||||
@@ -3577,6 +3577,7 @@ get_pty(int *master_fdp, int *slave_fdp,
|
||||
}
|
||||
#endif /* TIOCGPTN */
|
||||
|
||||
@ -88,7 +85,7 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
||||
if (sfd < 0) {
|
||||
/* the old way - scan through the pty name space */
|
||||
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)
|
||||
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
|
||||
+++ 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)
|
||||
{
|
||||
-#ifdef linux
|
||||
#ifdef linux
|
||||
- extern int new_style_driver; /* From sys-linux.c */
|
||||
- if (!ppp_check_kernel_support() && !new_style_driver)
|
||||
- fatal("Kernel doesn't support ppp_generic - "
|
||||
- "needed for PPPoATM");
|
||||
-#else
|
||||
- fatal("No PPPoATM support on this OS");
|
||||
-#endif
|
||||
ppp_add_options(pppoa_options);
|
||||
}
|
||||
|
||||
#else
|
||||
fatal("No PPPoATM support on this OS");
|
||||
#endif
|
||||
--- a/pppd/plugins/pppoe/plugin.c
|
||||
+++ b/pppd/plugins/pppoe/plugin.c
|
||||
@@ -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);
|
||||
--- a/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)
|
||||
{
|
||||
-#if defined(__linux__)
|
||||
#if defined(__linux__)
|
||||
- extern int new_style_driver; /* From sys-linux.c */
|
||||
- if (!ppp_check_kernel_support() && !new_style_driver)
|
||||
- fatal("Kernel doesn't support ppp_generic - "
|
||||
- "needed for PPPoL2TP");
|
||||
-#else
|
||||
+#if !defined(__linux__)
|
||||
#else
|
||||
fatal("No PPPoL2TP support on this OS");
|
||||
#endif
|
||||
ppp_add_options(pppol2tp_options);
|
||||
|
@ -27,7 +27,7 @@ define Package/apk/default
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
TITLE:=apk package manager
|
||||
DEPENDS:=+zlib
|
||||
DEPENDS:=@BROKEN +zlib
|
||||
URL:=$(PKG_SOURCE_URL)
|
||||
PROVIDES:=apk
|
||||
endef
|
||||
|
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git
|
||||
PKG_MIRROR_HASH:=0f494faf2811af6cd7332acda8049ad9713dcabc4b2885dc14acbd9f61920be1
|
||||
PKG_SOURCE_DATE:=2024-11-06
|
||||
PKG_SOURCE_VERSION:=109fa41b2321506280397e03757976c468832668
|
||||
PKG_MIRROR_HASH:=56c5f71da3f68036c63ae59d01992785e74027726da5973297895985cd27c215
|
||||
PKG_SOURCE_DATE:=2024-11-13
|
||||
PKG_SOURCE_VERSION:=7330fa55c5211eb7b3c675d1c7b8281b69b53553
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
@ -11,6 +11,7 @@ PKG_MIRROR_HASH:=4cd7a770a05db28f496a60eb9fe015a4af677bba05053b4d4be21adcf95e52e
|
||||
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
PKG_MAINTAINER:=Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
|
@ -48,86 +48,86 @@ static inline size_t special_min(size_t a, size_t b)
|
||||
is an error reading or writing the files. */
|
||||
static int inf(FILE *source, FILE *dest, size_t limit, size_t skip)
|
||||
{
|
||||
int ret;
|
||||
size_t have;
|
||||
z_stream strm;
|
||||
unsigned char in[CHUNK];
|
||||
unsigned char out[CHUNK];
|
||||
int ret;
|
||||
size_t have;
|
||||
z_stream strm;
|
||||
unsigned char in[CHUNK];
|
||||
unsigned char out[CHUNK];
|
||||
|
||||
/* allocate inflate state */
|
||||
strm.zalloc = Z_NULL;
|
||||
strm.zfree = Z_NULL;
|
||||
strm.opaque = Z_NULL;
|
||||
strm.avail_in = 0;
|
||||
strm.next_in = Z_NULL;
|
||||
ret = inflateInit(&strm);
|
||||
if (ret != Z_OK)
|
||||
return ret;
|
||||
/* allocate inflate state */
|
||||
strm.zalloc = Z_NULL;
|
||||
strm.zfree = Z_NULL;
|
||||
strm.opaque = Z_NULL;
|
||||
strm.avail_in = 0;
|
||||
strm.next_in = Z_NULL;
|
||||
ret = inflateInit(&strm);
|
||||
if (ret != Z_OK)
|
||||
return ret;
|
||||
|
||||
/* decompress until deflate stream ends or end of file */
|
||||
do {
|
||||
strm.avail_in = fread(in, 1, CHUNK, source);
|
||||
if (ferror(source)) {
|
||||
(void)inflateEnd(&strm);
|
||||
return Z_ERRNO;
|
||||
}
|
||||
if (strm.avail_in == 0)
|
||||
break;
|
||||
strm.next_in = in;
|
||||
/* decompress until deflate stream ends or end of file */
|
||||
do {
|
||||
strm.avail_in = fread(in, 1, CHUNK, source);
|
||||
if (ferror(source)) {
|
||||
(void)inflateEnd(&strm);
|
||||
return Z_ERRNO;
|
||||
}
|
||||
if (strm.avail_in == 0)
|
||||
break;
|
||||
strm.next_in = in;
|
||||
|
||||
/* run inflate() on input until output buffer not full */
|
||||
do {
|
||||
strm.avail_out = CHUNK;
|
||||
strm.next_out = out;
|
||||
ret = inflate(&strm, Z_NO_FLUSH);
|
||||
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
|
||||
switch (ret) {
|
||||
case Z_NEED_DICT:
|
||||
ret = Z_DATA_ERROR; /* and fall through */
|
||||
case Z_DATA_ERROR:
|
||||
case Z_MEM_ERROR:
|
||||
(void)inflateEnd(&strm);
|
||||
return ret;
|
||||
}
|
||||
have = special_min(limit, CHUNK - strm.avail_out) - skip;
|
||||
if (fwrite(&out[skip], have, 1, dest) != 1 || ferror(dest)) {
|
||||
(void)inflateEnd(&strm);
|
||||
return Z_ERRNO;
|
||||
}
|
||||
skip = 0;
|
||||
limit -= have;
|
||||
} while (strm.avail_out == 0 && limit > 0);
|
||||
/* run inflate() on input until output buffer not full */
|
||||
do {
|
||||
strm.avail_out = CHUNK;
|
||||
strm.next_out = out;
|
||||
ret = inflate(&strm, Z_NO_FLUSH);
|
||||
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
|
||||
switch (ret) {
|
||||
case Z_NEED_DICT:
|
||||
ret = Z_DATA_ERROR; /* and fall through */
|
||||
case Z_DATA_ERROR:
|
||||
case Z_MEM_ERROR:
|
||||
(void)inflateEnd(&strm);
|
||||
return ret;
|
||||
}
|
||||
have = special_min(limit, CHUNK - strm.avail_out) - skip;
|
||||
if (fwrite(&out[skip], have, 1, dest) != 1 || ferror(dest)) {
|
||||
(void)inflateEnd(&strm);
|
||||
return Z_ERRNO;
|
||||
}
|
||||
skip = 0;
|
||||
limit -= have;
|
||||
} while (strm.avail_out == 0 && limit > 0);
|
||||
|
||||
/* done when inflate() says it's done */
|
||||
} while (ret != Z_STREAM_END && limit > 0);
|
||||
/* done when inflate() says it's done */
|
||||
} while (ret != Z_STREAM_END && limit > 0);
|
||||
|
||||
/* clean up and return */
|
||||
(void)inflateEnd(&strm);
|
||||
return (limit == 0 ? Z_OK : (ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR));
|
||||
/* clean up and return */
|
||||
(void)inflateEnd(&strm);
|
||||
return (limit == 0 ? Z_OK : (ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR));
|
||||
}
|
||||
|
||||
/* report a zlib or i/o error */
|
||||
static void zerr(int ret)
|
||||
{
|
||||
switch (ret) {
|
||||
case Z_ERRNO:
|
||||
if (ferror(stdin))
|
||||
fputs("error reading stdin\n", stderr);
|
||||
if (ferror(stdout))
|
||||
fputs("error writing stdout\n", stderr);
|
||||
break;
|
||||
case Z_STREAM_ERROR:
|
||||
fputs("invalid compression level\n", stderr);
|
||||
break;
|
||||
case Z_DATA_ERROR:
|
||||
fputs("invalid or incomplete deflate data\n", stderr);
|
||||
break;
|
||||
case Z_MEM_ERROR:
|
||||
fputs("out of memory\n", stderr);
|
||||
break;
|
||||
case Z_VERSION_ERROR:
|
||||
fputs("zlib version mismatch!\n", stderr);
|
||||
}
|
||||
switch (ret) {
|
||||
case Z_ERRNO:
|
||||
if (ferror(stdin))
|
||||
fputs("error reading stdin\n", stderr);
|
||||
if (ferror(stdout))
|
||||
fputs("error writing stdout\n", stderr);
|
||||
break;
|
||||
case Z_STREAM_ERROR:
|
||||
fputs("invalid compression level\n", stderr);
|
||||
break;
|
||||
case Z_DATA_ERROR:
|
||||
fputs("invalid or incomplete deflate data\n", stderr);
|
||||
break;
|
||||
case Z_MEM_ERROR:
|
||||
fputs("out of memory\n", stderr);
|
||||
break;
|
||||
case Z_VERSION_ERROR:
|
||||
fputs("zlib version mismatch!\n", stderr);
|
||||
}
|
||||
}
|
||||
|
||||
static unsigned int get_num(char *str)
|
||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mdadm
|
||||
PKG_VERSION:=4.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
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-zlib
|
||||
|
||||
define Package/ubi-utils/conffiles
|
||||
/etc/config/ubihealthd
|
||||
endef
|
||||
|
||||
define Package/ubi-utils/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(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) \
|
||||
$(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
|
||||
|
||||
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
|
||||
URL:=https://gitlab.nic.cz/turris/$(PKG_NAME)
|
||||
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
|
||||
|
||||
define Package/omnia-mcutool/description
|
||||
|
97
rules.mk
97
rules.mk
@ -20,6 +20,11 @@ endif
|
||||
export TMP_DIR:=$(TOPDIR)/tmp
|
||||
export TMPDIR:=$(TMP_DIR)
|
||||
|
||||
##@
|
||||
# @brief Strip quotes `"` and pounds `#` from string.
|
||||
#
|
||||
# @param 1: String.
|
||||
##
|
||||
qstrip=$(strip $(subst ",,$(1)))
|
||||
#"))
|
||||
|
||||
@ -27,8 +32,23 @@ empty:=
|
||||
space:= $(empty) $(empty)
|
||||
comma:=,
|
||||
pound:=\#
|
||||
##@
|
||||
# @brief Merge strings by removing spaces.
|
||||
#
|
||||
# @param 1: String.
|
||||
##
|
||||
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)
|
||||
##@
|
||||
# @brief Strip last extension from file name.
|
||||
#
|
||||
# @param 1: File name.
|
||||
##
|
||||
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
|
||||
|
||||
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_template = $(__tr_head)$$(1)$(__tr_tail)
|
||||
|
||||
##@
|
||||
# @brief Convert string characters to 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)))
|
||||
|
||||
##@
|
||||
# @brief Abbreviate version. Truncate to 8 characters.
|
||||
##
|
||||
version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1)))
|
||||
|
||||
_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
|
||||
|
||||
##@
|
||||
# @brief Create default targets.
|
||||
#
|
||||
# Targets are created from @DEFAULT_SUBDIR_TARGETS and input argument lists.
|
||||
#
|
||||
# @param 1: Additional targets list.
|
||||
##
|
||||
define DefaultTargets
|
||||
$(foreach t,$(DEFAULT_SUBDIR_TARGETS) $(1),
|
||||
.$(t):
|
||||
@ -371,16 +407,28 @@ export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison
|
||||
export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib
|
||||
export M4:=$(STAGING_DIR_HOST)/bin/m4
|
||||
|
||||
##@
|
||||
# @brief Slugify variable name and prepend suffix.
|
||||
##
|
||||
define shvar
|
||||
V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
||||
endef
|
||||
|
||||
##@
|
||||
# @brief Create and export variable, set to function result.
|
||||
#
|
||||
# @param 1: Function name. Used as variable name, prepended with `V_`.
|
||||
##
|
||||
define shexport
|
||||
export $(call shvar,$(1))=$$(call $(1))
|
||||
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
|
||||
# the value is 'y' when successful and '' otherwise
|
||||
# the value is `y` when successful and `` otherwise
|
||||
##
|
||||
define YEAR_2038
|
||||
$(shell \
|
||||
mkdir -p $(TMP_DIR); \
|
||||
@ -392,9 +440,12 @@ $(shell \
|
||||
)
|
||||
endef
|
||||
|
||||
# Execute commands under flock
|
||||
# $(1) => The shell expression.
|
||||
# $(2) => The lock name. If not given, the global lock will be used.
|
||||
##@
|
||||
# @brief Execute commands under flock
|
||||
#
|
||||
# @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),)
|
||||
define locked
|
||||
SHELL= \
|
||||
@ -406,10 +457,14 @@ else
|
||||
locked=$(1)
|
||||
endif
|
||||
|
||||
# Recursively copy paths into another directory, purge dangling
|
||||
|
||||
##@
|
||||
# @brief Recursively copy paths into another directory, purge dangling
|
||||
# symlinks before.
|
||||
# $(1) => File glob expression
|
||||
# $(2) => Destination directory
|
||||
#
|
||||
# @param 1: File glob expression.
|
||||
# @param 1: Destination directory.
|
||||
##
|
||||
define file_copy
|
||||
for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \
|
||||
( cd $$src_dir; find -type f -or -type d ) | \
|
||||
@ -424,19 +479,30 @@ define file_copy
|
||||
$(CP) $(1) $(2)
|
||||
endef
|
||||
|
||||
# Calculate sha256sum of any plain file within a given directory
|
||||
# $(1) => Input directory
|
||||
# $(2) => If set, recurse into subdirectories
|
||||
##@
|
||||
# @brief Calculate sha256sum of any plain file within a given directory.
|
||||
#
|
||||
# @param 1: Input directory.
|
||||
# @param 2: If set, recurse into subdirectories.
|
||||
##
|
||||
define sha256sums
|
||||
(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)
|
||||
endef
|
||||
|
||||
# file extension
|
||||
##@
|
||||
# @brief Retrieve file extension.
|
||||
#
|
||||
# @param 1: File name.
|
||||
##
|
||||
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
|
||||
$(shell \
|
||||
if git log -1 >/dev/null 2>/dev/null; then \
|
||||
@ -458,6 +524,11 @@ $(shell \
|
||||
)
|
||||
endef
|
||||
|
||||
##@
|
||||
# @brief Get ABI version string, stripping `-`, `_` and `.`.
|
||||
#
|
||||
# @param 1: Version string.
|
||||
##
|
||||
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
|
||||
|
||||
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:
|
||||
default_packages, output["arch_packages"] = run(
|
||||
(
|
||||
default_packages,
|
||||
output["arch_packages"],
|
||||
linux_version,
|
||||
linux_release,
|
||||
linux_vermagic,
|
||||
) = run(
|
||||
[
|
||||
"make",
|
||||
"--no-print-directory",
|
||||
@ -55,6 +61,9 @@ if output:
|
||||
"target/linux/",
|
||||
"val.DEFAULT_PACKAGES",
|
||||
"val.ARCH_PACKAGES",
|
||||
"val.LINUX_VERSION",
|
||||
"val.LINUX_RELEASE",
|
||||
"val.LINUX_VERMAGIC",
|
||||
"V=s",
|
||||
],
|
||||
stdout=PIPE,
|
||||
@ -64,7 +73,11 @@ if output:
|
||||
).stdout.splitlines()
|
||||
|
||||
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=(",", ":")))
|
||||
else:
|
||||
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_CC_HAVE_SHADOW_CALL_STACK=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_CGROUPS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
@ -232,7 +230,6 @@ CONFIG_FUNCTION_ALIGNMENT_4B=y
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
|
@ -45,8 +45,6 @@ CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||
CONFIG_CACHE_L2X0=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_CMDLINE="rootfstype=squashfs,jffs2"
|
||||
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
||||
@ -102,7 +100,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
|
@ -40,7 +40,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
--- a/drivers/thermal/thermal_of.c
|
||||
+++ b/drivers/thermal/thermal_of.c
|
||||
@@ -249,7 +249,7 @@ static void thermal_of_parameters_init(s
|
||||
@@ -245,7 +245,7 @@ static void thermal_of_parameters_init(s
|
||||
{
|
||||
int coef[2];
|
||||
int ncoef = ARRAY_SIZE(coef);
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
tzp->no_hwmon = true;
|
||||
|
||||
@@ -261,14 +261,11 @@ static void thermal_of_parameters_init(s
|
||||
@@ -257,14 +257,11 @@ static void thermal_of_parameters_init(s
|
||||
* thermal zone. Thus, we are considering only the first two
|
||||
* values as slope and offset.
|
||||
*/
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
}
|
||||
|
||||
static struct device_node *thermal_of_zone_get_by_name(struct thermal_zone_device *tz)
|
||||
@@ -462,10 +459,15 @@ static void thermal_of_zone_unregister(s
|
||||
@@ -458,10 +455,15 @@ static void thermal_of_zone_unregister(s
|
||||
* zone properties and registers new thermal zone with those
|
||||
* properties.
|
||||
*
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
*
|
||||
* Return: a valid thermal zone structure pointer on success.
|
||||
* - EINVAL: if the device tree thermal description is malformed
|
||||
@@ -473,11 +475,11 @@ static void thermal_of_zone_unregister(s
|
||||
@@ -469,11 +471,11 @@ static void thermal_of_zone_unregister(s
|
||||
* - Other negative errors are returned by the underlying called functions
|
||||
*/
|
||||
static struct thermal_zone_device *thermal_of_zone_register(struct device_node *sensor, int id, void *data,
|
||||
@ -97,7 +97,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
struct thermal_zone_device_ops *of_ops;
|
||||
struct device_node *np;
|
||||
int delay, pdelay;
|
||||
@@ -509,7 +511,7 @@ static struct thermal_zone_device *therm
|
||||
@@ -508,7 +510,7 @@ static struct thermal_zone_device *therm
|
||||
goto out_kfree_trips;
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
of_ops->bind = thermal_of_bind;
|
||||
of_ops->unbind = thermal_of_unbind;
|
||||
@@ -517,7 +519,7 @@ static struct thermal_zone_device *therm
|
||||
@@ -516,7 +518,7 @@ static struct thermal_zone_device *therm
|
||||
mask = GENMASK_ULL((ntrips) - 1, 0);
|
||||
|
||||
tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips,
|
||||
@ -115,7 +115,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
pdelay, delay);
|
||||
if (IS_ERR(tz)) {
|
||||
ret = PTR_ERR(tz);
|
||||
@@ -572,6 +574,7 @@ static int devm_thermal_of_zone_match(st
|
||||
@@ -571,6 +573,7 @@ static int devm_thermal_of_zone_match(st
|
||||
struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int sensor_id, void *data,
|
||||
const struct thermal_zone_device_ops *ops)
|
||||
{
|
||||
@ -123,7 +123,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
struct thermal_zone_device **ptr, *tzd;
|
||||
|
||||
ptr = devres_alloc(devm_thermal_of_zone_release, sizeof(*ptr),
|
||||
@@ -579,7 +582,7 @@ struct thermal_zone_device *devm_thermal
|
||||
@@ -578,7 +581,7 @@ struct thermal_zone_device *devm_thermal
|
||||
if (!ptr)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
@ -132,7 +132,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
if (IS_ERR(tzd)) {
|
||||
devres_free(ptr);
|
||||
return tzd;
|
||||
@@ -593,6 +596,46 @@ struct thermal_zone_device *devm_thermal
|
||||
@@ -592,6 +595,46 @@ struct thermal_zone_device *devm_thermal
|
||||
EXPORT_SYMBOL_GPL(devm_thermal_of_zone_register);
|
||||
|
||||
/**
|
||||
|
@ -34,8 +34,6 @@ CONFIG_BOOKE=y
|
||||
CONFIG_BOOKE_OR_40x=y
|
||||
CONFIG_BOOKE_WDT=y
|
||||
# CONFIG_CANYONLANDS is not set
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="rootfstype=squashfs noinitrd"
|
||||
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
||||
@ -83,7 +81,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
|
@ -47,8 +47,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BUFFER_HEAD=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CLK_HSDK=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
@ -103,7 +101,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
|
@ -44,8 +44,6 @@ CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_BUFFER_HEAD=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_COMMON_CLK=y
|
||||
CONFIG_COMMON_CLK_AT91=y
|
||||
@ -109,7 +107,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
|
@ -54,8 +54,6 @@ CONFIG_BLK_PM=y
|
||||
CONFIG_BUFFER_HEAD=y
|
||||
CONFIG_CACHE_L2X0=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_CMA=y
|
||||
CONFIG_CMA_ALIGNMENT=8
|
||||
@ -181,7 +179,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
|
@ -45,8 +45,6 @@ CONFIG_BUFFER_HEAD=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_CAN=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_CMA=y
|
||||
CONFIG_CMA_ALIGNMENT=9
|
||||
@ -162,7 +160,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
|
@ -14,8 +14,6 @@ CONFIG_AT803X_PHY=y
|
||||
CONFIG_ATH79=y
|
||||
CONFIG_ATH79_WDT=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
|
||||
@ -58,7 +56,6 @@ CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||
|
@ -1,151 +1,13 @@
|
||||
// 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>
|
||||
#include "qca9563_tplink_cpe710.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TP-Link CPE710 v1";
|
||||
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 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
|
||||
phy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
|
||||
@ -153,17 +15,6 @@
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
phy-handle = <&phy4>;
|
||||
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];
|
||||
};
|
||||
|
||||
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)
|
||||
{
|
||||
mutex_lock(&glc->mutex);
|
||||
@ -58,7 +53,7 @@ static void gpio_latch_unlock(struct gpio_latch_chip *glc, bool disable)
|
||||
static int
|
||||
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;
|
||||
|
||||
gpio_latch_lock(glc, false);
|
||||
@ -71,7 +66,7 @@ gpio_latch_get(struct gpio_chip *gc, unsigned offset)
|
||||
static void
|
||||
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 disable_latch = false;
|
||||
|
||||
@ -88,7 +83,7 @@ gpio_latch_set(struct gpio_chip *gc, unsigned offset, int value)
|
||||
static int
|
||||
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 disable_latch = false;
|
||||
int ret;
|
||||
@ -173,7 +168,6 @@ static struct platform_driver gpio_latch_driver = {
|
||||
.probe = gpio_latch_probe,
|
||||
.driver = {
|
||||
.name = GPIO_LATCH_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = gpio_latch_match,
|
||||
},
|
||||
};
|
||||
|
@ -41,14 +41,9 @@ struct gpio_rb91x_key {
|
||||
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)
|
||||
{
|
||||
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;
|
||||
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)
|
||||
{
|
||||
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;
|
||||
|
||||
mutex_lock(&drvdata->mutex);
|
||||
@ -187,7 +182,6 @@ static struct platform_driver gpio_rb91x_key_driver = {
|
||||
.probe = gpio_rb91x_key_probe,
|
||||
.driver = {
|
||||
.name = GPIO_RB91X_KEY_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = gpio_rb91x_key_match,
|
||||
},
|
||||
};
|
||||
|
@ -1478,7 +1478,6 @@ static struct platform_driver ar934x_nfc_driver = {
|
||||
.remove = ar934x_nfc_remove,
|
||||
.driver = {
|
||||
.name = AR934X_NFC_DRIVER_NAME,
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ar934x_nfc_match,
|
||||
},
|
||||
};
|
||||
|
@ -356,7 +356,6 @@ static struct platform_driver rb91x_nand_driver = {
|
||||
.remove = rb91x_nand_remove,
|
||||
.driver = {
|
||||
.name = "rb91x-nand",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = rb91x_nand_match,
|
||||
},
|
||||
};
|
||||
|
@ -222,7 +222,8 @@ openmesh,mr900-v1|\
|
||||
openmesh,mr900-v2|\
|
||||
openmesh,mr1750-v1|\
|
||||
openmesh,mr1750-v2|\
|
||||
tplink,cpe710-v1)
|
||||
tplink,cpe710-v1|\
|
||||
tplink,cpe710-v2)
|
||||
ucidef_set_led_netdev "lan" "LAN" "blue:lan" "eth0"
|
||||
;;
|
||||
compex,wpj344-16m|\
|
||||
|
@ -89,6 +89,7 @@ ath79_setup_interfaces()
|
||||
tplink,cpe610-v1|\
|
||||
tplink,cpe610-v2|\
|
||||
tplink,cpe710-v1|\
|
||||
tplink,cpe710-v2|\
|
||||
tplink,eap225-outdoor-v1|\
|
||||
tplink,eap225-outdoor-v3|\
|
||||
tplink,eap225-v1|\
|
||||
|
@ -391,6 +391,17 @@ define Device/tplink_cpe710-v1
|
||||
endef
|
||||
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
|
||||
$(Device/tplink-safeloader)
|
||||
LOADER_TYPE := elf
|
||||
|
@ -209,7 +209,7 @@ static inline void huawei_ap_init(void)
|
||||
#if defined(CONFIG_BOARD_HUAWEI_AP5030DN)
|
||||
WRITEREG(gpiobase + AR934X_GPIO_REG_OUT_FUNC3,
|
||||
reg | (QCA955X_GPIO_OUTSEL_CLK_OBS5 << 24));
|
||||
#else if defined(CONFIG_BOARD_HUAWEI_AP6010DN)
|
||||
#elif defined(CONFIG_BOARD_HUAWEI_AP6010DN)
|
||||
WRITEREG(gpiobase + AR934X_GPIO_REG_OUT_FUNC3,
|
||||
reg | (AR934X_GPIO_OUTSEL_CLK_OBS4 << 24));
|
||||
#endif
|
||||
|
@ -557,7 +557,7 @@ SVN-Revision: 35130
|
||||
static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
|
||||
--- a/net/sched/cls_u32.c
|
||||
+++ b/net/sched/cls_u32.c
|
||||
@@ -157,7 +157,7 @@ next_knode:
|
||||
@@ -167,7 +167,7 @@ next_knode:
|
||||
data = skb_header_pointer(skb, toff, 4, &hdata);
|
||||
if (!data)
|
||||
goto out;
|
||||
@ -566,7 +566,7 @@ SVN-Revision: 35130
|
||||
n = rcu_dereference_bh(n->next);
|
||||
goto next_knode;
|
||||
}
|
||||
@@ -208,8 +208,8 @@ check_terminal:
|
||||
@@ -218,8 +218,8 @@ check_terminal:
|
||||
&hdata);
|
||||
if (!data)
|
||||
goto out;
|
||||
|
@ -55,8 +55,6 @@ CONFIG_BRCM_CHAR_DRIVERS=y
|
||||
CONFIG_BUFFER_HEAD=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CLKSRC_MMIO=y
|
||||
CONFIG_CLK_BCM2711_DVP=y
|
||||
CONFIG_CLK_BCM2835=y
|
||||
@ -172,7 +170,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
|
@ -69,8 +69,6 @@ CONFIG_BROADCOM_PHY=y
|
||||
CONFIG_BUFFER_HEAD=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CLKSRC_MMIO=y
|
||||
CONFIG_CLK_BCM2711_DVP=y
|
||||
CONFIG_CLK_BCM2835=y
|
||||
@ -211,7 +209,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
|
@ -85,8 +85,6 @@ CONFIG_CAVIUM_ERRATUM_23154=y
|
||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=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_CLK_BCM2711_DVP=y
|
||||
CONFIG_CLK_BCM2835=y
|
||||
@ -218,7 +216,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
|
@ -84,8 +84,6 @@ CONFIG_CAVIUM_ERRATUM_23154=y
|
||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=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_CLK_BCM2711_DVP=y
|
||||
CONFIG_CLK_BCM2835=y
|
||||
@ -219,7 +217,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_NUMA=y
|
||||
|
@ -110,8 +110,6 @@ CONFIG_BUFFER_HEAD=y
|
||||
CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
||||
CONFIG_CC_HAVE_SHADOW_CALL_STACK=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_CLK_BCM2711_DVP=y
|
||||
CONFIG_CLK_BCM2835=y
|
||||
@ -262,7 +260,6 @@ CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_CACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_NUMA=y
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user