Lines Matching refs:pctl

101 	struct oxnas_pinctrl *pctl;
517 static inline struct oxnas_gpio_bank *pctl_to_bank(struct oxnas_pinctrl *pctl,
520 return &pctl->gpio_banks[pin / PINS_PER_BANK];
525 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
527 return pctl->ngroups;
533 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
535 return pctl->groups[group].name;
543 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
545 *pins = &pctl->groups[group].pin;
561 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
563 return pctl->nfunctions;
569 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
571 return pctl->functions[func].name;
579 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
581 *groups = pctl->functions[func].groups;
582 *num_groups = pctl->functions[func].ngroups;
590 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
591 const struct oxnas_pin_group *pg = &pctl->groups[group];
592 const struct oxnas_function *pf = &pctl->functions[func];
599 dev_dbg(pctl->dev,
604 regmap_write_bits(pctl->regmap,
611 regmap_write_bits(pctl->regmap,
618 regmap_write_bits(pctl->regmap,
632 dev_err(pctl->dev, "cannot mux pin %u to function %u\n", group, func);
640 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
641 const struct oxnas_pin_group *pg = &pctl->groups[group];
642 const struct oxnas_function *pf = &pctl->functions[func];
650 dev_dbg(pctl->dev,
655 regmap_write_bits(pctl->regmap,
660 regmap_write_bits(pctl->regmap,
665 regmap_write_bits(pctl->regmap,
670 regmap_write_bits(pctl->regmap,
675 regmap_write_bits(pctl->regmap,
687 dev_err(pctl->dev, "cannot mux pin %u to function %u\n", group, func);
696 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
700 dev_dbg(pctl->dev, "requesting gpio %d in bank %d (id %d) with mask 0x%x\n",
703 regmap_write_bits(pctl->regmap,
708 regmap_write_bits(pctl->regmap,
713 regmap_write_bits(pctl->regmap,
726 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
731 dev_dbg(pctl->dev, "requesting gpio %d in bank %d (id %d) with mask 0x%x\n",
734 regmap_write_bits(pctl->regmap,
737 regmap_write_bits(pctl->regmap,
740 regmap_write_bits(pctl->regmap,
743 regmap_write_bits(pctl->regmap,
746 regmap_write_bits(pctl->regmap,
843 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
844 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin);
852 ret = regmap_read(pctl->regmap,
874 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
875 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin);
884 ret = regmap_read(pctl->regmap,
905 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
906 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin);
912 dev_dbg(pctl->dev, "setting pin %d bank %d mask 0x%x\n",
920 dev_dbg(pctl->dev, " pullup\n");
921 regmap_write_bits(pctl->regmap,
928 dev_err(pctl->dev, "Property %u not supported\n",
941 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
942 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin);
949 dev_dbg(pctl->dev, "setting pin %d bank %d mask 0x%x\n",
957 dev_dbg(pctl->dev, " pullup\n");
958 regmap_write_bits(pctl->regmap,
963 dev_err(pctl->dev, "Property %u not supported\n",
1134 .pctl = &ox810se_pinctrl,
1139 .pctl = &ox820_pinctrl,
1156 struct oxnas_pinctrl *pctl;
1163 if (!data || !data->pctl || !data->desc)
1166 pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL);
1167 if (!pctl)
1169 pctl->dev = &pdev->dev;
1170 dev_set_drvdata(&pdev->dev, pctl);
1172 pctl->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
1174 if (IS_ERR(pctl->regmap)) {
1179 pctl->functions = data->pctl->functions;
1180 pctl->nfunctions = data->pctl->nfunctions;
1181 pctl->groups = data->pctl->groups;
1182 pctl->ngroups = data->pctl->ngroups;
1183 pctl->gpio_banks = data->pctl->gpio_banks;
1184 pctl->nbanks = data->pctl->nbanks;
1186 pctl->pctldev = pinctrl_register(data->desc, &pdev->dev, pctl);
1187 if (IS_ERR(pctl->pctldev)) {
1189 return PTR_ERR(pctl->pctldev);