From 9908287d901988232e5ac29f555153c210a9d2e9 Mon Sep 17 00:00:00 2001 From: Woo Date: Thu, 11 Apr 2024 14:17:49 -0500 Subject: [PATCH] fix(PeriphDrivers): Clarify GPIO drive strength enum documentation --- .../PeriphDrivers/Include/MAX32520/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32570/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32572/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32650/gpio.h | 24 +++++++++++++++---- .../PeriphDrivers/Include/MAX32655/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32660/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32662/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32665/gpio.h | 24 +++++++++++++++---- .../PeriphDrivers/Include/MAX32670/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32672/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32675/gpio.h | 24 +++++++++++++++---- .../PeriphDrivers/Include/MAX32680/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX32690/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX78000/gpio.h | 22 +++++++++++++---- .../PeriphDrivers/Include/MAX78002/gpio.h | 24 +++++++++++++++---- 15 files changed, 274 insertions(+), 64 deletions(-) diff --git a/Libraries/PeriphDrivers/Include/MAX32520/gpio.h b/Libraries/PeriphDrivers/Include/MAX32520/gpio.h index 9a4028ca82f..e4f4eb499c1 100644 --- a/Libraries/PeriphDrivers/Include/MAX32520/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32520/gpio.h @@ -127,12 +127,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32570/gpio.h b/Libraries/PeriphDrivers/Include/MAX32570/gpio.h index 93ba48c1458..16d643f9459 100644 --- a/Libraries/PeriphDrivers/Include/MAX32570/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32570/gpio.h @@ -126,12 +126,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32572/gpio.h b/Libraries/PeriphDrivers/Include/MAX32572/gpio.h index 1ac45ff9d67..6160c4d7007 100644 --- a/Libraries/PeriphDrivers/Include/MAX32572/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32572/gpio.h @@ -127,12 +127,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32650/gpio.h b/Libraries/PeriphDrivers/Include/MAX32650/gpio.h index 3908b760b17..fe8d78730e5 100644 --- a/Libraries/PeriphDrivers/Include/MAX32650/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32650/gpio.h @@ -126,13 +126,27 @@ typedef enum { } mxc_gpio_vssel_t; /** - * @brief Enumeration type for drive strength configuration. + * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32655/gpio.h b/Libraries/PeriphDrivers/Include/MAX32655/gpio.h index 826deaeaf63..14d13cf992d 100644 --- a/Libraries/PeriphDrivers/Include/MAX32655/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32655/gpio.h @@ -126,12 +126,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32660/gpio.h b/Libraries/PeriphDrivers/Include/MAX32660/gpio.h index 7b6882ecd8c..0ec9e92ef33 100644 --- a/Libraries/PeriphDrivers/Include/MAX32660/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32660/gpio.h @@ -105,12 +105,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32662/gpio.h b/Libraries/PeriphDrivers/Include/MAX32662/gpio.h index 7c1ce1d0ed7..d3131883a60 100644 --- a/Libraries/PeriphDrivers/Include/MAX32662/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32662/gpio.h @@ -125,12 +125,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32665/gpio.h b/Libraries/PeriphDrivers/Include/MAX32665/gpio.h index 3637e4abd43..4931988d60b 100644 --- a/Libraries/PeriphDrivers/Include/MAX32665/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32665/gpio.h @@ -124,13 +124,27 @@ typedef enum { } mxc_gpio_vssel_t; /** - * @brief Enumeration type for drive strength configuration. + * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32670/gpio.h b/Libraries/PeriphDrivers/Include/MAX32670/gpio.h index 6c12e686d11..d8933256ed9 100644 --- a/Libraries/PeriphDrivers/Include/MAX32670/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32670/gpio.h @@ -126,12 +126,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32672/gpio.h b/Libraries/PeriphDrivers/Include/MAX32672/gpio.h index 936199c079a..97b7983436a 100644 --- a/Libraries/PeriphDrivers/Include/MAX32672/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32672/gpio.h @@ -126,12 +126,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32675/gpio.h b/Libraries/PeriphDrivers/Include/MAX32675/gpio.h index 6839e0bad9e..661becff7a2 100644 --- a/Libraries/PeriphDrivers/Include/MAX32675/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32675/gpio.h @@ -125,13 +125,27 @@ typedef enum { } mxc_gpio_vssel_t; /** - * @brief Enumeration type for the voltage level on a given pin. + * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, ///< Drive Strength 0 - MXC_GPIO_DRVSTR_1, ///< Drive Strength 1 - MXC_GPIO_DRVSTR_2, ///< Drive Strength 2 - MXC_GPIO_DRVSTR_3, ///< Drive Strength 3 + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32680/gpio.h b/Libraries/PeriphDrivers/Include/MAX32680/gpio.h index b4ddc6d3756..8b6bbfd3b46 100644 --- a/Libraries/PeriphDrivers/Include/MAX32680/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32680/gpio.h @@ -126,12 +126,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, ///< Drive Strength GPIO_DS[2][pin]=0b00 + MXC_GPIO_DRVSTR_1, ///< Drive Strength GPIO_DS[2][pin]=0b01 + MXC_GPIO_DRVSTR_2, ///< Drive Strength GPIO_DS[2][pin]=0b10 + MXC_GPIO_DRVSTR_3, ///< Drive Strength GPIO_DS[2][pin]=0b11 } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX32690/gpio.h b/Libraries/PeriphDrivers/Include/MAX32690/gpio.h index 5e5f3f1aae9..9f93da57f55 100644 --- a/Libraries/PeriphDrivers/Include/MAX32690/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX32690/gpio.h @@ -127,12 +127,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0 = 0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX78000/gpio.h b/Libraries/PeriphDrivers/Include/MAX78000/gpio.h index dc9499e9d34..3d33787bd67 100644 --- a/Libraries/PeriphDrivers/Include/MAX78000/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX78000/gpio.h @@ -126,12 +126,26 @@ typedef enum { /** * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /** diff --git a/Libraries/PeriphDrivers/Include/MAX78002/gpio.h b/Libraries/PeriphDrivers/Include/MAX78002/gpio.h index efe98e938f9..42203ee4f48 100644 --- a/Libraries/PeriphDrivers/Include/MAX78002/gpio.h +++ b/Libraries/PeriphDrivers/Include/MAX78002/gpio.h @@ -125,13 +125,27 @@ typedef enum { } mxc_gpio_vssel_t; /** - * @brief Enumeration type for drive strength configuration. + * @brief Enumeration type for drive strength on a given pin. + * This represents what the two GPIO_DS[2] (Drive Strength) + * registers are set to for a given GPIO pin; NOT the + * drive strength level. + * + * For example: + * MXC_GPIO_DRVSTR_0: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_1: GPIO_DS1[pin] = 0; GPIO_DS0[pin] = 1 + * MXC_GPIO_DRVSTR_2: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 0 + * MXC_GPIO_DRVSTR_3: GPIO_DS1[pin] = 1; GPIO_DS0[pin] = 1 + * + * Refer to the user guide and datasheet to select the + * appropriate drive strength. Note: the drive strength values + * are not linear, and can vary from pin-to-pin and the state + * of the GPIO pin (alternate function and voltage level). */ typedef enum { - MXC_GPIO_DRVSTR_0, /**< Drive Strength 0 */ - MXC_GPIO_DRVSTR_1, /**< Drive Strength 1 */ - MXC_GPIO_DRVSTR_2, /**< Drive Strength 2 */ - MXC_GPIO_DRVSTR_3, /**< Drive Strength 3 */ + MXC_GPIO_DRVSTR_0, /**< Drive Strength GPIO_DS[2][pin]=0b00 */ + MXC_GPIO_DRVSTR_1, /**< Drive Strength GPIO_DS[2][pin]=0b01 */ + MXC_GPIO_DRVSTR_2, /**< Drive Strength GPIO_DS[2][pin]=0b10 */ + MXC_GPIO_DRVSTR_3, /**< Drive Strength GPIO_DS[2][pin]=0b11 */ } mxc_gpio_drvstr_t; /**