1 #ifndef __UAPI_CAM_LRME_H__ 2 #define __UAPI_CAM_LRME_H__ 3 4 #include "cam_defs.h" 5 6 7 enum CAM_LRME_IO_TYPE { 8 CAM_LRME_IO_TYPE_TAR, 9 CAM_LRME_IO_TYPE_REF, 10 CAM_LRME_IO_TYPE_RES, 11 CAM_LRME_IO_TYPE_DS2, 12 }; 13 14 #define CAM_LRME_INPUT_PORT_TYPE_TAR (1 << 0) 15 #define CAM_LRME_INPUT_PORT_TYPE_REF (1 << 1) 16 17 #define CAM_LRME_OUTPUT_PORT_TYPE_DS2 (1 << 0) 18 #define CAM_LRME_OUTPUT_PORT_TYPE_RES (1 << 1) 19 20 #define CAM_LRME_DEV_MAX 1 21 22 23 struct cam_lrme_hw_version { 24 uint32_t gen; 25 uint32_t rev; 26 uint32_t step; 27 }; 28 29 struct cam_lrme_dev_cap { 30 struct cam_lrme_hw_version clc_hw_version; 31 struct cam_lrme_hw_version bus_rd_hw_version; 32 struct cam_lrme_hw_version bus_wr_hw_version; 33 struct cam_lrme_hw_version top_hw_version; 34 struct cam_lrme_hw_version top_titan_version; 35 }; 36 37 struct cam_lrme_query_cap_cmd { 38 struct cam_iommu_handle device_iommu; 39 struct cam_iommu_handle cdm_iommu; 40 uint32_t num_devices; 41 struct cam_lrme_dev_cap dev_caps[CAM_LRME_DEV_MAX]; 42 }; 43 44 struct cam_lrme_soc_info { 45 uint64_t clock_rate; 46 uint64_t bandwidth; 47 uint64_t reserved[4]; 48 }; 49 50 struct cam_lrme_acquire_args { 51 struct cam_lrme_soc_info lrme_soc_info; 52 }; 53 54 #endif /* __UAPI_CAM_LRME_H__ */ 55 56