guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00

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