hal_ti/simplelink/source/ti/devices/cc13x2_cc26x2/rf_patches/rf_patch_cpe_multi_bt5_coex.c

1664 lines
27 KiB
C

/******************************************************************************
* Filename: rf_patch_cpe_multi_bt5_coex.c
*
* Description: RF core patch for coexistence support for Bluetooth 5 ("BLE" and "BLE5" API command sets) in CC13x2 and CC26x2
*
* Copyright (c) 2015-2020, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1) Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2) Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3) Neither the name of the ORGANIZATION nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
//*****************************************************************************
//
// If building with a C++ compiler, make all of the definitions in this header
// have a C binding.
//
//*****************************************************************************
#ifdef __cplusplus
extern "C"
{
#endif
#include <stdint.h>
#include <string.h>
#include "rf_patch_cpe_multi_bt5_coex.h"
#ifndef CPE_PATCH_TYPE
#define CPE_PATCH_TYPE static const uint32_t
#endif
#ifndef SYS_PATCH_TYPE
#define SYS_PATCH_TYPE static const uint32_t
#endif
#ifndef PATCH_FUN_SPEC
#define PATCH_FUN_SPEC static
#endif
#ifndef _APPLY_PATCH_TAB
#define _APPLY_PATCH_TAB
#endif
CPE_PATCH_TYPE patchImageMultiBt5Coex[] = {
0x210043d5,
0x210040a1,
0x210040bd,
0x21004127,
0x210040e9,
0x21004449,
0x21004485,
0x2100414d,
0x21004159,
0x21004165,
0x21004511,
0x21004199,
0x210041b1,
0x210046ab,
0x2100474d,
0x21004a11,
0x21004d2f,
0x210050c7,
0x21005283,
0x210041d5,
0x21005547,
0xd00507db,
0xf803f000,
0x70084902,
0xb570bd70,
0x47284d01,
0x210004e0,
0x0002241d,
0x79654c07,
0xf809f000,
0x40697961,
0xd5030749,
0x4a042101,
0x60110389,
0xb570bd70,
0x47084902,
0x21000380,
0x40041108,
0x0000592d,
0xf819f000,
0x296cb2e1,
0x2804d00b,
0x2806d001,
0x490ed107,
0x07c97809,
0x7821d103,
0xd4000709,
0x490b2002,
0x210c780a,
0xd0024211,
0x22804909,
0xb003600a,
0xb5f0bdf0,
0x4907b083,
0x48044708,
0x22407801,
0x70014391,
0x47004804,
0x210000c8,
0x21000133,
0xe000e200,
0x00031641,
0x00031b23,
0x4700b570,
0xf9c2f000,
0x47004800,
0x00007f57,
0xf9c2f000,
0x47004800,
0x0000881b,
0x0a9b9b03,
0x2b834d08,
0x4c08d10a,
0x069b8923,
0xb407d506,
0xf805f000,
0xd0002800,
0xbc073542,
0xb5704728,
0x47004802,
0x00020b1f,
0x21000160,
0x000209eb,
0x781a4b09,
0x43a22408,
0xd0002800,
0x701a4322,
0x47104a00,
0x00008e83,
0x78084903,
0xd4010700,
0x47004802,
0x00004770,
0x21000380,
0x00007e5f,
0xb081b5f3,
0xb5f84710,
0x00004700,
0x20284a04,
0x48044790,
0x60412101,
0x4a044803,
0x47106041,
0x0000424f,
0x40045000,
0x40046000,
0x00004285,
0x4c86b510,
0x31404621,
0x28017d08,
0x4884d134,
0x08407dc0,
0xd02f07c0,
0x30604620,
0x08527942,
0xd02907d2,
0x0b808940,
0xd1252801,
0x09417e08,
0xd00c07c9,
0x07006fa1,
0x0fc08809,
0x04090240,
0x66604308,
0x1c806fa0,
0xf9bef001,
0x4874e013,
0x69803020,
0x28006840,
0x4a72d00e,
0x78012300,
0x1a5956d3,
0x00c9d408,
0x78411808,
0xd00307c9,
0x66616801,
0x66a06840,
0x4780486b,
0xb5f8bd10,
0x496a4c66,
0x36204626,
0x46257b70,
0x90003540,
0x00b8792f,
0x68801840,
0x28004780,
0x4960d128,
0x09097dc9,
0xd02307c9,
0x32644622,
0xd0202f15,
0x23007e29,
0x07ff094f,
0x7d6dd003,
0xd0002d00,
0x9f002301,
0x43bb6fa5,
0x7b73d012,
0xd00f2b00,
0x065b7d23,
0x88d2d50c,
0x2a010b92,
0x08c9d108,
0xd00507c9,
0x0b8988a9,
0xd1012901,
0x73712100,
0x7eabbdf8,
0x2b017de9,
0x2300d0e3,
0xb570e7e1,
0x46254c46,
0x35806a60,
0xd11d2800,
0x5d002054,
0x28002200,
0x2064d017,
0x08805d00,
0xd01207c0,
0x888868a9,
0x28010b80,
0x483dd10d,
0x08407dc0,
0xd00807c0,
0x3020483a,
0x68006980,
0xd0022800,
0x60a86229,
0x622ae000,
0x47804839,
0x29006a61,
0x6a29d103,
0xd0002900,
0xbd7060a9,
0x4c2fb5f8,
0x46204934,
0x7d023040,
0xd02f2a00,
0x46257e80,
0x28033580,
0x2804d002,
0xe027d003,
0x75e82001,
0x2064e024,
0x08805d00,
0xd01f07c0,
0x888068a8,
0x28010b80,
0x4822d11a,
0x7dc07dea,
0xd0132a00,
0x07c008c0,
0x4626d012,
0x7b773620,
0x46014788,
0xd1084339,
0x06097d21,
0x8869d505,
0x29010b89,
0x2100d101,
0xbdf87371,
0xe7ea0880,
0xbdf84788,
0x30804812,
0x75c12100,
0x47004817,
0x3140490f,
0x28267108,
0xdc06d014,
0xd0132815,
0xd00b281b,
0xd104281f,
0x283de00a,
0x2847d00e,
0x490bd00a,
0x18400080,
0x47706880,
0x4770480c,
0x4770480c,
0x4770480c,
0x4770480c,
0x4770480c,
0x21000160,
0x210000c8,
0x210004e0,
0x00024959,
0x00025500,
0x00023d8f,
0x00023075,
0x00022a15,
0x210043c9,
0x21004355,
0x210042f7,
0x21004277,
0x210041f9,
0x490cb510,
0x4a0c4788,
0x5e512106,
0xd0072900,
0xd0052902,
0xd0032909,
0xd0012910,
0xd1072911,
0x43c92177,
0xdd014288,
0xdd012800,
0x43c0207f,
0x0000bd10,
0x000065a9,
0x21000380,
0x4810b510,
0x481088c1,
0xd0182905,
0x68214c0f,
0x0052084a,
0x6ba26022,
0x00520852,
0x602163a2,
0xfe50f7ff,
0x07006ba0,
0x2001d408,
0x60606020,
0x1c402000,
0xdbfc280c,
0x62202014,
0xf7ffbd10,
0xbd10fe41,
0x21000380,
0x00005b3f,
0x40046000,
0x490c6b80,
0x0f000700,
0x47707148,
0x490a4a09,
0x79502318,
0x7e4956cb,
0x428118c0,
0x4608dd01,
0x280fe002,
0x200fdd00,
0x090989d1,
0x43010109,
0x477081d1,
0x210002e0,
0x21000088,
0x47702000,
0x22ff0783,
0x409a0edb,
0x0e090789,
0x28004099,
0x0700da0b,
0x38080f00,
0x009b0883,
0x181848ff,
0x439369c3,
0x61c3430b,
0x08834770,
0x009b48fc,
0x68031818,
0x430b4393,
0x47706003,
0x4694b5f0,
0x7bd24af8,
0xd0702a00,
0x69234cf7,
0xd06c2b00,
0x07ea781d,
0xd0680fd2,
0xd07f2b00,
0x2704785e,
0xd0072e00,
0x2e012205,
0x2e02d006,
0x2e03d006,
0xe006d109,
0xe00271e7,
0xe00371e7,
0x71a771e2,
0x71e2e001,
0x791a71a2,
0xd0022800,
0x43322601,
0x0852e001,
0x711a0052,
0x07d208ea,
0x4ee3d04a,
0x4ae44fe3,
0xd0414201,
0x29007a61,
0x8859d039,
0x04894662,
0x2a000c09,
0x79a2d001,
0x79e2e000,
0xd0232a05,
0xd0272900,
0x220569b1,
0x021243b9,
0x61b11889,
0x468c6871,
0x220f6971,
0x43910212,
0x31ff31ff,
0x61713102,
0x21014ad0,
0x60913240,
0x43b969b1,
0x31ff31ff,
0x61b13102,
0x008a8859,
0x18514661,
0x32804ac9,
0xe0056091,
0x79a269b1,
0x021243b9,
0x61b14311,
0x21017862,
0x7062430a,
0x69b1e008,
0x188943b9,
0xe017e7f5,
0x43b969b1,
0x61b11889,
0x07c90869,
0x49bfd010,
0x28002208,
0xd0056948,
0x61484310,
0x21027860,
0xe0044308,
0x61484390,
0x21fd7860,
0x70604008,
0x4bb2bdf0,
0x7a9ab510,
0x46144619,
0x43847889,
0x791bd002,
0xd00e430b,
0xd00c2a00,
0xd10a4381,
0x49af2001,
0x60c803c0,
0x384048ad,
0x04006ac0,
0x2000d401,
0x2001bd10,
0xb5f3bd10,
0xb0814ca3,
0x460e2500,
0x27017225,
0x047f48a6,
0xb6626007,
0x20114629,
0xff26f7ff,
0x600748a3,
0x2201489c,
0x61423040,
0x6840489a,
0x30a04999,
0x61483180,
0x3880489c,
0x48946007,
0x28007bc0,
0x6921d028,
0xd0252900,
0x07c37808,
0xd0210fdb,
0xd01f2900,
0x73660881,
0xd00107c9,
0xe00072a2,
0x084172a5,
0xd00807c9,
0xd0022e00,
0x732272e2,
0x7921e005,
0x732172e1,
0x72e5e001,
0x08c17325,
0xd10007c9,
0x09007325,
0xd00307c0,
0x07c07860,
0x7325d000,
0x46314a86,
0xf7ff9801,
0xbdfefd3f,
0x2001b510,
0x04404980,
0x48796008,
0x7b017b42,
0xf7ff7ac0,
0x2101fef7,
0xf7ff2011,
0xbd10fed5,
0xb5104974,
0x3140487b,
0x48726048,
0x220268c1,
0x60c14311,
0x03144875,
0x21006004,
0xf7ff200d,
0x496bfec3,
0x72082001,
0x3880486f,
0xbd106004,
0x4d67b5f8,
0x24017a28,
0xd0052800,
0x30404865,
0x0a006840,
0xd0062817,
0x7d06486b,
0x4780486b,
0xd0662e01,
0x4e6ae076,
0x48696074,
0x30402203,
0x21616002,
0x60c10149,
0x61426044,
0x01892159,
0x61846201,
0x684b4957,
0xb2d26ab2,
0x19d20057,
0x684b189a,
0xd3fc4293,
0x010921c1,
0x604460c1,
0x60c1495c,
0x49576044,
0x620139d6,
0x21a16184,
0x62010109,
0xbf006184,
0x32804a55,
0x232b6a91,
0x0e090789,
0x021b310c,
0x60c118c9,
0x6a916044,
0x06c92211,
0x01490f49,
0x0212310e,
0x60c11889,
0x200c6044,
0x200762f0,
0x49426230,
0x39402003,
0x49406048,
0x63c82000,
0x4a4762c8,
0x02127892,
0x493b618a,
0x2302694a,
0x614a439a,
0x702cbf00,
0x49347228,
0x60483140,
0x200d2101,
0xfe4cf7ff,
0x49352001,
0x60080340,
0x483310c1,
0x60013080,
0x7928bdf8,
0xd1fb2800,
0x28007968,
0x7868d1f8,
0x07c02201,
0x1c4917c1,
0xf7ff4610,
0x7868fe53,
0x70684320,
0xd1eb2e06,
0x28007aa8,
0x7828d0e8,
0xd1e52800,
0xff54f7ff,
0xb5f8bdf8,
0x6ac04828,
0x4d1a4f2a,
0x07c14e1a,
0x2403d001,
0x0700e07b,
0x2c010f84,
0x2c02d004,
0x7fb8d107,
0xd16e2800,
0xf7ff2001,
0x2800fec0,
0x2c01d004,
0x2c02d04a,
0xe061d045,
0x20014c1a,
0x46016060,
0x38964815,
0xfe68f000,
0x210120a1,
0xf0000100,
0x20c3fe63,
0x01002101,
0xfe64f000,
0x62202007,
0x20012403,
0xe0257030,
0xe000ed00,
0xe000e400,
0x210000a8,
0x210056f8,
0x40043000,
0x00000700,
0x00000400,
0x40041100,
0x40045040,
0xe000e180,
0xe000e280,
0x00020be7,
0x00001706,
0x210002c0,
0x000074f5,
0x40046000,
0x00001210,
0x21000380,
0x210002a0,
0x72302000,
0x03402001,
0x600849ff,
0x7fb8e023,
0xd11c2800,
0xf0002001,
0x7ae8fe31,
0x07c00840,
0x7870d010,
0xd00807c0,
0x698849f8,
0x02122207,
0x79b24390,
0x43100212,
0x48f56188,
0x22026941,
0x61414311,
0xd0022c02,
0xd0042c03,
0x2001e020,
0xfe1af000,
0x2000e01c,
0x21017230,
0xf7ff200d,
0x49eafd9b,
0x31402000,
0x20016048,
0x03404ee6,
0x7ae86030,
0x07c00840,
0x48e5d004,
0x21026942,
0x6142438a,
0xf0002000,
0x2001fdff,
0x60300280,
0xbdf877bc,
0x4cdfb570,
0x72252500,
0xf7ff4628,
0x2800fe2a,
0x7860d00f,
0xd00807c0,
0x698849d7,
0x02122207,
0x79e24390,
0x43100212,
0x48d66188,
0xfbc7f7ff,
0x2001bd70,
0x48d47020,
0xbd706205,
0x470048d3,
0x48d4b5f8,
0x7ac04cd2,
0x46262500,
0x36400780,
0x28002702,
0x48d0da03,
0x723780f0,
0x48cf2503,
0x280078c0,
0x48ced003,
0x723780f0,
0x48c42503,
0x28007800,
0x49c2d00a,
0x72082000,
0xf0002086,
0x48c7fdbf,
0x80f01d00,
0x25037237,
0x300120ff,
0xfdbcf000,
0x48bae011,
0x28007800,
0x2088d00a,
0xfdaef000,
0x462049be,
0x30401d09,
0x720780c1,
0xe0042503,
0x47806c20,
0x2d004605,
0x48b7d0eb,
0x28007840,
0x48b7d017,
0x07416840,
0x49a9d50a,
0x68093980,
0xd5050709,
0xf0002082,
0x48b0fd91,
0xe0091c80,
0xd5060680,
0x208c7931,
0xfd94f000,
0x1c4048ab,
0x2000e000,
0x28009000,
0x2084d008,
0xfd7ef000,
0x30404620,
0x80c19900,
0x25037207,
0x7808499b,
0xd0072800,
0x46204aa1,
0x30401d12,
0x720780c2,
0xe0032503,
0xd0012d03,
0xd1702d02,
0x20004993,
0x489c7208,
0x20007bc7,
0x2f009000,
0x4608d007,
0x28006900,
0x7800d003,
0x07c79000,
0x2d030fff,
0xf000d11c,
0xf000fd65,
0x6aa0fd69,
0xd0042800,
0xf0006b60,
0x2000fd69,
0x498c62a0,
0x1ec98920,
0xd0024288,
0x42881c49,
0x4d84d108,
0x28006ea8,
0x6e68d004,
0xfd58f000,
0x66a82000,
0xd0592f00,
0x7801487a,
0x438178c0,
0x9800d103,
0x07c00900,
0x2200d109,
0x46104611,
0xfcc8f7ff,
0x78414873,
0x00490849,
0x49767041,
0x5d022048,
0x2a023920,
0x2a00d036,
0x2001d001,
0x2000e000,
0x2701680b,
0x072b7b5d,
0xf0000f1b,
0x0f06fd77,
0x0805042b,
0x40782b09,
0xd1232800,
0x4078e006,
0xd0032800,
0x2d00092d,
0xe019dc01,
0x68082501,
0xd0072a03,
0x90006840,
0xfd1ef000,
0xd1112800,
0xe067e002,
0xe7f66900,
0xe0072701,
0x68409800,
0xf0009000,
0x2800fd11,
0x1c7fd104,
0xdbf542af,
0xda092d00,
0x46112200,
0xf7ff4610,
0x4850fc81,
0x08497841,
0x70410049,
0xfd04f000,
0xf0002000,
0x2001fd07,
0xfd04f000,
0xf0002002,
0x4950fd01,
0x1d098920,
0xd0034288,
0x3124494d,
0xd1024288,
0xfcfcf000,
0x494ae030,
0x42883123,
0x4944d121,
0x5c402065,
0x07d20902,
0x07c0d026,
0x4608d024,
0x69023080,
0xd01f2a00,
0x06537942,
0x2b020f5b,
0x88f5db1a,
0x1cb64e3c,
0xd01542b5,
0x2b04258f,
0x402ad005,
0x71423210,
0x730a6809,
0x402ae00c,
0x4937e7f9,
0x42881d89,
0x7f31d106,
0x29004830,
0x4936d002,
0x60086e00,
0x7a213440,
0x220088e0,
0xfccaf000,
0x300120ff,
0xfcccf000,
0x4a31bdf8,
0x2037492f,
0x4a2f4710,
0x2031492d,
0x4a2d4710,
0x2019492b,
0x4a2b4710,
0x203c4929,
0x4a294710,
0x200a4927,
0x4a274710,
0x20004925,
0xb5f04710,
0x21004f17,
0x71797039,
0x4c238801,
0x0f93050a,
0x0f92d005,
0xd0022a01,
0xd0602a02,
0x4a1fe1b9,
0xd17c1889,
0x78856821,
0x684378c2,
0xb6726880,
0xd0472900,
0x260a4c0f,
0x1cb657a6,
0x880cd142,
0x2c010b24,
0x6909d13e,
0xd13b4281,
0x46214c08,
0xe0253140,
0xe000e180,
0x40043000,
0x40041100,
0x210056f8,
0x00005a8b,
0x40046000,
0x000200ab,
0x21000160,
0x21000128,
0x00001407,
0x21000380,
0x00001804,
0x40045080,
0x210000a8,
0x40042000,
0x21004a51,
0x000205a9,
0x21000108,
0xffffefff,
0x3e0b790e,
0xd80d2e03,
0x7d36460e,
0xd0022d00,
0xd1022e00,
0x2e00e008,
0x2001d109,
0x764a7608,
0xe00a65e3,
0xd0022d00,
0x60c371c2,
0x7182e001,
0x20016083,
0x02c049ff,
0xb6626088,
0x48ffe153,
0x46064dfd,
0x30c03680,
0x7bf21b4b,
0x42a969c0,
0xdc1ad025,
0x1b4b4dfa,
0xd04742a9,
0x4bf9dc07,
0xf00018cb,
0x1c05fc53,
0x4343431c,
0x2b03000c,
0xdc05d07b,
0xd0792b01,
0xd1002b02,
0xe077e0c1,
0xd0742b04,
0xd1732b1a,
0xf000e12f,
0x710efc3f,
0x71565608,
0xdeba8171,
0x2f2f2f70,
0x2a00712f,
0x6138d020,
0xd01d2800,
0x79417982,
0x0fdb0753,
0x790570bb,
0x403526fd,
0x431d005b,
0x07107105,
0x70f80fc0,
0x07c00888,
0x0708d001,
0x0790e000,
0x71380fc0,
0xd00207c8,
0x0fc00788,
0x07d0e001,
0x72780fc0,
0x8520207c,
0xe0fb48d7,
0xd0202a00,
0x28006138,
0x79c2d01d,
0x07537941,
0x70bb0fdb,
0x26fd7905,
0x005b4035,
0x7105431d,
0x0fc00710,
0x088870f8,
0xd00107c0,
0xe0000708,
0x0fc00790,
0x07c87138,
0x0788d002,
0xe0010fc0,
0x0fc007d0,
0x20807278,
0x48c58520,
0x2a00e0d4,
0x6138d024,
0xd0212800,
0x794179c2,
0x0fdb0753,
0x790570bb,
0x403526fd,
0x431d005b,
0x07107105,
0x70f80fc0,
0x07c00888,
0x0708d005,
0xe06ee004,
0xe093e010,
0x0790e0bf,
0x71380fc0,
0xd00207c8,
0x0fc00788,
0x07d0e001,
0x72780fc0,
0x8520208c,
0xe0a948b0,
0xd0322a00,
0x28006138,
0x7a03d02f,
0x075d7942,
0x70bd0fed,
0x4ea646ac,
0x1c764daa,
0x42b1682d,
0x4ea1d003,
0x42b11db6,
0x7969d105,
0x07c90849,
0x2101d101,
0x79017179,
0x402925fd,
0x006d4665,
0x71014329,
0x0fc00718,
0x089070f8,
0xd00107c0,
0xe0000710,
0x0fc00798,
0x07d07138,
0xbf00d002,
0xe0240790,
0x0fc007d8,
0x20a8e025,
0x48968520,
0x2a00e070,
0x6138d0f9,
0xd0f62800,
0x79417a42,
0x0fdb0753,
0x790570bb,
0x403526fd,
0x431d005b,
0x07107105,
0x70f80fc0,
0x07c00888,
0x0708d001,
0x0790e000,
0x71380fc0,
0xd00207c8,
0x0fc00788,
0x07d0e001,
0x72780fc0,
0x2a00e7d7,
0x6138d020,
0xd01d2800,
0x79417a82,
0x0fdb0753,
0x790570bb,
0x403526fd,
0x431d005b,
0x07107105,
0x70f80fc0,
0x07c00888,
0x0708d001,
0x0790e000,
0x71380fc0,
0xd00207c8,
0x0fc00788,
0x07d0e001,
0x72780fc0,
0x85202054,
0xe0254871,
0xd0202a00,
0x28006138,
0x7ac2d01d,
0x07537941,
0x70bb0fdb,
0x26fd7905,
0x005b4035,
0x7105431d,
0x0fc00710,
0x088870f8,
0xd00107c0,
0xe0000708,
0x0fc00790,
0x07c87138,
0x0788d002,
0xe0010fc0,
0x0fc007d0,
0x20687278,
0x485f8520,
0x20016260,
0x200abdf0,
0x485d8520,
0x2082e7f8,
0xb5f3bdf0,
0xb0814d50,
0x7be83580,
0xd0142800,
0x69014858,
0xd0102900,
0x07c27808,
0xd00c0fd2,
0xd00a2900,
0x07c008c0,
0x4853d007,
0x22076981,
0x43910212,
0x18891502,
0x98016181,
0x27004c4f,
0x28004e4f,
0x7a70d016,
0x42887a31,
0x2181d00b,
0xd0024208,
0xf0002010,
0x7a70fa7f,
0x484706c1,
0x30400ec9,
0x20036141,
0x48446060,
0x63c73040,
0xe01062c7,
0x60602002,
0x60a02001,
0x60a76027,
0x30404831,
0x0a818800,
0xd00407c9,
0x07c00900,
0xf000d001,
0x4839faa3,
0x694130c0,
0x03522201,
0x61414391,
0x6b814837,
0x43912220,
0x60e76381,
0x48356127,
0x61a06160,
0x28007b28,
0xf000d001,
0x4c32fa93,
0x07c06ae0,
0x7ae8d0fc,
0x07c14d1c,
0x6969d003,
0x00490849,
0x08c06169,
0xd00907c0,
0x69414825,
0x431122f0,
0x69816141,
0x43912270,
0x61813140,
0x68414820,
0xf000208a,
0x4925fa7b,
0x60084823,
0x20024924,
0x63287008,
0x28009801,
0x7af0d04a,
0x42887ab1,
0x2181d009,
0xd0024208,
0xf0002040,
0x7af0fa19,
0x0ec006c0,
0x200161e0,
0x491a6060,
0x47889802,
0x70702003,
0xe0314818,
0x40041100,
0x00001821,
0x21000028,
0x00001806,
0xffffe7ff,
0x21004d27,
0x21004d1f,
0x21004d17,
0x21000160,
0x21004d0f,
0x21004d07,
0x21004cff,
0x21004a4d,
0x210056f8,
0x40043000,
0x40045000,
0x21000380,
0x40045100,
0x0000ffff,
0x40046000,
0x00000914,
0xe000e180,
0x21000018,
0x0000729f,
0x000057bf,
0xbdfe4780,
0x60a02001,
0x60a76027,
0x6007488a,
0x20787077,
0xfa0af000,
0xb5f7bdfe,
0xb0844f87,
0x46166838,
0x42884986,
0x4886d10a,
0x89014a86,
0xd0024291,
0x42911c52,
0x4984d102,
0x47886e40,
0x25004883,
0x90026840,
0xd0012e00,
0xe0004c81,
0x21004c81,
0x2e006261,
0x487fd003,
0x60386a40,
0x487ce004,
0x28006a40,
0x6039d100,
0x7d504a7b,
0xd00407c3,
0x0fc00780,
0xd10042b0,
0x49747551,
0x31402000,
0x20016008,
0x03004975,
0x98056008,
0xd03a2802,
0xd0002800,
0x68212001,
0x070b7b49,
0xf0000f1b,
0x0406f9e7,
0x0b080632,
0x2701210d,
0x2101e00d,
0x28004048,
0xe7f8d127,
0x40502201,
0xd0f42800,
0x0f070608,
0x2f00d011,
0x9805dd28,
0x68202803,
0x6845d00d,
0xf0004628,
0x2800f989,
0x4860d009,
0xe0109004,
0x1e80485e,
0x6825e7fa,
0x6905e016,
0x2001e7f0,
0x6868e00f,
0xf0009001,
0x2800f977,
0x4857d004,
0x27008068,
0xe00743ff,
0x80682003,
0x9d019800,
0x90001c40,
0xdbec42b8,
0x68219804,
0x80482e00,
0xd001484f,
0xe0002104,
0x60812101,
0xda192f00,
0xd0022e00,
0x60812108,
0x2102e00b,
0x22006081,
0x46104611,
0xf8ccf7ff,
0x78414846,
0x00490849,
0x21007041,
0x30204620,
0x602172c1,
0x728121fc,
0xbdf0b007,
0x27008828,
0x0f800500,
0xd0022803,
0xd0022802,
0x4835e02b,
0x4835e000,
0x42a09000,
0x6800d004,
0xd0122800,
0x1cbf4f34,
0x30209800,
0x22837ac1,
0x72c14011,
0x46284933,
0x28824788,
0x4932d015,
0xd1154288,
0x1cbf4f2c,
0x222ce03a,
0x98004621,
0xf94ef000,
0x46202100,
0x72c13020,
0x21fc6021,
0x20017281,
0x9c004046,
0x4f23e7de,
0xe0271c7f,
0xd0062801,
0xf000207f,
0x4925f8e1,
0x60484823,
0x2f00e7fe,
0x68a0d11c,
0x980260e0,
0x60256160,
0x7b406820,
0x0f000700,
0xd9022805,
0x1ebf4f16,
0x2080e00e,
0xf8d0f000,
0x68204605,
0x46312200,
0xf924f000,
0x46284607,
0xf902f000,
0xd09d2f00,
0x21024632,
0xf0004638,
0xe797f8f5,
0x40046040,
0x210002a8,
0x000203bd,
0x21000160,
0x00001821,
0x000035f1,
0x40043000,
0x21000134,
0x21000108,
0x21000280,
0xe000e180,
0x00000804,
0x40041100,
0x210056f8,
0x00000657,
0x0000ffff,
0x80000000,
0xe000ed00,
0x4b272201,
0x48252102,
0xb5104718,
0x47804825,
0x6a404825,
0xd10d2800,
0x200a4924,
0x28005608,
0x1c40da09,
0x4608d007,
0x6a403820,
0x42884920,
0x4780d100,
0xf7ffbd10,
0xbd10ffe3,
0x4b1e2100,
0x46084a1c,
0x20014718,
0x0240491c,
0x481c6008,
0x780122fb,
0x70014011,
0x38ec4812,
0xb5104700,
0x47884918,
0x39204911,
0xd0072801,
0xd5040402,
0x85082000,
0x62484814,
0xbd102001,
0x4b096a4a,
0x429a3bec,
0x4a11d101,
0x4907e005,
0x4b106a4a,
0xd1f2429a,
0x624a4a0f,
0x0000bd10,
0x00000806,
0x0000069f,
0x000292a1,
0x21000108,
0x21000154,
0x00029263,
0x210054f3,
0x0002b4b5,
0xe000e180,
0x21000380,
0x000296f7,
0x210054e9,
0x2100552f,
0x00029569,
0x21005525,
0x07810882,
0x0ec90092,
0x78c0ca0c,
0x424940ca,
0x408b3120,
0x0211431a,
0x06000a09,
0x47704308,
0x4801b403,
0xbd019001,
0x00004e75,
0x4801b403,
0xbd019001,
0x00004e4f,
0x4801b403,
0xbd019001,
0x000085bd,
0x4801b403,
0xbd019001,
0x0000900f,
0x4801b403,
0xbd019001,
0x00003cc3,
0x4801b403,
0xbd019001,
0x0000424f,
0x4801b403,
0xbd019001,
0x00003ca9,
0x4801b403,
0xbd019001,
0x00007d65,
0x4801b403,
0xbd019001,
0x00005d1b,
0x4801b403,
0xbd019001,
0x000035f1,
0x4801b403,
0xbd019001,
0x00003f9d,
0x4801b403,
0xbd019001,
0x00005e9d,
0x4801b403,
0xbd019001,
0x00000fc1,
0x4801b403,
0xbd019001,
0x0002035d,
0x4801b403,
0xbd019001,
0x0000069f,
0x4801b403,
0xbd019001,
0x0000423d,
0x4801b403,
0xbd019001,
0x000090fd,
0x4801b403,
0xbd019001,
0x00005bbb,
0x4801b403,
0xbd019001,
0x00003c8f,
0x4801b403,
0xbd019001,
0x000002f9,
0x4801b403,
0xbd019001,
0x000004bf,
0x4674b430,
0x78251e64,
0x42ab1c64,
0x461dd200,
0x005b5d63,
0xbc3018e3,
0x00004718,
0x00000000,
0x04050001,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
};
#define _NWORD_PATCHIMAGE_MULTI_BT5_COEX 1457
CPE_PATCH_TYPE patchCpeHd[] = {
0x00000000,
};
#define _NWORD_PATCHCPEHD_MULTI_BT5_COEX 1
#define _NWORD_PATCHSYS_MULTI_BT5_COEX 0
#define _IRQ_PATCH_0 0x2100479d
#define _IRQ_PATCH_1 0x210048c7
#ifndef _MULTI_BT5_COEX_SYSRAM_START
#define _MULTI_BT5_COEX_SYSRAM_START 0x20000000
#endif
#ifndef _MULTI_BT5_COEX_CPERAM_START
#define _MULTI_BT5_COEX_CPERAM_START 0x21000000
#endif
#define _MULTI_BT5_COEX_SYS_PATCH_FIXED_ADDR 0x20000000
#define _MULTI_BT5_COEX_PATCH_VEC_ADDR_OFFSET 0x03D0
#define _MULTI_BT5_COEX_PATCH_TAB_OFFSET 0x03D4
#define _MULTI_BT5_COEX_IRQPATCH_OFFSET 0x0480
#define _MULTI_BT5_COEX_PATCH_VEC_OFFSET 0x404C
#define _MULTI_BT5_COEX_PATCH_CPEHD_OFFSET 0x04E0
#ifndef _MULTI_BT5_COEX_NO_PROG_STATE_VAR
static uint8_t bMultiBt5CoexPatchEntered = 0;
#endif
PATCH_FUN_SPEC void enterMultiBt5CoexCpePatch(void)
{
#if (_NWORD_PATCHIMAGE_MULTI_BT5_COEX > 0)
uint32_t *pPatchVec = (uint32_t *) (_MULTI_BT5_COEX_CPERAM_START + _MULTI_BT5_COEX_PATCH_VEC_OFFSET);
memcpy(pPatchVec, patchImageMultiBt5Coex, sizeof(patchImageMultiBt5Coex));
#endif
}
PATCH_FUN_SPEC void enterMultiBt5CoexCpeHdPatch(void)
{
#if (_NWORD_PATCHCPEHD_MULTI_BT5_COEX > 0)
uint32_t *pPatchCpeHd = (uint32_t *) (_MULTI_BT5_COEX_CPERAM_START + _MULTI_BT5_COEX_PATCH_CPEHD_OFFSET);
memcpy(pPatchCpeHd, patchCpeHd, sizeof(patchCpeHd));
#endif
}
PATCH_FUN_SPEC void enterMultiBt5CoexSysPatch(void)
{
}
PATCH_FUN_SPEC void configureMultiBt5CoexPatch(void)
{
uint8_t *pPatchTab = (uint8_t *) (_MULTI_BT5_COEX_CPERAM_START + _MULTI_BT5_COEX_PATCH_TAB_OFFSET);
uint32_t *pIrqPatch = (uint32_t *) (_MULTI_BT5_COEX_CPERAM_START + _MULTI_BT5_COEX_IRQPATCH_OFFSET);
pPatchTab[1] = 0;
pPatchTab[21] = 1;
pPatchTab[76] = 2;
pPatchTab[62] = 3;
pPatchTab[64] = 4;
pPatchTab[91] = 5;
pPatchTab[79] = 6;
pPatchTab[140] = 7;
pPatchTab[150] = 8;
pPatchTab[13] = 9;
pPatchTab[31] = 10;
pPatchTab[152] = 11;
pPatchTab[151] = 12;
pPatchTab[12] = 13;
pPatchTab[139] = 14;
pPatchTab[78] = 15;
pPatchTab[163] = 16;
pPatchTab[81] = 17;
pPatchTab[40] = 18;
pPatchTab[73] = 19;
pPatchTab[164] = 20;
pIrqPatch[17] = _IRQ_PATCH_0;
pIrqPatch[21] = _IRQ_PATCH_1;
}
PATCH_FUN_SPEC void applyMultiBt5CoexPatch(void)
{
#ifdef _MULTI_BT5_COEX_NO_PROG_STATE_VAR
enterMultiBt5CoexSysPatch();
enterMultiBt5CoexCpePatch();
#else
if (!bMultiBt5CoexPatchEntered)
{
enterMultiBt5CoexSysPatch();
enterMultiBt5CoexCpePatch();
bMultiBt5CoexPatchEntered = 1;
}
#endif
enterMultiBt5CoexCpeHdPatch();
configureMultiBt5CoexPatch();
}
void refreshMultiBt5CoexPatch(void)
{
enterMultiBt5CoexCpeHdPatch();
configureMultiBt5CoexPatch();
}
void cleanMultiBt5CoexPatch(void)
{
#ifndef _MULTI_BT5_COEX_NO_PROG_STATE_VAR
bMultiBt5CoexPatchEntered = 0;
#endif
}
void rf_patch_cpe_multi_bt5_coex(void)
{
applyMultiBt5CoexPatch();
}
#undef _IRQ_PATCH_0
#undef _IRQ_PATCH_1
//*****************************************************************************
//
// Mark the end of the C bindings section for C++ compilers.
//
//*****************************************************************************
#ifdef __cplusplus
}
#endif