From patchwork Tue Jul 17 11:53:59 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Edworthy X-Patchwork-Id: 1204901 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 49CAADF25A for ; Tue, 17 Jul 2012 11:54:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752116Ab2GQLyS (ORCPT ); Tue, 17 Jul 2012 07:54:18 -0400 Received: from relmlor2.renesas.com ([210.160.252.172]:46814 "EHLO relmlor2.renesas.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752114Ab2GQLyR (ORCPT ); Tue, 17 Jul 2012 07:54:17 -0400 Received: from relmlir4.idc.renesas.com ([10.200.68.154]) by relmlor2.idc.renesas.com ( SJSMS) with ESMTP id <0M7A0060NZQGRU50@relmlor2.idc.renesas.com> for linux-sh@vger.kernel.org; Tue, 17 Jul 2012 20:54:16 +0900 (JST) Received: from relmlac1.idc.renesas.com ([10.200.69.21]) by relmlir4.idc.renesas.com ( SJSMS) with ESMTP id <0M7A00113ZQGT1D0@relmlir4.idc.renesas.com> for linux-sh@vger.kernel.org; Tue, 17 Jul 2012 20:54:16 +0900 (JST) Received: by relmlac1.idc.renesas.com (Postfix, from userid 0) id 48C3B8015D; Tue, 17 Jul 2012 20:54:16 +0900 (JST) Received: from relmlac1.idc.renesas.com (localhost [127.0.0.1]) by relmlac1.idc.renesas.com (Postfix) with ESMTP id 3FE968015B; Tue, 17 Jul 2012 20:54:16 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac1.idc.renesas.com with ESMTP id WAA29457; Tue, 17 Jul 2012 20:54:16 +0900 X-IronPort-AV: E=Sophos; i="4.77,601,1336316400"; d="scan'208"; a="90687325" Received: from unknown (HELO relay61.aps.necel.com) ([10.29.19.64]) by relmlii2.idc.renesas.com with ESMTP; Tue, 17 Jul 2012 20:54:16 +0900 Received: from julia (du2com5.eu.necel.com [172.29.24.35] (may be forged)) by relay61.aps.necel.com (8.14.4+Sun/8.14.4) with ESMTP id q6HBsB7N002197; Tue, 17 Jul 2012 20:54:12 +0900 (JST) Received: by julia (Postfix, from userid 2) id 30E2B102E1; Tue, 17 Jul 2012 13:54:11 +0200 (CEST) Received: from du0nohub.eu.necel.com (unknown [172.29.24.70]) by julia (Postfix) with ESMTP id 25DF94DDB5; Tue, 17 Jul 2012 13:54:11 +0200 (CEST) Received: from duacsls.ad.ree.renesas.com ([172.29.43.47]) by du0nohub.eu.necel.com (Lotus Domino Release 8.5.3 HF466) with ESMTP id 2012071713541085-39155 ; Tue, 17 Jul 2012 13:54:10 +0200 From: Phil Edworthy To: linux-sh@vger.kernel.org Cc: Magnus Damm , "Rafael J. Wysocki" , Phil Edworthy X-Mailer: git-send-email 1.7.5.4 In-reply-to: <1342526039-11128-1-git-send-email-phil.edworthy@renesas.com> References: <1342526039-11128-1-git-send-email-phil.edworthy@renesas.com> X-TNEFEvaluated: 1 Message-id: <1342526039-11128-3-git-send-email-phil.edworthy@renesas.com> Date: Tue, 17 Jul 2012 12:53:59 +0100 Subject: [PATCH 2/2] marzen: add SDHI0 support X-MIMETrack: Itemize by SMTP Server on DU0NOHUB/NECEE(Release 8.5.3 HF466|March 09, 2012) at 17.07.2012 13:54:10, Serialize by Router on DU0NOHUB/NECEE(Release 8.5.3 HF466|March 09, 2012) at 17.07.2012 13:54:11, Serialize complete at 17.07.2012 13:54:11 Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org Signed-off-by: Phil Edworthy Tested-by: Kuninori Morimoto --- arch/arm/mach-shmobile/board-marzen.c | 48 +++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index 3a528cf..3c54a2f 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include #include @@ -75,8 +77,44 @@ static struct platform_device eth_device = { .num_resources = ARRAY_SIZE(smsc911x_resources), }; +/* Fixed 3.3V regulator to be used by SDHI0 */ +static struct regulator_consumer_supply fixed3v3_power_consumers[] = +{ + REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"), + REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), +}; + +static struct resource sdhi0_resources[] = { + [0] = { + .name = "sdhi0", + .start = 0xffe4c000, + .end = 0xffe4c0ff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = gic_spi(104), + .flags = IORESOURCE_IRQ, + }, +}; + +static struct sh_mobile_sdhi_info sdhi0_platform_data = { + .tmio_flags = (TMIO_MMC_WRPROTECT_DISABLE + | TMIO_MMC_HAS_IDLE_WAIT), + .tmio_caps = MMC_CAP_SD_HIGHSPEED, +}; + +static struct platform_device sdhi0_device = { + .name = "sh_mobile_sdhi", + .num_resources = ARRAY_SIZE(sdhi0_resources), + .resource = sdhi0_resources, + .id = 0, + .dev = { + .platform_data = &sdhi0_platform_data, + } +}; static struct platform_device *marzen_devices[] __initdata = { ð_device, + &sdhi0_device, }; static void __init marzen_init(void) @@ -97,6 +135,16 @@ static void __init marzen_init(void) gpio_request(GPIO_FN_EX_CS0, NULL); /* nCS */ gpio_request(GPIO_FN_IRQ1_B, NULL); /* IRQ + PME */ + /* SD0 (CN20) */ + gpio_request(GPIO_FN_SD0_CLK, NULL); + gpio_request(GPIO_FN_SD0_CMD, NULL); + gpio_request(GPIO_FN_SD0_DAT0, NULL); + gpio_request(GPIO_FN_SD0_DAT1, NULL); + gpio_request(GPIO_FN_SD0_DAT2, NULL); + gpio_request(GPIO_FN_SD0_DAT3, NULL); + gpio_request(GPIO_FN_SD0_CD, NULL); + gpio_request(GPIO_FN_SD0_WP, NULL); + r8a7779_add_standard_devices(); platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices)); }