Lines Matching +full:efuse +full:- +full:size
1 // SPDX-License-Identifier: GPL-2.0-only
4 * Author: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
11 #include <linux/nvmem-provider.h>
27 void __iomem *addr = priv->base + reg; in mtk_reg_read()
51 size_t sz = strlen(cell->name); in mtk_efuse_fixup_dt_cell_info()
55 * a number with range [0-7] (max 3 bits): post process to use in mtk_efuse_fixup_dt_cell_info()
56 * it in OPP tables to describe supported-hw. in mtk_efuse_fixup_dt_cell_info()
58 if (cell->nbits <= 3 && in mtk_efuse_fixup_dt_cell_info()
59 strncmp(cell->name, "gpu-speedbin", min(sz, strlen("gpu-speedbin"))) == 0) in mtk_efuse_fixup_dt_cell_info()
60 cell->read_post_process = mtk_efuse_gpu_speedbin_pp; in mtk_efuse_fixup_dt_cell_info()
65 struct device *dev = &pdev->dev; in mtk_efuse_probe()
75 return -ENOMEM; in mtk_efuse_probe()
77 priv->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in mtk_efuse_probe()
78 if (IS_ERR(priv->base)) in mtk_efuse_probe()
79 return PTR_ERR(priv->base); in mtk_efuse_probe()
86 econfig.size = resource_size(res); in mtk_efuse_probe()
89 if (pdata->uses_post_processing) in mtk_efuse_probe()
95 socinfo = platform_device_register_data(&pdev->dev, "mtk-socinfo", in mtk_efuse_probe()
113 { .compatible = "mediatek,mt8173-efuse", .data = &mtk_efuse_pdata },
114 { .compatible = "mediatek,mt8186-efuse", .data = &mtk_mt8186_efuse_pdata },
115 { .compatible = "mediatek,efuse", .data = &mtk_efuse_pdata },
132 .name = "mediatek,efuse",
143 pr_err("Failed to register efuse driver\n"); in mtk_efuse_init()
158 MODULE_AUTHOR("Andrew-CT Chen <andrew-ct.chen@mediatek.com>");
159 MODULE_DESCRIPTION("Mediatek EFUSE driver");