Lines Matching refs:pctldev
29 struct pinctrl_dev *pctldev; member
34 static int uniphier_pctl_get_groups_count(struct pinctrl_dev *pctldev) in uniphier_pctl_get_groups_count() argument
36 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pctl_get_groups_count()
41 static const char *uniphier_pctl_get_group_name(struct pinctrl_dev *pctldev, in uniphier_pctl_get_group_name() argument
44 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pctl_get_group_name()
49 static int uniphier_pctl_get_group_pins(struct pinctrl_dev *pctldev, in uniphier_pctl_get_group_pins() argument
54 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pctl_get_group_pins()
63 static void uniphier_pctl_pin_dbg_show(struct pinctrl_dev *pctldev, in uniphier_pctl_pin_dbg_show() argument
66 const struct pinctrl_pin_desc *pin = &pctldev->desc->pins[offset]; in uniphier_pctl_pin_dbg_show()
121 static int uniphier_conf_pin_bias_get(struct pinctrl_dev *pctldev, in uniphier_conf_pin_bias_get() argument
125 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_bias_get()
171 static int uniphier_conf_pin_drive_get(struct pinctrl_dev *pctldev, in uniphier_conf_pin_drive_get() argument
175 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_drive_get()
226 static int uniphier_conf_pin_input_enable_get(struct pinctrl_dev *pctldev, in uniphier_conf_pin_input_enable_get() argument
229 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_input_enable_get()
245 static int uniphier_conf_pin_config_get(struct pinctrl_dev *pctldev, in uniphier_conf_pin_config_get() argument
249 const struct pinctrl_pin_desc *pin_desc = &pctldev->desc->pins[pin]; in uniphier_conf_pin_config_get()
259 ret = uniphier_conf_pin_bias_get(pctldev, pin_desc, param); in uniphier_conf_pin_config_get()
262 ret = uniphier_conf_pin_drive_get(pctldev, pin_desc, &arg); in uniphier_conf_pin_config_get()
266 ret = uniphier_conf_pin_input_enable_get(pctldev, pin_desc); in uniphier_conf_pin_config_get()
280 static int uniphier_conf_pin_bias_set(struct pinctrl_dev *pctldev, in uniphier_conf_pin_bias_set() argument
285 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_bias_set()
297 dev_err(pctldev->dev, in uniphier_conf_pin_bias_set()
308 dev_err(pctldev->dev, in uniphier_conf_pin_bias_set()
314 dev_err(pctldev->dev, "pull-up can not be total\n"); in uniphier_conf_pin_bias_set()
322 dev_err(pctldev->dev, in uniphier_conf_pin_bias_set()
328 dev_err(pctldev->dev, "pull-down can not be total\n"); in uniphier_conf_pin_bias_set()
334 dev_err(pctldev->dev, in uniphier_conf_pin_bias_set()
355 static int uniphier_conf_pin_drive_set(struct pinctrl_dev *pctldev, in uniphier_conf_pin_drive_set() argument
359 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_drive_set()
377 dev_err(pctldev->dev, in uniphier_conf_pin_drive_set()
389 dev_err(pctldev->dev, in uniphier_conf_pin_drive_set()
411 static int uniphier_conf_pin_input_enable(struct pinctrl_dev *pctldev, in uniphier_conf_pin_input_enable() argument
415 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_input_enable()
423 dev_err(pctldev->dev, "unable to disable input\n"); in uniphier_conf_pin_input_enable()
435 static int uniphier_conf_pin_config_set(struct pinctrl_dev *pctldev, in uniphier_conf_pin_config_set() argument
440 const struct pinctrl_pin_desc *pin_desc = &pctldev->desc->pins[pin]; in uniphier_conf_pin_config_set()
453 ret = uniphier_conf_pin_bias_set(pctldev, pin_desc, in uniphier_conf_pin_config_set()
457 ret = uniphier_conf_pin_drive_set(pctldev, pin_desc, in uniphier_conf_pin_config_set()
461 ret = uniphier_conf_pin_input_enable(pctldev, in uniphier_conf_pin_config_set()
465 dev_err(pctldev->dev, in uniphier_conf_pin_config_set()
478 static int uniphier_conf_pin_config_group_set(struct pinctrl_dev *pctldev, in uniphier_conf_pin_config_group_set() argument
483 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_conf_pin_config_group_set()
489 ret = uniphier_conf_pin_config_set(pctldev, pins[i], in uniphier_conf_pin_config_group_set()
505 static int uniphier_pmx_get_functions_count(struct pinctrl_dev *pctldev) in uniphier_pmx_get_functions_count() argument
507 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pmx_get_functions_count()
512 static const char *uniphier_pmx_get_function_name(struct pinctrl_dev *pctldev, in uniphier_pmx_get_function_name() argument
515 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pmx_get_function_name()
520 static int uniphier_pmx_get_function_groups(struct pinctrl_dev *pctldev, in uniphier_pmx_get_function_groups() argument
525 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pmx_get_function_groups()
533 static int uniphier_pmx_set_one_mux(struct pinctrl_dev *pctldev, unsigned pin, in uniphier_pmx_set_one_mux() argument
536 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pmx_set_one_mux()
543 ret = uniphier_conf_pin_input_enable(pctldev, in uniphier_pmx_set_one_mux()
544 &pctldev->desc->pins[pin], 1); in uniphier_pmx_set_one_mux()
575 static int uniphier_pmx_set_mux(struct pinctrl_dev *pctldev, in uniphier_pmx_set_mux() argument
579 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pmx_set_mux()
586 ret = uniphier_pmx_set_one_mux(pctldev, grp->pins[i], in uniphier_pmx_set_mux()
595 static int uniphier_pmx_gpio_request_enable(struct pinctrl_dev *pctldev, in uniphier_pmx_gpio_request_enable() argument
599 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); in uniphier_pmx_gpio_request_enable()
619 dev_err(pctldev->dev, "pin %u does not support GPIO\n", offset); in uniphier_pmx_gpio_request_enable()
623 return uniphier_pmx_set_one_mux(pctldev, offset, groups[i].muxvals[j]); in uniphier_pmx_gpio_request_enable()
668 priv->pctldev = pinctrl_register(desc, dev, priv); in uniphier_pinctrl_probe()
669 if (IS_ERR(priv->pctldev)) { in uniphier_pinctrl_probe()
671 return PTR_ERR(priv->pctldev); in uniphier_pinctrl_probe()
684 pinctrl_unregister(priv->pctldev); in uniphier_pinctrl_remove()