1414#ifdef BSP_USING_LCD
1515#ifdef SOC_SERIES_R7FA8M85
1616#include <ra8/lcd_config.h>
17+ #else
18+ #include <ra6m3/lcd_config.h>
1719#endif
1820#include <drv_lcd.h>
1921
@@ -38,16 +40,16 @@ static uint16_t *lcd_current_working_buffer = (uint16_t *) &fb_background[0];
3840
3941#ifdef SOC_SERIES_R7FA8M85
4042static uint8_t lcd_framebuffer [LCD_BUF_SIZE ] BSP_ALIGN_VARIABLE (64 ) BSP_PLACE_IN_SECTION (".sdram" );
41- #else
42- static uint8_t lcd_framebuffer [LCD_BUF_SIZE ] BSP_ALIGN_VARIABLE (64 );
4343#endif
4444
4545// G2D
4646extern d2_device * d2_handle0 ;
4747static d2_device * * _d2_handle_user = & d2_handle0 ;
4848static d2_renderbuffer * renderbuffer ;
4949
50+ #ifdef SOC_SERIES_R7FA8M85
5051extern void ra8_mipi_lcd_init (void );
52+ #endif
5153
5254rt_weak void DisplayVsyncCallback (display_callback_args_t * p_args )
5355{
@@ -260,6 +262,7 @@ static rt_err_t ra_lcd_control(rt_device_t device, int cmd, void *args)
260262 {
261263 case RTGRAPHIC_CTRL_RECT_UPDATE :
262264 {
265+ #ifdef SOC_SERIES_R7FA8M85
263266 struct rt_device_rect_info * info = (struct rt_device_rect_info * )args ;
264267#if defined (__DCACHE_PRESENT ) && (__DCACHE_PRESENT == 1U )
265268 SCB_CleanInvalidateDCache_by_Addr ((uint32_t * )lcd -> lcd_info .framebuffer , sizeof (fb_background [0 ]));
@@ -276,6 +279,7 @@ static rt_err_t ra_lcd_control(rt_device_t device, int cmd, void *args)
276279 fsp_err_t err = R_GLCDC_BufferChange (& g_display0_ctrl , (uint8_t * ) lcd_current_working_buffer , DISPLAY_FRAME_LAYER_1 );
277280 RT_ASSERT (err == 0 );
278281#endif
282+ #endif /* SOC_SERIES_R7FA8M85 */
279283 /* wait for vsync interrupt */
280284 vsync_wait ();
281285 }
@@ -316,11 +320,13 @@ static rt_err_t drv_lcd_init(struct rt_device *device)
316320
317321static void reset_lcd_panel (void )
318322{
323+ #ifdef LCD_RST_PIN
319324 rt_pin_mode (LCD_RST_PIN , PIN_MODE_OUTPUT );
320325 rt_pin_write (LCD_RST_PIN , PIN_LOW );
321326 rt_thread_mdelay (100 );
322327 rt_pin_write (LCD_RST_PIN , PIN_HIGH );
323328 rt_thread_mdelay (100 );
329+ #endif
324330}
325331
326332static rt_err_t ra_bsp_lcd_init (void )
@@ -334,13 +340,14 @@ static rt_err_t ra_bsp_lcd_init(void)
334340 error = R_GLCDC_Open (& g_display0_ctrl , & g_display0_cfg );
335341 if (FSP_SUCCESS == error )
336342 {
343+ #ifdef SOC_SERIES_R7FA8M85
337344 /* config mipi */
338345 ra8_mipi_lcd_init ();
339-
346+ #endif
340347 /* Initialize g2d */
341348 error = g2d_drv_hwInit ();
342349
343- /** Display driver start */
350+ /* Display driver start */
344351 error = R_GLCDC_Start (& g_display0_ctrl );
345352 }
346353
@@ -359,13 +366,11 @@ int rt_hw_lcd_init(void)
359366 _lcd .lcd_info .width = LCD_WIDTH ;
360367 _lcd .lcd_info .bits_per_pixel = LCD_BITS_PER_PIXEL ;
361368 _lcd .lcd_info .pixel_format = LCD_PIXEL_FORMAT ;
362-
369+ #ifdef SOC_SERIES_R7FA8M85
363370 _lcd .lcd_info .framebuffer = (uint8_t * )lcd_framebuffer ;
364- if (_lcd .lcd_info .framebuffer == NULL )
365- {
366- LOG_E ("alloc lcd framebuffer fail" );
367- return - RT_ERROR ;
368- }
371+ #else
372+ _lcd .lcd_info .framebuffer = (uint8_t * )& fb_background [0 ];
373+ #endif
369374 LOG_D ("\nlcd framebuffer address:%#x" , _lcd .lcd_info .framebuffer );
370375 memset (_lcd .lcd_info .framebuffer , 0x0 , LCD_BUF_SIZE );
371376
0 commit comments