From patchwork Fri Oct 1 11:55:56 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh KUMAR X-Patchwork-Id: 66446 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 0966DB70E0 for ; Sat, 2 Oct 2010 03:06:47 +1000 (EST) Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1P1j2s-000368-4V; Fri, 01 Oct 2010 17:05:18 +0000 Received: from casper.infradead.org ([2001:770:15f::2]) by bombadil.infradead.org with esmtps (Exim 4.72 #1 (Red Hat Linux)) id 1P1iwT-00043u-8k; Fri, 01 Oct 2010 16:58:41 +0000 Received: from eu1sys200aog120.obsmtp.com ([207.126.144.149]) by casper.infradead.org with smtps (Exim 4.72 #1 (Red Hat Linux)) id 1P1eHJ-0008GA-O9; Fri, 01 Oct 2010 11:59:54 +0000 Received: from source ([164.129.1.35]) (using TLSv1) by eu1sys200aob120.postini.com ([207.126.147.11]) with SMTP ID DSNKTKXMzR6bkmjA4+K2mqCq440GDs4a2dRQ@postini.com; Fri, 01 Oct 2010 11:59:53 UTC Received: from zeta.dmz-eu.st.com (ns2.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id DDB21C2; Fri, 1 Oct 2010 11:57:48 +0000 (GMT) Received: from mail2.dlh.st.com (mail2.dlh.st.com [10.199.8.22]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 0B8FA2649; Fri, 1 Oct 2010 11:57:44 +0000 (GMT) Received: from localhost (dlhl0509.dlh.st.com [10.199.7.86]) by mail2.dlh.st.com (MOS 3.8.7a) with ESMTP id CUF00982 (AUTH viresh.kumar@st.com); Fri, 1 Oct 2010 17:27:44 +0530 (IST) From: Viresh KUMAR To: linux-arm-kernel@lists.infradead.org, rtc-linux@googlegroups.com, a.zummo@towertech.it, dbrownell@users.sourceforge.net, linux-usb@vger.kernel.org, linux-input@vger.kernel.org, dmitry.torokhov@gmail.com, linux-mtd@lists.infradead.org, dwmw2@infradead.org Subject: [PATCH V2 36/69] ST SPEAr: Adding miscellaneous devices Date: Fri, 1 Oct 2010 17:25:56 +0530 Message-Id: X-Mailer: git-send-email 1.7.2.2 In-Reply-To: References: In-Reply-To: References: X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20101001_125954_105477_CA3E05CA X-CRM114-Status: GOOD ( 10.66 ) X-Spam-Score: -4.2 (----) X-Spam-Report: SpamAssassin version 3.3.1 on casper.infradead.org summary: Content analysis details: (-4.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, medium trust [207.126.144.149 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: pratyush.anand@st.com, Viresh Kumar , vipulkumar.samar@st.com, bhupesh.sharma@st.com, armando.visconti@st.com, vipin.kumar@st.com, shiraz.hashim@st.com, rajeev-dlh.kumar@st.com, deepak.sikri@st.com X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-mtd-bounces@lists.infradead.org Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Signed-off-by: Viresh Kumar --- arch/arm/mach-spear3xx/include/mach/generic.h | 7 ++ arch/arm/mach-spear3xx/spear310.c | 115 +++++++++++++++++++------ arch/arm/mach-spear3xx/spear320.c | 26 ++++++ 3 files changed, 123 insertions(+), 25 deletions(-) diff --git a/arch/arm/mach-spear3xx/include/mach/generic.h b/arch/arm/mach-spear3xx/include/mach/generic.h index 9bd9424..ea170a6 100644 --- a/arch/arm/mach-spear3xx/include/mach/generic.h +++ b/arch/arm/mach-spear3xx/include/mach/generic.h @@ -161,6 +161,11 @@ extern struct clcd_board clcd_plat_data; /* spear310 declarations */ #elif defined(CONFIG_MACH_SPEAR310) /* Add spear310 machine device structure declarations here */ +extern struct amba_device uart1_device; +extern struct amba_device uart2_device; +extern struct amba_device uart3_device; +extern struct amba_device uart4_device; +extern struct amba_device uart5_device; extern struct platform_device plgpio_device; extern struct platform_device nand_device; @@ -182,6 +187,8 @@ void __init spear310_init(void); /* Add spear320 machine device structure declarations here */ extern struct amba_device clcd_device; extern struct amba_device ssp_device[]; +extern struct amba_device uart1_device; +extern struct amba_device uart2_device; extern struct platform_device i2c1_device; extern struct platform_device nand_device; extern struct platform_device plgpio_device; diff --git a/arch/arm/mach-spear3xx/spear310.c b/arch/arm/mach-spear3xx/spear310.c index 189e3d4..25a0e94 100644 --- a/arch/arm/mach-spear3xx/spear310.c +++ b/arch/arm/mach-spear3xx/spear310.c @@ -142,6 +142,96 @@ struct pmx_driver pmx_driver = { }; /* Add spear310 specific devices here */ +/* uart1 device registeration */ +struct amba_device uart1_device = { + .dev = { + .init_name = "uart1", + }, + .res = { + .start = SPEAR310_UART1_BASE, + .end = SPEAR310_UART1_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART1, NO_IRQ}, +}; + +/* uart2 device registeration */ +struct amba_device uart2_device = { + .dev = { + .init_name = "uart2", + }, + .res = { + .start = SPEAR310_UART2_BASE, + .end = SPEAR310_UART2_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART2, NO_IRQ}, +}; + +/* uart3 device registeration */ +struct amba_device uart3_device = { + .dev = { + .init_name = "uart3", + }, + .res = { + .start = SPEAR310_UART3_BASE, + .end = SPEAR310_UART3_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART3, NO_IRQ}, +}; + +/* uart4 device registeration */ +struct amba_device uart4_device = { + .dev = { + .init_name = "uart4", + }, + .res = { + .start = SPEAR310_UART4_BASE, + .end = SPEAR310_UART4_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART4, NO_IRQ}, +}; + +/* uart5 device registeration */ +struct amba_device uart5_device = { + .dev = { + .init_name = "uart5", + }, + .res = { + .start = SPEAR310_UART5_BASE, + .end = SPEAR310_UART5_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART5, NO_IRQ}, +}; + +/* nand device registeration */ +static struct fsmc_nand_platform_data nand_platform_data; + +static struct resource nand_resources[] = { + { + .name = "nand_data", + .start = SPEAR310_NAND_BASE, + .end = SPEAR310_NAND_BASE + SZ_16 - 1, + .flags = IORESOURCE_MEM, + }, { + .name = "fsmc_regs", + .start = SPEAR310_FSMC_BASE, + .end = SPEAR310_FSMC_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, +}; + +struct platform_device nand_device = { + .name = "nand", + .id = -1, + .resource = nand_resources, + .num_resources = ARRAY_SIZE(nand_resources), + .dev.platform_data = &nand_platform_data, +}; + /* plgpio device registeration */ /* * pin to offset and offset to pin converter functions @@ -178,31 +268,6 @@ int spear300_o2p(int offset) return offset + 2; } -/* nand device registeration */ -static struct fsmc_nand_platform_data nand_platform_data; - -static struct resource nand_resources[] = { - { - .name = "nand_data", - .start = SPEAR310_NAND_BASE, - .end = SPEAR310_NAND_BASE + SZ_16 - 1, - .flags = IORESOURCE_MEM, - }, { - .name = "fsmc_regs", - .start = SPEAR310_FSMC_BASE, - .end = SPEAR310_FSMC_BASE + SZ_4K - 1, - .flags = IORESOURCE_MEM, - }, -}; - -struct platform_device nand_device = { - .name = "nand", - .id = -1, - .resource = nand_resources, - .num_resources = ARRAY_SIZE(nand_resources), - .dev.platform_data = &nand_platform_data, -}; - static struct plgpio_platform_data plgpio_plat_data = { .gpio_base = 8, .irq_base = SPEAR_PLGPIO_INT_BASE, diff --git a/arch/arm/mach-spear3xx/spear320.c b/arch/arm/mach-spear3xx/spear320.c index 3f1c88b..8ecad40 100644 --- a/arch/arm/mach-spear3xx/spear320.c +++ b/arch/arm/mach-spear3xx/spear320.c @@ -447,6 +447,32 @@ struct amba_device ssp_device[] = { } }; +/* uart1 device registeration */ +struct amba_device uart1_device = { + .dev = { + .init_name = "uart1", + }, + .res = { + .start = SPEAR320_UART1_BASE, + .end = SPEAR320_UART1_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART1, NO_IRQ}, +}; + +/* uart2 device registeration */ +struct amba_device uart2_device = { + .dev = { + .init_name = "uart2", + }, + .res = { + .start = SPEAR320_UART2_BASE, + .end = SPEAR320_UART2_BASE + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + .irq = {VIRQ_UART2, NO_IRQ}, +}; + /* plgpio device registeration */ static struct plgpio_platform_data plgpio_plat_data = { .gpio_base = 8,