diff --git a/config/Config-build.in b/config/Config-build.in index 97688785723d3b..292899df6bbd7c 100644 --- a/config/Config-build.in +++ b/config/Config-build.in @@ -68,6 +68,9 @@ menu "Global build settings" bool "Enable TLS certificate verification during package download" default y + config USE_APK + bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)" + comment "General build options" config TESTING_KERNEL diff --git a/config/Config-kernel.in b/config/Config-kernel.in index 0acd32050436e4..ddf81d67dabf46 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -173,16 +173,6 @@ config KERNEL_KASAN Currently CONFIG_KASAN doesn't work with CONFIG_DEBUG_SLAB (the resulting kernel does not boot). -config KERNEL_KASAN_EXTRA - bool "KAsan: extra checks" - depends on KERNEL_KASAN && KERNEL_DEBUG_KERNEL - help - This enables further checks in the kernel address sanitizer, for now - it only includes the address-use-after-scope check that can lead - to excessive kernel stack usage, frame size warnings and longer - compile time. - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 has more - config KERNEL_KASAN_VMALLOC bool "Back mappings in vmalloc space with real shadow memory" depends on KERNEL_KASAN @@ -435,7 +425,6 @@ config KERNEL_DEBUG_INFO This will compile your kernel and modules with debug information. config KERNEL_DEBUG_INFO_BTF - bool "Enable additional BTF type information" depends on !HOST_OS_MACOS depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED @@ -447,9 +436,13 @@ config KERNEL_DEBUG_INFO_BTF Required to run BPF CO-RE applications. +config KERNEL_DEBUG_INFO_BTF_MODULES + def_bool y + depends on KERNEL_DEBUG_INFO_BTF + config KERNEL_MODULE_ALLOW_BTF_MISMATCH bool "Allow loading modules with non-matching BTF type info" - depends on KERNEL_DEBUG_INFO_BTF + depends on KERNEL_DEBUG_INFO_BTF_MODULES help For modules whose split BTF does not match vmlinux, load without BTF rather than refusing to load. The default behavior with diff --git a/include/feeds.mk b/include/feeds.mk index 632fecb4a3aaec..87b1562c3edbf7 100644 --- a/include/feeds.mk +++ b/include/feeds.mk @@ -18,6 +18,10 @@ opkg_package_files = $(wildcard \ $(foreach dir,$(PACKAGE_SUBDIRS), \ $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk))) +apk_package_files = $(wildcard \ + $(foreach dir,$(PACKAGE_SUBDIRS), \ + $(foreach pkg,$(1), $(dir)/$(pkg)_*.apk))) + # 1: package name define FeedPackageDir $(strip $(if $(CONFIG_PER_FEED_REPO), \ @@ -28,7 +32,7 @@ $(strip $(if $(CONFIG_PER_FEED_REPO), \ endef # 1: destination file -define FeedSourcesAppend +define FeedSourcesAppendOPKG ( \ echo 'src/gz %d_core %U/targets/%S/packages'; \ $(strip $(if $(CONFIG_PER_FEED_REPO), \ @@ -41,6 +45,20 @@ define FeedSourcesAppend ) >> $(1) endef +# 1: destination file +define FeedSourcesAppendAPK +( \ + echo '%U/targets/%S/packages/packages.adb'; \ + $(strip $(if $(CONFIG_PER_FEED_REPO), \ + echo '%U/packages/%A/base/packages.adb'; \ + $(if $(filter %SNAPSHOT-y,$(VERSION_NUMBER)-$(CONFIG_BUILDBOT)), \ + echo '%U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)/packages.adb';) \ + $(foreach feed,$(FEEDS_AVAILABLE), \ + $(if $(CONFIG_FEED_$(feed)), \ + echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )%U/packages/%A/$(feed)/packages.adb';)))) \ +) >> $(1) +endef + # 1: package name define GetABISuffix $(if $(ABIV_$(1)),$(ABIV_$(1)),$(call FormatABISuffix,$(1),$(foreach v,$(wildcard $(STAGING_DIR)/pkginfo/$(1).version),$(shell cat $(v))))) diff --git a/include/host-build.mk b/include/host-build.mk index 819fff56640879..235caaa6fbe8fc 100644 --- a/include/host-build.mk +++ b/include/host-build.mk @@ -35,13 +35,11 @@ include $(INCLUDE_DIR)/autotools.mk _host_target:=$(if $(HOST_QUILT),,.) Host/Patch:=$(Host/Patch/Default) -ifneq ($(strip $(HOST_UNPACK)),) - define Host/Prepare/Default - $(HOST_UNPACK) +define Host/Prepare/Default + $(if $(strip $(HOST_UNPACK)),$(HOST_UNPACK)) [ ! -d ./src/ ] || $(CP) ./src/* $(HOST_BUILD_DIR) $(Host/Patch) - endef -endif +endef define Host/Prepare $(call Host/Prepare/Default) diff --git a/include/image-commands.mk b/include/image-commands.mk index 83ecf7c5209f9d..fed92a5793591d 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -231,6 +231,27 @@ define Build/buffalo-tag-dhp mv $@.new $@ endef +define Build/buffalo-trx + $(eval magic=$(word 1,$(1))) + $(eval kern_bin=$(if $(1),$(IMAGE_KERNEL),$@)) + $(eval rtfs_bin=$(word 2,$(1))) + $(eval apnd_bin=$(word 3,$(1))) + $(eval kern_size=$(if $(KERNEL_SIZE),$(KERNEL_SIZE),0x400000)) + + $(if $(rtfs_bin),touch $(rtfs_bin)) + $(STAGING_DIR_HOST)/bin/otrx create $@.new \ + $(if $(magic),-M $(magic),) \ + -f $(kern_bin) \ + $(if $(rtfs_bin),\ + -a 0x20000 \ + -b $$(( $(call exp_units,$(kern_size)) )) \ + -f $(rtfs_bin),) \ + $(if $(apnd_bin),\ + -A $(apnd_bin) \ + -a 0x20000) + mv $@.new $@ +endef + define Build/check-size @imagesize="$$(stat -c%s $@)"; \ limitsize="$$(($(call exp_units,$(if $(1),$(1),$(IMAGE_SIZE)))))"; \ @@ -430,12 +451,18 @@ define Build/jffs2 @mv $@.new $@ endef -define Build/kernel2minor - $(eval temp_file := $(shell mktemp)) - cp $@ $(temp_file) - kernel2minor -k $(temp_file) -r $(temp_file).new $(1) - mv $(temp_file).new $@ - rm -f $(temp_file) +define Build/yaffs-filesystem + let \ + kernel_size="$$(stat -c%s $@)" \ + kernel_chunks="(kernel_size / 1024) + 1" \ + filesystem_chunks="kernel_chunks + 3" \ + filesystem_blocks="(filesystem_chunks / 63) + 1" \ + filesystem_size="filesystem_blocks * 64 * 1024" \ + filesystem_size_with_reserve="(filesystem_blocks + 2) * 64 * 1024"; \ + head -c $$filesystem_size_with_reserve /dev/zero | tr "\000" "\377" > $@.img \ + && yafut -d $@.img -w -i $@ -o kernel -C 1040 -B 64k -E -P -S $(1) \ + && truncate -s $$filesystem_size $@.img \ + && mv $@.img $@ endef define Build/kernel-bin diff --git a/include/image.mk b/include/image.mk index 0dd18dbd82714e..406f0b8534f276 100644 --- a/include/image.mk +++ b/include/image.mk @@ -278,8 +278,12 @@ define Image/mkfs/ext4 endef define Image/Manifest - $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest + $(if $(CONFIG_USE_APK), \ + $(call apk,$(TARGET_DIR_ORIG)) list --quiet --manifest --no-network | sort | sed 's/ / - /' > \ + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest, \ + $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest \ + ) ifneq ($(CONFIG_JSON_CYCLONEDX_SBOM),) $(SCRIPT_DIR)/package-metadata.pl imgcyclonedxsbom \ $(if $(IB),$(TOPDIR)/.packageinfo, $(TMP_DIR)/.packageinfo) \ @@ -328,7 +332,20 @@ opkg_target = \ $(call opkg,$(mkfs_cur_target_dir)) \ -f $(mkfs_cur_target_dir).conf +apk_target = $(call apk,$(mkfs_cur_target_dir)) --no-scripts + + target-dir-%: FORCE +ifneq ($(CONFIG_USE_APK),) + rm -rf $(mkfs_cur_target_dir) + $(CP) $(TARGET_DIR_ORIG) $(mkfs_cur_target_dir) + mv $(mkfs_cur_target_dir)/etc/apk/repositories $(mkfs_cur_target_dir).repositories + $(if $(mkfs_packages_remove), \ + $(apk_target) del $(mkfs_packages_remove)) + $(if $(mkfs_packages_add), \ + $(apk_target) add $(mkfs_packages_add)) + mv $(mkfs_cur_target_dir).repositories $(mkfs_cur_target_dir)/etc/apk/repositories +else rm -rf $(mkfs_cur_target_dir) $(mkfs_cur_target_dir).opkg $(CP) $(TARGET_DIR_ORIG) $(mkfs_cur_target_dir) -mv $(mkfs_cur_target_dir)/etc/opkg $(mkfs_cur_target_dir).opkg @@ -342,6 +359,7 @@ target-dir-%: FORCE $(call opkg_package_files,$(mkfs_packages_add))) -$(CP) -T $(mkfs_cur_target_dir).opkg/ $(mkfs_cur_target_dir)/etc/opkg/ rm -rf $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir).conf +endif $(call prepare_rootfs,$(mkfs_cur_target_dir),$(TOPDIR)/files) $(KDIR)/root.%: kernel_prepare diff --git a/include/package-ipkg.mk b/include/package-pack.mk similarity index 69% rename from include/package-ipkg.mk rename to include/package-pack.mk index 5f5f7e13175d10..16b56344e1d150 100644 --- a/include/package-ipkg.mk +++ b/include/package-pack.mk @@ -1,35 +1,32 @@ # SPDX-License-Identifier: GPL-2.0-only # -# Copyright (C) 2006-2020 OpenWrt.org +# Copyright (C) 2006-2022 OpenWrt.org ifndef DUMP include $(INCLUDE_DIR)/feeds.mk endif -IPKG_REMOVE:= \ - $(SCRIPT_DIR)/ipkg-remove - IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg # Generates a make statement to return a wildcard for candidate ipkg files # 1: package name -define gen_ipkg_wildcard +define gen_package_wildcard $(1)$$(if $$(filter -%,$$(ABIV_$(1))),,[^a-z-])* endef # 1: package name # 2: candidate ipk files define remove_ipkg_files - $(if $(strip $(2)),$(IPKG_REMOVE) $(1) $(2)) + $(if $(strip $(2)),$(SCRIPT_DIR)/ipkg-remove $(1) $(2)) endef # 1: package name # 2: variable name # 3: variable suffix # 4: file is a script -define BuildIPKGVariable +define BuildPackVariable ifdef Package/$(1)/$(2) - $$(IPKG_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2)) + $$(PACK_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2)) $(call shexport,Package/$(1)/$(2)) $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3); $(if $(4),chmod 0755 $(2)$(3);) endif @@ -50,7 +47,7 @@ strip_deps=$(strip $(subst +,,$(filter-out @%,$(1)))) filter_deps=$(foreach dep,$(call strip_deps,$(1)),$(if $(findstring :,$(dep)),$(call dep_if,$(dep)),$(dep))) define AddDependency - $$(if $(1),$$(if $(2),$$(foreach pkg,$(1),$$(IPKG_$$(pkg))): $$(foreach pkg,$(2),$$(IPKG_$$(pkg))))) + $$(if $(1),$$(if $(2),$$(foreach pkg,$(1),$$(PACK_$$(pkg))): $$(foreach pkg,$(2),$$(PACK_$$(pkg))))) endef define FixupReverseDependencies @@ -101,8 +98,13 @@ ifeq ($(DUMP),) define BuildTarget/ipkg ABIV_$(1):=$(call FormatABISuffix,$(1),$(ABI_VERSION)) PDIR_$(1):=$(call FeedPackageDir,$(1)) - IPKG_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))_$(VERSION)_$(PKGARCH).ipk +ifeq ($(CONFIG_USE_APK),) + PACK_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))_$(VERSION)_$(PKGARCH).ipk +else + PACK_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))-$(VERSION).apk +endif IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) + ADIR_$(1):=$(PKG_BUILD_DIR)/apk-$(PKGARCH)/$(1) KEEP_$(1):=$(strip $(call Package/$(1)/conffiles)) TARGET_VARIANT:=$$(if $(ALL_VARIANTS),$$(if $$(VARIANT),$$(filter-out *,$$(VARIANT)),$(firstword $(ALL_VARIANTS)))) @@ -117,8 +119,8 @@ ifeq ($(DUMP),) ifdef do_install ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) IPKGS += $(1) - $(_pkg_target)compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(PKG_BUILD_DIR)/.pkgdir/$(1).installed - prepare-package-install: $$(IPKG_$(1)) + $(_pkg_target)compile: $$(PACK_$(1)) $(PKG_INFO_DIR)/$(1).provides $(PKG_BUILD_DIR)/.pkgdir/$(1).installed + prepare-package-install: $$(PACK_$(1)) compile: $(STAGING_DIR_ROOT)/stamp/.$(1)_installed else $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected)) @@ -141,11 +143,11 @@ ifeq ($(DUMP),) $(FixupDependencies) $(FixupReverseDependencies) - $(eval $(call BuildIPKGVariable,$(1),conffiles)) - $(eval $(call BuildIPKGVariable,$(1),preinst,,1)) - $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg,1)) - $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg,1)) - $(eval $(call BuildIPKGVariable,$(1),postrm,,1)) + $(eval $(call BuildPackVariable,$(1),conffiles)) + $(eval $(call BuildPackVariable,$(1),preinst,,1)) + $(eval $(call BuildPackVariable,$(1),postinst,-pkg,1)) + $(eval $(call BuildPackVariable,$(1),prerm,-pkg,1)) + $(eval $(call BuildPackVariable,$(1),postrm,,1)) $(PKG_BUILD_DIR)/.pkgdir/$(1).installed : export PATH=$$(TARGET_PATH_PKG) $(PKG_BUILD_DIR)/.pkgdir/$(1).installed: $(STAMP_BUILT) @@ -195,14 +197,16 @@ $$(call addfield,Depends,$$(Package/$(1)/DEPENDS) Installed-Size: 0 $(_endef) - $$(IPKG_$(1)) : export CONTROL=$$(Package/$(1)/CONTROL) - $$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description) - $$(IPKG_$(1)) : export PATH=$$(TARGET_PATH_PKG) - $$(IPKG_$(1)) : export PKG_SOURCE_DATE_EPOCH:=$(PKG_SOURCE_DATE_EPOCH) - $(PKG_INFO_DIR)/$(1).provides $$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk - @rm -rf $$(IDIR_$(1)); \ - $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1)))) - mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR) + $$(PACK_$(1)) : export CONTROL=$$(Package/$(1)/CONTROL) + $$(PACK_$(1)) : export DESCRIPTION=$$(Package/$(1)/description) + $$(PACK_$(1)) : export PATH=$$(TARGET_PATH_PKG) + $$(PACK_$(1)) : export PKG_SOURCE_DATE_EPOCH:=$(PKG_SOURCE_DATE_EPOCH) + $(PKG_INFO_DIR)/$(1).provides $$(PACK_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-pack.mk + rm -rf $$(IDIR_$(1)) +ifeq ($$(CONFIG_USE_APK),) + $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_package_wildcard,$(1)))) +endif + mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1)) $(PKG_INFO_DIR) $(call Package/$(1)/install,$$(IDIR_$(1))) $(if $(Package/$(1)/install-overlay),mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/rootfs-overlay) $(call Package/$(1)/install-overlay,$$(IDIR_$(1))/rootfs-overlay) @@ -228,6 +232,24 @@ $(_endef) ) || true \ ) endif + + ifneq ($$(KEEP_$(1)),) + @( \ + keepfiles=""; \ + for x in $$(KEEP_$(1)); do \ + [ -f "$$(IDIR_$(1))/$$$$x" ] || keepfiles="$$$${keepfiles:+$$$$keepfiles }$$$$x"; \ + done; \ + [ -z "$$$$keepfiles" ] || { \ + mkdir -p $$(IDIR_$(1))/lib/upgrade/keep.d; \ + for x in $$$$keepfiles; do echo $$$$x >> $$(IDIR_$(1))/lib/upgrade/keep.d/$(1); done; \ + }; \ + ) + endif + + $(INSTALL_DIR) $$(PDIR_$(1))/tmp + +ifeq ($(CONFIG_USE_APK),) + mkdir -p $$(IDIR_$(1))/CONTROL (cd $$(IDIR_$(1))/CONTROL; \ ( \ echo "$$$$CONTROL"; \ @@ -251,25 +273,66 @@ $(_endef) $($(1)_COMMANDS) \ ) - ifneq ($$(KEEP_$(1)),) - @( \ - keepfiles=""; \ - for x in $$(KEEP_$(1)); do \ - [ -f "$$(IDIR_$(1))/$$$$x" ] || keepfiles="$$$${keepfiles:+$$$$keepfiles }$$$$x"; \ - done; \ - [ -z "$$$$keepfiles" ] || { \ - mkdir -p $$(IDIR_$(1))/lib/upgrade/keep.d; \ - for x in $$$$keepfiles; do echo $$$$x >> $$(IDIR_$(1))/lib/upgrade/keep.d/$(1); done; \ - }; \ - ) - endif - - $(INSTALL_DIR) $$(PDIR_$(1)) $(FAKEROOT) $(STAGING_DIR_HOST)/bin/bash $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) - @[ -f $$(IPKG_$(1)) ] +else + mkdir -p $$(ADIR_$(1))/ + mkdir -p $$(IDIR_$(1))/lib/apk/packages/ + + (cd $$(ADIR_$(1)); $($(1)_COMMANDS)) + + ( \ + echo "#!/bin/sh"; \ + echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \ + echo "[ -s "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo 'export root="$$$${IPKG_INSTROOT}"'; \ + echo 'export pkgname="$(1)"'; \ + echo "add_group_and_user"; \ + [ ! -f $$(ADIR_$(1))/postinst-pkg ] || cat "$$(ADIR_$(1))/postinst-pkg"; \ + echo "default_postinst"; \ + ) > $$(ADIR_$(1))/post-install; + + ( \ + echo "#!/bin/sh"; \ + echo "[ -s "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo 'export root="$$$${IPKG_INSTROOT}"'; \ + echo 'export pkgname="$(1)"'; \ + [ ! -f $$(ADIR_$(1))/prerm-pkg ] || cat "$$(ADIR_$(1))/prerm-pkg"; \ + echo "default_prerm"; \ + ) > $$(ADIR_$(1))/pre-deinstall; + + if [ -n "$(USERID)" ]; then echo $(USERID) > $$(IDIR_$(1))/lib/apk/packages/$(1).rusers; fi; + if [ -n "$(ALTERNATIVES)" ]; then echo $(ALTERNATIVES) > $$(IDIR_$(1))/lib/apk/packages/$(1).alternatives; fi; + (cd $$(IDIR_$(1)) && find . -type f,l -printf "/%P\n" > $$(IDIR_$(1))/lib/apk/packages/$(1).list) + if [ -f $$(ADIR_$(1))/conffiles ]; then mv $$(ADIR_$(1))/conffiles $$(IDIR_$(1))/lib/apk/packages/$(1).conffiles; fi; + + $(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk mkpkg \ + --info "name:$(1)$$(ABIV_$(1))" \ + --info "version:$(VERSION)" \ + --info "description:" \ + --info "arch:$(PKGARCH)" \ + --info "license:$(LICENSE)" \ + --info "origin:$(SOURCE)" \ + --info "provides:$$(foreach prov,$$(filter-out $(1)$$(ABIV_$(1)),$(PROVIDES)$$(if $$(ABIV_$(1)), \ + $(1) $(foreach provide,$(PROVIDES),$(provide)$$(ABIV_$(1))))),$$(prov)=$(VERSION) )" \ + --script "post-install:$$(ADIR_$(1))/post-install" \ + --script "pre-deinstall:$$(ADIR_$(1))/pre-deinstall" \ + --info "depends:$$(foreach depends,$$(subst $$(comma),$$(space),$$(subst $$(space),,$$(subst $$(paren_right),,$$(subst $$(paren_left),,$$(Package/$(1)/DEPENDS))))),$$(depends))" \ + --files "$$(IDIR_$(1))" \ + --output "$$(PACK_$(1))" \ + --sign "$(BUILD_KEY_APK_SEC)" +endif + + @[ -f $$(PACK_$(1)) ] $(1)-clean: - $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1)))) +ifeq ($(CONFIG_USE_APK),) + $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_package_wildcard,$(1)))) +else + $$(call remove_ipkg_files,$(1),$$(call apk_package_files,$(call gen_package_wildcard,$(1)))) +endif + clean: $(1)-clean diff --git a/include/package.mk b/include/package.mk index 61a26f0c4380f4..8ee78415df24c1 100644 --- a/include/package.mk +++ b/include/package.mk @@ -136,7 +136,7 @@ PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD include $(INCLUDE_DIR)/package-defaults.mk include $(INCLUDE_DIR)/package-dumpinfo.mk -include $(INCLUDE_DIR)/package-ipkg.mk +include $(INCLUDE_DIR)/package-pack.mk include $(INCLUDE_DIR)/package-bin.mk include $(INCLUDE_DIR)/autotools.mk diff --git a/include/rootfs.mk b/include/rootfs.mk index 2128aefc2abda8..9fb7d8cfdfe86c 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -43,6 +43,17 @@ opkg = \ --add-arch all:100 \ --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200 +apk = \ + IPKG_INSTROOT=$(1) \ + $(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \ + --root $(1) \ + --repositories-file /dev/zero \ + --keys-dir $(TOPDIR) \ + --no-cache \ + --no-logfile \ + --preserve-env \ + --repository file://$(PACKAGE_DIR_ALL)/packages.adb + TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD) ifdef CONFIG_CLEAN_IPKG @@ -68,6 +79,11 @@ define prepare_rootfs @mkdir -p $(1)/var/lock @( \ cd $(1); \ + if [ -n "$(CONFIG_USE_APK)" ]; then \ + $(STAGING_DIR_HOST)/bin/tar -xf ./lib/apk/db/scripts.tar --wildcards "*.post-install" -O > script.sh; \ + chmod +x script.sh; \ + IPKG_INSTROOT=$(1) $$(command -v bash) script.sh; \ + else \ for script in ./usr/lib/opkg/info/*.postinst; do \ IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \ ret=$$?; \ @@ -76,6 +92,13 @@ define prepare_rootfs exit 1; \ fi; \ done; \ + $(if $(IB),,awk -i inplace \ + '/^Status:/ { \ + if ($$3 == "user") { $$3 = "ok" } \ + else { sub(/,\|\,/, "", $$3) } \ + }1' $(1)/usr/lib/opkg/status) ; \ + $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status ;) \ + fi; \ for script in ./etc/init.d/*; do \ grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ if ! echo " $(3) " | grep -q " $$(basename $$script) "; then \ @@ -87,12 +110,7 @@ define prepare_rootfs fi; \ done || true \ ) - awk -i inplace \ - '/^Status:/ { \ - if ($$3 == "user") { $$3 = "ok" } \ - else { sub(/,\|\,/, "", $$3) } \ - }1' $(1)/usr/lib/opkg/status - $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status) + @-find $(1) -name CVS -o -name .svn -o -name .git -o -name '.#*' | $(XARGS) rm -rf rm -rf \ $(1)/boot \ diff --git a/include/target.mk b/include/target.mk index ae51d578dce71b..f0c7c5475e2891 100644 --- a/include/target.mk +++ b/include/target.mk @@ -21,12 +21,17 @@ DEFAULT_PACKAGES:=\ logd \ mtd \ netifd \ - opkg \ uci \ uclient-fetch \ urandom-seed \ urngd +ifdef CONFIG_USE_APK +DEFAULT_PACKAGES+=apk +else +DEFAULT_PACKAGES+=opkg +endif + ifneq ($(CONFIG_SELINUX),) DEFAULT_PACKAGES+=busybox-selinux procd-selinux else diff --git a/package/Makefile b/package/Makefile index d72ce09a816b42..eb7cfcf962709e 100644 --- a/package/Makefile +++ b/package/Makefile @@ -53,20 +53,49 @@ $(curdir)/cleanup: $(TMP_DIR)/.build $(curdir)/merge: rm -rf $(PACKAGE_DIR_ALL) mkdir -p $(PACKAGE_DIR_ALL) +ifneq ($(CONFIG_USE_APK),) + -$(foreach pdir,$(PACKAGE_SUBDIRS),$(if $(wildcard $(pdir)/*.apk),ln -s $(pdir)/*.apk $(PACKAGE_DIR_ALL);)) +else -$(foreach pdir,$(PACKAGE_SUBDIRS),$(if $(wildcard $(pdir)/*.ipk),ln -s $(pdir)/*.ipk $(PACKAGE_DIR_ALL);)) +endif + +$(BUILD_KEY_APK_SEC): + $(STAGING_DIR_HOST)/bin/openssl ecparam -name prime256v1 -genkey -noout -out $(BUILD_KEY_APK_SEC) + +$(BUILD_KEY_APK_PUB): $(BUILD_KEY_APK_SEC) + $(STAGING_DIR_HOST)/bin/openssl ec -in $(BUILD_KEY_APK_SEC) -pubout > $(BUILD_KEY_APK_PUB) $(curdir)/merge-index: $(curdir)/merge +ifneq ($(CONFIG_USE_APK),) + (cd $(PACKAGE_DIR_ALL) && $(STAGING_DIR_HOST)/bin/apk mkndx \ + --root $(TOPDIR) \ + --keys-dir $(TOPDIR) \ + --sign $(BUILD_KEY_APK_SEC) \ + --output packages.adb \ + *.apk; \ + ) +else (cd $(PACKAGE_DIR_ALL) && $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages; ) +endif ifndef SDK $(curdir)//compile = $(STAGING_DIR)/.prepared $(BIN_DIR) +ifneq ($(CONFIG_USE_APK),) + $(curdir)/compile: $(curdir)/system/apk/host/compile $(BUILD_KEY_APK_SEC) $(BUILD_KEY_APK_PUB) +else $(curdir)/compile: $(curdir)/system/opkg/host/compile endif +endif -$(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index) +$(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(curdir)/merge-index - find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755 rm -rf $(TARGET_DIR) $(TARGET_DIR_ORIG) mkdir -p $(TARGET_DIR)/tmp +ifneq ($(CONFIG_USE_APK),) + $(file >$(TMP_DIR)/apk_install_list,\ + $(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg)))) + $(call apk,$(TARGET_DIR)) add --initdb --no-scripts --arch $(ARCH_PACKAGES) $$(cat $(TMP_DIR)/apk_install_list) +else $(file >$(TMP_DIR)/opkg_install_list,\ $(call opkg_package_files,\ $(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg))))) @@ -77,6 +106,7 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DE $(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \ done; \ done || true +endif $(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG) @@ -84,6 +114,19 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DE $(curdir)/index: FORCE @echo Generating package index... +ifneq ($(CONFIG_USE_APK),) + @for d in $(PACKAGE_SUBDIRS); do \ + mkdir -p $$d; \ + cd $$d || continue; \ + ls *.apk >/dev/null 2>&1 || continue; \ + $(STAGING_DIR_HOST)/bin/apk mkndx \ + --root $(TOPDIR) \ + --keys-dir $(TOPDIR) \ + --sign $(BUILD_KEY_APK_SEC) \ + --output packages.adb \ + *.apk; \ + done +else @for d in $(PACKAGE_SUBDIRS); do ( \ mkdir -p $$d; \ cd $$d || continue; \ @@ -115,6 +158,7 @@ ifdef CONFIG_JSON_CYCLONEDX_SBOM $(SCRIPT_DIR)/package-metadata.pl pkgcyclonedxsbom Packages.manifest > Packages.bom.cdx.json || true; \ ); done endif +endif $(curdir)/flags-install:= -j1 diff --git a/package/base-files/Makefile b/package/base-files/Makefile index b1a834e1bf5130..4425bb346deaba 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -116,6 +116,14 @@ define Build/Compile/Default endef Build/Compile = $(Build/Compile/Default) +ifneq ($(CONFIG_USE_APK),) +ifndef CONFIG_BUILDBOT + define Package/base-files/install-key + mkdir -p $(1)/etc/apk/keys + $(CP) $(BUILD_KEY_APK_PUB) $(1)/etc/apk/keys/ + endef +endif +else ifdef CONFIG_SIGNED_PACKAGES define Build/Configure [ -s $(BUILD_KEY) -a -s $(BUILD_KEY).pub ] || \ @@ -130,10 +138,10 @@ ifndef CONFIG_BUILDBOT define Package/base-files/install-key mkdir -p $(1)/etc/opkg/keys $(CP) $(BUILD_KEY).pub $(1)/etc/opkg/keys/`$(STAGING_DIR_HOST)/bin/usign -F -p $(BUILD_KEY).pub` - endef endif endif +endif ifeq ($(CONFIG_NAND_SUPPORT),) define Package/base-files/nand-support @@ -234,15 +242,21 @@ endif cat $(BIN_DIR)/feeds.buildinfo >>$(1)/etc/build.feeds; \ cat $(BIN_DIR)/version.buildinfo >>$(1)/etc/build.version) + $(if $(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE), \ + rm -f $(1)/etc/banner.failsafe,) + +ifneq ($(CONFIG_USE_APK),) + mkdir -p $(1)/etc/apk/ + $(call FeedSourcesAppendAPK,$(1)/etc/apk/repositories) + $(VERSION_SED_SCRIPT) $(1)/etc/apk/repositories +else $(if $(CONFIG_CLEAN_IPKG),, \ mkdir -p $(1)/etc/opkg; \ - $(call FeedSourcesAppend,$(1)/etc/opkg/distfeeds.conf); \ + $(call FeedSourcesAppendOPKG,$(1)/etc/opkg/distfeeds.conf); \ $(VERSION_SED_SCRIPT) $(1)/etc/opkg/distfeeds.conf) $(if $(CONFIG_IPK_FILES_CHECKSUMS),, \ rm -f $(1)/sbin/pkg_check) - - $(if $(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE), \ - rm -f $(1)/etc/banner.failsafe,) +endif endef ifneq ($(DUMP),1) diff --git a/package/base-files/files/etc/os-release b/package/base-files/files/etc/os-release deleted file mode 120000 index c4c75b419cfd1a..00000000000000 --- a/package/base-files/files/etc/os-release +++ /dev/null @@ -1 +0,0 @@ -../usr/lib/os-release \ No newline at end of file diff --git a/package/base-files/files/etc/os-release b/package/base-files/files/etc/os-release new file mode 100755 index 00000000000000..c4c75b419cfd1a --- /dev/null +++ b/package/base-files/files/etc/os-release @@ -0,0 +1 @@ +../usr/lib/os-release \ No newline at end of file diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 82ee58f6425ed2..a009aa81e99d0b 100644 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -211,8 +211,10 @@ config_list_foreach() { default_prerm() { local root="${IPKG_INSTROOT}" - local pkgname="$(basename ${1%.*})" + [ -z "$pkgname" ] && local pkgname="$(basename ${1%.*})" local ret=0 + local filelist="${root}/usr/lib/opkg/info/${pkgname}.list" + [ -f "$root/lib/apk/packages/${pkgname}.list" ] && filelist="$root/lib/apk/packages/${pkgname}.list" if [ -f "$root/usr/lib/opkg/info/${pkgname}.prerm-pkg" ]; then ( . "$root/usr/lib/opkg/info/${pkgname}.prerm-pkg" ) @@ -220,7 +222,7 @@ default_prerm() { fi local shell="$(command -v bash)" - for i in $(grep -s "^/etc/init.d/" "$root/usr/lib/opkg/info/${pkgname}.list"); do + for i in $(grep -s "^/etc/init.d/" "$filelist"); do if [ -n "$root" ]; then ${shell:-/bin/sh} "$root/etc/rc.common" "$root$i" disable else @@ -235,8 +237,11 @@ default_prerm() { } add_group_and_user() { - local pkgname="$1" + [ -z "$pkgname" ] && local pkgname="$(basename ${1%.*})" local rusers="$(sed -ne 's/^Require-User: *//p' $root/usr/lib/opkg/info/${pkgname}.control 2>/dev/null)" + if [ -f "$root/lib/apk/packages/${pkgname}.rusers" ]; then + local rusers="$(cat $root/lib/apk/packages/${pkgname}.rusers)" + fi if [ -n "$rusers" ]; then local tuple oIFS="$IFS" @@ -286,13 +291,71 @@ add_group_and_user() { fi } +update_alternatives() { + local root="${IPKG_INSTROOT}" + local action="$1" + local pkgname="$2" + + if [ -f "$root/lib/apk/packages/${pkgname}.alternatives" ]; then + for pkg_alt in $(cat $root/lib/apk/packages/${pkgname}.alternatives); do + local best_prio=0; + local best_src="/bin/busybox"; + pkg_prio=${pkg_alt%%:*}; + pkg_target=${pkg_alt#*:}; + pkg_target=${pkg_target%:*}; + pkg_src=${pkg_alt##*:}; + + if [ -e "$root/$target" ]; then + for alts in $root/lib/apk/packages/*.alternatives; do + for alt in $(cat $alts); do + prio=${alt%%:*}; + target=${alt#*:}; + target=${target%:*}; + src=${alt##*:}; + + if [ "$target" = "$pkg_target" ] && + [ "$src" != "$pkg_src" ] && + [ "$best_prio" -lt "$prio" ]; then + best_prio=$prio; + best_src=$src; + fi + done + done + fi + case "$action" in + install) + if [ "$best_prio" -lt "$pkg_prio" ]; then + ln -sf "$pkg_src" "$root/$pkg_target" + echo "add alternative: $pkg_target -> $pkg_src" + fi + ;; + remove) + if [ "$best_prio" -lt "$pkg_prio" ]; then + ln -sf "$best_src" "$root/$pkg_target" + echo "add alternative: $pkg_target -> $best_src" + fi + ;; + esac + done + fi +} + default_postinst() { local root="${IPKG_INSTROOT}" - local pkgname="$(basename ${1%.*})" - local filelist="/usr/lib/opkg/info/${pkgname}.list" + [ -z "$pkgname" ] && local pkgname="$(basename ${1%.*})" + local filelist="${root}/usr/lib/opkg/info/${pkgname}.list" + [ -f "$root/lib/apk/packages/${pkgname}.list" ] && filelist="$root/lib/apk/packages/${pkgname}.list" local ret=0 - add_group_and_user "${pkgname}" + if [ -e "${root}/usr/lib/opkg/info/${pkgname}.list" ]; then + filelist="${root}/usr/lib/opkg/info/${pkgname}.list" + add_group_and_user "${pkgname}" + fi + + if [ -e "${root}/lib/apk/packages/${pkgname}.list" ]; then + filelist="${root}/lib/apk/packages/${pkgname}.list" + update_alternatives install "${pkgname}" + fi if [ -d "$root/rootfs-overlay" ]; then cp -R $root/rootfs-overlay/. $root/ @@ -325,7 +388,7 @@ default_postinst() { fi local shell="$(command -v bash)" - for i in $(grep -s "^/etc/init.d/" "$root$filelist"); do + for i in $(grep -s "^/etc/init.d/" "$filelist"); do if [ -n "$root" ]; then ${shell:-/bin/sh} "$root/etc/rc.common" "$root$i" enable else diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile index 37d71e183c3390..d8eef07f5e2d8c 100644 --- a/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=arm-trusted-firmware-mediatek -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git -PKG_SOURCE_DATE:=2023-10-13 -PKG_SOURCE_VERSION:=0ea67d76ae8be127c91caa3fcdf449b1fe533175 -PKG_MIRROR_HASH:=22579fae08de942e0d5a420cfaa0b1d310dc9431e85b7e28a3c3ef08331a199d +PKG_SOURCE_DATE:=2024-01-17 +PKG_SOURCE_VERSION:=bacca82a8cac369470df052a9d801a0ceb9b74ca +PKG_MIRROR_HASH:=1138649f64ac3982330925c38c795ca6860289adbd95755991f80afa30ebdea7 PKG_MAINTAINER:=Daniel Golle @@ -160,6 +160,14 @@ define Trusted-Firmware-A/mt7981-ram-ddr3 DEFAULT:=TARGET_mediatek_filogic endef +define Trusted-Firmware-A/mt7981-nor-ddr4 + NAME:=MediaTek MT7981 (SPI-NOR, DDR4) + BOOT_DEVICE:=nor + BUILD_SUBTARGET:=filogic + PLAT:=mt7981 + DDR_TYPE:=ddr4 +endef + define Trusted-Firmware-A/mt7981-emmc-ddr3 NAME:=MediaTek MT7981 (eMMC, DDR3) BOOT_DEVICE:=emmc @@ -203,6 +211,15 @@ define Trusted-Firmware-A/mt7986-ram-ddr4 DEFAULT:=TARGET_mediatek_filogic endef +define Trusted-Firmware-A/mt7981-spim-nand-ubi-ddr4 + NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR4) + BOOT_DEVICE:=spim-nand + BUILD_SUBTARGET:=filogic + PLAT:=mt7981 + DDR_TYPE:=ddr4 + USE_UBI:=1 +endef + define Trusted-Firmware-A/mt7986-nor-ddr4 NAME:=MediaTek MT7986 (SPI-NOR, DDR4) BOOT_DEVICE:=nor @@ -477,9 +494,11 @@ TFA_TARGETS:= \ mt7981-ram-ddr3 \ mt7981-emmc-ddr3 \ mt7981-nor-ddr3 \ + mt7981-nor-ddr4 \ mt7981-sdmmc-ddr3 \ mt7981-snand-ddr3 \ mt7981-spim-nand-ddr3 \ + mt7981-spim-nand-ubi-ddr4 \ mt7981-ram-ddr4 \ mt7981-emmc-ddr4 \ mt7981-spim-nand-ddr4 \ @@ -527,6 +546,7 @@ TFA_MAKE_FLAGS += \ $(if $(DRAM_USE_COMB),DRAM_USE_COMB=1) \ $(if $(RAM_BOOT_UART_DL),RAM_BOOT_UART_DL=1) \ $(if $(USE_UBI),UBI=1 $(if $(findstring mt7622,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x80000)) \ + $(if $(USE_UBI),UBI=1 $(if $(findstring mt7981,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x100000)) \ all define Package/trusted-firmware-a-ram/install diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch b/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch new file mode 100644 index 00000000000000..d8ea1fa402a0f4 --- /dev/null +++ b/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch @@ -0,0 +1,23 @@ +From fb2a2b669ec9bbf5c448d4b56499bc83de075c93 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Thu, 29 Feb 2024 18:01:08 +0000 +Subject: [PATCH 1/3] mediatek: snfi: FM35Q1GA is x4-only + +Dont allow x2 read and cache read operations on FM35Q1GA. + +Signed-off-by: Daniel Golle +--- + plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c +@@ -423,7 +423,7 @@ static const struct snand_flash_info sna + + SNAND_INFO("FM35Q1GA", SNAND_ID(SNAND_ID_DYMMY, 0xe5, 0x71), + SNAND_MEMORG_1G_2K_64, +- &snand_cap_read_from_cache_x4, ++ &snand_cap_read_from_cache_x4_only, + &snand_cap_program_load_x4), + + SNAND_INFO("PN26G01A", SNAND_ID(SNAND_ID_DYMMY, 0xa1, 0xe1), diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch b/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch new file mode 100644 index 00000000000000..95e3c139f77d38 --- /dev/null +++ b/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch @@ -0,0 +1,99 @@ +From 6470986f037880ce76960c369d6e5a5270e7ce32 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Sun, 10 Mar 2024 15:39:07 +0000 +Subject: [PATCH 2/3] mediatek: snfi: adjust pin drive strength for Fidelix + SPI-NAND + +It seems like we might need to adjust the pin driver strength to 12mA +for Fidelix SPI-NAND chip on MT7622 to avoid SPI data corruption on +some devices. + +Signed-off-by: Daniel Golle +--- + .../apsoc_common/drivers/snfi/mtk-snand-def.h | 7 +++++ + .../apsoc_common/drivers/snfi/mtk-snand-ids.c | 4 ++- + .../apsoc_common/drivers/snfi/mtk-snand.c | 30 +++++++++++++++++++ + 3 files changed, 40 insertions(+), 1 deletion(-) + +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-def.h ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-def.h +@@ -86,6 +86,12 @@ struct snand_mem_org { + + typedef int (*snand_select_die_t)(struct mtk_snand *snf, uint32_t dieidx); + ++enum snand_drv { ++ SNAND_DRV_NO_CHANGE = 0, ++ SNAND_DRV_8mA = 8, ++ SNAND_DRV_12mA = 12, ++}; ++ + struct snand_flash_info { + const char *model; + struct snand_id id; +@@ -93,6 +99,7 @@ struct snand_flash_info { + const struct snand_io_cap *cap_rd; + const struct snand_io_cap *cap_pl; + snand_select_die_t select_die; ++ enum snand_drv drv; + }; + + #define SNAND_INFO(_model, _id, _memorg, _cap_rd, _cap_pl, ...) \ +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c +@@ -424,7 +424,9 @@ static const struct snand_flash_info sna + SNAND_INFO("FM35Q1GA", SNAND_ID(SNAND_ID_DYMMY, 0xe5, 0x71), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_x4_only, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + + SNAND_INFO("PN26G01A", SNAND_ID(SNAND_ID_DYMMY, 0xa1, 0xe1), + SNAND_MEMORG_1G_2K_128, +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand.c +@@ -1845,6 +1845,33 @@ static int mtk_snand_id_probe(struct mtk + return -EINVAL; + } + ++#define MT7622_GPIO_BASE (void *)0x10211000 ++#define MT7622_GPIO_DRIV(x) (MT7622_GPIO_BASE + 0x900 + 0x10 * x) ++ ++void mtk_mt7622_snand_adjust_drive(void *dev, enum snand_drv drv) ++{ ++ uint32_t e4, e8; ++ ++ e4 = readl(MT7622_GPIO_DRIV(6)) & ~(0x3f00); ++ e8 = readl(MT7622_GPIO_DRIV(7)) & ~(0x3f00); ++ ++ switch (drv) { ++ case SNAND_DRV_8mA: ++ e4 |= 0x3f00; ++ break; ++ case SNAND_DRV_12mA: ++ e8 |= 0x3f00; ++ break; ++ default: ++ return; ++ } ++ ++ snand_log_chip(dev, "adjusting SPI-NAND pin drive strength to %umA\n", drv); ++ ++ writel(e4, MT7622_GPIO_DRIV(6)); ++ writel(e8, MT7622_GPIO_DRIV(7)); ++} ++ + int mtk_snand_init(void *dev, const struct mtk_snand_platdata *pdata, + struct mtk_snand **psnf) + { +@@ -1888,6 +1915,9 @@ int mtk_snand_init(void *dev, const stru + if (ret) + return ret; + ++ if (pdata->soc == SNAND_SOC_MT7622 && snand_info->drv) ++ mtk_mt7622_snand_adjust_drive(dev, snand_info->drv); ++ + rawpage_size = snand_info->memorg.pagesize + + snand_info->memorg.sparesize; + diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch b/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch new file mode 100644 index 00000000000000..57de88f8ca7322 --- /dev/null +++ b/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch @@ -0,0 +1,135 @@ +From 40a3661bebb3d738ab95b7de66e9d8382d5b9ab1 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Sun, 10 Mar 2024 17:48:09 +0000 +Subject: [PATCH 3/3] mediatek: snfi: adjust drive strength to 12mA like old + loader does + +In addition to FM35X1GA, also change the driver strength to 12mA for +all chips where this is done by the old/legacy U-Boot: + * Winbond 512Mb + * Winbond 1Gb + * Winbond 2Gb + * GD5F4GQ4UBYIG + * GD5F4GQ4UAYIG + * GD5F1GQ4UX + * GD5F1GQ4UE + * GD5F2GQ4UX + * GD5F2GQ4UE + +Signed-off-by: Daniel Golle +--- + .../apsoc_common/drivers/snfi/mtk-snand-ids.c | 59 ++++++++++++++----- + 1 file changed, 44 insertions(+), 15 deletions(-) + +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c +@@ -80,65 +80,94 @@ static const struct snand_flash_info sna + SNAND_INFO("W25N512GV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x20), + SNAND_MEMORG_512M_2K_64, + &snand_cap_read_from_cache_quad, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("W25N01GV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x21), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("W25M02GV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xab, 0x21), + SNAND_MEMORG_2G_2K_64_2D, + &snand_cap_read_from_cache_quad, + &snand_cap_program_load_x4, +- mtk_snand_winbond_select_die), ++ mtk_snand_winbond_select_die, ++ SNAND_DRV_12mA), + SNAND_INFO("W25N02KV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x22), + SNAND_MEMORG_2G_2K_128, + &snand_cap_read_from_cache_quad, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + + SNAND_INFO("GD5F1GQ4UAWxx", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0x10), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F1GQ4UExIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd1), + SNAND_MEMORG_1G_2K_128, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F1GQ4UExxH", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd9), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F1GQ4xAYIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xf1), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ4UExIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd2), + SNAND_MEMORG_2G_2K_128, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ5UExxH", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0x32), + SNAND_MEMORG_2G_2K_64, + &snand_cap_read_from_cache_quad_a8d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ4xAYIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xf2), + SNAND_MEMORG_2G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F4GQ4UBxIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd4), + SNAND_MEMORG_4G_4K_256, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F4GQ4xAYIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xf4), + SNAND_MEMORG_4G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ5UExxG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0x52), + SNAND_MEMORG_2G_2K_128, + &snand_cap_read_from_cache_quad_a8d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F4GQ4UCxIG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0xb4), + SNAND_MEMORG_4G_4K_256, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + + SNAND_INFO("MX35LF1GE4AB", SNAND_ID(SNAND_ID_DYMMY, 0xc2, 0x12), + SNAND_MEMORG_1G_2K_64, diff --git a/package/boot/tfa-layerscape/Makefile b/package/boot/tfa-layerscape/Makefile index b92516ceb0ab51..bf155b926a0153 100644 --- a/package/boot/tfa-layerscape/Makefile +++ b/package/boot/tfa-layerscape/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tfa-layerscape -PKG_VERSION:=lf-6.1.1-1.0.0 +PKG_VERSION:=6.6.3.1.0.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/nxp-qoriq/atf -PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0 -PKG_MIRROR_HASH:=e109ca87a0f432529ab4d1fcd019adc0cd0d3684c96cdf770aac113f9bbe4bd6 +PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 +PKG_MIRROR_HASH:=28b731c1c4cc3226ccaef2142c61127f213c03cbd219df556c1d191e95f8470c PKG_BUILD_DEPENDS:=tfa-layerscape/host include $(INCLUDE_DIR)/host-build.mk diff --git a/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch b/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch index 50ce6528d7744b..050b4356efb2cc 100644 --- a/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch +++ b/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -914,10 +914,6 @@ CRTTOOL ?= ${CRTTOOLPATH}/cert_create$ +@@ -953,10 +953,6 @@ CRTTOOL ?= ${CRTTOOLPATH}/cert_create$ ENCTOOLPATH ?= tools/encrypt_fw ENCTOOL ?= ${ENCTOOLPATH}/encrypt_fw${BIN_EXT} @@ -10,8 +10,8 @@ - # Variables for use with sptool SPTOOLPATH ?= tools/sptool - SPTOOL ?= ${SPTOOLPATH}/sptool${BIN_EXT} -@@ -1322,13 +1318,6 @@ endif + SPTOOL ?= ${SPTOOLPATH}/sptool.py +@@ -1409,13 +1405,6 @@ endif clean: @echo " CLEAN" $(call SHELL_REMOVE_DIR,${BUILD_PLAT}) @@ -25,7 +25,7 @@ ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} clean ${Q}${MAKE} --no-print-directory -C ${ROMLIBPATH} clean -@@ -1337,13 +1326,6 @@ realclean distclean: +@@ -1424,13 +1413,6 @@ realclean distclean: @echo " REALCLEAN" $(call SHELL_REMOVE_DIR,${BUILD_BASE}) $(call SHELL_DELETE_ALL, ${CURDIR}/cscope.*) @@ -36,28 +36,28 @@ -# to pass the gnumake flags to nmake. - ${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) realclean -endif - ${Q}${MAKE} --no-print-directory -C ${SPTOOLPATH} clean - ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean + ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} realclean ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} realclean -@@ -1400,7 +1382,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL} + ${Q}${MAKE} --no-print-directory -C ${ROMLIBPATH} clean +@@ -1486,7 +1468,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL} @${ECHO_BLANK_LINE} endif -${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} ${FIPTOOL} +${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} - $(eval ${CHECK_FIP_CMD}) - ${Q}${FIPTOOL} create ${FIP_ARGS} $@ - ${Q}${FIPTOOL} info $@ -@@ -1417,7 +1399,7 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT + $(eval ${CHECK_FIP_CMD}) + ${Q}${FIPTOOL} create ${FIP_ARGS} $@ + ${Q}${FIPTOOL} info $@ +@@ -1503,7 +1485,7 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT @${ECHO_BLANK_LINE} endif -${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} ${FIPTOOL} +${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} - $(eval ${CHECK_FWU_FIP_CMD}) - ${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@ - ${Q}${FIPTOOL} info $@ -@@ -1425,19 +1407,9 @@ ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP + $(eval ${CHECK_FWU_FIP_CMD}) + ${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@ + ${Q}${FIPTOOL} info $@ +@@ -1511,19 +1493,9 @@ ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP @echo "Built $@ successfully" @${ECHO_BLANK_LINE} @@ -67,29 +67,29 @@ -${FIPTOOL}: FORCE -ifdef UNIX_MK -- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" FIPTOOL=${FIPTOOL} --no-print-directory -C ${FIPTOOLPATH} +- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" FIPTOOL=${FIPTOOL} OPENSSL_DIR=${OPENSSL_DIR} DEBUG=${DEBUG} V=${V} --no-print-directory -C ${FIPTOOLPATH} all -else -# Clear the MAKEFLAGS as we do not want -# to pass the gnumake flags to nmake. - ${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) -endif - - sptool: ${SPTOOL} - ${SPTOOL}: FORCE - ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" SPTOOL=${SPTOOL} --no-print-directory -C ${SPTOOLPATH} + romlib.bin: libraries FORCE + ${Q}${MAKE} PLAT_DIR=${PLAT_DIR} BUILD_PLAT=${BUILD_PLAT} ENABLE_BTI=${ENABLE_BTI} ARM_ARCH_MINOR=${ARM_ARCH_MINOR} INCLUDES='${INCLUDES}' DEFINES='${DEFINES}' --no-print-directory -C ${ROMLIBPATH} all + --- a/tools/fiptool/Makefile +++ b/tools/fiptool/Makefile -@@ -48,7 +48,7 @@ all: ${PROJECT} +@@ -67,7 +67,7 @@ all: ${PROJECT} - ${PROJECT}: ${OBJECTS} Makefile + ${PROJECT}: --openssl ${OBJECTS} Makefile @echo " HOSTLD $@" - ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} $(LDFLAGS) @${ECHO_BLANK_LINE} @echo "Built $@ successfully" @${ECHO_BLANK_LINE} ---- a/tools/nxp/plat_fiptool/plat_fiptool.mk 2023-05-20 22:28:28.079945619 +0200 -+++ b/tools/nxp/plat_fiptool/plat_fiptool.mk 2023-05-20 22:26:59.443307771 +0200 +--- a/tools/nxp/plat_fiptool/plat_fiptool.mk ++++ b/tools/nxp/plat_fiptool/plat_fiptool.mk @@ -22,11 +22,11 @@ INCLUDE_PATHS += -I${PLAT_DEF_UUID_OID_C $(shell rm ${PLAT_DEF_UUID_CONFIG_FILE_PATH}/${PLAT_DEF_UUID_CONFIG_FILE_NAME}.o) diff --git a/package/boot/tfa-layerscape/patches/004-plat-nxp-restore-ls1012afrdm-support.patch b/package/boot/tfa-layerscape/patches/004-plat-nxp-restore-ls1012afrdm-support.patch index fc9504f82fd014..1587da7ebff424 100644 --- a/package/boot/tfa-layerscape/patches/004-plat-nxp-restore-ls1012afrdm-support.patch +++ b/package/boot/tfa-layerscape/patches/004-plat-nxp-restore-ls1012afrdm-support.patch @@ -6,7 +6,7 @@ Subject: [PATCH] tfa-layerscape: Restore ls1012afrdm support Signed-off-by: Wojciech Dubowik --- plat/nxp/soc-ls1012a/ls1012afrdm/ddr_init.c | 34 +++++++ - plat/nxp/soc-ls1012a/ls1012afrdm/plat_def.h | 92 +++++++++++++++++++ + plat/nxp/soc-ls1012a/ls1012afrdm/plat_def.h | 83 +++++++++++++++++++ plat/nxp/soc-ls1012a/ls1012afrdm/platform.mk | 25 +++++ .../soc-ls1012a/ls1012afrdm/platform_def.h | 13 +++ plat/nxp/soc-ls1012a/ls1012afrdm/policy.h | 16 ++++ @@ -17,9 +17,6 @@ Signed-off-by: Wojciech Dubowik create mode 100644 plat/nxp/soc-ls1012a/ls1012afrdm/platform_def.h create mode 100644 plat/nxp/soc-ls1012a/ls1012afrdm/policy.h -diff --git a/plat/nxp/soc-ls1012a/ls1012afrdm/ddr_init.c b/plat/nxp/soc-ls1012a/ls1012afrdm/ddr_init.c -new file mode 100644 -index 000000000..8cb518540 --- /dev/null +++ b/plat/nxp/soc-ls1012a/ls1012afrdm/ddr_init.c @@ -0,0 +1,34 @@ @@ -57,12 +54,9 @@ index 000000000..8cb518540 + + return NXP_DRAM0_SIZE; +} -diff --git a/plat/nxp/soc-ls1012a/ls1012afrdm/plat_def.h b/plat/nxp/soc-ls1012a/ls1012afrdm/plat_def.h -new file mode 100644 -index 000000000..eb745a0a3 --- /dev/null +++ b/plat/nxp/soc-ls1012a/ls1012afrdm/plat_def.h -@@ -0,0 +1,92 @@ +@@ -0,0 +1,83 @@ +/* + * Copyright 2022 NXP + * @@ -129,15 +123,6 @@ index 000000000..eb745a0a3 +#define MAX_FIP_DEVICES 1 +#endif + -+#ifdef PLAT_FIP_OFFSET -+#undef PLAT_FIP_OFFSET -+#endif -+#ifdef PLAT_FIP_MAX_SIZE -+#undef PLAT_FIP_MAX_SIZE -+#endif -+#define PLAT_FIP_OFFSET 0x60000 -+#define PLAT_FIP_MAX_SIZE 0x170000 -+ +/* + * ID of the secure physical generic timer interrupt used by the BL32. + */ @@ -155,9 +140,6 @@ index 000000000..eb745a0a3 +#define PLAT_LS_G0_IRQ_PROPS(grp) + +#endif -diff --git a/plat/nxp/soc-ls1012a/ls1012afrdm/platform.mk b/plat/nxp/soc-ls1012a/ls1012afrdm/platform.mk -new file mode 100644 -index 000000000..270e92420 --- /dev/null +++ b/plat/nxp/soc-ls1012a/ls1012afrdm/platform.mk @@ -0,0 +1,25 @@ @@ -186,9 +168,6 @@ index 000000000..270e92420 + +# Adding SoC build info +include plat/nxp/soc-ls1012a/soc.mk -diff --git a/plat/nxp/soc-ls1012a/ls1012afrdm/platform_def.h b/plat/nxp/soc-ls1012a/ls1012afrdm/platform_def.h -new file mode 100644 -index 000000000..7daf1c02c --- /dev/null +++ b/plat/nxp/soc-ls1012a/ls1012afrdm/platform_def.h @@ -0,0 +1,13 @@ @@ -205,9 +184,6 @@ index 000000000..7daf1c02c +#include + +#endif /* PLATFORM_DEF_H */ -diff --git a/plat/nxp/soc-ls1012a/ls1012afrdm/policy.h b/plat/nxp/soc-ls1012a/ls1012afrdm/policy.h -new file mode 100644 -index 000000000..a782d01c7 --- /dev/null +++ b/plat/nxp/soc-ls1012a/ls1012afrdm/policy.h @@ -0,0 +1,16 @@ @@ -227,6 +203,3 @@ index 000000000..a782d01c7 +#define POLICY_SMMU_PAGESZ_64K 0x0 + +#endif /* POLICY_H */ --- -2.34.1 - diff --git a/package/boot/uboot-bcm4908/patches/100-check-config-allow-to-complete-build-even-with-ad-ho.patch b/package/boot/uboot-bcm4908/patches/100-check-config-allow-to-complete-build-even-with-ad-ho.patch index 44aa4c17e6546b..5ef293c4f6c617 100644 --- a/package/boot/uboot-bcm4908/patches/100-check-config-allow-to-complete-build-even-with-ad-ho.patch +++ b/package/boot/uboot-bcm4908/patches/100-check-config-allow-to-complete-build-even-with-ad-ho.patch @@ -22,7 +22,7 @@ Signed-off-by: Masahiro Yamada --- a/scripts/check-config.sh +++ b/scripts/check-config.sh -@@ -50,14 +50,13 @@ cat `find ${srctree} -name "Kconfig*"` |sed -n \ +@@ -50,14 +50,13 @@ cat `find ${srctree} -name "Kconfig*"` | |sort |uniq > ${ok} comm -23 ${suspects} ${ok} >${new_adhoc} if [ -s ${new_adhoc} ]; then diff --git a/package/boot/uboot-envtools/Makefile b/package/boot/uboot-envtools/Makefile index 00aa4241625f52..d4446167b73aa3 100644 --- a/package/boot/uboot-envtools/Makefile +++ b/package/boot/uboot-envtools/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uboot-envtools PKG_DISTNAME:=u-boot PKG_VERSION:=2024.01 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79 index 4a6e7e4d0a1ab5..099aebcfa25952 100644 --- a/package/boot/uboot-envtools/files/ath79 +++ b/package/boot/uboot-envtools/files/ath79 @@ -109,6 +109,9 @@ buffalo,wzr-hp-g300nh-s|\ linksys,ea4500-v3) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" ;; +dell,apl26-0ae) + ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x10000" + ;; domywifi,dw33d) ubootenv_add_uci_config "/dev/mtd4" "0x0" "0x10000" "0x10000" ;; diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood index 1b07640cd36c92..b6b483ac4f7d95 100644 --- a/package/boot/uboot-envtools/files/kirkwood +++ b/package/boot/uboot-envtools/files/kirkwood @@ -15,6 +15,7 @@ case "$board" in checkpoint,l-50|\ cloudengines,pogoe02|\ cloudengines,pogoplugv4|\ +dlink,dns320l|\ globalscale,sheevaplug|\ iom,ix2-200|\ iom,ix4-200d|\ diff --git a/package/boot/uboot-envtools/files/mediatek_filogic b/package/boot/uboot-envtools/files/mediatek_filogic index c439af12c88b81..c93fa2499b3989 100644 --- a/package/boot/uboot-envtools/files/mediatek_filogic +++ b/package/boot/uboot-envtools/files/mediatek_filogic @@ -82,6 +82,7 @@ dlink,aquila-pro-ai-m30-a1) h3c,magic-nx30-pro|\ jcg,q30-pro|\ netcore,n60|\ +nokia,ea0326gmp|\ qihoo,360t7|\ tplink,tl-xdr4288|\ tplink,tl-xdr6086|\ @@ -109,6 +110,11 @@ openembed,som7981) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x80000" ubootenv_add_uci_sys_config "/dev/mtd3" "0x0" "0x100000" "0x100000" ;; +smartrg,sdg-8733|\ +smartrg,sdg-8734) + local envdev=$(find_mmc_part "u-boot-env" "mmcblk0") + ubootenv_add_uci_config "$envdev" "0x0" "0x8000" "0x8000" + ;; ubnt,unifi-6-plus) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x10000" ;; diff --git a/package/boot/uboot-envtools/files/qualcommax_ipq807x b/package/boot/uboot-envtools/files/qualcommax_ipq807x index 060871396b4ea9..4ae0de4e26bee0 100644 --- a/package/boot/uboot-envtools/files/qualcommax_ipq807x +++ b/package/boot/uboot-envtools/files/qualcommax_ipq807x @@ -37,6 +37,12 @@ linksys,mx8500) [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2" ;; +netgear,sxr80|\ +netgear,sxs80) + idx="$(find_mtd_index 0:appsblenv)" + [ -n "$idx" ] && \ + ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" + ;; redmi,ax6|\ xiaomi,ax3600|\ xiaomi,ax9000) diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips index b0c22827eb0729..3deb46c295704e 100644 --- a/package/boot/uboot-envtools/files/ramips +++ b/package/boot/uboot-envtools/files/ramips @@ -70,6 +70,7 @@ zte,mf283plus) asus,rt-ax53u|\ asus,rt-ax54|\ belkin,rt1800|\ +elecom,wrc-x1800gs|\ h3c,tx1800-plus|\ h3c,tx1801-plus|\ h3c,tx1806|\ diff --git a/package/boot/uboot-kirkwood/Makefile b/package/boot/uboot-kirkwood/Makefile index 92a814ac4f61d7..7338e5d8681169 100644 --- a/package/boot/uboot-kirkwood/Makefile +++ b/package/boot/uboot-kirkwood/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_VERSION:=2020.04 -PKG_RELEASE:=9 +PKG_RELEASE:=10 PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 @@ -20,6 +20,11 @@ define U-Boot/Default BUILD_SUBTARGET:=generic endef +define U-Boot/dns320l + NAME:=D-Link DNS-320L + BUILD_DEVICES:=dlink_dns320l +endef + define U-Boot/dockstar NAME:=Seagate DockStar BUILD_DEVICES:=seagate_dockstar @@ -106,6 +111,7 @@ define U-Boot/sheevaplug endef UBOOT_TARGETS := \ + dns320l \ dockstar dockstar_second_stage \ goflexhome \ ib62x0 ib62x0_second_stage \ diff --git a/package/boot/uboot-kirkwood/patches/180-netgear-stora.patch b/package/boot/uboot-kirkwood/patches/180-netgear-stora.patch index 5eed89d5e68c23..c6aced422173b7 100644 --- a/package/boot/uboot-kirkwood/patches/180-netgear-stora.patch +++ b/package/boot/uboot-kirkwood/patches/180-netgear-stora.patch @@ -1,7 +1,6 @@ -diff -ruN u-boot-2020.04.old/arch/arm/mach-kirkwood/Kconfig u-boot-2020.04/arch/arm/mach-kirkwood/Kconfig ---- u-boot-2020.04.old/arch/arm/mach-kirkwood/Kconfig 2020-07-09 00:46:15.000000000 +0200 -+++ u-boot-2020.04/arch/arm/mach-kirkwood/Kconfig 2020-07-09 01:07:00.309219477 +0200 -@@ -44,6 +44,9 @@ +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -44,6 +44,9 @@ config TARGET_NET2BIG_V2 config TARGET_NETSPACE_V2 bool "LaCie netspace_v2 Board" @@ -11,7 +10,7 @@ diff -ruN u-boot-2020.04.old/arch/arm/mach-kirkwood/Kconfig u-boot-2020.04/arch/ config TARGET_IB62X0 bool "ib62x0 Board" -@@ -92,6 +95,7 @@ +@@ -95,6 +98,7 @@ source "board/iomega/iconnect/Kconfig" source "board/keymile/Kconfig" source "board/LaCie/net2big_v2/Kconfig" source "board/LaCie/netspace_v2/Kconfig" @@ -19,9 +18,8 @@ diff -ruN u-boot-2020.04.old/arch/arm/mach-kirkwood/Kconfig u-boot-2020.04/arch/ source "board/raidsonic/ib62x0/Kconfig" source "board/Seagate/dockstar/Kconfig" source "board/Seagate/goflexhome/Kconfig" -diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/Kconfig u-boot-2020.04/board/Marvell/netgear_ms2110/Kconfig ---- u-boot-2020.04.old/board/Marvell/netgear_ms2110/Kconfig 1970-01-01 01:00:00.000000000 +0100 -+++ u-boot-2020.04/board/Marvell/netgear_ms2110/Kconfig 2020-07-09 00:59:29.000000000 +0200 +--- /dev/null ++++ b/board/Marvell/netgear_ms2110/Kconfig @@ -0,0 +1,12 @@ +if TARGET_NETGEAR_MS2110 + @@ -35,9 +33,8 @@ diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/Kconfig u-boot-2020.04 + default "netgear_ms2110" + +endif -diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/kwbimage.cfg u-boot-2020.04/board/Marvell/netgear_ms2110/kwbimage.cfg ---- u-boot-2020.04.old/board/Marvell/netgear_ms2110/kwbimage.cfg 1970-01-01 01:00:00.000000000 +0100 -+++ u-boot-2020.04/board/Marvell/netgear_ms2110/kwbimage.cfg 2020-07-09 00:59:29.000000000 +0200 +--- /dev/null ++++ b/board/Marvell/netgear_ms2110/kwbimage.cfg @@ -0,0 +1,167 @@ +# +# (C) Copyright 2009 @@ -206,9 +203,8 @@ diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/kwbimage.cfg u-boot-20 + +# End of Header extension +DATA 0x0 0x0 -diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/MAINTAINERS u-boot-2020.04/board/Marvell/netgear_ms2110/MAINTAINERS ---- u-boot-2020.04.old/board/Marvell/netgear_ms2110/MAINTAINERS 1970-01-01 01:00:00.000000000 +0100 -+++ u-boot-2020.04/board/Marvell/netgear_ms2110/MAINTAINERS 2020-07-09 00:59:29.000000000 +0200 +--- /dev/null ++++ b/board/Marvell/netgear_ms2110/MAINTAINERS @@ -0,0 +1,6 @@ +NETGEAR_MS2110 BOARD +M: bodhi @@ -216,9 +212,8 @@ diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/MAINTAINERS u-boot-202 +F: board/Marvell/netgear_ms2110 +F: include/configs/netgear_ms2110.h +F: configs/netgear_ms2110_defconfig -diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/Makefile u-boot-2020.04/board/Marvell/netgear_ms2110/Makefile ---- u-boot-2020.04.old/board/Marvell/netgear_ms2110/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ u-boot-2020.04/board/Marvell/netgear_ms2110/Makefile 2020-07-09 00:59:29.000000000 +0200 +--- /dev/null ++++ b/board/Marvell/netgear_ms2110/Makefile @@ -0,0 +1,13 @@ +# +# (C) Copyright 2014 bodhi @@ -233,9 +228,8 @@ diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/Makefile u-boot-2020.0 + +obj-y := netgear_ms2110.o + -diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/netgear_ms2110.c u-boot-2020.04/board/Marvell/netgear_ms2110/netgear_ms2110.c ---- u-boot-2020.04.old/board/Marvell/netgear_ms2110/netgear_ms2110.c 1970-01-01 01:00:00.000000000 +0100 -+++ u-boot-2020.04/board/Marvell/netgear_ms2110/netgear_ms2110.c 2020-07-09 00:59:29.000000000 +0200 +--- /dev/null ++++ b/board/Marvell/netgear_ms2110/netgear_ms2110.c @@ -0,0 +1,151 @@ +/* + * Copyright (C) 2014-2017 bodhi @@ -388,9 +382,8 @@ diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/netgear_ms2110.c u-boo +} +#endif /* CONFIG_RESET_PHY_R */ + -diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/netgear_ms2110.h u-boot-2020.04/board/Marvell/netgear_ms2110/netgear_ms2110.h ---- u-boot-2020.04.old/board/Marvell/netgear_ms2110/netgear_ms2110.h 1970-01-01 01:00:00.000000000 +0100 -+++ u-boot-2020.04/board/Marvell/netgear_ms2110/netgear_ms2110.h 2020-07-09 00:59:29.000000000 +0200 +--- /dev/null ++++ b/board/Marvell/netgear_ms2110/netgear_ms2110.h @@ -0,0 +1,41 @@ +/* + * (C) Copyright 2009 @@ -433,9 +426,8 @@ diff -ruN u-boot-2020.04.old/board/Marvell/netgear_ms2110/netgear_ms2110.h u-boo +#define MV88E1116_RGMII_RXTM_CTRL (1 << 5) + +#endif /* __NETGEAR_MS2110_H */ -diff -ruN a/configs/netgear_ms2110_defconfig b/configs/netgear_ms2110_defconfig ---- a/configs/netgear_ms2110_defconfig 1970-01-01 01:00:00.000000000 +0100 -+++ b/configs/netgear_ms2110_defconfig 2020-07-14 17:59:18.000000000 +0200 +--- /dev/null ++++ b/configs/netgear_ms2110_defconfig @@ -0,0 +1,50 @@ +CONFIG_ARM=y +CONFIG_KIRKWOOD=y @@ -487,9 +479,8 @@ diff -ruN a/configs/netgear_ms2110_defconfig b/configs/netgear_ms2110_defconfig +CONFIG_MVSATA_IDE=y +CONFIG_DM_RTC=y +CONFIG_RTC_MV=y -diff -ruN a/include/configs/netgear_ms2110.h b/include/configs/netgear_ms2110.h ---- a/include/configs/netgear_ms2110.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/include/configs/netgear_ms2110.h 2020-07-14 17:49:15.000000000 +0200 +--- /dev/null ++++ b/include/configs/netgear_ms2110.h @@ -0,0 +1,155 @@ +/* + * (C) Copyright 2014-2017 bodhi diff --git a/package/boot/uboot-kirkwood/patches/190-dns-320l.patch b/package/boot/uboot-kirkwood/patches/190-dns-320l.patch new file mode 100644 index 00000000000000..3cf642e17407c8 --- /dev/null +++ b/package/boot/uboot-kirkwood/patches/190-dns-320l.patch @@ -0,0 +1,387 @@ +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -28,6 +28,9 @@ config TARGET_POGO_E02 + config TARGET_POGOPLUGV4 + bool "Pogoplug V4 Board" + ++config TARGET_DNS320L ++ bool "dns320l Board" ++ + config TARGET_DNS325 + bool "dns325 Board" + +@@ -93,6 +96,7 @@ source "board/Marvell/sheevaplug/Kconfig + source "board/buffalo/lsxl/Kconfig" + source "board/cloudengines/pogo_e02/Kconfig" + source "board/cloudengines/pogoplugv4/Kconfig" ++source "board/d-link/dns320l/Kconfig" + source "board/d-link/dns325/Kconfig" + source "board/iomega/iconnect/Kconfig" + source "board/keymile/Kconfig" +--- /dev/null ++++ b/board/d-link/dns320l/dns320l.c +@@ -0,0 +1,113 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2015 ++ * Gerald Kerma ++ * Tony Dinh ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "dns320l.h" ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++int board_early_init_f(void) ++{ ++ /* ++ * default gpio configuration ++ * There are maximum 64 gpios controlled through 2 sets of registers ++ * the below configuration configures mainly initial LED status ++ */ ++ mvebu_config_gpio(DNS320L_OE_VAL_LOW, DNS320L_OE_VAL_HIGH, ++ DNS320L_OE_LOW, DNS320L_OE_HIGH); ++ ++ /* (all LEDs & power off active high) */ ++ /* Multi-Purpose Pins Functionality configuration */ ++ static const u32 kwmpp_config[] = { ++ MPP0_NF_IO2, ++ MPP1_NF_IO3, ++ MPP2_NF_IO4, ++ MPP3_NF_IO5, ++ MPP4_NF_IO6, ++ MPP5_NF_IO7, ++ MPP6_SYSRST_OUTn, ++ MPP7_GPO, ++ MPP8_TW_SDA, ++ MPP9_TW_SCK, ++ MPP10_UART0_TXD, ++ MPP11_UART0_RXD, ++ MPP12_GPO, ++ MPP13_GPIO, ++ MPP14_GPIO, ++ MPP15_GPIO, ++ MPP16_GPIO, ++ MPP17_GPIO, ++ MPP18_NF_IO0, ++ MPP19_NF_IO1, ++ MPP20_SATA1_ACTn, /* sata1(left) status led */ ++ MPP21_SATA0_ACTn, /* sata0(right) status led */ ++ MPP22_GPIO, ++ MPP23_GPIO, ++ MPP24_GPIO, ++ MPP25_GPIO, ++ MPP26_GPIO, ++ MPP27_GPIO, ++ MPP28_GPIO, ++ MPP29_GPIO, ++ MPP30_GPIO, ++ MPP31_GPIO, ++ MPP32_GPIO, ++ 0 ++ }; ++ kirkwood_mpp_conf(kwmpp_config, NULL); ++ ++ kw_gpio_set_value(DNS320L_GPIO_SATA_EN , 1); ++ ++ return 0; ++} ++ ++int board_init(void) ++{ ++ /* address of boot parameters */ ++ gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100; ++ ++ return 0; ++} ++ ++#ifdef CONFIG_RESET_PHY_R ++/* Configure and initialize PHY */ ++void reset_phy(void) ++{ ++ u16 reg; ++ u16 phyaddr; ++ char *name = "egiga0"; ++ ++ if (miiphy_set_current_dev(name)) ++ return; ++ ++ /* read PHY dev address */ ++ if (miiphy_read(name, 0xee, 0xee, (u16 *) &phyaddr)) { ++ printf("could not read PHY dev address\n"); ++ return; ++ } ++ ++ /* set RGMII delay */ ++ miiphy_write(name, phyaddr, MV88E1318_PGADR_REG, MV88E1318_MAC_CTRL_PG); ++ miiphy_read(name, phyaddr, MV88E1318_MAC_CTRL_REG, ®); ++ reg |= (MV88E1318_RGMII_RX_CTRL | MV88E1318_RGMII_TX_CTRL); ++ miiphy_write(name, phyaddr, MV88E1318_MAC_CTRL_REG, reg); ++ miiphy_write(name, phyaddr, MV88E1318_PGADR_REG, 0); ++ ++ /* reset PHY */ ++ if (miiphy_reset(name, phyaddr)) ++ return; ++ ++ printf("MV88E1318 PHY initialized on %s\n", name); ++} ++#endif /* CONFIG_RESET_PHY_R */ +--- /dev/null ++++ b/board/d-link/dns320l/dns320l.h +@@ -0,0 +1,39 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2011 ++ * Stefan Herbrechtsmeier ++ * ++ * Based on Kirkwood support: ++ * (C) Copyright 2009 ++ * Marvell Semiconductor ++ * Written-by: Prafulla Wadaskar ++ */ ++ ++#ifndef __DNS320L_H ++#define __DNS320L_H ++ ++/* GPIO configuration */ ++#define DNS320L_GPIO_SATA_EN 24 ++#define HDD_L_GREEN_LED (1 << 22) ++#define HDD_R_GREEN_LED (1 << 23) ++#define USB_BLUE_LED (1 << 25) ++#define USB_ORANGE_LED (1 << 26) ++ ++#define DNS320L_OE_LOW (~(HDD_L_GREEN_LED | HDD_R_GREEN_LED | \ ++ USB_BLUE_LED | USB_ORANGE_LED)) ++#define DNS320L_OE_VAL_LOW (0) ++ ++/* high GPIO's */ ++#define WATCHDOG_SIGNAL (1 << 14) ++ ++#define DNS320L_OE_HIGH (~(WATCHDOG_SIGNAL)) ++#define DNS320L_OE_VAL_HIGH ((WATCHDOG_SIGNAL)) ++ ++/* PHY related */ ++#define MV88E1318_PGADR_REG 22 ++#define MV88E1318_MAC_CTRL_PG 2 ++#define MV88E1318_MAC_CTRL_REG 21 ++#define MV88E1318_RGMII_TX_CTRL (1 << 4) ++#define MV88E1318_RGMII_RX_CTRL (1 << 5) ++ ++#endif /* __DNS320L_H */ +--- /dev/null ++++ b/board/d-link/dns320l/Kconfig +@@ -0,0 +1,18 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++# ++# Copyright (C) 2015 ++# Gerald Kerma ++# Tony Dinh ++ ++if TARGET_DNS320L ++ ++config SYS_BOARD ++ default "dns320l" ++ ++config SYS_VENDOR ++ default "d-link" ++ ++config SYS_CONFIG_NAME ++ default "dns320l" ++ ++endif +--- /dev/null ++++ b/board/d-link/dns320l/kwbimage.cfg +@@ -0,0 +1,41 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++# ++# Copyright (C) 2015 ++# Gerald Kerma ++# Tony Dinh ++# Refer to doc/README.kwbimage for more details about how-to ++# configure and create kirkwood boot images. ++# ++ ++# Boot Media configurations ++BOOT_FROM nand ++NAND_ECC_MODE default ++NAND_PAGE_SIZE 0x0800 ++ ++# Configure RGMII-0 interface pad voltage to 1.8V ++DATA 0xFFD100e0 0x1b1b1b9b ++ ++DATA 0xFFD01400 0x43010c30 ++DATA 0xFFD01404 0x39543000 ++DATA 0xFFD01408 0x22125451 ++DATA 0xFFD0140C 0x00000833 ++DATA 0xFFD01410 0x0000000C ++DATA 0xFFD01414 0x00000000 ++DATA 0xFFD01418 0x00000000 ++DATA 0xFFD0141C 0x00000652 ++DATA 0xFFD01420 0x00000004 ++DATA 0xFFD01424 0x0000F17F ++DATA 0xFFD01428 0x00085520 ++DATA 0xFFD0147c 0x00008552 ++DATA 0xFFD01504 0x0FFFFFF1 ++DATA 0xFFD01508 0x10000000 ++DATA 0xFFD0150C 0x00000000 ++DATA 0xFFD01514 0x00000000 ++DATA 0xFFD0151C 0x00000000 ++DATA 0xFFD01494 0x00010000 ++DATA 0xFFD01498 0x00000000 ++DATA 0xFFD0149C 0x0000E403 ++DATA 0xFFD01480 0x00000001 ++DATA 0xFFD20134 0x66666666 ++DATA 0xFFD20138 0x66666666 ++DATA 0x0 0x0 +--- /dev/null ++++ b/board/d-link/dns320l/MAINTAINERS +@@ -0,0 +1,8 @@ ++NSA310S BOARD ++M: Gerald Kerma ++M: Tony Dinh ++M: Luka Perkov ++S: Maintained ++F: board/d-link/dns320l/ ++F: include/configs/dns320l.h ++F: configs/dns320l_defconfig +--- /dev/null ++++ b/board/d-link/dns320l/Makefile +@@ -0,0 +1,7 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++# ++# Copyright (C) 2015 ++# Gerald Kerma ++# Tony Dinh ++ ++obj-y := dns320l.o +--- /dev/null ++++ b/configs/dns320l_defconfig +@@ -0,0 +1,48 @@ ++CONFIG_ARM=y ++CONFIG_SYS_DCACHE_OFF=y ++CONFIG_ARCH_CPU_INIT=y ++CONFIG_KIRKWOOD=y ++CONFIG_SYS_TEXT_BASE=0x600000 ++CONFIG_TARGET_DNS320L=y ++CONFIG_ENV_SIZE=0x20000 ++CONFIG_ENV_OFFSET=0x100000 ++CONFIG_NR_DRAM_BANKS=2 ++CONFIG_BOOTDELAY=3 ++CONFIG_USE_PREBOOT=y ++# CONFIG_DISPLAY_BOARDINFO is not set ++CONFIG_HUSH_PARSER=y ++CONFIG_SYS_PROMPT="dns320l => " ++CONFIG_CMD_BOOTZ=y ++# CONFIG_CMD_FLASH is not set ++CONFIG_CMD_IDE=y ++CONFIG_CMD_NAND=y ++CONFIG_CMD_USB=y ++# CONFIG_CMD_SETEXPR is not set ++CONFIG_CMD_DHCP=y ++CONFIG_CMD_MII=y ++CONFIG_CMD_PING=y ++CONFIG_CMD_EXT2=y ++CONFIG_CMD_FAT=y ++CONFIG_CMD_JFFS2=y ++CONFIG_CMD_MTDPARTS=y ++CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0x100000@0x0(uboot),0x20000@0x100000(ubootenv),0x6de0000@0x120000(ubi),0xa00000@0x6f00000(mini),0x500000@0x7900000(config),0x200000@0x7e00000(my-dlink)" ++CONFIG_CMD_UBI=y ++CONFIG_ISO_PARTITION=y ++CONFIG_ENV_IS_IN_NAND=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_MVSATA_IDE=y ++# CONFIG_MMC is not set ++CONFIG_MTD=y ++CONFIG_MTD_RAW_NAND=y ++CONFIG_MVGBE=y ++CONFIG_MII=y ++CONFIG_SYS_NS16550=y ++CONFIG_USB=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_STORAGE=y ++CONFIG_FIT=y ++CONFIG_FIT_VERBOSE=y ++CONFIG_LZMA=y ++CONFIG_LZO=y ++CONFIG_OF_LIBFDT=y ++CONFIG_NET_RANDOM_ETHADDR=y +--- /dev/null ++++ b/include/configs/dns320l.h +@@ -0,0 +1,69 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2015 ++ * Gerald Kerma ++ * Tony Dinh ++ * Luka Perkov ++ */ ++ ++#ifndef _CONFIG_DNS320L_H ++#define _CONFIG_DNS320L_H ++ ++/* high level configuration options */ ++#define CONFIG_FEROCEON_88FR131 1 /* CPU Core subversion */ ++#define CONFIG_KW88F6192 1 /* SOC Name */ ++#define CONFIG_KW88F6702 1 /* SOC Name */ ++#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */ ++ ++/* compression configuration */ ++#define CONFIG_BZIP2 ++ ++/* commands configuration */ ++ ++/* ++ * mv-common.h should be defined after CMD configs since it used them ++ * to enable certain macros ++ */ ++#include "mv-common.h" ++ ++/* environment variables configuration */ ++ ++/* default environment variables */ ++#define CONFIG_BOOTCOMMAND \ ++ "ubi part ubi; " \ ++ "ubi read 0x800000 kernel; " \ ++ "bootm 0x800000" ++ ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "console=console=ttyS0,115200\0" \ ++ "mtdids=nand0=orion_nand\0" \ ++ "mtdparts="CONFIG_MTDPARTS_DEFAULT "\0" \ ++ "bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rw\0" ++ ++/* Ethernet driver configuration */ ++#ifdef CONFIG_CMD_NET ++#define CONFIG_NETCONSOLE ++#define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ ++#define CONFIG_PHY_BASE_ADR 1 ++#define CONFIG_RESET_PHY_R ++#endif /* CONFIG_CMD_NET */ ++ ++/* SATA driver configuration */ ++#ifdef CONFIG_IDE ++#define __io ++#define CONFIG_IDE_PREINIT ++#define CONFIG_MVSATA_IDE_USE_PORT0 ++#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET ++#endif /* CONFIG_IDE */ ++ ++/* ++ * Enable GPI0 support ++*/ ++#define CONFIG_KIRKWOOD_GPIO ++ ++/* RTC driver configuration */ ++#ifdef CONFIG_CMD_DATE ++#define CONFIG_RTC_MV ++#endif /* CONFIG_CMD_DATE */ ++ ++#endif /* _CONFIG_DNS320L_H */ diff --git a/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch b/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch index bfd3d3278e568d..4cf874b3687cac 100644 --- a/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch +++ b/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig -@@ -107,4 +107,7 @@ source "board/alliedtelesis/SBx81LIFXCAT +@@ -111,4 +111,7 @@ source "board/alliedtelesis/SBx81LIFXCAT source "board/Marvell/db-88f6281-bp/Kconfig" source "board/checkpoint/l-50/Kconfig" diff --git a/package/boot/uboot-lantiq/patches/0021-MIPS-vrx200-add-NAND-SPL-support.patch b/package/boot/uboot-lantiq/patches/0021-MIPS-vrx200-add-NAND-SPL-support.patch index 8296f2c75eef81..6d127394dfd263 100644 --- a/package/boot/uboot-lantiq/patches/0021-MIPS-vrx200-add-NAND-SPL-support.patch +++ b/package/boot/uboot-lantiq/patches/0021-MIPS-vrx200-add-NAND-SPL-support.patch @@ -19,7 +19,7 @@ Signed-off-by: Daniel Schwierzeck endif --- a/arch/mips/include/asm/arch-vrx200/config.h +++ b/arch/mips/include/asm/arch-vrx200/config.h -@@ -167,7 +167,7 @@ +@@ -168,7 +168,7 @@ #define CONFIG_SYS_TEXT_BASE 0xB0000000 #endif diff --git a/package/boot/uboot-lantiq/patches/0028-gcc-compat.patch b/package/boot/uboot-lantiq/patches/0028-gcc-compat.patch index 7955429f60a192..37ffb2a3822e43 100644 --- a/package/boot/uboot-lantiq/patches/0028-gcc-compat.patch +++ b/package/boot/uboot-lantiq/patches/0028-gcc-compat.patch @@ -22,8 +22,6 @@ Signed-off-by: Tom Rini delete mode 100644 include/linux/compiler-gcc4.h create mode 100644 include/linux/compiler-intel.h -diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h -index 9896e54..22ab246 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h @@ -5,11 +5,28 @@ @@ -147,20 +145,6 @@ index 9896e54..22ab246 100644 */ -#ifndef __pure -# define __pure __attribute__((pure)) --#endif --#ifndef __aligned --# define __aligned(x) __attribute__((aligned(x))) --#endif --#define __printf(a,b) __attribute__((format(printf,a,b))) --#define noinline __attribute__((noinline)) --#define __attribute_const__ __attribute__((__const__)) --#define __maybe_unused __attribute__((unused)) --#define __always_unused __attribute__((unused)) -- --#define __gcc_header(x) #x --#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) --#define gcc_header(x) _gcc_header(x) --#include gcc_header(__GNUC__) +#define __pure __attribute__((pure)) +#define __aligned(x) __attribute__((aligned(x))) +#define __printf(a, b) __attribute__((format(printf, a, b))) @@ -189,7 +173,9 @@ index 9896e54..22ab246 100644 + +#if GCC_VERSION >= 30400 +#define __must_check __attribute__((warn_unused_result)) -+#endif + #endif +-#ifndef __aligned +-# define __aligned(x) __attribute__((aligned(x))) + +#if GCC_VERSION >= 40000 + @@ -206,7 +192,17 @@ index 9896e54..22ab246 100644 + +#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 +# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) -+#endif + #endif +-#define __printf(a,b) __attribute__((format(printf,a,b))) +-#define noinline __attribute__((noinline)) +-#define __attribute_const__ __attribute__((__const__)) +-#define __maybe_unused __attribute__((unused)) +-#define __always_unused __attribute__((unused)) +- +-#define __gcc_header(x) #x +-#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) +-#define gcc_header(x) _gcc_header(x) +-#include gcc_header(__GNUC__) + +#if GCC_VERSION >= 40300 +/* Mark functions as cold. gcc will assume any path leading to a call @@ -328,9 +324,6 @@ index 9896e54..22ab246 100644 + * code + */ +#define uninitialized_var(x) x = x -diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h -deleted file mode 100644 -index 2befe65..0000000 --- a/include/linux/compiler-gcc3.h +++ /dev/null @@ -1,21 +0,0 @@ @@ -355,9 +348,6 @@ index 2befe65..0000000 -#define uninitialized_var(x) x = x - -#define __always_inline inline __attribute__((always_inline)) -diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h -deleted file mode 100644 -index 27d11ca..0000000 --- a/include/linux/compiler-gcc4.h +++ /dev/null @@ -1,63 +0,0 @@ @@ -424,9 +414,6 @@ index 27d11ca..0000000 -#define __compiletime_warning(message) __attribute__((warning(message))) -#define __compiletime_error(message) __attribute__((error(message))) -#endif -diff --git a/include/linux/compiler-intel.h b/include/linux/compiler-intel.h -new file mode 100644 -index 0000000..d4c7113 --- /dev/null +++ b/include/linux/compiler-intel.h @@ -0,0 +1,45 @@ @@ -475,8 +462,6 @@ index 0000000..d4c7113 +#define __builtin_bswap16 _bswap16 +#endif + -diff --git a/include/linux/compiler.h b/include/linux/compiler.h -index 5be3dab..020ad16 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -5,16 +5,24 @@ @@ -505,7 +490,7 @@ index 5be3dab..020ad16 100644 extern void __chk_user_ptr(const volatile void __user *); extern void __chk_io_ptr(const volatile void __iomem *); #else -@@ -27,20 +35,32 @@ extern void __chk_io_ptr(const volatile void __iomem *); +@@ -27,20 +35,32 @@ extern void __chk_io_ptr(const volatile # define __chk_user_ptr(x) (void)0 # define __chk_io_ptr(x) (void)0 # define __builtin_warning(x, y...) (1) @@ -538,7 +523,7 @@ index 5be3dab..020ad16 100644 /* Intel compiler defines __GNUC__. So we will overwrite implementations * coming from above header files here -@@ -49,6 +69,13 @@ extern void __chk_io_ptr(const volatile void __iomem *); +@@ -49,6 +69,13 @@ extern void __chk_io_ptr(const volatile # include #endif @@ -552,7 +537,7 @@ index 5be3dab..020ad16 100644 /* * Generic compiler-dependent macros required for kernel * build go below this comment. Actual compiler/compiler version -@@ -117,7 +144,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); +@@ -117,7 +144,7 @@ void ftrace_likely_update(struct ftrace_ */ #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) #define __trace_if(cond) \ @@ -561,7 +546,7 @@ index 5be3dab..020ad16 100644 ({ \ int ______r; \ static struct ftrace_branch_data \ -@@ -144,6 +171,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); +@@ -144,6 +171,10 @@ void ftrace_likely_update(struct ftrace_ # define barrier() __memory_barrier() #endif @@ -572,7 +557,7 @@ index 5be3dab..020ad16 100644 /* Unreachable code */ #ifndef unreachable # define unreachable() do { } while (1) -@@ -156,6 +187,135 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); +@@ -156,6 +187,135 @@ void ftrace_likely_update(struct ftrace_ (typeof(ptr)) (__ptr + (off)); }) #endif @@ -708,7 +693,7 @@ index 5be3dab..020ad16 100644 #endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */ -@@ -228,7 +388,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); +@@ -228,7 +388,7 @@ void ftrace_likely_update(struct ftrace_ /* * Rather then using noinline to prevent stack consumption, use @@ -717,7 +702,7 @@ index 5be3dab..020ad16 100644 */ #define noinline_for_stack noinline -@@ -270,11 +430,28 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); +@@ -270,11 +430,28 @@ void ftrace_likely_update(struct ftrace_ # define __section(S) __attribute__ ((__section__(#S))) #endif @@ -746,7 +731,7 @@ index 5be3dab..020ad16 100644 /* Compile time object size, -1 for unknown */ #ifndef __compiletime_object_size # define __compiletime_object_size(obj) -1 -@@ -284,7 +461,48 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); +@@ -284,8 +461,49 @@ void ftrace_likely_update(struct ftrace_ #endif #ifndef __compiletime_error # define __compiletime_error(message) @@ -760,11 +745,11 @@ index 5be3dab..020ad16 100644 +# define __compiletime_error_fallback(condition) \ + do { ((void)sizeof(char[1 - 2 * condition])); } while (0) +# endif - #endif ++#endif +#ifndef __compiletime_error_fallback +# define __compiletime_error_fallback(condition) do { } while (0) -+#endif -+ + #endif + +#define __compiletime_assert(condition, msg, prefix, suffix) \ + do { \ + bool __cond = !(condition); \ @@ -792,10 +777,11 @@ index 5be3dab..020ad16 100644 +#define compiletime_assert_atomic_type(t) \ + compiletime_assert(__native_word(t), \ + "Need native word sized stores/loads for atomicity.") - ++ /* * Prevent the compiler from merging or refetching accesses. The compiler -@@ -293,11 +511,45 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); + * is also forbidden from reordering successive instances of ACCESS_ONCE(), +@@ -293,11 +511,45 @@ void ftrace_likely_update(struct ftrace_ * to make the compiler aware of ordering is to put the two invocations of * ACCESS_ONCE() in different C statements. * @@ -847,6 +833,3 @@ index 5be3dab..020ad16 100644 +# define nokprobe_inline inline +#endif #endif /* __LINUX_COMPILER_H */ --- -2.7.4 - diff --git a/package/boot/uboot-layerscape/Makefile b/package/boot/uboot-layerscape/Makefile index 8c5e32587d62e1..722f4f30b754ee 100644 --- a/package/boot/uboot-layerscape/Makefile +++ b/package/boot/uboot-layerscape/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uboot-layerscape -PKG_VERSION:=lf-6.1.1-1.0.0 +PKG_VERSION:=6.6.3.1.0.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/nxp-qoriq/u-boot -PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0 -PKG_MIRROR_HASH:=6cb3cd569f11f582375eb3af475a2a0d77fe602813337b64883ef01344be7bf6 +PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 +PKG_MIRROR_HASH:=dec5b6e4fe328b930f201fbf06a0a7b71a9dd72f38f16c9570188c0a7fea916a include $(INCLUDE_DIR)/u-boot.mk include $(INCLUDE_DIR)/package.mk @@ -30,19 +30,16 @@ endef define U-Boot/fsl_ls1012a-frdm NAME:=NXP LS1012AFRDM UBOOT_CONFIG:=ls1012afrdm_tfa - ENV_SIZE:=0x40000 endef define U-Boot/fsl_ls1012a-rdb NAME:=NXP LS1012ARDB UBOOT_CONFIG:=ls1012ardb_tfa - ENV_SIZE:=0x40000 endef define U-Boot/fsl_ls1012a-frwy-sdboot NAME:=NXP LS1012AFRWY UBOOT_CONFIG:=ls1012afrwy_tfa - ENV_SIZE:=0x10000 endef define U-Boot/fsl_ls1028a-rdb diff --git a/package/boot/uboot-layerscape/patches/0001-board-ls1046ardb-force-PCI-device-enumeration.patch b/package/boot/uboot-layerscape/patches/0001-board-ls1046ardb-force-PCI-device-enumeration.patch deleted file mode 100644 index 25a6b16363c3d5..00000000000000 --- a/package/boot/uboot-layerscape/patches/0001-board-ls1046ardb-force-PCI-device-enumeration.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 089b90b11008ec95a56da12e31d11e3f31a9bb26 Mon Sep 17 00:00:00 2001 -From: Martin Schiller -Date: Wed, 17 Nov 2021 07:29:55 +0100 -Subject: [PATCH] board: ls1046ardb: force PCI device enumeration - -Commit 045ecf899252 ("configs: enable DM_ETH support for LS1046ARDB") -resulted in the PCI bus no longer being implicitly enumerated. - -However, this is necessary for the fdt pcie fixups to work. - -Therefore, similar to commit 8b6558bd4187 ("board: ls1088ardb: -transition to DM_ETH"), pci_init() is now called in the board_init() -routine when CONFIG_DM_ETH is active. - -Signed-off-by: Martin Schiller -CC: Priyanka Jain ---- - board/freescale/ls1046ardb/ls1046ardb.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/board/freescale/ls1046ardb/ls1046ardb.c -+++ b/board/freescale/ls1046ardb/ls1046ardb.c -@@ -88,6 +88,10 @@ int board_init(void) - ppa_init(); - #endif - -+#if !defined(CONFIG_SYS_EARLY_PCI_INIT) && defined(CONFIG_DM_ETH) -+ pci_init(); -+#endif -+ - /* invert AQR105 IRQ pins polarity */ - out_be32(&scfg->intpcr, AQR105_IRQ_MASK); - diff --git a/package/boot/uboot-layerscape/patches/0002-board-ls1043ardb-force-PCI-device-enumeration.patch b/package/boot/uboot-layerscape/patches/0002-board-ls1043ardb-force-PCI-device-enumeration.patch deleted file mode 100644 index d38102a13cc9c6..00000000000000 --- a/package/boot/uboot-layerscape/patches/0002-board-ls1043ardb-force-PCI-device-enumeration.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 64d2dffa8b51c1beb7e472690dcac965ac0f7ac4 Mon Sep 17 00:00:00 2001 -From: Martin Schiller -Date: Tue, 23 Nov 2021 07:24:19 +0100 -Subject: [PATCH] board: ls1043ardb: force PCI device enumeration - -Commit eb1986804d1d ("configs: enable DM_ETH support for LS1043ARDB") -resulted in the PCI bus no longer being implicitly enumerated. - -However, this is necessary for the fdt pcie fixups to work. - -Therefore, similar to commit 8b6558bd4187 ("board: ls1088ardb: -transition to DM_ETH"), pci_init() is now called in the board_init() -routine when CONFIG_DM_ETH is active. - -Signed-off-by: Martin Schiller -CC: Priyanka Jain -CC: Camelia Groza ---- - board/freescale/ls1043ardb/ls1043ardb.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/board/freescale/ls1043ardb/ls1043ardb.c -+++ b/board/freescale/ls1043ardb/ls1043ardb.c -@@ -214,6 +214,10 @@ int board_init(void) - ppa_init(); - #endif - -+#if !defined(CONFIG_SYS_EARLY_PCI_INIT) && defined(CONFIG_DM_ETH) -+ pci_init(); -+#endif -+ - #ifdef CONFIG_U_QE - u_qe_init(); - #endif diff --git a/package/boot/uboot-layerscape/patches/0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch b/package/boot/uboot-layerscape/patches/0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch index 414f2541acfe17..fbd96c0fa974bd 100644 --- a/package/boot/uboot-layerscape/patches/0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch +++ b/package/boot/uboot-layerscape/patches/0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch @@ -1,4 +1,4 @@ -From b382eeafe01df21da3518b2f1dd7d22ee114efb0 Mon Sep 17 00:00:00 2001 +From 54a19a8c97608c71b440639c878f2f57b5add95d Mon Sep 17 00:00:00 2001 From: Pawel Dembicki Date: Mon, 24 Oct 2022 14:19:38 +0200 Subject: [PATCH] layerscape: adjust LS1021A-IOT config for OpenWrt @@ -12,13 +12,30 @@ Let's enable it. U-boot is now bigger than 512K. Let's enlarge it to Signed-off-by: Pawel Dembicki --- - configs/ls1021aiot_sdcard_defconfig | 3 +++ - include/configs/ls1021aiot.h | 4 ++-- - 2 files changed, 5 insertions(+), 2 deletions(-) + configs/ls1021aiot_sdcard_defconfig | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) --- a/configs/ls1021aiot_sdcard_defconfig +++ b/configs/ls1021aiot_sdcard_defconfig -@@ -27,8 +27,11 @@ CONFIG_CMD_MII=y +@@ -24,7 +24,7 @@ CONFIG_AHCI=y + CONFIG_LAYERSCAPE_NS_ACCESS=y + CONFIG_PCIE1=y + CONFIG_PCIE2=y +-CONFIG_SYS_MONITOR_LEN=524288 ++CONFIG_SYS_MONITOR_LEN=786432 + CONFIG_OF_BOARD_SETUP=y + CONFIG_OF_STDOUT_VIA_ALIAS=y + CONFIG_RAMBOOT_PBL=y +@@ -40,7 +40,7 @@ CONFIG_SPL_MAX_SIZE=0x1a000 + CONFIG_SPL_PAD_TO=0x1c000 + CONFIG_SPL_HAS_BSS_LINKER_SECTION=y + CONFIG_SPL_BSS_START_ADDR=0x80100000 +-CONFIG_SPL_BSS_MAX_SIZE=0x80000 ++CONFIG_SPL_BSS_MAX_SIZE=0xc0000 + CONFIG_SPL_FSL_PBL=y + # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set + CONFIG_SYS_SPL_MALLOC=y +@@ -66,8 +66,11 @@ CONFIG_CMD_MII=y # CONFIG_CMD_MDIO is not set CONFIG_CMD_PING=y CONFIG_CMD_EXT2=y @@ -30,16 +47,3 @@ Signed-off-by: Pawel Dembicki CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_MMC=y ---- a/include/configs/ls1021aiot.h -+++ b/include/configs/ls1021aiot.h -@@ -78,8 +78,8 @@ - CONFIG_SYS_MONITOR_LEN) - #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 - #define CONFIG_SPL_BSS_START_ADDR 0x80100000 --#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 --#define CONFIG_SYS_MONITOR_LEN 0x80000 -+#define CONFIG_SPL_BSS_MAX_SIZE 0xc0000 -+#define CONFIG_SYS_MONITOR_LEN 0xc0000 - #endif - - #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL diff --git a/package/boot/uboot-mediatek/Makefile b/package/boot/uboot-mediatek/Makefile index 470b4db4fa7f00..8827bcf8c2d6e3 100644 --- a/package/boot/uboot-mediatek/Makefile +++ b/package/boot/uboot-mediatek/Makefile @@ -267,6 +267,43 @@ define U-Boot/mt7981_jcg_q30-pro DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr3 endef +define U-Boot/mt7981_nokia_ea0326gmp + NAME:=Nokia EA0326GMP + BUILD_SUBTARGET:=filogic + BUILD_DEVICES:=nokia_ea0326gmp + UBOOT_CONFIG:=mt7981_nokia_ea0326gmp + 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_openwrt_one-snand + NAME:=OpenWrt One NAND + BUILD_SUBTARGET:=filogic + BUILD_DEVICES:=openwrt_one + UBOOT_CONFIG:=mt7981_openwrt-one-spi-nand + UBOOT_IMAGE:=u-boot.fip + BL2_BOOTDEV:=spim-nand-ubi + BL2_SOC:=mt7981 + BL2_DDRTYPE:=ddr4 + DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ubi-ddr4 +endef + +define U-Boot/mt7981_openwrt_one-nor + NAME:=OpenWrt One NOR + BUILD_SUBTARGET:=filogic + BUILD_DEVICES:=openwrt_one + UBOOT_CONFIG:=mt7981_openwrt-one-nor + UBOOT_IMAGE:=u-boot.fip + BL2_BOOTDEV:=nor + BL2_SOC:=mt7981 + BL2_DDRTYPE:=ddr4 + FIP_COMPRESS:=1 + DEPENDS:=+trusted-firmware-a-mt7981-nor-ddr4 +endef + define U-Boot/mt7981_rfb-spim-nand NAME:=MT7981 Reference Board BUILD_SUBTARGET:=filogic @@ -691,7 +728,7 @@ UBOOT_TARGETS := \ mt7622_ubnt_unifi-6-lr-v1 \ mt7622_ubnt_unifi-6-lr-v2 \ mt7622_ubnt_unifi-6-lr-v3 \ - mt7622_xiaomi_redmi-router-ax6s-ubi-loader \ + mt7622_xiaomi_redmi-router-ax6s-ubi-loader \ mt7623n_bpir2 \ mt7623a_unielec_u7623 \ mt7628_rfb \ @@ -701,6 +738,9 @@ UBOOT_TARGETS := \ mt7981_cmcc_rax3000m-nand \ mt7981_h3c_magic-nx30-pro \ mt7981_jcg_q30-pro \ + mt7981_nokia_ea0326gmp \ + mt7981_openwrt_one-snand \ + mt7981_openwrt_one-nor \ mt7981_rfb-spim-nand \ mt7981_rfb-emmc \ mt7981_rfb-nor \ diff --git a/package/boot/uboot-mediatek/patches/100-02-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch b/package/boot/uboot-mediatek/patches/100-02-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch index e75251d172197d..0e63b1e2d372f6 100644 --- a/package/boot/uboot-mediatek/patches/100-02-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch +++ b/package/boot/uboot-mediatek/patches/100-02-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch @@ -1217,7 +1217,7 @@ Signed-off-by: Weijie Gao + + SNAND_INFO("FM35Q1GA", SNAND_ID(SNAND_ID_DYMMY, 0xe5, 0x71), + SNAND_MEMORG_1G_2K_64, -+ &snand_cap_read_from_cache_x4, ++ &snand_cap_read_from_cache_x4_only, + &snand_cap_program_load_x4), + + SNAND_INFO("PN26G01A", SNAND_ID(SNAND_ID_DYMMY, 0xa1, 0xe1), diff --git a/package/boot/uboot-mediatek/patches/105-configs-add-usefull-stuff-to-mt7988-rfb.patch b/package/boot/uboot-mediatek/patches/105-configs-add-usefull-stuff-to-mt7988-rfb.patch index da1d985688b981..535af4fa0956a6 100644 --- a/package/boot/uboot-mediatek/patches/105-configs-add-usefull-stuff-to-mt7988-rfb.patch +++ b/package/boot/uboot-mediatek/patches/105-configs-add-usefull-stuff-to-mt7988-rfb.patch @@ -157,10 +157,11 @@ CONFIG_MTD=y --- a/configs/mt7988_rfb_defconfig +++ b/configs/mt7988_rfb_defconfig -@@ -11,6 +11,24 @@ CONFIG_DEBUG_UART_BASE=0x11000000 +@@ -11,7 +11,24 @@ CONFIG_DEBUG_UART_BASE=0x11000000 CONFIG_DEBUG_UART_CLOCK=40000000 CONFIG_SYS_LOAD_ADDR=0x46000000 CONFIG_DEBUG_UART=y +-# CONFIG_AUTOBOOT is not set +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_SMBIOS_PRODUCT_NAME="" +CONFIG_CFB_CONSOLE_ANSI=y @@ -179,10 +180,10 @@ +CONFIG_NAND_BOOT=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_FULL=y - # CONFIG_AUTOBOOT is not set CONFIG_DEFAULT_FDT_FILE="mt7988-rfb" CONFIG_LOGLEVEL=7 -@@ -22,15 +40,118 @@ CONFIG_SYS_PBSIZE=1049 + CONFIG_LOG=y +@@ -22,15 +39,120 @@ CONFIG_SYS_PBSIZE=1049 # CONFIG_BOOTM_PLAN9 is not set # CONFIG_BOOTM_RTEMS is not set # CONFIG_BOOTM_VXWORKS is not set @@ -293,16 +294,18 @@ +CONFIG_USB_XHCI_MTK=y +CONFIG_USB_STORAGE=y +CONFIG_OF_EMBED=y ++CONFIG_OF_SYSTEM_SETUP=y +CONFIG_ENV_OVERWRITE=y -+CONFIG_ENV_IS_IN_MMC=y -+CONFIG_ENV_OFFSET=0x400000 -+CONFIG_ENV_OFFSET_REDUND=0x440000 -+CONFIG_ENV_SIZE=0x40000 -+CONFIG_ENV_SIZE_REDUND=0x40000 ++CONFIG_ENV_IS_IN_UBI=y ++CONFIG_ENV_UBI_PART="ubi" ++CONFIG_ENV_SIZE=0x1f000 ++CONFIG_ENV_SIZE_REDUND=0x1f000 ++CONFIG_ENV_UBI_VOLUME="ubootenv" ++CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2" CONFIG_DOS_PARTITION=y CONFIG_EFI_PARTITION=y CONFIG_PARTITION_TYPE_GUID=y -@@ -46,6 +167,9 @@ CONFIG_PROT_TCP=y +@@ -46,6 +168,9 @@ CONFIG_PROT_TCP=y CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_CLK=y @@ -312,3 +315,29 @@ CONFIG_MMC_HS200_SUPPORT=y CONFIG_MMC_MTK=y CONFIG_MTD=y +--- a/arch/arm/dts/mt7988-rfb.dts ++++ b/arch/arm/dts/mt7988-rfb.dts +@@ -144,6 +144,23 @@ + 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 0x200000>; ++ }; ++ ++ partition@200000 { ++ label = "ubi"; ++ reg = <0x200000 0x7e00000>; ++ compatible = "linux,ubi"; ++ }; ++ }; + }; + }; + diff --git a/package/boot/uboot-mediatek/patches/290-mt7981-add-USB-nodes.patch b/package/boot/uboot-mediatek/patches/290-mt7981-add-USB-nodes.patch new file mode 100644 index 00000000000000..cb1648f5e8012b --- /dev/null +++ b/package/boot/uboot-mediatek/patches/290-mt7981-add-USB-nodes.patch @@ -0,0 +1,71 @@ +From cca5775031e4890f195246772e00f7f4ae7438f6 Mon Sep 17 00:00:00 2001 +From: John Crispin +Date: Mon, 19 Feb 2024 05:52:24 +0100 +Subject: [PATCH 1/2] mt7981.dtsi: add USB nodes + +Signed-off-by: John Crispin +--- + arch/arm/dts/mt7981.dtsi | 47 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 47 insertions(+) + +--- a/arch/arm/dts/mt7981.dtsi ++++ b/arch/arm/dts/mt7981.dtsi +@@ -6,6 +6,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -342,4 +343,50 @@ + status = "disabled"; + }; + ++ xhci: xhci@11200000 { ++ compatible = "mediatek,mt7981-xhci", ++ "mediatek,mtk-xhci"; ++ reg = <0x11200000 0x2e00>, ++ <0x11203e00 0x0100>; ++ reg-names = "mac", "ippc"; ++ interrupts = ; ++ phys = <&u2port0 PHY_TYPE_USB2>, ++ <&u3port0 PHY_TYPE_USB3>; ++ clocks = <&infracfg_ao CK_INFRA_IUSB_SYS_CK>, ++ <&infracfg_ao CK_INFRA_IUSB_CK>, ++ <&infracfg_ao CK_INFRA_IUSB_133_CK>, ++ <&infracfg_ao CK_INFRA_IUSB_66M_CK>, ++ <&topckgen CK_TOP_U2U3_XHCI_SEL>; ++ clock-names = "sys_ck", ++ "ref_ck", ++ "mcu_ck", ++ "dma_ck", ++ "xhci_ck"; ++ mediatek,u3p-dis-msk = <0x1>; ++ status = "okay"; ++ }; ++ ++ usbtphy: usb-phy@11e10000 { ++ compatible = "mediatek,mt7981", ++ "mediatek,generic-tphy-v2"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ status = "okay"; ++ ++ u2port0: usb-phy@11e10000 { ++ reg = <0x11e10000 0x700>; ++ clocks = <&topckgen CK_TOP_USB_FRMCNT_SEL>; ++ clock-names = "ref"; ++ #phy-cells = <1>; ++ status = "okay"; ++ }; ++ ++ u3port0: usb-phy@11e10700 { ++ reg = <0x11e10700 0x900>; ++ clocks = <&topckgen CK_TOP_USB3_PHY_SEL>; ++ clock-names = "ref"; ++ #phy-cells = <1>; ++ status = "okay"; ++ }; ++ }; + }; diff --git a/package/boot/uboot-mediatek/patches/443-add-nokia_ea0326gmp.patch b/package/boot/uboot-mediatek/patches/443-add-nokia_ea0326gmp.patch new file mode 100644 index 00000000000000..0b72e1ee988fdc --- /dev/null +++ b/package/boot/uboot-mediatek/patches/443-add-nokia_ea0326gmp.patch @@ -0,0 +1,413 @@ +--- /dev/null ++++ b/configs/mt7981_nokia_ea0326gmp_defconfig +@@ -0,0 +1,163 @@ ++CONFIG_ARM=y ++CONFIG_POSITION_INDEPENDENT=y ++CONFIG_ARCH_MEDIATEK=y ++CONFIG_TARGET_MT7981=y ++CONFIG_TEXT_BASE=0x41e00000 ++CONFIG_SYS_MALLOC_F_LEN=0x4000 ++CONFIG_SYS_HAS_NONCACHED_MEMORY=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_DEFAULT_DEVICE_TREE="mt7981-nokia-ea0326gmp" ++CONFIG_DEFAULT_ENV_FILE="nokia_ea0326gmp_env" ++CONFIG_DEFAULT_FDT_FILE="mediatek/mt7981-nokia-ea0326gmp.dtb" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_DEBUG_UART_BASE=0x11002000 ++CONFIG_DEBUG_UART_CLOCK=40000000 ++CONFIG_DEBUG_UART=y ++CONFIG_SYS_LOAD_ADDR=0x46000000 ++CONFIG_SMBIOS_PRODUCT_NAME="" ++CONFIG_AUTOBOOT_KEYED=y ++CONFIG_BOOTDELAY=30 ++CONFIG_AUTOBOOT_MENU_SHOW=y ++CONFIG_CFB_CONSOLE_ANSI=y ++CONFIG_BOARD_LATE_INIT=y ++CONFIG_BUTTON=y ++CONFIG_BUTTON_GPIO=y ++CONFIG_GPIO_HOG=y ++CONFIG_CMD_ENV_FLAGS=y ++CONFIG_FIT=y ++CONFIG_FIT_ENABLE_SHA256_SUPPORT=y ++CONFIG_LED=y ++CONFIG_LED_BLINK=y ++CONFIG_LED_GPIO=y ++CONFIG_LOGLEVEL=7 ++CONFIG_LOG=y ++CONFIG_SYS_PROMPT="MT7981> " ++CONFIG_CMD_BOOTMENU=y ++CONFIG_CMD_BOOTP=y ++CONFIG_CMD_BUTTON=y ++CONFIG_CMD_CACHE=y ++CONFIG_CMD_CDP=y ++CONFIG_CMD_CPU=y ++CONFIG_CMD_DHCP=y ++CONFIG_CMD_DM=y ++CONFIG_CMD_DNS=y ++CONFIG_CMD_ECHO=y ++CONFIG_CMD_ENV_READMEM=y ++CONFIG_CMD_ERASEENV=y ++# CONFIG_CMD_EXT4 is not set ++# CONFIG_CMD_FAT is not set ++CONFIG_CMD_FDT=y ++# CONFIG_CMD_FS_GENERIC is not set ++# CONFIG_CMD_FS_UUID is not set ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_HASH=y ++CONFIG_CMD_ITEST=y ++CONFIG_CMD_LED=y ++CONFIG_CMD_LICENSE=y ++CONFIG_CMD_LINK_LOCAL=y ++# CONFIG_CMD_MBR is not set ++CONFIG_CMD_MTD=y ++# CONFIG_CMD_PCI is not set ++CONFIG_CMD_PSTORE=y ++CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000 ++CONFIG_CMD_SF_TEST=y ++CONFIG_CMD_PING=y ++CONFIG_CMD_PXE=y ++# CONFIG_CMD_PWM is not set ++CONFIG_CMD_SMC=y ++CONFIG_CMD_TFTPBOOT=y ++CONFIG_CMD_TFTPSRV=y ++CONFIG_CMD_UBI=y ++CONFIG_CMD_UBI_RENAME=y ++CONFIG_CMD_UBIFS=y ++CONFIG_CMD_ASKENV=y ++CONFIG_CMD_PART=y ++CONFIG_CMD_RARP=y ++CONFIG_CMD_SETEXPR=y ++CONFIG_CMD_SLEEP=y ++CONFIG_CMD_SNTP=y ++CONFIG_CMD_SOURCE=y ++CONFIG_CMD_STRINGS=y ++# CONFIG_CMD_USB is not set ++# CONFIG_CMD_FLASH is not set ++CONFIG_CMD_UUID=y ++CONFIG_DISPLAY_CPUINFO=y ++CONFIG_DM_MTD=y ++CONFIG_DM_REGULATOR=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_REGULATOR_GPIO=y ++# CONFIG_DM_USB is not set ++# CONFIG_DM_PWM is not set ++# CONFIG_PWM_MTK is not set ++CONFIG_HUSH_PARSER=y ++CONFIG_SYS_REDUNDAND_ENVIRONMENT=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_VERSION_VARIABLE=y ++CONFIG_PARTITION_UUIDS=y ++CONFIG_NETCONSOLE=y ++CONFIG_REGMAP=y ++CONFIG_SYSCON=y ++CONFIG_CLK=y ++CONFIG_DM_GPIO=y ++# CONFIG_DM_SCSI is not set ++# CONFIG_AHCI is not set ++CONFIG_PHY=y ++# CONFIG_PHY_MTK_TPHY is not set ++CONFIG_PHY_FIXED=y ++CONFIG_MTK_AHCI=y ++CONFIG_DM_ETH=y ++CONFIG_MEDIATEK_ETH=y ++# CONFIG_PCI is not set ++# CONFIG_MMC is not set ++# CONFIG_DM_MMC is not set ++CONFIG_MTD=y ++CONFIG_MTD_UBI_FASTMAP=y ++# CONFIG_DM_PCI is not set ++# CONFIG_PCIE_MEDIATEK is not set ++CONFIG_PINCTRL=y ++CONFIG_PINCONF=y ++CONFIG_PINCTRL_MT7981=y ++CONFIG_POWER_DOMAIN=y ++CONFIG_PRE_CONSOLE_BUFFER=y ++CONFIG_PRE_CON_BUF_ADDR=0x4007EF00 ++CONFIG_MTK_POWER_DOMAIN=y ++CONFIG_RAM=y ++CONFIG_DM_SERIAL=y ++CONFIG_MTK_SERIAL=y ++CONFIG_SPI=y ++CONFIG_DM_SPI=y ++CONFIG_MTK_SPI_NAND=y ++CONFIG_MTK_SPI_NAND_MTD=y ++CONFIG_SYSRESET_WATCHDOG=y ++CONFIG_WDT_MTK=y ++CONFIG_LZO=y ++CONFIG_ZSTD=y ++CONFIG_HEXDUMP=y ++CONFIG_RANDOM_UUID=y ++CONFIG_REGEX=y ++# CONFIG_USB is not set ++# CONFIG_USB_HOST is not set ++# CONFIG_USB_XHCI_HCD is not set ++# CONFIG_USB_XHCI_MTK is not set ++# CONFIG_USB_STORAGE is not set ++CONFIG_OF_EMBED=y ++CONFIG_ENV_OVERWRITE=y ++CONFIG_ENV_IS_IN_UBI=y ++CONFIG_ENV_UBI_PART="ubi" ++CONFIG_ENV_SIZE=0x1f000 ++CONFIG_ENV_SIZE_REDUND=0x1f000 ++CONFIG_ENV_UBI_VOLUME="ubootenv" ++CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2" ++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++CONFIG_NET_RANDOM_ETHADDR=y ++CONFIG_USE_DEFAULT_ENV_FILE=y ++CONFIG_MTD_SPI_NAND=y ++CONFIG_MTK_SPIM=y ++CONFIG_CMD_NAND=y ++CONFIG_CMD_NAND_TRIMFFS=y ++CONFIG_LMB_MAX_REGIONS=64 ++CONFIG_USE_IPADDR=y ++CONFIG_IPADDR="192.168.1.1" ++CONFIG_USE_SERVERIP=y ++CONFIG_SERVERIP="192.168.1.254" +--- /dev/null ++++ b/arch/arm/dts/mt7981-nokia-ea0326gmp.dts +@@ -0,0 +1,186 @@ ++// SPDX-License-Identifier: GPL-2.0-or-later ++ ++/dts-v1/; ++#include "mt7981.dtsi" ++#include ++#include ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ model = "Nokia EA0326GMP"; ++ compatible = "mediatek,mt7981", "mediatek,mt7981-rfb"; ++ ++ chosen { ++ stdout-path = &uart0; ++ tick-timer = &timer0; ++ }; ++ ++ memory@40000000 { ++ device_type = "memory"; ++ reg = <0x40000000 0x10000000>; ++ }; ++ ++ gpio-keys { ++ compatible = "gpio-keys"; ++ ++ ++ button-reset { ++ label = "reset"; ++ linux,code = ; ++ gpios = <&gpio 1 GPIO_ACTIVE_LOW>; ++ }; ++ ++ button-wps { ++ label = "wps"; ++ linux,code = ; ++ gpios = <&gpio 0 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ gpio-leds { ++ compatible = "gpio-leds"; ++ ++ power_led: led-0 { ++ label = "green:power"; ++ gpios = <&gpio 4 GPIO_ACTIVE_LOW>; ++ default-state = "on"; ++ }; ++ ++ led-1 { ++ label = "green:wan"; ++ gpios = <&gpio 5 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-2 { ++ label = "red:wan"; ++ gpios = <&gpio 6 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-3 { ++ label = "green:lan"; ++ gpios = <&gpio 7 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-4 { ++ label = "green:wlan"; ++ gpios = <&gpio 8 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-5 { ++ label = "green:wps"; ++ gpios = <&gpio 9 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ }; ++}; ++ ++ð { ++ 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 = ; ++ bias-pull-up = ; ++ }; ++ ++ conf-pd { ++ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO"; ++ drive-strength = ; ++ bias-pull-down = ; ++ }; ++ }; ++}; ++ ++&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 = <0x00000 0x0100000>; ++ }; ++ ++ partition@100000 { ++ label = "u-boot-env"; ++ reg = <0x0100000 0x0080000>; ++ }; ++ ++ partition@180000 { ++ label = "factory"; ++ reg = <0x180000 0x0200000>; ++ }; ++ ++ partition@380000 { ++ label = "fip"; ++ reg = <0x380000 0x0200000>; ++ }; ++ ++ partition@580000 { ++ label = "config"; ++ reg = <0x580000 0x200000>; ++ }; ++ ++ partition@780000 { ++ label = "config2"; ++ reg = <0x780000 0x200000>; ++ }; ++ ++ partition@980000 { ++ label = "ubi"; ++ reg = <0x980000 0x7680000>; ++ compatible = "linux,ubi"; ++ }; ++ }; ++ }; ++}; ++ ++&uart0 { ++ mediatek,force-highspeed; ++ status = "okay"; ++}; ++ ++&watchdog { ++ status = "disabled"; ++}; +--- /dev/null ++++ b/nokia_ea0326gmp_env +@@ -0,0 +1,55 @@ ++ipaddr=192.168.1.1 ++serverip=192.168.1.254 ++loadaddr=0x46000000 ++console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0 ++bootargs=root=/dev/fit0 rootwait ++bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi ++bootconf=config-1 ++bootdelay=0 ++bootfile=openwrt-mediatek-filogic-nokia_ea0326gmp-initramfs-recovery.itb ++bootfile_bl2=openwrt-mediatek-filogic-nokia_ea0326gmp-preloader.bin ++bootfile_fip=openwrt-mediatek-filogic-nokia_ea0326gmp-bl31-uboot.fip ++bootfile_upg=openwrt-mediatek-filogic-nokia_ea0326gmp-squashfs-sysupgrade.itb ++bootled_pwr=green:power ++bootled_rec=green:power ++bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60 ++bootmenu_default=0 ++bootmenu_delay=0 ++bootmenu_title= ( ( ( OpenWrt ) ) ) ++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=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return ++bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=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_tftp_recovery ; setenv flag_recover 1 ; 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_recovery ; 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 ++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 0 || run ubi_format ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic 1 || 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 2 && ubi write $loadaddr fit $filesize ++ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic 3 && ubi write $loadaddr recovery $filesize ++_init_env=setenv _init_env ; run ubi_create_env ; saveenv ; saveenv ++_firstboot=setenv _firstboot ; 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 $ver" diff --git a/package/boot/uboot-mediatek/patches/453-add-openwrt-one.patch b/package/boot/uboot-mediatek/patches/453-add-openwrt-one.patch new file mode 100644 index 00000000000000..25d2733d1c8afa --- /dev/null +++ b/package/boot/uboot-mediatek/patches/453-add-openwrt-one.patch @@ -0,0 +1,3949 @@ +--- /dev/null ++++ b/arch/arm/dts/openwrt-one.dts +@@ -0,0 +1,203 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (c) 2024 John Crispin ++ */ ++ ++/dts-v1/; ++#include "mt7981.dtsi" ++#include ++#include ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ model = "OpenWrt One"; ++ compatible = "openwrt,one", "mediatek,mt7981"; ++ chosen { ++ stdout-path = &uart0; ++ tick-timer = &timer0; ++ }; ++ ++ memory@40000000 { ++ device_type = "memory"; ++ reg = <0x40000000 0x10000000>; ++ }; ++ ++ keys { ++ compatible = "gpio-keys"; ++ ++ user { ++ label = "front"; ++ gpios = <&gpio 0 GPIO_ACTIVE_LOW>; ++ linux,code = ; ++ }; ++ ++ reset { ++ label = "back"; ++ gpios = <&gpio 1 GPIO_ACTIVE_LOW>; ++ linux,code = ; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ red { ++ label = "red"; ++ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ white { ++ label = "white"; ++ gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ green { ++ label = "green"; ++ gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; ++ }; ++ }; ++}; ++ ++&uart0 { ++ status = "okay"; ++}; ++ ++ð { ++ status = "okay"; ++ mediatek,gmac-id = <1>; ++ phy-mode = "gmii"; ++ phy-handle = <&phy0>; ++ ++ phy0: eth-phy@0 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <0>; ++ }; ++}; ++ ++&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 = ; ++ bias-pull-up = ; ++ }; ++ ++ conf-pd { ++ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO"; ++ drive-strength = ; ++ bias-pull-down = ; ++ }; ++ }; ++ ++ spi2_flash_pins: spi2-spi2-pins { ++ mux { ++ function = "spi"; ++ groups = "spi2", "spi2_wp_hold"; ++ }; ++ ++ conf-pu { ++ pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP"; ++ drive-strength = ; ++ bias-pull-down = ; ++ }; ++ ++ conf-pd { ++ pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO"; ++ drive-strength = ; ++ bias-pull-down = ; ++ }; ++ }; ++}; ++ ++&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@200000 { ++ label = "ubi"; ++ reg = <0x100000 0x7f00000>; ++ }; ++ }; ++ }; ++}; ++ ++&spi2 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&spi2_flash_pins>; ++ status = "okay"; ++ must_tx; ++ enhance_timing; ++ dma_ext; ++ ipm_design; ++ tick_dly = <2>; ++ sample_sel = <0>; ++ ++ spi_nor@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ spi-max-frequency = <5000000>; ++ ++ partitions { ++ compatible = "fixed-partitions"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ partition@00000 { ++ label = "bl2-nor"; ++ reg = <0x00000 0x0040000>; ++ }; ++ ++ partition@40000 { ++ label = "factory"; ++ reg = <0x40000 0x00C0000>; ++ }; ++ ++ partition@100000 { ++ label = "fip-nor"; ++ reg = <0x100000 0x0080000>; ++ }; ++ ++ partition@180000 { ++ label = "recovery"; ++ reg = <0x180000 0xc80000>; ++ }; ++ }; ++ }; ++}; ++ ++&watchdog { ++ status = "disabled"; ++}; +--- /dev/null ++++ b/configs/mt7981_openwrt-one-nor_defconfig +@@ -0,0 +1,1811 @@ ++# ++# Automatically generated file; DO NOT EDIT. ++# U-Boot 2024.01 Configuration ++# ++ ++# ++# Compiler: aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r26144+12-219018185e) 13.2.0 ++# ++CONFIG_CREATE_ARCH_SYMLINK=y ++CONFIG_SYS_CACHE_SHIFT_6=y ++CONFIG_SYS_CACHELINE_SIZE=64 ++CONFIG_LINKER_LIST_ALIGN=8 ++# CONFIG_ARC is not set ++CONFIG_ARM=y ++# CONFIG_M68K is not set ++# CONFIG_MICROBLAZE is not set ++# CONFIG_MIPS is not set ++# CONFIG_NIOS2 is not set ++# CONFIG_PPC is not set ++# CONFIG_RISCV is not set ++# CONFIG_SANDBOX is not set ++# CONFIG_SH is not set ++# CONFIG_X86 is not set ++# CONFIG_XTENSA is not set ++CONFIG_SYS_ARCH="arm" ++CONFIG_SYS_CPU="armv8" ++CONFIG_SYS_SOC="mediatek" ++CONFIG_SYS_VENDOR="mediatek" ++CONFIG_SYS_BOARD="mt7981" ++CONFIG_SYS_CONFIG_NAME="mt7981" ++ ++# ++# Skipping low level initialization functions ++# ++# CONFIG_SKIP_LOWLEVEL_INIT is not set ++# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set ++CONFIG_SYS_HAS_NONCACHED_MEMORY=y ++CONFIG_SYS_NONCACHED_MEMORY=0x100000 ++# CONFIG_SYS_ICACHE_OFF is not set ++# CONFIG_SYS_DCACHE_OFF is not set ++ ++# ++# ARM architecture ++# ++CONFIG_ARM64=y ++CONFIG_ARM64_CRC32=y ++CONFIG_COUNTER_FREQUENCY=0 ++CONFIG_POSITION_INDEPENDENT=y ++CONFIG_INIT_SP_RELATIVE=y ++CONFIG_SYS_INIT_SP_BSS_OFFSET=524288 ++# CONFIG_GIC_V3_ITS is not set ++CONFIG_STATIC_RELA=y ++CONFIG_DMA_ADDR_T_64BIT=y ++CONFIG_GPIO_EXTRA_HEADER=y ++CONFIG_ARM_ASM_UNIFIED=y ++# CONFIG_SYS_ARM_CACHE_CP15 is not set ++# CONFIG_SYS_ARM_MMU is not set ++# CONFIG_SYS_ARM_MPU is not set ++CONFIG_SYS_ARM_ARCH=8 ++CONFIG_SYS_ARM_CACHE_WRITEBACK=y ++# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set ++# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set ++# CONFIG_ARCH_CPU_INIT is not set ++CONFIG_SYS_ARCH_TIMER=y ++CONFIG_ARM_SMCCC=y ++# CONFIG_SYS_L2_PL310 is not set ++# CONFIG_SPL_SYS_L2_PL310 is not set ++# CONFIG_SYS_L2CACHE_OFF is not set ++# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set ++# CONFIG_USE_ARCH_MEMCPY is not set ++# CONFIG_USE_ARCH_MEMSET is not set ++CONFIG_ARM64_SUPPORT_AARCH32=y ++# CONFIG_ARCH_AT91 is not set ++# CONFIG_ARCH_DAVINCI is not set ++# CONFIG_ARCH_HISTB is not set ++# CONFIG_ARCH_KIRKWOOD is not set ++# CONFIG_ARCH_MVEBU is not set ++# CONFIG_ARCH_ORION5X is not set ++# CONFIG_TARGET_STV0991 is not set ++# CONFIG_ARCH_BCM283X is not set ++# CONFIG_ARCH_BCMSTB is not set ++# CONFIG_ARCH_BCMBCA is not set ++# CONFIG_TARGET_VEXPRESS_CA9X4 is not set ++# CONFIG_TARGET_BCMNS is not set ++# CONFIG_TARGET_BCMNS2 is not set ++# CONFIG_TARGET_BCMNS3 is not set ++# CONFIG_ARCH_EXYNOS is not set ++# CONFIG_ARCH_S5PC1XX is not set ++# CONFIG_ARCH_HIGHBANK is not set ++# CONFIG_ARCH_INTEGRATOR is not set ++# CONFIG_ARCH_IPQ40XX is not set ++# CONFIG_ARCH_KEYSTONE is not set ++# CONFIG_ARCH_K3 is not set ++# CONFIG_ARCH_OMAP2PLUS is not set ++# CONFIG_ARCH_MESON is not set ++CONFIG_ARCH_MEDIATEK=y ++# CONFIG_ARCH_LPC32XX is not set ++# CONFIG_ARCH_IMX8 is not set ++# CONFIG_ARCH_IMX8M is not set ++# CONFIG_ARCH_IMX8ULP is not set ++# CONFIG_ARCH_IMX9 is not set ++# CONFIG_ARCH_IMXRT is not set ++# CONFIG_ARCH_MX23 is not set ++# CONFIG_ARCH_MX28 is not set ++# CONFIG_ARCH_MX31 is not set ++# CONFIG_ARCH_MX7ULP is not set ++# CONFIG_ARCH_MX7 is not set ++# CONFIG_ARCH_MX6 is not set ++# CONFIG_ARCH_MX5 is not set ++# CONFIG_ARCH_NEXELL is not set ++# CONFIG_ARCH_NPCM is not set ++# CONFIG_ARCH_APPLE is not set ++# CONFIG_ARCH_OWL is not set ++# CONFIG_ARCH_QEMU is not set ++# CONFIG_ARCH_RMOBILE is not set ++# CONFIG_ARCH_SNAPDRAGON is not set ++# CONFIG_ARCH_SOCFPGA is not set ++# CONFIG_ARCH_SUNXI is not set ++# CONFIG_ARCH_U8500 is not set ++# CONFIG_ARCH_VERSAL is not set ++# CONFIG_ARCH_VERSAL_NET is not set ++# CONFIG_ARCH_VF610 is not set ++# CONFIG_ARCH_ZYNQ is not set ++# CONFIG_ARCH_ZYNQMP_R5 is not set ++# CONFIG_ARCH_ZYNQMP is not set ++# CONFIG_ARCH_TEGRA is not set ++# CONFIG_ARCH_VEXPRESS64 is not set ++# CONFIG_TARGET_CORSTONE1000 is not set ++# CONFIG_TARGET_TOTAL_COMPUTE is not set ++# CONFIG_TARGET_LS2080A_EMU is not set ++# CONFIG_TARGET_LS1088AQDS is not set ++# CONFIG_TARGET_LS2080AQDS is not set ++# CONFIG_TARGET_LS2080ARDB is not set ++# CONFIG_TARGET_LS2081ARDB is not set ++# CONFIG_TARGET_LX2160ARDB is not set ++# CONFIG_TARGET_LX2160AQDS is not set ++# CONFIG_TARGET_LX2162AQDS is not set ++# CONFIG_TARGET_HIKEY is not set ++# CONFIG_TARGET_HIKEY960 is not set ++# CONFIG_TARGET_POPLAR is not set ++# CONFIG_TARGET_LS1012AQDS is not set ++# CONFIG_TARGET_LS1012ARDB is not set ++# CONFIG_TARGET_LS1012A2G5RDB is not set ++# CONFIG_TARGET_LS1012AFRWY is not set ++# CONFIG_TARGET_LS1012AFRDM is not set ++# CONFIG_TARGET_LS1028AQDS is not set ++# CONFIG_TARGET_LS1028ARDB is not set ++# CONFIG_TARGET_LS1088ARDB is not set ++# CONFIG_TARGET_LS1021AQDS is not set ++# CONFIG_TARGET_LS1021ATWR is not set ++# CONFIG_TARGET_PG_WCOM_SELI8 is not set ++# CONFIG_TARGET_PG_WCOM_EXPU1 is not set ++# CONFIG_TARGET_LS1021ATSN is not set ++# CONFIG_TARGET_LS1021AIOT is not set ++# CONFIG_TARGET_LS1043AQDS is not set ++# CONFIG_TARGET_LS1043ARDB is not set ++# CONFIG_TARGET_LS1046AQDS is not set ++# CONFIG_TARGET_LS1046ARDB is not set ++# CONFIG_TARGET_LS1046AFRWY is not set ++# CONFIG_TARGET_SL28 is not set ++# CONFIG_TARGET_TEN64 is not set ++# CONFIG_ARCH_UNIPHIER is not set ++# CONFIG_ARCH_SYNQUACER is not set ++# CONFIG_ARCH_STM32 is not set ++# CONFIG_ARCH_STI is not set ++# CONFIG_ARCH_STM32MP is not set ++# CONFIG_ARCH_ROCKCHIP is not set ++# CONFIG_ARCH_OCTEONTX is not set ++# CONFIG_ARCH_OCTEONTX2 is not set ++# CONFIG_TARGET_THUNDERX_88XX is not set ++# CONFIG_ARCH_ASPEED is not set ++# CONFIG_TARGET_DURIAN is not set ++# CONFIG_TARGET_POMELO is not set ++# CONFIG_TARGET_PRESIDIO_ASIC is not set ++# CONFIG_TARGET_XENGUEST_ARM64 is not set ++# CONFIG_ARCH_GXP is not set ++# CONFIG_STATIC_MACH_TYPE is not set ++CONFIG_TEXT_BASE=0x41e00000 ++CONFIG_SYS_MALLOC_LEN=0x400000 ++CONFIG_SYS_MALLOC_F_LEN=0x4000 ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_ENV_SOURCE_FILE="" ++CONFIG_SF_DEFAULT_SPEED=1000000 ++CONFIG_SF_DEFAULT_MODE=0x0 ++CONFIG_ENV_SIZE=0x8000 ++CONFIG_DM_GPIO=y ++CONFIG_DEFAULT_DEVICE_TREE="openwrt-one" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 ++CONFIG_DM_RESET=y ++CONFIG_SYS_MONITOR_LEN=0 ++# CONFIG_MT8512 is not set ++# CONFIG_TARGET_MT7622 is not set ++# CONFIG_TARGET_MT7623 is not set ++# CONFIG_TARGET_MT7629 is not set ++CONFIG_TARGET_MT7981=y ++# CONFIG_TARGET_MT7986 is not set ++# CONFIG_TARGET_MT7988 is not set ++# CONFIG_TARGET_MT8183 is not set ++# CONFIG_TARGET_MT8512 is not set ++# CONFIG_TARGET_MT8516 is not set ++# CONFIG_TARGET_MT8518 is not set ++CONFIG_MTK_BROM_HEADER_INFO="media=snand;nandinfo=2k+64" ++CONFIG_RESET_BUTTON_LABEL="back" ++CONFIG_RESET_BUTTON_SETTLE_DELAY=0 ++CONFIG_ERR_PTR_OFFSET=0x0 ++# CONFIG_SPL is not set ++CONFIG_BOOTSTAGE_STASH_ADDR=0x0 ++CONFIG_DEBUG_UART_BASE=0x11002000 ++CONFIG_DEBUG_UART_CLOCK=40000000 ++# CONFIG_DEBUG_UART_BOARD_INIT is not set ++CONFIG_IDENT_STRING="" ++CONFIG_SYS_CLK_FREQ=0 ++# CONFIG_CHIP_DIP_SCAN is not set ++# CONFIG_CMO_BY_VA_ONLY is not set ++# CONFIG_ARMV8_MULTIENTRY is not set ++# CONFIG_ARMV8_SET_SMPEN is not set ++# CONFIG_ARMV8_SWITCH_TO_EL1 is not set ++ ++# ++# ARMv8 secure monitor firmware ++# ++# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set ++CONFIG_PSCI_RESET=y ++# CONFIG_ARMV8_PSCI is not set ++# CONFIG_ARMV8_EA_EL3_FIRST is not set ++# CONFIG_ARMV8_CRYPTO is not set ++# CONFIG_CMD_DEKBLOB is not set ++# CONFIG_IMX_CAAM_DEK_ENCAP is not set ++# CONFIG_IMX_OPTEE_DEK_ENCAP is not set ++# CONFIG_IMX_SECO_DEK_ENCAP is not set ++# CONFIG_IMX_ELE_DEK_ENCAP is not set ++# CONFIG_CMD_HDMIDETECT is not set ++CONFIG_IMX_DCD_ADDR=0x00910000 ++CONFIG_SYS_MEM_TOP_HIDE=0x0 ++CONFIG_SYS_LOAD_ADDR=0x46000000 ++ ++# ++# ARM debug ++# ++CONFIG_BUILD_TARGET="" ++# CONFIG_PCI is not set ++CONFIG_FWU_NUM_BANKS=2 ++CONFIG_FWU_NUM_IMAGES_PER_BANK=2 ++CONFIG_DEBUG_UART=y ++# CONFIG_AHCI is not set ++# CONFIG_OF_BOARD_FIXUP is not set ++ ++# ++# Functionality shared between NXP SoCs ++# ++# CONFIG_NXP_ESBC is not set ++ ++# ++# General setup ++# ++CONFIG_LOCALVERSION="" ++CONFIG_LOCALVERSION_AUTO=y ++CONFIG_CC_IS_GCC=y ++CONFIG_GCC_VERSION=130200 ++CONFIG_CLANG_VERSION=0 ++CONFIG_CC_OPTIMIZE_FOR_SIZE=y ++# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set ++# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set ++# CONFIG_OPTIMIZE_INLINING is not set ++CONFIG_ARCH_SUPPORTS_LTO=y ++# CONFIG_LTO is not set ++CONFIG_CC_HAS_ASM_INLINE=y ++# CONFIG_XEN is not set ++# CONFIG_ENV_VARS_UBOOT_CONFIG is not set ++# CONFIG_SYS_BOOT_GET_CMDLINE is not set ++# CONFIG_SYS_BOOT_GET_KBD is not set ++CONFIG_SYS_MALLOC_F=y ++# CONFIG_VALGRIND is not set ++CONFIG_EXPERT=y ++CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y ++# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set ++# CONFIG_TOOLS_DEBUG is not set ++CONFIG_PHYS_64BIT=y ++CONFIG_FDT_64BIT=y ++# CONFIG_REMAKE_ELF is not set ++# CONFIG_HAS_BOARD_SIZE_LIMIT is not set ++# CONFIG_SYS_CUSTOM_LDSCRIPT is not set ++CONFIG_PLATFORM_ELFENTRY="_start" ++CONFIG_STACK_SIZE=0x1000000 ++CONFIG_SYS_SRAM_BASE=0x0 ++CONFIG_SYS_SRAM_SIZE=0x0 ++# CONFIG_MP is not set ++CONFIG_HAVE_TEXT_BASE=y ++# CONFIG_HAVE_SYS_UBOOT_START is not set ++CONFIG_SYS_UBOOT_START=0x41e00000 ++# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set ++# CONFIG_API is not set ++ ++# ++# Boot options ++# ++ ++# ++# Boot images ++# ++# CONFIG_ANDROID_BOOT_IMAGE is not set ++# CONFIG_TIMESTAMP is not set ++CONFIG_FIT=y ++CONFIG_FIT_EXTERNAL_OFFSET=0x0 ++CONFIG_FIT_FULL_CHECK=y ++# CONFIG_FIT_SIGNATURE is not set ++# CONFIG_FIT_CIPHER is not set ++# CONFIG_FIT_VERBOSE is not set ++# CONFIG_FIT_BEST_MATCH is not set ++CONFIG_FIT_PRINT=y ++# CONFIG_SPL_LOAD_FIT_FULL is not set ++CONFIG_PXE_UTILS=y ++CONFIG_BOOTSTD=y ++# CONFIG_BOOTSTD_FULL is not set ++# CONFIG_BOOTSTD_DEFAULTS is not set ++CONFIG_BOOTSTD_BOOTCOMMAND=y ++CONFIG_BOOTMETH_GLOBAL=y ++# CONFIG_BOOTMETH_CROS is not set ++CONFIG_BOOTMETH_EXTLINUX=y ++CONFIG_BOOTMETH_EXTLINUX_PXE=y ++CONFIG_BOOTMETH_EFILOADER=y ++CONFIG_BOOTMETH_VBE=y ++CONFIG_BOOTMETH_VBE_REQUEST=y ++CONFIG_BOOTMETH_VBE_SIMPLE=y ++CONFIG_BOOTMETH_VBE_SIMPLE_OS=y ++# CONFIG_BOOTMETH_SCRIPT is not set ++CONFIG_LEGACY_IMAGE_FORMAT=y ++# CONFIG_SUPPORT_RAW_INITRD is not set ++# CONFIG_CHROMEOS is not set ++# CONFIG_CHROMEOS_VBOOT is not set ++# CONFIG_RAMBOOT_PBL is not set ++CONFIG_SYS_BOOT_RAMDISK_HIGH=y ++# CONFIG_DISTRO_DEFAULTS is not set ++ ++# ++# Boot timing ++# ++# CONFIG_BOOTSTAGE is not set ++CONFIG_BOOTSTAGE_STASH_SIZE=0x1000 ++# CONFIG_SHOW_BOOT_PROGRESS is not set ++ ++# ++# Boot media ++# ++CONFIG_NAND_BOOT=y ++# CONFIG_ONENAND_BOOT is not set ++# CONFIG_QSPI_BOOT is not set ++# CONFIG_SATA_BOOT is not set ++# CONFIG_SD_BOOT is not set ++# CONFIG_SD_BOOT_QSPI is not set ++CONFIG_SPI_BOOT=y ++ ++# ++# Autoboot options ++# ++CONFIG_AUTOBOOT=y ++CONFIG_BOOTDELAY=2 ++# CONFIG_AUTOBOOT_KEYED is not set ++# CONFIG_AUTOBOOT_USE_MENUKEY is not set ++CONFIG_AUTOBOOT_MENU_SHOW=y ++# CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is not set ++# CONFIG_BOOT_RETRY is not set ++ ++# ++# Image support ++# ++# CONFIG_IMAGE_PRE_LOAD is not set ++ ++# ++# Devicetree fixup ++# ++# CONFIG_OF_BOARD_SETUP is not set ++# CONFIG_OF_SYSTEM_SETUP is not set ++# CONFIG_OF_STDOUT_VIA_ALIAS is not set ++# CONFIG_FDT_FIXUP_PARTITIONS is not set ++# CONFIG_FDT_SIMPLEFB is not set ++CONFIG_ARCH_FIXUP_FDT_MEMORY=y ++# CONFIG_USE_BOOTARGS is not set ++# CONFIG_BOOTARGS_SUBST is not set ++# CONFIG_USE_BOOTCOMMAND is not set ++CONFIG_USE_PREBOOT=y ++CONFIG_DEFAULT_FDT_FILE="openwrt-one" ++# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set ++# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set ++ ++# ++# Configuration editor ++# ++# CONFIG_CEDIT is not set ++ ++# ++# Console ++# ++CONFIG_MENU=y ++# CONFIG_CONSOLE_RECORD is not set ++# CONFIG_DISABLE_CONSOLE is not set ++CONFIG_LOGLEVEL=7 ++# CONFIG_SILENT_CONSOLE is not set ++# CONFIG_SPL_SILENT_CONSOLE is not set ++# CONFIG_TPL_SILENT_CONSOLE is not set ++# CONFIG_PRE_CONSOLE_BUFFER is not set ++CONFIG_CONSOLE_FLUSH_SUPPORT=y ++# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set ++# CONFIG_CONSOLE_MUX is not set ++# CONFIG_SYS_CONSOLE_IS_IN_ENV is not set ++# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set ++# CONFIG_SYS_CONSOLE_INFO_QUIET is not set ++# CONFIG_SYS_STDIO_DEREGISTER is not set ++# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set ++# CONFIG_SYS_DEVICE_NULLDEV is not set ++ ++# ++# Logging ++# ++CONFIG_LOG=y ++CONFIG_LOG_MAX_LEVEL=6 ++CONFIG_LOG_DEFAULT_LEVEL=6 ++CONFIG_LOG_CONSOLE=y ++# CONFIG_LOGF_FILE is not set ++# CONFIG_LOGF_LINE is not set ++# CONFIG_LOGF_FUNC is not set ++CONFIG_LOGF_FUNC_PAD=20 ++# CONFIG_LOG_SYSLOG is not set ++# CONFIG_LOG_ERROR_RETURN is not set ++ ++# ++# Init options ++# ++# CONFIG_BOARD_TYPES is not set ++CONFIG_DISPLAY_CPUINFO=y ++CONFIG_DISPLAY_BOARDINFO=y ++# CONFIG_DISPLAY_BOARDINFO_LATE is not set ++ ++# ++# Start-up hooks ++# ++# CONFIG_CYCLIC is not set ++CONFIG_EVENT=y ++CONFIG_EVENT_DYNAMIC=y ++# CONFIG_EVENT_DEBUG is not set ++# CONFIG_ARCH_MISC_INIT is not set ++# CONFIG_BOARD_EARLY_INIT_F is not set ++# CONFIG_BOARD_EARLY_INIT_R is not set ++# CONFIG_BOARD_POSTCLK_INIT is not set ++CONFIG_BOARD_LATE_INIT=y ++# CONFIG_CLOCKS is not set ++# CONFIG_HWCONFIG is not set ++CONFIG_LAST_STAGE_INIT=y ++# CONFIG_MISC_INIT_R is not set ++# CONFIG_SYS_MALLOC_BOOTPARAMS is not set ++# CONFIG_ID_EEPROM is not set ++# CONFIG_RESET_PHY_R is not set ++ ++# ++# Security support ++# ++CONFIG_HASH=y ++# CONFIG_STACKPROTECTOR is not set ++# CONFIG_BOARD_RNG_SEED is not set ++ ++# ++# Update support ++# ++# CONFIG_UPDATE_TFTP is not set ++# CONFIG_ANDROID_AB is not set ++ ++# ++# Blob list ++# ++# CONFIG_BLOBLIST is not set ++CONFIG_SUPPORT_SPL=y ++# CONFIG_VPL is not set ++ ++# ++# Command line interface ++# ++CONFIG_CMDLINE=y ++CONFIG_HUSH_PARSER=y ++CONFIG_CMDLINE_EDITING=y ++# CONFIG_CMDLINE_PS_SUPPORT is not set ++CONFIG_AUTO_COMPLETE=y ++CONFIG_SYS_LONGHELP=y ++CONFIG_SYS_PROMPT="OpenWrt One> " ++CONFIG_SYS_PROMPT_HUSH_PS2="> " ++CONFIG_SYS_MAXARGS=16 ++CONFIG_SYS_CBSIZE=512 ++CONFIG_SYS_PBSIZE=1049 ++CONFIG_SYS_XTRACE=y ++CONFIG_BUILD_BIN2C=y ++ ++# ++# Commands ++# ++ ++# ++# Info commands ++# ++CONFIG_CMD_BDI=y ++# CONFIG_CMD_BDINFO_EXTRA is not set ++# CONFIG_CMD_CONFIG is not set ++CONFIG_CMD_CONSOLE=y ++CONFIG_CMD_CPU=y ++# CONFIG_CMD_HISTORY is not set ++CONFIG_CMD_LICENSE=y ++# CONFIG_CMD_PMC is not set ++ ++# ++# Boot commands ++# ++CONFIG_CMD_BOOTD=y ++CONFIG_CMD_BOOTM=y ++# CONFIG_CMD_BOOTDEV is not set ++CONFIG_CMD_BOOTFLOW=y ++# CONFIG_CMD_BOOTMETH is not set ++CONFIG_BOOTM_EFI=y ++# CONFIG_CMD_BOOTZ is not set ++CONFIG_CMD_BOOTI=y ++CONFIG_BOOTM_LINUX=y ++# CONFIG_BOOTM_NETBSD is not set ++# CONFIG_BOOTM_OPENRTOS is not set ++# CONFIG_BOOTM_OSE is not set ++# CONFIG_BOOTM_PLAN9 is not set ++# CONFIG_BOOTM_RTEMS is not set ++# CONFIG_CMD_VBE is not set ++# CONFIG_BOOTM_VXWORKS is not set ++CONFIG_SYS_BOOTM_LEN=0x4000000 ++CONFIG_CMD_BOOTEFI=y ++CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y ++# CONFIG_CMD_BOOTEFI_HELLO is not set ++# CONFIG_CMD_BOOTEFI_SELFTEST is not set ++CONFIG_CMD_BOOTMENU=y ++# CONFIG_CMD_ADTIMG is not set ++CONFIG_CMD_ELF=y ++CONFIG_CMD_FDT=y ++CONFIG_CMD_GO=y ++CONFIG_CMD_RUN=y ++CONFIG_CMD_IMI=y ++# CONFIG_CMD_IMLS is not set ++CONFIG_CMD_XIMG=y ++# CONFIG_CMD_ZBOOT is not set ++ ++# ++# Environment commands ++# ++CONFIG_CMD_ASKENV=y ++CONFIG_CMD_EXPORTENV=y ++CONFIG_CMD_IMPORTENV=y ++CONFIG_CMD_EDITENV=y ++# CONFIG_CMD_GREPENV is not set ++CONFIG_CMD_SAVEENV=y ++CONFIG_CMD_ERASEENV=y ++CONFIG_CMD_ENV_EXISTS=y ++CONFIG_CMD_ENV_READMEM=y ++# CONFIG_CMD_ENV_CALLBACK is not set ++CONFIG_CMD_ENV_FLAGS=y ++# CONFIG_CMD_NVEDIT_EFI is not set ++# CONFIG_CMD_NVEDIT_INDIRECT is not set ++# CONFIG_CMD_NVEDIT_INFO is not set ++# CONFIG_CMD_NVEDIT_LOAD is not set ++# CONFIG_CMD_NVEDIT_SELECT is not set ++ ++# ++# Memory commands ++# ++# CONFIG_CMD_BINOP is not set ++# CONFIG_CMD_BLOBLIST is not set ++CONFIG_CMD_CRC32=y ++# CONFIG_CRC32_VERIFY is not set ++# CONFIG_CMD_EEPROM is not set ++# CONFIG_LOOPW is not set ++# CONFIG_CMD_MD5SUM is not set ++# CONFIG_CMD_MEMINFO is not set ++CONFIG_CMD_MEMORY=y ++# CONFIG_CMD_MEM_SEARCH is not set ++# CONFIG_CMD_MX_CYCLIC is not set ++CONFIG_CMD_RANDOM=y ++# CONFIG_CMD_MEMTEST is not set ++# CONFIG_CMD_SHA1SUM is not set ++CONFIG_CMD_STRINGS=y ++ ++# ++# Compression commands ++# ++CONFIG_CMD_LZMADEC=y ++# CONFIG_CMD_UNLZ4 is not set ++# CONFIG_CMD_UNZIP is not set ++# CONFIG_CMD_ZIP is not set ++ ++# ++# Device access commands ++# ++# CONFIG_CMD_ARMFLASH is not set ++# CONFIG_CMD_BIND is not set ++# CONFIG_CMD_CLK is not set ++# CONFIG_CMD_DEMO is not set ++# CONFIG_CMD_DFU is not set ++CONFIG_CMD_DM=y ++CONFIG_CMD_FLASH=y ++# CONFIG_CMD_FPGAD is not set ++# CONFIG_CMD_FUSE is not set ++CONFIG_CMD_GPIO=y ++# CONFIG_CMD_GPIO_READ is not set ++CONFIG_CMD_PWM=y ++# CONFIG_CMD_GPT is not set ++# CONFIG_RANDOM_UUID is not set ++# CONFIG_CMD_IDE is not set ++# CONFIG_CMD_IO is not set ++# CONFIG_CMD_IOTRACE is not set ++# CONFIG_CMD_I2C is not set ++CONFIG_CMD_LOADB=y ++# CONFIG_CMD_LOADM is not set ++CONFIG_CMD_LOADS=y ++# CONFIG_LOADS_ECHO is not set ++# CONFIG_CMD_SAVES is not set ++# CONFIG_SYS_LOADS_BAUD_CHANGE is not set ++CONFIG_CMD_LOADXY_TIMEOUT=90 ++# CONFIG_CMD_LSBLK is not set ++# CONFIG_CMD_MBR is not set ++# CONFIG_CMD_CLONE is not set ++CONFIG_CMD_MTD=y ++CONFIG_CMD_NAND_EXT=y ++# CONFIG_CMD_ONENAND is not set ++# CONFIG_CMD_OSD is not set ++# CONFIG_CMD_PART is not set ++CONFIG_CMD_PCI=y ++CONFIG_CMD_PINMUX=y ++# CONFIG_CMD_POWEROFF is not set ++# CONFIG_CMD_READ is not set ++# CONFIG_CMD_SATA is not set ++# CONFIG_CMD_SDRAM is not set ++CONFIG_CMD_SF=y ++CONFIG_CMD_SF_TEST=y ++# CONFIG_CMD_SPI is not set ++# CONFIG_CMD_TSI148 is not set ++# CONFIG_CMD_UNIVERSE is not set ++CONFIG_CMD_USB=y ++# CONFIG_CMD_USB_SDP is not set ++# CONFIG_CMD_RKMTD is not set ++# CONFIG_CMD_WRITE is not set ++ ++# ++# Shell scripting commands ++# ++# CONFIG_CMD_CAT is not set ++CONFIG_CMD_ECHO=y ++CONFIG_CMD_ITEST=y ++CONFIG_CMD_SOURCE=y ++CONFIG_CMD_SETEXPR=y ++# CONFIG_CMD_SETEXPR_FMT is not set ++# CONFIG_CMD_XXD is not set ++ ++# ++# Android support commands ++# ++CONFIG_CMD_NET=y ++CONFIG_CMD_BOOTP=y ++CONFIG_CMD_DHCP=y ++# CONFIG_BOOTP_MAY_FAIL is not set ++CONFIG_BOOTP_BOOTPATH=y ++# CONFIG_BOOTP_VENDOREX is not set ++# CONFIG_BOOTP_BOOTFILESIZE is not set ++CONFIG_BOOTP_DNS=y ++# CONFIG_BOOTP_DNS2 is not set ++CONFIG_BOOTP_GATEWAY=y ++CONFIG_BOOTP_HOSTNAME=y ++# CONFIG_BOOTP_PREFER_SERVERIP is not set ++CONFIG_BOOTP_SUBNETMASK=y ++# CONFIG_BOOTP_NISDOMAIN is not set ++# CONFIG_BOOTP_NTPSERVER is not set ++# CONFIG_BOOTP_TIMEOFFSET is not set ++# CONFIG_CMD_PCAP is not set ++CONFIG_BOOTP_PXE=y ++CONFIG_BOOTP_PXE_CLIENTARCH=0x16 ++# CONFIG_BOOTP_PXE_DHCP_OPTION is not set ++CONFIG_BOOTP_VCI_STRING="U-Boot.armv8" ++CONFIG_CMD_TFTPBOOT=y ++# CONFIG_CMD_TFTPPUT is not set ++CONFIG_CMD_TFTPSRV=y ++CONFIG_NET_TFTP_VARS=y ++CONFIG_CMD_RARP=y ++# CONFIG_CMD_NFS is not set ++# CONFIG_SYS_DISABLE_AUTOLOAD is not set ++# CONFIG_CMD_WGET is not set ++# CONFIG_CMD_MII is not set ++# CONFIG_CMD_MDIO is not set ++CONFIG_CMD_PING=y ++CONFIG_CMD_CDP=y ++CONFIG_CMD_SNTP=y ++CONFIG_CMD_DNS=y ++CONFIG_CMD_LINK_LOCAL=y ++# CONFIG_CMD_ETHSW is not set ++CONFIG_CMD_PXE=y ++# CONFIG_CMD_WOL is not set ++ ++# ++# Misc commands ++# ++# CONFIG_CMD_2048 is not set ++# CONFIG_CMD_BSP is not set ++CONFIG_CMD_BLOCK_CACHE=y ++CONFIG_CMD_BUTTON=y ++CONFIG_CMD_CACHE=y ++# CONFIG_CMD_CONITRACE is not set ++# CONFIG_CMD_CLS is not set ++# CONFIG_CMD_EFIDEBUG is not set ++CONFIG_CMD_EFICONFIG=y ++# CONFIG_CMD_EXCEPTION is not set ++CONFIG_CMD_LED=y ++# CONFIG_CMD_INI is not set ++# CONFIG_CMD_DATE is not set ++# CONFIG_CMD_TIME is not set ++# CONFIG_CMD_GETTIME is not set ++# CONFIG_CMD_PAUSE is not set ++CONFIG_CMD_SLEEP=y ++# CONFIG_CMD_TIMER is not set ++# CONFIG_CMD_SYSBOOT is not set ++# CONFIG_CMD_QFW is not set ++CONFIG_CMD_PSTORE=y ++CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000 ++CONFIG_CMD_PSTORE_MEM_SIZE=0x10000 ++CONFIG_CMD_PSTORE_RECORD_SIZE=0x1000 ++CONFIG_CMD_PSTORE_CONSOLE_SIZE=0x1000 ++CONFIG_CMD_PSTORE_FTRACE_SIZE=0x1000 ++CONFIG_CMD_PSTORE_PMSG_SIZE=0x1000 ++CONFIG_CMD_PSTORE_ECC_SIZE=0 ++# CONFIG_CMD_TERMINAL is not set ++CONFIG_CMD_UUID=y ++ ++# ++# TI specific command line interface ++# ++ ++# ++# Power commands ++# ++ ++# ++# Security commands ++# ++# CONFIG_CMD_AES is not set ++# CONFIG_CMD_BLOB is not set ++CONFIG_CMD_HASH=y ++# CONFIG_CMD_HVC is not set ++CONFIG_CMD_SMC=y ++# CONFIG_HASH_VERIFY is not set ++ ++# ++# Firmware commands ++# ++ ++# ++# Filesystem commands ++# ++# CONFIG_CMD_BTRFS is not set ++# CONFIG_CMD_EROFS is not set ++# CONFIG_CMD_EXT2 is not set ++# CONFIG_CMD_EXT4 is not set ++CONFIG_CMD_FAT=y ++# CONFIG_CMD_SQUASHFS is not set ++CONFIG_CMD_FS_GENERIC=y ++CONFIG_CMD_FS_UUID=y ++# CONFIG_CMD_JFFS2 is not set ++# CONFIG_CMD_MTDPARTS is not set ++CONFIG_MTDIDS_DEFAULT="" ++CONFIG_MTDPARTS_DEFAULT="" ++# CONFIG_CMD_REISER is not set ++# CONFIG_CMD_ZFS is not set ++ ++# ++# Debug commands ++# ++# CONFIG_CMD_DIAG is not set ++# CONFIG_CMD_EVENT is not set ++# CONFIG_CMD_LOG is not set ++CONFIG_CMD_UBI=y ++CONFIG_CMD_UBI_RENAME=y ++CONFIG_CMD_UBIFS=y ++ ++# ++# Partition Types ++# ++CONFIG_PARTITIONS=y ++# CONFIG_MAC_PARTITION is not set ++CONFIG_DOS_PARTITION=y ++# CONFIG_ISO_PARTITION is not set ++# CONFIG_AMIGA_PARTITION is not set ++# CONFIG_EFI_PARTITION is not set ++CONFIG_PARTITION_UUIDS=y ++CONFIG_SUPPORT_OF_CONTROL=y ++ ++# ++# Device Tree Control ++# ++CONFIG_OF_CONTROL=y ++CONFIG_OF_REAL=y ++# CONFIG_OF_LIVE is not set ++CONFIG_OF_SEPARATE=y ++# CONFIG_OF_EMBED is not set ++# CONFIG_OF_BOARD is not set ++# CONFIG_OF_OMIT_DTB is not set ++CONFIG_DEVICE_TREE_INCLUDES="" ++CONFIG_OF_LIST="openwrt-one" ++# CONFIG_MULTI_DTB_FIT is not set ++CONFIG_OF_TAG_MIGRATE=y ++# CONFIG_OF_DTB_PROPS_REMOVE is not set ++ ++# ++# Environment ++# ++CONFIG_ENV_SUPPORT=y ++CONFIG_SAVEENV=y ++CONFIG_ENV_OVERWRITE=y ++CONFIG_ENV_MIN_ENTRIES=64 ++CONFIG_ENV_MAX_ENTRIES=512 ++CONFIG_ENV_IS_DEFAULT=y ++CONFIG_ENV_IS_NOWHERE=y ++# CONFIG_ENV_IS_IN_EEPROM is not set ++# CONFIG_ENV_IS_IN_FAT is not set ++# CONFIG_ENV_IS_IN_EXT4 is not set ++# CONFIG_ENV_IS_IN_FLASH is not set ++# CONFIG_ENV_IS_IN_MTD is not set ++# CONFIG_ENV_IS_IN_NAND is not set ++# CONFIG_ENV_IS_IN_NVRAM is not set ++# CONFIG_ENV_IS_IN_ONENAND is not set ++# CONFIG_ENV_IS_IN_REMOTE is not set ++# CONFIG_ENV_IS_IN_SPI_FLASH is not set ++# CONFIG_ENV_IS_IN_UBI is not set ++CONFIG_SYS_REDUNDAND_ENVIRONMENT=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_USE_DEFAULT_ENV_FILE=y ++CONFIG_DEFAULT_ENV_FILE="openwrt-one-nor_env" ++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++# CONFIG_ENV_IMPORT_FDT is not set ++# CONFIG_ENV_APPEND is not set ++# CONFIG_ENV_WRITEABLE_LIST is not set ++# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set ++# CONFIG_USE_BOOTFILE is not set ++# CONFIG_USE_ETHPRIME is not set ++# CONFIG_USE_HOSTNAME is not set ++# CONFIG_VERSION_VARIABLE is not set ++CONFIG_NET=y ++CONFIG_ARP_TIMEOUT=5000 ++CONFIG_NET_RETRY_COUNT=5 ++CONFIG_PROT_UDP=y ++CONFIG_BOOTDEV_ETH=y ++# CONFIG_BOOTP_SEND_HOSTNAME is not set ++CONFIG_NET_RANDOM_ETHADDR=y ++# CONFIG_NETCONSOLE is not set ++# CONFIG_IP_DEFRAG is not set ++# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set ++CONFIG_TFTP_BLOCKSIZE=1468 ++# CONFIG_TFTP_PORT is not set ++CONFIG_TFTP_WINDOWSIZE=1 ++# CONFIG_TFTP_TSIZE is not set ++# CONFIG_SERVERIP_FROM_PROXYDHCP is not set ++CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 ++# CONFIG_KEEP_SERVERADDR is not set ++# CONFIG_UDP_CHECKSUM is not set ++# CONFIG_BOOTP_SERVERIP is not set ++CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 ++# CONFIG_USE_GATEWAYIP is not set ++# CONFIG_USE_IPADDR is not set ++# CONFIG_USE_NETMASK is not set ++# CONFIG_USE_ROOTPATH is not set ++# CONFIG_USE_SERVERIP is not set ++# CONFIG_PROT_TCP is not set ++# CONFIG_IPV6 is not set ++CONFIG_SYS_RX_ETH_BUFFER=4 ++ ++# ++# Device Drivers ++# ++ ++# ++# Generic Driver Options ++# ++CONFIG_DM=y ++# CONFIG_DM_WARN is not set ++# CONFIG_DM_DEBUG is not set ++# CONFIG_DM_STATS is not set ++CONFIG_DM_DEVICE_REMOVE=y ++CONFIG_DM_EVENT=y ++CONFIG_DM_STDIO=y ++CONFIG_DM_SEQ_ALIAS=y ++# CONFIG_DM_DMA is not set ++CONFIG_REGMAP=y ++CONFIG_SYSCON=y ++# CONFIG_DEVRES is not set ++CONFIG_SIMPLE_BUS=y ++# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set ++# CONFIG_SIMPLE_PM_BUS is not set ++CONFIG_OF_TRANSLATE=y ++# CONFIG_TRANSLATION_OFFSET is not set ++CONFIG_DM_DEV_READ_INLINE=y ++# CONFIG_OFNODE_MULTI_TREE is not set ++# CONFIG_BOUNCE_BUFFER is not set ++# CONFIG_ADC is not set ++# CONFIG_ADC_EXYNOS is not set ++# CONFIG_ADC_SANDBOX is not set ++# CONFIG_SARADC_MESON is not set ++# CONFIG_SARADC_ROCKCHIP is not set ++# CONFIG_SATA is not set ++# CONFIG_SCSI_AHCI is not set ++ ++# ++# SATA/SCSI device support ++# ++# CONFIG_AXI is not set ++ ++# ++# Bus devices ++# ++CONFIG_BLK=y ++CONFIG_BLOCK_CACHE=y ++# CONFIG_BLKMAP is not set ++# CONFIG_EFI_MEDIA is not set ++# CONFIG_IDE is not set ++# CONFIG_LBA48 is not set ++# CONFIG_SYS_64BIT_LBA is not set ++# CONFIG_RKMTD is not set ++# CONFIG_BOOTCOUNT_LIMIT is not set ++ ++# ++# Button Support ++# ++CONFIG_BUTTON=y ++# CONFIG_BUTTON_ADC is not set ++CONFIG_BUTTON_GPIO=y ++ ++# ++# Cache Controller drivers ++# ++# CONFIG_CACHE is not set ++# CONFIG_L2X0_CACHE is not set ++# CONFIG_V5L2_CACHE is not set ++# CONFIG_NCORE_CACHE is not set ++# CONFIG_SIFIVE_CCACHE is not set ++ ++# ++# Clock ++# ++CONFIG_CLK=y ++# CONFIG_CLK_CCF is not set ++# CONFIG_CLK_GPIO is not set ++# CONFIG_CLK_CDCE9XX is not set ++# CONFIG_CLK_ICS8N3QV01 is not set ++# CONFIG_CLK_K210 is not set ++# CONFIG_CLK_MPC83XX is not set ++# CONFIG_CLK_XLNX_CLKWZRD is not set ++# CONFIG_CLK_AT91 is not set ++# CONFIG_CLK_RCAR is not set ++# CONFIG_CLK_RCAR_CPG_LIB is not set ++# CONFIG_CLK_SIFIVE is not set ++# CONFIG_CLK_TI_AM3_DPLL is not set ++# CONFIG_CLK_TI_CTRL is not set ++# CONFIG_CLK_TI_GATE is not set ++# CONFIG_CLK_K3 is not set ++CONFIG_CPU=y ++# CONFIG_CPU_IMX is not set ++ ++# ++# Hardware crypto devices ++# ++# CONFIG_DM_HASH is not set ++# CONFIG_FSL_CAAM is not set ++CONFIG_CAAM_64BIT=y ++# CONFIG_SYS_FSL_SEC_BE is not set ++# CONFIG_SYS_FSL_SEC_LE is not set ++# CONFIG_NPCM_AES is not set ++# CONFIG_NPCM_SHA is not set ++# CONFIG_DDR_SPD is not set ++# CONFIG_IMX_SNPS_DDR_PHY is not set ++ ++# ++# Demo for driver model ++# ++# CONFIG_DM_DEMO is not set ++ ++# ++# DFU support ++# ++ ++# ++# DMA Support ++# ++# CONFIG_DMA is not set ++# CONFIG_DMA_LPC32XX is not set ++# CONFIG_TI_EDMA3 is not set ++# CONFIG_DMA_LEGACY is not set ++ ++# ++# Extcon Support ++# ++# CONFIG_EXTCON is not set ++ ++# ++# Fastboot support ++# ++# CONFIG_UDP_FUNCTION_FASTBOOT is not set ++# CONFIG_TCP_FUNCTION_FASTBOOT is not set ++CONFIG_FIRMWARE=y ++CONFIG_ARM_PSCI_FW=y ++# CONFIG_ZYNQMP_FIRMWARE is not set ++# CONFIG_ARM_SMCCC_FEATURES is not set ++# CONFIG_ARM_FFA_TRANSPORT is not set ++# CONFIG_SCMI_FIRMWARE is not set ++# CONFIG_DM_FUZZING_ENGINE is not set ++ ++# ++# FPGA support ++# ++# CONFIG_FPGA_ALTERA is not set ++# CONFIG_FPGA_SOCFPGA is not set ++# CONFIG_FPGA_LATTICE is not set ++# CONFIG_FPGA_XILINX is not set ++# CONFIG_DM_FPGA is not set ++# CONFIG_FWU_MDATA is not set ++CONFIG_GPIO=y ++CONFIG_GPIO_HOG=y ++# CONFIG_DM_GPIO_LOOKUP_LABEL is not set ++# CONFIG_ALTERA_PIO is not set ++# CONFIG_BCM2835_GPIO is not set ++# CONFIG_DWAPB_GPIO is not set ++# CONFIG_AT91_GPIO is not set ++# CONFIG_ATMEL_PIO4 is not set ++# CONFIG_ASPEED_GPIO is not set ++# CONFIG_DA8XX_GPIO is not set ++# CONFIG_HIKEY_GPIO is not set ++# CONFIG_INTEL_BROADWELL_GPIO is not set ++# CONFIG_INTEL_GPIO is not set ++# CONFIG_INTEL_ICH6_GPIO is not set ++# CONFIG_IMX_RGPIO2P is not set ++# CONFIG_IPROC_GPIO is not set ++# CONFIG_HSDK_CREG_GPIO is not set ++# CONFIG_KIRKWOOD_GPIO is not set ++# CONFIG_LPC32XX_GPIO is not set ++# CONFIG_MCP230XX_GPIO is not set ++# CONFIG_MSM_GPIO is not set ++# CONFIG_MXC_GPIO is not set ++# CONFIG_MXS_GPIO is not set ++# CONFIG_NPCM_GPIO is not set ++# CONFIG_CMD_PCA953X is not set ++# CONFIG_ROCKCHIP_GPIO is not set ++# CONFIG_XILINX_GPIO is not set ++# CONFIG_TCA642X is not set ++# CONFIG_TEGRA_GPIO is not set ++# CONFIG_TEGRA186_GPIO is not set ++# CONFIG_VYBRID_GPIO is not set ++# CONFIG_SIFIVE_GPIO is not set ++# CONFIG_ZYNQ_GPIO is not set ++# CONFIG_DM_74X164 is not set ++# CONFIG_PCA953X is not set ++# CONFIG_MPC8XXX_GPIO is not set ++# CONFIG_MPC8XX_GPIO is not set ++# CONFIG_NX_GPIO is not set ++# CONFIG_NOMADIK_GPIO is not set ++# CONFIG_ZYNQMP_GPIO_MODEPIN is not set ++# CONFIG_SLG7XL45106_I2C_GPO is not set ++# CONFIG_TURRIS_OMNIA_MCU is not set ++# CONFIG_FTGPIO010 is not set ++ ++# ++# Hardware Spinlock Support ++# ++# CONFIG_DM_HWSPINLOCK is not set ++CONFIG_I2C=y ++# CONFIG_DM_I2C is not set ++# CONFIG_SYS_I2C_LEGACY is not set ++# CONFIG_SPL_SYS_I2C_LEGACY is not set ++# CONFIG_SYS_I2C_FSL is not set ++# CONFIG_SYS_I2C_DW is not set ++# CONFIG_SYS_I2C_IMX_LPI2C is not set ++# CONFIG_SYS_I2C_MTK is not set ++# CONFIG_SYS_I2C_MICROCHIP is not set ++# CONFIG_SYS_I2C_MXC is not set ++# CONFIG_SYS_I2C_NPCM is not set ++# CONFIG_SYS_I2C_SOFT is not set ++# CONFIG_SYS_I2C_MV is not set ++# CONFIG_SYS_I2C_MVTWSI is not set ++CONFIG_INPUT=y ++# CONFIG_DM_KEYBOARD is not set ++# CONFIG_CROS_EC_KEYB is not set ++# CONFIG_TEGRA_KEYBOARD is not set ++# CONFIG_TWL4030_INPUT is not set ++ ++# ++# IOMMU device drivers ++# ++# CONFIG_IOMMU is not set ++ ++# ++# LED Support ++# ++CONFIG_LED=y ++# CONFIG_LED_PWM is not set ++CONFIG_LED_BLINK=y ++CONFIG_LED_GPIO=y ++# CONFIG_LED_STATUS is not set ++ ++# ++# Mailbox Controller Support ++# ++# CONFIG_DM_MAILBOX is not set ++ ++# ++# Memory Controller drivers ++# ++# CONFIG_MEMORY is not set ++# CONFIG_ATMEL_EBI is not set ++# CONFIG_MFD_ATMEL_SMC is not set ++ ++# ++# Multifunction device drivers ++# ++# CONFIG_MISC is not set ++# CONFIG_NVMEM is not set ++# CONFIG_SPL_NVMEM is not set ++# CONFIG_SMSC_LPC47M is not set ++# CONFIG_SMSC_SIO1007 is not set ++# CONFIG_CROS_EC is not set ++# CONFIG_DS4510 is not set ++# CONFIG_FSL_SEC_MON is not set ++# CONFIG_IRQ is not set ++# CONFIG_NPCM_HOST is not set ++# CONFIG_NUVOTON_NCT6102D is not set ++# CONFIG_PWRSEQ is not set ++# CONFIG_PCA9551_LED is not set ++# CONFIG_TEST_DRV is not set ++# CONFIG_USB_HUB_USB251XB is not set ++# CONFIG_TWL4030_LED is not set ++# CONFIG_WINBOND_W83627 is not set ++# CONFIG_FS_LOADER is not set ++ ++# ++# MMC Host controller Support ++# ++# CONFIG_MMC is not set ++# CONFIG_MMC_BROKEN_CD is not set ++# CONFIG_DM_MMC is not set ++# CONFIG_FSL_ESDHC is not set ++# CONFIG_FSL_ESDHC_IMX is not set ++ ++# ++# MTD Support ++# ++CONFIG_MTD_PARTITIONS=y ++CONFIG_MTD=y ++CONFIG_DM_MTD=y ++# CONFIG_MTD_NOR_FLASH is not set ++# CONFIG_MTD_CONCAT is not set ++# CONFIG_SYS_MTDPARTS_RUNTIME is not set ++# CONFIG_FLASH_CFI_DRIVER is not set ++# CONFIG_CFI_FLASH is not set ++# CONFIG_ALTERA_QSPI is not set ++# CONFIG_HBMC_AM654 is not set ++# CONFIG_SAMSUNG_ONENAND is not set ++# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set ++CONFIG_MTD_NAND_CORE=y ++# CONFIG_MTD_RAW_NAND is not set ++CONFIG_MTD_SPI_NAND=y ++ ++# ++# SPI Flash Support ++# ++CONFIG_DM_SPI_FLASH=y ++CONFIG_SPI_FLASH=y ++CONFIG_SF_DEFAULT_BUS=0 ++CONFIG_SF_DEFAULT_CS=0 ++# CONFIG_BOOTDEV_SPI_FLASH is not set ++CONFIG_SPI_FLASH_SFDP_SUPPORT=y ++CONFIG_SPI_FLASH_SMART_HWCAPS=y ++# CONFIG_SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT is not set ++# CONFIG_SPI_FLASH_SOFT_RESET is not set ++# CONFIG_SPI_FLASH_BAR is not set ++CONFIG_SPI_FLASH_LOCK=y ++CONFIG_SPI_FLASH_UNLOCK_ALL=y ++# CONFIG_SPI_FLASH_ATMEL is not set ++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_S28HX_T is not set ++CONFIG_SPI_FLASH_STMICRO=y ++# CONFIG_SPI_FLASH_MT35XU is not set ++# CONFIG_SPI_FLASH_SST is not set ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_SPI_FLASH_XMC=y ++CONFIG_SPI_FLASH_XTX=y ++# CONFIG_SPI_FLASH_ZBIT is not set ++CONFIG_SPI_FLASH_USE_4K_SECTORS=y ++# CONFIG_SPI_FLASH_DATAFLASH is not set ++CONFIG_SPI_FLASH_MTD=y ++ ++# ++# UBI support ++# ++CONFIG_UBI_SILENCE_MSG=y ++CONFIG_MTD_UBI=y ++CONFIG_MTD_UBI_MODULE=y ++CONFIG_MTD_UBI_WL_THRESHOLD=4096 ++CONFIG_MTD_UBI_BEB_LIMIT=20 ++# CONFIG_MTD_UBI_FASTMAP is not set ++# CONFIG_NVMXIP is not set ++# CONFIG_NVMXIP_QSPI is not set ++# CONFIG_NMBM is not set ++ ++# ++# Multiplexer drivers ++# ++# CONFIG_MULTIPLEXER is not set ++# CONFIG_BITBANGMII is not set ++# CONFIG_MV88E6352_SWITCH is not set ++CONFIG_PHYLIB=y ++# CONFIG_PHY_ADDR_ENABLE is not set ++# CONFIG_B53_SWITCH is not set ++# CONFIG_MV88E61XX_SWITCH is not set ++# CONFIG_PHYLIB_10G is not set ++# CONFIG_PHY_ADIN is not set ++# CONFIG_PHY_AIROHA is not set ++# CONFIG_PHY_AQUANTIA is not set ++# CONFIG_PHY_ATHEROS is not set ++# CONFIG_SPL_PHY_ATHEROS is not set ++# CONFIG_PHY_BROADCOM is not set ++# CONFIG_PHY_CORTINA is not set ++# CONFIG_PHY_DAVICOM is not set ++# CONFIG_PHY_ET1011C is not set ++# CONFIG_PHY_LXT is not set ++# CONFIG_PHY_MARVELL is not set ++# CONFIG_PHY_MARVELL_10G is not set ++# CONFIG_PHY_MESON_GXL is not set ++# CONFIG_PHY_MICREL is not set ++# CONFIG_PHY_MOTORCOMM is not set ++# CONFIG_PHY_MSCC is not set ++# CONFIG_PHY_NATSEMI is not set ++# CONFIG_PHY_NXP_C45_TJA11XX is not set ++# CONFIG_PHY_NXP_TJA11XX is not set ++# CONFIG_PHY_REALTEK is not set ++# CONFIG_PHY_SMSC is not set ++# CONFIG_PHY_TERANETICS is not set ++# CONFIG_PHY_TI is not set ++# CONFIG_PHY_TI_DP83867 is not set ++# CONFIG_PHY_TI_DP83869 is not set ++# CONFIG_PHY_TI_GENERIC is not set ++# CONFIG_PHY_VITESSE is not set ++# CONFIG_PHY_XILINX is not set ++# CONFIG_PHY_XILINX_GMII2RGMII is not set ++# CONFIG_PHY_XWAY is not set ++# CONFIG_PHY_ETHERNET_ID is not set ++CONFIG_PHY_FIXED=y ++# CONFIG_PHY_NCSI is not set ++# CONFIG_FSL_MEMAC is not set ++CONFIG_PHY_RESET_DELAY=0 ++# CONFIG_FSL_PFE is not set ++CONFIG_ETH=y ++CONFIG_DM_ETH=y ++# CONFIG_DM_MDIO is not set ++# CONFIG_DM_ETH_PHY is not set ++CONFIG_NETDEVICES=y ++# CONFIG_PHY_GIGE is not set ++# CONFIG_ALTERA_TSE is not set ++# CONFIG_BCM_SF2_ETH is not set ++# CONFIG_BCMGENET is not set ++# CONFIG_BNXT_ETH is not set ++# CONFIG_CALXEDA_XGMAC is not set ++# CONFIG_DRIVER_DM9000 is not set ++# CONFIG_DWC_ETH_QOS is not set ++# CONFIG_EEPRO100 is not set ++# CONFIG_ETH_DESIGNWARE is not set ++# CONFIG_ETH_DESIGNWARE_MESON8B is not set ++# CONFIG_ETHOC is not set ++# CONFIG_FMAN_ENET is not set ++# CONFIG_FTMAC100 is not set ++# CONFIG_FTGMAC100 is not set ++# CONFIG_MCFFEC is not set ++# CONFIG_FSLDMAFEC is not set ++# CONFIG_KS8851_MLL is not set ++# CONFIG_LITEETH is not set ++# CONFIG_MACB is not set ++# CONFIG_NET_NPCM750 is not set ++# CONFIG_PCH_GBE is not set ++# CONFIG_RGMII is not set ++# CONFIG_MII is not set ++# CONFIG_RMII is not set ++# CONFIG_PCNET is not set ++# CONFIG_QE_UEC is not set ++# CONFIG_RTL8139 is not set ++# CONFIG_SMC911X is not set ++# CONFIG_SUN7I_GMAC is not set ++# CONFIG_SUN4I_EMAC is not set ++# CONFIG_SUN8I_EMAC is not set ++# CONFIG_SH_ETHER is not set ++# CONFIG_DRIVER_TI_CPSW is not set ++# CONFIG_DRIVER_TI_EMAC is not set ++# CONFIG_DRIVER_TI_KEYSTONE_NET is not set ++# CONFIG_TULIP is not set ++# CONFIG_XILINX_AXIEMAC is not set ++# CONFIG_VSC7385_ENET is not set ++# CONFIG_XILINX_EMACLITE is not set ++# CONFIG_ZYNQ_GEM is not set ++# CONFIG_SYS_DPAA_QBMAN is not set ++# CONFIG_TSEC_ENET is not set ++CONFIG_MEDIATEK_ETH=y ++# CONFIG_HIFEMAC_ETH is not set ++# CONFIG_HIGMACV300_ETH is not set ++# CONFIG_NVME is not set ++# CONFIG_NVME_APPLE is not set ++ ++# ++# PCI Endpoint ++# ++# CONFIG_PCI_ENDPOINT is not set ++# CONFIG_X86_PCH7 is not set ++# CONFIG_X86_PCH9 is not set ++ ++# ++# PHY Subsystem ++# ++CONFIG_PHY=y ++# CONFIG_NOP_PHY is not set ++# CONFIG_MIPI_DPHY_HELPERS is not set ++# CONFIG_BCM_SR_PCIE_PHY is not set ++# CONFIG_OMAP_USB2_PHY is not set ++CONFIG_PHY_MTK_TPHY=y ++ ++# ++# Rockchip PHY driver ++# ++# CONFIG_PHY_CADENCE_SIERRA is not set ++# CONFIG_PHY_CADENCE_TORRENT is not set ++# CONFIG_MSM8916_USB_PHY is not set ++# CONFIG_MVEBU_COMPHY_SUPPORT is not set ++ ++# ++# Pin controllers ++# ++CONFIG_PINCTRL=y ++CONFIG_PINCTRL_FULL=y ++CONFIG_PINCTRL_GENERIC=y ++CONFIG_PINMUX=y ++CONFIG_PINCONF=y ++CONFIG_PINCONF_RECURSIVE=y ++# CONFIG_PINCTRL_AT91 is not set ++# CONFIG_PINCTRL_AT91PIO4 is not set ++# CONFIG_PINCTRL_INTEL is not set ++# CONFIG_PINCTRL_QE is not set ++# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set ++# CONFIG_PINCTRL_SINGLE is not set ++# CONFIG_PINCTRL_STM32 is not set ++# CONFIG_PINCTRL_STMFX is not set ++# CONFIG_PINCTRL_K210 is not set ++CONFIG_PINCTRL_MTK=y ++# CONFIG_PINCTRL_MT7622 is not set ++# CONFIG_PINCTRL_MT7623 is not set ++# CONFIG_PINCTRL_MT7629 is not set ++CONFIG_PINCTRL_MT7981=y ++# CONFIG_PINCTRL_MT7986 is not set ++# CONFIG_PINCTRL_MT7988 is not set ++# CONFIG_PINCTRL_MT8512 is not set ++# CONFIG_PINCTRL_MT8516 is not set ++# CONFIG_PINCTRL_MT8518 is not set ++CONFIG_POWER=y ++# CONFIG_POWER_LEGACY is not set ++# CONFIG_ACPI_PMC is not set ++ ++# ++# Power Domain Support ++# ++CONFIG_POWER_DOMAIN=y ++# CONFIG_APPLE_PMGR_POWER_DOMAIN is not set ++CONFIG_MTK_POWER_DOMAIN=y ++# CONFIG_DM_PMIC is not set ++# CONFIG_PMIC_TPS65217 is not set ++# CONFIG_POWER_TPS65218 is not set ++# CONFIG_POWER_TPS62362 is not set ++# CONFIG_DM_REGULATOR is not set ++# CONFIG_TPS6586X_POWER is not set ++# CONFIG_POWER_MT6323 is not set ++CONFIG_DM_PWM=y ++# CONFIG_PWM_ASPEED is not set ++# CONFIG_PWM_CADENCE_TTC is not set ++# CONFIG_PWM_CROS_EC is not set ++# CONFIG_PWM_EXYNOS is not set ++# CONFIG_PWM_IMX is not set ++# CONFIG_PWM_MESON is not set ++CONFIG_PWM_MTK=y ++# CONFIG_PWM_ROCKCHIP is not set ++# CONFIG_PWM_SANDBOX is not set ++# CONFIG_PWM_SIFIVE is not set ++# CONFIG_PWM_TEGRA is not set ++# CONFIG_PWM_SUNXI is not set ++# CONFIG_U_QE is not set ++# CONFIG_RAM is not set ++ ++# ++# Reboot Mode Support ++# ++# CONFIG_DM_REBOOT_MODE is not set ++ ++# ++# Remote Processor drivers ++# ++ ++# ++# Reset Controller Support ++# ++# CONFIG_RESET_AST2500 is not set ++# CONFIG_RESET_AST2600 is not set ++CONFIG_RESET_MEDIATEK=y ++# CONFIG_RESET_HISILICON is not set ++# CONFIG_RESET_SYSCON is not set ++# CONFIG_RESET_SCMI is not set ++# CONFIG_RESET_DRA7 is not set ++# CONFIG_DM_RNG is not set ++ ++# ++# Real Time Clock ++# ++# CONFIG_DM_RTC is not set ++# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set ++# CONFIG_RTC_DS1337 is not set ++# CONFIG_RTC_DS1338 is not set ++# CONFIG_RTC_DS1374 is not set ++# CONFIG_RTC_DS3231 is not set ++# CONFIG_RTC_PCF8563 is not set ++# CONFIG_RTC_PT7C4338 is not set ++# CONFIG_RTC_PL031 is not set ++# CONFIG_RTC_S35392A is not set ++# CONFIG_RTC_MC13XXX is not set ++# CONFIG_RTC_MC146818 is not set ++# CONFIG_RTC_M41T62 is not set ++# CONFIG_SCSI is not set ++# CONFIG_DM_SCSI is not set ++CONFIG_SERIAL=y ++CONFIG_BAUDRATE=115200 ++# CONFIG_DEFAULT_ENV_IS_RW is not set ++CONFIG_REQUIRE_SERIAL_CONSOLE=y ++# CONFIG_SPECIFY_CONSOLE_INDEX is not set ++CONFIG_SERIAL_PRESENT=y ++CONFIG_DM_SERIAL=y ++# CONFIG_SERIAL_RX_BUFFER is not set ++# CONFIG_SERIAL_PUTS is not set ++# CONFIG_SERIAL_SEARCH_ALL is not set ++# CONFIG_SERIAL_PROBE_ALL is not set ++# CONFIG_VPL_DM_SERIAL is not set ++CONFIG_DEBUG_UART_MTK=y ++CONFIG_DEBUG_UART_SHIFT=0 ++# CONFIG_DEBUG_UART_ANNOUNCE is not set ++# CONFIG_DEBUG_UART_SKIP_INIT is not set ++# CONFIG_ALTERA_JTAG_UART is not set ++# CONFIG_ALTERA_UART is not set ++# CONFIG_ARC_SERIAL is not set ++# CONFIG_ARM_DCC is not set ++# CONFIG_ATMEL_USART is not set ++# CONFIG_BCM6345_SERIAL is not set ++# CONFIG_COREBOOT_SERIAL is not set ++# CONFIG_CORTINA_UART is not set ++# CONFIG_FSL_LINFLEXUART is not set ++# CONFIG_FSL_LPUART is not set ++# CONFIG_MVEBU_A3700_UART is not set ++# CONFIG_MCFUART is not set ++# CONFIG_NULLDEV_SERIAL is not set ++# CONFIG_SYS_NS16550 is not set ++# CONFIG_PL01X_SERIAL is not set ++# CONFIG_ROCKCHIP_SERIAL is not set ++# CONFIG_XILINX_UARTLITE is not set ++# CONFIG_MSM_SERIAL is not set ++# CONFIG_MSM_GENI_SERIAL is not set ++# CONFIG_MXS_AUART_SERIAL is not set ++# CONFIG_OMAP_SERIAL is not set ++# CONFIG_SIFIVE_SERIAL is not set ++# CONFIG_ZYNQ_SERIAL is not set ++CONFIG_MTK_SERIAL=y ++# CONFIG_MT7620_SERIAL is not set ++# CONFIG_NPCM_SERIAL is not set ++# CONFIG_SM is not set ++# CONFIG_MESON_SM is not set ++# CONFIG_SMEM is not set ++ ++# ++# Sound support ++# ++# CONFIG_SOUND is not set ++ ++# ++# SOC (System On Chip) specific Drivers ++# ++# CONFIG_SOC_DEVICE is not set ++# CONFIG_SOC_TI is not set ++CONFIG_SPI=y ++CONFIG_DM_SPI=y ++CONFIG_SPI_MEM=y ++# CONFIG_SPI_DIRMAP is not set ++# CONFIG_ALTERA_SPI is not set ++# CONFIG_APPLE_SPI is not set ++# CONFIG_ATCSPI200_SPI is not set ++# CONFIG_ATMEL_SPI is not set ++# CONFIG_BCMSTB_SPI is not set ++# CONFIG_CORTINA_SFLASH is not set ++# CONFIG_CADENCE_QSPI is not set ++# CONFIG_CF_SPI is not set ++# CONFIG_DESIGNWARE_SPI is not set ++# CONFIG_EXYNOS_SPI is not set ++# CONFIG_FSL_DSPI is not set ++# CONFIG_FSL_QSPI is not set ++# CONFIG_GXP_SPI is not set ++# CONFIG_ICH_SPI is not set ++# CONFIG_IPROC_QSPI is not set ++# CONFIG_KIRKWOOD_SPI is not set ++# CONFIG_MICROCHIP_COREQSPI is not set ++# CONFIG_MPC8XXX_SPI is not set ++# CONFIG_MTK_SNOR is not set ++# CONFIG_MTK_SNFI_SPI is not set ++CONFIG_MTK_SPIM=y ++# CONFIG_MVEBU_A3700_SPI is not set ++# CONFIG_MXS_SPI is not set ++# CONFIG_SPI_MXIC is not set ++# CONFIG_NPCM_FIU_SPI is not set ++# CONFIG_NPCM_PSPI is not set ++# CONFIG_NXP_FSPI is not set ++# CONFIG_OMAP3_SPI is not set ++# CONFIG_PL022_SPI is not set ++# CONFIG_ROCKCHIP_SFC is not set ++# CONFIG_ROCKCHIP_SPI is not set ++# CONFIG_SPI_ASPEED_SMC is not set ++# CONFIG_SPI_SIFIVE is not set ++# CONFIG_SOFT_SPI is not set ++# CONFIG_SPI_SN_F_OSPI is not set ++# CONFIG_SPI_SUNXI is not set ++# CONFIG_TEGRA114_SPI is not set ++# CONFIG_TEGRA20_SFLASH is not set ++# CONFIG_TEGRA20_SLINK is not set ++# CONFIG_TEGRA210_QSPI is not set ++# CONFIG_TI_QSPI is not set ++# CONFIG_XILINX_SPI is not set ++# CONFIG_ZYNQ_SPI is not set ++# CONFIG_ZYNQ_QSPI is not set ++# CONFIG_ZYNQMP_GQSPI is not set ++# CONFIG_SH_QSPI is not set ++# CONFIG_MXC_SPI is not set ++ ++# ++# SPMI support ++# ++# CONFIG_SPMI is not set ++# CONFIG_SYSINFO is not set ++ ++# ++# System reset device drivers ++# ++# CONFIG_SYSRESET is not set ++# CONFIG_TEE is not set ++# CONFIG_DM_THERMAL is not set ++ ++# ++# Timer Support ++# ++# CONFIG_TIMER is not set ++ ++# ++# TPM support ++# ++CONFIG_USB=y ++CONFIG_DM_USB=y ++# CONFIG_DM_USB_GADGET is not set ++ ++# ++# USB Host Controller Drivers ++# ++CONFIG_USB_HOST=y ++CONFIG_USB_XHCI_HCD=y ++# CONFIG_USB_XHCI_DWC3 is not set ++# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set ++CONFIG_USB_XHCI_MTK=y ++# CONFIG_USB_XHCI_FSL is not set ++# CONFIG_USB_XHCI_BRCM is not set ++# CONFIG_USB_EHCI_HCD is not set ++# CONFIG_USB_OHCI_HCD is not set ++# CONFIG_USB_UHCI_HCD is not set ++# CONFIG_USB_DWC2 is not set ++# CONFIG_USB_R8A66597_HCD is not set ++# CONFIG_USB_ISP1760 is not set ++# CONFIG_USB_CDNS3 is not set ++# CONFIG_USB_DWC3 is not set ++# CONFIG_USB_MTU3 is not set ++ ++# ++# Legacy MUSB Support ++# ++# CONFIG_USB_MUSB_HCD is not set ++# CONFIG_USB_MUSB_UDC is not set ++ ++# ++# MUSB Controller Driver ++# ++# CONFIG_USB_MUSB_HOST is not set ++# CONFIG_USB_MUSB_PIO_ONLY is not set ++ ++# ++# USB Phy ++# ++# CONFIG_TWL4030_USB is not set ++# CONFIG_ROCKCHIP_USB2_PHY is not set ++ ++# ++# ULPI drivers ++# ++ ++# ++# USB peripherals ++# ++CONFIG_USB_STORAGE=y ++# CONFIG_USB_KEYBOARD is not set ++# CONFIG_USB_ONBOARD_HUB is not set ++CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 ++# CONFIG_USB_HOST_ETHER is not set ++# CONFIG_USB_GADGET is not set ++# CONFIG_SPL_USB_GADGET is not set ++ ++# ++# UFS Host Controller Support ++# ++# CONFIG_TI_J721E_UFS is not set ++ ++# ++# Graphics support ++# ++# CONFIG_VIDEO is not set ++ ++# ++# VirtIO Drivers ++# ++# CONFIG_VIRTIO_MMIO is not set ++ ++# ++# 1-Wire support ++# ++# CONFIG_W1 is not set ++ ++# ++# 1-wire EEPROM support ++# ++# CONFIG_W1_EEPROM is not set ++ ++# ++# Watchdog Timer Support ++# ++# CONFIG_WATCHDOG is not set ++CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 ++# CONFIG_IMX_WATCHDOG is not set ++# CONFIG_ULP_WATCHDOG is not set ++# CONFIG_WDT is not set ++# CONFIG_PHYS_TO_BUS is not set ++ ++# ++# File systems ++# ++# CONFIG_FS_BTRFS is not set ++# CONFIG_FS_CBFS is not set ++# CONFIG_FS_EXT4 is not set ++CONFIG_FS_FAT=y ++CONFIG_FAT_WRITE=y ++CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 ++# CONFIG_FS_JFFS2 is not set ++CONFIG_UBIFS_SILENCE_MSG=y ++CONFIG_UBIFS_SILENCE_DEBUG_DUMP=y ++# CONFIG_FS_CRAMFS is not set ++# CONFIG_YAFFS2 is not set ++# CONFIG_FS_SQUASHFS is not set ++# CONFIG_FS_EROFS is not set ++ ++# ++# Library routines ++# ++# CONFIG_ADDR_MAP is not set ++# CONFIG_SYS_TIMER_COUNTS_DOWN is not set ++# CONFIG_PHYSMEM is not set ++# CONFIG_BCH is not set ++# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set ++CONFIG_CHARSET=y ++# CONFIG_DYNAMIC_CRC_TABLE is not set ++CONFIG_LIB_UUID=y ++# CONFIG_SEMIHOSTING is not set ++CONFIG_PRINTF=y ++CONFIG_SPRINTF=y ++CONFIG_STRTO=y ++CONFIG_SYS_HZ=1000 ++# CONFIG_PANIC_HANG is not set ++CONFIG_REGEX=y ++CONFIG_LIB_RAND=y ++# CONFIG_LIB_HW_RAND is not set ++CONFIG_SUPPORT_ACPI=y ++# CONFIG_ACPI is not set ++CONFIG_RBTREE=y ++# CONFIG_BITREVERSE is not set ++# CONFIG_TRACE is not set ++# CONFIG_CIRCBUF is not set ++# CONFIG_CMD_DHRYSTONE is not set ++ ++# ++# Security support ++# ++# CONFIG_AES is not set ++# CONFIG_ECDSA is not set ++# CONFIG_RSA is not set ++# CONFIG_TPM is not set ++ ++# ++# Android Verified Boot ++# ++ ++# ++# Hashing Support ++# ++# CONFIG_BLAKE2 is not set ++CONFIG_SHA1=y ++CONFIG_SHA256=y ++# CONFIG_SHA512 is not set ++# CONFIG_SHA384 is not set ++# CONFIG_SHA_HW_ACCEL is not set ++CONFIG_MD5=y ++CONFIG_CRC8=y ++CONFIG_CRC32=y ++ ++# ++# Compression Support ++# ++# CONFIG_LZ4 is not set ++CONFIG_LZMA=y ++CONFIG_LZO=y ++CONFIG_GZIP=y ++# CONFIG_ZLIB_UNCOMPRESS is not set ++# CONFIG_BZIP2 is not set ++CONFIG_ZLIB=y ++# CONFIG_ZSTD is not set ++CONFIG_VPL_LZMA=y ++# CONFIG_SPL_GZIP is not set ++# CONFIG_ERRNO_STR is not set ++CONFIG_HEXDUMP=y ++# CONFIG_GETOPT is not set ++CONFIG_OF_LIBFDT=y ++CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 ++CONFIG_SYS_FDT_PAD=0x3000 ++ ++# ++# System tables ++# ++CONFIG_GENERATE_SMBIOS_TABLE=y ++# CONFIG_LIB_RATIONAL is not set ++CONFIG_SMBIOS=y ++# CONFIG_SMBIOS_PARSER is not set ++CONFIG_EFI_LOADER=y ++CONFIG_CMD_BOOTEFI_BOOTMGR=y ++CONFIG_EFI_VARIABLE_FILE_STORE=y ++# CONFIG_EFI_VARIABLE_NO_STORE is not set ++# CONFIG_EFI_VARIABLES_PRESEED is not set ++CONFIG_EFI_VAR_BUF_SIZE=131072 ++# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set ++# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set ++CONFIG_EFI_CAPSULE_MAX=15 ++CONFIG_EFI_DEVICE_PATH_TO_TEXT=y ++CONFIG_EFI_DEVICE_PATH_UTIL=y ++CONFIG_EFI_DT_FIXUP=y ++CONFIG_EFI_LOADER_HII=y ++CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y ++CONFIG_EFI_UNICODE_CAPITALIZATION=y ++# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set ++CONFIG_EFI_PLATFORM_LANG_CODES="en-US" ++CONFIG_EFI_HAVE_RUNTIME_RESET=y ++CONFIG_EFI_LOAD_FILE2_INITRD=y ++CONFIG_EFI_ECPT=y ++CONFIG_EFI_EBBR_2_1_CONFORMANCE=y ++# CONFIG_OPTEE_LIB is not set ++# CONFIG_OPTEE_IMAGE is not set ++# CONFIG_BOOTM_OPTEE is not set ++# CONFIG_TEST_FDTDEC is not set ++CONFIG_LIB_ELF=y ++CONFIG_LMB=y ++CONFIG_LMB_USE_MAX_REGIONS=y ++CONFIG_LMB_MAX_REGIONS=64 ++# CONFIG_PHANDLE_CHECK_SEQ is not set ++ ++# ++# Testing ++# ++# CONFIG_UNIT_TEST is not set ++# CONFIG_POST is not set ++ ++# ++# Tools options ++# ++CONFIG_MKIMAGE_DTC_PATH="dtc" ++CONFIG_TOOLS_CRC32=y ++# CONFIG_TOOLS_LIBCRYPTO is not set ++CONFIG_TOOLS_FIT=y ++CONFIG_TOOLS_FIT_FULL_CHECK=y ++CONFIG_TOOLS_FIT_PRINT=y ++CONFIG_TOOLS_FIT_RSASSA_PSS=y ++CONFIG_TOOLS_FIT_SIGNATURE=y ++CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 ++CONFIG_TOOLS_FIT_VERBOSE=y ++CONFIG_TOOLS_MD5=y ++CONFIG_TOOLS_OF_LIBFDT=y ++CONFIG_TOOLS_SHA1=y ++CONFIG_TOOLS_SHA256=y ++CONFIG_TOOLS_SHA384=y ++CONFIG_TOOLS_SHA512=y ++# CONFIG_TOOLS_MKEFICAPSULE is not set ++# CONFIG_FSPI_CONF_HEADER is not set ++# CONFIG_TOOLS_MKFWUMDATA is not set +--- /dev/null ++++ b/configs/mt7981_openwrt-one-spi-nand_defconfig +@@ -0,0 +1,1815 @@ ++# ++# Automatically generated file; DO NOT EDIT. ++# U-Boot 2024.01 Configuration ++# ++ ++# ++# Compiler: aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r25206+8-d5e2177a6b) 12.3.0 ++# ++CONFIG_CREATE_ARCH_SYMLINK=y ++CONFIG_SYS_CACHE_SHIFT_6=y ++CONFIG_SYS_CACHELINE_SIZE=64 ++CONFIG_LINKER_LIST_ALIGN=8 ++# CONFIG_ARC is not set ++CONFIG_ARM=y ++# CONFIG_M68K is not set ++# CONFIG_MICROBLAZE is not set ++# CONFIG_MIPS is not set ++# CONFIG_NIOS2 is not set ++# CONFIG_PPC is not set ++# CONFIG_RISCV is not set ++# CONFIG_SANDBOX is not set ++# CONFIG_SH is not set ++# CONFIG_X86 is not set ++# CONFIG_XTENSA is not set ++CONFIG_SYS_ARCH="arm" ++CONFIG_SYS_CPU="armv8" ++CONFIG_SYS_SOC="mediatek" ++CONFIG_SYS_VENDOR="mediatek" ++CONFIG_SYS_BOARD="mt7981" ++CONFIG_SYS_CONFIG_NAME="mt7981" ++ ++# ++# Skipping low level initialization functions ++# ++# CONFIG_SKIP_LOWLEVEL_INIT is not set ++# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set ++CONFIG_SYS_HAS_NONCACHED_MEMORY=y ++CONFIG_SYS_NONCACHED_MEMORY=0x100000 ++# CONFIG_SYS_ICACHE_OFF is not set ++# CONFIG_SYS_DCACHE_OFF is not set ++ ++# ++# ARM architecture ++# ++CONFIG_ARM64=y ++CONFIG_ARM64_CRC32=y ++CONFIG_COUNTER_FREQUENCY=0 ++CONFIG_POSITION_INDEPENDENT=y ++CONFIG_INIT_SP_RELATIVE=y ++CONFIG_SYS_INIT_SP_BSS_OFFSET=524288 ++# CONFIG_GIC_V3_ITS is not set ++CONFIG_STATIC_RELA=y ++CONFIG_DMA_ADDR_T_64BIT=y ++CONFIG_GPIO_EXTRA_HEADER=y ++CONFIG_ARM_ASM_UNIFIED=y ++# CONFIG_SYS_ARM_CACHE_CP15 is not set ++# CONFIG_SYS_ARM_MMU is not set ++# CONFIG_SYS_ARM_MPU is not set ++CONFIG_SYS_ARM_ARCH=8 ++CONFIG_SYS_ARM_CACHE_WRITEBACK=y ++# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set ++# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set ++# CONFIG_ARCH_CPU_INIT is not set ++CONFIG_SYS_ARCH_TIMER=y ++CONFIG_ARM_SMCCC=y ++# CONFIG_SYS_L2_PL310 is not set ++# CONFIG_SPL_SYS_L2_PL310 is not set ++# CONFIG_SYS_L2CACHE_OFF is not set ++# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set ++# CONFIG_USE_ARCH_MEMCPY is not set ++# CONFIG_USE_ARCH_MEMSET is not set ++CONFIG_ARM64_SUPPORT_AARCH32=y ++# CONFIG_ARCH_AT91 is not set ++# CONFIG_ARCH_DAVINCI is not set ++# CONFIG_ARCH_HISTB is not set ++# CONFIG_ARCH_KIRKWOOD is not set ++# CONFIG_ARCH_MVEBU is not set ++# CONFIG_ARCH_ORION5X is not set ++# CONFIG_TARGET_STV0991 is not set ++# CONFIG_ARCH_BCM283X is not set ++# CONFIG_ARCH_BCMSTB is not set ++# CONFIG_ARCH_BCMBCA is not set ++# CONFIG_TARGET_VEXPRESS_CA9X4 is not set ++# CONFIG_TARGET_BCMNS is not set ++# CONFIG_TARGET_BCMNS2 is not set ++# CONFIG_TARGET_BCMNS3 is not set ++# CONFIG_ARCH_EXYNOS is not set ++# CONFIG_ARCH_S5PC1XX is not set ++# CONFIG_ARCH_HIGHBANK is not set ++# CONFIG_ARCH_INTEGRATOR is not set ++# CONFIG_ARCH_IPQ40XX is not set ++# CONFIG_ARCH_KEYSTONE is not set ++# CONFIG_ARCH_K3 is not set ++# CONFIG_ARCH_OMAP2PLUS is not set ++# CONFIG_ARCH_MESON is not set ++CONFIG_ARCH_MEDIATEK=y ++# CONFIG_ARCH_LPC32XX is not set ++# CONFIG_ARCH_IMX8 is not set ++# CONFIG_ARCH_IMX8M is not set ++# CONFIG_ARCH_IMX8ULP is not set ++# CONFIG_ARCH_IMX9 is not set ++# CONFIG_ARCH_IMXRT is not set ++# CONFIG_ARCH_MX23 is not set ++# CONFIG_ARCH_MX28 is not set ++# CONFIG_ARCH_MX31 is not set ++# CONFIG_ARCH_MX7ULP is not set ++# CONFIG_ARCH_MX7 is not set ++# CONFIG_ARCH_MX6 is not set ++# CONFIG_ARCH_MX5 is not set ++# CONFIG_ARCH_NEXELL is not set ++# CONFIG_ARCH_NPCM is not set ++# CONFIG_ARCH_APPLE is not set ++# CONFIG_ARCH_OWL is not set ++# CONFIG_ARCH_QEMU is not set ++# CONFIG_ARCH_RMOBILE is not set ++# CONFIG_ARCH_SNAPDRAGON is not set ++# CONFIG_ARCH_SOCFPGA is not set ++# CONFIG_ARCH_SUNXI is not set ++# CONFIG_ARCH_U8500 is not set ++# CONFIG_ARCH_VERSAL is not set ++# CONFIG_ARCH_VERSAL_NET is not set ++# CONFIG_ARCH_VF610 is not set ++# CONFIG_ARCH_ZYNQ is not set ++# CONFIG_ARCH_ZYNQMP_R5 is not set ++# CONFIG_ARCH_ZYNQMP is not set ++# CONFIG_ARCH_TEGRA is not set ++# CONFIG_ARCH_VEXPRESS64 is not set ++# CONFIG_TARGET_CORSTONE1000 is not set ++# CONFIG_TARGET_TOTAL_COMPUTE is not set ++# CONFIG_TARGET_LS2080A_EMU is not set ++# CONFIG_TARGET_LS1088AQDS is not set ++# CONFIG_TARGET_LS2080AQDS is not set ++# CONFIG_TARGET_LS2080ARDB is not set ++# CONFIG_TARGET_LS2081ARDB is not set ++# CONFIG_TARGET_LX2160ARDB is not set ++# CONFIG_TARGET_LX2160AQDS is not set ++# CONFIG_TARGET_LX2162AQDS is not set ++# CONFIG_TARGET_HIKEY is not set ++# CONFIG_TARGET_HIKEY960 is not set ++# CONFIG_TARGET_POPLAR is not set ++# CONFIG_TARGET_LS1012AQDS is not set ++# CONFIG_TARGET_LS1012ARDB is not set ++# CONFIG_TARGET_LS1012A2G5RDB is not set ++# CONFIG_TARGET_LS1012AFRWY is not set ++# CONFIG_TARGET_LS1012AFRDM is not set ++# CONFIG_TARGET_LS1028AQDS is not set ++# CONFIG_TARGET_LS1028ARDB is not set ++# CONFIG_TARGET_LS1088ARDB is not set ++# CONFIG_TARGET_LS1021AQDS is not set ++# CONFIG_TARGET_LS1021ATWR is not set ++# CONFIG_TARGET_PG_WCOM_SELI8 is not set ++# CONFIG_TARGET_PG_WCOM_EXPU1 is not set ++# CONFIG_TARGET_LS1021ATSN is not set ++# CONFIG_TARGET_LS1021AIOT is not set ++# CONFIG_TARGET_LS1043AQDS is not set ++# CONFIG_TARGET_LS1043ARDB is not set ++# CONFIG_TARGET_LS1046AQDS is not set ++# CONFIG_TARGET_LS1046ARDB is not set ++# CONFIG_TARGET_LS1046AFRWY is not set ++# CONFIG_TARGET_SL28 is not set ++# CONFIG_TARGET_TEN64 is not set ++# CONFIG_ARCH_UNIPHIER is not set ++# CONFIG_ARCH_SYNQUACER is not set ++# CONFIG_ARCH_STM32 is not set ++# CONFIG_ARCH_STI is not set ++# CONFIG_ARCH_STM32MP is not set ++# CONFIG_ARCH_ROCKCHIP is not set ++# CONFIG_ARCH_OCTEONTX is not set ++# CONFIG_ARCH_OCTEONTX2 is not set ++# CONFIG_TARGET_THUNDERX_88XX is not set ++# CONFIG_ARCH_ASPEED is not set ++# CONFIG_TARGET_DURIAN is not set ++# CONFIG_TARGET_POMELO is not set ++# CONFIG_TARGET_PRESIDIO_ASIC is not set ++# CONFIG_TARGET_XENGUEST_ARM64 is not set ++# CONFIG_ARCH_GXP is not set ++# CONFIG_STATIC_MACH_TYPE is not set ++CONFIG_TEXT_BASE=0x41e00000 ++CONFIG_SYS_MALLOC_LEN=0x400000 ++CONFIG_SYS_MALLOC_F_LEN=0x4000 ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_ENV_SOURCE_FILE="" ++CONFIG_SF_DEFAULT_SPEED=1000000 ++CONFIG_SF_DEFAULT_MODE=0x0 ++CONFIG_ENV_SIZE=0x1f000 ++CONFIG_DM_GPIO=y ++CONFIG_DEFAULT_DEVICE_TREE="openwrt-one" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000 ++CONFIG_DM_RESET=y ++CONFIG_SYS_MONITOR_LEN=0 ++# CONFIG_MT8512 is not set ++# CONFIG_TARGET_MT7622 is not set ++# CONFIG_TARGET_MT7623 is not set ++# CONFIG_TARGET_MT7629 is not set ++CONFIG_TARGET_MT7981=y ++# CONFIG_TARGET_MT7986 is not set ++# CONFIG_TARGET_MT7988 is not set ++# CONFIG_TARGET_MT8183 is not set ++# CONFIG_TARGET_MT8512 is not set ++# CONFIG_TARGET_MT8516 is not set ++# CONFIG_TARGET_MT8518 is not set ++CONFIG_MTK_BROM_HEADER_INFO="media=snand;nandinfo=2k+64" ++CONFIG_RESET_BUTTON_LABEL="back" ++CONFIG_RESET_BUTTON_SETTLE_DELAY=0 ++CONFIG_ERR_PTR_OFFSET=0x0 ++# CONFIG_SPL is not set ++CONFIG_BOOTSTAGE_STASH_ADDR=0x0 ++CONFIG_DEBUG_UART_BASE=0x11002000 ++CONFIG_DEBUG_UART_CLOCK=40000000 ++# CONFIG_DEBUG_UART_BOARD_INIT is not set ++CONFIG_IDENT_STRING="" ++CONFIG_SYS_CLK_FREQ=0 ++# CONFIG_CHIP_DIP_SCAN is not set ++# CONFIG_CMO_BY_VA_ONLY is not set ++# CONFIG_ARMV8_MULTIENTRY is not set ++# CONFIG_ARMV8_SET_SMPEN is not set ++# CONFIG_ARMV8_SWITCH_TO_EL1 is not set ++ ++# ++# ARMv8 secure monitor firmware ++# ++# CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT is not set ++CONFIG_PSCI_RESET=y ++# CONFIG_ARMV8_PSCI is not set ++# CONFIG_ARMV8_EA_EL3_FIRST is not set ++# CONFIG_ARMV8_CRYPTO is not set ++# CONFIG_CMD_DEKBLOB is not set ++# CONFIG_IMX_CAAM_DEK_ENCAP is not set ++# CONFIG_IMX_OPTEE_DEK_ENCAP is not set ++# CONFIG_IMX_SECO_DEK_ENCAP is not set ++# CONFIG_IMX_ELE_DEK_ENCAP is not set ++# CONFIG_CMD_HDMIDETECT is not set ++CONFIG_IMX_DCD_ADDR=0x00910000 ++CONFIG_SYS_MEM_TOP_HIDE=0x0 ++CONFIG_SYS_LOAD_ADDR=0x46000000 ++ ++# ++# ARM debug ++# ++CONFIG_BUILD_TARGET="" ++# CONFIG_PCI is not set ++CONFIG_FWU_NUM_BANKS=2 ++CONFIG_FWU_NUM_IMAGES_PER_BANK=2 ++CONFIG_DEBUG_UART=y ++# CONFIG_AHCI is not set ++# CONFIG_OF_BOARD_FIXUP is not set ++ ++# ++# Functionality shared between NXP SoCs ++# ++# CONFIG_NXP_ESBC is not set ++ ++# ++# General setup ++# ++CONFIG_LOCALVERSION="" ++CONFIG_LOCALVERSION_AUTO=y ++CONFIG_CC_IS_GCC=y ++CONFIG_GCC_VERSION=120300 ++CONFIG_CLANG_VERSION=0 ++CONFIG_CC_OPTIMIZE_FOR_SIZE=y ++# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set ++# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set ++# CONFIG_OPTIMIZE_INLINING is not set ++CONFIG_ARCH_SUPPORTS_LTO=y ++# CONFIG_LTO is not set ++CONFIG_CC_HAS_ASM_INLINE=y ++# CONFIG_XEN is not set ++# CONFIG_ENV_VARS_UBOOT_CONFIG is not set ++# CONFIG_SYS_BOOT_GET_CMDLINE is not set ++# CONFIG_SYS_BOOT_GET_KBD is not set ++CONFIG_SYS_MALLOC_F=y ++# CONFIG_VALGRIND is not set ++CONFIG_EXPERT=y ++CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y ++# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set ++# CONFIG_TOOLS_DEBUG is not set ++CONFIG_PHYS_64BIT=y ++CONFIG_FDT_64BIT=y ++# CONFIG_REMAKE_ELF is not set ++# CONFIG_HAS_BOARD_SIZE_LIMIT is not set ++# CONFIG_SYS_CUSTOM_LDSCRIPT is not set ++CONFIG_PLATFORM_ELFENTRY="_start" ++CONFIG_STACK_SIZE=0x1000000 ++CONFIG_SYS_SRAM_BASE=0x0 ++CONFIG_SYS_SRAM_SIZE=0x0 ++# CONFIG_MP is not set ++CONFIG_HAVE_TEXT_BASE=y ++# CONFIG_HAVE_SYS_UBOOT_START is not set ++CONFIG_SYS_UBOOT_START=0x41e00000 ++# CONFIG_DYNAMIC_SYS_CLK_FREQ is not set ++# CONFIG_API is not set ++ ++# ++# Boot options ++# ++ ++# ++# Boot images ++# ++# CONFIG_ANDROID_BOOT_IMAGE is not set ++# CONFIG_TIMESTAMP is not set ++CONFIG_FIT=y ++CONFIG_FIT_EXTERNAL_OFFSET=0x0 ++CONFIG_FIT_FULL_CHECK=y ++# CONFIG_FIT_SIGNATURE is not set ++# CONFIG_FIT_CIPHER is not set ++# CONFIG_FIT_VERBOSE is not set ++# CONFIG_FIT_BEST_MATCH is not set ++CONFIG_FIT_PRINT=y ++# CONFIG_SPL_LOAD_FIT_FULL is not set ++CONFIG_PXE_UTILS=y ++CONFIG_BOOTSTD=y ++# CONFIG_BOOTSTD_FULL is not set ++# CONFIG_BOOTSTD_DEFAULTS is not set ++CONFIG_BOOTSTD_BOOTCOMMAND=y ++CONFIG_BOOTMETH_GLOBAL=y ++# CONFIG_BOOTMETH_CROS is not set ++CONFIG_BOOTMETH_EXTLINUX=y ++CONFIG_BOOTMETH_EXTLINUX_PXE=y ++CONFIG_BOOTMETH_EFILOADER=y ++CONFIG_BOOTMETH_VBE=y ++CONFIG_BOOTMETH_VBE_REQUEST=y ++CONFIG_BOOTMETH_VBE_SIMPLE=y ++CONFIG_BOOTMETH_VBE_SIMPLE_OS=y ++# CONFIG_BOOTMETH_SCRIPT is not set ++CONFIG_LEGACY_IMAGE_FORMAT=y ++# CONFIG_SUPPORT_RAW_INITRD is not set ++# CONFIG_CHROMEOS is not set ++# CONFIG_CHROMEOS_VBOOT is not set ++# CONFIG_RAMBOOT_PBL is not set ++CONFIG_SYS_BOOT_RAMDISK_HIGH=y ++# CONFIG_DISTRO_DEFAULTS is not set ++ ++# ++# Boot timing ++# ++# CONFIG_BOOTSTAGE is not set ++CONFIG_BOOTSTAGE_STASH_SIZE=0x1000 ++# CONFIG_SHOW_BOOT_PROGRESS is not set ++ ++# ++# Boot media ++# ++CONFIG_NAND_BOOT=y ++# CONFIG_ONENAND_BOOT is not set ++# CONFIG_QSPI_BOOT is not set ++# CONFIG_SATA_BOOT is not set ++# CONFIG_SD_BOOT is not set ++# CONFIG_SD_BOOT_QSPI is not set ++CONFIG_SPI_BOOT=y ++ ++# ++# Autoboot options ++# ++CONFIG_AUTOBOOT=y ++CONFIG_BOOTDELAY=2 ++# CONFIG_AUTOBOOT_KEYED is not set ++# CONFIG_AUTOBOOT_USE_MENUKEY is not set ++CONFIG_AUTOBOOT_MENU_SHOW=y ++# CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is not set ++# CONFIG_BOOT_RETRY is not set ++ ++# ++# Image support ++# ++# CONFIG_IMAGE_PRE_LOAD is not set ++ ++# ++# Devicetree fixup ++# ++# CONFIG_OF_BOARD_SETUP is not set ++# CONFIG_OF_SYSTEM_SETUP is not set ++# CONFIG_OF_STDOUT_VIA_ALIAS is not set ++# CONFIG_FDT_FIXUP_PARTITIONS is not set ++# CONFIG_FDT_SIMPLEFB is not set ++CONFIG_ARCH_FIXUP_FDT_MEMORY=y ++# CONFIG_USE_BOOTARGS is not set ++# CONFIG_BOOTARGS_SUBST is not set ++# CONFIG_USE_BOOTCOMMAND is not set ++CONFIG_USE_PREBOOT=y ++CONFIG_DEFAULT_FDT_FILE="openwrt-one" ++# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set ++# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set ++ ++# ++# Configuration editor ++# ++# CONFIG_CEDIT is not set ++ ++# ++# Console ++# ++CONFIG_MENU=y ++# CONFIG_CONSOLE_RECORD is not set ++# CONFIG_DISABLE_CONSOLE is not set ++CONFIG_LOGLEVEL=7 ++# CONFIG_SILENT_CONSOLE is not set ++# CONFIG_SPL_SILENT_CONSOLE is not set ++# CONFIG_TPL_SILENT_CONSOLE is not set ++# CONFIG_PRE_CONSOLE_BUFFER is not set ++CONFIG_CONSOLE_FLUSH_SUPPORT=y ++# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set ++# CONFIG_CONSOLE_MUX is not set ++# CONFIG_SYS_CONSOLE_IS_IN_ENV is not set ++# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set ++# CONFIG_SYS_CONSOLE_INFO_QUIET is not set ++# CONFIG_SYS_STDIO_DEREGISTER is not set ++# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set ++# CONFIG_SYS_DEVICE_NULLDEV is not set ++ ++# ++# Logging ++# ++CONFIG_LOG=y ++CONFIG_LOG_MAX_LEVEL=6 ++CONFIG_LOG_DEFAULT_LEVEL=6 ++CONFIG_LOG_CONSOLE=y ++# CONFIG_LOGF_FILE is not set ++# CONFIG_LOGF_LINE is not set ++# CONFIG_LOGF_FUNC is not set ++CONFIG_LOGF_FUNC_PAD=20 ++# CONFIG_LOG_SYSLOG is not set ++# CONFIG_LOG_ERROR_RETURN is not set ++ ++# ++# Init options ++# ++# CONFIG_BOARD_TYPES is not set ++CONFIG_DISPLAY_CPUINFO=y ++CONFIG_DISPLAY_BOARDINFO=y ++# CONFIG_DISPLAY_BOARDINFO_LATE is not set ++ ++# ++# Start-up hooks ++# ++# CONFIG_CYCLIC is not set ++CONFIG_EVENT=y ++CONFIG_EVENT_DYNAMIC=y ++# CONFIG_EVENT_DEBUG is not set ++# CONFIG_ARCH_MISC_INIT is not set ++# CONFIG_BOARD_EARLY_INIT_F is not set ++# CONFIG_BOARD_EARLY_INIT_R is not set ++# CONFIG_BOARD_POSTCLK_INIT is not set ++CONFIG_BOARD_LATE_INIT=y ++# CONFIG_CLOCKS is not set ++# CONFIG_HWCONFIG is not set ++CONFIG_LAST_STAGE_INIT=y ++# CONFIG_MISC_INIT_R is not set ++# CONFIG_SYS_MALLOC_BOOTPARAMS is not set ++# CONFIG_ID_EEPROM is not set ++# CONFIG_RESET_PHY_R is not set ++ ++# ++# Security support ++# ++CONFIG_HASH=y ++# CONFIG_STACKPROTECTOR is not set ++# CONFIG_BOARD_RNG_SEED is not set ++ ++# ++# Update support ++# ++# CONFIG_UPDATE_TFTP is not set ++# CONFIG_ANDROID_AB is not set ++ ++# ++# Blob list ++# ++# CONFIG_BLOBLIST is not set ++CONFIG_SUPPORT_SPL=y ++# CONFIG_VPL is not set ++ ++# ++# Command line interface ++# ++CONFIG_CMDLINE=y ++CONFIG_HUSH_PARSER=y ++CONFIG_CMDLINE_EDITING=y ++# CONFIG_CMDLINE_PS_SUPPORT is not set ++CONFIG_AUTO_COMPLETE=y ++CONFIG_SYS_LONGHELP=y ++CONFIG_SYS_PROMPT="OpenWrt One> " ++CONFIG_SYS_PROMPT_HUSH_PS2="> " ++CONFIG_SYS_MAXARGS=16 ++CONFIG_SYS_CBSIZE=512 ++CONFIG_SYS_PBSIZE=1049 ++CONFIG_SYS_XTRACE=y ++CONFIG_BUILD_BIN2C=y ++ ++# ++# Commands ++# ++ ++# ++# Info commands ++# ++CONFIG_CMD_BDI=y ++# CONFIG_CMD_BDINFO_EXTRA is not set ++# CONFIG_CMD_CONFIG is not set ++CONFIG_CMD_CONSOLE=y ++CONFIG_CMD_CPU=y ++# CONFIG_CMD_HISTORY is not set ++CONFIG_CMD_LICENSE=y ++# CONFIG_CMD_PMC is not set ++ ++# ++# Boot commands ++# ++CONFIG_CMD_BOOTD=y ++CONFIG_CMD_BOOTM=y ++# CONFIG_CMD_BOOTDEV is not set ++CONFIG_CMD_BOOTFLOW=y ++# CONFIG_CMD_BOOTMETH is not set ++CONFIG_BOOTM_EFI=y ++# CONFIG_CMD_BOOTZ is not set ++CONFIG_CMD_BOOTI=y ++CONFIG_BOOTM_LINUX=y ++# CONFIG_BOOTM_NETBSD is not set ++# CONFIG_BOOTM_OPENRTOS is not set ++# CONFIG_BOOTM_OSE is not set ++# CONFIG_BOOTM_PLAN9 is not set ++# CONFIG_BOOTM_RTEMS is not set ++# CONFIG_CMD_VBE is not set ++# CONFIG_BOOTM_VXWORKS is not set ++CONFIG_SYS_BOOTM_LEN=0x4000000 ++CONFIG_CMD_BOOTEFI=y ++CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y ++# CONFIG_CMD_BOOTEFI_HELLO is not set ++# CONFIG_CMD_BOOTEFI_SELFTEST is not set ++CONFIG_CMD_BOOTMENU=y ++# CONFIG_CMD_ADTIMG is not set ++CONFIG_CMD_ELF=y ++CONFIG_CMD_FDT=y ++CONFIG_CMD_GO=y ++CONFIG_CMD_RUN=y ++CONFIG_CMD_IMI=y ++# CONFIG_CMD_IMLS is not set ++CONFIG_CMD_XIMG=y ++# CONFIG_CMD_ZBOOT is not set ++ ++# ++# Environment commands ++# ++CONFIG_CMD_ASKENV=y ++CONFIG_CMD_EXPORTENV=y ++CONFIG_CMD_IMPORTENV=y ++CONFIG_CMD_EDITENV=y ++# CONFIG_CMD_GREPENV is not set ++CONFIG_CMD_SAVEENV=y ++CONFIG_CMD_ERASEENV=y ++CONFIG_CMD_ENV_EXISTS=y ++CONFIG_CMD_ENV_READMEM=y ++# CONFIG_CMD_ENV_CALLBACK is not set ++CONFIG_CMD_ENV_FLAGS=y ++# CONFIG_CMD_NVEDIT_EFI is not set ++# CONFIG_CMD_NVEDIT_INDIRECT is not set ++# CONFIG_CMD_NVEDIT_INFO is not set ++# CONFIG_CMD_NVEDIT_LOAD is not set ++# CONFIG_CMD_NVEDIT_SELECT is not set ++ ++# ++# Memory commands ++# ++# CONFIG_CMD_BINOP is not set ++# CONFIG_CMD_BLOBLIST is not set ++CONFIG_CMD_CRC32=y ++# CONFIG_CRC32_VERIFY is not set ++# CONFIG_CMD_EEPROM is not set ++# CONFIG_LOOPW is not set ++# CONFIG_CMD_MD5SUM is not set ++# CONFIG_CMD_MEMINFO is not set ++CONFIG_CMD_MEMORY=y ++# CONFIG_CMD_MEM_SEARCH is not set ++# CONFIG_CMD_MX_CYCLIC is not set ++CONFIG_CMD_RANDOM=y ++# CONFIG_CMD_MEMTEST is not set ++# CONFIG_CMD_SHA1SUM is not set ++CONFIG_CMD_STRINGS=y ++ ++# ++# Compression commands ++# ++CONFIG_CMD_LZMADEC=y ++# CONFIG_CMD_UNLZ4 is not set ++# CONFIG_CMD_UNZIP is not set ++# CONFIG_CMD_ZIP is not set ++ ++# ++# Device access commands ++# ++# CONFIG_CMD_ARMFLASH is not set ++# CONFIG_CMD_BIND is not set ++# CONFIG_CMD_CLK is not set ++# CONFIG_CMD_DEMO is not set ++# CONFIG_CMD_DFU is not set ++CONFIG_CMD_DM=y ++CONFIG_CMD_FLASH=y ++# CONFIG_CMD_FPGAD is not set ++# CONFIG_CMD_FUSE is not set ++CONFIG_CMD_GPIO=y ++# CONFIG_CMD_GPIO_READ is not set ++CONFIG_CMD_PWM=y ++# CONFIG_CMD_GPT is not set ++# CONFIG_RANDOM_UUID is not set ++# CONFIG_CMD_IDE is not set ++# CONFIG_CMD_IO is not set ++# CONFIG_CMD_IOTRACE is not set ++# CONFIG_CMD_I2C is not set ++CONFIG_CMD_LOADB=y ++# CONFIG_CMD_LOADM is not set ++CONFIG_CMD_LOADS=y ++# CONFIG_LOADS_ECHO is not set ++# CONFIG_CMD_SAVES is not set ++# CONFIG_SYS_LOADS_BAUD_CHANGE is not set ++CONFIG_CMD_LOADXY_TIMEOUT=90 ++# CONFIG_CMD_LSBLK is not set ++# CONFIG_CMD_MBR is not set ++# CONFIG_CMD_CLONE is not set ++CONFIG_CMD_MTD=y ++CONFIG_CMD_NAND_EXT=y ++# CONFIG_CMD_ONENAND is not set ++# CONFIG_CMD_OSD is not set ++# CONFIG_CMD_PART is not set ++CONFIG_CMD_PCI=y ++CONFIG_CMD_PINMUX=y ++# CONFIG_CMD_POWEROFF is not set ++# CONFIG_CMD_READ is not set ++# CONFIG_CMD_SATA is not set ++# CONFIG_CMD_SDRAM is not set ++CONFIG_CMD_SF=y ++CONFIG_CMD_SF_TEST=y ++# CONFIG_CMD_SPI is not set ++# CONFIG_CMD_TSI148 is not set ++# CONFIG_CMD_UNIVERSE is not set ++CONFIG_CMD_USB=y ++# CONFIG_CMD_USB_SDP is not set ++# CONFIG_CMD_RKMTD is not set ++# CONFIG_CMD_WRITE is not set ++ ++# ++# Shell scripting commands ++# ++# CONFIG_CMD_CAT is not set ++CONFIG_CMD_ECHO=y ++CONFIG_CMD_ITEST=y ++CONFIG_CMD_SOURCE=y ++CONFIG_CMD_SETEXPR=y ++# CONFIG_CMD_SETEXPR_FMT is not set ++# CONFIG_CMD_XXD is not set ++ ++# ++# Android support commands ++# ++CONFIG_CMD_NET=y ++CONFIG_CMD_BOOTP=y ++CONFIG_CMD_DHCP=y ++# CONFIG_BOOTP_MAY_FAIL is not set ++CONFIG_BOOTP_BOOTPATH=y ++# CONFIG_BOOTP_VENDOREX is not set ++# CONFIG_BOOTP_BOOTFILESIZE is not set ++CONFIG_BOOTP_DNS=y ++# CONFIG_BOOTP_DNS2 is not set ++CONFIG_BOOTP_GATEWAY=y ++CONFIG_BOOTP_HOSTNAME=y ++# CONFIG_BOOTP_PREFER_SERVERIP is not set ++CONFIG_BOOTP_SUBNETMASK=y ++# CONFIG_BOOTP_NISDOMAIN is not set ++# CONFIG_BOOTP_NTPSERVER is not set ++# CONFIG_BOOTP_TIMEOFFSET is not set ++# CONFIG_CMD_PCAP is not set ++CONFIG_BOOTP_PXE=y ++CONFIG_BOOTP_PXE_CLIENTARCH=0x16 ++# CONFIG_BOOTP_PXE_DHCP_OPTION is not set ++CONFIG_BOOTP_VCI_STRING="U-Boot.armv8" ++CONFIG_CMD_TFTPBOOT=y ++# CONFIG_CMD_TFTPPUT is not set ++CONFIG_CMD_TFTPSRV=y ++CONFIG_NET_TFTP_VARS=y ++CONFIG_CMD_RARP=y ++# CONFIG_CMD_NFS is not set ++# CONFIG_SYS_DISABLE_AUTOLOAD is not set ++# CONFIG_CMD_WGET is not set ++# CONFIG_CMD_MII is not set ++# CONFIG_CMD_MDIO is not set ++CONFIG_CMD_PING=y ++CONFIG_CMD_CDP=y ++CONFIG_CMD_SNTP=y ++CONFIG_CMD_DNS=y ++CONFIG_CMD_LINK_LOCAL=y ++# CONFIG_CMD_ETHSW is not set ++CONFIG_CMD_PXE=y ++# CONFIG_CMD_WOL is not set ++ ++# ++# Misc commands ++# ++# CONFIG_CMD_2048 is not set ++# CONFIG_CMD_BSP is not set ++CONFIG_CMD_BLOCK_CACHE=y ++CONFIG_CMD_BUTTON=y ++CONFIG_CMD_CACHE=y ++# CONFIG_CMD_CONITRACE is not set ++# CONFIG_CMD_CLS is not set ++# CONFIG_CMD_EFIDEBUG is not set ++CONFIG_CMD_EFICONFIG=y ++# CONFIG_CMD_EXCEPTION is not set ++CONFIG_CMD_LED=y ++# CONFIG_CMD_INI is not set ++# CONFIG_CMD_DATE is not set ++# CONFIG_CMD_TIME is not set ++# CONFIG_CMD_GETTIME is not set ++# CONFIG_CMD_PAUSE is not set ++CONFIG_CMD_SLEEP=y ++# CONFIG_CMD_TIMER is not set ++# CONFIG_CMD_SYSBOOT is not set ++# CONFIG_CMD_QFW is not set ++CONFIG_CMD_PSTORE=y ++CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000 ++CONFIG_CMD_PSTORE_MEM_SIZE=0x10000 ++CONFIG_CMD_PSTORE_RECORD_SIZE=0x1000 ++CONFIG_CMD_PSTORE_CONSOLE_SIZE=0x1000 ++CONFIG_CMD_PSTORE_FTRACE_SIZE=0x1000 ++CONFIG_CMD_PSTORE_PMSG_SIZE=0x1000 ++CONFIG_CMD_PSTORE_ECC_SIZE=0 ++# CONFIG_CMD_TERMINAL is not set ++CONFIG_CMD_UUID=y ++ ++# ++# TI specific command line interface ++# ++ ++# ++# Power commands ++# ++ ++# ++# Security commands ++# ++# CONFIG_CMD_AES is not set ++# CONFIG_CMD_BLOB is not set ++CONFIG_CMD_HASH=y ++# CONFIG_CMD_HVC is not set ++CONFIG_CMD_SMC=y ++# CONFIG_HASH_VERIFY is not set ++ ++# ++# Firmware commands ++# ++ ++# ++# Filesystem commands ++# ++# CONFIG_CMD_BTRFS is not set ++# CONFIG_CMD_EROFS is not set ++# CONFIG_CMD_EXT2 is not set ++# CONFIG_CMD_EXT4 is not set ++CONFIG_CMD_FAT=y ++# CONFIG_CMD_SQUASHFS is not set ++CONFIG_CMD_FS_GENERIC=y ++CONFIG_CMD_FS_UUID=y ++# CONFIG_CMD_JFFS2 is not set ++# CONFIG_CMD_MTDPARTS is not set ++CONFIG_MTDIDS_DEFAULT="" ++CONFIG_MTDPARTS_DEFAULT="" ++# CONFIG_CMD_REISER is not set ++# CONFIG_CMD_ZFS is not set ++ ++# ++# Debug commands ++# ++# CONFIG_CMD_DIAG is not set ++# CONFIG_CMD_EVENT is not set ++# CONFIG_CMD_LOG is not set ++CONFIG_CMD_UBI=y ++CONFIG_CMD_UBI_RENAME=y ++CONFIG_CMD_UBIFS=y ++ ++# ++# Partition Types ++# ++CONFIG_PARTITIONS=y ++# CONFIG_MAC_PARTITION is not set ++CONFIG_DOS_PARTITION=y ++# CONFIG_ISO_PARTITION is not set ++# CONFIG_AMIGA_PARTITION is not set ++# CONFIG_EFI_PARTITION is not set ++CONFIG_PARTITION_UUIDS=y ++CONFIG_SUPPORT_OF_CONTROL=y ++ ++# ++# Device Tree Control ++# ++CONFIG_OF_CONTROL=y ++CONFIG_OF_REAL=y ++# CONFIG_OF_LIVE is not set ++CONFIG_OF_SEPARATE=y ++# CONFIG_OF_EMBED is not set ++# CONFIG_OF_BOARD is not set ++# CONFIG_OF_OMIT_DTB is not set ++CONFIG_DEVICE_TREE_INCLUDES="" ++CONFIG_OF_LIST="openwrt-one" ++# CONFIG_MULTI_DTB_FIT is not set ++CONFIG_OF_TAG_MIGRATE=y ++# CONFIG_OF_DTB_PROPS_REMOVE is not set ++ ++# ++# Environment ++# ++CONFIG_ENV_SUPPORT=y ++CONFIG_SAVEENV=y ++CONFIG_ENV_OVERWRITE=y ++CONFIG_ENV_MIN_ENTRIES=64 ++CONFIG_ENV_MAX_ENTRIES=512 ++# CONFIG_ENV_IS_NOWHERE is not set ++# CONFIG_ENV_IS_IN_EEPROM is not set ++# CONFIG_ENV_IS_IN_FAT is not set ++# CONFIG_ENV_IS_IN_EXT4 is not set ++# CONFIG_ENV_IS_IN_FLASH is not set ++# CONFIG_ENV_IS_IN_MTD is not set ++# CONFIG_ENV_IS_IN_NAND is not set ++# CONFIG_ENV_IS_IN_NVRAM is not set ++# CONFIG_ENV_IS_IN_ONENAND is not set ++# CONFIG_ENV_IS_IN_REMOTE is not set ++# CONFIG_ENV_IS_IN_SPI_FLASH is not set ++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_ENV_UBI_VOLUME_CREATE is not set ++CONFIG_ENV_UBI_VID_OFFSET=0 ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_USE_DEFAULT_ENV_FILE=y ++CONFIG_DEFAULT_ENV_FILE="openwrt-one-spi-nand_env" ++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++# CONFIG_ENV_IMPORT_FDT is not set ++# CONFIG_ENV_APPEND is not set ++# CONFIG_ENV_WRITEABLE_LIST is not set ++# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set ++# CONFIG_USE_BOOTFILE is not set ++# CONFIG_USE_ETHPRIME is not set ++# CONFIG_USE_HOSTNAME is not set ++# CONFIG_VERSION_VARIABLE is not set ++CONFIG_NET=y ++CONFIG_ARP_TIMEOUT=5000 ++CONFIG_NET_RETRY_COUNT=5 ++CONFIG_PROT_UDP=y ++CONFIG_BOOTDEV_ETH=y ++# CONFIG_BOOTP_SEND_HOSTNAME is not set ++CONFIG_NET_RANDOM_ETHADDR=y ++# CONFIG_NETCONSOLE is not set ++# CONFIG_IP_DEFRAG is not set ++# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set ++CONFIG_TFTP_BLOCKSIZE=1468 ++# CONFIG_TFTP_PORT is not set ++CONFIG_TFTP_WINDOWSIZE=1 ++# CONFIG_TFTP_TSIZE is not set ++# CONFIG_SERVERIP_FROM_PROXYDHCP is not set ++CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100 ++# CONFIG_KEEP_SERVERADDR is not set ++# CONFIG_UDP_CHECKSUM is not set ++# CONFIG_BOOTP_SERVERIP is not set ++CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64 ++# CONFIG_USE_GATEWAYIP is not set ++# CONFIG_USE_IPADDR is not set ++# CONFIG_USE_NETMASK is not set ++# CONFIG_USE_ROOTPATH is not set ++# CONFIG_USE_SERVERIP is not set ++# CONFIG_PROT_TCP is not set ++# CONFIG_IPV6 is not set ++CONFIG_SYS_RX_ETH_BUFFER=4 ++ ++# ++# Device Drivers ++# ++ ++# ++# Generic Driver Options ++# ++CONFIG_DM=y ++# CONFIG_DM_WARN is not set ++# CONFIG_DM_DEBUG is not set ++# CONFIG_DM_STATS is not set ++CONFIG_DM_DEVICE_REMOVE=y ++CONFIG_DM_EVENT=y ++CONFIG_DM_STDIO=y ++CONFIG_DM_SEQ_ALIAS=y ++# CONFIG_DM_DMA is not set ++CONFIG_REGMAP=y ++CONFIG_SYSCON=y ++# CONFIG_DEVRES is not set ++CONFIG_SIMPLE_BUS=y ++# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set ++# CONFIG_SIMPLE_PM_BUS is not set ++CONFIG_OF_TRANSLATE=y ++# CONFIG_TRANSLATION_OFFSET is not set ++CONFIG_DM_DEV_READ_INLINE=y ++# CONFIG_OFNODE_MULTI_TREE is not set ++# CONFIG_BOUNCE_BUFFER is not set ++# CONFIG_ADC is not set ++# CONFIG_ADC_EXYNOS is not set ++# CONFIG_ADC_SANDBOX is not set ++# CONFIG_SARADC_MESON is not set ++# CONFIG_SARADC_ROCKCHIP is not set ++# CONFIG_SATA is not set ++# CONFIG_SCSI_AHCI is not set ++ ++# ++# SATA/SCSI device support ++# ++# CONFIG_AXI is not set ++ ++# ++# Bus devices ++# ++CONFIG_BLK=y ++CONFIG_BLOCK_CACHE=y ++# CONFIG_BLKMAP is not set ++# CONFIG_EFI_MEDIA is not set ++# CONFIG_IDE is not set ++# CONFIG_LBA48 is not set ++# CONFIG_SYS_64BIT_LBA is not set ++# CONFIG_RKMTD is not set ++# CONFIG_BOOTCOUNT_LIMIT is not set ++ ++# ++# Button Support ++# ++CONFIG_BUTTON=y ++# CONFIG_BUTTON_ADC is not set ++CONFIG_BUTTON_GPIO=y ++ ++# ++# Cache Controller drivers ++# ++# CONFIG_CACHE is not set ++# CONFIG_L2X0_CACHE is not set ++# CONFIG_V5L2_CACHE is not set ++# CONFIG_NCORE_CACHE is not set ++# CONFIG_SIFIVE_CCACHE is not set ++ ++# ++# Clock ++# ++CONFIG_CLK=y ++# CONFIG_CLK_CCF is not set ++# CONFIG_CLK_GPIO is not set ++# CONFIG_CLK_CDCE9XX is not set ++# CONFIG_CLK_ICS8N3QV01 is not set ++# CONFIG_CLK_K210 is not set ++# CONFIG_CLK_MPC83XX is not set ++# CONFIG_CLK_XLNX_CLKWZRD is not set ++# CONFIG_CLK_AT91 is not set ++# CONFIG_CLK_RCAR is not set ++# CONFIG_CLK_RCAR_CPG_LIB is not set ++# CONFIG_CLK_SIFIVE is not set ++# CONFIG_CLK_TI_AM3_DPLL is not set ++# CONFIG_CLK_TI_CTRL is not set ++# CONFIG_CLK_TI_GATE is not set ++# CONFIG_CLK_K3 is not set ++CONFIG_CPU=y ++# CONFIG_CPU_IMX is not set ++ ++# ++# Hardware crypto devices ++# ++# CONFIG_DM_HASH is not set ++# CONFIG_FSL_CAAM is not set ++CONFIG_CAAM_64BIT=y ++# CONFIG_SYS_FSL_SEC_BE is not set ++# CONFIG_SYS_FSL_SEC_LE is not set ++# CONFIG_NPCM_AES is not set ++# CONFIG_NPCM_SHA is not set ++# CONFIG_DDR_SPD is not set ++# CONFIG_IMX_SNPS_DDR_PHY is not set ++ ++# ++# Demo for driver model ++# ++# CONFIG_DM_DEMO is not set ++ ++# ++# DFU support ++# ++ ++# ++# DMA Support ++# ++# CONFIG_DMA is not set ++# CONFIG_DMA_LPC32XX is not set ++# CONFIG_TI_EDMA3 is not set ++# CONFIG_DMA_LEGACY is not set ++ ++# ++# Extcon Support ++# ++# CONFIG_EXTCON is not set ++ ++# ++# Fastboot support ++# ++# CONFIG_UDP_FUNCTION_FASTBOOT is not set ++# CONFIG_TCP_FUNCTION_FASTBOOT is not set ++CONFIG_FIRMWARE=y ++CONFIG_ARM_PSCI_FW=y ++# CONFIG_ZYNQMP_FIRMWARE is not set ++# CONFIG_ARM_SMCCC_FEATURES is not set ++# CONFIG_ARM_FFA_TRANSPORT is not set ++# CONFIG_SCMI_FIRMWARE is not set ++# CONFIG_DM_FUZZING_ENGINE is not set ++ ++# ++# FPGA support ++# ++# CONFIG_FPGA_ALTERA is not set ++# CONFIG_FPGA_SOCFPGA is not set ++# CONFIG_FPGA_LATTICE is not set ++# CONFIG_FPGA_XILINX is not set ++# CONFIG_DM_FPGA is not set ++# CONFIG_FWU_MDATA is not set ++CONFIG_GPIO=y ++CONFIG_GPIO_HOG=y ++# CONFIG_DM_GPIO_LOOKUP_LABEL is not set ++# CONFIG_ALTERA_PIO is not set ++# CONFIG_BCM2835_GPIO is not set ++# CONFIG_DWAPB_GPIO is not set ++# CONFIG_AT91_GPIO is not set ++# CONFIG_ATMEL_PIO4 is not set ++# CONFIG_ASPEED_GPIO is not set ++# CONFIG_DA8XX_GPIO is not set ++# CONFIG_HIKEY_GPIO is not set ++# CONFIG_INTEL_BROADWELL_GPIO is not set ++# CONFIG_INTEL_GPIO is not set ++# CONFIG_INTEL_ICH6_GPIO is not set ++# CONFIG_IMX_RGPIO2P is not set ++# CONFIG_IPROC_GPIO is not set ++# CONFIG_HSDK_CREG_GPIO is not set ++# CONFIG_KIRKWOOD_GPIO is not set ++# CONFIG_LPC32XX_GPIO is not set ++# CONFIG_MCP230XX_GPIO is not set ++# CONFIG_MSM_GPIO is not set ++# CONFIG_MXC_GPIO is not set ++# CONFIG_MXS_GPIO is not set ++# CONFIG_NPCM_GPIO is not set ++# CONFIG_CMD_PCA953X is not set ++# CONFIG_ROCKCHIP_GPIO is not set ++# CONFIG_XILINX_GPIO is not set ++# CONFIG_TCA642X is not set ++# CONFIG_TEGRA_GPIO is not set ++# CONFIG_TEGRA186_GPIO is not set ++# CONFIG_VYBRID_GPIO is not set ++# CONFIG_SIFIVE_GPIO is not set ++# CONFIG_ZYNQ_GPIO is not set ++# CONFIG_DM_74X164 is not set ++# CONFIG_PCA953X is not set ++# CONFIG_MPC8XXX_GPIO is not set ++# CONFIG_MPC8XX_GPIO is not set ++# CONFIG_NX_GPIO is not set ++# CONFIG_NOMADIK_GPIO is not set ++# CONFIG_ZYNQMP_GPIO_MODEPIN is not set ++# CONFIG_SLG7XL45106_I2C_GPO is not set ++# CONFIG_TURRIS_OMNIA_MCU is not set ++# CONFIG_FTGPIO010 is not set ++ ++# ++# Hardware Spinlock Support ++# ++# CONFIG_DM_HWSPINLOCK is not set ++CONFIG_I2C=y ++# CONFIG_DM_I2C is not set ++# CONFIG_SYS_I2C_LEGACY is not set ++# CONFIG_SPL_SYS_I2C_LEGACY is not set ++# CONFIG_SYS_I2C_FSL is not set ++# CONFIG_SYS_I2C_DW is not set ++# CONFIG_SYS_I2C_IMX_LPI2C is not set ++# CONFIG_SYS_I2C_MTK is not set ++# CONFIG_SYS_I2C_MICROCHIP is not set ++# CONFIG_SYS_I2C_MXC is not set ++# CONFIG_SYS_I2C_NPCM is not set ++# CONFIG_SYS_I2C_SOFT is not set ++# CONFIG_SYS_I2C_MV is not set ++# CONFIG_SYS_I2C_MVTWSI is not set ++CONFIG_INPUT=y ++# CONFIG_DM_KEYBOARD is not set ++# CONFIG_CROS_EC_KEYB is not set ++# CONFIG_TEGRA_KEYBOARD is not set ++# CONFIG_TWL4030_INPUT is not set ++ ++# ++# IOMMU device drivers ++# ++# CONFIG_IOMMU is not set ++ ++# ++# LED Support ++# ++CONFIG_LED=y ++# CONFIG_LED_PWM is not set ++CONFIG_LED_BLINK=y ++CONFIG_LED_GPIO=y ++# CONFIG_LED_STATUS is not set ++ ++# ++# Mailbox Controller Support ++# ++# CONFIG_DM_MAILBOX is not set ++ ++# ++# Memory Controller drivers ++# ++# CONFIG_MEMORY is not set ++# CONFIG_ATMEL_EBI is not set ++# CONFIG_MFD_ATMEL_SMC is not set ++ ++# ++# Multifunction device drivers ++# ++# CONFIG_MISC is not set ++# CONFIG_NVMEM is not set ++# CONFIG_SPL_NVMEM is not set ++# CONFIG_SMSC_LPC47M is not set ++# CONFIG_SMSC_SIO1007 is not set ++# CONFIG_CROS_EC is not set ++# CONFIG_DS4510 is not set ++# CONFIG_FSL_SEC_MON is not set ++# CONFIG_IRQ is not set ++# CONFIG_NPCM_HOST is not set ++# CONFIG_NUVOTON_NCT6102D is not set ++# CONFIG_PWRSEQ is not set ++# CONFIG_PCA9551_LED is not set ++# CONFIG_TEST_DRV is not set ++# CONFIG_USB_HUB_USB251XB is not set ++# CONFIG_TWL4030_LED is not set ++# CONFIG_WINBOND_W83627 is not set ++# CONFIG_FS_LOADER is not set ++ ++# ++# MMC Host controller Support ++# ++# CONFIG_MMC is not set ++# CONFIG_MMC_BROKEN_CD is not set ++# CONFIG_DM_MMC is not set ++# CONFIG_FSL_ESDHC is not set ++# CONFIG_FSL_ESDHC_IMX is not set ++ ++# ++# MTD Support ++# ++CONFIG_MTD_PARTITIONS=y ++CONFIG_MTD=y ++CONFIG_DM_MTD=y ++# CONFIG_MTD_NOR_FLASH is not set ++# CONFIG_MTD_CONCAT is not set ++# CONFIG_SYS_MTDPARTS_RUNTIME is not set ++# CONFIG_FLASH_CFI_DRIVER is not set ++# CONFIG_CFI_FLASH is not set ++# CONFIG_ALTERA_QSPI is not set ++# CONFIG_HBMC_AM654 is not set ++# CONFIG_SAMSUNG_ONENAND is not set ++# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set ++CONFIG_MTD_NAND_CORE=y ++# CONFIG_MTD_RAW_NAND is not set ++CONFIG_MTD_SPI_NAND=y ++ ++# ++# SPI Flash Support ++# ++CONFIG_DM_SPI_FLASH=y ++CONFIG_SPI_FLASH=y ++CONFIG_SF_DEFAULT_BUS=0 ++CONFIG_SF_DEFAULT_CS=0 ++# CONFIG_BOOTDEV_SPI_FLASH is not set ++CONFIG_SPI_FLASH_SFDP_SUPPORT=y ++CONFIG_SPI_FLASH_SMART_HWCAPS=y ++# CONFIG_SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT is not set ++# CONFIG_SPI_FLASH_SOFT_RESET is not set ++# CONFIG_SPI_FLASH_BAR is not set ++CONFIG_SPI_FLASH_LOCK=y ++CONFIG_SPI_FLASH_UNLOCK_ALL=y ++# CONFIG_SPI_FLASH_ATMEL is not set ++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_S28HX_T is not set ++CONFIG_SPI_FLASH_STMICRO=y ++# CONFIG_SPI_FLASH_MT35XU is not set ++# CONFIG_SPI_FLASH_SST is not set ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_SPI_FLASH_XMC=y ++CONFIG_SPI_FLASH_XTX=y ++# CONFIG_SPI_FLASH_ZBIT is not set ++CONFIG_SPI_FLASH_USE_4K_SECTORS=y ++# CONFIG_SPI_FLASH_DATAFLASH is not set ++CONFIG_SPI_FLASH_MTD=y ++ ++# ++# UBI support ++# ++CONFIG_UBI_SILENCE_MSG=y ++CONFIG_MTD_UBI=y ++CONFIG_MTD_UBI_MODULE=y ++CONFIG_MTD_UBI_WL_THRESHOLD=4096 ++CONFIG_MTD_UBI_BEB_LIMIT=20 ++# CONFIG_MTD_UBI_FASTMAP is not set ++# CONFIG_NVMXIP is not set ++# CONFIG_NVMXIP_QSPI is not set ++# CONFIG_NMBM is not set ++ ++# ++# Multiplexer drivers ++# ++# CONFIG_MULTIPLEXER is not set ++# CONFIG_BITBANGMII is not set ++# CONFIG_MV88E6352_SWITCH is not set ++CONFIG_PHYLIB=y ++# CONFIG_PHY_ADDR_ENABLE is not set ++# CONFIG_B53_SWITCH is not set ++# CONFIG_MV88E61XX_SWITCH is not set ++# CONFIG_PHYLIB_10G is not set ++# CONFIG_PHY_ADIN is not set ++# CONFIG_PHY_AIROHA is not set ++# CONFIG_PHY_AQUANTIA is not set ++# CONFIG_PHY_ATHEROS is not set ++# CONFIG_SPL_PHY_ATHEROS is not set ++# CONFIG_PHY_BROADCOM is not set ++# CONFIG_PHY_CORTINA is not set ++# CONFIG_PHY_DAVICOM is not set ++# CONFIG_PHY_ET1011C is not set ++# CONFIG_PHY_LXT is not set ++# CONFIG_PHY_MARVELL is not set ++# CONFIG_PHY_MARVELL_10G is not set ++# CONFIG_PHY_MESON_GXL is not set ++# CONFIG_PHY_MICREL is not set ++# CONFIG_PHY_MOTORCOMM is not set ++# CONFIG_PHY_MSCC is not set ++# CONFIG_PHY_NATSEMI is not set ++# CONFIG_PHY_NXP_C45_TJA11XX is not set ++# CONFIG_PHY_NXP_TJA11XX is not set ++# CONFIG_PHY_REALTEK is not set ++# CONFIG_PHY_SMSC is not set ++# CONFIG_PHY_TERANETICS is not set ++# CONFIG_PHY_TI is not set ++# CONFIG_PHY_TI_DP83867 is not set ++# CONFIG_PHY_TI_DP83869 is not set ++# CONFIG_PHY_TI_GENERIC is not set ++# CONFIG_PHY_VITESSE is not set ++# CONFIG_PHY_XILINX is not set ++# CONFIG_PHY_XILINX_GMII2RGMII is not set ++# CONFIG_PHY_XWAY is not set ++# CONFIG_PHY_ETHERNET_ID is not set ++CONFIG_PHY_FIXED=y ++# CONFIG_PHY_NCSI is not set ++# CONFIG_FSL_MEMAC is not set ++CONFIG_PHY_RESET_DELAY=0 ++# CONFIG_FSL_PFE is not set ++CONFIG_ETH=y ++CONFIG_DM_ETH=y ++# CONFIG_DM_MDIO is not set ++# CONFIG_DM_ETH_PHY is not set ++CONFIG_NETDEVICES=y ++# CONFIG_PHY_GIGE is not set ++# CONFIG_ALTERA_TSE is not set ++# CONFIG_BCM_SF2_ETH is not set ++# CONFIG_BCMGENET is not set ++# CONFIG_BNXT_ETH is not set ++# CONFIG_CALXEDA_XGMAC is not set ++# CONFIG_DRIVER_DM9000 is not set ++# CONFIG_DWC_ETH_QOS is not set ++# CONFIG_EEPRO100 is not set ++# CONFIG_ETH_DESIGNWARE is not set ++# CONFIG_ETH_DESIGNWARE_MESON8B is not set ++# CONFIG_ETHOC is not set ++# CONFIG_FMAN_ENET is not set ++# CONFIG_FTMAC100 is not set ++# CONFIG_FTGMAC100 is not set ++# CONFIG_MCFFEC is not set ++# CONFIG_FSLDMAFEC is not set ++# CONFIG_KS8851_MLL is not set ++# CONFIG_LITEETH is not set ++# CONFIG_MACB is not set ++# CONFIG_NET_NPCM750 is not set ++# CONFIG_PCH_GBE is not set ++# CONFIG_RGMII is not set ++# CONFIG_MII is not set ++# CONFIG_RMII is not set ++# CONFIG_PCNET is not set ++# CONFIG_QE_UEC is not set ++# CONFIG_RTL8139 is not set ++# CONFIG_SMC911X is not set ++# CONFIG_SUN7I_GMAC is not set ++# CONFIG_SUN4I_EMAC is not set ++# CONFIG_SUN8I_EMAC is not set ++# CONFIG_SH_ETHER is not set ++# CONFIG_DRIVER_TI_CPSW is not set ++# CONFIG_DRIVER_TI_EMAC is not set ++# CONFIG_DRIVER_TI_KEYSTONE_NET is not set ++# CONFIG_TULIP is not set ++# CONFIG_XILINX_AXIEMAC is not set ++# CONFIG_VSC7385_ENET is not set ++# CONFIG_XILINX_EMACLITE is not set ++# CONFIG_ZYNQ_GEM is not set ++# CONFIG_SYS_DPAA_QBMAN is not set ++# CONFIG_TSEC_ENET is not set ++CONFIG_MEDIATEK_ETH=y ++# CONFIG_HIFEMAC_ETH is not set ++# CONFIG_HIGMACV300_ETH is not set ++# CONFIG_NVME is not set ++# CONFIG_NVME_APPLE is not set ++ ++# ++# PCI Endpoint ++# ++# CONFIG_PCI_ENDPOINT is not set ++# CONFIG_X86_PCH7 is not set ++# CONFIG_X86_PCH9 is not set ++ ++# ++# PHY Subsystem ++# ++CONFIG_PHY=y ++# CONFIG_NOP_PHY is not set ++# CONFIG_MIPI_DPHY_HELPERS is not set ++# CONFIG_BCM_SR_PCIE_PHY is not set ++# CONFIG_OMAP_USB2_PHY is not set ++CONFIG_PHY_MTK_TPHY=y ++ ++# ++# Rockchip PHY driver ++# ++# CONFIG_PHY_CADENCE_SIERRA is not set ++# CONFIG_PHY_CADENCE_TORRENT is not set ++# CONFIG_MSM8916_USB_PHY is not set ++# CONFIG_MVEBU_COMPHY_SUPPORT is not set ++ ++# ++# Pin controllers ++# ++CONFIG_PINCTRL=y ++CONFIG_PINCTRL_FULL=y ++CONFIG_PINCTRL_GENERIC=y ++CONFIG_PINMUX=y ++CONFIG_PINCONF=y ++CONFIG_PINCONF_RECURSIVE=y ++# CONFIG_PINCTRL_AT91 is not set ++# CONFIG_PINCTRL_AT91PIO4 is not set ++# CONFIG_PINCTRL_INTEL is not set ++# CONFIG_PINCTRL_QE is not set ++# CONFIG_PINCTRL_ROCKCHIP_RV1108 is not set ++# CONFIG_PINCTRL_SINGLE is not set ++# CONFIG_PINCTRL_STM32 is not set ++# CONFIG_PINCTRL_STMFX is not set ++# CONFIG_PINCTRL_K210 is not set ++CONFIG_PINCTRL_MTK=y ++# CONFIG_PINCTRL_MT7622 is not set ++# CONFIG_PINCTRL_MT7623 is not set ++# CONFIG_PINCTRL_MT7629 is not set ++CONFIG_PINCTRL_MT7981=y ++# CONFIG_PINCTRL_MT7986 is not set ++# CONFIG_PINCTRL_MT7988 is not set ++# CONFIG_PINCTRL_MT8512 is not set ++# CONFIG_PINCTRL_MT8516 is not set ++# CONFIG_PINCTRL_MT8518 is not set ++CONFIG_POWER=y ++# CONFIG_POWER_LEGACY is not set ++# CONFIG_ACPI_PMC is not set ++ ++# ++# Power Domain Support ++# ++CONFIG_POWER_DOMAIN=y ++# CONFIG_APPLE_PMGR_POWER_DOMAIN is not set ++CONFIG_MTK_POWER_DOMAIN=y ++# CONFIG_DM_PMIC is not set ++# CONFIG_PMIC_TPS65217 is not set ++# CONFIG_POWER_TPS65218 is not set ++# CONFIG_POWER_TPS62362 is not set ++# CONFIG_DM_REGULATOR is not set ++# CONFIG_TPS6586X_POWER is not set ++# CONFIG_POWER_MT6323 is not set ++CONFIG_DM_PWM=y ++# CONFIG_PWM_ASPEED is not set ++# CONFIG_PWM_CADENCE_TTC is not set ++# CONFIG_PWM_CROS_EC is not set ++# CONFIG_PWM_EXYNOS is not set ++# CONFIG_PWM_IMX is not set ++# CONFIG_PWM_MESON is not set ++CONFIG_PWM_MTK=y ++# CONFIG_PWM_ROCKCHIP is not set ++# CONFIG_PWM_SANDBOX is not set ++# CONFIG_PWM_SIFIVE is not set ++# CONFIG_PWM_TEGRA is not set ++# CONFIG_PWM_SUNXI is not set ++# CONFIG_U_QE is not set ++# CONFIG_RAM is not set ++ ++# ++# Reboot Mode Support ++# ++# CONFIG_DM_REBOOT_MODE is not set ++ ++# ++# Remote Processor drivers ++# ++ ++# ++# Reset Controller Support ++# ++# CONFIG_RESET_AST2500 is not set ++# CONFIG_RESET_AST2600 is not set ++CONFIG_RESET_MEDIATEK=y ++# CONFIG_RESET_HISILICON is not set ++# CONFIG_RESET_SYSCON is not set ++# CONFIG_RESET_SCMI is not set ++# CONFIG_RESET_DRA7 is not set ++# CONFIG_DM_RNG is not set ++ ++# ++# Real Time Clock ++# ++# CONFIG_DM_RTC is not set ++# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set ++# CONFIG_RTC_DS1337 is not set ++# CONFIG_RTC_DS1338 is not set ++# CONFIG_RTC_DS1374 is not set ++# CONFIG_RTC_DS3231 is not set ++# CONFIG_RTC_PCF8563 is not set ++# CONFIG_RTC_PT7C4338 is not set ++# CONFIG_RTC_PL031 is not set ++# CONFIG_RTC_S35392A is not set ++# CONFIG_RTC_MC13XXX is not set ++# CONFIG_RTC_MC146818 is not set ++# CONFIG_RTC_M41T62 is not set ++# CONFIG_SCSI is not set ++# CONFIG_DM_SCSI is not set ++CONFIG_SERIAL=y ++CONFIG_BAUDRATE=115200 ++# CONFIG_DEFAULT_ENV_IS_RW is not set ++CONFIG_REQUIRE_SERIAL_CONSOLE=y ++# CONFIG_SPECIFY_CONSOLE_INDEX is not set ++CONFIG_SERIAL_PRESENT=y ++CONFIG_DM_SERIAL=y ++# CONFIG_SERIAL_RX_BUFFER is not set ++# CONFIG_SERIAL_PUTS is not set ++# CONFIG_SERIAL_SEARCH_ALL is not set ++# CONFIG_SERIAL_PROBE_ALL is not set ++# CONFIG_VPL_DM_SERIAL is not set ++CONFIG_DEBUG_UART_MTK=y ++CONFIG_DEBUG_UART_SHIFT=0 ++# CONFIG_DEBUG_UART_ANNOUNCE is not set ++# CONFIG_DEBUG_UART_SKIP_INIT is not set ++# CONFIG_ALTERA_JTAG_UART is not set ++# CONFIG_ALTERA_UART is not set ++# CONFIG_ARC_SERIAL is not set ++# CONFIG_ARM_DCC is not set ++# CONFIG_ATMEL_USART is not set ++# CONFIG_BCM6345_SERIAL is not set ++# CONFIG_COREBOOT_SERIAL is not set ++# CONFIG_CORTINA_UART is not set ++# CONFIG_FSL_LINFLEXUART is not set ++# CONFIG_FSL_LPUART is not set ++# CONFIG_MVEBU_A3700_UART is not set ++# CONFIG_MCFUART is not set ++# CONFIG_NULLDEV_SERIAL is not set ++# CONFIG_SYS_NS16550 is not set ++# CONFIG_PL01X_SERIAL is not set ++# CONFIG_ROCKCHIP_SERIAL is not set ++# CONFIG_XILINX_UARTLITE is not set ++# CONFIG_MSM_SERIAL is not set ++# CONFIG_MSM_GENI_SERIAL is not set ++# CONFIG_MXS_AUART_SERIAL is not set ++# CONFIG_OMAP_SERIAL is not set ++# CONFIG_SIFIVE_SERIAL is not set ++# CONFIG_ZYNQ_SERIAL is not set ++CONFIG_MTK_SERIAL=y ++# CONFIG_MT7620_SERIAL is not set ++# CONFIG_NPCM_SERIAL is not set ++# CONFIG_SM is not set ++# CONFIG_MESON_SM is not set ++# CONFIG_SMEM is not set ++ ++# ++# Sound support ++# ++# CONFIG_SOUND is not set ++ ++# ++# SOC (System On Chip) specific Drivers ++# ++# CONFIG_SOC_DEVICE is not set ++# CONFIG_SOC_TI is not set ++CONFIG_SPI=y ++CONFIG_DM_SPI=y ++CONFIG_SPI_MEM=y ++# CONFIG_SPI_DIRMAP is not set ++# CONFIG_ALTERA_SPI is not set ++# CONFIG_APPLE_SPI is not set ++# CONFIG_ATCSPI200_SPI is not set ++# CONFIG_ATMEL_SPI is not set ++# CONFIG_BCMSTB_SPI is not set ++# CONFIG_CORTINA_SFLASH is not set ++# CONFIG_CADENCE_QSPI is not set ++# CONFIG_CF_SPI is not set ++# CONFIG_DESIGNWARE_SPI is not set ++# CONFIG_EXYNOS_SPI is not set ++# CONFIG_FSL_DSPI is not set ++# CONFIG_FSL_QSPI is not set ++# CONFIG_GXP_SPI is not set ++# CONFIG_ICH_SPI is not set ++# CONFIG_IPROC_QSPI is not set ++# CONFIG_KIRKWOOD_SPI is not set ++# CONFIG_MICROCHIP_COREQSPI is not set ++# CONFIG_MPC8XXX_SPI is not set ++# CONFIG_MTK_SNOR is not set ++# CONFIG_MTK_SNFI_SPI is not set ++CONFIG_MTK_SPIM=y ++# CONFIG_MVEBU_A3700_SPI is not set ++# CONFIG_MXS_SPI is not set ++# CONFIG_SPI_MXIC is not set ++# CONFIG_NPCM_FIU_SPI is not set ++# CONFIG_NPCM_PSPI is not set ++# CONFIG_NXP_FSPI is not set ++# CONFIG_OMAP3_SPI is not set ++# CONFIG_PL022_SPI is not set ++# CONFIG_ROCKCHIP_SFC is not set ++# CONFIG_ROCKCHIP_SPI is not set ++# CONFIG_SPI_ASPEED_SMC is not set ++# CONFIG_SPI_SIFIVE is not set ++# CONFIG_SOFT_SPI is not set ++# CONFIG_SPI_SN_F_OSPI is not set ++# CONFIG_SPI_SUNXI is not set ++# CONFIG_TEGRA114_SPI is not set ++# CONFIG_TEGRA20_SFLASH is not set ++# CONFIG_TEGRA20_SLINK is not set ++# CONFIG_TEGRA210_QSPI is not set ++# CONFIG_TI_QSPI is not set ++# CONFIG_XILINX_SPI is not set ++# CONFIG_ZYNQ_SPI is not set ++# CONFIG_ZYNQ_QSPI is not set ++# CONFIG_ZYNQMP_GQSPI is not set ++# CONFIG_SH_QSPI is not set ++# CONFIG_MXC_SPI is not set ++ ++# ++# SPMI support ++# ++# CONFIG_SPMI is not set ++# CONFIG_SYSINFO is not set ++ ++# ++# System reset device drivers ++# ++# CONFIG_SYSRESET is not set ++# CONFIG_TEE is not set ++# CONFIG_DM_THERMAL is not set ++ ++# ++# Timer Support ++# ++# CONFIG_TIMER is not set ++ ++# ++# TPM support ++# ++CONFIG_USB=y ++CONFIG_DM_USB=y ++# CONFIG_DM_USB_GADGET is not set ++ ++# ++# USB Host Controller Drivers ++# ++CONFIG_USB_HOST=y ++CONFIG_USB_XHCI_HCD=y ++# CONFIG_USB_XHCI_DWC3 is not set ++# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set ++CONFIG_USB_XHCI_MTK=y ++# CONFIG_USB_XHCI_FSL is not set ++# CONFIG_USB_XHCI_BRCM is not set ++# CONFIG_USB_EHCI_HCD is not set ++# CONFIG_USB_OHCI_HCD is not set ++# CONFIG_USB_UHCI_HCD is not set ++# CONFIG_USB_DWC2 is not set ++# CONFIG_USB_R8A66597_HCD is not set ++# CONFIG_USB_ISP1760 is not set ++# CONFIG_USB_CDNS3 is not set ++# CONFIG_USB_DWC3 is not set ++# CONFIG_USB_MTU3 is not set ++ ++# ++# Legacy MUSB Support ++# ++# CONFIG_USB_MUSB_HCD is not set ++# CONFIG_USB_MUSB_UDC is not set ++ ++# ++# MUSB Controller Driver ++# ++# CONFIG_USB_MUSB_HOST is not set ++# CONFIG_USB_MUSB_PIO_ONLY is not set ++ ++# ++# USB Phy ++# ++# CONFIG_TWL4030_USB is not set ++# CONFIG_ROCKCHIP_USB2_PHY is not set ++ ++# ++# ULPI drivers ++# ++ ++# ++# USB peripherals ++# ++CONFIG_USB_STORAGE=y ++# CONFIG_USB_KEYBOARD is not set ++# CONFIG_USB_ONBOARD_HUB is not set ++CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000 ++# CONFIG_USB_HOST_ETHER is not set ++# CONFIG_USB_GADGET is not set ++# CONFIG_SPL_USB_GADGET is not set ++ ++# ++# UFS Host Controller Support ++# ++# CONFIG_TI_J721E_UFS is not set ++ ++# ++# Graphics support ++# ++# CONFIG_VIDEO is not set ++ ++# ++# VirtIO Drivers ++# ++# CONFIG_VIRTIO_MMIO is not set ++ ++# ++# 1-Wire support ++# ++# CONFIG_W1 is not set ++ ++# ++# 1-wire EEPROM support ++# ++# CONFIG_W1_EEPROM is not set ++ ++# ++# Watchdog Timer Support ++# ++# CONFIG_WATCHDOG is not set ++CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 ++# CONFIG_IMX_WATCHDOG is not set ++# CONFIG_ULP_WATCHDOG is not set ++# CONFIG_WDT is not set ++# CONFIG_PHYS_TO_BUS is not set ++ ++# ++# File systems ++# ++# CONFIG_FS_BTRFS is not set ++# CONFIG_FS_CBFS is not set ++# CONFIG_FS_EXT4 is not set ++CONFIG_FS_FAT=y ++CONFIG_FAT_WRITE=y ++CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 ++# CONFIG_FS_JFFS2 is not set ++CONFIG_UBIFS_SILENCE_MSG=y ++CONFIG_UBIFS_SILENCE_DEBUG_DUMP=y ++# CONFIG_FS_CRAMFS is not set ++# CONFIG_YAFFS2 is not set ++# CONFIG_FS_SQUASHFS is not set ++# CONFIG_FS_EROFS is not set ++ ++# ++# Library routines ++# ++# CONFIG_ADDR_MAP is not set ++# CONFIG_SYS_TIMER_COUNTS_DOWN is not set ++# CONFIG_PHYSMEM is not set ++# CONFIG_BCH is not set ++# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set ++CONFIG_CHARSET=y ++# CONFIG_DYNAMIC_CRC_TABLE is not set ++CONFIG_LIB_UUID=y ++# CONFIG_SEMIHOSTING is not set ++CONFIG_PRINTF=y ++CONFIG_SPRINTF=y ++CONFIG_STRTO=y ++CONFIG_SYS_HZ=1000 ++# CONFIG_PANIC_HANG is not set ++CONFIG_REGEX=y ++CONFIG_LIB_RAND=y ++# CONFIG_LIB_HW_RAND is not set ++CONFIG_SUPPORT_ACPI=y ++# CONFIG_ACPI is not set ++CONFIG_RBTREE=y ++# CONFIG_BITREVERSE is not set ++# CONFIG_TRACE is not set ++# CONFIG_CIRCBUF is not set ++# CONFIG_CMD_DHRYSTONE is not set ++ ++# ++# Security support ++# ++# CONFIG_AES is not set ++# CONFIG_ECDSA is not set ++# CONFIG_RSA is not set ++# CONFIG_TPM is not set ++ ++# ++# Android Verified Boot ++# ++ ++# ++# Hashing Support ++# ++# CONFIG_BLAKE2 is not set ++CONFIG_SHA1=y ++CONFIG_SHA256=y ++# CONFIG_SHA512 is not set ++# CONFIG_SHA384 is not set ++# CONFIG_SHA_HW_ACCEL is not set ++CONFIG_MD5=y ++CONFIG_CRC8=y ++CONFIG_CRC32=y ++ ++# ++# Compression Support ++# ++# CONFIG_LZ4 is not set ++CONFIG_LZMA=y ++CONFIG_LZO=y ++CONFIG_GZIP=y ++# CONFIG_ZLIB_UNCOMPRESS is not set ++# CONFIG_BZIP2 is not set ++CONFIG_ZLIB=y ++# CONFIG_ZSTD is not set ++CONFIG_VPL_LZMA=y ++# CONFIG_SPL_GZIP is not set ++# CONFIG_ERRNO_STR is not set ++CONFIG_HEXDUMP=y ++# CONFIG_GETOPT is not set ++CONFIG_OF_LIBFDT=y ++CONFIG_OF_LIBFDT_ASSUME_MASK=0x0 ++CONFIG_SYS_FDT_PAD=0x3000 ++ ++# ++# System tables ++# ++CONFIG_GENERATE_SMBIOS_TABLE=y ++# CONFIG_LIB_RATIONAL is not set ++CONFIG_SMBIOS=y ++# CONFIG_SMBIOS_PARSER is not set ++CONFIG_EFI_LOADER=y ++CONFIG_CMD_BOOTEFI_BOOTMGR=y ++CONFIG_EFI_VARIABLE_FILE_STORE=y ++# CONFIG_EFI_VARIABLE_NO_STORE is not set ++# CONFIG_EFI_VARIABLES_PRESEED is not set ++CONFIG_EFI_VAR_BUF_SIZE=131072 ++# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set ++# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set ++CONFIG_EFI_CAPSULE_MAX=15 ++CONFIG_EFI_DEVICE_PATH_TO_TEXT=y ++CONFIG_EFI_DEVICE_PATH_UTIL=y ++CONFIG_EFI_DT_FIXUP=y ++CONFIG_EFI_LOADER_HII=y ++CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y ++CONFIG_EFI_UNICODE_CAPITALIZATION=y ++# CONFIG_EFI_LOADER_BOUNCE_BUFFER is not set ++CONFIG_EFI_PLATFORM_LANG_CODES="en-US" ++CONFIG_EFI_HAVE_RUNTIME_RESET=y ++CONFIG_EFI_LOAD_FILE2_INITRD=y ++CONFIG_EFI_ECPT=y ++CONFIG_EFI_EBBR_2_1_CONFORMANCE=y ++# CONFIG_OPTEE_LIB is not set ++# CONFIG_OPTEE_IMAGE is not set ++# CONFIG_BOOTM_OPTEE is not set ++# CONFIG_TEST_FDTDEC is not set ++CONFIG_LIB_ELF=y ++CONFIG_LMB=y ++CONFIG_LMB_USE_MAX_REGIONS=y ++CONFIG_LMB_MAX_REGIONS=64 ++# CONFIG_PHANDLE_CHECK_SEQ is not set ++ ++# ++# Testing ++# ++# CONFIG_UNIT_TEST is not set ++# CONFIG_POST is not set ++ ++# ++# Tools options ++# ++CONFIG_MKIMAGE_DTC_PATH="dtc" ++CONFIG_TOOLS_CRC32=y ++CONFIG_TOOLS_LIBCRYPTO=y ++CONFIG_TOOLS_FIT=y ++CONFIG_TOOLS_FIT_FULL_CHECK=y ++CONFIG_TOOLS_FIT_PRINT=y ++CONFIG_TOOLS_FIT_RSASSA_PSS=y ++CONFIG_TOOLS_FIT_SIGNATURE=y ++CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000 ++CONFIG_TOOLS_FIT_VERBOSE=y ++CONFIG_TOOLS_MD5=y ++CONFIG_TOOLS_OF_LIBFDT=y ++CONFIG_TOOLS_SHA1=y ++CONFIG_TOOLS_SHA256=y ++CONFIG_TOOLS_SHA384=y ++CONFIG_TOOLS_SHA512=y ++# CONFIG_TOOLS_MKEFICAPSULE is not set ++# CONFIG_FSPI_CONF_HEADER is not set ++# CONFIG_TOOLS_MKFWUMDATA is not set +--- /dev/null ++++ b/openwrt-one-nor_env +@@ -0,0 +1,46 @@ ++bl2_mtd_write=mtd erase bl2-nor && mtd write bl2-nor $loadaddr 0x0 0x40000 ++bl2_tftp_write=tftpboot $loadaddr $bootfile_bl2_nor && run bl2_mtd_write ++bootcmd=run check_button ; run led_start ; mtd read recovery ${loadaddr} ; bootm ; run led_loop_error ++bootconf=config-1 ++bootdelay=0 ++bootfile=openwrt-mediatek-filogic-openwrt_one-initramfs.itb ++bootfile_bl2_nor=openwrt-mediatek-filogic-openwrt_one-nor-preloader.bin ++bootfile_fip_nor=openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip ++bootmenu_0=Initialize environment.=run _firstboot ++bootmenu_0d=Run default boot command.=run bootcmd ++bootmenu_1=Boot system via TFTP.=run tftp_boot ; run bootmenu_confirm_return ++bootmenu_2=Unlock NOR. (Make sure the NOR/WP jumper is populated)=sf probe 1:0 && sf protect unlock 0x0 0x1000000 ; run bootmenu_confirm_return ++bootmenu_3=Load BL31+U-Boot FIP via TFTP then write to NOR.=run fip_tftp_write ; run bootmenu_confirm_return ++bootmenu_4=Load BL2 preloader via TFTP then write to NOR.=run bl2_tftp_write ; run bootmenu_confirm_return ++bootmenu_5=Load recovery system via TFTP then write to NOR.=run tftp_write ; run bootmenu_confirm_return ++bootmenu_6=Lock NOR. (Remove jumper afterwards)=sf probe 1:0 && sf protect lock 0x0 0x1000000 ; run bootmenu_confirm_return ++bootmenu_7=Reboot.=reset ++bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60 ++bootmenu_default=0 ++bootmenu_delay=0 ++bootmenu_title= ( ( ( OpenWrt ) ) ) [SPI-NOR] ++check_button=if button front ; then run usb_recovery ; run led_loop_error ; fi ++fip_mtd_write=mtd erase fip-nor && mtd write fip-nor $loadaddr ++fip_tftp_write=tftpboot $loadaddr $bootfile_fip_nor && run fip_mtd_write ++ipaddr=192.168.11.11 ++led_done=led green off ; led white on ++led_loop_done=led white off ; led green on ; echo done ; while true ; do sleep 1 ; done ++led_loop_error=led white off ; led green off ; while true ; do led red on ; sleep 1 ; led red off ; sleep 1 ; done ++led_boot=led green on ; led white on ; led red on ++led_start=led green off ; led red off; led white on ++loadaddr=0x46000000 ++preboot=run led_boot ++recoverfile_bl2=openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin ++recoverfile_ubi=openwrt-mediatek-filogic-openwrt_one-factory.ubi ++recovery_write_bl2=mtd erase bl2 && for offset in 0x0 0x40000 0x80000; do mtd write bl2 $loadaddr $offset 0x40000 ; done ++recovery_write_ubi=mtd erase ubi && mtd write ubi $loadaddr 0 ${filesize} ++serverip=192.168.11.23 ++tftp_boot=run led_start ; tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf ++tftp_write=run led_start ; tftpboot $loadaddr $bootfile && mtd erase recovery 0x0 ${filesize} && mtd write recovery $loadaddr 0x0 ${filesize} ++usb_recovery=run led_start ; usb start && run usb_recovery_bl2 && run usb_recovery_ubi && run led_loop_done ++usb_recovery_bl2=fatload usb 0:1 ${loadaddr} ${recoverfile_bl2} && run recovery_write_bl2 ++usb_recovery_ubi=fatload usb 0:1 ${loadaddr} ${recoverfile_ubi} && run recovery_write_ubi ++_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title $ver" ++_firstboot=setenv _firstboot ; run _switch_to_menu ; run _init_env ; bootmenu ++_init_env=setenv _init_env ; echo Initialize Env ; run ubi_create_env ; saveenv ++_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 +--- /dev/null ++++ b/openwrt-one-spi-nand_env +@@ -0,0 +1,59 @@ ++ipaddr=192.168.11.11 ++serverip=192.168.11.23 ++loadaddr=0x46000000 ++console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0 ++bootcmd=run check_buttons ; run led_start ; run boot_calibration ; run boot_production ; run boot_recovery ++bootconf=config-1 ++bootdelay=0 ++bootfile=openwrt-mediatek-filogic-openwrt_one-initramfs.itb ++bootfile_bl2=openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin ++bootfile_fip=openwrt-mediatek-filogic-openwrt_one-snand-bl31-uboot.fip ++bootfile_upg=openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb ++bootmenu_confirm_return=askenv - Press ENTER to return to menu ; run led_boot ; bootmenu 60 ++bootmenu_default=0 ++bootmenu_delay=0 ++bootmenu_title= ( ( ( OpenWrt ) ) ) [SPI-NAND] ++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.=noboot=1 ; replacevol=1 ; run boot_tftp_production ; noboot= ; replacevol= ; run bootmenu_confirm_return ++bootmenu_5=Load recovery system via TFTP then write to NAND.=noboot=1 ; replacevol=1 ; run boot_tftp_recovery ; noboot= ; replacevol= ; run bootmenu_confirm_return ++bootmenu_6=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return ++bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=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_default=run bootcmd ; run boot_recovery ; replacevol=1 ; run boot_tftp_forever ++boot_calibration=ubi read $loadaddr calibration && bootm $loadaddr#$bootconf ++boot_production=led white on ; run ubi_read_production && bootm $loadaddr#$bootconf ; led white off ++boot_recovery=led green on ; run ubi_read_recovery && bootm $loadaddr#$bootconf ; led green off ++boot_tftp=run led_start ; tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf ++boot_tftp_forever=led green off ; led white off ; led red on ; while true ; do run boot_tftp_recovery ; led red off ; sleep 1 ; done ++boot_tftp_production=tftpboot $loadaddr $bootfile_upg && test $replacevol = 1 && iminfo $loadaddr && run ubi_write_production ; if test $noboot = 1 ; then else bootm $loadaddr#$bootconf ; fi ++boot_tftp_recovery=tftpboot $loadaddr $bootfile && test $replacevol = 1 && iminfo $loadaddr && run ubi_write_recovery ; if test $noboot = 1 ; then else bootm $loadaddr#$bootconf ; fi ++boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf ++boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run ubi_write_fip && run reset_factory ++boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run snand_write_bl2 ++check_buttons=if button front ; then run boot_recovery ; run boot_tftp ; run led_loop_error ; else if button back ; then ; run usb_recover ; run led_loop_error ; fi ; fi ++led_boot=led green on ; led white on ; led red on ++led_done=led green on ; led white off ; led red off ++led_loop_error=led white off ; led green off ; while true ; do led red on ; sleep 1 ; led red off ; sleep 1 ; done ++led_start=led white on ; led green off ; led red off ++preboot=run led_boot ++reset_factory=mw $loadaddr 0xff 0x1f000 ; ubi write $loadaddr ubootenv 0x1f000 ; ubi write $loadaddr ubootenv2 0x1f000 ; ubi remove rootfs_data ++snand_write_bl2=mtd erase bl2 && for offset in 0x0 0x40000 0x80000 0xc0000 ; do mtd write bl2 $loadaddr $offset 0x40000 ; done ++ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x1f000 dynamic ; ubi check ubootenv2 || ubi create ubootenv2 0x1f000 dynamic ++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 ++usb_recover=run led_start ; usb start && run usb_recover_production && run led_loop_done ++usb_recover_production=fatload usb 0:1 ${loadaddr} ${bootfile_upg} && iminfo $loadaddr && run ubi_write_production ++ubi_write_fip=run ubi_remove_rootfs ; ubi check fip && ubi remove fip ; ubi create fip $filesize static && ubi write $loadaddr fip $filesize ++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 _switch_to_menu ; run _init_env ; bootmenu ++_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 $ver" diff --git a/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch b/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch index 50702cb3cbb45b..13673e968236e7 100644 --- a/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch +++ b/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch @@ -43,8 +43,6 @@ Signed-off-by: Stefan Wahren create mode 100644 configs/duckbill_defconfig create mode 100644 include/configs/duckbill.h -diff --git a/arch/arm/mach-imx/mxs/Kconfig b/arch/arm/mach-imx/mxs/Kconfig -index b90d7b6e41..e7d8bc6792 100644 --- a/arch/arm/mach-imx/mxs/Kconfig +++ b/arch/arm/mach-imx/mxs/Kconfig @@ -50,6 +50,10 @@ config TARGET_APX4DEVKIT @@ -66,9 +64,6 @@ index b90d7b6e41..e7d8bc6792 100644 source "board/liebherr/xea/Kconfig" source "board/ppcag/bg0900/Kconfig" source "board/schulercontrol/sc_sps_1/Kconfig" -diff --git a/board/i2se/duckbill/Kconfig b/board/i2se/duckbill/Kconfig -new file mode 100644 -index 0000000000..98c1e4689f --- /dev/null +++ b/board/i2se/duckbill/Kconfig @@ -0,0 +1,15 @@ @@ -87,9 +82,6 @@ index 0000000000..98c1e4689f + default "duckbill" + +endif -diff --git a/board/i2se/duckbill/MAINTAINERS b/board/i2se/duckbill/MAINTAINERS -new file mode 100644 -index 0000000000..5496baa330 --- /dev/null +++ b/board/i2se/duckbill/MAINTAINERS @@ -0,0 +1,6 @@ @@ -99,9 +91,6 @@ index 0000000000..5496baa330 +F: board/i2se/duckbill/ +F: include/configs/duckbill.h +F: configs/duckbill_defconfig -diff --git a/board/i2se/duckbill/Makefile b/board/i2se/duckbill/Makefile -new file mode 100644 -index 0000000000..11bac98e4c --- /dev/null +++ b/board/i2se/duckbill/Makefile @@ -0,0 +1,10 @@ @@ -115,9 +104,6 @@ index 0000000000..11bac98e4c +else +obj-y := iomux.o +endif -diff --git a/board/i2se/duckbill/duckbill.c b/board/i2se/duckbill/duckbill.c -new file mode 100644 -index 0000000000..93defc6c28 --- /dev/null +++ b/board/i2se/duckbill/duckbill.c @@ -0,0 +1,189 @@ @@ -310,9 +296,6 @@ index 0000000000..93defc6c28 + + return 0; +} -diff --git a/board/i2se/duckbill/iomux.c b/board/i2se/duckbill/iomux.c -new file mode 100644 -index 0000000000..c6cc211181 --- /dev/null +++ b/board/i2se/duckbill/iomux.c @@ -0,0 +1,157 @@ @@ -473,9 +456,6 @@ index 0000000000..c6cc211181 + else + mxs_iomux_setup_multiple_pads(iomux_setup_v1, ARRAY_SIZE(iomux_setup_v1)); +} -diff --git a/configs/duckbill_defconfig b/configs/duckbill_defconfig -new file mode 100644 -index 0000000000..b2d7fbcf77 --- /dev/null +++ b/configs/duckbill_defconfig @@ -0,0 +1,43 @@ @@ -522,9 +502,6 @@ index 0000000000..b2d7fbcf77 +CONFIG_MII=y +CONFIG_CONS_INDEX=0 +CONFIG_OF_LIBFDT=y -diff --git a/include/configs/duckbill.h b/include/configs/duckbill.h -new file mode 100644 -index 0000000000..565d8c58b7 --- /dev/null +++ b/include/configs/duckbill.h @@ -0,0 +1,172 @@ @@ -700,6 +677,3 @@ index 0000000000..565d8c58b7 +#include + +#endif /* __CONFIGS_DUCKBILL_H__ */ --- -2.17.1 - diff --git a/package/boot/uboot-sifiveu/patches/0002-board-sifive-spl-Initialized-the-PWM-setting-in-the-.patch b/package/boot/uboot-sifiveu/patches/0002-board-sifive-spl-Initialized-the-PWM-setting-in-the-.patch index 27cda75326f8a8..7e11d4c18b7eb8 100644 --- a/package/boot/uboot-sifiveu/patches/0002-board-sifive-spl-Initialized-the-PWM-setting-in-the-.patch +++ b/package/boot/uboot-sifiveu/patches/0002-board-sifive-spl-Initialized-the-PWM-setting-in-the-.patch @@ -14,8 +14,6 @@ LED's color will be set to yellow. 3 files changed, 60 insertions(+) create mode 100644 board/sifive/unmatched/pwm.c -diff --git a/board/sifive/unmatched/Makefile b/board/sifive/unmatched/Makefile -index 1345330089..5df01982e9 100644 --- a/board/sifive/unmatched/Makefile +++ b/board/sifive/unmatched/Makefile @@ -9,3 +9,4 @@ obj-y += spl.o @@ -23,9 +21,6 @@ index 1345330089..5df01982e9 100644 obj-y += unmatched.o endif +obj-y += pwm.o -diff --git a/board/sifive/unmatched/pwm.c b/board/sifive/unmatched/pwm.c -new file mode 100644 -index 0000000000..e1cc02310a --- /dev/null +++ b/board/sifive/unmatched/pwm.c @@ -0,0 +1,57 @@ @@ -86,8 +81,6 @@ index 0000000000..e1cc02310a + writel(PWM_CMP_ENABLE_VAL, (void *)&pwm1->cmp3); + writel(PWM_CFG_INIT, (void *)&pwm1->cfg); +} -diff --git a/board/sifive/unmatched/spl.c b/board/sifive/unmatched/spl.c -index 7c0beedc08..f3a661a81e 100644 --- a/board/sifive/unmatched/spl.c +++ b/board/sifive/unmatched/spl.c @@ -90,6 +90,8 @@ int spl_board_init_f(void) @@ -99,6 +92,3 @@ index 7c0beedc08..f3a661a81e 100644 ret = spl_gemgxl_init(); if (ret) { debug("Gigabit ethernet PHY (VSC8541) init failed: %d\n", ret); --- -2.27.0 - diff --git a/package/boot/uboot-sifiveu/patches/0003-board-sifive-Set-LED-s-color-to-purple-in-the-U-boot.patch b/package/boot/uboot-sifiveu/patches/0003-board-sifive-Set-LED-s-color-to-purple-in-the-U-boot.patch index 9820d2e2f9df9e..a98271acbc4036 100644 --- a/package/boot/uboot-sifiveu/patches/0003-board-sifive-Set-LED-s-color-to-purple-in-the-U-boot.patch +++ b/package/boot/uboot-sifiveu/patches/0003-board-sifive-Set-LED-s-color-to-purple-in-the-U-boot.patch @@ -14,8 +14,6 @@ stage. configs/sifive_unmatched_defconfig | 1 + 3 files changed, 14 insertions(+) -diff --git a/board/sifive/unmatched/pwm.c b/board/sifive/unmatched/pwm.c -index e1cc02310a..bd67672c22 100644 --- a/board/sifive/unmatched/pwm.c +++ b/board/sifive/unmatched/pwm.c @@ -36,6 +36,7 @@ void pwm_device_init(void) @@ -37,8 +35,6 @@ index e1cc02310a..bd67672c22 100644 + writel(PWM_CMP_ENABLE_VAL, (void *)&pwm0->cmp3); +#endif } -diff --git a/board/sifive/unmatched/unmatched.c b/board/sifive/unmatched/unmatched.c -index 6295deeae2..30c082d001 100644 --- a/board/sifive/unmatched/unmatched.c +++ b/board/sifive/unmatched/unmatched.c @@ -22,6 +22,12 @@ void *board_fdt_blob_setup(int *err) @@ -54,15 +50,10 @@ index 6295deeae2..30c082d001 100644 int board_init(void) { /* enable all cache ways */ -diff --git a/configs/sifive_unmatched_defconfig b/configs/sifive_unmatched_defconfig -index d400ed0b23..0758f8e90f 100644 --- a/configs/sifive_unmatched_defconfig +++ b/configs/sifive_unmatched_defconfig -@@ -51,3 +51,4 @@ CONFIG_DM_SCSI=y +@@ -62,3 +62,4 @@ CONFIG_DM_SCSI=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PCI=y +CONFIG_BOARD_EARLY_INIT_F=y --- -2.27.0 - diff --git a/package/boot/uboot-sifiveu/patches/0009-riscv-Fix-build-against-binutils.patch b/package/boot/uboot-sifiveu/patches/0009-riscv-Fix-build-against-binutils.patch index 87dbf984ec54aa..f7c6a622913587 100644 --- a/package/boot/uboot-sifiveu/patches/0009-riscv-Fix-build-against-binutils.patch +++ b/package/boot/uboot-sifiveu/patches/0009-riscv-Fix-build-against-binutils.patch @@ -26,8 +26,6 @@ Date: Mon Oct 3 18:07:54 2022 +0200 Tested-by: Christian Stewart Reviewed-by: Rick Chen -diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile -index 0b80eb8d86..53d1194ffb 100644 --- a/arch/riscv/Makefile +++ b/arch/riscv/Makefile @@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y) diff --git a/package/boot/uboot-sifiveu/patches/100-mkimage-check-environment-for-dtc-binary-location.patch b/package/boot/uboot-sifiveu/patches/100-mkimage-check-environment-for-dtc-binary-location.patch index 482aa1a3693cb0..789172f21b41e3 100644 --- a/package/boot/uboot-sifiveu/patches/100-mkimage-check-environment-for-dtc-binary-location.patch +++ b/package/boot/uboot-sifiveu/patches/100-mkimage-check-environment-for-dtc-binary-location.patch @@ -17,7 +17,7 @@ Cc: Simon Glass --- a/tools/fit_image.c +++ b/tools/fit_image.c -@@ -726,9 +726,14 @@ static int fit_handle_file(struct image_ +@@ -729,9 +729,14 @@ static int fit_handle_file(struct image_ } *cmd = '\0'; } else if (params->datafile) { diff --git a/package/boot/uboot-sifiveu/patches/130-fix-mkimage-host-build.patch b/package/boot/uboot-sifiveu/patches/130-fix-mkimage-host-build.patch index cd65c1321fc320..8b110a880f1c09 100644 --- a/package/boot/uboot-sifiveu/patches/130-fix-mkimage-host-build.patch +++ b/package/boot/uboot-sifiveu/patches/130-fix-mkimage-host-build.patch @@ -1,6 +1,6 @@ --- a/tools/image-host.c +++ b/tools/image-host.c -@@ -1125,6 +1125,7 @@ static int fit_config_add_verification_d +@@ -1122,6 +1122,7 @@ static int fit_config_add_verification_d * 2) get public key (X509_get_pubkey) * 3) provide der format (d2i_RSAPublicKey) */ @@ -8,7 +8,7 @@ static int read_pub_key(const char *keydir, const void *name, unsigned char **pubkey, int *pubkey_len) { -@@ -1178,6 +1179,13 @@ err_cert: +@@ -1175,6 +1176,13 @@ err_cert: fclose(f); return ret; } diff --git a/package/boot/uboot-tegra/Makefile b/package/boot/uboot-tegra/Makefile index d47ef6f6f01a3a..a90008bbd1d301 100644 --- a/package/boot/uboot-tegra/Makefile +++ b/package/boot/uboot-tegra/Makefile @@ -6,13 +6,15 @@ # include $(TOPDIR)/rules.mk -PKG_VERSION := 2020.04 -PKG_RELEASE:=3 +PKG_VERSION := 2024.04 +PKG_RELEASE:=1 -PKG_HASH := fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 +PKG_HASH := 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a PKG_MAINTAINER := Tomasz Maciej Nowak +UBOOT_USE_INTREE_DTC:=1 + include $(INCLUDE_DIR)/u-boot.mk include $(INCLUDE_DIR)/package.mk @@ -46,11 +48,6 @@ define Build/bct-image ) endef -define Build/Configure - sed '/select BINMAN/d' -i $(PKG_BUILD_DIR)/arch/arm/mach-tegra/Kconfig - $(call Build/Configure/U-Boot) -endef - define Build/Compile $(call Build/Compile/U-Boot) $(call Build/bct-image) diff --git a/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch b/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch index a4080e4ea9df25..6abb151608121a 100644 --- a/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch +++ b/package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch @@ -34,8 +34,6 @@ Signed-off-by: Rob Herring scripts/dtc/dtc-lexer.l | 1 - 1 file changed, 1 deletion(-) -diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l -index 5c6c3fd557d7f..b3b7270300de5 100644 --- a/scripts/dtc/dtc-lexer.l +++ b/scripts/dtc/dtc-lexer.l @@ -38,7 +38,6 @@ LINECOMMENT "//".*\n diff --git a/package/devel/ply/Makefile b/package/devel/ply/Makefile new file mode 100644 index 00000000000000..4a2443a5c5a1dc --- /dev/null +++ b/package/devel/ply/Makefile @@ -0,0 +1,54 @@ +# +# Copyright (C) 2022 Ye Jiaqiang, Tony Ambardar +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ply +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/iovisor/ply.git +PKG_MIRROR_HASH:=d4f434c4d11b662b61da2de8b5a29ecdeac655aa5158f4c4127e2a91047c0c54 +PKG_SOURCE_DATE:=2023-05-16 +PKG_SOURCE_VERSION:=1b57943db56692924bccb61c271de24a8264d8df + +PKG_LICENSE:=GPLv2 +PKG_LICENSE_FILES:=COPYING +PKG_MAINTAINER:=Tony Ambardar + +include $(INCLUDE_DIR)/package.mk + +define Package/ply + SECTION:=devel + CATEGORY:=Development + TITLE:=Light-weight dynamic tracer for Linux + URL:=https://github.com/iovisor/ply.git + DEPENDS:= \ + @KERNEL_BPF_EVENTS @KERNEL_DYNAMIC_FTRACE @KERNEL_DEBUG_FS \ + @mips||mipsel||mips64||mips64el||x86_64||powerpc||arm_v7||aarch64||riscv||riscv64 +endef + +define Package/ply/description + A light-weight dynamic tracer for Linux that leverages the kernel's + BPF VM in concert with kprobes and tracepoints to attach probes to + arbitrary points in the kernel. +endef + +CONFIGURE_ARGS += --enable-shared=yes --enable-static=no + +define Build/Prepare + $(call Build/Prepare/Default) + cd $(PKG_BUILD_DIR) && exec ./autogen.sh +endef + +define Package/ply/install + $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib + $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ply/.libs/ply $(1)/usr/bin/ + $(CP) $(PKG_BUILD_DIR)/src/libply/.libs/libply.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,ply)) diff --git a/package/devel/ply/patches/100-revert-read-kernel-variants.patch b/package/devel/ply/patches/100-revert-read-kernel-variants.patch new file mode 100644 index 00000000000000..61615e93e1476f --- /dev/null +++ b/package/devel/ply/patches/100-revert-read-kernel-variants.patch @@ -0,0 +1,94 @@ +From 755220eb974708615b14bcdc6412319698e0485d Mon Sep 17 00:00:00 2001 +From: Tony Ambardar +Date: Thu, 22 Dec 2022 22:53:10 -0800 +Subject: [PATCH] Revert "ply: Use new read_kernel variants" + +This reverts commit 17864b9818cceca09f31a346908afe1c718c10c5. + +Fixes: 17864b98 ("ply: Use new read_kernel variants") +Signed-off-by: Tony Ambardar +--- + src/libply/built-in/memory.c | 10 +++++----- + src/libply/ir.c | 10 +++++----- + src/libply/provider/tracepoint.c | 2 +- + 3 files changed, 11 insertions(+), 11 deletions(-) + +--- a/src/libply/built-in/memory.c ++++ b/src/libply/built-in/memory.c +@@ -140,7 +140,7 @@ static int str_ir_post(const struct func + ir_emit_ldbp(pb->ir, BPF_REG_1, n->sym->irs.stack); + ir_emit_insn(ir, MOV_IMM((int32_t)type_sizeof(n->sym->type)), BPF_REG_2, 0); + ir_emit_sym_to_reg(ir, BPF_REG_3, ptr->sym); +- ir_emit_insn(ir, CALL(BPF_FUNC_probe_read_kernel_str), 0, 0); ++ ir_emit_insn(ir, CALL(BPF_FUNC_probe_read_str), 0, 0); + return 0; + } + +@@ -305,7 +305,7 @@ static int struct_dot_ir_pre(const struc + sou->sym->irs.hint.dot = 1; + + /* this also means we need to put ourselves on the +- * stack since data will be loaded via probe_read_kernel */ ++ * stack since data will be loaded via probe_read */ + n->sym->irs.hint.stack = 1; + } + return 0; +@@ -334,7 +334,7 @@ static int struct_dot_ir_post(const stru + + ir_emit_sym_to_reg(pb->ir, BPF_REG_3, ptr->sym); + ir_emit_insn(pb->ir, ALU64_IMM(BPF_ADD, offset), BPF_REG_3, 0); +- goto probe_read_kernel; ++ goto probe_read; + } + + offset += sou->sym->irs.stack; +@@ -346,10 +346,10 @@ static int struct_dot_ir_post(const stru + } + + ir_emit_insn(pb->ir, ALU_IMM(BPF_ADD, offset), BPF_REG_3, 0); +-probe_read_kernel: ++probe_read: + ir_emit_insn(pb->ir, MOV_IMM((int32_t)dst->size), BPF_REG_2, 0); + ir_emit_ldbp(pb->ir, BPF_REG_1, dst->stack); +- ir_emit_insn(pb->ir, CALL(BPF_FUNC_probe_read_kernel), 0, 0); ++ ir_emit_insn(pb->ir, CALL(BPF_FUNC_probe_read), 0, 0); + /* TODO if (r0) exit(r0); */ + return 0; + } +--- a/src/libply/ir.c ++++ b/src/libply/ir.c +@@ -38,10 +38,10 @@ static const char *bpf_func_name(enum bp + return "map_update_elem"; + case BPF_FUNC_perf_event_output: + return "perf_event_output"; +- case BPF_FUNC_probe_read_kernel: +- return "probe_read_kernel"; +- case BPF_FUNC_probe_read_kernel_str: +- return "probe_read_kernel_str"; ++ case BPF_FUNC_probe_read: ++ return "probe_read"; ++ case BPF_FUNC_probe_read_str: ++ return "probe_read_str"; + case BPF_FUNC_trace_printk: + return "trace_printk"; + default: +@@ -416,7 +416,7 @@ void ir_emit_read_to_sym(struct ir *ir, + if (src != BPF_REG_3) + ir_emit_insn(ir, MOV, BPF_REG_3, src); + +- ir_emit_insn(ir, CALL(BPF_FUNC_probe_read_kernel), 0, 0); ++ ir_emit_insn(ir, CALL(BPF_FUNC_probe_read), 0, 0); + /* TODO if (r0) exit(r0); */ + } + +--- a/src/libply/provider/tracepoint.c ++++ b/src/libply/provider/tracepoint.c +@@ -68,7 +68,7 @@ static int tracepoint_dyn_ir_post(const + ir_emit_insn(ir, ALU_IMM(BPF_AND, 0xffff), BPF_REG_4, 0); + ir_emit_insn(ir, ALU64(BPF_ADD), BPF_REG_3, BPF_REG_4); + +- ir_emit_insn(ir, CALL(BPF_FUNC_probe_read_kernel), 0, 0); ++ ir_emit_insn(ir, CALL(BPF_FUNC_probe_read), 0, 0); + return 0; + } + diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 2ffd2e014c7fd1..fc578115f34cda 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -40,6 +40,7 @@ ALLWIFIBOARDS:= \ linksys_mx8500 \ netgear_lbr20 \ netgear_rax120v2 \ + netgear_sxk80 \ netgear_wax214 \ netgear_wax218 \ netgear_wax620 \ @@ -161,6 +162,7 @@ $(eval $(call generate-ipq-wifi-package,linksys_mx5300,Linksys MX5300)) $(eval $(call generate-ipq-wifi-package,linksys_mx8500,Linksys MX8500)) $(eval $(call generate-ipq-wifi-package,netgear_lbr20,Netgear LBR20)) $(eval $(call generate-ipq-wifi-package,netgear_rax120v2,Netgear RAX120v2)) +$(eval $(call generate-ipq-wifi-package,netgear_sxk80,Netgear SXK80)) $(eval $(call generate-ipq-wifi-package,netgear_wax214,Netgear WAX214)) $(eval $(call generate-ipq-wifi-package,netgear_wax218,Netgear WAX218)) $(eval $(call generate-ipq-wifi-package,netgear_wax620,Netgear WAX620)) diff --git a/package/firmware/layerscape/fman-ucode/Makefile b/package/firmware/layerscape/fman-ucode/Makefile index 99729e0b830704..3dc1bfcb140eb6 100644 --- a/package/firmware/layerscape/fman-ucode/Makefile +++ b/package/firmware/layerscape/fman-ucode/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fman-ucode -PKG_VERSION:=lf-6.1.1-1.0.0 +PKG_VERSION:=6.6.3.1.0.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-fm-ucode -PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0 -PKG_MIRROR_HASH:=d69792e0b03f2fd00cb9d69325d9817b43fb14dd1b27e41018b3ea69b25c55a5 +PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 +PKG_MIRROR_HASH:=6bb9dd8ae0ac7b2ba0e5bc5e0590732167844a1b2c9316fbdcdd04e600785b0c PKG_FLAGS:=nonshared diff --git a/package/firmware/layerscape/ls-ddr-phy/Makefile b/package/firmware/layerscape/ls-ddr-phy/Makefile index 848ee4e85fce8b..ce39ea7dc673fa 100644 --- a/package/firmware/layerscape/ls-ddr-phy/Makefile +++ b/package/firmware/layerscape/ls-ddr-phy/Makefile @@ -6,13 +6,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ls-ddr-phy -PKG_VERSION:=21.08 -PKG_RELEASE:=3 +PKG_VERSION:=6.6.3.1.0.0 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/NXP/ddr-phy-binary.git -PKG_SOURCE_VERSION:=LSDK-21.08 -PKG_MIRROR_HASH:=2f9bf4f6b2410e436e4e606f981c71919b1896e4da4f204de483d9f7677a064d +PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 +PKG_MIRROR_HASH:=7a1a35b3060adba875c507be3a5c800fa0c461103aaeb8eb0eab11f1f4b8139f PKG_BUILD_DEPENDS:=tfa-layerscape/host PKG_LICENSE:=EULA diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile index 3565c540d7f4fb..98ffe3c6790e25 100644 --- a/package/firmware/layerscape/ls-rcw/Makefile +++ b/package/firmware/layerscape/ls-rcw/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ls-rcw -PKG_VERSION:=lf-6.1.1-1.0.0 +PKG_VERSION:=6.6.3.1.0.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/nxp-qoriq/rcw -PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0 -PKG_MIRROR_HASH:=6d505c1a60046a79c91b69cd6e26a2ef3515d7cb2999bdc9defcb664a1a5aef9 +PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 +PKG_MIRROR_HASH:=da45ce99a0ff85375673fa8c05110c3bda36dedca4ac66190809328f79878a0a PKG_FLAGS:=nonshared diff --git a/package/firmware/layerscape/ppfe-firmware/Makefile b/package/firmware/layerscape/ppfe-firmware/Makefile index b6a251098efa8f..2b0c5f3207d9c8 100644 --- a/package/firmware/layerscape/ppfe-firmware/Makefile +++ b/package/firmware/layerscape/ppfe-firmware/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ppfe -PKG_VERSION:=lf-6.1.1-1.0.0 +PKG_VERSION:=6.6.3.1.0.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-engine-pfe-bin -PKG_SOURCE_VERSION:=lf-6.1.1-1.0.0 -PKG_MIRROR_HASH:=59f5660f1b93314e3e073053195719eab7361f07d1a9e02896f9356b1a615873 +PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 +PKG_MIRROR_HASH:=836da0d1ace6c5896c434940b5f06ae9ddcb871959e9f5aa3df75d67e39aec41 PKG_FLAGS:=nonshared diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile index b86177b91adcb1..f256a1efe4f9b0 100644 --- a/package/firmware/linux-firmware/Makefile +++ b/package/firmware/linux-firmware/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linux-firmware -PKG_VERSION:=20240220 +PKG_VERSION:=20240513 PKG_RELEASE:=1 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=bf0f239dc0801e9d6bf5d5fb3e2f549575632cf4688f4348184199cb02c2bcd7 +PKG_HASH:=9f05edb99668135d37cedc4fdd18aac2802dc9e4566e086e6c6c2e321f3ecc4e PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/linux-firmware/realtek.mk b/package/firmware/linux-firmware/realtek.mk index cd64d79d632a55..e0707251603c70 100644 --- a/package/firmware/linux-firmware/realtek.mk +++ b/package/firmware/linux-firmware/realtek.mk @@ -136,7 +136,7 @@ $(eval $(call BuildPackage,rtl8761bu-firmware)) Package/rtl8821ae-firmware = $(call Package/firmware-default,RealTek RTL8821AE firmware,,LICENCE.rtlwifi_firmware.txt) define Package/rtl8821ae-firmware/install $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi - $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8821aefw.bin $(1)/lib/firmware/rtlwifi + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8821aefw_29.bin $(1)/lib/firmware/rtlwifi $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8821aefw_wowlan.bin $(1)/lib/firmware/rtlwifi endef $(eval $(call BuildPackage,rtl8821ae-firmware)) diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index a0080bdbfdb09b..5b95ec59de2dd2 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb -PKG_VERSION:=2024.01.23 +PKG_VERSION:=2024.05.08 PKG_RELEASE:=1 PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ -PKG_HASH:=c8a61c9acf76fa7eb4239e89f640dee3e87098d9f69b4d3518c9c60fc6d20c55 +PKG_HASH:=9aee1d86ebebb363b714bec941b2820f31e3b7f1a485ddc9fcbd9985c7d3e7c4 PKG_MAINTAINER:=Felix Fietkau diff --git a/package/libs/libbpf/Makefile b/package/libs/libbpf/Makefile index 6b894972a763c7..2105a1c568e8d1 100644 --- a/package/libs/libbpf/Makefile +++ b/package/libs/libbpf/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libbpf -PKG_VERSION:=1.4.1 +PKG_VERSION:=1.4.2 PKG_RELEASE:=1 PKG_SOURCE_URL:=https://github.com/libbpf/libbpf -PKG_MIRROR_HASH:=46469f720ed246529e46d84a6444ae1c1a1eaf2a717a5a055c9973bb52159ec3 +PKG_MIRROR_HASH:=eaf56a8d4297a1dfb477d91b4fb7c7c5ad6b6df73e0f7ac3c8fd93f2664c2e85 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=v1.4.1 +PKG_SOURCE_VERSION:=v1.4.2 PKG_ABI_VERSION:=$(firstword $(subst .,$(space),$(PKG_VERSION))) PKG_MAINTAINER:=Tony Ambardar diff --git a/package/libs/mbedtls/patches/100-fix-gcc14-build.patch b/package/libs/mbedtls/patches/100-fix-gcc14-build.patch new file mode 100644 index 00000000000000..656e6058142998 --- /dev/null +++ b/package/libs/mbedtls/patches/100-fix-gcc14-build.patch @@ -0,0 +1,11 @@ +--- a/library/common.h ++++ b/library/common.h +@@ -199,7 +199,7 @@ static inline void mbedtls_xor(unsigned + uint8x16_t x = veorq_u8(v1, v2); + vst1q_u8(r + i, x); + } +-#if defined(__IAR_SYSTEMS_ICC__) ++#if defined(__IAR_SYSTEMS_ICC__) || (defined(MBEDTLS_COMPILER_IS_GCC) && MBEDTLS_GCC_VERSION >= 140100) + /* This if statement helps some compilers (e.g., IAR) optimise out the byte-by-byte tail case + * where n is a constant multiple of 16. + * For other compilers (e.g. recent gcc and clang) it makes no difference if n is a compile-time diff --git a/package/network/config/firewall4/Makefile b/package/network/config/firewall4/Makefile index 365a363303fcfd..6aacc05e365b45 100644 --- a/package/network/config/firewall4/Makefile +++ b/package/network/config/firewall4/Makefile @@ -9,9 +9,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git -PKG_SOURCE_DATE:=2023-11-03 -PKG_SOURCE_VERSION:=698a53354fd280aae097efe08803c0c9a10c14c2 -PKG_MIRROR_HASH:=736b3d03cf0db1170242de20776b0095cc37d260108e4313f84eafb46b1be711 +PKG_SOURCE_DATE:=2024-05-21 +PKG_SOURCE_VERSION:=4c01d1ebf99e8ecfa69758a9b4f450ecef7b93cd +PKG_MIRROR_HASH:=bbc5622bc03e3b43116fcc86e3fa2d2372bfc07b3a00d2b3a6efac4f7454a403 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC diff --git a/package/network/config/ltq-adsl-app/patches/001-stupid_breakage_fix.patch b/package/network/config/ltq-adsl-app/patches/001-stupid_breakage_fix.patch index a868678d1eada4..ed04b94ba2db9e 100644 --- a/package/network/config/ltq-adsl-app/patches/001-stupid_breakage_fix.patch +++ b/package/network/config/ltq-adsl-app/patches/001-stupid_breakage_fix.patch @@ -1,6 +1,6 @@ ---- a/src/dsl_cpe_cli_access.c 2016-05-27 12:34:43.612485449 -0700 -+++ b/src/dsl_cpe_cli_access.c 2016-05-27 12:45:37.491727862 -0700 -@@ -1142,7 +1142,7 @@ +--- a/src/dsl_cpe_cli_access.c ++++ b/src/dsl_cpe_cli_access.c +@@ -1142,7 +1142,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Auto if ((ret < 0) && (autobootCtrl.accessCtl.nReturn < DSL_SUCCESS)) { @@ -9,7 +9,7 @@ } else { -@@ -1213,7 +1213,7 @@ +@@ -1213,7 +1213,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Auto if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS)) { @@ -18,7 +18,7 @@ } else { -@@ -1290,7 +1290,7 @@ +@@ -1290,7 +1290,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Line if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS)) { @@ -27,7 +27,7 @@ } else { -@@ -1355,7 +1355,7 @@ +@@ -1355,7 +1355,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Reso pCtx, &resourceUsageStatisticsData); if (ret < 0) { @@ -36,7 +36,7 @@ } else { -@@ -3084,7 +3084,7 @@ +@@ -3084,7 +3084,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_G997 if ((ret < 0) && (pData->accessCtl.nReturn < DSL_SUCCESS)) { @@ -45,7 +45,7 @@ } else { -@@ -4654,7 +4654,7 @@ +@@ -4654,7 +4654,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_G997 if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS)) { @@ -54,7 +54,7 @@ } else { -@@ -5714,7 +5714,7 @@ +@@ -5714,7 +5714,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_G997 if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS)) { diff --git a/package/network/config/netifd/files/sbin/ifdown b/package/network/config/netifd/files/sbin/ifdown deleted file mode 120000 index a0e5c176a33e40..00000000000000 --- a/package/network/config/netifd/files/sbin/ifdown +++ /dev/null @@ -1 +0,0 @@ -ifup \ No newline at end of file diff --git a/package/network/config/netifd/files/sbin/ifdown b/package/network/config/netifd/files/sbin/ifdown new file mode 100755 index 00000000000000..a0e5c176a33e40 --- /dev/null +++ b/package/network/config/netifd/files/sbin/ifdown @@ -0,0 +1 @@ +ifup \ No newline at end of file diff --git a/package/network/ipv6/thc-ipv6/patches/101-remove-march-native.patch b/package/network/ipv6/thc-ipv6/patches/101-remove-march-native.patch index da6c7caa7cba05..b397f402b1d570 100644 --- a/package/network/ipv6/thc-ipv6/patches/101-remove-march-native.patch +++ b/package/network/ipv6/thc-ipv6/patches/101-remove-march-native.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -7,7 +7,7 @@ HAVE_SSL=yes +@@ -7,7 +7,7 @@ #CC=gcc #CFLAGS=-g diff --git a/package/network/utils/ebtables/Makefile b/package/network/utils/ebtables/Makefile index 32a452b06868b5..1eae868d7a9293 100644 --- a/package/network/utils/ebtables/Makefile +++ b/package/network/utils/ebtables/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ebtables PKG_SOURCE_DATE:=2018-06-27 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=https://git.netfilter.org/ebtables PKG_SOURCE_PROTO:=git diff --git a/package/network/utils/ebtables/patches/100-musl_fix.patch b/package/network/utils/ebtables/patches/100-musl_fix.patch deleted file mode 100644 index f393ea7d91d63e..00000000000000 --- a/package/network/utils/ebtables/patches/100-musl_fix.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/include/ebtables_u.h -+++ b/include/ebtables_u.h -@@ -23,6 +23,7 @@ - - #ifndef EBTABLES_U_H - #define EBTABLES_U_H -+#define _NETINET_IF_ETHER_H - #include - #include - #include diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index 2f9d2f2bc98110..85d9f437f63e6b 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.7.0 +PKG_VERSION:=6.9.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=ff942dd9828d7d1f867f61fe72ce433078c31e5d8e4a78e20f02cb5892e8841d +PKG_HASH:=2f643d09ea11a4a2a043c92e2b469b5f73228cbf241ae806760296ed0ec413d0 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 @@ -77,14 +77,7 @@ $(call Package/iproute2/Default) VARIANT:=tcfull PROVIDES:=tc ALTERNATIVES:=400:/sbin/tc:/usr/libexec/tc-full - DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables +tc-mod-iptables -endef - -define Package/tc-mod-iptables -$(call Package/iproute2/Default) - TITLE:=Traffic control module - iptables action - VARIANT:=tcfull - DEPENDS:=+libxtables +libbpf + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables endef define Package/genl @@ -102,7 +95,7 @@ endef define Package/ss $(call Package/iproute2/Default) TITLE:=Socket statistics utility - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +kmod-netlink-diag + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +kmod-netlink-diag endef define Package/nstat @@ -232,11 +225,6 @@ define Package/tc-full/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full endef -define Package/tc-mod-iptables/install - $(INSTALL_DIR) $(1)/usr/lib/tc - $(CP) $(PKG_BUILD_DIR)/tc/m_xt.so $(1)/usr/lib/tc -endef - define Package/genl/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/genl/genl $(1)/usr/sbin/ @@ -269,9 +257,6 @@ endef $(eval $(call BuildPackage,ip-tiny)) $(eval $(call BuildPackage,ip-full)) -# build tc-mod-iptables before its dependents, to avoid -# spurious rebuilds when building multiple variants. -$(eval $(call BuildPackage,tc-mod-iptables)) $(eval $(call BuildPackage,tc-tiny)) $(eval $(call BuildPackage,tc-bpf)) $(eval $(call BuildPackage,tc-full)) diff --git a/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch b/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch index c32863c3648997..38448e6cd6f920 100644 --- a/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch +++ b/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch @@ -1,6 +1,6 @@ --- a/tc/Makefile +++ b/tc/Makefile -@@ -119,6 +119,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR +@@ -107,6 +107,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR ifneq ($(IPT_LIB_DIR),) CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\" endif diff --git a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch index 8c70c14489199d..7f946070f9091d 100644 --- a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch +++ b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -68,9 +68,9 @@ WFLAGS += -Wmissing-declarations -Wold-s +@@ -69,9 +69,9 @@ WFLAGS += -Wmissing-declarations -Wold-s CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) YACCFLAGS = -d -t -v diff --git a/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch b/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch index 0d228757517fa7..ee18f17d54f00e 100644 --- a/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch +++ b/package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -391,7 +391,7 @@ check_tirpc() +@@ -362,7 +362,7 @@ check_tirpc() check_mnl() { diff --git a/package/network/utils/iproute2/patches/145-keep_libelf_optional.patch b/package/network/utils/iproute2/patches/145-keep_libelf_optional.patch index bffacddb21738d..99b9d326fe4f8b 100644 --- a/package/network/utils/iproute2/patches/145-keep_libelf_optional.patch +++ b/package/network/utils/iproute2/patches/145-keep_libelf_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -246,7 +246,7 @@ EOF +@@ -217,7 +217,7 @@ EOF check_elf() { diff --git a/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch b/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch index 570e9c7038bc27..767c968e74c289 100644 --- a/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch +++ b/package/network/utils/iproute2/patches/150-keep_libcap_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -449,7 +449,7 @@ EOF +@@ -421,7 +421,7 @@ EOF check_cap() { diff --git a/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch b/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch index 4d7fb76308683e..011dd48f8e14f3 100644 --- a/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch +++ b/package/network/utils/iproute2/patches/155-keep_tirpc_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -378,7 +378,7 @@ check_selinux() +@@ -349,7 +349,7 @@ check_selinux() check_tirpc() { diff --git a/package/network/utils/iproute2/patches/170-ip_tiny.patch b/package/network/utils/iproute2/patches/170-ip_tiny.patch index 71081c36bccb98..149bcd2afcbb6c 100644 --- a/package/network/utils/iproute2/patches/170-ip_tiny.patch +++ b/package/network/utils/iproute2/patches/170-ip_tiny.patch @@ -30,15 +30,15 @@ "Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n" " ip [ -force ] -batch filename\n" +#ifndef IPROUTE2_TINY - "where OBJECT := { address | addrlabel | amt | fou | help | ila | ioam | l2tp |\n" - " link | macsec | maddress | monitor | mptcp | mroute | mrule |\n" + "where OBJECT := { address | addrlabel | fou | help | ila | ioam | l2tp | link |\n" + " macsec | maddress | monitor | mptcp | mroute | mrule |\n" " neighbor | neighbour | netconf | netns | nexthop | ntable |\n" - " ntbl | route | rule | sr | tap | tcpmetrics |\n" + " ntbl | route | rule | sr | stats | tap | tcpmetrics |\n" " token | tunnel | tuntap | vrf | xfrm }\n" +#else -+ "where OBJECT := { address | link | maddress | monitor |\n" ++ "where OBJECT := { address | help | link | maddress | monitor |\n" + " neighbor | neighbour | netns | route |\n" -+ " rule | token | tunnel }\n" ++ " rule | stats | token | tunnel }\n" +#endif " OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n" " -h[uman-readable] | -iec | -j[son] | -p[retty] |\n" diff --git a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch b/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch deleted file mode 100644 index aef51395a95872..00000000000000 --- a/package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a/tc/Makefile -+++ b/tc/Makefile -@@ -106,7 +106,7 @@ LDLIBS += -L. -lm - - ifeq ($(SHARED_LIBS),y) - LDLIBS += -ldl --LDFLAGS += -Wl,-export-dynamic -+LDFLAGS += -Wl,--dynamic-list=dynsyms.list - endif - - TCLIB := tc_core.o -@@ -135,7 +135,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc - all: tc $(TCSO) - - tc: $(TCOBJ) $(LIBNETLINK) libtc.a -- $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ -+ $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ - - libtc.a: $(TCLIB) - $(QUIET_AR)$(AR) rcs $@ $^ -@@ -157,6 +157,7 @@ install: all - clean: - rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.tab.h; \ - rm -f emp_ematch.tab.* -+ rm -f dynsyms.list - - m_xt.so: m_xt.c - $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o m_xt.so m_xt.c $$($(PKG_CONFIG) xtables --cflags --libs) -@@ -193,4 +194,16 @@ static-syms.h: $(wildcard *.c) - sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ - done > $@ - -+else -+ -+tc: dynsyms.list -+m_xt.so: dynsyms.list -+dynsyms.list: $(wildcard *.c) -+ files="$(filter-out $(patsubst %.so,%.c,$(TCSO)), $^)" ; \ -+ echo "{" > $@ ; \ -+ for s in `grep -B 3 '\> $@ ; \ -+ echo "show_stats; print_nl; print_tm; parse_rtattr; parse_rtattr_flags; get_u32; matches; addattr_l; addattr_nest; addattr_nest_end; };" >> $@ -+ - endif diff --git a/package/network/utils/iproute2/patches/190-fix-nls-rpath-link.patch b/package/network/utils/iproute2/patches/190-fix-nls-rpath-link.patch index 765e4ad2e8726a..545075fd857487 100644 --- a/package/network/utils/iproute2/patches/190-fix-nls-rpath-link.patch +++ b/package/network/utils/iproute2/patches/190-fix-nls-rpath-link.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -270,7 +270,7 @@ int main(int argc, char **argv) { +@@ -241,7 +241,7 @@ int main(int argc, char **argv) { } EOF @@ -9,7 +9,7 @@ local ret=$? rm -f $TMPDIR/libbpf_test.c $TMPDIR/libbpf_test -@@ -288,7 +288,7 @@ int main(int argc, char **argv) { +@@ -259,7 +259,7 @@ int main(int argc, char **argv) { } EOF diff --git a/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch b/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch index 8156adbf050fca..6ecf5568be37db 100644 --- a/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch +++ b/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch @@ -11,7 +11,7 @@ --- a/tc/Makefile +++ b/tc/Makefile -@@ -132,7 +132,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc +@@ -120,7 +120,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ @@ -19,4 +19,4 @@ +all: $(findstring tc,$(BUILD_VARIANT)) $(TCSO) tc: $(TCOBJ) $(LIBNETLINK) libtc.a - $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ + $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ diff --git a/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch b/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch index 92bf5cb66d875d..e41be20f108f8e 100644 --- a/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch +++ b/package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -435,14 +435,8 @@ EOF +@@ -407,14 +407,8 @@ EOF if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then echo "no" else diff --git a/package/network/utils/iproute2/patches/300-selinux-configurable.patch b/package/network/utils/iproute2/patches/300-selinux-configurable.patch index a611ba75f0f18d..36ecc735a74d4a 100644 --- a/package/network/utils/iproute2/patches/300-selinux-configurable.patch +++ b/package/network/utils/iproute2/patches/300-selinux-configurable.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -365,7 +365,7 @@ check_libbpf() +@@ -336,7 +336,7 @@ check_libbpf() check_selinux() # SELinux is a compile time option in the ss utility { diff --git a/package/network/utils/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch b/package/network/utils/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch new file mode 100644 index 00000000000000..530d2bcffc993c --- /dev/null +++ b/package/network/utils/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch @@ -0,0 +1,10 @@ +--- a/rdma/rdma.h ++++ b/rdma/rdma.h +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + #include "list.h" + #include "utils.h" diff --git a/package/network/utils/iproute2/patches/401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch b/package/network/utils/iproute2/patches/401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch new file mode 100644 index 00000000000000..a90c9fc80a3b1d --- /dev/null +++ b/package/network/utils/iproute2/patches/401-bridge-vlan.c-bridge-vlan.c-fix-build-with-gcc-14-on.patch @@ -0,0 +1,69 @@ +From 53a89bfd86fff1a00cc77cabb8457a03eaa3bc7d Mon Sep 17 00:00:00 2001 +From: Gabi Falk +Date: Fri, 10 May 2024 14:36:12 +0000 +Subject: [PATCH] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl + systems + +On glibc based systems the definition of 'struct timeval' is pulled in +with inclusion of header, but on musl based systems it +doesn't work this way. Missing definition triggers an +incompatible-pointer-types error with gcc 14 (warning on previous +versions of gcc): + +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC' + 50 | type value); \ + | ^~~~ +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC' + 55 | type value) \ + | ^~~~ +../include/json_print.h: In function 'print_tv': +../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types] + 58 | value); \ + | ^~~~~ + | | + | const struct timeval * + +Signed-off-by: Gabi Falk +Signed-off-by: Stephen Hemminger +--- + bridge/vlan.c | 1 + + bridge/vni.c | 1 + + vdpa/vdpa.c | 1 + + 3 files changed, 3 insertions(+) + +--- a/bridge/vlan.c ++++ b/bridge/vlan.c +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- a/bridge/vni.c ++++ b/bridge/vni.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- a/vdpa/vdpa.c ++++ b/vdpa/vdpa.c +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/package/network/utils/linux-atm/Makefile b/package/network/utils/linux-atm/Makefile index 43f4b6556b5818..c48309da9c2a53 100644 --- a/package/network/utils/linux-atm/Makefile +++ b/package/network/utils/linux-atm/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=linux-atm PKG_VERSION:=2.5.2 -PKG_RELEASE:=7 +PKG_RELEASE:=8 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/$(PKG_NAME) diff --git a/package/network/utils/linux-atm/patches/000-debian_16.patch b/package/network/utils/linux-atm/patches/000-debian_2.5.1-5.1.patch similarity index 87% rename from package/network/utils/linux-atm/patches/000-debian_16.patch rename to package/network/utils/linux-atm/patches/000-debian_2.5.1-5.1.patch index 4abaac07e8ac0a..27bf6b1ad19624 100644 --- a/package/network/utils/linux-atm/patches/000-debian_16.patch +++ b/package/network/utils/linux-atm/patches/000-debian_2.5.1-5.1.patch @@ -1,3 +1,45 @@ +--- a/src/mpoad/mpcd.8 ++++ b/src/mpoad/mpcd.8 +@@ -28,7 +28,7 @@ mpcd \- ATM MPOA (Multi\-Protocol Over A + .B ]] + .SH DESCRIPTION + MPOA client +-.SM(MPC) is responsible for creating and receiving ++.SM (MPC) is responsible for creating and receiving + internetwork layer shortcuts. Using these shortcuts MPCs forward + unicast internetwork layer packets effectively over ATM without need + for routing protocols. +@@ -43,7 +43,7 @@ accepts shortcuts and packets arriving o + shortcuts is done with the help of + .SM MPOA + server +-.SM(MPS). ++.SM (MPS). + .PP + Just as the Linux + .SM LAN +--- a/src/led/zeppelin.8 ++++ b/src/led/zeppelin.8 +@@ -99,7 +99,7 @@ Ring and ATM parts of the ELAN, so using + recommended. Token Ring support has received less testing than its + Ethernet counterpart. + .SH FILES +-.IP \fI/var/run/lec[interface number].pid\fP ++.IP \fI/var/run/lec[interface\ number].pid\fP + The file containing the process id of zeppelin. + .SH BUGS + John Bonham died 1980 and Led Zeppelin broke. +--- a/src/sigd/atmsigd.conf.4 ++++ b/src/sigd/atmsigd.conf.4 +@@ -125,7 +125,7 @@ a comment. The `#' character cannot be e + .P + If an option is specified in \fBatmsigd.conf\fP and on the command + line, the command line has priority. +-.COMPATIBILITY ++.SH COMPATIBILITY + Certain options used by past versions of \fBatmsigd\fP but no longer documented + on the man page are still recognized and supported, but they also yield a + warning message. Future versions of \fBatmsigd\fP will not recognize those --- a/src/arpd/io.c +++ b/src/arpd/io.c @@ -277,7 +277,8 @@ static void accept_new(void) @@ -226,45 +268,52 @@ if (trans) { /* set send socket buffer if we are transmitting */ ---- a/src/mpoad/mpcd.8 -+++ b/src/mpoad/mpcd.8 -@@ -28,7 +28,7 @@ mpcd \- ATM MPOA (Multi\-Protocol Over A - .B ]] - .SH DESCRIPTION - MPOA client --.SM(MPC) is responsible for creating and receiving -+.SM (MPC) is responsible for creating and receiving - internetwork layer shortcuts. Using these shortcuts MPCs forward - unicast internetwork layer packets effectively over ATM without need - for routing protocols. -@@ -43,7 +43,7 @@ accepts shortcuts and packets arriving o - shortcuts is done with the help of - .SM MPOA - server --.SM(MPS). -+.SM (MPS). - .PP - Just as the Linux - .SM LAN ---- a/src/led/zeppelin.8 -+++ b/src/led/zeppelin.8 -@@ -99,7 +99,7 @@ Ring and ATM parts of the ELAN, so using - recommended. Token Ring support has received less testing than its - Ethernet counterpart. - .SH FILES --.IP \fI/var/run/lec[interface number].pid\fP -+.IP \fI/var/run/lec[interface\ number].pid\fP - The file containing the process id of zeppelin. - .SH BUGS - John Bonham died 1980 and Led Zeppelin broke. ---- a/src/sigd/atmsigd.conf.4 -+++ b/src/sigd/atmsigd.conf.4 -@@ -125,7 +125,7 @@ a comment. The `#' character cannot be e - .P - If an option is specified in \fBatmsigd.conf\fP and on the command - line, the command line has priority. --.COMPATIBILITY -+.SH COMPATIBILITY - Certain options used by past versions of \fBatmsigd\fP but no longer documented - on the man page are still recognized and supported, but they also yield a - warning message. Future versions of \fBatmsigd\fP will not recognize those +@@ -663,7 +664,7 @@ int no_check = 0; + exit(0); + + usage: +- fprintf(stderr, Usage); ++ fprintf(stderr, "%s", Usage); + exit(1); + } + +--- a/src/arpd/arp.c ++++ b/src/arpd/arp.c +@@ -17,6 +17,7 @@ + #include /* for ntohs, etc. */ + #define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */ + #include ++#include + #include + #include + #include +--- a/src/arpd/itf.c ++++ b/src/arpd/itf.c +@@ -14,6 +14,7 @@ + #include + #define _LINUX_NETDEVICE_H /* glibc2 */ + #include ++#include + #include + + #include "atmd.h" +--- a/src/maint/atmdump.c ++++ b/src/maint/atmdump.c +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include /* for htonl and ntohl */ + #include + +--- a/src/maint/saaldump.c ++++ b/src/maint/saaldump.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include + + #include "pdu.h" diff --git a/package/network/utils/linux-atm/patches/510-remove-LINUX_NETDEVICE-hack.patch b/package/network/utils/linux-atm/patches/510-remove-LINUX_NETDEVICE-hack.patch index d76ec1eaf4a7d2..c16df18aa9a287 100644 --- a/package/network/utils/linux-atm/patches/510-remove-LINUX_NETDEVICE-hack.patch +++ b/package/network/utils/linux-atm/patches/510-remove-LINUX_NETDEVICE-hack.patch @@ -28,8 +28,8 @@ in Linux 4.20. #include -#define _LINUX_NETDEVICE_H /* glibc2 */ #include + #include #include - --- a/src/arpd/io.c +++ b/src/arpd/io.c @@ -21,7 +21,6 @@ @@ -48,5 +48,5 @@ in Linux 4.20. #include /* for ntohs, etc. */ -#define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */ #include + #include #include - #include diff --git a/package/network/utils/linux-atm/patches/600-fix-format-errors.patch b/package/network/utils/linux-atm/patches/600-fix-format-errors.patch deleted file mode 100644 index ef484f2fa3eb33..00000000000000 --- a/package/network/utils/linux-atm/patches/600-fix-format-errors.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/test/ttcp.c -+++ b/src/test/ttcp.c -@@ -664,7 +664,7 @@ int no_check = 0; - exit(0); - - usage: -- fprintf(stderr, Usage); -+ fprintf(stderr, "%s", Usage); - exit(1); - } - diff --git a/package/network/utils/linux-atm/patches/700-musl-include.patch b/package/network/utils/linux-atm/patches/600-musl-include.patch similarity index 100% rename from package/network/utils/linux-atm/patches/700-musl-include.patch rename to package/network/utils/linux-atm/patches/600-musl-include.patch diff --git a/package/network/utils/linux-atm/patches/700-fix-gcc14-build.patch b/package/network/utils/linux-atm/patches/700-fix-gcc14-build.patch new file mode 100644 index 00000000000000..a19dc6c76766f2 --- /dev/null +++ b/package/network/utils/linux-atm/patches/700-fix-gcc14-build.patch @@ -0,0 +1,82 @@ +--- a/src/arpd/io.c ++++ b/src/arpd/io.c +@@ -615,7 +615,7 @@ int ip_itf_info(int number,uint32_t *ip, + int get_local(int fd,struct sockaddr_atmsvc *addr) + { + int result; +- size_t length; ++ socklen_t length; + + length = sizeof(struct sockaddr_atmsvc); + result = getsockname(fd,(struct sockaddr *) addr,&length); +--- a/src/led/conn.c ++++ b/src/led/conn.c +@@ -405,7 +405,7 @@ Conn_t *accept_conn(Conn_t *conn) + { + Conn_t *new; + struct sockaddr_atmsvc addr; +- size_t len; ++ socklen_t len; + int fd; + char buff[MAX_ATM_ADDR_LEN+1]; + +@@ -538,7 +538,7 @@ static int handle_accept(Conn_t *conn) + */ + static int handle_data(Conn_t *conn) + { +- char buff[MAX_CTRL_FRAME]; ++ unsigned char buff[MAX_CTRL_FRAME]; + int retval; + + retval = recv_frame(conn, buff, sizeof(buff)); +--- a/src/led/frames.c ++++ b/src/led/frames.c +@@ -312,7 +312,7 @@ static void handle_ready_ind(Conn_t *con + * dependant handler functions. + * Returns < 0 for serious error + */ +-int handle_frame(Conn_t *conn, char *buff, int size) ++int handle_frame(Conn_t *conn, unsigned char *buff, int size) + { + struct ctrl_frame *frame; + +--- a/src/led/frames.h ++++ b/src/led/frames.h +@@ -13,7 +13,7 @@ int validate_frame(unsigned char *buff, + void send_ready_ind(Conn_t *conn); + void send_register_req(void); + +-int handle_frame(Conn_t *conn, char *buff, int size); ++int handle_frame(Conn_t *conn, unsigned char *buff, int size); + uint32_t send_flush_req(Conn_t *conn); + + void parse_tlvs(uint16_t opcode, unsigned char *tlvp, int numtlvs, int sizeoftlvs); +--- a/src/led/join.c ++++ b/src/led/join.c +@@ -43,7 +43,7 @@ static int read_join_rsp(char *buff, int + static int parse_join_rsp(unsigned char *buff, int size); + + static int get_bus_addr(struct sockaddr_atmsvc *addr); +-static int read_bus_arp(Conn_t *conn, struct sockaddr_atmsvc *addr, char *buff, int buffsize); ++static int read_bus_arp(Conn_t *conn, struct sockaddr_atmsvc *addr, unsigned char *buff, int buffsize); + + /* + * 5.1, Initial state +@@ -693,7 +693,7 @@ static int get_bus_addr(struct sockaddr_ + fd_set rfds; + struct timeval tv; + int n = 0, retval, timeout; +- char buff[MAX_CTRL_FRAME]; ++ unsigned char buff[MAX_CTRL_FRAME]; + + timeout = 4; /* wait response for 4 seconds */ + lec_params.c7c_current_timeout = 1; +@@ -740,7 +740,7 @@ static int get_bus_addr(struct sockaddr_ + * Tries to read BUS ATM address in *addr + * returns < 0 for error, 0 for not found > 0 for success + */ +-static int read_bus_arp(Conn_t *conn, struct sockaddr_atmsvc *addr, char *buff, int buffsize) ++static int read_bus_arp(Conn_t *conn, struct sockaddr_atmsvc *addr, unsigned char *buff, int buffsize) + { + int frame_size; + struct ctrl_frame *frame; diff --git a/package/network/utils/linux-atm/patches/800-include_sockios.patch b/package/network/utils/linux-atm/patches/800-include_sockios.patch deleted file mode 100644 index edb385ca104ada..00000000000000 --- a/package/network/utils/linux-atm/patches/800-include_sockios.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/src/maint/saaldump.c 2020-03-29 22:58:01.089711789 +0200 -+++ b/src/maint/saaldump.c 2020-03-29 22:59:17.564639387 +0200 -@@ -6,6 +6,7 @@ - #include - #endif - -+#include - #include - #include - #include ---- a/src/maint/atmdump.c 2020-03-29 22:58:18.573694469 +0200 -+++ b/src/maint/atmdump.c 2020-03-29 22:58:49.956729365 +0200 -@@ -6,6 +6,7 @@ - #include - #endif - -+#include - #include - #include - #include - diff --git a/package/system/apk/Makefile b/package/system/apk/Makefile index 912ddc253e6e23..e30bce94552f55 100644 --- a/package/system/apk/Makefile +++ b/package/system/apk/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-04-16 -PKG_SOURCE_VERSION:=ba6c31a5469ef74fb85119508e55de9631ffef41 -PKG_MIRROR_HASH:=3455d5799481add9ece3db685576d58be6303f3a13140133979b965cbd3c9966 +PKG_SOURCE_DATE:=2024-05-23 +PKG_SOURCE_VERSION:=6052bfef57a81d82451b4cad86f78a2d01959767 +PKG_MIRROR_HASH:=bf14da82cc363ee32a956dd880343018361079018a48701dc2b05cb88c18010e PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE)) @@ -17,8 +17,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_INSTALL:=1 HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST) -HOST_BUILD_DEPENDS:=lua/host -PKG_BUILD_DEPENDS:=$(HOST_BUILD_DEPENDS) +PKG_BUILD_DEPENDS:=lua/host include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/host-build.mk @@ -30,6 +29,7 @@ define Package/apk/default TITLE:=apk package manager DEPENDS:=+zlib URL:=$(PKG_SOURCE_URL) + PROVIDES:=apk endef define Package/apk-mbedtls @@ -52,7 +52,7 @@ MESON_HOST_VARS+=VERSION=$(PKG_VERSION) MESON_VARS+=VERSION=$(PKG_VERSION) MESON_HOST_ARGS += \ - -Dlua_version=5.1 \ + -Dhelp=disabled \ -Dcompressed-help=false \ -Ddocs=disabled \ -Dcrypto_backend=openssl \ diff --git a/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch b/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch index eac8a965e5a427..092ab1d726520c 100644 --- a/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch +++ b/package/system/apk/patches/0001-openwrt-move-layer-db-to-temp-folder.patch @@ -10,12 +10,12 @@ Signed-off-by: Paul Spooren --- a/src/database.c +++ b/src/database.c -@@ -1604,7 +1604,7 @@ const char *apk_db_layer_name(int layer) +@@ -1643,7 +1643,7 @@ const char *apk_db_layer_name(int layer) { switch (layer) { case APK_DB_LAYER_ROOT: return "lib/apk/db"; - case APK_DB_LAYER_UVOL: return "lib/apk/db-uvol"; + case APK_DB_LAYER_UVOL: return "tmp/run/uvol/.meta/apk"; default: - assert("invalid layer"); + assert(!"invalid layer"); return 0; diff --git a/package/system/apk/patches/0002-mbedtls-support.patch b/package/system/apk/patches/0002-mbedtls-support.patch deleted file mode 100644 index 62b3ab81d3a94b..00000000000000 --- a/package/system/apk/patches/0002-mbedtls-support.patch +++ /dev/null @@ -1,917 +0,0 @@ -From 74ea482102e1a7c1845b3eec19cbdb21264836d4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= -Date: Fri, 5 Apr 2024 12:06:56 +0300 -Subject: [PATCH 1/4] add alternate url wget implementation - ---- - .gitlab-ci.yml | 16 ++++- - meson.build | 6 +- - meson_options.txt | 1 + - src/io_url_wget.c | 150 ++++++++++++++++++++++++++++++++++++++++++++++ - src/meson.build | 4 +- - 5 files changed, 173 insertions(+), 4 deletions(-) - create mode 100644 src/io_url_wget.c - -diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml -index 7fc86563..b7e00008 100644 ---- a/.gitlab-ci.yml -+++ b/.gitlab-ci.yml -@@ -24,7 +24,19 @@ test:alpine: - script: - - apk update - - apk add make gcc git musl-dev openssl-dev linux-headers zlib-dev zstd-dev lua5.3-dev lua5.3-lzlib meson zlib-static zstd-static openssl-libs-static -- - meson build -+ - meson setup build -Dstatic_apk=true -+ - ninja -C build -+ tags: -+ - docker-alpine -+ - x86_64 -+ -+test:alpine-alt-config: -+ image: alpine -+ stage: test -+ script: -+ - apk update -+ - apk add make gcc git musl-dev openssl-dev linux-headers zlib-dev lua5.3-dev lua5.3-lzlib meson -+ - meson setup build -Durl_backend=wget -Dzstd=false - - ninja -C build - tags: - - docker-alpine -@@ -38,7 +50,7 @@ test:debian: - - apt-get install -y make gcc git libssl-dev zlib1g-dev libzstd-dev lua5.3-dev lua5.2 lua-zlib-dev sudo meson - - unlink /bin/sh - - ln -s /bin/bash /bin/sh -- - meson build -+ - meson setup build - - ninja -C build - tags: - - docker-alpine -diff --git a/meson.build b/meson.build -index 1a44c11f..9a14cac0 100644 ---- a/meson.build -+++ b/meson.build -@@ -33,6 +33,10 @@ subproject = meson.is_subproject() - - subdir('doc') - subdir('portability') --subdir('libfetch') -+if get_option('url_backend') == 'libfetch' -+ subdir('libfetch') -+else -+ libfetch_dep = dependency('', required: false) -+endif - subdir('src') - subdir('tests') -diff --git a/meson_options.txt b/meson_options.txt -index 693f46ec..940fe9a4 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -5,5 +5,6 @@ option('help', description: 'Build help into apk binaries, needs lua', type: 'fe - option('lua', description: 'Build luaapk (lua bindings)', type: 'feature', value: 'auto') - option('lua_version', description: 'Lua version to build against', type: 'string', value: '5.3') - option('static_apk', description: 'Also build apk.static', type: 'boolean', value: false) -+option('url_backend', description: 'URL backend', type: 'combo', choices: ['libfetch', 'wget'], value: 'libfetch') - option('uvol_db_target', description: 'Default target for uvol database layer', type: 'string') - option('zstd', description: 'Build with zstd support', type: 'boolean', value: true) -diff --git a/src/io_url_wget.c b/src/io_url_wget.c -new file mode 100644 -index 00000000..9a929222 ---- /dev/null -+++ b/src/io_url_wget.c -@@ -0,0 +1,150 @@ -+/* io_url_wget.c - Alpine Package Keeper (APK) -+ * -+ * Copyright (C) 2005-2008 Natanael Copa -+ * Copyright (C) 2008-2011 Timo Teräs -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-only -+ */ -+ -+#include -+#include -+#include -+#include "apk_io.h" -+ -+static char wget_timeout[16]; -+static char wget_no_check_certificate; -+ -+static int wget_translate_status(int status) -+{ -+ if (!WIFEXITED(status)) return -EFAULT; -+ switch (WEXITSTATUS(status)) { -+ case 0: return 0; -+ case 3: return -EIO; -+ case 4: return -ENETUNREACH; -+ case 5: return -EACCES; -+ case 6: return -EACCES; -+ case 7: return -EPROTO; -+ default: return -APKE_REMOTE_IO; -+ } -+} -+ -+struct apk_wget_istream { -+ struct apk_istream is; -+ int fd; -+ pid_t pid; -+}; -+ -+static int wget_spawn(const char *url, pid_t *pid, int *fd) -+{ -+ int i = 0, r, pipefds[2]; -+ posix_spawn_file_actions_t act; -+ char *argv[16]; -+ -+ argv[i++] = "wget"; -+ argv[i++] = "-q"; -+ argv[i++] = "-T"; -+ argv[i++] = wget_timeout; -+ if (wget_no_check_certificate) argv[i++] = "--no-check-certificate"; -+ argv[i++] = (char *) url; -+ argv[i++] = "-O"; -+ argv[i++] = "-"; -+ argv[i++] = 0; -+ -+ if (pipe2(pipefds, O_CLOEXEC) != 0) return -errno; -+ -+ posix_spawn_file_actions_init(&act); -+ posix_spawn_file_actions_adddup2(&act, pipefds[1], STDOUT_FILENO); -+ r = posix_spawnp(pid, "wget", &act, 0, argv, environ); -+ posix_spawn_file_actions_destroy(&act); -+ if (r != 0) return -r; -+ close(pipefds[1]); -+ *fd = pipefds[0]; -+ return 0; -+} -+ -+static int wget_check_exit(struct apk_wget_istream *wis) -+{ -+ int status; -+ -+ if (wis->pid == 0) return apk_istream_error(&wis->is, 0); -+ if (waitpid(wis->pid, &status, 0) == wis->pid) { -+ wis->pid = 0; -+ return apk_istream_error(&wis->is, wget_translate_status(status)); -+ } -+ return 0; -+} -+ -+static void wget_get_meta(struct apk_istream *is, struct apk_file_meta *meta) -+{ -+} -+ -+static ssize_t wget_read(struct apk_istream *is, void *ptr, size_t size) -+{ -+ struct apk_wget_istream *wis = container_of(is, struct apk_wget_istream, is); -+ ssize_t r; -+ -+ r = read(wis->fd, ptr, size); -+ if (r < 0) return -errno; -+ if (r == 0) return wget_check_exit(wis); -+ return r; -+} -+ -+static int wget_close(struct apk_istream *is) -+{ -+ int r = is->err; -+ struct apk_wget_istream *wis = container_of(is, struct apk_wget_istream, is); -+ -+ while (wis->pid != 0) -+ wget_check_exit(wis); -+ -+ close(wis->fd); -+ free(wis); -+ return r < 0 ? r : 0; -+} -+ -+static const struct apk_istream_ops wget_istream_ops = { -+ .get_meta = wget_get_meta, -+ .read = wget_read, -+ .close = wget_close, -+}; -+ -+struct apk_istream *apk_io_url_istream(const char *url, time_t since) -+{ -+ struct apk_wget_istream *wis; -+ int r; -+ -+ wis = malloc(sizeof(*wis) + apk_io_bufsize); -+ if (wis == NULL) return ERR_PTR(-ENOMEM); -+ -+ *wis = (struct apk_wget_istream) { -+ .is.ops = &wget_istream_ops, -+ .is.buf = (uint8_t *)(wis + 1), -+ .is.buf_size = apk_io_bufsize, -+ }; -+ r = wget_spawn(url, &wis->pid, &wis->fd); -+ if (r != 0) { -+ free(wis); -+ return ERR_PTR(r); -+ } -+ -+ return &wis->is; -+} -+ -+void apk_io_url_no_check_certificate(void) -+{ -+ wget_no_check_certificate = 1; -+} -+ -+void apk_io_url_set_timeout(int timeout) -+{ -+ snprintf(wget_timeout, sizeof wget_timeout, "%d", timeout); -+} -+ -+void apk_io_url_set_redirect_callback(void (*cb)(int, const char *)) -+{ -+} -+ -+void apk_io_url_init(void) -+{ -+} -diff --git a/src/meson.build b/src/meson.build -index c1aae550..38e9d3b0 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -1,3 +1,5 @@ -+url_backend = get_option('url_backend') -+ - libapk_so_version = '2.99.0' - libapk_src = [ - 'adb.c', -@@ -22,8 +24,8 @@ libapk_src = [ - 'fs_uvol.c', - 'hash.c', - 'io.c', -- 'io_url_libfetch.c', - 'io_gunzip.c', -+ 'io_url_@0@.c'.format(url_backend), - 'package.c', - 'pathbuilder.c', - 'print.c', --- -GitLab - - -From b9fe78fbf19bb10e1d0b8eb1cb1de123bee2ed7e Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Tue, 16 Apr 2024 17:55:15 +0200 -Subject: [PATCH 2/4] add option to configure url backend in legacy make build - system - -Can be configured by setting URL_BACKEND. If not set libfetch is -selected by default. - -Signed-off-by: Christian Marangi ---- - src/Makefile | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index f7873cb1..efdc68df 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -9,8 +9,8 @@ else - $(error Lua interpreter not found. Please specify LUA interpreter, or use LUA=no to build without help.) - endif - --OPENSSL_CFLAGS := $(shell $(PKG_CONFIG) --cflags openssl) --OPENSSL_LIBS := $(shell $(PKG_CONFIG) --libs openssl) -+OPENSSL_CFLAGS := $(shell $(PKG_CONFIG) --cflags openssl) -+OPENSSL_LIBS := $(shell $(PKG_CONFIG) --libs openssl) - - ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib) - ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib) -@@ -21,10 +21,18 @@ libapk_so := $(obj)/libapk.so.$(libapk_soname) - libapk.so.$(libapk_soname)-objs := \ - adb.o adb_comp.o adb_walk_adb.o adb_walk_genadb.o adb_walk_gentext.o adb_walk_text.o apk_adb.o \ - atom.o blob.o commit.o common.o context.o crypto.o crypto_openssl.o ctype.o database.o hash.o \ -- extract_v2.o extract_v3.o fs_fsys.o fs_uvol.o io.o io_gunzip.o io_url_libfetch.o \ -- tar.o package.o pathbuilder.o print.o solver.o trust.o version.o -+ extract_v2.o extract_v3.o fs_fsys.o fs_uvol.o io.o io_gunzip.o tar.o package.o pathbuilder.o \ -+ print.o solver.o trust.o version.o - --libapk.so.$(libapk_soname)-libs := libfetch/libfetch.a -+libapk.so.$(libapk_soname)-libs := -+ -+ifeq ($(URL_BACKEND),wget) -+libapk.so.$(libapk_soname)-objs += io_url_wget.o -+else -+CFLAGS_ALL += -Ilibfetch -+libapk.so.$(libapk_soname)-objs += io_url_libfetch.o -+libapk.so.$(libapk_soname)-libs += libfetch/libfetch.a -+endif - - # ZSTD support can be disabled - ifneq ($(ZSTD),no) -@@ -79,7 +87,7 @@ LIBS_apk := -lapk - LIBS_apk-test := -lapk - LIBS_apk.so := -L$(obj) -lapk - --CFLAGS_ALL += -D_ATFILE_SOURCE -Ilibfetch -Iportability -+CFLAGS_ALL += -D_ATFILE_SOURCE -Iportability - CFLAGS_apk.o := -DAPK_VERSION=\"$(VERSION)\" - CFLAGS_apk-static.o := -DAPK_VERSION=\"$(VERSION)\" -DOPENSSL_NO_ENGINE - CFLAGS_apk-test.o := -DAPK_VERSION=\"$(VERSION)\" -DOPENSSL_NO_ENGINE -DTEST_MODE --- -GitLab - - -From 0418b684898403c49905c1f0e4b7c5ca522b2d50 Mon Sep 17 00:00:00 2001 -From: Jonas Jelonek -Date: Sun, 14 Apr 2024 00:20:14 +0200 -Subject: [PATCH 3/4] crypto: add support for mbedtls as backend - -backend is selected at compile-time with crypto_backend option - -Co-developed-by: Christian Marangi -Signed-off-by: Christian Marangi -Signed-off-by: Jonas Jelonek ---- - libfetch/meson.build | 2 +- - meson.build | 14 +- - meson_options.txt | 1 + - portability/getrandom.c | 19 +++ - portability/meson.build | 3 +- - portability/sys/random.h | 6 + - src/apk_crypto.h | 5 + - src/apk_crypto_mbedtls.h | 30 +++++ - src/crypto_mbedtls.c | 285 +++++++++++++++++++++++++++++++++++++++ - src/meson.build | 21 ++- - 10 files changed, 373 insertions(+), 13 deletions(-) - create mode 100644 portability/getrandom.c - create mode 100644 portability/sys/random.h - create mode 100644 src/apk_crypto_mbedtls.h - create mode 100644 src/crypto_mbedtls.c - -diff --git a/libfetch/meson.build b/libfetch/meson.build -index 431ba197..e24f95eb 100644 ---- a/libfetch/meson.build -+++ b/libfetch/meson.build -@@ -40,7 +40,7 @@ libfetch = static_library( - c_args: libfetch_cargs, - dependencies: [ - libportability_dep.partial_dependency(compile_args: true, includes: true), -- openssl_dep.partial_dependency(compile_args: true, includes: true) -+ crypto_dep.partial_dependency(compile_args: true, includes: true) - ], - ) - -diff --git a/meson.build b/meson.build -index 9a14cac0..3a83f4e1 100644 ---- a/meson.build -+++ b/meson.build -@@ -13,15 +13,21 @@ apk_libdir = get_option('libdir') - lua_bin = find_program('lua' + get_option('lua_version'), required: get_option('help')) - lua_dep = dependency('lua' + get_option('lua_version'), required: get_option('lua')) - scdoc_dep = dependency('scdoc', version: '>=1.10', required: get_option('docs')) --openssl_dep = dependency('openssl') --openssl_static_dep = dependency('openssl', static: true) - zlib_dep = dependency('zlib') - zlib_static_dep = dependency('zlib', static: true) - libzstd_dep = dependency('libzstd', required: get_option('zstd')) - libzstd_static_dep = dependency('libzstd', required: get_option('zstd'), static: true) - --shared_deps = [ openssl_dep, zlib_dep, libzstd_dep ] --static_deps = [ openssl_static_dep, zlib_static_dep, libzstd_static_dep ] -+if get_option('crypto_backend') == 'openssl' -+ crypto_dep = dependency('openssl') -+ crypto_static_dep = dependency('openssl', static: true) -+elif get_option('crypto_backend') == 'mbedtls' -+ crypto_dep = [ dependency('mbedtls'), dependency('mbedcrypto') ] -+ crypto_static_dep = [ dependency('mbedtls', static: true), dependency('mbedcrypto', static: true) ] -+endif -+ -+shared_deps = [ crypto_dep, zlib_dep, libzstd_dep ] -+static_deps = [ crypto_static_dep, zlib_static_dep, libzstd_static_dep ] - - add_project_arguments('-D_GNU_SOURCE', language: 'c') - -diff --git a/meson_options.txt b/meson_options.txt -index 940fe9a4..df0b07dc 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,4 +1,5 @@ - option('arch_prefix', description: 'Define a custom arch prefix for default arch', type: 'string') -+option('crypto_backend', description: 'Crypto backend', type: 'combo', choices: ['openssl', 'mbedtls'], value: 'openssl') - option('compressed-help', description: 'Compress help database, needs lua-zlib', type: 'boolean', value: true) - option('docs', description: 'Build manpages with scdoc', type: 'feature', value: 'auto') - option('help', description: 'Build help into apk binaries, needs lua', type: 'feature', value: 'auto') -diff --git a/portability/getrandom.c b/portability/getrandom.c -new file mode 100644 -index 00000000..b2f4a07c ---- /dev/null -+++ b/portability/getrandom.c -@@ -0,0 +1,19 @@ -+#include -+#include -+#include -+#include -+ -+ssize_t getrandom(void *buf, size_t buflen, unsigned int flags) -+{ -+ int fd; -+ ssize_t ret; -+ -+ fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); -+ if (fd < 0) -+ return -1; -+ -+ ret = read(fd, buf, buflen); -+ close(fd); -+ return ret; -+} -+ -diff --git a/portability/meson.build b/portability/meson.build -index 89957c3c..3172044e 100644 ---- a/portability/meson.build -+++ b/portability/meson.build -@@ -3,7 +3,8 @@ cc = meson.get_compiler('c') - libportability_src = [] - - check_symbols = [ -- ['memrchr', 'memrchr.c', 'NEED_MEMRCHR', 'string.h'], -+ ['getrandom', 'getrandom.c', 'NEED_GETRANDOM', 'sys/random.h'], -+ ['memrchr', 'memrchr.c', 'NEED_MEMRCHR', 'string.h'], - ['mknodat', 'mknodat.c', 'NEED_MKNODAT', 'sys/stat.h'], - ['pipe2', 'pipe2.c', 'NEED_PIPE2', 'unistd.h'], - ['qsort_r', 'qsort_r.c', 'NEED_QSORT_R', 'stdlib.h'], -diff --git a/portability/sys/random.h b/portability/sys/random.h -new file mode 100644 -index 00000000..02d5b1ca ---- /dev/null -+++ b/portability/sys/random.h -@@ -0,0 +1,6 @@ -+#include_next -+#include -+ -+#ifdef NEED_GETRANDOM -+ssize_t getrandom(void *buf, size_t buflen, unsigned int flags); -+#endif -diff --git a/src/apk_crypto.h b/src/apk_crypto.h -index 7de88dfc..5cae3bfe 100644 ---- a/src/apk_crypto.h -+++ b/src/apk_crypto.h -@@ -12,7 +12,12 @@ - #include - #include "apk_defines.h" - #include "apk_blob.h" -+ -+#if defined(CRYPTO_USE_OPENSSL) - #include "apk_crypto_openssl.h" -+#elif defined(CRYPTO_USE_MBEDTLS) -+#include "apk_crypto_mbedtls.h" -+#endif - - // Digest - -diff --git a/src/apk_crypto_mbedtls.h b/src/apk_crypto_mbedtls.h -new file mode 100644 -index 00000000..5481d149 ---- /dev/null -+++ b/src/apk_crypto_mbedtls.h -@@ -0,0 +1,30 @@ -+/* apk_crypto_mbedtls.h - Alpine Package Keeper (APK) -+ * -+ * Copyright (C) 2024 -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-only -+ */ -+ -+#ifndef APK_CRYPTO_MBEDTLS_H -+#define APK_CRYPTO_MBEDTLS_H -+ -+#include -+#include -+#include -+ -+struct apk_pkey { -+ uint8_t id[16]; -+ mbedtls_pk_context key; -+}; -+ -+struct apk_digest_ctx { -+ mbedtls_md_context_t mdctx; -+ struct apk_pkey *sigver_key; -+ uint8_t alg; -+}; -+ -+/* based on mbedtls' internal pkwrite.h calculations */ -+#define APK_ENC_KEY_MAX_LENGTH (38 + 2 * MBEDTLS_MPI_MAX_SIZE) -+ -+#endif -diff --git a/src/crypto_mbedtls.c b/src/crypto_mbedtls.c -new file mode 100644 -index 00000000..73d60e9d ---- /dev/null -+++ b/src/crypto_mbedtls.c -@@ -0,0 +1,285 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+ -+#ifdef MBEDTLS_PSA_CRYPTO_C -+#include -+#endif -+ -+#include "apk_crypto.h" -+ -+static inline const mbedtls_md_type_t apk_digest_alg_to_mbedtls_type(uint8_t alg) { -+ switch (alg) { -+ case APK_DIGEST_NONE: return MBEDTLS_MD_NONE; -+ case APK_DIGEST_MD5: return MBEDTLS_MD_MD5; -+ case APK_DIGEST_SHA1: return MBEDTLS_MD_SHA1; -+ case APK_DIGEST_SHA256_160: -+ case APK_DIGEST_SHA256: return MBEDTLS_MD_SHA256; -+ case APK_DIGEST_SHA512: return MBEDTLS_MD_SHA512; -+ default: -+ assert(alg); -+ return MBEDTLS_MD_NONE; -+ } -+} -+ -+static inline const mbedtls_md_info_t *apk_digest_alg_to_mdinfo(uint8_t alg) -+{ -+ return mbedtls_md_info_from_type( -+ apk_digest_alg_to_mbedtls_type(alg) -+ ); -+} -+ -+int apk_digest_calc(struct apk_digest *d, uint8_t alg, const void *ptr, size_t sz) -+{ -+ if (mbedtls_md(apk_digest_alg_to_mdinfo(alg), ptr, sz, d->data)) -+ return -APKE_CRYPTO_ERROR; -+ -+ apk_digest_set(d, alg); -+ return 0; -+} -+ -+int apk_digest_ctx_init(struct apk_digest_ctx *dctx, uint8_t alg) -+{ -+ dctx->alg = alg; -+ -+ mbedtls_md_init(&dctx->mdctx); -+ if (alg == APK_DIGEST_NONE) return 0; -+ if (mbedtls_md_setup(&dctx->mdctx, apk_digest_alg_to_mdinfo(alg), 0) || -+ mbedtls_md_starts(&dctx->mdctx)) -+ return -APKE_CRYPTO_ERROR; -+ -+ return 0; -+} -+ -+int apk_digest_ctx_reset(struct apk_digest_ctx *dctx) -+{ -+ if (dctx->alg == APK_DIGEST_NONE) return 0; -+ if (mbedtls_md_starts(&dctx->mdctx)) return -APKE_CRYPTO_ERROR; -+ return 0; -+} -+ -+int apk_digest_ctx_reset_alg(struct apk_digest_ctx *dctx, uint8_t alg) -+{ -+ mbedtls_md_free(&dctx->mdctx); -+ -+ dctx->alg = alg; -+ if (alg == APK_DIGEST_NONE) return 0; -+ if (mbedtls_md_setup(&dctx->mdctx, apk_digest_alg_to_mdinfo(alg), 0) || -+ mbedtls_md_starts(&dctx->mdctx)) -+ return -APKE_CRYPTO_ERROR; -+ -+ return 0; -+} -+ -+void apk_digest_ctx_free(struct apk_digest_ctx *dctx) -+{ -+ mbedtls_md_free(&dctx->mdctx); -+} -+ -+int apk_digest_ctx_update(struct apk_digest_ctx *dctx, const void *ptr, size_t sz) -+{ -+ if (dctx->alg == APK_DIGEST_NONE) return 0; -+ return mbedtls_md_update(&dctx->mdctx, ptr, sz) == 0 ? 0 : -APKE_CRYPTO_ERROR; -+} -+ -+int apk_digest_ctx_final(struct apk_digest_ctx *dctx, struct apk_digest *d) -+{ -+ if (mbedtls_md_finish(&dctx->mdctx, d->data)) { -+ apk_digest_reset(d); -+ return -APKE_CRYPTO_ERROR; -+ } -+ -+ d->alg = dctx->alg; -+ d->len = apk_digest_alg_len(d->alg); -+ return 0; -+} -+ -+static int apk_load_file_at(int dirfd, const char *fn, unsigned char **buf, size_t *n) -+{ -+ struct stat stats; -+ size_t size; -+ int fd; -+ -+ if ((fd = openat(dirfd, fn, O_RDONLY|O_CLOEXEC)) < 0) -+ return -errno; -+ -+ if (fstat(fd, &stats)) { -+ close(fd); -+ return -errno; -+ } -+ -+ size = (size_t)stats.st_size; -+ *n = size; -+ -+ if (size == 0 || (*buf = mbedtls_calloc(1, size + 1)) == NULL) -+ return MBEDTLS_ERR_PK_ALLOC_FAILED; -+ -+ if (read(fd, *buf, size) != size) { -+ close(fd); -+ -+ mbedtls_platform_zeroize(*buf, size); -+ mbedtls_free(*buf); -+ -+ return MBEDTLS_ERR_PK_FILE_IO_ERROR; -+ } -+ close(fd); -+ -+ (*buf)[size] = '\0'; -+ -+ if (strstr((const char *) *buf, "-----BEGIN ") != NULL) { -+ ++*n; -+ } -+ -+ return 0; -+} -+ -+static int apk_pkey_init(struct apk_pkey *pkey) -+{ -+ unsigned char dig[APK_DIGEST_MAX_LENGTH]; -+ unsigned char pub[APK_ENC_KEY_MAX_LENGTH] = {}; -+ unsigned char *c; -+ int len, r = -APKE_CRYPTO_ERROR; -+ -+ c = pub + APK_ENC_KEY_MAX_LENGTH; -+ -+ // key is written backwards into pub starting at c! -+ if ((len = mbedtls_pk_write_pubkey(&c, pub, &pkey->key)) < 0) return -APKE_CRYPTO_ERROR; -+ if (!mbedtls_md(apk_digest_alg_to_mdinfo(APK_DIGEST_SHA512), c, len, dig)) { -+ memcpy(pkey->id, dig, sizeof pkey->id); -+ r = 0; -+ } -+ -+ return r; -+} -+ -+void apk_pkey_free(struct apk_pkey *pkey) -+{ -+ mbedtls_pk_free(&pkey->key); -+} -+ -+static int apk_random(void *ctx, unsigned char *out, size_t len) -+{ -+ return (int)getrandom(out, len, 0); -+} -+ -+#if MBEDTLS_VERSION_NUMBER >= 0x03000000 -+static inline int apk_mbedtls_parse_privkey(struct apk_pkey *pkey, const unsigned char *buf, size_t blen) -+{ -+ return mbedtls_pk_parse_key(&pkey->key, buf, blen, NULL, 0, apk_random, NULL); -+} -+static inline int apk_mbedtls_sign(struct apk_digest_ctx *dctx, struct apk_digest *dig, -+ unsigned char *sig, size_t *sig_len) -+{ -+ return mbedtls_pk_sign(&dctx->sigver_key->key, apk_digest_alg_to_mbedtls_type(dctx->alg), -+ (const unsigned char *)&dig->data, dig->len, sig, sizeof *sig, sig_len, -+ apk_random, NULL); -+} -+#else -+static inline int apk_mbedtls_parse_privkey(struct apk_pkey *pkey, const unsigned char *buf, size_t blen) -+{ -+ return mbedtls_pk_parse_key(&pkey->key, buf, blen, NULL, 0); -+} -+static inline int apk_mbedtls_sign(struct apk_digest_ctx *dctx, struct apk_digest *dig, -+ unsigned char *sig, size_t *sig_len) -+{ -+ return mbedtls_pk_sign(&dctx->sigver_key->key, apk_digest_alg_to_mbedtls_type(dctx->alg), -+ (const unsigned char *)&dig->data, dig->len, sig, sig_len, apk_random, NULL); -+} -+#endif -+ -+int apk_pkey_load(struct apk_pkey *pkey, int dirfd, const char *fn) -+{ -+ unsigned char *buf = NULL; -+ size_t blen = 0; -+ int ret; -+ -+ if (apk_load_file_at(dirfd, fn, &buf, &blen)) -+ return -APKE_CRYPTO_ERROR; -+ -+ mbedtls_pk_init(&pkey->key); -+ if ((ret = mbedtls_pk_parse_public_key(&pkey->key, buf, blen)) != 0) -+ ret = apk_mbedtls_parse_privkey(pkey, buf, blen); -+ -+ mbedtls_platform_zeroize(buf, blen); -+ mbedtls_free(buf); -+ if (ret != 0) -+ return -APKE_CRYPTO_KEY_FORMAT; -+ -+ return apk_pkey_init(pkey); -+} -+ -+int apk_sign_start(struct apk_digest_ctx *dctx, uint8_t alg, struct apk_pkey *pkey) -+{ -+ if (apk_digest_ctx_reset_alg(dctx, alg)) -+ return -APKE_CRYPTO_ERROR; -+ -+ dctx->sigver_key = pkey; -+ -+ return 0; -+} -+ -+int apk_sign(struct apk_digest_ctx *dctx, void *sig, size_t *len) -+{ -+ struct apk_digest dig; -+ int r = 0; -+ -+ if (apk_digest_ctx_final(dctx, &dig)) -+ return -APKE_SIGNATURE_GEN_FAILURE; -+ -+ if (apk_mbedtls_sign(dctx, &dig, sig, len)) -+ r = -APKE_SIGNATURE_GEN_FAILURE; -+ -+ dctx->sigver_key = NULL; -+ return r; -+} -+ -+int apk_verify_start(struct apk_digest_ctx *dctx, uint8_t alg, struct apk_pkey *pkey) -+{ -+ if (apk_digest_ctx_reset_alg(dctx, alg)) -+ return -APKE_CRYPTO_ERROR; -+ -+ dctx->sigver_key = pkey; -+ -+ return 0; -+} -+ -+int apk_verify(struct apk_digest_ctx *dctx, void *sig, size_t len) -+{ -+ struct apk_digest dig; -+ int r = 0; -+ -+ if (apk_digest_ctx_final(dctx, &dig)) -+ return -APKE_SIGNATURE_GEN_FAILURE; -+ -+ if (mbedtls_pk_verify(&dctx->sigver_key->key, apk_digest_alg_to_mbedtls_type(dctx->alg), -+ (const unsigned char *)&dig.data, dig.len, sig, len)) -+ r = -APKE_SIGNATURE_INVALID; -+ -+ dctx->sigver_key = NULL; -+ return r; -+} -+ -+static void apk_crypto_cleanup(void) -+{ -+#ifdef MBEDTLS_PSA_CRYPTO_C -+ mbedtls_psa_crypto_free(); -+#endif -+} -+ -+void apk_crypto_init(void) -+{ -+ atexit(apk_crypto_cleanup); -+ -+#ifdef MBEDTLS_PSA_CRYPTO_C -+ psa_crypto_init(); -+#endif -+} -diff --git a/src/meson.build b/src/meson.build -index 38e9d3b0..e1204fc0 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -1,3 +1,4 @@ -+crypto_backend = get_option('crypto_backend') - url_backend = get_option('url_backend') - - libapk_so_version = '2.99.0' -@@ -15,7 +16,7 @@ libapk_src = [ - 'common.c', - 'context.c', - 'crypto.c', -- 'crypto_openssl.c', -+ 'crypto_@0@.c'.format(crypto_backend), - 'ctype.c', - 'database.c', - 'extract_v2.c', -@@ -40,7 +41,7 @@ libapk_headers = [ - 'apk_atom.h', - 'apk_blob.h', - 'apk_crypto.h', -- 'apk_crypto_openssl.h', -+ 'apk_crypto_@0@.h'.format(crypto_backend), - 'apk_ctype.h', - 'apk_database.h', - 'apk_defines.h', -@@ -89,6 +90,17 @@ apk_src = [ - 'applet.c', - ] - -+apk_cargs = [ -+ '-DAPK_VERSION="' + meson.project_version() + '"', -+ '-D_ATFILE_SOURCE', -+] -+ -+if crypto_backend == 'openssl' -+ apk_cargs += [ '-DCRYPTO_USE_OPENSSL' ] -+elif crypto_backend == 'mbedtls' -+ apk_cargs += [ '-DCRYPTO_USE_MBEDTLS' ] -+endif -+ - if lua_bin.found() - genhelp_script = files('genhelp.lua') - genhelp_args = [lua_bin, genhelp_script, '@INPUT@'] -@@ -115,11 +127,6 @@ endif - - apk_src += [ generated_help ] - --apk_cargs = [ -- '-DAPK_VERSION="' + meson.project_version() + '"', -- '-D_ATFILE_SOURCE', --] -- - apk_arch_prefix = get_option('arch_prefix') - if apk_arch_prefix != '' - apk_cargs += ['-DAPK_ARCH_PREFIX="@0@"'.format(apk_arch_prefix)] --- -GitLab - - -From 34bb1021284dccbf97f02b0a0bb9e751b8887cad Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Tue, 16 Apr 2024 17:56:45 +0200 -Subject: [PATCH 4/4] add option to configure crypto backend in legacy make - build system - -Define CRYPTO to select mbedtls as alternative crypto backend. By -default openssl is used. - -Signed-off-by: Christian Marangi ---- - src/Makefile | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index efdc68df..97db0e72 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -20,9 +20,9 @@ libapk_soname := 2.99.0 - libapk_so := $(obj)/libapk.so.$(libapk_soname) - libapk.so.$(libapk_soname)-objs := \ - adb.o adb_comp.o adb_walk_adb.o adb_walk_genadb.o adb_walk_gentext.o adb_walk_text.o apk_adb.o \ -- atom.o blob.o commit.o common.o context.o crypto.o crypto_openssl.o ctype.o database.o hash.o \ -- extract_v2.o extract_v3.o fs_fsys.o fs_uvol.o io.o io_gunzip.o tar.o package.o pathbuilder.o \ -- print.o solver.o trust.o version.o -+ atom.o blob.o commit.o common.o context.o crypto.o ctype.o database.o hash.o extract_v2.o \ -+ extract_v3.o fs_fsys.o fs_uvol.o io.o io_gunzip.o tar.o package.o pathbuilder.o print.o \ -+ solver.o trust.o version.o - - libapk.so.$(libapk_soname)-libs := - -@@ -34,6 +34,16 @@ libapk.so.$(libapk_soname)-objs += io_url_libfetch.o - libapk.so.$(libapk_soname)-libs += libfetch/libfetch.a - endif - -+ifeq ($(CRYPTO),mbedtls) -+CRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags mbedtls mbedcrypto) -DCRYPTO_USE_MBEDTLS -+CRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs mbedtls mbedcrypto) -+libapk.so.$(libapk_soname)-objs += crypto_mbedtls.o -+else -+CRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags openssl) -DCRYPTO_USE_OPENSSL -+CRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs openssl) -+libapk.so.$(libapk_soname)-objs += crypto_openssl.o -+endif -+ - # ZSTD support can be disabled - ifneq ($(ZSTD),no) - ZSTD_CFLAGS := $(shell $(PKG_CONFIG) --cflags libzstd) -@@ -100,9 +110,9 @@ LIBS_apk.static := -Wl,--as-needed -ldl -Wl,--no-as-needed - LDFLAGS_apk += -L$(obj) - LDFLAGS_apk-test += -L$(obj) - --CFLAGS_ALL += $(OPENSSL_CFLAGS) $(ZLIB_CFLAGS) $(ZSTD_CFLAGS) -+CFLAGS_ALL += $(CRYPTO_CFLAGS) $(ZLIB_CFLAGS) $(ZSTD_CFLAGS) - LIBS := -Wl,--as-needed \ -- $(OPENSSL_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) \ -+ $(CRYPTO_LIBS) $(ZLIB_LIBS) $(ZSTD_LIBS) \ - -Wl,--no-as-needed - - # Help generation --- -GitLab diff --git a/package/system/iucode-tool/patches/001-iucode_tool-add-missing-limits.h-for-USE_CPUID_DEVIC.patch b/package/system/iucode-tool/patches/001-iucode_tool-add-missing-limits.h-for-USE_CPUID_DEVIC.patch index ef9e5ab2f8ca3b..fe25f8aee767f6 100644 --- a/package/system/iucode-tool/patches/001-iucode_tool-add-missing-limits.h-for-USE_CPUID_DEVIC.patch +++ b/package/system/iucode-tool/patches/001-iucode_tool-add-missing-limits.h-for-USE_CPUID_DEVIC.patch @@ -12,8 +12,6 @@ Signed-off-by: Christian Marangi iucode_tool.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/iucode_tool.c b/iucode_tool.c -index 4bba5db..0246035 100644 --- a/iucode_tool.c +++ b/iucode_tool.c @@ -19,6 +19,7 @@ @@ -24,6 +22,3 @@ index 4bba5db..0246035 100644 #include #include #include --- -2.37.2 - diff --git a/package/system/mtd/src/Makefile b/package/system/mtd/src/Makefile index a1277a67396f3e..57922f330966c0 100644 --- a/package/system/mtd/src/Makefile +++ b/package/system/mtd/src/Makefile @@ -15,7 +15,7 @@ obj.bcm53xx = $(obj.brcm) $(obj.seama) obj.mediatek = $(obj.brcm) obj.bcm63xx = imagetag.o obj.bmips = imagetag.o -obj.ramips = $(obj.seama) $(obj.tpl) $(obj.wrg) linksys_bootcount.o +obj.ramips = $(obj.brcm) $(obj.seama) $(obj.tpl) $(obj.wrg) linksys_bootcount.o obj.mvebu = linksys_bootcount.o obj.kirkwood = linksys_bootcount.o obj.ipq806x = linksys_bootcount.o diff --git a/package/system/refpolicy/patches/100-no-docs.patch b/package/system/refpolicy/patches/100-no-docs.patch index 21767951a493ac..21342731b5aebf 100644 --- a/package/system/refpolicy/patches/100-no-docs.patch +++ b/package/system/refpolicy/patches/100-no-docs.patch @@ -1,7 +1,5 @@ -Index: refpolicy-2.20200229/Makefile -=================================================================== ---- refpolicy-2.20200229.orig/Makefile -+++ refpolicy-2.20200229/Makefile +--- a/Makefile ++++ b/Makefile @@ -648,6 +648,6 @@ ifneq ($(generated_fc),) endif endif diff --git a/package/system/rpcd/Makefile b/package/system/rpcd/Makefile index 2db014f2df34ef..041164ccca959a 100644 --- a/package/system/rpcd/Makefile +++ b/package/system/rpcd/Makefile @@ -103,5 +103,5 @@ endef $(eval $(call BuildPackage,rpcd)) $(eval $(call BuildPlugin,file,,Provides ubus calls for file and directory operations.)) $(eval $(call BuildPlugin,rpcsys,,Provides ubus calls for sysupgrade and password changing.)) -$(eval $(call BuildPlugin,iwinfo,+libiwinfo,Provides ubus calls for accessing iwinfo data.,libiwinfo (>= 2023-01-21))) +$(eval $(call BuildPlugin,iwinfo,+libiwinfo,Provides ubus calls for accessing iwinfo data.,libiwinfo (>=2023.01.21))) $(eval $(call BuildPlugin,ucode,+libucode,Allows implementing plugins using ucode scripts.)) diff --git a/package/utils/dns320l-mcu/Makefile b/package/utils/dns320l-mcu/Makefile new file mode 100644 index 00000000000000..724a664a8b25d3 --- /dev/null +++ b/package/utils/dns320l-mcu/Makefile @@ -0,0 +1,36 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=dns320l-mcu +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL=https://github.com/wigyori/dns320l-daemon.git +PKG_SOURCE_DATE:=2024-05-11 +PKG_SOURCE_VERSION:=c74941880e0a8d2bc0344b3256b984397512e8c3 +PKG_MIRROR_HASH:=e0f186a0c139ccfac3d311f49e2fecdbd02fa3f9fe6ced4b1ce0baa603d49fc3 +PKG_MAINTAINER:=Zoltan HERPAI +PKG_LICENSE:=GPL-3.0+ + +include $(INCLUDE_DIR)/package.mk + +define Package/dns320l-mcu + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Utility to control the MCU on DNS-320L + DEPENDS:=@TARGET_kirkwood + URL:=https://github.com/wigyori/dns320l-mcu +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -Wall" +endef + +define Package/dns320l-mcu/install + $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d + $(INSTALL_BIN) ./files/dns320l-mcu.init $(1)/etc/init.d/dns320l-mcu + $(INSTALL_BIN) $(PKG_BUILD_DIR)/dns320l-daemon $(1)/usr/bin/dns320l-mcu +endef + +$(eval $(call BuildPackage,dns320l-mcu)) diff --git a/package/utils/dns320l-mcu/files/dns320l-mcu.init b/package/utils/dns320l-mcu/files/dns320l-mcu.init new file mode 100644 index 00000000000000..eb1c579907e748 --- /dev/null +++ b/package/utils/dns320l-mcu/files/dns320l-mcu.init @@ -0,0 +1,14 @@ +#!/bin/sh /etc/rc.common +# Copyright (c) 2024 OpenWrt.org + +START=99 + +USE_PROCD=1 +PROG=/usr/bin/dns320l-mcu + +start_service() { + procd_open_instance + procd_set_param command "$PROG" + procd_set_param respawn + procd_close_instance +} diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile index 8070003394f80d..c2778fe351cb3a 100644 --- a/package/utils/mdadm/Makefile +++ b/package/utils/mdadm/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mdadm -PKG_VERSION:=4.2 -PKG_RELEASE:=2 +PKG_VERSION:=4.3 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm -PKG_HASH:=461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d +PKG_HASH:=416727ae1f1080ea6e3090cea36dd076826fc369151e36ab736557ba92196f9f PKG_MAINTAINER:=Felix Fietkau PKG_CPE_ID:=cpe:/a:mdadm_project:mdadm diff --git a/package/utils/mdadm/patches/010-falloc.patch b/package/utils/mdadm/patches/010-falloc.patch new file mode 100644 index 00000000000000..2f2a9b87e17b7e --- /dev/null +++ b/package/utils/mdadm/patches/010-falloc.patch @@ -0,0 +1,36 @@ +From 52bead95d2957437c691891fcdc49bd6afccdd49 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 12 Apr 2024 18:45:13 +0200 +Subject: Create.c: fix uclibc build + +Define FALLOC_FL_ZERO_RANGE if needed as FALLOC_FL_ZERO_RANGE is only +defined for aarch64 on uclibc-ng resulting in the following or1k build +failure since commit 577fd10486d8d1472a6b559066f344ac30a3a391: + +Create.c: In function 'write_zeroes_fork': +Create.c:155:35: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function) + 155 | if (fallocate(fd, FALLOC_FL_ZERO_RANGE | FALLOC_FL_KEEP_SIZE, + | ^~~~~~~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/0e04bcdb591ca5642053e1f7e31384f06581e989 + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Mariusz Tkaczyk +--- + Create.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/Create.c ++++ b/Create.c +@@ -32,6 +32,10 @@ + #include + #include + ++#ifndef FALLOC_FL_ZERO_RANGE ++#define FALLOC_FL_ZERO_RANGE 16 ++#endif ++ + static int round_size_and_verify(unsigned long long *size, int chunk) + { + if (*size == 0) diff --git a/package/utils/mdadm/patches/020-basename.patch b/package/utils/mdadm/patches/020-basename.patch new file mode 100644 index 00000000000000..d4f7aa59637b0d --- /dev/null +++ b/package/utils/mdadm/patches/020-basename.patch @@ -0,0 +1,30 @@ +--- a/Monitor.c ++++ b/Monitor.c +@@ -27,6 +27,7 @@ + #include "md_p.h" + #include "md_u.h" + #include ++#include + #include + #include + +--- a/platform-intel.c ++++ b/platform-intel.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + + #define NVME_SUBSYS_PATH "/sys/devices/virtual/nvme-subsystem/" +--- a/super-intel.c ++++ b/super-intel.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + /* MPB == Metadata Parameter Block */ + #define MPB_SIGNATURE "Intel Raid ISM Cfg Sig. " diff --git a/package/utils/mdadm/patches/030-fix-monitor-tv_sec.patch b/package/utils/mdadm/patches/030-fix-monitor-tv_sec.patch new file mode 100644 index 00000000000000..a0fe9fd7c39d59 --- /dev/null +++ b/package/utils/mdadm/patches/030-fix-monitor-tv_sec.patch @@ -0,0 +1,14 @@ +--- a/monitor.c ++++ b/monitor.c +@@ -449,9 +449,9 @@ static int read_and_act(struct active_ar + } + + gettimeofday(&tv, NULL); +- dprintf("(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n", ++ dprintf("(%d): %lld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n", + a->info.container_member, +- tv.tv_sec, tv.tv_usec, ++ (long long)tv.tv_sec, (long)tv.tv_usec, + array_states[a->curr_state], + array_states[a->prev_state], + sync_actions[a->curr_action], diff --git a/package/utils/mdadm/patches/040-udev.patch b/package/utils/mdadm/patches/040-udev.patch new file mode 100644 index 00000000000000..0d497aa0166f72 --- /dev/null +++ b/package/utils/mdadm/patches/040-udev.patch @@ -0,0 +1,26 @@ +From 1750758c7ff526e3560433f6235e5cfa35cf646a Mon Sep 17 00:00:00 2001 +From: Mariusz Tkaczyk +Date: Wed, 6 Mar 2024 15:50:55 +0100 +Subject: udev.c: Do not require libudev.h if DNO_LIBUDEV + +libudev may not be presented at all, do not require it. + +Reported-by: Boian Bonev +Signed-off-by: Mariusz Tkaczyk +--- + udev.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/udev.c ++++ b/udev.c +@@ -26,7 +26,10 @@ + #include + #include + #include ++ ++#ifndef NO_LIBUDEV + #include ++#endif + + static char *unblock_path; + diff --git a/package/utils/mdadm/patches/050-pie.patch b/package/utils/mdadm/patches/050-pie.patch new file mode 100644 index 00000000000000..59c96f51ba1b37 --- /dev/null +++ b/package/utils/mdadm/patches/050-pie.patch @@ -0,0 +1,33 @@ +From 893a55831e5abbcd15b171db66fa1f389fb61506 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 7 May 2024 19:32:16 +0200 +Subject: Makefile: Move -pie to LDFLAGS + +Move -pie from LDLIBS to LDFLAGS and make LDFLAGS configurable to allow +the user to drop it by setting their own LDFLAGS (e.g. PIE could be +enabled or disabled by the buildsystem such as buildroot). + +Suggested-by: Mariusz Tkaczyk +Signed-off-by: Fabrice Fontaine +Signed-off-by: Mariusz Tkaczyk +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -132,12 +132,12 @@ CFLAGS += -DUSE_PTHREADS + MON_LDFLAGS += -pthread + endif + +-LDFLAGS = -Wl,-z,now,-z,noexecstack ++LDFLAGS ?= -pie -Wl,-z,now,-z,noexecstack + + # If you want a static binary, you might uncomment these + # LDFLAGS += -static + # STRIP = -s +-LDLIBS = -ldl -pie ++LDLIBS = -ldl + + # To explicitly disable libudev, set -DNO_LIBUDEV in CXFLAGS + ifeq (, $(findstring -DNO_LIBUDEV, $(CXFLAGS))) diff --git a/package/utils/mdadm/patches/100-cross_compile.patch b/package/utils/mdadm/patches/100-cross_compile.patch index 790d7755b08a52..bd71c083e598d8 100644 --- a/package/utils/mdadm/patches/100-cross_compile.patch +++ b/package/utils/mdadm/patches/100-cross_compile.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -99,7 +99,7 @@ DLM:=$(shell [ -f /usr/include/libdlm.h +@@ -115,7 +115,7 @@ DLM:=$(shell [ -f /usr/include/libdlm.h DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\" DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\" DIRFLAGS += -DFAILED_SLOTS_DIR=\"$(FAILED_SLOTS_DIR)\" diff --git a/package/utils/mdadm/patches/200-reduce_size.patch b/package/utils/mdadm/patches/200-reduce_size.patch index 163e125c22dd6e..d14fae716e2267 100644 --- a/package/utils/mdadm/patches/200-reduce_size.patch +++ b/package/utils/mdadm/patches/200-reduce_size.patch @@ -1,6 +1,6 @@ --- a/Incremental.c +++ b/Incremental.c -@@ -983,6 +983,10 @@ static int array_try_spare(char *devname +@@ -985,6 +985,10 @@ static int array_try_spare(char *devname goto next; } @@ -13,7 +13,7 @@ /* domain test fails */ --- a/util.c +++ b/util.c -@@ -1147,7 +1147,9 @@ void wait_for(char *dev, int fd) +@@ -1192,7 +1192,9 @@ void wait_for(char *dev, int fd) struct superswitch *superlist[] = { &super0, &super1, diff --git a/package/utils/secilc/Makefile b/package/utils/secilc/Makefile index 5469039e22852e..10547cfa235c59 100644 --- a/package/utils/secilc/Makefile +++ b/package/utils/secilc/Makefile @@ -15,7 +15,6 @@ PKG_HASH:=3eebc5a1f97847fa530cf90654b9f3b8f21a13c9ea3d07495325651580cd3373 HOST_BUILD_DEPENDS:=libsepol/host PKG_MAINTAINER:=Dominick Grift -PKG_CPE_ID:=cpe:/a:selinuxproject:secilc PKG_LICENSE:=BSD-2-Clause PKG_LICENSE_FILES:=COPYING diff --git a/package/utils/usbmode/data/3426-1f01 b/package/utils/usbmode/data/3426-1f01 new file mode 100644 index 00000000000000..cd5b7e7055f3f9 --- /dev/null +++ b/package/utils/usbmode/data/3426-1f01 @@ -0,0 +1,4 @@ +# Huawei E5785 +TargetVendor=0x3426 +TargetProduct=0x14db +HuaweiNewMode=1 diff --git a/package/utils/yafut/Makefile b/package/utils/yafut/Makefile index 37df2d81723260..2907024eb1d6ca 100644 --- a/package/utils/yafut/Makefile +++ b/package/utils/yafut/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/kempniu/yafut.git -PKG_MIRROR_HASH:=591eb3ffa334aaebf9f8155ade90b674896223bcabc1039deda57c2aeafb0525 -PKG_SOURCE_DATE:=2023-03-31 -PKG_SOURCE_VERSION:=16435e89d449f953712983315e1a89cdb678620d +PKG_MIRROR_HASH:=9cc6b4c485ce16d44b67ebf79e8bee1e07aecde112da739cf33e8714ac3842e7 +PKG_SOURCE_DATE:=2024-05-13 +PKG_SOURCE_VERSION:=2b45baaf1cced47af8f22dd3acbf1df2f04c7510 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/rules.mk b/rules.mk index 6f05047f26d929..66297565cbab34 100644 --- a/rules.mk +++ b/rules.mk @@ -194,6 +194,7 @@ ifndef DUMP endif else ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + -include $(TOOLCHAIN_DIR)/info.mk TARGET_CROSS:=$(call qstrip,$(CONFIG_TOOLCHAIN_PREFIX)) TOOLCHAIN_ROOT_DIR:=$(call qstrip,$(CONFIG_TOOLCHAIN_ROOT)) TOOLCHAIN_BIN_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_BIN_PATH))) @@ -248,6 +249,8 @@ HOST_CFLAGS:=-O2 $(HOST_CPPFLAGS) HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib $(if $(IS_PACKAGE_BUILD),-L$(STAGING_DIR_HOSTPKG)/lib -L$(STAGING_DIR)/host/lib) BUILD_KEY=$(TOPDIR)/key-build +BUILD_KEY_APK_SEC=$(TOPDIR)/private-key.pem +BUILD_KEY_APK_PUB=$(TOPDIR)/public-key.pem FAKEROOT:=$(STAGING_DIR_HOST)/bin/fakeroot diff --git a/scripts/download.pl b/scripts/download.pl index c14ec07e448d67..3c57bcff228eae 100755 --- a/scripts/download.pl +++ b/scripts/download.pl @@ -272,6 +272,7 @@ sub cleanup push @mirrors, "https://raw.githubusercontent.com/$1"; } } elsif ($mirror =~ /^\@GNU\/(.+)$/) { + push @mirrors, "https://ftpmirror.gnu.org/$1"; push @mirrors, "https://mirror.csclub.uwaterloo.ca/gnu/$1"; push @mirrors, "https://mirror.netcologne.de/gnu/$1"; push @mirrors, "https://ftp.kddilabs.jp/GNU/gnu/$1"; @@ -282,6 +283,7 @@ sub cleanup push @mirrors, "https://mirrors.tuna.tsinghua.edu.cn/gnu/$1"; push @mirrors, "https://mirrors.ustc.edu.cn/gnu/$1"; } elsif ($mirror =~ /^\@SAVANNAH\/(.+)$/) { + push @mirrors, "https://download.savannah.nongnu.org/releases/$1"; push @mirrors, "https://mirror.netcologne.de/savannah/$1"; push @mirrors, "https://mirror.csclub.uwaterloo.ca/nongnu/$1"; push @mirrors, "https://ftp.acc.umu.se/mirror/gnu.org/savannah/$1"; diff --git a/scripts/feeds b/scripts/feeds index 7d5b83e08135c4..b5b943c70bf764 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -865,7 +865,7 @@ sub feed_config() { printf "\t\tdepends on PER_FEED_REPO\n"; printf "\t\tdefault y\n" if $installed; printf "\t\thelp\n"; - printf "\t\t Enable the \\\"%s\\\" feed in opkg distfeeds.conf.\n", $feed->[1]; + printf "\t\t Enable the \\\"%s\\\" feed in opkg distfeeds.conf and apk repositories.\n", $feed->[1]; printf "\t\t Say M to add the feed commented out.\n"; printf "\n"; } @@ -884,7 +884,7 @@ Commands: -s : List of feed names and their URL. -r : List packages of specified feed. -d : Use specified delimiter to distinguish rows (default: spaces) - -f : List feeds in feeds.conf compatible format (when using -s). + -f : List feeds in opkg feeds.conf compatible format (when using -s). install [options] : Install a package Options: diff --git a/scripts/getver.sh b/scripts/getver.sh index 61906040b18f97..0659d8004a0170 100755 --- a/scripts/getver.sh +++ b/scripts/getver.sh @@ -26,7 +26,7 @@ try_git() { *) BRANCH="$(git rev-parse --abbrev-ref HEAD)" ORIGIN="$(git rev-parse --verify --symbolic-full-name ${BRANCH}@{u} 2>/dev/null)" - [ -n "$ORIGIN" ] || ORIGIN="$(git rev-parse --verify --symbolic-full-name master@{u} 2>/dev/null)" + [ -n "$ORIGIN" ] || ORIGIN="$(git rev-parse --verify --symbolic-full-name main@{u} 2>/dev/null)" REV="$(git rev-list ${REBOOT}..$GET_REV 2>/dev/null | wc -l | awk '{print $1}')" if [ -n "$ORIGIN" ]; then diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index a46f819ab50f0f..82bd4360f3bb9f 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -373,7 +373,7 @@ ($) sub gen_condition ($) { my $condition = shift; - # remove '!()', just as include/package-ipkg.mk does + # remove '!()', just as include/package-pack.mk does $condition =~ s/[()!]//g; return join("", map(and_condition($_), split('\|\|', $condition))); } @@ -655,7 +655,7 @@ sub dump_cyclonedxsbom_json { serialNumber => "urn:uuid:$uuid", version => 1, metadata => { - timestamp => gmtime->datetime, + timestamp => gmtime->datetime . 'Z', }, "components" => [@components], }; @@ -722,7 +722,7 @@ () if ($image_packages{$name}) { $version = $image_packages{$name}; } - $version =~ s/-\d+$// if $version; + $version =~ s/-r\d+$// if $version; if ($name =~ /^(kernel|kmod-)/ and $version =~ /^(\d+\.\d+\.\d+)/) { $version = $1; } @@ -775,7 +775,7 @@ () } my $version = $pkg->{version}; - $version =~ s/-\d+$// if $version; + $version =~ s/-r\d+$// if $version; if ($name =~ /^(kernel|kmod-)/ and $version =~ /^(\d+\.\d+\.\d+)/) { $version = $1; } diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index bfc72dacd0326c..7fd2aa0920e3c0 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -22,6 +22,8 @@ IB_IDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(STAGING_DIR_IMAGE)) BUNDLER_PATH := $(subst $(space),:,$(filter-out $(TOPDIR)/%,$(subst :,$(space),$(PATH)))) BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host +PACKAGE_SUFFIX:=$(if $(CONFIG_USE_APK),apk,ipk) + all: compile $(BIN_DIR)/$(IB_NAME).tar.zst: clean @@ -35,47 +37,59 @@ $(BIN_DIR)/$(IB_NAME).tar.zst: clean $(INCLUDE_DIR) $(SCRIPT_DIR) \ $(TOPDIR)/rules.mk \ ./files/Makefile \ - ./files/repositories.conf \ $(TMP_DIR)/.targetinfo \ $(TMP_DIR)/.packageinfo \ $(PKG_BUILD_DIR)/ -ifeq ($(CONFIG_IB_STANDALONE),) + $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages + +ifneq ($(CONFIG_USE_APK),) + ifeq ($(CONFIG_IB_STANDALONE),) + $(call FeedSourcesAppendAPK,$(PKG_BUILD_DIR)/repositories) + $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories + endif + + $(INSTALL_DATA) ./files/README.apk.md $(PKG_BUILD_DIR)/packages/README.md +else + ifeq ($(CONFIG_IB_STANDALONE),) echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf - $(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf) + $(call FeedSourcesAppendOPKG,$(PKG_BUILD_DIR)/repositories.conf) $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf -endif - $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages + endif + # create an empty package index so `opkg` doesn't report an error touch $(PKG_BUILD_DIR)/packages/Packages - $(INSTALL_DATA) ./files/README.md $(PKG_BUILD_DIR)/packages/ + $(INSTALL_DATA) ./files/README.opkg.md $(PKG_BUILD_DIR)/packages/README.md echo '' >> $(PKG_BUILD_DIR)/repositories.conf echo '## This is the local package repository, do not remove!' >> $(PKG_BUILD_DIR)/repositories.conf echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf +endif ifeq ($(CONFIG_BUILDBOT),) ifeq ($(CONFIG_IB_STANDALONE),) $(FIND) $(call FeedPackageDir,libc) -type f \ - \( -name 'libc_*.ipk' -or -name 'kernel_*.ipk' -or -name 'kmod-*.ipk' \) \ + \( -name 'libc_*.$(PACKAGE_SUFFIX)' -or -name 'kernel_*.$(PACKAGE_SUFFIX)' -or -name 'kmod-*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + else - $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.ipk' \ + $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \ -exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} + endif else $(FIND) $(call FeedPackageDir,libc) -type f \ - \( -name 'libc_*.ipk' -or -name 'kernel_*.ipk' \) \ + \( -name 'libc_*.$(PACKAGE_SUFFIX)' -or -name 'kernel_*.$(PACKAGE_SUFFIX)' \) \ -exec $(CP) -t $(IB_LDIR)/ {} + endif +ifneq ($(CONFIG_USE_APK),y) ifneq ($(CONFIG_SIGNATURE_CHECK),) echo '' >> $(PKG_BUILD_DIR)/repositories.conf echo 'option check_signature' >> $(PKG_BUILD_DIR)/repositories.conf $(INSTALL_DIR) $(PKG_BUILD_DIR)/keys $(CP) -L $(STAGING_DIR_ROOT)/etc/opkg/keys/ $(PKG_BUILD_DIR)/ $(CP) -L $(STAGING_DIR_ROOT)/usr/sbin/opkg-key $(PKG_BUILD_DIR)/scripts/ +endif endif $(CP) -L $(TOPDIR)/target/linux/Makefile $(PKG_BUILD_DIR)/target/linux diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 78a75e96a8ffad..7d01bc0e4201b2 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -85,6 +85,8 @@ help: FORCE # override variables from rules.mk PACKAGE_DIR:=$(TOPDIR)/packages LISTS_DIR:=$(subst $(space),/,$(patsubst %,..,$(subst /,$(space),$(TARGET_DIR))))$(DL_DIR) +PACKAGE_DIR_ALL:=$(TOPDIR)/packages + export OPKG_KEYS:=$(TOPDIR)/keys OPKG:=$(call opkg,$(TARGET_DIR)) \ -f $(TOPDIR)/repositories.conf \ @@ -92,6 +94,11 @@ OPKG:=$(call opkg,$(TARGET_DIR)) \ --cache $(DL_DIR) \ --lists-dir $(LISTS_DIR) +APK:=$(call apk,$(TARGET_DIR)) \ + --cache-dir $(DL_DIR) \ + --allow-untrusted + + include $(INCLUDE_DIR)/target.mk -include .profiles.mk @@ -152,20 +159,29 @@ _call_manifest: FORCE mkdir -p $(TARGET_DIR) $(BIN_DIR) $(TMP_DIR) $(DL_DIR) $(MAKE) package_reload >/dev/null $(MAKE) package_install >/dev/null +ifeq ($(CONFIG_USE_APK),) $(OPKG) list-installed $(if $(STRIP_ABI),--strip-abi) +else + $(APK) list --quiet --manifest --no-network +endif package_index: FORCE @echo >&2 @echo Building package index... >&2 @mkdir -p $(TMP_DIR) $(TARGET_DIR)/tmp +ifeq ($(CONFIG_USE_APK),) (cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages && \ gzip -9nc Packages > Packages.gz; \ $(if $(CONFIG_SIGNATURE_CHECK), \ $(STAGING_DIR_HOST)/bin/usign -S -m Packages -s $(BUILD_KEY)) \ ) >/dev/null 2>/dev/null $(OPKG) update >&2 || true +else + (cd $(PACKAGE_DIR); $(APK) mkndx --output packages.adb *.apk) >&2 +endif package_reload: +ifeq ($(CONFIG_USE_APK),) if [ -d "$(PACKAGE_DIR)" ] && ( \ [ ! -f "$(PACKAGE_DIR)/Packages" ] || \ [ ! -f "$(PACKAGE_DIR)/Packages.gz" ] || \ @@ -176,29 +192,52 @@ package_reload: mkdir -p $(TARGET_DIR)/tmp; \ $(OPKG) update >&2 || true; \ fi +else + if [ -d "$(PACKAGE_DIR)" ] && ( \ + [ ! -f "$(PACKAGE_DIR)/packages.adb" ] || \ + [ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/packages.adb`" ] ); then \ + echo "Package list missing or not up-to-date, generating it." >&2 ;\ + $(MAKE) package_index; \ + else \ + mkdir -p $(TARGET_DIR)/tmp; \ + $(APK) update >&2 || true; \ + fi +endif package_list: FORCE @$(MAKE) -s package_reload +ifeq ($(CONFIG_USE_APK),) @$(OPKG) list --size 2>/dev/null +else + @$(APK) list --size 2>/dev/null +endif package_install: FORCE @echo @echo Installing packages... +ifeq ($(CONFIG_USE_APK),) $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk)) $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk)) $(OPKG) install $(BUILD_PACKAGES) +else + $(APK) add --initdb --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc_*.apk)) + $(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/kernel-*.apk $(PACKAGE_DIR)/kernel_*.apk)) + $(APK) add --no-scripts $(BUILD_PACKAGES) +endif prepare_rootfs: FORCE @echo @echo Finalizing root filesystem... $(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG) +ifeq ($(CONFIG_USE_APK),) $(if $(CONFIG_SIGNATURE_CHECK), \ $(if $(ADD_LOCAL_KEY), \ OPKG_KEYS=$(TARGET_DIR)/etc/opkg/keys/ \ $(SCRIPT_DIR)/opkg-key add $(BUILD_KEY).pub \ ) \ ) +endif $(call prepare_rootfs,$(TARGET_DIR),$(USER_FILES),$(DISABLED_SERVICES)) build_image: FORCE @@ -245,6 +284,7 @@ ifneq ($(PROFILE),) endif _check_keys: FORCE +ifeq ($(CONFIG_USE_APK),) ifneq ($(CONFIG_SIGNATURE_CHECK),) @if [ ! -s $(BUILD_KEY) -o ! -s $(BUILD_KEY).pub ]; then \ echo Generate local signing keys... >&2; \ @@ -260,6 +300,9 @@ ifneq ($(CONFIG_SIGNATURE_CHECK),) -s $(BUILD_KEY); \ fi endif +else + # TODO +endif image: $(MAKE) -s _check_profile @@ -287,7 +330,11 @@ ifeq ($(PACKAGE),) @exit 1 endif @$(MAKE) -s package_reload - @$(OPKG) whatdepends -A $(PACKAGE) +ifeq ($(CONFIG_USE_APK),) + @$(OPKG) list --depends $(PACKAGE) +else + @$(APK) list --depends $(PACKAGE) +endif package_depends: FORCE ifeq ($(PACKAGE),) @@ -295,7 +342,10 @@ ifeq ($(PACKAGE),) @exit 1 endif @$(MAKE) -s package_reload +ifeq ($(CONFIG_USE_APK),) @$(OPKG) depends -A $(PACKAGE) - +else + @$(OPKG) whatdepends -A $(PACKAGE) +endif .SILENT: help info image manifest package_whatdepends package_depends diff --git a/target/imagebuilder/files/README.apk.md b/target/imagebuilder/files/README.apk.md new file mode 100644 index 00000000000000..e82a937e37de2d --- /dev/null +++ b/target/imagebuilder/files/README.apk.md @@ -0,0 +1,10 @@ +# ./packages folder + +Add `.apk` packages to this folder will allow the ImageBuilder to install them. + +For more complex setups consider adding a custom feed containing packages. + + file:///path/to/Packages.adb + +Whenever the ImageBuilder builds a firmware image this folder will be reloaded +and a new package index created. diff --git a/target/imagebuilder/files/README.md b/target/imagebuilder/files/README.opkg.md similarity index 100% rename from target/imagebuilder/files/README.md rename to target/imagebuilder/files/README.opkg.md diff --git a/target/linux/airoha/Makefile b/target/linux/airoha/Makefile index 50c871edaacb9d..99ce7443ece6cd 100644 --- a/target/linux/airoha/Makefile +++ b/target/linux/airoha/Makefile @@ -6,8 +6,7 @@ BOARDNAME:=Airoha ARM CPU_TYPE:=cortex-a7 FEATURES:=dt squashfs nand ramdisk gpio source-only -KERNEL_PATCHVER:=6.1 -KERNEL_TESTING_PATCHVER:=6.6 +KERNEL_PATCHVER:=6.6 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/airoha/config-6.1 b/target/linux/airoha/config-6.1 deleted file mode 100644 index e609c29db26953..00000000000000 --- a/target/linux/airoha/config-6.1 +++ /dev/null @@ -1,294 +0,0 @@ -CONFIG_ALIGNMENT_TRAP=y -CONFIG_ARCH_32BIT_OFF_T=y -CONFIG_ARCH_AIROHA=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MULTIPLATFORM=y -CONFIG_ARCH_MULTI_V6_V7=y -CONFIG_ARCH_MULTI_V7=y -CONFIG_ARCH_NR_GPIO=0 -CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y -CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARM=y -CONFIG_ARM_AMBA=y -CONFIG_ARM_ARCH_TIMER=y -CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_CPU_SUSPEND=y -CONFIG_ARM_GIC=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y -CONFIG_ARM_GIC_V3_ITS_PCI=y -CONFIG_ARM_HAS_GROUP_RELOCS=y -CONFIG_ARM_HEAVY_MB=y -# CONFIG_ARM_HIGHBANK_CPUIDLE is not set -CONFIG_ARM_L1_CACHE_SHIFT=6 -CONFIG_ARM_L1_CACHE_SHIFT_6=y -CONFIG_ARM_PATCH_IDIV=y -CONFIG_ARM_PATCH_PHYS_VIRT=y -CONFIG_ARM_PSCI=y -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_SMMU is not set -CONFIG_ARM_THUMB=y -CONFIG_ARM_UNWIND=y -CONFIG_ARM_VIRT_EXT=y -CONFIG_ATAGS=y -CONFIG_AUTO_ZRELADDR=y -CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_MQ_PCI=y -CONFIG_BLK_PM=y -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 -CONFIG_COMMON_CLK=y -CONFIG_COMMON_CLK_EN7523=y -CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 -CONFIG_COMPAT_32BIT_TIME=y -CONFIG_CONTEXT_TRACKING=y -CONFIG_CONTEXT_TRACKING_IDLE=y -CONFIG_CPU_32v6K=y -CONFIG_CPU_32v7=y -CONFIG_CPU_ABRT_EV7=y -CONFIG_CPU_CACHE_V7=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y -CONFIG_CPU_HAS_ASID=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_MENU=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_PABRT_V7=y -CONFIG_CPU_PM=y -CONFIG_CPU_RMAP=y -CONFIG_CPU_SPECTRE=y -CONFIG_CPU_THUMB_CAPABLE=y -CONFIG_CPU_TLB_V7=y -CONFIG_CPU_V7=y -CONFIG_CRC16=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_LIB_SHA1=y -CONFIG_CRYPTO_LIB_UTILS=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_ZSTD=y -CONFIG_CURRENT_POINTER_IN_TPIDRURO=y -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" -CONFIG_DEBUG_MISC=y -CONFIG_DMA_OPS=y -CONFIG_DTC=y -CONFIG_EDAC_ATOMIC_SCRUB=y -CONFIG_EDAC_SUPPORT=y -CONFIG_EXCLUSIVE_SYSTEM_RAM=y -CONFIG_FIXED_PHY=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FWNODE_MDIO=y -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_FW_LOADER_SYSFS=y -CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_GENERIC_EARLY_IOREMAP=y -CONFIG_GENERIC_GETTIMEOFDAY=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y -CONFIG_GENERIC_IRQ_MIGRATION=y -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_PHY=y -CONFIG_GENERIC_PINCONF=y -CONFIG_GENERIC_PINCTRL_GROUPS=y -CONFIG_GENERIC_PINMUX_FUNCTIONS=y -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_VDSO_32=y -CONFIG_GPIOLIB_IRQCHIP=y -CONFIG_GPIO_CDEV=y -CONFIG_GPIO_EN7523=y -CONFIG_GPIO_GENERIC=y -# CONFIG_HARDEN_BRANCH_HISTORY is not set -# CONFIG_HARDEN_BRANCH_PREDICTOR is not set -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAVE_SMP=y -CONFIG_HOTPLUG_CPU=y -CONFIG_HW_RANDOM=y -CONFIG_HZ_FIXED=0 -CONFIG_INITRAMFS_SOURCE="" -# CONFIG_IOMMU_DEBUGFS is not set -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set -CONFIG_IOMMU_SUPPORT=y -CONFIG_IRQCHIP=y -CONFIG_IRQSTACKS=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_IRQ_WORK=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set -CONFIG_LIBFDT=y -CONFIG_LOCK_DEBUGGING_SUPPORT=y -CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_MDIO_BUS=y -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_DEVRES=y -CONFIG_MEMFD_CREATE=y -CONFIG_MFD_SYSCON=y -CONFIG_MIGHT_HAVE_CACHE_L2X0=y -CONFIG_MIGRATION=y -CONFIG_MODULES_USE_ELF_REL=y -CONFIG_MTD_NAND_CORE=y -CONFIG_MTD_NAND_ECC=y -CONFIG_MTD_NAND_ECC_SW_HAMMING=y -CONFIG_MTD_SPI_NAND=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_SPLIT_FIRMWARE=y -CONFIG_MTD_SPLIT_FIT_FW=y -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_BEB_LIMIT=20 -CONFIG_MTD_UBI_BLOCK=y -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NET_FLOW_LIMIT=y -CONFIG_NET_SELFTESTS=y -CONFIG_NLS=y -CONFIG_NO_HZ_COMMON=y -CONFIG_NO_HZ_IDLE=y -CONFIG_NR_CPUS=2 -CONFIG_NVMEM=y -CONFIG_NVMEM_LAYOUTS=y -CONFIG_NVMEM_SYSFS=y -CONFIG_OF=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_FLATTREE=y -CONFIG_OF_GPIO=y -CONFIG_OF_IRQ=y -CONFIG_OF_KOBJ=y -CONFIG_OF_MDIO=y -CONFIG_OLD_SIGACTION=y -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_OUTER_CACHE=y -CONFIG_OUTER_CACHE_SYNC=y -CONFIG_PADATA=y -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_PAGE_POOL=y -CONFIG_PAGE_SIZE_LESS_THAN_256KB=y -CONFIG_PAGE_SIZE_LESS_THAN_64KB=y -CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y -CONFIG_PARTITION_PERCPU=y -CONFIG_PCI=y -CONFIG_PCIEAER=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIE_MEDIATEK=y -CONFIG_PCIE_PME=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_MSI=y -CONFIG_PCI_MSI_IRQ_DOMAIN=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PGTABLE_LEVELS=2 -CONFIG_PHYLIB=y -CONFIG_PHYLIB_LEDS=y -CONFIG_PINCTRL=y -CONFIG_PM=y -CONFIG_PM_CLK=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_PWM=y -CONFIG_PWM_SYSFS=y -CONFIG_RANDSTRUCT_NONE=y -CONFIG_RAS=y -CONFIG_RATIONAL=y -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -CONFIG_RESET_CONTROLLER=y -CONFIG_RFS_ACCEL=y -CONFIG_RPS=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_SCSI=y -CONFIG_SCSI_COMMON=y -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_FSL=y -# CONFIG_SERIAL_8250_SHARE_IRQ is not set -CONFIG_SERIAL_MCTRL_GPIO=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SGL_ALLOC=y -CONFIG_SG_POOL=y -CONFIG_SMP=y -CONFIG_SMP_ON_UP=y -CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SOFTIRQ_ON_OWN_STACK=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPI=y -CONFIG_SPI_AIROHA_EN7523=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_MEM=y -CONFIG_SRCU=y -CONFIG_STACKTRACE=y -# CONFIG_SWAP is not set -CONFIG_SWPHY=y -CONFIG_SWP_EMULATE=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_THREAD_INFO_IN_TASK=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_TREE_RCU=y -CONFIG_TREE_SRCU=y -CONFIG_UBIFS_FS=y -CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" -CONFIG_UNWINDER_ARM=y -CONFIG_USB=y -CONFIG_USB_COMMON=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set -CONFIG_USE_OF=y -# CONFIG_VFP is not set -CONFIG_WATCHDOG_CORE=y -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -CONFIG_XPS=y -CONFIG_XXHASH=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_BCJ=y -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZSTD_COMMON=y -CONFIG_ZSTD_COMPRESS=y -CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/airoha/patches-6.1/0005-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch b/target/linux/airoha/patches-6.1/0005-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch deleted file mode 100644 index dc28bd1df97a5e..00000000000000 --- a/target/linux/airoha/patches-6.1/0005-spi-Add-support-for-the-Airoha-EN7523-SoC-SPI-contro.patch +++ /dev/null @@ -1,341 +0,0 @@ ---- a/drivers/spi/Kconfig -+++ b/drivers/spi/Kconfig -@@ -330,6 +330,12 @@ config SPI_DLN2 - This driver can also be built as a module. If so, the module - will be called spi-dln2. - -+config SPI_AIROHA_EN7523 -+ bool "Airoha EN7523 SPI controller support" -+ depends on ARCH_AIROHA -+ help -+ This enables SPI controller support for the Airoha EN7523 SoC. -+ - config SPI_EP93XX - tristate "Cirrus Logic EP93xx SPI controller" - depends on ARCH_EP93XX || COMPILE_TEST ---- a/drivers/spi/Makefile -+++ b/drivers/spi/Makefile -@@ -47,6 +47,7 @@ obj-$(CONFIG_SPI_DW_BT1) += spi-dw-bt1. - obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmio.o - obj-$(CONFIG_SPI_DW_PCI) += spi-dw-pci.o - obj-$(CONFIG_SPI_EP93XX) += spi-ep93xx.o -+obj-$(CONFIG_SPI_AIROHA_EN7523) += spi-en7523.o - obj-$(CONFIG_SPI_FALCON) += spi-falcon.o - obj-$(CONFIG_SPI_FSI) += spi-fsi.o - obj-$(CONFIG_SPI_FSL_CPM) += spi-fsl-cpm.o ---- /dev/null -+++ b/drivers/spi/spi-en7523.c -@@ -0,0 +1,313 @@ -+// SPDX-License-Identifier: GPL-2.0 -+ -+#include -+#include -+#include -+#include -+ -+ -+#define ENSPI_READ_IDLE_EN 0x0004 -+#define ENSPI_MTX_MODE_TOG 0x0014 -+#define ENSPI_RDCTL_FSM 0x0018 -+#define ENSPI_MANUAL_EN 0x0020 -+#define ENSPI_MANUAL_OPFIFO_EMPTY 0x0024 -+#define ENSPI_MANUAL_OPFIFO_WDATA 0x0028 -+#define ENSPI_MANUAL_OPFIFO_FULL 0x002C -+#define ENSPI_MANUAL_OPFIFO_WR 0x0030 -+#define ENSPI_MANUAL_DFIFO_FULL 0x0034 -+#define ENSPI_MANUAL_DFIFO_WDATA 0x0038 -+#define ENSPI_MANUAL_DFIFO_EMPTY 0x003C -+#define ENSPI_MANUAL_DFIFO_RD 0x0040 -+#define ENSPI_MANUAL_DFIFO_RDATA 0x0044 -+#define ENSPI_IER 0x0090 -+#define ENSPI_NFI2SPI_EN 0x0130 -+ -+// TODO not in spi block -+#define ENSPI_CLOCK_DIVIDER ((void __iomem *)0x1fa201c4) -+ -+#define OP_CSH 0x00 -+#define OP_CSL 0x01 -+#define OP_CK 0x02 -+#define OP_OUTS 0x08 -+#define OP_OUTD 0x09 -+#define OP_OUTQ 0x0A -+#define OP_INS 0x0C -+#define OP_INS0 0x0D -+#define OP_IND 0x0E -+#define OP_INQ 0x0F -+#define OP_OS2IS 0x10 -+#define OP_OS2ID 0x11 -+#define OP_OS2IQ 0x12 -+#define OP_OD2IS 0x13 -+#define OP_OD2ID 0x14 -+#define OP_OD2IQ 0x15 -+#define OP_OQ2IS 0x16 -+#define OP_OQ2ID 0x17 -+#define OP_OQ2IQ 0x18 -+#define OP_OSNIS 0x19 -+#define OP_ODNID 0x1A -+ -+#define MATRIX_MODE_AUTO 1 -+#define CONF_MTX_MODE_AUTO 0 -+#define MANUALEN_AUTO 0 -+#define MATRIX_MODE_MANUAL 0 -+#define CONF_MTX_MODE_MANUAL 9 -+#define MANUALEN_MANUAL 1 -+ -+#define _ENSPI_MAX_XFER 0x1ff -+ -+#define REG(x) (iobase + x) -+ -+ -+static void __iomem *iobase; -+ -+ -+static void opfifo_write(u32 cmd, u32 len) -+{ -+ u32 tmp = ((cmd & 0x1f) << 9) | (len & 0x1ff); -+ -+ writel(tmp, REG(ENSPI_MANUAL_OPFIFO_WDATA)); -+ -+ /* Wait for room in OPFIFO */ -+ while (readl(REG(ENSPI_MANUAL_OPFIFO_FULL))) -+ ; -+ -+ /* Shift command into OPFIFO */ -+ writel(1, REG(ENSPI_MANUAL_OPFIFO_WR)); -+ -+ /* Wait for command to finish */ -+ while (!readl(REG(ENSPI_MANUAL_OPFIFO_EMPTY))) -+ ; -+} -+ -+static void set_cs(int state) -+{ -+ if (state) -+ opfifo_write(OP_CSH, 1); -+ else -+ opfifo_write(OP_CSL, 1); -+} -+ -+static void manual_begin_cmd(void) -+{ -+ /* Disable read idle state */ -+ writel(0, REG(ENSPI_READ_IDLE_EN)); -+ -+ /* Wait for FSM to reach idle state */ -+ while (readl(REG(ENSPI_RDCTL_FSM))) -+ ; -+ -+ /* Set SPI core to manual mode */ -+ writel(CONF_MTX_MODE_MANUAL, REG(ENSPI_MTX_MODE_TOG)); -+ writel(MANUALEN_MANUAL, REG(ENSPI_MANUAL_EN)); -+} -+ -+static void manual_end_cmd(void) -+{ -+ /* Set SPI core to auto mode */ -+ writel(CONF_MTX_MODE_AUTO, REG(ENSPI_MTX_MODE_TOG)); -+ writel(MANUALEN_AUTO, REG(ENSPI_MANUAL_EN)); -+ -+ /* Enable read idle state */ -+ writel(1, REG(ENSPI_READ_IDLE_EN)); -+} -+ -+static void dfifo_read(u8 *buf, int len) -+{ -+ int i; -+ -+ for (i = 0; i < len; i++) { -+ /* Wait for requested data to show up in DFIFO */ -+ while (readl(REG(ENSPI_MANUAL_DFIFO_EMPTY))) -+ ; -+ buf[i] = readl(REG(ENSPI_MANUAL_DFIFO_RDATA)); -+ /* Queue up next byte */ -+ writel(1, REG(ENSPI_MANUAL_DFIFO_RD)); -+ } -+} -+ -+static void dfifo_write(const u8 *buf, int len) -+{ -+ int i; -+ -+ for (i = 0; i < len; i++) { -+ /* Wait for room in DFIFO */ -+ while (readl(REG(ENSPI_MANUAL_DFIFO_FULL))) -+ ; -+ writel(buf[i], REG(ENSPI_MANUAL_DFIFO_WDATA)); -+ } -+} -+ -+#if 0 -+static void set_spi_clock_speed(int freq_mhz) -+{ -+ u32 tmp, val; -+ -+ tmp = readl(ENSPI_CLOCK_DIVIDER); -+ tmp &= 0xffff0000; -+ writel(tmp, ENSPI_CLOCK_DIVIDER); -+ -+ val = (400 / (freq_mhz * 2)); -+ tmp |= (val << 8) | 1; -+ writel(tmp, ENSPI_CLOCK_DIVIDER); -+} -+#endif -+ -+static void init_hw(void) -+{ -+ /* Disable manual/auto mode clash interrupt */ -+ writel(0, REG(ENSPI_IER)); -+ -+ // TODO via clk framework -+ // set_spi_clock_speed(50); -+ -+ /* Disable DMA */ -+ writel(0, REG(ENSPI_NFI2SPI_EN)); -+} -+ -+static int xfer_read(struct spi_transfer *xfer) -+{ -+ int opcode; -+ uint8_t *buf = xfer->rx_buf; -+ -+ switch (xfer->rx_nbits) { -+ case SPI_NBITS_SINGLE: -+ opcode = OP_INS; -+ break; -+ case SPI_NBITS_DUAL: -+ opcode = OP_IND; -+ break; -+ case SPI_NBITS_QUAD: -+ opcode = OP_INQ; -+ break; -+ } -+ -+ opfifo_write(opcode, xfer->len); -+ dfifo_read(buf, xfer->len); -+ -+ return xfer->len; -+} -+ -+static int xfer_write(struct spi_transfer *xfer, int next_xfer_is_rx) -+{ -+ int opcode; -+ const uint8_t *buf = xfer->tx_buf; -+ -+ if (next_xfer_is_rx) { -+ /* need to use Ox2Ix opcode to set the core to input afterwards */ -+ switch (xfer->tx_nbits) { -+ case SPI_NBITS_SINGLE: -+ opcode = OP_OS2IS; -+ break; -+ case SPI_NBITS_DUAL: -+ opcode = OP_OS2ID; -+ break; -+ case SPI_NBITS_QUAD: -+ opcode = OP_OS2IQ; -+ break; -+ } -+ } else { -+ switch (xfer->tx_nbits) { -+ case SPI_NBITS_SINGLE: -+ opcode = OP_OUTS; -+ break; -+ case SPI_NBITS_DUAL: -+ opcode = OP_OUTD; -+ break; -+ case SPI_NBITS_QUAD: -+ opcode = OP_OUTQ; -+ break; -+ } -+ } -+ -+ opfifo_write(opcode, xfer->len); -+ dfifo_write(buf, xfer->len); -+ -+ return xfer->len; -+} -+ -+size_t max_transfer_size(struct spi_device *spi) -+{ -+ return _ENSPI_MAX_XFER; -+} -+ -+int transfer_one_message(struct spi_controller *ctrl, struct spi_message *msg) -+{ -+ struct spi_transfer *xfer; -+ int next_xfer_is_rx = 0; -+ -+ manual_begin_cmd(); -+ set_cs(0); -+ list_for_each_entry(xfer, &msg->transfers, transfer_list) { -+ if (xfer->tx_buf) { -+ if (!list_is_last(&xfer->transfer_list, &msg->transfers) -+ && list_next_entry(xfer, transfer_list)->rx_buf != NULL) -+ next_xfer_is_rx = 1; -+ else -+ next_xfer_is_rx = 0; -+ msg->actual_length += xfer_write(xfer, next_xfer_is_rx); -+ } else if (xfer->rx_buf) { -+ msg->actual_length += xfer_read(xfer); -+ } -+ } -+ set_cs(1); -+ manual_end_cmd(); -+ -+ msg->status = 0; -+ spi_finalize_current_message(ctrl); -+ -+ return 0; -+} -+ -+static int spi_probe(struct platform_device *pdev) -+{ -+ struct spi_controller *ctrl; -+ int err; -+ -+ ctrl = devm_spi_alloc_master(&pdev->dev, 0); -+ if (!ctrl) { -+ dev_err(&pdev->dev, "Error allocating SPI controller\n"); -+ return -ENOMEM; -+ } -+ -+ iobase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL); -+ if (IS_ERR(iobase)) { -+ dev_err(&pdev->dev, "Could not map SPI register address"); -+ return -ENOMEM; -+ } -+ -+ init_hw(); -+ -+ ctrl->dev.of_node = pdev->dev.of_node; -+ ctrl->flags = SPI_CONTROLLER_HALF_DUPLEX; -+ ctrl->mode_bits = SPI_RX_DUAL | SPI_TX_DUAL; -+ ctrl->max_transfer_size = max_transfer_size; -+ ctrl->transfer_one_message = transfer_one_message; -+ err = devm_spi_register_controller(&pdev->dev, ctrl); -+ if (err) { -+ dev_err(&pdev->dev, "Could not register SPI controller\n"); -+ return -ENODEV; -+ } -+ -+ return 0; -+} -+ -+static const struct of_device_id spi_of_ids[] = { -+ { .compatible = "airoha,en7523-spi" }, -+ { /* sentinel */ } -+}; -+MODULE_DEVICE_TABLE(of, spi_of_ids); -+ -+static struct platform_driver spi_driver = { -+ .probe = spi_probe, -+ .driver = { -+ .name = "airoha-en7523-spi", -+ .of_match_table = spi_of_ids, -+ }, -+}; -+ -+module_platform_driver(spi_driver); -+ -+MODULE_LICENSE("GPL v2"); -+MODULE_AUTHOR("Bert Vermeulen "); -+MODULE_DESCRIPTION("Airoha EN7523 SPI driver"); diff --git a/target/linux/armsr/Makefile b/target/linux/armsr/Makefile index c2e57e52da6019..02b0eda60757ea 100644 --- a/target/linux/armsr/Makefile +++ b/target/linux/armsr/Makefile @@ -9,8 +9,7 @@ BOARDNAME:=Arm SystemReady (EFI) compliant FEATURES:=fpu pci pcie rtc usb boot-part rootfs-part FEATURES+=cpiogz ext4 ramdisk squashfs targz vmdk -KERNEL_PATCHVER:=6.1 -KERNEL_TESTING_PATCHVER:=6.6 +KERNEL_PATCHVER:=6.6 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/armsr/armv7/config-6.1 b/target/linux/armsr/armv7/config-6.1 deleted file mode 100644 index 664ef2e05b201c..00000000000000 --- a/target/linux/armsr/armv7/config-6.1 +++ /dev/null @@ -1,78 +0,0 @@ -CONFIG_ALIGNMENT_TRAP=y -CONFIG_ARCH_32BIT_OFF_T=y -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_ARCH_MULTIPLATFORM=y -CONFIG_ARCH_MULTI_V6_V7=y -CONFIG_ARCH_MULTI_V7=y -CONFIG_ARCH_MMAP_RND_BITS=8 -CONFIG_ARCH_NR_GPIO=0 -CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y -CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_VIRT=y -CONFIG_ARM=y -CONFIG_ARM_CPU_SUSPEND=y -CONFIG_ARM_HAS_SG_CHAIN=y -CONFIG_ARM_HEAVY_MB=y -# CONFIG_ARM_HIGHBANK_CPUIDLE is not set -CONFIG_ARM_L1_CACHE_SHIFT=6 -CONFIG_ARM_L1_CACHE_SHIFT_6=y -CONFIG_ARM_LPAE=y -CONFIG_ARM_PATCH_IDIV=y -CONFIG_ARM_PATCH_PHYS_VIRT=y -CONFIG_ARM_PSCI=y -CONFIG_ARM_THUMB=y -CONFIG_ARM_UNWIND=y -CONFIG_ARM_VIRT_EXT=y -CONFIG_AUTO_ZRELADDR=y -CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y -CONFIG_CACHE_L2X0=y -CONFIG_COMPAT_32BIT_TIME=y -CONFIG_CPU_32v6K=y -CONFIG_CPU_32v7=y -CONFIG_CPU_ABRT_EV7=y -CONFIG_CPU_CACHE_V7=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y -CONFIG_CPU_HAS_ASID=y -CONFIG_CPU_PABRT_V7=y -CONFIG_CPU_SPECTRE=y -CONFIG_CPU_THUMB_CAPABLE=y -CONFIG_CPU_TLB_V7=y -CONFIG_CPU_V7=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" -CONFIG_DMA_OPS=y -CONFIG_EDAC_ATOMIC_SCRUB=y -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_GENERIC_VDSO_32=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y -CONFIG_HAVE_SMP=y -CONFIG_HZ_FIXED=0 -CONFIG_HZ_PERIODIC=y -CONFIG_MIGHT_HAVE_CACHE_L2X0=y -CONFIG_MODULES_USE_ELF_REL=y -CONFIG_NEON=y -CONFIG_NR_CPUS=4 -CONFIG_OLD_SIGACTION=y -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_OUTER_CACHE=y -CONFIG_OUTER_CACHE_SYNC=y -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_PERF_USE_VMALLOC=y -CONFIG_RTC_MC146818_LIB=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SMP_ON_UP=y -CONFIG_SWP_EMULATE=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" -CONFIG_UNWINDER_ARM=y -CONFIG_USE_OF=y -CONFIG_VFP=y -CONFIG_VFPv3=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_BCJ=y -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_ZBOOT_ROM_TEXT=0 diff --git a/target/linux/armsr/armv8/config-6.1 b/target/linux/armsr/armv8/config-6.1 deleted file mode 100644 index 0ead9730641b65..00000000000000 --- a/target/linux/armsr/armv8/config-6.1 +++ /dev/null @@ -1,800 +0,0 @@ -CONFIG_64BIT=y -CONFIG_ACPI_APEI=y -CONFIG_ACPI_HMAT=y -CONFIG_ACPI_PCC=y -CONFIG_AHCI_IMX=y -CONFIG_AHCI_MVEBU=y -CONFIG_AHCI_QORIQ=y -CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y -CONFIG_ARCH_BCM=y -CONFIG_ARCH_BCM2835=y -# CONFIG_ARCH_BCMBCA is not set -CONFIG_ARCH_BCM_IPROC=y -CONFIG_ARCH_BRCMSTB=y -CONFIG_ARCH_HISI=y -CONFIG_ARCH_INTEL_SOCFPGA=y -CONFIG_ARCH_LAYERSCAPE=y -CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=24 -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_MVEBU=y -CONFIG_ARCH_MXC=y -CONFIG_ARCH_NXP=y -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_ARCH_R8A774A1=y -CONFIG_ARCH_R8A774B1=y -CONFIG_ARCH_R8A774C0=y -CONFIG_ARCH_R8A774E1=y -# CONFIG_ARCH_R8A77950 is not set -# CONFIG_ARCH_R8A77951 is not set -# CONFIG_ARCH_R8A77960 is not set -# CONFIG_ARCH_R8A77961 is not set -# CONFIG_ARCH_R8A77965 is not set -# CONFIG_ARCH_R8A77970 is not set -# CONFIG_ARCH_R8A77980 is not set -# CONFIG_ARCH_R8A77990 is not set -# CONFIG_ARCH_R8A77995 is not set -# CONFIG_ARCH_R8A779A0 is not set -# CONFIG_ARCH_R8A779F0 is not set -# CONFIG_ARCH_R8A779G0 is not set -CONFIG_ARCH_R9A07G043=y -CONFIG_ARCH_R9A07G044=y -CONFIG_ARCH_R9A07G054=y -CONFIG_ARCH_R9A09G011=y -CONFIG_ARCH_RENESAS=y -CONFIG_ARCH_ROCKCHIP=y -CONFIG_ARCH_STACKWALK=y -CONFIG_ARCH_SUNXI=y -CONFIG_ARCH_SYNQUACER=y -CONFIG_ARCH_THUNDER=y -CONFIG_ARCH_THUNDER2=y -CONFIG_ARCH_VEXPRESS=y -CONFIG_ARCH_WANTS_NO_INSTR=y -CONFIG_ARCH_ZYNQMP=y -CONFIG_ARM64=y -CONFIG_ARM64_4K_PAGES=y -CONFIG_ARM64_AMU_EXTN=y -CONFIG_ARM64_BTI=y -CONFIG_ARM64_CNP=y -CONFIG_ARM64_CRYPTO=y -CONFIG_ARM64_E0PD=y -CONFIG_ARM64_EPAN=y -CONFIG_ARM64_ERRATUM_1024718=y -CONFIG_ARM64_ERRATUM_1165522=y -CONFIG_ARM64_ERRATUM_1286807=y -CONFIG_ARM64_ERRATUM_1319367=y -CONFIG_ARM64_ERRATUM_1418040=y -CONFIG_ARM64_ERRATUM_1463225=y -CONFIG_ARM64_ERRATUM_1508412=y -CONFIG_ARM64_ERRATUM_1530923=y -CONFIG_ARM64_ERRATUM_1542419=y -CONFIG_ARM64_ERRATUM_1742098=y -CONFIG_ARM64_ERRATUM_2051678=y -CONFIG_ARM64_ERRATUM_2054223=y -CONFIG_ARM64_ERRATUM_2067961=y -CONFIG_ARM64_ERRATUM_2077057=y -CONFIG_ARM64_ERRATUM_2441007=y -CONFIG_ARM64_ERRATUM_2441009=y -CONFIG_ARM64_ERRATUM_2457168=y -CONFIG_ARM64_ERRATUM_2658417=y -CONFIG_ARM64_ERRATUM_819472=y -CONFIG_ARM64_ERRATUM_824069=y -CONFIG_ARM64_ERRATUM_826319=y -CONFIG_ARM64_ERRATUM_827319=y -CONFIG_ARM64_ERRATUM_832075=y -CONFIG_ARM64_ERRATUM_834220=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_845719=y -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y -CONFIG_ARM64_MTE=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_PAN=y -CONFIG_ARM64_PA_BITS=48 -CONFIG_ARM64_PA_BITS_48=y -CONFIG_ARM64_PTR_AUTH=y -CONFIG_ARM64_PTR_AUTH_KERNEL=y -CONFIG_ARM64_RAS_EXTN=y -CONFIG_ARM64_SME=y -CONFIG_ARM64_SVE=y -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARM64_TLB_RANGE=y -CONFIG_ARM64_VA_BITS=48 -CONFIG_ARM64_VA_BITS_48=y -CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y -CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y -CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y -CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y -# CONFIG_ARMADA_37XX_RWTM_MBOX is not set -CONFIG_ARMADA_37XX_WATCHDOG=y -CONFIG_ARMADA_THERMAL=y -CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -# CONFIG_ARM_DMC620_PMU is not set -# CONFIG_ARM_MHU_V2 is not set -CONFIG_ARM_PSCI_CPUIDLE=y -CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y -CONFIG_ARM_SBSA_WATCHDOG=y -CONFIG_ARM_SCPI_POWER_DOMAIN=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_ARM_SMCCC_SOC_ID=y -CONFIG_ARM_SMC_WATCHDOG=y -CONFIG_ARM_SMMU=y -# CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT is not set -# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set -CONFIG_ARM_SMMU_V3=y -# CONFIG_ARM_SMMU_V3_PMU is not set -# CONFIG_ARM_SMMU_V3_SVA is not set -CONFIG_ATOMIC64_SELFTEST=y -CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -# CONFIG_AXI_DMAC is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_BCM2711_THERMAL is not set -CONFIG_BCM2835_MBOX=y -CONFIG_BCM2835_POWER=y -# CONFIG_BCM2835_THERMAL is not set -# CONFIG_BCM2835_VCHIQ is not set -CONFIG_BCM2835_WDT=y -# CONFIG_BCMGENET is not set -# CONFIG_BCM_CYGNUS_PHY is not set -# CONFIG_BCM_FLEXRM_MBOX is not set -# CONFIG_BCM_NS_THERMAL is not set -# CONFIG_BCM_PDC_MBOX is not set -# CONFIG_BCM_SR_THERMAL is not set -CONFIG_BCM_VIDEOCORE=y -# CONFIG_BGMAC_PLATFORM is not set -CONFIG_BLK_PM=y -# CONFIG_BRCMSTB_PM is not set -# CONFIG_BRCMSTB_THERMAL is not set -CONFIG_BRCM_USB_PINMAP=y -CONFIG_CAVIUM_ERRATUM_22375=y -CONFIG_CAVIUM_ERRATUM_23144=y -CONFIG_CAVIUM_ERRATUM_23154=y -CONFIG_CAVIUM_ERRATUM_27456=y -CONFIG_CAVIUM_ERRATUM_30115=y -CONFIG_CAVIUM_TX2_ERRATUM_219=y -CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y -CONFIG_CLK_BCM2711_DVP=y -CONFIG_CLK_BCM2835=y -CONFIG_CLK_BCM_NS2=y -CONFIG_CLK_BCM_SR=y -CONFIG_CLK_IMX8MM=y -CONFIG_CLK_IMX8MN=y -CONFIG_CLK_IMX8MP=y -CONFIG_CLK_IMX8MQ=y -CONFIG_CLK_IMX8QXP=y -CONFIG_CLK_IMX8ULP=y -CONFIG_CLK_IMX93=y -CONFIG_CLK_INTEL_SOCFPGA=y -CONFIG_CLK_INTEL_SOCFPGA64=y -CONFIG_CLK_LS1028A_PLLDIG=y -CONFIG_CLK_PX30=y -CONFIG_CLK_QORIQ=y -CONFIG_CLK_RASPBERRYPI=y -CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y -CONFIG_CLK_RENESAS=y -CONFIG_CLK_RK3308=y -CONFIG_CLK_RK3328=y -CONFIG_CLK_RK3368=y -CONFIG_CLK_RK3399=y -CONFIG_CLK_RK3568=y -CONFIG_CLK_SP810=y -CONFIG_CLK_SUNXI=y -CONFIG_CLK_SUNXI_CLOCKS=y -# CONFIG_CLK_SUNXI_PRCM_SUN6I is not set -# CONFIG_CLK_SUNXI_PRCM_SUN8I is not set -# CONFIG_CLK_SUNXI_PRCM_SUN9I is not set -CONFIG_CLK_VEXPRESS_OSC=y -CONFIG_CMA=y -CONFIG_CMA_ALIGNMENT=8 -CONFIG_CMA_AREAS=19 -# CONFIG_CMA_DEBUG is not set -# CONFIG_CMA_DEBUGFS is not set -CONFIG_CMA_SIZE_MBYTES=32 -# CONFIG_CMA_SIZE_SEL_MAX is not set -CONFIG_CMA_SIZE_SEL_MBYTES=y -# CONFIG_CMA_SIZE_SEL_MIN is not set -# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set -# CONFIG_CMA_SYSFS is not set -# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set -# CONFIG_COMMON_CLK_FSL_SAI is not set -CONFIG_COMMON_CLK_HI3516CV300=y -CONFIG_COMMON_CLK_HI3519=y -CONFIG_COMMON_CLK_HI3559A=y -CONFIG_COMMON_CLK_HI3660=y -CONFIG_COMMON_CLK_HI3670=y -CONFIG_COMMON_CLK_HI3798CV200=y -CONFIG_COMMON_CLK_HI6220=y -CONFIG_COMMON_CLK_HI655X=y -CONFIG_COMMON_CLK_ROCKCHIP=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_COMMON_CLK_ZYNQMP=y -CONFIG_COMMON_RESET_HI3660=y -CONFIG_COMMON_RESET_HI6220=y -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_MENU=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_PM=y -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_BS=y -CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y -CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y -CONFIG_CRYPTO_CHACHA20=y -CONFIG_CRYPTO_CHACHA20_NEON=y -CONFIG_CRYPTO_CRYPTD=y -# CONFIG_CRYPTO_DEV_ALLWINNER is not set -# CONFIG_CRYPTO_DEV_BCM_SPU is not set -# CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM is not set -# CONFIG_CRYPTO_DEV_HISI_HPRE is not set -# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set -# CONFIG_CRYPTO_DEV_HISI_TRNG is not set -# CONFIG_CRYPTO_DEV_OCTEONTX2_CPT is not set -# CONFIG_CRYPTO_DEV_ROCKCHIP is not set -# CONFIG_CRYPTO_DEV_ZYNQMP_AES is not set -# CONFIG_CRYPTO_DEV_ZYNQMP_SHA3 is not set -CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y -CONFIG_CRYPTO_POLYVAL_ARM64_CE=y -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA256_ARM64=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_SHA512_ARM64=y -CONFIG_CRYPTO_SIMD=y -# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set -# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set -# CONFIG_DEV_DAX_HMEM is not set -CONFIG_DMA_BCM2835=y -CONFIG_DMA_CMA=y -CONFIG_DMA_DIRECT_REMAP=y -CONFIG_DMA_SHARED_BUFFER=y -CONFIG_DMA_SUN6I=y -CONFIG_DRM=y -CONFIG_DRM_BOCHS=y -CONFIG_DRM_BRIDGE=y -# CONFIG_DRM_FSL_LDB is not set -CONFIG_DRM_GEM_SHMEM_HELPER=y -# CONFIG_DRM_IMX8QM_LDB is not set -# CONFIG_DRM_IMX8QXP_LDB is not set -# CONFIG_DRM_IMX8QXP_PIXEL_COMBINER is not set -# CONFIG_DRM_IMX8QXP_PIXEL_LINK is not set -# CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI is not set -# CONFIG_DRM_IMX_DCSS is not set -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_PANEL=y -CONFIG_DRM_PANEL_BRIDGE=y -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_DRM_QXL=y -# CONFIG_DRM_RCAR_DU is not set -# CONFIG_DRM_ROCKCHIP is not set -CONFIG_DRM_TTM=y -CONFIG_DRM_TTM_HELPER=y -# CONFIG_DRM_V3D is not set -CONFIG_DRM_VIRTIO_GPU=y -CONFIG_DRM_VRAM_HELPER=y -# CONFIG_DWMAC_SUN8I is not set -# CONFIG_DWMAC_SUNXI is not set -CONFIG_DW_WATCHDOG=y -CONFIG_EFI_CAPSULE_LOADER=y -CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y -CONFIG_EFI_SOFT_RESERVE=y -CONFIG_EFI_VARS_PSTORE=y -# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_IMAGEBLIT=y -CONFIG_FB_CMDLINE=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_MX3=y -# CONFIG_FB_SH_MOBILE_LCDC is not set -# CONFIG_FB_XILINX is not set -CONFIG_FRAME_POINTER=y -# CONFIG_FSL_DPAA is not set -# CONFIG_FSL_DPAA2_QDMA is not set -CONFIG_FSL_ERRATUM_A008585=y -# CONFIG_FSL_IMX8_DDR_PMU is not set -# CONFIG_FSL_PQ_MDIO is not set -CONFIG_FUJITSU_ERRATUM_010001=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_FIND_FIRST_BIT=y -# CONFIG_GIANFAR is not set -CONFIG_GPIO_BCM_XGS_IPROC=y -CONFIG_GPIO_BRCMSTB=y -CONFIG_GPIO_GENERIC=y -CONFIG_GPIO_GENERIC_PLATFORM=y -CONFIG_GPIO_MPC8XXX=y -CONFIG_GPIO_MXC=y -CONFIG_GPIO_RASPBERRYPI_EXP=y -CONFIG_GPIO_ROCKCHIP=y -CONFIG_GPIO_THUNDERX=y -CONFIG_GPIO_XLP=y -CONFIG_GPIO_ZYNQ=y -CONFIG_GPIO_ZYNQMP_MODEPIN=y -CONFIG_HDMI=y -CONFIG_HI3660_MBOX=y -CONFIG_HI6220_MBOX=y -CONFIG_HISILICON_ERRATUM_161600802=y -CONFIG_HISILICON_LPC=y -CONFIG_HISI_PMU=y -CONFIG_HISI_THERMAL=y -CONFIG_HOTPLUG_PCI=y -CONFIG_HOTPLUG_PCI_ACPI=y -# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set -# CONFIG_HOTPLUG_PCI_CPCI is not set -# CONFIG_HOTPLUG_PCI_PCIE is not set -# CONFIG_HOTPLUG_PCI_SHPC is not set -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y -# CONFIG_HW_RANDOM_HISI is not set -CONFIG_HW_RANDOM_VIRTIO=y -CONFIG_I2C=y -CONFIG_I2C_ALGOBIT=y -CONFIG_I2C_ALTERA=y -# CONFIG_I2C_BCM2835 is not set -CONFIG_I2C_BOARDINFO=y -# CONFIG_I2C_HIX5HD2 is not set -CONFIG_I2C_IMX=y -CONFIG_I2C_IMX_LPI2C=y -CONFIG_I2C_RIIC=y -# CONFIG_I2C_RZV2M is not set -# CONFIG_I2C_SLAVE_TESTUNIT is not set -CONFIG_I2C_SYNQUACER=y -CONFIG_I2C_THUNDERX=y -# CONFIG_I2C_XLP9XX is not set -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -# CONFIG_IMX2_WDT is not set -# CONFIG_IMX8MM_THERMAL is not set -# CONFIG_IMX8QXP_ADC is not set -# CONFIG_IMX_DMA is not set -# CONFIG_IMX_DSP is not set -CONFIG_IMX_INTMUX=y -CONFIG_IMX_IRQSTEER=y -CONFIG_IMX_MBOX=y -# CONFIG_IMX_MU_MSI is not set -CONFIG_IMX_SCU=y -CONFIG_IMX_SCU_PD=y -# CONFIG_IMX_SC_THERMAL is not set -# CONFIG_IMX_SC_WDT is not set -# CONFIG_IMX_SDMA is not set -# CONFIG_IMX_WEIM is not set -# CONFIG_INPUT_HISI_POWERKEY is not set -# CONFIG_INPUT_IBM_PANEL is not set -# CONFIG_INTEL_STRATIX10_RSU is not set -# CONFIG_INTEL_STRATIX10_SERVICE is not set -CONFIG_INTERCONNECT=y -CONFIG_INTERCONNECT_IMX=y -CONFIG_INTERCONNECT_IMX8MM=y -CONFIG_INTERCONNECT_IMX8MN=y -CONFIG_INTERCONNECT_IMX8MP=y -CONFIG_INTERCONNECT_IMX8MQ=y -# CONFIG_IOMMU_DEBUGFS is not set -# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set -CONFIG_IOMMU_DEFAULT_DMA_STRICT=y -CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -# CONFIG_IOMMU_IO_PGTABLE_DART is not set -# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set -CONFIG_IOMMU_SUPPORT=y -# CONFIG_IPMMU_VMSA is not set -# CONFIG_K3_DMA is not set -CONFIG_KCMP=y -# CONFIG_KEYBOARD_IMX_SC_KEY is not set -# CONFIG_KEYBOARD_SUN4I_LRADC is not set -CONFIG_KSM=y -CONFIG_KVM=y -CONFIG_LCD_CLASS_DEVICE=m -# CONFIG_LCD_PLATFORM is not set -# CONFIG_MAILBOX_TEST is not set -CONFIG_MARVELL_10G_PHY=y -# CONFIG_MARVELL_CN10K_DDR_PMU is not set -# CONFIG_MARVELL_CN10K_TAD_PMU is not set -CONFIG_MDIO_BCM_IPROC=y -CONFIG_MDIO_BUS_MUX_BCM_IPROC=y -CONFIG_MDIO_SUN4I=y -# CONFIG_MFD_ALTERA_A10SR is not set -CONFIG_MFD_ALTERA_SYSMGR=y -# CONFIG_MFD_AXP20X_RSB is not set -CONFIG_MFD_CORE=y -CONFIG_MFD_HI655X_PMIC=y -# CONFIG_MFD_KHADAS_MCU is not set -CONFIG_MFD_SUN4I_GPADC=y -# CONFIG_MFD_SUN6I_PRCM is not set -CONFIG_MFD_SYSCON=y -CONFIG_MFD_VEXPRESS_SYSREG=y -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_MMC_BCM2835=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_CAVIUM_THUNDERX=y -CONFIG_MMC_DW=y -# CONFIG_MMC_DW_BLUEFIELD is not set -# CONFIG_MMC_DW_EXYNOS is not set -# CONFIG_MMC_DW_HI3798CV200 is not set -# CONFIG_MMC_DW_K3 is not set -# CONFIG_MMC_DW_PCI is not set -CONFIG_MMC_DW_PLTFM=y -CONFIG_MMC_DW_ROCKCHIP=y -# CONFIG_MMC_MXC is not set -CONFIG_MMC_RICOH_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_ACPI=y -CONFIG_MMC_SDHCI_CADENCE=y -CONFIG_MMC_SDHCI_ESDHC_IMX=y -CONFIG_MMC_SDHCI_IPROC=y -CONFIG_MMC_SDHCI_OF_ESDHC=y -CONFIG_MMC_SDHCI_PCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHI=y -CONFIG_MMC_SDHI_INTERNAL_DMAC=y -# CONFIG_MMC_SDHI_SYS_DMAC is not set -# CONFIG_MMC_SH_MMCIF is not set -CONFIG_MMC_SUNXI=y -CONFIG_MODULES_USE_ELF_RELA=y -# CONFIG_MVNETA is not set -# CONFIG_MVPP2 is not set -# CONFIG_MV_XOR is not set -# CONFIG_MX3_IPU is not set -CONFIG_MXC_CLK=y -CONFIG_MXC_CLK_SCU=y -# CONFIG_MXS_DMA is not set -CONFIG_NEED_SG_DMA_LENGTH=y -# CONFIG_NET_VENDOR_ALLWINNER is not set -CONFIG_NODES_SHIFT=4 -CONFIG_NOP_USB_XCEIV=y -CONFIG_NO_HZ=y -CONFIG_NO_HZ_COMMON=y -CONFIG_NO_HZ_IDLE=y -CONFIG_NR_CPUS=256 -CONFIG_NUMA=y -CONFIG_NUMA_BALANCING=y -CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y -# CONFIG_NVHE_EL2_DEBUG is not set -CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y -# CONFIG_NVMEM_IMX_IIM is not set -# CONFIG_NVMEM_IMX_OCOTP_ELE is not set -CONFIG_NVMEM_IMX_OCOTP_SCU=y -# CONFIG_NVMEM_LAYERSCAPE_SFP is not set -CONFIG_NVMEM_ROCKCHIP_EFUSE=y -# CONFIG_NVMEM_ROCKCHIP_OTP is not set -# CONFIG_NVMEM_SNVS_LPGPR is not set -# CONFIG_NVMEM_SUNXI_SID is not set -# CONFIG_NVMEM_ZYNQMP is not set -CONFIG_PCC=y -CONFIG_PCIEAER=y -CONFIG_PCIEASPM=y -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_PERFORMANCE is not set -# CONFIG_PCIEASPM_POWERSAVE is not set -# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set -CONFIG_PCIEPORTBUS=y -CONFIG_PCIE_ARMADA_8K=y -CONFIG_PCIE_BRCMSTB=y -CONFIG_PCIE_HISI_STB=y -CONFIG_PCIE_IPROC_MSI=y -CONFIG_PCIE_IPROC_PLATFORM=y -CONFIG_PCIE_LAYERSCAPE=y -CONFIG_PCIE_MOBIVEIL_PLAT=y -# CONFIG_PCIE_RCAR_EP is not set -CONFIG_PCIE_RCAR_HOST=y -CONFIG_PCIE_ROCKCHIP=y -# CONFIG_PCIE_ROCKCHIP_DW_HOST is not set -CONFIG_PCIE_ROCKCHIP_HOST=y -CONFIG_PCIE_XILINX_CPM=y -CONFIG_PCIE_XILINX_NWL=y -CONFIG_PCI_AARDVARK=y -CONFIG_PCI_HISI=y -CONFIG_PCI_HOST_THUNDER_ECAM=y -CONFIG_PCI_HOST_THUNDER_PEM=y -CONFIG_PCI_IMX6=y -CONFIG_PCI_IOV=y -CONFIG_PCI_LAYERSCAPE=y -CONFIG_PCI_PASID=y -# CONFIG_PCI_RCAR_GEN2 is not set -CONFIG_PHY_BCM_SR_PCIE=y -CONFIG_PHY_BCM_SR_USB=y -CONFIG_PHY_BRCM_SATA=y -CONFIG_PHY_BRCM_USB=y -CONFIG_PHY_FSL_IMX8M_PCIE=y -# CONFIG_PHY_FSL_LYNX_28G is not set -CONFIG_PHY_HI3660_USB=y -CONFIG_PHY_HI3670_PCIE=y -CONFIG_PHY_HI3670_USB=y -CONFIG_PHY_HI6220_USB=y -CONFIG_PHY_HISI_INNO_USB2=y -# CONFIG_PHY_HISTB_COMBPHY is not set -# CONFIG_PHY_MIXEL_LVDS_PHY is not set -CONFIG_PHY_MVEBU_A3700_COMPHY=y -CONFIG_PHY_MVEBU_A3700_UTMI=y -CONFIG_PHY_MVEBU_A38X_COMPHY=y -CONFIG_PHY_MVEBU_CP110_COMPHY=y -CONFIG_PHY_NS2_PCIE=y -CONFIG_PHY_NS2_USB_DRD=y -# CONFIG_PHY_RCAR_GEN2 is not set -CONFIG_PHY_RCAR_GEN3_PCIE=y -CONFIG_PHY_RCAR_GEN3_USB2=y -CONFIG_PHY_RCAR_GEN3_USB3=y -# CONFIG_PHY_ROCKCHIP_DP is not set -# CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set -CONFIG_PHY_ROCKCHIP_EMMC=y -# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set -# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set -# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set -CONFIG_PHY_ROCKCHIP_INNO_USB2=y -# CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY is not set -CONFIG_PHY_ROCKCHIP_PCIE=y -CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y -CONFIG_PHY_ROCKCHIP_TYPEC=y -# CONFIG_PHY_ROCKCHIP_USB is not set -CONFIG_PHY_SUN4I_USB=y -CONFIG_PHY_SUN50I_USB3=y -# CONFIG_PHY_SUN6I_MIPI_DPHY is not set -CONFIG_PHY_SUN9I_USB=y -# CONFIG_PHY_XILINX_ZYNQMP is not set -CONFIG_PINCTRL_IMX=y -CONFIG_PINCTRL_IMX8DXL=y -CONFIG_PINCTRL_IMX8MM=y -CONFIG_PINCTRL_IMX8MN=y -CONFIG_PINCTRL_IMX8MP=y -CONFIG_PINCTRL_IMX8MQ=y -CONFIG_PINCTRL_IMX8QM=y -CONFIG_PINCTRL_IMX8QXP=y -CONFIG_PINCTRL_IMX8ULP=y -CONFIG_PINCTRL_IMX93=y -# CONFIG_PINCTRL_IMXRT1050 is not set -# CONFIG_PINCTRL_IMXRT1170 is not set -CONFIG_PINCTRL_IMX_SCU=y -CONFIG_PINCTRL_IPROC_GPIO=y -CONFIG_PINCTRL_NS2_MUX=y -CONFIG_PINCTRL_ROCKCHIP=y -# CONFIG_PINCTRL_SUN20I_D1 is not set -CONFIG_PINCTRL_SUN4I_A10=y -CONFIG_PINCTRL_SUN50I_A100=y -CONFIG_PINCTRL_SUN50I_A100_R=y -CONFIG_PINCTRL_SUN50I_A64=y -CONFIG_PINCTRL_SUN50I_A64_R=y -CONFIG_PINCTRL_SUN50I_H5=y -CONFIG_PINCTRL_SUN50I_H6=y -CONFIG_PINCTRL_SUN50I_H616=y -CONFIG_PINCTRL_SUN50I_H616_R=y -CONFIG_PINCTRL_SUN50I_H6_R=y -CONFIG_PINCTRL_SUN5I=y -# CONFIG_PINCTRL_SUN6I_A31 is not set -# CONFIG_PINCTRL_SUN6I_A31_R is not set -# CONFIG_PINCTRL_SUN8I_A23 is not set -# CONFIG_PINCTRL_SUN8I_A23_R is not set -# CONFIG_PINCTRL_SUN8I_A33 is not set -# CONFIG_PINCTRL_SUN8I_A83T is not set -# CONFIG_PINCTRL_SUN8I_A83T_R is not set -# CONFIG_PINCTRL_SUN8I_H3 is not set -# CONFIG_PINCTRL_SUN8I_H3_R is not set -# CONFIG_PINCTRL_SUN8I_V3S is not set -# CONFIG_PINCTRL_SUN9I_A80 is not set -# CONFIG_PINCTRL_SUN9I_A80_R is not set -CONFIG_PINCTRL_ZYNQMP=y -CONFIG_PM=y -CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_POWER_RESET=y -CONFIG_POWER_RESET_HISI=y -CONFIG_POWER_RESET_VEXPRESS=y -CONFIG_POWER_SUPPLY=y -# CONFIG_PTP_1588_CLOCK_DTE is not set -# CONFIG_PWM_BCM2835 is not set -CONFIG_QCOM_FALKOR_ERRATUM_1003=y -CONFIG_QCOM_FALKOR_ERRATUM_1009=y -CONFIG_QCOM_FALKOR_ERRATUM_E1041=y -CONFIG_QCOM_QDF2400_ERRATUM_0065=y -CONFIG_QORIQ_THERMAL=y -CONFIG_QUEUED_RWLOCKS=y -CONFIG_QUEUED_SPINLOCKS=y -CONFIG_RASPBERRYPI_FIRMWARE=y -CONFIG_RASPBERRYPI_POWER=y -CONFIG_RANDOMIZE_BASE=y -CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -CONFIG_RANDSTRUCT_NONE=y -CONFIG_RELOCATABLE=y -# CONFIG_RAVB is not set -CONFIG_RCAR_DMAC=y -# CONFIG_RCAR_GEN3_THERMAL is not set -# CONFIG_RCAR_THERMAL is not set -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_ANATOP=y -CONFIG_REGULATOR_AXP20X=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_HI655X=y -CONFIG_REGULATOR_PFUZE100=y -# CONFIG_REGULATOR_VEXPRESS is not set -CONFIG_RENESAS_OSTM=y -# CONFIG_RENESAS_RZAWDT is not set -# CONFIG_RENESAS_RZG2LWDT is not set -# CONFIG_RENESAS_RZN1WDT is not set -CONFIG_RENESAS_USB_DMAC=y -# CONFIG_RENESAS_WDT is not set -# CONFIG_RESET_BRCMSTB is not set -CONFIG_RESET_IMX7=y -# CONFIG_RESET_RASPBERRYPI is not set -CONFIG_RESET_RZG2L_USBPHY_CTRL=y -CONFIG_ROCKCHIP_IODOMAIN=y -CONFIG_ROCKCHIP_IOMMU=y -# CONFIG_ROCKCHIP_MBOX is not set -CONFIG_ROCKCHIP_PM_DOMAINS=y -# CONFIG_ROCKCHIP_SARADC is not set -# CONFIG_ROCKCHIP_THERMAL is not set -CONFIG_RODATA_FULL_DEFAULT_ENABLED=y -# CONFIG_RTC_DRV_BRCMSTB is not set -# CONFIG_RTC_DRV_FSL_FTM_ALARM is not set -# CONFIG_RTC_DRV_IMXDI is not set -# CONFIG_RTC_DRV_IMX_SC is not set -CONFIG_RTC_DRV_MV=y -# CONFIG_RTC_DRV_MXC is not set -# CONFIG_RTC_DRV_MXC_V2 is not set -# CONFIG_RTC_DRV_SH is not set -CONFIG_RTC_I2C_AND_SPI=y -# CONFIG_RZG2L_ADC is not set -# CONFIG_RZG2L_THERMAL is not set -CONFIG_RZ_DMAC=y -CONFIG_SATA_SIL24=y -# CONFIG_SCHED_CORE is not set -CONFIG_SCHED_MC=y -CONFIG_SCHED_SMT=y -# CONFIG_SENSORS_ARM_SCPI is not set -CONFIG_SERIAL_8250_BCM2835AUX=y -CONFIG_SERIAL_8250_BCM7271=y -# CONFIG_SERIAL_8250_EXAR is not set -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_FSL_LINFLEXUART=y -CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y -CONFIG_SERIAL_FSL_LPUART=y -CONFIG_SERIAL_FSL_LPUART_CONSOLE=y -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -CONFIG_SERIAL_IMX_EARLYCON=y -CONFIG_SERIAL_MVEBU_CONSOLE=y -CONFIG_SERIAL_MVEBU_UART=y -CONFIG_SERIAL_SAMSUNG=y -CONFIG_SERIAL_SAMSUNG_CONSOLE=y -# CONFIG_SMC91X is not set -# CONFIG_SND_SOC_RCAR is not set -# CONFIG_SND_SOC_RZ is not set -# CONFIG_SND_SOC_SH4_FSI is not set -# CONFIG_SND_SUN4I_I2S is not set -# CONFIG_SND_SUN50I_CODEC_ANALOG is not set -# CONFIG_SND_SUN50I_DMIC is not set -# CONFIG_SND_SUN8I_CODEC is not set -# CONFIG_SND_SUN8I_CODEC_ANALOG is not set -# CONFIG_SNI_NETSEC is not set -CONFIG_SOCIONEXT_SYNQUACER_PREITS=y -CONFIG_SOC_IMX8M=y -CONFIG_SOC_IMX9=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPI_ARMADA_3700=y -# CONFIG_SPI_BCM2835 is not set -CONFIG_SPI_FSL_LPSPI=y -# CONFIG_SPI_FSL_QUADSPI is not set -# CONFIG_SPI_HISI_KUNPENG is not set -# CONFIG_SPI_HISI_SFC is not set -# CONFIG_SPI_HISI_SFC_V3XX is not set -CONFIG_SPI_IMX=y -# CONFIG_SPI_ROCKCHIP_SFC is not set -# CONFIG_SPI_RSPI is not set -# CONFIG_SPI_SH_HSPI is not set -# CONFIG_SPI_SH_MSIOF is not set -# CONFIG_SPI_SUN4I is not set -# CONFIG_SPI_SUN6I is not set -# CONFIG_SPI_SYNQUACER is not set -CONFIG_SPI_THUNDERX=y -# CONFIG_SPI_XLP is not set -CONFIG_STUB_CLK_HI3660=y -CONFIG_STUB_CLK_HI6220=y -CONFIG_SUN50I_A100_CCU=y -CONFIG_SUN50I_A100_R_CCU=y -CONFIG_SUN50I_A64_CCU=y -CONFIG_SUN50I_H616_CCU=y -CONFIG_SUN50I_H6_CCU=y -CONFIG_SUN50I_H6_R_CCU=y -CONFIG_SUN50I_IOMMU=y -CONFIG_SUN6I_MSGBOX=y -CONFIG_SUN6I_RTC_CCU=y -# CONFIG_SUN8I_A83T_CCU is not set -CONFIG_SUN8I_DE2_CCU=y -# CONFIG_SUN8I_H3_CCU is not set -CONFIG_SUN8I_R_CCU=y -CONFIG_SUN8I_THERMAL=y -CONFIG_SUNXI_CCU=y -CONFIG_SUNXI_RSB=y -CONFIG_SUNXI_WATCHDOG=y -CONFIG_SYNC_FILE=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -# CONFIG_TCG_TIS_SYNQUACER is not set -CONFIG_THREAD_INFO_IN_TASK=y -# CONFIG_THUNDERX2_PMU is not set -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set -# CONFIG_TURRIS_MOX_RWTM is not set -CONFIG_TYPEC=y -# CONFIG_TYPEC_ANX7411 is not set -# CONFIG_TYPEC_DP_ALTMODE is not set -# CONFIG_TYPEC_FUSB302 is not set -# CONFIG_TYPEC_HD3SS3220 is not set -# CONFIG_TYPEC_MUX_FSA4480 is not set -# CONFIG_TYPEC_MUX_PI3USB30532 is not set -# CONFIG_TYPEC_RT1711H is not set -# CONFIG_TYPEC_RT1719 is not set -# CONFIG_TYPEC_STUSB160X is not set -CONFIG_TYPEC_TCPCI=y -# CONFIG_TYPEC_TCPCI_MAXIM is not set -CONFIG_TYPEC_TCPM=y -# CONFIG_TYPEC_TPS6598X is not set -# CONFIG_TYPEC_WUSB3801 is not set -# CONFIG_UACCE is not set -CONFIG_UNMAP_KERNEL_AT_EL0=y -# CONFIG_USB_BRCMSTB is not set -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_GENERIC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_CHIPIDEA_IMX=y -CONFIG_USB_CHIPIDEA_PCI=y -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_DWC3=y -CONFIG_USB_DWC3_DUAL_ROLE=y -# CONFIG_USB_DWC3_GADGET is not set -CONFIG_USB_DWC3_HAPS=y -# CONFIG_USB_DWC3_HOST is not set -CONFIG_USB_DWC3_IMX8MP=y -# CONFIG_USB_DWC3_OF_SIMPLE is not set -CONFIG_USB_DWC3_PCI=y -# CONFIG_USB_DWC3_ULPI is not set -CONFIG_USB_DWC3_XILINX=y -CONFIG_USB_EHCI_FSL=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_ORION=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -# CONFIG_USB_EMXX is not set -CONFIG_USB_GADGET=y -CONFIG_USB_MXS_PHY=y -CONFIG_USB_OHCI_EXYNOS=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PCI=y -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_FSM=y -CONFIG_USB_RENESAS_USB3=y -CONFIG_USB_RENESAS_USBHS=y -CONFIG_USB_RENESAS_USBHS_HCD=y -CONFIG_USB_RENESAS_USBHS_UDC=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_HISTB=y -CONFIG_USB_XHCI_MVEBU=y -CONFIG_USB_XHCI_PLATFORM=y -CONFIG_VEXPRESS_CONFIG=y -CONFIG_VIDEOMODE_HELPERS=y -CONFIG_VIRTIO_DMA_SHARED_BUFFER=y -# CONFIG_VIRTIO_IOMMU is not set -CONFIG_VIRTUALIZATION=y -CONFIG_VMAP_STACK=y -CONFIG_WDAT_WDT=y -# CONFIG_XILINX_AMS is not set -# CONFIG_XILINX_INTC is not set -CONFIG_XLNX_EVENT_MANAGER=y -CONFIG_ZONE_DMA32=y -CONFIG_ZYNQMP_FIRMWARE=y -# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set -CONFIG_ZYNQMP_PM_DOMAINS=y -CONFIG_ZYNQMP_POWER=y diff --git a/target/linux/armsr/config-6.1 b/target/linux/armsr/config-6.1 deleted file mode 100644 index d1dac69da44a22..00000000000000 --- a/target/linux/armsr/config-6.1 +++ /dev/null @@ -1,336 +0,0 @@ -CONFIG_64BIT=y -CONFIG_9P_FS=y -# CONFIG_9P_FS_POSIX_ACL is not set -# CONFIG_9P_FS_SECURITY is not set -# CONFIG_A64FX_DIAG is not set -CONFIG_ACPI=y -CONFIG_ACPI_AC=y -CONFIG_ACPI_APEI=y -CONFIG_ACPI_APEI_EINJ=y -# CONFIG_ACPI_APEI_ERST_DEBUG is not set -CONFIG_ACPI_APEI_GHES=y -CONFIG_ACPI_APEI_MEMORY_FAILURE=y -CONFIG_ACPI_APEI_PCIEAER=y -CONFIG_ACPI_BATTERY=y -# CONFIG_ACPI_BGRT is not set -CONFIG_ACPI_BUTTON=y -CONFIG_ACPI_CCA_REQUIRED=y -CONFIG_ACPI_CONTAINER=y -CONFIG_ACPI_CPPC_CPUFREQ=y -# CONFIG_ACPI_DEBUG is not set -# CONFIG_ACPI_DEBUGGER is not set -# CONFIG_ACPI_DOCK is not set -# CONFIG_ACPI_EC_DEBUGFS is not set -CONFIG_ACPI_FAN=y -CONFIG_ACPI_GENERIC_GSI=y -CONFIG_ACPI_GTDT=y -CONFIG_ACPI_HOTPLUG_CPU=y -CONFIG_ACPI_I2C_OPREGION=y -CONFIG_ACPI_IORT=y -CONFIG_ACPI_MCFG=y -# CONFIG_ACPI_PCI_SLOT is not set -# CONFIG_ACPI_PFRUT is not set -CONFIG_ACPI_PPTT=y -CONFIG_ACPI_PRMT=y -CONFIG_ACPI_PROCESSOR=y -CONFIG_ACPI_PROCESSOR_IDLE=y -CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y -CONFIG_ACPI_SPCR_TABLE=y -CONFIG_ACPI_THERMAL=y -# CONFIG_ACPI_TINY_POWER_BUTTON is not set -# CONFIG_ALIBABA_UNCORE_DRW_PMU is not set -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_KEEP_MEMBLOCK=y -CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=24 -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_STACKWALK=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANTS_NO_INSTR=y -CONFIG_ARM64=y -CONFIG_ARM64_4K_PAGES=y -# CONFIG_ARM64_ACPI_PARKING_PROTOCOL is not set -CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_PA_BITS=48 -CONFIG_ARM64_PA_BITS_48=y -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARM64_VA_BITS=39 -CONFIG_ARM64_VA_BITS_39=y -CONFIG_ARM_AMBA=y -CONFIG_ARM_ARCH_TIMER=y -CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_GIC=y -CONFIG_ARM_GIC_V2M=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y -CONFIG_ARM_GIC_V3_ITS_PCI=y -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_SMMU_V3_PMU is not set -CONFIG_ATA=y -CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -CONFIG_BALLOON_COMPACTION=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_NVME=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_MQ_PCI=y -CONFIG_BLK_MQ_VIRTIO=y -CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_COMMON_CLK=y -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_PM=y -CONFIG_CPU_RMAP=y -CONFIG_CRC16=y -CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_RNG2=y -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_DEBUG_BUGVERBOSE=y -CONFIG_DMADEVICES=y -CONFIG_DMA_ACPI=y -CONFIG_DMA_DIRECT_REMAP=y -CONFIG_DMA_ENGINE=y -CONFIG_DMA_OF=y -CONFIG_DMA_REMAP=y -CONFIG_DMI=y -CONFIG_DMIID=y -CONFIG_DMI_SYSFS=y -CONFIG_DTC=y -CONFIG_EDAC_SUPPORT=y -CONFIG_EFI=y -CONFIG_EFIVAR_FS=y -CONFIG_EFI_ARMSTUB_DTB_LOADER=y -# CONFIG_EFI_BOOTLOADER_CONTROL is not set -# CONFIG_EFI_CAPSULE_LOADER is not set -# CONFIG_EFI_COCO_SECRET is not set -# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set -# CONFIG_EFI_DISABLE_PCI_DMA is not set -# CONFIG_EFI_DISABLE_RUNTIME is not set -CONFIG_EFI_EARLYCON=y -CONFIG_EFI_ESRT=y -CONFIG_EFI_GENERIC_STUB=y -# CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER is not set -CONFIG_EFI_PARAMS_FROM_FDT=y -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_STUB=y -# CONFIG_EFI_TEST is not set -# CONFIG_EFI_ZBOOT is not set -CONFIG_EXT4_FS=y -CONFIG_F2FS_FS=y -CONFIG_FAILOVER=y -CONFIG_FB_EFI=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_FONT_8x16=y -CONFIG_FONT_AUTOSELECT=y -CONFIG_FONT_SUPPORT=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_FRAME_POINTER=y -CONFIG_FS_IOMAP=y -CONFIG_FS_MBCACHE=y -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_EARLY_IOREMAP=y -CONFIG_GENERIC_FIND_FIRST_BIT=y -CONFIG_GENERIC_GETTIMEOFDAY=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y -CONFIG_GENERIC_IRQ_MIGRATION=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GPIOLIB_IRQCHIP=y -CONFIG_GPIO_ACPI=y -CONFIG_GPIO_CDEV=y -# CONFIG_GPIO_HISI is not set -CONFIG_GPIO_PL061=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HID=y -CONFIG_HID_GENERIC=y -CONFIG_HOTPLUG_CPU=y -CONFIG_HOTPLUG_PCI_ACPI=y -CONFIG_HVC_DRIVER=y -CONFIG_HZ_PERIODIC=y -# CONFIG_I2C_AMD_MP2 is not set -CONFIG_I2C_HID_ACPI=y -# CONFIG_I2C_HISI is not set -# CONFIG_I2C_SLAVE_TESTUNIT is not set -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INPUT_KEYBOARD=y -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_WORK=y -# CONFIG_ISCSI_IBFT is not set -CONFIG_JBD2=y -CONFIG_LIBFDT=y -CONFIG_LOCK_DEBUGGING_SUPPORT=y -CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_MEMFD_CREATE=y -CONFIG_MEMORY_BALLOON=y -CONFIG_MIGRATION=y -# CONFIG_MLXBF_GIGE is not set -CONFIG_MMC_SDHCI_ACPI=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_MVMDIO=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NET_9P=y -# CONFIG_NET_9P_DEBUG is not set -# CONFIG_NET_9P_FD is not set -CONFIG_NET_9P_VIRTIO=y -CONFIG_NET_FAILOVER=y -CONFIG_NET_FLOW_LIMIT=y -CONFIG_NLS=y -CONFIG_NR_CPUS=256 -CONFIG_NVMEM=y -CONFIG_NVME_CORE=y -# CONFIG_NVME_MULTIPATH is not set -CONFIG_OF=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_FLATTREE=y -CONFIG_OF_GPIO=y -CONFIG_OF_IRQ=y -CONFIG_OF_KOBJ=y -CONFIG_PADATA=y -CONFIG_PAGE_REPORTING=y -CONFIG_PARTITION_PERCPU=y -CONFIG_PCI=y -# CONFIG_PCIE_HISI_ERR is not set -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_ECAM=y -CONFIG_PCI_HOST_COMMON=y -CONFIG_PCI_HOST_GENERIC=y -CONFIG_PCI_LABEL=y -CONFIG_PCI_MSI=y -CONFIG_PCI_MSI_IRQ_DOMAIN=y -CONFIG_PGTABLE_LEVELS=3 -CONFIG_PHYS_ADDR_T_64BIT=y -# CONFIG_PMIC_OPREGION is not set -CONFIG_PNP=y -CONFIG_PNPACPI=y -CONFIG_PNP_DEBUG_MESSAGES=y -CONFIG_POWER_RESET=y -CONFIG_POWER_SUPPLY=y -CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_QUEUED_RWLOCKS=y -CONFIG_QUEUED_SPINLOCKS=y -CONFIG_RATIONAL=y -# CONFIG_RESET_ATTACK_MITIGATION is not set -CONFIG_RFS_ACCEL=y -CONFIG_RODATA_FULL_DEFAULT_ENABLED=y -CONFIG_RPS=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_EFI=y -CONFIG_RTC_DRV_PL031=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_SATA_HOST=y -CONFIG_SCSI=y -CONFIG_SCSI_COMMON=y -CONFIG_SCSI_VIRTIO=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_PNP=y -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_MCTRL_GPIO=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SG_POOL=y -CONFIG_SMP=y -CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSE_IRQ=y -CONFIG_SRCU=y -# CONFIG_SURFACE_PLATFORMS is not set -CONFIG_SWIOTLB=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_SYSFB=y -# CONFIG_SYSFB_SIMPLEFB is not set -CONFIG_THERMAL=y -CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y -CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 -CONFIG_THERMAL_GOV_STEP_WISE=y -CONFIG_THERMAL_OF=y -CONFIG_THREAD_INFO_IN_TASK=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TIMER_ACPI=y -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_TREE_RCU=y -CONFIG_TREE_SRCU=y -# CONFIG_UACCE is not set -CONFIG_UCS2_STRING=y -CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_USB=y -CONFIG_USB_HID=y -CONFIG_USB_HIDDEV=y -CONFIG_USB_PCI=y -CONFIG_USB_STORAGE=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_PCI=y -CONFIG_VIRTIO=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_BLK=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_VIRTIO_NET=y -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI_LIB=y -CONFIG_VMAP_STACK=y -CONFIG_WATCHDOG_CORE=y -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -CONFIG_XPS=y -CONFIG_ZONE_DMA32=y diff --git a/target/linux/ath79/dts/qca9531_8dev_carambola3.dts b/target/linux/ath79/dts/qca9531_8dev_carambola3.dts new file mode 100644 index 00000000000000..c019f2c3d195f6 --- /dev/null +++ b/target/linux/ath79/dts/qca9531_8dev_carambola3.dts @@ -0,0 +1,133 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca953x.dtsi" + +#include +#include +#include + +/ { + compatible = "8dev,carambola3", "qca,qca9531"; + model = "8devices Carambola3"; + + aliases { + label-mac-device = &wmac; + }; + + leds { + compatible = "gpio-leds"; + + lan { + label = "green:lan"; + function = LED_FUNCTION_LAN; + color = ; + gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; + }; + + wan { + label = "green:wan"; + function = LED_FUNCTION_WAN; + color = ; + gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&usb0 { + status = "okay"; + + dr_mode = "host"; +}; + +&usb_phy { + status = "okay"; +}; + +&wdt { + status = "okay"; +}; + +&spi { + status = "okay"; + + /* Winbond W25Q256 SPI flash */ + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <45000000>; + + 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 0x040000>; + }; + + art: partition@80000 { + label = "art"; + reg = <0x080000 0x040000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + }; + }; + + partition@c0000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x0c0000 0xf40000>; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy0>; + + nvmem-cells = <&macaddr_art_6>; + nvmem-cell-names = "mac-address"; + + gmac-config { + device = <&gmac>; + + switch-phy-addr-swap = <1>; + switch-phy-swap = <1>; + }; +}; + +ð1 { + nvmem-cells = <&macaddr_art_0>; + nvmem-cell-names = "mac-address"; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; +}; diff --git a/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts b/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts new file mode 100644 index 00000000000000..6ef2eb846d8701 --- /dev/null +++ b/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts @@ -0,0 +1,228 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include +#include + +#include "qca955x.dtsi" + +/ { + model = "Dell SonicPoint ACe (APL26-0AE)"; + compatible = "dell,apl26-0ae", "qca,qca9550", "qca,qca9558"; + + aliases { + label-mac-device = ð0; + led-boot = &led_wrench; + led-failsafe = &led_wrench; + led-upgrade = &led_wrench; + }; + + keys { + compatible = "gpio-keys"; + + button-reset { + label = "reset"; + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + /* Accessible only after disassembling the casing */ + button-service { + label = "service"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + led-lan1-amber { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <1>; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-lan1-green { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <1>; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-lan2-amber { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <2>; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + + led-lan2-green { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <2>; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-wlan2g { + color = ; + function = LED_FUNCTION_WLAN_2GHZ; + linux,default-trigger = "phy1tpt"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-wlan5g { + color = ; + function = LED_FUNCTION_WLAN_5GHZ; + linux,default-trigger = "phy0tpt"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + + led_wrench: led-wrench { + color = ; + function = LED_FUNCTION_STATUS; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + }; +}; + +ð0 { + status = "okay"; + + nvmem-cells = <&macaddr_sysinfo_50 0>; + nvmem-cell-names = "mac-address"; + phy-handle = <&phy0>; + pll-data = <0xa6000000 0x00000101 0x00001616>; +}; + +ð1 { + status = "okay"; + + nvmem-cells = <&macaddr_sysinfo_50 1>; + nvmem-cell-names = "mac-address"; + pll-data = <0x03000101 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + + qca,ar8327-initvals = < + 0x04 0x07680000 /* PORT0 PAD MODE CTRL */ + 0x0c 0x00000080 /* PORT6 PAD MODE CTRL */ + 0x10 0x40000000 /* POWER_ON_STRAP */ + 0x50 0xffb7c405 /* LED0 CTRL */ + 0x54 0xffb7c305 /* LED1 CTRL */ + 0x58 0xffb7c033 /* LED2 CTRL */ + 0x5c 0x03ffff00 /* LED3 CTRL */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6_STATUS */ + >; + }; +}; + +&pcie0 { + status = "okay"; + + wifi@0,0 { + compatible = "qcom,ath10k"; + reg = <0x0000 0 0 0 0>; + + /* OEM overwrites EEPROM stored adress and so do we */ + nvmem-cells = <&macaddr_sysinfo_50 2>; + nvmem-cell-names = "mac-address"; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + broken-flash-reset; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x0080000>; + read-only; + }; + + partition@80000 { + label = "u-boot-env"; + reg = <0x0080000 0x0040000>; + }; + + partition@c0000 { + label = "sysinfo"; + reg = <0x00c0000 0x0040000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_sysinfo_50: macaddr@50 { + compatible = "mac-base"; + reg = <0x50 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + + partition@100000 { + label = "art"; + reg = <0x0100000 0x0010000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; + }; + }; + + partition@110000 { + label = "firmware"; + reg = <0x0110000 0x1ef0000>; + compatible = "denx,uimage"; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&wmac { + status = "okay"; + + nvmem-cells = <&macaddr_sysinfo_50 10>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; +}; diff --git a/target/linux/ath79/dts/qca9563_ubnt_amplifi-router-hd.dts b/target/linux/ath79/dts/qca9563_ubnt_amplifi-router-hd.dts new file mode 100644 index 00000000000000..a3223238996500 --- /dev/null +++ b/target/linux/ath79/dts/qca9563_ubnt_amplifi-router-hd.dts @@ -0,0 +1,194 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca956x.dtsi" + +#include +#include + +/ { + compatible = "ubnt,amplifi-router-hd", "qca,qca9563"; + model = "Ubiquiti AmpliFi Router HD"; + + aliases { + label-mac-device = ð0; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + linux,code = ; + 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 = <&cal_art_5000>; + nvmem-cell-names = "calibration"; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x060000>; + read-only; + }; + + partition@60000 { + compatible = "u-boot,env"; + label = "u-boot-env"; + reg = <0x060000 0x010000>; + }; + + partition@70000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x070000 0xb00000>; + }; + + partition@b70000 { + label = "cfg"; + reg = <0xb70000 0x0c0000>; + read-only; + }; + + partition@c30000 { + label = "recovery"; + reg = <0xc30000 0x3b0000>; + read-only; + }; + + partition@fe0000 { + label = "prst"; + reg = <0xfe0000 0x010000>; + read-only; + }; + + partition@ff0000 { + /* eeprom */ + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + compatible = "mac-base"; + reg = <0x0 0x6>; + #nvmem-cell-cells = <1>; + }; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; + + cal_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; + }; + }; + + partition@1000000 { + label = "bs1"; + reg = <0x1000000 0x010000>; + }; + + partition@1010000 { + label = "bs2"; + reg = <0x1010000 0x010000>; + read-only; + }; + + partition@1020000 { + label = "stats"; + reg = <0x1020000 0x400000>; + read-only; + }; + + partition@1420000 { + label = "fw_inactive"; + reg = <0x1420000 0xb00000>; + read-only; + }; + + partition@1f20000 { + label = "reserved"; + reg = <0x1f20000 0x0e0000>; + read-only; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "sgmii"; + + qca,ar8327-initvals = < + 0x04 0x00000080 /* AR8327_REG_PAD0_MODE */ + 0x08 0x00000000 /* PORT5 PAD MODE CTRL */ + 0x0c 0x00000000 /* PORT6 PAD MODE CTRL */ + 0x10 0x602613a0 /* AR8327_REG_POWER_ON_STRAP */ + 0x50 0xcc35cc35 /* AR8327_REG_LED_CTRL0 */ + 0x54 0xca35ca35 /* AR8327_REG_LED_CTRL1 */ + 0x58 0xc935c935 /* AR8327_REG_LED_CTRL2 */ + 0x5c 0x03ffff00 /* AR8327_REG_LED_CTRL3 */ + 0x7c 0x0000007e /* AR8327_REG_PORT_STATUS(0) */ + 0x94 0x00001080 /* AR8327_REG_PORT_STATUS(6) */ + >; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0x03000101 0x00000101 0x00001919>; + + phy-mode = "sgmii"; + phy-handle = <&phy0>; + + nvmem-cells = <&macaddr_art_0 0>; + nvmem-cell-names = "mac-address"; +}; + +&wmac { + status = "okay"; + + nvmem-cells = <&macaddr_art_0 (-2)>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 18fe436dbc05d8..143309a8b242f1 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -10,6 +10,10 @@ case "$board" in ucidef_set_led_netdev "lan" "LAN" "orange:eth0" "eth0" ucidef_set_led_switch "wan" "WAN" "orange:eth1" "switch0" "0x04" ;; +8dev,carambola3) + ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0" "link" + ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1" "link" + ;; alcatel,hh40v) ucidef_set_led_netdev "lan_data" "LAN Data" "green:lan" "eth1" "tx rx" ucidef_set_led_netdev "lan_link" "LAN Link" "orange:lan" "eth1" "link" @@ -228,6 +232,10 @@ compex,wpj531-16m) ucidef_set_led_rssi "sig3" "SIG3" "green:sig3" "wlan0" "65" "100" ucidef_set_led_rssi "sig4" "SIG4" "green:sig4" "wlan0" "50" "100" ;; +dell,apl26-0ae) + ucidef_set_led_switch "lan1" "LAN1" "amber:lan-1" "switch0" "0x04" + ucidef_set_led_switch "lan2" "LAN2" "amber:lan-2" "switch0" "0x08" + ;; devolo,dlan-pro-1200plus-ac|\ devolo,magic-2-wifi) ucidef_set_led_netdev "plcw" "dLAN" "white:dlan" "eth0.1" "rx" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index bf93dc8ba8885e..7905d6e496292c 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -288,6 +288,10 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "1:wan" "5:lan" "6@eth0" ;; + dell,apl26-0ae) + ucidef_add_switch "switch0" \ + "0@eth0" "2:lan:1" "3:lan:2" "6@eth1" + ;; devolo,dlan-pro-1200plus-ac|\ devolo,magic-2-wifi) ucidef_add_switch "switch0" \ @@ -554,6 +558,10 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth0" "2:lan:1" "3:lan:3" "4:lan:2" ;; + ubnt,amplifi-router-hd) + ucidef_add_switch "switch0" \ + "0@eth0" "2:lan:1" "3:lan:3" "4:lan:2" "5:lan:4" "1:wan" + ;; ubnt,edgeswitch-5xp) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index e5f4870e6fdab6..1caba6aa7c8974 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -9,6 +9,7 @@ board=$(board_name) case "$FIRMWARE" in "ath9k-eeprom-ahb-18100000.wmac.bin") case $board in + 8dev,carambola3|\ 8dev,lima) caldata_extract "art" 0x1000 0x800 ;; diff --git a/target/linux/ath79/image/common-mikrotik.mk b/target/linux/ath79/image/common-mikrotik.mk index b37c8b7197067c..94c29d8cb6ab04 100644 --- a/target/linux/ath79/image/common-mikrotik.mk +++ b/target/linux/ath79/image/common-mikrotik.mk @@ -10,7 +10,7 @@ endef define Device/mikrotik_nor $(Device/mikrotik) DEVICE_PACKAGES := -yafut - IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 -e | \ + IMAGE/sysupgrade.bin := append-kernel | yaffs-filesystem -M | \ pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \ check-size | append-metadata endef diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index a4d118456f15b1..f7bab4b69772cc 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -18,6 +18,18 @@ define Device/ubnt_aircube-isp endef TARGET_DEVICES += ubnt_aircube-isp +define Device/ubnt_amplifi-router-hd + IMAGE_SIZE := 11264k + UBNT_BOARD := AFi-R-HD + UBNT_TYPE := AFi-R + UBNT_VERSION := 3.6.3 + SOC := qca9563 + DEVICE_MODEL := AmpliFi Router HD + UBNT_CHIP := qca956x + DEVICE_PACKAGES += kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct kmod-usb2 +endef +TARGET_DEVICES += ubnt_amplifi-router-hd + define Device/ubnt_bullet-ac $(Device/ubnt-2wa) DEVICE_MODEL := Bullet AC diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 90270a7a4e4be1..0da5a0ef8d83ef 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -204,6 +204,16 @@ define Device/8dev_carambola2 endef TARGET_DEVICES += 8dev_carambola2 +define Device/8dev_carambola3 + SOC := qca9531 + DEVICE_VENDOR := 8devices + DEVICE_MODEL := Carambola3 + DEVICE_PACKAGES := kmod-usb2 + IMAGE_SIZE := 32768k + SUPPORTED_DEVICES += carambola3 +endef +TARGET_DEVICES += 8dev_carambola3 + define Device/8dev_lima SOC := qca9531 DEVICE_VENDOR := 8devices @@ -934,6 +944,22 @@ define Device/compex_wpj563 endef TARGET_DEVICES += compex_wpj563 +define Device/dell_apl26-0ae + SOC := qca9550 + DEVICE_VENDOR := Dell + DEVICE_MODEL := SonicPoint + DEVICE_VARIANT := ACe (APL26-0AE) + DEVICE_ALT0_VENDOR := SonicWall + DEVICE_ALT0_MODEL := SonicPoint + DEVICE_ALT0_VARIANT := ACe (APL26-0AE) + DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2 + KERNEL_SIZE := 5952k + IMAGE_SIZE := 31680k + IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \ + append-rootfs | pad-rootfs | check-size | append-metadata +endef +TARGET_DEVICES += dell_apl26-0ae + define Device/devolo_dlan-pro-1200plus-ac SOC := ar9344 DEVICE_VENDOR := devolo diff --git a/target/linux/bcm27xx/modules/video.mk b/target/linux/bcm27xx/modules/video.mk index c9b9555b04a2cd..b9af0b3e0f8603 100644 --- a/target/linux/bcm27xx/modules/video.mk +++ b/target/linux/bcm27xx/modules/video.mk @@ -27,7 +27,7 @@ define KernelPackage/codec-bcm2835 FILES:= \ $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-codec/bcm2835-codec.ko AUTOLOAD:=$(call AutoLoad,67,bcm2835-codec) - $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma +kmod-video-mem2mem) + $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma-contig +kmod-video-mem2mem) endef define KernelPackage/codec-bcm2835/description @@ -72,7 +72,7 @@ define KernelPackage/isp-bcm2835 FILES:= \ $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp.ko AUTOLOAD:=$(call AutoLoad,67,bcm2835-isp) - $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma) + $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma-contig) endef define KernelPackage/isp-bcm2835/description diff --git a/target/linux/bcm47xx/Makefile b/target/linux/bcm47xx/Makefile index 22fc36e9b17124..325a207d08d4d3 100644 --- a/target/linux/bcm47xx/Makefile +++ b/target/linux/bcm47xx/Makefile @@ -10,8 +10,8 @@ BOARDNAME:=Broadcom BCM47xx/53xx (MIPS) FEATURES:=squashfs usb SUBTARGETS:=generic mips74k legacy -KERNEL_PATCHVER:=5.15 -KERNEL_TESTING_PATCHVER:=6.1 +KERNEL_PATCHVER:=6.1 +KERNEL_TESTING_PATCHVER:=6.6 define Target/Description Build firmware images for Broadcom based BCM47xx/53xx routers with MIPS CPU, *not* ARM. diff --git a/target/linux/bcm47xx/config-5.15 b/target/linux/bcm47xx/config-6.6 similarity index 84% rename from target/linux/bcm47xx/config-5.15 rename to target/linux/bcm47xx/config-6.6 index 6f091c0e7fe074..3b795941f37c65 100644 --- a/target/linux/bcm47xx/config-5.15 +++ b/target/linux/bcm47xx/config-6.6 @@ -18,6 +18,7 @@ CONFIG_BCMA_DRIVER_GPIO=y CONFIG_BCMA_DRIVER_MIPS=y CONFIG_BCMA_DRIVER_PCI=y CONFIG_BCMA_DRIVER_PCI_HOSTMODE=y +CONFIG_BCMA_FALLBACK_SPROM=y CONFIG_BCMA_HOST_PCI=y CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_SOC=y @@ -26,12 +27,15 @@ CONFIG_BCMA_PFLASH=y CONFIG_BCMA_SFLASH=y # CONFIG_BGMAC_BCMA is not set 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="noinitrd console=ttyS0,115200" CONFIG_CMDLINE_BOOL=y # CONFIG_CMDLINE_OVERRIDE is not set # CONFIG_COMMON_CLK is not set +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_COMPAT_32BIT_TIME=y # CONFIG_CPU_BMIPS is not set CONFIG_CPU_GENERIC_DUMP_TLB=y @@ -48,22 +52,30 @@ CONFIG_CPU_R4K_CACHE_TLB=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HIGHMEM=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 -CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CSRC_R4K=y +CONFIG_DEBUG_INFO=y CONFIG_DMA_NONCOHERENT=y # CONFIG_EARLY_PRINTK is not set +CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_FIXED_PHY=y +CONFIG_FS_IOMAP=y +CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_GCC11_NO_ARRAY_BOUNDS=y +CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_IRQ_CHIP=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_LIB_ASHLDI3=y CONFIG_GENERIC_LIB_ASHRDI3=y @@ -77,10 +89,10 @@ CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_WDT=y -CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HW_RANDOM=y CONFIG_HZ_PERIODIC=y @@ -94,7 +106,6 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y CONFIG_MDIO_DEVRES=y -CONFIG_MEMFD_CREATE=y CONFIG_MIGRATION=y CONFIG_MIPS=y CONFIG_MIPS_ASID_BITS=8 @@ -102,9 +113,8 @@ CONFIG_MIPS_ASID_SHIFT=0 CONFIG_MIPS_CLOCK_VSYSCALL=y # CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND is not set CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER=y -CONFIG_MIPS_EBPF_JIT=y CONFIG_MIPS_L1_CACHE_SHIFT=5 -CONFIG_MIPS_LD_CAN_LINK_VDSO=y +CONFIG_MMU_LAZY_TLB_REFCOUNT=y CONFIG_MODULES_USE_ELF_REL=y CONFIG_MTD_BCM47XXSFLASH=y CONFIG_MTD_BCM47XX_PARTS=y @@ -118,10 +128,16 @@ CONFIG_MTD_PHYSMAP=y CONFIG_MTD_RAW_NAND=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_EGRESS=y +CONFIG_NET_INGRESS=y CONFIG_NET_SELFTESTS=y +CONFIG_NET_XGRESS=y CONFIG_NO_EXCEPT_FILL=y CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y # CONFIG_OF is not set +CONFIG_PAGE_POOL=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y CONFIG_PCI=y CONFIG_PCI_DISABLE_COMMON_QUIRKS=y CONFIG_PCI_DOMAINS=y @@ -129,11 +145,13 @@ CONFIG_PCI_DRIVERS_LEGACY=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y +CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_RANDSTRUCT_NONE=y CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_MCTRL_GPIO=y -CONFIG_SRCU=y +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SSB=y CONFIG_SSB_B43_PCI_BRIDGE=y CONFIG_SSB_BLOCKIO=y @@ -144,6 +162,7 @@ CONFIG_SSB_DRIVER_MIPS=y CONFIG_SSB_DRIVER_PCICORE=y CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_EMBEDDED=y +CONFIG_SSB_FALLBACK_SPROM=y CONFIG_SSB_HOST_SOC=y CONFIG_SSB_PCICORE_HOSTMODE=y CONFIG_SSB_PCIHOST=y @@ -174,3 +193,4 @@ CONFIG_TINY_SRCU=y CONFIG_USB_SUPPORT=y CONFIG_USE_GENERIC_EARLY_PRINTK_8250=y CONFIG_WATCHDOG_CORE=y +CONFIG_ZBOOT_LOAD_ADDRESS=0xffffffff80400000 diff --git a/target/linux/bcm47xx/patches-5.15/030-v5.17-0001-MIPS-BCM47XX-Define-Linksys-WRT310N-V2-buttons.patch b/target/linux/bcm47xx/patches-5.15/030-v5.17-0001-MIPS-BCM47XX-Define-Linksys-WRT310N-V2-buttons.patch deleted file mode 100644 index 921825be5caa2b..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/030-v5.17-0001-MIPS-BCM47XX-Define-Linksys-WRT310N-V2-buttons.patch +++ /dev/null @@ -1,40 +0,0 @@ -From eea175eedf3e2f71b9538d21e643e7a1be4923df Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 6 Jan 2022 19:51:37 -0800 -Subject: [PATCH] MIPS: BCM47XX: Define Linksys WRT310N V2 buttons - -Update the buttons registration code to register the two buttons (WPS, -system rester) using the existing BCM47XX_BOARD_LINKSYS_WRT310NV2 board -entry. - -Signed-off-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/buttons.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -277,6 +277,12 @@ bcm47xx_buttons_linksys_wrt310nv1[] __in - }; - - static const struct gpio_keys_button -+bcm47xx_buttons_linksys_wrt310n_v2[] __initconst = { -+ BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON), -+ BCM47XX_GPIO_KEY(6, KEY_RESTART), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = { - BCM47XX_GPIO_KEY(5, KEY_WIMAX), - BCM47XX_GPIO_KEY(6, KEY_RESTART), -@@ -608,6 +614,9 @@ int __init bcm47xx_buttons_register(void - case BCM47XX_BOARD_LINKSYS_WRT310NV1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1); - break; -+ case BCM47XX_BOARD_LINKSYS_WRT310NV2: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310n_v2); -+ break; - case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2); - break; diff --git a/target/linux/bcm47xx/patches-5.15/030-v5.17-0002-MIPS-BCM47XX-Add-board-entry-for-Linksys-WRT320N-v1.patch b/target/linux/bcm47xx/patches-5.15/030-v5.17-0002-MIPS-BCM47XX-Add-board-entry-for-Linksys-WRT320N-v1.patch deleted file mode 100644 index 3fb013a58577ce..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/030-v5.17-0002-MIPS-BCM47XX-Add-board-entry-for-Linksys-WRT320N-v1.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 3829e4f10a232964cc728c0479c8097922e5e073 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 6 Jan 2022 19:51:38 -0800 -Subject: [PATCH] MIPS: BCM47XX: Add board entry for Linksys WRT320N v1 - -This router is based on a Broadcom BCM4717A1 chipset and supports -802.11n Wi-Fi. Add a board entry for that router and register LEDs and -buttons accordingly. - -Signed-off-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/board.c | 1 + - arch/mips/bcm47xx/buttons.c | 9 +++++++++ - arch/mips/bcm47xx/leds.c | 10 ++++++++++ - arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + - 4 files changed, 21 insertions(+) - ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -141,6 +141,7 @@ struct bcm47xx_board_type_list2 bcm47xx_ - {{BCM47XX_BOARD_LINKSYS_WRT300NV11, "Linksys WRT300N V1.1"}, "WRT300N", "1.1"}, - {{BCM47XX_BOARD_LINKSYS_WRT310NV1, "Linksys WRT310N V1"}, "WRT310N", "1.0"}, - {{BCM47XX_BOARD_LINKSYS_WRT310NV2, "Linksys WRT310N V2"}, "WRT310N", "2.0"}, -+ {{BCM47XX_BOARD_LINKSYS_WRT320N_V1, "Linksys WRT320N V1"}, "WRT320N", "1.0"}, - {{BCM47XX_BOARD_LINKSYS_WRT54G3GV2, "Linksys WRT54G3GV2-VF"}, "WRT54G3GV2-VF", "1.0"}, - {{BCM47XX_BOARD_LINKSYS_WRT610NV1, "Linksys WRT610N V1"}, "WRT610N", "1.0"}, - {{BCM47XX_BOARD_LINKSYS_WRT610NV2, "Linksys WRT610N V2"}, "WRT610N", "2.0"}, ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -283,6 +283,12 @@ bcm47xx_buttons_linksys_wrt310n_v2[] __i - }; - - static const struct gpio_keys_button -+bcm47xx_buttons_linksys_wrt320n_v1[] __initconst = { -+ BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON), -+ BCM47XX_GPIO_KEY(8, KEY_RESTART), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = { - BCM47XX_GPIO_KEY(5, KEY_WIMAX), - BCM47XX_GPIO_KEY(6, KEY_RESTART), -@@ -617,6 +623,9 @@ int __init bcm47xx_buttons_register(void - case BCM47XX_BOARD_LINKSYS_WRT310NV2: - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310n_v2); - break; -+ case BCM47XX_BOARD_LINKSYS_WRT320N_V1: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt320n_v1); -+ break; - case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2); - break; ---- a/arch/mips/bcm47xx/leds.c -+++ b/arch/mips/bcm47xx/leds.c -@@ -314,6 +314,13 @@ bcm47xx_leds_linksys_wrt310nv1[] __initc - }; - - static const struct gpio_led -+bcm47xx_leds_linksys_wrt320n_v1[] __initconst = { -+ BCM47XX_GPIO_LED(1, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF), -+ BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON), -+ BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), -+}; -+ -+static const struct gpio_led - bcm47xx_leds_linksys_wrt54g_generic[] __initconst = { - BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF), - BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON), -@@ -689,6 +696,9 @@ void __init bcm47xx_leds_register(void) - case BCM47XX_BOARD_LINKSYS_WRT310NV1: - bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt310nv1); - break; -+ case BCM47XX_BOARD_LINKSYS_WRT320N_V1: -+ bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt320n_v1); -+ break; - case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: - bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g3gv2); - break; ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -72,6 +72,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_LINKSYS_WRT300NV11, - BCM47XX_BOARD_LINKSYS_WRT310NV1, - BCM47XX_BOARD_LINKSYS_WRT310NV2, -+ BCM47XX_BOARD_LINKSYS_WRT320N_V1, - BCM47XX_BOARD_LINKSYS_WRT54G3GV2, - BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, - BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, diff --git a/target/linux/bcm47xx/patches-5.15/030-v5.17-0003-MIPS-BCM47XX-Add-LEDs-and-buttons-for-Asus-RTN-10U.patch b/target/linux/bcm47xx/patches-5.15/030-v5.17-0003-MIPS-BCM47XX-Add-LEDs-and-buttons-for-Asus-RTN-10U.patch deleted file mode 100644 index c09140e99d026c..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/030-v5.17-0003-MIPS-BCM47XX-Add-LEDs-and-buttons-for-Asus-RTN-10U.patch +++ /dev/null @@ -1,67 +0,0 @@ -From aecf89f2f8e8a604c33085c230a1f04ea325de64 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 6 Jan 2022 19:51:39 -0800 -Subject: [PATCH] MIPS: BCM47XX: Add LEDs and buttons for Asus RTN-10U - -Add the definitions for the buttons and LEDs used on the Asus RTN-10U -router. - -Signed-off-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/buttons.c | 9 +++++++++ - arch/mips/bcm47xx/leds.c | 11 +++++++++++ - 2 files changed, 20 insertions(+) - ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -27,6 +27,12 @@ - /* Asus */ - - static const struct gpio_keys_button -+bcm47xx_buttons_asus_rtn10u[] __initconst = { -+ BCM47XX_GPIO_KEY(20, KEY_WPS_BUTTON), -+ BCM47XX_GPIO_KEY(21, KEY_RESTART), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_asus_rtn12[] __initconst = { - BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON), - BCM47XX_GPIO_KEY(1, KEY_RESTART), -@@ -490,6 +496,9 @@ int __init bcm47xx_buttons_register(void - int err; - - switch (board) { -+ case BCM47XX_BOARD_ASUS_RTN10U: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn10u); -+ break; - case BCM47XX_BOARD_ASUS_RTN12: - err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn12); - break; ---- a/arch/mips/bcm47xx/leds.c -+++ b/arch/mips/bcm47xx/leds.c -@@ -30,6 +30,14 @@ - /* Asus */ - - static const struct gpio_led -+bcm47xx_leds_asus_rtn10u[] __initconst = { -+ BCM47XX_GPIO_LED(5, "green", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), -+ BCM47XX_GPIO_LED(6, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON), -+ BCM47XX_GPIO_LED(7, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF), -+ BCM47XX_GPIO_LED(8, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF), -+}; -+ -+static const struct gpio_led - bcm47xx_leds_asus_rtn12[] __initconst = { - BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON), - BCM47XX_GPIO_LED(7, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), -@@ -563,6 +571,9 @@ void __init bcm47xx_leds_register(void) - enum bcm47xx_board board = bcm47xx_board_get(); - - switch (board) { -+ case BCM47XX_BOARD_ASUS_RTN10U: -+ bcm47xx_set_pdata(bcm47xx_leds_asus_rtn10u); -+ break; - case BCM47XX_BOARD_ASUS_RTN12: - bcm47xx_set_pdata(bcm47xx_leds_asus_rtn12); - break; diff --git a/target/linux/bcm47xx/patches-5.15/030-v5.17-0004-MIPS-BCM47XX-Add-support-for-Netgear-R6300-v1.patch b/target/linux/bcm47xx/patches-5.15/030-v5.17-0004-MIPS-BCM47XX-Add-support-for-Netgear-R6300-v1.patch deleted file mode 100644 index 8740942d6f1553..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/030-v5.17-0004-MIPS-BCM47XX-Add-support-for-Netgear-R6300-v1.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 15e690af5cc3cd8f5d14ee2aa3a093f80196110e Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 6 Jan 2022 19:51:40 -0800 -Subject: [PATCH] MIPS: BCM47XX: Add support for Netgear R6300 v1 - -Add support for the Netgear R6300 v1 Wi-Fi router using a Broadcom -BCM4706 chipset and supporting 802.11n and 802.11ac. - -Signed-off-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/board.c | 1 + - arch/mips/bcm47xx/buttons.c | 8 ++++++++ - arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + - 3 files changed, 10 insertions(+) - ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -162,6 +162,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ - {{BCM47XX_BOARD_LUXUL_XWR_600_V1, "Luxul XWR-600 V1"}, "luxul_xwr600_v1"}, - {{BCM47XX_BOARD_LUXUL_XWR_1750_V1, "Luxul XWR-1750 V1"}, "luxul_xwr1750_v1"}, - {{BCM47XX_BOARD_NETGEAR_R6200_V1, "Netgear R6200 V1"}, "U12H192T00_NETGEAR"}, -+ {{BCM47XX_BOARD_NETGEAR_R6300_V1, "Netgear R6300 V1"}, "U12H218T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WGR614V8, "Netgear WGR614 V8"}, "U12H072T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WGR614_V10, "Netgear WGR614 V10"}, "U12H139T01_NETGEAR"}, ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -410,6 +410,11 @@ bcm47xx_buttons_netgear_r6200_v1[] __ini - }; - - static const struct gpio_keys_button -+bcm47xx_buttons_netgear_r6300_v1[] __initconst = { -+ BCM47XX_GPIO_KEY(6, KEY_RESTART), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_netgear_wndr3400v1[] __initconst = { - BCM47XX_GPIO_KEY(4, KEY_RESTART), - BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON), -@@ -701,6 +706,9 @@ int __init bcm47xx_buttons_register(void - case BCM47XX_BOARD_NETGEAR_R6200_V1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6200_v1); - break; -+ case BCM47XX_BOARD_NETGEAR_R6300_V1: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6300_v1); -+ break; - case BCM47XX_BOARD_NETGEAR_WNDR3400V1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1); - break; ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -100,6 +100,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_MOTOROLA_WR850GV2V3, - - BCM47XX_BOARD_NETGEAR_R6200_V1, -+ BCM47XX_BOARD_NETGEAR_R6300_V1, - BCM47XX_BOARD_NETGEAR_WGR614V8, - BCM47XX_BOARD_NETGEAR_WGR614V9, - BCM47XX_BOARD_NETGEAR_WGR614_V10, diff --git a/target/linux/bcm47xx/patches-5.15/030-v5.17-0005-MIPS-BCM47XX-Add-support-for-Netgear-WN2500RP-v1-v2.patch b/target/linux/bcm47xx/patches-5.15/030-v5.17-0005-MIPS-BCM47XX-Add-support-for-Netgear-WN2500RP-v1-v2.patch deleted file mode 100644 index 6975bce9523208..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/030-v5.17-0005-MIPS-BCM47XX-Add-support-for-Netgear-WN2500RP-v1-v2.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 4da27b6d550427a0560a15df36de99cb17629216 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 6 Jan 2022 19:51:41 -0800 -Subject: [PATCH] MIPS: BCM47XX: Add support for Netgear WN2500RP v1 & v2 - -Add support for the Netgear WN2500 RP v1 and v2 Wi-Fi range extenders -based on the BCM5357 chipset and supporting 802.11n and 802.11ac. - -Signed-off-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/board.c | 2 ++ - arch/mips/bcm47xx/buttons.c | 9 +++++++++ - arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 2 ++ - 3 files changed, 13 insertions(+) - ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -166,6 +166,8 @@ struct bcm47xx_board_type_list1 bcm47xx_ - {{BCM47XX_BOARD_NETGEAR_WGR614V8, "Netgear WGR614 V8"}, "U12H072T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WGR614_V10, "Netgear WGR614 V10"}, "U12H139T01_NETGEAR"}, -+ {{BCM47XX_BOARD_NETGEAR_WN2500RP_V1, "Netgear WN2500RP V1"}, "U12H197T00_NETGEAR"}, -+ {{BCM47XX_BOARD_NETGEAR_WN2500RP_V2, "Netgear WN2500RP V2"}, "U12H294T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"}, ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -415,6 +415,12 @@ bcm47xx_buttons_netgear_r6300_v1[] __ini - }; - - static const struct gpio_keys_button -+bcm47xx_buttons_netgear_wn2500rp_v1[] __initconst = { -+ BCM47XX_GPIO_KEY(12, KEY_RESTART), -+ BCM47XX_GPIO_KEY(31, KEY_WPS_BUTTON), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_netgear_wndr3400v1[] __initconst = { - BCM47XX_GPIO_KEY(4, KEY_RESTART), - BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON), -@@ -709,6 +715,9 @@ int __init bcm47xx_buttons_register(void - case BCM47XX_BOARD_NETGEAR_R6300_V1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6300_v1); - break; -+ case BCM47XX_BOARD_NETGEAR_WN2500RP_V1: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wn2500rp_v1); -+ break; - case BCM47XX_BOARD_NETGEAR_WNDR3400V1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1); - break; ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -104,6 +104,8 @@ enum bcm47xx_board { - BCM47XX_BOARD_NETGEAR_WGR614V8, - BCM47XX_BOARD_NETGEAR_WGR614V9, - BCM47XX_BOARD_NETGEAR_WGR614_V10, -+ BCM47XX_BOARD_NETGEAR_WN2500RP_V1, -+ BCM47XX_BOARD_NETGEAR_WN2500RP_V2, - BCM47XX_BOARD_NETGEAR_WNDR3300, - BCM47XX_BOARD_NETGEAR_WNDR3400V1, - BCM47XX_BOARD_NETGEAR_WNDR3400V2, diff --git a/target/linux/bcm47xx/patches-5.15/031-v6.0-MIPS-BCM47XX-Add-support-for-Netgear-WNR3500L-v2.patch b/target/linux/bcm47xx/patches-5.15/031-v6.0-MIPS-BCM47XX-Add-support-for-Netgear-WNR3500L-v2.patch deleted file mode 100644 index 8c2233c804af7c..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/031-v6.0-MIPS-BCM47XX-Add-support-for-Netgear-WNR3500L-v2.patch +++ /dev/null @@ -1,109 +0,0 @@ -From c022e87162219d67d687df22c977d1c2fc95fb42 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 14 Jul 2022 14:13:01 -0700 -Subject: [PATCH] MIPS: BCM47XX: Add support for Netgear WNR3500L v2 - -Add support for the Netgear WNR3500L v2 router based on the BCM47186 -chipset and supporting 802.11n Wi-Fi. - -Signed-off-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/board.c | 2 ++ - arch/mips/bcm47xx/buttons.c | 10 ++++++++++ - arch/mips/bcm47xx/leds.c | 11 +++++++++++ - arch/mips/bcm47xx/workarounds.c | 1 + - arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + - 5 files changed, 25 insertions(+) - ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -181,6 +181,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ - {{BCM47XX_BOARD_NETGEAR_WNR1000_V3, "Netgear WNR1000 V3"}, "U12H139T50_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNR2000, "Netgear WNR2000"}, "U12H114T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "U12H136T99_NETGEAR"}, -+ {{BCM47XX_BOARD_NETGEAR_WNR3500L_V2, "Netgear WNR3500L V2"}, "U12H172T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNR3500U, "Netgear WNR3500U"}, "U12H136T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNR3500V2, "Netgear WNR3500 V2"}, "U12H127T00_NETGEAR"}, - {{BCM47XX_BOARD_NETGEAR_WNR3500V2VC, "Netgear WNR3500 V2vc"}, "U12H127T70_NETGEAR"}, -@@ -195,6 +196,7 @@ struct bcm47xx_board_type_list3 bcm47xx_ - {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, - {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, - {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, -+ {{BCM47XX_BOARD_NETGEAR_WNR3500L_V2, "Netgear WNR3500L V2"}, "0x052b", "3500L", "02"}, - {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"}, - {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"}, - {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"}, ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -460,6 +460,13 @@ bcm47xx_buttons_netgear_wnr3500lv1[] __i - }; - - static const struct gpio_keys_button -+bcm47xx_buttons_netgear_wnr3500lv2[] __initconst = { -+ BCM47XX_GPIO_KEY(4, KEY_RESTART), -+ BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON), -+ BCM47XX_GPIO_KEY(8, KEY_RFKILL), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_netgear_wnr834bv2[] __initconst = { - BCM47XX_GPIO_KEY(6, KEY_RESTART), - }; -@@ -736,6 +743,9 @@ int __init bcm47xx_buttons_register(void - case BCM47XX_BOARD_NETGEAR_WNR3500L: - err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr3500lv1); - break; -+ case BCM47XX_BOARD_NETGEAR_WNR3500L_V2: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr3500lv2); -+ break; - case BCM47XX_BOARD_NETGEAR_WNR834BV2: - err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2); - break; ---- a/arch/mips/bcm47xx/leds.c -+++ b/arch/mips/bcm47xx/leds.c -@@ -528,6 +528,14 @@ bcm47xx_leds_netgear_wnr3500lv1[] __init - }; - - static const struct gpio_led -+bcm47xx_leds_netgear_wnr3500lv2[] __initconst = { -+ BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), -+ BCM47XX_GPIO_LED(1, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF), -+ BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON), -+ BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF), -+}; -+ -+static const struct gpio_led - bcm47xx_leds_netgear_wnr834bv2[] __initconst = { - BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON), - BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF), -@@ -791,6 +799,9 @@ void __init bcm47xx_leds_register(void) - case BCM47XX_BOARD_NETGEAR_WNR3500L: - bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr3500lv1); - break; -+ case BCM47XX_BOARD_NETGEAR_WNR3500L_V2: -+ bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr3500lv2); -+ break; - case BCM47XX_BOARD_NETGEAR_WNR834BV2: - bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2); - break; ---- a/arch/mips/bcm47xx/workarounds.c -+++ b/arch/mips/bcm47xx/workarounds.c -@@ -22,6 +22,7 @@ void __init bcm47xx_workarounds(void) - - switch (board) { - case BCM47XX_BOARD_NETGEAR_WNR3500L: -+ case BCM47XX_BOARD_NETGEAR_WNR3500L_V2: - bcm47xx_workarounds_enable_usb_power(12); - break; - case BCM47XX_BOARD_NETGEAR_WNDR3400V2: ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -118,6 +118,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_NETGEAR_WNR1000_V3, - BCM47XX_BOARD_NETGEAR_WNR2000, - BCM47XX_BOARD_NETGEAR_WNR3500L, -+ BCM47XX_BOARD_NETGEAR_WNR3500L_V2, - BCM47XX_BOARD_NETGEAR_WNR3500U, - BCM47XX_BOARD_NETGEAR_WNR3500V2, - BCM47XX_BOARD_NETGEAR_WNR3500V2VC, diff --git a/target/linux/bcm47xx/patches-5.15/032-v6.3-MIPS-BCM47XX-Add-support-for-Linksys-E2500-V3.patch b/target/linux/bcm47xx/patches-5.15/032-v6.3-MIPS-BCM47XX-Add-support-for-Linksys-E2500-V3.patch deleted file mode 100644 index 4faecdc7d567ec..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/032-v6.3-MIPS-BCM47XX-Add-support-for-Linksys-E2500-V3.patch +++ /dev/null @@ -1,65 +0,0 @@ -From fc605b914167de75432c3b5aae239fb191e84a31 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Wed, 8 Feb 2023 08:03:01 +0100 -Subject: [PATCH] MIPS: BCM47XX: Add support for Linksys E2500 V3 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It's a BCM5358 based home WiFi router. 16 MiB flash, 64 MiB RAM, BCM5325 -switch, on-SoC 802.11n radio. - -Signed-off-by: Rafał Miłecki -Reviewed-by: Florian Fainelli -Signed-off-by: Thomas Bogendoerfer ---- - arch/mips/bcm47xx/board.c | 1 + - arch/mips/bcm47xx/buttons.c | 9 +++++++++ - arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + - 3 files changed, 11 insertions(+) - ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -130,6 +130,7 @@ struct bcm47xx_board_type_list2 bcm47xx_ - {{BCM47XX_BOARD_LINKSYS_E1000V21, "Linksys E1000 V2.1"}, "E1000", "2.1"}, - {{BCM47XX_BOARD_LINKSYS_E1200V2, "Linksys E1200 V2"}, "E1200", "2.0"}, - {{BCM47XX_BOARD_LINKSYS_E2000V1, "Linksys E2000 V1"}, "Linksys E2000", "1.0"}, -+ {{BCM47XX_BOARD_LINKSYS_E2500V3, "Linksys E2500 V3"}, "E2500", "1.0"}, - /* like WRT610N v2.0 */ - {{BCM47XX_BOARD_LINKSYS_E3000V1, "Linksys E3000 V1"}, "E300", "1.0"}, - {{BCM47XX_BOARD_LINKSYS_E3200V1, "Linksys E3200 V1"}, "E3200", "1.0"}, ---- a/arch/mips/bcm47xx/buttons.c -+++ b/arch/mips/bcm47xx/buttons.c -@@ -223,6 +223,12 @@ bcm47xx_buttons_linksys_e2000v1[] __init - }; - - static const struct gpio_keys_button -+bcm47xx_buttons_linksys_e2500v3[] __initconst = { -+ BCM47XX_GPIO_KEY(9, KEY_WPS_BUTTON), -+ BCM47XX_GPIO_KEY(10, KEY_RESTART), -+}; -+ -+static const struct gpio_keys_button - bcm47xx_buttons_linksys_e3000v1[] __initconst = { - BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON), - BCM47XX_GPIO_KEY(6, KEY_RESTART), -@@ -617,6 +623,9 @@ int __init bcm47xx_buttons_register(void - case BCM47XX_BOARD_LINKSYS_E2000V1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e2000v1); - break; -+ case BCM47XX_BOARD_LINKSYS_E2500V3: -+ err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e2500v3); -+ break; - case BCM47XX_BOARD_LINKSYS_E3000V1: - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e3000v1); - break; ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -61,6 +61,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_LINKSYS_E1000V21, - BCM47XX_BOARD_LINKSYS_E1200V2, - BCM47XX_BOARD_LINKSYS_E2000V1, -+ BCM47XX_BOARD_LINKSYS_E2500V3, - BCM47XX_BOARD_LINKSYS_E3000V1, - BCM47XX_BOARD_LINKSYS_E3200V1, - BCM47XX_BOARD_LINKSYS_E4200V1, diff --git a/target/linux/bcm47xx/patches-5.15/100-v5.18-mtd-rawnand-brcmnand-Assign-soc-as-early-as-possible.patch b/target/linux/bcm47xx/patches-5.15/100-v5.18-mtd-rawnand-brcmnand-Assign-soc-as-early-as-possible.patch deleted file mode 100644 index f6f90a81651184..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/100-v5.18-mtd-rawnand-brcmnand-Assign-soc-as-early-as-possible.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 1/9] mtd: rawnand: brcmnand: Assign soc as early as possible -Date: Fri, 07 Jan 2022 10:46:06 -0800 -Content-Type: text/plain; charset="utf-8" - -In order to key off the brcmnand_probe() code in subsequent changes -depending upon ctrl->soc, assign that variable as early as possible, -instead of much later when we have checked that it is non-NULL. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -3059,6 +3059,7 @@ int brcmnand_probe(struct platform_devic - - dev_set_drvdata(dev, ctrl); - ctrl->dev = dev; -+ ctrl->soc = soc; - - /* Enable the static key if the soc provides I/O operations indicating - * that a non-memory mapped IO access path must be used -@@ -3209,8 +3210,6 @@ int brcmnand_probe(struct platform_devic - * interesting ways - */ - if (soc) { -- ctrl->soc = soc; -- - ret = devm_request_irq(dev, ctrl->irq, brcmnand_irq, 0, - DRV_NAME, ctrl); - diff --git a/target/linux/bcm47xx/patches-5.15/102-v5.18-mtd-rawnand-brcmnand-Avoid-pdev-in-brcmnand_init_cs.patch b/target/linux/bcm47xx/patches-5.15/102-v5.18-mtd-rawnand-brcmnand-Avoid-pdev-in-brcmnand_init_cs.patch deleted file mode 100644 index 46cd377406ecfc..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/102-v5.18-mtd-rawnand-brcmnand-Avoid-pdev-in-brcmnand_init_cs.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 3/9] mtd: rawnand: brcmnand: Avoid pdev in brcmnand_init_cs() -Date: Fri, 07 Jan 2022 10:46:08 -0800 -Content-Type: text/plain; charset="utf-8" - -In preparation for encapsulating more of what the loop calling -brcmnand_init_cs() does, avoid using platform_device when it is the -device behind platform_device that we are using for printing errors. - -No functional changes introduced. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -2814,7 +2814,7 @@ static const struct nand_controller_ops - static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn) - { - struct brcmnand_controller *ctrl = host->ctrl; -- struct platform_device *pdev = host->pdev; -+ struct device *dev = ctrl->dev; - struct mtd_info *mtd; - struct nand_chip *chip; - int ret; -@@ -2822,7 +2822,7 @@ static int brcmnand_init_cs(struct brcmn - - ret = of_property_read_u32(dn, "reg", &host->cs); - if (ret) { -- dev_err(&pdev->dev, "can't get chip-select\n"); -+ dev_err(dev, "can't get chip-select\n"); - return -ENXIO; - } - -@@ -2831,13 +2831,13 @@ static int brcmnand_init_cs(struct brcmn - - nand_set_flash_node(chip, dn); - nand_set_controller_data(chip, host); -- mtd->name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "brcmnand.%d", -+ mtd->name = devm_kasprintf(dev, GFP_KERNEL, "brcmnand.%d", - host->cs); - if (!mtd->name) - return -ENOMEM; - - mtd->owner = THIS_MODULE; -- mtd->dev.parent = &pdev->dev; -+ mtd->dev.parent = dev; - - chip->legacy.cmd_ctrl = brcmnand_cmd_ctrl; - chip->legacy.cmdfunc = brcmnand_cmdfunc; diff --git a/target/linux/bcm47xx/patches-5.15/103-v5.18-mtd-rawnand-brcmnand-Move-OF-operations-out-of-brcmnand_init_cs.patch b/target/linux/bcm47xx/patches-5.15/103-v5.18-mtd-rawnand-brcmnand-Move-OF-operations-out-of-brcmnand_init_cs.patch deleted file mode 100644 index fdfd35a44f9844..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/103-v5.18-mtd-rawnand-brcmnand-Move-OF-operations-out-of-brcmnand_init_cs.patch +++ /dev/null @@ -1,63 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 4/9] mtd: rawnand: brcmnand: Move OF operations out of brcmnand_init_cs() -Date: Fri, 07 Jan 2022 10:46:09 -0800 -Content-Type: text/plain; charset="utf-8" - -In order to initialize a given chip select object for use by the -brcmnand driver, move all of the Device Tree specific routines outside -of brcmnand_init_cs() in order to make it usable in a platform data -configuration which will be necessary for supporting BCMA chips. - -No functional changes introduced. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -2811,7 +2811,7 @@ static const struct nand_controller_ops - .attach_chip = brcmnand_attach_chip, - }; - --static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn) -+static int brcmnand_init_cs(struct brcmnand_host *host) - { - struct brcmnand_controller *ctrl = host->ctrl; - struct device *dev = ctrl->dev; -@@ -2820,16 +2820,9 @@ static int brcmnand_init_cs(struct brcmn - int ret; - u16 cfg_offs; - -- ret = of_property_read_u32(dn, "reg", &host->cs); -- if (ret) { -- dev_err(dev, "can't get chip-select\n"); -- return -ENXIO; -- } -- - mtd = nand_to_mtd(&host->chip); - chip = &host->chip; - -- nand_set_flash_node(chip, dn); - nand_set_controller_data(chip, host); - mtd->name = devm_kasprintf(dev, GFP_KERNEL, "brcmnand.%d", - host->cs); -@@ -3240,7 +3233,16 @@ int brcmnand_probe(struct platform_devic - host->pdev = pdev; - host->ctrl = ctrl; - -- ret = brcmnand_init_cs(host, child); -+ ret = of_property_read_u32(child, "reg", &host->cs); -+ if (ret) { -+ dev_err(dev, "can't get chip-select\n"); -+ devm_kfree(dev, host); -+ continue; -+ } -+ -+ nand_set_flash_node(&host->chip, child); -+ -+ ret = brcmnand_init_cs(host); - if (ret) { - devm_kfree(dev, host); - continue; /* Try all chip-selects */ diff --git a/target/linux/bcm47xx/patches-5.15/104-v5.18-mtd-rawnand-brcmnand-Allow-working-without-interrupts.patch b/target/linux/bcm47xx/patches-5.15/104-v5.18-mtd-rawnand-brcmnand-Allow-working-without-interrupts.patch deleted file mode 100644 index 08cecf3d4a9934..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/104-v5.18-mtd-rawnand-brcmnand-Allow-working-without-interrupts.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 5/9] mtd: rawnand: brcmnand: Allow working without interrupts -Date: Fri, 07 Jan 2022 10:46:10 -0800 -Content-Type: text/plain; charset="utf-8" - -The BCMA devices include the brcmnand controller but they do not wire up -any interrupt line, allow the main interrupt to be optional and update -the completion path to also check for the lack of an interrupt line. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 52 +++++++++++------------- - 1 file changed, 24 insertions(+), 28 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -216,7 +216,7 @@ struct brcmnand_controller { - void __iomem *nand_base; - void __iomem *nand_fc; /* flash cache */ - void __iomem *flash_dma_base; -- unsigned int irq; -+ int irq; - unsigned int dma_irq; - int nand_version; - -@@ -1650,7 +1650,7 @@ static bool brcmstb_nand_wait_for_comple - bool err = false; - int sts; - -- if (mtd->oops_panic_write) { -+ if (mtd->oops_panic_write || ctrl->irq < 0) { - /* switch to interrupt polling and PIO mode */ - disable_ctrl_irqs(ctrl); - sts = bcmnand_ctrl_poll_status(ctrl, NAND_CTRL_RDY, -@@ -3191,33 +3191,29 @@ int brcmnand_probe(struct platform_devic - } - - /* IRQ */ -- ctrl->irq = platform_get_irq(pdev, 0); -- if ((int)ctrl->irq < 0) { -- dev_err(dev, "no IRQ defined\n"); -- ret = -ENODEV; -- goto err; -- } -- -- /* -- * Some SoCs integrate this controller (e.g., its interrupt bits) in -- * interesting ways -- */ -- if (soc) { -- ret = devm_request_irq(dev, ctrl->irq, brcmnand_irq, 0, -- DRV_NAME, ctrl); -- -- /* Enable interrupt */ -- ctrl->soc->ctlrdy_ack(ctrl->soc); -- ctrl->soc->ctlrdy_set_enabled(ctrl->soc, true); -- } else { -- /* Use standard interrupt infrastructure */ -- ret = devm_request_irq(dev, ctrl->irq, brcmnand_ctlrdy_irq, 0, -- DRV_NAME, ctrl); -- } -- if (ret < 0) { -- dev_err(dev, "can't allocate IRQ %d: error %d\n", -- ctrl->irq, ret); -- goto err; -+ ctrl->irq = platform_get_irq_optional(pdev, 0); -+ if (ctrl->irq > 0) { -+ /* -+ * Some SoCs integrate this controller (e.g., its interrupt bits) in -+ * interesting ways -+ */ -+ if (soc) { -+ ret = devm_request_irq(dev, ctrl->irq, brcmnand_irq, 0, -+ DRV_NAME, ctrl); -+ -+ /* Enable interrupt */ -+ ctrl->soc->ctlrdy_ack(ctrl->soc); -+ ctrl->soc->ctlrdy_set_enabled(ctrl->soc, true); -+ } else { -+ /* Use standard interrupt infrastructure */ -+ ret = devm_request_irq(dev, ctrl->irq, brcmnand_ctlrdy_irq, 0, -+ DRV_NAME, ctrl); -+ } -+ if (ret < 0) { -+ dev_err(dev, "can't allocate IRQ %d: error %d\n", -+ ctrl->irq, ret); -+ goto err; -+ } - } - - for_each_available_child_of_node(dn, child) { diff --git a/target/linux/bcm47xx/patches-5.15/105-v5.18-mtd-rawnand-brcmnand-Add-platform-data-structure-for-BCMA.patch b/target/linux/bcm47xx/patches-5.15/105-v5.18-mtd-rawnand-brcmnand-Add-platform-data-structure-for-BCMA.patch deleted file mode 100644 index 56c686f3083b64..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/105-v5.18-mtd-rawnand-brcmnand-Add-platform-data-structure-for-BCMA.patch +++ /dev/null @@ -1,115 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 6/9] mtd: rawnand: brcmnand: Add platform data structure for BCMA -Date: Fri, 07 Jan 2022 10:46:11 -0800 -Content-Type: text/plain; charset="utf-8" - -Update the BCMA's chipcommon nand flash driver to detect which -chip-select is used and pass that information via platform data to the -brcmnand driver. Make sure that the brcmnand platform data structure is -always at the beginning of the platform data of the "nflash" device -created by BCMA to allow brcmnand to safely de-reference it. - -Signed-off-by: Florian Fainelli ---- - MAINTAINERS | 1 + - drivers/bcma/driver_chipcommon_nflash.c | 20 +++++++++++++++++++- - include/linux/bcma/bcma_driver_chipcommon.h | 5 +++++ - include/linux/platform_data/brcmnand.h | 12 ++++++++++++ - 4 files changed, 37 insertions(+), 1 deletion(-) - create mode 100644 include/linux/platform_data/brcmnand.h - ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -3901,6 +3901,7 @@ L: linux-mtd@lists.infradead.org - L: bcm-kernel-feedback-list@broadcom.com - S: Maintained - F: drivers/mtd/nand/raw/brcmnand/ -+F: include/linux/platform_data/brcmnand.h - - BROADCOM STB PCIE DRIVER - M: Jim Quinlan ---- a/drivers/bcma/driver_chipcommon_nflash.c -+++ b/drivers/bcma/driver_chipcommon_nflash.c -@@ -7,18 +7,28 @@ - - #include "bcma_private.h" - -+#include - #include -+#include - #include - -+/* Alternate NAND controller driver name in order to allow both bcm47xxnflash -+ * and bcma_brcmnand to be built into the same kernel image. -+ */ -+static const char *bcma_nflash_alt_name = "bcma_brcmnand"; -+ - struct platform_device bcma_nflash_dev = { - .name = "bcma_nflash", - .num_resources = 0, - }; - -+static const char *probes[] = { "bcm47xxpart", NULL }; -+ - /* Initialize NAND flash access */ - int bcma_nflash_init(struct bcma_drv_cc *cc) - { - struct bcma_bus *bus = cc->core->bus; -+ u32 reg; - - if (bus->chipinfo.id != BCMA_CHIP_ID_BCM4706 && - cc->core->id.rev != 38) { -@@ -33,8 +43,16 @@ int bcma_nflash_init(struct bcma_drv_cc - - cc->nflash.present = true; - if (cc->core->id.rev == 38 && -- (cc->status & BCMA_CC_CHIPST_5357_NAND_BOOT)) -+ (cc->status & BCMA_CC_CHIPST_5357_NAND_BOOT)) { - cc->nflash.boot = true; -+ /* Determine the chip select that is being used */ -+ reg = bcma_cc_read32(cc, BCMA_CC_NAND_CS_NAND_SELECT) & 0xff; -+ cc->nflash.brcmnand_info.chip_select = ffs(reg) - 1; -+ cc->nflash.brcmnand_info.part_probe_types = probes; -+ cc->nflash.brcmnand_info.ecc_stepsize = 512; -+ cc->nflash.brcmnand_info.ecc_strength = 1; -+ bcma_nflash_dev.name = bcma_nflash_alt_name; -+ } - - /* Prepare platform device, but don't register it yet. It's too early, - * malloc (required by device_private_init) is not available yet. */ ---- a/include/linux/bcma/bcma_driver_chipcommon.h -+++ b/include/linux/bcma/bcma_driver_chipcommon.h -@@ -3,6 +3,7 @@ - #define LINUX_BCMA_DRIVER_CC_H_ - - #include -+#include - #include - - /** ChipCommon core registers. **/ -@@ -599,6 +600,10 @@ struct bcma_sflash { - - #ifdef CONFIG_BCMA_NFLASH - struct bcma_nflash { -+ /* Must be the fist member for the brcmnand driver to -+ * de-reference that structure. -+ */ -+ struct brcmnand_platform_data brcmnand_info; - bool present; - bool boot; /* This is the flash the SoC boots from */ - }; ---- /dev/null -+++ b/include/linux/platform_data/brcmnand.h -@@ -0,0 +1,12 @@ -+/* SPDX-License-Identifier: GPL-2.0-only */ -+#ifndef BRCMNAND_PLAT_DATA_H -+#define BRCMNAND_PLAT_DATA_H -+ -+struct brcmnand_platform_data { -+ int chip_select; -+ const char * const *part_probe_types; -+ unsigned int ecc_stepsize; -+ unsigned int ecc_strength; -+}; -+ -+#endif /* BRCMNAND_PLAT_DATA_H */ diff --git a/target/linux/bcm47xx/patches-5.15/106-v5.18-mtd-rawnand-brcmnand-Allow-platform-data-instantation.patch b/target/linux/bcm47xx/patches-5.15/106-v5.18-mtd-rawnand-brcmnand-Allow-platform-data-instantation.patch deleted file mode 100644 index 4942389b5a5ffd..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/106-v5.18-mtd-rawnand-brcmnand-Allow-platform-data-instantation.patch +++ /dev/null @@ -1,124 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 7/9] mtd: rawnand: brcmnand: Allow platform data instantation -Date: Fri, 07 Jan 2022 10:46:12 -0800 -Content-Type: text/plain; charset="utf-8" - -Make use of the recently refactored code in brcmnand_init_cs() and -derive the chip-select from the platform data that is supplied. Update -the various code paths to avoid relying on possibly non-existent -resources, too. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 45 ++++++++++++++++++------ - 1 file changed, 35 insertions(+), 10 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -9,6 +9,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -2811,7 +2812,8 @@ static const struct nand_controller_ops - .attach_chip = brcmnand_attach_chip, - }; - --static int brcmnand_init_cs(struct brcmnand_host *host) -+static int brcmnand_init_cs(struct brcmnand_host *host, -+ const char * const *part_probe_types) - { - struct brcmnand_controller *ctrl = host->ctrl; - struct device *dev = ctrl->dev; -@@ -2864,7 +2866,7 @@ static int brcmnand_init_cs(struct brcmn - if (ret) - return ret; - -- ret = mtd_device_register(mtd, NULL, 0); -+ ret = mtd_device_parse_register(mtd, part_probe_types, NULL, NULL, 0); - if (ret) - nand_cleanup(chip); - -@@ -3033,17 +3035,15 @@ static int brcmnand_edu_setup(struct pla - - int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) - { -+ struct brcmnand_platform_data *pd = dev_get_platdata(&pdev->dev); - struct device *dev = &pdev->dev; - struct device_node *dn = dev->of_node, *child; - struct brcmnand_controller *ctrl; -+ struct brcmnand_host *host; - struct resource *res; - int ret; - -- /* We only support device-tree instantiation */ -- if (!dn) -- return -ENODEV; -- -- if (!of_match_node(brcmnand_of_match, dn)) -+ if (dn && !of_match_node(brcmnand_of_match, dn)) - return -ENODEV; - - ctrl = devm_kzalloc(dev, sizeof(*ctrl), GFP_KERNEL); -@@ -3070,7 +3070,7 @@ int brcmnand_probe(struct platform_devic - /* NAND register range */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - ctrl->nand_base = devm_ioremap_resource(dev, res); -- if (IS_ERR(ctrl->nand_base)) -+ if (IS_ERR(ctrl->nand_base) && !brcmnand_soc_has_ops(soc)) - return PTR_ERR(ctrl->nand_base); - - /* Enable clock before using NAND registers */ -@@ -3218,7 +3218,6 @@ int brcmnand_probe(struct platform_devic - - for_each_available_child_of_node(dn, child) { - if (of_device_is_compatible(child, "brcm,nandcs")) { -- struct brcmnand_host *host; - - host = devm_kzalloc(dev, sizeof(*host), GFP_KERNEL); - if (!host) { -@@ -3238,7 +3237,7 @@ int brcmnand_probe(struct platform_devic - - nand_set_flash_node(&host->chip, child); - -- ret = brcmnand_init_cs(host); -+ ret = brcmnand_init_cs(host, NULL); - if (ret) { - devm_kfree(dev, host); - continue; /* Try all chip-selects */ -@@ -3248,6 +3247,32 @@ int brcmnand_probe(struct platform_devic - } - } - -+ if (!list_empty(&ctrl->host_list)) -+ return 0; -+ -+ if (!pd) { -+ ret = -ENODEV; -+ goto err; -+ } -+ -+ /* If we got there we must have been probing via platform data */ -+ host = devm_kzalloc(dev, sizeof(*host), GFP_KERNEL); -+ if (!host) { -+ ret = -ENOMEM; -+ goto err; -+ } -+ host->pdev = pdev; -+ host->ctrl = ctrl; -+ host->cs = pd->chip_select; -+ host->chip.ecc.size = pd->ecc_stepsize; -+ host->chip.ecc.strength = pd->ecc_strength; -+ -+ ret = brcmnand_init_cs(host, pd->part_probe_types); -+ if (ret) -+ goto err; -+ -+ list_add_tail(&host->node, &ctrl->host_list); -+ - /* No chip-selects could initialize properly */ - if (list_empty(&ctrl->host_list)) { - ret = -ENODEV; diff --git a/target/linux/bcm47xx/patches-5.15/107-v5.18-mtd-rawnand-brcmnand-BCMA-controller-uses-command-shift-of-0.patch b/target/linux/bcm47xx/patches-5.15/107-v5.18-mtd-rawnand-brcmnand-BCMA-controller-uses-command-shift-of-0.patch deleted file mode 100644 index 50cc4a6b22a6a2..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/107-v5.18-mtd-rawnand-brcmnand-BCMA-controller-uses-command-shift-of-0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 8/9] mtd: rawnand: brcmnand: BCMA controller uses command shift of 0 -Date: Fri, 07 Jan 2022 10:46:13 -0800 -Content-Type: text/plain; charset="utf-8" - -For some odd and unexplained reason the BCMA NAND controller, albeit -revision 3.4 uses a command shift of 0 instead of 24 as it should be, -quirk that. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -951,6 +951,12 @@ static void brcmnand_wr_corr_thresh(stru - - static inline int brcmnand_cmd_shift(struct brcmnand_controller *ctrl) - { -+ /* Kludge for the BCMA-based NAND controller which does not actually -+ * shift the command -+ */ -+ if (ctrl->nand_version == 0x0304 && brcmnand_non_mmio_ops(ctrl)) -+ return 0; -+ - if (ctrl->nand_version < 0x0602) - return 24; - return 0; diff --git a/target/linux/bcm47xx/patches-5.15/108-v5.18-mtd-rawnand-brcmnand-Add-BCMA-shim.patch b/target/linux/bcm47xx/patches-5.15/108-v5.18-mtd-rawnand-brcmnand-Add-BCMA-shim.patch deleted file mode 100644 index 38fd3a30a6573d..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/108-v5.18-mtd-rawnand-brcmnand-Add-BCMA-shim.patch +++ /dev/null @@ -1,201 +0,0 @@ -From: Florian Fainelli -Subject: [PATCH v3 9/9] mtd: rawnand: brcmnand: Add BCMA shim -Date: Fri, 07 Jan 2022 10:46:14 -0800 -Content-Type: text/plain; charset="utf-8" - -Add a BCMA shim to allow us to register the brcmnand driver using the -BCMA bus which provides indirect memory mapped access to SoC registers. - -There are a number of registers that need to be byte swapped because -they are natively big endian, coming directly from the NAND chip, and -there is no bus interface unlike the iProc or STB platforms that -performs the byte swapping for us. - -Signed-off-by: Florian Fainelli ---- - drivers/mtd/nand/raw/Kconfig | 13 +++ - drivers/mtd/nand/raw/brcmnand/Makefile | 2 + - drivers/mtd/nand/raw/brcmnand/bcma_nand.c | 132 ++++++++++++++++++++++ - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 4 + - 4 files changed, 151 insertions(+) - create mode 100644 drivers/mtd/nand/raw/brcmnand/bcma_nand.c - ---- a/drivers/mtd/nand/raw/Kconfig -+++ b/drivers/mtd/nand/raw/Kconfig -@@ -208,6 +208,19 @@ config MTD_NAND_BRCMNAND - originally designed for Set-Top Box but is used on various BCM7xxx, - BCM3xxx, BCM63xxx, iProc/Cygnus and more. - -+if MTD_NAND_BRCMNAND -+ -+config MTD_NAND_BRCMNAND_BCMA -+ tristate "Broadcom BCMA NAND controller" -+ depends on BCMA_NFLASH -+ depends on BCMA -+ help -+ Enables the BRCMNAND controller over BCMA on BCM47186/BCM5358 SoCs. -+ The glue driver will take care of performing the low-level I/O -+ operations to interface the BRCMNAND controller over the BCMA bus. -+ -+endif # MTD_NAND_BRCMNAND -+ - config MTD_NAND_BCM47XXNFLASH - tristate "BCM4706 BCMA NAND controller" - depends on BCMA_NFLASH ---- a/drivers/mtd/nand/raw/brcmnand/Makefile -+++ b/drivers/mtd/nand/raw/brcmnand/Makefile -@@ -6,3 +6,5 @@ obj-$(CONFIG_MTD_NAND_BRCMNAND) += bcm6 - obj-$(CONFIG_MTD_NAND_BRCMNAND) += bcm6368_nand.o - obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmstb_nand.o - obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand.o -+ -+obj-$(CONFIG_MTD_NAND_BRCMNAND_BCMA) += bcma_nand.o ---- /dev/null -+++ b/drivers/mtd/nand/raw/brcmnand/bcma_nand.c -@@ -0,0 +1,132 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+/* -+ * Copyright © 2021 Broadcom -+ */ -+#include -+#include -+#include -+#include -+#include -+ -+#include "brcmnand.h" -+ -+struct brcmnand_bcma_soc { -+ struct brcmnand_soc soc; -+ struct bcma_drv_cc *cc; -+}; -+ -+static inline bool brcmnand_bcma_needs_swapping(u32 offset) -+{ -+ switch (offset) { -+ case BCMA_CC_NAND_SPARE_RD0: -+ case BCMA_CC_NAND_SPARE_RD4: -+ case BCMA_CC_NAND_SPARE_RD8: -+ case BCMA_CC_NAND_SPARE_RD12: -+ case BCMA_CC_NAND_SPARE_WR0: -+ case BCMA_CC_NAND_SPARE_WR4: -+ case BCMA_CC_NAND_SPARE_WR8: -+ case BCMA_CC_NAND_SPARE_WR12: -+ case BCMA_CC_NAND_DEVID: -+ case BCMA_CC_NAND_DEVID_X: -+ case BCMA_CC_NAND_SPARE_RD16: -+ case BCMA_CC_NAND_SPARE_RD20: -+ case BCMA_CC_NAND_SPARE_RD24: -+ case BCMA_CC_NAND_SPARE_RD28: -+ return true; -+ } -+ -+ return false; -+} -+ -+static inline struct brcmnand_bcma_soc *to_bcma_soc(struct brcmnand_soc *soc) -+{ -+ return container_of(soc, struct brcmnand_bcma_soc, soc); -+} -+ -+static u32 brcmnand_bcma_read_reg(struct brcmnand_soc *soc, u32 offset) -+{ -+ struct brcmnand_bcma_soc *sc = to_bcma_soc(soc); -+ u32 val; -+ -+ /* Offset into the NAND block and deal with the flash cache separately */ -+ if (offset == BRCMNAND_NON_MMIO_FC_ADDR) -+ offset = BCMA_CC_NAND_CACHE_DATA; -+ else -+ offset += BCMA_CC_NAND_REVISION; -+ -+ val = bcma_cc_read32(sc->cc, offset); -+ -+ /* Swap if necessary */ -+ if (brcmnand_bcma_needs_swapping(offset)) -+ val = be32_to_cpu(val); -+ return val; -+} -+ -+static void brcmnand_bcma_write_reg(struct brcmnand_soc *soc, u32 val, -+ u32 offset) -+{ -+ struct brcmnand_bcma_soc *sc = to_bcma_soc(soc); -+ -+ /* Offset into the NAND block */ -+ if (offset == BRCMNAND_NON_MMIO_FC_ADDR) -+ offset = BCMA_CC_NAND_CACHE_DATA; -+ else -+ offset += BCMA_CC_NAND_REVISION; -+ -+ /* Swap if necessary */ -+ if (brcmnand_bcma_needs_swapping(offset)) -+ val = cpu_to_be32(val); -+ -+ bcma_cc_write32(sc->cc, offset, val); -+} -+ -+static struct brcmnand_io_ops brcmnand_bcma_io_ops = { -+ .read_reg = brcmnand_bcma_read_reg, -+ .write_reg = brcmnand_bcma_write_reg, -+}; -+ -+static void brcmnand_bcma_prepare_data_bus(struct brcmnand_soc *soc, bool prepare, -+ bool is_param) -+{ -+ struct brcmnand_bcma_soc *sc = to_bcma_soc(soc); -+ -+ /* Reset the cache address to ensure we are already accessing the -+ * beginning of a sub-page. -+ */ -+ bcma_cc_write32(sc->cc, BCMA_CC_NAND_CACHE_ADDR, 0); -+} -+ -+static int brcmnand_bcma_nand_probe(struct platform_device *pdev) -+{ -+ struct bcma_nflash *nflash = dev_get_platdata(&pdev->dev); -+ struct brcmnand_bcma_soc *soc; -+ -+ soc = devm_kzalloc(&pdev->dev, sizeof(*soc), GFP_KERNEL); -+ if (!soc) -+ return -ENOMEM; -+ -+ soc->cc = container_of(nflash, struct bcma_drv_cc, nflash); -+ soc->soc.prepare_data_bus = brcmnand_bcma_prepare_data_bus; -+ soc->soc.ops = &brcmnand_bcma_io_ops; -+ -+ if (soc->cc->core->bus->chipinfo.id == BCMA_CHIP_ID_BCM4706) { -+ dev_err(&pdev->dev, "Use bcm47xxnflash for 4706!\n"); -+ return -ENODEV; -+ } -+ -+ return brcmnand_probe(pdev, &soc->soc); -+} -+ -+static struct platform_driver brcmnand_bcma_nand_driver = { -+ .probe = brcmnand_bcma_nand_probe, -+ .remove = brcmnand_remove, -+ .driver = { -+ .name = "bcma_brcmnand", -+ .pm = &brcmnand_pm_ops, -+ } -+}; -+module_platform_driver(brcmnand_bcma_nand_driver); -+ -+MODULE_LICENSE("GPL v2"); -+MODULE_AUTHOR("Broadcom"); -+MODULE_DESCRIPTION("NAND controller driver glue for BCMA chips"); ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -627,7 +627,11 @@ enum { - - static inline bool brcmnand_non_mmio_ops(struct brcmnand_controller *ctrl) - { -+#if IS_ENABLED(CONFIG_MTD_NAND_BRCMNAND_BCMA) - return static_branch_unlikely(&brcmnand_soc_has_ops_key); -+#else -+ return false; -+#endif - } - - static inline u32 nand_readreg(struct brcmnand_controller *ctrl, u32 offs) diff --git a/target/linux/bcm47xx/patches-5.15/130-MIPS-BCM47XX-Add-support-for-Huawei-B593u-12.patch b/target/linux/bcm47xx/patches-5.15/130-MIPS-BCM47XX-Add-support-for-Huawei-B593u-12.patch deleted file mode 100644 index 333c3d7b8707ac..00000000000000 --- a/target/linux/bcm47xx/patches-5.15/130-MIPS-BCM47XX-Add-support-for-Huawei-B593u-12.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Mon, 27 Feb 2023 07:44:38 +0100 -Subject: [PATCH] MIPS: BCM47XX: Add support for Huawei B593u-12 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It's a BCM5358 based home router. One of very few bcm47xx devices with -cellular modems (here: LTE). - -Signed-off-by: Rafał Miłecki ---- - arch/mips/bcm47xx/board.c | 1 + - arch/mips/bcm47xx/leds.c | 8 ++++++++ - arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + - 3 files changed, 10 insertions(+) - ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -193,6 +193,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ - /* boardtype, boardnum, boardrev */ - static const - struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] __initconst = { -+ {{BCM47XX_BOARD_HUAWEI_B593U_12, "Huawei B593u-12"}, "0x053d", "1234", "0x1301"}, - {{BCM47XX_BOARD_HUAWEI_E970, "Huawei E970"}, "0x048e", "0x5347", "0x11"}, - {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, - {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, ---- a/arch/mips/bcm47xx/leds.c -+++ b/arch/mips/bcm47xx/leds.c -@@ -223,6 +223,11 @@ bcm47xx_leds_dlink_dir330[] __initconst - /* Huawei */ - - static const struct gpio_led -+bcm47xx_leds_huawei_b593u_12[] __initconst = { -+ BCM47XX_GPIO_LED(5, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), -+}; -+ -+static const struct gpio_led - bcm47xx_leds_huawei_e970[] __initconst = { - BCM47XX_GPIO_LED(0, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), - }; -@@ -672,6 +677,9 @@ void __init bcm47xx_leds_register(void) - bcm47xx_set_pdata(bcm47xx_leds_dlink_dir330); - break; - -+ case BCM47XX_BOARD_HUAWEI_B593U_12: -+ bcm47xx_set_pdata(bcm47xx_leds_huawei_b593u_12); -+ break; - case BCM47XX_BOARD_HUAWEI_E970: - bcm47xx_set_pdata(bcm47xx_leds_huawei_e970); - break; ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -53,6 +53,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_DLINK_DIR130, - BCM47XX_BOARD_DLINK_DIR330, - -+ BCM47XX_BOARD_HUAWEI_B593U_12, - BCM47XX_BOARD_HUAWEI_E970, - - BCM47XX_BOARD_LINKSYS_E900V1, diff --git a/target/linux/bcm47xx/patches-5.15/159-cpu_fixes.patch b/target/linux/bcm47xx/patches-6.6/159-cpu_fixes.patch similarity index 94% rename from target/linux/bcm47xx/patches-5.15/159-cpu_fixes.patch rename to target/linux/bcm47xx/patches-6.6/159-cpu_fixes.patch index fe7eff19113ee5..f4360664c5371b 100644 --- a/target/linux/bcm47xx/patches-5.15/159-cpu_fixes.patch +++ b/target/linux/bcm47xx/patches-6.6/159-cpu_fixes.patch @@ -298,8 +298,8 @@ #endif --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S -@@ -22,6 +22,19 @@ - #include +@@ -21,6 +21,19 @@ + #include #include +#ifdef CONFIG_BCM47XX @@ -318,7 +318,7 @@ __INIT /* -@@ -33,6 +46,9 @@ +@@ -32,6 +45,9 @@ NESTED(except_vec3_generic, 0, sp) .set push .set noat @@ -328,7 +328,7 @@ mfc0 k1, CP0_CAUSE andi k1, k1, 0x7c #ifdef CONFIG_64BIT -@@ -53,6 +69,9 @@ NESTED(except_vec3_r4000, 0, sp) +@@ -52,6 +68,9 @@ NESTED(except_vec3_r4000, 0, sp) .set push .set arch=r4000 .set noat @@ -340,7 +340,7 @@ andi k1, k1, 0x7c --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c -@@ -38,6 +38,9 @@ +@@ -37,6 +37,9 @@ #include #include @@ -350,27 +350,27 @@ /* * Bits describing what cache ops an SMP callback function may perform. * -@@ -190,6 +193,9 @@ static void r4k_blast_dcache_user_page_s +@@ -144,6 +147,9 @@ static void r4k_blast_dcache_page_setup( { unsigned long dc_lsize = cpu_dcache_line_size(); + if (bcm4710) + r4k_blast_dcache_page = blast_dcache_page; + else - if (dc_lsize == 0) - r4k_blast_dcache_user_page = (void *)cache_noop; - else if (dc_lsize == 16) -@@ -208,6 +214,9 @@ static void r4k_blast_dcache_page_indexe + switch (dc_lsize) { + case 0: + r4k_blast_dcache_page = (void *)cache_noop; +@@ -175,6 +181,9 @@ static void r4k_blast_dcache_user_page_s { - unsigned long dc_lsize = cpu_dcache_line_size(); + unsigned long dc_lsize = cpu_dcache_line_size(); + if (bcm4710) -+ r4k_blast_dcache_page_indexed = blast_dcache_page_indexed; ++ r4k_blast_dcache_user_page = blast_dcache_user_page; + else if (dc_lsize == 0) - r4k_blast_dcache_page_indexed = (void *)cache_noop; + r4k_blast_dcache_user_page = (void *)cache_noop; else if (dc_lsize == 16) -@@ -227,6 +236,9 @@ static void r4k_blast_dcache_setup(void) +@@ -194,6 +203,9 @@ static void r4k_blast_dcache_setup(void) { unsigned long dc_lsize = cpu_dcache_line_size(); @@ -380,7 +380,7 @@ if (dc_lsize == 0) r4k_blast_dcache = (void *)cache_noop; else if (dc_lsize == 16) -@@ -1826,6 +1838,17 @@ static void coherency_setup(void) +@@ -1669,6 +1681,17 @@ static void coherency_setup(void) * silly idea of putting something else there ... */ switch (current_cpu_type()) { @@ -398,7 +398,7 @@ case CPU_R4000PC: case CPU_R4000SC: case CPU_R4000MC: -@@ -1872,6 +1895,15 @@ void r4k_cache_init(void) +@@ -1715,6 +1738,15 @@ void r4k_cache_init(void) extern void build_copy_page(void); struct cpuinfo_mips *c = ¤t_cpu_data; @@ -414,7 +414,7 @@ probe_pcache(); probe_vcache(); setup_scache(); -@@ -1944,7 +1976,15 @@ void r4k_cache_init(void) +@@ -1777,7 +1809,15 @@ void r4k_cache_init(void) */ local_r4k___flush_cache_all(NULL); @@ -432,7 +432,7 @@ /* --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c -@@ -985,6 +985,9 @@ void build_get_pgde32(u32 **p, unsigned +@@ -958,6 +958,9 @@ void build_get_pgde32(u32 **p, unsigned uasm_i_srl(p, ptr, ptr, SMP_CPUID_PTRSHIFT); uasm_i_addu(p, ptr, tmp, ptr); #else @@ -442,7 +442,7 @@ UASM_i_LA_mostly(p, ptr, pgdc); #endif uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */ -@@ -1347,6 +1350,9 @@ static void build_r4000_tlb_refill_handl +@@ -1304,6 +1307,9 @@ static void build_r4000_tlb_refill_handl #ifdef CONFIG_64BIT build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ #else @@ -452,7 +452,7 @@ build_get_pgde32(&p, K0, K1); /* get pgd in K1 */ #endif -@@ -1358,6 +1364,9 @@ static void build_r4000_tlb_refill_handl +@@ -1315,6 +1321,9 @@ static void build_r4000_tlb_refill_handl build_update_entries(&p, K0, K1); build_tlb_write_entry(&p, &l, &r, tlb_random); uasm_l_leave(&l, p); @@ -462,7 +462,7 @@ uasm_i_eret(&p); /* return from trap */ } #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT -@@ -2059,6 +2068,9 @@ build_r4000_tlbchange_handler_head(u32 * +@@ -2016,6 +2025,9 @@ build_r4000_tlbchange_handler_head(u32 * #ifdef CONFIG_64BIT build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */ #else @@ -472,7 +472,7 @@ build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */ #endif -@@ -2105,6 +2117,9 @@ build_r4000_tlbchange_handler_tail(u32 * +@@ -2062,6 +2074,9 @@ build_r4000_tlbchange_handler_tail(u32 * build_tlb_write_entry(p, l, r, tlb_indexed); uasm_l_leave(l, *p); build_restore_work_registers(p); diff --git a/target/linux/bcm47xx/patches-5.15/160-kmap_coherent.patch b/target/linux/bcm47xx/patches-6.6/160-kmap_coherent.patch similarity index 65% rename from target/linux/bcm47xx/patches-5.15/160-kmap_coherent.patch rename to target/linux/bcm47xx/patches-6.6/160-kmap_coherent.patch index c2a0db8ab78a96..19ab8df7c412ce 100644 --- a/target/linux/bcm47xx/patches-5.15/160-kmap_coherent.patch +++ b/target/linux/bcm47xx/patches-6.6/160-kmap_coherent.patch @@ -20,7 +20,7 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485 * I-Cache snoops remote store. This only matters on SMP. Some multiprocessors --- a/arch/mips/include/asm/mach-bcm47xx/cpu-feature-overrides.h +++ b/arch/mips/include/asm/mach-bcm47xx/cpu-feature-overrides.h -@@ -80,4 +80,6 @@ +@@ -79,4 +79,6 @@ #define cpu_scache_line_size() 0 #define cpu_has_vz 0 @@ -29,16 +29,7 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485 #endif /* __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H */ --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c -@@ -702,7 +702,7 @@ static inline void local_r4k_flush_cache - map_coherent = (cpu_has_dc_aliases && - page_mapcount(page) && - !Page_dcache_dirty(page)); -- if (map_coherent) -+ if (map_coherent && cpu_use_kmap_coherent) - vaddr = kmap_coherent(page, addr); - else - vaddr = kmap_atomic(page); -@@ -729,7 +729,7 @@ static inline void local_r4k_flush_cache +@@ -618,7 +618,7 @@ static inline void local_r4k_flush_cache } if (vaddr) { @@ -49,30 +40,30 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485 kunmap_atomic(vaddr); --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c -@@ -172,7 +172,7 @@ void copy_user_highpage(struct page *to, +@@ -173,7 +173,7 @@ void copy_user_highpage(struct page *to, void *vfrom, *vto; vto = kmap_atomic(to); - if (cpu_has_dc_aliases && + if (cpu_has_dc_aliases && cpu_use_kmap_coherent && - page_mapcount(from) && !Page_dcache_dirty(from)) { + folio_mapped(src) && !folio_test_dcache_dirty(src)) { vfrom = kmap_coherent(from, vaddr); copy_page(vto, vfrom); -@@ -194,7 +194,7 @@ void copy_to_user_page(struct vm_area_st - struct page *page, unsigned long vaddr, void *dst, const void *src, - unsigned long len) +@@ -197,7 +197,7 @@ void copy_to_user_page(struct vm_area_st { + struct folio *folio = page_folio(page); + - if (cpu_has_dc_aliases && + if (cpu_has_dc_aliases && cpu_use_kmap_coherent && - page_mapcount(page) && !Page_dcache_dirty(page)) { + folio_mapped(folio) && !folio_test_dcache_dirty(folio)) { void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK); memcpy(vto, src, len); -@@ -212,7 +212,7 @@ void copy_from_user_page(struct vm_area_ - struct page *page, unsigned long vaddr, void *dst, const void *src, - unsigned long len) +@@ -217,7 +217,7 @@ void copy_from_user_page(struct vm_area_ { + struct folio *folio = page_folio(page); + - if (cpu_has_dc_aliases && + if (cpu_has_dc_aliases && cpu_use_kmap_coherent && - page_mapcount(page) && !Page_dcache_dirty(page)) { + folio_mapped(folio) && !folio_test_dcache_dirty(folio)) { void *vfrom = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK); memcpy(dst, vfrom, len); diff --git a/target/linux/bcm47xx/patches-5.15/209-b44-register-adm-switch.patch b/target/linux/bcm47xx/patches-6.6/209-b44-register-adm-switch.patch similarity index 94% rename from target/linux/bcm47xx/patches-5.15/209-b44-register-adm-switch.patch rename to target/linux/bcm47xx/patches-6.6/209-b44-register-adm-switch.patch index ddf9d0dfb9fbad..bb7637cb01a2e1 100644 --- a/target/linux/bcm47xx/patches-5.15/209-b44-register-adm-switch.patch +++ b/target/linux/bcm47xx/patches-6.6/209-b44-register-adm-switch.patch @@ -19,7 +19,7 @@ Subject: [PATCH 210/210] b44: register adm switch #include #include -@@ -2247,6 +2249,69 @@ static void b44_adjust_link(struct net_d +@@ -2227,6 +2229,69 @@ static void b44_adjust_link(struct net_d } } @@ -89,7 +89,7 @@ Subject: [PATCH 210/210] b44: register adm switch static int b44_register_phy_one(struct b44 *bp) { __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, }; -@@ -2283,6 +2348,9 @@ static int b44_register_phy_one(struct b +@@ -2263,6 +2328,9 @@ static int b44_register_phy_one(struct b if (!mdiobus_is_registered_device(bp->mii_bus, bp->phy_addr) && (sprom->boardflags_lo & (B44_BOARDFLAG_ROBO | B44_BOARDFLAG_ADM))) { @@ -99,7 +99,7 @@ Subject: [PATCH 210/210] b44: register adm switch dev_info(sdev->dev, "could not find PHY at %i, use fixed one\n", bp->phy_addr); -@@ -2477,6 +2545,7 @@ static void b44_remove_one(struct ssb_de +@@ -2457,6 +2525,7 @@ static void b44_remove_one(struct ssb_de unregister_netdev(dev); if (bp->flags & B44_FLAG_EXTERNAL_PHY) b44_unregister_phy_one(bp); diff --git a/target/linux/bcm47xx/patches-5.15/210-b44_phy_fix.patch b/target/linux/bcm47xx/patches-6.6/210-b44_phy_fix.patch similarity index 83% rename from target/linux/bcm47xx/patches-5.15/210-b44_phy_fix.patch rename to target/linux/bcm47xx/patches-6.6/210-b44_phy_fix.patch index 9c16da4f572829..e26f91d12a4ba0 100644 --- a/target/linux/bcm47xx/patches-5.15/210-b44_phy_fix.patch +++ b/target/linux/bcm47xx/patches-6.6/210-b44_phy_fix.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/broadcom/b44.c +++ b/drivers/net/ethernet/broadcom/b44.c -@@ -430,10 +430,34 @@ static void b44_wap54g10_workaround(stru +@@ -408,10 +408,34 @@ static void b44_wap54g10_workaround(stru error: pr_warn("PHY: cannot reset MII transceiver isolate bit\n"); } @@ -35,7 +35,7 @@ #endif static int b44_setup_phy(struct b44 *bp) -@@ -442,6 +466,7 @@ static int b44_setup_phy(struct b44 *bp) +@@ -420,6 +444,7 @@ static int b44_setup_phy(struct b44 *bp) int err; b44_wap54g10_workaround(bp); @@ -43,12 +43,12 @@ if (bp->flags & B44_FLAG_EXTERNAL_PHY) return 0; -@@ -2177,6 +2202,8 @@ static int b44_get_invariants(struct b44 +@@ -2157,6 +2182,8 @@ static int b44_get_invariants(struct b44 * valid PHY address. */ bp->phy_addr &= 0x1F; + b44_bcm47xx_workarounds(bp); + - memcpy(bp->dev->dev_addr, addr, ETH_ALEN); + eth_hw_addr_set(bp->dev, addr); if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){ diff --git a/target/linux/bcm47xx/patches-5.15/280-activate_ssb_support_in_usb.patch b/target/linux/bcm47xx/patches-6.6/280-activate_ssb_support_in_usb.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/280-activate_ssb_support_in_usb.patch rename to target/linux/bcm47xx/patches-6.6/280-activate_ssb_support_in_usb.patch diff --git a/target/linux/bcm47xx/patches-5.15/300-fork_cacheflush.patch b/target/linux/bcm47xx/patches-6.6/300-fork_cacheflush.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/300-fork_cacheflush.patch rename to target/linux/bcm47xx/patches-6.6/300-fork_cacheflush.patch diff --git a/target/linux/bcm47xx/patches-5.15/310-no_highpage.patch b/target/linux/bcm47xx/patches-6.6/310-no_highpage.patch similarity index 93% rename from target/linux/bcm47xx/patches-5.15/310-no_highpage.patch rename to target/linux/bcm47xx/patches-6.6/310-no_highpage.patch index 8f368e3e9eab5c..7a4cd6ed9011f1 100644 --- a/target/linux/bcm47xx/patches-5.15/310-no_highpage.patch +++ b/target/linux/bcm47xx/patches-6.6/310-no_highpage.patch @@ -41,18 +41,19 @@ For details see OpenWrt ticket #2035 https://dev.openwrt.org/ticket/2035 * These are used to make use of C type-checking.. --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c -@@ -166,30 +166,6 @@ void kunmap_coherent(void) +@@ -166,31 +166,6 @@ void kunmap_coherent(void) preempt_enable(); } -void copy_user_highpage(struct page *to, struct page *from, - unsigned long vaddr, struct vm_area_struct *vma) -{ +- struct folio *src = page_folio(from); - void *vfrom, *vto; - - vto = kmap_atomic(to); - if (cpu_has_dc_aliases && cpu_use_kmap_coherent && -- page_mapcount(from) && !Page_dcache_dirty(from)) { +- folio_mapped(src) && !folio_test_dcache_dirty(src)) { - vfrom = kmap_coherent(from, vaddr); - copy_page(vto, vfrom); - kunmap_coherent(); diff --git a/target/linux/bcm47xx/patches-5.15/400-mtd-bcm47xxpart-get-nvram.patch b/target/linux/bcm47xx/patches-6.6/400-mtd-bcm47xxpart-get-nvram.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/400-mtd-bcm47xxpart-get-nvram.patch rename to target/linux/bcm47xx/patches-6.6/400-mtd-bcm47xxpart-get-nvram.patch diff --git a/target/linux/bcm47xx/patches-5.15/700-net-bgmac-connect-to-PHY-even-if-it-is-BGMAC_PHY_NOR.patch b/target/linux/bcm47xx/patches-6.6/700-net-bgmac-connect-to-PHY-even-if-it-is-BGMAC_PHY_NOR.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/700-net-bgmac-connect-to-PHY-even-if-it-is-BGMAC_PHY_NOR.patch rename to target/linux/bcm47xx/patches-6.6/700-net-bgmac-connect-to-PHY-even-if-it-is-BGMAC_PHY_NOR.patch diff --git a/target/linux/bcm47xx/patches-5.15/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch b/target/linux/bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch rename to target/linux/bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch diff --git a/target/linux/bcm47xx/patches-5.15/791-tg3-no-pci-sleep.patch b/target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch similarity index 91% rename from target/linux/bcm47xx/patches-5.15/791-tg3-no-pci-sleep.patch rename to target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch index fb78dca7588528..76e979ad58286e 100644 --- a/target/linux/bcm47xx/patches-5.15/791-tg3-no-pci-sleep.patch +++ b/target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch @@ -5,7 +5,7 @@ when a switch driver is in use. --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -4268,7 +4268,8 @@ static int tg3_power_down_prepare(struct +@@ -4269,7 +4269,8 @@ static int tg3_power_down_prepare(struct static void tg3_power_down(struct tg3 *tp) { pci_wake_from_d3(tp->pdev, tg3_flag(tp, WOL_ENABLE)); diff --git a/target/linux/bcm47xx/patches-5.15/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch b/target/linux/bcm47xx/patches-6.6/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch rename to target/linux/bcm47xx/patches-6.6/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch diff --git a/target/linux/bcm47xx/patches-5.15/820-wgt634u-nvram-fix.patch b/target/linux/bcm47xx/patches-6.6/820-wgt634u-nvram-fix.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/820-wgt634u-nvram-fix.patch rename to target/linux/bcm47xx/patches-6.6/820-wgt634u-nvram-fix.patch diff --git a/target/linux/bcm47xx/patches-5.15/830-huawei_e970_support.patch b/target/linux/bcm47xx/patches-6.6/830-huawei_e970_support.patch similarity index 98% rename from target/linux/bcm47xx/patches-5.15/830-huawei_e970_support.patch rename to target/linux/bcm47xx/patches-6.6/830-huawei_e970_support.patch index 1746fee592cc30..21ab40206fbee3 100644 --- a/target/linux/bcm47xx/patches-5.15/830-huawei_e970_support.patch +++ b/target/linux/bcm47xx/patches-6.6/830-huawei_e970_support.patch @@ -52,7 +52,7 @@ device_initcall(bcm47xx_register_bus_complete); --- a/arch/mips/configs/bcm47xx_defconfig +++ b/arch/mips/configs/bcm47xx_defconfig -@@ -63,6 +63,7 @@ CONFIG_HW_RANDOM=y +@@ -62,6 +62,7 @@ CONFIG_HW_RANDOM=y CONFIG_GPIO_SYSFS=y CONFIG_WATCHDOG=y CONFIG_BCM47XX_WDT=y diff --git a/target/linux/bcm47xx/patches-5.15/831-old_gpio_wdt.patch b/target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch similarity index 99% rename from target/linux/bcm47xx/patches-5.15/831-old_gpio_wdt.patch rename to target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch index cb3bd0f263c0e9..6c76cbeee7fb65 100644 --- a/target/linux/bcm47xx/patches-5.15/831-old_gpio_wdt.patch +++ b/target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch @@ -4,7 +4,7 @@ Signed-off-by: Mathias Adam --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -1664,6 +1664,15 @@ config WDT_MTX1 +@@ -1755,6 +1755,15 @@ config WDT_MTX1 Hardware driver for the MTX-1 boards. This is a watchdog timer that will reboot the machine after a 100 seconds timer expired. @@ -22,7 +22,7 @@ Signed-off-by: Mathias Adam depends on CPU_SB1 --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile -@@ -159,6 +159,7 @@ obj-$(CONFIG_RC32434_WDT) += rc32434_wdt +@@ -167,6 +167,7 @@ obj-$(CONFIG_RC32434_WDT) += rc32434_wdt obj-$(CONFIG_INDYDOG) += indydog.o obj-$(CONFIG_JZ4740_WDT) += jz4740_wdt.o obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o diff --git a/target/linux/bcm47xx/patches-5.15/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch b/target/linux/bcm47xx/patches-6.6/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch rename to target/linux/bcm47xx/patches-6.6/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch diff --git a/target/linux/bcm47xx/patches-5.15/940-bcm47xx-yenta.patch b/target/linux/bcm47xx/patches-6.6/940-bcm47xx-yenta.patch similarity index 82% rename from target/linux/bcm47xx/patches-5.15/940-bcm47xx-yenta.patch rename to target/linux/bcm47xx/patches-6.6/940-bcm47xx-yenta.patch index 1a5b98b8b214ad..f1b46c2ce4a9a0 100644 --- a/target/linux/bcm47xx/patches-5.15/940-bcm47xx-yenta.patch +++ b/target/linux/bcm47xx/patches-6.6/940-bcm47xx-yenta.patch @@ -1,6 +1,6 @@ --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c -@@ -923,6 +923,8 @@ static struct cardbus_type cardbus_type[ +@@ -925,6 +925,8 @@ static struct cardbus_type cardbus_type[ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mask) { @@ -9,7 +9,7 @@ int i; unsigned long val; u32 mask; -@@ -951,6 +953,9 @@ static unsigned int yenta_probe_irq(stru +@@ -953,6 +955,9 @@ static unsigned int yenta_probe_irq(stru mask = probe_irq_mask(val) & 0xffff; return mask; @@ -19,7 +19,7 @@ } -@@ -1031,6 +1036,10 @@ static void yenta_get_socket_capabilitie +@@ -1033,6 +1038,10 @@ static void yenta_get_socket_capabilitie else socket->socket.irq_mask = 0; @@ -30,7 +30,7 @@ dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n", socket->socket.irq_mask, socket->cb_irq); } -@@ -1262,6 +1271,15 @@ static int yenta_probe(struct pci_dev *d +@@ -1264,6 +1273,15 @@ static int yenta_probe(struct pci_dev *d dev_info(&dev->dev, "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE)); diff --git a/target/linux/bcm47xx/patches-5.15/976-ssb_increase_pci_delay.patch b/target/linux/bcm47xx/patches-6.6/976-ssb_increase_pci_delay.patch similarity index 100% rename from target/linux/bcm47xx/patches-5.15/976-ssb_increase_pci_delay.patch rename to target/linux/bcm47xx/patches-6.6/976-ssb_increase_pci_delay.patch diff --git a/target/linux/bcm47xx/patches-5.15/999-wl_exports.patch b/target/linux/bcm47xx/patches-6.6/999-wl_exports.patch similarity index 92% rename from target/linux/bcm47xx/patches-5.15/999-wl_exports.patch rename to target/linux/bcm47xx/patches-6.6/999-wl_exports.patch index b47913af70eef5..72be4987769403 100644 --- a/target/linux/bcm47xx/patches-5.15/999-wl_exports.patch +++ b/target/linux/bcm47xx/patches-6.6/999-wl_exports.patch @@ -12,7 +12,7 @@ static int cfe_env; --- a/arch/mips/mm/cache.c +++ b/arch/mips/mm/cache.c -@@ -63,6 +63,9 @@ void (*_dma_cache_wback_inv)(unsigned lo +@@ -80,6 +80,9 @@ void (*_dma_cache_wback_inv)(unsigned lo void (*_dma_cache_wback)(unsigned long start, unsigned long size); void (*_dma_cache_inv)(unsigned long start, unsigned long size); diff --git a/target/linux/d1/Makefile b/target/linux/d1/Makefile index 69e28d48116d49..a60af57afac491 100644 --- a/target/linux/d1/Makefile +++ b/target/linux/d1/Makefile @@ -11,7 +11,7 @@ FEATURES:=ext4 squashfs KERNELNAME:=Image dtbs SUBTARGETS:=generic -KERNEL_PATCHVER:=6.1 +KERNEL_PATCHVER:=6.6 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/d1/config-6.1 b/target/linux/d1/config-6.6 similarity index 94% rename from target/linux/d1/config-6.1 rename to target/linux/d1/config-6.6 index ef2112f706d0cd..957c3fba4d91f7 100644 --- a/target/linux/d1/config-6.1 +++ b/target/linux/d1/config-6.6 @@ -1,4 +1,5 @@ CONFIG_64BIT=y +# CONFIG_ACPI is not set # CONFIG_AHCI_SUNXI is not set CONFIG_ARCH_CLOCKSOURCE_INIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y @@ -13,9 +14,11 @@ CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_STACKWALK=y CONFIG_ARCH_SUNXI=y +# CONFIG_ARCH_THEAD is not set CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_ASN1=y CONFIG_ASSOCIATIVE_ARRAY=y +# CONFIG_AX45MP_L2_CACHE is not set CONFIG_BLK_DEV_SD=y CONFIG_BLK_MQ_PCI=y CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y @@ -70,6 +73,7 @@ CONFIG_EFI_STUB=y # CONFIG_EFI_TEST is not set # CONFIG_EFI_ZBOOT is not set CONFIG_ELF_CORE=y +# CONFIG_ERRATA_ANDES is not set # CONFIG_ERRATA_SIFIVE is not set CONFIG_ERRATA_THEAD=y CONFIG_ERRATA_THEAD_CMO=y @@ -145,11 +149,13 @@ CONFIG_IOMMU_API=y CONFIG_IOMMU_DEFAULT_DMA_STRICT=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +# CONFIG_IOMMUFD is not set CONFIG_IO_URING=y CONFIG_IRQCHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_STACKS=y CONFIG_IRQ_WORK=y CONFIG_JBD2=y CONFIG_KALLSYMS=y @@ -288,8 +294,14 @@ CONFIG_RISCV_BOOT_SPINWAIT=y CONFIG_RISCV_DMA_NONCOHERENT=y CONFIG_RISCV_INTC=y CONFIG_RISCV_ISA_C=y +CONFIG_RISCV_ISA_FALLBACK=y +CONFIG_RISCV_ISA_SVNAPOT=y CONFIG_RISCV_ISA_SVPBMT=y +CONFIG_RISCV_ISA_V=y +CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y +CONFIG_RISCV_ISA_ZBB=y CONFIG_RISCV_ISA_ZICBOM=y +CONFIG_RISCV_ISA_ZICBOZ=y CONFIG_RISCV_SBI=y CONFIG_RISCV_SBI_V01=y CONFIG_RISCV_TIMER=y @@ -315,6 +327,7 @@ CONFIG_SIFIVE_PLIC=y CONFIG_SLUB_DEBUG=y CONFIG_SMP=y # CONFIG_SND_SUN20I_CODEC is not set +# CONFIG_SND_SUN20I_D1_CODEC_ANALOG is not set # CONFIG_SND_SUN4I_I2S is not set # CONFIG_SND_SUN50I_DMIC is not set CONFIG_SOCK_RX_QUEUE_MAPPING=y @@ -337,6 +350,7 @@ CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y CONFIG_SUN20I_D1_CCU=y CONFIG_SUN20I_D1_R_CCU=y +CONFIG_SUN20I_GPADC=y # CONFIG_SUN4I_EMAC is not set CONFIG_SUN4I_TIMER=y CONFIG_SUN50I_IOMMU=y @@ -344,7 +358,7 @@ CONFIG_SUN6I_MSGBOX=y CONFIG_SUN6I_RTC_CCU=y CONFIG_SUN8I_DE2_CCU=y # CONFIG_SUN8I_R_CCU is not set -# CONFIG_SUN8I_THERMAL is not set +CONFIG_SUN8I_THERMAL=y CONFIG_SUNXI_CCU=y # CONFIG_SUNXI_RSB is not set CONFIG_SUNXI_SRAM=y @@ -354,7 +368,14 @@ CONFIG_SWPHY=y CONFIG_SYSCTL_EXCEPTION_TRACE=y # CONFIG_SYSFB_SIMPLEFB is not set CONFIG_SYSFS_SYSCALL=y +CONFIG_THERMAL=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_THREAD_SIZE_ORDER=2 CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y diff --git a/target/linux/d1/patches-6.1/0001-dt-bindings-net-bluetooth-realtek-Add-RTL8723DS.patch b/target/linux/d1/patches-6.1/0001-dt-bindings-net-bluetooth-realtek-Add-RTL8723DS.patch deleted file mode 100644 index 6636cddde6beb1..00000000000000 --- a/target/linux/d1/patches-6.1/0001-dt-bindings-net-bluetooth-realtek-Add-RTL8723DS.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e663d510ae6a81694a8e9e1ce07bb80dd6b77558 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 24 Jul 2022 17:12:07 -0500 -Subject: [PATCH 001/117] dt-bindings: net: bluetooth: realtek: Add RTL8723DS - -RTL8723DS is another version of the RTL8723 WiFi + Bluetooth chip. It is -already supported by the hci_uart/btrtl driver. Document the compatible. - -Series-to: Marcel Holtmann -Series-to: Johan Hedberg -Series-to: Luiz Augusto von Dentz -Series-to: David S. Miller -Series-to: Eric Dumazet -Series-to: Jakub Kicinski -Series-to: Paolo Abeni -Series-cc: linux-bluetooth@vger.kernel.org - -Signed-off-by: Samuel Holland ---- - Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + - 1 file changed, 1 insertion(+) - ---- a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml -+++ b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml -@@ -20,6 +20,7 @@ properties: - enum: - - realtek,rtl8723bs-bt - - realtek,rtl8723cs-bt -+ - realtek,rtl8723ds-bt - - realtek,rtl8822cs-bt - - device-wake-gpios: diff --git a/target/linux/d1/patches-6.1/0002-clk-sunxi-ng-mp-Avoid-computing-the-rate-twice.patch b/target/linux/d1/patches-6.1/0002-clk-sunxi-ng-mp-Avoid-computing-the-rate-twice.patch deleted file mode 100644 index 22d4885e291f1a..00000000000000 --- a/target/linux/d1/patches-6.1/0002-clk-sunxi-ng-mp-Avoid-computing-the-rate-twice.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 74492b9ecd874496578693d9985649665b560308 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 7 Aug 2022 20:08:49 -0500 -Subject: [PATCH 002/117] clk: sunxi-ng: mp: Avoid computing the rate twice - -ccu_mp_find_best() already computes a best_rate at the same time as the -best m and p factors. Return it so the caller does not need to duplicate -the division. - -Series-to: Chen-Yu Tsai -Series-to: Jernej Skrabec - -Signed-off-by: Samuel Holland ---- - drivers/clk/sunxi-ng/ccu_mp.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - ---- a/drivers/clk/sunxi-ng/ccu_mp.c -+++ b/drivers/clk/sunxi-ng/ccu_mp.c -@@ -10,9 +10,9 @@ - #include "ccu_gate.h" - #include "ccu_mp.h" - --static void ccu_mp_find_best(unsigned long parent, unsigned long rate, -- unsigned int max_m, unsigned int max_p, -- unsigned int *m, unsigned int *p) -+static unsigned long ccu_mp_find_best(unsigned long parent, unsigned long rate, -+ unsigned int max_m, unsigned int max_p, -+ unsigned int *m, unsigned int *p) - { - unsigned long best_rate = 0; - unsigned int best_m = 0, best_p = 0; -@@ -35,6 +35,8 @@ static void ccu_mp_find_best(unsigned lo - - *m = best_m; - *p = best_p; -+ -+ return best_rate; - } - - static unsigned long ccu_mp_find_best_with_parent_adj(struct clk_hw *hw, -@@ -109,8 +111,7 @@ static unsigned long ccu_mp_round_rate(s - max_p = cmp->p.max ?: 1 << ((1 << cmp->p.width) - 1); - - if (!clk_hw_can_set_rate_parent(&cmp->common.hw)) { -- ccu_mp_find_best(*parent_rate, rate, max_m, max_p, &m, &p); -- rate = *parent_rate / p / m; -+ rate = ccu_mp_find_best(*parent_rate, rate, max_m, max_p, &m, &p); - } else { - rate = ccu_mp_find_best_with_parent_adj(hw, parent_rate, rate, - max_m, max_p); diff --git a/target/linux/d1/patches-6.1/0003-dt-bindings-net-sun8i-emac-Add-phy-supply-property.patch b/target/linux/d1/patches-6.1/0003-dt-bindings-net-sun8i-emac-Add-phy-supply-property.patch deleted file mode 100644 index ec3f553b51b579..00000000000000 --- a/target/linux/d1/patches-6.1/0003-dt-bindings-net-sun8i-emac-Add-phy-supply-property.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 7185f7b424dfd9082bf0859a60b98a2dbd784ed6 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 5 Sep 2022 16:45:44 -0500 -Subject: [PATCH 003/117] dt-bindings: net: sun8i-emac: Add phy-supply property - -Signed-off-by: Samuel Holland ---- - .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml -+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml -@@ -40,6 +40,9 @@ properties: - clock-names: - const: stmmaceth - -+ phy-supply: -+ description: PHY regulator -+ - syscon: - $ref: /schemas/types.yaml#/definitions/phandle - description: diff --git a/target/linux/d1/patches-6.1/0004-dt-bindings-net-sun8i-emac-Add-properties-from-dwmac.patch b/target/linux/d1/patches-6.1/0004-dt-bindings-net-sun8i-emac-Add-properties-from-dwmac.patch deleted file mode 100644 index 9ac335ae3e0488..00000000000000 --- a/target/linux/d1/patches-6.1/0004-dt-bindings-net-sun8i-emac-Add-properties-from-dwmac.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d20bb97fac77e4d88424043627c769427fc0d35e Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 5 Sep 2022 16:46:34 -0500 -Subject: [PATCH 004/117] dt-bindings: net: sun8i-emac: Add properties from - dwmac binding - -Signed-off-by: Samuel Holland ---- - .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml -+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml -@@ -40,6 +40,9 @@ properties: - clock-names: - const: stmmaceth - -+ resets: true -+ reset-names: true -+ - phy-supply: - description: PHY regulator - -@@ -49,6 +52,8 @@ properties: - Phandle to the device containing the EMAC or GMAC clock - register - -+ mdio: true -+ - required: - - compatible - - reg diff --git a/target/linux/d1/patches-6.1/0005-dt-bindings-display-sun8i-a83t-dw-hdmi-Remove-phy-ce.patch b/target/linux/d1/patches-6.1/0005-dt-bindings-display-sun8i-a83t-dw-hdmi-Remove-phy-ce.patch deleted file mode 100644 index 402f291674bfff..00000000000000 --- a/target/linux/d1/patches-6.1/0005-dt-bindings-display-sun8i-a83t-dw-hdmi-Remove-phy-ce.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c99d1e681dc460892004054a314fa7f929f43490 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sat, 13 Aug 2022 10:45:59 -0500 -Subject: [PATCH 005/117] dt-bindings: display: sun8i-a83t-dw-hdmi: Remove - #phy-cells - -This device is not a PHY, and none of the nodes using this schema -contain a #phy-cells property. Likely this was a copy/paste error -introduced during the YAML conversion. - -Fixes: f5a98bfe7b37 ("dt-bindings: display: Convert Allwinner display pipeline to schemas") -Signed-off-by: Samuel Holland ---- - .../bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml | 3 --- - 1 file changed, 3 deletions(-) - ---- a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml -+++ b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml -@@ -20,9 +20,6 @@ maintainers: - - Maxime Ripard - - properties: -- "#phy-cells": -- const: 0 -- - compatible: - oneOf: - - const: allwinner,sun8i-a83t-dw-hdmi diff --git a/target/linux/d1/patches-6.1/0006-dt-bindings-display-Add-D1-HDMI-compatibles.patch b/target/linux/d1/patches-6.1/0006-dt-bindings-display-Add-D1-HDMI-compatibles.patch deleted file mode 100644 index b62e45c09f8ae1..00000000000000 --- a/target/linux/d1/patches-6.1/0006-dt-bindings-display-Add-D1-HDMI-compatibles.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e214b79d45cccdd0cfe839e54da2b3c82b6c6be4 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Thu, 31 Mar 2022 23:43:15 -0500 -Subject: [PATCH 006/117] dt-bindings: display: Add D1 HDMI compatibles - -Allwinner D1 contains a DesignWare HDMI controller with some changes in -platform integration, and a new HDMI PHY. Add their compatibles. - -Signed-off-by: Samuel Holland ---- - .../bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml | 1 + - .../bindings/display/allwinner,sun8i-a83t-hdmi-phy.yaml | 1 + - 2 files changed, 2 insertions(+) - ---- a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml -+++ b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml -@@ -29,6 +29,7 @@ properties: - - enum: - - allwinner,sun8i-h3-dw-hdmi - - allwinner,sun8i-r40-dw-hdmi -+ - allwinner,sun20i-d1-dw-hdmi - - allwinner,sun50i-a64-dw-hdmi - - const: allwinner,sun8i-a83t-dw-hdmi - ---- a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-hdmi-phy.yaml -+++ b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-hdmi-phy.yaml -@@ -19,6 +19,7 @@ properties: - - allwinner,sun8i-a83t-hdmi-phy - - allwinner,sun8i-h3-hdmi-phy - - allwinner,sun8i-r40-hdmi-phy -+ - allwinner,sun20i-d1-hdmi-phy - - allwinner,sun50i-a64-hdmi-phy - - allwinner,sun50i-h6-hdmi-phy - diff --git a/target/linux/d1/patches-6.1/0007-drm-sun4i-Add-support-for-D1-HDMI.patch b/target/linux/d1/patches-6.1/0007-drm-sun4i-Add-support-for-D1-HDMI.patch deleted file mode 100644 index b55c3a3f20d941..00000000000000 --- a/target/linux/d1/patches-6.1/0007-drm-sun4i-Add-support-for-D1-HDMI.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 75dc74ecc1bf5e270659c6c78877053b50e6ae19 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Wed, 30 Mar 2022 21:24:21 -0500 -Subject: [PATCH 007/117] drm/sun4i: Add support for D1 HDMI - -D1's HDMI controller contains some platform integration changes. -It now has no external TMDS clock. The controller also supports HDCP -without an external clock or reset. - -While the maximum HDMI frequency is not explicity stated, the BSP PHY -driver provides PLL configurations only up to 297 MHz, so use that as -the max frequency. - -Signed-off-by: Samuel Holland ---- - drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c -+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c -@@ -133,7 +133,7 @@ static int sun8i_dw_hdmi_bind(struct dev - return dev_err_probe(dev, PTR_ERR(hdmi->rst_ctrl), - "Could not get ctrl reset control\n"); - -- hdmi->clk_tmds = devm_clk_get(dev, "tmds"); -+ hdmi->clk_tmds = devm_clk_get_optional(dev, "tmds"); - if (IS_ERR(hdmi->clk_tmds)) - return dev_err_probe(dev, PTR_ERR(hdmi->clk_tmds), - "Couldn't get the tmds clock\n"); -@@ -246,6 +246,11 @@ static const struct sun8i_dw_hdmi_quirks - .mode_valid = sun8i_dw_hdmi_mode_valid_a83t, - }; - -+static const struct sun8i_dw_hdmi_quirks sun20i_d1_quirks = { -+ .mode_valid = sun8i_dw_hdmi_mode_valid_a83t, -+ .use_drm_infoframe = true, -+}; -+ - static const struct sun8i_dw_hdmi_quirks sun50i_h6_quirks = { - .mode_valid = sun8i_dw_hdmi_mode_valid_h6, - .use_drm_infoframe = true, -@@ -257,6 +262,10 @@ static const struct of_device_id sun8i_d - .data = &sun8i_a83t_quirks, - }, - { -+ .compatible = "allwinner,sun20i-d1-dw-hdmi", -+ .data = &sun20i_d1_quirks, -+ }, -+ { - .compatible = "allwinner,sun50i-h6-dw-hdmi", - .data = &sun50i_h6_quirks, - }, diff --git a/target/linux/d1/patches-6.1/0008-drm-sun4i-sun8i-hdmi-phy-Add-support-for-D1-PHY.patch b/target/linux/d1/patches-6.1/0008-drm-sun4i-sun8i-hdmi-phy-Add-support-for-D1-PHY.patch deleted file mode 100644 index e8007cc5c41e61..00000000000000 --- a/target/linux/d1/patches-6.1/0008-drm-sun4i-sun8i-hdmi-phy-Add-support-for-D1-PHY.patch +++ /dev/null @@ -1,251 +0,0 @@ -From 11f9765a8e6723bcb7243f6dbc48e6deaf17b097 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 3 Apr 2022 15:15:41 -0500 -Subject: [PATCH 008/117] drm/sun4i: sun8i-hdmi-phy: Add support for D1 PHY - -Signed-off-by: Samuel Holland ---- - drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h | 169 +++++++++++++++++++++++++ - drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 32 +++++ - 2 files changed, 201 insertions(+) - ---- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h -+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h -@@ -145,6 +145,175 @@ - - #define SUN8I_HDMI_PHY_CEC_REG 0x003c - -+#define SUN20I_HDMI_PHY_CTL0_REG 0x0040 -+#define SUN20I_HDMI_PHY_CTL0_PLL_LOCK_MODE_MAN BIT(31) -+#define SUN20I_HDMI_PHY_CTL0_PLL_LOCK_MODE BIT(30) -+#define SUN20I_HDMI_PHY_CTL0_FIFO_WORKC_EN BIT(29) -+#define SUN20I_HDMI_PHY_CTL0_FIFO_AUTOSYNC_DIS BIT(28) -+#define SUN20I_HDMI_PHY_CTL0_ENTX GENMASK(27, 24) -+#define SUN20I_HDMI_PHY_CTL0_ENBI GENMASK(23, 20) -+#define SUN20I_HDMI_PHY_CTL0_ENLDO BIT(18) -+#define SUN20I_HDMI_PHY_CTL0_ENLDO_FS BIT(17) -+#define SUN20I_HDMI_PHY_CTL0_ENCK BIT(16) -+#define SUN20I_HDMI_PHY_CTL0_REG_PLR GENMASK(15, 12) -+#define SUN20I_HDMI_PHY_CTL0_REG_DEN GENMASK(11, 8) -+#define SUN20I_HDMI_PHY_CTL0_REG_CSMPS GENMASK(7, 6) -+#define SUN20I_HDMI_PHY_CTL0_REG_CK_TEST_SEL BIT(5) -+#define SUN20I_HDMI_PHY_CTL0_REG_CK_SEL BIT(4) -+#define SUN20I_HDMI_PHY_CTL0_HPD_EN BIT(2) -+#define SUN20I_HDMI_PHY_CTL0_SCL_EN BIT(1) -+#define SUN20I_HDMI_PHY_CTL0_SDA_EN BIT(0) -+ -+#define SUN20I_HDMI_PHY_CTL1_REG 0x0044 -+#define SUN20I_HDMI_PHY_CTL1_RXSENSE_MODE_MAN BIT(31) -+#define SUN20I_HDMI_PHY_CTL1_RXSENSE_MODE BIT(30) -+#define SUN20I_HDMI_PHY_CTL1_RES_S GENMASK(29, 28) -+#define SUN20I_HDMI_PHY_CTL1_RES_SCKTMDS BIT(27) -+#define SUN20I_HDMI_PHY_CTL1_REG_SWI BIT(26) -+#define SUN20I_HDMI_PHY_CTL1_REG_SVR GENMASK(25, 24) -+#define SUN20I_HDMI_PHY_CTL1_REG_BST2 GENMASK(21, 20) -+#define SUN20I_HDMI_PHY_CTL1_REG_BST1 GENMASK(19, 18) -+#define SUN20I_HDMI_PHY_CTL1_REG_BST0 GENMASK(17, 16) -+#define SUN20I_HDMI_PHY_CTL1_REG_SP2_3 GENMASK(15, 12) -+#define SUN20I_HDMI_PHY_CTL1_REG_SP2_2 GENMASK(11, 8) -+#define SUN20I_HDMI_PHY_CTL1_REG_SP2_1 GENMASK(7, 4) -+#define SUN20I_HDMI_PHY_CTL1_REG_SP2_0 GENMASK(3, 0) -+ -+#define SUN20I_HDMI_PHY_CTL2_REG 0x0048 -+#define SUN20I_HDMI_PHY_CTL2_HPDO_MODE_MAN BIT(31) -+#define SUN20I_HDMI_PHY_CTL2_HPDO_MODE BIT(30) -+#define SUN20I_HDMI_PHY_CTL2_REG_RESDI GENMASK(29, 24) -+#define SUN20I_HDMI_PHY_CTL2_REG_SP1_3 GENMASK(23, 19) -+#define SUN20I_HDMI_PHY_CTL2_REG_SP1_2 GENMASK(18, 14) -+#define SUN20I_HDMI_PHY_CTL2_REG_SP1_1 GENMASK(13, 9) -+#define SUN20I_HDMI_PHY_CTL2_REG_SP1_0 GENMASK(8, 4) -+#define SUN20I_HDMI_PHY_CTL2_REG_P2OPT GENMASK(3, 0) -+ -+#define SUN20I_HDMI_PHY_CTL3_REG 0x004c -+#define SUN20I_HDMI_PHY_CTL3_REG_P2_3 GENMASK(31, 28) -+#define SUN20I_HDMI_PHY_CTL3_REG_P2_2 GENMASK(27, 24) -+#define SUN20I_HDMI_PHY_CTL3_REG_P2_1 GENMASK(23, 20) -+#define SUN20I_HDMI_PHY_CTL3_REG_P2_0 GENMASK(19, 16) -+#define SUN20I_HDMI_PHY_CTL3_REG_MC3 GENMASK(15, 12) -+#define SUN20I_HDMI_PHY_CTL3_REG_MC2 GENMASK(11, 8) -+#define SUN20I_HDMI_PHY_CTL3_REG_MC1 GENMASK(7, 4) -+#define SUN20I_HDMI_PHY_CTL3_REG_MC0 GENMASK(3, 0) -+ -+#define SUN20I_HDMI_PHY_CTL4_REG 0x0050 -+#define SUN20I_HDMI_PHY_CTL4_REG_SLV GENMASK(31, 29) -+#define SUN20I_HDMI_PHY_CTL4_REG_P1_3 GENMASK(28, 24) -+#define SUN20I_HDMI_PHY_CTL4_REG_P1_2 GENMASK(20, 16) -+#define SUN20I_HDMI_PHY_CTL4_REG_P1_1 GENMASK(12, 8) -+#define SUN20I_HDMI_PHY_CTL4_REG_P1_0 GENMASK(4, 0) -+ -+#define SUN20I_HDMI_PHY_CTL5_REG 0x0054 -+#define SUN20I_HDMI_PHY_CTL5_REG_P1OPT GENMASK(19, 16) -+#define SUN20I_HDMI_PHY_CTL5_REG_CKPDLYOPT BIT(12) -+#define SUN20I_HDMI_PHY_CTL5_REG_CALSW BIT(11) -+#define SUN20I_HDMI_PHY_CTL5_ENRESCK BIT(10) -+#define SUN20I_HDMI_PHY_CTL5_ENRES BIT(9) -+#define SUN20I_HDMI_PHY_CTL5_ENRCAL BIT(8) -+#define SUN20I_HDMI_PHY_CTL5_ENP2S GENMASK(7, 4) -+#define SUN20I_HDMI_PHY_CTL5_ENIB BIT(1) -+#define SUN20I_HDMI_PHY_CTL5_ENCALOG BIT(0) -+ -+#define SUN20I_HDMI_PLL_CTL0_REG 0x0058 -+#define SUN20I_HDMI_PLL_CTL0_CKO_SEL GENMASK(31, 30) -+#define SUN20I_HDMI_PLL_CTL0_BYPASS_PPLL BIT(29) -+#define SUN20I_HDMI_PLL_CTL0_ENVBS BIT(28) -+#define SUN20I_HDMI_PLL_CTL0_SLV GENMASK(26, 24) -+#define SUN20I_HDMI_PLL_CTL0_BCR BIT(23) -+#define SUN20I_HDMI_PLL_CTL0_BYPASS_CLRDPTH BIT(22) -+#define SUN20I_HDMI_PLL_CTL0_CLR_DPTH GENMASK(21, 20) -+#define SUN20I_HDMI_PLL_CTL0_CUTFB BIT(18) -+#define SUN20I_HDMI_PLL_CTL0_DIV2_CKBIT BIT(17) -+#define SUN20I_HDMI_PLL_CTL0_DIV2_CKTMDS BIT(16) -+#define SUN20I_HDMI_PLL_CTL0_DIV_PRE GENMASK(15, 12) -+#define SUN20I_HDMI_PLL_CTL0_DIVX1 BIT(10) -+#define SUN20I_HDMI_PLL_CTL0_SDRVEN BIT(9) -+#define SUN20I_HDMI_PLL_CTL0_VCORANGE BIT(8) -+#define SUN20I_HDMI_PLL_CTL0_N_CNTRL GENMASK(7, 6) -+#define SUN20I_HDMI_PLL_CTL0_GMP_CNTRL GENMASK(5, 4) -+#define SUN20I_HDMI_PLL_CTL0_PROP_CNTRL GENMASK(2, 0) -+ -+#define SUN20I_HDMI_PLL_CTL1_REG 0x005c -+#define SUN20I_HDMI_PLL_CTL1_CTRL_MODLE_CLKSRC BIT(31) -+#define SUN20I_HDMI_PLL_CTL1_PCNT_N GENMASK(27, 20) -+#define SUN20I_HDMI_PLL_CTL1_PCNT_EN BIT(19) -+#define SUN20I_HDMI_PLL_CTL1_SDM_EN BIT(18) -+#define SUN20I_HDMI_PLL_CTL1_PIXEL_REP GENMASK(17, 16) -+#define SUN20I_HDMI_PLL_CTL1_PWRON BIT(12) -+#define SUN20I_HDMI_PLL_CTL1_RESET BIT(11) -+#define SUN20I_HDMI_PLL_CTL1_SCKREF BIT(10) -+#define SUN20I_HDMI_PLL_CTL1_SCKFB BIT(9) -+#define SUN20I_HDMI_PLL_CTL1_DRV_ANA BIT(8) -+#define SUN20I_HDMI_PLL_CTL1_FAST_TECH BIT(7) -+#define SUN20I_HDMI_PLL_CTL1_GEAR_SHIFT BIT(6) -+#define SUN20I_HDMI_PLL_CTL1_REF_CNTRL GENMASK(5, 4) -+#define SUN20I_HDMI_PLL_CTL1_INT_CNTRL GENMASK(2, 0) -+ -+#define SUN20I_HDMI_AFIFO_CFG_REG 0x0060 -+#define SUN20I_HDMI_AFIFO_CFG_AFIFO_ERROR BIT(0) -+#define SUN20I_HDMI_AFIFO_CFG_AFIFO_ERROR_DET BIT(1) -+ -+#define SUN20I_HDMI_MODULATOR_CFG0_REG 0x0064 -+#define SUN20I_HDMI_MODULATOR_CFG1_REG 0x0068 -+ -+#define SUN20I_HDMI_INDEB_CTRL_REG 0x006c -+#define SUN20I_HDMI_INDEB_CTRL_HPDI_DEBUGMODE BIT(29) -+#define SUN20I_HDMI_INDEB_CTRL_HPDI_DEBUG BIT(28) -+#define SUN20I_HDMI_INDEB_CTRL_SDAI_DEBUGMODE BIT(25) -+#define SUN20I_HDMI_INDEB_CTRL_SDAI_DEBUG BIT(24) -+#define SUN20I_HDMI_INDEB_CTRL_SCLI_DEBUGMODE BIT(21) -+#define SUN20I_HDMI_INDEB_CTRL_SCLI_DEBUG BIT(20) -+#define SUN20I_HDMI_INDEB_CTRL_CECI_DEBUGMODE BIT(17) -+#define SUN20I_HDMI_INDEB_CTRL_CECI_DEBUG BIT(16) -+#define SUN20I_HDMI_INDEB_CTRL_TXDATA_DEBUGMODE GENMASK(1, 0) -+ -+#define SUN20I_HDMI_INDBG_TXD0_REG 0x0070 -+#define SUN20I_HDMI_INDBG_TXD1_REG 0x0074 -+#define SUN20I_HDMI_INDBG_TXD2_REG 0x0078 -+#define SUN20I_HDMI_INDBG_TXD3_REG 0x007c -+ -+#define SUN20I_HDMI_PLL_STS_REG 0x0080 -+#define SUN20I_HDMI_PLL_STS_PHY_CDETPCK_STATUS BIT(31) -+#define SUN20I_HDMI_PLL_STS_PHY_CDETP_STATUS GENMASK(30, 28) -+#define SUN20I_HDMI_PLL_STS_PHY_CDETNCK_STATUS BIT(27) -+#define SUN20I_HDMI_PLL_STS_PHY_CDETN_STATUS GENMASK(26, 24) -+#define SUN20I_HDMI_PLL_STS_PHY_HPDO_STATUS BIT(23) -+#define SUN20I_HDMI_PLL_STS_PHY_SCLO_STATUS BIT(22) -+#define SUN20I_HDMI_PLL_STS_PHY_SDAO_STATUS BIT(21) -+#define SUN20I_HDMI_PLL_STS_PHY_CECO_STATUS BIT(20) -+#define SUN20I_HDMI_PLL_STS_PHY_COUT2D_STATUS BIT(17) -+#define SUN20I_HDMI_PLL_STS_PHY_RCALEND2D_STS BIT(16) -+#define SUN20I_HDMI_PLL_STS_PHY_RESDO2D_STATUS GENMASK(13, 8) -+#define SUN20I_HDMI_PLL_STS_PLL_LOCK_STATUS BIT(4) -+#define SUN20I_HDMI_PLL_STS_RXSENSE_DLY_STATUS BIT(1) -+#define SUN20I_HDMI_PLL_STS_TX_READY_DLY_STATUS BIT(0) -+ -+#define SUN20I_HDMI_PRBS_CTL_REG 0x0084 -+#define SUN20I_HDMI_PRBS_SEED_GEN_REG 0x0088 -+#define SUN20I_HDMI_PRBS_SEED_CHK_REG 0x008c -+#define SUN20I_HDMI_PRBS_SEED_NUM_REG 0x0090 -+#define SUN20I_HDMI_PRBS_CYCLE_NUM_REG 0x0094 -+ -+#define SUN20I_HDMI_PLL_ODLY_REG 0x0098 -+#define SUN20I_HDMI_PLL_ODLY_RXSENSE_DLY_RESET BIT(31) -+#define SUN20I_HDMI_PLL_ODLY_RXSENSE_DLY_COUNT GENMASK(30, 16) -+#define SUN20I_HDMI_PLL_ODLY_TX_READY_DLY_RESET BIT(15) -+#define SUN20I_HDMI_PLL_ODLY_TX_READY_DLY_COUNT GENMASK(14, 0) -+ -+#define SUN20I_HDMI_PHY_CTL6_REG 0x009c -+#define SUN20I_HDMI_PHY_CTL6_SWITCH_CLKCH_DATA BIT(31) -+#define SUN20I_HDMI_PHY_CTL6_EN_CKDAT BIT(30) -+#define SUN20I_HDMI_PHY_CTL6_CLK_GREATE2_340M GENMASK(29, 20) -+#define SUN20I_HDMI_PHY_CTL6_CLK_GREATE1_340M GENMASK(19, 10) -+#define SUN20I_HDMI_PHY_CTL6_CLK_GREATE0_340M GENMASK(9, 0) -+ -+#define SUN20I_HDMI_PHY_CTL7_REG 0x00a0 -+#define SUN20I_HDMI_PHY_CTL7_CLK_LOW_340M GENMASK(21, 12) -+#define SUN20I_HDMI_PHY_CTL7_CLK_GREATE3_340M GENMASK(9, 0) -+ - struct sun8i_hdmi_phy; - - struct sun8i_hdmi_phy_variant { ---- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c -+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c -@@ -398,6 +398,28 @@ static const struct dw_hdmi_phy_ops sun8 - .setup_hpd = dw_hdmi_phy_setup_hpd, - }; - -+static int sun20i_d1_hdmi_phy_config(struct dw_hdmi *hdmi, void *data, -+ const struct drm_display_info *display, -+ const struct drm_display_mode *mode) -+{ -+ struct sun8i_hdmi_phy *phy = data; -+ -+ return 0; -+} -+ -+static void sun20i_d1_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data) -+{ -+ struct sun8i_hdmi_phy *phy = data; -+} -+ -+static const struct dw_hdmi_phy_ops sun20i_d1_hdmi_phy_ops = { -+ .init = sun20i_d1_hdmi_phy_config, -+ .disable = sun20i_d1_hdmi_phy_disable, -+ .read_hpd = dw_hdmi_phy_read_hpd, -+ .update_hpd = dw_hdmi_phy_update_hpd, -+ .setup_hpd = dw_hdmi_phy_setup_hpd, -+}; -+ - static void sun8i_hdmi_phy_unlock(struct sun8i_hdmi_phy *phy) - { - /* enable read access to HDMI controller */ -@@ -576,6 +598,7 @@ void sun8i_hdmi_phy_set_ops(struct sun8i - const struct sun8i_hdmi_phy_variant *variant = phy->variant; - - if (variant->phy_ops) { -+ plat_data->phy_force_vendor = true; - plat_data->phy_ops = variant->phy_ops; - plat_data->phy_name = "sun8i_dw_hdmi_phy"; - plat_data->phy_data = phy; -@@ -612,6 +635,11 @@ static const struct sun8i_hdmi_phy_varia - .phy_init = &sun8i_hdmi_phy_init_h3, - }; - -+static const struct sun8i_hdmi_phy_variant sun20i_d1_hdmi_phy = { -+ .phy_ops = &sun20i_d1_hdmi_phy_ops, -+ .phy_init = &sun50i_hdmi_phy_init_h6, -+}; -+ - static const struct sun8i_hdmi_phy_variant sun50i_a64_hdmi_phy = { - .has_phy_clk = true, - .phy_ops = &sun8i_h3_hdmi_phy_ops, -@@ -639,6 +667,10 @@ static const struct of_device_id sun8i_h - .data = &sun8i_r40_hdmi_phy, - }, - { -+ .compatible = "allwinner,sun20i-d1-hdmi-phy", -+ .data = &sun20i_d1_hdmi_phy, -+ }, -+ { - .compatible = "allwinner,sun50i-a64-hdmi-phy", - .data = &sun50i_a64_hdmi_phy, - }, diff --git a/target/linux/d1/patches-6.1/0009-drm-sun4i-Copy-in-BSP-code-for-D1-HDMI-PHY.patch b/target/linux/d1/patches-6.1/0009-drm-sun4i-Copy-in-BSP-code-for-D1-HDMI-PHY.patch deleted file mode 100644 index 85c81d5057140e..00000000000000 --- a/target/linux/d1/patches-6.1/0009-drm-sun4i-Copy-in-BSP-code-for-D1-HDMI-PHY.patch +++ /dev/null @@ -1,621 +0,0 @@ -From 7ea7d4abfd537230da58533803a2d0257addace8 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Wed, 30 Mar 2022 00:46:07 -0500 -Subject: [PATCH 009/117] drm/sun4i: Copy in BSP code for D1 HDMI PHY - -Signed-off-by: Samuel Holland ---- - drivers/gpu/drm/sun4i/aw_phy.h | 411 +++++++++++++++++++++++++ - drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h | 1 + - drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 156 ++++++++++ - 3 files changed, 568 insertions(+) - create mode 100644 drivers/gpu/drm/sun4i/aw_phy.h - ---- /dev/null -+++ b/drivers/gpu/drm/sun4i/aw_phy.h -@@ -0,0 +1,411 @@ -+/* -+ * Allwinner SoCs hdmi2.0 driver. -+ * -+ * Copyright (C) 2016 Allwinner. -+ * -+ * This file is licensed under the terms of the GNU General Public -+ * License version 2. This program is licensed "as is" without any -+ * warranty of any kind, whether express or implied. -+ */ -+ -+#ifndef AW_PHY_H_ -+#define AW_PHY_H_ -+ -+#define AW_PHY_TIMEOUT 1000 -+#define LOCK_TIMEOUT 100 -+ -+/* allwinner phy register offset */ -+#define HDMI_PHY_CTL0 0x40 -+#define HDMI_PHY_CTL1 0x44 -+#define HDMI_PHY_CTL2 0x48 -+#define HDMI_PHY_CTL3 0x4C -+#define HDMI_PHY_CTL4 0x50 -+#define HDMI_PHY_CTL5 0x54 -+#define HDMI_PLL_CTL0 0x58 -+#define HDMI_PLL_CTL1 0x5C -+#define HDMI_AFIFO_CFG 0x60 -+#define HDMI_MODULATOR_CFG0 0x64 -+#define HDMI_MODULATOR_CFG1 0x68 -+#define HDMI_PHY_INDEB_CTRL 0x6C -+#define HDMI_PHY_INDBG_TXD0 0x70 -+#define HDMI_PHY_INDBG_TXD1 0x74 -+#define HDMI_PHY_INDBG_TXD2 0x78 -+#define HDMI_PHY_INDBG_TXD3 0x7C -+#define HDMI_PHY_PLL_STS 0x80 -+#define HDMI_PRBS_CTL 0x84 -+#define HDMI_PRBS_SEED_GEN 0x88 -+#define HDMI_PRBS_SEED_CHK 0x8C -+#define HDMI_PRBS_SEED_NUM 0x90 -+#define HDMI_PRBS_CYCLE_NUM 0x94 -+#define HDMI_PHY_PLL_ODLY_CFG 0x98 -+#define HDMI_PHY_CTL6 0x9C -+#define HDMI_PHY_CTL7 0xA0 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 sda_en :1; // Default: 0; -+ u32 scl_en :1; // Default: 0; -+ u32 hpd_en :1; // Default: 0; -+ u32 res0 :1; // Default: 0; -+ u32 reg_ck_sel :1; // Default: 1; -+ u32 reg_ck_test_sel :1; // Default: 1; -+ u32 reg_csmps :2; // Default: 0; -+ u32 reg_den :4; // Default: F; -+ u32 reg_plr :4; // Default: 0; -+ u32 enck :1; // Default: 1; -+ u32 enldo_fs :1; // Default: 1; -+ u32 enldo :1; // Default: 1; -+ u32 res1 :1; // Default: 1; -+ u32 enbi :4; // Default: F; -+ u32 entx :4; // Default: F; -+ u32 async_fifo_autosync_disable :1; // Default: 0; -+ u32 async_fifo_workc_enable :1; // Default: 1; -+ u32 phy_pll_lock_mode :1; // Default: 1; -+ u32 phy_pll_lock_mode_man :1; // Default: 1; -+ } bits; -+} HDMI_PHY_CTL0_t; //=========================== 0x0040 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 reg_sp2_0 : 4 ; // Default: 0; -+ u32 reg_sp2_1 : 4 ; // Default: 0; -+ u32 reg_sp2_2 : 4 ; // Default: 0; -+ u32 reg_sp2_3 : 4 ; // Default: 0; -+ u32 reg_bst0 : 2 ; // Default: 3; -+ u32 reg_bst1 : 2 ; // Default: 3; -+ u32 reg_bst2 : 2 ; // Default: 3; -+ u32 res0 : 2 ; // Default: 0; -+ u32 reg_svr : 2 ; // Default: 2; -+ u32 reg_swi : 1 ; // Default: 0; -+ u32 res_scktmds : 1 ; // Default: 0; -+ u32 res_res_s : 2 ; // Default: 3; -+ u32 phy_rxsense_mode : 1 ; // Default: 0; -+ u32 res_rxsense_mode_man : 1 ; // Default: 0; -+ } bits; -+} HDMI_PHY_CTL1_t; //===================================================== 0x0044 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 reg_p2opt : 4 ; // Default: 0; -+ u32 reg_sp1_0 : 5 ; // Default: 0; -+ u32 reg_sp1_1 : 5 ; // Default: 0; -+ u32 reg_sp1_2 : 5 ; // Default: 0; -+ u32 reg_sp1_3 : 5 ; // Default: 0; -+ u32 reg_resdi : 6 ; // Default: 18; -+ u32 phy_hpdo_mode : 1 ; // Default: 0; -+ u32 phy_hpdo_mode_man : 1 ; // Default: 0; -+ } bits; -+} HDMI_PHY_CTL2_t; //===================================================== 0x0048 -+ -+ -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 reg_mc0 : 4 ; // Default: F; -+ u32 reg_mc1 : 4 ; // Default: F; -+ u32 reg_mc2 : 4 ; // Default: F; -+ u32 reg_mc3 : 4 ; // Default: F; -+ u32 reg_p2_0 : 4 ; // Default: F; -+ u32 reg_p2_1 : 4 ; // Default: F; -+ u32 reg_p2_2 : 4 ; // Default: F; -+ u32 reg_p2_3 : 4 ; // Default: F; -+ } bits; -+} HDMI_PHY_CTL3_t; //===================================================== 0x004C -+ -+ -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 reg_p1_0 : 5 ; // Default: 0x10; -+ u32 res0 : 3 ; // Default: 0; -+ u32 reg_p1_1 : 5 ; // Default: 0x10; -+ u32 res1 : 3 ; // Default: 0; -+ u32 reg_p1_2 : 5 ; // Default: 0x10; -+ u32 res2 : 3 ; // Default: 0; -+ u32 reg_p1_3 : 5 ; // Default: 0x10; -+ u32 reg_slv : 3 ; // Default: 0; -+ } bits; -+} HDMI_PHY_CTL4_t; //===================================================== 0x0050 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 encalog : 1 ; // Default: 0x1; -+ u32 enib : 1 ; // Default: 0x1; -+ u32 res0 : 2 ; // Default: 0; -+ u32 enp2s : 4 ; // Default: 0xF; -+ u32 enrcal : 1 ; // Default: 0x1; -+ u32 enres : 1 ; // Default: 1; -+ u32 enresck : 1 ; // Default: 1; -+ u32 reg_calsw : 1 ; // Default: 0; -+ u32 reg_ckpdlyopt : 1 ; // Default: 0; -+ u32 res1 : 3 ; // Default: 0; -+ u32 reg_p1opt : 4 ; // Default: 0; -+ u32 res2 : 12 ; // Default: 0; -+ } bits; -+} HDMI_PHY_CTL5_t; //===================================================== 0x0054 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 prop_cntrl : 3 ; // Default: 0x7; -+ u32 res0 : 1 ; // Default: 0; -+ u32 gmp_cntrl : 2 ; // Default: 1; -+ u32 n_cntrl : 2 ; // Default: 0; -+ u32 vcorange : 1 ; // Default: 0; -+ u32 sdrven : 1 ; // Default: 0; -+ u32 divx1 : 1 ; // Default: 0; -+ u32 res1 : 1 ; // Default: 0; -+ u32 div_pre : 4 ; // Default: 0; -+ u32 div2_cktmds : 1 ; // Default: 1; -+ u32 div2_ckbit : 1 ; // Default: 1; -+ u32 cutfb : 1 ; // Default: 0; -+ u32 res2 : 1 ; // Default: 0; -+ u32 clr_dpth : 2 ; // Default: 0; -+ u32 bypass_clrdpth : 1 ; // Default: 0; -+ u32 bcr : 1 ; // Default: 0; -+ u32 slv : 3 ; // Default: 4; -+ u32 res3 : 1 ; // Default: 0; -+ u32 envbs : 1 ; // Default: 0; -+ u32 bypass_ppll : 1 ; // Default: 0; -+ u32 cko_sel : 2 ; // Default: 0; -+ } bits; -+} HDMI_PLL_CTL0_t; //===================================================== 0x0058 -+ -+ -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 int_cntrl : 3 ; // Default: 0x0; -+ u32 res0 : 1 ; // Default: 0; -+ u32 ref_cntrl : 2 ; // Default: 3; -+ u32 gear_shift : 1 ; // Default: 0; -+ u32 fast_tech : 1 ; // Default: 0; -+ u32 drv_ana : 1 ; // Default: 1; -+ u32 sckfb : 1 ; // Default: 0; -+ u32 sckref : 1 ; // Default: 0; -+ u32 reset : 1 ; // Default: 0; -+ u32 pwron : 1 ; // Default: 0; -+ u32 res1 : 3 ; // Default: 0; -+ u32 pixel_rep : 2 ; // Default: 0; -+ u32 sdm_en : 1 ; // Default: 0; -+ u32 pcnt_en : 1 ; // Default: 0; -+ u32 pcnt_n : 8 ; // Default: 0xE; -+ u32 res2 : 3 ; // Default: 0; -+ u32 ctrl_modle_clksrc : 1 ; // Default: 0; -+ } bits; -+} HDMI_PLL_CTL1_t; //===================================================== 0x005C -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 hdmi_afifo_error : 1 ; // Default: 0x0; -+ u32 hdmi_afifo_error_det : 1 ; // Default: 0x0; -+ u32 res0 : 30 ; // Default: 0; -+ } bits; -+} HDMI_AFIFO_CFG_t; //===================================================== 0x0060 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 fnpll_mash_en : 1 ; // Default: 0x0; -+ u32 fnpll_mash_mod : 2 ; // Default: 0x0; -+ u32 fnpll_mash_stp : 9 ; // Default: 0x0; -+ u32 fnpll_mash_m12 : 1 ; // Default: 0x0; -+ u32 fnpll_mash_frq : 2 ; // Default: 0x0; -+ u32 fnpll_mash_bot : 17 ; // Default: 0x0; -+ } bits; -+} HDMI_MODULATOR_CFG0_t; //===================================================== 0x0064 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 fnpll_mash_dth : 1 ; // Default: 0x0; -+ u32 fnpll_mash_fen : 1 ; // Default: 0x0; -+ u32 fnpll_mash_frc : 17 ; // Default: 0x0; -+ u32 fnpll_mash_fnv : 8 ; // Default: 0x0; -+ u32 res0 : 5 ; // Default: 0x0; -+ } bits; -+} HDMI_MODULATOR_CFG1_t; //===================================================== 0x0068 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 txdata_debugmode : 2 ; // Default: 0x0; -+ u32 res0 : 14 ; // Default: 0x0; -+ u32 ceci_debug : 1 ; // Default: 0x0; -+ u32 ceci_debugmode : 1 ; // Default: 0x0; -+ u32 res1 : 2 ; // Default: 0x0; -+ u32 sdai_debug : 1 ; // Default: 0x0; -+ u32 sdai_debugmode : 1 ; // Default: 0x0; -+ u32 res2 : 2 ; // Default: 0x0; -+ u32 scli_debug : 1 ; // Default: 0x0; -+ u32 scli_debugmode : 1 ; // Default: 0x0; -+ u32 res3 : 2 ; // Default: 0x0; -+ u32 hpdi_debug : 1 ; // Default: 0x0; -+ u32 hpdi_debugmode : 1 ; // Default: 0x0; -+ u32 res4 : 2 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_INDBG_CTRL_t; //================================================== 0x006C -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 txdata0_debug_data : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_INDBG_TXD0_t; //================================================== 0x0070 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 txdata1_debug_data : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_INDBG_TXD1_t; //================================================== 0x0074 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 txdata2_debug_data : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_INDBG_TXD2_t; //================================================== 0x0078 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 txdata3_debug_data : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_INDBG_TXD3_t; //================================================== 0x007C -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 tx_ready_dly_status : 1 ; // Default: 0x0; -+ u32 rxsense_dly_status : 1 ; // Default: 0x0; -+ u32 res0 : 2 ; // Default: 0x0; -+ u32 pll_lock_status : 1 ; // Default: 0x0; -+ u32 res1 : 3 ; // Default: 0x0; -+ u32 phy_resdo2d_status : 6 ; // Default: 0x0; -+ u32 res2 : 2 ; // Default: 0x0; -+ u32 phy_rcalend2d_status : 1 ; // Default: 0x0; -+ u32 phy_cout2d_status : 1 ; // Default: 0x0; -+ u32 res3 : 2 ; // Default: 0x0; -+ u32 phy_ceco_status : 1 ; // Default: 0x0; -+ u32 phy_sdao_status : 1 ; // Default: 0x0; -+ u32 phy_sclo_status : 1 ; // Default: 0x0; -+ u32 phy_hpdo_status : 1 ; // Default: 0x0; -+ u32 phy_cdetn_status : 3 ; // Default: 0x0; -+ u32 phy_cdetnck_status : 1 ; // Default: 0x0; -+ u32 phy_cdetp_status : 3 ; // Default: 0x0; -+ u32 phy_cdetpck_status : 1 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_PLL_STS_t; //===================================================== 0x0080 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 prbs_en : 1 ; // Default: 0x0; -+ u32 prbs_start : 1 ; // Default: 0x0; -+ u32 prbs_seq_gen : 1 ; // Default: 0x0; -+ u32 prbs_seq_chk : 1 ; // Default: 0x0; -+ u32 prbs_mode : 4 ; // Default: 0x0; -+ u32 prbs_type : 2 ; // Default: 0x0; -+ u32 prbs_clk_pol : 1 ; // Default: 0x0; -+ u32 res0 : 21 ; // Default: 0x0; -+ } bits; -+} HDMI_PRBS_CTL_t; //===================================================== 0x0084 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 prbs_seed_gen : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PRBS_SEED_GEN_t; //================================================= 0x0088 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 prbs_seed_chk : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PRBS_SEED_CHK_t; //================================================= 0x008C -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 prbs_seed_num : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PRBS_SEED_NUM_t; //================================================= 0x0090 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 prbs_cycle_num : 32 ; // Default: 0x0; -+ } bits; -+} HDMI_PRBS_CYCLE_NUM_t; //================================================= 0x0094 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 tx_ready_dly_count : 15 ; // Default: 0x0; -+ u32 tx_ready_dly_reset : 1 ; // Default: 0x0; -+ u32 rxsense_dly_count : 15 ; // Default: 0x0; -+ u32 rxsense_dly_reset : 1 ; // Default: 0x0; -+ } bits; -+} HDMI_PHY_PLL_ODLY_CFG_t; //================================================= 0x0098 -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 clk_greate0_340m : 10 ; // Default: 0x3FF; -+ u32 clk_greate1_340m : 10 ; // Default: 0x3FF; -+ u32 clk_greate2_340m : 10 ; // Default: 0x3FF; -+ u32 en_ckdat : 1 ; // Default: 0x3FF; -+ u32 switch_clkch_data_corresponding : 1 ; // Default: 0x3FF; -+ } bits; -+} HDMI_PHY_CTL6_t; //========================================================= 0x009C -+ -+typedef union { -+ u32 dwval; -+ struct { -+ u32 clk_greate3_340m : 10 ; // Default: 0x0; -+ u32 res0 : 2 ; // Default: 0x3FF; -+ u32 clk_low_340m : 10 ; // Default: 0x3FF; -+ u32 res1 : 10 ; // Default: 0x3FF; -+ } bits; -+} HDMI_PHY_CTL7_t; //========================================================= 0x00A0 -+ -+struct __aw_phy_reg_t { -+ u32 res[16]; /* 0x0 ~ 0x3c */ -+ HDMI_PHY_CTL0_t phy_ctl0; /* 0x0040 */ -+ HDMI_PHY_CTL1_t phy_ctl1; /* 0x0044 */ -+ HDMI_PHY_CTL2_t phy_ctl2; /* 0x0048 */ -+ HDMI_PHY_CTL3_t phy_ctl3; /* 0x004c */ -+ HDMI_PHY_CTL4_t phy_ctl4; /* 0x0050 */ -+ HDMI_PHY_CTL5_t phy_ctl5; /* 0x0054 */ -+ HDMI_PLL_CTL0_t pll_ctl0; /* 0x0058 */ -+ HDMI_PLL_CTL1_t pll_ctl1; /* 0x005c */ -+ HDMI_AFIFO_CFG_t afifo_cfg; /* 0x0060 */ -+ HDMI_MODULATOR_CFG0_t modulator_cfg0; /* 0x0064 */ -+ HDMI_MODULATOR_CFG1_t modulator_cfg1; /* 0x0068 */ -+ HDMI_PHY_INDBG_CTRL_t phy_indbg_ctrl; /* 0x006c */ -+ HDMI_PHY_INDBG_TXD0_t phy_indbg_txd0; /* 0x0070 */ -+ HDMI_PHY_INDBG_TXD1_t phy_indbg_txd1; /* 0x0074 */ -+ HDMI_PHY_INDBG_TXD2_t phy_indbg_txd2; /* 0x0078 */ -+ HDMI_PHY_INDBG_TXD3_t phy_indbg_txd3; /* 0x007c */ -+ HDMI_PHY_PLL_STS_t phy_pll_sts; /* 0x0080 */ -+ HDMI_PRBS_CTL_t prbs_ctl; /* 0x0084 */ -+ HDMI_PRBS_SEED_GEN_t prbs_seed_gen; /* 0x0088 */ -+ HDMI_PRBS_SEED_CHK_t prbs_seed_chk; /* 0x008c */ -+ HDMI_PRBS_SEED_NUM_t prbs_seed_num; /* 0x0090 */ -+ HDMI_PRBS_CYCLE_NUM_t prbs_cycle_num; /* 0x0094 */ -+ HDMI_PHY_PLL_ODLY_CFG_t phy_pll_odly_cfg; /* 0x0098 */ -+ HDMI_PHY_CTL6_t phy_ctl6; /* 0x009c */ -+ HDMI_PHY_CTL7_t phy_ctl7; /* 0x00A0 */ -+}; -+ -+#endif /* AW_PHY_H_ */ ---- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h -+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h -@@ -334,6 +334,7 @@ struct sun8i_hdmi_phy { - struct clk *clk_pll1; - struct device *dev; - unsigned int rcal; -+ void __iomem *base; - struct regmap *regs; - struct reset_control *rst_phy; - const struct sun8i_hdmi_phy_variant *variant; ---- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c -+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c -@@ -9,6 +9,8 @@ - - #include "sun8i_dw_hdmi.h" - -+#include "aw_phy.h" -+ - /* - * Address can be actually any value. Here is set to same value as - * it is set in BSP driver. -@@ -398,11 +400,164 @@ static const struct dw_hdmi_phy_ops sun8 - .setup_hpd = dw_hdmi_phy_setup_hpd, - }; - -+static int sun20i_d1_hdmi_phy_enable(volatile struct __aw_phy_reg_t __iomem *phy_base) -+{ -+ int i = 0, status = 0; -+ -+ pr_info("enter %s\n", __func__); -+ -+ //enib -> enldo -> enrcal -> encalog -> enbi[3:0] -> enck -> enp2s[3:0] -> enres -> enresck -> entx[3:0] -+ phy_base->phy_ctl4.bits.reg_slv = 4; //low power voltage 1.08V, default is 3, set 4 as well as pll_ctl0 bit [24:26] -+ phy_base->phy_ctl5.bits.enib = 1; -+ phy_base->phy_ctl0.bits.enldo = 1; -+ phy_base->phy_ctl0.bits.enldo_fs = 1; -+ phy_base->phy_ctl5.bits.enrcal = 1; -+ -+ phy_base->phy_ctl5.bits.encalog = 1; -+ -+ for (i = 0; i < AW_PHY_TIMEOUT; i++) { -+ udelay(5); -+ status = phy_base->phy_pll_sts.bits.phy_rcalend2d_status; -+ if (status & 0x1) { -+ pr_info("[%s]:phy_rcalend2d_status\n", __func__); -+ break; -+ } -+ } -+ if ((i == AW_PHY_TIMEOUT) && !status) { -+ pr_err("phy_rcalend2d_status Timeout !\n"); -+ return -1; -+ } -+ -+ phy_base->phy_ctl0.bits.enbi = 0xF; -+ for (i = 0; i < AW_PHY_TIMEOUT; i++) { -+ udelay(5); -+ status = phy_base->phy_pll_sts.bits.pll_lock_status; -+ if (status & 0x1) { -+ pr_info("[%s]:pll_lock_status\n", __func__); -+ break; -+ } -+ } -+ if ((i == AW_PHY_TIMEOUT) && !status) { -+ pr_err("pll_lock_status Timeout! status = 0x%x\n", status); -+ return -1; -+ } -+ -+ phy_base->phy_ctl0.bits.enck = 1; -+ phy_base->phy_ctl5.bits.enp2s = 0xF; -+ phy_base->phy_ctl5.bits.enres = 1; -+ phy_base->phy_ctl5.bits.enresck = 1; -+ phy_base->phy_ctl0.bits.entx = 0xF; -+ -+ for (i = 0; i < AW_PHY_TIMEOUT; i++) { -+ udelay(5); -+ status = phy_base->phy_pll_sts.bits.tx_ready_dly_status; -+ if (status & 0x1) { -+ pr_info("[%s]:tx_ready_status\n", __func__); -+ break; -+ } -+ } -+ if ((i == AW_PHY_TIMEOUT) && !status) { -+ pr_err("tx_ready_status Timeout ! status = 0x%x\n", status); -+ return -1; -+ } -+ -+ return 0; -+} -+ - static int sun20i_d1_hdmi_phy_config(struct dw_hdmi *hdmi, void *data, - const struct drm_display_info *display, - const struct drm_display_mode *mode) - { - struct sun8i_hdmi_phy *phy = data; -+ volatile struct __aw_phy_reg_t __iomem *phy_base = phy->base; -+ int ret; -+ -+ pr_info("enter %s\n", __func__); -+ -+ /* enable all channel */ -+ phy_base->phy_ctl5.bits.reg_p1opt = 0xF; -+ -+ // phy_reset -+ phy_base->phy_ctl0.bits.entx = 0; -+ phy_base->phy_ctl5.bits.enresck = 0; -+ phy_base->phy_ctl5.bits.enres = 0; -+ phy_base->phy_ctl5.bits.enp2s = 0; -+ phy_base->phy_ctl0.bits.enck = 0; -+ phy_base->phy_ctl0.bits.enbi = 0; -+ phy_base->phy_ctl5.bits.encalog = 0; -+ phy_base->phy_ctl5.bits.enrcal = 0; -+ phy_base->phy_ctl0.bits.enldo_fs = 0; -+ phy_base->phy_ctl0.bits.enldo = 0; -+ phy_base->phy_ctl5.bits.enib = 0; -+ phy_base->pll_ctl1.bits.reset = 1; -+ phy_base->pll_ctl1.bits.pwron = 0; -+ phy_base->pll_ctl0.bits.envbs = 0; -+ -+ // phy_set_mpll -+ phy_base->pll_ctl0.bits.cko_sel = 0x3; -+ phy_base->pll_ctl0.bits.bypass_ppll = 0x1; -+ phy_base->pll_ctl1.bits.drv_ana = 1; -+ phy_base->pll_ctl1.bits.ctrl_modle_clksrc = 0x0; //0: PLL_video 1: MPLL -+ phy_base->pll_ctl1.bits.sdm_en = 0x0; //mpll sdm jitter is very large, not used for the time being -+ phy_base->pll_ctl1.bits.sckref = 0; //default value is 1 -+ phy_base->pll_ctl0.bits.slv = 4; -+ phy_base->pll_ctl0.bits.prop_cntrl = 7; //default value 7 -+ phy_base->pll_ctl0.bits.gmp_cntrl = 3; //default value 1 -+ phy_base->pll_ctl1.bits.ref_cntrl = 0; -+ phy_base->pll_ctl0.bits.vcorange = 1; -+ -+ // phy_set_div -+ phy_base->pll_ctl0.bits.div_pre = 0; //div7 = n+1 -+ phy_base->pll_ctl1.bits.pcnt_en = 0; -+ phy_base->pll_ctl1.bits.pcnt_n = 1; //div6 = 1 (pcnt_en=0) [div6 = n (pcnt_en = 1) note that some multiples are problematic] 4-256 -+ phy_base->pll_ctl1.bits.pixel_rep = 0; //div5 = n+1 -+ phy_base->pll_ctl0.bits.bypass_clrdpth = 0; -+ phy_base->pll_ctl0.bits.clr_dpth = 0; //div4 = 1 (bypass_clrdpth = 0) -+ //00: 2 01: 2.5 10: 3 11: 4 -+ phy_base->pll_ctl0.bits.n_cntrl = 1; //div -+ phy_base->pll_ctl0.bits.div2_ckbit = 0; //div1 = n+1 -+ phy_base->pll_ctl0.bits.div2_cktmds = 0; //div2 = n+1 -+ phy_base->pll_ctl0.bits.bcr = 0; //div3 0: [1:10] 1: [1:40] -+ phy_base->pll_ctl1.bits.pwron = 1; -+ phy_base->pll_ctl1.bits.reset = 0; -+ -+ // configure phy -+ /* config values taken from table */ -+ phy_base->phy_ctl1.dwval = ((phy_base->phy_ctl1.dwval & 0xFFC0FFFF) | /* config->phy_ctl1 */ 0x0); -+ phy_base->phy_ctl2.dwval = ((phy_base->phy_ctl2.dwval & 0xFF000000) | /* config->phy_ctl2 */ 0x0); -+ phy_base->phy_ctl3.dwval = ((phy_base->phy_ctl3.dwval & 0xFFFF0000) | /* config->phy_ctl3 */ 0xFFFF); -+ phy_base->phy_ctl4.dwval = ((phy_base->phy_ctl4.dwval & 0xE0000000) | /* config->phy_ctl4 */ 0xC0D0D0D); -+ //phy_base->pll_ctl0.dwval |= config->pll_ctl0; -+ //phy_base->pll_ctl1.dwval |= config->pll_ctl1; -+ -+ // phy_set_clk -+ phy_base->phy_ctl6.bits.switch_clkch_data_corresponding = 0; -+ phy_base->phy_ctl6.bits.clk_greate0_340m = 0x3FF; -+ phy_base->phy_ctl6.bits.clk_greate1_340m = 0x3FF; -+ phy_base->phy_ctl6.bits.clk_greate2_340m = 0x0; -+ phy_base->phy_ctl7.bits.clk_greate3_340m = 0x0; -+ phy_base->phy_ctl7.bits.clk_low_340m = 0x3E0; -+ phy_base->phy_ctl6.bits.en_ckdat = 1; //default value is 0 -+ -+ // phy_base->phy_ctl2.bits.reg_resdi = 0x18; -+ // phy_base->phy_ctl4.bits.reg_slv = 3; //low power voltage 1.08V, default value is 3 -+ -+ phy_base->phy_ctl1.bits.res_scktmds = 0; // -+ phy_base->phy_ctl0.bits.reg_csmps = 2; -+ phy_base->phy_ctl0.bits.reg_ck_test_sel = 0; //? -+ phy_base->phy_ctl0.bits.reg_ck_sel = 1; -+ phy_base->phy_indbg_ctrl.bits.txdata_debugmode = 0; -+ -+ // phy_enable -+ ret = sun20i_d1_hdmi_phy_enable(phy_base); -+ if (ret) -+ return ret; -+ -+ phy_base->phy_ctl0.bits.sda_en = 1; -+ phy_base->phy_ctl0.bits.scl_en = 1; -+ phy_base->phy_ctl0.bits.hpd_en = 1; -+ phy_base->phy_ctl0.bits.reg_den = 0xF; -+ phy_base->pll_ctl0.bits.envbs = 1; - - return 0; - } -@@ -720,6 +875,7 @@ static int sun8i_hdmi_phy_probe(struct p - return dev_err_probe(dev, PTR_ERR(regs), - "Couldn't map the HDMI PHY registers\n"); - -+ phy->base = regs; - phy->regs = devm_regmap_init_mmio(dev, regs, - &sun8i_hdmi_phy_regmap_config); - if (IS_ERR(phy->regs)) diff --git a/target/linux/d1/patches-6.1/0010-riscv-mm-Use-IOMMU-for-DMA-when-available.patch b/target/linux/d1/patches-6.1/0010-riscv-mm-Use-IOMMU-for-DMA-when-available.patch deleted file mode 100644 index 18dfa573e3a6aa..00000000000000 --- a/target/linux/d1/patches-6.1/0010-riscv-mm-Use-IOMMU-for-DMA-when-available.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 02a412de18479449c87ed7a332e3fe33d2eff3a4 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Wed, 27 Apr 2022 18:47:53 -0500 -Subject: [PATCH 010/117] riscv: mm: Use IOMMU for DMA when available - -Signed-off-by: Samuel Holland ---- - arch/riscv/mm/dma-noncoherent.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/arch/riscv/mm/dma-noncoherent.c -+++ b/arch/riscv/mm/dma-noncoherent.c -@@ -7,6 +7,7 @@ - - #include - #include -+#include - #include - #include - -@@ -70,6 +71,9 @@ void arch_setup_dma_ops(struct device *d - dev_driver_string(dev), dev_name(dev)); - - dev->dma_coherent = coherent; -+ -+ if (iommu) -+ iommu_setup_dma_ops(dev, dma_base, dma_base + size - 1); - } - - void riscv_noncoherent_supported(void) diff --git a/target/linux/d1/patches-6.1/0011-genirq-Add-support-for-oneshot-safe-threaded-EOIs.patch b/target/linux/d1/patches-6.1/0011-genirq-Add-support-for-oneshot-safe-threaded-EOIs.patch deleted file mode 100644 index d8dd2878d1e4f9..00000000000000 --- a/target/linux/d1/patches-6.1/0011-genirq-Add-support-for-oneshot-safe-threaded-EOIs.patch +++ /dev/null @@ -1,124 +0,0 @@ -From ee6459d60f24d91052f0288155f44e6a7f991050 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sat, 7 May 2022 18:34:25 -0500 -Subject: [PATCH 011/117] genirq: Add support for oneshot-safe threaded EOIs - -irqchips can use the combination of flags IRQCHIP_ONESHOT_SAFE | -IRQCHIP_EOI_THREADED to elide mask operations. - -Signed-off-by: Samuel Holland ---- - kernel/irq/chip.c | 36 +++++++++++++++++------------------- - kernel/irq/internals.h | 2 +- - kernel/irq/manage.c | 12 ++++++------ - 3 files changed, 24 insertions(+), 26 deletions(-) - ---- a/kernel/irq/chip.c -+++ b/kernel/irq/chip.c -@@ -439,16 +439,6 @@ void unmask_irq(struct irq_desc *desc) - } - } - --void unmask_threaded_irq(struct irq_desc *desc) --{ -- struct irq_chip *chip = desc->irq_data.chip; -- -- if (chip->flags & IRQCHIP_EOI_THREADED) -- chip->irq_eoi(&desc->irq_data); -- -- unmask_irq(desc); --} -- - /* - * handle_nested_irq - Handle a nested irq from a irq thread - * @irq: the interrupt number -@@ -656,25 +646,33 @@ out_unlock: - } - EXPORT_SYMBOL_GPL(handle_level_irq); - --static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) -+void unmask_eoi_threaded_irq(struct irq_desc *desc) - { -- if (!(desc->istate & IRQS_ONESHOT)) { -+ struct irq_chip *chip = desc->irq_data.chip; -+ -+ if (desc->istate & IRQS_ONESHOT) -+ unmask_irq(desc); -+ -+ if (chip->flags & IRQCHIP_EOI_THREADED) - chip->irq_eoi(&desc->irq_data); -+} -+ -+static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) -+{ -+ /* Do not send EOI if the thread will do it for us. */ -+ if ((chip->flags & IRQCHIP_EOI_THREADED) && desc->threads_oneshot) - return; -- } -+ - /* - * We need to unmask in the following cases: - * - Oneshot irq which did not wake the thread (caused by a - * spurious interrupt or a primary handler handling it - * completely). - */ -- if (!irqd_irq_disabled(&desc->irq_data) && -- irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) { -- chip->irq_eoi(&desc->irq_data); -+ if ((desc->istate & IRQS_ONESHOT) && !desc->threads_oneshot) - unmask_irq(desc); -- } else if (!(chip->flags & IRQCHIP_EOI_THREADED)) { -- chip->irq_eoi(&desc->irq_data); -- } -+ -+ chip->irq_eoi(&desc->irq_data); - } - - /** ---- a/kernel/irq/internals.h -+++ b/kernel/irq/internals.h -@@ -93,7 +93,7 @@ extern void irq_percpu_enable(struct irq - extern void irq_percpu_disable(struct irq_desc *desc, unsigned int cpu); - extern void mask_irq(struct irq_desc *desc); - extern void unmask_irq(struct irq_desc *desc); --extern void unmask_threaded_irq(struct irq_desc *desc); -+extern void unmask_eoi_threaded_irq(struct irq_desc *desc); - - #ifdef CONFIG_SPARSE_IRQ - static inline void irq_mark_irq(unsigned int irq) { } ---- a/kernel/irq/manage.c -+++ b/kernel/irq/manage.c -@@ -1074,9 +1074,9 @@ static int irq_wait_for_interrupt(struct - static void irq_finalize_oneshot(struct irq_desc *desc, - struct irqaction *action) - { -- if (!(desc->istate & IRQS_ONESHOT) || -- action->handler == irq_forced_secondary_handler) -+ if (action->handler == irq_forced_secondary_handler) - return; -+ - again: - chip_bus_lock(desc); - raw_spin_lock_irq(&desc->lock); -@@ -1112,9 +1112,8 @@ again: - - desc->threads_oneshot &= ~action->thread_mask; - -- if (!desc->threads_oneshot && !irqd_irq_disabled(&desc->irq_data) && -- irqd_irq_masked(&desc->irq_data)) -- unmask_threaded_irq(desc); -+ if (!desc->threads_oneshot) -+ unmask_eoi_threaded_irq(desc); - - out_unlock: - raw_spin_unlock_irq(&desc->lock); -@@ -1662,7 +1661,8 @@ __setup_irq(unsigned int irq, struct irq - * !ONESHOT irqs the thread mask is 0 so we can avoid a - * conditional in irq_wake_thread(). - */ -- if (new->flags & IRQF_ONESHOT) { -+ if ((new->flags & IRQF_ONESHOT) || -+ (desc->irq_data.chip->flags & (IRQCHIP_ONESHOT_SAFE | IRQCHIP_EOI_THREADED)) == (IRQCHIP_ONESHOT_SAFE | IRQCHIP_EOI_THREADED)) { - /* - * Unlikely to have 32 resp 64 irqs sharing one line, - * but who knows. diff --git a/target/linux/d1/patches-6.1/0012-irqchip-sifive-plic-Enable-oneshot-safe-threaded-EOI.patch b/target/linux/d1/patches-6.1/0012-irqchip-sifive-plic-Enable-oneshot-safe-threaded-EOI.patch deleted file mode 100644 index 8cb949f186a38f..00000000000000 --- a/target/linux/d1/patches-6.1/0012-irqchip-sifive-plic-Enable-oneshot-safe-threaded-EOI.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 1fbe96ec05c41b313b4e7cc4b39b191b4a3f7540 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sat, 7 May 2022 18:38:34 -0500 -Subject: [PATCH 012/117] irqchip/sifive-plic: Enable oneshot-safe threaded - EOIs - -Signed-off-by: Samuel Holland ---- - drivers/irqchip/irq-sifive-plic.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/drivers/irqchip/irq-sifive-plic.c -+++ b/drivers/irqchip/irq-sifive-plic.c -@@ -207,7 +207,9 @@ static struct irq_chip plic_chip = { - .irq_set_affinity = plic_set_affinity, - #endif - .irq_set_type = plic_irq_set_type, -- .flags = IRQCHIP_AFFINITY_PRE_STARTUP, -+ .flags = IRQCHIP_ONESHOT_SAFE | -+ IRQCHIP_EOI_THREADED | -+ IRQCHIP_AFFINITY_PRE_STARTUP, - }; - - static int plic_irq_set_type(struct irq_data *d, unsigned int type) diff --git a/target/linux/d1/patches-6.1/0013-irqchip-sifive-plic-Support-wake-IRQs.patch b/target/linux/d1/patches-6.1/0013-irqchip-sifive-plic-Support-wake-IRQs.patch deleted file mode 100644 index 209d97597c642e..00000000000000 --- a/target/linux/d1/patches-6.1/0013-irqchip-sifive-plic-Support-wake-IRQs.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d6cf6473b0aaec455e48bccefe318a98a87b789f Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sat, 28 May 2022 19:04:56 -0500 -Subject: [PATCH 013/117] irqchip/sifive-plic: Support wake IRQs - -Signed-off-by: Samuel Holland ---- - drivers/irqchip/irq-sifive-plic.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/irqchip/irq-sifive-plic.c -+++ b/drivers/irqchip/irq-sifive-plic.c -@@ -193,7 +193,8 @@ static struct irq_chip plic_edge_chip = - .irq_set_affinity = plic_set_affinity, - #endif - .irq_set_type = plic_irq_set_type, -- .flags = IRQCHIP_AFFINITY_PRE_STARTUP, -+ .flags = IRQCHIP_SKIP_SET_WAKE | -+ IRQCHIP_AFFINITY_PRE_STARTUP, - }; - - static struct irq_chip plic_chip = { -@@ -207,7 +208,8 @@ static struct irq_chip plic_chip = { - .irq_set_affinity = plic_set_affinity, - #endif - .irq_set_type = plic_irq_set_type, -- .flags = IRQCHIP_ONESHOT_SAFE | -+ .flags = IRQCHIP_SKIP_SET_WAKE | -+ IRQCHIP_ONESHOT_SAFE | - IRQCHIP_EOI_THREADED | - IRQCHIP_AFFINITY_PRE_STARTUP, - }; diff --git a/target/linux/d1/patches-6.1/0014-mmc-sunxi-mmc-Correct-the-maximum-segment-size.patch b/target/linux/d1/patches-6.1/0014-mmc-sunxi-mmc-Correct-the-maximum-segment-size.patch deleted file mode 100644 index 7e8098a2cfb03e..00000000000000 --- a/target/linux/d1/patches-6.1/0014-mmc-sunxi-mmc-Correct-the-maximum-segment-size.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0e871e791a2530562851109346affa1c0d9987e0 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 13 Jun 2021 23:15:56 -0500 -Subject: [PATCH 014/117] mmc: sunxi-mmc: Correct the maximum segment size - -According to the DMA descriptor documentation, the lowest two bits of -the size field are ignored, so the size must be rounded up to a multiple -of 4 bytes. Furthermore, 0 is not a valid buffer size; setting the size -to 0 will cause that DMA descriptor to be ignored. - -Together, these restrictions limit the maximum DMA segment size to 4 -less than the power-of-two width of the size field. - -Series-to: Ulf Hansson -Series-to: linux-mmc@vger.kernel.org - -Fixes: 3cbcb16095f9 ("mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs") -Signed-off-by: Samuel Holland ---- - drivers/mmc/host/sunxi-mmc.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - ---- a/drivers/mmc/host/sunxi-mmc.c -+++ b/drivers/mmc/host/sunxi-mmc.c -@@ -214,6 +214,9 @@ - #define SDXC_IDMAC_DES0_CES BIT(30) /* card error summary */ - #define SDXC_IDMAC_DES0_OWN BIT(31) /* 1-idma owns it, 0-host owns it */ - -+/* Buffer size must be a multiple of 4 bytes. */ -+#define SDXC_IDMAC_SIZE_ALIGN 4 -+ - #define SDXC_CLK_400K 0 - #define SDXC_CLK_25M 1 - #define SDXC_CLK_50M 2 -@@ -361,17 +364,15 @@ static void sunxi_mmc_init_idma_des(stru - { - struct sunxi_idma_des *pdes = (struct sunxi_idma_des *)host->sg_cpu; - dma_addr_t next_desc = host->sg_dma; -- int i, max_len = (1 << host->cfg->idma_des_size_bits); -+ int i; - - for (i = 0; i < data->sg_len; i++) { - pdes[i].config = cpu_to_le32(SDXC_IDMAC_DES0_CH | - SDXC_IDMAC_DES0_OWN | - SDXC_IDMAC_DES0_DIC); - -- if (data->sg[i].length == max_len) -- pdes[i].buf_size = 0; /* 0 == max_len */ -- else -- pdes[i].buf_size = cpu_to_le32(data->sg[i].length); -+ pdes[i].buf_size = cpu_to_le32(ALIGN(data->sg[i].length, -+ SDXC_IDMAC_SIZE_ALIGN)); - - next_desc += sizeof(struct sunxi_idma_des); - pdes[i].buf_addr_ptr1 = -@@ -1421,7 +1422,8 @@ static int sunxi_mmc_probe(struct platfo - mmc->max_blk_count = 8192; - mmc->max_blk_size = 4096; - mmc->max_segs = PAGE_SIZE / sizeof(struct sunxi_idma_des); -- mmc->max_seg_size = (1 << host->cfg->idma_des_size_bits); -+ mmc->max_seg_size = (1 << host->cfg->idma_des_size_bits) - -+ SDXC_IDMAC_SIZE_ALIGN; - mmc->max_req_size = mmc->max_seg_size * mmc->max_segs; - /* 400kHz ~ 52MHz */ - mmc->f_min = 400000; diff --git a/target/linux/d1/patches-6.1/0015-dt-bindings-display-Add-bindings-for-ClockworkPi-CWD.patch b/target/linux/d1/patches-6.1/0015-dt-bindings-display-Add-bindings-for-ClockworkPi-CWD.patch deleted file mode 100644 index 665c55058cfa3f..00000000000000 --- a/target/linux/d1/patches-6.1/0015-dt-bindings-display-Add-bindings-for-ClockworkPi-CWD.patch +++ /dev/null @@ -1,82 +0,0 @@ -From a8e905fb3fd0d26f724646275b72a7363b2f03d8 Mon Sep 17 00:00:00 2001 -From: Max Fierke -Date: Wed, 1 Jun 2022 00:17:47 -0500 -Subject: [PATCH 015/117] dt-bindings: display: Add bindings for ClockworkPi - CWD686 - -The CWD686 is a 6.86" IPS LCD panel used as the primary -display in the ClockworkPi DevTerm portable (all cores) - -Signed-off-by: Max Fierke -Reviewed-by: Krzysztof Kozlowski -Signed-off-by: Samuel Holland ---- - .../display/panel/clockwork,cwd686.yaml | 62 +++++++++++++++++++ - 1 file changed, 62 insertions(+) - create mode 100644 Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml - ---- /dev/null -+++ b/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml -@@ -0,0 +1,62 @@ -+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -+%YAML 1.2 -+--- -+$id: http://devicetree.org/schemas/display/panel/clockwork,cwd686.yaml# -+$schema: http://devicetree.org/meta-schemas/core.yaml# -+ -+title: Clockwork CWD686 6.86" IPS LCD panel -+ -+maintainers: -+ - Max Fierke -+ -+description: | -+ The Clockwork CWD686 is a 6.86" ICNL9707-based IPS LCD panel used within the -+ Clockwork DevTerm series of portable devices. The panel has a 480x1280 -+ resolution and uses 24 bit RGB per pixel. -+ -+allOf: -+ - $ref: panel-common.yaml# -+ -+properties: -+ compatible: -+ const: clockwork,cwd686 -+ -+ reg: -+ description: DSI virtual channel used by that screen -+ maxItems: 1 -+ -+ reset-gpios: true -+ rotation: true -+ backlight: true -+ iovcc-supply: true -+ vci-supply: true -+ -+required: -+ - compatible -+ - reg -+ - backlight -+ - reset-gpios -+ -+additionalProperties: false -+ -+examples: -+ - | -+ #include -+ -+ backlight: backlight { -+ compatible = "gpio-backlight"; -+ gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ }; -+ -+ dsi { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ panel@0 { -+ compatible = "clockwork,cwd686"; -+ reg = <0>; -+ backlight = <&backlight>; -+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; -+ rotation = <90>; -+ }; -+ }; diff --git a/target/linux/d1/patches-6.1/0016-dt-bindings-display-Add-Sitronix-ST7701s-panel-bindi.patch b/target/linux/d1/patches-6.1/0016-dt-bindings-display-Add-Sitronix-ST7701s-panel-bindi.patch deleted file mode 100644 index 85d8421f62eed0..00000000000000 --- a/target/linux/d1/patches-6.1/0016-dt-bindings-display-Add-Sitronix-ST7701s-panel-bindi.patch +++ /dev/null @@ -1,47 +0,0 @@ -From d290546a88694dde6d2f64a973cd62ff2c69e27e Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Fri, 12 Aug 2022 01:59:35 -0500 -Subject: [PATCH 016/117] dt-bindings: display: Add Sitronix ST7701s panel - binding - -Signed-off-by: Samuel Holland ---- - .../display/panel/sitronix,st7701s.yaml | 32 +++++++++++++++++++ - 1 file changed, 32 insertions(+) - create mode 100644 Documentation/devicetree/bindings/display/panel/sitronix,st7701s.yaml - ---- /dev/null -+++ b/Documentation/devicetree/bindings/display/panel/sitronix,st7701s.yaml -@@ -0,0 +1,32 @@ -+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -+%YAML 1.2 -+--- -+$id: http://devicetree.org/schemas/display/panel/sitronix,st7701s.yaml# -+$schema: http://devicetree.org/meta-schemas/core.yaml# -+ -+title: Sitronix ST7701 based LCD panels -+ -+maintainers: -+ - Samuel Holland -+ -+description: | -+ Panel used on Lichee RV 86 Panel -+ -+allOf: -+ - $ref: panel-common.yaml# -+ - $ref: /schemas/spi/spi-peripheral-props.yaml# -+ -+properties: -+ compatible: -+ items: -+ - const: sitronix,st7701s -+ -+ backlight: true -+ -+ reset-gpios: true -+ -+required: -+ - compatible -+ - reset-gpios -+ -+unevaluatedProperties: false diff --git a/target/linux/d1/patches-6.1/0017-drm-panel-Add-driver-for-ST7701s-DPI-LCD-panel.patch b/target/linux/d1/patches-6.1/0017-drm-panel-Add-driver-for-ST7701s-DPI-LCD-panel.patch deleted file mode 100644 index 535478cf9ef442..00000000000000 --- a/target/linux/d1/patches-6.1/0017-drm-panel-Add-driver-for-ST7701s-DPI-LCD-panel.patch +++ /dev/null @@ -1,487 +0,0 @@ -From 9d9b8bd567c30a821c82c27035243536c5234542 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Tue, 29 Mar 2022 22:47:57 -0500 -Subject: [PATCH 017/117] drm/panel: Add driver for ST7701s DPI LCD panel - -Signed-off-by: Samuel Holland ---- - drivers/gpu/drm/panel/Kconfig | 8 + - drivers/gpu/drm/panel/Makefile | 1 + - .../gpu/drm/panel/panel-sitronix-st7701s.c | 444 ++++++++++++++++++ - 3 files changed, 453 insertions(+) - create mode 100644 drivers/gpu/drm/panel/panel-sitronix-st7701s.c - ---- a/drivers/gpu/drm/panel/Kconfig -+++ b/drivers/gpu/drm/panel/Kconfig -@@ -608,6 +608,14 @@ config DRM_PANEL_SITRONIX_ST7701 - ST7701 controller for 480X864 LCD panels with MIPI/RGB/SPI - system interfaces. - -+config DRM_PANEL_SITRONIX_ST7701S -+ tristate "Sitronix ST7701s panel driver" -+ depends on OF -+ depends on BACKLIGHT_CLASS_DEVICE -+ help -+ Say Y here if you want to enable support for the Sitronix -+ ST7701s controller with a SPI interface. -+ - config DRM_PANEL_SITRONIX_ST7703 - tristate "Sitronix ST7703 based MIPI touchscreen panels" - depends on OF ---- a/drivers/gpu/drm/panel/Makefile -+++ b/drivers/gpu/drm/panel/Makefile -@@ -61,6 +61,7 @@ obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01 - obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o - obj-$(CONFIG_DRM_PANEL_SHARP_LS060T1SX01) += panel-sharp-ls060t1sx01.o - obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o -+obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701S) += panel-sitronix-st7701s.o - obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o - obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o - obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o ---- /dev/null -+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701s.c -@@ -0,0 +1,444 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+/* -+ * Copyright (C) 2017 Free Electrons -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#include