xref: /btstack/chipset/cc256x/cc256x.cmake (revision 98f1394d9d4c33f501ec5dcff54d145a92013c5e)
1*98f1394dSMatthias Ringwald#
2*98f1394dSMatthias Ringwald# CMake file to download and convert TI's CC256x Service Pack .bts files from BlueKitchen mirror
3*98f1394dSMatthias Ringwald# https://e2e.ti.com/support/wireless_connectivity/bluetooth_cc256x/f/660/p/560523/2056007#2056007
4*98f1394dSMatthias Ringwald#
5*98f1394dSMatthias Ringwald# Original sources:
6*98f1394dSMatthias Ringwald# TI Processor Wiki https://web.archive.org/web/20210114141711/https://processors.wiki.ti.com/index.php/CC256x_Downloads
7*98f1394dSMatthias Ringwald# TI Git Repo:      https://git.ti.com/cgit/ti-bt/service-packs/blobs/raw/a027ae390d8790e56e1c78136c78fe6537470e91
8*98f1394dSMatthias Ringwald
9*98f1394dSMatthias Ringwaldset(BLUEKITCHEN_URL https://bluekitchen-gmbh.com/files/ti/service-packs)
10*98f1394dSMatthias Ringwaldset(CONVERSION_SCRIPT ${BTSTACK_ROOT}/chipset/cc256x/convert_bts_init_scripts.py)
11*98f1394dSMatthias Ringwald
12*98f1394dSMatthias Ringwaldset (BK_FILES
13*98f1394dSMatthias Ringwald        CC2560_BT_SP_BTS.zip
14*98f1394dSMatthias Ringwald        CC2560A_BT_SP_BTS.zip
15*98f1394dSMatthias Ringwald        CC2564_BT_BLE_SP_BTS.zip
16*98f1394dSMatthias Ringwald        bluetooth_init_cc2560B_1.2_BT_Spec_4.1.bts
17*98f1394dSMatthias Ringwald        bluetooth_init_cc2564B_1.2_BT_Spec_4.1.bts
18*98f1394dSMatthias Ringwald        BLE_init_cc2564B_1.2.bts
19*98f1394dSMatthias Ringwald        cc256xb_bt_sp_v1.6.zip
20*98f1394dSMatthias Ringwald        cc256xb_bt_sp_v1.8.zip
21*98f1394dSMatthias Ringwald        cc256xc_bt_sp_v1.0.zip
22*98f1394dSMatthias Ringwald        cc256xc_bt_sp_v1.1.zip
23*98f1394dSMatthias Ringwald        cc256xc_bt_sp_v1.2.zip
24*98f1394dSMatthias Ringwald        cc256xc_bt_sp_v1.3.zip
25*98f1394dSMatthias Ringwald        cc256xc_bt_sp_v1.4.zip
26*98f1394dSMatthias Ringwald        cc256xc_bt_sp_v1.5.zip
27*98f1394dSMatthias Ringwald        TIInit_11.8.32_4.2.bts
28*98f1394dSMatthias Ringwald        TIInit_11.8.32_4.6.bts
29*98f1394dSMatthias Ringwald        TIInit_11.8.32_4.7.bts
30*98f1394dSMatthias Ringwald        TIInit_12.10.28.bts
31*98f1394dSMatthias Ringwald        TIInit_12.8.32.bts
32*98f1394dSMatthias Ringwald)
33*98f1394dSMatthias Ringwald
34*98f1394dSMatthias Ringwald# Conversion function
35*98f1394dSMatthias Ringwaldfunction(cc256x_init_script output_file main_script optional_script)
36*98f1394dSMatthias Ringwald    message("CC256x: ${output_file} <- ${main_script} ${optional_script}")
37*98f1394dSMatthias Ringwald    add_custom_command(
38*98f1394dSMatthias Ringwald            OUTPUT ${output_file}
39*98f1394dSMatthias Ringwald            DEPENDS ${main_script} ${optional_script}
40*98f1394dSMatthias Ringwald            COMMAND ${CONVERSION_SCRIPT}
41*98f1394dSMatthias Ringwald            ARGS  ${main_script} ${optional_script} ${output_file}
42*98f1394dSMatthias Ringwald    )
43*98f1394dSMatthias Ringwaldendfunction()
44*98f1394dSMatthias Ringwald
45*98f1394dSMatthias Ringwald# ZIP and bts from BlueKitchen mirror
46*98f1394dSMatthias Ringwaldforeach(FILE ${BK_FILES})
47*98f1394dSMatthias Ringwald    message("CC256x: Download ${FILE}")
48*98f1394dSMatthias Ringwald    file(DOWNLOAD ${BLUEKITCHEN_URL}/${FILE} ${FILE})
49*98f1394dSMatthias Ringwaldendforeach()
50*98f1394dSMatthias Ringwald
51*98f1394dSMatthias Ringwald# Other bts
52*98f1394dSMatthias Ringwaldfile(DOWNLOAD https://git.ti.com/ti-bt/service-packs/blobs/raw/54f5c151dacc608b19ab2ce4c30e27a3983048b2/initscripts/TIInit_6.7.16_bt_spec_4.1.bts TIInit_6.7.16_bt_spec_4.1.bts)
53*98f1394dSMatthias Ringwaldfile(DOWNLOAD https://git.ti.com/ti-bt/service-packs/blobs/raw/89c8db14929f10d75627b132690432cd71f5f54f/initscripts/TIInit_6.7.16_ble_add-on.bts  TIInit_6.7.16_ble_add-on.bts)
54*98f1394dSMatthias Ringwald
55*98f1394dSMatthias Ringwald# Extract archives
56*98f1394dSMatthias Ringwaldforeach(FILE ${BK_FILES})
57*98f1394dSMatthias Ringwald    # filter for .zip
58*98f1394dSMatthias Ringwald    if (${FILE} MATCHES "zip$")
59*98f1394dSMatthias Ringwald        message("CC256x: Extract ${FILE}")
60*98f1394dSMatthias Ringwald        file(ARCHIVE_EXTRACT INPUT ${FILE})
61*98f1394dSMatthias Ringwald    endif()
62*98f1394dSMatthias Ringwaldendforeach()
63*98f1394dSMatthias Ringwald
64*98f1394dSMatthias Ringwald# Define all init script
65*98f1394dSMatthias Ringwald#
66*98f1394dSMatthias Ringwald#                   output_file                                   main_bts                                                     add_on
67*98f1394dSMatthias Ringwald#
68*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560_2.44.c                   CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts              "")
69*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560A_2.14.c                  CC2560A_BT_SP_BTS/bluetooth_init_cc2560A_2.14.bts            "")
70*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564_2.14.c                   CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.14.bts          "")
71*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560B_1.2_BT_Spec_4.1.c       bluetooth_init_cc2560B_1.2_BT_Spec_4.1.bts                   "")
72*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564B_1.2_BT_Spec_4.1.c       bluetooth_init_cc2564B_1.2_BT_Spec_4.1.bts                   BLE_init_cc2564B_1.2.bts)
73*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560B_1.4_BT_Spec_4.1.c       TIInit_6.7.16_bt_spec_4.1.bts                                "")
74*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564B_1.4_BT_Spec_4.1.c       TIInit_6.7.16_bt_spec_4.1.bts                                TIInit_6.7.16_ble_add-on.bts)
75*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560B_1.5_BT_Spec_4.1.c       cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts  "")
76*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564B_1.5_BT_Spec_4.1.c       cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts  cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_ble_add-on.bts)
77*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560B_1.6_BT_Spec_4.1.c       cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts "")
78*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564B_1.6_BT_Spec_4.1.c       cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_ble_add-on.bts)
79*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560B_1.8_BT_Spec_4.1.c       cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts "")
80*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560B_avpr_1.8_BT_Spec_4.1.c  cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_avpr_add-on.bts)
81*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564B_1.8_BT_Spec_4.1.c       cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_ble_add-on.bts)
82*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_1.0.c                   CC256XC_BT_SP/v1.0/initscripts-TIInit_6.12.26.bts            "")
83*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564C_1.0.c                   CC256XC_BT_SP/v1.0/initscripts-TIInit_6.12.26.bts            CC256XC_BT_SP/v1.0/initscripts-TIInit_6.12.26_ble_add-on.bts)
84*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_1.1.c                   CC256XC_BT_SP/v1.1/initscripts-TIInit_6.12.26.bts            "")
85*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564C_1.1.c                   CC256XC_BT_SP/v1.1/initscripts-TIInit_6.12.26.bts            CC256XC_BT_SP/v1.1/initscripts-TIInit_6.12.26_ble_add-on.bts)
86*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_1.2.c                   CC256XC_BT_SP/v1.2/initscripts-TIInit_6.12.26.bts            "")
87*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564C_1.2.c                   CC256XC_BT_SP/v1.2/initscripts-TIInit_6.12.26.bts            CC256XC_BT_SP/v1.2/initscripts-TIInit_6.12.26_ble_add-on.bts)
88*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_1.3.c                   CC256XC_BT_SP/v1.3/initscripts-TIInit_6.12.26.bts            "")
89*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564C_1.3.c                   CC256XC_BT_SP/v1.3/initscripts-TIInit_6.12.26.bts            CC256XC_BT_SP/v1.3/initscripts-TIInit_6.12.26_ble_add-on.bts)
90*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_1.4.c                   CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26.bts             "")
91*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_avpr_1.4.c              CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26.bts            CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26_avpr_add-on.bts)
92*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564C_1.4.c                   CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26.bts            CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26_ble_add-on.bts)
93*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_1.5.c                   CC256XC_v1.5/v1.5/initscripts-TIInit_6.12.26.bts             "")
94*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2560C_avpr_1.5.c              CC256XC_v1.5/v1.5/initscripts-TIInit_6.12.26.bts             CC256XC_v1.5/v1.5i/nitscripts-TIInit_6.12.26_avpr_add-on.bts)
95*98f1394dSMatthias Ringwaldcc256x_init_script(bluetooth_init_cc2564C_1.5.c                   CC256XC_v1.5/v1.5/initscripts-TIInit_6.12.26.bts             CC256XC_v1.5/v1.5/initscripts-TIInit_6.12.26_ble_add-on.bts)
96*98f1394dSMatthias Ringwaldcc256x_init_script(TIInit_11.8.32_4.2.c                           TIInit_11.8.32_4.2.bts                                       "")
97*98f1394dSMatthias Ringwaldcc256x_init_script(TIInit_11.8.32_4.6.c                           TIInit_11.8.32_4.6.bts                                       "")
98*98f1394dSMatthias Ringwaldcc256x_init_script(TIInit_11.8.32_4.7.c                           TIInit_11.8.32_4.7.bts                                       "")
99*98f1394dSMatthias Ringwaldcc256x_init_script(TIInit_12.10.28.c                              TIInit_12.10.28.bts                                          "")
100*98f1394dSMatthias Ringwaldcc256x_init_script(TIInit_12.8.32.c                               TIInit_12.8.32.bts                                           "")
101*98f1394dSMatthias Ringwald
102*98f1394dSMatthias Ringwald# ANT Service Pack required
103*98f1394dSMatthias Ringwald# cc256x_init_script(bluetooth_init_cc2567_2.4.c                    CC2567_BT_ANT_Service_Pack_2.4.bts                           "")
104*98f1394dSMatthias Ringwald# cc256x_init_script(bluetooth_init_cc2567_2.8.c                    CC256x_BT_Service_Pack_2.8_ANT_1.16.bts                      "")
105