From patchwork Fri Feb 3 14:09:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suresh Gupta X-Patchwork-Id: 723709 X-Patchwork-Delegate: yorksun@freescale.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3vFKtG2r8Zz9s71 for ; Sat, 4 Feb 2017 02:05:26 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 999FBB3865; Fri, 3 Feb 2017 16:04:44 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P_5MPGYiOMhN; Fri, 3 Feb 2017 16:04:44 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id D6802B38B5; Fri, 3 Feb 2017 16:04:16 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id DACA64ABEE for ; Fri, 3 Feb 2017 15:23:10 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wZuCnDvZPOkh for ; Fri, 3 Feb 2017 15:23:10 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0056.outbound.protection.outlook.com [104.47.40.56]) by theia.denx.de (Postfix) with ESMTPS id 1F3584ABD8 for ; Fri, 3 Feb 2017 15:23:06 +0100 (CET) Received: from BLUPR0301CA0028.namprd03.prod.outlook.com (10.162.113.166) by DM2PR0301MB0733.namprd03.prod.outlook.com (10.160.97.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16; Fri, 3 Feb 2017 14:08:06 +0000 Received: from BY2FFO11FD029.protection.gbl (2a01:111:f400:7c0c::167) by BLUPR0301CA0028.outlook.office365.com (2a01:111:e400:5259::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via Frontend Transport; Fri, 3 Feb 2017 14:08:06 +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 BY2FFO11FD029.mail.protection.outlook.com (10.1.14.212) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.888.7 via Frontend Transport; Fri, 3 Feb 2017 14:08:05 +0000 Received: from suresh_machine.ap.freescale.net (suresh_machine.ap.freescale.net [10.232.133.11]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v13E7gdH020038; Fri, 3 Feb 2017 07:08:03 -0700 From: Suresh Gupta To: Date: Fri, 3 Feb 2017 19:39:34 +0530 Message-ID: <1486130978-24925-5-git-send-email-suresh.gupta@nxp.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1486130978-24925-1-git-send-email-suresh.gupta@nxp.com> References: <1486130978-24925-1-git-send-email-suresh.gupta@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131306044859580153; (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)(336005)(7916002)(39400400002)(39410400002)(39860400002)(39840400002)(39450400003)(39850400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(305945005)(356003)(104016004)(38730400001)(33646002)(110136003)(50226002)(76176999)(2950100002)(50986999)(47776003)(81166006)(81156014)(8676002)(8936002)(48376002)(6666003)(6916009)(8656002)(5003940100001)(53936002)(626004)(86362001)(575784001)(36756003)(50466002)(2351001)(68736007)(54906002)(189998001)(92566002)(77096006)(4326007)(85426001)(105606002)(2906002)(5660300001)(106466001)(97736004)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0733; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD029; 1:vqMqyTItL+SxXIIfm8vbHMR3H8mNViYNRo5rRQB8bARYeIxbN7KCGoCbRGlV3uTJCVQETdTIkCInBuU5orkv4W6FtzGevVTd+EdZu3v9KnDpvDO9c1pi/kA9UyOEQskg/Q+ZH0BuxSXsK3uCDNq3m8oXe2yx7KgsfdT+cYPmFyhn8S56og9GGNB9fW5YYuweX0O+WXCb/cqXACTK/S9jglAGaxjojeh1pLLyf0+D9HJdBlM+qDQd0hkh+yqWYpj3mRzl+5XnXnLK7Gbxt7raPpJIrZz2FaDLNenr69fU9HxbrYDH0ENeIDYDdgvU+lSjm45bKE3lsZicFv3AWKhcKbBlNECkzU3sTjdUPDjRj32yGO7uit+8C5tpkpGRapQBUYdOVjq0IVBTA5qZPUmDeZtqFeaAVBfHB0aTxCxDantOUjpLwNQtJPs2VsUeo44oY4JVrqoHwR3qn9XMotHRW+5PfSxmTwZIRLOvkaDNX7pDJsHM1iXGUWgPUNCPOSiwJBBTedZQ193ot8/pgt/Lq7SjLDtt8LwlXJYdInhS/7HolCk8As9Dw48sFIShEBjvFjpsqDPAdrfdZ0xNkH0LOAQHJf9aSZBWnl/pPv2jLwmw5ic+kVlpErKtcKdunNvuLEFxaHbwp9KEpwajBTV2vmvw9L4kR2Q+zMBi0EkTkMSj4G+z6cYAN/6pYAuDYiZBUKwnmKM34qIdp7UaTAtnpA== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 6eaad077-cdec-4292-7ef9-08d44c3e132e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR0301MB0733; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0733; 3:+74uSqQGM2lH8JZDb7kz8C2DCAX6ZFcXLUsxfvON11+CrWuhQi2btFnpaHKLYWjfhy/YU0CA0Wf54Fx8Pj+Q/1ixrRffvQpA/qD2VaDBIx+2FC42O2JO/kb08nrSMbuFaBByr+Q8bk9agdngd7ghfOkadBmnj/xcaagClf+Ya7XYDVKcGB7iNtQHjPygbMRG1oaORr+olw2+wqHkqqBWRA/y0BjtYpMQ585FK91QluaSCL1bRSVEhnnruG3hbkhHvRMnfFucsrmaU9sccBw6SmpngMidV4MowWd1o+fycuh3tPoFeVVU2J5W3NYDUg0eMj1i1sAW586+d6pVUsEPemVEU4JCfsP42rJlMECos3PYdqLcmw7RegHVF+RuT1NT; 25:lTmqMlf/Q2e+7ZzZf967A02W5DNCm7CgpZk3NyU7pkZD7e+16XLauLriGCf0TJBhZN7tHQAHIfltuzu6spodzL0kXLcoUgipHEBRqTMgoLxjm+gHMdI5DNO/N253Kaa65I9nWY66uNYlyoJ6l3BXHPh8FeJMOREC9UCBrWiJK7tljyV+cbGTA5PkZEkrcTkttElzHsXyQcSrhaMjiKTpIoWHv4nhaP9Sj8RWtNGfZZXDY1L0HB2uBmJVmSdwjnkodjYuslOL2Vdwl2iGAq0pm2OnrGQf44BYZR9n9a44eRjQeEfcS/3y9kwmPm8j/j+t/Mjgb01EWing+7o0nL7YoSd0+4iIAzMIDBgUbI1Yh2uxuPOj5oyZoPz6K39DTMtnqHOgBf7R/yRRBhsZt3rkZXJj5hRSMCrzk/gTIfrYXvlr0q4OBmr5k4fekagb+f8qv0n9P8BwUmN4w8mZJHtpPw== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0733; 31:c/xQF3zIX6eo5QWqS9ZHGMNfPjKR8+EzqKVCrP2+we0U+P0hrRwp9EfkTaVkeRIcpmP7+vmqc1B3JxQNk0FdpiTalTFPEYXmWApyYU8TyQdkefgkRmQTzMYFiESxR9hP5RhUhtNIIpraV8m+cxZRSEK+jnMxHLFBDv/hp8lyOeTn3jWitQXGG9GaTDPuoWsN1ddK901Pb+LuPYQbGYPLkB9FLygDz2sOlPeNUaLCI2ca9eQzPOYDnVd9nlQFeeT9ZUDMI7Av8fSvqd3ebcvnq4fcmH8Q/ALtAuCzTlRsQ4o= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13018025)(13024025)(13023025)(5005006)(13017025)(8121501046)(13015025)(3002001)(10201501046)(6055026)(6096035)(20161123556025)(20161123565025)(20161123559025)(20161123561025)(20161123563025); SRVR:DM2PR0301MB0733; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0733; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0733; 4:4UPHrjajVpXKB5Wm0VrUfiHAuTC0w2nOEouiqm2uIsfwR5jsax2fZbgaB8hCx4/MEKzYpKiwoK6T6VZGpkTyNyw4irDwoBXyG25N6WtVGX7zOqYjjOkXTm6Klbwo2YEuuGnsww253LAEF+jXvTKKu1CDl9aC7O/ej7/CJtbJk5FSq3szIM+FdxfJ53eFVKwrqkveIQuXMpnOEO7oJLj3f4Y7F9r2GQV+sebTIAO/sZrNFgkYoxN2fOqtUUj0UYdQfRYqv40ybwh1X4tJmrn7F9cufYw/4QnWoFHF2hNbJtEPSRysUA5OlxuwPm+ia+5G6GeWkLjmy+eVCLonSyODo8knOK62q740mU2ew8fY/FU9OsdlNR6mAa25ygd65mhbUdj/IX9+f+0vBtFD5v2Dqr9ULkvg8LTTuh9VGZBDl4XFhtSS3Pmok4/EYNCk3PLuWw6/gC0k2dvN/YaVozNqTpYXP/kQY6JIJRVyFaHPis3v2mrXWZzeyJdV5PY4fbNlheYIhCGL1MfQjbWyj6GX2mUh76TpSDEUdg0ctRa2ymAcoKFAG07Q0L6eVpsDhURl+Of9IXV3ti7cASiJvL8HWowPQuSQ0voGljTCOCoO/ij62r9JM/Rh8x6NHDZ1nDC/B17CekHtt+aSh68M7tLTj70QNTxDkM+kY5GuuhXyx7GHxsN0OMEvW37z/jSQ1IF2L2CDMjnNW9Mw6tAxltLKpMxNizRnR9rwvAl0/uLQg6/GwIg29/BAjYT6NvhVoLX4 X-Forefront-PRVS: 02070414A1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0733; 23:XsdRyopjKq1oNbWF1OJPuhw5sC66ZqKOIL41XbZ?= =?us-ascii?Q?5vxymPaUoII8f1ebHemTBGFBm5CxxAVblvUhi5Aomv2DF3iE3LVMwFFS44Cq?= =?us-ascii?Q?d2eikRTKvSAXRzE2iiEjX4ZA4VIDDjDRFBkqhmm27ashP9FRxRMnZUuhK7YH?= =?us-ascii?Q?8RRRnADRnWk1dtmTjlZvNXlfEn4+Siif9p00gkquUEekS22PEzeLBRi84P6x?= =?us-ascii?Q?YQoRDReSxvXi5c2az3nNoKT0osrwSfhonl/IAEm/A0j6bLeIy9L9nApvq+1W?= =?us-ascii?Q?m1yPULZCWc8VsuhSBHcIDsssQmtdBNZcojAFqvt/xAhWgy3NX3B6NL2OEjDK?= =?us-ascii?Q?4e78tP14euDyD5HXJ8djTRq9x2XfkoNXCTuNmOU69nYIBpUYPCygEEIzmBcB?= =?us-ascii?Q?zZKTh+pEH7Ttd2DvlRErc9UuIzIoB6Fq2T84kRitUkgWMp6AAIZl2M0pyEar?= =?us-ascii?Q?tPhxOjCyuMSWUDwnmHWzTNuz5gOHoXdYZPLOrvXRhrZ1oYT+JRiIqsxpZRIV?= =?us-ascii?Q?xu1zEgxHBR3k4HtYjDxlUIcvw4jzKWyke96iWGIODhecEcFjPzwNf1aC55YV?= =?us-ascii?Q?oLlpqNtZ3RaoZAetsOUb3EecpBkcpwXlG0JXRmDNP552TMJTXbqR62522KYv?= =?us-ascii?Q?a2r9lqD7JUdwz0eGKO6hwb+uHachJVaYhniZ8XfNg0u1AqHSmWXZSl02Tu+P?= =?us-ascii?Q?8EbI7S4lAoZs+qZm2DL4epXQQM/X/3S4cYMUNBg0O7SyhnrYNDyziYoKT3CG?= =?us-ascii?Q?sHN1YapfxvBgoF5UP4fMW2PYO313La1ud+ZrXZK7xo9G8k0DJLxBkknmA8ic?= =?us-ascii?Q?tsxnKbBcZBtFbEIt2Lk2QBfc/hzOsV7/Bf4NKLwXGF2iGRAmRtnrwUShJHmF?= =?us-ascii?Q?Qo5uzewtweLma4O7ys9cL4jnDYALtJjG8x3i+boLDYNzO1CriclHhgpzue4L?= =?us-ascii?Q?3CXTggvpGW8MsnHs7lIkfW68j7KCM+Oypw4cVYVcQw7b/KGBxj+EOWxoH14p?= =?us-ascii?Q?is1EiIZ79DLByPf/ziLDn5JRczXA8h4t4vW3qRmaCN9Knf7YMfavPwnkKNKI?= =?us-ascii?Q?t1ma6HvR+KiAEZ0w3klY1TONCgaz9M/x8doG1uCFY3npvjqpLc5WrIhiU3eS?= =?us-ascii?Q?/j10g6uK5gieHU+EgMPuAxaFyV1VDAcfNFSfqzM+8E3+vja1pSjOq/Xayx9x?= =?us-ascii?Q?kuzsjn+ylzVns0r+3B1P+FDNgV2sc6bmMwHZsM+vzqPpAFMqaN/CbL5OHKbC?= =?us-ascii?Q?ROzeilk4cn12MuCvVgDivjkys6G54zfJSyB830VU2q11u2koFq3oQAdSd/Q0?= =?us-ascii?Q?j9kN71gocmdb4G7ZFFkCSUtPTFxvBiuXQYmuSeTOshajHurNFDa5s/i+VsP5?= =?us-ascii?Q?iiqDmaw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0733; 6:18b3DnrWQf7gZloUL5o3sLcegf21uKm++PrcjTZ77vgxZjMT+Nwva7mP48to2ZnE+ik9NCIdIA5SaCIF+iEo9G6zE+4I1+DjwUvWBkIM+VlSo8bUHcGXycylDm0aS+ci+6hJR0Bm3gJFRIu6AtgcyZ+9gSG76igwAtJ6RlVsA104fk9F8QPwg+dME66rXL9GbU458HeMo+ty8ffhuTBD1Q8Q0tVb2JlXKnQwl5qfum3T2ZOmasp0rIP5ShuEC61Oh6xNUvem6Gw7lm3LdxNWpyHTovUaL4jC/hgMj60GNpBfZtQ24P6Ly2VC0032zHkKbeQYYPw/zoN2TCyy5z1c8mj9KDHXkO4DD5duE5X3+im3H1v0DaRYK0WP6Hqc+cC1WOeE0nCD3yZYqyC1d1cBi6MPyDwQ62wAvFHM7y8vbJc=; 5:hMDYsWXy4zuc6J0OaHGtP9xxR53K8FqWijeUmzJ3UHoDFyLC1+vOk8yMHqU7SH9L/P14h5jHi+CCF2JTjjQU3ZKzqQbyo/n7cc71GBfdBbTafe2mY0lguhNNp3hGbs4ekzWr7E9CxxaiPFyPmK1pXSfrKNL/1dyMpFhOH5QZQa63IOL5w9UMuTdT06svo6gW; 24:21uIeu6SBs/38FP61SU5h7ioOTrkCxMgKV2fftqAxTlKYtOqzj9vVjvqj+kGQQsUHD/t61dcDiB9Iv0DDkWc/FQCqIDhkt5iopCHqhSzwP4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0733; 7:59bb/cLHSHvBaDWK9KazRCOTiuf6kn7DYGtLhxcZ+W8A+exMKjQnvAKse5WJNY56/3/FGjmYugK4FkRo3TXfRFhX+LHEMiTCQOI/e5IZysHlPJCWFkkaU0P75xAdfCtzB1lZLmPSbjqWyyANkUsGc7o5/YLhXlylbvDlT8rtJo85ahnfzPZLut0CPvXzUiDnv6gyupdT1Vx4yh4VJWyO2BhLt8q3e8jJOmG4GXlphvV63nZTY2XMfp5fVwDFlPtEINwJNwPmnHz83+10EAjxaOHV76L4EhPXfa5ssrl03XaRgCF7PANeHuRikXrPKw/JdlpDL5OVf79vhwfDfNVhiiHA4qjWA+kOlp1OzKSC7HC3VpZobLs4Pojn4mAiL0dpTQqPhAN3bUt6e8I7WZCPI2Vyws9AIv4S9ivIE/CD7zBhHnHFNk0t7epkH2FcRvBDD57qzg8IB1yaOE+SlxdYItpwp7VlWyG6sSZqnbWeAxY0Yrj3wFkhST6QVVxPFscja9z45d2UpKbGWD+6xv2XBQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2017 14:08:05.7552 (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: DM2PR0301MB0733 X-Mailman-Approved-At: Fri, 03 Feb 2017 16:03:59 +0100 Cc: leoyang.li@nxp.com, Suresh Gupta , scott.wood@nxp.com Subject: [U-Boot] [PATCH v3 4/8] armv8: Add workaround for USB erratum A-009007 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" Rx Compliance tests may fail intermittently at high jitter frequencies using default register values Changes identified in test setup makes the Rx compliance test pass Signed-off-by: Sriram Dash Signed-off-by: Rajesh Bhagat Signed-off-by: Suresh Gupta --- Changes in v2: Clean up the code after Scott comments, Previously in v1, we was defining the pointer as u32, then casting it to u8, and then passing it to a 16-bit accessor. Changes in v3: Change CONFIG_XXX to CONFIG_ARCH_XXX arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 6 ++++ arch/arm/cpu/armv8/fsl-layerscape/soc.c | 42 ++++++++++++++++++++++ .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 9 +++++ .../include/asm/arch-fsl-layerscape/immap_lsch3.h | 9 +++++ 4 files changed, 66 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index d5d6040..a27e310 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -25,6 +25,7 @@ config ARCH_LS1043A select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 select SYS_FSL_HAS_DDR3 select SYS_FSL_HAS_DDR4 select ARCH_EARLY_INIT_R @@ -46,6 +47,7 @@ config ARCH_LS1046A select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 select SYS_FSL_HAS_DDR4 select SYS_FSL_SRDS_2 select ARCH_EARLY_INIT_R @@ -77,6 +79,7 @@ config ARCH_LS2080A select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F @@ -167,6 +170,9 @@ config SYS_FSL_ERRATUM_A009798 config SYS_FSL_ERRATUM_A008997 bool "Workaround for USB PHY erratum A008997" +config SYS_FSL_ERRATUM_A009007 + bool "Workaround for USB PHY erratum A009007" + config MAX_CPUS int "Maximum number of CPUs permitted for Layerscape" default 4 if ARCH_LS1043A diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index c56cb72..9aab8a7 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -120,6 +120,46 @@ static void erratum_a008997(void) #endif #endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */ } +static void erratum_a009007(void) +{ +/* TODO:implement the out_be16 instead of writew which is taking +little endian style */ +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) + void __iomem *usb_phy = (void __iomem *)USB_PHY1; + writew(USB_PHY_RX_EQ_VAL_1, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_2, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_3, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_4, usb_phy + USB_PHY_RX_OVRD_IN_HI); + usb_phy = (void __iomem *)USB_PHY2; + writew(USB_PHY_RX_EQ_VAL_1, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_2, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_3, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_4, usb_phy + USB_PHY_RX_OVRD_IN_HI); + usb_phy = (void __iomem *)USB_PHY3; + writew(USB_PHY_RX_EQ_VAL_1, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_2, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_3, usb_phy + USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_4, usb_phy + USB_PHY_RX_OVRD_IN_HI); +#elif defined(CONFIG_ARCH_LS2080A) || defined(CONFIG_ARCH_LS2085A) + void __iomem *dcsr = (void __iomem *)DCSR_BASE; + writew(USB_PHY_RX_EQ_VAL_1, + dcsr + DCSR_USB_PHY1 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_2, + dcsr + DCSR_USB_PHY1 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_3, + dcsr + DCSR_USB_PHY1 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_4, + dcsr + DCSR_USB_PHY1 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_1, + dcsr + DCSR_USB_PHY2 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_2, + dcsr + DCSR_USB_PHY2 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_3, + dcsr + DCSR_USB_PHY2 + DCSR_USB_PHY_RX_OVRD_IN_HI); + writew(USB_PHY_RX_EQ_VAL_4, + dcsr + DCSR_USB_PHY2 + DCSR_USB_PHY_RX_OVRD_IN_HI); +#endif /* CONFIG_SYS_FSL_ERRATUM_A009007 */ +} #if defined(CONFIG_FSL_LSCH3) /* @@ -266,6 +306,7 @@ void fsl_lsch3_early_init_f(void) erratum_a009008(); erratum_a009798(); erratum_a008997(); + erratum_a009007(); #ifdef CONFIG_CHAIN_OF_TRUST /* In case of Secure Boot, the IBR configures the SMMU * to allow only Secure transactions. @@ -536,6 +577,7 @@ void fsl_lsch2_early_init_f(void) erratum_a009008(); erratum_a009798(); erratum_a008997(); + erratum_a009007(); } #endif diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h index 2e52078..2dacdb4 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h @@ -347,6 +347,15 @@ struct ccsr_gur { #define USB_TXVREFTUNE 0x9 #define USB_SQRXTUNE 0xFC7FFFFF #define USB_PCSTXSWINGFULL 0x47 +#define USB_PHY1 0x084F0000 +#define USB_PHY2 0x08500000 +#define USB_PHY3 0x08510000 +#define USB_PHY_RX_OVRD_IN_HI 0x200c +/* TODO : make it generic */ +#define USB_PHY_RX_EQ_VAL_1 0x0000 +#define USB_PHY_RX_EQ_VAL_2 0x8000 +#define USB_PHY_RX_EQ_VAL_3 0x8003 +#define USB_PHY_RX_EQ_VAL_4 0x800b #define SCFG_SNPCNFGCR_SECRDSNP 0x80000000 #define SCFG_SNPCNFGCR_SECWRSNP 0x40000000 diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h index 3106ed3..819172e 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h @@ -133,6 +133,15 @@ #define USB_TXVREFTUNE 0x9 #define USB_SQRXTUNE 0xFC7FFFFF #define USB_PCSTXSWINGFULL 0x47 +#define DCSR_BASE 0x700000000ULL +#define DCSR_USB_PHY1 0x4600000 +#define DCSR_USB_PHY2 0x4610000 +#define DCSR_USB_PHY_RX_OVRD_IN_HI 0x1006 +#define USB_PHY_RX_EQ_VAL_1 0x0000 +#define USB_PHY_RX_EQ_VAL_2 0x0080 +#define USB_PHY_RX_EQ_VAL_3 0x0380 +#define USB_PHY_RX_EQ_VAL_4 0x0b80 + #define SCFG_QSPICLKCTLR 0x10 #define TP_ITYP_AV 0x00000001 /* Initiator available */