xref: /utopia/UTPA2-700.0.x/modules/xc/drv/xc/mdrv_xc_io.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations:
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise:
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 //////////////////////////////////////////////////////////////////////////////////////////////////
78 //
79 // @file   mdrv_xc_io.h
80 // @brief  XC KMD Driver Interface
81 // @author MStar Semiconductor Inc.
82 //////////////////////////////////////////////////////////////////////////////////////////////////
83 
84 #ifndef _MDRV_XC_IO_H
85 #define _MDRV_XC_IO_H
86 
87 //=============================================================================
88 // Includs
89 //=============================================================================
90 #include "mdrv_xc_st.h"
91 //=============================================================================
92 // Defines
93 //=============================================================================
94 //IO Ctrl defines:
95 #define MDRV_XC_IOC_SET_HDR_TYPE_NR                  (0)
96 #define MDRV_XC_IOC_GET_HDR_TYPE_NR                  (1)
97 #define MDRV_XC_IOC_SET_INPUT_SOURCE_TYPE_NR         (2)
98 #define MDRV_XC_IOC_GET_INPUT_SOURCE_TYPE_NR         (3)
99 #define MDRV_XC_IOC_SET_OPEN_METADATA_INFO_NR        (4)
100 #define MDRV_XC_IOC_SET_3DLUT_INFO_NR                (5)
101 #define MDRV_XC_IOC_SET_SHMEM_INFO_NR                (6)
102 #define MDRV_XC_IOC_ENABLE_HDR_NR                    (7)
103 #define MDRV_XC_IOC_SET_HDR_WINDOW_NR                (8)
104 #define MDRV_XC_IOC_CONFIG_AUTO_DOWNLOAD_NR          (9)
105 #define MDRV_XC_IOC_WRITE_AUTO_DOWNLOAD_NR           (10)
106 #define MDRV_XC_IOC_FIRE_AUTO_DOWNLOAD_NR            (11)
107 #define MDRV_XC_IOC_GET_AUTO_DOWNLOAD_CAPS_NR        (12)
108 #define MDRV_XC_IOC_SET_COLOR_FORMAT_NR              (13)
109 #define MDRV_XC_IOC_MLOAD_INIT_NR                    (14)
110 #define MDRV_XC_IOC_MLOAD_ENABLE_NR                  (15)
111 #define MDRV_XC_IOC_MLOAD_GETSTATUS_NR               (16)
112 #define MDRV_XC_IOC_MLOAD_WRT_CMD_NR                 (17)
113 #define MDRV_XC_IOC_MLOAD_FIRE_NR                    (18)
114 #define MDRV_XC_IOC_MLOAD_WRT_CMD_NONXC_NR           (19)
115 #define MDRV_XC_IOC_MLOAD_SET_IP_TRIG_P_NR           (20)
116 #define MDRV_XC_IOC_MLOAD_GET_IP_TRIG_P_NR           (21)
117 #define MDRV_XC_IOC_MLOAD_SET_TRIG_SYNC_NR           (22)
118 #define MDRV_XC_IOC_DS_GET_DSFORCE_INDEX_SUPPORT_NR  (23)
119 #define MDRV_XC_IOC_DS_SET_DSINDEX_SOURCE_SELECT_NR  (24)
120 #define MDRV_XC_IOC_DS_SET_DSFORCE_INDEX_NR          (25)
121 #define MDRV_XC_IOC_DS_SET_DYNAMICSCALING_NR         (26)
122 #define MDRV_XC_IOC_DS_SET_DYNAMICSCALING_FLAG_NR    (27)
123 #define MDRV_XC_IOC_DS_GET_DS_STATUS_NR              (28)
124 #define MDRV_XC_IOC_DS_ENABLE_IPM_TUNE_AFTER_DS_NR   (29)
125 #define MDRV_XC_IOC_DS_WRITE_SWDS_CMD_NR             (30)
126 #define MDRV_XC_IOC_DS_ADD_NULL_CMD_NR               (31)
127 #define MDRV_XC_IOC_DS_SET_CLIENT_NR                 (32)
128 #define MDRV_XC_IOC_DS_GET_SUPPORT_INDEX_NUM_NR      (33)
129 #define MDRV_XC_IOC_CFDCONCTRL_NR                    (34)
130 #define MDRV_XC_IOC_DLCCHANGECURVE_NR                (35)
131 #define MDRV_XC_IOC_DLCONOFFINFO_NR                  (36)
132 #define MDRV_XC_IOC_DLCBLECHANGECURVE_NR             (37)
133 #define MDRV_XC_IOC_DLCBLEONOFFINFO_NR               (38)
134 #define MDRV_XC_IOC_DLCGETHISTOGRAMINFO_NR           (39)
135 #define MDRV_XC_IOC_DLCSETDLCINITINFO_NR             (40)
136 #define MDRV_XC_IOC_DLCSETTMOINFO_NR                 (41)
137 #define MDRV_XC_IOC_DLCSETHDRINFO_NR                 (42)
138 #define MDRV_XC_IOC_DS_WRITE_SWDS_NONXC_CMD_NR       (43)
139 #define MDRV_XC_IOC_DS_GET_INDEX_NR                  (44)
140 #define MDRV_XC_IOC_DS_FIRE_INDEX_NR                 (45)
141 #define MDRV_XC_IOC_SET_DSHDRINFO_NR                 (46)
142 #define MDRV_XC_IOC_DS_WRITE_SWDS_CMD_MASK_NR        (47)
143 #define MDRV_XC_IOC_GET_CFD_SUPPORT_STATUS_NR        (48)
144 #define MDRV_XC_IOC_SET_SWDR_INFO_NR                 (49)
145 #define MDRV_XC_IOC_GET_SWDR_INFO_NR                 (50)
146 #define MDRV_XC_IOC_MAX_NR                           (51)
147 
148 // use 'x' as magic number
149 #define MDRV_XC_IOC_MAGIC      ('x')
150 #define MDRV_XC_IOC_SET_HDR_TYPE                     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_HDR_TYPE_NR, EN_KDRV_XC_HDR_TYPE)
151 #define MDRV_XC_IOC_GET_HDR_TYPE                     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_GET_HDR_TYPE_NR, EN_KDRV_XC_HDR_TYPE)
152 #define MDRV_XC_IOC_SET_INPUT_SOURCE_TYPE            _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_INPUT_SOURCE_TYPE_NR, EN_KDRV_XC_INPUT_SOURCE_TYPE)
153 #define MDRV_XC_IOC_GET_INPUT_SOURCE_TYPE            _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_GET_INPUT_SOURCE_TYPE_NR, EN_KDRV_XC_INPUT_SOURCE_TYPE)
154 #define MDRV_XC_IOC_SET_OPEN_METADATA_INFO           _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_OPEN_METADATA_INFO_NR, ST_KDRV_XC_OPEN_METADATA_INFO)
155 #define MDRV_XC_IOC_SET_3DLUT_INFO                   _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_3DLUT_INFO_NR, ST_KDRV_XC_3DLUT_INFO)
156 #define MDRV_XC_IOC_SET_SHMEM_INFO                   _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_SHMEM_INFO_NR, ST_KDRV_XC_SHARE_MEMORY_INFO)
157 #define MDRV_XC_IOC_ENABLE_HDR                       _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_ENABLE_HDR_NR, MS_BOOL)
158 #define MDRV_XC_IOC_SET_HDR_WINDOW                   _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_HDR_WINDOW_NR, ST_KDRV_XC_WINDOW_INFO)
159 #define MDRV_XC_IOC_CONFIG_AUTO_DOWNLOAD             _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_CONFIG_AUTO_DOWNLOAD_NR, ST_KDRV_XC_AUTODOWNLOAD_CONFIG_INFO)
160 #define MDRV_XC_IOC_WRITE_AUTO_DOWNLOAD              _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_WRITE_AUTO_DOWNLOAD_NR, ST_KDRV_XC_AUTODOWNLOAD_DATA_INFO)
161 #define MDRV_XC_IOC_FIRE_AUTO_DOWNLOAD               _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_FIRE_AUTO_DOWNLOAD_NR, EN_KDRV_XC_AUTODOWNLOAD_CLIENT)
162 #define MDRV_XC_IOC_GET_AUTO_DOWNLOAD_CAPS           _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_GET_AUTO_DOWNLOAD_CAPS_NR, ST_KDRV_XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS)
163 #define MDRV_XC_IOC_SET_COLOR_FORMAT                 _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_COLOR_FORMAT_NR, EN_KDRV_XC_HDR_COLOR_FORMAT)
164 #define MDRV_XC_IOC_MLOAD_INIT                       _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_INIT_NR, ST_KDRV_MLOAD_INIT)
165 #define MDRV_XC_IOC_MLOAD_ENABLE                     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_ENABLE_NR, ST_KDRV_MLOAD_ENABLE)
166 #define MDRV_XC_IOC_MLOAD_GETSTATUS                  _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_GETSTATUS_NR, ST_KDRV_MLOAD_GETSTATUS)
167 #define MDRV_XC_IOC_MLOAD_WRT_CMD                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_WRT_CMD_NR, ST_KDRV_MLOAD_WRT_CMD)
168 #define MDRV_XC_IOC_MLOAD_FIRE                       _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_FIRE_NR, ST_KDRV_MLOAD_FIRE)
169 #define MDRV_XC_IOC_MLOAD_WRT_CMD_NONXC              _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_WRT_CMD_NONXC_NR, ST_KDRV_MLOAD_WRT_CMD_NONXC)
170 #define MDRV_XC_IOC_MLOAD_SET_IP_TRIG_P              _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_SET_IP_TRIG_P_NR, ST_KDRV_MLOAD_SET_IP_TRIG_P)
171 #define MDRV_XC_IOC_MLOAD_GET_IP_TRIG_P              _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_GET_IP_TRIG_P_NR, ST_KDRV_MLOAD_GET_IP_TRIG_P)
172 #define MDRV_XC_IOC_MLOAD_SET_TRIG_SYNC              _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_MLOAD_SET_TRIG_SYNC_NR, EN_MLOAD_TRIG_SYNC)
173 #define MDRV_XC_IOC_CFDCONCTRL                       _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_CFDCONCTRL_NR, ST_KDRV_XC_CFD_CONTROL_INFO)
174 #define MDRV_XC_IOC_DLCCHANGECURVE                   _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCCHANGECURVE_NR, ST_KDRV_XC_DLC_INFO)
175 #define MDRV_XC_IOC_DLCONOFFINFO                     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCONOFFINFO_NR, MS_BOOL)
176 #define MDRV_XC_IOC_DLCBLECHANGECURVE                _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCBLECHANGECURVE_NR, ST_KDRV_XC_DLC_BLE_INFO)
177 #define MDRV_XC_IOC_DLCBLEONOFFINFO                  _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCBLEONOFFINFO_NR, MS_BOOL)
178 #define MDRV_XC_IOC_DLCGETHISTOGRAMINFO              _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCGETHISTOGRAMINFO_NR, MS_U16)
179 #define MDRV_XC_IOC_DLCSETDLCINITINFO                _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCSETDLCINITINFO_NR, ST_KDRV_XC_DLC_INIT_INFO)
180 #define MDRV_XC_IOC_DLCSETTMOINFO                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DLCSETTMOINFO_NR, ST_KDRV_XC_TMO_INFO)
181 #define MDRV_XC_IOC_DS_GET_DSFORCE_INDEX_SUPPORT     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_GET_DSFORCE_INDEX_SUPPORT_NR, ST_KDRV_DS_GET_DSForceIndexSupported)
182 #define MDRV_XC_IOC_DS_SET_DSINDEX_SOURCE_SELECT     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_SET_DSINDEX_SOURCE_SELECT_NR, ST_KDRV_DS_SET_DSIndexSourceSelect)
183 #define MDRV_XC_IOC_DS_SET_DSFORCE_INDEX             _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_SET_DSFORCE_INDEX_NR, ST_KDRV_DS_SET_DSForceIndex)
184 #define MDRV_XC_IOC_DS_SET_DYNAMICSCALING            _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_SET_DYNAMICSCALING_NR, ST_KDRV_DS_SetDynamicScaling)
185 #define MDRV_XC_IOC_DS_SET_DYNAMICSCALING_FLAG       _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_SET_DYNAMICSCALING_FLAG_NR, ST_KDRV_DS_SET_DynamicScalingFlag)
186 #define MDRV_XC_IOC_DS_GET_DS_STATUS                 _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_GET_DS_STATUS_NR, ST_KDRV_DS_GetDynamicScalingStatus)
187 #define MDRV_XC_IOC_DS_ENABLE_IPM_TUNE_AFTER_DS      _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_ENABLE_IPM_TUNE_AFTER_DS_NR, ST_KDRV_DS_EnableIPMTuneAfterDS)
188 #define MDRV_XC_IOC_DS_WRITE_SWDS_CMD                _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_WRITE_SWDS_CMD_NR, ST_KDRV_DS_WriteSWDSCommand)
189 #define MDRV_XC_IOC_DS_ADD_NULL_CMD                  _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_ADD_NULL_CMD_NR, ST_KDRV_DS_Add_NullCommand)
190 #define MDRV_XC_IOC_DS_SET_CLIENT                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_SET_CLIENT_NR, ST_KDRV_DS_SET_CLIENT)
191 #define MDRV_XC_IOC_DS_GET_SUPPORT_INDEX_NUM         _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_GET_SUPPORT_INDEX_NUM_NR, ST_KDRV_DS_GET_SUPPORT_INDEX_NUM)
192 #define MDRV_XC_IOC_DS_WRITE_SWDS_NONXC_CMD          _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_WRITE_SWDS_NONXC_CMD_NR, ST_KDRV_DS_WriteSWDSCommandNonXC)
193 #define MDRV_XC_IOC_DS_GET_INDEX                     _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_GET_INDEX_NR, ST_KDRV_DS_GET_INDEX_INFO)
194 #define MDRV_XC_IOC_DS_FIRE_INDEX                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_FIRE_INDEX_NR, ST_KDRV_DS_FIRE_INDEX_INFO)
195 #define MDRV_XC_IOC_SET_DSHDRINFO                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_DSHDRINFO_NR, ST_KDRV_XC_DS_HDRInfo)
196 #define MDRV_XC_IOC_DS_WRITE_SWDS_CMD_MASK           _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_DS_WRITE_SWDS_CMD_MASK_NR, ST_KDRV_DS_WriteSWDSCommand_Mask)
197 #define MDRV_XC_IOC_GET_CFD_SUPPORT_STATUS           _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_GET_CFD_SUPPORT_STATUS_NR, MS_BOOL)
198 #define MDRV_XC_IOC_SET_SWDR_INFO                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_SET_SWDR_INFO_NR, ST_KDRV_XC_SWDR_INFO)
199 #define MDRV_XC_IOC_GET_SWDR_INFO                    _IOWR(MDRV_XC_IOC_MAGIC, MDRV_XC_IOC_GET_SWDR_INFO_NR, ST_KDRV_XC_SWDR_INFO)
200 #endif //_MDRV_XC_IO_H
201