Lines Matching refs:pctldev
435 static unsigned int atmel_pin_config_read(struct pinctrl_dev *pctldev, in atmel_pin_config_read() argument
438 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pin_config_read()
451 static void atmel_pin_config_write(struct pinctrl_dev *pctldev, in atmel_pin_config_write() argument
454 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pin_config_write()
466 static int atmel_pctl_get_groups_count(struct pinctrl_dev *pctldev) in atmel_pctl_get_groups_count() argument
468 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pctl_get_groups_count()
473 static const char *atmel_pctl_get_group_name(struct pinctrl_dev *pctldev, in atmel_pctl_get_group_name() argument
476 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pctl_get_group_name()
481 static int atmel_pctl_get_group_pins(struct pinctrl_dev *pctldev, in atmel_pctl_get_group_pins() argument
485 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pctl_get_group_pins()
494 atmel_pctl_find_group_by_pin(struct pinctrl_dev *pctldev, unsigned pin) in atmel_pctl_find_group_by_pin() argument
496 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pctl_find_group_by_pin()
509 static int atmel_pctl_xlate_pinfunc(struct pinctrl_dev *pctldev, in atmel_pctl_xlate_pinfunc() argument
514 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pctl_xlate_pinfunc()
526 grp = atmel_pctl_find_group_by_pin(pctldev, pin_id); in atmel_pctl_xlate_pinfunc()
542 static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev, in atmel_pctl_dt_subnode_to_map() argument
558 ret = pinconf_generic_parse_dt_config(np, pctldev, &configs, in atmel_pctl_dt_subnode_to_map()
561 dev_err(pctldev->dev, "%pOF: could not parse node property\n", in atmel_pctl_dt_subnode_to_map()
568 dev_err(pctldev->dev, "no pins found in node %pOF\n", np); in atmel_pctl_dt_subnode_to_map()
581 ret = pinctrl_utils_reserve_map(pctldev, map, reserved_maps, num_maps, in atmel_pctl_dt_subnode_to_map()
593 ret = atmel_pctl_xlate_pinfunc(pctldev, np, pinfunc, &group, in atmel_pctl_dt_subnode_to_map()
598 pinctrl_utils_add_map_mux(pctldev, map, reserved_maps, num_maps, in atmel_pctl_dt_subnode_to_map()
602 ret = pinctrl_utils_add_map_configs(pctldev, map, in atmel_pctl_dt_subnode_to_map()
616 static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev, in atmel_pctl_dt_node_to_map() argument
634 ret = atmel_pctl_dt_subnode_to_map(pctldev, np_config, map, in atmel_pctl_dt_node_to_map()
638 ret = atmel_pctl_dt_subnode_to_map(pctldev, np, map, in atmel_pctl_dt_node_to_map()
648 pinctrl_utils_free_map(pctldev, *map, *num_maps); in atmel_pctl_dt_node_to_map()
649 dev_err(pctldev->dev, "can't create maps for node %pOF\n", in atmel_pctl_dt_node_to_map()
664 static int atmel_pmx_get_functions_count(struct pinctrl_dev *pctldev) in atmel_pmx_get_functions_count() argument
669 static const char *atmel_pmx_get_function_name(struct pinctrl_dev *pctldev, in atmel_pmx_get_function_name() argument
675 static int atmel_pmx_get_function_groups(struct pinctrl_dev *pctldev, in atmel_pmx_get_function_groups() argument
680 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pmx_get_function_groups()
688 static int atmel_pmx_set_mux(struct pinctrl_dev *pctldev, in atmel_pmx_set_mux() argument
692 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_pmx_set_mux()
696 dev_dbg(pctldev->dev, "enable function %s group %s\n", in atmel_pmx_set_mux()
700 conf = atmel_pin_config_read(pctldev, pin); in atmel_pmx_set_mux()
703 dev_dbg(pctldev->dev, "pin: %u, conf: 0x%08x\n", pin, conf); in atmel_pmx_set_mux()
704 atmel_pin_config_write(pctldev, pin, conf); in atmel_pmx_set_mux()
716 static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev, in atmel_conf_pin_config_group_get() argument
720 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_conf_pin_config_group_get()
726 res = atmel_pin_config_read(pctldev, pin_id); in atmel_conf_pin_config_group_get()
769 static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, in atmel_conf_pin_config_group_set() argument
774 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_conf_pin_config_group_set()
780 conf = atmel_pin_config_read(pctldev, pin_id); in atmel_conf_pin_config_group_set()
786 dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n", in atmel_conf_pin_config_group_set()
855 dev_warn(pctldev->dev, "drive strength not updated (incorrect value)\n"); in atmel_conf_pin_config_group_set()
859 dev_warn(pctldev->dev, in atmel_conf_pin_config_group_set()
866 dev_dbg(pctldev->dev, "%s: reg=0x%08x\n", __func__, conf); in atmel_conf_pin_config_group_set()
867 atmel_pin_config_write(pctldev, pin_id, conf); in atmel_conf_pin_config_group_set()
872 static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev, in atmel_conf_pin_config_dbg_show() argument
875 struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); in atmel_conf_pin_config_dbg_show()
886 conf = atmel_pin_config_read(pctldev, pin_id); in atmel_conf_pin_config_dbg_show()