1 #ifndef __UAPI_CAM_FD_H__
2 #define __UAPI_CAM_FD_H__
3 
4 #include "cam_defs.h"
5 
6 #define CAM_FD_MAX_FACES                       35
7 #define CAM_FD_RAW_RESULT_ENTRIES              512
8 
9 #define CAM_PACKET_OPCODES_FD_FRAME_UPDATE     0x0
10 
11 #define CAM_FD_CMD_BUFFER_ID_GENERIC           0x0
12 #define CAM_FD_CMD_BUFFER_ID_CDM               0x1
13 #define CAM_FD_CMD_BUFFER_ID_MAX               0x2
14 
15 #define CAM_FD_BLOB_TYPE_SOC_CLOCK_BW_REQUEST  0x0
16 #define CAM_FD_BLOB_TYPE_RAW_RESULTS_REQUIRED  0x1
17 
18 #define CAM_FD_INPUT_PORT_ID_IMAGE             0x0
19 #define CAM_FD_INPUT_PORT_ID_MAX               0x1
20 
21 #define CAM_FD_OUTPUT_PORT_ID_RESULTS          0x0
22 #define CAM_FD_OUTPUT_PORT_ID_RAW_RESULTS      0x1
23 #define CAM_FD_OUTPUT_PORT_ID_WORK_BUFFER      0x2
24 #define CAM_FD_OUTPUT_PORT_ID_MAX              0x3
25 
26 struct cam_fd_soc_clock_bw_request {
27 	uint64_t    clock_rate;
28 	uint64_t    bandwidth;
29 	uint64_t    reserved[4];
30 };
31 
32 struct cam_fd_face {
33 	uint32_t    prop1;
34 	uint32_t    prop2;
35 	uint32_t    prop3;
36 	uint32_t    prop4;
37 };
38 
39 struct cam_fd_results {
40 	struct cam_fd_face    faces[CAM_FD_MAX_FACES];
41 	uint32_t              face_count;
42 	uint32_t              reserved[3];
43 };
44 
45 struct cam_fd_hw_caps {
46 	struct cam_hw_version    core_version;
47 	struct cam_hw_version    wrapper_version;
48 	uint32_t                 raw_results_available;
49 	uint32_t                 supported_modes;
50 	uint64_t                 reserved;
51 };
52 
53 struct cam_fd_query_cap_cmd {
54 	struct cam_iommu_handle    device_iommu;
55 	struct cam_iommu_handle    cdm_iommu;
56 	struct cam_fd_hw_caps      hw_caps;
57 	uint64_t                   reserved;
58 };
59 
60 struct cam_fd_acquire_dev_info {
61 	struct cam_fd_soc_clock_bw_request clk_bw_request;
62 	uint32_t                           priority;
63 	uint32_t                           mode;
64 	uint32_t                           get_raw_results;
65 	uint32_t                           reserved[13];
66 };
67 
68 #endif /* __UAPI_CAM_FD_H__ */
69