From 530cad304f5d457300d4a594866821d7d78f6006 Mon Sep 17 00:00:00 2001 From: Ouss4 Date: Sat, 13 Jun 2020 19:05:01 +0100 Subject: [PATCH] drivers/spi/spi_bitbang.c: Fix typos and nxstyle complaints. --- boards/arm/sam34/arduino-due/src/sam_mmcsd.c | 5 +- .../sam34/arduino-due/src/sam_touchscreen.c | 2 +- drivers/spi/spi_bitbang.c | 14 ++--- include/nuttx/spi/spi_bitbang.c | 63 +++++++++++-------- 4 files changed, 48 insertions(+), 36 deletions(-) diff --git a/boards/arm/sam34/arduino-due/src/sam_mmcsd.c b/boards/arm/sam34/arduino-due/src/sam_mmcsd.c index 9f5954c248..843ce2af72 100644 --- a/boards/arm/sam34/arduino-due/src/sam_mmcsd.c +++ b/boards/arm/sam34/arduino-due/src/sam_mmcsd.c @@ -93,7 +93,7 @@ /* Calibration value for timing loop */ -#define SPI_BITBAND_LOOPSPERMSEC CONFIG_BOARD_LOOPSPERMSEC +#define SPI_BITBANG_LOOPSPERMSEC CONFIG_BOARD_LOOPSPERMSEC /* SPI_PERBIT_NSEC is the minimum time to transfer one bit. This determines * the maximum frequency and is also used to calculate delays to achieve @@ -275,7 +275,8 @@ int sam_sdinitialize(int minor) ret = mmcsd_spislotinitialize(minor, SAM34_MMCSDSLOTNO, spi); if (ret < 0) { - ferr("ERROR: Failed to bind bit bang SPI device to MMC/SD slot %d: %d\n", + ferr("ERROR: Failed to bind bit bang SPI device" + " to MMC/SD slot %d: %d\n", SAM34_MMCSDSLOTNO, ret); return ret; } diff --git a/boards/arm/sam34/arduino-due/src/sam_touchscreen.c b/boards/arm/sam34/arduino-due/src/sam_touchscreen.c index 8a86eaa896..2eb5e968bd 100644 --- a/boards/arm/sam34/arduino-due/src/sam_touchscreen.c +++ b/boards/arm/sam34/arduino-due/src/sam_touchscreen.c @@ -108,7 +108,7 @@ /* Calibration value for timing loop */ -#define SPI_BITBAND_LOOPSPERMSEC CONFIG_BOARD_LOOPSPERMSEC +#define SPI_BITBANG_LOOPSPERMSEC CONFIG_BOARD_LOOPSPERMSEC /* SPI_PERBIT_NSEC is the minimum time to transfer one bit. This determines * the maximum frequency and is also used to calculate delays to achieve diff --git a/drivers/spi/spi_bitbang.c b/drivers/spi/spi_bitbang.c index 91822cf56c..263e3c87b6 100644 --- a/drivers/spi/spi_bitbang.c +++ b/drivers/spi/spi_bitbang.c @@ -55,8 +55,8 @@ * Pre-processor Definitions ****************************************************************************/ -/* This file holds the static, device-independ portion of the generica SPI- - * bit-bang driver. The full driver consists of 5 files: +/* This file holds the static, device-independent portion of the generic + * SPI-bit-bang driver. The full driver consists of 5 files: * * 1. drivers/spi/spi_bitbang.c: This file. This file holds the basic * SPI driver framework and not perform any direct bit-bang operations. @@ -68,17 +68,17 @@ * 3. boards////src/: The implementation of the * low-level bit-bang logic resides in some file in the board source * directory. This board-specific logic includes the bit-bang skeleton - * logic provided in include/nuttx/spi/spi_bitband.c. - * 4. include/nuttx/spi/spi_bitband.c. Despite the .c extension, this + * logic provided in include/nuttx/spi/spi_bitbang.c. + * 4. include/nuttx/spi/spi_bitbang.c. Despite the .c extension, this is * really an included file. It is used in this way: 1) The board- * specific logic in boards////src/ provides - * some definitions then 2) includes include/nuttx/spi/spi_bitband.c. + * some definitions then 2) includes include/nuttx/spi/spi_bitbang.c. * That file will then use those definitions to implement the low-level - * bit-bang logic. the board-specific logic then calls + * bit-bang logic. The board-specific logic then calls * spi_create_bitbang() in this file to instantiate the complete SPI * driver. * - * See include/nuttx/spi/spi_bitband.c for more detailed usage + * See include/nuttx/spi/spi_bitbang.c for more detailed usage * information. */ diff --git a/include/nuttx/spi/spi_bitbang.c b/include/nuttx/spi/spi_bitbang.c index 6d483ee396..9cc56cba5e 100644 --- a/include/nuttx/spi/spi_bitbang.c +++ b/include/nuttx/spi/spi_bitbang.c @@ -44,7 +44,9 @@ /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ + /* Usage ********************************************************************/ + /* To use this logic, you should provide a C file that does the following: * * - Defines SPI_SETSCK and SPI_CLRSCK to set and clear the SCK signal @@ -53,12 +55,12 @@ * - Defines SPI_PERBIT_NSEC which is the minimum time to transfer one bit. * This determines the maximum frequency. * - Other configuration options: - * SPI_BITBAND_LOOPSPERMSEC - Delay loop calibration + * SPI_BITBANG_LOOPSPERMSEC - Delay loop calibration * SPI_BITBANG_DISABLEMODE0 - Define to disable Mode 0 support * SPI_BITBANG_DISABLEMODE1 - Define to disable Mode 1 support * SPI_BITBANG_DISABLEMODE2 - Define to disable Mode 2 support * SPI_BITBANG_DISABLEMODE3 - Define to disable Mode 3 support - * - Provide implementations of spi_select(), spi_status(), and spi_cmddata(). + * - Provide implementations of spi_select(), spi_status() and spi_cmddata(). * - Then include this file * - Provide an initialization function that initializes the GPIO pins used * in the bit bang interface and calls spi_create_bitbang(). @@ -115,6 +117,7 @@ static const struct spi_bitbang_ops_s g_spiops = /**************************************************************************** * Private Functions ****************************************************************************/ + /**************************************************************************** * Name: spi_delay * @@ -122,10 +125,10 @@ static const struct spi_bitbang_ops_s g_spiops = * Delay for a specified number of loops * * Input Parameters: - * count - The number of loops + * holdtime - The number of loops * * Returned Value: - * Returns the actual frequency selected + * None. * ****************************************************************************/ @@ -143,7 +146,7 @@ static void spi_delay(uint32_t holdtime) * Set the SPI frequency. * * Input Parameters: - * dev - Device-specific state data + * priv - Device-specific state data * frequency - The SPI frequency requested * * Returned Value: @@ -151,7 +154,8 @@ static void spi_delay(uint32_t holdtime) * ****************************************************************************/ -static uint32_t spi_setfrequency(FAR struct spi_bitbang_s *priv, uint32_t frequency) +static uint32_t spi_setfrequency(FAR struct spi_bitbang_s *priv, + uint32_t frequency) { uint32_t pnsec; @@ -160,11 +164,14 @@ static uint32_t spi_setfrequency(FAR struct spi_bitbang_s *priv, uint32_t freque * wait, set low, wait, set high, wait, etc. * * Here we calcalute the half period of the frequency in nanoseconds (i.e., - * the amount of time that the clock should remain in the high or low state). + * the amount of time that the clock should remain in the high or low + * state). * - * frequency = psec / 1 sec psec = full period in seconds + * frequency = psec / 1 sec + * psec = full period in seconds * psec = 1 sec / frequency - * pnsec = 1000000000 nsec / (2 * frequency) pnsec = full period in nsec + * pnsec = 1000000000 nsec / (2 * frequency) + * pnsec = full period in nsec * * As examples: * 1) frequency = 400KHz; SPI_PERBIT_NSEC = 100 @@ -190,41 +197,43 @@ static uint32_t spi_setfrequency(FAR struct spi_bitbang_s *priv, uint32_t freque pnsec = (pnsec + 1) >> 1; - /* But what we really want is the hold time in loop counts. We know that - * SPI_BITBAND_LOOPSPERMSEC is the number of times through a delay loop + /* But what we really want is the hold time in loop counts. We know that + * SPI_BITBANG_LOOPSPERMSEC is the number of times through a delay loop * to get 1 millisecond. * - * SPI_BITBAND_LOOPSPERMSEC / 1000000 is then the number of counts + * SPI_BITBANG_LOOPSPERMSEC / 1000000 is then the number of counts * to get 1 nanosecond. In reality, this is a number less than zero. But * then we can use this to calculate: * - * holdtime loops/hold = pnsec nsec/hold * (SPI_BITBAND_LOOPSPERMSEC / 1000000) loops/nsec + * holdtime loops/hold = pnsec nsec/hold * (SPI_BITBANG_LOOPSPERMSEC / + * 1000000) loops/nsec * * As examples: * 1) frequency = 400KHz; SPI_PERBIT_NSEC = 100; pnsec = 1200; - * SPI_BITBAND_LOOPSPERMSEC = 5000 + * SPI_BITBANG_LOOPSPERMSEC = 5000 * holdtime = (1200 * 5000 + 500000) / 1000000 = 6 * 2) frequency = 20MHz; SPI_PERBIT_NSEC = 100; pnsec = 0; - * SPI_BITBAND_LOOPSPERMSEC = 5000 + * SPI_BITBANG_LOOPSPERMSEC = 5000 * holdtime = (0 * 5000 + 500000) / 1000000 = 0 */ - priv->holdtime = (pnsec * SPI_BITBAND_LOOPSPERMSEC + 500000) / 1000000; + priv->holdtime = (pnsec * SPI_BITBANG_LOOPSPERMSEC + 500000) / 1000000; /* Let's do our best to calculate the actual frequency * * As examples: * 1) frequency = 400KHz; SPI_PERBIT_NSEC = 100; - * SPI_BITBAND_LOOPSPERMSEC = 5000; holdtime = 6 + * SPI_BITBANG_LOOPSPERMSEC = 5000; holdtime = 6 * pnsec = 2 * 1000000 * 6 / 5000 + 100 = 2500 nsec * frequency = 400KHz * 2) frequency = 20MHz; SPI_PERBIT_NSEC = 100; holdtime = 0 - * SPI_BITBAND_LOOPSPERMSEC = 5000; holdtime = 0 + * SPI_BITBANG_LOOPSPERMSEC = 5000; holdtime = 0 * pnsec = 2 * 0 * 6 / 5000 + 100 = 100 nsec * frequency = 10MHz */ - pnsec = 2 * 1000000 * priv->holdtime / SPI_BITBAND_LOOPSPERMSEC + SPI_PERBIT_NSEC; + pnsec = 2 * 1000000 * priv->holdtime / SPI_BITBANG_LOOPSPERMSEC + + SPI_PERBIT_NSEC; frequency = 1000000000ul / pnsec; return frequency; } @@ -236,8 +245,8 @@ static uint32_t spi_setfrequency(FAR struct spi_bitbang_s *priv, uint32_t freque * Select the current SPI mode * * Input Parameters: - * dev - Device-specific state data - * mode - the new SPI mode + * priv - Device-specific state data + * mode - The new SPI mode * * Returned Value: * None @@ -466,8 +475,8 @@ static uint16_t spi_bitexchange2(uint16_t dataout, uint32_t holdtime) { uint16_t datain; - /* Here the clock is is in the resting set (high). Set MOSI output and wait - * for the hold time + /* Here the clock is is in the resting set (high). Set MOSI output and + * wait for the hold time */ if (dataout != 0) @@ -568,7 +577,7 @@ static uint16_t spi_bitexchange3(uint16_t dataout, uint32_t holdtime) * Name: spi_exchange * * Description: - * Exahange on word of data on SPI + * Exahange one word of data on SPI * * Input Parameters: * priv - Device-specific state data @@ -580,7 +589,8 @@ static uint16_t spi_bitexchange3(uint16_t dataout, uint32_t holdtime) ****************************************************************************/ #ifdef CONFIG_SPI_BITBANG_VARWIDTH -static uint16_t spi_exchange(FAR struct spi_bitbang_s *priv, uint16_t dataout) +static uint16_t spi_exchange(FAR struct spi_bitbang_s *priv, + uint16_t dataout) { bitexchange_t exchange = priv->exchange; uint32_t holdtime = priv->holdtime; @@ -609,7 +619,8 @@ static uint16_t spi_exchange(FAR struct spi_bitbang_s *priv, uint16_t dataout) } #else -static uint16_t spi_exchange(FAR struct spi_bitbang_s *priv, uint16_t dataout) +static uint16_t spi_exchange(FAR struct spi_bitbang_s *priv, + uint16_t dataout) { bitexchange_t exchange = priv->exchange; uint32_t holdtime = priv->holdtime;