Il 29/10/25 10:14, Chen-Yu Tsai ha scritto:
On Wed, Oct 15, 2025 at 4:41 PM AngeloGioacchino Del Regno
<[email protected]> wrote:

After a reply on the mailing lists [1] it emerged that the DT
property "firmware-name" should not be relied on because of
possible issues with firmware versions.
For MediaTek SCP, there has never been any firmware version vs
driver version desync issue but, regardless, the firmwares are
always using the same name and they're always located in a path
with a specific pattern.

Instead of unconditionally always relying on the firmware-name
devicetree property to get a path to the SCP FW file, drivers
should construct a name based on what firmware it knows and
what hardware it is running on.

In order to do that, add a `scp_get_default_fw_path()` function
that constructs the path and filename based on two of the infos
that the driver can get:
  1. The compatible string with the highest priority (so, the
     first one at index 0); and
  2. The type of SCP HW - single-core or multi-core.

This means that the default firmware path is generated as:
  - Single core SCP: mediatek/(soc_model)/scp.img
    for example:     mediatek/mt8183/scp.img;

  - Multi core SCP:  mediatek/(soc_model)/scp_c(core_number).img
    for example:     mediatek/mt8188/scp_c0.img for Core 0, and
                     mediatek/mt8188/scp_c1.img for Core 1.

I know this patch has been applied, but this scheme doesn't actually
follow what is already in the linux-firmware repository.

For all the supported platforms, the first core, even for multi core SCP,
already have their firmware uploaded as just "scp.img". Multicore SCP
is seen in MT8195 and MT8188.

The only one that is affected is MT8188, which needs a rename or a symlink in
linux-firmware.

MT8195 is not affected by this change, because the SCP is used as single-core,
hence this code will look for scp.img and not for scp_c0.img.


I guess I can send a followup patch?

The only followup patch that I deem to be necessary is one adding a symlink
or renaming for MT8188's SCP and nothing else.

Please remember that some of those SoCs (including MT8195) allow the SCP to be
configured as *either* single-core *or* dual-core - and usually firmwares for
single-core configurations are not compatible with dual-core ones, because of
the SRAM carveout/usage.

Cheers,
Angelo



ChenYu




Reply via email to