On Thu, Mar 12, 2020 at 1:43 PM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > Do we have a datasheet for this GPIO block somewhere? Should > be the datasheet for the ASIC. I am looking at the AM335x reference manual [0] but I can not actually find any references to pull-up/down or bias for GPIO pins. I guess I was making of the mistake of assuming this would be something the gpio pins support. > We already have the required .set_config() callback on the OMAP > driver, it's just that it only uses it for debounce. > > The driver is a bit convoluted with register offsets in a struct > omap_gpio_reg_offs depending on variant, but if they have > a register for this I'd say just get hacking. > > If the GPIO driver is using pin control as back-end you are > looking at something more complex similar to what Intel is > doing inside drivers/pinctrl/intel/pinctrl-intel.c: this driver > is just calling up to gpiochip_generic_config() which will > try to configure the lines behind the GPIO using pin config, > which works if the proper ranges are defined so the > framework can map a GPIO line to a pin control pin. Thank you for the feedback, Linus. Upon further review of drivers/pinctrl/pinctrl-single.c, I am not certain it actually supports pull-up/down. I see there is pcs_pinconf_clear_bias() and pcs_pinconf_bias_disable() but I don't see a place where the PIN_CONFIG_BIAS_PULL_DOWN or PIN_CONFIG_BIAS_PULL_UP get set. I'll have to look at that some more before I go back to thinking about how to integrate into gpio-omap. Thanks, Drew [0] http://www.ti.com/lit/ug/spruh73q/spruh73q.pdf