mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 5.4 to 5.4.68 (#5555)
[mac80211] ca5ee6e mac80211: Fix potential endless loop 2c14710 mac80211: add more AQL fixes/improvements 91fb3ce mac80211: remove an obsolete patch that is no longer doing anything useful acf1733 mac80211: add preliminary support for enabling 802.11ax in config d717343 mac80211: update encap offload patches to the latest version 673062f mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limited caf7277 mac80211: do not allow bigger VHT MPDUs than the hardware supports cd36c0d mac80211: select the first available channel for 5GHz interfaces 1c6d456 mac80211: fix regression in station connection monitor optimization 4bd7689 mac80211: update sta connection monitor regression fix [target] Sync: at91, ath25, ath79, lantiq, mediatek, mvebu.
This commit is contained in:
parent
0ecfa0d4fa
commit
86bc29e4a8
@ -391,13 +391,24 @@ define Build/tplink-v2-image
|
||||
rm -rf $@.new
|
||||
endef
|
||||
|
||||
compat_version=$(if $(DEVICE_COMPAT_VERSION),$(DEVICE_COMPAT_VERSION),1.0)
|
||||
json_quote=$(subst ','\'',$(subst ",\",$(1)))
|
||||
#")')
|
||||
|
||||
legacy_supported_message=$(SUPPORTED_DEVICES) - Image version mismatch: image $(compat_version), \
|
||||
device 1.0. Please wipe config during upgrade (force required) or reinstall. \
|
||||
$(if $(DEVICE_COMPAT_MESSAGE),Reason: $(DEVICE_COMPAT_MESSAGE),Please check documentation ...)
|
||||
|
||||
metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))"))))
|
||||
metadata_json = \
|
||||
'{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \
|
||||
"metadata_version": "1.0", \
|
||||
"supported_devices":[$(call metadata_devices,$(1))], \
|
||||
"metadata_version": "1.1", \
|
||||
"compat_version": "$(call json_quote,$(compat_version))", \
|
||||
$(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \
|
||||
$(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \
|
||||
[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \
|
||||
"supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \
|
||||
$(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \
|
||||
"version": { \
|
||||
"dist": "$(call json_quote,$(VERSION_DIST))", \
|
||||
"version": "$(call json_quote,$(VERSION_NUMBER))", \
|
||||
@ -408,7 +419,7 @@ metadata_json = \
|
||||
}'
|
||||
|
||||
define Build/append-metadata
|
||||
$(if $(SUPPORTED_DEVICES),-echo $(call metadata_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@)
|
||||
$(if $(SUPPORTED_DEVICES),-echo $(call metadata_json) | fwtool -I - $@)
|
||||
[ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \
|
||||
cp "$(BUILD_KEY).ucert" "$@.ucert" ;\
|
||||
usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\
|
||||
|
@ -419,6 +419,8 @@ define Device/Init
|
||||
|
||||
BOARD_NAME :=
|
||||
UIMAGE_NAME :=
|
||||
DEVICE_COMPAT_VERSION := 1.0
|
||||
DEVICE_COMPAT_MESSAGE :=
|
||||
SUPPORTED_DEVICES :=
|
||||
IMAGE_METADATA :=
|
||||
|
||||
@ -426,6 +428,7 @@ define Device/Init
|
||||
|
||||
UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-$(1)
|
||||
|
||||
BROKEN :=
|
||||
DEFAULT :=
|
||||
endef
|
||||
|
||||
@ -435,6 +438,7 @@ DEFAULT_DEVICE_VARS := \
|
||||
VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \
|
||||
DEVICE_DTS_CONFIG DEVICE_DTS_DIR SOC BOARD_NAME UIMAGE_NAME SUPPORTED_DEVICES \
|
||||
IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR UBOOT_PATH IMAGE_SIZE \
|
||||
DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \
|
||||
DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \
|
||||
DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \
|
||||
DEVICE_ALT1_VENDOR DEVICE_ALT1_MODEL DEVICE_ALT1_VARIANT \
|
||||
@ -638,6 +642,7 @@ Target-Profile-Name: $(DEVICE_DISPLAY)
|
||||
Target-Profile-Packages: $(DEVICE_PACKAGES)
|
||||
Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0)
|
||||
Target-Profile-SupportedDevices: $(SUPPORTED_DEVICES)
|
||||
$(if $(BROKEN),Target-Profile-Broken: $(BROKEN))
|
||||
$(if $(DEFAULT),Target-Profile-Default: $(DEFAULT))
|
||||
Target-Profile-Description:
|
||||
$(DEVICE_DESCRIPTION)
|
||||
|
@ -8,11 +8,11 @@ endif
|
||||
|
||||
LINUX_VERSION-4.14 = .195
|
||||
LINUX_VERSION-4.19 = .138
|
||||
LINUX_VERSION-5.4 = .61
|
||||
LINUX_VERSION-5.4 = .68
|
||||
|
||||
LINUX_KERNEL_HASH-4.14.195 = 394f28798670240baacd9e2cce521fbd79f8da5e1fc191695b0e11381445a021
|
||||
LINUX_KERNEL_HASH-4.19.138 = d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02
|
||||
LINUX_KERNEL_HASH-5.4.61 = 86f13d050f6389c5a1727fa81510ee8eceac795297bc584f443354609617fea4
|
||||
LINUX_KERNEL_HASH-5.4.68 = 0e93876c5ae8dc0c55cbe631971a46ab02b90cf7461fed3085703a5e4e3cd6dd
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -8,15 +8,16 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=arm-trusted-firmware-mvebu
|
||||
PKG_VERSION:=2.2
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=2.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_RELEASE).tar.xz
|
||||
PKG_SOURCE_URL:=https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
|
||||
PKG_SOURCE_DATE:=2020-01-21
|
||||
PKG_SOURCE_VERSION:=3b3d406ebc6f5dae6b5c9170c674183026e7301b
|
||||
PKG_MIRROR_HASH:=7c63da237c52808e1fe49458d5a4ac804a8eb4c365e26c6b2b709256e8fc041f
|
||||
PKG_SOURCE:=trusted-firmware-a-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot
|
||||
PKG_HASH:=37f917922bcef181164908c470a2f941006791c0113d738c498d39d95d543b21
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/trusted-firmware-a-$(PKG_VERSION)
|
||||
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=docs/license.rst
|
||||
|
||||
PKG_MAINTAINER:=Vladimir Vid <vladimir.vid@sartura.hr>
|
||||
|
||||
@ -25,29 +26,140 @@ include $(INCLUDE_DIR)/package.mk
|
||||
define Package/arm-trusted-firmware-mvebu
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
TITLE:=ARM Trusted Firmware for mvebu devices
|
||||
DEPENDS:=@TARGET_mvebu_cortexa53
|
||||
VARIANT:=$(subst arm-trusted-firmware-mvebu-,,$(1))
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu/uDPU
|
||||
$(call Package/arm-trusted-firmware-mvebu)
|
||||
BOARDNAME:=uDPU
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-512mb
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin (512MB)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin
|
||||
DDR_TOPOLOGY:=0
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 1CS)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin
|
||||
DDR_TOPOLOGY:=2
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs-emmc
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 1CS, eMMC)
|
||||
DEPENDS:=+u-boot-espressobin-emmc
|
||||
UBOOT:=espressobin-emmc
|
||||
DDR_TOPOLOGY:=4
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB, 2CS)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin
|
||||
DDR_TOPOLOGY:=2
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs-emmc
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (1GB 2CS, eMMC)
|
||||
DEPENDS:=+u-boot-espressobin-emmc
|
||||
UBOOT:=espressobin-emmc
|
||||
DDR_TOPOLOGY:=2
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (2GB)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin
|
||||
DDR_TOPOLOGY:=7
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb-emmc
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V3-V5 (2GB, eMMC)
|
||||
DEPENDS:=+u-boot-espressobin-emmc
|
||||
UBOOT:=espressobin-emmc
|
||||
DDR_TOPOLOGY:=7
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v7-1gb
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (1GB)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin
|
||||
DDR_TOPOLOGY:=5
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v7-1gb-emmc
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (1GB, eMMC)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin-emmc
|
||||
DDR_TOPOLOGY:=5
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v7-2gb
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (2GB)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin
|
||||
DDR_TOPOLOGY:=6
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-espressobin-v7-2gb-emmc
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Marvell ESPRESSObin V7 (2GB, eMMC)
|
||||
DEPENDS:=+u-boot-espressobin
|
||||
UBOOT:=espressobin-emmc
|
||||
DDR_TOPOLOGY:=6
|
||||
CLOCKSPRESET:=CPU_800_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mvebu-udpu
|
||||
$(Package/arm-trusted-firmware-mvebu)
|
||||
TITLE:=ARM Trusted Firmware for Methode uDPU
|
||||
DEPENDS:=+u-boot-uDPU
|
||||
UBOOT:=uDPU
|
||||
DDR_TOPOLOGY:=0
|
||||
CLOCKSPRESET:=CPU_1000_DDR_800
|
||||
PLAT:=a3700
|
||||
endef
|
||||
|
||||
A3700_UTILS_NAME:=a3700-utils
|
||||
A3700_UTILS_RELEASE:=18.12.1
|
||||
A3700_UTILS_RELEASE:=09679790
|
||||
A3700_UTILS_SOURCE=$(A3700_UTILS_NAME)-$(A3700_UTILS_RELEASE).tar.bz2
|
||||
|
||||
define Download/a3700-utils
|
||||
FILE:=$(A3700_UTILS_SOURCE)
|
||||
PROTO:=git
|
||||
URL:=https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell.git
|
||||
VERSION:=e6bb176fb9936d9160e53ae09275000dc6440686
|
||||
MIRROR_HASH:=c3edf71cbf1fc2e5482d36e36a34c79d682d2c87fdfb909b4dc6327a171e7bd4
|
||||
VERSION:=096797908ddd69a679fd55595c41fc02809829a9
|
||||
MIRROR_HASH:=9276d63d41b2e221c2fd5cceee988ca26eff5005747787f084868b3940173b7a
|
||||
SUBDIR:=$(A3700_UTILS_NAME)
|
||||
endef
|
||||
|
||||
@ -81,8 +193,7 @@ define Build/Prepare
|
||||
$(eval $(call Download,mv-ddr-marvell))
|
||||
$(eval $(call Download,gcc-linaro))
|
||||
|
||||
rm -rf $(PKG_BUILD_DIR)
|
||||
$(TAR) -C $(BUILD_DIR) -xf $(DL_DIR)/$(PKG_SOURCE)
|
||||
$(call Build/Prepare/Default,)
|
||||
|
||||
mkdir -p $(STAGING_DIR_IMAGE)
|
||||
$(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(A3700_UTILS_SOURCE)
|
||||
@ -90,23 +201,41 @@ define Build/Prepare
|
||||
$(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(LINARO_SOURCE)
|
||||
endef
|
||||
|
||||
export GCC_HONOUR_COPTS=s
|
||||
|
||||
TARGET_CFLAGS = ""
|
||||
|
||||
MAKE_VARS= \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)"
|
||||
|
||||
MAKE_FLAGS = \
|
||||
CROSS_CM3=$(STAGING_DIR_IMAGE)/$(LINARO_NAME)-$(LINARO_RELEASE).$(LINARO_VERSION)/bin/arm-linux-gnueabi- \
|
||||
BL33=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.bin \
|
||||
MV_DDR_PATH=$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME) \
|
||||
WTP=$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME) \
|
||||
CLOCKSPRESET=$(CLOCKSPRESET) \
|
||||
PLAT=$(PLAT) \
|
||||
all \
|
||||
fip
|
||||
|
||||
define Build/InstallDev
|
||||
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/flash-image.bin $(BIN_DIR)/u-boot-$(BOARDNAME)/
|
||||
define Build/Compile
|
||||
$(eval $(Package/arm-trusted-firmware-mvebu-$(BUILD_VARIANT))) \
|
||||
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
OPENSSL_DIR=$(STAGING_DIR_HOST) \
|
||||
CROSS_CM3=$(STAGING_DIR_IMAGE)/$(LINARO_NAME)-$(LINARO_RELEASE).$(LINARO_VERSION)/bin/arm-linux-gnueabi- \
|
||||
BL33=$(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.bin \
|
||||
MV_DDR_PATH=$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME) \
|
||||
WTP=$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME) \
|
||||
DDR_TOPOLOGY=$(DDR_TOPOLOGY) \
|
||||
CLOCKSPRESET=$(CLOCKSPRESET) \
|
||||
PLAT=$(PLAT) \
|
||||
all \
|
||||
fip
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu/uDPU))
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(BIN_DIR)/flash-image-$(BUILD_VARIANT)
|
||||
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/flash-image.bin $(BIN_DIR)/flash-image-$(BUILD_VARIANT)/
|
||||
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/uart-images.tgz $(BIN_DIR)/flash-image-$(BUILD_VARIANT)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-512mb))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-1cs-emmc))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-1gb-2cs-emmc))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v3-v5-2gb-emmc))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-1gb))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-1gb-emmc))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-2gb))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-espressobin-v7-2gb-emmc))
|
||||
$(eval $(call BuildPackage,arm-trusted-firmware-mvebu-udpu))
|
||||
|
@ -0,0 +1,20 @@
|
||||
--- a/tools/fiptool/Makefile
|
||||
+++ b/tools/fiptool/Makefile
|
||||
@@ -19,7 +19,7 @@ ifeq (${DEBUG},1)
|
||||
else
|
||||
HOSTCCFLAGS += -O2
|
||||
endif
|
||||
-LDLIBS := -lcrypto
|
||||
+LDLIBS := -L${OPENSSL_DIR}/lib -lcrypto
|
||||
|
||||
ifeq (${V},0)
|
||||
Q := @
|
||||
@@ -27,7 +27,7 @@ else
|
||||
Q :=
|
||||
endif
|
||||
|
||||
-INCLUDE_PATHS := -I../../include/tools_share
|
||||
+INCLUDE_PATHS := -I../../include/tools_share -I${OPENSSL_DIR}/include
|
||||
|
||||
HOSTCC ?= gcc
|
||||
|
@ -9,14 +9,14 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=at91bootstrap
|
||||
PKG_VERSION:=v3.8.12
|
||||
PKG_RELEASE:=
|
||||
PKG_VERSION:=v3.9.3
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/at91bootstrap.git
|
||||
PKG_SOURCE_VERSION:=28e15d07e9f24efb04b87bb0baa211a0c5640ef1
|
||||
PKG_SOURCE_VERSION:=d96833a4b6680b237708eb4dc9f10708b9e709d8
|
||||
PKG_BUILD_DIR = \
|
||||
$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include at91bootstrap.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
@ -30,112 +30,112 @@ endef
|
||||
define AT91Bootstrap/at91sam9x5eknf_uboot
|
||||
NAME:=AT91Bootstrap for AT91SAM9X5-EK board (NandFlash)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=at91sam9x25ek at91sam9x35ek
|
||||
BUILD_DEVICES:=atmel_at91sam9x25ek atmel_at91sam9x35ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/at91sam9x5eksd_uboot
|
||||
NAME:=AT91Bootstrap for AT91SAM9X5-EK board (SDcard)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=at91sam9x25ek at91sam9x35ek
|
||||
BUILD_DEVICES:=atmel_at91sam9x25ek atmel_at91sam9x35ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_xplaineddf_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (SPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_xplaineddf_qspi_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (QSPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_xplainedsd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (SDcard/EMMC)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d3_xplainednf_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D3 Xplained board (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d3_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d3_xplainedsd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D3 Xplained board (SDcard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d3_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d4_xplainednf_uboot_secure
|
||||
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d4_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d4_xplaineddf_uboot_secure
|
||||
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (SPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d4_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d4_xplainedsd_uboot_secure
|
||||
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (SDcard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d4_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_eksd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (SDcard0)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d27_som1_ek
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_eksd1_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (SDcard1)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d27_som1_ek
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_ekqspi_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (QSPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d27_som1_ek
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_ptc_eknf_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 PTC EK (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_ptc_ek
|
||||
BUILD_DEVICES:=microchip_sama5d2-ptc-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_ptc_eksd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 PTC EK (SDCard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_ptc_ek
|
||||
BUILD_DEVICES:=microchip_sama5d2-ptc-ek
|
||||
endef
|
||||
|
||||
AT91BOOTSTRAP_TARGETS := \
|
||||
at91sam9x5eknf_uboot \
|
||||
at91sam9x5eksd_uboot \
|
||||
sama5d2_xplaineddf_uboot \
|
||||
sama5d2_xplaineddf_qspi_uboot \
|
||||
sama5d2_xplainedsd_uboot \
|
||||
sama5d3_xplainednf_uboot \
|
||||
sama5d3_xplainedsd_uboot \
|
||||
sama5d4_xplainednf_uboot_secure \
|
||||
sama5d4_xplaineddf_uboot_secure \
|
||||
sama5d4_xplainedsd_uboot_secure \
|
||||
sama5d27_som1_eksd1_uboot \
|
||||
sama5d27_som1_ekqspi_uboot \
|
||||
sama5d2_ptc_eknf_uboot \
|
||||
sama5d2_ptc_eksd_uboot
|
||||
at91sam9x5eknf_uboot \
|
||||
at91sam9x5eksd_uboot \
|
||||
sama5d2_xplaineddf_uboot \
|
||||
sama5d2_xplaineddf_qspi_uboot \
|
||||
sama5d2_xplainedsd_uboot \
|
||||
sama5d3_xplainednf_uboot \
|
||||
sama5d3_xplainedsd_uboot \
|
||||
sama5d4_xplainednf_uboot_secure \
|
||||
sama5d4_xplaineddf_uboot_secure \
|
||||
sama5d4_xplainedsd_uboot_secure \
|
||||
sama5d27_som1_eksd1_uboot \
|
||||
sama5d27_som1_ekqspi_uboot \
|
||||
sama5d2_ptc_eknf_uboot \
|
||||
sama5d2_ptc_eksd_uboot
|
||||
|
||||
define Build/Compile
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS)
|
||||
CROSS_COMPILE=$(TARGET_CROSS)
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage/AT91Bootstrap))
|
||||
|
@ -5,7 +5,7 @@ PKG_FLAGS:=nonshared
|
||||
export GCC_HONOUR_COPTS=s
|
||||
|
||||
define Package/at91bootstrap/install/default
|
||||
$(CP) -avL $(PKG_BUILD_DIR)/binaries/at91bootstrap.bin $(1)/
|
||||
$(CP) -avL $(PKG_BUILD_DIR)/binaries/at91bootstrap.bin $(1)/
|
||||
endef
|
||||
|
||||
Package/at91bootstrap/install = $(Package/at91bootstrap/install/default)
|
||||
@ -34,7 +34,7 @@ define Build/AT91Bootstrap/Target
|
||||
$(eval $(call AT91Bootstrap/Default,$(1)))
|
||||
$(eval $(call AT91Bootstrap/$(1),$(1)))
|
||||
|
||||
define Package/at91bootstrap-$(1)
|
||||
define Package/at91bootstrap-$(1)
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
TITLE:= .$(NAME)
|
||||
@ -45,9 +45,9 @@ define Build/AT91Bootstrap/Target
|
||||
DEPENDS += @$(TARGET_DEP)
|
||||
ifneq ($(BUILD_DEVICES),)
|
||||
DEFAULT := y if ($(TARGET_DEP)_Default \
|
||||
$(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
|
||||
$(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%, \
|
||||
$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
|
||||
$(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
|
||||
$(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%, \
|
||||
$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
|
||||
endif
|
||||
endif
|
||||
$(if $(DEFAULT),DEFAULT:=$(DEFAULT))
|
||||
@ -61,28 +61,28 @@ endef
|
||||
|
||||
define Build/Configure/AT91Bootstrap
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
$(AT91BOOTSTRAP_CONFIG)_defconfig
|
||||
$(AT91BOOTSTRAP_CONFIG)_defconfig
|
||||
endef
|
||||
|
||||
|
||||
define Build/Compile/AT91Bootstrap
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
$(AT91BOOTSTRAP_MAKE_FLAGS)
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
$(AT91BOOTSTRAP_MAKE_FLAGS)
|
||||
endef
|
||||
|
||||
define BuildPackage/AT91Bootstrap/Defaults
|
||||
Build/Configure/Default = $$$$(Build/Configure/AT91Bootstrap)
|
||||
Build/Compile/Default = $$$$(Build/Compile/AT91Bootstrap)
|
||||
Build/Configure/Default = $$$$(Build/Configure/AT91Bootstrap)
|
||||
Build/Compile/Default = $$$$(Build/Compile/AT91Bootstrap)
|
||||
endef
|
||||
|
||||
define BuildPackage/AT91Bootstrap
|
||||
$(eval $(call BuildPackage/AT91Bootstrap/Defaults))
|
||||
$(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
|
||||
$(eval $(call Build/AT91Bootstrap/Target,$(type)))
|
||||
)
|
||||
$(eval $(call Build/DefaultTargets))
|
||||
$(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
|
||||
$(call BuildPackage,at91bootstrap-$(type))
|
||||
)
|
||||
$(eval $(call BuildPackage/AT91Bootstrap/Defaults))
|
||||
$(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
|
||||
$(eval $(call Build/AT91Bootstrap/Target,$(type)))
|
||||
)
|
||||
$(eval $(call Build/DefaultTargets))
|
||||
$(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
|
||||
$(call BuildPackage,at91bootstrap-$(type))
|
||||
)
|
||||
endef
|
||||
|
@ -30,6 +30,14 @@ define Download/BPI-R2-preloader-2k.img.gz
|
||||
endef
|
||||
$(eval $(call Download,BPI-R2-preloader-2k.img.gz))
|
||||
|
||||
define Download/BPI-R64-preloader-2k.img.gz
|
||||
FILE:=$(BPI_PRELOADER_PREFIX)-BPI-R64-preloader-2k.img.gz
|
||||
URL:=$(BPI_PRELOADER_URL)
|
||||
URL_FILE:=BPI-R64-preloader-2k.img.gz
|
||||
HASH:=1a4b55da1717190aa4e790ce93850605e9b15aae4c3248bcf8734aac020ab0e4
|
||||
endef
|
||||
$(eval $(call Download,BPI-R64-preloader-2k.img.gz))
|
||||
|
||||
|
||||
define Package/mt7623n-preloader
|
||||
SECTION:=boot
|
||||
@ -43,10 +51,23 @@ define Package/mt7623n-preloader/description
|
||||
Preloader image for mt7623n based boards like Banana Pi R2.
|
||||
endef
|
||||
|
||||
define Package/mt7622-preloader
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
DEPENDS:=@TARGET_mediatek_mt7622
|
||||
TITLE:=mt7622-preloader
|
||||
DEFAULT:=y if TARGET_mediatek
|
||||
endef
|
||||
|
||||
define Package/mt7622-preloader/description
|
||||
Preloader image for mt7622 based boards like Banana Pi R64.
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
rm -rf $(PKG_BUILD_DIR)
|
||||
mkdir -p $(PKG_BUILD_DIR)
|
||||
cp $(DL_DIR)/$(BPI_PRELOADER_PREFIX)-BPI-R2-preloader-DDR1600-20191024-2k.img.gz $(PKG_BUILD_DIR)/mt7623n_bpir2-preloader.bin.gz
|
||||
cp $(DL_DIR)/$(BPI_PRELOADER_PREFIX)-BPI-R64-preloader-2k.img.gz $(PKG_BUILD_DIR)/mt7622_bpir64-preloader.bin.gz
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
@ -59,3 +80,4 @@ define Build/InstallDev
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,mt7623n-preloader))
|
||||
$(eval $(call BuildPackage,mt7622-preloader))
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_VERSION:=linux4sam_6.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=linux4sam-2020.04
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/u-boot-at91.git
|
||||
PKG_SOURCE_VERSION:=1e7d2e5973c1fb780e55e28a801c6c574158ac14
|
||||
PKG_SOURCE_VERSION:=0e1d1b6efb7f8e27c372279a906fcd2524df09da
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
@ -27,89 +27,89 @@ endef
|
||||
define U-Boot/at91sam9m10g45ek_nandflash
|
||||
NAME:=AT91SAM9M10G45-EK board (NandFlash)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=at91sam9m10g45ek
|
||||
BUILD_DEVICES:=atmel_at91sam9m10g45ek
|
||||
endef
|
||||
|
||||
define U-Boot/at91sam9x5ek_nandflash
|
||||
NAME:=AT91SAM9X5-EK board (NandFlash)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=at91sam9g15ek at91sam9g25ek \
|
||||
at91sam9g35ek at91sam9x25ek \
|
||||
at91sam9x35ek
|
||||
BUILD_DEVICES:=atmel_at91sam9g15ek atmel_at91sam9g25ek \
|
||||
atmel_at91sam9g35ek atmel_at91sam9x25ek \
|
||||
atmel_at91sam9x35ek
|
||||
endef
|
||||
|
||||
define U-Boot/at91sam9x5ek_mmc
|
||||
NAME:=AT91SAM9X5-EK board (SDcard)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=at91sam9g15ek at91sam9g25ek \
|
||||
at91sam9g35ek at91sam9x25ek \
|
||||
at91sam9x35ek
|
||||
BUILD_DEVICES:=atmel_at91sam9g15ek atmel_at91sam9g25ek \
|
||||
atmel_at91sam9g35ek atmel_at91sam9x25ek \
|
||||
atmel_at91sam9x35ek
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d3_xplained_nandflash
|
||||
NAME:=SAMA5D3 Xplained board (NandFlash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d3_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d3_xplained_mmc
|
||||
NAME:=SAMA5D3 Xplained board (SDcard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d3_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d2_xplained_spiflash
|
||||
NAME:=SAMA5D2 Xplained board (SPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d2_xplained_mmc
|
||||
NAME:=SAMA5D2 Xplained board (SDcard/EMMC)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d4_xplained_spiflash
|
||||
NAME:=SAMA5D4 Xplained board (SPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d4_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d4_xplained_mmc
|
||||
NAME:=SAMA5D4 Xplained board (SDcard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d4_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d4_xplained_nandflash
|
||||
NAME:=SAMA5D4 Xplained board (NandFlash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d4_xplained
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d27_som1_ek_mmc1
|
||||
NAME:=SAMA5D27 SOM1 Ek (SDCard1)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d27_som1_ek
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d27_som1_ek_qspiflash
|
||||
NAME:=SAMA5D27 SOM1 Ek (QSPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d27_som1_ek
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d2_ptc_ek_nandflash
|
||||
NAME:=SAMA5D2 PTC Ek (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_ptc_ek
|
||||
BUILD_DEVICES:=microchip_sama5d2-ptc-ek
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d2_ptc_ek_mmc
|
||||
NAME:=SAMA5D2 PTC Ek (SDCard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=at91-sama5d2_ptc_ek
|
||||
BUILD_DEVICES:=microchip_sama5d2-ptc-ek
|
||||
endef
|
||||
|
||||
UBOOT_TARGETS := \
|
||||
@ -129,11 +129,11 @@ UBOOT_TARGETS := \
|
||||
sama5d2_ptc_ek_mmc
|
||||
|
||||
define Build/Compile
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
DTC=$(PKG_BUILD_DIR)/scripts/dtc/dtc \
|
||||
KCFLAGS="$(filter-out -fstack-protector \
|
||||
-mfloat-abi=hard, $(TARGET_CFLAGS)) -mfloat-abi=soft"
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
DTC=$(PKG_BUILD_DIR)/scripts/dtc/dtc \
|
||||
KCFLAGS="$(filter-out -fstack-protector \
|
||||
-mfloat-abi=hard, $(TARGET_CFLAGS)) -mfloat-abi=soft"
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage/U-Boot))
|
||||
|
@ -1,13 +1,39 @@
|
||||
diff --git a/cmd/version.c b/cmd/version.c
|
||||
index b2fffe9..bcbbeb1 100644
|
||||
index b2fffe99..bcbbeb18 100644
|
||||
--- a/cmd/version.c
|
||||
+++ b/cmd/version.c
|
||||
@@ -18,7 +18,7 @@ static int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
|
||||
char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
|
||||
|
||||
- printf(display_options_get_banner(false, buf, sizeof(buf)));
|
||||
+ printf("%s",display_options_get_banner(false, buf, sizeof(buf)));
|
||||
#ifdef CC_VERSION_STRING
|
||||
puts(CC_VERSION_STRING "\n");
|
||||
puts(CC_VERSION_STRING "\n");
|
||||
#endif
|
||||
diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
|
||||
index 3425ed11..8c2e1d5c 100644
|
||||
--- a/drivers/pinctrl/pinctrl-uclass.c
|
||||
+++ b/drivers/pinctrl/pinctrl-uclass.c
|
||||
@@ -368,7 +368,7 @@ int pinctrl_get_pin_name(struct udevice *dev, int selector, char *buf,
|
||||
if (!ops->get_pin_name)
|
||||
return -ENOSYS;
|
||||
|
||||
- snprintf(buf, size, ops->get_pin_name(dev, selector));
|
||||
+ snprintf(buf, size, "%s", ops->get_pin_name(dev, selector));
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c
|
||||
index c316bdfe..5fe8129c 100644
|
||||
--- a/lib/efi_loader/efi_variable.c
|
||||
+++ b/lib/efi_loader/efi_variable.c
|
||||
@@ -522,7 +522,7 @@ efi_status_t EFIAPI efi_set_variable(u16 *variable_name,
|
||||
|
||||
if (old_size)
|
||||
/* APPEND_WRITE */
|
||||
- s += sprintf(s, old_val);
|
||||
+ s += sprintf(s, "%s", old_val);
|
||||
else
|
||||
s += sprintf(s, "(blob)");
|
||||
|
||||
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=uboot-envtools
|
||||
PKG_DISTNAME:=u-boot
|
||||
PKG_VERSION:=2020.04
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
|
@ -19,6 +19,8 @@ arduino,yun|\
|
||||
buffalo,bhr-4grv2|\
|
||||
devolo,magic-2-wifi|\
|
||||
engenius,ecb1750|\
|
||||
engenius,enh202-v1|\
|
||||
engenius,ens202ext-v1|\
|
||||
etactica,eg200|\
|
||||
glinet,gl-ar750s-nor|\
|
||||
glinet,gl-ar750s-nor-nand|\
|
||||
|
@ -26,7 +26,7 @@ zyxel,p-2812hnu-f1)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x2000" "0x20000" "1"
|
||||
;;
|
||||
buffalo,wbmr-300hpd)
|
||||
idx="$(find_mtd_index ubootconfig)"
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x2000" "0x1000" "2"
|
||||
;;
|
||||
|
@ -15,7 +15,11 @@ board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
cznic,turris-omnia)
|
||||
ubootenv_add_uci_config "/dev/mtd0" "0xC0000" "0x10000" "0x40000"
|
||||
if 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"
|
||||
fi
|
||||
;;
|
||||
glinet,gl-mv1000)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x8000" "1"
|
||||
|
@ -33,7 +33,14 @@ xiaomi,miwifi-nano|\
|
||||
zbtlink,zbt-wg2626)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000"
|
||||
;;
|
||||
hootoo,ht-tm05|\
|
||||
ravpower,rp-wd03)
|
||||
idx="$(find_mtd_index u-boot-env)"
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000"
|
||||
;;
|
||||
linksys,ea7300-v1|\
|
||||
linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
xiaomi,mir3p|\
|
||||
xiaomi,mir3g|\
|
||||
|
@ -1,9 +1,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_VERSION:=2020.04
|
||||
PKG_RELEASE:=2
|
||||
PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372
|
||||
PKG_VERSION:=2020.07
|
||||
PKG_HASH:=c1f5bf9ee6bb6e648edbf19ce2ca9452f614b08a9f886f1a566aa42e8cf05f6a
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,6 @@ index 6b9fbd7e22..fb2a004803 100644
|
||||
@@ -52,3 +52,13 @@ CONFIG_TIMER=y
|
||||
CONFIG_WDT_MTK=y
|
||||
CONFIG_LZMA=y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
+CONFIG_CMD_BOOTZ=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
+#enables savenenv-command
|
||||
|
@ -37,11 +37,10 @@ diff --git a/env/fat.c b/env/fat.c
|
||||
index 35a1955e63..63aced9317 100644
|
||||
--- a/env/fat.c
|
||||
+++ b/env/fat.c
|
||||
@@ -29,6 +29,36 @@
|
||||
# endif
|
||||
@@ -29,6 +29,34 @@
|
||||
# define LOADENV
|
||||
#endif
|
||||
|
||||
+#if defined(CMD_SAVEENV) || defined(CMD_LOADENV)
|
||||
+__weak int mmc_get_env_dev(void)
|
||||
+{
|
||||
+#ifdef CONFIG_SYS_MMC_ENV_DEV
|
||||
@ -69,11 +68,10 @@ index 35a1955e63..63aced9317 100644
|
||||
+ return CONFIG_ENV_FAT_DEVICE_AND_PART;
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
#ifdef CMD_SAVEENV
|
||||
static int env_fat_save(void)
|
||||
{
|
||||
env_t __aligned(ARCH_DMA_MINALIGN) env_new;
|
||||
@@ -43,7 +71,7 @@ static int env_fat_save(void)
|
||||
return err;
|
||||
|
||||
|
@ -8,10 +8,10 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_VERSION:=2019.04
|
||||
PKG_VERSION:=2020.10-rc4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_HASH:=76b7772d156b3ddd7644c8a1736081e55b78828537ff714065d21dbade229bef
|
||||
PKG_HASH:=0a7bdd2c7df2c14daf2730fcf3277fd917aadfaae935529e29c7412314bbf260
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
@ -36,6 +36,21 @@ define U-Boot/helios4
|
||||
UBOOT_IMAGE:=u-boot-spl.kwb
|
||||
endef
|
||||
|
||||
define U-Boot/espressobin
|
||||
NAME:=Marvell ESPRESSObin
|
||||
BUILD_DEVICES:=globalscale_espressobin globalscale_espressobin-v7
|
||||
BUILD_SUBTARGET:=cortexa53
|
||||
UBOOT_CONFIG:=mvebu_espressobin-88f3720
|
||||
endef
|
||||
|
||||
define U-Boot/espressobin-emmc
|
||||
NAME:=Marvell ESPRESSObin
|
||||
BUILD_DEVICES:=globalscale_espressobin-emmc globalscale_espressobin-v7-emmc
|
||||
BUILD_SUBTARGET:=cortexa53
|
||||
UBOOT_CONFIG:=mvebu_espressobin-88f3720
|
||||
UBOOT_MAKE_FLAGS+=DEVICE_TREE=armada-3720-espressobin-emmc
|
||||
endef
|
||||
|
||||
define U-Boot/uDPU
|
||||
NAME:=Methode uDPU
|
||||
BUILD_DEVICES:=methode_udpu
|
||||
@ -45,6 +60,8 @@ endef
|
||||
UBOOT_TARGETS:= \
|
||||
clearfog \
|
||||
helios4 \
|
||||
espressobin \
|
||||
espressobin-emmc \
|
||||
uDPU
|
||||
|
||||
Build/Exports:=$(Host/Exports)
|
||||
|
@ -1,7 +1,7 @@
|
||||
--- a/drivers/mtd/spi/spi-nor-ids.c
|
||||
+++ b/drivers/mtd/spi/spi-nor-ids.c
|
||||
@@ -136,6 +136,7 @@ const struct flash_info spi_nor_ids[] =
|
||||
{ INFO("mx25u1635e", 0xc22535, 0, 64 * 1024, 32, SECT_4K) },
|
||||
@@ -151,6 +151,7 @@ const struct flash_info spi_nor_ids[] =
|
||||
{ INFO("mx25u3235f", 0xc22536, 0, 4 * 1024, 1024, SECT_4K) },
|
||||
{ INFO("mx25u6435f", 0xc22537, 0, 64 * 1024, 128, SECT_4K) },
|
||||
{ INFO("mx25l12805d", 0xc22018, 0, 64 * 1024, 256, 0) },
|
||||
+ { INFO("mx25u12835f", 0xc22538, 0, 64 * 1024, 256, SECT_4K) },
|
||||
|
@ -9,5 +9,5 @@ This is required in order to boot itb images.
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
+#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */
|
||||
|
||||
#define CONFIG_NR_DRAM_BANKS 1
|
||||
/* auto boot */
|
||||
|
||||
|
@ -0,0 +1,43 @@
|
||||
From 264c45575ec6a3d507dc4e43954b8a78283aca6c Mon Sep 17 00:00:00 2001
|
||||
From: Andre Heider <a.heider@gmail.com>
|
||||
Date: Thu, 10 Sep 2020 17:58:43 +0200
|
||||
Subject: [PATCH] mmc: xenon_sdhci: Add missing common host capabilities
|
||||
|
||||
Use mmc_of_parse() to set the common host properties. That includes
|
||||
"bus-width", so parsing it can be removed from the driver.
|
||||
|
||||
But more importantly, "non-removable" is now respected, which fixes
|
||||
the usage of eMMC.
|
||||
|
||||
Signed-off-by: Andre Heider <a.heider@gmail.com>
|
||||
---
|
||||
drivers/mmc/xenon_sdhci.c | 18 ++++--------------
|
||||
1 file changed, 4 insertions(+), 14 deletions(-)
|
||||
|
||||
--- a/drivers/mmc/xenon_sdhci.c
|
||||
+++ b/drivers/mmc/xenon_sdhci.c
|
||||
@@ -485,20 +485,10 @@ static int xenon_sdhci_probe(struct udev
|
||||
armada_3700_soc_pad_voltage_set(host);
|
||||
|
||||
host->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_DDR_52MHz;
|
||||
- switch (fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "bus-width",
|
||||
- 1)) {
|
||||
- case 8:
|
||||
- host->host_caps |= MMC_MODE_8BIT;
|
||||
- break;
|
||||
- case 4:
|
||||
- host->host_caps |= MMC_MODE_4BIT;
|
||||
- break;
|
||||
- case 1:
|
||||
- break;
|
||||
- default:
|
||||
- printf("Invalid \"bus-width\" value\n");
|
||||
- return -EINVAL;
|
||||
- }
|
||||
+
|
||||
+ ret = mmc_of_parse(dev, &plat->cfg);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
|
||||
host->ops = &xenon_sdhci_ops;
|
||||
|
@ -0,0 +1,45 @@
|
||||
From 753947e2c374820dcbc9c86626812aeb7d460653 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Heider <a.heider@gmail.com>
|
||||
Date: Fri, 4 Sep 2020 16:34:22 +0200
|
||||
Subject: [PATCH] arm64: dts: armada-3720-espressobin: use Linux
|
||||
model/compatible strings
|
||||
|
||||
Fix the actual board vendor and ease synching dts files from Linux.
|
||||
---
|
||||
arch/arm/dts/armada-3720-espressobin.dts | 4 ++--
|
||||
board/Marvell/mvebu_armada-37xx/board.c | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/arch/arm/dts/armada-3720-espressobin.dts
|
||||
+++ b/arch/arm/dts/armada-3720-espressobin.dts
|
||||
@@ -50,8 +50,8 @@
|
||||
#include "armada-372x.dtsi"
|
||||
|
||||
/ {
|
||||
- model = "Marvell Armada 3720 Community Board ESPRESSOBin";
|
||||
- compatible = "marvell,armada-3720-espressobin", "marvell,armada3720", "marvell,armada3710";
|
||||
+ model = "Globalscale Marvell ESPRESSOBin Board";
|
||||
+ compatible = "globalscale,espressobin", "marvell,armada3720", "marvell,armada3710";
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
--- a/board/Marvell/mvebu_armada-37xx/board.c
|
||||
+++ b/board/Marvell/mvebu_armada-37xx/board.c
|
||||
@@ -201,7 +201,7 @@ static int mii_multi_chip_mode_write(str
|
||||
/* Bring-up board-specific network stuff */
|
||||
int board_network_enable(struct mii_dev *bus)
|
||||
{
|
||||
- if (!of_machine_is_compatible("marvell,armada-3720-espressobin"))
|
||||
+ if (!of_machine_is_compatible("globalscale,espressobin"))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
@@ -253,7 +253,7 @@ int ft_board_setup(void *blob, struct bd
|
||||
int part_off;
|
||||
|
||||
/* Fill SPI MTD partitions for Linux kernel on Espressobin */
|
||||
- if (!of_machine_is_compatible("marvell,armada-3720-espressobin"))
|
||||
+ if (!of_machine_is_compatible("globalscale,espressobin"))
|
||||
return 0;
|
||||
|
||||
spi_off = fdt_node_offset_by_compatible(blob, -1, "jedec,spi-nor");
|
@ -0,0 +1,369 @@
|
||||
From ee59573dd531df96de0d9dc8e79b34ed3716c864 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Heider <a.heider@gmail.com>
|
||||
Date: Fri, 4 Sep 2020 15:38:58 +0200
|
||||
Subject: [PATCH] arm64: dts: armada-3720-espressobin: split common parts to
|
||||
.dtsi
|
||||
|
||||
Move most of the dts to the new common
|
||||
arch/arm/dts/armada-3720-espressobin.dtsi file, just like Linux has.
|
||||
|
||||
The dts itself is imported from Linux.
|
||||
|
||||
Signed-off-by: Andre Heider <a.heider@gmail.com>
|
||||
---
|
||||
arch/arm/dts/armada-3720-espressobin.dts | 190 ++----------------
|
||||
...sobin.dts => armada-3720-espressobin.dtsi} | 3 -
|
||||
2 files changed, 20 insertions(+), 173 deletions(-)
|
||||
rewrite arch/arm/dts/armada-3720-espressobin.dts (95%)
|
||||
copy arch/arm/dts/{armada-3720-espressobin.dts => armada-3720-espressobin.dtsi} (96%)
|
||||
|
||||
--- a/arch/arm/dts/armada-3720-espressobin.dts
|
||||
+++ b/arch/arm/dts/armada-3720-espressobin.dts
|
||||
@@ -1,170 +1,20 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
- * Device Tree file for Marvell Armada 3720 community board
|
||||
- * (ESPRESSOBin)
|
||||
+ * Device Tree file for Globalscale Marvell ESPRESSOBin Board
|
||||
* Copyright (C) 2016 Marvell
|
||||
*
|
||||
- * Gregory CLEMENT <gregory.clement@free-electrons.com>
|
||||
- * Konstantin Porotchkin <kostap@marvell.com>
|
||||
+ * Romain Perier <romain.perier@free-electrons.com>
|
||||
*
|
||||
- * This file is dual-licensed: you can use it either under the terms
|
||||
- * of the GPL or the X11 license, at your option. Note that this dual
|
||||
- * licensing only applies to this file, and not this project as a
|
||||
- * whole.
|
||||
- *
|
||||
- * a) This file is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU General Public License as
|
||||
- * published by the Free Software Foundation; either version 2 of the
|
||||
- * License, or (at your option) any later version.
|
||||
- *
|
||||
- * This file is distributed in the hope that it will be useful
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
- * GNU General Public License for more details.
|
||||
- *
|
||||
- * Or, alternatively
|
||||
- *
|
||||
- * b) Permission is hereby granted, free of charge, to any person
|
||||
- * obtaining a copy of this software and associated documentation
|
||||
- * files (the "Software"), to deal in the Software without
|
||||
- * restriction, including without limitation the rights to use
|
||||
- * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
- * sell copies of the Software, and to permit persons to whom the
|
||||
- * Software is furnished to do so, subject to the following
|
||||
- * conditions:
|
||||
- *
|
||||
- * The above copyright notice and this permission notice shall be
|
||||
- * included in all copies or substantial portions of the Software.
|
||||
- *
|
||||
- * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
||||
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
||||
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
- * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+/*
|
||||
+ * Schematic available at http://espressobin.net/wp-content/uploads/2017/08/ESPRESSObin_V5_Schematics.pdf
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
-#include "armada-372x.dtsi"
|
||||
+#include "armada-3720-espressobin.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Globalscale Marvell ESPRESSOBin Board";
|
||||
compatible = "globalscale,espressobin", "marvell,armada3720", "marvell,armada3710";
|
||||
-
|
||||
- chosen {
|
||||
- stdout-path = "serial0:115200n8";
|
||||
- };
|
||||
-
|
||||
- aliases {
|
||||
- ethernet0 = ð0;
|
||||
- i2c0 = &i2c0;
|
||||
- spi0 = &spi0;
|
||||
- };
|
||||
-
|
||||
- memory {
|
||||
- device_type = "memory";
|
||||
- reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
|
||||
- };
|
||||
-
|
||||
- vcc_sd_reg0: regulator@0 {
|
||||
- compatible = "regulator-gpio";
|
||||
- regulator-name = "vcc_sd0";
|
||||
- regulator-min-microvolt = <1800000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- regulator-type = "voltage";
|
||||
- states = <1800000 0x1
|
||||
- 3300000 0x0>;
|
||||
- gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-&comphy {
|
||||
- max-lanes = <3>;
|
||||
- phy0 {
|
||||
- phy-type = <PHY_TYPE_USB3_HOST0>;
|
||||
- phy-speed = <PHY_SPEED_5G>;
|
||||
- };
|
||||
-
|
||||
- phy1 {
|
||||
- phy-type = <PHY_TYPE_PEX0>;
|
||||
- phy-speed = <PHY_SPEED_2_5G>;
|
||||
- };
|
||||
-
|
||||
- phy2 {
|
||||
- phy-type = <PHY_TYPE_SATA0>;
|
||||
- phy-speed = <PHY_SPEED_5G>;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-ð0 {
|
||||
- status = "okay";
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
|
||||
- phy-mode = "rgmii";
|
||||
- phy_addr = <0x1>;
|
||||
- fixed-link {
|
||||
- speed = <1000>;
|
||||
- full-duplex;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-&i2c0 {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&i2c1_pins>;
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-/* CON3 */
|
||||
-&sata {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&sdhci0 {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&sdio_pins>;
|
||||
- bus-width = <4>;
|
||||
- cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
|
||||
- vqmmc-supply = <&vcc_sd_reg0>;
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&spi0 {
|
||||
- status = "okay";
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&spi_quad_pins>;
|
||||
-
|
||||
- spi-flash@0 {
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <1>;
|
||||
- compatible = "st,m25p128", "jedec,spi-nor";
|
||||
- reg = <0>; /* Chip select 0 */
|
||||
- spi-max-frequency = <50000000>;
|
||||
- m25p,fast-read;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
-/* Exported on the micro USB connector CON32 through an FTDI */
|
||||
-&uart0 {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&uart1_pins>;
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-/* CON29 */
|
||||
-&usb2 {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-/* CON31 */
|
||||
-&usb3 {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&pcie0 {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&pcie_pins>;
|
||||
- reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
|
||||
- status = "okay";
|
||||
};
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/armada-3720-espressobin.dtsi
|
||||
@@ -0,0 +1,167 @@
|
||||
+/*
|
||||
+ * Device Tree file for Marvell Armada 3720 community board
|
||||
+ * (ESPRESSOBin)
|
||||
+ * Copyright (C) 2016 Marvell
|
||||
+ *
|
||||
+ * Gregory CLEMENT <gregory.clement@free-electrons.com>
|
||||
+ * Konstantin Porotchkin <kostap@marvell.com>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "armada-372x.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = ð0;
|
||||
+ i2c0 = &i2c0;
|
||||
+ spi0 = &spi0;
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
|
||||
+ };
|
||||
+
|
||||
+ vcc_sd_reg0: regulator@0 {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "vcc_sd0";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-type = "voltage";
|
||||
+ states = <1800000 0x1
|
||||
+ 3300000 0x0>;
|
||||
+ gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&comphy {
|
||||
+ max-lanes = <3>;
|
||||
+ phy0 {
|
||||
+ phy-type = <PHY_TYPE_USB3_HOST0>;
|
||||
+ phy-speed = <PHY_SPEED_5G>;
|
||||
+ };
|
||||
+
|
||||
+ phy1 {
|
||||
+ phy-type = <PHY_TYPE_PEX0>;
|
||||
+ phy-speed = <PHY_SPEED_2_5G>;
|
||||
+ };
|
||||
+
|
||||
+ phy2 {
|
||||
+ phy-type = <PHY_TYPE_SATA0>;
|
||||
+ phy-speed = <PHY_SPEED_5G>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+ð0 {
|
||||
+ status = "okay";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy_addr = <0x1>;
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c1_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* CON3 */
|
||||
+&sata {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdio_pins>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
|
||||
+ vqmmc-supply = <&vcc_sd_reg0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi_quad_pins>;
|
||||
+
|
||||
+ spi-flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "st,m25p128", "jedec,spi-nor";
|
||||
+ reg = <0>; /* Chip select 0 */
|
||||
+ spi-max-frequency = <50000000>;
|
||||
+ m25p,fast-read;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* Exported on the micro USB connector CON32 through an FTDI */
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* CON29 */
|
||||
+&usb2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* CON31 */
|
||||
+&usb3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pcie0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pcie_pins>;
|
||||
+ reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
|
||||
+ status = "okay";
|
||||
+};
|
@ -0,0 +1,89 @@
|
||||
From 83908b6e2e5a7d7b0f4d040ffb4bf3ce6807b8fe Mon Sep 17 00:00:00 2001
|
||||
From: Andre Heider <a.heider@gmail.com>
|
||||
Date: Fri, 4 Sep 2020 15:44:41 +0200
|
||||
Subject: [PATCH] arm64: dts: a3720: add support for boards with populated emmc
|
||||
|
||||
Import armada-3720-espressobin-emmc.dts from Linux, but use sdhc1 for
|
||||
emmc, since sdhc0 is used for the sd card.
|
||||
|
||||
Signed-off-by: Andre Heider <a.heider@gmail.com>
|
||||
---
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/armada-3720-espressobin-emmc.dts | 44 +++++++++++++++++++
|
||||
doc/README.marvell | 7 ++-
|
||||
3 files changed, 50 insertions(+), 2 deletions(-)
|
||||
create mode 100644 arch/arm/dts/armada-3720-espressobin-emmc.dts
|
||||
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -202,6 +202,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harm
|
||||
dtb-$(CONFIG_ARCH_MVEBU) += \
|
||||
armada-3720-db.dtb \
|
||||
armada-3720-espressobin.dtb \
|
||||
+ armada-3720-espressobin-emmc.dtb \
|
||||
armada-3720-turris-mox.dtb \
|
||||
armada-3720-uDPU.dtb \
|
||||
armada-375-db.dtb \
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/armada-3720-espressobin-emmc.dts
|
||||
@@ -0,0 +1,44 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Device Tree file for Globalscale Marvell ESPRESSOBin Board with eMMC
|
||||
+ * Copyright (C) 2018 Marvell
|
||||
+ *
|
||||
+ * Romain Perier <romain.perier@free-electrons.com>
|
||||
+ * Konstantin Porotchkin <kostap@marvell.com>
|
||||
+ *
|
||||
+ */
|
||||
+/*
|
||||
+ * Schematic available at http://espressobin.net/wp-content/uploads/2017/08/ESPRESSObin_V5_Schematics.pdf
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "armada-3720-espressobin.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Globalscale Marvell ESPRESSOBin Board (eMMC)";
|
||||
+ compatible = "globalscale,espressobin-emmc", "globalscale,espressobin",
|
||||
+ "marvell,armada3720", "marvell,armada3710";
|
||||
+};
|
||||
+
|
||||
+/* U11 */
|
||||
+&sdhci1 {
|
||||
+ non-removable;
|
||||
+ bus-width = <8>;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ mmc-hs400-1_8v;
|
||||
+ marvell,xenon-emmc;
|
||||
+ marvell,xenon-tun-count = <9>;
|
||||
+ marvell,pad-type = "fixed-1-8v";
|
||||
+
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ mmccard: mmccard@0 {
|
||||
+ compatible = "mmc-card";
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+};
|
||||
--- a/doc/README.marvell
|
||||
+++ b/doc/README.marvell
|
||||
@@ -43,8 +43,11 @@ Build Procedure
|
||||
In order to prevent this, the required device-tree MUST be set during compilation.
|
||||
All device-tree files are located in ./arch/arm/dts/ folder.
|
||||
|
||||
- For other DB boards (MacchiatoBin, EspressoBin and 3700 DB board) compile u-boot with
|
||||
- just default device-tree from defconfig using:
|
||||
+ For the EspressoBin board with populated eMMC device use
|
||||
+ # make DEVICE_TREE=armada-3720-espressobin-emmc
|
||||
+
|
||||
+ For other DB boards (MacchiatoBin, EspressoBin without soldered eMMC and 3700 DB board)
|
||||
+ compile u-boot with just default device-tree from defconfig using:
|
||||
|
||||
# make
|
||||
|
@ -0,0 +1,100 @@
|
||||
From d59406482c1847959305a986376b35e57da28e69 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Heider <a.heider@gmail.com>
|
||||
Date: Sat, 5 Sep 2020 12:45:59 +0200
|
||||
Subject: [PATCH] arm: mvebu: Espressobin: Set environment variable fdtfile
|
||||
|
||||
Required for the generic distro mechanism.
|
||||
|
||||
Linux ships with 4 variants:
|
||||
marvell/armada-3720-espressobin-v7-emmc.dtb
|
||||
marvell/armada-3720-espressobin-v7.dtb
|
||||
marvell/armada-3720-espressobin-emmc.dtb
|
||||
marvell/armada-3720-espressobin.dtb
|
||||
|
||||
Use available information to determine the appropriate filename.
|
||||
|
||||
Tested on a v5 board without eMMC.
|
||||
|
||||
Signed-off-by: Andre Heider <a.heider@gmail.com>
|
||||
---
|
||||
board/Marvell/mvebu_armada-37xx/board.c | 47 +++++++++++++++++++++
|
||||
configs/mvebu_espressobin-88f3720_defconfig | 1 +
|
||||
2 files changed, 48 insertions(+)
|
||||
|
||||
--- a/board/Marvell/mvebu_armada-37xx/board.c
|
||||
+++ b/board/Marvell/mvebu_armada-37xx/board.c
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
+#include <env.h>
|
||||
#include <i2c.h>
|
||||
#include <init.h>
|
||||
#include <phy.h>
|
||||
@@ -50,6 +51,22 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#define MVEBU_G2_SMI_PHY_CMD_REG (24)
|
||||
#define MVEBU_G2_SMI_PHY_DATA_REG (25)
|
||||
|
||||
+/*
|
||||
+ * Memory Controller Registers
|
||||
+ *
|
||||
+ * Assembled based on public information:
|
||||
+ * https://gitlab.nic.cz/turris/mox-boot-builder/-/blob/master/wtmi/main.c#L332-336
|
||||
+ * https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/blob/mv_ddr-armada-18.12/drivers/mv_ddr_mc6.h#L309-L332
|
||||
+ *
|
||||
+ * And checked against the written register values for the various topologies:
|
||||
+ * https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/blob/mv_ddr-armada-atf-mainline/a3700/mv_ddr_tim.h
|
||||
+ */
|
||||
+#define A3700_CH0_MC_CTRL2_REG MVEBU_REGISTER(0x002c4)
|
||||
+#define A3700_MC_CTRL2_SDRAM_TYPE_MASK 0xf
|
||||
+#define A3700_MC_CTRL2_SDRAM_TYPE_OFFS 4
|
||||
+#define A3700_MC_CTRL2_SDRAM_TYPE_DDR3 2
|
||||
+#define A3700_MC_CTRL2_SDRAM_TYPE_DDR4 3
|
||||
+
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
return 0;
|
||||
@@ -63,6 +80,36 @@ int board_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_BOARD_LATE_INIT
|
||||
+int board_late_init(void)
|
||||
+{
|
||||
+ bool ddr4, emmc;
|
||||
+
|
||||
+ if (env_get("fdtfile"))
|
||||
+ return 0;
|
||||
+
|
||||
+ if (!of_machine_is_compatible("globalscale,espressobin"))
|
||||
+ return 0;
|
||||
+
|
||||
+ /* If the memory controller has been configured for DDR4, we're running on v7 */
|
||||
+ ddr4 = ((readl(A3700_CH0_MC_CTRL2_REG) >> A3700_MC_CTRL2_SDRAM_TYPE_OFFS)
|
||||
+ & A3700_MC_CTRL2_SDRAM_TYPE_MASK) == A3700_MC_CTRL2_SDRAM_TYPE_DDR4;
|
||||
+
|
||||
+ emmc = of_machine_is_compatible("globalscale,espressobin-emmc");
|
||||
+
|
||||
+ if (ddr4 && emmc)
|
||||
+ env_set("fdtfile", "marvell/armada-3720-espressobin-v7-emmc.dtb");
|
||||
+ else if (ddr4)
|
||||
+ env_set("fdtfile", "marvell/armada-3720-espressobin-v7.dtb");
|
||||
+ else if (emmc)
|
||||
+ env_set("fdtfile", "marvell/armada-3720-espressobin-emmc.dtb");
|
||||
+ else
|
||||
+ env_set("fdtfile", "marvell/armada-3720-espressobin.dtb");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* Board specific AHCI / SATA enable code */
|
||||
int board_ahci_enable(void)
|
||||
{
|
||||
--- a/configs/mvebu_espressobin-88f3720_defconfig
|
||||
+++ b/configs/mvebu_espressobin-88f3720_defconfig
|
||||
@@ -84,3 +84,4 @@ CONFIG_USB_ETHER_RTL8152=y
|
||||
CONFIG_USB_ETHER_SMSC95XX=y
|
||||
CONFIG_SHA1=y
|
||||
CONFIG_SHA256=y
|
||||
+CONFIG_BOARD_LATE_INIT=y
|
@ -3,10 +3,10 @@ needed dependencies are added too.
|
||||
|
||||
--- a/tools/Makefile
|
||||
+++ b/tools/Makefile
|
||||
@@ -145,7 +145,7 @@ endif
|
||||
# MXSImage needs LibSSL
|
||||
ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_ARMADA_38X)$(CONFIG_ARMADA_39X)$(CONFIG_FIT_SIGNATURE),)
|
||||
HOSTLOADLIBES_mkimage += \
|
||||
@@ -158,7 +158,7 @@ ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CON
|
||||
HOSTCFLAGS_kwbimage.o += \
|
||||
$(shell pkg-config --cflags libssl libcrypto 2> /dev/null || echo "")
|
||||
HOSTLDLIBS_mkimage += \
|
||||
- $(shell pkg-config --libs libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
|
||||
+ $(shell pkg-config --libs --static libssl libcrypto 2> /dev/null || echo "-lssl -lpthread -lcrypto")
|
||||
|
||||
|
@ -1,43 +0,0 @@
|
||||
--- a/arch/arm/dts/armada-3720-uDPU.dts
|
||||
+++ b/arch/arm/dts/armada-3720-uDPU.dts
|
||||
@@ -109,11 +109,11 @@
|
||||
&comphy {
|
||||
phy0 {
|
||||
phy-type = <PHY_TYPE_SGMII1>;
|
||||
- phy-speed = <PHY_SPEED_1_25G>;
|
||||
+ phy-speed = <PHY_SPEED_3_125G>;
|
||||
};
|
||||
phy1 {
|
||||
phy-type = <PHY_TYPE_SGMII0>;
|
||||
- phy-speed = <PHY_SPEED_1_25G>;
|
||||
+ phy-speed = <PHY_SPEED_3_125G>;
|
||||
};
|
||||
|
||||
phy2 {
|
||||
@@ -125,22 +125,16 @@
|
||||
ð0 {
|
||||
pinctrl-0 = <&pcie_pins>;
|
||||
status = "okay";
|
||||
- phy-mode = "sgmii";
|
||||
+ phy-mode = "sgmii-2500";
|
||||
+ managed = "in-band-status";
|
||||
phy = <ðphy0>;
|
||||
- fixed-link {
|
||||
- speed = <1000>;
|
||||
- full-duplex;
|
||||
- };
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
- phy-mode = "sgmii";
|
||||
+ phy-mode = "sgmii-2500";
|
||||
+ managed = "in-band-status";
|
||||
phy = <ðphy1>;
|
||||
- fixed-link {
|
||||
- speed = <1000>;
|
||||
- full-duplex;
|
||||
- };
|
||||
};
|
||||
|
||||
&i2c0 {
|
@ -436,7 +436,7 @@ define KernelPackage/fs-nfs-v4
|
||||
endef
|
||||
|
||||
define KernelPackage/fs-nfs-v4/description
|
||||
Kernel module for NFS v4 support
|
||||
Kernel module for NFS v4 client support
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,fs-nfs-v4))
|
||||
|
@ -409,7 +409,9 @@ $(eval $(call KernelPackage,hwmon-pwmfan))
|
||||
|
||||
define KernelPackage/hwmon-sch5627
|
||||
TITLE:=SMSC SCH5627 monitoring support
|
||||
KCONFIG:=CONFIG_SENSORS_SCH5627
|
||||
KCONFIG:= \
|
||||
CONFIG_SENSORS_SCH5627 \
|
||||
CONFIG_WATCHDOG_CORE=y
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/drivers/hwmon/sch5627.ko \
|
||||
$(LINUX_DIR)/drivers/hwmon/sch56xx-common.ko
|
||||
|
@ -24,6 +24,20 @@ $(eval $(call KernelPackage,leds-gpio))
|
||||
|
||||
LED_TRIGGER_DIR=$(LINUX_DIR)/drivers/leds/trigger
|
||||
|
||||
define KernelPackage/ledtrig-activity
|
||||
SUBMENU:=$(LEDS_MENU)
|
||||
TITLE:=LED Activity Trigger
|
||||
KCONFIG:=CONFIG_LEDS_TRIGGER_ACTIVITY
|
||||
FILES:=$(LED_TRIGGER_DIR)/ledtrig-activity.ko
|
||||
AUTOLOAD:=$(call AutoLoad,50,ledtrig-activity)
|
||||
endef
|
||||
|
||||
define KernelPackage/ledtrig-activity/description
|
||||
Kernel module that allows LEDs to blink based on system load
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ledtrig-activity))
|
||||
|
||||
define KernelPackage/ledtrig-heartbeat
|
||||
SUBMENU:=$(LEDS_MENU)
|
||||
TITLE:=LED Heartbeat Trigger
|
||||
@ -145,3 +159,19 @@ define KernelPackage/leds-pca963x/description
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,leds-pca963x))
|
||||
|
||||
|
||||
define KernelPackage/leds-pwm
|
||||
SUBMENU:=$(LEDS_MENU)
|
||||
TITLE:=PWM driven LED Support
|
||||
KCONFIG:=CONFIG_LEDS_PWM
|
||||
DEPENDS:= @PWM_SUPPORT
|
||||
FILES:=$(LINUX_DIR)/drivers/leds/leds-pwm.ko
|
||||
AUTOLOAD:=$(call AutoLoad,60,leds-pwm,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/leds-pwm/description
|
||||
This option enables support for pwm driven LEDs
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,leds-pwm))
|
||||
|
@ -318,3 +318,11 @@ define KernelPackage/owl-loader/description
|
||||
|
||||
This is necessary for devices like the Cisco Meraki Z1.
|
||||
endef
|
||||
|
||||
define KernelPackage/ar5523
|
||||
$(call KernelPackage/mac80211/Default)
|
||||
TITLE:=Driver for Atheros AR5523 USB sticks
|
||||
DEPENDS:=@USB_SUPPORT +kmod-mac80211 +kmod-ath +kmod-usb-core +kmod-input-core
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ar5523/ar5523.ko
|
||||
AUTOLOAD:=$(call AutoProbe,ar5523)
|
||||
endef
|
||||
|
@ -121,8 +121,8 @@ mac80211_hostapd_setup_base() {
|
||||
ieee80211n=1
|
||||
ht_capab=
|
||||
case "$htmode" in
|
||||
VHT20|HT20) ;;
|
||||
HT40*|VHT40|VHT80|VHT160)
|
||||
VHT20|HT20|HE20) ;;
|
||||
HT40*|VHT40|VHT80|VHT160|HE40|HE80|HE160)
|
||||
case "$hwmode" in
|
||||
a)
|
||||
case "$(( ($channel / 4) % 2 ))" in
|
||||
@ -192,19 +192,21 @@ mac80211_hostapd_setup_base() {
|
||||
|
||||
# 802.11ac
|
||||
enable_ac=0
|
||||
vht_oper_chwidth=0
|
||||
vht_center_seg0=
|
||||
|
||||
idx="$channel"
|
||||
case "$htmode" in
|
||||
VHT20) enable_ac=1;;
|
||||
VHT40)
|
||||
VHT20|HE20) enable_ac=1;;
|
||||
VHT40|HE40)
|
||||
case "$(( ($channel / 4) % 2 ))" in
|
||||
1) idx=$(($channel + 2));;
|
||||
0) idx=$(($channel - 2));;
|
||||
esac
|
||||
enable_ac=1
|
||||
append base_cfg "vht_oper_chwidth=0" "$N"
|
||||
append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N"
|
||||
vht_center_seg0=$idx
|
||||
;;
|
||||
VHT80)
|
||||
VHT80|HE80)
|
||||
case "$(( ($channel / 4) % 4 ))" in
|
||||
1) idx=$(($channel + 6));;
|
||||
2) idx=$(($channel + 2));;
|
||||
@ -212,19 +214,20 @@ mac80211_hostapd_setup_base() {
|
||||
0) idx=$(($channel - 6));;
|
||||
esac
|
||||
enable_ac=1
|
||||
append base_cfg "vht_oper_chwidth=1" "$N"
|
||||
append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N"
|
||||
vht_oper_chwidth=1
|
||||
vht_center_seg0=$idx
|
||||
;;
|
||||
VHT160)
|
||||
VHT160|HE160)
|
||||
case "$channel" in
|
||||
36|40|44|48|52|56|60|64) idx=50;;
|
||||
100|104|108|112|116|120|124|128) idx=114;;
|
||||
esac
|
||||
enable_ac=1
|
||||
append base_cfg "vht_oper_chwidth=2" "$N"
|
||||
append base_cfg "vht_oper_centr_freq_seg0_idx=$idx" "$N"
|
||||
vht_oper_chwidth=2
|
||||
vht_center_seg0=$idx
|
||||
;;
|
||||
esac
|
||||
[ "$hwmode" = "a" ] || enable_ac=0
|
||||
|
||||
if [ "$enable_ac" != "0" -o "$vendor_vht" = "1" ]; then
|
||||
json_get_vars \
|
||||
@ -253,6 +256,9 @@ mac80211_hostapd_setup_base() {
|
||||
vht_cap="$(($vht_cap | $cap))"
|
||||
done
|
||||
|
||||
append base_cfg "vht_oper_chwidth=$vht_oper_chwidth" "$N"
|
||||
append base_cfg "vht_oper_centr_freq_seg0_idx=$vht_center_seg0" "$N"
|
||||
|
||||
cap_rx_stbc=$((($vht_cap >> 8) & 7))
|
||||
[ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
|
||||
vht_cap="$(( ($vht_cap & ~(0x700)) | ($cap_rx_stbc << 8) ))"
|
||||
@ -323,6 +329,25 @@ mac80211_hostapd_setup_base() {
|
||||
[ -n "$vht_capab" ] && append base_cfg "vht_capab=$vht_capab" "$N"
|
||||
fi
|
||||
|
||||
# 802.11ax
|
||||
enable_ax=0
|
||||
case "$htmode" in
|
||||
HE*) enable_ax=1 ;;
|
||||
esac
|
||||
|
||||
if [ "$enable_ax" != "0" ]; then
|
||||
append base_cfg "ieee80211ax=1" "$N"
|
||||
[ "$hwmode" = "a" ] && {
|
||||
append base_cfg "he_oper_chwidth=$vht_oper_chwidth" "$N"
|
||||
append base_cfg "he_oper_centr_freq_seg0_idx=$vht_center_seg0" "$N"
|
||||
}
|
||||
append base_cfg "he_default_pe_duration=4" "$N"
|
||||
append base_cfg "he_rts_threshold=1023" "$N"
|
||||
append base_cfg "he_su_beamformer=1" "$N"
|
||||
append base_cfg "he_su_beamformee=1" "$N"
|
||||
append base_cfg "he_mu_beamformer=1023" "$N"
|
||||
fi
|
||||
|
||||
hostapd_prepare_device_config "$hostapd_conf_file" nl80211
|
||||
cat >> "$hostapd_conf_file" <<EOF
|
||||
${channel:+channel=$channel}
|
||||
|
@ -82,9 +82,9 @@ detect_mac80211() {
|
||||
|
||||
iw phy "$dev" info | grep -q 'Capabilities:' && htmode=HT20
|
||||
|
||||
iw phy "$dev" info | grep -q '5180 MHz' && {
|
||||
iw phy "$dev" info | grep -q '\* 5... MHz \[' && {
|
||||
mode_band="a"
|
||||
channel="36"
|
||||
channel=$(iw phy "$dev" info | grep '\* 5... MHz \[' | grep '(disabled)' -v -m 1 | sed 's/[^[]*\[\|\].*//g')
|
||||
iw phy "$dev" info | grep -q 'VHT Capabilities' && htmode="VHT80"
|
||||
}
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -4136,6 +4136,12 @@ out:
|
||||
netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
|
||||
struct net_device *dev)
|
||||
{
|
||||
+#if defined(sk_pacing_shift) || LINUX_VERSION_IS_GEQ(4,15,0)
|
||||
+ if (skb->sk && sk_fullsock(skb->sk) &&
|
||||
+ skb->sk->sk_pacing_shift != 6)
|
||||
+ skb->sk->sk_pacing_shift = 6;
|
||||
+#endif
|
||||
+
|
||||
if (unlikely(ieee80211_multicast_to_unicast(skb, dev))) {
|
||||
struct sk_buff_head queue;
|
||||
|
@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
unsigned long last_ack;
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -749,12 +749,16 @@ static void ieee80211_report_used_skb(st
|
||||
@@ -757,12 +757,16 @@ static void ieee80211_report_used_skb(st
|
||||
* - current throughput (higher value for higher tpt)?
|
||||
*/
|
||||
#define STA_LOST_PKT_THRESHOLD 50
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* If driver relies on its own algorithm for station kickout, skip
|
||||
* mac80211 packet loss mechanism.
|
||||
*/
|
||||
@@ -767,21 +771,20 @@ static void ieee80211_lost_packet(struct
|
||||
@@ -775,21 +779,20 @@ static void ieee80211_lost_packet(struct
|
||||
return;
|
||||
|
||||
sta->status_stats.lost_packets++;
|
||||
@ -81,7 +81,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
return;
|
||||
|
||||
cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr,
|
||||
@@ -1034,9 +1037,7 @@ static void __ieee80211_tx_status(struct
|
||||
@@ -1042,9 +1045,7 @@ static void __ieee80211_tx_status(struct
|
||||
sta->status_stats.lost_packets = 0;
|
||||
|
||||
/* Track when last TDLS packet was ACKed */
|
||||
@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
} else if (noack_success) {
|
||||
/* nothing to do here, do not account as lost */
|
||||
} else {
|
||||
@@ -1169,9 +1170,8 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
@@ -1177,9 +1178,8 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
if (sta->status_stats.lost_packets)
|
||||
sta->status_stats.lost_packets = 0;
|
||||
|
||||
@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
} else if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
|
||||
return;
|
||||
} else if (noack_success) {
|
||||
@@ -1260,8 +1260,7 @@ void ieee80211_tx_status_8023(struct iee
|
||||
@@ -1268,8 +1268,7 @@ void ieee80211_tx_status_8023(struct iee
|
||||
if (sta->status_stats.lost_packets)
|
||||
sta->status_stats.lost_packets = 0;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Mon, 17 Aug 2020 13:55:56 +0200
|
||||
Subject: [PATCH] mac80211: add missing queue/hash initialization to 802.3
|
||||
xmit
|
||||
Subject: [PATCH] mac80211: add missing queue/hash initialization to
|
||||
802.3 xmit
|
||||
|
||||
Fixes AQL for encap-offloaded tx
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -4206,6 +4206,12 @@ static void ieee80211_8023_xmit(struct i
|
||||
@@ -4200,6 +4200,12 @@ static void ieee80211_8023_xmit(struct i
|
||||
if (is_zero_ether_addr(ra))
|
||||
goto out_free;
|
||||
|
@ -1,7 +1,7 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Mon, 17 Aug 2020 21:11:25 +0200
|
||||
Subject: [PATCH] mac80211: check and refresh aggregation session in encap
|
||||
offload tx
|
||||
Subject: [PATCH] mac80211: check and refresh aggregation session in
|
||||
encap offload tx
|
||||
|
||||
Update the last_tx timestamp to avoid tearing down the aggregation session
|
||||
early. Fall back to the slow path if the session setup is still running
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -4195,6 +4195,8 @@ static void ieee80211_8023_xmit(struct i
|
||||
@@ -4189,6 +4189,8 @@ static void ieee80211_8023_xmit(struct i
|
||||
bool authorized = false;
|
||||
bool multicast;
|
||||
unsigned char *ra = ehdr->h_dest;
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (IS_ERR(sta) || (sta && !sta->uploaded))
|
||||
sta = NULL;
|
||||
@@ -4232,6 +4234,22 @@ static void ieee80211_8023_xmit(struct i
|
||||
@@ -4226,6 +4228,22 @@ static void ieee80211_8023_xmit(struct i
|
||||
|
||||
memset(info, 0, sizeof(*info));
|
||||
|
@ -10,31 +10,9 @@ using an AP_VLAN.
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/iface.c
|
||||
+++ b/net/mac80211/iface.c
|
||||
@@ -378,7 +378,8 @@ static bool ieee80211_set_sdata_offload_
|
||||
if (key->conf.cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
|
||||
key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
|
||||
key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256 ||
|
||||
- key->conf.cipher == WLAN_CIPHER_SUITE_BIP_CMAC_256)
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_CMAC_256 ||
|
||||
+ !(key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE))
|
||||
continue;
|
||||
if (key->conf.cipher == WLAN_CIPHER_SUITE_TKIP ||
|
||||
!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
|
||||
@@ -1448,7 +1449,8 @@ static void ieee80211_set_vif_encap_ops(
|
||||
if (key->conf.cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
|
||||
key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
|
||||
key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256 ||
|
||||
- key->conf.cipher == WLAN_CIPHER_SUITE_BIP_CMAC_256)
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_CMAC_256 ||
|
||||
+ !(key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE))
|
||||
continue;
|
||||
if (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
|
||||
enabled = false;
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -4190,88 +4190,47 @@ static void ieee80211_8023_xmit(struct i
|
||||
@@ -4184,88 +4184,47 @@ static void ieee80211_8023_xmit(struct i
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
@ -137,15 +115,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
|
||||
sdata = container_of(sdata->bss,
|
||||
@@ -4292,6 +4251,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
@@ -4286,6 +4245,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
struct net_device *dev)
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
||||
+ struct ethhdr *ehdr = (struct ethhdr *)skb->data;
|
||||
struct sta_info *sta;
|
||||
|
||||
if (unlikely(skb->len < ETH_HLEN)) {
|
||||
@@ -4303,6 +4263,10 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
if (WARN_ON(!sdata->hw_80211_encap)) {
|
||||
@@ -4302,6 +4262,10 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
|
||||
if (ieee80211_lookup_ra_sta(sdata, skb, &sta))
|
||||
kfree_skb(skb);
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -4191,6 +4191,7 @@ static void ieee80211_8023_xmit(struct i
|
||||
@@ -4185,6 +4185,7 @@ static void ieee80211_8023_xmit(struct i
|
||||
{
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
@ -18,8 +18,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
struct tid_ampdu_tx *tid_tx;
|
||||
u8 tid;
|
||||
|
||||
@@ -4239,6 +4240,10 @@ static void ieee80211_8023_xmit(struct i
|
||||
info->flags |= IEEE80211_TX_CTL_HW_80211_ENCAP;
|
||||
@@ -4233,6 +4234,10 @@ static void ieee80211_8023_xmit(struct i
|
||||
info->control.flags |= IEEE80211_TX_CTRL_HW_80211_ENCAP;
|
||||
info->control.vif = &sdata->vif;
|
||||
|
||||
+ key = rcu_dereference(sta->ptk[sta->ptk_idx]);
|
@ -198,34 +198,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
};
|
||||
|
||||
/**
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -504,6 +504,7 @@ static int ieee80211_del_key(struct wiph
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
struct sta_info *sta;
|
||||
struct ieee80211_key *key = NULL;
|
||||
+ bool recalc_offload = false;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&local->sta_mtx);
|
||||
@@ -528,6 +529,7 @@ static int ieee80211_del_key(struct wiph
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
+ recalc_offload = key->conf.cipher == WLAN_CIPHER_SUITE_TKIP;
|
||||
ieee80211_key_free(key, sdata->vif.type == NL80211_IFTYPE_STATION);
|
||||
|
||||
ret = 0;
|
||||
@@ -535,6 +537,9 @@ static int ieee80211_del_key(struct wiph
|
||||
mutex_unlock(&local->key_mtx);
|
||||
mutex_unlock(&local->sta_mtx);
|
||||
|
||||
+ if (recalc_offload)
|
||||
+ ieee80211_recalc_offload(local);
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
--- a/net/mac80211/debugfs.c
|
||||
+++ b/net/mac80211/debugfs.c
|
||||
@@ -408,6 +408,7 @@ static const char *hw_flag_names[] = {
|
||||
@ -287,16 +259,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
@@ -348,6 +349,99 @@ static int ieee80211_check_queues(struct
|
||||
@@ -348,6 +349,85 @@ static int ieee80211_check_queues(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static bool ieee80211_iftype_supports_encap_offload(enum nl80211_iftype iftype)
|
||||
+{
|
||||
+ switch (iftype) {
|
||||
+ /* P2P GO and client are mapped to AP/STATION types */
|
||||
+ case NL80211_IFTYPE_AP:
|
||||
+ case NL80211_IFTYPE_P2P_GO:
|
||||
+ case NL80211_IFTYPE_P2P_CLIENT:
|
||||
+ case NL80211_IFTYPE_STATION:
|
||||
+ return true;
|
||||
+ default:
|
||||
@ -307,7 +278,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+static bool ieee80211_set_sdata_offload_flags(struct ieee80211_sub_if_data *sdata)
|
||||
+{
|
||||
+ struct ieee80211_local *local = sdata->local;
|
||||
+ struct ieee80211_key *key;
|
||||
+ u32 flags;
|
||||
+
|
||||
+ flags = sdata->vif.offload_flags;
|
||||
@ -315,18 +285,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ if (ieee80211_hw_check(&local->hw, SUPPORTS_TX_ENCAP_OFFLOAD) &&
|
||||
+ ieee80211_iftype_supports_encap_offload(sdata->vif.type)) {
|
||||
+ flags |= IEEE80211_OFFLOAD_ENCAP_ENABLED;
|
||||
+ mutex_lock(&local->key_mtx);
|
||||
+ list_for_each_entry(key, &sdata->key_list, list) {
|
||||
+ if (key->conf.cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256 ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_CMAC_256)
|
||||
+ continue;
|
||||
+ if (key->conf.cipher == WLAN_CIPHER_SUITE_TKIP ||
|
||||
+ !(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
|
||||
+ flags &= ~IEEE80211_OFFLOAD_ENCAP_ENABLED;
|
||||
+ }
|
||||
+ mutex_unlock(&local->key_mtx);
|
||||
+
|
||||
+ if (!ieee80211_hw_check(&local->hw, SUPPORTS_TX_FRAG) &&
|
||||
+ local->hw.wiphy->frag_threshold != (u32)-1)
|
||||
@ -387,7 +345,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void ieee80211_adjust_monitor_flags(struct ieee80211_sub_if_data *sdata,
|
||||
const int offset)
|
||||
{
|
||||
@@ -587,6 +681,7 @@ int ieee80211_do_open(struct wireless_de
|
||||
@@ -587,6 +667,7 @@ int ieee80211_do_open(struct wireless_de
|
||||
if (rtnl_dereference(sdata->bss->beacon)) {
|
||||
ieee80211_vif_vlan_copy_chanctx(sdata);
|
||||
netif_carrier_on(dev);
|
||||
@ -395,7 +353,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
} else {
|
||||
netif_carrier_off(dev);
|
||||
}
|
||||
@@ -616,6 +711,7 @@ int ieee80211_do_open(struct wireless_de
|
||||
@@ -616,6 +697,7 @@ int ieee80211_do_open(struct wireless_de
|
||||
|
||||
ieee80211_adjust_monitor_flags(sdata, 1);
|
||||
ieee80211_configure_filter(local);
|
||||
@ -403,7 +361,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
mutex_lock(&local->mtx);
|
||||
ieee80211_recalc_idle(local);
|
||||
mutex_unlock(&local->mtx);
|
||||
@@ -625,10 +721,13 @@ int ieee80211_do_open(struct wireless_de
|
||||
@@ -625,10 +707,13 @@ int ieee80211_do_open(struct wireless_de
|
||||
default:
|
||||
if (coming_up) {
|
||||
ieee80211_del_virtual_monitor(local);
|
||||
@ -417,7 +375,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
res = ieee80211_check_queues(sdata,
|
||||
ieee80211_vif_type_p2p(&sdata->vif));
|
||||
if (res)
|
||||
@@ -1286,61 +1385,6 @@ static const struct net_device_ops ieee8
|
||||
@@ -1286,61 +1371,6 @@ static const struct net_device_ops ieee8
|
||||
|
||||
};
|
||||
|
||||
@ -479,7 +437,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static void ieee80211_if_free(struct net_device *dev)
|
||||
{
|
||||
free_percpu(netdev_tstats(dev));
|
||||
@@ -1371,6 +1415,51 @@ static void ieee80211_if_setup_no_queue(
|
||||
@@ -1371,6 +1401,32 @@ static void ieee80211_if_setup_no_queue(
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -487,7 +445,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+{
|
||||
+ struct ieee80211_local *local = sdata->local;
|
||||
+ struct ieee80211_sub_if_data *bss = sdata;
|
||||
+ struct ieee80211_key *key;
|
||||
+ bool enabled;
|
||||
+
|
||||
+ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
|
||||
@ -506,24 +463,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ !(bss->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_4ADDR))
|
||||
+ enabled = false;
|
||||
+
|
||||
+ /*
|
||||
+ * Encapsulation offload cannot be used with software crypto, and a per-VLAN
|
||||
+ * key may have been set
|
||||
+ */
|
||||
+ if (enabled && sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
|
||||
+ mutex_lock(&local->key_mtx);
|
||||
+ list_for_each_entry(key, &sdata->key_list, list) {
|
||||
+ if (key->conf.cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256 ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_BIP_CMAC_256)
|
||||
+ continue;
|
||||
+ if (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
|
||||
+ enabled = false;
|
||||
+ }
|
||||
+ mutex_unlock(&local->key_mtx);
|
||||
+ }
|
||||
+
|
||||
+ sdata->dev->netdev_ops = enabled ? &ieee80211_dataif_8023_ops :
|
||||
+ &ieee80211_dataif_ops;
|
||||
+}
|
||||
@ -531,7 +470,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static void ieee80211_iface_work(struct work_struct *work)
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata =
|
||||
@@ -1553,7 +1642,6 @@ static void ieee80211_setup_sdata(struct
|
||||
@@ -1553,7 +1609,6 @@ static void ieee80211_setup_sdata(struct
|
||||
sdata->vif.bss_conf.txpower = INT_MIN; /* unset */
|
||||
|
||||
sdata->noack_map = 0;
|
||||
@ -539,7 +478,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* only monitor/p2p-device differ */
|
||||
if (sdata->dev) {
|
||||
@@ -1688,6 +1776,7 @@ static int ieee80211_runtime_change_ifty
|
||||
@@ -1688,6 +1743,7 @@ static int ieee80211_runtime_change_ifty
|
||||
|
||||
ieee80211_teardown_sdata(sdata);
|
||||
|
||||
@ -547,7 +486,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = drv_change_interface(local, sdata, internal_type, p2p);
|
||||
if (ret)
|
||||
type = ieee80211_vif_type_p2p(&sdata->vif);
|
||||
@@ -1700,6 +1789,7 @@ static int ieee80211_runtime_change_ifty
|
||||
@@ -1700,6 +1756,7 @@ static int ieee80211_runtime_change_ifty
|
||||
ieee80211_check_queues(sdata, type);
|
||||
|
||||
ieee80211_setup_sdata(sdata, type);
|
||||
@ -586,40 +525,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
case WLAN_CIPHER_SUITE_AES_CMAC:
|
||||
case WLAN_CIPHER_SUITE_BIP_CMAC_256:
|
||||
case WLAN_CIPHER_SUITE_BIP_GMAC_128:
|
||||
@@ -824,6 +809,7 @@ int ieee80211_key_link(struct ieee80211_
|
||||
*/
|
||||
bool delay_tailroom = sdata->vif.type == NL80211_IFTYPE_STATION;
|
||||
int ret = -EOPNOTSUPP;
|
||||
+ bool recalc_offload = false;
|
||||
|
||||
mutex_lock(&sdata->local->key_mtx);
|
||||
|
||||
@@ -864,11 +850,15 @@ int ieee80211_key_link(struct ieee80211_
|
||||
key->local = sdata->local;
|
||||
key->sdata = sdata;
|
||||
key->sta = sta;
|
||||
+ recalc_offload = !old_key && key->conf.cipher == WLAN_CIPHER_SUITE_TKIP;
|
||||
|
||||
increment_tailroom_need_count(sdata);
|
||||
|
||||
ret = ieee80211_key_replace(sdata, sta, pairwise, old_key, key);
|
||||
|
||||
+ if (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
|
||||
+ recalc_offload = true;
|
||||
+
|
||||
if (!ret) {
|
||||
ieee80211_debugfs_key_add(key);
|
||||
ieee80211_key_destroy(old_key, delay_tailroom);
|
||||
@@ -879,6 +869,9 @@ int ieee80211_key_link(struct ieee80211_
|
||||
out:
|
||||
mutex_unlock(&sdata->local->key_mtx);
|
||||
|
||||
+ if (recalc_offload)
|
||||
+ ieee80211_recalc_offload(sdata->local);
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
--- a/net/mac80211/trace.h
|
||||
+++ b/net/mac80211/trace.h
|
||||
@@ -2733,6 +2733,12 @@ TRACE_EVENT(drv_get_ftm_responder_stats,
|
||||
@ -637,15 +542,72 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#undef TRACE_INCLUDE_PATH
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -4270,11 +4270,6 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
||||
struct sta_info *sta;
|
||||
@@ -4181,11 +4181,10 @@ static bool ieee80211_tx_8023(struct iee
|
||||
|
||||
static void ieee80211_8023_xmit(struct ieee80211_sub_if_data *sdata,
|
||||
struct net_device *dev, struct sta_info *sta,
|
||||
- struct sk_buff *skb)
|
||||
+ struct ieee80211_key *key, struct sk_buff *skb)
|
||||
{
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
- struct ieee80211_key *key;
|
||||
struct tid_ampdu_tx *tid_tx;
|
||||
u8 tid;
|
||||
|
||||
@@ -4234,7 +4233,6 @@ static void ieee80211_8023_xmit(struct i
|
||||
info->control.flags |= IEEE80211_TX_CTRL_HW_80211_ENCAP;
|
||||
info->control.vif = &sdata->vif;
|
||||
|
||||
- key = rcu_dereference(sta->ptk[sta->ptk_idx]);
|
||||
if (key)
|
||||
info->control.hw_key = &key->conf;
|
||||
|
||||
@@ -4251,12 +4249,9 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
||||
struct ethhdr *ehdr = (struct ethhdr *)skb->data;
|
||||
+ struct ieee80211_key *key;
|
||||
struct sta_info *sta;
|
||||
-
|
||||
- if (WARN_ON(!sdata->hw_80211_encap)) {
|
||||
- kfree_skb(skb);
|
||||
- return NETDEV_TX_OK;
|
||||
- }
|
||||
-
|
||||
+ bool offload = true;
|
||||
|
||||
if (unlikely(skb->len < ETH_HLEN)) {
|
||||
kfree_skb(skb);
|
||||
return NETDEV_TX_OK;
|
||||
@@ -4265,15 +4260,26 @@ netdev_tx_t ieee80211_subif_start_xmit_8
|
||||
|
||||
rcu_read_lock();
|
||||
|
||||
- if (ieee80211_lookup_ra_sta(sdata, skb, &sta))
|
||||
+ if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) {
|
||||
kfree_skb(skb);
|
||||
- else if (unlikely(IS_ERR_OR_NULL(sta) || !sta->uploaded ||
|
||||
- !test_sta_flag(sta, WLAN_STA_AUTHORIZED) ||
|
||||
- sdata->control_port_protocol == ehdr->h_proto))
|
||||
- ieee80211_subif_start_xmit(skb, dev);
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ if (unlikely(IS_ERR_OR_NULL(sta) || !sta->uploaded ||
|
||||
+ !test_sta_flag(sta, WLAN_STA_AUTHORIZED) ||
|
||||
+ sdata->control_port_protocol == ehdr->h_proto))
|
||||
+ offload = false;
|
||||
+ else if ((key = rcu_dereference(sta->ptk[sta->ptk_idx])) &&
|
||||
+ (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) ||
|
||||
+ key->conf.cipher == WLAN_CIPHER_SUITE_TKIP))
|
||||
+ offload = false;
|
||||
+
|
||||
+ if (offload)
|
||||
+ ieee80211_8023_xmit(sdata, dev, sta, key, skb);
|
||||
else
|
||||
- ieee80211_8023_xmit(sdata, dev, sta, skb);
|
||||
+ ieee80211_subif_start_xmit(skb, dev);
|
||||
|
||||
+out:
|
||||
rcu_read_unlock();
|
||||
|
||||
return NETDEV_TX_OK;
|
@ -198,7 +198,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
goto encap_out;
|
||||
|
||||
if (info->control.flags & IEEE80211_TX_CTRL_FAST_XMIT) {
|
||||
@@ -4253,7 +4253,7 @@ static void ieee80211_8023_xmit(struct i
|
||||
@@ -4230,7 +4230,7 @@ static void ieee80211_8023_xmit(struct i
|
||||
sdata = container_of(sdata->bss,
|
||||
struct ieee80211_sub_if_data, u.ap);
|
||||
|
||||
@ -206,8 +206,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ info->flags |= IEEE80211_TX_CTL_HW_80211_ENCAP;
|
||||
info->control.vif = &sdata->vif;
|
||||
|
||||
ieee80211_tx_8023(sdata, skb, skb->len, sta, false);
|
||||
@@ -4357,7 +4357,7 @@ static bool ieee80211_tx_pending_skb(str
|
||||
if (key)
|
||||
@@ -4355,7 +4355,7 @@ static bool ieee80211_tx_pending_skb(str
|
||||
|
||||
sdata = vif_to_sdata(info->control.vif);
|
||||
|
||||
@ -216,7 +216,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
|
||||
if (unlikely(!chanctx_conf)) {
|
||||
dev_kfree_skb(skb);
|
||||
@@ -4365,7 +4365,7 @@ static bool ieee80211_tx_pending_skb(str
|
||||
@@ -4363,7 +4363,7 @@ static bool ieee80211_tx_pending_skb(str
|
||||
}
|
||||
info->band = chanctx_conf->def.chan->band;
|
||||
result = ieee80211_tx(sdata, NULL, skb, true, 0);
|
@ -1,7 +1,7 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Fri, 21 Aug 2020 05:49:07 +0200
|
||||
Subject: [PATCH] mac80211: extend ieee80211_tx_status_ext to support bulk
|
||||
free
|
||||
Subject: [PATCH] mac80211: extend ieee80211_tx_status_ext to support
|
||||
bulk free
|
||||
|
||||
Store processed skbs ready to be freed in a list so the driver bulk free them
|
||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -1698,6 +1698,7 @@ static int ieee80211_change_station(stru
|
||||
@@ -1693,6 +1693,7 @@ static int ieee80211_change_station(stru
|
||||
|
||||
rcu_assign_pointer(vlansdata->u.vlan.sta, sta);
|
||||
__ieee80211_check_fast_rx_iface(vlansdata);
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Thu, 27 Aug 2020 12:44:36 +0200
|
||||
Subject: [PATCH] mac80211: extend AQL aggregation estimation to HE and fix
|
||||
unit mismatch
|
||||
|
||||
The unit of the return value of ieee80211_get_rate_duration is nanoseconds, not
|
||||
milliseconds. Adjust the duration checks to account for that.
|
||||
For higher data rates, allow larger estimated aggregation sizes, and add some
|
||||
values for HE as well, which can use much larger aggregates.
|
||||
Since small packets with high data rates can now lead to duration values too
|
||||
small for info->tx_time_est, return a minimum of 4us.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/airtime.c
|
||||
+++ b/net/mac80211/airtime.c
|
||||
@@ -668,20 +668,26 @@ u32 ieee80211_calc_expected_tx_airtime(s
|
||||
* This will not be very accurate, but much better than simply
|
||||
* assuming un-aggregated tx in all cases.
|
||||
*/
|
||||
- if (duration > 400) /* <= VHT20 MCS2 1S */
|
||||
+ if (duration > 400 * 1024) /* <= VHT20 MCS2 1S */
|
||||
agg_shift = 1;
|
||||
- else if (duration > 250) /* <= VHT20 MCS3 1S or MCS1 2S */
|
||||
+ else if (duration > 250 * 1024) /* <= VHT20 MCS3 1S or MCS1 2S */
|
||||
agg_shift = 2;
|
||||
- else if (duration > 150) /* <= VHT20 MCS5 1S or MCS3 2S */
|
||||
+ else if (duration > 150 * 1024) /* <= VHT20 MCS5 1S or MCS2 2S */
|
||||
agg_shift = 3;
|
||||
- else
|
||||
+ else if (duration > 70 * 1024) /* <= VHT20 MCS5 2S */
|
||||
agg_shift = 4;
|
||||
+ else if (stat.encoding != RX_ENC_HE ||
|
||||
+ duration > 20 * 1024) /* <= HE40 MCS6 2S */
|
||||
+ agg_shift = 5;
|
||||
+ else
|
||||
+ agg_shift = 6;
|
||||
|
||||
duration *= len;
|
||||
duration /= AVG_PKT_SIZE;
|
||||
duration /= 1024;
|
||||
+ duration += (overhead >> agg_shift);
|
||||
|
||||
- return duration + (overhead >> agg_shift);
|
||||
+ return max_t(u32, duration, 4);
|
||||
}
|
||||
|
||||
if (!conf)
|
@ -0,0 +1,23 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Thu, 27 Aug 2020 12:47:48 +0200
|
||||
Subject: [PATCH] mac80211: add AQL support for VHT160 tx rates
|
||||
|
||||
When converting from struct ieee80211_tx_rate to ieee80211_rx_status,
|
||||
there was one check missing to fill in the bandwidth for 160 MHz
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/airtime.c
|
||||
+++ b/net/mac80211/airtime.c
|
||||
@@ -560,7 +560,9 @@ static int ieee80211_fill_rx_status(stru
|
||||
if (rate->idx < 0 || !rate->count)
|
||||
return -1;
|
||||
|
||||
- if (rate->flags & IEEE80211_TX_RC_80_MHZ_WIDTH)
|
||||
+ if (rate->flags & IEEE80211_TX_RC_160_MHZ_WIDTH)
|
||||
+ stat->bw = RATE_INFO_BW_160;
|
||||
+ else if (rate->flags & IEEE80211_TX_RC_80_MHZ_WIDTH)
|
||||
stat->bw = RATE_INFO_BW_80;
|
||||
else if (rate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
|
||||
stat->bw = RATE_INFO_BW_40;
|
@ -0,0 +1,26 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Wed, 16 Sep 2020 18:43:46 +0200
|
||||
Subject: [PATCH] mac80211: allow bigger A-MSDU sizes in VHT, even if HT is
|
||||
limited
|
||||
|
||||
Some APs (e.g. Asus RT-AC88U) have been observed to report an HT MSDU size
|
||||
limit of 3839 and a VHT limit of 7991. These APs can handle bigger frames
|
||||
than 3839 bytes just fine, so we should remove the VHT limit based on the
|
||||
HT capabilities. This improves tx throughput.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/vht.c
|
||||
+++ b/net/mac80211/vht.c
|
||||
@@ -315,10 +315,6 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
|
||||
|
||||
sta->sta.bandwidth = ieee80211_sta_cur_vht_bw(sta);
|
||||
|
||||
- /* If HT IE reported 3839 bytes only, stay with that size. */
|
||||
- if (sta->sta.max_amsdu_len == IEEE80211_MAX_MPDU_LEN_HT_3839)
|
||||
- return;
|
||||
-
|
||||
switch (vht_cap->cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK) {
|
||||
case IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454:
|
||||
sta->sta.max_amsdu_len = IEEE80211_MAX_MPDU_LEN_VHT_11454;
|
@ -0,0 +1,34 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Thu, 17 Sep 2020 12:07:19 +0200
|
||||
Subject: [PATCH] mac80211: do not allow bigger VHT MPDUs than the hardware
|
||||
supports
|
||||
|
||||
Limit maximum VHT MPDU size by local capability
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/vht.c
|
||||
+++ b/net/mac80211/vht.c
|
||||
@@ -168,10 +168,7 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
|
||||
/* take some capabilities as-is */
|
||||
cap_info = le32_to_cpu(vht_cap_ie->vht_cap_info);
|
||||
vht_cap->cap = cap_info;
|
||||
- vht_cap->cap &= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 |
|
||||
- IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
|
||||
- IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
|
||||
- IEEE80211_VHT_CAP_RXLDPC |
|
||||
+ vht_cap->cap &= IEEE80211_VHT_CAP_RXLDPC |
|
||||
IEEE80211_VHT_CAP_VHT_TXOP_PS |
|
||||
IEEE80211_VHT_CAP_HTC_VHT |
|
||||
IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK |
|
||||
@@ -180,6 +177,9 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
|
||||
IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN |
|
||||
IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN;
|
||||
|
||||
+ vht_cap->cap |= min_t(u32, cap_info & IEEE80211_VHT_CAP_MAX_MPDU_MASK,
|
||||
+ own_cap.cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK);
|
||||
+
|
||||
/* and some based on our own capabilities */
|
||||
switch (own_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
|
||||
case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ:
|
@ -0,0 +1,38 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Mon, 21 Sep 2020 17:43:06 +0200
|
||||
Subject: [PATCH] mac80211: fix regression in sta connection monitor
|
||||
|
||||
When a frame was acked and probe frames were sent, the connection monitoring
|
||||
needs to be reset, otherwise it will keep probing until the connection is
|
||||
considered dead, even though frames have been acked in the mean time.
|
||||
|
||||
Fixes: 9abf4e49830d ("mac80211: optimize station connection monitor")
|
||||
Reported-by: Georgi Valkov <gvalkov@abv.bg>
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/status.c
|
||||
+++ b/net/mac80211/status.c
|
||||
@@ -1129,6 +1129,8 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
noack_success = !!(info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED);
|
||||
|
||||
if (pubsta) {
|
||||
+ struct ieee80211_sub_if_data *sdata = sta->sdata;
|
||||
+
|
||||
if (!acked && !noack_success)
|
||||
sta->status_stats.retry_failed++;
|
||||
sta->status_stats.retry_count += retry_count;
|
||||
@@ -1143,6 +1145,13 @@ void ieee80211_tx_status_ext(struct ieee
|
||||
/* Track when last packet was ACKed */
|
||||
sta->status_stats.last_pkt_time = jiffies;
|
||||
|
||||
+ /* Reset connection monitor */
|
||||
+ if (sdata->vif.type == NL80211_IFTYPE_STATION &&
|
||||
+ unlikely(sdata->u.mgd.probe_send_count > 0)) {
|
||||
+ sdata->u.mgd.probe_send_count = 0;
|
||||
+ ieee80211_queue_work(&local->hw, &sdata->work);
|
||||
+ }
|
||||
+
|
||||
if (info->status.is_valid_ack_signal) {
|
||||
sta->status_stats.last_ack_signal =
|
||||
(s8)info->status.ack_signal;
|
@ -0,0 +1,31 @@
|
||||
From 5981fe5b0529ba25d95f37d7faa434183ad618c5 Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Berg <johannes.berg@intel.com>
|
||||
Date: Mon, 3 Aug 2020 11:02:10 +0200
|
||||
Subject: [PATCH] mac80211: fix misplaced while instead of if
|
||||
|
||||
This never was intended to be a 'while' loop, it should've
|
||||
just been an 'if' instead of 'while'. Fix this.
|
||||
|
||||
I noticed this while applying another patch from Ben that
|
||||
intended to fix a busy loop at this spot.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Fixes: b16798f5b907 ("mac80211: mark station unauthorized before key removal")
|
||||
Reported-by: Ben Greear <greearb@candelatech.com>
|
||||
Link: https://lore.kernel.org/r/20200803110209.253009ae41ff.I3522aad099392b31d5cf2dcca34cbac7e5832dde@changeid
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
---
|
||||
net/mac80211/sta_info.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/net/mac80211/sta_info.c
|
||||
+++ b/net/mac80211/sta_info.c
|
||||
@@ -1051,7 +1051,7 @@ static void __sta_info_destroy_part2(str
|
||||
might_sleep();
|
||||
lockdep_assert_held(&local->sta_mtx);
|
||||
|
||||
- while (sta->sta_state == IEEE80211_STA_AUTHORIZED) {
|
||||
+ if (sta->sta_state == IEEE80211_STA_AUTHORIZED) {
|
||||
ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC);
|
||||
WARN_ON_ONCE(ret);
|
||||
}
|
@ -18,7 +18,7 @@
|
||||
const u8 *addr);
|
||||
--- a/include/net/mac80211.h
|
||||
+++ b/include/net/mac80211.h
|
||||
@@ -1519,6 +1519,7 @@ enum ieee80211_smps_mode {
|
||||
@@ -1521,6 +1521,7 @@ enum ieee80211_smps_mode {
|
||||
*
|
||||
* @power_level: requested transmit power (in dBm), backward compatibility
|
||||
* value only that is set to the minimum of all interfaces
|
||||
@ -26,7 +26,7 @@
|
||||
*
|
||||
* @chandef: the channel definition to tune to
|
||||
* @radar_enabled: whether radar detection is enabled
|
||||
@@ -1539,6 +1540,7 @@ enum ieee80211_smps_mode {
|
||||
@@ -1541,6 +1542,7 @@ enum ieee80211_smps_mode {
|
||||
struct ieee80211_conf {
|
||||
u32 flags;
|
||||
int power_level, dynamic_ps_timeout;
|
||||
@ -57,7 +57,7 @@
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -2615,6 +2615,19 @@ static int ieee80211_get_tx_power(struct
|
||||
@@ -2611,6 +2611,19 @@ static int ieee80211_get_tx_power(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -77,7 +77,7 @@
|
||||
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
|
||||
const u8 *addr)
|
||||
{
|
||||
@@ -4045,6 +4058,7 @@ const struct cfg80211_ops mac80211_confi
|
||||
@@ -4041,6 +4054,7 @@ const struct cfg80211_ops mac80211_confi
|
||||
.set_wiphy_params = ieee80211_set_wiphy_params,
|
||||
.set_tx_power = ieee80211_set_tx_power,
|
||||
.get_tx_power = ieee80211_get_tx_power,
|
||||
|
@ -29,8 +29,7 @@ sed -i 's/services/nas/g' /usr/lib/lua/luci/view/minidlna_status.htm
|
||||
|
||||
ln -sf /sbin/ip /usr/bin/ip
|
||||
|
||||
sed -i 's/downloads.openwrt.org/openwrt.proxy.ustclug.org/g' /etc/opkg/distfeeds.conf
|
||||
sed -i 's/http:/https:/g' /etc/opkg/distfeeds.conf
|
||||
sed -i 's#http://downloads.openwrt.org#https://mirrors.cloud.tencent.com/lede#g' /etc/opkg/distfeeds.conf
|
||||
sed -i 's/root::0:0:99999:7:::/root:$1$V4UetPzk$CYXluq4wUazHjmCDBCqXF.:0:0:99999:7:::/g' /etc/shadow
|
||||
|
||||
sed -i "s/# //g" /etc/opkg/distfeeds.conf
|
||||
|
@ -7,7 +7,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=hostapd
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=11
|
||||
|
||||
PKG_SOURCE_URL:=http://w1.fi/hostap.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
@ -68,6 +68,9 @@ CONFIG_VARIANT:=$(LOCAL_VARIANT)
|
||||
ifeq ($(LOCAL_VARIANT),mesh)
|
||||
CONFIG_VARIANT:=full
|
||||
endif
|
||||
ifeq ($(LOCAL_VARIANT),hs20)
|
||||
CONFIG_VARIANT:=full
|
||||
endif
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
@ -108,6 +111,10 @@ ifeq ($(SSL_VARIANT),openssl)
|
||||
ifeq ($(LOCAL_VARIANT),full)
|
||||
DRIVER_MAKEOPTS += CONFIG_OWE=y CONFIG_SUITEB192=y CONFIG_AP=y CONFIG_MESH=y
|
||||
endif
|
||||
ifeq ($(LOCAL_VARIANT),hs20)
|
||||
DRIVER_MAKEOPTS += CONFIG_OWE=y CONFIG_SUITEB192=y CONFIG_AP=y CONFIG_MESH=y CONFIG_DPP=y CONFIG_HS20=y CONFIG_INTERWORKING=y
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(SSL_VARIANT),wolfssl)
|
||||
@ -168,6 +175,15 @@ endef
|
||||
|
||||
Package/hostapd-openssl/description = $(Package/hostapd/description)
|
||||
|
||||
define Package/hostapd-hs20
|
||||
$(call Package/hostapd/Default,$(1))
|
||||
TITLE+= (OpenSSL with Hotspot 2.0)
|
||||
VARIANT:=hs20-openssl
|
||||
DEPENDS+=+libopenssl
|
||||
endef
|
||||
|
||||
Package/hostapd-hs20/description = $(Package/hostapd/description)
|
||||
|
||||
define Package/hostapd-wolfssl
|
||||
$(call Package/hostapd/Default,$(1))
|
||||
TITLE+= (wolfSSL full)
|
||||
@ -453,7 +469,9 @@ define Build/Configure
|
||||
$(if $(wildcard ./files/hostapd-$(CONFIG_VARIANT).config), \
|
||||
$(CP) ./files/hostapd-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/hostapd/.config \
|
||||
)
|
||||
$(CP) ./files/wpa_supplicant-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/wpa_supplicant/.config
|
||||
$(if $(wildcard ./files/wpa_supplicant-$(CONFIG_VARIANT).config), \
|
||||
$(CP) ./files/wpa_supplicant-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/wpa_supplicant/.config
|
||||
)
|
||||
endef
|
||||
|
||||
TARGET_CPPFLAGS := \
|
||||
@ -567,6 +585,7 @@ define Package/hostapd/install
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd $(1)/usr/sbin/
|
||||
endef
|
||||
Package/hostapd-basic/install = $(Package/hostapd/install)
|
||||
Package/hostapd-hs20/install = $(Package/hostapd/install)
|
||||
Package/hostapd-mini/install = $(Package/hostapd/install)
|
||||
Package/hostapd-openssl/install = $(Package/hostapd/install)
|
||||
Package/hostapd-wolfssl/install = $(Package/hostapd/install)
|
||||
@ -635,6 +654,7 @@ endif
|
||||
|
||||
$(eval $(call BuildPackage,hostapd))
|
||||
$(eval $(call BuildPackage,hostapd-basic))
|
||||
$(eval $(call BuildPackage,hostapd-hs20))
|
||||
$(eval $(call BuildPackage,hostapd-mini))
|
||||
$(eval $(call BuildPackage,hostapd-openssl))
|
||||
$(eval $(call BuildPackage,hostapd-wolfssl))
|
||||
|
@ -384,7 +384,7 @@ CONFIG_TAXONOMY=y
|
||||
#CONFIG_OWE=y
|
||||
|
||||
# Airtime policy support
|
||||
#CONFIG_AIRTIME_POLICY=y
|
||||
CONFIG_AIRTIME_POLICY=y
|
||||
|
||||
# Override default value for the wpa_disable_eapol_key_retries configuration
|
||||
# parameter. See that parameter in hostapd.conf for more details.
|
||||
|
@ -1,4 +1,5 @@
|
||||
. /lib/functions/network.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
wpa_supplicant_add_rate() {
|
||||
local var="$1"
|
||||
@ -70,6 +71,8 @@ hostapd_append_wpa_key_mgmt() {
|
||||
append wpa_key_mgmt "OWE"
|
||||
;;
|
||||
esac
|
||||
|
||||
[ "$auth_osen" = "1" ] && append wpa_key_mgmt "OSEN"
|
||||
}
|
||||
|
||||
hostapd_add_log_config() {
|
||||
@ -111,7 +114,7 @@ hostapd_prepare_device_config() {
|
||||
local base_cfg=
|
||||
|
||||
json_get_vars country country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \
|
||||
acs_chan_bias local_pwr_constraint spectrum_mgmt_required vendor_vht
|
||||
acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode vendor_vht
|
||||
|
||||
hostapd_set_log_options base_cfg
|
||||
|
||||
@ -119,6 +122,7 @@ hostapd_prepare_device_config() {
|
||||
set_default spectrum_mgmt_required 0
|
||||
set_default doth 1
|
||||
set_default legacy_rates 1
|
||||
set_default airtime_mode 0
|
||||
|
||||
[ "$hwmode" = "b" ] && legacy_rates=1
|
||||
|
||||
@ -166,6 +170,7 @@ hostapd_prepare_device_config() {
|
||||
[ -n "$brlist" ] && append base_cfg "basic_rates=$brlist" "$N"
|
||||
append base_cfg "beacon_int=$beacon_int" "$N"
|
||||
append base_cfg "dtim_period=$dtim_period" "$N"
|
||||
[ "$airtime_mode" -gt 0 ] && append base_cfg "airtime_mode=$airtime_mode" "$N"
|
||||
|
||||
json_get_values opts hostapd_options
|
||||
for val in $opts; do
|
||||
@ -262,6 +267,17 @@ hostapd_common_add_bss_config() {
|
||||
config_add_boolean sae_require_mfp
|
||||
|
||||
config_add_string 'owe_transition_bssid:macaddr' 'owe_transition_ssid:string'
|
||||
|
||||
config_add_boolean hs20 disable_dgaf osen
|
||||
config_add_int anqp_domain_id
|
||||
config_add_int hs20_deauth_req_timeout
|
||||
config_add_array hs20_oper_friendly_name
|
||||
config_add_array osu_provider
|
||||
config_add_array operator_icon
|
||||
config_add_array hs20_conn_capab
|
||||
config_add_string osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp
|
||||
|
||||
config_add_int airtime_bss_weight airtime_bss_limit
|
||||
}
|
||||
|
||||
hostapd_set_vlan_file() {
|
||||
@ -297,6 +313,66 @@ hostapd_set_psk() {
|
||||
for_each_station hostapd_set_psk_file ${ifname}
|
||||
}
|
||||
|
||||
append_hs20_oper_friendly_name() {
|
||||
append bss_conf "hs20_oper_friendly_name=$1" "$N"
|
||||
}
|
||||
|
||||
append_osu_provider_service_desc() {
|
||||
append bss_conf "osu_service_desc=$1" "$N"
|
||||
}
|
||||
|
||||
append_hs20_icon() {
|
||||
local width height lang type path
|
||||
config_get width "$1" width
|
||||
config_get height "$1" height
|
||||
config_get lang "$1" lang
|
||||
config_get type "$1" type
|
||||
config_get path "$1" path
|
||||
|
||||
append bss_conf "hs20_icon=$width:$height:$lang:$type:$1:$path" "$N"
|
||||
}
|
||||
|
||||
append_hs20_icons() {
|
||||
config_load wireless
|
||||
config_foreach append_hs20_icon hs20-icon
|
||||
}
|
||||
|
||||
append_operator_icon() {
|
||||
append bss_conf "operator_icon=$1" "$N"
|
||||
}
|
||||
|
||||
append_osu_icon() {
|
||||
append bss_conf "osu_icon=$1" "$N"
|
||||
}
|
||||
|
||||
append_osu_provider() {
|
||||
local cfgtype osu_server_uri osu_friendly_name osu_nai osu_nai2 osu_method_list
|
||||
|
||||
config_load wireless
|
||||
config_get cfgtype "$1" TYPE
|
||||
[ "$cfgtype" != "osu-provider" ] && return
|
||||
|
||||
append bss_conf "# provider $1" "$N"
|
||||
config_get osu_server_uri "$1" osu_server_uri
|
||||
config_get osu_nai "$1" osu_nai
|
||||
config_get osu_nai2 "$1" osu_nai2
|
||||
config_get osu_method_list "$1" osu_method
|
||||
|
||||
append bss_conf "osu_server_uri=$osu_server_uri" "$N"
|
||||
append bss_conf "osu_nai=$osu_nai" "$N"
|
||||
append bss_conf "osu_nai2=$osu_nai2" "$N"
|
||||
append bss_conf "osu_method_list=$osu_method_list" "$N"
|
||||
|
||||
config_list_foreach "$1" osu_service_desc append_osu_provider_service_desc
|
||||
config_list_foreach "$1" osu_icon append_osu_icon
|
||||
|
||||
append bss_conf "$N"
|
||||
}
|
||||
|
||||
append_hs20_conn_capab() {
|
||||
[ -n "$1" ] && append bss_conf "hs20_conn_capab=$1" "$N"
|
||||
}
|
||||
|
||||
hostapd_set_bss_options() {
|
||||
local var="$1"
|
||||
local phy="$2"
|
||||
@ -317,7 +393,8 @@ hostapd_set_bss_options() {
|
||||
iapp_interface eapol_version dynamic_vlan ieee80211w nasid \
|
||||
acct_server acct_secret acct_port acct_interval \
|
||||
bss_load_update_period chan_util_avg_period sae_require_mfp \
|
||||
multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key
|
||||
multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key \
|
||||
airtime_bss_weight airtime_bss_limit
|
||||
|
||||
set_default isolate 0
|
||||
set_default maxassoc 0
|
||||
@ -335,6 +412,8 @@ hostapd_set_bss_options() {
|
||||
set_default chan_util_avg_period 600
|
||||
set_default utf8_ssid 1
|
||||
set_default multi_ap 0
|
||||
set_default airtime_bss_weight 0
|
||||
set_default airtime_bss_limit 0
|
||||
|
||||
append bss_conf "ctrl_interface=/var/run/hostapd"
|
||||
if [ "$isolate" -gt 0 ]; then
|
||||
@ -347,6 +426,9 @@ hostapd_set_bss_options() {
|
||||
append bss_conf "ap_max_inactivity=$max_inactivity" "$N"
|
||||
fi
|
||||
|
||||
[ "$airtime_bss_weight" -gt 0 ] && append bss_conf "airtime_bss_weight=$airtime_bss_weight" "$N"
|
||||
[ "$airtime_bss_limit" -gt 0 ] && append bss_conf "airtime_bss_limit=$airtime_bss_limit" "$N"
|
||||
|
||||
append bss_conf "bss_load_update_period=$bss_load_update_period" "$N"
|
||||
append bss_conf "chan_util_avg_period=$chan_util_avg_period" "$N"
|
||||
append bss_conf "disassoc_low_ack=$disassoc_low_ack" "$N"
|
||||
@ -690,6 +772,34 @@ hostapd_set_bss_options() {
|
||||
}
|
||||
}
|
||||
|
||||
local hs20 disable_dgaf osen anqp_domain_id hs20_deauth_req_timeout \
|
||||
osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp
|
||||
json_get_vars hs20 disable_dgaf osen anqp_domain_id hs20_deauth_req_timeout \
|
||||
osu_ssid hs20_wan_metrics hs20_operating_class hs20_t_c_filename hs20_t_c_timestamp
|
||||
|
||||
set_default hs20 0
|
||||
set_default disable_dgaf $hs20
|
||||
set_default osen 0
|
||||
set_default anqp_domain_id 0
|
||||
set_default hs20_deauth_req_timeout 60
|
||||
if [ "$hs20" = "1" ]; then
|
||||
append bss_conf "hs20=1" "$N"
|
||||
append_hs20_icons
|
||||
append bss_conf "disable_dgaf=$disable_dgaf" "$N"
|
||||
append bss_conf "osen=$osen" "$N"
|
||||
append bss_conf "anqp_domain_id=$anqp_domain_id" "$N"
|
||||
append bss_conf "hs20_deauth_req_timeout=$hs20_deauth_req_timeout" "$N"
|
||||
[ -n "$osu_ssid" ] && append bss_conf "osu_ssid=$osu_ssid" "$N"
|
||||
[ -n "$hs20_wan_metrics" ] && append bss_conf "hs20_wan_metrics=$hs20_wan_metrics" "$N"
|
||||
[ -n "$hs20_operating_class" ] && append bss_conf "hs20_operating_class=$hs20_operating_class" "$N"
|
||||
[ -n "$hs20_t_c_filename" ] && append bss_conf "hs20_t_c_filename=$hs20_t_c_filename" "$N"
|
||||
[ -n "$hs20_t_c_timestamp" ] && append bss_conf "hs20_t_c_timestamp=$hs20_t_c_timestamp" "$N"
|
||||
json_for_each_item append_hs20_conn_capab hs20_conn_capab
|
||||
json_for_each_item append_hs20_oper_friendly_name hs20_oper_friendly_name
|
||||
json_for_each_item append_osu_provider osu_provider
|
||||
json_for_each_item append_operator_icon operator_icon
|
||||
fi
|
||||
|
||||
bss_md5sum=$(echo $bss_conf | md5sum | cut -d" " -f1)
|
||||
append bss_conf "config_id=$bss_md5sum" "$N"
|
||||
|
||||
|
@ -0,0 +1,10 @@
|
||||
--- a/src/crypto/tls_wolfssl.c
|
||||
+++ b/src/crypto/tls_wolfssl.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <wolfssl/ssl.h>
|
||||
#include <wolfssl/error-ssl.h>
|
||||
#include <wolfssl/wolfcrypt/asn.h>
|
||||
+#include <wolfssl/openssl/x509v3.h>
|
||||
|
||||
#if defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || defined(EAP_SERVER_FAST)
|
||||
#define HAVE_AESGCM
|
@ -108,6 +108,54 @@ void hostapd_ubus_free_iface(struct hostapd_iface *iface)
|
||||
return;
|
||||
}
|
||||
|
||||
static void hostapd_notify_ubus(struct ubus_object *obj, char *bssname, char *event)
|
||||
{
|
||||
char *event_type;
|
||||
|
||||
if (!ctx || !obj)
|
||||
return;
|
||||
|
||||
if (asprintf(&event_type, "bss.%s", event) < 0)
|
||||
return;
|
||||
|
||||
blob_buf_init(&b, 0);
|
||||
blobmsg_add_string(&b, "name", bssname);
|
||||
ubus_notify(ctx, obj, event_type, b.head, -1);
|
||||
free(event_type);
|
||||
}
|
||||
|
||||
static void hostapd_send_procd_event(char *bssname, char *event)
|
||||
{
|
||||
char *name, *s;
|
||||
uint32_t id;
|
||||
void *v;
|
||||
|
||||
if (!ctx || ubus_lookup_id(ctx, "service", &id))
|
||||
return;
|
||||
|
||||
if (asprintf(&name, "hostapd.%s.%s", bssname, event) < 0)
|
||||
return;
|
||||
|
||||
blob_buf_init(&b, 0);
|
||||
|
||||
s = blobmsg_alloc_string_buffer(&b, "type", strlen(name) + 1);
|
||||
sprintf(s, "%s", name);
|
||||
blobmsg_add_string_buffer(&b);
|
||||
|
||||
v = blobmsg_open_table(&b, "data");
|
||||
blobmsg_close_table(&b, v);
|
||||
|
||||
ubus_invoke(ctx, id, "event", b.head, NULL, NULL, 1000);
|
||||
|
||||
free(name);
|
||||
}
|
||||
|
||||
static void hostapd_send_shared_event(struct ubus_object *obj, char *bssname, char *event)
|
||||
{
|
||||
hostapd_send_procd_event(bssname, event);
|
||||
hostapd_notify_ubus(obj, bssname, event);
|
||||
}
|
||||
|
||||
static void
|
||||
hostapd_bss_del_ban(void *eloop_data, void *user_ctx)
|
||||
{
|
||||
@ -152,7 +200,10 @@ hostapd_bss_reload(struct ubus_context *ctx, struct ubus_object *obj,
|
||||
struct blob_attr *msg)
|
||||
{
|
||||
struct hostapd_data *hapd = container_of(obj, struct hostapd_data, ubus.obj);
|
||||
return hostapd_reload_config(hapd->iface, 1);
|
||||
int ret = hostapd_reload_config(hapd->iface, 1);
|
||||
|
||||
hostapd_send_shared_event(&hapd->iface->interfaces->ubus, hapd->conf->iface, "reload");
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
@ -799,7 +850,6 @@ hostapd_rrm_nr_set(struct ubus_context *ctx, struct ubus_object *obj,
|
||||
struct blob_attr *tb_l[__NR_SET_LIST_MAX];
|
||||
struct blob_attr *tb[ARRAY_SIZE(nr_e_policy)];
|
||||
struct blob_attr *cur;
|
||||
int ret = 0;
|
||||
int rem;
|
||||
|
||||
hostapd_rrm_nr_enable(hapd);
|
||||
@ -813,32 +863,47 @@ hostapd_rrm_nr_set(struct ubus_context *ctx, struct ubus_object *obj,
|
||||
struct wpa_ssid_value ssid;
|
||||
struct wpabuf *data;
|
||||
u8 bssid[ETH_ALEN];
|
||||
char *s;
|
||||
char *s, *nr_s;
|
||||
|
||||
blobmsg_parse_array(nr_e_policy, ARRAY_SIZE(nr_e_policy), tb, blobmsg_data(cur), blobmsg_data_len(cur));
|
||||
if (!tb[0] || !tb[1] || !tb[2])
|
||||
goto invalid;
|
||||
|
||||
s = blobmsg_get_string(tb[0]);
|
||||
if (hwaddr_aton(s, bssid))
|
||||
goto invalid;
|
||||
|
||||
s = blobmsg_get_string(tb[1]);
|
||||
ssid.ssid_len = strlen(s);
|
||||
if (ssid.ssid_len > sizeof(ssid.ssid))
|
||||
goto invalid;
|
||||
|
||||
memcpy(&ssid, s, ssid.ssid_len);
|
||||
data = wpabuf_parse_bin(blobmsg_get_string(tb[2]));
|
||||
/* Neighbor Report binary */
|
||||
nr_s = blobmsg_get_string(tb[2]);
|
||||
data = wpabuf_parse_bin(nr_s);
|
||||
if (!data)
|
||||
goto invalid;
|
||||
|
||||
/* BSSID */
|
||||
s = blobmsg_get_string(tb[0]);
|
||||
if (strlen(s) == 0) {
|
||||
/* Copy BSSID from neighbor report */
|
||||
if (hwaddr_compact_aton(nr_s, bssid))
|
||||
goto invalid;
|
||||
} else if (hwaddr_aton(s, bssid)) {
|
||||
goto invalid;
|
||||
}
|
||||
|
||||
/* SSID */
|
||||
s = blobmsg_get_string(tb[1]);
|
||||
if (strlen(s) == 0) {
|
||||
/* Copy SSID from hostapd BSS conf */
|
||||
memcpy(&ssid, &hapd->conf->ssid, sizeof(ssid));
|
||||
} else {
|
||||
ssid.ssid_len = strlen(s);
|
||||
if (ssid.ssid_len > sizeof(ssid.ssid))
|
||||
goto invalid;
|
||||
|
||||
memcpy(&ssid, s, ssid.ssid_len);
|
||||
}
|
||||
|
||||
hostapd_neighbor_set(hapd, bssid, &ssid, data, NULL, NULL, 0);
|
||||
wpabuf_free(data);
|
||||
continue;
|
||||
|
||||
invalid:
|
||||
ret = UBUS_STATUS_INVALID_ARGUMENT;
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1086,6 +1151,8 @@ void hostapd_ubus_add_bss(struct hostapd_data *hapd)
|
||||
obj->n_methods = bss_object_type.n_methods;
|
||||
ret = ubus_add_object(ctx, obj);
|
||||
hostapd_ubus_ref_inc();
|
||||
|
||||
hostapd_send_shared_event(&hapd->iface->interfaces->ubus, hapd->conf->iface, "add");
|
||||
}
|
||||
|
||||
void hostapd_ubus_free_bss(struct hostapd_data *hapd)
|
||||
@ -1096,6 +1163,8 @@ void hostapd_ubus_free_bss(struct hostapd_data *hapd)
|
||||
if (!ctx)
|
||||
return;
|
||||
|
||||
hostapd_send_shared_event(&hapd->iface->interfaces->ubus, hapd->conf->iface, "remove");
|
||||
|
||||
if (obj->id) {
|
||||
ubus_remove_object(ctx, obj);
|
||||
hostapd_ubus_ref_dec();
|
||||
|
@ -46,6 +46,10 @@ static inline int has_feature(const char *feat)
|
||||
#ifdef CONFIG_WEP
|
||||
if (!strcmp(feat, "wep"))
|
||||
return 1;
|
||||
#endif
|
||||
#ifdef CONFIG_HS20
|
||||
if (!strcmp(feat, "hs20"))
|
||||
return 1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -42,13 +42,8 @@ netgear,wndap660)
|
||||
netgear,wndr4700)
|
||||
ucidef_set_led_switch "wan_green" "WAN (green)" "wndr4700:green:wan" "switch0" "0x20"
|
||||
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "wndr4700:yellow:wan" "eth0.2" "tx rx"
|
||||
ucidef_set_led_usbport "usb3" "USB3" "wndr4700:blue:usb" "usb2-port1" "usb2-port2" "usb3-port1" "usb3-port2"
|
||||
ucidef_set_led_wlan "wlan2g" "WLAN2G" "wndr4700:blue:wlan" "phy0tpt"
|
||||
ucidef_set_led_wlan "wlan5g" "WLAN5G" "wndr4700:blue:wlan" "phy1tpt"
|
||||
;;
|
||||
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
@ -7,27 +7,9 @@
|
||||
board=$(board_name)
|
||||
|
||||
case "$FIRMWARE" in
|
||||
"pci_wmac0.eeprom")
|
||||
case $board in
|
||||
netgear,wndr4700)
|
||||
. /lib/upgrade/nand.sh
|
||||
|
||||
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
|
||||
caldata_extract_ubi "caldata" 0x5000 0x1000
|
||||
else
|
||||
caldata_extract "wifi_data" 0x5000 0x1000
|
||||
ath9k_patch_mac $(mtd_get_mac_binary wifi_data 0xc)
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
caldata_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
"pci_wmac1.eeprom")
|
||||
case $board in
|
||||
netgear,wndr4700)
|
||||
"ath9k-eeprom-pci-0000:43:00.0.bin")
|
||||
case $board in
|
||||
netgear,wndr4700)
|
||||
. /lib/upgrade/nand.sh
|
||||
|
||||
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
|
||||
@ -42,4 +24,22 @@ case "$FIRMWARE" in
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
"ath9k-eeprom-pci-0000:44:00.0.bin")
|
||||
case $board in
|
||||
netgear,wndr4700)
|
||||
. /lib/upgrade/nand.sh
|
||||
|
||||
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
|
||||
caldata_extract_ubi "caldata" 0x5000 0x1000
|
||||
else
|
||||
caldata_extract "wifi_data" 0x5000 0x1000
|
||||
ath9k_patch_mac $(mtd_get_mac_binary wifi_data 0xc)
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
caldata_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
@ -16,6 +16,4 @@ netgear,wndap620|\
|
||||
netgear,wndap660)
|
||||
macaddr_add $(mtd_get_mac_ascii u-boot-env baseMAC) $(($PHYNBR + 1)) > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
@ -12,8 +12,6 @@ move_config() {
|
||||
[ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
@ -43,8 +43,5 @@ platform_copy_config() {
|
||||
wd,mybooklive-duo)
|
||||
mbl_copy_config
|
||||
;;
|
||||
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
@ -1,24 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* Device Tree for Bluestone (APM821xx) board.
|
||||
*
|
||||
* Copyright (c) 2010, Applied Micro Circuits Corporation
|
||||
* Author: Tirumala R Marri <tmarri@apm.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/dma/dw-dmac.h>
|
||||
@ -40,7 +25,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
CPU00: cpu@0 {
|
||||
CPU0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
model = "PowerPC,apm82181";
|
||||
reg = <0x00000000>;
|
||||
@ -170,7 +155,7 @@
|
||||
dcr-reg = <0x240 0x009>;
|
||||
interrupts = <0x1a IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-parent = <&UIC2>;
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
TRNG: trng@110000 {
|
||||
@ -306,6 +291,8 @@
|
||||
reg = <0xef600800 0x00000014>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
interrupts = <0x03 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -407,6 +394,8 @@
|
||||
dmas = <&AHBDMA0 0 0 1>;
|
||||
dma-names = "sata-dma";
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
SATA1: sata@bffd1800 {
|
||||
@ -417,6 +406,8 @@
|
||||
dmas = <&AHBDMA0 1 0 2>;
|
||||
dma-names = "sata-dma";
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
MSI: ppc4xx-msi@c10000000 {
|
||||
@ -457,7 +448,8 @@
|
||||
dcr-reg = <0x100 0x020>;
|
||||
sdr-base = <0x300>;
|
||||
|
||||
/* Outbound ranges, one memory and one IO,
|
||||
/*
|
||||
* Outbound ranges, one memory and one IO,
|
||||
* later cannot be changed
|
||||
*/
|
||||
ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000>,
|
||||
@ -470,7 +462,8 @@
|
||||
/* This drives busses 0x40 to 0x7f */
|
||||
bus-range = <0x40 0x7f>;
|
||||
|
||||
/* Legacy interrupts (note the weird polarity, the bridge seems
|
||||
/*
|
||||
* Legacy interrupts (note the weird polarity, the bridge seems
|
||||
* to invert PCIe legacy interrupts).
|
||||
* We are de-swizzling here because the numbers are actually for
|
||||
* port of the root complex virtual P2P bridge. But I want
|
||||
|
@ -1,13 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Device Tree Source for Meraki MR24 (Ikarem)
|
||||
*
|
||||
* Copyright (C) 2016 Chris Blake <chrisrblake93@gmail.com>
|
||||
*
|
||||
* Based on Cisco Meraki GPL Release r23-20150601 MR24 DTS
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@ -182,6 +179,59 @@
|
||||
|
||||
&PCIE0 {
|
||||
status = "okay";
|
||||
/*
|
||||
* relevant lspci topology:
|
||||
*
|
||||
* -+-[0000:40]---00.0-[41-7f]----00.0-[42-45]--+-02.0-[43]----00.0
|
||||
* +-03.0-[44]----00.0
|
||||
*
|
||||
*/
|
||||
|
||||
bridge@64,0 {
|
||||
reg = <0x00400000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bridge@65,0 {
|
||||
/* IDT PES3T3 PCI Express Switch */
|
||||
compatible = "pci111d,8039";
|
||||
reg = <0x00410000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bridge@66,2 {
|
||||
compatible = "pci111d,8039";
|
||||
reg = <0x00421000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@67,0 {
|
||||
/* Atheros AR9380 2.4GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00430000 0 0 0 0>;
|
||||
interrupts = <3>; /* INTC 4.1.1 */
|
||||
};
|
||||
};
|
||||
|
||||
bridge@66,3 {
|
||||
compatible = "pci111d,8039";
|
||||
reg = <0x00421800 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi1: wifi@68,0 {
|
||||
/* Atheros AR9380 5GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00440000 0 0 0 0>;
|
||||
interrupts = <4>; /* INTD 4.1.1 */
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&MSI {
|
||||
|
@ -1,13 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Device Tree Source for Meraki MX60/MX60W (Buckminster)
|
||||
*
|
||||
* Copyright (C) 2016 Chris Blake <chrisrblake93@gmail.com>
|
||||
*
|
||||
* Based on Cisco Meraki DTS extracted from release wired-12-217818
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@ -175,6 +172,26 @@
|
||||
&PCIE0 {
|
||||
/* Leave this enabled as u-boot on the MX60 will disable it for us */
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* relevant lspci topology:
|
||||
*
|
||||
* -+-[0000:40]---00.0-[41-7f]----00.0
|
||||
*/
|
||||
|
||||
bridge@64,0 {
|
||||
reg = <0x00400000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@65,0 {
|
||||
/* Atheros AR9380 2.4/5GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00410000 0 0 0 0>;
|
||||
interrupts = <1>; /* INTA */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&MSI {
|
||||
|
@ -1,10 +1,4 @@
|
||||
/*
|
||||
* Device Tree Source for Netgear WNDAP620
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
@ -26,3 +20,25 @@
|
||||
gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&PCIE0 {
|
||||
/*
|
||||
* relevant lspci topology:
|
||||
*
|
||||
* -+-[0000:40]---00.0-[41-7f]----00.0
|
||||
*/
|
||||
|
||||
bridge@64,0 {
|
||||
reg = <0x00400000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@65,0 {
|
||||
/* Atheros AR9380 5GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00410000 0 0 0 0>;
|
||||
interrupts = <1>; /* INTA */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,10 +1,4 @@
|
||||
/*
|
||||
* Device Tree Source for Netgear WNDAP660
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
@ -36,3 +30,59 @@
|
||||
gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&PCIE0 {
|
||||
/*
|
||||
* relevant lspci topology:
|
||||
*
|
||||
* -+-[0000:40]---00.0-[41-7f]----00.0-[42-45]--+-02.0-[43]----00.0
|
||||
* +-03.0-[44]----00.0
|
||||
*
|
||||
*/
|
||||
|
||||
bridge@64,0 {
|
||||
reg = <0x00400000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bridge@65,0 {
|
||||
/* IDT PES3T3 PCI Express Switch */
|
||||
compatible = "pci111d,8039";
|
||||
reg = <0x00410000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bridge@66,2 {
|
||||
compatible = "pci111d,8039";
|
||||
reg = <0x00421000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@67,0 {
|
||||
/* Atheros AR9380 2.4/5GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00430000 0 0 0 0>;
|
||||
interrupts = <3>; /* INTC */
|
||||
};
|
||||
};
|
||||
|
||||
bridge@66,3 {
|
||||
compatible = "pci111d,8039";
|
||||
reg = <0x00421800 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi1: wifi@68,0 {
|
||||
/* Atheros AR9380 2.4/5GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00440000 0 0 0 0>;
|
||||
interrupts = <4>; /* INTD */
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,9 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Device Tree Source for Netgear WNDAP620 and WNDAP660
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include "apm82181.dtsi"
|
||||
|
@ -1,11 +1,8 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Device Tree Source for Netgear WNDR4700/WNDR4720 Series
|
||||
*
|
||||
* Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@ -15,7 +12,7 @@
|
||||
|
||||
/ {
|
||||
model = "Netgear WNDR4700/WNDR4720 Series";
|
||||
compatible = "netgear,wndr4700";
|
||||
compatible = "netgear,wndr4700", "apm,bluestone";
|
||||
|
||||
aliases {
|
||||
serial0 = &UART0;
|
||||
@ -381,6 +378,9 @@
|
||||
usb-blue {
|
||||
label = "wndr4700:blue:usb";
|
||||
gpios = <&GPIO0 10 GPIO_ACTIVE_HIGH>;
|
||||
trigger-sources = <&usb2_port 1>, <&usb2_port 2>,
|
||||
<&usb3_port 1>, <&usb3_port 2>;
|
||||
linux,default-trigger = "usbport";
|
||||
};
|
||||
|
||||
logo-white {
|
||||
@ -412,12 +412,106 @@
|
||||
wlan-blue {
|
||||
label = "wndr4700:blue:wlan";
|
||||
gpios = <&GPIO0 18 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&PCIE0 {
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* relevant lspci topology:
|
||||
*
|
||||
* -+-[0000:40]---00.0-[41-7f]----00.0-[42-45]--+-02.0-[43]----00.0
|
||||
* +-03.0-[44]----00.0
|
||||
* \-04.0-[45]----00.0
|
||||
*
|
||||
*/
|
||||
|
||||
bridge@64,0 {
|
||||
reg = <0x00400000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bridge@65,0 {
|
||||
/* IDT PES4T4 PCI Express Switch */
|
||||
compatible = "pci111d,803a";
|
||||
reg = <0x00410000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bridge@66,2 {
|
||||
compatible = "pci111d,803a";
|
||||
reg = <0x00421000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi0: wifi@67,0 {
|
||||
/* Atheros AR9380 5GHz */
|
||||
compatible = "pci168c,0030";
|
||||
reg = <0x00430000 0 0 0 0>;
|
||||
interrupts = <3>; /* INTC */
|
||||
qca,no-eeprom;
|
||||
/* wifi CAL & MAC is stored in nvram */
|
||||
|
||||
/*
|
||||
* Because this was such a pain.
|
||||
* Here's the full device path:
|
||||
* pci0000:40/0000:40:00.0/0000:41:00.0/0000:42:02.0/0000:43:00.0
|
||||
*/
|
||||
};
|
||||
};
|
||||
|
||||
bridge@66,3 {
|
||||
compatible = "pci111d,803a";
|
||||
reg = <0x00421800 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
wifi1: wifi@68,0 {
|
||||
/* Atheros AR9381 2.4GHz */
|
||||
compatible = "pci168c,0033";
|
||||
reg = <0x00440000 0 0 0 0>;
|
||||
interrupts = <4>; /* INTD */
|
||||
qca,no-eeprom;
|
||||
/* wifi CAL & MAC is stored in nvram */
|
||||
};
|
||||
};
|
||||
|
||||
bridge@66,4 {
|
||||
compatible = "pci111d,803a";
|
||||
reg = <0x00422000 0 0 0 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
usb1: usb@69,0 {
|
||||
/* Renesas uPD720202 */
|
||||
compatible = "pci1912,0015";
|
||||
reg = <0x00450000 0 0 0 0>;
|
||||
interrupts = <1>; /* INTA */
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
usb2_port: port@1 {
|
||||
reg = <1>;
|
||||
#trigger-source-cells = <1>;
|
||||
};
|
||||
|
||||
usb3_port: port@2 {
|
||||
reg = <2>;
|
||||
#trigger-source-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&MSI {
|
||||
|
@ -1,10 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
|
||||
* (c) Copyright 2010 Western Digital Technologies, Inc. All Rights Reserved.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without
|
||||
* any warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
@ -1,99 +0,0 @@
|
||||
/*
|
||||
* Netgear Centria N900 WNDR4700/WNDR4720 platform support
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* This implemention is based on the simple platform support for the
|
||||
* PowerPC 44x chips.
|
||||
*/
|
||||
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/pci-bridge.h>
|
||||
#include <asm/ppc4xx.h>
|
||||
#include <asm/prom.h>
|
||||
#include <asm/time.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/uic.h>
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/ath9k_platform.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/delay.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
static const struct of_device_id ppc44x_of_bus[] __initconst = {
|
||||
{ .compatible = "ibm,plb4", },
|
||||
{ .compatible = "ibm,opb", },
|
||||
{ .compatible = "ibm,ebc", },
|
||||
{ .compatible = "simple-bus", },
|
||||
{},
|
||||
};
|
||||
|
||||
static int __init ppc44x_device_probe(void)
|
||||
{
|
||||
of_platform_bus_probe(NULL, ppc44x_of_bus, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
machine_device_initcall(wndr4700, ppc44x_device_probe);
|
||||
|
||||
static char *board[] __initdata = {
|
||||
"netgear,wndr4700",
|
||||
};
|
||||
|
||||
static int __init ppc44x_probe(void)
|
||||
{
|
||||
unsigned long root = of_get_flat_dt_root();
|
||||
int i = 0;
|
||||
|
||||
pcie_bus_config = PCIE_BUS_PEER2PEER; /* force 128 Byte MPS */
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(board); i++) {
|
||||
if (of_flat_dt_is_compatible(root, board[i])) {
|
||||
pci_set_flags(PCI_REASSIGN_ALL_RSRC); /* PCI_PROBE_ONLY */
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
define_machine(wndr4700) {
|
||||
.name = "WNDR4700 Platform",
|
||||
.probe = ppc44x_probe,
|
||||
.progress = udbg_progress,
|
||||
.init_IRQ = uic_init_tree,
|
||||
.get_irq = uic_get_irq,
|
||||
.restart = ppc4xx_reset_system,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
};
|
||||
|
||||
static struct ath9k_platform_data ar9380_wmac0_data = {
|
||||
.led_pin = -1,
|
||||
.eeprom_name = "pci_wmac1.eeprom",
|
||||
};
|
||||
static struct ath9k_platform_data ar9580_wmac1_data = {
|
||||
.led_pin = -1,
|
||||
.eeprom_name = "pci_wmac0.eeprom",
|
||||
};
|
||||
|
||||
static int __init wndr4700_ath9k_eeprom_load(void)
|
||||
{
|
||||
struct pci_dev *dev;
|
||||
|
||||
dev = pci_get_device(PCI_VENDOR_ID_ATHEROS, 0x0030, NULL);
|
||||
if (dev)
|
||||
dev->dev.platform_data = &ar9380_wmac0_data;
|
||||
|
||||
dev = pci_get_device(PCI_VENDOR_ID_ATHEROS, 0x0033, NULL);
|
||||
if (dev)
|
||||
dev->dev.platform_data = &ar9580_wmac1_data;
|
||||
|
||||
return 0;
|
||||
}
|
||||
machine_device_initcall(wndr4700, wndr4700_ath9k_eeprom_load);
|
@ -48,5 +48,4 @@ CONFIG_SENSORS_LM90=y
|
||||
CONFIG_SENSORS_TC654=y
|
||||
CONFIG_SWCONFIG=y
|
||||
CONFIG_SWCONFIG_LEDS=y
|
||||
CONFIG_WNDR4700=y
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
--- a/arch/powerpc/platforms/44x/Makefile
|
||||
+++ b/arch/powerpc/platforms/44x/Makefile
|
||||
@@ -4,6 +4,7 @@ ifneq ($(CONFIG_PPC4xx_CPM),y)
|
||||
obj-y += idle.o
|
||||
endif
|
||||
obj-$(CONFIG_PPC44x_SIMPLE) += ppc44x_simple.o
|
||||
+obj-$(CONFIG_WNDR4700) += wndr4700.o
|
||||
obj-$(CONFIG_EBONY) += ebony.o
|
||||
obj-$(CONFIG_SAM440EP) += sam440ep.o
|
||||
obj-$(CONFIG_WARP) += warp.o
|
||||
--- a/arch/powerpc/platforms/44x/Kconfig
|
||||
+++ b/arch/powerpc/platforms/44x/Kconfig
|
||||
@@ -243,6 +243,19 @@ config ICON
|
||||
help
|
||||
This option enables support for the AMCC PPC440SPe evaluation board.
|
||||
|
||||
+config WNDR4700
|
||||
+ bool "WNDR4700"
|
||||
+ depends on 44x
|
||||
+ default n
|
||||
+ select APM821xx
|
||||
+ select PCI_MSI
|
||||
+ select PPC4xx_MSI
|
||||
+ select PPC4xx_PCI_EXPRESS
|
||||
+ select IBM_EMAC_RGMII
|
||||
+ select 460EX
|
||||
+ help
|
||||
+ This option enables support for the Netgear WNDR4700/WNDR4720 board.
|
||||
+
|
||||
config XILINX_VIRTEX440_GENERIC_BOARD
|
||||
bool "Generic Xilinx Virtex 5 FXT board support"
|
||||
depends on 44x
|
@ -1,200 +0,0 @@
|
||||
# CONFIG_16KSTACKS is not set
|
||||
CONFIG_ARC=y
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
# CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set
|
||||
# CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
|
||||
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
||||
# CONFIG_ARCH_WANTS_THP_SWAP is not set
|
||||
CONFIG_ARC_BUILTIN_DTB_NAME=""
|
||||
CONFIG_ARC_CACHE=y
|
||||
CONFIG_ARC_CACHE_LINE_SHIFT=5
|
||||
CONFIG_ARC_CACHE_PAGES=y
|
||||
# CONFIG_ARC_CACHE_VIPT_ALIASING is not set
|
||||
# CONFIG_ARC_CANT_LLSC is not set
|
||||
# CONFIG_ARC_COMPACT_IRQ_LEVELS is not set
|
||||
# CONFIG_ARC_CPU_750D is not set
|
||||
CONFIG_ARC_CPU_770=y
|
||||
CONFIG_ARC_CURR_IN_REG=y
|
||||
CONFIG_ARC_DBG=y
|
||||
# CONFIG_ARC_DBG_TLB_PARANOIA is not set
|
||||
CONFIG_ARC_DW2_UNWIND=y
|
||||
CONFIG_ARC_EMUL_UNALIGNED=y
|
||||
# CONFIG_ARC_FPU_SAVE_RESTORE is not set
|
||||
CONFIG_ARC_HAS_DCACHE=y
|
||||
# CONFIG_ARC_HAS_DCCM is not set
|
||||
CONFIG_ARC_HAS_ICACHE=y
|
||||
# CONFIG_ARC_HAS_ICCM is not set
|
||||
CONFIG_ARC_HAS_LLSC=y
|
||||
CONFIG_ARC_HAS_SWAPE=y
|
||||
CONFIG_ARC_KVADDR_SIZE=256
|
||||
# CONFIG_ARC_METAWARE_HLINK is not set
|
||||
# CONFIG_ARC_MMU_V1 is not set
|
||||
# CONFIG_ARC_MMU_V2 is not set
|
||||
CONFIG_ARC_MMU_V3=y
|
||||
# CONFIG_ARC_PAGE_SIZE_16K is not set
|
||||
# CONFIG_ARC_PAGE_SIZE_4K is not set
|
||||
CONFIG_ARC_PAGE_SIZE_8K=y
|
||||
CONFIG_ARC_PLAT_AXS10X=y
|
||||
# CONFIG_ARC_PLAT_EZNPS is not set
|
||||
# CONFIG_ARC_PLAT_TB10X is not set
|
||||
# CONFIG_ARC_SOC_HSDK is not set
|
||||
CONFIG_ARC_TIMERS=y
|
||||
CONFIG_ARC_UBOOT_SUPPORT=y
|
||||
CONFIG_AXS101=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
CONFIG_CPU_NO_EFFICIENT_FFS=y
|
||||
CONFIG_CRC16=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
CONFIG_CRYPTO_HASH=y
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_CRYPTO_WORKQUEUE=y
|
||||
# CONFIG_DMA_NOOP_OPS is not set
|
||||
# CONFIG_DMA_VIRT_OPS is not set
|
||||
# CONFIG_DRM_LIB_RANDOM is not set
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DWMAC_ANARION=y
|
||||
# CONFIG_DWMAC_DWC_QOS_ETH is not set
|
||||
CONFIG_DWMAC_GENERIC=y
|
||||
CONFIG_DW_APB_ICTL=y
|
||||
CONFIG_EXPORTFS=y
|
||||
CONFIG_EXT4_FS=y
|
||||
# CONFIG_EZNPS_GIC is not set
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_FUTEX_PI=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_GENERIC_FIND_FIRST_BIT=y
|
||||
CONFIG_GENERIC_IO=y
|
||||
CONFIG_GENERIC_IRQ_CHIP=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_DWAPB=y
|
||||
CONFIG_GPIO_GENERIC=y
|
||||
# CONFIG_GRO_CELLS is not set
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
|
||||
# CONFIG_HAVE_ARCH_BITREVERSE is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
|
||||
CONFIG_HAVE_FUTEX_CMPXCHG=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_HAVE_IOREMAP_PROT=y
|
||||
CONFIG_HAVE_MEMBLOCK=y
|
||||
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_ISA_ARCOMPACT=y
|
||||
# CONFIG_ISA_ARCV2 is not set
|
||||
CONFIG_JBD2=y
|
||||
CONFIG_KALLSYMS=y
|
||||
CONFIG_KERNEL_GZIP=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LINUX_LINK_BASE=0x80000000
|
||||
CONFIG_LINUX_RAM_BASE=0x80000000
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MIGHT_HAVE_PCI=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_DW=y
|
||||
# CONFIG_MMC_DW_EXYNOS is not set
|
||||
# CONFIG_MMC_DW_K3 is not set
|
||||
CONFIG_MMC_DW_PLTFM=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
CONFIG_NATIONAL_PHY=y
|
||||
CONFIG_NEED_PER_CPU_KM=y
|
||||
# CONFIG_NET_CADENCE is not set
|
||||
CONFIG_NET_PTP_CLASSIFY=y
|
||||
# CONFIG_NET_VENDOR_ARC is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_QUALCOMM is not set
|
||||
# CONFIG_NET_VENDOR_ROCKER is not set
|
||||
# CONFIG_NET_VENDOR_SAMSUNG is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
CONFIG_NO_BOOTMEM=y
|
||||
CONFIG_NO_IOPORT_MAP=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
CONFIG_PGTABLE_LEVELS=2
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_PPS=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_PREEMPT_COUNT=y
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
CONFIG_PREEMPT_RCU=y
|
||||
CONFIG_PTP_1588_CLOCK=y
|
||||
CONFIG_RATIONAL=y
|
||||
# CONFIG_RCU_BOOST is not set
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_MMIO=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_SCHED_INFO is not set
|
||||
# CONFIG_SCSI_DMA is not set
|
||||
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
|
||||
CONFIG_SERIAL_8250_DW=y
|
||||
# CONFIG_SERIAL_8250_FSL is not set
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
CONFIG_SERIAL_ARC=y
|
||||
CONFIG_SERIAL_ARC_CONSOLE=y
|
||||
CONFIG_SERIAL_ARC_NR_PORTS=1
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_STACKTRACE=y
|
||||
CONFIG_STMMAC_ETH=y
|
||||
CONFIG_STMMAC_PLATFORM=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW=y
|
||||
CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN=y
|
||||
CONFIG_TASKS_RCU=y
|
||||
CONFIG_THIN_ARCHIVES=y
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
CONFIG_TIMER_OF=y
|
||||
CONFIG_TIMER_PROBE=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_UNINLINE_SPIN_UNLOCK=y
|
||||
CONFIG_USB_SUPPORT=y
|
@ -1,31 +0,0 @@
|
||||
From 0031b9011cb2b2b1de4dbb4f9620303aec760db4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Date: Wed, 27 Jul 2016 11:33:14 +0300
|
||||
Subject: [PATCH] stmmac: Disable frame filtering completely
|
||||
|
||||
For some [still unknown] reason in ARC SDP boards
|
||||
DW GMAC doesn't enter promiscuous mode if eth0 gets
|
||||
added to the br-lan interface before Ethernet PHY finishes
|
||||
autonegotiation (PHY gets reset on DW GMAC start).
|
||||
|
||||
As a work-around we completely disable frame filtering
|
||||
in GMAC hardware which gives us working bridge that consists
|
||||
of eth0 and wlan0 (USB Wi-Fi dongle). I.e. we finally have
|
||||
working "Dumb AP" setup made of ARC AXS10x boards.
|
||||
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
---
|
||||
drivers/net/ethernet/stmicro/stmmac/common.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
|
||||
@@ -46,7 +46,7 @@
|
||||
#define STMMAC_GET_ENTRY(x, size) ((x + 1) & (size - 1))
|
||||
|
||||
#undef FRAME_FILTER_DEBUG
|
||||
-/* #define FRAME_FILTER_DEBUG */
|
||||
+#define FRAME_FILTER_DEBUG
|
||||
|
||||
/* Extra statistic and debug information exposed by ethtool */
|
||||
struct stmmac_extra_stats {
|
@ -12,7 +12,7 @@ BOARDNAME:=Microchip (Atmel AT91)
|
||||
FEATURES:=ext4 squashfs targz usb usbgadget ubifs
|
||||
SUBTARGETS:=sama5 sam9x
|
||||
|
||||
KERNEL_PATCHVER:=4.14
|
||||
KERNEL_PATCHVER:=5.4
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
@ -9,7 +9,7 @@ board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
|
||||
sama5d3_xplained)
|
||||
atmel,sama5d3-xplained)
|
||||
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||
;;
|
||||
|
||||
|
@ -1,92 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
|
||||
AT91_BOARD_NAME=
|
||||
AT91_MODEL=
|
||||
|
||||
at91_board_detect() {
|
||||
local machine
|
||||
local name
|
||||
|
||||
machine=$(cat /proc/device-tree/model)
|
||||
|
||||
case "$machine" in
|
||||
*"Atmel at91sam9263ek")
|
||||
name="at91sam9263ek"
|
||||
;;
|
||||
*"Atmel AT91SAM9G15-EK")
|
||||
name="at91sam9g15ek"
|
||||
;;
|
||||
*"Atmel at91sam9g20ek")
|
||||
name="at91sam9g20ek"
|
||||
;;
|
||||
*"Atmel at91sam9g20ek 2 mmc")
|
||||
name="at91sam9g20ek_2mmc"
|
||||
;;
|
||||
*"Atmel AT91SAM9G25-EK")
|
||||
name="at91sam9g25ek"
|
||||
;;
|
||||
*"Atmel AT91SAM9G35-EK")
|
||||
name="at91sam9g35ek"
|
||||
;;
|
||||
*"Atmel AT91SAM9M10G45-EK")
|
||||
name="at91sam9m10g45ek"
|
||||
;;
|
||||
*"Atmel AT91SAM9X25-EK")
|
||||
name="at91sam9x25ek"
|
||||
;;
|
||||
*"Atmel AT91SAM9X35-EK")
|
||||
name="at91sam9x35ek"
|
||||
;;
|
||||
*"SAMA5D3 Xplained")
|
||||
name="sama5d3_xplained"
|
||||
;;
|
||||
*"Atmel SAMA5D27 SOM1 EK")
|
||||
name="sama5d27_som1_ek"
|
||||
;;
|
||||
*"Atmel SAMA5D2 PTC EK")
|
||||
name="sama5d2_ptc_ek"
|
||||
;;
|
||||
*"SAMA5D2 Xplained")
|
||||
name="sama5d2_xplained"
|
||||
;;
|
||||
*"SAMA5D4 Xplained")
|
||||
name="sama5d4_xplained"
|
||||
;;
|
||||
*"CalAmp LMU5000")
|
||||
name="lmu5000"
|
||||
;;
|
||||
*"Calao TNY A9260")
|
||||
name="tny_a9260"
|
||||
;;
|
||||
*"Calao TNY A9263")
|
||||
name="tny_a9263"
|
||||
;;
|
||||
*"Calao TNY A9G20")
|
||||
name="tny_a9g20"
|
||||
;;
|
||||
*"Calao USB A9260")
|
||||
name="usb_a9260"
|
||||
;;
|
||||
*"Calao USB A9263")
|
||||
name="usb_a9263"
|
||||
;;
|
||||
*"Calao USB A9G20")
|
||||
name="usb_a9g20"
|
||||
;;
|
||||
*"Ethernut 5")
|
||||
name="ethernut5"
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -z "$name" ] && name="unknown"
|
||||
|
||||
[ -z "$AT91_BOARD_NAME" ] && AT91_BOARD_NAME="$name"
|
||||
[ -z "$AT91_MODEL" ] && AT91_MODEL="$machine"
|
||||
|
||||
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
||||
|
||||
echo "$AT91_BOARD_NAME" > /tmp/sysinfo/board_name
|
||||
echo "$AT91_MODEL" > /tmp/sysinfo/model
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
do_at91() {
|
||||
. /lib/at91.sh
|
||||
|
||||
at91_board_detect
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main do_at91
|
@ -1,562 +0,0 @@
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_CLOCKSOURCE_DATA=y
|
||||
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
|
||||
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
||||
CONFIG_ARCH_HAS_SET_MEMORY=y
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
|
||||
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
|
||||
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
||||
CONFIG_ARCH_MULTIPLATFORM=y
|
||||
# CONFIG_ARCH_MULTI_CPU_AUTO is not set
|
||||
CONFIG_ARCH_MULTI_V6_V7=y
|
||||
CONFIG_ARCH_MULTI_V7=y
|
||||
CONFIG_ARCH_NR_GPIO=0
|
||||
CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
|
||||
CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
|
||||
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
|
||||
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
|
||||
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
||||
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
|
||||
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_AT91_CPUIDLE=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
CONFIG_ARM_HEAVY_MB=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=6
|
||||
CONFIG_ARM_L1_CACHE_SHIFT_6=y
|
||||
# CONFIG_ARM_LPAE is not set
|
||||
CONFIG_ARM_PATCH_IDIV=y
|
||||
CONFIG_ARM_PATCH_PHYS_VIRT=y
|
||||
CONFIG_ARM_THUMB=y
|
||||
# CONFIG_ARM_THUMBEE is not set
|
||||
CONFIG_ARM_UNWIND=y
|
||||
CONFIG_ARM_VIRT_EXT=y
|
||||
CONFIG_AT91SAM9X_WATCHDOG=y
|
||||
CONFIG_AT91_ADC=y
|
||||
CONFIG_AT91_SAMA5D2_ADC=y
|
||||
CONFIG_AT91_SOC_ID=y
|
||||
CONFIG_ATMEL_AIC5_IRQ=y
|
||||
CONFIG_ATMEL_EBI=y
|
||||
CONFIG_ATMEL_PIT=y
|
||||
CONFIG_ATMEL_PM=y
|
||||
CONFIG_ATMEL_SDRAMC=y
|
||||
CONFIG_ATMEL_SSC=y
|
||||
CONFIG_ATMEL_TCB_CLKSRC=y
|
||||
CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0
|
||||
CONFIG_ATMEL_TCLIB=y
|
||||
CONFIG_AT_HDMAC=y
|
||||
CONFIG_AT_XDMAC=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_BATTERY_ACT8945A=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=4
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_SCSI_REQUEST=y
|
||||
CONFIG_CACHE_L2X0=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMA=y
|
||||
CONFIG_CMA_ALIGNMENT=8
|
||||
CONFIG_CMA_AREAS=7
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
# CONFIG_CMA_DEBUGFS is not set
|
||||
CONFIG_CMA_SIZE_MBYTES=16
|
||||
# CONFIG_CMA_SIZE_SEL_MAX is not set
|
||||
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_MIN is not set
|
||||
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw"
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_COMMON_CLK_AT91=y
|
||||
CONFIG_CONFIGFS_FS=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_COREDUMP=y
|
||||
CONFIG_CPU_32v6K=y
|
||||
CONFIG_CPU_32v7=y
|
||||
CONFIG_CPU_ABRT_EV7=y
|
||||
# CONFIG_CPU_BPREDICT_DISABLE is not set
|
||||
CONFIG_CPU_CACHE_V7=y
|
||||
CONFIG_CPU_CACHE_VIPT=y
|
||||
CONFIG_CPU_COPY_V6=y
|
||||
CONFIG_CPU_CP15=y
|
||||
CONFIG_CPU_CP15_MMU=y
|
||||
CONFIG_CPU_HAS_ASID=y
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_PABRT_V7=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_CPU_SPECTRE=y
|
||||
CONFIG_CPU_THUMB_CAPABLE=y
|
||||
CONFIG_CPU_TLB_V7=y
|
||||
CONFIG_CPU_V7=y
|
||||
CONFIG_CRASH_CORE=y
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_CRC16=y
|
||||
# CONFIG_CRC32_SARWATE is not set
|
||||
CONFIG_CRC32_SLICEBY8=y
|
||||
CONFIG_CROSS_MEMORY_ATTACH=y
|
||||
CONFIG_CRYPTO_ACOMP2=y
|
||||
CONFIG_CRYPTO_AEAD=y
|
||||
CONFIG_CRYPTO_AEAD2=y
|
||||
CONFIG_CRYPTO_CCM=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
CONFIG_CRYPTO_CTR=y
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_DRBG=y
|
||||
CONFIG_CRYPTO_DRBG_HMAC=y
|
||||
CONFIG_CRYPTO_DRBG_MENU=y
|
||||
CONFIG_CRYPTO_GCM=y
|
||||
CONFIG_CRYPTO_GF128MUL=y
|
||||
CONFIG_CRYPTO_GHASH=y
|
||||
CONFIG_CRYPTO_HASH=y
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_HMAC=y
|
||||
CONFIG_CRYPTO_JITTERENTROPY=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
CONFIG_CRYPTO_MANAGER=y
|
||||
CONFIG_CRYPTO_MANAGER2=y
|
||||
CONFIG_CRYPTO_NULL=y
|
||||
CONFIG_CRYPTO_NULL2=y
|
||||
CONFIG_CRYPTO_RNG=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_CRYPTO_RNG_DEFAULT=y
|
||||
CONFIG_CRYPTO_SEQIV=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_WORKQUEUE=y
|
||||
CONFIG_DCACHE_WORD_ACCESS=y
|
||||
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
# CONFIG_DEBUG_UART_8250 is not set
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEFAULT_IOSCHED="noop"
|
||||
CONFIG_DEFAULT_NOOP=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_DMA_ENGINE=y
|
||||
CONFIG_DMA_OF=y
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_ATMEL_HLCDC=y
|
||||
CONFIG_DRM_BRIDGE=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
CONFIG_DRM_FBDEV_OVERALLOC=100
|
||||
CONFIG_DRM_GEM_CMA_HELPER=y
|
||||
CONFIG_DRM_KMS_CMA_HELPER=y
|
||||
CONFIG_DRM_KMS_FB_HELPER=y
|
||||
CONFIG_DRM_KMS_HELPER=y
|
||||
CONFIG_DRM_PANEL=y
|
||||
CONFIG_DRM_PANEL_BRIDGE=y
|
||||
CONFIG_DRM_PANEL_SIMPLE=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FAT_FS=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_ATMEL is not set
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
|
||||
CONFIG_FB_SYS_COPYAREA=y
|
||||
CONFIG_FB_SYS_FILLRECT=y
|
||||
CONFIG_FB_SYS_FOPS=y
|
||||
CONFIG_FB_SYS_IMAGEBLIT=y
|
||||
CONFIG_FIRMWARE_IN_KERNEL=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=15
|
||||
CONFIG_FREEZER=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
||||
CONFIG_GENERIC_IO=y
|
||||
CONFIG_GENERIC_IRQ_CHIP=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_GENERIC_PINCONF=y
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||
CONFIG_GENERIC_STRNLEN_USER=y
|
||||
CONFIG_GLOB=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
# CONFIG_GRO_CELLS is not set
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
|
||||
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
|
||||
CONFIG_HAVE_ARCH_BITREVERSE=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_ARM_SMCCC=y
|
||||
CONFIG_HAVE_AT91_AUDIO_PLL=y
|
||||
CONFIG_HAVE_AT91_GENERATED_CLK=y
|
||||
CONFIG_HAVE_AT91_H32MX=y
|
||||
CONFIG_HAVE_AT91_SMD=y
|
||||
CONFIG_HAVE_AT91_USB_CLK=y
|
||||
CONFIG_HAVE_AT91_UTMI=y
|
||||
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
||||
CONFIG_HAVE_CC_STACKPROTECTOR=y
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_C_RECORDMCOUNT=y
|
||||
CONFIG_HAVE_DEBUG_KMEMLEAK=y
|
||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
|
||||
CONFIG_HAVE_EBPF_JIT=y
|
||||
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
|
||||
CONFIG_HAVE_FB_ATMEL=y
|
||||
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
|
||||
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_HAVE_MEMBLOCK=y
|
||||
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_OPTPROBES=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_PROC_CPU=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
CONFIG_HAVE_SMP=y
|
||||
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HDMI=y
|
||||
CONFIG_HID=y
|
||||
CONFIG_HID_GENERIC=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_ATMEL=y
|
||||
CONFIG_HZ_FIXED=0
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
CONFIG_I2C_AT91=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_COMPAT=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
CONFIG_I2C_HELPER_AUTO=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_IIO_BUFFER=y
|
||||
CONFIG_IIO_KFIFO_BUF=y
|
||||
CONFIG_IIO_TRIGGER=y
|
||||
CONFIG_IIO_TRIGGERED_BUFFER=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_INPUT_LEDS=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_IOMMU_HELPER=y
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_JBD2=y
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
CONFIG_KERNEL_GZIP=y
|
||||
# CONFIG_KERNEL_XZ is not set
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_KEXEC_CORE=y
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_KEYBOARD_QT1070=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_PWM=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
CONFIG_LZO_COMPRESS=y
|
||||
CONFIG_LZO_DECOMPRESS=y
|
||||
CONFIG_MACB=y
|
||||
CONFIG_MACB_USE_HWSTAMP=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_MANDATORY_FILE_LOCKING=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_MEMORY=y
|
||||
CONFIG_MEMORY_ISOLATION=y
|
||||
CONFIG_MFD_ACT8945A=y
|
||||
CONFIG_MFD_ATMEL_FLEXCOM=y
|
||||
CONFIG_MFD_ATMEL_HLCDC=y
|
||||
CONFIG_MFD_ATMEL_SMC=y
|
||||
CONFIG_MFD_CORE=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MICREL_PHY=y
|
||||
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
|
||||
CONFIG_MIGHT_HAVE_PCI=y
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ATMELMCI=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_OF_AT91=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
# CONFIG_MTD_CFI_AMDSTD is not set
|
||||
# CONFIG_MTD_CFI_INTELEXT is not set
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
# CONFIG_MTD_PHYSMAP_OF is not set
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_BEB_LIMIT=20
|
||||
# CONFIG_MTD_UBI_BLOCK is not set
|
||||
CONFIG_MTD_UBI_FASTMAP=y
|
||||
# CONFIG_MTD_UBI_GLUEBI is not set
|
||||
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||
CONFIG_MULTI_IRQ_HANDLER=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NEED_PER_CPU_KM=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=y
|
||||
CONFIG_NO_BOOTMEM=y
|
||||
CONFIG_NO_HZ_COMMON=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NVMEM=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OLD_SIGACTION=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_OUTER_CACHE=y
|
||||
CONFIG_OUTER_CACHE_SYNC=y
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
# CONFIG_PCI_DOMAINS_GENERIC is not set
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
CONFIG_PGTABLE_LEVELS=2
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_AT91=y
|
||||
CONFIG_PINCTRL_AT91PIO4=y
|
||||
# CONFIG_PINCTRL_SINGLE is not set
|
||||
# CONFIG_PL310_ERRATA_588369 is not set
|
||||
# CONFIG_PL310_ERRATA_727915 is not set
|
||||
# CONFIG_PL310_ERRATA_753970 is not set
|
||||
# CONFIG_PL310_ERRATA_769419 is not set
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_ADVANCED_DEBUG=y
|
||||
CONFIG_PM_CLK=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_PM_SLEEP=y
|
||||
CONFIG_PM_SLEEP_DEBUG=y
|
||||
# CONFIG_PM_TEST_SUSPEND is not set
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_AT91_POWEROFF=y
|
||||
CONFIG_POWER_RESET_AT91_RESET=y
|
||||
CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_PROC_VMCORE=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_ATMEL=y
|
||||
CONFIG_PWM_ATMEL_HLCDC_PWM=y
|
||||
CONFIG_PWM_ATMEL_TCB=y
|
||||
CONFIG_PWM_SYSFS=y
|
||||
CONFIG_RATIONAL=y
|
||||
# CONFIG_RCU_NEED_SEGCBLIST is not set
|
||||
# CONFIG_RCU_STALL_COMMON is not set
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_REGMAP_MMIO=y
|
||||
CONFIG_REGMAP_SPI=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_ACT8865=y
|
||||
CONFIG_REGULATOR_ACT8945A=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_AT91RM9200=y
|
||||
# CONFIG_RTC_DRV_AT91SAM9 is not set
|
||||
# CONFIG_RTC_DRV_CMOS is not set
|
||||
CONFIG_RTC_I2C_AND_SPI=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
CONFIG_SAMA5D4_WATCHDOG=y
|
||||
# CONFIG_SCHED_INFO is not set
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_LOWLEVEL is not set
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_SERIAL_ATMEL_PDC=y
|
||||
# CONFIG_SERIAL_ATMEL_TTYAT is not set
|
||||
CONFIG_SERIAL_MCTRL_GPIO=y
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_ARM=y
|
||||
# CONFIG_SND_AT73C213 is not set
|
||||
# CONFIG_SND_AT91_SOC_SAM9G20_WM8731 is not set
|
||||
# CONFIG_SND_AT91_SOC_SAM9X5_WM8731 is not set
|
||||
CONFIG_SND_ATMEL_SOC=y
|
||||
CONFIG_SND_ATMEL_SOC_CLASSD=y
|
||||
CONFIG_SND_ATMEL_SOC_DMA=y
|
||||
# CONFIG_SND_ATMEL_SOC_PDMIC is not set
|
||||
CONFIG_SND_ATMEL_SOC_SSC=y
|
||||
CONFIG_SND_ATMEL_SOC_SSC_DMA=y
|
||||
# CONFIG_SND_ATMEL_SOC_TSE850_PCM5142 is not set
|
||||
CONFIG_SND_ATMEL_SOC_WM8904=y
|
||||
# CONFIG_SND_COMPRESS_OFFLOAD is not set
|
||||
CONFIG_SND_DMAENGINE_PCM=y
|
||||
CONFIG_SND_JACK=y
|
||||
CONFIG_SND_JACK_INPUT_DEV=y
|
||||
CONFIG_SND_PCM=y
|
||||
CONFIG_SND_PCM_TIMER=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
|
||||
CONFIG_SND_SOC_I2C_AND_SPI=y
|
||||
CONFIG_SND_SOC_WM8904=y
|
||||
CONFIG_SND_SPI=y
|
||||
CONFIG_SND_SUPPORT_OLD_API=y
|
||||
CONFIG_SND_TIMER=y
|
||||
CONFIG_SOC_BUS=y
|
||||
CONFIG_SOC_SAMA5=y
|
||||
CONFIG_SOC_SAMA5D2=y
|
||||
CONFIG_SOC_SAMA5D3=y
|
||||
CONFIG_SOC_SAMA5D4=y
|
||||
CONFIG_SOC_SAM_V7=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SOUND_OSS_CORE=y
|
||||
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
CONFIG_SPI_ATMEL_QUADSPI=y
|
||||
CONFIG_SPI_BITBANG=y
|
||||
CONFIG_SPI_GPIO=y
|
||||
CONFIG_SPI_MASTER=y
|
||||
# CONFIG_SQUASHFS is not set
|
||||
CONFIG_SRAM=y
|
||||
CONFIG_SRAM_EXEC=y
|
||||
CONFIG_SRCU=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_SWPHY=y
|
||||
# CONFIG_SWP_EMULATE is not set
|
||||
CONFIG_SYNC_FILE=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
# CONFIG_THUMB2_KERNEL is not set
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
CONFIG_TIMER_OF=y
|
||||
CONFIG_TIMER_PROBE=y
|
||||
CONFIG_TINY_SRCU=y
|
||||
CONFIG_TOUCHSCREEN_ATMEL_MXT=y
|
||||
CONFIG_TOUCHSCREEN_PROPERTIES=y
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_UBIFS_FS_LZO=y
|
||||
CONFIG_UBIFS_FS_ZLIB=y
|
||||
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
# CONFIG_USB_AT91 is not set
|
||||
# CONFIG_USB_ATMEL_USBA is not set
|
||||
CONFIG_USB_COMMON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD_AT91=y
|
||||
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
|
||||
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_HID=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_AT91=y
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
# CONFIG_USB_PWC is not set
|
||||
CONFIG_USB_SERIAL=y
|
||||
# CONFIG_USB_SERIAL_CONSOLE is not set
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USE_OF=y
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_VFPv3=y
|
||||
CONFIG_VIDEOMODE_HELPERS=y
|
||||
# CONFIG_VIDEO_ATMEL_ISI is not set
|
||||
# CONFIG_VIDEO_CPIA2 is not set
|
||||
CONFIG_VIDEO_DEV=y
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_WATCHDOG_CORE=y
|
||||
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZLIB_DEFLATE=y
|
||||
CONFIG_ZLIB_INFLATE=y
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/image.mk
|
||||
KERNEL_LOADADDR := 0x20008000
|
||||
|
||||
define Build/at91-install-zImage
|
||||
$(CP) $(KDIR)/zImage $@
|
||||
$(CP) $(KDIR)/zImage $@
|
||||
endef
|
||||
|
||||
include $(SUBTARGET).mk
|
||||
@ -24,7 +24,8 @@ define Device/Default
|
||||
$(Device/default-nand)
|
||||
PROFILES := Default
|
||||
FILESYSTEMS := squashfs ubifs ext4
|
||||
DEVICE_DTS := $(1)
|
||||
DEVICE_DTS = $(lastword $(subst _, ,$(1)))
|
||||
SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
|
||||
KERNEL_NAME := zImage
|
||||
KERNEL_SIZE := 4096k
|
||||
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
|
||||
@ -55,17 +56,14 @@ endef
|
||||
define Device/evaluation-dtb
|
||||
$(Device/evaluation)
|
||||
$(Device/dtb)
|
||||
$(Device/evaluation-zImage)
|
||||
IMAGES += dtb
|
||||
IMAGE/dtb := install-dtb
|
||||
KERNEL_SUFFIX := -fit-zImage.itb
|
||||
KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
|
||||
KERNEL = kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(DEVICE_DTS).dtb
|
||||
endef
|
||||
|
||||
define Device/evaluation-fit
|
||||
$(Device/evaluation)
|
||||
KERNEL_SUFFIX := -fit-uImage.itb
|
||||
KERNEL := kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
|
||||
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb
|
||||
endef
|
||||
|
||||
define Device/production
|
||||
@ -77,8 +75,8 @@ endef
|
||||
define Device/production-dtb
|
||||
$(Device/production)
|
||||
$(Device/dtb)
|
||||
IMAGE/factory.bin := append-dtb | pad-to $$$$(DTB_SIZE) \
|
||||
| append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
|
||||
IMAGE/factory.bin := append-dtb | pad-to $$$$(DTB_SIZE) | \
|
||||
append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
|
||||
endef
|
||||
|
||||
$(eval $(call BuildImage))
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
define Device/default-nand
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
@ -15,169 +16,181 @@ define Build/at91-sdcard
|
||||
::$(DEVICE_NAME)-fit.itb
|
||||
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/u-boot-at91sam9x5ek_mmc/u-boot.bin \
|
||||
::u-boot.bin
|
||||
$(BIN_DIR)/u-boot-at91sam9x5ek_mmc/u-boot.bin \
|
||||
::u-boot.bin
|
||||
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-at91sam9x5eksd_uboot/at91bootstrap.bin \
|
||||
::BOOT.bin
|
||||
$(BIN_DIR)/at91bootstrap-at91sam9x5eksd_uboot/at91bootstrap.bin \
|
||||
::BOOT.bin
|
||||
|
||||
$(CP) uboot-env.txt $@-uboot-env.txt
|
||||
sed -i '2d;3d' $@-uboot-env.txt
|
||||
sed -i '2i board='"$(DEVICE_NAME)"'' $@-uboot-env.txt
|
||||
sed -i '3i board_name='"$(DEVICE_NAME)"'' $@-uboot-env.txt
|
||||
sed -i '3i board_name='"$(firstword $(SUPPORTED_DEVICES))"'' $@-uboot-env.txt
|
||||
|
||||
mkenvimage -s 0x4000 -o $@-uboot.env $@-uboot-env.txt
|
||||
|
||||
mcopy -i $@.boot $@-uboot.env ::uboot.env
|
||||
|
||||
./gen_at91_sdcard_img.sh \
|
||||
$@.img \
|
||||
$@.boot \
|
||||
$(KDIR)/root.ext4 \
|
||||
$(AT91_SD_BOOT_PARTSIZE) \
|
||||
$(CONFIG_TARGET_ROOTFS_PARTSIZE)
|
||||
$@.img \
|
||||
$@.boot \
|
||||
$(KDIR)/root.ext4 \
|
||||
$(AT91_SD_BOOT_PARTSIZE) \
|
||||
$(CONFIG_TARGET_ROOTFS_PARTSIZE)
|
||||
|
||||
gzip -nc9 $@.img > $@
|
||||
|
||||
rm -f $@.img $@.boot $@-uboot.env $@-uboot-env.txt)
|
||||
endef
|
||||
|
||||
define Device/at91sam9263ek
|
||||
define Device/atmel_at91sam9263ek
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9263-EK
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9263ek
|
||||
TARGET_DEVICES += atmel_at91sam9263ek
|
||||
|
||||
define Device/at91sam9g15ek
|
||||
define Device/atmel_at91sam9g15ek
|
||||
$(Device/evaluation)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9G15-EK
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9g15ek
|
||||
TARGET_DEVICES += atmel_at91sam9g15ek
|
||||
|
||||
define Device/at91sam9g20ek
|
||||
define Device/atmel_at91sam9g20ek
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9G20-EK
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9g20ek
|
||||
TARGET_DEVICES += atmel_at91sam9g20ek
|
||||
|
||||
define Device/at91sam9g20ek_2mmc
|
||||
define Device/atmel_at91sam9g20ek-2mmc
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9G20-EK
|
||||
DEVICE_VARIANT := 2MMC
|
||||
DEVICE_DTS := at91sam9g20ek_2mmc
|
||||
SUPPORTED_DEVICES := atmel,at91sam9g20ek_2mmc
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9g20ek_2mmc
|
||||
TARGET_DEVICES += atmel_at91sam9g20ek-2mmc
|
||||
|
||||
define Device/at91sam9g25ek
|
||||
define Device/atmel_at91sam9g25ek
|
||||
$(Device/evaluation)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9G25-EK
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9g25ek
|
||||
TARGET_DEVICES += atmel_at91sam9g25ek
|
||||
|
||||
define Device/at91sam9g35ek
|
||||
define Device/atmel_at91sam9g35ek
|
||||
$(Device/evaluation)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9G35-EK
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9g35ek
|
||||
TARGET_DEVICES += atmel_at91sam9g35ek
|
||||
|
||||
define Device/at91sam9m10g45ek
|
||||
define Device/atmel_at91sam9m10g45ek
|
||||
$(Device/evaluation)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9M10G45-EK
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9m10g45ek
|
||||
TARGET_DEVICES += atmel_at91sam9m10g45ek
|
||||
|
||||
define Device/at91sam9x25ek
|
||||
define Device/atmel_at91sam9x25ek
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9X25-EK
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9x25ek
|
||||
TARGET_DEVICES += atmel_at91sam9x25ek
|
||||
|
||||
define Device/at91sam9x35ek
|
||||
define Device/atmel_at91sam9x35ek
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Atmel
|
||||
DEVICE_MODEL := AT91SAM9X35-EK
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91sam9x35ek
|
||||
TARGET_DEVICES += atmel_at91sam9x35ek
|
||||
|
||||
define Device/lmu5000
|
||||
define Device/calamp_lmu5000
|
||||
$(Device/production)
|
||||
DEVICE_VENDOR := CalAmp
|
||||
DEVICE_MODEL := LMU5000
|
||||
DEVICE_PACKAGES := kmod-rtc-pcf2123 kmod-usb-acm kmod-usb-serial \
|
||||
kmod-usb-serial-option kmod-usb-serial-sierrawireless kmod-gpio-mcp23s08
|
||||
endef
|
||||
TARGET_DEVICES += lmu5000
|
||||
TARGET_DEVICES += calamp_lmu5000
|
||||
|
||||
define Device/tny_a9260
|
||||
define Device/calao_tny-a9260
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Calao
|
||||
DEVICE_MODEL := TNYA9260
|
||||
DEVICE_MODEL := TNY A9260
|
||||
DEVICE_DTS := tny_a9260
|
||||
endef
|
||||
TARGET_DEVICES += tny_a9260
|
||||
TARGET_DEVICES += calao_tny-a9260
|
||||
|
||||
define Device/tny_a9263
|
||||
define Device/calao_tny-a9263
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Calao
|
||||
DEVICE_MODEL := TNYA9263
|
||||
DEVICE_MODEL := TNY A9263
|
||||
DEVICE_DTS := tny_a9263
|
||||
SUPPORTED_DEVICES := atmel,tny-a9263
|
||||
endef
|
||||
TARGET_DEVICES += tny_a9263
|
||||
TARGET_DEVICES += calao_tny-a9263
|
||||
|
||||
define Device/tny_a9g20
|
||||
define Device/calao_tny-a9g20
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Calao
|
||||
DEVICE_MODEL := TNYA9G20
|
||||
DEVICE_MODEL := TNY A9G20
|
||||
DEVICE_DTS := tny_a9g20
|
||||
endef
|
||||
TARGET_DEVICES += tny_a9g20
|
||||
TARGET_DEVICES += calao_tny-a9g20
|
||||
|
||||
define Device/usb_a9260
|
||||
define Device/calao_usb-a9260
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Calao
|
||||
DEVICE_MODEL := USBA9260
|
||||
DEVICE_MODEL := USB A9260
|
||||
DEVICE_DTS := usb_a9260
|
||||
endef
|
||||
TARGET_DEVICES += usb_a9260
|
||||
TARGET_DEVICES += calao_usb-a9260
|
||||
|
||||
define Device/usb_a9263
|
||||
define Device/calao_usb-a9263
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Calao
|
||||
DEVICE_MODEL := USBA9263
|
||||
DEVICE_MODEL := USB A9263
|
||||
DEVICE_DTS := usb_a9263
|
||||
SUPPORTED_DEVICES := atmel,usb-a9263
|
||||
endef
|
||||
TARGET_DEVICES += usb_a9263
|
||||
TARGET_DEVICES += calao_usb-a9263
|
||||
|
||||
define Device/usb_a9g20
|
||||
define Device/calao_usb-a9g20
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Calao
|
||||
DEVICE_MODEL := USBA9G20
|
||||
DEVICE_MODEL := USB A9G20
|
||||
DEVICE_DTS := usb_a9g20
|
||||
endef
|
||||
TARGET_DEVICES += usb_a9g20
|
||||
TARGET_DEVICES += calao_usb-a9g20
|
||||
|
||||
define Device/ethernut5
|
||||
define Device/egnite_ethernut5
|
||||
$(Device/evaluation)
|
||||
DEVICE_VENDOR := egnite
|
||||
DEVICE_MODEL := Ethernut 5
|
||||
UBINIZE_OPTS := -E 5
|
||||
endef
|
||||
TARGET_DEVICES += ethernut5
|
||||
TARGET_DEVICES += egnite_ethernut5
|
||||
|
||||
define Device/at91-q5xr5
|
||||
define Device/exegin_q5xr5
|
||||
$(Device/production-dtb)
|
||||
DEVICE_VENDOR := Exegin
|
||||
DEVICE_MODEL := Q5XR5
|
||||
DEVICE_MODEL := Q5x
|
||||
DEVICE_VARIANT := rev5
|
||||
DEVICE_DTS := at91-q5xr5
|
||||
KERNEL_SIZE := 2048k
|
||||
DEFAULT := n
|
||||
endef
|
||||
TARGET_DEVICES += at91-q5xr5
|
||||
TARGET_DEVICES += exegin_q5xr5
|
||||
|
||||
define Device/wb45n
|
||||
define Device/laird_wb45n
|
||||
$(Device/evaluation-fit)
|
||||
DEVICE_VENDOR := Laird
|
||||
DEVICE_MODEL := WB45N
|
||||
@ -190,4 +203,4 @@ define Device/wb45n
|
||||
SUBPAGESIZE := 2048
|
||||
MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 955
|
||||
endef
|
||||
TARGET_DEVICES += wb45n
|
||||
TARGET_DEVICES += laird_wb45n
|
||||
|
@ -13,87 +13,94 @@ define Build/at91-sdcard
|
||||
|
||||
mcopy -i $@.boot \
|
||||
$(KDIR)/$(DEVICE_NAME)-fit-zImage.itb \
|
||||
::$(DEVICE_NAME:at91-%=%)-fit.itb
|
||||
::$(DEVICE_NAME)-fit.itb
|
||||
|
||||
$(if $(findstring at91-sama5d27_som1_ek,$@), \
|
||||
$(if $(findstring sama5d27-som1-ek,$@), \
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_NAME:at91-%=%)_mmc1/u-boot.bin \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_DTS:at91-%=%)_mmc1/u-boot.bin \
|
||||
::u-boot.bin
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_NAME:at91-%=%)sd1_uboot/at91bootstrap.bin \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd1_uboot/at91bootstrap.bin \
|
||||
::BOOT.bin,
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_NAME:at91-%=%)_mmc/u-boot.bin \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_DTS:at91-%=%)_mmc/u-boot.bin \
|
||||
::u-boot.bin
|
||||
$(if $(findstring sama5d4_xplained, $@), \
|
||||
$(if $(findstring sama5d4-xplained,$@), \
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_NAME:at91-%=%)sd_uboot_secure/at91bootstrap.bin \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd_uboot_secure/at91bootstrap.bin \
|
||||
::BOOT.bin,
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_NAME:at91-%=%)sd_uboot/at91bootstrap.bin \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd_uboot/at91bootstrap.bin \
|
||||
::BOOT.bin))
|
||||
|
||||
$(CP) uboot-env.txt $@-uboot-env.txt
|
||||
sed -i '2d;3d' $@-uboot-env.txt
|
||||
sed -i '2i board='"$(DEVICE_NAME:at91-%=%)"'' $@-uboot-env.txt
|
||||
sed -i '3i board_name='"$(DEVICE_NAME:at91-%=%)"'' $@-uboot-env.txt
|
||||
sed -i '2i board='"$(DEVICE_NAME)"'' $@-uboot-env.txt
|
||||
sed -i '3i board_name='"$(firstword $(SUPPORTED_DEVICES))"'' $@-uboot-env.txt
|
||||
|
||||
mkenvimage -s 0x4000 -o $@-uboot.env $@-uboot-env.txt
|
||||
|
||||
mcopy -i $@.boot $@-uboot.env ::uboot.env
|
||||
|
||||
./gen_at91_sdcard_img.sh \
|
||||
$@.img \
|
||||
$@.boot \
|
||||
$(KDIR)/root.ext4 \
|
||||
$(AT91_SD_BOOT_PARTSIZE) \
|
||||
$(CONFIG_TARGET_ROOTFS_PARTSIZE)
|
||||
$@.img \
|
||||
$@.boot \
|
||||
$(KDIR)/root.ext4 \
|
||||
$(AT91_SD_BOOT_PARTSIZE) \
|
||||
$(CONFIG_TARGET_ROOTFS_PARTSIZE)
|
||||
|
||||
gzip -nc9 $@.img > $@
|
||||
|
||||
rm -f $@.img $@.boot $@-uboot.env $@-uboot-env.txt)
|
||||
endef
|
||||
|
||||
define Device/at91-sama5d2_xplained
|
||||
define Device/microchip_sama5d2-xplained
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Microchip
|
||||
DEVICE_MODEL := SAMA5D2 Xplained
|
||||
DEVICE_DTS := at91-sama5d2_xplained
|
||||
SUPPORTED_DEVICES := atmel,sama5d2-xplained
|
||||
KERNEL_SIZE := 6144k
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91-sama5d2_xplained
|
||||
TARGET_DEVICES += microchip_sama5d2-xplained
|
||||
|
||||
define Device/at91-sama5d27_som1_ek
|
||||
define Device/microchip_sama5d27-som1-ek
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Microchip
|
||||
DEVICE_MODEL := SAMA5D27 SOM1 Ek
|
||||
DEVICE_DTS := at91-sama5d27_som1_ek
|
||||
SUPPORTED_DEVICES := atmel,sama5d27-som1-ek
|
||||
KERNEL_SIZE := 6144k
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91-sama5d27_som1_ek
|
||||
TARGET_DEVICES += microchip_sama5d27-som1-ek
|
||||
|
||||
define Device/at91-sama5d2_ptc_ek
|
||||
define Device/microchip_sama5d2-ptc-ek
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Microchip
|
||||
DEVICE_MODEL := SAMA5D2 PTC Ek
|
||||
DEVICE_DTS := at91-sama5d2_ptc_ek
|
||||
SUPPORTED_DEVICES := atmel,sama5d2-ptc_ek
|
||||
KERNEL_SIZE := 6144k
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91-sama5d2_ptc_ek
|
||||
TARGET_DEVICES += microchip_sama5d2-ptc-ek
|
||||
|
||||
|
||||
define Device/at91-sama5d3_xplained
|
||||
define Device/microchip_sama5d3-xplained
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Microchip
|
||||
DEVICE_MODEL := SAMA5D3 Xplained
|
||||
DEVICE_DTS := at91-sama5d3_xplained
|
||||
SUPPORTED_DEVICES := atmel,sama5d3-xplained
|
||||
KERNEL_SIZE := 6144k
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91-sama5d3_xplained
|
||||
TARGET_DEVICES += microchip_sama5d3-xplained
|
||||
|
||||
ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
|
||||
ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
|
||||
define Device/wb50n
|
||||
define Device/laird_wb50n
|
||||
$(Device/evaluation-fit)
|
||||
DEVICE_VENDOR := Laird
|
||||
DEVICE_MODEL := WB50N
|
||||
@ -106,15 +113,16 @@ ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
|
||||
SUBPAGESIZE := 2048
|
||||
MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 955
|
||||
endef
|
||||
TARGET_DEVICES += wb50n
|
||||
TARGET_DEVICES += laird_wb50n
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
define Device/at91-sama5d4_xplained
|
||||
define Device/microchip_sama5d4-xplained
|
||||
$(Device/evaluation-dtb)
|
||||
DEVICE_VENDOR := Microchip
|
||||
DEVICE_MODEL := SAMA5D4 Xplained
|
||||
DEVICE_DTS := at91-sama5d4_xplained
|
||||
SUPPORTED_DEVICES := atmel,sama5d4-xplained
|
||||
KERNEL_SIZE := 6144k
|
||||
BLOCKSIZE := 256k
|
||||
PAGESIZE := 4096
|
||||
@ -122,4 +130,4 @@ define Device/at91-sama5d4_xplained
|
||||
MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB -c 2082
|
||||
$(Device/evaluation-sdimage)
|
||||
endef
|
||||
TARGET_DEVICES += at91-sama5d4_xplained
|
||||
TARGET_DEVICES += microchip_sama5d4-xplained
|
||||
|
@ -1,13 +1,13 @@
|
||||
/* Do Not remove First 2 lines, Makefile will modify these lines with proper board names */
|
||||
board=at91sam9x25ek
|
||||
board_name=at91sam9x25ek
|
||||
board=atmel_at91sam9x25ek
|
||||
board_name=atmel,at91sam9x25ek
|
||||
bootargs=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4
|
||||
bootargsd2=console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4
|
||||
bootargsxx=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4
|
||||
bootcmd=run setbootargs; run fatload_mmc; bootm 0x21000000
|
||||
bootdelay=1
|
||||
fatload_mmc=if test ${board_name} = sama5d2_xplained || test ${board_name} = sama5d27_som1_ek; then fatload mmc 1:1 0x21000000 ${board_name}-fit.itb; else fatload mmc 0:1 0x21000000 ${board_name}-fit.itb; fi
|
||||
setbootargs=if test ${board_name} = sama5d2_xplained || test ${board_name} = sama5d27_som1_ek; then setenv bootargs ${bootargsd2}; else setenv bootargs ${bootargsxx}; fi
|
||||
fatload_mmc=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek; then fatload mmc 1:1 0x21000000 ${board}-fit.itb; else fatload mmc 0:1 0x21000000 ${board}-fit.itb; fi
|
||||
setbootargs=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek; then setenv bootargs ${bootargsd2}; else setenv bootargs ${bootargsxx}; fi
|
||||
ethact=gmac0
|
||||
stderr=serial
|
||||
stdin=serial
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -33,6 +33,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||
usb_a9g20.dtb \
|
||||
usb_a9g20_lpw.dtb \
|
||||
at91sam9m10g45ek.dtb \
|
||||
+ lmu5000.dtb \
|
||||
pm9g45.dtb \
|
||||
at91sam9n12ek.dtb \
|
||||
at91sam9rlek.dtb \
|
@ -1,434 +0,0 @@
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -50,6 +50,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||
wb45n.dtb
|
||||
dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||
at91-kizbox2.dtb \
|
||||
+ at91-sama5d2_ptc_ek.dtb \
|
||||
at91-sama5d27_som1_ek.dtb \
|
||||
at91-sama5d2_xplained.dtb \
|
||||
at91-sama5d3_xplained.dtb \
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
|
||||
@@ -0,0 +1,421 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||
+/*
|
||||
+ * at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board
|
||||
+ *
|
||||
+ * Copyright (C) 2017 Microchip/Atmel,
|
||||
+ * 2017 Wenyou Yang <wenyou.yang@microchip.com>
|
||||
+ * 2017 Ludovic Desroches <ludovic.desroches@microchip.com>
|
||||
+ */
|
||||
+/dts-v1/;
|
||||
+#include "sama5d2.dtsi"
|
||||
+#include "sama5d2-pinfunc.h"
|
||||
+#include <dt-bindings/mfd/atmel-flexcom.h>
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/pinctrl/at91.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "Atmel SAMA5D2 PTC EK";
|
||||
+ compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ i2c0 = &i2c0;
|
||||
+ i2c1 = &i2c1;
|
||||
+ i2c2 = &i2c2;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0x20000000 0x80000>;
|
||||
+ };
|
||||
+
|
||||
+ clocks {
|
||||
+ slow_xtal {
|
||||
+ clock-frequency = <32768>;
|
||||
+ };
|
||||
+
|
||||
+ main_xtal {
|
||||
+ clock-frequency = <24000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ahb {
|
||||
+ usb0: gadget@00300000 {
|
||||
+ atmel,vbus-gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usba_vbus>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ usb1: ohci@00400000 {
|
||||
+ num-ports = <3>;
|
||||
+ atmel,vbus-gpio = <0
|
||||
+ &pioA PIN_PB12 GPIO_ACTIVE_HIGH
|
||||
+ 0
|
||||
+ >;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usb_default>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ usb2: ehci@00500000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ nand0: nand@80000000 {
|
||||
+ nand-bus-width = <8>;
|
||||
+ nand-ecc-mode = "hw";
|
||||
+ nand-on-flash-bbt;
|
||||
+ atmel,has-pmecc;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_nand_default>;
|
||||
+ status = "okay"; /* conflicts with sdmmc1 and qspi0 */
|
||||
+
|
||||
+ at91bootstrap@0 {
|
||||
+ label = "bootstrap";
|
||||
+ reg = <0x0 0x40000>;
|
||||
+ };
|
||||
+
|
||||
+ bootloader@40000 {
|
||||
+ label = "bootloader";
|
||||
+ reg = <0x40000 0xc0000>;
|
||||
+ };
|
||||
+
|
||||
+ bootloaderenv@0x100000 {
|
||||
+ label = "bootloader env";
|
||||
+ reg = <0x100000 0x40000>;
|
||||
+ };
|
||||
+
|
||||
+ bootloaderenvred@0x140000 {
|
||||
+ label = "bootloader env redundant";
|
||||
+ reg = <0x140000 0x40000>;
|
||||
+ };
|
||||
+
|
||||
+ dtb@180000 {
|
||||
+ label = "device tree";
|
||||
+ reg = <0x180000 0x80000>;
|
||||
+ };
|
||||
+
|
||||
+ kernel@200000 {
|
||||
+ label = "kernel";
|
||||
+ reg = <0x200000 0x600000>;
|
||||
+ };
|
||||
+
|
||||
+ rootfs@800000 {
|
||||
+ label = "rootfs";
|
||||
+ reg = <0x800000 0x1f800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sdmmc0: sdio-host@a0000000 {
|
||||
+ bus-width = <8>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ apb {
|
||||
+ pmc: pmc@f0014000 {
|
||||
+ pmc_fast_restart {
|
||||
+ compatible = "atmel,sama5d2-pmc-fast-startup";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ atmel,wakeup-rtc-timer;
|
||||
+
|
||||
+ wkpin: input@0 {
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+
|
||||
+ gmac_wol: input@10 {
|
||||
+ reg = <10>;
|
||||
+ atmel,wakeup-active-high;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ spi0: spi@f8000000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_spi0_default>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /*
|
||||
+ m25p80@0 {
|
||||
+ compatible = "atmel,at25df321a";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <50000000>;
|
||||
+ };
|
||||
+ */
|
||||
+ };
|
||||
+
|
||||
+ macb0: ethernet@f8008000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
|
||||
+ phy-mode = "rmii";
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ethernet-phy@1 {
|
||||
+ reg = <0x1>;
|
||||
+ interrupt-parent = <&pioA>;
|
||||
+ interrupts = <56 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ uart0: serial@f801c000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart0_default>;
|
||||
+ atmel,use-dma-rx;
|
||||
+ atmel,use-dma-tx;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ uart2: serial@f8024000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart2_default>;
|
||||
+ atmel,use-dma-rx;
|
||||
+ atmel,use-dma-tx;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ i2c0: i2c@f8028000 {
|
||||
+ dmas = <0>, <0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||
+ i2c-sda-hold-time-ns = <350>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ flx0: flexcom@f8034000 {
|
||||
+ atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ i2c2: i2c@600 {
|
||||
+ compatible = "atmel,sama5d2-i2c";
|
||||
+ reg = <0x600 0x200>;
|
||||
+ interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
+ dmas = <0>, <0>;
|
||||
+ dma-names = "tx", "rx";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ clocks = <&flx0_clk>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_flx0_default>;
|
||||
+ atmel,fifo-size = <16>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ shdwc@f8048010 {
|
||||
+ atmel,shdwc-debouncer = <976>;
|
||||
+
|
||||
+ input@0 {
|
||||
+ reg = <0>;
|
||||
+ atmel,wakeup-type = "low";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ watchdog@f8048040 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ spi1: spi@fc000000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_spi1_default>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ i2c1: i2c@fc028000 {
|
||||
+ dmas = <0>, <0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ at24@50 {
|
||||
+ compatible = "24c02";
|
||||
+ reg = <0x50>;
|
||||
+ pagesize = <8>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl@fc038000 {
|
||||
+ pinctrl_flx0_default: flx0_default {
|
||||
+ pinmux = <PIN_PB28__FLEXCOM0_IO0>,
|
||||
+ <PIN_PB29__FLEXCOM0_IO1>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c0_default: i2c0_default {
|
||||
+ pinmux = <PIN_PD21__TWD0>,
|
||||
+ <PIN_PD22__TWCK0>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c1_default: i2c1_default {
|
||||
+ pinmux = <PIN_PC6__TWD1>,
|
||||
+ <PIN_PC7__TWCK1>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_key_gpio_default: key_gpio_default {
|
||||
+ pinmux = <PIN_PA10__GPIO>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_led_gpio_default: led_gpio_default {
|
||||
+ pinmux = <PIN_PB6__GPIO>,
|
||||
+ <PIN_PB8__GPIO>,
|
||||
+ <PIN_PB10__GPIO>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_macb0_default: macb0_default {
|
||||
+ pinmux = <PIN_PB14__GTXCK>,
|
||||
+ <PIN_PB15__GTXEN>,
|
||||
+ <PIN_PB16__GRXDV>,
|
||||
+ <PIN_PB17__GRXER>,
|
||||
+ <PIN_PB18__GRX0>,
|
||||
+ <PIN_PB19__GRX1>,
|
||||
+ <PIN_PB20__GTX0>,
|
||||
+ <PIN_PB21__GTX1>,
|
||||
+ <PIN_PB22__GMDC>,
|
||||
+ <PIN_PB23__GMDIO>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_macb0_phy_irq: macb0_phy_irq {
|
||||
+ pinmux = <PIN_PB24__GPIO>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_nand_default: nand_default {
|
||||
+ re_we_data {
|
||||
+ pinmux = <PIN_PA22__D0>,
|
||||
+ <PIN_PA23__D1>,
|
||||
+ <PIN_PA24__D2>,
|
||||
+ <PIN_PA25__D3>,
|
||||
+ <PIN_PA26__D4>,
|
||||
+ <PIN_PA27__D5>,
|
||||
+ <PIN_PA28__D6>,
|
||||
+ <PIN_PA29__D7>,
|
||||
+ <PIN_PA30__NWE_NANDWE>,
|
||||
+ <PIN_PB2__NRD_NANDOE>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ ale_cle_rdy_cs {
|
||||
+ pinmux = <PIN_PB0__A21_NANDALE>,
|
||||
+ <PIN_PB1__A22_NANDCLE>,
|
||||
+ <PIN_PC8__NANDRDY>,
|
||||
+ <PIN_PA31__NCS3>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_sdmmc0_default: sdmmc0_default {
|
||||
+ cmd_data {
|
||||
+ pinmux = <PIN_PA1__SDMMC0_CMD>,
|
||||
+ <PIN_PA2__SDMMC0_DAT0>,
|
||||
+ <PIN_PA3__SDMMC0_DAT1>,
|
||||
+ <PIN_PA4__SDMMC0_DAT2>,
|
||||
+ <PIN_PA5__SDMMC0_DAT3>,
|
||||
+ <PIN_PA6__SDMMC0_DAT4>,
|
||||
+ <PIN_PA7__SDMMC0_DAT5>,
|
||||
+ <PIN_PA8__SDMMC0_DAT6>,
|
||||
+ <PIN_PA9__SDMMC0_DAT7>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ ck_cd_vddsel {
|
||||
+ pinmux = <PIN_PA0__SDMMC0_CK>,
|
||||
+ <PIN_PA11__SDMMC0_VDDSEL>,
|
||||
+ <PIN_PA13__SDMMC0_CD>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_spi0_default: spi0_default {
|
||||
+ pinmux = <PIN_PA14__SPI0_SPCK>,
|
||||
+ <PIN_PA15__SPI0_MOSI>,
|
||||
+ <PIN_PA16__SPI0_MISO>,
|
||||
+ <PIN_PA17__SPI0_NPCS0>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_spi1_default: spi1_default {
|
||||
+ pinmux = <PIN_PC1__SPI1_SPCK>,
|
||||
+ <PIN_PC2__SPI1_MOSI>,
|
||||
+ <PIN_PC3__SPI1_MISO>,
|
||||
+ <PIN_PC4__SPI1_NPCS0>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart0_default: uart0_default {
|
||||
+ pinmux = <PIN_PB26__URXD0>,
|
||||
+ <PIN_PB27__UTXD0>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart2_default: uart2_default {
|
||||
+ pinmux = <PIN_PD23__URXD2>,
|
||||
+ <PIN_PD24__UTXD2>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usb_default: usb_default {
|
||||
+ pinmux = <PIN_PB12__GPIO>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usba_vbus: usba_vbus {
|
||||
+ pinmux = <PIN_PB11__GPIO>;
|
||||
+ bias-disable;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ ptc@fc060000 {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpio_keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_key_gpio_default>;
|
||||
+
|
||||
+ bp1 {
|
||||
+ label = "PB_USER";
|
||||
+ gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>;
|
||||
+ linux,code = <0x104>;
|
||||
+ wakeup-source;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_led_gpio_default>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ red {
|
||||
+ label = "red";
|
||||
+ gpios = <&pioA PIN_PB10 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ green {
|
||||
+ label = "green";
|
||||
+ gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ blue {
|
||||
+ label = "blue";
|
||||
+ gpios = <&pioA PIN_PB6 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
@ -1,10 +1,10 @@
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -41,6 +41,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||
@@ -38,6 +38,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||
at91-ariettag25.dtb \
|
||||
at91-cosino_mega2560.dtb \
|
||||
at91-kizboxmini.dtb \
|
||||
+ at91-q5xr5.dtb \
|
||||
at91-wb45n.dtb \
|
||||
at91sam9g15ek.dtb \
|
||||
at91sam9g25ek.dtb \
|
||||
at91sam9g35ek.dtb \
|
@ -1,6 +1,6 @@
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -46,7 +46,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||
@@ -44,7 +44,8 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||
at91sam9g25ek.dtb \
|
||||
at91sam9g35ek.dtb \
|
||||
at91sam9x25ek.dtb \
|
||||
@ -9,4 +9,4 @@
|
||||
+ wb45n.dtb
|
||||
dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||
at91-kizbox2.dtb \
|
||||
at91-sama5d27_som1_ek.dtb \
|
||||
at91-nattis-2-natte-2.dtb \
|
@ -0,0 +1,20 @@
|
||||
--- a/arch/arm/boot/dts/wb45n.dts
|
||||
+++ b/arch/arm/boot/dts/wb45n.dts
|
||||
@@ -126,7 +126,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
- usb0: ohci@00600000 {
|
||||
+ usb0: ohci@600000 {
|
||||
status = "okay";
|
||||
num-ports = <2>;
|
||||
atmel,vbus-gpio = <
|
||||
@@ -136,7 +136,7 @@
|
||||
atmel,oc-gpio = <&pioB 13 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
- usb1: ehci@00700000 {
|
||||
+ usb1: ehci@700000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -63,7 +63,8 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||
@@ -66,7 +66,8 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||
at91-sama5d4_ma5d4evk.dtb \
|
||||
at91-sama5d4_xplained.dtb \
|
||||
at91-sama5d4ek.dtb \
|
@ -0,0 +1,39 @@
|
||||
--- a/arch/arm/boot/dts/wb50n.dts
|
||||
+++ b/arch/arm/boot/dts/wb50n.dts
|
||||
@@ -60,15 +60,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
- usb0: gadget@00500000 {
|
||||
+ usb0: gadget@500000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
- usb1: ohci@00600000 {
|
||||
+ usb1: ohci@600000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
- usb2: ehci@00700000 {
|
||||
+ usb2: ehci@700000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
--- a/arch/arm/boot/dts/wb50n.dtsi
|
||||
+++ b/arch/arm/boot/dts/wb50n.dtsi
|
||||
@@ -185,13 +185,13 @@
|
||||
|
||||
};
|
||||
|
||||
- usb0: gadget@00500000 {
|
||||
+ usb0: gadget@500000 {
|
||||
atmel,vbus-gpio = <&pioB 13 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usba_vbus>;
|
||||
};
|
||||
|
||||
- usb1: ohci@00600000 {
|
||||
+ usb1: ohci@600000 {
|
||||
num-ports = <3>;
|
||||
atmel,vbus-gpio = <&pioA 2 GPIO_ACTIVE_LOW>;
|
||||
atmel,oc-gpio = <&pioA 4 GPIO_ACTIVE_LOW>;
|
@ -1,18 +1,53 @@
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
CONFIG_ARCH_32BIT_OFF_T=y
|
||||
CONFIG_ARCH_CLOCKSOURCE_DATA=y
|
||||
CONFIG_ARCH_HAS_BINFMT_FLAT=y
|
||||
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
|
||||
CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y
|
||||
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
|
||||
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
||||
CONFIG_ARCH_HAS_KCOV=y
|
||||
CONFIG_ARCH_HAS_KEEPINITRD=y
|
||||
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
|
||||
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
|
||||
CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
|
||||
CONFIG_ARCH_HAS_SET_MEMORY=y
|
||||
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
|
||||
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
|
||||
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
|
||||
CONFIG_ARCH_KEEP_MEMBLOCK=y
|
||||
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
||||
CONFIG_ARCH_MULTIPLATFORM=y
|
||||
# CONFIG_ARCH_MULTI_V4 is not set
|
||||
CONFIG_ARCH_MULTI_V4T=y
|
||||
CONFIG_ARCH_MULTI_V4_V5=y
|
||||
CONFIG_ARCH_MULTI_V5=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
|
||||
# CONFIG_ARM_AT91_CPUIDLE is not set
|
||||
CONFIG_ARCH_NR_GPIO=0
|
||||
CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
|
||||
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
||||
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
|
||||
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
|
||||
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=5
|
||||
# CONFIG_AT91RM9200_WATCHDOG is not set
|
||||
# CONFIG_AT91_SAMA5D2_ADC is not set
|
||||
CONFIG_ATMEL_AIC_IRQ=y
|
||||
CONFIG_ATMEL_ST=y
|
||||
CONFIG_BACKLIGHT_ATMEL_LCDC=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_CMA_DEBUGFS=y
|
||||
CONFIG_ARM_PATCH_PHYS_VIRT=y
|
||||
CONFIG_ARM_THUMB=y
|
||||
CONFIG_ARM_UNWIND=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
|
||||
CONFIG_CC_HAS_KASAN_GENERIC=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_COMPAT_32BIT_TIME=y
|
||||
CONFIG_CPU_32v4T=y
|
||||
CONFIG_CPU_32v5=y
|
||||
CONFIG_CPU_ABRT_EV4T=y
|
||||
@ -23,42 +58,131 @@ CONFIG_CPU_ARM926T=y
|
||||
CONFIG_CPU_CACHE_V4WT=y
|
||||
CONFIG_CPU_CACHE_VIVT=y
|
||||
CONFIG_CPU_COPY_V4WB=y
|
||||
CONFIG_CPU_CP15=y
|
||||
CONFIG_CPU_CP15_MMU=y
|
||||
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
|
||||
# CONFIG_CPU_IDLE_GOV_MENU is not set
|
||||
CONFIG_CPU_NO_EFFICIENT_FFS=y
|
||||
CONFIG_CPU_PABRT_LEGACY=y
|
||||
CONFIG_CPU_THUMB_CAPABLE=y
|
||||
CONFIG_CPU_TLB_V4WBI=y
|
||||
CONFIG_CPU_USE_DOMAINS=y
|
||||
CONFIG_CRC7=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_CRC_ITU_T=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_FB_ATMEL=y
|
||||
CONFIG_FB_BACKLIGHT=y
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
|
||||
CONFIG_DMA_REMAP=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
# CONFIG_HAVE_ARCH_BITREVERSE is not set
|
||||
CONFIG_HZ=128
|
||||
CONFIG_HZ_FIXED=128
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
||||
CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||
CONFIG_GENERIC_STRNLEN_USER=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_COPY_THREAD_TLS=y
|
||||
CONFIG_HAVE_C_RECORDMCOUNT=y
|
||||
CONFIG_HAVE_DEBUG_KMEMLEAK=y
|
||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
|
||||
CONFIG_HAVE_EBPF_JIT=y
|
||||
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
|
||||
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
|
||||
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_OPTPROBES=y
|
||||
CONFIG_HAVE_PCI=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_PROC_CPU=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
CONFIG_HAVE_RSEQ=y
|
||||
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_HZ_FIXED=0
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
# CONFIG_MFD_ACT8945A is not set
|
||||
# CONFIG_MFD_ATMEL_FLEXCOM is not set
|
||||
# CONFIG_MMC_SDHCI is not set
|
||||
CONFIG_MMC_SPI=y
|
||||
# CONFIG_MTD_SPI_NOR is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
CONFIG_MEMFD_CREATE=y
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_OF_AT91=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NEED_KUSER_HELPERS=y
|
||||
# CONFIG_NO_HZ_IDLE is not set
|
||||
# CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC is not set
|
||||
# CONFIG_REGULATOR_ACT8865 is not set
|
||||
CONFIG_RTC_DRV_AT91SAM9=y
|
||||
# CONFIG_SAMA5D4_WATCHDOG is not set
|
||||
# CONFIG_SND_ARM is not set
|
||||
# CONFIG_SND_ATMEL_SOC_CLASSD is not set
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
# CONFIG_SND_SPI is not set
|
||||
CONFIG_SOC_AT91RM9200=y
|
||||
CONFIG_SOC_AT91SAM9=y
|
||||
CONFIG_SOC_SAM_V4_V5=y
|
||||
CONFIG_NEED_PER_CPU_KM=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_KOBJ=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OLD_SIGACTION=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
CONFIG_PGTABLE_LEVELS=2
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_REFCOUNT_FULL=y
|
||||
CONFIG_SERIAL_8250_FSL=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=999999
|
||||
CONFIG_TOUCHSCREEN_ADS7846=y
|
||||
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
CONFIG_TIMER_OF=y
|
||||
CONFIG_TIMER_PROBE=y
|
||||
CONFIG_TINY_SRCU=y
|
||||
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||
CONFIG_UNWINDER_ARM=y
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USE_OF=y
|
||||
# CONFIG_VFP is not set
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user