[Add meta-cmf-filogic sdk cmf for rdkb development]

[Description]
Add meta-cmf-filogic sdk cmf for rdkb development
1. rdkb base on dunfell rdkb-next (> 2022q1)
2. cmf is mostly from meta-turris implementation
3. some 64bit support are port from rp4-64 cmf
4. arm64/arm 32bit bsp both can run on rdkb

[Release-log]
N/A

diff --git a/recipes-ccsp/ccsp/ccsp-wifi-agent/avoid_gssidcount_error.patch b/recipes-ccsp/ccsp/ccsp-wifi-agent/avoid_gssidcount_error.patch
new file mode 100644
index 0000000..28be7ff
--- /dev/null
+++ b/recipes-ccsp/ccsp/ccsp-wifi-agent/avoid_gssidcount_error.patch
@@ -0,0 +1,23 @@
+Signed-off-by: kaviya.kumaresan@ltts.com
+Subject: To avoid gSsidCount undeclared error while compiling Wifi_hal3.0
+
+diff --git a/source/TR-181/sbapi/cosa_wifi_apis.c b/source/TR-181/sbapi/cosa_wifi_apis.c
+index 37019bc..aba7811 100644
+--- a/source/TR-181/sbapi/cosa_wifi_apis.c
++++ b/source/TR-181/sbapi/cosa_wifi_apis.c
+@@ -9552,6 +9552,7 @@ CosaDmlWiFiFactoryReset
+                 }
+             }
+         }
++#ifndef WIFI_HAL_VERSION_3
+ #if defined(_PLATFORM_RASPBERRYPI_) || defined(_PLATFORM_TURRIS_)
+ 	// Reset Band Steering parameters
+ 	int bsIndex = 0;
+@@ -9560,6 +9561,7 @@ CosaDmlWiFiFactoryReset
+ 	    CosaDmlWiFiGetBSFactoryResetPsmData(bsIndex, bsIndex+1);
+ 	}
+ #endif
++#endif
+     } else
+     {
+         // Only Apply to FactoryResetSSID list
diff --git a/recipes-ccsp/ccsp/ccsp-wifi-agent/checkwifi.sh b/recipes-ccsp/ccsp/ccsp-wifi-agent/checkwifi.sh
new file mode 100644
index 0000000..5903a74
--- /dev/null
+++ b/recipes-ccsp/ccsp/ccsp-wifi-agent/checkwifi.sh
@@ -0,0 +1,66 @@
+# If not stated otherwise in this file or this component's LICENSE
+# file the following copyright and licenses apply:
+#
+#Copyright [2019] [RDK Management]
+#
+#Licensed under the Apache License, Version 2.0 (the "License");
+#you may not use this file except in compliance with the License.
+#You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing, software
+#distributed under the License is distributed on an "AS IS" BASIS,
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#See the License for the specific language governing permissions and
+#limitations under the License.
+
+#!/bin/sh
+
+wifi_wifi0=`iwconfig wifi0|grep IEEE\ 802.11 | wc -l`
+wifi_wifi1=`iwconfig wifi1|grep IEEE\ 802.11 | wc -l`
+wifi_wifi2=`iwconfig wifi2|grep IEEE\ 802.11 | wc -l`
+wifi_wifi3=`iwconfig wifi3|grep IEEE\ 802.11 | wc -l`
+
+if [ $wifi_wifi0 == "1" ] ; then
+        flag=wifi0 
+        wifi0=$(iwconfig wifi0|grep IEEE\ 802.11)
+elif [ $wifi_wifi1 == "1" ]; then
+        flag=wifi1 
+        wifi0=$(iwconfig wifi1|grep IEEE\ 802.11)
+elif [ $wifi_wifi2 == "1" ]; then 
+        flag=wifi2 
+        wifi0=$(iwconfig wifi2|grep IEEE\ 802.11)
+elif [ $wifi_wifi3 == "1" ]; then 
+        flag=wifi3 
+        wifi0=$(iwconfig wifi3|grep IEEE\ 802.11) 
+fi 
+
+wifi_driver_init=${#wifi0}
+check_dual_band=1
+if [ $wifi_driver_init != 0 ]; then
+	echo "Wifi (single band) driver is initialized"
+        while [ $check_dual_band -le 5 ]
+        do
+           echo "checking for dual band support:$check_dual_band"
+	   if [ $flag == "wifi0" ]; then
+		wifi_dual_band=1
+	   elif [ $flag == "wifi1" ]; then
+		wifi_dual_band=1
+	   elif [ $flag == "wifi2" ]; then
+		wifi_dual_band=1
+	   elif [ $flag == "wifi3" ]; then
+		wifi_dual_band=1
+	   fi 
+	   echo "$wifi_dual_band"
+           if [ $wifi_dual_band == 1 ]; then
+               break
+           fi
+           check_dual_band=`expr $check_dual_band + 1`
+           sleep 1;
+        done
+	sleep 1;
+	touch /tmp/wifi_driver_initialized
+else
+	echo "Wifi driver is not initialized"
+fi
diff --git a/recipes-ccsp/ccsp/ccsp-wifi-agent/handle_mesh-rename-opensync.patch b/recipes-ccsp/ccsp/ccsp-wifi-agent/handle_mesh-rename-opensync.patch
new file mode 100644
index 0000000..8876f2f
--- /dev/null
+++ b/recipes-ccsp/ccsp/ccsp-wifi-agent/handle_mesh-rename-opensync.patch
@@ -0,0 +1,29 @@
+From 6bb8c296e3921ccc6a994590dcf5d9399952d3fb Mon Sep 17 00:00:00 2001
+From: Simon Chung <simon.c.chung@accenture.com>
+Date: Mon, 21 Mar 2022 12:29:18 +0000
+Subject: [PATCH] handle_mesh-rename-opensync
+
+Change-Id: I1924e9f771206c0997765a70697ae874cfb43b53
+---
+ scripts/handle_mesh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/handle_mesh b/scripts/handle_mesh
+index 65242561..b9cec6c1 100644
+--- a/scripts/handle_mesh
++++ b/scripts/handle_mesh
+@@ -71,9 +71,9 @@ else
+         /usr/opensync/scripts/managers.init $1
+     else
+         echo "Opensync will be effective only after reboot"
+-        /usr/plume/scripts/managers.init $1
++        /usr/opensync/scripts/managers.init $1
+     fi
+  else
+-  /usr/plume/scripts/managers.init $1
++  /usr/opensync/scripts/managers.init $1
+  fi
+ fi
+-- 
+2.28.0
+
diff --git a/recipes-ccsp/ccsp/ccsp-wifi-agent/radio_param_def.cfg b/recipes-ccsp/ccsp/ccsp-wifi-agent/radio_param_def.cfg
new file mode 100644
index 0000000..6d63af6
--- /dev/null
+++ b/recipes-ccsp/ccsp/ccsp-wifi-agent/radio_param_def.cfg
@@ -0,0 +1,21 @@
+RADIO_ENABLE_0=1
+RADIO_ENABLE_1=1
+RADIO_CHANNEL_0=6
+RADIO_CHANNEL_1=36
+CHANNEL_MODE_0=20
+CHANNEL_MODE_1=20
+SSID_NAME_0=TURRIS_RDKB-AP0
+SSID_NAME_1=TURRIS_RDKB-AP1
+PRESHAREDKEY_0=rdk@1234
+PRESHAREDKEY_1=rdk@1234
+BEACONTYPE_0=11i
+BEACONTYPE_1=11i
+WPAENCRYPTIONMODE_0=TKIPandAESEncryption
+WPAENCRYPTIONMODE_1=TKIPandAESEncryption
+AUTHENTICATIONMODE_0=PSKAuthentication
+AUTHENTICATIONMODE_1=PSKAuthentication
+BASIC_RATES_0=10 20
+BASIC_RATES_1=60 90
+SUPPORTED_RATES_0=10 20 55 110 60 90 120 180 240 360 480 540
+SUPPORTED_RATES_1=60 90 120 180 240 360 480 540
+
diff --git a/recipes-ccsp/ccsp/ccsp-wifi-agent/synclease.sh b/recipes-ccsp/ccsp/ccsp-wifi-agent/synclease.sh
new file mode 100644
index 0000000..2938d6d
--- /dev/null
+++ b/recipes-ccsp/ccsp/ccsp-wifi-agent/synclease.sh
@@ -0,0 +1 @@
+cp /nvram/dnsmasq.leases /tmp/dnsmasq.leases
diff --git a/recipes-ccsp/ccsp/ccsp-wifi-agent/wifiTelemetrySetup.sh b/recipes-ccsp/ccsp/ccsp-wifi-agent/wifiTelemetrySetup.sh
new file mode 100644
index 0000000..c7166fd
--- /dev/null
+++ b/recipes-ccsp/ccsp/ccsp-wifi-agent/wifiTelemetrySetup.sh
@@ -0,0 +1,18 @@
+# If not stated otherwise in this file or this component's LICENSE
+# file the following copyright and licenses apply:
+#
+#Copyright [2019] [RDK Management]
+#
+#Licensed under the Apache License, Version 2.0 (the "License");
+#you may not use this file except in compliance with the License.
+#You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing, software
+#distributed under the License is distributed on an "AS IS" BASIS,
+#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#See the License for the specific language governing permissions and
+#limitations under the License.
+
+#This script needs to be implemented once WiFi telemetery setup has been done