• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_CUSTOM_H__
20 #define __UAPI_CAM_CUSTOM_H__
21 #include "cam_defs.h"
22 #define CAM_CUSTOM_DEV_NAME "cam-custom"
23 #define CAM_CUSTOM_NUM_SUB_DEVICES 2
24 #define CAM_CUSTOM_HW1 0
25 #define CAM_CUSTOM_HW2 1
26 #define CAM_CUSTOM_OUT_RES_UDI_0 1
27 #define CAM_CUSTOM_OUT_RES_UDI_1 2
28 #define CAM_CUSTOM_OUT_RES_UDI_2 3
29 #define CAM_CUSTOM_IN_RES_UDI_0 1
30 #define CAM_CUSTOM_RES_ID_PORT 0
31 #define CAM_CUSTOM_PACKET_OP_BASE 0
32 #define CAM_CUSTOM_PACKET_INIT_DEV 1
33 #define CAM_CUSTOM_PACKET_UPDATE_DEV 2
34 #define CAM_CUSTOM_PACKET_OP_MAX 3
35 #define CAM_CUSTOM_VC_DT_CFG_MAX 4
36 #define CAM_CUSTOM_IN_RES_BASE 0x5000
37 #define CAM_CUSTOM_IN_RES_PHY_0 (CAM_CUSTOM_IN_RES_BASE + 1)
38 #define CAM_CUSTOM_IN_RES_PHY_1 (CAM_CUSTOM_IN_RES_BASE + 2)
39 #define CAM_CUSTOM_IN_RES_PHY_2 (CAM_CUSTOM_IN_RES_BASE + 3)
40 #define CAM_CUSTOM_IN_RES_PHY_3 (CAM_CUSTOM_IN_RES_BASE + 4)
41 struct cam_custom_dev_cap_info {
42   uint32_t hw_type;
43   uint32_t hw_version;
44 };
45 struct cam_custom_query_cap_cmd {
46   struct cam_iommu_handle device_iommu;
47   struct cam_iommu_handle cdm_iommu;
48   int32_t num_dev;
49   uint32_t reserved;
50   struct cam_custom_dev_cap_info dev_caps[CAM_CUSTOM_NUM_SUB_DEVICES];
51 };
52 struct cam_custom_out_port_info {
53   uint32_t res_type;
54   uint32_t format;
55   uint32_t custom_info1;
56   uint32_t custom_info2;
57   uint32_t custom_info3;
58   uint32_t reserved;
59 };
60 struct cam_custom_in_port_info {
61   uint32_t res_type;
62   uint32_t lane_type;
63   uint32_t lane_num;
64   uint32_t lane_cfg;
65   uint32_t vc[CAM_CUSTOM_VC_DT_CFG_MAX];
66   uint32_t dt[CAM_CUSTOM_VC_DT_CFG_MAX];
67   uint32_t num_valid_vc_dt;
68   uint32_t format;
69   uint32_t test_pattern;
70   uint32_t usage_type;
71   uint32_t left_start;
72   uint32_t left_stop;
73   uint32_t left_width;
74   uint32_t right_start;
75   uint32_t right_stop;
76   uint32_t right_width;
77   uint32_t line_start;
78   uint32_t line_stop;
79   uint32_t height;
80   uint32_t pixel_clk;
81   uint32_t num_bytes_out;
82   uint32_t custom_info1;
83   uint32_t custom_info2;
84   uint32_t num_out_res;
85   struct cam_custom_out_port_info data[1];
86 };
87 struct cam_custom_resource {
88   uint32_t resource_id;
89   uint32_t length;
90   uint32_t handle_type;
91   uint32_t reserved;
92   uint64_t res_hdl;
93 };
94 struct cam_custom_acquire_hw_info {
95   uint32_t num_inputs;
96   uint32_t input_info_size;
97   uint32_t input_info_offset;
98   uint32_t reserved;
99   uint64_t data;
100 };
101 struct cam_custom_cmd_buf_type_1 {
102   uint32_t custom_info;
103   uint32_t reserved;
104 };
105 struct cam_custom_cmd_buf_type_2 {
106   uint32_t custom_info1;
107   uint32_t custom_info2;
108   uint32_t custom_info3;
109   uint32_t reserved;
110 };
111 #endif
112