Lines Matching full:bank

219  * given a pin number that is local to a pin controller, find out the pin bank
220 * and the register base of the pin bank.
572 static void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin, in rockchip_get_recalced_mux() argument
575 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_recalced_mux()
582 if (data->num == bank->bank_num && in rockchip_get_recalced_mux()
795 static bool rockchip_get_mux_route(struct rockchip_pin_bank *bank, int pin, in rockchip_get_mux_route() argument
798 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_mux_route()
805 if ((data->bank_num == bank->bank_num) && in rockchip_get_mux_route()
820 static int rockchip_get_mux(struct rockchip_pin_bank *bank, int pin) in rockchip_get_mux() argument
822 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_mux()
832 if (bank->iomux[iomux_num].type & IOMUX_UNROUTED) { in rockchip_get_mux()
837 if (bank->iomux[iomux_num].type & IOMUX_GPIO_ONLY) in rockchip_get_mux()
840 regmap = (bank->iomux[iomux_num].type & IOMUX_SOURCE_PMU) in rockchip_get_mux()
844 mux_type = bank->iomux[iomux_num].type; in rockchip_get_mux()
845 reg = bank->iomux[iomux_num].offset; in rockchip_get_mux()
861 if (bank->recalced_mask & BIT(pin)) in rockchip_get_mux()
862 rockchip_get_recalced_mux(bank, pin, &reg, &bit, &mask); in rockchip_get_mux()
871 static int rockchip_verify_mux(struct rockchip_pin_bank *bank, in rockchip_verify_mux() argument
874 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_verify_mux()
880 if (bank->iomux[iomux_num].type & IOMUX_UNROUTED) { in rockchip_verify_mux()
885 if (bank->iomux[iomux_num].type & IOMUX_GPIO_ONLY) { in rockchip_verify_mux()
905 * @bank: pin bank to change
909 static int rockchip_set_mux(struct rockchip_pin_bank *bank, int pin, int mux) in rockchip_set_mux() argument
911 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_mux()
918 ret = rockchip_verify_mux(bank, pin, mux); in rockchip_set_mux()
922 if (bank->iomux[iomux_num].type & IOMUX_GPIO_ONLY) in rockchip_set_mux()
926 bank->bank_num, pin, mux); in rockchip_set_mux()
928 regmap = (bank->iomux[iomux_num].type & IOMUX_SOURCE_PMU) in rockchip_set_mux()
932 mux_type = bank->iomux[iomux_num].type; in rockchip_set_mux()
933 reg = bank->iomux[iomux_num].offset; in rockchip_set_mux()
949 if (bank->recalced_mask & BIT(pin)) in rockchip_set_mux()
950 rockchip_get_recalced_mux(bank, pin, &reg, &bit, &mask); in rockchip_set_mux()
952 if (bank->route_mask & BIT(pin)) { in rockchip_set_mux()
953 if (rockchip_get_mux_route(bank, pin, mux, &route_location, in rockchip_set_mux()
987 static void px30_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in px30_calc_pull_reg_and_bit() argument
991 struct rockchip_pinctrl *info = bank->drvdata; in px30_calc_pull_reg_and_bit()
993 /* The first 32 pins of the first bank are located in PMU */ in px30_calc_pull_reg_and_bit()
994 if (bank->bank_num == 0) { in px30_calc_pull_reg_and_bit()
1001 /* correct the offset, as we're starting with the 2nd bank */ in px30_calc_pull_reg_and_bit()
1003 *reg += bank->bank_num * PX30_PULL_BANK_STRIDE; in px30_calc_pull_reg_and_bit()
1017 static void px30_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in px30_calc_drv_reg_and_bit() argument
1021 struct rockchip_pinctrl *info = bank->drvdata; in px30_calc_drv_reg_and_bit()
1023 /* The first 32 pins of the first bank are located in PMU */ in px30_calc_drv_reg_and_bit()
1024 if (bank->bank_num == 0) { in px30_calc_drv_reg_and_bit()
1031 /* correct the offset, as we're starting with the 2nd bank */ in px30_calc_drv_reg_and_bit()
1033 *reg += bank->bank_num * PX30_DRV_BANK_STRIDE; in px30_calc_drv_reg_and_bit()
1047 static int px30_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in px30_calc_schmitt_reg_and_bit() argument
1052 struct rockchip_pinctrl *info = bank->drvdata; in px30_calc_schmitt_reg_and_bit()
1055 if (bank->bank_num == 0) { in px30_calc_schmitt_reg_and_bit()
1063 *reg += (bank->bank_num - 1) * PX30_SCHMITT_BANK_STRIDE; in px30_calc_schmitt_reg_and_bit()
1078 static void rv1108_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rv1108_calc_pull_reg_and_bit() argument
1082 struct rockchip_pinctrl *info = bank->drvdata; in rv1108_calc_pull_reg_and_bit()
1084 /* The first 24 pins of the first bank are located in PMU */ in rv1108_calc_pull_reg_and_bit()
1085 if (bank->bank_num == 0) { in rv1108_calc_pull_reg_and_bit()
1091 /* correct the offset, as we're starting with the 2nd bank */ in rv1108_calc_pull_reg_and_bit()
1093 *reg += bank->bank_num * RV1108_PULL_BANK_STRIDE; in rv1108_calc_pull_reg_and_bit()
1107 static void rv1108_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rv1108_calc_drv_reg_and_bit() argument
1111 struct rockchip_pinctrl *info = bank->drvdata; in rv1108_calc_drv_reg_and_bit()
1113 /* The first 24 pins of the first bank are located in PMU */ in rv1108_calc_drv_reg_and_bit()
1114 if (bank->bank_num == 0) { in rv1108_calc_drv_reg_and_bit()
1121 /* correct the offset, as we're starting with the 2nd bank */ in rv1108_calc_drv_reg_and_bit()
1123 *reg += bank->bank_num * RV1108_DRV_BANK_STRIDE; in rv1108_calc_drv_reg_and_bit()
1137 static int rv1108_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rv1108_calc_schmitt_reg_and_bit() argument
1142 struct rockchip_pinctrl *info = bank->drvdata; in rv1108_calc_schmitt_reg_and_bit()
1145 if (bank->bank_num == 0) { in rv1108_calc_schmitt_reg_and_bit()
1153 *reg += (bank->bank_num - 1) * RV1108_SCHMITT_BANK_STRIDE; in rv1108_calc_schmitt_reg_and_bit()
1165 static int rk3308_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3308_calc_schmitt_reg_and_bit() argument
1169 struct rockchip_pinctrl *info = bank->drvdata; in rk3308_calc_schmitt_reg_and_bit()
1174 *reg += bank->bank_num * RK3308_SCHMITT_BANK_STRIDE; in rk3308_calc_schmitt_reg_and_bit()
1185 static void rk2928_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk2928_calc_pull_reg_and_bit() argument
1189 struct rockchip_pinctrl *info = bank->drvdata; in rk2928_calc_pull_reg_and_bit()
1193 *reg += bank->bank_num * RK2928_PULL_BANK_STRIDE; in rk2928_calc_pull_reg_and_bit()
1201 static void rk3128_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3128_calc_pull_reg_and_bit() argument
1205 struct rockchip_pinctrl *info = bank->drvdata; in rk3128_calc_pull_reg_and_bit()
1209 *reg += bank->bank_num * RK2928_PULL_BANK_STRIDE; in rk3128_calc_pull_reg_and_bit()
1221 static void rk3188_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3188_calc_pull_reg_and_bit() argument
1225 struct rockchip_pinctrl *info = bank->drvdata; in rk3188_calc_pull_reg_and_bit()
1227 /* The first 12 pins of the first bank are located elsewhere */ in rk3188_calc_pull_reg_and_bit()
1228 if (bank->bank_num == 0 && pin_num < 12) { in rk3188_calc_pull_reg_and_bit()
1230 : bank->regmap_pull; in rk3188_calc_pull_reg_and_bit()
1242 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3188_calc_pull_reg_and_bit()
1256 static void rk3288_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3288_calc_pull_reg_and_bit() argument
1260 struct rockchip_pinctrl *info = bank->drvdata; in rk3288_calc_pull_reg_and_bit()
1262 /* The first 24 pins of the first bank are located in PMU */ in rk3288_calc_pull_reg_and_bit()
1263 if (bank->bank_num == 0) { in rk3288_calc_pull_reg_and_bit()
1274 /* correct the offset, as we're starting with the 2nd bank */ in rk3288_calc_pull_reg_and_bit()
1276 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3288_calc_pull_reg_and_bit()
1290 static void rk3288_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3288_calc_drv_reg_and_bit() argument
1294 struct rockchip_pinctrl *info = bank->drvdata; in rk3288_calc_drv_reg_and_bit()
1296 /* The first 24 pins of the first bank are located in PMU */ in rk3288_calc_drv_reg_and_bit()
1297 if (bank->bank_num == 0) { in rk3288_calc_drv_reg_and_bit()
1308 /* correct the offset, as we're starting with the 2nd bank */ in rk3288_calc_drv_reg_and_bit()
1310 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3288_calc_drv_reg_and_bit()
1320 static void rk3228_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3228_calc_pull_reg_and_bit() argument
1324 struct rockchip_pinctrl *info = bank->drvdata; in rk3228_calc_pull_reg_and_bit()
1328 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3228_calc_pull_reg_and_bit()
1337 static void rk3228_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3228_calc_drv_reg_and_bit() argument
1341 struct rockchip_pinctrl *info = bank->drvdata; in rk3228_calc_drv_reg_and_bit()
1345 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3228_calc_drv_reg_and_bit()
1354 static void rk3308_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3308_calc_pull_reg_and_bit() argument
1358 struct rockchip_pinctrl *info = bank->drvdata; in rk3308_calc_pull_reg_and_bit()
1362 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3308_calc_pull_reg_and_bit()
1371 static void rk3308_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3308_calc_drv_reg_and_bit() argument
1375 struct rockchip_pinctrl *info = bank->drvdata; in rk3308_calc_drv_reg_and_bit()
1379 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3308_calc_drv_reg_and_bit()
1389 static void rk3368_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3368_calc_pull_reg_and_bit() argument
1393 struct rockchip_pinctrl *info = bank->drvdata; in rk3368_calc_pull_reg_and_bit()
1395 /* The first 32 pins of the first bank are located in PMU */ in rk3368_calc_pull_reg_and_bit()
1396 if (bank->bank_num == 0) { in rk3368_calc_pull_reg_and_bit()
1407 /* correct the offset, as we're starting with the 2nd bank */ in rk3368_calc_pull_reg_and_bit()
1409 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3368_calc_pull_reg_and_bit()
1420 static void rk3368_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3368_calc_drv_reg_and_bit() argument
1424 struct rockchip_pinctrl *info = bank->drvdata; in rk3368_calc_drv_reg_and_bit()
1426 /* The first 32 pins of the first bank are located in PMU */ in rk3368_calc_drv_reg_and_bit()
1427 if (bank->bank_num == 0) { in rk3368_calc_drv_reg_and_bit()
1438 /* correct the offset, as we're starting with the 2nd bank */ in rk3368_calc_drv_reg_and_bit()
1440 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE; in rk3368_calc_drv_reg_and_bit()
1452 static void rk3399_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3399_calc_pull_reg_and_bit() argument
1456 struct rockchip_pinctrl *info = bank->drvdata; in rk3399_calc_pull_reg_and_bit()
1459 if ((bank->bank_num == 0) || (bank->bank_num == 1)) { in rk3399_calc_pull_reg_and_bit()
1463 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3399_calc_pull_reg_and_bit()
1472 /* correct the offset, as we're starting with the 3rd bank */ in rk3399_calc_pull_reg_and_bit()
1474 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE; in rk3399_calc_pull_reg_and_bit()
1482 static void rk3399_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3399_calc_drv_reg_and_bit() argument
1486 struct rockchip_pinctrl *info = bank->drvdata; in rk3399_calc_drv_reg_and_bit()
1490 if ((bank->bank_num == 0) || (bank->bank_num == 1)) in rk3399_calc_drv_reg_and_bit()
1495 *reg = bank->drv[drv_num].offset; in rk3399_calc_drv_reg_and_bit()
1496 if ((bank->drv[drv_num].drv_type == DRV_TYPE_IO_1V8_3V0_AUTO) || in rk3399_calc_drv_reg_and_bit()
1497 (bank->drv[drv_num].drv_type == DRV_TYPE_IO_3V3_ONLY)) in rk3399_calc_drv_reg_and_bit()
1509 static void rk3568_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, in rk3568_calc_pull_reg_and_bit() argument
1513 struct rockchip_pinctrl *info = bank->drvdata; in rk3568_calc_pull_reg_and_bit()
1515 if (bank->bank_num == 0) { in rk3568_calc_pull_reg_and_bit()
1518 *reg += bank->bank_num * RK3568_PULL_BANK_STRIDE; in rk3568_calc_pull_reg_and_bit()
1526 *reg += (bank->bank_num - 1) * RK3568_PULL_BANK_STRIDE; in rk3568_calc_pull_reg_and_bit()
1540 static void rk3568_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, in rk3568_calc_drv_reg_and_bit() argument
1544 struct rockchip_pinctrl *info = bank->drvdata; in rk3568_calc_drv_reg_and_bit()
1546 /* The first 32 pins of the first bank are located in PMU */ in rk3568_calc_drv_reg_and_bit()
1547 if (bank->bank_num == 0) { in rk3568_calc_drv_reg_and_bit()
1557 *reg += (bank->bank_num - 1) * RK3568_DRV_BANK_STRIDE; in rk3568_calc_drv_reg_and_bit()
1573 static int rockchip_get_drive_perpin(struct rockchip_pin_bank *bank, in rockchip_get_drive_perpin() argument
1576 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_drive_perpin()
1582 int drv_type = bank->drv[pin_num / 8].drv_type; in rockchip_get_drive_perpin()
1584 ctrl->drv_calc_reg(bank, pin_num, &regmap, &reg, &bit); in rockchip_get_drive_perpin()
1650 static int rockchip_set_drive_perpin(struct rockchip_pin_bank *bank, in rockchip_set_drive_perpin() argument
1653 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_drive_perpin()
1659 int drv_type = bank->drv[pin_num / 8].drv_type; in rockchip_set_drive_perpin()
1662 bank->bank_num, pin_num, strength); in rockchip_set_drive_perpin()
1664 ctrl->drv_calc_reg(bank, pin_num, &regmap, &reg, &bit); in rockchip_set_drive_perpin()
1765 static int rockchip_get_pull(struct rockchip_pin_bank *bank, int pin_num) in rockchip_get_pull() argument
1767 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_pull()
1778 ctrl->pull_calc_reg(bank, pin_num, &regmap, &reg, &bit); in rockchip_get_pull()
1797 pull_type = bank->pull_type[pin_num / 8]; in rockchip_get_pull()
1808 static int rockchip_set_pull(struct rockchip_pin_bank *bank, in rockchip_set_pull() argument
1811 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_pull()
1819 bank->bank_num, pin_num, pull); in rockchip_set_pull()
1825 ctrl->pull_calc_reg(bank, pin_num, &regmap, &reg, &bit); in rockchip_set_pull()
1843 pull_type = bank->pull_type[pin_num / 8]; in rockchip_set_pull()
1856 if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) { in rockchip_set_pull()
1887 static int rk3328_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3328_calc_schmitt_reg_and_bit() argument
1892 struct rockchip_pinctrl *info = bank->drvdata; in rk3328_calc_schmitt_reg_and_bit()
1897 *reg += bank->bank_num * RK3328_SCHMITT_BANK_STRIDE; in rk3328_calc_schmitt_reg_and_bit()
1910 static int rk3568_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, in rk3568_calc_schmitt_reg_and_bit() argument
1915 struct rockchip_pinctrl *info = bank->drvdata; in rk3568_calc_schmitt_reg_and_bit()
1917 if (bank->bank_num == 0) { in rk3568_calc_schmitt_reg_and_bit()
1923 *reg += (bank->bank_num - 1) * RK3568_SCHMITT_BANK_STRIDE; in rk3568_calc_schmitt_reg_and_bit()
1933 static int rockchip_get_schmitt(struct rockchip_pin_bank *bank, int pin_num) in rockchip_get_schmitt() argument
1935 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_get_schmitt()
1942 ret = ctrl->schmitt_calc_reg(bank, pin_num, &regmap, &reg, &bit); in rockchip_get_schmitt()
1961 static int rockchip_set_schmitt(struct rockchip_pin_bank *bank, in rockchip_set_schmitt() argument
1964 struct rockchip_pinctrl *info = bank->drvdata; in rockchip_set_schmitt()
1972 bank->bank_num, pin_num, enable); in rockchip_set_schmitt()
1974 ret = ctrl->schmitt_calc_reg(bank, pin_num, &regmap, &reg, &bit); in rockchip_set_schmitt()
2031 struct rockchip_pin_bank *bank; in rockchip_pmx_set() local
2042 bank = pin_to_bank(info, pins[cnt]); in rockchip_pmx_set()
2043 ret = rockchip_set_mux(bank, pins[cnt] - bank->pin_base, in rockchip_pmx_set()
2052 rockchip_set_mux(bank, pins[cnt] - bank->pin_base, 0); in rockchip_pmx_set()
2095 static int rockchip_pinconf_defer_output(struct rockchip_pin_bank *bank, in rockchip_pinconf_defer_output() argument
2107 list_add_tail(&cfg->head, &bank->deferred_output); in rockchip_pinconf_defer_output()
2117 struct rockchip_pin_bank *bank = pin_to_bank(info, pin); in rockchip_pinconf_set() local
2118 struct gpio_chip *gpio = &bank->gpio_chip; in rockchip_pinconf_set()
2130 rc = rockchip_set_pull(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2145 rc = rockchip_set_pull(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2151 rc = rockchip_set_mux(bank, pin - bank->pin_base, in rockchip_pinconf_set()
2161 mutex_lock(&bank->deferred_lock); in rockchip_pinconf_set()
2163 rc = rockchip_pinconf_defer_output(bank, pin - bank->pin_base, arg); in rockchip_pinconf_set()
2164 mutex_unlock(&bank->deferred_lock); in rockchip_pinconf_set()
2170 mutex_unlock(&bank->deferred_lock); in rockchip_pinconf_set()
2172 rc = gpio->direction_output(gpio, pin - bank->pin_base, in rockchip_pinconf_set()
2182 rc = rockchip_set_drive_perpin(bank, in rockchip_pinconf_set()
2183 pin - bank->pin_base, arg); in rockchip_pinconf_set()
2191 rc = rockchip_set_schmitt(bank, in rockchip_pinconf_set()
2192 pin - bank->pin_base, arg); in rockchip_pinconf_set()
2210 struct rockchip_pin_bank *bank = pin_to_bank(info, pin); in rockchip_pinconf_get() local
2211 struct gpio_chip *gpio = &bank->gpio_chip; in rockchip_pinconf_get()
2218 if (rockchip_get_pull(bank, pin - bank->pin_base) != param) in rockchip_pinconf_get()
2230 if (rockchip_get_pull(bank, pin - bank->pin_base) != param) in rockchip_pinconf_get()
2236 rc = rockchip_get_mux(bank, pin - bank->pin_base); in rockchip_pinconf_get()
2245 rc = gpio->get(gpio, pin - bank->pin_base); in rockchip_pinconf_get()
2256 rc = rockchip_get_drive_perpin(bank, pin - bank->pin_base); in rockchip_pinconf_get()
2266 rc = rockchip_get_schmitt(bank, pin - bank->pin_base); in rockchip_pinconf_get()
2289 { .compatible = "rockchip,gpio-bank" },
2313 struct rockchip_pin_bank *bank; in rockchip_pinctrl_parse_groups() local
2326 * the binding format is rockchip,pins = <bank pin mux CONFIG>, in rockchip_pinctrl_parse_groups()
2353 bank = bank_num_to_bank(info, num); in rockchip_pinctrl_parse_groups()
2354 if (IS_ERR(bank)) in rockchip_pinctrl_parse_groups()
2355 return PTR_ERR(bank); in rockchip_pinctrl_parse_groups()
2357 grp->pins[j] = bank->pin_base + be32_to_cpu(*list++); in rockchip_pinctrl_parse_groups()
2464 int pin, bank, ret; in rockchip_pinctrl_register() local
2483 for (bank = 0, k = 0; bank < info->ctrl->nr_banks; bank++) { in rockchip_pinctrl_register()
2484 pin_bank = &info->ctrl->pin_banks[bank]; in rockchip_pinctrl_register()
2519 struct rockchip_pin_bank *bank; in rockchip_pinctrl_get_soc_data() local
2529 bank = ctrl->pin_banks; in rockchip_pinctrl_get_soc_data()
2530 for (i = 0; i < ctrl->nr_banks; ++i, ++bank) { in rockchip_pinctrl_get_soc_data()
2533 raw_spin_lock_init(&bank->slock); in rockchip_pinctrl_get_soc_data()
2534 bank->drvdata = d; in rockchip_pinctrl_get_soc_data()
2535 bank->pin_base = ctrl->nr_pins; in rockchip_pinctrl_get_soc_data()
2536 ctrl->nr_pins += bank->nr_pins; in rockchip_pinctrl_get_soc_data()
2540 struct rockchip_iomux *iom = &bank->iomux[j]; in rockchip_pinctrl_get_soc_data()
2541 struct rockchip_drv *drv = &bank->drv[j]; in rockchip_pinctrl_get_soc_data()
2544 if (bank_pins >= bank->nr_pins) in rockchip_pinctrl_get_soc_data()
2569 dev_dbg(d->dev, "bank %d, iomux %d has iom_offset 0x%x drv_offset 0x%x\n", in rockchip_pinctrl_get_soc_data()
2602 /* calculate the per-bank recalced_mask */ in rockchip_pinctrl_get_soc_data()
2606 if (ctrl->iomux_recalced[j].num == bank->bank_num) { in rockchip_pinctrl_get_soc_data()
2608 bank->recalced_mask |= BIT(pin); in rockchip_pinctrl_get_soc_data()
2612 /* calculate the per-bank route_mask */ in rockchip_pinctrl_get_soc_data()
2616 if (ctrl->iomux_routes[j].bank_num == bank->bank_num) { in rockchip_pinctrl_get_soc_data()
2618 bank->route_mask |= BIT(pin); in rockchip_pinctrl_get_soc_data()
2763 struct rockchip_pin_bank *bank; in rockchip_pinctrl_remove() local
2770 bank = &info->ctrl->pin_banks[i]; in rockchip_pinctrl_remove()
2772 mutex_lock(&bank->deferred_lock); in rockchip_pinctrl_remove()
2773 while (!list_empty(&bank->deferred_output)) { in rockchip_pinctrl_remove()
2774 cfg = list_first_entry(&bank->deferred_output, in rockchip_pinctrl_remove()
2779 mutex_unlock(&bank->deferred_lock); in rockchip_pinctrl_remove()