@@ -94,6 +94,15 @@ static const nrf_gpio_pin_drive_t drive_modes[NRF_DRIVE_COUNT] = {
9494#define NRF_PSEL_QSPI (reg , line ) ((NRF_QSPI_Type *)reg)->PSEL.line
9595#endif
9696
97+ #if defined(CONFIG_SOC_NRF54L15_CPUAPP )
98+ #if DT_HAS_COMPAT_STATUS_OKAY (nordic_nrfe_mspi_controller ) || defined(CONFIG_MSPI_NRFE )
99+ #define NRF_PSEL_SDP_MSPI (reg , pin ) \
100+ ((NRF_GPIO_Type *)reg)->PIN_CNF[pin] = \
101+ ((((NRF_GPIO_Type *)reg)->PIN_CNF[pin] & ~GPIO_PIN_CNF_CTRLSEL_Msk) | \
102+ (NRF_GPIO_PIN_SEL_VPR << GPIO_PIN_CNF_CTRLSEL_Pos));
103+ #endif
104+ #endif
105+
97106int pinctrl_configure_pins (const pinctrl_soc_pin_t * pins , uint8_t pin_cnt ,
98107 uintptr_t reg )
99108{
@@ -347,6 +356,25 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt,
347356 input = NRF_GPIO_PIN_INPUT_CONNECT ;
348357 break ;
349358#endif /* DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_can) */
359+ #if defined(CONFIG_SOC_NRF54L15_CPUAPP )
360+ #if DT_HAS_COMPAT_STATUS_OKAY (nordic_nrfe_mspi_controller )
361+ case NRF_FUN_SDP_MSPI_CS0 :
362+ case NRF_FUN_SDP_MSPI_CS1 :
363+ case NRF_FUN_SDP_MSPI_SCK :
364+ case NRF_FUN_SDP_MSPI_DQ0 :
365+ case NRF_FUN_SDP_MSPI_DQ1 :
366+ case NRF_FUN_SDP_MSPI_DQ2 :
367+ case NRF_FUN_SDP_MSPI_DQ3 :
368+ case NRF_FUN_SDP_MSPI_DQ4 :
369+ case NRF_FUN_SDP_MSPI_DQ5 :
370+ case NRF_FUN_SDP_MSPI_DQ6 :
371+ case NRF_FUN_SDP_MSPI_DQ7 :
372+ NRF_PSEL_SDP_MSPI (reg , psel );
373+ dir = NRF_GPIO_PIN_DIR_OUTPUT ;
374+ input = NRF_GPIO_PIN_INPUT_CONNECT ;
375+ break ;
376+ #endif /* DT_HAS_COMPAT_STATUS_OKAY(nordic_nrfe_mspi_controller) */
377+ #endif /* CONFIG_SOC_NRF54L15_CPUAPP */
350378 default :
351379 return - ENOTSUP ;
352380 }
@@ -380,8 +408,8 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt,
380408 input = NRF_GPIO_PIN_INPUT_DISCONNECT ;
381409 }
382410
383- nrf_gpio_cfg (pin , dir , input , NRF_GET_PULL (pins [i ]),
384- drive , NRF_GPIO_PIN_NOSENSE );
411+ nrf_gpio_cfg (pin , dir , input , NRF_GET_PULL (pins [i ]), drive ,
412+ NRF_GPIO_PIN_NOSENSE );
385413#if NRF_GPIO_HAS_CLOCKPIN
386414 nrf_gpio_pin_clock_set (pin , NRF_GET_CLOCKPIN_ENABLE (pins [i ]));
387415#endif
0 commit comments