1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __UAPI_CAM_FD_H__
20 #define __UAPI_CAM_FD_H__
21 #include "cam_defs.h"
22 #define CAM_FD_MAX_FACES 35
23 #define CAM_FD_RAW_RESULT_ENTRIES 512
24 #define CAM_PACKET_OPCODES_FD_FRAME_UPDATE 0x0
25 #define CAM_FD_CMD_BUFFER_ID_GENERIC 0x0
26 #define CAM_FD_CMD_BUFFER_ID_CDM 0x1
27 #define CAM_FD_CMD_BUFFER_ID_MAX 0x2
28 #define CAM_FD_BLOB_TYPE_SOC_CLOCK_BW_REQUEST 0x0
29 #define CAM_FD_BLOB_TYPE_RAW_RESULTS_REQUIRED 0x1
30 #define CAM_FD_INPUT_PORT_ID_IMAGE 0x0
31 #define CAM_FD_INPUT_PORT_ID_MAX 0x1
32 #define CAM_FD_OUTPUT_PORT_ID_RESULTS 0x0
33 #define CAM_FD_OUTPUT_PORT_ID_RAW_RESULTS 0x1
34 #define CAM_FD_OUTPUT_PORT_ID_WORK_BUFFER 0x2
35 #define CAM_FD_OUTPUT_PORT_ID_MAX 0x3
36 struct cam_fd_soc_clock_bw_request {
37   uint64_t clock_rate;
38   uint64_t bandwidth;
39   uint64_t reserved[4];
40 };
41 struct cam_fd_face {
42   uint32_t prop1;
43   uint32_t prop2;
44   uint32_t prop3;
45   uint32_t prop4;
46 };
47 struct cam_fd_results {
48   struct cam_fd_face faces[CAM_FD_MAX_FACES];
49   uint32_t face_count;
50   uint32_t reserved[3];
51 };
52 struct cam_fd_hw_caps {
53   struct cam_hw_version core_version;
54   struct cam_hw_version wrapper_version;
55   uint32_t raw_results_available;
56   uint32_t supported_modes;
57   uint64_t reserved;
58 };
59 struct cam_fd_query_cap_cmd {
60   struct cam_iommu_handle device_iommu;
61   struct cam_iommu_handle cdm_iommu;
62   struct cam_fd_hw_caps hw_caps;
63   uint64_t reserved;
64 };
65 struct cam_fd_acquire_dev_info {
66   struct cam_fd_soc_clock_bw_request clk_bw_request;
67   uint32_t priority;
68   uint32_t mode;
69   uint32_t get_raw_results;
70   uint32_t reserved[13];
71 };
72 #endif
73 
74