@@ -149,12 +149,18 @@ ESP_STATIC_ASSERT(sizeof(twai_ll_frame_buffer_t) == 13, "TX/RX buffer type shoul
149149 */
150150static inline void twai_ll_enable_bus_clock (int group_id , bool enable )
151151{
152- switch (group_id )
153- {
154- case 0 : HP_SYS_CLKRST .soc_clk_ctrl2 .reg_twai0_apb_clk_en = enable ; break ;
155- case 1 : HP_SYS_CLKRST .soc_clk_ctrl2 .reg_twai1_apb_clk_en = enable ; break ;
156- case 2 : HP_SYS_CLKRST .soc_clk_ctrl2 .reg_twai2_apb_clk_en = enable ; break ;
157- default : HAL_ASSERT (false);
152+ switch (group_id ) {
153+ case 0 :
154+ HP_SYS_CLKRST .soc_clk_ctrl2 .reg_twai0_apb_clk_en = enable ;
155+ break ;
156+ case 1 :
157+ HP_SYS_CLKRST .soc_clk_ctrl2 .reg_twai1_apb_clk_en = enable ;
158+ break ;
159+ case 2 :
160+ HP_SYS_CLKRST .soc_clk_ctrl2 .reg_twai2_apb_clk_en = enable ;
161+ break ;
162+ default :
163+ HAL_ASSERT (false);
158164 }
159165}
160166
@@ -169,17 +175,19 @@ static inline void twai_ll_enable_bus_clock(int group_id, bool enable)
169175 */
170176static inline void twai_ll_reset_register (int group_id )
171177{
172- switch (group_id )
173- {
174- case 0 : HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai0 = 1 ;
175- HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai0 = 0 ;
176- break ;
177- case 1 : HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai1 = 1 ;
178- HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai1 = 0 ;
179- break ;
180- case 2 : HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai2 = 1 ;
181- HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai2 = 0 ;
182- break ;
178+ switch (group_id ) {
179+ case 0 :
180+ HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai0 = 1 ;
181+ HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai0 = 0 ;
182+ break ;
183+ case 1 :
184+ HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai1 = 1 ;
185+ HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai1 = 0 ;
186+ break ;
187+ case 2 :
188+ HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai2 = 1 ;
189+ HP_SYS_CLKRST .hp_rst_en1 .reg_rst_en_twai2 = 0 ;
190+ break ;
183191 default : HAL_ASSERT (false);
184192 }
185193}
@@ -220,21 +228,23 @@ static inline void twai_ll_enable_clock(int group_id, bool en)
220228__attribute__((always_inline ))
221229static inline void twai_ll_set_clock_source (int group_id , twai_clock_source_t clk_src )
222230{
231+ // We do not plan to support the TWAI_CLK_SRC_RC_FAST clock source,
232+ // as the accuracy of this clock does not meet the requirements for the baud rate
233+ HAL_ASSERT (clk_src == TWAI_CLK_SRC_XTAL );
223234 uint32_t clk_id = 0 ;
224235
225- switch (clk_src ) {
226- case TWAI_CLK_SRC_XTAL : clk_id = 0 ; break ;
227- #if SOC_CLK_TREE_SUPPORTED
228- case TWAI_CLK_SRC_RC_FAST : clk_id = 1 ; break ;
229- #endif
230- default : HAL_ASSERT (false);
231- }
232-
233236 switch (group_id ) {
234- case 0 : HP_SYS_CLKRST .peri_clk_ctrl115 .reg_twai0_clk_src_sel = clk_id ; break ;
235- case 1 : HP_SYS_CLKRST .peri_clk_ctrl115 .reg_twai1_clk_src_sel = clk_id ; break ;
236- case 2 : HP_SYS_CLKRST .peri_clk_ctrl115 .reg_twai2_clk_src_sel = clk_id ; break ;
237- default : HAL_ASSERT (false);
237+ case 0 :
238+ HP_SYS_CLKRST .peri_clk_ctrl115 .reg_twai0_clk_src_sel = clk_id ;
239+ break ;
240+ case 1 :
241+ HP_SYS_CLKRST .peri_clk_ctrl115 .reg_twai1_clk_src_sel = clk_id ;
242+ break ;
243+ case 2 :
244+ HP_SYS_CLKRST .peri_clk_ctrl115 .reg_twai2_clk_src_sel = clk_id ;
245+ break ;
246+ default :
247+ HAL_ASSERT (false);
238248 }
239249}
240250
@@ -542,9 +552,9 @@ __attribute__((always_inline))
542552static inline void twai_ll_parse_err_code_cap (twai_dev_t * hw , twai_ll_err_type_t * type , twai_ll_err_dir_t * dir , twai_ll_err_seg_t * seg )
543553{
544554 uint32_t ecc = hw -> err_code_cap .val ;
545- * type = (twai_ll_err_type_t ) ((ecc >> 6 ) & 0x3 );
546- * dir = (twai_ll_err_dir_t ) ((ecc >> 5 ) & 0x1 );
547- * seg = (twai_ll_err_seg_t ) (ecc & 0x1F );
555+ * type = (twai_ll_err_type_t )((ecc >> 6 ) & 0x3 );
556+ * dir = (twai_ll_err_dir_t )((ecc >> 5 ) & 0x1 );
557+ * seg = (twai_ll_err_seg_t )(ecc & 0x1F );
548558}
549559
550560/* ----------------------------- EWL Register ------------------------------- */
0 commit comments