Lines Matching refs:bank
657 static void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin, in rockchip_get_recalced_mux() argument
660 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_recalced_mux()
667 if (data->num == bank->bank_num && in rockchip_get_recalced_mux()
1017 static bool rockchip_get_mux_route(struct rockchip_pin_bank *bank, int pin, in rockchip_get_mux_route() argument
1020 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_mux_route()
1027 if ((data->bank_num == bank->bank_num) && in rockchip_get_mux_route()
1042 static int rockchip_get_mux(struct rockchip_pin_bank *bank, int pin) in rockchip_get_mux() argument
1044 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_mux()
1055 if (bank->iomux[iomux_num].type & IOMUX_UNROUTED) { in rockchip_get_mux()
1060 if (bank->iomux[iomux_num].type & IOMUX_GPIO_ONLY) in rockchip_get_mux()
1063 if (bank->iomux[iomux_num].type & IOMUX_SOURCE_PMU) in rockchip_get_mux()
1065 else if (bank->iomux[iomux_num].type & IOMUX_L_SOURCE_PMU) in rockchip_get_mux()
1071 mux_type = bank->iomux[iomux_num].type; in rockchip_get_mux()
1072 reg = bank->iomux[iomux_num].offset; in rockchip_get_mux()
1088 if (bank->recalced_mask & BIT(pin)) in rockchip_get_mux()
1089 rockchip_get_recalced_mux(bank, pin, ®, &bit, &mask); in rockchip_get_mux()
1092 if (bank->bank_num == 0) { in rockchip_get_mux()
1107 } else if (bank->bank_num > 0) { in rockchip_get_mux()
1119 static int rockchip_verify_mux(struct rockchip_pin_bank *bank, in rockchip_verify_mux() argument
1122 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_verify_mux()
1129 if (bank->iomux[iomux_num].type & IOMUX_UNROUTED) { in rockchip_verify_mux()
1134 if (bank->iomux[iomux_num].type & IOMUX_GPIO_ONLY) { in rockchip_verify_mux()
1157 static int rockchip_set_mux(struct rockchip_pin_bank *bank, int pin, int mux) in rockchip_set_mux() argument
1159 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_mux()
1168 ret = rockchip_verify_mux(bank, pin, mux); in rockchip_set_mux()
1172 if (bank->iomux[iomux_num].type & IOMUX_GPIO_ONLY) in rockchip_set_mux()
1175 dev_dbg(dev, "setting mux of GPIO%d-%d to %d\n", bank->bank_num, pin, mux); in rockchip_set_mux()
1177 if (bank->iomux[iomux_num].type & IOMUX_SOURCE_PMU) in rockchip_set_mux()
1179 else if (bank->iomux[iomux_num].type & IOMUX_L_SOURCE_PMU) in rockchip_set_mux()
1185 mux_type = bank->iomux[iomux_num].type; in rockchip_set_mux()
1186 reg = bank->iomux[iomux_num].offset; in rockchip_set_mux()
1202 if (bank->recalced_mask & BIT(pin)) in rockchip_set_mux()
1203 rockchip_get_recalced_mux(bank, pin, ®, &bit, &mask); in rockchip_set_mux()
1206 if (bank->bank_num == 0) { in rockchip_set_mux()
1237 } else if (bank->bank_num > 0) { in rockchip_set_mux()
1245 if (bank->route_mask & BIT(pin)) { in rockchip_set_mux()
1246 if (rockchip_get_mux_route(bank, pin, mux, &route_location, in rockchip_set_mux()
1280 static int px30_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in px30_calc_pull_reg_and_bit() argument
1284 struct rockchip_pinctrl *info = bank->drvdata; in px30_calc_pull_reg_and_bit()
1287 if (bank->bank_num == 0) { in px30_calc_pull_reg_and_bit()
1296 *reg += bank->bank_num * PX30_PULL_BANK_STRIDE; in px30_calc_pull_reg_and_bit()
1312 static int px30_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in px30_calc_drv_reg_and_bit() argument
1316 struct rockchip_pinctrl *info = bank->drvdata; in px30_calc_drv_reg_and_bit()
1319 if (bank->bank_num == 0) { in px30_calc_drv_reg_and_bit()
1328 *reg += bank->bank_num * PX30_DRV_BANK_STRIDE; in px30_calc_drv_reg_and_bit()
1344 static int px30_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in px30_calc_schmitt_reg_and_bit() argument
1349 struct rockchip_pinctrl *info = bank->drvdata; in px30_calc_schmitt_reg_and_bit()
1352 if (bank->bank_num == 0) { in px30_calc_schmitt_reg_and_bit()
1360 *reg += (bank->bank_num - 1) * PX30_SCHMITT_BANK_STRIDE; in px30_calc_schmitt_reg_and_bit()
1375 static int rv1108_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rv1108_calc_pull_reg_and_bit() argument
1379 struct rockchip_pinctrl *info = bank->drvdata; in rv1108_calc_pull_reg_and_bit()
1382 if (bank->bank_num == 0) { in rv1108_calc_pull_reg_and_bit()
1390 *reg += bank->bank_num * RV1108_PULL_BANK_STRIDE; in rv1108_calc_pull_reg_and_bit()
1406 static int rv1108_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rv1108_calc_drv_reg_and_bit() argument
1410 struct rockchip_pinctrl *info = bank->drvdata; in rv1108_calc_drv_reg_and_bit()
1413 if (bank->bank_num == 0) { in rv1108_calc_drv_reg_and_bit()
1422 *reg += bank->bank_num * RV1108_DRV_BANK_STRIDE; in rv1108_calc_drv_reg_and_bit()
1438 static int rv1108_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rv1108_calc_schmitt_reg_and_bit() argument
1443 struct rockchip_pinctrl *info = bank->drvdata; in rv1108_calc_schmitt_reg_and_bit()
1446 if (bank->bank_num == 0) { in rv1108_calc_schmitt_reg_and_bit()
1454 *reg += (bank->bank_num - 1) * RV1108_SCHMITT_BANK_STRIDE; in rv1108_calc_schmitt_reg_and_bit()
1469 static int rv1126_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rv1126_calc_pull_reg_and_bit() argument
1473 struct rockchip_pinctrl *info = bank->drvdata; in rv1126_calc_pull_reg_and_bit()
1476 if (bank->bank_num == 0) { in rv1126_calc_pull_reg_and_bit()
1490 *reg += (bank->bank_num - 1) * RV1126_PULL_BANK_STRIDE; in rv1126_calc_pull_reg_and_bit()
1506 static int rv1126_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rv1126_calc_drv_reg_and_bit() argument
1510 struct rockchip_pinctrl *info = bank->drvdata; in rv1126_calc_drv_reg_and_bit()
1513 if (bank->bank_num == 0) { in rv1126_calc_drv_reg_and_bit()
1528 *reg += (bank->bank_num - 1) * RV1126_DRV_BANK_STRIDE; in rv1126_calc_drv_reg_and_bit()
1544 static int rv1126_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rv1126_calc_schmitt_reg_and_bit() argument
1549 struct rockchip_pinctrl *info = bank->drvdata; in rv1126_calc_schmitt_reg_and_bit()
1552 if (bank->bank_num == 0) { in rv1126_calc_schmitt_reg_and_bit()
1567 *reg += (bank->bank_num - 1) * RV1126_SCHMITT_BANK_STRIDE; in rv1126_calc_schmitt_reg_and_bit()
1579 static int rk3308_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3308_calc_schmitt_reg_and_bit() argument
1583 struct rockchip_pinctrl *info = bank->drvdata; in rk3308_calc_schmitt_reg_and_bit()
1588 *reg += bank->bank_num * RK3308_SCHMITT_BANK_STRIDE; in rk3308_calc_schmitt_reg_and_bit()
1599 static int rk2928_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk2928_calc_pull_reg_and_bit() argument
1603 struct rockchip_pinctrl *info = bank->drvdata; in rk2928_calc_pull_reg_and_bit()
1607 *reg += bank->bank_num * RK2928_PULL_BANK_STRIDE; in rk2928_calc_pull_reg_and_bit()
1617 static int rk3128_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3128_calc_pull_reg_and_bit() argument
1621 struct rockchip_pinctrl *info = bank->drvdata; in rk3128_calc_pull_reg_and_bit()
1625 *reg += bank->bank_num * RK2928_PULL_BANK_STRIDE; in rk3128_calc_pull_reg_and_bit()
1639 static int rk3188_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3188_calc_pull_reg_and_bit() argument
1643 struct rockchip_pinctrl *info = bank->drvdata; in rk3188_calc_pull_reg_and_bit()
1646 if (bank->bank_num == 0 && pin_num < 12) { in rk3188_calc_pull_reg_and_bit()
1648 : bank->regmap_pull; in rk3188_calc_pull_reg_and_bit()
1660 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3188_calc_pull_reg_and_bit()
1676 static int rk3288_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3288_calc_pull_reg_and_bit() argument
1680 struct rockchip_pinctrl *info = bank->drvdata; in rk3288_calc_pull_reg_and_bit()
1683 if (bank->bank_num == 0) { in rk3288_calc_pull_reg_and_bit()
1696 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3288_calc_pull_reg_and_bit()
1712 static int rk3288_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3288_calc_drv_reg_and_bit() argument
1716 struct rockchip_pinctrl *info = bank->drvdata; in rk3288_calc_drv_reg_and_bit()
1719 if (bank->bank_num == 0) { in rk3288_calc_drv_reg_and_bit()
1732 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3288_calc_drv_reg_and_bit()
1744 static int rk3228_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3228_calc_pull_reg_and_bit() argument
1748 struct rockchip_pinctrl *info = bank->drvdata; in rk3228_calc_pull_reg_and_bit()
1752 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3228_calc_pull_reg_and_bit()
1763 static int rk3228_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3228_calc_drv_reg_and_bit() argument
1767 struct rockchip_pinctrl *info = bank->drvdata; in rk3228_calc_drv_reg_and_bit()
1771 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3228_calc_drv_reg_and_bit()
1782 static int rk3308_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3308_calc_pull_reg_and_bit() argument
1786 struct rockchip_pinctrl *info = bank->drvdata; in rk3308_calc_pull_reg_and_bit()
1790 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3308_calc_pull_reg_and_bit()
1801 static int rk3308_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3308_calc_drv_reg_and_bit() argument
1805 struct rockchip_pinctrl *info = bank->drvdata; in rk3308_calc_drv_reg_and_bit()
1809 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3308_calc_drv_reg_and_bit()
1821 static int rk3368_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3368_calc_pull_reg_and_bit() argument
1825 struct rockchip_pinctrl *info = bank->drvdata; in rk3368_calc_pull_reg_and_bit()
1828 if (bank->bank_num == 0) { in rk3368_calc_pull_reg_and_bit()
1841 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3368_calc_pull_reg_and_bit()
1854 static int rk3368_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3368_calc_drv_reg_and_bit() argument
1858 struct rockchip_pinctrl *info = bank->drvdata; in rk3368_calc_drv_reg_and_bit()
1861 if (bank->bank_num == 0) { in rk3368_calc_drv_reg_and_bit()
1874 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3368_calc_drv_reg_and_bit()
1888 static int rk3399_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3399_calc_pull_reg_and_bit() argument
1892 struct rockchip_pinctrl *info = bank->drvdata; in rk3399_calc_pull_reg_and_bit()
1895 if ((bank->bank_num == 0) || (bank->bank_num == 1)) { in rk3399_calc_pull_reg_and_bit()
1899 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3399_calc_pull_reg_and_bit()
1910 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3399_calc_pull_reg_and_bit()
1920 static int rk3399_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3399_calc_drv_reg_and_bit() argument
1924 struct rockchip_pinctrl *info = bank->drvdata; in rk3399_calc_drv_reg_and_bit()
1928 if ((bank->bank_num == 0) || (bank->bank_num == 1)) in rk3399_calc_drv_reg_and_bit()
1933 *reg = bank->drv[drv_num].offset; in rk3399_calc_drv_reg_and_bit()
1934 if ((bank->drv[drv_num].drv_type == DRV_TYPE_IO_1V8_3V0_AUTO) || in rk3399_calc_drv_reg_and_bit()
1935 (bank->drv[drv_num].drv_type == DRV_TYPE_IO_3V3_ONLY)) in rk3399_calc_drv_reg_and_bit()
1949 static int rk3568_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3568_calc_pull_reg_and_bit() argument
1953 struct rockchip_pinctrl *info = bank->drvdata; in rk3568_calc_pull_reg_and_bit()
1955 if (bank->bank_num == 0) { in rk3568_calc_pull_reg_and_bit()
1958 *reg += bank->bank_num * RK3568_PULL_BANK_STRIDE; in rk3568_calc_pull_reg_and_bit()
1966 *reg += (bank->bank_num - 1) * RK3568_PULL_BANK_STRIDE; in rk3568_calc_pull_reg_and_bit()
1982 static int rk3568_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3568_calc_drv_reg_and_bit() argument
1986 struct rockchip_pinctrl *info = bank->drvdata; in rk3568_calc_drv_reg_and_bit()
1989 if (bank->bank_num == 0) { in rk3568_calc_drv_reg_and_bit()
1999 *reg += (bank->bank_num - 1) * RK3568_DRV_BANK_STRIDE; in rk3568_calc_drv_reg_and_bit()
2117 static int rk3588_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3588_calc_pull_reg_and_bit() argument
2121 struct rockchip_pinctrl *info = bank->drvdata; in rk3588_calc_pull_reg_and_bit()
2122 u8 bank_num = bank->bank_num; in rk3588_calc_pull_reg_and_bit()
2142 static int rk3588_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3588_calc_drv_reg_and_bit() argument
2146 struct rockchip_pinctrl *info = bank->drvdata; in rk3588_calc_drv_reg_and_bit()
2147 u8 bank_num = bank->bank_num; in rk3588_calc_drv_reg_and_bit()
2167 static int rk3588_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3588_calc_schmitt_reg_and_bit() argument
2172 struct rockchip_pinctrl *info = bank->drvdata; in rk3588_calc_schmitt_reg_and_bit()
2173 u8 bank_num = bank->bank_num; in rk3588_calc_schmitt_reg_and_bit()
2198 static int rockchip_get_drive_perpin(struct rockchip_pin_bank *bank, in rockchip_get_drive_perpin() argument
2201 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_drive_perpin()
2208 int drv_type = bank->drv[pin_num / 8].drv_type; in rockchip_get_drive_perpin()
2210 ret = ctrl->drv_calc_reg(bank, pin_num, ®map, ®, &bit); in rockchip_get_drive_perpin()
2277 static int rockchip_set_drive_perpin(struct rockchip_pin_bank *bank, in rockchip_set_drive_perpin() argument
2280 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_drive_perpin()
2287 int drv_type = bank->drv[pin_num / 8].drv_type; in rockchip_set_drive_perpin()
2290 bank->bank_num, pin_num, strength); in rockchip_set_drive_perpin()
2292 ret = ctrl->drv_calc_reg(bank, pin_num, ®map, ®, &bit); in rockchip_set_drive_perpin()
2403 static int rockchip_get_pull(struct rockchip_pin_bank *bank, int pin_num) in rockchip_get_pull() argument
2405 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_pull()
2417 ret = ctrl->pull_calc_reg(bank, pin_num, ®map, ®, &bit); in rockchip_get_pull()
2440 pull_type = bank->pull_type[pin_num / 8]; in rockchip_get_pull()
2447 if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) { in rockchip_get_pull()
2459 static int rockchip_set_pull(struct rockchip_pin_bank *bank, in rockchip_set_pull() argument
2462 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_pull()
2470 dev_dbg(dev, "setting pull of GPIO%d-%d to %d\n", bank->bank_num, pin_num, pull); in rockchip_set_pull()
2476 ret = ctrl->pull_calc_reg(bank, pin_num, ®map, ®, &bit); in rockchip_set_pull()
2498 pull_type = bank->pull_type[pin_num / 8]; in rockchip_set_pull()
2511 if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) { in rockchip_set_pull()
2541 static int rk3328_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3328_calc_schmitt_reg_and_bit() argument
2546 struct rockchip_pinctrl *info = bank->drvdata; in rk3328_calc_schmitt_reg_and_bit()
2551 *reg += bank->bank_num * RK3328_SCHMITT_BANK_STRIDE; in rk3328_calc_schmitt_reg_and_bit()
2564 static int rk3568_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3568_calc_schmitt_reg_and_bit() argument
2569 struct rockchip_pinctrl *info = bank->drvdata; in rk3568_calc_schmitt_reg_and_bit()
2571 if (bank->bank_num == 0) { in rk3568_calc_schmitt_reg_and_bit()
2577 *reg += (bank->bank_num - 1) * RK3568_SCHMITT_BANK_STRIDE; in rk3568_calc_schmitt_reg_and_bit()
2587 static int rockchip_get_schmitt(struct rockchip_pin_bank *bank, int pin_num) in rockchip_get_schmitt() argument
2589 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_schmitt()
2596 ret = ctrl->schmitt_calc_reg(bank, pin_num, ®map, ®, &bit); in rockchip_get_schmitt()
2615 static int rockchip_set_schmitt(struct rockchip_pin_bank *bank, in rockchip_set_schmitt() argument
2618 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_schmitt()
2627 bank->bank_num, pin_num, enable); in rockchip_set_schmitt()
2629 ret = ctrl->schmitt_calc_reg(bank, pin_num, ®map, ®, &bit); in rockchip_set_schmitt()
2687 struct rockchip_pin_bank *bank; in rockchip_pmx_set() local
2698 bank = pin_to_bank(info, pins[cnt]); in rockchip_pmx_set()
2699 ret = rockchip_set_mux(bank, pins[cnt] - bank->pin_base, in rockchip_pmx_set()
2708 rockchip_set_mux(bank, pins[cnt] - bank->pin_base, 0); in rockchip_pmx_set()
2722 struct rockchip_pin_bank *bank; in rockchip_pmx_gpio_set_direction() local
2724 bank = pin_to_bank(info, offset); in rockchip_pmx_gpio_set_direction()
2725 return rockchip_set_mux(bank, offset - bank->pin_base, RK_FUNC_GPIO); in rockchip_pmx_gpio_set_direction()
2766 static int rockchip_pinconf_defer_pin(struct rockchip_pin_bank *bank, in rockchip_pinconf_defer_pin() argument
2779 list_add_tail(&cfg->head, &bank->deferred_pins); in rockchip_pinconf_defer_pin()
2789 struct rockchip_pin_bank *bank = pin_to_bank(info, pin); in rockchip_pinconf_set() local
2790 struct gpio_chip *gpio = &bank->gpio_chip; in rockchip_pinconf_set()
2806 mutex_lock(&bank->deferred_lock); in rockchip_pinconf_set()
2808 rc = rockchip_pinconf_defer_pin(bank, pin - bank->pin_base, param, in rockchip_pinconf_set()
2810 mutex_unlock(&bank->deferred_lock); in rockchip_pinconf_set()
2816 mutex_unlock(&bank->deferred_lock); in rockchip_pinconf_set()
2821 rc = rockchip_set_pull(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2836 rc = rockchip_set_pull(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2842 rc = rockchip_set_mux(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2847 rc = gpio->direction_output(gpio, pin - bank->pin_base, in rockchip_pinconf_set()
2853 rc = rockchip_set_mux(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2858 rc = gpio->direction_input(gpio, pin - bank->pin_base); in rockchip_pinconf_set()
2867 rc = rockchip_set_drive_perpin(bank, in rockchip_pinconf_set()
2868 pin - bank->pin_base, arg); in rockchip_pinconf_set()
2876 rc = rockchip_set_schmitt(bank, in rockchip_pinconf_set()
2877 pin - bank->pin_base, arg); in rockchip_pinconf_set()
2895 struct rockchip_pin_bank *bank = pin_to_bank(info, pin); in rockchip_pinconf_get() local
2896 struct gpio_chip *gpio = &bank->gpio_chip; in rockchip_pinconf_get()
2903 if (rockchip_get_pull(bank, pin - bank->pin_base) != param) in rockchip_pinconf_get()
2915 if (rockchip_get_pull(bank, pin - bank->pin_base) != param) in rockchip_pinconf_get()
2921 rc = rockchip_get_mux(bank, pin - bank->pin_base); in rockchip_pinconf_get()
2930 rc = gpio->get(gpio, pin - bank->pin_base); in rockchip_pinconf_get()
2941 rc = rockchip_get_drive_perpin(bank, pin - bank->pin_base); in rockchip_pinconf_get()
2951 rc = rockchip_get_schmitt(bank, pin - bank->pin_base); in rockchip_pinconf_get()
2999 struct rockchip_pin_bank *bank; in rockchip_pinctrl_parse_groups() local
3033 bank = bank_num_to_bank(info, num); in rockchip_pinctrl_parse_groups()
3034 if (IS_ERR(bank)) in rockchip_pinctrl_parse_groups()
3035 return PTR_ERR(bank); in rockchip_pinctrl_parse_groups()
3037 grp->pins[j] = bank->pin_base + be32_to_cpu(*list++); in rockchip_pinctrl_parse_groups()
3141 int pin, bank, ret; in rockchip_pinctrl_register() local
3158 for (bank = 0, k = 0; bank < info->ctrl->nr_banks; bank++) { in rockchip_pinctrl_register()
3159 pin_bank = &info->ctrl->pin_banks[bank]; in rockchip_pinctrl_register()
3197 struct rockchip_pin_bank *bank; in rockchip_pinctrl_get_soc_data() local
3207 bank = ctrl->pin_banks; in rockchip_pinctrl_get_soc_data()
3208 for (i = 0; i < ctrl->nr_banks; ++i, ++bank) { in rockchip_pinctrl_get_soc_data()
3211 raw_spin_lock_init(&bank->slock); in rockchip_pinctrl_get_soc_data()
3212 bank->drvdata = d; in rockchip_pinctrl_get_soc_data()
3213 bank->pin_base = ctrl->nr_pins; in rockchip_pinctrl_get_soc_data()
3214 ctrl->nr_pins += bank->nr_pins; in rockchip_pinctrl_get_soc_data()
3218 struct rockchip_iomux *iom = &bank->iomux[j]; in rockchip_pinctrl_get_soc_data()
3219 struct rockchip_drv *drv = &bank->drv[j]; in rockchip_pinctrl_get_soc_data()
3222 if (bank_pins >= bank->nr_pins) in rockchip_pinctrl_get_soc_data()
3286 if (ctrl->iomux_recalced[j].num == bank->bank_num) { in rockchip_pinctrl_get_soc_data()
3288 bank->recalced_mask |= BIT(pin); in rockchip_pinctrl_get_soc_data()
3296 if (ctrl->iomux_routes[j].bank_num == bank->bank_num) { in rockchip_pinctrl_get_soc_data()
3298 bank->route_mask |= BIT(pin); in rockchip_pinctrl_get_soc_data()
3435 struct rockchip_pin_bank *bank; in rockchip_pinctrl_remove() local
3442 bank = &info->ctrl->pin_banks[i]; in rockchip_pinctrl_remove()
3444 mutex_lock(&bank->deferred_lock); in rockchip_pinctrl_remove()
3445 while (!list_empty(&bank->deferred_pins)) { in rockchip_pinctrl_remove()
3446 cfg = list_first_entry(&bank->deferred_pins, in rockchip_pinctrl_remove()
3451 mutex_unlock(&bank->deferred_lock); in rockchip_pinctrl_remove()