[PATCH 1/2] pinctrl: meson: a1: Use gpio regs for ds
Sean Anderson <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
On newer SoCs, the drivestrength registers are included with the rest of the GPIO registers. Linux has a rather complex system that uses a helper function to fix up the registers for each SoC before registering the pinctrl. Instead of that, just fix things up in probe. This silences warnings like meson-s4-pinctrl pinctrl@4000: drive-strength-microamp not supported which I encountered on s4 and which I assume affects a1 as well. Signed-off-by: Sean Anderson <[email protected]> --- drivers/pinctrl/meson/pinctrl-meson-a1.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/meson/pinctrl-meson-a1.c b/drivers/pinctrl/meson/pinctrl-meson-a1.c index 7e9ac6390b1..e9a7522ce50 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-a1.c +++ b/drivers/pinctrl/meson/pinctrl-meson-a1.c @@ -856,11 +856,21 @@ static const struct udevice_id meson_a1_pinctrl_match[] = { { }, }; +static int meson_a1_pinctrl_probe(struct udevice *dev) +{ + struct meson_pinctrl *priv = dev_get_priv(dev); + int ret = meson_pinctrl_probe(dev); + + if (!ret) + priv->reg_ds = priv->reg_gpio; + return ret; +} + U_BOOT_DRIVER(meson_a1_pinctrl) = { .name = "meson-a1-pinctrl", .id = UCLASS_PINCTRL, .of_match = of_match_ptr(meson_a1_pinctrl_match), - .probe = meson_pinctrl_probe, + .probe = meson_a1_pinctrl_probe, .priv_auto = sizeof(struct meson_pinctrl), .ops = &meson_axg_pinctrl_ops, }; --- base-commit: d3e8597e46b635ec556a057bc42f0b0859654bdf branch: s4_pinctrl -- 2.53.0