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