mbox series

[v2,0/2] remoteproc: mediatek: allow different SCP firmware names

Message ID 20220414122140.6114-1-allen-kh.cheng@mediatek.com
Headers show
Series remoteproc: mediatek: allow different SCP firmware names | expand

Message

Allen-KH Cheng (程冠勳) April 14, 2022, 12:21 p.m. UTC
The SCP needs firmware which differs between platforms and SoCs. Add a new
property "firmware-name" to allow the DT to specify the platform/board specific
path to this firmware file.

The firmware-name property is optional and the code falls back to the
old filename if the property isn't present.

Base on tag: next-20220412, linux-next/master

changes since v1:
- fix a misspelled word in commit title

Allen-KH Cheng (2):
  dt-bindings: remoteproc: mediatek: add firmware-name property
  remoteproc: mediatek: allow reading firmware-name from DT

 Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml | 7 +++++++
 drivers/remoteproc/mtk_scp.c                              | 7 ++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

Comments

Rex-BC Chen (陳柏辰) April 15, 2022, 6:12 a.m. UTC | #1
On Thu, 2022-04-14 at 20:21 +0800, Allen-KH Cheng wrote:
> The SCP firmware blob differs between platforms and SoCs. We add
> support in the SCP driver for reading the path of firmware file from
> DT in order to allow these files to live in a generic file system
> (or linux-firmware).
> 
> The firmware-name property is optional and the code falls back to the
> old filename if the property isn't present.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> 

Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
AngeloGioacchino Del Regno April 19, 2022, 11:49 a.m. UTC | #2
Il 14/04/22 14:21, Allen-KH Cheng ha scritto:
> The SCP firmware blob differs between platforms and SoCs. We add
> support in the SCP driver for reading the path of firmware file from
> DT in order to allow these files to live in a generic file system
> (or linux-firmware).
> 
> The firmware-name property is optional and the code falls back to the
> old filename if the property isn't present.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
> ---
>   drivers/remoteproc/mtk_scp.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c
> index ee6c4009586e..82813d74e829 100644
> --- a/drivers/remoteproc/mtk_scp.c
> +++ b/drivers/remoteproc/mtk_scp.c
> @@ -809,9 +809,14 @@ static int scp_probe(struct platform_device *pdev)
>   	struct mtk_scp *scp;
>   	struct rproc *rproc;
>   	struct resource *res;
> -	char *fw_name = "scp.img";
> +	const char *fw_name = "scp.img";
>   	int ret, i;
>   
> +	ret = of_property_read_string(pdev->dev.of_node, "firmware-name",
> +				      &fw_name);

Hello Allen,
the remoteproc subsystem provides a helper for that, please use it:

	ret = rproc_of_parse_firmware(&pdev->dev, 0, &fw_name);


> +	if (ret < 0 && ret != -EINVAL)
> +		return ret;

... this check is necessary, so you can keep this one.

Thanks,
Angelo