summaryrefslogtreecommitdiff
path: root/src/include/gpio.h
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-06-29 10:47:22 -0700
committerDuncan Laurie <dlaurie@chromium.org>2016-07-02 01:18:53 +0200
commit5b6c28c43dee455b643e13d7f0debd79835a5f50 (patch)
tree03651a1be906565bd9b00457e936f612db4361bf /src/include/gpio.h
parentd48d5a626b02e28ab6949263dad85abe92f9214c (diff)
downloadcoreboot-5b6c28c43dee455b643e13d7f0debd79835a5f50.tar.xz
gpio: Add support for translating gpio_t into ACPI pin
Add a function for an SOC to define that will allow it to map the SOC-specific gpio_t value into an appropriate ACPI pin. The exact behavior depends on the GPIO implementation in the SOC, but it can be used to provide a pin number that is relative to the community or bank that a GPIO resides in. Change-Id: Icb97ccf7d6a9034877614d49166bc9e4fe659bcf Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://review.coreboot.org/15512 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/include/gpio.h')
-rw-r--r--src/include/gpio.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/gpio.h b/src/include/gpio.h
index 3f462df295..69a0828f58 100644
--- a/src/include/gpio.h
+++ b/src/include/gpio.h
@@ -41,6 +41,16 @@ int _gpio_base3_value(gpio_t gpio[], int num_gpio, int binary_first);
const char *gpio_acpi_path(gpio_t gpio);
/*
+ * This function may be implemented by SoC/board code to provide
+ * a mapping from the internal representation of a GPIO to the 16bit
+ * value used in an ACPI GPIO pin table entry.
+ *
+ * If not implemented by the SOC the default handler will return 0
+ * because the underlying type of gpio_t is unknown.
+ */
+uint16_t gpio_acpi_pin(gpio_t gpio);
+
+/*
* Read the value presented by the set of GPIOs, when each pin is interpreted
* as a base-2 digit (LOW = 0, HIGH = 1).
*