90 lines
1.6 KiB
C
90 lines
1.6 KiB
C
#ifndef _LCD_CFG_H_
|
|
#define _LCD_CFG_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#define COORD_Y_REVERSE (1<<0)
|
|
#define COORD_X_REVERSE (1<<1)
|
|
#define COORD_XY_EXCHANGE (1<<2)
|
|
|
|
|
|
#define DEFAULT_LCD_CONFIG {\
|
|
type: "rgb",\
|
|
width:480,\
|
|
height:272,\
|
|
bits_pixel:18,\
|
|
timing:\
|
|
{\
|
|
pixel_clock_hz:10000000,\
|
|
h_front_porch:8,\
|
|
h_back_porch:43,\
|
|
h_sync_len:4,\
|
|
v_front_porch:8,\
|
|
v_back_porch:12,\
|
|
v_sync_len:4,\
|
|
h_sync_active:0,\
|
|
v_sync_active:0,\
|
|
den_active:1,\
|
|
clk_active:1\
|
|
},\
|
|
swap_flag:0,\
|
|
ctp_flag:0,\
|
|
bl_mode:1,\
|
|
bl_gpio_pin:GPIOB(6),\
|
|
bl_gpio_level:1,\
|
|
bl_pwm_name: "pwm",\
|
|
bl_pwm_hz:1000,\
|
|
bl_pwm_pol:0,\
|
|
bl_pwm_val:60,\
|
|
bl_pin:GPIOG(13),\
|
|
bl_level:1,\
|
|
pwr_pin:GPIOG(15),\
|
|
pwr_level:1,\
|
|
lane:4\
|
|
}
|
|
|
|
struct panel_timing
|
|
{
|
|
int pixel_clock_hz;
|
|
int h_front_porch;
|
|
int h_back_porch;
|
|
int h_sync_len;
|
|
int v_front_porch;
|
|
int v_back_porch;
|
|
int v_sync_len;
|
|
int h_sync_active;
|
|
int v_sync_active;
|
|
int den_active;
|
|
int clk_active;
|
|
};
|
|
typedef struct panel_timing *panel_timing_t;
|
|
|
|
struct lcd_cfg_panel_info
|
|
{
|
|
rt_int8_t type[8];
|
|
int width;
|
|
int height;
|
|
int bits_pixel;
|
|
struct panel_timing timing;
|
|
int swap_flag;
|
|
int ctp_flag;
|
|
|
|
int bl_mode;
|
|
int bl_gpio_pin;
|
|
int bl_gpio_level;
|
|
rt_int8_t bl_pwm_name[8];
|
|
int bl_pwm_hz;
|
|
int bl_pwm_pol;
|
|
int bl_pwm_val;
|
|
int bl_pin;
|
|
int bl_level;
|
|
int pwr_pin;
|
|
int pwr_level;
|
|
int lane;
|
|
|
|
};
|
|
|
|
const struct lcd_cfg_panel_info* load_lcd_config_from_xml(void);
|
|
|
|
#endif
|