linux/drivers/video/omap2/dss
Tomi Valkeinen ee144e645a OMAPDSS: DSI: calculate dsi clock
Currently the way to configure clocks related to DSI (both DSI and DISPC
clocks) happens via omapdss platform data. The reason for this is that
configuring the DSS clocks is a very complex problem, and it's
impossible for the SW to know requirements about things like
interference.

However, for general cases it should be fine to calculate the dividers
for clocks in the SW. The calculated clocks are probably not perfect,
but should work.

This patch adds support to calculate the dividers when using DSI command
mode panels. The panel gives the required DDR clock rate and LP clock
rate, and the DSI driver configures itself and DISPC accordingly.

This patch is somewhat ugly, though. The code does its job by modifying
the platform data where the clock dividers would be if the board file
gave them. This is not how it's going to be in the future, but allows us
to have quite simple patch and keep the backward compatibility.

It also allows the developer to still give the exact dividers from the
board file when there's need for that, as long as the panel driver does
not override them.

There are also other areas for improvement. For example, it would be
better if the panel driver could ask for a DSI clock in a certain range,
as, at least command mode panels, the panel can work fine with many
different clock speeds.

While the patch is not perfect, it allows us to remove the hardcoded
clock dividers from the board file, making it easier to bring up a new
panel and to use device tree from omapdss.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-09-07 20:02:05 +03:00
..
apply.c OMAPDSS: APPLY: Constify timings argument in dss_mgr_set_timings 2012-08-13 15:44:39 +05:30
core.c OMAPDSS: Use PM notifiers for system suspend 2012-07-08 14:00:26 +00:00
dispc_coefs.c OMAPDSS: DISPC: Fix FIR coefficients 2012-03-06 14:08:23 +02:00
dispc.c OMAPDSS: DISPC: Cleanup cpu_is_xxxx checks 2012-08-22 11:43:03 +03:00
dispc.h OMAPDSS: Add LCD3 overlay manager and Clock and IRQ support 2012-06-29 09:41:24 +03:00
display.c OMAPDSS: OVERLAY: Clean up replication checking 2012-06-29 16:27:59 +05:30
dpi.c OMAPDSS: DPI: Remove cpu_is_xxxx checks 2012-08-22 11:43:05 +03:00
dsi.c OMAPDSS: DSI: calculate dsi clock 2012-09-07 20:02:05 +03:00
dss_features.c OMAPDSS: Add DSI fclk maximum to dss_features 2012-09-07 20:02:05 +03:00
dss_features.h OMAPDSS: Add DSI fclk maximum to dss_features 2012-09-07 20:02:05 +03:00
dss.c OMAPDSS: DSS: Cleanup cpu_is_xxxx checks 2012-08-22 11:43:03 +03:00
dss.h OMAPDSS: DSS: Remove redundant functions 2012-08-22 11:43:03 +03:00
hdmi_panel.c OMAPDSS: HDMI: fix initial HDMI enable 2012-08-22 11:33:32 +03:00
hdmi.c OMAPDSS: HDMI: use vdda_hdmi_dac 2012-09-07 20:02:04 +03:00
Kconfig OMAPDSS: fix specification spelling in Kconfig 2012-06-28 09:11:45 +03:00
Makefile OMAPDSS: VENC: Split VENC into interface and panel driver 2012-08-15 15:49:23 +05:30
manager.c OMAPDSS: MANAGER: Check LCD related overlay manager parameters 2012-06-29 16:27:57 +05:30
overlay.c OMAPDSS: OVERLAY: Clean up replication checking 2012-06-29 16:27:59 +05:30
rfbi.c OMAPDSS: RFBI: Maitain copy of rfbi timings in driver data 2012-08-16 18:09:41 +05:30
sdi.c OMAPDSS: SDI: Maintain copy of data pairs in driver data 2012-08-16 18:00:55 +05:30
ti_hdmi_4xxx_ip.c OMAPDSS: HDMI: Remove custom hdmi_video_timings struct 2012-06-29 10:15:53 +03:00
ti_hdmi_4xxx_ip.h OMAPDSS: HDMI: Add an audio configuration function 2012-05-11 15:17:08 +03:00
ti_hdmi.h OMAPDSS: HDMI: Remove custom hdmi_video_timings struct 2012-06-29 10:15:53 +03:00
venc_panel.c OMAPDSS: VENC: Maintian copy of video output polarity info in private data 2012-08-16 18:47:52 +05:30
venc.c OMAPDSS: VENC: Remove cpu_is_xxxx checks 2012-08-22 11:43:04 +03:00