Lines Matching refs:npct
453 static void nmk_prcm_altcx_set_mode(struct nmk_pinctrl *npct, in nmk_prcm_altcx_set_mode() argument
463 if (!npct->prcm_base) in nmk_prcm_altcx_set_mode()
467 dev_err(npct->dev, "PRCM GPIOCR: alternate-C%i is invalid\n", in nmk_prcm_altcx_set_mode()
472 for (i = 0 ; i < npct->soc->npins_altcx ; i++) { in nmk_prcm_altcx_set_mode()
473 if (npct->soc->altcx_pins[i].pin == offset) in nmk_prcm_altcx_set_mode()
476 if (i == npct->soc->npins_altcx) { in nmk_prcm_altcx_set_mode()
477 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i is not found\n", in nmk_prcm_altcx_set_mode()
482 pin_desc = npct->soc->altcx_pins + i; in nmk_prcm_altcx_set_mode()
483 gpiocr_regs = npct->soc->prcm_gpiocr_registers; in nmk_prcm_altcx_set_mode()
494 if (readl(npct->prcm_base + reg) & BIT(bit)) { in nmk_prcm_altcx_set_mode()
495 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0); in nmk_prcm_altcx_set_mode()
496 dev_dbg(npct->dev, in nmk_prcm_altcx_set_mode()
507 dev_warn(npct->dev, in nmk_prcm_altcx_set_mode()
523 if (readl(npct->prcm_base + reg) & BIT(bit)) { in nmk_prcm_altcx_set_mode()
524 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0); in nmk_prcm_altcx_set_mode()
525 dev_dbg(npct->dev, in nmk_prcm_altcx_set_mode()
534 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i: alternate-C%i has been selected\n", in nmk_prcm_altcx_set_mode()
536 nmk_write_masked(npct->prcm_base + reg, BIT(bit), BIT(bit)); in nmk_prcm_altcx_set_mode()
590 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_prcm_gpiocr_get_mode() local
594 if (!npct->prcm_base) in nmk_prcm_gpiocr_get_mode()
597 for (i = 0; i < npct->soc->npins_altcx; i++) { in nmk_prcm_gpiocr_get_mode()
598 if (npct->soc->altcx_pins[i].pin == gpio) in nmk_prcm_gpiocr_get_mode()
601 if (i == npct->soc->npins_altcx) in nmk_prcm_gpiocr_get_mode()
604 pin_desc = npct->soc->altcx_pins + i; in nmk_prcm_gpiocr_get_mode()
605 gpiocr_regs = npct->soc->prcm_gpiocr_registers; in nmk_prcm_gpiocr_get_mode()
610 if (readl(npct->prcm_base + reg) & BIT(bit)) in nmk_prcm_gpiocr_get_mode()
1320 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_get_groups_cnt() local
1322 return npct->soc->ngroups; in nmk_get_groups_cnt()
1328 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_get_group_name() local
1330 return npct->soc->groups[selector].name; in nmk_get_group_name()
1337 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_get_group_pins() local
1339 *pins = npct->soc->groups[selector].pins; in nmk_get_group_pins()
1340 *num_pins = npct->soc->groups[selector].npins; in nmk_get_group_pins()
1507 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_find_pin_name() local
1510 for (i = 0; i < npct->soc->npins; i++) in nmk_find_pin_name()
1511 if (npct->soc->pins[i].number == pin_number) in nmk_find_pin_name()
1512 return npct->soc->pins[i].name; in nmk_find_pin_name()
1639 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_get_funcs_cnt() local
1641 return npct->soc->nfunctions; in nmk_pmx_get_funcs_cnt()
1647 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_get_func_name() local
1649 return npct->soc->functions[function].name; in nmk_pmx_get_func_name()
1657 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_get_func_groups() local
1659 *groups = npct->soc->functions[function].groups; in nmk_pmx_get_func_groups()
1660 *num_groups = npct->soc->functions[function].ngroups; in nmk_pmx_get_func_groups()
1668 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_set() local
1676 g = &npct->soc->groups[group]; in nmk_pmx_set()
1681 dev_dbg(npct->dev, "enable group %s, %u pins\n", g->name, g->npins); in nmk_pmx_set()
1727 dev_err(npct->dev, in nmk_pmx_set()
1732 dev_dbg(npct->dev, "setting pin %d to altsetting %d\n", g->pins[i], g->altsetting); in nmk_pmx_set()
1758 nmk_prcm_altcx_set_mode(npct, g->pins[i], in nmk_pmx_set()
1778 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_gpio_request_enable() local
1784 dev_err(npct->dev, "invalid range\n"); in nmk_gpio_request_enable()
1788 dev_err(npct->dev, "missing GPIO chip in range\n"); in nmk_gpio_request_enable()
1794 dev_dbg(npct->dev, "enable pin %u as GPIO\n", offset); in nmk_gpio_request_enable()
1809 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_gpio_disable_free() local
1811 dev_dbg(npct->dev, "disable pin %u as GPIO\n", offset); in nmk_gpio_disable_free()
1845 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pin_config_set() local
1854 dev_err(npct->dev, in nmk_pin_config_set()
1962 struct nmk_pinctrl *npct; in nmk_pinctrl_suspend() local
1964 npct = dev_get_drvdata(dev); in nmk_pinctrl_suspend()
1965 if (!npct) in nmk_pinctrl_suspend()
1968 return pinctrl_force_sleep(npct->pctl); in nmk_pinctrl_suspend()
1973 struct nmk_pinctrl *npct; in nmk_pinctrl_resume() local
1975 npct = dev_get_drvdata(dev); in nmk_pinctrl_resume()
1976 if (!npct) in nmk_pinctrl_resume()
1979 return pinctrl_force_default(npct->pctl); in nmk_pinctrl_resume()
1988 struct nmk_pinctrl *npct; in nmk_pinctrl_probe() local
1992 npct = devm_kzalloc(&pdev->dev, sizeof(*npct), GFP_KERNEL); in nmk_pinctrl_probe()
1993 if (!npct) in nmk_pinctrl_probe()
2003 nmk_pinctrl_stn8815_init(&npct->soc); in nmk_pinctrl_probe()
2005 nmk_pinctrl_db8500_init(&npct->soc); in nmk_pinctrl_probe()
2007 nmk_pinctrl_db8540_init(&npct->soc); in nmk_pinctrl_probe()
2036 npct->prcm_base = of_iomap(prcm_np, 0); in nmk_pinctrl_probe()
2037 if (!npct->prcm_base) { in nmk_pinctrl_probe()
2048 nmk_pinctrl_desc.pins = npct->soc->pins; in nmk_pinctrl_probe()
2049 nmk_pinctrl_desc.npins = npct->soc->npins; in nmk_pinctrl_probe()
2050 npct->dev = &pdev->dev; in nmk_pinctrl_probe()
2052 npct->pctl = pinctrl_register(&nmk_pinctrl_desc, &pdev->dev, npct); in nmk_pinctrl_probe()
2053 if (IS_ERR(npct->pctl)) { in nmk_pinctrl_probe()
2055 return PTR_ERR(npct->pctl); in nmk_pinctrl_probe()
2058 platform_set_drvdata(pdev, npct); in nmk_pinctrl_probe()