ipq9574: update kernel and network drivers to v5.4

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin 2023-09-29 15:32:01 +02:00
parent aa245da361
commit 8706a596e1
30 changed files with 858 additions and 140 deletions

View File

@ -0,0 +1,37 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ath11k-firmware
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=main
PKG_SOURCE_URL:=https://github.com/quic/upstream-wifi-fw.git
PKG_MIRROR_HASH:=557505744764b0442c887be3f5bb0ce924323d785b6d207899f19fad992a6020
PKG_SOURCE_VERSION:=3417bb86645c5ff4c58258db7cc33e43260b4222
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
include $(INCLUDE_DIR)/package.mk
define Package/ath11k-firmware-default
SECTION:=firmware
CATEGORY:=Firmware
URL:=$(PKG_SOURCE_URL)
DEPENDS:=
endef
define Package/ath11k-firmware-ipq95xx
$(Package/ath11k-firmware-default)
TITLE:=ath11k firmware for IPQ95xx devices
DEPENDS:=@TARGET_ipq95xx
endef
define Build/Compile
endef
define Package/ath11k-firmware-ipq95xx/install
$(INSTALL_DIR) $(1)/lib/firmware/IPQ9574/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ath11k-firmware/IPQ9574/hw1.0/2.9.0.1/WLAN.HK.2.9.0.1-01890-QCAHKSWPL_SILICONZ-1/* \
$(1)/lib/firmware/IPQ9574/
endef
$(eval $(call BuildPackage,ath11k-firmware-ipq95xx))

View File

@ -0,0 +1,36 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=ath11k-wifi
PKG_RELEASE:=1
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Compile
endef
define Package/ath11k-wifi-default
SUBMENU:=ath11k Board-Specific Overrides
SECTION:=firmware
CATEGORY:=Firmware
DEPENDS:=@TARGET_ipq95xx
TITLE:=Custom Board
endef
define Package/ath11k-wifi-qcom-ipq95xx
$(call Package/ath11k-wifi-default)
TITLE:=board-2.bin for QCOM IPQ9574 eval kits
endef
define Package/ath11k-wifi-qcom-ipq95xx/install
$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ9574/hw1.0/
$(INSTALL_DATA) ./board-2.bin.IPQ9574 $(1)/lib/firmware/ath11k/IPQ9574/hw1.0/board-2.bin
endef
$(eval $(call BuildPackage,ath11k-wifi-qcom-ipq95xx))

Binary file not shown.

View File

@ -0,0 +1,37 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ath12k-firmware
PKG_SOURCE_PROTO:=git
PKG_BRANCH:=main
PKG_SOURCE_URL:=https://github.com/quic/upstream-wifi-fw.git
PKG_MIRROR_HASH:=ade4287ff2935ad1d54e5dabb8e6de28f648d0974fa76238fcc1616235e6773e
PKG_SOURCE_VERSION:=3417bb86645c5ff4c58258db7cc33e43260b4222
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
include $(INCLUDE_DIR)/package.mk
define Package/ath12k-firmware-default
SECTION:=firmware
CATEGORY:=Firmware
URL:=$(PKG_SOURCE_URL)
DEPENDS:=
endef
define Package/ath12k-firmware-qcn92xx
$(Package/ath12k-firmware-default)
TITLE:=ath12k firmware for qcn92xx devices
DEPENDS:=@TARGET_ipq95xx
endef
define Build/Compile
endef
define Package/ath12k-firmware-qcn92xx/install
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw2.0
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ath12k-firmware/QCN9274/hw2.0/1.1.1/WLAN.WBE.1.1.1-00126-QCAHKSWPL_SILICONZ-1/* \
$(1)/lib/firmware/ath12k/QCN92XX/hw2.0
endef
$(eval $(call BuildPackage,ath12k-firmware-qcn92xx))

View File

@ -0,0 +1,36 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=ath12k-wifi
PKG_RELEASE:=1
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Compile
endef
define Package/ath12k-wifi-default
SUBMENU:=ath12k Board-Specific Overrides
SECTION:=firmware
CATEGORY:=Firmware
DEPENDS:=@TARGET_qcn9274
TITLE:=Custom Board
endef
define Package/ath12k-wifi-qcom-qcn9274
$(call Package/ath12k-wifi-default)
TITLE:=board-2.bin for QCOM QCN9274 eval kits
endef
define Package/ath12k-wifi-qcom-qcn9274/install
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN9274/hw1.0/
$(INSTALL_DATA) ./board-2.bin.QCN9274 $(1)/lib/firmware/ath12k/QCN9274/hw1.0/board-2.bin
endef
$(eval $(call BuildPackage,ath12k-wifi-qcom-qcn9274))

Binary file not shown.

Binary file not shown.

View File

@ -12,15 +12,16 @@ SUBTARGETS:=generic ipq95xx_32
KERNELNAME:=zImage Image dtbs
KERNEL_PATCHVER:=5.4
KERNEL_NAME_SUFFIX=-qsdk-879aa8d1f540d2357674beed0069e4450946b831
KERNEL_NAME_SUFFIX=-qsdk-f2ee796db820cd8261889849f043c9c816196452
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += \
uboot-envtools kmod-leds-gpio kmod-gpio-button-hotplug kmod-button-hotplug \
kmod-usb3 swconfig \
kmod-usb3 swconfig kmod-qca-nss-dp \
kmod-usb-phy-ipq807x kmod-usb-dwc3-qcom-internal \
kmod-qca-nss-ppe kmod-qca-ssdk-nohnat kmod-qca-psdk kmod-qca-nss-dp \
kmod-qca-nss-ppe kmod-qca-ssdk-nohnat kmod-qca-psdk \
kmod-gpio-button-hotplug iwinfo uboot-envtools swconfig \
kmod-ath11k-ahb ath11k-firmware-ipq95xx \
kmod-ath12k ath12k-firmware-qcn92xx wpad-openssl \
-procd-ujail

View File

@ -0,0 +1,41 @@
#!/bin/sh
export >> /tmp/foo
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
caldata_die() {
echo "caldata: " "$*"
exit 1
}
caldata_extract() {
local part=$1
local offset=$(($2))
local count=$(($3))
local mtd
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
caldata_die "failed to extract calibration data from $mtd"
}
board=$(board_name)
case "$FIRMWARE" in
ath11k/IPQ9574/hw1.0/caldata.bin)
case "$board" in
qcom,ipq9574-ap-al02-c15)
caldata_extract "0:ART" 0x1000 0x20000
;;
esac
;;
*)
exit 1
;;
esac

View File

@ -0,0 +1,41 @@
#!/bin/sh
export >> /tmp/foo
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
caldata_die() {
echo "caldata: " "$*"
exit 1
}
caldata_extract() {
local part=$1
local offset=$(($2))
local count=$(($3))
local mtd
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
caldata_die "failed to extract calibration data from $mtd"
}
board=$(board_name)
case "$FIRMWARE" in
ath12k/QCN92XX/hw1.0/cal-pci-0002:01:00.0.bin)
case "$board" in
_qcom,ipq9574-ap-al02-c4)
caldata_extract "0:ART" 0x1000 0x20000
;;
esac
;;
*)
exit 1
;;
esac

View File

@ -0,0 +1,391 @@
# Copyright (C) 2014 OpenWrt.org
#
. /lib/functions.sh
# 'kernel' partition or UBI volume on NAND contains the kernel
CI_KERNPART="${CI_KERNPART:-kernel}"
# 'ubi' partition on NAND contains UBI
CI_UBIPART="${CI_UBIPART:-ubi}"
# 'rootfs' UBI volume on NAND contains the rootfs
CI_ROOTPART="${CI_ROOTPART:-rootfs}"
# ipq807x qsdk kernel misbehaves
CI_IPQ807X=0
# update BOOTCONFIG partitions (rotate rootfs/rootfs_1)
CI_BOOTCFG=0
# update uboot-env if upgrade suceeded
CI_FWSETENV=
ubi_mknod() {
local dir="$1"
local dev="/dev/$(basename $dir)"
[ -e "$dev" ] && return 0
local devid="$(cat $dir/dev)"
local major="${devid%%:*}"
local minor="${devid##*:}"
mknod "$dev" c $major $minor
}
nand_find_volume() {
local ubidevdir ubivoldir
ubidevdir="/sys/devices/virtual/ubi/$1"
[ ! -d "$ubidevdir" ] && return 1
for ubivoldir in $ubidevdir/${1}_*; do
[ ! -d "$ubivoldir" ] && continue
if [ "$( cat $ubivoldir/name )" = "$2" ]; then
basename $ubivoldir
ubi_mknod "$ubivoldir"
return 0
fi
done
}
nand_find_ubi() {
local ubidevdir ubidev mtdnum
mtdnum="$( find_mtd_index $1 )"
[ ! "$mtdnum" ] && return 1
for ubidevdir in /sys/devices/virtual/ubi/ubi*; do
[ ! -d "$ubidevdir" ] && continue
cmtdnum="$( cat $ubidevdir/mtd_num )"
[ ! "$mtdnum" ] && continue
if [ "$mtdnum" = "$cmtdnum" ]; then
ubidev=$( basename $ubidevdir )
ubi_mknod "$ubidevdir"
echo $ubidev
return 0
fi
done
}
nand_get_magic_long() {
dd if="$1" skip=$2 bs=4 count=1 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
}
get_magic_long_tar() {
( tar xf $1 $2 -O | dd bs=4 count=1 | hexdump -v -n 4 -e '1/1 "%02x"') 2> /dev/null
}
identify_magic() {
local magic=$1
case "$magic" in
"55424923")
echo "ubi"
;;
"31181006")
echo "ubifs"
;;
"68737173")
echo "squashfs"
;;
"d00dfeed")
echo "fit"
;;
"4349"*)
echo "combined"
;;
*)
echo "unknown $magic"
;;
esac
}
identify() {
identify_magic $(nand_get_magic_long "$1" "${2:-0}")
}
identify_tar() {
identify_magic $(get_magic_long_tar "$1" "$2")
}
nand_restore_config() {
sync
local ubidev=$( nand_find_ubi $CI_UBIPART )
local ubivol="$( nand_find_volume $ubidev rootfs_data )"
[ ! "$ubivol" ] &&
ubivol="$( nand_find_volume $ubidev $CI_ROOTPART )"
mkdir /tmp/new_root
if ! mount -t ubifs /dev/$ubivol /tmp/new_root; then
echo "mounting ubifs $ubivol failed"
rmdir /tmp/new_root
return 1
fi
mv "$1" "/tmp/new_root/$BACKUP_FILE"
umount /tmp/new_root
sync
rmdir /tmp/new_root
}
nand_upgrade_prepare_ubi() {
local rootfs_length="$1"
local rootfs_type="$2"
local rootfs_data_max="$(fw_printenv -n rootfs_data_max 2>/dev/null)"
[ -n "$rootfs_data_max" ] && rootfs_data_max=$(printf %d "$rootfs_data_max")
local kernel_length="$3"
local has_env="${4:-0}"
[ -n "$rootfs_length" -o -n "$kernel_length" ] || return 1
local mtdnum="$( find_mtd_index "$CI_UBIPART" )"
if [ ! "$mtdnum" ]; then
echo "cannot find ubi mtd partition $CI_UBIPART"
return 1
fi
[ "$CI_IPQ807X" = 1 ] && ubidetach -f -m $mtdnum
local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
if [ ! "$ubidev" ]; then
ubiattach -m "$mtdnum"
sync
ubidev="$( nand_find_ubi "$CI_UBIPART" )"
fi
if [ ! "$ubidev" ]; then
ubiformat /dev/mtd$mtdnum -y
ubiattach -m "$mtdnum"
sync
ubidev="$( nand_find_ubi "$CI_UBIPART" )"
[ "$has_env" -gt 0 ] && {
ubimkvol /dev/$ubidev -n 0 -N ubootenv -s 1MiB
ubimkvol /dev/$ubidev -n 1 -N ubootenv2 -s 1MiB
}
fi
local kern_ubivol="$( nand_find_volume $ubidev $CI_KERNPART )"
local root_ubivol="$( nand_find_volume $ubidev $CI_ROOTPART )"
local data_ubivol="$( nand_find_volume $ubidev rootfs_data )"
local ubiblk ubiblkvol
for ubiblk in /dev/ubiblock*_? ; do
[ -e "$ubiblk" ] || continue
echo "removing ubiblock${ubiblk:13}"
ubiblkvol=ubi${ubiblk:13}
if ! ubiblock -r /dev/$ubiblkvol; then
echo "cannot remove $ubiblk"
return 1
fi
done
# kill volumes
[ "$kern_ubivol" ] && ubirmvol /dev/$ubidev -N $CI_KERNPART || true
[ "$root_ubivol" -a "$root_ubivol" != "$kern_ubivol" ] && ubirmvol /dev/$ubidev -N $CI_ROOTPART || true
[ "$data_ubivol" ] && ubirmvol /dev/$ubidev -N rootfs_data || true
# update kernel
if [ -n "$kernel_length" ]; then
if ! ubimkvol /dev/$ubidev -N $CI_KERNPART -s $kernel_length; then
echo "cannot create kernel volume"
return 1;
fi
fi
# update rootfs
if [ -n "$rootfs_length" ]; then
local rootfs_size_param
if [ "$rootfs_type" = "ubifs" ]; then
rootfs_size_param="-m"
else
rootfs_size_param="-s $rootfs_length"
fi
if ! ubimkvol /dev/$ubidev -N $CI_ROOTPART $rootfs_size_param; then
echo "cannot create rootfs volume"
return 1;
fi
fi
# create rootfs_data for non-ubifs rootfs
if [ "$rootfs_type" != "ubifs" ]; then
local availeb=$(cat /sys/devices/virtual/ubi/$ubidev/avail_eraseblocks)
local ebsize=$(cat /sys/devices/virtual/ubi/$ubidev/eraseblock_size)
local avail_size=$(( $availeb * $ebsize ))
local rootfs_data_size_param="-m"
if [ -n "$rootfs_data_max" ] &&
[ "$rootfs_data_max" != "0" ] &&
[ "$rootfs_data_max" -le "$avail_size" ]; then
rootfs_data_size_param="-s $rootfs_data_max"
fi
if ! ubimkvol /dev/$ubidev -N rootfs_data $rootfs_data_size_param; then
echo "cannot initialize rootfs_data volume"
return 1
fi
fi
sync
return 0
}
nand_qca_update_bootconfig() {
local primary="0"
local mtdnum
local part
[ -f /proc/boot_info/rootfs/primaryboot ] || return
[ -f /proc/boot_info/getbinary_bootconfig ] || return
[ "$(cat /proc/boot_info/rootfs/primaryboot)" = "0" ] && primary="1"
echo "$primary" > /proc/boot_info/rootfs/primaryboot 2>/dev/null
for part in "0:BOOTCONFIG" "0:BOOTCONFIG1"; do
mtdnum="$(find_mtd_index "$part")"
[ -c "/dev/mtd${mtdnum}" ] && {
mtd -qq write /proc/boot_info/getbinary_bootconfig \
"/dev/mtd${mtdnum}" 2>/dev/null &&\
echo "partition '$part' updated"
}
done
}
nand_do_upgrade_success() {
local conf_tar="/tmp/sysupgrade.tgz"
sync
[ "$CI_BOOTCFG" = 1 ] && nand_qca_update_bootconfig
[ -n "$CI_FWSETENV" ] && fw_setenv $CI_FWSETENV
[ -f "$conf_tar" ] && nand_restore_config "$conf_tar"
echo "sysupgrade successful"
umount -a
reboot -f
}
# Flash the UBI image to MTD partition
nand_upgrade_ubinized() {
local ubi_file="$1"
local mtdnum="$(find_mtd_index "$CI_UBIPART")"
[ ! "$mtdnum" ] && {
CI_UBIPART="rootfs"
mtdnum="$(find_mtd_index "$CI_UBIPART")"
}
if [ ! "$mtdnum" ]; then
echo "cannot find mtd device $CI_UBIPART"
umount -a
reboot -f
fi
local mtddev="/dev/mtd${mtdnum}"
ubidetach -p "${mtddev}" || true
sync
ubiformat "${mtddev}" -y -f "${ubi_file}"
ubiattach -p "${mtddev}"
nand_do_upgrade_success
}
# Write the UBIFS image to UBI volume
nand_upgrade_ubifs() {
local rootfs_length=$( (cat $1 | wc -c) 2> /dev/null)
nand_upgrade_prepare_ubi "$rootfs_length" "ubifs" "" ""
local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
local root_ubivol="$(nand_find_volume $ubidev $CI_ROOTPART)"
ubiupdatevol /dev/$root_ubivol -s $rootfs_length $1
nand_do_upgrade_success
}
nand_upgrade_fit() {
local fit_file="$1"
local fit_length="$(wc -c < "$fit_file")"
nand_upgrade_prepare_ubi "" "" "$fit_length" "1"
local fit_ubidev="$(nand_find_ubi "$CI_UBIPART")"
local fit_ubivol="$(nand_find_volume $fit_ubidev "$CI_KERNPART")"
ubiupdatevol /dev/$fit_ubivol -s $fit_length $fit_file
nand_do_upgrade_success
}
nand_upgrade_tar() {
local tar_file="$1"
local kernel_mtd="$(find_mtd_index $CI_KERNPART)"
local board_dir=$(tar tf "$tar_file" | grep -m 1 '^sysupgrade-.*/$')
board_dir=${board_dir%/}
kernel_length=$( (tar xf "$tar_file" ${board_dir}/kernel -O | wc -c) 2> /dev/null)
local has_rootfs=0
local rootfs_length
local rootfs_type
tar tf "$tar_file" ${board_dir}/root 1>/dev/null 2>/dev/null && has_rootfs=1
[ "$has_rootfs" = "1" ] && {
rootfs_length=$( (tar xf "$tar_file" ${board_dir}/root -O | wc -c) 2> /dev/null)
rootfs_type="$(identify_tar "$tar_file" ${board_dir}/root)"
}
local has_kernel=1
local has_env=0
[ "$CI_IPQ807X" = 0 -a "$kernel_length" != 0 -a -n "$kernel_mtd" ] && {
tar xf $tar_file ${board_dir}/kernel -O | mtd write - $CI_KERNPART
}
[ "$CI_IPQ807X" = 0 ] && {
[ "$kernel_length" = 0 -o ! -z "$kernel_mtd" ] && has_kernel=
}
nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "${has_kernel:+$kernel_length}" "$has_env"
local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
[ "$has_kernel" = "1" ] && {
local kern_ubivol="$( nand_find_volume $ubidev $CI_KERNPART )"
tar xf "$tar_file" ${board_dir}/kernel -O | \
ubiupdatevol /dev/$kern_ubivol -s $kernel_length -
}
[ "$has_rootfs" = "1" ] && {
local root_ubivol="$( nand_find_volume $ubidev $CI_ROOTPART )"
tar xf "$tar_file" ${board_dir}/root -O | \
ubiupdatevol /dev/$root_ubivol -s $rootfs_length -
}
nand_do_upgrade_success
}
# Recognize type of passed file and start the upgrade process
nand_do_upgrade() {
local file_type=$(identify $1)
[ ! "$( find_mtd_index "$CI_UBIPART" )" ] && CI_UBIPART="rootfs"
case "$file_type" in
"fit") nand_upgrade_fit $1;;
"ubi") nand_upgrade_ubinized $1;;
"ubifs") nand_upgrade_ubifs $1;;
*) nand_upgrade_tar $1;;
esac
}
# Check if passed file is a valid one for NAND sysupgrade. Currently it accepts
# 3 types of files:
# 1) UBI - should contain an ubinized image, header is checked for the proper
# MAGIC
# 2) UBIFS - should contain UBIFS partition that will replace "rootfs" volume,
# header is checked for the proper MAGIC
# 3) TAR - archive has to include "sysupgrade-BOARD" directory with a non-empty
# "CONTROL" file (at this point its content isn't verified)
#
# You usually want to call this function in platform_check_image.
#
# $(1): board name, used in case of passing TAR file
# $(2): file to be checked
nand_do_platform_check() {
local board_name="$1"
local tar_file="$2"
local control_length=$( (tar xf $tar_file sysupgrade-$board_name/CONTROL -O | wc -c) 2> /dev/null)
local file_type="$(identify $2)"
[ "$control_length" = 0 -a "$file_type" != "ubi" -a "$file_type" != "ubifs" -a "$file_type" != "fit" ] && {
echo "Invalid sysupgrade file."
return 1
}
return 0
}

