fix sync
This commit is contained in:
parent
3132c76269
commit
a432948460
2
Makefile
2
Makefile
@ -15,7 +15,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir
|
||||
world:
|
||||
|
||||
DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep '/usr' -m 1)
|
||||
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
|
||||
export PATH:=$(if $(STAGING_DIR),$(abspath $(STAGING_DIR)/../host/bin),$(TOPDIR)/staging_dir/host/bin):$(PATH)
|
||||
|
||||
ifneq ($(OPENWRT_BUILD),1)
|
||||
_SINGLE=export MAKEFLAGS=$(space);
|
||||
|
@ -17,7 +17,7 @@ menu "Target Images"
|
||||
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq
|
||||
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
|
||||
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
|
||||
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ipq40xx
|
||||
default TARGET_INITRAMFS_COMPRESSION_ZSTD if TARGET_qualcommax
|
||||
default TARGET_INITRAMFS_COMPRESSION_XZ if USES_SEPARATE_INITRAMFS
|
||||
default TARGET_INITRAMFS_COMPRESSION_NONE
|
||||
depends on TARGET_ROOTFS_INITRAMFS
|
||||
@ -198,18 +198,21 @@ menu "Target Images"
|
||||
default ""
|
||||
|
||||
config GRUB_IMAGES
|
||||
bool "Build GRUB images (Linux x86 or x86_64 host only)"
|
||||
bool "Build GRUB images"
|
||||
depends on TARGET_x86
|
||||
depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
|
||||
select PACKAGE_grub2
|
||||
default n
|
||||
|
||||
config GRUB_EFI_IMAGES
|
||||
bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
|
||||
depends on TARGET_x86
|
||||
bool "Build GRUB EFI images"
|
||||
depends on TARGET_x86 || TARGET_armvirt || TARGET_loongarch64 || TARGET_phytium_armv8
|
||||
depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
|
||||
select PACKAGE_grub2
|
||||
select PACKAGE_grub2-efi
|
||||
select PACKAGE_grub2 if TARGET_x86
|
||||
select PACKAGE_grub2-efi if TARGET_x86
|
||||
select PACKAGE_grub2-bios-setup if TARGET_x86
|
||||
select PACKAGE_grub2-efi-arm if TARGET_armvirt
|
||||
select PACKAGE_grub2-efi-arm if TARGET_phytium_armv8
|
||||
select PACKAGE_kmod-fs-vfat
|
||||
default y
|
||||
|
||||
@ -274,7 +277,7 @@ menu "Target Images"
|
||||
|
||||
config VMDK_IMAGES
|
||||
bool "Build VMware image files (VMDK)"
|
||||
depends on TARGET_x86
|
||||
depends on TARGET_x86 || TARGET_armvirt || TARGET_loongarch64
|
||||
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
|
||||
default y
|
||||
select PACKAGE_kmod-e1000
|
||||
@ -287,7 +290,7 @@ menu "Target Images"
|
||||
|
||||
config TARGET_IMAGES_GZIP
|
||||
bool "GZip images"
|
||||
depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
|
||||
depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_loongarch64 || TARGET_malta
|
||||
default y
|
||||
|
||||
comment "Image Options"
|
||||
@ -300,12 +303,13 @@ menu "Target Images"
|
||||
default 8 if TARGET_apm821xx_sata
|
||||
default 64 if TARGET_bcm27xx
|
||||
default 32 if TARGET_rockchip
|
||||
default 32 if TARGET_x86
|
||||
default 128 if TARGET_armvirt
|
||||
default 16
|
||||
|
||||
config TARGET_ROOTFS_PARTSIZE
|
||||
int "Root filesystem partition size (in MiB)"
|
||||
depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS
|
||||
default 232 if TARGET_loongarch64
|
||||
default 400 if TARGET_x86
|
||||
default 160
|
||||
help
|
||||
|
@ -401,6 +401,17 @@ config KERNEL_DEBUG_INFO_REDUCED
|
||||
DEBUG_INFO build and compile times are reduced too.
|
||||
Only works with newer gcc versions.
|
||||
|
||||
config KERNEL_FRAME_WARN
|
||||
int
|
||||
range 0 8192
|
||||
default 1280 if KERNEL_KASAN && !ARCH_64BIT
|
||||
default 1024 if !ARCH_64BIT
|
||||
default 2048 if ARCH_64BIT
|
||||
help
|
||||
Tell the compiler to warn at build time for stack frames larger than this.
|
||||
Setting this too low will cause a lot of warnings.
|
||||
Setting it to 0 disables the warning.
|
||||
|
||||
config KERNEL_DEBUG_LL_UART_NONE
|
||||
bool
|
||||
default n
|
||||
@ -1056,6 +1067,13 @@ if KERNEL_IP_MROUTE
|
||||
|
||||
endif
|
||||
|
||||
config KERNEL_MPTCP
|
||||
bool "Enable IPv4 MultiPath TCP support"
|
||||
default y
|
||||
depends on !(LINUX_4_4||LINUX_5_4)
|
||||
help
|
||||
IPv4 MultiPath TCP to kernel support.
|
||||
|
||||
#
|
||||
# IPv6 configuration
|
||||
#
|
||||
@ -1097,6 +1115,14 @@ if KERNEL_IPV6
|
||||
config KERNEL_LWTUNNEL_BPF
|
||||
def_bool n
|
||||
|
||||
config KERNEL_MPTCP_IPV6
|
||||
bool "Enable IPv6 MultiPath TCP support"
|
||||
default y
|
||||
depends on KERNEL_MPTCP
|
||||
depends on !(LINUX_4_4||LINUX_5_4)
|
||||
help
|
||||
IPv6 MultiPath TCP to kernel support.
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
@ -1109,6 +1135,14 @@ config KERNEL_NET_L3_MASTER_DEV
|
||||
This module provides glue between core networking code and device
|
||||
drivers to support L3 master devices like VRF.
|
||||
|
||||
config KERNEL_PAGE_POOL
|
||||
def_bool n
|
||||
|
||||
config KERNEL_PAGE_POOL_STATS
|
||||
bool "Page pool stats support"
|
||||
depends on KERNEL_PAGE_POOL
|
||||
depends on !(LINUX_5_4||LINUX_5_10)
|
||||
|
||||
#
|
||||
# NFS related symbols
|
||||
#
|
||||
|
BIN
doc/h68k.jpg
Normal file
BIN
doc/h68k.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
BIN
doc/r1.jpg
Normal file
BIN
doc/r1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
BIN
doc/star.png
Normal file
BIN
doc/star.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 163 KiB |
@ -1,4 +1,10 @@
|
||||
src-git packages https://github.com/DHDAXCW/packages
|
||||
src-git luci https://github.com/DHDAXCW/luci
|
||||
src-git packages https://github.com/coolsnowwolf/packages
|
||||
src-git luci https://github.com/coolsnowwolf/luci
|
||||
src-git routing https://github.com/coolsnowwolf/routing
|
||||
src-git telephony https://git.openwrt.org/feed/telephony.git
|
||||
#src-git helloworld https://github.com/fw876/helloworld.git
|
||||
#src-git oui https://github.com/zhaojh329/oui.git
|
||||
#src-git video https://github.com/openwrt/video.git
|
||||
#src-git targets https://github.com/openwrt/targets.git
|
||||
#src-git oldpackages http://git.openwrt.org/packages.git
|
||||
#src-link custom /usr/src/openwrt/custom-feed
|
||||
|
@ -300,7 +300,7 @@ define Build/fit
|
||||
$(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \
|
||||
$(if $(DEVICE_DTS_DELIMITER),-l $(DEVICE_DTS_DELIMITER)) \
|
||||
$(if $(DEVICE_DTS_LOADADDR),-s $(DEVICE_DTS_LOADADDR)) \
|
||||
$(if $(DEVICE_DTS_OVERLAY),$(foreach dtso,$(DEVICE_DTS_OVERLAY), -O $(dtso):$(KERNEL_BUILD_DIR)/image-$(dtso).dtb)) \
|
||||
$(if $(DEVICE_DTS_OVERLAY),$(foreach dtso,$(DEVICE_DTS_OVERLAY), -O $(dtso):$(KERNEL_BUILD_DIR)/image-$(dtso).dtbo)) \
|
||||
-c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \
|
||||
-A $(LINUX_KARCH) -v $(LINUX_VERSION)
|
||||
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(findstring external,$(word 3,$(1))),\
|
||||
@ -581,6 +581,7 @@ define Build/tplink-v2-image
|
||||
endef
|
||||
|
||||
define Build/uImage
|
||||
$(if $(UIMAGE_TIME),SOURCE_DATE_EPOCH="$(UIMAGE_TIME)") \
|
||||
mkimage \
|
||||
-A $(LINUX_KARCH) \
|
||||
-O linux \
|
||||
|
@ -146,7 +146,7 @@ endif
|
||||
|
||||
|
||||
# Disable noisy checks by default as in upstream
|
||||
DTC_FLAGS += \
|
||||
DTC_WARN_FLAGS := \
|
||||
-Wno-unit_address_vs_reg \
|
||||
-Wno-simple_bus_reg \
|
||||
-Wno-unit_address_format \
|
||||
@ -159,6 +159,9 @@ DTC_FLAGS += \
|
||||
-Wno-graph_port \
|
||||
-Wno-unique_unit_address
|
||||
|
||||
DTC_FLAGS += $(DTC_WARN_FLAGS)
|
||||
DTCO_FLAGS += $(DTC_WARN_FLAGS)
|
||||
|
||||
define Image/pad-to
|
||||
dd if=$(1) of=$(1).new bs=$(2) conv=sync
|
||||
mv $(1).new $(1)
|
||||
@ -174,7 +177,7 @@ endef
|
||||
# $(2) target dtb file
|
||||
# $(3) extra CPP flags
|
||||
# $(4) extra DTC flags
|
||||
define Image/BuildDTB
|
||||
define Image/BuildDTB/sub
|
||||
$(TARGET_CROSS)cpp -nostdinc -x assembler-with-cpp \
|
||||
$(DTS_CPPFLAGS) \
|
||||
-I$(DTS_DIR) \
|
||||
@ -183,12 +186,20 @@ define Image/BuildDTB
|
||||
-undef -D__DTS__ $(3) \
|
||||
-o $(2).tmp $(1)
|
||||
$(LINUX_DIR)/scripts/dtc/dtc -O dtb \
|
||||
-i$(dir $(1)) $(DTC_FLAGS) $(4) \
|
||||
-i$(dir $(1)) $(4) \
|
||||
$(if $(CONFIG_HAS_DT_OVERLAY_SUPPORT),-@) \
|
||||
-o $(2) $(2).tmp
|
||||
$(RM) $(2).tmp
|
||||
endef
|
||||
|
||||
define Image/BuildDTB
|
||||
$(call Image/BuildDTB/sub,$(1),$(2),$(3),$(DTC_FLAGS) $(DEVICE_DTC_FLAGS) $(4))
|
||||
endef
|
||||
|
||||
define Image/BuildDTBO
|
||||
$(call Image/BuildDTB/sub,$(1),$(2),$(3),$(DTCO_FLAGS) $(DEVICE_DTCO_FLAGS) $(4))
|
||||
endef
|
||||
|
||||
define Image/mkfs/jffs2/sub-raw
|
||||
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
|
||||
$(2) \
|
||||
@ -400,11 +411,14 @@ define Device/Init
|
||||
DEVICE_DTS_LOADADDR :=
|
||||
DEVICE_DTS_OVERLAY :=
|
||||
DEVICE_FDT_NUM :=
|
||||
DEVICE_DTC_FLAGS :=
|
||||
DEVICE_DTCO_FLAGS :=
|
||||
SOC :=
|
||||
|
||||
BOARD_NAME :=
|
||||
UIMAGE_MAGIC :=
|
||||
UIMAGE_NAME :=
|
||||
UIMAGE_TIME :=
|
||||
DEVICE_COMPAT_VERSION := 1.0
|
||||
DEVICE_COMPAT_MESSAGE :=
|
||||
SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
|
||||
@ -421,11 +435,11 @@ endef
|
||||
DEFAULT_DEVICE_VARS := \
|
||||
DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE KERNEL_SIZE \
|
||||
CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \
|
||||
VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \
|
||||
DEVICE_DTS_CONFIG DEVICE_DTS_DELIMITER DEVICE_DTS_DIR DEVICE_DTS_OVERLAY \
|
||||
DEVICE_DTS_LOADADDR \
|
||||
VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTC_FLAGS \
|
||||
DEVICE_DTCO_FLAGS DEVICE_DTS DEVICE_DTS_CONFIG DEVICE_DTS_DELIMITER \
|
||||
DEVICE_DTS_DIR DEVICE_DTS_OVERLAY DEVICE_DTS_LOADADDR \
|
||||
DEVICE_FDT_NUM DEVICE_IMG_PREFIX SOC BOARD_NAME UIMAGE_MAGIC UIMAGE_NAME \
|
||||
SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \
|
||||
UIMAGE_TIME SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \
|
||||
UBOOT_PATH IMAGE_SIZE \
|
||||
FACTORY_IMG_NAME FACTORY_SIZE \
|
||||
DEVICE_PACKAGES DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \
|
||||
@ -550,19 +564,36 @@ define Device/Build/dtb
|
||||
$(KDIR)/image-$(1).dtb: FORCE
|
||||
$(call Image/BuildDTB,$(strip $(2))/$(strip $(3)).dts,$$@)
|
||||
|
||||
image_prepare: $(KDIR)/image-$(1).dtb
|
||||
compile-dtb: $(KDIR)/image-$(1).dtb
|
||||
endif
|
||||
|
||||
endef
|
||||
|
||||
define Device/Build/dtbo
|
||||
ifndef BUILD_DTSO_$(1)
|
||||
BUILD_DTSO_$(1) := 1
|
||||
$(KDIR)/image-$(1).dtbo: FORCE
|
||||
$(call Image/BuildDTBO,$(strip $(2))/$(strip $(3)).dtso,$$@)
|
||||
|
||||
compile-dtb: $(KDIR)/image-$(1).dtbo
|
||||
endif
|
||||
|
||||
endef
|
||||
endif
|
||||
|
||||
define Device/Build/kernel
|
||||
$$(eval $$(foreach dts,$$(DEVICE_DTS) $$(DEVICE_DTS_OVERLAY), \
|
||||
$$(eval $$(foreach dts,$$(DEVICE_DTS), \
|
||||
$$(call Device/Build/dtb,$$(notdir $$(dts)), \
|
||||
$$(if $$(DEVICE_DTS_DIR),$$(DEVICE_DTS_DIR),$$(DTS_DIR)), \
|
||||
$$(dts) \
|
||||
) \
|
||||
))
|
||||
$$(eval $$(foreach dtso,$$(DEVICE_DTS_OVERLAY), \
|
||||
$$(call Device/Build/dtbo,$$(notdir $$(dtso)), \
|
||||
$$(if $$(DEVICE_DTS_DIR),$$(DEVICE_DTS_DIR),$$(DTS_DIR)), \
|
||||
$$(dtso) \
|
||||
) \
|
||||
))
|
||||
|
||||
$(KDIR)/$$(KERNEL_NAME):: image_prepare
|
||||
$$(_TARGET): $$(if $$(KERNEL_INSTALL),$(BIN_DIR)/$$(KERNEL_IMAGE))
|
||||
@ -781,18 +812,20 @@ define BuildImage
|
||||
download:
|
||||
prepare:
|
||||
compile:
|
||||
compile-dtb:
|
||||
clean:
|
||||
image_prepare:
|
||||
|
||||
ifeq ($(IB),)
|
||||
.PHONY: download prepare compile clean image_prepare kernel_prepare install install-images
|
||||
.PHONY: download prepare compile compile-dtb clean image_prepare kernel_prepare install install-images
|
||||
compile:
|
||||
$(call Build/Compile)
|
||||
|
||||
clean:
|
||||
$(call Build/Clean)
|
||||
|
||||
image_prepare: compile
|
||||
compile-dtb:
|
||||
image_prepare: compile compile-dtb
|
||||
mkdir -p $(BIN_DIR) $(KDIR)/tmp
|
||||
rm -rf $(BUILD_DIR)/json_info_files
|
||||
$(call Image/Prepare)
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.10 = .165
|
||||
LINUX_KERNEL_HASH-5.10.165 = 971defc48f19ed0a2a7ffd4b48234619cac28895c985c6d747f5b707ba47af0d
|
||||
LINUX_VERSION-5.10 = .213
|
||||
LINUX_KERNEL_HASH-5.10.213 = 84cf30223239ec3333a5f7b2a7fba2042bba70d1582a139f7543956af871ad80
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.15 = .147
|
||||
LINUX_KERNEL_HASH-5.15.147 = 56c1e65625d201db431efda7a3816e7b424071e7cb0245b2ba594d15b1fdfcd4
|
||||
LINUX_VERSION-5.15 = .152
|
||||
LINUX_KERNEL_HASH-5.15.152 = f0805225f4a5b24d0bba9302c2c2f261c04f737ac5dd931da9b112e9f3e4a47e
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.4 = .192
|
||||
LINUX_KERNEL_HASH-5.4.192 = 32482e1152fb07b126180a374f5f7d14601bd13a50ab8cbb75465aa998da9e93
|
||||
LINUX_VERSION-5.4 = .272
|
||||
LINUX_KERNEL_HASH-5.4.272 = 3599d5959a403e64be407d7f05e56cb270d6ddd154e89a596609919ab1e2e366
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .82
|
||||
LINUX_KERNEL_HASH-6.1.82 = d150d2d9d416877668d8b56f75759f166168d192419eefaa942ed67225cbec06
|
||||
LINUX_KERNEL_HASH-6.1.82 = d150d2d9d416877668d8b56f75759f166168d192419eefaa942ed67225cbec06
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .17
|
||||
LINUX_KERNEL_HASH-6.6.17 = ee7650996ba75aa29fe66f309b413097f249a03e7001f2a41128c7c95205226a
|
||||
LINUX_VERSION-6.6 = .22
|
||||
LINUX_KERNEL_HASH-6.6.22 = 23e3e7b56407250f5411bdab95763d0bc4e3a19dfa431d951df7eacabd61a2f4
|
||||
|
@ -156,6 +156,10 @@ define BuildKernel
|
||||
compile: $(LINUX_DIR)/.modules
|
||||
$(MAKE) -C image compile TARGET_BUILD=
|
||||
|
||||
dtb: $(STAMP_CONFIGURED)
|
||||
$(_SINGLE)$(KERNEL_MAKE) scripts_dtc
|
||||
$(MAKE) -C image compile-dtb TARGET_BUILD=
|
||||
|
||||
oldconfig menuconfig nconfig xconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE
|
||||
rm -f $(LINUX_DIR)/.config.prev
|
||||
rm -f $(STAMP_CONFIGURED)
|
||||
|
@ -75,6 +75,7 @@ endif
|
||||
rm -f $(LINUX_DIR)/.config.prev
|
||||
mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
|
||||
$(call Kernel/SetInitramfs/PreConfigure)
|
||||
echo "# CONFIG_INITRAMFS_PRESERVE_MTIME is not set" >> $(LINUX_DIR)/.config
|
||||
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),y)
|
||||
echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
|
||||
echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
|
||||
@ -99,6 +100,7 @@ define Kernel/SetNoInitramfs
|
||||
grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config.set
|
||||
echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set
|
||||
echo '# CONFIG_INITRAMFS_FORCE is not set' >> $(LINUX_DIR)/.config.set
|
||||
echo "# CONFIG_INITRAMFS_PRESERVE_MTIME is not set" >> $(LINUX_DIR)/.config.set
|
||||
endef
|
||||
|
||||
define Kernel/Configure/Default
|
||||
|
@ -2,11 +2,6 @@
|
||||
# Use the default kernel version if the Makefile doesn't override it
|
||||
LINUX_RELEASE?=1
|
||||
|
||||
ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PA
|
||||
# Use the default kernel version if the Makefile doesn't override it
|
||||
LINUX_RELEASE?=1
|
||||
|
||||
ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
@ -51,42 +46,6 @@ KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION)))
|
||||
KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE))))
|
||||
KERNEL_PATCHVER ?= $(KERNEL)
|
||||
|
||||
# disable the md5sum check for unknown kernel versions
|
||||
LINUX_KERNEL_HASH:=$(LINUX_KERNEL_HASH-$(strip $(LINUX_VERSION)))
|
||||
LINUX_KERNEL_HASH?=xTCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
KERNEL_DETAILS_FILE=$(INCLUDE_DIR)/kernel-$(KERNEL_PATCHVER)
|
||||
ifeq ($(wildcard $(KERNEL_DETAILS_FILE)),)
|
||||
$(error Missing kernel version/hash file for $(KERNEL_PATCHVER). Please create $(KERNEL_DETAILS_FILE))
|
||||
endif
|
||||
|
||||
include $(KERNEL_DETAILS_FILE)
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
ifneq ($(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),)
|
||||
LINUX_VERSION:=$(call sanitize_uri,$(call remove_uri_prefix,$(CONFIG_KERNEL_GIT_CLONE_URI)))
|
||||
ifeq ($(call qstrip,$(CONFIG_KERNEL_GIT_REF)),)
|
||||
CONFIG_KERNEL_GIT_REF:=HEAD
|
||||
endif
|
||||
LINUX_VERSION:=$(LINUX_VERSION)-$(call sanitize_uri,$(CONFIG_KERNEL_GIT_REF))
|
||||
else
|
||||
ifdef KERNEL_PATCHVER
|
||||
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
|
||||
endif
|
||||
ifdef KERNEL_TESTING_PATCHVER
|
||||
LINUX_TESTING_VERSION:=$(KERNEL_TESTING_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_TESTING_PATCHVER)))
|
||||
endif
|
||||
endif
|
||||
|
||||
split_version=$(subst ., ,$(1))
|
||||
merge_version=$(subst $(space),.,$(1))
|
||||
KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION)))
|
||||
KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE))))
|
||||
KERNEL_PATCHVER ?= $(KERNEL)
|
||||
|
||||
# disable the md5sum check for unknown kernel versions
|
||||
LINUX_KERNEL_HASH:=$(LINUX_KERNEL_HASH-$(strip $(LINUX_VERSION)))
|
||||
LINUX_KERNEL_HASH?=x
|
||||
|
@ -86,6 +86,8 @@ else ifneq (,$(findstring $(ARCH) , arceb ))
|
||||
LINUX_KARCH := arc
|
||||
else ifneq (,$(findstring $(ARCH) , armeb ))
|
||||
LINUX_KARCH := arm
|
||||
else ifneq (,$(findstring $(ARCH) , loongarch64 ))
|
||||
LINUX_KARCH := loongarch
|
||||
else ifneq (,$(findstring $(ARCH) , mipsel mips64 mips64el ))
|
||||
LINUX_KARCH := mips
|
||||
else ifneq (,$(findstring $(ARCH) , powerpc64 ))
|
||||
|
@ -1,50 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2022 Enéas Ulir de Queiroz
|
||||
|
||||
ENGINES_DIR=engines-1.1
|
||||
|
||||
define Package/openssl/engine/Default
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
SUBMENU:=SSL
|
||||
DEPENDS:=libopenssl @OPENSSL_ENGINE +libopenssl-conf
|
||||
endef
|
||||
|
||||
# 1 = engine name
|
||||
# 2 - package name, defaults to libopenssl-$(1)
|
||||
define Package/openssl/add-engine
|
||||
OSSL_ENG_PKG:=$(if $(2),$(2),libopenssl-$(1))
|
||||
Package/$$(OSSL_ENG_PKG)/conffiles:=/etc/ssl/engines.cnf.d/$(1).cnf
|
||||
|
||||
define Package/$$(OSSL_ENG_PKG)/install
|
||||
$$(INSTALL_DIR) $$(1)/usr/lib/$(ENGINES_DIR)
|
||||
$$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/$(ENGINES_DIR)/$(1).so \
|
||||
$$(1)/usr/lib/$(ENGINES_DIR)
|
||||
$$(INSTALL_DIR) $$(1)/etc/ssl/engines.cnf.d
|
||||
$$(INSTALL_DATA) ./files/$(1).cnf $$(1)/etc/ssl/engines.cnf.d/
|
||||
endef
|
||||
|
||||
define Package/$$(OSSL_ENG_PKG)/postinst :=
|
||||
#!/bin/sh
|
||||
OPENSSL_UCI="$$$${IPKG_INSTROOT}/etc/config/openssl"
|
||||
|
||||
[ -z "$$$${IPKG_INSTROOT}" ] && uci -q get openssl.$(1) >/dev/null && exit 0
|
||||
|
||||
cat << EOF >> "$$$${OPENSSL_UCI}"
|
||||
|
||||
config engine '$(1)'
|
||||
option enabled '1'
|
||||
EOF
|
||||
|
||||
[ -n "$$$${IPKG_INSTROOT}" ] || /etc/init.d/openssl reload
|
||||
endef
|
||||
|
||||
define Package/$$(OSSL_ENG_PKG)/postrm :=
|
||||
#!/bin/sh
|
||||
[ -n "$$$${IPKG_INSTROOT}" ] && exit 0
|
||||
uci delete openssl.$(1)
|
||||
uci commit openssl
|
||||
/etc/init.d/openssl reload
|
||||
endef
|
||||
endef
|
@ -1,78 +1,79 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2022-2023 Enéas Ulir de Queiroz
|
||||
|
||||
ENGINES_DIR=engines-3
|
||||
|
||||
define Package/openssl/module/Default
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
SUBMENU:=SSL
|
||||
DEPENDS:=libopenssl +libopenssl-conf
|
||||
endef
|
||||
|
||||
define Package/openssl/engine/Default
|
||||
$(Package/openssl/module/Default)
|
||||
DEPENDS+=@OPENSSL_ENGINE
|
||||
endef
|
||||
|
||||
|
||||
# 1 = moudule type (engine|provider)
|
||||
# 2 = module name
|
||||
# 3 = directory to save .so file
|
||||
# 4 = [ package name, defaults to libopenssl-$(2) ]
|
||||
define Package/openssl/add-module
|
||||
$(eval MOD_TYPE:=$(1))
|
||||
$(eval MOD_NAME:=$(2))
|
||||
$(eval MOD_DIR:=$(3))
|
||||
$(eval OSSL_PKG:=$(if $(4),$(4),libopenssl-$(MOD_NAME)))
|
||||
$(info Package/openssl/add-module 1='$(1)'; 2='$(2)'; 3='$(3)' 4='$(4)')
|
||||
$(info MOD_TYPE='$(MOD_TYPE)'; MOD_NAME='$(MOD_NAME)'; MOD_DIR='$(MOD_DIR)' OSSL_PKG='$(OSSL_PKG)')
|
||||
Package/$(OSSL_PKG)/conffiles:=/etc/ssl/modules.cnf.d/$(MOD_NAME).cnf
|
||||
|
||||
define Package/$(OSSL_PKG)/install
|
||||
$$(INSTALL_DIR) $$(1)/$(MOD_DIR)
|
||||
$$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/$(MOD_DIR)/$(MOD_NAME).so \
|
||||
$$(1)/$(MOD_DIR)
|
||||
$$(INSTALL_DIR) $$(1)/etc/ssl/modules.cnf.d
|
||||
$$(INSTALL_DATA) ./files/$(MOD_NAME).cnf $$(1)/etc/ssl/modules.cnf.d/
|
||||
endef
|
||||
|
||||
define Package/$(OSSL_PKG)/postinst
|
||||
#!/bin/sh
|
||||
OPENSSL_UCI="$$$${IPKG_INSTROOT}/etc/config/openssl"
|
||||
|
||||
[ -z "$$$${IPKG_INSTROOT}" ] \
|
||||
&& uci -q get openssl.$(MOD_NAME) >/dev/null \
|
||||
&& exit 0
|
||||
|
||||
cat << EOF >> "$$$${OPENSSL_UCI}"
|
||||
|
||||
config $(MOD_TYPE) '$(MOD_NAME)'
|
||||
option enabled '1'
|
||||
EOF
|
||||
|
||||
[ -n "$$$${IPKG_INSTROOT}" ] || /etc/init.d/openssl reload
|
||||
exit 0
|
||||
endef
|
||||
|
||||
define Package/$(OSSL_PKG)/postrm
|
||||
#!/bin/sh
|
||||
[ -n "$$$${IPKG_INSTROOT}" ] && exit 0
|
||||
uci -q delete openssl.$(MOD_NAME) && uci commit openssl
|
||||
/etc/init.d/openssl reload
|
||||
exit 0
|
||||
endef
|
||||
endef
|
||||
|
||||
# 1 = engine name
|
||||
# 2 - package name, defaults to libopenssl-$(1)
|
||||
define Package/openssl/add-engine
|
||||
$(call Package/openssl/add-module,engine,$(1),/usr/lib/$(ENGINES_DIR),$(2))
|
||||
endef
|
||||
|
||||
# 1 = provider name
|
||||
# 2 = [ package name, defaults to libopenssl-$(1) ]
|
||||
define Package/openssl/add-provider
|
||||
$(call Package/openssl/add-module,provider,$(1),/usr/lib/ossl-modules,$(2))
|
||||
endef
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2022-2023 Enéas Ulir de Queiroz
|
||||
|
||||
ENGINES_DIR=engines-3
|
||||
|
||||
define Package/openssl/module/Default
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
SUBMENU:=SSL
|
||||
DEPENDS:=libopenssl +libopenssl-conf
|
||||
endef
|
||||
|
||||
define Package/openssl/engine/Default
|
||||
$(Package/openssl/module/Default)
|
||||
DEPENDS+=@OPENSSL_ENGINE
|
||||
endef
|
||||
|
||||
|
||||
# 1 = moudule type (engine|provider)
|
||||
# 2 = module name
|
||||
# 3 = directory to save .so file
|
||||
# 4 = [ package name, defaults to libopenssl-$(2) ]
|
||||
define Package/openssl/add-module
|
||||
$(eval MOD_TYPE:=$(1))
|
||||
$(eval MOD_NAME:=$(2))
|
||||
$(eval MOD_DIR:=$(3))
|
||||
$(eval OSSL_PKG:=$(if $(4),$(4),libopenssl-$(MOD_NAME)))
|
||||
$(info Package/openssl/add-module 1='$(1)'; 2='$(2)'; 3='$(3)' 4='$(4)')
|
||||
$(info MOD_TYPE='$(MOD_TYPE)'; MOD_NAME='$(MOD_NAME)'; MOD_DIR='$(MOD_DIR)' OSSL_PKG='$(OSSL_PKG)')
|
||||
Package/$(OSSL_PKG)/conffiles:=/etc/ssl/modules.cnf.d/$(MOD_NAME).cnf
|
||||
|
||||
define Package/$(OSSL_PKG)/install
|
||||
$$(INSTALL_DIR) $$(1)/$(MOD_DIR)
|
||||
$$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/$(MOD_DIR)/$(MOD_NAME).so \
|
||||
$$(1)/$(MOD_DIR)
|
||||
$$(INSTALL_DIR) $$(1)/etc/ssl/modules.cnf.d
|
||||
$$(INSTALL_DATA) ./files/$(MOD_NAME).cnf $$(1)/etc/ssl/modules.cnf.d/
|
||||
endef
|
||||
|
||||
define Package/$(OSSL_PKG)/postinst
|
||||
#!/bin/sh
|
||||
OPENSSL_UCI="$$$${IPKG_INSTROOT}/etc/config/openssl"
|
||||
|
||||
[ -z "$$$${IPKG_INSTROOT}" ] \
|
||||
&& uci -q get openssl.$(MOD_NAME) >/dev/null \
|
||||
&& exit 0
|
||||
|
||||
cat << EOF >> "$$$${OPENSSL_UCI}"
|
||||
|
||||
config $(MOD_TYPE) '$(MOD_NAME)'
|
||||
option enabled '1'
|
||||
EOF
|
||||
|
||||
[ -n "$$$${IPKG_INSTROOT}" ] || /etc/init.d/openssl reload
|
||||
exit 0
|
||||
endef
|
||||
|
||||
define Package/$(OSSL_PKG)/postrm
|
||||
#!/bin/sh
|
||||
[ -n "$$$${IPKG_INSTROOT}" ] && exit 0
|
||||
uci -q delete openssl.$(MOD_NAME) && uci commit openssl
|
||||
/etc/init.d/openssl reload
|
||||
exit 0
|
||||
endef
|
||||
endef
|
||||
|
||||
# 1 = engine name
|
||||
# 2 - package name, defaults to libopenssl-$(1)
|
||||
define Package/openssl/add-engine
|
||||
$(call Package/openssl/add-module,engine,$(1),/usr/lib/$(ENGINES_DIR),$(2))
|
||||
endef
|
||||
|
||||
# 1 = provider name
|
||||
# 2 = [ package name, defaults to libopenssl-$(1) ]
|
||||
define Package/openssl/add-provider
|
||||
$(call Package/openssl/add-module,provider,$(1),/usr/lib/ossl-modules,$(2))
|
||||
endef
|
||||
|
||||
|
@ -229,4 +229,4 @@ prereq: $(STAGING_DIR_HOST)/bin/mkhash $(STAGING_DIR_HOST)/bin/xxd
|
||||
|
||||
# Install ldconfig stub
|
||||
$(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \
|
||||
$(LN) $(firstword $(wildcard /bin/true /usr/bin/true)) $(STAGING_DIR_HOST)/bin/ldconfig))
|
||||
$(LN) $(SCRIPT_DIR)/noop.sh $(STAGING_DIR_HOST)/bin/ldconfig))
|
||||
|
30
include/site/loongarch64
Normal file
30
include/site/loongarch64
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
. $TOPDIR/include/site/linux
|
||||
ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
|
||||
ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
|
||||
|
||||
ac_cv_sizeof___int64=0
|
||||
ac_cv_sizeof_char=1
|
||||
ac_cv_sizeof_int=4
|
||||
ac_cv_sizeof_int16_t=2
|
||||
ac_cv_sizeof_int32_t=4
|
||||
ac_cv_sizeof_int64_t=8
|
||||
ac_cv_sizeof_long_int=8
|
||||
ac_cv_sizeof_long_long=8
|
||||
ac_cv_sizeof_long=8
|
||||
ac_cv_sizeof_off_t=8
|
||||
ac_cv_sizeof_short_int=2
|
||||
ac_cv_sizeof_short=2
|
||||
ac_cv_sizeof_size_t=8
|
||||
ac_cv_sizeof_ssize_t=8
|
||||
ac_cv_sizeof_u_int16_t=2
|
||||
ac_cv_sizeof_u_int32_t=4
|
||||
ac_cv_sizeof_u_int64_t=8
|
||||
ac_cv_sizeof_uint16_t=2
|
||||
ac_cv_sizeof_uint32_t=4
|
||||
ac_cv_sizeof_uint64_t=8
|
||||
ac_cv_sizeof_unsigned_int=4
|
||||
ac_cv_sizeof_unsigned_long=8
|
||||
ac_cv_sizeof_unsigned_long_long=8
|
||||
ac_cv_sizeof_unsigned_short=2
|
||||
ac_cv_sizeof_void_p=8
|
30
include/site/riscv64
Normal file
30
include/site/riscv64
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
. $TOPDIR/include/site/linux
|
||||
ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
|
||||
ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
|
||||
|
||||
ac_cv_sizeof___int64=8
|
||||
ac_cv_sizeof_char=1
|
||||
ac_cv_sizeof_int=4
|
||||
ac_cv_sizeof_int16_t=2
|
||||
ac_cv_sizeof_int32_t=4
|
||||
ac_cv_sizeof_int64_t=8
|
||||
ac_cv_sizeof_long_int=8
|
||||
ac_cv_sizeof_long_long=8
|
||||
ac_cv_sizeof_long=8
|
||||
ac_cv_sizeof_off_t=8
|
||||
ac_cv_sizeof_short_int=2
|
||||
ac_cv_sizeof_short=2
|
||||
ac_cv_sizeof_size_t=8
|
||||
ac_cv_sizeof_ssize_t=8
|
||||
ac_cv_sizeof_u_int16_t=2
|
||||
ac_cv_sizeof_u_int32_t=4
|
||||
ac_cv_sizeof_u_int64_t=8
|
||||
ac_cv_sizeof_uint16_t=2
|
||||
ac_cv_sizeof_uint32_t=4
|
||||
ac_cv_sizeof_uint64_t=8
|
||||
ac_cv_sizeof_unsigned_int=4
|
||||
ac_cv_sizeof_unsigned_long=8
|
||||
ac_cv_sizeof_unsigned_long_long=8
|
||||
ac_cv_sizeof_unsigned_short=2
|
||||
ac_cv_sizeof_void_p=8
|
@ -5,6 +5,9 @@
|
||||
ifeq ($(MAKECMDGOALS),prereq)
|
||||
SUBTARGETS:=prereq
|
||||
PREREQ_ONLY:=1
|
||||
# For target/linux related target add dtb to selectively compile dtbs
|
||||
else ifneq ($(filter target/linux/%,$(MAKECMDGOALS)),)
|
||||
SUBTARGETS:=$(DEFAULT_SUBDIR_TARGETS) dtb
|
||||
else
|
||||
SUBTARGETS:=$(DEFAULT_SUBDIR_TARGETS)
|
||||
endif
|
||||
|
@ -258,6 +258,15 @@ ifeq ($(DUMP),1)
|
||||
CPU_CFLAGS_arc700 = -mcpu=arc700
|
||||
CPU_CFLAGS_archs = -mcpu=archs
|
||||
endif
|
||||
ifeq ($(ARCH),riscv64)
|
||||
CPU_TYPE ?= riscv64
|
||||
CPU_CFLAGS_riscv64:=-mabi=lp64d -march=rv64imafdc
|
||||
endif
|
||||
ifeq ($(ARCH),loongarch64)
|
||||
CPU_TYPE ?= generic
|
||||
CPU_CFLAGS := -O2 -pipe
|
||||
CPU_CFLAGS_generic:=-march=loongarch64
|
||||
endif
|
||||
ifneq ($(CPU_TYPE),)
|
||||
ifndef CPU_CFLAGS_$(CPU_TYPE)
|
||||
$(warning CPU_TYPE "$(CPU_TYPE)" doesn't correspond to a known type)
|
||||
|
@ -1,5 +1,3 @@
|
||||
include $(INCLUDE_DIR)/prereq.mk
|
||||
|
||||
PKG_NAME ?= u-boot
|
||||
|
||||
ifndef PKG_SOURCE_PROTO
|
||||
@ -20,31 +18,6 @@ PKG_LICENSE_FILES:=Licenses/README
|
||||
|
||||
PKG_BUILD_PARALLEL ?= 1
|
||||
|
||||
ifdef UBOOT_USE_BINMAN
|
||||
$(eval $(call TestHostCommand,python3-pyelftools, \
|
||||
Please install the Python3 elftools module, \
|
||||
$(STAGING_DIR_HOST)/bin/python3 -c 'import elftools'))
|
||||
endif
|
||||
|
||||
ifdef UBOOT_USE_INTREE_DTC
|
||||
$(eval $(call TestHostCommand,python3-dev, \
|
||||
Please install the python3-dev package, \
|
||||
python3.11-config --includes 2>&1 | grep 'python3', \
|
||||
python3.10-config --includes 2>&1 | grep 'python3', \
|
||||
python3.9-config --includes 2>&1 | grep 'python3', \
|
||||
python3.8-config --includes 2>&1 | grep 'python3', \
|
||||
python3.7-config --includes 2>&1 | grep 'python3', \
|
||||
python3-config --includes 2>&1 | grep -E 'python3\.([7-9]|[0-9][0-9])\.?'))
|
||||
|
||||
$(eval $(call TestHostCommand,python3-setuptools, \
|
||||
Please install the Python3 setuptools module, \
|
||||
$(STAGING_DIR_HOST)/bin/python3 -c 'import setuptools'))
|
||||
|
||||
$(eval $(call TestHostCommand,swig, \
|
||||
Please install the swig package, \
|
||||
swig -version))
|
||||
endif
|
||||
|
||||
export GCC_HONOUR_COPTS=s
|
||||
|
||||
define Package/u-boot/install/default
|
||||
@ -69,7 +42,6 @@ endef
|
||||
TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
|
||||
|
||||
UBOOT_MAKE_FLAGS = \
|
||||
PATH=$(STAGING_DIR_HOST)/bin:$(PATH) \
|
||||
HOSTCC="$(HOSTCC)" \
|
||||
HOSTCFLAGS="$(HOST_CFLAGS) $(HOST_CPPFLAGS) -std=gnu11" \
|
||||
HOSTLDFLAGS="$(HOST_LDFLAGS)" \
|
||||
@ -111,14 +83,9 @@ endef
|
||||
|
||||
define Build/Configure/U-Boot
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIGURE_VARS) $(UBOOT_CONFIG)_config
|
||||
$(if $(strip $(UBOOT_CUSTOMIZE_CONFIG)),
|
||||
$(PKG_BUILD_DIR)/scripts/config --file $(PKG_BUILD_DIR)/.config $(UBOOT_CUSTOMIZE_CONFIG)
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIGURE_VARS) oldconfig)
|
||||
endef
|
||||
|
||||
ifndef UBOOT_USE_INTREE_DTC
|
||||
DTC=$(wildcard $(LINUX_DIR)/scripts/dtc/dtc)
|
||||
endif
|
||||
DTC=$(wildcard $(LINUX_DIR)/scripts/dtc/dtc)
|
||||
|
||||
define Build/Compile/U-Boot
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
|
196
package/boot/arm-trusted-firmware-mediatek/Makefile
Executable file → Normal file
196
package/boot/arm-trusted-firmware-mediatek/Makefile
Executable file → Normal file
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Copyright (C) 2017 Hauke Mehrtens
|
||||
# Copyright (C) 2021 Daniel Golle
|
||||
# Copyright (C) 2021-2023 Daniel Golle
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -9,13 +9,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=arm-trusted-firmware-mediatek
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git
|
||||
PKG_SOURCE_DATE:=2022-08-31
|
||||
PKG_SOURCE_VERSION:=7539348480af57c6d0db95aba6381f3ee7483779
|
||||
PKG_MIRROR_HASH:=125090124d77753acc379b3b124100978c1ecb3da37c4983ba9644b433b7eb08
|
||||
PKG_SOURCE_DATE:=2023-07-24
|
||||
PKG_SOURCE_VERSION:=00ac6db375b76e57e1f5e9e9bffa033e907c3581
|
||||
PKG_MIRROR_HASH:=74fc18395532c4292f530da8d00fa1873ada4e05e600c0077a7b7f85ace0d913
|
||||
|
||||
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
@ -30,6 +30,8 @@ define Trusted-Firmware-A/Default
|
||||
DDR3_FLYBY:=
|
||||
DDR_TYPE:=
|
||||
NAND_TYPE:=
|
||||
BOARD_QFN:=
|
||||
DRAM_USE_COMB:=
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7622-nor-1ddr
|
||||
@ -92,6 +94,46 @@ define Trusted-Firmware-A/mt7622-sdmmc-2ddr
|
||||
DDR3_FLYBY:=1
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7981-nor-ddr3
|
||||
NAME:=MediaTek MT7981 (SPI-NOR, DDR3)
|
||||
BOOT_DEVICE:=nor
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7981
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7981-emmc-ddr3
|
||||
NAME:=MediaTek MT7981 (eMMC, DDR3)
|
||||
BOOT_DEVICE:=emmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7981
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7981-sdmmc-ddr3
|
||||
NAME:=MediaTek MT7981 (SD card, DDR3)
|
||||
BOOT_DEVICE:=sdmmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7981
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7981-snand-ddr3
|
||||
NAME:=MediaTek MT7981 (SPI-NAND via SNFI, DDR3)
|
||||
BOOT_DEVICE:=snand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7981
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7981-spim-nand-ddr3
|
||||
NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR3)
|
||||
BOOT_DEVICE:=spim-nand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7981
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7986-nor-ddr4
|
||||
NAME:=MediaTek MT7986 (SPI-NOR, DDR4)
|
||||
BOOT_DEVICE:=nor
|
||||
@ -173,6 +215,126 @@ define Trusted-Firmware-A/mt7986-spim-nand-ddr3
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-nor-ddr3
|
||||
NAME:=MediaTek MT7988 (SPI-NOR, DDR3)
|
||||
BOOT_DEVICE:=nor
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-emmc-ddr3
|
||||
NAME:=MediaTek MT7988 (eMMC, DDR3)
|
||||
BOOT_DEVICE:=emmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-sdmmc-ddr3
|
||||
NAME:=MediaTek MT7988 (SD card, DDR3)
|
||||
BOOT_DEVICE:=sdmmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-snand-ddr3
|
||||
NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR3)
|
||||
BOOT_DEVICE:=snand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-spim-nand-ddr3
|
||||
NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR3)
|
||||
BOOT_DEVICE:=spim-nand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr3
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-nor-ddr4
|
||||
NAME:=MediaTek MT7988 (SPI-NOR, DDR4)
|
||||
BOOT_DEVICE:=nor
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr4
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-emmc-ddr4
|
||||
NAME:=MediaTek MT7988 (eMMC, DDR4)
|
||||
BOOT_DEVICE:=emmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr4
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-sdmmc-ddr4
|
||||
NAME:=MediaTek MT7988 (SD card, DDR4)
|
||||
BOOT_DEVICE:=sdmmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr4
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-snand-ddr4
|
||||
NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR4)
|
||||
BOOT_DEVICE:=snand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr4
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-spim-nand-ddr4
|
||||
NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR4)
|
||||
BOOT_DEVICE:=spim-nand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DDR_TYPE:=ddr4
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-nor-comb
|
||||
NAME:=MediaTek MT7988 (SPI-NOR)
|
||||
BOOT_DEVICE:=nor
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DRAM_USE_COMB:=1
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-emmc-comb
|
||||
NAME:=MediaTek MT7988 (eMMC)
|
||||
BOOT_DEVICE:=emmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DRAM_USE_COMB:=1
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-sdmmc-comb
|
||||
NAME:=MediaTek MT7988 (SD card)
|
||||
BOOT_DEVICE:=sdmmc
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DRAM_USE_COMB:=1
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-snand-comb
|
||||
NAME:=MediaTek MT7988 (SPI-NAND via SNFI)
|
||||
BOOT_DEVICE:=snand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DRAM_USE_COMB:=1
|
||||
endef
|
||||
|
||||
define Trusted-Firmware-A/mt7988-spim-nand-comb
|
||||
NAME:=MediaTek MT7988 (SPI-NAND via SPIM)
|
||||
BOOT_DEVICE:=spim-nand
|
||||
BUILD_SUBTARGET:=filogic
|
||||
PLAT:=mt7988
|
||||
DRAM_USE_COMB:=1
|
||||
endef
|
||||
|
||||
TFA_TARGETS:= \
|
||||
mt7622-nor-1ddr \
|
||||
mt7622-nor-2ddr \
|
||||
@ -182,6 +344,11 @@ TFA_TARGETS:= \
|
||||
mt7622-emmc-2ddr \
|
||||
mt7622-sdmmc-1ddr \
|
||||
mt7622-sdmmc-2ddr \
|
||||
mt7981-emmc-ddr3 \
|
||||
mt7981-nor-ddr3 \
|
||||
mt7981-sdmmc-ddr3 \
|
||||
mt7981-snand-ddr3 \
|
||||
mt7981-spim-nand-ddr3 \
|
||||
mt7986-emmc-ddr3 \
|
||||
mt7986-nor-ddr3 \
|
||||
mt7986-sdmmc-ddr3 \
|
||||
@ -191,15 +358,32 @@ TFA_TARGETS:= \
|
||||
mt7986-nor-ddr4 \
|
||||
mt7986-sdmmc-ddr4 \
|
||||
mt7986-snand-ddr4 \
|
||||
mt7986-spim-nand-ddr4
|
||||
mt7986-spim-nand-ddr4 \
|
||||
mt7988-emmc-ddr3 \
|
||||
mt7988-nor-ddr3 \
|
||||
mt7988-sdmmc-ddr3 \
|
||||
mt7988-snand-ddr3 \
|
||||
mt7988-spim-nand-ddr3 \
|
||||
mt7988-emmc-ddr4 \
|
||||
mt7988-nor-ddr4 \
|
||||
mt7988-sdmmc-ddr4 \
|
||||
mt7988-snand-ddr4 \
|
||||
mt7988-spim-nand-ddr4 \
|
||||
mt7988-emmc-comb \
|
||||
mt7988-nor-comb \
|
||||
mt7988-sdmmc-comb \
|
||||
mt7988-snand-comb \
|
||||
mt7988-spim-nand-comb
|
||||
|
||||
TFA_MAKE_FLAGS += \
|
||||
BOOT_DEVICE=$(BOOT_DEVICE) \
|
||||
USE_MKIMAGE=1 MKIMAGE=$(STAGING_DIR_HOST)/bin/mkimage \
|
||||
$(if $(findstring ddr4,$(DDR_TYPE)),DRAM_USE_DDR4=1) \
|
||||
$(if $(BOARD_QFN),BOARD_QFN=1,BOARD_BGA=1) \
|
||||
$(if $(NAND_TYPE),NAND_TYPE=$(NAND_TYPE)) \
|
||||
HAVE_DRAM_OBJ_FILE=yes \
|
||||
$(if $(DDR3_FLYBY),DDR3_FLYBY=1) \
|
||||
$(if $(DRAM_USE_COMB),DRAM_USE_COMB=1) \
|
||||
all
|
||||
|
||||
define Package/trusted-firmware-a/install
|
||||
|
@ -13,6 +13,7 @@ PKG_HASH:=bf3eb3617a74cddd7fb0e0eacbfe38c3258ee07d4c8ed730deef7a175cc3d55b
|
||||
|
||||
PKG_MAINTAINER:=Vladimir Vid <vladimir.vid@sartura.hr>
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/trusted-firmware-a.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
@ -7,57 +7,48 @@
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=arm-trusted-firmware-sunxi
|
||||
PKG_VERSION:=2.10
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/ARM-software/arm-trusted-firmware
|
||||
PKG_SOURCE_DATE:=2020-11-17
|
||||
PKG_SOURCE_VERSION:=e2c509a39c6cc4dda8734e6509cdbe6e3603cdfc
|
||||
PKG_MIRROR_HASH:=b212d369a5286ebbf6a5616486efa05fa54d4294fd6e9ba2e54fdfae9eda918d
|
||||
PKG_HASH:=88215a62291b9ba87da8e50b077741103cdc08fb6c9e1ebd34dfaace746d3201
|
||||
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=license.md
|
||||
|
||||
PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/trusted-firmware-a.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
||||
define Package/arm-trusted-firmware-sunxi/Default
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
TITLE:=ARM Trusted Firmware for Allwinner
|
||||
DEPENDS:=@TARGET_sunxi_cortexa53
|
||||
define Trusted-Firmware-A/Default
|
||||
BUILD_TARGET:=sunxi
|
||||
BUILD_SUBTARGET:=cortexa53
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-sunxi-a64
|
||||
$(call Package/arm-trusted-firmware-sunxi/Default)
|
||||
VARIANT:=sun50i_a64
|
||||
define Trusted-Firmware-A/sunxi-a64
|
||||
NAME:=Allwinner A64
|
||||
PLAT:=sun50i_a64
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-sunxi-h6
|
||||
$(call Package/arm-trusted-firmware-sunxi/Default)
|
||||
VARIANT:=sun50i_h6
|
||||
define Trusted-Firmware-A/sunxi-h6
|
||||
NAME:=Allwinner H6
|
||||
PLAT:=sun50i_h6
|
||||
endef
|
||||
|
||||
export GCC_HONOUR_COPTS=s
|
||||
define Trusted-Firmware-A/sunxi-h616
|
||||
NAME:=Allwinner H616
|
||||
PLAT:=sun50i_h616
|
||||
endef
|
||||
|
||||
MAKE_VARS = \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)"
|
||||
TFA_TARGETS:= \
|
||||
sunxi-a64 \
|
||||
sunxi-h6 \
|
||||
sunxi-h616
|
||||
|
||||
MAKE_FLAGS += \
|
||||
PLAT=$(BUILD_VARIANT) \
|
||||
bl31
|
||||
|
||||
define Build/InstallDev
|
||||
define Package/trusted-firmware-a/install
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||
$(CP) $(PKG_BUILD_DIR)/build/$(BUILD_VARIANT)/release/bl31.bin $(STAGING_DIR_IMAGE)/bl31_$(BUILD_VARIANT).bin
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31.bin $(STAGING_DIR_IMAGE)/bl31_$(BUILD_VARIANT).bin
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-sunxi/install
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-sunxi-a64))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-sunxi-h6))
|
||||
$(eval $(call BuildPackage/Trusted-Firmware-A))
|
||||
|
@ -8,9 +8,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=arm-trusted-firmware-tools
|
||||
PKG_VERSION:=2.4
|
||||
PKG_VERSION:=2.7
|
||||
PKG_RELEASE:=1
|
||||
PKG_HASH:=bf3eb3617a74cddd7fb0e0eacbfe38c3258ee07d4c8ed730deef7a175cc3d55b
|
||||
PKG_HASH:=53422dc649153838e03820330ba17cb10afe3e330ecde0db11e4d5f1361a33e6
|
||||
|
||||
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
||||
PKG_HOST_ONLY:=1
|
||||
@ -34,23 +34,17 @@ define Host/Compile
|
||||
$(HOST_BUILD_DIR)/tools/fiptool \
|
||||
CPPFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)"
|
||||
$(MAKE) -C \
|
||||
$(HOST_BUILD_DIR)/tools/sptool \
|
||||
CPPFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)"
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/sptool/sptool $(STAGING_DIR_HOST)/bin/
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/sptool/sp_mk_generator.py $(STAGING_DIR_HOST)/bin/
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/sptool/sptool.py $(STAGING_DIR_HOST)/bin/
|
||||
endef
|
||||
|
||||
define Host/Clean
|
||||
rm -f $(STAGING_DIR_HOST)/bin/fiptool
|
||||
rm -f $(STAGING_DIR_HOST)/bin/sptool
|
||||
rm -f $(STAGING_DIR_HOST)/bin/sp_mk_generator.py
|
||||
rm -f $(STAGING_DIR_HOST)/bin/sptool.py $(STAGING_DIR_HOST)/bin/sptool
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-tools))
|
||||
|
@ -1,29 +1,31 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# Copyright (C) 2006-2021 OpenWrt.org
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=grub
|
||||
PKG_CPE_ID:=cpe:/a:gnu:grub2
|
||||
PKG_VERSION:=2.06
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=2.12
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@GNU/grub
|
||||
PKG_HASH:=b79ea44af91b93d17cd3fe80bdae6ed43770678a9a5ae192ccea803ebb657ee1
|
||||
PKG_HASH:=f3c97391f7c4eaa677a78e090c7e97e6dc47b16f655f04683ebd37bef7fe0faa
|
||||
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
PKG_CPE_ID:=cpe:/a:gnu:grub2
|
||||
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=grub2/host
|
||||
|
||||
PKG_ASLR_PIE:=0
|
||||
PKG_SSP:=0
|
||||
ifneq ($(BUILD_VARIANT),none)
|
||||
PKG_ASLR_PIE:=0
|
||||
PKG_SSP:=0
|
||||
endif
|
||||
|
||||
PKG_FLAGS:=nonshared
|
||||
PKG_BUILD_FLAGS:=no-gc-sections no-lto no-mold
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
@ -31,14 +33,18 @@ include $(INCLUDE_DIR)/package.mk
|
||||
define Package/grub2/Default
|
||||
CATEGORY:=Boot Loaders
|
||||
SECTION:=boot
|
||||
TITLE:=GRand Unified Bootloader ($(1))
|
||||
TITLE:=GRand Unified Bootloader ($(2))
|
||||
URL:=http://www.gnu.org/software/grub/
|
||||
DEPENDS:=@TARGET_x86
|
||||
VARIANT:=$(1)
|
||||
DEPENDS:=@(TARGET_x86||TARGET_armsr||TARGET_armvirt||TARGET_phytium_armv8||TARGET_loongarch64)
|
||||
VARIANT:=$(2)
|
||||
endef
|
||||
|
||||
Package/grub2=$(call Package/grub2/Default,pc)
|
||||
Package/grub2-efi=$(call Package/grub2/Default,efi)
|
||||
Package/grub2=$(call Package/grub2/Default,x86,pc)
|
||||
Package/grub2-efi=$(call Package/grub2/Default,x86,efi)
|
||||
Package/grub2-efi-arm=$(call Package/grub2/Default,armsr,efi)
|
||||
Package/grub2-efi-arm=$(call Package/grub2/Default,armvirt,efi)
|
||||
Package/grub2-efi-arm=$(call Package/grub2/Default,phytium_armv8,efi)
|
||||
Package/grub2-efi-loongarch64=$(call Package/grub2/Default,loongarch64,efi)
|
||||
|
||||
define Package/grub2-editenv
|
||||
CATEGORY:=Utilities
|
||||
@ -47,13 +53,27 @@ define Package/grub2-editenv
|
||||
TITLE:=Grub2 Environment editor
|
||||
URL:=http://www.gnu.org/software/grub/
|
||||
DEPENDS:=@TARGET_x86
|
||||
VARIANT:=pc
|
||||
VARIANT:=none
|
||||
endef
|
||||
|
||||
define Package/grub2-editenv/description
|
||||
Edit grub2 environment files.
|
||||
endef
|
||||
|
||||
define Package/grub2-bios-setup
|
||||
CATEGORY:=Utilities
|
||||
SECTION:=utils
|
||||
SUBMENU:=Boot Loaders
|
||||
TITLE:=Grub2 BIOS boot setup tool
|
||||
URL:=http://www.gnu.org/software/grub/
|
||||
DEPENDS:=@TARGET_x86
|
||||
VARIANT:=none
|
||||
endef
|
||||
|
||||
define Package/grub2-bios-setup/description
|
||||
Set up images to bootable.
|
||||
endef
|
||||
|
||||
HOST_BUILD_PREFIX := $(STAGING_DIR_HOST)
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
@ -85,7 +105,15 @@ HOST_MAKE_FLAGS += \
|
||||
TARGET_RANLIB=$(TARGET_RANLIB) \
|
||||
LIBLZMA=$(STAGING_DIR_HOST)/lib/liblzma.a
|
||||
|
||||
TARGET_CFLAGS := $(filter-out -O2 -O3 -fno-plt,$(TARGET_CFLAGS))
|
||||
|
||||
ifneq ($(BUILD_VARIANT),none)
|
||||
TARGET_CFLAGS := $(filter-out -O2 -O3 -fno-plt,$(TARGET_CFLAGS))
|
||||
MAKE_PATH := grub-core
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_arm),y)
|
||||
TARGET_CFLAGS := $(filter-out -mfloat-abi=hard,$(TARGET_CFLAGS))
|
||||
endif
|
||||
|
||||
define Host/Configure
|
||||
$(SED) 's,(RANLIB),(TARGET_RANLIB),' $(HOST_BUILD_DIR)/grub-core/Makefile.in
|
||||
@ -93,8 +121,6 @@ define Host/Configure
|
||||
endef
|
||||
|
||||
define Package/grub2/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-bios-setup $(1)/usr/sbin/
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)/grub2
|
||||
$(CP) $(PKG_BUILD_DIR)/grub-core/boot.img $(STAGING_DIR_IMAGE)/grub2/
|
||||
$(CP) $(PKG_BUILD_DIR)/grub-core/cdboot.img $(STAGING_DIR_IMAGE)/grub2/
|
||||
@ -105,14 +131,14 @@ define Package/grub2/install
|
||||
-O i386-pc \
|
||||
-c $(PKG_BUILD_DIR)/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/gpt-core.img \
|
||||
at_keyboard biosdisk boot chain configfile fat linux ls part_gpt reboot search serial vga
|
||||
at_keyboard biosdisk boot chain configfile fat linux ls part_gpt reboot search serial test vga
|
||||
$(STAGING_DIR_HOST)/bin/grub-mkimage \
|
||||
-d $(PKG_BUILD_DIR)/grub-core \
|
||||
-p /boot/grub \
|
||||
-O i386-pc \
|
||||
-c ./files/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/generic-core.img \
|
||||
at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot search serial vga
|
||||
at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot search serial test vga
|
||||
$(STAGING_DIR_HOST)/bin/grub-mkimage \
|
||||
-d $(PKG_BUILD_DIR)/grub-core \
|
||||
-p /boot/grub \
|
||||
@ -137,22 +163,65 @@ define Package/grub2-efi/install
|
||||
-O $(CONFIG_ARCH)-efi \
|
||||
-c $(PKG_BUILD_DIR)/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/boot$(if $(CONFIG_x86_64),x64,ia32).efi \
|
||||
at_keyboard boot chain configfile fat linux ls part_gpt reboot serial efi_gop efi_uga
|
||||
at_keyboard boot chain configfile fat linux ls part_gpt reboot serial test efi_gop efi_uga
|
||||
$(STAGING_DIR_HOST)/bin/grub-mkimage \
|
||||
-d $(PKG_BUILD_DIR)/grub-core \
|
||||
-p /boot/grub \
|
||||
-O $(CONFIG_ARCH)-efi \
|
||||
-c ./files/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/iso-boot$(if $(CONFIG_x86_64),x64,ia32).efi \
|
||||
at_keyboard boot chain configfile fat iso9660 linux ls part_msdos part_gpt reboot serial test efi_gop efi_uga
|
||||
boot chain configfile fat iso9660 linux ls part_msdos part_gpt reboot serial test efi_gop efi_uga
|
||||
endef
|
||||
|
||||
define Package/grub2-efi-arm/install
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)/grub2
|
||||
cp ./files/grub-early-gpt.cfg $(PKG_BUILD_DIR)/grub-early.cfg
|
||||
$(STAGING_DIR_HOST)/bin/grub-mkimage \
|
||||
-d $(PKG_BUILD_DIR)/grub-core \
|
||||
-p /boot/grub \
|
||||
-O arm$(if $(CONFIG_aarch64),64,)-efi \
|
||||
-c $(PKG_BUILD_DIR)/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/boot$(if $(CONFIG_aarch64),aa64,arm).efi \
|
||||
boot chain configfile fat linux ls part_gpt part_msdos reboot search \
|
||||
search_fs_uuid search_label serial efi_gop lsefi minicmd ext2
|
||||
$(STAGING_DIR_HOST)/bin/grub-mkimage \
|
||||
-d $(PKG_BUILD_DIR)/grub-core \
|
||||
-p /boot/grub \
|
||||
-O arm$(if $(CONFIG_aarch64),64,)-efi \
|
||||
-c ./files/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/iso-bootaa$(if $(CONFIG_aarch64),aa64,arm).efi \
|
||||
boot chain configfile fat iso9660 linux ls lsefi minicmd part_msdos part_gpt \
|
||||
reboot serial test efi_gop
|
||||
endef
|
||||
|
||||
define Package/grub2-efi-loongarch64/install
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)/grub2
|
||||
cp ./files/grub-early-gpt.cfg $(PKG_BUILD_DIR)/grub-early.cfg
|
||||
$(STAGING_DIR_HOST)/bin/grub-mkimage \
|
||||
-d $(PKG_BUILD_DIR)/grub-core \
|
||||
-p /boot/grub \
|
||||
-O loongarch64-efi \
|
||||
-c $(PKG_BUILD_DIR)/grub-early.cfg \
|
||||
-o $(STAGING_DIR_IMAGE)/grub2/bootloongarch64.efi \
|
||||
boot chain configfile fat linux ls lsefi minicmd part_gpt part_msdos reboot search \
|
||||
search_fs_uuid search_label serial efi_gop all_video gfxterm ext2
|
||||
endef
|
||||
|
||||
|
||||
define Package/grub2-editenv/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-editenv $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
define Package/grub2-bios-setup/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-bios-setup $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,grub2))
|
||||
$(eval $(call BuildPackage,grub2-efi))
|
||||
$(eval $(call BuildPackage,grub2-efi-arm))
|
||||
$(eval $(call BuildPackage,grub2-efi-loongarch64))
|
||||
$(eval $(call BuildPackage,grub2-editenv))
|
||||
$(eval $(call BuildPackage,grub2-bios-setup))
|
||||
|
2
package/boot/grub2/files/grub-early-gpt.cfg
Normal file
2
package/boot/grub2/files/grub-early-gpt.cfg
Normal file
@ -0,0 +1,2 @@
|
||||
search --set=root --label kernel
|
||||
configfile ($root)/efi/openwrt/grub.cfg
|
@ -0,0 +1,36 @@
|
||||
From 4d4dae6a52b1749642261a15f5dcc1e3d4150b36 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Olivain <ju.o@free.fr>
|
||||
Date: Fri, 22 Dec 2023 19:02:53 +0100
|
||||
Subject: [PATCH] Add missing grub-core/extra_deps.lst file in release tarball
|
||||
|
||||
A file is missing in the grub-2.12 release tarballs (both .gz and .xz).
|
||||
See [1]. The issue was reported in [2] and fixed upstream in [3].
|
||||
|
||||
This patch adds the missing file, on top of the release tarball. This
|
||||
patch won't apply on upstream git, since the file is present in the
|
||||
source repository. Since the issue is fixed upstream in [3], it is
|
||||
expected upcoming releases tarballs will include the file.
|
||||
|
||||
The file content was fetched from the upstream git repo:
|
||||
https://git.savannah.gnu.org/gitweb/?p=grub.git;a=blob_plain;f=grub-core/extra_deps.lst;hb=refs/tags/grub-2.12
|
||||
|
||||
[1] https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz
|
||||
[2] https://lists.gnu.org/archive/html/grub-devel/2023-12/msg00054.html
|
||||
[3] https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e
|
||||
|
||||
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
||||
Upstream: Fixed by: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e
|
||||
---
|
||||
grub-core/extra_deps.lst | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 grub-core/extra_deps.lst
|
||||
|
||||
diff --git a/grub-core/extra_deps.lst b/grub-core/extra_deps.lst
|
||||
new file mode 100644
|
||||
index 0000000..f44ad6a
|
||||
--- /dev/null
|
||||
+++ b/grub-core/extra_deps.lst
|
||||
@@ -0,0 +1 @@
|
||||
+depends bli part_gpt
|
||||
--
|
||||
2.43.0
|
63
package/boot/opensbi/Makefile
Normal file
63
package/boot/opensbi/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2022 OpenWrt.org
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=opensbi
|
||||
PKG_RELEASE:=1.2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/riscv/opensbi
|
||||
PKG_SOURCE_DATE:=2022-12-24
|
||||
PKG_SOURCE_VERSION:=6b5188ca14e59ce7bf71afe4e7d3d557c3d31bf8
|
||||
PKG_MIRROR_HASH:=edcdd99da6c62975171981c0aa2b73a27091067da11ccd49816b5ad27d000858
|
||||
|
||||
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
PKG_TARGETS:=bin
|
||||
PKG_FLAGS:=nonshared
|
||||
PKG_LICENSE:=BSD-2-Clause
|
||||
PKG_LICENSE_FILES:=COPYING.BSD
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/opensbi
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
DEPENDS:=@TARGET_sifiveu
|
||||
URL:=https://github.com/riscv/opensbi/blob/master/README.md
|
||||
VARIANT:=$(subst _,/,$(subst opensbi_,,$(1)))
|
||||
TITLE:=OpenSBI generic
|
||||
OPENSBI_IMAGE:=
|
||||
PLAT:=
|
||||
endef
|
||||
|
||||
define Package/opensbi_generic
|
||||
$(Package/opensbi)
|
||||
TITLE:=OpenSBI generic
|
||||
OPENSBI_IMAGE:=fw_dynamic.bin
|
||||
PLAT:=generic
|
||||
endef
|
||||
|
||||
export GCC_HONOUR_COPTS=s
|
||||
|
||||
MAKE_VARS = \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)"
|
||||
|
||||
define Build/Compile
|
||||
$(eval $(Package/opensbi_$(BUILD_VARIANT))) \
|
||||
+$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
PLATFORM=$(PLAT)
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||
$(CP) $(PKG_BUILD_DIR)/build/platform/$(PLAT)/firmware/fw_dynamic.bin $(STAGING_DIR_IMAGE)/fw_dynamic-${BUILD_VARIANT}.bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,opensbi_generic))
|
@ -9,15 +9,15 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uboot-envtools
|
||||
PKG_DISTNAME:=u-boot
|
||||
PKG_VERSION:=2021.01
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_VERSION:=2023.01
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
https://ftp.denx.de/pub/u-boot \
|
||||
https://mirror.cyberbits.eu/u-boot \
|
||||
ftp://ftp.denx.de/pub/u-boot
|
||||
PKG_HASH:=b407e1510a74e863b8b5cb42a24625344f0e0c2fc7582d8c866bd899367d0454
|
||||
PKG_HASH:=69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_DISTNAME)-$(PKG_VERSION)
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_DISTNAME)-$(PKG_VERSION)
|
||||
|
||||
|
@ -19,6 +19,10 @@ netgear,wndap620|\
|
||||
netgear,wndap660)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000" "4"
|
||||
;;
|
||||
wd,mybooklive)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000" "1"
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x1000" "0x1000" "0x1000" "1"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
|
@ -18,10 +18,16 @@ alfa-network,n2q|\
|
||||
alfa-network,n5q|\
|
||||
alfa-network,pi-wifi4|\
|
||||
alfa-network,r36a|\
|
||||
alfa-network,tube-2hq|\
|
||||
allnet,all-wap02860ac|\
|
||||
araknis,an-300-ap-i-n|\
|
||||
araknis,an-500-ap-i-ac|\
|
||||
araknis,an-700-ap-i-ac|\
|
||||
arduino,yun|\
|
||||
buffalo,bhr-4grv2|\
|
||||
devolo,magic-2-wifi|\
|
||||
engenius,eap1200h|\
|
||||
engenius,eap1750h|\
|
||||
engenius,eap300-v2|\
|
||||
engenius,eap350-v1|\
|
||||
engenius,eap600|\
|
||||
@ -38,6 +44,7 @@ glinet,gl-ar750s-nor-nand|\
|
||||
librerouter,librerouter-v1|\
|
||||
netgear,ex6400|\
|
||||
netgear,ex7300|\
|
||||
netgear,ex7300-v2|\
|
||||
netgear,wndr4300-v2|\
|
||||
netgear,wndr4500-v3|\
|
||||
netgear,wnr1000-v2|\
|
||||
@ -49,11 +56,33 @@ ocedo,koala|\
|
||||
ocedo,raccoon|\
|
||||
openmesh,a40|\
|
||||
openmesh,a60|\
|
||||
openmesh,mr600-v1|\
|
||||
openmesh,mr600-v2|\
|
||||
openmesh,mr900-v1|\
|
||||
openmesh,mr900-v2|\
|
||||
openmesh,mr1750-v1|\
|
||||
openmesh,mr1750-v2|\
|
||||
openmesh,om5p|\
|
||||
openmesh,om5p-an|\
|
||||
openmesh,om5p-ac-v1|\
|
||||
openmesh,om5p-ac-v2|\
|
||||
samsung,wam250|\
|
||||
ubnt,airrouter|\
|
||||
ubnt,bullet-m-ar7240|\
|
||||
ubnt,bullet-m-ar7241|\
|
||||
ubnt,nanobridge-m|\
|
||||
ubnt,nanostation-loco-m|\
|
||||
ubnt,nanostation-m|\
|
||||
ubnt,picostation-m|\
|
||||
ubnt,powerbridge-m|\
|
||||
ubnt,rocket-m|\
|
||||
watchguard,ap100|\
|
||||
watchguard,ap200|\
|
||||
watchguard,ap300|\
|
||||
yuncore,a770|\
|
||||
yuncore,a782|\
|
||||
yuncore,a930|\
|
||||
yuncore,xd3200|\
|
||||
yuncore,xd4200|\
|
||||
ziking,cpe46b|\
|
||||
zyxel,nbg6616)
|
||||
@ -63,15 +92,15 @@ buffalo,wzr-hp-ag300h)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
buffalo,wzr-hp-g300nh-rb|\
|
||||
buffalo,wzr-hp-g300nh-s)
|
||||
buffalo,wzr-hp-g300nh-s|\
|
||||
linksys,ea4500-v3)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
domywifi,dw33d)
|
||||
ubootenv_add_uci_config "/dev/mtd4" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
glinet,gl-ar150)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000"
|
||||
;;
|
||||
dongwon,dw02-412h-64m|\
|
||||
dongwon,dw02-412h-128m|\
|
||||
glinet,gl-ar300m-lite|\
|
||||
glinet,gl-ar300m-nand|\
|
||||
glinet,gl-ar300m-nor|\
|
||||
@ -80,17 +109,22 @@ glinet,gl-ar300m16)
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
glinet,gl-ar150)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000"
|
||||
;;
|
||||
netgear,wndr3700|\
|
||||
netgear,wndr3700-v2|\
|
||||
netgear,wndrmac-v1)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x10000"
|
||||
;;
|
||||
netgear,pgzng1|\
|
||||
netgear,wndr3700-v4|\
|
||||
netgear,wndr4300|\
|
||||
netgear,wndr4300tn|\
|
||||
netgear,wndr4300sw)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x20000"
|
||||
;;
|
||||
openmesh,om2p-v1|\
|
||||
openmesh,om2p-v2|\
|
||||
openmesh,om2p-v4|\
|
||||
openmesh,om2p-hs-v1|\
|
||||
@ -105,9 +139,28 @@ plasmacloud,pa300e)
|
||||
qihoo,c301)
|
||||
ubootenv_add_uci_config "/dev/mtd9" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
ruckus,zf7025)
|
||||
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x40000" "0x40000"
|
||||
;;
|
||||
ruckus,zf7321|\
|
||||
ruckus,zf7372)
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x40000" "0x10000"
|
||||
;;
|
||||
sophos,ap15|\
|
||||
sophos,ap55|\
|
||||
sophos,ap55c|\
|
||||
sophos,ap100|\
|
||||
sophos,ap100c)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000"
|
||||
;;
|
||||
wallys,dr531)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0xf800" "0x10000"
|
||||
;;
|
||||
zte,mf286|\
|
||||
zte,mf286a|\
|
||||
zte,mf286r)
|
||||
ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x20000" "0x10000"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
|
19
package/boot/uboot-envtools/files/imx_cortexa7
Normal file
19
package/boot/uboot-envtools/files/imx_cortexa7
Normal file
@ -0,0 +1,19 @@
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
technexion,imx7d-pico-pi)
|
||||
ubootenv_add_uci_config "/dev/mmcblk2" "0xc0000" "0x2000" "0x2000"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config ubootenv
|
||||
|
||||
exit 0
|
@ -26,25 +26,49 @@ ubootenv_mtdinfo () {
|
||||
fi
|
||||
|
||||
sectors=$(( $ubootenv_size / $mtd_erase ))
|
||||
sectors=$(printf "0x%x" $sectors )
|
||||
echo /dev/$mtd_dev 0x0 $ubootenv_size $mtd_erase $sectors
|
||||
}
|
||||
|
||||
case "$board" in
|
||||
alfa-network,ap120c-ac|\
|
||||
devolo,magic-2-wifi-next|\
|
||||
edgecore,ecw5211|\
|
||||
glinet,gl-a1300 |\
|
||||
glinet,gl-ap1300|\
|
||||
glinet,gl-b1300|\
|
||||
glinet,gl-b2200|\
|
||||
luma,wrtq-329acn|\
|
||||
netgear,wac510|\
|
||||
openmesh,a42|\
|
||||
openmesh,a62)
|
||||
openmesh,a62|\
|
||||
pakedge,wr-1|\
|
||||
plasmacloud,pa1200|\
|
||||
plasmacloud,pa2200)
|
||||
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
aruba,ap-303)
|
||||
ubootenv_add_uci_config "/dev/mtd13" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
aruba,ap-365)
|
||||
ubootenv_add_uci_config "/dev/mtd8" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
buffalo,wtr-m2133hp)
|
||||
ubootenv_add_uci_config "/dev/mtd8" "0x0" "0x40000" "0x20000"
|
||||
;;
|
||||
linksys,ea6350v3)
|
||||
ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
linksys,ea8300)
|
||||
linksys,ea8300|\
|
||||
linksys,mr8300)
|
||||
ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x40000" "0x20000"
|
||||
;;
|
||||
linksys,whw01)
|
||||
ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x40000" "0x10000"
|
||||
;;
|
||||
linksys,whw03v2)
|
||||
ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x80000" "0x20000"
|
||||
;;
|
||||
zyxel,nbg6617)
|
||||
ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x10000" "0x10000"
|
||||
;;
|
||||
|
19
package/boot/uboot-envtools/files/ipq60xx
Normal file
19
package/boot/uboot-envtools/files/ipq60xx
Normal file
@ -0,0 +1,19 @@
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
linksys,mr7350)
|
||||
ubootenv_add_uci_config "/dev/mtd11" "0x0" "0x40000" "0x20000"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config ubootenv
|
||||
|
||||
exit 0
|
@ -26,6 +26,7 @@ ubootenv_mtdinfo () {
|
||||
fi
|
||||
|
||||
sectors=$(( $ubootenv_size / $mtd_erase ))
|
||||
sectors=$(printf "0x%x" $sectors )
|
||||
echo /dev/$mtd_dev 0x0 $ubootenv_size $mtd_erase $sectors
|
||||
}
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
redmi,ax6|\
|
||||
xiaomi,ax3600|\
|
||||
xiaomi,ax9000)
|
||||
idx="$(find_mtd_index 0:appsblenv)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
|
||||
;;
|
||||
qnap,301w)
|
||||
idx="$(find_mtd_index 0:appsblenv)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x20000" "0x20000" "1"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config ubootenv
|
||||
|
||||
exit 0
|
@ -19,6 +19,7 @@ globalscale,sheevaplug|\
|
||||
iom,ix2-200|\
|
||||
linksys,e4200-v2|\
|
||||
linksys,ea4500|\
|
||||
netgear,readynas-duo-v2|\
|
||||
raidsonic,ib-nas62x0|\
|
||||
seagate,dockstar|\
|
||||
zyxel,nsa310b|\
|
||||
|
60
package/boot/uboot-envtools/files/mediatek_filogic
Normal file
60
package/boot/uboot-envtools/files/mediatek_filogic
Normal file
@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2021 OpenWrt.org
|
||||
#
|
||||
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
bananapi,bpi-r3)
|
||||
case "$(cmdline_get_var root)" in
|
||||
/dev/mmc*)
|
||||
local envdev=$(find_mmc_part "ubootenv" $rootdev)
|
||||
ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
|
||||
ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
|
||||
;;
|
||||
/dev/mtd*)
|
||||
local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
|
||||
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
|
||||
ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
|
||||
;;
|
||||
/dev/ubi*)
|
||||
. /lib/upgrade/nand.sh
|
||||
local envubi=$(nand_find_ubi ubi)
|
||||
local envdev=/dev/$(nand_find_volume $envubi ubootenv)
|
||||
local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
|
||||
ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
|
||||
ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
cetron,ct3003|\
|
||||
imou,lc-hx3001)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
glinet,gl-mt2500|\
|
||||
glinet,gl-mt6000)
|
||||
local envdev=$(find_mmc_part "u-boot-env")
|
||||
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
|
||||
;;
|
||||
glinet,gl-mt3000)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
|
||||
;;
|
||||
xiaomi,mi-router-wr30u|\
|
||||
xiaomi,mi-router-ax3000t|\
|
||||
xiaomi,redmi-router-ax6000)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000"
|
||||
ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x10000" "0x20000"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config
|
||||
|
||||
exit 0
|
@ -17,16 +17,13 @@ linksys,e8450-ubi)
|
||||
ubootenv_add_uci_config "/dev/ubi0_1" "0x0" "0x1f000" "0x1f000" "1"
|
||||
;;
|
||||
bananapi,bpi-r64)
|
||||
. /lib/upgrade/common.sh
|
||||
export_bootdevice
|
||||
export_partdevice rootdev 0
|
||||
case "$rootdev" in
|
||||
mmc*)
|
||||
case "$(cmdline_get_var root)" in
|
||||
/dev/mmc*)
|
||||
local envdev=$(find_mmc_part "ubootenv" $rootdev)
|
||||
ubootenv_add_uci_config "$envdev" "0x0" "0x80000" "0x80000" "1"
|
||||
ubootenv_add_uci_config "$envdev" "0x80000" "0x80000" "0x80000" "1"
|
||||
;;
|
||||
*)
|
||||
/dev/ubi*)
|
||||
ubootenv_add_uci_config "/dev/ubi0_0" "0x0" "0x1f000" "0x1f000" "1"
|
||||
ubootenv_add_uci_config "/dev/ubi0_1" "0x0" "0x1f000" "0x1f000" "1"
|
||||
;;
|
||||
@ -35,8 +32,11 @@ bananapi,bpi-r64)
|
||||
buffalo,wsr-2533dhp2)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x1000" "0x20000"
|
||||
;;
|
||||
ruijie,rg-ew3200gx-pro)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
ubnt,unifi-6-lr-ubootmod)
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x4000" "0x10000"
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x4000" "0x1000"
|
||||
;;
|
||||
xiaomi,redmi-router-ax6s)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x40000"
|
||||
|
@ -17,6 +17,10 @@ bananapi,bpi-r2)
|
||||
export_bootdevice
|
||||
export_partdevice ubootpart 1
|
||||
ubootenv_add_uci_config "/dev/$ubootpart" "0xb0000" "0x10000" "0x10000" "1"
|
||||
;;
|
||||
unielec,u7623-02)
|
||||
ubootenv_add_uci_config "/dev/mmcblk0p1" "0xc0000" "0x10000" "0x10000" "1"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
|
@ -8,10 +8,17 @@ touch /etc/config/ubootenv
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
extreme-networks,ws-ap3825i)
|
||||
ubootenv_add_uci_config "$(find_mtd_part 'cfg1')" "0x0" "0x10000" "0x20000"
|
||||
ubootenv_add_uci_config "$(find_mtd_part 'cfg2')" "0x0" "0x10000" "0x20000"
|
||||
;;
|
||||
ocedo,panda)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
aerohive,hiveap-330)
|
||||
ubootenv_add_uci_config "$(find_mtd_part 'u-boot-env')" "0x0" "0x20000" "0x10000"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
|
@ -17,7 +17,10 @@ buffalo,ls421de)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000"
|
||||
;;
|
||||
cznic,turris-omnia)
|
||||
if grep -q 'U-Boot 2015.10-rc2' /dev/mtd0; then
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
if [ -n "$idx" ]; then
|
||||
ubootenv_add_uci_config "/dev/mtd${idx}" "0x0" "0x10000" "0x10000"
|
||||
elif grep -q 'U-Boot 2015.10-rc2' /dev/mtd0; then
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0xc0000" "0x10000" "0x40000"
|
||||
else
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0xf0000" "0x10000" "0x10000"
|
||||
@ -30,7 +33,8 @@ globalscale,espressobin|\
|
||||
globalscale,espressobin-emmc|\
|
||||
globalscale,espressobin-ultra|\
|
||||
globalscale,espressobin-v7|\
|
||||
globalscale,espressobin-v7-emmc)
|
||||
globalscale,espressobin-v7-emmc|\
|
||||
globalscale,mochabin)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
if [ -n "$idx" ]; then
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1"
|
||||
@ -54,8 +58,14 @@ linksys,wrt3200acm|\
|
||||
linksys,wrt32x)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
methode,udpu)
|
||||
methode,udpu|\
|
||||
methode,edpu)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
if [ -n "$idx" ]; then
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1"
|
||||
else
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0x180000" "0x10000" "0x10000"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -14,7 +14,7 @@ board=$(board_name)
|
||||
case "$board" in
|
||||
"cloudengines,pogoplug"*|\
|
||||
"shuttle,kd20")
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x2000" "0x2000" "1"
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x2000" "0x20000" "1"
|
||||
;;
|
||||
"mitrastar,stg-212")
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x20000" "0x20000" "1"
|
||||
|
61
package/boot/uboot-envtools/files/qualcommax
Normal file
61
package/boot/uboot-envtools/files/qualcommax
Normal file
@ -0,0 +1,61 @@
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
compex,wpq873|\
|
||||
edgecore,eap102|\
|
||||
zyxel,nbg7815)
|
||||
idx="$(find_mtd_index 0:appsblenv)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1"
|
||||
;;
|
||||
dynalink,dl-wrx36|\
|
||||
glinet,gl-ax1800|\
|
||||
glinet,gl-axt1800|\
|
||||
netgear,rax120v2|\
|
||||
netgear,wax218|\
|
||||
netgear,wax620|\
|
||||
netgear,wax630)
|
||||
idx="$(find_mtd_index 0:appsblenv)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
|
||||
;;
|
||||
edimax,cax1800)
|
||||
idx="$(find_mtd_index 0:appsblenv)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
|
||||
;;
|
||||
linksys,mr7350|\
|
||||
linksys,mx4200v1|\
|
||||
linksys,mx4200v2)
|
||||
idx="$(find_mtd_index u_env)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
|
||||
;;
|
||||
prpl,haze)
|
||||
mmcpart="$(find_mmc_part 0:APPSBLENV)"
|
||||
[ -n "$mmcpart" ] && \
|
||||
ubootenv_add_uci_config "$mmcpart" "0x0" "0x40000" "0x400" "0x100"
|
||||
;;
|
||||
qnap,301w)
|
||||
idx="$(find_mtd_index 0:appsblenv)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x20000" "0x20000" "1"
|
||||
;;
|
||||
redmi,ax5-jdcloud)
|
||||
mmcpart="$(find_mmc_part 0:APPSBLENV)"
|
||||
[ -n "$mmcpart" ] && \
|
||||
ubootenv_add_uci_config "$mmcpart" "0x0" "0x40000" "0x20000" "2"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config
|
||||
|
||||
exit 0
|
@ -48,6 +48,7 @@ ravpower,rp-wd03)
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000"
|
||||
;;
|
||||
c-life,xg1|\
|
||||
jcg,q20)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
|
@ -8,13 +8,20 @@ touch /etc/config/ubootenv
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
d-link,dgs-1210-16|\
|
||||
d-link,dgs-1210-28|\
|
||||
d-link,dgs-1210-10mp|\
|
||||
d-link,dgs-1210-10p|\
|
||||
d-link,dgs-1210-16|\
|
||||
d-link,dgs-1210-20|\
|
||||
d-link,dgs-1210-28|\
|
||||
zyxel,gs1900-8|\
|
||||
zyxel,gs1900-8hp-v1|\
|
||||
zyxel,gs1900-8hp-v2|\
|
||||
zyxel,gs1900-10hp)
|
||||
zyxel,gs1900-10hp|\
|
||||
zyxel,gs1900-16|\
|
||||
zyxel,gs1900-24-v1|\
|
||||
zyxel,gs1900-24e|\
|
||||
zyxel,gs1900-24hp-v1|\
|
||||
zyxel,gs1900-24hp-v2)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x400" "0x10000"
|
||||
@ -22,6 +29,21 @@ zyxel,gs1900-10hp)
|
||||
[ -n "$idx2" ] && \
|
||||
ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x1000" "0x10000"
|
||||
;;
|
||||
tplink,sg2008p-v1|\
|
||||
tplink,sg2210p-v3|\
|
||||
tplink,sg2452p-v4)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x20000" "0x10000"
|
||||
;;
|
||||
iodata,bsh-g24mb)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000"
|
||||
idx2="$(find_mtd_index u-boot-env2)"
|
||||
[ -n "$idx2" ] && \
|
||||
ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x3800" "0x10000"
|
||||
;;
|
||||
*)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
[ -n "$idx" ] && \
|
||||
|
22
package/boot/uboot-envtools/files/rockchip
Normal file
22
package/boot/uboot-envtools/files/rockchip
Normal file
@ -0,0 +1,22 @@
|
||||
#
|
||||
# Copyright (C) 2023 OpenWrt.org
|
||||
#
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
lyt,t68m)
|
||||
ubootenv_add_uci_config "/dev/mmcblk0" "0x3f8000" "0x8000"
|
||||
;;
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config
|
||||
|
||||
exit 0
|
153
package/boot/uboot-mediatek/Makefile
Executable file → Normal file
153
package/boot/uboot-mediatek/Makefile
Executable file → Normal file
@ -1,8 +1,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_VERSION:=2023.01
|
||||
PKG_HASH:=69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f
|
||||
PKG_VERSION:=2023.07.02
|
||||
PKG_HASH:=6b6a48581c14abb0f95bd87c1af4d740922406d7b801002a9f94727fdde021d5
|
||||
PKG_BUILD_DEPENDS:=!(TARGET_ramips||TARGET_mediatek_mt7623):arm-trusted-firmware-tools/host
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
@ -175,6 +175,66 @@ define U-Boot/mt7629_rfb
|
||||
UBOOT_CONFIG:=mt7629_rfb
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_rfb-spim-nand
|
||||
NAME:=MT7981 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7981-rfb
|
||||
UBOOT_CONFIG:=mt7981_rfb
|
||||
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_rfb-emmc
|
||||
NAME:=MT7981 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7981-rfb
|
||||
UBOOT_CONFIG:=mt7981_emmc_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=emmc
|
||||
BL2_SOC:=mt7981
|
||||
BL2_DDRTYPE:=ddr3
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr3
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_rfb-nor
|
||||
NAME:=MT7981 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7981-rfb
|
||||
UBOOT_CONFIG:=mt7981_nor_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=spim-nand
|
||||
BL2_SOC:=mt7981
|
||||
BL2_DDRTYPE:=ddr3
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-nor-ddr3
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_rfb-sd
|
||||
NAME:=MT7981 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7981-rfb
|
||||
UBOOT_CONFIG:=mt7981_sd_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=sdmmc
|
||||
BL2_SOC:=mt7981
|
||||
BL2_DDRTYPE:=ddr3
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-sdmmc-ddr3
|
||||
endef
|
||||
|
||||
define U-Boot/mt7981_rfb-snfi
|
||||
NAME:=MT7981 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7981-rfb
|
||||
UBOOT_CONFIG:=mt7981_snfi_nand_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=snand
|
||||
BL2_SOC:=mt7981
|
||||
BL2_DDRTYPE:=ddr3
|
||||
DEPENDS:=+trusted-firmware-a-mt7981-snand-ddr3
|
||||
endef
|
||||
|
||||
define U-Boot/mt7986_rfb
|
||||
NAME:=MT7986 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
@ -236,28 +296,65 @@ define U-Boot/mt7986_bananapi_bpi-r3-nor
|
||||
FIP_COMPRESS:=1
|
||||
endef
|
||||
|
||||
define U-Boot/mt7986_glinet_gl-mt6000
|
||||
NAME:=GL.iNet GL-MT6000
|
||||
define U-Boot/mt7988_rfb-spim-nand
|
||||
NAME:=MT7988 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=glinet_gl-mt6000
|
||||
UBOOT_CONFIG:=mt7986a_glinet_gl-mt6000
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=emmc
|
||||
BL2_SOC:=mt7986
|
||||
BL2_DDRTYPE:=ddr4
|
||||
DEPENDS:=+trusted-firmware-a-mt7986-emmc-ddr4
|
||||
endef
|
||||
|
||||
define U-Boot/mt7986_xiaomi_redmi-router-ax6000
|
||||
NAME:=Xiaomi Redmi AX6000
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=xiaomi_redmi-router-ax6000-ubootmod
|
||||
UBOOT_CONFIG:=mt7986_xiaomi_redmi-ax6000
|
||||
BUILD_DEVICES:=mediatek_mt7988a-rfb
|
||||
UBOOT_CONFIG:=mt7988_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=spim-nand
|
||||
BL2_SOC:=mt7986
|
||||
BL2_DDRTYPE:=ddr4
|
||||
DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-ddr4
|
||||
BL2_SOC:=mt7988
|
||||
BL2_DDRTYPE:=comb
|
||||
DEPENDS:=+trusted-firmware-a-mt7988-spim-nand-comb
|
||||
endef
|
||||
|
||||
define U-Boot/mt7988_rfb-snand
|
||||
NAME:=MT7988 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7988a-rfb
|
||||
UBOOT_CONFIG:=mt7988_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=snand
|
||||
BL2_SOC:=mt7988
|
||||
BL2_DDRTYPE:=comb
|
||||
DEPENDS:=+trusted-firmware-a-mt7988-snand-comb
|
||||
endef
|
||||
|
||||
define U-Boot/mt7988_rfb-nor
|
||||
NAME:=MT7988 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7988a-rfb
|
||||
UBOOT_CONFIG:=mt7988_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=nor
|
||||
BL2_SOC:=mt7988
|
||||
BL2_DDRTYPE:=comb
|
||||
DEPENDS:=+trusted-firmware-a-mt7988-nor-comb
|
||||
FIP_COMPRESS:=1
|
||||
endef
|
||||
|
||||
define U-Boot/mt7988_rfb-emmc
|
||||
NAME:=MT7988 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7988a-rfb
|
||||
UBOOT_CONFIG:=mt7988_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=emmc
|
||||
BL2_SOC:=mt7988
|
||||
BL2_DDRTYPE:=comb
|
||||
DEPENDS:=+trusted-firmware-a-mt7988-emmc-comb
|
||||
endef
|
||||
|
||||
define U-Boot/mt7988_rfb-sd
|
||||
NAME:=MT7988 Reference Board
|
||||
BUILD_SUBTARGET:=filogic
|
||||
BUILD_DEVICES:=mediatek_mt7988a-rfb
|
||||
UBOOT_CONFIG:=mt7988_sd_rfb
|
||||
UBOOT_IMAGE:=u-boot.fip
|
||||
BL2_BOOTDEV:=sdmmc
|
||||
BL2_SOC:=mt7988
|
||||
BL2_DDRTYPE:=comb
|
||||
DEPENDS:=+trusted-firmware-a-mt7988-sdmmc-comb
|
||||
endef
|
||||
|
||||
UBOOT_TARGETS := \
|
||||
@ -276,13 +373,21 @@ UBOOT_TARGETS := \
|
||||
mt7628_rfb \
|
||||
ravpower_rp-wd009 \
|
||||
mt7629_rfb \
|
||||
mt7981_rfb-spim-nand \
|
||||
mt7981_rfb-emmc \
|
||||
mt7981_rfb-nor \
|
||||
mt7981_rfb-sd \
|
||||
mt7981_rfb-snfi \
|
||||
mt7986_bananapi_bpi-r3-emmc \
|
||||
mt7986_bananapi_bpi-r3-sdmmc \
|
||||
mt7986_bananapi_bpi-r3-snand \
|
||||
mt7986_bananapi_bpi-r3-nor \
|
||||
mt7986_glinet_gl-mt6000 \
|
||||
mt7986_xiaomi_redmi-router-ax6000 \
|
||||
mt7986_rfb
|
||||
mt7986_rfb \
|
||||
mt7988_rfb-spim-nand \
|
||||
mt7988_rfb-snand \
|
||||
mt7988_rfb-nor \
|
||||
mt7988_rfb-emmc \
|
||||
mt7988_rfb-sd
|
||||
|
||||
ifdef CONFIG_TARGET_mediatek
|
||||
UBOOT_MAKE_FLAGS += $(UBOOT_IMAGE:.fip=.bin)
|
||||
|
4
package/boot/uboot-mediatek/patches/000-mtk-20-configs-mt7622-enable-environment-for-mt7622_rfb.patch
Executable file → Normal file
4
package/boot/uboot-mediatek/patches/000-mtk-20-configs-mt7622-enable-environment-for-mt7622_rfb.patch
Executable file → Normal file
@ -21,7 +21,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
CONFIG_SYS_PROMPT="MT7622> "
|
||||
CONFIG_DEBUG_UART_BASE=0x11002000
|
||||
CONFIG_DEBUG_UART_CLOCK=25000000
|
||||
@@ -24,6 +26,9 @@ CONFIG_CMD_SF_TEST=y
|
||||
@@ -25,6 +27,9 @@ CONFIG_CMD_SF_TEST=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_SMC=y
|
||||
CONFIG_ENV_OVERWRITE=y
|
||||
@ -30,4 +30,4 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+CONFIG_ENV_SIZE_REDUND=0x40000
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_USE_IPADDR=y
|
||||
|
0
package/boot/uboot-mediatek/patches/050-mt7622-enable-pstore.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/050-mt7622-enable-pstore.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/051-mt7986-enable-pstore.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/051-mt7986-enable-pstore.patch
Executable file → Normal file
@ -0,0 +1,38 @@
|
||||
--- a/arch/arm/dts/mt7981.dtsi
|
||||
+++ b/arch/arm/dts/mt7981.dtsi
|
||||
@@ -32,6 +32,35 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ psci {
|
||||
+ compatible = "arm,psci-0.2";
|
||||
+ method = "smc";
|
||||
+ };
|
||||
+
|
||||
+ reserved-memory {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ /* 64 KiB reserved for ramoops/pstore */
|
||||
+ ramoops@42ff0000 {
|
||||
+ compatible = "ramoops";
|
||||
+ reg = <0 0x42ff0000 0 0x10000>;
|
||||
+ record-size = <0x1000>;
|
||||
+ };
|
||||
+
|
||||
+ /* 192 KiB reserved for ARM Trusted Firmware (BL31) */
|
||||
+ secmon_reserved: secmon@43000000 {
|
||||
+ reg = <0 0x43000000 0 0x30000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+
|
||||
+ wmcpu_emi: wmcpu-reserved@4fc00000 {
|
||||
+ no-map;
|
||||
+ reg = <0 0x4fc00000 0 0x00100000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gpt_clk: gpt_dummy20m {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <13000000>;
|
4
package/boot/uboot-mediatek/patches/100-00-clk-remove-log_ret-from-clk_get_rate.patch
Executable file → Normal file
4
package/boot/uboot-mediatek/patches/100-00-clk-remove-log_ret-from-clk_get_rate.patch
Executable file → Normal file
@ -20,7 +20,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/drivers/clk/clk-uclass.c
|
||||
+++ b/drivers/clk/clk-uclass.c
|
||||
@@ -469,7 +469,6 @@ void clk_free(struct clk *clk)
|
||||
@@ -471,7 +471,6 @@ void clk_free(struct clk *clk)
|
||||
ulong clk_get_rate(struct clk *clk)
|
||||
{
|
||||
const struct clk_ops *ops;
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
debug("%s(clk=%p)\n", __func__, clk);
|
||||
if (!clk_valid(clk))
|
||||
@@ -479,11 +478,7 @@ ulong clk_get_rate(struct clk *clk)
|
||||
@@ -481,11 +480,7 @@ ulong clk_get_rate(struct clk *clk)
|
||||
if (!ops->get_rate)
|
||||
return -ENOSYS;
|
||||
|
||||
|
@ -1,70 +0,0 @@
|
||||
From 97df847f8f895cc2692bb0e4e933269c275da378 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Tue, 2 Mar 2021 15:47:45 +0800
|
||||
Subject: [PATCH 35/71] board: mediatek: add more network configurations
|
||||
|
||||
Make the network configurations uniform for mediatek boards
|
||||
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
include/configs/mt7622.h | 3 ++-
|
||||
include/configs/mt7623.h | 1 +
|
||||
include/configs/mt7629.h | 1 +
|
||||
include/configs/mt7981.h | 5 +++++
|
||||
include/configs/mt7986.h | 5 +++++
|
||||
5 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/include/configs/mt7622.h
|
||||
+++ b/include/configs/mt7622.h
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
/* Ethernet */
|
||||
#define CONFIG_IPADDR 192.168.1.1
|
||||
-#define CONFIG_SERVERIP 192.168.1.3
|
||||
+#define CONFIG_SERVERIP 192.168.1.2
|
||||
+#define CONFIG_NETMASK 255.255.255.0
|
||||
|
||||
#endif
|
||||
--- a/include/configs/mt7623.h
|
||||
+++ b/include/configs/mt7623.h
|
||||
@@ -35,6 +35,7 @@
|
||||
/* Ethernet */
|
||||
#define CONFIG_IPADDR 192.168.1.1
|
||||
#define CONFIG_SERVERIP 192.168.1.2
|
||||
+#define CONFIG_NETMASK 255.255.255.0
|
||||
|
||||
#ifdef CONFIG_DISTRO_DEFAULTS
|
||||
|
||||
--- a/include/configs/mt7629.h
|
||||
+++ b/include/configs/mt7629.h
|
||||
@@ -30,5 +30,6 @@
|
||||
/* Ethernet */
|
||||
#define CONFIG_IPADDR 192.168.1.1
|
||||
#define CONFIG_SERVERIP 192.168.1.2
|
||||
+#define CONFIG_NETMASK 255.255.255.0
|
||||
|
||||
#endif
|
||||
--- a/include/configs/mt7981.h
|
||||
+++ b/include/configs/mt7981.h
|
||||
@@ -18,4 +18,9 @@
|
||||
/* DRAM */
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x40000000
|
||||
|
||||
+/* Ethernet */
|
||||
+#define CONFIG_IPADDR 192.168.1.1
|
||||
+#define CONFIG_SERVERIP 192.168.1.2
|
||||
+#define CONFIG_NETMASK 255.255.255.0
|
||||
+
|
||||
#endif
|
||||
--- a/include/configs/mt7986.h
|
||||
+++ b/include/configs/mt7986.h
|
||||
@@ -18,4 +18,9 @@
|
||||
/* DRAM */
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x40000000
|
||||
|
||||
+/* Ethernet */
|
||||
+#define CONFIG_IPADDR 192.168.1.1
|
||||
+#define CONFIG_SERVERIP 192.168.1.2
|
||||
+#define CONFIG_NETMASK 255.255.255.0
|
||||
+
|
||||
#endif
|
38
package/boot/uboot-mediatek/patches/100-02-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch
Executable file → Normal file
38
package/boot/uboot-mediatek/patches/100-02-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch
Executable file → Normal file
@ -17,14 +17,14 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
drivers/mtd/mtk-snand/Kconfig | 21 +
|
||||
drivers/mtd/mtk-snand/Makefile | 11 +
|
||||
drivers/mtd/mtk-snand/mtk-snand-def.h | 271 ++++
|
||||
drivers/mtd/mtk-snand/mtk-snand-ecc.c | 395 +++++
|
||||
drivers/mtd/mtk-snand/mtk-snand-ids.c | 511 +++++++
|
||||
drivers/mtd/mtk-snand/mtk-snand-ecc.c | 411 ++++++
|
||||
drivers/mtd/mtk-snand/mtk-snand-ids.c | 515 +++++++
|
||||
drivers/mtd/mtk-snand/mtk-snand-mtd.c | 535 +++++++
|
||||
drivers/mtd/mtk-snand/mtk-snand-os.c | 39 +
|
||||
drivers/mtd/mtk-snand/mtk-snand-os.h | 120 ++
|
||||
drivers/mtd/mtk-snand/mtk-snand.c | 1933 +++++++++++++++++++++++++
|
||||
drivers/mtd/mtk-snand/mtk-snand.h | 77 +
|
||||
12 files changed, 3917 insertions(+)
|
||||
12 files changed, 3937 insertions(+)
|
||||
create mode 100644 drivers/mtd/mtk-snand/Kconfig
|
||||
create mode 100644 drivers/mtd/mtk-snand/Makefile
|
||||
create mode 100644 drivers/mtd/mtk-snand/mtk-snand-def.h
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/drivers/mtd/Kconfig
|
||||
+++ b/drivers/mtd/Kconfig
|
||||
@@ -210,6 +210,8 @@ config SYS_MAX_FLASH_BANKS_DETECT
|
||||
@@ -238,6 +238,8 @@ config SYS_MAX_FLASH_BANKS_DETECT
|
||||
to reduce the effective number of flash bank, between 0 and
|
||||
CONFIG_SYS_MAX_FLASH_BANKS
|
||||
|
||||
@ -46,10 +46,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+
|
||||
source "drivers/mtd/nand/Kconfig"
|
||||
|
||||
config SYS_NAND_MAX_CHIPS
|
||||
config SYS_NAND_MAX_OOBFREE
|
||||
--- a/drivers/mtd/Makefile
|
||||
+++ b/drivers/mtd/Makefile
|
||||
@@ -38,3 +38,5 @@ obj-$(CONFIG_$(SPL_TPL_)SPI_FLASH_SUPPOR
|
||||
@@ -39,3 +39,5 @@ obj-$(CONFIG_$(SPL_TPL_)SPI_FLASH_SUPPOR
|
||||
obj-$(CONFIG_SPL_UBI) += ubispl/
|
||||
|
||||
endif
|
||||
@ -369,7 +369,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+#endif /* _MTK_SNAND_DEF_H_ */
|
||||
--- /dev/null
|
||||
+++ b/drivers/mtd/mtk-snand/mtk-snand-ecc.c
|
||||
@@ -0,0 +1,395 @@
|
||||
@@ -0,0 +1,411 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||
+/*
|
||||
+ * Copyright (C) 2020 MediaTek Inc. All Rights Reserved.
|
||||
@ -418,6 +418,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+
|
||||
+static const uint8_t mt7622_ecc_caps[] = { 4, 6, 8, 10, 12 };
|
||||
+
|
||||
+static const uint8_t mt7981_ecc_caps[] = {
|
||||
+ 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
|
||||
+};
|
||||
+
|
||||
+static const uint8_t mt7986_ecc_caps[] = {
|
||||
+ 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
|
||||
+};
|
||||
@ -426,6 +430,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+ [ECC_DECDONE] = 0x11c,
|
||||
+};
|
||||
+
|
||||
+static const uint32_t mt7981_ecc_regs[] = {
|
||||
+ [ECC_DECDONE] = 0x124,
|
||||
+};
|
||||
+
|
||||
+static const uint32_t mt7986_ecc_regs[] = {
|
||||
+ [ECC_DECDONE] = 0x124,
|
||||
+};
|
||||
@ -447,6 +455,14 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+ .errnum_bits = 5,
|
||||
+ .errnum_shift = 5,
|
||||
+ },
|
||||
+ [SNAND_SOC_MT7981] = {
|
||||
+ .ecc_caps = mt7981_ecc_caps,
|
||||
+ .num_ecc_cap = ARRAY_SIZE(mt7981_ecc_caps),
|
||||
+ .regs = mt7981_ecc_regs,
|
||||
+ .mode_shift = 5,
|
||||
+ .errnum_bits = 5,
|
||||
+ .errnum_shift = 8,
|
||||
+ },
|
||||
+ [SNAND_SOC_MT7986] = {
|
||||
+ .ecc_caps = mt7986_ecc_caps,
|
||||
+ .num_ecc_cap = ARRAY_SIZE(mt7986_ecc_caps),
|
||||
@ -767,7 +783,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+}
|
||||
--- /dev/null
|
||||
+++ b/drivers/mtd/mtk-snand/mtk-snand-ids.c
|
||||
@@ -0,0 +1,511 @@
|
||||
@@ -0,0 +1,515 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||
+/*
|
||||
+ * Copyright (C) 2020 MediaTek Inc. All Rights Reserved.
|
||||
@ -860,6 +876,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+ &snand_cap_read_from_cache_quad,
|
||||
+ &snand_cap_program_load_x4,
|
||||
+ mtk_snand_winbond_select_die),
|
||||
+ SNAND_INFO("W25N01KV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xae, 0x21),
|
||||
+ SNAND_MEMORG_1G_2K_64,
|
||||
+ &snand_cap_read_from_cache_quad,
|
||||
+ &snand_cap_program_load_x4),
|
||||
+ SNAND_INFO("W25N02KV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x22),
|
||||
+ SNAND_MEMORG_2G_2K_128,
|
||||
+ &snand_cap_read_from_cache_quad,
|
||||
@ -903,7 +923,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+ &snand_cap_program_load_x4),
|
||||
+ SNAND_INFO("GD5F2GQ5UExxG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0x52),
|
||||
+ SNAND_MEMORG_2G_2K_128,
|
||||
+ &snand_cap_read_from_cache_quad_q2d,
|
||||
+ &snand_cap_read_from_cache_quad_a8d,
|
||||
+ &snand_cap_program_load_x4),
|
||||
+ SNAND_INFO("GD5F4GQ4UCxIG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0xb4),
|
||||
+ SNAND_MEMORG_4G_4K_256,
|
||||
|
0
package/boot/uboot-mediatek/patches/100-03-mtd-mtk-snand-add-support-for-SPL.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-03-mtd-mtk-snand-add-support-for-SPL.patch
Executable file → Normal file
20
package/boot/uboot-mediatek/patches/100-04-env-add-support-for-generic-MTD-device.patch
Executable file → Normal file
20
package/boot/uboot-mediatek/patches/100-04-env-add-support-for-generic-MTD-device.patch
Executable file → Normal file
@ -27,7 +27,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
defined(CONFIG_ENV_IS_IN_NAND) || \
|
||||
defined(CONFIG_ENV_IS_IN_NVRAM) || \
|
||||
defined(CONFIG_ENV_IS_IN_ONENAND) || \
|
||||
@@ -62,7 +63,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
@@ -61,7 +62,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if !defined(ENV_IS_IN_DEVICE) && \
|
||||
!defined(CONFIG_ENV_IS_NOWHERE)
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/env/Kconfig
|
||||
+++ b/env/Kconfig
|
||||
@@ -53,7 +53,7 @@ config ENV_IS_NOWHERE
|
||||
@@ -62,7 +62,7 @@ config ENV_IS_NOWHERE
|
||||
!ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
|
||||
!ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
|
||||
!ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
|
||||
@ -47,9 +47,9 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
help
|
||||
Define this if you don't want to or can't have an environment stored
|
||||
on a storage medium. In this case the environment will still exist
|
||||
@@ -242,6 +242,27 @@ config ENV_IS_IN_MMC
|
||||
This value is also in units of bytes, but must also be aligned to
|
||||
an MMC sector boundary.
|
||||
@@ -251,6 +251,27 @@ config ENV_IS_IN_MMC
|
||||
offset: "u-boot,mmc-env-offset", "u-boot,mmc-env-offset-redundant".
|
||||
CONFIG_ENV_OFFSET and CONFIG_ENV_OFFSET_REDUND are not used.
|
||||
|
||||
+config ENV_IS_IN_MTD
|
||||
+ bool "Environment in a MTD device"
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
config ENV_IS_IN_NAND
|
||||
bool "Environment in a NAND device"
|
||||
depends on !CHAIN_OF_TRUST
|
||||
@@ -549,10 +570,16 @@ config ENV_ADDR_REDUND
|
||||
@@ -558,10 +579,16 @@ config ENV_ADDR_REDUND
|
||||
Offset from the start of the device (or partition) of the redundant
|
||||
environment location.
|
||||
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
default 0x3f8000 if ARCH_ROCKCHIP && ENV_IS_IN_MMC
|
||||
default 0x140000 if ARCH_ROCKCHIP && ENV_IS_IN_SPI_FLASH
|
||||
default 0xF0000 if ARCH_SUNXI
|
||||
@@ -600,6 +627,12 @@ config ENV_SECT_SIZE
|
||||
@@ -609,6 +636,12 @@ config ENV_SECT_SIZE
|
||||
help
|
||||
Size of the sector containing the environment.
|
||||
|
||||
@ -108,7 +108,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
depends on ENV_IS_IN_UBI
|
||||
--- a/env/Makefile
|
||||
+++ b/env/Makefile
|
||||
@@ -26,6 +26,7 @@ obj-$(CONFIG_$(SPL_TPL_)ENV_IS_NOWHERE)
|
||||
@@ -24,6 +24,7 @@ obj-$(CONFIG_$(SPL_TPL_)ENV_IS_NOWHERE)
|
||||
obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_MMC) += mmc.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_FAT) += fat.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_EXT4) += ext4.o
|
||||
@ -389,7 +389,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+};
|
||||
--- a/include/env_internal.h
|
||||
+++ b/include/env_internal.h
|
||||
@@ -130,6 +130,7 @@ enum env_location {
|
||||
@@ -109,6 +109,7 @@ enum env_location {
|
||||
ENVL_FAT,
|
||||
ENVL_FLASH,
|
||||
ENVL_MMC,
|
||||
@ -399,7 +399,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
ENVL_ONENAND,
|
||||
--- a/tools/Makefile
|
||||
+++ b/tools/Makefile
|
||||
@@ -40,6 +40,7 @@ ENVCRC-$(CONFIG_ENV_IS_EMBEDDED) = y
|
||||
@@ -37,6 +37,7 @@ subdir-$(HOST_TOOLS_ALL) += gdb
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_EEPROM) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_FLASH) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_ONENAND) = y
|
||||
|
2
package/boot/uboot-mediatek/patches/100-05-mtd-add-a-new-mtd-device-type-for-NMBM.patch
Executable file → Normal file
2
package/boot/uboot-mediatek/patches/100-05-mtd-add-a-new-mtd-device-type-for-NMBM.patch
Executable file → Normal file
@ -15,7 +15,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/cmd/mtdparts.c
|
||||
+++ b/cmd/mtdparts.c
|
||||
@@ -1060,6 +1060,9 @@ int mtd_id_parse(const char *id, const c
|
||||
@@ -1057,6 +1057,9 @@ int mtd_id_parse(const char *id, const c
|
||||
} else if (strncmp(p, "spi-nand", 8) == 0) {
|
||||
*dev_type = MTD_DEV_TYPE_SPINAND;
|
||||
p += 8;
|
||||
|
6
package/boot/uboot-mediatek/patches/100-06-mtd-add-core-facility-code-of-NMBM.patch
Executable file → Normal file
6
package/boot/uboot-mediatek/patches/100-06-mtd-add-core-facility-code-of-NMBM.patch
Executable file → Normal file
@ -31,16 +31,16 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/drivers/mtd/Kconfig
|
||||
+++ b/drivers/mtd/Kconfig
|
||||
@@ -226,4 +226,6 @@ source "drivers/mtd/spi/Kconfig"
|
||||
@@ -274,4 +274,6 @@ source "drivers/mtd/ubi/Kconfig"
|
||||
|
||||
source "drivers/mtd/ubi/Kconfig"
|
||||
source "drivers/mtd/nvmxip/Kconfig"
|
||||
|
||||
+source "drivers/mtd/nmbm/Kconfig"
|
||||
+
|
||||
endmenu
|
||||
--- a/drivers/mtd/Makefile
|
||||
+++ b/drivers/mtd/Makefile
|
||||
@@ -40,3 +40,4 @@ obj-$(CONFIG_SPL_UBI) += ubispl/
|
||||
@@ -41,3 +41,4 @@ obj-$(CONFIG_SPL_UBI) += ubispl/
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_MTK_SPI_NAND) += mtk-snand/
|
||||
|
0
package/boot/uboot-mediatek/patches/100-07-mtd-nmbm-add-support-for-mtd.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-07-mtd-nmbm-add-support-for-mtd.patch
Executable file → Normal file
2
package/boot/uboot-mediatek/patches/100-08-common-board_r-add-support-to-initialize-NMBM-after-.patch
Executable file → Normal file
2
package/boot/uboot-mediatek/patches/100-08-common-board_r-add-support-to-initialize-NMBM-after-.patch
Executable file → Normal file
@ -34,7 +34,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
#if defined(CONFIG_CMD_ONENAND)
|
||||
/* go init the NAND */
|
||||
static int initr_onenand(void)
|
||||
@@ -703,6 +717,9 @@ static init_fnc_t init_sequence_r[] = {
|
||||
@@ -696,6 +710,9 @@ static init_fnc_t init_sequence_r[] = {
|
||||
#ifdef CONFIG_CMD_ONENAND
|
||||
initr_onenand,
|
||||
#endif
|
||||
|
8
package/boot/uboot-mediatek/patches/100-09-cmd-add-nmbm-command.patch
Executable file → Normal file
8
package/boot/uboot-mediatek/patches/100-09-cmd-add-nmbm-command.patch
Executable file → Normal file
@ -15,7 +15,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/cmd/Kconfig
|
||||
+++ b/cmd/Kconfig
|
||||
@@ -1342,6 +1342,12 @@ config CMD_NAND_TORTURE
|
||||
@@ -1353,6 +1353,12 @@ config CMD_NAND_TORTURE
|
||||
|
||||
endif # CMD_NAND
|
||||
|
||||
@ -205,9 +205,9 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ ret = mtd_read(mtd, off, sizeof(image_header_t), &retlen,
|
||||
+ ret = mtd_read(mtd, off, sizeof(struct legacy_img_hdr), &retlen,
|
||||
+ (void *)loadaddr);
|
||||
+ if (ret || retlen != sizeof(image_header_t)) {
|
||||
+ if (ret || retlen != sizeof(struct legacy_img_hdr)) {
|
||||
+ printf("Failed to read NMBM at offset 0x%08llx\n", off);
|
||||
+ return CMD_RET_FAILURE;
|
||||
+ }
|
||||
@ -215,7 +215,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+ switch (genimg_get_format((void *)loadaddr)) {
|
||||
+#if defined(CONFIG_LEGACY_IMAGE_FORMAT)
|
||||
+ case IMAGE_FORMAT_LEGACY:
|
||||
+ size = image_get_image_size((image_header_t *)loadaddr);
|
||||
+ size = image_get_image_size((struct legacy_img_hdr *)loadaddr);
|
||||
+ image_name = "legacy";
|
||||
+ break;
|
||||
+#endif
|
||||
|
0
package/boot/uboot-mediatek/patches/100-10-cmd-mtd-add-markbad-subcommand-for-NMBM-testing.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-10-cmd-mtd-add-markbad-subcommand-for-NMBM-testing.patch
Executable file → Normal file
18
package/boot/uboot-mediatek/patches/100-11-env-add-support-for-NMBM-upper-MTD-layer.patch
Executable file → Normal file
18
package/boot/uboot-mediatek/patches/100-11-env-add-support-for-NMBM-upper-MTD-layer.patch
Executable file → Normal file
@ -26,8 +26,8 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+ defined(CONFIG_ENV_IS_IN_NMBM) || \
|
||||
defined(CONFIG_ENV_IS_IN_NVRAM) || \
|
||||
defined(CONFIG_ENV_IS_IN_ONENAND) || \
|
||||
defined(CONFIG_ENV_IS_IN_SATA) || \
|
||||
@@ -64,7 +65,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
defined(CONFIG_ENV_IS_IN_SPI_FLASH) || \
|
||||
@@ -63,7 +64,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#if !defined(ENV_IS_IN_DEVICE) && \
|
||||
!defined(CONFIG_ENV_IS_NOWHERE)
|
||||
# error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|MMC|FAT|EXT4|MTD|\
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
/*
|
||||
--- a/env/Kconfig
|
||||
+++ b/env/Kconfig
|
||||
@@ -53,7 +53,7 @@ config ENV_IS_NOWHERE
|
||||
@@ -62,7 +62,7 @@ config ENV_IS_NOWHERE
|
||||
!ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \
|
||||
!ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \
|
||||
!ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
help
|
||||
Define this if you don't want to or can't have an environment stored
|
||||
on a storage medium. In this case the environment will still exist
|
||||
@@ -303,6 +303,21 @@ config ENV_RANGE
|
||||
@@ -312,6 +312,21 @@ config ENV_RANGE
|
||||
Specifying a range with more erase blocks than are needed to hold
|
||||
CONFIG_ENV_SIZE allows bad blocks within the range to be avoided.
|
||||
|
||||
@ -69,7 +69,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
config ENV_IS_IN_NVRAM
|
||||
bool "Environment in a non-volatile RAM"
|
||||
depends on !CHAIN_OF_TRUST
|
||||
@@ -579,7 +594,7 @@ config ENV_MTD_NAME
|
||||
@@ -588,7 +603,7 @@ config ENV_MTD_NAME
|
||||
config ENV_OFFSET
|
||||
hex "Environment offset"
|
||||
depends on ENV_IS_IN_EEPROM || ENV_IS_IN_MMC || ENV_IS_IN_NAND || \
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
default 0xF0000 if ARCH_SUNXI
|
||||
--- a/env/Makefile
|
||||
+++ b/env/Makefile
|
||||
@@ -28,6 +28,7 @@ obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_FAT) +
|
||||
@@ -26,6 +26,7 @@ obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_FAT) +
|
||||
obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_EXT4) += ext4.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_MTD) += mtd.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)ENV_IS_IN_NAND) += nand.o
|
||||
@ -260,7 +260,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+};
|
||||
--- a/include/env_internal.h
|
||||
+++ b/include/env_internal.h
|
||||
@@ -132,6 +132,7 @@ enum env_location {
|
||||
@@ -111,6 +111,7 @@ enum env_location {
|
||||
ENVL_MMC,
|
||||
ENVL_MTD,
|
||||
ENVL_NAND,
|
||||
@ -270,11 +270,11 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
ENVL_REMOTE,
|
||||
--- a/tools/Makefile
|
||||
+++ b/tools/Makefile
|
||||
@@ -42,6 +42,7 @@ ENVCRC-$(CONFIG_ENV_IS_IN_FLASH) = y
|
||||
@@ -39,6 +39,7 @@ ENVCRC-$(CONFIG_ENV_IS_IN_FLASH) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_ONENAND) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_MTD) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_NAND) = y
|
||||
+ENVCRC-$(CONFIG_ENV_IS_IN_NMBM) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_NVRAM) = y
|
||||
ENVCRC-$(CONFIG_ENV_IS_IN_SPI_FLASH) = y
|
||||
CONFIG_BUILD_ENVCRC ?= $(ENVCRC-y)
|
||||
BUILD_ENVCRC ?= $(ENVCRC-y)
|
||||
|
0
package/boot/uboot-mediatek/patches/100-12-mtd-mtk-snand-add-NMBM-support-for-SPL.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-12-mtd-mtk-snand-add-NMBM-support-for-SPL.patch
Executable file → Normal file
2
package/boot/uboot-mediatek/patches/100-13-cmd-add-a-new-command-for-NAND-flash-debugging.patch
Executable file → Normal file
2
package/boot/uboot-mediatek/patches/100-13-cmd-add-a-new-command-for-NAND-flash-debugging.patch
Executable file → Normal file
@ -26,7 +26,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/cmd/Kconfig
|
||||
+++ b/cmd/Kconfig
|
||||
@@ -1342,6 +1342,14 @@ config CMD_NAND_TORTURE
|
||||
@@ -1353,6 +1353,14 @@ config CMD_NAND_TORTURE
|
||||
|
||||
endif # CMD_NAND
|
||||
|
||||
|
6
package/boot/uboot-mediatek/patches/100-14-mtd-spi-nor-add-support-to-read-flash-unique-ID.patch
Executable file → Normal file
6
package/boot/uboot-mediatek/patches/100-14-mtd-spi-nor-add-support-to-read-flash-unique-ID.patch
Executable file → Normal file
@ -13,7 +13,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/drivers/mtd/spi/spi-nor-core.c
|
||||
+++ b/drivers/mtd/spi/spi-nor-core.c
|
||||
@@ -2818,6 +2818,100 @@ static int spi_nor_init_params(struct sp
|
||||
@@ -2848,6 +2848,100 @@ static int spi_nor_init_params(struct sp
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
static int spi_nor_hwcaps2cmd(u32 hwcaps, const int table[][2], size_t size)
|
||||
{
|
||||
size_t i;
|
||||
@@ -3901,6 +3995,7 @@ int spi_nor_scan(struct spi_nor *nor)
|
||||
@@ -4045,6 +4139,7 @@ int spi_nor_scan(struct spi_nor *nor)
|
||||
nor->write = spi_nor_write_data;
|
||||
nor->read_reg = spi_nor_read_reg;
|
||||
nor->write_reg = spi_nor_write_reg;
|
||||
@ -132,7 +132,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
#define SNOR_MFR_CYPRESS 0x34
|
||||
|
||||
/*
|
||||
@@ -565,6 +566,7 @@ struct spi_nor {
|
||||
@@ -571,6 +572,7 @@ struct spi_nor {
|
||||
void (*unprepare)(struct spi_nor *nor, enum spi_nor_ops ops);
|
||||
int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len);
|
||||
int (*write_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len);
|
||||
|
4
package/boot/uboot-mediatek/patches/100-15-cmd-sf-add-support-to-read-flash-unique-ID.patch
Executable file → Normal file
4
package/boot/uboot-mediatek/patches/100-15-cmd-sf-add-support-to-read-flash-unique-ID.patch
Executable file → Normal file
@ -27,7 +27,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
enum {
|
||||
STAGE_ERASE,
|
||||
STAGE_CHECK,
|
||||
@@ -603,6 +611,8 @@ static int do_spi_flash(struct cmd_tbl *
|
||||
@@ -601,6 +609,8 @@ static int do_spi_flash(struct cmd_tbl *
|
||||
ret = do_spi_flash_erase(argc, argv);
|
||||
else if (strcmp(cmd, "protect") == 0)
|
||||
ret = do_spi_protect(argc, argv);
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
else if (IS_ENABLED(CONFIG_CMD_SF_TEST) && !strcmp(cmd, "test"))
|
||||
ret = do_spi_flash_test(argc, argv);
|
||||
else
|
||||
@@ -633,7 +643,8 @@ static const char long_help[] =
|
||||
@@ -626,7 +636,8 @@ static const char long_help[] =
|
||||
" at `addr' to flash at `offset'\n"
|
||||
" or to start of mtd `partition'\n"
|
||||
"sf protect lock/unlock sector len - protect/unprotect 'len' bytes starting\n"
|
||||
|
209
package/boot/uboot-mediatek/patches/100-16-cmd-bootmenu-add-ability-to-select-item-by-shortkey.patch
Executable file → Normal file
209
package/boot/uboot-mediatek/patches/100-16-cmd-bootmenu-add-ability-to-select-item-by-shortkey.patch
Executable file → Normal file
@ -14,40 +14,41 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/cmd/bootmenu.c
|
||||
+++ b/cmd/bootmenu.c
|
||||
@@ -87,16 +87,17 @@ static char *bootmenu_choice_entry(void
|
||||
@@ -89,6 +89,7 @@ static char *bootmenu_choice_entry(void
|
||||
struct bootmenu_data *menu = data;
|
||||
struct bootmenu_entry *iter;
|
||||
enum bootmenu_key key = KEY_NONE;
|
||||
enum bootmenu_key key = BKEY_NONE;
|
||||
+ int choice = -1;
|
||||
int esc = 0;
|
||||
int i;
|
||||
|
||||
cli_ch_init(cch);
|
||||
@@ -96,10 +97,10 @@ static char *bootmenu_choice_entry(void
|
||||
while (1) {
|
||||
if (menu->delay >= 0) {
|
||||
/* Autoboot was not stopped */
|
||||
- bootmenu_autoboot_loop(menu, &key, &esc);
|
||||
+ bootmenu_autoboot_loop(menu, &key, &esc, &choice);
|
||||
- key = bootmenu_autoboot_loop(menu, cch);
|
||||
+ key = bootmenu_autoboot_loop(menu, cch, &choice);
|
||||
} else {
|
||||
/* Some key was pressed, so autoboot was stopped */
|
||||
- bootmenu_loop(menu, &key, &esc);
|
||||
+ bootmenu_loop(menu, &key, &esc, &choice);
|
||||
- key = bootmenu_loop(menu, cch);
|
||||
+ key = bootmenu_loop(menu, cch, &choice);
|
||||
}
|
||||
|
||||
switch (key) {
|
||||
@@ -110,6 +111,12 @@ static char *bootmenu_choice_entry(void
|
||||
@@ -113,6 +114,12 @@ static char *bootmenu_choice_entry(void
|
||||
++menu->active;
|
||||
/* no menu key selected, regenerate menu */
|
||||
return NULL;
|
||||
+ case KEY_CHOICE:
|
||||
+ case BKEY_CHOICE:
|
||||
+ menu->active = choice;
|
||||
+ if (!menu->last_choiced) {
|
||||
+ menu->last_choiced = true;
|
||||
+ return NULL;
|
||||
+ }
|
||||
case KEY_SELECT:
|
||||
case BKEY_SELECT:
|
||||
iter = menu->first;
|
||||
for (i = 0; i < menu->active; ++i)
|
||||
@@ -167,6 +174,9 @@ static int prepare_bootmenu_entry(struct
|
||||
@@ -170,6 +177,9 @@ static int prepare_bootmenu_entry(struct
|
||||
unsigned short int i = *index;
|
||||
struct bootmenu_entry *entry = NULL;
|
||||
struct bootmenu_entry *iter = *current;
|
||||
@ -57,7 +58,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
while ((option = bootmenu_getoption(i))) {
|
||||
|
||||
@@ -181,11 +191,24 @@ static int prepare_bootmenu_entry(struct
|
||||
@@ -184,11 +194,24 @@ static int prepare_bootmenu_entry(struct
|
||||
if (!entry)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -83,7 +84,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
entry->command = strdup(sep + 1);
|
||||
if (!entry->command) {
|
||||
@@ -331,6 +354,7 @@ static struct bootmenu_data *bootmenu_cr
|
||||
@@ -334,6 +357,7 @@ static struct bootmenu_data *bootmenu_cr
|
||||
menu->delay = delay;
|
||||
menu->active = 0;
|
||||
menu->first = NULL;
|
||||
@ -91,7 +92,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
default_str = env_get("bootmenu_default");
|
||||
if (default_str)
|
||||
@@ -366,9 +390,9 @@ static struct bootmenu_data *bootmenu_cr
|
||||
@@ -369,9 +393,9 @@ static struct bootmenu_data *bootmenu_cr
|
||||
|
||||
/* Add Quit entry if entering U-Boot console is disabled */
|
||||
if (!IS_ENABLED(CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE))
|
||||
@ -105,7 +106,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
free(entry);
|
||||
--- a/common/menu.c
|
||||
+++ b/common/menu.c
|
||||
@@ -47,6 +47,33 @@ struct menu {
|
||||
@@ -49,6 +49,33 @@ struct menu {
|
||||
int item_cnt;
|
||||
};
|
||||
|
||||
@ -139,68 +140,93 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
/*
|
||||
* An iterator function for menu items. callback will be called for each item
|
||||
* in m, with m, a pointer to the item, and extra being passed to callback. If
|
||||
@@ -426,7 +453,7 @@ int menu_destroy(struct menu *m)
|
||||
@@ -428,7 +455,7 @@ int menu_destroy(struct menu *m)
|
||||
}
|
||||
|
||||
void bootmenu_autoboot_loop(struct bootmenu_data *menu,
|
||||
- enum bootmenu_key *key, int *esc)
|
||||
+ enum bootmenu_key *key, int *esc, int *choice)
|
||||
enum bootmenu_key bootmenu_autoboot_loop(struct bootmenu_data *menu,
|
||||
- struct cli_ch_state *cch)
|
||||
+ struct cli_ch_state *cch, int *choice)
|
||||
{
|
||||
enum bootmenu_key key = BKEY_NONE;
|
||||
int i, c;
|
||||
|
||||
@@ -456,6 +483,19 @@ void bootmenu_autoboot_loop(struct bootm
|
||||
@@ -463,6 +490,19 @@ enum bootmenu_key bootmenu_autoboot_loop
|
||||
break;
|
||||
default:
|
||||
*key = KEY_NONE;
|
||||
+ if (*esc)
|
||||
key = BKEY_NONE;
|
||||
+ if (cch->esc_len || !choice)
|
||||
+ break;
|
||||
+
|
||||
+ *choice = find_choice(c);
|
||||
+ if ((*choice >= 0 &&
|
||||
+ *choice < menu->count - 1)) {
|
||||
+ *key = KEY_CHOICE;
|
||||
+ key = BKEY_CHOICE;
|
||||
+ } else if (c == '0') {
|
||||
+ *choice = menu->count - 1;
|
||||
+ *key = KEY_CHOICE;
|
||||
+ key = BKEY_CHOICE;
|
||||
+ } else {
|
||||
+ *key = KEY_NONE;
|
||||
+ key = BKEY_NONE;
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -475,10 +515,16 @@ void bootmenu_autoboot_loop(struct bootm
|
||||
break;
|
||||
@@ -483,7 +523,8 @@ enum bootmenu_key bootmenu_autoboot_loop
|
||||
return key;
|
||||
}
|
||||
|
||||
void bootmenu_loop(struct bootmenu_data *menu,
|
||||
- enum bootmenu_key *key, int *esc)
|
||||
+ enum bootmenu_key *key, int *esc, int *choice)
|
||||
-enum bootmenu_key bootmenu_conv_key(int ichar)
|
||||
+enum bootmenu_key bootmenu_conv_key(struct bootmenu_data *menu, int ichar,
|
||||
+ int *choice)
|
||||
{
|
||||
enum bootmenu_key key;
|
||||
|
||||
@@ -515,6 +556,20 @@ enum bootmenu_key bootmenu_conv_key(int
|
||||
case ' ':
|
||||
key = BKEY_SPACE;
|
||||
break;
|
||||
+ case '0' ... '9':
|
||||
+ case 'a' ... 'z':
|
||||
+ if (choice && menu) {
|
||||
+ *choice = find_choice(ichar);
|
||||
+ if ((*choice >= 0 && *choice < menu->count - 1)) {
|
||||
+ key = BKEY_CHOICE;
|
||||
+ break;
|
||||
+ } else if (ichar == '0') {
|
||||
+ *choice = menu->count - 1;
|
||||
+ key = BKEY_CHOICE;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ fallthrough;
|
||||
default:
|
||||
key = BKEY_NONE;
|
||||
break;
|
||||
@@ -524,11 +579,16 @@ enum bootmenu_key bootmenu_conv_key(int
|
||||
}
|
||||
|
||||
enum bootmenu_key bootmenu_loop(struct bootmenu_data *menu,
|
||||
- struct cli_ch_state *cch)
|
||||
+ struct cli_ch_state *cch, int *choice)
|
||||
{
|
||||
enum bootmenu_key key;
|
||||
int c;
|
||||
|
||||
+ if (menu->last_choiced) {
|
||||
+ menu->last_choiced = false;
|
||||
+ *key = KEY_SELECT;
|
||||
+ return;
|
||||
+ return BKEY_SELECT;
|
||||
+ }
|
||||
+
|
||||
if (*esc == 1) {
|
||||
if (tstc()) {
|
||||
c = getchar();
|
||||
@@ -504,6 +550,14 @@ void bootmenu_loop(struct bootmenu_data
|
||||
if (c == '\e') {
|
||||
*esc = 1;
|
||||
*key = KEY_NONE;
|
||||
+ } else {
|
||||
+ *choice = find_choice(c);
|
||||
+ if ((*choice >= 0 && *choice < menu->count - 1)) {
|
||||
+ *key = KEY_CHOICE;
|
||||
+ } else if (c == '0') {
|
||||
+ *choice = menu->count - 1;
|
||||
+ *key = KEY_CHOICE;
|
||||
+ }
|
||||
c = cli_ch_process(cch, 0);
|
||||
if (!c) {
|
||||
while (!c && !tstc()) {
|
||||
@@ -542,7 +602,7 @@ enum bootmenu_key bootmenu_loop(struct b
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
}
|
||||
|
||||
- key = bootmenu_conv_key(c);
|
||||
+ key = bootmenu_conv_key(menu, c, choice);
|
||||
|
||||
return key;
|
||||
}
|
||||
--- a/include/menu.h
|
||||
+++ b/include/menu.h
|
||||
@@ -6,6 +6,8 @@
|
||||
@ -209,10 +235,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
+#include <linux/ctype.h>
|
||||
+
|
||||
struct cli_ch_state;
|
||||
struct menu;
|
||||
|
||||
struct menu *menu_create(char *title, int timeout, int prompt,
|
||||
@@ -18,6 +20,8 @@ int menu_get_choice(struct menu *m, void
|
||||
@@ -19,6 +21,8 @@ int menu_get_choice(struct menu *m, void
|
||||
int menu_item_add(struct menu *m, char *item_key, void *item_data);
|
||||
int menu_destroy(struct menu *m);
|
||||
int menu_default_choice(struct menu *m, void **choice);
|
||||
@ -221,26 +247,77 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
/**
|
||||
* menu_show() Show a boot menu
|
||||
@@ -40,6 +44,7 @@ struct bootmenu_data {
|
||||
@@ -41,6 +45,7 @@ struct bootmenu_data {
|
||||
int active; /* active menu entry */
|
||||
int count; /* total count of menu entries */
|
||||
struct bootmenu_entry *first; /* first menu entry */
|
||||
+ bool last_choiced;
|
||||
};
|
||||
|
||||
enum bootmenu_key {
|
||||
@@ -51,11 +56,12 @@ enum bootmenu_key {
|
||||
KEY_PLUS,
|
||||
KEY_MINUS,
|
||||
KEY_SPACE,
|
||||
+ KEY_CHOICE,
|
||||
};
|
||||
/** enum bootmenu_key - keys that can be returned by the bootmenu */
|
||||
@@ -54,6 +59,7 @@ enum bootmenu_key {
|
||||
BKEY_MINUS,
|
||||
BKEY_SPACE,
|
||||
BKEY_SAVE,
|
||||
+ BKEY_CHOICE,
|
||||
|
||||
void bootmenu_autoboot_loop(struct bootmenu_data *menu,
|
||||
- enum bootmenu_key *key, int *esc);
|
||||
+ enum bootmenu_key *key, int *esc, int *choice);
|
||||
void bootmenu_loop(struct bootmenu_data *menu,
|
||||
- enum bootmenu_key *key, int *esc);
|
||||
+ enum bootmenu_key *key, int *esc, int *choice);
|
||||
BKEY_COUNT,
|
||||
};
|
||||
@@ -76,7 +82,7 @@ enum bootmenu_key {
|
||||
* anything else: KEY_NONE
|
||||
*/
|
||||
enum bootmenu_key bootmenu_autoboot_loop(struct bootmenu_data *menu,
|
||||
- struct cli_ch_state *cch);
|
||||
+ struct cli_ch_state *cch, int *choice);
|
||||
|
||||
/**
|
||||
* bootmenu_loop() - handle waiting for a keypress when autoboot is disabled
|
||||
@@ -102,7 +108,7 @@ enum bootmenu_key bootmenu_autoboot_loop
|
||||
* Space: BKEY_SPACE
|
||||
*/
|
||||
enum bootmenu_key bootmenu_loop(struct bootmenu_data *menu,
|
||||
- struct cli_ch_state *cch);
|
||||
+ struct cli_ch_state *cch, int *choice);
|
||||
|
||||
/**
|
||||
* bootmenu_conv_key() - Convert a U-Boot keypress into a menu key
|
||||
@@ -110,6 +116,7 @@ enum bootmenu_key bootmenu_loop(struct b
|
||||
* @ichar: Keypress to convert (ASCII, including control characters)
|
||||
* Returns: Menu key that corresponds to @ichar, or BKEY_NONE if none
|
||||
*/
|
||||
-enum bootmenu_key bootmenu_conv_key(int ichar);
|
||||
+enum bootmenu_key bootmenu_conv_key(struct bootmenu_data *menu, int ichar,
|
||||
+ int *choice);
|
||||
|
||||
#endif /* __MENU_H__ */
|
||||
--- a/cmd/eficonfig.c
|
||||
+++ b/cmd/eficonfig.c
|
||||
@@ -239,7 +239,7 @@ char *eficonfig_choice_entry(void *data)
|
||||
cli_ch_init(cch);
|
||||
|
||||
while (1) {
|
||||
- key = bootmenu_loop((struct bootmenu_data *)efi_menu, cch);
|
||||
+ key = bootmenu_loop((struct bootmenu_data *)efi_menu, cch, NULL);
|
||||
|
||||
switch (key) {
|
||||
case BKEY_UP:
|
||||
@@ -1937,7 +1937,7 @@ char *eficonfig_choice_change_boot_order
|
||||
|
||||
cli_ch_init(cch);
|
||||
while (1) {
|
||||
- key = bootmenu_loop(NULL, cch);
|
||||
+ key = bootmenu_loop(NULL, cch, NULL);
|
||||
|
||||
switch (key) {
|
||||
case BKEY_PLUS:
|
||||
--- a/boot/bootflow_menu.c
|
||||
+++ b/boot/bootflow_menu.c
|
||||
@@ -231,7 +231,7 @@ int bootflow_menu_run(struct bootstd_pri
|
||||
|
||||
key = 0;
|
||||
if (ichar) {
|
||||
- key = bootmenu_conv_key(ichar);
|
||||
+ key = bootmenu_conv_key(NULL, ichar, NULL);
|
||||
if (key == BKEY_NONE)
|
||||
key = ichar;
|
||||
}
|
||||
|
0
package/boot/uboot-mediatek/patches/100-17-common-spl-spl_nand-enable-CONFIG_SYS_NAND_U_BOOT_OF.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-17-common-spl-spl_nand-enable-CONFIG_SYS_NAND_U_BOOT_OF.patch
Executable file → Normal file
4
package/boot/uboot-mediatek/patches/100-18-board-mt7629-add-support-for-booting-from-SPI-NAND.patch
Executable file → Normal file
4
package/boot/uboot-mediatek/patches/100-18-board-mt7629-add-support-for-booting-from-SPI-NAND.patch
Executable file → Normal file
@ -23,7 +23,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+++ b/arch/arm/dts/mt7629-rfb-u-boot.dtsi
|
||||
@@ -40,3 +40,11 @@
|
||||
&snfi {
|
||||
u-boot,dm-pre-reloc;
|
||||
bootph-all;
|
||||
};
|
||||
+
|
||||
+&pinctrl {
|
||||
@ -163,7 +163,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+CONFIG_SYS_ARCH_TIMER=y
|
||||
+CONFIG_SYS_THUMB_BUILD=y
|
||||
+CONFIG_ARCH_MEDIATEK=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x41e00000
|
||||
+CONFIG_TEXT_BASE=0x41e00000
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_SIZE=0x20000
|
||||
|
4
package/boot/uboot-mediatek/patches/100-19-board-mt7622-use-new-spi-nand-driver.patch
Executable file → Normal file
4
package/boot/uboot-mediatek/patches/100-19-board-mt7622-use-new-spi-nand-driver.patch
Executable file → Normal file
@ -55,7 +55,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
reg = <0x11014000 0x1000>;
|
||||
--- a/configs/mt7622_rfb_defconfig
|
||||
+++ b/configs/mt7622_rfb_defconfig
|
||||
@@ -21,6 +21,7 @@ CONFIG_SYS_MAXARGS=8
|
||||
@@ -22,6 +22,7 @@ CONFIG_SYS_MAXARGS=8
|
||||
CONFIG_SYS_PBSIZE=1049
|
||||
CONFIG_CMD_BOOTMENU=y
|
||||
CONFIG_CMD_MMC=y
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
CONFIG_CMD_PCI=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
CONFIG_CMD_PING=y
|
||||
@@ -36,6 +37,10 @@ CONFIG_SYSCON=y
|
||||
@@ -41,6 +42,10 @@ CONFIG_SYSCON=y
|
||||
CONFIG_CLK=y
|
||||
CONFIG_MMC_HS200_SUPPORT=y
|
||||
CONFIG_MMC_MTK=y
|
||||
|
6
package/boot/uboot-mediatek/patches/100-20-board-mt7981-add-reference-board-using-new-spi-nand-.patch
Executable file → Normal file
6
package/boot/uboot-mediatek/patches/100-20-board-mt7981-add-reference-board-using-new-spi-nand-.patch
Executable file → Normal file
@ -18,14 +18,14 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -1266,6 +1266,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
|
||||
@@ -1308,6 +1308,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
|
||||
mt7623n-bananapi-bpi-r2.dtb \
|
||||
mt7629-rfb.dtb \
|
||||
mt7981-rfb.dtb \
|
||||
+ mt7981-snfi-nand-rfb.dtb \
|
||||
mt7981-emmc-rfb.dtb \
|
||||
mt7981-sd-rfb.dtb \
|
||||
mt7986a-rfb.dtb \
|
||||
mt7986a-bpi-r3-sd.dtb \
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/mt7981-snfi-nand-rfb.dts
|
||||
@@ -0,0 +1,132 @@
|
||||
@ -167,7 +167,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_POSITION_INDEPENDENT=y
|
||||
+CONFIG_ARCH_MEDIATEK=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x41e00000
|
||||
+CONFIG_TEXT_BASE=0x41e00000
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_SIZE=0x20000
|
||||
|
12
package/boot/uboot-mediatek/patches/100-21-mtd-spi-nor-add-more-flash-ids.patch
Executable file → Normal file
12
package/boot/uboot-mediatek/patches/100-21-mtd-spi-nor-add-more-flash-ids.patch
Executable file → Normal file
@ -13,7 +13,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/drivers/mtd/spi/spi-nor-core.c
|
||||
+++ b/drivers/mtd/spi/spi-nor-core.c
|
||||
@@ -672,6 +672,7 @@ static int set_4byte(struct spi_nor *nor
|
||||
@@ -673,6 +673,7 @@ static int set_4byte(struct spi_nor *nor
|
||||
case SNOR_MFR_ISSI:
|
||||
case SNOR_MFR_MACRONIX:
|
||||
case SNOR_MFR_WINBOND:
|
||||
@ -33,9 +33,9 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
{ INFO("en25s64", 0x1c3817, 0, 64 * 1024, 128, SECT_4K) },
|
||||
#endif
|
||||
#ifdef CONFIG_SPI_FLASH_GIGADEVICE /* GIGADEVICE */
|
||||
@@ -119,6 +120,11 @@ const struct flash_info spi_nor_ids[] =
|
||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
},
|
||||
@@ -149,6 +150,11 @@ const struct flash_info spi_nor_ids[] =
|
||||
{INFO("gd55x02g", 0xc8481C, 0, 64 * 1024, 4096, SECT_4K |
|
||||
SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES)},
|
||||
{
|
||||
+ INFO("gd25q256", 0xc84019, 0, 64 * 1024, 512,
|
||||
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
INFO("gd25lq128", 0xc86018, 0, 64 * 1024, 256,
|
||||
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
@@ -398,6 +404,16 @@ const struct flash_info spi_nor_ids[] =
|
||||
@@ -468,6 +474,16 @@ const struct flash_info spi_nor_ids[] =
|
||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
},
|
||||
{
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
INFO("w25q128jw", 0xef8018, 0, 64 * 1024, 256,
|
||||
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
@@ -447,6 +463,11 @@ const struct flash_info spi_nor_ids[] =
|
||||
@@ -517,6 +533,11 @@ const struct flash_info spi_nor_ids[] =
|
||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
},
|
||||
{ INFO("w25q256", 0xef4019, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
||||
|
274
package/boot/uboot-mediatek/patches/100-22-mtd-spi-nand-backport-from-upstream-kernel.patch
Executable file → Normal file
274
package/boot/uboot-mediatek/patches/100-22-mtd-spi-nand-backport-from-upstream-kernel.patch
Executable file → Normal file
@ -1,4 +1,4 @@
|
||||
From a3c5878599d530330027412eb8be12f816ac215c Mon Sep 17 00:00:00 2001
|
||||
From 8d0665327819c41fce2c8d50f19c967b22eae564 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 27 Jul 2022 16:36:13 +0800
|
||||
Subject: [PATCH 57/71] mtd: spi-nand: backport from upstream kernel
|
||||
@ -7,30 +7,34 @@ Backport new features from upstream kernel
|
||||
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
drivers/mtd/nand/spi/Kconfig | 8 +
|
||||
drivers/mtd/nand/spi/core.c | 101 ++++++----
|
||||
drivers/mtd/nand/spi/Kconfig | 1 +
|
||||
drivers/mtd/nand/spi/Makefile | 2 +-
|
||||
drivers/mtd/nand/spi/core.c | 102 ++++++----
|
||||
drivers/mtd/nand/spi/etron.c | 181 +++++++++++++++++
|
||||
drivers/mtd/nand/spi/gigadevice.c | 322 ++++++++++++++++++++++++++----
|
||||
drivers/mtd/nand/spi/macronix.c | 173 +++++++++++++---
|
||||
drivers/mtd/nand/spi/micron.c | 50 ++---
|
||||
drivers/mtd/nand/spi/toshiba.c | 66 +++---
|
||||
drivers/mtd/nand/spi/winbond.c | 171 +++++++++++++---
|
||||
include/linux/mtd/spinand.h | 86 +++++---
|
||||
8 files changed, 753 insertions(+), 224 deletions(-)
|
||||
drivers/mtd/nand/spi/winbond.c | 164 ++++++++++++---
|
||||
include/linux/mtd/spinand.h | 87 +++++---
|
||||
10 files changed, 923 insertions(+), 225 deletions(-)
|
||||
create mode 100644 drivers/mtd/nand/spi/etron.c
|
||||
|
||||
--- a/drivers/mtd/nand/spi/Kconfig
|
||||
+++ b/drivers/mtd/nand/spi/Kconfig
|
||||
@@ -5,3 +5,11 @@ menuconfig MTD_SPI_NAND
|
||||
@@ -5,3 +5,4 @@ menuconfig MTD_SPI_NAND
|
||||
select SPI_MEM
|
||||
help
|
||||
This is the framework for the SPI NAND device drivers.
|
||||
+
|
||||
+config MTD_SPI_NAND_W25N01KV
|
||||
+ tristate "Winbond W25N01KV Support"
|
||||
+ select MTD_SPI_NAND
|
||||
+ default n
|
||||
+ help
|
||||
+ Winbond W25N01KV share the same ID with W25N01GV. However, they have
|
||||
+ different attributes.
|
||||
--- a/drivers/mtd/nand/spi/Makefile
|
||||
+++ b/drivers/mtd/nand/spi/Makefile
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
-spinand-objs := core.o gigadevice.o macronix.o micron.o toshiba.o winbond.o
|
||||
+spinand-objs := core.o gigadevice.o macronix.o micron.o toshiba.o winbond.o etron.o
|
||||
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
|
||||
--- a/drivers/mtd/nand/spi/core.c
|
||||
+++ b/drivers/mtd/nand/spi/core.c
|
||||
@@ -17,6 +17,7 @@
|
||||
@ -75,7 +79,15 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
static int spinand_lock_block(struct spinand_device *spinand, u8 lock)
|
||||
{
|
||||
return spinand_write_reg_op(spinand, REG_BLOCK_LOCK, lock);
|
||||
@@ -836,24 +826,63 @@ static const struct spinand_manufacturer
|
||||
@@ -829,6 +819,7 @@ static const struct nand_ops spinand_ops
|
||||
};
|
||||
|
||||
static const struct spinand_manufacturer *spinand_manufacturers[] = {
|
||||
+ &etron_spinand_manufacturer,
|
||||
&gigadevice_spinand_manufacturer,
|
||||
¯onix_spinand_manufacturer,
|
||||
µn_spinand_manufacturer,
|
||||
@@ -836,24 +827,63 @@ static const struct spinand_manufacturer
|
||||
&winbond_spinand_manufacturer,
|
||||
};
|
||||
|
||||
@ -147,7 +159,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
static int spinand_manufacturer_init(struct spinand_device *spinand)
|
||||
{
|
||||
if (spinand->manufacturer->ops->init)
|
||||
@@ -909,9 +938,9 @@ spinand_select_op_variant(struct spinand
|
||||
@@ -909,9 +939,9 @@ spinand_select_op_variant(struct spinand
|
||||
* @spinand: SPI NAND object
|
||||
* @table: SPI NAND device description table
|
||||
* @table_size: size of the device description table
|
||||
@ -159,7 +171,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
* entry in the SPI NAND description table. If a match is found, the spinand
|
||||
* object will be initialized with information provided by the matching
|
||||
* spinand_info entry.
|
||||
@@ -920,8 +949,10 @@ spinand_select_op_variant(struct spinand
|
||||
@@ -920,8 +950,10 @@ spinand_select_op_variant(struct spinand
|
||||
*/
|
||||
int spinand_match_and_init(struct spinand_device *spinand,
|
||||
const struct spinand_info *table,
|
||||
@ -171,7 +183,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
struct nand_device *nand = spinand_to_nand(spinand);
|
||||
unsigned int i;
|
||||
|
||||
@@ -929,13 +960,17 @@ int spinand_match_and_init(struct spinan
|
||||
@@ -929,13 +961,17 @@ int spinand_match_and_init(struct spinan
|
||||
const struct spinand_info *info = &table[i];
|
||||
const struct spi_mem_op *op;
|
||||
|
||||
@ -190,7 +202,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
spinand->select_target = table[i].select_target;
|
||||
|
||||
op = spinand_select_op_variant(spinand,
|
||||
@@ -967,17 +1002,7 @@ static int spinand_detect(struct spinand
|
||||
@@ -967,17 +1003,7 @@ static int spinand_detect(struct spinand
|
||||
struct nand_device *nand = spinand_to_nand(spinand);
|
||||
int ret;
|
||||
|
||||
@ -207,8 +219,192 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
- ret = spinand_manufacturer_detect(spinand);
|
||||
+ ret = spinand_id_detect(spinand);
|
||||
if (ret) {
|
||||
dev_err(spinand->slave->dev, "unknown raw ID %*phN\n",
|
||||
SPINAND_MAX_ID_LEN, spinand->id.data);
|
||||
dev_err(spinand->slave->dev, "unknown raw ID %02x %02x %02x %02x\n",
|
||||
spinand->id.data[0], spinand->id.data[1],
|
||||
--- /dev/null
|
||||
+++ b/drivers/mtd/nand/spi/etron.c
|
||||
@@ -0,0 +1,181 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Copyright (c) 2020 Etron Technology, Inc.
|
||||
+ *
|
||||
+ */
|
||||
+#ifndef __UBOOT__
|
||||
+#include <malloc.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#endif
|
||||
+#include <linux/bug.h>
|
||||
+#include <linux/mtd/spinand.h>
|
||||
+
|
||||
+#define SPINAND_MFR_ETRON 0xD5
|
||||
+
|
||||
+#define STATUS_ECC_LIMIT_BITFLIPS (3 << 4)
|
||||
+
|
||||
+static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||
+ SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0),
|
||||
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||
+ SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||
+ SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
||||
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
||||
+
|
||||
+static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
|
||||
+
|
||||
+static SPINAND_OP_VARIANTS(update_cache_variants,
|
||||
+ SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
|
||||
+ SPINAND_PROG_LOAD(false, 0, NULL, 0));
|
||||
+
|
||||
+static int etron_ooblayout_ecc(struct mtd_info *mtd, int section,
|
||||
+ struct mtd_oob_region *region)
|
||||
+{
|
||||
+ if (section > 3)
|
||||
+ return -ERANGE;
|
||||
+
|
||||
+ region->offset = (14 * section) + 72;
|
||||
+ region->length = 14;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int etron_ooblayout_free(struct mtd_info *mtd, int section,
|
||||
+ struct mtd_oob_region *region)
|
||||
+{
|
||||
+ if (section > 3)
|
||||
+ return -ERANGE;
|
||||
+
|
||||
+ if (section) {
|
||||
+ region->offset = 18 * section;
|
||||
+ region->length = 18;
|
||||
+ } else {
|
||||
+ /* section 0 has one byte reserved for bad block mark */
|
||||
+ region->offset = 2;
|
||||
+ region->length = 16;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct mtd_ooblayout_ops etron_ooblayout = {
|
||||
+ .ecc = etron_ooblayout_ecc,
|
||||
+ .rfree = etron_ooblayout_free,
|
||||
+};
|
||||
+
|
||||
+static int etron_ecc_get_status(struct spinand_device *spinand,
|
||||
+ u8 status)
|
||||
+{
|
||||
+ struct nand_device *nand = spinand_to_nand(spinand);
|
||||
+
|
||||
+ switch (status & STATUS_ECC_MASK) {
|
||||
+ case STATUS_ECC_NO_BITFLIPS:
|
||||
+ return 0;
|
||||
+
|
||||
+ case STATUS_ECC_UNCOR_ERROR:
|
||||
+ return -EBADMSG;
|
||||
+
|
||||
+ case STATUS_ECC_HAS_BITFLIPS:
|
||||
+ return nand->eccreq.strength >> 1;
|
||||
+
|
||||
+ case STATUS_ECC_LIMIT_BITFLIPS:
|
||||
+ return nand->eccreq.strength;
|
||||
+
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+
|
||||
+static const struct spinand_info etron_spinand_table[] = {
|
||||
+ /* EM73C 1Gb 3.3V */
|
||||
+ SPINAND_INFO("EM73C044VCF",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x25),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 1, 1, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ /* EM7xD 2Gb */
|
||||
+ SPINAND_INFO("EM73D044VCR",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x41),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 1, 1, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ SPINAND_INFO("EM73D044VCO",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x3A),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ SPINAND_INFO("EM78D044VCM",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x8E),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ /* EM7xE 4Gb */
|
||||
+ SPINAND_INFO("EM73E044VCE",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x3B),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ SPINAND_INFO("EM78E044VCD",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x8F),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ /* EM7xF044VCA 8Gb */
|
||||
+ SPINAND_INFO("EM73F044VCA",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x15),
|
||||
+ NAND_MEMORG(1, 4096, 256, 64, 4096, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+ SPINAND_INFO("EM78F044VCA",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x8D),
|
||||
+ NAND_MEMORG(1, 4096, 256, 64, 4096, 1, 1, 1),
|
||||
+ NAND_ECCREQ(8, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ SPINAND_HAS_QE_BIT,
|
||||
+ SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
|
||||
+};
|
||||
+
|
||||
+static const struct spinand_manufacturer_ops etron_spinand_manuf_ops = {
|
||||
+};
|
||||
+
|
||||
+const struct spinand_manufacturer etron_spinand_manufacturer = {
|
||||
+ .id = SPINAND_MFR_ETRON,
|
||||
+ .name = "Etron",
|
||||
+ .chips = etron_spinand_table,
|
||||
+ .nchips = ARRAY_SIZE(etron_spinand_table),
|
||||
+ .ops = &etron_spinand_manuf_ops,
|
||||
+};
|
||||
--- a/drivers/mtd/nand/spi/gigadevice.c
|
||||
+++ b/drivers/mtd/nand/spi/gigadevice.c
|
||||
@@ -22,8 +22,13 @@
|
||||
@ -1153,7 +1349,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
};
|
||||
--- a/drivers/mtd/nand/spi/winbond.c
|
||||
+++ b/drivers/mtd/nand/spi/winbond.c
|
||||
@@ -19,6 +19,25 @@
|
||||
@@ -19,6 +19,23 @@
|
||||
|
||||
#define WINBOND_CFG_BUF_READ BIT(3)
|
||||
|
||||
@ -1168,18 +1364,16 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+#define W25N01_M02GV_STATUS_ECC_1_BITFLIPS (1 << 4)
|
||||
+#define W25N01_M02GV_STATUS_ECC_UNCOR_ERROR (2 << 4)
|
||||
+
|
||||
+#if IS_ENABLED(CONFIG_MTD_SPI_NAND_W25N01KV)
|
||||
+#define W25N01KV_STATUS_ECC_MASK (3 << 4)
|
||||
+#define W25N01KV_STATUS_ECC_NO_BITFLIPS (0 << 4)
|
||||
+#define W25N01KV_STATUS_ECC_1_3_BITFLIPS (1 << 4)
|
||||
+#define W25N01KV_STATUS_ECC_4_BITFLIPS (3 << 4)
|
||||
+#define W25N01KV_STATUS_ECC_UNCOR_ERROR (2 << 4)
|
||||
+#endif
|
||||
+
|
||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
|
||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||
@@ -35,6 +54,35 @@ static SPINAND_OP_VARIANTS(update_cache_
|
||||
@@ -35,6 +52,35 @@ static SPINAND_OP_VARIANTS(update_cache_
|
||||
SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
|
||||
SPINAND_PROG_LOAD(false, 0, NULL, 0));
|
||||
|
||||
@ -1215,11 +1409,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
static int w25m02gv_ooblayout_ecc(struct mtd_info *mtd, int section,
|
||||
struct mtd_oob_region *region)
|
||||
{
|
||||
@@ -78,8 +126,63 @@ static int w25m02gv_select_target(struct
|
||||
@@ -78,8 +124,61 @@ static int w25m02gv_select_target(struct
|
||||
return spi_mem_exec_op(spinand->slave, &op);
|
||||
}
|
||||
|
||||
+#if IS_ENABLED(CONFIG_MTD_SPI_NAND_W25N01KV)
|
||||
+static int w25n01kv_ecc_get_status(struct spinand_device *spinand,
|
||||
+ u8 status)
|
||||
+{
|
||||
@ -1242,7 +1435,6 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static int w25n02kv_n04kv_ecc_get_status(struct spinand_device *spinand,
|
||||
+ u8 status)
|
||||
@ -1280,28 +1472,26 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
NAND_MEMORG(1, 2048, 64, 64, 1024, 1, 1, 2),
|
||||
NAND_ECCREQ(1, 512),
|
||||
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
@@ -88,7 +191,19 @@ static const struct spinand_info winbond
|
||||
@@ -88,7 +187,17 @@ static const struct spinand_info winbond
|
||||
0,
|
||||
SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL),
|
||||
SPINAND_SELECT_TARGET(w25m02gv_select_target)),
|
||||
- SPINAND_INFO("W25N01GV", 0xAA,
|
||||
+#if IS_ENABLED(CONFIG_MTD_SPI_NAND_W25N01KV)
|
||||
+ SPINAND_INFO("W25N01KV",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x21),
|
||||
+ NAND_MEMORG(1, 2048, 96, 64, 1024, 1, 1, 1),
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xae, 0x21),
|
||||
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 1, 1, 1),
|
||||
+ NAND_ECCREQ(4, 512),
|
||||
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
+ &write_cache_variants,
|
||||
+ &update_cache_variants),
|
||||
+ 0,
|
||||
+ SPINAND_ECCINFO(&w25n02kv_n04kv_ooblayout, w25n01kv_ecc_get_status)),
|
||||
+#else
|
||||
+ SPINAND_INFO("W25N01GV",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x21),
|
||||
NAND_MEMORG(1, 2048, 64, 64, 1024, 1, 1, 1),
|
||||
NAND_ECCREQ(1, 512),
|
||||
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
||||
@@ -96,32 +211,31 @@ static const struct spinand_info winbond
|
||||
@@ -96,32 +205,30 @@ static const struct spinand_info winbond
|
||||
&update_cache_variants),
|
||||
0,
|
||||
SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL)),
|
||||
@ -1320,7 +1510,6 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
- /*
|
||||
- * Winbond SPI NAND read ID need a dummy byte,
|
||||
- * so the first byte in raw_id is dummy.
|
||||
+#endif
|
||||
+ SPINAND_INFO("W25N02KV",
|
||||
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x22),
|
||||
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 2, 1, 1),
|
||||
@ -1358,7 +1547,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
static int winbond_spinand_init(struct spinand_device *spinand)
|
||||
{
|
||||
@@ -142,12 +256,13 @@ static int winbond_spinand_init(struct s
|
||||
@@ -142,12 +249,13 @@ static int winbond_spinand_init(struct s
|
||||
}
|
||||
|
||||
static const struct spinand_manufacturer_ops winbond_spinand_manuf_ops = {
|
||||
@ -1495,7 +1684,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
int (*init)(struct spinand_device *spinand);
|
||||
void (*cleanup)(struct spinand_device *spinand);
|
||||
};
|
||||
@@ -192,11 +219,16 @@ struct spinand_manufacturer_ops {
|
||||
@@ -192,15 +219,21 @@ struct spinand_manufacturer_ops {
|
||||
* struct spinand_manufacturer - SPI NAND manufacturer instance
|
||||
* @id: manufacturer ID
|
||||
* @name: manufacturer name
|
||||
@ -1512,7 +1701,12 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
const struct spinand_manufacturer_ops *ops;
|
||||
};
|
||||
|
||||
@@ -268,7 +300,7 @@ struct spinand_ecc_info {
|
||||
/* SPI NAND manufacturers */
|
||||
+extern const struct spinand_manufacturer etron_spinand_manufacturer;
|
||||
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
|
||||
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
|
||||
extern const struct spinand_manufacturer micron_spinand_manufacturer;
|
||||
@@ -268,7 +301,7 @@ struct spinand_ecc_info {
|
||||
*/
|
||||
struct spinand_info {
|
||||
const char *model;
|
||||
@ -1521,7 +1715,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
u32 flags;
|
||||
struct nand_memory_organization memorg;
|
||||
struct nand_ecc_req eccreq;
|
||||
@@ -282,6 +314,13 @@ struct spinand_info {
|
||||
@@ -282,6 +315,13 @@ struct spinand_info {
|
||||
unsigned int target);
|
||||
};
|
||||
|
||||
@ -1535,7 +1729,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
#define SPINAND_INFO_OP_VARIANTS(__read, __write, __update) \
|
||||
{ \
|
||||
.read_cache = __read, \
|
||||
@@ -440,9 +479,10 @@ static inline void spinand_set_ofnode(st
|
||||
@@ -440,9 +480,10 @@ static inline void spinand_set_ofnode(st
|
||||
}
|
||||
#endif /* __UBOOT__ */
|
||||
|
||||
|
6
package/boot/uboot-mediatek/patches/100-23-mmc-mtk-sd-add-support-to-display-verbose-error-log.patch
Executable file → Normal file
6
package/boot/uboot-mediatek/patches/100-23-mmc-mtk-sd-add-support-to-display-verbose-error-log.patch
Executable file → Normal file
@ -15,7 +15,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/drivers/mmc/Kconfig
|
||||
+++ b/drivers/mmc/Kconfig
|
||||
@@ -818,6 +818,14 @@ config MMC_MTK
|
||||
@@ -820,6 +820,14 @@ config MMC_MTK
|
||||
This is needed if support for any SD/SDIO/MMC devices is required.
|
||||
If unsure, say N.
|
||||
|
||||
@ -29,10 +29,10 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
+
|
||||
endif
|
||||
|
||||
config FSL_ESDHC
|
||||
config FSL_SDHC_V2_3
|
||||
--- a/drivers/mmc/Makefile
|
||||
+++ b/drivers/mmc/Makefile
|
||||
@@ -84,3 +84,7 @@ obj-$(CONFIG_RENESAS_SDHI) += tmio-comm
|
||||
@@ -83,3 +83,7 @@ obj-$(CONFIG_RENESAS_SDHI) += tmio-comm
|
||||
obj-$(CONFIG_MMC_BCM2835) += bcm2835_sdhost.o
|
||||
obj-$(CONFIG_MMC_MTK) += mtk-sd.o
|
||||
obj-$(CONFIG_MMC_SDHCI_F_SDH30) += f_sdh30.o
|
||||
|
2
package/boot/uboot-mediatek/patches/100-24-cmd-ubi-make-volume-find-create-remove-APIs-public.patch
Executable file → Normal file
2
package/boot/uboot-mediatek/patches/100-24-cmd-ubi-make-volume-find-create-remove-APIs-public.patch
Executable file → Normal file
@ -45,7 +45,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
struct ubi_volume *vol;
|
||||
--- a/include/ubi_uboot.h
|
||||
+++ b/include/ubi_uboot.h
|
||||
@@ -73,6 +73,10 @@ extern void ubi_exit(void);
|
||||
@@ -51,6 +51,10 @@ extern void ubi_exit(void);
|
||||
extern int ubi_part(char *part_name, const char *vid_header_offset);
|
||||
extern int ubi_volume_write(char *volume, void *buf, size_t size);
|
||||
extern int ubi_volume_read(char *volume, char *buf, size_t size);
|
||||
|
0
package/boot/uboot-mediatek/patches/100-25-cmd-ubi-allow-creating-volume-with-all-free-spaces.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-25-cmd-ubi-allow-creating-volume-with-all-free-spaces.patch
Executable file → Normal file
8
package/boot/uboot-mediatek/patches/100-26-env-ubi-add-support-to-create-environment-volume-if-.patch
Executable file → Normal file
8
package/boot/uboot-mediatek/patches/100-26-env-ubi-add-support-to-create-environment-volume-if-.patch
Executable file → Normal file
@ -14,7 +14,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
|
||||
--- a/env/Kconfig
|
||||
+++ b/env/Kconfig
|
||||
@@ -666,6 +666,12 @@ config ENV_UBI_VOLUME_REDUND
|
||||
@@ -675,6 +675,12 @@ config ENV_UBI_VOLUME_REDUND
|
||||
help
|
||||
Name of the redundant volume that you want to store the environment in.
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
depends on ENV_IS_IN_UBI
|
||||
--- a/env/ubi.c
|
||||
+++ b/env/ubi.c
|
||||
@@ -100,6 +100,18 @@ static int env_ubi_save(void)
|
||||
@@ -106,6 +106,18 @@ static int env_ubi_save(void)
|
||||
#endif /* CONFIG_SYS_REDUNDAND_ENVIRONMENT */
|
||||
#endif /* CONFIG_CMD_SAVEENV */
|
||||
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||
static int env_ubi_load(void)
|
||||
{
|
||||
@@ -129,6 +141,11 @@ static int env_ubi_load(void)
|
||||
@@ -135,6 +147,11 @@ static int env_ubi_load(void)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
read1_fail = ubi_volume_read(CONFIG_ENV_UBI_VOLUME, (void *)tmp_env1,
|
||||
CONFIG_ENV_SIZE);
|
||||
if (read1_fail)
|
||||
@@ -166,6 +183,9 @@ static int env_ubi_load(void)
|
||||
@@ -172,6 +189,9 @@ static int env_ubi_load(void)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
|
0
package/boot/uboot-mediatek/patches/100-27-mtd-ubi-add-support-for-UBI-end-of-filesystem-marker.patch
Executable file → Normal file
0
package/boot/uboot-mediatek/patches/100-27-mtd-ubi-add-support-for-UBI-end-of-filesystem-marker.patch
Executable file → Normal file
22
package/boot/uboot-mediatek/patches/100-29-board-mediatek-wire-up-NMBM-support.patch
Executable file → Normal file
22
package/boot/uboot-mediatek/patches/100-29-board-mediatek-wire-up-NMBM-support.patch
Executable file → Normal file
@ -114,7 +114,7 @@ Subject: [PATCH] board: mediatek: wire-up NMBM support
|
||||
+}
|
||||
--- a/board/mediatek/mt7981/mt7981_rfb.c
|
||||
+++ b/board/mediatek/mt7981/mt7981_rfb.c
|
||||
@@ -4,7 +4,59 @@
|
||||
@@ -4,7 +4,58 @@
|
||||
* Author: Sam Shih <sam.shih@mediatek.com>
|
||||
*/
|
||||
|
||||
@ -133,9 +133,8 @@ Subject: [PATCH] board: mediatek: wire-up NMBM support
|
||||
+
|
||||
int board_init(void)
|
||||
{
|
||||
+ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
|
||||
+ return 0;
|
||||
+}
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+int board_late_init(void)
|
||||
+{
|
||||
@ -172,11 +171,11 @@ Subject: [PATCH] board: mediatek: wire-up NMBM support
|
||||
+ add_mtd_device(upper);
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
+ return 0;
|
||||
+}
|
||||
--- a/board/mediatek/mt7986/mt7986_rfb.c
|
||||
+++ b/board/mediatek/mt7986/mt7986_rfb.c
|
||||
@@ -4,7 +4,61 @@
|
||||
@@ -4,7 +4,60 @@
|
||||
* Author: Sam Shih <sam.shih@mediatek.com>
|
||||
*/
|
||||
|
||||
@ -195,9 +194,8 @@ Subject: [PATCH] board: mediatek: wire-up NMBM support
|
||||
+
|
||||
int board_init(void)
|
||||
{
|
||||
+ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
|
||||
+ return 0;
|
||||
+}
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+int board_late_init(void)
|
||||
+{
|
||||
@ -236,5 +234,5 @@ Subject: [PATCH] board: mediatek: wire-up NMBM support
|
||||
+ add_mtd_device(upper);
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
+ return 0;
|
||||
+}
|
||||
|
@ -0,0 +1,297 @@
|
||||
From 63336ec7fd7d480ac58a91f3b20d08bf1b3a13ad Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:15:41 +0800
|
||||
Subject: [PATCH 01/29] arm: mediatek: retrieve ram_base from dts node for
|
||||
armv8 platform
|
||||
|
||||
Now we use fdtdec_setup_mem_size_base() to get DRAM base from fdt ram node
|
||||
and update gd->ram_base. CFG_SYS_SDRAM_BASE is unused and will be removed.
|
||||
|
||||
Also, since mt7622 always passes fdt to linux kernel, there's no need to
|
||||
assign value to gd->bd->bi_boot_params.
|
||||
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
arch/arm/dts/mt7981-emmc-rfb.dts | 5 +++++
|
||||
arch/arm/dts/mt7981-rfb.dts | 5 +++++
|
||||
arch/arm/dts/mt7981-sd-rfb.dts | 5 +++++
|
||||
arch/arm/dts/mt7986a-bpi-r3-sd.dts | 5 +++++
|
||||
arch/arm/dts/mt7986a-rfb.dts | 5 +++++
|
||||
arch/arm/dts/mt7986a-sd-rfb.dts | 5 +++++
|
||||
arch/arm/dts/mt7986b-rfb.dts | 5 +++++
|
||||
arch/arm/dts/mt7986b-sd-rfb.dts | 5 +++++
|
||||
arch/arm/mach-mediatek/mt7622/init.c | 13 +++++++++----
|
||||
arch/arm/mach-mediatek/mt7981/init.c | 11 +++++++++--
|
||||
arch/arm/mach-mediatek/mt7986/init.c | 11 +++++++++--
|
||||
board/mediatek/mt7622/mt7622_rfb.c | 1 -
|
||||
include/configs/mt7622.h | 10 ----------
|
||||
include/configs/mt7981.h | 9 ---------
|
||||
include/configs/mt7986.h | 9 ---------
|
||||
15 files changed, 67 insertions(+), 37 deletions(-)
|
||||
|
||||
--- a/arch/arm/dts/mt7981-emmc-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7981-emmc-rfb.dts
|
||||
@@ -18,6 +18,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
--- a/arch/arm/dts/mt7981-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7981-rfb.dts
|
||||
@@ -17,6 +17,11 @@
|
||||
stdout-path = &uart0;
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
+
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
--- a/arch/arm/dts/mt7981-sd-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7981-sd-rfb.dts
|
||||
@@ -18,6 +18,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
--- a/arch/arm/dts/mt7986a-bpi-r3-sd.dts
|
||||
+++ b/arch/arm/dts/mt7986a-bpi-r3-sd.dts
|
||||
@@ -19,6 +19,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x80000000>;
|
||||
+ };
|
||||
+
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
--- a/arch/arm/dts/mt7986a-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7986a-rfb.dts
|
||||
@@ -18,6 +18,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
--- a/arch/arm/dts/mt7986a-sd-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7986a-sd-rfb.dts
|
||||
@@ -19,6 +19,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
--- a/arch/arm/dts/mt7986b-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7986b-rfb.dts
|
||||
@@ -18,6 +18,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
--- a/arch/arm/dts/mt7986b-sd-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7986b-sd-rfb.dts
|
||||
@@ -19,6 +19,11 @@
|
||||
tick-timer = &timer0;
|
||||
};
|
||||
|
||||
+ memory@40000000 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x40000000 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
--- a/arch/arm/mach-mediatek/mt7622/init.c
|
||||
+++ b/arch/arm/mach-mediatek/mt7622/init.c
|
||||
@@ -4,11 +4,14 @@
|
||||
* Author: Sam Shih <sam.shih@mediatek.com>
|
||||
*/
|
||||
|
||||
-#include <common.h>
|
||||
#include <fdtdec.h>
|
||||
#include <init.h>
|
||||
#include <asm/armv8/mmu.h>
|
||||
-#include <asm/cache.h>
|
||||
+#include <asm/global_data.h>
|
||||
+#include <asm/u-boot.h>
|
||||
+#include <linux/sizes.h>
|
||||
+
|
||||
+DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int print_cpuinfo(void)
|
||||
{
|
||||
@@ -20,11 +23,13 @@ int dram_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
- ret = fdtdec_setup_memory_banksize();
|
||||
+ ret = fdtdec_setup_mem_size_base();
|
||||
if (ret)
|
||||
return ret;
|
||||
- return fdtdec_setup_mem_size_base();
|
||||
|
||||
+ gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_2G);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
void reset_cpu(void)
|
||||
--- a/arch/arm/mach-mediatek/mt7981/init.c
|
||||
+++ b/arch/arm/mach-mediatek/mt7981/init.c
|
||||
@@ -4,18 +4,25 @@
|
||||
* Author: Sam Shih <sam.shih@mediatek.com>
|
||||
*/
|
||||
|
||||
-#include <cpu_func.h>
|
||||
+#include <fdtdec.h>
|
||||
#include <init.h>
|
||||
#include <asm/armv8/mmu.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/global_data.h>
|
||||
+#include <asm/u-boot.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
- gd->ram_size = get_ram_size((void *)CFG_SYS_SDRAM_BASE, SZ_2G);
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = fdtdec_setup_mem_size_base();
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_1G);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--- a/arch/arm/mach-mediatek/mt7986/init.c
|
||||
+++ b/arch/arm/mach-mediatek/mt7986/init.c
|
||||
@@ -4,18 +4,25 @@
|
||||
* Author: Sam Shih <sam.shih@mediatek.com>
|
||||
*/
|
||||
|
||||
-#include <cpu_func.h>
|
||||
+#include <fdtdec.h>
|
||||
#include <init.h>
|
||||
#include <asm/armv8/mmu.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/global_data.h>
|
||||
+#include <asm/u-boot.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
- gd->ram_size = get_ram_size((void *)CFG_SYS_SDRAM_BASE, SZ_2G);
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = fdtdec_setup_mem_size_base();
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_2G);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--- a/board/mediatek/mt7622/mt7622_rfb.c
|
||||
+++ b/board/mediatek/mt7622/mt7622_rfb.c
|
||||
@@ -19,7 +19,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
- gd->bd->bi_boot_params = CFG_SYS_SDRAM_BASE + 0x100;
|
||||
return 0;
|
||||
}
|
||||
|
||||
--- a/include/configs/mt7622.h
|
||||
+++ b/include/configs/mt7622.h
|
||||
@@ -9,14 +9,4 @@
|
||||
#ifndef __MT7622_H
|
||||
#define __MT7622_H
|
||||
|
||||
-/* Uboot definition */
|
||||
-#define CFG_SYS_UBOOT_BASE CONFIG_TEXT_BASE
|
||||
-
|
||||
-/* SPL -> Uboot */
|
||||
-#define CFG_SYS_UBOOT_START CONFIG_TEXT_BASE
|
||||
-/* DRAM */
|
||||
-#define CFG_SYS_SDRAM_BASE 0x40000000
|
||||
-
|
||||
-/* Ethernet */
|
||||
-
|
||||
#endif
|
||||
--- a/include/configs/mt7981.h
|
||||
+++ b/include/configs/mt7981.h
|
||||
@@ -9,13 +9,4 @@
|
||||
#ifndef __MT7981_H
|
||||
#define __MT7981_H
|
||||
|
||||
-/* Uboot definition */
|
||||
-#define CFG_SYS_UBOOT_BASE CONFIG_TEXT_BASE
|
||||
-
|
||||
-/* SPL -> Uboot */
|
||||
-#define CFG_SYS_UBOOT_START CONFIG_TEXT_BASE
|
||||
-
|
||||
-/* DRAM */
|
||||
-#define CFG_SYS_SDRAM_BASE 0x40000000
|
||||
-
|
||||
#endif
|
||||
--- a/include/configs/mt7986.h
|
||||
+++ b/include/configs/mt7986.h
|
||||
@@ -9,13 +9,4 @@
|
||||
#ifndef __MT7986_H
|
||||
#define __MT7986_H
|
||||
|
||||
-/* Uboot definition */
|
||||
-#define CFG_SYS_UBOOT_BASE CONFIG_TEXT_BASE
|
||||
-
|
||||
-/* SPL -> Uboot */
|
||||
-#define CFG_SYS_UBOOT_START CONFIG_TEXT_BASE
|
||||
-
|
||||
-/* DRAM */
|
||||
-#define CFG_SYS_SDRAM_BASE 0x40000000
|
||||
-
|
||||
#endif
|
@ -0,0 +1,129 @@
|
||||
From df3a0091b249ea82198ea019d145d05a7cf49c0d Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:15:47 +0800
|
||||
Subject: [PATCH 02/29] board: mediatek: update config headers
|
||||
|
||||
Remove unused information from include/configs/mtxxxx.h
|
||||
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
include/configs/mt7620.h | 3 +--
|
||||
include/configs/mt7621.h | 6 ++----
|
||||
include/configs/mt7623.h | 8 --------
|
||||
include/configs/mt7628.h | 5 ++---
|
||||
include/configs/mt7629.h | 13 +------------
|
||||
5 files changed, 6 insertions(+), 29 deletions(-)
|
||||
|
||||
--- a/include/configs/mt7620.h
|
||||
+++ b/include/configs/mt7620.h
|
||||
@@ -10,10 +10,9 @@
|
||||
|
||||
#define CFG_SYS_SDRAM_BASE 0x80000000
|
||||
|
||||
-#define CFG_SYS_INIT_SP_OFFSET 0x400000
|
||||
+#define CFG_SYS_INIT_SP_OFFSET 0x400000
|
||||
|
||||
/* SPL */
|
||||
-
|
||||
#define CFG_SYS_UBOOT_START CONFIG_TEXT_BASE
|
||||
|
||||
/* Dummy value */
|
||||
--- a/include/configs/mt7621.h
|
||||
+++ b/include/configs/mt7621.h
|
||||
@@ -12,13 +12,11 @@
|
||||
|
||||
#define CFG_MAX_MEM_MAPPED 0x1c000000
|
||||
|
||||
-#define CFG_SYS_INIT_SP_OFFSET 0x800000
|
||||
+#define CFG_SYS_INIT_SP_OFFSET 0x800000
|
||||
|
||||
/* MMC */
|
||||
#define MMC_SUPPORTS_TUNING
|
||||
|
||||
-/* NAND */
|
||||
-
|
||||
/* Serial SPL */
|
||||
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL)
|
||||
#define CFG_SYS_NS16550_CLK 50000000
|
||||
@@ -26,7 +24,7 @@
|
||||
#endif
|
||||
|
||||
/* Serial common */
|
||||
-#define CFG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
|
||||
+#define CFG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
|
||||
230400, 460800, 921600 }
|
||||
|
||||
/* Dummy value */
|
||||
--- a/include/configs/mt7623.h
|
||||
+++ b/include/configs/mt7623.h
|
||||
@@ -11,12 +11,6 @@
|
||||
|
||||
#include <linux/sizes.h>
|
||||
|
||||
-/* Miscellaneous configurable options */
|
||||
-
|
||||
-/* Environment */
|
||||
-
|
||||
-/* Preloader -> Uboot */
|
||||
-
|
||||
/* MMC */
|
||||
#define MMC_SUPPORTS_TUNING
|
||||
|
||||
@@ -32,8 +26,6 @@
|
||||
"fdt_addr_r=" FDT_HIGH "\0" \
|
||||
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
|
||||
-/* Ethernet */
|
||||
-
|
||||
#ifdef CONFIG_DISTRO_DEFAULTS
|
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \
|
||||
--- a/include/configs/mt7628.h
|
||||
+++ b/include/configs/mt7628.h
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#define CFG_SYS_SDRAM_BASE 0x80000000
|
||||
|
||||
-#define CFG_SYS_INIT_SP_OFFSET 0x80000
|
||||
+#define CFG_SYS_INIT_SP_OFFSET 0x80000
|
||||
|
||||
/* Serial SPL */
|
||||
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL)
|
||||
@@ -19,11 +19,10 @@
|
||||
#endif
|
||||
|
||||
/* Serial common */
|
||||
-#define CFG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
|
||||
+#define CFG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, \
|
||||
230400, 460800, 921600 }
|
||||
|
||||
/* SPL */
|
||||
-
|
||||
#define CFG_SYS_UBOOT_START CONFIG_TEXT_BASE
|
||||
|
||||
/* Dummy value */
|
||||
--- a/include/configs/mt7629.h
|
||||
+++ b/include/configs/mt7629.h
|
||||
@@ -9,21 +9,10 @@
|
||||
#ifndef __MT7629_H
|
||||
#define __MT7629_H
|
||||
|
||||
-#include <linux/sizes.h>
|
||||
-
|
||||
-/* Miscellaneous configurable options */
|
||||
-
|
||||
-/* Environment */
|
||||
-
|
||||
+/* SPL */
|
||||
#define CFG_SYS_UBOOT_BASE (0x30000000 + CONFIG_SPL_PAD_TO)
|
||||
|
||||
-/* SPL -> Uboot */
|
||||
-
|
||||
-/* UBoot -> Kernel */
|
||||
-
|
||||
/* DRAM */
|
||||
#define CFG_SYS_SDRAM_BASE 0x40000000
|
||||
|
||||
-/* Ethernet */
|
||||
-
|
||||
#endif
|
@ -0,0 +1,84 @@
|
||||
From 0d6d8a408f80358dd47984320ea9c65e555ac4c9 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:15:54 +0800
|
||||
Subject: [PATCH 03/29] spi: mtk_spim: get spi clk rate only once
|
||||
|
||||
We don't really need to switch clk rate during operating SPIM controller.
|
||||
Get clk rate only once at driver probing.
|
||||
|
||||
Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
|
||||
---
|
||||
drivers/spi/mtk_spim.c | 21 +++++++++++++--------
|
||||
1 file changed, 13 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/drivers/spi/mtk_spim.c
|
||||
+++ b/drivers/spi/mtk_spim.c
|
||||
@@ -137,6 +137,8 @@ struct mtk_spim_capability {
|
||||
* @state: Controller state
|
||||
* @sel_clk: Pad clock
|
||||
* @spi_clk: Core clock
|
||||
+ * @pll_clk_rate: Controller's PLL source clock rate, which is different
|
||||
+ * from SPI bus clock rate
|
||||
* @xfer_len: Current length of data for transfer
|
||||
* @hw_cap: Controller capabilities
|
||||
* @tick_dly: Used to postpone SPI sampling time
|
||||
@@ -149,6 +151,7 @@ struct mtk_spim_priv {
|
||||
void __iomem *base;
|
||||
u32 state;
|
||||
struct clk sel_clk, spi_clk;
|
||||
+ u32 pll_clk_rate;
|
||||
u32 xfer_len;
|
||||
struct mtk_spim_capability hw_cap;
|
||||
u32 tick_dly;
|
||||
@@ -253,11 +256,10 @@ static int mtk_spim_hw_init(struct spi_s
|
||||
static void mtk_spim_prepare_transfer(struct mtk_spim_priv *priv,
|
||||
u32 speed_hz)
|
||||
{
|
||||
- u32 spi_clk_hz, div, sck_time, cs_time, reg_val;
|
||||
+ u32 div, sck_time, cs_time, reg_val;
|
||||
|
||||
- spi_clk_hz = clk_get_rate(&priv->spi_clk);
|
||||
- if (speed_hz <= spi_clk_hz / 4)
|
||||
- div = DIV_ROUND_UP(spi_clk_hz, speed_hz);
|
||||
+ if (speed_hz <= priv->pll_clk_rate / 4)
|
||||
+ div = DIV_ROUND_UP(priv->pll_clk_rate, speed_hz);
|
||||
else
|
||||
div = 4;
|
||||
|
||||
@@ -404,7 +406,7 @@ static int mtk_spim_transfer_wait(struct
|
||||
{
|
||||
struct udevice *bus = dev_get_parent(slave->dev);
|
||||
struct mtk_spim_priv *priv = dev_get_priv(bus);
|
||||
- u32 sck_l, sck_h, spi_bus_clk, clk_count, reg;
|
||||
+ u32 sck_l, sck_h, clk_count, reg;
|
||||
ulong us = 1;
|
||||
int ret = 0;
|
||||
|
||||
@@ -413,12 +415,11 @@ static int mtk_spim_transfer_wait(struct
|
||||
else
|
||||
clk_count = op->data.nbytes;
|
||||
|
||||
- spi_bus_clk = clk_get_rate(&priv->spi_clk);
|
||||
sck_l = readl(priv->base + SPI_CFG2_REG) >> SPI_CFG2_SCK_LOW_OFFSET;
|
||||
sck_h = readl(priv->base + SPI_CFG2_REG) & SPI_CFG2_SCK_HIGH_MASK;
|
||||
- do_div(spi_bus_clk, sck_l + sck_h + 2);
|
||||
+ do_div(priv->pll_clk_rate, sck_l + sck_h + 2);
|
||||
|
||||
- us = CLK_TO_US(spi_bus_clk, clk_count * 8);
|
||||
+ us = CLK_TO_US(priv->pll_clk_rate, clk_count * 8);
|
||||
us += 1000 * 1000; /* 1s tolerance */
|
||||
|
||||
if (us > UINT_MAX)
|
||||
@@ -662,6 +663,10 @@ static int mtk_spim_probe(struct udevice
|
||||
clk_enable(&priv->sel_clk);
|
||||
clk_enable(&priv->spi_clk);
|
||||
|
||||
+ priv->pll_clk_rate = clk_get_rate(&priv->spi_clk);
|
||||
+ if (priv->pll_clk_rate == 0)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
@ -0,0 +1,35 @@
|
||||
From a7b630f02bb12f71f23866aee6f9a1a07497d475 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:02 +0800
|
||||
Subject: [PATCH 04/29] spi: mtk_spim: clear IRQ enable bits
|
||||
|
||||
In u-boot we don't use IRQ. Instead, we poll busy bit in SPI_STATUS.
|
||||
|
||||
However these IRQ enable bits may be set in previous boot stage (BootROM).
|
||||
|
||||
If we leave these bits not cleared, although u-boot has disabled IRQ and
|
||||
nothing will happen, the linux kernel may encounter panic during
|
||||
initializing the spim driver due to IRQ event happens before IRQ handler
|
||||
is properly setup.
|
||||
|
||||
This patch clear IRQ bits to prevent this from happening.
|
||||
|
||||
Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
|
||||
---
|
||||
drivers/spi/mtk_spim.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- a/drivers/spi/mtk_spim.c
|
||||
+++ b/drivers/spi/mtk_spim.c
|
||||
@@ -242,6 +242,9 @@ static int mtk_spim_hw_init(struct spi_s
|
||||
reg_val &= ~SPI_CMD_SAMPLE_SEL;
|
||||
}
|
||||
|
||||
+ /* Disable interrupt enable for pause mode & normal mode */
|
||||
+ reg_val &= ~(SPI_CMD_PAUSE_IE | SPI_CMD_FINISH_IE);
|
||||
+
|
||||
/* disable dma mode */
|
||||
reg_val &= ~(SPI_CMD_TX_DMA | SPI_CMD_RX_DMA);
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 73060da8b54e74c51ef6c1fd31c4fac6ad6b8d0e Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:07 +0800
|
||||
Subject: [PATCH 05/29] serial: mtk: initial priv data before using
|
||||
|
||||
This patch ensures driver private data being fully initialized in
|
||||
_debug_uart_init which is not covered by .priv_auto ops.
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Reviewed-by: Stefan Roese <sr@denx.de>
|
||||
---
|
||||
drivers/serial/serial_mtk.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/drivers/serial/serial_mtk.c
|
||||
+++ b/drivers/serial/serial_mtk.c
|
||||
@@ -439,6 +439,7 @@ static inline void _debug_uart_init(void
|
||||
{
|
||||
struct mtk_serial_priv priv;
|
||||
|
||||
+ memset(&priv, 0, sizeof(struct mtk_serial_priv));
|
||||
priv.regs = (void *) CONFIG_VAL(DEBUG_UART_BASE);
|
||||
priv.fixed_clk_rate = CONFIG_DEBUG_UART_CLOCK;
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 06e6d224f7d564a34407eba21b51797da7f22628 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:11 +0800
|
||||
Subject: [PATCH 06/29] reset: mediatek: check malloc return valaue before use
|
||||
|
||||
This patch add missing return value check for allocating the driver's
|
||||
private data. -ENOMEM will be returned if malloc() fails.
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
drivers/reset/reset-mediatek.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- a/drivers/reset/reset-mediatek.c
|
||||
+++ b/drivers/reset/reset-mediatek.c
|
||||
@@ -79,6 +79,9 @@ int mediatek_reset_bind(struct udevice *
|
||||
return ret;
|
||||
|
||||
priv = malloc(sizeof(struct mediatek_reset_priv));
|
||||
+ if (!priv)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
priv->regofs = regofs;
|
||||
priv->nr_resets = num_regs * 32;
|
||||
dev_set_priv(rst_dev, priv);
|
@ -0,0 +1,125 @@
|
||||
From 77898faf6ce56eb08109cdb853f074bad5acee55 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:15 +0800
|
||||
Subject: [PATCH 07/29] i2c: mediatek: fix I2C usability for MT7981
|
||||
|
||||
MT7981 actually uses MediaTek I2C controller v3 instead of v1.
|
||||
This patch adds support for I2C controller v3 fix fixes the I2C usability
|
||||
for MT7981.
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
drivers/i2c/mtk_i2c.c | 45 +++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 43 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/i2c/mtk_i2c.c
|
||||
+++ b/drivers/i2c/mtk_i2c.c
|
||||
@@ -183,9 +183,36 @@ static const uint mt_i2c_regs_v2[] = {
|
||||
[REG_DCM_EN] = 0xf88,
|
||||
};
|
||||
|
||||
+static const uint mt_i2c_regs_v3[] = {
|
||||
+ [REG_PORT] = 0x0,
|
||||
+ [REG_INTR_MASK] = 0x8,
|
||||
+ [REG_INTR_STAT] = 0xc,
|
||||
+ [REG_CONTROL] = 0x10,
|
||||
+ [REG_TRANSFER_LEN] = 0x14,
|
||||
+ [REG_TRANSAC_LEN] = 0x18,
|
||||
+ [REG_DELAY_LEN] = 0x1c,
|
||||
+ [REG_TIMING] = 0x20,
|
||||
+ [REG_START] = 0x24,
|
||||
+ [REG_EXT_CONF] = 0x28,
|
||||
+ [REG_LTIMING] = 0x2c,
|
||||
+ [REG_HS] = 0x30,
|
||||
+ [REG_IO_CONFIG] = 0x34,
|
||||
+ [REG_FIFO_ADDR_CLR] = 0x38,
|
||||
+ [REG_TRANSFER_LEN_AUX] = 0x44,
|
||||
+ [REG_CLOCK_DIV] = 0x48,
|
||||
+ [REG_SOFTRESET] = 0x50,
|
||||
+ [REG_SLAVE_ADDR] = 0x94,
|
||||
+ [REG_DEBUGSTAT] = 0xe4,
|
||||
+ [REG_DEBUGCTRL] = 0xe8,
|
||||
+ [REG_FIFO_STAT] = 0xf4,
|
||||
+ [REG_FIFO_THRESH] = 0xf8,
|
||||
+ [REG_DCM_EN] = 0xf88,
|
||||
+};
|
||||
+
|
||||
struct mtk_i2c_soc_data {
|
||||
const uint *regs;
|
||||
uint dma_sync: 1;
|
||||
+ uint ltiming_adjust: 1;
|
||||
};
|
||||
|
||||
struct mtk_i2c_priv {
|
||||
@@ -401,6 +428,10 @@ static int mtk_i2c_set_speed(struct udev
|
||||
(sample_cnt << HS_SAMPLE_OFFSET) |
|
||||
(step_cnt << HS_STEP_OFFSET);
|
||||
i2c_writel(priv, REG_HS, high_speed_reg);
|
||||
+ if (priv->soc_data->ltiming_adjust) {
|
||||
+ timing_reg = (sample_cnt << 12) | (step_cnt << 9);
|
||||
+ i2c_writel(priv, REG_LTIMING, timing_reg);
|
||||
+ }
|
||||
} else {
|
||||
ret = mtk_i2c_calculate_speed(clk_src, priv->speed,
|
||||
&step_cnt, &sample_cnt);
|
||||
@@ -412,7 +443,12 @@ static int mtk_i2c_set_speed(struct udev
|
||||
high_speed_reg = I2C_TIME_CLR_VALUE;
|
||||
i2c_writel(priv, REG_TIMING, timing_reg);
|
||||
i2c_writel(priv, REG_HS, high_speed_reg);
|
||||
+ if (priv->soc_data->ltiming_adjust) {
|
||||
+ timing_reg = (sample_cnt << 6) | step_cnt;
|
||||
+ i2c_writel(priv, REG_LTIMING, timing_reg);
|
||||
+ }
|
||||
}
|
||||
+
|
||||
exit:
|
||||
if (mtk_i2c_clk_disable(priv))
|
||||
return log_msg_ret("set_speed disable clk", -1);
|
||||
@@ -725,7 +761,6 @@ static int mtk_i2c_probe(struct udevice
|
||||
return log_msg_ret("probe enable clk", -1);
|
||||
|
||||
mtk_i2c_init_hw(priv);
|
||||
-
|
||||
if (mtk_i2c_clk_disable(priv))
|
||||
return log_msg_ret("probe disable clk", -1);
|
||||
|
||||
@@ -750,31 +785,37 @@ static int mtk_i2c_deblock(struct udevic
|
||||
static const struct mtk_i2c_soc_data mt76xx_soc_data = {
|
||||
.regs = mt_i2c_regs_v1,
|
||||
.dma_sync = 0,
|
||||
+ .ltiming_adjust = 0,
|
||||
};
|
||||
|
||||
static const struct mtk_i2c_soc_data mt7981_soc_data = {
|
||||
- .regs = mt_i2c_regs_v1,
|
||||
+ .regs = mt_i2c_regs_v3,
|
||||
.dma_sync = 1,
|
||||
+ .ltiming_adjust = 1,
|
||||
};
|
||||
|
||||
static const struct mtk_i2c_soc_data mt7986_soc_data = {
|
||||
.regs = mt_i2c_regs_v1,
|
||||
.dma_sync = 1,
|
||||
+ .ltiming_adjust = 0,
|
||||
};
|
||||
|
||||
static const struct mtk_i2c_soc_data mt8183_soc_data = {
|
||||
.regs = mt_i2c_regs_v2,
|
||||
.dma_sync = 1,
|
||||
+ .ltiming_adjust = 0,
|
||||
};
|
||||
|
||||
static const struct mtk_i2c_soc_data mt8518_soc_data = {
|
||||
.regs = mt_i2c_regs_v1,
|
||||
.dma_sync = 0,
|
||||
+ .ltiming_adjust = 0,
|
||||
};
|
||||
|
||||
static const struct mtk_i2c_soc_data mt8512_soc_data = {
|
||||
.regs = mt_i2c_regs_v1,
|
||||
.dma_sync = 1,
|
||||
+ .ltiming_adjust = 0,
|
||||
};
|
||||
|
||||
static const struct dm_i2c_ops mtk_i2c_ops = {
|
@ -0,0 +1,36 @@
|
||||
From e9467f40d4327cfcb80944a0f12ae195b0d7cd40 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:19 +0800
|
||||
Subject: [PATCH 08/29] arm: dts: enable i2c support for MediaTek MT7981
|
||||
|
||||
This patch enables i2c support for MediaTek MT7981
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
arch/arm/dts/mt7981.dtsi | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
--- a/arch/arm/dts/mt7981.dtsi
|
||||
+++ b/arch/arm/dts/mt7981.dtsi
|
||||
@@ -181,6 +181,20 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ i2c0: i2c@11007000 {
|
||||
+ compatible = "mediatek,mt7981-i2c";
|
||||
+ reg = <0x11007000 0x1000>,
|
||||
+ <0x10217080 0x80>;
|
||||
+ interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clock-div = <1>;
|
||||
+ clocks = <&infracfg_ao CK_INFRA_I2CO_CK>,
|
||||
+ <&infracfg_ao CK_INFRA_AP_DMA_CK>;
|
||||
+ clock-names = "main", "dma";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
uart0: serial@11002000 {
|
||||
compatible = "mediatek,hsuart";
|
||||
reg = <0x11002000 0x400>;
|
@ -0,0 +1,34 @@
|
||||
From 646dab4a8e853b2d0789fa2ff64e7c48f5396cfa Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:24 +0800
|
||||
Subject: [PATCH 09/29] pwm: mtk: add support for MediaTek MT7988 SoC
|
||||
|
||||
This patch adds PWM support for MediaTek MT7988 SoC.
|
||||
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
drivers/pwm/pwm-mtk.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
--- a/drivers/pwm/pwm-mtk.c
|
||||
+++ b/drivers/pwm/pwm-mtk.c
|
||||
@@ -205,12 +205,19 @@ static const struct mtk_pwm_soc mt7986_d
|
||||
.reg_ver = PWM_REG_V1,
|
||||
};
|
||||
|
||||
+static const struct mtk_pwm_soc mt7988_data = {
|
||||
+ .num_pwms = 8,
|
||||
+ .pwm45_fixup = false,
|
||||
+ .reg_ver = PWM_REG_V2,
|
||||
+};
|
||||
+
|
||||
static const struct udevice_id mtk_pwm_ids[] = {
|
||||
{ .compatible = "mediatek,mt7622-pwm", .data = (ulong)&mt7622_data },
|
||||
{ .compatible = "mediatek,mt7623-pwm", .data = (ulong)&mt7623_data },
|
||||
{ .compatible = "mediatek,mt7629-pwm", .data = (ulong)&mt7629_data },
|
||||
{ .compatible = "mediatek,mt7981-pwm", .data = (ulong)&mt7981_data },
|
||||
{ .compatible = "mediatek,mt7986-pwm", .data = (ulong)&mt7986_data },
|
||||
+ { .compatible = "mediatek,mt7988-pwm", .data = (ulong)&mt7988_data },
|
||||
{ }
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@
|
||||
From b4a308dd31a7c6754be230849a5e430052268b9c Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:33 +0800
|
||||
Subject: [PATCH 11/29] reset: mediatek: add reset definition for MediaTek
|
||||
MT7988 SoC
|
||||
|
||||
This patch adds reset bits for MediaTek MT7988
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
include/dt-bindings/reset/mt7988-reset.h | 31 ++++++++++++++++++++++++
|
||||
1 file changed, 31 insertions(+)
|
||||
create mode 100644 include/dt-bindings/reset/mt7988-reset.h
|
||||
|
||||
--- /dev/null
|
||||
+++ b/include/dt-bindings/reset/mt7988-reset.h
|
||||
@@ -0,0 +1,31 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0 */
|
||||
+/*
|
||||
+ * Copyright (C) 2023 MediaTek Inc.
|
||||
+ */
|
||||
+
|
||||
+#ifndef _DT_BINDINGS_MTK_RESET_H_
|
||||
+#define _DT_BINDINGS_MTK_RESET_H_
|
||||
+
|
||||
+/* ETHDMA Subsystem resets */
|
||||
+#define ETHDMA_FE_RST 6
|
||||
+#define ETHDMA_PMTR_RST 8
|
||||
+#define ETHDMA_GMAC_RST 23
|
||||
+#define ETHDMA_WDMA0_RST 24
|
||||
+#define ETHDMA_WDMA1_RST 25
|
||||
+#define ETHDMA_WDMA2_RST 26
|
||||
+#define ETHDMA_PPE0_RST 29
|
||||
+#define ETHDMA_PPE1_RST 30
|
||||
+#define ETHDMA_PPE2_RST 31
|
||||
+
|
||||
+/* ETHWARP Subsystem resets */
|
||||
+#define ETHWARP_GSW_RST 9
|
||||
+#define ETHWARP_EIP197_RST 10
|
||||
+#define ETHWARP_WOCPU0_RST 32
|
||||
+#define ETHWARP_WOCPU1_RST 33
|
||||
+#define ETHWARP_WOCPU2_RST 34
|
||||
+#define ETHWARP_WOX_NET_MUX_RST 35
|
||||
+#define ETHWARP_WED0_RST 36
|
||||
+#define ETHWARP_WED1_RST 37
|
||||
+#define ETHWARP_WED2_RST 38
|
||||
+
|
||||
+#endif /* _DT_BINDINGS_MTK_RESET_H_ */
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,37 @@
|
||||
From 783c46d29f8b186bd65f3e83f38ad883e8bcec69 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 19 Jul 2023 17:16:42 +0800
|
||||
Subject: [PATCH 13/29] pinctrl: mediatek: fix the return value in driving
|
||||
configuration functions
|
||||
|
||||
The original mediatek pinctrl functions for driving configuration
|
||||
'mtk_pinconf_drive_set_*' do not return -ENOSUPP even if input
|
||||
parameters are not supported.
|
||||
This patch fixes the return value in those functions.
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
|
||||
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
|
||||
@@ -513,7 +513,7 @@ int mtk_pinconf_drive_set_v0(struct udev
|
||||
return err;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return err;
|
||||
}
|
||||
|
||||
int mtk_pinconf_drive_set_v1(struct udevice *dev, u32 pin, u32 arg)
|
||||
@@ -531,7 +531,7 @@ int mtk_pinconf_drive_set_v1(struct udev
|
||||
return err;
|
||||
}
|
||||
|
||||
- return 0;
|
||||
+ return err;
|
||||
}
|
||||
|
||||
int mtk_pinconf_drive_set(struct udevice *dev, u32 pin, u32 arg)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user