Lines Matching refs:npct
446 static void nmk_prcm_altcx_set_mode(struct nmk_pinctrl *npct,
456 if (!npct->prcm_base)
460 dev_err(npct->dev, "PRCM GPIOCR: alternate-C%i is invalid\n",
465 for (i = 0 ; i < npct->soc->npins_altcx ; i++) {
466 if (npct->soc->altcx_pins[i].pin == offset)
469 if (i == npct->soc->npins_altcx) {
470 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i is not found\n",
475 pin_desc = npct->soc->altcx_pins + i;
476 gpiocr_regs = npct->soc->prcm_gpiocr_registers;
487 if (readl(npct->prcm_base + reg) & BIT(bit)) {
488 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0);
489 dev_dbg(npct->dev,
500 dev_warn(npct->dev,
516 if (readl(npct->prcm_base + reg) & BIT(bit)) {
517 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0);
518 dev_dbg(npct->dev,
527 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i: alternate-C%i has been selected\n",
529 nmk_write_masked(npct->prcm_base + reg, BIT(bit), BIT(bit));
583 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
587 if (!npct->prcm_base)
590 for (i = 0; i < npct->soc->npins_altcx; i++) {
591 if (npct->soc->altcx_pins[i].pin == gpio)
594 if (i == npct->soc->npins_altcx)
597 pin_desc = npct->soc->altcx_pins + i;
598 gpiocr_regs = npct->soc->prcm_gpiocr_registers;
603 if (readl(npct->prcm_base + reg) & BIT(bit))
1179 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1181 return npct->soc->ngroups;
1187 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1189 return npct->soc->groups[selector].grp.name;
1196 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1198 *pins = npct->soc->groups[selector].grp.pins;
1199 *npins = npct->soc->groups[selector].grp.npins;
1364 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1367 for (i = 0; i < npct->soc->npins; i++)
1368 if (npct->soc->pins[i].number == pin_number)
1369 return npct->soc->pins[i].name;
1499 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1501 return npct->soc->nfunctions;
1507 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1509 return npct->soc->functions[function].name;
1517 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1519 *groups = npct->soc->functions[function].groups;
1520 *num_groups = npct->soc->functions[function].ngroups;
1528 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1536 g = &npct->soc->groups[group];
1541 dev_dbg(npct->dev, "enable group %s, %u pins\n", g->grp.name, g->grp.npins);
1589 dev_err(npct->dev,
1594 dev_dbg(npct->dev, "setting pin %d to altsetting %d\n", g->grp.pins[i], g->altsetting);
1620 nmk_prcm_altcx_set_mode(npct, g->grp.pins[i],
1640 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1646 dev_err(npct->dev, "invalid range\n");
1650 dev_err(npct->dev, "missing GPIO chip in range\n");
1656 dev_dbg(npct->dev, "enable pin %u as GPIO\n", offset);
1671 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1673 dev_dbg(npct->dev, "disable pin %u as GPIO\n", offset);
1707 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1716 dev_err(npct->dev,
1820 struct nmk_pinctrl *npct;
1822 npct = dev_get_drvdata(dev);
1823 if (!npct)
1826 return pinctrl_force_sleep(npct->pctl);
1831 struct nmk_pinctrl *npct;
1833 npct = dev_get_drvdata(dev);
1834 if (!npct)
1837 return pinctrl_force_default(npct->pctl);
1846 struct nmk_pinctrl *npct;
1850 npct = devm_kzalloc(&pdev->dev, sizeof(*npct), GFP_KERNEL);
1851 if (!npct)
1861 nmk_pinctrl_stn8815_init(&npct->soc);
1863 nmk_pinctrl_db8500_init(&npct->soc);
1892 npct->prcm_base = of_iomap(prcm_np, 0);
1895 if (!npct->prcm_base) {
1906 nmk_pinctrl_desc.pins = npct->soc->pins;
1907 nmk_pinctrl_desc.npins = npct->soc->npins;
1908 npct->dev = &pdev->dev;
1910 npct->pctl = devm_pinctrl_register(&pdev->dev, &nmk_pinctrl_desc, npct);
1911 if (IS_ERR(npct->pctl)) {
1913 return PTR_ERR(npct->pctl);
1916 platform_set_drvdata(pdev, npct);