static int uniphier_pinconf_input_enable_legacy(struct udevice *dev, unsigned int pin, int enable) { struct uniphier_pinctrl_priv *priv = dev_get_priv(dev); int pins_count = priv->socdata->pins_count; const struct uniphier_pinctrl_pin *pins = priv->socdata->pins; int i; /* * Multiple pins share one input enable, per-pin disabling is * impossible. */ if (!enable) return -EINVAL; for (i = 0; i < pins_count; i++) { if (pins[i].number == pin) { unsigned int iectrl; u32 tmp; iectrl = uniphier_pin_get_iectrl(pins[i].data); tmp = readl(priv->base + UNIPHIER_PINCTRL_IECTRL); tmp |= 1 << iectrl; writel(tmp, priv->base + UNIPHIER_PINCTRL_IECTRL); } } return 0; }
static void uniphier_pinconf_input_enable(struct udevice *dev, unsigned pin) { struct uniphier_pinctrl_priv *priv = dev_get_priv(dev); int pins_count = priv->socdata->pins_count; const struct uniphier_pinctrl_pin *pins = priv->socdata->pins; int i; for (i = 0; i < pins_count; i++) { if (pins[i].number == pin) { unsigned int iectrl; u32 tmp; iectrl = uniphier_pin_get_iectrl(pins[i].data); tmp = readl(priv->base + UNIPHIER_PINCTRL_IECTRL); tmp |= 1 << iectrl; writel(tmp, priv->base + UNIPHIER_PINCTRL_IECTRL); } } }