From patchwork Wed Jun 30 09:55:43 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guennadi Liakhovetski X-Patchwork-Id: 108798 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.4/8.14.3) with ESMTP id o5U9u0hV013503 for ; Wed, 30 Jun 2010 09:56:00 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755017Ab0F3Jzn (ORCPT ); Wed, 30 Jun 2010 05:55:43 -0400 Received: from mail.gmx.net ([213.165.64.20]:41647 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1754952Ab0F3Jzj (ORCPT ); Wed, 30 Jun 2010 05:55:39 -0400 Received: (qmail invoked by alias); 30 Jun 2010 09:55:35 -0000 Received: from p57BD1FAC.dip0.t-ipconnect.de (EHLO axis700.grange) [87.189.31.172] by mail.gmx.net (mp047) with SMTP; 30 Jun 2010 11:55:35 +0200 X-Authenticated: #20450766 X-Provags-ID: V01U2FsdGVkX19T4nUmoppTsqKd4mScFfIBrV/lzjZKPJnYyobMQP 4EA7Upm0l43dlf Received: from lyakh (helo=localhost) by axis700.grange with local-esmtp (Exim 4.63) (envelope-from ) id 1OTu19-00006J-BZ; Wed, 30 Jun 2010 11:55:43 +0200 Date: Wed, 30 Jun 2010 11:55:43 +0200 (CEST) From: Guennadi Liakhovetski To: "linux-sh@vger.kernel.org" cc: linux-fbdev@vger.kernel.org Subject: [PATCH 5/6] fbdev: sh-mobile: HDMI support for SH-Mobile SoCs In-Reply-To: Message-ID: References: MIME-Version: 1.0 X-Y-GMX-Trusted: 0 Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 30 Jun 2010 09:56:01 +0000 (UTC) diff --git a/arch/arm/mach-shmobile/clock-sh7372.c b/arch/arm/mach-shmobile/clock-sh7372.c index 21cb629..506a8c5 100644 --- a/arch/arm/mach-shmobile/clock-sh7372.c +++ b/arch/arm/mach-shmobile/clock-sh7372.c @@ -484,7 +484,7 @@ static struct clk_lookup lookups[] = { CLKDEV_CON_ID("sub_clk", &div6_clks[DIV6_SUB]), CLKDEV_CON_ID("spu_clk", &div6_clks[DIV6_SPU]), CLKDEV_CON_ID("vou_clk", &div6_clks[DIV6_VOU]), - CLKDEV_CON_ID("hdmi_clk", &div6_reparent_clks[DIV6_HDMI]), + CLKDEV_DEV_ID("sh-mobile-hdmi", &div6_reparent_clks[DIV6_HDMI]), CLKDEV_CON_ID("dsit_clk", &div6_clks[DIV6_DSIT]), CLKDEV_CON_ID("dsi0p_clk", &div6_clks[DIV6_DSI0P]), CLKDEV_CON_ID("dsi1p_clk", &div6_clks[DIV6_DSI1P]), diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3dc1038..f00314f 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1914,6 +1914,14 @@ config FB_SH_MOBILE_LCDC ---help--- Frame buffer driver for the on-chip SH-Mobile LCD controller. +config FB_SH_MOBILE_HDMI + tristate "SuperH Mobile HDMI controller support" + depends on FB_SH_MOBILE_LCDC + select FB_MODE_HELPERS + select PM_RUNTIME + ---help--- + Driver for the on-chip SH-Mobile HDMI controller. + config FB_TMIO tristate "Toshiba Mobile IO FrameBuffer support" depends on FB && MFD_CORE diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 3c3bf86..e525827 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -124,6 +124,7 @@ obj-$(CONFIG_FB_PS3) += ps3fb.o obj-$(CONFIG_FB_SM501) += sm501fb.o obj-$(CONFIG_FB_XILINX) += xilinxfb.o obj-$(CONFIG_SH_MIPI_DSI) += sh_mipi_dsi.o +obj-$(CONFIG_FB_SH_MOBILE_HDMI) += sh_mobile_hdmi.o obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o obj-$(CONFIG_FB_OMAP) += omap/ obj-y += omap2/ diff --git a/drivers/video/sh_mobile_hdmi.c b/drivers/video/sh_mobile_hdmi.c new file mode 100644 index 0000000..3f1e057 --- /dev/null +++ b/drivers/video/sh_mobile_hdmi.c @@ -0,0 +1,1070 @@ +/* + * SH-Mobile High-Definition Multimedia Interface (HDMI) driver + * for SLISHDMI13T and SLIPHDMIT IP cores + * + * Copyright (C) 2010, Guennadi Liakhovetski + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include