Fix backward wait condition in KL24Z SPI driver
This commit is contained in:
parent
d5a0c75bbb
commit
76f9df2941
@ -488,7 +488,7 @@ static uint16_t spi_send(FAR struct spi_dev_s *dev, uint16_t wd)
|
|||||||
|
|
||||||
/* Make sure that the transmit buffer is empty */
|
/* Make sure that the transmit buffer is empty */
|
||||||
|
|
||||||
while ((spi_getreg(priv, KL_SPI_S_OFFSET) & SPI_S_SPTEF) != 0);
|
while ((spi_getreg(priv, KL_SPI_S_OFFSET) & SPI_S_SPTEF) == 0);
|
||||||
|
|
||||||
/* Write the data to transmitted to the SPI Data Register */
|
/* Write the data to transmitted to the SPI Data Register */
|
||||||
|
|
||||||
@ -555,7 +555,7 @@ static void spi_exchange(FAR struct spi_dev_s *dev, FAR const void *txbuffer,
|
|||||||
* to the serializer.
|
* to the serializer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
while ((spi_getreg(priv, KL_SPI_S_OFFSET) & SPI_S_SPTEF) != 0);
|
while ((spi_getreg(priv, KL_SPI_S_OFFSET) & SPI_S_SPTEF) == 0);
|
||||||
|
|
||||||
/* Write the data to transmitted to the Transmit Data Register (TDR) */
|
/* Write the data to transmitted to the Transmit Data Register (TDR) */
|
||||||
|
|
||||||
@ -675,7 +675,7 @@ FAR struct spi_dev_s *up_spiinitialize(int port)
|
|||||||
|
|
||||||
/* Enable clocking */
|
/* Enable clocking */
|
||||||
|
|
||||||
regval = getreg32(KL_SIM_SCGC4);
|
regval = getreg32(KL_SIM_SCGC4);
|
||||||
regval |= SIM_SCGC4_SPI0;
|
regval |= SIM_SCGC4_SPI0;
|
||||||
putreg32(regval, KL_SIM_SCGC4);
|
putreg32(regval, KL_SIM_SCGC4);
|
||||||
}
|
}
|
||||||
@ -694,7 +694,7 @@ FAR struct spi_dev_s *up_spiinitialize(int port)
|
|||||||
|
|
||||||
/* Enable clocking */
|
/* Enable clocking */
|
||||||
|
|
||||||
regval = getreg32(KL_SIM_SCGC4);
|
regval = getreg32(KL_SIM_SCGC4);
|
||||||
regval |= SIM_SCGC4_SPI1;
|
regval |= SIM_SCGC4_SPI1;
|
||||||
putreg32(regval, KL_SIM_SCGC4);
|
putreg32(regval, KL_SIM_SCGC4);
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ extern "C" {
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/************************************************************************************
|
||||||
* Name: up_spiinitialize
|
* Name: up_spiinitialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
@ -78,7 +78,7 @@ extern "C" {
|
|||||||
* Returned Value:
|
* Returned Value:
|
||||||
* Valid SPI device structure reference on succcess; a NULL on failure
|
* Valid SPI device structure reference on succcess; a NULL on failure
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
struct spi_dev_s;
|
struct spi_dev_s;
|
||||||
FAR struct spi_dev_s *up_spiinitialize(int port);
|
FAR struct spi_dev_s *up_spiinitialize(int port);
|
||||||
|
@ -116,7 +116,7 @@ is configured to work with the OpenSDA USB CDC/ACM port:
|
|||||||
Pin 27 PTA1/TSI0_CH2/UART0_RX/FTM2_CH0 UART1_RX_TGTMCU and D0 (PTA1)
|
Pin 27 PTA1/TSI0_CH2/UART0_RX/FTM2_CH0 UART1_RX_TGTMCU and D0 (PTA1)
|
||||||
Pin 28 PTA2/TSI0_CH3/UART0_TX/FTM2_CH1 UART1_TX_TGTMCU and D1 (PTA2)
|
Pin 28 PTA2/TSI0_CH3/UART0_TX/FTM2_CH1 UART1_TX_TGTMCU and D1 (PTA2)
|
||||||
|
|
||||||
But the UART Tx/Rx signals are also available on J1:
|
But the UART0 Tx/Rx signals are also available on J1:
|
||||||
|
|
||||||
---------------- ---------
|
---------------- ---------
|
||||||
UART0 SIGNAL J1 pin
|
UART0 SIGNAL J1 pin
|
||||||
@ -124,6 +124,8 @@ But the UART Tx/Rx signals are also available on J1:
|
|||||||
UART0_RX (PTA1) J1, pin 2
|
UART0_RX (PTA1) J1, pin 2
|
||||||
UART0_TX (PTA2) J1, pin 4
|
UART0_TX (PTA2) J1, pin 4
|
||||||
|
|
||||||
|
Ground is available on J2 pin 14. 3.3V is available on J3 and J4.
|
||||||
|
|
||||||
mbed
|
mbed
|
||||||
====
|
====
|
||||||
|
|
||||||
@ -306,16 +308,25 @@ Where <subdir> is one of the following:
|
|||||||
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
||||||
|
|
||||||
3. Serial Console. A serial console is required to see the OS test
|
3. Serial Console. A serial console is required to see the OS test
|
||||||
output. The serial console is configured on UART1 which is available
|
output. The serial console is configured on UART0 which is available
|
||||||
on JP5:
|
on J1:
|
||||||
|
|
||||||
UART1 RX signal (RXD1) is on PB.4, pin 8, and
|
---------------- ---------
|
||||||
UART1 TX signal (TXD1) is on PB.5, pin 9.
|
UART0 SIGNAL J1 pin
|
||||||
|
---------------- ---------
|
||||||
|
UART0_RX (PTA1) J1, pin 2
|
||||||
|
UART0_TX (PTA2) J1, pin 4
|
||||||
|
|
||||||
|
Ground is available on J2 pin 14. 3.3V is available on J3 and J4.
|
||||||
|
|
||||||
|
It is possible to configure NSH to use a USB serial console instead
|
||||||
|
of an RS-232 serial console. However, that configuration has not
|
||||||
|
been impelmented as of this writing.
|
||||||
|
|
||||||
nsh:
|
nsh:
|
||||||
---
|
---
|
||||||
Configures the NuttShell (nsh) located at apps/examples/nsh. The
|
Configures the NuttShell (nsh) located at apps/examples/nsh. The
|
||||||
Configuration enables the serial interfaces on UART1. Support for
|
Configuration enables the serial interface on UART0. Support for
|
||||||
builtin applications is disabled.
|
builtin applications is disabled.
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
@ -338,11 +349,16 @@ Where <subdir> is one of the following:
|
|||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
||||||
|
|
||||||
3. Serial Console. A serial console is necessary to interrupt with
|
3. Serial Console. A serial console is necessary to interrupt with
|
||||||
NSH. The serial console is configured on UART1 which is available
|
NSH. The serial console is configured on UART0 which is available
|
||||||
on JP5:
|
on J1:
|
||||||
|
|
||||||
UART1 RX signal (RXD1) is on PB.4, pin 8, and
|
---------------- ---------
|
||||||
UART1 TX signal (TXD1) is on PB.5, pin 9.
|
UART0 SIGNAL J1 pin
|
||||||
|
---------------- ---------
|
||||||
|
UART0_RX (PTA1) J1, pin 2
|
||||||
|
UART0_TX (PTA2) J1, pin 4
|
||||||
|
|
||||||
|
Ground is available on J2 pin 14. 3.3V is available on J3 and J4.
|
||||||
|
|
||||||
It is possible to configure NSH to use a USB serial console instead
|
It is possible to configure NSH to use a USB serial console instead
|
||||||
of an RS-232 serial console. However, that configuration has not
|
of an RS-232 serial console. However, that configuration has not
|
||||||
|
Loading…
Reference in New Issue
Block a user