From patchwork Mon Jun 20 06:06:55 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 896112 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p5K67E6j029160 for ; Mon, 20 Jun 2011 06:07:15 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752926Ab1FTGHO (ORCPT ); Mon, 20 Jun 2011 02:07:14 -0400 Received: from kirsty.vergenet.net ([202.4.237.240]:35763 "EHLO kirsty.vergenet.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752576Ab1FTGHL (ORCPT ); Mon, 20 Jun 2011 02:07:11 -0400 Received: from joe.akashicho.tokyo.vergenet.net (49.14.32.202.bf.2iij.net [202.32.14.49]) by kirsty.vergenet.net (Postfix) with ESMTP id A005D245A6; Mon, 20 Jun 2011 16:07:08 +1000 (EST) Received: by joe.akashicho.tokyo.vergenet.net (Postfix, from userid 7100) id CF6C628A03C; Mon, 20 Jun 2011 15:07:04 +0900 (JST) From: Simon Horman To: linux-mmc@vger.kernel.org, linux-sh@vger.kernel.org Cc: Magnus Damm , Guennadi Liakhovetski , Paul Mundt , Chris Ball , Simon Horman Subject: [PATCH 5/5] ARM: mach-shmobile: ag5evm: SDHI requires waiting for idle Date: Mon, 20 Jun 2011 15:06:55 +0900 Message-Id: <1308550015-15717-6-git-send-email-horms@verge.net.au> X-Mailer: git-send-email 1.7.4.4 In-Reply-To: <1308550015-15717-1-git-send-email-horms@verge.net.au> References: <1308550015-15717-1-git-send-email-horms@verge.net.au> Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Mon, 20 Jun 2011 06:07:15 +0000 (UTC) The SDHI block on the ag5evm requires waiting for idle before writing to some registers. Cc: Guennadi Liakhovetski Cc: Magnus Damm Signed-off-by: Simon Horman --- Dependencies: "mmc: sdhi: Add write16_hook" "ARM: mach-shmobile: ag5evm: consistently name sdhi info structures" --- arch/arm/mach-shmobile/board-ag5evm.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index ce5c251..cdfdd62 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c @@ -341,6 +341,7 @@ static struct platform_device mipidsi0_device = { static struct sh_mobile_sdhi_info sdhi0_info = { .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, + .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, .tmio_caps = MMC_CAP_SD_HIGHSPEED, .tmio_ocr_mask = MMC_VDD_27_28 | MMC_VDD_28_29, }; @@ -382,7 +383,7 @@ void ag5evm_sdhi1_set_pwr(struct platform_device *pdev, int state) } static struct sh_mobile_sdhi_info sh_sdhi1_info = { - .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE, + .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT, .tmio_caps = MMC_CAP_NONREMOVABLE | MMC_CAP_SDIO_IRQ, .tmio_ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34, .set_pwr = ag5evm_sdhi1_set_pwr,