You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					66 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					66 lines
				
				1.5 KiB
			| 
											6 years ago
										 | #ifndef __UAPI_CAM_LRME_H__
 | ||
|  | #define __UAPI_CAM_LRME_H__
 | ||
|  | 
 | ||
|  | #include "cam_defs.h"
 | ||
|  | 
 | ||
|  | /* LRME Resource Types */
 | ||
|  | 
 | ||
|  | enum CAM_LRME_IO_TYPE {
 | ||
|  | 	CAM_LRME_IO_TYPE_TAR,
 | ||
|  | 	CAM_LRME_IO_TYPE_REF,
 | ||
|  | 	CAM_LRME_IO_TYPE_RES,
 | ||
|  | 	CAM_LRME_IO_TYPE_DS2,
 | ||
|  | };
 | ||
|  | 
 | ||
|  | #define CAM_LRME_INPUT_PORT_TYPE_TAR (1 << 0)
 | ||
|  | #define CAM_LRME_INPUT_PORT_TYPE_REF (1 << 1)
 | ||
|  | 
 | ||
|  | #define CAM_LRME_OUTPUT_PORT_TYPE_DS2 (1 << 0)
 | ||
|  | #define CAM_LRME_OUTPUT_PORT_TYPE_RES (1 << 1)
 | ||
|  | 
 | ||
|  | #define CAM_LRME_DEV_MAX 1
 | ||
|  | 
 | ||
|  | 
 | ||
|  | struct cam_lrme_hw_version {
 | ||
|  | 	uint32_t gen;
 | ||
|  | 	uint32_t rev;
 | ||
|  | 	uint32_t step;
 | ||
|  | };
 | ||
|  | 
 | ||
|  | struct cam_lrme_dev_cap {
 | ||
|  | 	struct cam_lrme_hw_version clc_hw_version;
 | ||
|  | 	struct cam_lrme_hw_version bus_rd_hw_version;
 | ||
|  | 	struct cam_lrme_hw_version bus_wr_hw_version;
 | ||
|  | 	struct cam_lrme_hw_version top_hw_version;
 | ||
|  | 	struct cam_lrme_hw_version top_titan_version;
 | ||
|  | };
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * struct cam_lrme_query_cap_cmd - LRME query device capability payload
 | ||
|  |  *
 | ||
|  |  * @dev_iommu_handle: LRME iommu handles for secure/non secure
 | ||
|  |  *      modes
 | ||
|  |  * @cdm_iommu_handle: Iommu handles for secure/non secure modes
 | ||
|  |  * @num_devices: number of hardware devices
 | ||
|  |  * @dev_caps: Returned device capability array
 | ||
|  |  */
 | ||
|  | struct cam_lrme_query_cap_cmd {
 | ||
|  | 	struct cam_iommu_handle device_iommu;
 | ||
|  | 	struct cam_iommu_handle cdm_iommu;
 | ||
|  | 	uint32_t num_devices;
 | ||
|  | 	struct cam_lrme_dev_cap dev_caps[CAM_LRME_DEV_MAX];
 | ||
|  | };
 | ||
|  | 
 | ||
|  | struct cam_lrme_soc_info {
 | ||
|  | 	uint64_t clock_rate;
 | ||
|  | 	uint64_t bandwidth;
 | ||
|  | 	uint64_t reserved[4];
 | ||
|  | };
 | ||
|  | 
 | ||
|  | struct cam_lrme_acquire_args {
 | ||
|  | 	struct cam_lrme_soc_info lrme_soc_info;
 | ||
|  | };
 | ||
|  | 
 | ||
|  | #endif /* __UAPI_CAM_LRME_H__ */
 | ||
|  | 
 |