Lines Matching defs:npct

343 static void nmk_prcm_altcx_set_mode(struct nmk_pinctrl *npct,
353 if (!npct->prcm_base)
357 dev_err(npct->dev, "PRCM GPIOCR: alternate-C%i is invalid\n",
362 for (i = 0 ; i < npct->soc->npins_altcx ; i++) {
363 if (npct->soc->altcx_pins[i].pin == offset)
366 if (i == npct->soc->npins_altcx) {
367 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i is not found\n",
372 pin_desc = npct->soc->altcx_pins + i;
373 gpiocr_regs = npct->soc->prcm_gpiocr_registers;
384 if (readl(npct->prcm_base + reg) & BIT(bit)) {
385 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0);
386 dev_dbg(npct->dev,
397 dev_warn(npct->dev,
413 if (readl(npct->prcm_base + reg) & BIT(bit)) {
414 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0);
415 dev_dbg(npct->dev,
424 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i: alternate-C%i has been selected\n",
426 nmk_write_masked(npct->prcm_base + reg, BIT(bit), BIT(bit));
481 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
485 if (!npct->prcm_base)
488 for (i = 0; i < npct->soc->npins_altcx; i++) {
489 if (npct->soc->altcx_pins[i].pin == gpio)
492 if (i == npct->soc->npins_altcx)
495 pin_desc = npct->soc->altcx_pins + i;
496 gpiocr_regs = npct->soc->prcm_gpiocr_registers;
501 if (readl(npct->prcm_base + reg) & BIT(bit))
510 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
512 return npct->soc->ngroups;
518 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
520 return npct->soc->groups[selector].grp.name;
527 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
529 *pins = npct->soc->groups[selector].grp.pins;
530 *num_pins = npct->soc->groups[selector].grp.npins;
703 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
706 for (i = 0; i < npct->soc->npins; i++)
707 if (npct->soc->pins[i].number == pin_number)
708 return npct->soc->pins[i].name;
838 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
840 return npct->soc->nfunctions;
846 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
848 return npct->soc->functions[function].name;
856 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
858 *groups = npct->soc->functions[function].groups;
859 *num_groups = npct->soc->functions[function].ngroups;
867 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
875 g = &npct->soc->groups[group];
880 dev_dbg(npct->dev, "enable group %s, %zu pins\n", g->grp.name, g->grp.npins);
921 dev_err(npct->dev,
938 dev_err(npct->dev,
943 dev_dbg(npct->dev, "setting pin %d to altsetting %d\n",
969 nmk_prcm_altcx_set_mode(npct, g->grp.pins[i],
990 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
996 dev_err(npct->dev, "invalid range\n");
1000 dev_err(npct->dev, "missing GPIO chip in range\n");
1006 dev_dbg(npct->dev, "enable pin %u as GPIO\n", pin);
1022 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1024 dev_dbg(npct->dev, "disable pin %u as GPIO\n", pin);
1058 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1067 dev_err(npct->dev,
1170 struct nmk_pinctrl *npct;
1172 npct = dev_get_drvdata(dev);
1173 if (!npct)
1176 return pinctrl_force_sleep(npct->pctl);
1181 struct nmk_pinctrl *npct;
1183 npct = dev_get_drvdata(dev);
1184 if (!npct)
1187 return pinctrl_force_default(npct->pctl);
1195 struct nmk_pinctrl *npct;
1199 npct = devm_kzalloc(&pdev->dev, sizeof(*npct), GFP_KERNEL);
1200 if (!npct)
1207 nmk_pinctrl_stn8815_init(&npct->soc);
1209 nmk_pinctrl_db8500_init(&npct->soc);
1239 npct->prcm_base = fwnode_iomap(prcm_fwnode, 0);
1242 if (!npct->prcm_base) {
1252 nmk_pinctrl_desc.pins = npct->soc->pins;
1253 nmk_pinctrl_desc.npins = npct->soc->npins;
1254 npct->dev = &pdev->dev;
1256 npct->pctl = devm_pinctrl_register(&pdev->dev, &nmk_pinctrl_desc, npct);
1257 if (IS_ERR(npct->pctl)) {
1259 return PTR_ERR(npct->pctl);
1262 platform_set_drvdata(pdev, npct);