From patchwork Tue Nov 22 12:01:55 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martin X-Patchwork-Id: 8538 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1RSp3Z-00027x-W1; Tue, 22 Nov 2011 13:02:37 +0100 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.75/mailfrontend-3) with esmtp id 1RSp3Y-0002lA-Em; Tue, 22 Nov 2011 13:02:33 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752624Ab1KVMC1 (ORCPT + 4 others); Tue, 22 Nov 2011 07:02:27 -0500 Received: from mail-ey0-f174.google.com ([209.85.215.174]:55944 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751209Ab1KVMC0 (ORCPT ); Tue, 22 Nov 2011 07:02:26 -0500 Received: by mail-ey0-f174.google.com with SMTP id 27so79062eye.19 for ; Tue, 22 Nov 2011 04:02:25 -0800 (PST) Received: by 10.14.11.87 with SMTP id 63mr1335817eew.9.1321963345258; Tue, 22 Nov 2011 04:02:25 -0800 (PST) Received: from localhost.localdomain (128.50.18.95.dynamic.jazztel.es. [95.18.50.128]) by mx.google.com with ESMTPS id z58sm41113196eea.3.2011.11.22.04.02.22 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 22 Nov 2011 04:02:24 -0800 (PST) From: Javier Martin To: linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, m.szyprowski@samsung.com, laurent.pinchart@ideasonboard.com, s.nawrocki@samsung.com, hverkuil@xs4all.nl, kyungmin.park@samsung.com, shawn.guo@linaro.org, richard.zhao@linaro.org, fabio.estevam@freescale.com, kernel@pengutronix.de, s.hauer@pengutronix.de, r.schwebel@pengutronix.de Cc: Javier Martin Subject: [PATCH v2 1/2] MX2: Add platform definitions for eMMa-PrP device. Date: Tue, 22 Nov 2011 13:01:55 +0100 Message-Id: <1321963316-9058-2-git-send-email-javier.martin@vista-silicon.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1321963316-9058-1-git-send-email-javier.martin@vista-silicon.com> References: <1321963316-9058-1-git-send-email-javier.martin@vista-silicon.com> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.11.22.115117 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_TO_X5 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' X-LSpam-Score: -4.2 (----) X-LSpam-Report: No, score=-4.2 required=5.0 tests=BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3 autolearn=ham eMMa-PrP device included in Freescale i.MX2 chips can also be used separately to process memory buffers. Signed-off-by: Javier Martin --- arch/arm/mach-imx/devices-imx27.h | 2 + arch/arm/plat-mxc/devices/platform-mx2-camera.c | 33 +++++++++++++++++++++++ arch/arm/plat-mxc/include/mach/devices-common.h | 2 + 3 files changed, 37 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-imx/devices-imx27.h b/arch/arm/mach-imx/devices-imx27.h index 2f727d7..519aa36 100644 --- a/arch/arm/mach-imx/devices-imx27.h +++ b/arch/arm/mach-imx/devices-imx27.h @@ -50,6 +50,8 @@ extern const struct imx_imx_uart_1irq_data imx27_imx_uart_data[]; extern const struct imx_mx2_camera_data imx27_mx2_camera_data; #define imx27_add_mx2_camera(pdata) \ imx_add_mx2_camera(&imx27_mx2_camera_data, pdata) +#define imx27_alloc_mx2_emmaprp(pdata) \ + imx_alloc_mx2_emmaprp(&imx27_mx2_camera_data) extern const struct imx_mxc_ehci_data imx27_mxc_ehci_otg_data; #define imx27_add_mxc_ehci_otg(pdata) \ diff --git a/arch/arm/plat-mxc/devices/platform-mx2-camera.c b/arch/arm/plat-mxc/devices/platform-mx2-camera.c index b3f4828..4a8bd73 100644 --- a/arch/arm/plat-mxc/devices/platform-mx2-camera.c +++ b/arch/arm/plat-mxc/devices/platform-mx2-camera.c @@ -6,6 +6,7 @@ * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ +#include #include #include @@ -62,3 +63,35 @@ struct platform_device *__init imx_add_mx2_camera( res, data->iobaseemmaprp ? 4 : 2, pdata, sizeof(*pdata), DMA_BIT_MASK(32)); } + +struct platform_device *__init imx_alloc_mx2_emmaprp( + const struct imx_mx2_camera_data *data) +{ + struct resource res[] = { + { + .start = data->iobaseemmaprp, + .end = data->iobaseemmaprp + data->iosizeemmaprp - 1, + .flags = IORESOURCE_MEM, + }, { + .start = data->irqemmaprp, + .end = data->irqemmaprp, + .flags = IORESOURCE_IRQ, + }, + }; + struct platform_device *pdev; + int ret = -ENOMEM; + + pdev = platform_device_alloc("m2m-emmaprp", 0); + if (!pdev) + goto err; + + ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res)); + if (ret) + goto err; + + return pdev; +err: + platform_device_put(pdev); + return ERR_PTR(-ENODEV); + +} diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index def9ba5..ce64bd5 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h @@ -223,6 +223,8 @@ struct imx_mx2_camera_data { struct platform_device *__init imx_add_mx2_camera( const struct imx_mx2_camera_data *data, const struct mx2_camera_platform_data *pdata); +struct platform_device *__init imx_alloc_mx2_emmaprp( + const struct imx_mx2_camera_data *data); #include struct imx_mxc_ehci_data {