280 lines
5.4 KiB
Plaintext
280 lines
5.4 KiB
Plaintext
# 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_NRF && 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
|