Lines Matching defs:pin
47 * When pin number greater than type1_start and less than type1_end,
51 unsigned long pin)
53 if (pin >= pctl->devdata->type1_start && pin < pctl->devdata->type1_end)
58 static unsigned int mtk_get_port(struct mtk_pinctrl *pctl, unsigned long pin)
61 return ((pin >> pctl->devdata->mode_shf) & pctl->devdata->port_mask)
106 static int mtk_pconf_set_ies_smt(struct mtk_pinctrl *pctl, unsigned pin,
131 return pctl->devdata->spec_ies_smt_set(mtk_get_regmap(pctl, pin),
132 pctl->devdata, pin, value, arg);
143 reg_addr = SET_ADDR(mtk_get_port(pctl, pin) + offset, pctl);
145 reg_addr = CLR_ADDR(mtk_get_port(pctl, pin) + offset, pctl);
147 regmap_write(mtk_get_regmap(pctl, pin), reg_addr, bit);
153 unsigned int pin, int value, enum pin_config_param arg)
175 if (pin >= ies_smt_infos[i].start &&
176 pin <= ies_smt_infos[i].end) {
195 struct mtk_pinctrl *pctl, unsigned long pin) {
201 if (pin == pin_drv->pin)
209 unsigned int pin, unsigned char driving)
216 if (pin >= pctl->devdata->npins)
219 pin_drv = mtk_find_pin_drv_grp_by_pin(pctl, pin);
232 return regmap_update_bits(mtk_get_regmap(pctl, pin),
241 unsigned int pin, bool isup, unsigned int r1r0)
253 if (pin == devdata->spec_pupd[i].pin) {
302 unsigned int pin, bool enable, bool isup, unsigned int arg)
317 ret = pctl->devdata->spec_pull_set(mtk_get_regmap(pctl, pin),
318 pctl->devdata, pin, isup,
326 dev_err(pctl->dev, "invalid pull-up argument %d on pin %d .\n",
327 arg, pin);
332 bit = pin & pctl->devdata->mode_mask;
333 reg_pullen = mtk_get_port(pctl, pin) +
335 reg_pullsel = mtk_get_port(pctl, pin) +
337 ret = pctl->devdata->mt8365_set_clr_mode(mtk_get_regmap(pctl, pin),
346 bit = BIT(pin & pctl->devdata->mode_mask);
348 reg_pullen = SET_ADDR(mtk_get_port(pctl, pin) +
351 reg_pullen = CLR_ADDR(mtk_get_port(pctl, pin) +
355 reg_pullsel = SET_ADDR(mtk_get_port(pctl, pin) +
358 reg_pullsel = CLR_ADDR(mtk_get_port(pctl, pin) +
361 regmap_write(mtk_get_regmap(pctl, pin), reg_pullen, bit);
362 regmap_write(mtk_get_regmap(pctl, pin), reg_pullsel, bit);
367 unsigned int pin, enum pin_config_param param,
375 ret = mtk_pconf_set_pull_select(pctl, pin, false, false, arg);
378 ret = mtk_pconf_set_pull_select(pctl, pin, true, true, arg);
381 ret = mtk_pconf_set_pull_select(pctl, pin, true, false, arg);
384 mtk_pmx_gpio_set_direction(pctldev, NULL, pin, true);
385 ret = mtk_pconf_set_ies_smt(pctl, pin, arg, param);
388 mtk_gpio_set(pctl->chip, pin, arg);
389 ret = mtk_pmx_gpio_set_direction(pctldev, NULL, pin, false);
392 mtk_pmx_gpio_set_direction(pctldev, NULL, pin, true);
393 ret = mtk_pconf_set_ies_smt(pctl, pin, arg, param);
396 ret = mtk_pconf_set_driving(pctl, pin, arg);
424 ret = mtk_pconf_parse_conf(pctldev, g->pin,
442 mtk_pctrl_find_group_by_pin(struct mtk_pinctrl *pctl, u32 pin)
449 if (grp->pin == pin)
459 const struct mtk_desc_pin *pin = pctl->devdata->pins + pin_num;
460 const struct mtk_desc_function *func = pin->functions;
477 const struct mtk_desc_pin *pin = pctl->devdata->pins + i;
479 if (pin->pin.number == pin_num) {
481 pin->functions;
497 u32 pin, u32 fnum, struct mtk_pinctrl_group *grp,
509 ret = mtk_pctrl_is_function_valid(pctl, pin, fnum);
511 dev_err(pctl->dev, "invalid function %d on pin %d .\n",
512 fnum, pin);
529 u32 pinfunc, pin, func;
580 pin = MTK_GET_PIN_NO(pinfunc);
583 if (pin >= pctl->devdata->npins ||
590 grp = mtk_pctrl_find_group_by_pin(pctl, pin);
592 dev_err(pctl->dev, "unable to match pin %d to group\n",
593 pin);
598 err = mtk_pctrl_dt_node_to_map_func(pctl, pin, func, grp, map,
665 *pins = (unsigned *)&pctl->groups[group].pin;
704 unsigned long pin, unsigned long mode)
713 pctl->devdata->spec_pinmux_set(mtk_get_regmap(pctl, pin),
714 pin, mode);
716 reg_addr = ((pin / pctl->devdata->mode_per_reg) << pctl->devdata->port_shf)
720 bit = pin % pctl->devdata->mode_per_reg;
723 return regmap_update_bits(mtk_get_regmap(pctl, pin),
731 const struct mtk_desc_pin *pin;
734 pin = pctl->devdata->pins + i;
735 if (pin->eint.eintnum == eint_num)
736 return pin;
751 ret = mtk_pctrl_is_function_valid(pctl, g->pin, function);
758 desc = mtk_pctrl_find_function_by_pin(pctl, g->pin, function);
761 mtk_pmx_set_mode(pctldev, g->pin, desc->muxval);
768 const struct mtk_desc_pin *pin = pctl->devdata->pins + offset;
769 const struct mtk_desc_function *func = pin->functions;
790 dev_err(pctl->dev, "invalid gpio pin %d.\n", offset);
860 const struct mtk_desc_pin *pin;
863 pin = pctl->devdata->pins + offset;
864 if (pin->eint.eintnum == NO_EINT_SUPPORT)
867 eint_n = pin->eint.eintnum;
876 const struct mtk_desc_pin *pin;
883 pin = pctl->devdata->pins + offset;
884 if (pin->eint.eintnum == NO_EINT_SUPPORT)
888 eint_n = pin->eint.eintnum;
937 /* We assume that one pin is one group, use pin name as group name. */
944 const struct mtk_desc_pin *pin = pctl->devdata->pins + i;
947 group->name = pin->pin.name;
948 group->pin = pin->pin.number;
950 pctl->grp_names[i] = pin->pin.name;
961 const struct mtk_desc_pin *pin;
963 pin = mtk_find_pin_by_eint_num(pctl, eint_n);
964 if (!pin)
968 *gpio_n = pin->pin.number;
976 const struct mtk_desc_pin *pin;
978 pin = mtk_find_pin_by_eint_num(pctl, eint_n);
979 if (!pin)
982 return mtk_gpio_get(pctl->chip, pin->pin.number);
988 const struct mtk_desc_pin *pin;
990 pin = mtk_find_pin_by_eint_num(pctl, eint_n);
991 if (!pin)
995 mtk_pmx_set_mode(pctl->pctl_dev, pin->pin.number, pin->eint.eintmux);
997 mtk_pmx_gpio_set_direction(pctl->pctl_dev, NULL, pin->pin.number,
1000 mtk_pconf_set_ies_smt(pctl, pin->pin.number, 1,
1099 pins[i] = pctl->devdata->pins[i].pin;
1130 /* Register the GPIO to pin mappings. */