#include <dm.h>
#include <linux/io.h>
#include <linux/err.h>
+#include <linux/kernel.h>
#include <linux/sizes.h>
#include <dm/pinctrl.h>
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
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);
- }
- }
+ /* Set all bits instead of having a bunch of pin data */
+ writel(U32_MAX, priv->base + UNIPHIER_PINCTRL_IECTRL);
return 0;
}
#include "pinctrl-uniphier.h"
-static const struct uniphier_pinctrl_pin uniphier_ld4_pins[] = {
- UNIPHIER_PINCTRL_PIN(53, 0),
- UNIPHIER_PINCTRL_PIN(54, 0),
- UNIPHIER_PINCTRL_PIN(55, 0),
- UNIPHIER_PINCTRL_PIN(56, 0),
- UNIPHIER_PINCTRL_PIN(67, 0),
- UNIPHIER_PINCTRL_PIN(68, 0),
- UNIPHIER_PINCTRL_PIN(69, 0),
- UNIPHIER_PINCTRL_PIN(70, 0),
- UNIPHIER_PINCTRL_PIN(85, 0),
- UNIPHIER_PINCTRL_PIN(88, 0),
- UNIPHIER_PINCTRL_PIN(156, 0),
-};
-
static const unsigned emmc_pins[] = {21, 22, 23, 24, 25, 26, 27};
static const int emmc_muxvals[] = {0, 1, 1, 1, 1, 1, 1};
static const unsigned emmc_dat8_pins[] = {28, 29, 30, 31};
};
static struct uniphier_pinctrl_socdata uniphier_ld4_pinctrl_socdata = {
- .pins = uniphier_ld4_pins,
- .pins_count = ARRAY_SIZE(uniphier_ld4_pins),
.groups = uniphier_ld4_groups,
.groups_count = ARRAY_SIZE(uniphier_ld4_groups),
.functions = uniphier_ld4_functions,
#include "pinctrl-uniphier.h"
-static const struct uniphier_pinctrl_pin uniphier_pro4_pins[] = {
-};
-
static const unsigned emmc_pins[] = {40, 41, 42, 43, 51, 52, 53};
static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1};
static const unsigned emmc_dat8_pins[] = {44, 45, 46, 47};
};
static struct uniphier_pinctrl_socdata uniphier_pro4_pinctrl_socdata = {
- .pins = uniphier_pro4_pins,
- .pins_count = ARRAY_SIZE(uniphier_pro4_pins),
.groups = uniphier_pro4_groups,
.groups_count = ARRAY_SIZE(uniphier_pro4_groups),
.functions = uniphier_pro4_functions,
#include "pinctrl-uniphier.h"
-static const struct uniphier_pinctrl_pin uniphier_pro5_pins[] = {
- UNIPHIER_PINCTRL_PIN(47, 0),
- UNIPHIER_PINCTRL_PIN(48, 0),
- UNIPHIER_PINCTRL_PIN(49, 0),
- UNIPHIER_PINCTRL_PIN(50, 0),
- UNIPHIER_PINCTRL_PIN(53, 0),
- UNIPHIER_PINCTRL_PIN(54, 0),
- UNIPHIER_PINCTRL_PIN(87, 0),
- UNIPHIER_PINCTRL_PIN(88, 0),
- UNIPHIER_PINCTRL_PIN(101, 0),
- UNIPHIER_PINCTRL_PIN(102, 0),
-};
-
static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42};
static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0};
static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46};
};
static struct uniphier_pinctrl_socdata uniphier_pro5_pinctrl_socdata = {
- .pins = uniphier_pro5_pins,
- .pins_count = ARRAY_SIZE(uniphier_pro5_pins),
.groups = uniphier_pro5_groups,
.groups_count = ARRAY_SIZE(uniphier_pro5_groups),
.functions = uniphier_pro5_functions,
#include "pinctrl-uniphier.h"
-static const struct uniphier_pinctrl_pin uniphier_pxs2_pins[] = {
- UNIPHIER_PINCTRL_PIN(113, 0),
- UNIPHIER_PINCTRL_PIN(114, 0),
- UNIPHIER_PINCTRL_PIN(115, 0),
- UNIPHIER_PINCTRL_PIN(116, 0),
-};
-
static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42};
static const int emmc_muxvals[] = {9, 9, 9, 9, 9, 9, 9};
static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46};
};
static struct uniphier_pinctrl_socdata uniphier_pxs2_pinctrl_socdata = {
- .pins = uniphier_pxs2_pins,
- .pins_count = ARRAY_SIZE(uniphier_pxs2_pins),
.groups = uniphier_pxs2_groups,
.groups_count = ARRAY_SIZE(uniphier_pxs2_groups),
.functions = uniphier_pxs2_functions,
#include "pinctrl-uniphier.h"
-static const struct uniphier_pinctrl_pin uniphier_sld8_pins[] = {
- UNIPHIER_PINCTRL_PIN(32, 8),
- UNIPHIER_PINCTRL_PIN(33, 8),
- UNIPHIER_PINCTRL_PIN(34, 8),
- UNIPHIER_PINCTRL_PIN(35, 8),
- UNIPHIER_PINCTRL_PIN(36, 8),
- UNIPHIER_PINCTRL_PIN(37, 8),
- UNIPHIER_PINCTRL_PIN(38, 8),
- UNIPHIER_PINCTRL_PIN(39, 8),
- UNIPHIER_PINCTRL_PIN(40, 9),
- UNIPHIER_PINCTRL_PIN(41, 0),
- UNIPHIER_PINCTRL_PIN(42, 0),
- UNIPHIER_PINCTRL_PIN(43, 0),
- UNIPHIER_PINCTRL_PIN(44, 0),
- UNIPHIER_PINCTRL_PIN(70, 0),
- UNIPHIER_PINCTRL_PIN(71, 0),
- UNIPHIER_PINCTRL_PIN(102, 10),
- UNIPHIER_PINCTRL_PIN(103, 10),
- UNIPHIER_PINCTRL_PIN(104, 11),
- UNIPHIER_PINCTRL_PIN(105, 11),
- UNIPHIER_PINCTRL_PIN(108, 13),
- UNIPHIER_PINCTRL_PIN(109, 13),
- UNIPHIER_PINCTRL_PIN(112, 0),
- UNIPHIER_PINCTRL_PIN(113, 0),
- UNIPHIER_PINCTRL_PIN(114, 0),
- UNIPHIER_PINCTRL_PIN(115, 0),
-};
-
static const unsigned emmc_pins[] = {21, 22, 23, 24, 25, 26, 27};
static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1};
static const unsigned emmc_dat8_pins[] = {28, 29, 30, 31};
};
static struct uniphier_pinctrl_socdata uniphier_sld8_pinctrl_socdata = {
- .pins = uniphier_sld8_pins,
- .pins_count = ARRAY_SIZE(uniphier_sld8_pins),
.groups = uniphier_sld8_groups,
.groups_count = ARRAY_SIZE(uniphier_sld8_groups),
.functions = uniphier_sld8_functions,