summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* video/omap: fix build dependenciesArnd Bergmann2011-10-031-3/+6
| | | | | | | | | | | Four of the LCD panel drivers depend on the backlight class, so add the dependency in Kconfig. Selecting the BACKLIGHT_CLASS_DEVICE symbol does not generally work since it has other dependencies. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [tomi.valkeinen@ti.com: changed also N8x0 panel] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: Apollon: Port the display driver to new DSS2Tomi Valkeinen2011-09-301-12/+23
| | | | | | | | | Port the old omapfb panel driver to DSS2. This patch changes the board file only, the driver is ported in separate patch. Cc: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: H4: Port the display driver to new DSS2Tomi Valkeinen2011-09-301-16/+26
| | | | | | | | Port the old omapfb panel driver to DSS2. This patch changes the board file only, the driver is ported in separate patch. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: LDP: Port the display driver to new DSS2Tomi Valkeinen2011-09-301-11/+112
| | | | | | | | | | Port the old omapfb panel driver to DSS2. This patch changes the board file only, the driver is ported in separate patch. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Acked-by: Stanley Miao <stanley.miao@windriver.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: 2420SDP: Port the display driver to new DSS2Tomi Valkeinen2011-09-301-14/+64
| | | | | | | | | Port the old omapfb panel driver to DSS2. This patch changes the board file only, the driver is ported in separate patch. Cc: Hunyue Yau <hyau@mvista.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: omap3touchbook: Remove unused lcd stuffTomi Valkeinen2011-09-301-18/+0Star
| | | | | | | | | | board-omap3touchbook.c adds an LCD device, but the kernel doesn't contain a driver for the device. So let's remove the unneeded LCD device. Cc: Gregoire Gentil <gregoire@gentil.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: RX51: Remove unused old omapfb stuffTomi Valkeinen2011-09-301-25/+0Star
| | | | | | | | | RX51 uses the new DSS2 display driver, but the board file still contained some code for the old omapfb driver. The old code can be removed. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP4: 4430SDP: Add picodlp support to board fileTomi Valkeinen2011-09-301-0/+52
| | | | | | | | | | | | | | | An on-board projector named picodlp is available for OMAP4430 SDP. Entry for this picodlp as a panel is being added in dss_devices array to the board file. It needs 4 GPIO pins for interfacing with host processor and these are defined and two of them are configured in board file. Two GPIOs power_on and display_select are configured here. picodlp also needs an i2c client over i2c controller-2 at address 0x1b. Signed-off-by: Mayuresh Janorkar <mayur@ti.com> Signed-off-by: Mythri P K <mythripk@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP4: 4430SDP: Add panel support to board fileTomi Valkeinen2011-09-301-2/+128
| | | | | | | | | | | | | | | | | | | | | | | 4430SDP has two Taal DSI panels, connected to DSI 1 and DSI 2 modules. The panels use a common PWM backlight, which will be implemented later when the PWM driver has been improved to support the backlight. Until the PWM driver has been improved, the following hack added to arch/arm/mach-omap2/board-4430sdp.c can be used to set the backlight to max: static int omap_4430sdp_hack_backlight(void) { twl_i2c_write_u8(TWL_MODULE_PWM, 0x7f, LED_PWM2OFF); twl_i2c_write_u8(TWL_MODULE_PWM, 0x7f, LED_PWM2ON); twl_i2c_write_u8(TWL6030_MODULE_ID1, 0x30, TWL6030_TOGGLE3); return 0; } late_initcall(omap_4430sdp_hack_backlight); Signed-off-by: Archit Taneja <archit@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: 4430SDP: Remove unneeded lcd configTomi Valkeinen2011-09-301-17/+0Star
| | | | | | | | 4430SDP board file contains some unused old LCD configurations. They are not used and can be removed. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: remove vaddr from overlay infoTomi Valkeinen2011-09-303-16/+5Star
| | | | | | | | | | | | | | | overlay_info struct, used to configure overlays, currently includes both physical and virtual addresses for the pixels. The vaddr was added to support more exotic configurations where CPU would be used to update a display, but it is not currently used and there has been no interest in the feature. Using CPU to update a screen is also less interesting now that OMAP4 has two LCD outputs. This patch removes the vaddr field, and modifies the users of omapdss accordingly. This makes the use of omapdss a bit simpler, as the user doesn't need to think if it needs to give the vaddr. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Add support to dump registers through debugfsMythri P K2011-09-306-0/+213
| | | | | | | | | Add support to dump the HDMI wrapper, core, PLL and PHY registers through debugfs. Signed-off-by: Mythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Add missing register definitionsMythri P K2011-09-301-4/+4
| | | | | | | Add some of the missing register definitions, which are h/w indexable. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Replace hdmi_reg struct with u16Mythri P K2011-09-302-138/+134Star
| | | | | | | | | | Remove usage of hdmi_reg struct to use u16 instead in the HDMI IP header file. hdmi_reg struct is not really needed, and the same change was also made for dispc earlier. Signed-off-by: Mythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: HDMI: Move the comments in avi infoframeMythri P K2011-09-301-17/+17
| | | | | | | | Move the comments in AVI infoframe structure above each parameter to align with other comments in the header file. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: Add N800 panel driverTomi Valkeinen2011-09-304-0/+770
| | | | | | | | | | | | | | | | | This is a driver for N800's display, ported from the old omapfb. This is a slightly lighter version of the driver as not all features of the old driver can be ported without big changes to DSS2, and also because some of the HW features used in the old driver are unclear (e.g. the power management part). That said, the new driver works fine for basic use. Architecturally the driver is not as neat as it could be. N800's display HW consists of a display buffer chip and a panel, and ideally they would be represented by separate, independent drivers. This is not currently possible, and this driver contains both buffer chip and panel driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: Port the Apollon display driver to DSS2Tomi Valkeinen2011-09-303-137/+22Star
| | | | | | | Port the old omapfb panel driver for Apollon to DSS2. Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: Port the H4 display driver to DSS2Tomi Valkeinen2011-09-303-118/+21Star
| | | | | | | Port the old omapfb panel driver for H4 to DSS2. Cc: Imre Deak <imre.deak@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: Port 2430sdp display driver to DSS2Tomi Valkeinen2011-09-303-205/+21Star
| | | | | | Port the old omapfb panel driver for 2430SDP to DSS2. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPFB: Remove unused lcd driversTomi Valkeinen2011-09-306-737/+0Star
| | | | | | | | | | drivers/video/omap/ contains some lcd drivers which are not used by any board. They can be removed. Cc: Arun C <arunedarath@mistralsolutions.com> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: Taal: remove external backlight supportTomi Valkeinen2011-09-302-52/+32Star
| | | | | | | | | | | | | | | | | Taal panel driver supports two kinds of backlight control: 1) using DSI commands sent to the panel to control the backlight, 2) calling function pointers going to the board file to control the backlight. The second option is a bit hacky, and will no longer be needed when the PWM driver supports the backlight features. After that we can use the standard PWM backlight driver. This patch removes the second backlight control mechanism, and adds a boolean field, use_dsi_backlight, to nokia_dsi_panel_data which the board file can use to inform whether the panel driver should use DSI commands to control the backlight. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: FEATURES: Create a range param to get max downscalingArchit Taneja2011-09-303-1/+5
| | | | | | | | | Create a dss_range_param member called FEAT_PARAM_DOWNSCALE to get the maximum downscaling possible on the current platform. Use this in dispc_ovl_calc_scaling(). Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: DISPC: Clean up scaling related clock and five tap calculationsArchit Taneja2011-09-301-58/+73
| | | | | | | | | Move DISPC scaling related code from dispc_ovl_setup() to a new function dispc_ovl_calc_scaling(). Use overlay caps to check if the overlay can scale or not. No functional changes are made. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: DISPC: Remove hardcoded use of PPL in five tap clock calculationArchit Taneja2011-09-301-2/+2
| | | | | | | | | | | The function calc_fclk_five_taps() uses a fixed value of pixels per line which is used in calculations to get the minimum fclk needed for scaling with five taps to work. Remove this by providing the width of the panel connected to the manager. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: DISPC: Get correct pixel clock for TV managerArchit Taneja2011-09-304-11/+52
| | | | | | | | | | | | | | dispc_mgr_pclk_rate() is used to calculate minimum required functional clock for scaling in calc_fclk() and calc_fclk_five_taps(). This function returns the correct pixel clock for LCD and LCD2 managers, but not for TV manager. Extend this function so that it gets the correct pixel clock for TV manager. This also prevents the crash we get when we try to scale overlays connected to TV manager. The current code leads to a BUG() being executed if we call dispc_mgr_pclk_rate() for the TV manager. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: DISPC: Create helper function dispc_mgr_is_lcd()Archit Taneja2011-09-301-9/+13
| | | | | | | | Create a helper function called dispc_mgr_is_lcd() which returns true if the manager is LCD or LCD2. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: DISPC: Pass overlay params as arguments to dispc_ovl_setup()Archit Taneja2011-09-303-15/+17
| | | | | | | | | | | | | dispc_ovl_enable_replication() and dispc_ovl_set_fifo_threshold() are currently called in configure_overlay(). These are the only functions which cause DISPC register writes of overlay parameters outside of dispc_ovl_setup(). Move these to dispc_ovl_setup() and pass replication, fifo_low and fifo_high thresholds as arguments to dispc_ovl_setup() in order to be aligned with other overlay parameters. No functional changes are made. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPDSS: DISPC: Reduce the number of arguments in dispc_ovl_setup()Archit Taneja2011-09-303-95/+72Star
| | | | | | | | | | | | | | dispc_ovl_setup() currently takes a large number of overlay arguments, most of these are members of the overlay_info struct. Replace these arguments by passing a overlay_info pointer instead. In configure_overlay(), we create an overlay_info struct called new_oi, this is a copy of the overlay cache's overlay_info member. Update the new_oi parameters which could have been possibly changed in configure_overlay(). Pass its pointer pointer to dispc_ovl_setup(). Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAPFB: find best mode from edidTomi Valkeinen2011-09-301-10/+99
| | | | | | | | | | | Use the new read_edid() function to get EDID information from the display (when available), and use the information to use a suitable mode at initialization time. Hot-plug is not yet supported, so the timings selected at init time will stay even if the monitor would be changed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: Add DDC i2c_bus_num to board filesTomi Valkeinen2011-09-304-0/+4
| | | | | | | | | Add i2c bus number for DVI output for boards with DVI output where the i2c bus has been confirmed to be connected and working. The driver uses this to detect if a panel is connected and to read EDID. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: panel-generic-dpi: remove "generic" panelTomi Valkeinen2011-09-301-24/+0Star
| | | | | | Remove the "generic" panel config entry, which is not used. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: stalker: Remove LCD device from board fileTomi Valkeinen2011-09-301-34/+0Star
| | | | | | | | | | | | | | | | OMAP3 Stalker board has definitions for LCD, but uses the generic driver without any information what kind of LCD it has. The board should use a particular panel type from panel-generic-dpi driver, not the generic one. As I haven't gotten response the signer-off of stalker board about the issue, this patch removes the LCD support from the board file. This will allow us to clean up the panel-generic-dpi driver and make it support only fixed size panels. CC: Jason Lam <lzg@ema-tech.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: use dvi panel driver instead of generic-dpiTomi Valkeinen2011-09-3010-35/+30Star
| | | | | | | | | | | | Multiple OMAP3/4 boards have a DVI framer output. This patch makes the boards use the new panel-dvi driver, instead of the panel-generic-dpi driver. Separate drivers for fixed size panels and DVI framer gives us cleaner driver code. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: add panel-dvi driverTomi Valkeinen2011-09-304-0/+408
| | | | | | | | | | | | | | | We have currently panel-generic-dpi driver, which is a combined driver for dummy panels and also for DVI output. The aim is to split the panel-generic-dpi into two, one for fixed size dummy panels connected via DPI, and the other (this) for variable resolution output which supports DDC channel (in practice a DVI framer chip connected to DPI output). Original i2c code by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: implement detect()Tomi Valkeinen2011-09-306-0/+59
| | | | | | | | | | | Implement detect() by checking the hot plug detect status. The implementation is not very good, as it always turns on the HDMI output to get the detection working. HDMI driver needs improvements so that we could enable only core parts of it. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: remove error prints in check_timingsTomi Valkeinen2011-09-302-6/+1Star
| | | | | | | | | | | | check_timings() is supposed to be used to verify if timings are ok or not. Currently the HDMI driver prints error messages if the timings are not ok. This is not right, as it is no error to give invalid timings to check_timings(). Remove the error prints. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: clean up edid reading & fix checksumTomi Valkeinen2011-09-302-37/+36Star
| | | | | | | | | | | | Clean up reading of EDID by passing direct address to the block being read, instead of start address of the whole EDID memory area. Rewrite the loop which reads the EDID. This also fixes the checksum calculation, which used to calculate the checksum only for the first block. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: split hdmi_core_ddc_edidTomi Valkeinen2011-09-301-50/+67
| | | | | | | | | Split the DDC initialization off from hdmi_core_ddc_edid() into a separate function hdmi_core_ddc_init(). This cleans up the implementation. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: remove edid parsingTomi Valkeinen2011-09-302-161/+1Star
| | | | | | | | OMAPFB handles EDID parsing now, using the common helper functions in fbdev. We can remove the EDID parsing from HDMI driver. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: implement read_edid()Tomi Valkeinen2011-09-304-18/+63
| | | | | | | | Implement read_edid() for HDMI by implementing necessary functions to hdmi.c and to hdmi_omap4_panel.c. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: make set_timing sanerTomi Valkeinen2011-09-302-8/+12
| | | | | | | | | | | | Currently the set_timings code for hdmi is quite strange. The display is disabled in hdmi_omap4_panel.c before setting timings, and enabled in hdmi.c after setting the timings. Furthermore, the timings were not permanent, and disabling and enabling the display would lose them. This patch makes the set_timings handling a bit better. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: add detect() to omap_dss_driver structTomi Valkeinen2011-09-301-0/+1
| | | | | | detect() can be used to probe if the display is connected. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: add read_edid() to omap_dss_driver structTomi Valkeinen2011-09-301-0/+2
| | | | | | read_edid() can be used to get the EDID information from the display. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: improve hdmi output enableTomi Valkeinen2011-09-301-2/+2
| | | | | | | | | | | | | | | | | | Enabling HDMI output often causes sync lost errors, and almost always causes timeout errors being printed from dispc_mgr_enable_digit_out(). The sync lost problem seems to go lessen greatly if we first enable the HDMI output, and only then enable the DISPC output. However, as this is only based on observations, the fix may not be perfect as the problem may lie somewhere else. Nevertheless, HDMI works better with this patch. This will also fix the dispc's dispc_mgr_enable_digit_out(), as the code waits for two VSYNCs after enabling the output. If the HDMI output is disabled (as it was previously), there are no VSYNCs and dispc_mgr_enable_digit_out() will print timeout errors. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: DISPC: improve dispc_mgr_enable_digit_out()Tomi Valkeinen2011-09-301-20/+29
| | | | | | | | | | dispc_mgr_enable_digit_out() didn't handle HDMI case very well. Improve the function to use FRAMEDONETV interrupt to see when HDMI has been disabled. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: add dss_get_hdmi_venc_clk_source()Tomi Valkeinen2011-09-302-0/+12
| | | | | | | | | | | | Add dss_get_hdmi_venc_clk_source(), which can be used to get the value programmed with dss_select_hdmi_venc_clk_source(). This can be used to find out if the digit output is going to VENC or HDMI. For OMAP2/3 dss_get_hdmi_venc_clk_source() always returns DSS_VENC_TV_CLK. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: DISPC: Add missing IRQ definitionsTomi Valkeinen2011-09-301-0/+3
| | | | | | | Add IRQ definitions for missing OMAP4 IRQs: FRAMEDONEWB, FRAMEDONETV, WBBUFFEROVERFLOW. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: DSI: Add comment about regnTomi Valkeinen2011-09-301-0/+1
| | | | | | | regn divider is one greater than the REGN divider in TRM. Add a comment to point this out. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: change regn definitionTomi Valkeinen2011-09-303-4/+5
| | | | | | | | | | | | | | | regn divider is currently programmed to the registers without change, but when calculating clock frequencies it is used as regn+1. To make this similar to how DSI handles the dividers this patch changes the regn value to be used as such for calculations, but the value programmed to registers is regn-1. This simplifies the clock frequency calculations, makes it similar to DSI, and also allows us to use regn value 0 as undefined. Cc: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* OMAP: DSS2: HDMI: use default dividersTomi Valkeinen2011-09-302-11/+13
| | | | | | | | | Use default regn and regm2 dividers in the hdmi driver if the board file does not define them. Cc: Mythri P K <mythripk@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>