mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge branch 'ib-meson-fixes' into devel
This commit is contained in:
commit
fe4a6485b8
3 changed files with 22 additions and 13 deletions
|
|
@ -31,6 +31,9 @@
|
|||
* In some cases the register ranges for pull enable and pull
|
||||
* direction are the same and thus there are only 3 register ranges.
|
||||
*
|
||||
* Since Meson G12A SoC, the ao register ranges for gpio, pull enable
|
||||
* and pull direction are the same, so there are only 2 register ranges.
|
||||
*
|
||||
* For the pull and GPIO configuration every bank uses a contiguous
|
||||
* set of bits in the register sets described above; the same register
|
||||
* can be shared by more banks with different offsets.
|
||||
|
|
@ -488,21 +491,26 @@ static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc,
|
|||
return PTR_ERR(pc->reg_mux);
|
||||
}
|
||||
|
||||
pc->reg_pull = meson_map_resource(pc, gpio_np, "pull");
|
||||
if (IS_ERR(pc->reg_pull)) {
|
||||
dev_err(pc->dev, "pull registers not found\n");
|
||||
return PTR_ERR(pc->reg_pull);
|
||||
pc->reg_gpio = meson_map_resource(pc, gpio_np, "gpio");
|
||||
if (IS_ERR(pc->reg_gpio)) {
|
||||
dev_err(pc->dev, "gpio registers not found\n");
|
||||
return PTR_ERR(pc->reg_gpio);
|
||||
}
|
||||
|
||||
pc->reg_pull = meson_map_resource(pc, gpio_np, "pull");
|
||||
/* Use gpio region if pull one is not present */
|
||||
if (IS_ERR(pc->reg_pull))
|
||||
pc->reg_pull = pc->reg_gpio;
|
||||
|
||||
pc->reg_pullen = meson_map_resource(pc, gpio_np, "pull-enable");
|
||||
/* Use pull region if pull-enable one is not present */
|
||||
if (IS_ERR(pc->reg_pullen))
|
||||
pc->reg_pullen = pc->reg_pull;
|
||||
|
||||
pc->reg_gpio = meson_map_resource(pc, gpio_np, "gpio");
|
||||
if (IS_ERR(pc->reg_gpio)) {
|
||||
dev_err(pc->dev, "gpio registers not found\n");
|
||||
return PTR_ERR(pc->reg_gpio);
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue