1*a9c5fff5SDavid Brownell# 2*a9c5fff5SDavid Brownell# GPIO infrastructure and expanders 3*a9c5fff5SDavid Brownell# 4*a9c5fff5SDavid Brownell 5*a9c5fff5SDavid Brownellconfig HAVE_GPIO_LIB 6*a9c5fff5SDavid Brownell bool 7*a9c5fff5SDavid Brownell help 8*a9c5fff5SDavid Brownell Platforms select gpiolib if they use this infrastructure 9*a9c5fff5SDavid Brownell for all their GPIOs, usually starting with ones integrated 10*a9c5fff5SDavid Brownell into SOC processors. 11*a9c5fff5SDavid Brownell 12*a9c5fff5SDavid Brownellmenu "GPIO Support" 13*a9c5fff5SDavid Brownell depends on HAVE_GPIO_LIB 14*a9c5fff5SDavid Brownell 15*a9c5fff5SDavid Brownellconfig DEBUG_GPIO 16*a9c5fff5SDavid Brownell bool "Debug GPIO calls" 17*a9c5fff5SDavid Brownell depends on DEBUG_KERNEL 18*a9c5fff5SDavid Brownell help 19*a9c5fff5SDavid Brownell Say Y here to add some extra checks and diagnostics to GPIO calls. 20*a9c5fff5SDavid Brownell The checks help ensure that GPIOs have been properly initialized 21*a9c5fff5SDavid Brownell before they are used and that sleeping calls aren not made from 22*a9c5fff5SDavid Brownell nonsleeping contexts. They can make bitbanged serial protocols 23*a9c5fff5SDavid Brownell slower. The diagnostics help catch the type of setup errors 24*a9c5fff5SDavid Brownell that are most common when setting up new platforms or boards. 25*a9c5fff5SDavid Brownell 26*a9c5fff5SDavid Brownell# put expanders in the right section, in alphabetical order 27*a9c5fff5SDavid Brownell 28*a9c5fff5SDavid Brownellcomment "I2C GPIO expanders:" 29*a9c5fff5SDavid Brownell 30*a9c5fff5SDavid Brownellcomment "SPI GPIO expanders:" 31*a9c5fff5SDavid Brownell 32*a9c5fff5SDavid Brownellendmenu 33