Lines Matching full:pc

290 	struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev);  in eic7700_get_groups_count()  local
292 return pc->desc.npins; in eic7700_get_groups_count()
297 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_group_name() local
299 return pc->desc.pins[selector].name; in eic7700_get_group_name()
305 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_group_pins() local
307 *pins = &pc->desc.pins[selector].number; in eic7700_get_group_pins()
326 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_pin_config_get() local
327 const struct eic7700_pin *pin_data = pc->desc.pins[pin].drv_data; in eic7700_pin_config_get()
334 value = readl_relaxed(pc->base + EIC7700_PIN_REG(pin)); in eic7700_pin_config_get()
371 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_pin_config_set() local
372 const struct eic7700_pin *pin_data = pc->desc.pins[pin].drv_data; in eic7700_pin_config_set()
378 value = readl_relaxed(pc->base + EIC7700_PIN_REG(pin)); in eic7700_pin_config_set()
433 writel_relaxed(value, pc->base + EIC7700_PIN_REG(pin)); in eic7700_pin_config_set()
442 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_pin_config_dbg_show() local
443 u32 value = readl_relaxed(pc->base + EIC7700_PIN_REG(pin)) & EIC7700_PINCONF; in eic7700_pin_config_dbg_show()
463 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_functions_count() local
465 return pc->functions_count; in eic7700_get_functions_count()
470 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_function_name() local
472 return pc->functions[selector].name; in eic7700_get_function_name()
478 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_function_groups() local
480 *groups = pc->functions[selector].groups; in eic7700_get_function_groups()
481 *num_groups = pc->functions[selector].ngroups; in eic7700_get_function_groups()
489 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_set_mux() local
490 const struct eic7700_pin *pin_data = pc->desc.pins[group_selector].drv_data; in eic7700_set_mux()
502 pc->functions[func_selector].name, in eic7700_set_mux()
503 pc->desc.pins[group_selector].name); in eic7700_set_mux()
507 value = readl_relaxed(pc->base + EIC7700_PIN_REG(group_selector)); in eic7700_set_mux()
510 writel_relaxed(value, pc->base + EIC7700_PIN_REG(group_selector)); in eic7700_set_mux()
531 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_gpio_set_direction() local
534 value = readl_relaxed(pc->base + EIC7700_PIN_REG(offset)); in eic7700_gpio_set_direction()
539 writel_relaxed(value, pc->base + EIC7700_PIN_REG(offset)); in eic7700_gpio_set_direction()
555 static int eic7700_pinctrl_init_function_groups(struct device *dev, struct eic7700_pinctrl *pc, in eic7700_pinctrl_init_function_groups() argument
562 for (unsigned int pin = 0; pin < pc->desc.npins; pin++) { in eic7700_pinctrl_init_function_groups()
563 const struct eic7700_pin *pin_data = pc->desc.pins[pin].drv_data; in eic7700_pinctrl_init_function_groups()
568 struct pinfunction *function = &pc->functions[selector]; in eic7700_pinctrl_init_function_groups()
586 for (unsigned int selector = 0; selector < pc->functions_count; selector++) { in eic7700_pinctrl_init_function_groups()
587 struct pinfunction *function = &pc->functions[selector]; in eic7700_pinctrl_init_function_groups()
598 for (unsigned int pin = 0; pin < pc->desc.npins; pin++) { in eic7700_pinctrl_init_function_groups()
599 const struct pinctrl_pin_desc *desc = &pc->desc.pins[pin]; in eic7700_pinctrl_init_function_groups()
605 struct pinfunction *function = &pc->functions[selector]; in eic7700_pinctrl_init_function_groups()
625 struct eic7700_pinctrl *pc; in eic7700_pinctrl_probe() local
630 pc = devm_kzalloc(dev, struct_size(pc, functions, EIC7700_FUNCTIONS_COUNT), GFP_KERNEL); in eic7700_pinctrl_probe()
631 if (!pc) in eic7700_pinctrl_probe()
634 pc->base = devm_platform_ioremap_resource(pdev, 0); in eic7700_pinctrl_probe()
635 if (IS_ERR(pc->base)) in eic7700_pinctrl_probe()
636 return PTR_ERR(pc->base); in eic7700_pinctrl_probe()
650 rgmii0_mode = readl_relaxed(pc->base + EIC7700_RGMII0_SEL_MODE); in eic7700_pinctrl_probe()
651 rgmii1_mode = readl_relaxed(pc->base + EIC7700_RGMII1_SEL_MODE); in eic7700_pinctrl_probe()
665 writel_relaxed(rgmii0_mode, pc->base + EIC7700_RGMII0_SEL_MODE); in eic7700_pinctrl_probe()
666 writel_relaxed(rgmii1_mode, pc->base + EIC7700_RGMII1_SEL_MODE); in eic7700_pinctrl_probe()
668 pc->desc.name = dev_name(dev); in eic7700_pinctrl_probe()
669 pc->desc.pins = eic7700_pins; in eic7700_pinctrl_probe()
670 pc->desc.npins = ARRAY_SIZE(eic7700_pins); in eic7700_pinctrl_probe()
671 pc->desc.pctlops = &eic7700_pinctrl_ops; in eic7700_pinctrl_probe()
672 pc->desc.pmxops = &eic7700_pinmux_ops; in eic7700_pinctrl_probe()
673 pc->desc.confops = &eic7700_pinconf_ops; in eic7700_pinctrl_probe()
674 pc->desc.owner = THIS_MODULE; in eic7700_pinctrl_probe()
676 pc->functions_count = EIC7700_FUNCTIONS_COUNT; in eic7700_pinctrl_probe()
677 ret = eic7700_pinctrl_init_function_groups(dev, pc, eic7700_functions); in eic7700_pinctrl_probe()
681 ret = devm_pinctrl_register_and_init(dev, &pc->desc, pc, &pctldev); in eic7700_pinctrl_probe()