12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /* Copyright (c) 2009-2012, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- #include "msm_fb.h"
- #include "mddihost.h"
- #include "mddihosti.h"
- #include "mddi_toshiba.h"
- static struct msm_panel_info pinfo;
- static int __init mddi_toshiba_wvga_pt_init(void)
- {
- int ret;
- #ifdef CONFIG_FB_MSM_MDDI_AUTO_DETECT
- uint id;
- ret = msm_fb_detect_client("mddi_toshiba_wvga_pt");
- if (ret == -ENODEV)
- return 0;
- if (ret) {
- id = mddi_get_client_id();
- if (id != 0xd2638722)
- return 0;
- }
- #endif
- pinfo.xres = 480;
- pinfo.yres = 800;
- MSM_FB_SINGLE_MODE_PANEL(&pinfo);
- pinfo.type = MDDI_PANEL;
- pinfo.pdest = DISPLAY_1;
- pinfo.mddi.vdopkt = MDDI_DEFAULT_PRIM_PIX_ATTR;
- pinfo.wait_cycle = 0;
- pinfo.bpp = 18;
- pinfo.lcd.vsync_enable = TRUE;
- pinfo.lcd.refx100 = 6102; /* adjust refx100 to prevent tearing */
- pinfo.mddi.is_type1 = TRUE;
- pinfo.lcd.v_back_porch = 8; /* vsw=10 + vbp = 8 */
- pinfo.lcd.v_front_porch = 2;
- pinfo.lcd.v_pulse_width = 10;
- pinfo.lcd.hw_vsync_mode = FALSE;
- pinfo.lcd.vsync_notifier_period = (1 * HZ);
- pinfo.bl_max = 15;
- pinfo.bl_min = 1;
- pinfo.clk_rate = 222750000;
- pinfo.clk_min = 200000000;
- pinfo.clk_max = 240000000;
- pinfo.fb_num = 2;
- ret = mddi_toshiba_device_register(&pinfo, TOSHIBA_VGA_PRIM,
- LCD_TOSHIBA_2P4_WVGA_PT);
- if (ret)
- printk(KERN_ERR "%s: failed to register device!\n", __func__);
- return ret;
- }
- module_init(mddi_toshiba_wvga_pt_init);
|