mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 18:34:42 +00:00
acpi: Add more documentation for struct acpi_gpio
Add some documentation provided by Andy Shevchenko to describe how to use struct acpi_gpio. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
49f5141ed3
commit
1e4073b855
1 changed files with 22 additions and 0 deletions
|
@ -170,6 +170,28 @@ enum acpi_gpio_polarity {
|
|||
* @io_shared; true if GPIO is shared
|
||||
* @io_restrict: I/O restriction setting
|
||||
* @polarity: GPIO polarity
|
||||
*
|
||||
* Note that GpioIo doesn't have any means of Active Low / High setting, so a
|
||||
* _DSD must be provided to mitigate this.
|
||||
*
|
||||
* GpioIo doesn't properly communicate the initial state of the output pin,
|
||||
* thus Linux assumes the simple rule:
|
||||
*
|
||||
* Pull Bias Polarity Requested...
|
||||
*
|
||||
* Implicit x AS IS (assumed firmware configured for us)
|
||||
* Explicit x (no _DSD) as Pull Bias (Up == High, Down == Low),
|
||||
* assuming non-active (Polarity = !Pull Bias)
|
||||
*
|
||||
* Down Low as low, assuming active
|
||||
* Down High as high, assuming non-active
|
||||
* Up Low as high, assuming non-active
|
||||
* Up High as high, assuming active
|
||||
*
|
||||
* GpioIo() can be used as interrupt and in this case the IoRestriction mustn't
|
||||
* be OutputOnly. It also requires active_low flag from _DSD in cases where it's
|
||||
* needed (better to always provide than rely on above assumption made on OS
|
||||
* level).
|
||||
*/
|
||||
struct acpi_gpio {
|
||||
int pin_count;
|
||||
|
|
Loading…
Add table
Reference in a new issue