wlan: rework rules for wlan firmware binaries
authorAndrii Beregovenko <a.beregovenko@ti.com>
Mon, 25 Feb 2013 19:02:11 +0000 (21:02 +0200)
committerAndrii Beregovenko <a.beregovenko@ti.com>
Tue, 19 Mar 2013 15:03:04 +0000 (17:03 +0200)
Organize prebuilt firmware binaries for WiLink's WiFi
as regular Android prebuilts. Move corresponding rules to
separate makefile.

Change-Id: I5e1b95dfe9092f67f00b47e15a6507891c262e93
Signed-off-by: Andrii Beregovenko <a.beregovenko@ti.com>
Android.mk
wl12xx/Android.mk [new file with mode: 0644]
wl12xx/wlan/Android.mk [new file with mode: 0644]

index c17647d847c512fc67a971734f95c9f01cfdaf33..26a1a6b521d6696ad05e725c619a42bc63d48d5b 100644 (file)
@@ -72,162 +72,6 @@ endif
 
 #############################################
 
 
 #############################################
 
-###############################################################################
-# Install WLAN firmware files
-###############################################################################
-
-ifneq ($(WLAN_TGZ),)
-wl12xx-wlan.untarred_intermediates := $(call intermediates-dir-for, FAKE, wl12xx-wlan.untarred)
-wl12xx-wlan.untarred_timestamp := $(wl12xx-wlan.untarred_intermediates)/stamp
-
-$(wl12xx-wlan.untarred_timestamp) : $(WLAN_TGZ)
-       @echo "Unzip $(dir $@) <- $<)"
-       $(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)
-       $(hide) tar -C $(dir $@) -zxf $<
-       $(hide) touch $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl1271-nvs.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl1271-nvs.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl1271-nvs_127x.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl1271-nvs_127x.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl128x-fw-4-sr.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl128x-fw-4-sr.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl128x-fw-4-mr.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl128x-fw-4-mr.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl128x-fw-4-plt.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl128x-fw-4-plt.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl127x-fw-4-sr.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl127x-fw-4-sr.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl127x-fw-4-mr.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl127x-fw-4-mr.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl127x-fw-4-plt.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl127x-fw-4-plt.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl18xx-fw-mc.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl18xx-fw-mc.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := wl18xx-conf.bin
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $(wl12xx-wlan.untarred_intermediates)/wlan/wl18xx-conf.bin
-$(LOCAL_BUILT_MODULE) : $(wl12xx-wlan.untarred_timestamp) | $(ACP)
-       @echo "Copy $@ <- $(PRIVATE_SRC)"
-       @mkdir -p $(dir $@)
-       $(hide) $(ACP) -fp $(PRIVATE_SRC) $@
-
-endif
-
 ################################################################################
 # Install WPAN firmware files
 ###############################################################################
 ################################################################################
 # Install WPAN firmware files
 ###############################################################################
diff --git a/wl12xx/Android.mk b/wl12xx/Android.mk
new file mode 100644 (file)
index 0000000..f24f118
--- /dev/null
@@ -0,0 +1,23 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+TARGET_EXTRACTED_FW := $(PRODUCT_OUT)/extracted_firmwares
+
+ifeq ($(strip $(USES_TI_MAC80211)),true)
+include $(call all-makefiles-under, $(LOCAL_PATH))
+endif
+
diff --git a/wl12xx/wlan/Android.mk b/wl12xx/wlan/Android.mk
new file mode 100644 (file)
index 0000000..30465f7
--- /dev/null
@@ -0,0 +1,133 @@
+# Copyright (C) 2008 The Android Open Source Project
+#
+# 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.
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(strip $(BOARD_WLAN_DEVICE)),wl12xx_mac80211)
+
+TI_WILINK_FW_PATH := $(TARGET_OUT_ETC)/firmware/ti-connectivity
+
+WLAN_FW_BINS := \
+       wl128x-fw-4-mr.bin \
+       wl128x-fw-4-plt.bin \
+       wl128x-fw-4-sr.bin \
+       wl127x-fw-4-mr.bin \
+       wl127x-fw-4-plt.bin \
+       wl127x-fw-4-sr.bin \
+       wl18xx-fw-mc.bin \
+       wl18xx-conf.bin \
+       wl1271-nvs.bin \
+       wl1271-nvs_127x.bin
+
+# path to FM fws (related to top dir)
+FW_WLAN_PATH := $(TARGET_EXTRACTED_FW)/wlan
+
+# path related to current location
+FW_WLAN_FULL_PATH := ../../../../../$(FW_WLAN_PATH)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl128x-fw-4-mr.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl128x-fw-4-mr.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl128x-fw-4-plt.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl128x-fw-4-plt.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl128x-fw-4-sr.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl128x-fw-4-sr.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl127x-fw-4-mr.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl127x-fw-4-mr.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl127x-fw-4-plt.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl127x-fw-4-plt.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl127x-fw-4-sr.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl127x-fw-4-sr.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl18xx-fw-mc.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl18xx-fw-mc.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl18xx-conf.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl18xx-conf.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl1271-nvs.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl1271-nvs.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+include $(CLEAR_VARS)
+LOCAL_MODULE := wl1271-nvs_127x.bin
+LOCAL_SRC_FILES := $(FW_WLAN_FULL_PATH)/wl1271-nvs_127x.bin
+LOCAL_MODULE_CLASS := FIRMWARE
+LOCAL_MODULE_PATH := $(TI_WILINK_FW_PATH)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := ti
+include $(BUILD_PREBUILT)
+
+WLAN_FW_FILES := $(addprefix $(LOCAL_PATH)/$(FW_WLAN_FULL_PATH)/, $(WLAN_FW_BINS))
+.PHONY: $(WLAN_FW_FILES)
+$(WLAN_FW_FILES): $(FW_WLAN_FULL_PATH)
+       $(hide) tar -C $(FW_WLAN_PATH) --strip-components=1 \
+               -f $(WLAN_TGZ) -xzp wlan/$(notdir $@)
+
+$(FW_WLAN_FULL_PATH):
+       $(hide) mkdir -p $(FW_WLAN_PATH)
+
+endif
+