Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757088AbcCUP65 (ORCPT ); Mon, 21 Mar 2016 11:58:57 -0400 Received: from mail-bn1bon0085.outbound.protection.outlook.com ([157.56.111.85]:3489 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756922AbcCUP6i (ORCPT ); Mon, 21 Mar 2016 11:58:38 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; vger.kernel.org; dkim=pass (signature was verified) header.d=altera.onmicrosoft.com;vger.kernel.org; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=none action=none header.from=opensource.altera.com; From: To: , , , , , , , , , , CC: , , , , , , Subject: [PATCHv3 8/9] ARM: socfpga: Enable Arria10 L2 cache ECC on startup Date: Mon, 21 Mar 2016 11:01:45 -0500 Message-ID: <1458576106-24505-9-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1458576106-24505-1-git-send-email-tthayer@opensource.altera.com> References: <1458576106-24505-1-git-send-email-tthayer@opensource.altera.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: CY1PR0601CA0028.namprd06.prod.outlook.com (25.160.162.38) To BY1PR03MB1481.namprd03.prod.outlook.com (25.162.210.14) X-MS-Office365-Filtering-Correlation-Id: 8de96184-331d-41a0-e6c9-08d351a1a722 X-Microsoft-Exchange-Diagnostics-untrusted: 1;BY1PR03MB1481;2:dpMMX36gg59fEXzl2hnbV/imax6gGtChjQVTSjagEWmUX1vj8cEPN3gTwu5OoA87dDyNfLguApJaBRDzYJbWCfKYouWvXKJjrn5ijfw3hMVBzyv4w32cb6SKf5CL8Joih7rJOCmp/MxnmEWgsx85weaSZaZneUYZuILn1kWdPrAocJv41L91EUhFutv6ckg8;3:/dA9zluNGKdDs7jA4Qt6BA7YWJ+kMdRIQPU0Ndg0+H/2URp61MyzUrteYtRODGB2wrE3HTgwLFbKVBqtOn/o5ak09znLiFbVjuPIQWVaYm4YqfGilf/NJs6hMQrB9qcs;25:54Lni1eIgzoabNflS/v3GES5ShK7B6pKOAwh9M+45iYdkmK7/WZ4/FBzChtdymnVAP58kii253zd/f15aotUFY4MoBF7x4w/kN1/q8TpLeOB6Da+pUpe8oLYM+N83AqGw+rCMYIjbuL1UbETabuWBNvUA2ZFLu1lI5STJvdYtZOYvDhNV87Johfx56NHMTSxxnZuibzq9jHfr0k0knYPLS+mXakgmK67yM0HvcsSvoXTvxraEk4sDXKcGMIA77UcKH/GIQQTVSiGjuvSqwlQAbGnb5K0J6ecJEfEnab/JomjNKg9UgyWQruCS4wTR6x82QGq7FU0VTmA7HyTtGBaFBJBoGjEIiyMdrU6wsrNnsEfKlyiiWHqjCDkCxxSCirVrZJjk/UBT+MT9JwKS8qcgHe4CW2qM2eiTEKAURiQtGszeqCeJUrZAt6zUHji2ciXDPwD7nVUMpYaA3na50P6CHRGikCbtU0t9S2Y+nQTJcM4Z2gH4aafI6SUl3vkxPxj0S43xxkDmZedS8Qa3u/N7g== X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1481; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BY1PR03MB1481;20:FFkniKJt9MQOgKYqJWllMlUE049dW41YHHLNJMAc522pxp5XKzTCzRsOp4JmDDRCVZENEEufGI1OskjQfLP57DUUvoMckKJAcje0jbS/lx1RWGDiocqwTm43rS7prS+IvU6Lu4B7EtgZkMWE/ps/pxO6Haz+dCQONqpWOPr2hZ8=;4:OkEs1dGJKBUGA3mA4Lj98J2/FkHFpWZcawvRHrahGtajeA23hNHJq3dzLtlzhSF4hCA50C9u4smSLwxrqZ+CL+oHGuoe+yvntWk42zm+exeCSEUGD4PbieeU8Drsbwcw0oIgEefivSZanez53nRZpurcrpX0OANylsHO1rOAoYQgAmZ3DQaJNgJ53YfJG0SIvtvwzJUz7oVJVVvaqj70jNyrYpFGvsuf+uP5eMHL5QCSO5jmh0SrN8LOFW5ej3+e1aMeS1oGMZrK+nLahYiQlkizUziADaTHcnTxk655uyGaUL37yIKGsSKZuRIDG/Ra21W1Tkd7aJRpwFEDxW++vZZR8fOPeRXz+cYO3BYn9j87TaHf68BAwvRO1ozobO0q X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:BY1PR03MB1481;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1481;BCL:0;PCL:0;RULEID:(601004)(2401047)(13023025)(8121501046)(13015025)(13024025)(5005006)(13018025)(13017025)(10201501046)(3002001);SRVR:CY1PR03MB1503;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1503; X-Forefront-PRVS: 0888B1D284 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(47776003)(575784001)(66066001)(86362001)(50466002)(2201001)(86152002)(81166005)(92566002)(50986999)(76176999)(42186005)(5001770100001)(19580395003)(19580405001)(189998001)(5004730100002)(107886002)(229853001)(5003940100001)(50226001)(1096002)(3846002)(586003)(2950100001)(4326007)(2906002)(6116002)(4001430100002)(77096005)(5008740100001)(2876002)(33646002)(48376002)(921003)(4720700001)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR03MB1481;H:tthayer-HP-Z620-Ubuntu.137.57.187.33;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BY1PR03MB1481;23:KEtX+BEvRALDNk3CJUgtjh/AH8Up2mo1V6dstUfba?= =?us-ascii?Q?UkmU2rncb2WdsF9gScmjdd/VrVXUuw6dzsAyDHkGG9rOqpf4HWvRKiwB347i?= =?us-ascii?Q?jwqJREYsAAf9MPie1xABGePGOpaC/9PlA4Hz3CqYcb7mbMqKlLZPMlZMiTG4?= =?us-ascii?Q?x8WC2H7SHXx6E9+dcOtgCdsiMe4Yy/m/Nj/7RaYd3JgJ5FPbYT2I3G6y1Kuv?= =?us-ascii?Q?Yn6cZWSVlaMwlh4/AuGhv1eLYJ5aK+q7DXN2onvjKdSfsGTlM95kNQ7Ixs94?= =?us-ascii?Q?2r8MLFRC5Jws3D8xAOpI5q+f+0TxAsEwiVAnCKU6raJwPUZ4hRjqhSj6RwPu?= =?us-ascii?Q?w+MRFfFmu7mMncRIvqOhpUbMwwwC2RDBO2BRDye4G+KcKBYv5/yrolLhSyH2?= =?us-ascii?Q?EZliw0yezcG/ytkNyqzEPLOHlARhfxipsDaZNJuB80sSbFdg1nyq5lEpgeWW?= =?us-ascii?Q?epEqsj/4oLsKkDvAjg6Mjso5O4YygYj+t8cNJDsPZj2/mret2STKQd/Xwnt/?= =?us-ascii?Q?e7ltFJsRGQqG8RQvi2ezmpEqXBtaUiRy+vNxr+wXpYaKl1DtOlOU19oyEg0S?= =?us-ascii?Q?WUMhBHAGCTY2QPhdKbp3a47zrBLtgSDgcppzVRdzUpyEU0lQwF6sD6LgUCFh?= =?us-ascii?Q?2xz12UpWX1HiROtZP0/iY0WxTa0uPtBfIx0N6sz53vNoWgDBNmJNJSE+K0tf?= =?us-ascii?Q?9fXhtKloMd1Xir0ul7iV4hYILTr/Hq/zTb/7EBrrIPDOyqQsEOh74mVohUXP?= =?us-ascii?Q?VYb3fXB+PMb+rzutoZOShWQKn1UXLPydbPBmXhxmOyl00sdIoq3SsgAD+eiG?= =?us-ascii?Q?suea3Qa3Pw5SPOQN3LBzmKubAAQ+rqFC7DXCp4lOTo7rEej4pcE4BvFREHAU?= =?us-ascii?Q?Mxo6h9GvjPImtNpQZ5J6oZJ4HNf6NXQ76r2WmM1mlrWxYql4QaE23cepiJva?= =?us-ascii?Q?2K1UIM0QQX4ZSIbuLSP8cnu+sRb6YWd6aQcD+bMy/B4FYt0S+D0enDTL6jB9?= =?us-ascii?Q?AyDcp//862MqlYjEfj9PaP54wY2ypxJLJYO8INhSntzbTJmVvd+jX9yUM8w+?= =?us-ascii?Q?3XzKXHtO/TOg7W37QMJoxSUPDkz?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BY1PR03MB1481;5:vpih0Vp3OdlM8rjMiDaB5D0jQGad8Fhpub2sXMYoE4bdc/ZEzt8zae9MPfwPbUBQ8ANAoEg31Lm+YSadf408NnBkPglv2u7+h5WdL470hY+QGue6UN2g1FyD4lOzOYd931mld/obQwfno6e7TgSQBg==;24:nN+4v5m9JdQbpRghLdd6R4wr410ONcnQ20UrZxDgbQOVuD84Iv3kVvxrkWIceHjqA+GIqFH8XSZXUwm4JbfBCujArnDQkr8Y+mW4LlvSY/A=;20:8WmGxgjiilaE+e0f0iOK0P9Nb+2ZE1sB6E2jAEiAqIGaHZ1c+6DpsKU9DT4K+a9hcI+lStBvMOW6hBKcHVurqgcIs2Rzb3pksrmryvO8xuuSXEm0hXrboj7OwqLstBuov7NSxQC5IBr/UvAdpCpaLoeFSNxuDZuwAFp3+ZTNTg4= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1481 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1AFFO11FD011.protection.gbl X-Forefront-Antispam-Report: CIP:66.35.236.227;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(5008740100001)(6806005)(4326007)(48376002)(11100500001)(4001430100002)(189998001)(575784001)(86362001)(2876002)(107886002)(5001770100001)(956001)(2950100001)(77096005)(106466001)(105606002)(229853001)(5003940100001)(86152002)(92566002)(76176999)(50986999)(33646002)(19580405001)(50226001)(3720700001)(16796002)(21840400001)(50466002)(6116002)(19580395003)(47776003)(2201001)(81166005)(3846002)(2906002)(1096002)(1220700001)(66066001)(5004730100002)(586003)(85426001)(87936001)(7099028)(921003)(1121003)(4720700001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1503;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;MLV:sfv;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD011;1:9anfjWOUk8ZauXlHcnCYxmBsocBJmP5lonqJjKgPefZPKmfAcN3mFLa8AzyUJnX7XciXbA3drV/fO9SL/hssGlueE4B2h6G/2v4tEfSVvCKuAX8BH42VRNo/N+4xgrWOTq1FrUf/jWmNqt5mjMbOvmiG4w4FqE3nBC9iwJiOJvF9vvDnDwWugIoNJCwCYCxTV4/F+Hn/eAssJNMhXOatEnCkEuKFSyy13xPkeNZ32x0iY3w/y4jYh/6v646yhlWnC2DFXkGhbKfCCbximeAN0LACky7mRhUAwnQMVsCNn9enZu61GOTlQFtQ+AeZVfbCYfp7wF18nBCWTtCyrTUsMrUiUKMQj5u/qY7tcUIGHkzPBeIKnYIhTSZ3wT8FLVj7Um+IcFGRUb2fZp4ZJjFWPSlZT4PHiA9Rt3sDUH7tttMYZZL9u/8MOyc+g7RaLmCXUhG/OKlsV5+9dorm86ewdBUsBKb0u0SZHiwUHGs9o5vOElY5WgBoGcWYBFp14E67 X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1503;2:be6+vU4TKQMISU6PBk4o8h8MqcO9X5cDCVD3KdIq4gKIZcdehKPSLN0OGC5HUByyPieSE64dZMyKUuBeaXgRGnaVWqRKYqtEUx53Me8Cub8eGSwGJAa/hglpvvqMAlebAUKExlAAGK2vkhgDnQLfzM7Rzz50XFLwSO9qMgvyKBfOBgIwSMnSXjDOHkOQaImQ;3:68HYejY27R4baOgy92fONRSGtLgWPznJdI1STSGF6r4b0XCq/meS+/EqsX1ZONlTUYoSNjKWwlHYUh9WekNYkG7PD5NPZeCU19rdiDFmhJxfs1iS8LT6NZdB6fT9vUPr79Q7z/o9yJKrnoaxHsAhTDbkmeyQORMe2TYLr/Syeqkw15CDc2om5UejGGNT3CIr1R05wxT0IuIEgZvhtGa6pcpeyqI+oBmcrmITrCH2rIzSGLAnGs5RTATKv4RQYm/5 X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:CY1PR03MB1503; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1503;25:QtIjnVuOzsZrqC0wHrKYUkhESLDJdwQe5ZXB7VHifUpWXaVfWV8gcP8L/wpSb7k3RNmn0PTaOKT+NrFzmkC1ptRYvOoGeXNvXA+ZVfdcLNmvjwxhm4EYAbcY79YvajQd8krc6qCYmd2hojrHV0ZZFDZqRnFE7r3oxN0bHZehHwvg0Ga06EUkE35dU6dw4QBZuB3kCyyPY4lR/s0g+sgtWTPsvPcKpOBWxRveOnH6z2DgH+/NfeV8S5fEvp7EcfV3OcYc5xFgMir/T2bvRn3lGv1DeYX+t8zgwKlq8XROUzj6csXxLh4/AJrWTM5/kL7q9iDqmSg/yrG9O0GAgjMiXvuTq+zGRQ9NETqTVBg9+qqo7BZGXbFjYfHomoAAEGuejvxAoIf22f0dnSJbchnH0TzADuA1MQ4KnrY9Swwj7dwmfhgMZrepAJAVg9OLLwJyMI6u0/kyG0bh4I2YdfAURaks8RzWZvFPjYWXLmpDyXoa5b//tJJC2c6QMNtOroZPE9sR4up1hJooYqsSGzgAK4Fyq1QaCNCS3+IPuad7OdcapClGkum0nUkDVTATHSny;20:1an+aSSIVWZfzmhTrfdCrh9DEMACMYbmnhtudd19QsUwJLJwic0fNBMnQfC4ogTv1IpY+BjsT/hCMjKMna+vBld2ZyfteCOMQdFdVXwN9Mp8yLx0JBUHK7NJ6M3Kagd3V6FVpSMiHbvDlBh3qhgnkRCXj2GCX0lma7P/YSWy2gw= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1503;4:PP6UqmmnGYyFqOnFImh93KjsnO3ixb2qeGf/dZzZT/HDk+dZNEL1ynzcD4NQSbThqF9eZ11ChUzd/TZe7D3Th9pf6IO0ZT84q1eTJeiR+V4kOkBCHJjvAErLJpRCZwk9Ma2MuUqxd2bCReccRHFfk2ils85h+OjR0pRP4K6vpSV00Ayo5BFEKZBycuDg4a+kv0yErTPUxqr3HPMN8A6EfoNVoc/IBEu9BOwxVRjVu6O4qdfZncIDFwe+Hor10TaQIuIkiEH+xNKfdjouSr9KbeW7KnKQ2eIAjjBM1B/eOeJgghVVlDwE4APlALA5e5kM97tyP+7WhrmpHiYeyLjcDvV/2a2b8BDOufmTwNSYpi3b4e6+pfRkopd1QyAbU4UD5rlPgNAfdcY/blUMbFtgvvToWG1C2dbLrjO2O4gpxJCPMiWFt6w2ka4m+hf9c+sedKQ4sl6OZmLQmuIGzpfKuQ== X-Forefront-PRVS: 0888B1D284 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB1503;23:baKJHaLBzQfO34klJugbOtKpxJQZcyGmeQ3pBVP+P?= =?us-ascii?Q?qbF4oM44IiecqinJ2NAcbfevUjDMdZMwwFPCuuKDuIiD50Axh/W9jkqGJqJ/?= =?us-ascii?Q?rP0rMaZetV3XDK1DwZFn8e17ZBf8s2nR2zlE3y8IbCaugR2sMakxf682gZRo?= =?us-ascii?Q?H5BZOWbORVCYDIO8ZkziAkI1ak6Me9FeZFbKFGzJJyzbGO3XJNeITR7CcSb9?= =?us-ascii?Q?qvv2lLs69XOFLue9cLtH9yXthsatYCeO0Xv4XGhpep9brlKeQ1y41H0nXJYm?= =?us-ascii?Q?5wFjW6Vvus5Aav7XqYhZnDQpu0kppzB4Jk2+L+vf+iFJZYRdPnv5cPSBlknc?= =?us-ascii?Q?+oGxhYrzOu68g8iZPyA+0CqNbYdzMy0WGRe37wU4s79AoiEKz1le3ZLzJN4X?= =?us-ascii?Q?4RDkNi8b+ei/q43XvNVQp8nnBWqUN8xrC1ouTTeEJOzEqzI4nT1hK9Az0Xn2?= =?us-ascii?Q?Bj9DywMvloj6l8gGr4QuknNNMYMCPxktkIYj24lp715H1BhsKYCGt3RqZf2W?= =?us-ascii?Q?Pbqd4SxmuseH2AXUMsrqnGFF06zEgZpUDixdPh0thHVzFq3szcfOKS7lKVCF?= =?us-ascii?Q?ch2TkYBygespt+ZvcnfiX6lUZR/71/XPA0SE4iDA1a43DT+m8RbGrZDCoz2H?= =?us-ascii?Q?r5gqx9UdedWvFOSxHfuTKeEMIWzZEh9t56wulIVg14PaawB46iHlSfb8K41q?= =?us-ascii?Q?DoE4OZVVc6IWBDtxeeqTKHmnKoc8G1RnBH5awn0eiQy7MeP2vJ0L4M0Dn6VH?= =?us-ascii?Q?SUdvBaaAGyW5ve97dlzGz0NSzfNjvEl9NVFuiUE+u+hi3gg2TgjtoawRyRhE?= =?us-ascii?Q?rN+TLux/VqeobsT0rt0UU+d7Nc6YV3FuuArZ4upIY7+LjZI/F3tJ5xI6WdQh?= =?us-ascii?Q?SRZtd9fMA4PRRFaEdMjdPdsGTaEKRndZRM0AkxTrOePFQrwksI6DBwzAglp+?= =?us-ascii?Q?6CSkrlkPp4qwm28begJUIJcMWP7kA4W0la0hHURc1iQh9/AWHQ6LVZmGOhlp?= =?us-ascii?Q?/aKm4PR3YADRSznNDbwiTAUs9J6xObXF0+iN+Yd0U6NxlqqiVl+HNI1Z8kBo?= =?us-ascii?Q?VkFQLaM0HRQuZnvW6GdrDYy6u0DRAa9/mMpln93KTehFGfYYt4SNVZWqdyLD?= =?us-ascii?Q?CjxqWK9kmLyFWi2h4CVf6JDI7VaXe1Mc6pg33VbQHABbHvMSFY9IZbDeS3rV?= =?us-ascii?Q?4NsfEUACIIUZduPZp4bnAUs6Y08DJ58y6kw39eyBJluk2A6NeL/Fq0UY8Hni?= =?us-ascii?Q?VRr0i03FsChpzZrD8L2xoJdDYyfoO4ZRAKE6H9susdPLYx/+YMHHixUyUQJk?= =?us-ascii?Q?LWrHsBTs7qcCm/pU69+6W8qdLfKlCN+ixER3NO7f2BBZZ949lflF4ccODP8B?= =?us-ascii?Q?IboAGEhxDypKL0AJHlMw0y1s5Eqr1ftFfMcadM8lHUw/kZK?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1503;5:A6pNJnm2y7euzYddRYFDE+BS27NFrID++XrafSREUgvemXJhi/lFwGMpoELO4lX6iJslTMGGfT5E3EzfxxyzYKFDOAKNjYPpjT+FoCORJvHut69LiOGLgcOS4NF1lH/AI9+K4adK8Fd+g2n18Mp1bQ==;24:YXEX06gt2gN3F7GroJBMRBrRB81WBmaHmQaVyp4u+8BKVhogS62ZZ8YFf2Tr7JLcvs3EeiOqW61EXMhDFrF+yb5vtqX5YHHaigaJRhqONu0=;20:kaauUkT+Oin+uaOxHCAlJ74quEKAEKnSAOWzzkr4hRo6P030KMXJ0Q8ub2547FkE9BO0lF7JUASMINeTivPy8XaKaCJrVFJcqcD/zbIsHyF7d7FWiPM9FD/5EYt4HsM9bOQ3l5Y5BR4lSJJG5IkkZWmEvZL2XHj3pchQGjNaNPY= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2016 15:58:32.0826 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1503 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3947 Lines: 124 From: Thor Thayer Enable ECC for Arria10 L2 cache on machine startup. The ECC has to be enabled before data is stored in memory otherwise the ECC will fail on reads. Use DT_MACHINE to select Arria10 L2 cache function. Signed-off-by: Thor Thayer Acked-by: Dinh Nguyen --- v2: Split into 2 separate functions selected with DT_MACHINE. v3: No change --- arch/arm/mach-socfpga/core.h | 1 + arch/arm/mach-socfpga/l2_cache.c | 49 ++++++++++++++++++++++++++++++++++++++ arch/arm/mach-socfpga/socfpga.c | 10 +++++++- 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-socfpga/core.h b/arch/arm/mach-socfpga/core.h index 575195b..bfbc78d 100644 --- a/arch/arm/mach-socfpga/core.h +++ b/arch/arm/mach-socfpga/core.h @@ -38,6 +38,7 @@ extern void socfpga_init_clocks(void); extern void socfpga_sysmgr_init(void); void socfpga_init_l2_ecc(void); void socfpga_init_ocram_ecc(void); +void socfpga_init_arria10_l2_ecc(void); extern void __iomem *sys_manager_base_addr; extern void __iomem *rst_manager_base_addr; diff --git a/arch/arm/mach-socfpga/l2_cache.c b/arch/arm/mach-socfpga/l2_cache.c index e3907ab..4267c95f 100644 --- a/arch/arm/mach-socfpga/l2_cache.c +++ b/arch/arm/mach-socfpga/l2_cache.c @@ -17,6 +17,20 @@ #include #include +#include "core.h" + +/* A10 System Manager L2 ECC Control register */ +#define A10_MPU_CTRL_L2_ECC_OFST 0x0 +#define A10_MPU_CTRL_L2_ECC_EN BIT(0) + +/* A10 System Manager Global IRQ Mask register */ +#define A10_SYSMGR_ECC_INTMASK_CLR_OFST 0x98 +#define A10_SYSMGR_ECC_INTMASK_CLR_L2 BIT(0) + +/* A10 System Manager L2 ECC IRQ Clear register */ +#define A10_SYSMGR_MPU_CLEAR_L2_ECC_OFST 0xA8 +#define A10_SYSMGR_MPU_CLEAR_L2_ECC (BIT(31) | BIT(15)) + void socfpga_init_l2_ecc(void) { struct device_node *np; @@ -39,3 +53,38 @@ void socfpga_init_l2_ecc(void) writel(0x01, mapped_l2_edac_addr); iounmap(mapped_l2_edac_addr); } + +void socfpga_init_arria10_l2_ecc(void) +{ + struct device_node *np; + void __iomem *mapped_l2_edac_addr; + + /* Find the L2 EDAC device tree node */ + np = of_find_compatible_node(NULL, NULL, "altr,socfpga-a10-l2-ecc"); + if (!np) { + pr_err("Unable to find socfpga-a10-l2-ecc in dtb\n"); + return; + } + + mapped_l2_edac_addr = of_iomap(np, 0); + of_node_put(np); + if (!mapped_l2_edac_addr) { + pr_err("Unable to find L2 ECC mapping in dtb\n"); + return; + } + + if (!sys_manager_base_addr) { + pr_err("System Mananger not mapped for L2 ECC\n"); + goto exit; + } + /* Clear any pending IRQs */ + writel(A10_SYSMGR_MPU_CLEAR_L2_ECC, (sys_manager_base_addr + + A10_SYSMGR_MPU_CLEAR_L2_ECC_OFST)); + /* Enable ECC */ + writel(A10_SYSMGR_ECC_INTMASK_CLR_L2, sys_manager_base_addr + + A10_SYSMGR_ECC_INTMASK_CLR_OFST); + writel(A10_MPU_CTRL_L2_ECC_EN, mapped_l2_edac_addr + + A10_MPU_CTRL_L2_ECC_OFST); +exit: + iounmap(mapped_l2_edac_addr); +} diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c index 7e0aad2..e9b5b60 100644 --- a/arch/arm/mach-socfpga/socfpga.c +++ b/arch/arm/mach-socfpga/socfpga.c @@ -66,6 +66,14 @@ static void __init socfpga_init_irq(void) socfpga_init_ocram_ecc(); } +static void __init socfpga_arria10_init_irq(void) +{ + irqchip_init(); + socfpga_sysmgr_init(); + if (IS_ENABLED(CONFIG_EDAC_ALTERA_L2C)) + socfpga_init_arria10_l2_ecc(); +} + static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) { u32 temp; @@ -113,7 +121,7 @@ static const char *altera_a10_dt_match[] = { DT_MACHINE_START(SOCFPGA_A10, "Altera SOCFPGA Arria10") .l2c_aux_val = 0, .l2c_aux_mask = ~0, - .init_irq = socfpga_init_irq, + .init_irq = socfpga_arria10_init_irq, .restart = socfpga_arria10_restart, .dt_compat = altera_a10_dt_match, MACHINE_END -- 1.7.9.5