AuroraRAS opened a new pull request, #18532:
URL: https://github.com/apache/nuttx/pull/18532

   ## Summary
   
   This PR makes the SPI communication frequencies for the CC1101 wireless 
driver configurable via Kconfig.
   
   Previously, `CC1101_SPIFREQ_BURST` and `CC1101_SPIFREQ_SINGLE` were 
hardcoded to 6.5 MHz and 9.0 MHz in `drivers/wireless/cc1101.c`. While these 
defaults work well for many typical setups, they can cause stability issues on 
sub-optimal hardware. Platforms with higher routing capacitance, long trace 
lines, or those that utilize internal GPIO switching matrices (such as the 
ESP32) can severely degrade SPI signal integrity, causing the CC1101 driver 
initialization to fail.
   
   This change introduces `CONFIG_CC1101_SPIFREQ_BURST` and 
`CONFIG_CC1101_SPIFREQ_SINGLE` into `drivers/wireless/Kconfig` and updates the 
C source file to use these definitions. The original hardcoded values are 
preserved as the fallback defaults to ensure backward compatibility for 
existing users.
   
   ## Impact
   
   * **Build:** Adds `CONFIG_CC1101_SPIFREQ_BURST` and 
`CONFIG_CC1101_SPIFREQ_SINGLE` to the configuration menu under the CC1101 
driver settings.
   * **Runtime:** No change to the default runtime behavior. If users modify 
the values in `make menuconfig`, the SPI clock speed during CC1101 access will 
adjust accordingly.
   * **Hardware/Architecture:** Architecture-independent. Applies to any 
hardware utilizing the CC1101 driver, especially beneficial for platforms with 
restrictive IO constraints.
   * **API:** None.
   
   ## Testing
   
   * **Build Testing:** Verified that NuttX builds successfully with the 
default configuration (falling back to the standard 6.5 MHz / 9.0 MHz) and when 
custom frequencies are specified.
   * **Hardware Testing:** Tested on a platform utilizing an internal GPIO 
matrix (ESP32) where routing capacitance and signal degradation prevented the 
CC1101 from loading at the default 6.5 MHz / 9.0 MHz speeds. Configured both 
SPI frequencies to 4.0 MHz via menuconfig, which successfully resolved the 
signal integrity issues and allowed the CC1101 to initialize and function 
correctly.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to