ipq807x: add cig-wf186w support to v5.4 kernel

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2023-09-17 07:15:28 +02:00
parent 5ff383df91
commit 539e288247
8 changed files with 65 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ endef
#
ALLWIFIBOARDS:= \
cig-wf186w \
cig-wf660a \
cig-wf194c \
cig-wf194c4 \
@@ -328,6 +329,7 @@ define Package/ath11k-wifi-cig-wf188n-us/install
echo -n 'US MY DE' > $(1)/lib/firmware/country
endef
$(eval $(call generate-ath11k-wifi-package,cig-wf186w,Cigtech WF186w))
$(eval $(call generate-ath11k-wifi-package,cig-wf660a,Cigtech WF660a))
$(eval $(call generate-ath11k-wifi-package,cig-wf194c,Cigtech WF194c))
$(eval $(call generate-ath11k-wifi-package,cig-wf194c4,Cigtech WF194c4))

Binary file not shown.

Binary file not shown.

View File

@@ -12,6 +12,9 @@ qcom_setup_interfaces()
ucidef_add_switch_attr "switch0" "reset" "false"
case $board in
cig,wf186w)
ucidef_add_switch "switch0" "4:wan" "0:lan" "1:lan" "2:lan" "3:lan" "6@eth0"
;;
edgecore,oap101-6e|\
edgecore,oap101e)
ucidef_set_interface_lan "eth0"
@@ -37,6 +40,15 @@ qcom_setup_macs()
local board="$1"
case $board in
cig,wf186w)
mtd=$(find_mtd_chardev "0:APPSBLENV")
[ -z "$mtd" ] && return;
mac=$(grep BaseMacAddress= $mtd | cut -dx -f2)
[ -z "$mac" ] && return;
wan_mac=$(macaddr_canonicalize $mac)
ucidef_set_network_device_mac eth0 $wan_mac
ip link set eth0 address $wan_mac
;;
*)
wan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_add "$wan_mac" 1)

View File

@@ -16,6 +16,19 @@ ath11k_generate_macs() {
echo -ne \\x${mac3//:/\\x} >> /lib/firmware/ath11k-macs
}
ath11k_generate_macs_wf186w() {
touch /lib/firmware/ath11k-macs
local dev=$(find_mtd_chardev "0:APPSBLENV")
mac=$(grep BaseMacAddress= $dev | cut -dx -f2)
eth=$(macaddr_canonicalize $mac)
mac1=$(macaddr_add $eth 2)
mac2=$(macaddr_add $eth 3)
mac3=$(macaddr_add $eth 4)
echo -ne \\x${mac1//:/\\x} >> /lib/firmware/ath11k-macs
echo -ne \\x${mac2//:/\\x} >> /lib/firmware/ath11k-macs
echo -ne \\x${mac3//:/\\x} >> /lib/firmware/ath11k-macs
}
ath11k_generate_macs_ion4x() {
touch /lib/firmware/ath11k-macs
wifimac0=$(grep WLAN0_BASEMAC= /dev/mtd13 |cut -d '=' -f2)
@@ -49,6 +62,7 @@ board=$(board_name)
case "$FIRMWARE" in
ath11k/IPQ5018/hw1.0/caldata.bin)
case "$board" in
cig,wf186w|\
edgecore,eap104|\
edgecore,oap101-6e|\
edgecore,oap101e|\
@@ -60,6 +74,7 @@ ath11k/IPQ5018/hw1.0/caldata.bin)
;;
ath11k/qcn6122/hw1.0/caldata_1.bin)
case "$board" in
cig,wf186w|\
edgecore,oap101-6e|\
edgecore,oap101e|\
hfcl,ion4xi_w|\
@@ -78,6 +93,9 @@ ath11k/qcn6122/hw1.0/caldata_2.bin)
;;
ath11k-macs)
case "$board" in
cig,wf186w)
ath11k_generate_macs_wf186w
;;
edgecore,eap104|\
yuncore,fap655)
ath11k_generate_macs

View File

@@ -68,6 +68,7 @@ platform_check_image() {
local magic_long="$(get_magic_long "$1")"
board=$(board_name)
case $board in
cig,wf186w|\
edgecore,eap104|\
hfcl,ion4xi_w|\
yuncore,fap655|\
@@ -107,6 +108,7 @@ platform_do_upgrade() {
fi
nand_upgrade_tar "$1"
;;
cig,wf186w|\
yuncore,fap655)
[ -f /proc/boot_info/rootfs/upgradepartition ] && {
CI_UBIPART="$(cat /proc/boot_info/rootfs/upgradepartition)"

View File

@@ -1,5 +1,13 @@
KERNEL_LOADADDR := 0x41080000
define Device/cig_wf186w
DEVICE_TITLE := Cigtech WF-186w
DEVICE_DTS := qcom-ipq5018-cig-wf186w
SUPPORTED_DEVICES := cig,wf186w
DEVICE_PACKAGES := ath11k-wifi-cig-wf186w ath11k-firmware-ipq50xx-map-spruce
DEVICE_DTS_CONFIG := config@mp03.3
endef
TARGET_DEVICES += cig_wf186w
define Device/edgecore_eap104
DEVICE_TITLE := EdgeCore EAP104

View File

@@ -0,0 +1,23 @@
---
profile: cig_wf186w
target: ipq50xx
subtarget: generic
description: Build image for the Cigtech Wall Plate WF186w
image: bin/targets/ipq50xx/generic.openwrt-ipq50xx-cig_wf186w-squashfs-sysupgrade.tar
feeds:
- name: ipq807x
path: ../../feeds/ipq807x_v5.4
include:
- ucentral-ap
packages:
- ipq50xx
diffconfig: |
CONFIG_KERNEL_IPQ_MEM_PROFILE=512
CONFIG_PACKAGE_i2c-tools=y
CONFIG_PACKAGE_libi2c=y
CONFIG_PACKAGE_coreutils=y
CONFIG_PACKAGE_coreutils-stty=y
CONFIG_PACKAGE_kmod-switch-rtl8366-smi=y
CONFIG_PACKAGE_kmod-switch-rtl8367c=y