]> git.baikalelectronics.ru Git - kernel.git/commit
gpio: tegra186: Add Tegra194 pin ranges for GG.0 and GG.1
authorThierry Reding <treding@nvidia.com>
Thu, 19 Mar 2020 12:27:31 +0000 (13:27 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 27 Mar 2020 10:38:21 +0000 (11:38 +0100)
commit89b4d51502ac609aec5b3d7b2910482551608a26
treeae7d1569cef7d2d7f74094d8df3ae4730bfe0486
parent930ebb9e00e9325c8bd13ee767c7676df8a29ff1
gpio: tegra186: Add Tegra194 pin ranges for GG.0 and GG.1

The GG.0 and GG.1 GPIOs serve as CLKREQ and RST pins, respectively, for
PCIe controller 5 on Tegra194. When this controller is configured in
endpoint mode, these pins need to be used as GPIOs by the PCIe endpoint
driver. Typically the mode programming of these pins (GPIO vs. SFIO) is
performed by early boot firmware to ensure that the configuration is
consistent.

However, the GG.0 and GG.1 pins are part of a special power partition
that is not enabled during early boot, and hence the early boot firmware
cannot program these pins to be GPIOs (they are SFIO by default). Adding
them as pin ranges for the pin controller allows the pin controller to
be involved when these pins are requested as GPIOs and allows the proper
programming to take place.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20200319122737.3063291-4-thierry.reding@gmail.com
Tested-by: Vidya Sagar <vidyas@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-tegra186.c