aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/meson
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2019-01-17 11:23:15 +0100
committerLinus Walleij <linus.walleij@linaro.org>2019-01-21 14:50:20 +0100
commit64856974a36178a0b2a1081d4cf3e8c9dd72fc44 (patch)
tree20f07e686eb816730e9f3e257ef519bcea15bec9 /drivers/pinctrl/meson
parentpinctrl: meson: fix G12A ao pull registers base address (diff)
downloadlinux-dev-64856974a36178a0b2a1081d4cf3e8c9dd72fc44.tar.xz
linux-dev-64856974a36178a0b2a1081d4cf3e8c9dd72fc44.zip
pinctrl: meson: add optional region for drive strength
On the G12a, there is a new 'region' to handle the drive-strength. This is optional since the older do not have this. Fixes: 29ae0952e85f ("pinctrl: meson-g12a: add pinctrl driver support") Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/meson')
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.c6
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index a4ae1ac5369e..96a4a72708e4 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -507,6 +507,12 @@ static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc,
if (IS_ERR(pc->reg_pullen))
pc->reg_pullen = pc->reg_pull;
+ pc->reg_ds = meson_map_resource(pc, gpio_np, "ds");
+ if (IS_ERR(pc->reg_ds)) {
+ dev_dbg(pc->dev, "ds registers not found - skipping\n");
+ pc->reg_ds = NULL;
+ }
+
return 0;
}
diff --git a/drivers/pinctrl/meson/pinctrl-meson.h b/drivers/pinctrl/meson/pinctrl-meson.h
index eff61ea1c67e..5eaab925f427 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.h
+++ b/drivers/pinctrl/meson/pinctrl-meson.h
@@ -120,6 +120,7 @@ struct meson_pinctrl {
struct regmap *reg_pullen;
struct regmap *reg_pull;
struct regmap *reg_gpio;
+ struct regmap *reg_ds;
struct gpio_chip chip;
struct device_node *of_node;
};