Lines Matching refs:pctl
109 struct oxnas_pinctrl *pctl; member
525 static inline struct oxnas_gpio_bank *pctl_to_bank(struct oxnas_pinctrl *pctl, in pctl_to_bank() argument
528 return &pctl->gpio_banks[pin / PINS_PER_BANK]; in pctl_to_bank()
533 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_pinctrl_get_groups_count() local
535 return pctl->ngroups; in oxnas_pinctrl_get_groups_count()
541 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_pinctrl_get_group_name() local
543 return pctl->groups[group].name; in oxnas_pinctrl_get_group_name()
551 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_pinctrl_get_group_pins() local
553 *pins = &pctl->groups[group].pin; in oxnas_pinctrl_get_group_pins()
569 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_pinmux_get_functions_count() local
571 return pctl->nfunctions; in oxnas_pinmux_get_functions_count()
577 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_pinmux_get_function_name() local
579 return pctl->functions[func].name; in oxnas_pinmux_get_function_name()
587 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_pinmux_get_function_groups() local
589 *groups = pctl->functions[func].groups; in oxnas_pinmux_get_function_groups()
590 *num_groups = pctl->functions[func].ngroups; in oxnas_pinmux_get_function_groups()
598 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox810se_pinmux_enable() local
599 const struct oxnas_pin_group *pg = &pctl->groups[group]; in oxnas_ox810se_pinmux_enable()
600 const struct oxnas_function *pf = &pctl->functions[func]; in oxnas_ox810se_pinmux_enable()
607 dev_dbg(pctl->dev, in oxnas_ox810se_pinmux_enable()
612 regmap_write_bits(pctl->regmap, in oxnas_ox810se_pinmux_enable()
619 regmap_write_bits(pctl->regmap, in oxnas_ox810se_pinmux_enable()
626 regmap_write_bits(pctl->regmap, in oxnas_ox810se_pinmux_enable()
640 dev_err(pctl->dev, "cannot mux pin %u to function %u\n", group, func); in oxnas_ox810se_pinmux_enable()
648 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox820_pinmux_enable() local
649 const struct oxnas_pin_group *pg = &pctl->groups[group]; in oxnas_ox820_pinmux_enable()
650 const struct oxnas_function *pf = &pctl->functions[func]; in oxnas_ox820_pinmux_enable()
658 dev_dbg(pctl->dev, in oxnas_ox820_pinmux_enable()
663 regmap_write_bits(pctl->regmap, in oxnas_ox820_pinmux_enable()
668 regmap_write_bits(pctl->regmap, in oxnas_ox820_pinmux_enable()
673 regmap_write_bits(pctl->regmap, in oxnas_ox820_pinmux_enable()
678 regmap_write_bits(pctl->regmap, in oxnas_ox820_pinmux_enable()
683 regmap_write_bits(pctl->regmap, in oxnas_ox820_pinmux_enable()
695 dev_err(pctl->dev, "cannot mux pin %u to function %u\n", group, func); in oxnas_ox820_pinmux_enable()
704 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox810se_gpio_request_enable() local
708 dev_dbg(pctl->dev, "requesting gpio %d in bank %d (id %d) with mask 0x%x\n", in oxnas_ox810se_gpio_request_enable()
711 regmap_write_bits(pctl->regmap, in oxnas_ox810se_gpio_request_enable()
716 regmap_write_bits(pctl->regmap, in oxnas_ox810se_gpio_request_enable()
721 regmap_write_bits(pctl->regmap, in oxnas_ox810se_gpio_request_enable()
734 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox820_gpio_request_enable() local
739 dev_dbg(pctl->dev, "requesting gpio %d in bank %d (id %d) with mask 0x%x\n", in oxnas_ox820_gpio_request_enable()
742 regmap_write_bits(pctl->regmap, in oxnas_ox820_gpio_request_enable()
745 regmap_write_bits(pctl->regmap, in oxnas_ox820_gpio_request_enable()
748 regmap_write_bits(pctl->regmap, in oxnas_ox820_gpio_request_enable()
751 regmap_write_bits(pctl->regmap, in oxnas_ox820_gpio_request_enable()
754 regmap_write_bits(pctl->regmap, in oxnas_ox820_gpio_request_enable()
848 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox810se_pinconf_get() local
849 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin); in oxnas_ox810se_pinconf_get()
857 ret = regmap_read(pctl->regmap, in oxnas_ox810se_pinconf_get()
879 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox820_pinconf_get() local
880 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin); in oxnas_ox820_pinconf_get()
889 ret = regmap_read(pctl->regmap, in oxnas_ox820_pinconf_get()
910 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox810se_pinconf_set() local
911 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin); in oxnas_ox810se_pinconf_set()
918 dev_dbg(pctl->dev, "setting pin %d bank %d mask 0x%x\n", in oxnas_ox810se_pinconf_set()
927 dev_dbg(pctl->dev, " pullup\n"); in oxnas_ox810se_pinconf_set()
928 regmap_write_bits(pctl->regmap, in oxnas_ox810se_pinconf_set()
935 dev_err(pctl->dev, "Property %u not supported\n", in oxnas_ox810se_pinconf_set()
948 struct oxnas_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in oxnas_ox820_pinconf_set() local
949 struct oxnas_gpio_bank *bank = pctl_to_bank(pctl, pin); in oxnas_ox820_pinconf_set()
957 dev_dbg(pctl->dev, "setting pin %d bank %d mask 0x%x\n", in oxnas_ox820_pinconf_set()
966 dev_dbg(pctl->dev, " pullup\n"); in oxnas_ox820_pinconf_set()
967 regmap_write_bits(pctl->regmap, in oxnas_ox820_pinconf_set()
972 dev_err(pctl->dev, "Property %u not supported\n", in oxnas_ox820_pinconf_set()
1143 .pctl = &ox810se_pinctrl,
1148 .pctl = &ox820_pinctrl,
1165 struct oxnas_pinctrl *pctl; in oxnas_pinctrl_probe() local
1172 if (!data || !data->pctl || !data->desc) in oxnas_pinctrl_probe()
1175 pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL); in oxnas_pinctrl_probe()
1176 if (!pctl) in oxnas_pinctrl_probe()
1178 pctl->dev = &pdev->dev; in oxnas_pinctrl_probe()
1179 dev_set_drvdata(&pdev->dev, pctl); in oxnas_pinctrl_probe()
1181 pctl->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, in oxnas_pinctrl_probe()
1183 if (IS_ERR(pctl->regmap)) { in oxnas_pinctrl_probe()
1188 pctl->functions = data->pctl->functions; in oxnas_pinctrl_probe()
1189 pctl->nfunctions = data->pctl->nfunctions; in oxnas_pinctrl_probe()
1190 pctl->groups = data->pctl->groups; in oxnas_pinctrl_probe()
1191 pctl->ngroups = data->pctl->ngroups; in oxnas_pinctrl_probe()
1192 pctl->gpio_banks = data->pctl->gpio_banks; in oxnas_pinctrl_probe()
1193 pctl->nbanks = data->pctl->nbanks; in oxnas_pinctrl_probe()
1195 pctl->pctldev = pinctrl_register(data->desc, &pdev->dev, pctl); in oxnas_pinctrl_probe()
1196 if (IS_ERR(pctl->pctldev)) { in oxnas_pinctrl_probe()
1198 return PTR_ERR(pctl->pctldev); in oxnas_pinctrl_probe()