| /linux/drivers/pinctrl/sunxi/ |
| H A D | pinctrl-sunxi.c | 66 static u32 sunxi_bank_offset(const struct sunxi_pinctrl *pctl, u32 pin) in sunxi_bank_offset() argument 75 return offset + (pin / PINS_PER_BANK) * pctl->bank_mem_size; in sunxi_bank_offset() 78 static void sunxi_mux_reg(const struct sunxi_pinctrl *pctl, in sunxi_mux_reg() argument 83 *reg = sunxi_bank_offset(pctl, pin) + MUX_REGS_OFFSET + in sunxi_mux_reg() 89 static void sunxi_data_reg(const struct sunxi_pinctrl *pctl, in sunxi_data_reg() argument 94 *reg = sunxi_bank_offset(pctl, pin) + DATA_REGS_OFFSET + in sunxi_data_reg() 100 static void sunxi_dlevel_reg(const struct sunxi_pinctrl *pctl, in sunxi_dlevel_reg() argument 103 u32 offset = pin % PINS_PER_BANK * pctl->dlevel_field_width; in sunxi_dlevel_reg() 105 *reg = sunxi_bank_offset(pctl, pin) + DLEVEL_REGS_OFFSET + in sunxi_dlevel_reg() 108 *mask = (BIT(pctl->dlevel_field_width) - 1) << *shift; in sunxi_dlevel_reg() [all …]
|
| /linux/drivers/pinctrl/ |
| H A D | pinctrl-axp209.c | 129 struct axp20x_pctl *pctl = gpiochip_get_data(chip); in axp20x_gpio_get() local 135 ret = regmap_read(pctl->regmap, AXP20X_GPIO3_CTRL, &val); in axp20x_gpio_get() 141 ret = regmap_read(pctl->regmap, AXP20X_GPIO20_SS, &val); in axp20x_gpio_get() 145 return !!(val & BIT(offset + pctl->desc->gpio_status_offset)); in axp20x_gpio_get() 151 struct axp20x_pctl *pctl = gpiochip_get_data(chip); in axp20x_gpio_get_direction() local 157 ret = regmap_read(pctl->regmap, AXP20X_GPIO3_CTRL, &val); in axp20x_gpio_get_direction() 170 ret = regmap_read(pctl->regmap, reg, &val); in axp20x_gpio_get_direction() 201 struct axp20x_pctl *pctl = gpiochip_get_data(chip); in axp20x_gpio_set() local 206 return regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL, in axp20x_gpio_set() 216 return regmap_update_bits(pctl->regmap, reg, AXP20X_GPIO_FUNCTIONS, in axp20x_gpio_set() [all …]
|
| H A D | pinctrl-da9062.c | 40 static int da9062_pctl_get_pin_mode(struct da9062_pctl *pctl, in da9062_pctl_get_pin_mode() argument 43 struct regmap *regmap = pctl->da9062->regmap; in da9062_pctl_get_pin_mode() 56 static int da9062_pctl_set_pin_mode(struct da9062_pctl *pctl, in da9062_pctl_set_pin_mode() argument 59 struct regmap *regmap = pctl->da9062->regmap; in da9062_pctl_set_pin_mode() 71 pctl->pin_config[offset] = mode_req; in da9062_pctl_set_pin_mode() 78 struct da9062_pctl *pctl = gpiochip_get_data(gc); in da9062_gpio_get() local 79 struct regmap *regmap = pctl->da9062->regmap; in da9062_gpio_get() 83 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset); in da9062_gpio_get() 108 struct da9062_pctl *pctl = gpiochip_get_data(gc); in da9062_gpio_set() local 109 struct regmap *regmap = pctl->da9062->regmap; in da9062_gpio_set() [all …]
|
| H A D | pinctrl-pistachio.c | 95 struct pistachio_pinctrl *pctl; member 832 static inline u32 pctl_readl(struct pistachio_pinctrl *pctl, u32 reg) in pctl_readl() argument 834 return readl(pctl->base + reg); in pctl_readl() 837 static inline void pctl_writel(struct pistachio_pinctrl *pctl, u32 val, u32 reg) in pctl_writel() argument 839 writel(val, pctl->base + reg); in pctl_writel() 882 struct pistachio_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in pistachio_pinctrl_get_groups_count() local 884 return pctl->ngroups; in pistachio_pinctrl_get_groups_count() 890 struct pistachio_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in pistachio_pinctrl_get_group_name() local 892 return pctl->groups[group].name; in pistachio_pinctrl_get_group_name() 900 struct pistachio_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); in pistachio_pinctrl_get_group_pins() local [all …]
|
| H A D | pinctrl-tb10x.c | 470 * @pctl: pointer to the pinctrl_dev structure of this pin controller. 481 struct pinctrl_dev *pctl; member 515 static int tb10x_get_groups_count(struct pinctrl_dev *pctl) in tb10x_get_groups_count() argument 517 struct tb10x_pinctrl *state = pinctrl_dev_get_drvdata(pctl); in tb10x_get_groups_count() 521 static const char *tb10x_get_group_name(struct pinctrl_dev *pctl, unsigned n) in tb10x_get_group_name() argument 523 struct tb10x_pinctrl *state = pinctrl_dev_get_drvdata(pctl); in tb10x_get_group_name() 527 static int tb10x_get_group_pins(struct pinctrl_dev *pctl, unsigned n, in tb10x_get_group_pins() argument 531 struct tb10x_pinctrl *state = pinctrl_dev_get_drvdata(pctl); in tb10x_get_group_pins() 539 static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl, in tb10x_dt_node_to_map() argument 556 ret = pinctrl_utils_reserve_map(pctl, map, &reserved_maps, in tb10x_dt_node_to_map() [all …]
|
| H A D | pinctrl-k230.c | 68 struct pinctrl_desc pctl; member 592 struct pinctrl_desc *pctl; in k230_pinctrl_probe() local 599 pctl = &info->pctl; in k230_pinctrl_probe() 601 pctl->name = "k230-pinctrl"; in k230_pinctrl_probe() 602 pctl->owner = THIS_MODULE; in k230_pinctrl_probe() 603 pctl->pins = k230_pins; in k230_pinctrl_probe() 604 pctl->npins = ARRAY_SIZE(k230_pins); in k230_pinctrl_probe() 605 pctl->pctlops = &k230_pctrl_ops; in k230_pinctrl_probe() 606 pctl->pmxops = &k230_pmxops; in k230_pinctrl_probe() 607 pctl->confops = &k230_pinconf_ops; in k230_pinctrl_probe() [all …]
|
| H A D | pinctrl-mlxbf3.c | 30 struct pinctrl_dev *pctl; member 276 &priv->pctl); in mlxbf3_pinctrl_probe() 280 ret = pinctrl_enable(priv->pctl); in mlxbf3_pinctrl_probe() 284 pinctrl_add_gpio_ranges(priv->pctl, mlxbf3_pinctrl_gpio_ranges, 2); in mlxbf3_pinctrl_probe()
|
| H A D | pinctrl-digicolor.c | 43 struct pinctrl_dev *pctl; member 324 pmap->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, pmap); in dc_pinctrl_probe() 325 if (IS_ERR(pmap->pctl)) { in dc_pinctrl_probe() 327 return PTR_ERR(pmap->pctl); in dc_pinctrl_probe()
|
| H A D | pinctrl-th1520.c | 61 struct pinctrl_dev *pctl; member 441 dev_err(thp->pctl->dev, "no pins selected for %pOFn.%pOFn\n", in th1520_pinctrl_dt_node_to_map() 467 dev_err(thp->pctl->dev, "%pOFn.%pOFn: error parsing pin config\n", in th1520_pinctrl_dt_node_to_map() 475 dev_err(thp->pctl->dev, "%pOFn.%pOFn: unknown function '%s'\n", in th1520_pinctrl_dt_node_to_map() 481 funcname = devm_kasprintf(thp->pctl->dev, GFP_KERNEL, "%pOFn.%pOFn", in th1520_pinctrl_dt_node_to_map() 489 pgnames = devm_kcalloc(thp->pctl->dev, npins, sizeof(*pgnames), GFP_KERNEL); in th1520_pinctrl_dt_node_to_map() 508 dev_err(thp->pctl->dev, "%pOFn.%pOFn: unknown pin '%s'\n", in th1520_pinctrl_dt_node_to_map() 534 dev_err(thp->pctl->dev, "error adding function %s\n", funcname); in th1520_pinctrl_dt_node_to_map() 785 dev_err(thp->pctl->dev, "invalid mux %s for pin %s\n", in th1520_pinmux_set() 786 th1520_muxtype_string[muxtype], pin_get_name(thp->pctl, pin)); in th1520_pinmux_set() [all …]
|
| /linux/drivers/pinctrl/mvebu/ |
| H A D | pinctrl-mvebu.c | 83 struct mvebu_pinctrl *pctl, unsigned pid) in mvebu_pinctrl_find_group_by_pid() argument 86 for (n = 0; n < pctl->num_groups; n++) { in mvebu_pinctrl_find_group_by_pid() 87 if (pid >= pctl->groups[n].pins[0] && in mvebu_pinctrl_find_group_by_pid() 88 pid < pctl->groups[n].pins[0] + in mvebu_pinctrl_find_group_by_pid() 89 pctl->groups[n].npins) in mvebu_pinctrl_find_group_by_pid() 90 return &pctl->groups[n]; in mvebu_pinctrl_find_group_by_pid() 96 struct mvebu_pinctrl *pctl, const char *name) in mvebu_pinctrl_find_group_by_name() argument 100 for (n = 0; n < pctl->num_groups; n++) { in mvebu_pinctrl_find_group_by_name() 101 if (strcmp(name, pctl->groups[n].name) == 0) in mvebu_pinctrl_find_group_by_name() 102 return &pctl->groups[n]; in mvebu_pinctrl_find_group_by_name() [all …]
|
| /linux/drivers/pinctrl/stm32/ |
| H A D | pinctrl-stm32.c | 355 struct stm32_pinctrl *pctl = dev_get_drvdata(bank->gpio_chip.parent); in stm32_gpio_request() local 359 range = pinctrl_find_gpio_range_from_pin_nolock(pctl->pctl_dev, pin); in stm32_gpio_request() 361 dev_err(pctl->dev, "pin %d not in range.\n", pin); in stm32_gpio_request() 366 dev_err(pctl->dev, "pin %d not available.\n", offset); in stm32_gpio_request() 447 struct stm32_pinctrl *pctl = dev_get_drvdata(bank->gpio_chip.parent); in stm32_gpio_init_valid_mask() local 461 dev_dbg(pctl->dev, "No access to gpio %d - %d\n", bank->bank_nr, i); in stm32_gpio_init_valid_mask() 474 dev_dbg(pctl->dev, "RIF semaphore ownership conflict, GPIO %u", i); in stm32_gpio_init_valid_mask() 546 struct stm32_pinctrl *pctl = dev_get_drvdata(bank->gpio_chip.parent); in stm32_gpio_irq_request_resources() local 555 dev_err(pctl->dev, "unable to lock HW IRQ %lu for IRQ\n", in stm32_gpio_irq_request_resources() 607 struct stm32_pinctrl *pctl = dev_get_drvdata(bank->gpio_chip.parent); in stm32_gpio_domain_activate() local [all …]
|
| /linux/fs/xfs/ |
| H A D | xfs_pwork.c | 42 struct xfs_pwork_ctl *pctl; in xfs_pwork_work() local 46 pctl = pwork->pctl; in xfs_pwork_work() 47 error = pctl->work_fn(pctl->mp, pwork); in xfs_pwork_work() 48 if (error && !pctl->error) in xfs_pwork_work() 49 pctl->error = error; in xfs_pwork_work() 50 if (atomic_dec_and_test(&pctl->nr_work)) in xfs_pwork_work() 51 wake_up(&pctl->poll_wait); in xfs_pwork_work() 62 struct xfs_pwork_ctl *pctl, in xfs_pwork_init() argument 74 pctl->wq = alloc_workqueue("%s-%d", in xfs_pwork_init() 77 if (!pctl->wq) in xfs_pwork_init() [all …]
|
| H A D | xfs_pwork.h | 32 struct xfs_pwork_ctl *pctl; member 35 #define XFS_PWORK_SINGLE_THREADED { .pctl = NULL } 40 struct xfs_pwork_ctl *pctl) in xfs_pwork_ctl_want_abort() argument 42 return pctl && pctl->error; in xfs_pwork_ctl_want_abort() 50 return xfs_pwork_ctl_want_abort(pwork->pctl); in xfs_pwork_want_abort() 53 int xfs_pwork_init(struct xfs_mount *mp, struct xfs_pwork_ctl *pctl, 55 void xfs_pwork_queue(struct xfs_pwork_ctl *pctl, struct xfs_pwork *pwork); 56 int xfs_pwork_destroy(struct xfs_pwork_ctl *pctl); 57 void xfs_pwork_poll(struct xfs_pwork_ctl *pctl);
|
| /linux/arch/arc/boot/dts/ |
| H A D | abilis_tb101.dtsi | 31 pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */ 34 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */ 37 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ 40 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */ 44 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */ 47 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */ 50 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ 53 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */ 57 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */ 60 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */ [all …]
|
| H A D | abilis_tb100.dtsi | 31 pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */ 34 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */ 37 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ 40 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */ 44 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */ 47 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */ 50 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ 53 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */ 57 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */ 60 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */ [all …]
|
| /linux/arch/mips/include/asm/octeon/ |
| H A D | cvmx-asxx-defs.h | 226 uint64_t pctl:5; member 230 uint64_t pctl:5; 237 uint64_t pctl:4; member 241 uint64_t pctl:4; 252 uint64_t pctl:4; member 256 uint64_t pctl:4; 306 uint64_t pctl:5; member 308 uint64_t pctl:5; 319 uint64_t pctl:5; member 321 uint64_t pctl:5; [all …]
|
| /linux/arch/alpha/kernel/ |
| H A D | core_titan.c | 237 union TPAchipPCTL pctl; in titan_query_agp() local 240 pctl.pctl_q_whole = port->pctl.csr; in titan_query_agp() 242 return pctl.pctl_r_bits.apctl_v_agp_present; in titan_query_agp() 341 port->pctl.csr |= pctl_m_mwin; in titan_init_one_pachip_port() 643 union TPAchipPCTL pctl; in titan_agp_configure() local 645 pctl.pctl_q_whole = port->pctl.csr; in titan_agp_configure() 648 pctl.pctl_r_bits.apctl_v_agp_sba_en = agp->mode.bits.sba; in titan_agp_configure() 651 pctl.pctl_r_bits.apctl_v_agp_rate = 0; /* 1x */ in titan_agp_configure() 653 pctl.pctl_r_bits.apctl_v_agp_rate = 1; /* 2x */ in titan_agp_configure() 656 pctl.pctl_r_bits.apctl_v_agp_rate = 2; /* 4x */ in titan_agp_configure() [all …]
|
| /linux/sound/soc/ |
| H A D | soc-ac97.c | 27 struct pinctrl *pctl; member 273 struct pinctrl *pctl = snd_ac97_rst_cfg.pctl; in snd_soc_ac97_warm_reset() local 275 pinctrl_select_state(pctl, snd_ac97_rst_cfg.pstate_warm_reset); in snd_soc_ac97_warm_reset() 283 pinctrl_select_state(pctl, snd_ac97_rst_cfg.pstate_run); in snd_soc_ac97_warm_reset() 289 struct pinctrl *pctl = snd_ac97_rst_cfg.pctl; in snd_soc_ac97_reset() local 291 pinctrl_select_state(pctl, snd_ac97_rst_cfg.pstate_reset); in snd_soc_ac97_reset() 301 pinctrl_select_state(pctl, snd_ac97_rst_cfg.pstate_run); in snd_soc_ac97_reset() 316 cfg->pctl = p; in snd_soc_ac97_parse_pinctl()
|
| /linux/drivers/phy/qualcomm/ |
| H A D | phy-qcom-usb-hsic.c | 20 struct pinctrl *pctl; member 56 pins_default = pinctrl_lookup_state(uphy->pctl, PINCTRL_STATE_DEFAULT); in qcom_usb_hsic_phy_power_on() 62 ret = pinctrl_select_state(uphy->pctl, pins_default); in qcom_usb_hsic_phy_power_on() 116 uphy->pctl = devm_pinctrl_get(&ulpi->dev); in qcom_usb_hsic_phy_probe() 117 if (IS_ERR(uphy->pctl)) in qcom_usb_hsic_phy_probe() 118 return PTR_ERR(uphy->pctl); in qcom_usb_hsic_phy_probe()
|
| /linux/arch/arm/boot/dts/sunplus/ |
| H A D | sunplus-sp7021.dtsi | 75 pctl: pinctrl@100 { label 76 compatible = "sunplus,sp7021-pctl"; 200 cs-gpios = <&pctl 26 GPIO_ACTIVE_LOW>, 201 <&pctl 28 GPIO_ACTIVE_LOW>; 302 gpios = <&pctl 0 GPIO_ACTIVE_HIGH>;
|
| /linux/Documentation/devicetree/bindings/pinctrl/ |
| H A D | abilis,tb10x-iomux.txt | 55 pctl_gpio_a: pctl-gpio-a { 58 pctl_uart0: pctl-uart0 {
|
| /linux/drivers/pinctrl/mediatek/ |
| H A D | pinctrl-mtk-common-v2.c | 48 static void mtk_w32(struct mtk_pinctrl *pctl, u8 i, u32 reg, u32 val) in mtk_w32() argument 50 writel_relaxed(val, pctl->base[i] + reg); in mtk_w32() 53 static u32 mtk_r32(struct mtk_pinctrl *pctl, u8 i, u32 reg) in mtk_r32() argument 55 return readl_relaxed(pctl->base[i] + reg); in mtk_r32() 58 void mtk_rmw(struct mtk_pinctrl *pctl, u8 i, u32 reg, u32 mask, u32 set) in mtk_rmw() argument 63 spin_lock_irqsave(&pctl->lock, flags); in mtk_rmw() 65 val = mtk_r32(pctl, i, reg); in mtk_rmw() 68 mtk_w32(pctl, i, reg, val); in mtk_rmw() 70 spin_unlock_irqrestore(&pctl->lock, flags); in mtk_rmw() 419 hw->eint->pctl = hw; in mtk_build_eint()
|
| H A D | mtk-eint.c | 114 curr_level = eint->gpio_xlate->get_gpio_state(eint->pctl, hwirq); in mtk_eint_flip_edge() 124 curr_level = eint->gpio_xlate->get_gpio_state(eint->pctl, in mtk_eint_flip_edge() 271 err = eint->gpio_xlate->get_gpio_n(eint->pctl, d->hwirq, in mtk_eint_irq_request_resources() 285 err = eint->gpio_xlate->set_gpio_as_eint(eint->pctl, d->hwirq); in mtk_eint_irq_request_resources() 300 eint->gpio_xlate->get_gpio_n(eint->pctl, d->hwirq, &gpio_n, in mtk_eint_irq_release_resources() 398 eint->gpio_xlate->get_gpio_state(eint->pctl, in mtk_eint_irq_handler()
|
| /linux/drivers/pinctrl/nxp/ |
| H A D | pinctrl-s32cc.c | 90 * @pctl: a pointer to the pinctrl device structure 99 struct pinctrl_dev *pctl; member 682 const struct pin_desc *pd = pin_desc_get(ipctl->pctl, pin); in s32_pinctrl_should_save() 714 ret = s32_regmap_read(ipctl->pctl, pin->number, &config); in s32_pinctrl_suspend() 739 ret = s32_regmap_write(ipctl->pctl, pin->number, in s32_pinctrl_resume() 973 ipctl->pctl = devm_pinctrl_register(&pdev->dev, s32_pinctrl_desc, in s32_pinctrl_probe() 975 if (IS_ERR(ipctl->pctl)) in s32_pinctrl_probe() 976 return dev_err_probe(&pdev->dev, PTR_ERR(ipctl->pctl), in s32_pinctrl_probe()
|
| /linux/arch/arm/boot/dts/mediatek/ |
| H A D | mt8135.dtsi | 154 mediatek,pctl-regmap = <&syscfg_pctl_a &syscfg_pctl_b>; 165 compatible = "mediatek,mt8135-pctl-a-syscfg", "syscon"; 207 compatible = "mediatek,mt8135-pctl-b-syscfg", "syscon";
|