@@ -211,7 +211,17 @@ static rt_err_t ra_uart_configure(struct rt_serial_device *serial, struct serial
211211 uart = rt_container_of (serial , struct ra_uart , serial );
212212 RT_ASSERT (uart != RT_NULL );
213213
214- #if defined(SOC_SERIES_R7FA8M85 ) || defined(SOC_SERIES_R7KA8P1 )
214+ #if defined(SOC_FAMILY_RENESAS_RA_WIRELESS )
215+ uart_w_extended_cfg_t * p_extend = (uart_w_extended_cfg_t * )uart -> config -> p_cfg -> p_extend ;
216+ RT_ASSERT (p_extend != RT_NULL );
217+ RT_ASSERT (p_extend -> p_baud_setting != RT_NULL );
218+
219+ err = R_UART_W_BaudCalculate (cfg -> baud_rate , p_extend -> p_baud_setting );
220+ if (FSP_SUCCESS == err )
221+ {
222+ err = R_UART_W_Open (uart -> config -> p_api_ctrl , uart -> config -> p_cfg );
223+ }
224+ #elif defined(SOC_SERIES_R7FA8M85 ) || defined(SOC_SERIES_R7KA8P1 )
215225 err = R_SCI_B_UART_Open (uart -> config -> p_api_ctrl , uart -> config -> p_cfg );
216226#else
217227 err = R_SCI_UART_Open (uart -> config -> p_api_ctrl , uart -> config -> p_cfg );
@@ -237,18 +247,39 @@ static int ra_uart_putc(struct rt_serial_device *serial, char c)
237247 uart = rt_container_of (serial , struct ra_uart , serial );
238248 RT_ASSERT (uart != RT_NULL );
239249
240- #if defined(SOC_SERIES_R7FA8M85 ) || defined(SOC_SERIES_R7KA8P1 )
250+ #if defined(SOC_FAMILY_RENESAS_RA_WIRELESS )
251+ uart_w_instance_ctrl_t * p_ctrl = (uart_w_instance_ctrl_t * )uart -> config -> p_api_ctrl ;
252+
253+ if (!R_UART_W_IsOpened (uart -> config -> p_api_ctrl ))
254+ {
255+ return -1 ;
256+ }
257+
258+ while (p_ctrl -> p_reg -> UART_FR_REG_b .TXFF )
259+ {
260+ }
261+
262+ (* (volatile rt_uint8_t * ) & p_ctrl -> p_reg -> UART_DR_REG ) = (rt_uint8_t )c ;
263+
264+ while (p_ctrl -> p_reg -> UART_FR_REG_b .BUSY )
265+ {
266+ }
267+ #elif defined(SOC_SERIES_R7FA8M85 ) || defined(SOC_SERIES_R7KA8P1 )
241268 sci_b_uart_instance_ctrl_t * p_ctrl = (sci_b_uart_instance_ctrl_t * )uart -> config -> p_api_ctrl ;
269+
270+ p_ctrl -> p_reg -> TDR = c ;
271+
272+ while ((p_ctrl -> p_reg -> CSR_b .TEND ) == 0 );
242273#else
243274 sci_uart_instance_ctrl_t * p_ctrl = (sci_uart_instance_ctrl_t * )uart -> config -> p_api_ctrl ;
244- #endif
245275
246276 p_ctrl -> p_reg -> TDR = c ;
247277
248- #if defined(SOC_SERIES_R7FA8M85 ) || defined( SOC_SERIES_R9A07G0 ) || defined( SOC_SERIES_R7KA8P1 )
278+ #if defined(SOC_SERIES_R9A07G0 )
249279 while ((p_ctrl -> p_reg -> CSR_b .TEND ) == 0 );
250- #else
280+ #else
251281 while ((p_ctrl -> p_reg -> SSR_b .TEND ) == 0 );
282+ #endif
252283#endif
253284
254285 return RT_EOK ;
0 commit comments