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