From patchwork Fri Feb 26 08:44:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Townsend X-Patchwork-Id: 1444936 X-Patchwork-Delegate: eugen.hristev@microchip.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=rufilla.onmicrosoft.com header.i=@rufilla.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-rufilla-onmicrosoft-com header.b=KKDpuUUQ; dkim-atps=neutral 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) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dn9sl5j3Xz9sBy for ; Sat, 27 Feb 2021 00:46:03 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 84FB882804; Fri, 26 Feb 2021 14:45:42 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=rufilla.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=rufilla.onmicrosoft.com header.i=@rufilla.onmicrosoft.com header.b="KKDpuUUQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4A782812E6; Fri, 26 Feb 2021 09:44:49 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::60f]) (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 4C06580059 for ; Fri, 26 Feb 2021 09:44:46 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=rufilla.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=martin@rufilla.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h22yDqOFhW8uu0fKYkff7FkvC06S80/7vCaDd7goZs/oYxLXxp+zksWSv+zsLUiwdbgxH2JO1P/whF7JaGWsZ4SRNZyU/eVaNw3zIzcZk6RQ94l8y+xJTJYbzmzlKZ5ZGC1OMzOxR2OjefR3wAPfVuSpLJPqKGarA4G4yfkRc15N52rc6bjWrQEYK6HN1MIR16yStVDV8nAQlZuYhpRhe4ThISA0kZkdlBcAIEPL+ZoMCgbVdX56Ssvemcy9qZFUt/oIlfKIZAIV4lUYNlgvCI0lPyEXDq4/stpVuv+odh4gJgn4avBL8ZmyZIT4NZ6V2Y6ao6+WraDIul54/8LBpQ== 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=eF0DInf/QjmG4sl9wybGT5lJ1yk29YZC4MthX33PS7A=; b=QFppg4K3RXt3HuuP7gjPvkXp0DCDJufKv/3+faQkKhEOO7DNPv2nxZdWbcX9PLUcHNaXZ60usm7+Pmr/Jxt2V+Stb4O+WLfLGCU3UsVUQNfVfuZ0FoonL76v3viXbaeb9Q4UbP/MlGsSjl1/ziT6qVeRBVouBIj8rPTsyVF3K73v4zvG6yZEFWTFlfR4QdxeOoTSMaTDC2GmOmqRtCy3C6uTTvgeUIuEjJob1Em2/+eujOSVsmPulkt5UkvsKnZMcxcSxpz4QLd+lzQxmoIU5lhYfGm5JaX+dLxbjfRUt/wGxEVPs3Q9Kc1Q47Dd9UaZlzYrqT1P1cZM2j9wk3imaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=rufilla.com; dmarc=pass action=none header.from=rufilla.com; dkim=pass header.d=rufilla.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rufilla.onmicrosoft.com; s=selector2-rufilla-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eF0DInf/QjmG4sl9wybGT5lJ1yk29YZC4MthX33PS7A=; b=KKDpuUUQY8d0xqM/4whtB2lL4+r3N4qzn+Lp3oYnnvl07wZxFfZVfTLD/Ljd5WPgJATMqr2UzObkkPl/f1Z0N6m9R99d7/tHdYhOKiuopqq/aj2giYmhaq5sNG6ZUuuGZzYJeLXUseym01u83VUf8fc06ZGiK0y+xLbLhLRnrdU= Received: from AM7P194MB0756.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:173::18) by AM6P194MB0360.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:4c::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Fri, 26 Feb 2021 08:44:45 +0000 Received: from AM7P194MB0756.EURP194.PROD.OUTLOOK.COM ([fe80::a83d:69bd:8e17:bc13]) by AM7P194MB0756.EURP194.PROD.OUTLOOK.COM ([fe80::a83d:69bd:8e17:bc13%9]) with mapi id 15.20.3890.021; Fri, 26 Feb 2021 08:44:44 +0000 From: Martin Townsend To: "u-boot@lists.denx.de" CC: "albert.u.boot@aribaud.net" , "Eugen.Hristev@microchip.com" Subject: [PATCH] Fix data abort in startup for at91 machines based on ARM926EJS Thread-Topic: [PATCH] Fix data abort in startup for at91 machines based on ARM926EJS Thread-Index: AQHXC7WY7tM3wCHi1kmS2HLexQKmIg== Date: Fri, 26 Feb 2021 08:44:44 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=rufilla.com; x-originating-ip: [86.0.4.105] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ef2283e1-5738-452a-327d-08d8da32c453 x-ms-traffictypediagnostic: AM6P194MB0360: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ihD8G9Cvgs3gTTC93b0axGcde4OocfJum585SnXANkObnfbcq6N3oaLJ0UXPF1+5Vb+mfbGsg++SA7hNOUwj8jqUtxbE7loM6w4QMHPHDIhry3+XZ+qXgDfObHPnH3pA0BGIYlkAd5uIIltW5rJzvV1EiA+NRLNS9296J4egvopN5P3a4OSHGLfS7/P8a3vDovZm+u2wp0IS/41hmL7jYJ2UMT8LGpgFeNfHm6vzIpCvcUSoHErJHRNcfocQVkNfWmqCqZPUF9nV/9xdk5YjDBcfdK0qvC8ETl4kf3NFadnPv3M/BJEF9g7lTEIeAVEEobspw7eeONU9SRCL98golkluSKdsax5zVJwDnJtDo7bGfNkF4rJTUHoyHr2eWE4am1TZwRYin8rMSGFvCsCfr9Z6Hgn8rmyvIvPQbWDfyA32BM2kwkwzYro4N19qQotRjw+3UsEQsmFpBp9UOCLjUPTHLfSilB+0wgF2D0iqF0HLBvnzKJE9OXPpX8py7f8VpBpkD5ZVd/ztgF39wtxSfA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7P194MB0756.EURP194.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(396003)(39830400003)(376002)(136003)(346002)(54906003)(83380400001)(7696005)(316002)(478600001)(6506007)(86362001)(66946007)(66476007)(66556008)(64756008)(66446008)(4326008)(52536014)(55016002)(5660300002)(33656002)(9686003)(186003)(76116006)(8936002)(71200400001)(26005)(8676002)(2906002)(6916009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?iso-8859-1?q?vL8L9whHBdVhYgX8Hl7+lm/37?= =?iso-8859-1?q?GhEZsSQJcyrHKSWOehiXtTDiIzit78L70A70m5W8y7jCi7MlPZkSQuiQVIoA?= =?iso-8859-1?q?NqDBL0bGO5eRQqZwLprCV6rPMVyv9QxduEXkYI53k0YbGzvXrLo8EorcG+Uo?= =?iso-8859-1?q?REDh5Ah9k8ZWcPcMRZelpRKqvdECmlnMcBN2uTbAPNZcDjf4u4l4C8RGwQeS?= =?iso-8859-1?q?XPFH5cP3tGRopGR4rh0Wny0+vnO3GqTINToxTWHma3gKc0hJRL7F2w6AFzi5?= =?iso-8859-1?q?ceYBcFMCDUT9v/dvxSZBCXGbIxZDqkdYDTnEZ/1kkfP5mWpznwMytITMZAkT?= =?iso-8859-1?q?hC+5Fy0Gvuz1zuvBmGMiY5SMOigfTpS3i8W8ZOf0piYl/jHseWp5VS2C7RJl?= =?iso-8859-1?q?jflwsIBFf1jftVgB7tF7P0/iEbWXZUHWPFJ1mJT8rSLXGHddCGMG/Q0EKSP4?= =?iso-8859-1?q?f2Zu+jCsEnGXVm6qZjpouB3Bvqi+YMGdzLGNQD6kdqQrmkgMNviHR9skRAlI?= =?iso-8859-1?q?lra7XcQ/1t7MAyG7e4y8Bttbr72grPOysQAXZ/ppdMOG4ZS0sINlb76tZXH7?= =?iso-8859-1?q?FY3pikRuf9wzAowKkTYnPskGgAm6tfUpC2Kxn8bVihuvlWGOY4EiLkGFGvAx?= =?iso-8859-1?q?C0nP/zpeZYe9ZQIMBZGcf6So3IZxH7Y9pPsyzJypypdayU5DpB6D/qbzyfJq?= =?iso-8859-1?q?Tjtf0c8Cyv3R3RJxVxxWHzT5WFauxOYx0Dw7A9KWq03T7D5Q3Vda8MmFfa5S?= =?iso-8859-1?q?0ZnwZCChfhqLpdp2H4I2YShNhM5uld1rDnT1rL3C5yepPS7cgfcuXeBAqKL4?= =?iso-8859-1?q?bs+930rSB7gJbUja5LSUkTo0VvucNnSZGMBQsw0QAabotDN3bFJUreslFGNt?= =?iso-8859-1?q?F8Rq6rDl6DN485FZt+Q4P5M1SxJr5KCMg7byXkaP4tUgutf7BpTQAkaMdDuz?= =?iso-8859-1?q?4qt/AwWcyDTexva8YkvsKwNBOMPy6FD+/bWcBHuDKq2eToOs2eJy7Xl2+q//?= =?iso-8859-1?q?X37uz0dIExo33q+MFuHZXHSVEARaxYltnrxGoYoiDVD54YDNMGvrbm06swPn?= =?iso-8859-1?q?m79P04r6IWZNSMypPQzSKWKXo+tnfCsTDD6BKHnwlVqeYU/Clw0rhlCTxrtj?= =?iso-8859-1?q?bxiDUYDXRS2Ol9VLjTvL0lNJOoXDvR+B1gfDLnQ7I/3rrQOhQFaybaCsvByN?= =?iso-8859-1?q?eGrgKy+oDVD61yc4XA4+LJ1NuYN5HJtOx+DFMmjIG7/7WRxhV2xo5sb+z0Qk?= =?iso-8859-1?q?XmLKfSuFbHTmp9uxb4N90ts3JQyUyOGChovsJeeWHCdPEfTlFAm4BIExiqeT?= =?iso-8859-1?q?8p4Mds/0O7e1UJF1ZOGobXD8Ov58eNYNQx08bs=3D?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: rufilla.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM7P194MB0756.EURP194.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: ef2283e1-5738-452a-327d-08d8da32c453 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Feb 2021 08:44:44.8508 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7c610ab1-6308-422f-b67d-7a6346cab749 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: I4gKEHk/dTrkEPXoYRoag04SAGHjTssa6Vj0yeMKDvyK7LmGtibpVBmxyLzqNEmF1W1EeYSK8C7a3sKLb0/V2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6P194MB0360 X-Mailman-Approved-At: Fri, 26 Feb 2021 14:45:38 +0100 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.102.4 at phobos.denx.de X-Virus-Status: Clean The startup code in arm/cpu/arm926ejs preserves the link register across the call to lowlevel_init by using r4: mov r4, lr /* perserve link reg across call */ bl lowlevel_init /* go setup pll,mux,memory */ mov lr, r4 /* restore link */ The lowlevel_init function for at91 machines based on the same CPU uses r4 and hence corrupts it causing a data abort when it returns to the startup code. This patch fixes this by using r6 instead of r4 in the lowlevel_init function. Discovered and the fix was tested on a AT91SAM9261 based board. Signed-off-by: Martin Townsend Reviewed-by: Eugen Hristev --- arch/arm/mach-at91/arm926ejs/lowlevel_init.S | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arm/mach-at91/arm926ejs/lowlevel_init.S b/arch/arm/mach-at91/arm926ejs/lowlevel_init.S index 71d7582ce0..994f42eb4a 100644 --- a/arch/arm/mach-at91/arm926ejs/lowlevel_init.S +++ b/arch/arm/mach-at91/arm926ejs/lowlevel_init.S @@ -71,10 +71,10 @@ POS1: str r0, [r1] /* Reading the PMC Status to detect when the Main Oscillator is enabled */ - mov r4, #AT91_PMC_IXR_MOSCS + mov r6, #AT91_PMC_IXR_MOSCS MOSCS_Loop: ldr r3, [r2] - and r3, r4, r3 + and r3, r6, r3 cmp r3, #AT91_PMC_IXR_MOSCS bne MOSCS_Loop @@ -89,10 +89,10 @@ MOSCS_Loop: str r0, [r1] /* Reading the PMC Status register to detect when the PLLA is locked */ - mov r4, #AT91_PMC_IXR_LOCKA + mov r6, #AT91_PMC_IXR_LOCKA MOSCS_Loop1: ldr r3, [r2] - and r3, r4, r3 + and r3, r6, r3 cmp r3, #AT91_PMC_IXR_LOCKA bne MOSCS_Loop1 @@ -109,10 +109,10 @@ MOSCS_Loop1: str r0, [r1] /* Reading the PMC Status to detect when the Master clock is ready */ - mov r4, #AT91_PMC_IXR_MCKRDY + mov r6, #AT91_PMC_IXR_MCKRDY MCKRDY_Loop: ldr r3, [r2] - and r3, r4, r3 + and r3, r6, r3 cmp r3, #AT91_PMC_IXR_MCKRDY bne MCKRDY_Loop @@ -120,10 +120,10 @@ MCKRDY_Loop: str r0, [r1] /* Reading the PMC Status to detect when the Master clock is ready */ - mov r4, #AT91_PMC_IXR_MCKRDY + mov r6, #AT91_PMC_IXR_MCKRDY MCKRDY_Loop1: ldr r3, [r2] - and r3, r4, r3 + and r3, r6, r3 cmp r3, #AT91_PMC_IXR_MCKRDY bne MCKRDY_Loop1 PLL_setup_end: