[PATCH v5 6/6] clk: scmi: Add i.MX95 OEM extension support for SCMI clock driver
Sebin Francis
sebin.francis at ti.com
Tue Nov 11 03:37:46 PST 2025
Hi Peng,
On 05/11/25 21:18, Peng Fan wrote:
> Hi Sebin,
>
>> Subject: Re: [PATCH v5 6/6] clk: scmi: Add i.MX95 OEM extension
>> support for SCMI clock driver
>>
>> Hi Peng,
>>
>> On 09/10/25 09:18, Peng Fan wrote:
>>> - Introduce 'clk-scmi-oem.c' to support vendor-specific OEM
>> extensions
>>> for the SCMI clock driver, allows clean integration of vendor-
>> specific
>>> features without impacting the core SCMI clock driver logic.
>>> - Extend 'clk-scmi.h' with 'scmi_clk_oem' structure and related
>> declarations.
>>> - Initialize OEM extensions via 'scmi_clk_oem_init()'.
>>> - Support querying OEM-specific features and setting spread
>> spectrum.
>>> - Pass 'scmi_device' to 'scmi_clk_ops_select()' for OEM data access.
>>>
>>> Signed-off-by: Peng Fan <peng.fan at nxp.com>
>>
>> Thanks for the patch. I only have a minor comment, otherwise the
>> patch looks good.
>>
>> [...]
>>
>>> +
>>> +int scmi_clk_oem_init(struct scmi_device *sdev) {
>>> + const struct scmi_handle *handle = sdev->handle;
>>> + int i, size = ARRAY_SIZE(info);
>>> +
>>> + for (i = 0; i < size; i++) {
>>> + if (strcmp(handle->version->vendor_id,
>> SCMI_IMX_VENDOR) ||
>>> + strcmp(handle->version->sub_vendor_id,
>> SCMI_IMX_SUBVENDOR))
>>> + continue;
>>> + if (info[i].compatible &&
>>> + !of_machine_is_compatible(info[i].compatible))
>>> + continue;
>>> +
>>> + break;
>>> + }
>>> +
>>> + if (i < size)
>>> + dev_set_drvdata(&sdev->dev, (void *)info[i].data);
>>> +
>>> + return 0;
>>> +}
>>
>> This above logic is tailor made for IMX is it possible to make it generic?
>
> Yeah. I will update it. It should compare with each entry in
> const struct scmi_clk_oem_info info[] = {
> { SCMI_IMX_VENDOR, SCMI_IMX_SUBVENDOR, NULL, &scmi_clk_oem_imx },
> };
>
> To TI, I think it could be extended to
> +const struct scmi_clk_oem_info info[] = {
> + { SCMI_IMX_VENDOR, SCMI_IMX_SUBVENDOR, NULL, &scmi_clk_oem_imx },
> + { SCMI_TI_VENDOR, SCMI_TI_SUBVENDOR, NULL, &scmi_clk_oem_ti },
> +};
>
Thanks for updating it. Yes, for TI as you mentioned we will add one entry.
Thanks
Sebin.
> Regards
> Peng.
>
>>
>>> diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c index
>>>
>> bf85924d61985eb9e596419349eb883e3817de73..1ed2091e3d4a951
>> c8662db4c94de
>>> e4b9c98b8326 100644
>>> --- a/drivers/clk/clk-scmi.c
>>> +++ b/drivers/clk/clk-scmi.c
>>> @@ -14,6 +14,8 @@
>>> #include <linux/scmi_protocol.h>
>>> #include <asm/div64.h>
>>>
>>> +#include "clk-scmi.h"
>>
>> [...]
>>
>>
>> Thanks
>> Sebin
More information about the linux-arm-kernel
mailing list