View File

@ -3,30 +3,9 @@
RAMFS_COPY_BIN='fw_printenv fw_setenv'
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
qca_do_upgrade() {
local tar_file="$1"
local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
board_dir=${board_dir%/}
local dev=$(find_mtd_chardev "0:HLOS")
tar Oxf $tar_file ${board_dir}/kernel | mtd write - ${dev}
if [ -n "$UPGRADE_BACKUP" ]; then
tar Oxf $tar_file ${board_dir}/root | mtd -j "$UPGRADE_BACKUP" write - rootfs
else
tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
fi
}
platform_check_image() {
local magic_long="$(get_magic_long "$1")"
board=$(board_name)
case $board in
qcom,ipq9574-ap-al02-c4)
[ "$magic_long" = "73797375" ] && return 0
;;
esac
[ "$magic_long" = "73797375" ] && return 0
return 1
}
@ -37,8 +16,9 @@ platform_do_upgrade() {
board=$(board_name)
case $board in
qcom,ipq9574-ap-al02-c4)
qca_do_upgrade "$1"
qcom,ipq9574-ap-al02-c4|\
qcom,ipq9574-ap-al02-c15)
nand_upgrade_tar "$1"
;;
esac
}

View File

@ -1262,6 +1262,14 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA_FLAG=0
# CONFIG_DEBUG_MEM_USAGE is not set
# CONFIG_DIAG_CHAR is not set
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
# CONFIG_NF_CONNTRACK_RTCACHE is not set
# CONFIG_PCIE_DW_DEBUGFS is not set
# CONFIG_PINCTRL_IPQ5332 is not set
# CONFIG_IPQ_GCC_IPQ5332 is not set
# CONFIG_IPQ_APSS_IPQ5332 is not set
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL is not set
# CONFIG_SECCRYPT is not set
CONFIG_HWMON=y

