1762ed313SSrinivas Pandruvada /* SPDX-License-Identifier: GPL-2.0-only */ 2762ed313SSrinivas Pandruvada /* 3762ed313SSrinivas Pandruvada * intel_tpmi.h: Intel TPMI core external interface 4762ed313SSrinivas Pandruvada */ 5762ed313SSrinivas Pandruvada 6762ed313SSrinivas Pandruvada #ifndef _INTEL_TPMI_H_ 7762ed313SSrinivas Pandruvada #define _INTEL_TPMI_H_ 8762ed313SSrinivas Pandruvada 9762ed313SSrinivas Pandruvada /** 10762ed313SSrinivas Pandruvada * struct intel_tpmi_plat_info - Platform information for a TPMI device instance 11762ed313SSrinivas Pandruvada * @package_id: CPU Package id 12762ed313SSrinivas Pandruvada * @bus_number: PCI bus number 13762ed313SSrinivas Pandruvada * @device_number: PCI device number 14762ed313SSrinivas Pandruvada * @function_number: PCI function number 15762ed313SSrinivas Pandruvada * 16762ed313SSrinivas Pandruvada * Structure to store platform data for a TPMI device instance. This 17762ed313SSrinivas Pandruvada * struct is used to return data via tpmi_get_platform_data(). 18762ed313SSrinivas Pandruvada */ 19762ed313SSrinivas Pandruvada struct intel_tpmi_plat_info { 20762ed313SSrinivas Pandruvada u8 package_id; 21762ed313SSrinivas Pandruvada u8 bus_number; 22762ed313SSrinivas Pandruvada u8 device_number; 23762ed313SSrinivas Pandruvada u8 function_number; 24762ed313SSrinivas Pandruvada }; 25762ed313SSrinivas Pandruvada 26762ed313SSrinivas Pandruvada struct intel_tpmi_plat_info *tpmi_get_platform_data(struct auxiliary_device *auxdev); 276d957f1eSSrinivas Pandruvada struct resource *tpmi_get_resource_at_index(struct auxiliary_device *auxdev, int index); 286d957f1eSSrinivas Pandruvada int tpmi_get_resource_count(struct auxiliary_device *auxdev); 29762ed313SSrinivas Pandruvada 30*61457949SSrinivas Pandruvada int tpmi_get_feature_status(struct auxiliary_device *auxdev, int feature_id, int *locked, 31*61457949SSrinivas Pandruvada int *disabled); 32762ed313SSrinivas Pandruvada #endif 33