Lines Matching refs:pctldev

448 static unsigned int atmel_pin_config_read(struct pinctrl_dev *pctldev,
451 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
464 static void atmel_pin_config_write(struct pinctrl_dev *pctldev,
467 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
479 static int atmel_pctl_get_groups_count(struct pinctrl_dev *pctldev)
481 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
486 static const char *atmel_pctl_get_group_name(struct pinctrl_dev *pctldev,
489 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
494 static int atmel_pctl_get_group_pins(struct pinctrl_dev *pctldev,
499 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
508 atmel_pctl_find_group_by_pin(struct pinctrl_dev *pctldev, unsigned int pin)
510 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
523 static int atmel_pctl_xlate_pinfunc(struct pinctrl_dev *pctldev,
528 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
540 grp = atmel_pctl_find_group_by_pin(pctldev, pin_id);
556 static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
572 ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
575 dev_err(pctldev->dev, "%pOF: could not parse node property\n",
582 dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
595 ret = pinctrl_utils_reserve_map(pctldev, map, reserved_maps, num_maps,
607 ret = atmel_pctl_xlate_pinfunc(pctldev, np, pinfunc, &group,
612 pinctrl_utils_add_map_mux(pctldev, map, reserved_maps, num_maps,
616 ret = pinctrl_utils_add_map_configs(pctldev, map,
630 static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
648 ret = atmel_pctl_dt_subnode_to_map(pctldev, np_config, map,
652 ret = atmel_pctl_dt_subnode_to_map(pctldev, np, map,
662 pinctrl_utils_free_map(pctldev, *map, *num_maps);
663 dev_err(pctldev->dev, "can't create maps for node %pOF\n",
678 static int atmel_pmx_get_functions_count(struct pinctrl_dev *pctldev)
683 static const char *atmel_pmx_get_function_name(struct pinctrl_dev *pctldev,
689 static int atmel_pmx_get_function_groups(struct pinctrl_dev *pctldev,
694 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
702 static int atmel_pmx_set_mux(struct pinctrl_dev *pctldev,
706 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
710 dev_dbg(pctldev->dev, "enable function %s group %s\n",
714 conf = atmel_pin_config_read(pctldev, pin);
717 dev_dbg(pctldev->dev, "pin: %u, conf: 0x%08x\n", pin, conf);
718 atmel_pin_config_write(pctldev, pin, conf);
730 static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev,
734 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
740 res = atmel_pin_config_read(pctldev, pin_id);
797 static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev,
802 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
808 conf = atmel_pin_config_read(pctldev, pin_id);
818 dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n",
894 dev_warn(pctldev->dev, "drive strength not updated (incorrect value)\n");
900 dev_warn(pctldev->dev,
907 dev_dbg(pctldev->dev, "%s: reg=0x%08x\n", __func__, conf);
908 atmel_pin_config_write(pctldev, pin_id, conf);
913 static int atmel_conf_pin_config_set(struct pinctrl_dev *pctldev,
918 struct atmel_group *grp = atmel_pctl_find_group_by_pin(pctldev, pin);
920 return atmel_conf_pin_config_group_set(pctldev, grp->pin, configs, num_configs);
923 static int atmel_conf_pin_config_get(struct pinctrl_dev *pctldev,
927 struct atmel_group *grp = atmel_pctl_find_group_by_pin(pctldev, pin);
929 return atmel_conf_pin_config_group_get(pctldev, grp->pin, configs);
932 static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev,
936 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
946 conf = atmel_pin_config_read(pctldev, pin_id);