View File

@ -5,10 +5,23 @@ define Device/qcom_al02-c4
DEVICE_DTS := ipq9574-al02-c4
DEVICE_DTS_CONFIG := config@al02-c4
SUPPORTED_DEVICES := qcom,ipq9574-ap-al02-c4
# DEVICE_PACKAGES := ath11k-wifi-tplink-ex227
IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
IMAGE/nand-factory.ubi := append-ubi
DEVICE_PACKAGES := ath12k-wifi-qcom-qcn9274
endef
TARGET_DEVICES += qcom_al02-c4
define Device/qcom_al02-c15
DEVICE_TITLE := Qualcomm AP-AL02-C15
DEVICE_DTS := ipq9574-al02-c15
DEVICE_DTS_CONFIG := config@al02-c15
SUPPORTED_DEVICES := qcom,ipq9574-ap-al02-c15
IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
IMAGE/nand-factory.ubi := append-ubi
DEVICE_PACKAGES := ath11k-wifi-qcom-ipq95xx
endef
TARGET_DEVICES += qcom_al02-c15

View File

@ -0,0 +1,61 @@
define KernelPackage/usb-dwc3-internal
TITLE:=DWC3 USB controller driver
DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget
KCONFIG:= \
CONFIG_USB_DWC3 \
CONFIG_USB_DWC3_HOST=n \
CONFIG_USB_DWC3_GADGET=n \
CONFIG_USB_DWC3_DUAL_ROLE=y \
CONFIG_EXTCON=y \
CONFIG_USB_DWC3_DEBUG=n \
CONFIG_USB_DWC3_VERBOSE=n
FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko
AUTOLOAD:=$(call AutoLoad,84,dwc3)
$(call AddPlatformDepends/usb)
endef
define KernelPackage/usb-dwc3-internal/description
This driver provides support for the Dual Role SuperSpeed
USB Controller based on the Synopsys DesignWare USB3 IP Core
endef
$(eval $(call KernelPackage,usb-dwc3-internal))
define KernelPackage/usb-dwc3-qcom-internal
TITLE:=DWC3 QTI USB driver
DEPENDS:=@!LINUX_4_14 @(TARGET_ipq40xx||TARGET_ipq806x||TARGET_ipq807x||TARGET_ipq60xx||TARGET_ipq95xx||TARGET_ipq50xx||TARGET_ipq53xx) +kmod-usb-dwc3-internal
KCONFIG:= CONFIG_USB_DWC3_QCOM
FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-qcom.ko
AUTOLOAD:=$(call AutoLoad,83,dwc3-qcom)
$(call AddPlatformDepends/usb)
endef
define KernelPackage/usb-dwc3-qcom-internal/description
Some QTI SoCs use DesignWare Core IP for USB2/3 functionality.
This driver also handles Qscratch wrapper which is needed for
peripheral mode support.
endef
$(eval $(call KernelPackage,usb-dwc3-qcom-internal))
define KernelPackage/usb-phy-ipq807x
TITLE:=DWC3 USB QTI PHY drivers for IPQ807x based targets
DEPENDS:=@TARGET_ipq||TARGET_ipq807x||TARGET_ipq95xx||TARGET_ipq60xx
KCONFIG:= \
CONFIG_PHY_QCOM_QUSB2 \
CONFIG_PHY_QCOM_QMP=y \
CONFIG_USB_QCOM_QUSB_PHY \
CONFIG_USB_QCOM_QMP_PHY
FILES:= \
$(LINUX_DIR)/drivers/phy/qualcomm/phy-qcom-qusb2.ko@ge5.4 \
$(LINUX_DIR)/drivers/usb/phy/phy-msm-qusb.ko@le4.4 \
$(LINUX_DIR)/drivers/usb/phy/phy-msm-ssusb-qmp.ko@le4.4
AUTOLOAD:=$(call AutoLoad,85,phy-qcom-qusb2 phy-msm-qusb phy-msm-ssusb-qmp)
$(call AddPlatformDepends/usb)
endef
define KernelPackage/usb-phy-ipq807x/description
Support for USB PHY drivers in IPQ807x based SoCs.
endef
$(eval $(call KernelPackage,usb-phy-ipq807x))

