Commit 9c436baf authored by Sai Santhosh Malae's avatar Sai Santhosh Malae Committed by Benjamin Cabé
Browse files

drivers: adc: siwx91x: Analog pin initialization

Modified pinctrl driver to configure analog pins for
ULP and HP modes.

Signed-off-by: default avatarSai Santhosh Malae <Santhosh.Malae@silabs.com>
parent 34982b14
Loading
Loading
Loading
Loading
+10 −0
Changes for drivers/pinctrl/pinctrl_silabs_siwx91x.c: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@

#define MODE_COUNT               16
#define HP_PERIPHERAL_ON_ULP_PIN 6
#define HP_ANALOG_MODE           14
#define ULP_ANALOG_MODE          7

static bool pinctrl_siwx91x_valid_mode(uint8_t mode)
{
@@ -27,9 +29,17 @@ static void pinctrl_siwx91x_set(uint8_t port, uint8_t pin, uint8_t ulppin, uint8
	}

	if (port == SL_GPIO_ULP_PORT) {
		if (ulpmode != ULP_ANALOG_MODE) {
			sl_si91x_gpio_enable_ulp_pad_receiver(ulppin);
		} else {
			sl_si91x_gpio_disable_ulp_pad_receiver(ulppin);
		}
	} else {
		if (mode != HP_ANALOG_MODE) {
			sl_si91x_gpio_enable_pad_receiver((port << 4) | pin);
		} else {
			sl_si91x_gpio_disable_pad_receiver((port << 4) | pin);
		}
	}

	if (pinctrl_siwx91x_valid_mode(mode)) {
+7 −0
Changes for include/zephyr/dt-bindings/pinctrl/silabs/siwx91x-pinctrl.h: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -22,6 +22,13 @@
#define AGPIO_ULP10          SIWX91X_GPIO(0xFF, 7, 0xFF, 4, 0, 10)
#define AGPIO_ULP11          SIWX91X_GPIO(0xFF, 7, 0xFF, 4, 0, 11)

#define ADC_TOPGPIO_HP25     SIWX91X_GPIO(14, 0xFF, 0, 1, 9, 0)
#define ADC_TOPGPIO_HP26     SIWX91X_GPIO(14, 0xFF, 0, 1, 10, 0)
#define ADC_TOPGPIO_HP27     SIWX91X_GPIO(14, 0xFF, 0, 1, 11, 0)
#define ADC_TOPGPIO_HP28     SIWX91X_GPIO(14, 0xFF, 0, 1, 12, 0)
#define ADC_TOPGPIO_HP29     SIWX91X_GPIO(14, 0xFF, 0, 1, 13, 0)
#define ADC_TOPGPIO_HP30     SIWX91X_GPIO(14, 0xFF, 0, 1, 14, 0)

#define AUXULP_TRIG0_HP11    SIWX91X_GPIO(9,     5,    6, 0, 11,  5)
#define AUXULP_TRIG0_HP30    SIWX91X_GPIO(11,    5,    0, 1, 14, 11)
#define AUXULP_TRIG0_HP49    SIWX91X_GPIO(9,     5,   13, 3,  1, 11)