[rdkb][common][config][Refactor machine config]

[Description]
Refactor machine config
1. refactor the machine config of mt76
2. add machine config for logan
3. refactor packagegroup for mt76
4. add packagegroup for logan and mtk easymesh

[Release-log]

anch master
diff --git a/conf/machine/filogic830-32bit.conf b/conf/machine/filogic830-32bit.conf
index 9fa436a..5e67a1f 100644
--- a/conf/machine/filogic830-32bit.conf
+++ b/conf/machine/filogic830-32bit.conf
@@ -32,11 +32,14 @@
 DISTRO_FEATURES_append = " kernel_in_ubi"
 #DISTRO_FEATURES_append = " switch_gsw_mode"
 DISTRO_FEATURES_append = " fwupgrade_manager"
+DISTRO_FEATURES_append = " mt76"
 DISTRO_FEATURES_append = " flow_offload"
+#DISTRO_FEATURES_append = " logan"
+#DISTRO_FEATURES_append = " mtk_easymesh"
 # kernel 5.4 gold linker 'arm-rdk-linux-gnueabi-ld' not supported
 #DISTRO_FEATURES_append = " referencepltfm "
 #DISTRO_FEATURES_remove = " ld-is-gold"
-
+BBMASK .= "|meta-filogic-logan/recipes-wifi/"
 #for sdk support
 INHERIT_append = " uninative"
 BB_SETSCENE_ENFORCE_WHITELIST_append = " %:* *:do_fetch *"
diff --git a/conf/machine/filogic830-swpath.conf b/conf/machine/filogic830-swpath.conf
index 514a8db..a668f9b 100644
--- a/conf/machine/filogic830-swpath.conf
+++ b/conf/machine/filogic830-swpath.conf
@@ -40,11 +40,14 @@
 DISTRO_FEATURES_append = " kernel_in_ubi"
 #DISTRO_FEATURES_append = " switch_gsw_mode"
 DISTRO_FEATURES_append = " fwupgrade_manager"
+DISTRO_FEATURES_append = " mt76"
 #DISTRO_FEATURES_append = " flow_offload"
+#DISTRO_FEATURES_append = " logan"
+#DISTRO_FEATURES_append = " mtk_easymesh"
 # kernel 5.4 gold linker 'arm-rdk-linux-gnueabi-ld' not supported
 #DISTRO_FEATURES_append = " referencepltfm "
 #DISTRO_FEATURES_remove = " ld-is-gold"
-
+BBMASK .= "|meta-filogic-logan/recipes-wifi/"
 #for sdk support
 INHERIT_append = " uninative"
 BB_SETSCENE_ENFORCE_WHITELIST_append = " %:* *:do_fetch *"
diff --git a/conf/machine/filogic830.conf b/conf/machine/filogic830.conf
index 654c28f..ee57899 100644
--- a/conf/machine/filogic830.conf
+++ b/conf/machine/filogic830.conf
@@ -40,11 +40,14 @@
 DISTRO_FEATURES_append = " kernel_in_ubi"
 #DISTRO_FEATURES_append = " switch_gsw_mode"
 DISTRO_FEATURES_append = " fwupgrade_manager"
+DISTRO_FEATURES_append = " mt76"
 DISTRO_FEATURES_append = " flow_offload"
+#DISTRO_FEATURES_append = " logan"
+#DISTRO_FEATURES_append = " mtk_easymesh"
 # kernel 5.4 gold linker 'arm-rdk-linux-gnueabi-ld' not supported
 #DISTRO_FEATURES_append = " referencepltfm "
 #DISTRO_FEATURES_remove = " ld-is-gold"
-
+BBMASK .= "|meta-filogic-logan/recipes-wifi/"
 #for sdk support
 INHERIT_append = " uninative"
 BB_SETSCENE_ENFORCE_WHITELIST_append = " %:* *:do_fetch *"