View File

@ -0,0 +1,24 @@
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/arch/arm64/boot/dts/qcom/ipq6018.dtsi
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -1882,6 +1882,7 @@
qti,scm_restart_reason {
compatible = "qti_ipq6018,scm_restart_reason";
+ dload_status = <1>;
};
ctx_save: ctx-save {
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/arch/arm64/boot/dts/qcom/ipq9574.dtsi
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -3678,6 +3678,7 @@
qti,scm_restart_reason {
compatible = "qti_ipq9574,scm_restart_reason";
+ dload_status = <1>;
};
qti,gadget_diag@0 {

View File

@ -11,8 +11,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/gpio/consumer.h | 8 +++++
4 files changed, 91 insertions(+), 1 deletion(-)
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/drivers/gpio/gpiolib-of.c
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/drivers/gpio/gpiolib-of.c
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/drivers/gpio/gpiolib-of.c
@@ -19,6 +19,8 @@
#include <linux/pinctrl/pinctrl.h>
#include <linux/slab.h>
@ -91,8 +93,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+};
+
+module_platform_driver(gpio_export_driver);
--- a/drivers/gpio/gpiolib-sysfs.c
+++ b/drivers/gpio/gpiolib-sysfs.c
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/drivers/gpio/gpiolib-sysfs.c
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/drivers/gpio/gpiolib-sysfs.c
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/drivers/gpio/gpiolib-sysfs.c
@@ -571,7 +571,7 @@ static struct class gpio_class = {
*
* Returns zero on success, else an error.
@ -124,8 +128,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
EXPORT_SYMBOL_GPL(gpiod_export);
static int match_export(struct device *dev, const void *desc)
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/include/asm-generic/gpio.h
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/include/asm-generic/gpio.h
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/include/asm-generic/gpio.h
@@ -127,6 +127,12 @@ static inline int gpio_export(unsigned g
return gpiod_export(gpio_to_desc(gpio), direction_may_change);
}
@ -139,8 +145,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static inline int gpio_export_link(struct device *dev, const char *name,
unsigned gpio)
{
--- a/include/linux/gpio/consumer.h
+++ b/include/linux/gpio/consumer.h
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/include/linux/gpio/consumer.h
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/include/linux/gpio/consumer.h
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/include/linux/gpio/consumer.h
@@ -668,6 +668,7 @@ static inline void devm_acpi_dev_remove_
#if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)

View File

@ -45,20 +45,11 @@ Link: https://lore.kernel.org/bpf/20211130181607.593149-1-maximmi@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -5372,7 +5372,7 @@ static void find_good_pkt_pointers(struc
new_range = dst_reg->off;
if (range_right_open)
- new_range--;
+ new_range++;
/* Examples for register markings:
*
--- a/tools/testing/selftests/bpf/verifier/xdp_direct_packet_access.c
+++ b/tools/testing/selftests/bpf/verifier/xdp_direct_packet_access.c
@@ -112,10 +112,10 @@
Index: linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/tools/testing/selftests/bpf/verifier/xdp_direct_packet_access.c
===================================================================
--- linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452.orig/tools/testing/selftests/bpf/verifier/xdp_direct_packet_access.c
+++ linux-5.4.213-qsdk-f2ee796db820cd8261889849f043c9c816196452/tools/testing/selftests/bpf/verifier/xdp_direct_packet_access.c
@@ -202,10 +202,10 @@
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1,
offsetof(struct xdp_md, data_end)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -71,7 +62,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -167,10 +167,10 @@
@@ -293,10 +293,10 @@
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1,
offsetof(struct xdp_md, data_end)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -84,7 +75,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -274,9 +274,9 @@
@@ -469,9 +469,9 @@
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1,
offsetof(struct xdp_md, data_end)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -96,7 +87,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -437,9 +437,9 @@
@@ -740,9 +740,9 @@
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1,
offsetof(struct xdp_md, data_end)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -108,7 +99,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -544,10 +544,10 @@
@@ -918,10 +918,10 @@
offsetof(struct xdp_md, data_meta)),
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1, offsetof(struct xdp_md, data)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -121,7 +112,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -599,10 +599,10 @@
@@ -1009,10 +1009,10 @@
offsetof(struct xdp_md, data_meta)),
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1, offsetof(struct xdp_md, data)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -134,7 +125,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -706,9 +706,9 @@
@@ -1185,9 +1185,9 @@
offsetof(struct xdp_md, data_meta)),
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1, offsetof(struct xdp_md, data)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),
@ -146,7 +137,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
BPF_MOV64_IMM(BPF_REG_0, 0),
BPF_EXIT_INSN(),
},
@@ -869,9 +869,9 @@
@@ -1456,9 +1456,9 @@
offsetof(struct xdp_md, data_meta)),
BPF_LDX_MEM(BPF_W, BPF_REG_3, BPF_REG_1, offsetof(struct xdp_md, data)),
BPF_MOV64_REG(BPF_REG_1, BPF_REG_2),

View File

@ -1,33 +0,0 @@
From: Xiongwei Song <sxwjean@gmail.com>
Date: Fri, 14 Jan 2022 14:07:24 -0800
Subject: [PATCH] mm: page_alloc: fix building error on -Werror=array-compare
Arthur Marsh reported we would hit the error below when building kernel
with gcc-12:
CC mm/page_alloc.o
mm/page_alloc.c: In function `mem_init_print_info':
mm/page_alloc.c:8173:27: error: comparison between two arrays [-Werror=array-compare]
8173 | if (start <= pos && pos < end && size > adj) \
|
In C++20, the comparision between arrays should be warned.
Link: https://lkml.kernel.org/r/20211125130928.32465-1-sxwjean@me.com
Signed-off-by: Xiongwei Song <sxwjean@gmail.com>
Reported-by: Arthur Marsh <arthur.marsh@internode.on.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -7579,7 +7579,7 @@ void __init mem_init_print_info(const ch
*/
#define adj_init_size(start, end, size, pos, adj) \
do { \
- if (start <= pos && pos < end && size > adj) \
+ if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \
size -= adj; \
} while (0)

View File

@ -1,42 +1,49 @@
Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/arch/arm64/boot/dts/qcom/ipq8074-memory.dtsi
Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/arch/arm64/boot/dts/qcom/ipq6018-memory.dtsi
===================================================================
--- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/arch/arm64/boot/dts/qcom/ipq8074-memory.dtsi
+++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/arch/arm64/boot/dts/qcom/ipq8074-memory.dtsi
@@ -129,6 +129,12 @@
no-map;
reg = <0x0 0x4d900000 0x0 0x100000>;
};
+
+ ramoops@4da00000 {
+ compatible = "ramoops";
+ reg = <0x0 0x4da00000 0x0 0x100000>;
+ record-size = <0x1000>;
+ };
};
#elif __IPQ_MEM_PROFILE_512_MB__
/* 512 MB Profile
@@ -249,6 +255,12 @@
no-map;
reg = <0x0 0x4e800000 0x0 0x100000>;
};
+
+ ramoops@4e900000 {
+ compatible = "ramoops";
+ reg = <0x0 0x4e900000 0x0 0x100000>;
+ record-size = <0x1000>;
+ };
};
#else
/* Default Profile
@@ -371,6 +383,11 @@
reg = <0x0 0x51000000 0x0 0x100000>;
--- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/arch/arm64/boot/dts/qcom/ipq6018-memory.dtsi
+++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/arch/arm64/boot/dts/qcom/ipq6018-memory.dtsi
@@ -132,6 +132,14 @@
reg = <0x0 0x4d400000 0x0 0x100000>;
};
+ ramoops@51200000 {
+ ramoops@4d500000 {
+ compatible = "ramoops";
+ reg = <0x0 0x51200000 0x0 0x100000>;
+ reg = <0x0 0x4d500000 0x0 0x100000>;
+ record-size = <0x1000>;
+ console-size = <0x1000>;
+ pmsg-size = <0x1000>;
+ };
};
#endif
};
+
rpm_msg_ram: rpm_msg_ram@0x60000 {
no-map;
reg = <0x0 0x60000 0x0 0x6000>;
@@ -256,6 +264,14 @@
reg = <0x0 0x4e300000 0x0 0x100000>;
};
+ ramoops@4e400000 {
+ compatible = "ramoops";
+ reg = <0x0 0x4e400000 0x0 0x100000>;
+ record-size = <0x1000>;
+ console-size = <0x1000>;
+ pmsg-size = <0x1000>;
+ };
+
rpm_msg_ram: rpm_msg_ram@0x60000 {
no-map;
reg = <0x0 0x60000 0x0 0x6000>;
@@ -383,6 +399,14 @@
reg = <0x0 0x50100000 0x0 0x100000>;
};
+ ramoops@50200000 {
+ compatible = "ramoops";
+ reg = <0x0 0x50200000 0x0 0x100000>;
+ record-size = <0x1000>;
+ console-size = <0x1000>;
+ pmsg-size = <0x1000>;
+ };
+
rpm_msg_ram: rpm_msg_ram@0x60000 {
no-map;
reg = <0x0 0x60000 0x0 0x6000>;

View File

@ -13,7 +13,7 @@ PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.kernel.org/pub/software/network/iw
PKG_MD5SUM:=782a3460da2854bd2e5b8f96845a62f8
PKG_HASH:=4c44e42762f903f9094ba5a598998c800a97a62afd6fd31ec1e0a799e308659c
PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
PKG_LICENSE:=GPL-2.0

View File

@ -289,7 +289,7 @@ define KernelPackage/ath11k
TITLE:=Atheros 802.11ax wireless cards support
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
DEPENDS+= @TARGET_ipq95xx +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT \
+@DRIVER_11AX_SUPPORT +HWMON:kmod-hwmon-core
+@DRIVER_11AX_SUPPORT
FILES:= \
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k.ko
endef
@ -324,7 +324,7 @@ define KernelPackage/ath12k
TITLE:=Atheros 802.11be wireless cards support
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath12k
DEPENDS+= @TARGET_ipq95xx +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT \
+@DRIVER_11AX_SUPPORT +HWMON:kmod-hwmon-core
+@DRIVER_11AX_SUPPORT
FILES:= \
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath12k/ath12k.ko
AUTOLOAD:=$(call AutoProbe,ath12k)

View File

@ -20,7 +20,7 @@ define KernelPackage/nat46
SECTION:=kernel
SUBMENU:=Network Support
FILES:=$(PKG_BUILD_DIR)/nat46/modules/nat46.ko
AUTOLOAD:=$(call AutoLoad,29,nat46)
AUTOLOAD:=$(call AutoLoad,20,nat46)
endef
include $(INCLUDE_DIR)/kernel-defaults.mk

View File

@ -6,8 +6,8 @@ PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=2
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-dp
PKG_MIRROR_HASH:=40d262941d32f025b12f8d295453b34e63c6df5988f71267357e23aca2bfb6cd
PKG_VERSION:=8b8f7b1bbfb9f3bde16c42fb61d8ffaa87d9b1b6
PKG_MIRROR_HASH:=317e92240197e203d7cdc50a69c97631bc6c35ad71a903a616d9917b64ce26e7
PKG_VERSION:=5cd7e43b5f76bb14de38ac8fe1805c367abef91a
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@ -6,8 +6,8 @@ PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=2
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-ppe
PKG_MIRROR_HASH:=f3355f9e5b6635954806eb9653751ebf40a04cf7b8113c8abca17b075de30619
PKG_VERSION:=15a863594d33ad56044d7f11905bcbb41e3eb948
PKG_MIRROR_HASH:=754a604e282d97af3eac8b6af0a16c4fe48fdef8f04ae593d016e1f0ba9886da
PKG_VERSION:=ffc8f2447dbb2d4a29d1fca4fad516132d5848fe
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@ -119,6 +119,8 @@ EXTRA_CFLAGS+= \
-I$(STAGING_DIR)/usr/include/qca-ssdk/fal \
-I$(STAGING_DIR)/usr/include/qca-ssdk/init \
-I$(STAGING_DIR)/usr/include/nat46 \
-Wno-error=unused-variable \
ifneq ($(CONFIG_PACKAGE_kmod-qca-nss-ppe-bridge-mgr),)
MAKE_OPTS+=bridge-mgr=y
@ -149,6 +151,7 @@ define Build/Compile
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
SoC="$(subtarget)" \
KBUILD_MODPOST_WARN=1 \
V=1 \
modules
endef

View File

@ -0,0 +1,25 @@
Index: qca-nss-ppe-ffc8f2447dbb2d4a29d1fca4fad516132d5848fe/drv/ppe_drv/tun/ppe_drv_tun.c
===================================================================
--- qca-nss-ppe-ffc8f2447dbb2d4a29d1fca4fad516132d5848fe.orig/drv/ppe_drv/tun/ppe_drv_tun.c
+++ qca-nss-ppe-ffc8f2447dbb2d4a29d1fca4fad516132d5848fe/drv/ppe_drv/tun/ppe_drv_tun.c
@@ -114,7 +114,7 @@ static void ppe_drv_tun_free(struct kref
*/
static bool ppe_drv_tun_deref(struct ppe_drv_tun *ptun)
{
- uint8_t tun_idx = ptun->tun_idx;
+ //uint8_t tun_idx = ptun->tun_idx;
ppe_drv_assert(kref_read(&ptun->ref), "%p: ref count under run for tun", ptun);
Index: qca-nss-ppe-ffc8f2447dbb2d4a29d1fca4fad516132d5848fe/drv/ppe_drv/tun/ppe_drv_tun_encap.c
===================================================================
--- qca-nss-ppe-ffc8f2447dbb2d4a29d1fca4fad516132d5848fe.orig/drv/ppe_drv/tun/ppe_drv_tun_encap.c
+++ qca-nss-ppe-ffc8f2447dbb2d4a29d1fca4fad516132d5848fe/drv/ppe_drv/tun/ppe_drv_tun_encap.c
@@ -95,7 +95,6 @@ void ppe_drv_tun_encap_free(struct kref
*/
bool ppe_drv_tun_encap_deref(struct ppe_drv_tun_encap *ptec)
{
- uint8_t tun_idx = ptec->tun_idx;
ppe_drv_assert(kref_read(&ptec->ref), "%p: ref count under run for ptec", ptec);

View File

@ -6,7 +6,7 @@ PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=2
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-psdk
PKG_VERSION:=402973acc8a17d9b685ed3c3490b7d6289f4798f
PKG_VERSION:=ffc8f2447dbb2d4a29d1fca4fad516132d5848fe
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@ -7,8 +7,7 @@ PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/ssdk-shell
PKG_MIRROR_HASH:=5bb53abc2b8e2cfaad10b1a94aa6d70d60d678ae9c1be043130f714888cb93a4
PKG_VERSION:=0e1460b64a61355bebace6773070272610b12199
PKG_VERSION:=b78d6095444e22b274e8b47e10100a2f51a3b65e
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@ -7,9 +7,8 @@ PKG_SOURCE_PROTO:=git
PKG_BRANCH:=master
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk
PKG_MIRROR_HASH:=0c3384b2220d29a3e6ec544c2736c205423a7f11122950c4a4ddc271489f57ec
#PKG_MIRROR_HASH:=3be4158fc80540c8dcb2d844110205685fa81c935fdd2268aee72b04d34d7c1f
PKG_VERSION:=6ee7e05bd4cf4961d85f535e9aaf9f028c9e4e92
PKG_MIRROR_HASH:=63209e01c092bd6ee63a4094995b78772c8e4ff7cd7f81f8dba51366697a4639
PKG_VERSION:=9e687f44ee13ce0904f291c9771172b488b7f9ed
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@ -0,0 +1,13 @@
---
profile: qcom_al02-c15
target: ipq95xx
subtarget: generic
description: Build image for the IPQ9574/AP-AL02-C15
image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-edgecore_eap101-squashfs-sysupgrade.tar
feeds:
- name: ipq95xx
path: ../../feeds/ipq95xx
packages:
- ipq95xx
diffconfig: |
CONFIG_KERNEL_IPQ_MEM_PROFILE=0