blob: f6e27b07c9939faa5cd1f0326ebc7b7645354402 [file] [log] [blame]
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -03001===========================
2Samsung GPIO implementation
3===========================
Ben Dooksd192bae2010-05-24 12:13:30 +09004
5Introduction
6------------
7
8This outlines the Samsung GPIO implementation and the architecture
Sylwester Nawrocki98025c82012-09-07 06:40:29 +09009specific calls provided alongside the drivers/gpio core.
Ben Dooksd192bae2010-05-24 12:13:30 +090010
11
12S3C24XX (Legacy)
13----------------
14
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030015See Documentation/arm/samsung-s3c24xx/gpio.rst for more information
Sylwester Nawrocki98025c82012-09-07 06:40:29 +090016about these devices. Their implementation has been brought into line
Ben Dooksd192bae2010-05-24 12:13:30 +090017with the core samsung implementation described in this document.
18
19
20GPIOLIB integration
21-------------------
22
23The gpio implementation uses gpiolib as much as possible, only providing
24specific calls for the items that require Samsung specific handling, such
25as pin special-function or pull resistor control.
26
27GPIO numbering is synchronised between the Samsung and gpiolib system.
28
29
30PIN configuration
31-----------------
32
Sylwester Nawrocki98025c82012-09-07 06:40:29 +090033Pin configuration is specific to the Samsung architecture, with each SoC
Ben Dooksd192bae2010-05-24 12:13:30 +090034registering the necessary information for the core gpio configuration
35implementation to configure pins as necessary.
36
37The s3c_gpio_cfgpin() and s3c_gpio_setpull() provide the means for a
38driver or machine to change gpio configuration.
39
Krzysztof Kozlowski0f129992020-09-11 16:33:41 +020040See arch/arm/mach-s3c/gpio-cfg.h for more information on these functions.