^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Samsung GPIO implementation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) This outlines the Samsung GPIO implementation and the architecture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) specific calls provided alongside the drivers/gpio core.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) S3C24XX (Legacy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) ----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) See Documentation/arm/samsung-s3c24xx/gpio.rst for more information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) about these devices. Their implementation has been brought into line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) with the core samsung implementation described in this document.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) GPIOLIB integration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) -------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) The gpio implementation uses gpiolib as much as possible, only providing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) specific calls for the items that require Samsung specific handling, such
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) as pin special-function or pull resistor control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) GPIO numbering is synchronised between the Samsung and gpiolib system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) PIN configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Pin configuration is specific to the Samsung architecture, with each SoC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) registering the necessary information for the core gpio configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) implementation to configure pins as necessary.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) The s3c_gpio_cfgpin() and s3c_gpio_setpull() provide the means for a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) driver or machine to change gpio configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) See arch/arm/plat-samsung/include/plat/gpio-cfg.h for more information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) on these functions.