mirror of
https://github.com/apache/nuttx.git
synced 2026-06-07 01:05:54 +08:00
All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features
This commit is contained in:
@@ -299,10 +299,11 @@ static inline void memlcd_configspi(FAR struct spi_dev_s *spi)
|
||||
#ifdef CONFIG_SPI_OWNBUS
|
||||
SPI_SETMODE(spi, MEMLCD_SPI_MODE);
|
||||
SPI_SETBITS(spi, MEMLCD_SPI_BITS);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
# ifdef CONFIG_MEMLCD_SPI_FREQUENCY
|
||||
SPI_SETFREQUENCY(spi, CONFIG_MEMLCD_SPI_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_MEMLCD_SPI_FREQUENCY);
|
||||
# else
|
||||
SPI_SETFREQUENCY(spi, MEMLCD_SPI_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, MEMLCD_SPI_FREQUENCY);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
@@ -344,10 +345,11 @@ static void memlcd_select(FAR struct spi_dev_s *spi)
|
||||
*/
|
||||
SPI_SETMODE(spi, MEMLCD_SPI_MODE);
|
||||
SPI_SETBITS(spi, MEMLCD_SPI_BITS);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
# ifdef CONFIG_MEMLCD_SPI_FREQUENCY
|
||||
SPI_SETFREQUENCY(spi, CONFIG_MEMLCD_SPI_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_MEMLCD_SPI_FREQUENCY);
|
||||
# else
|
||||
SPI_SETFREQUENCY(spi, MEMLCD_SPI_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, MEMLCD_SPI_FREQUENCY);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -678,7 +678,8 @@ static inline void nokia_configspi(FAR struct spi_dev_s *spi)
|
||||
#ifdef CONFIG_SPI_OWNBUS
|
||||
SPI_SETMODE(spi, CONFIG_NOKIA6100_SPIMODE);
|
||||
SPI_SETBITS(spi, CONFIG_NOKIA6100_WORDWIDTH);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_NOKIA6100_FREQUENCY)
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_NOKIA6100_FREQUENCY)
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -723,7 +724,8 @@ static void nokia_select(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_NOKIA6100_SPIMODE);
|
||||
SPI_SETBITS(spi, CONFIG_NOKIA6100_WORDWIDTH);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_NOKIA6100_FREQUENCY);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_NOKIA6100_FREQUENCY);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -460,8 +460,9 @@ static inline void rit_configspi(FAR struct spi_dev_s *spi)
|
||||
#ifdef CONFIG_SPI_OWNBUS
|
||||
SPI_SETMODE(spi, CONFIG_P14201_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
#ifdef CONFIG_P14201_FREQUENCY
|
||||
SPI_SETFREQUENCY(spi, CONFIG_P14201_FREQUENCY)
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_P14201_FREQUENCY)
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@@ -505,8 +506,9 @@ static void rit_select(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_P14201_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
#ifdef CONFIG_P14201_FREQUENCY
|
||||
SPI_SETFREQUENCY(spi, CONFIG_P14201_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_P14201_FREQUENCY);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -824,15 +824,16 @@ FAR struct lcd_dev_s *ssd1306_initialize(FAR struct i2c_dev_s *dev, unsigned int
|
||||
*/
|
||||
|
||||
# ifdef CONFIG_SPI_OWNBUS
|
||||
/* Configure SPI */
|
||||
/* Configure SPI */
|
||||
|
||||
SPI_SETMODE(priv->spi, CONFIG_SSD1306_SPIMODE);
|
||||
SPI_SETBITS(priv->spi, 8);
|
||||
SPI_SETFREQUENCY(priv->spi, CONFIG_SSD1306_FREQUENCY);
|
||||
SPI_SETMODE(priv->spi, CONFIG_SSD1306_SPIMODE);
|
||||
SPI_SETBITS(priv->spi, 8);
|
||||
(void)SPI_HWFEATURES(priv->spi, 0);
|
||||
(void)SPI_SETFREQUENCY(priv->spi, CONFIG_SSD1306_FREQUENCY);
|
||||
# else
|
||||
/* Configure the SPI */
|
||||
/* Configure the SPI */
|
||||
|
||||
ssd1306_configspi(priv->spi);
|
||||
ssd1306_configspi(priv->spi);
|
||||
# endif
|
||||
|
||||
#else
|
||||
|
||||
@@ -71,7 +71,8 @@ static inline void ssd1306_configspi(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_SSD1306_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_SSD1306_FREQUENCY);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_SSD1306_FREQUENCY);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -510,7 +510,8 @@ static void ssd1351_select(FAR struct ssd1351_dev_s *priv)
|
||||
#ifndef CONFIG_SPI_OWNBUS
|
||||
SPI_SETMODE(spi, CONFIG_SSD1351_SPIMODE);
|
||||
SPI_SETBITS(spi, SSD1351_SPIBITS);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_SSD1351_SPIFREQ);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_SSD1351_SPIFREQ);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
@@ -1196,7 +1197,8 @@ FAR struct lcd_dev_s *ssd1351_initialize(FAR struct spi_dev_s *spi,
|
||||
#ifdef CONFIG_SPI_OWNBUS
|
||||
SPI_SETMODE(spi, CONFIG_SSD1351_SPIMODE);
|
||||
SPI_SETBITS(spi, SSD1351_SPIBITS);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_SSD1351_SPIFREQ);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_SSD1351_SPIFREQ);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -394,8 +394,9 @@ static void st7567_select(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_ST7567_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
#ifdef CONFIG_ST7567_FREQUENCY
|
||||
SPI_SETFREQUENCY(spi, CONFIG_ST7567_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_ST7567_FREQUENCY);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -436,7 +436,8 @@ static inline void ug2864ambag01_configspi(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_UG2864AMBAG01_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_UG2864AMBAG01_FREQUENCY);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_UG2864AMBAG01_FREQUENCY);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -469,7 +470,8 @@ static inline void ug2864ambag01_lock(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_UG2864AMBAG01_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
SPI_SETFREQUENCY(spi, CONFIG_UG2864AMBAG01_FREQUENCY);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_UG2864AMBAG01_FREQUENCY);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -438,8 +438,9 @@ static void ug_select(FAR struct spi_dev_s *spi)
|
||||
|
||||
SPI_SETMODE(spi, CONFIG_UG9664HSWAG01_SPIMODE);
|
||||
SPI_SETBITS(spi, 8);
|
||||
(void)SPI_HWFEATURES(spi, 0);
|
||||
#ifdef CONFIG_UG9664HSWAG01_FREQUENCY
|
||||
SPI_SETFREQUENCY(spi, CONFIG_UG9664HSWAG01_FREQUENCY);
|
||||
(void)SPI_SETFREQUENCY(spi, CONFIG_UG9664HSWAG01_FREQUENCY);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user