From patchwork Wed Nov 9 03:14:12 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yangbo Lu X-Patchwork-Id: 9418457 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id ED7656048E for ; Wed, 9 Nov 2016 03:44:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E160E28A14 for ; Wed, 9 Nov 2016 03:44:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D5E8528BE2; Wed, 9 Nov 2016 03:44:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6315228A14 for ; Wed, 9 Nov 2016 03:44:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752116AbcKIDoO (ORCPT ); Tue, 8 Nov 2016 22:44:14 -0500 Received: from mail-dm3nam03on0057.outbound.protection.outlook.com ([104.47.41.57]:64160 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751226AbcKIDoL (ORCPT ); Tue, 8 Nov 2016 22:44:11 -0500 Received: from DM5PR03CA0001.namprd03.prod.outlook.com (10.175.104.11) by CY4PR03MB2886.namprd03.prod.outlook.com (10.175.116.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Wed, 9 Nov 2016 03:28:07 +0000 Received: from BL2FFO11FD047.protection.gbl (2a01:111:f400:7c09::153) by DM5PR03CA0001.outlook.office365.com (2603:10b6:3:118::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12 via Frontend Transport; Wed, 9 Nov 2016 03:28:07 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD047.mail.protection.outlook.com (10.173.161.209) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.707.3 via Frontend Transport; Wed, 9 Nov 2016 03:28:06 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:1570; Count:10 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id uA93R135018726; Tue, 8 Nov 2016 20:27:58 -0700 From: Yangbo Lu To: , , Scott Wood , Arnd Bergmann CC: , , , , , , , , Greg Kroah-Hartman , Mark Rutland , Rob Herring , Russell King , Jochen Friedrich , Joerg Roedel , Claudiu Manoil , Bhupesh Sharma , Qiang Zhao , Kumar Gala , Leo Li , Xiaobo Xie , Minghuan Lian , Yangbo Lu Subject: [v16, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Date: Wed, 9 Nov 2016 11:14:12 +0800 Message-ID: <1478661252-42439-8-git-send-email-yangbo.lu@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1478661252-42439-1-git-send-email-yangbo.lu@nxp.com> References: <1478661252-42439-1-git-send-email-yangbo.lu@nxp.com> X-IncomingHeaderCount: 10 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131231356869946839; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(97736004)(36756003)(4326007)(6666003)(50226002)(50986999)(76176999)(5001770100001)(2950100002)(586003)(8936002)(77096005)(68736007)(81166006)(104016004)(81156014)(189998001)(5660300001)(86362001)(48376002)(105606002)(47776003)(50466002)(7416002)(33646002)(8676002)(106466001)(305945005)(230783001)(356003)(85426001)(92566002)(8666005)(626004)(7846002)(87936001)(2906002)(5003940100001)(229853001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB2886; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD047; 1:1x2YssfIj+FsEI1EtJlmiJt7V9h1BVtX/te4Q+bx8GdbRagDfHCaSlGGOHtkBn2jjKys9XkoJXqJEpXHII7N2sKVeo5JGA2yQn6sXZYFIMUoOsJ4uVTJ1PgUGwKRM5SyS4yA9HkG7gYyNPlGKFpQIiz4d7PsYAg7j4luxNOoO2Tyvs1C4/hcgYIyiY0qu9keWMA9zy7KWkTRuof3eY1NIBoW9/oY81X8gnVTyydFmWuDikZLkJwEQ4kgNMbHwOjYF30oJdP4j/c93LGkqIaOGTluHjNlNVgBLM/LUrtc7op6N9wgGvziUUjciUN4rE01xRSCsdR61bScOZNyEsfPIi+w5RS1AQuYmb68ve0YdUZ5+Z9eZoHHw9UyYf+RQsOM8T/+zNfDlmQIGUNSqH5ikw1tSB2FCauD0ugUeOx04v1gGuYJhZ2D313oWMxHZmBZQKcUAzTu8aUvKRaGP7THdLA/eBMfzMa54GJdue/dwaz+HZW3P581IHvr8dZkZhnDn1lifntzk4o3ulkv0upZ/H87wSRZwdGlAJ7ZrIpdYEGIsL0x8MMCfTqZDtDoUYUsr4rvLjCRx/8cByBjBv0xvBmwtSvPRb78aEg5Gy98AsKNevc2jBHqucFyhzfNjzLwxEN8RM2SWcHtuuLEA/XanMtvSwvdC/rpdp8bxQbM4ZCSRMGzBknyS15H/9HIwdBC58dJ4DuIqBspDv0gDcPybx95xmDYecJW8N8vqgETj9XTgDZ1Dxif4xE9W2QmZOIoGYbQorNQVLk/FCcboMwSVg== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 07b81e05-c8e2-4ede-2307-08d408506c04 X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2886; 2:KgvCQXEQIJfK00syvqusRGLDPg3eOb0kj2sjBvNaJuu3nvpITLUcb1Udd5EJ0STCwPR5L5XQQpsrrTFTlMsts+4JYwoMzp1ppq9NLpZy+x3ytVDcWJWcI3ALksK7SmdKIdBqsDc5rnm+B9XdZp1jxRhOseAWAYCDVFsEOL2GlJNgObBpovikGffQeekh10uAugBnacL9VFVx1vcCZEJrXg==; 3:i42QX7OJaBbz/K5/PXdUWMIy4xgDueXJ93Xs0mXWrnjMR9Rxka5f+iMf2QmfGk58fF36cti1hI51xx0aAAl7icIwFXi7cSKLCUxb0CYpHZBjpfCO/FKCxXpUihq1snthM8qzU54XGGgACLaWdfjIzgVpyCzMzJKhILSSfKzf7BU+tE1Te4pj7is02gEbp9dan+dRQYpSVXBm7Desl9ySfbU+mk3HX/HzHdZV+nuv4+63k/VfkbTmgoTATPNdzgdJ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY4PR03MB2886; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2886; 25:DGDz0SBQmpxhShhv7O1jOxHJyXHSeTH1P4xcZ2qu0JHzczkgDa0Oie73LFTf//PqcOBuaDMjlEcBZjEEYsnHhetPbRjC7v04GIi3OIfJQgqXxohg7H9boBhj2xI4PTVtCvEJrF7XfCKtWrUhYLopvOi6PMQnflU9NG3d3HuA3TlAuQgr+/wFiKKUHctt8sRufTuShpTpP01TozAEKR/+2p8S22qcIP2hgorxWT/XyYi4hbPhYeEMdkYbFM4GnNmfLw1yP5tqeMXDdoRIBgCzlv7beRStZ1tmvMskwepEDn58K+M3NyQhdYMIGuuv4+bg1/sLuFNgfhZ4xa+Qya23WHA6EN6JhIiJuH3xS7pHw1o19iqc0iIs9n5UYpsZYGBSAE+hgA3kyOHS4KNb2liaI6/FaO16tLq1uwliNnWlmjQc9VYtGDHNxbMT66l+JpzNDnhSOZX58Xm963+TIIF35Fg8608s6Z8xjqgYW6gPlQsDGT3gCE/PKo15r5rsFnWUjCwI5ojOVqAZFRIB/u0UaXJhcGU5ZGacpXUR/roBSkfk7ua8pBgFehdG1LAakh28f7rO/2V2dei2I8ZjLGrRZDpFhVHcDP/QCNZOZcSdxgmHxnofllIPAI08oo1RvZlk0iOBt/PsEz45wD4j2UL6MTJHoMphpaLfIuk3g7xH1iEbgTQ5OJ7BE2F7Taa8qgmXGta/LjSHDlvK8zqgCT0opgWcGUAhsNj56HYtj8LOl0Pn3zi9OfzKd7xzs7MxM48EbPUU6diqQ2gWvLQ/dq13nQ== X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2886; 31:nddzJDLz1F0NkeEUaBnGwQBBZwm5WdGs600w2IXmC+Dqxc2mNTxKIp+Rf/aLq1VCAcELutRUzwFDXMGg2llnfEGggu0sPYncrB3cuh8ZgZUunjvizr31wvhea9D0Wck0c4ssvuf1QxEk7wFXuK1M55K0H3w5umtyc9tIoFGIbQ4iz9kqvKDKf8+zJnRBgm9pIvz5hUNAnqIPYvrLVoy4qm7AqOYgID0VfJbG6FRdTPp+GKAkaup4TDNDH6teFA2NBOquAb4PSZMqSJc+aGrnFqCXPysnXD3zfFfOBAaBvqU=; 4:kNIo+tDx+HA5MsFeRlTE8VhcFAVmqnHEth8UyzUtU2jO59H3uVNg4yisF0x2777IxBhD+VGk3eZ6aqb+UgbWKcWvJa8jKLZ7Jq9xsyN4zQ/vmGgReuGPTXdThSFyS0djwvNp8/1TyeQoOQOqrr0+wNw0xkM94Xt/gGuwvasiT9M//OK7YG+TfkoQEOcBSK6sWN+IK5UOgzAfpjOSlbN/6DPBdTCuQ3ZaXpWOgbvFxu8SJ8JiBLCfKAgiHWZts1HRwxfHNI7Dcd3xVTUqO1Y9+48OYESN5yznUy6LmGb1mr7232agIFkDR8lPJaGqgWBnLhRDPFqmXZs7mO/OGYSrSlPIh36cjj51UAJ4SrEeb7JdwijKhKWh1DsPJowkEOtcWXaFqJLp9okfQgBA5yM0heyY0/MV13fh3vnhxfM+t9kMo0MPvby1THMmxgkGUXZI+X/1dlY0TZ5meVa01FCd5FYZFAx5vYcfvFLoqvQVwLkK3CCW6Sr3nhJ5nLtlYYDUJkeW3o0REGxdw5o9eV6qP8MeJoquflTgmumZ0nq1Yde+5m/9CiALk9Y3W819eLIf X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13024025)(13017025)(13018025)(13023025)(8121501046)(5005006)(13015025)(3002001)(10201501046)(6055026); SRVR:CY4PR03MB2886; BCL:0; PCL:0; RULEID:(400006); SRVR:CY4PR03MB2886; X-Forefront-PRVS: 0121F24F22 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB2886; 23:1abJZ8fRbY6/U7MddFm8r7QEkRJLrfFqLJxoq5170?= =?us-ascii?Q?YkkL6yp1JXFA1m3huzDjbKpwAEjSXWcOURzH8SjYGpDP8h5TDSwpHYnEHRIR?= =?us-ascii?Q?BmXPjzbQ/3uD+OKoMvPhL74PcWhw9ez+Z+2xex7ACnqbV1fm1x48tnIqMXkv?= =?us-ascii?Q?vRjSbdpS2wTuXwMbgZVt28GlQCRDcCI5bPWJSIHcEmzUbmt1iHxBH9ovoaHY?= =?us-ascii?Q?+iqaIO2g92A9RYGAa2nDWDJ4wDWeX4zbPHwvDybuUMZeqyA+4aQaCQ87XEnW?= =?us-ascii?Q?qTQp+/fa1vWrH47nHl/A9ezQcN19wut4wXR1jcXYfD+JALLI8XNqrM5buN04?= =?us-ascii?Q?q3S75ed7WOSZyGDsj4E5h0R1VHECZKxzOEYjzjjkMghzZJVN3z4nr5XCiAuR?= =?us-ascii?Q?NA4CJ9KlVtZckXy90UTLdrW+DBuuEvskibzL6+Mj1ob/EwF3iOr5E/xNd4Xo?= =?us-ascii?Q?+WHHuLIrJKs5JTJNRQdPyLuIeJvs3SYU9/3vAAI9aUxezF0PfS3Ga6Wr2nxA?= =?us-ascii?Q?13Xsyw88Ydv461bJufLAbUNuU5SzY2VISXTWokYKI/nxqT4lJtXXUX8rigf0?= =?us-ascii?Q?t/ezoWLRTXebYbGsymn/FGRtNgZSXtjrYwcvpX5utiUpK0SGeOGiEnb45vS+?= =?us-ascii?Q?dJGBCkG3UR3ZWFfPGRWsMCED5w+FWmH1EvgRrWwCap9Zn67AgXmXU0/pH26C?= =?us-ascii?Q?teT2QCn0yKf1m8LeXNuuh+q7f0qbwdsxSoD+rYsttUU1aKsg7pe3hIVNeesZ?= =?us-ascii?Q?qNmCFfDK0VZZIRRJ5gU1SEJcQX+al+ng+o3mM1dk+b/NN0G/ybg8LeZd4ybc?= =?us-ascii?Q?IdMLd8MYLIkAC5BZOfRiDsMe4KMb0/PtX3FJFIMMRjrLa7cLF2CcFgys7Nsy?= =?us-ascii?Q?4vn5y9zcnXL8+7TUtg0yQ86LLm3Do7IsuQiwi8BIeuSxAnIWY29NQTE7p1Ep?= =?us-ascii?Q?oF+XFdorwLt3JUQ+mA0VA4F8H7ELRrllz0QNPuWr+3H1ch82SDN+shBKqUqv?= =?us-ascii?Q?laT8JchGlP482m7AStIi2VB3W2e2BIz/bDnhw/yHRqxf2gqI79+blWntlC9K?= =?us-ascii?Q?PjjwHiw2xMSkZklKTiduYTC1SeGUBKec8C3wqusY2fUfUA+fAZW1kFebIA4L?= =?us-ascii?Q?+n3506X37prEb5JIahxmBJpEeTcu02D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2886; 6:bkKsKeiAqVJyZOwUOMTdrfV1dqBie7XmT4igy4HU57DT9OxEYxLqytbA338duFiT3SQmc+TuWWF1tKG9zR5Q1iR/2sZP4dEGgxu6gsIAojmlOrPY7at48dxhAwueME+JEZzDXztpKpD3Zu4KIU1DgWRmBIpHyyp6/NPU7chLWNHAYCZl2P2cAolB5Db9XtPGLbh+OeS36zSmj3muzMheRp9iprtYHxErUeq316eU6FL5ih+JEP6aNIpulg1ZkhRp52082Amb9Za837+0bFN/BSWeyqXUEmzxDdBqBSqXcj0MruDBr0lDQDlsP/Ser+E4; 5:FBZrVOPwIObqmisOBLGTTJYoK7cAyVQttG+kN7Mts8v5hAoPRpsK8i7tIEgEWh5SRRw+SS84amipQwgkCy2Atcv+H9FF+srCN7iiCcem+HU2r6PLqpZUtbIJXfrozEwUXZrZkhfxsiZrs9O+sihOBwwXJhtsJm9+Hf+HV0ZcqSMOirnZDzCI7ZvYJU7cxEcp; 24:CrayeV2hBwazQmV3PmORgpVNvlPOBzxGpVGB7rAuFzWdyKao053E42VtpOADpTVARCepyZ9wUD6/cxa0K69mbilYppYm7Oh8/tAGVlIetHo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2886; 7:lWlJGMjq8lGv6YOE69iUZwM5vt0zKZ877TwAZsCCKdk6suIagurogMRI4zQoYBZWDEj5M7532QdxKAx1MEFaF70MlFb2N7NARylncOBP1EhXSX6OF5gjB9V7z/n3jgtz7zp+rdBbBGOb0VaHci2T0HiSWi3D3ZQVLymwBelkS9Az2OLZADTZzrnpOHeRhiH6USVX2Y+8IeQtweQFHy1NgRlvByzb+a2ARueXr/DtCbdBAmBNehSbX93nU8k5N94J9bq+APZPNor5HMnB7PI2QhN5lx80I6h0Alh5O5CdgN3v3DBUoAgWerqqA960hvl0V4sVPMfRt7cqmI2kw8O3Tt1ooeuKSt09kdCWBkTvWq4= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2016 03:28:06.0275 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2886 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The eSDHC of T4240-R1.0-R2.0 has incorrect vender version and spec version. Acturally the right version numbers should be VVN=0x13 and SVN = 0x1. This patch adds the GUTS driver support for eSDHC driver to match SoC. And fix host version to avoid that incorrect version numbers break down the ADMA data transfer. Signed-off-by: Yangbo Lu Acked-by: Ulf Hansson Acked-by: Scott Wood Acked-by: Arnd Bergmann --- Changes for v2: - Got SVR through iomap instead of dts Changes for v3: - Managed GUTS through syscon instead of iomap in eSDHC driver Changes for v4: - Got SVR by GUTS driver instead of SYSCON Changes for v5: - Changed to get SVR through API fsl_guts_get_svr() - Combined patch 4, patch 5 and patch 6 into one Changes for v6: - Added 'Acked-by: Ulf Hansson' Changes for v7: - None Changes for v8: - Added 'Acked-by: Scott Wood' Changes for v9: - None Changes for v10: - None Changes for v11: - Changed to use soc_device_match Changes for v12: - Matched soc through .family field instead of .soc_id Changes for v13: - None Changes for v14: - None Changes for v15: - None Changes for v16: - Added 'Acked-by: Arnd' --- drivers/mmc/host/Kconfig | 1 + drivers/mmc/host/sdhci-of-esdhc.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 5cf7eba..4128a3c 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -144,6 +144,7 @@ config MMC_SDHCI_OF_ESDHC depends on MMC_SDHCI_PLTFM depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE select MMC_SDHCI_IO_ACCESSORS + select FSL_GUTS help This selects the Freescale eSDHC controller support. diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c index fb71c86..57bdb9e 100644 --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "sdhci-pltfm.h" #include "sdhci-esdhc.h" @@ -28,6 +29,7 @@ struct sdhci_esdhc { u8 vendor_ver; u8 spec_ver; + bool quirk_incorrect_hostver; }; /** @@ -73,6 +75,8 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host, static u16 esdhc_readw_fixup(struct sdhci_host *host, int spec_reg, u32 value) { + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct sdhci_esdhc *esdhc = sdhci_pltfm_priv(pltfm_host); u16 ret; int shift = (spec_reg & 0x2) * 8; @@ -80,6 +84,12 @@ static u16 esdhc_readw_fixup(struct sdhci_host *host, ret = value & 0xffff; else ret = (value >> shift) & 0xffff; + /* Workaround for T4240-R1.0-R2.0 eSDHC which has incorrect + * vendor version and spec version information. + */ + if ((spec_reg == SDHCI_HOST_VERSION) && + (esdhc->quirk_incorrect_hostver)) + ret = (VENDOR_V_23 << SDHCI_VENDOR_VER_SHIFT) | SDHCI_SPEC_200; return ret; } @@ -558,6 +568,12 @@ static const struct sdhci_pltfm_data sdhci_esdhc_le_pdata = { .ops = &sdhci_esdhc_le_ops, }; +static struct soc_device_attribute soc_incorrect_hostver[] = { + { .family = "QorIQ T4240", .revision = "1.0", }, + { .family = "QorIQ T4240", .revision = "2.0", }, + { }, +}; + static void esdhc_init(struct platform_device *pdev, struct sdhci_host *host) { struct sdhci_pltfm_host *pltfm_host; @@ -571,6 +587,10 @@ static void esdhc_init(struct platform_device *pdev, struct sdhci_host *host) esdhc->vendor_ver = (host_ver & SDHCI_VENDOR_VER_MASK) >> SDHCI_VENDOR_VER_SHIFT; esdhc->spec_ver = host_ver & SDHCI_SPEC_VER_MASK; + if (soc_device_match(soc_incorrect_hostver)) + esdhc->quirk_incorrect_hostver = true; + else + esdhc->quirk_incorrect_hostver = false; } static int sdhci_esdhc_probe(struct platform_device *pdev)