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 
55 /****************************************************************************************
56 * MACRO DEFINITIONS
57 ****************************************************************************************
58 */
59 
60 /******************************************************************************
61  * TYPE-DEFINE STRUCT/ENUM/UNION DEFINITIONS
62  ******************************************************************************
63  */
64 
65 
69 #define RL_DEV_I_FIRST (0x0U)
70 #define RL_DEV_Q_FIRST (0x1U)
71 #define RL_DEV_IQSWAP_MAX (0x2U)
72 
76 #define RL_DEV_CH_INTERLEAVED (0x0U)
77 #define RL_DEV_CH_NON_INTERLEAVED (0x1U)
78 #define RL_DEV_CH_INTERLEAVE_MAX (0x2U)
79 
80 
84 typedef struct rlFileData
85 {
89  rlUInt32_t chunkLen;
93  rlUInt16_t fData[RL_CMD_PL_LEN_MAX/2U];
95 
96 
100 typedef struct rlMcuClkCfg
101 {
102 #ifndef MMWL_BIG_ENDIAN
103 
109  rlUInt8_t mcuClkCtrl;
118  rlUInt8_t mcuClkSrc;
129  rlUInt8_t srcClkDiv;
133  rlUInt8_t reserved;
134 #else
135 
143  rlUInt8_t mcuClkSrc;
150  rlUInt8_t mcuClkCtrl;
154  rlUInt8_t reserved;
165  rlUInt8_t srcClkDiv;
166 #endif
168 
172 typedef struct rlPmicClkCfg
173 {
174 #ifndef MMWL_BIG_ENDIAN
175 
181  rlUInt8_t pmicClkCtrl;
189  rlUInt8_t pmicClkSrc;
200  rlUInt8_t srcClkDiv;
212  rlUInt8_t modeSel;
213 #else
214 
221  rlUInt8_t pmicClkSrc;
228  rlUInt8_t pmicClkCtrl;
240  rlUInt8_t modeSel;
251  rlUInt8_t srcClkDiv;
252 #endif
253 
262  rlUInt32_t freqSlope;
263 #ifndef MMWL_BIG_ENDIAN
264 
268  rlUInt8_t minNdivVal;
273  rlUInt8_t maxNdivVal;
283  rlUInt8_t clkDitherEn;
287  rlUInt8_t reserved;
288 #else
289 
293  rlUInt8_t maxNdivVal;
298  rlUInt8_t minNdivVal;
302  rlUInt8_t reserved;
312  rlUInt8_t clkDitherEn;
313 #endif
315 
319 typedef struct rllatentFault
320 {
356  rlUInt32_t testEn1;
366  rlUInt32_t testEn2;
367 #ifndef MMWL_BIG_ENDIAN
368 
373  rlUInt8_t repMode;
380  rlUInt8_t testMode;
381 #else
382 
388  rlUInt8_t testMode;
394  rlUInt8_t repMode;
395 #endif
396 
399  rlUInt16_t reserved;
400 
402 
406 typedef struct rlperiodicTest
407 {
410  rlUInt32_t periodicity;
418  rlUInt32_t testEn;
419 #ifndef MMWL_BIG_ENDIAN
420 
425  rlUInt8_t repMode;
429  rlUInt8_t reserved0;
430 #else
431 
434  rlUInt8_t reserved0;
440  rlUInt8_t repMode;
441 #endif
442 
445  rlUInt16_t reserved1;
447 
451 typedef struct rltestPattern
452 {
453 #ifndef MMWL_BIG_ENDIAN
454 
461  rlUInt8_t testPatGenCtrl;
466  rlUInt8_t testPatGenTime;
467 #else
468 
472  rlUInt8_t testPatGenTime;
479  rlUInt8_t testPatGenCtrl;
480 #endif
481 
492  rlUInt16_t testPatrnPktSize;
496  rlUInt32_t numTestPtrnPkts;
505  rlUInt32_t testPatRx0Icfg;
515  rlUInt32_t testPatRx0Qcfg;
525  rlUInt32_t testPatRx1Icfg;
535  rlUInt32_t testPatRx1Qcfg;
545  rlUInt32_t testPatRx2Icfg;
555  rlUInt32_t testPatRx2Qcfg;
565  rlUInt32_t testPatRx3Icfg;
575  rlUInt32_t testPatRx3Qcfg;
579  rlUInt32_t reserved;
581 
585 typedef struct rlDevDataFmtCfg
586 {
602  rlUInt16_t rxChannelEn;
606  rlUInt16_t adcBits;
610  rlUInt16_t adcFmt;
611 #ifndef MMWL_BIG_ENDIAN
612 
618  rlUInt8_t iqSwapSel;
626  rlUInt8_t chInterleave;
627 #else
628 
635  rlUInt8_t chInterleave;
642  rlUInt8_t iqSwapSel;
643 #endif
644 
647  rlUInt32_t reserved;
649 
653 typedef struct rlDevDataPathCfg
654 {
655 #ifndef MMWL_BIG_ENDIAN
656 
664  rlUInt8_t intfSel;
678  rlUInt8_t transferFmtPkt0;
691  rlUInt8_t transferFmtPkt1;
700  rlUInt8_t cqConfig;
708  rlUInt8_t cq0TransSize;
716  rlUInt8_t cq1TransSize;
724  rlUInt8_t cq2TransSize;
728  rlUInt8_t reserved;
729 #else
730 
743  rlUInt8_t transferFmtPkt0;
752  rlUInt8_t intfSel;
761  rlUInt8_t cqConfig;
774  rlUInt8_t transferFmtPkt1;
782  rlUInt8_t cq2TransSize;
790  rlUInt8_t cq1TransSize;
794  rlUInt8_t reserved;
802  rlUInt8_t cq0TransSize;
803 #endif
805 
809 typedef struct rlDevLaneEnable
810 {
827  rlUInt16_t laneEn;
831  rlUInt16_t reserved;
833 
837 typedef struct rlDevDataPathClkCfg
838 {
839 #ifndef MMWL_BIG_ENDIAN
840 
845  rlUInt8_t laneClkCfg;
857  rlUInt8_t dataRate;
858 #else
859 
870  rlUInt8_t dataRate;
876  rlUInt8_t laneClkCfg;
877 #endif
878 
881  rlUInt16_t reserved;
883 
887 typedef struct rlDevLvdsLaneCfg
888 {
894  rlUInt16_t laneFmtMap;
923  rlUInt16_t laneParamCfg;
925 
929 typedef struct rlDevContStreamingModeCfg
930 {
934  rlUInt16_t contStreamModeEn;
938  rlUInt16_t reserved;
940 
944 typedef struct rlDevCsi2Cfg
945 {
988  rlUInt32_t lanePosPolSel;
992  rlUInt32_t reserved1;
994 
998 typedef struct rlDevHsiClk
999 {
1009  rlUInt16_t hsiClk;
1013  rlUInt16_t reserved;
1014 }rlDevHsiClk_t;
1015 
1019 typedef struct rlDevHsiCfg
1020 {
1033 }rlDevHsiCfg_t;
1034 
1035 typedef struct rlDevConfig
1036 {
1037 #ifndef MMWL_BIG_ENDIAN
1038 
1044  rlUInt8_t aeCrcConfig;
1048  rlUInt8_t reserved0;
1049 #else
1050 
1053  rlUInt8_t reserved0;
1060  rlUInt8_t aeCrcConfig;
1061 #endif
1062 
1065  rlUInt16_t reserved1;
1069  rlUInt32_t reserved2;
1073  rlUInt32_t reserved3;
1074 }rlDevMiscCfg_t;
1075 
1076 /******************************************************************************
1077  * FUNCTION PROTOTYPES
1078  ******************************************************************************
1079  */
1080 
1095 /* Device Interface Functions */
1096 MMWL_EXPORT rlReturnVal_t rlDevicePowerOn(rlUInt8_t deviceMap,
1097  rlClientCbs_t clientCb);
1098 MMWL_EXPORT rlReturnVal_t rlDeviceAddDevices(rlUInt8_t deviceMap);
1099 MMWL_EXPORT rlReturnVal_t rlDeviceRemoveDevices(rlUInt8_t deviceMap);
1100 MMWL_EXPORT rlReturnVal_t rlDevicePowerOff(void);
1101 
1102 /* RF/DSP Start Functions */
1103 MMWL_EXPORT rlReturnVal_t rlDeviceRfStart(rlUInt8_t deviceMap);
1104 
1105 /* File Download Functions */
1106 MMWL_EXPORT rlReturnVal_t rlDeviceFileDownload(rlUInt8_t deviceMap,
1107  rlFileData_t *data,
1108  rlUInt16_t remChunks);
1109 
1110 /* Get Version Functions */
1111 MMWL_EXPORT rlReturnVal_t rlDeviceGetMssVersion(rlUInt8_t deviceMap,
1112  rlFwVersionParam_t *data);
1113 MMWL_EXPORT rlReturnVal_t rlDeviceGetRfVersion(rlUInt8_t deviceMap,
1114  rlFwVersionParam_t *data);
1115 MMWL_EXPORT rlReturnVal_t rlDeviceGetVersion(rlUInt8_t deviceMap,
1116  rlVersion_t *data);
1117 MMWL_EXPORT rlReturnVal_t rlDeviceGetMmWaveLinkVersion(rlSwVersionParam_t *data);
1118 
1119 /* MCU Clock configuration Functions */
1120 MMWL_EXPORT rlReturnVal_t rlDeviceMcuClkConfig(rlUInt8_t deviceMap,
1121  rlMcuClkCfg_t *data);
1122 
1123 /* PMIC Clock configuration Functions */
1124 MMWL_EXPORT rlReturnVal_t rlDevicePmicClkConfig(rlUInt8_t deviceMap,
1125  rlPmicClkCfg_t *data);
1126 
1127 /* Latetnt fault test configuration Functions */
1128 MMWL_EXPORT rlReturnVal_t rlDeviceLatentFaultTests(rlUInt8_t deviceMap,
1129  rllatentFault_t *data);
1130 
1131 /* Periodic test configuration Functions */
1132 MMWL_EXPORT rlReturnVal_t rlDeviceEnablePeriodicTests(rlUInt8_t deviceMap,
1133  rlperiodicTest_t *data);
1134 
1135 /* Test pattern configuration Functions */
1136 MMWL_EXPORT rlReturnVal_t rlDeviceSetTestPatternConfig(rlUInt8_t deviceMap,
1137  rltestPattern_t *data);
1138 
1139 /* mmWaveLink Protocol configuration Functions */
1140 MMWL_EXPORT rlReturnVal_t rlDeviceConfigureCrc(rlCrcType_t crcType);
1141 MMWL_EXPORT rlReturnVal_t rlDeviceConfigureAckTimeout(rlUInt32_t ackTimeout);
1142 
1143 /* Continuous streaming mode Functions */
1144 MMWL_EXPORT rlReturnVal_t rlDeviceSetContStreamingModeConfig(rlUInt8_t deviceMap,
1146 MMWL_EXPORT rlReturnVal_t rlDeviceGetContStreamingModeConfig(rlUInt8_t deviceMap,
1148 MMWL_EXPORT rlReturnVal_t rlDeviceSetMiscConfig(rlUInt8_t deviceMap,
1149  rlDevMiscCfg_t *data);
1150 
1173 /*data Path(LVDS/CSI2) configuration Functions */
1174 MMWL_EXPORT rlReturnVal_t rlDeviceSetDataFmtConfig(rlUInt8_t deviceMap,
1175  rlDevDataFmtCfg_t*data);
1176 MMWL_EXPORT rlReturnVal_t rlDeviceGetDataFmtConfig(rlUInt8_t deviceMap,
1177  rlDevDataFmtCfg_t*data);
1178 MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathConfig(rlUInt8_t deviceMap,
1179  rlDevDataPathCfg_t*data);
1180 MMWL_EXPORT rlReturnVal_t rlDeviceGetDataPathConfig(rlUInt8_t deviceMap,
1181  rlDevDataPathCfg_t*data);
1182 MMWL_EXPORT rlReturnVal_t rlDeviceSetLaneConfig(rlUInt8_t deviceMap,
1183  rlDevLaneEnable_t*data);
1184 MMWL_EXPORT rlReturnVal_t rlDeviceGetLaneConfig(rlUInt8_t deviceMap,
1185  rlDevLaneEnable_t*data);
1186 MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathClkConfig(rlUInt8_t deviceMap,
1187  rlDevDataPathClkCfg_t*data);
1188 MMWL_EXPORT rlReturnVal_t rlDeviceGetDataPathClkConfig(rlUInt8_t deviceMap,
1189  rlDevDataPathClkCfg_t*data);
1190 MMWL_EXPORT rlReturnVal_t rlDeviceSetLvdsLaneConfig(rlUInt8_t deviceMap,
1191  rlDevLvdsLaneCfg_t*data);
1192 MMWL_EXPORT rlReturnVal_t rlDeviceGetLvdsLaneConfig(rlUInt8_t deviceMap,
1193  rlDevLvdsLaneCfg_t*data);
1194 MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiConfig(rlUInt8_t deviceMap,
1195  rlDevHsiCfg_t*data);
1196 MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiClk(rlUInt8_t deviceMap,
1197  rlDevHsiClk_t*data);
1198 MMWL_EXPORT rlReturnVal_t rlDeviceSetCsi2Config(rlUInt8_t deviceMap,
1199  rlDevCsi2Cfg_t*data);
1200 MMWL_EXPORT rlReturnVal_t rlDeviceGetCsi2Config(rlUInt8_t deviceMap,
1201  rlDevCsi2Cfg_t*data);
1202 
1203 
1204 
1210 #ifdef __cplusplus
1211 }
1212 #endif
1213 
1214 #endif
1215 /*
1216  * END OF RL_DEVICE_H
1217  */
1218 
rlUInt8_t transferFmtPkt0
Data out Format, b5:0 Packet 0 content selection 000001 - ADC_DATA_ONLY 000110 - CP_ADC_DATA ...
Definition: rl_device.h:678
MMWL_EXPORT rlReturnVal_t rlDevicePmicClkConfig(rlUInt8_t deviceMap, rlPmicClkCfg_t *data)
Sets the configurations for PMIC clock.
Definition: rl_device.c:1455
rlUInt16_t reserved
Reserved for future use .
Definition: rl_device.h:938
MMWL_EXPORT rlReturnVal_t rlDeviceSetDataFmtConfig(rlUInt8_t deviceMap, rlDevDataFmtCfg_t *data)
Sets LVDS/CSI2 Data output format.
Definition: rl_device.c:599
rlUInt8_t mcuClkSrc
This field specifies the source of the MCU clock. Applicable only in case of MCU clock enable...
Definition: rl_device.h:118
MMWL_EXPORT rlReturnVal_t rlDeviceRfStart(rlUInt8_t deviceMap)
Enables mmwave RF/Analog Sub system.
Definition: rl_device.c:321
mmWaveLink client callback structure
Definition: mmwavelink.h:1330
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:492
rlUInt32_t reserved1
Reserved for future use.
Definition: rl_device.h:992
rlUInt32_t reserved
Reserved for future use.
Definition: rl_device.h:579
rlUInt16_t contStreamModeEn
Enable - 1, Disable - 0.
Definition: rl_device.h:934
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:1409
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:262
rlUInt32_t testPatRx1Qcfg
This field specifies the values for Rx1, Q channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:535
rlUInt32_t lanePosPolSel
b2:0 - DATA_LANE0_POS Valid values (Should be a unique position if lane 0 is enabled, ignored if lane 0 is not enabled): 000b - Unused, 001b - Position 1 (default), 010b - Position 2, 011b - Position 3, 100b - Position 4, 101b - Position 5 b3 DATA_LANE0_POL 0b - PLUSMINUS pin order, 1b - MINUSPLUS pin order b6:4 DATA_LANE1_POS Valid values (Should be a unique position if lane 1 is enabled, ignored if lane 1 is not enabled): 000b - Unused, 001b - Position 1, 010b - Position 2 (default), 011b - Position 3, 100b - Position 4, 101b - Position 5 b7 DATA_LANE1_POL 0b - PLUSMINUS pin order, 1b - MINUSPLUS pin order b10:8 DATA_LANE2_POS Valid values (Should be a unique position if lane 2 is enabled, ignored if lane 2 is not enabled): 000b - Unused, 001b - Position 1, 010b - Position 2, 011b - Position 3, 100b - Position 4 (default), 101b - Position 5 b11 DATA_LANE2_POL 0b - PLUSMINUS pin order, 1b - MINUSPLUS pin order b14:12 DATA_LANE3_POS Valid values (Should be a unique position if lane 3 is enabled, ignored if lane 3 is not enabled): 000b - Unused, 001b - Position 1, 010b - Position 2, 011b - Position 3, 100b - Position 4, 101b - Position 5 (default) b15 DATA_LANE3_POL 0b - PLUSMINUS pin order, 1b - MINUSPLUS pin order b18:16 CLOCK_POS Valid values (Should be a unique position): 001b - Position 1, 010b - Position 2, 011b - Position 3 (default), 100b - Position 4 b19 CLOCK_POL 0b - PLUSMINUS pin order, 1b - MINUSPLUS pin order b31:20 RESERVED
Definition: rl_device.h:988
MMWL_EXPORT rlReturnVal_t rlDeviceGetCsi2Config(rlUInt8_t deviceMap, rlDevCsi2Cfg_t *data)
Gets Csi2 data format Configuration.
Definition: rl_device.c:1219
MMWL_EXPORT rlReturnVal_t rlDeviceLatentFaultTests(rlUInt8_t deviceMap, rllatentFault_t *data)
Sets the configurations for latent fault test.
Definition: rl_device.c:1501
mmWaveLink firmware version structure
Definition: mmwavelink.h:2263
MMWL_EXPORT rlReturnVal_t rlDeviceGetMmWaveLinkVersion(rlSwVersionParam_t *data)
Get mmWaveLink Version.
Definition: rl_device.c:547
MMWL_EXPORT rlReturnVal_t rlDeviceSetTestPatternConfig(rlUInt8_t deviceMap, rltestPattern_t *data)
Setup for test pattern to be generated.
Definition: rl_device.c:1594
MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathClkConfig(rlUInt8_t deviceMap, rlDevDataPathClkCfg_t *data)
Sets LVDS Clock Configuration.
Definition: rl_device.c:881
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:626
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:200
MMWL_EXPORT rlReturnVal_t rlDeviceSetContStreamingModeConfig(rlUInt8_t deviceMap, rlDevContStreamingModeCfg_t *data)
Sets Continous Streaming Mode Configuration.
Definition: rl_device.c:1073
MMWL_EXPORT rlReturnVal_t rlDeviceRemoveDevices(rlUInt8_t deviceMap)
Removes connected mmwave devices.
Definition: rl_device.c:198
rlUInt8_t reserved
Reserved for future use.
Definition: rl_device.h:728
rlDevDataPathCfg_t * dataPath
Data path config.
Definition: rl_device.h:1028
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:1013
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:602
mmwave radar data path config.
Definition: rl_device.h:653
MMWL_EXPORT rlReturnVal_t rlDeviceSetHsiClk(rlUInt8_t deviceMap, rlDevHsiClk_t *data)
Sets High Speed Interface Clock.
Definition: rl_device.c:1368
rlUInt32_t testPatRx2Icfg
This field specifies the values for Rx2, I channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:545
Continous streaming mode configuration.
Definition: rl_device.h:929
rlUInt16_t laneParamCfg
Lane Parameter configurations b0 - 0(LSB first), 1(MSB first) b1 - 0(Packet End Pulse Disable)...
Definition: rl_device.h:923
MMWL_EXPORT rlReturnVal_t rlDeviceEnablePeriodicTests(rlUInt8_t deviceMap, rlperiodicTest_t *data)
Sets the configurations for periodic test.
Definition: rl_device.c:1547
mmwave radar high speed Data path configuraiton
Definition: rl_device.h:1019
DataPath clock configuration.
Definition: rl_device.h:837
mmwave radar high speed clock configuration
Definition: rl_device.h:998
mmwave radar device latent fault test
Definition: rl_device.h:319
rlUInt32_t testEn1
Bits Definition 0 MibSPI self-test 1 DMA self-test 2 RESERVED 3 RTI self-test 4 ESM self-te...
Definition: rl_device.h:356
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:708
rlUInt8_t intfSel
Data Path Interface, 0x0 CSI2 interface selected 0x1 LVDS interface selected 0x2 SPI interface ...
Definition: rl_device.h:664
rlUInt16_t adcFmt
ADC out format - 0(Real), 1(Complex), 2(Complex with Image band), 3(Pseudo Real)
Definition: rl_device.h:610
MMWL_EXPORT rlReturnVal_t rlDeviceGetRfVersion(rlUInt8_t deviceMap, rlFwVersionParam_t *data)
Get mmWave RF ROM and patch version.
Definition: rl_device.c:458
LVDS Lane configuration.
Definition: rl_device.h:887
MMWL_EXPORT rlReturnVal_t rlDeviceGetMssVersion(rlUInt8_t deviceMap, rlFwVersionParam_t *data)
Get mmWave Master SS version.
Definition: rl_device.c:421
rlUInt32_t testPatRx3Icfg
This field specifies the values for Rx3, I channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:565
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:881
rlUInt16_t reserved1
Reserved for future use.
Definition: rl_device.h:445
rlUInt8_t reserved
Reserved for future use.
Definition: rl_device.h:287
rlUInt16_t laneFmtMap
Lane format 0x0000 Format map 0 (Rx0,Rx1,...) 0x0001 Format map 1 (Rx3,Rx2,...) .
Definition: rl_device.h:894
rlUInt8_t repMode
Value Definition 0 Report is sent every monitoring period 1 Report is sent only on a failure ...
Definition: rl_device.h:425
MMWL_EXPORT rlReturnVal_t rlDeviceFileDownload(rlUInt8_t deviceMap, rlFileData_t *data, rlUInt16_t remChunks)
Download mmwave Firmware/Patches over SPI.
Definition: rl_device.c:361
mmwave radar test pattern config
Definition: rl_device.h:451
rlUInt8_t testMode
Value Definition 0 Production mode. Latent faults are tested and any failures are reported 1 Char...
Definition: rl_device.h:380
rlUInt32_t testEn2
Bits Definition 0 DCC self test 1 DCC fault insertion 2 PCR fault generation test 3 VIM RAM p...
Definition: rl_device.h:366
rlUInt8_t dataRate
Data rate selection 0000b - 900 Mbps (DDR only) 0001b - 600 Mbps (DDR only) 0010b - 450 Mbps (S...
Definition: rl_device.h:857
rlUInt8_t modeSel
This field specifies the mode of operation for the PMIC clock generation. Applicable only in case o...
Definition: rl_device.h:212
rlUInt32_t numTestPtrnPkts
Number of test pattern packets to send, for infinite packets set it to 0.
Definition: rl_device.h:496
CSI2 configuration.
Definition: rl_device.h:944
rlDevDataPathClkCfg_t * dataPathClk
Data path clock configuration.
Definition: rl_device.h:1032
rlUInt32_t periodicity
1 LSB = 1 ms Periodicity at which tests need to be run
Definition: rl_device.h:410
rlUInt32_t reserved
Reserved for future use.
Definition: rl_device.h:647
rlUInt8_t iqSwapSel
I/Q Swap selection for complex outputs 0 Sample interleave mode - I first 1 Sample interleave mod...
Definition: rl_device.h:618
MMWL_EXPORT rlReturnVal_t rlDeviceConfigureAckTimeout(rlUInt32_t ackTimeout)
Configures the Acknowledgement timeout in mmWaveLink Driver.
Definition: rl_device.c:1702
mmwave radar data path lane enable
Definition: rl_device.h:809
MMWL_EXPORT rlReturnVal_t rlDeviceSetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t *data)
Sets Lane enable Configuration.
Definition: rl_device.c:787
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:716
rlUInt32_t testPatRx0Qcfg
This field specifies the values for Rx0, Q channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:515
rlUInt8_t testPatGenCtrl
This field controls the enable-disable of the generation of the test pattern. Value Description 0...
Definition: rl_device.h:461
MMWL_EXPORT rlReturnVal_t rlDeviceGetDataPathConfig(rlUInt8_t deviceMap, rlDevDataPathCfg_t *data)
Gets data path Configuration.
Definition: rl_device.c:740
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:1268
mmwave radar periodicity test config
Definition: rl_device.h:406
MMWL_EXPORT rlReturnVal_t rlDeviceSetCsi2Config(rlUInt8_t deviceMap, rlDevCsi2Cfg_t *data)
Sets CSI2 data format Configuration.
Definition: rl_device.c:1172
rlUInt32_t testPatRx3Qcfg
This field specifies the values for Rx3, Q channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:575
rlUInt8_t reserved
Reserved for future use.
Definition: rl_device.h:133
rlUInt32_t chunkLen
File data length.
Definition: rl_device.h:89
mmwave radar data format config
Definition: rl_device.h:585
mmwave radar device MCU Clock output
Definition: rl_device.h:100
rlUInt8_t testPatGenTime
Number of system clocks (200 MHz) between successive samples for the test pattern gen...
Definition: rl_device.h:466
mmwave radar device PMIC Clock output
Definition: rl_device.h:172
rlUInt32_t testPatRx0Icfg
This field specifies the values for Rx0, I channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:505
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:831
MMWL_EXPORT rlReturnVal_t rlDeviceSetMiscConfig(rlUInt8_t deviceMap, rlDevMiscCfg_t *data)
Setup misc. device configurations.
Definition: rl_device.c:1641
MMWL_EXPORT rlReturnVal_t rlDevicePowerOn(rlUInt8_t deviceMap, rlClientCbs_t clientCb)
Bring mmwave Device Out of Reset.
Definition: rl_device.c:96
rlUInt8_t transferFmtPkt1
Data out Format, b5:0 Packet 1 content selection 000000 - Suppress Packet 1 001110 - CP_CQ_DATA...
Definition: rl_device.h:691
rlUInt8_t minNdivVal
Applicable only in case of PMIC clock enable. Else ignored. Min allowed divider value (depends upon...
Definition: rl_device.h:268
rlUInt32_t testEn
Bit value definition: 1 - Enable, 0 - Disable Bit Monitoring type 0 PERIODIC_CONFG_REGISTER_READ_...
Definition: rl_device.h:418
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:700
mmwavelink software version structure
Definition: mmwavelink.h:2405
rlUInt8_t repMode
Value Definition 0 Report is sent after test completion 1 Report is send only upon a failure ...
Definition: rl_device.h:373
rlUInt32_t testPatRx2Qcfg
This field specifies the values for Rx2, Q channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:555
MMWL_EXPORT rlReturnVal_t rlDevicePowerOff(void)
Shutdown mmwave Device.
Definition: rl_device.c:258
rlUInt8_t pmicClkCtrl
This field controls the enable - disable of the PMIC clock. Value Description 0x0 Disable PMIC cl...
Definition: rl_device.h:181
rlUInt32_t testPatRx1Icfg
This field specifies the values for Rx1, I channel. Applicable only in case of test pattern enable...
Definition: rl_device.h:525
File Dowload data structure.
Definition: rl_device.h:84
rlUInt16_t reserved
Reserved for future use.
Definition: rl_device.h:399
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:827
rlUInt8_t laneClkCfg
Clock COnfiguration 0 -SDR Clock 1 - DDR Clock (Only valid value for CSI2) . ...
Definition: rl_device.h:845
mmwavelink version structure
Definition: mmwavelink.h:2479
rlUInt16_t adcBits
ADC out bits - 0(12 Bits), 1(14 Bits), 2(16 Bits)
Definition: rl_device.h:606
rlUInt8_t srcClkDiv
This field specifies the division factor to be applied to source clock. Applicable only in case of ...
Definition: rl_device.h:129
MMWL_EXPORT rlReturnVal_t rlDeviceSetDataPathConfig(rlUInt8_t deviceMap, rlDevDataPathCfg_t *data)
Sets LVDS/CSI2 Path Configuration.
Definition: rl_device.c:693
MMWL_EXPORT rlReturnVal_t rlDeviceGetContStreamingModeConfig(rlUInt8_t deviceMap, rlDevContStreamingModeCfg_t *data)
Gets continuous Streaming Mode Configuration.
Definition: rl_device.c:1125
MMWL_EXPORT rlReturnVal_t rlDeviceGetDataFmtConfig(rlUInt8_t deviceMap, rlDevDataFmtCfg_t *data)
Gets LVDS/CSI2 Data output format.
Definition: rl_device.c:647
rlUInt8_t maxNdivVal
Applicable only in case of PMIC clock enable. Else ignored. Max allowed divider value (depends upon...
Definition: rl_device.h:273
MMWL_EXPORT rlReturnVal_t rlDeviceConfigureCrc(rlCrcType_t crcType)
Configures the CRC Type in mmWaveLink Driver.
Definition: rl_device.c:1685
rlUInt8_t reserved0
Reserved for future use.
Definition: rl_device.h:429
rlUInt16_t hsiClk
High Speed Interface Clock configurations. Below table indicates possible values for different data r...
Definition: rl_device.h:1009
rlUInt8_t mcuClkCtrl
This field controls the enable - disable of the MCU clock. Value Description 0x0 Disable MCU cloc...
Definition: rl_device.h:109
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:724
MMWL_EXPORT rlReturnVal_t rlDeviceAddDevices(rlUInt8_t deviceMap)
Bring mmwave Device Out of Reset.
Definition: rl_device.c:171
MMWL_EXPORT rlReturnVal_t rlDeviceGetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t *data)
Gets Lane enable Configuration.
Definition: rl_device.c:834
rlDevDataFmtCfg_t * datafmt
Data format config.
Definition: rl_device.h:1024
rlUInt8_t pmicClkSrc
This field specifies the source of the PMIC clock. Applicable only in case of PMIC clock enable...
Definition: rl_device.h:189
rlUInt8_t clkDitherEn
Applicable only in case of PMIC clock enable. Else ignored. This field controls the enable-disable ...
Definition: rl_device.h:283
MMWL_EXPORT rlReturnVal_t rlDeviceGetVersion(rlUInt8_t deviceMap, rlVersion_t *data)
Get mmWave Hardware, Firmware/patch and mmWaveLink version.
Definition: rl_device.c:490

Copyright 2018, Texas Instruments Incorporated