162306a36Sopenharmony_ci===========================
262306a36Sopenharmony_ciSamsung GPIO implementation
362306a36Sopenharmony_ci===========================
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciIntroduction
662306a36Sopenharmony_ci------------
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciThis outlines the Samsung GPIO implementation and the architecture
962306a36Sopenharmony_cispecific calls provided alongside the drivers/gpio core.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciGPIOLIB integration
1362306a36Sopenharmony_ci-------------------
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciThe gpio implementation uses gpiolib as much as possible, only providing
1662306a36Sopenharmony_cispecific calls for the items that require Samsung specific handling, such
1762306a36Sopenharmony_cias pin special-function or pull resistor control.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciGPIO numbering is synchronised between the Samsung and gpiolib system.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciPIN configuration
2362306a36Sopenharmony_ci-----------------
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciPin configuration is specific to the Samsung architecture, with each SoC
2662306a36Sopenharmony_ciregistering the necessary information for the core gpio configuration
2762306a36Sopenharmony_ciimplementation to configure pins as necessary.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciThe s3c_gpio_cfgpin() and s3c_gpio_setpull() provide the means for a
3062306a36Sopenharmony_cidriver or machine to change gpio configuration.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciSee arch/arm/mach-s3c/gpio-cfg.h for more information on these functions.
33