Lines Matching refs:npct

443 static void nmk_prcm_altcx_set_mode(struct nmk_pinctrl *npct,
453 if (!npct->prcm_base)
457 dev_err(npct->dev, "PRCM GPIOCR: alternate-C%i is invalid\n",
462 for (i = 0 ; i < npct->soc->npins_altcx ; i++) {
463 if (npct->soc->altcx_pins[i].pin == offset)
466 if (i == npct->soc->npins_altcx) {
467 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i is not found\n",
472 pin_desc = npct->soc->altcx_pins + i;
473 gpiocr_regs = npct->soc->prcm_gpiocr_registers;
484 if (readl(npct->prcm_base + reg) & BIT(bit)) {
485 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0);
486 dev_dbg(npct->dev,
497 dev_warn(npct->dev,
513 if (readl(npct->prcm_base + reg) & BIT(bit)) {
514 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0);
515 dev_dbg(npct->dev,
524 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i: alternate-C%i has been selected\n",
526 nmk_write_masked(npct->prcm_base + reg, BIT(bit), BIT(bit));
580 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
584 if (!npct->prcm_base)
587 for (i = 0; i < npct->soc->npins_altcx; i++) {
588 if (npct->soc->altcx_pins[i].pin == gpio)
591 if (i == npct->soc->npins_altcx)
594 pin_desc = npct->soc->altcx_pins + i;
595 gpiocr_regs = npct->soc->prcm_gpiocr_registers;
600 if (readl(npct->prcm_base + reg) & BIT(bit))
1172 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1174 return npct->soc->ngroups;
1180 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1182 return npct->soc->groups[selector].name;
1189 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1191 *pins = npct->soc->groups[selector].pins;
1192 *num_pins = npct->soc->groups[selector].npins;
1357 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1360 for (i = 0; i < npct->soc->npins; i++)
1361 if (npct->soc->pins[i].number == pin_number)
1362 return npct->soc->pins[i].name;
1492 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1494 return npct->soc->nfunctions;
1500 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1502 return npct->soc->functions[function].name;
1510 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1512 *groups = npct->soc->functions[function].groups;
1513 *num_groups = npct->soc->functions[function].ngroups;
1521 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1529 g = &npct->soc->groups[group];
1534 dev_dbg(npct->dev, "enable group %s, %u pins\n", g->name, g->npins);
1580 dev_err(npct->dev,
1585 dev_dbg(npct->dev, "setting pin %d to altsetting %d\n", g->pins[i], g->altsetting);
1611 nmk_prcm_altcx_set_mode(npct, g->pins[i],
1631 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1637 dev_err(npct->dev, "invalid range\n");
1641 dev_err(npct->dev, "missing GPIO chip in range\n");
1647 dev_dbg(npct->dev, "enable pin %u as GPIO\n", offset);
1662 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1664 dev_dbg(npct->dev, "disable pin %u as GPIO\n", offset);
1698 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev);
1707 dev_err(npct->dev,
1815 struct nmk_pinctrl *npct;
1817 npct = dev_get_drvdata(dev);
1818 if (!npct)
1821 return pinctrl_force_sleep(npct->pctl);
1826 struct nmk_pinctrl *npct;
1828 npct = dev_get_drvdata(dev);
1829 if (!npct)
1832 return pinctrl_force_default(npct->pctl);
1841 struct nmk_pinctrl *npct;
1845 npct = devm_kzalloc(&pdev->dev, sizeof(*npct), GFP_KERNEL);
1846 if (!npct)
1856 nmk_pinctrl_stn8815_init(&npct->soc);
1858 nmk_pinctrl_db8500_init(&npct->soc);
1860 nmk_pinctrl_db8540_init(&npct->soc);
1889 npct->prcm_base = of_iomap(prcm_np, 0);
1892 if (!npct->prcm_base) {
1903 nmk_pinctrl_desc.pins = npct->soc->pins;
1904 nmk_pinctrl_desc.npins = npct->soc->npins;
1905 npct->dev = &pdev->dev;
1907 npct->pctl = devm_pinctrl_register(&pdev->dev, &nmk_pinctrl_desc, npct);
1908 if (IS_ERR(npct->pctl)) {
1910 return PTR_ERR(npct->pctl);
1913 platform_set_drvdata(pdev, npct);