diff options
author | Mika Westerberg <mika.westerberg@linux.intel.com> | 2016-10-21 17:21:29 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-10-24 16:33:11 +0200 |
commit | 6f7194a10bdba1588357342c6daaaeef98e0004f (patch) | |
tree | 6c68613312a5cd165f8396a48e7e9ac78adea283 /Documentation/acpi | |
parent | 1208c93525f9385354588f74c3db5413bd7781dc (diff) | |
download | linux-6f7194a10bdba1588357342c6daaaeef98e0004f.tar.gz linux-6f7194a10bdba1588357342c6daaaeef98e0004f.tar.bz2 linux-6f7194a10bdba1588357342c6daaaeef98e0004f.zip |
ACPI / gpio: Allow holes in list of GPIOs for a device
Make it possible to have an empty GPIOs in a GPIO list for device. For
example a SPI master may use both GPIOs and native pins as chip selects and
we need to be able to distinguish between the two.
This makes it mandatory to have exactly 3 arguments for GPIOs and then
converts gpiolib to use of __acpi_node_get_property_reference() instead. In
addition we make acpi_gpio_package_count() to handle holes as well (this
matches the DT version).
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'Documentation/acpi')
-rw-r--r-- | Documentation/acpi/gpio-properties.txt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/acpi/gpio-properties.txt b/Documentation/acpi/gpio-properties.txt index 5aafe0b351a1..09cff657b82c 100644 --- a/Documentation/acpi/gpio-properties.txt +++ b/Documentation/acpi/gpio-properties.txt @@ -51,6 +51,21 @@ it to 1 marks the GPIO as active low. In our Bluetooth example the "reset-gpios" refers to the second GpioIo() resource, second pin in that resource with the GPIO number of 31. +It is possible to leave holes in the array of GPIOs. This is useful in +cases like with SPI host controllers where some chip selects may be +implemented as GPIOs and some as native signals. For example a SPI host +controller can have chip selects 0 and 2 implemented as GPIOs and 1 as +native: + + Package () { + "cs-gpios", + Package () { + ^GPIO, 19, 0, 0, // chip select 0: GPIO + 0, // chip select 1: native signal + ^GPIO, 20, 0, 0, // chip select 2: GPIO + } + } + ACPI GPIO Mappings Provided by Drivers -------------------------------------- |