@@ -77,27 +77,17 @@ static bool spi_siwx91x_is_dma_enabled_instance(const struct device *dev)
7777#endif
7878}
7979
80- void gspi_siwx91x_pick_lower_freq (uint32_t clock_hz , uint32_t requested_hz , uint32_t * actual_hz_out ,
81- uint32_t * div_out )
80+ static uint32_t gspi_siwx91x_get_divider (uint32_t clock_hz , uint32_t requested_hz )
8281{
83- /* Calculate divider that ensures freq <= requested */
8482 uint32_t divider = DIV_ROUND_UP (clock_hz , 2 * requested_hz );
85- uint32_t actual_hz ;
83+ uint32_t actual_freq = clock_hz / ( 2U * divider ); ;
8684
87- if (divider == 0U ) {
88- divider = 1U ;
85+ if (requested_hz != actual_freq ) {
86+ LOG_INF ("Requested %u Hz, programmed %u Hz (divider=%u)" ,
87+ requested_hz , actual_freq , divider );
8988 }
9089
91- /* Compute the actual achievable frequency */
92- actual_hz = clock_hz / (2U * divider );
93-
94- if (actual_hz_out ) {
95- * actual_hz_out = actual_hz ;
96- }
97-
98- if (div_out ) {
99- * div_out = divider ;
100- }
90+ return divider ;
10191}
10292
10393static int gspi_siwx91x_config (const struct device * dev , const struct spi_config * spi_cfg ,
@@ -106,7 +96,6 @@ static int gspi_siwx91x_config(const struct device *dev, const struct spi_config
10696 __maybe_unused struct gspi_siwx91x_data * data = dev -> data ;
10797 const struct gspi_siwx91x_config * cfg = dev -> config ;
10898 uint32_t clk_div_factor ;
109- uint32_t actual_freq ;
11099 uint32_t clock_rate ;
111100 int ret ;
112101 __maybe_unused int channel_filter ;
@@ -143,13 +132,7 @@ static int gspi_siwx91x_config(const struct device *dev, const struct spi_config
143132 if (ret ) {
144133 return ret ;
145134 }
146-
147- gspi_siwx91x_pick_lower_freq (clock_rate , spi_cfg -> frequency , & actual_freq ,
148- & clk_div_factor );
149- if (spi_cfg -> frequency != actual_freq ) {
150- LOG_INF ("Requested %u Hz, programmed %u Hz (divider=%u)" ,
151- spi_cfg -> frequency , actual_freq , clk_div_factor );
152- }
135+ clk_div_factor = gspi_siwx91x_get_divider (clock_rate , spi_cfg -> frequency );
153136 }
154137
155138 /* Set the clock divider factor */
0 commit comments