nt9856x/BSP/u-boot/arch/arm/include/asm/arch-nvt-na51103_a64/lcd310.h
2023-03-28 15:07:53 +08:00

51 lines
1.4 KiB
C
Executable File

#include <common.h>
#include <command.h>
#include <config.h>
#include <asm/io.h>
#include <asm/arch/IOAddress.h>
/*---------------------------------------------------------------
* definition
*---------------------------------------------------------------
*/
typedef enum {
VIN_720x480,
VIN_1024x768,
VIN_1280x720,
VIN_1920x1080,
} lcd_vin_t;
/* combination: MSB 16bits: codec, LSB 16bit: output format */
typedef enum {
OUTPUT_BT1120_720P,
OUTPUT_BT1120_1080P,
OUTPUT_BT1120_1024x768,
/* The following is the VESA */
OUTPUT_VESA = 0x1000,
OUTPUT_VGA_1280x720 = OUTPUT_VESA,
OUTPUT_VGA_1920x1080,
OUTPUT_VGA_1024x768,
/* for both RGB and BT1120, LCD300 use */
OUTPUT_1280x720 = (OUTPUT_BT1120_720P | OUTPUT_VGA_1280x720),
OUTPUT_1920x1080 = (OUTPUT_BT1120_1080P | OUTPUT_VGA_1920x1080),
OUTPUT_1024x768 = (OUTPUT_BT1120_1024x768 | OUTPUT_VGA_1024x768),
} lcd_output_t;
typedef enum {
INPUT_FMT_YUV422 = 0,
INPUT_FMT_RGB888,
INPUT_FMT_RGB565,
INPUT_FMT_ARGB1555,
} input_fmt_t;
typedef enum {
LCD_ID = 0,
LCD0_ID = LCD_ID,
LCD1_ID,
LCD2_ID
} lcd_idx_t;
#define LCD_IDX_T lcd_idx_t
#define VGA_MAX_CLK 200000 /* 200Mhz */
extern int flcd_main(LCD_IDX_T lcd_idx, lcd_vin_t vin, lcd_output_t output, input_fmt_t in_fmt, u32 frame_base);