From patchwork Fri May 23 12:52:17 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 30770 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ie0-f197.google.com (mail-ie0-f197.google.com [209.85.223.197]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 8CFE42066E for ; Fri, 23 May 2014 12:52:29 +0000 (UTC) Received: by mail-ie0-f197.google.com with SMTP id rd18sf23174752iec.4 for ; Fri, 23 May 2014 05:52:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:in-reply-to:references:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe; bh=Kkmz3AOJw+98rnQ8Ufe+OokD4X7Wy3PqMDrJa/dYW5U=; b=FZYhv5J4MSVlTCRpga4b7wLHVRbAoJeKXbdY7x1eRsRPnN/O+6y8Eka0jZPKcc95qT KZ71Xf+6LynqxwFlayHd7iSnv6a476DAiTtT56zTPb3GPFFK/eCOB0ptCTww+b44uSY1 8XZtNdtDRUDuBKRL4pd0DwvlEAjuq+n3lSsgP97+F1GHDL2IOeOnxF9O3rd3jUhNlY/r ZRlHseQBTKW6OGIuGWVhgyC3nAwpwotTPKV9Grw4XTDb2Jgwg0xKcGK6trBIadFhxSNL +HfFpznf7pYSFy4SxM3JQQg6JY+5A2Odih3MpbDwiCbDMPVOKPwi1h+lQMpwB5dZ2Osf PNPg== X-Gm-Message-State: ALoCoQmJVKj8Yw2iO6BlnrYbPoHel78PHX6o8eHnIMn5vVGoOE8KQydQZK+90EE+YmuLRGo0ya0q X-Received: by 10.43.90.198 with SMTP id bj6mr1730984icc.16.1400849549068; Fri, 23 May 2014 05:52:29 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.36.148 with SMTP id p20ls1731147qgp.80.gmail; Fri, 23 May 2014 05:52:28 -0700 (PDT) X-Received: by 10.58.243.198 with SMTP id xa6mr201539vec.65.1400849548885; Fri, 23 May 2014 05:52:28 -0700 (PDT) Received: from mail-vc0-f176.google.com (mail-vc0-f176.google.com [209.85.220.176]) by mx.google.com with ESMTPS id zx9si1534808vdc.64.2014.05.23.05.52.28 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 23 May 2014 05:52:28 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.176 as permitted sender) client-ip=209.85.220.176; Received: by mail-vc0-f176.google.com with SMTP id id10so2743603vcb.7 for ; Fri, 23 May 2014 05:52:28 -0700 (PDT) X-Received: by 10.221.26.10 with SMTP id rk10mr4017896vcb.0.1400849548819; Fri, 23 May 2014 05:52:28 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.220.221.72 with SMTP id ib8csp29016vcb; Fri, 23 May 2014 05:52:28 -0700 (PDT) X-Received: by 10.66.119.172 with SMTP id kv12mr5807339pab.34.1400849547993; Fri, 23 May 2014 05:52:27 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id rx8si3763474pab.186.2014.05.23.05.52.27; Fri, 23 May 2014 05:52:27 -0700 (PDT) Received-SPF: none (google.com: linux-mmc-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752812AbaEWMwY (ORCPT + 6 others); Fri, 23 May 2014 08:52:24 -0400 Received: from mail-wg0-f43.google.com ([74.125.82.43]:55642 "EHLO mail-wg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752382AbaEWMwW (ORCPT ); Fri, 23 May 2014 08:52:22 -0400 Received: by mail-wg0-f43.google.com with SMTP id l18so4796045wgh.14 for ; Fri, 23 May 2014 05:52:21 -0700 (PDT) X-Received: by 10.194.188.68 with SMTP id fy4mr4139734wjc.30.1400849541127; Fri, 23 May 2014 05:52:21 -0700 (PDT) Received: from srini-ThinkPad-X1-Carbon-2nd.dlink.com (host-78-149-4-211.as13285.net. [78.149.4.211]) by mx.google.com with ESMTPSA id dh1sm3805822wjc.25.2014.05.23.05.52.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 23 May 2014 05:52:20 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: Russell King , Ulf Hansson , linux-mmc@vger.kernel.org Cc: Chris Ball , linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linus.walleij@linaro.org, Srinivas Kandagatla Subject: [PATCH v3 09/13] mmc: mmci: add edge support to data and command out in variant data. Date: Fri, 23 May 2014 13:52:17 +0100 Message-Id: <1400849537-7425-1-git-send-email-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1400849362-7007-1-git-send-email-srinivas.kandagatla@linaro.org> References: <1400849362-7007-1-git-send-email-srinivas.kandagatla@linaro.org> Sender: linux-mmc-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: srinivas.kandagatla@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.176 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , From: Srinivas Kandagatla This patch adds edge support for data and command out to variant structure giving more flexibility to the driver to support more SOCs which have different clock register layout. Without this patch other new SOCs like Qcom will have to add more code to special case them Signed-off-by: Srinivas Kandagatla Reviewed-by: Linus Walleij --- drivers/mmc/host/mmci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index a81f303..17e7f6a 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -53,6 +53,7 @@ static unsigned int fmax = 515633; * @clkreg: default value for MCICLOCK register * @clkreg_enable: enable value for MMCICLOCK register * @clkreg_8bit_bus_enable: enable value for 8 bit bus + * @clkreg_neg_edge_enable: enable value for inverted data/cmd output * @datalength_bits: number of bits in the MMCIDATALENGTH register * @fifosize: number of bytes that can be written when MMCI_TXFIFOEMPTY * is asserted (likewise for RX) @@ -76,6 +77,7 @@ struct variant_data { unsigned int clkreg; unsigned int clkreg_enable; unsigned int clkreg_8bit_bus_enable; + unsigned int clkreg_neg_edge_enable; unsigned int datalength_bits; unsigned int fifosize; unsigned int fifohalfsize; @@ -148,6 +150,7 @@ static struct variant_data variant_ux500 = { .clkreg = MCI_CLK_ENABLE, .clkreg_enable = MCI_ST_UX500_HWFCEN, .clkreg_8bit_bus_enable = MCI_ST_8BIT_BUS, + .clkreg_neg_edge_enable = MCI_ST_UX500_NEG_EDGE, .datactrl_mask_ddrmode = MCI_ST_DPSM_DDRMODE, .datalength_bits = 24, .sdio = true, @@ -165,6 +168,7 @@ static struct variant_data variant_ux500v2 = { .clkreg = MCI_CLK_ENABLE, .clkreg_enable = MCI_ST_UX500_HWFCEN, .clkreg_8bit_bus_enable = MCI_ST_8BIT_BUS, + .clkreg_neg_edge_enable = MCI_ST_UX500_NEG_EDGE, .datactrl_mask_ddrmode = MCI_ST_DPSM_DDRMODE, .datalength_bits = 24, .sdio = true, @@ -348,7 +352,7 @@ static void mmci_set_clkreg(struct mmci_host *host, unsigned int desired) clk |= variant->clkreg_8bit_bus_enable; if (host->mmc->ios.timing == MMC_TIMING_UHS_DDR50) - clk |= MCI_ST_UX500_NEG_EDGE; + clk |= variant->clkreg_neg_edge_enable; mmci_write_clkreg(host, clk); }