On Thu, Apr 16, 2020 at 02:03:43PM +0200, Linus Walleij wrote: > On Thu, Apr 16, 2020 at 1:36 AM Drew Fustini <drew@xxxxxxxx> wrote: > > > Is there no way for gpio-omap to call into the pinctrl-single backend to > > set the bias bits (PULLUDEN and PULLTYPESEL) in pad control registers? > > Mostly a Tony question I think, but the single pinconf_ops call > pcs_pinconf_set() which is pretty straight-forward. > > Have you tried modifying omap_gpio_set_config() so that > it accepts these configs and just calls down to > gpiochip_generic_config() for anything that is not debounce? > > Yours, > Linus Walleij I did add the plumbing to gpio-omap to call pinctrl_gpio_set_config() when PIN_CONFIG_BIAS_* is set. I added lots of debug printing to pinctrl and determined that the problem was that pinctrl_get_device_gpio_range() would fail. This seems to be the result of there being no gpio-ranges property define in the device tree. This makes sense as currently there is no interaction between gpio and pinctrl subsystems when running on the TI AM3358. Another issue seems to be that the AM3358 device tree is using compatible of "pinctrl-single" [0] and the pinctrl-single binding documentation states this means no pinconf is possible (as opposed to compatible of "pinconf-single"). I did try switching to "pinconf-single" but it failed to boot successfully. I need to troubleshoot more to figure out why that is. But I am uncertain if "pinconf-single" should in theory work for AM3358. Thanks, Drew [0] https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/am33xx-l4.dtsi#L279