Lines Matching +full:bcm6368 +full:- +full:pinctrl
1 // SPDX-License-Identifier: GPL-2.0+
3 * Driver for BCM63xx GPIO unit (pinctrl + GPIO)
15 #include "pinctrl-bcm63xx.h"
29 *reg = base - stride * BCM63XX_BANK_SIZE; in bcm63xx_reg_mask_xlate()
36 { .compatible = "brcm,bcm6318-gpio", },
37 { .compatible = "brcm,bcm6328-gpio", },
38 { .compatible = "brcm,bcm6358-gpio", },
39 { .compatible = "brcm,bcm6362-gpio", },
40 { .compatible = "brcm,bcm6368-gpio", },
41 { .compatible = "brcm,bcm63268-gpio", },
52 grc.fwnode = &node->fwnode; in bcm63xx_gpio_probe()
53 grc.ngpio = soc->ngpios; in bcm63xx_gpio_probe()
55 grc.regmap = pc->regs; in bcm63xx_gpio_probe()
68 struct device *dev = &pdev->dev; in bcm63xx_pinctrl_probe()
74 return -ENOMEM; in bcm63xx_pinctrl_probe()
78 pc->dev = dev; in bcm63xx_pinctrl_probe()
79 pc->driver_data = driver_data; in bcm63xx_pinctrl_probe()
81 pc->regs = syscon_node_to_regmap(dev->parent->of_node); in bcm63xx_pinctrl_probe()
82 if (IS_ERR(pc->regs)) in bcm63xx_pinctrl_probe()
83 return PTR_ERR(pc->regs); in bcm63xx_pinctrl_probe()
85 pc->pctl_desc.name = dev_name(dev); in bcm63xx_pinctrl_probe()
86 pc->pctl_desc.pins = soc->pins; in bcm63xx_pinctrl_probe()
87 pc->pctl_desc.npins = soc->npins; in bcm63xx_pinctrl_probe()
88 pc->pctl_desc.pctlops = soc->pctl_ops; in bcm63xx_pinctrl_probe()
89 pc->pctl_desc.pmxops = soc->pmx_ops; in bcm63xx_pinctrl_probe()
90 pc->pctl_desc.owner = THIS_MODULE; in bcm63xx_pinctrl_probe()
92 pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc); in bcm63xx_pinctrl_probe()
93 if (IS_ERR(pc->pctl_dev)) in bcm63xx_pinctrl_probe()
94 return PTR_ERR(pc->pctl_dev); in bcm63xx_pinctrl_probe()
96 for_each_child_of_node_scoped(dev->parent->of_node, node) { in bcm63xx_pinctrl_probe()