rl_device.h
1 /****************************************************************************************
2  * FileName : rl_device.h
3  *
4  * Description : This file defines the functions required to Control mmwave radar Device.
5  *
6  ****************************************************************************************
7  * (C) Copyright 2014, Texas Instruments Incorporated. - TI web address www.ti.com
8  *---------------------------------------------------------------------------------------
9  *
10  * Redistribution and use in source and binary forms, with or without modification,
11  * are permitted provided that the following conditions are met:
12  *
13  * Redistributions of source code must retain the above copyright notice,
14  * this list of conditions and the following disclaimer.
15  *
16  * Redistributions in binary form must reproduce the above copyright notice,
17  * this list of conditions and the following disclaimer in the documentation
18  * and/or other materials provided with the distribution.
19  *
20  * Neither the name of Texas Instruments Incorporated nor the names of its
21  * contributors may be used to endorse or promote products derived from this
22  * software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
26  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
28  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  * POSSIBILITY OF SUCH DAMAGE.
35  *
36  */
37 /****************************************************************************************
38 * FILE INCLUSION PROTECTION
39 ****************************************************************************************
40 */
41 #ifndef RL_DEVICE_H
42 #define RL_DEVICE_H
43 
44 /****************************************************************************************
45 * INCLUDE FILES
46 ****************************************************************************************
47 */
48 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 
53 #include <ti/control/mmwavelink/include/rl_protocol.h>
54 #include <ti/control/mmwavelink/include/rl_sensor.h>
55 
56 /****************************************************************************************
57 * MACRO DEFINITIONS
58 ****************************************************************************************
59 */
60 
61 /******************************************************************************
62  * TYPE-DEFINE STRUCT/ENUM/UNION DEFINITIONS
63  ******************************************************************************
64  */
65 
66 
70 #define RL_DEV_I_FIRST (0x0U)
71 #define RL_DEV_Q_FIRST (0x1U)
72 #define RL_DEV_IQSWAP_MAX (0x2U)
73 
77 #define RL_DEV_CH_INTERLEAVED (0x0U)
78 #define RL_DEV_CH_NON_INTERLEAVED (0x1U)
79 #define RL_DEV_CH_INTERLEAVE_MAX (0x2U)
80 
81 
85 typedef struct rlFileData
86 {
90  rlUInt32_t chunkLen;
94  rlUInt16_t fData[RL_CMD_PL_LEN_MAX/2U];
96 
97 
101 typedef struct rlMcuClkCfg
102 {
103 #ifndef MMWL_BIG_ENDIAN
104 
110  rlUInt8_t mcuClkCtrl;
119  rlUInt8_t mcuClkSrc;
131  rlUInt8_t srcClkDiv;
135  rlUInt8_t reserved;
136 #else
137 
145  rlUInt8_t mcuClkSrc;
152  rlUInt8_t mcuClkCtrl;
156  rlUInt8_t reserved;
168  rlUInt8_t srcClkDiv;
169 #endif
171 
175 typedef struct rlPmicClkCfg
176 {
177 #ifndef MMWL_BIG_ENDIAN
178 
184  rlUInt8_t pmicClkCtrl;
192  rlUInt8_t pmicClkSrc;
204  rlUInt8_t srcClkDiv;
216  rlUInt8_t modeSel;
217 #else
218 
225  rlUInt8_t pmicClkSrc;
232  rlUInt8_t pmicClkCtrl;
244  rlUInt8_t modeSel;
256  rlUInt8_t srcClkDiv;
257 #endif
258 
267  rlUInt32_t freqSlope;
268 #ifndef MMWL_BIG_ENDIAN
269 
277  rlUInt8_t minNdivVal;
286  rlUInt8_t maxNdivVal;
296  rlUInt8_t clkDitherEn;
300  rlUInt8_t reserved;
301 #else
302 
310  rlUInt8_t maxNdivVal;
319  rlUInt8_t minNdivVal;
323  rlUInt8_t reserved;
333  rlUInt8_t clkDitherEn;
334 #endif
336 
340 typedef struct rllatentFault
341 {
377  rlUInt32_t testEn1;
387  rlUInt32_t testEn2;
388 #ifndef MMWL_BIG_ENDIAN
389 
394  rlUInt8_t repMode;
401  rlUInt8_t testMode;
402 #else
403 
409  rlUInt8_t testMode;
415  rlUInt8_t repMode;
416 #endif
417 
420  rlUInt16_t reserved;
422 
426 typedef struct rlperiodicTest
427 {
435  rlUInt32_t periodicity;
443  rlUInt32_t testEn;
444 #ifndef MMWL_BIG_ENDIAN
445 
450  rlUInt8_t repMode;
454  rlUInt8_t reserved0;
455 #else
456 
459  rlUInt8_t reserved0;
465  rlUInt8_t repMode;
466 #endif
467 
470  rlUInt16_t reserved1;
472 
476 typedef struct rltestPattern
477 {
478 #ifndef MMWL_BIG_ENDIAN
479 
485  rlUInt8_t testPatGenCtrl;
490  rlUInt8_t testPatGenTime;
491 #else
492 
496  rlUInt8_t testPatGenTime;
503  rlUInt8_t testPatGenCtrl;
504 #endif
505 
517  rlUInt16_t testPatrnPktSize;
521  rlUInt32_t numTestPtrnPkts;
530  rlUInt32_t testPatRx0Icfg;
540  rlUInt32_t testPatRx0Qcfg;
550  rlUInt32_t testPatRx1Icfg;
560  rlUInt32_t testPatRx1Qcfg;
570  rlUInt32_t testPatRx2Icfg;
580  rlUInt32_t testPatRx2Qcfg;
590  rlUInt32_t testPatRx3Icfg;
600  rlUInt32_t testPatRx3Qcfg;
604  rlUInt32_t reserved;
606 
610 typedef struct rlDevDataFmtCfg
611 {
627  rlUInt16_t rxChannelEn;
631  rlUInt16_t adcBits;
635  rlUInt16_t adcFmt;
636 #ifndef MMWL_BIG_ENDIAN
637 
643  rlUInt8_t iqSwapSel;
651  rlUInt8_t chInterleave;
652 #else
653 
660  rlUInt8_t chInterleave;
667  rlUInt8_t iqSwapSel;
668 #endif
669 
672  rlUInt32_t reserved;
674 
678 typedef struct rlDevDataPathCfg
679 {
680 #ifndef MMWL_BIG_ENDIAN
681 
686  rlUInt8_t intfSel;
701  rlUInt8_t transferFmtPkt0;
714  rlUInt8_t transferFmtPkt1;
723  rlUInt8_t cqConfig;
731  rlUInt8_t cq0TransSize;
739  rlUInt8_t cq1TransSize;
747  rlUInt8_t cq2TransSize;
751  rlUInt8_t reserved;
752 #else
753 
767  rlUInt8_t transferFmtPkt0;
773  rlUInt8_t intfSel;
782  rlUInt8_t cqConfig;
795  rlUInt8_t transferFmtPkt1;
803  rlUInt8_t cq2TransSize;
811  rlUInt8_t cq1TransSize;
815  rlUInt8_t reserved;
823  rlUInt8_t cq0TransSize;
824 #endif
826 
830 typedef struct rlDevLaneEnable
831 {
848  rlUInt16_t laneEn;
852  rlUInt16_t reserved;
854 
858 typedef struct rlDevDataPathClkCfg
859 {
860 #ifndef MMWL_BIG_ENDIAN
861 
866  rlUInt8_t laneClkCfg;
877  rlUInt8_t dataRate;
878 #else
879 
889  rlUInt8_t dataRate;
895  rlUInt8_t laneClkCfg;
896 #endif
897 
900  rlUInt16_t reserved;
902 
906 typedef struct rlDevLvdsLaneCfg
907 {
913  rlUInt16_t laneFmtMap;
942  rlUInt16_t laneParamCfg;
944 
948 typedef struct rlDevContStreamingModeCfg
949 {
953  rlUInt16_t contStreamModeEn;
957  rlUInt16_t reserved;
959 
963 typedef struct rlDevCsi2Cfg
964 {
1006  rlUInt32_t lanePosPolSel;
1007 #ifndef MMWL_BIG_ENDIAN
1008 
1013  rlUInt8_t lineStartEndDis;
1017  rlUInt8_t reserved0;
1018 #else
1019 
1022  rlUInt8_t reserved0;
1028  rlUInt8_t lineStartEndDis;
1029 #endif
1030 
1033  rlUInt16_t reserved1;
1035 
1039 typedef struct rlDevHsiClk
1040 {
1050  rlUInt16_t hsiClk;
1054  rlUInt16_t reserved;
1055 }rlDevHsiClk_t;
1056 
1060 typedef struct rlDevHsiCfg
1061 {
1074 }rlDevHsiCfg_t;
1075 
1079 typedef struct rlDevConfig
1080 {
1081 #ifndef MMWL_BIG_ENDIAN
1082 
1088  rlUInt8_t aeCrcConfig;
1096  rlUInt8_t miscDevCfg;
1097 #else
1098 
1105  rlUInt8_t miscDevCfg;
1112  rlUInt8_t aeCrcConfig;
1113 #endif
1114 
1117  rlUInt16_t reserved1;
1121  rlUInt32_t reserved2;
1125  rlUInt32_t reserved3;
1127 
1131 typedef struct rlDebugSigEnConfig
1132 {
1140  rlUInt16_t clkOut;
1149  rlUInt16_t adcSignalOut;
1153  rlUInt32_t reserved0;
1157  rlUInt32_t reserved1;
1161  rlUInt32_t reserved2;
1163 
1167 typedef struct rlHsiDelayDummyConfig
1168 {
1169 #ifndef MMWL_BIG_ENDIAN
1170 
1179  rlUInt8_t enableMode;
1183  rlUInt8_t reserved0;
1184 #else
1185 
1188  rlUInt8_t reserved0;
1198  rlUInt8_t enableMode;
1199 #endif
1200 
1203  rlUInt16_t reserved1;
1214  rlUInt16_t delayVal;
1218  rlUInt16_t reserved2;
1227  rlUInt16_t dummyVal;
1231  rlUInt16_t reserved3;
1235  rlUInt32_t reserved4;
1237 
1241 typedef struct rlDevInternalCfg
1242 {
1243  rlUInt32_t memAddr;
1244  rlUInt32_t value;
1246 
1251 typedef struct rlFillLUTParams
1252 {
1257  rlUInt16_t chirpParamIndex;
1262  rlUInt16_t chirpParamSize;
1266  rlUInt16_t inputSize;
1270  rlUInt16_t lutGlobalOffset;
1272 
1273 /******************************************************************************
1274  * FUNCTION PROTOTYPES
1275  ******************************************************************************
1276  */
1277 
1292 /* Device Interface Functions */
1293 MMWL_EXPORT rlReturnVal_t rlDevicePowerOn(rlUInt8_t deviceMap,
1294  rlClientCbs_t clientCb);
1295 MMWL_EXPORT rlReturnVal_t rlDeviceAddDevices(rlUInt8_t deviceMap);
1296 MMWL_EXPORT rlReturnVal_t rlDeviceRemoveDevices(rlUInt8_t deviceMap);
1297 MMWL_EXPORT rlReturnVal_t rlDevicePowerOff(void);
1298 
1299 /* RF/DSP Start Functions */
1300 MMWL_EXPORT rlReturnVal_t rlDeviceRfStart(rlUInt8_t deviceMap);
1301 
1302 /* File Download Functions */
1303 MMWL_EXPORT rlReturnVal_t rlDeviceFileDownload(rlUInt8_t deviceMap,
1304  rlFileData_t *data,
1305  rlUInt16_t remChunks);
1306 
1307 /* Get Version Functions */
1308 MMWL_EXPORT rlReturnVal_t rlDeviceGetMssVersion(rlUInt8_t deviceMap,
1309  rlFwVersionParam_t *data);
1310 MMWL_EXPORT rlReturnVal_t rlDeviceGetRfVersion(rlUInt8_t deviceMap,
1311  rlFwVersionParam_t *data);
1312 MMWL_EXPORT rlReturnVal_t rlDeviceGetVersion(rlUInt8_t deviceMap,
1313  rlVersion_t *data);
1314 MMWL_EXPORT rlReturnVal_t rlDeviceGetMmWaveLinkVersion(rlSwVersionParam_t *data);
1315 
1316 /* MCU Clock configuration Functions */
1317 MMWL_EXPORT rlReturnVal_t rlDeviceMcuClkConfig(rlUInt8_t deviceMap,
1318  rlMcuClkCfg_t *data);
1319 
1320 /* PMIC Clock configuration Functions */
1321 MMWL_EXPORT rlReturnVal_t rlDevicePmicClkConfig(rlUInt8_t deviceMap,
1322  rlPmicClkCfg_t *data);
1323 
1324 /* Latetnt fault test configuration Functions */
1325 MMWL_EXPORT rlReturnVal_t rlDeviceLatentFaultTests(rlUInt8_t deviceMap,
1326  rllatentFault_t *data);
1327 
1328 /* Periodic test configuration Functions */
1329 MMWL_EXPORT rlReturnVal_t rlDeviceEnablePeriodicTests(rlUInt8_t deviceMap,
1330  rlperiodicTest_t *data);
1331 
1332 /* Test pattern configuration Functions */
1333 MMWL_EXPORT rlReturnVal_t rlDeviceSetTestPatternConfig(rlUInt8_t deviceMap,
1334  rltestPattern_t *data);
1335 
1336 /* mmWaveLink Protocol configuration Functions */
1337 MMWL_EXPORT rlReturnVal_t rlDeviceConfigureCrc(rlCrcType_t crcType);
1338 MMWL_EXPORT rlReturnVal_t rlDeviceConfigureAckTimeout(rlUInt32_t ackTimeout);
1339 MMWL_EXPORT rlReturnVal_t rlDeviceSetRetryCount(rlUInt8_t retryCnt);
1340 
1341 /* Continuous streaming mode Functions */
1342 MMWL_EXPORT rlReturnVal_t rlDeviceSetContStreamingModeConfig(rlUInt8_t deviceMap,
1344 MMWL_EXPORT rlReturnVal_t rlDeviceGetContStreamingModeConfig(rlUInt8_t deviceMap,
1346 MMWL_EXPORT rlReturnVal_t rlDeviceSetMiscConfig(rlUInt8_t deviceMap,
1347  rlDevMiscCfg_t *data);
1348 MMWL_EXPORT rlReturnVal_t rlDeviceSetDebugSigEnableConfig(rlUInt8_t deviceMap,
1349  rlDebugSigEnCfg_t *data);
1350 MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiDelayDummyConfig(rlUInt8_t deviceMap,
1351  rlHsiDelayDummyCfg_t *data);
1352 /* Get different fault status functions */
1353 MMWL_EXPORT rlReturnVal_t rlDeviceGetCpuFault(rlUInt8_t deviceMap, rlCpuFault_t *data);
1354 MMWL_EXPORT rlReturnVal_t rlDeviceGetEsmFault(rlUInt8_t deviceMap, rlMssEsmFault_t *data);
1355 
1378 /*data Path(LVDS/CSI2) configuration Functions */
1379 MMWL_EXPORT rlReturnVal_t rlDeviceSetDataFmtConfig(rlUInt8_t deviceMap,
1380  rlDevDataFmtCfg_t*data);
1381 MMWL_EXPORT rlReturnVal_t rlDeviceGetDataFmtConfig(rlUInt8_t deviceMap,
1382  rlDevDataFmtCfg_t*data);
1383 MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathConfig(rlUInt8_t deviceMap,
1384  rlDevDataPathCfg_t*data);
1385 MMWL_EXPORT rlReturnVal_t rlDeviceGetDataPathConfig(rlUInt8_t deviceMap,
1386  rlDevDataPathCfg_t*data);
1387 MMWL_EXPORT rlReturnVal_t rlDeviceSetLaneConfig(rlUInt8_t deviceMap,
1388  rlDevLaneEnable_t*data);
1389 MMWL_EXPORT rlReturnVal_t rlDeviceGetLaneConfig(rlUInt8_t deviceMap,
1390  rlDevLaneEnable_t*data);
1391 MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathClkConfig(rlUInt8_t deviceMap,
1392  rlDevDataPathClkCfg_t*data);
1393 MMWL_EXPORT rlReturnVal_t rlDeviceGetDataPathClkConfig(rlUInt8_t deviceMap,
1394  rlDevDataPathClkCfg_t*data);
1395 MMWL_EXPORT rlReturnVal_t rlDeviceSetLvdsLaneConfig(rlUInt8_t deviceMap,
1396  rlDevLvdsLaneCfg_t*data);
1397 MMWL_EXPORT rlReturnVal_t rlDeviceGetLvdsLaneConfig(rlUInt8_t deviceMap,
1398  rlDevLvdsLaneCfg_t*data);
1399 MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiConfig(rlUInt8_t deviceMap,
1400  rlDevHsiCfg_t*data);
1401 MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiClk(rlUInt8_t deviceMap,
1402  rlDevHsiClk_t*data);
1403 MMWL_EXPORT rlReturnVal_t rlDeviceSetCsi2Config(rlUInt8_t deviceMap,
1404  rlDevCsi2Cfg_t*data);
1405 MMWL_EXPORT rlReturnVal_t rlDeviceGetCsi2Config(rlUInt8_t deviceMap,
1406  rlDevCsi2Cfg_t*data);
1407 MMWL_EXPORT rlReturnVal_t rlDeviceSetInternalConf(rlUInt8_t deviceMap,
1408  rlUInt32_t memAddr, rlUInt32_t value);
1409 MMWL_EXPORT rlReturnVal_t rlDeviceGetInternalConf(rlUInt8_t deviceMap,
1410  rlUInt32_t memAddr, rlUInt32_t* value);
1411 MMWL_EXPORT rlReturnVal_t rlDeviceAdvFrameConfigApply(rlUInt8_t deviceMap,
1412  rlAdvFrameDataCfg_t* data);
1413 MMWL_EXPORT rlReturnVal_t rlDeviceFrameConfigApply(rlUInt8_t deviceMap,
1414  rlFrameApplyCfg_t* data);
1415 MMWL_EXPORT rlReturnVal_t rlDevSetFillLUTBuff(rlFillLUTParams_t *fillLUTParams, rlInt8_t *inData,
1416  rlInt8_t *outData, rlUInt16_t *LUTAddrOffset);
1417 
1418 
1424 #ifdef __cplusplus
1425 }
1426 #endif
1427 
1428 #endif
1429 /*
1430  * END OF RL_DEVICE_H
1431  */
1432 
rlUInt8_t transferFmtPkt0
Data out Format, b5:0 Packet 0 content selection 000001 - ADC_DATA_ONLY 000110 - CP_ADC_DATA ...
Definition: rl_device.h:701
MMWL_EXPORT rlReturnVal_t rlDevicePmicClkConfig(rlUInt8_t deviceMap, rlPmicClkCfg_t *data)
Sets the configurations for PMIC clock.
Definition: rl_device.c:1487
rlUInt16_t reserved
Reserved for future use .
Definition: rl_device.h:957
MMWL_EXPORT rlReturnVal_t rlDeviceSetDataFmtConfig(rlUInt8_t deviceMap, rlDevDataFmtCfg_t *data)
Sets LVDS/CSI2 Data output format.
Definition: rl_device.c:608
rlUInt16_t lutGlobalOffset
LUT offset within the entire 12kB buffer .
Definition: rl_device.h:1270
rlUInt8_t mcuClkSrc
This field specifies the source of the MCU clock. Applicable only in case of MCU clock enable....
Definition: rl_device.h:119
MMWL_EXPORT rlReturnVal_t rlDeviceRfStart(rlUInt8_t deviceMap)
Enables mmwave RF/Analog Sub system.
Definition: rl_device.c:326
mmWaveLink client callback structure
Definition: mmwavelink.h:1529
rlUInt16_t testPatrnPktSize
Number of ADC samples to capture for each RX Valid range: 64 to MAX_NUM_SAMPLES, Where MAX_NUM_SAMPLE...
Definition: rl_device.h:517
rlUInt32_t reserved
Reserved for future use.
Definition: rl_device.h:604
rlUInt16_t contStreamModeEn
Enable - 1, Disable - 0.
Definition: rl_device.h:953
MMWL_EXPORT rlReturnVal_t rlDeviceMcuClkConfig(rlUInt8_t deviceMap, rlMcuClkCfg_t *data)
Sets the configurations to setup the desired frequency of the MCU Clock.
Definition: rl_device.c:1438
rlUInt32_t freqSlope
Applicable only in case of PMIC clock enable. Else ignored. Bit[25:0] - Frequency slope value to be...
Definition: rl_device.h:267
rlUInt32_t testPatRx1Qcfg
This field specifies the values for Rx1, Q channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:560
rlUInt32_t lanePosPolSel
b2:0 - DATA_LANE0_POS Valid values (Should be a unique position, lane 0 cannot be disabled): 001b...
Definition: rl_device.h:1006
rlUInt16_t reserved2
Reserved for future use.
Definition: rl_device.h:1218
MMWL_EXPORT rlReturnVal_t rlDeviceGetCsi2Config(rlUInt8_t deviceMap, rlDevCsi2Cfg_t *data)
Gets Csi2 data format Configuration.
Definition: rl_device.c:1241
rlUInt8_t reserved0
Reserved for future use.
Definition: rl_device.h:1183
MMWL_EXPORT rlReturnVal_t rlDeviceLatentFaultTests(rlUInt8_t deviceMap, rllatentFault_t *data)
Sets the configurations for latent fault test.
Definition: rl_device.c:1544
mmWaveLink firmware version structure
Definition: mmwavelink.h:2537
MMWL_EXPORT rlReturnVal_t rlDeviceGetMmWaveLinkVersion(rlSwVersionParam_t *data)
Get mmWaveLink Version.
Definition: rl_device.c:555
rlUInt16_t delayVal
Delay Count value. Mode DELAY_VAL Definition 0 NA 1 1 LSB = 20 ns delay Delay Added = (DELAY_...
Definition: rl_device.h:1214
rlUInt16_t clkOut
0 : NO_CLK_OUT, Disable clock out signal 1 : REF_CLK_OUT, Reference clock out enable 2 : APLL_CLK...
Definition: rl_device.h:1140
MMWL_EXPORT rlReturnVal_t rlDeviceSetTestPatternConfig(rlUInt8_t deviceMap, rltestPattern_t *data)
Setup for test pattern to be generated.
Definition: rl_device.c:1640
MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathClkConfig(rlUInt8_t deviceMap, rlDevDataPathClkCfg_t *data)
Sets LVDS Clock Configuration.
Definition: rl_device.c:896
rlUInt8_t chInterleave
Channel interleaving of the samples stored in the ADC buffer to be transferred out on the data path...
Definition: rl_device.h:651
Structure used for filling chirp LUT parameter buffer for Advanced chirp configuration....
Definition: rl_device.h:1251
rlUInt8_t srcClkDiv
This field specifies the division factor to be applie to source clock. Applicable only in case of P...
Definition: rl_device.h:204
MMWL_EXPORT rlReturnVal_t rlDeviceSetContStreamingModeConfig(rlUInt8_t deviceMap, rlDevContStreamingModeCfg_t *data)
Sets Continous Streaming Mode Configuration.
Definition: rl_device.c:1092
MMWL_EXPORT rlReturnVal_t rlDeviceRemoveDevices(rlUInt8_t deviceMap)
Removes connected mmwave devices.
Definition: rl_device.c:202
rlUInt8_t reserved
Reserved for future use.
Definition: rl_device.h:751
rlDevDataPathCfg_t * dataPath
Data path config.
Definition: rl_device.h:1069
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:1054
rlUInt16_t rxChannelEn
RX Channel Bitmap b0 RX0 Channel Enable 0 Disable RX Channel 0 1 Enable RX Channel 0 b1 RX1 C...
Definition: rl_device.h:627
mmwave radar data path config.
Definition: rl_device.h:678
MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiClk(rlUInt8_t deviceMap, rlDevHsiClk_t *data)
Sets High Speed Interface Clock.
Definition: rl_device.c:1394
rlUInt8_t lineStartEndDis
CSI2 Line Start and End 1 - Disable 0 - Enable.
Definition: rl_device.h:1013
rlUInt32_t testPatRx2Icfg
This field specifies the values for Rx2, I channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:570
rlUInt8_t aeCrcConfig
Set CRC type of Async Event message from MSS to Host 0 - 16 Bit CRC 1 - 32 Bit CRC 2 - 64 Bit C...
Definition: rl_device.h:1088
Continous streaming mode configuration.
Definition: rl_device.h:948
rlUInt16_t laneParamCfg
Lane Parameter configurations b0 - 0(LSB first), 1(MSB first) b1 - 0(Packet End Pulse Disable),...
Definition: rl_device.h:942
MMWL_EXPORT rlReturnVal_t rlDeviceEnablePeriodicTests(rlUInt8_t deviceMap, rlperiodicTest_t *data)
Sets the configurations for periodic test.
Definition: rl_device.c:1591
rlUInt32_t reserved1
Reserved for future use.
Definition: rl_device.h:1157
mmwave radar high speed Data path configuraiton
Definition: rl_device.h:1060
DataPath clock configuration.
Definition: rl_device.h:858
mmwave radar high speed clock configuration
Definition: rl_device.h:1039
mmwave radar device latent fault test
Definition: rl_device.h:340
rlUInt32_t testEn1
Bits Definition 0 RESERVED 1 DMA self-test 2 RESERVED 3 RTI self-test 4 RESERVED 5 EDMA s...
Definition: rl_device.h:377
rlUInt8_t cq0TransSize
Number of samples (in 16 bit halfwords) of CQ0 data to be transferred. Valid range [32 halfwords to 1...
Definition: rl_device.h:731
rlUInt8_t intfSel
Data Path Interface, 0x0 CSI2 interface selected 0x1 LVDS interface selected .
Definition: rl_device.h:686
rlUInt16_t adcFmt
ADC out format - 0(Real), 1(Complex), 2(Complex with Image band), 3(Pseudo Real)
Definition: rl_device.h:635
mmwave radar device config
Definition: rl_device.h:1079
MMWL_EXPORT rlReturnVal_t rlDeviceGetRfVersion(rlUInt8_t deviceMap, rlFwVersionParam_t *data)
Get mmWave RF ROM and patch version.
Definition: rl_device.c:466
LVDS Lane configuration.
Definition: rl_device.h:906
MMWL_EXPORT rlReturnVal_t rlDeviceGetMssVersion(rlUInt8_t deviceMap, rlFwVersionParam_t *data)
Get mmWave Master SS version.
Definition: rl_device.c:428
rlUInt32_t testPatRx3Icfg
This field specifies the values for Rx3, I channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:590
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:900
rlUInt16_t chirpParamIndex
Chirp Parameter Index Valid range: 0 to 9 .
Definition: rl_device.h:1257
rlUInt16_t reserved1
Reserved for future use.
Definition: rl_device.h:470
rlUInt8_t reserved
Reserved for future use.
Definition: rl_device.h:300
Frame config API parameters.
Definition: rl_sensor.h:1292
rlUInt16_t laneFmtMap
Lane format 0x0000 Format map 0 (Rx0,Rx1,...) 0x0001 Format map 1 (Rx3,Rx2,......
Definition: rl_device.h:913
rlUInt8_t repMode
Value Definition 0 Report is sent every monitoring period 1 Report is sent only on a failure .
Definition: rl_device.h:450
MMWL_EXPORT rlReturnVal_t rlDeviceFileDownload(rlUInt8_t deviceMap, rlFileData_t *data, rlUInt16_t remChunks)
Download mmwave Firmware/Patches over SPI.
Definition: rl_device.c:367
mmwave radar test pattern config
Definition: rl_device.h:476
rlUInt8_t miscDevCfg
Bit Description 0 1 - Enable MSS logger 0 - Disable MSS logger Default value : 0 1-31 Reserve...
Definition: rl_device.h:1096
rlUInt8_t testMode
Value Definition 0 Production mode. Latent faults are tested and any failures are reported 1 Char...
Definition: rl_device.h:401
rlUInt32_t testEn2
Bits Definition 0 RESERVED 1 RESERVED 2 RESERVED 3 VIM RAM parity test 4 SCI boot time test...
Definition: rl_device.h:387
rlUInt8_t dataRate
Data rate selection 0001b - 600 Mbps (DDR only) 0010b - 450 Mbps (SDR, DDR) 0011b - 400 Mbps (D...
Definition: rl_device.h:877
rlUInt8_t modeSel
This field specifies the mode of operation for the PMIC clock generation. Applicable only in case o...
Definition: rl_device.h:216
rlUInt32_t numTestPtrnPkts
Number of test pattern packets to send, for infinite packets set it to 0.
Definition: rl_device.h:521
MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiDelayDummyConfig(rlUInt8_t deviceMap, rlHsiDelayDummyCfg_t *data)
This API can be used to increase the time between the availability of chirp data and the transfer of ...
Definition: rl_device.c:1796
MMWL_EXPORT rlReturnVal_t rlDeviceSetDebugSigEnableConfig(rlUInt8_t deviceMap, rlDebugSigEnCfg_t *data)
Information to enable the pin-mux to bring out debug signals for the chirp cycle.
Definition: rl_device.c:1737
CSI2 configuration.
Definition: rl_device.h:963
rlUInt16_t reserved3
Reserved for future use.
Definition: rl_device.h:1231
rlDevDataPathClkCfg_t * dataPathClk
Data path clock configuration.
Definition: rl_device.h:1073
rlUInt32_t periodicity
1 LSB = 1 ms Periodicity at which tests need to be run Minimum value is 40 ms Maximum value is 15...
Definition: rl_device.h:435
rlUInt32_t reserved
Reserved for future use.
Definition: rl_device.h:672
rlUInt8_t iqSwapSel
I/Q Swap selection for complex outputs 0 Sample interleave mode - I first 1 Sample interleave mod...
Definition: rl_device.h:643
MMWL_EXPORT rlReturnVal_t rlDeviceConfigureAckTimeout(rlUInt32_t ackTimeout)
Configures the Acknowledgement timeout in mmWaveLink Driver.
Definition: rl_device.c:1951
MMWL_EXPORT rlReturnVal_t rlDeviceAdvFrameConfigApply(rlUInt8_t deviceMap, rlAdvFrameDataCfg_t *data)
Sets Advance Frame data path Configuration.
Definition: rl_device.c:2118
rlUInt16_t inputSize
No of elements/data in the buffer .
Definition: rl_device.h:1266
mmwave radar data path lane enable
Definition: rl_device.h:830
Debug signals enable structure.
Definition: rl_device.h:1131
MMWL_EXPORT rlReturnVal_t rlDeviceSetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t *data)
Sets Lane enable Configuration.
Definition: rl_device.c:800
rlUInt16_t reserved1
Reserved for future use.
Definition: rl_device.h:1117
rlUInt8_t cq1TransSize
Number of samples (in 16 bit halfwords) of CQ1 data to be transferred. Valid range [32 halfwords to 1...
Definition: rl_device.h:739
rlUInt32_t testPatRx0Qcfg
This field specifies the values for Rx0, Q channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:540
rlUInt32_t reserved3
Reserved for future use.
Definition: rl_device.h:1125
rlUInt8_t testPatGenCtrl
This field controls the enable-disable of the generation of the test pattern. Value Description 0...
Definition: rl_device.h:485
MMWL_EXPORT rlReturnVal_t rlDeviceFrameConfigApply(rlUInt8_t deviceMap, rlFrameApplyCfg_t *data)
Sets Frame data path Configuration.
Definition: rl_device.c:2168
rlUInt16_t reserved1
Reserved for future use.
Definition: rl_device.h:1033
MMWL_EXPORT rlReturnVal_t rlDeviceGetDataPathConfig(rlUInt8_t deviceMap, rlDevDataPathCfg_t *data)
Gets data path Configuration.
Definition: rl_device.c:752
MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiConfig(rlUInt8_t deviceMap, rlDevHsiCfg_t *data)
: This function sets the High Speed Interface(LVDS/CSI2) clock, lane, data rate and data format
Definition: rl_device.c:1293
mmwave radar periodicity test config
Definition: rl_device.h:426
MMWL_EXPORT rlReturnVal_t rlDeviceSetCsi2Config(rlUInt8_t deviceMap, rlDevCsi2Cfg_t *data)
Sets CSI2 data format Configuration.
Definition: rl_device.c:1193
rlUInt32_t testPatRx3Qcfg
This field specifies the values for Rx3, Q channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:600
rlUInt8_t reserved
Reserved for future use.
Definition: rl_device.h:135
rlUInt32_t chunkLen
File data length.
Definition: rl_device.h:90
mmwave radar data format config
Definition: rl_device.h:610
mmwave radar device MCU Clock output
Definition: rl_device.h:101
HSI delay dummy structure.
Definition: rl_device.h:1167
rlUInt8_t testPatGenTime
Number of system clocks (200 MHz) between successive samples for the test pattern gen....
Definition: rl_device.h:490
mmwave radar device PMIC Clock output
Definition: rl_device.h:175
rlUInt32_t testPatRx0Icfg
This field specifies the values for Rx0, I channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:530
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:852
Structure to hold the MSS ESM Fault data structure for event RL_DEV_AE_MSS_ESMFAULT_SB.
Definition: mmwavelink.h:1773
MMWL_EXPORT rlReturnVal_t rlDeviceSetMiscConfig(rlUInt8_t deviceMap, rlDevMiscCfg_t *data)
Setup misc. device configurations.
Definition: rl_device.c:1688
rlUInt16_t adcSignalOut
Bits Description b0 ADC_VALID, ADC valid signal enabled in GPIO_0 b31:1 RESERVED Value Descript...
Definition: rl_device.h:1149
rlUInt32_t reserved0
Reserved for future use.
Definition: rl_device.h:1153
MMWL_EXPORT rlReturnVal_t rlDevicePowerOn(rlUInt8_t deviceMap, rlClientCbs_t clientCb)
Bring mmwave Device Out of Reset.
Definition: rl_device.c:100
rlUInt16_t reserved1
Reserved for future use.
Definition: rl_device.h:1203
rlUInt8_t transferFmtPkt1
Data out Format, b5:0 Packet 1 content selection 000000 - Suppress Packet 1 001110 - CP_CQ_DATA...
Definition: rl_device.h:714
rlUInt8_t minNdivVal
Applicable only in case of PMIC clock enable. Else ignored. Min allowed divider value (depends upon...
Definition: rl_device.h:277
MMWL_EXPORT rlReturnVal_t rlDeviceGetInternalConf(rlUInt8_t deviceMap, rlUInt32_t memAddr, rlUInt32_t *value)
Reads Internal Configuration Memory.
Definition: rl_device.c:2046
rlUInt32_t reserved2
Reserved for future use.
Definition: rl_device.h:1121
rlUInt32_t testEn
Bit value definition: 1 - Enable, 0 - Disable Bit Monitoring type 0 PERIODIC_CONFG_REGISTER_READ_...
Definition: rl_device.h:443
rlUInt16_t chirpParamSize
Chirp Parameter Size Mainly applicable for Start Frequency, Idle Time and ADC Start Time .
Definition: rl_device.h:1262
rlUInt8_t cqConfig
This field specifies the data size of CQ samples on the lanes. b1:0 Data size 00 12 bits 01 14 ...
Definition: rl_device.h:723
mmwavelink software version structure
Definition: mmwavelink.h:2679
rlUInt8_t repMode
Value Definition 0 Report is sent after test completion 1 Report is send only upon a failure .
Definition: rl_device.h:394
rlUInt32_t testPatRx2Qcfg
This field specifies the values for Rx2, Q channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:580
MMWL_EXPORT rlReturnVal_t rlDeviceGetEsmFault(rlUInt8_t deviceMap, rlMssEsmFault_t *data)
Get MasterSS ESM fault status.
Definition: rl_device.c:1890
MMWL_EXPORT rlReturnVal_t rlDevicePowerOff(void)
Shutdown mmwave Device.
Definition: rl_device.c:262
rlUInt8_t pmicClkCtrl
This field controls the enable - disable of the PMIC clock. Value Description 0x0 Disable PMIC cl...
Definition: rl_device.h:184
rlUInt32_t testPatRx1Icfg
This field specifies the values for Rx1, I channel. Applicable only in case of test pattern enable....
Definition: rl_device.h:550
File Dowload data structure.
Definition: rl_device.h:85
Structure to hold the MSS/radarSS CPU Fault data strucutre for event RL_DEV_AE_MSS_CPUFAULT_SB and RL...
Definition: mmwavelink.h:2367
Radar Internal configuration.
Definition: rl_device.h:1241
rlUInt32_t reserved2
Reserved for future use.
Definition: rl_device.h:1161
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:420
rlUInt16_t laneEn
Lane Enable Bitmap b0 Lane 0 Enable 0 Disable lane 0 1 Enable lane 0 b1 Lane 1 Enable 0 Dis...
Definition: rl_device.h:848
rlUInt8_t reserved0
Reserved for future use.
Definition: rl_device.h:1017
rlUInt8_t laneClkCfg
Clock COnfiguration 0 -SDR Clock 1 - DDR Clock (Only valid value for CSI2) .
Definition: rl_device.h:866
rlUInt32_t reserved4
Reserved for future use.
Definition: rl_device.h:1235
mmwavelink version structure
Definition: mmwavelink.h:2753
rlUInt16_t adcBits
ADC out bits - 0(12 Bits), 1(14 Bits), 2(16 Bits)
Definition: rl_device.h:631
rlUInt8_t srcClkDiv
This field specifies the division factor to be applied to source clock. Applicable only in case of ...
Definition: rl_device.h:131
MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathConfig(rlUInt8_t deviceMap, rlDevDataPathCfg_t *data)
Sets LVDS/CSI2 Path Configuration.
Definition: rl_device.c:704
MMWL_EXPORT rlReturnVal_t rlDeviceGetContStreamingModeConfig(rlUInt8_t deviceMap, rlDevContStreamingModeCfg_t *data)
Gets continuous Streaming Mode Configuration.
Definition: rl_device.c:1145
MMWL_EXPORT rlReturnVal_t rlDeviceGetDataFmtConfig(rlUInt8_t deviceMap, rlDevDataFmtCfg_t *data)
Gets LVDS/CSI2 Data output format.
Definition: rl_device.c:657
Advance Frame data config API parameters. This structure is only applicable when mmWaveLink instance ...
Definition: rl_sensor.h:1380
rlUInt8_t maxNdivVal
Applicable only in case of PMIC clock enable. Else ignored. Max allowed divider value (depends upon...
Definition: rl_device.h:286
MMWL_EXPORT rlReturnVal_t rlDeviceConfigureCrc(rlCrcType_t crcType)
Configures the CRC Type in mmWaveLink Driver.
Definition: rl_device.c:1934
rlUInt8_t reserved0
Reserved for future use.
Definition: rl_device.h:454
rlUInt8_t enableMode
This field decides if the Delay or Dummy option is enabled or disabled Mode Definition 0 - No Del...
Definition: rl_device.h:1179
rlUInt16_t hsiClk
High Speed Interface Clock configurations. Below table indicates possible values for different data r...
Definition: rl_device.h:1050
rlUInt16_t dummyVal
Dummy Count value. Number of dummy bytes added per chirp For 12-bit ADC data, 12 * Dummy Value ...
Definition: rl_device.h:1227
rlUInt8_t mcuClkCtrl
This field controls the enable - disable of the MCU clock. Value Description 0x0 Disable MCU cloc...
Definition: rl_device.h:110
rlUInt8_t cq2TransSize
Number of samples (in 16 bit halfwords) of CQ2 data to be transferred. Valid range [32 halfwords to 1...
Definition: rl_device.h:747
MMWL_EXPORT rlReturnVal_t rlDeviceSetRetryCount(rlUInt8_t retryCnt)
: Set the command retry count
Definition: rl_device.c:1969
MMWL_EXPORT rlReturnVal_t rlDevSetFillLUTBuff(rlFillLUTParams_t *fillLUTParams, rlInt8_t *inData, rlInt8_t *outData, rlUInt16_t *LUTAddrOffset)
Filling chirp LUT parameter buffer for Advanced chirp configuration.
Definition: rl_device.c:2226
MMWL_EXPORT rlReturnVal_t rlDeviceAddDevices(rlUInt8_t deviceMap)
Bring mmwave Device Out of Reset.
Definition: rl_device.c:175
MMWL_EXPORT rlReturnVal_t rlDeviceGetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t *data)
Gets Lane enable Configuration.
Definition: rl_device.c:848
rlDevDataFmtCfg_t * datafmt
Data format config.
Definition: rl_device.h:1065
rlUInt8_t pmicClkSrc
This field specifies the source of the PMIC clock. Applicable only in case of PMIC clock enable....
Definition: rl_device.h:192
rlUInt8_t clkDitherEn
Applicable only in case of PMIC clock enable. Else ignored. This field controls the enable-disable ...
Definition: rl_device.h:296
MMWL_EXPORT rlReturnVal_t rlDeviceSetInternalConf(rlUInt8_t deviceMap, rlUInt32_t memAddr, rlUInt32_t value)
Writes Internal Configuration Memory.
Definition: rl_device.c:1992
MMWL_EXPORT rlReturnVal_t rlDeviceGetCpuFault(rlUInt8_t deviceMap, rlCpuFault_t *data)
Get MasterSS CPU fault status.
Definition: rl_device.c:1843
MMWL_EXPORT rlReturnVal_t rlDeviceGetVersion(rlUInt8_t deviceMap, rlVersion_t *data)
Get mmWave Hardware, Firmware/patch and mmWaveLink version.
Definition: rl_device.c:498

Copyright 2021, Texas Instruments Incorporated