• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __UAPI_CAM_CPAS_H__
2 #define __UAPI_CAM_CPAS_H__
3 
4 #include "cam_defs.h"
5 
6 #define CAM_FAMILY_CAMERA_SS     1
7 #define CAM_FAMILY_CPAS_SS       2
8 
9 #ifdef CONFIG_BOARD_SUNFISH
10 
11 #define CAM_AXI_BW_VOTING_V2                2
12 
13 #define CAM_AXI_TRANSACTION_READ            0
14 #define CAM_AXI_TRANSACTION_WRITE           1
15 
16 #define CAM_AXI_PATH_DATA_IFE_START_OFFSET 0
17 #define CAM_AXI_PATH_DATA_IFE_LINEAR    (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 0)
18 #define CAM_AXI_PATH_DATA_IFE_VID       (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 1)
19 #define CAM_AXI_PATH_DATA_IFE_DISP      (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 2)
20 #define CAM_AXI_PATH_DATA_IFE_STATS     (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 3)
21 #define CAM_AXI_PATH_DATA_IFE_RDI0      (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 4)
22 #define CAM_AXI_PATH_DATA_IFE_RDI1      (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 5)
23 #define CAM_AXI_PATH_DATA_IFE_RDI2      (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 6)
24 #define CAM_AXI_PATH_DATA_IFE_RDI3      (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 7)
25 #define CAM_AXI_PATH_DATA_IFE_PDAF      (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 8)
26 #define CAM_AXI_PATH_DATA_IFE_PIXEL_RAW \
27        (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 9)
28 #define CAM_AXI_PATH_DATA_IFE_MAX_OFFSET \
29        (CAM_AXI_PATH_DATA_IFE_START_OFFSET + 31)
30 
31 #define CAM_AXI_PATH_DATA_IPE_START_OFFSET 32
32 #define CAM_AXI_PATH_DATA_IPE_RD_IN     (CAM_AXI_PATH_DATA_IPE_START_OFFSET + 0)
33 #define CAM_AXI_PATH_DATA_IPE_RD_REF    (CAM_AXI_PATH_DATA_IPE_START_OFFSET + 1)
34 #define CAM_AXI_PATH_DATA_IPE_WR_VID    (CAM_AXI_PATH_DATA_IPE_START_OFFSET + 2)
35 #define CAM_AXI_PATH_DATA_IPE_WR_DISP   (CAM_AXI_PATH_DATA_IPE_START_OFFSET + 3)
36 #define CAM_AXI_PATH_DATA_IPE_WR_REF    (CAM_AXI_PATH_DATA_IPE_START_OFFSET + 4)
37 #define CAM_AXI_PATH_DATA_IPE_MAX_OFFSET \
38        (CAM_AXI_PATH_DATA_IPE_START_OFFSET + 31)
39 
40 #define CAM_AXI_PATH_DATA_ALL              256
41 
42 struct cam_axi_per_path_bw_vote {
43        uint32_t                      usage_data;
44        uint32_t                      transac_type;
45        uint32_t                      path_data_type;
46        uint32_t                      reserved;
47        uint64_t                      camnoc_bw;
48        uint64_t                      mnoc_ab_bw;
49        uint64_t                      mnoc_ib_bw;
50        uint64_t                      ddr_ab_bw;
51        uint64_t                      ddr_ib_bw;
52 };
53 
54 #endif /* CONFIG_BOARD_SUNFISH */
55 
56 struct cam_cpas_query_cap {
57 	uint32_t                 camera_family;
58 	uint32_t                 reserved;
59 	struct cam_hw_version    camera_version;
60 	struct cam_hw_version    cpas_version;
61 };
62 
63 #endif /* __UAPI_CAM_CPAS_H__ */
64