<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <style type="text/css">
         body {
            font-family: Arial;
            font-size: 14px;
         }
         h2 {
            background: #ff0000;
            margin-top:0px;
            padding-top:3px;
            padding-bottom: 2px;
            padding-left:6px;
            color: white;
            font-size: 16px;
         }
         footer {
            width:100%;
            height:15px;
            bottom:0;
            left:0;
            background:#ddd;
            font-size:12px;
         }
         div.release-container {
            border: 1px solid #ccc;
            margin-bottom: 20px;
         }
         div.content-container {
            padding: 0px 5px 5px 5px;
         }
         td {
            font-family: Arial;
            font-size: 13px;
         }
         td.keyword_name {
            font-weight: bold;
            padding-left: 30px;
            padding-right: 20px;
            padding-top: 0px;
            padding-bottom: 0px;
         }
         td.keyword_desc {
         }
      </style>
      <title>Release notes for driverlib_cc13xx_cc26xx</title>
   </head>
   <body>
   <table width="100%">
   <tbody>
      <tr>
         <td bgcolor="black" width="222px" style="padding: 0px;">
            <a href="http://www.ti.com">
               <img src="data:image/gif;base64,R0lGODlh3gA2AKIAAAAAAP///7u7u29vbz8/PwYGBujo6BgYGCH5BAAAAAAALAAAAADeADYAAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqPyKRyyWw6n9CodHorDALYLIHKJVqz2q44eAUHtoDB4DBu48rgLQErcNtnX7NhMDcICIB3gix5ZmtqAAZZew8EAo+QkQIDNVZqiIM1cHGKZ4YPAmaiAWw0c1gFmZqjB3SbZ6kNe6WhsAeOlDV0qjSFAXUAp7lwuREFtVsFgMvLB7fNAM+BCs+lDLd8BNYOuxfV22PL0RiWlwO1u3kDqejAEsjR6GB86FsHoYwA6gxWnVgGEegUuIelWJk6jswAGlXQ36J1xBSoQwfulIEDr/6l+VeK/+AehrAGOHRnAWRBbbWegckXAV6wk4AeRQtDQBEaBYsYlMl2hUCsBt0iKgilT9EfAlfO7SmzdKkrkQUT/fqZSECqLCSlntH375IAA1tqGUilLIBSNVnU+NmJNBRVChlF1QwAdlRWBy5P3QymwCLBYhs73cTHYBq3X33nDQ2wcWuBgef0FRD4GK3jU3VCZZUJAIw1OGg0P+4bFiubOWoOsEP1+KvZn3wurDbZ6lfcuw3yYkFjRSeYzRe7ARAbW0K3PmGIMi0OFDG1Mmha+RnufAHn3xL9ha6uTZ/rXagZ1GKAtTsHeWb+FEQvHILuX4+mLzj2j2r4TrFesTwMbE5Cuv8JzbTSGuRV1xgfUJFC3WbA0JWFalcItpgf8YU2yT/qATaedent5cBb8zk0DzIitgfKbonRFV9Wp2xl3UXq5Ccibp05598BnRigiAIJmrZAexkJQIuBwzX4CB3SQbeYQkPVAUco63DI2HzsAdYAiAvEZdYlaVQ5wXs3+bQAjovEUoBRR9LVAFLaPXCcY/KMqVRasQB5kiJgLcYgTkJiuCWKC2ZpIY/z/LRhYefkBAGW1HTyRy2UjObLHxSAOZ948EUVGCSC3SLZbB7iZKOLc2GRRgMH/VhdHnJwFCgD8iEGx0VKvpqbO+hoaCppEg3UiTES1CTkhNaQ+Qs4LQGql07/lET4mIQ6SvTSVGZ9Bmhz/bkYzK+PFKtpje6wumRm1wrLZzSdQASoZvyswdmSuk7p616HfkjBTxZBQucFgqXCFKdn1NpiUlQJhs8kteBWG0AbATbXS2tBlaeoVkmJRova4KkGPmhMFdiSYmq8cbTRYhrlkiHaNufJ9mIgVqEXnAOJM5JE4sgjudQ8bF82x+cKBP4Iiedecyjgx2/WtMNjjhcL9h+S4xq9RYJgsbeeUbmdrPTSQbPccsyijEXOfI8xyuinVJH1wdkS/MQ2Bc5Iq08DyHYwGglvPyCilbz0fa8GLV7r9+Btb7CJ14Qnzg8HpdKoOOF5Py752JNXvrblNphzEHnmnF/a+ecTbA465qKPXnnppkuOeuqKr8465K+z7nrsfc9Ouyq23z5I7rrfwXvvbhSQAAA7" alt="Texas Instruments" border="0">
            </a>
         </td>
         <td bgcolor="red">
            <img src="data:image/gif;base64,R0lGODlhOgEaALMAAP8AAP////92dv+3t/+Njf/W1v/t7f8hIf/19f+jo//Hx/8/P/9cXP/j4//6+v/+/iH5BAAAAAAALAAAAAA6ARoAAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/IpHLJbDqft0NDMCBQodis1jcADBKE7nYcCpjPgU5AQBKkVYOHAeRudqtXsh60/vRHdSoBBCGBNAkLe4o4f2psgG8pjR6GM5OLmDB/DA0GBoQADAgICRIBBQUOYgwGCg2kEgudBgUHAIGcBg0MsZ0NCnMGYgsBtqEGAbCynrW3AQONgcIFBgiErK6wAAfUtLbCscWiowoAyLDczLZu0AIJCAYOoJn0G38ObAwPEvLEts/O1vUhsA8AAjGonEmA9W6hGAVpEjiQoKBAhT8HJSRkVyEQQAAJ//a5YeMPQIFyACqCnJjSIgFCB4oB+HOSokWOAB6wIWCxnk8MfYh5QsYg5sVHfQLVMSqhztJIxWIaC6QzJy8KfZgqrNT0zR+nUNl8fSMvZ6IDwJCJRfoI7IR4Cub9nDsha6RwR02xUZpGq1utUWUq9FKgYV6/abgOHjt45tquEgY0SDDHoJg+fxhXolKNrmfH/EoR5EdAKmjQfB1qvPmGIQIJ3g4gC2egVF7LqxtP8Ng2cViTKFUCIGbNFKEEmB/VbDlYdqLRn+du8oTg6jjbmfe+CbTM2+BcuySgbQVtQoOCt7s3U8wbsqGs3ZppZLnylwFe8Uql825ogANPckUnYDoOCogxQGXADajggjcw4AA8DSSyTQASMmjhhTQscBWGHHbo4YcghijiiCSWaOKJKKao4oostugiFBEAADs=" alt="Technology for Innovators" border="0">
         </td>
      </tr>
   </tbody>
   </table>
      <h1>Release notes for driverlib_cc13xx_cc26xx</h1>
         Keyword used to group changes done:
         <table>
            <tr>        <td class="keyword_name">[RF_API]      </td> <td class="keyword_desc">RF Application interface        </td>
            </tr><tr>   <td class="keyword_name">[RF_PATCH]    </td> <td class="keyword_desc">RF Patches                      </td>
            </tr><tr>   <td class="keyword_name">[RF_SETTING]  </td> <td class="keyword_desc">RF Settings                     </td>
            </tr><tr>   <td class="keyword_name">[HW_INC]      </td> <td class="keyword_desc">Hardware interface description  </td>
            </tr><tr>   <td class="keyword_name">[DRV_API]     </td> <td class="keyword_desc">Driverlib Application interface </td>
            </tr><tr>   <td class="keyword_name">[DRV_SRC]     </td> <td class="keyword_desc">Driverlib source code           </td>
            </tr><tr>   <td class="keyword_name">[DRV_DOC]     </td> <td class="keyword_desc">Driverlib documentation         </td>
            </tr><tr>   <td class="keyword_name">[DRV_LIB]     </td> <td class="keyword_desc">Prebuilt libraries              </td>
            </tr><tr>   <td class="keyword_name">              </td> <td class="keyword_desc">                                </td>
            </tr>
         </table>

      <!-- Start of driverlib_cc13xx_cc26xx entry -->
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_06_18894</h2>
         <div class="content-container">
            Release date: Feb 27, 2019 <br>

            <h3>New features</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] CC13X2P/R, CC26X2:</strong> CPE patches had equal NWORD definitions, which this update fixes.</li>
                  <li><strong>[RF_PATCH] CC13X2P/R, CC26X2:</strong> Updated BLE patches due to BLE tester failure.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong> Updated BLE patches due to BLE tester failure.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_05_18873</h2>
         <div class="content-container">
            Release date: Feb 15, 2019 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[DRV_API] OSC:</strong> New API functions called OSC_IsHPOSCEnabledWithHfDerivedLfClock() and OSC_HPOSCRtcCompensate()have been added for support of future device variant with HPOSC.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_04_18846</h2>
         <div class="content-container">
            Release date: Jan 31, 2019 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC26x0R2</strong></li>
                   <strong>CC26x0</strong> <br>
                   <strong>CC13x0</strong> <br>
               <ul>
                  <li><strong>[DRV_API] AES:</strong> New API for AES crypto functions has been added by the aes.c and aes.h files.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC13X2R, CC13X2P, CC26X2:</strong> Multiprotocol patch including RTLS, implementing AoA/AoD for Bluetooth 5.1 and time-of-flight.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2:</strong> Bug fix for Bluetooth CTE generic RX.</li>
                  <li><strong>[RF_PATCH] CC2640R2:</strong> Updated time-of-flight patches (MCE, RFE and CPE) for CC2640R2, including new commandNo, fix for double buffer and removal of STIM compensation.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_03_18798</h2>
         <div class="content-container">
            Release date: Dec 06, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_API] I2S:</strong> New static inline API function called I2SWclkCounterReset() has been added.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[DRV_SRC] OSC:</strong> Support for future device variant with HPOSC has been added.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[DRV_SRC] CCFG:</strong> Default IPEAK setting changed to 0 for optimized power consumption.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[DRV_SRC]:</strong> Corrected handling of VDDR boost mode. Boost mode can be enabled in CCFG.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong> Bugfix regarding BLE CTE GRX CPE patch, there was a missing include in the Makefile which caused the patch not to function.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_02_18760</h2>
         <div class="content-container">
            Release date: Nov 02, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_API] I2S:</strong> New API has been added. Legacy API is marked as deprecated. </li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] CC13X2, CC26X2:</strong> Release of IQ-dump patch.</li>
                  <li><strong>[RF_PATCH] CC26X2:</strong> API definitions needed for HPOSC support.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong> Updated time of flight (ToF) patches. Includes bug and stability fixes, STIM and correlation compensation integration and features which reduce RAM usage for the system. UserFunAddr = 0x21000914 for this CPE patch.</li>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong> Release of patches for AoA support using constant tone extension (CTE).</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[DRV_API]:</strong> The rom.h file contains defines with wrong AUXIOn indexes.</li>
                  <li><strong>[RF_PATCH] CC1352P, CC1352R, CC2652R:</strong> Bug fix regarding RSSI value read-out for 1 and 2 Mbps BLE and Multi.</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC1350, CC1310:</strong> A bug was found in the release script, which resulted in the patches not being cleaned properly before export. This caused the CS bug fix to not be up to date. This update includes the latest fixes in the CC13x0 related to the CS fix in prop CPE patches.</li>
                  <li><strong>[RF_PATCH] CC1350, CC1310:</strong> Updated wireless M-bus CT mode MCE patch. This patch includes two bug-fixes.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_01_18740</h2>
         <div class="content-container">
            Release date: Oct 11, 2018 <br>

            <h3>New features</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
              </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC1350, CC1310:</strong> Bug fix in WMBUS CT-mode MCE, where if the 1st bit was 1, an error floor was present. This patch includes a fix to that bug.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_05_00_18715</h2>
         <div class="content-container">
            Release date: Sep 24, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[DRV_SRC] General:</strong> Driverlib does no longer support early revisions of the CC13x2/CC26x2 devices forcing the driverlib folder "cc13x2_cc26x2_v1" to have been removed.</li>
                  <li><strong>[DRV_SRC] General:</strong> Driverlib folder "cc13x2_cc26x2_v2" for supported CC13x2/CC26x2 devices has been renamed to "cc13x2_cc26x2".</li>
                  <li><strong>[DRV_SRC] rom_crypto:</strong> Added access to ECC crypto functions in ROM by the new rom_crypto driverlib module. These functions can only to be used in applications not containing the BLE SW stack. Note that if these functions are called by the application they will make use of the SRAM address range of 0x2000012C - 0x200001AB as a scratch pad area. Calling any of these functions will require the linker file to be updated with the specified SRAM area.</li>
                  <li><strong>[RF_PATCH] CC13X2, CC26X2:</strong> Release of IQ-dump patch.</li>
              </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong></li>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
              </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC13X2, CC26X2:</strong> Bug fix regarding the generation of the .bin-files used for CPE patches.</li>
              </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC13X0:</strong> (Re-)relase of bitrepetition RFE patch, used to be genfsk patch but for consistency it has now been copied and renamed to brepeat. No changes in patch has been made except for the name.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_16_18623</h2>
         <div class="content-container">
            Release date: Aug 17, 2018 <br>

            <h3>New features</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[RF_PATCH] CC13X2, CC26X2:</strong> Repeat mode with Sniff Command; a flag was not cleared in CPE when running which is solved with this patch.</li>
                  <li><strong>[RF_PATCH] CC13X2, CC26X2:</strong> Patch that fixes the case where RX end time may be delayed in sniff mode.</li>
              </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC13X0:</strong> Repeat mode with Sniff Command; a flag was not cleared in CPE when running which is solved with this patch.</li>
                  <li><strong>[RF_PATCH] CC13X0:</strong> Patch that fixes the case where RX end time may be delayed in sniff mode.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_15_18598</h2>
         <div class="content-container">
            Release date: Aug 09, 2018 <br>

            <h3>New features</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] RFC:</strong> Re-distribute the functionality between driverlib and RF driver required by the High Gain PA configuration.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_14_18578</h2>
         <div class="content-container">
            Release date: Aug 01, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
               <ul>
                  <li><strong>[RF_API] CC1312R, CC1352R, CC1352P, CC2642R, CC2652R:</strong> Updated API header files to extend common API with new commands to set TX power with possibility to switch between PAs (only applicable to CC1352P): A new command "CMD_CHANGE_PA" and a new CPE interrupt line definition "IRQ_PA_CHANGED" has been added, and new extended variants for each of the existing radio setup command has been introduced ("CMD_RADIO_SETUP_PA", "CMD_BLE5_RADIO_SETUP_PA", "CMD_PROP_RADIO_SETUP_PA", "CMD_PROP_RADIO_DIV_SETUP_PA") with additional PA switching fields -- these additional fields will be used by RF driver when switching PA, not radio CPU. Separately, a new common CPE command "CMD_SET_CMD_START_IRQ" has been added that can be used by RF driver to get interrupt notification when a background/foreground radioOp command starts (e.g. for IEEE 802.15.4 protocols).</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] RFC:</strong> Expand the RFCOverrideUpdate to handle the front-end specific overrides.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Added function to erase PKA RAM.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong> Updated CPE patch used for time-of-flight measurements ("tof"). This includes the passive node functionality.</li>
              </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
              </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] Setup and OSC:</strong> DCDC without clock loss detection while switching to XOSC_HF.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_13_18486</h2>
         <div class="content-container">
            Release date: May 30, 2018 <br>

            <h3>New features</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong>  Updated MCE patch used for time-of-flight measurements ("tof"). This corrects a build problem with the previous patch that caused it to not work as intended.</li>
              </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_12_18461</h2>
         <div class="content-container">
            Release date: May 15, 2018 <br>

            <h3>New features</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC2640R2F:</strong>  Updated CPE and RFE patches used for time-of-flight measurements ("tof") to estimate RF link distance. The new CPE patch has some simplifications, and consequently a smaller patch code size, before first public release. The RFE patch has been updated to remove unnecessary debug information.</li>
              </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_11_18442</h2>
         <div class="content-container">
            Release date: May 08, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
               <ul>
                  <li><strong>[RF_API] General:</strong> Updated API header files to extend common API with new command to set TX power with possibility to switch between PAs. The command is named "CMD_CHANGE_PA". Also, a new extended variants for each of the existing radio setup command has been introduced ("CMD_RADIO_SETUP_PA", "CMD_BLE5_RADIO_SETUP_PA", "CMD_PROP_RADIO_SETUP_PA", "CMD_PROP_RADIO_DIV_SETUP_PA") with additional PA switching fields -- these additional fields will be used by RF driver when switching PA, not radio CPU.</li>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches to extend API with new common command to set TX power with possibility to switch between PAs. The command is named "CMD_CHANGE_PA".</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Added a set of new radio patches to support time-of-flight measurements ("tof") to estimate RF link distance.</li>
                  <li><strong>[RF_PATCH] General:</strong> Added a set of new radio patches to support Bluetooth 4.2 and proprietary angle of arrival and departure measurements ("aoa_aod").</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches with improved synthesizer start-up sequence that reduces the probability of synthesizer calibration failure.</li>
                  <li><strong>[RF_PATCH] General:</strong> Added MCE patch for generic FSK ("genfsk") PHY to avoid receive sensitivity degradation in continuous RX operation over long time.</li>
                  <li><strong>[RF_PATCH] General:</strong> CC1310, CC1350: Added latest version of MCE patch for WB-DSSS PHY (No change for customer. DSSS pattern is hard coded in the patch).</li>
              </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] CPU:</strong> GCC CPUdelay() inline assembly incorrect.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> PKAGetBigNumResult() and PKAGetBigNumResultRemainder() static analysis warning.</li>
                  <li><strong>[DRV_SRC] Crypto AES:</strong> AESConfigureCCMCtrl() static analysis warning.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v1</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Updated various CPE patch files ("ble", "bt5", "prop", "multi_protocol") to fix an issue with RAT_GPO1 output signal that can be routed out of RF core. The problem was that if RX is restarted within the same command, the RAT_GPO1 output signal would only be asserted on the first sync word received, but it would not be asserted after that if the radio is in RX after restart of the receiver, for example due to repeat mode being enabled.</li>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches supporting proprietary command set ("prop", "multi_protocol") to give correct time-out operation when using "CMD_PROP_RX_SNIFF" or "CMD_PROP_RX_ADV_SNIFF" commands. The carrier sense operation will continue after the csEndTrigger has occurred, if so configured.</li>
                  <li><strong>[RF_PATCH] CC1352R, CC1352P, CC2652R:</strong> Added RFE patch for IEEE 802.15.4 O-QPSK DSSS ("ieee_802_15_4") PHY to resolve issue with RSSIMAXVAL reporting incorrect value.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches to align frequency word representation between frequency synthesizer and demodulator. This prevents temporary loss of receive function during continuous receive operation over long time for any "fractFreq" setting used.</li>
               </ul></li>
               <li><strong>CC26x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches to align frequency word representation between frequency synthesizer and demodulator. This prevents temporary loss of receive function during continuous receive operation over long time for any "fractFreq" setting used.</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches to align frequency word representation between frequency synthesizer and demodulator. This prevents temporary loss of receive function during continuous receive operation over long time for any "fractFreq" setting used.</li>
                  <li><strong>[RF_PATCH] General:</strong> Updated all CPE patches supporting proprietary command set ("ant_div", "brepeat", "genfsk", "genook", "ghs", "lrm", "sl_longrange", "wb_dsss", "wbmus_ctmode", "wmbus_smode") to give correct time-out operation when using "CMD_PROP_RX_SNIFF" or "CMD_PROP_RX_ADV_SNIFF" commands. The carrier sense operation will continue after the csEndTrigger has occurred, if so configured.</li>
                  <li><strong>[RF_PATCH] CC1350:</strong> Added RFE patch for IEEE 802.15.4 O-QPSK DSSS ("ieee") PHY to resolve issue with RSSIMAXVAL reporting incorrect value.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal, available in IO Controller as "RFC_GPO1", signaling the "PA_EN" status signal is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far support only differential front-end mode only, and will need a run-time modification (not implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_10_18419</h2>
         <div class="content-container">
            Release date: May 05, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
               <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[RF_API] General:</strong> Introduce new RFCGetPaType and RFCGetPaGain functions.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
              <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> List include file for each DriverLib module in HTML documentation.</li>
                  <li><strong>[DRV_DOC] OSC:</strong> Function in Oscillator API is missing description for parameter.</li>
                  <li><strong>[DRV_SRC] CPU:</strong> GCC CPUdelay() inline assembly incorrect.</li>
                  <li><strong>[DRV_SRC] GPIO:</strong> Compile error in gpio.h when DRIVERLIB_DEBUG is defined.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] Crypto SHA:</strong> Defines in SHA2 module have semi-colon at the end of the line.</li>
                  <li><strong>[DRV_SRC] GPIO:</strong> dioNumberLegal() in gpio.h can return incorrect value for cc26x2/cc13x2 devices.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> PKABigNumModGetResult can leave junk data in most significant bytes.</li>
                  <li><strong>[DRV_SRC] General:</strong> Compile errors in ASSERTs when DRIVERLIB_DEBUG is defined.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_09_18364</h2>
         <div class="content-container">
            Release date: April 17, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[HW_INC] RFC_DBELL:</strong> Renamed defines in hw_rfc_dbell.h for bit[13] and bit[12] of the RFCPEIFG, RFCPEIEN and RFCPEISL registers.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] GPIO:</strong> Compile error in gpio.h when DRIVERLIB_DEBUG is defined.</li>
               </ul></li>
            </ul>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_08_18312</h2>
         <div class="content-container">
            Release date: March 2, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Functions PKABigNumModGetResult and PKABigNumInvModGetResult both do not return how many bytes were written to the resultBuf. They can yield less than expected because the HW does not zero-pad beyond word boundaries. This is now handled by zero-out resultBuf before fetching the result so that correct assumptions about the result lengths can be made.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_07_18288</h2>
         <div class="content-container">
            Release date: February 22, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] CC1312, CC1352, CC2642, CC2652:</strong> Updated all CPE patch files ("ble", "bt5", "ieee_802_15_4", "prop", "multi_protocol") to fix a problem in CPE's dynamic reconfiguration of the ADI_3_REFSYS:DCDCCTL5[3:0] register when radio enters RX or TX. A bug in the save/restore mechanism that should write DCDCCTL5[3:0] register back to its original setting when radio operation has ended caused the register setting to always be restored to setting 0x0. This undesired setting change of DCDCCTL5.IPEAK can cause an increased current consumption, if the DC/DC regulator is used. This fix will ensure DCDCCTL5[3:0] is correctly restored to original setting.</li>
                  <li><strong>[RF_PATCH] CC1312, CC1352, CC2642, CC2652:</strong> Updated all CPE patch files ("ble", "bt5", "ieee_802_15_4", "prop", "multi_protocol") to fix an issue with CPEGPO1 output signal. This signal, available in IO Controller as "RFC_GPO1" signal, represents "PA_EN" status signal. This status signal should go high when the power amplifier (PA) is enabled (start of transmission), and then low when PA is disabled (end of transmission). For all protocols/PHYs other than Bluetooth low energy, there was an issue that prevented this signal to correctly go low at end of transmission, which has now been fixed.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_06_18273</h2>
         <div class="content-container">
            Release date: February 21, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong>
               <ul>
                  <li><strong>[DRV_SRC] Setup:</strong> TrimAfterColdResetWakeupFromShutDown(): Removed workaround that was only valid for discontinued silicon revision.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
               <ul>
                  <li><strong>[DRV_SRC] Crypto:</strong> Fixed potential race conditions when using aes.c.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_05_18251</h2>
         <div class="content-container">
            Release date: February 07, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] CC1352P:</strong> Updated CPE Bluetooth 5 ("bt5") and CPE multi-protocol patch files, and added a new RFE Bluetooth 5 ("bt5") patch file, to allow higher bandwidth in synthesizer PLL during Tx start-up. This allows faster PA settling when transmitting with 20-dBm PA.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong>
               <ul>
                  <li><strong>[DRV_SRC] Setup:</strong> TrimAfterColdResetWakeupFromShutDown(): HW register bit fields ADI_3_REFSYS:AUX_DEBUG.LPM_BIAS_BACKUP_EN and ADI_4_AUX:COMP.LPM_BIAS_WIDTH_TRIM are now written with values from FCFG1.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_04_18225</h2>
         <div class="content-container">
            Release date: February 01, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
                   <strong>CC13x2_CC26x2_v1</strong> <br>
                   <strong>CC26x0</strong> <br>
                   <strong>CC26x0R2</strong> <br>
                   <strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The RFCOverrideSearch() function is now available on all devices and no longer static.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_03_18200</h2>
         <div class="content-container">
            Release date: January 25, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
               <ul>
                  <li><strong>[RF_API] CC1312, CC1352, CC2642, CC2652:</strong> Updated API header files.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] CC1352, CC2642, CC2652:</strong> Updated CPE Bluetooth 5 ("bt5") and CPE multi-protocol patch files with new API functionality for configuring the 20-dBm PA output power when using CMD_BLE5_* command API.</li>
                  <li><strong>[RF_API] ] CC1312, CC1352, CC2642, CC2652:</strong>
                  <ul>
                     <li>rf_ble_cmd.h: All CMD_BLE5_* radio operation command structs are extended with a new, optional "tx20Power" struct. This can be used to immediately set new 20-dBm PA setting in Tx.</li>
                     <li>rf_common_cmd.h: The common CMD_SET_TX20_POWER command is modified with "txPower" struct field renamed to "tx20Power". This is to highlight that the parameter is for the 20-dBm PA and not the normal PA.</li>
                  </ul></li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong>
               <ul>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Added missing length define (Curve25519_PARAM_SIZE_BYTES) in PKA module for Curve25519.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Removed function PKAEccVerifyPublicKeyGetResult() since only the NIST and Brainpool curves are supported and they have a cofactor of 1. It's not needed to perform the Q*n = point at infinity check during public key validation.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v1</strong>
               <ul>
                  <li><strong>[RF_PATCH] CC1312, CC1352, CC2652:</strong> Updated the RFE generic FSK ("genfsk") PHY patches with a new default setting for PA ramp-down wait time. This has been reduced from 31 µs down to 21 µs.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Added missing length define (Curve25519_PARAM_SIZE_BYTES) in PKA module for Curve25519.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Removed function PKAEccVerifyPublicKeyGetResult() since only the NIST and Brainpool curves are supported and they have a cofactor of 1. It's not needed to perform the Q*n = point at infinity check during public key validation.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_02_18173</h2>
         <div class="content-container">
            Release date: January 15, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v2</strong></li>
               <ul>
                  <li><strong>[RF_API] General:</strong> Initial release of preliminary API header files.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Added Montgomery Curve25519 multiplication support.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
                <ul>
                 <li><strong>[DRV_SRC] Crypto PKA:</strong> Added Montgomery Curve25519 multiplication support.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CC1312, CC1352, CC2652: Updated the RFE and MCE generic FSK ("genfsk") PHY patches with small optimizations in TX timing for PA enable at start of packet, and increased default setting for PA ramp-down time from 10 µs to 31 µs. Modulator timing has also been tuned for better performance at high data rates (>500 kbps) and now waits 4 µs with tone before starting preamble to better align with PA ramp-up.</li>
                  <li><strong>[RF_PATCH] General:</strong> CC1352, CC2652: Updated the IEEE 802.15.4 O-QPSK DSSS ("ieee_802_15_4") PHY patch with improvements in modem re-initialization between RX packets.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
               <ul>
                  <li><strong>[RF_API] General:</strong> CC1312, CC1352, CC2642, CC2652: Updated API header file "rf_mailbox.h" to remove an incorrect interrupt "BG_COMMAND_SUSPENDED" (interrupt line 12) which does not exist.</li>
                  <li><strong>[RF_PATCH] General:</strong> CC1312, CC1352: Updated the MCE SimpleLink Long Range ("sl_longrange") PHY patch to fix a potential problem related to stopping the demodulator when using SimpleLink Long Range PHY formats. The problem was that use of CMD_ABORT or CMD_PROP_RESTART_RX to stop an on-going RX operation with this PHY could result in RF core doorbell interface to become unresponsive, and a re-initialization (power-cycle) of RF core would be needed to recover.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_01_18155</h2>
         <div class="content-container">
            Release date: January 05, 2018 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
                   <strong>CC13x2_CC26x2_v2</strong>
               <ul>
                 <li><strong>[DRV_SRC] AUX_ADC:</strong> Added additional defines for supported trigger events.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] Crypto:</strong> Improved key loading error handling to avoid system crash during heavy bus load.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2_v1</strong></li>
                   <strong>CC13x2_CC26x2_v2</strong>
               <ul>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Fixed PKAEccVerifyPublicKeyWeierstrassStart() function which incorrectly failed for curves that were not a multiple of 4 bytes in length.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_04_00_18127</h2>
         <div class="content-container">
            Release date: December 14, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[DRV_SRC] General:</strong>Two variants of driverlib are introduced. The driverlib folder for the legacy version is renamed from "cc13x2_cc26x2" to "cc13x2_cc26x2_v1". A new driverlib folder for a planned upgraded silicon revision of cc13x2_cc26x2 devices is called "cc13x2_cc26x2_v2".</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Added support for Short-Weierstrass public key validation, NIST-P224 and NIST-P384 to PKA module.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] ChipInfo:</strong> Renamed enumerations returned from function ChipInfo_GetChipType(). Renamed CHIP_TYPE_CC2644 to CHIP_TYPE_unused and CHIP_TYPE_CC1354 to CHIP_TYPE_CC1352P.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] AUX_ADC:</strong> AUXADCDisable() now flushes the ADC FIFO in order to remove stale samples in the FIFO after the ADC module is disabled. If samples are left in the FIFO after disabling the ADC, the related ADC_IRQ flag may not be cleared. This is a potential problem when operating at high sampling rates where additional conversions may complete between handling an ISR and disabling the ADC, possibly causing an infinite ISR loop. </li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_03_04_18115</h2>
         <div class="content-container">
            Release date: December 7, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch with bug fix for Bluetooth 5 LE Advertising Extensions: The Bluetooth 5 initiator command sometimes outputs a "connectTime" that does not correspond to the transmitted AUX_CONNECT_REQ.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE:</strong> CC1352, CC2642, CC2652: Updated CPE BT5 and CPE multi-protocol patches with bug fix for Bluetooth 5 LE Advertising Extensions: The Bluetooth 5 initiator command sometimes outputs a "connectTime" that does not correspond to the transmitted AUX_CONNECT_REQ.</li>
                  <li><strong>[RF_PATCH] RFE:</strong> CC1312, CC1352, CC2652: Updated the RFE generic FSK ("genfsk") PHY patch with bug fix in PA ramp mechanism: the RFE, and thus CPE, may hang if TX is aborted shortly after start.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_03_03_18107</h2>
         <div class="content-container">
            Release date: December 1, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE/MCE:</strong> CC1312, CC1352: Updated the CPE PROP, CPE multi-protocol, and MCE SimpleLink Long Range (SLR) PHY patches to fix a problem related to stopping the demodulator when using SLR PHY formats. The problem was that use of CMD_ABORT or CMD_PROP_RESTART_RX to stop an on-going RX operation with this PHY could result in RF core doorbell interface to become unresponsive, and a re-initialization (power-cycle) of RF core would be needed to recover. (internal: RFCORE-163).</li>
                  <li><strong>[RF_PATCH] MCE BT5:</strong> CC1352, CC2642, CC2652: Updated MCE BT5 patch to resolve a potential PHY problem where too high TX symbol rate error (up to 100 ppm) may be used for LE Coded PHY, which will violate Bluetooth 5 PHY specification requirements (max 50 ppm). The problem could be invoked, depending on a timing condition, as part of doing an RX to TX transition using LE Coded PHY. (internal: RFCORE-166).</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_03_02_18061</h2>
         <div class="content-container">
            Release date: November 10, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> In all API files, resolved CCS compiler warning when using attribute "aligned(4)" on structs with struct member of type uint64_t.</li>
                  </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[DRV_SRC] Setup:</strong> SetupTrimDevice(): Fixed bug that caused the supported "Boost mode" during boot to be non-functional. The supported mode boosts VDDR to support +14dBm.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_03_01_18037</h2>
         <div class="content-container">
            Release date: November 3, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_API] New functions in rfc.c and rfc.h:</strong> 
                  <ul>
                     <li>__STATIC_INLINE void RFCCpe0IntSelect(uint32_t ui32Mask): This function maps the interrupt lines provided within the argument to CPE0.</li>
                     <li>__STATIC_INLINE void RFCCpe1IntSelect(uint32_t ui32Mask): This function maps the interrupt lines provided within the argument to CPE1.</li>
                  </ul></li>
                  <li><strong>[DRV_SRC] OSC:</strong> Add debug/test function OSC_AdjustXoscHfCapArray(). Useful for production preparations when trying to find optimal HF XOSC Cap Array setting for a specific design. Ref. SET_CCFG_MODE_CONF_XOSC_CAP... in ccfg.c</li>
                  <li><strong>[DRV_SRC] PowerCtrl:</strong> Added the following functions:
                  <ul>
                     <li>PowerCtrlPadSleepEnable()</li>
                     <li>PowerCtrlPadSleepDisable()</li>
                  </ul></li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] MCE:</strong> Added new MCE patch for Generic FSK with CC1101-compatible FEC and interleaver ("genfsk_fec_cc1101").</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] BLE5:</strong> Updated Bluetooth 5 command API ("BLE5"): Added Bluetooth 5 variants of legacy advertiser commands (CMD_BLE5_ADV, CMD_BLE5_ADV_DIR, CMD_BLE5_ADV_NC, CMD_BLE5_ADV_SCAN). These new commands are only available when using an updated CPE BT5 patch.</li>
                  <li><strong>[RF_API] PROP:</strong> In PROP API command CMD_PROP_RADIO_SETUP the bit-fields "symbolRate.bPdifDecim" and "symbolRate.pdifDecim" have been merged into one new bit-field ".symbolRate.decimMode". This is to make the CC2640R2F API the same as for CC13x0.</li>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch to include Bluetooth 5 variants of legacy advertiser commands (CMD_BLE5_ADV, CMD_BLE5_ADV_DIR, CMD_BLE5_ADV_NC, CMD_BLE5_ADV_SCAN).</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_API] BLE5:</strong> Updated Bluetooth 5 command API ("BLE5"): Added Bluetooth 5 variants of legacy advertiser commands (CMD_BLE5_ADV, CMD_BLE5_ADV_DIR, CMD_BLE5_ADV_NC, CMD_BLE5_ADV_SCAN). These new commands are only available when using an updated CPE BT5 or CPE multi-protocol patch.</li>
                  <li><strong>[RF_API] PROP:</strong> In PROP API commands CMD_PROP_RADIO_SETUP and CMD_PROP_RADIO_DIV_SETUP a new bit-field "modulation.deviationStepSz" has been added. This can be used to configure the resolution of the existing bit-field "modulation.deviation".</li>
                  <li><strong>[RF_PATCH] CPE:</strong> Updated CPE BT5 and CPE multi-protocol patches to include Bluetooth 5 variants of legacy advertiser commands (CMD_BLE5_ADV, CMD_BLE5_ADV_DIR, CMD_BLE5_ADV_NC, CMD_BLE5_ADV_SCAN).</li>
                  <li><strong>[RF_PATCH] CPE:</strong> The CPE patch files "rf_patch_cpe_sl_longrange.h" and "rf_patch_cpe_genfsk.h" have been removed. The CPE PROP patch ("rf_patch_cpe_prop.h") already covers these cases and should be used instead. Alternatively, the CPE multi-protocol patch may be used.</li>
                  <li><strong>[DRV_SRC] Setup:</strong> Added support in SetupTrimDevice() to enable "Boost mode" during boot, boosting VDDR to support +14dBm.</li>
                  <li><strong>[DRV_SRC] sys_ctrl:</strong> Added SysCtrlShutdownWithAbort() as a workaround to detect pre-shutdown wakeup events.</li>
                  <li><strong>[DRV_SRC] sys_ctrl:</strong> Added handling of optional temperature compensation of the recharge level (enabled by setting CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC = 0).</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Added subtraction function to PKA module and EC-JPAKE updates.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] Eliminated functions in rfc.c and rfc.h:</strong><br>
                              These functions did not provided a safe way to handle clock management, hence they have been removed from the rfc.h file.<br>
                              It is recommended that enabling/disabling clocks in the RF core should be requested through radio commands instead.
                  <ul>
                     <li>__STATIC_INLINE void RFCClockSet(uint32_t ui32Mask)</li>
                     <li>__STATIC_INLINE void RFCClockClear(uint32_t ui32Mask)</li>
                  </ul></li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
                  <li><strong>[DRV_SRC] PowerCtrl:</strong> The following functions are either removed or marked as derprecated:
                  <ul>
                     <li>PowerCtrlIOFreezeEnable() removed</li>
                     <li>PowerCtrlIOFreezeDisable() removed</li>
                     <li>PowerCtrlResetSourceGet() marked as deprecated. It will be removed in a future release. Use SysCtrlResetSourceGet() instead.</li>
                  </ul></li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] MCE:</strong> Updated MCE bit-repeat patch ("brepeat") to add support for very long or infinite preamble.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch for Bluetooth 5 to implement that CPE re-reads the "pConnectReqData" parameter pointer before sending AUX_CONNECT_REQ.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch for Bluetooth 5 to implement that CPE re-reads the "pConnectReqData" parameter pointer before sending AUX_CONNECT_REQ.</li>
                  <li><strong>[RF_PATCH] CPE:</strong> Updated CPE BLE, CPE BT5, CPE PROP, and CPE multi-protocol patches with improvement to make the (G)FSK deviation in Tx constant over the frequency band by recalculating the Tx shape when RF synth is programmed to a new frequency.</li>
                  <li><strong>[DRV_SRC] The following functions are not applicable on these devices and hence been removed from rfc.c and rfc.h:</strong>
                  <ul>
                     <li>void RFCRfTrimRead(rfc_radioOp_t *pOpSetup, rfTrim_t* pRfTrim)</li>
                     <li>void RFCRTrim(rfc_radioOp_t *pOpSetup)</li>
                     <li>void RFCRfTrimSet(rfTrim_t* pRfTrim)</li>
                     <li>void RFCAdi3VcoLdoVoltageMode(bool bEnable)</li>
                  </ul></li>
                  <li><strong>[DRV_SRC] Crypto SHA2:</strong> Updated SHA2 driverlib to support partial hashing of multiple blocks at a time.</li>
                  <li><strong>[DRV_SRC] sys_ctrl:</strong> SysCtrlShutdown() now terminates in a while(1) to make sure it never returns.</li>
                  <li><strong>[DRV_SRC] AON/sys_ctrl:</strong> Removed function AONPMCTLShutDownEnable(), use SysCtrlShutdown() instead.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> In all API files, resolved a syntax problem with the struct attribute when compiling with GCC or CCS.</li>
                  <li><strong>[DRV_SRC] Behavioural change in rfc.c and rfc.h:</strong>
                  <ul>
                     <li>__STATIC_INLINE void RFCClockEnable(void): This function only enables the interrupts which are needed to get the CM0 running. This is to optimize consumption.</li>
                     <li>__STATIC_INLINE void RFCHwIntEnable(uint32_t ui32Mask): The old function was clearing the interrupts before enabling.</li>
                     <li>__STATIC_INLINE void RFCCpeIntEnable(uint32_t ui32Mask): This function only enables the interrupts, regardless if it is mapped to CPE0 or CPE1. It does not modify the pending interrupt flags.</li>
                  </ul></li>
                  <li><strong>[DRV_API] Function prototype changes in rfc.c and rfc.h:</strong>
                  <ul>
                     <li>uint32_t RFCCpeIntGetAndClear(uint32_t ui32Mask): This function was reading and clearing all the CPE interrupt flags, regardless if the handler routine has actually the right to do so. This could cause problems in applications where multiple users share the CPE interrupts. The new function only handles the interrupts which match the provided bitmask.</li>
                     <li>void RFCCpePatchReset(void): The function name was aligned with the camel-case naming convention of driverlib functions.</li>
                     <li>void RFCSynthPowerDown(void): This function is now explicitly takes no argument.</li>
                     <li>RFCHwIntGetAndClear(uint32_t ui32Mask): The function name was aligned with the camel-case naming convention of driverlib functions.</li>
                     <li>__STATIC_INLINE void RFCCpe0IntSelectClearEnable(uint32_t ui32Mask): The function was renamed to reflect its internal behavior.</li>
                     <li>__STATIC_INLINE void RFCCpe1IntSelectClearEnable(uint32_t ui32Mask): The function was renamed to reflect its internal behavior.</li>
                  </ul></li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_API] IEEE:</strong> In API for "IEEE" commands, a type problem for the struct member "CMD_IEEE_RX.pShortEntryList" was fixed. This fix aligns the API structs with the existing API for CC26x0.</li>
                  <li><strong>[RF_PATCH] CPE:</strong> Updated CPE PROP and CPE multi-protocol patches with bug fix: if a packet is received with a proprietary mode Rx command (CMD_PROP_RX*) and a partial read Rx buffer is used, the CPE will hang if an abort command is received while a packet is being received.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Fixed issue where PKAGetECCResult would read and uninitialized variable when not copying back the x coordinate.</li>
                  <li><strong>[DRV_SRC] Crypto PKA:</strong> Fixed bug where PKAGetECCResult would calculate an incorrect offset for curvePointY in PKA RAM and copy back an incorrect result.</li>
                  <li><strong>[DRV_SRC] Setup:</strong> SetupTrimDevice(): Include the LPM_BIAS trims in the boot sequence.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> The CPEGPO1 output signal (available in IO Controller as "RFC_GPO1"), signaling the "PA_EN" status, is not functional. The signal does not go low at end of transmission.</li>
                  <li><strong>[RF_SETTING] BT5:</strong> All Bluetooth 5 radio settings so far only support differential front-end mode, and will need a run-time modification (not yet implemented) of trim value in override list to achieve correct settings.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_02_03_17972</h2>
         <div class="content-container">
            Release date: September 21, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch to include bug fix for Bluetooth 5: Address type of received ADV_AUX_IND packets is not treated correctly.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch to include bug fix for Bluetooth 5: Address type of received ADV_AUX_IND packets is not treated correctly.</li>
                  <li><strong>[RF_PATCH] CPE multi-protocol:</strong> Updated CPE multi-protocol patch to include bug fix for Bluetooth 5: Address type of received ADV_AUX_IND packets is not treated correctly.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional. (The PA_EN status signal does not go low).</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_02_02_17958</h2>
         <div class="content-container">
            Release date: September 21, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch to include bug fix for Bluetooth 5: receiving ADV_EXT_IND that contains AuxPtr with CRC error causes stall.</li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE BT5 patch to include bug fix for Bluetooth 5: receiving ADV_EXT_IND that contains AuxPtr with CRC error causes stall.</li>
                  <li><strong>[RF_PATCH] CPE multi-protocol:</strong> Updated CPE multi-protocol patch to include bug fix for Bluetooth 5: receiving ADV_EXT_IND that contains AuxPtr with CRC error causes stall.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional. (The PA_EN status signal does not go low).</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_02_01_17905</h2>
         <div class="content-container">
            Release date: August 31, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE PROP:</strong> Added new CPE PROP patch, to prepare for future PHYs using "PROP" API commands. (This patch code is currently identical to the existing CPE GenFSK and CPE SimpleLink Long Range patches).</li>
                  <li><strong>[RF_PATCH] CPE BLE:</strong> Added new CPE BLE patch, to be used for Bluetooth 4.2 using "BLE" API commands. This patch does not include Bluetooth 5 related fixes, and may therefore be smaller in patch code size. This is to supplement the existing CPE BT5 patch for Bluetooth 5, for use cases where only Bluetooth 4.2 functionality is desired.</li>
                  <li><strong>[RF_PATCH] CPE MULTI:</strong> Added new CPE multi-protocol patch, to be used for multi-PHY use case. This patch contains bug fixes related to all available API command sets (i.e. "BLE", "BLE5", "IEEE", "PROP", "HS") and should be used in a multi-protocol use case instead of switching between multiple CPE patches.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>[DRV_SRC] Crypto:</strong> Function SHA2ExecuteHash(): Fixed bug that that yielded incorrect digests for messages whose length is a multiple of the hash block size.</li>
                  <li><strong>[RF_PATCH] MCE IEEE 802.15.4:</strong> Added new MCE patch for IEEE 802.15.14-2006 at 2.4 GHz. This contains fix for Rx correlation search failure.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional. (The PA_EN status signal does not go low).</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_02_00_17858</h2>
         <div class="content-container">
            Release date: August 2, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] sys_ctrl:</strong> Added configurable initial VDDR recharge period margin to permit setting a more conservative initial recharge period.</li>
                  <li><strong>[DRV_API] sys_ctrl:</strong> Added a new parameter to function SysCtrlAdjustRechargeAfterPowerDown().</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH]: GHS</strong> Added new CPE/MCE patch set for general high-speed GenFSK ("ghs" patch). CPE patch is identical to GenFSK.</li>
                  <li><strong>[RF_PATCH]: BREPEAT</strong> Added new CPE/MCE patch set for using bit-repeat mode ("brepeat" patch), for symbol rate. CPE patch is identical to GenFSK.</li>
                  <li><strong>[RF_API] Headers:</strong> In CPE commands CMD_PROP_RADIO_SETUP and CMD_PROP_RADIO_DIV_SETUP, the struct bit fields symbolRate.bPdifDecim and symbolRate.pdifDecim have been joined into one field, symbolRate.decimMode, with unchanged functionality. This change is to have same API for CC13x0 as exists for CC13x2 and CC26x2 devices. This field is needed used when using "brepeat" radio patch. </li>
               </ul></li>
               <li><strong>CC13x2_CC26x2</strong>
               <ul>
                  <li><strong>Initial revision of driverlib for new devices CC13x2 and CC26x2.</strong></li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_API] sys_ctrl:</strong> Removed definition "RSTSRC_VDD_LOSS" since this value will never be returned when calling SysCtrlResetSourceGet().</li>
                  <li><strong>[DRV_SRC] CCFG:</strong> Removed gcc compiler warning (change of sign) when compiling ccfg.c.</li>
                  <li><strong>[DRV_SRC] CPU:</strong> Removed gcc compiler warning for function CPUbasepriSet().</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BLE:</strong> Updated CPE patch for Bluetooth 4.2 to fix known issue related to CMD_SCH_IMM. This also includes a fix for a rare problem where CPE may hang when running BLE master command.</li>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> Updated CPE patch for Bluetooth 5 to fix known issue related to CMD_SCH_IMM. This also includes a fix for a rare problem where CPE may hang when running BLE master command.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] CPE BT5:</strong> CPE BT5 patch for Bluetooth 5: Corrected an error when ignoring identity address for resolvable private addresses in legacy advertiser.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional. (The PA_EN status signal does not go low).</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_01_03_17842</h2>
         <div class="content-container">
            Release date: July 20, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional.</li>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_01_02_17805</h2>
         <div class="content-container">
            Release date: June 1, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> Added GenFSK Antenna diversity CPE patch.</li>
                  <li><strong>[RF_PATCH] General:</strong> Added high speed GenFSK patches.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_API] Headers:</strong> Added bPdifDecim and pdifDecim to symbolRate structure.</li>
               </ul></li>
                  <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] Headers:</strong> Removed unnecessary RF_MODE_MULTIPLE define.</li>
                  <li><strong>[RF_API] Headers:</strong> Added bPdifDecim and pdifDecim to symbolRate structure.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional.</li>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_01_01_17779</h2>
         <div class="content-container">
            Release date: May 5, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] RFC:</strong> Added new function RFCOverrideUpdate() that deprecates RFCRTrim().</li>
                  <li><strong>[DRV_SRC] RFC:</strong> Added new function RFCHWIntGetAndClear().</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] PHY:</strong> Added GenFSK Antenna diversity MCE/RFE patches.</li>
                  <li><strong>[RF_PATCH] PHY:</strong> Added IQ dump MCE patch.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_DOC] General:</strong> General improvement of the documentation.</li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] BLE:</strong> Changed comment in BLE5 commands.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] AUX_TIMER:</strong> Corrected masking of TICK_SRC in AUXTimerConfigure().</li>
                  <li><strong>[DRV_SRC] GCC:</strong> Fixed problem with vector table in startup_gcc.c that gave pointer conversion error when compiling with GNU tools.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] IEEE 802.15.4:</strong> Changed pShortEntryList pointer to uint32_t from shortAddrEntry.</li>
                  <li><strong>[RF_API] BLE:</strong> Added missing defines in ble_mailbox.h.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional.</li>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_01_00_17751</h2>
         <div class="content-container">
            Release date: April 20, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] I2S:</strong> Removed deprecated parameter (unusedChanCfgWrite0) from function I2SChannelConfigure().</li>
                  <li><strong>[DRV_LIB] IAR:</strong> Built IAR library (driverlib.lib) with version 8.11.1</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional.</li>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_06_17733</h2>
         <div class="content-container">
            Release date: March 29, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] RFC:</strong> Added new functions RFCOverrideUpdate() and RFCOverrideSearch().</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[RF_PATCH] Patches:</strong> Changed include path for hw_types.h </li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_LIB] CCS:</strong> Added missing linker section ".TI.noinit" to all Code Composer Studio linker files.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional.</li>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_05_17708</h2>
         <div class="content-container">
            Release date: March 17, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] BLE:</strong> Updated BLE5 RFE Patch.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] BLE:</strong> Added missing defines in ble header files.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> GPO control not functional.</li>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_04_17647</h2>
         <div class="content-container">
            Release date: February 7, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] GCC linker files:</strong> Now ensures that CCFG structure is kept.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[DRV_SRC] All linker files:</strong> Linker files have been renamed to match device name (example: cc26x0rf128.cmd has been renamed to cc26x0r2f.cmd).</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] Crypto:</strong> Function CRYPTOAesLoadKey(): Corrected one more problem with storing multiple keys (ref. bug fix in the driverlib_cc13xx_cc26xx_3_00_03_17619 release).</li>
                  <li><strong>[DRV_SRC] GCC linker files:</strong> Fixed problem where initialized variables (.data section) did not get loaded correctly.</li>
                  <li><strong>[RF_PATCH] General:</strong> Added missing DEVICE_FAMILY_PATH macro to all MCE and RFE patches.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_03_17619</h2>
         <div class="content-container">
            Release date: February 2, 2017 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] BT5:</strong> Added command header files.</li>
                  <li><strong>[RF_PATCH] BT5:</strong> Added CPE patch.</li>
               </ul></li>
               <li><strong>CC26x0</strong>
               <ul>
                  <li><strong>[RF_API] IEEE 802.15.4:</strong> Added command header files.</li>
                  <li><strong>[RF_PATCH] IEEE 802.15.4:</strong> Added CPE patch.</li>
                  <li><strong>[RF_PATCH] IEEE 802.15.4:</strong> Added MCE/RFE patches for use with single ended frontend.</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] WMBUS:</strong> Added S1- and S2-Mode CPE, MCE and RFE patch.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> All MCE and RFE patches have new include paths for the hw_type.h file.</li>
                  <li><strong>[RF_PATCH] General:</strong> Added RFE_PATCH_MODE and MCE_PATCH_MODE defines for future partial patching support.</li>
                  <li><strong>[DRV_SRC] General:</strong> Removed deprecated functions:
                  <ul>
                      <li>OSCInterfaceEnable()</li>
                      <li>OSCInterfaceDisable()</li>
                      <li>SysCtrlPowerEverything()</li>
                  </ul></li>
                  <li><strong>[DRV_SRC] ChipInfo:</strong> Added support for new chip and package types (Note that packages available for a specific device are shown in the device datasheet).
                  <ul>
                     <li>Added PACKAGE_7x7_Q1 as new return option from function ChipInfo_GetPackageType() and added function ChipInfo_PackageTypeIs7x7Q1().</li>
                     <li>Added HWREV_2_4 as new return option from function ChipInfo_GetHwRevision() and added function ChipInfo_HwRevisionIs_GTEQ_2_4().</li>
                  </ul></li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] BLE:</strong> Updating structures with BT5 fields.</li>
                  <li><strong>[DRV_SRC] SysCtrl:</strong> Added RSTSRC_WAKEUP_FROM_TCK_NOISE as new return option from function SysCtrlResetSourceGet().</li>
               </ul></li>
               <li><strong>CC26x0</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> Added dummy define for rfc_CMD_BLE5_RADIO_SETUP_t to increase compatibility with other chips.</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_API] General:</strong> Added dummy define for rfc_CMD_BLE5_RADIO_SETUP_t to increase compatibility with other chips.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] Crypto:</strong> Function CRYPTOAesLoadKey(): Corrected problem with storing multiple keys.</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands. Fixed with CPE patch.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH] General:</strong> CMD_SCH_IMM can cause loss of commands.</li>
               </ul></li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_02_17545</h2>
         <div class="content-container">
            Release date: December 1, 2016 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_PATCH]</strong> Added optional BLE 4.x RFE patch. This will improve interference performance. Not used in provided settings.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] IOC</strong> Added missing RF defines to be used for antenna diversity implementation (IOC_PORT_RFC_SMI_*).</li>
                  <li><strong>[DRV_LIB] ROM</strong> Debug improvement: Include symbols and source for driverlib functions in ROM to enable for source level debugging (Look into additional "rom" folder).</li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0</strong></li>
                   <strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[RF_API] </strong> Updated comment of txPower field to better describe function.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li>None</li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_01_17470</h2>
         <div class="content-container">
            Release date: November 15, 2016 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] RFC</strong> Added functions RFCClockSet() and RFCClockClear().</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH]</strong> Added WMBUS C- and T-Mode CPE/MCE/RFE patch.</li>
                  <li><strong>[RF_PATCH]</strong> Added SimpleLink Long Range CPE/MCE/RFE patch.</li>
                  <li><strong>[RF_PATCH]</strong> New Wideband DSSS CPE/RFE patch. Same as GENFSK.</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[RF_API]</strong> General improvement of all comments.</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li><strong>[DRV_SRC] FLASH</strong> Handle the FLASH:CFG.DIS_STANDBY configuration as for CC26x0.</li>
               </ul></li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li>None</li>
            </ul>
         </div>
      </div>
      <div class="release-container">
         <h2>driverlib_cc13xx_cc26xx_3_00_00_17434</h2>
         <div class="content-container">
            Release date: October 28, 2016 <br>

            <h3>New features</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] sw_crypto:</strong> Added open source software crypto for ChaCha20 and Poly1305 into the library.</li>
                  <li><strong>[DRV_SRC] rom_crypto:</strong> Removed direct access to the ROM located crypto software since it's only supported through crypto driver.</li>
                  <li><strong>[DRV_SRC] ChipInfo:</strong> Added CC2630, CC2640 and CC2640R2 to known types returned from function ChipInfo_GetChipType().</li>
                  <li><strong>[DRV_SRC] ChipInfo:</strong> Renamed CC13xx and CC26xx to CC13x0 and CC26x0. This applies to both chip family returned from function ChipInfo_GetChipFamily() and the name of all ChipInfo_ChipFamilyIs_...() functions.</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li><strong>[RF_PATCH]</strong> New Wideband DSSS MCE patch.</li>
               </ul></li>
               <li><strong>CC26x0</strong>
               <ul>
                  <li>None</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li>Initial revision</li>
               </ul></li>
            </ul>

            <h3>Improvements</h3>
            <ul>
               <li><strong>Changes that apply to all devices</strong>
               <ul>
                  <li><strong>[DRV_SRC] ChipInfo:</strong> Code size optimization of all functions in the ChipInfo module.</li>
                  <li><strong>[HW_INC] General:</strong> Updated/improved hardware register descriptions (inc/hw_*.h and doc/../*.html files).</li>
               </ul></li>
               <li><strong>CC13x0</strong>
               <ul>
                  <li>None</li>
               </ul></li>
               <li><strong>CC26x0</strong>
               <ul>
                  <li><strong>[RF_PATCH]</strong> Updated BLE RFE patch. Improved startup sequence.</li>
               </ul></li>
               <li><strong>CC26x0R2</strong>
               <ul>
                  <li>Initial revision</li>
               </ul></li>
            </ul>

            <h3>Bug fixes</h3>
            <ul>
               <li>None</li>
            </ul>

            <h3>Known issues</h3>
            <ul>
               <li>None</li>
            </ul>
         </div>
      </div>
      <!-- End of driverlib_cc13xx_cc26xx entry -->

      <div style="text-align:right">
         &copy 2016. Texas Instruments | All Rights Reserved
      </div>

   </body>
</html>
