summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleopatre/Config.bundle-av1
-rw-r--r--cleopatre/Makefile8
-rw-r--r--cleopatre/buildroot/package/p1905_managerd/Config.in6
-rw-r--r--cleopatre/buildroot/package/p1905_managerd/Config1905.in18
-rw-r--r--cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk17
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/common/defconfig.base3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/targets/mpr520/defconfig.part3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/targets/mpr520/linux26.config.part1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/targets/mpr520e/defconfig.part2
-rw-r--r--cleopatre/devkit/p1905_managerd/.gitignore1
-rw-r--r--cleopatre/devkit/p1905_managerd/Makefile4
-rw-r--r--cleopatre/devkit/p1905_managerd/config.mk32
-rwxr-xr-xcleopatre/devkit/p1905_managerd/p1905-config58
13 files changed, 112 insertions, 42 deletions
diff --git a/cleopatre/Config.bundle-av b/cleopatre/Config.bundle-av
index c75c4a3a2a..1de9b4b6be 100644
--- a/cleopatre/Config.bundle-av
+++ b/cleopatre/Config.bundle-av
@@ -9,4 +9,5 @@ PLC_BINS= plcd plcdrv
RT5572DRV_BINS= rt5572drv
MT7601UDRV_BINS= mt7601udrv
P1905_BINS= p1905_managerd
+P1905_ENABLE_BORAD=mpr520 mpr520e
GEN_BINS=uboot linux flashfs
diff --git a/cleopatre/Makefile b/cleopatre/Makefile
index fd5cb0dfe9..507f8decbb 100644
--- a/cleopatre/Makefile
+++ b/cleopatre/Makefile
@@ -210,11 +210,13 @@ mt7601udrv:
$(Q)cp $(MT7601UDRV_PATH)/RT2870AP.dat $(BUNDLE_MT7601UDRV_PATH)/RT2870AP.dat
$(Q)cp $(MT7601UDRV_PATH)/S32wifi $(BUNDLE_MT7601UDRV_PATH)/S32wifi
-p1905_managerd:
+p1905_managerd: $(foreach eboard,$(P1905_ENABLE_BORAD),p1905_managerd-$(eboard))
+
+p1905_managerd-%:
-$(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot clean distclean
- $(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot ${mse500_REF_BOARD}_defconfig
+ $(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot $*_defconfig
$(Q)$(MAKE) -C $(CLEOPATRE_PATH)/buildroot p1905_managerd
- $(Q)cp $(P1905_MANAGERD_PATH)/p1905_managerd $(BUNDLE_P1905BIN_PATH)/p1905_managerd
+ $(Q)cp $(P1905_MANAGERD_PATH)/p1905_managerd $(BUNDLE_P1905BIN_PATH)/$@
$(Q)cp $(P1905_MANAGERD_PATH)/S98p1905 $(BUNDLE_P1905BIN_PATH)/S98p1905
uboot:
diff --git a/cleopatre/buildroot/package/p1905_managerd/Config.in b/cleopatre/buildroot/package/p1905_managerd/Config.in
index 2b26c45a3f..bc811e0dd7 100644
--- a/cleopatre/buildroot/package/p1905_managerd/Config.in
+++ b/cleopatre/buildroot/package/p1905_managerd/Config.in
@@ -1,6 +1,8 @@
-config BR2_PACKAGE_P1905_MANAGERD
+menuconfig BR2_PACKAGE_P1905_MANAGERD
bool "p1905_managerd"
help
ieee1905.1 manager daemon.
- http://www.spidcom.com
+if BR2_PACKAGE_P1905_MANAGERD
+source "package/p1905_managerd/Config1905.in"
+endif
diff --git a/cleopatre/buildroot/package/p1905_managerd/Config1905.in b/cleopatre/buildroot/package/p1905_managerd/Config1905.in
new file mode 100644
index 0000000000..bd9b2b88b8
--- /dev/null
+++ b/cleopatre/buildroot/package/p1905_managerd/Config1905.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_P1905_MANAGERD_NO_WIFI
+ bool "no wif"
+ depends on BR2_PACKAGE_P1905_MANAGERD
+ help
+ ieee1905.1 manager daemon without wifi supporting.
+
+config BR2_PACKAGE_P1905_MANAGERD_AP_ENROLLEE
+ bool "ap enrolle"
+ depends on BR2_PACKAGE_P1905_MANAGERD
+ help
+ ieee1905.1 manager daemon with ap enrollee supporting.
+
+config BR2_PACKAGE_P1905_MANAGERD_AP_REGISTRAR
+ bool "ap registrar"
+ depends on BR2_PACKAGE_P1905_MANAGERD
+ help
+ ieee1905.1 manager daemon with ap registrar supporting.
+
diff --git a/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk b/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk
index 2c0b1327dd..18141438d2 100644
--- a/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk
+++ b/cleopatre/buildroot/package/p1905_managerd/p1905_managerd.mk
@@ -33,16 +33,28 @@ P1905_MANAGERD_LIBSPID_SITE:=$(BASE_DIR)/../application/libspid
P1905_MANAGERD_LIBMME_SITE:=$(BASE_DIR)/../application/libmme
P1905_MANAGERD_LIBALME_SITE:=$(BASE_DIR)/../application/libalme
+ifeq ($(strip $(BR2_PACKAGE_P1905_MANAGERD_NO_WIFI)),y)
+P1905_MANAGERD_CONFIG_TYPE:=
+endif
+ifeq ($(strip $(BR2_PACKAGE_P1905_MANAGERD_AP_ENROLLEE)),y)
+P1905_MANAGERD_CONFIG_TYPE:=-wifi_support -wifi_role=enrollee -wifi_chip=mt7601
+endif
+ifeq ($(strip $(BR2_PACKAGE_P1905_MANAGERD_AP_REGISTRAR)),y)
+P1905_MANAGERD_CONFIG_TYPE:=-wifi_support -wifi_role=registrar -wifi_chip=mt7601
+endif
+
ifneq ($(IS_P1905_MANAGERD_DEV),)
P1905_MANAGERD_SITE:=$(P1905_MANAGERD_DEV_SITE)
- P1905_MANAGERD_MAKE:=@$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(P1905_MANAGERD_DIR) p1905_managerd
+ P1905_MANAGERD_CONFIG:=cd $(P1905_MANAGERD_DIR);$(P1905_MANAGERD_DIR)/p1905-config $(P1905_MANAGERD_CONFIG_TYPE)
+ P1905_MANAGERD_MAKE:=$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(P1905_MANAGERD_DIR) p1905_managerd
P1905_MANAGERD_DEV_CLEAN:=p1905_managerd-dev-clean
P1905_MANAGERD_BIN:=p1905_managerd
else
P1905_MANAGERD_SITE:=$(BASE_DIR)/../p1905_managerd
+ P1905_MANAGERD_CONFIG:=
P1905_MANAGERD_MAKE:=
P1905_MANAGERD_DEV_CLEAN:=
- P1905_MANAGERD_BIN:=p1905_managerd
+ P1905_MANAGERD_BIN:=p1905_managerd-$(BR2_PROJECT)
endif
p1905_managerd-dev-clean:
@@ -62,6 +74,7 @@ $(P1905_MANAGERD_DIR)/$(P1905_MANAGERD_BIN): $(P1905_MANAGERD_LIBSPID_SITE)/libs
$(P1905_MANAGERD_LIBALME_SITE)/libalme.so \
$(P1905_MANAGERD_DIR)/.configured \
FORCE_P1905_MANAGERD_MAKE
+ $(P1905_MANAGERD_CONFIG)
$(P1905_MANAGERD_MAKE)
$(TARGET_DIR)/usr/sbin/p1905_managerd: $(P1905_MANAGERD_DIR)/$(P1905_MANAGERD_BIN)
diff --git a/cleopatre/buildroot/target/device/Spidcom/common/defconfig.base b/cleopatre/buildroot/target/device/Spidcom/common/defconfig.base
index c47396d6b3..a257296f38 100644
--- a/cleopatre/buildroot/target/device/Spidcom/common/defconfig.base
+++ b/cleopatre/buildroot/target/device/Spidcom/common/defconfig.base
@@ -269,6 +269,9 @@ BR2_PACKAGE_MANAGERD=y
# BR2_PACKAGE_MODUTILS is not set
# BR2_PACKAGE_NG_SPICE_REWORK is not set
# BR2_PACKAGE_P1905_MANAGERD is not set
+# BR2_PACKAGE_P1905_MANAGERD_NO_WIFI is not set
+# BR2_PACKAGE_P1905_MANAGERD_AP_ENROLLEE is not set
+# BR2_PACKAGE_P1905_MANAGERD_AP_REGISTRAR is not set
# BR2_PACKAGE_POPT is not set
# BR2_PACKAGE_PORTAGE is not set
# BR2_PACKAGE_PROCPS is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/defconfig.part b/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/defconfig.part
index 8d6bbd440e..70b762cbf6 100644
--- a/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/defconfig.part
+++ b/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/defconfig.part
@@ -2,3 +2,6 @@ BR2_PROJECT="mpr520"
BR2_HOSTNAME="mpr520"
BR2_TARGET_SPIDCOM_MPR520=y
BR2_PACKAGE_PMD=y
+BR2_PACKAGE_P1905_MANAGERD=y
+BR2_PACKAGE_P1905_MANAGERD_NO_WIFI=y
+BR2_PACKAGE_LIBALME=y
diff --git a/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/linux26.config.part b/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/linux26.config.part
index 0dd8cf7f4f..7b6348c67c 100644
--- a/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/linux26.config.part
+++ b/cleopatre/buildroot/target/device/Spidcom/targets/mpr520/linux26.config.part
@@ -17,3 +17,4 @@ CONFIG_SUSPEND_FREEZER=y
CONFIG_REALTEK_PHY=y
CONFIG_NETDEV_1000=y
+CONFIG_IEEE1905_1_FORWARD_ENTITY=y
diff --git a/cleopatre/buildroot/target/device/Spidcom/targets/mpr520e/defconfig.part b/cleopatre/buildroot/target/device/Spidcom/targets/mpr520e/defconfig.part
index 2773e0133b..7b38d77ee6 100644
--- a/cleopatre/buildroot/target/device/Spidcom/targets/mpr520e/defconfig.part
+++ b/cleopatre/buildroot/target/device/Spidcom/targets/mpr520e/defconfig.part
@@ -5,5 +5,5 @@ BR2_PACKAGE_PMD=y
BR2_PACKAGE_MT7601UDRV=y
BR2_PACKAGE_SPIDGOAHEAD=y
BR2_PACKAGE_P1905_MANAGERD=y
+BR2_PACKAGE_P1905_MANAGERD_AP_ENROLLEE=y
BR2_PACKAGE_LIBALME=y
-
diff --git a/cleopatre/devkit/p1905_managerd/.gitignore b/cleopatre/devkit/p1905_managerd/.gitignore
index ed818d7086..d9d577704e 100644
--- a/cleopatre/devkit/p1905_managerd/.gitignore
+++ b/cleopatre/devkit/p1905_managerd/.gitignore
@@ -2,3 +2,4 @@ obj/
/p1905_managerd
/.configured
/.unpacked
+/config.mk.tmp \ No newline at end of file
diff --git a/cleopatre/devkit/p1905_managerd/Makefile b/cleopatre/devkit/p1905_managerd/Makefile
index 0298408530..46a975871c 100644
--- a/cleopatre/devkit/p1905_managerd/Makefile
+++ b/cleopatre/devkit/p1905_managerd/Makefile
@@ -1,4 +1,4 @@
-include ./config.mk
+include ./config.mk.tmp
BIN=p1905_managerd
OBJPATH=obj
SRCPATH=src
@@ -136,5 +136,5 @@ $(LIBSPID_SO_BIN) $(LIBMME_SO_BIN) $(LIBALME_SO_BIN):
.PHONY: all clean
clean:
- rm -f $(OBJS) $(DEPS) $(BIN)
+ rm -f $(OBJS) $(DEPS) $(BIN) config.mk.tmp
rmdir $(OBJPATH)
diff --git a/cleopatre/devkit/p1905_managerd/config.mk b/cleopatre/devkit/p1905_managerd/config.mk
index 166980648c..3c038d3f95 100644
--- a/cleopatre/devkit/p1905_managerd/config.mk
+++ b/cleopatre/devkit/p1905_managerd/config.mk
@@ -1,36 +1,4 @@
-#PLC Support
PLC_SUPPORT=y
-
-#WiFi Support
-WIFI_SUPPORT=y
-
-#ETH Support
ETH_SUPPORT=y
-
-#ALME Support
ALME_SUPPORT=y
-
-#PBC setup support
PBC_SUPPORT=y
-
-#WiFi Chip Support
-ifeq ($(WIFI_SUPPORT),y)
-WIFI_RT5572=N
-WIFI_MT7601=y
-endif
-
-#WiFi station support. Define WIFI_STATION_SUPPORT=N for AP
-ifeq ($(WIFI_SUPPORT),y)
-WIFI_STATION_SUPPORT=N
-endif
-
-#AP Auto Configured
-ifeq ($(WIFI_SUPPORT),y)
-ifneq ($(WIFI_STATION_SUPPORT),y)
-AP_AUTO_CONFIG_SUPPORT=y
-endif
-endif
-
-ifeq ($(AP_AUTO_CONFIG_SUPPORT),y)
-AP_REGISTRAR=N
-endif \ No newline at end of file
diff --git a/cleopatre/devkit/p1905_managerd/p1905-config b/cleopatre/devkit/p1905_managerd/p1905-config
new file mode 100755
index 0000000000..c3b9799fe7
--- /dev/null
+++ b/cleopatre/devkit/p1905_managerd/p1905-config
@@ -0,0 +1,58 @@
+#! /bin/bash
+
+# p1905-config
+# Use this file to configure function of p1905_managerd
+
+ORIG_CONFIG=config.mk
+NEW_CONFIG=config.mk.tmp
+
+cp ${ORIG_CONFIG} ${NEW_CONFIG}
+
+#if no input paramer, p1905_managerd will be built into no-wifi mode
+test $# -eq 0 && echo "build 1905.1 without wifi support" && exit 0
+
+#start to parse the input parametr to select build option
+while [ "$1" != "" ]
+do
+ case $1 in
+ -wifi_support)
+ echo "WIFI_SUPPORT=y" >> ${NEW_CONFIG}
+ ;;
+ -wifi_role=*)
+ role=`echo "$1" | sed 's/-wifi_role=//g'`
+
+ if [ "$role" = "registrar" ]; then
+ echo "AP_AUTO_CONFIG_SUPPORT=y" >> ${NEW_CONFIG}
+ echo "AP_REGISTRAR=y" >> ${NEW_CONFIG}
+ echo "WIFI_STATION_SUPPORT=N" >> ${NEW_CONFIG}
+ elif [ "$role" == "enrollee" ]; then
+ echo "AP_AUTO_CONFIG_SUPPORT=y" >> ${NEW_CONFIG}
+ echo "AP_REGISTRAR=N" >> ${NEW_CONFIG}
+ echo "WIFI_STATION_SUPPORT=N" >> ${NEW_CONFIG}
+ elif [ "$role" == "station" ]; then
+ echo "AP_AUTO_CONFIG_SUPPORT=N" >> ${NEW_CONFIG}
+ echo "WIFI_STATION_SUPPORT=y" >> ${NEW_CONFIG}
+ else
+ echo "unsupport wifi role in p1905-config" && exit 1
+ fi
+ ;;
+ -wifi_chip=*)
+ chip=`echo "$1" | sed 's/-wifi_chip=//g'`
+
+ if [ "$chip" = "mt7601" ]; then
+ echo "WIFI_MT7601=y" >> ${NEW_CONFIG}
+ elif [ "$chip" = "rt5572" ]; then
+ echo "WIFI_RT5572=y" >> ${NEW_CONFIG}
+ else
+ echo"unsupport wifi chip in p1905-config" && exit 1
+ fi
+ ;;
+ *)
+ echo "error input parameter in p1905-config"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+exit 0