pinctrl: meson: add optional region for drive strength
authorJerome Brunet <jbrunet@baylibre.com>
Thu, 17 Jan 2019 10:23:15 +0000 (11:23 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 21 Jan 2019 13:50:20 +0000 (14:50 +0100)
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>
drivers/pinctrl/meson/pinctrl-meson.c
drivers/pinctrl/meson/pinctrl-meson.h

index a4ae1ac..96a4a72 100644 (file)
@@ -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;
 }
 
index eff61ea..5eaab92 100644 (file)
@@ -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;
 };