Lines Matching refs:pc
291 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_groups_count() local
293 return pc->desc.npins; in eic7700_get_groups_count()
298 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_group_name() local
300 return pc->desc.pins[selector].name; in eic7700_get_group_name()
306 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_group_pins() local
308 *pins = &pc->desc.pins[selector].number; in eic7700_get_group_pins()
327 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_pin_config_get() local
328 const struct eic7700_pin *pin_data = pc->desc.pins[pin].drv_data; in eic7700_pin_config_get()
335 value = readl_relaxed(pc->base + EIC7700_PIN_REG(pin)); in eic7700_pin_config_get()
372 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_pin_config_set() local
373 const struct eic7700_pin *pin_data = pc->desc.pins[pin].drv_data; in eic7700_pin_config_set()
379 value = readl_relaxed(pc->base + EIC7700_PIN_REG(pin)); in eic7700_pin_config_set()
431 writel_relaxed(value, pc->base + EIC7700_PIN_REG(pin)); in eic7700_pin_config_set()
440 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_pin_config_dbg_show() local
441 u32 value = readl_relaxed(pc->base + EIC7700_PIN_REG(pin)) & EIC7700_PINCONF; in eic7700_pin_config_dbg_show()
461 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_functions_count() local
463 return pc->functions_count; in eic7700_get_functions_count()
468 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_function_name() local
470 return pc->functions[selector].name; in eic7700_get_function_name()
476 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_get_function_groups() local
478 *groups = pc->functions[selector].groups; in eic7700_get_function_groups()
479 *num_groups = pc->functions[selector].ngroups; in eic7700_get_function_groups()
487 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_set_mux() local
488 const struct eic7700_pin *pin_data = pc->desc.pins[group_selector].drv_data; in eic7700_set_mux()
500 pc->functions[func_selector].name, in eic7700_set_mux()
501 pc->desc.pins[group_selector].name); in eic7700_set_mux()
505 value = readl_relaxed(pc->base + EIC7700_PIN_REG(group_selector)); in eic7700_set_mux()
508 writel_relaxed(value, pc->base + EIC7700_PIN_REG(group_selector)); in eic7700_set_mux()
529 struct eic7700_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); in eic7700_gpio_set_direction() local
532 value = readl_relaxed(pc->base + EIC7700_PIN_REG(offset)); in eic7700_gpio_set_direction()
537 writel_relaxed(value, pc->base + EIC7700_PIN_REG(offset)); in eic7700_gpio_set_direction()
553 static int eic7700_pinctrl_init_function_groups(struct device *dev, struct eic7700_pinctrl *pc, in eic7700_pinctrl_init_function_groups() argument
560 for (unsigned int pin = 0; pin < pc->desc.npins; pin++) { in eic7700_pinctrl_init_function_groups()
561 const struct eic7700_pin *pin_data = pc->desc.pins[pin].drv_data; in eic7700_pinctrl_init_function_groups()
566 struct pinfunction *function = &pc->functions[selector]; in eic7700_pinctrl_init_function_groups()
584 for (unsigned int selector = 0; selector < pc->functions_count; selector++) { in eic7700_pinctrl_init_function_groups()
585 struct pinfunction *function = &pc->functions[selector]; in eic7700_pinctrl_init_function_groups()
596 for (unsigned int pin = 0; pin < pc->desc.npins; pin++) { in eic7700_pinctrl_init_function_groups()
597 const struct pinctrl_pin_desc *desc = &pc->desc.pins[pin]; in eic7700_pinctrl_init_function_groups()
603 struct pinfunction *function = &pc->functions[selector]; in eic7700_pinctrl_init_function_groups()
623 struct eic7700_pinctrl *pc; in eic7700_pinctrl_probe() local
628 pc = devm_kzalloc(dev, struct_size(pc, functions, EIC7700_FUNCTIONS_COUNT), GFP_KERNEL); in eic7700_pinctrl_probe()
629 if (!pc) in eic7700_pinctrl_probe()
632 pc->base = devm_platform_ioremap_resource(pdev, 0); in eic7700_pinctrl_probe()
633 if (IS_ERR(pc->base)) in eic7700_pinctrl_probe()
634 return PTR_ERR(pc->base); in eic7700_pinctrl_probe()
648 rgmii0_mode = readl_relaxed(pc->base + EIC7700_RGMII0_SEL_MODE); in eic7700_pinctrl_probe()
649 rgmii1_mode = readl_relaxed(pc->base + EIC7700_RGMII1_SEL_MODE); in eic7700_pinctrl_probe()
663 writel_relaxed(rgmii0_mode, pc->base + EIC7700_RGMII0_SEL_MODE); in eic7700_pinctrl_probe()
664 writel_relaxed(rgmii1_mode, pc->base + EIC7700_RGMII1_SEL_MODE); in eic7700_pinctrl_probe()
666 pc->desc.name = dev_name(dev); in eic7700_pinctrl_probe()
667 pc->desc.pins = eic7700_pins; in eic7700_pinctrl_probe()
668 pc->desc.npins = ARRAY_SIZE(eic7700_pins); in eic7700_pinctrl_probe()
669 pc->desc.pctlops = &eic7700_pinctrl_ops; in eic7700_pinctrl_probe()
670 pc->desc.pmxops = &eic7700_pinmux_ops; in eic7700_pinctrl_probe()
671 pc->desc.confops = &eic7700_pinconf_ops; in eic7700_pinctrl_probe()
672 pc->desc.owner = THIS_MODULE; in eic7700_pinctrl_probe()
674 pc->functions_count = EIC7700_FUNCTIONS_COUNT; in eic7700_pinctrl_probe()
675 ret = eic7700_pinctrl_init_function_groups(dev, pc, eic7700_functions); in eic7700_pinctrl_probe()
679 ret = devm_pinctrl_register_and_init(dev, &pc->desc, pc, &pctldev); in eic7700_pinctrl_probe()