diff --git a/conf/machine/filogic880-logan.conf b/conf/machine/filogic880-logan.conf
new file mode 100644
index 0000000..b402d67
--- /dev/null
+++ b/conf/machine/filogic880-logan.conf
@@ -0,0 +1,65 @@
+#@TYPE: Machine
+#@NAME: mediatek filogic
+#@NEEDED_BSPLAYERS: meta-filogic
+#@DESCRIPTION: Machine configuration for running a RDK broadband on mediatek filogic
+#@RDK_FLAVOR: rdkb
+
+include conf/machine/filogic.conf
+
+MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+
+MACHINE_IMAGE_NAME = "rdkb-generic-broadband-image"
+
+MACHINEOVERRIDES .= ":broadband:filogic:mt7988"
+
+PREFERRED_PROVIDER_u-boot-fw-utils = "libubootenv"
+
+PREFERRED_VERSION_xfsprogs = "4.8.0"
+PREFERRED_VERSION_php_dunfell = "7.1.%"
+PREFERRED_VERSION_php-native_dunfell = "7.1.%"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-mediatek"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
+PREFERRED_VERSION_linux-mediatek = "5.4.%"
+PREFERRED_VERSION_linux-libc-headers = "5.4"
+
+PREFERRED_PROVIDER_hal-wifi = "hal-wifi-mt76"
+PREFERRED_VERSION_iw_filogic = "5.%"
+#wifi bsp from openwrt
+
+PREFERRED_VERSION_hostapd = "2.10.3"
+PREFERRED_VERSION_wpa-supplicant = "2.10.3"
+
+
+#masking files for dunfell build
+require conf/include/filogic-bbmasks.inc
+#require conf/include/rdk-external-src-platform.inc
+
+DISTRO_FEATURES_append = " meshwifi"
+DISTRO_FEATURES_append = " ipv6"
+DISTRO_FEATURES_append = " kernel_in_ubi"
+#DISTRO_FEATURES_append = " switch_gsw_mode"
+DISTRO_FEATURES_append = " fwupgrade_manager"
+#DISTRO_FEATURES_append = " mt76"
+#DISTRO_FEATURES_append = " flow_offload"
+DISTRO_FEATURES_append = " logan"
+#DISTRO_FEATURES_append = " mtk_easymesh"
+# kernel 5.4 gold linker 'arm-rdk-linux-gnueabi-ld' not supported
+#DISTRO_FEATURES_append = " referencepltfm "
+#DISTRO_FEATURES_remove = " ld-is-gold"
+
+BBMASK .= "|meta-filogic/recipes-wifi/"
+#for sdk support
+INHERIT_append = " uninative"
+BB_SETSCENE_ENFORCE_WHITELIST_append = " %:* *:do_fetch *"
+
+BOOT_SUFFIX = "bin"
+MACHINE_FEATURES = "ext2 ipsec nfs pci smbfs usbgadget usbhost vfat"
+
+#for secure boot support
+#DISTRO_FEATURES_append = " secure_boot"
+MACHINEOVERRIDES .="${@bb.utils.contains('DISTRO_FEATURES','secure_boot',':secureboot','',d)}"
+SECURE_BOOT_KEYNAME_secureboot = "fit_key"
+SECURE_BOOT_KEYDIR_secureboot = "${TOPDIR}/../keys"
+FIT_HASH_ALG_secureboot ="sha1"
+HASHED_BOOT_DEVICE_secureboot = "252:0"
diff --git a/conf/machine/filogic880-swpath.conf b/conf/machine/filogic880-swpath.conf
index 90c212d..3f862aa 100644
--- a/conf/machine/filogic880-swpath.conf
+++ b/conf/machine/filogic880-swpath.conf
@@ -44,11 +44,14 @@
 DISTRO_FEATURES_append = " kernel_in_ubi"
 #DISTRO_FEATURES_append = " switch_gsw_mode"
 DISTRO_FEATURES_append = " fwupgrade_manager"
+DISTRO_FEATURES_append = " mt76"
 #DISTRO_FEATURES_append = " flow_offload"
+#DISTRO_FEATURES_append = " logan"
+#DISTRO_FEATURES_append = " mtk_easymesh"
 # kernel 5.4 gold linker 'arm-rdk-linux-gnueabi-ld' not supported
 #DISTRO_FEATURES_append = " referencepltfm "
 #DISTRO_FEATURES_remove = " ld-is-gold"
-
+BBMASK .= "|meta-filogic-logan/recipes-wifi/"
 #for sdk support
 INHERIT_append = " uninative"
 BB_SETSCENE_ENFORCE_WHITELIST_append = " %:* *:do_fetch *"
diff --git a/conf/machine/filogic880.conf b/conf/machine/filogic880.conf
index 461c6a6..f386259 100644
--- a/conf/machine/filogic880.conf
+++ b/conf/machine/filogic880.conf
@@ -44,11 +44,14 @@
 DISTRO_FEATURES_append = " kernel_in_ubi"
 #DISTRO_FEATURES_append = " switch_gsw_mode"
 DISTRO_FEATURES_append = " fwupgrade_manager"
+DISTRO_FEATURES_append = " mt76"
 DISTRO_FEATURES_append = " flow_offload"
+#DISTRO_FEATURES_append = " logan"
+#DISTRO_FEATURES_append = " mtk_easymesh"
 # kernel 5.4 gold linker 'arm-rdk-linux-gnueabi-ld' not supported
 #DISTRO_FEATURES_append = " referencepltfm "
 #DISTRO_FEATURES_remove = " ld-is-gold"
