• Home
  • Raw
  • Download

Lines Matching +full:nvmem +full:- +full:layout

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()
48 static void mtk_efuse_fixup_cell_info(struct nvmem_device *nvmem, in mtk_efuse_fixup_cell_info() argument
49 struct nvmem_layout *layout, in mtk_efuse_fixup_cell_info() argument
52 size_t sz = strlen(cell->name); in mtk_efuse_fixup_cell_info()
56 * a number with range [0-7] (max 3 bits): post process to use in mtk_efuse_fixup_cell_info()
57 * it in OPP tables to describe supported-hw. in mtk_efuse_fixup_cell_info()
59 if (cell->nbits <= 3 && in mtk_efuse_fixup_cell_info()
60 strncmp(cell->name, "gpu-speedbin", min(sz, strlen("gpu-speedbin"))) == 0) in mtk_efuse_fixup_cell_info()
61 cell->read_post_process = mtk_efuse_gpu_speedbin_pp; in mtk_efuse_fixup_cell_info()
70 struct device *dev = &pdev->dev; in mtk_efuse_probe()
72 struct nvmem_device *nvmem; in mtk_efuse_probe() local
79 return -ENOMEM; in mtk_efuse_probe()
81 priv->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in mtk_efuse_probe()
82 if (IS_ERR(priv->base)) in mtk_efuse_probe()
83 return PTR_ERR(priv->base); in mtk_efuse_probe()
92 if (pdata->uses_post_processing) in mtk_efuse_probe()
93 econfig.layout = &mtk_efuse_layout; in mtk_efuse_probe()
94 nvmem = devm_nvmem_register(dev, &econfig); in mtk_efuse_probe()
96 return PTR_ERR_OR_ZERO(nvmem); in mtk_efuse_probe()
108 { .compatible = "mediatek,mt8173-efuse", .data = &mtk_efuse_pdata },
109 { .compatible = "mediatek,mt8186-efuse", .data = &mtk_mt8186_efuse_pdata },
144 MODULE_AUTHOR("Andrew-CT Chen <andrew-ct.chen@mediatek.com>");