drivers: spi: spi_nrfx_spi(m|s): move ORC to DT
Specify the overrun character in Devicetree. Since 0xFF is the most common value, DT property contains such default. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
parent
4ad3a96059
commit
3c6649f631
13 changed files with 47 additions and 57 deletions
|
@ -52,15 +52,6 @@ config SPI_0_NRF_SPIS
|
||||||
Due to hardware limitations the implementation supports only simple
|
Due to hardware limitations the implementation supports only simple
|
||||||
buffers (consisting of one part) located in RAM.
|
buffers (consisting of one part) located in RAM.
|
||||||
|
|
||||||
config SPI_0_NRF_ORC
|
|
||||||
hex "SPI Port 0 over-read character"
|
|
||||||
depends on SPI_0_NRF_SPI || SPI_0_NRF_SPIM || SPI_0_NRF_SPIS
|
|
||||||
range 0x00 0xff
|
|
||||||
default 0xff
|
|
||||||
help
|
|
||||||
Over-read character. Character clocked out after an over-read
|
|
||||||
of the transmit buffer.
|
|
||||||
|
|
||||||
config SPI_1_NRF_SPI
|
config SPI_1_NRF_SPI
|
||||||
def_bool HAS_HW_NRF_SPI1
|
def_bool HAS_HW_NRF_SPI1
|
||||||
select NRFX_SPI1
|
select NRFX_SPI1
|
||||||
|
@ -86,15 +77,6 @@ config SPI_1_NRF_SPIS
|
||||||
Due to hardware limitations the implementation supports only simple
|
Due to hardware limitations the implementation supports only simple
|
||||||
buffers (consisting of one part) located in RAM.
|
buffers (consisting of one part) located in RAM.
|
||||||
|
|
||||||
config SPI_1_NRF_ORC
|
|
||||||
hex "SPI Port 1 over-read character"
|
|
||||||
depends on SPI_1_NRF_SPI || SPI_1_NRF_SPIM || SPI_1_NRF_SPIS
|
|
||||||
range 0x00 0xff
|
|
||||||
default 0xff
|
|
||||||
help
|
|
||||||
Over-read character. Character clocked out after an over-read
|
|
||||||
of the transmit buffer.
|
|
||||||
|
|
||||||
config SPI_2_NRF_SPI
|
config SPI_2_NRF_SPI
|
||||||
def_bool HAS_HW_NRF_SPI2
|
def_bool HAS_HW_NRF_SPI2
|
||||||
select NRFX_SPI2
|
select NRFX_SPI2
|
||||||
|
@ -120,15 +102,6 @@ config SPI_2_NRF_SPIS
|
||||||
Due to hardware limitations the implementation supports only simple
|
Due to hardware limitations the implementation supports only simple
|
||||||
buffers (consisting of one part) located in RAM.
|
buffers (consisting of one part) located in RAM.
|
||||||
|
|
||||||
config SPI_2_NRF_ORC
|
|
||||||
hex "SPI Port 2 over-read character"
|
|
||||||
depends on SPI_2_NRF_SPI || SPI_2_NRF_SPIM || SPI_2_NRF_SPIS
|
|
||||||
range 0x00 0xff
|
|
||||||
default 0xff
|
|
||||||
help
|
|
||||||
Over-read character. Character clocked out after an over-read
|
|
||||||
of the transmit buffer.
|
|
||||||
|
|
||||||
config SPI_3_NRF_SPIM
|
config SPI_3_NRF_SPIM
|
||||||
def_bool HAS_HW_NRF_SPIM3
|
def_bool HAS_HW_NRF_SPIM3
|
||||||
select NRFX_SPIM3
|
select NRFX_SPIM3
|
||||||
|
@ -144,15 +117,6 @@ config SPI_3_NRF_SPIS
|
||||||
Due to hardware limitations the implementation supports only simple
|
Due to hardware limitations the implementation supports only simple
|
||||||
buffers (consisting of one part) located in RAM.
|
buffers (consisting of one part) located in RAM.
|
||||||
|
|
||||||
config SPI_3_NRF_ORC
|
|
||||||
hex "SPI Port 3 over-read character"
|
|
||||||
depends on SPI_3_NRF_SPIM || SPI_3_NRF_SPIS
|
|
||||||
range 0x00 0xff
|
|
||||||
default 0xff
|
|
||||||
help
|
|
||||||
Over-read character. Character clocked out after an over-read
|
|
||||||
of the transmit buffer.
|
|
||||||
|
|
||||||
config SPI_3_NRF_RX_DELAY
|
config SPI_3_NRF_RX_DELAY
|
||||||
int "SPIM3 MISO sampling delay"
|
int "SPIM3 MISO sampling delay"
|
||||||
depends on SPI_3_NRF_SPIM && (SOC_NRF52833 || SOC_NRF52840)
|
depends on SPI_3_NRF_SPIM && (SOC_NRF52833 || SOC_NRF52840)
|
||||||
|
@ -169,15 +133,6 @@ config SPI_4_NRF_SPIM
|
||||||
help
|
help
|
||||||
Enable nRF SPI Master with EasyDMA on port 4.
|
Enable nRF SPI Master with EasyDMA on port 4.
|
||||||
|
|
||||||
config SPI_4_NRF_ORC
|
|
||||||
hex "SPI Port 4 over-read character"
|
|
||||||
depends on SPI_4_NRF_SPIM
|
|
||||||
range 0x00 0xff
|
|
||||||
default 0xff
|
|
||||||
help
|
|
||||||
Over-read character. Character clocked out after an over-read
|
|
||||||
of the transmit buffer.
|
|
||||||
|
|
||||||
config SPI_4_NRF_RX_DELAY
|
config SPI_4_NRF_RX_DELAY
|
||||||
int "SPIM4 MISO sampling delay"
|
int "SPIM4 MISO sampling delay"
|
||||||
depends on SPI_4_NRF_SPIM && SOC_NRF5340_CPUAPP
|
depends on SPI_4_NRF_SPIM && SOC_NRF5340_CPUAPP
|
||||||
|
|
|
@ -321,7 +321,6 @@ static int spi_nrfx_pm_action(const struct device *dev,
|
||||||
*
|
*
|
||||||
* - NRFX_SPI_INSTANCE() requires an SoC instance number
|
* - NRFX_SPI_INSTANCE() requires an SoC instance number
|
||||||
* - soc-instance-numbered kconfig enables
|
* - soc-instance-numbered kconfig enables
|
||||||
* - ORC is a SoC-instance-numbered kconfig option instead of a DT property
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SPI(idx) DT_NODELABEL(spi##idx)
|
#define SPI(idx) DT_NODELABEL(spi##idx)
|
||||||
|
@ -389,7 +388,7 @@ static int spi_nrfx_pm_action(const struct device *dev,
|
||||||
.def_config = { \
|
.def_config = { \
|
||||||
SPI_NRFX_SPI_PIN_CFG(idx) \
|
SPI_NRFX_SPI_PIN_CFG(idx) \
|
||||||
.ss_pin = NRFX_SPI_PIN_NOT_USED, \
|
.ss_pin = NRFX_SPI_PIN_NOT_USED, \
|
||||||
.orc = CONFIG_SPI_##idx##_NRF_ORC, \
|
.orc = SPI_PROP(idx, overrun_character), \
|
||||||
}, \
|
}, \
|
||||||
IF_ENABLED(CONFIG_PINCTRL, \
|
IF_ENABLED(CONFIG_PINCTRL, \
|
||||||
(.pcfg = PINCTRL_DT_DEV_CONFIG_GET(SPI(idx)),)) \
|
(.pcfg = PINCTRL_DT_DEV_CONFIG_GET(SPI(idx)),)) \
|
||||||
|
|
|
@ -572,7 +572,7 @@ static int spim_nrfx_pm_action(const struct device *dev,
|
||||||
.def_config = { \
|
.def_config = { \
|
||||||
SPI_NRFX_SPIM_PIN_CFG(idx) \
|
SPI_NRFX_SPIM_PIN_CFG(idx) \
|
||||||
.ss_pin = NRFX_SPIM_PIN_NOT_USED, \
|
.ss_pin = NRFX_SPIM_PIN_NOT_USED, \
|
||||||
.orc = CONFIG_SPI_##idx##_NRF_ORC, \
|
.orc = SPIM_PROP(idx, overrun_character), \
|
||||||
SPI_NRFX_SPIM_EXTENDED_CONFIG(idx) \
|
SPI_NRFX_SPIM_EXTENDED_CONFIG(idx) \
|
||||||
}, \
|
}, \
|
||||||
COND_CODE_1(CONFIG_SOC_NRF52832_ALLOW_SPIM_DESPITE_PAN_58, \
|
COND_CODE_1(CONFIG_SOC_NRF52832_ALLOW_SPIM_DESPITE_PAN_58, \
|
||||||
|
|
|
@ -249,7 +249,6 @@ static int init_spis(const struct device *dev,
|
||||||
*
|
*
|
||||||
* - NRFX_SPIS_INSTANCE() requires an SoC instance number
|
* - NRFX_SPIS_INSTANCE() requires an SoC instance number
|
||||||
* - soc-instance-numbered kconfig enables
|
* - soc-instance-numbered kconfig enables
|
||||||
* - ORC is a SoC-instance-numbered kconfig option instead of a DT property
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SPIS(idx) DT_NODELABEL(spi##idx)
|
#define SPIS(idx) DT_NODELABEL(spi##idx)
|
||||||
|
@ -279,7 +278,7 @@ static int init_spis(const struct device *dev,
|
||||||
SPI_NRFX_SPIS_PIN_CFG(idx) \
|
SPI_NRFX_SPIS_PIN_CFG(idx) \
|
||||||
.mode = NRF_SPIS_MODE_0, \
|
.mode = NRF_SPIS_MODE_0, \
|
||||||
.bit_order = NRF_SPIS_BIT_ORDER_MSB_FIRST, \
|
.bit_order = NRF_SPIS_BIT_ORDER_MSB_FIRST, \
|
||||||
.orc = CONFIG_SPI_##idx##_NRF_ORC, \
|
.orc = SPIS_PROP(idx, overrun_character), \
|
||||||
.def = SPIS_PROP(idx, def_char), \
|
.def = SPIS_PROP(idx, def_char), \
|
||||||
}; \
|
}; \
|
||||||
IF_ENABLED(CONFIG_PINCTRL, ( \
|
IF_ENABLED(CONFIG_PINCTRL, ( \
|
||||||
|
|
|
@ -19,6 +19,14 @@ properties:
|
||||||
Maximum data rate the SPI peripheral can be driven at, in Hz. This
|
Maximum data rate the SPI peripheral can be driven at, in Hz. This
|
||||||
property must be set at SoC level DTS files.
|
property must be set at SoC level DTS files.
|
||||||
|
|
||||||
|
overrun-character:
|
||||||
|
type: int
|
||||||
|
default: 0xff
|
||||||
|
description: |
|
||||||
|
The overrun character (ORC) is used when all bytes from the TX buffer
|
||||||
|
are sent, but the transfer continues due to RX. Defaults to 0xff
|
||||||
|
(line high), the most common value used in SPI transfers.
|
||||||
|
|
||||||
sck-pin:
|
sck-pin:
|
||||||
type: int
|
type: int
|
||||||
deprecated: true
|
deprecated: true
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
CONFIG_SPI_1_NRF_ORC=0x00
|
|
||||||
|
|
||||||
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1"
|
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1"
|
||||||
CONFIG_SPI_LOOPBACK_CS_GPIO=y
|
CONFIG_SPI_LOOPBACK_CS_GPIO=y
|
||||||
CONFIG_SPI_LOOPBACK_CS_CTRL_GPIO_DRV_NAME="GPIO_0"
|
CONFIG_SPI_LOOPBACK_CS_CTRL_GPIO_DRV_NAME="GPIO_0"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2022 Nordic Semiconductor ASA
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
overrun-character = <0x00>;
|
||||||
|
};
|
|
@ -1,4 +1,3 @@
|
||||||
CONFIG_SPI_3_NRF_ORC=0x00
|
|
||||||
CONFIG_SPI_3_NRF_RX_DELAY=1
|
CONFIG_SPI_3_NRF_RX_DELAY=1
|
||||||
|
|
||||||
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_3"
|
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_3"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2022 Nordic Semiconductor ASA
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&spi3 {
|
||||||
|
overrun-character = <0x00>;
|
||||||
|
};
|
|
@ -1,5 +1,3 @@
|
||||||
CONFIG_SPI_1_NRF_ORC=0x00
|
|
||||||
|
|
||||||
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1"
|
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1"
|
||||||
CONFIG_SPI_LOOPBACK_CS_GPIO=y
|
CONFIG_SPI_LOOPBACK_CS_GPIO=y
|
||||||
CONFIG_SPI_LOOPBACK_CS_CTRL_GPIO_DRV_NAME="GPIO_0"
|
CONFIG_SPI_LOOPBACK_CS_CTRL_GPIO_DRV_NAME="GPIO_0"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2022 Nordic Semiconductor ASA
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
overrun-character = <0x00>;
|
||||||
|
};
|
|
@ -1,5 +1,3 @@
|
||||||
CONFIG_SPI_3_NRF_ORC=0x00
|
|
||||||
|
|
||||||
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_3"
|
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_3"
|
||||||
CONFIG_SPI_LOOPBACK_CS_GPIO=y
|
CONFIG_SPI_LOOPBACK_CS_GPIO=y
|
||||||
CONFIG_SPI_LOOPBACK_CS_CTRL_GPIO_DRV_NAME="GPIO_0"
|
CONFIG_SPI_LOOPBACK_CS_CTRL_GPIO_DRV_NAME="GPIO_0"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2022 Nordic Semiconductor ASA
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&spi3 {
|
||||||
|
overrun-character = <0x00>;
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue