pinctrl: uniphier: simplify input enable and delete pin arrays

The pin data are implemented for old SoCs to specify the bit shift of
the IECTRL register.  They are not wortwhile given the required memory
footprint.  Delete all the pin data and enable all bits of the IECTRL
register.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
master
Masahiro Yamada 7 years ago
parent c906032c04
commit f73cfb4d0d
  1. 17
      drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
  2. 16
      drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
  3. 5
      drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
  4. 15
      drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
  5. 9
      drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
  6. 30
      drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c

@ -9,6 +9,7 @@
#include <dm.h>
#include <linux/io.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/sizes.h>
#include <dm/pinctrl.h>
@ -81,9 +82,6 @@ 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
@ -92,17 +90,8 @@ static int uniphier_pinconf_input_enable_legacy(struct udevice *dev,
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;
}

@ -11,20 +11,6 @@
#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};
@ -132,8 +118,6 @@ static const char * const uniphier_ld4_functions[] = {
};
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,

@ -11,9 +11,6 @@
#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};
@ -151,8 +148,6 @@ static const char * const uniphier_pro4_functions[] = {
};
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,

@ -11,19 +11,6 @@
#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};
@ -142,8 +129,6 @@ static const char * const uniphier_pro5_functions[] = {
};
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,

@ -11,13 +11,6 @@
#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};
@ -135,8 +128,6 @@ static const char * const uniphier_pxs2_functions[] = {
};
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,

@ -11,34 +11,6 @@
#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};
@ -143,8 +115,6 @@ static const char * const uniphier_sld8_functions[] = {
};
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,

Loading…
Cancel
Save