| # Kconfig - nrf5 series MDK SPI support |
| # |
| # Copyright (c) 2017, Intel Corp. |
| # Copyright (c) 2016-2017, Linaro Limited. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| # TODO add nrf51 master |
| |
| menuconfig SPI_NRF5 |
| bool "nRF5 SPI drivers" |
| depends on SPI && SOC_FAMILY_NRF5 && GPIO_NRF5_P0 |
| default n |
| help |
| Enable support for nRF5 MCU series SPI drivers. Peripherals |
| with the same instance id can not be used together, e.g., SPIM0 and I2C_0 |
| (TWIM0) and SPIS0. You may need to disable I2C_0 or I2C_1. |
| |
| if SPI_NRF5 |
| |
| # nordic twiX0, spiX0, spi0 instances can not be used at the same time |
| if SPI_0 && !I2C_0 |
| |
| choice |
| prompt "SPI Port 0 Driver type" |
| optional |
| |
| # TODO: rename to SPIM0_NRF5 when nRF51 SPIM driver is available. |
| config SPIM0_NRF52 |
| bool "nRF52 SPIM0" |
| depends on SOC_SERIES_NRF52X |
| help |
| nRF52 SPI Master with EasyDMA on port 0 |
| |
| # On nRF51, SPI0 is SPIM-only. |
| config SPIS0_NRF52 |
| bool "nRF52 SPIS0" |
| depends on SOC_SERIES_NRF52X |
| help |
| nRF51 and nRF52 SPI Slave with EasyDMA on port 0 |
| |
| endchoice |
| |
| if SPIM0_NRF52 |
| |
| config SPIM0_NRF52_GPIO_SCK_PIN |
| int "SCK pin number" |
| range 0 31 |
| help |
| GPIO pin number for SCK |
| |
| config SPIM0_NRF52_GPIO_MOSI_PIN |
| int "MOSI pin number" |
| range 0 31 |
| help |
| GPIO pin number to use for MOSI |
| |
| config SPIM0_NRF52_GPIO_MISO_PIN |
| int "MISO pin number" |
| range 0 31 |
| help |
| GPIO pin number for MISO |
| |
| config SPIM0_NRF52_GPIO_SS_PIN_0 |
| int "CS0 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM0_NRF52_GPIO_SS_PIN_1 |
| int "CS1 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM0_NRF52_GPIO_SS_PIN_2 |
| int "CS2 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM0_NRF52_GPIO_SS_PIN_3 |
| int "CS3 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM0_NRF52_ORC |
| hex "Over Read Character" |
| default 0x00 |
| range 0x00 0xff |
| help |
| This option configures what value to send when the TX char count is |
| less than the RX count. |
| |
| endif # SPIM0_NRF52 |
| |
| if SPIS0_NRF52 |
| |
| config SPIS0_NRF52_GPIO_SCK_PIN |
| int "SCK pin number" |
| range 0 31 |
| help |
| GPIO pin number for SCK |
| |
| config SPIS0_NRF52_GPIO_MOSI_PIN |
| int "MOSI pin number" |
| range 0 31 |
| help |
| GPIO pin number for MOSI |
| |
| config SPIS0_NRF52_GPIO_MISO_PIN |
| int "MISO pin number" |
| range 0 31 |
| help |
| GPIO pin number for MISO |
| |
| config SPIS0_NRF52_GPIO_CSN_PIN |
| int "CSN pin number" |
| range 0 255 |
| default 255 |
| help |
| GPIO pin number for slave select (chip select). Not used value |
| is 255 (0xff). |
| |
| config SPIS0_NRF52_DEF |
| hex "Default character" |
| default 0 |
| help |
| Default character. Character clocked out in case of an ignored |
| transaction. |
| |
| endif # SPIS0_NRF5 |
| |
| endif # SPI_0 && !I2C_0 |
| |
| # nordic twiX1, spiX1, spi1 instances can not be use at the same time |
| if SPI_1 && !I2C_1 |
| |
| choice |
| prompt "SPI Port 1 Driver type" |
| optional |
| |
| config SPIM1_NRF52 |
| bool "nRF52 SPIM1" |
| depends on SOC_SERIES_NRF52X |
| help |
| nRF52 SPI Master with EasyDMA on port 0 |
| |
| config SPIS1_NRF5 |
| bool "nRF5 SPIS1" |
| depends on (SOC_SERIES_NRF52X || SOC_SERIES_NRF51X) |
| help |
| nRF51 and nRF52 SPI Slave with EasyDMA on port 1 |
| |
| endchoice |
| |
| if SPIM1_NRF52 |
| |
| config SPIM1_NRF52_GPIO_SCK_PIN |
| int "SCK pin number" |
| range 0 31 |
| help |
| GPIO pin number for SCK |
| |
| config SPIM1_NRF52_GPIO_MOSI_PIN |
| int "MOSI pin number" |
| range 0 31 |
| help |
| GPIO pin number to use for MOSI |
| |
| config SPIM1_NRF52_GPIO_MISO_PIN |
| int "MISO pin number" |
| range 0 31 |
| help |
| GPIO pin number for MISO |
| |
| config SPIM1_NRF52_GPIO_SS_PIN_0 |
| int "CS0 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM1_NRF52_GPIO_SS_PIN_1 |
| int "CS1 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM1_NRF52_GPIO_SS_PIN_2 |
| int "CS2 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM1_NRF52_GPIO_SS_PIN_3 |
| int "CS3 pin number" |
| range 0 255 |
| default 255 |
| help |
| Slave Select (Chip Select) gpio pin number for line n. Not used value |
| is 255 (0xff). |
| |
| config SPIM1_NRF52_ORC |
| hex "Over Read Character" |
| default 0x00 |
| range 0x00 0xff |
| help |
| This option configures what value to send when the TX char count is |
| less than the RX count. |
| |
| endif # SPIM1_NRF52 |
| |
| if SPIS1_NRF5 |
| |
| config SPIS1_NRF5_GPIO_SCK_PIN |
| int "SCK pin number" |
| range 0 31 |
| help |
| GPIO pin number for SCK |
| |
| config SPIS1_NRF5_GPIO_MOSI_PIN |
| int "MOSI pin number" |
| range 0 31 |
| help |
| GPIO pin number for MOSI |
| |
| config SPIS1_NRF5_GPIO_MISO_PIN |
| int "MISO pin number" |
| range 0 31 |
| help |
| GPIO pin number for MISO |
| |
| config SPIS1_NRF5_GPIO_CSN_PIN |
| int "CSN pin number" |
| range 0 255 |
| default 255 |
| help |
| GPIO pin number for slave select (chip select). Not used value |
| is 255 (0xff). |
| |
| config SPIS1_NRF5_DEF |
| hex "Default character" |
| default 0 |
| help |
| Default character. Character clocked out in case of an ignored |
| transaction. |
| |
| endif # SPIS1_NRF5 |
| |
| endif # SPI_1 && !I2C_1 |
| |
| # hidden compile options |
| config SPIM_NRF52 |
| bool |
| depends on !I2C_0 || !I2C_1 |
| default y if (SPIM0_NRF52 || SPIM1_NRF52) |
| |
| config SPIS_NRF5 |
| bool |
| depends on !I2C_0 || !I2C_1 |
| default y if (SPIS0_NRF52 || SPIS1_NRF5) |
| |
| endif # SPI_NRF5 |