Skip to content

Commit

Permalink
[nrf noup] drivers: pinctrl: Add SDP MSPI pin configuration
Browse files Browse the repository at this point in the history
Configure SDP MSPI pins to switch their control to VPR core

Signed-off-by: Jakub Zymelka <[email protected]>
  • Loading branch information
jaz1-nordic committed Nov 13, 2024
1 parent 0271821 commit 9f1d6b0
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 0 deletions.
26 changes: 26 additions & 0 deletions drivers/pinctrl/pinctrl_nrf.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,13 @@ static const nrf_gpio_pin_drive_t drive_modes[NRF_DRIVE_COUNT] = {
#define NRF_PSEL_QSPI(reg, line) ((NRF_QSPI_Type *)reg)->PSEL.line
#endif

#if defined(CONFIG_SOC_NRF54L15_CPUAPP)
#if DT_HAS_COMPAT_STATUS_OKAY(nordic_nrfe_mspi_controller) || defined(CONFIG_MSPI_NRFE)
#define NRF_PSEL_SDP_MSPI(reg, pin) \
(((NRF_GPIO_Type *)reg)->PIN_CNF[pin].CTRLSEL = NRF_GPIO_PIN_SEL_VPR)
#endif
#endif

int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt,
uintptr_t reg)
{
Expand Down Expand Up @@ -347,6 +354,25 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt,
input = NRF_GPIO_PIN_INPUT_CONNECT;
break;
#endif /* DT_HAS_COMPAT_STATUS_OKAY(nordic_nrf_can) */
#if defined(CONFIG_SOC_NRF54L15_CPUAPP)
#if DT_HAS_COMPAT_STATUS_OKAY(nordic_nrfe_mspi_controller)
case NRF_FUN_SDP_MSPI_CSN:
case NRF_FUN_SDP_MSPI_SCK:
case NRF_FUN_SDP_MSPI_DQ0:
case NRF_FUN_SDP_MSPI_DQ1:
case NRF_FUN_SDP_MSPI_DQ2:
case NRF_FUN_SDP_MSPI_DQ3:
case NRF_FUN_SDP_MSPI_DQ4:
case NRF_FUN_SDP_MSPI_DQ5:
case NRF_FUN_SDP_MSPI_DQ6:
case NRF_FUN_SDP_MSPI_DQ7:
NRF_PSEL_SDP_MSPI(reg, psel);
// write = 1U;
// dir = NRF_GPIO_PIN_DIR_OUTPUT;
// input = NRF_GPIO_PIN_INPUT_CONNECT;
break;
#endif /* DT_HAS_COMPAT_STATUS_OKAY(nordic_nrfe_mspi_controller) */
#endif /* CONFIG_SOC_NRF54L15_CPUAPP */
default:
return -ENOTSUP;
}
Expand Down
22 changes: 22 additions & 0 deletions include/zephyr/dt-bindings/pinctrl/nrf-pinctrl.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,28 @@
#define NRF_FUN_CAN_TX 46U
/** CAN RX */
#define NRF_FUN_CAN_RX 47U
/** SDP_MSPI CK */
#define NRF_FUN_SDP_MSPI_SCK 48U
/** SDP_MSPI DQ0 */
#define NRF_FUN_SDP_MSPI_DQ0 49U
/** SDP_MSPI DQ1 */
#define NRF_FUN_SDP_MSPI_DQ1 50U
/** SDP_MSPI DQ2 */
#define NRF_FUN_SDP_MSPI_DQ2 51U
/** SDP_MSPI DQ3 */
#define NRF_FUN_SDP_MSPI_DQ3 52U
/** SDP_MSPI DQ4 */
#define NRF_FUN_SDP_MSPI_DQ4 53U
/** SDP_MSPI DQ5 */
#define NRF_FUN_SDP_MSPI_DQ5 54U
/** SDP_MSPI DQ6 */
#define NRF_FUN_SDP_MSPI_DQ6 55U
/** SDP_MSPI DQ7 */
#define NRF_FUN_SDP_MSPI_DQ7 56U
/** SDP_MSPI CS0 */
#define NRF_FUN_SDP_MSPI_CS0 57U
/** SDP_MSPI CS1 */
#define NRF_FUN_SDP_MSPI_CS1 58U

/** @} */

Expand Down
2 changes: 2 additions & 0 deletions modules/hal_nordic/nrfx/nrfe_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

#ifdef CONFIG_GPIO_NRFE
#include <drivers/gpio/nrfe_gpio.h>
#elif CONFIG_MSPI_NRFE
#include <drivers/mspi/nrfe_mspi.h>
#else
#error "NRFE config header included, even though no SW-define IO device is enabled."
#endif
Expand Down

0 comments on commit 9f1d6b0

Please sign in to comment.