| /kernel/linux/linux-5.10/drivers/pinctrl/ |
| D | pinctrl-da9062.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * - add pinmux and pinctrl support (gpio alternate mode) 10 * [1] https://www.dialog-semiconductor.com/sites/default/files/da9062_datasheet_3v6.pdf 17 #include <linux/regmap.h> 26 * the gpio is active low without a vendor specific dt-binding. 34 #define DA9062_PIN_GPO_OD 0x02 /* gpio out open-drain */ 35 #define DA9062_PIN_GPO_PP 0x03 /* gpio out push-pull */ 44 static int da9062_pctl_get_pin_mode(struct da9062_pctl *pctl, in da9062_pctl_get_pin_mode() argument 47 struct regmap *regmap = pctl->da9062->regmap; in da9062_pctl_get_pin_mode() local 50 ret = regmap_read(regmap, DA9062AA_GPIO_0_1 + (offset >> 1), &val); in da9062_pctl_get_pin_mode() [all …]
|
| D | pinctrl-sx150x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * The handling of the 4-bit chips (SX1501/SX1504/SX1507) is untested. 14 #include <linux/regmap.h> 27 #include <linux/pinctrl/pinconf-generic.h> 31 #include "pinctrl-utils.h" 103 struct regmap *regmap; member 361 return -ENOTSUPP; in sx150x_pinctrl_get_group_pins() 374 static bool sx150x_pin_is_oscio(struct sx150x_pinctrl *pctl, unsigned int pin) in sx150x_pin_is_oscio() argument 376 if (pin >= pctl->data->npins) in sx150x_pin_is_oscio() 380 if (pctl->data->model != SX150X_789) in sx150x_pin_is_oscio() [all …]
|
| D | pinctrl-oxnas.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Based on pinctrl-pic32.c 18 #include <linux/pinctrl/pinconf-generic.h> 23 #include <linux/regmap.h> 26 #include "pinctrl-utils.h" 32 /* OX810 Regmap Offsets */ 42 /* OX820 Regmap Offsets */ 88 struct regmap *regmap; member 101 struct oxnas_pinctrl *pctl; member 517 static inline struct oxnas_gpio_bank *pctl_to_bank(struct oxnas_pinctrl *pctl, in pctl_to_bank() argument [all …]
|
| D | pinctrl-axp209.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2016 Maxime Ripard <maxime.ripard@free-electrons.com> 6 * Copyright (C) 2017 Quentin Schulz <quentin.schulz@free-electrons.com> 19 #include <linux/pinctrl/pinconf-generic.h> 23 #include <linux/regmap.h> 63 struct regmap *regmap; member 110 return -EINVAL; in axp20x_gpio_get_reg() 115 return pinctrl_gpio_direction_input(chip->base + offset); in axp20x_gpio_input() 120 struct axp20x_pctl *pctl = gpiochip_get_data(chip); in axp20x_gpio_get() local 124 ret = regmap_read(pctl->regmap, AXP20X_GPIO20_SS, &val); in axp20x_gpio_get() [all …]
|
| D | pinctrl-rk805.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Author: Joseph Chen <chenjh@rock-chips.com> 9 * Based on the pinctrl-as3722 driver 22 #include <linux/pinctrl/pinconf-generic.h> 30 #include "pinctrl-utils.h" 67 struct pinctrl_dev *pctl; member 141 ret = regmap_read(pci->rk808->regmap, pci->pin_cfg[offset].reg, &val); in rk805_gpio_get() 143 dev_err(pci->dev, "get gpio%d value failed\n", offset); in rk805_gpio_get() 147 return !!(val & pci->pin_cfg[offset].val_msk); in rk805_gpio_get() 157 ret = regmap_update_bits(pci->rk808->regmap, in rk805_gpio_set() [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/ |
| D | pinctrl-da9062.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * - add pinmux and pinctrl support (gpio alternate mode) 10 * [1] https://www.dialog-semiconductor.com/sites/default/files/da9062_datasheet_3v6.pdf 18 #include <linux/regmap.h> 27 * the gpio is active low without a vendor specific dt-binding. 35 #define DA9062_PIN_GPO_OD 0x02 /* gpio out open-drain */ 36 #define DA9062_PIN_GPO_PP 0x03 /* gpio out push-pull */ 45 static int da9062_pctl_get_pin_mode(struct da9062_pctl *pctl, in da9062_pctl_get_pin_mode() argument 48 struct regmap *regmap = pctl->da9062->regmap; in da9062_pctl_get_pin_mode() local 51 ret = regmap_read(regmap, DA9062AA_GPIO_0_1 + (offset >> 1), &val); in da9062_pctl_get_pin_mode() [all …]
|
| D | pinctrl-sx150x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * The handling of the 4-bit chips (SX1501/SX1504/SX1507) is untested. 14 #include <linux/regmap.h> 26 #include <linux/pinctrl/pinconf-generic.h> 30 #include "pinctrl-utils.h" 101 struct regmap *regmap; member 359 return -ENOTSUPP; in sx150x_pinctrl_get_group_pins() 372 static bool sx150x_pin_is_oscio(struct sx150x_pinctrl *pctl, unsigned int pin) in sx150x_pin_is_oscio() argument 374 if (pin >= pctl->data->npins) in sx150x_pin_is_oscio() 378 if (pctl->data->model != SX150X_789) in sx150x_pin_is_oscio() [all …]
|
| D | pinctrl-axp209.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2016 Maxime Ripard <maxime.ripard@free-electrons.com> 6 * Copyright (C) 2017 Quentin Schulz <quentin.schulz@free-electrons.com> 19 #include <linux/regmap.h> 23 #include <linux/pinctrl/pinconf-generic.h> 69 struct regmap *regmap; member 124 return -EINVAL; in axp20x_gpio_get_reg() 129 return pinctrl_gpio_direction_input(chip->base + offset); in axp20x_gpio_input() 134 struct axp20x_pctl *pctl = gpiochip_get_data(chip); in axp20x_gpio_get() local 140 ret = regmap_read(pctl->regmap, AXP20X_GPIO3_CTRL, &val); in axp20x_gpio_get() [all …]
|
| D | pinctrl-apple-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * Based on: pinctrl-pistachio.c 13 #include <dt-bindings/pinctrl/apple.h> 24 #include <linux/regmap.h> 29 #include "pinctrl-utils.h" 38 struct regmap *map; 80 /* No locking needed to mask/unmask IRQs as the interrupt mode is per pin-register. */ 81 static void apple_gpio_set_reg(struct apple_gpio_pinctrl *pctl, in apple_gpio_set_reg() argument 84 regmap_update_bits(pctl->map, REG_GPIO(pin), mask, value); in apple_gpio_set_reg() 87 static u32 apple_gpio_get_reg(struct apple_gpio_pinctrl *pctl, in apple_gpio_get_reg() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/pinctrl/mediatek/ |
| D | pinctrl-mtk-common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <linux/pinctrl/pinconf-generic.h> 23 #include <linux/regmap.h> 28 #include <dt-bindings/pinctrl/mt65xx.h> 32 #include "../pinctrl-utils.h" 33 #include "mtk-eint.h" 34 #include "pinctrl-mtk-common.h" 53 static struct regmap *mtk_get_regmap(struct mtk_pinctrl *pctl, in mtk_get_regmap() argument 56 if (pin >= pctl->devdata->type1_start && pin < pctl->devdata->type1_end) in mtk_get_regmap() 57 return pctl->regmap2; in mtk_get_regmap() [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/mediatek/ |
| D | pinctrl-mtk-common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 #include <linux/pinctrl/pinconf-generic.h> 21 #include <linux/regmap.h> 26 #include <dt-bindings/pinctrl/mt65xx.h> 30 #include "../pinctrl-utils.h" 31 #include "mtk-eint.h" 32 #include "pinctrl-mtk-common.h" 50 static struct regmap *mtk_get_regmap(struct mtk_pinctrl *pctl, in mtk_get_regmap() argument 53 if (pin >= pctl->devdata->type1_start && pin < pctl->devdata->type1_end) in mtk_get_regmap() 54 return pctl->regmap2; in mtk_get_regmap() [all …]
|
| /kernel/linux/linux-5.10/drivers/pinctrl/mvebu/ |
| D | pinctrl-mvebu.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 22 #include <linux/regmap.h> 24 #include "pinctrl-mvebu.h" 64 *config = (readl(data->base + off) >> shift) & MVEBU_MPP_MASK; in mvebu_mmio_mpp_ctrl_get() 76 reg = readl(data->base + off) & ~(MVEBU_MPP_MASK << shift); in mvebu_mmio_mpp_ctrl_set() 77 writel(reg | (config << shift), data->base + off); in mvebu_mmio_mpp_ctrl_set() 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/mvebu/ |
| D | pinctrl-mvebu.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 15 #include <linux/regmap.h> 24 #include "pinctrl-mvebu.h" 64 *config = (readl(data->base + off) >> shift) & MVEBU_MPP_MASK; in mvebu_mmio_mpp_ctrl_get() 76 reg = readl(data->base + off) & ~(MVEBU_MPP_MASK << shift); in mvebu_mmio_mpp_ctrl_set() 77 writel(reg | (config << shift), data->base + off); in mvebu_mmio_mpp_ctrl_set() 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/stm32/ |
| D | pinctrl-stm32.c | 1 // SPDX-License-Identifier: GPL-2.0 21 #include <linux/regmap.h> 28 #include <linux/pinctrl/pinconf-generic.h> 35 #include "../pinctrl-utils.h" 36 #include "pinctrl-stm32.h" 114 struct regmap *regmap; member 149 return function - 1; in stm32_gpio_get_alt() 160 bank->pin_backup[offset] &= ~BIT(STM32_GPIO_BKP_VAL); in stm32_gpio_backup_value() 161 bank->pin_backup[offset] |= value << STM32_GPIO_BKP_VAL; in stm32_gpio_backup_value() 167 bank->pin_backup[offset] &= ~(STM32_GPIO_BKP_MODE_MASK | in stm32_gpio_backup_mode() [all …]
|
| /kernel/linux/linux-5.10/drivers/pinctrl/stm32/ |
| D | pinctrl-stm32.c | 1 // SPDX-License-Identifier: GPL-2.0 23 #include <linux/pinctrl/pinconf-generic.h> 27 #include <linux/regmap.h> 33 #include "../pinctrl-utils.h" 34 #include "pinctrl-stm32.h" 110 struct regmap *regmap; member 145 return function - 1; in stm32_gpio_get_alt() 156 bank->pin_backup[offset] &= ~BIT(STM32_GPIO_BKP_VAL); in stm32_gpio_backup_value() 157 bank->pin_backup[offset] |= value << STM32_GPIO_BKP_VAL; in stm32_gpio_backup_value() 163 bank->pin_backup[offset] &= ~(STM32_GPIO_BKP_MODE_MASK | in stm32_gpio_backup_mode() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/pinctrl/ |
| D | pinctrl-mt65xx.txt | 6 - compatible: value should be one of the following. 7 "mediatek,mt2701-pinctrl", compatible with mt2701 pinctrl. 8 "mediatek,mt2712-pinctrl", compatible with mt2712 pinctrl. 9 "mediatek,mt6397-pinctrl", compatible with mt6397 pinctrl. 10 "mediatek,mt7623-pinctrl", compatible with mt7623 pinctrl. 11 "mediatek,mt8127-pinctrl", compatible with mt8127 pinctrl. 12 "mediatek,mt8135-pinctrl", compatible with mt8135 pinctrl. 13 "mediatek,mt8167-pinctrl", compatible with mt8167 pinctrl. 14 "mediatek,mt8173-pinctrl", compatible with mt8173 pinctrl. 15 "mediatek,mt8516-pinctrl", compatible with mt8516 pinctrl. [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/pinctrl/ |
| D | mediatek,mt65xx-pinctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/mediatek,mt65xx-pinctrl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sean Wang <sean.wang@kernel.org> 18 - mediatek,mt2701-pinctrl 19 - mediatek,mt2712-pinctrl 20 - mediatek,mt6397-pinctrl 21 - mediatek,mt7623-pinctrl 22 - mediatek,mt8127-pinctrl [all …]
|
| /kernel/linux/linux-5.10/drivers/pinctrl/ti/ |
| D | pinctrl-ti-iodelay.c | 5 * Copyright (C) 2015-2017 Texas Instruments Incorporated - https://www.ti.com/ 19 #include <linux/pinctrl/pinconf-generic.h> 21 #include <linux/regmap.h> 27 #define DRIVER_NAME "ti-iodelay" 30 * struct ti_iodelay_reg_data - Describes the registers for the iodelay instance 52 * @regmap_config: Regmap configuration for the IODelay region 86 * struct ti_iodelay_reg_values - Computed io_reg configuration values (see TRM) 109 * struct ti_iodelay_cfg - Description of each configuration parameters 121 * struct ti_iodelay_pingroup - Structure that describes one group 124 * @config: pinconf "Config" - currently a dummy value [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/ti/ |
| D | pinctrl-ti-iodelay.c | 5 * Copyright (C) 2015-2017 Texas Instruments Incorporated - https://www.ti.com/ 19 #include <linux/regmap.h> 23 #include <linux/pinctrl/pinconf-generic.h> 30 #define DRIVER_NAME "ti-iodelay" 33 * struct ti_iodelay_reg_data - Describes the registers for the iodelay instance 55 * @regmap_config: Regmap configuration for the IODelay region 89 * struct ti_iodelay_reg_values - Computed io_reg configuration values (see TRM) 112 * struct ti_iodelay_cfg - Description of each configuration parameters 124 * struct ti_iodelay_pingroup - Structure that describes one group 127 * @config: pinconf "Config" - currently a dummy value [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/spear/ |
| D | pinctrl-spear.c | 8 * - U300 Pinctl drivers 9 * - Tegra Pinctl drivers 29 #include "pinctrl-spear.h" 31 #define DRIVER_NAME "spear-pinmux" 42 val = pmx_readl(pmx, muxreg->reg); in muxregs_endisable() 43 val &= ~muxreg->mask; in muxregs_endisable() 46 temp = muxreg->val; in muxregs_endisable() 48 temp = ~muxreg->val; in muxregs_endisable() 50 val |= muxreg->mask & temp; in muxregs_endisable() 51 pmx_writel(pmx, val, muxreg->reg); in muxregs_endisable() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | mt8135.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/clock/mt8135-clk.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/reset/mt8135-resets.h> 12 #include "mt8135-pinfunc.h" 15 #address-cells = <2>; 16 #size-cells = <2>; 18 interrupt-parent = <&sysirq>; 20 cpu-map { [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/mediatek/ |
| D | mt8135.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/clock/mt8135-clk.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/reset/mt8135-resets.h> 12 #include <dt-bindings/pinctrl/mt8135-pinfunc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 18 interrupt-parent = <&sysirq>; 20 cpu-map { [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/freescale/ |
| D | pinctrl-imx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 18 #include <linux/regmap.h> 30 #include "pinctrl-imx.h" 43 for (i = 0; i < pctldev->num_groups; i++) { in imx_pinctrl_find_group_by_name() 45 if (grp && !strcmp(grp->name, name)) in imx_pinctrl_find_group_by_name() 55 seq_printf(s, "%s", dev_name(pctldev->dev)); in imx_pin_dbg_show() 63 const struct imx_pinctrl_soc_info *info = ipctl->info; in imx_dt_node_to_map() 75 grp = imx_pinctrl_find_group_by_name(pctldev, np->name); in imx_dt_node_to_map() 77 dev_err(ipctl->dev, "unable to find group for node %pOFn\n", np); in imx_dt_node_to_map() 78 return -EINVAL; in imx_dt_node_to_map() [all …]
|
| /kernel/linux/linux-5.10/drivers/pinctrl/freescale/ |
| D | pinctrl-imx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 23 #include <linux/regmap.h> 28 #include "pinctrl-imx.h" 41 for (i = 0; i < pctldev->num_groups; i++) { in imx_pinctrl_find_group_by_name() 43 if (grp && !strcmp(grp->name, name)) in imx_pinctrl_find_group_by_name() 53 seq_printf(s, "%s", dev_name(pctldev->dev)); in imx_pin_dbg_show() 61 const struct imx_pinctrl_soc_info *info = ipctl->info; in imx_dt_node_to_map() 73 grp = imx_pinctrl_find_group_by_name(pctldev, np->name); in imx_dt_node_to_map() 75 dev_err(ipctl->dev, "unable to find group for node %pOFn\n", np); in imx_dt_node_to_map() 76 return -EINVAL; in imx_dt_node_to_map() [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/nxp/ |
| D | pinctrl-s32cc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2017-2022 NXP 7 * Copyright 2015-2016 Freescale Semiconductor, Inc. 22 #include <linux/regmap.h> 28 #include "../pinctrl-utils.h" 29 #include "pinctrl-s32.h" 59 struct regmap *map; 85 * @pctl: a pointer to the pinctrl device structure 94 struct pinctrl_dev *pctl; member 109 unsigned int mem_regions = ipctl->info->soc_data->mem_regions; in s32_get_region() [all …]
|