From patchwork Mon Jul 8 15:54:41 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guennadi Liakhovetski X-Patchwork-Id: 2824950 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 3F6E9C0AB2 for ; Mon, 8 Jul 2013 15:55:06 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7754E20163 for ; Mon, 8 Jul 2013 15:55:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0243E20114 for ; Mon, 8 Jul 2013 15:55:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751982Ab3GHPyz (ORCPT ); Mon, 8 Jul 2013 11:54:55 -0400 Received: from moutng.kundenserver.de ([212.227.126.171]:64994 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751975Ab3GHPyx (ORCPT ); Mon, 8 Jul 2013 11:54:53 -0400 Received: from axis700.grange (dslb-094-221-113-239.pools.arcor-ip.net [94.221.113.239]) by mrelayeu.kundenserver.de (node=mreu3) with ESMTP (Nemesis) id 0M9AKX-1V4Aw63yov-00CQtJ; Mon, 08 Jul 2013 17:54:48 +0200 Received: from 6a.grange (6a.grange [192.168.1.11]) by axis700.grange (Postfix) with ESMTPS id 5E85840BB4; Mon, 8 Jul 2013 17:54:47 +0200 (CEST) Received: from lyakh by 6a.grange with local (Exim 4.72) (envelope-from ) id 1UwDm3-0002Zp-61; Mon, 08 Jul 2013 17:54:47 +0200 From: Guennadi Liakhovetski To: linux-sh@vger.kernel.org Cc: Magnus Damm , Simon Horman , Guennadi Liakhovetski Subject: [PATCH v3 2/7] ARM: shmobile: ape6evm: add MMCIF support Date: Mon, 8 Jul 2013 17:54:41 +0200 Message-Id: <1373298887-9877-3-git-send-email-g.liakhovetski@gmx.de> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1373298887-9877-1-git-send-email-g.liakhovetski@gmx.de> References: <1373298887-9877-1-git-send-email-g.liakhovetski@gmx.de> X-Provags-ID: V02:K0:9oJBF3EUngt+h7SvoPFyxpfVnyHJ5oWAXsUAr8U9LrJ 7rPaTqDGcOid4AHd3jhyHDh5R2uYEp4PPzWEAZcA0IvzkpwjlY gvZfzsKhDnaImc3vrNjfWrSAkv4/TB8136onQ1zogbRMRwZW3z u2NF6xWzxMD5/+Jn95YWj1xziWAFlnPhUjiAjAEAOQPxupf/SZ GNeR8v2spQ9GIdDXjkJ7eFg7w2Y8MJpzsWEpUy6N7gl/CuNgVE PBDro32XR6h6HQ9/kFPSnlu0gxistm7GvhtH4NqGIsxmqRsUot QWu8MqJE27A4nvKq4e/ij4wJksg06jeSoBAft14nf10yWy0Cog QjbpE4/9nywNQgb+cUou18Xc2otf3mhT/xPK1CnYD/vmwneJ8J CJPyg54pNn9rg== Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add MMCIF support to the APE6EVM board in both PIO and DMA modes, depending on the DMAC driver availability. Power supply is fixed for now, eventually support for the tps80032 regulator, also supplying both VDD and VccQ to the MMCIF slot should be added to APE6EVM. Signed-off-by: Guennadi Liakhovetski Acked-by: Magnus Damm --- arch/arm/mach-shmobile/board-ape6evm.c | 33 ++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-shmobile/board-ape6evm.c b/arch/arm/mach-shmobile/board-ape6evm.c index af6dd39..ab33030 100644 --- a/arch/arm/mach-shmobile/board-ape6evm.c +++ b/arch/arm/mach-shmobile/board-ape6evm.c @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -54,6 +56,27 @@ static const struct smsc911x_platform_config lan9220_data = { .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH, }; +/* + * On APE6EVM power is supplied to MMCIF by a tps80032 regulator. For now we + * model a VDD supply to MMCIF, using a fixed 3.3V regulator. + */ +static struct regulator_consumer_supply fixed3v3_power_consumers[] = +{ + REGULATOR_SUPPLY("vmmc", "sh_mmcif.0"), +}; + +/* MMCIF */ +static struct sh_mmcif_plat_data mmcif0_pdata = { + .caps = MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE, + .slave_id_tx = SHDMA_SLAVE_MMCIF0_TX, + .slave_id_rx = SHDMA_SLAVE_MMCIF0_RX, +}; + +static struct resource mmcif0_resources[] = { + DEFINE_RES_MEM_NAMED(0xee200000, 0x100, "MMCIF0"), + DEFINE_RES_IRQ(gic_spi(169)), +}; + static const struct pinctrl_map ape6evm_pinctrl_map[] = { /* SCIFA0 console */ PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a73a4", @@ -61,6 +84,11 @@ static const struct pinctrl_map ape6evm_pinctrl_map[] = { /* SMSC */ PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-r8a73a4", "irqc_irq40", "irqc"), + /* MMCIF0 */ + PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-r8a73a4", + "mmc0_data8", "mmc0"), + PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-r8a73a4", + "mmc0_ctrl", "mmc0"), }; static void __init ape6evm_add_standard_devices(void) @@ -93,6 +121,11 @@ static void __init ape6evm_add_standard_devices(void) platform_device_register_resndata(&platform_bus, "smsc911x", -1, lan9220_res, ARRAY_SIZE(lan9220_res), &lan9220_data, sizeof(lan9220_data)); + regulator_register_always_on(1, "fixed-3.3V", fixed3v3_power_consumers, + ARRAY_SIZE(fixed3v3_power_consumers), 3300000); + platform_device_register_resndata(&platform_bus, "sh_mmcif", 0, + mmcif0_resources, ARRAY_SIZE(mmcif0_resources), + &mmcif0_pdata, sizeof(mmcif0_pdata)); } static const char *ape6evm_boards_compat_dt[] __initdata = {