Lines Matching +full:sysmgr +full:- +full:syscon
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2018-2019, Intel Corporation.
7 * Based on syscon driver.
10 #include <linux/arm-smccc.h>
13 #include <linux/mfd/altera-sysmgr.h>
14 #include <linux/mfd/syscon.h>
23 * struct altr_sysmgr - Altera SOCFPGA System Manager
90 * Find the sysmgr previous configured in probe() and return regmap property.
94 * @property: Device Tree property name which references the sysmgr
100 struct altr_sysmgr *sysmgr; in altr_sysmgr_regmap_lookup_by_phandle() local
109 return ERR_PTR(-ENODEV); in altr_sysmgr_regmap_lookup_by_phandle()
115 return ERR_PTR(-EPROBE_DEFER); in altr_sysmgr_regmap_lookup_by_phandle()
117 sysmgr = dev_get_drvdata(dev); in altr_sysmgr_regmap_lookup_by_phandle()
119 return sysmgr->regmap; in altr_sysmgr_regmap_lookup_by_phandle()
125 struct altr_sysmgr *sysmgr; in sysmgr_probe() local
129 struct device *dev = &pdev->dev; in sysmgr_probe()
130 struct device_node *np = dev->of_node; in sysmgr_probe()
133 sysmgr = devm_kzalloc(dev, sizeof(*sysmgr), GFP_KERNEL); in sysmgr_probe()
134 if (!sysmgr) in sysmgr_probe()
135 return -ENOMEM; in sysmgr_probe()
139 return -ENOENT; in sysmgr_probe()
141 sysmgr_config.max_register = resource_size(res) - in sysmgr_probe()
143 if (of_device_is_compatible(np, "altr,sys-mgr-s10")) { in sysmgr_probe()
149 (void *)(uintptr_t)res->start, in sysmgr_probe()
152 base = devm_ioremap(dev, res->start, resource_size(res)); in sysmgr_probe()
154 return -ENOMEM; in sysmgr_probe()
156 sysmgr_config.max_register = res->end - res->start - 3; in sysmgr_probe()
165 sysmgr->regmap = regmap; in sysmgr_probe()
167 platform_set_drvdata(pdev, sysmgr); in sysmgr_probe()
173 { .compatible = "altr,sys-mgr" },
174 { .compatible = "altr,sys-mgr-s10" },