-
+BBMASK .= "|meta-filogic-logan/recipes-wifi/"
 #for sdk support
 INHERIT_append = " uninative"
 BB_SETSCENE_ENFORCE_WHITELIST_append = " %:* *:do_fetch *"
diff --git a/recipes-core/images/rdk-generic-broadband-image.bbappend b/recipes-core/images/rdk-generic-broadband-image.bbappend
index 196ddf0..59479c3 100644
--- a/recipes-core/images/rdk-generic-broadband-image.bbappend
+++ b/recipes-core/images/rdk-generic-broadband-image.bbappend
@@ -8,7 +8,7 @@
 
 DEPENDS += "cryptsetup-native"
 
-IMAGE_INSTALL += " packagegroup-filogic-core \
+IMAGE_INSTALL += " \
     ${SYSTEMD_TOOLS} \
     ethtool \
     ebtables \
@@ -39,6 +39,9 @@
     libpcap \
     tcpdump \
     perf \
+    ${@bb.utils.contains('DISTRO_FEATURES','mt76','packagegroup-filogic-mt76','',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','logan','packagegroup-filogic-logan','',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','mtk_easymesh','packagegroup-filogic-mtk-easymesh','',d)} \
     "
 #IMAGE_INSTALL += " opensync openvswitch mesh-agent e2fsprogs "
 
diff --git a/recipes-core/packagegroups/packagegroup-filogic-logan.bb b/recipes-core/packagegroups/packagegroup-filogic-logan.bb
new file mode 100644
index 0000000..d0a6dd8
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-filogic-logan.bb
@@ -0,0 +1,19 @@
+SUMMARY = "MediaTek Proprietary wifi driver logan package group for filogic boards"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+DEPENDS = "libnl"
+
+PACKAGES = " \
+	  packagegroup-filogic-logan \
+	"
+
+RDEPENDS_packagegroup-filogic-logan = " \
+    packagegroup-core-boot \
+    wireless-tools \
+    hostapd \
+    wpa-supplicant \
+    wireless-regdb-static \
+    "
diff --git a/recipes-core/packagegroups/packagegroup-filogic-core.bb b/recipes-core/packagegroups/packagegroup-filogic-mt76.bb
similarity index 71%
rename from recipes-core/packagegroups/packagegroup-filogic-core.bb
rename to recipes-core/packagegroups/packagegroup-filogic-mt76.bb
index 9628fe1..4d86c2b 100644
--- a/recipes-core/packagegroups/packagegroup-filogic-core.bb
+++ b/recipes-core/packagegroups/packagegroup-filogic-mt76.bb
@@ -1,4 +1,4 @@
-SUMMARY = "Custom core image package group for filogic boards"
+SUMMARY = "Custom wifi driver mt76 image package group for filogic boards"
 
 LICENSE = "MIT"
 
@@ -7,10 +7,10 @@
 DEPENDS = "libnl"
 
 PACKAGES = " \
-	  packagegroup-filogic-core \
+	  packagegroup-filogic-mt76 \
 	"
 
-RDEPENDS_packagegroup-filogic-core = " \
+RDEPENDS_packagegroup-filogic-mt76 = " \
     packagegroup-core-boot \
     wireless-tools \
     hostapd \
diff --git a/recipes-core/packagegroups/packagegroup-filogic-mtk-easymesh.bb b/recipes-core/packagegroups/packagegroup-filogic-mtk-easymesh.bb
new file mode 100644
index 0000000..770c938
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-filogic-mtk-easymesh.bb
@@ -0,0 +1,20 @@
+SUMMARY = "MediaTek Proprietary easymesh image package group for filogic boards"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+DEPENDS = "libnl"
+
+PACKAGES = " \
+	  packagegroup-filogic-mtk-easymesh \
+	"
+
+RDEPENDS_packagegroup-filogic-mtk-easymesh = " \
+    1905daemon \
+    datconf \
+    libmapd \
+    mapd \
+    mapfilter \
+    wappd \
+    "
diff --git a/setup-environment b/setup-environment
index 55fdbb0..68a0d42 100755
--- a/setup-environment
+++ b/setup-environment
@@ -48,6 +48,13 @@
 EOF
 fi
 
+if [[ $(grep '^BBLAYERS' conf/bblayers.conf | grep -c 'meta-filogic-logan') -eq 0 ]] && [[ -d  ../meta-filogic-logan ]]
+then
+    cat >> conf/bblayers.conf <<EOF
+BBLAYERS =+ "\${RDKROOT}/meta-filogic-logan"
+EOF
+fi
+
 # Add meta-rdk-opensync only if not already present.
 if [[ $(grep '^BBLAYERS' conf/bblayers.conf | grep -c 'meta-rdk-opensync') -eq 0 ]] && [[ -d  ../meta-rdk-opensync ]]
 then