[PATCH 1/3] soc: mediatek: mtk-socinfo: Add driver for getting chip information
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Wed Jul 19 00:20:59 PDT 2023
Il 18/07/23 13:21, William-tw Lin ha scritto:
> Add driver for socinfo retrieval. This patch includes the following:
> 1. mtk-socinfo driver for chip info retrieval
> 2. Related changes to Makefile and Kconfig
>
> Signed-off-by: William-tw Lin <william-tw.lin at mediatek.com>
> ---
> drivers/soc/mediatek/Kconfig | 18 +++
> drivers/soc/mediatek/Makefile | 1 +
> drivers/soc/mediatek/mtk-socinfo.c | 203 +++++++++++++++++++++++++++
> drivers/soc/mediatek/mtk-socinfo.h | 213 +++++++++++++++++++++++++++++
> 4 files changed, 435 insertions(+)
> create mode 100644 drivers/soc/mediatek/mtk-socinfo.c
> create mode 100644 drivers/soc/mediatek/mtk-socinfo.h
>
..snip..
> +
> +/* begin 8186 info */
> +#define mtk_mt8186_EFUSE_DATA_COUNT 1
> +static struct efuse_data mtk_mt8186_efuse_data_info[][mtk_mt8186_EFUSE_DATA_COUNT] = {
> + {{.nvmem_cell_name = "socinfo-data1", .efuse_data = 0x81861001}},
> + {{.nvmem_cell_name = "socinfo-data1", .efuse_data = 0x81862001}},
> +};
I'm *sure* that there's a way to avoid specifying the soc-specific compatible, as
the efuse_data is used only for validation, while what you do here is to simply
read the SoC ID from eFuse array.
In theory, this driver could simply have
compatible = "mediatek,socinfo";
as compatible string, without any SoC-specific string in the devicetree, at all,
so that the SoC ID would get recognized completely dynamically - and adding the
name and other strings would be a consequence.
> +
> +static struct name_data mtk_mt8186_name_data_info[] = {
> + {.soc_name = "MT8186",
> + .soc_segment_name = "MT8186GV/AZA",
> + .marketing_name = "Kompanio 520"},
> + {.soc_name = "MT8186T",
> + .soc_segment_name = "MT8186TV/AZA",
> + .marketing_name = "Kompanio 528"},
> +};
> +/* end 8186 info */
> +
Regards,
Angelo
More information about the Linux-mediatek
mailing list