Compare commits
95 Commits
v22.03.0-r
...
v22.03.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17bd6b0477 | ||
|
|
512e76967f | ||
|
|
d691625ec4 | ||
|
|
93e6581b90 | ||
|
|
3889f90ee2 | ||
|
|
8ff8a4dc9e | ||
|
|
aebb19d34b | ||
|
|
557e4cb169 | ||
|
|
f7c358c2ad | ||
|
|
ae1786e543 | ||
|
|
ea4ec11f4e | ||
|
|
c53fea7a8a | ||
|
|
2ae0ad375b | ||
|
|
d3ccf0976a | ||
|
|
30bce90d84 | ||
|
|
b8b5ee12cd | ||
|
|
a79a21b509 | ||
|
|
3abed8406b | ||
|
|
caa43f4428 | ||
|
|
26b436e2a2 | ||
|
|
0588b124e4 | ||
|
|
dced5f2c95 | ||
|
|
e497818e18 | ||
|
|
9703a2adcc | ||
|
|
251336639c | ||
|
|
dddf01c508 | ||
|
|
89956c6532 | ||
|
|
4209c33ae2 | ||
|
|
a901a13505 | ||
|
|
d1f14d17aa | ||
|
|
0197cc553a | ||
|
|
567f64df57 | ||
|
|
f543588812 | ||
|
|
8de88a2aa9 | ||
|
|
e0832778a3 | ||
|
|
da3dc96b64 | ||
|
|
237f8e2cfc | ||
|
|
8a9733ee0d | ||
|
|
8f4a2e4234 | ||
|
|
f92ac40ebd | ||
|
|
d4f20964ff | ||
|
|
469db326ac | ||
|
|
fd268e3973 | ||
|
|
296c9aeb39 | ||
|
|
97213c7335 | ||
|
|
ecd8f7e294 | ||
|
|
290ace2fe6 | ||
|
|
d94a28f7d2 | ||
|
|
bfb37d363c | ||
|
|
464f349fad | ||
|
|
7edaae16db | ||
|
|
206581018c | ||
|
|
1320a78aab | ||
|
|
e06f97eb33 | ||
|
|
93ac163dea | ||
|
|
659bb7638d | ||
|
|
89b7714cf6 | ||
|
|
5e39f37caa | ||
|
|
da7e9b201e | ||
|
|
dfe5c23592 | ||
|
|
1d16b928b3 | ||
|
|
2728d13030 | ||
|
|
46e62907f1 | ||
|
|
be29de706c | ||
|
|
6c901ec97d | ||
|
|
6a638c134d | ||
|
|
1c7a167366 | ||
|
|
fd4a354f3e | ||
|
|
13d66ef33f | ||
|
|
534e256c02 | ||
|
|
2a6fa77b77 | ||
|
|
fc05102d51 | ||
|
|
3b51f74a91 | ||
|
|
9727b71147 | ||
|
|
0038e96c27 | ||
|
|
5c69416246 | ||
|
|
0855549b4b | ||
|
|
0179ba7851 | ||
|
|
ca58b8b4fe | ||
|
|
707ec48ab3 | ||
|
|
5e0173de51 | ||
|
|
7561eab8e8 | ||
|
|
1f9d603141 | ||
|
|
39ac29a68a | ||
|
|
ec8b5cf0e6 | ||
|
|
247ef07540 | ||
|
|
62fff4e1e6 | ||
|
|
ecf0dc7055 | ||
|
|
bd9bb13012 | ||
|
|
bd74c11155 | ||
|
|
dcb782792b | ||
|
|
c2c32bdc80 | ||
|
|
456d05d6d8 | ||
|
|
daa73dc681 | ||
|
|
596efe1356 |
@@ -1,4 +1,4 @@
|
||||
src-git-full packages https://git.openwrt.org/feed/packages.git^72abf7e9f4cd6bbb9098ded9e9a0fe28e515d47f
|
||||
src-git-full luci https://git.openwrt.org/project/luci.git^69231a7d62a3b809fc5972071e691fb02730a10e
|
||||
src-git-full routing https://git.openwrt.org/feed/routing.git^1ccc4e435175e6ba5ac60e626e1e95eb25c5757b
|
||||
src-git-full packages https://git.openwrt.org/feed/packages.git^426ccd2e0cf56394017d32b864cd66a570852706
|
||||
src-git-full luci https://git.openwrt.org/project/luci.git^487e58a0a61f8d2396893bd9fa6695269b1fd1d3
|
||||
src-git-full routing https://git.openwrt.org/feed/routing.git^8872359011eee64981804f7ed42d5d6b54add6d8
|
||||
src-git-full telephony https://git.openwrt.org/feed/telephony.git^1d2031a5c82816483c51bca15649e2957fbe2bc2
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.10 = .134
|
||||
LINUX_KERNEL_HASH-5.10.134 = ec3513acdf033dd8f8ac2545cd1bb826b0669e151185e5f70408a5c9fe273269
|
||||
LINUX_VERSION-5.10 = .138
|
||||
LINUX_KERNEL_HASH-5.10.138 = 29a003bb8e0e3a45942f703370fb0b3460e6fdcbbad37424423c9cf831ab5ba8
|
||||
|
||||
@@ -223,11 +223,6 @@ $(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_IRC, $(P_XT)nf_connt
|
||||
$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_IRC, $(P_XT)nf_nat_irc))
|
||||
|
||||
|
||||
# ulog
|
||||
|
||||
$(eval $(call nf_add,IPT_ULOG,CONFIG_IP_NF_TARGET_ULOG, $(P_V4)ipt_ULOG))
|
||||
|
||||
|
||||
# nflog
|
||||
|
||||
$(eval $(call nf_add,IPT_NFLOG,CONFIG_NETFILTER_XT_TARGET_NFLOG, $(P_XT)xt_NFLOG))
|
||||
@@ -314,7 +309,6 @@ $(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat))
|
||||
|
||||
# watchers
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_ULOG, $(P_EBT)ebt_ulog))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFQUEUE, $(P_EBT)ebt_nfqueue))
|
||||
|
||||
@@ -340,12 +334,7 @@ $(eval $(if $(NF_KMOD),$(call nf_add,NFT_BRIDGE,CONFIG_NF_CONNTRACK_BRIDGE, $(P_
|
||||
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_NAT, $(P_XT)nft_nat),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_NAT, $(P_XT)nft_chain_nat),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_REDIR_IPV4, $(P_V4)nft_redir_ipv4),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ, $(P_XT)nft_masq),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ_IPV4, $(P_V4)nft_masq_ipv4),))
|
||||
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT6,CONFIG_NFT_REDIR_IPV6, $(P_V6)nft_redir_ipv6),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT6,CONFIG_NFT_MASQ_IPV6, $(P_V6)nft_masq_ipv6),))
|
||||
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_FIB,CONFIG_NFT_FIB, $(P_XT)nft_fib),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NFT_FIB,CONFIG_NFT_FIB_INET, $(P_XT)nft_fib_inet),))
|
||||
@@ -386,7 +375,6 @@ IPT_BUILTIN += $(IPT_NAT6-y)
|
||||
IPT_BUILTIN += $(IPT_NAT_EXTRA-y)
|
||||
IPT_BUILTIN += $(NF_NATHELPER-y)
|
||||
IPT_BUILTIN += $(NF_NATHELPER_EXTRA-y)
|
||||
IPT_BUILTIN += $(IPT_ULOG-y)
|
||||
IPT_BUILTIN += $(IPT_TPROXY-y)
|
||||
IPT_BUILTIN += $(NFNETLINK-y)
|
||||
IPT_BUILTIN += $(NFNETLINK_LOG-y)
|
||||
|
||||
@@ -162,20 +162,22 @@ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
|
||||
$(eval $(call CleanupPython2))
|
||||
|
||||
$(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \
|
||||
python3.11 -V 2>&1 | grep 'Python 3', \
|
||||
python3.10 -V 2>&1 | grep 'Python 3', \
|
||||
python3.9 -V 2>&1 | grep 'Python 3', \
|
||||
python3.8 -V 2>&1 | grep 'Python 3', \
|
||||
python3.7 -V 2>&1 | grep 'Python 3', \
|
||||
python3.6 -V 2>&1 | grep 'Python 3', \
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|10)\.?'))
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|[0-9][0-9])\.?'))
|
||||
|
||||
$(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \
|
||||
python3.11 -V 2>&1 | grep 'Python 3', \
|
||||
python3.10 -V 2>&1 | grep 'Python 3', \
|
||||
python3.9 -V 2>&1 | grep 'Python 3', \
|
||||
python3.8 -V 2>&1 | grep 'Python 3', \
|
||||
python3.7 -V 2>&1 | grep 'Python 3', \
|
||||
python3.6 -V 2>&1 | grep 'Python 3', \
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|10)\.?'))
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|[0-9][0-9])\.?'))
|
||||
|
||||
$(eval $(call TestHostCommand,python3-distutils, \
|
||||
Please install the Python3 distutils module, \
|
||||
|
||||
@@ -23,13 +23,13 @@ PKG_CONFIG_DEPENDS += \
|
||||
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
|
||||
|
||||
VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
|
||||
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),22.03.0-rc6)
|
||||
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),22.03.0)
|
||||
|
||||
VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE))
|
||||
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r19590-042d558536)
|
||||
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r19685-512e76967f)
|
||||
|
||||
VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
|
||||
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/22.03.0-rc6)
|
||||
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/22.03.0)
|
||||
|
||||
VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
|
||||
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
|
||||
|
||||
@@ -79,6 +79,37 @@ mtd_get_mac_ascii() {
|
||||
[ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty"
|
||||
}
|
||||
|
||||
mtd_get_mac_encrypted_arcadyan() {
|
||||
local iv="00000000000000000000000000000000"
|
||||
local key="2A4B303D7644395C3B2B7053553C5200"
|
||||
local mac_dirty
|
||||
local mtdname="$1"
|
||||
local part
|
||||
local size
|
||||
|
||||
part=$(find_mtd_part "$mtdname")
|
||||
if [ -z "$part" ]; then
|
||||
echo "mtd_get_mac_encrypted_arcadyan: partition $mtdname not found!" >&2
|
||||
return
|
||||
fi
|
||||
|
||||
# Config decryption and getting mac. Trying uencrypt and openssl utils.
|
||||
size=$((0x$(dd if=$part skip=9 bs=1 count=4 2>/dev/null | hexdump -v -e '1/4 "%08x"')))
|
||||
if [[ -f "/usr/bin/uencrypt" ]]; then
|
||||
mac_dirty=$(dd if=$part bs=1 count=$size skip=$((0x100)) 2>/dev/null | \
|
||||
uencrypt -d -n -k $key -i $iv | grep mac | cut -c 5-)
|
||||
elif [[ -f "/usr/bin/openssl" ]]; then
|
||||
mac_dirty=$(dd if=$part bs=1 count=$size skip=$((0x100)) 2>/dev/null | \
|
||||
openssl aes-128-cbc -d -nopad -K $key -iv $iv | grep mac | cut -c 5-)
|
||||
else
|
||||
echo "mtd_get_mac_encrypted_arcadyan: Neither uencrypt nor openssl was found!" >&2
|
||||
return
|
||||
fi
|
||||
|
||||
# "canonicalize" mac
|
||||
[ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty"
|
||||
}
|
||||
|
||||
mtd_get_mac_text() {
|
||||
local mtdname=$1
|
||||
local offset=$(($2))
|
||||
|
||||
@@ -183,7 +183,7 @@ if VERSIONOPT
|
||||
config VERSION_REPO
|
||||
string
|
||||
prompt "Release repository"
|
||||
default "https://downloads.openwrt.org/releases/22.03.0-rc6"
|
||||
default "https://downloads.openwrt.org/releases/22.03.0"
|
||||
help
|
||||
This is the repository address embedded in the image, it defaults
|
||||
to the trunk snapshot repo; the url may contain the following placeholders:
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
--- a/plat/mediatek/mt7622/bl2_boot_snand.c
|
||||
+++ b/plat/mediatek/mt7622/bl2_boot_snand.c
|
||||
@@ -21,6 +21,10 @@
|
||||
#define FIP_BASE 0x80000
|
||||
#define FIP_SIZE 0x200000
|
||||
|
||||
+#ifndef NMBM
|
||||
+#define SNAND_MAX_BAD_BLOCK 3
|
||||
+#endif
|
||||
+
|
||||
struct snfi_gpio_mux_info {
|
||||
const uint32_t *pins;
|
||||
uint32_t count;
|
||||
@@ -45,12 +49,26 @@ static size_t snand_read_range(int lba,
|
||||
size_t sizeremain = size, chunksize;
|
||||
uint64_t off = lba * cinfo.pagesize;
|
||||
uint8_t *ptr = (uint8_t *)buf;
|
||||
+ struct mtk_snand_chip_info info;
|
||||
+ unsigned int bad_blocks = 0;
|
||||
int ret = 0;
|
||||
|
||||
if (!snf)
|
||||
return 0;
|
||||
|
||||
+ ret = mtk_snand_get_chip_info(snf, &info);
|
||||
+ if (ret)
|
||||
+ return 0;
|
||||
+
|
||||
while (sizeremain) {
|
||||
+ while (mtk_snand_block_isbad(snf, off)) {
|
||||
+ if (bad_blocks > SNAND_MAX_BAD_BLOCK)
|
||||
+ return size - sizeremain;
|
||||
+
|
||||
+ off += info.blocksize;
|
||||
+ ++bad_blocks;
|
||||
+ }
|
||||
+
|
||||
chunksize = cinfo.pagesize;
|
||||
if (chunksize > sizeremain)
|
||||
chunksize = sizeremain;
|
||||
@@ -136,12 +136,6 @@ define AT91Bootstrap/sama5d27_som1_eksd_uboot
|
||||
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:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_ekqspi_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (QSPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
@@ -193,7 +187,7 @@ AT91BOOTSTRAP_TARGETS := \
|
||||
sama5d4_xplainednf_uboot_secure \
|
||||
sama5d4_xplaineddf_uboot_secure \
|
||||
sama5d4_xplainedsd_uboot_secure \
|
||||
sama5d27_som1_eksd1_uboot \
|
||||
sama5d27_som1_eksd_uboot \
|
||||
sama5d27_som1_ekqspi_uboot \
|
||||
sama5d27_wlsom1_eksd_uboot \
|
||||
sama5d27_wlsom1_ekdf_qspi_uboot \
|
||||
|
||||
@@ -107,8 +107,8 @@ define U-Boot/sama5d4_xplained_nandflash
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define U-Boot/sama5d27_som1_ek_mmc1
|
||||
NAME:=SAMA5D27 SOM1 Ek (SDCard1)
|
||||
define U-Boot/sama5d27_som1_ek_mmc
|
||||
NAME:=SAMA5D27 SOM1 Ek (SDCard0)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
@@ -163,7 +163,7 @@ UBOOT_TARGETS := \
|
||||
sama5d4_xplained_mmc \
|
||||
sama5d4_xplained_spiflash \
|
||||
sama5d4_xplained_nandflash\
|
||||
sama5d27_som1_ek_mmc1 \
|
||||
sama5d27_som1_ek_mmc \
|
||||
sama5d27_som1_ek_qspiflash \
|
||||
sama5d27_wlsom1_ek_mmc \
|
||||
sama5d27_wlsom1_ek_qspiflash \
|
||||
|
||||
@@ -39,7 +39,7 @@ ruijie,rg-ew3200gx-pro)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
ubnt,unifi-6-lr-ubootmod)
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x4000" "0x10000"
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x4000" "0x1000"
|
||||
;;
|
||||
xiaomi,redmi-router-ax6s)
|
||||
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x40000"
|
||||
|
||||
@@ -35,10 +35,7 @@ buffalo,wsr-1166dhp|\
|
||||
buffalo,wsr-600dhp|\
|
||||
mediatek,linkit-smart-7688|\
|
||||
samknows,whitebox-v8|\
|
||||
xiaomi,mi-router-3g-v2|\
|
||||
xiaomi,mi-router-4a-gigabit|\
|
||||
xiaomi,mi-router-4c|\
|
||||
xiaomi,miwifi-3c|\
|
||||
xiaomi,miwifi-nano|\
|
||||
zbtlink,zbt-wg2626|\
|
||||
zte,mf283plus)
|
||||
@@ -50,7 +47,8 @@ ravpower,rp-wd03)
|
||||
[ -n "$idx" ] && \
|
||||
ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000"
|
||||
;;
|
||||
jcg,q20)
|
||||
jcg,q20|\
|
||||
netgear,wax202)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
beeline,smartbox-flash|\
|
||||
@@ -60,12 +58,22 @@ linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
linksys,ea8100-v1|\
|
||||
linksys,ea8100-v2|\
|
||||
mts,wg430223)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x20000"
|
||||
;;
|
||||
xiaomi,mi-router-3g-v2|\
|
||||
xiaomi,mi-router-4a-gigabit|\
|
||||
xiaomi,miwifi-3c)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000"
|
||||
ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x4000" "0x10000"
|
||||
;;
|
||||
xiaomi,mi-router-3g|\
|
||||
xiaomi,mi-router-3-pro|\
|
||||
xiaomi,mi-router-4|\
|
||||
xiaomi,mi-router-ac2100|\
|
||||
xiaomi,redmi-router-ac2100)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x20000"
|
||||
ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x4000" "0x20000"
|
||||
;;
|
||||
zyxel,nr7101)
|
||||
idx="$(find_mtd_index Config)"
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From a3ba6adb70c91ec3b9312c3a025faa44acd39cfa Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 13 Jul 2022 11:16:39 +0800
|
||||
Subject: [PATCH] arm: dts: mt7622: remove default pinctrl of uart0
|
||||
|
||||
Currently u-boot running on mt7622 will print an warning log at beginning:
|
||||
> serial_mtk serial@11002000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
|
||||
|
||||
It turns out that the pinctrl uclass can't work properly in board_f stage.
|
||||
|
||||
Since the uart0 is the default UART device used by bootrom, and will be
|
||||
initialized in both bootrom and tf-a bl2. It's ok not to setup pinctrl for
|
||||
uart0 in u-boot.
|
||||
|
||||
This patch removes the default pinctrl of uart0 to suppress the unwanted
|
||||
warning.
|
||||
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
arch/arm/dts/mt7622-bananapi-bpi-r64.dts | 2 --
|
||||
arch/arm/dts/mt7622-rfb.dts | 2 --
|
||||
2 files changed, 4 deletions(-)
|
||||
|
||||
--- a/arch/arm/dts/mt7622-bananapi-bpi-r64.dts
|
||||
+++ b/arch/arm/dts/mt7622-bananapi-bpi-r64.dts
|
||||
@@ -182,8 +182,6 @@
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&uart0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--- a/arch/arm/dts/mt7622-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7622-rfb.dts
|
||||
@@ -189,8 +189,6 @@
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
- pinctrl-names = "default";
|
||||
- pinctrl-0 = <&uart0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 79786aa175010dde78f95970939e8efadd7a3295 Mon Sep 17 00:00:00 2001
|
||||
From: Weijie Gao <weijie.gao@mediatek.com>
|
||||
Date: Wed, 31 Aug 2022 19:04:34 +0800
|
||||
Subject: [PATCH 11/32] arm: dts: mt7622: force high-speed mode for uart
|
||||
|
||||
The input clock for uart is too slow (25MHz) which introduces frequent data
|
||||
error on both receiving and transmitting even if the baudrate is 115200.
|
||||
|
||||
Using high-speed can significantly solve this issue.
|
||||
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||||
---
|
||||
arch/arm/dts/mt7622.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/arch/arm/dts/mt7622.dtsi
|
||||
+++ b/arch/arm/dts/mt7622.dtsi
|
||||
@@ -191,6 +191,7 @@
|
||||
status = "disabled";
|
||||
assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>;
|
||||
assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>;
|
||||
+ mediatek,force-highspeed;
|
||||
};
|
||||
|
||||
mmc0: mmc@11230000 {
|
||||
@@ -0,0 +1,48 @@
|
||||
From 22832a0a15227e3fcc364b356247d8aeb9ce45b3 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Sat, 27 Aug 2022 04:05:31 +0100
|
||||
Subject: [PATCH 1/2] bootm: fix typo imape_comp -> image_comp
|
||||
|
||||
Chage variable name 'imape_comp' to the supposedly intended name
|
||||
'image_comp'.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
boot/bootm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/boot/bootm.c
|
||||
+++ b/boot/bootm.c
|
||||
@@ -973,7 +973,7 @@ static int bootm_host_load_image(const v
|
||||
int noffset;
|
||||
ulong load_end;
|
||||
uint8_t image_type;
|
||||
- uint8_t imape_comp;
|
||||
+ uint8_t image_comp;
|
||||
void *load_buf;
|
||||
int ret;
|
||||
|
||||
@@ -991,20 +991,20 @@ static int bootm_host_load_image(const v
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- if (fit_image_get_comp(fit, noffset, &imape_comp)) {
|
||||
+ if (fit_image_get_comp(fit, noffset, &image_comp)) {
|
||||
puts("Can't get image compression!\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Allow the image to expand by a factor of 4, should be safe */
|
||||
load_buf = malloc((1 << 20) + len * 4);
|
||||
- ret = image_decomp(imape_comp, 0, data, image_type, load_buf,
|
||||
+ ret = image_decomp(image_comp, 0, data, image_type, load_buf,
|
||||
(void *)data, len, CONFIG_SYS_BOOTM_LEN,
|
||||
&load_end);
|
||||
free(load_buf);
|
||||
|
||||
if (ret) {
|
||||
- ret = handle_decomp_error(imape_comp, load_end - 0, ret);
|
||||
+ ret = handle_decomp_error(image_comp, load_end - 0, ret);
|
||||
if (ret != BOOTM_ERR_UNIMPLEMENTED)
|
||||
return ret;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
From b2c109c012ca946baebbb23e7f4301f6eee4c6f3 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Mon, 15 Aug 2022 12:15:50 +0200
|
||||
Subject: [PATCH 2/2] image-fit: don't set compression if it can't be read
|
||||
|
||||
fit_image_get_comp() should not set value -1 in case it can't read
|
||||
the compression node. Instead, leave the value untouched in that case
|
||||
as it can be absent and a default value previously defined by the
|
||||
caller of fit_image_get_comp() should be used.
|
||||
|
||||
As a result the warning message
|
||||
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
|
||||
no longer shows if the compression node is actually absent.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
boot/bootm.c | 6 ++----
|
||||
boot/image-fit.c | 3 +--
|
||||
cmd/ximg.c | 7 ++-----
|
||||
3 files changed, 5 insertions(+), 11 deletions(-)
|
||||
|
||||
--- a/boot/bootm.c
|
||||
+++ b/boot/bootm.c
|
||||
@@ -991,10 +991,8 @@ static int bootm_host_load_image(const v
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- if (fit_image_get_comp(fit, noffset, &image_comp)) {
|
||||
- puts("Can't get image compression!\n");
|
||||
- return -EINVAL;
|
||||
- }
|
||||
+ if (fit_image_get_comp(fit, noffset, &image_comp))
|
||||
+ image_comp = IH_COMP_NONE;
|
||||
|
||||
/* Allow the image to expand by a factor of 4, should be safe */
|
||||
load_buf = malloc((1 << 20) + len * 4);
|
||||
--- a/boot/image-fit.c
|
||||
+++ b/boot/image-fit.c
|
||||
@@ -476,7 +476,7 @@ void fit_print_contents(const void *fit)
|
||||
void fit_image_print(const void *fit, int image_noffset, const char *p)
|
||||
{
|
||||
char *desc;
|
||||
- uint8_t type, arch, os, comp;
|
||||
+ uint8_t type, arch, os, comp = IH_COMP_NONE;
|
||||
size_t size;
|
||||
ulong load, entry;
|
||||
const void *data;
|
||||
@@ -793,7 +793,6 @@ int fit_image_get_comp(const void *fit,
|
||||
data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
|
||||
if (data == NULL) {
|
||||
fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
|
||||
- *comp = -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
--- a/cmd/ximg.c
|
||||
+++ b/cmd/ximg.c
|
||||
@@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int
|
||||
return 1;
|
||||
}
|
||||
|
||||
- if (fit_image_get_comp(fit_hdr, noffset, &comp)) {
|
||||
- puts("Could not find script subimage "
|
||||
- "compression type\n");
|
||||
- return 1;
|
||||
- }
|
||||
+ if (fit_image_get_comp(fit_hdr, noffset, &comp))
|
||||
+ comp = IH_COMP_NONE;
|
||||
|
||||
data = (ulong)fit_data;
|
||||
len = (ulong)fit_len;
|
||||
@@ -68,7 +68,7 @@
|
||||
{
|
||||
--- a/boot/image-fit.c
|
||||
+++ b/boot/image-fit.c
|
||||
@@ -1993,6 +1993,51 @@ static const char *fit_get_image_type_pr
|
||||
@@ -1992,6 +1992,51 @@ static const char *fit_get_image_type_pr
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
|
||||
@@ -41,11 +41,9 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
boot/image-fdt.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/boot/image-fdt.c b/boot/image-fdt.c
|
||||
index 692a9ad3e4..4017bc94a6 100644
|
||||
--- a/boot/image-fdt.c
|
||||
+++ b/boot/image-fdt.c
|
||||
@@ -601,6 +601,12 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
|
||||
@@ -601,6 +601,12 @@ int image_setup_libfdt(bootm_headers_t *
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
||||
@@ -643,7 +643,7 @@
|
||||
+boot_write_bl2=mtd erase bl2 && mtd write spi-nand0 $loadaddr 0x0 0x20000 && mtd write spi-nand0 $loadaddr 0x20000 0x20000 && mtd write spi-nand0 $loadaddr 0x40000 0x20000 && mtd write spi-nand0 $loadaddr 0x60000 0x20000
|
||||
+boot_write_fip=mtd erase fip && mtd write fip $loadaddr
|
||||
+check_ubi=ubi part ubi || run ubi_format
|
||||
+reset_factory=ubi part ubi ; ubi write 0x0 ubootenv 0x0 ; ubi write 0x0 ubootenv2 0x0 ; ubi remove rootfs_data
|
||||
+reset_factory=mw $loadaddr 0x0 0x100000 ; ubi part ubi ; ubi write $loadaddr ubootenv 0x100000 ; ubi write $loadaddr ubootenv2 0x100000 ; ubi remove rootfs_data
|
||||
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
|
||||
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
|
||||
+ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
+CONFIG_USB_STORAGE=y
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/mt7622-linksys-e8450-ubi.dts
|
||||
@@ -0,0 +1,195 @@
|
||||
@@ -0,0 +1,193 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Copyright (c) 2019 MediaTek Inc.
|
||||
@@ -302,8 +302,6 @@
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
@@ -392,7 +390,7 @@
|
||||
+boot_write_bl2=mtd erase bl2 && mtd write spi-nand0 $loadaddr 0x0 0x20000 && mtd write spi-nand0 $loadaddr 0x20000 0x20000 && mtd write spi-nand0 $loadaddr 0x40000 0x20000 && mtd write spi-nand0 $loadaddr 0x60000 0x20000
|
||||
+boot_write_fip=mtd erase fip && mtd write fip $loadaddr
|
||||
+check_ubi=ubi part ubi || run ubi_format
|
||||
+reset_factory=ubi part ubi ; ubi write 0x0 ubootenv 0x0 ; ubi write 0x0 ubootenv2 0x0 ; ubi remove rootfs_data
|
||||
+reset_factory=mw $loadaddr 0x0 0x100000 ; ubi part ubi ; ubi write $loadaddr ubootenv 0x100000 ; ubi write $loadaddr ubootenv2 0x100000 ; ubi remove rootfs_data
|
||||
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
|
||||
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
|
||||
+ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- /dev/null
|
||||
+++ b/configs/mt7622_ubnt_unifi-6-lr_defconfig
|
||||
@@ -0,0 +1,141 @@
|
||||
@@ -0,0 +1,142 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_POSITION_INDEPENDENT=y
|
||||
+CONFIG_ARCH_MEDIATEK=y
|
||||
@@ -142,9 +142,10 @@
|
||||
+CONFIG_SPI_FLASH_SST=y
|
||||
+CONFIG_SPI_FLASH_WINBOND=y
|
||||
+CONFIG_SPI_FLASH_XMC=y
|
||||
+CONFIG_SPI_FLASH_USE_4K_SECTORS=y
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/mt7622-ubnt-unifi-6-lr.dts
|
||||
@@ -0,0 +1,202 @@
|
||||
@@ -0,0 +1,187 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Copyright (c) 2019 MediaTek Inc.
|
||||
@@ -283,19 +284,6 @@
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&snfi {
|
||||
+ pinctrl-names = "default", "snfi";
|
||||
+ pinctrl-0 = <&snor_pins>;
|
||||
+ pinctrl-1 = <&snfi_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spi-flash@0 {
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&snor {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&snor_pins>;
|
||||
@@ -311,8 +299,6 @@
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
@@ -366,10 +352,10 @@
|
||||
+loadaddr=0x48000000
|
||||
+bootcmd=if pstore check ; then run boot_recovery ; else run boot_nor ; fi
|
||||
+bootdelay=0
|
||||
+bootfile=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-ubootmod-initramfs-recovery.itb
|
||||
+bootfile_bl2=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-ubootmod-preloader.bin
|
||||
+bootfile_fip=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-ubootmod-bl31-uboot.fip
|
||||
+bootfile_upg=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-ubootmod-squashfs-sysupgrade.itb
|
||||
+bootfile=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-v1-ubootmod-initramfs-recovery.itb
|
||||
+bootfile_bl2=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-v1-ubootmod-preloader.bin
|
||||
+bootfile_fip=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-v1-ubootmod-bl31-uboot.fip
|
||||
+bootfile_upg=openwrt-mediatek-mt7622-ubnt_unifi-6-lr-v1-ubootmod-squashfs-sysupgrade.itb
|
||||
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
|
||||
+bootmenu_default=0
|
||||
+bootmenu_delay=0
|
||||
@@ -403,7 +389,7 @@
|
||||
+reset_factory=mtd erase nor0 0xc0000 0x10000 && reset
|
||||
+nor_read_production=mtd read nor0 $loadaddr 0x1000000 0x1000 && imsz $loadaddr image_size && mtd read nor0 $loadaddr 0x1000000 $image_size
|
||||
+nor_read_recovery=mtd read nor0 $loadaddr 0x120000 0x1000 && imsz $loadaddr image_size && mtd read nor0 $loadaddr 0x120000 $image_size
|
||||
+nor_pad_size=imsz $loadaddr image_size ; setexpr image_eb $image_size / 0x1000 ; setexpr tmp1 image_size % 0x1000 ; test 0x$tmp1 -gt 0 && setexpr image_eb $image_eb + 1 ; setexpr image_eb $image_eb * 0x1000
|
||||
+nor_pad_size=imsz $loadaddr image_size ; setexpr image_eb 0x$image_size / 0x1000 ; setexpr tmp1 0x$image_size % 0x1000 ; test 0x$tmp1 -gt 0 && setexpr image_eb 0x$image_eb + 1 ; setexpr image_eb 0x$image_eb * 0x1000
|
||||
+nor_write_production=run nor_pad_size ; test 0x$image_eb -le 0x3000000 && mtd erase nor0 0x1000000 0x$image_eb && mtd write nor0 $loadaddr 0x1000000 $filesize
|
||||
+nor_write_recovery=run nor_pad_size ; test 0x$image_eb -le 0xee0000 && mtd erase nor0 0x120000 0x$image_eb && mtd write nor0 $loadaddr 0x120000 $filesize
|
||||
+_init_env=setenv _init_env ; saveenv
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_VERSION:=2022.04
|
||||
PKG_VERSION:=2022.07
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_HASH:=68e065413926778e276ec3abd28bb32fa82abaa4a6898d570c1f48fbdb08bcd0
|
||||
PKG_HASH:=92b08eb49c24da14c1adbf70a71ae8f37cc53eeb4230e859ad8b6733d13dcf5e
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
20
package/boot/uboot-mvebu/patches/100-fix-build.patch
Normal file
20
package/boot/uboot-mvebu/patches/100-fix-build.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
The build fails on a sunxi tool:
|
||||
|
||||
/usr/bin/ld: tools/sunxi_toc0.o: in function `toc0_set_header':
|
||||
sunxi_toc0.c:(.text+0x363): undefined reference to `RSA_get0_d'
|
||||
|
||||
The missing function was added in libressl v3.5.0. We don't
|
||||
really care, so just cut it out for now.
|
||||
|
||||
--- a/tools/Makefile
|
||||
+++ b/tools/Makefile
|
||||
@@ -96,8 +96,7 @@ AES_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := $(
|
||||
|
||||
# Cryptographic helpers and image types that depend on openssl/libcrypto
|
||||
LIBCRYPTO_OBJS-$(CONFIG_TOOLS_LIBCRYPTO) := \
|
||||
- lib/fdt-libcrypto.o \
|
||||
- sunxi_toc0.o
|
||||
+ lib/fdt-libcrypto.o
|
||||
|
||||
ROCKCHIP_OBS = lib/rc4.o rkcommon.o rkimage.o rksd.o rkspi.o
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 40a67a9403deafdac05564b7350af49a71e12373 Mon Sep 17 00:00:00 2001
|
||||
From: Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
Date: Fri, 29 Apr 2022 17:34:53 +0200
|
||||
Subject: [PATCH] arm: mvebu: clearfog_defconfig: enable setexpr command
|
||||
|
||||
This command is useful in U-boot scripts and it is being used by
|
||||
OpenWrt bootscript for this board [1]. Otherwise shell scripting
|
||||
commands are enabled by default in cmd/Kconfig.
|
||||
|
||||
[1] https://github.com/openwrt/openwrt/blob/852126680e21edc71c0c66561ae5a6d7479dcc67/target/linux/mvebu/image/clearfog.bootscript#L7
|
||||
|
||||
[2] https://source.denx.de/u-boot/u-boot/-/blob/e95afa56753cebcd20a5114b6d121f281b789006/cmd/Kconfig#L1504
|
||||
|
||||
Fixes: 0299c90f396c5b2971a4bac596339f4b03661c27 ("arm: mvebu: Add
|
||||
SolidRun ClearFog Armada 38x initial support")
|
||||
|
||||
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
---
|
||||
configs/clearfog_defconfig | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
--- a/configs/clearfog_defconfig
|
||||
+++ b/configs/clearfog_defconfig
|
||||
@@ -35,7 +35,6 @@ CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_PCI=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
-# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_TFTPPUT=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_CMD_TIME=y
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
net.netfilter.nf_conntrack_acct=1
|
||||
net.netfilter.nf_conntrack_checksum=0
|
||||
net.netfilter.nf_conntrack_max=16384
|
||||
net.netfilter.nf_conntrack_tcp_timeout_established=7440
|
||||
net.netfilter.nf_conntrack_udp_timeout=60
|
||||
net.netfilter.nf_conntrack_udp_timeout_stream=180
|
||||
|
||||
@@ -225,6 +225,23 @@ endef
|
||||
$(eval $(call KernelPackage,phylib-broadcom))
|
||||
|
||||
|
||||
define KernelPackage/phy-ax88796b
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Asix PHY driver
|
||||
KCONFIG:=CONFIG_AX88796B_PHY
|
||||
DEPENDS:=+kmod-libphy
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/ax88796b.ko
|
||||
AUTOLOAD:=$(call AutoProbe,ax88796b)
|
||||
endef
|
||||
|
||||
define KernelPackage/phy-ax88796b/description
|
||||
Currently supports the Asix Electronics PHY found in the X-Surf 100
|
||||
AX88796B package.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-ax88796b))
|
||||
|
||||
|
||||
define KernelPackage/phy-broadcom
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=Broadcom Ethernet PHY driver
|
||||
@@ -275,6 +292,22 @@ endef
|
||||
$(eval $(call KernelPackage,phy-realtek))
|
||||
|
||||
|
||||
define KernelPackage/phy-smsc
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=SMSC PHY driver
|
||||
KCONFIG:=CONFIG_SMSC_PHY
|
||||
DEPENDS:=+kmod-libphy
|
||||
FILES:=$(LINUX_DIR)/drivers/net/phy/smsc.ko
|
||||
AUTOLOAD:=$(call AutoProbe,smsc)
|
||||
endef
|
||||
|
||||
define KernelPackage/phy-smsc/description
|
||||
Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,phy-smsc))
|
||||
|
||||
|
||||
define KernelPackage/swconfig
|
||||
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||
TITLE:=switch configuration API
|
||||
|
||||
@@ -350,6 +350,7 @@ IPSET_MODULES:= \
|
||||
ipset/ip_set_bitmap_ipmac \
|
||||
ipset/ip_set_bitmap_port \
|
||||
ipset/ip_set_hash_ip \
|
||||
ipset/ip_set_hash_ipmac \
|
||||
ipset/ip_set_hash_ipmark \
|
||||
ipset/ip_set_hash_ipport \
|
||||
ipset/ip_set_hash_ipportip \
|
||||
@@ -608,23 +609,6 @@ endef
|
||||
$(eval $(call KernelPackage,nf-nathelper-extra))
|
||||
|
||||
|
||||
define KernelPackage/ipt-ulog
|
||||
TITLE:=Module for user-space packet logging
|
||||
KCONFIG:=$(KCONFIG_IPT_ULOG)
|
||||
FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_ULOG-m)))
|
||||
$(call AddDepends/ipt)
|
||||
endef
|
||||
|
||||
define KernelPackage/ipt-ulog/description
|
||||
Netfilter (IPv4) module for user-space packet logging
|
||||
Includes:
|
||||
- ULOG
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-ulog))
|
||||
|
||||
|
||||
define KernelPackage/ipt-nflog
|
||||
TITLE:=Module for user-space packet logging
|
||||
KCONFIG:=$(KCONFIG_IPT_NFLOG)
|
||||
@@ -1186,17 +1170,6 @@ endef
|
||||
$(eval $(call KernelPackage,nft-offload))
|
||||
|
||||
|
||||
define KernelPackage/nft-nat6
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter nf_tables IPv6-NAT support
|
||||
DEPENDS:=+kmod-nft-nat +kmod-nf-nat6
|
||||
FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m)))
|
||||
KCONFIG:=$(KCONFIG_NFT_NAT6)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,nft-nat6))
|
||||
|
||||
define KernelPackage/nft-netdev
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter nf_tables netdev support
|
||||
|
||||
@@ -738,12 +738,8 @@ endef
|
||||
$(eval $(call KernelPackage,mppe))
|
||||
|
||||
|
||||
SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
|
||||
SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
|
||||
SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark act_ctinfo sch_cake sch_netem sch_mqprio em_ipset cls_bpf cls_flower act_bpf act_vlan
|
||||
SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
|
||||
SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
|
||||
SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
|
||||
SCHED_MODULES_CORE = sch_ingress sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall
|
||||
SCHED_FILES_CORE = $(foreach mod,$(SCHED_MODULES_CORE),$(LINUX_DIR)/net/sched/$(mod).ko)
|
||||
|
||||
define KernelPackage/sched-core
|
||||
SUBMENU:=$(NETWORK_SUPPORT_MENU)
|
||||
@@ -754,7 +750,6 @@ define KernelPackage/sched-core
|
||||
CONFIG_NET_SCH_HTB \
|
||||
CONFIG_NET_SCH_TBF \
|
||||
CONFIG_NET_SCH_INGRESS \
|
||||
CONFIG_NET_SCH_FQ_CODEL \
|
||||
CONFIG_NET_CLS=y \
|
||||
CONFIG_NET_CLS_ACT=y \
|
||||
CONFIG_NET_CLS_BASIC \
|
||||
@@ -769,7 +764,7 @@ define KernelPackage/sched-core
|
||||
CONFIG_NET_CLS_MATCHALL \
|
||||
CONFIG_NET_EMATCH=y \
|
||||
CONFIG_NET_EMATCH_U32
|
||||
FILES:=$(SCHED_FILES)
|
||||
FILES:=$(SCHED_FILES_CORE)
|
||||
AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
|
||||
endef
|
||||
|
||||
@@ -901,14 +896,16 @@ endef
|
||||
$(eval $(call KernelPackage,bpf-test))
|
||||
|
||||
|
||||
SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_prio sch_red sch_sfq sch_teql sch_fq sch_pie act_police act_ipt act_pedit act_simple act_csum em_cmp em_nbyte em_meta em_text
|
||||
SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko)
|
||||
|
||||
define KernelPackage/sched
|
||||
SUBMENU:=$(NETWORK_SUPPORT_MENU)
|
||||
TITLE:=Extra traffic schedulers
|
||||
DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c
|
||||
DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c +kmod-lib-textsearch
|
||||
KCONFIG:= \
|
||||
CONFIG_NET_SCH_CODEL \
|
||||
CONFIG_NET_SCH_DSMARK \
|
||||
CONFIG_NET_SCH_FIFO \
|
||||
CONFIG_NET_SCH_GRED \
|
||||
CONFIG_NET_SCH_MULTIQ \
|
||||
CONFIG_NET_SCH_PRIO \
|
||||
|
||||
@@ -1138,7 +1138,7 @@ $(eval $(call KernelPackage,usb-net-aqc111))
|
||||
|
||||
define KernelPackage/usb-net-asix
|
||||
TITLE:=Kernel module for USB-to-Ethernet Asix convertors
|
||||
DEPENDS:=+kmod-libphy
|
||||
DEPENDS:=+kmod-libphy +kmod-phy-ax88796b
|
||||
KCONFIG:=CONFIG_USB_NET_AX8817X
|
||||
FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko
|
||||
AUTOLOAD:=$(call AutoProbe,asix)
|
||||
@@ -1266,7 +1266,7 @@ $(eval $(call KernelPackage,usb-net-smsc75xx))
|
||||
|
||||
define KernelPackage/usb-net-smsc95xx
|
||||
TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices
|
||||
DEPENDS:=+LINUX_5_10:kmod-libphy
|
||||
DEPENDS:=+LINUX_5_10:kmod-libphy +kmod-phy-smsc
|
||||
KCONFIG:=CONFIG_USB_NET_SMSC95XX
|
||||
FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko
|
||||
AUTOLOAD:=$(call AutoProbe,smsc95xx)
|
||||
|
||||
@@ -413,9 +413,9 @@ mac80211_hostapd_setup_base() {
|
||||
he_spr_non_srg_obss_pd_max_offset:1 \
|
||||
he_bss_color
|
||||
|
||||
he_phy_cap=$(iw phy "$phy" info | awk -F "[()]" '/HE PHY Capabilities/ { print $2 }' | head -1)
|
||||
he_phy_cap=$(iw phy "$phy" info | sed -n '/HE Iftypes: AP/,$p' | awk -F "[()]" '/HE PHY Capabilities/ { print $2 }' | head -1)
|
||||
he_phy_cap=${he_phy_cap:2}
|
||||
he_mac_cap=$(iw phy "$phy" info | awk -F "[()]" '/HE MAC Capabilities/ { print $2 }' | head -1)
|
||||
he_mac_cap=$(iw phy "$phy" info | sed -n '/HE Iftypes: AP/,$p' | awk -F "[()]" '/HE MAC Capabilities/ { print $2 }' | head -1)
|
||||
he_mac_cap=${he_mac_cap:2}
|
||||
|
||||
append base_cfg "ieee80211ax=1" "$N"
|
||||
|
||||
@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2022-07-03
|
||||
PKG_SOURCE_VERSION:=93e3fce916c62d06892d41bf00d0f4c2926c9a0b
|
||||
PKG_MIRROR_HASH:=ad966e7aa81301f0601ceb7aae2ecb471c452f5d8366f701add807152fd08971
|
||||
PKG_SOURCE_DATE:=2022-08-26
|
||||
PKG_SOURCE_VERSION:=5ec78e1ec43d1e39edfea1efb9fd4541fa004af0
|
||||
PKG_MIRROR_HASH:=b96ec5199d423dc27e4fe7f0e94c8d5970f6db812237816235f3b735a5cb216a
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_USE_NINJA:=0
|
||||
|
||||
11
package/libs/libmnl/patches/001-fix_build.patch
Normal file
11
package/libs/libmnl/patches/001-fix_build.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/doxygen/Makefile.am
|
||||
+++ b/doxygen/Makefile.am
|
||||
@@ -21,7 +21,7 @@ doxyfile.stamp: $(doc_srcs) Makefile.am
|
||||
# The command has to be a single line so the functions work
|
||||
# and so `make` gives all lines to `bash -c`
|
||||
# (hence ";\" at the end of every line but the last).
|
||||
- /bin/bash -p -c 'declare -A renamed_page;\
|
||||
+ bash -p -c 'declare -A renamed_page;\
|
||||
main(){ set -e; cd man/man3; rm -f _*;\
|
||||
count_real_pages;\
|
||||
rename_real_pages;\
|
||||
@@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mbedtls
|
||||
PKG_VERSION:=2.28.0
|
||||
PKG_VERSION:=2.28.1
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=6519579b836ed78cc549375c7c18b111df5717e86ca0eeff4cb64b2674f424cc
|
||||
PKG_HASH:=6797a7b6483ef589deeab8d33d401ed235d7be25eeecda1be8ddfed406d40ff4
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=gpl-2.0.txt
|
||||
|
||||
22
package/libs/mbedtls/patches/100-fix-compile.patch
Normal file
22
package/libs/mbedtls/patches/100-fix-compile.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
Fix a compile problem introduced in commit 331c3421d1f0 ("Address review comments")
|
||||
|
||||
Bug report: https://github.com/Mbed-TLS/mbedtls/issues/6243
|
||||
|
||||
--- a/programs/ssl/ssl_server2.c
|
||||
+++ b/programs/ssl/ssl_server2.c
|
||||
@@ -2511,7 +2511,6 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
key_cert_init2 = 2;
|
||||
#endif /* MBEDTLS_ECDSA_C */
|
||||
- }
|
||||
|
||||
#if defined(MBEDTLS_USE_PSA_CRYPTO)
|
||||
if( opt.key_opaque != 0 )
|
||||
@@ -2540,6 +2539,7 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
#endif /* MBEDTLS_USE_PSA_CRYPTO */
|
||||
#endif /* MBEDTLS_CERTS_C */
|
||||
+ }
|
||||
|
||||
mbedtls_printf( " ok (key types: %s - %s)\n", mbedtls_pk_get_name( &pkey ), mbedtls_pk_get_name( &pkey2 ) );
|
||||
#endif /* MBEDTLS_X509_CRT_PARSE_C */
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/include/mbedtls/config.h
|
||||
+++ b/include/mbedtls/config.h
|
||||
@@ -665,14 +665,14 @@
|
||||
@@ -670,14 +670,14 @@
|
||||
*
|
||||
* Enable Output Feedback mode (OFB) for symmetric ciphers.
|
||||
*/
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_CIPHER_NULL_CIPHER
|
||||
@@ -790,20 +790,20 @@
|
||||
@@ -795,20 +795,20 @@
|
||||
* Comment macros to disable the curve and functions for it
|
||||
*/
|
||||
/* Short Weierstrass curves (supporting ECP, ECDH, ECDSA) */
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_ECP_NIST_OPTIM
|
||||
@@ -956,7 +956,7 @@
|
||||
@@ -961,7 +961,7 @@
|
||||
* See dhm.h for more details.
|
||||
*
|
||||
*/
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
||||
@@ -976,7 +976,7 @@
|
||||
@@ -981,7 +981,7 @@
|
||||
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
|
||||
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
|
||||
*/
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
|
||||
@@ -1001,7 +1001,7 @@
|
||||
@@ -1006,7 +1006,7 @@
|
||||
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
|
||||
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
|
||||
*/
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||
@@ -1135,7 +1135,7 @@
|
||||
@@ -1140,7 +1140,7 @@
|
||||
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
|
||||
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
|
||||
*/
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
||||
@@ -1159,7 +1159,7 @@
|
||||
@@ -1164,7 +1164,7 @@
|
||||
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
|
||||
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
|
||||
*/
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
|
||||
@@ -1263,7 +1263,7 @@
|
||||
@@ -1268,7 +1268,7 @@
|
||||
* This option is only useful if both MBEDTLS_SHA256_C and
|
||||
* MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used.
|
||||
*/
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_ENTROPY_NV_SEED
|
||||
@@ -1478,14 +1478,14 @@
|
||||
@@ -1483,14 +1483,14 @@
|
||||
* Uncomment this macro to disable the use of CRT in RSA.
|
||||
*
|
||||
*/
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SHA256_SMALLER
|
||||
@@ -1756,7 +1756,7 @@
|
||||
@@ -1761,7 +1761,7 @@
|
||||
* configuration of this extension).
|
||||
*
|
||||
*/
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
|
||||
@@ -2017,7 +2017,7 @@
|
||||
@@ -2022,7 +2022,7 @@
|
||||
*
|
||||
* Comment this macro to disable support for truncated HMAC in SSL
|
||||
*/
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT
|
||||
@@ -2185,7 +2185,7 @@
|
||||
@@ -2201,7 +2201,7 @@
|
||||
*
|
||||
* Comment this to disable run-time checking and save ROM space
|
||||
*/
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
|
||||
@@ -2534,7 +2534,7 @@
|
||||
@@ -2550,7 +2550,7 @@
|
||||
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
|
||||
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
|
||||
*/
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_ARIA_C
|
||||
@@ -2600,7 +2600,7 @@
|
||||
@@ -2616,7 +2616,7 @@
|
||||
* This module enables the AES-CCM ciphersuites, if other requisites are
|
||||
* enabled as well.
|
||||
*/
|
||||
@@ -163,7 +163,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_CERTS_C
|
||||
@@ -2612,7 +2612,7 @@
|
||||
@@ -2628,7 +2628,7 @@
|
||||
*
|
||||
* This module is used for testing (ssl_client/server).
|
||||
*/
|
||||
@@ -172,7 +172,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_CHACHA20_C
|
||||
@@ -2725,7 +2725,7 @@
|
||||
@@ -2741,7 +2741,7 @@
|
||||
* \warning DES is considered a weak cipher and its use constitutes a
|
||||
* security risk. We recommend considering stronger ciphers instead.
|
||||
*/
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_DHM_C
|
||||
@@ -2890,7 +2890,7 @@
|
||||
@@ -2906,7 +2906,7 @@
|
||||
* This module adds support for the Hashed Message Authentication Code
|
||||
* (HMAC)-based key derivation function (HKDF).
|
||||
*/
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_HMAC_DRBG_C
|
||||
@@ -3203,7 +3203,7 @@
|
||||
@@ -3219,7 +3219,7 @@
|
||||
*
|
||||
* This module enables abstraction of common (libc) functions.
|
||||
*/
|
||||
@@ -199,7 +199,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_POLY1305_C
|
||||
@@ -3279,7 +3279,7 @@
|
||||
@@ -3295,7 +3295,7 @@
|
||||
* Caller: library/md.c
|
||||
*
|
||||
*/
|
||||
@@ -208,7 +208,7 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_RSA_C
|
||||
@@ -3486,7 +3486,7 @@
|
||||
@@ -3506,7 +3506,7 @@
|
||||
*
|
||||
* This module provides run-time version information.
|
||||
*/
|
||||
@@ -217,12 +217,12 @@
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_X509_USE_C
|
||||
@@ -3596,7 +3596,7 @@
|
||||
@@ -3616,7 +3616,7 @@
|
||||
* Module: library/xtea.c
|
||||
* Caller:
|
||||
*/
|
||||
-#define MBEDTLS_XTEA_C
|
||||
+//#define MBEDTLS_XTEA_C
|
||||
|
||||
/* \} name SECTION: mbed TLS modules */
|
||||
/** \} name SECTION: mbed TLS modules */
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=zlib
|
||||
PKG_VERSION:=1.2.11
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@SF/libpng http://www.zlib.net
|
||||
|
||||
32
package/libs/zlib/patches/006-fix-CVE-2022-37434.patch
Normal file
32
package/libs/zlib/patches/006-fix-CVE-2022-37434.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Adler <fork@madler.net>
|
||||
Date: Sat, 30 Jul 2022 15:51:11 -0700
|
||||
Subject: [PATCH] Fix a bug when getting a gzip header extra field with
|
||||
inflate().
|
||||
|
||||
If the extra field was larger than the space the user provided with
|
||||
inflateGetHeader(), and if multiple calls of inflate() delivered
|
||||
the extra header data, then there could be a buffer overflow of the
|
||||
provided space. This commit assures that provided space is not
|
||||
exceeded.
|
||||
---
|
||||
inflate.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/inflate.c b/inflate.c
|
||||
index 7be8c6366..7a7289749 100644
|
||||
--- a/inflate.c
|
||||
+++ b/inflate.c
|
||||
@@ -763,9 +763,10 @@ int flush;
|
||||
copy = state->length;
|
||||
if (copy > have) copy = have;
|
||||
if (copy) {
|
||||
+ len = state->head->extra_len - state->length;
|
||||
if (state->head != Z_NULL &&
|
||||
- state->head->extra != Z_NULL) {
|
||||
- len = state->head->extra_len - state->length;
|
||||
+ state->head->extra != Z_NULL &&
|
||||
+ len < state->head->extra_max) {
|
||||
zmemcpy(state->head->extra + len, next,
|
||||
len + copy > state->head->extra_max ?
|
||||
state->head->extra_max - len : copy);
|
||||
@@ -0,0 +1,29 @@
|
||||
From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
|
||||
From: Mark Adler <fork@madler.net>
|
||||
Date: Mon, 8 Aug 2022 10:50:09 -0700
|
||||
Subject: [PATCH] Fix extra field processing bug that dereferences NULL
|
||||
state->head.
|
||||
|
||||
The recent commit to fix a gzip header extra field processing bug
|
||||
introduced the new bug fixed here.
|
||||
---
|
||||
inflate.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/inflate.c b/inflate.c
|
||||
index 7a7289749..2a3c4fe98 100644
|
||||
--- a/inflate.c
|
||||
+++ b/inflate.c
|
||||
@@ -763,10 +763,10 @@ int flush;
|
||||
copy = state->length;
|
||||
if (copy > have) copy = have;
|
||||
if (copy) {
|
||||
- len = state->head->extra_len - state->length;
|
||||
if (state->head != Z_NULL &&
|
||||
state->head->extra != Z_NULL &&
|
||||
- len < state->head->extra_max) {
|
||||
+ (len = state->head->extra_len - state->length) <
|
||||
+ state->head->extra_max) {
|
||||
zmemcpy(state->head->extra + len, next,
|
||||
len + copy > state->head->extra_max ?
|
||||
state->head->extra_max - len : copy);
|
||||
@@ -9,9 +9,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git
|
||||
PKG_SOURCE_DATE:=2022-06-17
|
||||
PKG_SOURCE_VERSION:=15c38317eff2bdef963cc3032512ce6cf191dadb
|
||||
PKG_MIRROR_HASH:=cff2beca5ef6c337ce8f0e93466509071dc8c614216b974c4adf4848d67f52e0
|
||||
PKG_SOURCE_DATE:=2022-09-01
|
||||
PKG_SOURCE_VERSION:=f5fcdcf2c51f6f0a4b116c352000c4fe0523be77
|
||||
PKG_MIRROR_HASH:=57ef6f161abdd323019c026c959ab875fdfd3c972b8dc7767623634b1c259138
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
@@ -23,7 +23,7 @@ define Package/firewall4
|
||||
TITLE:=OpenWrt 4th gen firewall
|
||||
DEPENDS:= \
|
||||
+kmod-nft-core +kmod-nft-fib +kmod-nft-offload \
|
||||
+kmod-nft-nat +kmod-nft-nat6 \
|
||||
+kmod-nft-nat \
|
||||
+nftables-json \
|
||||
+ucode +ucode-mod-fs +ucode-mod-ubus +ucode-mod-uci
|
||||
EXTRA_DEPENDS:=ucode (>= 2022-03-22)
|
||||
|
||||
@@ -146,7 +146,7 @@ static inline void m_bool(const char *id, bool value) {
|
||||
}
|
||||
|
||||
static inline void m_u32(const char *id, uint32_t value) {
|
||||
blobmsg_add_u32(&b, id, value);
|
||||
blobmsg_add_u64(&b, id, value);
|
||||
}
|
||||
|
||||
static inline void m_str(const char *id, const char *value) {
|
||||
|
||||
@@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
PKG_SOURCE_DATE:=2022-06-01
|
||||
PKG_SOURCE_VERSION:=39ef9fe1388029c476db62889ef2ef5661613321
|
||||
PKG_MIRROR_HASH:=a17353a33ae4ee0aec790169715e91e634660e15eb33900ec4a23c698425de8a
|
||||
PKG_SOURCE_DATE:=2022-08-25
|
||||
PKG_SOURCE_VERSION:=76d2d41b7355e02f95fbfa79affbd232fb090595
|
||||
PKG_MIRROR_HASH:=cd754decce7d9f9c69e0ad8c6801f306fa37dd6c8a7039aea610c1c71d06b8f9
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@@ -12,9 +12,9 @@ PKG_RELEASE:=18
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
|
||||
PKG_SOURCE_DATE:=2022-07-13
|
||||
PKG_SOURCE_VERSION:=9212bfcbab7681cd30186ac7f1ef4c47bf38c89a
|
||||
PKG_MIRROR_HASH:=85118a9ae084701a00b4dc6a9b2e3279e4fd70eb5b31b539a121ce0a894f9e45
|
||||
PKG_SOURCE_DATE:=2022-08-05
|
||||
PKG_SOURCE_VERSION:=7d21e8d8ecd6d776f64b6928f62893c0f5c9747a
|
||||
PKG_MIRROR_HASH:=6d918517de4ec47d83edddb6167bb52f08b2b696f336d5055a45290bb37ac4db
|
||||
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
|
||||
@@ -972,7 +972,14 @@ dnsmasq_start()
|
||||
config_list_foreach "$cfg" "addnhosts" append_addnhosts
|
||||
config_list_foreach "$cfg" "bogusnxdomain" append_bogusnxdomain
|
||||
append_parm "$cfg" "leasefile" "--dhcp-leasefile" "/tmp/dhcp.leases"
|
||||
append_parm "$cfg" "serversfile" "--servers-file"
|
||||
|
||||
local serversfile
|
||||
config_get serversfile "$cfg" "serversfile"
|
||||
[ -n "$serversfile" ] && {
|
||||
xappend "--servers-file=$serversfile"
|
||||
append EXTRA_MOUNT "$serversfile"
|
||||
}
|
||||
|
||||
append_parm "$cfg" "tftp_root" "--tftp-root"
|
||||
append_parm "$cfg" "dhcp_boot" "--dhcp-boot"
|
||||
append_parm "$cfg" "local_ttl" "--local-ttl"
|
||||
|
||||
@@ -48,12 +48,15 @@ hostapd_append_wpa_key_mgmt() {
|
||||
;;
|
||||
eap192)
|
||||
append wpa_key_mgmt "WPA-EAP-SUITE-B-192"
|
||||
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP"
|
||||
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP-SHA384"
|
||||
;;
|
||||
eap-eap192)
|
||||
append wpa_key_mgmt "WPA-EAP-SUITE-B-192"
|
||||
append wpa_key_mgmt "WPA-EAP"
|
||||
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP"
|
||||
[ "${ieee80211r:-0}" -gt 0 ] && {
|
||||
append wpa_key_mgmt "FT-EAP-SHA384"
|
||||
append wpa_key_mgmt "FT-EAP"
|
||||
}
|
||||
[ "${ieee80211w:-0}" -gt 0 ] && append wpa_key_mgmt "WPA-EAP-SHA256"
|
||||
;;
|
||||
sae)
|
||||
@@ -852,7 +855,7 @@ hostapd_set_bss_options() {
|
||||
json_get_vars mobility_domain ft_psk_generate_local ft_over_ds reassociation_deadline
|
||||
|
||||
set_default mobility_domain "$(echo "$ssid" | md5sum | head -c 4)"
|
||||
set_default ft_over_ds 1
|
||||
set_default ft_over_ds 0
|
||||
set_default reassociation_deadline 1000
|
||||
|
||||
case "$auth_type" in
|
||||
@@ -934,7 +937,11 @@ hostapd_set_bss_options() {
|
||||
json_get_vars ieee80211w_mgmt_cipher ieee80211w_max_timeout ieee80211w_retry_timeout
|
||||
append bss_conf "ieee80211w=$ieee80211w" "$N"
|
||||
[ "$ieee80211w" -gt "0" ] && {
|
||||
append bss_conf "group_mgmt_cipher=${ieee80211w_mgmt_cipher:-AES-128-CMAC}" "$N"
|
||||
if [ "$auth_type" = "eap192" ]; then
|
||||
append bss_conf "group_mgmt_cipher=BIP-GMAC-256" "$N"
|
||||
else
|
||||
append bss_conf "group_mgmt_cipher=${ieee80211w_mgmt_cipher:-AES-128-CMAC}" "$N"
|
||||
fi
|
||||
[ -n "$ieee80211w_max_timeout" ] && \
|
||||
append bss_conf "assoc_sa_query_max_timeout=$ieee80211w_max_timeout" "$N"
|
||||
[ -n "$ieee80211w_retry_timeout" ] && \
|
||||
|
||||
@@ -12,9 +12,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
|
||||
PKG_SOURCE_DATE:=2021-08-11
|
||||
PKG_SOURCE_VERSION:=01b4e6046f10e21809c3f380f2d33bf3fe59698d
|
||||
PKG_MIRROR_HASH:=419bbc1dd159c25852da4abdcb9ffee8d72d12b8b998ff14e343d5f2455d8d2a
|
||||
PKG_SOURCE_DATE:=2022-03-22
|
||||
PKG_SOURCE_VERSION:=860ca900e41c5d0f98cc85e67b39977f6f2cb355
|
||||
PKG_MIRROR_HASH:=555712a1e25d197e52808a0d5e42bf0d48a8b61fe7c8aad1a02a7c09f0b8b8a3
|
||||
|
||||
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uhttpd.git
|
||||
PKG_SOURCE_DATE:=2022-02-07
|
||||
PKG_SOURCE_VERSION:=2f8b1360df25bab375ec60bbba2dce8dd796161c
|
||||
PKG_MIRROR_HASH:=fe9c57492e4da493e9955994d1af6cf0086305633fa8febef7ab6df10c4798fa
|
||||
PKG_SOURCE_DATE:=2022-08-12
|
||||
PKG_SOURCE_VERSION:=e3395cd90bed9b7b9fc319e79528fedcc0d947fe
|
||||
PKG_MIRROR_HASH:=14e9df9f85c406b8abbb14427e5f678383782500c549d842c0481cd954fc4ea3
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
|
||||
@@ -19,12 +19,15 @@
|
||||
"fcntl",
|
||||
"fcntl64",
|
||||
"fstat",
|
||||
"getdents64",
|
||||
"getsockname",
|
||||
"getrandom",
|
||||
"ioctl",
|
||||
"madvise",
|
||||
"mmap",
|
||||
"mmap2",
|
||||
"munmap",
|
||||
"newfstatat",
|
||||
"open",
|
||||
"openat",
|
||||
"pipe",
|
||||
@@ -42,6 +45,7 @@
|
||||
"setsockopt",
|
||||
"sigreturn",
|
||||
"socket",
|
||||
"statx",
|
||||
"time",
|
||||
"uname",
|
||||
"write",
|
||||
|
||||
@@ -176,7 +176,7 @@ TARGET_LDFLAGS += -Wl,--gc-sections -Wl,--as-needed
|
||||
TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
|
||||
|
||||
MAKE_FLAGS += \
|
||||
KERNEL_INCLUDE="$(LINUX_DIR)/user_headers/include" \
|
||||
KERNEL_INCLUDE="$(LINUX_DIR)/include/uapi" \
|
||||
SHARED_LIBS=$(SHARED_LIBS) \
|
||||
IP_CONFIG_TINY=$(IP_CONFIG_TINY) \
|
||||
BUILD_VARIANT=$(BUILD_VARIANT) \
|
||||
|
||||
@@ -251,19 +251,6 @@ iptables extensions for extra NAT targets.
|
||||
- NETMAP
|
||||
endef
|
||||
|
||||
define Package/iptables-mod-ulog
|
||||
$(call Package/iptables/Module, +kmod-ipt-ulog)
|
||||
TITLE:=user-space packet logging
|
||||
endef
|
||||
|
||||
define Package/iptables-mod-ulog/description
|
||||
iptables extensions for user-space packet logging.
|
||||
|
||||
Targets:
|
||||
- ULOG
|
||||
|
||||
endef
|
||||
|
||||
define Package/iptables-mod-nflog
|
||||
$(call Package/iptables/Module, +kmod-nfnetlink-log +kmod-ipt-nflog)
|
||||
TITLE:=Netfilter NFLOG target
|
||||
@@ -764,11 +751,11 @@ $(eval $(call BuildPackage,libiptext))
|
||||
$(eval $(call BuildPackage,libiptext6))
|
||||
$(eval $(call BuildPackage,libiptext-nft))
|
||||
$(eval $(call BuildPackage,xtables-legacy))
|
||||
$(eval $(call BuildPackage,iptables-zz-legacy))
|
||||
$(eval $(call BuildPackage,xtables-nft))
|
||||
$(eval $(call BuildPackage,arptables-nft))
|
||||
$(eval $(call BuildPackage,ebtables-nft))
|
||||
$(eval $(call BuildPackage,iptables-nft))
|
||||
$(eval $(call BuildPackage,iptables-zz-legacy))
|
||||
$(eval $(call BuildPlugin,iptables-mod-conntrack-extra,$(IPT_CONNTRACK_EXTRA-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-conntrack-label,$(IPT_CONNTRACK_LABEL-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-extra,$(IPT_EXTRA-m)))
|
||||
@@ -780,7 +767,6 @@ $(eval $(call BuildPlugin,iptables-mod-nat-extra,$(IPT_NAT_EXTRA-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-iprange,$(IPT_IPRANGE-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-cluster,$(IPT_CLUSTER-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-clusterip,$(IPT_CLUSTERIP-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-ulog,$(IPT_ULOG-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-hashlimit,$(IPT_HASHLIMIT-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-rpfilter,$(IPT_RPFILTER-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-led,$(IPT_LED-m)))
|
||||
@@ -792,8 +778,8 @@ $(eval $(call BuildPlugin,iptables-mod-nflog,$(IPT_NFLOG-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-trace,$(IPT_DEBUG-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-nfqueue,$(IPT_NFQUEUE-m)))
|
||||
$(eval $(call BuildPlugin,iptables-mod-checksum,$(IPT_CHECKSUM-m)))
|
||||
$(eval $(call BuildPackage,ip6tables-zz-legacy))
|
||||
$(eval $(call BuildPackage,ip6tables-nft))
|
||||
$(eval $(call BuildPackage,ip6tables-zz-legacy))
|
||||
$(eval $(call BuildPlugin,ip6tables-extra,$(IPT_IPV6_EXTRA-m)))
|
||||
$(eval $(call BuildPlugin,ip6tables-mod-nat,$(IPT_NAT6-m)))
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/iwinfo.git
|
||||
PKG_SOURCE_DATE:=2022-04-26
|
||||
PKG_SOURCE_VERSION:=dc6847eb5ec8747867bc20f1024723c6397c1df7
|
||||
PKG_MIRROR_HASH:=3f243cf75f4cec02e9e8ecc2087577146845346c0172808f64dea066f84f88d4
|
||||
PKG_SOURCE_DATE:=2022-08-19
|
||||
PKG_SOURCE_VERSION:=0dad3e6660594592071ae49a77a907e2b11a98fe
|
||||
PKG_MIRROR_HASH:=2162ee3158328ffe39018e50f34d74b47a6c7a26460e30d7984ca16cbc859d80
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nftables
|
||||
PKG_VERSION:=1.0.2
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=2.1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 1af8aabccd65e11caa397c4706353075f623cd01 Mon Sep 17 00:00:00 2001
|
||||
From: Jo-Philipp Wich <jo@mein.io>
|
||||
Date: Mon, 8 Aug 2022 23:57:03 +0200
|
||||
Subject: [PATCH] meta: don't use non-POSIX formats in strptime()
|
||||
|
||||
The current strptime() invocations in meta.c use the `%F` format which
|
||||
is not specified by POSIX and thus unimplemented by some libc flavors
|
||||
such as musl libc.
|
||||
|
||||
Replace all occurrences of `%F` with an equivalent `%Y-%m-%d` format
|
||||
in order to be able to properly parse user supplied dates in such
|
||||
environments.
|
||||
|
||||
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
||||
---
|
||||
src/meta.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/src/meta.c
|
||||
+++ b/src/meta.c
|
||||
@@ -399,7 +399,7 @@ static void date_type_print(const struct
|
||||
tstamp += cur_tm->tm_gmtoff;
|
||||
|
||||
if ((tm = gmtime((time_t *) &tstamp)) != NULL &&
|
||||
- strftime(timestr, sizeof(timestr) - 1, "%F %T", tm))
|
||||
+ strftime(timestr, sizeof(timestr) - 1, "%Y-%m-%d %T", tm))
|
||||
nft_print(octx, "\"%s\"", timestr);
|
||||
else
|
||||
nft_print(octx, "Error converting timestamp to printed time");
|
||||
@@ -412,11 +412,11 @@ static time_t parse_iso_date(const char
|
||||
|
||||
memset(&tm, 0, sizeof(struct tm));
|
||||
|
||||
- if (strptime(sym, "%F %T", &tm))
|
||||
+ if (strptime(sym, "%Y-%m-%d %T", &tm))
|
||||
goto success;
|
||||
- if (strptime(sym, "%F %R", &tm))
|
||||
+ if (strptime(sym, "%Y-%m-%d %R", &tm))
|
||||
goto success;
|
||||
- if (strptime(sym, "%F", &tm))
|
||||
+ if (strptime(sym, "%Y-%m-%d", &tm))
|
||||
goto success;
|
||||
|
||||
return -1;
|
||||
@@ -5,9 +5,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/umbim.git
|
||||
PKG_SOURCE_DATE:=2021-08-18
|
||||
PKG_SOURCE_VERSION:=de5623104baee6e0c13c92f05c15bf4b4145c0b1
|
||||
PKG_MIRROR_HASH:=2d4a75d2b53c8413521a2fd138895e327bff3f4b4d29a540342b2d2e1e009852
|
||||
PKG_SOURCE_DATE:=2022-08-13
|
||||
PKG_SOURCE_VERSION:=146bc77c98ace3d1cc672986669650d2e1da71f3
|
||||
PKG_MIRROR_HASH:=3cf04858ff5c3f529904f9789b094aa9645ad41c91f553e6fc3fcd3cb341d359
|
||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@@ -75,6 +75,10 @@ define Package/snapshot-tool
|
||||
DEPENDS:=+libubox +fstools
|
||||
endef
|
||||
|
||||
define Package/block-mount/conffiles
|
||||
/etc/config/fstab
|
||||
endef
|
||||
|
||||
define Package/block-mount
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
|
||||
@@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/rpcd.git
|
||||
PKG_MIRROR_HASH:=186a7246c610fecc282b0966213350ff4508b0db88739345e7c79792db0423ce
|
||||
PKG_SOURCE_DATE:=2022-02-07
|
||||
PKG_SOURCE_VERSION:=909f2a04763dbc745488384b24281eca180452d6
|
||||
PKG_MIRROR_HASH:=52ca9beab4b18afec9717a5f05c5232ef6160c3ece82a020851ac3aeaa52a29a
|
||||
PKG_SOURCE_DATE:=2022-08-24
|
||||
PKG_SOURCE_VERSION:=82904bd4f92e5928d047db6396cc14ca2b07d89f
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
@@ -12,18 +12,31 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||
PKG_SOURCE_DATE:=2022-06-01
|
||||
PKG_SOURCE_VERSION:=b211ca0e420d8086d3fa0358413a6f8b44df1115
|
||||
PKG_MIRROR_HASH:=9d0a8583d9ed10a634866b54a30162f47f6a1700e10287aba94bffbc60e9cbf2
|
||||
PKG_SOURCE_DATE:=2022-08-29
|
||||
PKG_SOURCE_VERSION:=344fa9e69da43ecdc4d8f7768d85d42639352405
|
||||
PKG_MIRROR_HASH:=94e1ae6779536b2bd8957db8c2922ec32dcef75258401707505b1d34b6f16d0b
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
PKG_ABI_VERSION:=20220322
|
||||
PKG_ABI_VERSION:=20220812
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
CMAKE_OPTIONS += -DSOVERSION=$(PKG_ABI_VERSION)
|
||||
CMAKE_HOST_OPTIONS += \
|
||||
-DSOVERSION=$(PKG_ABI_VERSION) \
|
||||
-DFS_SUPPORT=ON \
|
||||
-DMATH_SUPPORT=ON \
|
||||
-DNL80211_SUPPORT=OFF \
|
||||
-DRESOLV_SUPPORT=OFF \
|
||||
-DRTNL_SUPPORT=OFF \
|
||||
-DSTRUCT_SUPPORT=ON \
|
||||
-DUBUS_SUPPORT=OFF \
|
||||
-DUCI_SUPPORT=OFF \
|
||||
-DULOOP_SUPPORT=OFF
|
||||
|
||||
|
||||
define Package/ucode/default
|
||||
SECTION:=utils
|
||||
@@ -143,6 +156,18 @@ define Package/ucode-mod-uci/description
|
||||
endef
|
||||
|
||||
|
||||
define Package/ucode-mod-uloop
|
||||
$(Package/ucode/default)
|
||||
TITLE+= (uloop module)
|
||||
DEPENDS:=ucode +libubox
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uloop/description
|
||||
The uloop module allows ucode scripts to interact with OpenWrt uloop event
|
||||
loop implementation.
|
||||
endef
|
||||
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include/ucode
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/ucode/*.h $(1)/usr/include/ucode/
|
||||
@@ -200,6 +225,10 @@ define Package/ucode-mod-uci/install
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/uci.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uloop/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/uloop.so $(1)/usr/lib/ucode/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libucode))
|
||||
$(eval $(call BuildPackage,ucode))
|
||||
@@ -211,3 +240,5 @@ $(eval $(call BuildPackage,ucode-mod-rtnl))
|
||||
$(eval $(call BuildPackage,ucode-mod-struct))
|
||||
$(eval $(call BuildPackage,ucode-mod-ubus))
|
||||
$(eval $(call BuildPackage,ucode-mod-uci))
|
||||
$(eval $(call BuildPackage,ucode-mod-uloop))
|
||||
$(eval $(call HostBuild))
|
||||
|
||||
57
package/utils/uencrypt/Makefile
Normal file
57
package/utils/uencrypt/Makefile
Normal file
@@ -0,0 +1,57 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022 Eneas Ulir de Queiroz
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uencrypt
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_FLAGS:=nonshared
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
PKG_CONFIG_DEPENDS:=\
|
||||
CONFIG_UENCRYPT_OPENSSL \
|
||||
CONFIG_UENCRYPT_WOLFSSL
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
CMAKE_INSTALL:=1
|
||||
CMAKE_OPTIONS+=$(if $(CONFIG_UENCRYPT_WOLFSSL),-DUSE_WOLFSSL=1)
|
||||
|
||||
define Package/uencrypt
|
||||
SECTION:=utils
|
||||
CATEGORY:=Base system
|
||||
TITLE:=Decryption utility for Arcadyan WG4xx223
|
||||
DEPENDS:=@TARGET_ramips_mt7621 +UENCRYPT_WOLFSSL:libwolfssl +UENCRYPT_OPENSSL:libopenssl
|
||||
endef
|
||||
|
||||
define Package/uencrypt/description
|
||||
This is a small AES-128-CBC encrypton/decryption program.
|
||||
Even though it can be used for regular encryption and
|
||||
decryption operations using AES-128-CBC, it is included
|
||||
here to unencrypt the configuration from mtd on Arcadyan
|
||||
WG430223 and WG443223 routers.
|
||||
endef
|
||||
|
||||
define Package/uencrypt/config
|
||||
if PACKAGE_uencrypt
|
||||
choice
|
||||
prompt "Crypto provider"
|
||||
default UENCRYPT_WOLFSSL
|
||||
|
||||
config UENCRYPT_OPENSSL
|
||||
bool "OpenSSL"
|
||||
|
||||
config UENCRYPT_WOLFSSL
|
||||
bool "wolfSSL"
|
||||
endchoice
|
||||
endif
|
||||
endef
|
||||
|
||||
define Package/uencrypt/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uencrypt $(1)/usr/bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,uencrypt))
|
||||
20
package/utils/uencrypt/src/CMakeLists.txt
Normal file
20
package/utils/uencrypt/src/CMakeLists.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022 Eneas Ulir de Queiroz
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
|
||||
project(uencrypt LANGUAGES C)
|
||||
|
||||
option(USE_WOLFSSL "Use WolfSSL as crypto provider" OFF)
|
||||
if (USE_WOLFSSL)
|
||||
add_definitions(-DUSE_WOLFSSL)
|
||||
find_library(WOLFSSL_LIBRARY wolfssl REQUIRED)
|
||||
set(CRYPTO_LIBRARIES ${WOLFSSL_LIBRARY})
|
||||
else()
|
||||
find_package(OpenSSL REQUIRED)
|
||||
set(CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
|
||||
endif()
|
||||
|
||||
add_executable(${PROJECT_NAME} ${PROJECT_NAME}.c)
|
||||
target_link_libraries(${PROJECT_NAME} ${CRYPTO_LIBRARIES})
|
||||
|
||||
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
|
||||
117
package/utils/uencrypt/src/uencrypt.c
Normal file
117
package/utils/uencrypt/src/uencrypt.c
Normal file
@@ -0,0 +1,117 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright (C) 2022 Eneas Ulir de Queiroz
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef USE_WOLFSSL
|
||||
# include <wolfssl/options.h>
|
||||
# include <wolfssl/openssl/evp.h>
|
||||
#else
|
||||
# include <openssl/evp.h>
|
||||
#endif
|
||||
|
||||
int do_crypt(FILE *infile, FILE *outfile, const char *key, const char *iv,
|
||||
int enc, int padding)
|
||||
{
|
||||
EVP_CIPHER_CTX *ctx;
|
||||
unsigned char inbuf[1024], outbuf[1024 + EVP_MAX_BLOCK_LENGTH];
|
||||
int inlen, outlen;
|
||||
|
||||
ctx = EVP_CIPHER_CTX_new();
|
||||
EVP_CipherInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv, enc);
|
||||
EVP_CIPHER_CTX_set_padding(ctx, padding);
|
||||
|
||||
for (;;) {
|
||||
inlen = fread(inbuf, 1, 1024, infile);
|
||||
if (inlen <= 0)
|
||||
break;
|
||||
if (!EVP_CipherUpdate(ctx, outbuf, &outlen, inbuf, inlen)) {
|
||||
EVP_CIPHER_CTX_free(ctx);
|
||||
return -1;
|
||||
}
|
||||
fwrite(outbuf, 1, outlen, outfile);
|
||||
}
|
||||
if (!EVP_CipherFinal_ex(ctx, outbuf, &outlen)) {
|
||||
EVP_CIPHER_CTX_free(ctx);
|
||||
return -1;
|
||||
}
|
||||
fwrite(outbuf, 1, outlen, outfile);
|
||||
|
||||
EVP_CIPHER_CTX_free(ctx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void check_enc_dec(const int enc)
|
||||
{
|
||||
if (enc == -1)
|
||||
return;
|
||||
fprintf(stderr, "Error: both -d and -e were specified.\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
static void show_usage(const char* name)
|
||||
{
|
||||
fprintf(stderr, "Usage: %s: [-d | -e] [-n] -k key -i iv\n"
|
||||
"-d = decrypt; -e = encrypt; -n = no padding\n", name);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int enc = -1;
|
||||
unsigned char *iv = NULL;
|
||||
unsigned char *key = NULL;
|
||||
long len;
|
||||
int opt;
|
||||
int padding = 1;
|
||||
int ret;
|
||||
|
||||
while ((opt = getopt(argc, argv, "dei:k:n")) != -1) {
|
||||
switch (opt) {
|
||||
case 'd':
|
||||
check_enc_dec(enc);
|
||||
enc = 0;
|
||||
break;
|
||||
case 'e':
|
||||
check_enc_dec(enc);
|
||||
enc = 1;
|
||||
break;
|
||||
case 'i':
|
||||
iv = OPENSSL_hexstr2buf((const char *)optarg, &len);
|
||||
if (iv == NULL || len != 16) {
|
||||
fprintf(stderr, "Error setting IV to %s. The IV should be 16 bytes, encoded in hex.\n",
|
||||
optarg);
|
||||
exit(EINVAL);
|
||||
}
|
||||
break;
|
||||
case 'k':
|
||||
key = OPENSSL_hexstr2buf((const char *)optarg, &len);
|
||||
if (key == NULL || len != 16) {
|
||||
fprintf(stderr, "Error setting key to %s. The key should be 16 bytes, encoded in hex.\n",
|
||||
optarg);
|
||||
exit(EINVAL);
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
padding = 0;
|
||||
break;
|
||||
default:
|
||||
show_usage(argv[0]);
|
||||
exit(EINVAL);
|
||||
}
|
||||
}
|
||||
if (iv == NULL || key == NULL) {
|
||||
fprintf(stderr, "Error: %s not set.\n", key ? "iv" : (iv ? "key" : "key and iv"));
|
||||
show_usage(argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
ret = do_crypt(stdin, stdout, key, iv, !!enc, padding);
|
||||
if (ret)
|
||||
fprintf(stderr, "Error during crypt operation.\n");
|
||||
OPENSSL_free(iv);
|
||||
OPENSSL_free(key);
|
||||
return ret;
|
||||
}
|
||||
@@ -15,23 +15,17 @@ define Build/at91-sdcard
|
||||
$(KDIR)/$(DEVICE_NAME)-fit-zImage.itb \
|
||||
::$(DEVICE_NAME)-fit.itb
|
||||
|
||||
$(if $(findstring sama5d27-som1-ek,$@), \
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_DTS:at91-%=%)_mmc1/u-boot.bin \
|
||||
::u-boot.bin
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd1_uboot/at91bootstrap.bin \
|
||||
::BOOT.bin,
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_DTS:at91-%=%)_mmc/u-boot.bin \
|
||||
::u-boot.bin
|
||||
$(if $(findstring sama5d4-xplained,$@), \
|
||||
mcopy -i $@.boot \
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/u-boot-$(DEVICE_DTS:at91-%=%)_mmc/u-boot.bin \
|
||||
::u-boot.bin
|
||||
|
||||
$(if $(findstring sama5d4-xplained,$@), \
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd_uboot_secure/at91bootstrap.bin \
|
||||
::BOOT.bin,
|
||||
mcopy -i $@.boot \
|
||||
$(BIN_DIR)/at91bootstrap-$(DEVICE_DTS:at91-%=%)sd_uboot/at91bootstrap.bin \
|
||||
::BOOT.bin))
|
||||
::BOOT.bin)
|
||||
|
||||
$(CP) uboot-env.txt $@-uboot-env.txt
|
||||
sed -i '2d;3d' $@-uboot-env.txt
|
||||
|
||||
@@ -6,8 +6,8 @@ bootargsd2=console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p2 rw rootwait root
|
||||
bootargsxx=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4
|
||||
bootcmd=run setloadaddr; run setbootargs; run fatload_mmc; bootm ${loadaddr}
|
||||
bootdelay=1
|
||||
fatload_mmc=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek || test ${board_name} = microchip,sama7g5ek; then fatload mmc 1:1 ${loadaddr} ${board}-fit.itb; else fatload mmc 0:1 ${loadaddr} ${board}-fit.itb; fi
|
||||
setbootargs=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = atmel,sama5d27-som1-ek || test ${board_name} = microchip,sama7g5ek; then setenv bootargs ${bootargsd2}; else setenv bootargs ${bootargsxx}; fi
|
||||
fatload_mmc=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = microchip,sama7g5ek; then fatload mmc 1:1 ${loadaddr} ${board}-fit.itb; else fatload mmc 0:1 ${loadaddr} ${board}-fit.itb; fi
|
||||
setbootargs=if test ${board_name} = atmel,sama5d2-xplained || test ${board_name} = microchip,sama7g5ek; then setenv bootargs ${bootargsd2}; else setenv bootargs ${bootargsxx}; fi
|
||||
setloadaddr=if test ${board_name} = microchip,sama7g5ek; then setenv loadaddr 0x63000000; else setenv loadaddr 0x21000000; fi
|
||||
ethact=gmac0
|
||||
stderr=serial
|
||||
|
||||
@@ -43,7 +43,7 @@ endef
|
||||
define Build/copy-kernel
|
||||
rm -f $@ $@.elf
|
||||
cp $< $@
|
||||
cp $< $@.elf
|
||||
cp $<.elf $@.elf
|
||||
endef
|
||||
|
||||
define Build/elf-kernel
|
||||
@@ -54,6 +54,9 @@ endef
|
||||
define Device/Default
|
||||
PROFILES = Default $$(DEVICE_NAME)
|
||||
KERNEL := copy-kernel | lzma-kernel
|
||||
KERNEL_INITRAMFS = kernel-bin
|
||||
KERNEL_INITRAMFS_NAME := vmlinux-initramfs.elf
|
||||
KERNEL_INITRAMFS_SUFFIX := -kernel.elf
|
||||
IMAGES := sysupgrade.bin
|
||||
FILESYSTEMS := squashfs
|
||||
endef
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
struct fis_image_desc {
|
||||
unsigned char name[16]; // Null terminated name
|
||||
uint32_t flash_base; // Address within FLASH of image
|
||||
@@ -72,6 +74,7 @@ static int parse_redboot_partitions(stru
|
||||
@@ -73,6 +75,7 @@ static int parse_redboot_partitions(stru
|
||||
const struct mtd_partition **pparts,
|
||||
struct mtd_part_parser_data *data)
|
||||
{
|
||||
@@ -17,7 +17,7 @@
|
||||
int nrparts = 0;
|
||||
struct fis_image_desc *buf;
|
||||
struct mtd_partition *parts;
|
||||
@@ -239,14 +242,15 @@ static int parse_redboot_partitions(stru
|
||||
@@ -240,14 +243,15 @@ static int parse_redboot_partitions(stru
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -35,7 +35,7 @@
|
||||
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
|
||||
if (nulllen > 0) {
|
||||
strcpy(nullname, nullstring);
|
||||
@@ -265,6 +269,8 @@ static int parse_redboot_partitions(stru
|
||||
@@ -266,6 +270,8 @@ static int parse_redboot_partitions(stru
|
||||
}
|
||||
#endif
|
||||
for ( ; i<nrparts; i++) {
|
||||
@@ -44,7 +44,7 @@
|
||||
parts[i].size = fl->img->size;
|
||||
parts[i].offset = fl->img->flash_base;
|
||||
parts[i].name = names;
|
||||
@@ -298,6 +304,13 @@ static int parse_redboot_partitions(stru
|
||||
@@ -299,6 +305,13 @@ static int parse_redboot_partitions(stru
|
||||
fl = fl->next;
|
||||
kfree(tmp_fl);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/mtd/parsers/redboot.c
|
||||
+++ b/drivers/mtd/parsers/redboot.c
|
||||
@@ -93,12 +93,18 @@ static int parse_redboot_partitions(stru
|
||||
@@ -94,12 +94,18 @@ static int parse_redboot_partitions(stru
|
||||
|
||||
parse_redboot_of(master);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
return -EIO;
|
||||
}
|
||||
offset -= master->erasesize;
|
||||
@@ -111,10 +117,6 @@ static int parse_redboot_partitions(stru
|
||||
@@ -112,10 +118,6 @@ static int parse_redboot_partitions(stru
|
||||
goto nogood;
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
|
||||
master->name, offset);
|
||||
@@ -187,6 +189,11 @@ static int parse_redboot_partitions(stru
|
||||
@@ -188,6 +190,11 @@ static int parse_redboot_partitions(stru
|
||||
}
|
||||
if (i == numslots) {
|
||||
/* Didn't find it */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/mtd/parsers/redboot.c
|
||||
+++ b/drivers/mtd/parsers/redboot.c
|
||||
@@ -70,6 +70,22 @@ static void parse_redboot_of(struct mtd_
|
||||
@@ -71,6 +71,22 @@ static void parse_redboot_of(struct mtd_
|
||||
directory = dirblock;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
static int parse_redboot_partitions(struct mtd_info *master,
|
||||
const struct mtd_partition **pparts,
|
||||
struct mtd_part_parser_data *data)
|
||||
@@ -86,6 +102,7 @@ static int parse_redboot_partitions(stru
|
||||
@@ -87,6 +103,7 @@ static int parse_redboot_partitions(stru
|
||||
int namelen = 0;
|
||||
int nulllen = 0;
|
||||
int numslots;
|
||||
@@ -31,7 +31,7 @@
|
||||
unsigned long offset;
|
||||
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
|
||||
static char nullstring[] = "unallocated";
|
||||
@@ -200,7 +217,10 @@ static int parse_redboot_partitions(stru
|
||||
@@ -201,7 +218,10 @@ static int parse_redboot_partitions(stru
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
struct fis_list *new_fl, **prev;
|
||||
|
||||
if (buf[i].name[0] == 0xff) {
|
||||
@@ -276,12 +296,13 @@ static int parse_redboot_partitions(stru
|
||||
@@ -277,12 +297,13 @@ static int parse_redboot_partitions(stru
|
||||
}
|
||||
#endif
|
||||
for ( ; i<nrparts; i++) {
|
||||
@@ -59,7 +59,7 @@
|
||||
strcpy(names, fl->img->name);
|
||||
#ifdef CONFIG_MTD_REDBOOT_PARTS_READONLY
|
||||
if (!memcmp(names, "RedBoot", 8) ||
|
||||
@@ -311,7 +332,9 @@ static int parse_redboot_partitions(stru
|
||||
@@ -312,7 +333,9 @@ static int parse_redboot_partitions(stru
|
||||
fl = fl->next;
|
||||
kfree(tmp_fl);
|
||||
}
|
||||
|
||||
199
target/linux/ath79/dts/qca9557_extreme-networks_ws-ap3805i.dts
Normal file
199
target/linux/ath79/dts/qca9557_extreme-networks_ws-ap3805i.dts
Normal file
@@ -0,0 +1,199 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "qca955x.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
compatible = "extreme-networks,ws-ap3805i", "qca,qca9557";
|
||||
model = "Extreme Networks AP3805i";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power_green;
|
||||
led-failsafe = &led_power_amber;
|
||||
led-running = &led_power_green;
|
||||
led-upgrade = &led_power_amber;
|
||||
label-mac-device = ð0;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power_green: power_green {
|
||||
label = "green:power";
|
||||
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_power_amber: power_amber {
|
||||
label = "amber:power";
|
||||
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wlan5 {
|
||||
label = "green:wlan5";
|
||||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
wlan2 {
|
||||
label = "green:wlan2";
|
||||
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
watchdog {
|
||||
compatible = "linux,wdt-gpio";
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
hw_algo = "toggle";
|
||||
hw_margin_ms = <20000>;
|
||||
always-running;
|
||||
};
|
||||
};
|
||||
|
||||
&wdt {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
|
||||
qca,no-eeprom;
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
wifi@0,0,0 {
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x0 0 0 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy5: ethernet-phy@5 {
|
||||
reg = <5>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
phy-handle = <&phy5>;
|
||||
phy-mode = "rgmii-id";
|
||||
|
||||
pll-data = <0x82000000 0x80000101 0x80001313>;
|
||||
|
||||
gmac-config {
|
||||
device = <&gmac>;
|
||||
rgmii-enabled = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
m25p,fast-read;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot-bak";
|
||||
reg = <0x0 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "u-boot";
|
||||
reg = <0x080000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "cfg1";
|
||||
reg = <0x100000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@140000 {
|
||||
label = "cfg2";
|
||||
reg = <0x140000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@180000 {
|
||||
label = "nvram4";
|
||||
reg = <0x180000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1c0000 {
|
||||
label = "nvram3";
|
||||
reg = <0x1c0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@200000 {
|
||||
label = "nvram2";
|
||||
reg = <0x200000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@240000 {
|
||||
label = "nvram1";
|
||||
reg = <0x240000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@280000 {
|
||||
label = "PriImg";
|
||||
reg = <0x280000 0x1000000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1280000 {
|
||||
label = "SecImg";
|
||||
reg = <0x1280000 0x1000000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@2280000 {
|
||||
label = "firmware";
|
||||
compatible = "denx,uimage";
|
||||
reg = <0x2280000 0x1cc0000>;
|
||||
};
|
||||
|
||||
partition@3f40000 {
|
||||
label = "cert";
|
||||
reg = <0x3f40000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@3fc0000 {
|
||||
label = "art";
|
||||
reg = <0x3fc0000 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -42,6 +42,7 @@ ath79_setup_interfaces()
|
||||
engenius,ecb1750|\
|
||||
engenius,ecb600|\
|
||||
enterasys,ws-ap3705i|\
|
||||
extreme-networks,ws-ap3805i|\
|
||||
glinet,gl-ar300m-lite|\
|
||||
glinet,gl-usb150|\
|
||||
hak5,wifi-pineapple-nano|\
|
||||
|
||||
@@ -57,6 +57,10 @@ case "$FIRMWARE" in
|
||||
caldata_extract "calibrate" 0x1000 0x440
|
||||
ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR1)
|
||||
;;
|
||||
extreme-networks,ws-ap3805i)
|
||||
caldata_extract "art" 0x1000 0x440
|
||||
ath9k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR1)
|
||||
;;
|
||||
nec,wg800hp)
|
||||
caldata_extract "art" 0x1000 0x440
|
||||
ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
|
||||
|
||||
@@ -97,6 +97,10 @@ case "$FIRMWARE" in
|
||||
caldata_extract "art" 0x5000 0x844
|
||||
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 1)
|
||||
;;
|
||||
extreme-networks,ws-ap3805i)
|
||||
caldata_extract "art" 0x5000 0x844
|
||||
ath10k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR0)
|
||||
;;
|
||||
glinet,gl-ar750)
|
||||
caldata_extract "art" 0x5000 0x844
|
||||
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 1)
|
||||
|
||||
@@ -15,6 +15,7 @@ preinit_set_mac_address() {
|
||||
enterasys,ws-ap3705i)
|
||||
ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env0 ethaddr)
|
||||
;;
|
||||
extreme-networks,ws-ap3805i|\
|
||||
siemens,ws-ap3610)
|
||||
ip link set dev eth0 address $(mtd_get_mac_ascii cfg1 ethaddr)
|
||||
;;
|
||||
|
||||
@@ -1245,6 +1245,16 @@ define Device/etactica_eg200
|
||||
endef
|
||||
TARGET_DEVICES += etactica_eg200
|
||||
|
||||
define Device/extreme-networks_ws-ap3805i
|
||||
SOC := qca9557
|
||||
BLOCKSIZE := 256k
|
||||
DEVICE_VENDOR := Extreme Networks
|
||||
DEVICE_MODEL := WS-AP3805i
|
||||
DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
|
||||
IMAGE_SIZE := 29440k
|
||||
endef
|
||||
TARGET_DEVICES += extreme-networks_ws-ap3805i
|
||||
|
||||
define Device/glinet_6408
|
||||
$(Device/tplink-8mlzma)
|
||||
SOC := ar9331
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/mtd/parsers/redboot.c
|
||||
+++ b/drivers/mtd/parsers/redboot.c
|
||||
@@ -90,12 +90,18 @@ static int parse_redboot_partitions(stru
|
||||
@@ -91,12 +91,18 @@ static int parse_redboot_partitions(stru
|
||||
|
||||
parse_redboot_of(master);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
return -EIO;
|
||||
}
|
||||
offset -= master->erasesize;
|
||||
@@ -108,10 +114,6 @@ static int parse_redboot_partitions(stru
|
||||
@@ -109,10 +115,6 @@ static int parse_redboot_partitions(stru
|
||||
goto nogood;
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
|
||||
master->name, offset);
|
||||
@@ -184,6 +186,11 @@ static int parse_redboot_partitions(stru
|
||||
@@ -185,6 +187,11 @@ static int parse_redboot_partitions(stru
|
||||
}
|
||||
if (i == numslots) {
|
||||
/* Didn't find it */
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
list_for_each_entry(p, head, list) {
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -612,48 +612,53 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -609,48 +609,53 @@ static void tcp_options_write(__be32 *pt
|
||||
u16 options = opts->options; /* mungable copy */
|
||||
|
||||
if (unlikely(OPTION_MD5 & options)) {
|
||||
@@ -382,7 +382,7 @@
|
||||
}
|
||||
|
||||
if (unlikely(opts->num_sack_blocks)) {
|
||||
@@ -661,16 +666,17 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -658,16 +663,17 @@ static void tcp_options_write(__be32 *pt
|
||||
tp->duplicate_sack : tp->selective_acks;
|
||||
int this_sack;
|
||||
|
||||
@@ -406,7 +406,7 @@
|
||||
}
|
||||
|
||||
tp->rx_opt.dsack = 0;
|
||||
@@ -683,13 +689,14 @@ static void tcp_options_write(__be32 *pt
|
||||
@@ -680,13 +686,14 @@ static void tcp_options_write(__be32 *pt
|
||||
|
||||
if (foc->exp) {
|
||||
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
|
||||
@@ -706,7 +706,7 @@
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -4092,14 +4092,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -4093,14 +4093,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -1839,7 +1843,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1838,7 +1842,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(skb);
|
||||
skb_trim(skb, skb->len - 4); /* remove fcs */
|
||||
@@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1857,7 +1862,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1856,7 +1861,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(ax_skb);
|
||||
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
||||
|
||||
@@ -22,7 +22,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -917,13 +921,13 @@ static int smsc95xx_reset(struct usbnet
|
||||
@@ -915,13 +919,13 @@ static int smsc95xx_reset(struct usbnet
|
||||
|
||||
if (!turbo_mode) {
|
||||
burst_cap = 0;
|
||||
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -773,6 +778,53 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
@@ -771,6 +776,53 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
return phy_mii_ioctl(netdev->phydev, rq, cmd);
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||
{
|
||||
/* maybe the boot loader passed the MAC address in devicetree */
|
||||
@@ -795,6 +847,10 @@ static void smsc95xx_init_mac_address(st
|
||||
@@ -793,6 +845,10 @@ static void smsc95xx_init_mac_address(st
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -8603,8 +8603,6 @@ int alloc_contig_range(unsigned long sta
|
||||
@@ -8607,8 +8607,6 @@ int alloc_contig_range(unsigned long sta
|
||||
|
||||
/* Make sure the range is really isolated. */
|
||||
if (test_pages_isolated(outer_start, end, 0)) {
|
||||
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] ARM64: Force hardware emulation of deprecated
|
||||
|
||||
--- a/arch/arm64/kernel/armv8_deprecated.c
|
||||
+++ b/arch/arm64/kernel/armv8_deprecated.c
|
||||
@@ -182,10 +182,15 @@ static void __init register_insn_emulati
|
||||
@@ -183,10 +183,15 @@ static void __init register_insn_emulati
|
||||
|
||||
switch (ops->status) {
|
||||
case INSN_DEPRECATED:
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/core/hcd.c
|
||||
+++ b/drivers/usb/core/hcd.c
|
||||
@@ -1966,6 +1966,16 @@ reset:
|
||||
@@ -1969,6 +1969,16 @@ reset:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
extern int usb_driver_set_configuration(struct usb_device *udev, int config);
|
||||
--- a/include/linux/usb/hcd.h
|
||||
+++ b/include/linux/usb/hcd.h
|
||||
@@ -384,6 +384,11 @@ struct hc_driver {
|
||||
@@ -385,6 +385,11 @@ struct hc_driver {
|
||||
* or bandwidth constraints.
|
||||
*/
|
||||
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
|
||||
@@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
/* Returns the hardware-chosen device address */
|
||||
int (*address_device)(struct usb_hcd *, struct usb_device *udev);
|
||||
/* prepares the hardware to send commands to the device */
|
||||
@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
|
||||
@@ -446,6 +451,8 @@ extern void usb_hcd_unmap_urb_setup_for_
|
||||
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
|
||||
extern void usb_hcd_flush_endpoint(struct usb_device *udev,
|
||||
struct usb_host_endpoint *ep);
|
||||
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
#define USB_VENDOR_ID_BELKIN 0x050d
|
||||
#define USB_DEVICE_ID_FLIP_KVM 0x3201
|
||||
|
||||
@@ -1271,6 +1274,9 @@
|
||||
@@ -1273,6 +1276,9 @@
|
||||
#define USB_VENDOR_ID_XAT 0x2505
|
||||
#define USB_DEVICE_ID_XAT_CSR 0x0220
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1363,6 +1363,9 @@ ifneq ($(dtstree),)
|
||||
@@ -1364,6 +1364,9 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1363,7 +1363,7 @@ ifneq ($(dtstree),)
|
||||
@@ -1364,7 +1364,7 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1493,9 +1493,6 @@ static int vc4_hdmi_cec_init(struct vc4_
|
||||
@@ -1487,9 +1487,6 @@ static int vc4_hdmi_cec_init(struct vc4_
|
||||
u32 value;
|
||||
int ret;
|
||||
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
|
||||
vc4_hdmi, "vc4",
|
||||
CEC_CAP_DEFAULTS |
|
||||
@@ -1928,7 +1925,6 @@ static const struct vc4_hdmi_variant bcm
|
||||
@@ -1922,7 +1919,6 @@ static const struct vc4_hdmi_variant bcm
|
||||
.debugfs_name = "hdmi_regs",
|
||||
.card_name = "vc4-hdmi",
|
||||
.max_pixel_clock = 162000000,
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
From d57ee5afedf0b1b9a9afb29357c484acda5a40af Mon Sep 17 00:00:00 2001
|
||||
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
Date: Tue, 19 May 2020 14:54:28 +0100
|
||||
Subject: [PATCH] drm/vc4: Adopt the dma configuration from the HVS or
|
||||
V3D component
|
||||
|
||||
vc4_drv isn't necessarily under the /soc node in DT as it is a
|
||||
virtual device, but it is the one that does the allocations.
|
||||
The DMA addresses are consumed by primarily the HVS or V3D, and
|
||||
those require VideoCore cache alias address mapping, and so will be
|
||||
under /soc.
|
||||
|
||||
During probe find the a suitable device node for HVS or V3D,
|
||||
and adopt the DMA configuration of that node.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_drv.c | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
@@ -246,6 +246,14 @@ static void vc4_match_add_drivers(struct
|
||||
}
|
||||
}
|
||||
|
||||
+const struct of_device_id vc4_dma_range_matches[] = {
|
||||
+ { .compatible = "brcm,bcm2835-hvs" },
|
||||
+ { .compatible = "brcm,bcm2835-v3d" },
|
||||
+ { .compatible = "brcm,cygnus-v3d" },
|
||||
+ { .compatible = "brcm,vc4-v3d" },
|
||||
+ {}
|
||||
+};
|
||||
+
|
||||
static int vc4_drm_bind(struct device *dev)
|
||||
{
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
@@ -263,6 +271,16 @@ static int vc4_drm_bind(struct device *d
|
||||
vc4_drm_driver.driver_features &= ~DRIVER_RENDER;
|
||||
of_node_put(node);
|
||||
|
||||
+ node = of_find_matching_node_and_match(NULL, vc4_dma_range_matches,
|
||||
+ NULL);
|
||||
+ if (node) {
|
||||
+ ret = of_dma_configure(dev, node, true);
|
||||
+ of_node_put(node);
|
||||
+
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
vc4 = devm_drm_dev_alloc(dev, &vc4_drm_driver, struct vc4_dev, base);
|
||||
if (IS_ERR(vc4))
|
||||
return PTR_ERR(vc4);
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -991,6 +991,44 @@ static void vc4_hdmi_audio_shutdown(stru
|
||||
@@ -995,6 +995,44 @@ static void vc4_hdmi_audio_shutdown(stru
|
||||
vc4_hdmi->audio.substream = NULL;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
/* HDMI audio codec callbacks */
|
||||
static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_pcm_hw_params *params,
|
||||
@@ -1001,6 +1039,8 @@ static int vc4_hdmi_audio_hw_params(stru
|
||||
@@ -1005,6 +1043,8 @@ static int vc4_hdmi_audio_hw_params(stru
|
||||
struct device *dev = &vc4_hdmi->pdev->dev;
|
||||
u32 audio_packet_config, channel_mask;
|
||||
u32 channel_map;
|
||||
@@ -68,7 +68,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
if (substream != vc4_hdmi->audio.substream)
|
||||
return -EINVAL;
|
||||
@@ -1021,6 +1061,14 @@ static int vc4_hdmi_audio_hw_params(stru
|
||||
@@ -1025,6 +1065,14 @@ static int vc4_hdmi_audio_hw_params(stru
|
||||
|
||||
vc4_hdmi_audio_set_mai_clock(vc4_hdmi);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
#include <sound/dmaengine_pcm.h>
|
||||
#include <sound/pcm_drm_eld.h>
|
||||
#include <sound/pcm_params.h>
|
||||
@@ -1182,6 +1183,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st
|
||||
@@ -1176,6 +1177,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = {
|
||||
{
|
||||
.access = SNDRV_CTL_ELEM_ACCESS_READ |
|
||||
@@ -1191,6 +1233,19 @@ static const struct snd_kcontrol_new vc4
|
||||
@@ -1185,6 +1227,19 @@ static const struct snd_kcontrol_new vc4
|
||||
.info = vc4_hdmi_audio_eld_ctl_info,
|
||||
.get = vc4_hdmi_audio_eld_ctl_get,
|
||||
},
|
||||
@@ -94,7 +94,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
};
|
||||
|
||||
static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = {
|
||||
@@ -1311,6 +1366,11 @@ static int vc4_hdmi_audio_init(struct vc
|
||||
@@ -1305,6 +1360,11 @@ static int vc4_hdmi_audio_init(struct vc
|
||||
vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
||||
vc4_hdmi->audio.dma_data.maxburst = 2;
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1031,9 +1031,8 @@ static int sample_rate_to_mai_fmt(int sa
|
||||
@@ -1035,9 +1035,8 @@ static int sample_rate_to_mai_fmt(int sa
|
||||
}
|
||||
|
||||
/* HDMI audio codec callbacks */
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
{
|
||||
struct vc4_hdmi *vc4_hdmi = dai_to_hdmi(dai);
|
||||
struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base;
|
||||
@@ -1046,12 +1045,15 @@ static int vc4_hdmi_audio_hw_params(stru
|
||||
@@ -1050,12 +1049,15 @@ static int vc4_hdmi_audio_hw_params(stru
|
||||
if (substream != vc4_hdmi->audio.substream)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -47,7 +47,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
|
||||
HDMI_WRITE(HDMI_MAI_CTL,
|
||||
VC4_HD_MAI_CTL_RESET |
|
||||
@@ -1273,7 +1275,7 @@ static const struct snd_soc_component_dr
|
||||
@@ -1267,7 +1269,7 @@ static const struct snd_soc_component_dr
|
||||
static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = {
|
||||
.startup = vc4_hdmi_audio_startup,
|
||||
.shutdown = vc4_hdmi_audio_shutdown,
|
||||
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1065,7 +1065,11 @@ static int vc4_hdmi_audio_prepare(struct
|
||||
@@ -1069,7 +1069,11 @@ static int vc4_hdmi_audio_prepare(struct
|
||||
vc4_hdmi_audio_set_mai_clock(vc4_hdmi);
|
||||
|
||||
mai_sample_rate = sample_rate_to_mai_fmt(vc4_hdmi->audio.samplerate);
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
From 3c398513990aa0edc5b9ebfbdd2395623562c6e4 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Thu, 25 Jun 2020 18:48:40 +0100
|
||||
Subject: [PATCH] vc4_hdmi: Remove firmware logic for MAI threshold
|
||||
setting
|
||||
|
||||
This was a workaround for bugs in hardware on earlier Pi models
|
||||
and wasn't totally successful.
|
||||
|
||||
It makes audio quality worse on a Pi4 at the higher sample rates
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 22 ++++++----------------
|
||||
1 file changed, 6 insertions(+), 16 deletions(-)
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1086,22 +1086,12 @@ static int vc4_hdmi_audio_prepare(struct
|
||||
audio_packet_config |= VC4_SET_FIELD(channel_mask,
|
||||
VC4_HDMI_AUDIO_PACKET_CEA_MASK);
|
||||
|
||||
- /* Set the MAI threshold. This logic mimics the firmware's. */
|
||||
- if (vc4_hdmi->audio.samplerate > 96000) {
|
||||
- HDMI_WRITE(HDMI_MAI_THR,
|
||||
- VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
- VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW));
|
||||
- } else if (vc4_hdmi->audio.samplerate > 48000) {
|
||||
- HDMI_WRITE(HDMI_MAI_THR,
|
||||
- VC4_SET_FIELD(0x14, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
- VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW));
|
||||
- } else {
|
||||
- HDMI_WRITE(HDMI_MAI_THR,
|
||||
- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
|
||||
- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
|
||||
- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW));
|
||||
- }
|
||||
+ /* Set the MAI threshold */
|
||||
+ HDMI_WRITE(HDMI_MAI_THR,
|
||||
+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
|
||||
+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
|
||||
+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
+ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW));
|
||||
|
||||
HDMI_WRITE(HDMI_MAI_CONFIG,
|
||||
VC4_HDMI_MAI_CONFIG_BIT_REVERSE |
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1095,6 +1095,7 @@ static int vc4_hdmi_audio_prepare(struct
|
||||
@@ -1099,6 +1099,7 @@ static int vc4_hdmi_audio_prepare(struct
|
||||
|
||||
HDMI_WRITE(HDMI_MAI_CONFIG,
|
||||
VC4_HDMI_MAI_CONFIG_BIT_REVERSE |
|
||||
|
||||
@@ -38,7 +38,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
};
|
||||
|
||||
static const struct hvs_format *vc4_get_hvs_format(u32 drm_format)
|
||||
@@ -769,27 +776,33 @@ static int vc4_plane_mode_set(struct drm
|
||||
@@ -765,27 +772,33 @@ static int vc4_plane_mode_set(struct drm
|
||||
uint32_t param = fourcc_mod_broadcom_param(fb->modifier);
|
||||
u32 tile_w, tile, x_off, pix_per_tile;
|
||||
|
||||
@@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -799,6 +812,13 @@ static int vc4_plane_mode_set(struct drm
|
||||
@@ -795,6 +808,13 @@ static int vc4_plane_mode_set(struct drm
|
||||
|
||||
/* Adjust the base pointer to the first pixel to be scanned
|
||||
* out.
|
||||
@@ -104,7 +104,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
*/
|
||||
for (i = 0; i < num_planes; i++) {
|
||||
vc4_state->offsets[i] += param * tile_w * tile;
|
||||
@@ -960,7 +980,8 @@ static int vc4_plane_mode_set(struct drm
|
||||
@@ -956,7 +976,8 @@ static int vc4_plane_mode_set(struct drm
|
||||
|
||||
/* Pitch word 1/2 */
|
||||
for (i = 1; i < num_planes; i++) {
|
||||
@@ -114,7 +114,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
vc4_dlist_write(vc4_state,
|
||||
VC4_SET_FIELD(fb->pitches[i],
|
||||
SCALER_SRC_PITCH));
|
||||
@@ -1320,6 +1341,13 @@ static bool vc4_format_mod_supported(str
|
||||
@@ -1316,6 +1337,13 @@ static bool vc4_format_mod_supported(str
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
@@ -128,7 +128,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
case DRM_FORMAT_RGBX1010102:
|
||||
case DRM_FORMAT_BGRX1010102:
|
||||
case DRM_FORMAT_RGBA1010102:
|
||||
@@ -1352,8 +1380,11 @@ struct drm_plane *vc4_plane_init(struct
|
||||
@@ -1348,8 +1376,11 @@ struct drm_plane *vc4_plane_init(struct
|
||||
struct drm_plane *plane = NULL;
|
||||
struct vc4_plane *vc4_plane;
|
||||
u32 formats[ARRAY_SIZE(hvs_formats)];
|
||||
@@ -140,7 +140,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
static const uint64_t modifiers[] = {
|
||||
DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
|
||||
DRM_FORMAT_MOD_BROADCOM_SAND128,
|
||||
@@ -1368,13 +1399,17 @@ struct drm_plane *vc4_plane_init(struct
|
||||
@@ -1364,13 +1395,17 @@ struct drm_plane *vc4_plane_init(struct
|
||||
if (!vc4_plane)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
@@ -628,6 +628,53 @@ static int vc4_plane_allocate_lbm(struct
|
||||
@@ -624,6 +624,53 @@ static int vc4_plane_allocate_lbm(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
/* Writes out a full display list for an active plane to the plane's
|
||||
* private dlist state.
|
||||
*/
|
||||
@@ -992,9 +1039,20 @@ static int vc4_plane_mode_set(struct drm
|
||||
@@ -988,9 +1035,20 @@ static int vc4_plane_mode_set(struct drm
|
||||
|
||||
/* Colorspace conversion words */
|
||||
if (vc4_state->is_yuv) {
|
||||
@@ -96,7 +96,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
}
|
||||
|
||||
vc4_state->lbm_offset = 0;
|
||||
@@ -1423,6 +1481,14 @@ struct drm_plane *vc4_plane_init(struct
|
||||
@@ -1419,6 +1477,14 @@ struct drm_plane *vc4_plane_init(struct
|
||||
DRM_MODE_REFLECT_X |
|
||||
DRM_MODE_REFLECT_Y);
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
vc4_hdmi.o \
|
||||
--- a/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
@@ -307,9 +307,11 @@ static int vc4_drm_bind(struct device *d
|
||||
@@ -308,9 +308,11 @@ static int vc4_drm_bind(struct device *d
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false);
|
||||
|
||||
@@ -317,8 +319,10 @@ static int vc4_drm_bind(struct device *d
|
||||
@@ -318,8 +320,10 @@ static int vc4_drm_bind(struct device *d
|
||||
if (ret < 0)
|
||||
goto unbind_all;
|
||||
|
||||
@@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
ret = drm_dev_register(drm, 0);
|
||||
if (ret < 0)
|
||||
@@ -356,6 +360,7 @@ static struct platform_driver *const com
|
||||
@@ -357,6 +361,7 @@ static struct platform_driver *const com
|
||||
&vc4_hvs_driver,
|
||||
&vc4_txp_driver,
|
||||
&vc4_crtc_driver,
|
||||
@@ -82,7 +82,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_drv.h
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_drv.h
|
||||
@@ -74,12 +74,17 @@ struct vc4_perfmon {
|
||||
@@ -74,11 +74,16 @@ struct vc4_perfmon {
|
||||
struct vc4_dev {
|
||||
struct drm_device base;
|
||||
|
||||
@@ -93,14 +93,13 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
struct vc4_hvs *hvs;
|
||||
struct vc4_v3d *v3d;
|
||||
struct vc4_dpi *dpi;
|
||||
struct vc4_dsi *dsi1;
|
||||
struct vc4_vec *vec;
|
||||
struct vc4_txp *txp;
|
||||
+ struct vc4_fkms *fkms;
|
||||
|
||||
struct vc4_hang_state *hang_state;
|
||||
|
||||
@@ -877,6 +882,9 @@ extern struct platform_driver vc4_dsi_dr
|
||||
@@ -876,6 +881,9 @@ extern struct platform_driver vc4_dsi_dr
|
||||
/* vc4_fence.c */
|
||||
extern const struct dma_fence_ops vc4_fence_ops;
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
@@ -248,6 +248,7 @@ static void vc4_match_add_drivers(struct
|
||||
|
||||
const struct of_device_id vc4_dma_range_matches[] = {
|
||||
@@ -249,6 +249,7 @@ static void vc4_match_add_drivers(struct
|
||||
static const struct of_device_id vc4_dma_range_matches[] = {
|
||||
{ .compatible = "brcm,bcm2711-hvs" },
|
||||
{ .compatible = "brcm,bcm2835-hvs" },
|
||||
+ { .compatible = "raspberrypi,rpi-firmware-kms" },
|
||||
{ .compatible = "brcm,bcm2835-v3d" },
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
From 4de61df3c777ea6265d03be98b315c8644003ceb Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Wed, 31 Jul 2019 17:36:34 +0100
|
||||
Subject: [PATCH] drm/vc4: A present but empty dmas disables audio
|
||||
|
||||
Overlays are unable to remove properties in the base DTB, but they
|
||||
can overwrite them. Allow a present but empty 'dmas' property
|
||||
to also disable the HDMI audio interface.
|
||||
|
||||
See: https://github.com/raspberrypi/linux/issues/2489
|
||||
|
||||
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1333,10 +1333,12 @@ static int vc4_hdmi_audio_init(struct vc
|
||||
const __be32 *addr;
|
||||
int index;
|
||||
int ret;
|
||||
+ int len;
|
||||
|
||||
- if (!of_find_property(dev->of_node, "dmas", NULL)) {
|
||||
+ if (!of_find_property(dev->of_node, "dmas", &len) ||
|
||||
+ len == 0) {
|
||||
dev_warn(dev,
|
||||
- "'dmas' DT property is missing, no HDMI audio\n");
|
||||
+ "'dmas' DT property is missing or empty, no HDMI audio\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -92,6 +92,12 @@ static int vc4_hdmi_debugfs_regs(struct
|
||||
@@ -94,6 +94,12 @@ static int vc4_hdmi_debugfs_regs(struct
|
||||
|
||||
drm_print_regset32(&p, &vc4_hdmi->hdmi_regset);
|
||||
drm_print_regset32(&p, &vc4_hdmi->hd_regset);
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1734,6 +1740,7 @@ static int vc5_hdmi_init_resources(struc
|
||||
@@ -1736,6 +1742,7 @@ static int vc5_hdmi_init_resources(struc
|
||||
struct platform_device *pdev = vc4_hdmi->pdev;
|
||||
struct device *dev = &pdev->dev;
|
||||
struct resource *res;
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi");
|
||||
if (!res)
|
||||
@@ -1824,6 +1831,38 @@ static int vc5_hdmi_init_resources(struc
|
||||
@@ -1826,6 +1833,38 @@ static int vc5_hdmi_init_resources(struc
|
||||
return PTR_ERR(vc4_hdmi->reset);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
From 2b8894c7231f02a03e13c1785ed706471d511f8d Mon Sep 17 00:00:00 2001
|
||||
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
Date: Mon, 26 Oct 2020 12:38:27 +0000
|
||||
Subject: [PATCH] drm/vc4: Add the 2711 HVS as a suitable DMA node
|
||||
|
||||
With vc4-drv node not being under /soc on Pi4, we need to
|
||||
adopt the correct DMA parameters from a suitable sub-component.
|
||||
Add "brcm,bcm2711-hvs" to that list of components.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_drv.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
|
||||
@@ -248,6 +248,7 @@ static void vc4_match_add_drivers(struct
|
||||
|
||||
const struct of_device_id vc4_dma_range_matches[] = {
|
||||
{ .compatible = "brcm,bcm2835-hvs" },
|
||||
+ { .compatible = "brcm,bcm2711-hvs" },
|
||||
{ .compatible = "raspberrypi,rpi-firmware-kms" },
|
||||
{ .compatible = "brcm,bcm2835-v3d" },
|
||||
{ .compatible = "brcm,cygnus-v3d" },
|
||||
@@ -10,7 +10,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -257,6 +257,7 @@ static int vc4_hdmi_connector_init(struc
|
||||
@@ -261,6 +261,7 @@ static int vc4_hdmi_connector_init(struc
|
||||
|
||||
connector->interlace_allowed = 1;
|
||||
connector->doublescan_allowed = 0;
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -285,9 +285,11 @@ static void vc4_hdmi_write_infoframe(str
|
||||
@@ -289,9 +289,11 @@ static void vc4_hdmi_write_infoframe(str
|
||||
const struct vc4_hdmi_register *ram_packet_start =
|
||||
&vc4_hdmi->variant->registers[HDMI_RAM_PACKET_START];
|
||||
u32 packet_reg = ram_packet_start->offset + VC4_HDMI_PACKET_STRIDE * packet_id;
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
ssize_t len, i;
|
||||
int ret;
|
||||
|
||||
@@ -320,6 +322,13 @@ static void vc4_hdmi_write_infoframe(str
|
||||
@@ -324,6 +326,13 @@ static void vc4_hdmi_write_infoframe(str
|
||||
packet_reg += 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/drivers/gpu/drm/vc4/vc4_dsi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_dsi.c
|
||||
@@ -306,11 +306,11 @@
|
||||
@@ -348,11 +348,11 @@
|
||||
# define DSI0_PHY_AFEC0_RESET BIT(11)
|
||||
# define DSI1_PHY_AFEC0_PD_BG BIT(11)
|
||||
# define DSI0_PHY_AFEC0_PD BIT(10)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user