2 # Copyright (c) 2013 Qualcomm Atheros, Inc.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted (subject to the limitations in the
8 # disclaimer below) provided that the following conditions are met:
10 # * Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
13 # * Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in the
15 # documentation and/or other materials provided with the
18 # * Neither the name of Qualcomm Atheros nor the names of its
19 # contributors may be used to endorse or promote products derived
20 # from this software without specific prior written permission.
22 # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
23 # GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
24 # HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
25 # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
31 # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
32 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
33 # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
34 # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 SET(CMAKE_C_COMPILER_WORKS 1)
39 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
40 PROJECT(ath9k_firmware NONE)
43 ADD_DEFINITIONS(-g -Os -Wunused-label -Wunused-variable -Wunused-value -Wpointer-arith -Wundef -nostdlib -Wundef)
46 -DBIG_ENDIAN -D_BYTE_ORDER=_BIG_ENDIAN
48 -DFUSION_USB_FW -DRX_SCATTER
49 -DFUSION_USB_ENABLE_TX_STREAM -DFUSION_USB_ENABLE_RX_STREAM
54 magpie_fw_dev/target/init/app_start.c
55 magpie_fw_dev/target/init/init.c
56 magpie_fw_dev/target/init/magpie.c
57 magpie_fw_dev/target/adf/adf_nbuf.c
58 magpie_fw_dev/target/adf/adf_net.c
59 magpie_fw_dev/target/adf/adf_os_defer_pvt.c
60 magpie_fw_dev/target/adf/adf_os_dma.c
61 magpie_fw_dev/target/adf/adf_os_irq_pvt.c
62 magpie_fw_dev/target/adf/adf_os_timer.c
63 magpie_fw_dev/target/buf_pool/buf_pool_static.c
64 magpie_fw_dev/target/cmnos/dbg_api.c
65 magpie_fw_dev/target/cmnos/cmnos_sflash.c
66 magpie_fw_dev/target/hif/usb_api_main_patch.c
72 wlan/ratectrl_11n_ln.c
76 magpie_fw_dev/target/wlan/wlan_pci.c
77 wlan/ieee80211_output.c
78 magpie_fw_dev/target/htc/htc.c
79 magpie_fw_dev/target/wmi/wmi_svc.c
83 SET(SOURCES ${SOURCES}
84 magpie_fw_dev/target/hif/k2_HIF_usb_patch.c
85 magpie_fw_dev/target/hif/usb_api_k2_patch.c
88 ADD_DEFINITIONS(-DPROJECT_K2)
90 SET(SOURCES ${SOURCES}
91 magpie_fw_dev/target/cmnos/k2_cmnos_clock_patch.c
92 magpie_fw_dev/target/cmnos/k2_fw_cmnos_printf.c
94 SET(FIRMWARE_NAME htc_9271.fw)
97 -DROM_VER_1_1 -D_ROM_1_1_
101 SET(SOURCES ${SOURCES}
102 magpie_fw_dev/target/hif/usb_api_magpie_patch.c
103 magpie_fw_dev/target/rompatch/cmnos_clock_patch.c
104 magpie_fw_dev/target/rompatch/HIF_usb_patch.c
107 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/adf
109 SET(PLATFORM_NAME magpie)
110 SET(FIRMWARE_NAME htc_7010.fw)
112 MESSAGE(FATAL_ERROR "Unknown target name")
116 ${CMAKE_SOURCE_DIR}/include
117 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/
118 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc
119 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc/xtensa-elf
120 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc/${PLATFORM_NAME}
121 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc/${PLATFORM_NAME}/${PLATFORM_NAME}
122 ${CMAKE_SOURCE_DIR}/wlan
123 ${CMAKE_SOURCE_DIR}/wlan/include
124 ${CMAKE_SOURCE_DIR}/wlan/include/${PLATFORM_NAME}
125 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/wlan
126 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/cmnos
127 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/wmi
128 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/adf
129 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/buf_pool
130 ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/htc
133 ADD_LIBRARY(firmware ${SOURCES})
138 COMMAND ${CMAKE_C_COMPILER}
142 ${CMAKE_BINARY_DIR}/libfirmware.a
144 -Wl,-T,${CMAKE_SOURCE_DIR}/ram-${PLATFORM_NAME}.ld
145 -Wl,-T,${CMAKE_SOURCE_DIR}/rom-addrs-${PLATFORM_NAME}.ld
151 COMMAND ${CMAKE_OBJCOPY}
152 --change-section-lma .boot-0x400000
153 --change-section-vma .boot-0x400000
154 --change-section-lma .text-0x400000
155 --change-section-vma .text-0x400000
156 -O binary fw.elf fw.bin
159 OUTPUT ${FIRMWARE_NAME}
161 COMMAND ${CMAKE_SOURCE_DIR}/firmware-crc.pl < fw.bin > ${FIRMWARE_NAME}
163 ADD_CUSTOM_TARGET(gen-firmware ALL DEPENDS ${FIRMWARE_NAME})