From patchwork Wed Mar 6 11:53:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shaik Ameer Basha X-Patchwork-Id: 2224991 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id DD33D40232 for ; Wed, 6 Mar 2013 11:54:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757778Ab3CFLyp (ORCPT ); Wed, 6 Mar 2013 06:54:45 -0500 Received: from mail-pb0-f42.google.com ([209.85.160.42]:55933 "EHLO mail-pb0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757394Ab3CFLyn (ORCPT ); Wed, 6 Mar 2013 06:54:43 -0500 Received: by mail-pb0-f42.google.com with SMTP id xb4so5903673pbc.1 for ; Wed, 06 Mar 2013 03:54:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=nX1M8GUlBxLq7JV+YLM0y9+mJbSttpDyoyzUZa0SKgc=; b=zRrG97eiwlAi8v6ZfmD04PkFsh8J0uh0Am3lLNdljarkll2G+h0ZDfckgYVxs0qDHh GUt+hbqWm8/lK29SWj5CbdO4GvHeat5Ux1rype6TNSRS4f3AeC4FkmRIjUOiiXDn9WLV xvVu8y8LZqc3HZfR4KW5TqFexxwtFZnYcqAuC8SmNf7adk5o/kgsHBjBUkSxrabdXWEo 0JaDggZbp0b+BmHRLULWBRcu03b1/RmqlB/I82aImKXyPI7mfa6rjnOL4tT2NF61QwFm V4+Nu0xMPK8l2QlnU8N6fB9H9l/gpoDGIdygyYxpJrCMSWjiP9oUI/IkBFMAx3zGulzq 2zBg== X-Received: by 10.68.135.196 with SMTP id pu4mr46293890pbb.50.1362570882348; Wed, 06 Mar 2013 03:54:42 -0800 (PST) Received: from localhost.localdomain ([115.113.119.130]) by mx.google.com with ESMTPS id ip8sm5358307pbc.39.2013.03.06.03.54.38 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 06 Mar 2013 03:54:41 -0800 (PST) From: Shaik Ameer Basha To: linux-media@vger.kernel.org, devicetree-discuss@lists.ozlabs.org, linux-samsung-soc@vger.kernel.org Cc: s.nawrocki@samsung.com, shaik.samsung@gmail.com Subject: [RFC 05/12] ARM: EXYNOS: Add devicetree node for mipi-csis driver for exynos5 Date: Wed, 6 Mar 2013 17:23:51 +0530 Message-Id: <1362570838-4737-6-git-send-email-shaik.ameer@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1362570838-4737-1-git-send-email-shaik.ameer@samsung.com> References: <1362570838-4737-1-git-send-email-shaik.ameer@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org This patch adds necessary source definations needed for mipi-csis driver and adds devicetree node for exynos5250. Signed-off-by: Shaik Ameer Basha --- arch/arm/boot/dts/exynos5250.dtsi | 18 ++++++++++++++++++ arch/arm/mach-exynos/clock-exynos5.c | 16 ++++++++++++++-- arch/arm/mach-exynos/include/mach/map.h | 3 +++ arch/arm/mach-exynos/mach-exynos5-dt.c | 4 ++++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index 3a2cd9a..4fff98b 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -47,6 +47,8 @@ i2c6 = &i2c_6; i2c7 = &i2c_7; i2c8 = &i2c_8; + csis0 = &csis_0; + csis1 = &csis_1; }; gic:interrupt-controller@10481000 { @@ -357,4 +359,20 @@ reg = <0x14450000 0x10000>; interrupts = <0 94 0>; }; + + csis_0: csis@13C20000 { + compatible = "samsung,exynos5250-csis"; + reg = <0x13C20000 0x4000>; + interrupts = <0 79 0>; + bus-width = <4>; + status = "disabled"; + }; + + csis_1: csis@13C30000 { + compatible = "samsung,exynos5250-csis"; + reg = <0x13C30000 0x4000>; + interrupts = <0 80 0>; + bus-width = <4>; + status = "disabled"; + }; }; diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c index e9d7b80..34a22ff 100644 --- a/arch/arm/mach-exynos/clock-exynos5.c +++ b/arch/arm/mach-exynos/clock-exynos5.c @@ -859,6 +859,16 @@ static struct clk exynos5_init_clocks_off[] = { .enable = exynos5_clk_ip_gscl_ctrl, .ctrlbit = (1 << 3), }, { + .name = "csis", + .devname = "s5p-mipi-csis.0", + .enable = exynos5_clk_ip_gscl_ctrl, + .ctrlbit = (1 << 5), + }, { + .name = "csis", + .devname = "s5p-mipi-csis.1", + .enable = exynos5_clk_ip_gscl_ctrl, + .ctrlbit = (1 << 6), + }, { .name = SYSMMU_CLOCK_NAME, .devname = SYSMMU_CLOCK_DEVNAME(mfc_l, 0), .enable = &exynos5_clk_ip_mfc_ctrl, @@ -1263,9 +1273,10 @@ static struct clksrc_clk exynos5_clksrcs[] = { .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 20, .size = 4 }, }, { .clk = { - .name = "sclk_gscl_wrap", + .name = "sclk_csis", .devname = "s5p-mipi-csis.0", .enable = exynos5_clksrc_mask_gscl_ctrl, + .parent = &exynos5_clk_mout_mpll_user.clk, .ctrlbit = (1 << 24), }, .sources = &exynos5_clkset_group, @@ -1273,9 +1284,10 @@ static struct clksrc_clk exynos5_clksrcs[] = { .reg_div = { .reg = EXYNOS5_CLKDIV_GSCL, .shift = 24, .size = 4 }, }, { .clk = { - .name = "sclk_gscl_wrap", + .name = "sclk_csis", .devname = "s5p-mipi-csis.1", .enable = exynos5_clksrc_mask_gscl_ctrl, + .parent = &exynos5_clk_mout_mpll_user.clk, .ctrlbit = (1 << 28), }, .sources = &exynos5_clkset_group, diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index 1df6abb..c834321 100644 --- a/arch/arm/mach-exynos/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h @@ -177,6 +177,9 @@ #define EXYNOS4_PA_MIPI_CSIS0 0x11880000 #define EXYNOS4_PA_MIPI_CSIS1 0x11890000 +#define EXYNOS5_PA_MIPI_CSIS0 0x13C20000 +#define EXYNOS5_PA_MIPI_CSIS1 0x13C30000 + #define EXYNOS4_PA_FIMD0 0x11C00000 #define EXYNOS4_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000)) diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index e99d3d8..c420349 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c @@ -104,6 +104,10 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = { OF_DEV_AUXDATA("samsung,mfc-v6", 0x11000000, "s5p-mfc-v6", NULL), OF_DEV_AUXDATA("samsung,exynos5250-tmu", 0x10060000, "exynos-tmu", NULL), + OF_DEV_AUXDATA("samsung,exynos5250-csis", EXYNOS5_PA_MIPI_CSIS0, + "s5p-mipi-csis.0", NULL), + OF_DEV_AUXDATA("samsung,exynos5250-csis", EXYNOS5_PA_MIPI_CSIS1, + "s5p-mipi-csis.1", NULL), {}, };