1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef __UAPI_CAM_CUSTOM_H__ 8 #define __UAPI_CAM_CUSTOM_H__ 9 #include "cam_defs.h" 10 #define CAM_CUSTOM_DEV_NAME "cam-custom" 11 #define CAM_CUSTOM_NUM_SUB_DEVICES 2 12 #define CAM_CUSTOM_HW1 0 13 #define CAM_CUSTOM_HW2 1 14 #define CAM_CUSTOM_OUT_RES_UDI_0 1 15 #define CAM_CUSTOM_OUT_RES_UDI_1 2 16 #define CAM_CUSTOM_OUT_RES_UDI_2 3 17 #define CAM_CUSTOM_IN_RES_UDI_0 1 18 #define CAM_CUSTOM_RES_ID_PORT 0 19 #define CAM_CUSTOM_PACKET_OP_BASE 0 20 #define CAM_CUSTOM_PACKET_INIT_DEV 1 21 #define CAM_CUSTOM_PACKET_UPDATE_DEV 2 22 #define CAM_CUSTOM_PACKET_OP_MAX 3 23 #define CAM_CUSTOM_VC_DT_CFG_MAX 4 24 #define CAM_CUSTOM_IN_RES_BASE 0x5000 25 #define CAM_CUSTOM_IN_RES_PHY_0 (CAM_CUSTOM_IN_RES_BASE + 1) 26 #define CAM_CUSTOM_IN_RES_PHY_1 (CAM_CUSTOM_IN_RES_BASE + 2) 27 #define CAM_CUSTOM_IN_RES_PHY_2 (CAM_CUSTOM_IN_RES_BASE + 3) 28 #define CAM_CUSTOM_IN_RES_PHY_3 (CAM_CUSTOM_IN_RES_BASE + 4) 29 struct cam_custom_dev_cap_info { 30 uint32_t hw_type; 31 uint32_t hw_version; 32 }; 33 struct cam_custom_query_cap_cmd { 34 struct cam_iommu_handle device_iommu; 35 struct cam_iommu_handle cdm_iommu; 36 int32_t num_dev; 37 uint32_t reserved; 38 struct cam_custom_dev_cap_info dev_caps[CAM_CUSTOM_NUM_SUB_DEVICES]; 39 }; 40 struct cam_custom_out_port_info { 41 uint32_t res_type; 42 uint32_t format; 43 uint32_t custom_info1; 44 uint32_t custom_info2; 45 uint32_t custom_info3; 46 uint32_t reserved; 47 }; 48 struct cam_custom_in_port_info { 49 uint32_t res_type; 50 uint32_t lane_type; 51 uint32_t lane_num; 52 uint32_t lane_cfg; 53 uint32_t vc[CAM_CUSTOM_VC_DT_CFG_MAX]; 54 uint32_t dt[CAM_CUSTOM_VC_DT_CFG_MAX]; 55 uint32_t num_valid_vc_dt; 56 uint32_t format; 57 uint32_t test_pattern; 58 uint32_t usage_type; 59 uint32_t left_start; 60 uint32_t left_stop; 61 uint32_t left_width; 62 uint32_t right_start; 63 uint32_t right_stop; 64 uint32_t right_width; 65 uint32_t line_start; 66 uint32_t line_stop; 67 uint32_t height; 68 uint32_t pixel_clk; 69 uint32_t num_bytes_out; 70 uint32_t custom_info1; 71 uint32_t custom_info2; 72 uint32_t num_out_res; 73 struct cam_custom_out_port_info data[1]; 74 }; 75 struct cam_custom_resource { 76 uint32_t resource_id; 77 uint32_t length; 78 uint32_t handle_type; 79 uint32_t reserved; 80 uint64_t res_hdl; 81 }; 82 struct cam_custom_acquire_hw_info { 83 uint32_t num_inputs; 84 uint32_t input_info_size; 85 uint32_t input_info_offset; 86 uint32_t reserved; 87 uint64_t data; 88 }; 89 struct cam_custom_cmd_buf_type_1 { 90 uint32_t custom_info; 91 uint32_t reserved; 92 }; 93 struct cam_custom_cmd_buf_type_2 { 94 uint32_t custom_info1; 95 uint32_t custom_info2; 96 uint32_t custom_info3; 97 uint32_t reserved; 98 }; 99 #endif 100