[PATCH 2/6] ti_sci_* : Add capability to access DM firmware's metadata

Moteen Shah m-shah at ti.com
Thu Jun 5 08:13:29 CEST 2025


Hey Neha,

On 03/06/25 11:43, Neha Malcom Francis wrote:
> On 28/05/25 13:35, Moteen Shah wrote:
>> Introduce response and request structs to receive and request
>> information regarding DM version, etc from TI SCI.
>>
>> Signed-off-by: Moteen Shah <m-shah at ti.com>
>> ---
>>   drivers/firmware/ti_sci.h              | 29 ++++++++++++++++++++++++++
>>   include/linux/soc/ti/ti_sci_protocol.h | 26 +++++++++++++++++++++++
>>   2 files changed, 55 insertions(+)
>>
>> diff --git a/drivers/firmware/ti_sci.h b/drivers/firmware/ti_sci.h
>> index f3d9eb453b4..6ef77d83114 100644
>> --- a/drivers/firmware/ti_sci.h
>> +++ b/drivers/firmware/ti_sci.h
>> @@ -19,6 +19,7 @@
>>   #define TI_SCI_MSG_ENABLE_WDT		0x0000
>>   #define TI_SCI_MSG_WAKE_RESET		0x0001
>>   #define TI_SCI_MSG_VERSION		0x0002
>> +#define TI_SCI_MSG_DM_VERSION		0x000F
>>   #define TI_SCI_MSG_WAKE_REASON		0x0003
>>   #define TI_SCI_MSG_GOODBYE		0x0004
>>   #define TI_SCI_MSG_SYS_RESET		0x0005
>> @@ -135,6 +136,34 @@ struct ti_sci_msg_resp_version {
>>   	u8 abi_minor;
>>   } __packed;
>>   
>> +/**
>> + * struct ti_sci_msg_dm_resp_version - Response for a message
>> + * @hdr:		Generic header
>> + * @version:		Version number of the firmware
>> + * @sub_version:	Sub-version number of the firmware
>> + * @patch_version:	Patch version number of the firmware
>> + * @abi_major:		Major version of the ABI that firmware supports
>> + * @abi_minor:		Minor version of the ABI that firmware supports
>> + * @sci_server_version:	String describing the SCI server version
>> + * @rm_pm_hal_version:	String describing the RM PM HAL version
>> + *
>> + * In general, ABI version changes follow the rule that minor version increments
>> + * are backward compatible. Major revision changes in ABI may not be
>> + * backward compatible.
>> + *
>> + * Response to a message with message type TI_SCI_MSG_DM_VERSION
>> + */
>> +struct ti_sci_msg_dm_resp_version {
>> +	struct ti_sci_msg_hdr hdr;
>> +	u16	version;
>> +	u8	sub_version;
>> +	u8	patch_version;
>> +	u8	abi_major;
>> +	u8	abi_minor;
>> +	char rm_pm_hal_version[12];
>> +	char sci_server_version[26];
>> +} __packed;
>> +
>>   /**
>>    * struct ti_sci_query_fw_caps_resp - Response for a message
>>    * @hdr:	Generic header
>> diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
>> index 05a19a8d86c..3f13a980433 100644
>> --- a/include/linux/soc/ti/ti_sci_protocol.h
>> +++ b/include/linux/soc/ti/ti_sci_protocol.h
>> @@ -30,6 +30,28 @@ struct ti_sci_version_info {
>>   	char firmware_description[32];
>>   };
>>   
>> +/**
>> + * struct ti_sci_dm_version_info - version information structure
>> + * @abi_major:		Major ABI version. Change here implies risk of backward
>> + *			compatibility break.
>> + * @abi_minor:		Minor ABI version. Change here implies new feature addition,
>> + *			or compatible change in ABI.
>> + * @patch_ver:		Patch version of the firmware.
>> + * @sub_ver:		Sub-version of the firmware.
>> + * @dm_ver:		DM version.
>> + * @sci_server_version:	Version string of the SCI server.
>> + * @rm_pm_hal_version:	Version string of the RM PM HAL.
>> + */
>> +struct ti_sci_dm_version_info {
>> +	u8 abi_major;
>> +	u8 abi_minor;
>> +	u8 patch_ver;
>> +	u8 sub_ver;
>> +	u16 dm_ver;
>> +	char rm_pm_hal_version[12];
>> +	char sci_server_version[26];
>> +};
>> +
>>   struct ti_sci_handle;
>>   
>>   /**
>> @@ -264,10 +286,14 @@ struct ti_sci_core_ops {
>>   /**
>>    * struct ti_sci_firmware_ops - DM firmware operations
>>    * @query_dm_cap: Query the DM capabilities
>> + * @get_dm_version: Get the DM version.
>> + *		    Return 0 for successful query else appropriate error value.
> nitpick: Alignment?

The checkpatch didn't raise an alarm, I'll recheck once and fix it if 
required in the revision.

Regards,
Moteen

>
>>    */
>>   struct ti_sci_firmware_ops {
>>   	int (*query_dm_cap)(struct ti_sci_handle *handle,
>>   			    u64 *dm_cap);
>> +	int (*get_dm_version)(struct ti_sci_handle *handle,
>> +			      struct ti_sci_dm_version_info *get_dm_version);
>>   };
>>   
>>   #define TI_SCI_MSG_FLAG_FW_CAP_DM	0x100
> Reviewed-by: Neha Malcom Francis <n-francis at ti.com>
>


More information about the U-Boot mailing list