Lines Matching refs:reg
373 .reg = 0x418,
376 {.num = PINCTRL_ROCKCHIP_ONE, .pin = PINCTRL_ROCKCHIP_ONE, .reg = 0x418, .bit = PINCTRL_ROCKCHIP_TWO, .mask = 0x3},
377 {.num = PINCTRL_ROCKCHIP_ONE, .pin = PINCTRL_ROCKCHIP_TWO, .reg = 0x418, .bit = PINCTRL_ROCKCHIP_FOUR, .mask = 0x3},
380 .reg = 0x418,
385 .reg = 0x418,
388 {.num = PINCTRL_ROCKCHIP_ONE, .pin = PINCTRL_ROCKCHIP_FIVE, .reg = 0x418, .bit = PINCTRL_ROCKCHIP_TEN, .mask = 0x3},
391 .reg = 0x418,
396 .reg = 0x418,
401 .reg = 0x41c,
404 {.num = PINCTRL_ROCKCHIP_ONE, .pin = PINCTRL_ROCKCHIP_NINE, .reg = 0x41c, .bit = PINCTRL_ROCKCHIP_TWO, .mask = 0x3},
408 {.num = PINCTRL_ROCKCHIP_ZERO, .pin = 20, .reg = 0x10000, .bit = PINCTRL_ROCKCHIP_ZERO, .mask = 0xf},
411 .reg = 0x10000,
416 .reg = 0x10000,
421 .reg = 0x10000,
427 {.num = PINCTRL_ROCKCHIP_TWO, .pin = 20, .reg = 0xe8, .bit = PINCTRL_ROCKCHIP_ZERO, .mask = 0x7},
430 .reg = 0xe8,
435 .reg = 0xe8,
440 .reg = 0xe8,
445 .reg = 0xd4,
453 .reg = 0x28,
458 .reg = 0x2c,
463 .reg = 0x30,
468 .reg = 0x30,
471 {.num = PINCTRL_ROCKCHIP_ONE, .pin = 20, .reg = 0x30, .bit = PINCTRL_ROCKCHIP_TWELVE, .mask = 0xf},
474 .reg = 0x34,
479 .reg = 0x34,
484 .reg = 0x34,
489 .reg = 0x68,
494 .reg = 0x68,
497 {.num = PINCTRL_ROCKCHIP_TWO, .pin = PINCTRL_ROCKCHIP_TWO, .reg = 0x608, .bit = PINCTRL_ROCKCHIP_ZERO, .mask = 0x7},
500 .reg = 0x608,
505 .reg = 0x610,
510 .reg = 0x610,
515 .reg = 0x610,
523 .reg = 0x24,
526 {.num = PINCTRL_ROCKCHIP_TWO, .pin = PINCTRL_ROCKCHIP_NINE, .reg = 0x24, .bit = PINCTRL_ROCKCHIP_TWO, .mask = 0x3},
527 {.num = PINCTRL_ROCKCHIP_TWO, .pin = PINCTRL_ROCKCHIP_TEN, .reg = 0x24, .bit = PINCTRL_ROCKCHIP_FOUR, .mask = 0x3},
530 .reg = 0x24,
535 .reg = 0x24,
540 .reg = 0x24,
545 .reg = 0x24,
550 .reg = 0x28,
555 .reg = 0x30,
769 static void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin, int *reg, u8 *bit, int *mask)
787 *reg = data->reg;
1351 static bool rockchip_get_mux_route(struct rockchip_pin_bank *bank, int pin, int mux, u32 *loc, u32 *reg, u32 *value)
1370 *reg = data->route_offset;
1382 int reg, ret, mask, mux_type;
1406 /* get basic quadrupel of mux registers and the correct reg inside */
1408 reg = bank->iomux[iomux_num].offset;
1411 reg += 0x4;
1417 reg += 0x4;
1427 rockchip_get_recalced_mux(bank, pin, ®, &bit, &mask);
1430 ret = regmap_read(regmap, reg, &val);
1480 int reg, ret, mask, mux_type;
1503 /* get basic quadrupel of mux registers and the correct reg inside */
1505 reg = bank->iomux[iomux_num].offset;
1508 reg += 0x4;
1514 reg += 0x4;
1524 rockchip_get_recalced_mux(bank, pin, ®, &bit, &mask);
1553 ret = regmap_read(regmap, reg, &data);
1560 ret = regmap_write(regmap, reg, data);
1565 ret = regmap_update_bits(regmap, reg, rmask, data);
1577 static void px30_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1585 *reg = PX30_PULL_PMU_OFFSET;
1588 *reg = PX30_PULL_GRF_OFFSET;
1591 *reg -= 0x10;
1592 *reg += bank->bank_num * PX30_PULL_BANK_STRIDE;
1595 *reg += ((pin_num / PX30_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1606 static void px30_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1614 *reg = PX30_DRV_PMU_OFFSET;
1617 *reg = PX30_DRV_GRF_OFFSET;
1620 *reg -= 0x10;
1621 *reg += bank->bank_num * PX30_DRV_BANK_STRIDE;
1624 *reg += ((pin_num / PX30_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1635 static int px30_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1643 *reg = PX30_SCHMITT_PMU_OFFSET;
1647 *reg = PX30_SCHMITT_GRF_OFFSET;
1649 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * PX30_SCHMITT_BANK_STRIDE;
1652 *reg += ((pin_num / pins_per_reg) * PINCTRL_ROCKCHIP_FOUR);
1664 static void rv1108_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1672 *reg = RV1108_PULL_PMU_OFFSET;
1674 *reg = RV1108_PULL_OFFSET;
1677 *reg -= 0x10;
1678 *reg += bank->bank_num * RV1108_PULL_BANK_STRIDE;
1681 *reg += ((pin_num / RV1108_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1692 static void rv1108_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1700 *reg = RV1108_DRV_PMU_OFFSET;
1703 *reg = RV1108_DRV_GRF_OFFSET;
1706 *reg -= 0x10;
1707 *reg += bank->bank_num * RV1108_DRV_BANK_STRIDE;
1710 *reg += ((pin_num / RV1108_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1722 int *reg, u8 *bit)
1729 *reg = RV1108_SCHMITT_PMU_OFFSET;
1733 *reg = RV1108_SCHMITT_GRF_OFFSET;
1735 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RV1108_SCHMITT_BANK_STRIDE;
1737 *reg += ((pin_num / pins_per_reg) * PINCTRL_ROCKCHIP_FOUR);
1750 static void rv1126_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1759 *reg = RV1126_PULL_GRF_GPIO1A0_OFFSET;
1760 *reg -= (((PINCTRL_ROCKCHIP_THIRTYONE - pin_num) / RV1126_PULL_PINS_PER_REG + PINCTRL_ROCKCHIP_ONE) *
1767 *reg = RV1126_PULL_PMU_OFFSET;
1769 *reg = RV1126_PULL_GRF_GPIO1A0_OFFSET;
1771 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RV1126_PULL_BANK_STRIDE;
1774 *reg += ((pin_num / RV1126_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1785 static void rv1126_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1794 *reg = RV1126_DRV_GRF_GPIO1A0_OFFSET;
1795 *reg -= (((PINCTRL_ROCKCHIP_THIRTYONE - pin_num) / RV1126_DRV_PINS_PER_REG + PINCTRL_ROCKCHIP_ONE) *
1797 *reg -= 0x4;
1803 *reg = RV1126_DRV_PMU_OFFSET;
1806 *reg = RV1126_DRV_GRF_GPIO1A0_OFFSET;
1807 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RV1126_DRV_BANK_STRIDE;
1810 *reg += ((pin_num / RV1126_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1822 int *reg, u8 *bit)
1830 *reg = RV1126_SCHMITT_GRF_GPIO1A0_OFFSET;
1831 *reg -= (((PINCTRL_ROCKCHIP_THIRTYONE - pin_num) / RV1126_SCHMITT_PINS_PER_GRF_REG + PINCTRL_ROCKCHIP_ONE) *
1837 *reg = RV1126_SCHMITT_PMU_OFFSET;
1841 *reg = RV1126_SCHMITT_GRF_GPIO1A0_OFFSET;
1843 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RV1126_SCHMITT_BANK_STRIDE;
1845 *reg += ((pin_num / pins_per_reg) * PINCTRL_ROCKCHIP_FOUR);
1856 int *reg, u8 *bit)
1861 *reg = RK3308_SCHMITT_GRF_OFFSET;
1863 *reg += bank->bank_num * RK3308_SCHMITT_BANK_STRIDE;
1864 *reg += ((pin_num / RK3308_SCHMITT_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1876 static void rk1808_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1883 *reg = RK1808_PULL_PMU_OFFSET;
1885 *reg = RK1808_PULL_GRF_OFFSET;
1887 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK1808_PULL_BANK_STRIDE;
1890 *reg += ((pin_num / RK1808_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1901 static void rk1808_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1908 *reg = RK1808_DRV_PMU_OFFSET;
1911 *reg = RK1808_DRV_GRF_OFFSET;
1912 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK1808_DRV_BANK_STRIDE;
1915 *reg += ((pin_num / RK1808_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1926 int *reg, u8 *bit)
1932 *reg = RK1808_SR_PMU_OFFSET;
1935 *reg = RK1808_SR_GRF_OFFSET;
1936 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK1808_SR_BANK_STRIDE;
1938 *reg += ((pin_num / RK1808_SR_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1950 int *reg, u8 *bit)
1956 *reg = RK1808_SCHMITT_PMU_OFFSET;
1959 *reg = RK1808_SCHMITT_GRF_OFFSET;
1960 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK1808_SCHMITT_BANK_STRIDE;
1962 *reg += ((pin_num / RK1808_SCHMITT_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
1972 static void rk2928_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1978 *reg = RK2928_PULL_OFFSET;
1979 *reg += bank->bank_num * RK2928_PULL_BANK_STRIDE;
1980 *reg += (pin_num / RK2928_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR;
1987 static void rk3128_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
1993 *reg = RK3128_PULL_OFFSET;
1994 *reg += bank->bank_num * RK2928_PULL_BANK_STRIDE;
1995 *reg += ((pin_num / RK2928_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2006 static void rk3188_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2014 *reg = info->regmap_pmu ? RK3188_PULL_PMU_OFFSET : 0;
2015 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2020 *reg = info->regmap_pull ? 0 : RK3188_PULL_OFFSET;
2023 *reg -= PINCTRL_ROCKCHIP_FOUR;
2024 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2025 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2038 static void rk3288_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2046 *reg = RK3188_PULL_PMU_OFFSET;
2048 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2053 *reg = RK3288_PULL_OFFSET;
2056 *reg -= 0x10;
2057 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2058 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2071 static void rk3288_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2079 *reg = RK3288_DRV_PMU_OFFSET;
2081 *reg += ((pin_num / RK3288_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2086 *reg = RK3288_DRV_GRF_OFFSET;
2089 *reg -= 0x10;
2090 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE;
2091 *reg += ((pin_num / RK3288_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2100 static void rk3228_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2106 *reg = RK3228_PULL_OFFSET;
2107 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2108 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2116 static void rk3228_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2122 *reg = RK3228_DRV_GRF_OFFSET;
2123 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE;
2124 *reg += ((pin_num / RK3288_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2132 static void rk3308_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2138 *reg = RK3308_PULL_OFFSET;
2139 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2140 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2148 static void rk3308_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2154 *reg = RK3308_DRV_GRF_OFFSET;
2155 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE;
2156 *reg += ((pin_num / RK3288_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2165 static void rk3368_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2173 *reg = RK3368_PULL_PMU_OFFSET;
2175 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2180 *reg = RK3368_PULL_GRF_OFFSET;
2183 *reg -= 0x10;
2184 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2185 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2195 static void rk3368_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2203 *reg = RK3368_DRV_PMU_OFFSET;
2205 *reg += ((pin_num / RK3288_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2210 *reg = RK3368_DRV_GRF_OFFSET;
2213 *reg -= 0x10;
2214 *reg += bank->bank_num * RK3288_DRV_BANK_STRIDE;
2215 *reg += ((pin_num / RK3288_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2226 static void rk3399_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2234 *reg = RK3399_PULL_PMU_OFFSET;
2236 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2238 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2243 *reg = RK3399_PULL_GRF_OFFSET;
2246 *reg -= 0x20;
2247 *reg += bank->bank_num * RK3188_PULL_BANK_STRIDE;
2248 *reg += ((pin_num / RK3188_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2255 static void rk3399_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2268 *reg = bank->drv[drv_num].offset;
2283 int *reg, u8 *bit)
2289 *reg = RK3568_SR_PMU_OFFSET;
2292 *reg = RK3568_SR_GRF_OFFSET;
2293 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK3568_SR_BANK_STRIDE;
2295 *reg += ((pin_num / RK3568_SR_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2307 static void rk3568_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2314 *reg = RK3568_PULL_PMU_OFFSET;
2315 *reg += bank->bank_num * RK3568_PULL_BANK_STRIDE;
2316 *reg += ((pin_num / RK3568_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2322 *reg = RK3568_PULL_GRF_OFFSET;
2323 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK3568_PULL_BANK_STRIDE;
2324 *reg += ((pin_num / RK3568_PULL_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2337 static void rk3568_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank, int pin_num, struct regmap **regmap, int *reg,
2345 *reg = RK3568_DRV_PMU_OFFSET;
2346 *reg += ((pin_num / RK3568_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2352 *reg = RK3568_DRV_GRF_OFFSET;
2353 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK3568_DRV_BANK_STRIDE;
2354 *reg += ((pin_num / RK3568_DRV_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2386 int reg, ret;
2391 ctrl->drv_calc_reg(bank, pin_num, ®map, ®, &bit);
2406 ret = regmap_read(regmap, reg, &data);
2411 ret = regmap_read(regmap, reg + 0x4, &temp);
2428 reg += PINCTRL_ROCKCHIP_FOUR;
2447 ret = regmap_read(regmap, reg, &data);
2463 int reg, ret, i;
2470 ctrl->drv_calc_reg(bank, pin_num, ®map, ®, &bit);
2516 ret = regmap_update_bits(regmap, reg, rmask, data);
2523 reg += 0x4;
2524 ret = regmap_update_bits(regmap, reg, rmask, temp);
2529 reg += PINCTRL_ROCKCHIP_FOUR;
2553 ret = regmap_update_bits(regmap, reg, rmask, data);
2560 reg = 0x0840;
2562 reg = 0x0844;
2564 reg = 0x0848;
2566 reg = 0x084c;
2568 reg = 0x0850;
2570 reg = 0x0854;
2579 ret = regmap_update_bits(regmap, reg, rmask, data);
2598 int reg, ret, pull_type;
2607 ctrl->pull_calc_reg(bank, pin_num, ®map, ®, &bit);
2609 ret = regmap_read(regmap, reg, &data);
2644 int reg, ret, i, pull_type;
2655 ctrl->pull_calc_reg(bank, pin_num, ®map, ®, &bit);
2664 ret = regmap_write(regmap, reg, data);
2705 ret = regmap_update_bits(regmap, reg, rmask, data);
2721 int *reg, u8 *bit)
2726 *reg = RK3328_SCHMITT_GRF_OFFSET;
2728 *reg += bank->bank_num * RK3328_SCHMITT_BANK_STRIDE;
2729 *reg += ((pin_num / RK3328_SCHMITT_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2742 int *reg, u8 *bit)
2748 *reg = RK3568_SCHMITT_PMUGRF_OFFSET;
2751 *reg = RK3568_SCHMITT_GRF_OFFSET;
2752 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * RK3568_SCHMITT_BANK_STRIDE;
2755 *reg += ((pin_num / RK3568_SCHMITT_PINS_PER_REG) * PINCTRL_ROCKCHIP_FOUR);
2767 int reg, ret;
2771 ret = ctrl->schmitt_calc_reg(bank, pin_num, ®map, ®, &bit);
2776 ret = regmap_read(regmap, reg, &data);
2797 int reg, ret;
2803 ret = ctrl->schmitt_calc_reg(bank, pin_num, ®map, ®, &bit);
2822 return regmap_update_bits(regmap, reg, rmask, data);
2832 int *reg, u8 *bit)
2839 *reg = PX30_SLEW_RATE_PMU_OFFSET;
2843 *reg = PX30_SLEW_RATE_GRF_OFFSET;
2845 *reg += (bank->bank_num - PINCTRL_ROCKCHIP_ONE) * PX30_SLEW_RATE_BANK_STRIDE;
2847 *reg += ((pin_num / pins_per_reg) * PINCTRL_ROCKCHIP_FOUR);
2858 int reg, ret;
2862 ret = ctrl->slew_rate_calc_reg(bank, pin_num, ®map, ®, &bit);
2867 ret = regmap_read(regmap, reg, &data);
2881 int reg, ret;
2887 ret = ctrl->slew_rate_calc_reg(bank, pin_num, ®map, ®, &bit);
2896 return regmap_update_bits(regmap, reg, rmask, data);