Lines Matching refs:npct
452 static void nmk_prcm_altcx_set_mode(struct nmk_pinctrl *npct, in nmk_prcm_altcx_set_mode() argument
462 if (!npct->prcm_base) in nmk_prcm_altcx_set_mode()
466 dev_err(npct->dev, "PRCM GPIOCR: alternate-C%i is invalid\n", in nmk_prcm_altcx_set_mode()
471 for (i = 0 ; i < npct->soc->npins_altcx ; i++) { in nmk_prcm_altcx_set_mode()
472 if (npct->soc->altcx_pins[i].pin == offset) in nmk_prcm_altcx_set_mode()
475 if (i == npct->soc->npins_altcx) { in nmk_prcm_altcx_set_mode()
476 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i is not found\n", in nmk_prcm_altcx_set_mode()
481 pin_desc = npct->soc->altcx_pins + i; in nmk_prcm_altcx_set_mode()
482 gpiocr_regs = npct->soc->prcm_gpiocr_registers; in nmk_prcm_altcx_set_mode()
493 if (readl(npct->prcm_base + reg) & BIT(bit)) { in nmk_prcm_altcx_set_mode()
494 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0); in nmk_prcm_altcx_set_mode()
495 dev_dbg(npct->dev, in nmk_prcm_altcx_set_mode()
506 dev_warn(npct->dev, in nmk_prcm_altcx_set_mode()
522 if (readl(npct->prcm_base + reg) & BIT(bit)) { in nmk_prcm_altcx_set_mode()
523 nmk_write_masked(npct->prcm_base + reg, BIT(bit), 0); in nmk_prcm_altcx_set_mode()
524 dev_dbg(npct->dev, in nmk_prcm_altcx_set_mode()
533 dev_dbg(npct->dev, "PRCM GPIOCR: pin %i: alternate-C%i has been selected\n", in nmk_prcm_altcx_set_mode()
535 nmk_write_masked(npct->prcm_base + reg, BIT(bit), BIT(bit)); in nmk_prcm_altcx_set_mode()
589 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_prcm_gpiocr_get_mode() local
593 if (!npct->prcm_base) in nmk_prcm_gpiocr_get_mode()
596 for (i = 0; i < npct->soc->npins_altcx; i++) { in nmk_prcm_gpiocr_get_mode()
597 if (npct->soc->altcx_pins[i].pin == gpio) in nmk_prcm_gpiocr_get_mode()
600 if (i == npct->soc->npins_altcx) in nmk_prcm_gpiocr_get_mode()
603 pin_desc = npct->soc->altcx_pins + i; in nmk_prcm_gpiocr_get_mode()
604 gpiocr_regs = npct->soc->prcm_gpiocr_registers; in nmk_prcm_gpiocr_get_mode()
609 if (readl(npct->prcm_base + reg) & BIT(bit)) in nmk_prcm_gpiocr_get_mode()
1300 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_get_groups_cnt() local
1302 return npct->soc->ngroups; in nmk_get_groups_cnt()
1308 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_get_group_name() local
1310 return npct->soc->groups[selector].name; in nmk_get_group_name()
1317 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_get_group_pins() local
1319 *pins = npct->soc->groups[selector].pins; in nmk_get_group_pins()
1320 *num_pins = npct->soc->groups[selector].npins; in nmk_get_group_pins()
1327 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_match_gpio_range() local
1330 for (i = 0; i < npct->soc->gpio_num_ranges; i++) { in nmk_match_gpio_range()
1333 range = &npct->soc->gpio_ranges[i]; in nmk_match_gpio_range()
1482 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_find_pin_name() local
1485 for (i = 0; i < npct->soc->npins; i++) in nmk_find_pin_name()
1486 if (npct->soc->pins[i].number == pin_number) in nmk_find_pin_name()
1487 return npct->soc->pins[i].name; in nmk_find_pin_name()
1614 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_get_funcs_cnt() local
1616 return npct->soc->nfunctions; in nmk_pmx_get_funcs_cnt()
1622 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_get_func_name() local
1624 return npct->soc->functions[function].name; in nmk_pmx_get_func_name()
1632 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_get_func_groups() local
1634 *groups = npct->soc->functions[function].groups; in nmk_pmx_get_func_groups()
1635 *num_groups = npct->soc->functions[function].ngroups; in nmk_pmx_get_func_groups()
1643 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pmx_set() local
1651 g = &npct->soc->groups[group]; in nmk_pmx_set()
1656 dev_dbg(npct->dev, "enable group %s, %u pins\n", g->name, g->npins); in nmk_pmx_set()
1704 dev_err(npct->dev, in nmk_pmx_set()
1710 dev_err(npct->dev, "GPIO chip missing in range for pin offset %d in group %s at index %d\n", in nmk_pmx_set()
1716 dev_dbg(npct->dev, "setting pin %d to altsetting %d\n", g->pins[i], g->altsetting); in nmk_pmx_set()
1742 nmk_prcm_altcx_set_mode(npct, g->pins[i], in nmk_pmx_set()
1762 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_gpio_request_enable() local
1768 dev_err(npct->dev, "invalid range\n"); in nmk_gpio_request_enable()
1772 dev_err(npct->dev, "missing GPIO chip in range\n"); in nmk_gpio_request_enable()
1778 dev_dbg(npct->dev, "enable pin %u as GPIO\n", offset); in nmk_gpio_request_enable()
1793 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_gpio_disable_free() local
1795 dev_dbg(npct->dev, "disable pin %u as GPIO\n", offset); in nmk_gpio_disable_free()
1828 struct nmk_pinctrl *npct = pinctrl_dev_get_drvdata(pctldev); in nmk_pin_config_set() local
1839 dev_err(npct->dev, "invalid pin offset %d\n", pin); in nmk_pin_config_set()
1843 dev_err(npct->dev, "GPIO chip missing in range for pin %d\n", in nmk_pin_config_set()
1953 struct nmk_pinctrl *npct; in nmk_pinctrl_suspend() local
1955 npct = dev_get_drvdata(dev); in nmk_pinctrl_suspend()
1956 if (!npct) in nmk_pinctrl_suspend()
1959 return pinctrl_force_sleep(npct->pctl); in nmk_pinctrl_suspend()
1964 struct nmk_pinctrl *npct; in nmk_pinctrl_resume() local
1966 npct = dev_get_drvdata(dev); in nmk_pinctrl_resume()
1967 if (!npct) in nmk_pinctrl_resume()
1970 return pinctrl_force_default(npct->pctl); in nmk_pinctrl_resume()
1979 struct nmk_pinctrl *npct; in nmk_pinctrl_probe() local
1983 npct = devm_kzalloc(&pdev->dev, sizeof(*npct), GFP_KERNEL); in nmk_pinctrl_probe()
1984 if (!npct) in nmk_pinctrl_probe()
1994 nmk_pinctrl_stn8815_init(&npct->soc); in nmk_pinctrl_probe()
1996 nmk_pinctrl_db8500_init(&npct->soc); in nmk_pinctrl_probe()
1998 nmk_pinctrl_db8540_init(&npct->soc); in nmk_pinctrl_probe()
2002 npct->prcm_base = of_iomap(prcm_np, 0); in nmk_pinctrl_probe()
2003 if (!npct->prcm_base) { in nmk_pinctrl_probe()
2019 for (i = 0; i < npct->soc->gpio_num_ranges; i++) { in nmk_pinctrl_probe()
2020 if (!nmk_gpio_chips[npct->soc->gpio_ranges[i].id]) { in nmk_pinctrl_probe()
2024 npct->soc->gpio_ranges[i].gc = &nmk_gpio_chips[npct->soc->gpio_ranges[i].id]->chip; in nmk_pinctrl_probe()
2027 nmk_pinctrl_desc.pins = npct->soc->pins; in nmk_pinctrl_probe()
2028 nmk_pinctrl_desc.npins = npct->soc->npins; in nmk_pinctrl_probe()
2029 npct->dev = &pdev->dev; in nmk_pinctrl_probe()
2031 npct->pctl = pinctrl_register(&nmk_pinctrl_desc, &pdev->dev, npct); in nmk_pinctrl_probe()
2032 if (!npct->pctl) { in nmk_pinctrl_probe()
2038 for (i = 0; i < npct->soc->gpio_num_ranges; i++) in nmk_pinctrl_probe()
2039 pinctrl_add_gpio_range(npct->pctl, &npct->soc->gpio_ranges[i]); in nmk_pinctrl_probe()
2041 platform_set_drvdata(pdev, npct); in nmk_pinctrl_probe()