Skip to content

Commit 193eeae

Browse files
mertekrenozersa
authored andcommitted
drivers: pinctrl: max32: fix correct configuring drive strength
This commit fixes configuring pin drive strength in pinctrl driver. Previously, there was a mismatch while filling pincfg and checking pincfg drive strength field. This fix simplifies the operation and avoids gpio driver header dependency. Signed-off-by: Mert Ekren <mert.ekren@analog.com> Co-Authored-By: Sadik Ozer <sadik.ozer@analog.com>
1 parent 9dc0af5 commit 193eeae

File tree

2 files changed

+2
-15
lines changed

2 files changed

+2
-15
lines changed

drivers/pinctrl/pinctrl_max32.c

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66

77
#include <zephyr/dt-bindings/pinctrl/max32-pinctrl.h>
8-
#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h>
98
#include <zephyr/drivers/pinctrl.h>
109

1110
#include <gpio.h>
@@ -67,20 +66,7 @@ static int pinctrl_configure_pin(pinctrl_soc_pin_t soc_pin)
6766
gpio_cfg.vssel = MXC_GPIO_VSSEL_VDDIO;
6867
}
6968

70-
switch (pincfg & MAX32_GPIO_DRV_STRENGTH_MASK) {
71-
case MAX32_GPIO_DRV_STRENGTH_1:
72-
gpio_cfg.drvstr = MXC_GPIO_DRVSTR_1;
73-
break;
74-
case MAX32_GPIO_DRV_STRENGTH_2:
75-
gpio_cfg.drvstr = MXC_GPIO_DRVSTR_2;
76-
break;
77-
case MAX32_GPIO_DRV_STRENGTH_3:
78-
gpio_cfg.drvstr = MXC_GPIO_DRVSTR_3;
79-
break;
80-
default:
81-
gpio_cfg.drvstr = MXC_GPIO_DRVSTR_0;
82-
break;
83-
}
69+
gpio_cfg.drvstr = (pincfg >> MAX32_DRV_STRENGTH_SHIFT) & MAX32_DRV_STRENGTH_MASK;
8470

8571
if (MXC_GPIO_Config(&gpio_cfg) != 0) {
8672
return -ENOTSUP;

include/zephyr/dt-bindings/pinctrl/max32-pinctrl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,6 @@
6363
#define MAX32_POWER_SOURCE_SHIFT 0x04
6464
#define MAX32_OUTPUT_HIGH_SHIFT 0x05
6565
#define MAX32_DRV_STRENGTH_SHIFT 0x06 /* 2 bits */
66+
#define MAX32_DRV_STRENGTH_MASK 0x03
6667

6768
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_MAX32_PINCTRL_H_ */

0 commit comments

Comments
 (0)