summaryrefslogtreecommitdiff
path: root/include/gpio.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gpio.h')
-rw-r--r--include/gpio.h98
1 files changed, 48 insertions, 50 deletions
diff --git a/include/gpio.h b/include/gpio.h
index 4d827eb3cc..54464d1bfb 100644
--- a/include/gpio.h
+++ b/include/gpio.h
@@ -1,4 +1,4 @@
-/* Copyright 2012 The Chromium OS Authors. All rights reserved.
+/* Copyright 2012 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -57,14 +57,14 @@
* Map the legacy EC GPIO flags to the Zephyr equivalent.
* Refer to the descriptions below.
*/
-#define GPIO_FLAG_NONE GPIO_DISCONNECTED
+#define GPIO_FLAG_NONE GPIO_DISCONNECTED
/* GPIO_ANALOG not supported by Zephyr */
/* GPIO_OPEN_DRAIN already defined by Zephyr */
/* GPIO_DEFAULT not supported by Zephyr */
/* GPIO_PULL_UP already defined by Zephyr */
/* GPIO_PULL_DOWN already defined by Zephyr */
-#define GPIO_LOW GPIO_OUTPUT_INIT_LOW
-#define GPIO_HIGH GPIO_OUTPUT_INIT_HIGH
+#define GPIO_LOW GPIO_OUTPUT_INIT_LOW
+#define GPIO_HIGH GPIO_OUTPUT_INIT_HIGH
/* GPIO_INPUT already defined by Zephyr */
/* GPIO_OUTPUT already defined by Zephyr */
@@ -72,14 +72,14 @@
* One to one mapping of interrupt flags isn't possible. So map these
* flags to not conflict with any Zephyr flags.
*/
-#define GPIO_INT_F_RISING BIT(28)
+#define GPIO_INT_F_RISING BIT(28)
#define GPIO_INT_F_FALLING BIT(29)
-#define GPIO_INT_F_LOW BIT(30)
-#define GPIO_INT_F_HIGH BIT(31)
+#define GPIO_INT_F_LOW BIT(30)
+#define GPIO_INT_F_HIGH BIT(31)
/* GPIO_INT_DSLEEP not supported by Zephyr */
/* GPIO_INT_SHARED not supported by Zephyr */
-#define GPIO_SEL_1P8V GPIO_VOLTAGE_1P8
+#define GPIO_SEL_1P8V GPIO_VOLTAGE_1P8
/* GPIO_ALTERNATE not supported by Zephyr */
/* GPIO_LOCKED not supported by Zephyr */
/* GPIO_HIB_WAKE_HIGH not supported by Zephyr */
@@ -98,51 +98,52 @@
* GPIO_PULL_DOWN
* GPIO_PULL_ANALOG
*/
-#define GPIO_FLAG_NONE 0 /* No flag needed, default setting */
-#define GPIO_ANALOG BIT(0) /* Set pin to analog-mode */
-#define GPIO_OPEN_DRAIN (BIT(1) | BIT(2)) /* Output type is open-drain */
-#define GPIO_DEFAULT BIT(3) /* Don't set up on boot */
-#define GPIO_PULL_UP BIT(4) /* Enable on-chip pullup */
-#define GPIO_PULL_DOWN BIT(5) /* Enable on-chip pulldown */
-#define GPIO_LOW BIT(6) /* If GPIO_OUTPUT, set level low */
-#define GPIO_HIGH BIT(7) /* If GPIO_OUTPUT, set level high */
-#define GPIO_INPUT BIT(8) /* Input */
-#define GPIO_OUTPUT BIT(9) /* Output */
-#define GPIO_INT_F_RISING BIT(10) /* Interrupt on rising edge */
+#define GPIO_FLAG_NONE 0 /* No flag needed, default setting */
+#define GPIO_ANALOG BIT(0) /* Set pin to analog-mode */
+#define GPIO_OPEN_DRAIN (BIT(1) | BIT(2)) /* Output type is open-drain */
+#define GPIO_DEFAULT BIT(3) /* Don't set up on boot */
+#define GPIO_PULL_UP BIT(4) /* Enable on-chip pullup */
+#define GPIO_PULL_DOWN BIT(5) /* Enable on-chip pulldown */
+#define GPIO_LOW BIT(6) /* If GPIO_OUTPUT, set level low */
+#define GPIO_HIGH BIT(7) /* If GPIO_OUTPUT, set level high */
+#define GPIO_INPUT BIT(8) /* Input */
+#define GPIO_OUTPUT BIT(9) /* Output */
+#define GPIO_INT_F_RISING BIT(10) /* Interrupt on rising edge */
#define GPIO_INT_F_FALLING BIT(11) /* Interrupt on falling edge */
-#define GPIO_INT_F_LOW BIT(12) /* Interrupt on low level */
-#define GPIO_INT_F_HIGH BIT(13) /* Interrupt on high level */
-#define GPIO_INT_DSLEEP BIT(14) /* Interrupt in deep sleep */
-#define GPIO_INT_SHARED BIT(15) /* Shared among multiple pins */
-#define GPIO_SEL_1P8V BIT(16) /* Support 1.8v */
-#define GPIO_ALTERNATE BIT(17) /* GPIO used for alternate function. */
-#define GPIO_LOCKED BIT(18) /* Lock GPIO output and configuration */
-#define GPIO_HIB_WAKE_HIGH BIT(19) /* Hibernate wake on high level */
-#define GPIO_HIB_WAKE_LOW BIT(20) /* Hibernate wake on low level */
-#define GPIO_HIB_WAKE_RISING BIT(21) /* Hibernate wake on rising edge */
+#define GPIO_INT_F_LOW BIT(12) /* Interrupt on low level */
+#define GPIO_INT_F_HIGH BIT(13) /* Interrupt on high level */
+#define GPIO_INT_DSLEEP BIT(14) /* Interrupt in deep sleep */
+#define GPIO_INT_SHARED BIT(15) /* Shared among multiple pins */
+#define GPIO_SEL_1P8V BIT(16) /* Support 1.8v */
+#define GPIO_ALTERNATE BIT(17) /* GPIO used for alternate function. */
+#define GPIO_LOCKED BIT(18) /* Lock GPIO output and configuration */
+#define GPIO_HIB_WAKE_HIGH BIT(19) /* Hibernate wake on high level */
+#define GPIO_HIB_WAKE_LOW BIT(20) /* Hibernate wake on low level */
+#define GPIO_HIB_WAKE_RISING BIT(21) /* Hibernate wake on rising edge */
#define GPIO_HIB_WAKE_FALLING BIT(22) /* Hibernate wake on falling edge */
#ifdef CONFIG_GPIO_POWER_DOWN
-#define GPIO_POWER_DOWN BIT(23) /* Pin and pad is powered off */
+#define GPIO_POWER_DOWN BIT(23) /* Pin and pad is powered off */
#endif
#endif /* CONFIG_ZEPHYR */
/* Common flag combinations */
-#define GPIO_OUT_LOW (GPIO_OUTPUT | GPIO_LOW)
-#define GPIO_OUT_HIGH (GPIO_OUTPUT | GPIO_HIGH)
-#define GPIO_ODR_HIGH (GPIO_OUTPUT | GPIO_OPEN_DRAIN | GPIO_HIGH)
-#define GPIO_ODR_LOW (GPIO_OUTPUT | GPIO_OPEN_DRAIN | GPIO_LOW)
-#define GPIO_INT_RISING (GPIO_INPUT | GPIO_INT_F_RISING)
-#define GPIO_INT_FALLING (GPIO_INPUT | GPIO_INT_F_FALLING)
+#define GPIO_OUT_LOW (GPIO_OUTPUT | GPIO_LOW)
+#define GPIO_OUT_HIGH (GPIO_OUTPUT | GPIO_HIGH)
+#define GPIO_ODR_HIGH (GPIO_OUTPUT | GPIO_OPEN_DRAIN | GPIO_HIGH)
+#define GPIO_ODR_LOW (GPIO_OUTPUT | GPIO_OPEN_DRAIN | GPIO_LOW)
+#define GPIO_INT_RISING (GPIO_INPUT | GPIO_INT_F_RISING)
+#define GPIO_INT_FALLING (GPIO_INPUT | GPIO_INT_F_FALLING)
/* TODO(crosbug.com/p/24204): "EDGE" would have been clearer than "BOTH". */
-#define GPIO_INT_BOTH (GPIO_INT_RISING | GPIO_INT_FALLING)
-#define GPIO_INT_LOW (GPIO_INPUT | GPIO_INT_F_LOW)
-#define GPIO_INT_HIGH (GPIO_INPUT | GPIO_INT_F_HIGH)
-#define GPIO_INT_LEVEL (GPIO_INT_LOW | GPIO_INT_HIGH)
-#define GPIO_INT_ANY (GPIO_INT_BOTH | GPIO_INT_LEVEL)
+#define GPIO_INT_BOTH (GPIO_INT_RISING | GPIO_INT_FALLING)
+#define GPIO_INT_LOW (GPIO_INPUT | GPIO_INT_F_LOW)
+#define GPIO_INT_HIGH (GPIO_INPUT | GPIO_INT_F_HIGH)
+#define GPIO_INT_LEVEL (GPIO_INT_LOW | GPIO_INT_HIGH)
+#define GPIO_INT_ANY (GPIO_INT_BOTH | GPIO_INT_LEVEL)
#define GPIO_INT_BOTH_DSLEEP (GPIO_INT_BOTH | GPIO_INT_DSLEEP)
-#define GPIO_HIB_WAKE_MASK (GPIO_HIB_WAKE_HIGH | GPIO_HIB_WAKE_LOW | \
- GPIO_HIB_WAKE_RISING|GPIO_HIB_WAKE_FALLING)
+#define GPIO_HIB_WAKE_MASK \
+ (GPIO_HIB_WAKE_HIGH | GPIO_HIB_WAKE_LOW | GPIO_HIB_WAKE_RISING | \
+ GPIO_HIB_WAKE_FALLING)
/* Convert GPIO mask to GPIO number / index. */
#define GPIO_MASK_TO_NUM(mask) (__fls(mask))
@@ -151,9 +152,7 @@
* some boards and unit tests don't have a gpio_signal enum defined, so we
* define an emtpy one here.*/
#ifndef __CROS_EC_GPIO_SIGNAL_H
-enum gpio_signal {
- GPIO_COUNT
-};
+enum gpio_signal { GPIO_COUNT };
#endif /* __CROS_EC_GPIO_SIGNAL_H */
/* Alternate functions for GPIOs */
@@ -207,7 +206,7 @@ extern const int unused_pin_count;
* If the signal's interrupt is enabled, this will be called in the
* context of the GPIO interrupt handler.
*/
-extern void (* const gpio_irq_handlers[])(enum gpio_signal signal);
+extern void (*const gpio_irq_handlers[])(enum gpio_signal signal);
extern const int gpio_ih_count;
#define GPIO_IH_COUNT gpio_ih_count
@@ -440,7 +439,6 @@ int gpio_clear_pending_interrupt(enum gpio_signal signal);
*/
void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags);
-
/**
* Set alternate function for GPIO(s).
*
@@ -454,7 +452,7 @@ void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags);
* the specified GPIOs for normal GPIO operation.
*/
void gpio_set_alternate_function(uint32_t port, uint32_t mask,
- enum gpio_alternate_func func);
+ enum gpio_alternate_func func);
#ifdef CONFIG_GPIO_POWER_DOWN
/**
@@ -486,4 +484,4 @@ int signal_is_gpio(int signal);
*/
void gpio_set_wakepin(enum gpio_signal signal, uint32_t flags);
-#endif /* __CROS_EC_GPIO_H */
+#endif /* __CROS_EC_GPIO_H */