Lines Matching defs:pmx
660 struct artpec6_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
684 regval = readl(pmx->base + reg);
687 writel(regval, pmx->base + reg);
695 struct artpec6_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
697 dev_dbg(pmx->dev, "enabling %s function for pin group %s\n",
710 struct artpec6_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
717 val = readl_relaxed(pmx->base + reg);
720 writel_relaxed(val, pmx->base + reg);
736 struct artpec6_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
741 if (pin >= pmx->num_pins) {
742 dev_dbg(pmx->dev, "pinconf is not supported for pin %s\n",
743 pmx->pins[pin].name);
747 dev_dbg(pmx->dev, "getting configuration for pin %s\n",
748 pmx->pins[pin].name);
751 regval = readl(pmx->base + artpec6_pmx_reg_offset(pin));
797 struct artpec6_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
805 if (pin >= pmx->num_pins) {
806 dev_dbg(pmx->dev, "pinconf is not supported for pin %s\n",
807 pmx->pins[pin].name);
811 dev_dbg(pmx->dev, "setting configuration for pin %s\n",
812 pmx->pins[pin].name);
814 reg = pmx->base + artpec6_pmx_reg_offset(pin);
871 dev_dbg(pmx->dev, "parameter not supported\n");
921 static void artpec6_pmx_reset(struct artpec6_pmx *pmx)
923 void __iomem *base = pmx->base;
938 struct artpec6_pmx *pmx;
940 pmx = devm_kzalloc(&pdev->dev, sizeof(*pmx), GFP_KERNEL);
941 if (!pmx)
944 pmx->dev = &pdev->dev;
946 pmx->base = devm_platform_ioremap_resource(pdev, 0);
948 if (IS_ERR(pmx->base))
949 return PTR_ERR(pmx->base);
951 artpec6_pmx_reset(pmx);
953 pmx->pins = artpec6_pins;
954 pmx->num_pins = ARRAY_SIZE(artpec6_pins);
955 pmx->functions = artpec6_pmx_functions;
956 pmx->num_functions = ARRAY_SIZE(artpec6_pmx_functions);
957 pmx->pin_groups = artpec6_pin_groups;
958 pmx->num_pin_groups = ARRAY_SIZE(artpec6_pin_groups);
959 pmx->pctl = pinctrl_register(&artpec6_desc, &pdev->dev, pmx);
961 if (IS_ERR(pmx->pctl)) {
963 return PTR_ERR(pmx->pctl);
966 platform_set_drvdata(pdev, pmx);
975 struct artpec6_pmx *pmx = platform_get_drvdata(pdev);
977 pinctrl_unregister(pmx->pctl);