76 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * Copyright 1998-2008 VIA Technologies, Inc. All Rights Reserved.4 * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved.5 6 */7#ifndef __LCD_H__8#define __LCD_H__9 10/*Definition TMDS Device ID register*/11#define VT1631_DEVICE_ID_REG 0x0212#define VT1631_DEVICE_ID 0x9213 14#define VT3271_DEVICE_ID_REG 0x0215#define VT3271_DEVICE_ID 0x7116 17/* Definition DVI Panel ID*/18/* Resolution: 640x480, Channel: single, Dithering: Enable */19#define LCD_PANEL_ID0_640X480 0x0020/* Resolution: 800x600, Channel: single, Dithering: Enable */21#define LCD_PANEL_ID1_800X600 0x0122/* Resolution: 1024x768, Channel: single, Dithering: Enable */23#define LCD_PANEL_ID2_1024X768 0x0224/* Resolution: 1280x768, Channel: single, Dithering: Enable */25#define LCD_PANEL_ID3_1280X768 0x0326/* Resolution: 1280x1024, Channel: dual, Dithering: Enable */27#define LCD_PANEL_ID4_1280X1024 0x0428/* Resolution: 1400x1050, Channel: dual, Dithering: Enable */29#define LCD_PANEL_ID5_1400X1050 0x0530/* Resolution: 1600x1200, Channel: dual, Dithering: Enable */31#define LCD_PANEL_ID6_1600X1200 0x0632/* Resolution: 1366x768, Channel: single, Dithering: Disable */33#define LCD_PANEL_ID7_1366X768 0x0734/* Resolution: 1024x600, Channel: single, Dithering: Enable*/35#define LCD_PANEL_ID8_1024X600 0x0836/* Resolution: 1280x800, Channel: single, Dithering: Enable*/37#define LCD_PANEL_ID9_1280X800 0x0938/* Resolution: 800x480, Channel: single, Dithering: Enable*/39#define LCD_PANEL_IDA_800X480 0x0A40/* Resolution: 1360x768, Channel: single, Dithering: Disable*/41#define LCD_PANEL_IDB_1360X768 0x0B42/* Resolution: 480x640, Channel: single, Dithering: Enable */43#define LCD_PANEL_IDC_480X640 0x0C44/* Resolution: 1200x900, Channel: single, Dithering: Disable */45#define LCD_PANEL_IDD_1200X900 0x0D46 47 48extern int viafb_LCD2_ON;49extern int viafb_LCD_ON;50extern int viafb_DVI_ON;51 52void viafb_disable_lvds_vt1636(struct lvds_setting_information53 *plvds_setting_info,54 struct lvds_chip_information *plvds_chip_info);55void viafb_enable_lvds_vt1636(struct lvds_setting_information56 *plvds_setting_info,57 struct lvds_chip_information *plvds_chip_info);58void viafb_lcd_disable(void);59void viafb_lcd_enable(void);60void viafb_init_lcd_size(void);61void viafb_init_lvds_output_interface(struct lvds_chip_information62 *plvds_chip_info,63 struct lvds_setting_information64 *plvds_setting_info);65void viafb_lcd_set_mode(const struct fb_var_screeninfo *var, u16 cxres,66 u16 cyres, struct lvds_setting_information *plvds_setting_info,67 struct lvds_chip_information *plvds_chip_info);68bool viafb_lvds_trasmitter_identify(void);69void viafb_init_lvds_output_interface(struct lvds_chip_information70 *plvds_chip_info,71 struct lvds_setting_information72 *plvds_setting_info);73bool viafb_lcd_get_mobile_state(bool *mobile);74 75#endif /* __LCD_H__ */76