From patchwork Tue Jun 15 10:43:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manish Narani X-Patchwork-Id: 12321843 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED033C48BE5 for ; Tue, 15 Jun 2021 14:06:36 +0000 (UTC) Received: from bombadil.infradead.org (unknown [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B5E376054E for ; Tue, 15 Jun 2021 14:06:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B5E376054E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PrYYggcz7fCjcXMttnFwFa15BejmBUYVjXQOarrtTM8=; b=UP8TwWr9MG8iu6 w1LXkPCrCgQeVbodfObo+g+UT7OftU319vsyBXUEa6Dk8Q7SjHy49R7X5HlHw6rNMRj+ZLVFxXx0j Y4x5aD+x4FeBSqVu6/GmW5eHfeN/3k31Vbvnds+hi0yERI9F76EsjbgS263kkuHaB8NyWyvpA5c4X P6uNeTmjBc8PbvhWWOUqv8RHFQqm/ViwwlqGac3GeQ+EwsliysoLt+xqJQhXMYmkKAMKp3a7192yg 9iBzsD0ZL504mgx/pvjJsvqv/2cxl1YaMDzDF8flyqdcJd4ZnOzEnBQT2plZ7eVeJsgDEZlgdTxwU e8sVXEhe3Ll5ZRFtzJTg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lt9a5-000OEb-8c; Tue, 15 Jun 2021 13:58:20 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lt9GZ-000DwX-Jf for linux-arm-kernel@bombadil.infradead.org; Tue, 15 Jun 2021 13:38:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:CC:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=cPodYLyE7QHxmOGn50ccFh3gkdAT9OvB74QHdvxjwe0=; b=B7547Xr+ZXIdqQr1+oQybTOF+3 SSZFB/zeLnSD2EiAGwO+LVU2uBk4RgzKc1V3Wm0cAG9p8tiaebm+wrmaJiVO4ffMz4upLfCnwWHP8 OR7qNUtz86ogAs7bBFZNvD4qMwojkO7wAb1N5pkiZXVV+wQ5wcPj9TjrXRWJUZVlDWFTWfV1dz8wc yG7Bb3HiPjivx00PKkIM4s1mrybZ3N2zzGCzYvHVyNF/AQYX3RbE2Bv4HBwyP/RukxN3+wXSyCgrW vmsOXU5liB8Ho2lwYA0dvrBP64tOs3Uzw1sQDe2XruaFhGs1m/9GTQuB1KLbnFnubTnBnK0heo5dv uxR1x+Uw==; Received: from mail-dm6nam12on2054.outbound.protection.outlook.com ([40.107.243.54] helo=NAM12-DM6-obe.outbound.protection.outlook.com) by desiato.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lt6YG-007k2s-Eq for linux-arm-kernel@lists.infradead.org; Tue, 15 Jun 2021 10:44:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VGxjQGA7i5Weo5Zzj7q4wOQnG5OOLlVqASFI/bVNmV60vCEtz1/WPNtJ0wDoCKRpS46Q0gBw20TeFKuo89wOEYQCg0oxPK/oFyzD20StXaDg8ZLvPBV9q/vzynY+ajbxGTdcWXycOrhfkI974k2LU3zCwWmjfxM4D5tx5HyKOZQT2KXONic5qTo7F847kn7CPNZgweTnb6nQDWn9fnmRJv3g7hQdnhCjMhKGBSUQ+AQgYse7gDy1Oii51uAuUuKHCPdBGPqaAEwtnAvo24YgBTv86YXmd8vFA3GxZ1VdZbQzMly+MfBqJnhvNGLBpvYExAPyNfLTs1a03NsD5T5jug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cPodYLyE7QHxmOGn50ccFh3gkdAT9OvB74QHdvxjwe0=; b=QEFEIoVd6NAWWLPnFXSIfwxGciNpxfuQPtMcXjoP64uHMb3SY9yWnTrxZ4My9AiuM/9AF3tNDXQjlUNfnQB8FcDzf738PoDYi29RznxgOXrQPWGBJHcUc8NCMLsfeHwAItzVIJzv1pxmatVFpx6eCjUESihR/ZfH9GNNBrtxhp5CfzTsczYfegm4qs4dnqCXxxUKQ7IMZIcjeLXtcQHYwFXHosX6Aet1vCObWlqUZljlNL8y6YZm2xTXkCJ0evFsObMucg9fwSG8cTW+RfTcznJRgzIKeBdcqELjTKeJbsXWTMotGiHdPHxx/rUA/JcrtGHntLwzSQsfne57kw+1mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.62.198) smtp.rcpttodomain=intel.com smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cPodYLyE7QHxmOGn50ccFh3gkdAT9OvB74QHdvxjwe0=; b=if0sPTVf2hv6lCRIC9oQBG0UWnUk3Q208ityzq816P4j0NuL4Ia1wuRGNVis3BkBgvhqIDWFzPk9thxqxf/hBcLB7HrweHIOVJYF6YNOGJIyCyWCPhNDFNi0RzaMlEvrpwosg8fo2bvZb1BQ+4zYbtrPIepZuSfTVeofjO5vqXg= Received: from DS7PR03CA0101.namprd03.prod.outlook.com (2603:10b6:5:3b7::16) by CO6PR02MB7842.namprd02.prod.outlook.com (2603:10b6:303:ad::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.24; Tue, 15 Jun 2021 10:44:14 +0000 Received: from DM3NAM02FT025.eop-nam02.prod.protection.outlook.com (2603:10b6:5:3b7:cafe::1a) by DS7PR03CA0101.outlook.office365.com (2603:10b6:5:3b7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16 via Frontend Transport; Tue, 15 Jun 2021 10:44:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.62.198) smtp.mailfrom=xilinx.com; intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=pass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.62.198 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.62.198; helo=xsj-pvapexch02.xlnx.xilinx.com; Received: from xsj-pvapexch02.xlnx.xilinx.com (149.199.62.198) by DM3NAM02FT025.mail.protection.outlook.com (10.13.4.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4219.21 via Frontend Transport; Tue, 15 Jun 2021 10:44:14 +0000 Received: from xsj-pvapexch02.xlnx.xilinx.com (172.19.86.41) by xsj-pvapexch02.xlnx.xilinx.com (172.19.86.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 15 Jun 2021 03:44:13 -0700 Received: from smtp.xilinx.com (172.19.127.95) by xsj-pvapexch02.xlnx.xilinx.com (172.19.86.41) with Microsoft SMTP Server id 15.1.2176.2 via Frontend Transport; Tue, 15 Jun 2021 03:44:13 -0700 Received: from [172.23.64.106] (port=49375 helo=xhdvnc125.xilinx.com) by smtp.xilinx.com with esmtp (Exim 4.90) (envelope-from ) id 1lt6YH-0002VS-Kw; Tue, 15 Jun 2021 03:44:13 -0700 Received: by xhdvnc125.xilinx.com (Postfix, from userid 16987) id BFA051210FA; Tue, 15 Jun 2021 16:13:59 +0530 (IST) From: Manish Narani To: , , CC: , , , Manish Narani Subject: [PATCH 1/7] mmc: sdhci-of-arasan: Modified SD default speed to 19MHz for ZynqMP Date: Tue, 15 Jun 2021 16:13:51 +0530 Message-ID: <1623753837-21035-2-git-send-email-manish.narani@xilinx.com> X-Mailer: git-send-email 2.1.1 In-Reply-To: <1623753837-21035-1-git-send-email-manish.narani@xilinx.com> References: <1623753837-21035-1-git-send-email-manish.narani@xilinx.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: edad6ffe-cd45-4162-f38a-08d92fea849d X-MS-TrafficTypeDiagnostic: CO6PR02MB7842: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gtn3zVAetad9xpdBfh7fL/xNFDLoTmv/OPECNUcwmSWLu8DMVc6varOGeNIpt1H7024Ezqhoac8DmHcjD+5Ye1FbYAKqu975ee21+vw/brJ0D9YqN7Ufmm3kXTqBESAlEL5Cl05hfMX7PRJkJrE0lP3zJoFlbQjjcwSJeTSf0998b4JSpup9PiYaHPJE10EIRI0vnFzyhWHcj2c2ELinVGJQmHs6q6Mx6Av8yI9RYblvk7ZFsNYti0lJk1o7lUQqcZIqpvpap3dvJjF7Xxb1ET1dcz3e9hKCw44jmH3SnuHRS1m8lw2//YrwtQOAw14CD1vIp/9779e8pAw5Bnc539osq7j5dtThGt4HDfjNFs5IrHnCuyG0d9si1z9gr1MFGh7xiafJXURlW61GnA7Yn6u87P1cILWBFKBmE9QaDAix1zIfL2pQdeBcKa4s8WYClCedviKGkETsYsxx0BMwK47soNogHXLwhJnyzmpbx1qTnpYaOOKSLUadVLdA4IhKnShy8u1oD9p/jeX6c8jTrh9QGCw+Rxm9vzN9GZJu50RYSdKRIn60EZAV9NBxYDIZb8zktLU2WTbLkDy+fVwqXDmtSsQaBEV9yesN7Fo/YtQzDUU8fZ5uERTq+0WwmiUCcLTilFdCxprHAaA1L7r+yyT0gdU6Mpkdkmt6JNsA2DeY+gMInF+uxnA6l6/e949t X-Forefront-Antispam-Report: CIP:149.199.62.198; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:xsj-pvapexch02.xlnx.xilinx.com; PTR:unknown-62-198.xilinx.com; CAT:NONE; SFS:(4636009)(136003)(39850400004)(396003)(346002)(376002)(36840700001)(46966006)(2616005)(5660300002)(8676002)(8936002)(70206006)(70586007)(26005)(47076005)(2906002)(36860700001)(110136005)(36906005)(478600001)(316002)(83380400001)(6266002)(336012)(107886003)(54906003)(426003)(82740400003)(36756003)(186003)(82310400003)(42186006)(356005)(4326008)(6666004)(44832011)(7636003)(102446001); DIR:OUT; SFP:1101; X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2021 10:44:14.2532 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: edad6ffe-cd45-4162-f38a-08d92fea849d X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.62.198]; Helo=[xsj-pvapexch02.xlnx.xilinx.com] X-MS-Exchange-CrossTenant-AuthSource: DM3NAM02FT025.eop-nam02.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR02MB7842 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210615_114419_347813_22E2DB4F X-CRM114-Status: GOOD ( 13.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SD standard speed timing was met only at 19MHz and not 25 MHz, that's why changing driver to 19MHz. The reason for this is when a level shifter is used on the board, timing was met for standard speed only at 19MHz. Since this level shifter is commonly required for high speed modes, the driver is modified to use standard speed of 19Mhz. Signed-off-by: Manish Narani --- drivers/mmc/host/sdhci-of-arasan.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c index 839965f..fc3e41c 100644 --- a/drivers/mmc/host/sdhci-of-arasan.c +++ b/drivers/mmc/host/sdhci-of-arasan.c @@ -159,6 +159,12 @@ struct sdhci_arasan_data { /* Controller immediately reports SDHCI_CLOCK_INT_STABLE after enabling the * internal clock even when the clock isn't stable */ #define SDHCI_ARASAN_QUIRK_CLOCK_UNSTABLE BIT(1) +/* + * Some of the Arasan variations might not have timing requirements + * met at 25MHz for Default Speed mode, those controllers work at + * 19MHz instead + */ +#define SDHCI_ARASAN_QUIRK_CLOCK_25_BROKEN BIT(2) }; struct sdhci_arasan_of_data { @@ -290,6 +296,16 @@ static void sdhci_arasan_set_clock(struct sdhci_host *host, unsigned int clock) sdhci_arasan->is_phy_on = false; } + if (sdhci_arasan->quirks & SDHCI_ARASAN_QUIRK_CLOCK_25_BROKEN) { + /* + * Some of the Arasan variations might not have timing + * requirements met at 25MHz for Default Speed mode, + * those controllers work at 19MHz instead. + */ + if (clock == DEFAULT_SPEED_MAX_DTR) + clock = (DEFAULT_SPEED_MAX_DTR * 19) / 25; + } + /* Set the Input and Output Clock Phase Delays */ if (clk_data->set_clk_delays) clk_data->set_clk_delays(host); @@ -1598,6 +1614,8 @@ static int sdhci_arasan_probe(struct platform_device *pdev) if (of_device_is_compatible(np, "xlnx,zynqmp-8.9a")) { host->mmc_host_ops.execute_tuning = arasan_zynqmp_execute_tuning; + + sdhci_arasan->quirks |= SDHCI_ARASAN_QUIRK_CLOCK_25_BROKEN; } arasan_dt_parse_clk_phases(dev, &sdhci_arasan->clk_data);