| /****************************************************************************** |
| * Filename: rf_patch_mce_tof.h |
| * Revised: $Date: 2019-01-31 15:04:59 +0100 (to, 31 jan 2019) $ |
| * Revision: $Revision: 18843 $ |
| * |
| * Description: RF core MCE 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_MCE_TOF_H |
| #define _RF_PATCH_MCE_TOF_H |
| |
| #include <stdint.h> |
| #include "../inc/hw_types.h" |
| |
| #ifndef MCE_PATCH_TYPE |
| #define MCE_PATCH_TYPE static const uint32_t |
| #endif |
| |
| #ifndef PATCH_FUN_SPEC |
| #define PATCH_FUN_SPEC static inline |
| #endif |
| |
| #ifndef RFC_MCERAM_BASE |
| #define RFC_MCERAM_BASE 0x21008000 |
| #endif |
| |
| #ifndef MCE_PATCH_MODE |
| #define MCE_PATCH_MODE 0 |
| #endif |
| |
| MCE_PATCH_TYPE patchTofMce[506] = { |
| 0x0003605b, |
| 0x00f1000f, |
| 0x00000000, |
| 0x000c8000, |
| 0x00000000, |
| 0x0c650000, |
| 0x80000000, |
| 0x00800010, |
| 0x00000000, |
| 0x0594091e, |
| 0x00000350, |
| 0x7c200000, |
| 0x000000c2, |
| 0x34340013, |
| 0x0003005a, |
| 0x00000032, |
| 0xfe6b2840, |
| 0xdeade8ca, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x00000000, |
| 0x07d00011, |
| 0x6fdd2fea, |
| 0x0fb00ff0, |
| 0xf80f0003, |
| 0x007f7f30, |
| 0x3434001f, |
| 0x8010005a, |
| 0x01900000, |
| 0x40000800, |
| 0xc0300c65, |
| 0x722367ee, |
| 0xa35d7263, |
| 0x73057303, |
| 0x73047203, |
| 0x72047306, |
| 0x72917391, |
| 0x8001c7c0, |
| 0x90010001, |
| 0x08019010, |
| 0x720d9001, |
| 0x720f720e, |
| 0xb0d07210, |
| 0xc0407100, |
| 0xa0d067ee, |
| 0x721bb110, |
| 0x10208162, |
| 0x06703952, |
| 0x16300020, |
| 0x14011101, |
| 0x60936c01, |
| 0x60c260a4, |
| 0x6219617b, |
| 0x60936093, |
| 0x60936093, |
| 0x60c260a4, |
| 0x6219617b, |
| 0x60936093, |
| 0x60976093, |
| 0x12206095, |
| 0xc050609a, |
| 0x121267ee, |
| 0x73117223, |
| 0x73137312, |
| 0x81b17314, |
| 0x91b20012, |
| 0x6073b070, |
| 0xc2b2c011, |
| 0x1820c710, |
| 0x6e236f13, |
| 0x16121611, |
| 0x7d7068a8, |
| 0xc0229990, |
| 0x39818161, |
| 0xd0601812, |
| 0x67ee9a12, |
| 0x40971e01, |
| 0x99907d80, |
| 0x93807d50, |
| 0x93307d60, |
| 0x93007d90, |
| 0x6097b360, |
| 0xc07067e5, |
| 0x677e67ee, |
| 0x91f0c070, |
| 0x670bb750, |
| 0xb233b914, |
| 0xa750672d, |
| 0x95b488d4, |
| 0x95c488e4, |
| 0x95948ca4, |
| 0x95a487c4, |
| 0x2a007cb0, |
| 0x88d49060, |
| 0x88e495d4, |
| 0xc0f495e4, |
| 0x91449134, |
| 0x22008c80, |
| 0xb0f040e5, |
| 0xb0f6b130, |
| 0xb0d5b0d0, |
| 0xb110b136, |
| 0xb140b100, |
| 0x73137314, |
| 0x2a007cb0, |
| 0xc0f19060, |
| 0x40f51e0e, |
| 0x99311611, |
| 0xc037b912, |
| 0xb115b041, |
| 0xa910c031, |
| 0xb0737100, |
| 0xba3eb910, |
| 0x22008090, |
| 0x80b24574, |
| 0x45182262, |
| 0x220280c2, |
| 0xb061410b, |
| 0x2250b140, |
| 0x824040f9, |
| 0x45152200, |
| 0x40f9220f, |
| 0x679e100f, |
| 0x100f60f9, |
| 0x60f967b4, |
| 0xb234a913, |
| 0x93acba39, |
| 0xa0d58462, |
| 0xb0d1720f, |
| 0x7100b111, |
| 0xb1119937, |
| 0xb35d7100, |
| 0x9930c3f0, |
| 0xc0d0b074, |
| 0x894193f0, |
| 0x67bf9791, |
| 0x14018941, |
| 0x7100b111, |
| 0xba3aba3b, |
| 0xc210b078, |
| 0xa2329930, |
| 0xb111b235, |
| 0xa35d7100, |
| 0x7291b06e, |
| 0x8af2a0d1, |
| 0x3d823182, |
| 0x67eec080, |
| 0x8c528c33, |
| 0x8c441423, |
| 0x14248c62, |
| 0x06f28b32, |
| 0x31418b21, |
| 0x97a20012, |
| 0x0424cff2, |
| 0x31433143, |
| 0x97b40034, |
| 0x6957c8f0, |
| 0xb130b235, |
| 0xb136a0f0, |
| 0xb140a0f6, |
| 0xb914a100, |
| 0xa7507291, |
| 0xa002a003, |
| 0x9010c7c0, |
| 0x72047203, |
| 0x73067305, |
| 0xa23267e5, |
| 0x8242b235, |
| 0x456b1e02, |
| 0xc0907223, |
| 0x609767ee, |
| 0xa232b235, |
| 0xd0a08942, |
| 0x67ee9a12, |
| 0x67e56159, |
| 0x677ec00f, |
| 0x91f0c070, |
| 0xc0b0670b, |
| 0xb01367ee, |
| 0x22008c80, |
| 0xb0f04189, |
| 0xb0f6b130, |
| 0xb0d5b0d0, |
| 0xb136b111, |
| 0x72917313, |
| 0xc0e1b912, |
| 0x41951e0e, |
| 0x99311611, |
| 0xb041c037, |
| 0xc031b232, |
| 0xb115a910, |
| 0xb0737100, |
| 0xba3eb910, |
| 0x22008090, |
| 0x80b24614, |
| 0x45b32262, |
| 0x41992250, |
| 0x22008240, |
| 0x220f45b0, |
| 0x100f4199, |
| 0x6199679e, |
| 0x67b4100f, |
| 0xb9136199, |
| 0xba39b234, |
| 0xa0d593ac, |
| 0x7313720f, |
| 0x73147210, |
| 0x264081b0, |
| 0xb0d191b0, |
| 0x7100b111, |
| 0x9937b041, |
| 0x7100b111, |
| 0xc3f0b35d, |
| 0xb0749930, |
| 0x93f0c0d0, |
| 0x7100b111, |
| 0xc210b078, |
| 0xa2329930, |
| 0x7100b111, |
| 0xb06ea35d, |
| 0xa0d1a910, |
| 0x899167bf, |
| 0x81a01401, |
| 0x99311401, |
| 0xb0d6b116, |
| 0xb1167100, |
| 0x8090a0d6, |
| 0x46142200, |
| 0x88d4b012, |
| 0x88e495b4, |
| 0x8ca495c4, |
| 0x87c49594, |
| 0x729195a4, |
| 0x2a208230, |
| 0x92302630, |
| 0xc070672d, |
| 0x8af287b1, |
| 0x3d823182, |
| 0x69fbc310, |
| 0xb111b064, |
| 0xa0f6b136, |
| 0xa0f0b130, |
| 0x8242b235, |
| 0x46021e02, |
| 0x7291b914, |
| 0xa002a003, |
| 0x9010c7c0, |
| 0x72047203, |
| 0x73067305, |
| 0x67eec0c0, |
| 0x609767e5, |
| 0x67eec0d0, |
| 0x7291b235, |
| 0x677e6202, |
| 0xc070c00b, |
| 0x670b91f0, |
| 0x67eec0e0, |
| 0x727ab914, |
| 0xb0137226, |
| 0x73147313, |
| 0x8c8072c9, |
| 0x422d2200, |
| 0xb130b0f0, |
| 0x85b06231, |
| 0x95d085c1, |
| 0xb10095e1, |
| 0xb110b140, |
| 0xb0f6b064, |
| 0xb0d5b0d0, |
| 0x7313b136, |
| 0xb041b061, |
| 0x42411e1b, |
| 0xb9127291, |
| 0xc13772c9, |
| 0x1e0ec070, |
| 0x16104247, |
| 0x9930c0b7, |
| 0xb115b232, |
| 0xa910c031, |
| 0xb0737100, |
| 0xba3eb910, |
| 0x22008090, |
| 0x80b24705, |
| 0x46682262, |
| 0x220280c2, |
| 0xb061425b, |
| 0x2250b140, |
| 0x82404249, |
| 0x46652200, |
| 0x4249220f, |
| 0x679e100f, |
| 0x100f6249, |
| 0x624967b4, |
| 0x1e1bb234, |
| 0xa9154285, |
| 0xb913b916, |
| 0x8b33ba3b, |
| 0x8b2406f3, |
| 0x00433144, |
| 0x8c3397a3, |
| 0x14038c50, |
| 0x8c448c60, |
| 0x31431404, |
| 0x00343143, |
| 0x81b097b4, |
| 0x91b02650, |
| 0x67eec0f0, |
| 0xa91362bf, |
| 0x264081b0, |
| 0x993791b0, |
| 0x93acba39, |
| 0x720fa0d5, |
| 0xb111b0d1, |
| 0x7100b111, |
| 0xc3e0b35d, |
| 0xb0749930, |
| 0x93f0c0d0, |
| 0x97918941, |
| 0xb11167bf, |
| 0xb0787100, |
| 0x9930c210, |
| 0xb235a232, |
| 0x7100b111, |
| 0xb06ea35d, |
| 0xa0d17291, |
| 0x31828af2, |
| 0xba3b3d82, |
| 0x06f38b33, |
| 0x31448b24, |
| 0x92630043, |
| 0x8c508c33, |
| 0x8c601403, |
| 0x14048c44, |
| 0x31433143, |
| 0x97b40034, |
| 0x6abdc8f0, |
| 0xbc9062e3, |
| 0x95b488d4, |
| 0x95c488e4, |
| 0x95948ca4, |
| 0x95a487c4, |
| 0x85b0c01b, |
| 0x95d085c1, |
| 0x731195e1, |
| 0x73137312, |
| 0xb1007314, |
| 0xb0f6b140, |
| 0xb110b136, |
| 0xa232b064, |
| 0x22628242, |
| 0x722342d7, |
| 0xb115b064, |
| 0xc410b232, |
| 0x679e6ae0, |
| 0xb2356249, |
| 0xa100b140, |
| 0xa0f6b136, |
| 0x7291b914, |
| 0xa003a750, |
| 0xc7c0a002, |
| 0x72039010, |
| 0x73057204, |
| 0x73117306, |
| 0x73137312, |
| 0x720f7314, |
| 0x7210720d, |
| 0x7223720e, |
| 0xb235a232, |
| 0x1e028242, |
| 0x722346fc, |
| 0x67eec100, |
| 0xc1106097, |
| 0xb23567ee, |
| 0x8942a232, |
| 0x824262e4, |
| 0x430b2212, |
| 0xb016b006, |
| 0xb002b012, |
| 0xb014b004, |
| 0x90307ca0, |
| 0x7cb09050, |
| 0x90609040, |
| 0x73127311, |
| 0x73147313, |
| 0x720e720d, |
| 0x7210720f, |
| 0xb0e1b121, |
| 0xb0727100, |
| 0xd680a0e1, |
| 0x679e6b28, |
| 0x93f0c090, |
| 0xbc907000, |
| 0x9930c040, |
| 0xb910b911, |
| 0xb111b0d1, |
| 0x72917100, |
| 0xb111a0d1, |
| 0x9635722c, |
| 0xc0f38c82, |
| 0xb013b003, |
| 0x92c08170, |
| 0x96408190, |
| 0xb120b0e0, |
| 0x22027100, |
| 0x85b04750, |
| 0x92c39640, |
| 0x7100b120, |
| 0x964085c0, |
| 0x7100b120, |
| 0x96408590, |
| 0xb12092c3, |
| 0x85a07100, |
| 0xb1209640, |
| 0x8cb07100, |
| 0x0410cff1, |
| 0xb1209640, |
| 0x96367100, |
| 0x9930c040, |
| 0xb910b911, |
| 0xb111b0d1, |
| 0xb120a0e0, |
| 0x72917100, |
| 0xb111a0d1, |
| 0x1e108750, |
| 0xb2354371, |
| 0xa9156378, |
| 0xb913b916, |
| 0x2a308230, |
| 0x92302620, |
| 0x6b79c090, |
| 0xc120ac90, |
| 0x700067ee, |
| 0x721b7223, |
| 0x92c0c0f0, |
| 0xc1f1722f, |
| 0xc01592d1, |
| 0x7c977c86, |
| 0x8c807ccc, |
| 0x43912200, |
| 0x94407cf0, |
| 0x94607d10, |
| 0x7d206393, |
| 0xac909440, |
| 0xc1009636, |
| 0x816e91e0, |
| 0xc01d398e, |
| 0x439d1e0e, |
| 0x7000c03d, |
| 0x726a7269, |
| 0xb0537ce2, |
| 0xc76093a2, |
| 0x73a36ba4, |
| 0x96908a40, |
| 0x96a18a51, |
| 0x7cd093a6, |
| 0x8a4393a0, |
| 0x31338a54, |
| 0x31343d33, |
| 0x70003d34, |
| 0x8a439a31, |
| 0x31338a54, |
| 0x31343d63, |
| 0x96933d64, |
| 0xb05396a4, |
| 0x1e0e7000, |
| 0x8c3143d6, |
| 0x18108c40, |
| 0xc0024fd0, |
| 0x161110d1, |
| 0x16201812, |
| 0x1c203d20, |
| 0x10204fe4, |
| 0x63e41610, |
| 0x3d201620, |
| 0x4be41cd0, |
| 0x63e410d0, |
| 0xc082c000, |
| 0x8c448c33, |
| 0x1c241834, |
| 0x14424fe0, |
| 0x63e44be2, |
| 0x63e410d0, |
| 0x18d0c000, |
| 0x720d7000, |
| 0x720f720e, |
| 0x73117210, |
| 0x73137312, |
| 0x70007314, |
| 0x89f09a00, |
| 0x47ef2200, |
| 0x7000b9e0 |
| }; |
| |
| PATCH_FUN_SPEC void rf_patch_mce_tof(void) |
| { |
| #ifdef __PATCH_NO_UNROLLING |
| uint32_t i; |
| for (i = 0; i < 506; i++) { |
| HWREG(RFC_MCERAM_BASE + 4 * i) = patchTofMce[i]; |
| } |
| #else |
| const uint32_t *pS = patchTofMce; |
| volatile unsigned long *pD = &HWREG(RFC_MCERAM_BASE); |
| uint32_t t1, t2, t3, t4, t5, t6, t7, t8; |
| uint32_t nIterations = 63; |
| |
| 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++; |
| *pD++ = t1; |
| *pD++ = t2; |
| #endif |
| } |
| |
| #endif |