Lines Matching refs:pin

21 static int rockchip_verify_config(struct udevice *dev, u32 bank, u32 pin)  in rockchip_verify_config()  argument
31 if (pin >= MAX_ROCKCHIP_GPIO_PER_BANK) { in rockchip_verify_config()
32 debug("pin conf pin %d >= %d\n", pin, in rockchip_verify_config()
40 void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin, in rockchip_get_recalced_mux() argument
51 data->pin == pin) in rockchip_get_recalced_mux()
64 rockchip_get_mux_route(struct rockchip_pin_bank *bank, int pin, in rockchip_get_mux_route() argument
75 data->pin == pin && data->func == mux) in rockchip_get_mux_route()
88 int rockchip_get_mux_data(int mux_type, int pin, u8 *bit, int *mask) in rockchip_get_mux_data() argument
93 if ((pin % 8) >= 4) in rockchip_get_mux_data()
95 *bit = (pin % 4) * 4; in rockchip_get_mux_data()
102 if ((pin % 8) >= 5) in rockchip_get_mux_data()
104 *bit = (pin % 8 % 5) * 3; in rockchip_get_mux_data()
107 *bit = (pin % 8) * 2; in rockchip_get_mux_data()
114 static int rockchip_get_mux(struct rockchip_pin_bank *bank, int pin) in rockchip_get_mux() argument
117 int iomux_num = (pin / 8); in rockchip_get_mux()
127 debug("pin %d is unrouted\n", pin); in rockchip_get_mux()
140 reg += rockchip_get_mux_data(mux_type, pin, &bit, &mask); in rockchip_get_mux()
142 if (bank->recalced_mask & BIT(pin)) in rockchip_get_mux()
143 rockchip_get_recalced_mux(bank, pin, &reg, &bit, &mask); in rockchip_get_mux()
161 int pin, int mux) in rockchip_verify_mux() argument
163 int iomux_num = (pin / 8); in rockchip_verify_mux()
169 debug("pin %d is unrouted\n", pin); in rockchip_verify_mux()
175 debug("pin %d only supports a gpio mux\n", pin); in rockchip_verify_mux()
196 static int rockchip_set_mux(struct rockchip_pin_bank *bank, int pin, int mux) in rockchip_set_mux() argument
200 int iomux_num = (pin / 8); in rockchip_set_mux()
203 ret = rockchip_verify_mux(bank, pin, mux); in rockchip_set_mux()
210 debug("setting mux of GPIO%d-%d to %d\n", bank->bank_num, pin, mux); in rockchip_set_mux()
215 ret = ctrl->set_mux(bank, pin, mux); in rockchip_set_mux()
219 if (bank->route_mask & BIT(pin)) { in rockchip_set_mux()
223 ret = rockchip_get_mux_route(bank, pin, mux, in rockchip_set_mux()
230 regmap = (pin % 8 < 4) ? priv->regmap_pmu : priv->regmap_base; in rockchip_set_mux()
355 u32 pin, u32 param, u32 arg) in rockchip_pinconf_set() argument
370 rc = rockchip_set_pull(bank, pin, param); in rockchip_pinconf_set()
376 rc = rockchip_set_drive_perpin(bank, pin, arg); in rockchip_pinconf_set()
382 rc = rockchip_set_schmitt(bank, pin, arg); in rockchip_pinconf_set()
392 snprintf(gpio_name, 16, "%s%d", bank->name, pin); in rockchip_pinconf_set()
396 bank->name, pin, rc); in rockchip_pinconf_set()
403 bank->name, pin, rc); in rockchip_pinconf_set()
408 debug("%s: GPIO %s-%d set to %d\n", __func__, bank->name, pin, arg); in rockchip_pinconf_set()
459 u32 bank, pin, mux, conf, arg, default_val; local
491 pin = cells[4 * i + 1];
495 ret = rockchip_verify_config(dev, bank, pin);
499 ret = rockchip_set_mux(&ctrl->pin_banks[bank], pin, mux);
530 ret = rockchip_pinconf_set(&ctrl->pin_banks[bank], pin,
648 int pin = 0; local
651 pin = ctrl->iomux_recalced[j].pin;
652 bank->recalced_mask |= BIT(pin);
658 int pin = 0; local
661 pin = ctrl->iomux_routes[j].pin;
662 bank->route_mask |= BIT(pin);