rt-thread/bsp/allwinner/libraries/drivers/lcd_cfg.h

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