572 lines
9.9 KiB
C
572 lines
9.9 KiB
C
/******************************************************************************
|
|
* Filename: rf_patch_rfe_tof.h
|
|
* Revised: $Date: 2019-01-31 15:04:59 +0100 (to, 31 jan 2019) $
|
|
* Revision: $Revision: 18843 $
|
|
*
|
|
* Description: RF core RFE patch for time of flight 2Mbps PHY for CC13x2 and CC26x2
|
|
*
|
|
* Copyright (c) 2015-2019, 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.
|
|
*
|
|
******************************************************************************/
|
|
|
|
|
|
#ifndef _RF_PATCH_RFE_TOF_H
|
|
#define _RF_PATCH_RFE_TOF_H
|
|
|
|
#include <stdint.h>
|
|
#include "../inc/hw_types.h"
|
|
|
|
#ifndef RFE_PATCH_TYPE
|
|
#define RFE_PATCH_TYPE static const uint32_t
|
|
#endif
|
|
|
|
#ifndef PATCH_FUN_SPEC
|
|
#define PATCH_FUN_SPEC static inline
|
|
#endif
|
|
|
|
#ifndef RFC_RFERAM_BASE
|
|
#define RFC_RFERAM_BASE 0x2100C000
|
|
#endif
|
|
|
|
#ifndef RFE_PATCH_MODE
|
|
#define RFE_PATCH_MODE 0
|
|
#endif
|
|
|
|
RFE_PATCH_TYPE patchTofRfe[461] = {
|
|
0x00006194,
|
|
0x004535aa,
|
|
0x0421a355,
|
|
0x1f40004c,
|
|
0x0000003f,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x40004030,
|
|
0x40034001,
|
|
0x400f4007,
|
|
0x40cf404f,
|
|
0x43cf41cf,
|
|
0x4fcf47cf,
|
|
0x2fcf3fcf,
|
|
0x0fcf1fcf,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x40004030,
|
|
0x40034001,
|
|
0x400f4007,
|
|
0x40cf404f,
|
|
0x6fcf7fcf,
|
|
0x4fcf5fcf,
|
|
0x2fcf3fcf,
|
|
0x0fcf1fcf,
|
|
0x00000000,
|
|
0x00000000,
|
|
0x9100c050,
|
|
0xc0707000,
|
|
0x70009100,
|
|
0x00213182,
|
|
0xb1109131,
|
|
0x81017000,
|
|
0xa100b101,
|
|
0x91323182,
|
|
0x9101b110,
|
|
0x81411011,
|
|
0x40772241,
|
|
0x700006f1,
|
|
0x9150c050,
|
|
0xc0707000,
|
|
0x70009150,
|
|
0x00213182,
|
|
0xb1609181,
|
|
0x10257000,
|
|
0x9100c050,
|
|
0xc140c3f4,
|
|
0x6f031420,
|
|
0x04411031,
|
|
0x22f082a0,
|
|
0x26514094,
|
|
0x3182c022,
|
|
0x91310021,
|
|
0x3963b110,
|
|
0x04411031,
|
|
0x3182c082,
|
|
0x91310021,
|
|
0x3963b110,
|
|
0xc0a21031,
|
|
0x00213182,
|
|
0xb1109131,
|
|
0x31151050,
|
|
0x92551405,
|
|
0x64677000,
|
|
0x1031c2b2,
|
|
0x31610631,
|
|
0x646a02c1,
|
|
0x1031c112,
|
|
0x06713921,
|
|
0x02e13151,
|
|
0x7000646a,
|
|
0x82b16464,
|
|
0x39813181,
|
|
0x646ac0e2,
|
|
0xc1116467,
|
|
0x646ac122,
|
|
0x68c7c470,
|
|
0xc0c2c111,
|
|
0x64e0646a,
|
|
0x700064f3,
|
|
0x82b1647c,
|
|
0x39813181,
|
|
0x6482c182,
|
|
0xc111647f,
|
|
0x6482c0a2,
|
|
0x68d9c470,
|
|
0xc162c331,
|
|
0x64e06482,
|
|
0x700064f3,
|
|
0xb054b050,
|
|
0x80407100,
|
|
0x44ed2240,
|
|
0x40e02200,
|
|
0x8081b060,
|
|
0x44e01e11,
|
|
0xa0547000,
|
|
0x80f0b064,
|
|
0x40e02200,
|
|
0x12407000,
|
|
0xb03290b0,
|
|
0x395382a3,
|
|
0x64ad3953,
|
|
0x68fbc2f0,
|
|
0xc1f18080,
|
|
0xc1510410,
|
|
0x41071c10,
|
|
0xc2216467,
|
|
0x646ac0c2,
|
|
0x647f610b,
|
|
0xc162c441,
|
|
0xce306482,
|
|
0x1280690c,
|
|
0xb03290b0,
|
|
0x64677000,
|
|
0xc0c2c201,
|
|
0x80a0646a,
|
|
0x39403180,
|
|
0xc1016918,
|
|
0x646ac0c2,
|
|
0xc122c101,
|
|
0x82a3646a,
|
|
0x12c064ad,
|
|
0xb03290b0,
|
|
0x647f7000,
|
|
0xc162c401,
|
|
0x80a06482,
|
|
0x39403180,
|
|
0xc301692c,
|
|
0x6482c162,
|
|
0xc0a2c101,
|
|
0x82a36482,
|
|
0x12c064ad,
|
|
0xb03290b0,
|
|
0x64677000,
|
|
0xc081c272,
|
|
0xc122646a,
|
|
0x646ac111,
|
|
0xc111c002,
|
|
0xc062646a,
|
|
0x646ac331,
|
|
0xc111c362,
|
|
0xc302646a,
|
|
0x646ac111,
|
|
0x395382a3,
|
|
0xc3e264ad,
|
|
0x2211646f,
|
|
0xc242414f,
|
|
0x646ac881,
|
|
0xc111c252,
|
|
0xc272646a,
|
|
0x646acee1,
|
|
0xc881c202,
|
|
0xc202646a,
|
|
0x646ac801,
|
|
0x6963c170,
|
|
0x64677000,
|
|
0xc801c242,
|
|
0xc252646a,
|
|
0x646ac011,
|
|
0xc0e1c272,
|
|
0xc002646a,
|
|
0x646ac101,
|
|
0xc301c062,
|
|
0xc122646a,
|
|
0x646ac101,
|
|
0xc101c362,
|
|
0xc302646a,
|
|
0x646ac101,
|
|
0x64ad82a3,
|
|
0x80817000,
|
|
0x418f1e11,
|
|
0xb054b050,
|
|
0x80407100,
|
|
0x41902240,
|
|
0xb064a054,
|
|
0x220180f1,
|
|
0x70004584,
|
|
0x41842200,
|
|
0x6181b060,
|
|
0x72057306,
|
|
0x720e720b,
|
|
0x7100b050,
|
|
0xa050b060,
|
|
0x80928081,
|
|
0x45b32241,
|
|
0xc1f18080,
|
|
0x16300410,
|
|
0x14011101,
|
|
0x61c66c01,
|
|
0x61c661c6,
|
|
0x61c661c6,
|
|
0x61e661c6,
|
|
0x61e661c6,
|
|
0x61c661c6,
|
|
0x809161c6,
|
|
0x0421c0f2,
|
|
0x80823121,
|
|
0x14122a42,
|
|
0x11011632,
|
|
0x6c011421,
|
|
0x61c661cf,
|
|
0x61c661cf,
|
|
0x61c661c6,
|
|
0x61c661c6,
|
|
0x61c861c8,
|
|
0x61cbb0b0,
|
|
0x7306b0b1,
|
|
0xb0307205,
|
|
0x78206198,
|
|
0x78427831,
|
|
0x78547873,
|
|
0x78667885,
|
|
0x92719260,
|
|
0x92939282,
|
|
0x92b592a4,
|
|
0xc01f91a6,
|
|
0x3940924f,
|
|
0x100106f0,
|
|
0x14103110,
|
|
0x61c89250,
|
|
0xcff0b060,
|
|
0x66306793,
|
|
0xb0e16624,
|
|
0xb054b050,
|
|
0x8262b064,
|
|
0x39823182,
|
|
0x64873942,
|
|
0x7100b0e1,
|
|
0x22008040,
|
|
0xb0644621,
|
|
0x225280f2,
|
|
0x22224611,
|
|
0x22324608,
|
|
0x1e02460f,
|
|
0xdfe041f5,
|
|
0x67939342,
|
|
0x61f56511,
|
|
0x663f663a,
|
|
0x80f0b064,
|
|
0x46112250,
|
|
0x663561f5,
|
|
0xcfd061f5,
|
|
0xa0546793,
|
|
0xa050b064,
|
|
0xa052b060,
|
|
0xa053b062,
|
|
0x6565b063,
|
|
0xcfc06511,
|
|
0x720e6793,
|
|
0xcfb061c8,
|
|
0x62116793,
|
|
0x82b16464,
|
|
0x39813181,
|
|
0x646ac0e2,
|
|
0xc1116467,
|
|
0x646ac122,
|
|
0x700064f3,
|
|
0x70006539,
|
|
0x70006511,
|
|
0x64676565,
|
|
0xc0c2c111,
|
|
0x7000646a,
|
|
0xc1016467,
|
|
0x646ac0c2,
|
|
0xc8007000,
|
|
0x81a991b0,
|
|
0x8091b050,
|
|
0x46b02241,
|
|
0x31828262,
|
|
0x39423982,
|
|
0x82626487,
|
|
0x102f06f2,
|
|
0x142f311f,
|
|
0x22d68266,
|
|
0xc1404655,
|
|
0xc5006256,
|
|
0x6f0d1420,
|
|
0x10de396d,
|
|
0x044ec3f4,
|
|
0x3182c082,
|
|
0x396d002e,
|
|
0x3182c0a2,
|
|
0x826a002d,
|
|
0x06fa398a,
|
|
0x31808270,
|
|
0xc00b3980,
|
|
0x10bc180b,
|
|
0x825318ac,
|
|
0x149b1439,
|
|
0x06f08260,
|
|
0x31101001,
|
|
0x81a11410,
|
|
0x140c1410,
|
|
0x46ea22c6,
|
|
0x39408280,
|
|
0x100206f0,
|
|
0x3001c011,
|
|
0x1801c010,
|
|
0x31821802,
|
|
0x26c10021,
|
|
0xb00391e1,
|
|
0xb063b013,
|
|
0x8041b053,
|
|
0x46e12201,
|
|
0x92148204,
|
|
0x1cb58225,
|
|
0x18954e99,
|
|
0x80f091b5,
|
|
0x428b2240,
|
|
0x913d62ae,
|
|
0x913eb110,
|
|
0x80e0b110,
|
|
0x46a32200,
|
|
0x42a322e6,
|
|
0x1895b0e0,
|
|
0x925f91b5,
|
|
0x14f981a9,
|
|
0x225080f0,
|
|
0x224046e1,
|
|
0x637646ae,
|
|
0x6793cfa0,
|
|
0xa052b063,
|
|
0xc0f28280,
|
|
0x10020420,
|
|
0x3001c011,
|
|
0x1801c010,
|
|
0x31821802,
|
|
0x26c10021,
|
|
0x720e91e1,
|
|
0xb01391e1,
|
|
0xb063b003,
|
|
0xb064b053,
|
|
0x7100b054,
|
|
0x22018041,
|
|
0xb06346e1,
|
|
0x80f0b064,
|
|
0x42e12220,
|
|
0x92118201,
|
|
0x18918221,
|
|
0xb03191b1,
|
|
0x674e62c7,
|
|
0x81a9a0e0,
|
|
0x14598255,
|
|
0x7100c080,
|
|
0x6addb063,
|
|
0xb0e6628b,
|
|
0xa053a052,
|
|
0x81b28251,
|
|
0x3d823182,
|
|
0x7000a003,
|
|
0x39478287,
|
|
0x82803987,
|
|
0x06f03980,
|
|
0xc0111002,
|
|
0xc0103001,
|
|
0x18021801,
|
|
0x00213182,
|
|
0x91d126c1,
|
|
0xb012b002,
|
|
0x39408280,
|
|
0x100206f0,
|
|
0x3001c011,
|
|
0x1801c010,
|
|
0x31821802,
|
|
0x26c10021,
|
|
0xb00391e1,
|
|
0xb063b013,
|
|
0x7100b053,
|
|
0xb062a053,
|
|
0x8041b052,
|
|
0x46e12201,
|
|
0x921481f4,
|
|
0x82048225,
|
|
0x4f201cb5,
|
|
0x91b51895,
|
|
0x224080f0,
|
|
0x62ae4311,
|
|
0x92148204,
|
|
0x10408224,
|
|
0x91b01890,
|
|
0x1c751845,
|
|
0x80f04f2d,
|
|
0x43112240,
|
|
0x913d62ae,
|
|
0x913eb110,
|
|
0x80e0b110,
|
|
0x47372200,
|
|
0x433722e6,
|
|
0x91b5b0e0,
|
|
0x81a9925f,
|
|
0x80f014f9,
|
|
0x463f2250,
|
|
0x46ae2240,
|
|
0x674e6355,
|
|
0x81a9a0e0,
|
|
0x14598255,
|
|
0x7100c140,
|
|
0x6b47b062,
|
|
0x80a26311,
|
|
0x61c86487,
|
|
0x39428262,
|
|
0x608706f2,
|
|
0x7100b050,
|
|
0x829061c8,
|
|
0x22018041,
|
|
0x81f446e1,
|
|
0x82259214,
|
|
0x91b51895,
|
|
0x224180f1,
|
|
0x6b5646ae,
|
|
0x318181b1,
|
|
0xdf903d81,
|
|
0x67939341,
|
|
0x22018041,
|
|
0x81f446e1,
|
|
0x82259214,
|
|
0x4b411cc5,
|
|
0x91b51895,
|
|
0x224080f0,
|
|
0x62ae4362,
|
|
0x6793cf80,
|
|
0x80418290,
|
|
0x46e12201,
|
|
0x92148204,
|
|
0x18958225,
|
|
0x80f191b5,
|
|
0x46ae2241,
|
|
0x80416b79,
|
|
0x46e12201,
|
|
0x92148204,
|
|
0x1cc58225,
|
|
0x18954ad7,
|
|
0x80f091b5,
|
|
0x43852240,
|
|
0x933062ae,
|
|
0x22008320,
|
|
0xb3104794,
|
|
0x00007000
|
|
};
|
|
|
|
PATCH_FUN_SPEC void rf_patch_rfe_tof(void)
|
|
{
|
|
#ifdef __PATCH_NO_UNROLLING
|
|
uint32_t i;
|
|
for (i = 0; i < 461; i++) {
|
|
HWREG(RFC_RFERAM_BASE + 4 * i) = patchTofRfe[i];
|
|
}
|
|
#else
|
|
const uint32_t *pS = patchTofRfe;
|
|
volatile unsigned long *pD = &HWREG(RFC_RFERAM_BASE);
|
|
uint32_t t1, t2, t3, t4, t5, t6, t7, t8;
|
|
uint32_t nIterations = 57;
|
|
|
|
do {
|
|
t1 = *pS++;
|
|
t2 = *pS++;
|
|
t3 = *pS++;
|
|
t4 = *pS++;
|
|
t5 = *pS++;
|
|
t6 = *pS++;
|
|
t7 = *pS++;
|
|
t8 = *pS++;
|
|
*pD++ = t1;
|
|
*pD++ = t2;
|
|
*pD++ = t3;
|
|
*pD++ = t4;
|
|
*pD++ = t5;
|
|
*pD++ = t6;
|
|
*pD++ = t7;
|
|
*pD++ = t8;
|
|
} while (--nIterations);
|
|
|
|
t1 = *pS++;
|
|
t2 = *pS++;
|
|
t3 = *pS++;
|
|
t4 = *pS++;
|
|
t5 = *pS++;
|
|
*pD++ = t1;
|
|
*pD++ = t2;
|
|
*pD++ = t3;
|
|
*pD++ = t4;
|
|
*pD++ = t5;
|
|
#endif
|
|
}
|
|
|
|
#endif
|