TI-radar AWR1843 C674x DSP core  1
device_cfg.h
Go to the documentation of this file.
1 
2 #ifndef DEVICE_CFG_H
3 #define DEVICE_CFG_H
4 
5 /* Tx Channel Configuration */
6 #define TX_CHANNEL_1_ENABLE (1U << 0U)
7 #define TX_CHANNEL_2_ENABLE (1U << 1U)
8 #define TX_CHANNEL_3_ENABLE (1U << 2U)
9 #define TX_CHANNEL_1_2_ENABLE (TX_CHANNEL_1_ENABLE | TX_CHANNEL_2_ENABLE)
10 #define TX_CHANNEL_2_3_ENABLE (TX_CHANNEL_2_ENABLE | TX_CHANNEL_3_ENABLE)
11 #define TX_CHANNEL_1_3_ENABLE (TX_CHANNEL_1_ENABLE | TX_CHANNEL_3_ENABLE)
12 #define TX_CHANNEL_1_2_3_ENABLE (TX_CHANNEL_1_ENABLE | TX_CHANNEL_2_ENABLE | TX_CHANNEL_3_ENABLE)
13 
14 /* Rx Channel Configuration */
15 #define RX_CHANNEL_1_ENABLE (1U << 0U)
16 #define RX_CHANNEL_2_ENABLE (1U << 1U)
17 #define RX_CHANNEL_3_ENABLE (1U << 2U)
18 #define RX_CHANNEL_4_ENABLE (1U << 3U)
19 #define RX_CHANNEL_1_2_ENABLE (RX_CHANNEL_1_ENABLE | RX_CHANNEL_2_ENABLE)
20 #define RX_CHANNEL_1_3_ENABLE (RX_CHANNEL_1_ENABLE | RX_CHANNEL_3_ENABLE)
21 #define RX_CHANNEL_1_4_ENABLE (RX_CHANNEL_1_ENABLE | RX_CHANNEL_4_ENABLE)
22 #define RX_CHANNEL_2_3_ENABLE (RX_CHANNEL_2_ENABLE | RX_CHANNEL_3_ENABLE)
23 #define RX_CHANNEL_2_4_ENABLE (RX_CHANNEL_2_ENABLE | RX_CHANNEL_4_ENABLE)
24 #define RX_CHANNEL_3_4_ENABLE (RX_CHANNEL_3_ENABLE | RX_CHANNEL_4_ENABLE)
25 #define RX_CHANNEL_1_2_3_ENABLE (RX_CHANNEL_1_ENABLE | RX_CHANNEL_2_ENABLE | RX_CHANNEL_3_ENABLE)
26 #define RX_CHANNEL_2_3_4_ENABLE (RX_CHANNEL_2_ENABLE | RX_CHANNEL_3_ENABLE | RX_CHANNEL_4_ENABLE)
27 #define RX_CHANNEL_1_3_4_ENABLE (RX_CHANNEL_1_ENABLE | RX_CHANNEL_3_ENABLE | RX_CHANNEL_4_ENABLE)
28 #define RX_CHANNEL_1_2_3_4_ENABLE (RX_CHANNEL_1_ENABLE | RX_CHANNEL_2_ENABLE | RX_CHANNEL_3_ENABLE | RX_CHANNEL_4_ENABLE)
29 
30 /* ADC Config Settings */
31 #define ADC_BITS_12 (0U)
32 #define ADC_BITS_14 (1U)
33 #define ADC_BITS_16 (2U)
34 
35 #define ADC_FORMAT_REAL (0U)
36 #define ADC_FORMAT_COMPLEX (1U)
37 #define ADC_FORMAT_CPMLEX_WITH_IMG_BAND (2U)
38 
39 #define ADC_I_FIRST (0U)
40 #define ADC_Q_FIRST (1U)
41 
42 #define ADC_INTERLEAVED_MODE (0U)
43 #define ADC_NON_INTERLEAVED_MODE (1U)
44 
45 /* Data Path Configuration */
46 #define DATA_PATH_CSI2 (0U)
47 #define DATA_PATH_LVDS (1U)
48 
49 
50 #define DATA_PATH_FMT1_SUPRESS (0U)
51 #define DATA_PATH_FMT1_CP_CQ (1U)
52 #define DATA_PATH_FMT1_CQ_CP (2U)
53 
54 #define DATA_PATH_FMT0_ADC_DATA_ONLY (0U)
55 #define DATA_PATH_FMT0_CP_ADC_DATA (1U)
56 #define DATA_PATH_FMT0_ADC_CP_DATA (2U)
57 #define DATA_PATH_FMT0_CP_ADC_CQ_DATA (3U)
58 
59 #define DATA_PATH_CQ_FMT_BITS_12 (0U)
60 #define DATA_PATH_CQ_FMT_BITS_14 (1U)
61 #define DATA_PATH_CQ_FMT_BITS_16 (2U)
62 
63 /* LVDS Clock Configuration */
64 #define LVDS_LANE_CLOCK_SDR (0U)
65 #define LVDS_LANE_CLOCK_DDR (1U)
66 
67 #define LVDS_ALL_LANE_EN (0xFU)
68 
69 #define LVDS_DATA_RATE_900 (0U)
70 #define LVDS_DATA_RATE_600 (1U)
71 #define LVDS_DATA_RATE_450 (2U)
72 #define LVDS_DATA_RATE_400 (3U)
73 #define LVDS_DATA_RATE_300 (4U)
74 #define LVDS_DATA_RATE_225 (5U)
75 #define LVDS_DATA_RATE_150 (6U)
76 
77 /* LCDS Lane Configuration */
78 #define LVDS_LANE1_DISABLE (0U)
79 #define LVDS_LANE1_FORMAT_0 (1U)
80 #define LVDS_LANE1_FORMAT_1 (2U)
81 
82 #define LVDS_LANE2_DISABLE (0U)
83 #define LVDS_LANE2_FORMAT_0 (1U)
84 #define LVDS_LANE2_FORMAT_1 (2U)
85 
86 #define LVDS_LANE3_DISABLE (0U)
87 #define LVDS_LANE3_FORMAT_0 (1U)
88 #define LVDS_LANE3_FORMAT_1 (2U)
89 
90 #define LVDS_LANE4_DISABLE (0U)
91 #define LVDS_LANE4_FORMAT_0 (1U)
92 #define LVDS_LANE4_FORMAT_1 (2U)
93 
94 #define LVDS_LANE_MSB_FIRST_ENABLE (1U)
95 #define LVDS_LANE_MSB_FIRST_DISABLE (0U)
96 #define LVDS_LANE_PACKET_END_PULSE_ENABLE (1U)
97 #define LVDS_LANE_PACKET_END_PULSE_DISABLE (0U)
98 #define LVDS_LANE_CRC_ENABLE (1U)
99 #define LVDS_LANE_CRC_DISABLE (0U)
100 #define LVDS_LANE_TI_MODE_ENABLE (1U)
101 #define LVDS_LANE_TI_MODE_DISABLE (0U)
102 
103 /* Advanced configuration */
104 #define ANA_CHANNEL_COMPLEX_CHAIN (0U)
105 #define ANA_CHANNEL_REAL_CHAIN (1U)
106 
107 #define LP_ADC_MODE_REGULAR (0U)
108 #define LP_ADC_MODE_LOW_POWER (1U)
109 
110 #define NOISE_FIGURE_LOW (0U)
111 #define NOISE_FIGURE_HIGH (1U)
112 
113 /* CHIRP Profile Settings */
114 #define CHIRP_HPF1_CORNER_FREQ_175K (0U)
115 #define CHIRP_HPF1_CORNER_FREQ_235K (1U)
116 #define CHIRP_HPF1_CORNER_FREQ_350K (2U)
117 #define CHIRP_HPF1_CORNER_FREQ_700K (3U)
118 
119 #define CHIRP_HPF2_CORNER_FREQ_350K (0U)
120 #define CHIRP_HPF2_CORNER_FREQ_700K (1U)
121 #define CHIRP_HPF2_CORNER_FREQ_1_4M (2U)
122 #define CHIRP_HPF2_CORNER_FREQ_2_8M (3U)
123 #define CHIRP_HPF2_CORNER_FREQ_5M (4U)
124 #define CHIRP_HPF2_CORNER_FREQ_7_5M (5U)
125 #define CHIRP_HPF2_CORNER_FREQ_10M (6U)
126 #define CHIRP_HPF2_CORNER_FREQ_15M (7U)
127 
128 /* Some MACROS to simplify programming the device */
129 #define ROUND_TO_INT32(X) ((int32_t) (X))
130 #define CONV_FREQ_GHZ_TO_CODEWORD(X) ROUND_TO_INT32(X * (1.0e9/53.644))
131 #define CONV_SLOPE_MHZ_PER_US_TO_CODEWORD(X) (ROUND_TO_INT32(X * (1000.0/48.279)))
132 
133 #define LOG2_APPROX(X) ((X <= 1)? 0:((X <= 2)? 1:((X <= 4)? 2:((X <= 8)? 3:((X <= 16)? 4:((X <= 32)? 5:((X <= 64)? 6:((X <= 128)? 7:((X <= 256)? 8:((X <= 512)? 9:((X <= 1024)? 10:11)))))))))))
134 
135 #define SPEED_OF_LIGHT_IN_METERS_PER_SEC (3.0e8)
136 
137 #define SPEED_OF_LIGHT_IN_METERS_PER_USEC (3.0e2)
138 
139 
140 #endif
141