1/* Copyright (c) 2009, Code Aurora Forum. All rights reserved. 2 * 3 * This program is free software; you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License version 2 and 5 * only version 2 as published by the Free Software Foundation. 6 * 7 * This program is distributed in the hope that it will be useful, 8 * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 * GNU General Public License for more details. 11 * 12 * You should have received a copy of the GNU General Public License 13 * along with this program; if not, write to the Free Software 14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 15 * 02110-1301, USA. 16 */ 17 18#include "msm_fb.h" 19 20#ifdef CONFIG_FB_MSM_TRY_MDDI_CATCH_LCDC_PRISM 21#include "mddihosti.h" 22#endif 23 24static int __init lcdc_prism_init(void) 25{ 26 int ret; 27 struct msm_panel_info pinfo; 28 29#ifdef CONFIG_FB_MSM_TRY_MDDI_CATCH_LCDC_PRISM 30 ret = msm_fb_detect_client("lcdc_prism_wvga"); 31 if (ret == -ENODEV) 32 return 0; 33 34 if (ret && (mddi_get_client_id() != 0)) 35 return 0; 36#endif 37 38 pinfo.xres = 800; 39 pinfo.yres = 480; 40 pinfo.type = LCDC_PANEL; 41 pinfo.pdest = DISPLAY_1; 42 pinfo.wait_cycle = 0; 43 pinfo.bpp = 24; 44 pinfo.fb_num = 2; 45 pinfo.clk_rate = 38460000; 46 47 pinfo.lcdc.h_back_porch = 21; 48 pinfo.lcdc.h_front_porch = 81; 49 pinfo.lcdc.h_pulse_width = 60; 50 pinfo.lcdc.v_back_porch = 18; 51 pinfo.lcdc.v_front_porch = 27; 52 pinfo.lcdc.v_pulse_width = 2; 53 pinfo.lcdc.border_clr = 0; /* blk */ 54 pinfo.lcdc.underflow_clr = 0xff; /* blue */ 55 pinfo.lcdc.hsync_skew = 0; 56 57 ret = lcdc_device_register(&pinfo); 58 if (ret) 59 printk(KERN_ERR "%s: failed to register device!\n", __func__); 60 61 return ret; 62} 63 64module_init(lcdc_prism_init); 65