[Feature] add GA346 baseline version
Change-Id: Ic62933698569507dcf98240cdf5d9931ae34348f
diff --git a/src/kernel/modules/netsys_driver/nat/Makefile b/src/kernel/modules/netsys_driver/nat/Makefile
new file mode 100755
index 0000000..d6ddfe8
--- /dev/null
+++ b/src/kernel/modules/netsys_driver/nat/Makefile
@@ -0,0 +1,116 @@
+###############################################################################
+# Necessary Check
+
+#ifeq ($(AUTOCONF_H),)
+ #$(error AUTOCONF_H is not defined)
+#endif
+
+#ccflags-y += -imacros $(AUTOCONF_H)
+
+ifeq ($(TARGET_BUILD_VARIANT),$(filter $(TARGET_BUILD_VARIANT),userdebug user))
+ ldflags-y += -s
+endif
+
+# Force build fail on modpost warning
+KBUILD_MODPOST_FAIL_ON_WARNINGS := y
+###############################################################################
+ccflags-y += -I$(srctree)/include/
+###############################################################################
+
+ccflags-y += -Werror
+ccflags-y += -Wno-error=format
+ccflags-y += -Wno-error=format-extra-args
+
+###############################################################################
+MODULE_NAME := hwnat
+ifeq ($(CONFIG_WLAN_DRV_BUILD_IN),y)
+$(warning $(MODULE_NAME) build-in boot.img)
+obj-y += $(MODULE_NAME).o
+else
+$(warning $(MODULE_NAME) is kernel module)
+obj-m += $(MODULE_NAME).o
+endif
+
+# Local config
+ccflags-y += -D CONFIG_RA_NAT_HW=1
+ccflags-y += -D CONFIG_RA_HW_NAT=1
+ccflags-y += -D CONFIG_RA_HW_NAT_TBL_32K=1
+ccflags-y += -D CONFIG_RA_HW_NAT_HASH1=1
+ccflags-y += -D CONFIG_HW_NAT_AUTO_MODE=1
+ccflags-y += -D CONFIG_PPE_MCAST=1
+ccflags-y += -D CONFIG_RA_HW_NAT_WIFI=1
+ccflags-y += -D CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=1
+ccflags-y += -D CONFIG_ARCH_MT7622_WIFI_HW_NAT=1
+ccflags-y += -D CONFIG_PPE_MIB=1
+ccflags-y += -D CONFIG_HW_NAT_AUTO_MODE=1
+ccflags-y += -D CONFIG_ARCH_COLGIN=1
+ccflags-y += -D CONFIG_RA_HW_NAT_IPV6=1
+ccflags-y += -D CONFIG_SUPPORT_OPENWRT=1
+ccflags-y += -D CONFIG_QDMA_SUPPORT_QOS=1
+ccflags-y += -D CONFIG_HW_NAT_SW_DVFS=1
+ccflags-y += -D CONFIG_HNAT_V1=1
+ccflags-y += -D CONFIG_MTK_TINYSYS_MEDMCU_SUPPORT=1
+
+# Local config
+EXTRA_KCONFIG:= \
+ CONFIG_RA_NAT_HW=y \
+ CONFIG_RA_HW_NAT=m \
+ CONFIG_RA_HW_NAT_TBL_32K=y \
+ CONFIG_RA_HW_NAT_HASH1=y \
+ CONFIG_HW_NAT_AUTO_MODE=y \
+ CONFIG_PPE_MCAST=y \
+ CONFIG_RA_HW_NAT_WIFI=y \
+ CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=y \
+ CONFIG_ARCH_MT7622_WIFI_HW_NAT=y \
+ CONFIG_PPE_MIB=y \
+ CONFIG_HW_NAT_AUTO_MODE=y \
+ CONFIG_ARCH_COLGIN=y \
+ CONFIG_RA_HW_NAT_IPV6=y \
+ CONFIG_SUPPORT_OPENWRT=y \
+ CONFIG_QDMA_SUPPORT_QOS=y \
+ CONFIG_HW_NAT_SW_DVFS=y \
+ CONFIG_HNAT_V1=y \
+ CONFIG_MTK_TINYSYS_MEDMCU_SUPPORT=y
+
+# Transfer local kernel config to compile option
+EXTRA_CFLAGS:= \
+ $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
+ $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
+ $(patsubst CONFIG_%, -DCONFIG_%=0, $(patsubst %=n,%,$(filter %=n,$(EXTRA_KCONFIG)))) \
+
+$(info $$EXTRA_CFLAGS is [${EXTRA_CFLAGS}])
+
+###############################################################################
+# common_main
+###############################################################################
+ccflags-y += -I$(src)/hw_nat
+ccflags-y += -I$(src)/include
+###############################################################################
+
+$(MODULE_NAME)-objs += hw_nat/ra_nat.o
+$(MODULE_NAME)-objs += hw_nat/hwnat_ioctl.o
+$(MODULE_NAME)-objs += hw_nat/hnat_dbg_proc.o
+$(MODULE_NAME)-objs += hw_nat/hnat_common.o
+$(MODULE_NAME)-objs += hw_nat/foe_fdb.o
+$(MODULE_NAME)-objs += hw_nat/util.o
+$(MODULE_NAME)-objs += hw_nat/mcast_tbl.o
+
+#ifeq ($(CONFIG_HW_NAT_SW_DVFS),y)
+$(MODULE_NAME)-objs += hw_nat/hnat_swdvfs.o
+#endif
+
+#$(MODULE_NAME)-objs += hw_nat/hook_base.o
+#$(MODULE_NAME)-objs += hw_nat/hook_ext.o
+
+ifeq ($(CONFIG_PINCTRL_MT7622),y)
+ EXTRA_CFLAGS += -DCONFIG_ARCH_MT7622
+endif
+
+ifeq ($(CONFIG_RALINK),y)
+ EXTRA_CFLAGS += -DCONFIG_RALINK_MT7621
+endif
+
+ifeq ($(CONFIG_SOC_MT7621),y)
+ EXTRA_CFLAGS += -DCONFIG_RALINK_MT7621
+endif
+ EXTRA_CFLAGS += -DCONFIG_ARCH_COLGIN