10b11dbf7SMasahiro Yamada# 20b11dbf7SMasahiro Yamada# GPIO infrastructure and drivers 30b11dbf7SMasahiro Yamada# 40b11dbf7SMasahiro Yamada 50b11dbf7SMasahiro Yamadamenu "GPIO Support" 60b11dbf7SMasahiro Yamada 7da333ae7SMasahiro Yamadaconfig DM_GPIO 8da333ae7SMasahiro Yamada bool "Enable Driver Model for GPIO drivers" 9da333ae7SMasahiro Yamada depends on DM 10da333ae7SMasahiro Yamada help 11f94a1bedSSimon Glass Enable driver model for GPIO access. The standard GPIO 12f94a1bedSSimon Glass interface (gpio_get_value(), etc.) is then implemented by 13f94a1bedSSimon Glass the GPIO uclass. Drivers provide methods to query the 14f94a1bedSSimon Glass particular GPIOs that they provide. The uclass interface 15f94a1bedSSimon Glass is defined in include/asm-generic/gpio.h. 16606f7047SAlbert ARIBAUD \(3ADEV\) 17e30a70c2SMarek Vasutconfig DWAPB_GPIO 18e30a70c2SMarek Vasut bool "DWAPB GPIO driver" 19e30a70c2SMarek Vasut depends on DM && DM_GPIO 20e30a70c2SMarek Vasut default n 21e30a70c2SMarek Vasut help 22e30a70c2SMarek Vasut Support for the Designware APB GPIO driver. 23e30a70c2SMarek Vasut 24606f7047SAlbert ARIBAUD \(3ADEV\)config LPC32XX_GPIO 25606f7047SAlbert ARIBAUD \(3ADEV\) bool "LPC32XX GPIO driver" 26606f7047SAlbert ARIBAUD \(3ADEV\) depends on DM 27606f7047SAlbert ARIBAUD \(3ADEV\) default n 28606f7047SAlbert ARIBAUD \(3ADEV\) help 29606f7047SAlbert ARIBAUD \(3ADEV\) Support for the LPC32XX GPIO driver. 30d79c50afSSimon Glass 31*1f8f7730SSimon Glassconfig ROCKCHIP_GPIO 32*1f8f7730SSimon Glass bool "Rockchip GPIO driver" 33*1f8f7730SSimon Glass depends on DM_GPIO 34*1f8f7730SSimon Glass help 35*1f8f7730SSimon Glass Support GPIO access on Rockchip SoCs. The GPIOs are arranged into 36*1f8f7730SSimon Glass a number of banks (different for each SoC type) each with 32 GPIOs. 37*1f8f7730SSimon Glass The GPIOs for a device are defined in the device tree with one node 38*1f8f7730SSimon Glass for each bank. 39*1f8f7730SSimon Glass 40d79c50afSSimon Glassconfig SANDBOX_GPIO 41d79c50afSSimon Glass bool "Enable sandbox GPIO driver" 42d79c50afSSimon Glass depends on SANDBOX && DM && DM_GPIO 43d79c50afSSimon Glass help 44d79c50afSSimon Glass This driver supports some simulated GPIOs which can be adjusted 45d79c50afSSimon Glass using 'back door' functions like sandbox_gpio_set_value(). Then the 46d79c50afSSimon Glass GPIOs can be inspected through the normal get_get_value() 47d79c50afSSimon Glass interface. The purpose of this is to allow GPIOs to be used as 48d79c50afSSimon Glass normal in sandbox, perhaps with test code actually driving the 49d79c50afSSimon Glass behaviour of those GPIOs. 50d79c50afSSimon Glass 51d79c50afSSimon Glassconfig SANDBOX_GPIO_COUNT 52d79c50afSSimon Glass int "Number of sandbox GPIOs" 53d79c50afSSimon Glass depends on SANDBOX_GPIO 54d79c50afSSimon Glass default 128 55d79c50afSSimon Glass help 56d79c50afSSimon Glass The sandbox driver can support any number of GPIOs. Generally these 57d79c50afSSimon Glass are specified using the device tree. But you can also have a number 58d79c50afSSimon Glass of 'anonymous' GPIOs that do not belong to any device or bank. 59d79c50afSSimon Glass Select a suitable value depending on your needs. 60d348a943SBhuvanchandra DV 61d348a943SBhuvanchandra DVconfig VYBRID_GPIO 62d348a943SBhuvanchandra DV bool "Vybrid GPIO driver" 63d348a943SBhuvanchandra DV depends on DM 64d348a943SBhuvanchandra DV default n 65d348a943SBhuvanchandra DV help 66d348a943SBhuvanchandra DV Say yes here to support Vybrid vf610 GPIOs. 670b11dbf7SMasahiro Yamada 680b11dbf7SMasahiro Yamadaendmenu 69