Vision Apps User Guide
app_dctrl.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2018 Texas Instruments Incorporated
4  *
5  * All rights reserved not granted herein.
6  *
7  * Limited License.
8  *
9  * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10  * license under copyrights and patents it now or hereafter owns or controls to make,
11  * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12  * terms herein. With respect to the foregoing patent license, such license is granted
13  * solely to the extent that any such patent is necessary to Utilize the software alone.
14  * The patent license shall not apply to any combinations which include this software,
15  * other than combinations with devices manufactured by or for TI ("TI Devices").
16  * No hardware patent is licensed hereunder.
17  *
18  * Redistributions must preserve existing copyright notices and reproduce this license
19  * (including the above copyright notice and the disclaimer and (if applicable) source
20  * code license limitations below) in the documentation and/or other materials provided
21  * with the distribution
22  *
23  * Redistribution and use in binary form, without modification, are permitted provided
24  * that the following conditions are met:
25  *
26  * * No reverse engineering, decompilation, or disassembly of this software is
27  * permitted with respect to any software provided in binary form.
28  *
29  * * any redistribution and use are licensed by TI for use only with TI Devices.
30  *
31  * * Nothing shall obligate TI to provide you with source code for the software
32  * licensed and provided to you in object code.
33  *
34  * If software source code is provided to you, modification and redistribution of the
35  * source code are permitted provided that the following conditions are met:
36  *
37  * * any redistribution and use of the source code, including any resulting derivative
38  * works, are licensed by TI for use only with TI Devices.
39  *
40  * * any redistribution and use of any object code compiled from the source code
41  * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42  *
43  * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44  *
45  * may be used to endorse or promote products derived from this software without
46  * specific prior written permission.
47  *
48  * DISCLAIMER.
49  *
50  * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53  * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59  * OF THE POSSIBILITY OF SUCH DAMAGE.
60  *
61  */
62 
63 #ifndef APP_DCTRL_H_
64 #define APP_DCTRL_H_
65 
66 /* ========================================================================== */
67 /* Include Files */
68 /* ========================================================================== */
69 
70 #include <stdint.h>
71 #include <stdlib.h>
72 #include <stdbool.h>
73 
74 #ifdef __cplusplus
75 extern "C" {
76 #endif
77 
78 /* ========================================================================== */
79 /* Macros & Typedefs */
80 /* ========================================================================== */
81 
95 #define APP_DCTRL_REMOTE_SERVICE_NAME "com.ti.dctrl"
96 
106 #define APP_DCTRL_NODE_INVALID (0x0U)
107 #define APP_DCTRL_NODE_VID1 (0x1U)
108 #define APP_DCTRL_NODE_VIDL1 (0x2U)
109 #define APP_DCTRL_NODE_VID2 (0x3U)
110 #define APP_DCTRL_NODE_VIDL2 (0x4U)
111 #define APP_DCTRL_NODE_OVERLAY1 (0x5U)
112 #define APP_DCTRL_NODE_OVERLAY2 (0x6U)
113 #define APP_DCTRL_NODE_OVERLAY3 (0x7U)
114 #define APP_DCTRL_NODE_OVERLAY4 (0x8U)
115 #define APP_DCTRL_NODE_VP1 (0x9U)
116 #define APP_DCTRL_NODE_VP2 (0xAU)
117 #define APP_DCTRL_NODE_VP3 (0xBU)
118 #define APP_DCTRL_NODE_VP4 (0xCU)
119 #define APP_DCTRL_NODE_DPI_DPI0 (0xDU)
120 #define APP_DCTRL_NODE_DPI_DPI1 (0xEU)
121 #define APP_DCTRL_NODE_EDP_DPI0 (0xFU)
122 #define APP_DCTRL_NODE_EDP_DPI1 (0x10U)
123 #define APP_DCTRL_NODE_EDP_DPI2 (0x11U)
124 #define APP_DCTRL_NODE_EDP_DPI3 (0x12U)
125 #define APP_DCTRL_NODE_DSI_DPI2 (0x13U)
126 /* @} */
127 
131 #define APP_DCTRL_MAX_EDGES (29U)
132 
140 #define APP_DCTRL_VID_STD_NTSC ((uint32_t) 0x00U)
141 
142 #define APP_DCTRL_VID_STD_PAL ((uint32_t) 0x01U)
143 
144 #define APP_DCTRL_VID_STD_480I ((uint32_t) 0x02U)
145 
146 #define APP_DCTRL_VID_STD_576I ((uint32_t) 0x03U)
147 
148 #define APP_DCTRL_VID_STD_CIF ((uint32_t) 0x04U)
149 
150 #define APP_DCTRL_VID_STD_HALF_D1 ((uint32_t) 0x05U)
151 
152 #define APP_DCTRL_VID_STD_D1 ((uint32_t) 0x06U)
153 
154 #define APP_DCTRL_VID_STD_480P ((uint32_t) 0x07U)
155 
156 #define APP_DCTRL_VID_STD_576P ((uint32_t) 0x08U)
157 
158 #define APP_DCTRL_VID_STD_720P_60 ((uint32_t) 0x09U)
159 
160 #define APP_DCTRL_VID_STD_720P_50 ((uint32_t) 0x0AU)
161 
162 #define APP_DCTRL_VID_STD_1080I_60 ((uint32_t) 0x0BU)
163 
164 #define APP_DCTRL_VID_STD_1080I_50 ((uint32_t) 0x0CU)
165 
166 #define APP_DCTRL_VID_STD_1080P_60 ((uint32_t) 0x0DU)
167 
168 #define APP_DCTRL_VID_STD_1080P_50 ((uint32_t) 0x0EU)
169 
170 #define APP_DCTRL_VID_STD_1080P_24 ((uint32_t) 0x0FU)
171 
172 #define APP_DCTRL_VID_STD_1080P_30 ((uint32_t) 0x10U)
173 
174 #define APP_DCTRL_VID_STD_VGA_60 ((uint32_t) 0x11U)
175 
176 #define APP_DCTRL_VID_STD_VGA_72 ((uint32_t) 0x12U)
177 
178 #define APP_DCTRL_VID_STD_VGA_75 ((uint32_t) 0x13U)
179 
180 #define APP_DCTRL_VID_STD_VGA_85 ((uint32_t) 0x14U)
181 
182 #define APP_DCTRL_VID_STD_WVGA_60 ((uint32_t) 0x15U)
183 
184 #define APP_DCTRL_VID_STD_SVGA_60 ((uint32_t) 0x16U)
185 
186 #define APP_DCTRL_VID_STD_SVGA_72 ((uint32_t) 0x17U)
187 
188 #define APP_DCTRL_VID_STD_SVGA_75 ((uint32_t) 0x18U)
189 
190 #define APP_DCTRL_VID_STD_SVGA_85 ((uint32_t) 0x19U)
191 
192 #define APP_DCTRL_VID_STD_WSVGA_70 ((uint32_t) 0x1AU)
193 
194 #define APP_DCTRL_VID_STD_XGA_60 ((uint32_t) 0x1BU)
195 
196 #define APP_DCTRL_VID_STD_XGA_DSS_TDM_60 ((uint32_t) 0x1CU)
197 
198 #define APP_DCTRL_VID_STD_XGA_70 ((uint32_t) 0x1DU)
199 
200 #define APP_DCTRL_VID_STD_XGA_75 ((uint32_t) 0x1EU)
201 
202 #define APP_DCTRL_VID_STD_XGA_85 ((uint32_t) 0x1FU)
203 
204 #define APP_DCTRL_VID_STD_1368_768_60 ((uint32_t) 0x20U)
205 
206 #define APP_DCTRL_VID_STD_1366_768_60 ((uint32_t) 0x21U)
207 
208 #define APP_DCTRL_VID_STD_1360_768_60 ((uint32_t) 0x22U)
209 
210 #define APP_DCTRL_VID_STD_WXGA_30 ((uint32_t) 0x23U)
211 
212 #define APP_DCTRL_VID_STD_WXGA_60 ((uint32_t) 0x24U)
213 
214 #define APP_DCTRL_VID_STD_WXGA_75 ((uint32_t) 0x25U)
215 
216 #define APP_DCTRL_VID_STD_WXGA_85 ((uint32_t) 0x26U)
217 
218 #define APP_DCTRL_VID_STD_1440_900_60 ((uint32_t) 0x27U)
219 
220 #define APP_DCTRL_VID_STD_SXGA_60 ((uint32_t) 0x28U)
221 
222 #define APP_DCTRL_VID_STD_SXGA_75 ((uint32_t) 0x29U)
223 
224 #define APP_DCTRL_VID_STD_SXGA_85 ((uint32_t) 0x2AU)
225 
226 #define APP_DCTRL_VID_STD_WSXGAP_60 ((uint32_t) 0x2BU)
227 
228 #define APP_DCTRL_VID_STD_SXGAP_60 ((uint32_t) 0x2CU)
229 
230 #define APP_DCTRL_VID_STD_SXGAP_75 ((uint32_t) 0x2DU)
231 
232 #define APP_DCTRL_VID_STD_UXGA_60 ((uint32_t) 0x2EU)
233 
234 #define APP_DCTRL_VID_STD_MUX_2CH_D1 ((uint32_t) 0x2FU)
235 
236 #define APP_DCTRL_VID_STD_MUX_2CH_HALF_D1 ((uint32_t) 0x30U)
237 
238 #define APP_DCTRL_VID_STD_MUX_2CH_CIF ((uint32_t) 0x31U)
239 
240 #define APP_DCTRL_VID_STD_MUX_4CH_D1 ((uint32_t) 0x32U)
241 
242 #define APP_DCTRL_VID_STD_MUX_4CH_CIF ((uint32_t) 0x33U)
243 
244 #define APP_DCTRL_VID_STD_MUX_4CH_HALF_D1 ((uint32_t) 0x34U)
245 
246 #define APP_DCTRL_VID_STD_MUX_8CH_CIF ((uint32_t) 0x35U)
247 
248 #define APP_DCTRL_VID_STD_MUX_8CH_HALF_D1 ((uint32_t) 0x36U)
249 
250 #define APP_DCTRL_VID_STD_WXGA_5x3_30 ((uint32_t) 0x37U)
251 
252 #define APP_DCTRL_VID_STD_WXGA_5x3_60 ((uint32_t) 0x38U)
253 
254 #define APP_DCTRL_VID_STD_WXGA_5x3_75 ((uint32_t) 0x39U)
255 
256 #define APP_DCTRL_VID_STD_AUTO_DETECT ((uint32_t) 0x3AU)
257 
260 #define APP_DCTRL_VID_STD_CUSTOM ((uint32_t) 0x3BU)
261 /* @} */
262 
270 #define APP_DCTRL_DV_BT656_EMBSYNC ((uint32_t) 0x00U)
271 
272 #define APP_DCTRL_DV_BT1120_EMBSYNC ((uint32_t) 0x01U)
273 
274 #define APP_DCTRL_DV_GENERIC_DISCSYNC ((uint32_t) 0x02U)
275 /* @} */
276 
284 #define APP_DCTRL_VIFW_8BIT ((uint32_t) 0x00U)
285 
286 #define APP_DCTRL_VIFW_10BIT ((uint32_t) 0x01U)
287 
288 #define APP_DCTRL_VIFW_12BIT ((uint32_t) 0x02U)
289 
290 #define APP_DCTRL_VIFW_14BIT ((uint32_t) 0x03U)
291 
292 #define APP_DCTRL_VIFW_16BIT ((uint32_t) 0x04U)
293 
294 #define APP_DCTRL_VIFW_18BIT ((uint32_t) 0x05U)
295 
296 #define APP_DCTRL_VIFW_20BIT ((uint32_t) 0x06U)
297 
298 #define APP_DCTRL_VIFW_24BIT ((uint32_t) 0x07U)
299 
300 #define APP_DCTRL_VIFW_30BIT ((uint32_t) 0x08U)
301 
302 #define APP_DCTRL_VIFW_36BIT ((uint32_t) 0x09U)
303 
304 #define APP_DCTRL_VIFW_1LANES ((uint32_t) 0x0AU)
305 
306 #define APP_DCTRL_VIFW_2LANES ((uint32_t) 0x0BU)
307 
308 #define APP_DCTRL_VIFW_3LANES ((uint32_t) 0x0CU)
309 
310 #define APP_DCTRL_VIFW_4LANES ((uint32_t) 0x0DU)
311 
312 #define APP_DCTRL_VIFW_MAX ((uint32_t) 0x0EU)
313 /* @} */
314 
322 #define APP_DCTRL_POL_LOW ((uint32_t) 0U)
323 
324 #define APP_DCTRL_POL_HIGH ((uint32_t) 1U)
325 
326 #define APP_DCTRL_POL_MAX ((uint32_t) 2U)
327 /* @} */
328 
336 #define APP_DCTRL_EDGE_POL_RISING ((uint32_t) 0U)
337 
338 #define APP_DCTRL_EDGE_POL_FALLING ((uint32_t) 1U)
339 
340 #define APP_DCTRL_EDGE_POL_MAX ((uint32_t) 2U)
341 /* @} */
342 
350 #define APP_DCTRL_HVSYNC_ALIGN_OFF ((uint32_t) 0U)
351 
352 #define APP_DCTRL_HVSYNC_ALIGN_ON ((uint32_t) 1U)
353 
354 #define APP_DCTRL_HVSYNC_ALIGN_MAX ((uint32_t) 2U)
355 /* @} */
356 
365 #define APP_DCTRL_HVCLK_CTRL_OFF ((uint32_t) 0U)
366 
367 #define APP_DCTRL_HVCLK_CTRL_ON ((uint32_t) 1U)
368 
369 #define APP_DCTRL_HVCLK_CTRL_MAX ((uint32_t) 2U)
370 /* @} */
371 
379 #define APP_DCTRL_OVERLAY_TRANS_COLOR_DEST ((uint32_t) 0U)
380 
381 #define APP_DCTRL_OVERLAY_TRANS_COLOR_SRC ((uint32_t) 1U)
382 /* @} */
383 
391 #define APP_DCTRL_OVERLAY_LAYER_NUM_0 ((uint32_t) 0x0U)
392 
393 #define APP_DCTRL_OVERLAY_LAYER_NUM_1 ((uint32_t) 0x1U)
394 
395 #define APP_DCTRL_OVERLAY_LAYER_NUM_2 ((uint32_t) 0x2U)
396 
397 #define APP_DCTRL_OVERLAY_LAYER_NUM_3 ((uint32_t) 0x3U)
398 
399 #define APP_DCTRL_OVERLAY_LAYER_NUM_4 ((uint32_t) 0x4U)
400 
401 #define APP_DCTRL_OVERLAY_LAYER_MAX ((uint32_t) 0x5U)
402 
403 #define APP_DCTRL_OVERLAY_LAYER_INVALID ((uint32_t) 0xFFU)
404 /* @} */
405 
414 #define APP_DCTRL_CMD_BASE ((uint32_t) 0x0U)
415 
419 #define APP_DCTRL_CMD_REGISTER_HANDLE (APP_DCTRL_CMD_BASE + 0x1U)
420 
424 #define APP_DCTRL_CMD_DELETE_HANDLE (APP_DCTRL_CMD_BASE + 0x2U)
425 
429 #define APP_DCTRL_CMD_SET_PATH (APP_DCTRL_CMD_BASE + 0x3U)
430 
434 #define APP_DCTRL_CMD_CLEAR_PATH (APP_DCTRL_CMD_BASE + 0x4U)
435 
439 #define APP_DCTRL_CMD_SET_VP_PARAMS (APP_DCTRL_CMD_BASE + 0x5U)
440 
444 #define APP_DCTRL_CMD_SET_OVERLAY_PARAMS (APP_DCTRL_CMD_BASE + 0x6U)
445 
449 #define APP_DCTRL_CMD_SET_LAYER_PARAMS (APP_DCTRL_CMD_BASE + 0x7U)
450 
454 #define APP_DCTRL_CMD_STOP_VP (APP_DCTRL_CMD_BASE + 0x8U)
455 
459 #define APP_DCTRL_CMD_SET_ADV_VP_PARAMS (APP_DCTRL_CMD_BASE + 0x9U)
460 
464 #define APP_DCTRL_CMD_SET_DSI_PARAMS (APP_DCTRL_CMD_BASE + 0xAU)
465 
469 #define APP_DCTRL_CMD_IS_DP_CONNECTED (APP_DCTRL_CMD_BASE + 0xBU)
470 
471 /* @} */
472 
473 /* ========================================================================== */
474 /* Structure Declarations */
475 /* ========================================================================== */
476 
483 typedef struct
484 {
485  uint32_t startNode;
487  uint32_t endNode;
490 
494 typedef struct
495 {
496  uint32_t numEdges;
504 
508 typedef struct
509 {
510  uint32_t vpId;
512  uint32_t standard;
515  uint32_t width;
517  uint32_t height;
519  uint32_t hFrontPorch;
522  uint32_t hBackPorch;
524  uint32_t hSyncLen;
527  uint32_t vFrontPorch;
529  uint32_t vBackPorch;
531  uint32_t vSyncLen;
533  uint32_t pixelClock;
535  uint32_t dvoFormat;
537  uint32_t cscRange;
539  uint32_t videoIfWidth;
548  uint32_t actVidPolarity;
554  uint32_t hsPolarity;
557  uint32_t vsPolarity;
561 
565 typedef struct
566 {
567  uint32_t vpId;
569  uint32_t hVAlign;
572  uint32_t hVClkControl;
575  uint32_t hVClkRiseFall;
578  uint32_t acBI;
582  uint32_t acB;
588  uint32_t vSyncGated;
592  uint32_t hSyncGated;
596  uint32_t pixelClockGated;
600  uint32_t pixelDataGated;
604  uint32_t pixelGated;
610 
614 typedef struct
615 {
616  uint32_t overlayId;
618  uint32_t colorKeyEnable;
622  uint32_t colorKeySel;
633  uint32_t backGroundColor;
638 
642 typedef struct
643 {
644  uint32_t overlayId;
646  uint32_t pipeLayerNum[APP_DSS_VID_PIPE_ID_MAX];
650 
654 typedef struct
655 {
656  uint32_t num_lanes;
660 
661 /* ========================================================================== */
662 /* Internal/Private Function Declarations */
663 /* ========================================================================== */
664 
672 static inline void appDctrlPathInfoInit(app_dctrl_path_info_t *pathInfo);
673 
681 static inline void appDctrlVpParamsInit(app_dctrl_vp_params_t *vpParams);
682 
690 static inline void appDctrlAdvVpParamsInit(app_dctrl_adv_vp_params_t *advVpParams);
691 
699 static inline void appDctrlOverlayParamsInit(
700  app_dctrl_overlay_params_t *overlayParams);
701 
709 static inline void appDctrlLayerParamsInit(
710  app_dctrl_layer_params_t *layerParams);
711 
719 static inline void appDctrlDsiParamsInit(app_dctrl_dsi_params_t *prms);
720 
721 /* ========================================================================== */
722 /* Function Declarations */
723 /* ========================================================================== */
724 
728 int32_t appDctrlInit(void);
729 
733 int32_t appDctrlDeInit(void);
734 
735 /* ========================================================================== */
736 /* Static Function Definitions */
737 /* ========================================================================== */
738 
739 static inline void appDctrlPathInfoInit(app_dctrl_path_info_t *pathInfo)
740 {
741  uint32_t i;
742  if(NULL != pathInfo)
743  {
744  pathInfo->numEdges = 0U;
745  for(i=0U; i<APP_DCTRL_MAX_EDGES; i++)
746  {
747  pathInfo->edgeInfo[i].startNode = 0U;
748  pathInfo->edgeInfo[i].endNode = 0U;
749  }
750  }
751 }
752 
753 static inline void appDctrlVpParamsInit(app_dctrl_vp_params_t *vpParams)
754 {
755  if(NULL != vpParams)
756  {
757  vpParams->vpId = APP_DSS_VP_ID_1;
759  vpParams->width = 1920U;
760  vpParams->height = 1080U;
761  vpParams->hFrontPorch = 88U;
762  vpParams->hBackPorch = 148U;
763  vpParams->hSyncLen = 44U;
764  vpParams->vFrontPorch = 4U;
765  vpParams->vBackPorch = 36U;
766  vpParams->vSyncLen = 5U;
767  vpParams->pixelClock = 148500U;
769  vpParams->cscRange = APP_DSS_CSC_RANGE_FULL;
773  vpParams->hsPolarity = APP_DCTRL_POL_HIGH;
774  vpParams->vsPolarity = APP_DCTRL_POL_HIGH;
775  }
776 }
777 
778 static inline void appDctrlAdvVpParamsInit(app_dctrl_adv_vp_params_t *advVpParams)
779 {
780  if(NULL != advVpParams)
781  {
782  advVpParams->vpId = APP_DSS_VP_ID_1;
783  advVpParams->hVAlign = APP_DCTRL_HVSYNC_ALIGN_OFF;
784  advVpParams->hVClkControl = APP_DCTRL_HVCLK_CTRL_OFF;
786  advVpParams->acBI = 0x0U;
787  advVpParams->acB = 0x0U;
788  advVpParams->vSyncGated = false;
789  advVpParams->hSyncGated = false;
790  advVpParams->pixelClockGated = false;
791  advVpParams->pixelDataGated = false;
792  advVpParams->pixelGated = false;
793  }
794 }
795 
796 static inline void appDctrlOverlayParamsInit(
797  app_dctrl_overlay_params_t *overlayParams)
798 {
799  if(NULL != overlayParams)
800  {
801  overlayParams->overlayId = APP_DSS_OVERLAY_ID_1;
802  overlayParams->colorKeyEnable = false;
804  overlayParams->transColorKeyMin = 0x0U;
805  overlayParams->transColorKeyMax = 0x0U;
806  overlayParams->backGroundColor = 0x0U;
807  }
808 }
809 
810 static inline void appDctrlLayerParamsInit(
811  app_dctrl_layer_params_t *layerParams)
812 {
813  uint32_t i;
814  if(NULL != layerParams)
815  {
816  layerParams->overlayId = APP_DSS_OVERLAY_ID_1;
817  for(i=0U; i<APP_DSS_VID_PIPE_ID_MAX; i++)
818  {
820  }
821  }
822 }
823 
825 {
826  if (NULL != prms)
827  {
828  prms->num_lanes = 2u;
829  }
830 }
831 
832 /* @} */
833 
834 #ifdef __cplusplus
835 }
836 #endif
837 
838 #endif /* #ifndef APP_DCTRL_H_ */
uint32_t hBackPorch
Definition: app_dctrl.h:522
uint32_t transColorKeyMax
Definition: app_dctrl.h:629
uint32_t acB
Definition: app_dctrl.h:582
uint32_t height
Definition: app_dctrl.h:517
uint32_t hVAlign
Definition: app_dctrl.h:569
static void appDctrlDsiParamsInit(app_dctrl_dsi_params_t *prms)
app_dctrl_dsi_params_t structure init function.
Definition: app_dctrl.h:824
static void appDctrlOverlayParamsInit(app_dctrl_overlay_params_t *overlayParams)
app_dctrl_overlay_params_t structure init function.
Definition: app_dctrl.h:796
Structure containing Overlay information.
Definition: app_dctrl.h:614
uint32_t hSyncGated
Definition: app_dctrl.h:592
uint32_t hVClkRiseFall
Definition: app_dctrl.h:575
#define APP_DCTRL_VIFW_12BIT
12-bit interface.
Definition: app_dctrl.h:288
uint32_t overlayId
Definition: app_dctrl.h:644
#define APP_DCTRL_HVSYNC_ALIGN_OFF
HS/VS not aligned.
Definition: app_dctrl.h:350
app_dctrl_edge_info_t edgeInfo[APP_DCTRL_MAX_EDGES]
Definition: app_dctrl.h:498
uint32_t hFrontPorch
Definition: app_dctrl.h:519
uint32_t actVidPolarity
Definition: app_dctrl.h:548
uint32_t colorKeyEnable
Definition: app_dctrl.h:618
static void appDctrlPathInfoInit(app_dctrl_path_info_t *pathInfo)
app_dctrl_path_info_t structure init function.
Definition: app_dctrl.h:739
#define APP_DCTRL_HVCLK_CTRL_OFF
HSYNC and VSYNC are driven on opposite edges of the pixel clock than pixel data.
Definition: app_dctrl.h:365
#define APP_DSS_VP_ID_1
Video Port 1.
Definition: app_dss.h:158
int32_t appDctrlInit(void)
DCTRL initialization function.
#define APP_DCTRL_EDGE_POL_RISING
Rising Edge.
Definition: app_dctrl.h:336
uint32_t pixelGated
Definition: app_dctrl.h:604
uint32_t pixelClkPolarity
Definition: app_dctrl.h:551
uint32_t vFrontPorch
Definition: app_dctrl.h:527
#define APP_DCTRL_POL_HIGH
High Polarity.
Definition: app_dctrl.h:324
#define APP_DCTRL_VID_STD_1080P_60
1920x1080 60FPS progressive HD standard.
Definition: app_dctrl.h:166
uint32_t startNode
Definition: app_dctrl.h:485
uint32_t endNode
Definition: app_dctrl.h:487
Structure containing Overlay layer information.
Definition: app_dctrl.h:642
uint32_t pixelClockGated
Definition: app_dctrl.h:596
uint32_t vpId
Definition: app_dctrl.h:567
uint32_t standard
Definition: app_dctrl.h:512
uint32_t hVClkControl
Definition: app_dctrl.h:572
static void appDctrlAdvVpParamsInit(app_dctrl_adv_vp_params_t *advVpParams)
app_dctrl_adv_vp_params_t structure init function.
Definition: app_dctrl.h:778
Structure containing edge information. Edge is a connection between two nodes i.e. two modules. DSS Hardware can be represented by a graph, where each module is node and edge is present between two nodes if they are connected.
Definition: app_dctrl.h:483
uint32_t lane_speed_in_kbps
Definition: app_dctrl.h:657
uint32_t vpId
Definition: app_dctrl.h:510
#define APP_DCTRL_MAX_EDGES
Defines maximum number of edges for allocation. This is derived by looking at all possible DSS connec...
Definition: app_dctrl.h:131
uint32_t overlayId
Definition: app_dctrl.h:616
uint32_t hsPolarity
Definition: app_dctrl.h:554
Structure containing Video Port information.
Definition: app_dctrl.h:508
uint32_t colorKeySel
Definition: app_dctrl.h:622
uint32_t pixelDataGated
Definition: app_dctrl.h:600
Structure containing DSS path information.
Definition: app_dctrl.h:494
#define APP_DCTRL_DV_GENERIC_DISCSYNC
Video format is for any discrete sync.
Definition: app_dctrl.h:274
Advance Signal Configuration for the LCD.
Definition: app_dctrl.h:565
static void appDctrlVpParamsInit(app_dctrl_vp_params_t *vpParams)
app_dctrl_vp_params_t structure init function.
Definition: app_dctrl.h:753
uint32_t videoIfWidth
Definition: app_dctrl.h:539
uint32_t backGroundColor
Definition: app_dctrl.h:633
#define APP_DSS_VID_PIPE_ID_MAX
Video Pipeline Max Id.
Definition: app_dss.h:128
uint32_t vSyncGated
Definition: app_dctrl.h:588
uint32_t vsPolarity
Definition: app_dctrl.h:557
uint32_t cscRange
Definition: app_dctrl.h:537
uint32_t dvoFormat
Definition: app_dctrl.h:535
uint32_t hSyncLen
Definition: app_dctrl.h:524
#define APP_DCTRL_OVERLAY_TRANS_COLOR_DEST
Destination transparency color key selected.
Definition: app_dctrl.h:379
static void appDctrlLayerParamsInit(app_dctrl_layer_params_t *layerParams)
app_dctrl_layer_params_t structure init function.
Definition: app_dctrl.h:810
#define APP_DSS_OVERLAY_ID_1
Overlay 1.
Definition: app_dss.h:139
int32_t appDctrlDeInit(void)
DCTRL de-initialization function.
uint32_t numEdges
Definition: app_dctrl.h:496
#define APP_DCTRL_OVERLAY_LAYER_INVALID
Invalid Overlay Layer.
Definition: app_dctrl.h:403
uint32_t num_lanes
Definition: app_dctrl.h:656
#define APP_DCTRL_EDGE_POL_FALLING
Falling Edge.
Definition: app_dctrl.h:338
Structure for dsi parameters.
Definition: app_dctrl.h:654
uint32_t vSyncLen
Definition: app_dctrl.h:531
uint32_t pixelClock
Definition: app_dctrl.h:533
uint32_t width
Definition: app_dctrl.h:515
uint32_t vBackPorch
Definition: app_dctrl.h:529
uint32_t transColorKeyMin
Definition: app_dctrl.h:625
uint32_t pipeLayerNum[APP_DSS_VID_PIPE_ID_MAX]
Definition: app_dctrl.h:646
uint32_t acBI
Definition: app_dctrl.h:578
#define APP_DSS_CSC_RANGE_FULL
Full range selected.
Definition: app_dss.h:179