Skip to content

Commit

Permalink
OMAPDSS: HDMI: Add OMAP5 HDMI support
Browse files Browse the repository at this point in the history
This adds a new driver to omapdss for OMAP5 HDMI. However, the new
driver uses common HDMI files which are shared with OMAP4 HDMI driver.

OMAP5 HDMI has a different HDMI core IP compared to OMAP4, but has very
similar PLL and PHY IPs which can be handled with common code.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed May 9, 2014
1 parent 2d64b1b commit f5bab22
Show file tree
Hide file tree
Showing 9 changed files with 2,082 additions and 2 deletions.
13 changes: 13 additions & 0 deletions drivers/video/fbdev/omap2/dss/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,19 @@ config OMAP4_DSS_HDMI
config OMAP4_DSS_HDMI_AUDIO
bool

config OMAP5_DSS_HDMI
bool "HDMI support for OMAP5"
default n
select OMAP2_DSS_HDMI_COMMON
help
HDMI Interface for OMAP5 and similar cores. This adds the High
Definition Multimedia Interface. See http://www.hdmi.org/ for HDMI
specification.

config OMAP5_DSS_HDMI_AUDIO
depends on OMAP5_DSS_HDMI
bool

config OMAP2_DSS_SDI
bool "SDI support"
default n
Expand Down
1 change: 1 addition & 0 deletions drivers/video/fbdev/omap2/dss/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
omapdss-$(CONFIG_OMAP2_DSS_HDMI_COMMON) += hdmi_common.o hdmi_wp.o hdmi_pll.o \
hdmi_phy.o
omapdss-$(CONFIG_OMAP4_DSS_HDMI) += hdmi4.o hdmi4_core.o
omapdss-$(CONFIG_OMAP5_DSS_HDMI) += hdmi5.o hdmi5_core.o
ccflags-$(CONFIG_OMAP2_DSS_DEBUG) += -DDEBUG
6 changes: 6 additions & 0 deletions drivers/video/fbdev/omap2/dss/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,9 @@ static int (*dss_output_drv_reg_funcs[])(void) __initdata = {
#ifdef CONFIG_OMAP4_DSS_HDMI
hdmi4_init_platform_driver,
#endif
#ifdef CONFIG_OMAP5_DSS_HDMI
hdmi5_init_platform_driver,
#endif
};

static void (*dss_output_drv_unreg_funcs[])(void) __exitdata = {
Expand All @@ -289,6 +292,9 @@ static void (*dss_output_drv_unreg_funcs[])(void) __exitdata = {
#ifdef CONFIG_OMAP4_DSS_HDMI
hdmi4_uninit_platform_driver,
#endif
#ifdef CONFIG_OMAP5_DSS_HDMI
hdmi5_uninit_platform_driver,
#endif
};

static bool dss_output_drv_loaded[ARRAY_SIZE(dss_output_drv_reg_funcs)];
Expand Down
3 changes: 3 additions & 0 deletions drivers/video/fbdev/omap2/dss/dss.h
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,9 @@ void venc_uninit_platform_driver(void) __exit;
int hdmi4_init_platform_driver(void) __init;
void hdmi4_uninit_platform_driver(void) __exit;

int hdmi5_init_platform_driver(void) __init;
void hdmi5_uninit_platform_driver(void) __exit;

/* RFBI */
int rfbi_init_platform_driver(void) __init;
void rfbi_uninit_platform_driver(void) __exit;
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/fbdev/omap2/dss/hdmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ struct hdmi_cm hdmi_get_code(struct omap_video_timings *timing);
int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep,
struct hdmi_phy_data *phy);

#if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO)
#if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO) || defined(CONFIG_OMAP5_DSS_HDMI_AUDIO)
int hdmi_compute_acr(u32 pclk, u32 sample_freq, u32 *n, u32 *cts);
int hdmi_wp_audio_enable(struct hdmi_wp_data *wp, bool enable);
int hdmi_wp_audio_core_req_enable(struct hdmi_wp_data *wp, bool enable);
Expand Down
Loading

0 comments on commit f5bab22

Please sign in to comment.