Hi Moteen

On 28/05/25 13:35, Moteen Shah wrote:
> Introduce response and request structs for receiving information
> regarding FW/SOC capability from DM. The received capability can
> further be used to call API's based on the feature supported by
> the DM firmware.
> 
> Signed-off-by: Moteen Shah <m-s...@ti.com>
> ---
>  drivers/firmware/ti_sci.h              | 13 +++++++++++++
>  include/linux/soc/ti/ti_sci_protocol.h | 12 ++++++++++++
>  2 files changed, 25 insertions(+)
> 
> diff --git a/drivers/firmware/ti_sci.h b/drivers/firmware/ti_sci.h
> index bb8bc7beead..f3d9eb453b4 100644
> --- a/drivers/firmware/ti_sci.h
> +++ b/drivers/firmware/ti_sci.h
> @@ -26,6 +26,7 @@
>  #define TI_SCI_MSG_BOARD_CONFIG_RM   0x000c
>  #define TI_SCI_MSG_BOARD_CONFIG_SECURITY  0x000d
>  #define TI_SCI_MSG_BOARD_CONFIG_PM   0x000e
> +#define TI_SCI_MSG_QUERY_FW_CAPS     0x0022
>  #define TISCI_MSG_QUERY_MSMC         0x0020
>  
>  /* Device requests */
> @@ -134,6 +135,18 @@ struct ti_sci_msg_resp_version {
>       u8 abi_minor;
>  } __packed;
>  
> +/**
> + * struct ti_sci_query_fw_caps_resp - Response for a message
> + * @hdr:     Generic header
> + * @fw_caps: 64-bit value representing the FW/SOC capabilities.
> + *
> + * Response to a message with message type TI_SCI_MSG_QUERY_FW_CAPS
> + */
> +struct ti_sci_query_fw_caps_resp {
> +     struct ti_sci_msg_hdr hdr;
> +     u64    fw_caps;
> +} __packed;
> +
>  /**
>   * struct ti_sci_msg_req_reboot - Reboot the SoC
>   * @hdr:     Generic Header
> diff --git a/include/linux/soc/ti/ti_sci_protocol.h 
> b/include/linux/soc/ti/ti_sci_protocol.h
> index aa4d105ee98..05a19a8d86c 100644
> --- a/include/linux/soc/ti/ti_sci_protocol.h
> +++ b/include/linux/soc/ti/ti_sci_protocol.h
> @@ -261,6 +261,17 @@ struct ti_sci_core_ops {
>                         u64 *msmc_start, u64 *msmc_end);
>  };
>  
> +/**
> + * struct ti_sci_firmware_ops - DM firmware operations
> + * @query_dm_cap: Query the DM capabilities
> + */
> +struct ti_sci_firmware_ops {
> +     int (*query_dm_cap)(struct ti_sci_handle *handle,
> +                         u64 *dm_cap);
> +};
> +
> +#define TI_SCI_MSG_FLAG_FW_CAP_DM    0x100
> +
>  /**
>   * struct ti_sci_proc_ops - Processor specific operations.
>   *
> @@ -609,6 +620,7 @@ struct ti_sci_ops {
>       struct ti_sci_dev_ops dev_ops;
>       struct ti_sci_clk_ops clk_ops;
>       struct ti_sci_core_ops core_ops;
> +     struct ti_sci_firmware_ops fw_ops;
>       struct ti_sci_proc_ops proc_ops;
>       struct ti_sci_rm_core_ops rm_core_ops;
>       struct ti_sci_rm_ringacc_ops rm_ring_ops;

Reviewed-by: Neha Malcom Francis <n-fran...@ti.com>

-- 
Thanking You
Neha Malcom Francis

Reply via email to