Lines Matching refs:pctl

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