Lines Matching refs:ns_pinctrl
21 struct ns_pinctrl { struct
151 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_get_groups_count() local
153 return ns_pinctrl->num_groups; in ns_pinctrl_get_groups_count()
159 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_get_group_name() local
161 return ns_pinctrl->groups[selector].name; in ns_pinctrl_get_group_name()
169 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_get_group_pins() local
171 *pins = ns_pinctrl->groups[selector].pins; in ns_pinctrl_get_group_pins()
172 *num_pins = ns_pinctrl->groups[selector].num_pins; in ns_pinctrl_get_group_pins()
191 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_get_functions_count() local
193 return ns_pinctrl->num_functions; in ns_pinctrl_get_functions_count()
199 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_get_function_name() local
201 return ns_pinctrl->functions[selector].name; in ns_pinctrl_get_function_name()
209 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_get_function_groups() local
211 *groups = ns_pinctrl->functions[selector].groups; in ns_pinctrl_get_function_groups()
212 *num_groups = ns_pinctrl->functions[selector].num_groups; in ns_pinctrl_get_function_groups()
221 struct ns_pinctrl *ns_pinctrl = pinctrl_dev_get_drvdata(pctrl_dev); in ns_pinctrl_set_mux() local
226 for (i = 0; i < ns_pinctrl->groups[grp_select].num_pins; i++) { in ns_pinctrl_set_mux()
227 int pin_number = ns_pinctrl->groups[grp_select].pins[i]; in ns_pinctrl_set_mux()
232 tmp = readl(ns_pinctrl->base); in ns_pinctrl_set_mux()
234 writel(tmp, ns_pinctrl->base); in ns_pinctrl_set_mux()
267 struct ns_pinctrl *ns_pinctrl; in ns_pinctrl_probe() local
275 ns_pinctrl = devm_kzalloc(dev, sizeof(*ns_pinctrl), GFP_KERNEL); in ns_pinctrl_probe()
276 if (!ns_pinctrl) in ns_pinctrl_probe()
278 pctldesc = &ns_pinctrl->pctldesc; in ns_pinctrl_probe()
279 platform_set_drvdata(pdev, ns_pinctrl); in ns_pinctrl_probe()
283 ns_pinctrl->dev = dev; in ns_pinctrl_probe()
288 ns_pinctrl->chipset_flag = (uintptr_t)of_id->data; in ns_pinctrl_probe()
292 ns_pinctrl->base = devm_ioremap_resource(dev, res); in ns_pinctrl_probe()
293 if (IS_ERR(ns_pinctrl->base)) { in ns_pinctrl_probe()
295 return PTR_ERR(ns_pinctrl->base); in ns_pinctrl_probe()
312 if (chipsets & ns_pinctrl->chipset_flag) { in ns_pinctrl_probe()
318 ns_pinctrl->groups = devm_kcalloc(dev, ARRAY_SIZE(ns_pinctrl_groups), in ns_pinctrl_probe()
321 if (!ns_pinctrl->groups) in ns_pinctrl_probe()
323 for (i = 0, group = &ns_pinctrl->groups[0]; in ns_pinctrl_probe()
327 if (src->chipsets & ns_pinctrl->chipset_flag) { in ns_pinctrl_probe()
329 ns_pinctrl->num_groups++; in ns_pinctrl_probe()
333 ns_pinctrl->functions = devm_kcalloc(dev, in ns_pinctrl_probe()
337 if (!ns_pinctrl->functions) in ns_pinctrl_probe()
339 for (i = 0, function = &ns_pinctrl->functions[0]; in ns_pinctrl_probe()
343 if (src->chipsets & ns_pinctrl->chipset_flag) { in ns_pinctrl_probe()
345 ns_pinctrl->num_functions++; in ns_pinctrl_probe()
351 ns_pinctrl->pctldev = devm_pinctrl_register(dev, pctldesc, ns_pinctrl); in ns_pinctrl_probe()
352 if (IS_ERR(ns_pinctrl->pctldev)) { in ns_pinctrl_probe()
354 return PTR_ERR(ns_pinctrl->pctldev); in ns_pinctrl_probe()