From patchwork Fri Nov 5 17:39:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1551503 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-secospa-onmicrosoft-com header.b=V4sKqOdZ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Hm78L58W1z9sCD for ; Sat, 6 Nov 2021 04:40:50 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B340383728; Fri, 5 Nov 2021 18:40:25 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="V4sKqOdZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D8D7B836AC; Fri, 5 Nov 2021 18:40:10 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on061a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::61a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EE3518371F for ; Fri, 5 Nov 2021 18:40:01 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tdj6NK6PC3hbTNXw3om5vBe3U7agGohva8+ehyj2q2FqH3orDXeY/3+IKFqwTgHEvmRg0Op2ftKxlQg+CALOPFwIVDWFP2gmsvSYfhkLun0pQxsGCd0qAZwOVMr10mw+jBmIoIkfpgf6jBhih2doQrcxLwxv0WuXQ+7Yz9PuExbgfLEw1EX0jGqgim1ZH/4mKYwNGgC3sM+fe7vXUnyv0J0+cQwkbequEOues4hQi8C7mi4ez3SWZTuKzBgNM+WZNhrtCONN/EV3F/UrSmDKBBi4d6FhK4JqrJGj//02bzdzJmT6yMYRHIiTafIsLoe5m3E54M42OMaKdUnxGtEm5w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BhgOiIZaKQu/gJ5Dunt7L2yIe1YXT7faU3nUVhB3598=; b=jzs4WTzhoCxb6RaKiw1fyfceYH/Q6B9tUkCZ0CHJ5eR4uxcI7/FO+dRf+ac4nAmsJfJbEPPHonpzgL8jsTC4qWZKYMMfQj2FTiBVJ2wJu5hGyEVgQ4AUWw/TEX8yZ0XxFSmQ+Hi6bup8U6asfAIBFD8m5q/oj/lnR2xj80XEl40zgBDiBJ8v6IyyhC+nUkKsF0mOxJWLwQYOZGA88uYxsro69WtlsSRR69gOEUM7ORXdkC9JHUDGjKfBPwlZva2nK0xXn7q6MapGK5hBvaaJ7xs6JAHrDW7aG9p9WKmRYe1X3Nh0oJaEXddfxNcBMz9X269++62zxLqsI2VFi2964A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BhgOiIZaKQu/gJ5Dunt7L2yIe1YXT7faU3nUVhB3598=; b=V4sKqOdZR2nudiu8jo4h9f5UhN1Vl6Q95OM0Oos4QFm/mxkbfoOAWd9uO+Zua6bZoPvcxb0dYINxwIZTGwyxq2AvpOHtbADO+kT5x0qjqh+XBxowe/toUcuiI4oahiknGuLBdgUnqmmnQuZNd38RPYaMyXBY/zL+7xsLELik6ZQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) by DB7PR03MB3802.eurprd03.prod.outlook.com (2603:10a6:5:3b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.19; Fri, 5 Nov 2021 17:40:01 +0000 Received: from DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::a9aa:f363:66e:fadf]) by DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::a9aa:f363:66e:fadf%6]) with mapi id 15.20.4649.021; Fri, 5 Nov 2021 17:40:00 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Peng Fan , Jaehoon Chung Cc: Haibo Chen , Yangbo Lu , Fabio Estevam , Michael Walle , Sean Anderson Subject: [PATCH 03/11] mmc: fsl_esdhc_imx: fix voltage validation Date: Fri, 5 Nov 2021 13:39:36 -0400 Message-Id: <20211105173945.92446-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211105173945.92446-1-sean.anderson@seco.com> References: <20211105173945.92446-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR17CA0012.namprd17.prod.outlook.com (2603:10b6:208:15e::25) To DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) MIME-Version: 1.0 Received: from plantagenet.inhand.com (50.195.82.171) by MN2PR17CA0012.namprd17.prod.outlook.com (2603:10b6:208:15e::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Fri, 5 Nov 2021 17:39:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aab1ce07-187f-4fc1-2092-08d9a0834ae6 X-MS-TrafficTypeDiagnostic: DB7PR03MB3802: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:114; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VAuW/ch4006ASMdTTq04qC1gHwG9WgcEjssiH/gAzbWbP3cc1rfRCMCvJxzizGMkRF4+5tF390xvfA9YKJx+CT7bd7+PcgwnFqJ7xPhwpqdM3mLE23F6hRexvKfSvcorw0LceCtWp3khtbS94OjB4DcBZUdIx3mLItzlttRCtJIpLXdkI2TjExxpk3bDWi96RmdY+hocEsynG6aTAYksgxA2DD0vGM2KIUp5mO05Rmp1j5ez5lw643AfUSmhKCopWn6qxsp9N9pZUzY9pV9pGgHrGsyQqISBWsJaz5E7MXUPZrVRWJORRpQlVzN/liLy9XRNrJPvcrGarbNwXfAmOZPsfeCZQVyJIHappiwmV6xjD6IC5ZWpgvz0aBc7Fs5SvtZE2r79XQsijx659qdKGVryz+39WUTMvFm4PQ/vbZFossvwKW5Kup+z0WzlRgc2y3wn3x5fXDs/Tr1GTfLg9AIVhdsjiLV+c5se2hhK2XP+adTQ9XqH4dS+w02XlEq4HhrWjf4yJmVx0Rwev+pCy45paLV/dMHpgOAyWFEuYc9YCryrJVuOwOPPojbVIBRS9lf/pHjodOwWtLSTcrGN994OiYZX0+gU88IQAPYaPfbdYWEdOpP89QhugH/Ox46/cBoIzEgqqee3n46fmpHDhAHH+IaFMQQugqEGqMULOT+BtXRzh9UP4zYq0bDMhfdqnIysDvMycAcCF8DJ6kdsDQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4523.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(186003)(38100700002)(110136005)(54906003)(2616005)(38350700002)(1076003)(316002)(66556008)(956004)(66476007)(66946007)(6666004)(83380400001)(8676002)(5660300002)(86362001)(107886003)(26005)(52116002)(4326008)(36756003)(44832011)(6486002)(6512007)(8936002)(508600001)(2906002)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uSurxRIVrB8G9yHrzroQvJrCewE9ASzE7+8lWgR2CSU2bnOMFG4PyLdbco4UfWAHZaWmrgIQ/tQizdwfJrmTpwFDnApljsgNZQFu5NfhIltYggpr9FeQd6WDzE5CD+SmSuSDmUaakdJhkWXm0g2/mUzkMGxDzNO0zZaBPHCphTLy+Tm2XTazuo8OUv/Y2+2PVrD46RIQF+Ao5ERH5RskOCsN5sdkBY6jicoaydorDAEfPR8PG+W4um/OpnSg5Bfujq4gv2lnAj17Rultjmk94l4ixHzZf5e0/0Lk/wb3loyY/Y0lhLrs6lUMrmS840pP3gF1bp892+triYxZqMogeEcQFoCPR1xec7A7IhwOuHNNSunpJxEGvL+Hqaw1Mtw9jowkUTZHbLKLQSrLKp9Yd84hZoH2xc0TuZYM2U+yvd0IuIQItpx08fGwiPeDsJHTbwc3uWiOCoRUbnUruP+KDT+Gn1MokG+f6Iw+foDAKHZeqr7Q9fkmCukMv63ldg5u+bbQ44mIVl3eSXsyBPxIBt1MmMHglxF76LoaPM7g+u+vEXUc6Dd2kjIN3IN74ceR6R4Gy4D7ZtX7ECjm4kBKJvIf7RnNxuRK7zpyvoTNMuYJ2l0nRe1T9rxZuwoeYkc4JI8N0poAlLGxUSaveAYc/4Pn7M0yB0aaK02t4eRZltJttRBapmixeyrksQpGTamNlDrmFTVDBxiChBsYK3Nh8P+lU7QlSd/dVh79HngE9IpLH+MArIMTimWxP4yorEHAhIzy+FDAHGISlsIA7H2PmC0u6h2g1P+1i3hLTN0Q7yvLvhNOTWqvYINWZk97hPz/NREEf7RIDa/z/XNDcp6BSSSpImVljvIx6CSUhLcKcRHyMFP+P7hvNrF+MGXlJi3CDucHJK1BXXe/jze3/uq+9Uwqqae9x/PoYWpXU5hLWDxef9MU0XkbU4VboBKldP3F59fclXLGERCqT+nSNCiL/N3F+e/kN+GJg6ce8SzQbMa/8C5IN7L3hXyI/j7MKm8+Om4r1eDC8BDNBS0FfR3Zow8rA1rpJjnL4b8Kb2cNFapcjnDWMnbXzMk7FD/2iIqK+L0+1yY4yISMkf6ka4JX9RguGvfPz8uYvCK53tVVle5eH5TNdeWQkYX4EezgY+CwhrWZuSO33LE9ziFztEt5IwROBnN8kTpdfl9I9Cv6HosubVnuA0ssENHCvlwG/Mz0n2KWWX1FJZYPdgBl2g5VhRkGMJSTE/5fyRKsB+/lArzYddVlng2tmqJJO0Yt2xECn4JvyC5FZlx9bQ84FU7onWkOBXwAdEw9BsZodb4roOvYk9aB4k/lf6wZJbiXhIo4phn53Qfuc8FcBMhMOypQND/A3FfvicnT8dimW9w0PxwX1hvelVVWMapPpE5X6L6kRY0rfKq09qqV5fZGEK5lySz3/WOoS/hh0uC2gbMYBhvs3dB8RiXiGGWjJJMBSnP/EgrPH4LPz5JRPNMX4pSeWh3u14eNo4CHRFwTuANJQKKA8mXu+EgZiwk3VgjMf50hOKLYtEsRZJ5ITDLcFAwG+9ECGApfdxm//wVbN++6JndfHXEVzswNyGZY4cS7WK5ZRXhmCTJ6rSZRt2haDMzJvB/xTwvdirP2+rqKE/TTN+E= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: aab1ce07-187f-4fc1-2092-08d9a0834ae6 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4523.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2021 17:40:00.8570 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MgaTg5K51EBMthFi5QUNAVTxSMQ0s7Lz4DE+fVe5a7pNlR6tPAQpL3uGZw7nHX8NV83TzA7kJvNBn17FXjKp3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB3802 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean [ fsl_esdhc commit 5b05fc0310cd933acf76ee661577c6b07a95e684 ] Voltage validation should be done by CMD8. Current comparison between mmc_cfg voltages and host voltage capabilities is meaningless. So drop current comparison and let voltage validation is through CMD8. Signed-off-by: Yangbo Lu Signed-off-by: Sean Anderson --- drivers/mmc/fsl_esdhc_imx.c | 35 +++++++++++++---------------------- include/fsl_esdhc_imx.h | 12 ++++++------ 2 files changed, 19 insertions(+), 28 deletions(-) diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index 40886f37aa..b91dda27f9 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -1164,7 +1164,7 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv, { struct mmc_config *cfg; struct fsl_esdhc *regs; - u32 caps, voltage_caps; + u32 caps; int ret; if (!priv) @@ -1203,9 +1203,7 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv, memset(cfg, '\0', sizeof(*cfg)); #endif - voltage_caps = 0; caps = esdhc_read32(®s->hostcapblt); - #ifdef CONFIG_MCF5441x /* * MCF5441x RM declares in more points that sdhc clock speed must @@ -1216,31 +1214,24 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv, #endif #ifdef CONFIG_SYS_FSL_ERRATUM_ESDHC135 - caps = caps & ~(ESDHC_HOSTCAPBLT_SRS | - ESDHC_HOSTCAPBLT_VS18 | ESDHC_HOSTCAPBLT_VS30); + caps &= ~(HOSTCAPBLT_SRS | HOSTCAPBLT_VS18 | HOSTCAPBLT_VS30); #endif - if (caps & ESDHC_HOSTCAPBLT_VS18) - voltage_caps |= MMC_VDD_165_195; - if (caps & ESDHC_HOSTCAPBLT_VS30) - voltage_caps |= MMC_VDD_29_30 | MMC_VDD_30_31; - if (caps & ESDHC_HOSTCAPBLT_VS33) - voltage_caps |= MMC_VDD_32_33 | MMC_VDD_33_34; +#ifdef CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 + caps |= HOSTCAPBLT_VS33; +#endif + + if (caps & HOSTCAPBLT_VS18) + cfg->voltages |= MMC_VDD_165_195; + if (caps & HOSTCAPBLT_VS30) + cfg->voltages |= MMC_VDD_29_30 | MMC_VDD_30_31; + if (caps & HOSTCAPBLT_VS33) + cfg->voltages |= MMC_VDD_32_33 | MMC_VDD_33_34; cfg->name = "FSL_SDHC"; #if !CONFIG_IS_ENABLED(DM_MMC) cfg->ops = &esdhc_ops; #endif -#ifdef CONFIG_SYS_SD_VOLTAGE - cfg->voltages = CONFIG_SYS_SD_VOLTAGE; -#else - cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34; -#endif - if ((cfg->voltages & voltage_caps) == 0) { - printf("voltage not supported by controller\n"); - return -1; - } - if (priv->bus_width == 8) cfg->host_caps = MMC_MODE_4BIT | MMC_MODE_8BIT; else if (priv->bus_width == 4) @@ -1258,7 +1249,7 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv, cfg->host_caps &= ~MMC_MODE_4BIT; } - if (caps & ESDHC_HOSTCAPBLT_HSS) + if (caps & HOSTCAPBLT_HSS) cfg->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS; #ifdef CONFIG_ESDHC_DETECT_8_BIT_QUIRK diff --git a/include/fsl_esdhc_imx.h b/include/fsl_esdhc_imx.h index 45ed635a77..1529b8bba3 100644 --- a/include/fsl_esdhc_imx.h +++ b/include/fsl_esdhc_imx.h @@ -164,12 +164,12 @@ #define BLKATTR_SIZE(x) (x & 0x1fff) #define MAX_BLK_CNT 0x7fff /* so malloc will have enough room with 32M */ -#define ESDHC_HOSTCAPBLT_VS18 0x04000000 -#define ESDHC_HOSTCAPBLT_VS30 0x02000000 -#define ESDHC_HOSTCAPBLT_VS33 0x01000000 -#define ESDHC_HOSTCAPBLT_SRS 0x00800000 -#define ESDHC_HOSTCAPBLT_DMAS 0x00400000 -#define ESDHC_HOSTCAPBLT_HSS 0x00200000 +#define HOSTCAPBLT_VS18 0x04000000 +#define HOSTCAPBLT_VS30 0x02000000 +#define HOSTCAPBLT_VS33 0x01000000 +#define HOSTCAPBLT_SRS 0x00800000 +#define HOSTCAPBLT_DMAS 0x00400000 +#define HOSTCAPBLT_HSS 0x00200000 #define ESDHC_VENDORSPEC_VSELECT 0x00000002 /* Use 1.8V */