Lines Matching +full:pic64gx +full:- +full:pinctrl +full:- +full:gpio2

1 // SPDX-License-Identifier: GPL-2.0
12 #include <linux/pinctrl/pinconf-generic.h>
13 #include <linux/pinctrl/pinconf.h>
14 #include <linux/pinctrl/pinctrl.h>
15 #include <linux/pinctrl/pinmux.h>
17 #include "pinctrl-utils.h"
220 regmap_read(pctrl->regmap, PIC64GX_PINMUX_REG, &val); in pic64gx_gpio2_pin_dbg_show()
278 struct device *dev = pctrl->dev; in pic64gx_gpio2_pinmux_set_mux()
286 function->name, group->mask, group->setting); in pic64gx_gpio2_pinmux_set_mux()
287 regmap_assign_bits(pctrl->regmap, PIC64GX_PINMUX_REG, group->mask, group->setting); in pic64gx_gpio2_pinmux_set_mux()
301 struct device *dev = &pdev->dev; in pic64gx_gpio2_probe()
307 return -ENOMEM; in pic64gx_gpio2_probe()
315 pctrl->regmap = devm_regmap_init_mmio(dev, base, &pic64gx_gpio2_regmap_config); in pic64gx_gpio2_probe()
316 if (IS_ERR(pctrl->regmap)) { in pic64gx_gpio2_probe()
318 return PTR_ERR(pctrl->regmap); in pic64gx_gpio2_probe()
321 pctrl->desc.name = dev_name(dev); in pic64gx_gpio2_probe()
322 pctrl->desc.pins = pic64gx_gpio2_pins; in pic64gx_gpio2_probe()
323 pctrl->desc.npins = ARRAY_SIZE(pic64gx_gpio2_pins); in pic64gx_gpio2_probe()
324 pctrl->desc.pctlops = &pic64gx_gpio2_pinctrl_ops; in pic64gx_gpio2_probe()
325 pctrl->desc.pmxops = &pic64gx_gpio2_pinmux_ops; in pic64gx_gpio2_probe()
326 pctrl->desc.owner = THIS_MODULE; in pic64gx_gpio2_probe()
328 pctrl->dev = dev; in pic64gx_gpio2_probe()
332 pctrl->pctrl = devm_pinctrl_register(&pdev->dev, &pctrl->desc, pctrl); in pic64gx_gpio2_probe()
333 if (IS_ERR(pctrl->pctrl)) in pic64gx_gpio2_probe()
334 return PTR_ERR(pctrl->pctrl); in pic64gx_gpio2_probe()
340 { .compatible = "microchip,pic64gx-pinctrl-gpio2" },
347 .name = "pic64gx-pinctrl-gpio2",
355 MODULE_DESCRIPTION("pic64gx gpio2 pinctrl driver");