Re: [PATCH 1/6] OMAPDSS: add omapdss_version
From: Tomi Valkeinen <hidden>
Date: 2012-09-28 10:44:39
Also in:
linux-omap
On Fri, 2012-09-28 at 13:35 +0300, Tomi Valkeinen wrote:
quoted hunk ↗ jump to hunk
Add new enum, omapdss_version, that is used to tell which DSS hardware version the SoC has. This enum is initialized during platform init, and passed in the platform data to omapdss driver. Note that the versions are not "continuous", that is, you cannot check if the version is less or greater than something, but you need to check for exact version match. In other words, this is invalid: /* test if DSS is 3630 or earlier */ if (ver <= OMAPDSS_VER_OMAP3630) ... Signed-off-by: Tomi Valkeinen <redacted> --- arch/arm/mach-omap2/display.c | 38 ++++++++++++++++++++++++++++++++++++++ include/video/omapdss.h | 14 ++++++++++++++ 2 files changed, 52 insertions(+)diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index ee40739..33555da 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c@@ -284,6 +284,35 @@ err: return ERR_PTR(r); } +static enum omapdss_version omap_display_get_version(void) +{ + if (cpu_is_omap24xx()) + return OMAPDSS_VER_OMAP24xx; + else if (cpu_is_omap3630()) + return OMAPDSS_VER_OMAP3630; + else if (cpu_is_omap34xx()) { + if (soc_is_am35xx()) { + return OMAPDSS_VER_AM35xx; + } else { + if (omap_rev() < OMAP3430_REV_ES3_0) + return OMAPDSS_VER_OMAP34xx_ES1; + else + return OMAPDSS_VER_OMAP34xx_ES3; + } + } else if (omap_rev() == OMAP4430_REV_ES1_0) + return OMAPDSS_VER_OMAP4430_ES1; + else if (omap_rev() == OMAP4430_REV_ES2_0 || + omap_rev() == OMAP4430_REV_ES2_1 || + omap_rev() == OMAP4430_REV_ES2_2) + return OMAPDSS_VER_OMAP4430_ES2; + else if (cpu_is_omap44xx()) + return OMAPDSS_VER_OMAP4; + else if (soc_is_omap54xx()) + return OMAPDSS_VER_OMAP5; + else + return OMAPDSS_VER_UNKNOWN
Sigh. I made a late minor change, and of course I broke the compilation and didn't check it. So there's a ; missing in the above line. Tomi
Attachments
- signature.asc [application/pgp-signature] 836 bytes