docs: group the GPIO_* flags into logical groups.

Aesthetical changes to the documentation about GPIO flags - group
them together, add some headers, some minor markup and wording
modifications.

Signed-off-by: Iván Sánchez Ortega <ivan@sanchezortega.es>
diff --git a/include/gpio.h b/include/gpio.h
index f8db0d8..e2458e7 100644
--- a/include/gpio.h
+++ b/include/gpio.h
@@ -36,6 +36,12 @@
 #define GPIO_ACCESS_BY_PORT 1
 /** @endcond */
 
+/**
+ * @name GPIO direction flags
+ * The `GPIO_DIR_*` flags are used with `gpio_pin_configure` or `gpio_port_configure`,
+ * to specify whether a GPIO pin will be used for input or output.
+ * @{
+ */
 /** GPIO pin to be input. */
 #define GPIO_DIR_IN		(0 << 0)
 
@@ -45,7 +51,14 @@
 /** @cond INTERNAL_HIDDEN */
 #define GPIO_DIR_MASK		0x1
 /** @endcond */
+/** @} */
 
+/**
+ * @name GPIO interrupt flags
+ * The `GPIO_INT_*` flags are used with `gpio_pin_configure` or `gpio_port_configure`,
+ * to specify how input GPIO pins will trigger interrupts.
+ * @{
+ */
 /** GPIO pin to trigger interrupt. */
 #define GPIO_INT		(1 << 1)
 
@@ -69,11 +82,14 @@
 
 /** Interrupt triggers on both rising and falling edge. */
 #define GPIO_INT_DOUBLE_EDGE	(1 << 6)
+/** @} */
 
-/*
- * GPIO_POL_* define the polarity of the GPIO (1 bit).
+/**
+ * @name GPIO polarity flags
+ * The `GPIO_POL_*` flags are used with `gpio_pin_configure` or `gpio_port_configure`,
+ * to specify the polarity of a GPIO pin.
+ * @{
  */
-
 /** @cond INTERNAL_HIDDEN */
 #define GPIO_POL_POS		7
 /** @endcond */
@@ -87,16 +103,20 @@
 /** @cond INTERNAL_HIDDEN */
 #define GPIO_POL_MASK		(1 << GPIO_POL_POS)
 /** @endcond */
+/** @} */
 
-/*
- * GPIO_PUD_* are related to pull-up/pull-down.
+
+/**
+ * @name GPIO pull flags
+ * The `GPIO_PUD_*` flags are used with `gpio_pin_configure` or `gpio_port_configure`,
+ * to specify the pull-up or pull-down electrical configuration of a GPIO pin.
+ * @{
  */
-
 /** @cond INTERNAL_HIDDEN */
 #define GPIO_PUD_POS		8
 /** @endcond */
 
-/** GPIO pin to have no pull-up or pull-down. */
+/** Pin is neither pull-up nor pull-down. */
 #define GPIO_PUD_NORMAL		(0 << GPIO_PUD_POS)
 
 /** Enable GPIO pin pull-up. */
@@ -108,39 +128,49 @@
 /** @cond INTERNAL_HIDDEN */
 #define GPIO_PUD_MASK		(3 << GPIO_PUD_POS)
 /** @endcond */
+/** @} */
 
-/** Deprecated, do not use - Enable GPIO pin. */
+/**
+ * @deprecated
+ * Deprecated. Formerly used to enable a GPIO pin.
+ */
 #define GPIO_PIN_ENABLE		(0 __DEPRECATED_MACRO)
 
-/** Deprecated, do not use - Disable GPIO pin. */
+/**
+ * @deprecated
+ * Deprecated. Formerly used to disable a GPIO pin.
+ */
 #define GPIO_PIN_DISABLE	(0 __DEPRECATED_MACRO)
 
-/* GPIO_DS_* are for pin drive strength configuration.
+/**
+ * @name GPIO drive strength flags
+ * The `GPIO_DS_*` flags are used with `gpio_pin_configure` or `gpio_port_configure`,
+ * to specify the drive strength configuration of a GPIO pin.
  *
  * The drive strength of individual pins can be configured
  * independently for when the pin output is low and high.
  *
- * The GPIO_DS_*_LOW enumerations define the drive strength of a pin
+ * The `GPIO_DS_*_LOW` enumerations define the drive strength of a pin
  * when output is low.
 
- * The GPIO_DS_*_HIGH enumerations define the drive strength of a pin
+ * The `GPIO_DS_*_HIGH` enumerations define the drive strength of a pin
  * when output is high.
  *
- * The DISCONNECT drive strength indicates that the pin is placed in a
+ * The `DISCONNECT` drive strength indicates that the pin is placed in a
  * high impedance state and not driven, this option is used to
  * configure hardware that supports a open collector drive mode.
  *
  * The interface supports two different drive strengths:
- * DFLT - The lowest drive strength supported by the HW
- * ALT - The highest drive strength supported by the HW
+ * `DFLT` - The lowest drive strength supported by the HW
+ * `ALT` - The highest drive strength supported by the HW
  *
  * On hardware that supports only one standard drive strength, both
- * DFLT and ALT have the same behavior.
+ * `DFLT` and `ALT` have the same behavior.
  *
- * On hardware that does not support a disconnect mode, DISCONNECT
- * will behave the same as DFLT.
+ * On hardware that does not support a disconnect mode, `DISCONNECT`
+ * will behave the same as `DFLT`.
+ * @{
  */
-
 /** @cond INTERNAL_HIDDEN */
 #define GPIO_DS_LOW_POS 12
 #define GPIO_DS_LOW_MASK (0x3 << GPIO_DS_LOW_POS)
@@ -182,6 +212,7 @@
  * drive strength.
  */
 #define GPIO_DS_DISCONNECT_HIGH (0x3 << GPIO_DS_HIGH_POS)
+/** @} */
 
 struct gpio_callback;