[PATCH v2 3/6] nvmem: mtk-efuse: Enable postprocess for mt8188 GPU speed binning
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Mon Sep 30 02:40:14 PDT 2024
Il 27/09/24 12:30, Pablo Sun ha scritto:
> Similar to mt8186, the efuse data for mt8188's GPU speed binning
> requires post-process to convert the bit field format expected
> by the OPP table.
>
> Since mt8188 efuse is not compatible to mt8186, add a new compatible
> entry for mt8188 and enable postprocess.
>
> Signed-off-by: Pablo Sun <pablo.sun at mediatek.com>
I know I told you to just reuse the pdata from 8186, but there's something else
that came to mind, here...
...actually, the efuse block from 8188 is indeed compatible with 8186, meaning
that the register r/w, etc, are all the same (bar the addresses, yes)
So, I wonder if it's not just a better idea to not even add mt8188-efuse in this
driver's of_device_id array, and just add that to the binding so that we permit
using
efuse: efuse at 11f20000 {
compatible = "mediatek,mt8188-efuse",
"mediatek,mt8186-efuse", "mediatek,efuse";
[etc]
}
Means that in mediatek,efuse.yaml you'll have to add...
- items:
- enum:
- mediatek,mt8188-efuse
- const: mediatek,mt8186-efuse
- const: mediatek,efuse <---- or without this, even.
In the end, the "mediatek,efuse" property is somewhat deprecated, so that'd
also be a good time to start the dropping process, as I imagine that future SoCs
would also need the same speedbin transformations - which means that they'll all
be compatible with 8186....
Cheers,
Angelo
> ---
> drivers/nvmem/mtk-efuse.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/nvmem/mtk-efuse.c b/drivers/nvmem/mtk-efuse.c
> index 9caf04667341..38d26e5c097a 100644
> --- a/drivers/nvmem/mtk-efuse.c
> +++ b/drivers/nvmem/mtk-efuse.c
> @@ -112,6 +112,7 @@ static const struct mtk_efuse_pdata mtk_efuse_pdata = {
> static const struct of_device_id mtk_efuse_of_match[] = {
> { .compatible = "mediatek,mt8173-efuse", .data = &mtk_efuse_pdata },
> { .compatible = "mediatek,mt8186-efuse", .data = &mtk_mt8186_efuse_pdata },
> + { .compatible = "mediatek,mt8188-efuse", .data = &mtk_mt8186_efuse_pdata },
> { .compatible = "mediatek,efuse", .data = &mtk_efuse_pdata },
> {/* sentinel */},
> };
More information about the Linux-mediatek
mailing list